AGB  ·  Datenschutz  ·  Impressum  







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

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 9 von 9   « Erste     789   
Benutzerbild von Luckie
Luckie
Registriert seit: 29. Mai 2002
Es gibt auf meiner Homepage wieder einen neuen Artikel: %HOMEDIR% - das unbekannte Verzeichnis. Da er ein programmierspezifisches Thema behandelt, stelle ich ihn mal hier vor. In dem Artikel geht es um die Unsitte, dass Programmierer leider immer noch ihre Konfiguratiosndaten im Programmverzeichnis abelegen. In der letzten Zeit ist mir das immer wieder bei Programmen aufgefallen, die hier oder in anderen Foren vorgstellt werden. Da ich es leid war immer wieder das gleiche zu schreiben, hab eich mir erlaubt einen Artikel zuschreiben und es dort noch etwas weiter auszuführen.

Link zum Artikel: http://www.michael-puff.de/Developer.../HOMEDIR.shtml

Über Kritik und Anregungen würde ich mich freuen.
Ein Teil meines Codes würde euch verunsichern.
 
Benutzerbild von xZise
xZise

 
Delphi 2009 Professional
 
#81
  Alt 1. Jan 2007, 22:03
Mal eine Frage zum Code:
Was ist folgendes Eintritt:
Delphi-Quellcode:
function GetShellFolder(CSIDL: integer): string;
var
  pidl : PItemIdList;
  FolderPath : string;
  SystemFolder : Integer;
  Malloc : IMalloc;
begin
  Malloc := nil;
  FolderPath := '';
  SHGetMalloc(Malloc);
  if Malloc = nil then // Malloc = nil
  begin //
    Result := FolderPath; // Dann ist der Ordner ''?
    Exit; // Bisschen ungünstig oder?
  end; //
  try
    SystemFolder := CSIDL;
    if SUCCEEDED(SHGetSpecialFolderLocation(0, SystemFolder, pidl)) then
    begin
      SetLength(FolderPath, max_path);
      if SHGetPathFromIDList(pidl, PChar(FolderPath)) then
      begin
        SetLength(FolderPath, length(PChar(FolderPath)));
      end;
    end;
    Result := FolderPath;
  finally
    Malloc.Free(pidl);
  end;
end;
Oder passiert das dann, wenn der passende Ordner nicht existiert (z.B. Win95 oder so?)

Ehrlich gesagt sollte man folgendes machen:
  • "Benutzereinstellungen" im %AppData% Ordner
  • "Admineinstellungen" im %AppDir%
  • Funktion zum "Verfübarmachen" der Einstellungen (also, dass man sie sichern kann)

Generell halte ich es für sinnvoll, dass Programme, welche in einen "Admin"-Ordner gespeichert sind (z.B.: C:\Programme), dass die Daten in den Anwendungsdaten gespeichert werden sollen.

Und wegen den "Datenmüll": Ich weiß zwar nicht ob es schon Programme gibt, aber anscheinend sind diese nicht so gefragt (ich habe hier selber eins online gestellt, wills aber nicht nennen, damit niemand meint, ich mache überall Werbung, wo es nur geht ). Oder das Programm gibt eine "Uninstall"-Routine mit.
Fabian
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

 
Delphi 2006 Professional
 
#82
  Alt 1. Jan 2007, 22:11
Du kannst ja prüfen, ob der Rückgbae String leer ist und wenn er das ist, kannst entsprechend reagieren.

Zitat:
Ehrlich gesagt sollte man folgendes machen:
  • "Benutzereinstellungen" im %AppData% Ordner
  • "Admineinstellungen" im %AppDir%
  • Funktion zum "Verfübarmachen" der Einstellungen (also, dass man sie sichern kann)
Das hat aber nichts direkt mit dem Thema zu tun.

Zitat:
Generell halte ich es für sinnvoll, dass Programme, welche in einen "Admin"-Ordner gespeichert sind (z.B.: C:\Programme), dass die Daten in den Anwendungsdaten gespeichert werden sollen.
Genau das sage ich ja auch in meinem Artikel.

Zitat:
Oder das Programm gibt eine "Uninstall"-Routine mit.
Das setze ich mal vorraus. Und wenn du dir meine Lukiedips anguckst, gibt es eine Schaltfläche, die vom Programm angelegten Dateien und den Ordner wieder zu löschen.
Michael
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

 
Delphi 2009 Professional
 
#83
  Alt 1. Jan 2007, 22:24
Zitat von Luckie:
Zitat:
Oder das Programm gibt eine "Uninstall"-Routine mit.
Das setze ich mal vorraus. Und wenn du dir meine Lukiedips anguckst, gibt es eine Schaltfläche, die vom Programm angelegten Dateien und den Ordner wieder zu löschen.
[OT±Brauchte ich noch nicht[/OT]
Aber wenn man für den Benutzter nicht sichtbare Daten anlegt (Also für die 0815 PC-User), dann gehört es dazu.
Fabian
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

 
Delphi 2006 Professional
 
#84
  Alt 1. Jan 2007, 22:28
Reden wir jetzt über den Artikel oder über eine angeblich fehlende Uninstallroutine bei mienem LuckieDIPS?
Michael
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

 
Delphi 2009 Professional
 
#85
  Alt 1. Jan 2007, 22:33
Ich meine nur im "OT"-Teil dein DIPS, weil ich es nicht kenne, will ichs nicht bewerten.

Und ich wollte nicht sagen, dass du ein 0815-Programmierer wärst, weil das nicht stimmen würde.
Fabian
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 9 von 9   « Erste     789   


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 07:47 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz