Autor Beitrag
Rachel_Hannah
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Fr 04.05.07 17:01 
Hi Leute,
ich soll für ne Präsentation in der Schule ne Registermaschine programmieren. Zur Zeit hapert es bei mir daran, dass ich zwar die einzelnen Prozeduren alle hinbekomme, aber nicht in der Lage bin während des Durchlaufens des Programms neue Programmteile zu schreiben bzw. zu speichern.
Um das ganze nochmal zu verdeutlichen, die Registermaschine ist einem überdimensionalen, programmierbaren Taschenrechner gleichzusetzen. Die einzelnen Rechnungen funktionieren zwar, aber wenn ich sie verknüpfen soll, weiß ich nicht wo und wie ich diese speichern kann, sodass ich in der Folge aus dem gleichen Programm darauf zugreifen kann.
Freue mich schon auf alle Hinweise.
Gruß
Rachel
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Fr 04.05.07 17:39 
Moin!

user profile iconRachel_Hannah hat folgendes geschrieben:
Registermaschine programmieren. Zur Zeit hapert es bei mir daran, dass ich zwar die einzelnen Prozeduren alle hinbekomme, aber nicht in der Lage bin während des Durchlaufens des Programms neue Programmteile zu schreiben bzw. zu speichern.

Hä? :gruebel: Selbstmodifizierender Code, oder was... :?!?:

user profile iconRachel_Hannah hat folgendes geschrieben:
Um das ganze nochmal zu verdeutlichen

...solltest du uns mal ein wenig Code und/oder Beispiele zeigen, ich zumindest kann dir bei deinem Problem nicht folgen. :nixweiss:

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
zongo-joe
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 134

win xp prof
D3, D4, D7
BeitragVerfasst: Fr 04.05.07 17:42 
hm... klingt nach einem recht grundsätzlichen problem:
-> hast Du schon mal was in Delphi programmiert ?

sonst würd eich Dir erstmal einen Crashkurs empfehlen:

www.delphi-treff.de/...ials/einsteigerkurs/
www.christian-stelzm...e=crashkurs_reloaded
www.delphi-library.d...BenBE&forcestr=1
Oder schau doch mal in derTutorial-, FAQ- und Buch-Sparte nach. Dort wirst du einiges finden.
Rachel_Hannah Threadstarter
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Sa 05.05.07 00:43 
ja, ich arbeite schon seit 2 jahren mit delphi und bilde mir ein zumindest die grundlegenden möglichkeiten zu beherrschen.
ich möchte jetzt aber während der runtime befehle eingeben und abspeichern, sodass diese in der folge in gleicher reihenfolge wieder abgefragt werden können.
geht das? und wenn ja, wie?
quelltext hilft da auch nicht, es geht um die prinzipielle möglichkeit!
rachel
JayEff
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: Sa 05.05.07 02:34 
Ein Programm (im win32 Format - nicht .NET - darüber weiß ich nix ;) ) besteht aus Binärcode, genauer, Assembler. Delphiprogramme bilden da keine Ausnahme. Es gibt prinzipiel 2 bzw 3 Möglichkeiten, zur Laufzeit Code in deinem Programm zu verändern/hinzuzufügen.
1: Baue einen kompletten Suche in: Delphi-Forum, Delphi-Library INTERPRETER ein (Siehe dazu z.B. das Open Source Projekt um den Brainfuck-Interpreter. Es kam kurzzeitig zur Ansprache, dass man den BF-Interpreter mit Code aus einer Resource füttern kann. Delphi eignet sich nicht wirklich dafür, aus einer Resource gelesen zu werden, da ein zugehöriger Interpreter viel zu komplex ist!), der den Code aus einer Resource lädt. Diese lässt sich auch nach dem Compilieren noch ändern.

2: Lerne Suche in: Delphi-Forum, Delphi-Library ASSEMBLER und editiere die Exer per Hex-Editor bzw. lass das ein Programm für dich machen. Dazu ist seeehr viel Grundwissen in Assembler, aber auch dem Aufbau von Exe-Dateien notwendig.

Die dritte Möglichkeit wäre, wenn auch beschränkt, über Suche in: Delphi-Forum, Delphi-Library DLLs. Dazu musst du den Code, den du ausführen willst, aber erst per Delphi in eine DLL compilieren, welche dann von deinen Programm ausgelesen werden kann.

In deinem Fall solltest du vielleicht "einfach" eine eigene Skriptsprache erfinden (bzw. eine vorgefertigte nehmen) die deinen Anforderungen genügt, dann ("einfach") einen Interpreter dazu schreiben, fertig. Ist in meinen Augen die einzige Möglichkeit, da DLLs ausfallen und Assembler a)zu kompliziert ist und b)wie die sprichwörtliche auf den Spatz zielende Kanone ist.

_________________
>+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
ssb-blume
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 375
Erhaltene Danke: 7

XP, W7, W8
Deutschland
BeitragVerfasst: Sa 05.05.07 11:45 
Ganz einfach:

Die eingegebenen Befehle einzeln speichern (in List o.ä.)
dann bei Bedarf wieder auslesen und wie eine Tastatur-Eingabe behandeln.

_________________
Brain: an apparatus with which we think we think.