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

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

?? delexpert.pas

?? delphi代碼格式化,最新漢化版
?? PAS
字號:
{|----------------------------------------------------------------------
 | 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, {$IFDEF CS_TRACE}CodeSiteLogging, {$ENDIF}ToolsAPI {,DesignWindows};
type
 TDelForEx9DelExpertDlg = class(TForm)  //TForm
  Label1: TLabel;
  Label2: TLabel;
  CurrentBtn: TButton;
  WholeProjBtn: TButton;
  OptionsButton: TButton;
  CancelBtn: TButton;
  HelpBtn: TButton;
  AllButton: TButton;
  Label3: TLabel;
  Label4: TLabel;
  procedure CancelBtnClick(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
  { Private declarations }
  procedure FormatterProgress(Sender: TObject; Progress: Integer);
  procedure CapFileNameEditChange(Sender: TObject);
 public
  HelpFile: string;
  CfgFile: string;
  procedure DoFormatFile(AFileName: string);
  { Public declarations }
 end;
 
var
 DelForEx9DelExpertDlg: TDelForEx9DelExpertDlg = nil;
 Formatter: TPascalParser = nil;
 
implementation
uses DelForExpert, DelForTypes, MyIDEStream, Progr, OptDlg, {Winfunc,} Dialogs,
 {FileFunc,}
   {Setup1,}ShellAPI;
{$R *.DFM}

function IsReadonlyFile(const FileName: string): Boolean;
var
 Attributes: Integer;
begin
  {$IFDEF CS_TRACE}CodeSite.EnterMethod( 'IsReadonlyFile' );{$ENDIF}
 Attributes := FileGetAttr(FileName);
 Result := ((Attributes and faReadOnly) > 0);
  {$IFDEF CS_TRACE}CodeSite.ExitMethod( 'IsReadonlyFile' );{$ENDIF}
end;

function StrInsert(Str1, Str2: PChar; I: Integer): PChar;
var
 LenStr2: Integer;
begin
  {$IFDEF CS_TRACE}CodeSite.EnterMethod( 'StrInsert' );{$ENDIF}
 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;
  {$IFDEF CS_TRACE}CodeSite.ExitMethod( 'StrInsert' );{$ENDIF}
end;

function MakeBakFile(Dest, FileName: PChar): PChar;
var
 F: file;
 P: PChar;
begin
  {$IFDEF CS_TRACE}CodeSite.EnterMethod( 'MakeBakFile' );{$ENDIF}
 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;
  {$IFDEF CS_TRACE}CodeSite.ExitMethod( 'MakeBakFile' );{$ENDIF}
end;

function FormatFile(Param: Pointer; const FileName, UnitName,
 FormName: string): Boolean stdcall;
var
 BakFile: array[0..255] of Char;
 ExtName: string;
begin
  {$IFDEF CS_TRACE}CodeSite.EnterMethod( 'FormatFile' );{$ENDIF}
 Result := True;
 ExtName := LowerCase(ExtractFileExt(FileName));
 if ((ExtName = '.pas') {or (ExtName = '.dpr')})
  and (Trim(FileName) <> '') then
  begin
   if IsFileOpen(FileName) then
    DelForEx9DelExpertDlg.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 DelForEx9ProgressDlg.Visible then
        begin
         {if file not open then load from file}
         DelForEx9ProgressDlg.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;
  {$IFDEF CS_TRACE}CodeSite.ExitMethod( 'FormatFile' );{$ENDIF}
end;

procedure TDelForEx9DelExpertDlg.CapFileNameEditChange(Sender: TObject);
begin
  {$IFDEF CS_TRACE}CodeSite.EnterMethod( Self, 'CapFileNameEditChange' );{$ENDIF}
 if (DelForEx9OptionsDlg <> nil) then
  with DelForEx9OptionsDlg do
   SaveFile(CapFileNameEdit.Text);
  {$IFDEF CS_TRACE}CodeSite.ExitMethod( Self, 'CapFileNameEditChange' );{$ENDIF}
end;

procedure TDelForEx9DelExpertDlg.FormatterProgress(Sender: TObject; Progress: Integer);
begin
  {$IFDEF CS_TRACE}CodeSite.EnterMethod( Self, 'FormatterProgress' );{$ENDIF}
 DelForEx9ProgressDlg.ProgressBar1.Position := Progress;
  {$IFDEF CS_TRACE}CodeSite.ExitMethod( Self, 'FormatterProgress' );{$ENDIF}
end;

procedure TDelForEx9DelExpertDlg.CurrentBtnClick(Sender: TObject);
begin
  {$IFDEF CS_TRACE}CodeSite.EnterMethod( Self, 'CurrentBtnClick' );{$ENDIF}
 DelForEx9ProgressDlg.Show;
 DoFormatFile('');
 DelForEx9ProgressDlg.Hide;
 //Hide;//Hide;
  ModalResult := mrOK;
  {$IFDEF CS_TRACE}CodeSite.ExitMethod( Self, 'CurrentBtnClick' );{$ENDIF}
end;

procedure TDelForEx9DelExpertDlg.DoFormatFile(AFileName: string);
var
 IDEStream: TIDEStream;
 P: PANSIChar;
begin
  {$IFDEF CS_TRACE}CodeSite.EnterMethod( Self, 'DoFormatFile' );{$ENDIF}
 if (DelForEx9ProgressDlg.Visible) then
  begin
   IDEStream := TIDEStream.Create(AFileName);
   try
    if (not IsReadonlyFile(IDEStream.FileName)) and
     (not IsReadonlyBuffer(IDEStream.FileName)) then
     begin
      Formatter.Clear;
      DelForEx9ProgressDlg.SetFileName(IDEStream.FileName);
      Application.ProcessMessages;

      Formatter.LoadFromList(IDEStream.Lines);
      IDEStream.Lines.Clear;
      if Formatter.Parse then
       begin
        P := PANSIChar(Formatter.Text);
        IDEStream.WriteText(P);
      end;
     end
    else
     ShowMessage(ExtractFileName(IDEStream.FileName) +
      ': File or buffer is read only, or not yet saved');
   finally
    Formatter.Clear;
    IDEStream.Free;
   end;
  end;
  {$IFDEF CS_TRACE}CodeSite.ExitMethod( Self, 'DoFormatFile' );{$ENDIF}
end;

procedure TDelForEx9DelExpertDlg.FormCreate(Sender: TObject);
var
 DelForName: string;
begin
  {$IFDEF CS_TRACE}CodeSite.EnterMethod( Self, 'FormCreate' );{$ENDIF}
 DelForName := IDETextExpert.DLLFileName;
 if DelForName <> '' then
  begin
   if Formatter = nil then
    Formatter := TPascalParser.Create(PChar(ExtractFilePath(DelForName)));
   HelpFile := Formatter.RootDir + 'DelFor.hlp';
   CfgFile := Formatter.RootDir + ExtractFileName(DelForName);
   CfgFile := ChangeFileExt(CfgFile, '.cfg');
  end
 else
  begin
   if Formatter = nil then
    Formatter := TPascalParser.Create('');
   HelpFile := 'DelFor.hlp';
   CfgFile := '';
  end;

 Formatter.CfgFile := CfgFile;
 Formatter.Config(True);
 if not Assigned(DelForEx9ProgressDlg) then
  DelForEx9ProgressDlg := TDelForEx9ProgressDlg.Create(nil);
//  Application.CreateForm(TDelForEx9ProgressDlg, DelForEx9ProgressDlg);
 if (Assigned(Formatter)) and (Assigned(DelForEx9ProgressDlg)) then
  Formatter.OnProgress := FormatterProgress;
 if CurrentBtn.Enabled then
  ActiveControl := CurrentBtn
 else
  ActiveControl := OptionsButton;
 Formatter.Deactivate;
  {$IFDEF CS_TRACE}CodeSite.ExitMethod( Self, 'FormCreate' );{$ENDIF}
end;

procedure TDelForEx9DelExpertDlg.OptionsButtonClick(Sender: TObject);
begin
  {$IFDEF CS_TRACE}CodeSite.EnterMethod( Self, 'OptionsButtonClick' );{$ENDIF}
 if not assigned(DelForEx9OptionsDlg) then
  begin
   DelForEx9OptionsDlg := TDelForEx9OptionsDlg.Create(nil);
//   Application.CreateForm(TDelForEx9OptionsDlg, DelForEx9OptionsDlg);
   DelForEx9OptionsDlg.HelpFile := PChar(HelpFile);
   DelForEx9OptionsDlg.CapFileNameEdit.OnChange := CapFileNameEditChange;
  end;
 DelForEx9OptionsDlg.ShowModal;
 FreeAndNil(DelForEx9OptionsDlg);
  {$IFDEF CS_TRACE}CodeSite.ExitMethod( Self, 'OptionsButtonClick' );{$ENDIF}
end;

procedure TDelForEx9DelExpertDlg.WholeProjBtnClick(Sender: TObject);
var
 j: Integer;
 Dir: string;
 ProjectFiles: TStringList;
begin
  {$IFDEF CS_TRACE}CodeSite.EnterMethod( Self, 'WholeProjBtnClick' );{$ENDIF}
 DelForEx9ProgressDlg.Show;
 Dir := ExtractFileDir(ExpandFileName(GetProjectName));
 if Dir <> '' then
  Chdir(Dir);
 ProjectFiles := TStringList.Create;
 try
  GetProjectFileNames(ProjectFiles);
  for j := 0 to ProjectFiles.Count - 1 do
   FormatFile(nil, ProjectFiles[j], '', '');
 finally
  DelForEx9ProgressDlg.Hide;
  projectFiles.Free;
 end;
 //Hide;
  ModalResult := mrOk;
  {$IFDEF CS_TRACE}CodeSite.ExitMethod( Self, 'WholeProjBtnClick' );{$ENDIF}
end;

procedure TDelForEx9DelExpertDlg.FormClose(Sender: TObject;
 var Action: TCloseAction);
begin
  {$IFDEF CS_TRACE}CodeSite.EnterMethod( Self, 'FormClose' );{$ENDIF}
 try
  if (Assigned(DelForEx9ProgressDlg)) and (DelForEx9ProgressDlg.Showing) then
   DelForEx9ProgressDlg.Hide;
  if assigned(Formatter) then
   begin
    with Formatter do
     begin
      //      try Clear except end;  //This always AV's on close
      if (FillNewWords = fmAddNewWord) then
       SaveCapFile(CapFileName);
      Deactivate;
     end;
   end;
 except
 end;
 FreeAndNil(DelForEx9ProgressDlg);
  {$IFDEF CS_TRACE}CodeSite.ExitMethod( Self, 'FormClose' );{$ENDIF}
end;

procedure TDelForEx9DelExpertDlg.AllButtonClick(Sender: TObject);
var
 OpenFiles: TStringList;
 k: Integer;
begin
  {$IFDEF CS_TRACE}CodeSite.EnterMethod( Self, 'AllButtonClick' );{$ENDIF}
 OpenFiles := TStringList.Create;
 try
  DelForEx9ProgressDlg.Show;
  GetOpenFileList(OpenFiles);
  for k := 0 to OpenFiles.Count - 1 do
   FormatFile(nil, OpenFiles[k], '', '')

 finally
  DelForEx9ProgressDlg.Hide;
  OpenFiles.Free;
 end;
  {$IFDEF CS_TRACE}CodeSite.ExitMethod( Self, 'AllButtonClick' );{$ENDIF}
end;

procedure TDelForEx9DelExpertDlg.HelpBtnClick(Sender: TObject);
begin
  {$IFDEF CS_TRACE}CodeSite.EnterMethod( Self, 'HelpBtnClick' );{$ENDIF}
 WinHelp(0, PChar(HelpFile), Help_Contents, 0);
  {$IFDEF CS_TRACE}CodeSite.ExitMethod( Self, 'HelpBtnClick' );{$ENDIF}
end;

procedure TDelForEx9DelExpertDlg.FormShow(Sender: TObject);
var
 ProjectOpened: Boolean;
 S: array[0..260] of Char;
begin
  {$IFDEF CS_TRACE}CodeSite.EnterMethod( Self, 'FormShow' );{$ENDIF}
 Formatter.Activate;
 with Formatter do
  if CapFileName <> nil then
   begin
    SaveFile(CapFileName);
    CapFileName := StrCopy(S, CapFileName);
   end;
 {if file is changed reread}
 ProjectOpened := GetProjectName <> '';
 AllButton.Enabled := ProjectOpened;
 WholeProjBtn.Enabled := ProjectOpened;
 CurrentBtn.Enabled := GetCurrentFile <> '';
  {$IFDEF CS_TRACE}CodeSite.ExitMethod( Self, 'FormShow' );{$ENDIF}
end;

procedure TDelForEx9DelExpertDlg.FormDestroy(Sender: TObject);
begin
  {$IFDEF CS_TRACE}CodeSite.EnterMethod( Self, 'FormDestroy' );{$ENDIF}
 try
  Formatter.Config(False);
  Formatter.Free;
  Formatter := nil;
 except
 end;
 try
  if Assigned(DelForEx9ProgressDlg) then
   FreeAndNil(DelForEx9ProgressDlg);
 except
 end;

  {$IFDEF CS_TRACE}CodeSite.ExitMethod( Self, 'FormDestroy' );{$ENDIF}
end;

procedure TDelForEx9DelExpertDlg.Label4Click(Sender: TObject);
begin
  {$IFDEF CS_TRACE}CodeSite.EnterMethod( Self, 'Label4Click' );{$ENDIF}
 {opens default explorer with the URL of the homepage}
 ShellExecute(GetDesktopWindow, 'open', 'http://www.dow.wau.nl/aew/delforexp.html',
  nil, nil, SW_SHOW);
  {$IFDEF CS_TRACE}CodeSite.ExitMethod( Self, 'Label4Click' );{$ENDIF}
end;

procedure TDelForEx9DelExpertDlg.CancelBtnClick(Sender: TObject);
begin
  {$IFDEF CS_TRACE}CodeSite.EnterMethod( Self, 'CancelBtnClick' );{$ENDIF}
 //Hide;
 ModalResult := mrCancel;
  {$IFDEF CS_TRACE}CodeSite.ExitMethod( Self, 'CancelBtnClick' );{$ENDIF}
end;

end.


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品一品视频| 日韩影院精彩在线| 日本一区中文字幕| 国产成人在线免费观看| 91麻豆国产香蕉久久精品| 日韩一级精品视频在线观看| 欧美精品一区二区三区蜜臀| 国产精品第五页| 日韩成人精品在线| 成人av动漫网站| 欧美日韩大陆在线| 国产欧美一区二区三区在线看蜜臀 | 久久久亚洲国产美女国产盗摄 | 欧美怡红院视频| 精品人在线二区三区| 国产精品国产自产拍高清av王其| 亚欧色一区w666天堂| 国产91高潮流白浆在线麻豆| 7777精品伊人久久久大香线蕉 | 成人手机在线视频| 91精品国产91久久久久久最新毛片| 国产日韩欧美激情| 日韩电影在线一区二区| 91在线观看地址| 精品国产一区二区国模嫣然| 亚洲综合在线观看视频| 国产精品91xxx| 欧美一区二区三区视频在线| 亚洲蜜臀av乱码久久精品| 国内不卡的二区三区中文字幕| 91久久精品国产91性色tv| 精品国产百合女同互慰| 亚洲午夜三级在线| 播五月开心婷婷综合| 精品精品欲导航| 亚洲一二三四久久| 97se亚洲国产综合自在线| ww亚洲ww在线观看国产| 天天综合天天做天天综合| 99久久夜色精品国产网站| 久久精品一级爱片| 蜜臀久久99精品久久久画质超高清 | 久久一二三国产| 首页亚洲欧美制服丝腿| 色网综合在线观看| 国产精品久久久久桃色tv| 国产精一区二区三区| 日韩片之四级片| 日韩电影在线观看网站| 欧美日韩在线电影| 亚洲精品乱码久久久久久黑人| 懂色av一区二区夜夜嗨| 精品成人在线观看| 蜜臀av在线播放一区二区三区| 在线观看成人小视频| 亚洲区小说区图片区qvod| www.日韩精品| 亚洲国产高清aⅴ视频| 国产精品白丝jk黑袜喷水| 欧美电视剧免费全集观看| 日本不卡免费在线视频| 欧美日本韩国一区二区三区视频 | 精品污污网站免费看| 亚洲精品中文字幕在线观看| 91影院在线观看| 亚洲欧洲成人自拍| 99久久精品免费观看| 亚洲视频一区二区在线观看| 成人免费毛片app| 国产精品美女一区二区在线观看| 成人在线综合网站| 国产欧美一区二区三区鸳鸯浴| 国产jizzjizz一区二区| 欧美国产成人精品| 99re这里只有精品首页| 最新国产の精品合集bt伙计| 91丨porny丨蝌蚪视频| 亚洲综合在线第一页| 欧美日韩国产综合草草| 日韩av一区二区三区四区| 欧美一区二区啪啪| 精品一二三四区| 久久免费的精品国产v∧| 7777精品伊人久久久大香线蕉最新版| 亚洲成人动漫在线免费观看| 欧美日韩高清一区二区三区| 青青草原综合久久大伊人精品 | 国产精品99久久久久久似苏梦涵| 国产日韩欧美综合一区| 91在线观看下载| 亚洲123区在线观看| 日韩精品资源二区在线| 粉嫩一区二区三区在线看| 亚洲精品一二三| 欧美一区二区三区在线观看视频| 老司机午夜精品99久久| 国产日产精品一区| 在线日韩av片| 免费高清视频精品| 国产日韩综合av| 欧美性大战久久| 精品亚洲免费视频| 亚洲视频图片小说| 91精品国模一区二区三区| 精品影视av免费| 中文字幕一区二区三区精华液| 欧美视频在线一区二区三区 | 国产精品久久久久久久午夜片 | 蜜桃视频一区二区| 国产精品久久影院| 欧美日韩国产经典色站一区二区三区| 久久精品国产澳门| 亚洲欧美日韩在线| 日韩你懂的电影在线观看| 成人高清伦理免费影院在线观看| 亚洲午夜激情网站| 久久九九影视网| 欧美日韩国产美| 成人涩涩免费视频| 丝袜国产日韩另类美女| 中文天堂在线一区| 欧美一区二区三区男人的天堂| 不卡视频在线观看| 日本亚洲电影天堂| 亚洲欧洲国产日韩| 欧美精品一区二区久久婷婷| 在线视频中文字幕一区二区| 国产成人综合自拍| 天堂在线亚洲视频| 国产精品久久久久一区二区三区共 | 亚洲丝袜制服诱惑| 日韩免费福利电影在线观看| 91麻豆swag| 国产酒店精品激情| 日韩国产在线观看| 一区二区三区免费看视频| 国产日韩av一区| 日韩免费性生活视频播放| 欧美在线不卡一区| 成人高清免费观看| 国产专区欧美精品| 日韩一区精品视频| 一二三四社区欧美黄| 国产精品天干天干在线综合| 日韩精品自拍偷拍| 91精品免费在线| 色丁香久综合在线久综合在线观看| 国产麻豆精品95视频| 日本不卡一二三| 性感美女极品91精品| 亚洲精品欧美在线| 亚洲欧美综合色| 中文字幕电影一区| 亚洲精品在线观| 欧美一级片在线| 欧美日韩情趣电影| 色八戒一区二区三区| 成人高清免费在线播放| 国产成人免费视频精品含羞草妖精 | aaa欧美大片| 国产精品99精品久久免费| 久久99最新地址| 免费精品视频在线| 日韩av一级片| 性久久久久久久久久久久| 亚洲一二三级电影| 亚洲综合色丁香婷婷六月图片| 亚洲欧美在线视频观看| 国产精品福利一区| 中文字幕日韩精品一区| 中文字幕制服丝袜成人av | 欧美一区二区三区色| 欧美浪妇xxxx高跟鞋交| 欧美日韩中文字幕精品| 欧美系列一区二区| 欧美三级欧美一级| 欧美日韩一卡二卡| 666欧美在线视频| 制服丝袜av成人在线看| 欧美一区二区视频免费观看| 日韩天堂在线观看| 精品国产成人系列| 久久精品欧美一区二区三区不卡| 国产视频一区在线观看| 中文字幕高清一区| 亚洲免费观看高清完整| 亚洲一区二区三区国产| 亚洲成人一区二区| 蜜桃久久久久久| 国产在线视频精品一区| 国产69精品一区二区亚洲孕妇| www.日韩精品| 欧美天堂亚洲电影院在线播放| 欧美猛男超大videosgay| 欧美不卡一二三| 久久精子c满五个校花| 亚洲欧美影音先锋| 亚洲1区2区3区4区| 久久国产精品色| 国产成人精品亚洲日本在线桃色|