From 2151ac70a1447bd040c1f32f322d9ad730ead83a Mon Sep 17 00:00:00 2001 From: h677 Date: Sat, 18 Feb 2006 18:09:47 +0000 Subject: [PATCH] =?utf8?q?=E3=83=AC=E3=82=B9=E3=82=A8=E3=83=87=E3=82=A3?= =?utf8?q?=E3=82=BF=E3=81=8B=E3=82=89=E5=85=A5=E5=8A=9B=E3=82=A2=E3=82=B7?= =?utf8?q?=E3=82=B9=E3=83=88=E3=83=95=E3=82=A9=E3=83=BC=E3=83=A0=E7=B5=8C?= =?utf8?q?=E7=94=B1=E3=81=A7=E5=85=A5=E5=8A=9B=E3=81=A7=E3=81=8D=E3=82=8B?= =?utf8?q?=E3=82=88=E3=81=86=E3=81=AB=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- Editor.dfm | 50 +++++++++++++++------- Editor.pas | 63 ++++++++++++++++++++------- GikoDataModule.pas | 1 + InputAssist.dfm | 94 +++++++++++++++++++++++++++++----------- InputAssist.pas | 106 +++++++++++++++++++++++++++++++++++++++++++++- InputAssistDataModule.pas | 42 ++++++++++++++++++ 6 files changed, 299 insertions(+), 57 deletions(-) diff --git a/Editor.dfm b/Editor.dfm index 9298dd8..b67f20e 100644 --- a/Editor.dfm +++ b/Editor.dfm @@ -343,6 +343,19 @@ object EditorForm: TEditorForm Action = BeLogInOutEAction Style = tbsCheck end + object ToolButton8: TToolButton + Left = 285 + Top = 0 + Width = 8 + Caption = 'ToolButton8' + ImageIndex = 11 + Style = tbsSeparator + end + object ToolButton9: TToolButton + Left = 293 + Top = 0 + Action = ShowInputAssistForm + end end object MainMenu: TMainMenu Left = 8 @@ -469,7 +482,7 @@ object EditorForm: TEditorForm Left = 72 Top = 124 Bitmap = { - 494C01010B000E00040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600 + 494C01010C000E00040010001000FFFFFFFFFF00FFFFFFFFFFFFFFFF424D3600 0000000000003600000028000000400000004000000001002000000000000040 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -989,11 +1002,11 @@ object EditorForm: TEditorForm 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000000000000000F81FFFFFFFFF0000E007FDFFF81F0000 - C003F17FF00F00008001E05FE00700008001C017C00300000000800580010000 - 0000000180010000000000018001000000008001800100000000E00180010000 - 0000F803800100008001FE07C00300008001FF8FE0070000C003FFFFF00F0000 - E007FFFFF81F0000F81FFFFFFFFF0000FFFFFFFFFFFFFFFFFFFFFE00FFFFFFFF + 00000000000000000000000000000000F81FFFFFFFFFFFFFE007FDFFF81FF3F9 + C003F17FF00FF9F38001E05FE007F9F38001C017C003F80300008005800184E7 + 000000018001CCE7000000018001CE4F000080018001CE4F0000E0018001CE4F + 0000F8038001CF1F8001FE07C0038F1F8001FF8FE007FFFFC003FFFFF00F8FFF + E007FFFFF81F8FFFF81FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE00FFFFFFFF FE00C000F000F000FE008000F000F000FE008000F000F0008000800000000000 8000800070000000800080017000000080008001700000008001800170000000 8003800170000000800780017FDF001F807F8001001F001F80FFC003001F001F @@ -1001,14 +1014,13 @@ object EditorForm: TEditorForm FFF3000FFFFFF0CFFF010007FFFFF08700000003FFFFF08700010003FFF7F887 0003003FC1F7FE8F0003003FC3FBFE3F00038FFFC7FBFF7F0003FC00CBFBFE3F 0003C400DCF7FEBF0003CC00FF0FFC9F0003D400FFFFFDDF0003F800FFFFFDDF - FFFFFC00FFFFFDDFFFFFFC00FFFFFFFF00000000000000000000000000000000 - 000000000000} + FFFFFC00FFFFFDDFFFFFFC00FFFFFFFF} end object HotToobarImageList: TImageList Left = 104 Top = 124 Bitmap = { - 494C01010B000E00040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600 + 494C01010C000E00040010001000FFFFFFFFFF00FFFFFFFFFFFFFFFF424D3600 0000000000003600000028000000400000004000000001002000000000000040 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -1528,11 +1540,11 @@ object EditorForm: TEditorForm 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000000000000000F81FFFFFFFFF0000E007FDFFF81F0000 - C003F17FF00F00008001E05FE00700008001C017C00300000000000580010000 - 0000000180010000000000018001000000008001800100000000E00180010000 - 0000F803800100008001FE07C00300008001FF8FE0070000C003FFFFF00F0000 - E007FFFFF81F0000F81FFFFFFFFF0000FFFFFFFFFFFFFFFFFFFFFE00FFFFFFFF + 00000000000000000000000000000000F81FFFFFFFFFFFFFE007FDFFF81FF3F9 + C003F17FF00FF9F38001E05FE007F9F38001C017C003F80300000005800184E7 + 000000018001CCE7000000018001CE4F000080018001CE4F0000E0018001CE4F + 0000F8038001CF1F8001FE07C0038F1F8001FF8FE007FFFFC003FFFFF00F8FFF + E007FFFFF81F8FFFF81FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE00FFFFFFFF FE00C000F000F000FE008000F000F000FE008000F000F0008000800000000000 8000800070000000800080017000000080008001700000008001800170000000 8003800170000000800780017FDF001F807F8001001F001F80FFC003001F001F @@ -1540,8 +1552,7 @@ object EditorForm: TEditorForm FFF3000FFFFFF0CFFF010007FFFFF08700000003FFFFF08700010003FFE7F887 0003003FC1F3FE8F0003003FC3FBFE3F00038FFFC7FBFF7F0003FC00CBFBFE3F 0003C400DCF3FEBF0003CC00FF07FC9F0003D400FFFFFDDF0003F800FFFFFDDF - FFFFFC00FFFFFDDFFFFFFC00FFFFFFFF00000000000000000000000000000000 - 000000000000} + FFFFFC00FFFFFDDFFFFFFC00FFFFFFFF} end object Indy: TIdHTTP Intercept = IdLogDebug @@ -1739,6 +1750,13 @@ object EditorForm: TEditorForm Caption = #20837#21147#12450#12471#12473#12488 OnExecute = InputAssistActionExecute end + object ShowInputAssistForm: TAction + Category = #32232#38598 + Caption = #20837#21147#12450#12471#12473#12488#12501#12457#12540#12512#21628#12403#20986#12375 + Hint = #20837#21147#12450#12471#12473#12488#12501#12457#12540#12512#12434#21628#12403#20986#12377 + ImageIndex = 11 + OnExecute = ShowInputAssistFormExecute + end end object IdLogDebug: TIdLogDebug OnReceive = IdLogDebugReceive diff --git a/Editor.pas b/Editor.pas index 4bda7ce..38d8356 100644 --- a/Editor.pas +++ b/Editor.pas @@ -130,6 +130,9 @@ type InputAssistPopupMenu: TPopupMenu; BodyEdit: TMemo; ApplicationEvents1: TApplicationEvents; + ToolButton8: TToolButton; + ToolButton9: TToolButton; + ShowInputAssistForm: TAction; procedure EditorPageChange(Sender: TObject); procedure FormCreate(Sender: TObject); @@ -187,6 +190,7 @@ type procedure InputAssistActionExecute(Sender: TObject); procedure ApplicationEvents1Message(var Msg: tagMSG; var Handled: Boolean); + procedure ShowInputAssistFormExecute(Sender: TObject); private FThreadItem: TThreadItem; FBoard: TBoard; @@ -254,21 +258,23 @@ type procedure GetCookie(Rawtext: String; ABoard: TBoard); //! “ü—̓AƒVƒXƒg‚̃|ƒbƒvƒAƒbƒvƒƒjƒ…[‚̃NƒŠƒbƒNƒCƒxƒ“ƒg procedure InputAssistMenuClick(Sender: TObject); + //! TMemo‚̃J[ƒ\ƒ‹ˆÊ’u‚É•¶Žš—ñ‘}“ü + procedure InsertText(Memo: TMemo; Text: String); protected procedure CreateParams(var Params: TCreateParams); override; public - FBBSID: String; + FBBSID: String; procedure SetFont; procedure SetThreadItem(Item: TThreadItem); procedure SetBoard(Item: TBoard); - property BBSID: string read FBBSID write FBBSID; + property BBSID: string read FBBSID write FBBSID; end; implementation uses Giko, ItemDownload, MojuUtils, IdGlobal, GikoMessage, Imm, - InputAssistDataModule; + InputAssistDataModule, InputAssist; const CAPTION_NAME_NEW: string = 'ƒMƒRƒiƒr ƒXƒŒ—§‚ăGƒfƒBƒ^'; CAPTION_NAME_RES: string = 'ƒMƒRƒiƒr ƒŒƒXƒGƒfƒBƒ^'; @@ -2292,8 +2298,7 @@ end; procedure TEditorForm.InputAssistMenuClick(Sender: TObject); var - line, pos, sel : Integer; - text, left, right : String; + text : String; IMC: HIMC; begin if not (Sender is TMenuItem) then Exit; @@ -2315,22 +2320,32 @@ begin FResistWords.Clear; FInputAssistKey := ''; end; - BodyEdit.Lines.BeginUpdate; - line := SendMessage(BodyEdit.Handle,EM_LINEFROMCHAR,-1,0); //s - sel := BodyEdit.SelStart; - pos := sel - SendMessage(BodyEdit.Handle, EM_LINEINDEX, -1, 0); //Œ… + InsertText(BodyEdit, text); +end; + +//! TMemo‚̃J[ƒ\ƒ‹ˆÊ’u‚É•¶Žš—ñ‘}“ü +procedure TEditorForm.InsertText(Memo: TMemo; Text: String); +var + line, sel, pos: Integer; + left, right : String; +begin + Memo.Lines.BeginUpdate; + line := SendMessage(Memo.Handle,EM_LINEFROMCHAR,-1,0); //s + sel := Memo.SelStart; + pos := sel - SendMessage(Memo.Handle, EM_LINEINDEX, -1, 0); //Œ… if (pos > 0) then begin - left := Copy(BodyEdit.Lines[line], 0, pos); + left := Copy(Memo.Lines[line], 0, pos); end else begin left := ''; end; - right := Copy(BodyEdit.Lines[line], pos + 1, Length(BodyEdit.Lines[line])); - BodyEdit.Lines.Strings[line] := left + text + right; - BodyEdit.Lines.EndUpdate; + right := Copy(Memo.Lines[line], pos + 1, Length(Memo.Lines[line])); + Memo.Lines.Strings[line] := left + Text + right; + Memo.Lines.EndUpdate; //@ƒLƒƒƒŒƒbƒg‚̈ʒu‚ðXV‚·‚é - BodyEdit.SelStart := sel + Length(text); + Memo.SelStart := sel + Length(text); // ƒLƒƒƒŒƒbƒg‚̈ʒu‚܂ŃXƒNƒ[ƒ‹ - BodyEdit.Perform(EM_SCROLLCARET, 0, 0); + Memo.Perform(EM_SCROLLCARET, 0, 0); + end; procedure TEditorForm.ApplicationEvents1Message(var Msg: tagMSG; @@ -2372,4 +2387,22 @@ begin end; end; +procedure TEditorForm.ShowInputAssistFormExecute(Sender: TObject); +var + form : TInputAssistForm; +begin + form := TInputAssistForm.Create(nil); + try + if TopAction.Checked then begin // ƒXƒeƒCó‘Ԃɐݒè + SetWindowPos(form.Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE + SWP_NOSIZE); + end; + form.SetUpFromEditor; + if (form.ShowModal = mrOk) then begin + InsertText(BodyEdit, form.GetInsertText); + end; + finally + form.Release; + end; +end; + end. diff --git a/GikoDataModule.pas b/GikoDataModule.pas index 5f455e2..d71fbee 100644 --- a/GikoDataModule.pas +++ b/GikoDataModule.pas @@ -3777,6 +3777,7 @@ var begin form := TInputAssistForm.Create(GikoForm); try + form.SetUpFromMain; form.ShowModal; finally form.Release; diff --git a/InputAssist.dfm b/InputAssist.dfm index 8c7235b..3e47355 100644 --- a/InputAssist.dfm +++ b/InputAssist.dfm @@ -1,8 +1,8 @@ object InputAssistForm: TInputAssistForm - Left = 386 - Top = 153 - Width = 400 - Height = 450 + Left = 589 + Top = 279 + Width = 397 + Height = 460 Caption = #20837#21147#12450#12471#12473#12488#35373#23450 Color = clBtnFace Font.Charset = SHIFTJIS_CHARSET @@ -18,17 +18,17 @@ object InputAssistForm: TInputAssistForm object Panel1: TPanel Left = 0 Top = 0 - Width = 392 - Height = 177 + Width = 389 + Height = 200 Align = alTop BevelOuter = bvLowered Caption = 'Panel1' TabOrder = 0 object Panel5: TPanel - Left = 298 - Top = 1 + Left = 295 + Top = 33 Width = 93 - Height = 175 + Height = 166 Align = alRight TabOrder = 0 object CloseButton: TButton @@ -70,9 +70,9 @@ object InputAssistForm: TInputAssistForm end object Panel6: TPanel Left = 1 - Top = 1 - Width = 297 - Height = 175 + Top = 33 + Width = 294 + Height = 166 Align = alClient BevelOuter = bvNone Caption = 'Panel6' @@ -80,8 +80,8 @@ object InputAssistForm: TInputAssistForm object GikoListView1: TGikoListView Left = 0 Top = 0 - Width = 297 - Height = 175 + Width = 294 + Height = 166 Align = alClient Columns = <> ReadOnly = True @@ -94,12 +94,47 @@ object InputAssistForm: TInputAssistForm OnSelectItem = GikoListView1SelectItem end end + object Panel7: TPanel + Left = 1 + Top = 1 + Width = 387 + Height = 32 + Align = alTop + Caption = 'Panel7' + TabOrder = 2 + object CategoryComboLabel: TLabel + Left = 12 + Top = 10 + Width = 77 + Height = 12 + Caption = #12459#12486#12468#12522#21517#36984#25246 + end + object CategoryComboBox: TComboBox + Left = 105 + Top = 6 + Width = 176 + Height = 20 + ItemHeight = 12 + TabOrder = 0 + Text = 'CategoryComboBox' + OnChange = CategoryComboBoxChange + OnKeyPress = CategoryComboBoxKeyPress + end + object InsertButton: TButton + Left = 297 + Top = 4 + Width = 75 + Height = 25 + Action = InsertButtonAction + TabOrder = 1 + end + end end object Panel2: TPanel Left = 0 - Top = 177 - Width = 392 - Height = 246 + Top = 200 + Width = 389 + Height = 233 Align = alClient BevelOuter = bvNone Caption = 'Panel2' @@ -107,7 +142,7 @@ object InputAssistForm: TInputAssistForm object Panel3: TPanel Left = 0 Top = 0 - Width = 392 + Width = 389 Height = 48 Align = alTop BevelOuter = bvNone @@ -142,24 +177,24 @@ object InputAssistForm: TInputAssistForm object Panel4: TPanel Left = 0 Top = 48 - Width = 392 - Height = 198 + Width = 389 + Height = 185 Align = alClient BevelOuter = bvNone TabOrder = 1 object GroupBox1: TGroupBox Left = 0 Top = 0 - Width = 392 - Height = 198 + Width = 389 + Height = 185 Align = alClient Caption = #25407#20837#25991#23383#21015 TabOrder = 0 object TextMemo: TMemo Left = 2 Top = 14 - Width = 388 - Height = 182 + Width = 385 + Height = 169 Hint = #25407#20837#12377#12427#25991#23383#21015 Align = alClient ScrollBars = ssBoth @@ -355,5 +390,16 @@ object InputAssistForm: TInputAssistForm ImageIndex = 5 ShortCut = 46 end + object InsertButtonAction: TAction + Category = #32232#38598 + Caption = #25407#20837 + OnExecute = InsertButtonActionExecute + OnUpdate = InsertButtonActionUpdate + end + object CloseAction: TAction + Category = #32232#38598 + Caption = 'CloseAction' + OnExecute = CloseActionExecute + end end end diff --git a/InputAssist.pas b/InputAssist.pas index 910adaf..3414f7b 100644 --- a/InputAssist.pas +++ b/InputAssist.pas @@ -15,7 +15,7 @@ type Panel3: TPanel; KeyNameEdit: TLabeledEdit; CategoryNameEdit: TLabeledEdit; - Panel4: TPanel; + Panel4: TPanel; TextMemo: TMemo; ColumnImageList: TImageList; InputAssistFormActionList: TActionList; @@ -32,6 +32,12 @@ type DeleteButton: TButton; AddButton: TButton; Panel6: TPanel; + Panel7: TPanel; + CategoryComboBox: TComboBox; + CategoryComboLabel: TLabel; + InsertButton: TButton; + InsertButtonAction: TAction; + CloseAction: TAction; procedure FormCreate(Sender: TObject); procedure GikoListView1SelectItem(Sender: TObject; Item: TListItem; Selected: Boolean); @@ -44,12 +50,21 @@ type procedure GikoListView1ColumnClick(Sender: TObject; Column: TListColumn); procedure CloseButtonClick(Sender: TObject); + procedure CategoryComboBoxKeyPress(Sender: TObject; var Key: Char); + procedure CategoryComboBoxChange(Sender: TObject); + procedure InsertButtonActionUpdate(Sender: TObject); + procedure InsertButtonActionExecute(Sender: TObject); + procedure CloseActionExecute(Sender: TObject); private { Private éŒ¾ } FSortColumn : Integer; + FInsertText : String; procedure AddListViewItem(ResWord : TResistWord); public - { Public éŒ¾ } + { Public éŒ¾ } + procedure SetUpFromEditor(); + procedure SetUpFromMain(); + function GetInsertText(): String; end; var @@ -213,5 +228,92 @@ procedure TInputAssistForm.CloseButtonClick(Sender: TObject); begin Close(); end; +//! ƒJƒeƒSƒŠiž‚݃Rƒ“ƒ{ƒ{ƒbƒNƒX‚ð“ÇŽæê—p‚É‚·‚邽‚߂̃Cƒxƒ“ƒgˆ— +procedure TInputAssistForm.CategoryComboBoxKeyPress(Sender: TObject; + var Key: Char); +begin + Key := #0; +end; +//! ƒJƒeƒSƒŠiž‚݃Rƒ“ƒ{ƒ{ƒbƒNƒX‚ł̃JƒeƒSƒŠ•ÏXˆ— +procedure TInputAssistForm.CategoryComboBoxChange(Sender: TObject); +var + i : Integer; + key : String; +begin + LockWindowUpdate(GikoListView1.Handle); + GikoListView1.Clear; + if (CategoryComboBox.ItemIndex <= 0) then begin + for i := 0 to InputAssistDM.ResistWordCount - 1 do begin + AddListViewItem(InputAssistDM.GetResistWord(i)); + end; + end else begin + key := CategoryComboBox.Items[CategoryComboBox.ItemIndex]; + for i := 0 to InputAssistDM.ResistWordCount - 1 do begin + if (key = InputAssistDM.GetResistWord(i).GetCategory) then begin + AddListViewItem(InputAssistDM.GetResistWord(i)); + end; + end; + end; + LockWindowUpdate(0); +end; + +procedure TInputAssistForm.SetUpFromMain(); +begin + Self.Caption := '“ü—̓AƒVƒXƒgÝ’è'; + Panel3.Visible := True; + Panel5.Visible := True; + Panel7.Visible := False; + TextMemo.ReadOnly := False; + FInsertText := ''; + CloseAction.ShortCut := TShortCut(0); +end; +procedure TInputAssistForm.SetUpFromEditor(); +var + cat : TStringList; +begin + Self.Caption := '“ü—̓AƒVƒXƒg'; + Panel3.Visible := False; + Panel5.Visible := False; + Panel7.Visible := True; + TextMemo.ReadOnly := True; + FInsertText := ''; + CloseAction.ShortCut := ShortCut(VK_ESCAPE, []); + // ŒŸõ—p + cat := TStringList.Create; + try + InputAssistDM.GetCategoryList(cat); + CategoryComboBox.Items.Clear; + CategoryComboBox.Items.Add(''); + CategoryComboBox.Items.AddStrings(cat); + CategoryComboBox.ItemIndex := 0; + finally + cat.Free; + end; +end; +function TInputAssistForm.GetInsertText(): String; +begin + Result := FInsertText; +end; + +procedure TInputAssistForm.InsertButtonActionUpdate(Sender: TObject); +begin + InsertButtonAction.Enabled := (GikoListView1.Selected <> nil); +end; + +procedure TInputAssistForm.InsertButtonActionExecute(Sender: TObject); +begin + if (GikoListView1.Selected = nil) then begin + FInsertText := ''; + Self.ModalResult := mrNone; + end else begin + FInsertText := TResistWord(GikoListView1.Selected.Data).GetText; + Self.ModalResult := mrOk; + end; +end; + +procedure TInputAssistForm.CloseActionExecute(Sender: TObject); +begin + Self.ModalResult := mrCancel; +end; end. diff --git a/InputAssistDataModule.pas b/InputAssistDataModule.pas index e32220a..5f69086 100644 --- a/InputAssistDataModule.pas +++ b/InputAssistDataModule.pas @@ -32,6 +32,11 @@ type function GetStartWithKeyResistWords(Key: String; var list: TStringList): Integer; //! Key‚ðƒJƒeƒSƒŠ‚ÉŽ‚“o˜^‚³‚ê‚Ä‚¢‚é’PŒê‚ðŽæ“¾ function GetStartWithCategoryResistWords(Key: String; var list: TStringList): Integer; + //! Key‚̃JƒeƒSƒŠ‚É“o˜^‚³‚ê‚Ä‚¢‚é’PŒê‚ðŽæ“¾ + function GetCategoryResistWords(Key: String; var list: TStringList): Integer; + //! “o˜^Ï‚݃L[‚Ì‘S‚ẴJƒeƒSƒŠƒŠƒXƒgŽæ“¾ + procedure GetCategoryList(var list: TStringList); + end; TResistWord = class(TObject) @@ -307,6 +312,43 @@ begin FDictionary.Sorted := Value; end; end; +//! Key‚̃JƒeƒSƒŠ‚É“o˜^‚³‚ê‚Ä‚¢‚é’PŒê‚ðŽæ“¾ +function TInputAssistDM.GetCategoryResistWords(Key: String; var list: TStringList): Integer; +var + i : Integer; + resWord : TResistWord; +begin + Result := 0; + if (FDictionary <> nil) and (list <> nil) then begin + for i := 0 to FDictionary.Count - 1 do begin + resWord := TResistWord(FDictionary.Objects[i]); + if (Key = resWord.GetCategory) then begin + Inc(Result); + list.AddObject(resWord.GetKey + '(' + + resWord.GetCategory + ')', resWord); + end; + end; + list.CustomSort(CategorySort); + end; +end; + +//! “o˜^Ï‚݃L[‚Ì‘S‚ẴJƒeƒSƒŠƒŠƒXƒgŽæ“¾ +procedure TInputAssistDM.GetCategoryList(var list: TStringList); +var + i : Integer; +begin + if (FDictionary <> nil) and (list <> nil) then begin + // d•¡ƒ`ƒFƒbƒN‚ðTStringList‚Ì‹@”\‚ōs‚¤ + list.Clear; + list.Duplicates := dupIgnore; + list.Sorted := true; + list.BeginUpdate; + for i := 0 to FDictionary.Count - 1 do begin + list.Add(TResistWord(FDictionary.Objects[i]).GetCategory); + end; + list.EndUpdate; + end; +end; //! Key‚ðƒJƒeƒSƒŠ‚ÉŽ‚“o˜^’PŒê‚ð•Ô‚·Žž‚̃\[ƒg—p”äŠrƒƒ\ƒbƒh function CategorySort(List: TStringList; Index1, Index2: Integer): Integer; -- 2.11.0