Falls Sie nicht direkt ausgeben, sondern beliebig viele Variablen zu einer vollständigen Zeichenkette verbinden möchten, bietet Pascal drei gängige Implementierungsmethoden:
Verkettung mit spezialisierten Umwandlungsfunktionen
***ToStr + Zeichenkettenverknüpfung mit +
Wandeln Sie einzelne Datentypen mithilfe dedizierter Umwandlungsfunktionen um und verbinden Sie anschließend die Zeichenketten mit dem Operator +:
uses SysUtils;
var
MyInt: Integer;
MyStr: string;
begin
MyInt := 123;
MyStr := 'My int number is ' + IntToStr(MyInt) + ', and the value of Pi is ' + FloatToStr(Pi);
end;Code-Sprache: JavaScript (javascript)
Häufig genutzte Begleitfunktionen (alle in der Einheit SysUtils enthalten):
- Zahl zu Zeichenkette:
IntToStr,FloatToStr,FormatFloat(individuelle Gleitkommaformatierung) - Zeichenkette zurück zu numerischem Wert:
StrToInt,StrToIntDef,StrToFloat
Vollständig lauffähiges Beispiel
{$ifdef FPC} {$mode objfpc}{$H+}{$J-} {$endif}
{$ifdef MSWINDOWS} {$apptype CONSOLE} {$endif}
uses SysUtils;
var
MyInt: Integer;
MyStr: string;
begin
MyInt := 180;
MyStr := 'My int number is ' + IntToStr(MyInt) + ', and the value of Pi is ' + FloatToStr(Pi);
WriteLn(MyStr);
end.Code-Sprache: PHP (php)

Vorteile
- Äußerst flexibel; aufgeteilte Funktionen decken fast alle Typen wie Ganzzahlen, Gleitkommazahlen und Datumsangaben ab;
- Umfassende passende Rückumwandlungsfunktionen, praktisch beim Auswerten von Benutzereingabe-Zeichenketten.
Nachteile
Bei vielen Variablen entsteht durch mehrschichtige +-Verkettung langwieriger, schlecht lesbarer Code.
Formatierungsfunktion Format
Format (vergleichbar mit sprintf aus der C-Sprache)
Grundsyntax
uses SysUtils;
var
Res: string;
MyInt: Integer;
MyFloat: Double;
MyString: string;
begin
Res := Format('%d %.4f %s', [MyInt, MyFloat, MyString]);
end;Code-Sprache: JavaScript (javascript)
%d: Platzhalter für Ganzzahl;%.4f: Gleitkommazahl mit vier Nachkommastellen;%s: Platzhalter für Zeichenkette- Der zweite Parameter ist ein Konstantenarray, das die Platzhalter nacheinander befüllt
Vollständiges Beispiel
{$ifdef FPC} {$mode objfpc}{$H+}{$J-} {$endif}
{$ifdef MSWINDOWS} {$apptype CONSOLE} {$endif}
uses SysUtils;
var
Res: string;
MyInt: Integer;
MyFloat: Double;
MyString: string;
begin
// set value
MyInt := 169;
MyFloat := 0.618;
MyString := 'foxdevelop.com';
Res := Format('%d %.4f %s', [MyInt, MyFloat, MyString]);
WriteLn(Res);
end.Code-Sprache: PHP (php)

Vorteile
- Formatvorlage und Daten sind voneinander getrennt für eine übersichtliche Struktur; bei mehrsprachiger Softwareübersetzung muss nur die Vorlagen-Zeichenkette angepasst werden, die Variablenliste bleibt unverändert;
- Keine versteckte Compilerlogik. Mit selbst definierten Funktionen mit variablen Parametern
array of constlässt sich diese Formatlogik wiederverwenden und Parameter zur nativen Verarbeitung anFormatweiterreichen.
Nachteile
Der Compiler prüft zur Kompilierzeit nicht, ob Platzhalter und Variablentyp übereinstimmen; bei Typinkongruenz wird zur Laufzeit eine Ausnahme EConvertError für die Umwandlung ausgelöst (es kommt kein Speicherzugriffsabsturz).
WriteStr
Ausgabe von Write in eine Zeichenkettenvariable speichern
Zweck: Das Verhalten ist nahezu identisch mit Write/WriteLn, allerdings wird nicht auf die Konsole ausgegeben, sondern das Ergebnis in die erste Zielzeichenkettenvariable geschrieben:
var S: string;
begin
WriteStr(S, 'Pi value: ', Pi:1:4);
end;Code-Sprache: JavaScript (javascript)
Vollständiges Beispiel
{$ifdef FPC} {$mode objfpc}{$H+}{$J-} {$endif}
{$ifdef MSWINDOWS} {$apptype CONSOLE} {$endif}
uses SysUtils;
var S: string;
begin
WriteStr(S, 'Pi value: ', Pi:1:4);
WriteLn(S);
end.Code-Sprache: PHP (php)
