Seite 3 von 3
Re: Ordner für Programsettings?
Verfasst: 01.04.2010 21:21
von ts-soft
al90 hat geschrieben:ts-soft hat geschrieben:
Auch wenn heute der 1.04. ist, sind bisher nur meine beiden Lösungen akzeptabel, jedenfalls
für mich
Alles andere ist eher unprofessionelles gewurschtel

Ich verlasse mich da lieber auf Praktische Tests. Und wenn XP / Vista / 7 sagen das es geht,
dann mache ich es auch so. Nur so kann man sich sicher sein.

Du kannst garnicht alle Situationen und Konfigurationen testen! Das ist ein Ding der Unmöglichkeit!
Z.B. kann ich den Ort für APPDATA seit Windows 7, einfach in der Systemsteuerung woanders hinlegen,
dann ist er auch kein Unterordner vom HomeDirectory o. ä., sondern sitzt ganz woanders.
Die Environmentvariable kannste statt der Procedure ab w2k nutzen, aber das zusammenbasteln von
Pfaden wie DrFalo es macht, würde ich sein lassen, es sei denn, man möchte seine Kunden/Benutzer
verärgern
Jetzt geht mir aber die Lust so langsam aus, macht was Ihr wollt, aber gebt mir eure Programme nicht

Re: Ordner für Programsettings?
Verfasst: 01.04.2010 21:36
von al90
ts-soft hat geschrieben:Du kannst garnicht alle Situationen und Konfigurationen testen! Das ist ein Ding der Unmöglichkeit!
Das muss ich ja auch nicht. Eine einfache Rückgabe des Ordners reicht doch völlig aus, wo ist das Problem?
Ob ich den nun in der Systemsteuerung ändere oder nicht. Testen brauche ich da nichts. Alles andere wäre
doch Haarspalterei.
Die Environmentvariable kannste statt der Procedure ab w2k nutzen
War mir nicht bewusst. Ich dachte immer, wenn, dann erst ab XP. (wenn überhaupt)
Aber hatte es ja gerade getestet unter XP. (s.o.)
Jetzt geht mir aber die Lust so langsam aus, macht was Ihr wollt, aber gebt mir eure Programme nicht

Na jetzt übertreibste aber.

Re: Ordner für Programsettings?
Verfasst: 01.04.2010 21:37
von rolaf
ts-soft hat geschrieben:Z.B. kann ich den Ort für APPDATA seit Windows 7, einfach in der Systemsteuerung woanders hinlegen,
dann ist er auch kein Unterordner vom HomeDirectory o. ä., sondern sitzt ganz woanders.
Das ändert nichts an der Tatsache das das HomeDirectory für das Ablegen von Daten ist. Insofern kann dann trotzdem ein Anwendungsdaten-Ordner drin angelegt und genutzt werden um Programmdaten abzulegen, was ja im Programm-Ordner nicht mehr geht. Und exakt genau darum gehts, nicht mehr. Wichtig ist dabei das das Programm seine Daten findet und das ist in allen Windosen der Fall.

Re: Ordner für Programsettings?
Verfasst: 01.04.2010 21:57
von ts-soft
DrFalo hat geschrieben:ts-soft hat geschrieben:Z.B. kann ich den Ort für APPDATA seit Windows 7, einfach in der Systemsteuerung woanders hinlegen,
dann ist er auch kein Unterordner vom HomeDirectory o. ä., sondern sitzt ganz woanders.
Das ändert nichts an der Tatsache das das HomeDirectory für das Ablegen von Daten ist. Insofern kann dann trotzdem ein Anwendungsdaten-Ordner drin angelegt und genutzt werden um Programmdaten abzulegen, was ja im Programm-Ordner nicht mehr geht. Und exakt genau darum gehts, nicht mehr. Wichtig ist dabei das das Programm seine Daten findet und das ist in allen Windosen der Fall.

Wenn ich z.B. APPDATA nach D: verlagert habe um es einfacher sichern zu können und die Einstellungen
Deines Programmes ignorieren die Windows Vorgaben, dann bin ich schon verärgert und suche mir ein
anderes Programm.
Machen kann man viel, aber es bringt wohl keinerlei Vorteile, es so zu machen, nur Nachteile.
Re: Ordner für Programsettings?
Verfasst: 02.04.2010 12:03
von rolaf
Najutt - jewonnen. (Weil die Sonne gerade so schön scheint.)
Code: Alles auswählen
Procedure.s DatenPfad(Firma.s, Programm.s)
Protected DatenPfad.s
DatenPfad = Space(#MAX_PATH)
SHGetSpecialFolderLocation_(0, #CSIDL_APPDATA, @FolderID)
SHGetPathFromIDList_(FolderID, @DatenPfad)
If Right(DatenPfad, 1) <> "\"
DatenPfad + "\"
EndIf
DatenPfad + Firma + "\"
If FileSize(DatenPfad) <> - 2
CreateDirectory(DatenPfad)
EndIf
DatenPfad + Programm + "\"
If FileSize(DatenPfad) <> - 2
CreateDirectory(DatenPfad)
EndIf
ProcedureReturn DatenPfad
EndProcedure
Debug DatenPfad("TS-Softs", "GibRuheAnwendungsPfadProgrammUndUeberhaupt")