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

📄 mainedit.pas

📁 大家是不是为不知道如何在VB学到绝地程序
💻 PAS
📖 第 1 页 / 共 5 页
字号:
{***************************************************************
 * Initialization Date : 99-12-15 8:55:49
 *
 * Unit Name   : MainEdit
 * Version     : V1.0.1.4
 * Date        : 2000-11-15
 * Purpose     :
 * Author      : riceball (teditor@mailroom.com)
 * Copyright(C): 1999, 2000 by riceball
 * History     :
 *   Note:I have three project to do now, so rewrite JediEdit will take me a long time.
 *        I released this just for those hope me release it to fix bugs.
 *
 *        Initialization Convert to SynEdit and contributed by Adem Baba<adembaba@excite.com>
             So, Tab char supported.
            Thanks Adem.B. Some words come from Adem.B.:
          1) I used TGIFImage instead of Rx Stuff --I like that one better,
          but, of course you are welcome to stick with your way.

          2) I used the latest RegExpr source but had to rename the
          class so that it did not conflict with Rx stuff. What it is
          will be obvious when you compile this source. You will want
          to rename it back to original.

          3) SynEdit (the one I have at least) did not have SybaseSQLSyn
          but has PostgressSQLSyn (I used PostgressSQLSyn, instead)

          4) Similarly, SynEdit did not have ResourceSyn, so I used a
          GeneralSyn, you might want to remove this.

          5) I renamed all the Syn VCLs so that they reflect their
          underlying class better.

          6) I did not test all the source, only one that DFMSyn
          does not work; it probably has something to do with the
          fact that my DFMs are not saved in text mode :-)

          7) I also altered HyperLink.Pas stuff a bit so that
          it looks nicer in the property editor. You might want
          to use it; then again you might not.

          Finally, is that such a good idea to include a 450 kB
          GIF source in the EXE. It is after all 2 Meg Exe, and
          takes longer to load/unload than TextPad...

          Anyway, hope you like the new sources.

 *        2000-11-04
 *           ! Code Template
 *           ! binary DFM Load
 *           ! Interface Justified
 *        2000-11-15 <1.0.1.4 Released>
 *           + Jediedit speaking Turksih Now!!!
 *             translated by Mustafa Kemal Ugurlu(mku@gmx.com.tr)
 *           * Code Template Worked!
 *           * Reduce Gif Size down to 39kb in the Exe.
 *           * binary DFM Worked!
 *           * Minor bugs fixed!
 *        2000-11-17
 *           * Can't Save New File
 *_______________________________________________________________
 *legend:
 *  +  New Feature Added.
 *  #  New(Todo) Feature Added, but not work , just a start.
 *  -  Old Feature removed.
 *  *  Bug Fixed.
 *  !  Bug Found, Not Fixed.
 *  ^  My Todo Wish.
 ****************************************************************}

Unit MainEdit;

Interface

Uses
  {$IFDEF debug}
  dbugintf,
  {$ENDIF}
  Windows,
  Messages,
  SysUtils,
  Classes,
  Graphics,
  Controls,
  Forms,
  Dialogs,
  ShellAPI,
  StdActns,
  ActnList,
  ImgList,
  Menus,
  {ToolWin,}
  ComCtrls,
  ExtCtrls,
  StdCtrls,
  MRUList,
  HexEditor,
  RxVerInf,
  SynEditTypes,
  SynHighlighterGeneral,
  SynEditHighlighter,
  SynEdit,
  SynEditExport,
  SynEditSearch,
  SynEditKeyCmds,
  SynEditAutoComplete,
  SynEditPrintTypes, {added}
  SynEditPrint, {added}
  SynHighlighterDfm,
  OptionsDialog,
  AsciiChart,
  Printers,
  vgNLS,
  JediLocalStr,
  ToolWin,
  Recorder,
  Placemnt;

Const {Constants and variables used in the file association and running instance code}
  WM_OPENEDITOR = WM_USER + 1;
  WM_NOTEXISTS = WM_USER + 2;
  WM_RESTOREAPP = WM_USER + 3;
  MyUniqueConst = $108888;

Const
  sDateTimeFormat: String = 'yyyy-mm-dd';
  CanUndoAfterSave: Boolean = False;
  BackupFile: Boolean = False;
  OverwriteBackup: Boolean = True;
  KeepLastOpen: Boolean = False;
  ShowSpecialLineColor: Boolean = True;
  DefaultFileNameCount: Integer = 1;
  CollaspeColor = clGray;
  CollaspeFGColor = clWhite;
  ExpandColor = clBlue;
  ExpandFGColor = clWhite;

Var
  WM_FINDINSTANCE: Integer;

Type
  TBookMarksSet = Set Of 0..9;

  TfrmJediEdit = Class(TForm)
    tbbLine: TToolButton;
    ActionList: TActionList;
    ImageList: TImageList;
    EditCopy: TEditCopy;
    EditCut: TEditCut;
    EditPaste: TEditPaste;
    tbMain: TToolBar;
    tbbCut: TToolButton;
    tbbCopy: TToolButton;
    tbbPaste: TToolButton;
    ToolButton6: TToolButton;
    ToolButton7: TToolButton;
    tbbSave: TToolButton;
    tbbOpen: TToolButton;
    tbbNew: TToolButton;
    FileNew: TAction;
    FileOpen: TAction;
    FileSave: TAction;
    FileSaveas: TAction;
    PageControl: TPageControl;
    OpenFileDialog: TOpenDialog;
    SaveDialog: TSaveDialog;
    FileClose: TAction;
    EditorPopup: TPopupMenu;
    pmiCut: TMenuItem;
    pmiCopy: TMenuItem;
    pmiPaste: TMenuItem;
    pmiClose: TMenuItem;
    N7: TMenuItem;
    EditSelectAll: TAction;
    tbHighlighter: TToolBar;
    cbxHighlighter: TComboBox;
    tbbUndo: TToolButton;
    tbbRedo: TToolButton;
    tbbFind: TToolButton;
    ToolButton15: TToolButton;
    EditUndo: TAction;
    EditRedo: TAction;
    EditFind: TAction;
    pmiSelectAll: TMenuItem;
    EditFindNext: TAction;
    PrinterSetupDialog: TPrinterSetupDialog;
    EditReplace: TAction;
    ColumnSelection: TAction;
    NormalSelection: TAction;
    LineSelection: TAction;
    MainMenu: TMainMenu;
    mmiFile1: TMenuItem;
    mmiNew: TMenuItem;
    mmiOpen: TMenuItem;
    mmiReopen: TMenuItem;
    mmiSave: TMenuItem;
    mmiSaveAs: TMenuItem;
    N1: TMenuItem;
    mmiExport: TMenuItem;
    N2: TMenuItem;
    mmiPrint: TMenuItem;
    mmiPrintSetup: TMenuItem;
    N6: TMenuItem;
    mmiExit: TMenuItem;
    mmiEdit: TMenuItem;
    mmiUndo: TMenuItem;
    mmiRedo: TMenuItem;
    N5: TMenuItem;
    mmiCut: TMenuItem;
    mmiCopy: TMenuItem;
    mmiPaste: TMenuItem;
    N3: TMenuItem;
    mmiFind: TMenuItem;
    mmiNext: TMenuItem;
    mmiReplace: TMenuItem;
    N8: TMenuItem;
    mmiSelectall: TMenuItem;
    mmiInsertDate: TMenuItem;
    N4: TMenuItem;
    mmiColumnSel: TMenuItem;
    mmiLineSel: TMenuItem;
    mmiNormalSel: TMenuItem;
    MenuItem1: TMenuItem;
    mmiReadOnly: TMenuItem;
    S1: TMenuItem;
    mmiToolbar: TMenuItem;
    mmiStatusbar: TMenuItem;
    mmiOption: TMenuItem;
    n11: TMenuItem;
    mmiLinesNum: TMenuItem;
    H1: TMenuItem;
    mmiAbout: TMenuItem;
    mmiBugRpt: TMenuItem;
    MRUManager: TMRUManager;
    ShowLineNo: TAction;
    Print: TAction;
    PrintSetup: TAction;
    ExportDialog: TSaveDialog;
    EditDateTime: TAction;
    ToolButton1: TToolButton;
    ControlBar1: TControlBar;
    tbbNormal: TToolButton;
    tbbColumn: TToolButton;
    StatusBar: TStatusBar;
    Quit: TAction;
    EditGotoLine: TAction;
    tbbShowLineNo: TToolButton;
    tbbInsertDateTime: TToolButton;
    ToolButton2: TToolButton;
    FileExport: TAction;
    HelpAbout: TAction;
    ToolButton3: TToolButton;
    tbbQuit: TToolButton;
    tbbReplace: TToolButton;
    ViewStatusbar: TAction;
    ViewToolbar: TAction;
    SeToptions: TAction;
    miClose: TMenuItem;
    tbbEditorOptions: TToolButton;
    EditReadOnly: TAction;
    EditHexView: TAction;
    H2: TMenuItem;
    n10: TMenuItem;
    miToggleBookmarks: TMenuItem;
    miGotoBookmarks: TMenuItem;
    T1: TMenuItem;
    T2: TMenuItem;
    T0: TMenuItem;
    T3: TMenuItem;
    T4: TMenuItem;
    T5: TMenuItem;
    T6: TMenuItem;
    T7: TMenuItem;
    T8: TMenuItem;
    T9: TMenuItem;
    G0: TMenuItem;
    G1: TMenuItem;
    G2: TMenuItem;
    G3: TMenuItem;
    G4: TMenuItem;
    G5: TMenuItem;
    G6: TMenuItem;
    G7: TMenuItem;
    G8: TMenuItem;
    G9: TMenuItem;
    Bookmark: TAction;
    mmiWindows: TMenuItem;
    WindowsList: TAction;
    mmiAsciiChart: TMenuItem;
    mmiTools: TMenuItem;
    ToolsAsciiChart: TAction;
    n12: TMenuItem;
    ASCII1: TMenuItem;
    ViewHighlighter: TAction;
    T10: TMenuItem;
    H3: TMenuItem;
    PrintDialog: TPrintDialog;
    EditFindInFiles: TAction;
    S2: TMenuItem;
    tbbFindInFiles: TToolButton;
    pnlBottomDockSite: TPanel;
    sptBottom: TSplitter;
    ViewFindInFiles: TAction;
    mmiFindInFiles: TMenuItem;
    mmiLanguage: TMenuItem;
    miCollaspe: TMenuItem;
    EditCollaspe: TAction;
    mmiCollaspe: TMenuItem;
    EditCollaspeAll: TAction;
    EditExpandAll: TAction;
    N9: TMenuItem;
    mmiCollaspeAll: TMenuItem;
    mmiExpandAll: TMenuItem;
    n13: TMenuItem;
    miCollaspeAll: TMenuItem;
    miExpandAll: TMenuItem;
    MacroPlay: TAction;
    MacroPause: TAction;
    MacroStop: TAction;
    MacroManage: TAction;
    MacroRecord: TAction;
    tbMacro: TToolBar;
    tbbPlay: TToolButton;
    tbbRecord: TToolButton;
    tbbStop: TToolButton;
    tbbPause: TToolButton;
    mmiMacro: TMenuItem;
    MacroPlay1: TMenuItem;
    MacroRecord1: TMenuItem;
    MacroPause1: TMenuItem;
    MacroStop1: TMenuItem;
    n14: TMenuItem;
    MacroManage1: TMenuItem;
    ViewMacrobar: TAction;
    MacroToolbar1: TMenuItem;
    FormStorage1: TFormStorage;
    Procedure FormShow(Sender: TObject);
    Procedure FileNewExecute(Sender: TObject);
    Procedure FormCreate(Sender: TObject);
    Procedure FileOpenExecute(Sender: TObject);
    Procedure FileSaveExecute(Sender: TObject);
    Procedure FileSaveAsExecute(Sender: TObject);
    Procedure EditCopyExecute(Sender: TObject);
    Procedure EditCutExecute(Sender: TObject);
    Procedure EditPasteExecute(Sender: TObject);
    Procedure FileCloseExecute(Sender: TObject);
    Procedure FormCloseQuery(Sender: TObject; Var CanClose: Boolean);
    Procedure PageControlChange(Sender: TObject);
    Procedure cbxHighlighterChange(Sender: TObject);
    Procedure EditSelectAllExecute(Sender: TObject);
    Procedure EditUndoExecute(Sender: TObject);
    Procedure EditRedoExecute(Sender: TObject);
    Procedure EditFindExecute(Sender: TObject);
    Procedure EditFindNextExecute(Sender: TObject);
    Procedure NormalSelectionExecute(Sender: TObject);
    Procedure ColumnSelectionExecute(Sender: TObject);
    Procedure LineSelectionExecute(Sender: TObject);
    Procedure ShowLineNoExecute(Sender: TObject);
    Procedure EditDateTimeExecute(Sender: TObject);
    Procedure QuitExecute(Sender: TObject);
    Procedure FileExportExecute(Sender: TObject);
    Procedure FormDestroy(Sender: TObject);
    Procedure EditGotoLineExecute(Sender: TObject);
    Procedure MRUManagerClick(Sender: TObject; Const RecentName, Caption: String; UserData: Integer);
    Procedure EditReplaceExecute(Sender: TObject);
    Procedure HelpAboutExecute(Sender: TObject);
    Procedure ViewStatusbarExecute(Sender: TObject);
    Procedure ViewStatusbarUpdate(Sender: TObject);
    Procedure ViewToolbarExecute(Sender: TObject);
    Procedure ViewToolbarUpdate(Sender: TObject);
    Procedure SetOptionsExecute(Sender: TObject);
    Procedure EditReadonlyExecute(Sender: TObject);
    Procedure BugRptClick(Sender: TObject);
    Procedure ControlBar1GetSiteInfo(Sender: TObject; DockClient: TControl; Var InfluenceRect: TRect; MousePos: TPoint; Var CanDock: Boolean);
    Procedure PageControlGetSiteInfo(Sender: TObject; DockClient: TControl; Var InfluenceRect: TRect; MousePos: TPoint; Var CanDock: Boolean);
    Procedure PageControlDockOver(Sender: TObject; Source: TDragDockObject; X, Y: Integer; State: TDragState; Var Accept: Boolean);
    Procedure EditHexViewExecute(Sender: TObject);
    Procedure ToggleBookmarks(Sender: TObject);
    Procedure GotoBookmarks(Sender: TObject);
    Procedure miBookmarksClick(Sender: TObject);
    Procedure WindowsListExecute(Sender: TObject);
    Procedure ToolsAsciiChartExecute(Sender: TObject);
    Procedure ViewHighlighterExecute(Sender: TObject);
    Procedure ViewHighlighterUpdate(Sender: TObject);
    Procedure PrintExecute(Sender: TObject);
    Procedure PrintSetupExecute(Sender: TObject);
    Procedure EditFindInFilesExecute(Sender: TObject);
    Procedure pnlBottomDockSiteGetSiteInfo(Sender: TObject; DockClient: TControl; Var InfluenceRect: TRect; MousePos: TPoint; Var CanDock: Boolean);
    Procedure pnlBottomDockSiteDockDrop(Sender: TObject; Source: TDragDockObject; X, Y: Integer);
    Procedure pnlBottomDockSiteUnDock(Sender: TObject; Client: TControl; NewTarget: TWinControl; Var Allow: Boolean);
    Procedure ViewFindInFilesExecute(Sender: TObject);
    Procedure ViewFindInFilesUpdate(Sender: TObject);
    Procedure EditCollaspeExecute(Sender: TObject);
    Procedure EditCollaspeAllExecute(Sender: TObject);

⌨️ 快捷键说明

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