Página 1 de 1

COPIAR ARQUIVO DE DENTRO DO PROGRAMA NO WINDOWS XP

Enviado: 13 Abr 2005 16:35
por Darc
Estou usando a seguinte linha para copiar um arquivo de um diretório para outro:

/* obtem nome do arquivo */
nome_arq := 'RETORNOCEF' + STRZERO(arq_seq, 4) + '.RET'

/* copia arquivo */
SWPRUNCMD("COPY C:\CAIXA\COBCAIXA\RETORNO\&nome_arq C:\SACDARC\DBF\BOLETAS.TXT > NULL",0, "", "")

Aparece a mensagem de caminho não encontrado, e só no Windows XP, no Winodws 98 funciona normalmente. Já tentei usar o COPY FILE e RUN mas também não funcionou. Alguém pode me ajudar?

Enviado: 19 Abr 2005 09:04
por rochinha
Amiguinho

Use o comando interno do Clipper:

__CopyFile( Origem, Destino )

Assim:

__CopyFile( "C:\CAIXA\COBCAIXA\RETORNO\&nome_arq", "C:\SACDARC\DBF\BOLETAS.TXT" )

@braços :?)

Enviado: 19 Abr 2005 10:58
por Darc
Rochinha, coloquei a linha que você enviou, mas não funcionou, aparece a seguinte mensagem:

BLINKER 1115: SAC270.OBJ(SACP270): ´COPYFILE´ : UNRESOLVED EXTERN

Você sabe como posso resolver, uso o clipper 5.2e.

Abraços.

Enviado: 19 Abr 2005 11:20
por rochinha
Amiguinho

Antes do CopyFile existem dois Underlines

@braços :?)

Enviado: 20 Abr 2005 08:55
por Darc
Rochinha, agora compilou, pórem quando executo o sistema da o seguinte erro de execução:

ERROR BASE/2010 ARGUMENT ERROR: __COPYFILE

Você sabe porque?

Abraços.

Enviado: 20 Abr 2005 09:22
por rochinha
Amiguinho

Coloque então:

COPY FILE "C:\CAIXA\COBCAIXA\RETORNO\&nome_arq" TO "C:\SACDARC\DBF\BOLETAS.TXT"

Este comando irá processar a função de baixo nivel corretamente, pois a função __CopyFile() faz parte do Clipper.

@braços :?)

Enviado: 20 Abr 2005 10:14
por Clipper
Ele já tentou usar o COPY FILE mas não funcionou...

Eu acabei de testar o comando COPY FILE aqui no meu XP e funcionou perfeitamente.

Não sei qual é problema do colega, mas com certeza não é o COPY FILE.

Até logo.

Marcelo

Enviado: 20 Abr 2005 10:17
por Clipper
Após prestar mais atenção na forma de uso do colega percebi que ele está usando um nome de arquivo diferente do padrão 8+3 e é por isso que o comando não está funcionando, para poder utilizar nome de arquivo diferente do padrão (8+3) você deverá usar a LFN LIB, se precisar eu tenho ela.

Até logo.

Marcelo

Enviado: 20 Abr 2005 14:34
por Darc
Marcelo, será você pode mandar para mim a LFN LIB?

Desde já agradeço.
Darc

Enviado: 20 Abr 2005 15:14
por Clipper
Pegue abaixo as libs e o programa de exemplo que eu fiz :

www.zitinformatica.com/clipper/lfnlib.zip
www.zitinformatica.com/clipper/nflib305.zip
www.zitinformatica.com/clipper/testelfn.zip

A LFNLIB precisa da NANFORUM por isso botei as duas.

Junto com a LFNLIB está indo o NG dela para que você possa conhecer todos as funções, são muito boas para quem usa nomes no formato maior que 8+3, a função que você precisa e está presente na LFN é a LF_FCOPY()

Até logo.

Marcelo

Enviado: 27 Abr 2005 01:54
por rochinha
Amiguinho

A solução para o seu problema foi colocado neste tópico

https://pctoledo.org/forum/viewto ... =7451#7451

@braços :?)

Enviado: 27 Abr 2005 09:09
por Clipper
Prezado Rochinha

Me desculpe mas não resolve não...

Fiz o teste com a LIB CTP52 (que me parece ser a Clipper Tools nornal) e não renomeia corretamente o arquivo, também fiz o teste para exclusão e também não funcionou, como ocorreu em testes anteriores com a Clipper Tools essa também não funcionou, em nomes de arquivo no padrão 8+3 funciona perfeitamente, porém em nomes longos acho que só mesmo com o uso da LFN Lib.

Até logo.

Marcelo

Enviado: 27 Abr 2005 10:59
por rochinha
Amiguinho

Mas voce conseguiu solucionar?

Qual foi a .LIB que usou ou o método.

Desta forma não ficamos tentando resolver algo que já foi resolvido.

@braços :?)