Vielleicht ist es euch auch schon mal so wie mir gegangen, das ihr nur mal schnell einen kleinen Algorithmus ausprobieren wolltet und dann festgestellt habt, das ihr mehr Zeit in das drumherum (GUI etc.) investiert habt, als in die Programmierung des Algorithmus. Ich hab mir jetzt zu dem Zweck eine kleine IDE für Lua programmiert und besonderen Wert darauf gelegt, dass man schnell und mit wenig Programmieraufwand Pixelgrafik, Vektorgrafik, Diagramme und Tabellen erzeugen kann. Für die, die Lua noch nicht kennen: Lua ist eine leicht zu lernende, einfache Skriptsprache mit an Pascal angelehnter Syntax. Unter den Skriptsprachen ist sie eine der schnellsten, was die Ausführung von Programmen angeht. Falls ihr euch die Lua IDE mal anschauen wollt, hier ist der Link: http://www.aaabbb.de/Lua-Quick-Try-Out/Lua-Quick-Try-Out.html Die Lua IDE ist kostenlos und steht unter der GPLv3. Den Sourcecode und Installer für Windows und Linux könnt ihr auf der Seite downloaden. Die EXE ist statisch mit der QT Bibliothek gelinkt. Das macht sie zwar etwas größer, aber es sollte keine Probleme bei der Installation geben.
:
Verschoben durch Admin
T. B. schrieb: > Vielleicht ist es euch auch schon mal so wie mir gegangen, das ihr nur > mal schnell einen kleinen Algorithmus ausprobieren wolltet und dann > festgestellt habt, das ihr mehr Zeit in das drumherum (GUI etc.) > investiert habt, als in die Programmierung des Algorithmus. > > Ich hab mir jetzt zu dem Zweck eine kleine IDE für Lua programmiert und > besonderen Wert darauf gelegt, dass man schnell und mit wenig > Programmieraufwand Pixelgrafik, Vektorgrafik, Diagramme und Tabellen > erzeugen kann. Die Logik versteh ich nicht. Eine kleine GUI zu basteln ist also aufwendiger als eine komplette IDE? Damals(tm) hätte man zum Testen von Algorithmen ganz einfach ein Konsolenprogramm geschrieben. Ein paar printfs und scanfs und fertig.
@Simon Wenn ich nur einmal etwas ausprobieren wollen würde, wäre die GUI zu programmieren schneller, keine Frage. Du wirst es vielleicht nicht glauben, aber ich habe meine Lua IDE schon mehr als einmal verwendet, um was auszuprobieren. Z.B. auch für die Simulation von einem digitalen Regelalgorithmus (Bild). Und dabei kommt man mit printf() bezüglich der Anschaulichkeit des Ergebnisses doch recht schnell an Grenzen. Ich hatte das Programm schon mal an zwei Leute weitergegeben, die das ganz nützlich fanden. Also dachte ich mir, ich stell das der Allgemeinheit zur Verfügung. Wenn du mit einem Konsolenprogramm schneller zum Ziel kommst, kannst du das selbstverständlich auch so machen. Die Lua IDE ist aber gerade dafür gedacht, auch mal kleine Programme mit Grafikausgabe zu schreiben, um z.B. die Mandelbrotmenge oder die Kochkurve zu zeichnen. Mir war auch noch wichtig, das ich die Lua Programme unter Windows und Linux nutzen kann, weil ich auch mal zu Hause (Linux) Simulationen gemacht habe, die ich dann auf Arbeit (Windows) weiterverwenden wollte.
Gefällt mir sehr gut :) Genau wie du kenne ich noch die Zeiten, wo man in einem Basic-Programm mit einer Anweisung den Grafikbildschirm initialisieren und mit der nächsten schon eine Linie zeichnen konnte. Die heutigen Grafik- und GUI-Bibliotheken sind zwar ungleich mächtiger, aber um ein paar Pixel oder Linien auf den Bildschirm zu zaubern, bedarf es jedesmal so viel Boilerplate-Code, dass sie für kleine Mal-Eben-Progrämmchen eigentlich kaum akzeptabel sind. Für solche Progrämmchen nehme ich normalerweise Python. Da gibt es Bibliotheken für fast alles Erdenkbare, nur nicht für das wirklich einfache Erstellen von Grafiken. Zum Plotten von Diagrammen schreibe ich die Ergebnisse meist in eine Datei und lasse sie von Gnuplot anzeigen. Das ist ganz praktikabel, wenn auch nicht sehr komfortabel. Für Vektor- und Pixelgrafiken habe ich schon etliche Bibliotheken mit Python-Anbin- dung ausprobiert, konnte mich aber mit keiner so richtig anfreunden. Genau diese Probleme sind in Lua-Quick-Try-Out gelöst, zwar einfach, aber für die meisten Fälle völlig ausreichend. Und die Einfachheit erspart es einem das Durcharbeiten von tonnenweise Dokumentation. Sehr praktisch finde ich die interaktiven Scroll- und Zoom-Möglichkeiten bei den Diagrammen und Grafiken, die man ohne zusätzlichen Programmier- aufwand nutzen kann. Das gab es zu Atari/Apple/Commodore-Zeiten noch nicht ;-) Lua kannte ich bisher nur vom Namen, aber deine IDE ist für mich ein Grund, mir die Lua-Doku mal etwas näher anzuschauen. Die Sprache scheint ja recht übersichtlich zu sein, so dass man in einer oder zwei Stunden wahrscheinlich das meiste verinnerlicht hat. Zwei Fragen hätte ich aber noch: Gibt es einen Grund dafür, dass Diagramme antialiased angezeigt werden, Vektorgrafiken aber nicht? Wie kann man vom Programm aus Benutzereingaben lesen? Ich habe es mit io.read() versucht, da friert aber die ganze IDE ein. Ist das gar nicht vorgesehen (was bei meinen Quick&Dirty-Programmen nicht so schlimm wäre) oder mache ich etwas falsch? Auf jeden Fall ein herzliches Dankeschön dafür, dass du deine IDE (und sogar den Quellcode dazu) uns allen zur Verfügung stellst.
Ich versuche gerade die Lua Ide aus den Quellen mit Qt Creator und installiertem Visual Studio 2008 zu übersetzen. Nach den Download des fehlendem stdint.h http://msinttypes.googlecode.com/svn/trunk/stdint.h und Kopieren nach ..\Lua-Quick-Try-Out\src lassen sich sowohl Debug als auch Release-Version übersetzen und starten. Super !!! Allerdings fehlt im ausgeführtem Programm die Startleiste und die Hilfe bringt ein leeres Fenster ?
@Yalu X. Bei der Vektorgrafik hab ich das antialiasing nicht explizit eingeschaltet und es ist standardmäßig deaktiviert. Ich werde mal nachschauen, wie ich das anschalten kann. Bei der aktuellen Version habe ich nur das stdout in der Konsole implementiert. Es sollte kein goßes Problem sein, das stdin auch noch einzubauen. Ich werde das heute gleich mal ausprobieren. @Qt und Lua Tester stdint.h gehört zum C99 Standard, der leider erst ab VS2010 komplett unterstützt wird. Damit die Icons und die Doku angezeigt werden, müssen die beiden Verzeichnisse in das Arbeitsverzeichnis kopiert werden, wo die EXE ausgeführt wird. Wenn die EXE durch Doppelklick gestartet wird, ist es das Verzeichnis in dem die EXE liegt. Wenn man das Programm im QT creator startet, ist das Arbeiteverzeichnis das, in dem die Ordner release und debug liegen.
Danke, Icons und die Doku werden jetzt angezeigt, funktioniert wunderbar, und das aus dem Compilieren der Quellen heraus, hervorragende Arbeit.
Ich finde deine Lua-Quick-Try-Out IDE wirklich gelungen! Ich verwende ab und zu Lua, um schnell Dinge berechnen zu können. Deine IDE vereinfacht viele Dinge. Schön wäre im gfx Modul die Möglichkeit, png images zu zeichnen. Was mir aufgefallen ist: Gibt man in der Lua-IDE Console io.write("Ein Test\n") ein, so erscheint der output im Terminal, von dem aus Lua-Quick-try-Out gestartet wurde. Absicht?
@klausr Die Funktion zum Speichern der Grafik heißt gfx.save_img(). Diese speichert das Bild als PNG ab. Bei Vektorgrafik hast du die Wahl zwischen PNG und SVG. Die Ausgabe von io.write() sollte nicht im Terminal erscheinen. Ich hab bis jetzt immer print() verwendet, deshalb war mir das nicht aufgefallen. Ich werd das noch ändern.
Könnte man auch QT-Script-Programme mit der LUA-IDE ala libqtlua entwickeln?
Theoretisch wäre es denkbar, mit Lua und entsprechenden Funktionen eine Qt Oberfläche von Hand zusammen zu bauen. Die Lua Funktionen müssten aber erst noch programmiert werden. Im Moment bin ich dabei, die IDE noch etwas zu verbessern. Das antialiasing habe ich eingeschaltet und das io.write() funktioniert jetzt wie es soll. Das io.read() muss ich noch ändern. Bei der Gelegenheit baue ich, wenn es geht, QScintilla als Lua Editor ein. Das hat mehr Funktionen und sieht besser aus als die jetzige Komponente.
Schaust du hier: http://code.google.com/p/qtlua/source/browse/ Unter VS2008 bedurfte es 2 kleiner Codeänderungen, danach läßt es sich übersetzen und läuft.
T. B. schrieb: > Vielleicht ist es euch auch schon mal so wie mir gegangen Ähnlich, aber da ich immer noch das gute alte Delphi habe, ist das GUI drumherum ruckzuck fertig. Aber LUA gefällt mir trotzdem. Ist übrigens erstaunlich weit verbreitet, wenngleich auch kaum einer darüber redet. W.S.
So, es hat etwas länger gedauert aber jetzt habe ich eine neue Version online gestellt. (Ich hatte Probleme das Package für Linux zu bauen.) Folgende Änderungen gibt es bei der neuen Version: - als Sourcecodeeditor verwende ich jetzt QScintilla, damit ist jetzt beim Editieren alles möglich, was man auch von anderen IDEs kennt (z.B. Code Blöcke ausblenden) - io.read() und io.write funktionieren jetzt auch in der Konsole - bei der Grafik ist anti aliasing eingeschaltet @Qt und Lua Tester Möchtest Du eine GUI mit Lua zusammenbauen, damit du dann dort Werte in Textfelder eingeben kannst? Ich hatte die Idee, in der nächsten Version einen kleinen GUI Editor einzubauen, mit dem man sich Buttons und Textfelder usw. platzieren kann. Mit den Buttons soll man dann Lua-Funktionen verknüpfen können, die beim Drücken auf den Button aufgerufen werden. Die Werte der Textfelder kann man dann mit Funktionen wie z.B. gui.get_text("Textfeld1") abrufen können. Das ist bedeutend einfacher, als die GUI von Hand zusammen zu bauen und auf Ereignisse etc. zu reagieren.
Mir ging es darum das beste aus beiden Welten zu verbinden, Qt z.B. für die GUI, aber nicht nur, und Lua als Scriptsprache. Als Beispiel verwendet z.B. torch lua und qtlua. http://www.torch.ch/index
Ich wollte euch kurz informieren, das ich eine neue Version zum download bereit gestellt habe, in der paar kleine Bugs gefixt sind.
Autor: T. B. (bri) Datum: 11.09.2012 22:42 >Ich wollte euch kurz informieren, das ich eine neue Version zum download >bereit gestellt habe, in der paar kleine Bugs gefixt sind. Ich wollte euch kurz informieren, dass ich eine neue Version zum Download bereit gestellt habe, in der ein paar kleine Fehler behoben sind.
Ich habe zwar bisher nix mit Lua gemacht, aber ich schau es mir mal an, scheint ja nicht so kompliziert zu sein. Das Tool sieht schon sehr gut aus, aber ein bissl meckern muss man ja aus Prinzip ;-) - Was ist alles an Keyboard-Shortcuts definiert (durch Ausprobieren habe ich bisher F5 als Ausführen identifiziert)? Wäre ev praktisch, wenn das als mouseover o.ä. angezeigt würde. Gerade beim Programmieren will man ja nicht ständig zur Maus greifen. - Eigentlich unwichtig: Ein Rechtsklick auf die Symbolleiste gibt ein unbeschriftetes Kontextmenü mit einem Haken. Man merkt zwar schnell, dass der zum Ein/Ausblenden der Symbolleiste gedacht ist, aber eine Beschriftung wäre trotzdem schöner. mfg Michael
Danke, sehr schönes Programm! Kann man in Plots auch die Achsen beschriften oder allg. Text platzieren? Ein Hinweis für den Save-on-Exit-Dialog: http://www.dict.cc/?s=lose :-)
Hallo, da kannst Du auch PatControl verwenden mit Serial -Unterstützung und Lua Editor -Haltepunkte usw. Incl Bildverabreitung . www.FlexxVision.de
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.