Re: Der HAM-Parser
super!! Danke!! Klassssse!! Die Demo/ das Bsp hab ich nicht und jetzt wird mir alles klar!!!!
mfg |
Re: Der HAM-Parser
Woher hast du diese Demo....? Ich durchsuche gerade das Forum und verstricke mich im Wirrwar.....
Danke für eure Hilfe.... |
Re: Der HAM-Parser
Liste der Anhänge anzeigen (Anzahl: 1)
Ich bin immer noch dabei den TCQ-Parser in mein Programm zu integrieren, kam gerade nen Schritt weiter, stehe aber vor dem nächsten Problem: Delphi scheint den Befehl parser.registervariable nicht zu erkennen!! Ich weiß nicht warum!! Kann jemand mir einen Tipp geben??
Hab nen Screenshot gemacht... Siehe Anhang.. Danke, |
Re: Der HAM-Parser
Moin,
am besten ist es wohl, wenn du einen neuen Thread eröffnest. Hier geht's ja eher um den "HAM-Parser" von Dax. Damit dir dieser Post noch was nützt: http://www.delphipraxis.net/internal...ghlight=parser Der Anhang im ersten Post beinhaltet auch eine Demo. Die kannst du ja mal laden ;). Dann dürften deine Fragen eigentlich geklärt sein. |
Re: Der HAM-Parser
Ich hatte zuerst mit deiner Vorgängerversion programmiert, aber nun wollte ich HAM nehmen, weil ich es eh nicht komplieren brauch...
Was muss ich jetzt nun zum alten Parser beachten? Also was muss ich registrieren etc... [edit]Ich habe schon gesehen, dass man +/-/*///^ registieren muss... [/edit] |
Re: Der HAM-Parser
Huch, is das schon lange her... Weiß schon bald selbst nicht mehr, wie das Ding funktioniert. Grundsätzlich musst du nur registrieren, was du brauchst. Also die Standardoperatoren +, -, * und / sowie einige Funktionen und wahrscheinlich Variablen. Zu den Demos gehört eine Unit mit allen dieser Standardoperatoren, vielleicht hilft dir das schon weiter. Funktionen registrieren sollte ähnlich gehen... Frag am besten mal DGL-luke, der dürfte von HAM mittlerweile mehr Ahnung haben als ich^^
|
Re: Der HAM-Parser
Zitat:
Zitat:
@ Luke: lol ^^ |
Re: Der HAM-Parser
Zitat:
|
Re: Der HAM-Parser
Hi Dax,
Wir verwenden gerade Deinen HAM Parser im Rahmen eines größeren Projektes (das wir hier auch demnächst veröffentlichen wollen). Dabei haben wir einen kleinen Bug gefunden. In HAM_Main bei der Funktion THAMParser.GetVarByIndex müsste die Zeile
Delphi-Quellcode:
if not ((Index < 0) or (Index >= fFunctions.Count)) then
richtiger Weise
Delphi-Quellcode:
ebenso müsste bei THAMParser.GetOpByIndex
if not ((Index < 0) or (Index >= fVariables.Count)) then
vermutlich auch
Delphi-Quellcode:
stehen.
if not ((Index < 0) or (Index >= fOperators.Count)) then
-Michael |
Re: Der HAM-Parser
Hi Dax again,
Wir basteln an einem Programm bei den man eine Formel für eine Funktion eingeben kann und das dann diverse in dieser Funktion enthaltene Parameter p0...pm so bestimmt, dass die Kurve möglichst genau eine Menge von vorgegebenen Punkten repräsentiert (nichtlineare Ausgleichsrechnung). Hierzu muss die Funktion natürlich zig tausend mal mit unterschiedlichem x und mit unterschiedlichen Parametern p0...pm ausgewertet werden. Dazu ist der HAM Parser excellent geeignet, da er ja nicht bei jedem Aufruf den Text interpretiert, sondern auf einer entsprechend vorbereiteten Struktur arbeitet. Wir benutzen nun VariableByIndex[i].Value um x und die p's vor der Auswertung zu setzen. Eigentlich wäre es praktischer und vermutlich schneller, die x und p's als externe Funktionen aufrufen zu lassen. Der HAM-Parser kann aber keine Funktionen ohne Parameter aufrufen. Gibt es vielleicht doch eine bessere Möglichkeit als VariableByIndex[i].Value ? Gruß, -Michael |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:31 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