



Fala galera do Show Delphi, tudo beleza?
Outro dia tinha em minha aplicação um TMemo onde o usuário informava alguma observação do produto.
Então, em alguns casos, comecei a ter um problema na impressão porque o campo estava tomando muito espaço.
Após verificar, notei a muitas vezes o usuário ficava colocando várias linhas em branco no final do TMemo sem perceber, daí pensei em uma forma automática para remover estas linhas em branco no final do campo.
Bem, inicialmente cheguei em um código assim:
1 2 3 4 5 6 7 8 | procedure TForm1.Button1Click(Sender: TObject); var i: integer; begin for i := Memo1.Lines.Count/1 downto 0 do if trim(Memo1.Lines[i]) = '' then Memo1.Lines.Delete(i); end; |
Certo, até funciona, mas e seu precisar para um RichEdit ou outros tipos de lista?
Vamos criar um procedimento para poder utilizar esta funcionalidade em vários lugares!
1 2 3 4 5 6 7 8 9 10 | procedure RemoverLinhasBranco(aLista : TStrings); var i: integer; begin for i := aLista.Count downto 0 do if (Trim(aLista[i]) = '') then begin aLista.Delete(i); end; end; |
Agora vamos a um exemplo de uso com o procedimento.
1 2 3 4 5 6 7 8 9 10 11 | // Exemplo com memo procedure TForm1.Button1Click(Sender: TObject); begin RemoverLinhasBranco(Memo1.Lines); end; // Exemplo com RichEdit procedure TForm1.Button1Click(Sender: TObject); begin RemoverLinhasBranco(RichEdit1.Lines); end; |
O melhor de tudo é que o código é perfeitamente compatível com o Lazarus.
Espero que possa ajudar.
Um abraço e até o próximo post.