Seite 1 von 1

Schreibschutz entfernen

Verfasst: 9. März 2009 13:18
von escor
Hallo, ich brauch mal wieder eure Hilfe. Ich versuche den schreibschutz von einer Datei zu entfernen, damit ich diese überschreiben kann. Ich finde dazu irgendwie nix. Im Anhang seht ihr welchen Schreibschutz ich meine.

Verfasst: 9. März 2009 13:46
von CLRS530
Mit Qt ist das meines Wissens nach nicht möglich. Da musst du selbst auf Funktionen der Systeme zurückgreifen.

EDIT:
http://doc.trolltech.com/4.4/qfile.html ... missions-2

Mit dem solltest du erreichen was du möchtest. Nicht schwer zu finden eigentlich oder?

Verfasst: 9. März 2009 13:49
von Christian81

Verfasst: 9. März 2009 13:53
von escor
Das hatte ich auch bereits gefunden, aber damit bin ich nicht weiter gekommen.

Verfasst: 9. März 2009 14:06
von Christian81
Wie? Funktioniert es nicht? Das glaube ich nicht...

Verfasst: 9. März 2009 14:21
von escor

Code: Alles auswählen

file.setPermissions( file.permissions() | QFile::WriteOwner | QFile::WriteUser | QFile::WriteGroup | QFile::WriteOther );
Somit dürfte jeder schreiben/löschen. Und ReadOnly gibt es nicht als Typ, also kann ich auch nix mit ReadOnly entfernen.

Verfasst: 9. März 2009 18:00
von CLRS530
Hm?? Wo ist der Sinn in deinem Posting. Willst du uns sagen, dass die von dir geschriebene Quelltextzeile nicht funktioniert?

EDIT:
Extra für dich, habe ich es jetzt noch einmal selbst überprüft.

Code: Alles auswählen

QFile::setPermissions(QString("e:\\file1"), QFile::permissions(QString("e:\\file1")) | QFile::WriteUser);
Folgende Zeile entfernt in diesem Fall unter Windows zuverlässig das ReadOnly Attribut einer Datei. Das sollte mit einer Instanz von QFile auch problemlos gehen. Das du keinen Eintrag ReadOnly hast ist klar, macht auch nicht wirklich Sinn, wenn es Write und Read als Access gibt.
Wenn du weiterhin Probleme hast, solltest du einmal gucken, ob du wirklich mit QFile auf die Datei zeigst und nicht vielleicht da der Fehler liegt.