Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Konfigurations informationen ohne INI (https://www.delphipraxis.net/55638-konfigurations-informationen-ohne-ini.html)

Evian 24. Okt 2005 18:11

Datenbank: - • Version: - • Zugriff über: -

Konfigurations informationen ohne INI
 
Hallo,

ich möchte in meinem Programm auf bestimmte Konfigurationsinformationen (z.B. IP-Adressen oder Ports etc) zugreifen. Normalerweise würde ich das über eine INI-Datei machen und mir bei Programmstart die Informationen jeweils aus der Datei lesen bzw. in sie schreiben, wenn sich die Einstellungen ändern. Diesmal möchte ich aber möglichst auf eine INI-Datei verzichten und die Konfigurationsinformationen direkt in der Exe-Datei ablegen. Also ich kann mich noch schwach daran erinnern, dass das irgendwie mit den Datenbank-Komponenten von Delphi ging, aber ich habe keine Ahnung mehr, wie man das macht.

Kann mir jemand einen Tipp geben, wie Informationen, über die Programmlaufzeit hinaus, direkt in der exe ablegen bzw. wieder lesen kann?!

MFG

Evian

tigerman33 24. Okt 2005 18:17

Re: Konfigurations informationen ohne INI
 
In die exe würde ich das nicht reinschreiben, denn da hat es eigentlich nichts zu suchen. Wenn du INI-Dateien umgehen willst, bliebe noch die registry...

PierreB 24. Okt 2005 18:37

Re: Konfigurations informationen ohne INI
 
Zitat:

Diesmal möchte ich aber möglichst auf eine INI-Datei verzichten und die Konfigurationsinformationen direkt in der Exe-Datei ablegen.
Da stellt sich mir doch die Frage nach dem Warum. ;)

Ini's sind sicherlich die einfachste Art Programmdaten irgendwo zu speichern, der Nachteil ist nur das jeder diese dann ziemlich leicht verändern kann. Ob die Registry da eine so gute Lösung ist weiß ich nicht, wenn ich ein Programm dann z.B: mal per USB-Stick auf nen anderen Rechner packe hab ich keine Einstellungen mehr. Und die Daten direkt in die Executable integrieren halte ich auch für keinen guten Weg, zu dem Thema gibts aber hier schon grad ein Thema, solltest du vielleicht im Auge behalten.

Robert_G 24. Okt 2005 19:20

Re: Konfigurations informationen ohne INI
 
Zitat:

Zitat von PierreB
Ini's sind sicherlich die einfachste Art Programmdaten irgendwo zu speichern

Sorry, aber wie definierst du einfach?
Ich finde simple OO Lösungen wie die dpCollection _wesentlich_ einfacher zu handhaben.
Das Schöne ist ja, dass man sich nichtmal darum kümmern muss seine Objekte selbst zu füllen. ;)
Unter .Net wäre hier XML Serializing bzw. die AppSettings aus 2.0 der mega-einfache Weg. ;)

Evian 24. Okt 2005 20:26

Re: Konfigurations informationen ohne INI
 
Also ihr habt schon recht. Derartige Informationen haben in der Exe eigendlich nichts verloren. Aber es geht mir nicht um die Lesbarkeit oder Veränderbarkeit der Informationen(die könnte man ja ohne Probleme verschlüsseln) und auch die Registry kommt nicht in Frage, schon alleine nicht wegen der von PierreB genannten Gründe. Die Registry an sich ist eine Fars... eine riesen ConfigDatei die immer und immer mehr aufbläht, um so mehr man installiert.
Also der Grund ist sogar etwas Idiotisch :) ... es geht um einen kleines Chattool und ich möchte die Verbindungsinformationen direkt in der Exe speichern, da als ich das letzte mal mein Tool an die Leute in meinem Kurs verteilt habe, die hälfte zu blöd war die config-Dateien mitzukopieren. Normalerweise würde ich sowas auch nicht tun, aber ich denke für diese Situation ist es das beste.

Also ob die Idee nun so clever ist, oder nich ... gäbe es da überhaupt eine Möglichkeit, informationen in der Exe zu hinterlegen, auch über die Laufzeit des Programmes hinaus?!

tigerman33 25. Okt 2005 11:19

Re: Konfigurations informationen ohne INI
 
Wenn die Leute zu dumm sind, die Config zu kopieren, dann nimm halt einen Installer.

Evian 25. Okt 2005 11:49

Re: Konfigurations informationen ohne INI
 
Das Chat soll in einem Kurs an der Uni seinen Nutzen finden. Da kann man nichts installieren...
Also ich werd mal schauen, ob ich irgendwie selber eine Lösung finde. Ich meine eure Ideen und Antworten sind sehr nett und gut gemeint, aber sie helfen mir trozdem nicht bei meinem Problem.

woki 25. Okt 2005 12:14

Re: Konfigurations informationen ohne INI
 
Hi,

also, soll das Programm während es läuft Konfigurationsinformationen in der eigenen exe modifizieren? Das geht nicht. Windowssicherhietsmechanismen verhindern das.
Vor dem compilieren ist das natürlch kein Problem.
Nach dem Compilieren geht es, wenn du Resourcen verwendest.
Informier dich mal über Resourcen und Resourceeditoren.

Grüße
Woki

chaosben 25. Okt 2005 12:22

Re: Konfigurations informationen ohne INI
 
Genau woki ...
Dahin gehen auch meine Idee. Du könntest es wie folgt machen: Du fügst in deine Exe Resourcen ein, die genau den Platz reservieren, den du für deine Informationen brauchst. Wenn du die INfos lesen willst, dann nutzt du die ganz normalen Resourcen-Zugriffs-Funktionen. Um die Infos zu speichern, brauchst du eine 2. exe (meinetwegen auch die gleiche, nur mit einer Commandline-Option) die du aufrufst, dich dann beendest und darauf wartest das die andere Exe dir die übergebenen Infos "injiziert". Die andere Exe muss dich dann wieder starten und weiter gehts im Takte des Prozessors. :)

mschaefer 25. Okt 2005 12:23

Re: Konfigurations informationen ohne INI
 
Moin, moin,

also wer das mit dem Kopieren nicht hinbekommt, sollte der sich an der Uni aufhalten? Sei in den Raum gefragt. Chatten sollten die Kandidaten wohl nebenher weniger... Aber weil das Problem so schön ist kommt hier eine Komponente mit Lösungsansatz:

Zitat:

sacc215.zip (18,468 bytes)

Simple AntiCopy Component (SACC) provides minimal level of copy-protecting of Delphi executables. SACC shows technique of storing information inside .EXE file even under WIN32. Includes function (FIND_ID_32) with source for finding ID in file and source code of Turbo Pascal AntiCopy unit.

sacc215.zip


Grüße // Martin


PS: Komponenten, die eine CRC32 Prüfsumme anhängen arbeiten auch ähnlich.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:15 Uhr.
Seite 1 von 2  1 2      

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