C++ Builder i MathParser?

0

Witam,
Mam sobie fajny parser, a mianowicie MathParser. Jest to komponent dla Delphi i tam instaluję go normalnie, a potem tylko w uses dodaję Math i jest OK. Muszę go jednak użyć w C++ Builderze. No to zainstalowałem jako komponent, bo C++ Builder także akceptuje pliki .pas. No i mam - jednak nie mogę użyć np.
AFuncTree = AFuncParser->ParseTerm(funkcja->Text);
bo AFuncTree nie istnieje. Jak mam to zrobić, żeby móc używać MathParsera w C++?

0

nie znam tego komponentu. Możesz zarzucić większą ilością kodu?

0

Przepraszam - to nie komponent, a raczej moduł. Nie będę tutaj wklejał kodu, oto link do pobrania:
www.underflip.pl/files/mathparser.rar
Dzięki temu modułowi można narysować wykres danej funkcji na np. PaintBoxie. W Delphi umiem to zrobić, ale jak w C++ - to już nie wiem.

0

i co - ktoś ma pomysła?

0

Tez jakies 4 miesiące temu miałem ten problem. Ale skończyło sie natym ze napisałem własny parser. Do jednej zmienej i obsługiwał wszysktie funkcje matematyczne o jakich uczy sie w liceum.
Wskazówki jak to zrobił

  1. Czytasz teks funkcj i rozboznajesz słowa bądź znaki kluczowe (sin, cos, + ,- , i inne jakie chcesz)
  2. Później wszystko zamieniasz na notacje ONP (jest troche zabawy z pryjorytetami funkcji)
    3)No i to chyba wszystko
    A ten moj parser nie radził sobie z negacją (a niby to takie banalne)
0

Dzięki za odpowiedź. Jutro zacznę sobie tłumaczyć kod na C++. Myślałem, że uda mi się tego uniknąć :)

0

A z dokumentacj zawartej na tej stronie korzystałem.
Niewiem czy teraz jest bo się zabardzo temu nie przyglądałem
ale na pewno są bibliteki tego parsera. Pod co tylko chcesz. :)

<url>http://www.epokay.net/artur/matematyczne.php
</url>

0

67KB - dałem se luz, za dużo kodu, a sprawa nie ma aż takiego priorytetu :)

Tą stronę co podałeś już widziałem, ale nie wiem jak korzystać z tego parsera. Jest gdzieś opis najprostrzych funkcji? Głównie chodzi mi o rysowanie funkcji na PaintBoxie

0

Dobra, coś wpadło mi do głowy i zacząłem kombinować. Siedzę nad tym już długo, w OP bym to już dawno zrobił, jednak tutaj mam problem z paroma rzeczami. Np. zapomniałem jak zastąpić w C++ with Canvas do :D

Prosiłbym o pomoc.
Tutaj jest sam moduł MathParser:
http://pastebin.com/703380 (można go sobie dodać do C++ Buildera)
http://www.underflip.pl/files/mathparser.rar
Tutaj kod projektu:
http://pastebin.com/703381
Kod formy:
http://pastebin.com/703378

No i oczywiście kod, który sam napisałem na podstawie tego co zrobiłem w Delphi (tam wszystko działa):
http://pastebin.com/703368

Proszę dać jakieś wskazówki lub w najlepszym wypadku zmodyfikować kod :D
PS: jest to projekt Open Source, każdy kto chce niech się bawi tym rysowaniem (o ile komuś się uda), nie chcę tego użyć w żadnym programie, a jedynie dać to całe jednemu uczniowi na jakieś zaliczenie z C++ (oczywiście za darmo).

0

No i co programiści, ktoś rzucił okiem? :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1