Czy da się zrobić coś takiego ? Edit(TrackBar1.Position).Text:='cos';
- Rejestracja:ponad 14 lat
- Ostatnio:około 11 lat
- Postów:60
1
Czy chodziło Ci o coś takiego:
TEdit(FindComponent('Edit'+IntToStr(TrackBar1.Position))).Text := 'cos';
To się nazywa odszukiwanie komponentów po nazwie.
edytowany 1x, ostatnio: 0DFh

_13th_Dragon
Działa poprawnie, zaś przeszukuje wszystkie komponenty umieszczone na formatce w poszukiwaniu tej o podanej nazwie. Wydajność niska.
- Rejestracja:prawie 20 lat
- Ostatnio:około godziny
- Lokalizacja:Gorlice
0
Znacznie wydajniej będzie wszystkie te Edit'y położyć na panelu i użyć czegoś takiego:
TEdit(Panel1.FindChildControl('Edit' + IntToStr(TrackBar1.Position))).Text:= 'blabla';
a nawet nie bawiąc się w tablicę i dynamiczne tworzenie komponentów (tylko tu ważna jest kolejność dodania editów na panel):
TEdit(Panel1.Controls[TrackBar1.Position]).Text:= 'blabla';
edytowany 1x, ostatnio: kAzek

- Rejestracja:ponad 21 lat
- Ostatnio:około godziny
0
Działa poprawnie, zaś przeszukuje wszystkie komponenty umieszczone na formatce w poszukiwaniu tej o podanej nazwie. Wydajność niska.
komponenty można utworzyć normalnie, a raz w konstruktorze czy gdzieś tam znaleźć je wszystkie i wsadzić do tablicy.

Można nawet po głupiemu: tb[0]:=Edit1; tb[1]:=Edit2; tb[2]:=Edit3; ...
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.