Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   speicherpfad als variable (https://www.delphipraxis.net/58923-speicherpfad-als-variable.html)

tomsel 15. Dez 2005 20:55

Re: speicherpfad als variable
 
Schau die in der Delphi-Help alles über 'TIniFile' an. Das funktioniert in etwa so, wie die Registry, aber eben in einer Datei. Den Pafad zur Inidatei erhälst Du am einfachsten mit

Delphi-Quellcode:
ChangeFileExt(Application.Exename, '.INI');
den Rest findest Du selber raus :roteyes:

mr-unbekannt 16. Dez 2005 19:40

Re: speicherpfad als variable
 
ach ja genau das wollte ich wissen;

schade das das nicht ohne datei/reg_eintrag geht...

aber danke

ichbins 16. Dez 2005 20:07

Re: speicherpfad als variable
 
Also, bei mir isses so, dass sich der opendialog seinen Pfad merkt... :gruebel:

übrigens: du solltest deine Inidatei nicht im Anwendungsverzeichniss speichern sondern im Homedir des Users. Unter Vista wird es nicht mehr möglich sein als nicht-Admin ins Programmverzeichniss zu schreiben. Für die Inidatei gibt's das Verzeichniss "Anwendungsdaten" (C:\Dokumente und Einstellungen\BENUTZERNAME\Anwendugnsdaten). Die kannst du aus der Registry auslesen:

HKEY_CURRENT_USER\Software\Microsoft\Windows\Curre ntVersion\Explorer\User Shell Folders\appdata

Delphi-Quellcode:
function getappdatadir:string;
var
  R: TRegistry;
begin
  R := TRegistry.Create(KEY_READ);
  try
    R.RootKey = HKEY_CURRENT_USER;
    R.OpenKey('Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\', False);
    result:=R.ReadString('appdata');
  finally
    R.Free;
  end;
end;

mr-unbekannt 16. Dez 2005 20:14

Re: speicherpfad als variable
 
ich habe jetzt die Form1.Create das eingefügt:

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var R: TRegistry;
begin
if fileexists(x) then ListBox1.Items.LoadFromFile(x);

  R := TRegistry.Create(KEY_READ);
  try
    R.RootKey := HKEY_CURRENT_USER;
    R.OpenKey('Software\Novell\login\', False);
    x := R.ReadString(x);
  finally
    R.Free;
  end;
end;
aber wenn ich das nächste mal das programm öffne, speichert es die datei wieder unter dem standartnamen(C:\\data.txt)

tomsel 16. Dez 2005 20:18

Re: speicherpfad als variable
 
Zitat:

ach ja genau das wollte ich wissen;
tut mir leid, aber du kannst nicht irgendwelche Daten speichern wollen, ohne sie zu speichern. Und um etwas persistent abzuspeichern, gibt es seit DOS-Zeiten eben nur Dateien.

ichbins 17. Dez 2005 10:11

Re: speicherpfad als variable
 
Du musst ja auch onclose speichern.

ABER verwende besser nicht die Registry. Speziell in der DP ist dies garnicht gerne gesehen. Speichere sie als kleine Datei im Ordner Anwendungsdaten (wie oben beschrieben)


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:46 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