qtConsole

Artikelnummer: QTCON

Funktionssammlung zur Gestaltung der Ausgabe in die Konsole für Fortran unter Windows

Der Fortran Sprachstandard sieht aus Gründen größtmöglicher System-Kompatibilität keine

  • Möglichkeit zur Ausgabe von farbigen Texten bzw. Zahlen vor.
  • Auch der Cursor kann nur umständlich positioniert werden.
  • Der Konsoleninhalt läßt sich nicht einfach löschen.
  • Das Konsolenfenster selbst kann auf dem Desktop nicht an einem bestimmten Ort plaziert werden.
  • Die Anzahl der Zeilen, die die Konsole beinhalten kann, läßt sich weder bestimmen noch ändern.
  • usf.

Wenn man nur für Windows programmiert, muß man sich diesen Restriktionen nicht unterwerfen.
qtConsole bietet Fortran Programmierern neue Möglichkeiten und bringt Farbe ins Programm.

Click, to view the image in best resolution
Abb.: Liste der qtConsole Funktionen (aus Demoprogramm Ex01.exe)

Die meisten Fortran Programme verwenden für die "Kommunikation" mit dem Benutzer die Befehle READ(*,...), PRINT und WRITE(*,...), die alle auf die Konsole wirken (die Konsole wird unter Windows auch "DOS Eingabeaufforderung", "DOS Box" u.ä. genannt). Der Fortran Standard sieht nur eine einfarbige Ausgabe vor bzw. erlaubt keine Farbauswahl. Mithilfe der qtConsole Funktion qtConSetTextColor kann eine Vorder- und Hintergrundfarbe vorgegeben werden (256 Farbkombinationen sind möglich), mit der dann die folgenden PRINT und WRITE(*,...) Befehle einen farbigen Text bzw. farbige Zahlen schreiben.

Click, to view the image in best resolution
Abb.: Farbkombinationen und -codes (aus Demoprogramm Ex01.exe)

Zusätzlich erlaubt die Funktion qtConWrite eine Positionierung. Damit ist man in der Lage, Texte bzw. Zahlen besonders hervorzuheben, bspw. um die Aufmerksamkeit auf einen Wert, der außerhalb eines zulässigen Bereichs liegt, zu lenken.

Click, to view the image in best resolution
Abb.: Farbliche Darstellung von Temperaturwerten (aus Demoprogramm Ex01.exe)

Auch die Größe der Konsole (intern) und die des Konsolenfensters und seine Position können den eigenen Wünschen gemäß leicht angepaßt werden. Den Inhalt der Konsole löscht man durch Aufruf von qtConClearConsole.

Wem der Cursor in der Konsole zu klein ist (Voreinstellung ist meist 25% der Buchstabenhöhe), kann ihn mittels qtConSetConsoleCursorSize bis auf Maximalgröße (100%) verändern oder ihn unsichtbar schalten.

Innerhalb des Koordinatenbereichs einer Konsole ist der Cursor mittels qtConSetCursorPosition frei positionierbar. Anschließend kann mit PRINT und WRITE(*,...) an der neuen Cursorposition beginnend geschrieben (oder mit READ(*,...) gelesen werden).

Eine vollständige Funktionsübersicht bietet nachfolgende Tabelle:

Funktionsgruppe
/ qtConsole Function

Funktion

Initialisierung

qtConInitialize

qtConsole initialisieren

Konsolengröße und -position

qtConGetConsoleBufferSize Größe des internen Konsolenpuffers bestimmen (Zeilen und Spalten)
qtConSetConsoleBufferSize Größe des internen Konsolenpuffers vorgeben

qtConGetConsoleCoordinatesRange

Koordinatenbereich der Konsole ermitteln

qtConGetLargestConsoleWindowSize

Maximale Größe der Konsole bestimmen

qtConGetConsoleWindowCoordinates Koordinaten des Konsolenfensters ermitteln (relativ zum Desktop)
qtConChangeConsoleWindowSize Größe des Konsolenfensters ändern
qtConSetConsoleWindowPosition Positionierung des Konsolenfensters (relativ zum Desktop)
qtConGetPrimaryScreenSize Bildschirmgröße ermitteln (von Monitor 1)

Cursor

qtConGetCursorPosition

Cursorposition ermitteln

qtConSetCursorPosition

Cursor positioniern

qtConGetConsoleCursorSize

Größe des Cursors ermittlen

qtConSetConsoleCursorSize

Größe des Cursors ändern (0 - 100)

Ausgabe

qtConGetTextColor

aktuelle Farbe für die Ausgabe bestimmen

qtConSetTextColor

aktuelle Farbe für die Ausgabe vorgeben

qtConConvertToColorValue Farbangabe in eine Ganzzahl wandeln
qtConWrite Text farbig ausgeben, ggf. positioniern
qtConClearConsole die Konsole leeren

Sonstige Funktionen

qtConSetConsoleWindowTitle

Titel des Konsolenfensters ändern

qtConFlushConsoleInputBuffer

den Eingabepuffer leeren (clears READ buffer)

qtConGetErrorInformation

Bedeutung eines Fehlecode ermitteln


Lieferumfang

qtConsole wird in Form einer statisch zu bindenden Bibliothek (.lib) samt diverser bereits compilierter MODULEs (.mod) Dateien bereitgestellt. Der Funktionsumfang und die Handhabung ist in einem Handbuch (PDF) samt Beispielen und mehreren Abbildungen ausführlich beschrieben.
Um den Einstieg zu erleichtern, steht ein Demonstrationsprogramm (Ex01.f90) zur Verfügung, das die wesentlichen Funktionen zeigt. Für alle unterstützten Compiler sind vorgefertigte Projekte vorhanden, die das Demonstrationsprogramm sowie die anderen notwendigen Dateien einbinden, so daß nach dem Laden des Projekts ein "Build" das Demonstrationsprogramm (Ex01.exe) erzeugt.


Unterstützte Compilersysteme

Derzeit existieren Varianten für

  • Intel Visual Fortran (Win32) v10.1 und höher
  • Silverfrost FTN95 (Win32) v5.5 und höher

Diese sind mitunter auch für neuere Versionen der Compiler und möglicherweise auch für kompatible Compiler geeignet. Wenn Ihr Compiler in obiger Liste nicht dabei ist, Sie qtConsole dennoch verwenden möchten, probieren Sie doch einfach die Variante aus, zu dem Ihr Compilerhersteller angibt, kompatibel zu sein. Falls keine dabei ist, fragen Sie doch bitte an. Wir werden qtConsole auch für andere Compiler entwickeln, wenn genügend Nachfrage dafür besteht, und sich dies programmiertechnisch bewerkstelligen läßt.


Download

Sie können eine eingeschränkt (1) funktionsfähige Evaluierungsversion samt Beschreibung (im PDF Format (2)) hier laden (Umfang des Download: ca. 1.7 MB:
qtConsole.zip oder als selbst extrahierendes Archiv
Install_qtConsole.exe
Zum Entpacken benötigen Sie ein Passwort, daß wir Ihnen gerne auf Anfrage kostenlos zusenden.

Installationsanleitung:

  1. Erzeugen Sie auf Ihrem PC ein Verzeichnis (bspw. C:\qtConsole)
  2. und kopieren Sie eine der beiden Dateien in dieses Verzeichnis.
  3. Dann entpacken Sie die Datei in dieses Verzeichnis.
  4. Anschließend können Sie gleich eine der für Ihr Entwicklungssystem passenden Dateien CVF\Ex01\Ex01.dsw, IVF\Ex01\Ex01.sln oder FTN95\Ex01\Ex01.ftn95p starten (Doppelklick auf das Dateisymbol im Windows File Explorer sollte die Entwicklungsumgebung starten).
  5. Anschließend führen Sie bitte ein "Build" durch
  6. und starten das erstellte Programm ("run").

(1) Die Evaluierungsversion erlaubt die Nutzung aller Funktionen bis zum Ende des Jahres. Auf diese Beschränkung wird beim Start eines auf qtConsole basierenden Programms mittels eines Dialogfensters hingewiesen. Bei Kauf einer qtConsole Lizenz erhalten Sie eine Lizenzdatei, die die Evaluierungsversion freischaltet, so daß sie zeitlich unbeschränkt und ohne Dialogfenster verwendet werden kann.
(2) Einen PDF Reader, bspw. Adobe Acrobat Reader.

Die Evaluierungsversion kann durch den Erwerb einer Nutzungslizenz in eine vollständig funktionsfähige Version umgewandelt werden (keine Neuinstallation notwendig).
Die Nutzungslizenz berechtigt zur Nutzung der qtConsole Software durch eine namentlich benannte Person (Einzelplatzlizenz) und hinsichtlich der qtConsole Library zur unbeschränkten Weitergabe innerhalb von Programmen (.exe), die die Library binden (link). D.h.: es werden keine Laufzeitgebühren ("run-time-fees" bzw. "royalties") erhoben. Die ausführlichen Nutzungsbedingungen entnehmen Sie bitte dem Handbuch.

Wir liefern die Nutzungslizenz in Form einer Lizenzdatei bzw. Lizenzroutine via eMail. Die Lizenzdatei enthält die vom Lizenznehmer angegebenen Daten (d.h. Namen und Adresse) sowie die Lizenznummer und Lizenzschlüssel.

Systemvoraussetzungen

Um die qtConsole Software nutzen zu können, werden benötigt:

  • PC mit Pentium Prozessor oder besser, Festplatte mit mindestens 6 MB freiem Speicherplatz.
  • Eines der folgenden Betriebssysteme: Microsoft Windows Windows 2000, 2003, Windows XP, Windows 7 und kompatible.
  • Außerdem ist ein Fortran Compilersystem notwendig (welche unterstützt werden, sehen Sie oben).

Technische Unterstützung (Support)

Wenn Sie Fragen haben, Probleme auftreten, Wünsche äußern möchten etc., stehen wir gerne zur Verfügung: eMail an support@qtsoftware.de.