Tengo una función creada para crear ficheros temporales en la carpeta
Temporal de Windows o en una ruta que le mande por parámetro...
Function xFileTemp( cExt, cRuta )
local n, cFileTemp
DEFAULT cExt to ""
For n:=1 to 9999
cFileTemp := If( cRuta = Nil, GetTempDirectoryLong(), cRuta ) +;
"Temp" + StrZero( n, 4 ) + cExt
If !File( cFileTemp )
Exit
EndIf
Next
Return cFileTemp
Bien, pues resulta que en Vista no funciona correctamente File() cuando un
fichero está alojado en la carpeta GetTempDirectoryLong().
Si tengo un fichero "Temp0001.txt" creado en la carpeta Temporal de Windows
"C:UsersXeviAppDataLocalTemp", cuando compruebo si existe el fichero
File( GetTempDirectoryLong() + "Temp0001.txt" ) de vuelve .F. en Vista.
Lo he comprobado con otros nombres de ficheros que tengo en la carpeta
Temporal, y ningún nombre que realmente existe en la carpeta es detectable
por File()
En otras versiones de Windows funciona correctamente.
Un Saludo,
Xevi.
In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
File( GetTempDirectoryLong() + cFile ) en Vista
- ignacio
- Site Admin
- Mensajes: 9459
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
File( GetTempDirectoryLong() + cFile ) en Vista
Xevi,
Pudiera ser un error de la función File() de xHarbour, o sencillamente que
Vista está haciendo de las suyas en ese directorio. Te recomiendo que
utilices la función GetTempFilename
Saludos
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"Xevi" <xevicomas@gmail.com> escribió en el mensaje
news:4753b701$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
> Tengo una función creada para crear ficheros temporales en la carpeta
> Temporal de Windows o en una ruta que le mande por parámetro...
>
> Function xFileTemp( cExt, cRuta )
> local n, cFileTemp
>
> DEFAULT cExt to ""
>
> For n:=1 to 9999
> cFileTemp := If( cRuta = Nil, GetTempDirectoryLong(), cRuta ) +;
> "Temp" + StrZero( n, 4 ) + cExt
> If !File( cFileTemp )
> Exit
> EndIf
> Next
> Return cFileTemp
>
>
> Bien, pues resulta que en Vista no funciona correctamente File() cuando un
> fichero está alojado en la carpeta GetTempDirectoryLong().
>
> Si tengo un fichero "Temp0001.txt" creado en la carpeta Temporal de
> Windows "C:UsersXeviAppDataLocalTemp", cuando compruebo si existe el
> fichero File( GetTempDirectoryLong() + "Temp0001.txt" ) de vuelve .F. en
> Vista.
> Lo he comprobado con otros nombres de ficheros que tengo en la carpeta
> Temporal, y ningún nombre que realmente existe en la carpeta es detectable
> por File()
>
> En otras versiones de Windows funciona correctamente.
>
> Un Saludo,
> Xevi.
>
Pudiera ser un error de la función File() de xHarbour, o sencillamente que
Vista está haciendo de las suyas en ese directorio. Te recomiendo que
utilices la función GetTempFilename
Saludos
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"Xevi" <xevicomas@gmail.com> escribió en el mensaje
news:4753b701$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
> Tengo una función creada para crear ficheros temporales en la carpeta
> Temporal de Windows o en una ruta que le mande por parámetro...
>
> Function xFileTemp( cExt, cRuta )
> local n, cFileTemp
>
> DEFAULT cExt to ""
>
> For n:=1 to 9999
> cFileTemp := If( cRuta = Nil, GetTempDirectoryLong(), cRuta ) +;
> "Temp" + StrZero( n, 4 ) + cExt
> If !File( cFileTemp )
> Exit
> EndIf
> Next
> Return cFileTemp
>
>
> Bien, pues resulta que en Vista no funciona correctamente File() cuando un
> fichero está alojado en la carpeta GetTempDirectoryLong().
>
> Si tengo un fichero "Temp0001.txt" creado en la carpeta Temporal de
> Windows "C:UsersXeviAppDataLocalTemp", cuando compruebo si existe el
> fichero File( GetTempDirectoryLong() + "Temp0001.txt" ) de vuelve .F. en
> Vista.
> Lo he comprobado con otros nombres de ficheros que tengo en la carpeta
> Temporal, y ningún nombre que realmente existe en la carpeta es detectable
> por File()
>
> En otras versiones de Windows funciona correctamente.
>
> Un Saludo,
> Xevi.
>
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com