Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.033 Beiträge
 
Delphi 12 Athens
 
#2

AW: Abbruchbedingung: Anzahl von Elementen in Ini-Sektion

  Alt 16. Apr 2020, 19:53
if not ReadString(...) = 'then Break;

if not ValueExists(...) then Break;

if not not SectionExists(...) then Break;

...

such dir was aus



Zitat:
Format('vorname%.0n',[_counter+ 0.0])
Ähhhh Format('vorname%d',[_counter]) ?

Bzw. 'vorname' + IntToStr(_counter) oder ganz modern 'vorname' + _counter.ToString .

Warum eine WHILE-Schleife, anstatt einem REPEAT-UNTIL, wo doch Prüfung erst am Ende kommt.
Wobei die Abbruchbedingung ja eigentlich besser mal vor dem _object.Items.Add stehen sollte, oder nicht?

Warum die Prüfung überhaupt am Ende, wo du doch bestimmt vor dem Auslesen prüfen möchtest, ob es das überhaupt gibt.
OK, hier kann man ganz am Anfang prüfen, oder erstmal lesen (wenn was nicht da ist, dann wirft das TIniFile zum Glück keine Exception),
also wäre es schon OK, erstmal in die Variablen zu lesen und dann den Inhalt einer Variable zu prüfen.
if Vorname = 'then Break;

Warum überhaupt eine WHILE-Schleife, anstatt einem FOR?
Wenn die Prpfung in der Mitte ist, dann kann man mit BREAK aus jeder Schleife raus, und dann ist das manuelle Setzen/Hochzählen der Variable und noch eine zusätzliche Variable bissl unnötig.


PS: ich empfinde den Aufbau der Inni ein bissl suboptimal.

Code:
[Vorname] // das müsste auch Vornamen heißen, weil ja Mehrere drin sind ;)
vorname0=aaa
vorname1=bbb
...

[Nachame] // das müsste auch Nachnamen heißen
nachname0=ccc
nachname1=ddd
...

[Alter]
...
so wirkt es doch übersichtlicher und die Daten "einer" Person stehen dann auch zusammen
Code:
[Person0]
vorname=aaa
nachname=ccc
...

[Person1]
vorname=bbb
nachname=ddd
...

[Person2]
...
und das Auslesen wird sogar übersichtlicher
Delphi-Quellcode:
Sektion := Format('Person%d', [_counter]);
Vorname := ini.ReadString(Sektion, 'Vorname', '');
Nachname := ini.ReadString(Sektion, 'Nachname', '');
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (16. Apr 2020 um 20:06 Uhr)
  Mit Zitat antworten Zitat