Schreibschutz für Datei setzen (Win und Mac)

Übersicht BlitzMax, BlitzMax NG Allgemein

Neue Antwort erstellen

 

danibert

Betreff: Schreibschutz für Datei setzen (Win und Mac)

BeitragDi, Aug 24, 2010 10:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

kann ich aus BMax das Schreibschutzattribut für eine Datei setzen?
Die DOS-Methode über cmd.... ist nicht, was ich suche, da die Dateinamen auch Sonderzeichen enthalten.
Dan Ganze soll unter Windows und Mac funktionieren.

Danke im Voraus

Thunder

BeitragDi, Aug 24, 2010 10:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Die Methode mit attrib funktioniert afaik auch mit Sonderzeichen, wenn du den Dateinamen in Anführungszeichen setzt. Falls du eine WinAPI-Funktion suchst findet man die nach kurzer Suche: http://msdn.microsoft.com/en-u...85%29.aspx .
Von MacOS hab ich keine Ahnung.

mfg Thunder
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit
 

Macintosh

BeitragDi, Aug 24, 2010 20:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Mac:

Cocoa -> NSFileManager -> setAttributes:ofItemAtPath:error:

das könnte dann so aussehen:
Code: [AUSKLAPPEN]
#import <Foundation/Foundation.h>
#include <pub.mod/macos.mod/macos.h>

int setFileMutable( BBString *path, int option ){
   
   NSFileManager *manager = [NSFileManager defaultManager];
   NSDictionary *attributes = [NSDictionary dictionaryWithObject:[NSNumber numberWithBool:(BOOL)option] forKey:NSFileImmutable];
   
   return [manager setAttributes:attributes ofItemAtPath:NSStringFromBBString(path) error:nil];

}


funktioniert wunderbar
 

danibert

BeitragFr, Aug 27, 2010 21:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke für die Hilfe.
Habe gerade noch im englischen Forum den Befehl setFileMode() gefunden... Very Happy
Der Befehl nutzt die Unix-Dateiberechtigungen (lesen, schreiben, ausführen) jeweils für Besitzer, Gruppe und alle anderen.
Schreibgeschützt wäre dann SetFileMode(dateipfad,100100100)

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group