Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Trucos (https://www.clubdelphi.com/foros/forumdisplay.php?f=52)
-   -   Obtener carpetas especiales de usuario (Ej.- C:\Documents and Settings\All Users\Datos de programa (https://www.clubdelphi.com/foros/showthread.php?t=80867)

alquimista 30-05-2008 11:33:42

Obtener carpetas especiales de usuario (Ej.- C:\Documents and Settings\All Users\Datos de programa
 
Para obtener carpetas especiales de usuario a través de la API
Las uses ShlObj,shfolder son para la función ShGetSpecialFolderPath
y para las constantes CSIDL (ver ayuda delphi)
ej.- CSIDL_COMMON_APPDATA es para mostrar la ruta o crear
C:\Documents and Settings\All Users\Datos de programa

Código Delphi [-]
unit Unit8;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ShlObj,shfolder ;

type
  TForm8 = class(TForm)
    Edit1: TEdit;
    Memo1: TMemo;
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form8: TForm8;

implementation

{$R *.dfm}

function CarpetasEspeciales(csidl:cardinal)  : string;

var
   path: array [0..MAX_PATH] of char;
begin
   ShGetSpecialFolderPath(0,@path[0],csidl,false(*true crea la carpeta *)) ;
   Result := path;
end;


procedure TForm8.FormCreate(Sender: TObject);
var i: cardinal;
begin

 Edit1.Text:=  CarpetasEspeciales(CSIDL_COMMON_APPDATA);
 for i := 0 to  $ff do
      memo1.Lines.Add(Inttostr(i)+' : '+CarpetasEspeciales(i));

end;

end.


La franja horaria es GMT +2. Ahora son las 12:13:14.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi