亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? main.pas

?? delphi代碼格式化,最新漢化版
?? PAS
字號:
{|----------------------------------------------------------------------
 | Unit:        Main
 |
 | Author:      Egbert van Nes
 |
 | Description: Main form for DelFor
 |
 | Copyright (c) 2000  Egbert van Nes
 |   All rights reserved
 |   Disclaimer and licence notes: see license.txt
 |
 |----------------------------------------------------------------------
}
unit Main;

interface

uses
  SysUtils, Windows, Messages, Classes, Graphics, Controls,
  Forms, Dialogs, StdCtrls, Buttons, ExtCtrls, Menus, ComCtrls, Delfor1;

type
  TMainForm = class(TForm)
    MainMenu: TMainMenu;
    FileOpenItem: TMenuItem;
    FileSaveItem: TMenuItem;
    FileSaveAsItem: TMenuItem;
    FileExitItem: TMenuItem;
    WindowTileItem: TMenuItem;
    WindowCascadeItem: TMenuItem;
    WindowArrangeItem: TMenuItem;
    HelpContentsItem: TMenuItem;
    HelpAboutItem: TMenuItem;
    StatusLine: TStatusBar;
    OpenDialog: TOpenDialog;
    SaveDialog: TSaveDialog;
    SpeedBar: TPanel;
    ExitButton: TSpeedButton;
    FileOpenButton: TSpeedButton;
    SaveButton: TSpeedButton;
    SaveAllButton: TSpeedButton;
    HelpButton: TSpeedButton;
    AboutButton: TSpeedButton;
    CloseAll1: TMenuItem;
    Format1: TMenuItem;
    FormatAllItem: TMenuItem;
    FormatCurrentItem: TMenuItem;
    OptionsItem: TMenuItem;
    FormatAllButton: TSpeedButton;
    FormatCurrentButton: TSpeedButton;
    SaveAllItem: TMenuItem;
    Edit1: TMenuItem;
    EditUndoItem: TMenuItem;
    N1: TMenuItem;
    EditCutItem: TMenuItem;
    EditPasteItem: TMenuItem;
    EditCopyItem: TMenuItem;
    FindDialog1: TFindDialog;
    N6: TMenuItem;
    WindowMinimizeAll: TMenuItem;
    EditRedoItem: TMenuItem; { &About... }
    procedure FormCreate(Sender: TObject);
    procedure ShowHint(Sender: TObject);
    procedure FileOpen(Sender: TObject);
    procedure FileSave(Sender: TObject);
    procedure FileSaveAs(Sender: TObject);
    procedure FileExit(Sender: TObject);
    procedure WindowTile(Sender: TObject);
    procedure WindowCascade(Sender: TObject);
    procedure WindowArrange(Sender: TObject);
    procedure HelpContents(Sender: TObject);
    procedure HelpAbout(Sender: TObject);
    procedure CloseAll1Click(Sender: TObject);
    procedure FormatAllItemClick(Sender: TObject);
    procedure FormatCurrentItemClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure SaveAllItemClick(Sender: TObject);
    procedure EditUndoItemClick(Sender: TObject);
    procedure EditCutItemClick(Sender: TObject);
    procedure EditCopyItemClick(Sender: TObject);
    procedure EditPasteItemClick(Sender: TObject);
    procedure EditFindItemClick(Sender: TObject);
    procedure FindDialog1Find(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure OptionsItemClick(Sender: TObject);
    procedure FileReloadAllItemClick(Sender: TObject);
    procedure WindowMinimizeAllClick(Sender: TObject);
    procedure EditRedoItemClick(Sender: TObject);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
  public
    Formatter: TPascalParser;
    ViewForm: TForm;
    procedure UpdateMenu;
    function GetActiveForm: TForm;
    procedure PerformFileOpen(AFileName: string);
    procedure Config(DoRead: Boolean);
  end;

var
  MainForm: TMainForm;

implementation
uses ViewWnd, Progr, About, OptDlg, Clipbrd;

{$R *.DFM}

procedure TMainForm.UpdateMenu;
var
  Child: TForm;
  I: Integer;
  P1, P2: TPoint;
  HasKids, HasChanged, FormattedAll: Boolean;
  CurrentFormatted, CurrentModified, HasSelected: Boolean;
begin
  HasKids := MDIChildCount > 0;
  HasChanged := False;
  FormattedAll := HasKids;
  for I := 0 to MDIChildCount - 1 do
  begin
    Child := MDIChildren[I];
    if Child is TViewForm then
      with TViewForm(Child), Memo1 do
      begin
        if AllFormatted then
          HasChanged := True
        else
        begin
          if Modified then
            HasChanged := True;
          FormattedAll := False;
        end;
      end;
  end;
  Child := GetActiveForm;
  CurrentFormatted := (Child <> nil) and (TViewForm(Child).CurrentFormatted);
  if Child <> nil then
  begin
    P1 := TViewForm(Child).Memo1.BlockBegin;
    P2 := TViewForm(Child).Memo1.BlockEnd;
  end;
  HasSelected := (Child <> nil) and not CompareMem(@P1, @P2, SizeOf(TPoint));
  CurrentModified := (Child <> nil) and (TViewForm(Child).Memo1.Modified);
  FileSaveItem.Enabled := HasKids and CurrentModified or CurrentFormatted;
  FileSaveAsItem.Enabled := HasKids;
  WindowTileItem.Enabled := HasKids;
  WindowCascadeItem.Enabled := HasKids;
  WindowArrangeItem.Enabled := HasKids;
  CloseAll1.Enabled := HasKids;
  FormatAllItem.Enabled := HasKids and not FormattedAll;
  FormatCurrentItem.Enabled := HasKids and not CurrentFormatted;
  SaveAllItem.Enabled := HasChanged;
  if ViewForm <> nil then
  begin
    EditUndoItem.Enabled := HasKids and TViewForm(ViewForm).Memo1.CanUndo;
    EditRedoItem.Enabled := HasKids and TViewForm(ViewForm).Memo1.CanRedo;
  end;
  EditCutItem.Enabled := HasKids and HasSelected;
  EditPasteItem.Enabled := HasKids and Clipboard.HasFormat(CF_TEXT);
  EditCopyItem.Enabled := HasKids and HasSelected;
  WindowMinimizeAll.Enabled := HasKids;
  SaveButton.Enabled := HasKids and CurrentModified or CurrentFormatted;
  SaveAllButton.Enabled := HasKids;
  FormatAllButton.Enabled := HasKids and not FormattedAll;
  FormatCurrentButton.Enabled := HasKids and not CurrentFormatted;
end;

procedure TMainForm.FormCreate(Sender: TObject);
begin
  Application.OnHint := ShowHint;
  Application.HelpFile := ChangeFileExt(ParamStr(0), '.hlp');
  Formatter := TPascalParser.Create(PChar(ExtractFilePath(ParamStr(0))));
  Formatter.CfgFile := ChangeFileExt(ParamStr(0), '.cfg');
  Config(True);
end;

procedure TMainForm.ShowHint(Sender: TObject);
begin
  StatusLine.SimpleText := Application.Hint;
end;

function GetNextFile(var ProjFile {, inFile}: Text; var FileName: string):
  Boolean;
var
  Buf: array[0..300] of Char;
  P, P2: PChar;
begin
  repeat
    Readln(ProjFile, Buf);
    if (StrScan(Buf, '''') <> nil) and
      (StrPos(Buf, ' in') <> nil) then
    begin
      P := StrScan(Buf, '''') + 1;
      P2 := StrScan(P, '''');
      if P2 <> nil then
      begin
        P2^ := #0;
        FileName := string(P);
      end;
      Result := True;
      Exit;
    end
  until Eof(ProjFile);
  Result := False;
end;

procedure TMainForm.PerformFileOpen(AFileName: string);
var
  {ViewForm: TViewForm;}
  ProjFile: TextFile;
  FileName, Dir: string;
begin
  if FileExists(AFileName) then
  begin
    if ViewForm = nil then
      ViewForm := TViewForm.Create(Self);
    with TViewForm(ViewForm) do
    begin
      LoadFile(AFileName);
      Show;
    end;
    if (CompareText(ExtractFileExt(AFileName),
      '.dpr') = 0) and (MessageDlg('Ok to open all files in the project "' +
        ExtractFileName(AFileName) + '" ?',
      mtConfirmation, [mbYes, mbNo], 0) = ID_YES) then
    begin
      AssignFile(ProjFile, AFileName);
      try
        Dir := ExtractFileDir(ExpandFileName(AFileName));
        if Dir <> '' then
          Chdir(Dir);
        Reset(ProjFile);
        while GetNextFile(ProjFile, FileName) do
        begin
          if ViewForm = nil then
            ViewForm := TViewForm.Create(Self);
          with TViewForm(ViewForm) do
          begin
            LoadFile(FileName);
            if Caption = '' then
              Free
            else
              Show;
          end;
        end;
      finally
        CloseFile(ProjFile);
      end;
    end;
  end;
end;

procedure TMainForm.FileOpen(Sender: TObject);
var
  I: Integer;
begin
  with OpenDialog do
    if Execute then
    begin
      with Files do
        for I := 0 to Count - 1 do
          PerformFileOpen(Files.Strings[I]);
    end;
  UpdateMenu;
end;

procedure TMainForm.FileSave(Sender: TObject);
var
  ViewForm: TForm;
begin
  ViewForm := Screen.ActiveForm;
  if (ViewForm <> nil) and (ViewForm is TViewForm) then
    TViewForm(ViewForm).SaveTo('');
  UpdateMenu;
end;

procedure TMainForm.FileSaveAs(Sender: TObject);
var
  ViewForm: TForm;
begin
  ViewForm := Screen.ActiveForm;
  if (ViewForm <> nil) and (ViewForm is TViewForm) then
  begin
    SaveDialog.FileName := ViewForm.Caption;
    if SaveDialog.Execute then
      with TViewForm(ViewForm) do
      begin
        SetCurrentFileName(SaveDialog.FileName);
        SaveCurrent;
      end;
  end;
  UpdateMenu;
end;

procedure TMainForm.FileExit(Sender: TObject);
begin
  Close;
end;

procedure TMainForm.WindowTile(Sender: TObject);
begin
  Tile;
end;

procedure TMainForm.WindowCascade(Sender: TObject);
begin
  Cascade;
end;

procedure TMainForm.WindowArrange(Sender: TObject);
begin
  ArrangeIcons;
end;

procedure TMainForm.HelpContents(Sender: TObject);
begin
  Application.HelpCommand(Help_Contents, 0);
end;

procedure TMainForm.HelpAbout(Sender: TObject);
begin
  AboutBox.ShowModal;
end;

procedure TMainForm.CloseAll1Click(Sender: TObject);
var
  I: Integer;
begin
  { Must be done backwards through the MDIChildren array }
  for I := MDIChildCount - 1 downto 0 do
    MDIChildren[I].Close;
  UpdateMenu;
end;

procedure TMainForm.FormatAllItemClick(Sender: TObject);
var
  I: Integer;
  Child: TForm;
begin
  ProgressDlg.Show;
  Application.ProcessMessages;
  for I := 0 to MDIChildCount - 1 do
  begin
    Child := MDIChildren[I];
    if Child is TViewForm then
      TViewForm(Child).FormatAll;
  end;
  ProgressDlg.Hide;
  UpdateMenu;
end;

procedure TMainForm.FormatCurrentItemClick(Sender: TObject);
begin
  ViewForm := Screen.ActiveForm;
  if (ViewForm <> nil) and (ViewForm is TViewForm) then
  begin
    ProgressDlg.Show;
    Application.ProcessMessages;
    TViewForm(ViewForm).FormatCurrent;
    if ProgressDlg <> nil then
      ProgressDlg.Hide;
  end;
  UpdateMenu;
end;

procedure TMainForm.FormShow(Sender: TObject);
var
  I: Integer;
  Dir: string;
begin
  if OptionsDlg <> nil then
    OptionsDlg.HelpFile := PChar(Application.HelpFile);
  if ProgressDlg <> nil then
  begin
    ProgressDlg.Hide;
    ProgressDlg.Parent := Application.MainForm;
  end;
  if paramCount > 0 then
  begin
    for I := 1 to paramCount do
      PerformFileOpen(ParamStr(I));
    Dir := ExtractFileDir(ExpandFileName(ParamStr(paramCount)));
    if Dir <> '' then
      Chdir(Dir);
  end;
  UpdateMenu;
  OptionsDlg.Formatter := Formatter;
end;

procedure TMainForm.SaveAllItemClick(Sender: TObject);
var
  Child: TForm;
  I: Integer;
  Action: TCloseAction;
begin
  for I := 0 to MDIChildCount - 1 do
  begin
    Child := MDIChildren[I];
    if Child is TViewForm then
      TViewForm(Child).FormClose(nil, Action);
  end;
  UpdateMenu;
end;

function TMainForm.GetActiveForm: TForm;
begin
  Result := TForm(Screen.ActiveForm);
  if (Result <> nil) and not (Result is TViewForm) then
    Result := nil;
end;

procedure TMainForm.EditUndoItemClick(Sender: TObject);
begin
  ViewForm := TForm(GetActiveForm);
  if ViewForm <> nil then
    TViewForm(ViewForm).Memo1.Undo;
end;

procedure TMainForm.EditCutItemClick(Sender: TObject);
begin
  ViewForm := TForm(GetActiveForm);
  if ViewForm <> nil then
    with TViewForm(ViewForm).Memo1 do
      CutToClipboard;
  UpdateMenu;
end;

procedure TMainForm.EditCopyItemClick(Sender: TObject);
begin
  ViewForm := TForm(GetActiveForm);
  if ViewForm <> nil then
    with TViewForm(ViewForm).Memo1 do
      CopyToClipboard;
end;

procedure TMainForm.EditPasteItemClick(Sender: TObject);
begin
  ViewForm := TForm(GetActiveForm);
  if ViewForm <> nil then
    with TViewForm(ViewForm).Memo1 do
      PasteFromClipboard;
end;

procedure TMainForm.EditFindItemClick(Sender: TObject);
begin
  ViewForm := TForm(GetActiveForm);
  if ViewForm <> nil then
  begin
    with TViewForm(ViewForm) do
    begin
      SelStart := 0;
      SelLength := 0;
    end;
    FindDialog1.Execute;
  end;

end;

procedure TMainForm.FindDialog1Find(Sender: TObject);
var
  SelPos, StartPos: Integer;
begin
  if ViewForm <> nil then
    with TViewForm(ViewForm), Memo1, FindDialog1 do
    begin
      { Perform a global case-sensitive search for FindText in Memo1 }
      StartPos := SelStart + SelLength;
      if frMatchCase in Options then
        SelPos := Pos(FindText, Lines.Text[StartPos])
      else
        SelPos := Pos({UpperCase}(FindText),
          {UpperCase}(Memo1.Lines.Text[StartPos]));
      if SelPos > 0 then
      begin
        SelStart := StartPos + SelPos - 1;
        SelLength := Length(FindText);
        ViewForm.SetFocus;
        CloseDialog;
      end
      else
        MessageDlg(Concat('Could not find "', FindText, '" in Memo1.'), mtError,
          [mbOK], 0);
    end;
  UpdateMenu;
end;

procedure TMainForm.FormDestroy(Sender: TObject);
begin
  Config(False);
  Formatter.Free;
  MainForm := nil;
end;

procedure TMainForm.OptionsItemClick(Sender: TObject);
begin
  OptionsDlg.ShowModal;
  if ViewForm <> nil then
  begin
    ProgressDlg.Show;
    TViewForm(ViewForm).FormatFormatted;
    ProgressDlg.Hide;
  end;
end;

procedure TMainForm.FileReloadAllItemClick(Sender: TObject);
var
  Child: TForm;
  I: Integer;
begin
  for I := 0 to MDIChildCount - 1 do
  begin
    Child := MDIChildren[I];
    if Child is TViewForm then
      with TViewForm(Child) do
        if {Formatted or} Memo1.Modified then
          LoadFile(Caption);
  end;
  ProgressDlg.Hide;
  UpdateMenu;
end;

procedure TMainForm.WindowMinimizeAllClick(Sender: TObject);
var
  I: Integer;
begin
  for I := MDIChildCount - 1 downto 0 do
    MDIChildren[I].WindowState := wsMinimized;
end;

procedure TMainForm.Config(DoRead: Boolean);
begin
  Formatter.Config(DoRead);
end;

procedure TMainForm.EditRedoItemClick(Sender: TObject);
begin
  if ViewForm <> nil then
    TViewForm(ViewForm).Memo1.Redo;
end;

procedure TMainForm.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
var
  i: integer;
begin
  CloseAll1Click(nil);
  CanClose := True;
  for i := 0 to MDIChildCount - 1 do
    if TForm(MDIChildren[i]).ModalResult = mrcancel then
      CanClose := False;
end;

end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品色综合| 亚洲一区二区在线播放相泽| 国产精品成人免费| 日韩成人午夜电影| 99久久婷婷国产综合精品| 777欧美精品| 亚洲精品水蜜桃| 国产91清纯白嫩初高中在线观看| 欧美女孩性生活视频| 亚洲另类在线视频| 成人av免费观看| 久久亚洲精华国产精华液 | 欧美三片在线视频观看| 久久久国产一区二区三区四区小说 | 欧美精品一区二区不卡| 日日摸夜夜添夜夜添精品视频| 不卡的电视剧免费网站有什么| 日韩一区二区三区电影| 亚洲成人av一区二区三区| 91免费观看视频| 国产精品福利电影一区二区三区四区| 久久超碰97人人做人人爱| 91精品欧美久久久久久动漫| 亚洲图片欧美色图| 色综合久久综合| 综合久久综合久久| 91亚洲精品久久久蜜桃网站| 欧美国产日本韩| av午夜一区麻豆| 最新中文字幕一区二区三区| jvid福利写真一区二区三区| 中文字幕不卡一区| 91网站在线播放| 亚洲天堂精品视频| 色婷婷综合久久久久中文| 怡红院av一区二区三区| 色综合久久88色综合天天免费| 一区二区中文视频| 99视频精品免费视频| 自拍av一区二区三区| 色国产综合视频| 亚洲午夜激情网页| 51精品视频一区二区三区| 日韩激情一二三区| 精品久久一区二区三区| 久久不见久久见免费视频1| 久久久久久黄色| 99国产精品99久久久久久| 一区二区三区四区激情| 欧美日韩国产精品自在自线| 老司机午夜精品| 国产欧美一区二区在线| 99在线精品观看| 亚洲一区二区三区不卡国产欧美| 911精品产国品一二三产区| 美女视频黄久久| 国产精品素人视频| 欧美四级电影网| 美女网站在线免费欧美精品| 国产女同互慰高潮91漫画| 欧洲一区在线电影| 精品一区二区在线观看| 亚洲特黄一级片| 日韩一区二区在线观看视频| 岛国av在线一区| 亚洲国产欧美日韩另类综合| 欧美不卡一区二区| www.视频一区| 久久99热国产| 亚洲精品国产高清久久伦理二区| 欧美一区二区三区在线视频| 国产99一区视频免费| 亚洲高清不卡在线观看| 久久久美女毛片| 欧美日韩国产一级二级| 高清不卡一区二区在线| 日韩精品色哟哟| 亚洲三级在线免费观看| 久久天天做天天爱综合色| 91精品1区2区| 成人夜色视频网站在线观看| 奇米四色…亚洲| 一区二区三区欧美激情| 久久免费精品国产久精品久久久久 | 一区二区久久久久久| 日韩欧美第一区| 在线观看不卡一区| 成人高清在线视频| 美腿丝袜亚洲三区| 亚洲国产cao| 亚洲男帅同性gay1069| 久久久精品日韩欧美| 欧美一区二区视频在线观看| 色呦呦一区二区三区| 国产.欧美.日韩| 精品一区二区三区在线播放视频| 亚洲一区二区四区蜜桃| 中文字幕一区二区三区不卡在线| 26uuu精品一区二区在线观看| 欧美精品久久天天躁| 欧洲精品在线观看| 91在线精品一区二区| 高清不卡一二三区| 粉嫩欧美一区二区三区高清影视| 久久 天天综合| 日本大胆欧美人术艺术动态| 视频一区二区三区入口| 亚洲综合在线第一页| 一区二区三区中文字幕在线观看| 中日韩免费视频中文字幕| 国产欧美一区视频| 国产区在线观看成人精品 | 国产成人av一区二区三区在线 | 日本美女一区二区三区视频| 亚洲大片精品永久免费| 一区二区三区产品免费精品久久75| 中文字幕五月欧美| 亚洲美腿欧美偷拍| 国产精品理论在线观看| 中文字幕一区二区三区在线播放| 亚洲欧洲av另类| 亚洲黄色av一区| 婷婷成人激情在线网| 免费精品视频最新在线| 美女一区二区三区| 国产成人啪免费观看软件| av成人动漫在线观看| 一本久久精品一区二区| 欧美日韩国产一级二级| 精品精品国产高清a毛片牛牛 | 91精品国产91久久久久久最新毛片| 91精品在线观看入口| 久久精品一区二区三区不卡牛牛| 亚洲国产精品ⅴa在线观看| 亚洲区小说区图片区qvod| 亚洲一区二区三区爽爽爽爽爽 | 亚洲国产精品久久久男人的天堂 | 一区二区三区四区亚洲| 午夜视频一区二区| 国精产品一区一区三区mba桃花 | 综合色天天鬼久久鬼色| 亚洲r级在线视频| 国产精品主播直播| 色婷婷综合五月| 欧美不卡123| 中文字幕日韩欧美一区二区三区| 亚洲成年人网站在线观看| 韩国三级中文字幕hd久久精品| 成人app在线观看| 制服丝袜中文字幕一区| 久久久久久一二三区| 亚洲夂夂婷婷色拍ww47| 韩国女主播成人在线| 欧美性色aⅴ视频一区日韩精品| 日韩欧美国产麻豆| 亚洲欧美激情小说另类| 久久精品国产网站| 91福利视频网站| 国产视频一区二区三区在线观看| 亚洲午夜av在线| 成人午夜视频福利| 欧美美女网站色| 亚洲裸体在线观看| 国产专区欧美精品| 欧美日本高清视频在线观看| 欧美高清一级片在线观看| 日韩在线播放一区二区| 色综合夜色一区| 国产欧美日韩三级| 毛片不卡一区二区| 欧美视频在线观看一区| 国产精品久久久久久亚洲毛片| 麻豆精品新av中文字幕| 欧美日韩黄色一区二区| 一区二区三区中文在线| 99久久久国产精品免费蜜臀| 久久一区二区三区国产精品| 日本伊人午夜精品| 欧美日本在线播放| 一区二区三区在线观看国产| av亚洲产国偷v产偷v自拍| 国产三区在线成人av| 麻豆国产精品官网| 欧美一区二区三区在线观看视频| 亚洲最新视频在线观看| 97精品久久久久中文字幕| 日本一区二区三区免费乱视频| 美女免费视频一区二区| 日韩欧美一级二级三级| 日韩福利视频导航| 制服丝袜一区二区三区| 热久久国产精品| 欧美一级xxx| 麻豆传媒一区二区三区| 欧美一级日韩不卡播放免费| 图片区小说区国产精品视频| 欧美日韩五月天| 日韩不卡一二三区| 欧美电影免费提供在线观看| 蜜桃精品在线观看|