tem como apagar todas as linhas em granco de um memo
amigos to com um probleminha tem como apagar todas as linhas em granco de um memo
exemplo
teste
teste
teste
ele teria q ficar assim
teste
teste
teste
exemplo
teste
teste
teste
ele teria q ficar assim
teste
teste
teste
Flaviocont
Curtidas 0
Respostas
Fórum Vini
13/10/2004
Olá,
você pode usar esse código:
(Não testei pq estou sem Delphi aqui, mas se não funcionar pode me falar)
Espero ter ajudado,
Vinicius;
você pode usar esse código:
var cont: Integer; begin while (cont <= Memo1.Lines.Count - 1) do if ( Trim(Memo1.Lines[cont]) = ´´ ) then Memo1.Lines.Delete(cont) else Inc(cont);
(Não testei pq estou sem Delphi aqui, mas se não funcionar pode me falar)
Espero ter ajudado,
Vinicius;
GOSTEI 0
Paulo_amorim
13/10/2004
Olá
Pode-se fazer uma rotina que faça isso...
Espero que ajude
Até+
Pode-se fazer uma rotina que faça isso...
i := 0; while not (i >= Memo1.Lines.Count) do begin if Trim(Memo1.Lines[i]) = ´´ then // tira também as que contêm só espaço Memo1.Lines.Delete(i) else Inc(i); end;
Espero que ajude
Até+
GOSTEI 0
Motta
13/10/2004
procedure TForm1.Button1Click(Sender: TObject);
var i : integer;
begin
for i := (Memo1.Lines.Count - 1) downto 0 do
if Memo1.Lines[i] = ´´ then
Memo1.Lines.Delete(i);
end;
var i : integer;
begin
for i := (Memo1.Lines.Count - 1) downto 0 do
if Memo1.Lines[i] = ´´ then
Memo1.Lines.Delete(i);
end;
GOSTEI 0
Rômulo Barros
13/10/2004
Aew, Maluco... tu moras em Toritama, é? (hauahauahu) Minha noiva mora aew, bem pertinho (Suburim - hauahauahau)
procedure TForm1.Button1Click(Sender: TObject); Var intC : Longint; begin For intC := 0 To Memo1.Lines.Count -1 Do Begin If(Trim(Memo1.Lines.Strings[intC]) = ´´)Then Memo1.Lines.Delete(intC); End; end; end.
GOSTEI 0
Fórum Vini
13/10/2004
Olá de novo,
Queria fazer uma correção no meu código, que inclusive tá quase idêntico ao do Paulo Amorim.. telepatia? :wink:
Obs.: Acredito que as rotinas que usam FOR não irão funcionar no seu caso, já que o Count da propriedade Lines é alterado quando você apaga uma linha..
T+,
Vinicius;
Queria fazer uma correção no meu código, que inclusive tá quase idêntico ao do Paulo Amorim.. telepatia? :wink:
var cont: Integer; begin cont:= 0; // Tinha esquecido disso, pra não pegar lixo while (cont <= Memo1.Lines.Count - 1) do if ( Trim(Memo1.Lines[cont]) = ´´ ) then Memo1.Lines.Delete(cont) else Inc(cont);
Obs.: Acredito que as rotinas que usam FOR não irão funcionar no seu caso, já que o Count da propriedade Lines é alterado quando você apaga uma linha..
T+,
Vinicius;
GOSTEI 0
Rômulo Barros
13/10/2004
Olá de novo,
Queria fazer uma correção no meu código, que inclusive tá quase idêntico ao do Paulo Amorim.. telepatia? :wink:
Obs.: Acredito que as rotinas que usam FOR não irão funcionar no seu caso, já que o Count da propriedade Lines é alterado quando você apaga uma linha..
T+,
Vinicius;
var cont: Integer; begin cont:= 0; // Tinha esquecido disso, pra não pegar lixo while (cont <= Memo1.Lines.Count - 1) do if ( Trim(Memo1.Lines[cont]) = ´´ ) then Memo1.Lines.Delete(cont) else Inc(cont);
[color=blue:4e57cfd3c1][b:4e57cfd3c1]Perfeito, Vini. Entretanto, testei aqui e deu tudo certinho.... utilizando o For.[/b:4e57cfd3c1][/color:4e57cfd3c1]
GOSTEI 0
Fórum Vini
13/10/2004
[quote:795fefb2a8=´Undeclared Identifier´][color=blue:795fefb2a8][b:795fefb2a8]Perfeito, Vini. Entretanto, testei aqui e deu tudo certinho.... utilizando o For.[/b:795fefb2a8][/color:795fefb2a8][/quote:795fefb2a8]
:?
Lembro uma vez que fiz assim e não deu certo... :oops:
Então retiro o que eu disse :P
E obrigado :wink:
:?
Lembro uma vez que fiz assim e não deu certo... :oops:
Então retiro o que eu disse :P
E obrigado :wink:
GOSTEI 0
Rômulo Barros
13/10/2004
[quote:052ad40204=´Undeclared Identifier´][color=blue:052ad40204][b:052ad40204]Perfeito, Vini. Entretanto, testei aqui e deu tudo certinho.... utilizando o For.[/b:052ad40204][/color:052ad40204]
:?
Lembro uma vez que fiz assim e não deu certo... :oops:
Então retiro o que eu disse :P
E obrigado :wink:[/quote:052ad40204]
:wink: :wink: :wink: :wink:
GOSTEI 0
Paulo_amorim
13/10/2004
[quote:d6e940650d=´Undeclared Identifier´][color=blue:d6e940650d][b:d6e940650d]Perfeito, Vini. Entretanto, testei aqui e deu tudo certinho.... utilizando o For.[/b:d6e940650d][/color:d6e940650d]
:?
Lembro uma vez que fiz assim e não deu certo... :oops:
Então retiro o que eu disse :P
E obrigado :wink:[/quote:d6e940650d]
Olá
Pow Vini o código ficou parecido mesmo né... alias, os 4 né :D
Pior que eu também pensei que com for não fosse funcionar pois ja tinha apanhado disso antes, cheguei a começar a digitar a resposta aqui, mas parei pra testar antes de postar e vi que funcionou também... Não me preocupei em debugar pra ver o que aocntece, mas tudo bem né
Até+
GOSTEI 0
Fórum Vini
13/10/2004
Pior que eu também pensei que com for não fosse funcionar pois ja tinha apanhado disso antes
Haha! Achei o problema :D
O código que usa FOR funciona perfeitamente para um texto como esse:
teste teste teste
Mas não funciona para um texto como esse:
teste teste teste
Ele remove somente um dos espaços, o outro continua :P
Isso acontece porque o contador é incrementado mesmo quando a linha é retirada, assim, uma linha acaba sendo ´pulada´..
Então vai depender do problema do nosso colega, se sempre for uma linha só entre as outras, todos os códigos funcionam( inclusive os do FOR com até mais desempenho, porque ele vai sempre cair na linha certa, pulando as válidas ), agora se for mais de uma, somente os códigos meu e do Paulo irão funcionar.. :wink:
Falei de mais né? :lol:
T+,
Vinicius;
GOSTEI 0
Rômulo Barros
13/10/2004
amigos to com um probleminha tem como apagar todas as linhas em granco de um memo
exemplo
teste
teste
teste
ele teria q ficar assim
teste
teste
teste
[b:b439b5e7d7]No exemplo acima, postado pelo nosso colega, ´acredito´ q seja entre ´uma linha´ os espaços em branco. Portanto, todas as soluções estão corretas. [/b:b439b5e7d7] :roll:
GOSTEI 0
Fórum Vini
13/10/2004
[quote:af4fa0f870=´Undeclared Identifier´]No exemplo acima, postado pelo nosso colega, ´acredito´ q seja entre ´uma linha´ os espaços em branco. Portanto, todas as soluções estão corretas.[/quote:af4fa0f870]
Foi exatamente o que eu disse:
:wink:
Foi exatamente o que eu disse:
Então vai depender do problema do nosso colega, se sempre for uma linha só entre as outras, todos os códigos funcionam( [b:af4fa0f870]inclusive os do FOR com até mais desempenho[/b:af4fa0f870], porque ele vai sempre cair na linha certa, pulando as válidas )
:wink:
GOSTEI 0
Rômulo Barros
13/10/2004
[quote:4063d95472=´Undeclared Identifier´]No exemplo acima, postado pelo nosso colega, ´acredito´ q seja entre ´uma linha´ os espaços em branco. Portanto, todas as soluções estão corretas.
Foi exatamente o que eu disse:
Então vai depender do problema do nosso colega, se sempre for uma linha só entre as outras, todos os códigos funcionam( [b:4063d95472]inclusive os do FOR com até mais desempenho[/b:4063d95472], porque ele vai sempre cair na linha certa, pulando as válidas )
:wink:[/quote:4063d95472]
:wink: :wink: :wink: :wink: :wink: :wink:
GOSTEI 0
Fknyght
13/10/2004
Ai veio o codigo abaixo, vai funcionar direitinho.
Vou explicar
Quando voce exclui uma linha do Memo1, a memo1.lines.count diminui uma linha, dai voce tem que voltar ao inicio, ou seja, na linha 0 ( ZERO ) e testar tudo de novo
Espero ter ajudado
Vou explicar
Quando voce exclui uma linha do Memo1, a memo1.lines.count diminui uma linha, dai voce tem que voltar ao inicio, ou seja, na linha 0 ( ZERO ) e testar tudo de novo
Espero ter ajudado
procedure TForm1.Button1Click(Sender: TObject); Var Lin : Longint; begin Lin := 0; While Lin <= Memo1.Lines.Count -1 do Begin If( Length( Trim(Memo1.Lines.Strings[ Lin ] ) ) = 0 )Then Begin Memo1.Lines.Delete( Lin ); Lin := -1; // Volta a linha inicial, tem que ser -1 por causa do inc logo abaixo End; Inc( Lin ); End; end;
GOSTEI 0
Paulo_amorim
13/10/2004
Ele remove somente um dos espaços, o outro continua :P
Isso acontece porque o contador é incrementado mesmo quando a linha é retirada, assim, uma linha acaba sendo ´pulada´..
Olá
Quando tive essa dúvida se o for funcionava ou não eu peguei o código do Motta (que tinha for com downto) e testei até com 2, 3 espaços...ele pegou todos, e eu não entendi lá muito bem o motivo... não sei se com downto ele pega... com ´to´ eu não testei
Quando voce exclui uma linha do Memo1, a memo1.lines.count diminui uma linha, dai voce tem que voltar ao inicio, ou seja, na linha 0 ( ZERO ) e testar tudo de novo
Não tem que testar tudo denovo, o código com IF..ELSE garante que a linha não será incrementada
Até+
GOSTEI 0
Fórum Vini
13/10/2004
Quando voce exclui uma linha do Memo1, a memo1.lines.count diminui uma linha, dai voce tem que voltar ao inicio, ou seja, na linha 0 ( ZERO ) e testar tudo de novo
Na verdade você não tem que fazer isso, tem apenas que continuar na atual, pois vc já tem certeza que das que passaram não existe nenhuma em branco... :wink:
GOSTEI 0
Fknyght
13/10/2004
[quote:363d8a1db1=´fknyght´]Quando voce exclui uma linha do Memo1, a memo1.lines.count diminui uma linha, dai voce tem que voltar ao inicio, ou seja, na linha 0 ( ZERO ) e testar tudo de novo
Na verdade você não tem que fazer isso, tem apenas que continuar na atual, pois vc já tem certeza que das que passaram não existe nenhuma em branco... :wink:[/quote:363d8a1db1]
eh, também da pra fazer :lol:
GOSTEI 0