home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1991 / 04 / cobol / nonummer.cob < prev    next >
Encoding:
Text File  |  1991-01-29  |  9.6 KB  |  240 lines

  1.  
  2.  
  3. 000010 IDENTIFICATION DIVISION .                                        TOOLBOX
  4.  
  5. 000020 PROGRAM-ID . NONUMMER .                                          TOOLBOX
  6.  
  7. 000030*AUTHOR . H.-G. Schima                                            TOOLBOX
  8.  
  9. 000040*         Beunestr. 12                                            TOOLBOX
  10.  
  11. 000050*         8755 Alzenau i. Ufr.                                    TOOLBOX
  12.  
  13. 000060*                                                                 TOOLBOX
  14.  
  15. 000070* Dieses Programm verkuerzt Programme, die auf einer VAX in       TOOLBOX
  16.  
  17. 000080* Cobol geschrieben  wurden und mit dem VMS-Utility REFORMAT      TOOLBOX
  18.  
  19. 000090* auf ANSI-Standard umgesetzt wurden, um die Informationen        TOOLBOX
  20.  
  21. 000100* nach der 72. Spalte und die Zeilennummern auf den               TOOLBOX
  22.  
  23. 000110* Spalten 1  - 6. Bei der Uebertragung von der VAX auf den PC     TOOLBOX
  24.  
  25. 000120* werden die Informationen <CR><LF>  vom PC zu 'woertlich' ge-    TOOLBOX
  26.  
  27. 000130* nommen, und das uebertragene Listing erscheint mit  Leer-       TOOLBOX
  28.  
  29. 000140* zeilen, die eigentlich nur das <LF> darstellen. Erstellt        TOOLBOX
  30.  
  31. 000150* wurde dieses Programm mit  Microsoft COBOL Version 3.0 .        TOOLBOX
  32.  
  33. 000160* Uebrigens  dauerte die Entwicklung ca. 2 Stunden.               TOOLBOX
  34.  
  35. 000170*                                                                 TOOLBOX
  36.  
  37. 000180 ENVIRONMENT DIVISION .                                           TOOLBOX
  38.  
  39. 000190 SPECIAL-NAMES .                                                  TOOLBOX
  40.  
  41. 000200     CONSOLE IS CRT .                                             TOOLBOX
  42.  
  43. 000210 INPUT-OUTPUT SECTION .                                           TOOLBOX
  44.  
  45. 000220 FILE-CONTROL .                                                   TOOLBOX
  46.  
  47. 000230     SELECT EINGABE ASSIGN TO EXTERNAL EINGABE                    TOOLBOX
  48.  
  49. 000240                    ORGANIZATION IS LINE SEQUENTIAL .             TOOLBOX
  50.  
  51. 000250     SELECT AUSGABE ASSIGN TO EXTERNAL AUSGABE                    TOOLBOX
  52.  
  53. 000260                    ORGANIZATION IS LINE SEQUENTIAL .             TOOLBOX
  54.  
  55. 000270 DATA DIVISION .                                                  TOOLBOX
  56.  
  57. 000280 FILE SECTION .                                                   TOOLBOX
  58.  
  59. 000290 FD EINGABE .                                                     TOOLBOX
  60.  
  61. 000300 01 EINGABE-RC .                                                  TOOLBOX
  62.  
  63. 000310     05 NUMMER-EIN PIC X(6) .                                     TOOLBOX
  64.  
  65. 000320     05 REST-EIN PIC X(80) .                                      TOOLBOX
  66.  
  67. 000330 FD AUSGABE .                                                     TOOLBOX
  68.  
  69. 000340 01 AUSGABE-RC .                                                  TOOLBOX
  70.  
  71. 000350     05 FILLER1-AUS PIC X(6) .                                    TOOLBOX
  72.  
  73. 000360     05 REST-AUS PIC X(66) .                                      TOOLBOX
  74.  
  75. 000370 WORKING-STORAGE SECTION .                                        TOOLBOX
  76.  
  77. 000380 01  DATEIENDE PIC 9 VALUE 0 .                                    TOOLBOX
  78.  
  79. 000390 01  JA PIC 9 VALUE 1 .                                           TOOLBOX
  80.  
  81. 000400 01  NEIN PIC 9 VALUE 0 .                                         TOOLBOX
  82.  
  83. 000410 01  ABBRUCH PIC 9 .                                              TOOLBOX
  84.  
  85. 000420 01  BILDSCHIRM .                                                 TOOLBOX
  86.  
  87. 000430     05 ZEILE OCCURS 24 TIMES .                                   TOOLBOX
  88.  
  89. 000440        10 SPALTE OCCURS 80 TIMES .                               TOOLBOX
  90.  
  91. 000450           15 FELD-ELEM  PIC X .                                  TOOLBOX
  92.  
  93. 000460 SCREEN SECTION .                                                 TOOLBOX
  94.  
  95. 000470 01  SCHIRM-1 .                                                   TOOLBOX
  96.  
  97. 000480     05 HIGHLIGHT                                                 TOOLBOX
  98.  
  99. 000490        FOREGROUND-COLOUR 0                                       TOOLBOX
  100.  
  101. 000500        BACKGROUND-COLOUR 7                                       TOOLBOX
  102.  
  103. 000510        LINE 1                                                    TOOLBOX
  104.  
  105. 000520        COLUMN 1                                                  TOOLBOX
  106.  
  107. 000530        SIZE IS 2400                                              TOOLBOX
  108.  
  109. 000540        PIC IS X(2400)                                            TOOLBOX
  110.  
  111. 000550        FROM BILDSCHIRM .                                         TOOLBOX
  112.  
  113. 000560 PROCEDURE DIVISION .                                             TOOLBOX
  114.  
  115. 000570 ACTION-HAUPT SECTION .                                           TOOLBOX
  116.  
  117. 000580 HAUPT .                                                          TOOLBOX
  118.  
  119. 000590*Initialisieren des Ausgabebereichs damit alle Felder auf " "     TOOLBOX
  120.  
  121. 000600*stehen                                                           TOOLBOX
  122.  
  123. 000610     INITIALIZE BILDSCHIRM .                                      TOOLBOX
  124.  
  125. 000620*Fuellen der Zeile 1 mit 80 "-"                                   TOOLBOX
  126.  
  127. 000630     MOVE ALL "-" TO ZEILE (1) .                                  TOOLBOX
  128.  
  129. 000640*Eintragen einer Zeichenkette Linksbuendig                        TOOLBOX
  130.  
  131. 000650     MOVE "NONUMMER (C) 1990 H.-G. SCHIMA" TO ZEILE (2) .         TOOLBOX
  132.  
  133. 000660     MOVE ALL "-" TO ZEILE (3) .                                  TOOLBOX
  134.  
  135. 000670*Der Vorteil ist jetzt auch mit Quick C, Version 2.0, zu errei-   TOOLBOX
  136.  
  137. 000680*chen - naemlich die Nutzung von logischen Namen fuer Dateien.    TOOLBOX
  138.  
  139. 000690*Daher der Hinweis.                                               TOOLBOX
  140.  
  141. 000700     MOVE "Zwei logische Namen muessen gesetzt sein!"             TOOLBOX
  142.  
  143. 000710         TO ZEILE (8) .                                           TOOLBOX
  144.  
  145. 000720     MOVE "SET EINGABE='Pfad\Dateiname' fuer die Eingabedatei!"   TOOLBOX
  146.  
  147. 000730         TO ZEILE (9) .                                           TOOLBOX
  148.  
  149. 000740     MOVE "SET AUSGABE='Pfad\Dateiname' fuer die Ausgabedatei!"   TOOLBOX
  150.  
  151. 000750         TO ZEILE (10) .                                          TOOLBOX
  152.  
  153. 000760*Es  wird immer der gesamte Schirm gefuellt. Da dieses Programm   TOOLBOX
  154.  
  155. 000770*im  Textmodus laeuft, sollte es eigentlich auf jeder Hardware    TOOLBOX
  156.  
  157. 000780*laufen                                                           TOOLBOX
  158.  
  159. 000790     DISPLAY Schirm-1 .                                           TOOLBOX
  160.  
  161. 000800*Oeffnen der Eingabedatei lesend                                  TOOLBOX
  162.  
  163. 000810     OPEN INPUT EINGABE .                                         TOOLBOX
  164.  
  165. 000820*Oeffnen der Ausgabedatei schreibend. Sollte die Datei vor-       TOOLBOX
  166.  
  167. 000830*handen sein, wird sie ueberschrieben                             TOOLBOX
  168.  
  169. 000840     OPEN OUTPUT AUSGABE .                                        TOOLBOX
  170.  
  171. 000850*Ausfuehren  der Umsetzroutine, bis kein einzulesender Satz mehr  TOOLBOX
  172.  
  173. 000860*vorhanden ist.                                                   TOOLBOX
  174.  
  175. 000870     PERFORM UEBERTRAGEN UNTIL DATEIENDE = JA .                   TOOLBOX
  176.  
  177. 000880*Schliessen  der beiden Dateien                                   TOOLBOX
  178.  
  179. 000890     CLOSE EINGABE, AUSGABE                                       TOOLBOX
  180.  
  181. 000900*Programmende                                                     TOOLBOX
  182.  
  183. 000910     STOP RUN .                                                   TOOLBOX
  184.  
  185. 000920 UEBERTRAGEN .                                                    TOOLBOX
  186.  
  187. 000930*Beim Lesen  in einer Datei wird vom Environment immer dann EOF   TOOLBOX
  188.  
  189. 000940*gesetzt, wenn die Datei zu Ende ist. Nur gibt es in COBOL inner- TOOLBOX
  190.  
  191. 000950*halb des Lesebefehls READ die direkte Abfrage auf EOF.           TOOLBOX
  192.  
  193. 000960     READ EINGABE                                                 TOOLBOX
  194.  
  195. 000970        AT END                                                    TOOLBOX
  196.  
  197. 000980           DISPLAY "Datei ist zu Ende!"                           TOOLBOX
  198.  
  199. 000990           MOVE JA TO DATEIENDE                                   TOOLBOX
  200.  
  201. 001000     END-READ .                                                   TOOLBOX
  202.  
  203. 001010     IF DATEIENDE = NEIN                                          TOOLBOX
  204.  
  205. 001020*Das Uebertragen der Informationen findet nur durch  den          TOOLBOX
  206.  
  207. 001030*MOVE-Befehl statt.  Bei diesem Befehl wird bei Strings           TOOLBOX
  208.  
  209. 001040*linksbuendig aufgesetzt und bei numerischen Werten rechts-       TOOLBOX
  210.  
  211. 001050*buendig.                                                         TOOLBOX
  212.  
  213. 001060        MOVE EINGABE-RC TO AUSGABE-RC                             TOOLBOX
  214.  
  215. 001070        MOVE SPACE TO FILLER1-AUS                                 TOOLBOX
  216.  
  217. 001080*Der eingelesene Satz und der Satz,  der geschrieben wird,        TOOLBOX
  218.  
  219. 001090*werden in den Bildschirmpuffer geschoben und anschliessend       TOOLBOX
  220.  
  221. 001100*angezeigt.                                                       TOOLBOX
  222.  
  223. 001110        MOVE eingabe-rc TO ZEILE (5)                              TOOLBOX
  224.  
  225. 001120        MOVE ausgabe-rc TO ZEILE (6)                              TOOLBOX
  226.  
  227. 001130        DISPLAY schirm-1 UPON CRT                                 TOOLBOX
  228.  
  229. 001140*Sollte der  zu schreibende Datensatz ab der 7. Spalte nur        TOOLBOX
  230.  
  231. 001150*Leerzeichen enthalten, wird  der Schreibvorgang unterlassen.     TOOLBOX
  232.  
  233. 001160        IF AUSGABE-RC (7:) not = space                            TOOLBOX
  234.  
  235. 001170           WRITE AUSGABE-RC .                                     TOOLBOX
  236.  
  237. 001180                                                                  TOOLBOX
  238.  
  239. 5$
  240.