Lua || Selber bauen || Andere Vorschläge
- Bebu
- Beiträge: 562
- Registriert: Mi Okt 21, 2009 6:19 pm
- Wohnort: In der Nähe von Salzburg - Bin aber kein Österreicher!
Lua || Selber bauen || Andere Vorschläge
Ich bastle zur Zeit an einem kleinen Projekt um Pfade nach bestimmten Mustern zu erzeugen. In der Firma, in der ich arbeite legen wir Projekte mit einer bestimmten Ordnerstruktur auf einem Netzlaufwerk an und legen dort CAD Dateien, Bilder und sonstigen Kram zum Projekt ab. Diese Ordnerstruktur erstellen wir bisher von Hand, was ziemlich lästig ist. Mittels Boost und wxWidgets habe ich mittlerweile einen funktionierenden Prototypen, der jetzt aber noch verfeinert und für produktiven Einsatz fit gemacht werden muss. Jetzt zum Problem: Die Pfade müssen je nach Projekttyp unterschiedlich aufgebaut werden und auch bestimmten Konventionen entsprechen. Manchmal ist auch nicht jeder Punkt der Eingabemaske zwingend auszufüllen, oder wird gar nicht benötigt. Außerdem gibt es Spezialfälle, die sich nur über eine Kontrollstruktur abbilden lassen. Das alles soll sich über eine Konfigurationsdatei steuern lassen; ich brauche also mindestens if-Abfragen und die Möglichkeit Variablen an mein C++ Programm zu schicken und zu empfangen.
Die letzten Tage habe ich mich in Boost::Spirit eingelesen, aber mal eben einen Lexer, Parser und Interpreter schreiben, erscheint mir ein bisschen viel Aufwand um eine GUI zu konfigurieren, das Zeit/Nutzen Verhältnis passt nicht. Heute bin ich noch auf Lua gestoßen, was mir viel Arbeit abnehmen würde.
Wie würdet ihr die Sache anpacken? Habt ihr noch ganz andere Ideen?
Die letzten Tage habe ich mich in Boost::Spirit eingelesen, aber mal eben einen Lexer, Parser und Interpreter schreiben, erscheint mir ein bisschen viel Aufwand um eine GUI zu konfigurieren, das Zeit/Nutzen Verhältnis passt nicht. Heute bin ich noch auf Lua gestoßen, was mir viel Arbeit abnehmen würde.
Wie würdet ihr die Sache anpacken? Habt ihr noch ganz andere Ideen?
Wer immer nach dem Unerreichbaren jagt, der wird irgendwann auf die Schnauze fallen!
- cloidnerux
- Moderator
- Beiträge: 3125
- Registriert: Fr Sep 26, 2008 4:37 pm
- Wohnort: Ram (Gibts wirklich)
Re: Lua || Selber bauen || Andere Vorschläge
Wenn ich dich richtig verstehe, willst du dir Arbeit abnehmen, indem du bestimmte, sich wiederholende Vorgänge Automatisieren möchtest.
Dann stellt sich doch die Frage, wie viel einfacher wird es, wenn man statt Ordnerstrukturen von Hand anlegen, erstmal ein Lua-Script schreiben muss?
Dann natürlich die Überlegung, was ändert sich, kann man das irgendwie auch zusammenfassen?
Vlt auch die Überlegung, einfach Modulweise deine Struktur anzugehen und dann einfach schnell Module zu nem Baum verknüpfen, Das du also ein projekt anlegst, das Modul CAD anheftest, das Modul Elektrik, das Modul Fotos, und dadurch dann die Software die ordnerstruktur anlegt?
Dann stellt sich doch die Frage, wie viel einfacher wird es, wenn man statt Ordnerstrukturen von Hand anlegen, erstmal ein Lua-Script schreiben muss?
Dann natürlich die Überlegung, was ändert sich, kann man das irgendwie auch zusammenfassen?
Vlt auch die Überlegung, einfach Modulweise deine Struktur anzugehen und dann einfach schnell Module zu nem Baum verknüpfen, Das du also ein projekt anlegst, das Modul CAD anheftest, das Modul Elektrik, das Modul Fotos, und dadurch dann die Software die ordnerstruktur anlegt?
Redundanz macht wiederholen unnötig.
quod erat expectandum
quod erat expectandum
- Bebu
- Beiträge: 562
- Registriert: Mi Okt 21, 2009 6:19 pm
- Wohnort: In der Nähe von Salzburg - Bin aber kein Österreicher!
Re: Lua || Selber bauen || Andere Vorschläge
Du hast Recht, ich möchte wiederholende Vorgänge automatisieren. Ich will nicht jedesmal ein Lua Script schreiben, ich habe eine Eingabemaske erstellt, in die man die notwendigen Projektdaten eingeben muss. Dann werden aus diesen Angaben die Pfade zusammengesetzt. Jetzt gibt es aber unterschiedliche Projektarten, d. h. die Pfade werden anders zusammengesetzt. Das Script soll nur steuern, wie der Pfad zusammengesetzt wird und Teile der GUI aktivieren und deaktivieren.
Wer immer nach dem Unerreichbaren jagt, der wird irgendwann auf die Schnauze fallen!
- Xin
- nur zu Besuch hier
- Beiträge: 8862
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: Lua || Selber bauen || Andere Vorschläge
Wieviele Projektarten gibt es denn? Bzw. ändern die sich laufend?
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
- Bebu
- Beiträge: 562
- Registriert: Mi Okt 21, 2009 6:19 pm
- Wohnort: In der Nähe von Salzburg - Bin aber kein Österreicher!
Re: Lua || Selber bauen || Andere Vorschläge
Im Moment gibt es zwei und es kommen nicht regelmäßig welche dazu. Ich möchte die Sache aber trotzdem flexibel halten. Ich habe in der Firma keine Infrastruktur um mal eben neu zu kompilieren. Flexibilität in der Richtung ist eine Designentscheidung.
Wer immer nach dem Unerreichbaren jagt, der wird irgendwann auf die Schnauze fallen!
- Xin
- nur zu Besuch hier
- Beiträge: 8862
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: Lua || Selber bauen || Andere Vorschläge
Ich habe mit Lua noch nie gearbeitet. Es soll wohl recht einfach sein, eine Pythonanbindung zu machen.Bebu hat geschrieben:Im Moment gibt es zwei und es kommen nicht regelmäßig welche dazu. Ich möchte die Sache aber trotzdem flexibel halten. Ich habe in der Firma keine Infrastruktur um mal eben neu zu kompilieren. Flexibilität in der Richtung ist eine Designentscheidung.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
- Bebu
- Beiträge: 562
- Registriert: Mi Okt 21, 2009 6:19 pm
- Wohnort: In der Nähe von Salzburg - Bin aber kein Österreicher!
Re: Lua || Selber bauen || Andere Vorschläge
Python hatte ich noch nie im Einsatz. Ich habe allerdings das Gefühl, das Python weit mächtiger ist, also schon fast wieder Overkill
Ich kucke mir mal Lua genauer an, kann ja dann Bericht erstatten

Wer immer nach dem Unerreichbaren jagt, der wird irgendwann auf die Schnauze fallen!
- Xin
- nur zu Besuch hier
- Beiträge: 8862
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: Lua || Selber bauen || Andere Vorschläge
Ich bitte darum.Bebu hat geschrieben:Python hatte ich noch nie im Einsatz. Ich habe allerdings das Gefühl, das Python weit mächtiger ist, also schon fast wieder OverkillIch kucke mir mal Lua genauer an, kann ja dann Bericht erstatten

Wenn Du es einbindest, wäre ein kleine Artikel dazu schön, damit man das nachmachen kann.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Re: Lua || Selber bauen || Andere Vorschläge
Schon fertig ?
Python kannst du auch sehr einfach einbetten:
Die include Pfade und die libs aus der Python Installation in den Compiler-Settings deiner IDE angeben, kompilieren, fertig.
programmcode ist ein String. Wenn du nur die Eingaben deiner GUI verarbeiten willst gehe vor wie folgt:
- Platzhalter in programmcode schreiben
- Eingaben zu String konvertieren
- String-Ersetzung durchführen, d.h. Platzhalter durch deine Eingabe-Strings ersetzen.
Alternativ gibt es eine ausführliche Doku wenn du einzelne (selbstdefinierte) Python-Funktionen aufrufen und Rückgaben auswerten willst.
Siehe auch http://docs.python.org/2/extending/embedding.html

Python kannst du auch sehr einfach einbetten:
Code: Alles auswählen
Py_Initialize();
PyRun_SimpleString(programmcode);
Py_Finalize();
programmcode ist ein String. Wenn du nur die Eingaben deiner GUI verarbeiten willst gehe vor wie folgt:
- Platzhalter in programmcode schreiben
- Eingaben zu String konvertieren
- String-Ersetzung durchführen, d.h. Platzhalter durch deine Eingabe-Strings ersetzen.
Alternativ gibt es eine ausführliche Doku wenn du einzelne (selbstdefinierte) Python-Funktionen aufrufen und Rückgaben auswerten willst.
Siehe auch http://docs.python.org/2/extending/embedding.html
- Bebu
- Beiträge: 562
- Registriert: Mi Okt 21, 2009 6:19 pm
- Wohnort: In der Nähe von Salzburg - Bin aber kein Österreicher!
Re: Lua || Selber bauen || Andere Vorschläge
Ja, danke ich bin schon bei Python gelandet. Aber so einfach ist das einbetten auch wieder nicht, zumindest, wenn man bidirektional arbeiten will. Ich spiele mit Boost Python, das erleichtert vieles, aber noch habe ich es nicht so hin bekommen, wie ich es mir wünsche. Lua liegt auf Eis, die Entwicklung meines favorisierten C++ Bindings stockt ziemlich. Aber zur Zeit läuft nicht so viel, schönes Wetter 

Wer immer nach dem Unerreichbaren jagt, der wird irgendwann auf die Schnauze fallen!