Output dan Log

Output Konsol

Write / WriteLn

Untuk mencetak string di Pascal, gunakan prosedur bawaan Write atau WriteLn; WriteLn akan menambahkan karakter ganti baris secara otomatis di bagian akhir teks.

Ini adalah prosedur bawaan yang sangat fleksibel di Pascal: dapat menerima parameter berapa pun dengan tipe data apapun, nilai akan dikonversi menjadi string otomatis saat dicetak, serta mendukung sintaks format khusus untuk mengatur lebar pengisian angka dan presisi bilangan pecahan.

WriteLn('Hello world!');

// Cetak ekspresi bilangan bulat
WriteLn('You can output an integer: ', 3 * 4);

// Bilangan bulat rata kanan dengan lebar total 10 karakter
WriteLn('You can pad an integer: ', 666:10);

// Format bilangan pecahan: lebar total 1, 4 angka di belakang koma
WriteLn('You can output a float: ', Pi:1:4);Code language: JavaScript (javascript)

Ganti Baris Manual

Konstanta LineEnding

Jika perlu menyisipkan ganti baris secara manual di dalam satu string, gunakan konstanta LineEnding dari pustaka standar Free Pascal; Castle Game Engine juga menyediakan konstanta singkat bernama NL.

String Pascal tidak mengenali urutan escape garis miring terbalik (\n tidak berfungsi). Contoh penulisan di bawah ini salah:

// Salah: \n tidak akan dikenali sebagai ganti baris
WriteLn('One line.\nSecond line.');Code language: JavaScript (javascript)

Dua cara penulisan yang benar:

// Gabungkan konstanta ganti baris
WriteLn('One line.' + LineEnding + 'Second line.');

// Panggil WriteLn dua kali terpisah (lebih ringkas dan disarankan)
WriteLn('One line.');
WriteLn('Second line.');Code language: JavaScript (javascript)

Catatan Penting

WriteLn hanya dapat digunakan pada program konsol

Write/WriteLn hanya berfungsi pada aplikasi konsol. Anda wajib menuliskan arahan kompiler di bagian atas file program utama:

{$apptype CONSOLE}Code language: PHP (php)

Jangan gunakan mode GUI:

{$apptype GUI} // Memanggil WriteLn langsung di program GUI akan memicu galatCode language: PHP (php)
  • Unix/Linux/macOS: program GUI terkadang tidak error saat mencetak, namun outputnya tidak berguna;
  • Windows: menjalankan WriteLn langsung di aplikasi grafis GUI akan menimbulkan kesalahan saat runtime.

Standar Log Castle Game Engine

Saat mengembangkan dengan Castle Game Engine, dilarang pakai WriteLn langsung untuk pesan debug. Gunakan fungsi log khusus:

  • WriteLnLog: log debug biasa
  • WriteLnWarning: log peringatan

Mesin akan mengarahkan log secara otomatis ke media output yang sesuai:

  1. Sistem Unix: output konsol standar stdout;
  2. Game GUI Windows: ditulis ke file log lokal;
  3. Platform Android: terhubung dengan log sistem Android, dapat dilihat lewat adb logcat.

Tabel Padanan Istilah

Istilah Asli Bahasa InggrisMakna di Pascal
Write / WriteLnOutput tanpa ganti baris / Output dengan ganti baris
LineEndingKonstanta ganti baris sistem (kompatibel lintas platform)
NLKonstanta ganti baris singkat milik Castle
paddingPengisian kolom angka, lebar perataan
precisionPresisi angka desimal bilangan pecahan
{$apptype CONSOLE}Arahan kompiler aplikasi konsol
{$apptype GUI}Arahan kompiler aplikasi antarmuka grafis
adb logcatAlat penampil log Android
standard outputAliran output standar (stdout)

Contoh Lengkap Bagian Ini

{$ifdef FPC} {$mode objfpc}{$H+}{$J-} {$endif}
{$ifdef MSWINDOWS} {$apptype CONSOLE} {$endif}
{$R+}

begin

  WriteLn('Hello world!');

  // Cetak ekspresi bilangan bulat
  WriteLn('You can output an integer: ', 3 * 4);

  // Bilangan bulat rata kanan dengan lebar total 10 karakter
  WriteLn('You can pad an integer: ', 666:10);

  // Format bilangan pecahan: lebar total 1, 4 angka di belakang koma
  WriteLn('You can output a float: ', Pi:1:4);

  // Salah: \n tidak akan dikenali sebagai ganti baris
  // WriteLn('One line.\nSecond line.');

  // Gabungkan konstanta ganti baris
  WriteLn('One line.' + LineEnding + 'Second line.');

  // Panggil WriteLn dua kali terpisah (lebih ringkas dan disarankan)
  WriteLn('One line.');
  WriteLn('Second line.');

end.Code language: PHP (php)

Pastikan menambahkan arahan kompiler di atas agar program berjalan normal

Output dan Log

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *