Problema com o Memo: Nao captura o 1o caracter

22/09/2004

0

Pessoal,

Tenho o seguinte codigo:

  For I := 0 to Cont-1 Do
  Begin
    Reg := MemoArquivo.Lines.ValueFromIndex[I];
    MemoArquivo2.Lines.Add(Reg);
    MemoArquivo.Lines.Delete(MemoArquivo.Lines.IndexOf(Reg));
  End;


Minha intenção é: ler a linha do memo1, adicionar no memo2 e deletar aquela linha no memo1.
Meu objetivo não é tao simples, mas a intenção é essa e isso resolve meu problema, mas nao esta funcionando 100¬...

O que ocorre é que é exibido no memo1 os valores:

x01
x02
x03
x04

Mas o ´x´ nao é repassado para o memo2!!
Isto é um grande problema!! porque exibe no memo1 o

x01
x02
x03
x04

e só é repassado o

01
02
03
04

Alguem se habilita?


Rafaelunp

Rafaelunp

Responder

Posts

22/09/2004

Marcelo Saviski

no lugar de
MemoArquivo.Lines.Delete(MemoArquivo.Lines.IndexOf(Reg)); 


tente

MemoArquivo.Lines.Delete(I); 


p/ ver se da certo


Responder

22/09/2004

Rafaelunp

Marcelo

Nao adianta...
O problema nao é excluir... é conseguir passar para o memo2 o valor exato de memo1...


Responder

23/09/2004

Nildo

Tenta trocar o

MemoArquivo.Lines.[b:40fd879cef]ValueFromIndex[I]; [/b:40fd879cef]

por

MemoArquivo.Lines.[b:40fd879cef]Strings[ I ];[/b:40fd879cef]


Responder

23/09/2004

Rafaelunp

Tenta trocar o MemoArquivo.Lines.[b:b01b725c6e]ValueFromIndex[I]; [/b:b01b725c6e] por MemoArquivo.Lines.[b:b01b725c6e]Strings[ I ];[/b:b01b725c6e]


Nada...

acho que eh bug do delphi... :roll:


Responder

23/09/2004

Nildo

Aqui funciona :?
E se você mandar mostar num showmessage ou no debug a string que ele está tentando copiar?


Responder

23/09/2004

Rafaelunp

Aqui funciona :? E se você mandar mostar num showmessage ou no debug a string que ele está tentando copiar?


Ja coloquei nunm showmessage... está exibiendo justamente o que está sendo adicionado no memo2

01
02
03
04

ao inves de

x01
x02
x03
x04


Responder

23/09/2004

Nildo

Qual o resultado de
MemoArquivo.[b:5cc2502cee]Lines.Strings[ I ][ 1 ][/b:5cc2502cee] ?

Dá erro se você tentar acessar
MemoArquivo.[b:5cc2502cee]Lines.Strings[ I ][ 0 ][/b:5cc2502cee] ?


Responder

23/09/2004

Keitarosan

Eu faria da seguinte forma:
while memo1.lines.count > 0 do
begin
  Memo2.Lines.Add(Memo1.Lines[0]);
  Memo1.Lines.Delete(0);
end;


Esse FOR que você colocou tende a dar erro...
vê se esse código acima resolve o problema, aqui não deu problema algum.... :wink:


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar