Deutsche Sonderzeichen in einer Ruby Konsolenanwendung
Leider ist es mit Ruby nicht direkt möglich deutsche Sonderzeichen in einer Konsolenanwendung auszugeben. Aber er gibt eine Möglichkeit sie trotzdem zu verwenden, dafür ist eine Zeichenkettenkonvertierung nötig:
mehr zu diesem Thema... : 0 Kommentar(e) : 04.10.2008
WxRuby Tutorial: Erstellen eines Fensters
Die Absoluten Grundlagen
Das Programmieren von GUIs ist eine der schönsten Aufgaben die ein Programmierer haben kann. Man schreibt etwas Code, und Volai, es erschein eine schöne GUI, fast wie magisch auf dem Bildschirm. Es ist ein großer Unterschied ob man einen Parser oder Compiler schreibt (was natürlich auch eine interessante Aufgabe ist), oder ob man eine GUI erstellt. Den Parser oder Compiler kann man nämlich nicht sehen.
Das programmieren mit WxRuby ist dabei keine Ausnahme. Mit WxRuby steht einem eine große Auswahl, von einer länderübergreifender Community ausführlich getesteter WxWidgets zu Verfügung - und das beste ist, man kann sie jetzt auch mit Ruby einsetzen. Anstatt lange darüber zu reden wie WxRuby funktioniert beginnen wir am besten mit einem einfachen Beispiel, welches wir anschließend erklären.
Das war es schon, sehr kurz und einfach, Die erste Zeile require „wx“ muss in jedem Programm auftauchen das WxRuby verwendet – es macht Ruby mit dem WxRuby-Modul bekannt. In der zweiten Zeile wird WxRuby eingebunden, dadurch müssen wie nicht immer den gesamten Klassennamen angeben wenn wir Funktionen aus WxRuby benutzen wollen. Anstatt Wx:App oder Wx:Frame zu schreiben, können wir einfach App oder Frame benutzen. Das ist möglich weil wir das Modul dem Namespace des Programms hinzugefügt haben. Das ist super wenn man mal schnell etwas testen will oder ein Beispiel (oder Tutorial) schreibt. Allerdings empfehle ich bei größeren Programmen immer das WX-Prefix zu verwenden, da man dadurch besser erkennt was zu WxRuby gehört und was nicht.
Die nächste Zeile class MinimalApp < App wird meistens mit dem von euch geschribeenn Code idetisch sein. Jedes WxRuby-Programm muss von der Klasse App abgeleitet werden. App ist die Main-Application-Class, sie ist dafür verantwortlich das Programm zu starten und die GUI bei jedem Schleifendurchlauf zu verwalten. def on_init überschreibt den Konstruktor der App Klasse. Der Konstruktor wird immer aufgerufen wenn das Programm gestartet wird.
In diesem Beispiel-Programm wird innerhalb unseres Konstruktors eine Frame erstellt. Dieser Frame sagen wir dann auch noch dass sie sich selbst zeigen soll.
Frame.new(nil, -1, "The Bare Minimum").show()
Betrachten wir das ganze jetzt etwas genauer:
- Das erste Argument das dem Construktor übergeben wird, ist nil (in anderen Programiersprachen auch oft als NULL bezeichnet). Es sagt WxRuby das die erstellte Frame kein Eltern-Fenster hat.
- Das zweite Argument ist der Identifier. Über den Identifier kann das Widget immer wieder angesprochen werden.
- Das dritte Argument ist der Titel des Fensters der auch in der Taskleiste erscheint.
- Das vierte Argument das wir hier aber nicht verwenden, ist die Position des Fensters. Es könnte so aussehen Point.new(100,100).
- Das fünfte Argument das wir ebenfalls nicht verwenden, gibt die Größe des Fensters an. Bsp: Size.new(600,480).
- Das letzte Argument das wir hier in diesem Beispiel auch nicht verwenden gibt die Art des Rahmens an. Der Standartwert ist DEFAULT_FRAME_STYLE.
Um Platz zu sparen rufe ich die Metode show() auf. Diese sagt WxRuby das die Frame angezeigt werden soll. Wird „show“ nicht aufgerufen wird der Code ausgeführt ohne das etwas sichtbares passiert. Hinweis: show() akzeptiert einen boolean-Wert wenn man ein Fenster wieder verstecken will kann man einfach show(false) aufrufen.
Am Ende rufe ich MinimalApp.new.main_loop auf. Auch hier habe ich die kurzschreibweise verwendet. Durch den Aufruf der main_loop Methode wird das Programm ausgeführt.
Das war’s. Hier noch mal die wichtigsten Schritte:
- require "wx"
- include Wx
- Erstellen einer Klasse die von App ableitet
- Überschreiben des Konstruktors on_init()
- Estellen einer neuen Instanz der Abgeleiteten App-Klasse
- Aufrufen der main_loop() Methode
Übersetzt aus dem englischen:
http://wxruby.rubyforge.org/wiki/wiki.pl?Getting_Started
mehr zu diesem Thema... : 1 Kommentar(e) : 09.09.2008
PHP-Ext eine PHP-Widget-Bibliothek
PHP-Ext ist eine auf Ext aufsetzente PHP-Bibliothek. Sie ermöglicht das einvache verwenden von den aus Ext bekannten Widgets. Dabei muss kein JavaScript-Code geschrieben werden, der benötigte Code wird automatisch erstellt. Momentan sind noch nicht alle Funktionen von Ext aus PHP-Ext ansprechbar, aber ich gehe davon aus dass diese bald ergänzt werden. PHP-Ext kann bei php-ext.quimera-solutions.com heruntergeladen werden.
mehr zu diesem Thema... : 0 Kommentar(e) : 19.08.2008
Typischer Projektablauf in der IT-Branche
Dieses gelungene "Schaubild" vermittelt erstaunlich gut welche Probleme es bei IT-Projekten geben kann:
mehr zu diesem Thema... : 0 Kommentar(e) : 15.08.2008
Syntax-Highlighter - Quelltexte mit Javascript formatieren
Das über „SyntaxHighlighter“ genannte Projekt kann man seine veröffentlichten Quelltexte einfach ansprechend formatiert auf seiner Homepage präsentieren. Das Script hightlighted und formatiert den Quelltext automatisch, lediglich die Sprache des Quelltextes muss als CSS-Klasse angegeben werden. Weitere Informationen findet man auf der Projekt-Seite.
So sieht der formatierte Quelltext aus:
mehr zu diesem Thema... : 0 Kommentar(e) : 29.06.2008
CrazyBump & ShaderMap - BumpMaps einfach erstellen
Wer schon einmal versucht hat ohne besondere Hilfsmittel eine Normal - oder Specular-Map zu erstellen weis wie schwierig das ist. Momentan gibt es zwei bekannte Produkte die einem bei der Erstellung unter die Arme greifen können. CrazyBump ist hierbei wahrscheinlich das bekanntere der beiden. CrazyBump macht das Bumpmapping zum Kinderspiel. Einfach Textur laden ein paar einfache Einstellungen treffen und fertig. Leider sind die kostenlosen Beta-Versionen von CrazyBump nicht mehr erhältlich (und auch nicht merhr Lauffähig), da die Entwicklung abgeschlossen ist. Allerdings kann man sich immer noch eine kostenlose zeitlich begrenzte Demoversion auf der Homepage herunterladen. Die Vollversionen die ebenfalls über die Homepage bezogen werden kann Kostet zwischen 69 $ und 299$. Ein nicht ganz so komfortabler weg ist das Tool „ShaderMap“, in der Command-Line-Version ist dieses für den privaten Einsatz kostenlos.
mehr zu diesem Thema... : 0 Kommentar(e) : 28.06.2008
Die Besten Freeware-Programme für Entwickler
- Eclipse - Die universelle IDE
- Notpad++ - Der schnelle Editor
- Filezilla - Das ausgereifte FTP Programm
- Wx-DevC++ - Die smarte C++ IDE mit Form-Builder und integriertem Compiler
- HeidiSQL - MySQL Datenbanken verwalten
- SQLiteAdmin - SQLite Datenbanken verwalten
- GreenShot - komfortabel Screenshots‘ erstellen
- Opera - Der beste Browser überhaupt
- 7Zip - Das kostenlose Archiv-Programm (ZIP,RAR,ACE,TAR,GZ usw)
- WinMerge - Programm zum Vergleichen beliebiger Textdateien
- CamStudio - Programm zum Erstellen von Desktop-Videos.
mehr zu diesem Thema... : 1 Kommentar(e) : 23.06.2008
Besseres var_dump für PHP
Jeder der neben PHP schon einmal mit ColdFusion gearbeitet hat wird das Tag <cfdump> aus CF in PHP vermissen. Cfdump ist mir der var_dump-Funktion von PHP vergleichbar, allerdings ist die Darstellung der von PHP Welten voraus. Alle Werte die auf die Cfdump angewendet wird, werden übersichtlich in einer oder mehrere ineinander verschachtelter Tabellen ausgegeben. Dies ermöglicht einen schnellen Überblich ohne dass man sich das ganze Zwecks Einrückung wie in PHP üblich im Quelltext anschauen muss. In PHP ist es zwar möglich var_dump mit einem vorgestellten <pre>-Tag übersichtlicher zu gestallten, dem ausgereiften Cfdump kann es aber nicht das Wasser reichen.
Das gleiche haben sich auch die Entwickler der PHP-Klasse „dBug“ gedacht. dBug baut die Darstellung von Cfdump bis ins kleinste Detail nach, so können z.B ineinander verschachtele Strukturen per JavaScript ein und ausgeklappt werden. dBug steht unter der GPL und kann unter der Adresse www.dbug.ospinto.com heruntergeladen werden.
mehr zu diesem Thema... : 0 Kommentar(e) : 23.06.2008
Erstellen eines Irrlicht Projekts mit Dev-C++
Da ich im Offiziellen englischen Tutorial einen Fehler gefunden habe, habe ich beschlossen ein eigenes zu schreiben.
Es sind nicht viele Schritte notwendig um Irrlicht in Dev-C++ lauffähig zu machen. Ich werde im weiteren Verlauf des Tutorials die erweiterte Dev-C++ Version wxDev-C++ verwenden. Allerdings existieren bei der Irrlicht-Konfiguration keinerlei unterschied zwischen beiden Versionen.
Es wird davon ausgegangen das die Entwicklungsumgebung bereits installiert ist. Da Dev-C++ über einen Windows-Installer verfügt sollte das auch keine Schwierigkeiten bereiten.
Mit „Irrlicht“-Verzeichnis ist das Verzeichnis eurer Irrlicht Installation gemeint.
- Das Projekt
Als erstes muss man über „Datei->Neu->Projekt“ ein neues Projekt anlegen, dabei sollte man als Vorlage eine Konsolenanwendung verwenden. - Hinzufügen der Header
Über „Projekt->Projektoptionen“ gelangt ihr in zu den Projektoptionen. Wählt hier den Reiter „Verzeichnisse“. Hier fügt ihr unter „Include Verzeichnisse“ den Pfad zu euerm „Irrlicht/include“-Verzeichnis hinzu. - Hinzufügen der Lib
Jetzt müsst ihr im Reiter „Zusätzliche Kommandozeilen Optionen“ über „Bibliothek/Objekt hinzuf.“ Die Datei „libIrrlicht.a“ aus euerm „Irrlicht/lib/Win32-gcc“-Verzeichnis hinzufügen.
Damit habt ihr alle Einstellungen vorgenommen. Jetzt kann’s losgehen! - Der Quellcode
- Das Programm
Um das Programm zu kompilieren müsst ihr einfach auf den Kompilieren-Knopf drücken. Das Programm wird nach dem kompilieren automatisch gestartet. Allerding bekommt man noch einen Fehler „Die Anwendung konnte nicht gestartet werden, weil Irrlicht.dll nicht gefunden wurde. Neuinstallation der Anwendung könnte das Problem behebe“ um dieses Problem zu beseitigen müsst ihr einfach die „Irrlicht.dll“ aus eurem Irrlicht Verzeichnis in das Verzeichnis der kompilierten Exe-Datei kopieren. Da ihr den GCC –Compiler verwendet braucht ihr die Dll aus dem „irrlicht\bin\Win32-gcc“-Verzeichnis. Das Standard Ausgabeverzeichnis des Compilers befindet sich unterhalb euers Projektverzeichnisses im Ordern „Output\MingW“. In diesem Verzeichnis muss sich auch die zu ladenende Quake-Map befinden wenn ihr keine Pfadangaben machen wollt.
Das war`s. Wenn ihr noch Fragen oder Hinweise habs schreibt einfach einen Kommentar.
mehr zu diesem Thema... : 3 Kommentar(e) : 31.05.2008
Wii Homebrew-Channel fertiggestellt
Endlich ist es möglich eigene Software im Wii-Modus auf der Wii zu installieren und zu starten. Der Homebrew Channel kann auf jeder Wii installiert werden. Mod-Chips oder andere Hardwareanpassungen sind nicht notwendig. Über den Homebrew-Channel kann Software direkt von einer SD-Card, oder über das Netzwerk gestartet werden. Für Letzteres existiert ein Streaming-Programm welches die Software von einem PC (Windows, Linux oder MacOS) auf die Wii übertägt. Der Homebrew Channel kann auf nicht gemoddeten Wii-Systemen über den Twilight Hack installiert werden. Für Wii-Consolen mit Mod-Chip gibt es eine Installations-CD.
Hier gehts zum Download: hbc.hackmii.com
mehr zu diesem Thema... : 0 Kommentar(e) : 31.05.2008

