TEMainFrm.pas
上传用户:daoqigc
上传日期:2021-04-20
资源大小:2795k
文件大小:3k
源码类别:

RichEdit

开发平台:

Delphi

  1. unit TEMainFrm;
  2. {------------------------------------------------------------------------------}
  3. {
  4.   Very simple template editor for "mail merging"
  5.   It loads and saves a template in TEMPLATE.RVF.
  6.   See mail merging application in the same directory - MAILMERGE.
  7.   Main settings:
  8.   - since field names are stored in tags (see the help topic about tags)
  9.     as strings, rvoTagsArePChars is included in Options of rve.
  10.   - this demo uses a predefined set of styles (right click richviews,
  11.     choose "Settings" from the context menu, choose "Use a predefined
  12.     set of styles"). That means - only two text styles (see below) will be used.
  13.   - rve.Style has two styles:
  14.     0th style - normal text,
  15.     1st - field code (bold, with background, protected)
  16. }
  17. {------------------------------------------------------------------------------}
  18. interface
  19. uses
  20.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
  21.   Dialogs, RVStyle, RVScroll, RichView, RVEdit, StdCtrls, ExtCtrls;
  22. type
  23.   TForm1 = class(TForm)
  24.     Panel1: TPanel;
  25.     Button1: TButton;
  26.     Button2: TButton;
  27.     rve: TRichViewEdit;
  28.     RVStyle1: TRVStyle;
  29.     Button4: TButton;
  30.     procedure Button4Click(Sender: TObject);
  31.     procedure Button1Click(Sender: TObject);
  32.     procedure Button2Click(Sender: TObject);
  33.     procedure FormCreate(Sender: TObject);
  34.   private
  35.     { Private declarations }
  36.   public
  37.     { Public declarations }
  38.   end;
  39. var
  40.   Form1: TForm1;
  41. implementation
  42. {$R *.dfm}
  43. procedure TForm1.FormCreate(Sender: TObject);
  44. begin
  45.   rve.LoadRVF(ExtractFilePath(Application.ExeName)+'template.rvf');
  46.   rve.Format;
  47. end;
  48. procedure TForm1.Button4Click(Sender: TObject);
  49. begin
  50.   rve.SaveRVF(ExtractFilePath(Application.ExeName)+'template.rvf', False);
  51. end;
  52. {------------------------------------------------------------------------------}
  53. {
  54.   Inserting a field "code". Text of this item does not matter, but tag
  55.   is important and equal to "code".
  56.   Since rvprDoNotAutoSwitch is in Protection of the 1st text style,
  57.   a current style will be switched back to previous value after insertion.
  58. }
  59. {------------------------------------------------------------------------------}
  60. procedure TForm1.Button1Click(Sender: TObject);
  61. begin
  62.   rve.CurTextStyleNo := 1;
  63.   rve.InsertStringTag('Code', Integer(StrNew('code')));
  64.   rve.SetFocus;  
  65. end;
  66. {------------------------------------------------------------------------------}
  67. {
  68.   Inserting a field "name".
  69. }
  70. {------------------------------------------------------------------------------}
  71. procedure TForm1.Button2Click(Sender: TObject);
  72. begin
  73.   rve.CurTextStyleNo := 1;
  74.   rve.InsertStringTag('Name', Integer(StrNew('name')));
  75.   rve.SetFocus;
  76. end;
  77. end.