Du kan også bruge Components array'en som er en del af TComponent:
var i : integer; Edit : Tedit; begin MyArray[0] := 0; for i := 0 to Panel1.ComponentCount - 1 do if (Panel1.Components[i] is TEdit) then begin Edit := (Panel1.Components[i] as TEdit); MyArray[Edit.Tag] := MyArray[Edit.Tag] + aVar * StrToInt(Edit.Text); end; // if end;
Jeg bruger den Tag-property, som alle komponenter har, til at angive hvilket indeks værdien skal smækkes i. I ovenstående virker det dog kun hvis komponenterne læses i rette rækkefølge.
Den med en array af TEdits kom jeg også på lidt senere. Jeg tænkte dog på en TList / TObjectList i stedet (elsker når det er dynamisk). Det minder meget om Components-listen, men rækkefølgen ville være sikker.
Jeg er blevet lidt interesseret i at høre hvad du har gang i. Umiddelbart så kunne jeg tro, at et gennemløb af tallene, placeret i en TListBox, ville være smukkere - men jeg kender som sagt ikke dit projekt...
Ang. LeifJs' sidste kommentar. Delphi anbefaler at man bruger 'Free' i stedet for at kalde 'Destroy' direkte. Der er ikke den store forskel, men 'Free' kontrollerer om objektet der frigives, overhovedet er oprettet (self <> nil).
dummy:=edit1.text; for i:=0 to 6 do array[i] := Array[i] + var*strtoint(dummy([i]);
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.