![]() |
AW: Hä? Warum ist das Ändern von Checked ein Click?
Zitat:
|
AW: Hä? Warum ist das Ändern von Checked ein Click?
Delphi-Quellcode:
gehört sowieso in garkeine Delphiversion rein.
if ... = True then
|
AW: Hä? Warum ist das Ändern von Checked ein Click?
Hallo,
@Uwe Rabe: Zitat:
@himitsu Zitat:
Liebe Grüße Klaus Schaaff |
AW: Hä? Warum ist das Ändern von Checked ein Click?
Minimierte Beispiele, sind eben nicht immer naturgeträu.
z.B. BOOL aus WinAPIs ist 32 Bit / 4 Byte groß und wird dann auf das 1 Byte (Boolean) umgebrochen, was aber eben im Delphi auch nicht ganz genau dem ByteBool entspricht. Unter Windows ist die Konstante "True" z.B. -1, aber im Pascal bzw. Delphi ist es +1. Boolean ist nunmal eben nicht 1 Bit, was wirklich ausschließlich 0 und 1 kennen würde. Außerdem kann ein Boolean eben aus anderen Werten gekastet generiert sein in C-Sprachen und z.B. Javascript geht auch ein
Delphi-Quellcode:
, wobei I = Integer ... alles <> 0 ist nunmal "True".
if (i)
Delphi-Quellcode:
var B: Boolean;
//B := Boolean(0); // immer False (aber geht auch nicht anders) B := Boolean(2); // eigentlich "True", aber eben nicht genau das "eine" True if B = True then ShowMessage('True') else if B = False then ShowMessage('False') else ShowMessage('auch True'); if B then ShowMessage('True') else if not B then ShowMessage('False') else ShowMessage('nie'); |
AW: Hä? Warum ist das Ändern von Checked ein Click?
Zitat:
|
AW: Hä? Warum ist das Ändern von Checked ein Click?
Nja, bissl blöd lief wohl, dass es normal "unsichtbar" ist und es somit auch kaum jemand sah.
Gerade bei der CheckBox spräche ja nichts dagegen, dass endlich mal published zu machen. ![]() Uwe :stupid: |
AW: Hä? Warum ist das Ändern von Checked ein Click?
Ich fände es auch gut, wenn es eine passende globale Einstellung gäbe. Allerdings könnte die natürlich auch zu Irritationen führen.
Zitat:
Zitat:
Sagst du denn dann auch im echten Leben: Wenn "das Wetter ist schön" wahr ist, gehe ich zum Fußballspielen. Wenn nicht, was macht es dann für einen Sinn, das im Quelltext so verklausuliert zu schreiben, unabhängig von den möglichen Fehlern? Beispiel getestet mit Delphi 1 (mit zusätzlich BoolToStr, das es dort noch nicht gibt) bis 7:
Delphi-Quellcode:
function Example(const AValue: string): Boolean;
begin Result := Boolean(CompareStr(AValue, 'Test')); end; procedure TForm1.Button1Click(Sender: TObject); begin ShowMessage('Echter Wert: ' + BoolToStr(Example('TestNix'), True) + sLineBreak + 'Manuelle Auswertung: ' + BoolToStr(Example('TestNix') = True, True)); end; |
AW: Hä? Warum ist das Ändern von Checked ein Click?
Zitat:
Ein sichtbares, bzw. wirklich nutzbares Property an den CheckBoxen wäre schon nett. :-D Aber joar, vielleicht eine Einstellung in den IDE-Settings und Projekt-Settings, wo man das Default festlegen kann, für neue CheckBoxen. |
AW: Hä? Warum ist das Ändern von Checked ein Click?
Hallo,
@Uwe Raabe @jaenicke ich habe StdCtrls.pas in allen Versionen von Delphi 5 bis Delphi 10 duchsuchen lassen nach 'ClicksDisabled' und 'FClicksDisabled'. Keine der Versionen von TCustomCheckBox enthält diese property. Eine Frage bleibt offen, die ich nicht exakt beantworten kann. Hatten Updates dieser Delphi Versionen vielleicht doch TCustomCheckBox property ClicksDisabled eingebunden? Ich finde es schade, dass es kein offizielles Tool gibt, um diese Fragen korrekt zu bentworten. Dagegen haben TButtonControl und TRadioButton ClicksDisabled. Ein Kuriosum gibt es dennoch:
Delphi-Quellcode:
Das ist die einzige Stelle.
procedure TCustomCheckBox.SetState(Value: TCheckBoxState);
begin if FState <> Value then begin FState := Value; if HandleAllocated then SendMessage(Handle, BM_SETCHECK, Integer(FState), 0); if not ClicksDisabled then Click; // <- Hier end; end; In Delphi wurden schon immer Quelltext-Dateien *.pas mit leicht verändertem Code ausgeliefert, als die complierten *.dcu. Das scheint ein solcher Fall zu sein. Alle Versuche mit Casts TButtonControl(CheckBox1).ClicksDisabled führten zu nichts, auch Debug dcu's dazu zuschalten brachten keinen Erfolg. Vielleicht hat jemand eine Idee, wie man doch zu CheckBox1.ClicksDisabled kommt. Liebe Grüße Klaus Schaaff |
AW: Hä? Warum ist das Ändern von Checked ein Click?
Zitat:
Wie schon geschrieben, die TCheckBox funktioniert mit ClicksDisabled seit Delphi 4 so. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:19 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