Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Edit Felder voneinander Abhängig / Umrechnung (https://www.delphipraxis.net/93724-edit-felder-voneinander-abhaengig-umrechnung.html)

problemstoffe 10. Jun 2007 15:26


Edit Felder voneinander Abhängig / Umrechnung
 
Hi,
ich muss einen Umrechner basteln bei dem in verschiedene Temperaturskalen umgewandelt wird.
Das Programm besteht aus drei Edit Feldern und einem Umrechnen Knopf. Jedes Edit Feld enthält eine Temperaturskala. Irgendwie müssen diese Edit Felder voneinander abhängig sein. Das heisst wenn ich Edit2 verändere müssen sich nach Klick auf Umrechnen Edit 1 und 3 ändern. Wenn ich Edit3 verändere müssen sich Edit 1 und 2 verändern. Nur wie erkennt Delphi welches Edit Feld zuletzt geändert wurde?

Insgesamt ist die Geschichte ja nicht all zu schwer. Ist ja nur eine if Schleife mit drei Bedingungen.

if Edit1 geändert dann Edit2.Caption:= Edit1*Umrechnungskurs und Edit3.Caption:=Edit1*Umrechnungskurs

if Edit2 geändert u.s.w.


Wäre super wenn ihr mir hierhelfen könntet.

Matze 10. Jun 2007 15:34

Re: Edit Felder voneinander Abhängig / Umrechnung
 
Hi,

herzlich Willkommen!

Gleich vorweg: Eine if-Schleife gibt es nicht. Entweder eine if-Verzweigung, if-Anweisung oder wie man's auch nennen mag. Es wird ja nichts wiederholt.

Du könntest das OnChange-Ereignis der Edits nutzen und darin den Inhalt der 2 weiteren Edits anpassen.

problemstoffe 10. Jun 2007 15:43

Re: Edit Felder voneinander Abhängig / Umrechnung
 
Das klingt doch schonmal gut, hast du vielleicht hierzu auch ein explizites Beispiel?

Bedanke mich schonmal im Voraus!

mkinzler 10. Jun 2007 15:44

Re: Edit Felder voneinander Abhängig / Umrechnung
 
Befass mich mal mit den Grundlagen der VCL

Matze 10. Jun 2007 15:46

Re: Edit Felder voneinander Abhängig / Umrechnung
 
Moin,

ein gutes Anfängertutorial bzw. einen Crashkurs findest du hier, dann fällt dir das Programmieren sicher leichter, denn die Grundlagen brauchst du unbedingt.

Aber kurz zum Problem: Du könntest es beispielsweise so (für jedes Edit extra) lösen:

Delphi-Quellcode:
procedure TForm1.Edit1Change(Sender: TObject);
begin
  try
    Edit2.Text := FloatToStr(StrToFloat(Edit1.Text) * Faktor);
    Edit3.Text := FloatToStr(StrToFloat(Edit1.Text) * Anderer_Faktor);
  except
  end;
end;
Der Button ist übrigens dann überflüssig, das geschieht alles "live".

Der leere except-Block ist eigentlich keine saubere Lösung, doch in diesem Fall würde ich sagen, kann man das mal so machen, dass nicht bei jeder Fehleingabe bzw. beim Leeren des Edits eine Fehlermeldung erscheint. ;)

problemstoffe 10. Jun 2007 16:00

Re: Edit Felder voneinander Abhängig / Umrechnung
 
Die Idee ist sicherlich gut. Leider Funktioniert der Change bei mir nicht. (undeclared identitifier)

aber gibt es nicht auch eine Lösung die mit Button funktioniert? Problem ist, das ich mich genau an die Vorlage halten muss.

Ich bedanke mich schon jetzt für die Zahlreichen Antworten, ein klasse Forum ist das hier!

mkinzler 10. Jun 2007 16:01

Re: Edit Felder voneinander Abhängig / Umrechnung
 
Zeig mal deinen Code

problemstoffe 10. Jun 2007 16:07

Re: Edit Felder voneinander Abhängig / Umrechnung
 
Der ist genauso wie oben, nur die Faktoren sind halt eingesetzt, das Problem tritt jedoch ganz oben, bei Change auf...

Matze 10. Jun 2007 16:20

Re: Edit Felder voneinander Abhängig / Umrechnung
 
Das OnChange ist ein Ereignis der Edits. Das heißt, du musst im Objektinspektor doppelt auf das Ereignis oder doppelt aufs Edit zur Designtime klicken, um dies automatisch erstellen zu lassen.

Du solltest dir wirklich zuerst einmal die Grundlagen ansehen und dich mit der Delphi-IDE vertraut machen.

problemstoffe 10. Jun 2007 16:37

Re: Edit Felder voneinander Abhängig / Umrechnung
 
Ich kann deiner Erklärung nicht ganz folgen. Grundlagen sind da habe auch shcon normal umrechnungen u.s.w. gemacht, das einzige Problem was sich mir stellt ist diese Verknüpfung der Edits. Was dieses Onchange bewirkt ist mir auch klar, nur ist das ja nicht die perfekt Lösung.

Ich würde mich freuen wenn du mir entweder nochmal erklären könntest warum der OnChange nicht geht oder mir bei einer Lösung mit Button helfen könntest...


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:19 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz