Delphi-PRAXiS
Seite 6 von 9   « Erste     456 78     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Tutorials und Kurse (https://www.delphipraxis.net/36-tutorials-und-kurse/)
-   -   Neuer Artikel bei mir: %HOMEDIR% - das unbekannte Verzeichni (https://www.delphipraxis.net/53783-neuer-artikel-bei-mir-homedir-das-unbekannte-verzeichni.html)

Luckie 23. Sep 2005 12:50

Re: Neuer Artikel bei mir: %HOMEDIR% - das unbekannte Verzei
 
Was macht ihr das eingentlich immer daran fest, ob es ein große oder kleines Tool ist? Meine LuckieDIPS würde ich auch als eher klein bezeichnen, aber was nütz mir das Programm, wenn ich im Anwendungsverzeichnis keine Schreibrechte habe? Aber auch wenn ich sie hätte, und es mehrere Benutzer auf dem System gibt, dann würden sich die Benutzer ja immer gegenseitig die gesicherten Iconpositionen überschreiben.

Es geht einzig und alleine darum, ob eine Programm von mehreren Benutzer genutzt werden soll oder nicht. Und nicht, ob Schreibrechte vorhanden sind oder nicht.

Dass es auch Außnahmen gibt, habe ich ja schon eingeräumt, zum Beispiel Software, die unteranderem speziell für den USB Stick zum mitrumschleppen konzipiert wurde.

MathiasSimmack 23. Sep 2005 16:13

Re: Neuer Artikel bei mir: %HOMEDIR% - das unbekannte Verzei
 
Anregung für einen neuen Artikel, Luckie: "Readme-Dateien, unbekannt und doch hilfreich" :stupid:

Zitat:

Zitat von NicoDE
(es gibt genug Programme die nicht auf Mehrbenutzersysteme ausgelegt sind - beste Beispiel OpenOffice (und das ist nicht gerade 'klein')).

Wenn du das Openoffice(.org) meinst, das ich kenne, dann musst du das Setup mal mit dem "-net"-Parameter starten, Nico, und du wirst staunen. :mrgreen: Edit: ~130MB global installierte Dateien, und nicht ganz 2 MB im Benutzerverzeichnis.

NicoDE 23. Sep 2005 16:35

Re: Neuer Artikel bei mir: %HOMEDIR% - das unbekannte Verzei
 
Zitat:

Zitat von MathiasSimmack
dann musst du das Setup mal mit dem "-net"-Parameter starten, Nico, und du wirst staunen. :mrgreen: Edit: ~130MB global installierte Dateien, und nicht ganz 2 MB im Benutzerverzeichnis.

[ot] Schön wär's, dann wird auf meinem Rechner nur die Hälfte installiert... (1.1.5 und 1.9.125) [ot]

Assun 27. Sep 2005 20:53

Re: Neuer Artikel bei mir: %HOMEDIR% - das unbekannte Verzei
 
Zitat:

Zitat von Sharky
Hai ihr,

um auch mal einen Beitrag zu leisen ;-)

Ich mache das ganz einfach so:
Wenn es im Verzeichniss der Exe eine INI für das Programm gibt und in dieser in einem bestimmten Abschnitt ein Pfad zu einem Datenverzeichniss steht wird dieser verwendet. Wenn dieser Eintrag nicht vorhanden (oder leer) ist wird das APPDIR verwendet.
Dadurch hat der Anwender die Möglichkeit zu bestimmen ob die Daten an einer von ihm bestimmten stelle stehen sollen.

Den Pfad zu dem Datenverzeichniss speichere ich dann einfach in einer globalen Variabel.
Delphi-Quellcode:
const
  Programmname = 'Test';

var
  AppDir:     string;

procedure TDataModule1.ProgrammInit;
var
  IniFile: string;
  myIni: TIniFile;
begin
  IniFile := ChangeFileExt(ParamStr(0), '.ini'); // Ininame = Exename
  AppDir := '';
  myIni := TIniFile.Create(IniFile);
  try
    AppDir := myIni.ReadString('programm', 'appdir', '');
  finally
    myIni.Free;
  end;
  if (AppDir = '') then
  begin
    AppDir := GetShellFolder(CSIDL_APPDATA);
    AppDir := AppDir + 'Sharky\' + Programmname;
  end;
  AppDir := IncludeTrailingBackslash(AppDir);
end;

procedure TDataModule1.DataModuleCreate(Sender: TObject);
begin
  ProgrammIni;
end;
Die Ini:
Code:
[programm]
;datadir = c:\test


Bei mir bringt er mir dann immer

Zitat:

[Fehler] MultiKey_uMain.pas(59): E2003 Undefinierter Bezeichner: 'GetShellFolder'
[Fehler] MultiKey_uMain.pas(59): E2003 Undefinierter Bezeichner: 'CSIDL_APPDATA'
Muss man da noch was einbinden ?

(sry wenns bissl OT is)

MathiasSimmack 27. Sep 2005 21:12

Re: Neuer Artikel bei mir: %HOMEDIR% - das unbekannte Verzei
 
Wie lange bist du schon hier? :gruebel:

1. Off-topic!
2. Suchfunktion?

SirThornberry 27. Sep 2005 21:14

Re: Neuer Artikel bei mir: %HOMEDIR% - das unbekannte Verzei
 
Zitat:

Zitat von Jelly
Naja, auch rechnerspezifische Daten müssen manchmal von normalen Usern gespeichert werden. Wie handhabt man denn das am Besten.

Auch das ist möglich, dafür gibt es den Ordner "Dokumente und Einstellungen\All Users" und dort haben dann auch alle Nutzer schreibrechte. Diesen besagten Ordner kann man auch per api ermitteln.

Jelly 27. Sep 2005 21:40

Re: Neuer Artikel bei mir: %HOMEDIR% - das unbekannte Verzei
 
Zitat:

Zitat von SirThornberry
Auch das ist möglich, dafür gibt es den Ordner "Dokumente und Einstellungen\All Users" und dort haben dann auch alle Nutzer schreibrechte. Diesen besagten Ordner kann man auch per api ermitteln.

Auf meinem XP haben die normalen User auch da nur Leserechte.

Olli 27. Sep 2005 21:52

Re: Neuer Artikel bei mir: %HOMEDIR% - das unbekannte Verzei
 
Zitat:

Zitat von NicoDE
[ot] Schön wär's, dann wird auf meinem Rechner nur die Hälfte installiert... (1.1.5 und 1.9.125) [ot]

[ot]Ich kann Mathias' Beobachtungen bestätigen - auf ziemlich vielen Rechnern im PC-Pool und zwar mit ziemlich vielen Benutzern und seit ziemlich vielen Versionen. Unattended Installs eingeschlossen![/ot]

Phoenix 28. Sep 2005 07:30

Re: Neuer Artikel bei mir: %HOMEDIR% - das unbekannte Verzei
 
Zitat:

Zitat von Jelly
Ich handhabe es zur Zeit so. Mit den nötigen Rechten werden meine Dateien, eigentlich ausschliesslich INI Dateien, im Intallationsverzeichnis gesichert. Schlägt dies fehl, so nehme ich auch das Heimverz. Naja, ist aber sicherlich auch nicht optimal. Besser wäre sicher die Registry.

Nein. Die Windows-Registry ist schon so gut wie tot.
Man sieht doch, wohin es gehen soll (schon mit .NET heute):

1.) Applikationen lassen sich per xcopy 'installieren'.
(Ja, der ausführende User muss Adminrechte haben wegen Startmenu-Eintrag z.B., aber installieren sollte imho eh nur der Admin dürfen).
2.) Einstellungen werden im User-Dir gespeichert
3.) Registry ist pfui

Stand heute würde ich es so machen:
Die Applikation speichert ihre Daten nur im User-Verzeichnis. Es gibt eine Backup-Funktion die die Userdaten des aktuellen Users in das AppDir (in ein Unterverzeichnis 'UserName') kopiert - auf wunsch verschiebt - sofern Adminrechte vorhanden sind. Es lässt sich (sofern Adminrechte vorhanden sind) in einer Configdatei direkt im Appverzeichnis einstellen, dass hier der Default-Speicherort ist. Diese Option ist da, sofern es Sinn macht das Programm z.B. auf USB-Stick mit sich zu führen und man die Einstellungen mitnehmen will.

Ich halte es so: Die Styleguides gibt es nicht umsonst. Halte ich mich an die aktuellen Styleguides von MS, so habe ich letzten Endes die kleinsten Probleme, das meine Applikation auch unter Vista und Folgesystemen laufen wird (meine laufen alle ohne Probleme drunter (aktuelle Beta), bei manchen Programmen anderer Hersteller sieht das leider schon wieder gaaaanz anders aus).

Gerade unter .NET laufen solche Applikationen dann aber auch mit dotGNU ohne dass man plattformspezifischen Code einbauen muss. Gerade in Bezug auf Pfade und Rechte des ausführenden Users...

Diese Styleguides gibts halt nicht umsonst ;-)

leddl 28. Sep 2005 07:59

Re: Neuer Artikel bei mir: %HOMEDIR% - das unbekannte Verzei
 
Darf ich mal kurz anmerken, daß das DP-eigene SwapIt! ebenfalls versucht, das Ergebnis im Programmverzeichnis zu speichern? Zudem legt es genau das Verhalten an den Tag, das Luckie bemängelt hat und läßt sich nur über den Taskmanagager abschießen, wenn man keine Schreibrechte hat :stupid: Soviel nochmal dazu :mrgreen:


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:57 Uhr.
Seite 6 von 9   « Erste     456 78     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz