13-11-2020, 01:02
Hola a todos.
Como algunos sabrán la función stat de Gambas no devuelve el inode, no se a que se debe. Este hecho me llevo a investigar el tema y gracias a las enseñanzas del maestro Vuott, que siempre deja ejemplos sobre el uso de Extern y puso un ejemplo de uso de stat de corelinux, convertí eso en una función que si se coloca en un módulo hace lo que el Stat de gambas pero con este parámetro (inode) agregado, pero el caso es que funciona mucho mas rápido para leer los metadatos de un archivo y cuando se trata de miles se nota la diferencia.
Referencia en el foro italiano: Ottenere_alcune_informazioni_generali_sui_file
Saludos.
Como algunos sabrán la función stat de Gambas no devuelve el inode, no se a que se debe. Este hecho me llevo a investigar el tema y gracias a las enseñanzas del maestro Vuott, que siempre deja ejemplos sobre el uso de Extern y puso un ejemplo de uso de stat de corelinux, convertí eso en una función que si se coloca en un módulo hace lo que el Stat de gambas pero con este parámetro (inode) agregado, pero el caso es que funciona mucho mas rápido para leer los metadatos de un archivo y cuando se trata de miles se nota la diferencia.
Referencia en el foro italiano: Ottenere_alcune_informazioni_generali_sui_file
GAMBAS
- Library "libc:6"
-
-
-
- '' Create a file parameters list using the GNU coreutils program stat. Note: the tags for access to the information are:<br>
- '' Dev, Ino, Path, Link, Mode, SetUID, SetGID, Rdev, Size, BlkSize, Blocks, LastAccess, LastModified, LastChange<br>
- '' Original <https://www.gambas-it.org/wiki/index.php?title=Stat_()>
-
-
-
- i = __xstat(_STAT_VER_LINUX, f, st)
-
- With st
- inf.Add(.st_dev, "Dev")
- inf.Add(.st_ino, "Ino")
- inf.Add(f, "Path")
- inf.Add(.st_nlink, "Link")
- inf.Add(.st_mode, "Mode")
- inf.Add(.st_uid, "SetUID")
- inf.Add(.st_gid, "SetGID")
- inf.Add(.st_rdev, "Rdev")
- inf.Add(.st_size, "Size")
- inf.Add(.st_blksize, "BlkSize")
- inf.Add(.st_blocks, "Blocks")
- inf.Add(.st_atime, "LastAccess")
- inf.Add(.st_mtime, "LastModified")
- inf.Add(.st_ctime, "LastChange")
- Return inf
Saludos.
1 Saludo.