Autor Beitrag
opactium
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 20



BeitragVerfasst: Sa 08.12.07 17:32 
hallo zusammen

kennt jemand ein gutes tutorial, wo mit beschrieben wird, wie ich einen builder in delphi coden kann?

es geht darum, dass der user gewisse variablen selber bestimmen soll/kann. in VB6 war das kein problem.
da habe ich einfach die exe geoeffnet und im binaeren modus hinten meine optionen angehaengt. (also einfach so hinten an die exe geschrieben)
natuerlich habe ich zuerst die variable so definiert, dass sie immer mit 100 bytes leerzeichen gefuellt ist, und dann einfach noch die optionen dahinein gepackt.
so stellt ich sicher, dass ich immer 100 bytes an die datei haenge.

nun bei der eigentlichen exe habe ich dann einfach die letzen 100 bytes von sich selber ausgelesen und gesplittet, und hatte dann so die variablen verfuegbar.

hat jemand nun eine idee, wie sich sowas in delphi umsetzen laesst??

ThX
Zorro
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 76

Win 2000, Win XP Pro
Delphi 7 Architect
BeitragVerfasst: Sa 08.12.07 20:17 
user profile iconopactium hat folgendes geschrieben:
hallo zusammen

kennt jemand ein gutes tutorial, wo mit beschrieben wird, wie ich einen builder in delphi coden kann?

es geht darum, dass der user gewisse variablen selber bestimmen soll/kann. in VB6 war das kein problem.
da habe ich einfach die exe geoeffnet und im binaeren modus hinten meine optionen angehaengt. (also einfach so hinten an die exe geschrieben)
natuerlich habe ich zuerst die variable so definiert, dass sie immer mit 100 bytes leerzeichen gefuellt ist, und dann einfach noch die optionen dahinein gepackt.
so stellt ich sicher, dass ich immer 100 bytes an die datei haenge.

nun bei der eigentlichen exe habe ich dann einfach die letzen 100 bytes von sich selber ausgelesen und gesplittet, und hatte dann so die variablen verfuegbar.

hat jemand nun eine idee, wie sich sowas in delphi umsetzen laesst??

ThX


Kommt darauf an was du unter "selber bestimmen" vestehst:
- Gehts darum, dass der user deines Proggis einen VariablenWERT setzt?
- Gehts darum, dass der user deines Proggis eine Variable selber DEFINIEREN darf?

Stichworte, die mir spontan einfallen:
- Ini-Dateien (notfalls Registry)
- Scripting-Komponenten (damit kannst du ganze Algorithmen aus der Exe auslagern und somit flexibel halten)

Greetz
Zorro
dummzeuch
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 593
Erhaltene Danke: 5


Delphi 5 ent, Delphi 6 bis Delphi XE8 pro
BeitragVerfasst: So 09.12.07 13:48 
Hi,

user profile iconopactium hat folgendes geschrieben:
es geht darum, dass der user gewisse variablen selber bestimmen soll/kann. in VB6 war das kein problem.
da habe ich einfach die exe geoeffnet und im binaeren modus hinten meine optionen angehaengt. (also einfach so hinten an die exe geschrieben)
natuerlich habe ich zuerst die variable so definiert, dass sie immer mit 100 bytes leerzeichen gefuellt ist, und dann einfach noch die optionen dahinein gepackt.


Also wenn ich Dich richtig verstehe, willst Du, dass der User Einstellungen im Programm aendern kann, indem er bestimmte Konstantenwerte patcht?

In Delphi wuerde mir dazu einfallen, eine/mehrere Konstanten zu deklarieren:

ausblenden Delphi-Quelltext
1:
2:
3:
const
  Param1 = 'Param1: <hier Wert reinpatchen';
  Param2 = 'Param2: <hier Wert reinpatchen';

Im Programm fragt man dann einfach die Strings ab:
ausblenden Delphi-Quelltext
1:
2:
if Leftstr(Param1, 16)='Param1: trallala' then
 ...


Dazu muss dann jemand nur noch die EXE in einem Hex-Editor oeffnen, die Stelle suchen und abaendern. Alternativ kann man das Programm so schreiben, dass es eine Funktion zum Patchen einer Kopie des Exes enthaelt, dann ist kein Hex-Editor mehr noetig.

Ich halte diese Vorgehensweise allerdings fuer nicht besonders geeignet. Vielleicht habe ich ja auch einfach nicht verstanden, was du eigentlich bezweckst? Wie waere es mit einem konkreten Beispiel?

twm