![]() |
Programm macht nicht was es soll!!!
Hi Leute, ich bins wieder, und...richtig, ich habe wieder ein neues problem für euch mitgebracht!!!
ich wollte ein prog machen, das je nach bedingung wieder mal images sichtbar macht..... Die Bedingungen dafür sind, dass die kriterien mit and verknüpft seien sollen.... hier mal mein bisheriger Source Code.....es funzt fast alles, keine fehlermeldungen usw....
Delphi-Quellcode:
Und jetzt kommt das Aber.......
procedure TForm1.Button1Click(Sender: TObject);
begin if ImSun.visible=True And ImMoon.visible=False then // Falls Sonne begin //sichtbar und Mond unsichtbar ImSun.Visible:=False; //Sonne unsichtbar und ImMoon.Visible:=true; //Mond sichtbar machen end else //Falls nicht begin if ImMoon.visible=True And ImSun.visible=False then //mond Sichtbar begin //und Sonne unsichtbar ImSun.Visible:=True; //Sonne wird sichtbar //Mond bleibt sichtbar end else //Falls nicht begin if ImMoon.visible=True And ImSun.visible=True then //Mond UND begin //Sonne sichtbar ImMoon.Visible:=False; //mond wird unsichtbar //Sonne bleibt sichtbar end end end end; end. Wenn der mond sichtbar und die sonne unsichtbar geworden sind sollten ja beide "scheinen"*g*...das bleibt aber aus! :( Ich habe darüber nachgedacht und zur hilfe sogar diese schönen comments dahinter geschrieben, aber irgendwo in dem Source verweigert was seinen dienst.... Bitte postet was, falls ihr was wisst!!! Simor |
Re: Programm macht nicht was es soll!!!
Moin Simor,
trenn' Dich mal davon boolsche Werte mit = zu prüfen. Mach' mal aus visible = true einfach ein visible, und aus visible = false ein not visible. z.B.
Delphi-Quellcode:
// aus
if ImSun.visible=True And ImMoon.visible=False then // wird if ImSun.visible And not ImMoon.visible then |
Re: Programm macht nicht was es soll!!!
Danke für den Tipp, werd mich dran halten....
Ne lösung hat noch keiner oder wird erstmal copy & waste gemacht und ausprobiert 8) Nadenn, bis nachher! |
Re: Programm macht nicht was es soll!!!
Hm, versuche mal folgenden Code
Delphi-Quellcode:
...:cat:...
procedure TForm1.Button1Click(Sender: TObject);
begin if ImSun.visible and ImMoon.visible then begin //Sonne und Mond sind sichtbar ImMoon.Visible:=False; //mond wird unsichtbar //Sonne bleibt sichtbar end else if ImSun.visible then begin //Sonne ist sichtbar ImSun.Visible:=False; //Sonne unsichtbar ImMoon.Visible:=true; //Mond sichtbar end else if ImMoon.visible then begin //Mond ist sichtbar ImSun.Visible:=True; //Sonne wird sichtbar //Mond bleibt sichtbar end else begin //Sonne und Mond sind unsichtbar ImSun.Visible:=True; //Sonne sichtbar ImMoon.Visible:=true; //Mond sichtbar end end; end. |
Re: Programm macht nicht was es soll!!!
Delphi-Quellcode:
So wie Du es gemacht hast passiert folgendes:
procedure TForm1.Button1Click(Sender: TObject);
begin if ImSun.Visible And not ImMoon.visible then // Wemm Sonne aber kein Mond begin ImSun.Visible:=False; // dann Sonne aus und Mond an ImMoon.Visible:=true; end else begin if ImMoon.visible And Not ImSun.visible then // Wenn Mond aber kein Sonne begin ImSun.Visible:=True; // dann Sonne an und Mond bleibt an end else begin if ImMoon.visible And ImSun.visible then // Wenn beide sichtbar begin ImMoon.Visible:=False; // Dann Mond aus end end end end; end. 1. Wenn Sonne an und Mond aus, dann Sonne aus und Mond an. 2. Wenn Mond an und Sonne aus, dann Sonne an und Mond bleibt an. 3. Wenn Mond an und Sonne an, dann Mond aus und Sonne bleibt an. Was ist jetzt genau Dein Problem ? |
Re: Programm macht nicht was es soll!!!
Zitat:
Sehr aussagekräftig ist der Titel nicht. Ich würde dir ja gerne helfen, aber aus der Problembeschreibung werde ich auch nicht schlauer, als aus dem Titel. Zitat:
Zitat:
|
Re: Programm macht nicht was es soll!!!
Das Prog macht genau das was du ihm gesagt hast.
den so hast du's geschrieben:
Delphi-Quellcode:
und so setzt Delphi die Klammern:
if ImSun.visible = True and ImMoon.visible = False then
if ImMoon.visible = True and ImSun.visible = False then if ImMoon.visible = True and ImSun.visible = True then
Delphi-Quellcode:
if ((ImSun.visible = True) and ImMoon.visible) = False then
if ((ImMoon.visible = True) and ImSun.visible) = False then if ((ImMoon.visible = True) and ImSun.visible) = TruE then wenn du schon auf diese Weise schreiben willst, solltest du die Klammern nicht vergessen:
Delphi-Quellcode:
if (ImSun.visible = True) and (ImMoon.visible = False) then
if (ImMoon.visible = True) and (ImSun.visible = False) then if (ImMoon.visible = True) and (ImSun.visible = True) then |
Re: Programm macht nicht was es soll!!!
Moin Simor,
die von mir vorgeschlagenen Änderungen führen ja dazu, dass es funktioniert ;-) |
Re: Programm macht nicht was es soll!!!
Jetzt posten schon zwei Moderatoren in diesem Thread und erst dem dritten (ein aufgewecktes Kerlechen übrigens 8) ), fällt auf, dass die Überschrift nicht sehr aussagekräftig ist. :roll:
Also SimOr, beim nächsten mal bitte eine etwas aussagekräftigere Überschrift wählen, danke. |
Re: Programm macht nicht was es soll!!!
Ok luckie, ich werd mich dran halten....
So, zu sllen anderen die mein problem nicht verstanden haben...... 1. wenn die sonne scheint ist der mond aus... 2. danach wird die sonne unsichtbar und der Mond sichtbar. 3. danach SOLLTEN beide sichtbar sein, aber das war eben in meinem ersten source nicht der Fall... der mod blieb sichtbar und die sonne wurde nicht sichtbar....und egal wie oft ich geklickt habe, der mond blieb beharlich sichtbar und die sonne verweigerte ihren "dienst"! Heute komm ich nicht mehr dazu das ganze zu compiliern, aber ich werde morgen posten obs bei mir gefunzt hat....sollte aber :!: Bis dann, g8 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:55 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz