Página 1 de 1

Directori Temp

Publicado: Lun Sep 05, 2005 3:54 pm
por Xevi
Quiero crear algunos ficheros temporales, y he creido que sería bueno
alojarlos en la carpeta que usa Windows como ficheros temporales...
¿Alguna función que retorne la carpeta Temp por defecto de nuestro
sistema???
Normalmente suele ser "C:WindowsTemp" pero para estar mas seguro de su
alojamiento... pos eso, que si existe una función para no equivocarme, por
si alguien tiene "C:Win98Temp" o cualquier otra ...
Un Saludo,
Xevi.

Directori Temp

Publicado: Lun Sep 05, 2005 4:30 pm
por jlalin
Xevi,
usa GetTempDirectory().
Saludos,
José Lalí­n

Directori Temp

Publicado: Lun Sep 05, 2005 4:45 pm
por Xevi
Gracias, José...
"José Lalín" <dezac@corevia.com> escribió en el mensaje
news:[email=431c5710@ozsrvnegro.ozlan.local...]431c5710@ozsrvnegro.ozlan.local...[/email]
>
> Xevi,
>
> usa GetTempDirectory().
>
> Saludos,
> José Lalín
>

Directori Temp

Publicado: Lun Sep 05, 2005 6:48 pm
por Xevi
José,
Pero...
GetTempDirectory()
me devuelve
"C:DOCUME~1XeviCONFIG~1Temp"
Y... eso no es del todo correcto ¿no???
Pues devuelve el nombre "corto", y... utilizando los 32bits, devería de
devolver el nombre "largo" ¿no?
Mira, el caso es que hago lo siguiente...
local cIndex := GetTempDirectory() + "Inci"
index on Field->NUMERO + Field->INCIDENT to (cIndex) FOR Field->A = "G"
Y no me crea el fichero en la ruta Temp.
Le doy a buscar con Windows y ni siquiera lo encuentra en el disco...
Sin embargo lo utilizo...
(::cAlias)->( OrdListAdd( cIndex ) )
set index to (cIndex)
GO TOP
Y no me da ningún error.. ¿misterios????
Gracias.
Un Saludo,
Xevi
"José Lalín" <dezac@corevia.com> escribió en el mensaje
news:[email=431c5710@ozsrvnegro.ozlan.local...]431c5710@ozsrvnegro.ozlan.local...[/email]
>
> Xevi,
>
> usa GetTempDirectory().
>
> Saludos,
> José Lalín
>

Directori Temp

Publicado: Lun Sep 05, 2005 7:32 pm
por jfgimenez
Xevi,
> Pero...
> GetTempDirectory()
> me devuelve
> "C:DOCUME~1XeviCONFIG~1Temp"
>
> Y... eso no es del todo correcto ¿no???
> Pues devuelve el nombre "corto", y... utilizando los 32bits, devería de
> devolver el nombre "largo" ¿no?
Lo he estado revisando y he comprobado que estamos usando la función del API
GetTempPath(), y que efectívamente devuelve el path en formato corto. Pero
me temo que no he encontrado ninguna otra función del API que pueda servir
:-(
> Mira, el caso es que hago lo siguiente...
> local cIndex := GetTempDirectory() + "Inci"
> index on Field->NUMERO + Field->INCIDENT to (cIndex) FOR Field->A = "G"
>
> Y no me crea el fichero en la ruta Temp.
>
> Le doy a buscar con Windows y ni siquiera lo encuentra en el disco...
> Sin embargo lo utilizo...
>
> (::cAlias)->( OrdListAdd( cIndex ) )
> set index to (cIndex)
> GO TOP
>
> Y no me da ningún error.. ¿misterios????
Seguramente es por la extensión. Estarás buscando "Inci", pero si al crear
el índice no especificas la extensión, el RDD pondrá la extensión por
defecto. Ojo, que si estás usando CDX al no usar la cláusula TAG te lo
estará creando como .IDX.
--
Un saludo,
José F. Giménez

Directori Temp

Publicado: Lun Sep 05, 2005 7:36 pm
por jlalin
Xevi,
de la MSDN:
---
The GetTempPath function does not verify that the directory specified by
the TMP or TEMP environment variables exists. The function gets the
temporary file path as follows:
The path specified by the TMP environment variable.
The path specified by the TEMP environment variable, if TMP is not defined.
The Windows directory, if both TMP and TEMP are not defined.
---
Recuerda que xHarbour también soporta GetEnv(), prueba este código desde
un botón:
MsgInfo( GetTempDirectory() + CRLF + GetEnv( "TEMP" ) )
Y mira si las dos devuelven lo mismo.
Saludos,
José Lalí­n

Directori Temp

Publicado: Lun Sep 05, 2005 8:13 pm
por Xevi
MsgInfo( GetTempDirectory() + CRLF + GetEnv( "TEMP" ) )
Devuelve...
"C:DOCUME~1XeviCONFIG~1Temp"
"C:DOCUME~1XeviCONFIG~1Temp"
Diferencias entre la una y la otra...
la última contrabarra de directorio...
Pero sin el nombre completo de las carpetas/Ruta...
Un Saludo,
Xevi.
"José Lalín" <dezac@corevia.com> escribió en el mensaje
news:[email=431c82a6@ozsrvnegro.ozlan.local...]431c82a6@ozsrvnegro.ozlan.local...[/email]
>
> Xevi,
>
> de la MSDN:
>
> ---
> The GetTempPath function does not verify that the directory specified by
> the TMP or TEMP environment variables exists. The function gets the
> temporary file path as follows:
>
> The path specified by the TMP environment variable.
> The path specified by the TEMP environment variable, if TMP is not
> defined.
> The Windows directory, if both TMP and TEMP are not defined.
> ---
>
> Recuerda que xHarbour también soporta GetEnv(), prueba este código desde
> un botón:
>
> MsgInfo( GetTempDirectory() + CRLF + GetEnv( "TEMP" ) )
>
> Y mira si las dos devuelven lo mismo.
>
> Saludos,
> José Lalín
>

Directori Temp

Publicado: Lun Sep 05, 2005 8:18 pm
por Xevi
Y...
¿No habrá una función que convierta esa cadena devuelta de nombre corto a
nombre largo???
Estoy usando Ntx, por lo que debería de crear el fichero en cuestión.
La prueba está en que si cambio el nombre de fichero...
local cIndex := GetTempDirectory() + "Inci"
por...
local cIndex := "C:Documents and settingsXeviConfiguración
localTempInci"
o por...
local cIndex := "C:Inci"
lo crea perfectamente en la capeta Temp o C:, respectivamente...
por lo que creo que el error está en la cadena de nombre corto...
Un Saludo,
Xevi.
"Jose F. Gimenez" <jfgimenez@wanadoo.es> escribió en el mensaje
news:431c8130$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>
> Xevi,
>
>> Pero...
>> GetTempDirectory()
>> me devuelve
>> "C:DOCUME~1XeviCONFIG~1Temp"
>>
>> Y... eso no es del todo correcto ¿no???
>> Pues devuelve el nombre "corto", y... utilizando los 32bits, devería de
>> devolver el nombre "largo" ¿no?
>
> Lo he estado revisando y he comprobado que estamos usando la función del
> API GetTempPath(), y que efectívamente devuelve el path en formato corto.
> Pero me temo que no he encontrado ninguna otra función del API que pueda
> servir :-(
>
>
>> Mira, el caso es que hago lo siguiente...
>> local cIndex := GetTempDirectory() + "Inci"
>> index on Field->NUMERO + Field->INCIDENT to (cIndex) FOR Field->A = "G"
>>
>> Y no me crea el fichero en la ruta Temp.
>>
>> Le doy a buscar con Windows y ni siquiera lo encuentra en el disco...
>> Sin embargo lo utilizo...
>>
>> (::cAlias)->( OrdListAdd( cIndex ) )
>> set index to (cIndex)
>> GO TOP
>>
>> Y no me da ningún error.. ¿misterios????
>
> Seguramente es por la extensión. Estarás buscando "Inci", pero si al crear
> el índice no especificas la extensión, el RDD pondrá la extensión por
> defecto. Ojo, que si estás usando CDX al no usar la cláusula TAG te lo
> estará creando como .IDX.
>
> --
> Un saludo,
>
> José F. Giménez
>
>

Directori Temp

Publicado: Lun Sep 05, 2005 8:24 pm
por ignacio
Jose,
Quizas pueda valerle GetEnv( "TEMP" )
Saludos,
"Jose F. Gimenez" <jfgimenez@wanadoo.es> escribió en el mensaje
news:431c8130$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
> Xevi,
>
>> Pero...
>> GetTempDirectory()
>> me devuelve
>> "C:DOCUME~1XeviCONFIG~1Temp"
>>
>> Y... eso no es del todo correcto ¿no???
>> Pues devuelve el nombre "corto", y... utilizando los 32bits, devería de
>> devolver el nombre "largo" ¿no?
>
> Lo he estado revisando y he comprobado que estamos usando la función del
> API GetTempPath(), y que efectívamente devuelve el path en formato corto.
> Pero me temo que no he encontrado ninguna otra función del API que pueda
> servir :-(
>
>
>> Mira, el caso es que hago lo siguiente...
>> local cIndex := GetTempDirectory() + "Inci"
>> index on Field->NUMERO + Field->INCIDENT to (cIndex) FOR Field->A = "G"
>>
>> Y no me crea el fichero en la ruta Temp.
>>
>> Le doy a buscar con Windows y ni siquiera lo encuentra en el disco...
>> Sin embargo lo utilizo...
>>
>> (::cAlias)->( OrdListAdd( cIndex ) )
>> set index to (cIndex)
>> GO TOP
>>
>> Y no me da ningún error.. ¿misterios????
>
> Seguramente es por la extensión. Estarás buscando "Inci", pero si al crear
> el índice no especificas la extensión, el RDD pondrá la extensión por
> defecto. Ojo, que si estás usando CDX al no usar la cláusula TAG te lo
> estará creando como .IDX.
>
> --
> Un saludo,
>
> José F. Giménez
>

Directori Temp

Publicado: Lun Sep 05, 2005 9:34 pm
por jlalin
Xevi,
> Diferencias entre la una y la otra...
> la última contrabarra de directorio...
Acabo de probarlo en W98 y parece que funciona bien.
> Pero sin el nombre completo de las carpetas/Ruta...
El que devuelva nombres cortos o largos no debe ser problema para
usarlos con nombres de archivos temporales.
¿ El problema del í­ndice no tendrá nada que ver con SET PATH o SET DEFAULT ?
Saludos,
José Lalí­n

Directori Temp

Publicado: Lun Sep 05, 2005 9:46 pm
por Xevi
José,
Como he contestado a JoseF. en otro mensaje...
***************************************************
Estoy usando Ntx, por lo que debería de crear el fichero en cuestión.
La prueba está en que si cambio el nombre de fichero...
local cIndex := GetTempDirectory() + "Inci"
por...
local cIndex := "C:Documents and settingsXeviConfiguración
localTempInci"
o por...
local cIndex := "C:Inci"
lo crea perfectamente en la capeta Temp o C:, respectivamente...
por lo que creo que el error está en la cadena de nombre corto...
***************************************************
Utilizo WinXP HomeEdition.
Un Saludo,
Xevi.
"José Lalín" <dezac@corevia.com> escribió en el mensaje
news:[email=431c9e4d@ozsrvnegro.ozlan.local...]431c9e4d@ozsrvnegro.ozlan.local...[/email]
> Xevi,
>
>> Diferencias entre la una y la otra...
>> la última contrabarra de directorio...
>
> Acabo de probarlo en W98 y parece que funciona bien.
>
>> Pero sin el nombre completo de las carpetas/Ruta...
>
> El que devuelva nombres cortos o largos no debe ser problema para
> usarlos con nombres de archivos temporales.
>
> ¿ El problema del índice no tendrá nada que ver con SET PATH o SET DEFAULT
> ?
>
> Saludos,
> José Lalín
>

Directori Temp

Publicado: Lun Sep 05, 2005 9:48 pm
por Xevi
Ignacio,
No sirve GetEnv("TEMP")...
el mismo problema que con GetTempDirectory()
Un Saludo,
Xevi.
"Ignacio Ortiz de Zúñiga" <InvalidAccount@ozs.com> escribió en el mensaje
news:431c8d50$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>
> Jose,
>
> Quizas pueda valerle GetEnv( "TEMP" )
>
> Saludos,
>
> "Jose F. Gimenez" <jfgimenez@wanadoo.es> escribió en el mensaje
> news:431c8130$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>> Xevi,
>>
>>> Pero...
>>> GetTempDirectory()
>>> me devuelve
>>> "C:DOCUME~1XeviCONFIG~1Temp"
>>>
>>> Y... eso no es del todo correcto ¿no???
>>> Pues devuelve el nombre "corto", y... utilizando los 32bits, devería de
>>> devolver el nombre "largo" ¿no?
>>
>> Lo he estado revisando y he comprobado que estamos usando la función del
>> API GetTempPath(), y que efectívamente devuelve el path en formato corto.
>> Pero me temo que no he encontrado ninguna otra función del API que pueda
>> servir :-(
>>
>>
>>> Mira, el caso es que hago lo siguiente...
>>> local cIndex := GetTempDirectory() + "Inci"
>>> index on Field->NUMERO + Field->INCIDENT to (cIndex) FOR Field->A =
>>> "G"
>>>
>>> Y no me crea el fichero en la ruta Temp.
>>>
>>> Le doy a buscar con Windows y ni siquiera lo encuentra en el disco...
>>> Sin embargo lo utilizo...
>>>
>>> (::cAlias)->( OrdListAdd( cIndex ) )
>>> set index to (cIndex)
>>> GO TOP
>>>
>>> Y no me da ningún error.. ¿misterios????
>>
>> Seguramente es por la extensión. Estarás buscando "Inci", pero si al
>> crear el índice no especificas la extensión, el RDD pondrá la extensión
>> por defecto. Ojo, que si estás usando CDX al no usar la cláusula TAG te
>> lo estará creando como .IDX.
>>
>> --
>> Un saludo,
>>
>> José F. Giménez
>>
>
>
>

Directori Temp

Publicado: Lun Sep 05, 2005 10:00 pm
por jlalin
Xevi,
> lo crea perfectamente en la capeta Temp o C:, respectivamente...
> por lo que creo que el error está en la cadena de nombre corto...
El caso es que el nombre largo o corto no debe ser el problema.
Prueba esto:
LOCAL cTmp := GetTempDirectory()
FCreate( cTmp + "test1.txt" )
FCreate( "C:Documents and settingsXeviConfiguración
localTempIncitest2.txt" )
Deberí­an crearse los dos archivos xevi1.txt y xevi2.txt en el mismo
directorio.
> Utilizo WinXP HomeEdition.
No sé si puede tener algo que ver.
Saludos,
José Lalí­n

Directori Temp

Publicado: Lun Sep 05, 2005 10:35 pm
por Xevi
José,
LOCAL cTmp := GetTempDirectory()
FCreate( cTmp + "test1.txt" )
FCreate( "C:Documents and settingsXeviConfiguración
localTemptest2.txt" )
Correcto... si se crean los dos ficheros en la misma carpeta...
Revisaré mi código, que seguro que la pifio en algún lado!!!
Un Saludo,
Xevi.
"José Lalín" <dezac@corevia.com> escribió en el mensaje
news:[email=431ca469@ozsrvnegro.ozlan.local...]431ca469@ozsrvnegro.ozlan.local...[/email]
>
> Xevi,
>
>> lo crea perfectamente en la capeta Temp o C:, respectivamente...
>> por lo que creo que el error está en la cadena de nombre corto...
>
> El caso es que el nombre largo o corto no debe ser el problema.
>
> Prueba esto:
>
> LOCAL cTmp := GetTempDirectory()
>
> FCreate( cTmp + "test1.txt" )
> FCreate( "C:Documents and settingsXeviConfiguración
> localTempIncitest2.txt" )
>
> Deberían crearse los dos archivos xevi1.txt y xevi2.txt en el mismo
> directorio.
>
>> Utilizo WinXP HomeEdition.
>
> No sé si puede tener algo que ver.
>
> Saludos,
> José Lalín
>

Directori Temp

Publicado: Lun Sep 05, 2005 10:42 pm
por jlalin
Xevi,
vamos a hacer otra prueba más completa para curarnos en salud.
Cambia la llamada a GetTempDirectory() por GetTempDirectoryLong() e
incluye este código en un PRG:
//--
FUNCTION GetTempDirectoryLong()
RETURN GetLongName( GetTempDirectory() )
#pragma BEGINDUMP
#include <windows.h>
#include <xailer.h>
XA_FUNC( GETLONGNAME )
{
char szLong[ MAX_PATH ];
DWORD dwLen;
if( ISCHAR( 1 ) )
{
dwLen = GetLongPathName( hb_parc( 1 ), szLong, MAX_PATH );
hb_retclen( szLong, dwLen );
}
else
hb_retc( "" );
}
#pragma ENDDUMP
//--
Dime si llamando a GetTempDirectoryLong() se crea correctamente el í­ndice.
Saludos,
José Lalí­n

Directori Temp

Publicado: Lun Sep 05, 2005 10:56 pm
por Xevi
José,
PERFECTO !!!
Ahora ya devuelve el nombre largo del directorio Temp.
De todas formas, voy a seguir probando un poco con GetTempDirectory(), a ver
si tengo algo mal en mi código.
Un Saludo,
Xevi.
"José Lalín" <dezac@corevia.com> escribió en el mensaje
news:431cae59$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>
> Xevi,
>
> vamos a hacer otra prueba más completa para curarnos en salud.
>
> Cambia la llamada a GetTempDirectory() por GetTempDirectoryLong() e
> incluye este código en un PRG:
>
> //--
> FUNCTION GetTempDirectoryLong()
> RETURN GetLongName( GetTempDirectory() )
>
> #pragma BEGINDUMP
>
> #include <windows.h>
> #include <xailer.h>
>
> XA_FUNC( GETLONGNAME )
> {
> char szLong[ MAX_PATH ];
> DWORD dwLen;
>
> if( ISCHAR( 1 ) )
> {
> dwLen = GetLongPathName( hb_parc( 1 ), szLong, MAX_PATH );
> hb_retclen( szLong, dwLen );
> }
> else
> hb_retc( "" );
> }
>
> #pragma ENDDUMP
> //--
>
> Dime si llamando a GetTempDirectoryLong() se crea correctamente el índice.
>
> Saludos,
> José Lalín
>

Directori Temp

Publicado: Lun Sep 05, 2005 10:58 pm
por jlalin
Xevi,
> PERFECTO !!!
> Ahora ya devuelve el nombre largo del directorio Temp.
Ok, pero seguimos sin saber porqué no se crea el í­ndice con el nombre
corto :-(
> De todas formas, voy a seguir probando un poco con GetTempDirectory(), a ver
> si tengo algo mal en mi código.
Si encuentras algo, házmelo saber.
Saludos,
José Lalí­n

Directori Temp

Publicado: Lun Sep 05, 2005 11:27 pm
por Xevi
José,
Resulta que ahora, SIEMPRE me crea el fichero índice, ya sea con
GetTempDirectory() o GetTempDirectoryLong().
No sabría que decir... ¿que he hecho mal??? ¿?...
De todas formas, ahora podremos disponer de la función que devuelve el Temp
en nombre largo...
¿La vais a incorporar a la Lib de Xailer???
Un Saludo,
Xevi.
"José Lalín" <dezac@corevia.com> escribió en el mensaje
news:431cb228$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>
> Xevi,
>
>> PERFECTO !!!
>> Ahora ya devuelve el nombre largo del directorio Temp.
>
> Ok, pero seguimos sin saber porqué no se crea el índice con el nombre
> corto :-(
>
>> De todas formas, voy a seguir probando un poco con GetTempDirectory(), a
>> ver si tengo algo mal en mi código.
>
> Si encuentras algo, házmelo saber.
>
> Saludos,
> José Lalín
>

Directori Temp

Publicado: Lun Sep 05, 2005 11:35 pm
por jlalin
Xevi,
> Resulta que ahora, SIEMPRE me crea el fichero í­ndice, ya sea con
> GetTempDirectory() o GetTempDirectoryLong().
> No sabrí­a que decir... ¿que he hecho mal??? ¿?...
Pues no se me ocurre nada ... Quizá sea algún bug del sistema.
> De todas formas, ahora podremos disponer de la función que devuelve el Temp
> en nombre largo...
> ¿La vais a incorporar a la Lib de Xailer???
Acabo de avisar en la lista de correo para ver que opinan Jose F. e Ignacio.
Saludos,
José Lalí­n

Directori Temp

Publicado: Mar Sep 06, 2005 8:36 am
por Xevi
José,
Ya se donde fallaba... en el ordenador del trabajo.
Mira mi ruta temporal, si voy a traves del Explorardor...
C:Documents and SettingsCompaq_PropietarioConfiguracin localTemp
Y... mira la ruta que me devuelve GetTempDirectoryLong()
C:Documents and SettingsCompaq_PropietarioConfiguración localTemp
Que serí­a lo correcto ¿no? con la o y acentuada en español.
Pues resulta, que nadie se ha puesto a modificar esta ruta... pero en fin que cuando creo el í­ndice, no lo crea fí­sicamente, y no veo donde puede crearlo...
aunque esto me funciona correctamente...
MsgInfo( ::cIndexTemp ) //Devuelve .F. pues cuando salgo elimino el fichero Ntx
MsgInfo(File( ::cIndexTemp )) ////Lo muestra correctamente con el nombre de carpeta con la ó
index on Field->NUMERO + Field->INCIDENT to (::cIndexTemp) FOR Field->A = "G"
set index to (::cIndexTemp)
MsgInfo( ::cIndexTemp ) // //Devuelve .T. ha creado el fichero Ntx
MsgInfo(File( ::cIndexTemp )) //Lo muestra correctamente con el nombre de carpeta con la ó
Y me digo...ya no le doy mas vueltas... por una letra acentuada,
le cambio el nombre de mi carpeta Temp, le añado una ó... y SORPRESA !!!
Me aparece la carpeta en cuestión... ahora tengo dos carpetas...
¿Habrá alguna aplicación que cuando hace alguna instalación crea esa carpeta, prescindiendo de los acentos... seguro que es algo de eso...
En fin... por lo menos se el porqué...
Un Saludo,
Xevi.
"José Lalí­n" <dezac@corevia.com> escribió en el mensaje news:431cbaae$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>
> Xevi,
>
>> Resulta que ahora, SIEMPRE me crea el fichero í­ndice, ya sea con
>> GetTempDirectory() o GetTempDirectoryLong().
>> No sabrí­a que decir... ¿que he hecho mal??? ¿?...
>
> Pues no se me ocurre nada ... Quizá sea algún bug del sistema.
>
>> De todas formas, ahora podremos disponer de la función que devuelve el Temp
>> en nombre largo...
>> ¿La vais a incorporar a la Lib de Xailer???
>
> Acabo de avisar en la lista de correo para ver que opinan Jose F. e Ignacio.
>
> Saludos,
> José Lalí­n
>
--

Directori Temp

Publicado: Mar Sep 06, 2005 2:02 pm
por jlalin
Xevi,
> Que serí­a lo correcto ¿no? con la o y acentuada en español.
Sí­.
> Y me digo...ya no le doy mas vueltas... por una letra acentuada,
> le cambio el nombre de mi carpeta Temp, le añado una ó... y SORPRESA !!!
> Me aparece la carpeta en cuestión... ahora tengo dos carpetas...
> ¿Habrá alguna aplicación que cuando hace alguna instalación crea esa carpeta, prescindiendo de los acentos... seguro que es algo de eso...
Puede deberse a algún cambio de CodePage o a haber instalado el sistema
en un idioma y luego cambiarlo a otro.
> En fin... por lo menos se el porqué...
Por lo menos ya sabemos que el problema no está en la función :-)
Por cierto, la próxima pr5 incluirá estas nuevas funciones:
* GetTempDirectoryLong(), aunque yo no aconsejo su uso, si el API
devuelve el nombre corto será por algo y me imagino que es para mantener
compatibilidad hacia atrás porque en Win9x/ME la longitud máxima de un
PATH es MAX_PATH (160 caracteres)
* GetShortPathName( cPath ) -> cShortPath
* GetLongPathName( cPath ) -> cLongPath
Saludos,
José Lalí­n

Directori Temp

Publicado: Mar Sep 06, 2005 2:38 pm
por Xevi
Ok.
A esperar la PR5...
Un Saludo,
Xevi.
"José Lalín" <dezac@corevia.com> escribió en el mensaje
news:[email=431d8604@ozsrvnegro.ozlan.local...]431d8604@ozsrvnegro.ozlan.local...[/email]
>
> Xevi,
>
>> Que sería lo correcto ¿no? con la o y acentuada en español.
>
> Sí.
>
>> Y me digo...ya no le doy mas vueltas... por una letra acentuada,
>> le cambio el nombre de mi carpeta Temp, le añado una ó... y SORPRESA !!!
>> Me aparece la carpeta en cuestión... ahora tengo dos carpetas... ¿Habrá
>> alguna aplicación que cuando hace alguna instalación crea esa carpeta,
>> prescindiendo de los acentos... seguro que es algo de eso...
>
> Puede deberse a algún cambio de CodePage o a haber instalado el sistema
> en un idioma y luego cambiarlo a otro.
>
>> En fin... por lo menos se el porqué...
>
> Por lo menos ya sabemos que el problema no está en la función :-)
>
> Por cierto, la próxima pr5 incluirá estas nuevas funciones:
>
> * GetTempDirectoryLong(), aunque yo no aconsejo su uso, si el API devuelve
> el nombre corto será por algo y me imagino que es para mantener
> compatibilidad hacia atrás porque en Win9x/ME la longitud máxima de un
> PATH es MAX_PATH (160 caracteres)
>
> * GetShortPathName( cPath ) -> cShortPath
> * GetLongPathName( cPath ) -> cLongPath
>
> Saludos,
> José Lalín
>