Projektpfad ermitteln



  • Hallo,

    Kann mir jemand sagen, wie ich den aktuellen Pfad des Programms ermittle?
    Ich programmiere mit VC++ .Net auf der graphischen Oberfläche. Ich wollte mein Programm woanders hin Verschieben, aber da das Programm automatisch eine Datei sucht, sucht er sie bis jetzt dort, wo sie einmal war. Deshalb möchte ich, dass mein Programm "mobil" ist. d.h, dass ich es immer irgendwo hin schieben kann und trotzdem alles noch läuft.

    Danke schonmal für jede hilfe,

    MostWantedprogrammer



  • Wenn ich dich richtig verstanden habe, könnte das hier helfen:

    relative Pfade
    


  • Hallo Blue5teel,

    Meinst du mit relativen Pfaden:

    \\Ornder1\\Datei"
    

    Alles was ich über relative Pfade zu wissen glaube, ist, dass das Programm dann in dem Ordner sucht, wo sich die exe befindet. Allerdings bin ich mir da so nicht sicher. Außerdem habe ich keine Ahnung, wie ich diese Pfade in mein Programm einbaue.

    Wie geht das?

    MostWantedprogrammer



  • Kann mir jemand sagen wie ich relative Pfade einbaue,oder muss man das irgentwo einstellen?



  • MostWantedprogrammer schrieb:

    Kann mir jemand sagen wie ich relative Pfade einbaue,oder muss man das irgentwo einstellen?

    Hey,

    ich hatte das Problem auch, habe es jetzt aber jetzt so gelöst.

    Hier der Pfad der .exe und der ist relativ (das heißt egal wohin du die Datei verschiebst der Pfad wird immer angepasst)

    Application::ExecutablePath; //Liefert den Pfad der Exe zurück!
    

    Da ich auch für den Programmstart eine Datei (immer aus dem exe-pfad) brauche, habe ich es folgenderweise gelöst. (Bei mir hat die Datei halt den selben namen wie die .exe Datei nur die Endung ist .xml)

    String ^xmlName;
    //Hier wird der Pfad einer Datei mit dem selben Namen (und Pfad) wie die .exe 
    //Datei nur das die Endung hier in .xml geändert wird, zugewiesen.
    xmlName = IO::Path::ChangeExtension(Application::ExecutablePath, ".xml");
    

    Ich hoffe das dieser Ansatz dir hilft 🙂

    Gruß
    Rudi G

    EDIT: Habe folgendes noch gefunden

    Application::StartupPath; // Ruft den Pfad ohne den Namen der ausführbaren
    //Datei ab, die zum Starten der Anwendung verwendet wurde.
    

    Hier auch ein Link mit Beispiel: http://msdn2.microsoft.com/de-de/library/system.windows.forms.application.startuppath(VS.80).aspx



  • Hi an alle,

    Danke für eure Antworten, es klappt jetzt. 😃
    Ihr habt mir richtig geholfen. 👍

    Bis zum nächstem Problem 😉

    MostWantedprogrammer


Anmelden zum Antworten