CRIAR ARQUIVO COM NOME LONGO

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Rubens Tulio
Usuário Nível 1
Usuário Nível 1
Mensagens: 4
Registrado em: 24 Ago 2005 16:54

CRIAR ARQUIVO COM NOME LONGO

Mensagem por Rubens Tulio »

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
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Mensagem por rochinha »

Amiguinho

Neste pagina voce encontra bibliotecas e informações sobre este assunto

Veja em http://www.engwall.com/clipper/lfnlib.htm

@braços :?)
aldus
Usuário Nível 1
Usuário Nível 1
Mensagens: 11
Registrado em: 20 Jul 2004 09:24

Mensagem por aldus »

Olá Rubens, a forma mais fácil é você gerar o arquivo com nome pequeno (de até 8 caracteres) e depois copiá-lo para o nome desejado.

Assim:

Código: Selecionar todos

VARQ:="FOLIARDE"+LTRIM(STR(AMOST1))+"A"+LTRIM(STR(AMOST2)) +".XLS" 

!Copy ARQUIVO.TXT &vArq /y

fErase('ARQUIVO.TXT')

Espero ajudá-lo.

Mario
Rubens Tulio
Usuário Nível 1
Usuário Nível 1
Mensagens: 4
Registrado em: 24 Ago 2005 16:54

Mensagem por Rubens Tulio »

CARO COLEGA NAO DEU CERTO

O QUE SIGNIFICA O /Y POIS DA ERRO

AGRADECO A SUA ATENCAO VOCE SABE USAR O LNF COMO COMPILO

rubenstulio@hotmail.com
Avatar do usuário
Clipper
Colaborador
Colaborador
Mensagens: 1334
Registrado em: 23 Ago 2004 00:04
Localização: Recife/PE

Mensagem por Clipper »

Prezado Colega

http://geocities.yahoo.com.br/mmendeso/lfn.zip
http://geocities.yahoo.com.br/mmendeso/lfteste2.zip

No arquivo LFN.ZIP já vai a LFNLIB e a NANFORUM além de programa exemplo que eu fiz, no LFTESTE2.ZIP está outros exemplos de uso da LFN feitos por mim.

O que você precisa está no programa LFTESTE.PRG que está dentro de LFN.ZIP, nele mostra como renomear um arquivo para um nome longo.

Até logo.

Marcelo
Programador que é programador, quando tá de folga vai inventar função nova, fazer testes, ou seja... se divertir
Cobra 210 - Drive de 8" 1.024 KB - 64 KB RAM - Impressora de Linha Cobra - Visicalc - Fortran - Dialog - Sistema Operacional SP/M (é sp/m mesmo - era o cp/m da cobra)
Responder