AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Quicksort: Rekursiver Aufruf funktioniert nicht!
Thema durchsuchen
Ansicht
Themen-Optionen

Quicksort: Rekursiver Aufruf funktioniert nicht!

Ein Thema von simonator11 · begonnen am 10. Feb 2019 · letzter Beitrag vom 12. Feb 2019
Antwort Antwort
Seite 2 von 2     12   
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#11

AW: Quicksort: Rekursiver Aufruf funktioniert nicht!

  Alt 11. Feb 2019, 18:36
Gern geschehen.
Heiko
  Mit Zitat antworten Zitat
MichaelT

Registriert seit: 14. Sep 2005
Ort: 4020 Linz
555 Beiträge
 
Delphi 10.3 Rio
 
#12

AW: Quicksort: Rekursiver Aufruf funktioniert nicht!

  Alt 12. Feb 2019, 17:43
Es gibt historisch schon in C und Pascal Prozedurzeiger und die dazugehörigen Variablen sind von einem Typen der sich an der Signatur ausrichtet.

Du kannst den Zeiger auf eine Prozedur auch einen Methodenzeiger konvertieren.

Seit Delphi gibt es zusätzlich noch Methodenzeiger (of object). Die Methodenzeigen helfen bei der Realisierung von Delegation. Die Verwendung von austauschbaren Logging Klassen ist ein wunderbares Beispiel für den Übergang.

Bishin zu anonymen Methoden geht es um 2 Sachen
a) Wer reagiert auf die 'Windows' Messages
b) Worauf hat die Ereignisbehandlung Zugriff (auch Threading...)

a) ist heute nicht mehr ganz so spannend, aber für den ButtonClick schon und b) ist immer brandaktuell.

Es genügt ein kleines Beispiel beginnend mit einer Prozedurvariablen, im nächsten Schritt verpackt man die Parameter in eine Klasse und das Objekt merkt sich den Zustand usw... Auf dem Weg dorthin siehst du, dass du eigentlich ein ganz normalen Methodenaufruf geschrieben hast und nicht eine spezielle Form die per Konvention für Ereignisbehandlung reserviert ist.

Im Anhang sind 2 Beispiele:
playwithevh - Prozedurvariante
fBunnify - Ein Versuch ein Beispiel an den Haaren herbeizuziehen das den Übergang skizziert.


Delphi kennt von Haus aus auch keine statisch lokalen Variablen (Algorithmus mit Gedächtnis). Delphi hat keine lokalen Variablen die sich nach dem Wiedereinsprung den Wert vom Aufruf zuvor halten. Solchen 'Spielereien' welche auch Fehlerquellen darstellen wurde mit den Jahren der Riegel vorgeschoben.


Hallo!

Ich bin neu im Forum und eher ein Delphi-Einsteiger.

Beim Programmieren vom rekursiven Quicksort habe ich ein Problem mit Verzweigungen:
Anhang 50668


Ich habe im Prozedurkopf Sender: TObject. Diesen Parameter muss ich (neben jeweils l/j und i/r) im rekursiven Prozeduraufruf in die Verzweigungen einbauen. Trotzdem kriege ich eine Fehlermeldung ,,Wrong number of parameters specified for call to "<Procedure Variable>" ". Ich weiß nicht mehr weiter .

Ich freue mich auf eine Antwort!
Angehängte Dateien
Dateityp: pas playwithevh.pas (748 Bytes, 1x aufgerufen)
Dateityp: pas fBunnify.pas (2,3 KB, 1x aufgerufen)
Dateityp: zip fBunnify_dfm.zip (458 Bytes, 1x aufgerufen)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 23:12 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