Datei Pfad abspeichern bzw. Übergebn



  • Hallo,

    Ich habe ein mittelschweres Problem. Ich habe bereits im Netz nach meinem Problem gesucht konnte aber mit den antworten nicht sehr viel anfangen.
    Ich hoffe hier kann mir jmd. helfen.

    Ich möchte mit dem ersten Button eine Datei anwählen. Diese Datei soll mit dem 2. Butten geöffnet und geändert werden. Dies funktioniert alles. Ich kann die Datei öffnen und mir in einem Fenster anzeigen lassen.

    Jetzt zu meinem Problem. Ich möchte mir den Datei Pfad und den Pfad zum Ordner irgendwie abspeichern ich habe keine Ahnung wie das geht. Den Pfad muss ich beim 2. Button eintragen. (Aus C:\Programme muss man C:\\Programme machen)

    Wenn möglich eine einfache Erklärung da ich ein Anfänger bin.
    Ich benütze wxdevc++

    Schon mal Vielen Dank

    void Projekt3Frm::WxButton1Click(wxCommandEvent& event)
    {
        std::string converToRegistryPath(std::string);
    
        if(dlgOpenFile->ShowModal())
        {
        WxMemo1->LoadFile(dlgOpenFile->GetPath());    
        }
    
    }
    
    void Projekt3Frm::WxButton2Click0(wxCommandEvent& event)
    {
    
        FILE *Lesedrills ;
        char Zeiledrills[1501];
        FILE *Schreibedrills;
    
    Lesedrills = fopen("[b]Dateipfad/[b] ","r");
    Schreibedrills = fopen("[b]Ordnerpfad/[b]+\\fertigedrills.dat ","w");
    
     if (Lesedrills == NULL )
               {
                          return ;
               }
    fgets(Zeiledrills,1500,Lesedrills);
    while(!feof (Lesedrills))
               {
                    if (strcmp (Zeiledrills,"HalloHallo\n")==0 )
                    {
                    Zeiledrills [0] = '\0';
                    fprintf(Schreibedrills,"Hallo ist weg\n");
                    continue;
                    }
    


  • Erstmal:
    Dein Code ist ein wilder mischmasch aus C und C++. Bitte führ Dir doch nochmal ein oder zwei Tutorials zu Gemüte und vllt auch ein Buch.

    Zu deinem Problem:
    Unter wxWidgets nimmt man am besten die Klasse wxConfig. Je nach System mutiert die zu einer anderen "Art" von Config-Klasse. Unter Linux werden Config Dateien abgelegt, unter Windows wird die Registry genutzt.
    Das einzig wichtige ist, dass man zu Beginn des Programms einige Informationen hinterlässt. Diese Informationen werden als Pfad in der Registry verwendet:

    Klasse App:

    this->SetVendorName(wxT("Scorched Productions"));
            this->SetAppName(wxT("AwesOme Script"));
            this->SetAppDisplayName(wxT("AwesOme Script"));
            this->SetVendorDisplayName(wxT("Scorched Productions"));
    

    http://code.google.com/p/awesomescript/source/browse/trunk/AwesOmeScript/Application.cpp#75

    Finden tut man das dann in diesem Fall unter:
    HKEY_CURRENT_USER\\Software\\Scorched Production\\AwesOme Script

    Man kann dann auf die Config so zugreifen als Beispiel:

    // Create Config Object
    wxConfig* config = new wxConfig();
    wxString view = config->Read("View", "Splitview");
    delete config;
    

    Das wäre jetzt lesend, die Write() Funktion wäre zum Schreiben von Werten.
    Beispiel aus der Praxis, ein Programm von mir:
    http://code.google.com/p/awesomescript/source/browse/trunk/AwesOmeScript/Mainframe.cpp#109

    rya.


Log in to reply