![]() |
Unterprogramme in Delphi 7 Felder ansprechen
Hallo. Hoffe bin hier in der richtigen Abteilung geladet :) Also folgendes Problem habe ich:
Ich möchte mein Programm optimieren indem ich es in Unterprogramme zerlege. Jetzt habe ich die folgende Procedur geschrieben:
Delphi-Quellcode:
Also in der Procedur soll folgendes geschen: Die Werte aus den Textfelder Edit 3 & 4 sollen eingelesen werden und miteinander multipliziert. Das Ergebniss soll dann beim drücken auf den Button im Panel1 ausgegeben werden.
procedure VerbrauchBGes(Target: Edit3.Text, Edit4.Text);
var verb, jahrk, verbj: real; begin verb := StrToFloat(Edit3.Text); jahrk := StrToFloat(Edit4.Text); verbj := verb * jahrk; end; procedure TForm1.Button1Click(Sender: TObject); begin Panel1.Caption := FloatTostr(VerbrauchBGes); end; Mit dieser Variante zeigt der Compiler dieses Problem: [Error]Recher.pas(55): Undeclared identifier: 'Edit3' [Error]Recher.pas(55): Missing parameter type [Error]Recher.pas(56): Identifier redeclared: 'Text' [Error]Recher.pas(58): There is no overloaded version of 'StrToFloat' that can be called with these arguments [Error]Recher.pas(72): Not enough actual parameters [Fatal Error]Project1.dpr(5): Could not compile used unit 'Rechner.pas' Was mache ich in der Procedur falsch und was muss ich verbessern? |
AW: Unterprogramme in Delphi 7 Felder ansprechen
![]() |
AW: Unterprogramme in Delphi 7 Felder ansprechen
Habe ich auch schon bei der Suche gefunden. Aber wo steht dort meine Frage beschrieben?
|
AW: Unterprogramme in Delphi 7 Felder ansprechen
du solltest dir die grundlagen von delphi angucken
themen bezogen vor allem prozeduren und funktionen |
AW: Unterprogramme in Delphi 7 Felder ansprechen
Ok. Jetzt bin ich etwas weiter. Das Programm startet jetzt es wird aber immer ein komplett falscher Wert berechnet. So sieht es jetzt aus:
Delphi-Quellcode:
Wo habe ich jetzt meinen Fehler?
procedure VerbrauchBGes(var verb, jahrk : real);
var verbj: real; begin verbj := verb * jahrk; end; procedure TForm1.Button1Click(Sender: TObject); var verb, jahrk, verbj: real; begin verb := StrToFloat(Edit3.Text); jahrk := StrToFloat(Edit4.Text); VerbrauchBGes(verb, jahrk); Panel1.Caption := FloatToStr(verbj); end; |
AW: Unterprogramme in Delphi 7 Felder ansprechen
guckt dir mal funktionen an
|
AW: Unterprogramme in Delphi 7 Felder ansprechen
Hallo snboy2010,
Delphi-Quellcode:
diese Procedure ist sinnlos. Verbj ist eine lokale Variable!
procedure VerbrauchBGes(var verb, jahrk : real);
var verbj: real; begin verbj := verb * jahrk; end; Bis bald Chemiker |
AW: Unterprogramme in Delphi 7 Felder ansprechen
Mach eine Funktion draus:
Delphi-Quellcode:
function VerbrauchBGes(var verb, jahrk : real): real;
begin result := verb * jahrk; end; procedure TForm1.Button1Click(Sender: TObject); var verb, jahrk, verbj: real; begin verb := StrToFloat(Edit3.Text); jahrk := StrToFloat(Edit4.Text); verbj := VerbrauchBGes(verb, jahrk); Panel1.Caption := FloatToStr(verbj); end; |
AW: Unterprogramme in Delphi 7 Felder ansprechen
Wieso als Var-Parameter?
|
AW: Unterprogramme in Delphi 7 Felder ansprechen
Ich hab seinen Code nur kopiert und darauf nicht geachtet :oops:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:52 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