Página 1 de 1

Criar um nome de arquivo automático

Enviado: 18 Jun 2007 14:36
por Ricardo Sales Ribeiro
Alo pessoal
Tudo Bem


Não estou conseguindo gerar um nome de arquivo partindo do conteudo de uma variavel, é o seguinte:

Tenho uma variavel Nro_Reg:=´000001´ q serve para entradas e itens de entradas ok, bom enão preciso criar um arquivo para transferir para outra filial cujo arquivo a ser gerado tem q ser com o este numero, assim:

Cada arquivo coresponde a um numero de entrada.

000001En.Dbf e 000001It.Dbf, eu consegui gerar, más sem extrutura, sem campos, minha rotina é:


wCodReg:=Nro_Reg
wArqA:=(´&wCodReg´+'En'+'.Dbf') && Entradas
wArqB:=(´&wCodReg´+'It'+'.Dbf') && Itens Entradas
wDrvC:='C:\Suporte\Dados\'
Select a_CadEnt
Copy To ('&wArqA') For Nro_Reg = wCodReg
Select a_IteEnt
Copy To ('&wArqB') For Nro_Ite = wCodReg
Copy File &wArqA To &wDrvC&wArqA
Copy File &wArqB To &wDrvC&wArqB

Se eu colocar wArqA:=´00001En.Dbf´
e wArqB:=´00001It.Dbf´

Funciona perfeito,
Más como este numero vai sempre variar, coloquei no formato acima e não dar certo, ele gera o arquivo, más sem estrutura de campos

Dar o seguinte error qdo vou abrir com o dbu

Error DBCMD/1010 illegal characteres in alias: 000001En

Alguem pode me ajudar.

Desde já agradeço a colaboração

Enviado: 18 Jun 2007 15:13
por Ricardo Sales Ribeiro
Ola pessoal!

Consegui resolver, logo em seguida q postei, fiz da seguinte maneira:

wArqa:=´En´+Substr(wCodReg,01,06)+´.Dbf´

q ficou assim En000001.Dbf e respectivamente o outro It000001.Dbf

Abrigado da mesma forma.

Enviado: 18 Jun 2007 18:52
por Pablo César
Pois é Ricardo, criar o arquivo acho que até pode, porém o Clipper não abre DBFs com nomes que começam com números.

Enviado: 18 Jun 2007 19:11
por Maligno
Isso é verdade. O interessante é que o FoxBase permite a abertura de arquivos cujos nomes são números.

Enviado: 18 Jun 2007 21:38
por Poka
Olá a todos

No financeiro os arquivos de contas bancarios é o proprio número da conta.


arq:="12345"
if ! file( arq+".DBF")
westru:={}
aadd(westru,{"codigo" , "c" ,06 ,0})
aadd(westru,{"nome" , "c",20 ,0})
dbcreate(arq,westru)
endif

use (arq) new // assim dá erro

use (arq) new alias conta // assim voce consegue abrir


Poka.

Enviado: 19 Jun 2007 01:52
por Maligno
Funciona mesmo. Nunca precisei usar nomes assim, mas não deixa de ser interessante. Pelos menos fica a curiosidade. :)

Enviado: 19 Jun 2007 14:01
por Ricardo Sales Ribeiro
Valeu pessoal!

Valeu pelas dicas, obrigado mesmo.