 |
|

 |
Die
Kasse
Version: 1.0
Sprache: PowerBASIC, Batch
Systemanforderungen:
- IBM-Kompatibler PC mit 80286er-Prozessor oder höher
- MS-DOS ab v3.0, Windows 95/98/NT/2000/ME/XP
- Farb-Grafikkarte (EGA/VGA)
Screenshot ansehen
Quellcode ansehen

|
Dieses
PowerBASIC-Programm läuft auf jeder alten Kiste, die einen
80286er-Prozessor (oder höher) und eine Farb-Grafikkarte eingebaut,
sowie MS-DOS Version 3.0 (oder höher) installiert hat, und bietet
so ziemlich alles, was ein klassisches Kassen-Programm bieten muss:
Artikelnummer einscannen/eintippen, Artikel-Daten anzeigen, Stornieren, Summe
und Wechselgeld berechnen, Bemerkung hinzufügen, Verkäufernamen
ändern. Es läuft im Textmodus und hat eine eigene, von mir
entworfene Benutzeroberfläche ( siehe unten) mit farbigen Buttons
und Mausnutzung. Die Artikelliste liegt im CSV-Format vor und kann
mit jedem Texteditor, sowie mit Microsoft Excel bearbeitet bzw.
erstellt werden. Das Selbe gilt auch für die Verkaufsliste, die vom
Programm bei jedem getätigten Verkauf automatisch erstellt bzw.
erweitert wird. Eine kurze Online-Hilfe sowie eine umfangreiche
Programmdokumentation im PDF, TXT, und MSDOS-Text-Format liegen
selbstverständlich bei; sowie auch der vollständige Source-Code.
Das Einzige, was Die Kasse nicht kann, ist Quittungen ausdrucken;
was jedoch für einen Einsatz am Kiosk oder am Verkaufsstand (wofür
dieses Programm auch konzipiert ist) nicht unbedingt notwendig ist
(ich ziehe jedoch in Erwägung, dieses Feature bei der nächsten
Version mit einzubauen). Dieses Programm samt allen Librarys hat
insgesamt 4690 Codezeilen, eine Quellcode-Größe von 167 KB, und
ist eigentlich für eine Sprache wie BASIC ungeeignet. Es waren
einige Kniffe notwendig, um das Programm überhaupt kompilieren zu
können, etwa die Einteilung in mehrere Segmente ($SEGMENT) und
die Kompilierung direkt in die EXE-Datei ($COMPILE EXE). Alles
Andere führte zu der Fehlermeldung "Program too big to fit
in memory". Warum Die Kasse überhaupt in BASIC geschrieben wurde
(und nicht in C), wird im Handbuch genauestens erklärt. Auch wird
erklärt, warum das Programm als DOS-Anwendung konzipiert wurde
(und nicht als klassische Windows-Applikation).
X
X
X |
 |
Convert.vbs
Version: 1.0
Sprache: VBScript / WSH
Systemanforderungen:
- Windows mit WSH 5.6 oder höher
- Internet Explorer 5.0 oder höher
- Abgeschaltete Script-Blocking- Funktionen des Virenscanners
Screenshot ansehen
Quellcode ansehen

|
Jede
Computer-Plattform, ja sogar jedes Betriebssystem hat eine eigene
ASCII-Kodierung, welche Probleme beim Portieren von Textdateien mit
sich bringt, die Sonderzeichen (z.B. deutsche Umlaute) enthalten. Dieses
einfache aber überaus nützliche VBScript-Tool hilft bei diesem
Problem. Es konvertiert Textdateien von DOS nach Windows und
umgekehrt. Für die nächste Version sind Konvertier-Möglichkeiten
von Linux nach DOS und Windows (und umgekehrt), von Atari ST nach
DOS und Windows (und umgekehrt) eingeplant, sowie auch die Option,
eigene Konvertier-Tabellen einzusetzen, womit praktisch unbegrenzte
Konvertier-Möglichkeiten offen stünden. Das Programm-"Paket"
besteht aus einer einzige Datei, dem Hauptprogramm in VBScript,
welches dann nach dem Doppelklick vom Windows Explorer aus von einem
Windows-Scripting-Host-Interpreter (WSH) ausgeführt wird. Da WSH
keinerlei Funktionen für eine grafische Interaktion mit dem
Benutzer bietet, wird der Internet Explorer für diesen Zweck
missbraucht (DynamicHTML-Prinzip). Dieses Tool braucht zum Laufen
ein Windows-Betriebssystem mit WSH ab Version 5.6 (standardmäßig
auf Windows XP installiert), sowie den Internet Explorer ab Version
5.0. Ganz wichtig: Standardmäßig ist die Skript-Blockade (Scipt-Blocking)
bei einem Virenscanner eingeschaltet, welche unbedingt ausgeschaltet
werden muss (oder zumindest für dieses eine Skript eine
"Sondererlaubnis" erteilen).
X
X
X |
 |
Print
Version: 1.0
Sprache: Assembler
Systemanforderungen:
- IBM-Kompatibler PC mit 8086-Prozessor oder höher
- MS-DOS ab v3.0, Windows 95/98/NT/2000/ME/XP
- Farb-Grafikkarte (EGA/VGA)
Quellcode ansehen
X

|
Dieses
Assembler-Tool für den Batch-Programmierer erweitert den
Batch-Befehl ECHO um ein Vielfaches, indem es ermöglicht, Ausgaben
an verschiedenen Positionen des Bildschirmes, und dazu farbig zu tätigen.
Für die Ausgabe werden die Funktionen des VGA-BIOS Interrupt 10h
benutzt. Dies ermöglicht auch den Einsatz unter modernen
Windows-Systemen wie Windows 2000 und XP. (Der direkte Zugriff auf
den Bildspeicher von einem Assembler-Programm aus wird unter XP/2000
unterbunden [zumindest ist es bei mir so], ganz abgesehen von der
Tatsache, dass der direkte Zugriff unter diesen Systemen nicht
wirklich schneller abläuft - offensichtlich haben die Microsoft-
bzw. BIOS-Entwickler die Bildschirmausgabe-Routinen in den
vergangenen Jahren gründlich überarbeitet und schneller gemacht.
Früher, zu MS-DOS-Zeiten, musste man als Anwendungsentwickler noch
eigene Ausgaberoutinen entwickeln, da die Systemroutinen furchtbar
langsam waren. Aufgrund dieser Tatsache habe ich auch das Tool
PrintQ entwickelt [siehe unten].) Als Referenz dient das
Setup-Skript Der Kasse (SETUP.BAT, siehe oben)
X
X
X |
 |
PrintQ
Version: 1.0
Sprache: Assembler
Systemanforderungen:
- IBM-Kompatibler PC mit 8086-Prozessor oder höher
- MS-DOS ab v3.0, Windows 95/98
- Farb-Grafikkarte (EGA/VGA)
Quellcode ansehen
X
X
|
Auch
ein Assembler-Tool für den Batch-Entwickler, erweitert auch den
ECHO-Befehl, doch diesmal umgeht es die System-Bildausgaberoutinen
und schreibt die Ausgaben direkt in den Bildspeicher. Unter MS-DOS
ergibt sich dadurch ein Geschwindigkeits-Gewinn von bis zu 100%.
Unter einem "modernen" Windows-System wie XP oder 2000
wird das Tool mir größter Wahrscheinlichkeit nicht laufen, da
diese Systeme den direkten Zugriff auf den Bildspeicher von einem
Assemblerprogramm aus unterbinden (zumindest ist es bei mir so). Was
aber auch nicht weiter schlimm ist, denn erstens gibt es für diesen
Fall das Tool "Print" (siehe oben), und zweitens läuft
eine Ausgabe direkt in den Bildspeicher unter diesen Systemen nicht
schneller ab als die System-Bildausgaberoutinen, eher langsamer. Als
Referenz dient das Setup-Skript Der Kasse (SETUP.BAT, siehe oben)
X
X
X |
 |
Color
Version: 1.0
Sprache: Assembler
Systemanforderungen:
- IBM-Kompatibler PC mit 8086-Prozessor oder höher
- MS-DOS ab v3.0, Windows 95/98
- Farb-Grafikkarte (EGA/VGA)
Quellcode ansehen
X
X

|
Auch
das ist ein Assembler-Tool für den Batch-Programmierer. Hierbei
handelt es sich um eine 100%ige Imitation des internen Befehls COLOR,
der unter Windows XP (und 2000, glaub ich zumindest) implementiert
ist. Dieses Tool soll eine farbige Gestaltung der
ECHO-Bildschirmausgaben auf Systemen ermöglichen, auf denen der
COLOR-Befehl nicht implementiert ist. Das Assembler-Tool schreibt
den angegebenen Farbcode als Attribut-Byte direkt in den
Bildspeicher, so dass das Ergebnis sofort sichtbar ist (wie beim
COLOR-Befehl halt auch). Unter einem "modernen"
Windows-System (2000/XP) wird dieses Tool mit größter
Wahrscheinlichkeit nicht laufen, da diese Systeme den direkten
Zugriff auf den Bildspeicher von einem Assembler-Programm aus
unterbinden. Was aber auch nicht weiter schlimm ist, denn in dem
Fall wird automatisch der interne Befehl COLOR aufgerufen
(bekanntlich haben interne Befehle Priorität gegenüber externen),
und die Parameter-Syntax des Tools ist mit der des COLOR-Befehls
identisch. Als Referenz dient das Setup-Skript Der Kasse (SETUP.BAT,
siehe oben)
X
X
X |
 |
Cursor
Version: 1.0
Sprache: Assembler
Systemanforderungen:
- IBM-Kompatibler PC mit 8086-Prozessor oder höher
- MS-DOS ab v3.0, Windows 95/98
- Farb-Grafikkarte (EGA/VGA)
Quellcode ansehen
X
X

|
Und
wieder ein Assembler-Tool für den Batch-Programmierer, und zwar
vorerst das Letzte. Es schaltet den Cursor aus und ein, und läuft
leider nur unter MS-DOS oder im "echten" MS-DOS-Modus des
Windows 95/98 (und vielleicht noch unter ME). Alle anderen Systeme
unterbinden Manipulationen an dem Cursor von einem Assemblerprogramm
aus. (Es ist sicherlich mit einem kleinen Trick möglich, etwa die
Anzahl der Cursor-Zeilen auf 0 setzen, doch die direkte Ansteuerung
über die Bits 5+6 des CH-Registers (Interrupt 10h, Funktion 01h "Set Cursor Size")
bleibt auf diesen Systemen wirkungslos. Vielleicht in der nächsten
Version...)
X
X
X |
|
 |
|

 |
BigLib
Version: 1.0
Sprache: PowerBASIC v2.10
Systemanforderungen:
- IBM-kompatibler PC mit 8086-Prozessor oder höher
- MS-DOS ab v3.0, Windows 95/98/NT/2000/ME/XP
- Farb-Grafikkarte (EGA/VGA)
Screenshot ansehen

|
|
Diese
Sammlung von Librarys bietet Ihnen alles, was Sie für die
Entwicklung von benutzerfreundlichen, optisch ansprechenden
Anwendungen unter PowerBASIC benötigen. Sie enthält 8 Librarys,
die folgende Funktionsbereiche abdecken:
INIT.INC
General-Initialisierung, Deklaration der globalen
Variablen/Konstanten (z.B.Tastaturcodes). Die Basis für alle
nachfolgenden Librarys.
MOUSE.INC
Alle Routinen für die Maus-Nutzung, verpackt in bequeme Prozeduren
und Funktionen. Funktioniert mittels Interrupt 33h, keine
CALL-ABSOLUTE-Anweisungen, die viele meiner Kollegen leider benutzen
(wozu auch immer, der Aufruf über den Interrupt 33h ist objektiv
betrachtet viel simpler), läuft daher 100%ig.
FILE.INC
Routinen für die Dateiverwaltung (z.B. FileExist, FileCopy), als
sinnvolle Erweiterung vorhandener PowerBASIC-Dateibefehle.
ROUTINEN.INC
Sammlung von nützlichen Routinen für jeden Zweck, z.B. auf Taste
warten, Tastaturpuffer löschen, Word nach Byte konvertieren,
doppelte Leerzeichen entfernen, Strings umbrechen (Word Wrapping), und Vieles mehr.
MSDOS.INC
Routinen für verschiedene Betriebssystem-Aufrufe, z.B. Datum
abfragen.
INPUT.INC
Benutzerfreundliche Eingaberoutine mit sämtlichen Editierfunktionen
nach WordStar-Standard ([Entf], [Pos1], [Einfg], etc.),
Cursor-Positionierung mit der Maus.
GUI.INC
Benutzerfreundliche, optisch ansprechende Message-Boxen,
Input-Boxen, Progress-Bars, etc., mit Maus-Steuerung. Als Referenz
dient das Screenshot
oben.
ZAHL.INC
Ausgabe von "Riesen-Zahlen" (Blockgrafik, 4x5 Kästchen).
Als
Referenz für diese Library-Sammlung dient das Programm "Die Kasse"
(siehe oben),
sie wurde mit Hilfe dieser Sammlung programmiert. (Genauer gesagt
wurde "Die Kasse" zusammen mit dieser Library-Sammlung
entwickelt.)
X
X
X |
|
 |
|

 |
DOS
Development Kit
Version: 1.0
Sprachen: Assembler, C, C++
Systemanforderungen:
- IBM-kompatibler PC mit 8086-Prozessor oder höher
- MS-DOS ab v3.0, Windows 95/98/NT/2000/ME/XP
Screenshot ansehen
|
|
Diese
Sammlung an Compilern, Assemblern, Debuggern und Tools wäre noch
von 15 Jahren einige Tausend Mark wert, ist heutzutage als Freeware
erhältlich und bietet wirklich ALLES, was man als professioneller
Softwareentwickler zur Entwicklung von DOS-Programmen benötigt. Die
Liste reicht von Microsoft Macro Assembler 5.10 bis hin zu Borland
Turbo C 2.0. Hier die komplette Auflistung:
Metaware High C Compiler v1.4
Lattice C Compiler v2.15
HI-TECH Software Pacific C v7.51
Borland Turbo Assembler TASM v4.1
Borland Turbo C v2.0
Borland C++ v3.00
Digital Research Assembler RASM86 v1.4
Microsoft Macro Assembler MASM v3.00
Microsoft Macro Assembler MASM v5.10
Microsoft Library Manager 6.00
MetaWare FGREP
Borland TD386 (Virtual-8086 Driver) v3.0
Digital Research SID-86 Symbolic Debugger v1.0
Phoenix Software PLIB86 v1.4
Lugaru Software Epsilon Text Editor v3.0
Realia SpaceMaker
PKWARE PKLITE Executable File Compressor v1.11
Sowie etliche Tools.
Das alles entdeckte ich rein zufällig beim Durchstöbern des
GEM-Building-Kits (welches ebenfalls als Freeware kostenlos zum
Download erhältlich ist) und erweiterte das Ganze um paar
Freeware-Compiler aus meiner Sammlung. Ein Fund, der jedes Programmierer-Herz zum
Klopfen bringt. (Zumindest eines, welches dauerhaft pleite ist.)
X
X
X
|
|
Das
MS-DOS-Programmierhandbuch
Von Günter Born
|
Wer
"ernsthaft" MS-DOS-Applikationen entwickeln will oder viel
mit Assembler arbeitet, kommt um ein solches Werk nicht herum. Das
Programmierhandbuch von Günter Born ist auf vielen Webseiten als
PDF-Dokument kostenlos zum Download erhältlich und beschreibt
sämtliche DOS-, BIOS- und NetBIOS-Funktionsaufrufe. Obwohl dieses
Handbuch als PDF-Dokument vorliegt, wurde es nochmals als ZIP (mit
11% Gewinn) komprimiert, damit 1) es automatisch zum Download
angeboten (und nicht vom Browser geöffnet) wird, und weil 2) jedes
Byte bei meinem Provider rar und kostbar ist.
X
X
X |
|