![]() |
Benutzerdefinierte PROCEDUR
Hallo,
man kann Wurzel ziehen auf verschiedene Arten machen. SQRT . exp(1/2)*ln(Basis) oder auch ganz normal im Programm. Man kann dieses kleine Programmteil auch 'in einer Function' packen und diese aufrufen. Tut auch... aber--- nun versuche ich, dieses in eine 'Procedur' zu schreiben und diese dann aufzurufen: Bisher:
Delphi-Quellcode:
.................................................. ......
procedure RAPUNZEL(var mW:Integer;mRauf:Real); // 1 Aufgaben-Wert runter, 1 Ergebnis-Wert rauf ...
var mX, mY : Real; mRaus : Byte; begin mX := (1 + mW)/2; mRaus:= 0; // dieses Programmteil funktioniert Repeat // als Hauptprogramm schon Begin // also mathematisch in Ordnung mY:=(mX+mW/mX)/2; if mY = mX then mRaus:=1; mX:=mY; end; Until mRaus = 1; mRauf:= mY; end; Aufruf der Procedur RAPUNZEL im Hauptprogramm: Hier scheitert es immer:
Delphi-Quellcode:
.................................................. ........
mErg5 := rapunzel(mWas,mRauf);
Erg5Edit.Text:=FormatFloat('######.############',mErg5); Fehlermeldung: Inkompatible Typen: 'Real' und 'procedure' untyped pointer or untyped parameter Ganz im Vertrauen, in VBASIC funktioniert es... MfG Foxgrove |
Re: Benutzerdefinierte PROCEDUR
Ganz im Vertrauen, das funktioniert auch in VB nicht. Kann ich mir zumindest nicht vorstellen. Du hast eine Prozedur, also eine Methode, die höchstens über ihre Parameter Werte zurückliefert.
Und diese Prozedur willst du jetzt einer Variablen vom Typ Real (mERG5 wird doch wohl als Real deklariert sein, oder?) Wie soll denn das gehen? |
Re: Benutzerdefinierte PROCEDUR
Eine Procedure gibt keinen Wert zurück. In deiner Funktion werden nur interne Variablen geändert. Du musst daraus eine Funktion machen oder einen Ergebniss-Parameter mit Var übergeben, der dann geändert wird:
Delphi-Quellcode:
Procedure Rapunzel(var erg: real; const a,bv,s: real);
begin erg:= 78-a; end; //Aufruf: Rapunzel(erg, 1,2,3); Showmessage(floattostr(erg)); //Sollte jetzt 77 sein. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:23 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