Potrzebuje funkcji która wykonywała by kod w następujący sposób np
executecode(“writeln(‘siemka’);”)
lub
executecode(“ziom:=5;”)
chodzi o to aby wykonywała kod podany w " ".
Potrzebuje funkcji która wykonywała by kod w następujący sposób np
executecode(“writeln(‘siemka’);”)
lub
executecode(“ziom:=5;”)
chodzi o to aby wykonywała kod podany w " ".
Pascal to język kompilowany do kodu natywnego. Nie da się go zmieniać po kompilacji. W C#, PHP i innych interpretowanych/uruchamianych na wirtualnej maszynie tak się da, ale nie w języku takim jak Pascal. Musisz napisać interpreter składni Pascala i całą “otoczkę” dopiero będziesz mógł wykonać kod w sposób który podałeś. Inaczej jest to niemożliwe.
Teoretycznie Fiołek ma racje, ale w praktyce … darmowa biblioteka Jedi, komponenty: TJvInterpreterProgram oraz TJvInterpreterFm
bardzo łatwa “łączność” z wnętrzem programu.
A jak to wykonać w c++ i/lub c#.
C# oferuje to “standardowo”(ma możliwość podmiany kodu w trakcie wykonywania z racji tego, że jest wykonywany na maszynie wirtualnej), jednak nie wiem jak to zrobić. Do C++ musisz sobie znaleźć bibliotekę która będzie interpretowała język o podobnej składni. AngelScript ma podobną, jednak nie wiem jak to z nim jest.
Wyżej wymieniona biblioteka Jedi może być podłączona i użyta pod Borland C++ Builder’em