Pfad-Umgebung abfrage
Pfad-Umgebung abfrage
Mit welchem Befehl kann ich Daten wie z.B. den Pfad zum AppData-Ordner auslesen? GetUserDirectory() ist der einzige Befehl, den ich zu diesem Thema gefunden habe, aber er gibt nicht ganz das wieder, was ich möchte... (Üblicherweise ist der AppData-Ordner ohne Schreibblockade, auch wenn man im User-Modus ist und nicht unter XP)...
Den Pfad zum AppData-Verzeichnis kannst du mit dem Beispielcode von ts-soft ermitteln:
Code: Alles auswählen
Procedure.s GetSpecialFolder(CSIDL.l)
Protected *itemid.ITEMIDLIST
Protected location.s = Space(#MAX_PATH)
If SHGetSpecialFolderLocation_ (0, CSIDL, @*itemid) = #NOERROR
If SHGetPathFromIDList_(*itemid, @location)
CoTaskMemFree_(*itemid)
If Right(location, 1) <> "\" : location + "\" : EndIf
ProcedureReturn location
EndIf
EndIf
EndProcedure
Debug GetSpecialFolder(#CSIDL_APPDATA)Danke, das scheint zu funktionieren (muss ich nur noch auf Vista und XP testen).
An wen muss ich mich denn mit Verbesserungsvorschlägen für PureBasic wenden? Wenn ich Windows frage, wo ein besonderer Ordner ist, z,B, der AppData-Ordner, benutze ich "%APPDATA%... Wenn man unter CMD den Befehl SET eingibt, wird direkt eine Liste mit Umgebungsvariablen ausgespuckt. Eine Funktion wie "GetSystemVariable(name.s)" wär da eigentlich nicht verkehrt.. So weit ich das erkennen kann, fragt GetUserDirectory() auch nur nach der Variablen "USERPROFILE".
An wen muss ich mich denn mit Verbesserungsvorschlägen für PureBasic wenden? Wenn ich Windows frage, wo ein besonderer Ordner ist, z,B, der AppData-Ordner, benutze ich "%APPDATA%... Wenn man unter CMD den Befehl SET eingibt, wird direkt eine Liste mit Umgebungsvariablen ausgespuckt. Eine Funktion wie "GetSystemVariable(name.s)" wär da eigentlich nicht verkehrt.. So weit ich das erkennen kann, fragt GetUserDirectory() auch nur nach der Variablen "USERPROFILE".
-
Kaeru Gaman
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
> An wen muss ich mich denn mit Verbesserungsvorschlägen für PureBasic wenden?
http://www.purebasic.fr/english/viewforum.php?f=3
... allerdings würde ich dir durchaus erstmal eine kräftige Portion RTFM empfehlen ...
http://www.purebasic.com/german/documen ... ables.html
http://www.purebasic.fr/english/viewforum.php?f=3
... allerdings würde ich dir durchaus erstmal eine kräftige Portion RTFM empfehlen ...
http://www.purebasic.com/german/documen ... ables.html
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
...was nicht schwer ist, denn wer Englisch kann, denkt immer so:
get = kriege
environment = umgebung
variable = variable
GetEnvironmentVariable() ist also ein einfacher, syntaktisch selbsterklärender Befehl. Um den geht's, damit kriegst du %AppData% direkt, ExamineEnvironmentVariable() ist nur nötig, um nach unbekannten Umgebungsvariablen zu suchen, die du (noch) nicht kennst.
Einer der Englisch kann, gibt also "get" ein uns liest sich schnell die Autocomplete-Einträge durch.
Wer neugierig ist und gern ausprobiert, hätte es zum Beispiel so versucht:...weil er vermutet, dass SetCurrentDirectory() die Variable autoamtisch konvertiert.
Anscheinend bist du weder des Englischen mächtig oder neugierig, also hoffen wir, dass du wenigstens rational bist und deutsch verstehst:
Denn so einer hätte die Hilfe aufgeschlagen, nicht gewusst, in welcher Kategorie GetEnvironmentVariable() gehört und "Misc" aufgeschlagen. Mist, steht da nicht. FileSystem vielleicht? Nö auch nicht. Ah da, vielleicht ist es "Process". Bingo, Ingo!
Schade, dass du in keine dieser 3 KatEgorien gehörst, KatSeiko.
Eines muss man dir aber lassen:
Mit deinem "GetSystemVariable()" lagst du ja nicht sehr verkehrt. Also versuche demnächst doch mal, zu Kategorie 1 zu gehören und vielleicht löst sich dann dein Problem von selbst!
get = kriege
environment = umgebung
variable = variable
GetEnvironmentVariable() ist also ein einfacher, syntaktisch selbsterklärender Befehl. Um den geht's, damit kriegst du %AppData% direkt, ExamineEnvironmentVariable() ist nur nötig, um nach unbekannten Umgebungsvariablen zu suchen, die du (noch) nicht kennst.
Einer der Englisch kann, gibt also "get" ein uns liest sich schnell die Autocomplete-Einträge durch.
Wer neugierig ist und gern ausprobiert, hätte es zum Beispiel so versucht:
Code: Alles auswählen
SetCurrentDirectory("%APPDATA%")
appdata.s=GetCurrentDirectory()
Debug appdata
ExamineDirectory(0, appdata, "")
; Verzeichnis auslesenAnscheinend bist du weder des Englischen mächtig oder neugierig, also hoffen wir, dass du wenigstens rational bist und deutsch verstehst:
Denn so einer hätte die Hilfe aufgeschlagen, nicht gewusst, in welcher Kategorie GetEnvironmentVariable() gehört und "Misc" aufgeschlagen. Mist, steht da nicht. FileSystem vielleicht? Nö auch nicht. Ah da, vielleicht ist es "Process". Bingo, Ingo!
Schade, dass du in keine dieser 3 KatEgorien gehörst, KatSeiko.
Eines muss man dir aber lassen:
Mit deinem "GetSystemVariable()" lagst du ja nicht sehr verkehrt. Also versuche demnächst doch mal, zu Kategorie 1 zu gehören und vielleicht löst sich dann dein Problem von selbst!
PB 4.30
Code: Alles auswählen
Macro Happy
;-)
EndMacro
Happy EndMußt Du eigentlich ständig so überheblich sein?
Im Übrigen kann es doch auch gut sein, daß er nichtmal den deutschen Begriff "Umgebungsvariable" kennt (weil dieser Begriff ungefähr genauso intuitiv ist wie "Eingabegebietsschemaleiste" oder sowas), wie soll er dann aus dem Nichts heraus auf "Environment" kommen?
Im Übrigen kann es doch auch gut sein, daß er nichtmal den deutschen Begriff "Umgebungsvariable" kennt (weil dieser Begriff ungefähr genauso intuitiv ist wie "Eingabegebietsschemaleiste" oder sowas), wie soll er dann aus dem Nichts heraus auf "Environment" kommen?

ZeHa hat bisher kein Danke erhalten.
Klicke hier, wenn Du wissen möchtest, woran ihm das vorbeigeht.
Gut, ich hätte auch Kaeru Gaman rezitieren können, aber dann wäre es nicht so konstruktiv gewesen.
Ich wusste nicht, dass Vorschläge für Problembewältigung so wenig gefragt sind. Da frage ich mich dann wiederum, was die ganzen Unterforne hier sollen. Offtopic reicht doch.
P.S.: Das war Ironie.
Ich wusste nicht, dass Vorschläge für Problembewältigung so wenig gefragt sind. Da frage ich mich dann wiederum, was die ganzen Unterforne hier sollen. Offtopic reicht doch.
P.S.: Das war Ironie.
PB 4.30
Code: Alles auswählen
Macro Happy
;-)
EndMacro
Happy End-
Kaeru Gaman
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
-
DarkDragon
- Beiträge: 6291
- Registriert: 29.08.2004 08:37
- Computerausstattung: Hoffentlich bald keine mehr
- Kontaktdaten:
Joa, hätt ich das bloß nie gemacht, ich bereue es heute. Ich hätte viel mehr in Foren Fragen sollen statt selbst zu suchen. Jetzt ist meine Motivation erschöpft, weil ich zuviel übers Programmieren in meinem Bereich weiß. Früher war das nicht so als ich noch in Foren alles erfragt hab.Kaeru Gaman hat geschrieben:öhm... nö.KatSeiko hat geschrieben:Okay, aber eins musst du zugeben: Auf diesen Namen muss erst mal einer kommen!
Auch die Help hat ne Suchfunktion.
"*environment*" ins suchfeld einzugeben ist völlig ausreichend.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.



