Copiar Texto

19/08/2008

1

Olá pessoal eu tow com o seguinte problema....


como q eu faço pra copiar o conteúdo de um arquivo Txt para um memo tendo em vista q....


se o arquivo tiver mais de 2 mil caracteres o mesmo só copiará 2 mil e o resto será cortado...


alguém tem alguma idéia???


Vlw


Responder

Posts

20/08/2008

Wdrocha

Alguém??????????


Responder

20/08/2008

Sistemald

olá,

tente usar o TrichEdit, pois se não me engano o memo tem um limite.


Responder

20/08/2008

Paulo

Te aconselho a jogar para um TStringlist e depois dá um Count nela. caso seja > 2000, aí você delata.

var arq:TextFile; lista:TStringList; sTexto:String; begin lista := TStringList.Create; AssignFile(Arq,´C:\Meu_Dir\Arquivo.txt´); Reset(Arq); while not eof(arq) do begin Readln(arq,sTexto) lista.add(sTexto); end; end;

Depois você da um Count na lista para remover caso seja maior que 2000


Responder

20/08/2008

Wdrocha

Eu fiz assim e tbm não deu mt certo...


Arquivo := TStringList.Create;

Arquivo.LoadFromFile(LblPath.Caption + EdtNomeArquivo.Text);//Path e arquivo escolhido pelo usuário

If Length (Arquivo.GetText) > 6000 Then

   Begin

       For I := 6000 To Length (Arquivo.GetText) Do

              Arquivo.Delete(I); //Deleta a posição I
       
       FreeAndNil (Arquivo);   
                
   End;




tah dando erro de List Index Out Of Bound (6000) ...

Acontece logo na primeira volta do for...


Paulo, do outro jeito não consegui como resolver....


vc tem algum exemplo mais claro??

Mt Obrigado a todos...


No Aguardo...


Bom dia a todos.....


Responder

20/08/2008

Wdrocha

Eu fiz assim e tbm não deu mt certo...


Arquivo := TStringList.Create;

Arquivo.LoadFromFile(LblPath.Caption + EdtNomeArquivo.Text);//Path e arquivo escolhido pelo usuário

If Length (Arquivo.GetText) > 6000 Then

   Begin

       For I := 6000 To Length (Arquivo.GetText) Do

              Arquivo.Delete(I); //Deleta a posição I
       
       FreeAndNil (Arquivo);   
                
   End;




tah dando erro de List Index Out Of Bound (6000) ...

Acontece logo na primeira volta do for...


Paulo, do outro jeito não consegui resolver....


vc tem algum exemplo mais claro??

Mt Obrigado a todos...


No Aguardo...


Bom dia a todos.....


Responder

20/08/2008

Paulo

Veja se assim da certo.
for I := Lista.Count-1 downto 2000 Lista[i].Delete;



Responder