Die einzig wahre SQLite Komponente für Delphi

sqlite1

Da ich in den letzten Tagen wieder ein bisschen auf verschiedenen Datenbanken unterwegs war und ENDLICH mal die Administration einiger Anwendungen über ein zentrales Programm regeln wollte, habe ich eine SQL-Komponente gesucht die ich in meiner Delphi 7 Personal Edition benutzen kann ohne mir teure Zusatzpackages kaufen zu müssen.

Da im Internet viel Quark steht und es geschätzte 1000-2000 verschiedene Komponentensammlungen gibt, hab ich hier mal die beste rausgesucht, die ohne Weiteres ihren Dienst tut.

Zu finden ist diese HIER

Das eigene Betriebssystem – Teil 1

Edit: Dieses Tutorial is veraltet, hier gibt es die neue Version.

Hallo liebe Leute,
heute wollen wir uns mal an etwas besonderes wagen und zwar an die Entwicklung eines kleinen Betriebssystems. Natürlich werden wir damit nicht an Windows / Linux rankommen (noch nicht mal an DOS) aber immerhin erhaltet ihr einen kleinen Einblick darin, wie der Ladeprozess eines Betriebssystems funktioniert, was alles in einem Kernel steckt und wieviel Arbeit es sein muss etwas Windows-ähnliches auf die Beine zu stellen 😉

Was benötige ich?
Zur Entwicklung brauchen wir im Prinzip nur ein Tool, und zwar einen Assembler der aus dem Assemblercode den wir schreiben werden Maschinenbytecode generiert. Ich empfehle NASM da dieser Assember frei verfügbar ist.
Jetzt könnt ihr entweder im Notepad entwickeln oder ihr besorgt euch eine vernünftige Umgebung mit Syntaxhighlighting wie etwa Notepad++. Gut, jetzt haben wir alles was wir zum Programmieren brauchen, aber wie testen wir was wir geschrieben haben? Da haben wir im Prinzip 2 Möglichkeiten:

  1. Wir besorgen uns einen alten PC und spielen unser Geschreibsel jedesmal auf eine Diskette um es dann laufen zu lassen.
  2. Wir besorgen uns eine Virtual Machine. Eine Virtual Machine simuliert einen Computer samt Hardware und BIOS. Die meisten haben virtuelle Laufwerke in die wir Images einlesen können, unabhängig davon ob in das Disketten- oder ins CD-Laufwerk. Als Virtual Machine empfehle ich Virtual PC von Microsoft da es schlank und kostenlos zu haben ist. Wer sich schon ein bisschen auskennt kann natürlich auch zu dem kostenfreien VM Ware Player oder zu Bochs greifen.

Dann brauchst du noch das kostenlose Tool RaWrite damit du Diskettenimages erstellen kannst um diese dann in die Virtual Machine zu laden und/oder auf Diskette zu schreiben.

Continue reading “Das eigene Betriebssystem – Teil 1”

Ein bisschen Mathe – Bewegungen auf der Kreisbahn

kreisbahnNeulich in der Vorlesung: Jan, Thomas und meine Wenigkeit saßen in der Pause zusammen und haben darüber nachgedacht wie man sich mathematisch auf einer Kreisbahn entlangbewegen kann. Uns war klar, dass man nicht um den Einsatz von Sinus und Cosinus herumkommt, wie es jedoch genau ging wollte uns partout nicht einfallen.
Natürlich hätten wir im Internet nachsehen können welches sicherlich die richtige Lösung parat gehabt hatte, aber wenn einen erstmal der Ergeiz gepackt hat, dann möchte man das ganze auch selber hinbekommen 😉 Nach einigen Tagen Pause habe ich das Problem heute wieder aufgegriffen und auf dem Rad ist mir die Lösung eingefallen.

Continue reading “Ein bisschen Mathe – Bewegungen auf der Kreisbahn”

Was ist ein Singleton?

Da wir letztens bei statischen Variablen waren habe ich mir gedacht ich setze noch einen drauf und erkläre das nächste Thema der theoretischen und praktischen Informatik 🙂

Was ist ein Singleton?
Eigentlich ist das ganze einfach zu erklären. Wir haben wiedermal eine Klasse, z.B. CBundeskanzlerin. Da es ja bekanntlich nur eine Bundeskanzlerin gibt müssen wir vermeiden, dass mehrere Instanzen dieser Klasse erzeugt werden. Und was hilft uns dabei? Richtig, das Singleton!
In der praktischen Programmierung ist das Singleton meistens eine Basisklasse von der genau die Klassen erben, von denen später nur eine Instanz existieren soll. Heißt in unserem Beispiel: Die Klasse CBundeskanzlerin erbt von der Klasse CSingleton.

Continue reading “Was ist ein Singleton?”

Was sind statische Variablen?

Die Frage hatten wir im Studium schon oft und keiner konnte sie wirklich beantworten. Da ich sie heute 3 Leuten erklärt habe und alle mit einem “Ahhhh!” reagiert haben, dachte ich, ich schreib schnell einen kurzen Artikel drüber 😉

Variablen, die mit der Notation static versehen sind existieren für jede Klasse nur exakt einmal. Wenn wir jetzt beispielsweise in C++ eine Klasse CPerson haben und darin eine Variable mit static int nAlter; deklarieren haben wir dadurch die Möglichkeit das Alter aller Instanzen unserer Klasse durch eine einzelne Zuweisung zu ändern!

Continue reading “Was sind statische Variablen?”

WiiMote via Standard-Bluetoothtreiber mit PC verbinden

Im Internet steht oft geschrieben, dass man für das Verbinden des Wii-Controllers die Blue-Soleil-Treiber erwerben muss. Hier will ich mal diesen Irrglauben beseitigen indem ich in ein paar Schritten erkläre, wie man seine WiiMote auch mit den Standard-Treibern mit Windows verbinden kann ohne ca 20€ für neue Software ausgeben zu müssen. Nich lang schnacken, los geht’s: Rechtsklick auf das Bluetooth-Tray-Icon unten rechts neben der Uhr und dort “Bluetooth-Gerät hinzufügen” auswählen.

Continue reading “WiiMote via Standard-Bluetoothtreiber mit PC verbinden”

[Gamestudio] Spracherkennung über die Windows Speech API

Gamestudio Speech DLL
Gamestudio Speech DLL

Heute morgen habe ich ein Plugin fertiggestellt mit dem es möglich ist die Windows Spracherkennung in Lite-C (also dem 3D GameStudio) zu nutzen. Das ganze funktioniert soweit wunderbar allerdings ist die API noch nicht ganz ausgereift UND sie erkennt lediglich Englisch. Wen das nicht stört der wird mit dieser DLL viel Spaß haben!

Wie das ganze in ein Lite-C Projekt eingebunden wird seht ihr in der beiliegenden Demo!

SpeechRecognition_Demo.zip

Bei Fragen und Anregung einfach kurze Mail an mich!

[Tutorial] Firefox Plugins mit Delphi

Durch Viermalbe’s Idee eine Add-On / Plugin für den Firefox zu entwickeln das einem das Einkaufen auf Amazon erheblich erleichtert bin ich drauf gekommen mal ein Tutorial zu schreiben, dass das Entwickeln von Plugins in Delphi für den Firefox erklärt. Lange Rede kurzer Sinn, hier ist das gute Stück 🙂

Plugin_Development_for_Mozilla_Firefox_with_Delphi.pdf

Tower Defence – Neues Spielprinzip, viel Spaß und tolle Grafik

TowerDefence - In game
TowerDefence – In game

Eigentlich hat man ja im Studium eher mit zäher Theorie zu tun. Stimmt auch. Aber ähnlich wie bei Asterix gibt es einige unbeugsame Dozenten die tapfer Widerstand leisten. So auch in unserem Falle als uns aufgetragen wurde ein Spiel zu programmieren. Die Mehrheit reagierte mit einem Stöhnen und resignierte alleine bei dem Gedanken daran sich in die Materie einarbeiten zu müssen, andere – Wie ich – fanden es einfach nur klasse!

Die Frage war nun: Was programmieren wir? Was gibt es noch nicht? Was macht Spaß? Und letztendlich, was gibt gute Noten?

Die Entscheidung fiel auf ein Tower Defence!
Ein Tower Defence ist ein Spiel an dem Figuren einen vorgefertigten Pfad entlangwandern um am Ende ein Ziel zu erreichen. Aufgabe des Spielers ist es, die Figuren davon abzuhalten indem sie Türme neben den Wegen bauen um diese abzuschießen. Die Herausforderung dabei liegt im richtigen Platzlieren und Ausbauen der Türme, sodass möglichst effizient die Zeiten an denen Gegner in Reichweite der Türme sind getroffen werden.

Continue reading “Tower Defence – Neues Spielprinzip, viel Spaß und tolle Grafik”