Einzelnen Beitrag anzeigen

Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#6
  Alt 30. Jan 2003, 09:34
Es gibt noch eine weitere prinzipielle Möglichkeit : Du packst alle Variablen in EINEN Record:

Code:
TYPE SpielTyp =
  RECORD
    punkte : integer;
    gewonnen : boolean;
    ...
  END;

VAR SpielVar : SpielTyp;
Das hat aber wiederum Vor- und Nachteile.

Vorteil : mit
Code:
FillChar (Spielvar,0,sizeof (SpielVar));
kannst Du auf einen Schlag alles auf Null, Leerzeichen und boolean auf false setzen, Du kannst nichts vergessen.

Nachteil : 1. Alles was <> 0 ist, z.B. true muß trotzdem von Hand auf einen Wert gesetzt werden. 2. Statt
Code:
punkte := 0
mußt Du dann schreiben :
Code:
SpielVar.punkte := 0;
also mehr Schreibarbeit. Letzteres kannst Du dir aber durch WITH fast sparen.

Ich habe das so noch nicht selber gemacht, aber bei Deiner Sache könnte eine solche Vorgehensweise durchaus Sinn machen. Trotzdem würde auch ich das ganze trotzdem in eine Prozedur packen,z.B.:
Code:
PROCEDURE SpielNeu;
  BEGIN
    FillChar (Spielvar,0,sizeof (SpielVar));
    WITH Spielvar DO BEGIN  // von 0 abweichende Werte setzen
      Level1 := 500;
      Leveel2 := 1000;
....
    END;
  END;
Gruß
Hansa
  Mit Zitat antworten Zitat