Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

manefilho

Adicionar String nas linhas do Memo

Recommended Posts

Olá pessoal,

 

Eu to com uma duvida, e já tentei umas formas aqui e não consigo. Eu tenho um Memo com linhas e outro Memo vazio, eu queria que as linhas do Memo1 fosse mandado para o Memo2 com uma string na frente das linhas. Tipo assim:

 

Supondo que o Memo1 tem as seguintes linhas:

 

www.google.com.br

www.facebook.com.br

www.baixaki.com.br

 

Ao clicar no botão essas linhas são enviadas para o Memo2 com uma String adicional no começo da linha e ficam assim:

 

http://www.google.com.br

http://www.facebook.com.br

http://www.baixaki.com.br

 

Eu tava usando isso no botão para realizar essa tarefa:

Memo1.Lines.Add('http://' + m_Links.Text);

 

Mas não funciona, adiciona a String apenas na primeira linha. Alguém pode me ajudar? Fazer com que a String seja adicionada em todas as linhas?

 

Desde já agradeço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pra isso você tem que ler linha a linha do seu memo de origem e adicionar linha a linha no seu memo destino, não pode usar simplesmente o memo.text, pois isso vai mandar todas as linhas de uma vez.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pra isso você tem que ler linha a linha do seu memo de origem e adicionar linha a linha no seu memo destino, não pode usar simplesmente o memo.text, pois isso vai mandar todas as linhas de uma vez.

 

Você poderia me explicar como fazer isso? Por que tipo, eu tentei de todas as formas e não consigo.

 

:unsure:Alguém pode me ajudar? :unsure:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola, abaixo tem um exemplo do que você poderia fazer:

 

var
 linha: string;
 posicao: byte;
begin
 for posicao:=0 to 2 do
 begin
   linha := self.Memo1.Lines.Strings[posicao];
   linha := 'http://'+linha;
   self.Memo1.Lines.Strings[posicao] := linha;
 end;
end;

 

Entretanto, eu te recomendo reforçar o código, porque dependendo da situação, isto poderia gerar alguns bugs..

Primeiro que eu fiz um for com valores fixos, o mais correto seria pegar o tamanho do memo.

Segundo que pode acontecer o seguinte... digamos que a palavra www.google.com ocupe uma linha, mas após adicionar o http:// ele acabe ocupando duas linhas, isso faria com que você adicionasse outro http:// em um local incorreto.

 

Mas no mais é isso, boa sorte

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola, abaixo tem um exemplo do que você poderia fazer:

 

var
 linha: string;
 posicao: byte;
begin
 for posicao:=0 to 2 do
 begin
   linha := self.Memo1.Lines.Strings[posicao];
   linha := 'http://'+linha;
   self.Memo1.Lines.Strings[posicao] := linha;
 end;
end;

 

 

Entretanto, eu te recomendo reforçar o código, porque dependendo da situação, isto poderia gerar alguns bugs..

Primeiro que eu fiz um for com valores fixos, o mais correto seria pegar o tamanho do memo.

Segundo que pode acontecer o seguinte... digamos que a palavra www.google.com ocupe uma linha, mas após adicionar o http:// ele acabe ocupando duas linhas, isso faria com que você adicionasse outro http:// em um local incorreto.

 

Mas no mais é isso, boa sorte

 

Eu tentei, mais ele coloca apenas uma linha do memo, tipo, eu clico no botão e ele manda apenas uma linha .-. alguém pode me ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu tentei, mais ele coloca apenas uma linha do memo, tipo, eu clico no botão e ele manda apenas uma linha .-. alguém pode me ajudar?

Estranho.. Aqui eu testei e funcionou normalmente...

Você tem certeza que o seu memo tem o mesmo nome que está no código? "Memo1".

Tem certeza que você colocou este trecho de código no evento onclick do button?

 

Acho melhor você verficiar seu código.. E caso ainda esteja dando erro poste ele aqui

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estranho.. Aqui eu testei e funcionou normalmente...

Você tem certeza que o seu memo tem o mesmo nome que está no código? "Memo1".

Tem certeza que você colocou este trecho de código no evento onclick do button?

 

Acho melhor você verficiar seu código.. E caso ainda esteja dando erro poste ele aqui

 

Ah! Vlw mano, tipo, ele faz referência duas vezes ao memo, eu tinha colocado apenas uma vez. rsrs... Mano vlw pela ajuda funcionou! Agora eu preciso achar uma maneira de colocar em todas as linhas... O programa que eu to fazendo, obtem Links do WebBrowser e joga no memo, ele coloca, mais preciso agora incrementar o código, pois, não sei exatamente o número de linhas, preciso obter o número de linhas em tempo de execução! Mano, vlw pela ajuda! :yay: :clap:

 

Incrementei o código, uma coisa muito simples, pode resolver meu problema. Para adicionnar em todas as linhas eu usei o seguinte:

 

var
 linha: string;
 posicao: byte;
begin
 for posicao:=0 to m_links.Lines.Capacity do
 begin
   linha := self.m_Links.Lines.Strings[posicao];
   linha := 'http://'+linha;
   self.m_Links.Lines.Strings[posicao] := linha;
 end;
end;

 

O nome do memo no caso é m_Links. Observe que fiz uma pequena alteração na linha: "for posicao:=0 to m_links.Lines.Capacity do" inserindo o "m_Links.Lines.Capacity" o que funciona perfeitamente! Mano, vlw pela ajuda! :yay: :clap:

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.