AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Tutorials Neuer Artikel bei mir: %HOMEDIR% - das unbekannte Verzeichni

Neuer Artikel bei mir: %HOMEDIR% - das unbekannte Verzeichni

Ein Tutorial von Luckie · begonnen am 22. Sep 2005 · letzter Beitrag vom 1. Jan 2007
Antwort Antwort
Seite 6 von 9   « Erste     456 78     Letzte » 
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#1

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

  Alt 23. Sep 2005, 12:50
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.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#2

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

  Alt 23. Sep 2005, 16:13
Anregung für einen neuen Artikel, Luckie: "Readme-Dateien, unbekannt und doch hilfreich"

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. Edit: ~130MB global installierte Dateien, und nicht ganz 2 MB im Benutzerverzeichnis.
  Mit Zitat antworten Zitat
NicoDE
(Gast)

n/a Beiträge
 
#3

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

  Alt 23. Sep 2005, 16:35
Zitat von MathiasSimmack:
dann musst du das Setup mal mit dem "-net"-Parameter starten, Nico, und du wirst staunen. 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]
  Mit Zitat antworten Zitat
Benutzerbild von Assun
Assun

Registriert seit: 3. Feb 2005
Ort: Hilzingen am Bodensee
469 Beiträge
 
Delphi 2005 Personal
 
#4

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

  Alt 27. Sep 2005, 20:53
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)
Sebastian Dietrich
http://Assun.de - bald komplett überarbeitet
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#5

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

  Alt 27. Sep 2005, 21:12
Wie lange bist du schon hier?

1. Off-topic!
2. Suchfunktion?
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#6

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

  Alt 27. Sep 2005, 21:14
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.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#7

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

  Alt 27. Sep 2005, 21:40
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.
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#8

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

  Alt 27. Sep 2005, 21:52
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]
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.645 Beiträge
 
#9

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

  Alt 28. Sep 2005, 07:30
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
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von leddl
leddl

Registriert seit: 13. Okt 2003
Ort: Künzelsau
1.613 Beiträge
 
Delphi 2006 Professional
 
#10

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

  Alt 28. Sep 2005, 07:59
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 Soviel nochmal dazu
Axel Sefranek
A programmer started to cuss, cause getting to sleep was a fuss.
As he lay there in bed, looping round in his head
was: while(!asleep()) ++sheep;
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 6 von 9   « Erste     456 78     Letzte » 

Themen-Optionen Tutorial durchsuchen
Tutorial durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:13 Uhr.
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