Mam 16 Labeli. Nazywają się p1, p2, p3...p16. I jak zrobić żeby funkcja dla każdego i wstawiała jakiś caption do labeli. Próbawałem z tablicami ale coś mi nie szło.
For I:=1 To 16 Do TLabel(FindComponent('p'+IntToStr(I))).Caption:=IntToStr(I);
To już było tyle razy na forum
ponumeruj labele - jesli robisz je statycznie, to we wlasciwiosci Tag, jesli dynamicznie, to od razu tworz je w tablicy, tzn:
var
labelki : array [0..15] of TLabel;
for i:=0 to 15 do
Labelki[i]:=TLabel.Create;
Potem ponadawaj Captiony
wersja statyczna
for i:=0 to Pred(Form1.ControlCount) do
if (Form1.Controls[i] is TLabel) then //przeglądanie wszystkich labeli
case Form1.Controls[i].Tag of
0: Form1.Controls[i].Caption:='Pierwszy label';
w wersji dynamicznej lecisz petle po tablicy Labelki i spoko
For I:=1 To 16 Do TLabel(FindComponent('p'+IntToStr(I))).Caption:=IntToStr(0);
lub
For I:=1 To 16 Do TLabel(FindComponent('p'+IntToStr(0))).Caption:=IntToStr(I);
lub
For I:=1 To 16 Do TLabel(FindComponent('p'+IntToStr(0))).Caption:=IntToStr(0);
ale z tego ostatniego nic nie wyjdzie chyba.A jesli już to bedzie nieaktywne!!.
A jak zrobić żeby form była zawsze na środku ekranu ??
A jak zrobić żeby form była zawsze na środku ekranu ??
left := (screen.Width - width) div 2;
top := (screen.Height - height) div 2
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.