Vraag & Antwoord

Programmeren

[Delphi] Meerdere TEdits dynamisch inlezen.

4 antwoorden
  • Ik weet niet meer zeker of dit kan maar ik wil graag drie TEdits inlezen met bijvoorbeeld een for-loopjes. Array[0] := Edit1.text Array[1] := Edit2.text Array[2] := Edit3.text Maar dan netter met (pseudo) For Array[teller] := Edit.teller; Nou test ik met drie maar hierna wil ik 9x9 TEdits objecten inlezen in een 2D-array. Om dan 81 keer statisch een array positie te gaan inlezen staat zo slordig.
  • Het is alweer eent tijdje geleden dat ik in Delphi gewerkt heb, maar je kan volgens mij een array van TEdits maken, in plaats van een aantal aparte TEdits. Dan zou je ze dus moeten aanmaken in je FormCreate methode. Als je dan je for loopje wilt, krijg je iets van: (pseudo) For Array[teller] := Edit[teller].text;
  • Het probleem zit hem nou net in die variabele met Edit[I]. Of het nu Edit$I oid zou kunnen zijn. Ik zit nu wat te kijken met de optie tags, maar veel verder kom ik niet.
  • Volgens mij begrijp je nog niet wat ik bedoel (anders begrijp ik niet wat jij bedoelt :P) In plaats van dat je dus de TEdits in je designer op je form zet, doe je het volgende als je bijvoorbeeld 5 TEdits wilt maken: - Zet dit bij je globale variabelen: [code:1:e4fddcdf84]Edits : array[1..5] of TEdit;[/code:1:e4fddcdf84] - In de OnCreate van je form zet je het volgende (uiteraard aanpassen aan jouw programma): [code:1:e4fddcdf84]for i:=1 to 5 do begin Edits[i]:=TEdit.Create(naamVanForm); Edits[i].Parent:= naamVanForm; Edits[i].Left:=10; Edits[i].Top:= naamVanForm.Height-(5-i)*40-100; Edits[i].Text:='Edit '+IntToStr(i); end;[/code:1:e4fddcdf84] Nu kan je als je vanuit je programma in een for-loop je Edits wil uitlezen, de notatie Edits[1] t/m Edits[5] gebruiken. [url=http://sheepdogguides.com/dt3a.htm]Hier[/url] staat nog een uitgebreidere uitleg.

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.