Einzelnen Beitrag anzeigen

freimatz

Registriert seit: 20. Mai 2010
1.443 Beiträge
 
Delphi 11 Alexandria
 
#20

AW: einen Datensatzmitgliedsnamen dynamisch zuweisen

  Alt 7. Jul 2022, 07:31
Ich bin mit der jetzigen Lösung zufrieden.
Code:
if group = 'A' then
 case AnsiIndexText(pars[0], ['path', 'first_frame', 'end_frame' , 'first_filename' , 'check_if_files_exist']) oF
   0: ini.basic.A.path := pars[1];
   1: ini.basic.A.first := pars[1];
   2: ini.basic.A.last := pars[1];
   3: ini.basic.A.start_name := pars[1];
   4: ini.basic.A.check_files_exist := true;
 end
else
if group = 'B' then
 case AnsiIndexText(pars[0], ['path' , 'first_frame' , 'end_frame' , 'first_filename', 'check_if_files_exist']) oF
   0: ini.basic.B.path := pars[1];
   1: ini.basic.B.first := pars[1];
   2: ini.basic.B.last := pars[1];
   3: ini.basic.B.start_name := pars[1];
   4: ini.basic.B.check_files_exist := true;
 end;
Da ist noch Luft nach oben.
a) Lokale Variablen mit schönen Namen verwenden und pars[0] bzw pars[1] zuweisen.
b) Prozedur machen für den doppelten Code und übergeben von ini.basic.A oder ini.basic.B. Dann spart man sich den doppelten Code. Dann der Aufruf:
Mach(group, 'A', pars[0], pars[1], ini.basic.A);
Mach(group, 'B', pars[0], pars[1], ini.basic.B);

Geändert von freimatz ( 7. Jul 2022 um 08:17 Uhr)
  Mit Zitat antworten Zitat