Changeset 13
- Timestamp:
- Apr 28, 2016, 10:09:02 PM (9 years ago)
- Location:
- trunk
- Files:
-
- 4 added
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/AcronymDecoder.lpi
r10 r13 30 30 <SearchPaths> 31 31 <IncludeFiles Value="$(ProjOutDir)"/> 32 <OtherUnitFiles Value="Forms"/> 32 33 <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/> 33 34 </SearchPaths> … … 91 92 </Item5> 92 93 </RequiredPackages> 93 <Units Count=" 6">94 <Units Count="7"> 94 95 <Unit0> 95 96 <Filename Value="AcronymDecoder.lpr"/> … … 128 129 <ResourceBaseClass Value="Form"/> 129 130 </Unit5> 131 <Unit6> 132 <Filename Value="Forms\UFormCategorySelect.pas"/> 133 <IsPartOfProject Value="True"/> 134 <ComponentName Value="FormCategorySelect"/> 135 <ResourceBaseClass Value="Form"/> 136 </Unit6> 130 137 </Units> 131 138 </ProjectOptions> … … 138 145 <SearchPaths> 139 146 <IncludeFiles Value="$(ProjOutDir)"/> 147 <OtherUnitFiles Value="Forms"/> 140 148 <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/> 141 149 </SearchPaths> -
trunk/AcronymDecoder.lpr
r10 r13 9 9 Interfaces, // this includes the LCL widgetset 10 10 Forms, UFormMain, UAcronym, synapse, UFormImport, Common, SysUtils, TemplateGenerics, 11 UFormAcronym, CoolTranslator, UFormSettings 11 UFormAcronym, CoolTranslator, UFormSettings, UFormCategorySelect 12 12 { you can add units after this }; 13 13 … … 34 34 Application.CreateForm(TFormAcronym, FormAcronym); 35 35 Application.CreateForm(TFormSettings, FormSettings); 36 Application.CreateForm(TFormCategorySelect, FormCategorySelect); 36 37 Application.Run; 37 38 end. -
trunk/Languages/AcronymDecoder.cs.po
r12 r13 10 10 "Content-Transfer-Encoding: 8bit\n" 11 11 "Language: cs\n" 12 "X-Generator: Poedit 1.8.4\n" 12 "X-Generator: Poedit 1.8.7.1\n" 13 14 #: tformacronym.acategoryadd.caption 15 msgctxt "tformacronym.acategoryadd.caption" 16 msgid "Add" 17 msgstr "Přidat" 18 19 #: tformacronym.acategoryremove.caption 20 msgctxt "tformacronym.acategoryremove.caption" 21 msgid "Remove" 22 msgstr "Odebrat" 13 23 14 24 #: tformacronym.buttoncancel.caption … … 38 48 msgstr "Popis:" 39 49 50 #: tformacronym.label4.caption 51 msgid "Categories:" 52 msgstr "Kategorie:" 53 54 #: tformcategoryselect.buttoncancel.caption 55 msgctxt "tformcategoryselect.buttoncancel.caption" 56 msgid "Cancel" 57 msgstr "Zrušit" 58 59 #: tformcategoryselect.buttonok.caption 60 msgid "Select" 61 msgstr "Vybrat" 62 63 #: tformcategoryselect.caption 64 msgid "Select categories" 65 msgstr "Vybrat kategories" 66 40 67 #: tformimport.buttonimport.caption 41 68 msgid "Process" … … 47 74 48 75 #: tformimport.caption 49 #, fuzzy50 76 msgctxt "tformimport.caption" 51 77 msgid "Import" … … 61 87 62 88 #: tformmain.aacronymadd.caption 89 msgctxt "tformmain.aacronymadd.caption" 63 90 msgid "Add" 64 91 msgstr "Přidat" … … 69 96 70 97 #: tformmain.aacronymremove.caption 98 msgctxt "tformmain.aacronymremove.caption" 71 99 msgid "Remove" 72 100 msgstr "Odebrat" … … 103 131 msgctxt "tformmain.aimport.caption" 104 132 msgid "Import" 105 msgstr "Imp rotovat"133 msgstr "Importovat" 106 134 107 135 #: tformmain.asettings.caption … … 169 197 msgstr "Jazyk:" 170 198 199 #: uformacronym.scategory 200 msgid "Category" 201 msgstr "Kategorie" 202 203 #: uformacronym.sremovecategory 204 msgid "Remove categories" 205 msgstr "Odebrat kategorie" 206 207 #: uformacronym.sremovecategoryquery 208 msgid "Do you really want to remove selected categories?" 209 msgstr "Opravdu chcete odebrat vybrané kategorie?" 210 171 211 #: uformimport.simportednewacronyms 172 212 msgid "Imported %d new acronyms." -
trunk/Languages/AcronymDecoder.po
r12 r13 1 1 msgid "" 2 2 msgstr "Content-Type: text/plain; charset=UTF-8" 3 4 #: tformacronym.acategoryadd.caption 5 msgctxt "TFORMACRONYM.ACATEGORYADD.CAPTION" 6 msgid "Add" 7 msgstr "" 8 9 #: tformacronym.acategoryremove.caption 10 msgctxt "TFORMACRONYM.ACATEGORYREMOVE.CAPTION" 11 msgid "Remove" 12 msgstr "" 3 13 4 14 #: tformacronym.buttoncancel.caption … … 28 38 msgstr "" 29 39 40 #: tformacronym.label4.caption 41 msgid "Categories:" 42 msgstr "" 43 44 #: tformcategoryselect.buttoncancel.caption 45 msgctxt "TFORMCATEGORYSELECT.BUTTONCANCEL.CAPTION" 46 msgid "Cancel" 47 msgstr "" 48 49 #: tformcategoryselect.buttonok.caption 50 msgid "Select" 51 msgstr "" 52 53 #: tformcategoryselect.caption 54 msgid "Select categories" 55 msgstr "" 56 30 57 #: tformimport.buttonimport.caption 31 58 msgid "Process" … … 50 77 51 78 #: tformmain.aacronymadd.caption 79 msgctxt "tformmain.aacronymadd.caption" 52 80 msgid "Add" 53 81 msgstr "" … … 58 86 59 87 #: tformmain.aacronymremove.caption 88 msgctxt "tformmain.aacronymremove.caption" 60 89 msgid "Remove" 61 90 msgstr "" … … 158 187 msgstr "" 159 188 189 #: uformacronym.scategory 190 msgid "Category" 191 msgstr "" 192 193 #: uformacronym.sremovecategory 194 msgid "Remove categories" 195 msgstr "" 196 197 #: uformacronym.sremovecategoryquery 198 msgid "Do you really want to remove selected categories?" 199 msgstr "" 200 160 201 #: uformimport.simportednewacronyms 161 202 msgid "Imported %d new acronyms." -
trunk/UAcronym.pas
r8 r13 9 9 10 10 type 11 TAcronymC ontexts = class;11 TAcronymCategories = class; 12 12 TAcronymMeanings = class; 13 13 … … 33 33 Language: string; 34 34 Acronym: TAcronym; 35 C ontexts: TAcronymContexts;35 Categories: TAcronymCategories; 36 36 Source: TAcronymSource; 37 37 constructor Create; … … 53 53 end; 54 54 55 { TAcronymC ontext}56 57 TAcronymC ontext= class55 { TAcronymCategory } 56 57 TAcronymCategory = class 58 58 Name: string; 59 59 Acronyms: TObjectList; // TObjectList<TAcronym> … … 62 62 end; 63 63 64 { TAcronymContexts } 65 66 TAcronymContexts = class(TObjectList) 67 function SearchByName(Name: string): TAcronymContext; 68 function AddContext(Name: string): TAcronymContext; 69 end; 64 { TAcronymCategories } 65 66 TAcronymCategories = class(TObjectList) 67 function SearchByName(Name: string): TAcronymCategory; 68 function AddContext(Name: string): TAcronymCategory; 69 procedure AssignToStrings(Strings: TStrings); 70 procedure AssignFromStrings(Strings: TStrings); 71 end; 72 73 { TAcronymEntry } 70 74 71 75 TAcronymEntry = class … … 73 77 Meaning: string; 74 78 Description: string; 79 Categories: TStringList; 80 constructor Create; 81 destructor Destroy; override; 75 82 end; 76 83 … … 81 88 Sources: TObjectList; // TObjectList<TAcronymSource> 82 89 Acronyms: TAcronyms; 83 C ontexts: TAcronymContexts;90 Categories: TAcronymCategories; 84 91 Modified: Boolean; 85 92 constructor Create; … … 101 108 end; 102 109 110 { TAcronymEntry } 111 112 constructor TAcronymEntry.Create; 113 begin 114 Categories := TStringList.Create; 115 end; 116 117 destructor TAcronymEntry.Destroy; 118 begin 119 Categories.Free; 120 inherited Destroy; 121 end; 122 103 123 { TAcronymMeanings } 104 124 … … 124 144 constructor TAcronymMeaning.Create; 125 145 begin 126 C ontexts := TAcronymContexts.Create(False);146 Categories := TAcronymCategories.Create(False); 127 147 end; 128 148 129 149 destructor TAcronymMeaning.Destroy; 130 150 begin 131 FreeAndNil(C ontexts);151 FreeAndNil(Categories); 132 152 inherited Destroy; 133 153 end; … … 152 172 end; 153 173 154 { TAcronymC ontexts }155 156 function TAcronymC ontexts.SearchByName(Name: string): TAcronymContext;174 { TAcronymCategories } 175 176 function TAcronymCategories.SearchByName(Name: string): TAcronymCategory; 157 177 var 158 178 I: Integer; 159 179 begin 160 180 I := 0; 161 while (I < Count) and (TAcronymC ontext(Items[I]).Name <> Name) do Inc(I);162 if I < Count then Result := TAcronymC ontext(Items[I])181 while (I < Count) and (TAcronymCategory(Items[I]).Name <> Name) do Inc(I); 182 if I < Count then Result := TAcronymCategory(Items[I]) 163 183 else Result := nil; 164 184 end; 165 185 166 function TAcronymC ontexts.AddContext(Name: string): TAcronymContext;167 begin 168 Result := TAcronymC ontext.Create;186 function TAcronymCategories.AddContext(Name: string): TAcronymCategory; 187 begin 188 Result := TAcronymCategory.Create; 169 189 Result.Name := Name; 170 190 Add(Result); 171 191 end; 172 192 193 procedure TAcronymCategories.AssignToStrings(Strings: TStrings); 194 var 195 I: Integer; 196 begin 197 Strings.Clear; 198 for I := 0 to Count - 1 do 199 Strings.AddObject(TAcronymCategory(Items[I]).Name, Items[I]); 200 end; 201 202 procedure TAcronymCategories.AssignFromStrings(Strings: TStrings); 203 var 204 I: Integer; 205 begin 206 Clear; 207 for I := 0 to Strings.Count - 1 do 208 Add(TAcronymCategory(Strings.Objects[I])); 209 end; 210 173 211 174 212 { TAcronym } … … 185 223 end; 186 224 187 { TAcronymC ontext}188 189 constructor TAcronymC ontext.Create;225 { TAcronymCategory } 226 227 constructor TAcronymCategory.Create; 190 228 begin 191 229 Acronyms := TObjectList.Create(False); 192 230 end; 193 231 194 destructor TAcronymC ontext.Destroy;232 destructor TAcronymCategory.Destroy; 195 233 begin 196 234 FreeAndNil(Acronyms); … … 204 242 Sources := TObjectList.Create; 205 243 Acronyms := TAcronyms.Create; 206 Contexts := TAcronymContexts.Create; 244 Categories := TAcronymCategories.Create; 245 TAcronymCategory(Categories[Categories.Add(TAcronymCategory.Create)]).Name := 'Internet'; 246 TAcronymCategory(Categories[Categories.Add(TAcronymCategory.Create)]).Name := 'Software'; 247 TAcronymCategory(Categories[Categories.Add(TAcronymCategory.Create)]).Name := 'Chat'; 207 248 end; 208 249 … … 211 252 FreeAndNil(Sources); 212 253 FreeAndNil(Acronyms); 213 FreeAndNil(C ontexts);254 FreeAndNil(Categories); 214 255 inherited Destroy; 215 256 end; … … 224 265 I: Integer; 225 266 J: Integer; 226 AcronymContext: TAcronymC ontext;267 AcronymContext: TAcronymCategory; 227 268 begin 228 269 Self.FileName := FileName; … … 252 293 Context.DelimitedText := Line[2]; 253 294 for J := 0 to Context.Count - 1 do begin 254 AcronymContext := C ontexts.SearchByName(Context[J]);295 AcronymContext := Categories.SearchByName(Context[J]); 255 296 if not Assigned(AcronymContext) then begin 256 AcronymContext := TAcronymC ontext.Create;297 AcronymContext := TAcronymCategory.Create; 257 298 AcronymContext.Name := Context[J]; 258 C ontexts.Add(AcronymContext);299 Categories.Add(AcronymContext); 259 300 end; 260 NewMeaning.C ontexts.Add(AcronymContext);301 NewMeaning.Categories.Add(AcronymContext); 261 302 end; 262 303 end; … … 294 335 Line.Add(Name); 295 336 Context.Clear; 296 for J := 0 to C ontexts.Count - 1 do297 Context.Add(TAcronymC ontext(Contexts[J]).Name);337 for J := 0 to Categories.Count - 1 do 338 Context.Add(TAcronymCategory(Categories[J]).Name); 298 339 Line.Add(Context.DelimitedText); 299 340 F.Add(Line.CommaText); -
trunk/UFormAcronym.lfm
r12 r13 1 1 object FormAcronym: TFormAcronym 2 Left = 5553 Height = 2964 Top = 4115 Width = 4202 Left = 845 3 Height = 448 4 Top = 528 5 Width = 509 6 6 Caption = 'Acronym' 7 ClientHeight = 2968 ClientWidth = 4207 ClientHeight = 448 8 ClientWidth = 509 9 9 OnClose = FormClose 10 10 OnKeyUp = FormKeyUp 11 11 OnShow = FormShow 12 LCLVersion = '1. 6.0.4'12 LCLVersion = '1.7' 13 13 object Label1: TLabel 14 14 Left = 8 15 Height = 2 015 Height = 24 16 16 Top = 16 17 Width = 4317 Width = 56 18 18 Caption = 'Name:' 19 19 ParentColor = False … … 21 21 object EditAcronym: TEdit 22 22 Left = 136 23 Height = 2823 Height = 34 24 24 Top = 15 25 Width = 27225 Width = 361 26 26 Anchors = [akTop, akLeft, akRight] 27 27 OnKeyUp = FormKeyUp … … 30 30 object Label2: TLabel 31 31 Left = 8 32 Height = 2 032 Height = 24 33 33 Top = 49 34 Width = 6134 Width = 79 35 35 Caption = 'Meaning:' 36 36 ParentColor = False … … 38 38 object EditMeaning: TEdit 39 39 Left = 136 40 Height = 2840 Height = 34 41 41 Top = 49 42 Width = 27242 Width = 361 43 43 Anchors = [akTop, akLeft, akRight] 44 44 OnKeyUp = FormKeyUp … … 46 46 end 47 47 object ButtonOk: TButton 48 Left = 32048 Left = 409 49 49 Height = 25 50 Top = 25650 Top = 408 51 51 Width = 75 52 52 Anchors = [akRight, akBottom] … … 57 57 end 58 58 object ButtonCancel: TButton 59 Left = 22459 Left = 313 60 60 Height = 25 61 Top = 25661 Top = 408 62 62 Width = 75 63 63 Anchors = [akRight, akBottom] … … 69 69 object Label3: TLabel 70 70 Left = 8 71 Height = 2 071 Height = 24 72 72 Top = 88 73 Width = 7973 Width = 103 74 74 Caption = 'Description:' 75 75 ParentColor = False … … 79 79 Height = 114 80 80 Top = 88 81 Width = 27281 Width = 361 82 82 Anchors = [akTop, akLeft, akRight] 83 83 ScrollBars = ssAutoBoth 84 84 TabOrder = 4 85 85 end 86 object Label4: TLabel 87 Left = 12 88 Height = 24 89 Top = 208 90 Width = 96 91 Caption = 'Categories:' 92 ParentColor = False 93 end 94 object ListBox1: TListBox 95 Left = 136 96 Height = 141 97 Top = 208 98 Width = 360 99 Anchors = [akTop, akLeft, akRight] 100 ItemHeight = 0 101 MultiSelect = True 102 OnSelectionChange = ListBox1SelectionChange 103 PopupMenu = PopupMenuCategory 104 ScrollWidth = 358 105 TabOrder = 5 106 TopIndex = -1 107 end 108 object Button1: TButton 109 Left = 136 110 Height = 25 111 Top = 360 112 Width = 75 113 Action = ACategoryAdd 114 TabOrder = 6 115 end 116 object Button2: TButton 117 Left = 232 118 Height = 25 119 Top = 360 120 Width = 75 121 Action = ACategoryRemove 122 TabOrder = 7 123 end 124 object ActionList1: TActionList 125 left = 361 126 top = 240 127 object ACategoryRemove: TAction 128 Caption = 'Remove' 129 OnExecute = ACategoryRemoveExecute 130 end 131 object ACategoryAdd: TAction 132 Caption = 'Add' 133 OnExecute = ACategoryAddExecute 134 end 135 end 136 object PopupMenuCategory: TPopupMenu 137 left = 192 138 top = 244 139 end 86 140 end -
trunk/UFormAcronym.lrt
r12 r13 5 5 TFORMACRONYM.BUTTONCANCEL.CAPTION=Cancel 6 6 TFORMACRONYM.LABEL3.CAPTION=Description: 7 TFORMACRONYM.LABEL4.CAPTION=Categories: 8 TFORMACRONYM.ACATEGORYREMOVE.CAPTION=Remove 9 TFORMACRONYM.ACATEGORYADD.CAPTION=Add -
trunk/UFormAcronym.pas
r8 r13 7 7 uses 8 8 Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, Menus, 9 StdCtrls, UAcronym;9 StdCtrls, ActnList, UAcronym; 10 10 11 11 type … … 14 14 15 15 TFormAcronym = class(TForm) 16 ACategoryRemove: TAction; 17 ACategoryAdd: TAction; 18 ActionList1: TActionList; 19 Button1: TButton; 20 Button2: TButton; 16 21 ButtonOk: TButton; 17 22 ButtonCancel: TButton; … … 21 26 Label2: TLabel; 22 27 Label3: TLabel; 28 Label4: TLabel; 29 ListBox1: TListBox; 23 30 MemoDescription: TMemo; 31 PopupMenuCategory: TPopupMenu; 32 procedure ACategoryAddExecute(Sender: TObject); 33 procedure ACategoryRemoveExecute(Sender: TObject); 24 34 procedure FormClose(Sender: TObject; var CloseAction: TCloseAction); 25 35 procedure FormKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); 26 36 procedure FormShow(Sender: TObject); 37 procedure ListBox1SelectionChange(Sender: TObject; User: boolean); 27 38 private 28 { private declarations }39 procedure UpdateInterface; 29 40 public 30 41 procedure Load(Entry: TAcronymEntry); … … 40 51 41 52 uses 42 UFormMain; 53 UFormMain, UFormCategorySelect; 54 55 resourcestring 56 SCategory = 'Category'; 57 SRemoveCategory = 'Remove categories'; 58 SRemoveCategoryQuery = 'Do you really want to remove selected categories?'; 43 59 44 60 { TFormAcronym } … … 57 73 end; 58 74 75 procedure TFormAcronym.ACategoryAddExecute(Sender: TObject); 76 var 77 I: Integer; 78 begin 79 FormCategorySelect.Load(ListBox1.Items); 80 if FormCategorySelect.ShowModal = mrOk then begin 81 for I := 0 to FormCategorySelect.ListBox1.Count - 1 do 82 if FormCategorySelect.ListBox1.Selected[I] then begin 83 ListBox1.Items.AddObject(FormCategorySelect.ListBox1.Items[I], FormCategorySelect.ListBox1.Items.Objects[I]); 84 end; 85 end; 86 end; 87 88 procedure TFormAcronym.ACategoryRemoveExecute(Sender: TObject); 89 var 90 I: Integer; 91 begin 92 if MessageDlg(SRemoveCategory, SRemoveCategoryQuery, 93 TMsgDlgType.mtConfirmation, [mbCancel, mbOk], 0) = mrOk then begin 94 for I := ListBox1.Items.Count - 1 downto 0 do 95 if ListBox1.Selected[I] then 96 ListBox1.Items.Delete(I); 97 UpdateInterface; 98 end; 99 end; 100 59 101 procedure TFormAcronym.FormShow(Sender: TObject); 60 102 begin 61 103 FormMain.PersistentForm1.Load(Self); 104 UpdateInterface; 105 end; 106 107 procedure TFormAcronym.ListBox1SelectionChange(Sender: TObject; User: boolean); 108 begin 109 UpdateInterface; 110 end; 111 112 procedure TFormAcronym.UpdateInterface; 113 begin 114 ACategoryRemove.Enabled := ListBox1.ItemIndex <> -1; 62 115 end; 63 116 … … 67 120 EditMeaning.Text := Entry.Meaning; 68 121 MemoDescription.Text := Entry.Description; 122 ListBox1.Items.Assign(Entry.Categories); 69 123 end; 70 124 … … 74 128 Entry.Meaning := EditMeaning.Text; 75 129 Entry.Description := MemoDescription.Text; 130 Entry.Categories.Assign(ListBox1.Items); 76 131 end; 77 132 -
trunk/UFormMain.lfm
r12 r13 5 5 Width = 631 6 6 Caption = 'Acronym Decoder' 7 ClientHeight = 4 217 ClientHeight = 414 8 8 ClientWidth = 631 9 9 Menu = MainMenu1 … … 13 13 OnDestroy = FormDestroy 14 14 OnShow = FormShow 15 LCLVersion = '1. 6.0.4'15 LCLVersion = '1.7' 16 16 object ListViewAcronyms: TListView 17 17 Left = 8 18 Height = 3 7218 Height = 365 19 19 Top = 40 20 20 Width = 613 … … 46 46 object EditSearch: TEdit 47 47 Left = 8 48 Height = 2848 Height = 34 49 49 Top = 8 50 50 Width = 611 -
trunk/UFormMain.pas
r12 r13 88 88 private 89 89 FAlwaysOnTop: Boolean; 90 function CompareStrings(Strings1, Strings2: TStrings): Boolean; 90 91 procedure SetAlwaysOnTop(AValue: Boolean); 91 92 private … … 227 228 var 228 229 TempEntry: TAcronymEntry; 230 TempCategories: TStringList; 229 231 Meaning: TAcronymMeaning; 230 232 begin … … 235 237 TempEntry.Meaning := Name; 236 238 TempEntry.Description := Description; 239 Categories.AssignToStrings(TempEntry.Categories); 240 TempCategories := TStringList.Create; 241 TempCategories.Assign(TempEntry.Categories); 237 242 FormAcronym.Load(TempEntry); 238 243 if FormAcronym.ShowModal = mrOk then begin … … 240 245 if (TempEntry.Name <> Acronym.Name) or 241 246 (TempEntry.Meaning <> Name) or 242 (TempEntry.Description <> Description) then begin 247 (TempEntry.Description <> Description) or 248 not CompareStrings(TempEntry.Categories, TempCategories) then begin 243 249 // TODO: Update item inplace if possible 244 250 AcronymDb.RemoveAcronym(Acronym.Name, Name); 245 251 Meaning := AcronymDb.AddAcronym(TempEntry.Name, TempEntry.Meaning); 246 252 Meaning.Description := TempEntry.Description; 253 Meaning.Categories.AssignFromStrings(TempEntry.Categories); 247 254 UpdateAcronymsList; 248 255 UpdateInterface; 249 256 end; 250 257 end; 258 TempEntry.Free; 259 TempCategories.Free; 251 260 end; 252 261 end; … … 290 299 Meaning := AcronymDb.AddAcronym(TempEntry.Name, TempEntry.Meaning); 291 300 Meaning.Description := TempEntry.Description; 301 Meaning.Categories.AssignFromStrings(TempEntry.Categories); 292 302 UpdateAcronymsList; 293 303 UpdateInterface; 294 end else TempEntry.Free; 304 end; 305 TempEntry.Free; 295 306 end; 296 307 … … 347 358 Item.Data := TAcronymMeaning(FoundAcronyms[Item.Index]); 348 359 ContextCombined := ''; 349 for I := 0 to C ontexts.Count - 1 do350 ContextCombined := ContextCombined + TAcronymC ontext(Contexts[I]).Name + ',';360 for I := 0 to Categories.Count - 1 do 361 ContextCombined := ContextCombined + TAcronymCategory(Categories[I]).Name + ','; 351 362 Delete(ContextCombined, Length(ContextCombined), 1); 352 363 Item.SubItems.Add(ContextCombined); … … 372 383 begin 373 384 Visible := not Visible; 385 end; 386 387 function TFormMain.CompareStrings(Strings1, Strings2: TStrings): Boolean; 388 var 389 I: Integer; 390 begin 391 Result := Strings1.Count = Strings2.Count; 392 if not Result then Exit; 393 for I := 0 to Strings1.Count - 1 do 394 if (Strings1[I] <> Strings2[I]) or (Strings1.Objects[I] <> Strings2.Objects[I]) then begin 395 Result := False; 396 Exit; 397 end; 374 398 end; 375 399
Note:
See TracChangeset
for help on using the changeset viewer.