![]() |
Re: with sender
Zitat:
Niemals eine Boolsche Variable auf True prüfen. Dies kann auch in die Hose gehen, weil Boolean eigentlich "nur" ein Integer ist und True alles ungleich 0 ist. Dies reicht vollständig:
Delphi-Quellcode:
if MyPanel.Visible then
|
Re: with sender
Kürzer geht's nicht: ;-)
Delphi-Quellcode:
with TPanel(Sender) do Visible := not Visible;
|
Re: with sender
Ja habt ja recht, normal tuh ich das auch nicht, hatte nur grad so schön das Ding einfach aufs erstbeste umgeschreiben, ohne zu denken :wink: (in dem Fall ist die Überprüfung ohnehin hinfällig, weil man niemals auf etwas unsichtbares klicken wird)
Zitat:
Delphi-Quellcode:
außerdem ist das with dann überflüssig (und zudem soll das Wort with ja Leute beißen...)
with (Sender as TPanel) do Visible := not Visible;
Zitat:
|
Re: with sender
Nein, ist definitiv ein Integer
|
Re: with sender
Delphi-Quellcode:
Gibt bei mir 1 aus? Sollte das allerdings tatsächlich 4 Byte groß sein und das Programm lügt mich aus irgendwelchen Fragmentierungsgründen an, hab ich wieder einen Grund mehr, Einstellungen lieber in Sets zu speichern.
procedure TForm1.Button1Click(Sender: TObject);
var aBool: Boolean; begin Showmessage(Inttostr(SizeOf(aBool))); end; |
Re: with sender
Oh, ich muss mich korrigieren.
Du hast natürlich recht. Ein einfacher Boolean hat nur ein Byte. Aus Kompatiblitätsgründen gibt es allerdings noch ByteBool und LongBool. Verzeihung, mein Fehler. |
Re: with sender
Aus der Delphi7-Hilfe:
Zitat:
|
Re: with sender
Also nochmal zusammengefasst:
Delphi-Quellcode:
An passender Stelle, z.B. im FormCreate dann noch setzen:
Procedure TForm1.panelclick(Sender: TObject);
Begin if (Sender as TPanel).BevelOuter = bvRaised then //integraler Typencheck mit as Begin //Typencheck hier schon erfolgt, daher nicht nochmal notwendig //kleiner Performancevorteil, hier zwar nicht relevant, aber trotzdem :) TPanel(Sender).BevelOuter := bvLowered; End Else Begin TPanel(Sender).BevelOuter := bvRaised; End; End;
Delphi-Quellcode:
//edits: aufhübschen ;)
panel1.OnClick := panelclick;
Panel2.OnClick := panelclick; panel3.OnClick := panelclick; [...] |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:42 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