![]() |
Re: Verstehe die Zählschleifen und VCL-Komponenten nicht-Sch
Delphi-Quellcode:
sollte so klappen
procedure TForm1.Button2Click(Sender: TObject);
var n: array[0..49] of TCheckBox; i: integer; n.top: integer; // Das kannst du nicht machen begin for i:=0 to 49 - 1 do // von 0 bis 49 heißt 50, die -1 ist überflüssig begin n[i]:=TCheckbox.Create(Form1); n[i].parent:=Form1; n[i].width := 90; // beispielwerte, ist aber nötig, sonst kann man die nicht sehen n[i].height := 30; n[i].left:=100; // übverflüssig s.u. n[i].top:=100; // überflüssig, da du direkt danach den Wert neu setzt n[i].top:= 102 + n[i].height*i; // sonst würde trotzdem jede Checkbox an der Gleichen stelle sein n[i].left:= 102 + n[i].width*i; n[i].show; // hatte ich vergessen, sorry end; Das mit dem freigeben musst du machen, weil du mit dem aufruf
Delphi-Quellcode:
Speicherplatz für die Checkbox reservierst. Wenn du diesen Speicherplatz beim Beenden des Programms nicht freigibst, dann kann er nicht mehr genutzt werden => Speicherleck
n[i] := TCheckbox.Create;
ps: Es gibt übrigens die Edit Funktion, es ist nicht nötig 3 Beiträge hintereinander zu schreiben... |
Re: Verstehe die Zählschleifen und VCL-Komponenten nicht-Sch
Also ,
eigentlich must du sie nicht freigeben weil die ja das Formular als Besitzer (Owner) haben können.... Ehrlich gesagt glaube ich nicht das Du Delphi in einem Forum lernen kannst. Es ist auch etwas mehr Engagement nötig um das zu lernen (Lese bitte (auch) ein Buch). Jeder beantwortet Dir hier gerne deine Fragen. Leider sind die meisten nicht daran interresiert jemandes Hausaufgaben zu machen, auch wenn wir alle mal was abgeschrieben haben. (Die Perspektive ändert sich wenn man die Schule hinter sich hat... :P ) zu Was sind... Controls sind die Dinge die man auf ein Formular legt oder dort erzeugt. Controls sind also alle visuellen Componenten deines Programms. Wir nennen Sie so weil sie alle von eine Klasse namens TControl erben. |
Re: Verstehe die Zählschleifen und VCL-Komponenten nicht-Sch
Guten Tag :)
Hab heut ne andre Aufgabe bekommen, um meine Noten aufzubessern. Bin schon recht eit, abre was bedeutet die Fehlermeldung inkompatible Zypen integer und extendet? ansonsten scheint alles richtig zu sein. LG Engel |
Re: Verstehe die Zählschleifen und VCL-Komponenten nicht-Sch
Du vergleichst irgendwo in deinem Programm einen Zeiger mit einem Gleitkommawert, das geht nicht...
|
Re: Verstehe die Zählschleifen und VCL-Komponenten nicht-Sch
Tormentor32 meinte eher, dass du irgendwo in deinem Programm einen Ganzzahlwert (=integer-Typ) mit einem (Gleit-)Kommawert (=extended-Typ) vergleichst, was nicht geht. Zuvor solltest du also den Integer-Wert einfach mal mit 1.0 multiplizieren. Dadurch wird aus diesem nämlich auch ein Kommawert und die Sache müsste eigentlich klappen.
PS. Ansonsten: Bei neuen Fragen ruhig einen neuen Thread aufmachen. |
Re: Verstehe die Zählschleifen und VCL-Komponenten nicht-Sch
Zitat:
Zitat:
|
Re: Verstehe die Zählschleifen und VCL-Komponenten nicht-Sch
Zitat:
Das geht nicht. Du must entweder Deine Integer in Kommazahlen konvertieren oder Deine Kommazahlen in Integer konvertieren. Mit Round(3.2) wandelst Du z.B. den Extented Wert (3.2) in einen Integer (2) um. Dieser Vorgang wird auch Runden genannt. ;-)
Delphi-Quellcode:
// mach aus der Kommazahl e eine Ganzzahl i
i := Round(e); |
Re: Verstehe die Zählschleifen und VCL-Komponenten nicht-Sch
Sorry, ich war zu langsam :-(
(sollte da nicht ein roter Kasten/Hinweis kommen?) |
Re: Verstehe die Zählschleifen und VCL-Komponenten nicht-Sch
Zitat:
|
Re: Verstehe die Zählschleifen und VCL-Komponenten nicht-Sch
Nein Jakommt nicht raus, grade ausprobiert...
edit: so doof muss man erstmal sein: Will ausprobieren, was bei round(2.2) rauskommt und schreibt hin: round(3.2) :wall: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:30 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