Re: Verstehe die Zählschleifen und VCL-Komponenten nicht-Sch
Mit der Zählschleife meinst du vermutlich die for Anweisung, und die Funktioniert so:
Du deklarierst ein Variable vom Typ integer, word oder byte, z.B.:
Delphi-Quellcode:
Dann überlegst du dir, wie oft du eine bestimmte Anweisung oder mehrere wiederholen willst
Var i: integer
nehmen wir mal an, du willst zehnmal ein Messagebox anzeigen, die jeweils um 1 weiterzählt, dann müsstest du folgenden Code anwenden:
Delphi-Quellcode:
Bedeutet:
procedure TForm1.Button1Click(Sender: TObject);
var i: integer; begin for i := 1 to 10 do showmessage(inttostr(i)); end; Setze i auf eins, zeige i wenn i kleiner oder gleich 10 ist, dann zeige i und erhöhe danach Wiederhole Gruß Richard Alle sind schneller als ich... edit: klitzekleiner fehler |
Re: Verstehe die Zählschleifen und VCL-Komponenten nicht-Sch
was ist ein messagebox?
Ich probiers mal. danke |
Re: Verstehe die Zählschleifen und VCL-Komponenten nicht-Sch
wie überredet ich den, dass er die position der checkbuttons ändert?
irgendwas mit nem multiplikator und + hat mein lehrer gesagt *dumm kuck* |
Re: Verstehe die Zählschleifen und VCL-Komponenten nicht-Sch
Also: Prinzipiell recht einfach.
Du musst die Controls halt in einer Schleife erstellen. Will heissen (Achtung: Pseudocode)
Delphi-Quellcode:
Danach hast Du im Array alle boxen und die sind auch auf dem form. Wichtig ist natüprlich dass Du das array auf dem form deklarierst und nicht in der Methode, sonst hängen die Controls irgendwo im Speicher und Du kommst da so einfach nicht mehr dran.
var
i:integer; boxen: array[0..anzahlboxen] of TCheckBox; positionoben: integer; begin for i:=0 to (Anzahl der benötigten Checkboxen) -1 do begin boxen[i] := TCheckBox.Create(form1); boxen[i].Parent := form1; boxen[i].Top := positionoben; positionoben := positionsoben + 2 + boxen[i].height; end; end; |
Re: Verstehe die Zählschleifen und VCL-Komponenten nicht-Sch
aaaaaaalso
was sind controls? und was meinst du mit methode? ich glaub, mit dem code kann ich was anfangen *rumprobieren geht* Danke |
Re: Verstehe die Zählschleifen und VCL-Komponenten nicht-Sch
Eine Messagebox ist eine Meldung, die in einem kleinem Fenster mit OK button ausgegeben wird.
Zu deinem Problem mit den Checkboxen: Du solltest am Besten ein Array deklarieren, in welchem du deine Checkboxen speicherst, zum Beispiel
Delphi-Quellcode:
Jetzt kannst mit der oben genannten Forschleife jede Checkbox erstellen und werte zuweisen
type TCheckBoxArray = Array[0..39] of TCheckbox // oder wieviele du brauchst
{ ... } var CheckBoxArray: TCheckBoxArray; // Eine Variable deines Arrays
Delphi-Quellcode:
Aber Vergiss nicht, die Checkboxen hinterher wider freizugeben mit
procedure TForm1.FormCreate(Sender: TObject);
var i: integer; begin for i := 0 to 39 do // oder deine Anzahl begin // hier ist die Verbundanweisung nötig, da du ja Mehrere Anweisungen innnerhalb der Schleife Machen willst CheckBoxArray[i] := TCheckbox.Create(Form1); CheckBoxArray[i].Parent := Form1; CheckboxArray[i].Height := WasAuchImmer; CheckBoxArray[i].Width := WasAuchImmer2; CheckboxArray[i].Top := i*(WasAuchImmer+1); // Dann sind alle Checkboxen untereinander end; end;
Delphi-Quellcode:
Ich hoffe, das hilft
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
var i: integer; begin For i := 0 to 39 do // oder deine Anzahl CheckBoxArray[i].free; end; |
Re: Verstehe die Zählschleifen und VCL-Komponenten nicht-Sch
ich hab das jetzt so gemacht:
Delphi-Quellcode:
und bekomme ne Fehlermeldung, undefinierter bezeichner n.
procedure TForm1.Button2Click(Sender: TObject);
var n: array[0..49] of TCheckBox; i: integer; n.top: integer; begin for i:=0 to 49 - 1 do begin n[i]:=TCheckbox.Create(Form1); n[i].parent:=Form1; n[i].left:=100; n[i].top:=100; n[i].top:= n[i].top +2 + n[i].hight; n[i].left:= n[i].left +2 + n[i].left; end; dann arraytyp erforderlich unit1 kann nicht compiliert werden außerdem wollte ich nioch frage, warum das aerray sein muss. ich dachte das soll ne menge ein und arrey ist doch ein feld, oder täusce ich mioch da? [edit=SirThornberry]Delphi-Tags gesetzt - Mfg, SirThornberry[/edit] |
Re: Verstehe die Zählschleifen und VCL-Komponenten nicht-Sch
dort oben bei typ dürfen wir leider nichts schreiben ^^
|
Re: Verstehe die Zählschleifen und VCL-Komponenten nicht-Sch
was heißt das freigeben? davon hab ich noch nie gehört ^^ hat die wer gefangen? ;)
|
Re: Verstehe die Zählschleifen und VCL-Komponenten nicht-Sch
unterrichrt ist zuende. danke für die hilfe. habt schon ein stück geholfen *nächste woche wieder auftaucht* aber dann rtst nach 15 uhr ^^
DANKE |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:56 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz