AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Daten in EXE speichern

Ein Thema von Chrissi91 · begonnen am 28. Okt 2005 · letzter Beitrag vom 29. Okt 2005
 
ichbins

Registriert seit: 9. Jul 2005
Ort: Hohenaltheim
1.001 Beiträge
 
Delphi 2005 Personal
 
#20

Re: Daten in EXE speichern

  Alt 29. Okt 2005, 10:18
vielleicht wär die Registry dannn doch noch einfacher. Am leichtesten geht es ja mit ner Inifile:

Delphi-Quellcode:
uses inifiles;
[...]
procedure savedirname(dirname:string);
var
  i:tinifile;
begin
  try begin
  i:=tinifile.create(changefileext(application.exename,'.ini'));
  //Ini-Datei erstellen
  i.writestring('Dirs','Path',dirname);
  //Eintrag in Datei speichern
  i.Free;
  //Datei schließen
  filesetattr(changefileext(application.exename,'.ini'),fasysfile and fahidden)
  //Datei verstecken
  end; except end;
end;

function getdirname:string;
var
  i:tinifile;
begin
  result:=extractfilepath(application.exename)
  //zuerst alternatives Ergebniss setzten (pfad der EXE-Datei)
  try begin
    i:=tinifile.create(changefileext(application.exename,'.ini'));
    //Dann Inifile erstellen. Die Inifile erhält den Namen der EXE-Datei nur mit der Endung .ini statt .exe
    result:=i.ReadString('Standard','Dirname',extractfilepath(application.ExeName));
    //Aus der Sektion STANDART der Inidatei wird der Wert von dirname eingelesen.
  end; finally
    i.free;
    //Die Inidatei wird geschlossen
  end;
end;
(ungetestet)

Ich weiss auch gar nicht, wieso es dir so wichtig ist, unbedingt die Daten in der eigenen Exe abzuspeichern? Das ist die komplizierteste mögliche Lösung...

Ne INI-Datei tuts ja auch...

Außerdem kannst du die INI-Datei auch verstecken usw so dass der User sie nicht sehen kann.

Die beiden Prozeduren kopierst du dann irgendwo ziemlich oben in deine Unit rein (am besten gleich nach IMPLEMENTATION). Dann kannst du sie so aufrufen:

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  pathname:=getdirname;
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  savedirname(pathname);
end;
wobei pathname eine globale string-variable ist, auf die du in allen anderen Prozeduren zugreifen kannst.
Michael Enßlin
 
 


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 13:43 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-2025 by Thomas Breitkreuz