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:
6:
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:
|
Maßeinheit IniOptions;
Schnittstelle
Gebrauch bildet, Kategorien, IniFiles, StdCtrls, ExtCtrls, Knöpfe, Rasterfelder, Kontrollen, Dialoge, Grafiken, ComCtrls, Menüs, Drehbeschleunigung;
Art
TStringListOption= (slUpperCase);
TStringListOptions=set von TStringListOption;
Verfahren IniOpenFile (Dateiname: String= ''; FilePath: String= ''); Überlastung;
Verfahren IniOpenFile (Fall: Ganze Zahl; FilePath: String= ''); Überlastung;
Verfahren IniCloseFile;
Verfahren IniSaveQuotedCaption (Abschnitt, Param, Rückstellung: Schnur);
Funktion IniLoadQuotedCaption (Abschnitt, Param, Rückstellung: Schnur): Schnur;
Funktion IniLoadSaveDefaultString (Abschnitt, Param, Rückstellung: Schnur): Schnur;
Funktion IniLoadSaveDefault (Abschnitt, Param, Rückstellung: Schnur): Schnur; Überlastung;
Funktion IniLoadSaveDefault (Abschnitt, Param: Schnur; Rückstellung: Ganze Zahl): Ganze Zahl; Überlastung;
Funktion IniLoadSaveDefault (Abschnitt, Param: Schnur; Rückstellung: Boolesch): Boolesch; Überlastung;
Verfahren IniLoadSaveDefaultStringList (Abschnitt, Param: Schnur; Liste: TStringList; Entscheiden: TStringListOptions= []);
Verfahren IniLoadMenu (M: TMenu);
Verfahren IniSaveMenu (M: TMenu);
Verfahren IniLoadListView (L: TListView);
Verfahren IniSaveListView (L: TListView);
Verfahren IniLoadFormPosAndSize (frm: TCustomForm);
Verfahren IniSaveFormPosAndSize (frm: TCustomForm);
Verfahren IniLoadCheckBox (chk: TCheckBox);
Verfahren IniSaveCheckBox (chk: TCheckBox);
Verfahren IniLoadRadioButton (Rb: TRadioButton);
Verfahren IniSaveRadioButton (Rb: TRadioButton);
Verfahren IniLoadCaption (lbl: TLabel);
Verfahren IniSaveCaption (lbl: TLabel);
Verfahren IniLoadText (edt: TCustomEdit);
Verfahren IniSaveText (edt: TCustomEdit);
Verfahren IniLoadRadioGroup (rg: TRadioGroup);
Verfahren IniSaveRadioGroup (rg: TRadioGroup);
Verfahren IniLoadGroupBox (GB: TGroupBox);
Verfahren IniSaveGroupBox (GB: TGroupBox);
Verfahren IniLoadComboBox (Columbium: TComboBox);
Verfahren IniSaveComboBox (Columbium: TComboBox);
{
Verfahren IniLoadSpinEdit (edt: TSpinEdit);
Verfahren IniSaveSpinEdit (edt: TSpinEdit);
}
Verfahren IniLoadButton (BTN: TButton);
Verfahren IniSaveButton (BTN: TButton);
Verfahren IniLoadSpeedButton (BTN: TSpeedButton);
Verfahren IniSaveSpeedButton (BTN: TSpeedButton);
Verfahren IniLoadFormCaption (frm: TForm);
Verfahren IniSaveFormCaption (frm: TForm);
Verfahren IniSavePanel (pnl: TPanel);
Verfahren IniLoadPanel (pnl: TPanel);
Verfahren IniSaveFrame (pnl: T-Stück);
Verfahren IniLoadFrame (pnl: T-Stück);
Verfahren IniLoadStringGrid (Rasterfeld: TStringGrid);
Verfahren IniSaveStringGrid (Rasterfeld: TStringGrid);
Verfahren IniLoadShape (SHP: TShape);
Verfahren IniLoadImage (img: TImage);
Verfahren IniSaveShape (SHP: TShape);
Verfahren IniSaveImage (img: TImage);
Verfahren IniSaveControl (c: TControl);
Verfahren IniLoadControl (c: TControl);
Verfahren IniLoadOpenDialog (DLG: TOpenDialog);
Verfahren IniSaveOpenDialog (DLG: TOpenDialog);
Verfahren IniLoadMemo (Protokoll: TMemo);
Verfahren IniSaveMemo (Protokoll: TMemo);
Verfahren SetExtendedSection (S: Schnur);
Funktion GetExtendedSection: Schnur;
Funktion GetTextOnly: Boolesch;
Verfahren SetTextOnly (b: Boolesch);
Funktion TranslateFormat2Text (S: Schnur): Schnur;
Funktion TranslateText2Format (S: Schnur): Schnur;
Verfahren IniSaveComponnents (Liste: Reihe von TObject; Ext_Section: String= ''; TextOnly: Boolean=False);
Verfahren IniLoadComponnents (Liste: Reihe von TObject; Ext_Section: String= ''; TextOnly: Boolean=False);
Var
IniFile: TIniFile;
Implementierung
Gebrauch SysUtils, untUtils, FileCtrl;
Var
_ExtSection: String= '';
_TextOnly: Boolean=False;
Verfahren SetExtendedSection (S: Schnur);
anfangen
_ExtSection: =S;
Ende;
Funktion GetExtendedSection: Schnur;
anfangen
Resultat: =_ExtSection;
Ende;
Funktion GetTextOnly: Boolesch;
anfangen
Resultat: =_TextOnly;
Ende;
Verfahren SetTextOnly (b: Boolesch);
anfangen
_TextOnly: =b;
Ende;
Funktion TranslateFormat2Text (S: Schnur): Schnur;
anfangen
Resultat: =StringReplace (S, „% \“, #13#10, [rfReplaceAll]);
Ende;
Funktion TranslateText2Format (S: Schnur): Schnur;
anfangen
Resultat: =StringReplace (S, #13#10, „% \“, [rfReplaceAll]);
Ende;
Verfahren IniOpenFile (Fall: Ganze Zahl; FilePath: String= '');
anfangen
IniOpenFile (ChangeFileExt (GetModuleName (hInstance), „.INI "), FilePath);
Ende;
Verfahren IniOpenFile (Dateiname: String= ''; FilePath: String= '');
anfangen
IniCloseFile;
wenn FileName= '' dann Dateiname: =ChangeFileExt (GetModuleName (hInstance), „.INI "); /ChangeFileExt (ParamStr (0), „.INI ");
wenn (FilePath<> '') dann
anfangen
FilePath: =IncludeTrailingBackslash (FilePath);
wenn DirectoryExists (FilePath) dann Dateiname: =FilePath+FileName;
Ende;
IniFile: =TIniFile.Create (Dateiname);
Ende;
Verfahren IniCloseFile;
anfangen
FreeAndNil (IniFile);
Ende;
Funktion IniLoadSaveDefaultString (Abschnitt, Param, Rückstellung: Schnur): Schnur;
anfangen
Resultat: =IniLoadSaveDefault (Abschnitt, Param, Rückstellung);
Ende;
Verfahren IniLoadSaveDefaultStringList (Abschnitt, Param: Schnur; Liste: TStringList; Entscheiden: TStringListOptions= []);
Var
I: ganze Zahl;
anfangen
Abschnitt: =_ExtSection+Section;
List.CommaText: =IniFile.ReadString (Abschnitt, Param, List.CommaText);
wenn slUpperCase innen dann entscheiden
anfangen
List.Sorted: =False;
für i: =0 zu List.Count-1 verzeichnen [i]: =UpperCase (Liste [i]);
List.Sorted: =True;
Ende;
IniFile.WriteString (Abschnitt, Param, List.CommaText);
Ende;
Funktion IniLoadSaveDefault (Abschnitt, Param, Rückstellung: Schnur): Schnur; Überlastung;
anfangen
Abschnitt: =_ExtSection+Section;
Resultat: =IniFile.ReadString (Abschnitt, Param, Rückstellung);
IniFile.WriteString (Abschnitt, Param, Resultat);
Ende;
Funktion IniLoadSaveDefault (Abschnitt, Param: Schnur; Rückstellung: Ganze Zahl): Ganze Zahl; Überlastung;
anfangen
Abschnitt: =_ExtSection+Section;
Resultat: =IniFile.ReadInteger (Abschnitt, Param, Rückstellung);
IniFile.WriteInteger (Abschnitt, Param, Resultat);
Ende;
Funktion IniLoadSaveDefault (Abschnitt, Param: Schnur; Rückstellung: Boolesch): Boolesch; Überlastung;
anfangen
Abschnitt: =_ExtSection+Section;
Resultat: =IniFile.ReadBool (Abschnitt, Param, Rückstellung);
IniFile.WriteBool (Abschnitt, Param, Resultat);
Ende;
Verfahren IniSaveQuotedCaption (Abschnitt, Param, Rückstellung: Schnur);
anfangen
wenn Rückstellung der Ordnungs-(Rückstellung<>) dann zurückfallen: =AnsiQuotedStr (Rückstellung, „„");
IniFile.WriteString (_ExtSection+Section, Param, Rückstellung);
Ende;
Funktion IniLoadQuotedCaption (Abschnitt, Param, Rückstellung: Schnur): Schnur;
Var
P: PChar;
anfangen
Resultat: =IniFile.ReadString (_ExtSection+Section, Param, Rückstellung);
wenn (Länge (Resultat) >=2) und (Resultat [1] = ' „') dann
anfangen
P: =PChar (Resultat);
Resultat: =AnsiExtractQuotedStr (P, „„");
Ende;
Ende;
Verfahren IniLoadFormPosAndSize (frm: TCustomForm);
Var
Abschnitt: Schnur;
anfangen
Abschnitt: =_ExtSection+frm.Name;
frm. Untertitel: =IniFile.ReadString (Abschnitt, „UNTERTITEL“, frm. Untertitel);
wenn nicht _TextOnly dann
anfangen
wenn frm TForm dann TForm (frm) ist. Position: =poDesigned;
frm. Breite: =IniFile.ReadInteger (Abschnitt, „BREITE“, frm. Breite);
frm. Höhe: =IniFile.ReadInteger (Abschnitt, „HÖHE“, frm. Höhe);
frm. Oberseite: =IniFile.ReadInteger (Abschnitt, „OBERSEITE“, frm. Oberseite);
frm. Links: =IniFile.ReadInteger (Abschnitt, „VERLIESS“, frm. Links);
frm.WindowState: =TWindowState (IniFile.ReadInteger (Abschnitt, „ZUSTAND“, ganze Zahl (frm.WindowState)));
Ende;
Ende;
Verfahren IniSaveFormPosAndSize (frm: TCustomForm);
Var
Abschnitt: Schnur;
anfangen
Abschnitt: =_ExtSection+frm.Name;
IniFile.WriteString (Abschnitt, „UNTERTITEL“, frm. Untertitel);
wenn nicht _TextOnly dann
anfangen
IniFile.WriteInteger (Abschnitt, „ZUSTAND“, ganze Zahl (frm.WindowState));
IniFile.WriteInteger (Abschnitt, „BREITE“, frm. Breite);
IniFile.WriteInteger (Abschnitt, „HÖHE“, frm. Höhe);
IniFile.WriteInteger (Abschnitt, „OBERSEITE“, frm. Oberseite);
IniFile.WriteInteger (Abschnitt, „VERLIESS“, frm. Links);
Ende;
Ende;
Verfahren IniLoadMemo (Protokoll: TMemo);
anfangen
Protokoll. Text: =TranslateFormat2Text (IniFile.ReadString (_ExtSection+memo.Name, „TEXT“, TranslateText2Format (Protokoll. Text)));
Ende;
Verfahren IniSaveMemo (Protokoll: TMemo);
anfangen
IniFile.WriteString (_ExtSection+memo.Name, „TEXT“, TranslateText2Format (Protokoll. Text));
Ende;
Verfahren IniLoadCheckBox (chk: TCheckBox);
anfangen
chk. Untertitel: =IniLoadQuotedCaption (chk. Name, „UNTERTITEL“, chk. Untertitel);
wenn nicht _TextOnly dann chk. Überprüft: =IniFile.ReadBool (_ExtSection+chk.Name, „ÜBERPRÜFTE“, chk. Überprüft);
Ende;
Verfahren IniSaveCheckBox (chk: TCheckBox);
anfangen
IniSaveQuotedCaption (chk. Name, „UNTERTITEL“, chk. Untertitel);
wenn nicht _TextOnly dann IniFile.WriteBool (_ExtSection+chk.Name, „ÜBERPRÜFTE“, chk. Überprüft);
Ende;
Verfahren IniLoadShape (SHP: TShape);
Var
Abschnitt: Schnur;
anfangen
mit SHP tun
anfangen
Abschnitt: =_ExtSection+Name;
Sichtbar: =IniFile.ReadBool (Abschnitt, „SICHTBARES“, sichtbar);
Pen.Color: =StringToColor (IniFile.ReadString (Abschnitt, „PEN_COLOR“, ColorToString (Pen.Color)));
Brush.Color: =StringToColor (IniFile.ReadString (Abschnitt, „BRUSH_COLOR“, ColorToString (Brush.Color)));
Ende;
Ende;
Verfahren IniLoadImage (img: TImage);
Var
F: Schnur;
Abschnitt: Schnur;
anfangen
Mit img tun
Versuch
Abschnitt: =_ExtSection+Name;
Sichtbar: =IniFile.ReadBool (Abschnitt, „SICHTBARES“, sichtbar);
Transparent: =IniFile.ReadBool (Abschnitt, „TRANSPARENTES“, transparent);
Ausdehnung: =IniFile.ReadBool (Abschnitt, „AUSDEHNUNG“, Ausdehnung);
F: =IniFile.ReadString (Abschnitt, „AKTE“, '');
wenn FileExists (F) dann Picture.LoadFromFile (F);
ausgenommen
Ende;
Ende;
Verfahren IniSaveShape (SHP: TShape);
Var
Abschnitt: Schnur;
anfangen
mit SHP tun
anfangen
Abschnitt: =_ExtSection+Name;
IniFile.WriteBool (Abschnitt, „SICHTBARES“, sichtbar);
IniFile.WriteString (Abschnitt, „PEN_COLOR“, ColorToString (Pen.Color));
IniFile.WriteString (Abschnitt, „BRUSH_COLOR“, ColorToString (Brush.Color));
Ende;
Ende;
Verfahren IniSaveImage (img: TImage);
Var
Abschnitt: Schnur;
anfangen
Mit img tun
anfangen
Abschnitt: =_ExtSection+Name;
IniFile.WriteBool (Abschnitt, „SICHTBARES“, sichtbar);
IniFile.WriteBool (Abschnitt, „TRANSPARENTES“, transparent);
IniFile.WriteBool (Abschnitt, „AUSDEHNUNG“, Ausdehnung);
Ende;
Ende;
Verfahren IniLoadRadioButton (Rb: TRadioButton);
anfangen
Rb. Untertitel: =IniLoadQuotedCaption (Rb. Name, „UNTERTITEL“, Rb. Untertitel);
wenn nicht _TextOnly dann Rb. Überprüft: =IniFile.ReadBool (_ExtSection+rb.Name, „ÜBERPRÜFTE“, Rb. Überprüft);
Ende;
Verfahren IniSaveRadioButton (Rb: TRadioButton);
anfangen
IniSaveQuotedCaption (Rb. Name, „UNTERTITEL“, Rb. Untertitel);
wenn nicht _TextOnly dann IniFile.WriteBool (_ExtSection+rb.Name, „ÜBERPRÜFTE“, Rb. Überprüft);
Ende;
Verfahren IniLoadText (edt: TCustomEdit);
anfangen
edt. Text: =IniLoadQuotedCaption (edt. Name, „TEXT“, edt. Text);
Ende;
Verfahren IniSaveText (edt: TCustomEdit);
anfangen
IniSaveQuotedCaption (edt. Name, „TEXT“, edt. Text);
Ende;
Verfahren IniLoadCaption (lbl: TLabel);
anfangen
lbl. Untertitel: =IniLoadQuotedCaption (lbl. Name, „UNTERTITEL“, lbl. Untertitel);
Ende;
Verfahren IniSaveCaption (lbl: TLabel);
anfangen
IniSaveQuotedCaption (lbl. Name, „UNTERTITEL“, lbl. Untertitel);
Ende;
Verfahren IniLoadFormCaption (frm: TForm);
anfangen
frm. Untertitel: =IniLoadQuotedCaption (frm. Name, „UNTERTITEL“, frm. Untertitel);
Ende;
Verfahren IniSaveFormCaption (frm: TForm);
anfangen
IniSaveQuotedCaption (frm. Name, „UNTERTITEL“, frm. Untertitel);
Ende;
Verfahren IniLoadButton (BTN: TButton);
anfangen
BTN. Untertitel: =IniLoadQuotedCaption (BTN. Name, „UNTERTITEL“, BTN. Untertitel);
Ende;
Verfahren IniSaveButton (BTN: TButton);
anfangen
IniSaveQuotedCaption (BTN. Name, „UNTERTITEL“, BTN. Untertitel);
Ende;
Verfahren IniLoadBitButton (BTN: TBitBtn);
anfangen
BTN. Untertitel: =IniLoadQuotedCaption (BTN. Name, „UNTERTITEL“, BTN. Untertitel);
Ende;
Verfahren IniSaveBitButton (BTN: TBitBtn);
anfangen
IniSaveQuotedCaption (BTN. Name, „UNTERTITEL“, BTN. Untertitel);
Ende;
Verfahren IniLoadSpeedButton (BTN: TSpeedButton);
anfangen
BTN. Untertitel: =IniLoadQuotedCaption (BTN. Name, „UNTERTITEL“, BTN. Untertitel);
Ende;
Verfahren IniSaveSpeedButton (BTN: TSpeedButton);
anfangen
IniSaveQuotedCaption (BTN. Name, „UNTERTITEL“, BTN. Untertitel);
Ende;
Verfahren IniLoadRadioGroup (rg: TRadioGroup);
anfangen
rg. Untertitel: =IniLoadQuotedCaption (rg. Name, „UNTERTITEL“, rg. Untertitel);
wenn nicht _TextOnly dann rg.ItemIndex: =IniFile.ReadInteger (_ExtSection+rg.Name, „INDEX“, rg.ItemIndex);
Ende;
Verfahren IniSaveRadioGroup (rg: TRadioGroup);
anfangen
IniSaveQuotedCaption (rg. Name, „UNTERTITEL“, rg. Untertitel);
wenn nicht _TextOnly dann IniFile.WriteInteger (_ExtSection+rg.Name, „INDEX“, rg.ItemIndex);
Ende;
Verfahren IniLoadGroupBox (GB: TGroupBox);
anfangen
GB. Untertitel: =IniLoadQuotedCaption (GB. Name, „UNTERTITEL“, GB. Untertitel);
wenn nicht _TextOnly dann IniLoadControl (GB);
Ende;
Verfahren IniSaveGroupBox (GB: TGroupBox);
anfangen
IniSaveQuotedCaption (GB. Name, „UNTERTITEL“, GB. Untertitel);
wenn nicht _TextOnly dann IniSaveControl (GB);
Ende;
Verfahren IniLoadComboBox (Columbium: TComboBox);
Var
Str: Schnur;
anfangen
Str: =IniLoadQuotedCaption (Columbium. Name, „TEXT“, Columbium. Text);
wenn Columbium. Style=csDropDownList dann
anfangen
wenn str<> '' dann cb.ItemIndex: =cb. Items.IndexOf (str) sonst cb.ItemIndex: =IniFile.ReadInteger (_ExtSection+cb.Name, „INDEX“, cb.ItemIndex);
sonst Columbium des Endes. Text: =Str;
Ende;
Verfahren IniSaveComboBox (Columbium: TComboBox);
anfangen
IniSaveQuotedCaption (Columbium. Name, „TEXT“, Columbium. Text);
IniFile.WriteInteger (_ExtSection+cb.Name, „INDEX“, cb.ItemIndex);
Ende;
{$ifdef USE_SPIN_EDT}
Verfahren IniLoadSpinEdit (edt: TSpinEdit);
anfangen
edt. Wert: =IniFile.ReadInteger (_ExtSection+edt.Name, „WERT“, edt. Wert);
Ende;
Verfahren IniSaveSpinEdit (edt: TSpinEdit);
anfangen
IniFile.WriteInteger (_ExtSection+edt.Name, „WERT“, edt. Wert);
Ende;
{$endif}
Verfahren IniSavePanel (pnl: TPanel);
anfangen
IniFile.WriteInteger (_ExtSection+pnl.Name, „BREITE“, pnl. Breite);
IniFile.WriteInteger (_ExtSection+pnl.Name, „HÖHE“, pnl. Höhe);
Ende;
Verfahren IniLoadPanel (pnl: TPanel);
anfangen
pnl. Breite: =IniFile.ReadInteger (_ExtSection+pnl.Name, „BREITE“, pnl. Breite);
pnl. Höhe: =IniFile.ReadInteger (_ExtSection+pnl.Name, „HÖHE“, pnl. Höhe);
Ende;
Verfahren IniSaveFrame (pnl: T-Stück);
anfangen
IniFile.WriteInteger (_ExtSection+pnl.Name, „BREITE“, pnl. Breite);
IniFile.WriteInteger (_ExtSection+pnl.Name, „HÖHE“, pnl. Höhe);
Ende;
Verfahren IniLoadFrame (pnl: T-Stück);
anfangen
pnl. Breite: =IniFile.ReadInteger (_ExtSection+pnl.Name, „BREITE“, pnl. Breite);
pnl. Höhe: =IniFile.ReadInteger (_ExtSection+pnl.Name, „HÖHE“, pnl. Höhe);
Ende;
Verfahren IniLoadStringGrid (Rasterfeld: TStringGrid);
Var
I: ganze Zahl;
Abschnitt: Schnur;
anfangen
Mit Rasterfeld tun
anfangen
Abschnitt: =_ExtSection+Name;
grid.ColCount: =IniFile.ReadInteger (Abschnitt, „COL_COUNT“, grid.ColCount);
für i: =0 zu grid.ColCount-1 tun
anfangen
grid.ColWidths [i]: =IniFile.ReadInteger (Abschnitt, Format („COL_%d_WIDTH“, [i]), grid.ColWidths [i]);
Rasterfeld. Zellen [i, 0]: =IniFile.ReadString (Abschnitt, Format („COL_%d_TEXT“, [i]), Rasterfeld. Zellen [i, 0]);
Ende;
Ende;
Ende;
Verfahren IniSaveStringGrid (Rasterfeld: TStringGrid);
Var
I: ganze Zahl;
Abschnitt: Schnur;
anfangen
Mit Rasterfeld tun
anfangen
Abschnitt: =_ExtSection+Name;
IniFile.WriteInteger (Abschnitt, „COL_COUNT“, grid.ColCount);
für i: =0 zu grid.ColCount-1 tun
anfangen
IniFile.WriteInteger (Abschnitt, Format („COL_%d_WIDTH“, [i]), grid.ColWidths [i]);
IniFile.WriteString (Abschnitt, Format („COL_%d_TEXT“, [i]), Rasterfeld. Zellen [i, 0]);
Ende;
Ende;
Ende;
Verfahren IniLoadOpenDialog (DLG: TOpenDialog);
anfangen
dlg.InitialDir: =IniLoadQuotedCaption (DLG. Name, „INITIAL_DIR“, dlg.InitialDir);
Ende;
Verfahren IniSaveOpenDialog (DLG: TOpenDialog);
anfangen
IniSaveQuotedCaption (DLG. Name, „INITIAL_DIR“, dlg.InitialDir);
Ende;
Verfahren IniSaveControl (c: TControl);
anfangen
IniFile.WriteInteger (_ExtSection+c.Name, „BREITE“, c.Width);
IniFile.WriteInteger (_ExtSection+c.Name, „HÖHE“, c.Height);
Ende;
Verfahren IniLoadControl (c: TControl);
anfangen
c.Width: =IniFile.ReadInteger (_ExtSection+c.Name, „BREITE“, c.Width);
c.Height: =IniFile.ReadInteger (_ExtSection+c.Name, „HÖHE“, c.Height);
Ende;
Verfahren IniLoadListView (L: TListView);
Var
Abschnitt: Schnur;
I: ganze Zahl;
anfangen
Mit L tun
anfangen
Abschnitt: =_ExtSection+Name;
für i: = 0 zu Columns.Count - 1 tun Spalten [i]. Untertitel: =IniFile.ReadString (Abschnitt, Format („COLUMN_%d“, [i]), Spalten [i]. Untertitel);
Ende;
Ende;
Verfahren IniSaveListView (L: TListView);
Var
Abschnitt: Schnur;
I: ganze Zahl;
anfangen
Mit L tun
anfangen
Abschnitt: =_ExtSection+Name;
für i: = 0 zu Columns.Count - 1 tun IniFile.WriteString (Abschnitt, Format („COLUMN_%d“, [i]), Spalten [i]. Untertitel);
Ende;
Ende;
Verfahren IniLoadMenu (M: TMenu);
Var
Abschnitt: Schnur;
I: ganze Zahl;
Verfahren IniLoadMenuItem (M: TMenuItem; Abschnitt: Schnur);
Var
I: ganze Zahl;
anfangen
Abschnitt: =Sect+'. '+M.Name;
für i: = 0 zu M.Count - 1 tun wenn M.Items [i]. Caption'-<> 'dann
anfangen
M.Items [i]. Untertitel: =IniFile.ReadString (Abschnitt, M.Items [i]. Name, M.Items [i]. Untertitel);
wenn M.Items [i]. Count>0 dann IniLoadMenuItem (M.Items [i], Abschnitt);
Ende;
Ende;
anfangen
Mit M tun
anfangen
Abschnitt: =_ExtSection+Name;
für i: = 0 zu M.Items.Count - 1 tun wenn Einzelteile [i]. Caption'-<> 'dann
anfangen
Einzelteile [i]. Untertitel: =IniFile.ReadString (Abschnitt, Einzelteile [i]. Name, Einzelteile [i]. Untertitel);
Ende;
Ende;
Ende;
Verfahren IniSaveMenu (M: TMenu);
Var
Abschnitt: Schnur;
I: ganze Zahl;
Verfahren IniSaveMenuItem (M: TMenuItem; Abschnitt: Schnur);
Var
I: ganze Zahl;
anfangen
Abschnitt: =Sect+'. '+M.Name;
für i: = 0 zu M.Count - 1 tun wenn M.Items [i]. Caption'-<> 'dann
anfangen
IniFile.WriteString (Abschnitt, M.Items [i]. Name, M.Items [i]. Untertitel);
wenn M.Items [i]. Count>0 dann IniSaveMenuItem (M.Items [i], Abschnitt);
Ende;
Ende;
anfangen
Mit M tun
anfangen
Abschnitt: =_ExtSection+Name;
für i: = 0 zu M.Items.Count - 1 tun wenn Einzelteile [i]. Caption'-<> 'dann
anfangen
IniFile.WriteString (Abschnitt, Einzelteile [i]. Name, Einzelteile [i]. Untertitel);
wenn Einzelteile [i]. Count>0 dann IniSaveMenuItem (Einzelteile [i], _ExtSection);
Ende;
Ende;
Ende;
Verfahren IniSaveComponnents (Liste: Reihe von TObject; Ext_Section: String= ''; TextOnly: Boolean=False);
var
I: ganze Zahl;
SaveExtSect: Schnur;
SaveTextOnly: Boolesch;
anfangen
SaveExtSect: =_ExtSection;
_ExtSection: =Ext_Section;
SaveTextOnly: =_TextOnly;
_TextOnly: =TextOnly;
für i: =Low (Liste) zur Höhe (Liste) tun, wenn es dann zugewiesen (Liste [i])
Versuch
wenn Liste [i] TMemo dann IniSaveMemo ist (TMemo (Liste [i])) Sonst
wenn Liste [i] TListView dann IniSaveListView ist (TListView (Liste [i])) Sonst
wenn Liste [i] TMenu dann IniSaveMenu ist (TMenu (Liste [i])) Sonst
wenn Liste [i] TCustomForm dann IniSaveFormPosAndSize ist (TCustomForm (Liste [i])) Sonst
wenn Liste [i] TRadioGroup dann IniSaveRadioGroup ist (TRadioGroup (Liste [i])) Sonst
wenn Liste [i] TRadioButton dann IniSaveRadioButton ist (TRadioButton (Liste [i])) Sonst
wenn Liste [i] TCustomEdit dann IniSaveText ist (TCustomEdit (Liste [i])) Sonst
wenn Liste [i] TCheckBox dann IniSaveCheckBox ist (TCheckBox (Liste [i])) Sonst
wenn Liste [i] TComboBox dann IniSaveComboBox ist (TComboBox (Liste [i])) Sonst
{$ifdef USE_SPIN_EDT}
wenn Liste [i] TSpinEdit dann IniSaveSpinEdit ist (TSpinEdit (Liste [i])) Sonst
{$endif}
wenn Liste [i] TLabel dann IniSaveCaption ist (TLabel (Liste [i])) Sonst
wenn Liste [i] TBitBtn dann IniSaveBitButton ist (TBitBtn (Liste [i])) Sonst
wenn Liste [i] TButton dann IniSaveButton ist (TButton (Liste [i])) Sonst
wenn Liste [i] TSpeedButton dann IniSaveSpeedButton ist (TSpeedButton (Liste [i])) Sonst
wenn Liste [i] TPanel dann IniSavePanel ist (TPanel (Liste [i])) Sonst
wenn Liste [i] T-Stück dann IniSaveFrame ist (T-Stück (Liste [i])) Sonst
wenn Liste [i] TStringGrid dann IniSaveStringGrid ist (TStringGrid (Liste [i])) Sonst
wenn Liste [i] TOpenDialog dann IniSaveOpenDialog ist (TOpenDialog (Liste [i])) Sonst
wenn Liste [i] TShape dann IniSaveShape ist (TShape (Liste [i])) Sonst
wenn Liste [i] TImage dann IniSaveImage ist (TImage (Liste [i])) Sonst
wenn Liste [i] TGroupBox dann IniSaveGroupBox ist (TGroupBox (Liste [i])) Sonst
wenn Liste [i] TControl dann IniSaveControl ist (TControl (Liste [i])) Sonst
wenn Liste [i] TComponent dann ShowMessage ist ('Erreur außer „+TComponent (Liste [i]). Name+“: '+List [i] .ClassName)
Sonst ShowMessage ('Erreur speichern '+List [i] .ClassName);
ausgenommen
auf E: Ausnahme tun ShowMessage (Format („Störungs-Einsparung %s: %s'#13'% s“, [TComponent (Liste [i]). Name, E.ClassName, E.Message]));
Ende;
_ExtSection: =SaveExtSect;
_TextOnly: =SaveTextOnly;
Ende;
Verfahren IniLoadComponnents (Liste: Reihe von TObject; Ext_Section: String= ''; TextOnly: Boolean=False);
var
I: ganze Zahl;
SaveExtSect: Schnur;
SaveTextOnly: Boolesch;
anfangen
SaveExtSect: =_ExtSection;
_ExtSection: =Ext_Section;
SaveTextOnly: =_TextOnly;
_TextOnly: =TextOnly;
für i: =Low (Liste) zur Höhe (Liste) tun, wenn es dann zugewiesen (Liste [i])
Versuch
wenn Liste [i] TMemo dann IniLoadMemo ist (TMemo (Liste [i])) Sonst
wenn Liste [i] TListView dann IniLoadListView ist (TListView (Liste [i])) Sonst
wenn Liste [i] TMenu dann IniLoadMenu ist (TMenu (Liste [i])) Sonst
wenn Liste [i] TCustomForm dann IniLoadFormPosAndSize ist (TCustomForm (Liste [i])) Sonst
wenn Liste [i] TRadioGroup dann IniLoadRadioGroup ist (TRadioGroup (Liste [i])) Sonst
wenn Liste [i] TRadioButton dann IniLoadRadioButton ist (TRadioButton (Liste [i])) Sonst
wenn Liste [i] TCustomEdit dann IniLoadText ist (TCustomEdit (Liste [i])) Sonst
wenn Liste [i] TCheckBox dann IniLoadCheckBox ist (TCheckBox (Liste [i])) Sonst
wenn Liste [i] TComboBox dann IniLoadComboBox ist (TComboBox (Liste [i])) Sonst
{$ifdef USE_SPIN_EDT}
wenn Liste [i] TSpinEdit dann IniLoadSpinEdit ist (TSpinEdit (Liste [i])) Sonst
{$endif}
wenn Liste [i] TLabel dann IniLoadCaption ist (TLabel (Liste [i])) Sonst
wenn Liste [i] TBitBtn dann IniLoadBitButton ist (TBitBtn (Liste [i])) Sonst
wenn Liste [i] TButton dann IniLoadButton ist (TButton (Liste [i])) Sonst
wenn Liste [i] TSpeedButton dann IniLoadSpeedButton ist (TSpeedButton (Liste [i])) Sonst
wenn Liste [i] TPanel dann IniLoadPanel ist (TPanel (Liste [i])) Sonst
wenn Liste [i] T-Stück dann IniLoadFrame ist (T-Stück (Liste [i])) Sonst
wenn Liste [i] TStringGrid dann IniLoadStringGrid ist (TStringGrid (Liste [i])) Sonst
wenn Liste [i] TOpenDialog dann IniLoadOpenDialog ist (TOpenDialog (Liste [i])) Sonst
wenn Liste [i] TShape dann IniLoadShape ist (TShape (Liste [i])) Sonst
wenn Liste [i] TImage dann IniLoadImage ist (TImage (Liste [i])) Sonst
wenn Liste [i] TGroupBox dann IniLoadGroupBox ist (TGroupBox (Liste [i])) Sonst
wenn Liste [i] TControl dann IniLoadControl ist (TControl (Liste [i])) Sonst
wenn Liste [i] TComponent dann ShowMessage ist ('Erreur Last „+TComponent (Liste [i]). Name+“: '+List [i] .ClassName) sonst
ShowMessage ('Erreur Last '+List [i] .ClassName);
ausgenommen
auf E: Ausnahme tun ShowMessage (Format („Störungs-Laden %s: %s'#13'% s“, [TComponent (Liste [i]). Name, E.ClassName, E.Message]));
Ende;
_ExtSection: =SaveExtSect;
_TextOnly: =SaveTextOnly;
Ende;
Initialisierung
IniFile: =nil;
IniOpenFile;
Vollendung
IniCloseFile;
Ende.
|