TStringList...

Delphi

01/12/2003

Pessoal, estou criando um arquivo texto usando stringlist...

a minha última instrução é:

StringList.SaveToFile(Arquivo.txt)

Só que quando abro o arquivo após minha última linha foi criada uma linha em branca, como se eu tivesse dado um comando de LineFeed

Tem como retirar isso?


Danilorsa

Danilorsa

Curtidas 0

Respostas

Rodrigo Ferreira

Rodrigo Ferreira

01/12/2003

Ola amigo, Ficara muito mais claro para nos, se vc passar a codificacao que vc fez para criar e salvar o arquivo....

Obs: Maneira para excluir a linha é claro que exite porem precisamo ver seu codigo para podermos entender melhor o que aconteceu...


GOSTEI 0
44

44

01/12/2003

Quando se cria uma TStringList ela tem em .Strings[0] = ´´

tenta deletar a última linha antes de salvar, pois essa string é ´empurrada´ pro final.

Não sei se funciona, mas tenta


GOSTEI 0
Danilorsa

Danilorsa

01/12/2003

Segue o Código...
1) Num Botão eu vou armazenando o conteúdo que eu quero...

txt := ´Linha1´+#13+10;
txt := txt + ´Linha2´+13+10;
txt := txt + ´Linha3´;

Cria_Txt;

2) Procedure Cria TXT...

procedure Cria_Txt_TEF;
var ls_txt: TStringList;
begin
ls_txt := TStringList.Create;
ls_txt.Clear;
ls_txt.Add(Texto);
ls_txt.SaveToFile(´c:\Arquivo.Txt´);
ls_txt.Free;
end;


Pessoal, estou criando um arquivo texto usando stringlist... a minha última instrução é: StringList.SaveToFile(Arquivo.txt) Só que quando abro o arquivo após minha última linha foi criada uma linha em branca, como se eu tivesse dado um comando de LineFeed Tem como retirar isso?



GOSTEI 0
Rodrigo Ferreira

Rodrigo Ferreira

01/12/2003

Caro amigo realizei alguns teste para tentar identificar o problema, mas nao consegui encontrar nenhum. Executei varias vezes o processo e nao encontrei falha simplesmente o arquivo e criar com as 3 linhas, e nem uma mais.

Aqui esta seu exemplo que utilizei:

procedure TForm1.Button1Click(Sender: TObject);
var
txt: string;
ls_txt: TStringList;
begin
txt := ´Linha1´ + #1310;
txt := txt + ´Linha2´ + 1310;
txt := txt + ´Linha3´;

ls_txt := TStringList.Create;
ls_txt.Clear;
ls_txt.Add(TXt);
ls_txt.SaveToFile(´c:\Arquivo.Txt´);
ls_txt.Free;
end;

Fiz um exemplo basico para vc criar seus arquivos:

procedure TForm1.ButtunClick(Sender: TOBject);
var
Txt: string;
fArq: TextFile;
begin
Txt := ´Linha1´ + 1013 + ´Linha2´ + 1013 + ´Linha3´

AssignFile(fArq, ´c:\Arquivo.txt´);

{ - Criando Arquivo }
Rewrite(fArq);

{ - Gravando a Linha }
Writeln(fArq, Txt);

{ - Fechando o arquivo }
CloseFile(fArq);
end;

Obs: Nao sei se vc conhece esse metodo de criar arquivos mas com ele vc pode fazer varias coisas do tipo Criar um arquivo com uma linha ou varias linhas etc... se vc procurar na Net exemplo de criacao de arquivos encontrar varias maneira inclusive essa que eu te passei.

Boa sorte espero ter ajudado.


GOSTEI 0
Dedi

Dedi

01/12/2003

Amigo
teste este codigo ai.
var lista:TStringList;
    i:integer;
begin
 lista:=TStringList.Create;
 lista.Clear;
 for i := 1 to 3 do
  lista.Add(´Linha´+inttostr(i));
 lista.SaveToFile(´D:\Arquivo.Txt´);
 showmessage(´O Arquivo.txt possui ´+inttostr(lista.Count)+´ linhas´);
 lista.Free;
end;


Dedi


GOSTEI 0
Rodrigo Ferreira

Rodrigo Ferreira

01/12/2003

Bom amigo ja eu ja vi o que faz o codigo! Qual é o problema?


GOSTEI 0
Rodrigo Ferreira

Rodrigo Ferreira

01/12/2003

[quote:073d64e183=´Rodrigo Ferreira´]Bom amigo ja eu ja vi o que faz o codigo! Qual é o problema nele?[/quote:073d64e183]


GOSTEI 0
POSTAR