Ada dua kondisi yang penting untuk mempelajari bahasa pemrograman dengan baik. Tuliskan pengalaman dan pengalaman Anda sebagai pengalaman atau pelajaran dan perbaiki dalam aplikasi masa depan, yang pasti akan meningkatkan pemahaman Anda tentang bahasa pemrograman ini. Berikut ini adalah dua pengalaman dalam belajar dan menggunakan pemrograman ASP, saya harap ini akan membantu semua orang.
Interaksi antara vbscript dan jscript di halaman ASP
ASP memiliki kemampuan untuk mengelola program skrip dalam berbagai bahasa dan secara otomatis dapat memanggil mesin skrip yang sesuai untuk menafsirkan kode skrip dan menjalankan fungsi bawaan. Lingkungan pengembangan ASP menyediakan dua mesin skrip, yaitu VBScript (default) dan JScript. Namun, pengembang tidak terbatas hanya menggunakan kedua bahasa ini, dan dapat menggunakan bahasa skrip apa pun selama mereka dapat menyediakan mesin skrip ActiveX yang sesuai.
Pilihan bahasa skrip sering didasarkan pada banyak alasan berbeda: mungkin bahasa yang paling dikenal oleh pengembang, mungkin yang memberikan dukungan paling banyak untuk proyek yang diberikan, atau mungkin yang paling efisien. Lingkungan dan persyaratan yang berbeda membuat kita memperhatikan faktor -faktor yang berbeda ketika memilih bahasa skrip, dan pada titik tertentu kita menghadapi masalah bahwa bahasa skrip yang dipilih tidak dapat secara langsung menyediakan fungsi dalam bahasa lain, atau skrip telah ditulis tetapi menggunakan bahasa skrip lain.
Apa yang harus saya lakukan sekarang? Apakah Anda perlu menulis ulang skrip ini dalam bahasa skrip saat ini? Atau, apakah mungkin untuk memanggil fungsi bawaan dari bahasa skrip lainnya dalam satu bahasa skrip? Apa yang ingin dijelaskan oleh artikel ini adalah bagaimana berinteraksi dengan skrip VBScript dan skrip JScript dalam aplikasi ASP untuk memaksimalkan dukungan khusus dari dua bahasa skrip.
1. Fungsi bawaan untuk VBScript dan JScript
Dalam VBScript dan JScript, ada sejumlah besar fungsi bawaan yang sama atau serupa. Namun, fungsi yang dibangun menjadi satu bahasa skrip tidak selalu memiliki fungsi yang sesuai dalam bahasa skrip lain. Misalnya, VBScript menyediakan banyak fungsi untuk memanipulasi string dan memformat data, yang tidak ada dalam JScript. Fungsi -fungsi ini termasuk strreverse (), filter (), formatCurrency (), dll. Di sisi lain, fungsi yang disediakan oleh JScript untuk mengelola array, penyandian string, dll. Tidak didefinisikan dalam VBScript, seperti gabungan (), terbalik (), pow (), operasi bit, pelarian () dan unescape (). Tunggu.
Jadi, apa yang harus saya lakukan jika saya memerlukan fungsi VBScript dalam program JScript?
2. Panggilan bersama dari skrip heterogen
Jika Anda perlu memanggil fungsi VBScript bawaan dalam skrip JScript, Anda harus menulis fungsi yang ditentukan pengguna VBScript (disebut fungsi bawaan vbscript di sini), dan kemudian panggil fungsi yang ditentukan pengguna ini dalam skrip jscript seperti panggilan fungsi jscript publik.
Misalnya, jika fungsi bawaan vbscript yang akan dipanggil adalah formatCurrency (), Anda dapat mendeklarasikan fungsi kustom berikut:
<Bahasa skrip = vbscript runat = server>
Format format (nilai)
FormatValue = FormatCurrency (nilai)
Fungsi akhir
</script>
Selanjutnya, dalam kode JScript, Anda dapat menghubungi FormatValue () seperti fungsi JScript biasa. Kode VBScript memanggil fungsi JScript juga dapat diimplementasikan menggunakan metode serupa.
Menerapkan aturan yang sama, kami dapat memanggil fungsi apa pun yang ditentukan pengguna dalam skrip apa pun. Namun, saat memanggil prosedur vbscript (sub) tanpa parameter dari skrip jscript, Anda harus memperhatikannya. ) proses foo.
3. Berbagi Data
Sangat berguna dalam beberapa kasus untuk mencampur fungsi VBScript dan JScript, tetapi juga dapat berguna untuk berbagi data antar skrip dalam berbagai bahasa. Cara untuk mengimplementasikan berbagi ini sederhana: tidak peduli bahasa apa pun yang Anda gunakan, variabel yang dinyatakan pada level halaman dapat dirujuk secara sewenang -wenang.
Metode penggunaan objek juga serupa. Tentu saja, properti dan metode objek yang diberikan ditentukan oleh bahasa yang menciptakan instance dari objek itu. Seperti dalam contoh panggilan prosedur VBScript di atas, ketika metode objek VBScript tanpa parameter dipanggil dari JScript, metode panggilannya juga mengikuti aturan panggilan JScript, dan sebaliknya.
IV
Masalah berbagi array sedikit lebih rumit. Meskipun array juga dapat dibagikan di antara skrip dalam berbagai bahasa seperti variabel lain, perlu untuk memperhatikan masalah kompatibilitas.
Array VBScript dapat direferensikan dengan simbol VBScript dalam JScript, yaitu, merujuk pada elemen array dengan myarray (2) alih -alih elemen array JScript yang merujuk simbol myarray [2]. Selain itu, Anda juga dapat menggunakan objek JScript khusus - objek VBARRAY untuk mengonversi array VBScript menjadi array JScript. Kode berikut membuat jscript array myjsarray dari array vbscript myvbarray:
var temp = vbarray baru (myvbarray)
var myjsarray
myjsarray = temp.toArray ()
Kode di atas pertama -tama membuat objek vbarray sementara dan kemudian mengubah dirinya menjadi array jscript menggunakan metode toarray (). Setelah itu, MyJSarray dapat digunakan seperti array JScript biasa, seperti MyjSarray [1]. Tetapi harus dicatat bahwa metode ToArray () akan mengubah vbarray multi-dimensi menjadi array JScript satu dimensi.
Mengacu pada array JScript dari VBScript lebih kompleks. Meskipun dalam VBScript kami dapat secara langsung mengakses metode dan properti yang terkait dengan array JScript, tidak ada cara untuk secara langsung mengakses satu elemen dari array JScript. Artinya, kita dapat membaca properti panjang array jscript dalam skrip vbscript sebagai berikut:
x = myjsarray.length
Tetapi elemen tunggal dari array tidak dapat dibaca secara langsung, kode vbscript berikut salah:
x = myjsarray (3)
Cara yang mungkin untuk menyelesaikan masalah ini adalah dengan melakukan proses konversi, seperti yang ditunjukkan pada kode berikut, di mana VBScript diasumsikan sebagai bahasa skrip default:
< %
Suhu redup
Redup myvbarray
Temp = myjsarray.join (,)
myvbarray = split (temp ,,)
%>
Metode jscript gabung () di sini mengonversi elemen array myjsarray menjadi string dengan koma sebagai splitter, dan fungsi vbscript split () mengonversi string ke array vbscript. Perhatikan bahwa kami memanggil metode gabungan JScript di lingkungan VBScript. Menurut contoh ini, kami dapat mensimulasikan metode ToArray () dari objek Vbarray dari JScript melalui fungsi VBScript khusus untuk mengimplementasikan konversi array JScript ke array vbscript.
Buat halaman ASP dinamis dengan template
Mengenai template, saya pikir semua orang mungkin memiliki beberapa konsep. Ini mungkin arti dari templat di sini. Bahkan, ada juga fungsi templat di Dreamweaver, tetapi yang statis hanya dapat mengisi konten secara manual, dan di sini adalah tentang pengisian konten otomatis yang dinamis.
Pertama, izinkan saya menjelaskan mengapa file templat digunakan. Terkadang, templat dapat memberi Anda konsep fungsi dan tata letak halaman web yang lebih lengkap. Ketika Anda melihat format Templat Word, Anda akan tahu seperti apa tata letak terakhir, dan hal yang sama berlaku di sini. Misalnya, Anda dapat menyimpan pernyataan ASP dan menggunakan templat yang berbeda untuk membuat gaya halaman yang berbeda. Dengan cara ini, Anda tidak perlu menulis halaman ASP yang berbeda untuk setiap gaya halaman web yang berbeda, yang jelas menghemat banyak waktu dan energi. Selain itu, file template dapat memudahkan Anda untuk menelusuri kode halaman, dan Anda tidak perlu khawatir tentang campuran ASP dan HTML yang membuat Anda pusing. Anda bisa fokus pada HTML tanpa harus khawatir tentang ASP sama sekali. Hal lain adalah touchpad sangat sederhana dan Anda pasti akan memahaminya dengan cepat. Dalam artikel ini, database akan digunakan - tabel karyawan yang banyak digunakan. Termasuk ID karyawan, nama, foto, serta ringkasan pekerjaan dan catatan kaki untuk foto. Berikut adalah struktur database akses ini:
Nama file - mydatabase.mdb
Nama Tabel - Karyawan
PENGENAL
Penghitungan Otomatis (Autonumber)
Nama penuh
Teks - hingga 100 karakter
Picurl
Teks - hingga 255 karakter
Tugas
Jenis Komentar
Piccaption
Teks - hingga 50 karakter
Basis data yang sangat sederhana, bukan? Tentu saja Anda dapat memperluasnya sesuai kebutuhan, dan itulah bisnis Anda sendiri. Saya berasumsi Anda sudah memahami operasi dasar dari database, jadi saya tidak perlu menghabiskan terlalu banyak upaya untuk itu. Setelah membuat database, kita dapat mulai membuat file template. File ini adalah kerangka dari setiap halaman. Saya tidak menggunakan formulir, itu agak merepotkan, dan saya malas :-) Dan, jangan tambahkan, tag, karena itulah yang harus ditambahkan ke halaman ASP. Jadi pada akhirnya, sepertinya ini:
Nama lengkap:
% Nama% <BR> Deskripsi Tugas:
%tugas%
Gambar ini diambil: %tanggal %
ID Karyawan: %empid %
Itu saja! Ini adalah template sederhana. Simpan sebagai template.tmp dan akan merujuknya di halaman ASP di berikut ini. Perlu dicatat bahwa kita dapat menambahkan berbagai tag HTML ke template. % dikelilingi? Itulah inti dari template. Mungkin Anda telah memperhatikan bahwa % itu dikelilingi oleh sesuai dengan makna bidang dalam database. Lihatlah kode ASP di bawah ini, cara membaca templat dan file database, menguleninya bersama -sama, dan kemudian mengeluarkan halaman HTML yang kami inginkan.
Itu semua kodenya, sangat sederhana, bukan? Yang dilakukan hanyalah membuka file template, membaca setiap baris secara berurutan, dan kemudian mengganti % IMG % dan % name % tag dalam templat dengan nilai bidang aktual dibaca dalam database. Selain itu, ini menginterpretasikan pengembalian kereta dalam sepotong teks besar di bidang tugas sebagai pengembalian kereta HTML
, agar tidak mengganggu seluruh format tata letak. Bagaimana dengan itu? Mudah melakukannya. Template benar -benar dapat memainkan peran ajaib dalam beberapa aplikasi, menghemat waktu dan upaya. Secara teori, Anda juga dapat memodifikasi kode ini dan menggunakan fileSystemObject untuk membaca dan menulis teks, sehingga data tidak harus disimpan dalam database. Dalam beberapa aplikasi, seperti rilis berita instan, ini mungkin lebih nyaman.