Harbour Handbuch – DE
HTML-Ausgabe

Kapitel 11

Hinweis: Dies ist die vollständige deutsche Übersetzung des Kapitels. Codebeispiele sind sprachunabhängig gültig.

Kapitel 11: Externe Bibliotheken und Pakete

Der wahre Leistungsumfang von Harbour zeigt sich in den zahlreichen Zusatzbibliotheken. Dieses Kapitel beschreibt, wie man mit ihnen arbeitet, Projekte aufbaut und moderne Formate wie JSON und XML verarbeitet.

1. Das Build-System `hbmk2`

hbmk2 ist das offizielle Build-Tool für Harbour – es automatisiert Kompilierung, Linken, Abhängigkeitsmanagement und Cross-Plattform-Unterstützung.

Warum `hbmk2` verwenden?

Grundlegende Benutzung


hbmk2 meinprogramm.prg
hbmk2 meinprogramm.prg -lhbcurl

Projektdateien (`.hbp`)

Für komplexere Projekte empfiehlt sich eine `.hbp`-Datei:


meinprogramm.prg
utils.prg
reports.prg
-lhbcurl
-lhbzip
-w3 -es2
hbmk2 meinprojekt.hbp

2. Beliebte `contrib`-Bibliotheken

3. Verarbeitung von JSON und XML

JSON-Verarbeitung

Harbour unterstützt JSON nativ über:


LOCAL hData := { => }
hData["name"] := "Max"
hData["aktiv"] := .T.
hData["kurse"] := { "Harbour", "SQL" }

LOCAL cJson := hb_jsonEncode(hData)
? cJson
? hb_jsonDecode(cJson)["kurse"][1] // → "Harbour"

XML-Verarbeitung

XML-Verarbeitung erfolgt über die hbexpat-Bibliothek (eventbasiert, wie SAX):

hbmk2 myxml.prg -lhbexpat

Parser erzeugen und Ereignisse behandeln:


oParser := hb_expat_Create()
oParser:startElementHandler := { |o, tag, attr| QOut("Start:", tag) }
oParser:characterDataHandler := { |o, text| QOut("Text:", text) }
oParser:endElementHandler := { |o, tag| QOut("Ende:", tag) }
oParser:Parse( MemoRead("daten.xml") )
oParser:Destroy()

Ideal für große XML-Dateien, da speicherschonend.