Schnelles Programm in COBOL mit Sub-Routine in C für die Generierung von HTML Code. Vorhanden ist die OpenVPN Liste eines Servers die auch tote Verbindungen enthält. Erstellt werden soll eine Liste, die nur aktive Verbindungen enthält. Die OpenVPN Verbindung soll über eine Website der Welt zur Verfügung stehen.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | IDENTIFICATION DIVISION. PROGRAM-ID. SLS. ENVIRONMENT DIVISION. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT CAMS ASSIGN TO 'online.txt' ORGANIZATION IS LINE SEQUENTIAL. DATA DIVISION. FILE SECTION. FD CAMS. 01 CAMS-FILE PIC X(118). 01 EOF PIC A(1). WORKING-STORAGE SECTION. 01 STR-LEN PIC 9(3). 01 SUB PIC 9(3). 01 WS-EOF PIC A(1). 01 WS-REC PIC X(118). 01 WERT1 PIC X(4). 01 WERT2 PIC X(20). 01 WERT3 PIC X(5). 01 WERT4 PIC X(20). 01 WERT5 PIC X(15). 01 WERT6 PIC X(1). 01 WERT7 PIC X(20). 01 WERT8 PIC X(20). 01 RET PIC 9(1). PROCEDURE DIVISION. OPEN INPUT CAMS. PERFORM UNTIL WS-EOF='Y' READ CAMS INTO CAMS-FILE AT END MOVE 'Y' TO WS-EOF NOT AT END UNSTRING CAMS-FILE DELIMITED BY ALL SPACES INTO WERT1 WERT2 WERT3 WERT4 WERT5 WERT6 WERT7 WERT8 END-UNSTRING MOVE LENGTH OF WERT5 TO STR-LEN PERFORM VARYING SUB FROM STR-LEN BY -1 UNTIL WERT5(SUB:1) NOT = SPACE END-PERFORM CALL "test" USING BY REFERENCE WERT5(1:SUB) RETURNING RET END-CALL IF RET = 1 THEN DISPLAY '<a href="https://Seite.COM/xxx/'WERT5(1:SUB) - '/" target="_blank" rel="noopener noreferrer">' - WERT8'</a><br>' END-IF END-READ END-PERFORM. CLOSE CAMS. STOP RUN. |
Die Sub-Routine „test“ ist ein C Programm (Link) das einen Ping durchführt und wahr/falsch zurück gibt. Zeilen 28-42 lies eine Zeile mit 8 Spalten und legt die Werte in den Variablen WERT1 bis WERT8 ab. 43-46 entfernt Leerzeichen durch simples abzählen der Stellen bis „Leerzeichen“. Danach erfolgt durch Aufruf der Ping Routine eine Prüfung der Erreichbarkeit. Wenn wahr, wird ein HTML Link generiert.
Du muss angemeldet sein, um einen Kommentar zu veröffentlichen.