Aplikasi Lanjutan dari ScriptControl di Delphi (I)
Sistem Windows kami menyediakan komponen OCX yang disebut ScriptControl, yang dapat kami gunakan untuk mewujudkan dunia yang indah dari penceritaan naskah.
1. Buat Layanan Komponen Kontrol Script
Pertama, mari kita lihat metode dan sifat apa yang dimiliki komponen ini. Seperti yang ditunjukkan pada Gambar 001, 002.
Gambar 001
Gambar 002
Selanjutnya, kami menggunakan Delphi untuk membuat layanan komponen. Dari Gambar 001, dapat dilihat bahwa progid komponen ini adalah "msscriptControl.scriptControl". .1 ” . Jadi kita dapat membuat komponen seperti ini: var sc: olevariant; begin sc: = createoleObject ('msscriptcontrol.scriptControl.1'); // Gunakan properti bahasa untuk mengatur bahasa yang digunakan oleh komponen // bahasa dapat berupa: Vbscript, javascript (juga dapat disingkat sebagai jscript) // setara dengan <bahasa skrip = 'jscript'> digunakan dalam html ... </cipt> sc.banguage: = 'javascript'; end;
2. Gunakan eval () untuk mengimplementasikan perhitungan ekspresi matematika paling sederhana
Eval () adalah metode yang paling umum digunakan dalam komponen ini, dan juga merupakan metode yang sering digunakan oleh orang untuk menghitung ekspresi matematika. Demo Function Calc (Const Expression: String): Integer;
3 ' ; *
3 ' );
3. Menerapkan enkripsi karakter Cina
Ada dua fungsi dalam JavaScript, Escape dan Unescape, yang umumnya digunakan sebagai enkripsi untuk skrip dalam kode HTML.
Gambar 003 Enkripsi: Kata -kata: = 'Ini adalah bagian dari informasi karakter Cina yang dienkripsi dengan Escape! ';
662f %u4e00%u6bb5%u7528escape%u
52a 0%U5BC6%U7684%U.
6c 49%U5B57%U4FE1%U.
606f %UFF01 Hasil: = sc.eval ('Escape (' '+Words+' '') ');
4. Gunakan ekspresi reguler JavaScript untuk memverifikasi spesifikasi alamat IP
Di sini kita perlu menggunakan metode addCode dari ScriptControl untuk menambahkan metode khusus. Aturan untuk alamat IP berasal
0.0.0 .0-255.255.255.255.255. Berikut ini adalah kode untuk memverifikasi alamat IP: var iDict, skrip: string; begin // ip iDict reguler: = '^([01]? [0-9] [0-9] | [01]? [0 -9]? [0-9] | 2 [0-4] [0-9] | 25 [0-5]) /.'+ '([01]? [0-9] [0-9] | [01]? [0-9]? [0-9] | 2 [0-4] [0-9] | 25 [0-5]) /.'+ '([01]? [0-9] [0 -9] | [01]? [0-9]? [0-9] | 2 [0-4] [0-9] | 25 [0-5]) /.'+ '([01] ? [0-9] [0-9] | [01]? [0-9]? [0-9] | 2 [0-4] [0-9] | 25 [0-5]) $ '; // JavaScript Fungsi Kustom: = 'Function iPreg (str) {'+ 'var re = baru regexp (' '+ iPreg+' ');'+ 'return re.test (str);}'; (skrip); // menjalankan fungsi jika sc.eval ('ipreg (' '+edit1.text+' ')') kemudian showmessage ('format alamat ip yang benar!') ; end; ---------------------------- Joecom (Juwuyi) 2005-03-19