Jika Anda tidak ingin mencetak secara langsung melainkan menggabungkan sejumlah variabel menjadi satu string utuh, Pascal menyediakan tiga metode implementasi utama:
Penggabungan dengan fungsi konversi khusus
***ToStr + penggabungan string dengan operator +
Gunakan fungsi konversi khusus untuk mengubah tipe data tunggal satu per satu, lalu gabungkan string dengan 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 language: JavaScript (javascript)
Fungsi pendukung yang sering dipakai (semua ada di unit SysUtils):
- Angka ke string:
IntToStr,FloatToStr,FormatFloat(format bilangan pecahan khusus) - String kembali ke angka:
StrToInt,StrToIntDef,StrToFloat
Contoh lengkap yang bisa dijalankan
{$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 language: PHP (php)

Kelebihan
- Sangat fleksibel, fungsi terpisah mencakup hampir semua tipe data seperti bilangan bulat, pecahan, tanggal, dll.;
- Fungsi konversi balik tersedia lengkap, sangat praktis saat memproses string input pengguna.
Kekurangan
Jika jumlah variabel banyak, penggabungan berlapis dengan operator + akan membuat kode panjang dan sulit dibaca.
Fungsi Format
Format (mirip fungsi sprintf pada bahasa C)
Sintaks Dasar
uses SysUtils;
var
Res: string;
MyInt: Integer;
MyFloat: Double;
MyString: string;
begin
Res := Format('%d %.4f %s', [MyInt, MyFloat, MyString]);
end;Code language: JavaScript (javascript)
%d: penanda tempat bilangan bulat;%.4f: bilangan pecahan dengan 4 angka di belakang koma;%s: penanda tempat string- Parameter kedua adalah array konstanta yang mengisi penanda tempat secara berurutan
Contoh lengkap
{$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 language: PHP (php)

Kelebihan
- Templat format terpisah dari data sehingga struktur rapi; untuk penerjemahan multi-bahasa perangkat lunak hanya perlu ubah string templat tanpa mengubah daftar variabel;
- Tidak ada logika rahasia dari kompiler. Anda bisa mendeklarasikan fungsi buatan sendiri dengan parameter variabel
array of constuntuk menggunakan ulang logika format ini dan meneruskan parameter ke fungsiFormatuntuk diproses secara asli.
Kekurangan
Kompiler tidak memvalidasi kesesuaian tipe variabel dengan penanda tempat saat kompilasi; jika tipe tidak cocok akan muncul pengecualian konversi EConvertError saat program berjalan (tidak menyebabkan kerusakan akses memori).
WriteStr
Simpan hasil output Write ke variabel string
Fungsi: perilakunya hampir sama dengan Write/WriteLn, namun tidak mencetak ke konsol melainkan menyimpan hasilnya ke variabel string target pertama:
var S: string;
begin
WriteStr(S, 'Pi value: ', Pi:1:4);
end;Code language: JavaScript (javascript)
Contoh lengkap
{$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 language: PHP (php)
