CRIAR ARQUIVO COM NOME LONGO
Enviado: 22 Jan 2006 18:59
PESSOAL TO PRECISANDO DE UMA AJUDA
TENHO UM ARQUIVO CHAMADO AMOSTRA.DBF COM 10.000 REGISTRO
E TENHO QUE DE VEZ EM QUANDO GERAR ALGUNS NOVOS ARQUIVOS TIPO DE 20 A 50 E DEPOIS DE 55 A 70 E ASSIM POR DIANTE E FIZ UMA ROTINA
TIPO ASSIM
*------------------TRANSFERENCIA DE ARQUIVOS PARA O EXCEL------------
PROCEDURE TRFF2
DO LIMPA
@ 08,15 SAY "コ No.inicial.: コ"
@ 09,15 SAY "コ No.final...: コ"
@ 12,15 SAY "コ Nome do Arq: コ"
@ 13,15 SAY "コ Amostra....: コ"
@ 14,15 SAY "コ Cliente....: コ"
AMOST1 = 0
AMOST2 = 0
VARQ=SPACE(30)
OK="S"
@ 08,31 GET AMOST1 PICTURE "#####"
@ 09,31 GET AMOST2 PICTURE "#####"
READ
IF AMOST1=0
RETURN
ENDIF
IF OK="N"
RETURN
ENDIF
USE AMOSTRA
GO TOP
VARQ:="FOLIARDE"+LTRIM(STR(AMOST1))+"A"+LTRIM(STR(AMOST2)) +".XLS"
=====> ELE NAO TA CRIANDO POIS O NOME FICARIA ASSIM FOLIARDE20A50.XLS ESTA DANDO ACIMA DE 8 CARACTER O NOME DO ARQUIVO
@ 12,31 SAY VARQ
COL01=CHR(9)
SET PRINTER TO (VARQ)
SET DEVICE TO PRINT
VTIT:="Cliente"+COL03+;
"Cuidad"+COL03+;
"Ident.da amostra"+COL03+;
"Material"+COL01+;
"Amostra No."+COL01+;
@ 00,00 SAY VTIT
V_L=1
DO WHILE ! EOF()
IF NUMER_FOL < AMOST1 .OR. NUMER_FOL > AMOST2
SKIP
LOOP
ENDIF
VLINHA:=CLIEN_FOL+COL03+;
CIDAD_FOL+COL03+;
IDENT_FOL+COL03+;
MATER_FOL+COL03+;
LTRIM(STR(NUMER_FOL))+COL01+;
+COL01
SET DEVICE TO PRINT
@ PROW()+1,00 SAY VLINHA
SET DEVICE TO SCREEN
V_L+=1
@ 13,31 SAY NUMER_FOL
@ 14,31 SAY CLIEN_FOL
FOR X=1 TO 100000
NEXT
SKIP
ENDDO
SET PRINTER TO
SET DEVICE TO SCREEN
CLOSE ALL
SET COLOR TO &COR_ALERTA
@ 21,1 SAY 'Msg: O arquivo de amostra foi criado com sucesso para o excel. Press. [ENTER] '
SET COLOR TO &COR_NORMAL
ENTER()
RETURN
AGRADECO A AJUDA
TENHO UM ARQUIVO CHAMADO AMOSTRA.DBF COM 10.000 REGISTRO
E TENHO QUE DE VEZ EM QUANDO GERAR ALGUNS NOVOS ARQUIVOS TIPO DE 20 A 50 E DEPOIS DE 55 A 70 E ASSIM POR DIANTE E FIZ UMA ROTINA
TIPO ASSIM
*------------------TRANSFERENCIA DE ARQUIVOS PARA O EXCEL------------
PROCEDURE TRFF2
DO LIMPA
@ 08,15 SAY "コ No.inicial.: コ"
@ 09,15 SAY "コ No.final...: コ"
@ 12,15 SAY "コ Nome do Arq: コ"
@ 13,15 SAY "コ Amostra....: コ"
@ 14,15 SAY "コ Cliente....: コ"
AMOST1 = 0
AMOST2 = 0
VARQ=SPACE(30)
OK="S"
@ 08,31 GET AMOST1 PICTURE "#####"
@ 09,31 GET AMOST2 PICTURE "#####"
READ
IF AMOST1=0
RETURN
ENDIF
IF OK="N"
RETURN
ENDIF
USE AMOSTRA
GO TOP
VARQ:="FOLIARDE"+LTRIM(STR(AMOST1))+"A"+LTRIM(STR(AMOST2)) +".XLS"
=====> ELE NAO TA CRIANDO POIS O NOME FICARIA ASSIM FOLIARDE20A50.XLS ESTA DANDO ACIMA DE 8 CARACTER O NOME DO ARQUIVO
@ 12,31 SAY VARQ
COL01=CHR(9)
SET PRINTER TO (VARQ)
SET DEVICE TO PRINT
VTIT:="Cliente"+COL03+;
"Cuidad"+COL03+;
"Ident.da amostra"+COL03+;
"Material"+COL01+;
"Amostra No."+COL01+;
@ 00,00 SAY VTIT
V_L=1
DO WHILE ! EOF()
IF NUMER_FOL < AMOST1 .OR. NUMER_FOL > AMOST2
SKIP
LOOP
ENDIF
VLINHA:=CLIEN_FOL+COL03+;
CIDAD_FOL+COL03+;
IDENT_FOL+COL03+;
MATER_FOL+COL03+;
LTRIM(STR(NUMER_FOL))+COL01+;
+COL01
SET DEVICE TO PRINT
@ PROW()+1,00 SAY VLINHA
SET DEVICE TO SCREEN
V_L+=1
@ 13,31 SAY NUMER_FOL
@ 14,31 SAY CLIEN_FOL
FOR X=1 TO 100000
NEXT
SKIP
ENDDO
SET PRINTER TO
SET DEVICE TO SCREEN
CLOSE ALL
SET COLOR TO &COR_ALERTA
@ 21,1 SAY 'Msg: O arquivo de amostra foi criado com sucesso para o excel. Press. [ENTER] '
SET COLOR TO &COR_NORMAL
ENTER()
RETURN
AGRADECO A AJUDA