AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Text als Code??

Ein Thema von Ultraschmart · begonnen am 6. Apr 2006 · letzter Beitrag vom 7. Apr 2006
Antwort Antwort
Ultraschmart

Registriert seit: 8. Mär 2006
1 Beiträge
 
#1

Text als Code??

  Alt 6. Apr 2006, 22:39
Hi Leute!

Ein Freund von mir programmiert mit mir an einem Programm, welches Funktionen in einem definierten Koordinatensystem, zoom und allem drum und dran zeichnen, integrieren, differenzieren, und bald auch ne ganze Kurvendiskussion kann. Es gibt nur

1 Problem:
Es ist zu langsam! Das Programm dröselt für jeden X-Wert die Funktion von neuem auf und berechnet den Y-Wert. Dabei wird der eingegebene Text interpretiert und mit nem Haufen von verschachtelten, rekursiven If-Schleifen und Funktionen der Y-Wert errechnet.

Nun meine Frage:
Ist es möglich, Teile eines Textes in einem Edit-Fenster direkt als "dynamischen" Quellcode an definierten Stellen einzusetzen?
Zum Beispiel: Edit1 zeigt: "power(x-2,2)" Jetzt will ich "power(x-2,2)" als Quelltext in Zeile sowieso einsetzen. Geht das??

Danke für eure Aufmerksamkeit!

Arthur
  Mit Zitat antworten Zitat
Benutzerbild von arbu man
arbu man

Registriert seit: 3. Nov 2004
Ort: Krefeld
1.108 Beiträge
 
Delphi 7 Professional
 
#2

Re: Text als Code??

  Alt 6. Apr 2006, 22:43
nein geht nicht wirklich sonst bräuchtest du ja kein Delphi mehr. Nim doch den JvIntepreter der ist schnell um PascalCode parsen.
Björn
>> http://bsnx.net <<
Virtual DP Stammtisch v1.0"iw" am 19.09.2007 - ich war dabei!
  Mit Zitat antworten Zitat
Benutzerbild von Ultimator
Ultimator

Registriert seit: 17. Feb 2004
Ort: Coburg
1.860 Beiträge
 
FreePascal / Lazarus
 
#3

Re: Text als Code??

  Alt 6. Apr 2006, 23:00
Wenn du allerdings nur einen Formelparser brauchst, kannst du in der Open-Source-/Freeware-Sparte suchen, dort gibts sehr schnelle kompilierende
Julian J. Pracht
  Mit Zitat antworten Zitat
Nicodius

Registriert seit: 25. Apr 2003
Ort: Graz
2.234 Beiträge
 
Delphi 2006 Architect
 
#4

Re: Text als Code??

  Alt 7. Apr 2006, 07:16
wenn du einen guten parser machst ists auch sehr schnell. Am besten du suchst hier mal in der DP


grüße Nico
Nico Müller
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.123 Beiträge
 
Delphi 10.3 Rio
 
#5

Re: Text als Code??

  Alt 7. Apr 2006, 08:48
Und wenn Du keine Lust hast auf bestehendes zurück zu greifen, vielleicht hilft folgender Ansatz.

Das Verfahren nennt sich UPN (Umgekehrte-Polnische-Notation) woher auch immer der Name kommt...

Das ganze funktioniert über eine art Stack (Funktionsprinzip der Programmiersprache Forth).

Aus 3+4*5 wird dann erstmal 3 4 +
Als nächstest wir *5 in den Stack gepushed...

Und es entsteht - weil (Punkt vor Strichrechnung gilt)

3 4 + 5 *

Wenn Du das in (In diesem Fall von hinten nach vorne) auswertest....

case Get_Operator of

_Mul : begin
Get_Zahl(A);
Get_Zahl(B);
Push(A*B); // wieder auf den Stack... 3 20 +
end;

usw.. Somit erhälst Du problemlos eine Routine, die Deine Formel auseinander nehmen kann...

Frank

Hoff es hilft Dir weiter...
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:04 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