Autor |
Beitrag |
Yoshi1991
Hält's aus hier
Beiträge: 5
|
Verfasst: Mo 09.02.09 19:21
Hi
Ich wollte mal wissen ob ich es irgendwie einrichten kann das ein bestimmtes ereigniss eintritt wenn ein Bild unsichtbar ist und ein anderes ereigniss wenn das Bild sichtbar ist.
Mein genaues Anliegen ist eigentlich:
Ich habe 2 Bilder und einen Button.
Wenn ich auf den Button klicke und das Bild-1 gerade sichtbar ist dann soll das Bild-2 sichtbar werden.
Wenn ich auf den Button klicke und das Bild-1 gerade unsichtbar ist soll es sichtbar werden (aber nicht Bild-2)
Ich habe bereits folgendes versucht:
Delphi-Quelltext 1: 2:
| if Picture1.hide then Picture1.show; if Picture1.show then Picture2.show; |
das hat jedoch nicht funktioniert
Moderiert von Narses: Delphi-Tags hinzugefügt
|
|
Narses
      

Beiträge: 10183
Erhaltene Danke: 1256
W10ent
TP3 .. D7pro .. D10.2CE
|
Verfasst: Mo 09.02.09 19:28
Moin und  im Forum!
Yoshi1991 hat folgendes geschrieben : | Ich habe 2 Bilder und einen Button. |
Kurz, du möchtest mit einem Button verschiedene Aktionen auslösen. Dazu haben wir was in der Library, Beispiel B.
cu
Narses
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|
jaenicke
      
Beiträge: 19311
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Mo 09.02.09 19:40
|
|
Jens Hartmann
      
Beiträge: 120
XP
Delphi
|
Verfasst: Mo 09.02.09 19:42
Hallo,
So in die Richtung etwa:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| procedure TForm1.Button1Click(Sender: TObject); begin if Picture1.Visible = true then begin Irgendwas... end else begin Irgendwas anderes... end; end; |
|
|
Yoshi1991 
Hält's aus hier
Beiträge: 5
|
Verfasst: Mo 09.02.09 19:45
ok danke^^
das hilft mir weiter
mit dem was Narses geschrieben hat werd ich mich später beschäftigen weil ich noch nicht so weit mit delphi-lernen bin^^
aber das mit dem visible is klasse
|
|
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mo 09.02.09 19:59
Aber bitte nicht auf true abfragen. So ist es kürzer und fehlerunanfälliger:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| procedure TForm1.Button1Click(Sender: TObject); begin if Picture1.Visible then begin Irgendwas... end else begin Irgendwas anderes... end; end; |
|
|
Jens Hartmann
      
Beiträge: 120
XP
Delphi
|
Verfasst: Mo 09.02.09 20:01
Kürzer versteh ich jetzt, aber warum Störunanfälliger?
|
|
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mo 09.02.09 20:07
|
|
jaenicke
      
Beiträge: 19311
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Mo 09.02.09 20:09
Das klappt nicht immer, denn ein Wahrheitswert, der als wahr interpretiert wird, muss nicht gleich der Konstante True sein. 0 ist False, alles andere True. Die Konstante True, mit der du vergleichst, ist aber nur einer dieser Werte:
www.delphi-treff.de/...olean-werten/page/4/
Denn es gibt ja keine 1 Bit Werte, auch ein boolscher Wert ist 1 Byte groß.
Beispiel (etwas konstruiert, aber das passiert auch wirklich, z.B. bei API Rückgabewerten): Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| var a: Boolean; c: PByte; begin c := @a; c^ := Byte(-1); if a then ShowMessage('Ja') else ShowMessage('Nein'); if a = True then ShowMessage('Ja') else ShowMessage('Nein'); | Ergebnis: Es wird nacheinander Ja und Nein angezeigt. Der Vergleich mit True schlägt fehl...
Zuletzt bearbeitet von jaenicke am Mo 09.02.09 20:52, insgesamt 1-mal bearbeitet
|
|
Jens Hartmann
      
Beiträge: 120
XP
Delphi
|
Verfasst: Mo 09.02.09 20:19
Juh, Verstanden.
Habe es ausprobiert. Dachte bis lang, das Bool immer nur 1 oder 0 sein kann (Digitaltechnik Elektrotechnik)
Naja,
Danke für´s belehren.
|
|