AGB  ·  Datenschutz  ·  Impressum  







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

Sender soll den Titel des Formulars bestimmen

Ein Thema von Thomas F · begonnen am 4. Feb 2009 · letzter Beitrag vom 4. Feb 2009
Antwort Antwort
Seite 2 von 3     12 3      
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.993 Beiträge
 
Delphi 7 Professional
 
#11

Re: Sender soll den Titel des Formulars bestimmen

  Alt 4. Feb 2009, 16:17
Sorry, verstehe die ganze weitere Diskussion nicht. Die Lösung wurde mit
Zitat:
wäre es besser, im OnClick der Speedbuttons den Titel zu setzen
doch schon gegeben - oder?!
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#12

Re: Sender soll den Titel des Formulars bestimmen

  Alt 4. Feb 2009, 16:20
Da man davon ausgehen darf, dass es ja nicht nur um die Caption geht, bin ich nach wie vor der Meinung, eine Property ist hier zielführend (Trennung von Logik und Darstellung).
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.993 Beiträge
 
Delphi 7 Professional
 
#13

Re: Sender soll den Titel des Formulars bestimmen

  Alt 4. Feb 2009, 16:22
Ja, vermutlich richtig!
Aber der Versuch, den Sender des OnShow() auszuwerten, sollte doch nun "vom Tisch sein"
Ralph
  Mit Zitat antworten Zitat
Thomas F

Registriert seit: 3. Sep 2008
Ort: Nürnberg
281 Beiträge
 
Delphi 2005 Architect
 
#14

Re: Sender soll den Titel des Formulars bestimmen

  Alt 4. Feb 2009, 16:27
Zitat von taaktaak:
Ja, vermutlich richtig!
Aber der Versuch, den Sender des OnShow() auszuwerten, sollte doch nun "vom Tisch sein"
Der Code enthält noch mehr, daher wollte ich das Ganze nicht in das Speedbutton9click oder Speedbutton11click
reinschreiben.
Es gäbe noch die Möglichkeit
Delphi-Quellcode:
procedure TForm1.SpeedButton9Click(Sender: TObject);
begin
Unit4.Form4.Caption:='Eintrag ändern';
  Unit4.Form4.Show;
end;
procedure TForm4.FormShow(Sender: TObject);
begin
if Form4.Caption = 'Eintrag ändernthen ......

if Form4.Caption = 'Neuer Eintragthen ......
end;
Gruß

Thomas
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#15

Re: Sender soll den Titel des Formulars bestimmen

  Alt 4. Feb 2009, 16:28
Und genau das habe ich in #12 gemeint/befürchtet.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.993 Beiträge
 
Delphi 7 Professional
 
#16

Re: Sender soll den Titel des Formulars bestimmen

  Alt 4. Feb 2009, 16:29
Autsch, ja das ist wirklich nicht gut

//edit: Auch wenn ich gesteinigt werde: MINDESTENS für die Texte Konstanten verwenden!
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#17

Re: Sender soll den Titel des Formulars bestimmen

  Alt 4. Feb 2009, 16:32
Wenn es wirklich mehrere Dinge zu tun gibt, wäre der Weg über Properties oder eine eigene Show-Routine (als "CustomShow(...)") ggf. besser.
Da bietet sich auch eine Enumeration an:

Delphi-Quellcode:
type
  TFormMode = (fmAdd, fmEdit); // oder noch mehr

type
  TForm4 = class(TForm)
// Komponenten
private
  FFormMode: TFormMode;
  procedure SetFormMode(Mode: TFormMode);
public
  property Mode: TFormMode read FFormMode write SetFormMode;
end;
Und dann einfach parametrisiert aufrufen:
Delphi-Quellcode:
  Form4.Mode := fmAdd; // In SetFormMode wird dann die Initialisierung erledigt
  Form4.Show;
  // oder auch mit eigener Show-Routine in Form4:
  Form4.ShowWithMode(fmAdd);
Nur so als Anregung...

Viele Grüße
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.993 Beiträge
 
Delphi 7 Professional
 
#18

Re: Sender soll den Titel des Formulars bestimmen

  Alt 4. Feb 2009, 16:37
Die zweite Möglichkeit erscheint mir eleganter!
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#19

Re: Sender soll den Titel des Formulars bestimmen

  Alt 4. Feb 2009, 16:40
Jetzt sind wir da, wo ich hinwollte
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#20

Re: Sender soll den Titel des Formulars bestimmen

  Alt 4. Feb 2009, 16:45
Hallo,

schonmal mit 'ner ActionList gearbeitet?
Eine Action kann man mehreren Buttons, Menüeinträgen... zuordnen und dort im ActionExecute(Sender: TObject) kann man wunderbar in der gewünschten Form den Sender abfragen. Sender ist hier immer das Control, dass die Action ausgelöst hat.
Delphi-Quellcode:
// procedure TForm4.FormShow(Sender: TObject);
procedure TForm4.Action1Execute(Sender: TObject);
begin
  if Sender = Unit1.Form1.speedbutton9
  then Form4.Caption := ' Eintrag ändern';//Unit4

  if Sender = Unit1.Form1.Speedbutton11
  then Form4.Caption :='Neuer Eintrag';//Unit4

  Form4.Show;
end;
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 17:36 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