显示尺寸和格式
Display size and format
在我的 VCL 表单应用程序中,我添加了:
- 按钮
- 打开对话框
- 编辑
- 列表视图
当我用opendialog打开文件时,如何在ListView列中显示文件大小和格式?
这是正在尝试的代码 - 请纠正我的错误,或者我必须添加什么功能才能在 ListView 中显示?
//===============================
procedure TForm1.BntOpen1Click(Sender: TObject);
var
LI: TListItem;
begin
if OpenDialog1.Execute then
LI := ListView1.Items.Add;
LI.SubItems.Add(Format(OpenDialog1.FileName, [0]));
end;
//===========================
感谢
首先,您缺少 begin .. end;
对。
begin
if OpenDialog1.Execute then
begin // missing
// ...
// fetch file size and update `TListView` here
// ...
end; // missing
end;
然后要获取文件大小,声明一个变量 size: int64;
并使用 TFileStream
var
size: int64;
...
fs := TFileStream.Create(OpenDialog1.FileName, fmOpenRead or fmShareDenyWrite);
try
size := fs.Size;
finally
fs.Free;
end;
一定要阅读文件模式和共享常量
你用过listview的Column Designer
来声明你需要的列吗?
如果没有,TListView
上的 right-click 和 select Column Designer
菜单中的 right-click。
您正确地向列表视图添加了一个项目,但您从未为其分配标题,所以我会分配文件名,这样就可以清楚地知道大小和类型与哪个文件相关。
LI.Caption := OpenDialog1.FileName;
然后你将文件的大小添加到一个子项中
LI.SubItems.Add(IntToStr(size));
最后是文件类型
LI.SubItems.Add(ExtractFileExt(OpenDialog1.FileName));
在我的 VCL 表单应用程序中,我添加了:
- 按钮
- 打开对话框
- 编辑
- 列表视图
当我用opendialog打开文件时,如何在ListView列中显示文件大小和格式?
这是正在尝试的代码 - 请纠正我的错误,或者我必须添加什么功能才能在 ListView 中显示?
//===============================
procedure TForm1.BntOpen1Click(Sender: TObject);
var
LI: TListItem;
begin
if OpenDialog1.Execute then
LI := ListView1.Items.Add;
LI.SubItems.Add(Format(OpenDialog1.FileName, [0]));
end;
//===========================
感谢
首先,您缺少 begin .. end;
对。
begin
if OpenDialog1.Execute then
begin // missing
// ...
// fetch file size and update `TListView` here
// ...
end; // missing
end;
然后要获取文件大小,声明一个变量 size: int64;
并使用 TFileStream
var
size: int64;
...
fs := TFileStream.Create(OpenDialog1.FileName, fmOpenRead or fmShareDenyWrite);
try
size := fs.Size;
finally
fs.Free;
end;
一定要阅读文件模式和共享常量
你用过listview的Column Designer
来声明你需要的列吗?
如果没有,TListView
上的 right-click 和 select Column Designer
菜单中的 right-click。
您正确地向列表视图添加了一个项目,但您从未为其分配标题,所以我会分配文件名,这样就可以清楚地知道大小和类型与哪个文件相关。
LI.Caption := OpenDialog1.FileName;
然后你将文件的大小添加到一个子项中
LI.SubItems.Add(IntToStr(size));
最后是文件类型
LI.SubItems.Add(ExtractFileExt(OpenDialog1.FileName));