Artikel ini memperkenalkan secara detail nama dan penggunaan berbagai kata kunci yang biasa digunakan di Delphi untuk referensi Anda dalam proses pemrograman. Detailnya adalah sebagai berikut:
mutlak:
//Ini memungkinkan Anda membuat variabel baru, dan alamat awal variabel sama dengan variabel lain.var Str: string[32]; StrLen: Byte absoluteStr;//Deklarasi ini menentukan alamat awal variabel StrLen dan Str Same.//Karena posisi ke-0 dari string menyimpan panjang string, nilai StrLen adalah panjang string.beginStr := 'abc';Edit1.Text := IntToStr(StrLen);end;
abstrak:
//Hal ini memungkinkan Anda untuk membuat metode abstrak, termasuk kelas dengan metode abstrak yang disebut kelas abstrak. //Kata kunci abstrak harus digunakan bersama dengan kata kunci Virtual atau Dinamis, karena metode abstrak harus diganti. //Kelas abstrak tidak dapat Instansiasi, metode abstrak tidak dapat berisi badan metode. ketik TDemo = prosedur yang dilindungi swasta kelas X; abstrak;
Dan:
//1. Nyatakan logika AND jika (a>0) dan (b>0) maka//2. Ekspresikan operasi bit vara,b,c: Integer;beginc := (a dan b);end;//Gunakan Dan Saat mengekspresikan logika, ekspresi di sekitar And harus diapit tanda kurung untuk menghindari konflik kondisi.//Misalnya: if a>0 dan b>0then//Kompilator mungkin memahaminya sebagai: if a>( 0 dan b) >0 maka//atau:jika (a>0) dan (b>0) lalu//Tetapi ketika benar-benar dikompilasi, kompiler akan menghasilkan konflik dan melaporkan kesalahan.//Dan yang pertama mungkin menyertakan bentuk a>b>c, yang ada di Delphi Tidak didukung.//Jadi tanda kurung harus digunakan saat menggunakan operator And untuk membedakan kondisi kiri dan kanan.//Saat menyatakan operasi bit, tanda kurung juga harus ditambahkan untuk menyertakan parameter And dan kiri dan kanan.
susunan:
//Array digunakan untuk mewakili array, dan objek apa pun dapat dideklarasikan sebagai array. Array dibagi menjadi dua jenis: statis dan dinamis. //Array statis varArr1: array [1..10] dari Integer;//Array dinamis. , karena Jumlah elemen tidak diketahui pada saat deklarasi, sehingga ukuran array harus diatur nanti menggunakan metode SetLength varArr2: array Integer;//Ketika array digunakan sebagai parameter, ukurannya array tidak dapat diteruskan. Anda hanya dapat meneruskan nama array, dan kemudian menggunakan metode Panjang untuk mendapatkan jumlah elemen dalam array fungsi X(A: array Integer): Integer;vari: Integer;beginResult := 0;for i := 0 ke Panjang(A)-1 doResult := Hasil + A[i];end;
sebagai:
//As digunakan untuk mengubah satu objek ke objek lain procedure BtnClick(Sender:TObject);begin (Sender as TButton).Caption := 'Clicked';end;//Untuk konversi antarmuka pengisian objek, As harus digunakan (HTTPRIO sebagai IExp).GetConnection;//Karena tidak dapat digunakan untuk konversi tipe data, kode berikut salah: vari: Integer;s: string;begins := (i as string);end;//Cara penulisan yang benar adalah: s := string(i);
asma:
//Kata kunci Asm digunakan untuk memasukkan kode rakitan. Saat menggunakan kode rakitan, Anda harus menggunakan struktur asm...end; alih-alih mulai...akhir;fungsi IntToHex(Nilai: Integer; Digit: Integer): string; asm CMP EDX, 32 JBE @A1 xor EDX, EDX @A1: PUSH ESI MOV ESI, ESP SUB ESP, 32 PUSH ECX MOV ECX, 16 PANGGILAN CvtInt MOV EDX, ESI POP EAX PANGGILAN Sistem.@LStrFromPCharLen TAMBAHKAN ESP, 32 POP ESIend;
perakit:
//Kata kunci Assembler digunakan untuk mendukung perakitan awal, seperti 80386, dll. //Perbedaan antara itu dan Asm: Asm mengizinkan perakitan Win32, sedangkan Assembler hanya mengizinkan perakitan 80x86, dan tidak mengizinkan fungsi Invoke (Nilai A: Int64): string;
otomatis:
// Penentu akses otomatis digunakan untuk mendeskripsikan anggota yang diketik secara otomatis, yang dapat membuat versi program kompatibel ke belakang. // Anggota dan instance mereka di unit ComObj tidak dapat menggunakan Penentu akses otomatis.type TDemo = class automatic Str:WideString end; //Pada versi program berikutnya, Str dimodifikasi dan menjadi typeTDemo = classautomatedStr: AnsiString;end//Versi baru dari variabel Str dapat menerima versi lama dari data tipe WideString, Dan secara otomatis diubah menjadi AnsiString.//Dalam pengembangan sebenarnya, jika tidak ada kebutuhan khusus, pemisah akses otomatis umumnya tidak digunakan.
mulai:
//Kata kunci mulai digunakan untuk menunjukkan awal suatu program atau struktur, dan harus diakhiri dengan kata kunci akhir prosedur. Anda juga perlu menggunakan kata kunci mulai untuk menandai titik awal struktur untuk i:=1 sampai 100 dobeginsum := sum + i;jika jumlah > 1000 maka Break;end;
kasus:
//Pernyataan case digunakan untuk menyelesaikan seleksi bersyarat. Objek yang dipilih dari pernyataan Case harus berupa tipe terurut, termasuk tipe integer, tipe enumerasi, tipe karakter, dll. //Pernyataan case harus diakhiri di akhir, jika tidak ada yang cocok item pilihan, yang lain dapat ditambahkan untuk membuat pilihan umum. fungsi GetDays(AYear,AMonth: Integer): Integer;begin case AMonth of 1,3,5,7,8,10,12: Result := 31; 4,6,9,11: Hasil := 30; 2: mulai jika IsLeapYear(AYear) maka Hasil:=29 lain Hasil:=28 lain Hasil:=0;akhir;
cdecl:
//Cdecl adalah jenis perjanjian pemanggilan fungsi, yang menetapkan aturan yang harus diikuti saat memanggil fungsi dari DLL yang ditulis dalam C atau C++. //Ini dapat mengkonversi tipe data dalam C atau C++ ke Delphi.//Misalnya Kode di C++: int X(int i){ return i*2;}//Fungsi ini dikompilasi di Demo.dll. Saat memanggil dengan Delphi, Anda harus menggunakan: function 'Demo.dll';
kelas:
//Kata kunci Class digunakan untuk mendeklarasikan atau mewarisi suatu kelas, atau kelas dan antarmuka dapat diwarisi secara bersamaan. //Selain itu, kata kunci Class juga dapat digunakan untuk mendeklarasikan metode umum suatu kelas, sehingga kelas induk dapat mengakses metode subkelas dari dalam kelas.type ClassDemo = class(TObject) private public konstruktor Create;//Jika suatu metode dideklarasikan dengan kelas, metode tersebut dapat digunakan di kelas dan kelas terkait , misalnya: typeClassA = classprivatepublicprocedure Y;end;typeClassB = kelas(KelasA) metode prosedur kelas publik pribadi untuk dipanggil.
konstanta:
//Kata kunci Const digunakan untuk mendeklarasikan konstanta. Data yang dideklarasikan menggunakan const tidak dapat diubah dalam program. //Kata kunci ini juga dapat digunakan untuk mendeklarasikan parameter fungsi. Parameter yang ditentukan dengan const tidak boleh diubah dalam fungsi = 'Delphi ';const MyInteger = 100;//Saat mendeklarasikan sebuah konstanta dengan Const, Anda tidak perlu menunjukkan tipe datanya. Sistem akan secara otomatis menentukan tipenya dan melakukan penyesuaian otomatis.//Anda dapat menggunakan const untuk menyatakan tidak dapat diubah parameter dalam suatu fungsi fungsi X(const i: Integer): string;//Saat ini, nilai i tidak dapat diubah selama pengoperasian fungsi.
konstruktor:
//Kata kunci konstruktor digunakan untuk mendeklarasikan konstruktor suatu kelas. Saat kelas dibuat, fungsi ini dipanggil terlebih dahulu. //Konstruktor umumnya diwakili oleh Create class.type ClassDemo = class( TObject) private fValue: Integer; konstruktor publik Buat; end;constructor ClassDemo.Create;beginfValue := 0;end;
berisi:
//Kata kunci Berisi menunjukkan apakah suatu paket (Paket) berisi file tertentu. //File yang diperkenalkan dengan Berisi harus ditambahkan ke file paket, yang dapat menghindari hilangnya referensi ke file kunci. paket DATAX memerlukan rtl, clx ; berisi Db, DBLocal, DBXpress;end.
bawaan:
//Kata kunci default digunakan untuk menunjukkan nilai default suatu properti //Hanya properti tipe terurut yang mengizinkan keberadaan nilai default, jika tidak, nilai properti harus diinisialisasi di konstruktor. ketik ClassDemo = class private fValue: Integer yang diterbitkan Nilai properti : Integer read fValue write fValue default 0; end;//Ini juga dapat menunjukkan properti default dari properti kelas strings[Index: Integer]: string read GetString write PutString Default;
penghancur:
//Destructor digunakan untuk mengidentifikasi destructor, yang secara otomatis dipanggil ketika kelas dilepaskan. //Destructor hanya diperbolehkan untuk ditimpa, dan tidak boleh ada kelebihan beban. Destructor biasanya menggunakan Destroy sebagai nama fungsi class( TComponent) public destructor Destroy;override; end;//Karena kelas TComponent juga memiliki metode Destroy, maka perlu ditulis ulang//Tetapi jika Anda ingin membebani destructor secara berlebihan, kode berikut tidak diperbolehkan : destruktor Hancurkan;
membuang:
//Kata kunci DispId digunakan di antarmuka DispInterface untuk menentukan nomor seri adaptasi tertentu. //Dalam antarmuka DispInterface, nomor seri adaptasi harus unik. //Jika DispId tidak ditentukan, sistem akan secara otomatis menetapkan adaptasi tersebut nomor seri diberikan untuk setiap metode di antarmuka. //Anda dapat mengakses metode di antarmuka DispInterface melalui nomor seri adaptasi ['{EE05DFE2-5549-11D0-9EA9-0020AF3D82DA}'] properti ControlDefault[Indeks: Integer]: Olevariant dispid 0; fungsi Hitung: Integer; Hapus (Indeks: Integer); dispid 3; prosedur Hapus; 4; fungsi Tambah (Item: Olevarian): Integer;
perbedaan antarmuka:
//DispInterface digunakan untuk mendeklarasikan antarmuka adaptor tertentu. Adaptor ini dapat menerima data masuk dan keluar dalam antarmuka sistem standar. //Antarmuka yang dideklarasikan dengan DispInterface tidak dapat diwarisi dan hanya dapat direferensikan Dipanggil, dan harus diikat secara dinamis. //Anda dapat menggunakan DispId untuk menetapkan nomor seri adaptasi ke antarmuka. //DispInterface hanya dapat digunakan pada platform Windows. Maka kata kunci ini akan otomatis diblokir oleh sistem. //Biasanya, DispInterface tidak digunakan. //Sebagai contoh, lihat DispId
div:
//Div digunakan untuk mencari hasil bagi bilangan bulat dari dua bilangan. Kedua nilai yang digunakan pada operasi Div harus keduanya bilangan bulat, dan hasil operasinya juga bilangan bulat := 20; b := 3; c := div b;
Mengerjakan:
//Kata kunci Do digunakan dalam pernyataan For, While, On, With untuk membentuk struktur tertentu //Pernyataan For: for i := 1 to 100 do sum:=sum+i;//Pernyataan While: while i < 100 dobegin sum := sum + i; Inc(i);end;//Pada pernyataan (penanganan pengecualian):coba i := StrToInt(s);kecuali pada pengecualian lakukan ShowMessage('Error!');end;//Dengan pernyataan :dengan Memo1.Garis dobegin Clear;
sampai ke:
//Kata kunci DownTo digunakan dalam pernyataan For untuk menunjukkan bahwa variabel loop dikurangi. for i := 100 downto 1 doListBox1.Items.Add(IntToStr(i));//Dalam pernyataan For, kata kunci To digunakan untuk menambah variabel loop, gunakan kata kunci DownTo untuk mengurangi.
dinamis:
//Dynamic digunakan untuk mendeklarasikan metode dinamis. //Metode dinamis dapat di-override dan dapat memperkecil ukuran kode sebanyak mungkin (berbeda dengan Virtual).procedure X(i: Integer Dynamic;
kalau tidak:
//else digunakan untuk memandu arah berjalannya program. Dapat digunakan bersama dengan pernyataan If, Case, dan On. Jika kondisi tidak terpenuhi, buka pernyataan else untuk menjalankan //If (dalam pernyataan If , tidak ada poin yang diperbolehkan sebelum yang lain Tidak.):jika a > b makanc := aelsec:=b;//Pernyataan kasus: Tag kasus Of1:Result:=1;2:Result:=2;3:Result:=3;elseResult:=0;end;//Pada pernyataan (penanganan pengecualian):tryi := StrToInt(s);Excpeton EZeroDivide do Hasil: = 1;pada EOverflow lakukan Hasil := 2;elseResult := 0;end;
akhir:
//End digunakan untuk mengakhiri blok pernyataan atau unit. //Dapat cocok dengan awal, Kasus, Kelas, Antarmuka, Asm, Unit, Paket, dll. //Untuk blok pernyataan (akhir lokal), Akhir harus ditambahkan setelahnya. Titik koma.//Untuk unit atau paket (akhir global), titik harus ditambahkan setelah akhir.//Tidak ada simbol yang diperbolehkan setelah Akhir sebelum kata kunci else dalam pernyataan If dimulai dengan Tombol1 dimulai jika Tombol1 Kemudian Button1.Caption := 'Diberi petunjuk' else Button1.Caption := 'Tidak Diisyaratkan'; end;end;//Gunakan End dalam paket untuk mengakhiri: paket DATAX;requiresrtl,clx;berisi Db, DBLocal, DBXpress;end.
kecuali:
//Kata kunci kecuali digunakan untuk penanganan pengecualian dan harus digunakan dalam pernyataan try. Jika pengecualian terjadi, pernyataan setelahnya kecuali dieksekusi try i := StrToInt(s);kecuali ShowMessage('Error!');end;
ekspor:
//Ekspor menunjukkan protokol pemanggilan fungsi, menunjukkan bahwa fungsi tersebut dapat diekspor, dan fungsi yang diekspor dapat dipanggil secara lokal atau jarak jauh. //Program lain dapat memanggil fungsi dalam program dalam bentuk dll Add( a,b: Integer): Integer; ekspor;//Jika program ini dikompilasi sebagai Demo.exe, dan program lain perlu memanggil fungsi ini, Anda dapat menggunakan fungsi pernyataan berikut Add(a,b: Integer): bilangan bulat; 'Demo.exe';
ekspor:
//ekspor digunakan untuk mengeluarkan objek. Ini harus digunakan antara antarmuka dan implementasi. Beberapa item dapat dikeluarkan secara bersamaan, dipisahkan dengan koma. libraryDemo;function X(i: Integer): string; :=IntToStr(i);akhir;ekspor X(i: Integer): string; stdcall;mulai Hasil := IntToStr(i);end;fungsi X(s: string): Integer; kelebihan beban; (i: Integer) nama 'x1',X(s: string) nama 'x2';beginend.
luar:
//Kata kunci Eksternal digunakan untuk mereferensikan metode atau eksternal dalam OBJ.{$L Demo.OBJ}prosedur X(i:Integer);external;//Jika direferensikan dari dll atau program eksternal, maka dapat digunakan Kode berikut: function A(FileName: string): string; external 'Demo.dll';//Jika fungsi yang direferensikan kelebihan beban, nama yang direferensikan harus ditentukan tambahan. stdcall; nama 'Demo.dll' eksternal 'A1'; fungsi A (Kode: Integer): string; stdcall; nama 'Demo.dll' eksternal 'A2';//Saat menggunakan kata kunci Eksternal, Anda harus memperhatikan untuk kasus ini, jika tidak, kesalahan akan terjadi.
jauh:
//Far menunjukkan protokol pemanggilan fungsi, menunjukkan bahwa fungsi tersebut dapat dipanggil dari jarak jauh. //Program lain dapat memanggil fungsi dalam program dalam bentuk dll. Ini kompatibel dengan versi sebelumnya. Jauh ;//Jika program ini dikompilasi ke Demo.exe, dan program lain di komputer lain perlu memanggil fungsi ini, Anda dapat menggunakan pernyataan berikut: function Add(a,b: Integer): Integer; 'Demo.exe';
mengajukan:
//Kata kunci File menunjukkan tipe operasi file. File harus dideklarasikan sebagai File. //Jika Of dan tipe file ditambahkan setelah File, file dapat didefinisikan untuk membaca dan menulis tipe data tertentu.type TPerson = record PName: string[ 32]; HALAMAN: Integer; akhir;var PFile: file TPerson;
finalisasi:
//Kata kunci finalization mengidentifikasi metode yang akan dipanggil ketika unit dilepaskan. //Biasanya ia melepaskan objek dalam unit yang tidak dapat dilepaskan secara otomatis. //Kasus finalisasi yang paling umum digunakan adalah de -inisialisasi objek OLE. inisialisasi ActiveX.OleInitialize(nil);finalisasi ActiveX.OleUninitialize;
Akhirnya:
//Kata kunci akhirnya menunjukkan metode terakhir yang harus dipanggil dalam penanganan pengecualian. //Terlepas dari apakah pengecualian terjadi, pernyataan setelah akhirnya selalu dijalankan di akhir pernyataan coba .Teks := Node.Teks;akhirnya Node := nihil;akhir;
untuk:
//Kata kunci For mengarah ke struktur perulangan For, yang digunakan untuk melakukan sejumlah perulangan for i := 1 hingga 100 dosum := sum + i;//Jika variabel perulangan dikurangi, Anda dapat menggunakan variabel perulangan. Kata kunci DownTo untuk i: = 100 downto 1 do Inc(jumlah);
maju:
//Kata kunci Forward digunakan untuk definisi metode ke depan. Hanya tentukan deklarasi metode, lalu implementasikan metode tersebut nanti dalam program. //Ini bermanfaat untuk keterbacaan kode, dan semua deklarasi dapat digabungkan satukan semua implementasinya. function X(i: Integer): Integer; forward;procedure Y(s: string);...function X;begin Hasil := i * 2;end;procedure Y;beginWriteLn(s);end;//Meneruskan metode yang telah dideklarasikan sebelumnya tidak perlu memasukkan parameter dan mengembalikan nilai metode saat mengimplementasikannya, cukup gunakan nama metode secara langsung.
fungsi:
//Fungsi digunakan untuk mendeklarasikan fungsi fungsi Untuk nama fungsi, Anda hanya perlu menunjukkan parameter dan tipe kembalian. Nama fungsi spesifik dapat diikat nanti.
pergi:
//Pernyataan Goto digunakan untuk melompat ke nomor baris, yang dapat melompat ke posisi mana pun di lapisan struktur saat ini. //Nomor baris harus dideklarasikan dengan kata kunci label pada deklarasi struktur program, tidak disarankan untuk menggunakannya. .var a,b: Integer;label X,Y;begin if a > b lalu goto X else goto Y;X: WriteLn('a > b'); Y: WriteLn('b > a');akhir;
jika:
//Kata kunci If mengarah ke pernyataan kondisional If, yang digunakan untuk menilai kondisi.var a,b: Integer;begin a := b := 3; if a>bthen WriteLn('a=' + IntToStr( a )) else WriteLn('b=' + IntToStr(b));end;//Struktur pernyataan If yang biasa adalah If...Then...else, dan pernyataan else bersifat opsional.//Jika ada apakah ada dalam pernyataan If Beberapa sub-pernyataan, Maka Anda harus menggunakan struktur awal...Akhir untuk membedakannya. jika a > b makamulai WriteLn('a>b'); WriteLn('a=' + IntToStr(a)); b) );Endelse WriteLn('b>a');
pelaksanaan:
//Implementasi mengidentifikasi bagian implementasi unit. Struktur dasar unit adalah ://Unit...Interface...implementation...end.// Badan fungsi, badan proses, dll. harus ditulis setelahnya. kata kunci implementasi./ /Jika objek direferensikan setelah implementasi, objek tersebut bersifat non-publik dan hanya dapat digunakan oleh unit itu sendiri. Implementasi menggunakan frmAbout;begin FormAbout.Show;end;//Unit yang lengkap harus memiliki implementasi. bagian.
mengimplementasikan:
//Implementasi menunjukkan bahwa suatu properti diwarisi dari antarmuka, dan properti tersebut diubah menjadi objek antarmuka. //Mengikat properti secara dinamis melalui antarmuka, dan secara dinamis menetapkan nilai properti. ketik IMyInterface = prosedur antarmuka P1; akhir; TMyImplclass = prosedur kelas P1; prosedur P2; akhir; FMyImplclass mengimplementasikan IMyInterface; procedure IMyInterface.P1 = MyP1; procedure MyP1; end;//Setelah deklarasi melalui implementasi, Anda dapat menunjukkan entitas metode di antarmuka ketika kelas dideklarasikan, seperti pada contoh di atas: procedure IMyInterface. P1 = P1 Saya;
di dalam:
//In digunakan untuk menentukan apakah suatu himpunan mengandung suatu elemen. Konten yang akan ditentukan harus berupa elemen himpunan tunggal dan merupakan turunan dari suatu himpunan Cols: TCols;begin Cols := [cA,cB]; jika cA di Cols maka ShowMessage('cA in Cols') else ShowMessage('cA not in Cols');end;//In juga digunakan dalam file proyek, Digunakan untuk mengidentifikasi apakah suatu file direferensikan oleh proyek. Menggunakan Unit1 di 'Unit1.pas'; //In dapat digunakan dalam pernyataan For untuk mengulang elemen dalam koleksi. .. untuk s Di sl mulai ShowMessage(s);
indeks:
//Indeks digunakan untuk mengidentifikasi nomor seri dalam atribut sehingga metode atribut yang sama (Dapatkan, Set) dapat digunakan untuk mengoperasikan atribut yang berbeda. ketik TForm1 = class(TForm) fungsi privat GetInfo(const Indeks: Integer): Longint ; prosedur SetInfo (const Indeks: Integer; nilai const: Longint); properti publik iLeft: Indeks Longint 0 baca GetInfo tulis SetInfo; GetInfo tulis SetInfo; properti iWidth:Longint indeks 2 baca GetInfo tulis SetInfo; properti iHeight:Longint indeks 3 baca GetInfo tulis SetInfo akhir;fungsi TForm1.GetInfo(const Indeks: Integer): Longint;mulai indeks kasus 0: hasil := self.Left; 1: Hasil := self.Top; 2: hasil := self.Width; := self.Height; end;end;//Kata kunci Index juga digunakan untuk menunjukkan beberapa elemen dalam properti, misalnya: property Selected[Index: Integer]: Boolean read GetSelected write SetSelected;
diwariskan:
//Diwarisi digunakan untuk memanggil metode kelas induk.type TDemo = class(TComponent) konstruktor publik Create(AOwner: TComponent override end;constructor TDemo.Create(AOwner: TComponent);begin diwarisi Create(AOwner);end ; //Jika Anda memanggil metode dengan nama yang sama, Anda juga dapat menghilangkan nama metode dan parameternya, misalnya yang diwarisi dalam contoh di atas Create(AOwner);//dapat diubah menjadi:Inherited;
inisialisasi:
//Kata kunci inisialisasi mengidentifikasi metode yang akan dipanggil ketika unit dimuat. //Biasanya digunakan untuk menginisialisasi beberapa objek yang tidak dapat diinisialisasi secara otomatis, tetapi tidak perlu digunakan //Kasus yang paling umum digunakan inisialisasi adalah untuk menginisialisasi objek OLE. Inisialisasi ActiveX.OleInitialize(nil);finalisasi ActiveX.OleUninitialize;
sebaris:
//Kata kunci InLine digunakan dalam struktur Asm atau assembler, //Ini digunakan untuk menunjukkan bahwa pernyataan assembly kompatibel ke bawah. Ini tidak berdampak pada kompilasi program. function IntToStr(Nilai: Integer): string; asm Sebaris; System.@LStrFromPCharLen TAMBAHKAN ESP, 16 POP ESIend;
antarmuka:
//Antarmuka mengidentifikasi bagian antarmuka dalam unit. Struktur dasar unit adalah ://Unit...Antarmuka...implementasi...akhir.//Deklarasi fungsi, prosedur, dll. harus ditulis setelahnya. Kata kunci antarmuka./ /Jika objek direferensikan setelah Antarmuka, objek tidak memiliki instance dan harus dipakai saat digunakan. Antarmuka menggunakan frmAbout;var FAbout: TFormAbout;begin FAbout := TFormAbout.Create(Self); FAbout.Show;end;//Unit yang lengkap harus memiliki bagian Antarmuka.//Interface juga dapat digunakan sebagai deklarasi antarmuka.type IMalloc = interface(IInterface) ['{00000002-0000-0000-C000-000000000046 }'] fungsi Alokasi(Ukuran: Integer): Pointer; stdcall; fungsi Realloc(P: Pointer; Ukuran: Integer): Penunjuk; panggilan std; fungsi DidAlloc(P: Penunjuk): Panggilan std;
adalah:
//Kata kunci Is digunakan untuk penilaian objek. Dalam beberapa kasus, kata kunci ini juga dapat digunakan sebagai "As".var Comp: TComponent;begin ... if Comp Is TEdit lalu (Comp as TEdit).Text := 'Edit ' ;akhir;
label:
//kata kunci label digunakan untuk mendeklarasikan label nomor baris sehingga Goto dapat digunakan untuk mengarahkan. Tidak disarankan menggunakan.var a,b: Integer;label X,Y;begin if a > b lalu goto X else goto. Y;X: WriteLn( 'a>b');Y: WriteLn('b>a');end;
perpustakaan:
//Kata kunci perpustakaan digunakan untuk menunjukkan bahwa suatu proyek adalah perpustakaan kelas. Perpustakaan kelas menghasilkan file DLL setelah kompilasi, yang dapat dipanggil oleh program lain Editor perpustakaan menggunakan EdInit, EdInOut, EdFormat, EdPrint; nama selesai, nama InsertText Sisipkan, nama DeleteSelection Hapus, FormatSelection, nama PrintSelection Cetak, SetErrorHandler;begin InitLibrary;end.
pesan:
//Kata kunci Pesan digunakan untuk mendeklarasikan metode pesan. //Metode dengan Pesan harus menunjukkan jenis pesan yang diterima, dan meneruskan pesan ke dalam metode dengan referensi untuk prosedur pemrosesan.procedure Refresh(var Msg: TMessageRecordtype); Refresh(var Msg: TMessageRecordtype);beginif Chr(Msg.Code) = #13 lalu...elseinherited;end;//Pengguna dapat menyesuaikan pesan, Pesan khusus juga dapat diterima melalui Pesan dan peristiwa pemicu.
mod:
//Mod digunakan untuk mencari modulus bilangan bulat dari dua bilangan, yaitu sisanya. Kedua nilai yang digunakan pada operasi Mod harus bilangan bulat, dan hasil operasinya juga harus bilangan bulat , b, c: Bilangan bulat; mulai a := 20;
nama:
//Kata kunci Nama digunakan untuk menunjukkan alias suatu metode. //Untuk suatu metode yang direferensikan secara eksternal, disarankan untuk menggunakan Nama untuk menerapkan alias metode guna mencegah program eksternal mengubah konten entitas metode tersebut. //Saat mereferensikan suatu metode dari luar, jika metode tersebut memiliki alias, maka harus diidentifikasi dengan Nama. function MessageBox(HWnd: Integer; Text, Caption: PChar; Flags: Integer): Integer external 'user32 .dll' nama 'MessageBoxA';
di dekat:
//Dekat menandai protokol pemanggilan fungsi, menunjukkan bahwa fungsi tersebut dapat dipanggil secara lokal. //Program lain dapat memanggil fungsi dalam program dalam bentuk dll. Ini kompatibel dengan fungsi Add(a,b: Integer): Integer ; dekat;//Jika program ini dikompilasi ke Demo.exe, dan program lokal lain perlu memanggil fungsi ini, Anda dapat menggunakan pernyataan berikut: function Add(a,b: Integer): Integer; 'Demo.exe';
nol:
//Nil digunakan untuk mewakili pointer null, atau objek tanpa instance. Node <> nil dobegin ListBox1.Items.Add(Node.Text);
kesalahan simpul:
//Kata kunci NoDefault menunjukkan bahwa suatu properti tidak mengizinkan nilai default, yang biasanya digunakan dalam warisan. ketik TClassA = class private FValue: Integer; properti yang diterbitkan Nilai: Integer read fValue write fValue default 0; TClassA ) properti yang diterbitkan Nilai:Integer baca fValue tulis fValue nodefault end;//Seperti yang dapat dilihat dari contoh di atas, Nilai di TClassA memiliki nilai default 0, //TClassB mewarisi TClassA, sehingga juga mewarisi nilai defaultnya. Gunakan NoDefault untuk menghapus nilai default di sini.
bukan:
//Not digunakan untuk negasi, maka akan meniadakan hasil aslinya. Contoh: if a > bthen//Dapat ditulis sebagai: if not (a < b)then//Kata kunci Not biasanya digunakan untuk mengganti Boolean prosedur atribut Button1Click (Pengirim: TObject);begin StatusBar1.Visible := bukan StatusBar1.Visible;end;
obyek:
//Objek digunakan untuk mendeklarasikan suatu objek. Objek ini dapat berubah-ubah dan kompatibel ke belakang. Objek hanya dapat diwarisi oleh Objek. //Metode mendeklarasikan objek sama dengan metode mendeklarasikan kelas bertipe ODemoA = object end; ODemoB = object(ODemoA) end;//Kata kunci Object juga digunakan untuk mendeklarasikan fungsi atau prosedur dinamis, contoh: ketik TMyFun = function(i: Integer): Integer of Object; ) dari objek;//Fungsi atau prosedur yang dideklarasikan oleh objek dapat terikat secara dinamis ke badan fungsi yang ditentukan, atau terikat ke peristiwa kontrol.
dari:
//Kunci Of digunakan untuk membentuk struktur tertentu dengan kata kunci lainnya. Of dapat digunakan dengan Case, Class, Array, File, Set, Object. //Pernyataan kasus: case Tag Of 0: Hasil := 'a'; : Hasil := 'b';end;//Pernyataan kelas: ketik TDemo = kelas TComponent;//Struktur array: var MyInt: array Integer;//Struktur file: var MyFile: file Byte;//Pernyataan Set: ketik TCol = (cA,cB,cC); TCols = himpunan TCol;//Struktur objek: ketik MyFun = fungsi(I: Integer): Integer Objek;
pada:
//Kata kunci On digunakan untuk menangani pengecualian, menunjukkan pengecualian yang terjadi, dan mendapatkan informasi pengecualian coba i := StrToInt(s);kecuali pada E: pengecualian do ShowMessage(E.Message);end;
atau:
//1. Nyatakan logika atau jika (a>0) atau (b>0) maka//2. Ekspresikan operasi bit vara,b,c: Integer;beginc := (a atau b);end;//Gunakan Atau Saat mengekspresikan logika, ekspresi di sekitar Atau harus diapit tanda kurung untuk menghindari konflik dengan kondisi //Jika Anda menggunakan Atau dalam pernyataan kondisional, editor tidak mengetahui apa yang dilakukan pengguna dengan Or b>0 kemudian//Kompilator mungkin memahaminya sebagai: jika a>(0 atau b)>0 maka//atau jika (a>0) atau (b>0) maka//Tetapi ketika benar-benar dikompilasi, kompiler akan menimbulkan konflik , laporkan kesalahan //Dan yang pertama mungkin berisi formulir a>b>c, yang tidak didukung di Delphi //Jadi Anda harus menggunakan tanda kurung saat menggunakan operator Or untuk membedakan kondisi kiri dan kanan.//Menunjukkan bit operasi Tanda kurung juga harus ditambahkan ketika Lampirkan Or dan parameter kiri dan kanan.
keluar:
//Kata kunci Out mendeskripsikan metode keluaran dari parameter metode. Fungsi umum hanya dapat memiliki satu nilai kembalian. //Gunakan Keluar untuk mengembalikan beberapa hasil dalam suatu fungsi. //Out berbeda dari var mengembalikan parameter, dan var adalah alamat parameter yang dimasukkan langsung ke prosedur TForm1.Button1Click(Pengirim: TObject);var i: Integer; s: string;mulai i := 20; s := 'xxx';
kelebihan muatan:
//Kata kunci Overload menunjukkan metode yang digunakan untuk kelebihan beban. Kelebihan beban berarti nama metodenya sama, //tetapi jumlah, jenis, atau urutan parameternya berbeda. Jika kondisi ini terpenuhi, maka ini merupakan fungsi kelebihan beban. i: Integer): string; kelebihan;fungsi Persyaratan untuk kelebihan beban harus dipenuhi.type TDemo = class(TComponent) public procedure CreateWnd(AOwner: TWinControl); {Deklarasi subkelas }//Ada dua metode CreateWnd.//Jika kelebihan beban tidak digunakan, metode kelas induk dapat diganti di subkelas.
mengesampingkan:
//Override digunakan untuk mengganti metode dalam bentuk Virtual atau Dinamis. //Saat melakukan override, deklarasi metode yang diganti harus digunakan, dan parameter serta tipe pengembalian dari metode asli tidak boleh diubah Create(AOwner: TComponent);/ /Override sebagian besar digunakan untuk pewarisan, menggunakan subkelas untuk mengganti metode kelas induk. ketik TClassA = class procedure X virtual; //Seperti pada contoh di atas, Method yang dimiliki oleh subclass adalah: procedure X {ditimpa dari kelas induk}//Metode yang dimiliki oleh kelas induk adalah: procedure Statement, //atau jika ada kebutuhan untuk mengubah parameter harus di-override dengan Perkenalkan kembali kata kunci.
kemasan:
//Kata kunci paket digunakan untuk menunjukkan bahwa suatu proyek adalah pustaka kontrol.//Pustaka kontrol menghasilkan file BPL setelah kompilasi, yang dapat diinstal ke pustaka kontrol Delphi sehingga kontrol tersebut dapat digunakan dalam pengembangan paket DATAX di masa mendatang ; membutuhkan rtl, clx ; berisi MyUnit di 'C:/MyProject/MyUnit.pas';end.
penuh sesak:
//Kata kunci yang dikemas digunakan untuk mengemas catatan struktur atau array. Setelah pengemasan, ukuran objek yang dikemas dapat dikurangi secara signifikan. ketik TPerson = dikemas Catatan PName: string[32]; PChar;
pascal:
//Pascal menandai protokol pemanggilan fungsi, //menunjukkan bahwa fungsi tersebut mengikuti Pascal saat memanggil, yaitu menginisialisasi semua variabel terlebih dahulu, //menghindari kesalahan yang disebabkan oleh pemanggilan thread asinkron. Fungsi X (i: Integer ): Integer; Pascal;mulai Hasil := i * 2;akhir;
pribadi:
//Private menunjukkan izin diferensiasi akses elemen dalam kelas. Elemen yang dibedakan dengan Private hanya dapat diakses dalam kelas ini.
prosedur:
//Prosedur digunakan untuk mendeklarasikan prosedur prosedur Cukup tunjukkan parameternya, dan nama prosedur spesifik dapat diikat nanti.
program:
//Kata kunci program digunakan untuk menunjukkan bahwa suatu proyek adalah sebuah aplikasi. File exe dihasilkan setelah perpustakaan kontrol dikompilasi, dan program dapat dieksekusi secara langsung Project1;menggunakan Formulir, Unit1 di 'Unit1.pas';{$R *.Res} Mulai Application.Initialize;
milik:
// Kata kunci properti digunakan untuk mendeklarasikan properti. : Integred; (Pengirim: TOBJEK) OBYEK;
terlindung:
// Dilindungi menunjukkan izin akses elemen dalam kelas.
publik:
// Publik menunjukkan izin diferensiasi akses elemen dalam kelas.
diterbitkan:
// diterbitkan menunjukkan izin akses elemen dalam kelas. Penampil objek.
mengangkat:
// Pernyataan kenaikan digunakan untuk melempar pengecualian. : string; Mulai jika i <0 lalu Naikkan Exception.Create ('Integer tidak bisa lebih kecil dari 0'); Strtoint (s); kecuali pada e: pengecualian memang meningkatkan pengecualian.create (e.message); end;
membaca:
// Baca digunakan untuk mengidentifikasi anggota atau metode yang digunakan untuk membaca properti.
readonly:
// Kata kunci readonly digunakan untuk mengidentifikasi apakah suatu objek adalah read-only.propertyreadonly; // Ketika readonly diatur ke true, pengguna tidak diizinkan untuk memodifikasi properti secara manual dan hanya dapat beroperasi melalui objek lain.
catatan:
// Kata kunci catatan digunakan untuk mendeklarasikan catatan struktur ; akhir ;
daftar:
// Daftar Protokol Panggilan Fungsi, menunjukkan bahwa fungsi dapat meninggalkan catatan dalam registri saat dipanggil. Daftar kontrol atau alat ahli dengan Pustaka Kontrol atau IDE.Procedure Register; mulai RegisterComponents ('Sampel', [TDemo]); end;
Rentroduce:
// Rentroduce digunakan untuk menerbitkan kembali metode, biasanya saat mewarisi. // untuk metode virtual atau dinamis, langsung menggunakan override untuk mengesampingkan. Integer);
mengulang:
// Kata kunci berulang digunakan untuk memperkenalkan struktur loop berulang Jumlah: = Jumlah + i;
memerlukan:
// Kata kunci menunjukkan kondisi yang diperlukan untuk menyusun paket.
Resourcestring:
// Resourcestring digunakan untuk mendeklarasikan string sumber daya, yang dapat digunakan dalam struktur yang dideklarasikan 'Borland Rocks';
Safecall:
// Safecall adalah jenis perjanjian panggilan fungsi, yang menetapkan aturan yang disebut oleh com harus mematuhi. ;
mengatur:
// Kata kunci digunakan untuk mendeklarasikan kelas pengumpulan, yang memungkinkan penggunaan operator yang ditetapkan, seperti di, dll. Type TCOL = (CA, CB, CC); Selama operasi untuk menambah atau menghapus elemen koleksi var cols: tcols; begin cols: = cols + [ca, cb]; end;
SHL:
// SHL berarti bergeser ke kiri.
SHR:
// SHR berarti bergeser ke kanan.
STDCALL:
// STDCALL adalah jenis perjanjian panggilan fungsi, yang menetapkan aturan yang berfungsi yang dapat dipanggil oleh program harus mematuhi Fungsi Panggilan Callee: Demo Perpustakaan; Integer): Integer;
tersimpan:
// disimpan digunakan untuk menunjukkan apakah nilai properti dapat dipertahankan.
rangkaian:
// String adalah tipe data, yang mewakili string.var str: string;
Kemudian:
// Kata kunci digunakan dalam pernyataan IF. ); akhir;
Threadvar:
// Threadvar mengidentifikasi variabel yang dibuat saat utas dimulai. ''; // S: = '';
ke:
// Kata kunci digunakan dalam pernyataan untuk untuk menunjukkan bahwa variabel loop bertambah. Digunakan untuk menambah kata -kata variabel loop, gunakan kata kunci Downto untuk berkurang.
mencoba:
// Pernyataan coba digunakan untuk penanganan pengecualian.
jenis:
// Kata kunci digunakan untuk mendeklarasikan berbagai objek. CA, CB, CC);
satuan:
// Unit mengidentifikasi awal unit. awal.
sampai:
// Kata kunci hingga menentukan kondisi loop dari struktur loop berulang. = jumlah + i;
Penggunaan:
// Penggunaan digunakan untuk merujuk unit eksternal dan dapat menggunakan bagian publik dari unit.
var:
// Kata kunci VAR digunakan untuk mendeklarasikan variabel atau objek, dan variabel yang dideklarasikan dengan VAR dilewatkan oleh nilai. (var i: integer): integer; // parameter i dalam fungsi di atas dilewatkan dengan referensi, nilainya dapat diubah ketika fungsi dieksekusi, dan dikembalikan ke fungsi panggilan.
Varargs:
// VarArgs mengidentifikasi parameter referensi, yang harus digunakan bersama dengan kata kunci CDECL, menunjukkan bahwa fungsi yang dipanggil diizinkan untuk dilewatkan dengan referensi Kode dari Perpustakaan Kelas C ++ Fungsi printf direferensikan dan parameter diizinkan untuk dilewati dengan referensi.
maya:
// Virtual digunakan untuk mendeklarasikan metode virtual.
ketika:
// Kata kunci digunakan untuk memperkenalkan Loop Pernyataan. Inc (i); end;
dengan:
// Kata kunci digunakan untuk mengumpulkan objek yang sama untuk diproses. Append ('def'); Tampaknya sangat berlebihan untuk menyalin konten ke kode clipboard: form1.memo1.lines.clear; form1.memo1.lines.append ('abc'); form1.memo1.lines.append ('def'); form1.memo1. Line.savetofile ('c: /demo.txt');
menulis:
// Tulis digunakan untuk mengidentifikasi anggota atau metode yang digunakan untuk menulis di properti.
Tulisan:
// Kata kunci WriteOnly digunakan untuk mengidentifikasi apakah suatu objek adalah write-only.property writeonly; // Ketika WriteOnly diatur ke true, pengguna tidak diizinkan untuk membaca properti dan hanya dapat beroperasi melalui objek lain.
xor:
// XOR digunakan untuk eksklusif atau A xor B kemudian writeln ('a xor b') writeln ('a not xor b'); end; // xor juga digunakan untuk menghitung writeln eksklusif atau nilai (inttoStr (3 xor 5));