Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Unterprogramme in Delphi 7 Felder ansprechen (https://www.delphipraxis.net/157500-unterprogramme-delphi-7-felder-ansprechen.html)

snboy2010 13. Jan 2011 21:41


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:
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;
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.

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?

Chillkröte 13. Jan 2011 21:44

AW: Unterprogramme in Delphi 7 Felder ansprechen
 
Tutorial wäre mein tip ;) :)

snboy2010 13. Jan 2011 22:10

AW: Unterprogramme in Delphi 7 Felder ansprechen
 
Habe ich auch schon bei der Suche gefunden. Aber wo steht dort meine Frage beschrieben?

Chillkröte 13. Jan 2011 22:18

AW: Unterprogramme in Delphi 7 Felder ansprechen
 
du solltest dir die grundlagen von delphi angucken
themen bezogen vor allem prozeduren und funktionen

snboy2010 13. Jan 2011 22:33

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:
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;
Wo habe ich jetzt meinen Fehler?

Chillkröte 13. Jan 2011 22:40

AW: Unterprogramme in Delphi 7 Felder ansprechen
 
guckt dir mal funktionen an

Chemiker 13. Jan 2011 22:41

AW: Unterprogramme in Delphi 7 Felder ansprechen
 
Hallo snboy2010,

Delphi-Quellcode:
procedure VerbrauchBGes(var verb, jahrk : real);
var verbj: real;
begin
  verbj := verb * jahrk;
end;
diese Procedure ist sinnlos. Verbj ist eine lokale Variable!

Bis bald Chemiker

mkinzler 14. Jan 2011 05:22

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;

DeddyH 14. Jan 2011 07:48

AW: Unterprogramme in Delphi 7 Felder ansprechen
 
Wieso als Var-Parameter?

mkinzler 14. Jan 2011 08:30

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 06:20 Uhr.
Seite 1 von 2  1 2      

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