FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Fichero de texto creado queda oculto
Posts: 118
Joined: Fri Dec 20, 2013 10:39 AM
Fichero de texto creado queda oculto
Posted: Tue Feb 11, 2014 02:19 AM
Hola. Tengo una función para escribir dentro de un txt unos datos y tengo el problema de que se queda oculto. El fichero se crea y el contenido se introduce perfecto, pero queda oculto, con el atributo oculto:

Code (fw): Select all Collapse
        local cFile:=cGetFile32( "fichero_datos.txt","Seleccione un nombre para el fichero ...",,".", .t., [nFlags] )   
        local nHandle := fcreate( cFile, FO_READWRITE + FO_EXCLUSIVE )
        local nError  := ferror()
        
        if nError != 0
           qout( "No es posible crear fichero" )
        else
           a := array(12)
           for n=1 to 12
               a[n] := str(n)
           next
           OutFile(nHandle, a)
           fclose(nHandle)
           qout( cFile +" creado con exito con "+CRLF+alltrim(str(hb_FSize(cFile)))+" bytes escritos"
        endif


He revisado los flags de fcreate pero no se por donde tirar. Por supuesto hb_FSize(cFile) devuelve cero al estar oculto. ¿Veis algo raro?

Gracias de antemano. Un saludo.
Windows 10 + FWH 20.08 + BCC 7.4 + Harbour 3.2.0 + PSPad 5.0.3
Posts: 682
Joined: Tue Feb 14, 2006 09:48 AM
Re: Fichero de texto creado queda oculto
Posted: Tue Feb 11, 2014 07:57 AM
Estas usando FO_READWRITE + FO_EXCUSIVE que son parametros del fOpen para identificar el modo de apertura.
En teoria si cambias el fCreate actual por algo parecido a esto, deberia crearte un fichero normal.
Code (fw): Select all Collapse
local nHandle := fcreate( cFile, FC_NORMAL )


FC_NORMAL 0 Normal Creates a normal read/write file
FC_READONLY 1 Read-only Creates a read-only file
FC_HIDDEN 2 Hidden Creates a hidden file
FC_SYSTEM 4 System Creates a system file

fCreate crea el fichero, y lo deja abierto en modo escritura/lectura compartido. Para variar el modo de apertura, deberas cerrar con fClose, y volver a abrirlo con fOpen + los parametros deseados (en este caso si podrás poner FO_EXCLUSIVE).
Saludos desde Mallorca
Biel Maimó
http://bielsys.blogspot.com/

Continue the discussion