Amigos... resolvi alguns problemas com relaçao ao nome longo em arquivo TXT,em relacao ao "quadradinho" que aparecia no inicio... mas agora tenho outro problema...
Eu gravo na pasta do meu sistema um arquivo com o nome de DAT.TXT depois disso eu uso a funcao LF_Raname()
para copia-lo para outra pasta e para renomea-lo com um nome longo ( DAT0190910920.txt ),o que esta acontecendo é que quando eu plugo meu notebook na rede da loja o processo acontece direitinho, mas quando eu uso as maquinas do meu cliente este processo nao acontece... o software atécria o DAT.TXT porem ele fica aberto... qdo tento abri-lo com o WordPar ou NotePad da uma mensagem que o arquivo esta sendo usado por outro aplicativo e por isso acho que nao esta copiando para outra pasta e nem renomeando...
Notem.. do meu notebook para o servidor acontece tudo normal, renomeia e copia para a outra pasta sem problemas, mas das estacoes que estao na loja nao, da a mensagem de arquivo usado por outro aplicativo...
Alguma idéia??? ja estou aqui um dia todo e nada!!!
espero resolver amanha pela manha...
ainda tenho mais 4 clientes pra atender antes de sábado...
Obrigado a todos
Everton
Arquivo TXT fica aberto
Moderador: Moderadores
- alaminojunior
- Colaborador

- Mensagens: 1717
- Registrado em: 16 Dez 2005 21:26
- Localização: Ubatuba - SP
Re: Arquivo TXT fica aberto
Boa noite,
desculpe a pergunta cretina....mas já tentou o óbvio ? Force um Fclose(), quem sabe ...
Outra coisa sería verificar o cache de disco das máquinas. Pode ser que ele esteja habilitado e esteja causando este "atraso".
E também não está descartada a hipótese do setor onde foi gravado o arquivo estar corrompido.
desculpe a pergunta cretina....mas já tentou o óbvio ? Force um Fclose(), quem sabe ...
Outra coisa sería verificar o cache de disco das máquinas. Pode ser que ele esteja habilitado e esteja causando este "atraso".
E também não está descartada a hipótese do setor onde foi gravado o arquivo estar corrompido.
Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
MySQL c/ SQLRDD
HwGui + GTWVG
Re: Arquivo TXT fica aberto
Se vc esta usando:
Set Alternate to <arquivo.txt>
Set Alternate on
Deve colocar no final:
Set Alternate off
Set Alternate to
Se esta usando:
set printer to <arquivo.txt>
Deve colocar:
set printer to
Se esta usando:
fopen
Deve colocar:
fclose
Faça um teste. Crie o arquivo aonde esta dando problema e feche a aplicação. Tente renomear o arquivo texto gerado.
Set Alternate to <arquivo.txt>
Set Alternate on
Deve colocar no final:
Set Alternate off
Set Alternate to
Se esta usando:
set printer to <arquivo.txt>
Deve colocar:
set printer to
Se esta usando:
fopen
Deve colocar:
fclose
Faça um teste. Crie o arquivo aonde esta dando problema e feche a aplicação. Tente renomear o arquivo texto gerado.
"TRS-80/Sincler/Apple/PC - Clipper Winter 85, tlink 1.0 [pc 10 MHz - 640K] {NEZ 8000 2Kb RAM}"
{POG - Programação Orientada a Gambiarra}
{POG - Programação Orientada a Gambiarra}
Re: Arquivo TXT fica aberto
Obrigado pelas dicas, dei uma olhada no NG da FLNlib e encontrei alguma coisa sobre um erro 7143, dizendo que alguns sistemas operacionais nao permitem que a funcao para nomes longos funcione perfeitamente... meu ingles não é lá essas coisas,mas deu pra entender que esse problema existe... se alguem souber como soluciona-lo gostaria muito de saber a soluçao pra tal problema. hehehe. Seque meu código
Código: Selecionar todos
Set device to printer
set printer to DAV.PED
*
setprc(0,0)
*
nLinha := 0
*
@ 00,00 say "0"
@ 00,01 say DAVClie
@ 00,06 say DAVProm
@ 00,08 say DAVInte
@ 00,18 say "DAV"+DAVInte
@ 00,66 say DAVEntr
@ 00,75 say ValDesc
@ 00,84 say ValAcre
@ 00,93 say strzero( day( date() ), 2, 0 )
@ 00,95 say strzero( month( date() ), 2, 0 )
@ 00,97 say strzero( Year( date() ), 4, 0 )
@ 00,101 say "ORCAMENTO"
@ 00,199 say "X"
*
__nTamVet := Len( _aVetDetCom )
*
for __nI := 1 to __nTamVet
*
nLinha ++
*
DAVqtde1 := left( strzero( _aVetDetCom[ __nI, 3 ], 8, 3 ), 4 ) + right( strzero( _aVetDetCom[ __nI, 3 ], 8, 3 ), 3 )
*
DAValUni :=left( strzero( (_aVetDetCom[ __nI, 6 ]/_aVetDetCom[ __nI, 3 ]), 9, 3 ), 5 ) + right( strzero( (_aVetDetCom[ __nI, 6 ]/_aVetDetCom[ __nI, 3 ]), 8, 3 ), 3 )
*
@ nLinha,0 say "1"
@ nLinha,1 say _aVetDetCom[ __nI, 2 ]
@ nLInha,8 say DAVQtde1
@ nLinha,15 say "0001000"
@ nLinha,22 say DAValUni
@ nLinha,69 say "X"
*
next
nLinha ++
@ nLinha,00 say "9"
*
ArqOriginal := "DAV.PED"
*
LF_FRename( ArqOriginal, ( _cPathServ + "\P"+ DAVInte +".PED" ) )
fclose(ArqOriginal)
delete file( ArqOriginal )
*
set device to screen
- alaminojunior
- Colaborador

- Mensagens: 1717
- Registrado em: 16 Dez 2005 21:26
- Localização: Ubatuba - SP
Re: Arquivo TXT fica aberto
Perfeito , você está tentando renomear o arquivo que praticamente ainda não existe. Não foi fechado.
...
next
nLinha ++
@ nLinha,00 say "9"
*
*
SET PRINTER TO
SET DEVICE TO SCREEN
ArqOriginal := "DAV.PED"
LF_FRename( ArqOriginal, ( _cPathServ + "\P"+ DAVInte +".PED" ) )
fclose(ArqOriginal) // ESTE AQUI TALVEZ NÃO PRECISE, HAJA VISTA NÃO FOI ABERTO POR FOPEN()
delete file( ArqOriginal )
Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
MySQL c/ SQLRDD
HwGui + GTWVG
Re: Arquivo TXT fica aberto
resolvi tirar fora ( mesmo porque nao preciso mais ) a lib de nome extenso
agora to usando a FRename() porem nao consigo gravar o arquivo novo no path novo...
to tentando fazer assim fRename( ArqVelho, "c:\teste\"+ ArqNovo ) nao deu... qual a sintaxe correta???
Obrigado!
agora to usando a FRename() porem nao consigo gravar o arquivo novo no path novo...
to tentando fazer assim fRename( ArqVelho, "c:\teste\"+ ArqNovo ) nao deu... qual a sintaxe correta???
Obrigado!
- alaminojunior
- Colaborador

- Mensagens: 1717
- Registrado em: 16 Dez 2005 21:26
- Localização: Ubatuba - SP
Re: Arquivo TXT fica aberto
A sintaxe sería:
Lembrando que o arquivo precisa estar fechado.
Código: Selecionar todos
FRename("c:\arquivos\arquivo.txt","c:\arquivos\arquivo1.txt")Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
MySQL c/ SQLRDD
HwGui + GTWVG
