FileListBox (Delphi)
Description
This example uses a file listbox and a regular list box on a form. The following routine scans through the files listed in the file list box and lists the sizes of any selected files to the regular list box. To exercise the error condition, create a file in the Debug directory, start this application, and then delete the file. Now try to list the size of the deleted file. Set the MultiSelect and ExtendedSelect properties on the FileListBox.
Code
procedure TForm1.Button1Click(Sender: TObject);
var
F: File;
i, filehandle: Integer;
begin
for i := 0 to (FileListBox1.Items.Count - 1) do begin
try
if FileListBox1.Selected[i] then
begin
if not FileExists(FileListBox1.Items.Strings[i]) then
begin
MessageDlg('File: ' + FileListBox1.Items.Strings[i] +
' not found', mtError, [mbOk], 0);
Continue;
end;
filehandle:= FileOpen(FileListBox1.Items.Strings[i], fmOpenWrite);
if (filehandle = -1) then
begin
MessageDlg('File: ' + FileListBox1.Items.Strings[i] +
' cannot be opened with access mode fmOpenWrite.', mtError, [mbOk], 0);
Continue;
end
else
FileClose(filehandle);
AssignFile(F, FileListBox1.Items.Strings[i]);
Reset(F, 1);
ListBox1.Items.Add(
FileListBox1.Items.Strings[i] + ': ' + IntToStr(FileSize(F)));
CloseFile(F);
end;
finally
{ Do something here. }
end;
end;
end;
Uses
- System.Continue ( fr | de | ja )
- System.Reset ( fr | de | ja )
- System.AssignFile ( fr | de | ja )
- Vcl.StdCtrls.TCustomListBox.Items ( fr | de | ja )
- Vcl.StdCtrls.TCustomListBox.Selected ( fr | de | ja )
- System.SysUtils.FileOpen ( fr | de | ja )
- System.SysUtils.FileClose ( fr | de | ja )