Clipper On Line • Ver Tópico - Erro no fcreate com harbour ??

Erro no fcreate com harbour ??

Projeto Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

 

Erro no fcreate com harbour ??

Mensagempor Nascimento » 25 Mai 2014 13:00

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

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
A arte de programar é simplesmente fazer seus pensamentos serem interpretados por uma maquina :) clipper 5.3 /harbour/minigui
Avatar de usuário

Nascimento
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 711
Data de registro: 19 Jul 2008 12:11
Cidade/Estado: OLINDA-PE
Curtiu: 110 vezes
Mens.Curtidas: 76 vezes

Erro no fcreate com harbour ??

Mensagempor rochinha » 25 Mai 2014 13:30

Amiguinho,

Voce Comecou a criar o arquivo e não fechou, ele ainda não existe. FOpen() só funciona em arquivos fechados.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para fivolution@hotmail.com. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar de usuário

rochinha
Membro Master

Membro Master
 
Mensagens: 4545
Data de registro: 18 Ago 2003 20:43
Cidade/Estado: São Paulo - Brasil
Curtiu: 806 vezes
Mens.Curtidas: 245 vezes

Erro no fcreate com harbour ??

Mensagempor Nascimento » 25 Mai 2014 13:46

Muito obrigado meu caro amigo Rochinha pois esse pequeno e importantissimo detalhe havia passado
despercebido acho que porque no clipper funcionou normalmente
codigo resolvido

:)
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
A arte de programar é simplesmente fazer seus pensamentos serem interpretados por uma maquina :) clipper 5.3 /harbour/minigui
Avatar de usuário

Nascimento
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 711
Data de registro: 19 Jul 2008 12:11
Cidade/Estado: OLINDA-PE
Curtiu: 110 vezes
Mens.Curtidas: 76 vezes

Erro no fcreate com harbour ??

Mensagempor Toledo » 25 Mai 2014 17:47

Amigos, resumindo:

Procure por:
       C_arqui:=fcreate("TESTE.TXT", 0)
    fclose(C_arqui)
       txt_file:= fopen("TESTE.TXT",1)


e troque por:
       txt_file:=fcreate("TESTE.TXT", 0)


Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Avatar de usuário

Toledo
Administrador

Administrador
 
Mensagens: 3038
Data de registro: 22 Jul 2003 18:39
Cidade/Estado: Araçatuba - SP
Curtiu: 263 vezes
Mens.Curtidas: 258 vezes

Erro no fcreate com harbour ??

Mensagempor asimoes » 26 Mai 2014 07:52

Com tratamento de erro.

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
â–ºHarbour 3.x | Minigui xx-x | HwGuiâ—„
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

Erro no fcreate com harbour ??

Mensagempor GilmarDalantonia » 23 Jun 2017 19:46

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
GilmarDalantonia
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 44
Data de registro: 11 Dez 2014 15:42
Cidade/Estado: Adamantina/SP
Curtiu: 2 vezes
Mens.Curtidas: 0 vez

Erro no fcreate com harbour ??

Mensagempor Toledo » 23 Jun 2017 21:23

Olá Gilmar, você tem certeza que está fechando o arquivo aberto com o FOPEN()? Verifique se está fechando o arquivo com FCLOSE().

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Avatar de usuário

Toledo
Administrador

Administrador
 
Mensagens: 3038
Data de registro: 22 Jul 2003 18:39
Cidade/Estado: Araçatuba - SP
Curtiu: 263 vezes
Mens.Curtidas: 258 vezes

Erro no fcreate com harbour ??

Mensagempor rubens » 23 Jun 2017 22:07

Tente também usar a função deletefile()...
Tive um problema parecido e só consegui apagar alguns arquivos com esta função;;;
"Eu e minha casa servimos ao Senhor e você ???"
Avatar de usuário

rubens
Colaborador

Colaborador
 
Mensagens: 1518
Data de registro: 16 Ago 2003 09:05
Cidade/Estado: Nova Xavantina - MT
Curtiu: 77 vezes
Mens.Curtidas: 104 vezes

Erro no fcreate com harbour ??

Mensagempor JoséQuintas » 24 Jun 2017 01:03

Com tratamento de erro.


Pra que complicar? Apesar que nem isso eu usaria.

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
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18118
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Erro no fcreate com harbour ??

Mensagempor asimoes » 24 Jun 2017 07:21

Lá vem o MAGO DO HARBOUR SR. QUINTAS, AFF
â–ºHarbour 3.x | Minigui xx-x | HwGuiâ—„
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

Erro no fcreate com harbour ??

Mensagempor JoséQuintas » 24 Jun 2017 08:50

Isso pode esconder outros erros.
Um exemplo de esconder erros.

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
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18118
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Erro no fcreate com harbour ??

Mensagempor GilmarDalantonia » 24 Jun 2017 08:55

Bom dia... consegui corrigir com o deletefile(), valeu Rubens, toledo, Zé... tb acertei meu código com o seu exemplo Zé... obrigado a todos...
GilmarDalantonia
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 44
Data de registro: 11 Dez 2014 15:42
Cidade/Estado: Adamantina/SP
Curtiu: 2 vezes
Mens.Curtidas: 0 vez

Erro no fcreate com harbour ??

Mensagempor JoséQuintas » 24 Jun 2017 09:32

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.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18118
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes




Retornar para Harbour

Quem está online

Usuários vendo este fórum: Google Adsense [Bot], malcarli e 4 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro