Einzelnen Beitrag anzeigen

idefix2

Registriert seit: 17. Mär 2010
Ort: Wien
1.027 Beiträge
 
RAD-Studio 2009 Pro
 
#10

AW: wo kommt das type hin?

  Alt 9. Jun 2010, 20:53
Wenn Du jetzt noch dazu schreibst, wo Dir konkret Werte "verloren" gehen, könnte man sich das genauer anschauen. Das Programm ist allerdings für meinen Geschmack durch zu viel copy and paste reichlich unübersichtlich.

Man sollte beim Erstellen von Programmen wo es geht Schleifen und arrays verwenden, statt mittels copy and paste gewaltige Codemengen zu produzieren - so ein Programm ist nämlich wesentlich fehleranfälliger und schwerer zu warten, und die Fehlersuche ist viel mühsamer, weil einfach viel mehr Code zum Überprüfen da ist.

Also z.B. statt

Delphi-Quellcode:
 temp_data[0] := Store_Buffer[i] mod 2;
    temp_wert := Store_Buffer[i] div 2;
    temp_data[1] := temp_wert mod 2;
    temp_wert := temp_wert div 2;
    temp_data[2] := temp_wert mod 2;
    temp_wert := temp_wert div 2;
    temp_data[3] := temp_wert mod 2;
    temp_wert := temp_wert div 2;
    temp_data[4] := temp_wert mod 2;
    temp_wert := temp_wert div 2;
    temp_data[5] := temp_wert mod 2;
    temp_wert := temp_wert div 2;
    temp_data[6] := temp_wert mod 2;
    temp_wert := temp_wert div 2;
    temp_data[7] := temp_wert mod 2;
einfach

Delphi-Quellcode:
    temp_wert := store_Buffer[i];
    for a := 0 to 7 do
       begin
       temp_data[a] := temp_wert mod 2;
       temp_wert := temp_wert div 2;
       end;
Wenn Du statt data1, data2, data3... und cd1, cd2, cd3...
Felder Data: array [1..8] und cd: array[1..8]
verwendest, und den immer wiederkehrenden Code in eine Schleife legst, würde das Program um einiges übersichtlicher werden.

Noch ein nono:
if dispmarker1.Visible = true then .

Statt dessen:
if dispmarker1.Visible then .

Es würde natürlich auch so gehen:
if ((((dispmarker1.Visible = true) = true) = true) = true) then .

Sollte die repeat-Schleife in prepaire_data nicht doch eher eine for Schleife sein - ich meine, steht die Anzahl der Durchläufe nicht schon zu Schleifenbeginn fest? In dem Fall entspricht die Verwendung einer repeat Schleife nämlich einer Täuschung des Gegners


edit: Irgendwie versteht die Forumsoftware meine delphi tags nicht

Geändert von idefix2 ( 9. Jun 2010 um 20:57 Uhr)
  Mit Zitat antworten Zitat