String in seine einzelteile zerlegen.
-
Was war das doch noch im guten alten Cobol so einfach.
01 feld1 pic x(80).
01 feld2 pic x(80).
01 feld3 pic x(80).
01 feld4 pic x(80) value "Heute ist Montag".
...
..
unstring feld4 delimited by space into feld1, feld2, feld3...
und fertig. Ja die "alten" Sprachen haben nicht nur Nachteile, weshalb ich auch oft open-cobol verwende.
-
Und so flexibel ... Selbst wenn in feld4 ein paar mehr spaces wären, würden nur die drei Felder gefüllt. Der Rest fiele einfach unter den Tisch ...
-
Und wer braucht schon jemals mehr als 80 Zeichen...
-
dot schrieb:
Und wer braucht schon jemals mehr als 80 Zeichen...
ich
-
Auch in Cobol gehen mehr wie 80 - war nur ein Beispiel.
-
pferdefreund schrieb:
Auch in Cobol gehen mehr wie 80 - war nur ein Beispiel.
Und wieviel nimmt man im guten alten COBOL für einen String dann am besten so?
-
Interessanter fände ich, wie man auf Bellis berechtigten Einwand reagiert. Nichts gegen die Sprache an sich (da ich sie nicht gut genug kenne), aber ich wüsste gerne ob und ,wenn ja, wie umständlich/einfach das geht. Das muss unser Cobol-Fan beantworten, wenn die Behauptungen Bestand haben sollen:
Was war das doch noch im guten alten Cobol so einfach.
Ja die "alten" Sprachen haben nicht nur Nachteile
-
Naja, das Hauptproblem hatten wir schon mal in anderem Zusammenhang:
Man kann (zumindest in Cobol85 auf dem guten IBM-Mainframe) nicht dynamisch Speicher allokieren.
Ich hab hier mittlerweile einen Compiler für Windows/Linux, der aus dem Cobol-Quellcode Java-Quellcode macht, der dann wiederum zu Java-Bytecode weiterkompiliert wird, der bietet sowas, ich bezweifle allerdings, dass das Cobol-Standard ist, kann es aber nicht beschwören.
-
Nicht direkt - aber in Cobol ne Linkage-Section vorsehen und per Assembler-Upro mit getmain oder storage obtain geht das auch.
-
Belli schrieb:
Man kann (zumindest in Cobol85 auf dem guten IBM-Mainframe) nicht dynamisch Speicher allokieren.
pferdefreund schrieb:
... aber in Cobol ne Linkage-Section vorsehen und per Assembler-Upro ... geht das auch.
Aha ...