Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Wohin mit den Logfiles? (https://www.delphipraxis.net/100933-wohin-mit-den-logfiles.html)

ralfiii 8. Okt 2007 09:40

Re: Wohin mit den Logfiles?
 
Zitat:

Zitat von RWarnecke
Zitat:

Zitat von RavenIV
Also ich würde sie hier hin legen:

C:\Dokumente und Einstellungen\Username\Anwendungsdaten\AppName\Log s

Es gibt eine API-Funktion, mit der Du das User-Verzeichnis herausfinden kannst.
Ich glaube sogar für User-Appdata gibt es auch eine.

Warum so umständlich, man nehme einfach die Systemvariable %APPDATA% ist seit Windows 2000 immer der gleiche Pfad. Auch bei anderen Sprachen.

@RavenIV:
Delphi-Quellcode:
var path : array[0..MAX_PATH] of char;
  SHGetFolderPath(0, CSIDL_Common_AppData, 1,0, @path[0]);
  SHGetFolderPath(0, CSIDL_Personal, 1,0, @path[0]);
  SHGetFolderPath(0, CSIDL_PROGRAM_FILES_COMMON, 1,0, @path[0]);
@RWarnecke: Und, wie verwende ich die Systemvariable? Ein AssignFile('%Temp%\MyLogfile.log') geht ja nicht.

However, ich schreib's jetzt in's Temp-Verzeichnis, dass ich mit
GetTempPath(MAX_PATH, path);
bestimme.

Danke für eure Anregungen!

RWarnecke 8. Okt 2007 09:55

Re: Wohin mit den Logfiles?
 
Zitat:

Zitat von ralfiii
@RWarnecke: Und, wie verwende ich die Systemvariable? Ein AssignFile('%Temp%\MyLogfile.log') geht ja nicht.

Mit dieser Funktion liest Du Systemvariablen aus :
Delphi-Quellcode:
function GetEnvVarValue(const VarName: string): string;
var
  BufSize: Integer; // buffer size required for value
begin
  // Get required buffer size (inc. terminal #0)
  BufSize := GetEnvironmentVariable(PChar(VarName), nil, 0);
  if BufSize > 0 then
  begin
    // Read env var value into result string
    SetLength(Result, BufSize - 1);
    GetEnvironmentVariable(PChar(VarName),
      PChar(Result), BufSize);
  end
  else
    // No such environment variable
    Result := '';
end;

xaromz 8. Okt 2007 10:42

Re: Wohin mit den Logfiles?
 
Hallo,
Zitat:

Zitat von OregonGhost
Wenn ich der Ausgabe von SET trauen darf, wird %APPDATA% bei mir weitergeleitet auf: C:\Users\<Benutzername>\AppData\Roaming.
Roaming ist doch gerade das, wo die alten Anwendungen landen, oder? Ist das das, was man will? Oder ist das vom Manifest abhängig?

nein. Roaming ist der Teil der Einstellungen, der auch auf einen Server ausgelagert werden kann. Dadurch ist es möglich, sich an einem beliebigen Client anzumelden, und immer mit seinem Profil zu arbeiten.

Gruß
xaromz


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:02 Uhr.
Seite 2 von 2     12   

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