Copiar Texto

Delphi

19/08/2008

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


Wdrocha

Wdrocha

Curtidas 0

Respostas

Wdrocha

Wdrocha

19/08/2008

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


GOSTEI 0
Sistemald

Sistemald

19/08/2008

olá,

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


GOSTEI 0
Paulo

Paulo

19/08/2008

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


GOSTEI 0
Wdrocha

Wdrocha

19/08/2008

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.....


GOSTEI 0
Wdrocha

Wdrocha

19/08/2008

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.....


GOSTEI 0
Paulo

Paulo

19/08/2008

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



GOSTEI 0
POSTAR