C++ für einsteiger - ein Basis-Tutorial www.mbergmann-sh.de

C++ Tutorial – Die Entwicklungsumgebung installieren und einrichten

Um mit C++ programmieren zu können, brauchst du eigentlich nur einen auf deinem Betriebssystem lauffähigen Compiler für C++ und einen entsprechenden Texteditor. Dein Texteditor sollte unbedingt visuelle Zeilennummerierung und die Syntax-Hervorhebung (aka Highlighting) für C++ unterstützen, das macht das Schreiben von Programmen und die Fehlersuche wesentlich einfacher.

Unter Linux bist du von vorn herein fein raus – das OS bringt die GNU Compiler Collection (GCC) und diverse Texteditoren mit oder ohne GUI bereits mit. Du brauchst die entsprechenden Pakete nur mit dem Paketmanager deiner Linux-Distribution zu installieren. Kostet keinen Cent.

Auch unter Windows stehen diverse Compiler-Systeme und Editoren zur Verfügung – neben wahren Monstern wie dem Microsoft Visual Studio u. a. auch die GNU Compiler Collection GCC. Empfehlenswerte Text-Editoren sind u.a. Geany, Notepad++ und die Entwicklungsumgebung Code::Blocks.

Download-Links Editoren für Windows:
Geany –  https://download.geany.org/geany-2.0_setup.exe
Notepad++ – https://notepad-plus-plus.org/downloads/v8.7.8/
Code::Blocks – https://www.codeblocks.org/downloads/binaries/

Download-Link GCC für Windows (StandAlone):
https://www.mingw-w64.org/downloads/

Auf einem Mac unter OS X musst du zunächst erst XCode installieren. Die Entwicklungsumgebung bringt alle nötigen Bestandteile für die Programmierung mit C++ mit.

Betrachtungen zur Entwicklungsumgebung

Um Programme in C++ schreiben zu können, benötigst du also eine Entwicklungs- umgebung und die besteht in ihrer einfachsten Form aus zwei grundlegenden Komponenten: Einem Compilersystem für C++ und einem dedizierten Texteditor zur Erfassung der Quelltexte.

Beides kostenlos zu beschaffen ist heute kein Problem. Unter Linux steht alles, was du zum Programmieren benötigst, ohnehin im Paketmanager der jeweiligen Distribution zur Verfügung. Für andere Betriebssysteme existieren vorkonfigurierte Lösungen, wie z. B. Microsoft Visual Studio Community Edition unter Windows oder XCode auf dem Mac. Solche Komplettlösungen bieten neben vielen Vorteilen allerdings auch einige gravierende Nachteile für Einsteiger. Sie sind zunächst unübersichtlich, aufwendig zu konfigurieren, erfordern zusätzliche Einarbeitungszeit und lenken dich so erst mal von der eigentlichen Aufgabe ab: Programmieren lernen!

Für dieses Tutorial werden wir uns eine maßgeschneiderte eigene, zukunftssichere Entwicklungsumgebung für C++ zusammenstellen, die nicht nur den Bedürfnissen eines Einsteigers gerecht wird, sondern später auch das Programmieren von Anwendungen mit grafischer Benutzeroberfläche erlaubt.

1 – Der Compiler

Um einen Quelltext in ein lauffähiges Programm zu übersetzen, bedarf es eines C++-Compilers. Ich habe mich hier für die C/C++-Komponenten aus der GNU Compiler Collection (GCC – GNU gcc/g++) entschieden – diese sind stets aktuell, mächtig, erfüllen annähernd die neuesten Sprachstandards und stehen für alle gängigen Betriebssysteme zur Verfügung. Insgesamt unterstützt die GCC mehr als 60 Plattformen. Die Programme der GCC sind ein gut etablierter Standard für Programmierer und werden auch im professionellen Umfeld entsprechend gern und häufig eingesetzt.

GNU Compiler Collection herunterladen

GNU gcc/g++ findet man in verschiedenen Varianten im Internet. Auch wenn es ein wenig Overhang bedeutet, werden wir in diesem Tutorial mit Hinblick auf die spätere Entwicklung von Programmen mit grafischer Benutzeroberfläche (nicht Bestandteil dieses Tutorials!) die Installation zusammen mit dem Qt Framework und dem Qt-Creator vornehmen.

Unter Linux installiere einfach alle Komponenten für Qt5, Qt6 und den Qt-Creator über den Paketmanager deiner Distribution. Für andere Betriebssysteme gilt:

  1.  Lege dir unter https://login.qt.io/login einen kostenlosen Account an
  2.  Lade den zu deinem Betriebssystem passenden Qt Offline Installer unter https://www.qt.io/download-qt-installer herunter und führe die Setup-Datei aus
  3.  Melde dich im Installer mit deinen Zugangsdaten an und klicke auf <weiter>
  4.  Setze die Haken für die Checkboxen wie im folgenden Bild:
    C++ Kurs für Einsteiger www.mbergmann-sh.deKlicke auf <weiter>
  5. Durchlaufe mit die Installationsroutine bis zum Punkt „Benutzerdefinierte Installation“. Bestimme den Speicherort für die Installation von Qt und klicke auf <weiter>
  6. Setze die Haken bei „Qt Creator“, „Additional Libraries“ und in der aktuellsten Qt6 Release Version den Haken bei „MinGW 11.2.0 64-bit“.
  7. Gib im Suchfeld „Qt 5“ ein. Unter dem Eintrag „Qt 5.15.2“ selektiere mindestens den Eintrag „MinGW 8.1.0 64-bit“ und die Einträge für die zusätzlichen Bibliotheken:
  8. Unter „Developer and Designer Tools“ selektiere die Einträge „Qt Creator“, „MinGW 13.0.1 64-bit“, „MinGW 11.1.0 64-bit“, „MinGW 8.1.0 64-bit“, „CMake“ und „Ninja“.
  9. Zum Start der Installation klicke auf und fasse dich in Geduld…

Einrichtung des Compilers

Um den Compiler von der Kommandozeile aus erreichen zu können ist es notwendig, die PATH Variable deines Betriebssystems entsprechend um den Pfad zum Compiler zu erweitern. Unter Linux geschieht das automatisch bei der Installation von gcc, unter anderen Betriebssystemen musst du die Anpassung selbst vornehmen.

Angenommen, du befindest dich unter Windows, bist der Installationsanleitung gefolgt und hast Qt nach C:\Qt installiert. Die aktuell höchste installierte Version von MinGW (gcc) findest Du dann unter C:\Qt\Tools\mingw1310_64.

Öffne den Dialog zur Einstellung von Umgebungsvariablen, selektiere „PATH“ und erweitere die Variable um die aus dem folgenden Bild ersichtlichen Einträge:

Pfade - C++ Kurs für einsteiger www.mbergmann-sh.de

Bestätige den Dialog und alle übergeordneten Instanzen, öffne eine neue Kommandozeile und teste deine Einstellungen durch Eingabe von gcc -v:

GCC Shell - C++ Kurs für Einsteiger www.mbergmann-sh.de

Dein Compiler-System sollte nun einsatzbereit sein. Für das Setzen von Systemvariablen unter anderen Betriebssystemen konsultiere bitte das entsprechende Handbuch.

Verwenden des Compilers

Am Einfachsten ist es, den Compiler über entsprechende Befehle aus dem Editor heraus zu steuern – und das ist auch die bevorzugt Vorgehensweise in diesem Tutorial. Trotzdem kann es nicht schaden, wenn du weißt, wie man den Compiler auch auf der Kommandozeile bedienen kann.

Für die Übersetzung von C++-Quelltexten verwenden wir GNU g++, das C++-Compiler Backend der GNU Compiler Collection. Es wird über diverse Schalter gesteuert, die sein Verhalten regeln. Hier eine kurze Aufstellung der wichtigsten Schalter:

  •  -Wall (Warn all) sorgt dafür, dass der Compiler neben Fehlern auch auf sämtliche Warnungen bei der Übersetzung eines Programmes reagiert und diese ausgibt
  •  -v (verbose) bewirkt eine sehr detaillierte Ausgabe von Compilermeldungen
  •  -std= <Bezeichner> bewirkt die Verwendung eines bestimmten, definierten Compilerstandards
  •  -s (strip) bewirkt die Optimierung der Größe des erzeugten Programms
  •  -g, -ggdb (gnudebug) fügt dem erzeugten Programm sogenannten Debug-Code hinzu – das Programm lässt sich so mit dem Debugger (Werkzeug zur Fehlersuche) gdb aus der GNU Compiler Collection auf Fehler überprüfen
  •  -o (output) speichert das übersetzte Programm unter einem frei wählbaren Namen
  •  -l (Library) bindet eine zusätzliche Linker-Bibliothek ein. Häufig verwendet wird z. B. -lm zur Einbindung der mathematischen Bibliothek für arrithmetische CoProzessoren (FPU)
  •  -O (optimize) bewirkt die Optimierung des zu übersetzenden Programms, wobei der Parameter für die Optimierungsstufe steht. Üblich ist z.B. -O3. Optimierungen sollten nur bei einem vorher ausgiebig getesteten, für die Veröffentlichung bestimmten Programm zugeschaltet werden!

Zum Compilieren eines Programms auf der Kommandozeile musst du dich in dem Verzeichnis befinden, in dem der zugehörige Quelltext gespeichert ist. Der übliche Aufruf von g++ für die Programme in diesem Tutorial lautet dann:
    g++ -Wall -std=c++17 -o meinProgramm meinCode.cpp

Dabei gibt g++ sämtliche auftretenden Fehlermeldungen und Warnungen unter Verwendung des ISO/ANSI-Standards c++17 auf der Kommandozeile aus und erstellt aus dem Quelltext meinCode.cpp das lauffähige Programm meinProgramm. Unter DOS/Windows wird automatisch noch der Suffix .exe an den Programmnamen angehängt. Das fertig übersetzte Programm befindet sich danach im gleichen Verzeichnis wie der zugehörige Quellcode und kann durch

    meinProgramm + <Eingabetaste>

zur Ausführung gebracht werden.

Der Compiler besitzt noch viele weitere Schalter und Optionen. Außerdem enthält die GNU Compiler Collection weitere nützliche Tools und Hilfsprogramme. Eine vollständige Beschreibung findest Du in den Handbüchern unter https://gcc.gnu.org/onlinedocs/gcc-13.3.0/gcc/

2 – Der Editor

Zum Schreiben von Programmen brauchst Du, wie bereits gesagt einen Editor, der deine Quelltexte als einfache ASCII-Dateien speichern kann. Grundsätzlich könnte man hierfür nun den Qt-Creator oder andere Speichermonster wie Visual Studio Code, Word oder LibreOffice Writer mit speziellen Speicheroptionen einsetzen – jedoch ist es deutlich angenehmer, auf einen Editor zurück zu greifen, der dich nicht ablenkt, Nützlichkeiten wie Syntax Highlighting, Code Folding und Auto-Vervollständigung beherrscht und am Besten auch gleich noch den Compiler anzusprechen vermag. Die Puristen unter den Programmierern nehmen hierfür GNU Emacs, vi oder nano unter Linux, wir allerdings wollen es in diesem Tutorial etwas bequemer haben.

Es existiert eine mehr oder minder reiche Auswahl an solchen Editoren für die verschiedenen Betriebssysteme. In diesem Buch gehe ich davon aus, dass du den quelloffenen Editor „Geany“ verwendest – er erfüllt alle oben genannten Kriterien und ist für Linux, Windows und MacOS kostenlos erhältlich.

Geany herunterladen und installieren

Unter Linux ist der Editor bereits Bestandteil vieler Distributionen – installiere das Programm einfach über den Paketmanager der von dir verwendeten Linux-Distribution. Für andere gebräuchliche Betriebssysteme gilt: Geany und seine Zusatzkomponenten kannst du hier für dein Betriebssystem herunterladen: https://www.geany.org/download/releases/
Um Geany zu installieren genügt es, den jeweiligen Installer für das von dir verwendete Betriebssystem zu starten.

Geany konfigurieren

Geany kommt bereits vorkonfiguriert daher, unterstützt viele gängige Programmier- sprachen und erkennt selbstständig, mit Welcher du gerade arbeitest. Dabei lässt sich der jeweilige Befehlssatz zur Ansteuerung des Compilers aber noch nachjustieren. Klicke dazu im Menü „Erstellen“ auf den Eintrag „Kommandos zum Erstellen konfigurieren“ – es erscheint der folgende Dialog:

Geany Konfiguration C++-Kurs für einsteiger www.mbergmann-sh.de

Die Compiler gcc und g++ übersetzen Programme standardmäßig mit gnu99, einer älteren Vorgabe für C/C++ mit einigen zusätzlichen Besonderheiten der GNU Compiler Collection. In diesem Buch wollen wir aber mit einem fortgeschrittenen, relativ aktuellen Sprachstandard arbeiten, wie er in den Normen c++14 und c++17 für ISO/ANSI C++ definiert ist.

Der Schalter -std veranlasst gcc/g++ dazu, einen anderen als den vorgegebenen Sprachstandard zu verwenden. Trage deshalb im Konfigurationsdialog hinter allen Vorkommen von g++ -Wall den Schalter -std=c++17 ein.

Der Schalter -Wall (Warn all) sorgt dafür, dass der Compiler Warnungen und Fehlermeldungen ausgibt. Das ist besonders nützlich für die Fehlersuche im Quelltext. Besonders geschwätzig wird der Compiler, wenn du zusätzlich noch den Schalter -v (verbose) einfügst – allerdings wird die Ausgabe der Meldungen dann schnell unübersichtlich.

Geany verwenden

Geany zeichnet sich durch Schlichtheit und Funktionalität aus – alles ist intuitiv und leicht erreichbar. Das folgende Bild illustriert den Aufbau des Editors:

Geany verwenden - C++-Kurs für Einsteiger www.mbergmann-sh.de

  1. Texteingabefenster: Hier gibst du deine Programme ein.
  2. Meldungsfenster: Hier erfolgt die Ausgabe von Compilermeldungen. Falls bei der Übersetzung ein Fehler oder eine Warnung aufgetreten ist, so kannst du diese anklicken – die Schreibmarke springt dann im Texteingabefenster auf die vermutete Stelle, an der ein Problem aufgetreten ist.
  3. Seitenleiste: Hier listet der Editor Klassen, Funktionen, Strukturen und andere Elemente von C++ auf. Durch einen Klick auf einen Eintrag springt die Schreibmarke zur entsprechenden Stelle im Texteingabefenster.

Die Arbeit mit dem Editor gestaltet sich denkbar einfach:

  • Programme schreiben: Gib deinen Quelltext im Texteingabefenster ein und speichere ihn unter einem aussagekräftigen Namen mit der Dateiendung .cpp ab.
  • Übersetzung anstoßen: Drücke die Funktionstaste <F9> , um den Quelltext compilieren zu lassen. Veränderungen am Quelltext werden dabei automatisch gespeichert. Falls du den Quelltext noch nicht abgespeichert hast, so musst du das vor dem ersten Compilerlauf nachholen.
  • Programm ausführen: Drücke die Funktionstaste <F5>, um das fertige Programm zu starten.

[Inhaltsverzeichnis] | [zurück] | [vorwärts]

C++ für einsteiger - ein Basis-Tutorial www.mbergmann-sh.de

C++ Tutorial – Was ist C Plus Plus?

Die Programmiersprache C++ ist weltweit eine der beliebtesten Entwicklersprachen für professionelle Software. Mit ihr kannst du sehr systemnah komplexe und schnelle Programme schreiben, die mit wenig Aufwand auf nahezu jedes beliebige Betriebssystem portierbar sind, für das es einen C++-Compiler gibt.

C++ wurde ab 1979 von Bjarne Stroustrup bei AT&T als Erweiterung der Programmiersprache C entwickelt. Die Sprache ermöglicht sowohl die effiziente und maschinennahe Programmierung als auch eine Programmierung auf hohem Abstraktionsniveau. Was Stroustrup hinzufügte, sind
die Merkmale der objektorientierten Programmierung (OOP). Somit wird – zumindest theoretisch – das bis dahin gängige Paradigma der prozeduralen Programmierung zugunsten eines dem menschlichen Denken ähnlicheren Ansatzes abgelöst.

C++ wie auch C sind Compilersprachen – was besagt, dass der Quellcode vor der Ausführung in Maschinensprache übersetzt werden muss. Diese Aufgabe kommt dem C++-Compiler zu. C++ ist eine Obermenge von C – das besagt, dass jedes gültige C-Programm mit einem C++-Compiler übersetzt werden kann. Was es keinesfalls besagt ist, dass du über C-Kenntnisse verfügen musst, um C++ zu erlernen! Die beiden Sprachen sind nicht annähernd so nah miteinander verwandt, wie man auf den ersten Blick glauben möchte und oft ist es besser, ohne festgefahrene Strukturen an eine neue Sprache heran zu gehen.

Die Sprache C++ verwendet nur etwa 60 Schlüsselwörter („Sprachkern“), manche werden in verschiedenen Kontexten (static, default) mehrfach verwendet. Ihre eigentliche Funktionalität erhält sie, ähnlich wie auch die Sprache C, durch die C++-Standardbibliothek, die der Sprache fehlende wichtige Funktionalitäten beibringt (Arrays, Vektoren, Listen, . . . ) wie auch die Verbindung zum Betriebssystem herstellt (iostream, fopen, exit, . . . ). Je nach Einsatzgebiet kommen weitere Bibliotheken und Frameworks dazu. C++ legt einen Schwerpunkt auf die Sprachmittel zur Entwicklung von wiederverwendbaren Bibliotheken. Dadurch favorisiert es verallgemeinerte Mechanismen für typische Problemstellungen und besitzt nur wenige, kaum in die Sprache integrierte Einzellösungen.

Böhmische Dörfer? Das wird sich nun bald ändern…


[Inhaltsverzeichnis] | [zurück] | [vorwärts]

QuickBasic für Linux - QB64 unter Debian 12 installieren - www.mbergmann-sh.de

QuickBasic für Linux – QB64 unter Debian Linux Bookworm installieren

Ein Retro-Computing Abenteuer

BASIC ist ja die Sprache, mit der die Meisten meines Jahrgangs ihre ersten Schritt als Programmierer gemacht haben. Bei mir waren das Commodore BASIC 2.0 auf dem legendären C64, Commodore BASIC 3.5 auf dem C16/Plus4, AmigaBasic, GFA-Basic und MaxonBASIC auf dem Amiga – und natürlich GW-BASIC und Microsoft QuickBasic auf der ersten MS-DOS-Kiste in meiner Raupensammlung. Nach wie vor ist BASIC eine Programmiersprache, die viele Vorteile bietet: Sie ist leicht zu erlernen, je nach BASIC-Dialekt auch für mächtige Programmimplementierungen gut zu gebrauchen – und BASIC macht Spaß.

Auch heute noch verwende ich gerne mal BASIC für schnelle Entwürfe und Machbarkeitsstudien (PureBASIC), aber auch für komplexere Programme, wenn ich nicht auf C++ und Qt6 zurückgreifen möchte. Oft liefern mir dabei alte BASIC-Listings die Ideen für die Umsetzung von Programmen – und hier kommt QB64 ins Spiel…

Was ist QB64?

QB64 (ursprünglich QB32) ist ein BASIC-Compiler für Windows, Linux und Mac OS X, der für die Kompatibilität mit Microsoft QBasic und QuickBASIC entwickelt wurde. QB64 emittiert C-Quellcode und integriert selbst einen C++-Compiler, um die letztendliche Kompilierung des generierten Zwischencodes mit gcc-Optimierung zu ermöglichen. Mit der derzeit technisch genauesten Nachbildung des originalen Microsoft-Produkts zählt QB64 zu den Anwendungen im Bereich Retrocomputing.

QB64 implementiert die meisten QBasic-Funktionen und kann viele QBasic-Programme ausführen, einschließlich der Beispielprogramme Gorillas und Nibbles, die von Microsoft geschrieben und dem Originalprodukt beigelegt waren. Darüber hinaus enthält QB64 eine Entwicklungsumgebung, die der QBasic-Entwicklungsumgebung ähnelt. QB64 erweitert auch die QBASIC-Programmiersprache um 64-Bit-Datentypen, bessere Sound- und Grafikunterstützung und bessere Anbindung an Betriebssystemfunktionen. Es kann auch einige DOS/x86-spezifische Funktionen wie Mauszugriff über den Interrupt 33h und mehrere Timer emulieren.

QB64 unter Linux

Meistens arbeite ich an einem Linux-Rechner und was liegt da näher, als QB64 auch hier zu verwenden? Das Programm ist kostenlos, OpenSource – und es lässt sich klaglos sowohl auf den 64-Bit-, als auch auf den 32-Bit-Versionen der gängigen Linux-Distributionen kompilieren. In diesem Tutorial zeige ich dir, wie man QB64 unter Debian 12 Linux (aka „Bookworm“) installiert.

Quellcode besorgen und QB64 compilieren

QB64 existiert derzeit in zwei Versionen. Während die ursprüngliche Originalversion nur noch sporadisch aktualisiert wird (Version 2.02), gibt es auch noch einen wesentlich aktuelleren Branch, die „Phoenix Edition“ mit einem erweiterten Befehlssatz, die (Stand 03/2025) noch aktiv weiterentwickelt wird. Beide haben ihre Vor- und Nachteile. Die ursprüngliche Version zeichnet sich durch schnellere Compilerzeiten mit vergleichsweise langsamem Programmcode aus, während die Phoenix Edition den Quellcode deutlich langsamer übersetzt, dafür aber hochoptimierte, schnelle Programme erzeugt. Es bleibt dir selbst überlassen, welcher Version du den Vorzug gibst.

Der Quellcode zu QB64 ist frei zugänglich für jedermann auf GitHub verfügbar.
Alte Original-Version: https://github.com/QB64Team/qb64
Phoenix Edition: https://github.com/QB64-Phoenix-Edition/QB64pe

Um darauf zugreifen zu können, musst du auf deiner Linux-Maschine zunächst ein paar Vorbereitungen treffen:

# 1. git installieren:
sudo apt install git
# 2. Verzeichnis für Quellcodes einrichten:
mkdir ~/git
# 3. Verzeichnis betreten:
cd ~/git
# 4. QB64 Quellcode abrufen:
# Original-Version: 
git clone https://github.com/QB64Team/qb64.git
# oder Phoenix Edition: 
git clone https://github.com/QB64-Phoenix-Edition/QB64pe.git
# Hinweis: Wenn du dich für die Phoenix Edition entscheidest, dann solltest 
# du zusätzlich das Paket kdialog installieren - andernfalls musst du beim 
# Laden und Speichern von Quellcode Pfad und Programmname umständlich in 
# einer Shell eingeben!
  sudo apt install kdialog

Das Herunterladen kann ein Weilchen dauern. Sobald der Download beendet ist, kannst du QB 64 compilieren. Eventuell fehlende Pakete und Abhängigkeiten werden dabei automatisch nachinstalliert. Die weitere Vorgehensweise bleibt für beide Versionen die Gleiche:

# 5. Wechsle in das qb64-Verzeichnis:
# Original-Version:
cd qb64
# oder Phoenix Edition:
cd QB64pe
# 6. Starte die Übersetzung:
./setup_lnx.sh
# 7. Warteschleife... Programm wird übersetzt.
# Koch dir ein Käffchen oder wende dich deinem Haustier zu...

Sobald der Compiler fertig ist, öffnet sich die Entwicklungsumgebung von QB64. Das Installations-Script hat übrigens automatisch eine Verknüpfung in deiner Startleiste angelegt! Du findest QB64 künftig unter Entwicklung->QB64 Programming IDE und kannst somit jederzeit mit dem Programmieren in BASIC loslegen. 😉

 

Ein Testprogramm zur Geschwindigkeitsmessung

' ----------------------------------
' -- loop.bas                     --
' -- Laufzeitmessung Do-Loop      --
' --                              --
' -- Windows 10 64-Bit            --
' -- QB64 Benchmark:              --
' -- 689647 loops, 4.23 sec.      --
' --                              --
' -- Phoenix Edition Benchmark:   --
' -- 689647 loops, 2.14 sec.      --
' --                              -- 
' -- Windows 10 WSL2 Debian Linux -- 
' -- QB64 Benchmark:              -- 
' -- 689647 loops, 5.33 sec.      -- 
' --                              -- 
' -- Phoenix Edition Benchmark:   -- 
' -- 689647 loops, 4.45 sec.      --
' --                              --
' -- Testrechner:                 --
' -- Intel Core I7 @3.60 GHz      --
'-----------------------------------
Cls
Randomize Timer
zahl1 = 100
count = 0
an = Timer ' Zeitmessung starten

Do
  zahl1 = zahl1 + 1.6
  count = count + 1
  Print Using "######"; count;
  Print ": ";
  Print Using "#######.##"; zahl1
Loop Until zahl1 > 1111110

aus = Timer ' Zeitmessung beenden
secs = (aus - an) ' Laufzeit (Sekunden) berechnen
mins = secs / 60.0
hours = mins / 60.0

' -- Laufzeit ausgeben --
Print
Print "Runtime: ": Print
Print Using "#######.##"; secs;
Print " Sekunden"
Print Using "#######.##"; mins;
Print " Minuten"
Print Using "#######.##"; hours;
Print " Stunden"
End

Programmieren mit QB64/QBasic – Links zu Tutorials und Foren

Vielleicht hast du ja Lust auf Retro-Programming mit BASIC und QB64 bekommen? Hier habe ich einige hilfreiche Links zusammengetragen, die dir beim Einstieg und der täglichen Arbeit nützlich sein können:

SelfQB – ein online-Tutorial für Einsteiger
Lerne QuickBasic kennen und arbeite dich in die Programmierung ein!

QBasic-Tutorial von Claus-Dieter Volko
mit 43 Beispielprogrammen und 8 Hausaufgaben mit Lösungen.

Programmieren in QBasic
ein weiterer guter Einsteiger-Kurs, der sich vor allem an Schüler wendet.

QBasic-Kurs für Gymnasien
Kleiner Qbasic-Einsteigerkurs auf 13 Seiten. Hierbei handelt es sich um eine Zusammenfassung eines 8-stündigen QBasic-Programmierkurses am Gymnasium Wolbeck.

„Basic lernen“ – 8-teiliges Online-Tutorial
Exzellentes QBasic-Tutorial, das systematisch in die wichtigsten Funktionen und Befehle von QBasic einführt. Liebevoll aufbereitet, mit vielen Programmbeispielen. Auch für absolute Neueinsteiger ideal geeignet.

Modernes QuickBasic
ein Tutorial für Fortgeschrittene und Profis in der QB- Programmierung
Dieser Kurs füllt eine Lücke – ein Tutorial, das viele Fragen von fortgeschrittenen Programmierern beantwortet und diesen wertvolle Tipps gibt. Der bunte Themenreigen spannt sich von der Interrupt- Programmierung über das modulare Programmieren mit MAKE-Modulen und INCLUDE-Dateien bis hin zur Programmierung einer eigenen Scriptsprachen- Interpreters mit QB.

Die QB Monster FAQ
In dieser FAQ (Frequently Asked Questions) sind all die Fragen gesammelt und beantwortet, die seit Jahren hundertfach in allen QBasic-Foren weltweit gestellt werden. Die FAQ umfasst 1028 Fragen mit über 2000 Antworten.

QB64.com
englischsprachiges Forum rund um QB64

QB64 Wiki
englischsprachige Befehlsübersicht zu QBasic/QB64

Phoenix Edition QB64 Tutorial
ein englischsprachiges Tutorial zur Spieleprogrammierung mit QB64 „Phoenix Edition“

Das war’s dann auch erst mal zu Retro-Programming mit QBasic und QB64 unter Linux. Schau gern auch mal bei meinen anderen Tutorials rein!

War dir dieses Tutorial hilfreich? Dann freue ich mich über einen kleinen Obolus für meine IT-Kasse! 🙂

lightScribe Files für Linux - System Software, SDK, Labeling Software

LightScribe unter Debian Linux installieren

Eine Anleitung zur Installation und Nutzung unter Debian-basierten Linux-Distributionen (32- und 64-Bit)

Lightscribe ist eine von HP und Lite-On im Jahr 2006 entwickelte Technik zum Beschriften einer CD oder einer DVD mit Hilfe eines CD/DVD-Brenners. Für eine solche Beschriftung sind spezielle Rohlinge und LightScribe-fähige Brenner nötig.

Seit ca. 2013 wurde LightScribe obsolet, obwohl das System auch nach heutigem Stand durchaus eine brauchbare Methode zur Beschriftung von optischen Datenträgern darstellt. Bereits im Laufe des Jahres 2011 stellte HP den Einbau von LightScribe-fähigen optischen Laufwerken in HP-Notebooks und -Desktops ein. Auch andere Hersteller haben die Produktion von LightScribe-fähigen Laufwerken mittlerweile beendet. Die offizielle LightScribe-Website war noch bis 2013 erreichbar, ist aber zwischenzeitlich von HP entfernt worden, sodass LightScribe-Treiber und -Programme nur noch über inoffizielle Quellen bezogen werden können.

In der Folge wurden LightScribe-fähige Medien schnell ziemlich teuer und sind heute gefragte Verbrauchsmaterialien für Liebhaber und Nerds. Ich bin so Einer.

Wie arbeite ich mit diesem Tutorial?

Am besten liest du dir das komplette Tutorial einmal von vorne nach hinten durch und machst dir Stichpunkte – viele Aspekte zur Nutzung von LightScribe werden bereits im Abschnitt zur Installation auf 32-Bit Systemen angesprochen.

Benötigte Software

Um LightScribe unter Linux verwenden zu können, benötigst du die folgenden Packages:

  • lightscribe-1.18.27.10-linux-2.6-intel.deb (Treiber und System-Software)
  • lightscribeApplications-1.18.15.1-linux-2.6-intel.deb (Anwender-Software, SimpleLabeler)
  • 4l_1.0-1_i386.deb (TemplateLabeler der Firma LaCie, vermag Bilder auf die CD-Oberfläche zu brennen)
  • optional: lightscribePublicSDK-1.18.6.1-linux-2.6-intel.rpm (Das SDK zum Programmieren eigener LightScribe-Anwendungen)

Als registrierter Benutzer meines Blogs kannst du die benötigten Packages hier als Sammelarchiv herunterladen:

Hardware und OS

Für dieses Tutorial habe ich LightScribe auf den folgenden Systemen mit Debian Linux 12 „Bookworm“ installiert und getestet:

  • Netbook MSI U100 WIND Ver. 001 (32-Bit, Intel ATOM N270 DualCore @1.599 GHz, 2 GB SDRAM)
  • ACER Aspire XC Workstation, Dual-Boot Linux/Windows 10 (64-Bit, Intel Core I7-4790 OctaCore @3.60 GHz, 16 GB SDRAM)
  • gleiche Maschine, Windows Subsystem für Linux (WSL2)
  • Brenner: Externes HP LightScribe DVD-Drive, USB 2.0/USB 3.0

Vorbereitungen

Öffne eine Shell und aktualisiere zuerst dein Betriebssystem:

sudo apt update && sudo apt upgrade -y

Transferiere danach die benötigten Packages auf dein Zielsystem. Öffne eine Shell in dem Verzeichnis, in welchem du die Packages abgelegt hast. Wenn du das hier im Blog bereitgestellte Sammelarchiv verwendest, dann teste es zunächst auf eventuelle Fehler:
unzip -t lightScribeLinux.zip

Entpacke anschließend das Archiv:

unzip -o lightScribeLinux.zip

Im Anschluss findest du ein neues Verzeichnis lightScribeLinux. Wechsle in dieses Verzeichnis und lasse es dir anschließend anzeigen:

cd lightScribeLinux
ls -l

Du findest die folgenden Ordner und Dateien:

LightScribe Linux Files - www.mbergmann-sh.de

 

 

 

 

Bei den beiden Ordnern Artwork und Templates handelt es sich um zusätzliche Bilder und Templates für den LightScribe Labeler. Wir werden sie später an einen adäquaten Platz im Dateisystem verschieben. Die Datei LSAPI_Reference_Manual_Linux.pdf ist das Programmierer-Handbuch zu LightScribe – kopiere es in deinen Dokumente-Ordner, falls Du planst, eigene LightScribe-Anwendungen zu entwickeln.

Alle anderen Dateien sind Packages für die Debian (.deb) und RedHat (.rpm) Paketmanager. Sie werden für die Installation von LightScribe auf den unterschiedlichen Systemen benötigt.

Wichtig:

Bevor die Basis-Installation erfolgt, muss zuerst eine Gruppe wheel angelegt und die Benutzer, die später in der Lage sein sollen, CDs zu bedrucken, hinzugefügt werden. Ansonsten ist die Nutzung der im weiteren Verlauf genannten Programme nicht möglich!

sudo addgroup wheel
sudo adduser BENUTZERNAME wheel
newgrp

BENUTZERNAME ist dabei durch den eigenen Benutzernamen zu ersetzen.

Installation auf 32-Bit Systemen (x32/i686)

Auf einem 32-Bit System verläuft die Installation von LightScribe nebst Anwender-Software relativ unspektakulär. Installiere zunächst das Basis-Paket mit dem Treiber und den Bibliotheken:

sudo dpkg --install lightscribe-1.18.27.10-linux-2.6-intel.deb

Anschließend kannst du die Anwender-Software installieren:

sudo dpkg --install lightscribeApplications-1.18.15.1-linux-2.6-intel.deb
sudo dpkg --install 4l_1.0-1_i386.deb

Es schadet nicht, anschließend für die sichere Verfügbarkeit der installierten Komponenten zu sorgen:

sudo apt install -f
sudo ldconfig

Nachdem wir nun Grundsystem und Anwendersoftware erfolgreich installiert haben, wird es Zeit für einen ersten Test. Rufe dazu den LaCie LightScribe Labeler in der Shell auf:

4L-gui

 

Das GUI ist intuitiv und weitgehend selbsterklärend. Templates können in den Formaten *.jpg, *.png, *.bmp und *gif mit einer Größe von 1200×1200 Pixeln als Graustufen-Bilder verarbeitet werden. Das Erstellen eigener Labels ist denkbar einfach. LightScribe Labeler sucht im Home-Verzeichnis des Users nach Vorlagen.

Das Sammelarchiv enthält den Ordner Artwork mit einigen hübsche Vorlagen. Kopiere sie in deinen Home-Ordner:

cp -R Artwork ~/username

Bei der Installation des Package lightscribeApplications-1.18.15.1-linux-2.6-intel.deb wurde unter /opt das Verzeichnis lightscribeApplications mit den Unterverzeichnissen common und SimpleLabeler erstellt. In common befinden sich die Qt4-Laufzeitkomponenten der Anwendung, im Verzeichnis SimpleLabeler findest du die Anwendung SimpleLabeler, ein einfaches Programm, mit dem du LightScribe-Rohlinge mit Text beschriften kannst. Testen wir auch dieses:

cd /opt/lightscribeApplications/SimpleLabeler
sudo ./SimpleLabeler

Aha! Das funktioniert so nicht! Du erhältst die Fehlermeldung:

./SimpleLabeler: error while loading shared libraries: libpng12.so.0: cannot open shared object file: No such file or directory

Offenbar fehlt uns eine Systembibliothek? Nö, dem ist nicht so! Allerdings liegt die libpng unter Debian 12 in der Version 1.6 – und nicht, wie gefordert, in der Version 1.2 vor. Abhilfe schafft ein symbolischer Link:

cd /usr/lib/i386-linux-gnu
ln -s libpng16.so libpng12.so.0
cd /opt/lightscribeApplications/SimpleLabeler
sudo ./SimpleLabeler

LightScribe simpleLabeler Linux - www.mbergmann-sh.de

Löppt! Zwar beschwert sich Linux mit der Warnung

libpng warning: Application built with libpng-1.2.5 but running with 1.6.39

aber das können wir getrost vernachlässigen.

Um SimpleLabeler ohne Umstände aus jedem Verzeichnis in einer Shell starten zu können, ändert man zunächst den Benutzer für den Pfad /opt/lightscribeApplications  und fügt dann noch ein paar Zeilen zur Datei .bashrc im Home-Verzeichnis des jeweiligen Benutzers ein:

# LightScribe Pfad globalisieren
sudo chown -R BENUTZERNAME:wheel /opt/lightscribeApplications
nano ~/.bashrc

Hier trägt man nun am Ende der Datei das Folgende ein:

# LightScribe SimpleLabeler Pfad globalisieren
export SLABELER=/opt/lightscribeApplications
export PATH=$SLABELER:$SLABELER/common:$SLABELER/common/Qt:$PATH
export PATH=$SLABELER/SimpleLabeler:$SLABELER/SimpleLabeler/content:$PATH
export PATH=$SLABELER/SimpleLabeler/content/html:$SLABELER/SimpleLabeler/content/images:$PATH
export PATH=$SLABELER/SimpleLabeler/plugins/accessible:$PATH
alias slabeler='sudo /opt/SimpleLabeler/SimpleLabeler'

Melde dich anschließend in der Shell ab und starte sie neu oder gib direkt den folgenden Befehl ein:

source ~/.bashrc

Du kannst nun den LightScribe SimpleLabeler in der Shell direkt oder über seinen Alias starten:

# Direkt:
sudo SimpleLabeler

# via Alias:
slabeler

Um die Qualität des Kontrastes der Labels für die LightScribe-Programme zu beeinflussen, musst du das folgende Script ausführen:

sudo /usr/lib/lightscribe/elcu.sh

Du wirst nun nach einem Wert für den erweiterten Kontrast gefragt:

  • 1 – schaltet den verstärkten Kontrast ein, die Dauer des Brennvorgangs erhöht sich drastisch.
  • 2 – schaltet den verstärkten Kontrast ab, kürzerer Brenndauer

Hinweis: Um den Kontrastwert wieder zu verändern, rufst du das Script einfach erneut auf.

Somit können wir nun CD- und DVD-Labels brennen und hätten die Installation von LightScribe für den Durchschnittsanwender auf einer x32/i686-Architektur eigentlich schon gemeistert. Spannend wir es noch einmal, wenn auch das LightScribe SDK für Programmierer installiert werden soll – dieses liegt uns nämlich nur als RedHat-Paket vor und muss vor der Verwendung auf einem Debian-System erst umgewandelt werden. Hierzu installieren wir zunächst das Paket alien:

sudo apt install alien -y

 

Installation des LightScribe SDK

# Im ersten Schritt konvertieren wir das LightScribe SDK von
# RedHat-Paket-Format in das Debian-Paket-Format:
sudo alien lightscribePublicSDK-1.18.6.1-linux-2.6-intel.rpm

# Im zweiten Schritt installieren wir das soeben erstellte Paket:
sudo dpkg -i lightscribepublicsdk_1.18.6.1-1_amd64.deb

#...und zack! Es hagelt Fehlermeldungen:
Entpacken von lightscribepublicsdk (1.18.6.1-1) ...
lightscribepublicsdk (1.18.6.1-1) wird eingerichtet ...
chown: Zugriff auf '/usr/share/doc/lightscribe-sdk/docs/LSAPI_Reference_Manual.pdf' nicht möglich: Datei oder Verzeichnis nicht gefunden
chown: Zugriff auf '/usr/share/doc/lightscribe-sdk/linux_public_SDK_license.rtf' nicht möglich: Datei oder Verzeichnis nicht gefunden
chown: Zugriff auf '/usr/share/doc/lightscribe-sdk/sample/lsprint/lsprint.cpp' nicht möglich: Datei oder Verzeichnis nicht gefunden
dpkg: Fehler beim Bearbeiten des Paketes lightscribepublicsdk (--install):
»installiertes post-installation-Skript des Paketes lightscribepublicsdk«-Unterprozess gab den Fehlerwert 1 zurück
Fehler traten auf beim Bearbeiten von: lightscribepublicsdk

Was also tun? Das Problem besteht darin, dass verschiedene Dateien nicht entpackt werden konnten – sie liegen aber als gzip-Archive in den angegebenen Verzeichnissen! Die Lösung mutet etwas umständlich an, funktioniert aber hervorragend:

# 1. Fehler 1 beseitigen:
cd /usr/share/doc/lightscribe-sdk/docs/
sudo gzip -d LSAPI_Reference_Manual.pdf.gz

# 2. Fehler 2 beseitigen:
cd /usr/share/doc/lightscribe-sdk/
sudo gzip -d linux_public_SDK_license.rtf.gz

# 3. Fehler 3 beseitigen:
cd /usr/share/doc/lightscribe-sdk/sample/lsprint/
sudo gzip -d lsprint.cpp.gz

# 4. Fehlerhafte Installation in der Installationsdatenbank bereinigen:
sudo apt install -f

 

Installation auf 64-Bit Systemen (x64/amd64)

Die Packages für LightScribe entstammen noch aus einer Zeit, in der 32-Bit Systeme die Regel waren und funktionieren dementsprechend auch nur mit einer 32-Bit Architektur. Unter Debian 12 64-Bit musst du also zunächst eine zusätzliche 32-Bit Umgebung (multi-arch) installieren:

sudo dpkg --add-architecture i386
sudo apt update && sudo apt upgrade -y
sudo apt install multiarch-support binutils-multiarch gdb-multiarch arch-test alien

Überprüfe nun, welche Architekturen dir zur Verfügung stehen:

dpkg --print-foreign-architectures

sollte i386 ausgeben.

Installation des Basis-Systems

sudo dpkg -i --force-architecture lightscribe-1.18.27.10-linux-2.6-intel.deb
sudo cp /usr/lib/liblightscribe.so /usr/lib32/
sudo cp /usr/lib/liblightscribe.so.1 /usr/lib32/
ldconfig

Installation der Anwender-Software

# Fehlende Bibliotheken und Abhängigkeiten installieren:
sudo apt install libxi6:i386
sudo apt install libxrender1:i386
sudo apt install libxrandr2:i386
sudo apt install libxcursor1:i386
sudo apt install libxinerama1:i386
sudo apt install libfreetype6:i386
sudo apt install libfontconfig1:i386
sudo apt install libpng16-16:i386
sudo apt install libsm6:i386
sudo apt install -f

# Bibliotheken anpassen
cd /usr/lib/i386-linux-gnu
sudo ln -s libpng16.so.16.39.0 libpng12.so.0
sudo ldconfig

# Anwender-Software installieren:
sudo dpkg -i --force-architecture lightscribeApplications-1.18.15.1-linux-2.6-intel.deb 
sudo dpkg -i --force-architecture 4l_1.0-1_i386.deb

# Anwendungen testen:
4L-gui
/opt/lightscribeApplications/SimpleLabeler/SimpleLabeler

Installation des LightScribe SDK

# Im ersten Schritt konvertieren wir das LightScribe SDK von
# RedHat-Paket-Format in das Debian-Paket-Format:
sudo alien --target=amd64 lightscribePublicSDK-1.18.6.1-linux-2.6-intel.rpm

# Im zweiten Schritt installieren wir das soeben erstellte Paket:
sudo dpkg -i --force-architecture lightscribepublicsdk_1.18.6.1-1_amd64.deb

#...und ding-dong! Wieder hagelt Fehlermeldungen:
Entpacken von lightscribepublicsdk (1.18.6.1-1) ...
lightscribepublicsdk (1.18.6.1-1) wird eingerichtet ...
chown: Zugriff auf '/usr/share/doc/lightscribe-sdk/docs/LSAPI_Reference_Manual.pdf' nicht möglich: Datei oder Verzeichnis nicht gefunden
chown: Zugriff auf '/usr/share/doc/lightscribe-sdk/linux_public_SDK_license.rtf' nicht möglich: Datei oder Verzeichnis nicht gefunden
chown: Zugriff auf '/usr/share/doc/lightscribe-sdk/sample/lsprint/lsprint.cpp' nicht möglich: Datei oder Verzeichnis nicht gefunden
dpkg: Fehler beim Bearbeiten des Paketes lightscribepublicsdk (--install):
»installiertes post-installation-Skript des Paketes lightscribepublicsdk«-Unterprozess gab den Fehlerwert 1 zurück
Fehler traten auf beim Bearbeiten von: lightscribepublicsdk

Die Lösung kennst du bereits aus dem Abschnitt zur Installation auf 32-Bit Systemen:

# 1. Fehler 1 beseitigen:
cd /usr/share/doc/lightscribe-sdk/docs/
sudo gzip -d LSAPI_Reference_Manual.pdf.gz

# 2. Fehler 2 beseitigen:
cd /usr/share/doc/lightscribe-sdk/
sudo gzip -d linux_public_SDK_license.rtf.gz

# 3. Fehler 3 beseitigen:
cd /usr/share/doc/lightscribe-sdk/sample/lsprint/
sudo gzip -d lsprint.cpp.gz

# 4. Fehlerhafte Installation in der Installationsdatenbank bereinigen:
sudo apt install -f

64-Bit Troubleshooting

Auf 64-Bit Systemen kann es schon mal vorkommen, dass du über diesen Fehler stolperst:

error while loading shared libraries: liblightscribe.so.1: cannot open shared object file: No such file or directory

Die Lösung für dieses Problem besteht darin, die Dateien liblightscribe.so und liblightscribe.so.1 von /usr/lib nach /usr/lib32 zu kopieren. Eben drum haben wir diesen Schritt gleich bei der Installation des Basis-Systems bereits durchgeführt!

So, das war’s dann soweit. Ich hoffe, du konntest etwas mit meinem Tutorial anfangen und hattest Spaß!


Findest du diesen Artikel hilfreich? Dann freue ich mich über einen kleinen Obolus für meine Rohling-Kasse. Besten Dank! 🙂

Die Todesfahrt von Mannheim – Hintergründe und Reaktionen

Bei der Todesfahrt in der Mannheimer Innenstadt gehen die Ermittler nicht von einem politischen Hintergrund aus. Das teilten die Staatsanwaltschaft Mannheim und die Polizei in einer gemeinsamen Erklärung mit. Zwei Personen seien tödlich und fünf schwer verletzt worden, heißt es in der Mitteilung.
Nach dem Horror von Mannheim steht inzwischen fest: Der verdächtige Autofahrer ist Deutscher.
Bei dem nach der Todesfahrt von Mannheim festgenommenen Mann handelt es sich nach Angaben von Baden-Württembergs Innenminister Thomas Strobl (CDU) um einen 40-jährigen Deutschen mit Wohnsitz in Rheinland-Pfalz. Wie die Mannheimer Polizei mitteilte, steht inzwischen fest, dass er als Einzeltäter handelte.

Hintergrund der Todesfahrt ist wohl eine psychische Erkrankung, teilte der zuständige Staatsanwalt in Mannheim mit. Der Fahrer des Wagens war nach SWR-Informationen deutschen Sicherheitsbehörden bislang nicht im Zusammenhang mit Extremismus oder Terrorismus aufgefallen. Er soll aber schon früher psychisch auffällig gewesen sein.

Der Täter war bei der Polizei kein unbeschriebenes Blatt. Es gebe ein paar Vorstrafen, die lange zurücklägen, sagte Staatsanwalt Romeo Schüssler in Mannheim. Dabei gehe es um eine Körperverletzung, für die er eine kurze Freiheitsstrafe verbüßt habe vor über zehn Jahren, außerdem ein Fall von Trunkenheit im Verkehr. Bei der letzten Tat handle es sich um ein Delikt im Bereich von Hate Speech aus dem Jahr 2018. Er habe einen entsprechenden Kommentar auf Facebook abgesetzt und sei deshalb zu einer Geldstrafe verurteilt worden.

Auffällig bei den öffentlichen Reaktionen: Politiker fast aller Parteien – sogar die wiederbraune CDU – brachten ihr Entsetzen zum Ausdruck. Nicht so die blaue Nazipartei AfD. Die Hintergründe der Tat lassen sich nun mal nicht für migrantenfeindliche Hetze ausschlachten.

Quellenangabe: ARD Live-Ticker

 

Blitz-Tutorial: Banjo-Rolls für die Gitarre

Wenn man als Gitarrist mit einem Banjo zusammenspielt, dann spielt sich das meistens über die Akkorde G-Dur, C-Dur und D-Dur ab. In diesem Tutorial lernst du einige typische Licks, die dein Gitarrenspiel nach Bluegrass klingen lassen, kennen.

Das Akkordmaterial

Banjo-Rolls für Gitarre Tutorial - das Akkordmaterial www.mbergmann-sh.de

Die vorliegenden Akkord-Diagramme geben dir einen Anhalt über die im Tutorial verwendeten Akkorde. Übe sie, bis du alle im flüssigen Wechsel greifen kannst. Beachte aber auch unbedingt den Fingersatz im jeweiligen Lick und passe deine Grifftechnik entsprechend an – nicht immer muss ein Akkord voll gegriffen werden!

Für alle Akkorde und Licks gilt: Übe zunächst in sehr langsamem Tempo und steigere dich erst, wenn alles sauber klappt.

Fingersatz für die Spielhand

  • p = Daumen
  • i = Zeigefinger
  • m = Mittelfinger

Lick #1 – eine Arpeggio-Roll über E-Dur

Dieses Lick eignet sich gut als Aufwärm-Training. Beachte unbedingt die Fingersätze der Greifhand.

Lick 1 - Arbeggio Roll über E-Dur www.mbergmann-sh.de

Lick #2 – Rock’n’Roll-style Banjo-Roll auf den hohen Saiten

Dieses Lick klingt besonders gut, wenn du es im höheren Tempo spielst. Übe es trotzdem zunächst in sehr langsamem Tempo und steigere dich erst, wenn alles sauber klappt.

Banjo-Rolls für Gitarre - Lick 2 www.mbergmann-sh.de

Lick # 3 – ein melodiöses Roll mit Bass-Begleitung

Dieses Lick eignet sich gut für Bluegrass und Reels

Banjo-Rolls für Gitarre - Lick 3 www.mbergmann-sh.de

Lick #4 – ein Roll für Reels, Bluegrass und Blues

Dieses Lick hat seine „schwere“ Zählzeit auf dem ersten Schlag eines Taktes. Es klingt auch sehr gut, wenn du die Bässe per Palm Muting abdämpfst.

Banjo-Rolls für die Gitarre - Lick 4
www.mbergmann-sh.de

Lick #5 – ein melodiöses Riff mit Extras

Banjo-Rolls für die Gitarre - Lick 5
www.mbergmann-sh.de

 

Das war’s dann auch für heute! Lass‘ dir die Zeit zum Üben, die du brauchst, schludere nicht beim Draufschaffen und vor allem: Hab‘ Spaß!

 

Download: Dateien zum Blitz-Tutorial „Banjo Rolls für Gitarre“
Das Archiv enthält das Noten-/Tabulaturblatt als PDF, sowie alle Soundbeispiele als MP3 und Dateien zur Verwendung in Guitar Pro 8, MuseScore und MIDI-Anwendungen.

Download nur für registrierte Benutzer möglich!

Du findest meine Tutorials hilfreich? Dann freue ich mich über eine kleine finanzielle Anerkennung!

 

 

 

Zeitgenossen, haufenweise

Erich Kästner,"Zeitgenossen, haufenweise" 1924

Erich Kästner

Es ist nicht leicht, sie ohne Haß zu schildern,

und ganz unmöglich geht es ohne Hohn.
Sie haben Köpfe wie auf Abziehbildern
und, wo das Herz sein müßte, Telephon.
Sie wissen ganz genau, daß Kreise rund sind
und Invalidenbeine nur aus Holz.
Sie sprechen fließend, und aus diesem Grund sind
sie Tag und Nacht – auch Sonntags – auf sich stolz.
In ihren Händen wird aus allem Ware.
In ihrer Seele brennt elektrisch Licht.
Sie messen auch das Unberechenbare.
Was sich nicht zählen läßt, das gibt es nicht!
Sie haben am Gehirn enorme Schwielen,
fast als benutzten sie es als Gesäß.
Sie werden rot, wenn sie mit Kindern spielen.
Die Liebe treiben sie programmgemäß.
Sie singen nie (nicht einmal im August)
ein hübsches Weihnachtslied auf offner Straße.
Sie sind nie froh und haben immer Lust
und denken, wenn sie denken, durch die Nase.
Sie loben unermüdlich unsre Zeit,
ganz als erhielten sie von ihr Tantiemen.
Ihr Intellekt liegt meistens doppelt breit.
Sie können sich nur noch zum Scheine schämen.
Sie haben Witz und können ihn nicht halten.
Sie wissen vieles, was sie nicht verstehn.
Man muß sie sehen, wenn sie Haare spalten!
Es ist, um an den Wänden hochzugehn.
Man sollte kleine Löcher in sie schießen!
Ihr letzter Schrei ist fast ein dernier cri.
Jedoch, sie haben viel zuviel Komplicen,
als daß sie sich von uns erschießen ließen.
Man trifft sie nie.
Erich Kästner, 1924

Rechte Hetze und das Attentat von München

Was wir bis dato tatsächlich über den Attentäter von München wissen:

  • 24-jähriger Afghane
  • nicht polizeibekannt (entgegen vorheriger Verlautbarungen)
  • vor dem Anschlag nicht aufgefallen
  • keine Hinweise auf Extremismus
  • nicht als Gefährder eingestuft
  • Asylantrag abgelehnt, trotzdem besaß er
  • Arbeitserlaubnis und Duldung

Einziger eventueller „Hinweis“ auf die bevorstehende Tat war ein Posting mit dem eher unverfänglichen Inhalt „Allah ist groß und schütze uns alle“ in sozialen Medien am Tag vor dem Attentat.
Soviel zur bei Blaumiesen und CDU beliebten Argumentation „Abgelehnte Asylbewerber sofort abschieben“ und „Der Staat hat nicht rechtzeitig reagiert“. Wie hätte der Staat auch „rechtzeitig“ reagieren können? Glaskugel? Wahrsager konsultieren?


Die Tat ist nicht entschuldbar und erfordert ohne Frage angemessene strafrechtliche Konsequenzen. Was sich aus der Tat nicht ableiten lässt: Generalisierter Hass und Hetze gegen Migranten, Sippenhaft für Afghanen, vorauseilende Verschärfung von Gesetzen, die lediglich angewendet werden müssen, Forderungen zum Dichtmachen unserer Grenzen, Abschiebung aller Ausländer ohne Rücksicht auf bestehende Abkommen mit dem Herkunftsland.


Sei nicht dumm und lasse dich nicht aufhetzen. Kein Instrumentalisieren der Opfer von München. Keine Stimme für AfD/CDU/CSU.

Neun DoubleThumb Banjo Licks

Guter Banjo-Sound – gerade in der Bluegrass-Musik – lebt vom gekonnten Einsatz des Daumens. Hier sind neun Licks, die dem Daumen ordentlich was abfordern. Übe jedes Lick zunächst sehr langsam, bis die Bewegungsabläufe sitzen und werde erst dann schneller.

Neun DoubleThumb Licks für Bluegrass und Blues - www.mbergmann-sh.de

Das Lehrvideo von Eli Gilbert:

Don't Avoid This Banjo Technique // Double Thumb Licks