Wywoływanie komponetów

Wywoływanie komponetów
jjczopek
  • Rejestracja: dni
  • Ostatnio: dni
0

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.

Szymek
  • Rejestracja: dni
  • Ostatnio: dni
0

For I:=1 To 16 Do TLabel(FindComponent('p'+IntToStr(I))).Caption:=IntToStr(I);

pq
  • Rejestracja: dni
  • Ostatnio: dni
0

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

A3
  • Rejestracja: dni
  • Ostatnio: dni
0

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!!.

jjczopek
  • Rejestracja: dni
  • Ostatnio: dni
0

A jak zrobić żeby form była zawsze na środku ekranu ??

AndRew
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1153
0

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.