Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Ahlf Zent Geändert vor über 10 Jahren
1
Purga - Scriptengine www.virtual-maxim.de/purga Ein Einblick
2
Inhalt Überblick Grundlagen Variablen Schleifen Bedingte Anweisungen Purga to C++ C++ to Purga Ausblick
3
Überblick Website: www.virtual-maxim.de/purgawww.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 DatentypSpeicherWertebereich int4Byte–2,147,483,648 bis 2,147,483,647 float8Byte 1.7E +/- 308 (15 Nachkommastellen) string2Byte pro Zeichen bool1Bytetrue/false oder 1/0
6
Variablen 2 Deklaration Initialisierung Deklaration & Initialisierung Datentyp Name; Name = Wert; Datentyp Name = Wert;
7
Schleifen 1 - for for( int i = 0; i < 5; i++) { // Anweisung } for( Initialisierung; Bedingung; Anweisung) { // Anweisung } Beispiel: Syntax:
8
Schleifen 2 - while int i = -5; while( i < 0) { i++; } while(Bedingung) { // Anweisung } Beispiel: Syntax:
9
Bedingte Anweisungen 1 – if / else int i = -5; if( i < 0) { i++; } else { i = -10; } if(Bedingung) { // Anweisung 1 } else { // Anweisung 2 } Beispiel:Syntax:
10
Bedingte Anweisungen 2 – elseif int i = -5; if( i < 0) { i++; } elseif( i > 0 and i < 12) { i = -10; } else { i = 20; } if(Bedingung) { // Anweisung 1 } elseif { // Anweisung 2 } Beispiel:Syntax:
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(const wchar_t* var_name, int& variable); bool GetVariable(const wchar_t* var_name, double& variable); bool GetVariable(const wchar_t* var_name, std::wstring& variable); bool GetVariable(const wchar_t* var_name, bool& variable);
12
Purga to C++ / Variablen - Beispiel int purga_var = 0; Purga_Instanz.GetVariable(ivariable, purga_var); std::cout << purga_var << std::endl; int ivariable = -4; C++ Code: Purga-Script:
13
C++ to Purga / Variablen Variablen die in C++ deklariert wurden in Purga verwenden Es stehen folgende Methoden bereit: bool RegisterVariable(const wchar_t* var_name, int &var); bool RegisterVariable(const wchar_t* var_name, double &var); bool RegisterVariable(const wchar_t* var_name, std::wstring &var); bool RegisterVariable(const wchar_t* var_name, bool &var);
14
C++ to Purga / Variablen - Beispiel float cpp_var = 0; Purga_Instanz.RegisterVariable(cpp_var, cpp_var ); std::cout << purga_var << std::endl; cpp_var = 34.67; C++ Code: Purga-Script: // Nach der Ausführung des Scripts // wird auf dem Bildschirm 34.67 erscheinen std::cout << cpp_var << std::endl; C++ Code:
15
C++ to Purga / Funktionen C++ Funktionen in Purga aufrufen _stdcall oder _cdecl Aufrufkonvention Funktionen wird mit folgender Methode exportiert: bool RegisterFunction(const wchar_t* FullNameOfFunction, void* function, eCallType calltype = purga::CALL_STDCALL);
16
C++ to Purga / Funktionen - Beispiel Purga_Instanz.RegisterFunction(L"int print(string)", &wprintf, purga::CALL_CDECL); print("hallo \n"); C++ Code: Purga-Script:
17
Ausblick Zukünftige Features: Purga-Funktionen, Tabellen, Referenzen Steigern der Geschwindigkeit Erweitern der Dokumentation Bessere Fehlererkennung Danke für Ihr Interesse!
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.