Recent

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

esdonis

  • New Member
  • *
  • Posts: 38
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: 1124
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.0.10 - FPC 3.2.0 - x86_64-win64 on Windows 8

mosquito

  • New Member
  • *
  • Posts: 16
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: 1086
    • 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

  • New Member
  • *
  • Posts: 16
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