www.pudn.com > DriveRescuev1.8.zip > dirseldlg.pas


unit dirseldlg; 
 
interface 
 
uses 
  SysUtils, Windows, Messages, Classes, Graphics, Controls, 
  StdCtrls, ExtCtrls, Forms, FileCtrl, ComCtrls, ShellCtrls; 
 
type 
  TDirSelectDialog = class(TForm) 
    Button1: TButton; 
    Button2: TButton; 
    Label1: TLabel; 
    Label2: TLabel; 
    Label3: TLabel; 
    Panel1: TPanel; 
    ComboBoxFAT: TComboBox; 
    Label4: TLabel; 
    Label5: TLabel; 
    ShellComboBox1: TShellComboBox; 
    ShellTreeView1: TShellTreeView; 
    procedure ShellComboBox1Change(Sender: TObject); 
    procedure ShellTreeView1Change(Sender: TObject; Node: TTreeNode); 
    public 
    FATno: byte; 
    directory: string; 
    function Execute: boolean; 
 
  end; 
 
var 
  DirSelectDialog: TDirSelectDialog; 
 
implementation 
 
{$R *.DFM} 
 
 
function TDirSelectDialog.Execute: boolean; 
begin 
  if DirSelectDialog.showmodal <> idCancel then 
  begin 
    FATno:=DirSelectDialog.ComboBoxFAT.itemindex; 
    directory:=ShellTreeView1.Path; 
    result:=true; 
  end else result:=false; 
end; 
 
 
 
procedure TDirSelectDialog.ShellComboBox1Change(Sender: TObject); 
var 
  destdir: shortstring; 
begin 
  destdir:=ShellComboBox1.Path; 
  if destdir[length(destdir)] <> '\' then destdir:=destdir+'\'; 
 
  Label2.caption:=destdir; 
end; 
 
procedure TDirSelectDialog.ShellTreeView1Change(Sender: TObject; 
  Node: TTreeNode); 
begin 
  ShellComboBox1Change(sender); 
end; 
 
end.