Hola ![]()
Me pasa que tengo que rellenar un fichero con texto. Creo el fichero correctamente, pero no se escribe nada. Paso un trozo de lo que hago con un ejemplo simplificado:
static function CrearFichero()
Local lLinea := ""
// Creo el nombre del fichero. Tiene 21 caracteres + la extensi贸n .txt
oVar:cFichero := "COLE"+;
"61420"+;
Alltrim(Str(Year(Date())))+;
Right("00"+Alltrim(Str(month(Date()))),2)+;
Right("00"+Alltrim(Str(Day(Date()))),2)+;
SubStr(Time(),1,2)+;
SubStr(Time(),4,2)+;
"IPLIQF"+;
".txt"
/ Si existe un fichero con el mismo nombre, elimino el previo.
if file(oVar:cFichero)
DELETE FILE (oVar:cFichero)
MsgInfo("Fichero borrado")
endif
// Creo el fichero. Lo hace correctamente
if oVar:cHFichero := FCreate(oVar:cFichero, 0) == -1
MsgAlert("No se ha podido crear el fichero de exportaci贸n: "+oVar:cFichero)
return .T.
endif
// Texto a introducir en el fichero.
llinea := "HOLA"
// Escribo en el fichero.
FWrite(oVar:cHFichero, llinea)
// Cierro el fichero
FClose(oVar:cHFichero)
* Al final de la funci贸n tengo un mensaje para indicar si ha terminado. Aparece el mensaje pero ni ha escrito nada ni ha hecho nada con el fichero (tambi茅n tengo puesto que lo copie a otro directorio)
Mientras est谩 la aplicaci贸n funcionando, si intento abrir el fichero, Windows me avisa de que el fichero est谩 siendo usado.
La verdad es que es un poco extra帽o pues en la versi贸n 16 bits del programa (FW+Clipper) lo hace todo perfectamente.
Saludos ![]()