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

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? uoptvars.pas

?? Delphi編寫的一個(gè)支持語(yǔ)法高亮顯示和很多語(yǔ)言的文本編輯器
?? PAS
字號(hào):
unit uOptVars;

interface

uses Graphics, Classes, ShellAPI, SysUtils, Windows, jclStrings, uTypes;
type
PProjRec = ^TProjRec;
TProjRec = record
  FName: string;
  iType: Integer;
end;
function FileToString(const FileName: String): String;
procedure GetFileExts(const AFilter: string; AExts: TStringList);
function GetIconIndexFromFile(const AFileName: string; const ASmall: boolean): integer;
procedure DrawRaisedEdge (DC: HDC; R: TRect; const FillInterior: Boolean);
function IsWhiteSpaceEx(c: AnsiChar): boolean;
function ScrollBarSize(const AHor: boolean): integer;
procedure ConvLinebreak(var AString: string; const AStyle: TLinebreak);
function GetLinebreak(const ASource: string): TLinebreak;
function ReplaceAcc(const s: string): string;
function GetNormalIcon(Path: string): integer;
function AddSlash(Path: string): string;
function GetSelectedIcon(Path: string): Integer;
function WindowsDirectory: string;
function TempDir: string;
function SystemDirectory: string;

function GetDefIconFromFile(const AFileName: string;
  const ASmall: boolean): integer;
function GetIconHandle(const AFileName: string;
  const ASmall: boolean): hIcon;
     const
  HH_DISPLAY_TOPIC        = $0000;
  HH_DISPLAY_TOC          = $0001;
  HH_CLOSE_ALL            = $0012;

function HtmlHelp(hwndCaller: HWND;
  pszFile: PChar; uCommand: UINT;
  dwData: DWORD): HWND; stdcall;
  external 'HHCTRL.OCX' name 'HtmlHelpA';

const
  cEditEditKey = 'Edit_with_cEdit';
  cEditPrintKey = 'Print_with_cEdit';
  SFilterAllFiles = 'All files (*.*)|*.*';
  sAppTitle = 'cEdit Profesional 5';

  SSpellNoSugg                 = 'No Suggestions';
  SDicNotFound                 = 'Dictionary ("%s") not found.';

  { Some Constants for the different Dirs :) }
  SVarProjectPathShort         = '$[ProjectPathShort]';
  SVarProjectPathLong          = '$[ProjectPathLong]';    
  SVarActiveDocFileShort       = '$[ActiveDocShort]';     
  SVarActiveDocFileLong        = '$[ActiveDocLong]';      
  SVarProjectFileShort         = '$[ProjectFileShort]';
  SVarProjectFileLong          = '$[ProjectFileLong]';
  SVarFileNamePromptShort      = '$[FileNameShort:?%d]';  
  SVarFileNamePromptLong       = '$[FileNameLong:?%d]';   
  SVarModFileNames             = '$[ModFiles]';
  // Partial filenames
  SVarActiveDocWithoutExtShort = '$[ActiveDocShortNoExt]';
  SVarActiveDocWithoutExtLong  = '$[ActiveDocLongNoExt]';
  SVarActiveDocTitleShort      = '$[ActiveDocTitleShort]';
  SVarActiveDocTitleLong       = '$[ActiveDocTitleLong]';
  SVarActiveDocTitleShortNoExt = '$[ActiveDocTitleShortNoExt]';
  SVarActiveDocTitleLongNoExt  = '$[ActiveDocTitleLongNoExt]';
  SVarActiveDocExt             = '$[ActiveDocExt]';
  // Paths
  SVarActiveDocPathShort       = '$[ActiveDocPathShort]'; 
  SVarActiveDocPathLong        = '$[ActiveDocPathLong]';  
  SVarProgramPathShort         = '$[ProgramPathShort]';   
  SVarProgramPathLong          = '$[ProgramPathLong]';    
  // System Paths
  SVarWinDirShort              = '$[WinDirShort]';        
  SVarSysDirShort              = '$[SysDirShort]';        
  SVarTempDirShort             = '$[TempDirShort]';       
  // Misc
  SVarCurWord                  = '$[CurWord]';
  SVarPrompt                   = '$[Prompt:%d]';
  SVarFormFileFirst            = '$[FromFile:';

  CrLf   = #13#10;
  CrLf2  = #13#10#13#10;
  Cr     = #13;
  Lf     = #10;

// Some global resource strings
ResourceString
  SNewTool                     = 'New Tool';
var
  { Editor - General Options }
  bAutoIndent: Boolean;
  bDragDropEditing: Boolean;
  bDragDropFiles: boolean;
  bAltSetsColumnMode: Boolean;
  bMaintainCaretColumn: Boolean;
  bWantTabs: Boolean;
  bSmartTabs: Boolean;
  bSmartTabDelete: Boolean;
  bRightMouseMovesCursor: Boolean;
  bEnhanceHomeKey: Boolean;
  bHideScrollBarsAsNeeded: Boolean;
  bHalfPageScroll: Boolean;
  bScrollbyOneLess: Boolean;
  bScrollPastEndofFile: Boolean;
  bScrollPastEndofLine: Boolean;
  bShowScrollHint: Boolean;
  bScrollHintFollowsMouse: Boolean;
  bTabsToSpaces: Boolean;
  bTrimTrailingSpaces: Boolean;
  bGroupUndo: Boolean;
  bDisableScrollArrows: Boolean;
  iInsertCaretMode: Integer;
  iOverwriteCaretMode: Integer;
  bMaximize: Boolean;
  bHighlightTabs: Boolean;
  gcHighlightTabs: Integer;

  { Editor - Gutter Options }
  bGutterVisible: Boolean;
  bGutterAutosize: Boolean;
  bGutterShowLineNumbers: Boolean;
  bGutterStartAtZero: Boolean;
  bGutterShowLeadingZeros: Boolean;
  bGutterUseGutterFont: Boolean;
  fGutterFont: TFont;
  cGutterColor: TColor;

  { Editor - Right Edge Options }
  iEdgeColumn: Integer;
  iEdgeColor: TColor;

  { Editor - Line/Tab Spacing Options }
  iExtraLines: Integer;
  iTabWidth: Integer;

  { Editor - Bookmark Options }
  bBookmarkKeys: Boolean;
  bBookmarksVisible: Boolean;

  { Editor - Main }
  fEditorFont: TFont;

  { Editor - Bracket Highlighting }
  gcMatchBracketColor: Integer;
  gcBadBracketColor: Integer;
  gcMatchBracketColorBack: Integer;
  gcBadBracketColorBack: Integer;

  gbHighlightBrackets: Boolean;
  gbHighlightBadBrackets: Boolean;

  { External Browser }
  sExternalBrowser: String;

  { Default Language}
  sDefaultHighlighter: String;
  bUseDefault: Boolean;

  { Global Close var }
  bCloseAll: Boolean;

  { Spell Checking Vars }
  strDictionary: String;
  bAutoCheck: Boolean;
  bFromCursor: Boolean;
  bIgnoreSingleCharacters: Boolean;
  bIgnoreNumbers: Boolean;
  iHashLength: Integer;
  gcPenColor: Integer;
  sCheckWhat: String;

  { Window }
  bMDITabs: Boolean;
  bStatusBar: Boolean;

  { AutoCorrect }
  bAEnabled: Boolean;
  bAMouseDown: BOolean;
  bABeep: Boolean;
  bAIgnore: Boolean;
  bAMaintain: Boolean;

  bSingleClick: Boolean;

  bReplaceAll: Boolean;
type
  TExportType = (etHTML, etRTF);


  // Tools
  TToolKind = (tkLaunchProgram, tkInsertString, tkEditCommand, tkDOSCommand);
  PToolType = ^TToolType;
  TToolType = record
    Name         : string;
    Arguments    : string;
    ExecuteCmd   : string;
  end;
implementation

procedure ConvLinebreak(var AString: string; const AStyle: TLinebreak);
begin
  case AStyle of
    lbUNIX    : StrReplace(AString, CrLf, Lf, [rfReplaceAll]);
    lbWindows : AString := AdjustLineBreaks(AString);
    lbMac     : StrReplace(AString, CrLf, Cr, [rfReplaceAll]);
  end;
end;



procedure GetFileExts(const AFilter: string; AExts: TStringList);
var
  CurLine, te: string;
  p, p2: integer;
begin
  p := Pos('|', AFilter) + 1;
  CurLine := Copy(AFilter, p, (Length(AFilter) - p) + 1);
  repeat
    p2 := Pos(';', CurLine);
    if p2 = 0 then
      p2 := Length(CurLine) + 1;
    te := Copy(CurLine, 1, p2 - 1);
    Delete(CurLine, 1, p2);
    p := Pos('.', te);
    if p = 0 then
      te := '.' + te
    else
      Delete(te, 1, p - 1);
    AExts.Add(te);
  until CurLine = '';
end;

function GetIconIndexFromFile(const AFileName: string;
  const ASmall: boolean): integer;
const
  small: array[Boolean] of Integer = (SHGFI_LARGEICON, SHGFI_SMALLICON);
var
  SHFileInfo: TSHFileInfo;
begin
  SHGetFileInfo(PChar(AFileName), 0, SHFileInfo, SizeOf(SHFileInfo),
    SHGFI_SYSICONINDEX or small[ASmall]);
  Result := SHFileInfo.iIcon;

end;

function GetNormalIcon(Path: string): integer;
var
  sfi: TShFileInfo;
begin
  SHGetFileInfo(Pchar(Path), 0, sfi, SizeOf(TSHFileInfo),
    SHGFI_SYSICONINDEX or SHGFI_SMALLICON);
  Result := sfi.iIcon;
end; {GetNormalIcon}


function GetDefIconFromFile(const AFileName: string;
  const ASmall: boolean): integer;
const
  small: array[Boolean] of Integer = (SHGFI_LARGEICON, SHGFI_SMALLICON);
var
  SHFileInfo: TSHFileInfo;
begin
    SHGetFileInfo(PChar(AFileName), 0, SHFileInfo, SizeOf(SHFileInfo),
      SHGFI_SYSICONINDEX or small[ASmall] or SHGFI_USEFILEATTRIBUTES);
    Result := SHFileInfo.iIcon;
end;

function GetIconHandle(const AFileName: string;
  const ASmall: boolean): hIcon;
const
  small: array[Boolean] of Integer = (SHGFI_LARGEICON, SHGFI_SMALLICON);
var
  SHFileInfo: TSHFileInfo;
begin
    SHGetFileInfo(PChar(AFileName), 0, SHFileInfo, SizeOf(SHFileInfo),
      $400 or $200 or $100 or 4 or 1 or SHGFI_USEFILEATTRIBUTES); //SHGFI_SYSICONINDEX or small[ASmall] or SHGFI_USEFILEATTRIBUTES);
    Result := SHFileInfo.hIcon;
end;

function ScrollBarSize(const AHor: boolean): integer;
const
  scrl: array[boolean] of integer = (SM_CXHSCROLL, SM_CXVSCROLL);
begin
  Result := GetSystemMetrics(scrl[AHor])
end;

procedure DrawRaisedEdge (DC: HDC; R: TRect; const FillInterior: Boolean);
  const
    FillMiddle: array[Boolean] of UINT = (0, BF_MIDDLE);
  begin
    DrawEdge (DC, R, BDR_RAISEDINNER, BF_RECT or FillMiddle[FillInterior]);
  end;

function AddSlash(Path: string): string;
begin
  if Path = '' then exit;
  if Path[Length(Path)] <> '\' then
    Result := Path + '\'
  else
    Result := Path;
end; {AddSlash}

function GetSelectedIcon(Path: string): Integer;
var
  sfi: TShFileInfo;
begin
  SHGetFileInfo(Pchar(Path), 0, sfi, sizeOf(TSHFileInfo),
    SHGFI_SYSICONINDEX or SHGFI_SMALLICON or SHGFI_OPENICON);
  Result := sfi.iIcon;
end; {GetSelectedIcon}

function WindowsDirectory: string;
var
  buf: array[0..MAX_PATH] of Char;
  size: integer;
begin
  Result := '';
  size := GetWindowsDirectory(buf, MAX_PATH);
  if size > 0 then
    Result := string(buf) + '\';
end;

function SystemDirectory: string;
var
  buf: array[0..MAX_PATH] of Char;
  size: integer;
begin
  Result := '';
  size := GetSystemDirectory(buf, MAX_PATH);
  if size > 0 then
    Result := string(buf) + '\';
end;

function TempDir: string;
var
  buf: array[0..MAX_PATH] of Char;
begin
  GetTempPath(Sizeof(buf), buf);
  Result := buf;
  If Result[Length(Result)] = '\' Then
    Result := Copy(Result, 1, Length(Result) - 1);
end;

function IsWhiteSpaceEx(c: AnsiChar): boolean;
const
  WhiteSpaceEx = [AnsiTab, AnsiLineFeed, AnsiVerticalTab, AnsiFormFeed,
    AnsiCarriageReturn, AnsiSpace, #34, #33, #39, #40, #41, #44, #46, #47,
    #58, #59, #60, #62, #63, #91, #92, #93, #123, #125, #171, #187];
begin
  Result := c in WhiteSpaceEx;
end;

function ReplaceAcc(const s: string): string;
begin
  // remove the accelerator from captions
  Result := s;
  while Pos('&', Result) > 0 do
    Delete(Result, Pos('&', Result), 1);
end;

function GetLinebreak(const ASource: string): TLinebreak;
var
  p: integer;
begin
  p := Pos(Lf, ASource);
  if p > 0 then begin
    if (p > 1) and (ASource[p - 1] = Cr) then
      Result := lbWindows
    else
      Result := lbUNIX;
  end else begin
    p := Pos(Cr, ASource);
    if p > 0 then
      Result := lbMac
    else
      Result := lbNoChange;
  end;
end;

function FileToString(const FileName: String): String;
var
  fs: TFileStream;
  len: Integer;
begin
  fs := TFileStream.Create(FileName, fmOpenRead {or fmShareDenyWrite});
  try
    len := fs.Size;
    SetLength(Result, len);
    if len > 0 then
      fs.ReadBuffer(Result[1], len);
  finally
    fs.Free;
  end;
end;


end.

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美伊人久久久久久久久影院 | 亚洲精品福利视频网站| 亚洲精品福利视频网站| 亚洲综合在线电影| 日韩主播视频在线| 蜜桃一区二区三区四区| 丁香婷婷综合网| 色94色欧美sute亚洲13| 在线综合视频播放| 中文字幕不卡在线观看| 亚洲综合一区二区三区| 麻豆精品一区二区三区| 99久久99久久精品免费观看| 欧美精品久久天天躁| 精品美女一区二区| 亚洲日本在线观看| 免费观看30秒视频久久| 成人美女视频在线观看18| 一本到三区不卡视频| 精品粉嫩超白一线天av| 国产精品乱人伦中文| 香蕉乱码成人久久天堂爱免费| 国产激情视频一区二区在线观看 | 91国偷自产一区二区三区观看| 91精品欧美综合在线观看最新| 久久精品免费在线观看| 亚洲三级在线观看| 国产尤物一区二区| 欧美综合在线视频| 久久亚洲综合色一区二区三区| 亚洲成人精品一区二区| 国产精品一区二区三区乱码| 日本精品视频一区二区三区| 欧美一区二区精品| 亚洲色图欧美在线| 亚洲国产日韩一级| 国产成人高清在线| 91精品一区二区三区久久久久久 | 国产99久久久久久免费看农村| 在线观看91视频| 久久久无码精品亚洲日韩按摩| 日韩精品一二三| 高清不卡在线观看av| 欧美乱妇15p| 中文字幕精品一区二区精品绿巨人| 麻豆精品精品国产自在97香蕉| 91视频在线观看| 久久综合九色综合欧美就去吻| 亚洲高清免费一级二级三级| 波多野结衣欧美| www激情久久| 久久狠狠亚洲综合| 欧美在线短视频| 国产精品久久久久久久久免费丝袜 | 国产女人18毛片水真多成人如厕 | 国产成人在线视频播放| 91精品国产91综合久久蜜臀| 亚洲日本在线天堂| 国产99精品视频| 久久九九国产精品| 激情欧美一区二区三区在线观看| 欧美日韩高清影院| 最新不卡av在线| 成人黄色综合网站| 日本一区二区三区四区在线视频| 麻豆91免费观看| 69堂亚洲精品首页| 夜夜嗨av一区二区三区中文字幕| 99久久99久久免费精品蜜臀| 日本一区二区三区久久久久久久久不 | 一区二区三区国产精品| 色婷婷激情综合| 中文字幕一区二区三区四区| 国产一区二区三区精品视频| 这里只有精品免费| 久草这里只有精品视频| 欧美一区二区三区色| 视频在线观看国产精品| 欧美在线观看视频一区二区| 亚洲激情男女视频| 色欧美日韩亚洲| 国产精品高潮呻吟久久| 色婷婷国产精品综合在线观看| 最新国产精品久久精品| a4yy欧美一区二区三区| 国产无遮挡一区二区三区毛片日本| 欧美日韩精品欧美日韩精品| 亚洲欧美日韩国产综合| 91尤物视频在线观看| 亚洲自拍偷拍九九九| 在线亚洲人成电影网站色www| 亚洲视频在线一区观看| 波多野结衣一区二区三区| 亚洲综合一区二区| 欧美日本一道本在线视频| 丝袜亚洲另类丝袜在线| 欧美v国产在线一区二区三区| 免费成人av在线| 精品久久久久av影院| 国产在线不卡一区| 国产精品成人网| 一本久久精品一区二区| 亚洲国产日日夜夜| 欧美另类videos死尸| 久久国产福利国产秒拍| 日本一区二区三区视频视频| 成人av资源在线观看| 亚洲欧洲精品一区二区三区 | 日韩区在线观看| 国产一区二区精品在线观看| 亚洲国产激情av| 色综合久久综合网欧美综合网| 亚洲一本大道在线| 欧美videos大乳护士334| 成人小视频免费在线观看| 亚洲精品免费看| 欧美一区二区免费| 国产成人在线视频网址| 亚洲国产cao| 精品国产免费视频| 成人国产精品免费观看视频| 亚洲欧洲三级电影| 欧美大度的电影原声| 成人黄色777网| 亚洲成av人在线观看| 久久影院视频免费| 色综合婷婷久久| 久久国产麻豆精品| 亚洲一区二区三区在线播放| 欧美精品v日韩精品v韩国精品v| 国产一区二区三区四| 国产欧美日韩在线观看| 777亚洲妇女| 丁香另类激情小说| 丝袜诱惑制服诱惑色一区在线观看 | 99精品1区2区| 久草在线在线精品观看| 亚洲乱码中文字幕| 日韩欧美国产一区二区三区 | 欧美精品一区二区三区蜜臀| 色婷婷久久一区二区三区麻豆| 日本欧美肥老太交大片| 麻豆久久久久久| 亚洲黄色av一区| 久久综合九色综合97_久久久| 成人性视频网站| 精品一区二区影视| 亚洲欧美另类在线| 久久综合狠狠综合| 91精品在线一区二区| 91福利社在线观看| av午夜一区麻豆| 国产成人啪午夜精品网站男同| 青青草国产精品97视觉盛宴| 亚洲午夜影视影院在线观看| 综合在线观看色| 国产精品天干天干在线综合| 精品卡一卡二卡三卡四在线| 在线播放日韩导航| 欧美日韩在线播放一区| 91丨porny丨户外露出| 高清视频一区二区| 国产不卡视频一区二区三区| 精品一区免费av| 久久精品国产秦先生| 日韩激情一二三区| 日韩精品电影在线观看| 亚洲va国产天堂va久久en| 亚洲一区二区三区美女| 亚洲精品日韩综合观看成人91| 亚洲丝袜美腿综合| 亚洲欧洲精品成人久久奇米网| 欧美韩国日本一区| 日本一区二区三区久久久久久久久不 | 亚洲无线码一区二区三区| 亚洲欧美另类图片小说| 亚洲欧美精品午睡沙发| **欧美大码日韩| 亚洲欧美另类在线| 一二三四社区欧美黄| 亚洲一区二区三区四区五区中文| 亚洲另类在线视频| 一区二区三区美女| 亚洲一级二级三级在线免费观看| 亚洲小说春色综合另类电影| 亚洲成人激情av| 免费在线观看成人| 精品一区二区三区不卡 | 中文字幕在线免费不卡| 最好看的中文字幕久久| 一区二区三区四区亚洲| 亚洲国产欧美日韩另类综合| 丝袜国产日韩另类美女| 蜜桃免费网站一区二区三区| 国产一区三区三区| 国产成人精品综合在线观看| 99国产精品视频免费观看| 色哟哟日韩精品| 欧美麻豆精品久久久久久| 精品捆绑美女sm三区|