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/)
-   -   Delphi Problem mit einfügen einer function in procedure (https://www.delphipraxis.net/157515-problem-mit-einfuegen-einer-function-procedure.html)

wolfaa 14. Jan 2011 14:22

Problem mit einfügen einer function in procedure
 
hallo
ich muss ein projekt erstellen in einer eigenen unit und habe schon jetzt einen fehler :|

hier der ausschnitt:

procedure TGaskosten.erdgaschecked;
var a: real;
begin
erdgaspreisberechnen(a : real): real;
end;


erdgaspreisberechnen ist eine function.
delphi hätte gerne eine ( anstatt eines doppelpunktes... und zwar bei ...(a : real):real;

was soll ich tun?
habe schon nach fehlern gesucht aber keine gefunden:(
vielen dank schonmal im vorraus für die hilfe!

Klaus01 14. Jan 2011 14:27

AW: Problem mit einfügen einer function in procedure
 
Das ist eine Funktion und diese willst Du benutzen (und nicht deklarieren)

Delphi-Quellcode:
procedure TGaskosten.erdgaschecked;
var a: real;
begin
  a:= erdgaspreisberechnen; // ob die Funktion nch Parameter hat ???
end;
Nachtrag: und viellecht das eine oder andere Grundlagentutorial durcharbeiten

Grüße
Klaus

DeddyH 14. Jan 2011 14:27

AW: Problem mit einfügen einer function in procedure
 
Delphi-Quellcode:
a := erdgaspreisberechnen;
So oder so ähnlich muss das aussehen (ich kenne ja den Funktionskopf nicht).

stahli 14. Jan 2011 14:31

AW: Problem mit einfügen einer function in procedure
 
Wenn die Funktion schon existiert, dann kannst Du sie z.B. so aufrufen:

Delphi-Quellcode:
procedure TGaskosten.erdgaschecked;
var a: real;
begin
  a := erdgaspreisberechnen(10);
  a := erdgaspreisberechnen(100);
end;
Und dann mit dem Ergebnis, das in a vorliegt weiter arbeiten.

Existiert die Funktion noch gar nicht, musst Du sie erst selbst definieren. Wie und wo genau, hängt davon ab, wie und wo Du die Funktion einsetzen möchtest...

wolfaa 14. Jan 2011 14:36

AW: Problem mit einfügen einer function in procedure
 
hey
die procedure soll ja auf die funktion zugreifen also in der funktion wird dann a ausgerechet.

hier mal bis zu dem problem ein auszug:

vielleicht hilfts ja:/

unit UEigeneGasrechner;

interface
type
TGaskosten = class
erdgas, stadtgas: real;
function erdgaspreisberechnen(a: real): real;
function stadtgaspreisberechnen(b: real): real;
procedure seterdgas(a: real);
procedure setstadtgas(b: real);
procedure erdgaschecked;
procedure stadtgaschecked;
end;


implementation

procedure TGaskosten.seterdgas(a: real);
begin
erdgas:= a;
end;

procedure TGaskosten.setstadtgas(b: real);
begin
stadtgas:= b;
end;

procedure TGaskosten.erdgaschecked;
var a: real;
begin
a:=erdgaspreisberechnen(a : real): real;
end;

achso und ich bin blutiger anfänger also wenn ihr noch mehr verbesserungsvorschläge habt raus damit;)

Sir Rufo 14. Jan 2011 14:42

AW: Problem mit einfügen einer function in procedure
 
Ja, bitte benutze die Delphi-Tags für den Quelltext

Ansonsten würde ich dir als Anfänger ein Grundlagen Tutorial empfehlen.

Das was ich bisher sehe ist doch sehr konfus

Erklär mal, was du mit der Klasse genau erreichen möchtest.

wolfaa 14. Jan 2011 14:46

AW: Problem mit einfügen einer function in procedure
 
ich solle einen gasrechner erstellen und der hat verschiedene tarife und es gibt verschiedene gassorten.
und das in einer eigenen unit also die soll man weiterverwenden können:/
und die procedure soll bewirken das wenn ein radiobutton "checked" ist das dann die rechnung ausgeführt wird...

DeddyH 14. Jan 2011 14:50

AW: Problem mit einfügen einer function in procedure
 
In die Funktion gehört nur die Berechnung des Preises auf Basis des übergebenen Parameters. Ob ein Radiobutton Checked ist, hat in der Unit nichts zu suchen.

wolfaa 14. Jan 2011 14:52

AW: Problem mit einfügen einer function in procedure
 
nein der radiobutton hat auch nichts mit der unit zu tun aber was meinst du was du gerade geschrieben hast das war zu hohes deutsch für mich :P

Sir Rufo 14. Jan 2011 14:53

AW: Problem mit einfügen einer function in procedure
 
Jetzt hast du uns beschrieben was das Formular machen soll, aber nicht, was die Berechnungsklasse machen soll.

Ob da ein RadioButton geklickt wird, ist der Berechnungsklasse sowas von egal. Das interessiert nur die Form, denn die muss ja jetzt etwas anderes anzeigen.

Was dann angezeigt werden soll, dass holt sich die Form von der Berechnungsklasse ab.

Also, was brauchen wir alles an Parametern für die Berechnung?
Und wie soll dann berechnet werden?

Wann berechnet werden soll ist dabei völlig unerheblich, denn die Berechnung muss ja immer stimmen ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:15 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