Announcement

Collapse
No announcement yet.

Auf Komponente zugreifen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Auf Komponente zugreifen

    Hallo,
    ich habe ein TPageControll mit mehreren TTabSheets.
    Jedes TTabsheet soll 20 TLabeledEdit aufnehmen.
    Diese erzeuge ich dynamisch und das klappt auch.
    <pre>
    //zur Info Leu : TLabelededit;
    // tsu : TTabsheet;
    y1u :=46; //Abstand von oben
    xu := 0;
    wu :=290; // Länge des TLabeledEdit
    au := 0;
    tiu:= form8.pc1.PageCount -1; // Anzahl der registerblätter auf dem TPageControl
    for ju :=0 to tiu do // von 1 bis letzten registerblatt
    begin;
    yu := 15;
    xu := 0;
    for iu := 1 to 20 do // 20 TLabeledEdit erzeugen
    begin;
    au:= au+1;
    tsu := form8.pc1.Pages[ju]; // das jeweilge TTabSheet
    leu:= tlabelededit.Create(tsu);
    leu.Parent := tsu; //Parent ist das TTabSheet
    leu.Name := 'Le'+inttostr(au);
    leu.Top := form8.pc1.Top+yu; // TLabeledEdit positionieren
    leu.Left := 2+xu;
    leu.Width := wu;
    leu.Height :=25;
    leu.EditLabel.Caption := 'Lex'+inttostr(au);
    leu.Font.Size := 12;
    leu.Text:='';
    yu := yu+y1u;
    if iu = 10 then // 2. Spalte mit TLabeledEdit beginnen
    begin
    yu := 15;
    xu:=wu +10;
    end;
    end;
    end;
    </pre>

    Wie kann ich jetzt einzelne TLabeledEdit ansprechen und Daten eintragen?

    Hiermit
    tsu := form8.pc1.Pages[x];
    kann ich die einzelnen TTabSheets ansprechen.

    Mit
    TlabeledEdit(Components[2]).Text:= 'Test'
    funktioniert es nicht (obwohl der Compiler sich nicht beschwert und im Trace-Modus die Zeile ohne Erfolg abgearbeitet wird).
    Vielleicht liegt es am Parent?

  • #2
    Hi!<br>
    Probier mal: <br>
    tlabelededit(tsu.findcomponent ( 'Lex1' )).Text := '123';<br>
    <br>
    BYE BERN

    Comment


    • #3
      Danke,
      das war der richtige Tipp.

      Gruß
      Werne

      Comment


      • #4
        Wenn du die Komponenten schon selbst erzeugst, dann kannst du doch auch eine Array-Variable dazu machen.<br>
        <pre>
        LabeledEdits: array [1..20] of tlabelededit;
        </pre>
        Das in der Form platziert (oder ain dynamisches array) und du kannst die Komponenten direkt zugreifen

        Comment

        Working...
        X