[Lazarus-es] problema con Unicode y CreateFileW

islanis en infomed.sld.cu islanis en infomed.sld.cu
Mie Oct 15 21:08:34 CEST 2014


Hola José, acabo de corregir uno de los problemas de por que el hash  
me da mal, es que no estaba creando la carpeta acentuada, entonces lo  
que hice fué como bien dices tu acá lo que hice fué sustituir la  
función DirectoryExists por CreateDirectoryUTF8 y ya por lo menos  
cuando pasa por esa rutina pues devuelve true cuando verifica nuestra  
carpeta "Áfolder" que antes no lo hacía ahora crea la carpeta vacía e  
igual cuando va a copiar me da error cuando comienza a copiar su  
contenido su contenido estoy buscando la forma de subir todo el  
proyecto en un compactado a algún lugar para entonces ir a la par,  
porque me parece que de esta forma todo es muy lento y a veces estamos  
por lugares distintos, de momento sigo revisando a ver si encuentro el  
problema.

Gracias por todo a todos

José Mejuto <joshyfun en gmail.com> escribió:

> El 15/10/2014 a las #4, islanis en infomed.sld.cu escribió:
>
>>   Item.SrcName:=UTF8Encode(AItemName);
>>   Item.IsDirectory:=DirectoryExists(UTF8Encode(AItemName));// acá es
>> donde veo que da el problema,
>>
>
> Hola,
>
> Aquí DirectoryExists trabaja en ANSI (no UTF8), al igual que todas  
> las funciones de archivos de fpc. Para esas funciones deberías o  
> bien hacerte unas funciones que usen los equivalentes *W de Windows  
> o bien usar la unit de funciones de ficheros UTF8 de Lazarus  
> (LazUTF8).
>
> Comprueba siempre las funciones manualmente creando ficheros y  
> carpetas en ruso, chino, árabe y/o japonés (necesitarás un shell de  
> ficheros que no sea el de Windows, como el "Directory Opus". Para  
> conseguir archivos en eses idiomas, copiar y pegar palabras de la  
> Wikipedia y crear archivos con el Opus por ejemplo.
>
> -- 
>
>
> _______________________________________________
> Lazarus-es mailing list
> Lazarus-es en lists.lazarus.freepascal.org
> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
>



----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.



--
Nunca digas nunca, di mejor: gracias, permiso, disculpe.

Este mensaje le ha llegado mediante el servicio de correo electronico que ofrece Infomed para respaldar el cumplimiento de las misiones del Sistema Nacional de Salud. La persona que envia este correo asume el compromiso de usar el servicio a tales fines y cumplir con las regulaciones establecidas

Infomed: http://www.sld.cu/





More information about the Lazarus-es mailing list