VHPD Blog Blog for [V]ideo, [H]ardware, [P]rograms, [D]ata and more..

13Dez/09

MySQL – Anwendung – Teil 2

Mysql_logoMySQL - Dort wo es verwendet wird!

Nun hatten wir schon einen kleinen Einblick, was MySQL ist und wie die Befehle in der Datenbank verarbeitet werden. Eine Menge Theorie, aber wofür brauchen wir das Ganze?

MySQL begegnen wir öfters als wir denken

Sei es auf E-Bay oder auf Google.de, überall stecken Datenbanken im Hintergrund, die unsere gewünschten Informationen anzeigen.

Bei E-Bay z. B. werden Datenbanken verwendet, um die alle möglichen Auktionen zu speichern und nur gewählte auf Wunsch anzeigen zu können.

Das Old-School Webseiten entwickeln ist ausgestorben. Statische Seiten gehören mehr oder weniger der Vergangenheit an, selbst diese Seite, auf der Du dich gerade befindest, funktioniert mittels einer MySQL 5.2 Datenbank. Die Datenbank beinhaltet von jedem Artikel den Inhalt mit allen Einstellungen. Im HTML-Bereich wird NUR das grundlegende Design bereitgestellt. Alles andere wird mittels PHP eingefügt aus den Informationen der Datenbank.

Der Vorteil

Mittels einer Änderung in der Datenbank, gilt dies für meine gesamte Webseite.

Durch das Dynamische erzeugen, kann ich somit mit wenigen Schritten, neue Unterseiten bzw. Artikel erstellen, ohne eine neue HTML-Datei anlegen zu müssen.

Anwendungsbereich neben Webseiten

Nicht nur Webseiten nutzen und schätzen die MySQL Datenbank, auch viele Programme verwenden diese.

Normalerweise werden in Programmen Dateien gespeichert, die Deine Informationen beinhaltet, aber oft kann es ja sein, dass diese Datei nicht nur du bearbeiten möchtest.

Wenn also mehrere Benutzer eine Datei bearbeiten wollen, dann gibt es einen Fehler. Durch eine Datenbank können mehrere Benutzer zur gleichen Zeit die Datenbank bearbeiten, solange sie nicht den gleichen Eintrag (ZELLE) bearbeiten.

Wie gehts weiter mit dem Tutorial?

Wir werden uns in den kommenden Tutorials anschauen, wie ein SQL-Befehl aufgebaut ist und wie Du damit dein Abfrageziel erreichen kannst.

10Dez/09

MySQL – Einstieg und Befehlsverarbeitung – Teil 1

Mysql_logoMySQL - der einfache Einstieg

Datenbanken werden immer notwendiger, sei es für eine dynamische Webseite mit PHP oder in Anwendungen, die mit einer Datenbank zusammenarbeiten.

Eine etablierte Datenbankarchitektur ist SQL, genaugenommen ist SQL aber eher eine "Programmiersprache" mit der man Informationen aus der Datenbank filtern, bearbeiten, löschen und erstellen kann.

Von Sun gibt es MySQL, aber auch Microsoft hat eine SQL Datenbankserveranwendung namens MS SQL auf dem Markt gestellt.

Der grundlegende Aufbau einer MySQL Datenbank

grund_aufbau_mysql_vhpd

Mittels eines Querys (SQL) wird eine Anfrage zur Datenbankengine gestellt und diese Verarbeitet die Information und gibt diese wieder zurück.

SQL-Befehlsschema

sql_befehl_schema_vhpd

Hier ist ein Schema des vollen SQL-Befehls, jeder Schritt brauch Zeit, wobei nur 1. from und 5. select unbedingt benötigt werden. 2. where ist meistens auch verwendet, da man mit where filtert.

Eine schlanke Abfrage sorgt für schnelle Verarbeitung und sollte bevorzugt werden, des weiteren sollte man bei der From-Klausel sparsam mit Tabellen umgehen, da automatisch mit jeder Tabelle ein Kreuzprodukt erzeugt wird, was man nur mittels JOIN umgehen kann.

Kommendes Tutorial

Im kommenden Teil werden wir einfache SQL-Befehle entwickeln und erklären und dabei auf Fremdschlüssel und Primarykeys wertlegen.

24Nov/09

GTGE in Eclipse mittels SVN installieren

Ein Java 2D Spiel entwickeln mit der GTGE

Um ein 2D-Spiel in Java entwickeln zu können, benötigen wir die gesamten GTGE libarys. Diese können wir sogar in Eclipse mittels SVN (Subclipse Plug-In) einfach einrichten.

In einem neuen VHPD Videotutorial erklären wir Schritt für Schritt, wie man Eclipse so konfiguriert, damit man die GTGE herunterladen kann.

Verwendete Links

SVN - Subclipse: http://subclipse.tigris.org/update_1.6.x

GTGE Source - SVN: http://gtge.googlecode.com/svn/trunk

GTGE

Der Sourcecode von der GTGE ist unter der GPL-Lizens veröffentlicht und kann auch über der GTGE direkt heruntergeladen werden.

Zu der GTGE-Homepage ->

22Sep/09

XML – Überall im Einsatz

Der Standard aller Dateien - XML

Immer mehr verschiedene Datentypen gibt es, immer mehr Programme zum verwenden von Dateien werden benötigt. Seit 2002 gibt es jedoch eine Einigung, dass XML-Format als Grundlage zu verwenden ist.

Durch das einsetzen einer klaren Struktur in Dateien, sodass man sie auch problemlos mit anderen Programmen bearbeitet werden können, ist XML der erste Grundstein.

Beispiel einer XML-Datei:

1
2
3
4
5
6
7
8
9
<?xml version="1.0" encoding="UTF-8"?>
<NAMEROOT>
  <kontakt nr="0">
             <test>das war der Test 1</test>
   </kontakt>
   <kontakt nr="1">
 	    <test>das war der Test 2</test>
   </kontakt>
</NAMEROOT>

Informationen werden wie in HTML gewohnt als TAG gespeichert und können verschiedene Attribute haben. HTML ist der Vorgänger von XML und jeder der sich mit HTML auskennt wird XML sofort verstehen.

Selbst Microsoft hat mit Office sich zum ersten Mal, an einem Dateistandard gehalten, denn mit *.docx, *.xlsx und *.pptx wird auch der XML-Aufbau verwendet. Aber natürlich mit einen MS Algorithmus gepackt, sodass der "Plaintext" auch nicht richtig lesbar ist.

Die Verwendung von XML kann jeder sich aneignen, vor allem auch Plattformunabhängig können XML-Dateien verwendet werden. Der ITs-real Blog hat ein gelungenes Tutorial veröffentlicht, um mit Java und JDom eine XML-Datei zu erstellen.

- Zu dem XML Tutorial ->

10Jun/09

Tutorial: Mit Lazarus für Windows CE programmieren

Lazarus einrichten, um Windows CE Programme zu schreiben

Jeder dem Free Pascal was sagt, wird sofort es mit Lazarus in Verbindung setzen. Lazarus ist eine kostenlose IDE für Free Pascal, mit der man für viele Plattformen, sein Programm komplimieren kann.

vhpd_lazarus_wince_s4.jpg

Windows CE wird seit kurzem auch unterstützt, jedoch muss man zuvor einige Einstellungen treffen. Mit diesem Tutorial wird Schritt für Schritt alles erklärt, um Lazarus für Windows CE vorzubereiten.

1. Daten aus dem Internet organisieren

Bevor es losgeht, muss man zuerst die Lazarus Installationspakete herunterladen und in der gleichen Version auch den cross-compiler, mit dem es möglich ist, ein Windows CE Programm zu komplimieren.

2. Notwendige Datei verschieben

Die Datei "wincemenures.or" muss von "lazarus/lcl/interfaces/wince" nach "lazarus/lcl/units/arm-wince" kopiert werden.

3. Einstellungen in Lazarus treffen

In der Lazarus IDE Einstellungen -> Options... -> Environment -> Compilerdateiname muss auf die ppcrpssarm.exe zeigen.

vhpd_lazarus_wince_s1.jpg

Jedes Projekt muss nun aber dann zusätzlich eingestellt werden:

vhpd_lazarus_wince_s2.jpg vhpd_lazarus_wince_s3.jpg

Wie man auf den Bildern erkennt müssen nun bei den Compilereinstellungen noch die grundlegenden Einstellungen getroffen werden. Es empfiehlt sich die Einstellung zu testen und dazu sollte man sich diese vorgenommenen Projekteinstellungen Speichern, damit man bei weiteren Projekten einfach das erstellte Schema verwenden kann.

Wichtige Infos

Der Debugmodus ist nur mit Hilfe eines Plug-Ins und dem Windows Mobile Emulator möglich, deshalb empfiehlt es sich dringend den Emulator herunterzuladen, von der Microsoft Homepage. Dazu kann man daher NUR durch Projekt->Erstellen die WinCE EXE erstellen. Um diese zu testen, muss man die WinCE EXE auf ein WinCE Emulator/Gerät kopieren und dort ausführen. Windows CE Anwendungen laufen nicht unter Windows 32 Bit.

Nützliche Links (englisch)

Wer immer noch nicht genug hat, kann auf den folgenden Seiten noch weitere Tipps zur CE Programmierung mit Hilfe von Lazarus erhalten.

http://wiki.lazarus.freepascal.org/Windows_CE_Development_Notes

http://wiki.lazarus.freepascal.org/WinCE_Programming_Tips

26Apr/09

Scrollprobleme mit Touchpad und Firefox

Virtueller Bildlauf funktioniert bei Firefox nicht

Wer kennt den virtellen Bildlauf von den Touchpads nicht? Dieses helfende Tool ersetzt das Scrollrad komplett und macht es auch mobil möglich einfach zu scrollen.

Besonders ältere Notebooks sind davon betroffen, da grade diese das "Treiberproblem" haben. Ja es liegt nicht am Firefox, wie bei den Firefox Bugs erwähnt wird sondern am verwendeten Touchpad-Treiber. Da seit dem Update auf den aktuellsten Treiber nun alles reibungslos funktioniert.

Die Lösung:

  • Informieren um welches Touchpad es sich handelt - z. B. Synaptics
  • Auf der Webseite von dem Hersteller sich den neuesten Treiber herunterladen.
  • Den Treiber installieren und ggf. PC neu starten.
6Jan/09

Windows Live Messenger Bug

Windows Live Messenger hängt bei Webcamübertragung

Wie viele Windows Live Messenger Benutzern haben sich schon über das halbe abstürzen des PCs aufgeregt, nur weil sie eine Webcamsitzung halten? Besonders ältere PCs sind betroffen.

Der Grund für das hängen:

Windows Live Messenger ändert bei einer Webcamübertragung / Anruf die Priorität des Prozesses, d. h. Windows Live Messenger sagt zum Betriebssystem, dass es mehr CPU Zugriff haben will, dadurch bleibt nicht mehr viel übrig für andere Prozesse und es führt zum Abstürzen, gefrieren anderer Anwendungen und Systemschwäche.

Lösung:

Einfach den Taskmanager aufrufen (mit [STRG] + [ALT] + [ENTF]) und auf den Reiter "Prozesse" klicken. Darauf wird eien Liste von Prozessen angezeigt, darunter ist der "msnmsgr.exe", den man mit der rechten Maustaste auswählt und auf "Priorität festlegen" -> "normal" wieder so einstellt, dass andere Prozesse durch den MSN-Messenger nicht behindert werden.

msn_bug_prozess_aendern_vhpd.jpg

Warum der MSN-Messenger eine Änderung der eigenen Priorität durchführt ist fraglich, leider kann man dies auch nicht verhindern.

23Nov/08

CamStudio – Open Source Desktop Aufnahme Programm

CamStudio

Jeder der einmal ein Tutorial am PC erstellt hat, weiß genau - es ist wichtig ein gutes Programm zu haben, welches den Bildschirm zuvärlessig aufnimmt.

CamSduio - das beste Programm für die Aufzeichnung des Bildschirmes. Zuverlässig und sauber zeichnet CamStudio wahlweise den Gesamten Bildschirm oder auch nur ein Teil davon auf.

camstudio.jpg

Funktionen von CamStudio:

  • Speichert Video in verschiedene Formate ab (AVI, WMV, DIVIX, SWF).
  • Tonaufnahme von Lautsprechern oder Mikrofon.
  • Sprechblasen und sogar auch Webcambild auf dem Desktop Anzeigen lassen und zusätzlich aufnehmen.
  • Einfache Hervorhebung des Mauszeigers.

Und das alles kostenlos! Viele aufzeichnungs Programme muss man sich kaufen - CamStudio ist als Open Source auf der Homepage zum Download bereit.

Gute Software muss halt nicht immer was kosten ;)

5Nov/08

VHPD startet Tutorials

Erste Java Tutorials veröffentlicht

Heute Abend haben wir auf unserer Seite Tutorials zu Java und dem Binären-System veröffentlicht. Damit ein theoretischer Einstieg in Java leichter wird ;) .

Tutorials die heute Abend veröffentlicht worden sind:

JVM - Java Virtual Machine

Algorithmus - Nassi Schneidermann

Phasen der Programmübersetzung

Komplement durch Uz

Compiler und Interpreter

oder die Übersicht:

Tutorial Seite

Viel Spaß beim Anschauen,

VHPD-Team.

2Sep/08

Firefox 3.0.1 und Profil von Firefox 2?

Profile von Firefox kopieren

Wer möchte den nicht all seine Passwörter, Bookmarks und Co nach dem Update beibehalten?

Eigentlich geht das ja ganz einfach - Wie man es ja überall im Internet ließt:

  1. Altes Profil sichern auf externe Festplatte oder anderer Datenträger.
    Linux: .mozilla/firefox/xxxxxxxx.default
    Windows: %APPDATA%\Mozilla\Firefox\Profiles\xxxxxxxx.default
    x = Zufallszahl oder Zufallsbuchstabe
  2. Betriebssystem altuallisieren / neu installieren
  3. Das neue Profil aufsuchen im Ordner
    Linux: .mozilla/firefox/
    Windows: %APPDATA%\Mozilla\Firefox\Profiles\
  4. Profilordner öffnen
    cd xxxxxxxx.default
  5. Inhalt des alten Profilordners in den soeben geöffneten Ordner kopieren.

Diese 5 Schritte klappen problemlos mit der gleichen Firefoxversion, aber jetzt nehmen wir mal an, dass wir ein Upgrade machen von Ubuntu 7.10 (mit Firefox 2) auf Ubuntu 8.04 (mit Firefox 3).

Der Firefox 3.0.1 im Ubuntu 8.04 akzeptiert die alten Profildaten nicht, auch sogar wenn man die darin gespeicherten und unkompatiblen Erweiterungen "extensions" alle sorgfältig aus der Sicherung entfernt.

Jetzt kommt die Frage auf, warum es nicht funktioniert.

  • Firefox 3 speichert Profildaten anders ab, die nicht rückwerts kompatibel sind.

Der einzige Weg dies alles zu umgehen ist das "FEBE" Add-On für den Firefox - einfach das alte Profil sichern mit dem Add-On und beim neuen Firefox Importieren.

Sollte es jedoch schon zu spät sein und man hat den neuen Firefox schon drauf, dann ist die Welt noch lange nicht verloren. Man löscht den Firefox 3 vollständig über die Paketverwaltung und installiert die alte Version, die man benutzt hat. Dann einfach mit dem Add-On das jetzt lesbare Profil sichern, den Firefox 2 vollständig entfernen. Nun kann man sich zurücklehnen und den neuen Firefox 3 instlalieren + FEBE Add-On -> importieren der alten Daten und schon ist das Problem gelöst ;) .