PofoWiki

Die ultimative Informationsquelle zum ATARI Portfolio

Benutzer-Werkzeuge

Webseiten-Werkzeuge


hilfe:tipps:sonstiges:sammel

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!
Vorsicht: Solche Dinge sind nur für den privaten Gebrauch zulässig. Eine Veräußerung oder Weitergabe solcher Programme stellt eine Verletzung der Urheberrechte dar und wird Strafrechtlich verfolgt!!!

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.

hilfe/tipps/sonstiges/sammel.txt · Zuletzt geändert: 20/01/2008 00:01 (Externe Bearbeitung)