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

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

?? delexpert.pas

?? delphi代碼格式化,最新漢化版
?? PAS
?? 第 1 頁 / 共 2 頁
字號:
{|----------------------------------------------------------------------
 | Unit:        DelExpert
 |
 | Author:      Egbert van Nes
 |
 | Description: The main form of DelForExp
 |
 | Copyright (c) 2000  Egbert van Nes
 |   All rights reserved
 |   Disclaimer and licence notes: see license.txt
 |
 |----------------------------------------------------------------------
}
unit DelExpert;

interface

uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls,
  Buttons, ExtCtrls, Delfor1, ToolsAPI, ComCtrls;
type
  TBookMarkRed = record
    Exists: Boolean;
    BookMarkNo: Integer;
    FPos: TOTAEditPos;
  end;

  TBookmarks = array[0..19] of TBookMarkRed;

  TBreakPoint = record
    StackFramesToLog: Integer;
    DoHandleExceptions: Boolean;
    DoIgnoreExceptions: Boolean;
    GroupName: string;
    DoBreak: Boolean;
    LogMessage: string;
    EvalExpression: string;
    LogResult: Boolean;
    EnableGroup: string;
    DisableGroup: string;
    Enabled: Boolean;
    Expression: string;
    FileName: string;
    LineNumber: Integer;
    PassCount: Integer;
  end;

  TBreakPoints = array of TBreakPoint;

  TDelExpertDlg = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    CurrentBtn: TButton;
    WholeProjBtn: TButton;
    OptionsButton: TButton;
    CancelBtn: TButton;
    HelpBtn: TButton;
    AllButton: TButton;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    RichEdit1: TRichEdit;
    procedure Label6Click(Sender: TObject);
    procedure CurrentBtnClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure OptionsButtonClick(Sender: TObject);
    procedure WholeProjBtnClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure AllButtonClick(Sender: TObject);
    procedure HelpBtnClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure Label4Click(Sender: TObject);
  private
    ISourceEditor: IOTASourceEditor;
    FCurPos: TOTAEditPos;
    Bookmarks: TBookmarks;
    BreakPoints: TBreakPoints;
    procedure BeforeFormat(AFileName: string);
    procedure AfterFormat;

    procedure FormatterProgress(Sender: TObject; Progress: Integer);
    procedure CapFileNameEditChange(Sender: TObject);
  public
    HelpFile: string;
    CfgFile: string;
    procedure DoFormatFile(AFileName: string);
    { Public declarations }
  end;

var
  DelExpertDlg: TDelExpertDlg = nil;
  Formatter: TPascalParser = nil;

implementation
uses DelForExpert, DelForTypes, MyIDEStream, Progr, OptDlg, Dialogs,
  Setup1, ShellAPI, OTAUtils;

{$R *.DFM}

function IsReadonlyFile(const FileName: string): Boolean;
var
  Attributes: Integer;
begin
  Attributes := FileGetAttr(FileName);
  Result := {(Attributes = -1) or}((Attributes and
    faReadOnly) > 0);
end;

function StrInsert(Str1, Str2: PChar; I: Integer): PChar;
var
  LenStr2: Integer;
begin
  if I < 0 then
    I := 0;
  LenStr2 := StrLen(Str2);
  StrMove(Str1 + I + LenStr2, Str1 + I, Integer(StrLen(Str1)) - I + 1);
  StrMove(Str1 + I, Str2, LenStr2);
  StrInsert := Str1;
end;

function MakeBakFile(Dest, FileName: PChar): PChar;
var
  F: file;
  P: PChar;
begin
  if FileExists(FileName) then
  begin
    MakeBakFile := StrCopy(Dest, FileName);
    P := StrRScan(Dest, '.');
    if P = nil then
      StrCat(Dest, '.~')
    else
    begin
      (StrEnd(P) - 1)^ := #0;
      StrInsert(P + 1, '~', 0);
    end;
    DeleteFile(string(Dest));
    AssignFile(F, FileName);
    {try}
    Rename(F, Dest);
    {except
      on EInOutError do ;
    end;}
  end
  else
  begin
    Dest[0] := #0;
    MakeBakFile := Dest;
  end;
end;

function FormatFile(Param: Pointer; const FileName, UnitName,
  FormName: string): Boolean stdcall;
var
  BakFile: array[0..255] of Char;
  ExtName: string;
begin
  Result := True;
  ExtName := LowerCase(ExtractFileExt(FileName));
  if ((ExtName = '.pas') or (ExtName = '.dpr'))
    and (Trim(FileName) <> '') then
  begin
    if OtaIsFileOpen(FileName) then
      DelExpertDlg.DoFormatFile(FileName)
    else
      if (Param = nil) then
      begin
        if FileExists(FileName) and not
          IsReadonlyFile(FileName) then
        begin
        { IF PARAM<>NIL then only open files}
          if ProgressDlg.Visible then
          begin
          {if file not open then load from file}
            ProgressDlg.SetFileName(FileName);
            Application.ProcessMessages;
            Formatter.Clear;
            with Formatter do
            begin
              try
                Clear;
                try
                  MakeBakFile(BakFile, PChar(FileName));
                  LoadFromFile(BakFile);
                  if Parse then
                    WriteToFile(PChar(FileName));
                except
                  on E: EInOutError do
                    ShowMessage('I/O Error [' + E.Message + '] with "' +
                      FileName
                      +
                      '"');
                end;
              finally
                Formatter.Clear;
              end;
            end;
          end;
        end
        else
        begin
          ShowMessage('Can not find "' + FileName + '"');
        end;
      end;
  end;
end;


procedure TDelExpertDlg.CapFileNameEditChange(Sender: TObject);
begin
//  if (OptionsDlg <> nil) then
//    with OptionsDlg do
//      SaveFile(CapFileNameEdit.Text);
end;

procedure TDelExpertDlg.FormatterProgress(Sender: TObject; Progress: Integer);
begin
  ProgressDlg.ProgressBar1.Position := Progress;
end;

procedure TDelExpertDlg.CurrentBtnClick(Sender: TObject);
begin
  ProgressDlg.Show;
  DoFormatFile('');
  ProgressDlg.Hide;
end;

procedure TDelExpertDlg.AfterFormat;
  procedure AddBreakPoint;
  var DebugSvs: IOTADebuggerServices;
    tmp: TBreakPoint;
    NewBreakPoint: IOTABreakpoint;
    j: integer;
  begin
    if Assigned(BorlandIDEServices)
      and Supports(BorlandIDEServices, IOTADebuggerServices, DebugSvs) then
    begin
      for j := 0 to Length(BreakPoints) - 1 do
      begin
        tmp := BreakPoints[j];
        NewBreakPoint := DebugSvs.NewSourceBreakpoint(tmp.FileName,
          tmp.LineNumber, DebugSvs.CurrentProcess);
        NewBreakPoint.StackFramesToLog := tmp.StackFramesToLog;
        NewBreakPoint.DoHandleExceptions := tmp.DoHandleExceptions;
        NewBreakPoint.DoIgnoreExceptions := tmp.DoIgnoreExceptions;
        NewBreakPoint.GroupName := tmp.GroupName;
        NewBreakPoint.DoBreak := tmp.DoBreak;
        NewBreakPoint.LogMessage := tmp.LogMessage;
        NewBreakPoint.EvalExpression := tmp.EvalExpression;
        NewBreakPoint.LogResult := tmp.LogResult;
        NewBreakPoint.EnableGroup := tmp.EnableGroup;
        NewBreakPoint.DisableGroup := tmp.DisableGroup;
        NewBreakPoint.Enabled := tmp.Enabled;
        NewBreakPoint.Expression := tmp.Expression;
        NewBreakPoint.PassCount := tmp.PassCount;
      end;
      //DebugSvs.NewSourceBreakpoint('Unit1.pas',21,DebugSvs.CurrentProcess);
    end;
    BreakPoints := nil;
  end;
var i: Integer;
begin
  if Assigned(ISourceEditor) and (ISourceEditor.EditViewCount > 0) then
  begin
    for i := 0 to 19 do
    begin
      if Bookmarks[i].Exists then
      begin
        ISourceEditor.EditViews[0].CursorPos := Bookmarks[i].FPos;
        ISourceEditor.EditViews[0].BookmarkRecord(Bookmarks[i].BookMarkNo);
      end;
    end;
    ISourceEditor.EditViews[0].CursorPos := FCurPos;
//    ISourceEditor.EditViews[0].MoveViewToCursor;
    ISourceEditor.EditViews[0].Paint;
    ISourceEditor := nil;
  end;
  AddBreakPoint;
end;

procedure TDelExpertDlg.BeforeFormat(AFileName: string);

  function GetTheModule: IOTAModule;
  var SVC: IOTAModuleServices;
  begin

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色综合天天综合网天天看片| 国产精品18久久久| 欧美又粗又大又爽| 亚洲在线视频一区| 欧美一区二区三区婷婷月色| 美女国产一区二区三区| 久久这里都是精品| 国产91高潮流白浆在线麻豆| 国产精品美女一区二区三区| 在线日韩国产精品| 久久99久久久久久久久久久| 国产日韩欧美a| 在线免费不卡视频| 男女激情视频一区| 国产三区在线成人av| 91在线视频网址| 水蜜桃久久夜色精品一区的特点| 国产精品久久久久久久第一福利 | 欧美日韩成人综合在线一区二区 | 亚洲精品免费在线观看| 欧美怡红院视频| 蜜臀99久久精品久久久久久软件| 久久综合久久综合亚洲| 91在线精品一区二区三区| 亚洲国产精品自拍| www成人在线观看| 91尤物视频在线观看| 日本va欧美va欧美va精品| 国产欧美一区二区三区沐欲| 在线精品亚洲一区二区不卡| 久久精品国产亚洲高清剧情介绍 | 91久久精品一区二区| 美日韩黄色大片| 亚洲视频在线观看三级| 日韩一区二区在线播放| www.在线欧美| 精彩视频一区二区| 亚洲狠狠丁香婷婷综合久久久| 精品嫩草影院久久| 欧美三级午夜理伦三级中视频| 国产九色精品成人porny | 日韩欧美一区二区不卡| av一本久道久久综合久久鬼色| 丝袜美腿亚洲一区| 亚洲人成网站色在线观看| 日韩精品一区在线观看| 在线视频国产一区| 成人性生交大片免费看中文网站| 蜜臀久久99精品久久久画质超高清 | 国产精品天干天干在线综合| 欧美精品在线一区二区三区| 99热99精品| 国精产品一区一区三区mba桃花| 亚洲在线一区二区三区| 中文字幕亚洲区| 久久午夜色播影院免费高清| 56国语精品自产拍在线观看| 91久久一区二区| www.欧美日韩| 丁香五精品蜜臀久久久久99网站 | 国产成人免费在线| 蜜臀av一区二区在线免费观看| 亚洲午夜私人影院| 亚洲精品久久久蜜桃| 中文字幕av不卡| 国产嫩草影院久久久久| 国产欧美日韩精品在线| 久久久亚洲午夜电影| 欧美www视频| 欧美成人精品福利| 欧美一区二区三区视频在线观看 | 91一区一区三区| jiyouzz国产精品久久| 国产乱人伦精品一区二区在线观看 | 欧美一区二区精品| 欧美日韩免费视频| 91久久线看在观草草青青| 色综合色狠狠天天综合色| 一本色道久久综合亚洲aⅴ蜜桃| 91麻豆蜜桃一区二区三区| 不卡视频在线观看| 91免费在线看| 91官网在线免费观看| 欧美日韩亚洲高清一区二区| 欧美色男人天堂| 欧美乱妇23p| 日韩一区二区免费电影| 欧美精品一区二区不卡| 26uuu亚洲| 中文字幕中文字幕一区二区| 亚洲欧美福利一区二区| 亚洲一区二区黄色| 蜜臀av一级做a爰片久久| 久久精品国产精品亚洲红杏 | 亚洲成人在线网站| 日本在线不卡视频| 国产一区二区美女诱惑| 国产美女精品人人做人人爽| 国产91高潮流白浆在线麻豆 | 国产免费久久精品| 亚洲图片欧美激情| 午夜日韩在线电影| 青青草91视频| 成人激情小说乱人伦| 欧美色图激情小说| 日韩欧美国产综合一区| 国产亚洲精品超碰| 亚洲综合一区二区| 久久99国产精品麻豆| 成人免费观看视频| 欧美日韩一区二区三区高清 | 国产精品麻豆视频| 亚洲自拍与偷拍| 激情文学综合插| 色狠狠色噜噜噜综合网| 欧美一卡2卡3卡4卡| 国产精品久久久久久亚洲伦| 偷偷要91色婷婷| 成人亚洲一区二区一| 欧美高清视频不卡网| 国产精品成人在线观看| 日本成人在线一区| 国产成人综合亚洲网站| 91福利区一区二区三区| 久久亚洲综合色一区二区三区| 亚洲图片欧美激情| 精品一区免费av| 欧美午夜寂寞影院| 欧美韩国日本综合| 国产成人亚洲综合a∨猫咪| 欧美性感一区二区三区| 国产欧美日本一区二区三区| 亚洲mv在线观看| av在线免费不卡| 久久午夜免费电影| 视频一区中文字幕| 一本色道亚洲精品aⅴ| 久久久电影一区二区三区| 视频一区二区国产| 91论坛在线播放| 欧美国产成人在线| 久久av老司机精品网站导航| 欧美日韩亚洲综合| 亚洲免费大片在线观看| 国产精品一区二区黑丝| 91麻豆精品国产91久久久资源速度| 中文字幕一区二区三区色视频| 精品在线观看免费| 欧美一级免费观看| 亚洲国产一区二区a毛片| 99热这里都是精品| 国产欧美日本一区视频| 国产毛片精品视频| 精品成人佐山爱一区二区| 日韩av一级片| 欧美美女黄视频| 亚洲日本在线观看| 成人免费高清在线| 久久久精品一品道一区| 日本视频一区二区三区| 欧美喷水一区二区| 午夜影院久久久| 欧美性猛交xxxx乱大交退制版| 一区二区中文视频| 成人激情电影免费在线观看| 国产女同性恋一区二区| 国产呦精品一区二区三区网站| 欧美疯狂做受xxxx富婆| 成人永久aaa| 一本一道波多野结衣一区二区| 国产精品网站一区| 久久电影网电视剧免费观看| 日韩免费福利电影在线观看| 毛片不卡一区二区| 精品国产成人在线影院| 精东粉嫩av免费一区二区三区| 欧美成人精品二区三区99精品| 韩国三级电影一区二区| 久久精品夜夜夜夜久久| 成人黄色网址在线观看| 中文字幕日韩一区二区| 色婷婷久久久亚洲一区二区三区| 亚洲一区精品在线| 这里只有精品视频在线观看| 免费观看91视频大全| 久久亚洲精品小早川怜子| 成人精品视频一区二区三区| 亚洲精品欧美二区三区中文字幕| 欧美日韩国产另类一区| 美国欧美日韩国产在线播放| 欧美国产禁国产网站cc| 色噜噜狠狠一区二区三区果冻| 亚洲高清免费观看高清完整版在线观看| 在线成人午夜影院| 国产寡妇亲子伦一区二区| 亚洲丝袜另类动漫二区| 欧美日韩高清影院| 国产精品一区专区| 一区二区三区日本| 日韩一级视频免费观看在线|