home *** CD-ROM | disk | FTP | other *** search
- IDENTIFICATION DIVISION .
- PROGRAM-ID . NONUMMER .
- AUTHOR . (c) 1991 H.-G. Schima & TOOLBOX
- *Compiler: Microsoft COBOL
- *Zu beachten ist, daß die führenden 6 Leerzeichen
- *in jeder Zeile beim Abdruck weggelassen wurden!
- *Kommentare beginnen somit in der 7. Spalte!
- *
- ENVIRONMENT DIVISION .
- SPECIAL-NAMES .
- CONSOLE IS CRT .
- INPUT-OUTPUT SECTION .
- FILE-CONTROL .
- SELECT EINGABE ASSIGN TO EXTERNAL EINGABE
- ORGANIZATION IS LINE SEQUENTIAL .
- SELECT AUSGABE ASSIGN TO EXTERNAL AUSGABE
- ORGANIZATION IS LINE SEQUENTIAL .
- DATA DIVISION .
- FILE SECTION .
- FD EINGABE .
- 01 EINGABE-RC .
- 05 NUMMER-EIN PIC X(6) .
- 05 REST-EIN PIC X(80) .
- FD AUSGABE .
- 01 AUSGABE-RC .
- 05 FILLER1-AUS PIC X(6) .
- 05 REST-AUS PIC X(66) .
- WORKING-STORAGE SECTION .
- 01 DATEIENDE PIC 9 VALUE 0 .
- 01 JA PIC 9 VALUE 1 .
- 01 NEIN PIC 9 VALUE 0 .
- 01 ABBRUCH PIC 9 .
- 01 BILDSCHIRM .
- 05 ZEILE OCCURS 24 TIMES .
- 10 SPALTE OCCURS 80 TIMES .
- 15 FELD-ELEM PIC X .
- SCREEN SECTION .
- 01 SCHIRM-1 .
- 05 HIGHLIGHT
- FOREGROUND-COLOUR 0
- BACKGROUND-COLOUR 7
- LINE 1
- COLUMN 1
- SIZE IS 2400
- PIC IS X(2400)
- FROM BILDSCHIRM .
- PROCEDURE DIVISION .
- ACTION-HAUPT SECTION .
- HAUPT .
- *Initialisieren des Ausgabebereichs, damit alle Felder
- *auf " " stehen
- INITIALIZE BILDSCHIRM .
- *Füllen der Zeile 1 mit 80 "-"
- MOVE ALL "-" TO ZEILE (1) .
- *Eintragen einer Zeichenkette linksbündig
- MOVE "NONUMMER (C) 1991 H.-G. Schima & toolbox"
- TO ZEILE (2) .
- MOVE ALL "-" TO ZEILE (3) .
- *Der Vorteil ist jetzt auch mit Quick C, Version 2.0, zu
- *erreichen - nämlich die Nutzung von logischen Namen für
- *Dateien. Daher der Hinweis.
- MOVE "Zwei logische Namen müssen gesetzt sein!"
- TO ZEILE (8) .
- MOVE "SET EINGABE='Pfad\Dateiname' für Eingabedatei,"
- TO ZEILE (9) .
- MOVE "SET AUSGABE='Pfad\Dateiname' für Ausgabedatei."
- TO ZEILE (10) .
- *Es wird immer der gesamte Schirm gefüllt. Da dieses
- *Programm im Textmodus arbeitet, sollte es eigentlich auf
- *jeder Hardware laufen.
- DISPLAY Schirm-1 .
- *Öffnen der Eingabedatei lesend
- OPEN INPUT EINGABE .
- *Öffnen der Ausgabedatei schreibend. Sollte die Datei
- *schon vorhanden sein, wird sie überschrieben.
- OPEN OUTPUT AUSGABE .
- *Ausführen der Umsetzroutine, bis kein einzulesender Satz
- *mehr vorhanden ist
- PERFORM UEBERTRAGEN UNTIL DATEIENDE = JA .
- *Schließen der beiden Dateien
- CLOSE EINGABE, AUSGABE .
- *Programmende
- STOP RUN .
- UEBERTRAGEN .
- *Beim Lesen in einer Datei wird vom Environment immer dann
- *EOF gesetzt, wenn die Datei zu Ende ist. Nur gibt es in
- *COBOL innerhalb des Lesebefehls READ die direkte Abfrage
- *auf EOF.
- READ EINGABE
- AT END
- MOVE "Datei ist zu Ende!" TO ZEILE(23)
- DISPLAY SCHIRM-1
- MOVE JA TO DATEIENDE
- END-READ .
- IF DATEIENDE = NEIN
- *Das Übertragen der Informationen findet nur durch den
- *MOVE-Befehl statt. Bei diesem Befehl wird bei Strings
- *linksbündig aufgesetzt und bei numerischen Werten rechts-
- *bündig.
- MOVE EINGABE-RC TO AUSGABE-RC
- MOVE SPACE TO FILLER1-AUS
- *Der eingelesene Satz und der Satz, der geschrieben wird,
- *werden in den Bildschirmpuffer geschoben und
- *anschließend angezeigt.
- MOVE eingabe-rc TO ZEILE (5)
- MOVE ausgabe-rc TO ZEILE (6)
- DISPLAY SCHIRM-1
- *Sollte der zu schreibende Datensatz ab der 7. Spalte nur
- *Leerzeichen enthalten, wird der Schreibvorgang
- *unterlassen.
- IF AUSGABE-RC (7:) not = space
- WRITE AUSGABE-RC .
- * ------------------------------------------------------ *
- * Ende von NONUMMER.CBL *