![]() |
Re: Kleines Rechenproblem
Wenn man einen Integer auf Boolean castet ist alles <> 0 = true, aber ein boolsches true wurde bei mir bisher immer nach 1 gecastet, sowie ein false nach 0.
Das wäre imho auch die eleganteste Lösung, gegenüber diesem ganzen if..then..else-Gedönse. Ist auch leichter erweiterbar wenn man eine Checkbox dazu kommt, und man spart eine Menge Konvertierungen. |
Re: Kleines Rechenproblem
bei einer Checklistbox könnte man das ja dann in ne Schleife machen wenn es da nicht so ne Eigenschaft "Count" oder ähnliches gibt. (hatte auch an die Checklistbox gedacht aber hab die ni gefunden und dachte dann das ich mir das vielleicht nur eingebildet hab das es mal sowas gab)
|
Re: Kleines Rechenproblem
Zitat:
Delphi-Quellcode:
function CheckCount(CheckListBox: TCheckListBox): Integer;
var i, c: Integer; begin c := 0; with CheckListBox do for i := 0 to Pred(Count) do if Checked[i] then Inc(c); Result := c; end; |
Re: Kleines Rechenproblem
Mir wird aber der Fehler gemeldet, dass String und Integer inkompatible Typen sind, wenn ich das eingebe:
Delphi-Quellcode:
WARUM ???
procedure TForm2.CheckBox2Click(Sender: TObject);
begin if CheckBox2.Checked then Edit1.Text := IntToStr(StrToInt(Edit1.Text + 1)); end; |
Re: Kleines Rechenproblem
Edit1.Text := IntToStr(StrToInt(Edit1.Text + 1));
wird Edit1.Text := IntToStr(StrToInt(Edit1.Text) + 1); dann gehts |
Re: Kleines Rechenproblem
Das Problem ist das laut Screenshot in dem Editfeld "Edit1" steht. Das Editfeld müsste mit "0" vorbelegt werden oder du nimmst die Lösung:
Delphi-Quellcode:
procedure TForm1.CheckBox1Click(Sender: TObject);
var LKurse: Integer; begin LKurse := 0; if Checkbox1.Checked then inc(LKurse); if Checkbox2.Checked then inc(LKurse); Edit1.Text := inttostr(LKurse); end; |
Re: Kleines Rechenproblem
Hai,
was haltet ihr denn von der Idee für das "Hochzählen" einfach die Eigenschaft .Tag des TEdits zu missbrauchen. Zum einen ist dann egal was in dem Edit steht und zum anderen muss man keine extra Variable deklarieren. |
Re: Kleines Rechenproblem
Dann müsste die Tag-Eigenschaft aber auch jedesmal geändert werden wenn die Checkbox gescheckt bzw. unchecked wird?
|
Re: Kleines Rechenproblem
Zitat:
mir ging es nur darum das man es ohne eine zusätzliche, möglicherweise auch noch globale, Variable machen kann ;-) |
Re: Kleines Rechenproblem
Wenn man sich den Screenshot ansieht weill er ja eigentlich nicht hochzählen sondern anzeigen wieviel checkboxen gecheckt sind. Würde man den wert im Editfeld immer hoch zählen so würde die zahl ja ständig steigen wenn ich die checkbox ein paar mal anklicke und so wie der screenshot aussieht ist das nicht gewollt
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:55 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