Entwickler-Ecke

Dateizugriff - Einstellungen bis nächsten Start übernehmen


HanFrey - Do 16.12.04 17:52
Titel: Einstellungen bis nächsten Start übernehmen
Hi all,

Ich hab in einem Prog einen Updater eingebaut. (dank eurer Hilfe). Nun habe ich ein Optionsmenü gemacht, in das ich nun die Einstellung "Bei jedem Start auf Updates prüfen" integrieren will. (also mit häkchen reinklicken)

Das ganze soll aber passieren, ohne ein Extra Textdatei für diese Einstellung zu erstellen.

Wie geht das?

Moderiert von user profile iconTino: Überflüssige Absätze entfernt.


Tino - Do 16.12.04 18:00
Titel: Re: Einstellungen bis nächsten Start übernehmen
Hallo!

HanFrey hat folgendes geschrieben:
Das ganze soll aber passieren, ohne ein Extra Textdatei für diese Einstellung zu erstellen.

Was ist daran so schlimm? Du könntest die Einstellung auch in der Registry speichern.

Gruß
Tino


Delete - Do 16.12.04 18:24

Also ich denke auch, dass jedem Programm zumindest eine Datei für Einstellungen zur Verfügung stehen sollte, sei es in der Registry, einer txt, ini, dat, was auch immer.


HanFrey - Fr 24.12.04 14:37

hmm.. könntet ihr mir das erklären? Speziell das mit der Registry, das hört sich gut an.
Hab überhaupt keinen Plan davon :-). (nicht mal in Ansätzen)
Danke schonmal für eure Antworten !


Alstar - Fr 24.12.04 14:47

Hi!

Schau mal bei [url]http://www.delphi-source.de[/url] vorbei. Da ist das mit der Registry und den INI-Dateien super erklärt!

Alstar


HanFrey - Sa 25.12.04 19:11

Das Ding hab ich doch ! lol

also das mit dem Reg Key schreiben funzt soweit.

Ist warscheinlich ne dumme Frage, aber wie mache ich nun,
das beim starten des Progs automatisch geprüft wird, ohne,
das man einen Button drückt?

Mit "Initialization", hab ich probiert.. ging aber nicht.
Wo muss ich das:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
procedure lesen_aus_registry;
var regist: TRegistry;
  i: integer;
  s: string;
begin
  regist:=TRegistry.Create;
  regist.RootKey:=HKEY_LOCAL_MACHINE;
  regist.OpenKey('SOFTWARE\Firma\Produkt\Version', true);
  s:=regist.ReadString('Schlüssel');
  i:=regist.ReadInteger('Zahl');
  regist.Free;
end;


reinschreiben?

Moderiert von user profile iconChristian S.: Code- durch Delphi-Tags ersetzt.


Karlson - Sa 25.12.04 21:01

Ins on form-Create.


Delphi-Quelltext
1:
2:
3:
4:
procedure Form1.OnCreate(Sender: TObject);
begin
 lese_aus_regestry;
end;



Diese seltsame Procedure bringt dir aber nicht viel.

Du brauchst den Regestryschlüssel doch als glpbal verfügbaren wert.
Schreibe es also als Function.


Jelzin - Mo 27.12.04 08:50

Ich hätts über eine ini-file gelöst. In der Registry ist schon genügend Müll vorhanden...

Aber falls du es über die Registry versuchen willst, ließ dir die Hilfe mit dem Schlagwort "TRegistry" durch, da sind auch einige Beispiele mit drin. Sollte nicht schwer zu verstehen sein.


bnessler - Mo 27.12.04 11:12

Hallo,
falls Du ein Tool's Fan bist, gibt es in den JediTools (http://homepages.borland.com/jedi/jvcl/) eine Komponente TJvFormStorage.

Hier kannst Du über den Objektinspektor alles eintragen, was Du Dir beim schließen des Programmes merken möchtest und es zu Beginn auch wieder aktivieren.

Ebenso kannst Du eintragen ob ein INI File oder die Registry benutzen willst.

Einziger Nachteil, es ist nicht selbst geschrieben.

Gruß
Bernhard