• 0
Sign in to follow this  
Guest Serena Pereira

Importação De Arquivo Txt Para Um Arquivo Binário.

Question

Guest Serena Pereira

Bom dia!

Estou tentando fazer uma importação de um arquivo texto para um a arquivo binário mas não estou conseguindo, de forma satisfatória.

O arquivo texto tem os campos desejados separados por vírgulas.

Trechos da rotina são:

type

TUmaBarra = record

dtmHora, dtmData: TDateTime;

dblAbertura, dblMaxima, dblMinima, dblFechamento: double

end;

procedure ConverteMetastock (var ArquivoMetastockTexto: TextFile;

var ArquivoCotacoesBinario: File of TUmaBarra);

...

// A função descrita a seguir converte um arquivo txt produzido pelo Metastock

// em um arquivo binário.

procedure ConverteMetastock (var ArquivoMetastockTexto: TextFile;

var ArquivoCotacoesBinario: File of TUmaBarra);

begin

reset(ArquivoMetastockTexto);

rewrite(ArquivoCotacoesBinario);

While not eof (ArquivoMetastockTexto) do

begin

readln (ArquivoMetastockTexto, strUmaBarra);

//aqui entra o código da conversão propriamente dita

end;

except

ShowMessage ('Houve erro na Conversão de Arquivos');

stlcotacoes.Free;

CloseFile(ArquivoMetastockTexto);

CloseFile(ArquivoCotacoesBinario);

end;

Eu até consegui a importação fazendo uma leitura de caracter por caracter, mas ficou meio tosco o código e bastante lento o programa, quando os arquivos a serem importados possuem muitos registros.

Então, baseada em alguns exemplos encontrados na net tentei escrever o código da conversão usando o comando commatext, mas não deu certo.

A conversão de cada campo do formato texto para os tipos de TUmaBarra (string para Tdatetime e double) não é problema.

O que não consegui foi fazer a obtenção dos campos no arquivo texto usando o commatext.

Agradeceria muitíssimo por uma ajuda!

Share this post


Link to post
Share on other sites

2 answers to this question

Recommended Posts

  • 0

Grata pela resposta.

Eu já tinha visto ele.

Aliás, descobri o fórum através deste post, usando um mecanismo de busca.

Lá tem uma idéia boa, mas um código incompleto, então me atrapalhei aqui um pouco até descobrir isso.

A utilização é simples, mas valeu de qualquer forma, pois o problema me fez pesquisar e aprender isso.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this