Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#8

Re: Problem mit Code, seit Komponente zur Laufzeit erstellt

  Alt 5. Feb 2009, 08:58
Delphi-Quellcode:
  //Checkbox BracketOpen
  Setlength(BracketOpen, zaehler + 1);
  BracketOpen[zaehler] := TCheckBox.Create(self);
  BracketOpen[zaehler].Parent := GroupBoxesItem[zaehler];
  BracketOpen[zaehler].Left := 0;
  BracketOpen[zaehler].Top := -4;
  BracketOpen[zaehler].Width := 30;
  BracketOpen[zaehler].Height := 22;
  BracketOpen[zaehler].Caption := '(';
  BracketOpen[zaehler].Font.Bold := false;
  BracketOpen[zaehler].OnChange := CheckboxSettingsChange;


Procedure TForm1.CheckBoxSettingsChange(Sender: TObject);
  Var i: Integer;

  Begin
    If Sender is TCheckBox Then
      If TCheckBox(Sender).Checked Then Begin
        TCheckBox(Sender).Font.Color := clRed;
        TCheckBox(Sender).Font.Bold := True;
      End Else Begin
        TCheckBox(Sender).Font.Color := clBlack;
        TCheckBox(Sender).Font.Bold := False;
      End;
   End;
wenn du .Name sonst nirgend's verwendet, kanst du auch Voreingestellten verwenden (hast dann kein Problem mit eventuellen doppelten Namen)

Das mit GroupBoxesItem[zaehler] ist richtig so?
(jedem GroupBoxesItem ein BracketOpen?)

Delphi-Quellcode:
if x=true then begin ... end else if x=false then begin ... end; // falsch
if x then begin ... end else if not x then begin ... end; // richtig
if x then begin ... end else begin ... end; // besser
wenn du schon auf True prüfst, brauchst'e nicht nochmal auf False prüfen (wenn es nicht True war, "kann" es nu noch False sein ... zumindestens wenn du richtig prüfst, was heißt, prüfe NIEMALS auf True ... da gibt's hier genug Threads, wo die Erkläung drinsteht, warum nicht.)


verwendest du die Variable BracketOpen noch sonst irgendwo?
(wenn nicht, dann könnte man diese auch weglassen)

[edit]
TCheckBox und nicht TCheckCox
$2B or not $2B
  Mit Zitat antworten Zitat