Fórum Dúvida TMemo #347487

17/10/2007

0

Saudações!!

Eu fiz um exemplo bem simples, onde coloquei um memo, um edit e um botão. Quando eu digito um texto no memo, ao clicar no botão substituirá todos os enters por espaço. O edit servirá para mostrar o texto que foi digitado no memo. Para isto, usei o seguinte código:

Edit1.Text := StringReplace(Memo1.Lines.Text, #13, 32, [rfReplaceAll]);

Agora, uma pergunta, pq não fuciona, visto que a cada enter ele coloca um espaço, com o maldito ´quadradinho´ do lado, ou seja, a função StringReplace não está fazendo a substituição corretamente.

Por quê? Há alguma explicação para este fato??

Estou no aguardo.

Até.

Rogério


Roger1976

Roger1976

Responder

Posts

17/10/2007

Marco Salles

a função StringReplace não está fazendo a substituição corretamente. Por quê? Há alguma explicação para este fato??


voce não esta fazendo a ´troca´ correta

o correto nesse caso é assim :

edit1.Text:=StringReplace(memo1.Lines.Text[b:30a3ee8503][u:30a3ee8503],#1310[/u:30a3ee8503][/b:30a3ee8503],32,[rfReplaceAll]);



Responder

Gostei + 0

17/10/2007

Roger1976

Marco, muito obrigado, o detalhe #10 foi a solução do problema. Não abusando da sua boa vontade, qual é a função deste 10 na combinação??

Valeu kra!!!!!


Responder

Gostei + 0

18/10/2007

Marco Salles

O Caracter #10 é o - Line Feed (10)

este caracter não aparece nas formatações do Memo , mas esta presente
basta voce colocar um texto pequeno com duas palavras em um Memo,
e digitar o codigo em um Botão

var i:integer; begin showmessage(inttostr(length(memo1.Lines.Text))); for i:=0 to length(memo1.Lines.Text)-1 do if memo1.Lines.Text[i] = 10 then Showmessage(´tem O Line Feed (10) ´) else if memo1.Lines.Text[i] = 13 then Showmessage(´tem o Carriage Return (13)´);



Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar