Página 1 de 1
Criar e copiar arquivo com mais de 8 caracteres
Enviado: 30 Dez 2010 10:22
por PITERGALDIANO
Bom dia pessoal!
Estou colocando meu software para emitir nota fiscal eletrônica através do UniNFe, porém preciso gerar um arquivo cujo o nome tem a seguinte estrutura:
000312_0001_001_29_12_2010-nfe.txt
e Logo após copiá-lo para a seguinte pasta:
C:\Unimake\UniNFe\00000000000001\Envio
Verifiquei no site sobre algum comando, função ou lib para criar esse arquivo com nome longo e achei na seção de downloads um executável chamado: NCTONL.EXE
Funciona certinho porém acho que ele tem alguma limitação na quantidade de caracteres quando eu informo o caminho. Por exemplo:
Se tento copiá-lo para o caminho: c:\Unimake\UniNFe, ele copia, porém se coloco o caminho completo: C:\Unimake\UniNFe\00000000000001\Envio
aí ele não copia.
Verifiquei também a lib LFN.LIB com o comando LF_FRENAME(), porém eu uso o clipper 5.3 e Blinker 7.0. Ele compilou certinho, porém quando foi executar o comando LF_FRENAME() ocorreu um erro que acredito ser devido a LFN.LIB não trabalhar em modo protegido.
bom... é isso pessoal... preciso criar e copiar esse arquivo para essa pasta. Alguém tem alguma solução?
Obrigado.
Re: Criar e copiar arquivo com mais de 8 caracteres
Enviado: 30 Dez 2010 11:33
por ANDRIL
Olá PITERGALDIANO,
Fiz o teste com o NcTONl.exe e funcionou corretamente. Veja como fiz:
nctonl "C" "c:\teste\teste.prg" "c:\teste\pastatestedenomecomtamanhomuintolongo\
subpastatestedenomecomtamanhomuintolongo\outrasubpastatestedenomecomtamanhomuintolongo\teste.prg" "ret.txt"
Note que no parâmetro de destino tem que informar o arquivo de destino e não só o caminho.
Importante: todos os 4 parâmetros tem que ser passados, inclusive o arquivo de retorno de informações.
Verifique também se nos caminhos indicados não tem algum com nome errado, exemplo faltando uma letra.
Boa Sorte!
Criar e copiar arquivo com mais de 8 caracteres
Enviado: 28 Out 2011 16:23
por Mário Isa
vc sabe me dizer onde eu posso fazer download do nctonl.exe
e se ele é capaz de:
viewtopic.php?f=4&t=12489
Mário
Criar e copiar arquivo com mais de 8 caracteres
Enviado: 28 Out 2011 16:27
por Mário Isa
eu já achei / já fiz o download /e já vi q ele ñ faz o q preciso //
Alguem sabe ?
Obrigado
Criar e copiar arquivo com mais de 8 caracteres
Enviado: 02 Nov 2011 15:20
por lucimauro
Mariao voce pode usar a lib LFN que é bem facil.
Criar e copiar arquivo com mais de 8 caracteres
Enviado: 02 Nov 2011 19:29
por Mário Isa
eu tentei \ mas deu .LIB corrompida \ pq uso o xHarbour \
eu me virei com funções do DOS mesmo.
Obrigado
Criar e copiar arquivo com mais de 8 caracteres
Enviado: 02 Nov 2011 19:30
por Pablo César
Mario ja leu este tópico, precisamente a minha mensagem:
https://pctoledo.org/forum/viewto ... LFN#p52226. Espero que sirva. Não sabia que você precisava disto para aplicações em Clipper.
Criar e copiar arquivo com mais de 8 caracteres
Enviado: 02 Nov 2011 19:34
por Pablo César
Mário Isa escreveu:eu me virei com funções do DOS mesmo.
Engraçado, aplicativos feito em Clipper auxiliando aplicativo feito [x]Harbour... rs não é engraçado ? rsrsrs. Mas com certeza tem uma solução em Harbour ou xHabour com acesso ao Kernel como eu tinha indicado na seção do Harbour
aqui. Só não tive mais tempo e vontade de aprofundar-me mais sobre isso. Eu ja gastei uma manhã toda e não tinha conseguido...
Criar e copiar arquivo com mais de 8 caracteres
Enviado: 08 Nov 2011 22:23
por Gilberto M Silva
Olá Pessoal,
Como faço para copiar um arquivo de nome: Ato_MFD_data.txt de uma pasta para outra com o mesmo nome.
ex: esse arquivo é gerado na raiz c:\, eu tenho que copiar ele para a pasta c:\sistemas\ce, só que se eu usar o comando
Run Copy c:\Ato_MFD_data.txt c:\sistemas\ce
ele copia mais com o nome: Ato_MF~1.txt
Criar e copiar arquivo com mais de 8 caracteres
Enviado: 08 Nov 2011 23:09
por Pablo César
Gilberto, se a sua questão é para Clipper, você poderia utilizar a biblioteca LFN e usar a função LF_FCOPY().
LF_Fcopy( <pasta_e_nome_arquivo>, <nova_pasta_e_nome_arquivo>)
Agora se for em Harbour é só utilizar a função:
COPY FILE(<pasta_e_nome_arquivo>) TO (<NOVA_pasta_e_nome_arquivo>)
Criar e copiar arquivo com mais de 8 caracteres
Enviado: 09 Nov 2011 13:07
por Gilberto M Silva
Pablo, como seria usada essa função no código, :
LF_Fcopy( <pasta_e_nome_arquivo>, <nova_pasta_e_nome_arquivo>)
estou passando assim, mais não está respondendo, não copia, retorna sem fazer nada.
LF_Fcopy('C:\ATO_MFD_DATA.TXT,C:\SISTEMAS\CE\ATO_MFD_DATA.TXT')
Criar e copiar arquivo com mais de 8 caracteres
Enviado: 09 Nov 2011 13:14
por Pablo César
estou passando assim, mais não está respondendo, não copia, retorna sem fazer nada.
LF_Fcopy('C:\ATO_MFD_DATA.TXT,C:\SISTEMAS\CE\ATO_MFD_DATA.TXT')
Oi Gilberto, veja que a função são dois parâmetros que aceita como mínimo, essa função também recebe mais dois parâmetros <nBuffSize> e <l7143Supp> no entanto são opcionais, veja o que o NG diz:
<nBuffSize> is the desired read/write buffer size (optional) in kilobytes. Valid buffer sizes are 1, 2, 4, 8, 16 and 32. The default is 16 KB.
<l7143Supp> is an optional flag which tells LF_Fcopy() whether DOS function 7143h is supported or not on the destination drive, .T. if supported and .F. if not supported. DOS function 7143h is used for transferring the file date/time/attributes from the source file to the destination file and must at least be supported on the destination
drive (or more specifically at the destination path since the drive root of the destination path may not be accessible). See below for details! If <l7143Supp> is not passed, LF_Fcopy() will check the destination path using LF_7143Supp() and decide for itself.
E você está passando apenas um parâmetro ao colocar uma aspa no inicio e outra no final o que torna apenas um parâmetro. Mude para:
LF_Fcopy('C:\ATO_MFD_DATA.TXT','C:\SISTEMAS\CE\ATO_MFD_DATA.TXT')