Array
(
)

Problema com o Memo: Nao captura o 1o caracter

Rafaelunp
   - 22 set 2004

Pessoal,

Tenho o seguinte codigo:

#Código

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?


Marcelo Saviski
   - 22 set 2004

no lugar de
#Código

MemoArquivo.Lines.Delete(MemoArquivo.Lines.IndexOf(Reg));


tente

#Código
MemoArquivo.Lines.Delete(I);


p/ ver se da certo


Rafaelunp
   - 22 set 2004

Marcelo

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


Nildo
   - 23 set 2004

Tenta trocar o

MemoArquivo.Lines.ValueFromIndex[I];

por

MemoArquivo.Lines.Strings[ I ];


Rafaelunp
   - 23 set 2004


Citação:
Tenta trocar o

MemoArquivo.Lines.ValueFromIndex[I];

por

MemoArquivo.Lines.Strings[ I ];


Nada...

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


Nildo
   - 23 set 2004

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


Rafaelunp
   - 23 set 2004


Citação:
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


Nildo
   - 23 set 2004

Qual o resultado de
MemoArquivo.Lines.Strings[ I ][ 1 ] ?

Dá erro se você tentar acessar
MemoArquivo.Lines.Strings[ I ][ 0 ] ?


Keitarosan
   - 23 set 2004

Eu faria da seguinte forma:
#Código


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: