![]() |
EditBoxen mit Schleifen verbinden. Geht das?
Hi Leute
Hab noch einmal eine Frage und zwar wollt ich meinen Quelltext gewaltig kürzen. Und zwar hab ich ein Array und 15 Editboxen. Jetzt hab ich diesen Quelltext:
Delphi-Quellcode:
Kann man das nicht irgendwie kürzen indem man hinter "Edit" (da wo die Zahl hinkommt) ne Variable hinsetzt?
schueler[0] := StrToInt(Edit2.Text);
schueler[1] := StrToInt(Edit3.Text); schueler[2] := StrToInt(Edit4.Text); schueler[3] := StrToInt(Edit5.Text); schueler[4] := StrToInt(Edit6.Text); schueler[5] := StrToInt(Edit7.Text); //...usw Ungefähr in dieser Form.
Delphi-Quellcode:
Soll halt Variable "i" um 2 erhöhen, damit die richtige Editbox dem richtigen Array zugeordnet wird.
for i := 0 to 15 do
begin schueler[i] := StrToInt(Edit[i+2].Text); end; Gibts da irgendiene Möglichkeit? Oder gibts ne Alternative Als Fehler kommt: [Fehler] Unit3.pas(112): Undefinierter Bezeichner: 'Edit' |
Re: EditBoxen mit Schleifen verbinden. Geht das?
![]() |
Re: EditBoxen mit Schleifen verbinden. Geht das?
Delphi-Quellcode:
[edit] Dann halt noch nach TEdit casten für die Besserwisser :tongue: [/edit]
for i := 0 to 15 do
begin schueler[i] := StrToInt((FindComponent('Edit' + IntToStr(i+2)) as TEdit).Text); end; |
Re: EditBoxen mit Schleifen verbinden. Geht das?
HI,
ja ne Möglichkeit gibt es. Mit Findcomponent bekommst du mit Hilfe des richtigen Namens (Edit2..Edit3..Editx) eine Komponente. Die musst du nur noch nach TEdit casten und die Eigenschaft Text abfargen. Beispiel:
Delphi-Quellcode:
Ich würde dir aber dazu raten, die Namen so einzustellen, dass du dann EdtSchueler1, EdtSchueler2, ... hast (nur zum einfacheren Verständniss)
Procedure Test;
var i: byte; begin for i := 1 to 15 do begin Schueler[i] := StrToInt(TEdit(FindComponent('Edit' + IntToStr(i+2))).Text); end; Bernhard Menno, wieso müssen da 2 vor mir sein?? EDIT: @DeddyH: ich bezweifle, dass ein TComponent einen .Text hat |
Re: EditBoxen mit Schleifen verbinden. Geht das?
Verdammt! Das ging ja super schnell!
Vielen Dank für eure Hilfe! Klappt wunderbar. FindComponent ist ja was richtig feines. Zurzeit ist mein Programm 1MB groß und haufen lange Quelltexte. Damit kann ich einiges ersetzen! Thanx @ all! Wieder was zu gelernt :) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:46 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz