| Autor |
Beitrag |
kondor
Hält's aus hier
Beiträge: 6
|
Verfasst: Mo 10.02.03 02:30
Verschiedene Variablen werden innerhalb des Programmablaufes geändert. Doch wenn ich das Programm schließe gehen die Änderungen verloren.
Gibt es eine Möglichkeit diese Werte intern zu speichern?
Zuletzt bearbeitet von kondor am Mo 10.02.03 04:31, insgesamt 1-mal bearbeitet
|
|
bis11
      
Beiträge: 1247
Erhaltene Danke: 2
Apple Mac OSX 10.11
|
Verfasst: Mo 10.02.03 02:45
Hi,
Du kannst diese Daten in einer INI-Datei speichern oder in der Registry oder Du machst Dir ein eigenes Dateiformat, wo die Werte der Vaiablen drin gespeichert werden und ließt diese dann beim Programmstart einfach aus.
|
|
kondor 
Hält's aus hier
Beiträge: 6
|
Verfasst: Mo 10.02.03 03:09
Das Programm sollte aber nur aus einer einzigen Datei bestehen.
Dass mit der Registry ist eine gute idee; jedoch sollten die Daten, außer im Programm, nirgends zu finden sein, nichteinmal in der Registry.
Ich habe versucht, Werte in versteckten labels zu speichern, um sie danach wieder herauszulesen. Das Programm merkt sich aber beim start nur die Werte, die von delphi bei der Compilierung zugewiesen wurden.
Es muss ja irgendeine Möglichkeit geben, irgendwo im Programm Daten permanent zu speichern...
hilfeee.....
_________________ "Many receive advice, few profit by it." Publilius Syrus
|
|
Ex0rzist
      
Beiträge: 550
Win XP Prof. Mandrake 10.0
D6
|
Verfasst: Mo 10.02.03 05:01
Um geänderte Variablen in der Exe-Datei zu speichern, müsste diese neu compiliert werden.
Es bleibt dir wohl nur die Registry oder Ini-Dateien.
Dort kannst du diese Daten ja verschlüsselt abspeichern.
_________________ If accidentally read, induce vomitting.
|
|
kondor 
Hält's aus hier
Beiträge: 6
|
Verfasst: Mo 10.02.03 05:29
ok! ich danke euch!
dann werde ich mich trotzdem noch einen Tutorial über delphi und registry geben müssen 
_________________ "Many receive advice, few profit by it." Publilius Syrus
|
|
Popov
Gast
Erhaltene Danke: 1
|
Verfasst: Mo 10.02.03 22:27
Es geht schon was du vorhast. Es gibt sogar viele Möglichkeiten. Allerdings muß man da schon ein wenig in Delphi draufhaben um es hinzukriegen.
Die einfachste ist die Ini-Datei beim beenden des Programms zum Programm als eine Art Bagage anzuhängen. Beim Start muß dan das Programm und und die Ini wieder voneinander getrennt werden. Dann beim beenden des Programms wieder als Bagabe hinzufügen usw.
Aber auch für diese Methode brauchst du einiges an Delphiwissen. Da du aber die Frage gestellt hast, gehe ich davon aus, daß du ein Anfänger bist.
|
|
kondor 
Hält's aus hier
Beiträge: 6
|
Verfasst: Di 11.02.03 01:57
thx
für mich war es schwer zu verstehen, dass man wegen eines fensters, der nur 1x (beim ersten aufruf des programmes) erscheinen soll, sich soviel Mühe geben muss... letztendlich sollte nur eine boolean-variable gespeichert werden...
> Es gibt sogar viele Möglichkeiten
was hätte ich noch zur Auswahl?
_________________ "Many receive advice, few profit by it." Publilius Syrus
|
|
Klabautermann
      

Beiträge: 6366
Erhaltene Danke: 60
Windows 7, Ubuntu
Delphi 7 Prof.
|
Verfasst: Di 11.02.03 10:49
Hallo,
| kondor hat folgendes geschrieben: | > Es gibt sogar viele Möglichkeiten
was hätte ich noch zur Auswahl? |
du könntest die Werte auch diereckt an die EXE anhängen. Das ist aber noch etwas komplizierter, du musst aber keine INI-Datei anlegen, und diese dementsprechend auch nicht abtrennen, bevor du drauf zugreifst.
Du musst dir dafür aber merken wo die EXE aufhört und die angehängten Daten anfangen, dies musst du in den Angehängten Daten machen.
Jede Lösung die mir einfällt, basiert auf den anhängen von Daten an die EXE.
Alles in allen also keine sache für anfänger.
| kondor hat folgendes geschrieben: | | für mich war es schwer zu verstehen, dass man wegen eines fensters, der nur 1x (beim ersten aufruf des programmes) erscheinen soll, sich soviel Mühe geben muss |
Man mus sich keine besondere Mühe geben wenn man das vorgesehende Prinzieb verwendet - also eine Datei Anlegt. Da du aber mit dem Standart brechen willst musst du dir entsprechend viel Arbeit machen.
Gruß
Klabautermann
PS: Ich habe zu DOS zeiten mal ein Programm geschrieben, dass beim ersten Start den Hilfetext anzeigt. Dieses erzeugt danach eine 0-Byte Datei. Ist diese vorhanden wird der Hilfetext nicht nocheinmal angezeigt. Das ist ein einfacher Boolean Wert, der eben nicht in eine Datei gespeichert wird, die Datei selbst ist diser Wert. Es hat sich eigentlich nie jemand beschwert, das da eine "unnütze" Datei angelegt wird. Zu seiner Zeit gab es über 100 Benuzter (Privatpersonen) dieses Programms.
|
|
matze
      
Beiträge: 4613
Erhaltene Danke: 24
XP home, prof
Delphi 2009 Prof,
|
Verfasst: Di 11.02.03 18:30
schjau mal im EDH ( www.delphi-treff.de ) da gibts den Easy Delphi Helper. in dem ist ein Tut drin, das die zeigt wie man dateien miteinander verschmelzen kann.
du machst beim beenden des proggis einfach ne INI datei und verschmilzt sie dann mit deiner EXE.
Beim Start der EXE trennst du die dann wieder. so kannst du auch die EXE weitergeben ohna dass die einstellungen flöten gehen !!
man kann die allerdings dann recht simpel mit nem HEX editor ändern !!!
_________________ In the beginning was the word.
And the word was content-type: text/plain.
|
|
Popov
Gast
Erhaltene Danke: 1
|
Verfasst: Di 11.02.03 23:10
| kondor hat folgendes geschrieben: | | für mich war es schwer zu verstehen, dass man wegen eines fensters... |
Wenn du willst, dann kannst du es auch weiter nicht verstehen, aber so ist es. Nur weil ich gesagt habe, daß es Möglichkeiten gibt, so heißt es nicht, daß es normal ist. Es ist nur mit Tricks möglich. Da du aber schon die Frage gestellt hast bedeutet es, daß du wenig Ahnung von Programmierung hast. Was nützen dir also die Möglichkeiten wenn du sie nicht umsetzen kannst.
Aber hier mal paar Möglichkeiten:
Du baust einen Decompiler und dekompilierst dein Programm. Die Ressorce kannst du dann verändern und das Programm wieder kompilieren.
Die andere Möglichkeit ist eine Bagage anzuhängen. Die Möglichkeit hab ich oben bereits beschrieben.
Die dritte ist ein Patchprogramm. Du suchst deine Variable und änderst diese.
Ich schätze, daß die dritte Möglichkeit für dich die einfachste und beste ist.
|
|
Indeterminatus
      
Beiträge: 47
|
Verfasst: Do 27.02.03 11:42
Ich kann auch nur zur 3. Möglichkeit raten, die erscheint mir noch am leichtesten zu realisieren ... wenn Du das nicht willst kannst ja den 2. Vorschlag ausprobiern ... zum erstgenannten würd ich nur im "Notfall" zurückgreifen, weil Du dafür (zumindest IMHO) am meisten Erfahrung in Programmierung benötigst ...
just my 2 cents ...
_______________________________________
Indeterminatus
---=si tacuisses, philosophus mansisses=---
|
|
FloFri
      
Beiträge: 97
|
Verfasst: Di 11.03.03 12:09
Ihr werdet es nicht glauben, aber ich habe die perfekte Lösung für das Problem gefunden. Man kann nämlich die Ressourcen einer exe ohne Probleme ändern.
Schaut mal hier:
msdn.microsoft.com/l...s/UsingResources.asp
|
|