Fórum Duvida com StringList #296688

22/09/2005

0

por favor pessoal estou começando usar StringList agora e estou com algumas duvidas:

porque só estou pegando as duas primeiras linhas do arquivo ?

var
      arq: TStringList;
      i  : Integer;
begin
    arq :=  TStringList.Create;
    arq.LoadFromFile(´c:\08303001.R01´);
  try
    for i := 0 to arq.Count - 1 do
      begin
        Memo1.Lines.Add(arq.Strings[i]);
      end;
  finally
    FreeAndNil(arq);
  end;
end;




Fabiano Góes

Fabiano Góes

Responder

Posts

22/09/2005

Rjun

Não deveria. Seu código está correto. Seu arquivo tem mais de 2 linhas?


Responder

Gostei + 0

22/09/2005

Fabiano Góes

Rjun, sim meu arqruivo tem mais de 2 linhas

eu carreguei outro arquivo e deu certo.

algum caracter do outro arquivo que está impedindo de passar para as outras linhas

:?


Responder

Gostei + 0

22/09/2005

Bmetric

Leia pelo Notepad e veja qtas linhas aparecem.


Responder

Gostei + 0

22/09/2005

Martins

[quote:bb52401df7=´Fabiano Góes´]Rjun, sim meu arqruivo tem mais de 2 linhas

eu carreguei outro arquivo e deu certo.

algum caracter do outro arquivo que está impedindo de passar para as outras linhas

:?[/quote:bb52401df7]

Pode ser, seu código está correto, se vc pudesse postar parte do conteúdo desse arquivo, seria melhor, poderiamos ver se tem algo anormal, o melhor seriam os dois arquivos, o q vc testou e funcionou e o outro q só envia 2 linhas.

Martins


Responder

Gostei + 0

22/09/2005

Martins

Fiz testes com outros arquivos texto e nada de anormal, me foram mostradas todas as linhas do arquivo.

Pode ser mesmo algum caractere do seu arquivo.


Responder

Gostei + 0

23/09/2005

Fabiano Góes

Martins aqui vai uma parte do arquivo texto

H971002200100000101000000000000000000000000000000000000000000*
E000001000000000000000065000003022601858388653411618301 0000
E000002000000000000000050001021284301897107650330220001



o código só me devolvia as duas primeiras linhas !


Responder

Gostei + 0

23/09/2005

Massuda

Tem um caractere estranho no final da segunda linha (o quadradinho, sexto do fim para o começo) que provavelmente está atrapalhando a carga no StringList.

Como os fontes do Windows geralmente inserem esse quadradinho para uma série de caracteres não imprimíveis, fica difícil dizer qual caractere está poluindo seus dados (só olhando no arquivo).

Se esse arquivo supostamente deveria conter apenas texto, seria bom você verificar o que ocorreu (pode ser bug no programa que gerou o arquivo ou algum problema no armazenamento do arquivo).

Outra possibilidade é que esse arquivo tenha sido aberto (e salvo) em algum editor de texto que inseriu quebras de linha.


Responder

Gostei + 0

23/09/2005

Martins

Fiz um teste com o conteúdo passado, coloquei ele em um arquivo texto e consegui transportar os dados para um Memo na boa.
procedure TForm1.Button1Click(Sender: TObject);
var
 arq: TStringList;
 i  : Integer;
begin
  arq :=  TStringList.Create;
  arq.LoadFromFile(´c:\Teste.txt´);
  try
    for i := 0 to arq.Count - 1 do
      begin
        Memo1.Lines.Add(´Linha: ´IntToStr(i)´ - ´  arq.Strings[i]);
      end;
  finally
    FreeAndNil(arq);
  end;
end;


[b:f54f0fc8e8]Teste.txt[/b:f54f0fc8e8] é o arquivo feito pelo bloco de notas com os dados q foram passados.




vc poderia passar o arquivo por e-mail, caso não seja confidêncial.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar