Duvida com StringList
por favor pessoal estou começando usar StringList agora e estou com algumas duvidas:
porque só estou pegando as duas primeiras linhas do arquivo ?
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
Curtidas 0
Respostas
Rjun
22/09/2005
Não deveria. Seu código está correto. Seu arquivo tem mais de 2 linhas?
GOSTEI 0
Fabiano Góes
22/09/2005
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
:?
eu carreguei outro arquivo e deu certo.
algum caracter do outro arquivo que está impedindo de passar para as outras linhas
:?
GOSTEI 0
Bmetric
22/09/2005
Leia pelo Notepad e veja qtas linhas aparecem.
GOSTEI 0
Martins
22/09/2005
[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
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
GOSTEI 0
Martins
22/09/2005
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.
Pode ser mesmo algum caractere do seu arquivo.
GOSTEI 0
Fabiano Góes
22/09/2005
Martins aqui vai uma parte do arquivo texto
o código só me devolvia as duas primeiras linhas !
H971002200100000101000000000000000000000000000000000000000000* E000001000000000000000065000003022601858388653411618301 0000 E000002000000000000000050001021284301897107650330220001
o código só me devolvia as duas primeiras linhas !
GOSTEI 0
Massuda
22/09/2005
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.
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.
GOSTEI 0
Martins
22/09/2005
Fiz um teste com o conteúdo passado, coloquei ele em um arquivo texto e consegui transportar os dados para um Memo na boa.
[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.
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.
GOSTEI 0