Delphi TOpenDialog设置多个过滤条件

网上阅读opendialog1.filter设置多个过滤条件,这方面资料,表述不准确。本人学习体会如下:

1、filter以"|" 作为1组过滤。 "|"左侧为 opendialog1显示的过滤提示字符,"|"左侧为过滤条件,如:'文档文件|*.doc‘;

2、过滤条件2个以上,可以通过“;”字符追加,如:'文档文件|*.doc;*.docx;*.txt;*.xls’;

3、如果2组过滤以上,通过 "|"字符追加,如:'文档文件|*.doc;*.docx;*.txt;*.xls;*.xlsx|Word文件|*.doc;*.docx‘;

下面是4组的示例:

      opendialog1.filter:='文档文件|*.doc;*.docx;*.txt;*.xls;*.xlsx|Word文件|*.doc;*.docx|Excel文件|*.xls;*.xlsx|所有文件|*.*';

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Delphi 10 中可以使用 TWebBrowser 组件来实现 Markdown 编辑器的基本功能。下面是一个简单的示例代码: 1. 创建一个新的 Delphi 项目。 2. 在主窗口上放置一个 TWebBrowser 组件,设置其 Align 属性为 alClient。 3. 在主窗口上放置一个 TToolBar 组件,设置其 Align 属性为 alTop。 4. 在 TToolBar 上放置一些按钮,例如 New、Open、Save、Bold、Italic、Link 等,设置它们的 OnClick 事件。 5. 在主窗口的 OnCreate 事件中加载一个空白的 Markdown 文件。 下面是示例代码: ```delphi unit MainForm; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ComCtrls, Vcl.OleCtrls, SHDocVw; type TMainForm = class(TForm) ToolBar1: TToolBar; NewButton: TToolButton; OpenButton: TToolButton; SaveButton: TToolButton; BoldButton: TToolButton; ItalicButton: TToolButton; LinkButton: TToolButton; WebBrowser1: TWebBrowser; procedure FormCreate(Sender: TObject); procedure NewButtonClick(Sender: TObject); procedure OpenButtonClick(Sender: TObject); procedure SaveButtonClick(Sender: TObject); procedure BoldButtonClick(Sender: TObject); procedure ItalicButtonClick(Sender: TObject); procedure LinkButtonClick(Sender: TObject); private { Private declarations } FFileName: string; function GetEditorContent: string; procedure SetEditorContent(const Value: string); public { Public declarations } property EditorContent: string read GetEditorContent write SetEditorContent; end; var MainForm: TMainForm; implementation {$R *.dfm} procedure TMainForm.FormCreate(Sender: TObject); begin FFileName := ''; EditorContent := ''; end; procedure TMainForm.NewButtonClick(Sender: TObject); begin FFileName := ''; EditorContent := ''; end; procedure TMainForm.OpenButtonClick(Sender: TObject); var OpenDialog: TOpenDialog; begin OpenDialog := TOpenDialog.Create(nil); try OpenDialog.Filter := 'Markdown Files (*.md)|*.md|All Files (*.*)|*.*'; if OpenDialog.Execute then begin FFileName := OpenDialog.FileName; EditorContent := TFile.ReadAllText(FFileName); end; finally OpenDialog.Free; end; end; procedure TMainForm.SaveButtonClick(Sender: TObject); begin if FFileName = '' then begin if SaveDialog.Execute then FFileName := SaveDialog.FileName else Exit; end; TFile.WriteAllText(FFileName, EditorContent); end; procedure TMainForm.BoldButtonClick(Sender: TObject); begin WebBrowser1.OleObject.Document.execCommand('Bold', False, Null); end; procedure TMainForm.ItalicButtonClick(Sender: TObject); begin WebBrowser1.OleObject.Document.execCommand('Italic', False, Null); end; procedure TMainForm.LinkButtonClick(Sender: TObject); var LinkURL: string; begin LinkURL := InputBox('Insert Link', 'Enter the URL:', ''); WebBrowser1.OleObject.Document.execCommand('CreateLink', False, LinkURL); end; function TMainForm.GetEditorContent: string; begin Result := WebBrowser1.OleObject.Document.Body.InnerHtml; end; procedure TMainForm.SetEditorContent(const Value: string); begin WebBrowser1.OleObject.Document.Body.InnerHtml := Value; end; end. ``` 在代码中使用了 TFile 类来读写文件,所以需要添加 System.IOUtils 单元。同时,还需要在项目选项中启用“Use MSHTML for HTML editing”选项,否则可能会出现一些问题。 这只是一个简单的示例,还可以添加更多的功能,例如预览、代码高亮、表格等,可以使用开源的 Markdown 库来实现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值