Recent

Author Topic: obtener nombre de carpeta HOME  (Read 1872 times)

esdonis

  • Jr. Member
  • **
  • Posts: 61
obtener nombre de carpeta HOME
« on: October 19, 2020, 06:10:57 pm »
Como podré obtener el nombre de la carpeta del usuario que tiene abierta la sesión de Linux desde lazarus?

Quiero verificar si no existe una carpeta dada el el usuario que tiene abierta la sesión, algo como:

if not DirectoryExists(/home/user_xxx/carpeta_xx') then

Edson

  • Hero Member
  • *****
  • Posts: 1301
Re: obtener nombre de carpeta HOME
« Reply #1 on: October 19, 2020, 06:23:49 pm »
Hola.

No lo he usado, pero en una rápida búsqueda veo que podrías ser GetUserDir().

También podrías ejecutar un comando del sistema operativo y capturar la salida para obtener esa información.
Lazarus 2.2.6 - FPC 3.2.2 - x86_64-win64 on Windows 10

mosquito

  • Full Member
  • ***
  • Posts: 138
Re: obtener nombre de carpeta HOME
« Reply #2 on: December 27, 2020, 09:59:55 am »
Puede que algo así te sirva:
Code: Pascal  [Select][+][-]
  1. VAR
  2. USERFOL : STRING ;
  3.  
  4. BEGIN
  5. USERFOL:=GETENVIRONMENTVARIABLE('HOME'); // SOLO PARA UNIXES
  6.   IF DIRECTORYEXISTS(USERFOL+PATHDELIM+'carpeta_x') THEN BEGIN
  7.    // ...
  8.   END ELSE BEGIN
  9.    // CREATEDIR(USERFOL+PATHDELIM+'carpeta_x');
  10.   END;
  11.  
  12. END.  
  13.  
« Last Edit: December 27, 2020, 10:04:48 am by mosquito »

Ñuño_Martínez

  • Hero Member
  • *****
  • Posts: 1186
    • Burdjia
Re: obtener nombre de carpeta HOME
« Reply #3 on: December 29, 2020, 11:50:28 am »
La respuesta es GetUserDir, principalmente porque mantiene la compatibilidad entre todos los sistemas y entornos soportados por el compilador.  El uso de GetEnvironmentVariable dará problemas en sistemas donde no exista la variable "HOME" (como MS-DOS).
Are you interested in game programming? Join the Pascal Game Development community!
Also visit the Game Development Portal

mosquito

  • Full Member
  • ***
  • Posts: 138
Re: obtener nombre de carpeta HOME
« Reply #4 on: December 29, 2020, 05:56:33 pm »
Mucho mejor con GetUserDir como apuntan los compis. Ya somos dos lo que hemos aprendido.
Gracias.

 

TinyPortal © 2005-2018