Meisterung der String-Verkettung in COBOL

In der Welt der Programmierung ist der Umgang mit Strings eine häufige Aufgabe. In COBOL könnte man oft mit der Herausforderung konfrontiert werden, Strings zu verketten, deren Längen nicht vorherbestimmt sind. Dieser Artikel hat zum Ziel, eine klare Lösung für die Frage zu bieten, wie man zwei Strings unbekannter Länge in COBOL effektiv verketten kann.

Das Problem

Stellen Sie sich vor, Sie arbeiten mit einem Programm, das den Vornamen und Nachnamen eines Benutzers verarbeitet. Ihr WORKING-STORAGE-Abschnitt definiert Variablen zur Speicherung dieser Namen, aber die Herausforderung entsteht, wenn Sie diese zu einem vollständigen Namen verketten müssen, ohne unnötige Leerzeichen zu behalten. Angenommen, Sie haben:

WORKING-STORAGE.
    FIRST-NAME    PIC X(15) VALUE SPACES.
    LAST-NAME     PIC X(15) VALUE SPACES.
    FULL-NAME     PIC X(31) VALUE SPACES.

Angenommen, FIRST-NAME ist auf 'JOHN ' gesetzt und LAST-NAME auf 'DOE ', dann möchten Sie folgendes Ergebnis erzielen:

FULL-NAME = 'JOHN DOE                       '.

Ein naive Verkettung könnte jedoch dazu führen, dass Sie folgendes erhalten:

FULL-NAME = 'JOHN            DOE            '.

Dies ist nicht das gewünschte Ergebnis, da es zusätzliche Leerzeichen zwischen den verketten Teilen enthält. Wie lösen Sie also dieses Problem?

Die Lösung

Die Lösung für dieses Problem besteht darin, die STRING-Anweisung von COBOL effektiv zu nutzen. Sie ermöglicht es Ihnen, Strings zu verketten und Trennzeichen anzugeben, um unerwünschte Leerzeichen zu beseitigen. Im Folgenden finden Sie die Schritte zur richtigen Verkettung der beiden Strings.

Schritt-für-Schritt-Anleitung

  1. Definieren Sie die Strings: Stellen Sie sicher, dass Sie FIRST-NAME, LAST-NAME und FULL-NAME in Ihrem WORKING-STORAGE-Abschnitt wie oben dargestellt definiert haben.

  2. Verwenden Sie die STRING-Anweisung: Sie können die STRING-Anweisung verwenden, um die Strings zu verketten. So geht’s:

    STRING
        FIRST-NAME DELIMITED BY " ",
        " ",
        LAST-NAME DELIMITED BY SIZE
    INTO FULL-NAME.
    

Aufschlüsselung der STRING-Anweisung

  • FIRST-NAME DELIMITED BY " “: Dies sagt COBOL, dass es FIRST-NAME verwenden und die Verkettung beim ersten Leerzeichen stoppen soll, wodurch am Ende stehende Leerzeichen effektiv entfernt werden.

  • ” “: Dies fügt ein einzelnes Leerzeichen zwischen den Vor- und Nachnamen hinzu, um sicherzustellen, dass sie korrekt getrennt sind.

  • LAST-NAME DELIMITED BY SIZE: Dies legt fest, dass die gesamte Länge des LAST-NAME in die Verkettung einbezogen werden soll, wodurch unnötige nachfolgende Leerzeichen vermieden werden.

  • INTO FULL-NAME: Dies weist an, dass der resultierende verkettete String in FULL-NAME gespeichert wird.

Fazit

Indem Sie diese Schritte befolgen, werden Sie in der Lage sein, Strings unbekannter Länge in COBOL effizient zu verketten und gleichzeitig eine saubere und formatierte Ausgabe zu gewährleisten. Durch die Nutzung der STRING-Anweisung mit geeigneten Trennzeichen vereinfacht COBOL den Prozess der String-Verwaltung und macht es zu einem leistungsstarken Werkzeug für Ihre Programmierbedürfnisse.

Das nächste Mal, wenn Sie mit einer ähnlichen Herausforderung bei der Verkettung in COBOL konfrontiert werden, können Sie diese Methode mit Zuversicht anwenden, um Ihre gewünschten Ergebnisse zu erzielen!