RE:Cambiar atributos de un archivo
* La declaracion original de la API es:
BOOL SetFileAttributes(
LPCTSTR lpFileName, // address of filename
DWORD dwFileAttributes // address of attributes to set
);
Donde se observa que usa el tipo de dato BOOL. El equivalente en PB, es Boolean que devuelve: TRUE (éxito) o FALSE (Fallo).
* Sobre la segunda pregunta, el significado es:
- Library "kernel32.dll"
La función está en la librería "kernel32.dll"
- Alias SetFileAttributesA
En la librería tiene ese nombre.
- Function boolean SetFileAttributes(...
El nombre que utilizaremos para llamarla será SetFileAttributes . Este nombre lo podíamos cambiar por ejemplo a:
Function boolean CambiarAtributo(... ; pero tendrías que llamarla en el script con:
lb_ret = CambiarAtributo(ls_archivo, FILE_ATTRIBUTE_READONLY)
Ahora si no te gusta emplear un Alias, puedes declararlo de manera más corta:
Function boolean SetFileAttributesA (ref string lpFileName, ulong dwFileAttributes) Library "KERNEL32.DLL"
Y tendrías que llamarlo directamente, como:
lb_ret = SetFileAttributesA(ls_archivo, FILE_ATTRIBUTE_READONLY)
Finalmente en:
http://www.iespana.es/powerbuilder/trucos/trucosAPI.html
En "Modificar los atributos de un archivo". Emplea esta API un poco diferente a lo expuesto.
Creo que ya nos confundimos los dos ;-)