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:
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;
(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)
Nun habe ich einen Button hinzugefügt, welcher auf eine weitere form verweist.
Delphi-Quellcode:
procedure TfrmNew.btnValuesClick(Sender: TObject);
begin
frmNew.Close;
frmValues.Show;
end;
Dort befinden sich eine Combobox, 5 editfelder und ein button.
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:
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.
Es lässt sich compilieren, berechnen, alles tutti. Nur übernimmt er den Wert nicht auf die andere Form. Was mache ich noch falsch?
LG New