AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Sender

Ein Thema von jandelph · begonnen am 17. Nov 2011 · letzter Beitrag vom 17. Nov 2011
Antwort Antwort
jandelph

Registriert seit: 3. Okt 2011
7 Beiträge
 
Delphi XE2 Professional
 
#1

Sender

  Alt 17. Nov 2011, 15:47
hallo,

ich muss einen Währungsumrechner(€-DM) erstellen, dabei soll ich die Fuktion sender benutzen!
Also 2 edit felder, wenn man nen knopf drückt soll dann beim anderen auch was stehen!
Ich hab das so verstanden:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
a, b : real;
begin
  a := StrToFloat(edit1.Text);
  b := StrToFloat(edit2.Text);
  if sender = edit1 then edit2.Text := FloatToStr(a*2);
  if sender = edit2 then edit1.Text := FloatToStr(b/2);
end;
das Progamm kann ich zwar ausführen jedoch gschieht nichts wenn ich den button drücke!
Welchen Fehler hab ich gemacht?
Danke!

LG
Jan

Geändert von mkinzler (17. Nov 2011 um 15:52 Uhr) Grund: Delphi-Tag eingefügt
  Mit Zitat antworten Zitat
daywalker9

Registriert seit: 1. Jan 2010
Ort: Leer
594 Beiträge
 
Delphi XE3 Professional
 
#2

AW: Sender

  Alt 17. Nov 2011, 15:50
Du musst Sender = Button1 oder Sender = Button2 prüfen, denn daher kommt das Ereignis und nicht vom Edit.
Lars
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#3

AW: Sender

  Alt 17. Nov 2011, 15:55
Und man kann im Titel auch mehr als ein Wort eintippen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.536 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Sender

  Alt 17. Nov 2011, 15:57
Du musst Sender = Button1 oder Sender = Button2 prüfen, denn daher kommt das Ereignis und nicht vom Edit.
Das macht aber auch nur dann Sinn, wenn derselbe Event-Handler beiden Buttons zugewiesen wird. Das kann man bequem im Objektinspektor erledigen.
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
daywalker9

Registriert seit: 1. Jan 2010
Ort: Leer
594 Beiträge
 
Delphi XE3 Professional
 
#5

AW: Sender

  Alt 17. Nov 2011, 16:10
Du musst Sender = Button1 oder Sender = Button2 prüfen, denn daher kommt das Ereignis und nicht vom Edit.
Das macht aber auch nur dann Sinn, wenn derselbe Event-Handler beiden Buttons zugewiesen wird. Das kann man bequem im Objektinspektor erledigen.
Das natürlich vorrausgesetzt.
Lars
  Mit Zitat antworten Zitat
jandelph

Registriert seit: 3. Okt 2011
7 Beiträge
 
Delphi XE2 Professional
 
#6

AW: Sender

  Alt 17. Nov 2011, 16:12
hallo,
danke für eure antworten,
ich möchte aber, dass beides bei einem button geschehen soll!
also wenn das in edit1 steht soll es in edit2 angezeigt werden und wenn es bei edit2 steht bei edit1...
LG
Jan
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#7

AW: Sender

  Alt 17. Nov 2011, 16:18
ohne Button
Delphi-Quellcode:
procedure TForm2.Edit2Change(Sender: TObject);
var
  d:Double;
begin
  If TryStrToFloat(TEdit(Sender).Text,d) then
    if Sender=Edit1 then
      begin
      Edit2.OnChange := nil;
      Edit2.Text := FloatToStr(d/2);
      Edit2.OnChange := Edit2Change;
      end
    else
      begin
        Edit1.OnChange := nil;
        Edit1.Text := FloatToStr(d/2);
        Edit1.OnChange := Edit2Change;
      end;

end;
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)

Geändert von Bummi (17. Nov 2011 um 16:53 Uhr)
  Mit Zitat antworten Zitat
jandelph

Registriert seit: 3. Okt 2011
7 Beiträge
 
Delphi XE2 Professional
 
#8

AW: Sender

  Alt 17. Nov 2011, 16:38
Danke es funktioniert und ich versteh es auch ausßer,
was beudeutet der datentyp double?
und warum ist am Ende
Application.ProcessMessages ?
oder besser gefragt was geschieht dadurch?
LG
Jan
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#9

AW: Sender

  Alt 17. Nov 2011, 16:52
Zitat:
und warum ist am Ende
Application.ProcessMessages ?
das hatte ich da vergessen, sorry, brauchst Du nicht ....

Double ist ein Fliesskommadatentyp 8 Byte und entspricht in neueren Versionen Real
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)

Geändert von Bummi (17. Nov 2011 um 16:55 Uhr)
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 05:22 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