Entwickler-Ecke
Sonstiges (FPC / Lazarus) / Linux API - Auf Schreibrechte in einem Verzeichnis prüfen
TheNameless - Do 05.10.06 23:02
Titel: Auf Schreibrechte in einem Verzeichnis prüfen
Hab ne kleine Frage:
Gibt es eine Funktion mit der man prüfen kann, ob man in einem Verzeichnis Schreibrechte hat?
Sollte unter Linux und Windows laufen, da ich das Programm für beide Platformen entwickle.
daPimP - Fr 06.10.06 01:08
Die einfachste Variante wäre die Probe!
Eine leere Datei versuchen zu erstellen - wenns nicht klappt sind auch keine Rechte verfügbar.
Wenig Aufwand - große Wirkung.
Quake User - Fr 06.10.06 02:04
Das Mittel der Wahl währe:
- in das Verzeichnis schreiben
- und ggf. die exception behandeln
TheNameless - Fr 06.10.06 15:33
Ja so ähnlich hab ichs bis jetzt auch gelöst, dachte vielleicht gibt es eine elegantere Lösung, sodass man den Benutzer schon beim Verzeichnis auswählen darauf hinweisen kann...
Quake User - Fr 06.10.06 18:01
TheNameless hat folgendes geschrieben: |
Ja so ähnlich hab ichs bis jetzt auch gelöst, dachte vielleicht gibt es eine elegantere Lösung, sodass man den Benutzer schon beim Verzeichnis auswählen darauf hinweisen kann... |
definiere: "auswählen"
BTW: wird dadurch kein bischen besser. Der Nutzer hat trotzdem eine Fehlermeldung.
WENN müsste der Nutzer NUR die Verzeichnisse sehen, auf die er Rechte hat.
Das währe also sein Homedir.
Es ist also eher die Frage, ob sein Rechner "elegant" eingerichtet ist.
Marco D. - Fr 06.10.06 21:18
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| function IsDirWritable(Dir: string): boolean; var stream: TFileStream; begin try stream := TFileStream.Create(Dir+'\dummy.dat',fmCreate); result := true; FreeAndNil(stream); DeleteFile(Dir+'\dummy.dat'); except result := false; FreeAndNil(stream); end; end; |
Würde das so funktionieren, oder ist das so nicht richtig? :gruebel:
jakobwenzel - Fr 06.10.06 21:24
Ich würd noch die Spuren beseitigen (sprich: Die Datei wieder löschen)
Marco D. - Fr 06.10.06 21:30
jakobwenzel hat folgendes geschrieben: |
Ich würd noch die Spuren beseitigen (sprich: Die Datei wieder löschen) |
Schau mal, das macht er doch schon. ;)
TheNameless - Sa 07.10.06 22:08
Danke für die Funktion, ist wohl die beste wenn es keine andere möglichkeit gibt
Zitat: |
WENN müsste der Nutzer NUR die Verzeichnisse sehen, auf die er Rechte hat.
Das währe also sein Homedir.
Es ist also eher die Frage, ob sein Rechner "elegant" eingerichtet ist. |
Es ist ja nicht nur auf Linux bezogen unter Windows gibt es ja auch Rechte.
BTW: Gibt es eine Variable HomeDir oder ähnlich bei Kylix(!)?
Quake User - So 08.10.06 02:23
TheNameless hat folgendes geschrieben: |
Danke für die Funktion, ist wohl die beste wenn es keine andere möglichkeit gibt
Zitat: | WENN müsste der Nutzer NUR die Verzeichnisse sehen, auf die er Rechte hat.
Das währe also sein Homedir.
Es ist also eher die Frage, ob sein Rechner "elegant" eingerichtet ist. |
Es ist ja nicht nur auf Linux bezogen unter Windows gibt es ja auch Rechte.
|
Eben, und darum würde ich das komplett weg lassen und das Windows so einrichten, das der Nutzer Verzeichnisse nicht wählt, in der er auch nicht schreiben kann.
TheNameless - Do 12.10.06 19:22
Naja der User soll auch halt selbst wählen können welches Verzeichnis er schreiben will (muss er zwar nicht), da die Daten schon ein paar MB wegnehmen.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2024 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!