File: inicol.xml

package info (click to toggle)
fpc 3.2.0%2Bdfsg-12
  • links: PTS, VCS
  • area: main
  • in suites: bullseye, bullseye-backports
  • size: 338,552 kB
  • sloc: pascal: 3,794,737; xml: 191,997; ansic: 9,637; asm: 8,482; java: 5,346; sh: 4,664; yacc: 3,751; makefile: 2,688; lex: 2,538; javascript: 2,375; sql: 929; php: 473; cpp: 145; perl: 134; sed: 132; csh: 34; tcl: 7
file content (741 lines) | stat: -rw-r--r-- 24,485 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
<?xml version="1.0" encoding="ISO-8859-1"?>
<fpdoc-descriptions>
<package name="fcl">

<!--
  ====================================================================
    inicol
  ====================================================================
-->

<module name="inicol">
<short>Collection which can write itself to inifile.</short>
<descr>
<p><file>inicol</file> contains an implementation of <var>TCollection</var>
and <var>TCollectionItem</var> descendents which cooperate to read and
write the collection from and to a <file>.ini</file> file. It uses the
<link id="#fcl.inifiles.TCustomIniFile">TCustomIniFile</link> class for 
this.</p>
</descr>

<!-- unresolved type reference Visibility: default -->
<element name="SysUtils">
<short>Exception and string formatting</short>
</element>

<!-- unresolved type reference Visibility: default -->
<element name="Classes">
<short>Collections</short>
</element>

<!-- unresolved type reference Visibility: default -->
<element name="Inifiles">
<short>Ini file support</short>
</element>

<!--
  ********************************************************************
    #fcl.inicol.TIniCollectionItem
  ********************************************************************
-->

<!-- object Visibility: default -->
<element name="TIniCollectionItem">
<short>Collection item with support for loading/saving from/to ini file</short>
<descr>
<p>
<var>TIniCollectionItem</var> is a <link id="#rtl.classes.tcollectionitem"/>
descendent which has some extra methods for saving/loading the item to or
from an <file>.ini</file> file.
</p>
<p>
To use this class, a descendent should be made, and the <link
id="TIniCollectionItem.SaveToIni">SaveToIni</link> and <link
id="TIniCollectionItem.LoadFromIni">LoadFromIni</link> methods should be
overridden. They should implement the actual loading and saving. The loading
and saving is always initiated by the methods in <link
id="TIniCollection"/>, <link id="TIniCollection.LoadFromIni"/> and 
<link id="TIniCollection.SaveToIni"/> respectively.
</p>
</descr>
<seealso>
<link id="TIniCollection"/>
<link id="TIniCollectionItem.SaveToIni"/>
<link id="TIniCollectionItem.LoadFromIni"/>
<link id="TIniCollection.LoadFromIni"/>
<link id="TIniCollection.SaveToIni"/>
</seealso>
</element>

<!-- procedure Visibility: public -->
<element name="TIniCollectionItem.SaveToIni">
<short>Method called when the item must be saved</short>
<descr>
<var>SaveToIni</var> is called by <link id="TIniCollection.SaveToIni"/> when
it saves this item. Descendent classes should override this method to
save the data they need to save. All write methods of the
<var>TCustomIniFile</var>  instance passed in <var>Ini</var> can be used, as
long as the writing happens in the section passed in <var>Section</var>.
</descr>
<errors>
No checking is done to see whether the values are actually written to the
correct section.
</errors>
<seealso>
<link id="TIniCollection.SaveToIni"/>
<link id="TIniCollectionItem.LoadFromIni">LoadFromIni</link>
<link id="TIniCollectionItem.SaveToFile">SaveToFile</link>
<link id="TIniCollectionItem.LoadFromFile">LoadFromFile</link>
</seealso>
</element>

<!-- argument Visibility: default -->
<element name="TIniCollectionItem.SaveToIni.Ini">
<short><var>TCustomIniFile</var> instance to which the item should be saved</short>
</element>

<!-- argument Visibility: default -->
<element name="TIniCollectionItem.SaveToIni.Section">
<short>Section under which data should be saved.</short>
</element>

<!-- procedure Visibility: public -->
<element name="TIniCollectionItem.LoadFromIni">
<short>Method called when the item must be loaded</short>
<descr>
<var>LoadFromIni</var> is called by <link id="TIniCollection.LoadFromIni"/> when
it saves this item. Descendent classes should override this method to
load the data they need to load. All read methods of the
<var>TCustomIniFile</var>  instance passed in <var>Ini</var> can be used, as
long as the reading happens in the section passed in <var>Section</var>.
</descr>
<errors>
No checking is done to see whether the values are actually read from the
correct section.
</errors>
<seealso>
<link id="TIniCollection.LoadFromIni"/>
<link id="TIniCollectionItem.SaveToIni">SaveToIni</link>
<link id="TIniCollectionItem.LoadFromFile">LoadFromFile</link>
<link id="TIniCollectionItem.SaveToFile">SaveToFile</link>
</seealso>
</element>

<!-- argument Visibility: default -->
<element name="TIniCollectionItem.LoadFromIni.Ini">
<short><var>TCustomIniFile</var> instance from which the item should be loaded</short>
</element>

<!-- argument Visibility: default -->
<element name="TIniCollectionItem.LoadFromIni.Section">
<short>Section from which data should be loaded.</short>
</element>

<!-- procedure Visibility: public -->
<element name="TIniCollectionItem.SaveToFile">
<short>Save item to a file</short>
<descr>
<var>SaveToFile</var> creates an instance of <var>TIniFile</var> with
the indicated <var>FileName</var> calls <link id="TIniCollectionItem.SaveToIni">SaveToIni</link> to save the
item to the indicated file in .ini format under the section
<var>Section</var>
</descr>
<errors>
An exception can occur if the file is not writeable.
</errors>
<seealso>
<link id="TIniCollectionItem.SaveToIni">SaveToIni</link>
<link id="TIniCollectionItem.LoadFromFile">LoadFromFile</link>
</seealso>
</element>

<!-- argument Visibility: default -->
<element name="TIniCollectionItem.SaveToFile.FileName">
<short>Name of file to which the item should be saved.</short>
</element>

<!-- argument Visibility: default -->
<element name="TIniCollectionItem.SaveToFile.Section">
<short>Section under which the item should be saved.</short>
</element>

<!-- procedure Visibility: public -->
<element name="TIniCollectionItem.LoadFromFile">
<short>Load item from a file</short>
<descr>
<var>LoadFromFile</var> creates an instance of <var>TMemIniFile</var> and
calls <link id="TIniCollectionItem.LoadFromIni">LoadFromIni</link> to load the
item from the indicated file in .ini format from the section
<var>Section</var>.
</descr>
<errors>
None.
</errors>
<seealso>
<link id="TIniCollectionItem.SaveToFile">SaveToFile</link>
<link id="TIniCollectionItem.LoadFromIni">LoadFromIni</link>
</seealso>
</element>

<!-- argument Visibility: default -->
<element name="TIniCollectionItem.LoadFromFile.FileName">
<short>Filename from which to load item</short>
</element>

<!-- argument Visibility: default -->
<element name="TIniCollectionItem.LoadFromFile.Section">
<short>Section from which to load</short>
</element>

<!-- property Visibility: public -->
<element name="TIniCollectionItem.SectionName">
<short>Default section name</short>
<descr>
<var>SectionName</var> is the section name under which the item will be
saved or from which it should be read. The read/write functions should be
overridden in descendents to determine a unique section name within the .ini
file.
</descr>
<seealso>
<link id="TIniCollectionItem.SaveToFile">SaveToFile</link>
<link id="TIniCollectionItem.LoadFromIni">LoadFromIni</link>
</seealso>
</element>

<!--
  ********************************************************************
    #fcl.inicol.TIniCollection
  ********************************************************************
-->

<!-- object Visibility: default -->
<element name="TIniCollection">
<short>Collection which can write itself to an .ini file</short>
<descr>
<p>
<var>TIniCollection</var> is a <link
id="#rtl.classes.tcollection">collection</link> descendent which has the
capability to write itself to an <file>.ini</file> file. It introduces some
load and save mechanisms, which can be used to write all items in the
collection to disk. The items should be descendents of the type <link
id="TIniCollectionItem"/>.
</p>
<p>
All methods work using a <var>TCustomInifile</var> class, making it possible
to save to alternate file formats, or even databases.
</p>
<p>
An instance of <var>TIniCollection</var> should never be used directly.
Instead, a descendent should be used, which sets the <var>FPrefix</var> and
<var>FSectionPrefix</var> protected variables.
</p>
</descr>
<seealso>
<link id="TIniCollection.LoadFromFile"/>
<link id="TIniCollection.LoadFromIni"/>
<link id="TIniCollection.SaveToIni"/>
<link id="TIniCollection.SaveToFile"/>
</seealso>
</element>

<!-- procedure Visibility: public -->
<element name="TIniCollection.Load">
<short>Loads the collection from the default filename.</short>
<descr>
<var>Load</var> loads the collection from the file as specified in the <link
id="TIniCollection.FileName">FileName</link> property. It calls the <link
id="TIniCollection.LoadFromFile">LoadFromFile</link> method to do this.
</descr>
<errors>
If the collection was not loaded or saved to file before this call, an
<var>EIniCol</var> exception will be raised.
</errors>
<seealso>
<link id="TIniCollection.LoadFromFile"/>
<link id="TIniCollection.LoadFromIni"/>
<link id="TIniCollection.Save"/>
<link id="TIniCollection.FileName">FileName</link>
</seealso>
</element>

<!-- procedure Visibility: public -->
<element name="TIniCollection.Save">
<short>Save the collection to the default filename.</short>
<descr>
<var>Save</var> writes the collection to the file as specified in the <link
id="TIniCollection.FileName">FileName</link> property, using <link
id="TIniCollection.GlobalSection">GlobalSection</link> as the section. 
It calls the <link id="TIniCollection.SaveToFile">SaveToFile</link> 
method to do this.
</descr>
<errors>
If the collection was not loaded or saved to file before this call, an
<var>EIniCol</var> exception will be raised.
</errors>
<seealso>
<link id="TIniCollection.SaveToFile"/>
<link id="TIniCollection.SaveToIni"/>
<link id="TIniCollection.Load"/>
<link id="TIniCollection.FileName">FileName</link>
</seealso>
</element>

<!-- procedure Visibility: public -->
<element name="TIniCollection.SaveToIni">
<short>Save the collection to a <var>TCustomIniFile</var> descendent</short>
<descr>
<p>
<var>SaveToIni</var> does the actual writing. It writes the number of
elements in the global section (as specified by the <var>Section</var> argument), as
well as the section name for each item in the list. The item names are
written using the <link id="TIniCollection.Prefix">Prefix</link> property
for the key. After this it calls the <link
id="TIniCollectionItem.SaveToIni">SaveToIni</link> method of all
<link id="TIniCollectionItem"/> instances.
</p>
<p>
This means that the global section of the .ini file will look something like
this:
</p>
<pre>
[globalsection]
Count=3
Prefix1=SectionPrefixFirstItemName
Prefix2=SectionPrefixSecondItemName
Prefix3=SectionPrefixThirdItemName
</pre>
<p>
This construct allows to re-use an ini file for multiple collections.
</p>
<p>
After this method is called, the <link
id="TIniCollection.GlobalSection">GlobalSection</link> property contains the
value of <var>Section</var>, it will be used in the 
<link id="TIniCollectionItem.Save">Save</link> method.
</p>
</descr>
<seealso>
<link id="TIniCollectionItem.SaveToIni"/>
</seealso>
</element>

<!-- argument Visibility: default -->
<element name="TIniCollection.SaveToIni.Ini">
<short>Inifile class to use when writing data.</short>
</element>

<!-- argument Visibility: default -->
<element name="TIniCollection.SaveToIni.Section">
<short>Section to which to write the global data</short>
</element>

<!-- procedure Visibility: public -->
<element name="TIniCollection.SaveToFile">
<short>Save collection to a file in .ini file format</short>
<descr>
<var>SaveToFile</var> will create a <var>TMemIniFile</var> instance
with the <var>AFileName</var> argument as a filename. This instance is
passed on to the <link id="TIniCollection.SaveToIni">SaveToIni</link>
method, together with the <var>Section</var> argument, to do the actual
saving.
</descr>
<errors>
An exception may be raised if the path in <var>AFileName</var> does not exist.
</errors>
<seealso>
<link id="TIniCollection.SaveToIni"/>
<link id="TIniCollection.LoadFromFile"/>
</seealso>
</element>

<!-- argument Visibility: default -->
<element name="TIniCollection.SaveToFile.AFileName">
<short>File to save collection to.</short>
</element>

<!-- argument Visibility: default -->
<element name="TIniCollection.SaveToFile.Section">
<short>Section name for global section.</short>
</element>

<!-- procedure Visibility: public -->
<element name="TIniCollection.LoadFromIni">
<short>Load collection from a file in .ini file format.</short>
<descr>
<p>
<var>LoadFromIni</var> will load the collection from the <var>Ini</var>
instance. It first clears the collection, and reads the number of items
from the global section with the name as passed through the <var>Section</var>
argument. After this, an item is created and added to the collection, and
its data is read by calling the <link id="TIniCollectionItem.LoadFromIni"/>
method, passing the appropriate section name as found in the global section.
</p>
<p>
The description of the global section can be found in the <link
id="TIniCollection.SaveToIni"/> method description.
</p>
</descr>
<seealso>
<link id="TIniCollection.LoadFromFile"/>
<link id="TIniCollectionItem.LoadFromIni"/>
<link id="TIniCollection.SaveToIni"/>
</seealso>
</element>

<!-- argument Visibility: default -->
<element name="TIniCollection.LoadFromIni.Ini">
<short>Ini object to load data from.</short>
</element>

<!-- argument Visibility: default -->
<element name="TIniCollection.LoadFromIni.Section">
<short>Name of the global section.</short>
</element>

<!-- procedure Visibility: public -->
<element name="TIniCollection.LoadFromFile">
<short>Load collection from file.</short>
<descr>
<var>LoadFromFile</var> creates a <var>TMemIniFile</var> instance using
<var>AFileName</var> as the filename. It calls
<link id="TIniCollection.LoadFromIni">LoadFromIni</link> using this instance
and <var>Section</var> as the parameters.
</descr>
<seealso>
<link id="TIniCollection.LoadFromIni"/>
<link id="TIniCollection.Load"/>
<link id="TIniCollection.SaveToIni"/>
<link id="TIniCollection.SaveToFile"/>
</seealso>
</element>

<!-- argument Visibility: default -->
<element name="TIniCollection.LoadFromFile.AFileName">
<short>Filename to load collection from</short>
</element>

<!-- argument Visibility: default -->
<element name="TIniCollection.LoadFromFile.Section">
<short>Section to use as global section</short>
</element>

<!-- property Visibility: public -->
<element name="TIniCollection.Prefix">
<short>Prefix used in global section</short>
<descr>
<p>
<var>Prefix</var> is used when writing the section names of the items in
the collection to the global section, or when reading the names from the
global section. If the prefix is set to <var>Item</var> then the global
section might look something like this:
</p>
<pre>
[MyCollection]
Count=2
Item1=FirstItem
Item2=SecondItem
</pre>
<p>
A descendent of <var>TIniCollection</var> should set the value of this
property, it cannot be empty.
</p>
</descr>
<seealso>
<link id="TIniCollection.SectionPrefix"/>
<link id="TIniCollection.GlobalSection"/>
</seealso>
</element>

<!-- property Visibility: public -->
<element name="TIniCollection.SectionPrefix">
<short>Prefix string for section names</short>
<descr>
<var>SectionPrefix</var> is a string that is prepended to the section name
as returned by the <link id="TIniCollectionItem.SectionName"/> property to
return the exact section name. It can be empty.
</descr>
<seealso>
<link id="TIniCollection.Section"/>
<link id="TIniCollection.GlobalSection"/>
</seealso>
</element>

<!-- property Visibility: public -->
<element name="TIniCollection.FileName">
<short>Filename of the collection</short>
<descr>
<var>FileName</var> is the filename as used in the last
<link id="TIniCollection.LoadFromFile">LoadFromFile</link> or <link
id="TIniCollection.SaveToFile">SaveToFile</link> operation.
It is used in the <link id="TIniCollection.Load">Load</link> or
<link id="TIniCollection.Save">Save</link> calls.
</descr>
<seealso>
<link id="TIniCollection.Save">Save</link>
<link id="TIniCollection.LoadFromFile">LoadFromFile</link>
<link id="TIniCollection.SaveToFile">SaveToFile</link>
<link id="TIniCollection.Load">Load</link>
</seealso>
</element>

<!-- property Visibility: public -->
<element name="TIniCollection.GlobalSection">
<short>Name of the global section</short>
<descr>
<var>GlobalSection</var> contains the value of the <var>Section</var>
argument in the <link id="TIniCollection.LoadFromIni">LoadFromIni</link>
or <link id="TIniCollection.SaveToIni">SaveToIni</link> calls. It's used in
the <link id="TIniCollection.Load">Load</link> or
<link id="TIniCollection.Save">Save</link> calls.
</descr>
<seealso>
<link id="TIniCollection.Save">Save</link>
<link id="TIniCollection.LoadFromFile">LoadFromFile</link>
<link id="TIniCollection.SaveToFile">SaveToFile</link>
<link id="TIniCollection.Load">Load</link>
</seealso>
</element>

<!--
  ********************************************************************
    #fcl.inicol.EIniCol
  ********************************************************************
-->

<!-- object Visibility: default -->
<element name="EIniCol">
<short>Exception used for error reporting.</short>
<descr>
<var>EIniCol</var> is used to report error conditions in the load and save 
methods of <link id="TIniCollection"/>.
</descr>
<errors>
</errors>
<seealso>
</seealso>
</element>

<!-- constant Visibility: default -->
<element name="KeyCount">
<short>Name used for the count item</short>
<descr>
<var>KeyCount</var> is used as a key name when reading or writing the number
of items in the collection from the global section.
</descr>
</element>

<!-- constant Visibility: default -->
<element name="SGlobal">
<short>Default global section name</short>
<descr>
<var>SGlobal</var> is used as the default name of the global section when
reading or writing the collection.
</descr>
</element>


<!--
  ********************************************************************
    #fcl.inicol.TNamedIniCollectionItem
  ********************************************************************
-->

<!-- object Visibility: default -->
<element name="TNamedIniCollectionItem">
<short><link id="#fcl.inicol.TIniCollectionItem">TIniCollectionItem</link> with a name property</short>
<descr>
<var>TNamedIniCollectionItem</var> is a <link id="TIniCollectionItem"/>
descent with a published name property. The name is used as the section name
when saving the item to the ini file.
</descr>
<seealso>
<link id="TIniCollectionItem"/>
</seealso>
</element>

<!-- property Visibility: public -->
<element name="TNamedIniCollectionItem.UserData">
<short>User-defined data</short>
<descr>
<var>UserData</var> can be used to associate an arbitrary object with the
item - much like the <var>Objects</var> property of a <var>TStrings</var>.
</descr>
</element>

<!-- property Visibility: published -->
<element name="TNamedIniCollectionItem.Name">
<short>Name of the item</short>
<descr>
<var>Name</var> is the name of this item. It is also used as the section
name when writing the collection item to the .ini file.
</descr>
<seealso>
<link id="TNamedIniCollectionItem.UserData"/>
</seealso>
</element>

<!--
  ********************************************************************
    #fcl.inicol.TNamedIniCollection
  ********************************************************************
-->

<!-- object Visibility: default -->
<element name="TNamedIniCollection">
<short>Collection of named collection items</short>
<descr>
<var>TNamedIniCollection</var> is the collection to go with the
<link id="TNamedIniCollectionItem"/> item class. it provides some
functions to look for items based on the <link
id="TNamedIniCollection.IndexOfUserData">UserData</link> or based
on the <link id="TNamedIniCollection.IndexOfName">Name</link>.
</descr>
<seealso>
<link id="TNamedIniCollectionItem"/> 
<link id="TNamedIniCollection.IndexOfUserData">IndexOfUserData</link>
<link id="TNamedIniCollection.IndexOfName">IndexOfName</link>
</seealso>
</element>

<!-- function Visibility: public -->
<element name="TNamedIniCollection.IndexOfUserData">
<short>Search for an item based on it's <var>UserData</var> property</short>
<descr>
<p>
<var>IndexOfUserData</var> searches the list of items and returns the index
of the item which has <var>UserData</var> in its <link id="TNamedIniCollection.IndexOfUserData">UserData</link>
property. If no such item exists, -1 is returned.
</p>
<p>
Note that the (linear) search starts at the last element and works it's way back
to the first.
</p>
</descr>
<errors>
If no item exists, -1 is returned.
</errors>
<seealso>
<link id="TNamedIniCollection.IndexOfName">IndexOfName</link>
<link id="TNamedIniCollectionItem.UserData"/>
</seealso>
</element>

<!-- function result Visibility: default -->
<element name="TNamedIniCollection.IndexOfUserData.Result">
<short>Index of found item, or -1 if none was found</short>
</element>

<!-- argument Visibility: default -->
<element name="TNamedIniCollection.IndexOfUserData.UserData">
<short>UserData to search for</short>
</element>

<!-- function Visibility: public -->
<element name="TNamedIniCollection.IndexOfName">
<short>Search for an item, based on its name, and return its position</short>
<descr>
<p>
<var>IndexOfName</var> searches the list of items and returns the index
of the item which has name equal to <var>AName</var> (case insensitive).
If no such item exists, -1 is returned.
</p>
<p>
Note that the (linear) search starts at the last element and works it's way
back to the first.
</p>
</descr>
<errors>
If no item exists, -1 is returned.
</errors>
<seealso>
<link id="TNamedIniCollection.IndexOfUserData">IndexOfUserData</link>
<link id="TNamedIniCollectionItem.Name"/>
</seealso>
</element>

<!-- function result Visibility: default -->
<element name="TNamedIniCollection.IndexOfName.Result">
<short>Index of found item or -1 if none was found</short>
</element>

<!-- argument Visibility: default -->
<element name="TNamedIniCollection.IndexOfName.AName">
<short>Name to look for (case insensitive)</short>
</element>

<!-- function Visibility: public -->
<element name="TNamedIniCollection.FindByName">
<short>Return the item based on its name</short>
<descr>
<var>FindByName</var> returns the collection item whose name matches <var>AName</var>
(case insensitive match). It calls <link
id="TNamedIniCollection.IndexOfName">IndexOfName</link> and returns the item
at the found position. If no item is found, <var>Nil</var> is returned.
</descr>
<errors>
If no item is found, <var>Nil</var> is returned.
</errors>
<seealso>
<link id="TNamedIniCollection.IndexOfName">IndexOfName</link>
<link id="TNamedIniCollection.FindByUserData">FindByUserData</link>
</seealso>
</element>

<!-- function result Visibility: default -->
<element name="TNamedIniCollection.FindByName.Result">
<short>Named item, or <var>Nil</var> if none was found</short>
</element>

<!-- argument Visibility: default -->
<element name="TNamedIniCollection.FindByName.AName">
<short>Name to look for</short>
</element>

<!-- function Visibility: public -->
<element name="TNamedIniCollection.FindByUserData">
<short>Return the item based on its <var>UserData</var></short>
<descr>
<var>FindByName</var> returns the collection item whose <link
id="TNamedIniCollectionItem.UserData">UserData</link> property value
matches the <var>UserData</var> parameter. If no item is found,
<var>Nil</var> is returned.
</descr>
<errors>
If no item is found, <var>Nil</var> is returned.
</errors>
<seealso>
</seealso>
</element>

<!-- function result Visibility: default -->
<element name="TNamedIniCollection.FindByUserData.Result">
<short>Found item, or <var>Nil</var> if none was found.</short>
</element>

<!-- argument Visibility: default -->
<element name="TNamedIniCollection.FindByUserData.UserData">
<short>Userdata to look for</short>
</element>

<!-- property Visibility: public -->
<element name="TNamedIniCollection.NamedItems">
<short>Indexed access to the <var>TNamedIniCollectionItem</var> items</short>
<descr>
<var>NamedItem</var> is the default property of the <var>TNamedIniCollection</var> collection. 
It allows indexed access to the <link id="TNamedIniCollectionItem"/> items.
The index is zero based.
</descr>
<seealso>
<link id="TNamedIniCollectionItem"/>
</seealso>
</element>

<!-- argument Visibility: default -->
<element name="TNamedIniCollection.NamedItems.Index">
<short>Integer index, zero based.</short>
</element>

</module> <!-- inicol -->

</package>
</fpdoc-descriptions>