Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi änderungen im fertigen programm speichern (https://www.delphipraxis.net/129577-aenderungen-im-fertigen-programm-speichern.html)

5pirit 21. Feb 2009 16:13


änderungen im fertigen programm speichern
 
ist es in delphi möglich änderungen von label.caption oder edit.text im fertigen programm zu speichern, sodass sie bei einem neustrart des prgramms noch so vorhanden sind? (ich benutze delphi5)
google und die SuFu hier ham mich da iwie nicht weitergebracht


[edit=Matze]"*unwissend sei*" durch "Delphi Win32" ersetzt. MfG, Matze[/edit]

toms 21. Feb 2009 16:15

Re: änderungen im fertigen programm speichern
 
Hallo

Das ist möglich. Die Frage ist nur, wo du die Einstellungen speichern möchtest.
Registry, Ini-Datei etc.

Bei Google suchenProgramm Einstellungen speichern Delphi

5pirit 21. Feb 2009 16:23

Re: änderungen im fertigen programm speichern
 
bedeutet, ich müste in jedem fall eine weitere externe datei erstellen (lassen), kann aber nicht einstellen, dass die zB zahlen beim nächsten start so, wie sie beim letzten beenden des programms waren, noch in den edits bzw labels stehen ...

toms 21. Feb 2009 16:26

Re: änderungen im fertigen programm speichern
 
Irgendwo müssen ja die Daten gespeichert werden

5pirit 21. Feb 2009 16:28

Re: änderungen im fertigen programm speichern
 
hätt ja möglich sein könne, dass das label.caption bzw edit.text (die eigenschaften also) vom programm aus geändert werden kann ...

himitsu 21. Feb 2009 16:35

Re: änderungen im fertigen programm speichern
 
Zitat:

Zitat von 5pirit
hätt ja möglich sein könne, dass das label.caption bzw edit.text (die eigenschaften also) vom programm aus geändert werden kann ...

vom Programm aus ändern kannst du leicht,

aber z.B. die Daten im Programm (der EXE-Datei) zu ändern ....
ich sag's mal so, es ist zwar möglich, aber es ist auch nicht unbedingt leicht.

Und vorallem die Virenscanner werden soein Vorhaben absolut nicht mögen.


du mußt also die neuen Daten irgendwo anders (z.B. in einer INI oder der Registry) unterbringen

Delphi-Quellcode:
Sprache: *unwissend sei*
Delphi 5 = Delphi Win32

5pirit 21. Feb 2009 16:38

Re: änderungen im fertigen programm speichern
 
Zitat:

Zitat von himitsu
ich sag's mal so, es ist zwar möglich, aber es ist auch nicht unbedingt leicht.

Und vorallem die Virenscanner werden soein Vorhaben absolut nicht mögen.

wie leicht oder schwer das is is mir atm ziemlich egal ... entscheiden, ob ichs so mach muss ich wenn ich gesehn hab, wies geht ...
was geht son virenscanner das an, wenn ein programm "sich selbst" ändern will?

himitsu 21. Feb 2009 16:41

Re: änderungen im fertigen programm speichern
 
Zitat:

Zitat von 5pirit
was geht son virenscanner das an, wenn ein programm "sich selbst" ändern will?

weil sich z.B. ein Virus so in Programme einschmuggln kann?

außerdem hat man seit Vista da noch andere Probleme.
wenn dein Programm z.B. irgendwo unter C:\Programme liegt,
dann hat es nichtmal die nötigen Rechte irgendwas (nicht mal sich selbst) in diesem Verzeichnis zu ändern.


Und warum willst du unbedingt was machen, was sonst nahezu kein Mensch auf der Welt macht?
Oder so gesagt, es ändert sich fast kein Programm auf der Welt selber.

Es ist außerdem gundsätzlich erstmal garnicht möglich sich selbst zu ändern,
da wärend dein Programm geöffnet ist (also ausgeführt wird) kein schreibender Zugriff auf diese Datei machbar ist (ja ich weiß, daß es geht, aber nur über "schmutzige" Tricks)

5pirit 21. Feb 2009 16:50

Re: änderungen im fertigen programm speichern
 
dann eben kein gettin' dirty und ich schau mir benutzung von ini datein an^^
danke für die schnelle(! lang kein so fixes forum mehr erlebt)Hilfe

DeddyH 21. Feb 2009 16:54

Re: änderungen im fertigen programm speichern
 
Zu Ini-Dateien gibt es hier auch ein Tutorial, musst mal in der entsprechenden Sparte suchen.

himitsu 21. Feb 2009 17:27

Re: änderungen im fertigen programm speichern
 
Wird das Programm richtig installiert, oder isses mehr nur sowas wie ein Tool, was irgendwo auf der Platte rumliegt?

bei einem installierten Programm macht sich die Registry gut (wenn man nicht all zuviel speichern will)
Delphi-Referenz durchsuchenTRegistry / Hier im Forum suchenTRegistry

bei einem "Tool", was womöglich bald wieder gelöscht wird, wären INIs bzw XMLs eine gute Wahl.
Delphi-Referenz durchsuchenTIniFile / Hier im Forum suchenTIniFile / Hier im Forum suchenXML - z.B.: Hier im Forum suchenTXMLDocument

Für INIs dürfte es womöglich auch ein/zwei Beispiele in der OH geben,
ansonsten frag einfach nach, wenn du Probleme hast. :angel:

jaenicke 21. Feb 2009 17:42

Re: änderungen im fertigen programm speichern
 
Zitat:

Zitat von himitsu
Es ist außerdem gundsätzlich erstmal garnicht möglich sich selbst zu ändern,
da wärend dein Programm geöffnet ist (also ausgeführt wird) kein schreibender Zugriff auf diese Datei machbar ist (ja ich weiß, daß es geht, aber nur über "schmutzige" Tricks)

Ich habe das in einer TStream-Klasse gekapselt:
http://www.delphi-library.de/viewtopic.php?p=545198
So ist das sehr einfach.

Aber: Wie auch hier bereits gesagt wurde ist das nicht für Einstellungen geeignet. Erstens weil es unnötig umständlich ist, zweitens wegen den genannten Rechteproblemen zum Beispiel:
http://www.delphi-library.de/viewtopic.php?p=548600

Wo man Einstellungen auf der Festplatte korrekt ablegen kann, findest du hier:
http://www.delphi-library.de/viewtop...=541638#541638

5pirit 21. Feb 2009 17:57

Re: änderungen im fertigen programm speichern
 
Zitat:

Zitat von himitsu
Wird das Programm richtig installiert, oder isses mehr nur sowas wie ein Tool, was irgendwo auf der Platte rumliegt?

soll nur n tool werden

jaenicke 21. Feb 2009 18:03

Re: änderungen im fertigen programm speichern
 
Wenn du einfach zuerst im eigenen Verzeichnis und dann in den entsprechenden Verzeichnissen auf der Festplatte nach Einstellungen suchst, dann kannst du es dem Benutzer überlassen wo sie hin sollen.
Findest du keine, dann fragst du wo sie hin sollen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:01 Uhr.

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