AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Solvi - der ultimative Matheparser
Thema durchsuchen
Ansicht
Themen-Optionen

Solvi - der ultimative Matheparser

Ein Thema von fLaSh11 · begonnen am 4. Mär 2006 · letzter Beitrag vom 20. Mär 2007
Antwort Antwort
Seite 1 von 2  1 2      
fLaSh11
Hallo DPler,
ich habe schon vor einiger Zeit einen Matheparser programmiert , der auch Schaubilder zeichnet. Jetzt habe ich ihn gepostet.

Funktionen:
-Operatoren:+,-,*,/,(),sin-,cos-,tan-Funktionen,Logarithmus,...
-Schaubilddarstellung (2d/3d)
-bis zu fünf Funktionen gleichzeitig anzeigbar

Also ist wenn mans so will eigentlich mehr ein graph. Taschenrechner, der aber auch ganz normale Gleichungen löst.

Info:
Der ganze Parser besteht aus einer einzigen Datei (Solvi XP.exe), die ca. 450kb groß ist. (Zip-Archiv ist 250kb groß)

Schauts euch mal an.
Danke fürs Feedback im Vorraus.

[edit]Screenshot hinzugefügt[/edit]
Miniaturansicht angehängter Grafiken
screenshot_123.jpg  
Angehängte Dateien
Dateityp: zip solvi_xp_123.zip (219,0 KB, 149x aufgerufen)
 
Nicolai1234

 
Turbo Delphi für Win32
 
#2
  Alt 4. Mär 2006, 11:48
Soweit ich sehe funktioniert doch alles Super

Einen kleinen Vorschlag hätte ichaber noch. Wie wäre es, wenn man den gezeichneten Graphen als bmp oder so in die zwischenablage legen könnte. DAnn könnte man ihn woanders weiterverarbeiten! Das fände ich dann perfekt.
  Mit Zitat antworten Zitat
fLaSh11
 
#3
  Alt 12. Mär 2006, 10:32
hmmm...

Mit TChart.SaveToMetafile('blah'); bekomme ich immer nur ein super kleines Bild...(50x50px)
Weiß jemand, was ich falsch mache???

Gruß Steffen
  Mit Zitat antworten Zitat
Dust Signs
 
#4
  Alt 12. Mär 2006, 11:06
1.) Wie lästig... Beim Berechnen des Ln erhalte ich massenweise Werte, die nicht berechnet werden können (-5 zB)
2.) Wie wäre es mit einer Funktion zum wieder Heraus-Zoomen?
3.) Wirklich interessant, dass dein Programm bei
Code:
ln(exp(x)
nichtmal einen Fehler meldet
4.) Muss das Fenster unbedingt den ganzen Bildschirm abdecken?
5.)
Code:
x^x
-> "Fehler beim Potenzieren"
6.) Die Berechnungen scheinen teilweise sehr ungenau zu sein - der (Co)sinus erinnert mich teilweise mehr an eine Art Sägezahnfunktion...

Dust Signs
  Mit Zitat antworten Zitat
fLaSh11
 
#5
  Alt 12. Mär 2006, 15:57
1) kannst du kein ln aus einer negativen Zahl ziehen (also den Bereich positiv machen!)

2) einfach nach dem zoomen den breich markieren, der die neue Mitte darstellen soll.

3) exp(x) ist immer größer als 0 => siehe 1)

4) kann ich mal danach schauen...

5) siehe 1)

6) Schrittgröße verkleinern!

... auf alles gibt es eine Antwort!
  Mit Zitat antworten Zitat
Dust Signs
 
#6
  Alt 12. Mär 2006, 16:08
Zitat von fLaSh11:
1) kannst du kein ln aus einer negativen Zahl ziehen (also den Bereich positiv machen!)
Natürlich kann ich, das Ergebnis ist dann komplex. Du kannst es zwar nicht darstellen, 10 MessageBoxes müssen trotzdem nicht sein.

Zitat:
2) einfach nach dem zoomen den breich markieren, der die neue Mitte darstellen soll.
Dann kann ich reinzoomen, aber nicht raus - außer ich überseh irgendwas.

Zitat:
3) exp(x) ist immer größer als 0 => siehe 1)
Ich meinte eher den Syntaxfehler (fehlende Klammer)

Dust Signs
  Mit Zitat antworten Zitat
Thorben77
 
#7
  Alt 12. Mär 2006, 16:14
Das Programm erkennt keine Definitionslücken, es kommt nur 'ne Fehlermeldung, dass ein Fehler bei der Division aufgetreten ist .
Aber sonst super .
  Mit Zitat antworten Zitat
Dust Signs
 
#8
  Alt 12. Mär 2006, 16:22
Achja, wenn wir schon dabei sind:

-> 0^0 ist nicht (eigentlich) definiert (bei dir 0)
-> Wenn ich die Schrittweite kleiner mache, dauert die Berechnung ewig (Begin- bzw. EndUpdate im Memo verwenden)
-> pi und e als Konstanten wären nicht schlecht (wobei pi wichtiger wäre als e, weil man e ja über exp(1) erzeugen kann)
-> Warum verwendest du ein Memo, das nicht read-only ist? -> ListBox
-> Die Funktionen sinh, cosh und tanh fehlen - ebenso die inversen Funktionen zu den Winkelfunktionen (sin, ...) und letzteren
-> Der Syntaxfehler mit der Klammer scheint tiefer begraben zu sein:
Code:
sin(cos(tan(x
ergibt zB ebenfalls einen konstanten Wert
-> Zwei Fehler wie in der Grafik (schwarz markiert) ersichtlich: 1.) der Text der Checkboxes wird abgeschnitten, 2.) wenn man die Schrittgröße etwas verkleinert (0,005 im Beispiel aus der Grafik) stimmen die Achsenbeschriftungen nicht mehr wirklich (runden!).

Dust Signs
Miniaturansicht angehängter Grafiken
errors_272.jpg  
  Mit Zitat antworten Zitat
fLaSh11
 
#9
  Alt 18. Mär 2006, 21:22
Bin dabei, die genannten Fehler zu korrigieren, kann mir aber jemand nochmal oben gestellte Frage beantworten? (Forensuche ergab nichts):

Zitat von fLaSh11:
hmmm...

Mit TChart.SaveToMetafile('blah'); bekomme ich immer nur ein super kleines Bild...(50x50px)
Weiß jemand, was ich falsch mache???

Gruß Steffen
  Mit Zitat antworten Zitat
DMW

 
Delphi XE Professional
 
#10
  Alt 19. Mär 2007, 23:34
Metafiles (*.wmf, *.emf) sind keine Bitmap-, sondern Vektorgrafiken, genauer gesagt Anreihungen von skalierbaren GDI-Befehlen, durch die das Bild erzeugt werden kann. Die Windows-Bildvorschau kann AFAIK in Metafiles zoomen.
Moritz
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 23:56 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz