home *** CD-ROM | disk | FTP | other *** search
- *****************************************************************************
- ** Unterprogramm: SUCHSTR **
- ** Funktion: In einer Zeile wird ein String gesucht **
- ** **
- ** Zu uebergebende Parameter: **
- ** 1) Zeile, in der nach dem String gesucht werden soll **
- ** 2) Zu suchender String **
- ** 3) Laenge des Suchbegriffes **
- ** 4) Kz-Find ("J" oder "N", je nach Suchergebnis) **
- *****************************************************************************
- IDENTIFICATION DIVISION.
- PROGRAM-ID. SUCHSTR.
- AUTHOR. Staack.
- DATE-WRITTEN. 09/09/85.
- ENVIRONMENT DIVISION.
- CONFIGURATION SECTION.
- SOURCE-COMPUTER. IBM-PC.
- OBJECT-COMPUTER. IBM-PC.
- DATA DIVISION.
- WORKING-STORAGE SECTION.
- 77 I1 PIC S999 COMP-3.
- 77 I2 PIC S999 COMP-3.
- 77 I3 PIC S999 COMP-3.
- LINKAGE SECTION.
- 01 Zeile.
- 02 Ze-occ OCCURS 80 TIMES PIC x.
- 01 Such-String.
- 02 SS-occ OCCURS 80 TIMES PIC x.
- 77 Laenge PIC S999 COMP-3.
- 77 KZ-Find PIX x.
- PROCEDURE DIVISION USING Zeile, Such-String, Laenge, KZ-Find.
- MOVE "N" TO KZ-Find
- PERFORM Such-Zeile THRU Such-Zeile-End
- VARYING I1 FROM 1 BY 1 UNTIL I1 + Laenge > 80.
- Raus.
- EXIT PROGRAM.
- ******************** Suchen des Strings in der Zeile **********************
- Such-Zeile.
- IF Ze-occ (I1) = SS-occ (1)
- GO TO Suchz-01.
- Such-Zeile-End.
- EXIT.
- Suchz-01.
- MOVE 1 TO I2.
- MOVE I1 TO I3.
- Suchz-02.
- ADD 1 TO I2, I3
- IF I2 > Laenge
- GO TO Gefunden.
- IF Ze-occ (I3) = SS-occ (I2)
- GO TO Suchz-02.
- GO TO Such-Zeile-End.
- Gefunden.
- MOVE "J" TO KZ-Find
- GO TO Raus.