Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Pascal: Delphi: Komponenttien haku numeron mukaan

Javehti [28.11.2015 16:29:02]

#

Toimiva koodi on:

edit1.Text := ReadIni('asetus.jni', 'PISTE', 'X01');
edit2.Text := ReadIni('asetus.jni', 'PISTE', 'X02');
edit3.Text := ReadIni('asetus.jni', 'PISTE', 'X03');
edit4.Text := ReadIni('asetus.jni', 'PISTE', 'X04');

mutta millä saisi siistimpään muotoon eli korvattua tämä kopioinnin.
=> edit nimi johonkin matriisiin?

Mod. lisäsi kooditagit ja laittoi järkevän otsikon!

Metabolix [29.11.2015 21:00:28]

#

Voit hakea komponentteja nimen perusteella funktiolla FindComponent. (Komponentin nimi ei välttämättä ole sama asia kuin muuttujan nimi koodissasi, vaikka usein näin onkin.) Jos käytät komponentteja monta kertaa, kannattanee sijoittaa ne taulukkoon. Menisi kai jotenkin näin:

var EditArr: array [1..4] of TEdit;

procedure TForm1.FormCreate(Sender: TObject);
var
  i: Integer;
  c: TComponent;
begin
  for i := 1 to 4 do begin
    c := Form.FindComponent("Edit" + IntToStr(i));
    if c <> nil then EditArr[i] := TEdit(c)
  end
end;

Lisätietoa löytyy netistä hakemalla.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta