Question : Wor avec le dossier d'ini


Avec :
avec TINIFile.Create (ExtractPath (Form1.caption) + ' .ini')
je voudrais travailler dans :
procédé TForm1.FormClose (expéditeur : TObject ; action de variété : TCloseAction) ;
procédé TForm1.FormCreate (expéditeur : TObject) ;

je dois obtenir le chemin où l'initialisation de ma forme est stockée. Et je l'obtiens de la légende de forme.

Exemple :  le myform les archives est localisé dans : C:\myform
1 :
2 :
3 :
4 :
5 :
6 :
7 :
Fonction TForm1.ExtractPath (streptocoque : Corde) : Corde ;
Variété
 P : Nombre entier ;
commencer
 P : =Pos (« : \ », streptocoque) ;
 si P>0 résultent alors : =Copy (streptocoque, P-1, longueur (streptocoque)) Résultat d'autre : = '' ;
extrémité ;

Réponse : Wor avec le dossier d'ini

Je ne comprends pas beaucoup de ce que vous voulez faire, mais j'ai charger étendu d'unité d'outil pour/sauf des composants et forme des propriétés (légendes, statut vérifié, etc…) dans des dossiers d'Ini.

Même si vous ne voulez pas l'employer pendant qu'il est, je suis sûr que vous trouverez un bon nombre d'idées ici.
Quand vous incluez cette unité dans un projet, lui initialisent automatiquement un dossier d'Ini baptisé du nom de l'application ou le nom de DLL qui l'emploient.

Tout que vous devez faire est d'appeler
IniSaveComponnents
et
IniLoadComponnents

avec un choix de composants ou de formes que vous voulez contrôler :

procédé TForm1.FormCreate (expéditeur : TObject) ;
commencer
 IniLoadComponnents ([individu, edtParam1, chkOption1]) ; le => de // sauvent la forme, et 2 composants
extrémité ;

procédé TForm1.FormDestroy (expéditeur : TObject) ;
commencer
 IniSaveComponnents ([individu, edtParam1, chkOption1]) ; le => de // sauvent la forme, et 2 composants
extrémité ;


Vous pouvez ajouter un paramètre additionnel de section qui sera ajouté à la section automatique d'Ini créée. C'est d'aider à regrouper un peu la clef/valeurs dans l'Ini, si utilisé sous beaucoup de formes, mais cela n'effectue pas ce qui est vraiment stocké. Vous pouvez également ajouter un paramètre booléen de TextOnly seulement à la charge/sauf les légendes, pas les valeurs (pour une gestion simple de langue)
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 :
unité IniOptions ;

interface

Les utilisations forme, des classes, IniFiles, StdCtrls, ExtCtrls, boutons, grilles, commandes, dialogues, graphiques, ComCtrls, menus, rotation ;

Type
 TStringListOption= (slUpperCase) ;
 TStringListOptions=set de TStringListOption ;

procédé IniOpenFile (nom de fichier : String= '' ; FilePath : String= '') ; surcharge ;
procédé IniOpenFile (exemple : Nombre entier ; FilePath : String= '') ; surcharge ;
procédé IniCloseFile ;

procédé IniSaveQuotedCaption (section, param, défaut : Corde) ;
fonction IniLoadQuotedCaption (section, param, défaut : Corde) : Corde ;

fonction IniLoadSaveDefaultString (section, param, défaut : Corde) : Corde ;
fonction IniLoadSaveDefault (section, param, défaut : Corde) : Corde ; surcharge ;
fonction IniLoadSaveDefault (section, param : Corde ; Défaut : Nombre entier) : Nombre entier ; surcharge ;
fonction IniLoadSaveDefault (section, param : Corde ; Défaut : Booléen) : Booléen ; surcharge ;
procédé IniLoadSaveDefaultStringList (section, param : Corde ; Liste : TStringList ; Choisir : TStringListOptions= []) ;

procédé IniLoadMenu (M : TMenu) ;
procédé IniSaveMenu (M : TMenu) ;
procédé IniLoadListView (L : TListView) ;
procédé IniSaveListView (L : TListView) ;
procédé IniLoadFormPosAndSize (frm : TCustomForm) ;
procédé IniSaveFormPosAndSize (frm : TCustomForm) ;
procédé IniLoadCheckBox (chk : TCheckBox) ;
procédé IniSaveCheckBox (chk : TCheckBox) ;
procédé IniLoadRadioButton (Rb : TRadioButton) ;
procédé IniSaveRadioButton (Rb : TRadioButton) ;
procédé IniLoadCaption (lbl : TLabel) ;
procédé IniSaveCaption (lbl : TLabel) ;
procédé IniLoadText (edt : TCustomEdit) ;
procédé IniSaveText (edt : TCustomEdit) ;
procédé IniLoadRadioGroup (rg : TRadioGroup) ;
procédé IniSaveRadioGroup (rg : TRadioGroup) ;
procédé IniLoadGroupBox (gigaoctet : TGroupBox) ;
procédé IniSaveGroupBox (gigaoctet : TGroupBox) ;
procédé IniLoadComboBox (Cb : TComboBox) ;
procédé IniSaveComboBox (Cb : TComboBox) ;
{
procédé IniLoadSpinEdit (edt : TSpinEdit) ;
procédé IniSaveSpinEdit (edt : TSpinEdit) ;
}
procédé IniLoadButton (BTN : TButton) ;
procédé IniSaveButton (BTN : TButton) ;
procédé IniLoadSpeedButton (BTN : TSpeedButton) ;
procédé IniSaveSpeedButton (BTN : TSpeedButton) ;
procédé IniLoadFormCaption (frm : TForm) ;
procédé IniSaveFormCaption (frm : TForm) ;
procédé IniSavePanel (pnl : TPanel) ;
procédé IniLoadPanel (pnl : TPanel) ;
procédé IniSaveFrame (pnl : Support en T) ;
procédé IniLoadFrame (pnl : Support en T) ;
procédé IniLoadStringGrid (grille : TStringGrid) ;
procédé IniSaveStringGrid (grille : TStringGrid) ;
procédé IniLoadShape (SHP : TShape) ;
procédé IniLoadImage (IMG : TImage) ;
procédé IniSaveShape (SHP : TShape) ;
procédé IniSaveImage (IMG : TImage) ;
procédé IniSaveControl (c : TControl) ;
procédé IniLoadControl (c : TControl) ;
procédé IniLoadOpenDialog (dlg : TOpenDialog) ;
procédé IniSaveOpenDialog (dlg : TOpenDialog) ;
procédé IniLoadMemo (note : TMemo) ;
procédé IniSaveMemo (note : TMemo) ;

procédé SetExtendedSection (S : Corde) ;
fonction  GetExtendedSection : Corde ;
fonction  GetTextOnly : Booléen ;
procédé SetTextOnly (b : Booléen) ;
fonction TranslateFormat2Text (S : Corde) : Corde ;
fonction TranslateText2Format (S : Corde) : Corde ;

procédé IniSaveComponnents (liste : Rangée de TObject ; Ext_Section : String= '' ; TextOnly : Boolean=False) ;
procédé IniLoadComponnents (liste : Rangée de TObject ; Ext_Section : String= '' ; TextOnly : Boolean=False) ;

Variété
 IniFile : TIniFile ;

exécution

Utilisations SysUtils, untUtils, FileCtrl ;

Variété
 _ExtSection : String= '' ;
 _TextOnly : Boolean=False ;

procédé SetExtendedSection (S : Corde) ;
commencer
 _ExtSection : =S ;
extrémité ;

fonction  GetExtendedSection : Corde ;
commencer
 Résultat : =_ExtSection ;
extrémité ;

fonction  GetTextOnly : Booléen ;
commencer
 Résultat : =_TextOnly ;
extrémité ;

procédé SetTextOnly (b : Booléen) ;
commencer
 _TextOnly : =b ;
extrémité ;

fonction TranslateFormat2Text (S : Corde) : Corde ;
commencer
 Résultat : =StringReplace (S, « % \ », #13#10, [rfReplaceAll]) ;
extrémité ;

fonction TranslateText2Format (S : Corde) : Corde ;
commencer
 Résultat : =StringReplace (S, #13#10, « % \ », [rfReplaceAll]) ;
extrémité ;

procédé IniOpenFile (exemple : Nombre entier ; FilePath : String= '') ;
commencer
 IniOpenFile (ChangeFileExt (GetModuleName (hInstance), « .INI "), FilePath) ;
extrémité ;

procédé IniOpenFile (nom de fichier : String= '' ; FilePath : String= '') ;
commencer
 IniCloseFile ;
 si nom de fichier de FileName= '' puis : =ChangeFileExt (GetModuleName (hInstance), « .INI ") ; /ChangeFileExt (ParamStr (0), « .INI ") ;
 si (FilePath<> '') puis
  commencer
   FilePath : =IncludeTrailingBackslash (FilePath) ;
   si nom de fichier de DirectoryExists (FilePath) puis : =FilePath+FileName ;
  extrémité ;
 IniFile : =TIniFile.Create (nom de fichier) ;
extrémité ;

procédé IniCloseFile ;
commencer
 FreeAndNil (IniFile) ;
extrémité ;

fonction IniLoadSaveDefaultString (section, param, défaut : Corde) : Corde ;
commencer
 Résultat : =IniLoadSaveDefault (section, param, défaut) ;
extrémité ;

procédé IniLoadSaveDefaultStringList (section, param : Corde ; Liste : TStringList ; Choisir : TStringListOptions= []) ;
Variété
 i : nombre entier ;
commencer
 Section : =_ExtSection+Section ;
 List.CommaText : =IniFile.ReadString (section, param, List.CommaText) ;
 si le slUpperCase choisissent dedans alors
  commencer
   List.Sorted : =False ;
   pour I : =0 à List.Count-1 énumèrent [I] : =UpperCase (liste [I]) ;
   List.Sorted : =True ;
  extrémité ;
 IniFile.WriteString (section, param, List.CommaText) ;
extrémité ;

fonction IniLoadSaveDefault (section, param, défaut : Corde) : Corde ; surcharge ;
commencer
 Section : =_ExtSection+Section ;
 Résultat : =IniFile.ReadString (section, param, défaut) ;
 IniFile.WriteString (section, param, résultat) ;
extrémité ;

fonction IniLoadSaveDefault (section, param : Corde ; Défaut : Nombre entier) : Nombre entier ; surcharge ;
commencer
 Section : =_ExtSection+Section ;
 Résultat : =IniFile.ReadInteger (section, param, défaut) ;
 IniFile.WriteInteger (section, param, résultat) ;
extrémité ;

fonction IniLoadSaveDefault (section, param : Corde ; Défaut : Booléen) : Booléen ; surcharge ;
commencer
 Section : =_ExtSection+Section ;
 Résultat : =IniFile.ReadBool (section, param, défaut) ;
 IniFile.WriteBool (section, param, résultat) ;
extrémité ;

procédé IniSaveQuotedCaption (section, param, défaut : Corde) ;
commencer
 si le défaut d'équilibre (défaut<>) se transfèrent alors : =AnsiQuotedStr (défaut, « « ") ;
 IniFile.WriteString (_ExtSection+Section, param, défaut) ;
extrémité ;

fonction IniLoadQuotedCaption (section, param, défaut : Corde) : Corde ;
Variété
 P : PChar ;
commencer
 Résultat : =IniFile.ReadString (_ExtSection+Section, param, défaut) ;
 si (longueur (résultat) >=2) et (résultat [1] = ' « ') puis
  commencer
   P : =PChar (résultat) ;
   Résultat : =AnsiExtractQuotedStr (P, « « ") ;
  extrémité ;
extrémité ;

procédé IniLoadFormPosAndSize (frm : TCustomForm) ;
Variété
 Section : Corde ;
commencer
 Section : =_ExtSection+frm.Name ;
 frm. Légende : =IniFile.ReadString (section, « LÉGENDE », frm. Légende) ;
 sinon _TextOnly puis
  commencer
   si le frm est TForm puis TForm (frm). Position : =poDesigned ;
   frm. Largeur : =IniFile.ReadInteger (section, « LARGEUR », frm. Largeur) ;
   frm. Taille : =IniFile.ReadInteger (section, « TAILLE », frm. Taille) ;
   frm. Dessus : =IniFile.ReadInteger (section, « DESSUS », frm. Dessus) ;
   frm. Gauche : =IniFile.ReadInteger (la section, « EST PARTIE », frm. Gauche) ;
   frm.WindowState : =TWindowState (IniFile.ReadInteger (section, « ÉTAT », nombre entier (frm.WindowState)));
  extrémité ;
extrémité ;

procédé IniSaveFormPosAndSize (frm : TCustomForm) ;
Variété
 Section : Corde ;
commencer
 Section : =_ExtSection+frm.Name ;
 IniFile.WriteString (section, « LÉGENDE », frm. Légende) ;
 sinon _TextOnly puis
  commencer
   IniFile.WriteInteger (section, « ÉTAT », nombre entier (frm.WindowState));
   IniFile.WriteInteger (section, « LARGEUR », frm. Largeur) ;
   IniFile.WriteInteger (section, « TAILLE », frm. Taille) ;
   IniFile.WriteInteger (section, « DESSUS », frm. Dessus) ;
   IniFile.WriteInteger (la section, « EST PARTIE », frm. Gauche) ;
  extrémité ;
extrémité ;

procédé IniLoadMemo (note : TMemo) ;
commencer
 note. Texte : =TranslateFormat2Text (IniFile.ReadString (_ExtSection+memo.Name, « TEXTE », TranslateText2Format (note. Texte)));
extrémité ;

procédé IniSaveMemo (note : TMemo) ;
commencer
 IniFile.WriteString (_ExtSection+memo.Name, « TEXTE », TranslateText2Format (note. Texte));
extrémité ;

procédé IniLoadCheckBox (chk : TCheckBox) ;
commencer
 chk. Légende : =IniLoadQuotedCaption (chk. Nom, « LÉGENDE », chk. Légende) ;
 sinon _TextOnly puis chk. Vérifié : =IniFile.ReadBool (_ExtSection+chk.Name, « A VÉRIFIÉ », chk. Vérifié) ;
extrémité ;

procédé IniSaveCheckBox (chk : TCheckBox) ;
commencer
 IniSaveQuotedCaption (chk. Nom, « LÉGENDE », chk. Légende) ;
 sinon _TextOnly puis IniFile.WriteBool (_ExtSection+chk.Name, « A VÉRIFIÉ », chk. Vérifié) ;
extrémité ;

procédé IniLoadShape (SHP : TShape) ;
Variété
 Section : Corde ;
commencer
 avec la SHP faire
  commencer
   Section : =_ExtSection+Name ;
   Évident : =IniFile.ReadBool (section, « ÉVIDENT », évident) ;
   Pen.Color : =StringToColor (IniFile.ReadString (section, « PEN_COLOR », ColorToString (Pen.Color)));
   Brush.Color : =StringToColor (IniFile.ReadString (section, « BRUSH_COLOR », ColorToString (Brush.Color)));
  extrémité ;
extrémité ;

procédé IniLoadImage (IMG : TImage) ;
Variété
 F : Corde ;
 Section : Corde ;
commencer
 Avec l'IMG faire
  essai
   Section : =_ExtSection+Name ;
   Évident : =IniFile.ReadBool (section, « ÉVIDENT », évident) ;
   Transparent : =IniFile.ReadBool (section, « TRANSPARENT », transparent) ;
   Bout droit : =IniFile.ReadBool (section, « BOUT DROIT », bout droit) ;
   F : =IniFile.ReadString (section, « DOSSIER », '') ;
   si FileExists (F) puis Picture.LoadFromFile (F) ;
  excepté
  extrémité ;
extrémité ;

procédé IniSaveShape (SHP : TShape) ;
Variété
 Section : Corde ;
commencer
 avec la SHP faire
  commencer
   Section : =_ExtSection+Name ;
   IniFile.WriteBool (section, « ÉVIDENT », évident) ;
   IniFile.WriteString (section, « PEN_COLOR », ColorToString (Pen.Color));
   IniFile.WriteString (section, « BRUSH_COLOR », ColorToString (Brush.Color));
  extrémité ;
extrémité ;

procédé IniSaveImage (IMG : TImage) ;
Variété
 Section : Corde ;
commencer
 Avec l'IMG faire
  commencer
   Section : =_ExtSection+Name ;
   IniFile.WriteBool (section, « ÉVIDENT », évident) ;
   IniFile.WriteBool (section, « TRANSPARENT », transparent) ;
   IniFile.WriteBool (section, « BOUT DROIT », bout droit) ;
  extrémité ;
extrémité ;

procédé IniLoadRadioButton (Rb : TRadioButton) ;
commencer
 Rb. Légende : =IniLoadQuotedCaption (Rb. Nom, « LÉGENDE », Rb. Légende) ;
 sinon _TextOnly puis Rb. Vérifié : =IniFile.ReadBool (_ExtSection+rb.Name, « A VÉRIFIÉ », Rb. Vérifié) ;
extrémité ;

procédé IniSaveRadioButton (Rb : TRadioButton) ;
commencer
 IniSaveQuotedCaption (Rb. Nom, « LÉGENDE », Rb. Légende) ;
 sinon _TextOnly puis IniFile.WriteBool (_ExtSection+rb.Name, « A VÉRIFIÉ », Rb. Vérifié) ;
extrémité ;

procédé IniLoadText (edt : TCustomEdit) ;
commencer
 edt. Texte : =IniLoadQuotedCaption (edt. Nom, « TEXTE », edt. Texte) ;
extrémité ;

procédé IniSaveText (edt : TCustomEdit) ;
commencer
 IniSaveQuotedCaption (edt. Nom, « TEXTE », edt. Texte) ;
extrémité ;

procédé IniLoadCaption (lbl : TLabel) ;
commencer
 lbl. Légende : =IniLoadQuotedCaption (lbl. Nom, « LÉGENDE », lbl. Légende) ;
extrémité ;

procédé IniSaveCaption (lbl : TLabel) ;
commencer
 IniSaveQuotedCaption (lbl. Nom, « LÉGENDE », lbl. Légende) ;
extrémité ;

procédé IniLoadFormCaption (frm : TForm) ;
commencer
 frm. Légende : =IniLoadQuotedCaption (frm. Nom, « LÉGENDE », frm. Légende) ;
extrémité ;

procédé IniSaveFormCaption (frm : TForm) ;
commencer
 IniSaveQuotedCaption (frm. Nom, « LÉGENDE », frm. Légende) ;
extrémité ;

procédé IniLoadButton (BTN : TButton) ;
commencer
 BTN. Légende : =IniLoadQuotedCaption (BTN. Nom, « LÉGENDE », BTN. Légende) ;
extrémité ;

procédé IniSaveButton (BTN : TButton) ;
commencer
 IniSaveQuotedCaption (BTN. Nom, « LÉGENDE », BTN. Légende) ;
extrémité ;

procédé IniLoadBitButton (BTN : TBitBtn) ;
commencer
 BTN. Légende : =IniLoadQuotedCaption (BTN. Nom, « LÉGENDE », BTN. Légende) ;
extrémité ;

procédé IniSaveBitButton (BTN : TBitBtn) ;
commencer
 IniSaveQuotedCaption (BTN. Nom, « LÉGENDE », BTN. Légende) ;
extrémité ;

procédé IniLoadSpeedButton (BTN : TSpeedButton) ;
commencer
 BTN. Légende : =IniLoadQuotedCaption (BTN. Nom, « LÉGENDE », BTN. Légende) ;
extrémité ;

procédé IniSaveSpeedButton (BTN : TSpeedButton) ;
commencer
 IniSaveQuotedCaption (BTN. Nom, « LÉGENDE », BTN. Légende) ;
extrémité ;

procédé IniLoadRadioGroup (rg : TRadioGroup) ;
commencer
 rg. Légende : =IniLoadQuotedCaption (rg. Nom, « LÉGENDE », rg. Légende) ;
 sinon _TextOnly puis rg.ItemIndex : =IniFile.ReadInteger (_ExtSection+rg.Name, « INDEX », rg.ItemIndex) ;
extrémité ;

procédé IniSaveRadioGroup (rg : TRadioGroup) ;
commencer
 IniSaveQuotedCaption (rg. Nom, « LÉGENDE », rg. Légende) ;
 sinon _TextOnly puis IniFile.WriteInteger (_ExtSection+rg.Name, « INDEX », rg.ItemIndex) ;
extrémité ;

procédé IniLoadGroupBox (gigaoctet : TGroupBox) ;
commencer
 gigaoctet. Légende : =IniLoadQuotedCaption (gigaoctet. Nom, « LÉGENDE », gigaoctet. Légende) ;
 sinon _TextOnly puis IniLoadControl (gigaoctet) ;
extrémité ;

procédé IniSaveGroupBox (gigaoctet : TGroupBox) ;
commencer
 IniSaveQuotedCaption (gigaoctet. Nom, « LÉGENDE », gigaoctet. Légende) ;
 sinon _TextOnly puis IniSaveControl (gigaoctet) ;
extrémité ;

procédé IniLoadComboBox (Cb : TComboBox) ;
Variété
 Streptocoque : Corde ;
commencer
 Streptocoque : =IniLoadQuotedCaption (Cb. Nom, « TEXTE », Cb. Texte) ;
 si Cb. Style=csDropDownList alors
  commencer
   si streptocoque<> '' puis cb.ItemIndex : =cb. Items.IndexOf (streptocoque) cb.ItemIndex d'autre : =IniFile.ReadInteger (_ExtSection+cb.Name, « INDEX », cb.ItemIndex) ;
  Cb d'autre d'extrémité. Texte : =Str ;
extrémité ;

procédé IniSaveComboBox (Cb : TComboBox) ;
commencer
 IniSaveQuotedCaption (Cb. Nom, « TEXTE », Cb. Texte) ;
 IniFile.WriteInteger (_ExtSection+cb.Name, « INDEX », cb.ItemIndex) ;
extrémité ;

{$ifdef USE_SPIN_EDT}
procédé IniLoadSpinEdit (edt : TSpinEdit) ;
commencer
 edt. Valeur : =IniFile.ReadInteger (_ExtSection+edt.Name, « VALEUR », edt. Valeur) ;
extrémité ;

procédé IniSaveSpinEdit (edt : TSpinEdit) ;
commencer
 IniFile.WriteInteger (_ExtSection+edt.Name, « VALEUR », edt. Valeur) ;
extrémité ;
{$endif}

procédé IniSavePanel (pnl : TPanel) ;
commencer
 IniFile.WriteInteger (_ExtSection+pnl.Name, « LARGEUR », pnl. Largeur) ;
 IniFile.WriteInteger (_ExtSection+pnl.Name, « TAILLE », pnl. Taille) ;
extrémité ;

procédé IniLoadPanel (pnl : TPanel) ;
commencer
 pnl. Largeur : =IniFile.ReadInteger (_ExtSection+pnl.Name, « LARGEUR », pnl. Largeur) ;
 pnl. Taille : =IniFile.ReadInteger (_ExtSection+pnl.Name, « TAILLE », pnl. Taille) ;
extrémité ;

procédé IniSaveFrame (pnl : Support en T) ;
commencer
 IniFile.WriteInteger (_ExtSection+pnl.Name, « LARGEUR », pnl. Largeur) ;
 IniFile.WriteInteger (_ExtSection+pnl.Name, « TAILLE », pnl. Taille) ;
extrémité ;

procédé IniLoadFrame (pnl : Support en T) ;
commencer
 pnl. Largeur : =IniFile.ReadInteger (_ExtSection+pnl.Name, « LARGEUR », pnl. Largeur) ;
 pnl. Taille : =IniFile.ReadInteger (_ExtSection+pnl.Name, « TAILLE », pnl. Taille) ;
extrémité ;

procédé IniLoadStringGrid (grille : TStringGrid) ;
Variété
 i : nombre entier ;
 Section : Corde ;
commencer
 Avec la grille faire
  commencer
   Section : =_ExtSection+Name ;
   grid.ColCount : =IniFile.ReadInteger (section, « COL_COUNT », grid.ColCount) ;
   pour I : =0 à grid.ColCount-1 font
    commencer
     grid.ColWidths [I] : =IniFile.ReadInteger (section, format (« COL_%d_WIDTH », [I]), grid.ColWidths [I]) ;
     grille. Cellules [I, 0] : =IniFile.ReadString (section, format (« COL_%d_TEXT », [I]), grille. Cellules [I, 0]) ;
    extrémité ;
  extrémité ;
extrémité ;

procédé IniSaveStringGrid (grille : TStringGrid) ;
Variété
 i : nombre entier ;
 Section : Corde ;
commencer
 Avec la grille faire
  commencer
   Section : =_ExtSection+Name ;
   IniFile.WriteInteger (section, « COL_COUNT », grid.ColCount) ;
   pour I : =0 à grid.ColCount-1 font
    commencer
     IniFile.WriteInteger (section, format (« COL_%d_WIDTH », [I]), grid.ColWidths [I]) ;
     IniFile.WriteString (section, format (« COL_%d_TEXT », [I]), grille. Cellules [I, 0]) ;
    extrémité ;
  extrémité ;
extrémité ;

procédé IniLoadOpenDialog (dlg : TOpenDialog) ;
commencer
 dlg.InitialDir : =IniLoadQuotedCaption (dlg. Nom, « INITIAL_DIR », dlg.InitialDir) ;
extrémité ;

procédé IniSaveOpenDialog (dlg : TOpenDialog) ;
commencer
 IniSaveQuotedCaption (dlg. Nom, « INITIAL_DIR », dlg.InitialDir) ;
extrémité ;

procédé IniSaveControl (c : TControl) ;
commencer
 IniFile.WriteInteger (_ExtSection+c.Name, « LARGEUR », c.Width) ;
 IniFile.WriteInteger (_ExtSection+c.Name, « TAILLE », c.Height) ;
extrémité ;

procédé IniLoadControl (c : TControl) ;
commencer
 c.Width : =IniFile.ReadInteger (_ExtSection+c.Name, « LARGEUR », c.Width) ;
 c.Height : =IniFile.ReadInteger (_ExtSection+c.Name, « TAILLE », c.Height) ;
extrémité ;

procédé IniLoadListView (L : TListView) ;
Variété
 Section : Corde ;
 i : nombre entier ;
commencer
 Avec L faire
  commencer
   Section : =_ExtSection+Name ;
   pour I : = 0 à Columns.Count - 1 font les colonnes [I]. Légende : =IniFile.ReadString (section, format (« COLUMN_%d », [I]), colonnes [I]. Légende) ;
  extrémité ;
extrémité ;

procédé IniSaveListView (L : TListView) ;
Variété
 Section : Corde ;
 i : nombre entier ;
commencer
 Avec L faire
  commencer
   Section : =_ExtSection+Name ;
   pour I : = 0 à Columns.Count - 1 font IniFile.WriteString (section, format (« COLUMN_%d », [I]), les colonnes [I]. Légende) ;
  extrémité ;
extrémité ;

procédé IniLoadMenu (M : TMenu) ;
Variété
 Section : Corde ;
 i : nombre entier ;

 procédé IniLoadMenuItem (M : TMenuItem ; Section : Corde) ;
 Variété
  i : nombre entier ;
 commencer
  Section : =Sect+'. '+M.Name ;
  pour I : = 0 à M.Count - 1 font si M.Items [I]. Caption'-<> 'puis
   commencer
    M.Items [I]. Légende : =IniFile.ReadString (section, M.Items [I]. Nom, M.Items [I]. Légende) ;
    si M.Items [I]. Count>0 puis IniLoadMenuItem (M.Items [I], section) ;
   extrémité ;
 extrémité ;
commencer
 Avec M faire
  commencer
   Section : =_ExtSection+Name ;
   pour I : = 0 à M.Items.Count - 1 font si les articles [I]. Caption'-<> 'puis
    commencer
     Articles [I]. Légende : =IniFile.ReadString (section, articles [I]. Nom, articles [I]. Légende) ;
    extrémité ;
  extrémité ;
extrémité ;

procédé IniSaveMenu (M : TMenu) ;
Variété
 Section : Corde ;
 i : nombre entier ;
 procédé IniSaveMenuItem (M : TMenuItem ; Section : Corde) ;
 Variété
  i : nombre entier ;
 commencer
  Section : =Sect+'. '+M.Name ;
  pour I : = 0 à M.Count - 1 font si M.Items [I]. Caption'-<> 'puis
   commencer
    IniFile.WriteString (section, M.Items [I]. Nom, M.Items [I]. Légende) ;
    si M.Items [I]. Count>0 puis IniSaveMenuItem (M.Items [I], section) ;
   extrémité ;
 extrémité ;
commencer
 Avec M faire
  commencer
   Section : =_ExtSection+Name ;
   pour I : = 0 à M.Items.Count - 1 font si les articles [I]. Caption'-<> 'puis
    commencer
     IniFile.WriteString (section, articles [I]. Nom, articles [I]. Légende) ;
     si articles [I]. Count>0 puis IniSaveMenuItem (articles [I], _ExtSection) ;
    extrémité ;
  extrémité ;
extrémité ;

procédé IniSaveComponnents (liste : Rangée de TObject ; Ext_Section : String= '' ; TextOnly : Boolean=False) ;
variété
 i : nombre entier ;
 SaveExtSect : Corde ;
 SaveTextOnly : Booléen ;
commencer
 SaveExtSect : =_ExtSection ;
 _ExtSection : =Ext_Section ;
 SaveTextOnly : =_TextOnly ;
 _TextOnly : =TextOnly ;
 pour I : Le =Low (liste) à la haute (liste) font si assigné (liste [I]) alors
  essai
   si la liste [I] est TMemo        puis IniSaveMemo          (TMemo        (liste [I])) Autrement
   si la liste [I] est TListView    puis IniSaveListView      (TListView    (liste [I])) Autrement
   si la liste [I] est TMenu        puis IniSaveMenu          (TMenu        (liste [I])) Autrement
   si la liste [I] est TCustomForm  puis IniSaveFormPosAndSize (TCustomForm  (liste [I])) Autrement
   si la liste [I] est TRadioGroup  puis IniSaveRadioGroup    (TRadioGroup  (liste [I])) Autrement
   si la liste [I] est TRadioButton puis IniSaveRadioButton   (TRadioButton (liste [I])) Autrement
   si la liste [I] est TCustomEdit  puis IniSaveText          (TCustomEdit  (liste [I])) Autrement
   si la liste [I] est TCheckBox    puis IniSaveCheckBox      (TCheckBox    (liste [I])) Autrement
   si la liste [I] est TComboBox    puis IniSaveComboBox      (TComboBox    (liste [I])) Autrement
{$ifdef USE_SPIN_EDT}
   si la liste [I] est TSpinEdit    puis IniSaveSpinEdit  	(TSpinEdit    (liste [I])) Autrement
{$endif}
   si la liste [I] est TLabel       puis IniSaveCaption  	(TLabel       (liste [I])) Autrement
   si la liste [I] est TBitBtn      puis IniSaveBitButton  	(TBitBtn      (liste [I])) Autrement
   si la liste [I] est TButton      puis IniSaveButton  	(TButton      (liste [I])) Autrement
   si la liste [I] est TSpeedButton puis IniSaveSpeedButton  	(TSpeedButton (liste [I])) Autrement
   si la liste [I] est TPanel       puis IniSavePanel 	(TPanel       (liste [I])) Autrement
   si la liste [I] est support en T       puis IniSaveFrame 	(support en T       (liste [I])) Autrement
   si la liste [I] est TStringGrid  puis IniSaveStringGrid    (TStringGrid  (liste [I])) Autrement
   si la liste [I] est TOpenDialog  puis IniSaveOpenDialog    (TOpenDialog  (liste [I])) Autrement
   si la liste [I] est TShape       puis IniSaveShape         (TShape       (liste [I])) Autrement
   si la liste [I] est TImage       puis IniSaveImage         (TImage       (liste [I])) Autrement
   si la liste [I] est TGroupBox    puis IniSaveGroupBox      (TGroupBox    (liste [I])) Autrement
   si la liste [I] est TControl     puis IniSaveControl       (TControl     (liste [I])) Autrement
   si la liste [I] est TComponent   puis ShowMessage ('Erreur sauf « +TComponent (liste [I]). Name+ » : '+List [I] .ClassName)
    ShowMessage d'autre ('Erreur sauvent '+List [I] .ClassName) ;
  excepté
   sur E : L'exception font ShowMessage (format (« économie %s d'erreur : %s'#13'% s », [TComponent (liste [I]). Nom, E.ClassName, E.Message]));
  extrémité ;
 _ExtSection : =SaveExtSect ;
 _TextOnly : =SaveTextOnly ;
extrémité ;

procédé IniLoadComponnents (liste : Rangée de TObject ; Ext_Section : String= '' ; TextOnly : Boolean=False) ;
variété
 i : nombre entier ;
 SaveExtSect : Corde ;
 SaveTextOnly : Booléen ;
commencer
 SaveExtSect : =_ExtSection ;
 _ExtSection : =Ext_Section ;
 SaveTextOnly : =_TextOnly ;
 _TextOnly : =TextOnly ;
 pour I : Le =Low (liste) à la haute (liste) font si assigné (liste [I]) alors
  essai
   si la liste [I] est TMemo        puis IniLoadMemo          (TMemo        (liste [I])) Autrement
   si la liste [I] est TListView    puis IniLoadListView      (TListView    (liste [I])) Autrement
   si la liste [I] est TMenu        puis IniLoadMenu          (TMenu        (liste [I])) Autrement
   si la liste [I] est TCustomForm  puis IniLoadFormPosAndSize (TCustomForm  (liste [I])) Autrement
   si la liste [I] est TRadioGroup  puis IniLoadRadioGroup    (TRadioGroup  (liste [I])) Autrement
   si la liste [I] est TRadioButton puis IniLoadRadioButton   (TRadioButton (liste [I])) Autrement
   si la liste [I] est TCustomEdit  puis IniLoadText          (TCustomEdit  (liste [I])) Autrement
   si la liste [I] est TCheckBox    puis IniLoadCheckBox      (TCheckBox    (liste [I])) Autrement
   si la liste [I] est TComboBox    puis IniLoadComboBox      (TComboBox    (liste [I])) Autrement
{$ifdef USE_SPIN_EDT}
   si la liste [I] est TSpinEdit    puis IniLoadSpinEdit  	(TSpinEdit    (liste [I])) Autrement
{$endif}
   si la liste [I] est TLabel       puis IniLoadCaption  	(TLabel       (liste [I])) Autrement
   si la liste [I] est TBitBtn      puis IniLoadBitButton  	(TBitBtn      (liste [I])) Autrement
   si la liste [I] est TButton      puis IniLoadButton  	(TButton      (liste [I])) Autrement
   si la liste [I] est TSpeedButton puis IniLoadSpeedButton  	(TSpeedButton (liste [I])) Autrement
   si la liste [I] est TPanel       puis IniLoadPanel 	(TPanel       (liste [I])) Autrement
   si la liste [I] est support en T       puis IniLoadFrame 	(support en T       (liste [I])) Autrement
   si la liste [I] est TStringGrid  puis IniLoadStringGrid    (TStringGrid  (liste [I])) Autrement
   si la liste [I] est TOpenDialog  puis IniLoadOpenDialog    (TOpenDialog  (liste [I])) Autrement
   si la liste [I] est TShape       puis IniLoadShape         (TShape       (liste [I])) Autrement
   si la liste [I] est TImage       puis IniLoadImage         (TImage       (liste [I])) Autrement
   si la liste [I] est TGroupBox    puis IniLoadGroupBox      (TGroupBox    (liste [I])) Autrement
   si la liste [I] est TControl     puis IniLoadControl       (TControl     (liste [I])) Autrement
   si la liste [I] est TComponent   puis ShowMessage ('charge « +TComponent (liste [I] d'Erreur). Name+ » : '+List [I] .ClassName) autrement
    ShowMessage (charge '+List [I] .ClassName) 'd'Erreur ;
  excepté
   sur E : L'exception font ShowMessage (format (« chargement %s des erreurs : %s'#13'% s », [TComponent (liste [I]). Nom, E.ClassName, E.Message]));
  extrémité ;
 _ExtSection : =SaveExtSect ;
 _TextOnly : =SaveTextOnly ;
extrémité ;

initialisation
 IniFile : =nil ;
 IniOpenFile ;
achèvement
 IniCloseFile ;
extrémité.
Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us