1 / 17

Purga - Scriptengine

www.virtual-maxim.de/purga. Purga - Scriptengine. Ein Einblick. Inhalt. Überblick Grundlagen Variablen Schleifen Bedingte Anweisungen Purga to C++ C++ to Purga Ausblick. Überblick. Website: www.virtual-maxim.de/purga Wird seit 2007 entwickelt Kostenlos und frei verwendbar

Télécharger la présentation

Purga - Scriptengine

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. www.virtual-maxim.de/purga Purga - Scriptengine Ein Einblick

  2. Inhalt Überblick Grundlagen Variablen Schleifen Bedingte Anweisungen Purga to C++ C++ to Purga Ausblick

  3. Überblick Website: www.virtual-maxim.de/purga Wird seit 2007 entwickelt Kostenlos und frei verwendbar Für Windows und Linux verfügbar Beinhaltet Dokumentation und Beispiele Syntax ist sehr C++ - ähnlich Einfache Einbindung in C++ - Programme

  4. Grundlagen Schlüsselwörter int, float, string, void, bool, table, vector, false, true, if, while, else, elseif, for, and, or, const, function, return, ref Tokens

  5. Variablen 1 Statische Typzuweisung Auto-Initialisierung Datentypen: Konstanten werden mit const eingeleitet

  6. Variablen 2 Deklaration Initialisierung Deklaration & Initialisierung Datentyp Name; Name = Wert; Datentyp Name = Wert;

  7. Schleifen 1 - for Syntax: for( Initialisierung; Bedingung; Anweisung) { // Anweisung } Beispiel: for( int i = 0; i < 5; i++) { // Anweisung }

  8. Schleifen 2 - while Syntax: while(Bedingung) { // Anweisung } Beispiel: int i = -5; while( i < 0) { i++; }

  9. Bedingte Anweisungen 1 – if / else Syntax: Beispiel: if(Bedingung) { // Anweisung 1 } else { // Anweisung 2 } int i = -5; if( i < 0) { i++; } else { i = -10; }

  10. Bedingte Anweisungen 2 – elseif Syntax: Beispiel: if(Bedingung) { // Anweisung 1 } elseif { // Anweisung 2 } int i = -5; if( i < 0) { i++; } elseif( i > 0 and i < 12) { i = -10; } else { i = 20; }

  11. Purga to C++ / Variablen In Purga deklarierte Variablen in C++ verwenden Funktioniert nur mit globalen Variablen Es stehen folgende Methoden bereit: // Eine globale Purga-Variable in C++ exportieren bool GetVariable(constwchar_t* var_name, int& variable); bool GetVariable(constwchar_t* var_name, double& variable); bool GetVariable(constwchar_t* var_name, std::wstring& variable); bool GetVariable(constwchar_t* var_name, bool& variable);

  12. Purga to C++ / Variablen - Beispiel Purga-Script: int ivariable = -4; C++ Code: int purga_var = 0; Purga_Instanz.GetVariable(“ivariable”, purga_var); std::cout << purga_var << std::endl;

  13. C++ to Purga / Variablen • Variablen die in C++ deklariert wurden in Purga verwenden • Es stehen folgende Methoden bereit: bool RegisterVariable(constwchar_t* var_name, int &var); bool RegisterVariable(constwchar_t* var_name, double &var); bool RegisterVariable(constwchar_t* var_name, std::wstring &var); bool RegisterVariable(constwchar_t* var_name, bool &var);

  14. C++ to Purga / Variablen - Beispiel C++ Code: float cpp_var = 0; Purga_Instanz.RegisterVariable(“cpp_var”, cpp_var ); std::cout << purga_var << std::endl; Purga-Script: cpp_var = 34.67; C++ Code: // Nach der Ausführung des Scripts // wird auf dem Bildschirm 34.67 erscheinen std::cout << cpp_var << std::endl;

  15. C++ to Purga / Funktionen C++ Funktionen in Purga aufrufen _stdcall oder _cdecl Aufrufkonvention Funktionen wird mit folgender Methode exportiert: bool RegisterFunction(constwchar_t* FullNameOfFunction, void* function, eCallType calltype = purga::CALL_STDCALL);

  16. C++ to Purga / Funktionen - Beispiel C++ Code: Purga_Instanz.RegisterFunction(L"int print(string)", &wprintf, purga::CALL_CDECL); Purga-Script: print("hallo \n");

  17. Ausblick Zukünftige Features: Purga-Funktionen, Tabellen, Referenzen Steigern der Geschwindigkeit Erweitern der Dokumentation Bessere Fehlererkennung Danke für Ihr Interesse!

More Related