6 System.SysUtils, System.Types, System.UITypes, System.Classes,
8 FMX.Types, FMX.Controls, FMX.Forms, FMX.Dialogs, FMX.Ani, FMX.Layouts,
10 FMX.StdCtrls, FMX.ListView.Types, FMX.ListView, FMX.Controls.Presentation,
11 FMX.Edit, FMX.EditBox, FMX.SpinBox, ShellAPI, Windows, FMX.Objects,
12 IniFiles, FMX.Graphics;
16 StyleBook1: TStyleBook;
20 procedure ListView1DragDrop(Sender: TObject; const Data: TDragObject;
21 const Point: TPointF);
22 procedure ListView1DragOver(Sender: TObject; const Data: TDragObject;
23 const Point: TPointF; var Operation: TDragOperation);
24 procedure Button2Click(Sender: TObject);
25 procedure ListView1ButtonClick(const Sender: TObject;
26 const AItem: TListViewItem; const AObject: TListItemSimpleControl);
27 procedure FormCreate(Sender: TObject);
28 procedure FormDestroy(Sender: TObject);
29 procedure FormKeyDown(Sender: TObject; var Key: Word; var KeyChar: Char;
31 procedure ListView1DblClick(Sender: TObject);
35 procedure SearchDir(const Path: string);
36 procedure SetDir(const Value: string);
40 property Dir: string read FDir write SetDir;
49 {$R *.Windows.fmx MSWINDOWS}
51 procedure TForm1.Button2Click(Sender: TObject);
57 procedure TForm1.FormCreate(Sender: TObject);
61 s := TIniFile.Create(ChangeFileExt(Application.DefaultTitle, '.ini'));
63 FDir := s.ReadString('Directory', 'Current', '');
70 procedure TForm1.FormDestroy(Sender: TObject);
74 s := TIniFile.Create(ChangeFileExt(Application.DefaultTitle, '.ini'));
76 s.WriteString('Directory', 'Current', Dir);
82 procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; var KeyChar: Char;
91 procedure TForm1.ListView1ButtonClick(const Sender: TObject;
92 const AItem: TListViewItem; const AObject: TListItemSimpleControl);
94 ShellExecute(ContextHandle, PChar('OPEN'), PChar(AItem.Detail), nil, nil,
98 procedure TForm1.ListView1DblClick(Sender: TObject);
101 TWindowState.wsNormal:
102 WindowState := TWindowState.wsMaximized;
103 TWindowState.wsMaximized:
104 WindowState := TWindowState.wsNormal;
108 procedure TForm1.ListView1DragDrop(Sender: TObject; const Data: TDragObject;
109 const Point: TPointF);
111 if (Length(Data.Files) > 0)and(System.SysUtils.DirectoryExists(Data.Files[0]) = true) then
112 Dir := Data.Files[0];
115 procedure TForm1.ListView1DragOver(Sender: TObject; const Data: TDragObject;
116 const Point: TPointF; var Operation: TDragOperation);
118 Operation := TDragOperation.Move;
121 procedure TForm1.SearchDir(const Path: string);
127 i := FindFirst(Path + '\*.exe', faNormal, s);
131 t := ListView1.Items.Add;
132 t.Text := s.Name+' '+IntToStr(s.Size div 1000000)+'MB';
133 t.Detail := Path + '\' + s.Name;
134 t.ButtonText := '
\8bN
\93®';
135 // t.Bitmap.Handle:=ExtractAssociatedIcon(hInstance,PChar(t.Detail),0);
139 System.SysUtils.FindClose(s);
142 i := FindFirst(Path + '\*', faDirectory, s);
144 while (i = 0) and (Level - 1 <= StrToInt(SpinBox1.Text)) do
146 if Pos('.', s.Name) = 0 then
147 SearchDir(Path + '\' + s.Name);
152 System.SysUtils.FindClose(s);
156 procedure TForm1.SetDir(const Value: string);
159 Showmessage('Dir=' + Value);
160 ListView1.ClearItems;