Also ich möchte Labels und Editfelder anzeigen lassen, sobald der in einem bestimmten Editfeld eingetragene Wert die Nummer des Labels/Editfelds erreicht. Da es hier um Anzahl von Tracks einer CD geht, brauche ich Zahlen bis ~20, da wäre ein Array schon praktisch. Daher:
procedure TForm1.EditAnzahlChange(Sender: TObject);
var a,i: integer;
begin
a:=strtoint(editanzahl.Text);
for i:=1 to a do
begin
inttostr(i);
edit.show;
label[i].show;
end;
end;
Mir ist klar, dass das so nicht funktioniert, aber kann mir jemand sagen, wie ich sowas machen kann? Suche mich schon dumm und dämlich und probiere rum, komme aber auf kein Ergebnis...
Edit: Aufgrund von Langeweile hab ich bis 10 jetzt die ausführliche Form gemacht, die halt ewig lang ist, aber an sich funktioniert.
Und hier gibts ein Problem:
Solange eine Zahl im editfeld steht, variiert die Anzahl der editfelder und labels wie gewollt. Sobald man aber alle Zahlen im Feld löscht, kommt die Fehlermeldung: '' is not a valid integer value
aber wenn das feld leer ist, soll einfach keins der felder sichtbar sein, wie mach ich das also?
procedure TForm1.EditAnzahlChange(Sender: TObject);
var a,i: integer;
begin
a:=strtoint(editanzahl.Text);
for i:=1 to a do
begin
inttostr(i);
edit.show;
label[i].show;
end;
end;
Mir ist klar, dass das so nicht funktioniert, aber kann mir jemand sagen, wie ich sowas machen kann? Suche mich schon dumm und dämlich und probiere rum, komme aber auf kein Ergebnis...
Edit: Aufgrund von Langeweile hab ich bis 10 jetzt die ausführliche Form gemacht, die halt ewig lang ist, aber an sich funktioniert.
Und hier gibts ein Problem:
Solange eine Zahl im editfeld steht, variiert die Anzahl der editfelder und labels wie gewollt. Sobald man aber alle Zahlen im Feld löscht, kommt die Fehlermeldung: '' is not a valid integer value
aber wenn das feld leer ist, soll einfach keins der felder sichtbar sein, wie mach ich das also?
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Riku55 ()