Bagikan melalui


Metode Input dan Output

Ada dua pendekatan berbeda untuk konsol I/O, yang pilihannya tergantung pada berapa banyak fleksibilitas dan mengontrol kebutuhan aplikasi. Pendekatan tingkat tinggi memungkinkan I/O aliran karakter sederhana, tetapi membatasi akses ke input konsol dan buffer layar. Pendekatan tingkat rendah mengharuskan pengembang menulis lebih banyak kode dan memilih di antara berbagai fungsi yang lebih besar, tetapi juga memberikan lebih banyak fleksibilitas aplikasi.

Catatan

Pendekatan tingkat rendah tidak disarankan untuk pengembangan baru dan yang sedang berlangsung. Aplikasi yang membutuhkan fungsionalitas dari fungsi I/O konsol tingkat rendah didorong untuk menggunakan urutan terminal virtual dan menjelajahi dokumentasi kami pada fungsi klasik versus terminal virtual dan peta jalan ekosistem.

Aplikasi dapat menggunakan fungsi I/O file, ReadFile dan WriteFile, dan fungsi konsol, ReadConsole dan WriteConsole, untuk I/O tingkat tinggi yang menyediakan akses tidak langsung ke input konsol dan buffer layar. Fungsi input tingkat tinggi memfilter dan memproses data dalam buffer input konsol untuk mengembalikan input sebagai aliran karakter, membuang input mouse dan mengubah ukuran buffer. Demikian pula, fungsi output tingkat tinggi menulis aliran karakter yang ditampilkan di lokasi kursor saat ini di buffer layar. Aplikasi mengontrol cara kerja fungsi ini dengan mengatur mode I/O konsol.

Fungsi I/O tingkat rendah menyediakan akses langsung ke buffer layar dan input konsol, memungkinkan aplikasi untuk mengakses peristiwa input pengubahan ukuran mouse dan buffer dan informasi yang diperluas untuk peristiwa keyboard. Fungsi output tingkat rendah memungkinkan aplikasi membaca dari atau menulis ke sejumlah sel karakter berturut-turut tertentu dalam buffer layar, atau untuk membaca atau menulis ke blok persegi panjang sel karakter di lokasi tertentu dalam buffer layar. Mode input konsol memengaruhi input tingkat rendah dengan mengaktifkan aplikasi untuk menentukan apakah peristiwa pengubahan ukuran mouse dan buffer ditempatkan di buffer input. Mode output konsol tidak berpengaruh pada output tingkat rendah.

Metode I/O tingkat tinggi dan tingkat rendah tidak saling eksklusif, dan aplikasi dapat menggunakan kombinasi fungsi-fungsi ini. Namun, biasanya, aplikasi menggunakan satu pendekatan atau yang lain secara eksklusif dan kami sarankan berfokus pada satu paradigma tertentu untuk hasil yang optimal.

Tip

Aplikasi pencarian ke depan yang ideal akan berfokus pada metode tingkat tinggi dan menambah kebutuhan lebih lanjut dengan urutan terminal virtual melalui metode I/O tingkat tinggi jika perlu menghindari penggunaan fungsi I/O tingkat rendah sepenuhnya.

Topik berikut menjelaskan mode konsol dan fungsi I/O tingkat tinggi dan rendah.