AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

rekursiver mist^^

Ein Thema von xelax90 · begonnen am 27. Feb 2007 · letzter Beitrag vom 28. Feb 2007
Antwort Antwort
Seite 1 von 2  1 2      
xelax90

Registriert seit: 25. Feb 2007
Ort: Düsseldorf
14 Beiträge
 
#1

rekursiver mist^^

  Alt 27. Feb 2007, 12:46
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
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: rekursiver mist^^

  Alt 27. Feb 2007, 12:50
Entweder du organisiserts deinen Code sauber in klassen oder du nutzt die Delphi-Referenz durchsuchenforward Deklaration voon Funktionen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
dominikkv

Registriert seit: 30. Sep 2006
Ort: Gundelfingen
1.109 Beiträge
 
Delphi 2007 Professional
 
#3

Re: rekursiver mist^^

  Alt 27. Feb 2007, 12:53
du musst die functionen im interface deklarieren, am besten in klassen...es geht aber auch so
Dominik
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.919 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: rekursiver mist^^

  Alt 27. Feb 2007, 12:58
Du hast nicht nur mit Deinem Code "Mist" gebaut ... auch der Titel, den Du Deinem Thema gegeben hast, ist als ebensolcher zu bezeichnen.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#5

Re: rekursiver mist^^

  Alt 27. Feb 2007, 13:01
Zitat von Daniel:
Du hast nicht nur mit Deinem Code "Mist" gebaut ... auch der Titel, den Du Deinem Thema gegeben hast, ist als ebensolcher zu bezeichnen.
Find ich auch..

TOPIC:
Delphi-Quellcode:
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;
So würde ich das lösen
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
xelax90

Registriert seit: 25. Feb 2007
Ort: Düsseldorf
14 Beiträge
 
#6

Re: rekursiver mist^^

  Alt 27. Feb 2007, 13:03
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.
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#7

Re: rekursiver mist^^

  Alt 27. Feb 2007, 13:04
Delphi-Quellcode:
Function A; Forward; // <------

Function B;
Begin
  A;
End;

Function A; // <---
Begin
  Foobar
End;
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#8

Re: rekursiver mist^^

  Alt 27. Feb 2007, 13:08
Hallo,

auch so kannst du es ohne Klassen versuchen:

Delphi-Quellcode:
function A: Double;

  function B: Double;
  
    function C: Double;
    begin
      Result := A;
    end;
    
  begin
    Result := C;
  end;
  
begin
  Result := B;
end;
Hoffentlich funktioniert die Abbruchbedingung für deine Rekursion...

Gruß Hawkeye
  Mit Zitat antworten Zitat
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#9

Re: rekursiver mist^^

  Alt 27. Feb 2007, 13:10
Zitat von xelax90:
das mit dem Titel Stimmt doch oder??
das ist rekursiver mist. zumindest empfinde ich das als solchen.^^
Hi,
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
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#10

Re: rekursiver mist^^

  Alt 27. Feb 2007, 13:14
Zitat von xelax90:
und die dritte variante will ich nicht machen, weil die funktionen nicht direkt im Form gebraucht werden, sondern als unit da drin landen.
Was ist da im Form drin? das kannst du jede Unit rein machen die du willst und von mir aus ne variable delklarieren und im init-part erzeugen...

Delphi-Quellcode:
var
myfunctions : TMyFunction;

.
.
.

initialization
myfunctions:=TMyFunction.Create;
end.
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:24 Uhr.
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