我有一个保存文件的程序,它是一个 ini 文件。下面的过程就是用户选择文件的目录和名称的地方:
procedure TForm1.SaveFile(Sender: TObject);
var
Dialog : TSaveDialog;
begin
Dialog := TSaveDialog.Create(self);
try
//dialog properties go here
Dialog.Filter := 'Title (*.ini)|*.ini';
Dialog.Options := Dialog.Options + [ofOverwritePrompt];
if Dialog.Execute then
begin
//any saving procedures go here if required
ShowMessage('File saved: ' + Dialog.FileName);
end
else
ShowMessage('Save file was cancelled');
finally
Dialog.Free;
end;
end;
如您所见,我将过滤器设置为ini
但根本不显示文件(它仍然保存)下面的过程是用户可以选择以前保存的文件的地方
procedure TForm1.LoadFileBtnClick(Sender: TObject);
Var
FileName, FileExtension : String;
SelectedFile : TOpenDialog;
begin
SelectedFile := TOpenDialog.Create(nil);
Try
if SelectedFile.Execute() then
FileName := SelectedFile.FileName
else
//Do whatever here if user doesn't select file
Finally
SelectedFile.Free; //Free dialog from memory
End;
FileExtension := ExtractFileExt(FileName);
if not (FileExtension = 'ini') then
exit
else
//Do whatever here if file extension matches specified type
end;
我得到文件名的扩展名并检查它的 ini. 在ShowMessage
那里查看返回什么值用于测试目的。当我点击一个 ini 文件时什么也没有返回,但是当我点击一个文本文件 '.txt' 时返回。为什么我的 ini 文件在它们是 ini 文件时保存为“文件”类型。
我如何更改我的加载文件程序以检测它是否为 ini 文件,如果不是则退出?
将 SaveDialog 中的属性 DefaultExt 设置为 '.ini' 这些将解决您的问题
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句