![]() |
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. |
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. |
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! |
Re: Edit Felder voneinander Abhängig / Umrechnung
Befass mich mal mit den Grundlagen der VCL
|
Re: Edit Felder voneinander Abhängig / Umrechnung
Moin,
ein gutes Anfängertutorial bzw. einen Crashkurs findest du ![]() Aber kurz zum Problem: Du könntest es beispielsweise so (für jedes Edit extra) lösen:
Delphi-Quellcode:
Der Button ist übrigens dann überflüssig, das geschieht alles "live".
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 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. ;) |
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! |
Re: Edit Felder voneinander Abhängig / Umrechnung
Zeig mal deinen Code
|
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...
|
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. |
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. |
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