Shell Folders Unit Example
Applies to: ~>2.0
This example illustrates the use of the TPJSpecialFolderEnum class and some of the special folder support functions.
Drop a TListBox and a TLabel component on a form. When the program starts and the form is created, the list box is filled with the names of the special folder identifier constants. Double clicking an item in the list box displays the constant's name and value (in hex) in the label.
procedure TForm1.FormCreate(Sender: TObject);
var
Enum: TPJSpecialFolderEnum;
begin
Enum := TPJSpecialFolderEnum.Create;
try
ListBox1.Clear;
Enum.Init;
while not Enum.AtEnd do
ListBox1.Items.Add(SpecialFolderIdToStr(Enum.Next));
finally
Enum.Free;
end;
end;
procedure TForm1.ListBox1DblClick(Sender: TObject);
var
Index: Integer;
begin
Index := ListBox1.ItemIndex;
if Index <> -1 then
Label1.Caption := Format('%s = $%4.4x',
[ListBox1.Items[Index],
StrToSpecialFolderID(ListBox1.Items[Index])]);
end;