Einzelnen Beitrag anzeigen

de_arg

Registriert seit: 1. Jan 2004
9 Beiträge
 
#3

Re: if ... or ... else - Anwendungen

  Alt 1. Jan 2004, 16:49
Delphi-Quellcode:
procedure TForm1.abClick(Sender: TObject);
begin
   hsa.visible:=false;
   hsa2.visible:=false;
   rsa.visible:=false; // Die Abschlüsse
   ue11.visible:=false;
   ka.visible:=false;

   gesamt:=((deutsch_n) + (englisch_n) + (mathematik_n) + (franz_n) + (physik_n) + (chemie_n) + (biologie_n) + (relligion_n) + (gl_n) + (bwu_n) + (sport_n) + (kunst_n) + (musik_n) + (latein_n) + (wpu4_n) + (wpu2_n)); // Gesamtnote

   if (((deutsch_k='e') and (englisch_k='a') and (mathematik_k='a')) or ((deutsch_k='g') and (englisch_k='a') and (mathematik_k='a')) or ((deutsch_k='e') and (englisch_k='b') and (mathematik_k='a')) or ((deutsch_k='e') and (englisch_k='a') and (mathematik_k='b'))) then
     begin
       if (((deutsch_k='e') and (physik_k='e') and (chemie_k='e') and (biologie_k='e')) or ((deutsch_k='g') and (physik_k='e') and (chemie_k='e') and (biologie_k='e')) or ((deutsch_k='e') and (physik_k='g') and (chemie_k='e') and (biologie_k='e')) or ((deutsch_k='e') and (physik_k='e') and (chemie_k='g') and (biologie_k='e')) or ((deutsch_k='e') and (physik_k='e') and (chemie_k='e') and (biologie_k='g'))) then
         begin
           if (((deutsch_n<=6) and (physik_n<=2) and (chemie_n<=3) and (biologie_n<=3)) or ((deutsch_n<=3) and (physik_n<=6) and (chemie_n<=2) and (biologie_n<=3)) or ((deutsch_n<=3) and (physik_n<=3) and (chemie_n<=6) and (biologie_n<=2)) or ((deutsch_n<=2) and (physik_n<=3) and (chemie_n<=3) and (biologie_n<=6)) or ((deutsch_n<=2) and (physik_n<=6) and (chemie_n<=3) and (biologie_n<=3)) or ((deutsch_n<=3) and (physik_n<=2) and (chemie_n<=6) and (biologie_n<=3)) or ((deutsch_n<=3) and (physik_n<=3) and (chemie_n<=2) and (biologie_n<=6)) or ((deutsch_n<=2) and (physik_n<=3) and (chemie_n<=3) and (biologie_n<=3))) then
             begin
               if ((deutsch_n<6) or (mathematik_n<6) or (englisch_n<6) or (gl_n<6)) then
                 begin
                   if (gesamt<=52) then
                     begin
                       ue11.visible:=true;
                     end;
                 end;
             end;
         end;
     end

  // ^Ü11 überprüfung^
                         else
                           begin
                             if (deutsch_n<=4) and (deutsch_k='e') and (englisch_n<=4) and (englisch_k='a') and (mathematik_n<=4) and (mathematik_k='a') and (physik_n<=4) and (physik_k='e') and (chemie_n<=4) and (chemie_k='e') and (biologie_n<=4) and (biologie_k='e') and (franz_n<=4) and (franz_k='a') and (relligion_n<=4) and (gl_n<=4) and (bwu_n<=4) and (sport_n<=4) and (kunst_n<=4) and (musik_n<=4) and (latein_n<=4) and (wpu4_n<=4) and (wpu2_n<=4) then
                               begin
                                 rsa.visible:=true;
                               end
// ^RSA überprüfung^
                                  else
                                     begin
                                       if (deutsch_n<=4) and (englisch_n<=4) and (mathematik_n<=4) and (physik_n<=4) and (chemie_n<=4) and (biologie_n<=4) and (franz_n<=4) and (relligion_n<=4) and (gl_n<=4) and (bwu_n<=4) and (sport_n<=4) and (kunst_n<=4) and (musik_n<=4) and (latein_n<=4) and (wpu4_n<=4) and (wpu2_n<=4) then
                                         begin
                                           hsa.visible:=true;
                                           hsa2.visible:=true;
                                         end
// ^HSA überprüfung^
                                            else
                                               begin
                                                 ka.visible:=true; //Kein Abschluss
                                               end;
                                     end;
                           end;
end;




OK noch mal:

Wenn ich auf Abschluss berechnen klicke und die Einstellungen so lasse (siehe Bild) geht er jede Zeile durch und zeigt am ende 'Kein Abschluss' an.

Aber wenn ich alle Fächer wo es Kurse gibt, den höchsten Kurs anklicke (E oder A), erfüllt diese Einstellung bei der Überprüfung eine Zeile nicht (ist klar, wegen den Noten '6').
Das Problem hab ich gelöst, indem ich 3 end's unter der Ü11 Überprüfungen raus genommen habe und am ende der Procedur platziert habe.

Aber dann geht die Anfangseinstellung nicht mehr (siehe Bild), da springt das Programm wieder auf end. und zeigt nichts an.
  Mit Zitat antworten Zitat