Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi in Anwendungsdaten speichern (https://www.delphipraxis.net/83409-anwendungsdaten-speichern.html)

passsy 2. Jan 2007 12:44


in Anwendungsdaten speichern
 
leute ich komm einfach nich zu potte hab schon viel gegooglet und die suf benutz aber auch das hat MICH nich richtig weitergebracht

zur frage:
wie speichere ich eine einfache .txt in den anwendungsdaten und wie lese ich sie wieder aus.

Mr_G 2. Jan 2007 12:56

Re: in Anwendungsdaten speichern
 
Wenn du wissen möchtest, wie du an den Pfad zu den Anwendungsdaten kommst, lies dir einfach mal den Artikel von Luckie durch. Soweit ich mich erinnere beschreibt er unter anderem wie man mithilfe von MSDN-Library durchsuchenSHGetSpecialFolderLocation an diese Ordner drankommt.
Gruß
Mr_G

passsy 2. Jan 2007 13:23

Re: in Anwendungsdaten speichern
 
sry leute ich bin echt zu dumm dafür.

"%HomePath%\tipp o meter\tasten.txt"
als pfad angeben geht nicht wie ich festgestellt hab und das is das einzige was ich bisher "verstanden" hab

kann bitte einer ein konkretes beispiel bringen fänd ich sehr hilfreich

Klaus01 2. Jan 2007 13:36

Re: in Anwendungsdaten speichern
 
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
  begin
    Result := FolderPath;
    Exit;
  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;
In die uses Klausel müssen noch die Units shlobj und ActiveX aufgenommen werden.

Diese Funktion eignet sich auch dazu andere spezielle Systemordner zu ermitteln. Übergibt man hier die Konstante CSIDL_APPDATA ($001A), bekommt man genau den gewünschten Ordner, nämlich C:\Dokumente und Einstellungen\<Benutzername>\Anwendungsdaten.

Delphi-Quellcode:
GetShellFolder(CSIDL_APPDATA)+'tipp o meter\tasten.txt'
Habe es Dir mal zusammenkopiert, etwas mehr Einsatz von Dir könnte man schon erwarten.

Grüße
Klaus

Matze 2. Jan 2007 13:37

Re: in Anwendungsdaten speichern
 
Hi,

einfach die Funktion "GetSpecialFolder" von hier nutzen (die 3 Units nicht vergessen in die uses aufzunehmen) und als Parameter CSIDL_APPDATA übergeben.


Edit: Ok, Klaus hat dir das bereits zusammenkopiert.

passsy 2. Jan 2007 16:04

Re: in Anwendungsdaten speichern
 
wisst ihr was ich lass es da ich das überhaupt nich in gar keiner weiße blicke :P

Matze 2. Jan 2007 16:09

Re: in Anwendungsdaten speichern
 
Dann kann ich dir nur ein Buch oder diese Tutorials ans Herz legen, damit du mal die Grundlagen lernst. Ohne die, geht's einfach nicht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:52 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 by Thomas Breitkreuz