Direkomendasikan: Gunakan ASP untuk membuat diagram lingkaran, diagram batang, dll. Dalam pekerjaan kami, kami sering perlu mengonversi data menjadi bagan batang, diagram lingkaran, dll. Untuk memfasilitasi dan analisis data intuitif. Di sini saya akan memperkenalkan kepada Anda komponen yang membuat diagram lingkaran dan diagram batang di ASP: CSDrawGraph, csdgt.zip. Karena ini adalah komponen, kita perlu menggunakan REGSV sebelum menggunakannya.
Pemrograman berorientasi objek
Dengan meningkatnya kompleksitas desain program, metode pemrograman terstruktur tidak cukup. Alasan mendasar untuk penggunaan yang tidak mencukupi adalah bahwa tidak nyaman untuk menggunakan kembali kode tersebut. Metode berorientasi objek lahir, dan mengimplementasikan fungsi penggunaan kembali kode yang relatif lengkap melalui warisan. Banyak siswa sering ditanya pertanyaan selama wawancara saat melamar pekerjaan. Mari kita bicara tentang apa itu pemrograman yang berorientasi objek. Para siswa terdiam dan kembali untuk bertanya kepada saya bagaimana menjawab pertanyaan ini. Saya mengatakan kepadanya bahwa hanya satu kata sudah cukup. Pemrograman berorientasi objek adalah enkapsulasi data; Pemrograman paradigma (templat) adalah enkapsulasi algoritma. Kemudian, ketika seorang siswa mengalami masalah ini, ia menjawabnya hanya dengan kalimat sederhana, dan pihak lain memandang siswa dengan kekaguman (siswa mengatakan kepada saya dengan bangga nanti). Mengapa itu? Karena hanya melalui pengalaman dan praktik yang menyeluruh dapat diekstraksi.
Metode dan ide desain yang berorientasi objek sebenarnya diusulkan pada awal tahun 1970-an. Tujuannya adalah untuk memaksa program memanipulasi data melalui fungsi. Dengan cara ini, enkapsulasi data diimplementasikan, dan bug yang disebabkan oleh kode apa pun dalam metode desain sebelumnya dapat dihindari. Sangat sulit untuk menemukan dan memodifikasi bug ini. Maka Anda dapat mengatakan bahwa bahkan jika saya tidak menggunakan objek, ketika saya ingin mengakses data tertentu, saya hanya menggunakan fungsi panggilan untuk mengaksesnya, bukankah itu baik-baik saja? Ya, tidak apa -apa, tetapi tidak wajib. Orang malas. Ketika saya ingin menambahkan 1 ke I, mengapa saya harus memanggil fungsi? Lupakan, lebih mudah untuk menyimpan masalah. Haha, karena kemalasan ini, sulit untuk ditangkap ketika program memiliki bug. Berorientasi objek adalah wajib, dan memecahkan masalah kemalasan Anda dari tahap kompilasi.
Secara kebetulan, pemikiran yang berorientasi objek sebenarnya konsisten dengan menangani masalah dalam kehidupan kita sehari-hari. Misalnya, saya berencana untuk membuang cangkir teh, bagaimana saya bisa membuangnya? Ini terlalu sederhana, ambil cangkir teh, berjalan ke tempat sampah, dan buang! Perhatikan menganalisis proses ini. We first select an object----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- The actions each object can apply to it are limited: a teacup can be thrown, smashed, used to drink water, knock it to make sounds...; Selembar kertas dapat ditulis, robek, terbakar ... artinya, begitu suatu objek ditentukan, metode ini ditentukan juga. Beginilah kehidupan kita sehari -hari. Namun, ketika Anda berpikir tentang pemrograman dan operasi komputer kami, ini bukan masalahnya. Ambil operasi DOS sebagai contoh. Saya ingin menghapus file oleh: c:> nama file del <senter> di dos prompt. Perhatikan proses ini. Tindakan ada di depan (del) dan objek ada di belakang (nama file), dan metode berorientasi objek berada dalam urutan yang berlawanan. Jadi itu hanya masalah ketertiban, apa dampaknya? Haha, Anda pasti telah melihat fenomena ini: file tidak ditemukan. Ah ~~~, saya salah, saya salah, saya mengetik surat dengan nama file yang salah, jadi saya masuk kembali: c:> del nama file 2 <Enter>. Sayangnya terjadi lagi, Laporan Komputer: File Baca saja. Haha, rasa sakit :). Jadi pengoperasian DOS sebenarnya melanggar kebiasaan sehari-hari kita (tentu saja, tidak ada yang mengajukan keberatan sebelumnya), tetapi sekarang karena penggunaan desain yang berorientasi objek, masalah ini diselesaikan pada waktu kompilasi, bukan pada saat runtime. Obj.fun (), untuk pernyataan ini, apakah itu objek atau fungsi, jika ada masalah dengan input Anda, itu akan dilaporkan selama kompilasi, sehingga Anda dapat memodifikasinya, daripada membuat kesalahan selama eksekusi, yang akan menyebabkan Anda menangkap bug di mana -mana.
Pada saat yang sama, berorientasi objek dapat menyelesaikan masalah penggunaan kembali kode - warisan. Saya dulu menulis kelas anjing, dengan atribut (variabel): berbulu, 4 kaki, ekor terangkat (yang dengan ekor yang terkulai adalah serigala), hidung yang sangat sensitif, dan suka makan daging dan tulang ... metode termasuk (fungsi): mampu berlari, mencium, menggonggong ... jika menangkap tikus, orang akan menyebutnya middling. Oke, tipe anjing telah ditulis. Tetapi dalam kehidupan saya yang sebenarnya, anjing yang saya miliki sangat mirip dengan anjing yang saya tulis sebelumnya, dengan hanya sedikit perbedaan, yaitu, anjing saya, itu: keriting dan panjang, dengan hidung kecil, mulut kecil ... jadi, saya mendapatkan tipe baru yang disebut pug dan menambahkan fitur baru pada anjing. OK, program selesai dan kode yang benar dari yang sebelumnya digunakan kembali - ini adalah manfaat dari pemrograman yang berorientasi objek. Keberhasilan saya hanya berdiri di pundak raksasa itu. Tentu saja, jika Anda menggunakan VC, kode yang paling sering digunakan kembali adalah perpustakaan kelas MFC.
==============================================================================================================
Oke, lihat bagaimana kami menggunakan ASP.
Setiap orang umumnya menggunakan bahasa skrip default IIS VBScript sebagai bahasa eksekusi sisi server ASP. Pada awalnya, skrip VBS dan HTML pada dasarnya dicampur bersama untuk mencapai fungsi tertentu. Misalnya, Anda perlu menampilkan 5 catatan terbaru di halaman saat ini, itu saja.
1. Tentukan koneksi ke database terlebih dahulu, seperti:
| Berikut ini adalah konten yang dikutip: db_path = ../database/cnbruce2005.mdb Set Conn = Server.CreateObject (AdodB.Connection) connstr = provider = microsoft.jet.oledb.4.0; Sumber data = & server.mappath (db_path) Conn.open Connstr |
2. Kemudian buat koleksi catatan database untuk mengekstrak informasi yang relevan
| Berikut ini adalah konten yang dikutip: Set RS = Server.CreateObject (ADODB.Recordset) SQL = Pilih Top 5 * Dari [Berita] Pesan oleh N_ID Desc Rs.open SQL, Conn, 1,1 |
3. Akhirnya, tampilkan data melalui metode loop
| Berikut ini adalah konten yang dikutip: lakukan sementara tidak rs.eof response.write rs (n_title) rs.movenext lingkaran 'Ada juga operasi penutupan akhir dan rilis rs.close Setel RS = tidak ada |
Jadi di sini sebagai respons.write rs (n_title), untuk desain web akhir, diperkirakan bahwa beberapa elemen tag HTML lainnya perlu ditambahkan sebelum dan sesudahnya. Jadi secara alami, skrip VBS dan HTML dicampur.
Mari kita lihat lagi. Jika ada banyak halaman yang perlu menampilkan 5 catatan ini, maka apakah Anda harus mengatur setiap halaman seperti ini? Tentu saja, yang paling penting adalah desain setiap halaman berbeda. Maka ini adalah pengulangan. Ulangi dimana? Bisakah Anda tidak mengulanginya?
1. Untuk koneksi database, file koneksi basis data Conn.asp secara langsung dibuat, dan kontennya seperti di atas.
2. Jadi selama Anda perlu menggunakan database dan perlu membuat koneksi, Anda dapat langsung memasukkan file koneksi database yang dirujuk.
<!-#Sertakan file = conn.asp->
Jadi pengulangan apa yang disimpan di atas? Ulangi setiap koneksi database. Ini adalah anti-duplikasi untuk beberapa kode umum. Mari kita lihat itu. Jika saya ingin halaman ini menampilkan 5 buah dan halaman itu untuk menampilkan 6 buah, apa yang harus saya lakukan? Jelas, ini hanya bisa menjadi modifikasi sederhana dari pernyataan SQL di halaman saat ini, seperti modifikasi asli dari 5 teratas ke atas 6.
Oke, terus menonton, apakah ada pengulangan? Ya, kecuali untuk definisi kueri SQL yang berbeda, sisanya adalah duplikat.
Jadi, terus pikirkan solusi: dapatkah Anda menentukan jumlah item yang diekstraksi sendiri? Saya hanya ingin mengekstrak hanya beberapa item, tetapi program hanya perlu menulisnya. Kemudian saat ini, fungsinya akan berguna. Misalnya, saya mendefinisikan fungsi seperti ini:
| Berikut ini adalah konten yang dikutip: Function TopNews (TNUM) Set RS = Server.CreateObject (ADODB.Recordset) SQL = Pilih Top & Tnum & * dari [Berita] Pesan oleh N_ID Desc Rs.open SQL, Conn, 1,1 lakukan sementara tidak rs.eof response.write rs (n_title) rs.movenext lingkaran rs.close Setel RS = tidak ada Fungsi akhir |
Kemudian, Anda dapat menggunakan TopNews (5) atau TopNews (6) untuk melengkapi kebutuhan
... Sekilas, tampaknya ASP menggunakan fungsi dan akhirnya selesai. Karena fungsi program utama dibuat menjadi modul fungsi, Anda perlu memanggilnya secara langsung saat menggunakan fungsi ini di halaman latar depan. Jika perlu, ubah nilai parameter fungsi menjadi akhir yang sempurna/.
Jadi, mengapa kelas diperkenalkan di ASP? Apa jenis ini? Dan bagaimana cara menerapkannya?
Dalam bahasa skrip ASP, VBScript memiliki kata kunci kelas, yang dapat digunakan untuk mendeklarasikan kelas khusus. Misalnya
| Berikut ini adalah konten yang dikutip: Nama kelas pernyataan Kelas akhir |
Di sini, anggota publik atau pribadi dapat dinyatakan dalam pernyataan, termasuk fungsi, anggota dan atribut.
JavaScript menggunakan fungsi untuk mendeklarasikan kelas, dan kemudian mendefinisikan properti dalam fungsi melalui this.prototype dan metode this.func mendefinisikan.
Yang mana yang mudah dipilih yang mana. Setelah mendefinisikan nama kelas, yaitu kelas, apa yang bisa dilakukan di sini?
Yang pertama. Dokumentasi MSDN: Dalam Visual Basic 6.0, saat membuat dan menghancurkan modul kelas, modul kelas menggunakan acara inisialisasi dan mengakhiri untuk melakukan semua operasi yang diperlukan. Ketika suatu objek ditemui untuk pertama kalinya setelah pernyataan baru, acara inisialisasi dinaikkan, dan ketika referensi terakhir ke objek dirilis, acara penghentian segera dinaikkan. Namun, metode acara ini dapat dipanggil langsung kapan saja selama eksekusi.
Jadi saya sering melihat contoh seperti ini:
Kelas cnbruce 'mendeklarasikan kelas bernama cnbruce
| Berikut ini adalah konten yang dikutip: Cnrose pribadi Private Sub Class_initialize cnrose = nama saya cnrose. Akhir sub Private Sub Class_Terminate () Akhir sub Kelas akhir |
Lihat, ini adalah inisialisasi.
Selain itu, ada metode Let and Get di kelas ASP. Misalnya, tambahkan antara kelas CNBruce dari kode di atas ... Kelas Akhir:
| Berikut ini adalah konten yang dikutip: Properti Publik Dapatkan Yname Yname = cnrose Akhir properti |
Itu untuk menjadi:
Kelas cnbruce 'mendeklarasikan kelas bernama cnbruce
| Berikut ini adalah konten yang dikutip: Cnrose pribadi Private Sub Class_initialize cnrose = nama saya cnrose. Akhir sub Private Sub Class_Terminate () Akhir sub Properti Publik Dapatkan Yname Yname = cnrose Akhir properti Kelas akhir |
Jadi cara mengekstrak nilainya, misalnya
| Berikut ini adalah konten yang dikutip: Set AAA = CNBruce baru response.write aaa.yname |
Perhatikan bahwa AAA.Name sudah terasa sedikit. AAA adalah objek yang didefinisikan sebagai kelas CNBruce. Output akhir ditampilkan sebagai nilai mendapatkan nilai pada objek kelas ini. Konten nilainya adalah nilai variabel cnrose, dan nilainya telah diinisialisasi. Oleh karena itu, hasil akhirnya adalah nama saya cnrose.
Ini didapat, yang secara langsung mengekstrak bagian dalam kelas yang sudah dienkapsulasi, jadi bagaimana dengan Let? Artinya, operasi akses interaktif eksternal ke kelas. Misalnya, saya sekarang menerapkan nilai yang ditentukan secara eksternal ke kelas. Yaitu, pertama -tama jelaskan:
| Berikut ini adalah konten yang dikutip: Properti Publik Let Mname (NNN) cnrose = nnn Akhir properti |
Artinya sangat sederhana. Nilai parameter NNN akan ditetapkan ke variabel cnrose sesuai dengan nilai eksternal yang berbeda. Kemudian program kombinasi OK, yaitu, konten variabel cnrose yang ditampilkan, bukan konten yang diinisialisasi, tetapi nilai yang tidak pasti diterapkan secara eksternal oleh Let. Lalu bagaimana menerapkan Let.
aaa.mname = sdasdasd
Tentukan saja nilainya secara langsung. Kemudian sekarang lihat seluruh program:
| Berikut ini adalah konten yang dikutip: <% Kelas cnbruce Cnrose pribadi Private Sub Class_initialize cnrose = nama saya cnrose. Akhir sub Properti Publik Dapatkan Yname Yname = cnrose Akhir properti Properti Publik Let Mname (NNN) cnrose = nnn Akhir properti Kelas akhir Set AAA = CNBruce baru aaa.mname = hahahoho response.write aaa.yname %> |
Meskipun nilai aaa.mname didefinisikan sebagai hahahoho, menurut properti publik biarkan mname (nnn), nilainya adalah variabel cnrose. Ketika output AAA.Name, menurut properti publik, dapatkan yname, tidak mengherankan bahwa nilainya. /
Adapun program fungsional, mereka didefinisikan sebagai fungsi fungsi atau subrutine sub di kelas.
Jadi, secara umum, hanyalah pembungkus fungsi, dan mudah untuk menulis dan terlihat bagus saat mendaftar (nama kelas langsung, metode, nama kelas, atribut -_-!), Tetapi jangan berharap itu memiliki layanan berpikir yang berorientasi objek seperti Java atau .net.
Waktu terbatas, dan awal dan akhir hanya sedikit.
Bagikan: Kiat untuk menggunakan ASP untuk mentransfer data format HTML ke Excel Pelajari cara membangun halaman ASP untuk melakukan streaming data HTML ke spreadsheet execl dan menampilkan spreadsheet execl di IE. Sejauh ini, ada beberapa cara untuk membuat tabel data Excel menggunakan teknologi ASP, dan Anda juga dapat menggunakan grup Excel 8.0 VBA sisi server