Aktuelle Zeit: 22.05.2013 09:07

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 11 Beiträge ]  Gehe zu Seite 1, 2  Nächste
Autor Nachricht
 Betreff des Beitrags: Problem mit Dirs erstellen
BeitragVerfasst: 11.11.2010 12:40 
Offline
Benutzeravatar

Registriert: 01.10.2004 10:02
Also, ich hab ein Problem, was ich nciht verstehe...
Ich bin dabei, ein kleines Programm zu schreiben, das Daten speichert und dazu eine Ordnerstruktur anlegt.

Bisher habe ich das im Programmverzeichnis gemacht. Problemlos.

Mit dem neuen Win7 geht das ja nicht mehr so gut, also bin ich brav auf GetHomeDirectory() umgestiegen.
Das ist:
Zitat:
C:\Dokumente und Einstellungen\MeinName\


Ich habe das auf nem W7 Rechner (mit Debugger) getestet. Ging problemlos.
Dann habe ich das als exe unter XP jemanden zum testen gegeben. Das Problem ist nun, das das Programm scheinbar den ersten Unterordner in dem Verzeichnis erstellt.
Also
Zitat:
C:\Dokumente und Einstellungen\MeinName\Programmname\


nun sollte es anoch weitere Ordner erstellen
Also
Zitat:
C:\Dokumente und Einstellungen\MeinName\Programmname\Daten\Temp


Unter XP erstellt er wohl den ersten Unterordner. Der Rest ist aber unklar. Der User kann nicht darauf zugreifen (unzureichende Berechtigung), das Programm scheinbar auch nicht (zumindest treten Fehler, auf die darauf schliessen lassen)

(Unter Linux funktioniert die Geschcihte problemlos)

Hat jemand ne Idee, woran das liegen könnte? UNd wir man das machen könnte, das es dann auch auf allen Platformen läuft?

Danke schonmal


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Problem mit Dirs erstellen
BeitragVerfasst: 11.11.2010 12:59 
Offline
CodeCommander
Benutzeravatar

Registriert: 08.09.2004 00:57
Wohnort: Berlin
Dostej hat geschrieben:
UNd wir man das machen könnte, das es dann auch auf allen Platformen läuft?

Danke schonmal

CompilerDirectiven!, damit es Systemkonform bleibt.
Unter windows APPDATA nehmen.

Gruß
Thomas

_________________
PureBasic 5.11 | Windows 7 SP1 (x64) | Linux Mint 14 (x64) | RealSource
Bild
Der CodeCommander, der seine Finger sowohl von Windows 8, wie auch dem Monitor lässt!


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Problem mit Dirs erstellen
BeitragVerfasst: 11.11.2010 14:43 
Offline
Benutzeravatar

Registriert: 01.10.2004 10:02
Hallo Thomas

DAnke für die iNfo.

Zwei Fragen dazu, ob ich das richtig verstanden habe:

Also das beste ist es, per Compilerdirectiven das OS zu bestimmen und dann den Pfad je nach OS belegen.
Linux ist mir soweit klar.

Windows in APPdata. Das bekomme ich über ne API-Abfrage (Hab im Forzum was gefunden dazu
PrefsPath$ = GetEnvironmentVariable("APPDATA")

Warum geht GetHomeDirectory() nicht? Ich dachte damit bekomme ich plattformübergreifend das Appdata- Verzeichnis?


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Problem mit Dirs erstellen
BeitragVerfasst: 11.11.2010 15:12 
Offline
CodeCommander
Benutzeravatar

Registriert: 08.09.2004 00:57
Wohnort: Berlin
Dostej hat geschrieben:
Warum geht GetHomeDirectory() nicht? Ich dachte damit bekomme ich plattformübergreifend das Appdata- Verzeichnis?

Es gibt nur unter Windows ein Appdata-Verzeichnis! Homedir ist in Windows nicht für Einstellungsdateien vorgesehen (ist ein Verzeichnis zu hoch :mrgreen: )

Gruß
Thomas

PS: Ohne Compilerdirektiven wird wohl nur in sehr kleinen Programmen ein MultiOS-Source möglich sein :wink:

_________________
PureBasic 5.11 | Windows 7 SP1 (x64) | Linux Mint 14 (x64) | RealSource
Bild
Der CodeCommander, der seine Finger sowohl von Windows 8, wie auch dem Monitor lässt!


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Problem mit Dirs erstellen
BeitragVerfasst: 11.11.2010 19:17 
Offline
Benutzeravatar

Registriert: 10.09.2004 09:59
ts-soft hat geschrieben:
Dostej hat geschrieben:
Warum geht GetHomeDirectory() nicht? Ich dachte damit bekomme ich plattformübergreifend das Appdata- Verzeichnis?

Es gibt nur unter Windows ein Appdata-Verzeichnis! Homedir ist in Windows nicht für Einstellungsdateien vorgesehen (ist ein Verzeichnis zu hoch :mrgreen: )

Gruß
Thomas


Es gibt aber sehr viele Programme (DropBox, Gimp, Jameica, ...), die genau dort jede Menge Verzeichnisse anlegen und auch irgendwelche Dinge speichern,
ich kann mir eigentlich nicht vorstellen, dass das (gerade bei XP) nicht erlaubt sein sollte.
Steckt der Fehler nicht eher irgendwo anders?

_________________
Bild


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Problem mit Dirs erstellen
BeitragVerfasst: 11.11.2010 19:42 
Offline
CodeCommander
Benutzeravatar

Registriert: 08.09.2004 00:57
Wohnort: Berlin
HeX0R hat geschrieben:
Steckt der Fehler nicht eher irgendwo anders?

Das dachte ich auch zuerst, bin dann aber nicht drauf eingegangen.

Dia, VirtualBox und ein paar andere haben bei mir auch solche Verzeichnisse angelegt.
Da Verzeichnisse die mit einem Punkt beginnen unter Windows aber nicht versteckt werden,
finde ich diese Lösung nicht so optimal (will diesen mist ja dort meist garnicht sehen :mrgreen: ) .

Gruß
Thomas

_________________
PureBasic 5.11 | Windows 7 SP1 (x64) | Linux Mint 14 (x64) | RealSource
Bild
Der CodeCommander, der seine Finger sowohl von Windows 8, wie auch dem Monitor lässt!


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Problem mit Dirs erstellen
BeitragVerfasst: 15.11.2010 12:14 
Offline
Benutzeravatar

Registriert: 01.10.2004 10:02
Kein Ahnung wo der Fehler genau gesteckt hat. Mit"Appdata" - Dir geht es jedenfalls nun. Danke für die Hilfe.

Ohne das das jetzt (für mich) relevant wäre, aber ich verstehe das noch nicht so wirklich...
In der PB-Hilfe steht:
Zitat:
Gibt das 'Home'-Verzeichnis (Anwender-bezogen) des aktuell eingeloggten Anwenders zurück.

Dies bedeutet, dass in diesem Verzeichnis gelesen/geschrieben werden kann. Dieses Verzeichnis ist Anwender-spezifisch und kann nützlich sein, um Daten pro Anwender zu speichern (z.B. Voreinstellen, Plugins, etc.).

Es ist sehr unwahrscheinlich, aber wenn diese Funktion fehlschlägt, wird ein leerer String zurückgegeben.


Wieso gibt dann Homedir() nicht das Appdata-Dir unter Win zurück?
Was ist das für ein Dir, das da zurückgegeben wird?


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Problem mit Dirs erstellen
BeitragVerfasst: 15.11.2010 13:14 
Offline
CodeCommander
Benutzeravatar

Registriert: 08.09.2004 00:57
Wohnort: Berlin
Dostej hat geschrieben:
Was ist das für ein Dir, das da zurückgegeben wird?

Das Verzeichnis, das virtuell auf dt. Systemen "Benutzer" heißt. Windows verwendet
aber nun mal dieses nicht für Einstellungen. Mit anderen Worten, Windows benutzt
nicht das "HomeDir" für Einstellungen.

_________________
PureBasic 5.11 | Windows 7 SP1 (x64) | Linux Mint 14 (x64) | RealSource
Bild
Der CodeCommander, der seine Finger sowohl von Windows 8, wie auch dem Monitor lässt!


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Problem mit Dirs erstellen
BeitragVerfasst: 15.11.2010 13:53 
Offline
Benutzeravatar

Registriert: 10.09.2004 09:59
Ich denke mal bei Windows handelt es sich um die Environmentvariable USERPROFILE.

Vielleicht sollte man für die APPDATA doch mal irgendwann eine native PB-Funktion hinzufügen,
damit ts-soft endlich die Fussel von den Lippen wischen kann... :mrgreen:

_________________
Bild


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Problem mit Dirs erstellen
BeitragVerfasst: 15.11.2010 14:03 
Offline
Benutzeravatar

Registriert: 01.04.2007 20:18
HeX0R hat geschrieben:
Ich denke mal bei Windows handelt es sich um die Environmentvariable USERPROFILE.

Vielleicht sollte man für die APPDATA doch mal irgendwann eine native PB-Funktion hinzufügen,
damit ts-soft endlich die Fussel von den Lippen wischen kann... :mrgreen:


Wenn ein LINUX & MAC-OS Äquivalent dazu existiert, könnten die Chancen sogar gut stehen :D

_________________
Schlagt mich nicht, wenn ich falsch liege...
________________________________________________________________________________________________________________________
PureBasic 5.11 x86/x64 | Windows7 x64 | AMD X2 5600 | NVidia GTS 450


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 11 Beiträge ]  Gehe zu Seite 1, 2  Nächste

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye