Página 1 de 1

Monitorar arquivos em um diretório

Enviado: 17 Mai 2006 17:15
por cainelli
Caros colegas,

Estou adaptando meu programa de postos de gasolina para trabalhar com a automação da GBR (Antiga Gilbarco).
Ocorre q o programa deles - Cub2Text - gera arquivos TXT dos abastecimentos em um diretório com o seguinte padrão:

Os arquivos tem o nome BBHHMMSS (sendo BB=numero da bomba, HH=hora, MM=minuto,SS=segundos).

:( Gostaria de saber como poderia fazer para monitorar a criação destes arquivos no diretório, já q não tenho exatamente o nome do arquivo ?

Obrigado,

Marcello.

Enviado: 17 Mai 2006 18:59
por filizola
vc poderia esclarecer um pouco mais ??

Enviado: 18 Mai 2006 07:58
por cainelli
Vou tentar explicar melhor...
Suponha q dois carros abasteçam no posto neste momento, o cubtext vai gerar dois arquivos TXT com os dados dos abastecimentos:

01075502.TXT e 02075510.TXT, sendo BB=numero da bomba, HH=hora, MM=minuto,SS=segundos.

Serão sempre nomes diferentes, com base no horario + bomba.

Não sei como abrir estes arquivos para capturar os dados, já q não sei o nome deles.
Preciso de uma maneira de saber q o cubtext criou um arquivo e capturar o nome do mesmo para poder ler os dados com fread.

Obrigado,

Marcello.

Enviado: 18 Mai 2006 08:24
por kiko
primeiro de tudo, tenha certeza que nesse diretorio, todos os arquivos .TXT que serao gerados, sao referentes a abastecimentos, feito isso, vc pode rodar um DO WHILE .T. executando a funcao DIRECTORY("*.TXT")
essa funcao cria uma array com os arquivos TXT do diretorio, ai vc pode abrir eles com o nome dos itens da array

Enviado: 18 Mai 2006 11:16
por filizola
complementando o raciocinio do amigo do chaves, o kiko, vc pode ler o conteudo dos arquivos que estarao na matriz criada pela funcao directory() e depois apaga-los para que nao seja feita a leitura novamente.

Enviado: 18 Mai 2006 17:47
por cainelli
:{ Deu certinho!

mDiretorio:= Directory('C:\CUB\VENDAS\20020412\' + '*.TXT',"A")
mNomeArq:= 'C:\CUB\VENDAS\20020412\' + mDiretorio[1,1]

Obrigado aos colegas,

Marcello.