Problema com o Memo: Nao captura o 1o caracter

Delphi

22/09/2004

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

Curtidas 0

Respostas

Marcelo Saviski

Marcelo Saviski

22/09/2004

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


tente

MemoArquivo.Lines.Delete(I); 


p/ ver se da certo


GOSTEI 0
Rafaelunp

Rafaelunp

22/09/2004

Marcelo

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


GOSTEI 0
Nildo

Nildo

22/09/2004

Tenta trocar o

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

por

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


GOSTEI 0
Rafaelunp

Rafaelunp

22/09/2004

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:


GOSTEI 0
Nildo

Nildo

22/09/2004

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


GOSTEI 0
Rafaelunp

Rafaelunp

22/09/2004

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


GOSTEI 0
Nildo

Nildo

22/09/2004

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] ?


GOSTEI 0
Keitarosan

Keitarosan

22/09/2004

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:


GOSTEI 0
POSTAR