Hallo alle,
nachdem ich schon im COBOL-Forum gefragt hatte und dort leider keine Antwort kam, da das Forum wohl kaum besucht wird, versuche ich hier nochmal mein Gück:
ich bin seit heute dabei mich in Cobol einzuarbeiten.
Ich habe schon ein paar einfache Bespiele (Hello-World usw.) nachvollzogen.
Nun sitze ich an einem Programm, das den Namen des Nutzers per Eingabeaufforderung einliest und ihm dann einen Begrüßungssatz auf dem Bildschirm ausgibt.
Das Problem ist jedoch, dass der eingegeben String (wenn man es bei Cobol so nennen kann) immer eine feste Länge haben muss. Genauer gesagt: wenn ich bei der Deklaration der Variablen eine Länge von z.B. 10 Zeichen angebe, muss ich in der Eingabeaufforderung auch genau 10 Zeichen eingeben, damit sie beendet wird und der Satz mit der Begrüßung erscheint.
Gebe ich weniger Zeichen ein, wechselt ein Enter nur in eine neue Zeile und die Eingabeaufforderung wartet weiter auf meine Eingaben, bis ich 10 Zeichen eingegeben habe.
Ich kann aber manuell mit Strg+Z ein Zeilenende-Zeichen machen und dann wird ACCEPT auch beendet.
In den Beispielen die ich gefunden habe, wurde es mit der ACCEPT-Anweisung aber genauso gemacht.
Ich arbeite mit NetCOBOL for .NET 3.1 und dem Microsoft Visual Studio 2005 unter Windows XP.
Weiß hier jemand, woran es liegen könnte?
Hier mein Sourcecode:
000001 IDENTIFICATION DIVISION.
000003 PROGRAM-ID. MAIN AS "salutationname.Main".
000004
000005 ENVIRONMENT DIVISION.
000006
000007 CONFIGURATION SECTION.
000008 SPECIAL-NAMES.
000009 REPOSITORY.
000010
000011 DATA DIVISION.
000012 WORKING-STORAGE SECTION.
000013* Variables000020 01 WAITER PICTURE IS X.
000021 01 THE-NAME PIC X(10).
000022
000023 PROCEDURE DIVISION.
000024 PROGRAMM-BEGIN.
000026 DISPLAY "Enter your name:".
000027 ACCEPT THE-NAME.000028
000029 DISPLAY "Hallo " THE-NAME.
000030 000031 ACCEPT WAITER.
000032 PROGRAM-END.
000033
000034 END PROGRAM MAIN.
Sicherlich fällt bei dem Programm sofort die unterschiedliche Deklaration der Variablen auf:
"PICTURE IS X" scheint die alte Form zu sein.
in neueren Beispielen habe ich PIC X(x) gesehen.
Vielen Dank im voraus
Christian