Inhaltsverzeichnis
Gesammelte Tipps
Für alle Tipps und Vorschläge, die das tägliche Leben mit dem Portfolio erleichtern und für die keine konkrete Einordnung möglich ist, wurde diese Seite geschaffen.
ECHO mit linkem Rand
Der Befehl ECHO kappt alle Leerstellen (ASCII 032) am Anfang der angegebenen Zeichenkette. Deshalb ist es nicht möglich die Zeilen durch voransetzen von Leerstellen nach rechts zu verschieben. Ist dies trotzdem erwünscht müssen die Leerstellen am Anfang der Zeile durch den ASCII-Wert 255 ersetzt werden.
Dieses Zeichen steht auf der Tastatur leider nicht zur Verfügung. Glücklicherweise kann man es im Texteditor (oder auch in der DOS-Kommandozeile) durch Eingabe der ASCII-Codes realisieren.
Schalten sie NUMLOCK ein (Fn+N), der Cursor ist nun ein Unterstrich und die Tastatur gibt die rot bedruckten Tastencodes wieder. Halten sie Alt gedrückt wärend sie den dreistelligen ASCII-Wert eingeben, in diesem Fall 255 (ACHTUNG: die rot bedruckten Tasten verwenden, also K und I). Dies muß leider für jede einzelne Leerstelle wiederholt werden. Bei Bedarf kann man das Klemmbrett (kopieren/einfügen) zur Hilfe rufen.
Beispiel:
@echo off echo Diese Zeile beginnt ganz links echo diese 4 Spalten weiter rechts echo diese an Spalte 3
Beachten sie:
echo Fn+N AltKIIAltKIIAltKII diese 4 Spalten weiter rechtsFn+N
Somit ist es natürlich auch möglich „leere Zeilen“ auszugeben, bzw einen Zeilenvorschub durchzuführen. Man ECHOt einfach eine Leerstelle.
Euro-ähnliches Symbol für die Tabellenkalkulation
So vorausschauend die Entwickler des Portfolio auch waren, ein Eurosymbol ist in der ASCII-Tabelle nicht zu finden. Für meine Zwecke reicht das Symbol „Element von“, ASCII-Zeichen 238, also „Є“. Aber wie bekomme ich es in die Tabellenkalkulation (bzw. die PERMDATA.DAT), auf der Tastatur ist auch dieses Symbol nicht zu finden. Ganz einfach, indem man den ASCII-Wert mit Hilfe der numerischen Tastatur eingibt:
Wie gewohnt wählt man im Hauptmenü (Fn_1) „Formate…“ aus und im Untermenü „Formate“ dann „Währung“. Erst löscht man das evtl. bereits definierte Währungs-Symbol mit der Löschtaste. Nun schaltet man die Tastatur auf numerisch (Fn_N) und gibt den ASCII-Wert ein indem man die Alt-Taste gedrückt hält währened man den Wert mit den rot bedruckten Tasten eingibt.
Fn_N, Alt_KL8, Fn_N, Enter und fertig.
Damit es etwas übersichtlicher ist sollte man dem Symbol noch ein Leerzeichen anhängen.
Dieser Eintrag wird in die PERMDATA.DAT auf Laufwerk C: übertragen und bleibt solange erhalten bis man ihn wieder verändert oder die PERMDATA.DAT gelöscht wird (z.B.: bei einem Kaltstart).
DIP-DOS oder MS/PC-DOS
Batch-Dateien die für den Portfolio geschrieben wurden auf dem PC zu starten macht wenig Sinn, vor allem dann wenn diese Programme aufrufen die nur auf dem Portfolio laufen. Ich habe meine Portfoliosachen alle auf dem PC gesichert, wenn ich mal etwas per eMail verschicken will kann ich das direkt tun. Die Gefahr eine Pofo Batch-Datei auf dem PC per Doppelklick zu starten ist groß. Man kann aber eine kleine Routine in die Dateien einbauen die vorher prüft auf welchem Betriebstystem die Datei gestartet wurde. Diese Routine bedient sich eines Unterschiedes in der Handhabung von Kommandozeilen-Parametern zwischen dem DIP-DOS und dem MS-DOS oder PC-DOS.
Zum Beispiel die Zeile
echo %0 %1 %2
gibt den Namen der aufgerufenen Datei (%0) und die übergebenen Parameter %1 und %2 am Bildschirm aus. Wird diese Datei (nennen wir sie ZEIG.BAT) folgendermaßen aufgerufen:
ZEIG EINS ZWEI
wird sowohl auf dem PC wie auch auf dem Portfolio folgendes ausgegeben:
ZEIG EINS ZWEI
Wird die Datei aber mit der Erweiterung „.BAT“ aufgerufen
ZEIG.BAT EINS ZWEI
So wird der PC
ZEIG.BAT EINS ZWEI
der Portfolio aber
ZEIG .BAT EINS
anzeigen.
Während der PC den Dateinamen mit Erweiterung als Ganzes interpretiert trennt der Portfolio zwischen Datei und Erweiterung. Somit ist die Erweiterung zum Parameter %1=„.BAT“ geworden. „EINS“ ist nun Parameter %2 und „ZWEI“ Parameter %3, der in der Batch-Datei ZEIG.BAT nicht abgefragt wird und somit auch nicht mehr auf dem Bildschirm erscheint. Machen wir uns diesen Unterschied zu nutze um festzustellen auf welchem DOS die Batch-Datei gestartet wurde.
@echo off if not %1==.bat goto ende rem hier den Rest der Batch-Datei einfügen :ende
Ist der Parameter %1 nicht die Erweiterung so wird die Standard-Routine übersprungen und zur Sprungmarke ENDE verzweigt. Damit dies funktioniert ist es unbedingt erforderlich, dass die Batch-Datei mit der Erweiterung aufgerufen wird. Dies ist bei einem Doppelklick auf dem PC aber leider nicht der Fall.
Um sicher zu stellen, dass die Datei (nennen wir sie GETOS.BAT) auch mit samt Erweiterung aufgerufen wird zwingen wir sie sich selbst aufzurufen:
@echo off getos.bat if not %1==.bat goto ende rem hier den Rest der Batch-Datei einfügen :ende
Dies würde uns in einer endlosen Schleife gefangen halten die immer wieder die Batch-Datei aufruft. Wir verwenden eine Umgebungsvariable um festzustellen ob die Datei schon mal aufgerufen wurde.
@echo off if %gotos%=ja goto weiter set gotos=ja getos.bat :weiter set gotos= if not %1==.bat goto ende rem hier den Rest der Batch-Datei einfügen :ende
Fügen wir also die fünf Zeilen und die Sprungmarke WEITER
in jede Pofo Batch-Datei ein, können wir die Ausführung auf dem PC verhindern. Am besten wir sorgen auch noch für Klartext und verwenden nicht die normale letzte Sprungmarke ENDE
, sondern eine die uns auf dem PC sagt was los ist.
@echo off if %gotos%=ja goto weiter set gotos=ja getos.bat :weiter set gotos= if %1==.bat goto pofo echo Diese Batch-Datei wird nur auf dem Portfolio vollständig ausgeführt. pause >nul goto ende :pofo rem hier den Rest der Batch-Datei einfügen :ende
Diese Art der Überprüfung sollte sicher genug sein. Ob man diese Prüfroutine wirklich in jede Batch-Datei einfügt bleibt jedem selbst überlassen, schließlich sind das bei mehreren Dateien doch eine ganze Menge Bytes die man auf dem Pofo ja nicht braucht. Ich glaube spätestens nachdem man sich seinen PC zum ersten mal zerschossen hat, wird man darüber nicht mehr nachdenken.
PostScript am Pofo?
Es ist sicherlich sehr schwer sich die Vorschau eines PostScript® Ausdruckes am Pofo anzusehen. Das heißt aber nicht, das der Portfolio einen PostScript Drucker nicht ansteuern kann. Mit ein paar Tricks kann man den Pofo dazu bringen qualitativ hochwertige Ausdrucke, Business-Grafiken und sogar Filofax-Ausdrucke der Adressverwaltung auszugeben.
Portfolio´s interne Anwendungen sind von sich aus nicht darauf eingestellt PostScript-Drucker anzusteuern, versucht man es trotzdem würde der PostScript-Drucker eine schnöde Fehlermeldung ausgeben und den Portfolio einfach ignorieren. Da ist der Portfolio toleranter. Um dies zu realisieren schreibt man sich einfach einen Header, einen Footer und eine Batchdatei namens POST.BAT um die Datei dann von der DOS-Befehlszeile aus ,durch tippen von POST <Dateiname> zu drucken.
Stellen sie im Text-Editor den rechten Rand auf 85 und schalten sie den Wortumbruch ein. Vergessen sie nicht die Return-Taste am Ende jeder Zeile zu drücken.
Die HEADER.PS
%!PS-Adobe-1.0 %%Title: PostScript Pseudo-Treiber Teil 1 %%Creator: Barry Thomas %%Pages: (atend) %%BoundingBox: 0 0 595 841 %%EndComments % LEFT ALIGNED TEXT % (c) Copyright Barry Thomas 1988, 1989 (
Es ist wichtig, dass am Ende der letzten Zeile nach „Klammer auf“ die Returntaste NICHT gedrückt wird!
Die FOOTER.PS
) 760 % position of start of text % 841is the top of the page, % and at 72 points per inch, 760 % is a little over an inch down. 50 % left margin (pts) 12 % font size (pts) /leftalign { /points exch def % get point size /margin exch def % get left margin /yposexch def % get initial ypos /ycur ypos def % current ypos /leading % set leading 15% points 1.15 mul % > point size def /lf 1 string def % declare cr string lf 0 10 put % set crlf string /Times-Roman findfont % any font points scalefont setfont %set pt size /newline % line break proc { % proc start /ycur % drop y pos ycur leading sub def margin ycur % do a cr moveto ycur 50 lt % ypos <50 pts of % page end? For a % larger bot. margin % use bigger number { /ycur ypos def % if so reset curr % position showpage % print current pg, margin ycur moveto % move to page head } if } def % end of proc margin ypos moveto % move to start pt { % for all text lf search % search for a lf { % if found... show newline pop } {exit} ifelse % no lf found } loop show % show end of text } def leftalign showpage %%Trailer %%Pages: 1 %%EOF ^D
Das Zeichen ^D am Ende der Datei setzt PostScript nach Druckende in den ursprünglichen Zustand zurück, geben sie keine weiteren Zeichen am Ende der Datei ein.
Die POST.BAT
-Für die serielle Schnittstelle:
copy header.ps com1: copy %1 com1: copy footer.ps com1:
-Für die parallele Schnittstelle:
copy header.ps lpt1: copy %1 lpt1: copy foter.ps lpt1:
Um zum Beispiel ihre PRIVAT.ADR zu drucken geben sie in der DOS Befehlszeile ein:
POST PRIVAT.ADR <enter>
Weitere PostScript-Dateien sind im Downloadbereich erhältlich.
Software Diebstahl
Wer gerne mal ein eigenes Programm schreiben möchte, aber keine entsprechende Programmiersprache beherrscht, kann sich zumindest eine persönliche Version anderer Software zusammenstellen. Mit ein paar Programmen:
CAN.COM „Büchst“ Parameter ein.
PACO.COM Packt *.COM-Dateien zu Bibliotheken zusammen.
CAN.COM
Ein Programm das fragt ob man sich sicher ist, kann mit ASK.COM
bewerkstelligt werden. Unser Programm soll aber immer das selbe fragen und uns die Eingabe der Parameter ersparen:
ASK Sind sie sicher? (j/n),nj
Mit Hilfe von CAN.COM
kann das Programm ASK.COM
zusammen mit den angegebenen Parametern als neue *.COM Datei gespeichert werden:
CAN ASK.COM SICHER.COM Sind sie sicher? (j/n),nj
Das neue Programm SICHER.COM
tut ohne Angabe von Parametern genau das, was ASK.COM
täte wenn es „Sind sie sicher? (j/n),jn“ als Parameter bekommen hätte.
Wenn sie also dann SICHER in einer Batch-Datei aufrufen, werden sie gefragt ob sie sicher sind. Zum Beispiel in einer Batch-Datei die alle *.DAT-Dateien löscht:
@echo off echo lösche alle *.DATs SICHER if errorlevel 2 goto TU_ES echo na gut, dann nicht. goto FERTIG :TU_ES del *.dat >nul echo alle *.DATs futsch! :FERTIG
Ein Programm das einen Piepton ausgibt, normalerweise mit BEEP 7 20
:
CAN BEEP.COM PIEP.COM 7 20
Eine Abschiedsmeldung
CAN MSG.COM TSCHUESS.COM und tschüss!
Wer wirklich kriminelle Energie in sich trägt, wird mit Hilfe von z.B. DEBUG.COM Copyright-texte aus dem Programm-Code entfernen oder durch eigene ersetzen.
PACO.COM
Diverse *.COM Programme lassen sich zu einer Datei zusammenfassen. Wenn wir die einzubindenden Programme entsprechend umbenennen, sieht es so aus, als wären es Parameter:
REN SICHER.COM -S.COM REN PIEP.COM -P.COM REN TSCHUESS.COM -T.COM
(eigentlich darf das Minus nicht in Dateinamen benutzt werden, es widerspricht den DOS-Richtlinien und kann unter gewissen Umständen zu Problemen führen. Da sie aber später in dem „Paket“ liegen passiert nichts, und Portfolios REN schluckt die Syntax ohne zu meckern.)
Nun packen wir sie zusammen:
PACO A PGM.COM -S.COM PACO A PGM.COM -P.COM PACO A PGM.COM -T.COM
Das neue Programm könnte in einer Batch-Datei folgendermaßen eingesetzt werden:
@echo off echo lösche alle *.DATs PGM -S if errorlevel 2 goto TU_ES echo na gut, dann nicht. goto FERTIG :TU_ES del *.dat >nul PGM -P echo alle *.DATs futsch! :FERTIG PGM -T
Zusammenfassung
Ohne auch nur den blassesten Schimmer von Programmiersprachen zu haben, haben wir ein Programm geschaffen, das Benutzereingaben abfragt und Ton-Signale und Meldungen ausgibt. Wenn das nichts ist…
COMMAND.COM auf dem Portfolio
In einer früheren Ausgabe von P&P war einmal vermutet worden, dass es nicht möglich sei, dem Portfolio ein neues COMMAND.COM zu verpassen.
Ich hatte aber keine Probleme, das COMMAND.COM von MS-DOS 2.11 auf dem PF zu starten (der Pfad, in dem COMMAND.COM steht, muß als Parameter übergeben werden). Einzelne Befehle wie DIR oder TYPE waren sogar deutlich schneller (ca. 35 %) als sonst. Ansonsten ist der Nutzen aber wohl eher akademischer Natur. Höchstens der CTTY-Befehl könnte für Besitzer der seriellen Schnittstelle vielleicht interessant sein (falls es keine Kompatibilitätsprobleme gibt).
Klaus Peichl
kleines Geheimnis
Es gibt ein Detail, das in keiner offiziellen Dokumentation beschrieben wird. Die Entwickler des Portfolios haben sich im ROM verewigt. Wenn Sie wissen wollen wer im Einzelnen dahinter steckt, dann stellen Sie Ihre Tastatur auf die englische Belegung (im System-Menü unter Anwendungen/Sprache/Tastatur/English) und rufen im Text-Editor das Hilfemenü auf (F2). Wählen Sie irgend einen Menüpunkt aus (z.B.: Tastatur). Nun drücken Sie Alt+ü, und fertig. Mit Esc kehren Sie zurück. Vergessen Sie nicht die Tastaturbelegung zurückzustellen. Tun Sie das Selbe während die Systemsprache auf französisch gestellt ist, so sehen Sie die damalige Adresse von DIP.