kommandozeilen programm, strings etc.



  • benutzt du windoofs? wenn ja, da gibt's fertige funktionen für sowas.
    🙂



  • ja, ich benutze windows.

    welche funktionen meinst du?

    danke schonmal an supertux soweit 🙂
    die ini-dateien sind allerdings vorgegeben und beinhalten keine sections





  • hm, funktioniert soweit das programm aus deinem link, aber wie kann ich das jetzt sinnvoll auf meine ini-datei anwenden (natürlich nur das getString, nicht das writeString)?

    dieser pfad zur registry ist irgendwie auch verwirrend...



  • GetProfileString ?



  • Inqui schrieb:

    hm, funktioniert soweit das programm aus deinem link, aber wie kann ich das jetzt sinnvoll auf meine ini-datei anwenden (natürlich nur das getString, nicht das writeString)?

    steht doch da. das letzte argument der funktion ist der pfad zu deiner ini-datei.

    Inqui schrieb:

    dieser pfad zur registry ist irgendwie auch verwirrend...

    naja, mit den funktionen kann man auch reg-entries schreiben. das kannste aber ignorieren.
    🙂



  • ah,ok.
    ich hatte da probeweise schonmal meinen pfad eingegeben, aber hatte nicht geklappt. ich versuchs montag nochmal und geb dann feedback, vielen dank soweit schonmal 🙂



  • Korrektur:
    Die WinAPi-Funktion ist GetPrivateProfileString!
    Wenn man das Private weglässt, wirdx das ganze in die Registry gemappt (ursprünglich, bei älteren Win-Versionen wurde das in die Win.ini eingetragen, glaub ich)

    Ich hätt dazu dennoch eine Frage:

    wie kann ich die gloabele Section aus der Ini-File auslesen/schreiben?
    Gibt es die überhaupt bei Windows ini-Files?

    DWORD GetPrivateProfileString(
        LPCTSTR lpAppName,	// points to section name 
        LPCTSTR lpKeyName,	// points to key name 
        LPCTSTR lpDefault,	// points to default string 
        LPTSTR lpReturnedString,	// points to destination buffer 
        DWORD nSize,	// size of destination buffer 
        LPCTSTR lpFileName 	// points to initialization filename 
       );
    
    BOOL WritePrivateProfileString(
        LPCTSTR lpAppName,	// pointer to section name 
        LPCTSTR lpKeyName,	// pointer to key name 
        LPCTSTR lpString,	// pointer to string to add 
        LPCTSTR lpFileName 	// pointer to initialization filename 
       );
    

    Was muss ich da beim ersten Parameter angeben? NULL funktioniert nicht, da schreibt die Funktion alle Section-names in den Puffer.



  • also nach wie vor komme ich nicht zur richtigen ini-datei in meinem verzeichnis...

    z:\tools\testprog

    wäre das richtige, aber

    GetPrivateProfileString (TEXT("Section1"), 
    	   TEXT("FirstKey"), 
    	   TEXT("Error: GPPS failed"), 
    	   inBuf, 
    	   80, 
    	   TEXT("z:\tools\testprog\append.ini")); 
       printf (TEXT("Key: %s\n"), inBuf);
    

    führt nicht zum gewünschten ergebnis...

    kann mir jemand weiterhelfen? danke 😉



  • GetPrivateProfileString (TEXT("Section1"), 
    	   TEXT("keyA"), 
    	   TEXT("Error: GPPS failed"), 
    	   inBuf, 
    	   80, 
    	   TEXT("D:\\User\\Pompetzki\\tools\\testprog\\cdplayer.ini")); 
       printf (TEXT("Wert: %s\n"), inBuf);
    

    doppelter backshlash ist die lösung 😉


Anmelden zum Antworten