Textdateien unter MFC C++ schreibschützen....?



  • leider verstehe ich diesen kram hier nicht so ganz...fange grad damit an

    BOOL SetFileAttributes( LPCTSTR lpFileName, DWORD dwFileAttributes );

    was mir kopfschmerzen bereitet ist dieses LPCTSTR

    was fuer ne art von string ist das?

    werde auch im netz mal schaun..!! 😃

    danke dir!!!!



  • Guenter Mies schrieb:

    leider verstehe ich diesen kram hier nicht so ganz...fange grad damit an

    BOOL SetFileAttributes( LPCTSTR lpFileName, DWORD dwFileAttributes );

    was mir kopfschmerzen bereitet ist dieses LPCTSTR

    LP = Long-Pointer
    CT = Konstante
    STR = String



  • verdammter pointerkram....werd ich NIE verstehen

    ohne koennte das leben so einfach sein!!!!

    😞



  • Ist en Charpointer,
    pass auf
    machst das am besten so:

    //Hast wahrscheinlich den Pfad in einem CString stehen
    CString strPfad = "C:\\DeinPfad\\DeineDatei.txt"
    TCHAR cPfad[255];
    memset(cPfad, 0, sizeof(cPfad));
    
    strcpy(cPfad, strPfad);
    //ab hier hast du allesin cPfad stehen das nimmste jetzt und:
    
    //Versteckt und schreibgeschützt setzen
    ::SetFileAttributes(cPfad, FILE_ATTRIBUTE_READONLY | FILE_ATTRIBUTE_HIDDEN);
    

    Ach ich Ulles ich sehe gerade du brauchst garnicht den string in den char zu kopieren das geht auch so mit dem CString. Klar ich habe den Datentyp nicht beobachtet (LPCTSTR > konstant)*g* aber klappt auch so...

    *winke*
    Hellsgore



  • also ich habe diese paar zeilen und kriege es nicht gebacken.... schande über mich
    🤡

    CString Dateiname ="Daten\\Neukunden\" + m_MatrixOffeneAnfragen[m_zahl][0] +"KDneu.txt";
    CFile datei(Dateiname, CFile::modeCreate |CFile::modeWrite );
    datei.Write(str,laenge);

    //////SCHREIBSCHUTZ
    BOOL SetFileAttributes(Dateiname, FILE_ATTRIBUTE_READONLY);
    //////

    datei.Close();
    UpdateData(false);

    helft mir bitte!!!



  • Gucke:

    CString Dateiname ="Daten\\Neukunden\\" + m_MatrixOffeneAnfragen[m_zahl][0] +"KDneu.txt"; 
    CFile datei(Dateiname, CFile::modeCreate |CFile::modeWrite ); 
    datei.Write(str,laenge); 
    
    //////SCHREIBSCHUTZ 
    ::SetFileAttributes(Dateiname, FILE_ATTRIBUTE_READONLY); //da war der Fehler
    DWORD dwError = GetLastError();
    //wenns noch einen Fehler gibt durchdebuggen und in dwError gucken
    ////// 
    
    datei.Close(); 
    UpdateData(false);
    

    *winke*



  • Ja Moment geht das so überhaupt?
    musste mal testen weiss das jetzt nicht so genau ob man attribute verändern kann während die Datei genutzt wird ich glaube aber nicht. Musst mal schauen wenn es einen Fehler gibt dann steht der bestimmt in dwError. Dann musst du die Attribute nachdem du die Datei geschlossen hast setzen.....



  • sorry hatte dein vorletztes posting noch nicht gesehen

    VIELEN DANK AUCH!!!

    wenn du mir nun noch mit dieser drecks dateikonvertierung helfen kannst wirst du auf ewig in meiner liste der hilfsbereiten superC++ler stehen 😃



  • Hilfsbereit schon aber kein super c++ler *g*



  • 😃 😃 😃 sollte dich nicht von dem DATEIKONVERTIERUNGSPROB abhalten... 😃 😃 😃



  • SCHREIBSCHUTZ SO WIE IN DIESEN CODEZEILEN ANGEGEBEN FUNZT!!!!!!!!!!!

    weltgroessten dank 😃


Anmelden zum Antworten