Página 1 de 1
Erro no fcreate com harbour ??
Enviado: 25 Mai 2014 13:00
por Nascimento
Amigos tive uma surpresa em uma pequena funçao minha
em clipper ela compila e funciona como deve
fui compilar para harbour e ês a surpresa nao funciona corretamente
vou postar um exemplo pra melhor entendimento
Código: Selecionar todos
procedure Main()
fcreate("TESTE.TXT", 0) // CRIA O ARQUIVO
txt_file:= fopen("TESTE.TXT",1) // ABRE O ARQUIVO PARA ESCRITA
if (!(ferror() = 0))
? "Erro de criacao do arquivo TESTE.TXT ::> " + Str(ferror(), 3, 0) // EXIBE CODIGO DE ERRO CASO AJA NO CASO TA DANDO ERRO 32
quit // DETALHE SO NO HARBOUR 3.2 COM MINGW NO CLIPPER FUNCIONA CORRETAMENTE
endif
fwrite(txt_file, "teste de escrever") // ESCREVE O CONTEUDO NO ARQUIVO
fclose(txt_file) // FECHA O ARQUIVO
agradeço a todos que poderem me ajudar
att: Josivan Nascimento
Erro no fcreate com harbour ??
Enviado: 25 Mai 2014 13:30
por rochinha
Amiguinho,
Voce Comecou a criar o arquivo e não fechou, ele ainda não existe. FOpen() só funciona em arquivos fechados.
Erro no fcreate com harbour ??
Enviado: 25 Mai 2014 13:46
por Nascimento
Muito obrigado meu caro amigo Rochinha pois esse pequeno e importantissimo detalhe havia passado
despercebido acho que porque no clipper funcionou normalmente
codigo resolvido
Código: Selecionar todos
Func main()
C_arqui:=fcreate("TESTE.TXT", 0)
fclose(C_arqui)
txt_file:= fopen("TESTE.TXT",1)
if (!(ferror() = 0))
? "Erro de criacao do arquivo TESTE.TXT ::> " + ;
Str(ferror(), 3, 0)
quit
endif
fwrite(txt_file, "teste de escrever")
fclose(txt_file)
:-Y
Erro no fcreate com harbour ??
Enviado: 25 Mai 2014 17:47
por Toledo
Amigos, resumindo:
Procure por:
Código: Selecionar todos
C_arqui:=fcreate("TESTE.TXT", 0)
fclose(C_arqui)
txt_file:= fopen("TESTE.TXT",1)
e troque por:
Abraços,
Erro no fcreate com harbour ??
Enviado: 26 Mai 2014 07:52
por asimoes
Com tratamento de erro.
Código: Selecionar todos
cErro:="Erro."
TRY
nErrHandle:=FCreate("TESTE.TXT")
IF FError() <> 0
cErro:="Erro criando arquivo."
BREAK
ENDIF
FWrite(nErrHandle,"Escreve alguma coisa"+HB_EOL())
IF ! FClose( nFileHandle )
cErro:="Erro fechando arquivo."
BREAK
ENDIF
CATCH
Alert(cErro)
END
Erro no fcreate com harbour ??
Enviado: 23 Jun 2017 19:46
por GilmarDalantonia
boa noite... sei q o topico é antigo... mas estou com um problema parecido... não consigo apagar o arquivo txt, mesmo fechando ele com o fclose... na versão em clipper não tive esse problema... mas na versão em harbour, parede q o arquivo fica protegido... se alguem poder me ajudar eu agradeço muito... estou me referindo ao arquivo sainfe.txt gerado pelo acbrmonitoplus... assim q leio seu conteudo, ele fica com atributo de somente leitura... só muda quando fecho o sistema
Erro no fcreate com harbour ??
Enviado: 23 Jun 2017 21:23
por Toledo
Olá Gilmar, você tem certeza que está fechando o arquivo aberto com o FOPEN()? Verifique se está fechando o arquivo com FCLOSE().
Abraços,
Erro no fcreate com harbour ??
Enviado: 23 Jun 2017 22:07
por rubens
Tente também usar a função deletefile()...
Tive um problema parecido e só consegui apagar alguns arquivos com esta função;;;
Erro no fcreate com harbour ??
Enviado: 24 Jun 2017 01:03
por JoséQuintas
Com tratamento de erro.
Pra que complicar? Apesar que nem isso eu usaria.
Código: Selecionar todos
nErrHandle := FCreate("TESTE.TXT")
IF FError() <> 0
Alert( "Erro criando arquivo." )
ELSE
FWrite(nErrHandle,"Escreve alguma coisa"+HB_EOL())
IF ! FClose( nFileHandle )
Alert( "Erro fechando arquivo." )
ENDIF
ENDIF
Erro no fcreate com harbour ??
Enviado: 24 Jun 2017 07:21
por asimoes
Lá vem o MAGO DO HARBOUR SR. QUINTAS, AFF
Erro no fcreate com harbour ??
Enviado: 24 Jun 2017 08:50
por JoséQuintas
Isso pode esconder outros erros.
Um exemplo de esconder erros.
Código: Selecionar todos
cErro:="Erro."
TRY
nErrHandle := FCreate( 5 )
IF FError() <> 0
cErro:="Erro criando arquivo." + 3
BREAK
ENDIF
FWrite(cErro,"Escreve alguma coisa" + 3 )
IF ! FClose( cErro )
cErro:="Erro fechando arquivo."
BREAK
ENDIF
CATCH
Alert(cErro)
END
Erro no fcreate com harbour ??
Enviado: 24 Jun 2017 08:55
por GilmarDalantonia
Bom dia... consegui corrigir com o deletefile(), valeu Rubens, toledo, Zé... tb acertei meu código com o seu exemplo Zé... obrigado a todos...
Erro no fcreate com harbour ??
Enviado: 24 Jun 2017 09:32
por JoséQuintas
Zé... tb acertei meu código com o seu exemplo Zé
Só pra constar: O exemplo foi do A Simões, eu apenas retirei a parte do TRY/CATCH.