Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

LiMaO

Ler arquivo SDF

Recommended Posts

preciso fazer um programa seguindo isso:ler um arquivo sdf do banco de dados, nele estao contidos produtos cadastrados nos bancos...esse arquivo sdf é dividido em varias partes, da coluna 14 a 26 é o codigo de barras do produto, da coluna 27 a 56 a descrição do produto...preciso fazer um programa que leia essas colunas e mostrasse na tela o produto e o codigo de barras...alguem pode me ajudar por favor???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bao tarde Dr.Seguinte o cód abaixo deve resolver.você deve declarar o arq.var arq: TextFile; Vamos precisar também de uma variável tipo string para armazenar cada linha lida do arquivo: var linha: String; Antes de se iniciar a leitura do arquivo, precisamos associar a variavel TextFile com um arquivo fisicamente armazenado no disco: AssignFile ( arq, 'C:\AUTOEXEC.BAT' ); >> este é o seu arquivo o end onde ele esta. Reset ( arq ); A rotina AssignFile faz a associação enquanto Reset abre efetivamente o arquivo para leitura. AssignFile corresponde à Assign do Turbo Pascal. Em seguida é necessário fazer uma leitura ao arquivo, para isto utilizaremos a procedure ReadLn: ReadLn ( arq, linha ); O comando acima lê apenas uma linha de cada vez, assim precisamos de um loop para efetuar várias leituras até que o arquivo acabe. Para verificar o fim do arquivo, utilizaremos a função Eof: while not Eof ( arq ) do Agora uma rotina quase completa para fazer a leitura de um arquivo texto. Esta rotina recebe como parâmetro o nome do arquivo que será lido: procedure percorreArquivoTexto ( nomeDoArquivo: String ); var arq: TextFile; linha: String; begin AssignFile ( arq, nomeDoArquivo ); Reset ( arq ); ReadLn ( arq, linha ); while not Eof ( arq ) do begin { Processe a linha lida aqui. } { Para particionar a linha lida em pedaços, use a função Copy. } Acima você devera separa as posiçoes que precisa. Tipo 'copy(linha,1,26)'ReadLn ( arq, linha ); end; CloseFile ( arq ); end; Espero ter ajudado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu já tinha visto isso na net, mas ainda assim não consigo fazer...eu sei como criar e ler o arquivo texto, mas como eu mostro ele na tela de um form?por ex em um DBEdit?:/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estou conseguindo fazer a leitura e escrita de arquivos txt, mas como eu faço para ler determinada coluna do arquivo?O meu arquivo aqui tem cerca de 23 mil linhas como eu vejo determinada parte dessa linha para mostra-la em um DBGrid?

Compartilhar este post


Link para o post
Compartilhar em outros sites

o pascal tem também a função copy que tem a seguinte sintaxe:

copy (<origen>, <a partir>, <quantos>);

exemplo:

nome : string;begin  nome := 'William de Oliveira Ferreira';  showmessage (copy(nome, 12, 8);

Compartilhar este post


Link para o post
Compartilhar em outros sites

o pascal tem também a função copy que tem a seguinte sintaxe:copy (<origen>, <a partir>, <quantos>);exemplo:

nome : string;begin  nome := 'William de Oliveira Ferreira';  showmessage (copy(nome, 12, 8);
Valeu!To conseguindo com o copy :DAgora to com outro problema :/Eu preciso puxar esse arquivo pro sistema, por exemplo, a pessoa digita la no edit do cupom fiscal "1", eu tenho que ir no diretório onde está esse arquivo e puxar o 1º arquivo para usa-lo, nisso eu tenho um DBGrid no form e quero que todos os produtos contidos nesse arquivo texto apareçam no DBGrid...Eu tenho que importar esse arquivo para uma tabela para aparecer no DBGrid?Se sim, como faço para importar arquivos textos para tabelas?Eu ja procurei em outros lugares, mas todos da algum erro como identificador nao encontrado, sendo que estou apenas abrindo a tabela.:/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pq naum usa um Banco de Dados pra isso??? seria mto mais facil pra manipular os dados ...num DBGrid axo que naum é possivel naum ... com um pouco de sacrificio e mto trabalho você podera exibir isto num ListView por exemplo ....

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha se você esta trabalhando com TEF esse não é o melhor jeito pq eu trabalho com tef e minha rotina funciona perfeitamente se você esta trabalhando com tef_dial e tef_disk eu tenho uma boa solução pra você.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pq naum usa um Banco de Dados pra isso??? seria mto mais facil pra manipular os dados ...num DBGrid axo que naum é possivel naum ... com um pouco de sacrificio e mto trabalho você podera exibir isto num ListView por exemplo ....

nao faço, pq as informaçoes que preciso estao em um arquivo txt

Compartilhar este post


Link para o post
Compartilhar em outros sites

o pascal tem também a função copy que tem a seguinte sintaxe:copy (<origen>, <a partir>, <quantos>);exemplo:

nome : string; begin   nome := 'William de Oliveira Ferreira';   showmessage (copy(nome, 12, 8);
Valeu!To conseguindo com o copy :D Agora to com outro problema :/Eu preciso puxar esse arquivo pro sistema, por exemplo, a pessoa digita la no edit do cupom fiscal "1", eu tenho que ir no diretório onde está esse arquivo e puxar o 1º arquivo para usa-lo, nisso eu tenho um DBGrid no form e quero que todos os produtos contidos nesse arquivo texto apareçam no DBGrid...Eu tenho que importar esse arquivo para uma tabela para aparecer no DBGrid?Se sim, como faço para importar arquivos textos para tabelas?Eu ja procurei em outros lugares, mas todos da algum erro como identificador nao encontrado, sendo que estou apenas abrindo a tabela.:/
Bom, importar do dbgrid eu não sei exatamente, mas podemos importar para um grid comum...o pascal (delphi) tem uma função chamada findfirst que é usado para encontrar o primeiro arquivo dentro de um diretório mas eu não conheço a sintaxe, na veradade, eu nunca fiz uso dela, olha no help do delphi para maiores informações. Agora, já com o nome do arquivo e o arquivo sendo um arquivo de texto, podemos abrir e ler o seu conteúdo......Para abrir um arquivo de texto, precisamos declarar uma variável para representar esse arquivo no programa e manipularemos essa variável como se fosse o arquivo realmente...
var  arq_texto : textfile;  frase: string;begin  assignfile (arq_texto,'c:\arquivo.txt');  rewrite (arq_texto); // o comando rewrite (re)cria o arquivo, ou seja, se o arquivo não exite, cria um novo, se já existe, apaga o arquivo e cria um novo  // se não quiser recriar o arquivo, use um reset para abrir o arquivo em somente-leitura ou appendfile para abrir com o ponteiro no fim do arquivo  write (arq_texto, 'Bola de futebol');  closefile (arq_texto);  reset (arq_texto);  read (arq_texto, frase);  showmessage (frase);end;
Bom, o básico é isso, tem tempo que não mexo com manipulação de arquivos deste jeito, portanto eu posso ter errado a sequencia dos parâmetros ou ter confundido os nomes de algumas procedures mas se estiver errado, pode procurar algo parecido...mais ajuda é só falar...

Compartilhar este post


Link para o post
Compartilhar em outros sites

desculpe reviver o tópico, mas é que preciso saber como fazer esse programa:/alguem mais sabe como faze-lo?precisaria jogar um txt em uma tabela para a pessoa escolher os produtos em um dbgrid para troca e logo após isso modificar esse txt no mesmo local onde foi pego o produto...ex: coluna 27-50 nome do produto é pego na tabela e jogado no dbgrid, após escolha de quais produtos serao trocados esses produtos modificam esse arquivo txt no mesmo local onde foi pego o produto, reescreve por cima das colunas 27-50

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.