Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Delphi darf auf C nichts erstellen (https://www.delphipraxis.net/132567-delphi-darf-auf-c-nichts-erstellen.html)

Luckie 15. Apr 2009 09:04

Re: Delphi darf auf C nichts erstellen
 
Zitat:

Zitat von SyntaxXx
C:\User würde also gehen?

Wenn dann C:\User\<Benutzername>\Anwnedungsdaten\<DeinProgra mmname>\Ini-Datei

Aber bitte nicht hardcoden. Auf meinem System gibt es diesen Pfad nämlich nicht.

fkerber 15. Apr 2009 09:04

Re: Delphi darf auf C nichts erstellen
 
Hi!

Anwendungsverzeichnis ist vllt. ein etwas missverständliches Wort, aber ich denke du meinst das richtige.
Also nicht unter C:\Programme\etc

Ich empfehle die Lektüre des folgenden Artikels:
http://www.michael-puff.de/Artikel/HOMEDIR.shtml



Ciao, Frederic

Luckie 15. Apr 2009 09:09

Re: Delphi darf auf C nichts erstellen
 
Zitat:

Zitat von Jens Hartmann
Schau die mal folgende Funktion an, damit kannst Du diesen Pfad ermitteln und anschließend nutzen.

Delphi-Quellcode:
{Speicherpfad ermitteln um Speicherziel der User Einstellungen festzulegen}
function GetSpecialFolder (aFolder: Integer): String;
var
  pIdL: PItemIDList;
  Path: Array [0..Max_Path] of Char;
  Allocator: IMalloc;
begin
  // ItemIdList für den Ordner holen
  SHGetSpecialFolderLocation (0, aFolder, pIdL);

  // ItemIdList in String umwandeln lassen
  SHGetPathFromIDList (pIDL, Path);

  // Speicher wieder freigeben
  if Succeeded (SHGetMalloc (Allocator)) then
    begin
      Allocator.Free (pIdL);
      {$IFDEF VER100}
      Allocator.Release;
      {$ENDIF}
    end;
  Speicherort := Path;
  Result := Path;
end;

Wenn du ihm jetzt noch sagst mit welcher CSIDL er die Funktion aufrufen muss. ;)

Den Pfad für die benutzerspezifischen Anwendungsdaten bekommt man mit der CSIDL CSIDL_APPDATA. In dem Verzeichnis legt man ein Unterverzeichnis an, das so heißt wie das Programm und dort hinein kommt die Ini-Datei.

Jens Hartmann 15. Apr 2009 09:13

Re: Delphi darf auf C nichts erstellen
 
Ich kann Die auch noch folgendes Empfehlen...

Anwendungsdaten

oder...

Ich hatte auch mal so ein Problem

[EDIT] Sorry, so wird es aufgerufen

Delphi-Quellcode:
  GetSpecialFolder(CSIDL_COMMON_APPDATA);
Gruß Jens


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

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