Wie SaveDialog Eingenschaften in Ini schreiben und lesen?



  • Hi leute, ich möchte den Filename und InitDir eines SaveDialogs in einer Ini speichern, sodass beim erneuten programm oder dialogstart der eingebene name und der pfad noch drin stehen!

    Mein versuch:

    void __fastcall TForm1::TextinDateispeichern1Click(TObject *Sender)
    {
    
    ini = new TIniFile(ChangeFileExt(Application->ExeName,".ini"));
    SaveDialog1->InitialDir=ini->ReadString("SaveDialog1","InitialDir",SaveDialog1->InitialDir);
    SaveDialog1->FileName=Ini->ReadString("SaveDialog2","FileName",SaveDialog1->FileName);
    SaveDialog1->Execute();
    ini->WriteString("SaveDialog1","InitialDir",SaveDialog1->InitialDir);
    ini->WriteString("SaveDialog2","FileName",SaveDialog1->FileName);
    Memo1->Lines->SaveToFile(SaveDialog1->FileName);
    }
    

    allerdings sieht die ini dann so aus:

    [SaveDialog1]
    InitialDir=
    [SaveDialog2]
    FileName=C:\Dokumente und Einstellungen\SchneiderS\Desktop\testspruch2.txt
    

    initdir ist leer und filename is alles 😞

    wie geht das denn richtig?



  • Hallo

    du must beim Speichern des Inifiles einfach aus Filename noch mit ExtractFilePath den Pfad extrahieren und dann in InitialDir speichern.
    Denn sonst bekommt InitialDir ja überhauptkein Wert.

    bis bald
    akari


Anmelden zum Antworten