Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Gibt es einen Toggle Befehl ? (https://www.delphipraxis.net/87770-gibt-es-einen-toggle-befehl.html)

ebber 5. Mär 2007 21:23


Gibt es einen Toggle Befehl ?
 
Hallo

Gibt es einen Toggle Befehl ?

Ich habe das jetzt so gemacht :

Delphi-Quellcode:

if DLED1.checked then
DLED1.checked:=false
else
DLED1.checked:=true;
Gibt es da irgend einen Befehl der das irgenwie macht ?

MfG

leddl 5. Mär 2007 21:26

Re: Gibt es einen Toggle Befehl ?
 
Im Endeffekt nicht, du kannst deinen Code aber noch deutlich zusammenfassen :zwinker:
Delphi-Quellcode:
DLED1.checked := not DLED1.checked;

katjah 5. Mär 2007 21:28

Re: Gibt es einen Toggle Befehl ?
 
DLED1.checked:=not DLED1.checked;

Christian Seehase 5. Mär 2007 21:37

Re: Gibt es einen Toggle Befehl ?
 
Moin ebber,

Du musst aber aufpassen, dass Du das nicht im OnClick-Ereignis der Checkbox machst, da dieses durch das Setzen der Eigenschaft Checked ausgelöst wird.

IngoD7 5. Mär 2007 23:22

Re: Gibt es einen Toggle Befehl ?
 
Zitat:

Zitat von Christian Seehase
Moin ebber,

Du musst aber aufpassen, dass Du das nicht im OnClick-Ereignis der Checkbox machst, da dieses durch das Setzen der Eigenschaft Checked ausgelöst wird.

Das stimmt.
Allerdings wäre es auch reichlich sinnfrei, es dort einzubauen, weil ein Klick auf die CheckBox den Toggle ja schon von ganz alleine bewirkt. :wink:

Reinhard Kern 6. Mär 2007 01:34

Re: Gibt es einen Toggle Befehl ?
 
Zitat:

Zitat von ebber
Hallo

Gibt es einen Toggle Befehl ?

Ich habe das jetzt so gemacht :

Delphi-Quellcode:

if DLED1.checked then
DLED1.checked:=false
else
DLED1.checked:=true;
Gibt es da irgend einen Befehl der das irgenwie macht ?

MfG

Hallo,

wenn man einen Befehl haben möchte und es gibt ihn noch nicht, dann macht man ihn eben (die Logik wurde ja schon erklärt):

Delphi-Quellcode:
procedure Toggle (var B : boolean);
begin
B := not B;
end;
...
Toggle (DLED1.checked);
Gruss Reinhard

Amateurprofi 6. Mär 2007 02:53

Re: Gibt es einen Toggle Befehl ?
 
Zitat:

Zitat von Reinhard Kern
wenn man einen Befehl haben möchte und es gibt ihn noch nicht, dann macht man ihn eben (die Logik wurde ja schon erklärt):

Delphi-Quellcode:
procedure Toggle (var B : boolean);
begin
B := not B;
end;
...
Toggle (DLED1.checked);
Gruss Reinhard

So mal eben funktioniert das aber nicht.
[Fehler] E2197 Konstantenobjekt kann nicht als Var-Parameter weitergegeben werden

Ghostwalker 6. Mär 2007 05:39

Re: Gibt es einen Toggle Befehl ?
 
Delphi-Quellcode:
  function Toggle(const b:boolean):boolean;
  begin
    result := not b;
  end;


  DLED1.checked := Toggle(DLED1.checked);

Das sollte "mal eben" funktionieren :wink:

marabu 6. Mär 2007 07:10

Re: Gibt es einen Toggle Befehl ?
 
Ganz ehrlich, Ghostwalker: Ehe ich eine Toggle-Funktion schreibe, nehme ich doch lieber den Vorschlag von Katja und Axel:

Delphi-Quellcode:
 with DLED1 do Checked := not Checked;
Keine Frage, es geht so wie du schreibst, aber sinngemäß ist Toggle für mich eine Prozedur.

Freundliche Grüße

leddl 6. Mär 2007 07:16

Re: Gibt es einen Toggle Befehl ?
 
Zitat:

Zitat von marabu
Keine Frage, es geht so wie du schreibst, aber sinngemäß ist Toggle für mich eine Prozedur.

Zum einen das, zum anderen ist
Delphi-Quellcode:
DLED1.checked := Toggle(DLED1.checked);
ja nicht wirklich praktischer als
Delphi-Quellcode:
DLED1.checked := not DLED1.checked;
;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:41 Uhr.
Seite 1 von 2  1 2      

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