AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Sender???

Ein Thema von Alex_ITA01 · begonnen am 29. Sep 2003 · letzter Beitrag vom 29. Sep 2003
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    
Alex_ITA01

Registriert seit: 22. Sep 2003
1.115 Beiträge
 
Delphi 12 Athens
 
#1

Sender???

  Alt 29. Sep 2003, 11:37
Servus ich hab da mal ne frage

Problem (besser Unwissenheit): Was bedeutet z.B. With Sender as TFileListBox do
dieses "Sender"? Bitte mal ne Erklärung auch wenns bestimmt ganz einfach ist.

danke alex
  Mit Zitat antworten Zitat
LoL
(Gast)

n/a Beiträge
 
#2

Re: Sender???

  Alt 29. Sep 2003, 11:51
hi

willst du wissen was ein sender is oder was der befehl macht?
  Mit Zitat antworten Zitat
Alex_ITA01

Registriert seit: 22. Sep 2003
1.115 Beiträge
 
Delphi 12 Athens
 
#3

Re: Sender???

  Alt 29. Sep 2003, 11:53
wenn geht sender, denn ich weiß nciht was das sender bedeutet wenn ich es weiß kann ich mir den rest bestimmt selber erklären
  Mit Zitat antworten Zitat
LoL
(Gast)

n/a Beiträge
 
#4

Re: Sender???

  Alt 29. Sep 2003, 11:55
Zitat von Delphi Hilfe:
In einer Ereignisbehandlungsroutine gibt der Parameter Sender an, welche Komponente das Ereignis empfangen und daraufhin die Ereignisbehandlungsroutine aufgerufen hat. Es kann sinnvoll sein, daß mehrere Komponenten gemeinsam eine Ereignisbehandlungsroutine verwenden, die sich abhängig davon, welche Komponente sie aufgerufen hat, unterschiedlich verhält. Dazu verwenden Sie den Parameter Sender in einer if...then...else-Anweisung. Beispielsweise zeigt der folgende Code den Titel der Anwendung in der Titelleiste eines Dialogfelds nur dann an, wenn das Ereignis OnClick von Button1 empfangen wurde.
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#5

Re: Sender???

  Alt 29. Sep 2003, 11:57
Wenn ein Ergeignis ausgelöst wird, so ist es üblich, daß im Parameter Sender das Objekt übergeben wird, welches das Ereignis ausgelöst hat. Sender wird i.A. aber nur als TObjekt deklariert, damit ist nicht bekannt, über welche Eigenschaften dieses Objekt verfügt.

Mit der Anweisung With Sender as TFileListBox do geht man jetzt davon aus, daß der Sender vom Typ TFileListBox ist und kann somit auf die entsprechenden Eigenschaften und Methoden (z.B. ausgewählte Dateien) zugreifen. Das ganze nennt man auch "type-cast".

......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Alex_ITA01

Registriert seit: 22. Sep 2003
1.115 Beiträge
 
Delphi 12 Athens
 
#6

Re: Sender???

  Alt 29. Sep 2003, 11:59
achso,muss ich das dann so verstehen das es im prinzip das gleiche ist wie with TLISTBOX do ? da greife ich ja auch auf die eigenschaften von der listbox zu oder?
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Sender???

  Alt 29. Sep 2003, 12:02
Zitat von Alex_ITA01:
Servus ich hab da mal ne frage
Problem (besser Unwissenheit): Was bedeutet z.B. With Sender as TFileListBox do
dieses "Sender"? Bitte mal ne Erklärung auch wenns bestimmt ganz einfach ist.

Danke alex
Hai Alex,

mal sehen ob ich das richtig erklären kann.

Du bekommst in den Verschiedenen Ereignissen (OnClick,OnActiv,OnKeyPress,usw.) immer als Sender das Objekt welches das ereigniss ausgelöst hat.

Nun kannst Du damit z.B. erreichen das Du für alle Objekte deiner Form (Buttons,Labels,Edits,usw.) nur eine Ereigniss Routiene für z.B. OnClick schreibst.

Über den Sender kannst Du jetzt ermitteln welcher Objekttyp das Ereigniss ausgelöst hat (TButton, TLabel,...)
und / oder wie der Name des Objektes ist um dann entsprechend zu reagieren.

z.B.:

Du Hast auf deiner Form: Labels, Edit, Checkboxen. Jetzt weisst Du allen im OnClick die Procedure zu:

Delphi-Quellcode:
procedure TForm1.TestClick(Sender: TObject);
begin
 If (sender IS TLabel) then
  begin
   ShowMessage ('Du hast auf ein Label gecklickt');
  end;
 If (sender IS TEdit) then
  begin
   ShowMessage ('Du hast auf ein Edit gecklickt');
  end;
 If (sender IS TCheckBox) then
  begin
   ShowMessage ('Du hast auf eine Checkbox gecklickt');
  end;
end;
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Alex_ITA01

Registriert seit: 22. Sep 2003
1.115 Beiträge
 
Delphi 12 Athens
 
#8

Re: Sender???

  Alt 29. Sep 2003, 12:06
achso, danke jetzt hats klickt bei mir gemacht. das ist also ne art quelltext verkürzung zum abfragen welche komponente welches ereignis ausgeführt hat und dann es behandeln?
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Sender???

  Alt 29. Sep 2003, 12:19
Zitat von Alex_ITA01:
achso, danke jetzt hats klickt bei mir gemacht. das ist also ne art quelltext verkürzung zum abfragen welche komponente welches ereignis ausgeführt hat und dann es behandeln?
Hai Alex,

hier noch mal ein OnClick zur verdeutlichung:

Delphi-Quellcode:
procedure TForm1.TestClick(Sender: TObject);
begin
 If (sender IS TEdit) then
  begin
   ShowMessage ('Du hast auf ein Edit mit dem Name: '
               + (Sender As TEdit).Name
               + ' und dem Inhalt: '
               + (Sender As TEdit).Text
               + ' gecklickt');
  end;
end;
Wie Du siehst Prüfe ich mit Sender IS TEdit ob auf ein Edit geklckt wurde.
Jetzt greife ich mit Sender AS TEdit auf die Eigenschaften des Edits zu.

Ein (Sender As TLabel).Text könnte z.B. nicht funktionieren da ein Label ja keine Eigenschaft Text besitzt.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Alex_ITA01

Registriert seit: 22. Sep 2003
1.115 Beiträge
 
Delphi 12 Athens
 
#10

Re: Sender???

  Alt 29. Sep 2003, 12:25
danke echt klasse von dir hat mir sehr geholfen da kann ich meine programme gleich so umschreiben.
mit label würde es dann (Sender As Label).caption heißen ge?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:43 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz