Componente HDCGroupBox

Olá caro programador/programadora Delphi! Tudo bem com vocês?!
 
Gostaria hoje de falar sobre um outro componente nosso. Embora ele seja bem simples, pode ser útil e/ou interessante em alguns casos.
 
Estou falando do HDCGroupBox. Nada mais é que um GroupBox modificado com opção de colocar cores na borda. Simples assim!
 
O programador pode escolher as cores individuais das linhas Top, Left, Bottom e Right, com uma opção de BoldLine.
 
Não farei video deste componente, pois 2 imagens bastam: um print das propriedades e um da tela com o HDCGroupBox.
 
Abraços a todos!
 
Bom desenvolvimento!

Veja nossa lista de componentes aqui!

    

Se deparando com a mensagem “Invalid field size”

Você, programador/programadora Delphi, já se deparou com essa mensagem de erro?

Pois bem… li várias postagens em blogs de discussão Delphi e muitos desenvolvedores já enfrentaram este tipo de problema, porém, embora alguns desenvolvedores conseguiram uma solução, em nenhuma delas foi apresentada uma explicação sobre a causa deste erro.

O que é relatado sobre este erro é que ele ocorre em comandos “muito simples”, geralmente apenas um SELECT trazendo alguns campos de uma única tabela, sem utilização de JOIN.

Este erro ocorre com o componente TSQLDataSet, onde a sua propriedade “CommandText” possui o código SQL a ser usado para trazer informações de uma tabela. Ao se executar a ação OPEN deste componente, o erro é retornado! Só isso. Sem motivo aparente. Sem explicação.

Vamos então a dois exemplos de códigos onde um não acarreta este erro e outro sim.

Ex.

Consideremos a tabela:

create table produto (
  id int(10),
  descricao varchar(200),
  obs text
) default charset=utf8;


A sequência de comandos a seguir será executada sem erros.

TSQLDataSet.CommandText := ' select id, descricao, obs from produto ';
TSQLDataSet.Open;

Já neste caso a seguir teremos o erro “Invalid field size”.

TSQLDataSet.CommandText := ' select id, descricao, trim(obs) from produto ';
TSQLDataSet.Open;


Perceberam a diferença entre os 2 códigos?

Basta você ter uma tabela codificada com CHARSET=UFT8 e fazer um SELECT trazendo um campo TEXT com alguma “manipulação” de string, que no caso foi a função TRIM() do SQL.

Todo o tratamento da string deve ser previamente gravado na tabela e ao recuperar este campo você deve trazer ele “puro”, como por exemplo “SELECT campo FROM tabela”.

Outras funções de formatação de strings também causam este erro, como por exemplo as funções, TRIM(), UPPER(), LOWER(), e todas funções que formatam o conteúdo do campo.

Não testei outros casos nem outras funções, e não consegui informação suficiente para entender porque essas funções causam este erro, mas a luz para este problema foi encontrada.

Caso você tenha enfrentado este erro e tenha mais informações, deixe seus comentários aqui no post.

Bom desenvolvimento a todos!

Componente Delphi Searchgrid (demonstração de uso)

Olá caro programador/programadora de Delphi!

Tudo bem com vocês?

Estou fazendo este post para mostrar a vocês o mais novo componente da Hexa.
Batizado de SearchGrid, ele veio para resolver pequenos, porém chatos, problemas enfrentados por nós programadores.

Sabe aquela pequena limitação em alguns componentes, onde você olha bem pra ele e diz: “Você poderia fazer isso também!”
Então… nada melhor que linda OO para nos ajudar não é mesmo?

Basta criar um objeto herdando aquele componente e estender suas funções!
Bom… um ótimo exemplo é este componente SearchGrid.

Ele consegue resolver algumas limitações do TClientDataSet, como por exemplo: Indexação de campos Lookup, indexação de campos Text, filtro fácil de um ou mais campos, além de outros detalhezinhos que sempre nos preocupam… DBGrid zebrado, célula selecionada com destaque personalizado, salvamento e recuperação da configuração do DBGrid (largura e posição das colunas), exibição do conteúdo completo de campos Memo, informação da posição do ponteiro de registro e o total de registros exibidos.

Bom… dá pra perceber que alguns probleminhas chatos foram resolvidos em um único componente!

Vejam um video de demonstração e tirem suas próprias conclusões.

Componente Delphi Gerador de Relatórios ( DOC / PDF / TXT )

Componente Delphi Gerador de Relatórios ( DOC / PDF / TXT )

Olá caro programador/programadora!

Sabe aquela dificuldade na hora de montar os relatórios do seu sistema? Aquela dúvida de qual gerador de relatórios usar?

Rave? FastReport? QuickReport? Crystal Reports?

Ahhhhhhhhhhhhhhhhhh!!!! CHEGAAAAA!!!!!

Imagina se você pudesse abrir o ms-word, montar um modelo de documento nele utilizando “tags” de marcação, e depois você apenas indicasse ao seu sistema qual é o arquivo de modelo e quais as tags que colocou dentro dele?

Noooosssssaaaaaaaaa!!!! Bom né?!?!? Então… esse componente existe! Ele é nosso!

Ele está em fase final de implementação de alguns recursos e testes. Ainda sem data prevista para lançamento, porém seu lançamento será em pouco tempo!

Não se esqueça disso! Acompanhe nossa página para mais novidades!

Lançamento do Componente Delphi para Gerar Código de Barras

Lançamento do Componente Delphi para Gerar Código de Barras

Olá caro programador/programadora!

Se você desenvolve em Delphi, principalmente na versão Berlin, aqui tem um ótimo componente pra você!

Sabe aquela dor de cabeça quando você precisa gerar código de barras no seu sistema e você não consegue ajuda, nem quanto à programação e componentes, nem quanto a Fontes True Type? Pois bem… aqui está a solução para terminar com essa dor de cabeça!

Este componente Gerador de Código de Barras foi desenvolvido em Delphi Berlin e será lançado no dia 08 de março de 2019! Sim! Faltam poucos dias!

O valor de venda do componente será de R$ 80,00 (oitenta reais), à partir do dia 08/03/2019. Um valor que pode ser considerado baixo para uma solução tão simples de um problema tão grande!

Apesar do valor do componente ser de R$ 80,00 (oitenta reais) à partir da data de lançamento, neste período que precede o lançamento, o componente será vendido a um valor promocional de R$ 60,00 (sessenta reais).

Caso tenha interesse em adquirir este componente durante a pré-venda, basta efetuar o pagamento através do botão abaixo e nos enviar o formulário de pedido nos confirmando o pagamento.

Comprar (pré-venda) R$ 60,00

Acesse aqui o formulário de pedido!