_fcloseall() bei .NET ?



  • Die Ideen sind gut, denke meine auch. Die Dateien zu schliessen geht bei mir, indem ich meinen Include-Stack durchlaufe, und jeweils Close() aufrufe.



  • Wobei bei preprocess aus verschachtelten Dateien eine einzige gemacht wird. Der einzige Fehler der da auftreten kann, ist dass open file scheitert. Man erspart sich hier nur die include-Geschichte. Da habe ich noch eine Frage: Wenn preprocess beim dritten Aufruf scheitert ( bei open file ), eine Exception ausgelöst wird, werden dann bei den zwei ersten Aufrufen auch der finally-Teil ausgeführt ? Bin da etwas perplex ...



  • Sorry, dass ich nochmals nerve, mein Programm prüft bei den Include-Dateien auf Zyklizität. Das dürfte bei preprocess nicht gehen, ohne Umwege.



  • @biter sagte in _fcloseall() bei .NET ?:

    Sorry, dass ich nochmals nerve, mein Programm prüft bei den Include-Dateien auf Zyklizität. Das dürfte bei preprocess nicht gehen, ohne Umwege.

    Doch, klar. Wieso nicht?
    Du musst doch bloss irgendwo "mitschreiben" welche Pfade gerade rekursiv bearbeitet werden. Z.B. einfach in einem Member Dictionary<string, object> processingPaths o.ä.



  • @biter Das alles hört sich an, als ob du ein ziemlicher Anfänger in Sachen Programmieren bist. Bist du sicher, daß Compilerbau das richtigetm Thema für deinen Erfahrungsstand ist?



  • Ja ja, Anfänger in manchen Dingen, in manchen nicht. Compiler habe ich schon drei geschrieben, die laufen alle fehlerlos. Selbst Professoren fragen mal etwas einfaches, ohne dass man deren Fähigkeit in Frage stellt. Bei Exceptions habe ich mich erst gestern informiert. Bisher habe ich im Fehlerfall, die Methode mit false verlassen, und FehlerVorhanden auf true gesetzt, und einen Eintrag in FehlerArt gemacht. Freilich, wenn die C# Sprache Exceptions anbietet, sollte man sie auch verwenden, das ist bestimmt guter Programmierstil. Ich behaupte nicht, dass ich einen guten Programmierstil hätte, meine Programme laufen jedenfalls alle. Und wenn man bei preprocess mitschreiben muss, in einer Stack-ähnlichen Datenstruktur, dann ist man von meiner Lösung nicht mehr weit weg.



  • Ok Dictionary geht auch.



  • Und im übrigen, macht meine Lösung mit dem Include-Stack dasselbe wie preprocess, nur dass preprocess rekursiv arbeitet, und mein Programm iterativ. Und ausserdem ist bei mir die "Include-Verarbeitung" mit der "Lexem-Erkennung" verzahnt. Lexeme ? zB: der Text:

    double d1 = 4.56e+10; ergibt

    Bezeichner double
    Bezeichner d1
    Gleichheitszeichen =
    Fliesskommazahl 4.56e+10
    Semikolon ;

    Trenner werden überlesen.

    Aber wozu das alles ? Eigentlich wollte ich nur wissen, was bei .NET der Funktion _fcloseall() entspricht. Einfache Frage, und so eine Lawine ....



  • @biter sagte in _fcloseall() bei .NET ?:

    Eigentlich wollte ich nur wissen, was bei .NET der Funktion _fcloseall() entspricht.

    Es gibt keine Entsprechung.

    Aber wozu das alles ?

    Weil man dir trotzdem helfen wollte?

    Einfache Frage, und so eine Lawine ....

    Vermutlich u.A. deswegen weil _fcloseall() ein garstiger Hack ist. Und ob du's glaubst oder nicht, es gibt einige Mitglieder hier die immer wieder versuchen anderen beizubringen wie man sauber programmiert.



  • Ja ist gut. Danke !!! Sauber programmieren muss ich noch lernen. Vielleicht kann man hier abschliessen. Ein gutes neues Jahr 2019, und auf eine weitere gute Zusammenarbeit.