![]() |
rekursiver mist^^
also ich hab wieder ein kleines Problem mit meinem Taschenrechner, den ich programmieren wollte(es scheinen viele aus meinem Kurs hier angemeldet zu sein^^)
ich hab irgendwie rekursiven mist gebaut. also ich habe folgendes Problem: ich habe drei funktionen, die in einander rekursiv sind. das heißt, in der ersten rufe ich die zweite auf, in der zweiten die dritte und in der dritten wieder die erste. das dumme ist, dass Delphi von oben nach unten liest und, wenn eine Funktion oben aufgerufen wird, die unten erst geschrieben ist, gibt es einen fehler. mir ist leider keine möglichkeit eingefallen, das zu verändern. deshalb sage ich an dieser stelle einfach mal HILFE!!!^^ danke im voraus xelax90 |
Re: rekursiver mist^^
Entweder du organisiserts deinen Code sauber in klassen oder du nutzt die
![]() |
Re: rekursiver mist^^
du musst die functionen im interface deklarieren, am besten in klassen...es geht aber auch so
|
Re: rekursiver mist^^
Du hast nicht nur mit Deinem Code "Mist" gebaut ... auch der Titel, den Du Deinem Thema gegeben hast, ist als ebensolcher zu bezeichnen.
:roll: |
Re: rekursiver mist^^
Zitat:
TOPIC:
Delphi-Quellcode:
So würde ich das lösen
TMyFunction = class(TObject)
private function Funktion1(Variable : Irgendwas):Nochwas; function Funktion2(Variable : Irgendwas):Nochwas; function Funktion3(Variable : Irgendwas):Nochwas; public end; function TMyFunction.Funktion1(Variable : Irgendwas):Nochwas; begin Funktion2(Variable); end; function TMyFunction.Funktion2(Variable : Irgendwas):Nochwas; begin Funktion3(Variable); end; function TMyFunction.Funktion3(Variable : Irgendwas):Nochwas; begin Funktion1(Variable); end; |
Re: rekursiver mist^^
kann mir einer sagen, wie genau das geht. ich find in der Hilfe nicht die genaue Anweisung.
am bessten für beide fälle, damit ich die vergleichen kann. danke das mit dem Titel Stimmt doch oder?? das ist rekursiver mist. zumindest empfinde ich das als solchen.^^ und die dritte variante will ich nicht machen, weil die funktionen nicht direkt im Form gebraucht werden, sondern als unit da drin landen. |
Re: rekursiver mist^^
Delphi-Quellcode:
Function A; Forward; // <------
Function B; Begin A; End; Function A; // <--- Begin Foobar End; |
Re: rekursiver mist^^
Hallo,
auch so kannst du es ohne Klassen versuchen:
Delphi-Quellcode:
Hoffentlich funktioniert die Abbruchbedingung für deine Rekursion...
function A: Double;
function B: Double; function C: Double; begin Result := A; end; begin Result := C; end; begin Result := B; end; Gruß Hawkeye |
Re: rekursiver mist^^
Zitat:
vielleicht liegt der Mist ja nur in deinem Ansatz, was genau möchtest Du denn mit den drei Funktionen machen? Eventuell kann man es einfach nicht zyklisch lösen, dann hast Du das Problem auch ganz generell nicht. Gruß Der Unwissende |
Re: rekursiver mist^^
Zitat:
Delphi-Quellcode:
var
myfunctions : TMyFunction; . . . initialization myfunctions:=TMyFunction.Create; end. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:25 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-2025 by Thomas Breitkreuz