Delphi 文本编辑器的设计(四)
2008-02-23 07:17:34来源:互联网 阅读 ()
4.4.4 打开对话框部件
打开对话框部件为应用程序显示打开对话框。使用Execute方法可显示打开对话框用户通过选择文件类型下拉框中的文件类型,可以确定显示在文件列表中的文件。 例如,如果用户选择*.txt文件类型,那么只有在当前目录下的文本文件才会显示在文件列表中。文件扩展名通常也称为过滤器。
打开对话框包含一个
Filters(过滤器)的属性,它可确定文件类型和在文件类型下拉框中的顺序。应用程序可以为打开对话框定义多个过滤器,对话框的FilterIndex 属性可以决定哪个过滤器是文件类型下拉框中的缺省过滤器。如FilterIndex等于2,表示程序运行时出现在文件类型下拉框的过滤器是第2个过滤器。例程中关于文件打开的代码如下:
procedure TEditForm.Open/Click(Sender : TObject);
begin
if OpenDialog/.Execult then
begin
…
Open(Open Dialog/.FileName)
end
end;
打开,保存对话框中的
Options属性值见表4.4表4.4 打开、保存对话框的Options属性取值及含义
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
值 含义
──────────────────────────────────────
ofAllowMultiSelect 如果是真值,则允许在文件名列表中选择多个文件。
ofCreatePrompt 如果是真值,当用户在文件编辑框中输入一不存在的文件名,
并选择OK按钮,则会出现消息框, 提示用户此文件不存在并
询问是否以此文件名创建一新文件。
ofExiengronDifferent 如果是真值,从对话框中返回的文件扩展名将不同于缺省扩展名。
其值存入DefaultExt属性中。
ofFileMustExist 如果是真值, 当用户在文件编辑框中输入一个不存在的文件名时,
并选择OK按钮, 则会出现一消息框提示用户此文件不存,并询
问是否输入了正确的路径和文件名。
ofNoChangeDir 如果是真值,当前目录将设置成对话框第一次出现的目录,并忽
略任何目录改变。
ofOverWritePrompt 如果是真值,当用户试图保存一个已存在的文件时, 将出现一消息
框,提示用户此文件已存在,并询问是否覆盖。
ofPathMastExit 如果是真值,用户在文件名编辑框只能输入有效路径名, 否则出
现消息框,提示用户路径无效。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
表4.4 打开、保存对话框中的Options属性取值及含义
文件保存对话框与打开对话框类似,如图
4.11。它的Option属性见上表。例程在保存文件前先对文件进行读写判断,如果文件是只读文件或未指定文件名的新文件, 则程序对文件不保存,否则备份文件。代码如下:procedure TEditForm.Save1Click(Sender: TObject);
procedure CreateBackup(const Filename: string);
var
BackupFilename: string;
begin
BackupFilename := ChangeFileExt(Filename, BackupExt);
DeleteFile(BackupFilename);
RenameFile(Filename, BackupFilename);
end;
function IsReadOnly(const Filename: string): Boolean;
begin
Result := Boolean(FileGetAttr(Filename) and faReadOnly);
if Result then MessageDlg(Format('%s is read only.',
[ExtractFilename(Filename)]), mtWarning, [mbOK], 0);
end;
begin
if (Filename = '') or IsReadOnly(Filename) then
SaveAs1Click(Sender)
else
begin
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash