Problema com o Memo: Nao captura o 1o caracter

22/09/2004

Pessoal,

Tenho o seguinte codigo:

  For I := 0 to Cont-1 Do
  Begin
    Reg := MemoArquivo.Lines.ValueFromIndex[I&93;;
    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

Respostas

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 Citar

22/09/2004

Rafaelunp

Marcelo

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


Responder Citar

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 Citar

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 Citar

23/09/2004

Nildo

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


Responder Citar

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 Citar

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 Citar

23/09/2004

Keitarosan

Eu faria da seguinte forma:
while memo1.lines.count > 0 do
begin
  Memo2.Lines.Add(Memo1.Lines[0&93;);
  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 Citar