Einzelnen Beitrag anzeigen

TurboMartin

Registriert seit: 13. Feb 2006
Ort: Bad Honnef
765 Beiträge
 
Turbo Delphi für Win32
 
#1

Fehlfunktion in if-Abfrage

  Alt 15. Okt 2006, 14:41
Hi DP !
Ich hbe folgenden Code:
Delphi-Quellcode:
  if zahlenarray1[1] = 1 then
    zahlenaray3moeglichezahlen[1] := zahlenaray3moeglichezahlen[1]+1 //
  else if zahlenarray1[1] = 2 then
         zahlenaray3moeglichezahlen[2] := zahlenaray3moeglichezahlen[2]+1 //
       else if zahlenarray1[1] = 3 then
              zahlenaray3moeglichezahlen[3] := zahlenaray3moeglichezahlen[3]+1; // Zugewiesene Zahlen aus den Arrays z1 und z2
if zahlenarray1[2] = 1 then
  zahlenaray3moeglichezahlen[1] := zahlenaray3moeglichezahlen[1]+1 // lesen und z3z hinufügen
  else if zahlenarray1[2] = 2 then
         zahlenaray3moeglichezahlen[2] := zahlenaray3moeglichezahlen[2]+1 //
       else if zahlenarray1[2] = 3 then
              zahlenaray3moeglichezahlen[3] := zahlenaray3moeglichezahlen[3]+1; //

  if zahlenarray2[1] = 1 then
    zahlenaray3moeglichezahlen[1] := zahlenaray3moeglichezahlen[1]+1
  else if zahlenarray2[1] = 2 then
         zahlenaray3moeglichezahlen[2] := zahlenaray3moeglichezahlen[2]+1
       else if zahlenarray2[1] = 3 then
              zahlenaray3moeglichezahlen[3] := zahlenaray3moeglichezahlen[3]+1;
  if zahlenarray2[2] = 1 then
    zahlenaray3moeglichezahlen[1] := zahlenaray3moeglichezahlen[1]+1
  else if zahlenarray2[2] = 2 then
         zahlenaray3moeglichezahlen[2] := zahlenaray3moeglichezahlen[2]+1
       else if zahlenarray2[2] = 3 then
              zahlenaray3moeglichezahlen[3] := zahlenaray3moeglichezahlen[3]+1; // wie oben

  if z3z[1] = 1 then //
  begin //
    if z3[2] <> 0 then //
    z3[1] := 1 //
    else z3[2] := 1; //
  end //
  else if z3z[2] = 1 then //
       begin // wo in z3z eine 1 steht, diese Zahl zu z3 hinzufügen.
         if z3[2] <> 0 then //
         z3[1] := 2 //
         else z3[2] := 2; //
       end //
       else if z3z[3] = 1 then //
            begin //
              if z3[2] <> 0 then //
              z3[1] := 3 //
              else z3[2] := 3; //
            end; //
  ShowMessage(IntToStr(z3z[1])+'+'+IntToStr(z3z[2])+'+'+IntToStr(z3z[3]));
  ShowMessage('z3: '+IntToStr(z3[1])+'+'+IntToStr(z3[2]);
z3z und z3 sin beide ein array [1..3] of Integer
Bei der ersen Meldung soll mir immer zweimal eine 1 angezeigt werden und eine 2. Das Funktioniert so auch.
Danach soll dann z3[1] und z3[2] die Zahl des Arrays übergeben werden, in der eine 1 steht.
so wie ich es mache, kriege ich aber immer nur für die zweite Zahl eine Zahl, und die erste ist immer 0.
Aber wieso?
Was mache ich falsch?
Tomorrow will be cancelled due to lack of interest.

  Mit Zitat antworten Zitat