Italian community of Lazarus and Free Pascal

Programmazione => Generale => Topic aperto da: Fabio - Ottobre 28, 2011, 05:28:21 pm

Titolo: Ottenere il percorso della cartella del profilo
Inserito da: Fabio - Ottobre 28, 2011, 05:28:21 pm
Ho cercato anche sul forum ufficiale ma non sono riuscito a trovare niente.

Sapete come ottenere il percorso alla cartella del profilo dell'utente?

Se possibile che sia cross, se no va bene anche metodi distinti.

Grazie.
Titolo: Re:Ottenere il percorso della cartella del profilo
Inserito da: Loryea - Ottobre 28, 2011, 07:03:45 pm
In  che senso ottenere?

Per inserire una cartella, bisogna inserire automaticamente tutto il precorso in cui é, quindi se pure inserisci una directory via input devi inserirla completa, se non non funziona.

Forse c'é la possibilità di crere una libreria per fare quello che dici, però sarebbe difficile: ripetere finche tutte le variabili (random) char (che formano un passo del percorso), trasformate in string danno un risultato corretto (con stringA iniziale 'C:\\' e stringB finale [cartella inserita].

Comunque ti consiglio di lasciar stare questa idea o almeno di dare un'occhiatina quì:
http://www.freepascal.org/ (http://www.freepascal.org/)

Saluti Loryea.
Titolo: Re:Ottenere il percorso della cartella del profilo
Inserito da: Fabio - Ottobre 28, 2011, 09:59:25 pm
Intendo qualcosa che ritorni che io utente pippo sotto Windows ho il percorso
c:\documents and settings\pippo

e sotto linux ho
\home\pippo

Il percorso della cartella del profilo dell'utente corrente che esegue l'applicativo
Titolo: Re:Ottenere il percorso della cartella del profilo
Inserito da: Goblin - Ottobre 28, 2011, 10:21:03 pm
per windows è semplice .. GetEnvironmentVariable('USERPROFILE') ... su linux .. nin so :)
G.
Titolo: Re:Ottenere il percorso della cartella del profilo
Inserito da: Fabio - Ottobre 29, 2011, 04:30:01 pm
Per adesso mi basta comunque Windows. Grazie.
Titolo: Re:Ottenere il percorso della cartella del profilo
Inserito da: brunello - Ottobre 29, 2011, 06:08:29 pm
per ricavare la path user il comando e
 SysUtils.GetEnvironmentVariable('HOME')

se vuoi visualizzare tutte le variabili

procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
begin
  Memo1.Lines.Clear;
  Memo1.Lines.Add(SysUtils.GetEnvironmentVariable('HOME'));
  for i:=0  to 80    do
    begin
     Memo1.Lines.Add(inttostr(i) +' '+ SysUtils.GetEnvironmentString(i));
    end;
end;


ciao Brunello
Titolo: Re:Ottenere il percorso della cartella del profilo
Inserito da: xinyiman - Novembre 01, 2011, 10:31:20 pm
Forse questo potrà esserti d'aiuto: http://lazarus-ccr.sourceforge.net/docs/rtl/sysutils/getappconfigdir.html
Titolo: Re:Ottenere il percorso della cartella del profilo
Inserito da: Fabio - Novembre 01, 2011, 10:50:15 pm
Si perfetto mi sa che è quello che cercavo.

Grazie.
Titolo: Re:Ottenere il percorso della cartella del profilo
Inserito da: xinyiman - Novembre 02, 2011, 09:39:09 am
Prego!