Delphi-PRAXiS
Seite 6 von 8   « Erste     456 78      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Der HAM-Parser (https://www.delphipraxis.net/59668-der-ham-parser.html)

bg 11 24. Feb 2006 18:54

Re: Der HAM-Parser
 
super!! Danke!! Klassssse!! Die Demo/ das Bsp hab ich nicht und jetzt wird mir alles klar!!!!

mfg

bg 11 24. Feb 2006 19:08

Re: Der HAM-Parser
 
Woher hast du diese Demo....? Ich durchsuche gerade das Forum und verstricke mich im Wirrwar.....
Danke für eure Hilfe....

bg 11 25. Feb 2006 10:59

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,

Alexander 25. Feb 2006 12:07

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.

xZise 26. Jan 2007 11:31

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]

Dax 26. Jan 2007 11:39

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^^

xZise 26. Jan 2007 11:50

Re: Der HAM-Parser
 
Zitat:

Zitat von Dax
Huch, is das schon lange her...

Kennste ein besseren ^^

Zitat:

Zitat von Dax
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^^

Okay... Ich werds mir angucken...
@ Luke: lol ^^

Dax 26. Jan 2007 11:57

Re: Der HAM-Parser
 
Zitat:

Zitat von xZise
Kennste ein besseren ^^

Für Win32 keinen kostenlosen, der Funktionalität in diesem Umfang bietet.. Aber das muss nichts heißen :) Hab mit Delphi schon seit gefühlten Jahrzehnten nix mehr gemacht :roteyes:

mschnell 2. Jul 2007 13:42

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:
  if not ((Index < 0) or (Index >= fVariables.Count)) then
ebenso müsste bei THAMParser.GetOpByIndex

vermutlich auch

Delphi-Quellcode:
  if not ((Index < 0) or (Index >= fOperators.Count)) then
stehen.

-Michael

mschnell 2. Jul 2007 14:08

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.
Seite 6 von 8   « Erste     456 78      

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