⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 editfm.pas

📁 DELPHI 串口程序 小程序 我个人做的想程序给大家看看
💻 PAS
📖 第 1 页 / 共 2 页
字号:
end;
 //*********************************************************
//        重做
//*********************************************************
procedure Teditform.R1Click(Sender: TObject);
begin
     if hasundo then
     begin
        editor.Undo; //???
        hasundo:=false;
     end;
end;
 //*********************************************************
//      查找
//*********************************************************
procedure Teditform.F1Click(Sender: TObject);
begin
    dgfind.Execute;
end;
 //*********************************************************
//       查找  下一个 onfind 事件
//*********************************************************
procedure Teditform.DgFindFind(Sender: TObject);
var
  fpundpos,startpos,findlen:integer;
  st:tsearchtypes;
begin
   if not (frdown in dgfind.Options)then
   begin
      dgfind.CloseDialog;
      showmessage('对不起,目前只能处理向下查找');
      exit;
   end;
   startpos:=editor.SelStart+editor.sellength;
   findlen:=length(editor.Text)-startpos;
   st:=[];
   if frmatchcase in dgfind.options then
    st:=st+[stmatchcase];
   if frwholeword in dgfind.Options then
    st:=st+[stwholeword];
   fpundpos:=editor.findtext(dgfind.findtext,startpos,findlen,st);
   dgfind.closedialog;
   if fpundpos <> -1 then
   begin
      editor.SelStart :=fpundpos;
      editor.SelLength:=length(dgfind.FindText);
   end
   else
      showmessage('未找到'+dgfind.FindText);
end;
 //*********************************************************
//       替换
//*********************************************************
procedure Teditform.L1Click(Sender: TObject);
begin
    dgreplace.Execute;
end;
 //*********************************************************
//       DgReplace
//*********************************************************
procedure Teditform.DgReplaceReplace(Sender: TObject);
var
  foundpos,startpos,findlen:integer;
    st:tsearchtypes;
begin//tsearchtypes;
    if not (frdown in dgreplace.Options)then
    begin
       dgreplace.CloseDialog;
       showmessage('对不起,目前只能处理向下替换');
       exit;
    end;
    startpos:=editor.selstart+editor.sellength;
    findlen:=length(editor.Text)-startpos;
    st:=[];
    if frmatchcase in dgreplace.Options then
     st:=st+[stmatchcase];
    if frwholeword in dgreplace.Options then
     st:=st+[stwholeword];
    foundpos:=editor.findtext(dgreplace.FindText,startpos,findlen,st);
    dgreplace.CloseDialog;
    if foundpos <> -1 then
    begin
       while foundpos <> -1 do
       begin
          editor.SelStart:=foundpos;
          editor.SelLength:=length(dgreplace.FindText);
          editor.SelText:=dgreplace.ReplaceText;
          if not (frreplaceall in dgreplace.Options)then
          break;
          startpos:=editor.SelStart+length(dgreplace.ReplaceText);
          findlen:=length(editor.Text)-startpos;
          foundpos:=editor.FindText(dgreplace.FindText,startpos,findlen,st); 
       end;
       showmessage('替换完毕!');
    end
    else
    showmessage('未找到'+dgreplace.FindText);
end;
 //*********************************************************
//      字体
//*********************************************************
procedure Teditform.F2Click(Sender: TObject);
begin
    dgfont.font.Assign(editor.font);
    if dgfont.Execute then
     editor.SelAttributes.Assign(dgfont.Font);
end;
 //*********************************************************
//       自动换行
//*********************************************************
procedure Teditform.W1Click(Sender: TObject);
begin
   with editor do
   begin
      wordwrap:=not wordwrap;//????
      if wordwrap then
       scrollbars:=ssvertical
      else
       scrollbars:=ssboth;
       w1.Checked:=wordwrap;
   end;
end;
 //*********************************************************
//      居左
//*********************************************************
procedure Teditform.mileftClick(Sender: TObject);
begin
    mileft.checked:=true;
    micenter.checked:=false;
    miright.checked:=false;
    editor.Paragraph.Alignment:=taleftjustify; //??
end;
 //*********************************************************
//      居中
//*********************************************************
procedure Teditform.micenterClick(Sender: TObject);
begin
    mileft.Checked:=false;
    micenter.checked:=true;
    miright.Checked:=false;
    editor.Paragraph.Alignment:=tacenter;
end;
 //*********************************************************
//      居右
//*********************************************************
procedure Teditform.mirightClick(Sender: TObject);
begin
    mileft.Checked:=false;
    micenter.Checked:=false;
    miright.Checked:=true;
    editor.Paragraph.Alignment:=tarightjustify;
end;
 //*********************************************************
//      关于
//*********************************************************
procedure Teditform.N7Click(Sender: TObject);
begin
   form2.ShowModal;
end;
 //*********************************************************
//      form oncreate
//*********************************************************
procedure Teditform.FormCreate(Sender: TObject);
begin
    pathname:=defaultfilename;
    hasundo:=false;  //??
end;
 //*********************************************************
//     提示用户保存工作
//*********************************************************
procedure Teditform.checktextmodified;
begin
   if editor.Modified then //???
   begin
       case application.MessageBox('文件没有保存!要保存吗?',
       '提示',mb_yesno+mb_iconquestion) of
       idyes: misaveclick(self);  //???
       end;
   end;
end;
 //*********************************************************
//     关闭提示用户保存工作
//*********************************************************
procedure Teditform.FormClose(Sender: TObject; var Action: TCloseAction);
begin
    checktextmodified;
end;
//*********************************************************
//          剪切
//*********************************************************
procedure Teditform.ToolButton1Click(Sender: TObject);
begin
   editor.CutToClipboard;
end;
 //*********************************************************
//          复制
//*********************************************************
procedure Teditform.ToolButton2Click(Sender: TObject);
begin
   editor.copyToClipboard;
end;
//*********************************************************
//          粘贴
//*********************************************************
procedure Teditform.ToolButton3Click(Sender: TObject);
begin
    editor.PasteFromClipboard;
end;
 //*********************************************************
//       撤消
//*********************************************************
procedure Teditform.ToolButton4Click(Sender: TObject);
begin
   if not hasundo then
     begin
        editor.Undo;
        hasundo:=true;
     end;
end;
 //*********************************************************
//        重做
//*********************************************************
procedure Teditform.ToolButton5Click(Sender: TObject);
begin
   if hasundo then
     begin
        editor.Undo;
        hasundo:=false;
     end;
end;
 //*********************************************************
//      字体
//*********************************************************
procedure Teditform.ToolButton6Click(Sender: TObject);
begin
     dgfont.font.Assign(editor.font);
    if dgfont.Execute then
     editor.SelAttributes.Assign(dgfont.Font);  //??
end;
 //*********************************************************
//        已修改
//*********************************************************
procedure Teditform.EditorChange(Sender: TObject);
begin
    if editor.Modified then
     statusbar.Panels[1].Text :='已修改'
    else
     statusbar.panels[1].text:=' ';
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -