Wątek przeniesiony 2014-02-05 12:07 z Delphi i Pascal przez ŁF.

Jak odczytać nazwę komponentu?

0
procedure TForm37.SpeedButton5Click(Sender: TObject);
begin

     // jak odczytać że jestem aktualnie w Form37.SpeedButton5

      if mmHas (.......) then Form23.show;
end;

Zabawa typu name+SpeedButon5.name jest mało interesująca
Czy da się te informacje wyciągnąć z Sender

Wtedy wywołanie by wyglądało tak

      if mmHas ( Sender ) then Form23.show;  
      // sprawdzanie czy dany login ma uprawnienia do danego fragmentu programu

Pozdrawiam
Janusz

dodanie znaczników <code class="delphi"> - fp

1

Na przykład tak

(Sender as TComponent).Name

Ale może do identyfikacji lepiej wykorzystać property Tag.

0
if Sender=SpeedButton5 then
0

Dzięki pelsta o to chodziło.

Przykład dla innych.

Wywołanie :

procedure TForm37.SpeedButton5Click(Sender: TObject);
begin
      if mmHas(ServerDB,Sender) then Form23.show;
end;

Analiza:

function mmHas( var Server : PMYSQL; Sender: TObject ) : boolean;
var     Forma , Component : string;
begin
     Forma := (Sender as TComponent).Owner.Name;
     Component := (Sender as TComponent).Name;
     Result := false;
     SSQL := 'SELECT users FROM code WHERE Forma="'+Forma+'"

dodanie znaczników <code class="delphi"> - fp

0

Dla rozsądnych:

procedure TForm37.SpeedButton5Click(Sender: TObject);
begin
      if mmHas(ServerDB,Name) then Form23.show;
end;

function mmHas( var Server : PMYSQL; const Forma : string) : boolean;
begin
     Result := false;
     SSQL := 'SELECT users FROM code WHERE Forma="'+Forma+'" 

i na to samo wychodzi tyle że bez udziwnień.

0

Nie wychodzi na to samo, nie muszę pisać jaki to komponent używam tylko SENDER

np.

procedure TForm37.SpeedButton1Click(Sender: TObject); // SpeedButton
begin
      if not nothas then PodajHaslo;
      if mmHas(ServerDB,Sender) then Form24.Show;
end;
procedure TForm31.bUprawnieniaClick(Sender: TObject); // TButton
begin
    if mmHas(ServerDB,Sender) then Fhas.Show;
end;

Działa poprawnie dla dowolnego komponentu i wiem który komponent z której formy wywołał mmHas(...)

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