Seite 2 von 2
Proceduren suchen !
Verfasst: 24.07.2008 09:29
von dater
Hi,
erst mal Danke für eure Antworten.
Ich will einen PDF-Creater schreiben. Es soll von einer Textdatei die Kommandos eingelsen werden, und entsprechend ein PDF erstellt werden.
z.B.
PDFCreate(A4)
Print,10,10,Hallo
DrawBox,10,10,100,100,rgb(100,200,0)
u.s.w.
Ich wollte die Proceduren so schreiben das sie direkt mit CallFunctionFast
aufgerufen werden. Da es sehr viele Procdeuren werden, wollte ich ein wenig, durch eine art Parser die sache 'Automatisieren' um etwas Tip-Arbeit zu sparen !
Dater.
Verfasst: 24.07.2008 09:38
von Franky
Kaeru Gaman hat geschrieben:wenn ein alter Hase wie edel im zweiten posting dieses threads schreibt "geht nicht",
dann....
Heißt das, dass ein Alter Hase wie Edel noch keine Möglichkeit dazu gefunden hat, sonst hätte er ja einen Grund angeführt
Aber du darfst natürlich gerne weiter dran glauben, dass die Weltweite Nachfrage an Fahrzeugen 10 Millionen nicht übersteigen wird. Hat ja immerhin auch ein Alter Hase wie Karl Benz behauptet
Nun denn:
Code: Alles auswählen
Structure func
name.s
adr.l
EndStructure
Global menge.l
Global NewList Funktion.func()
Restore funcmenge
Read menge
Restore funcadr
For a=1 To menge
AddElement(Funktion())
Read Funktion()\adr
Next
Restore funcname
FirstElement(Funktion())
For a=1 To Menge
Read Funktion()\name
Debug Funktion()\name
NextElement(Funktion())
Next
OpenConsole()
Repeat
string.s=UCase(Input())
Debug string
ForEach Funktion()
If string=Funktion()\name
CallFunctionFast(Funktion()\adr)
Break
EndIf
Next
Until string="END"
Procedure Nachricht()
MessageRequester("Nachricht","Bitte geben sie nicht mehr 'Nachricht' ein, denn dieses Fenster ist zu faul, sich immer und immer wieder zu öffnen")
EndProcedure
Procedure PureBoard()
RunProgram("http://pure-board.de")
EndProcedure
Procedure Commander()
RunProgram("cmd")
EndProcedure
DataSection
funcmenge:
Data.l 3
funcadr:
Data.l @Nachricht(),@PureBoard(),@Commander()
funcname:
Data.s "NACHRICHT","PUREBOARD","COMMANDER"
EndDataSection
EndDataSection
Hier mal eine primitive Version eines solchen Programmes.
Die DataSection kannst du über ein Automatisches Programm erstellen lassen, das deinen Quelltext durchsucht und bei "Procedure" anschlägt.
Wenn du schon nen PDF-Creater schreiben willst, wirste das sicher hinkriegen

Verfasst: 24.07.2008 10:04
von edel
Es gibt aber einfach Sachen die sind sinnlos. Wenn ich doch weiss
wie meine Funktionen heissen, muss ich sie doch nicht speichern,
geschweige denn suchen.
Verfasst: 24.07.2008 10:09
von Little John
Ich verstehe auch nicht was das bringen soll ... außer die Chance für Bugs zu vergrößern, und die Wartbarkeit des Programms zu verschlechtern.
Gruß, Little John
Verfasst: 24.07.2008 11:38
von Falko
Ich hoffe ich habe es richtig verstanden. Vielleicht einfach alle Procedures in
ProcedureDLL umwandeln, eine DLL compilieren und dann mit ts-soft's tool
durchlaufen lassen. Danach kann man den Quelltext nutzen bzw. anpassen.
http://www.realsource.de/tmp/DLL2PBLib.zip
Wenn dieses nicht das Richtige ist, vergessen wir diesen Eintrag
Gruß Falko
Re: Proceduren suchen !
Verfasst: 24.07.2008 13:57
von Kaeru Gaman
dater hat geschrieben:Hi,
erst mal Danke für eure Antworten.
Ich will einen PDF-Creater schreiben. Es soll von einer Textdatei die Kommandos eingelsen werden, und entsprechend ein PDF erstellt werden.
z.B.
PDFCreate(A4)
Print,10,10,Hallo
DrawBox,10,10,100,100,rgb(100,200,0)
u.s.w.
Ich wollte die Proceduren so schreiben das sie direkt mit CallFunctionFast
aufgerufen werden. Da es sehr viele Procdeuren werden, wollte ich ein wenig, durch eine art Parser die sache 'Automatisieren' um etwas Tip-Arbeit zu sparen !
Dater.
aber das hat doch nicht das geringste damit zu tun, dass eine exe ihre eigenen proceduren ausliest.
wenn du auf die tour nen PDF-creator schreiben willst, dann schreib dir nen Parser/Interpreter.
das ist das was du eigentlich haben willst.
Verfasst: 24.07.2008 20:02
von AND51
edel hat geschrieben:Die Methode von AND51 kann gar nicht gehen, da PB es voellig egal ist ob da Procedure oder ProcedureDLL steht. Solange es nicht als DLL kompiliertwird, wird man da auch nichts auslesen koennen.
Ah, vielen Dank für diese Information!
Kaeru Gaman hat geschrieben:dann hab ich halt nicht richtig hingesehen...
Vorschlag: Strich drunter, Schwamm drüber?
Verfasst: 24.07.2008 20:08
von Kaeru Gaman
ja is schon ok... wir kommen doch immer wieder klar...