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

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

?? accidenceeditfrm.pas

?? 一個可以把源代碼以語法高亮的形式轉換成HTML格式或RTF格式。
?? PAS
?? 第 1 頁 / 共 2 頁
字號:
procedure TFrmAccidenceEdit.btnDelSymbolClick(Sender: TObject);
begin
  if FSMTabMgr.TabCount > 0 then
    if MessageBox(Handle, PChar(pubGet('Qust_Delete')), PChar(pubGet(2)),
      MB_YESNO + MB_ICONQUESTION) = IDYES then
      FSMTabMgr.DelIndexTab;
end;

procedure TFrmAccidenceEdit.btnOKClick(Sender: TObject);
begin
  //ToDo: 退出控制
  if not IsInputRight then
    Exit;
  SetValueToAcci;
  if FAcciState.SaveToFile then
    ModalResult := mrOk;
end;

procedure TFrmAccidenceEdit.SetFontFrame(AFontConfig: TFontConfig;
  AFontFrame: TFrameFont);
begin
  // Obj -> UI  [Font]
  with AFontFrame, AFontConfig do
  begin
    cbFontName.ItemIndex := cbFontName.Items.IndexOf(FontName);
    cbFontNameSelect(nil);
    cbFontSize.ItemIndex := cbFontSize.Items.IndexOf(IntToStr(FontSize));
    cbFontSizeSelect(nil);
    cbFontColor.Selected := FontColor;
    cbFontColorSelect(nil);
    chkBold.Checked := fsBold in FontStyle;
    chkItalic.Checked := fsItalic in FontStyle;
    chkUnderline.Checked := fsUnderline in FontStyle;
    chkStrikethrough.Checked := fsStrikeOut in FontStyle;
  end;
end;

procedure TFrmAccidenceEdit.SetFontConfig(AFontFrame: TFrameFont;
  AFontConfig: TFontConfig);
begin
  // UI -> Obj  [Font]
  with AFontConfig, AFontFrame do
  begin
    FontName := cbFontName.Text;
    FontSize := StrToInt(cbFontSize.Text);
    FontColor := cbFontColor.Selected;
    FontStyle := [];
    if chkBold.Checked then
      Include(FontStyle, fsBold);
    if chkItalic.Checked then
      Include(FontStyle, fsItalic);
    if chkStrikethrough.Checked then
      Include(FontStyle, fsStrikeOut);
    if chkUnderline.Checked then
      Include(FontStyle, fsUnderline);
  end;
end;

procedure TFrmAccidenceEdit.SetValueToAcci;
var
  i: Integer;
  KWConfig: TKeyWordConfig;    // 定義引用
  KWFrame: TFrameKeyWord;
  SMConfig: TSymbolConfig;
  SMFrame: TFrameSymbol;
begin
  if Not Assigned(FAcciState) then
    Exit;  // 未分配
  // UI -> Obj
  with FAcciState.FAcciConfig do
  begin
  
    Clear;   // 刪除 關鍵字、符號內容,也釋放其中的對象
    
    // 常規、數字
    GeneralConfig.IgnoreCase := chkIgnoreCase.Checked;
    GeneralConfig.ShowLine := chkShowLine.Checked;
    GeneralConfig.BGround := cbBGColor.Selected;
    SetFontConfig(GelFontFrame, GeneralConfig.FontConfig);
    SetFontConfig(NumFontFrame, NumberConfig.FontConfig);
    // 關鍵字
    for i := 0 to FKWTabMgr.TabCount - 1 do
    begin
      KWConfig := TKeyWordConfig.Create;
      KWFrame := TFrameKeyWord(FKWTabMgr.TabItems[i]);
      KWConfig.Name := FKWTabMgr.TabNames[i];
      SetFontConfig(KWFrame.KWFontFrame, KWConfig.FontConfig);
      KWConfig.Values.Assign(KWFrame.KeyWords.Lines);
      KeyWords.Add(KWConfig);
    end;
    // 符號
    for i := 0 to FSMTabMgr.TabCount - 1 do
    begin
      SMConfig := TSymbolConfig.Create;
      SMFrame := TFrameSymbol(FSMTabMgr.TabItems[i]);
      SMConfig.Name := FSMTabMgr.TabNames[i];
      SetFontConfig(SMFrame.SMFontFrame, SMConfig.FontConfig);
      SMConfig.Range := SMFrame.cbRange.Text;
      SMConfig.HightLight := SMFrame.cbHightLight.Text;
      SMConfig.DoubleSymbol := SMFrame.cbDoubleSym.Checked;
      SMConfig.BeginValue := SMFrame.edtBValue.Text;
      SMConfig.ESC := SMFrame.edtESC.Text;
      if SMConfig.DoubleSymbol then
        SMConfig.EndValue := SMFrame.edtEValue.Text;
      Symbols.Add(SMConfig);
    end;
  end;
end;

function TFrmAccidenceEdit.IsInputRight: Boolean;
var
  i,j, M, N: Integer;
  T :TPoint;
  s :string;
  SMFrame: TFrameSymbol;
  tmpList: TStringList;

  function StringsInList(Src,Des :TStrings;
           var SrcIndex,DesIndex:integer):Integer;
  var i :integer;
  begin
    Result := -1;
    SrcIndex :=0;
    DesIndex :=0;
    if Des.Count =0 then Exit;
    for i:=0 to Src.Count -1 do
    begin
      if TStringList(Des).Find(Src[i],DesIndex) then
      begin
        SrcIndex := i;                             // 第幾項重復
        Result := Integer(Des.Objects[DesIndex]);  // 與那一頁重復
        break;
      end;
    end;
  end;  // Local
  
  // 自動清除重復值  -- 不同關鍵字之間
  procedure DelDupKey(Src,Des :TStrings);
  var i,k:integer;
  begin
    for i:=Src.Count -1 downto 0 do
      if TStringList(Des).Find(Src[i],k) then // 已存在
        Src.Delete(i);
    if Src.Count >0 then
    begin
      Des.AddStrings(Src);
      TStringList(Des).Sort ; // 只有排序的才能使用 find 過程
    end;
  end;  // Local

begin   // Main
  Result := False;
  //ToDo : 待處理  值 判斷
  // 常規
  // 數字  -  只有字體,沒什么好設置,不存在即用默認值
  // 關鍵字
  tmpList := TStringList.Create ;
  //tmpList.Sorted := True;         // 實時排序,可能按大小  IndexOf()
  // 是否大小寫敏感 = Not 是否忽略大小寫
  tmpList.CaseSensitive := Not chkIgnoreCase.Checked ; 
  try
    for i :=0 to FKWTabMgr.TabCount - 1 do
    with TFrameKeyWord(FKWTabMgr.TabItems[i]) do
    begin
      try
        // 格式化關鍵字列表:空行、二邊空格、重復值去除。
        FormatKeyWordValues(KeyWords.Lines,i); 
      except
        on e :Exception do
        begin
          MessageBox(Handle, PChar(e.Message), PChar(pubGet(2)),
              MB_OK + MB_ICONINFORMATION);
          PageControl.ActivePage := TSKeyWord;
          FKWTabMgr.ActiveTab := i;
          Exit;
        end;  
      end;
      if KeyWords.Lines.Count =0 then
        if MessageBox(Handle,
             PChar(Format(pubGet('Info_KeyWords_Empty'),[FKWTabMgr.TabNames[i]])),
             PChar(pubGet(2)),
             MB_YesNo + MB_ICONINFORMATION)=ID_No then
        begin
          PageControl.ActivePage := TSKeyWord ;
          FKWTabMgr.ActiveTab := i;
          KeyWords.SetFocus;
          Result := False;
          exit;
        end;

      j:=StringsInList(KeyWords.Lines,tmpList,M,N);
      if j<>-1 then
      begin
        s := Format(pubGet('Info_KeyWords_Dup') ,
           [ FKWTabMgr.TabNames[i], FKWTabMgr.TabNames[j],tmpList[N],#13#10 ]);
        if MessageBox(Handle, PChar(s), PChar(pubGet(2)),
            MB_YESNO + MB_ICONINFORMATION)=idYes then
        begin
          PageControl.ActivePage := TSKeyWord;
          FKWTabMgr.ActiveTab := i;
          //SendMessage(0,EM_LineIndex
          //TPoint(TMemo(KeyWords).CaretPos).Y :=0;// := TPoint(TMemo(KeyWords).CaretPos.X ,k);
          //SendMessage(TFrameKeyWord(FKWTabMgr.TabItems[i]).KeyWords.Handle,
          //   EM_SETSEL, N, N);
          //M :=KeyWords.CaretPos.X + M;
          //SendMessage(KeyWords.Handle , EM_SETSEL, M,M );
          T.X := M;
          T.Y := M;
          KeyWords.CaretPos :=T;
          KeyWords.SetFocus;
          Result := False;
          exit;
        end
        else    // 自動清除重復值 -- 不同關鍵字之間
        begin
          DelDupKey(KeyWords.Lines,tmpList); // Delete keywords -> tmpList
        end;
      end
      else
      begin
        tmpList.AddStrings(KeyWords.Lines);
        tmpList.Sort;
      end;
    end;

    // 符號
    tmpList.Clear;
    for i :=0 to FSMTabMgr.TabCount - 1 do
    begin
      SMFrame := TFrameSymbol(FSMTabMgr.TabItems[i]);
      j := tmpList.IndexOf(SMFrame.edtBValue.Text);
      if j>-1 then
      begin
        s := Format(pubGet('Info_BValue_Dup') ,
             [FSMTabMgr.TabNames[i],
              FSMTabMgr.TabNames[Integer(tmpList.Objects[j])] ]);
        MessageBox(Handle, PChar(s), PChar(pubGet(2)),
          MB_OK + MB_ICONINFORMATION);
        PageControl.ActivePage := TSSymbols;
        FSMTabMgr.ActiveTab := i;
        SMFrame.edtBValue.SetFocus;
        Result := False;
        exit;
      end
      else
        tmpList.AddObject(SMFrame.edtBValue.Text ,Pointer(i));

      if Not SMFrame.edtESC.Enabled then SMFrame.edtESC.Text :='';

      if SMFrame.edtBValue.Text = '' then
      begin
        MessageBox(Handle, PChar(pubGet('Info_BValue')),
          PChar(pubGet(2)), MB_OK + MB_ICONINFORMATION);
        PageControl.ActivePage := TSSymbols;
        FSMTabMgr.ActiveTab := i;
        SMFrame.edtBValue.SetFocus;
        Result := False;
        exit;
      end;

      if SMFrame.edtBValue.Text[1] in ['A'..'Z','a'..'z','_'] then
      begin
        MessageBox(Handle, PChar(pubGet('Info_BValue_InVaild')),
          PChar(pubGet(2)),MB_OK + MB_ICONINFORMATION);
        PageControl.ActivePage := TSSymbols;
        FSMTabMgr.ActiveTab := i;
        SMFrame.edtBValue.SetFocus;
        Result := False;
        exit;
      end;
      
      if SMFrame.cbDoubleSym.Checked and (SMFrame.edtEValue.Text = '') then
      begin
        MessageBox(Handle, PChar(pubGet('Info_EValue')), 
          PChar(pubGet(2)),MB_OK + MB_ICONINFORMATION);
        PageControl.ActivePage := TSSymbols;
        FSMTabMgr.ActiveTab := i;
        SMFrame.edtEValue.SetFocus;
        Result := False;
        exit;
      end;
    end;
  finally
    tmpList.Free;
  end;
  Result := True;
end;

procedure TFrmAccidenceEdit.FormatKeyWordValues(KWValues: TStrings;TabIndex:integer);
var
  i: Integer;
  s ,PrevStr: string;
  tmpList :TStringList;
begin
  //將空行、空格行去除、二邊空格;去除重復值(按常規中是否大小寫敏感);排序(升序)

  tmpList := TStringList.Create;
  KWValues.BeginUpdate ;
  try
    tmpList.CaseSensitive := Not chkIgnoreCase.Checked ;// 是否按大小寫比較
    //tmpList.Sorted := True;               // 插入時排序,有重復值自動過濾
    //tmpList.Duplicates := dupIgnore;      // 已是默認值
    //TStringList(KWValues).Sort;
    
    for i:=0 to KWValues.Count do           // 去前后空格、排序
      tmpList.Add(Trim(KWValues[i]));    
    tmpList.Sort; 
    PrevStr := '';
    KWValues.Clear;     
    for i := 0 to tmpList.Count -1 do
    begin
      s := tmpList[i];
      if (s<>'') then                       // 去空行
      begin
        // 關鍵字首字母是否合法
        if Not (s[1] in ['A'..'Z','a'..'z','_']) then
          Raise Exception.Create(pubGet('Info_KeyWord_Invalid')); 
        // 與上個值比較,相同則不加入  -- 因為已排序
        if (chkIgnoreCase.Checked and (CompareText(PrevStr ,s)=0)) or
           (Not chkIgnoreCase.Checked and (CompareStr(PrevStr ,s)=0)) then
        begin 
        end   
        else
        begin        
          KWValues.AddObject(s,Pointer(TabIndex)); 
          PrevStr := s;                            
        end;                                      
      end;      
    end;    // for/end
    
  finally
    KWValues.EndUpdate;
    tmpList.Free;
  end;
end;

end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲五码中文字幕| 视频一区二区国产| 午夜精品福利在线| 国产成人av一区| 欧美乱熟臀69xxxxxx| 国产精品污污网站在线观看| 日韩在线观看一区二区| 91一区二区三区在线观看| www亚洲一区| 日本伊人精品一区二区三区观看方式| 成人av午夜影院| 久久久精品国产免大香伊| 亚洲无人区一区| 91丨porny丨户外露出| 久久久久久久久岛国免费| 久久精品国产**网站演员| 欧美图区在线视频| 自拍偷拍国产精品| 福利一区在线观看| 久久精品水蜜桃av综合天堂| 卡一卡二国产精品| 91精品国产乱码久久蜜臀| 亚洲国产综合91精品麻豆| av一二三不卡影片| 国产精品久久一卡二卡| 国产一区美女在线| 亚洲精品一线二线三线| 极品销魂美女一区二区三区| 欧美一级在线视频| 午夜国产不卡在线观看视频| 欧美视频日韩视频| 亚洲一区二区三区视频在线播放| 白白色 亚洲乱淫| 1024成人网| 97久久超碰精品国产| 中文字幕人成不卡一区| 91女人视频在线观看| 一区二区三区影院| 欧美影院午夜播放| 午夜视频一区二区| 欧美日韩电影一区| 麻豆一区二区在线| 久久亚洲影视婷婷| 成人综合日日夜夜| 亚洲精品亚洲人成人网| 欧美日韩情趣电影| 视频一区二区三区中文字幕| 日韩欧美久久久| 国产东北露脸精品视频| 国产精品美女一区二区三区| 色噜噜久久综合| 五月天视频一区| 精品国产91九色蝌蚪| 国产福利精品一区| 亚洲一区在线观看网站| 91精品国产综合久久精品app | 美女脱光内衣内裤视频久久网站| 日韩精品一区二区三区swag| 国产精品原创巨作av| 中文字幕一区二区日韩精品绯色| 日本乱人伦aⅴ精品| 免费看日韩a级影片| 久久精品视频在线看| 一本久久a久久免费精品不卡| 五月婷婷久久丁香| 国产三级一区二区| 在线视频一区二区三区| 久久国产精品免费| 亚洲欧美经典视频| 精品国产凹凸成av人导航| 99re成人在线| 久久 天天综合| 亚洲永久精品国产| 国产色一区二区| 欧美日韩国产综合久久| 国产精品一区一区| 日韩精品每日更新| 欧美国产精品专区| 欧美亚洲动漫精品| 国产激情精品久久久第一区二区| 亚洲精品老司机| 亚洲精品一区二区三区精华液 | 5858s免费视频成人| 成人动漫中文字幕| 麻豆精品精品国产自在97香蕉| 亚洲美女视频在线| 国产欧美日韩综合精品一区二区| 欧美唯美清纯偷拍| 成人avav影音| 国产精品一二三区| 日本 国产 欧美色综合| 亚洲精品水蜜桃| 国产精品成人免费| 久久天堂av综合合色蜜桃网| 欧美一区二区三区色| 一本到高清视频免费精品| 国产91精品露脸国语对白| 蜜桃一区二区三区在线观看| 亚洲一二三四区不卡| 亚洲欧洲日产国产综合网| 国产欧美va欧美不卡在线| 日韩精品一区二区三区视频播放| 欧美日韩国产综合久久| 色老汉一区二区三区| 暴力调教一区二区三区| 成人av在线影院| 粉嫩av一区二区三区| 狠狠色丁香婷综合久久| 狠狠色狠狠色综合系列| 精品一区二区免费视频| 久久 天天综合| 美女视频黄频大全不卡视频在线播放| 日韩精品一二三| 丝袜脚交一区二区| 日本午夜精品一区二区三区电影| 午夜影视日本亚洲欧洲精品| 亚洲第一电影网| 亚洲二区视频在线| 日韩有码一区二区三区| 蜜臀99久久精品久久久久久软件| 美女视频一区二区| 国产精品一区二区久激情瑜伽| 国产福利一区在线| 9色porny自拍视频一区二区| 一本色道久久综合狠狠躁的推荐 | 亚洲女人的天堂| 亚洲国产毛片aaaaa无费看| 亚洲国产中文字幕在线视频综合| 午夜一区二区三区在线观看| 另类小说欧美激情| 国产99一区视频免费| 99riav一区二区三区| 91国偷自产一区二区开放时间| 欧美伦理电影网| 久久这里都是精品| 国产精品黄色在线观看| 亚洲自拍偷拍av| 久久精品国产99| 成人app网站| 欧美美女一区二区| 26uuu亚洲综合色| 中文字幕欧美一| 亚洲成av人**亚洲成av**| 乱一区二区av| 91麻豆成人久久精品二区三区| 欧美嫩在线观看| 欧美激情一区三区| 亚洲h动漫在线| 精品一区二区三区免费| 91美女片黄在线观看91美女| 91精品国产综合久久精品app| 亚洲国产精品av| 日韩精品三区四区| 不卡一区在线观看| 欧美一二三四在线| 国产人伦精品一区二区| 五月婷婷色综合| 99精品在线免费| 欧美成人性福生活免费看| 亚洲三级在线看| 九九国产精品视频| 欧洲视频一区二区| 国产婷婷色一区二区三区四区| 亚洲午夜久久久久| 国产99久久久国产精品免费看| 欧美日韩一区二区三区在线| 国产精品无码永久免费888| 免费观看在线色综合| 色综合久久久久久久久久久| 国产亚洲视频系列| 日韩精品亚洲一区二区三区免费| 91农村精品一区二区在线| 国产日韩视频一区二区三区| 三级一区在线视频先锋| 99re亚洲国产精品| 精品国产自在久精品国产| 偷拍日韩校园综合在线| 色悠悠亚洲一区二区| 久久精子c满五个校花| 天天综合天天综合色| 91免费观看国产| 欧美经典一区二区| 国产一区二区三区免费播放| 欧美人狂配大交3d怪物一区| 亚洲精品中文在线观看| www.av亚洲| 国产精品欧美极品| 国产1区2区3区精品美女| 日韩你懂的在线观看| 日韩av电影一区| 欧美老肥妇做.爰bbww| 亚洲高清免费观看高清完整版在线观看| av综合在线播放| 国产精品三级电影| 成人网页在线观看| 中文字幕国产一区二区| 国产91精品精华液一区二区三区 | 不卡在线观看av| 亚洲视频一区二区在线| 色综合天天综合|