PofoWiki

Die ultimative Informationsquelle zum ATARI Portfolio

Benutzer-Werkzeuge

Webseiten-Werkzeuge


hilfe:tipps:sonstiges:sammel

Dies ist eine alte Version des Dokuments!


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.

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ärend 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 Diebstal

Wer gerne mal ein eigenes Programm schreiben möchte, aber keine entsprechende Programmiersprache beherrscht, kann sich zu mindest 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.

Ein Programm das fragt ob man sicher ist:
ASK.COM tut genau das. 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 nich.
goto FERTIG
:TU_ES
del *.dat >nul
echo alle *.DATs futsch!
:FERTIG

Ein Programm das einen Piepton ausgibt: 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ässing. Eine Veräusserung oder Weitergabe socher Programme bringt eine Verletzung der Urheberrechte mit sich 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.

Diverse *.COM Programme lassen sich zu einem 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

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 nich.
goto FERTIG
:TU_ES
del *.dat >nul
PGM -P
echo alle *.DATs futsch!
:FERTIG
PGM -T

Ohne auch nur den blassensten Schimmer von Programmiersprachen zu haben, haben wir ein Programm geschaffen das Benutzereingaben abfragt und Ton-Signale und Meldungen ausgibt. Wenn das nichts ist…

kleines Geheimnis

Es gibt ein Detail, daß in keiner ofiziellen 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/Sparache/Tastatur/English) und rufen im Text-Editor das Hilfemenü aus (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ärend die Systemsprache auf französisch gestellt ist so sehen sie die damalige Adresse von DIP.

Systemfehler - Verzeihung

╔════════════════════════╗
║ SYSTEMFEHLER - Verzeihung ! ║
╚════════════════════════╝

… bittet meist die Textverarbeitung, wenn sie einen Text nicht mehr laden kann. Dies liegt meistens an einer Leerzeichen/Return-Kombination, die am Ende des zuletzt gespeicherten Textes zu finden ist. Sie zwingt damit zunächst den PoFo zu einem Neustart, setzt aber auch auf Dauer die Textverarbeitung schachmatt. Leider wird ja immer der letzte Text automatisch geladen, der in diesem Fall fehlerhaft ist und somit eine Kettenreaktion auslöst.

Erfahrene und langjährge User benutzen deshalb das Programm PORTDIV.COM, welches diesen Systemfehler verhindert. Aber was tun wenn man dieses Programm nicht hat ?

Damit man die Textverarbeitung überhaupt wieder nutzen kann, kann man die Datei PERMDATA.DAT im Verzeichnis C:\SYSTEM löschen. Mit „DEL C:\SYSTEM\PERMDATA.DAT“ wird das erledigt. Weil damit der Text nach wievor nicht repariert wird, ist die folgende Lösung besser und erfolgreicher:
Gebt einfach am Prompt den Befehl

 ECHO M>>BEISPIEL.TXT

ein !

Damit wird der Text, hier BEISPIEL.TXT, um den Buchstaben M verlängert und überlistet somit die Textverarbeitung. Problemlos kann man nun den Text wieder editieren und korrigieren !

Als ich diese Lösung dem Jens Sewitz vom Atari Computer Team e.V. Bremen mitteilte, wir lernten uns auf der 10. Bremer Computer- & Videobörse kennen, brachte er mich auf die Idee, diese Lösung in eine Batchdatei zu packen.

Und hier ist also die NOERROR.BAT:

@echo off
if %1.==. goto err
echo m>>%1.txt
app/e
goto off
:err
echo Textdatei ohne .TXT angeben !
:off

Wenn ich also unseren Text BEISPIEL.TXT korrigieren muß, lautet die Eingabe:

 NOERROR BEISPIEL

NOERROR hängt dann automatisch ein kleines „m“ an BEISPIEL.TXT an und ruft anschließend die Textverarbeitung auf. In dieser sind nun die letzten drei Zeichen zu löschen, bevor man den Text neu abspeichert.

Theoretisch kann man dieses Löschen auch mit FAKE.COM automatisieren, aber ich muß ja nicht alle Lösungen präsentieren. Schließlich sollt Ihr ja auch nachdenken und Erfolgserlebnisse haben !!!

Lars Aschenbach

Kurzfristige Pfadänderung

Die mit PATH gesetzte Pfadangabe ist der Wegweiser für den Computer, damit er die gewünschten Programme findet und startet. Sobald ein neues Programm installiert werden soll, kann es notwendig sein, die Pfadangabe kurzfristig zu verlängern. Die folgende Batchdatei soll uns dabei behilflich sein:

@echo off
path
set opath=%path%
set path=%path%;C:\NEU
rem Hier fügen Sie Ihre Routinen
rem ein!
path
set path=%opath%
set opath=
path

© Lars Aschenbach - Batchprogrammierung - 06-03-04

Die drei path-Zeilen dienen uns dabei nur als Kontrolle und sollten später gelöscht werden. Schauen wir uns aber die anderen Zeilen an, die das ganze Geheimnis bargen:
Weil die Pfadangabe später wieder in den Ursprungszustand zurückversetzt werden soll, muß sie mit

SET OPATH=%PATH%

in die Variable OPATH gerettet werden. Nun wird die Pfadangabe mit SET PATH=%path%;C:\NEU um das Verzeichnis C:\NEU verlängert. Anstelle der REM-Zeilen fügen Sie also Ihre gewünschten Routinen ein. Sind diese abgearbeitet, wird die alte Pfadangabe durch SET PATH=%OPATH% wiederhergestellt. Ist auch dies erledigt, so kann die Variable OPATH gelöscht werden, was durch SET OPATH= geschieht.
Soll die Pfadangabe dauerhaft verlängert werden, so muß die Zeile SET PATH=%PATH%;C:\ durch die folgende Batchdatei an die AUTOEXEC.BAT gehängt werden:

@echo off
echo set path=%path%;c:\neu >> autoexec.bat

Damit hätten wir also auch wieder ein Problem weniger, obwohl dieses noch von sehr leichter Natur war - zumindest für mich.

Lars Aschenbach

hilfe/tipps/sonstiges/sammel.1157575032.txt.gz · Zuletzt geändert: 16/02/2024 17:02 (Externe Bearbeitung)