Veröffentlicht 1. Oktober 200321 j 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
1. Oktober 200321 j 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.
1. Oktober 200321 j 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
1. Oktober 200321 j Autor 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?
1. Oktober 200321 j 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
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.