Di Delphi, ada juga instruksi yang telah dikompilasi serupa dengan C. Meskipun jenis instruksi ini hanya efektif dalam satu file saat ini (mungkin juga penulis tidak sepenuhnya memahami penggunaan sebenarnya dari jenis instruksi ini), jenis instruksi ini instruksi berguna untuk kompilasi multi-versi. Pekerjaan produksi (seperti menerbitkan versi pembelajaran dari versi standar) memang memiliki kegunaan yang cukup baik.
satu. Pengenalan instruksi:
1. DEFINISI arahan:
Format: {$DEFINISIKAN nama}
Deskripsi: Digunakan untuk mendefinisikan suatu simbol (Simbol) yang valid pada satuan saat ini. didefinisikan
Anda kemudian dapat menggunakan instruksi IF DEF dan IFNDEF untuk menentukan apakah simbol tersebut ada.
2. Perintah UNDEF:
Format: {$nama UNDEF}
Deskripsi: Digunakan untuk membatalkan suatu simbol (Simbol) yang telah ditentukan pada satuan saat ini. Arahan ini dan DEFINE
digunakan bersama.
3. arahan IFDEF:
Format: {$nama IFDEF}
Catatan: Jika nama setelah direktif ini telah ditentukan, segmen kode setelah direktif ini hingga {$ELSE} atau {$ENDIF} akan dikompilasi.
4. arahan IFNDEF:
Format: {$nama IFNDEF}
Catatan: Jika nama setelah direktif ini tidak ditentukan, segmen kode setelah direktif ini hingga {$ELSE} atau {$ENDIF} akan dikompilasi.
5. Instruksi IFOPT:
Format: {$sakelar IFOPT}
Catatan: Jika saklar setelah instruksi ini telah disetel, segmen kode setelah instruksi ini hingga {$ELSE} atau {$ENDIF} akan dikompilasi.
Contoh: {$IFOPT R+}
Writeln('Hidupkan saklar pengecekan jangkauan saat kompilasi');
{$ENDIF}
6. LAIN instruksi:
Format: {$ELSE}
Deskripsi: Tentukan apakah segmen kode antara instruksi dan {$ENDIF} harus dikompilasi atau diabaikan dengan menilai ekspresi kondisi dari awalan Ifxxx.
7. arahan ENDIF:
Format: {$ENDIF}
Deskripsi: Bekerja sama dengan Ifxxx untuk menunjukkan posisi akhir segmen kode sumber dari segmen prakompilasi bersyarat.
dua. contoh:
Tulis contoh untuk melakukan pekerjaan kompilasi tanpa segmen kode dengan menentukan terlebih dahulu simbol kompilasi yang berbeda.
1. Buat proyek Delphi baru dan tambahkan tombol Button pada bentuk unit Unit1.
2. Tulis programnya sebagai berikut:
satuan Unit1;
antarmuka
kegunaan
Windows, Pesan, SysUtils, Kelas, Grafik, Kontrol, Formulir, Dialog,
StdCtrls;
jenis
TForm1 = kelas(TForm)
Tombol1: Tombol T;
Formulir ProsedurBuat(Pengirim: TObject);
prosedur Button1Click(Pengirim: TObject);
pribadi
{Deklarasi pribadi}
publik
{Pernyataan publik}
a : Tali;
akhir;
var
Formulir1: TForm1;
pelaksanaan
{$R *.DFM}
{$DEFINE AAA} // Baris definisi.
prosedur TForm1.FormCreate(Pengirim: TObject);
mulai
a := 'Lainnya';
{$IFDEF AAA}
a := 'AAA';
{$ENDIF}
{$IFDEF BBB}
a := 'BBB';
{$ENDIF}
akhir;
prosedur TForm1.Button1Click(Pengirim: TObject);
mulai
Keterangan := a;
akhir;
akhir.
{Catatan: Teks tebal adalah kode yang dimasukkan}
3. Setelah kompilasi dan dijalankan, tekan Tombol, dan Anda akan melihat "AAA" ditampilkan di bilah judul formulir. Program mengkompilasi pernyataan a := 'AAA'.
4. Ubah segmen program yang mendefinisikan garis:
ketika diubah menjadi
{$DEFINISIKAN BBB}
Saat Anda mengkompilasi dan menjalankannya kembali, Anda akan melihat "BBB" ditampilkan di bilah judul formulir. Program mengkompilasi pernyataan a := 'BBB'.
Saat tidak menentukan baris atau mengubahnya
{$DEFINISIKAN TIDAK ADA}
atau nama lain, kompilasi dan jalankan kembali, dan Anda akan melihat "Lainnya" ditampilkan di bilah judul formulir. Program hanya mengkompilasi pernyataan a := 'Lainnya'.
tiga. Cara cepat membuat dan mengubah versi:
Dengan menggunakan instruksi prakompilasi, saat membuat beberapa versi dari program yang sama, Anda hanya perlu menemukan unit yang berbeda di setiap versi, menentukan simbol versi terpadu (Simbol) secara berurutan, lalu menambahkan instruksi prakompilasi bersyarat ke segmen program mengkompilasi bagian-bagian program yang berbeda selama kompilasi sebenarnya, yang berdampak baik pada standarisasi program (mendefinisikan simbol versi terpadu) dan kerahasiaan (versi yang berbeda mengkompilasi bagian-bagian program yang berbeda).
Namun, karena jenis arahan yang telah dikompilasi ini hanya dapat bekerja pada unit saat ini, ketidaknyamanannya adalah simbol versi tidak dapat ditentukan satu kali dalam unit umum, tetapi simbol versi terpadu harus ditentukan di setiap unit. Anda perlu memastikan bahwa semua simbol versi telah diubah untuk memastikan kebenaran setiap versi. Untuk ini, Anda dapat menggunakan fungsi "Temukan" dari Delphi IDE. Files..." (string pencarian dalam beberapa file) berfungsi untuk menemukan semua file dan lokasi yang menentukan simbol versi, dan kemudian mengubahnya secara berurutan untuk memastikan bahwa semua lokasi telah diperbaiki.