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

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

?? dmain.pas

?? Delphi編寫的一個支持語法高亮顯示和很多語言的文本編輯器
?? PAS
?? 第 1 頁 / 共 5 頁
字號:
      LoadLang(ini);
      ini.Destroy;
    end;
  end;
end;

procedure TDmMain.LoadLang(lang: TiniFile);
var
  tCustLang: TSynAnySyn;
begin
  tCustLang := TSynAnySyn.Create(self);
  TCustLang.LoadHighLighter(lang.Filename);
end;

function TdmMain.SetHighlighter(name: string): TSynCustomHighlighter;
var
  i: integer;
  HasHighlighter: boolean;
begin
  HasHighlighter := False;
  Result := nil;
{  if Name = 'Text' then begin
    Result := nil;
    exit;
  end;}
  for i := 0 to fHighlighters.Count - 1 do begin

    if name = dmMain.fHighlighters[i] then begin

      Result := dmMain.fHighlighters.Objects[i] as TSynCustomHighlighter;
      HasHighlighter := True;
      break;
    end;
  end;

  if HasHighlighter = false then SetHighlighter := nil;
end;


function TdmMain.GetHighlighterForFile(AFileName: string): TSynCustomHighlighter;
begin
  if AFileName <> '' then
    Result := GetHighlighterFromFileExt(fHighlighters, ExtractFileExt(AFileName))
  else
    Result := nil;
end;

procedure TdmMain.SetSelLang(sName: String);
var i: integer;
begin
    if SelDoc = nil then exit;
    if selDoc.sciMain.Highlighter is TSynMultiSyn then
      SelDoc.cmbLang.ItemIndex := SelDoc.cmbLang.Items.IndexOf((SelDoc.sciMain.Highlighter as TSynMultiSyn).DefaultLanguageName)
    else
      SelDoc.cmbLang.ItemIndex := SelDoc.cmbLang.Items.IndexOf(GetLangName(SelDoc.sciMain.Highlighter));

end;

procedure TdmMain.NewDoc(FileName: String; Highlighter: TSynCustomHighlighter = nil);
var
  s: string;
  fNewDoc: TFrmDoc;
  fNewIDoc: TfrmImage;
  FileExt: String;
  i: Integer;
  x: Integer;
begin
  if FileExists(FileName) then begin
//    frmMain.RegMRU.Add(Filename, false, true, 0);
    for i := 0 to frmMain.MDIChildCount - 1 do begin
      if (frmMain.mdiChildren[i] is TfrmDoc) then
        if (frmMain.MDIChildren[i] as TFrmDoc).FileName = Filename then begin
          (frmMain.MDIChildren[i] as TFrmDoc).BringToFront;

          exit;
        end;
      if (frmMain.MdiChildren[i] is TfrmImage) then
        if (frmMain.MDIChildren[i] as TFrmImage).FileName = Filename then begin
          (frmMain.MDIChildren[i] as TFrmImage).BringToFront;

          exit;
        end;
    end;
  end;
  FileExt := LowerCase(ExtractFileExt(FileName));
  if (FileExt = '.bmp') or (FileExt = '.tif') or (FileExt = '.jpg') or (FileExt = '.png') or (FileExt = '.ico') then begin
    if FileExists(FileName) then begin
      fNewIDoc := TfrmImage.Create(frmMain);
      if (bMaximize) then
        fNewIDoc.WindowState := wsMaximized;
      fNewIDoc.imgPic.Picture.LoadFromFile(Filename);
      fNewIDoc.FileName := Filename;
      fNewiDoc.DoUpdateCaption;
      fNewIDoc.Show;
      frmMain.tcFiles.Tabs.InsertObject(frmMain.MDIChildCount-1, ExtractFileName(FileName), fNewIDoc);

      fNewIDoc.FormActivate(nil);
      exit;
    end;
  end
  else
  fNewDoc := TfrmDoc.Create(frmMain); //frmMain);
  fNewDoc.fLineBreak := lbWindows;
  if (bMaximize) then
    fNewDoc.WindowState := wsMaximized;
  if bUseDefault then
    fNewDoc.sciMain.Highlighter := SetHighlighter(sDefaultHighlighter);
  if FileExists(FileName) then begin
    frmMain.MRU.Add(Filename, false, true, 0);

//  fNewDoc.FindProperty(FileExt);
    s := FileToString(Filename);
//    fNewDoc.SciMain.Lines.LoadFromFile(FileName);
    fNewDoc.fLineBreak := GetLinebreak(s);
    if fNewDoc.fLineBreak <> lbWindows then
      fNewDoc.sciMain.Lines.Text := AdjustLinebreaks(s)
    else
      fNewDoc.sciMain.Lines.Text := s;
    //if (Pos(fNewDoc.sciMain.Text, Chr(0)) > 0) then tbbHex.Click;
{    if (FileExt = '.htm') or (FileExt = '.html') or (FileExt = '.vbs') or (FileExt = '.js') or (FileExt = '.php') then begin
      fNewDoc.sciMain.Highlighter := dmMain.SynHTML;
    end}
//    else
      fNewDoc.sciMain.Highlighter := GetHighlighterForFile(FileName);
      fNewDoc.Caption := ExtractFileName(Filename);
      fNewDoc.FileName := FileName;
      fNewDoc.DoUpdateCaption;
//      fNewDoc.ListFunctions;

  end

  else begin
    fNewDoc.Caption := Filename;
    if Highlighter <> nil then
      fNewDoc.sciMain.Highlighter := highlighter;
    fNewDoc.FileName := '';
//    fNewDoc.synMain.Highlighter := dmMain.synHTML;
  end;
  fNewDoc.cmbLang.items.Assign(fHighlighters);
  fnewdoc.cmbLang.Items.Insert(0, 'None');
  if fNewdoc.sciMain.Highlighter = nil then
    fnewdoc.cmbLang.ItemIndex := 0
  else
    if fNewDoc.sciMain.Highlighter is TSynMultiSyn then
      fNewDoc.cmbLang.ItemIndex := fNewDoc.cmbLang.Items.IndexOf((fNewDoc.sciMain.Highlighter as TSynMultiSyn).DefaultLanguageName)
    else
      fNewDoc.cmbLang.ItemIndex := fNewDoc.cmbLang.Items.IndexOf(GetLangName(fNewDoc.sciMain.Highlighter));
  frmMain.tcFiles.Tabs.InsertObject(frmMain.MDIChildCount-1, ExtractFileName(FileName), fNewDoc);

  fNewDoc.sciMain.SetFocus;
  fNewDoc.FormActivate(frmMain);

end;


procedure TdmMain.ShowOpt();
var
  i: Integer;
begin
  frmOptions := TfrmOptions.Create(frmMain);
  frmOptions.lstLang.Items.Assign(fHighlighters);
  frmOptions.lstHighlighters.Items.Assign(fHighlighters);
  frmOptions.lstLangs2.Items.Assign(fHighlighters);
  frmOptions.lstLang3.Items.Assign(fHighlighters);
  frmOptions.cmbLangs.Items.Assign(fHighlighters);
  frmOptions.lstFileTypes.Clear;
  for i := dmMain.ComponentCount - 1 downto 0 do begin
    if not (dmMain.Components[i] is TSynCustomHighlighter) then
      continue;
    if (dmMain.Components[i] as TSynCustomHighlighter).DefaultFilter <> '' then
      frmOptions.lstFileTypes.Items.Add((dmMain.Components[i] as TSynCustomHighlighter).DefaultFilter);
  end;
  frmOptions.ShowModal;
end;


procedure TdmMain.s(Sender: TObject);
var
  i: Integer;
  SHFileInfo: TSHFileInfo;
  aItem: TMenuItem;
begin
  LoadLangs;
  ExportXHTML := TSynExporterXHTML.Create(dmmain);
  fHighlighters := TStringList.Create;
  GetHighlighters(Self, fHighlighters, FALSE);
  imlShellIcon.Handle := SHGetFileInfo('', 0, SHFileInfo, SizeOf(SHFileInfo),
    SHGFI_SYSICONINDEX or SHGFI_SMALLICON);
  imlShellLarge.Handle := SHGetFileInfo('', 0, SHFileInfo, SizeOf(SHFileInfo),
    SHGFI_SYSICONINDEX or SHGFI_LARGEICON);
  Propose.ShortCut := ShortCut(VK_SPACE, [ssCtrl]);
  ReadFunctions;
//  aItem.RethinkHotkeys;
  dlgFileOpen.Filter :=  SFilterAllFiles + GetHighlightersFilter(fHighlighters);
end;

procedure TdmMain.SaveHighlighters();
var
  i: integer;
  s: String;
  Highlighter: TSynCustomHighlighter;
  Filter: String;
  reg: TMyReg;
begin
  for i := dmMain.ComponentCount - 1 downto 0 do begin
    if not (dmMain.Components[i] is TSynCustomHighlighter) then
      continue;
    Highlighter := dmMain.Components[i] as TSynCustomHighlighter;
    Filter := Highlighter.DefaultFilter;
    Highlighter.SaveToRegistry(HKEY_CURRENT_USER, 'Software\cEdit\Highlighters\' + GetLangName(Highlighter));
    s := GetLangName(Highlighter);
    s := ansireplacetext(s, '\', '');
    s := ansireplacetext(s, '/', '');
    Highlighter.SaveComment(ExtractFilePath(Application.ExeName) + 'comments\' + s + 'cmt');
    reg := TMyReg.Create;
    reg.OpenKey('Software\cEdit\Highlighters\' + GetLangName(Highlighter) + '\', true);
    reg.WriteReg('Filter', Filter);
  end;
end;


procedure TdmMain.LoadHighlighters();
var
  i: integer;
  Highlighter: TSynCustomHighlighter;
  reg: TMyReg;
  s: string;
begin
  for i := dmMain.ComponentCount - 1 downto 0 do begin
    if not (dmMain.Components[i] is TSynCustomHighlighter) then
      continue;

    Highlighter := dmMain.Components[i] as TSynCustomHighlighter;
    Highlighter.LoadFromRegistry(HKEY_CURRENT_USER, 'Software\cEdit\Highlighters\' + GetLangName(Highlighter));

    s := GetLangName(Highlighter);
    s := ansireplacetext(s, '\', '');
    s := ansireplacetext(s, '/', '');
    Highlighter.LoadComment(ExtractFilePath(Application.ExeName) + 'comments\' + s + 'cmt');
    reg := TMyReg.Create;
    reg.OpenKey('Software\cEdit\Highlighters\' +  GetLangName(Highlighter) + '\', True);
    Highlighter.DefaultFilter := reg.ReadReg('Filter', Highlighter.DefaultFilter);
  end;
end;

procedure TdmMain.DataModuleDestroy(Sender: TObject);
begin
  imlShellIcon.Handle := 0;
  fHighlighters.Free;
end;

procedure TdmMain.actFileNewExecute(Sender: TObject);
begin
  NewDoc('Untitled' + IntToStr(frmMain.MDIChildCount));
end;

function TdmMain.CloseAll(TDoc: TfrmDoc = nil): TmodalResult;
var
  i: Integer;
  strStore: TStringList;
  mrResult: Integer;
begin
    Result := mrNo;
    strStore := TStringList.Create;
    bCloseAll := False;
    if tDoc <> nil then begin
      strStore.AddObject(tDoc.Caption, tDoc);
    end
    else begin
      bCloseAll := True;
      for i:=0 to frmMain.MDIChildCount - 1 do
        if (frmMain.MDIChildren[i] <> nil) {and (frmMain.MDIChildren[i] is TfrmDoc)} then begin
          if (frmMain.MDIChildren[i] is TfrmDoc) and (((frmMain.MDIChildren[i] as TfrmDoc).sciMain.Modified = True) or ((frmMain.MDIChildren[i] as TfrmDoc).hxMain.Modified = True)) then begin
            strStore.AddObject((frmMain.MDIChildren[i] as TfrmDoc).Caption, frmMain.MDIChildren[i]);
          end;
        end;
    end;

    if strStore.Count > 0 then With TfrmSaveDlg.Create(self) do begin
      lstFiles.Items.Assign(strStore);
      for i:=0 to lstFiles.Count-1 do
        lstFiles.Selected[i] := True;
      mrResult := ShowModal;
      Result := mrResult;
      if mrResult = mrYes then begin
        for i := 0 to lstFiles.Count - 1 do begin
          if lstFiles.Selected[i] then begin
            SaveDoc(lstFiles.Items.Objects[i] as TfrmDoc);
          end;
        end;
      end
      else if mrResult = mrAll then begin
        for i := 0 to lstFiles.Count - 1 do begin
          SaveDoc(lstFiles.Items.Objects[i] as TfrmDoc);
        end;

      end else if mrResult = mrCancel then begin
        bCloseAll := False;
        exit;
      end
    end;
    if (tDoc <> nil) then begin
      bCloseAll := True;
      tDoc.Close;
      bCloseAll := False;
    end
    else begin
      bCloseAll := True;
      for i:=0 to frmMain.MDIChildCount - 1 do begin
        //if (frmMain.MDIChildren[i] <> nil) then
          frmMain.MDIChildren[i].Close
      end;
    end;

end;
procedure StringToFile(const FileName, AText: string);
var
  F: File;
  SaveFileMode: integer;
begin
  SaveFileMode := FileMode;
  try
    FileMode := fmOpenWrite;
    AssignFile(F, FileName);
    Rewrite(F, 1);
  finally
    FileMode := SaveFileMode;
  end;
  try
    BlockWrite(F, PChar(AText)^, Length(AText));
  finally
    CloseFile(F);
  end;
end;

procedure TdmMain.SaveDoc(TDoc: TfrmDoc);
var
 frmUpload: TfrmUpload;
 s: String;
begin

  if TDoc <> nil then begin
   // If it's got the ftp flag then we need to handle it accordingly.
   if TDoc.isFTP = True then begin
     // First off save the temp file
     if TDoc.bHexMode = false then
       if TDoc.fLineBreak <> lbWindows then begin
         s := Tdoc.sciMain.Lines.Text;
         ConvLineBreak(s, tDoc.fLineBreak);
         StringToFile(tDoc.Filename, s);
       end
       else
         TDoc.sciMain.Lines.SaveToFile(tDoc.FileName)
     else
       TDoc.hxMain.SaveToFile(tDoc.FileName);
     // Now Setup the FTP Upload
     frmUpload := TfrmUPload.Create(self);
     frmUPload.LocalFile := TDoc.FileName;
     frmUPload.FileName := TDoc.FTPName;
     frmUpload.cboAccount.Text := TDoc.FTPName;
     frmUpload.FTPDir := TDoc.FTPDir;
     if frmUpload.ShowModal <> mrCancel then begin
       TDoc.sciMain.Modified := False;
       TDoc.hxMain.Modified := False;
     end;
     exit;
   end;

   if TDoc.FileName <> '' then begin
     if TDoc.bHexMode = false then begin
       if TDoc.fLineBreak <> lbWindows then begin
         s := Tdoc.sciMain.Lines.Text;
         ConvLineBreak(s, tDoc.fLineBreak);
         StringToFile(tDoc.Filename, s);
       end
       else
         TDoc.sciMain.Lines.SaveToFile(tDoc.FileName);
       TDoc.sciMain.Modified := False;
       TDoc.hxMain.Modified := False;
     end
     else begin
       tDoc.hxMain.SaveToFile(SelDoc.FileName);
       TDoc.sciMain.Modified := False;
       TDoc.hxMain.Modified := False;
     end;
   end
   else BEGIN
     SaveDocAs(TDoc);
   end;
  end;

end;

procedure TdmMain.SaveDocAs(TDoc: TfrmDoc);
var
  idx: Integer;
  s: String;
  msgResponse: Word;
label Start;
begin
  if TDoc = nil then exit;
  With dlgFileSave do begin
    Filter := SFilterAllFiles + GetHighlightersFilter(fHighlighters);
Start:
    if Execute then begin
      if FileExists(FileName) then begin
        msgResponse:=MessageDlg('The file '''+Filename+''''+#13+#10+'already exists. Do you wish to overwrite?', mtWarning, [mbYes,mbNo,mbCancel], 0);
        if (msgResponse=mrNo) then
          Goto Start
        else if (msgResponse=mrCancel) then
          exit;
      end;
      if TDoc.bHexMode = false then begin
       if TDoc.fLineBreak <> lbWindows then begin
          s := Tdoc.sciMain.Lines.Text;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区四区国产精品| 悠悠色在线精品| 欧美在线观看一区二区| 成人黄色电影在线| 国产一区二区久久| 日韩成人免费电影| 亚洲成人av一区| 亚洲卡通动漫在线| 亚洲国产电影在线观看| 久久精品网站免费观看| 日韩视频在线一区二区| 欧美日韩精品一区二区| 欧美亚男人的天堂| 欧美亚一区二区| 欧美日韩一区不卡| 欧美乱妇23p| 日韩你懂的电影在线观看| 91精品国产福利| 日韩欧美成人一区| 国产婷婷色一区二区三区四区| 精品日韩一区二区三区| 国产欧美一区二区三区网站| 一色桃子久久精品亚洲| 一区二区三区在线观看国产| 亚洲一本大道在线| 麻豆国产精品777777在线| 国产综合久久久久久鬼色| 国产一区二区视频在线播放| 99热国产精品| 日韩一二三区不卡| 亚洲电影视频在线| 国产九色sp调教91| 91影院在线免费观看| 欧美在线观看视频在线| 日韩精品一区二| 亚洲天堂精品视频| 日本aⅴ亚洲精品中文乱码| 国产盗摄一区二区| 日本伦理一区二区| 日韩欧美国产综合一区 | 欧美日韩午夜影院| 欧美电影免费观看高清完整版| 国产亚洲女人久久久久毛片| 一区二区欧美在线观看| 国产在线一区二区| 欧美人牲a欧美精品| 国产精品网站在线播放| 日韩中文字幕一区二区三区| 韩国一区二区三区| 日韩一区二区三区电影| 亚洲自拍偷拍图区| 99视频热这里只有精品免费| 精品国产伦一区二区三区观看体验| 日韩久久一区二区| 91免费视频网址| 中文字幕一区二区三区四区| 国产一区不卡精品| 久久美女高清视频| 激情综合五月天| 日韩欧美在线综合网| 蜜桃精品视频在线观看| 这里只有精品免费| 亚洲成人免费电影| 欧美色老头old∨ideo| 亚洲精品国产精品乱码不99| 91女人视频在线观看| 亚洲同性gay激情无套| 91一区二区三区在线观看| 国产日韩精品一区二区浪潮av| 国产九九视频一区二区三区| 久久精品人人做人人爽人人| 国产激情一区二区三区桃花岛亚洲| 久久综合九色综合久久久精品综合| 国内精品在线播放| 国产精品国产自产拍高清av | 天天av天天翘天天综合网 | 天使萌一区二区三区免费观看| 欧美午夜片在线看| 日产精品久久久久久久性色| 亚洲精品在线观看网站| 成人av影院在线| 亚洲电影一级片| 国产无一区二区| 欧洲中文字幕精品| 男女性色大片免费观看一区二区| 久久久久成人黄色影片| 色域天天综合网| 美国十次综合导航| 亚洲女人****多毛耸耸8| 欧美一区二区三区不卡| 99久久99久久综合| 日韩av一区二区三区| 国产精品久久三| 欧美高清视频www夜色资源网| 黄色日韩网站视频| 午夜激情综合网| 中文字幕日韩一区二区| 欧美一区二区三区喷汁尤物| 99re成人在线| 国产精品亚洲第一| 青青草成人在线观看| 一区二区在线观看视频| 欧美国产综合一区二区| 日韩一级黄色大片| 欧美夫妻性生活| 日本韩国视频一区二区| 国产精品77777| 麻豆中文一区二区| 亚洲妇女屁股眼交7| 成人欧美一区二区三区在线播放| 欧美大度的电影原声| 6080亚洲精品一区二区| 欧美日韩一区小说| 欧美午夜一区二区三区免费大片| 色综合av在线| av在线不卡免费看| 日韩vs国产vs欧美| 亚洲资源在线观看| 一区二区三区国产精华| 亚洲精品自拍动漫在线| 亚洲色图在线播放| 亚洲影院久久精品| 免费观看一级欧美片| 天天亚洲美女在线视频| 人人精品人人爱| 久久99久国产精品黄毛片色诱| 男人操女人的视频在线观看欧美| 久久精品国产精品亚洲精品| 国产夫妻精品视频| 欧美中文一区二区三区| 一本色道久久综合亚洲精品按摩| 成人免费高清在线观看| 欧美一a一片一级一片| 日韩免费观看高清完整版在线观看| 精品国产成人系列| 国产一区二区在线影院| 91国在线观看| 欧美成人猛片aaaaaaa| 国产女主播视频一区二区| 亚洲情趣在线观看| 韩国女主播一区二区三区| jvid福利写真一区二区三区| 欧美日精品一区视频| 精品国产免费视频| 亚洲六月丁香色婷婷综合久久| 久久电影网站中文字幕| 国产精品一区一区| 91福利在线观看| 国产三级精品视频| 免播放器亚洲一区| 91美女片黄在线观看| 国产精品视频一二| 久久av中文字幕片| 欧美色图天堂网| 久久精品一区二区| 蜜臀av亚洲一区中文字幕| 91黄视频在线观看| 2020国产精品自拍| 毛片一区二区三区| 欧美日韩亚洲丝袜制服| 伊人婷婷欧美激情| 色先锋aa成人| 国产欧美日韩精品一区| 日本成人在线看| 337p亚洲精品色噜噜| 日本亚洲免费观看| 91精品国产福利| 美女免费视频一区二区| 在线播放中文字幕一区| 日韩电影免费一区| 5858s免费视频成人| 婷婷久久综合九色综合绿巨人| 欧美日韩视频在线第一区| 亚洲一区二区免费视频| 欧美视频中文一区二区三区在线观看 | 欧美精品一区二区三区很污很色的| 九一九一国产精品| 欧美性色黄大片| 亚洲图片有声小说| 欧美电影免费观看高清完整版在线观看 | 精品国产乱码久久久久久闺蜜| 狠狠色丁香婷婷综合久久片| 日本一区二区成人| 91网站黄www| 五月天欧美精品| 久久精品水蜜桃av综合天堂| 国产成人av电影在线播放| 中文字幕一区二区三区在线不卡 | 成人永久aaa| 亚洲乱码国产乱码精品精的特点| 91精彩视频在线观看| 蜜桃久久av一区| 国产精品激情偷乱一区二区∴| 欧美少妇bbb| 高清国产午夜精品久久久久久| 亚洲综合色成人| 中文字幕精品综合| 91精品国产福利| 99久久久精品免费观看国产蜜| 午夜婷婷国产麻豆精品|