Posts Tagged ‘Programmierung’

BASIC-Makros für OpenOffice und LibreOffice

28.01.2021

Eine phantastische Arbeit für alle, die mit Libreoffice programmieren wollen. So ein Werk kostet als Buch ein kleines Vermögen. Und das findet man hier kostenlos und in deutscher Sprache. Toll!

Übersichtsseite BASIC-Makros für OpenOffice und LibreOffice von Volker Lenhardt.

Versionen vom 27.01.21 als OOME_deutsch.odt oder OOME_deutsch.pdf

Ich bedanke mich bei den Autoren! :-)


C++ mit der Bibliothek gtkmm

25.08.2016

25.08.16


Wenn man das Video gestartet hat und die Maus über das Video bewegt, erscheinen rechts unten Knöpfe, um das Video im Vollbild oder auf der youtube-Seite anzusehen.

Im Video wird ein Programmierbeispiel unter Ubuntu vorgeführt. Wenn man die Bibliothek gtkmm.org unter Windows installiert und den Quelltext neu kompiliert, kann man das selbe Programm auch dort verwenden – legal, kostenlos und offen. Für was genau braucht man da noch C# ?


Nachtrag 26.08.16

Ich habe die Installation und den Quelltext einmal abgetippt und unter Debian 8 zum laufen gebracht.

$ sudo apt-get install build-essential libgtkmm-2.4-dev -y
Es müssen 14,6 MB an Archiven heruntergeladen werden.
Nach dieser Operation werden 57,6 MB Plattenplatz zusätzlich benutzt.

einen Texteditor starten, den Quelltext hineinkopieren und als main.cpp Datei speichern, z.B.
$ kate main.cpp

hier der vollständige Quelltext:


#include <iostream>
using namespace std;

#include <gtkmm.h>

void on_button_click();

int main(int argc, char* argv[]) {
Gtk::Main kit(argc, argv);

Gtk::Window window;
Gtk::Button button(„Click me“);

window.set_default_size(640, 480);
window.set_title(„Gtkmm Programming – C++“);
window.set_position(Gtk::WIN_POS_CENTER);
window.set_border_width(10);

button.signal_clicked().connect(
sigc::ptr_fun(&on_button_click)
);

button.show();
window.add(button);

Gtk::Main::run(window);

return 0;

}

void on_button_click() {
static int i = 0;
cout << „Button clicked“ << ++i << endl;

}


Programm kompilieren mit:
$ g++ main.cpp -o main `pkg-config --libs --cflags gtkmm-2.4`

darin finden wir 2x die Tastenkombination Shift-` (also der obere von den beiden Accents links neben der Backspace-Taste und nicht das Hochkomma auf der #-Taste)

Programm starten mit:
$ ./main


Nachtrag 29.08.16

Ein wenig Lesestoff zum Thema bietet dieses GTKmm Tutorial.


FOR-NEXT-Schleife mit C++

14.03.2015

Nun habe ich einmal mit der modernen Sprache C++ versucht, den Computer unter Linux bis 3 zählen zu lassen. Der Code sieht schon wesentlich komplizierter aus. Ich würde ihn sicher nicht fehlerfrei hinschreiben können, ohne meine Notizen oder eine Quelle zu Rate zu ziehen. Den folgenden Quelltext habe ich mit einem Texteditor in die Datei for-next-schleife.cpp geschrieben.



#include

using namespace std;

int main()

{

for (int i = 1; i<=3; i++)
{
cout << i << endl;
};

}


Nun geht’s aber erst los. Dieser Code muß zunächst einmal kompiliert werden – also von einer Textdatei zu einer ausführbaren Datei gewandelt werden. Solche Kompiler sind bei Linux Standard – man kann hier g++ verwenden.

Unter Windows benötigt man hier schon Fremdquellen. Ich kann aber auf das kostenlose Open Source Programm mingw verweisen.

Der gespeicherte Quelltext kann nun in ein maschinenlesbares und ausführbares Programm kompiliert werden mit dem Befehl:

$ g++ for-next-schleife.cpp -o for-next-schleife

Und nun können wird das Programm ausführen mit

$ ./for-next-schleife
1
2
3

Und jetzt sag noch mal jemand, es wäre alles besser und einfacher geworden! ;-)


Commodore-Emulator VICE

14.03.2015

Eigentlich wollte hier ich ein paar Worte zum Thema Programmierung früher und heute schreiben und mich ein wenig darüber beschweren, dass man es den heutigen Computer-Anfängern so schwer macht, die ersten Schritte in die Programmierung zu finden. Dazu wollte ich einen Screenshot vom Commodore-Emulator VICE anhängen. Leider konnte ich den Emulator gar nicht erst starten…

Problem

Zur Emulation des Commodore VC-20 (und vieler anderer Commodore Computer) installieren wir das Paket

# apt-get install vice

Beim Versuch, den VC-20-Emulator xvic zu starten, erhalten wir aber nur folgende Fehlermeldung:

$ xvic
getting symbol guess_format failed!
VIC20 kernal patched to 901486-07.
*** VICE Version 2.3 ***
OS compiled for: Linux
GUI compiled for: GTK+
CPU compiled for: AMD64/x86_64
Compiler used: GCC-4.7.1
Current OS: not yet implemented
Current CPU: Unknown CPU

Welcome to xvic, the free portable VIC20 Emulator.

Current VICE team members:
D. Lem, A. Matthies, M. Pottendorfer, S. Trikaliotis, M. van den Heuvel,
C. Vogelgsang, F. Gennari, D. Kahlin, A. Lankila, Groepaz, I. Korb,
E. Smith, O. Seibert.

This is free software with ABSOLUTELY NO WARRANTY.
See the "About VICE" command for more info.

XRandR: XRandR reports current display: 1280x1024@50
VIC20MEM: Error - Couldn't load kernal ROM.
Error - Machine initialization failed.

Exiting...

Beim Versuch, den C64-Emulator x64 zu starten erscheint übrigens
C64MEM: Error - Couldn't load kernal ROM `kernal'.

Lösung

Die Antwort steht nach der Installation auf der Festplatte in der Datei /usr/share/doc/vice/README.ROMs

Man muß zuvor die Datei vice-1.5-roms.tar.gz herunterladen und daraus die entsprechenden Dateien mit root-Rechnten in die Unterordner von /usr/lib/vice speichern.

Um den VC-20 zu emulieren muß man also mit root-Rechnten die Dateien basic, chargen und kernal in den Ordner /usr/lib/vice/VIC20/ kopieren.

Jetzt kann der Emulator von der Konsole aus mit
$ xvic &
gestartet werden.

xvic


Nachtrag

Jetzt kann ich auch zeigen, was ich eigentlich nur beweisen wollte: Es war phantastisch einfach, mit dem VC-20 Programme zu erstellen.

Wenn man den VC-20 gestartet hat, erschien sofort – ohne booten – dieses obige Bild auf dem Fernseher. Alternativ konnte man sich auch einen Monitor kaufen, aber das machte keinen Unterschied. Der bunte Rahmen wurde übrigens genau so dargestellt wie auf dem Emulator-Screenshot. Man hatte damals so wenig Speicher zur Verfügung, dass man die wenigen Schriftzeichen auf dem Bildschirm durch einen Rahmen ergänzt hat. Die Hintergrundfarben konnte man übrigens auch ändern – aber fragt mich nicht wie… (Ich meine, man mußte einen Wert direkt im Speicher ändern mit POKE irgendwas.) Die Schrift war leider immer so häßlich gequetscht.

Aber nun das Positive: Man befindet sich direkt nach dem einschalten in einer Entwicklungsumgebung und kann direkt loslegen mit Programmieren. Die Sprache war, wie oben zu sehen, BASIC und los geht’s mit der Zeilennummer 10 und dann geht’s weiter mit 20 damit man noch Platz für Programmierschritte davor und danach hat. Man kann natürlich auch mit den Zeilennummern 1, 2, 3 … arbeiten, hat dann aber Probleme, wenn man eine Zeile einfügen will…

Jetzt lassen wir den VC-20 von 1 bis 3 zählen und erstellen eine for-next-Schleife:

10 FOR I = 1 TO 3
20 PRINT I
30 NEXT I

Das Programm kann man dann mit RUN starten oder mit LIST auflisten. – Und was muß ich tun, wenn ich unter Linux oder Windows ein so einfaches Programm schreiben will? Tja, das wäre dann ein längerer Artikel…

VC-20 for_i_1_to_3