![]() |
Re: Checkboxen mit gleichem Boolean-Wert zählen
Ich kann leider nicht den Datenschutz verringern, da es einfach verboten ist. Es ist eine Schulklassenliste mit 29 Namen.
Ich kann ja mal die ganze Prozedur anhängen, vielleicht reicht das ja auch schon (mit den Variablen natürlich)
Delphi-Quellcode:
procedure TForm24.Button13Click(Sender: TObject);
var compo: TComponent; cb: TCheckBox; c2: Integer; begin with Memo1.Lines do begin Clear; Add(data.Caption); Add(''); Add('Stand: ' + standd); Add('Kommentare: ' + Edit1.Text); end; Memo1.Lines.Add(''); c3 := 0; c3 := 1; while c3 < 29 do begin compo := (FindComponent('CheckBox' + IntToStr(c3)) as TCheckbox); if Assigned(compo) then begin cb := compo as TCheckbox; // <-- if cb.CHecked = true then a.Add(cb.Caption + ' hat abgegeben!') else na.Add(cb.Caption + ' hat nicht abgegeben!'); end; inc (c3); // <-- nicht vergessen end; Memo1.Lines.AddStrings(a); Memo1.Lines.Add(''); Memo1.Lines.AddStrings(na); Memo1.Lines.Add(''); Memo1.Lines.Add(Label6.Caption); Memo1.Lines.Add(Label7.Caption); Memo1.Lines.Add(''); Memo1.Lines.Add('Gesamt: ' + IntToStr(ja + nein)); printer.Canvas.Font.Size := 12; if f2 = false then begin for c2 := 0 to memo1.lines.count -1 do Begin printer.canvas.textout( 0, c2 * printer.Canvas.TextHeight( Memo1.Lines[c2] ) , Memo1.Lines[c2]); End; printer.EndDoc; end else f2 := false; end;
Delphi-Quellcode:
Tumm
var
Form24: TForm24; ini: TIniFile; stand: TTime; standd: String; nochmal, f1, f2: Boolean; c1, c2, c3: Integer; ja, nein: SMallInt; Strings: TStrings; i, i2: Integer; d: String; a, na: Tstrings; implementation uses Unit3, Unit1; {$R *.dfm} PS: Die nächsten 2 Stunden bin ich leider nicht on |
Re: Checkboxen mit gleichem Boolean-Wert zählen
Ähm ... ich weiß, es ist Freitag Abend, aber was hat das Printer.Canvas da im Source zu suchen?
Drucken? Dann solltest du evtl. auch ein Printer-Dokument starten, oder nicht?
Delphi-Quellcode:
if not (f2) then
begin printer.BeginDoc; printer.Canvas.Font.Size := 12; for c2 := 0 to memo1.lines.count -1 do Begin printer.canvas.textout( 0, c2 * printer.Canvas.TextHeight( Memo1.Lines[c2] ) , Memo1.Lines[c2]); End; printer.EndDoc; end; Zitat:
Wo springt er ab und springt er hin? nicht etwa evtl. hier?
Delphi-Quellcode:
wenn ja, das kriegst du selbst raus :zwinker:
if Assigned(compo) then
P.S. Formatiere deinen Source mal vernüftig. Was soll denn da durchsehen !? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:02 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