Jak sprawdzić jaki jest caption komponentu

0

Mam program który podczas działania programu tworzy komponenty a we właściwości caption zapisuje abc kolejna liczba np. abc5, abc 42
Jak sprawdzić czy komponent ma właściwości caption abc jakas liczba?

0

Jeżeli masz komponent wyznaczony przez Sender (np. po kliknięciu na niego wywoływana jest procedura) to robisz tak:
(Sender as TComponent).Caption

0

Istnieje coś takiego jak Components i ComponentCount które posiada chyba każda formatka i każdy komponent który wywodzi się z TComponent.

Aby sprawdzić wystarczy, że wywolasz tą funkcję, a zwróci ona pierwszy komponent jaki ma taki caption!

function Szukaj (Czego: String; Gdzie: TComponent): TControl;
Var
I: Integer;
begin
result := nil; //w przypadku niepowodzenia zwraca nil
for i := 0 to Gdzie.ComponentCount - 1 do
begin
if Gdzie.Components[i] is TControl then
begin
if TControl(Gdzie.Components[i]).Caption = Czego then
begin
result := TControl(Gdzie.Components[i]);
break; //wyjdź z pętli ale można tu wstawić warunek np. który sprawdza czy to jest label itp i dopiero wtedy kończyć pętlę
end;
end;
end;
end;

Jako parametry przekaż string którego szukasz i komponent na ktorym szukać ma tegoż captiona. Funkcja zwróci TControl ponieważ to jest najstarszy przodek posiadajacy caption.

Przed jego uzyciem warto jednak sprawdzic czy to jest na 100% ten typ klasy ktorego sie spodziewasz!

Powodzenia [hurra]

0

Jest to porste jak drut!
Ale ja się nie śmieje bo jaczynałem od programu, który po naciśnięciu ENTER-a wyświetlał napis Hello!
Nie wiedziałem nawet do czego służy label...

Dobra, teraz do rzeczy. Piszesz coś takiego:
(...)
if Button1.Caption='UFOCZEK' then
begin
Application.MessageBox('Bttonik ma Caption UFOCZEK!!!', 'Odkrycie roku', MB_OK);

Tylko wszystko w 1 linijce!
Pozdrawiam!
Fire

[diabel]

0

I SORY!!!!!!

Zapomniałem o else

Ale to se możesz darować...
:-) :-)

1 użytkowników online, w tym zalogowanych: 0, gości: 1