AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

if ... or ... else - Anwendungen

Ein Thema von de_arg · begonnen am 1. Jan 2004 · letzter Beitrag vom 4. Jan 2004
Antwort Antwort
Seite 3 von 3     123   
MathiasSimmack
(Gast)

n/a Beiträge
 
#21

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

  Alt 2. Jan 2004, 10:53
Nachtrag:

Ich weiß nicht, ob´s der Fehler ist, aber du hast einen Dreher drin: In deinem Posting auf Seite 1 prüfst du zuerst die Kurse Deutsch, Englisch und Mathe, und dann noch mal Deutsch, Physik, Chemie und Bio.
In deinem angehangenen Programm (auch zu sehen in der geposteten Unit) prüfst du zuerst Deutsch, Physik, Chemie und Bio, und dann Deutsch, Englisch und Mathe.

Vielleicht macht´s auch keinen Unterschied ... ... Aber wenn ich davon ausgehe, dass der Code auf Seite 1 richtig ist, dann müsste deine Bedingung mit den Hilfsvariablen eigentlich so aussehen:
Delphi-Quellcode:
if ue11_2 then
begin
  if ue11_1k then
  begin
    if ue11_1n then
    begin
      if ue11_3 then
      begin
        if (gesamt<=52) then
        begin
          ue11.visible:=true;
        end;
      end;
    end;
  end;
end
oder kürzer:
Delphi-Quellcode:
if ue11_2 then
begin
  ue11.Visible := (ue11_1k) and (ue11_1n) and (ue11_3) and (gesamt <= 52);
end
Und dann hast du trotzdem noch eine Bedingungsprüfung mit einem Haufen ANDs und ORs:
Delphi-Quellcode:
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 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
Siehst du auch, was ich sehe? Die Noten sind alle <= 4, in der oberen Bedingung prüfst du lediglich noch ein paar Kurse. Also, kürzen:
Code:
WasIsnDas2 := (deutsch_n<=4) [b]and[/b] (englisch_n<=4) [b]and[/b]
  (mathematik_n<=4) [b]and[/b] (physik_n<=4) [b]and[/b] (chemie_n<=4) [b]and[/b]
  (biologie_n<=4) [b]and[/b] (franz_n<=4) [b]and[/b] (religion_n<=4) [b]and[/b] (gl_n<=4) [b]and[/b]
  (bwu_n<=4) [b]and[/b] (sport_n<=4) [b]and[/b] (kunst_n<=4) [b]and[/b] (musik_n<=4) [b]and[/b]
  (latein_n<=4) [b]and[/b] (wpu4_n<=4) [b]and[/b] (wpu2_n<=4);

WasIsnDas1 := [color=#ff0000](WasIsnDas2)[/color] [b]and[/b] (deutsch_k='e') [b]and[/b] (englisch_k='a') [b]and[/b]
  (mathematik_k='a') [b]and[/b] (physik_k='e') [b]and[/b] (chemie_k='e') [b]and[/b]
  (biologie_k='e') [b]and[/b] (franz_k='a');
Und damit sieht´s bloß noch so aus:
Delphi-Quellcode:
if WasIsnDas1 then begin
  rsa.Visible := true
end else begin
  if WasIsnDas2 then
Wenn das alles deine Probleme nicht löst, dann solltest du noch mal in diesen Dokumenten nachschauen, ob du die Berechnungen wirklich richtig übernommen hast.

Ein Wort noch zu den "OnChange"-Ereignissen deiner Scrollbars. Du hast im Objektinspektor den Bereich der Scrollbars von 1 bis 6 festgelegt. Es besteht daher eigentlich keine Notwendigkeit, diesen Bereich in den "OnChange"-Ereignissen noch mal festzulegen - es sei denn, der Bereich wird irgendwo im Programm geändert; was bei dir allerdings nicht der Fall ist.

Und ein simples
Code:
[b]if[/b] CB_Franz.checked[color=#ff0000][s]=true[/s][/color] [b]then[/b]
genügt ebenfalls.

Und zu guter Letzt: Ein Label würde auch genügen. Je nach erfüllter Bedingung könntest du es beschriften:
Delphi-Quellcode:
if(Irgendeine_Bedingung) then
  Label1.Caption := 'Irgendeine Bedingung ist erfüllt'
else
  Label1.Caption := 'Irgendeine andere Bedingung ist erfüllt'
Dann brauchst du nicht mit dem Verstecken und Anzeigen der verschiedenen Labels hantieren.
  Mit Zitat antworten Zitat
de_arg

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

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

  Alt 4. Jan 2004, 00:03
Abend MathiasSimmack!


Ich habe jetzt alles gemacht was hier vorgeschlagen wurde, außer

Delphi-Quellcode:
if(Irgendeine_Bedingung) then
  Label1.Caption := 'Irgendeine Bedingung ist erfüllt'
else
  Label1.Caption := 'Irgendeine andere Bedingung ist erfüllt'
weil die verschiedenen Texte alle nicht in der Mitte sind


und


Zitat:
Ein Wort noch zu den "OnChange"-Ereignissen deiner Scrollbars. Du hast im Objektinspektor den Bereich der Scrollbars von 1 bis 6 festgelegt. Es besteht daher eigentlich keine Notwendigkeit, diesen Bereich in den "OnChange"-Ereignissen noch mal festzulegen - es sei denn, der Bereich wird irgendwo im Programm geändert; was bei dir allerdings nicht der Fall ist.
Wenn ich die festlegung im QT weg lasse, kommt beim berechnen (Standart einstellung) HSA raus.


Aber die Fehler ist immer noch da!
Hier noch mal der Fehler genau:

Wenn alle Fächer die Note 6 haben und alle Kurse auf E bzw. A gestellt sind wird nach der Berechnung nichts angezeigt.
Aber wenn ich Englisch auf C oder Englisch und Mathematik jewels auf B stelle 'Kein Abschluss' angezeigt.

Ich finde aber den Fehler nicht...

Wer kann mir noch helfen?



Hier auch der neue QT (ist in diesem QT noch was unschön???):
Angehängte Dateien
Dateityp: txt neuer_qt.txt (14,3 KB, 3x aufgerufen)
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#23

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

  Alt 4. Jan 2004, 08:06
Sag mal, @de_arg, ist das irgendwie ein Problem für dich, solche überbreiten Zeilen (wide code )
gesamt := ((deutsch_n) + (englisch_n) + { ... }; so in den Delphi-Editor zu schreiben, dass du den Rand auf der rechten Seite nicht überschreitest? Sobald du dich ihm näherst und der nächste Wert nicht mehr hinpassen würde, drücke Enter, rücke in der nächsten Zeile zwei Zeichen ein und schreib weiter. Dann hast du einen Beitrag, der auch für das Forum hier akzeptabel ist, und bei dem man nicht nach links und rechts scrollen muss!

Abgesehen davon brauchst du bei einer normalen Addition, wie der o.g., nicht mal Klammern.

Meine Güte.
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#24

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

  Alt 4. Jan 2004, 08:14
Hai,

bitte in Zukunft nicht mehr diese überlangen Postings machen!
Der Quellcode kann auch bequem als Anhang hinzugefügt werden!
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#25

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

  Alt 4. Jan 2004, 08:15
Noch ein bisschen Senf von meiner Seite


Ausserdem ist es quatsch immer den ganzen Source zu schreiben. Da blickt man ja nix mehr. Es würde langen wenn du nur das schreibst was du sagen willst.
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#26

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

  Alt 4. Jan 2004, 09:24
Ja, kann ein Mod denn mal den Quellcode rauswerfen?
de_arg kann seine aktuelle Unit für Interessenten ja noch mal anhängen.
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#27

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

  Alt 4. Jan 2004, 09:31
Zitat von MathiasSimmack:
Ja, kann ein Mod denn mal den Quellcode rauswerfen?...
Hai Mathias,

ohne Einverständniss ändere ich ungerne ein Posting. Ich habe de_arg aber via PM gebeten dies selber zu machen.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#28

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

  Alt 4. Jan 2004, 09:42
Das kann ich zwar verstehen, Sharky, auf der anderen Seite ist es IMHO nicht schlimm, die beiden Units aus den Postings zu entfernen. de_arg hat jederzeit die Möglichkeit, seine Unit noch mal anzuhängen - es ist also nicht so, dass er nun gesperrt werden würde, o.ä.
Und ich hab´ das neue Posting (von heute) nur überflogen, aber soviel scheint sich nicht geändert zu haben.

@de_arg: Wenn du trotz allem den Fehler immer noch drin hast, dann schau dir doch einfach noch mal diese Dokumentationen an, auf die du gelinkt hast. Ich meine, irgendwo musst du ja die Berechnungen gefunden haben, mit denen darüber entschieden wird, welchen Abschluss jemand hat. Vielleicht ist dir dabei ein Fehler unterlaufen.
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#29

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

  Alt 4. Jan 2004, 10:39
Hi!

Ich steig durch deinen Code einfach nicht durch und da du wahrscheinlich auch den Durchblick verloren hast (wenn du einfach mal 3 end woanders hinsetzt), würde ich dir folgende methode empfehlen.

Entferne dich möglichst weit von deinem Computer, nimm ein möglichst leeres Blatt und einen gutschreibenden Stift und dann zeichnest du dir erstmal diese ganzen Verzweigungen und Bedingungen neu auf, gehst jeden Fall ein paarmal durch, verwendest die angesprochenen Hilfsvariablen und wenn es dann auf dem Papier gudd aussieht, dann kannst du es (strukturiert) abtippen und schauen, ob es geht. Sollte es dann nicht gehen, kannst du bestimmt schneller den Fehler finden oder ihn zumindest eingrenzen und die Frage hier posten.

Aber dieser "Papier-Plan" kann wahre Wunder erfüllen. Glaubs mir.

Ciao fkerber

[Edit]
Ich stelle gerade fest, dass ich die komplette 2. Seite bisher überlesen hatte, also denkt euch mein Posting ans Ende der 1. Seite, da passt es besser
aber ich denke mal allgemein stimmt es wohl.
[/Edit]

[Edit2]
Ich stelle grad fest, dass du einige Bedingugen überprüfst, wo die Note <=6 sein soll, was soll sie denn anderes sein? 6 ist doch das höchste, oder?
Somit könnten die eigentlich wegfallen, oder?
[/Edit2]
Frederic Kerber
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:01 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz