Christian124
-
Gesamte Inhalte
2 -
Benutzer seit
-
Letzter Besuch
Inhaltstyp
Profile
Forum
Downloads
Kalender
Blogs
Shop
Beiträge von Christian124
-
-
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
COBOL: Text/Zahlen variablen Länge mit ACCEPT
in Delphi/RPG+CL/Sonstige
Geschrieben
Hallo Ihr,
danke für die Antworten.
Ich das Ganze nochmal unter Linux mit dem Compiler OpenCobol getestet.
Da ist es kein Problem mit dem Return und funktioniert so wie es auch soll.
Der Hinweis von Schiller256 mit dem
hat funktioniert.
Vielen Dank an Schiller und Guybush für eure Mühe.
Viele Grüße Christian.