FinalFantasy Geschrieben 1. Oktober 2003 Geschrieben 1. Oktober 2003 Hi, also mal aufgepasst, ich glaub des is kompliziert. Ich möchte eine Funktion schreiben, die dynamisch irgendeine andere Funktion aufruft. Beispiel: Ich habe eine Funktion, die z.B. alle Dateien in einem Verzeichnis nach dem Muster *.txt durchsucht. Dann hab ich mehrer Funktionen, um diese Dateien zu manipulieren (verschieben, löschen, attribute ändern...) Soll dann etwas so aussehen: Suche("*.txt", move, .....) Er soll also alle *.txt Dateien suchen, und dann die Funktion move anwenden, wobei bei .... eben optionale Argumente stehen, die ich dann für die remove funktion brauche, z.B. dass Zielverzeichnis wo die Dateien dann hingemovet werden sollen. Geht sowas überhaupt? Wenn ja, wie übergib ich die Funktion? Kann man nen Pointer auf die Funktion kriegen, und die Funktion dann eben dynamisch über den Pointer aufrufen, oder sowas in der Art? Bin ja gespannt, ob das jemand weiss. Bye Zitieren
Guybrush Threepwood Geschrieben 1. Oktober 2003 Geschrieben 1. Oktober 2003 Jepp da gibt es was:) Schau mal nach dem Begriff Funktionszeiger, das sollte dir weiterhelfen. Hab leider noch nichts damit gemacht und kann dir deshalb nichts genaueres sagen. Zitieren
Goos Geschrieben 1. Oktober 2003 Geschrieben 1. Oktober 2003 Original geschrieben von FinalFantasy Er soll also alle *.txt Dateien suchen, und dann die Funktion move anwenden Irgendwie versteh ich dich noch nicht so ganz. Wo soll da bitte Dynamik sein? Du suchst *.txt und machst fuer alle das gleiche nur mit ein paar unterschiedlichen Parametern? Versuchs doch bitte nochmal etwas verstaendlicher fuer mich zu erklaeren. Goos Zitieren
FinalFantasy Geschrieben 1. Oktober 2003 Autor Geschrieben 1. Oktober 2003 Ich will die dateien ja entweder kopieren, löschen, umbennenen oder sonstwas. Jenachdem, was ich machen will, muss in der FuncA ne Funktion zum kopieren, löschen... aufgerufen werden, also nicht immer die gleiche. Man könnte es natürlich so machen, dass man nen Integer übergibt, und dann je nachdem Wert des Integers eine andere Funktion aufruft, z.B. mit nem Switch. Wenn mir aber dann später einfällt, dass ich noch ne andere Funktion brauche, muss ich den Switch umschreiben. Das will ich aber nicht, also muss ich der FuncA ja irgendwie mitgeben, welche Funktion aufgerufen werden soll. Ist das verständlicher? Zitieren
nic_power Geschrieben 1. Oktober 2003 Geschrieben 1. Oktober 2003 Hallo, schau Dir mal den folgenden Thread an: http://forum.fachinformatiker.de/showthread.php?s=&threadid=41846&highlight=funktionspointer Dort hatte ich vor einiger Zeit mal ein Beispiel mit Funktionspointern gepostet. Das sollte sich problemlos auf Dein Szenario anpassen lassen. Nic Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.