![]() |
Fehler bei String übertragung von einer Form auf eine andere
Guten Morgen,
ich schreibe momentan ein programm mit welchem man dinge berechnen kann. Nun habe ich eine form mit 5 edit feldern, in welche man werte eingeben kann, die dann via on change ereignis berechnet werden.
Delphi-Quellcode:
(Das war jetzt nur die Kurzform sry, also hier wurden im vornerein der wert income und der wert costs berechnet, das wird jetzt nurnoch mal abgezogen. Die EditFelder die relevant sind, kommen in dieser früheren Berechnung)
procedure TfrmNew.edtCostsChange(Sender: TObject);
var Income, Costs, Free: Double; begin if ((edtIncome.Text <> '') and (edtCosts.Text <> '')) then begin Income:= StrToFloat(edtIncome.Text); Costs:= StrToFloat(edtCosts.Text); Free:= Income - Costs; edtFree.Text:= FloatToStr(Free); end; end; Nun habe ich einen Button hinzugefügt, welcher auf eine weitere form verweist.
Delphi-Quellcode:
Dort befinden sich eine Combobox, 5 editfelder und ein button.
procedure TfrmNew.btnValuesClick(Sender: TObject);
begin frmNew.Close; frmValues.Show; end; Sinn des ganzen ist, dass wenn man auf der ersten form einen wert eingeben will, dieser sich aber auch wieder aus mehreren werten zusammen setzt, in dieser seperaten form via combobox das edit feld dieser form auszuwählen, die mehreren werte in die editfelder eingibt, es wieder via on change im ergebnis feld ein ergebnis gibt und wenn man dann auf den button klickt soll sich diese Form wieder schließen die andere öffnen und das ergebnis der 2ten form in dem ausgewählten edit feld ausgegeben sein.
Delphi-Quellcode:
Es lässt sich compilieren, berechnen, alles tutti. Nur übernimmt er den Wert nicht auf die andere Form. Was mache ich noch falsch?
procedure TfrmValues.edtV4Change(Sender: TObject);
var V1, V2, V3, V4, Result: Double; begin if ((edtV1.Text <> '') and (edtV2.Text <> '') and (edtV3.Text <> '')) then begin V1:= StrToFloat(edtV1.Text); V2:= StrToFloat(edtV2.Text); V3:= StrToFloat(edtV3.Text); V4:= StrToFloat(edtV4.Text); result:= V1 + V2 + V3 + V4; edtResult.Text:=FloatToStr(result); end; end; procedure TfrmValues.btnInsertClick(Sender: TObject); begin if ComboBox1.Text = 'Other' then begin edtResult.Text:= frmNew.edtOther.Text; frmValues.Close; frmNew.Show; end else begin if ComboBox1.Text = 'Rent' then edtResult.Text:= frmNew.edtRent.Text; frmValues.Hide; frmNew.Show;end; end. LG New |
AW: Fehler bei String übertragung von einer Form auf eine andere
\push..
|
AW: Fehler bei String übertragung von einer Form auf eine andere
Zitat:
|
AW: Fehler bei String übertragung von einer Form auf eine andere
Das Ding ist ja, dass darauf zumindest ne antwort kommt, sogar recht zügig, wogegen ich auf eine antwort beim ersten beitrag schon 35 min warte... ;)
|
AW: Fehler bei String übertragung von einer Form auf eine andere
Zitat:
|
AW: Fehler bei String übertragung von einer Form auf eine andere
Das Wichtige wurde ja schon von Luckie gesagt :stupid:
Und nun der Rest. (wäre mir das Anti24stundengepusche eher aufgefallen, dann hätt ich jetzt noch 23 Stunden gewartet, mit dem Antworten) Zitat:
Es fehlt ein Begin-End beim
Delphi-Quellcode:
:warn:
if ComboBox1.Text = 'Rent' then
Oder ist nur deine Einrückung grauenhaft und das soll so sein? Außerdem liest du dort Werte aus frmNew, schreibst sie in frmValues und schließt dann frmValues. So kann ja nichts mehr angezeigt werden. Meinst du es nicht andersrum? (frmValues > frmNew) |
AW: Fehler bei String übertragung von einer Form auf eine andere
Schonmal ein Danke an Himitsu und ich werde künftig die Forenregeln beachten, bei der Erstellung von Threads.
Habe den Fehler glaube ich jetzt auch gefunden. lg New |
AW: Fehler bei String übertragung von einer Form auf eine andere
Vieleicht solltest Du das mit einem...
Delphi-Quellcode:
Dieses könntest Du dann über...private { Private declarations } FMeinString: String; public { Public declarations } property MeinString: String read FMeinString write FMeinString;
Delphi-Quellcode:
Gruß Jens
frmNew.MeinString //abfragen
|
AW: Fehler bei String übertragung von einer Form auf eine andere
Der Fehler war einfach dass ich verkehrt herum zugewiesen habe wie himitsu schon erkannt hatte,
anstatt dass ich frmNew.edtRent.Text:= edtResult.Text benutze, machte ich es genau anders herum..xD Danke an alle |
AW: Fehler bei String übertragung von einer Form auf eine andere
Trotzdem würde ich mir gedanken machen, die Daten wie genannte zu übergeben.
Gruß Jens |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:12 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-2025 by Thomas Breitkreuz