Renanbg 1 Denunciar post Postado Fevereiro 13, 2009 Olá pessoal preciso ler um arquivo usando delphi 6, pode ser um txt..ele terá apenas 1 coluna e 5 linhas o processo será assim ao abrir o sistema eu pretendo colocar no view source uma rotina para verificar o serial do HD por exemplo e armazenar esse serial em uma variavel x depois preciso ler o conteudo da 3ª linha do arquivo txt e comparar com a variavel x para ver se são iguais alguma sugestão? grato Compartilhar este post Link para o post Compartilhar em outros sites
Renanbg 1 Denunciar post Postado Fevereiro 13, 2009 Consegui isso até agora Var f:TextFile; num, linha:String; begin num:= Form1.edit1.Text; AssignFile(f,'c:\carta.txt'); Reset(f); Read(f,linha); if linha = num then showmessage('é igual') else showmessage('é diferente'); Closefile(f); end; o problema é que ele da erro de read of adress na linha num:= Form1.edit1.Text; Compartilhar este post Link para o post Compartilhar em outros sites
LuizFest 0 Denunciar post Postado Fevereiro 23, 2009 amigo dei uma sujestão de como carregar o arquivo txt neste post http://forum.imasters.com.br/index.php?showtopic=332065 ve se serve pra resolver seu problema abç ^_^ Compartilhar este post Link para o post Compartilhar em outros sites
Chrnos 30 Denunciar post Postado Fevereiro 25, 2009 Primeiro, este Form1 está na lista de uses da sua unit? Ele já foi criado para poder ser acessado?? Há algum valor nele na hora que executa? Segundo... dá uma lida neste artigo que está no site da imasters e tente o adaptar ao seu código. []'s Compartilhar este post Link para o post Compartilhar em outros sites
Renanbg 1 Denunciar post Postado Fevereiro 27, 2009 Obrigado pessoal, eu nem tinha criado o form e queria ler algo nele..erro bobo to vendo as dicas dos links.. abraços Compartilhar este post Link para o post Compartilhar em outros sites
Renanbg 1 Denunciar post Postado Fevereiro 27, 2009 Primeiro, este Form1 está na lista de uses da sua unit? Ele já foi criado para poder ser acessado?? Há algum valor nele na hora que executa? Segundo... dá uma lida neste artigo que está no site da imasters e tente o adaptar ao seu código. []'s Olá, olhei esse topico que você indicou e a rotina de leitura não le a segunda linha do arquivo. ex: tenho um arquivo com apenas 2 linhas e com o seguinte conteudo nelas linha 1 - renanbg linha 2 - renan então essa rotina le apenas o renanbg e cai fora...a unica forma dela ler a segunda linha seria se eu colocasse uma terceira linha tem como resolver isso? Compartilhar este post Link para o post Compartilhar em outros sites
Chrnos 30 Denunciar post Postado Fevereiro 27, 2009 Como está o código que você montou? Compartilhar este post Link para o post Compartilhar em outros sites
Renanbg 1 Denunciar post Postado Fevereiro 27, 2009 Como está o código que você montou? olá, esta assim procedure TForm1.Button1Click(Sender: TObject); var f: TextFile; linha: String; begin AssignFile(f,'c:\carta.txt'); Reset(f); Readln(f,linha); while not Eof(f) do begin ShowMessage(linha); Readln(f, linha); end; end; to indo almoçar que a fome bateu, logo que voltar continuo vendo isso com você obrigado pela ajuda Compartilhar este post Link para o post Compartilhar em outros sites
Chrnos 30 Denunciar post Postado Fevereiro 27, 2009 Bom, o problema em questão é que você não entendeu a lógica do código que está demonstrada no arquivo. Um teste de mesa já resolveria, mas vou explicar o que acontece.... seu arquivo tem dois registros certo? No código que você postou, que é o mesmo do artigo, o programa irá ler o primeiro registro e testar se chegou no fim do arquivo... se não chegou, mostra o registro e lê o próximo e executa o teste novamente... o que acontecerá é que o próximo é o registro que indica o fim do arquivo, ou seja, ele sai do while neste momento sem mostrar. Há dois modos de resolver isso. O primeiro modo é pegar o seu código e por um showmessage logo após o while... ele vai te mostrar que a variável está posicionada exatamente na última linha do arquivo ao sair do mesmo. procedure TForm1.Button1Click(Sender: TObject); var f: TextFile; linha: String; begin AssignFile(f,'c:\carta.txt'); Reset(f); Readln(f,linha); while not Eof(f) do begin ShowMessage(linha); Readln(f, linha); end; ShowMessage(linha); end; A segunda forma é mudar a forma como vai ler os dados... procedure TForm1.Button1Click(Sender: TObject); var f: TextFile; linha: String; begin AssignFile(f,'c:\carta.txt'); Reset(f); // Readln(f,linha); while not Eof(f) do begin Readln(f, linha); ShowMessage(linha); end; end; Teste as duas e veja qual fica melhor para você... []'s Compartilhar este post Link para o post Compartilhar em outros sites
Renanbg 1 Denunciar post Postado Fevereiro 27, 2009 Opa...muito bom Chrnos agora entendi o primeiro exemplo vai se adaptar melhor as minhas necessidades obrigado pela força http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites