Como Remover Linhas em Branco do Memo?
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; |
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?
Melhorando o Código!
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; |
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; |
// 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.
-
Giovani Da Cruz
-
4.260 views
- 0 comentários
- 7 de novembro de 2020
Está gostando do conteúdo? Considere pagar um cafezinho para nossa equipe!
Posts Relacionados - Continue Aprendendo