Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Kata kerja CONVERT menerjemahkan string karakter ASCII ke EBCDIC atau string karakter EBCDIC ke ASCII. String yang akan dikonversi disebut string sumber. String yang dikonversi disebut string target.
Struktur berikut menjelaskan blok kontrol kata kerja (VCB) yang digunakan oleh kata kerja CONVERT .
Sintaksis
struct convert {
unsigned short opcode;
unsigned char opext;
unsigned char reserv2;
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char direction;
unsigned char char_set;
unsigned short len;
unsigned char FAR * source;
unsigned char FAR * target;
};
Members
Opcode
Parameter yang disediakan. Kata kerja yang mengidentifikasi kode operasi, SV_CONVERT.
opext
Bidang yang dipesan.
reserv2
Bidang yang dipesan.
primary_rc
Parameter yang dikembalikan. Menentukan kode pengembalian utama yang ditetapkan oleh APPC pada penyelesaian kata kerja. Kode pengembalian yang valid bervariasi tergantung pada kata kerja APPC yang dikeluarkan. Lihat Mengembalikan Kode untuk kode kesalahan yang valid untuk kata kerja ini.
secondary_rc
Parameter yang dikembalikan. Menentukan kode pengembalian sekunder yang ditetapkan oleh APPC pada penyelesaian kata kerja. Kode pengembalian yang valid bervariasi tergantung pada kata kerja APPC yang dikeluarkan. Lihat Mengembalikan Kode untuk kode kesalahan yang valid untuk kata kerja ini.
arah
Parameter yang disediakan. Menentukan arah konversi. Untuk mengonversi dari ASCII ke EBCDIC, gunakan SV_ASCII_TO_EBCDIC. Untuk mengonversi dari EBCDIC ke ASCII, gunakan SV_EBCDIC_TO_ASCII.
char_set
Parameter yang disediakan. Menentukan set karakter yang akan digunakan dalam mengonversi string sumber. Nilai yang diizinkan termasuk SV_A (set karakter tipe A), SV_AE (set karakter jenis AE), dan SV_G (set karakter tipe G yang ditentukan pengguna).
lensa
Parameter yang disediakan. Menentukan jumlah karakter yang akan dikonversi.
Panjang ini ditambah offset dari awal buffer sumber atau target tidak boleh melebihi batas segmen.
sumber
Parameter yang disediakan. Menentukan alamat buffer yang berisi string karakter yang akan dikonversi.
target
Parameter yang disediakan. Menentukan alamat buffer untuk berisi string karakter yang dikonversi.
Buffer ini dapat tumpang tindih atau bertepatan dengan buffer yang ditujukkan oleh parameter sumber . Dalam hal ini, string data yang dikonversi menimpa string data sumber.
Kode Pengembalian
SV_OK
Kode pengembalian utama; kata kerja berhasil dijalankan.
SV_PARAMETER_CHECK
Kode pengembalian utama; kata kerja tidak dijalankan karena kesalahan parameter.
SV_CONVERSION_ERROR
Kode pengembalian sekunder; satu atau beberapa karakter dalam string sumber tidak ditemukan dalam tabel konversi. Karakter ini dikonversi ke null (0x00). Kata kerja masih dijalankan.
SV_INVALID_CHARACTER_SET
Kode pengembalian sekunder; parameter char_set berisi nilai yang tidak valid.
SV_INVALID_DATA_SEGMENT
Kode pengembalian sekunder; buffer data yang berisi string sumber atau target tidak cocok dalam satu segmen, atau segmen target bukan segmen baca/tulis.
SV_INVALID_DIRECTION
Kode pengembalian sekunder; arah berisi nilai yang tidak valid.
SV_INVALID_FIRST_CHARACTER
Kode pengembalian sekunder; karakter pertama dari string sumber tipe A tidak valid.
SV_TABLE_ERROR
Kode pengembalian sekunder; salah satu hal berikut ini terjadi:
File yang berisi tabel konversi tipe G yang ditulis pengguna tidak ditentukan oleh variabel lingkungan CSVTBLG.
Tabel tidak dalam format yang benar.
File yang ditentukan oleh variabel CSVTBLG tidak ditemukan.
SV_COMM_SUBSYSTEM_NOT_LOADED
Kode pengembalian utama; komponen yang diperlukan tidak dapat dimuat atau dihentikan saat memproses kata kerja. Dengan demikian, komunikasi tidak dapat terjadi. Hubungi administrator sistem untuk tindakan korektif.SV_INVALID_VERB
Kode pengembalian utama; parameter opcode tidak cocok dengan kode operasi kata kerja apa pun. Tidak ada kata kerja yang dijalankan.SV_INVALID_VERB_SEGMENT
Kode pengembalian utama; VCB diperluas di luar akhir segmen data.SV_UNEXPECTED_DOS_ERROR
Kode pengembalian utama; salah satu kondisi berikut terjadi:Sistem Microsoft Windows mengalami kesalahan saat memproses kata kerja. Kode pengembalian sistem operasi dikembalikan melalui kode pengembalian sekunder. Jika masalah berlanjut, hubungi administrator sistem untuk tindakan korektif.
CSV dikeluarkan dari perulangan pesan yang dipanggil oleh aplikasi lain yang mengeluarkan panggilan fungsi Windows SendMessage , daripada panggilan fungsi Windows PostMessage yang lebih umum. Pemrosesan kata kerja tidak dapat dilakukan.
CSV dikeluarkan ketika SendMessage memanggil aplikasi Anda. Anda dapat menentukan apakah aplikasi Anda telah dipanggil dengan SendMessage dengan menggunakan panggilan fungsi Api Windows InSendMessage .
Komentar
Kumpulan karakter tipe A terdiri dari:
Huruf besar.
Angka 0 sampai 9.
Karakter khusus $, #, @, dan spasi.
Kumpulan karakter ini didukung oleh tabel konversi tipe A yang disediakan sistem.
Karakter pertama dari string sumber harus berupa huruf besar atau karakter khusus $, #, atau @. Spasi hanya diperbolehkan dalam posisi berikutnya. Huruf kecil ASCII diterjemahkan ke huruf besar EBCDIC ketika arahnya adalah ASCII ke EBCDIC.
Jenis set karakter AE terdiri dari:
Huruf besar.
Huruf kecil.
Angka 0 sampai 9.
Karakter khusus $, #, @, titik, dan spasi.
Kumpulan karakter ini didukung oleh tabel konversi AE jenis yang disediakan sistem.
Karakter pertama dari string sumber dapat berupa karakter apa pun dalam set karakter, kecuali spasi. Spasi hanya diperbolehkan dalam posisi berikutnya.
Selama konversi, kosong yang disematkan (termasuk kosong di posisi pertama) dikonversi ke 0x00. Meskipun konversi semacam itu akan selesai, CONVERSION_ERROR dikembalikan sebagai kode pengembalian sekunder, yang menunjukkan bahwa pustaka CSV telah menyelesaikan konversi yang tidak dapat diubah pada data yang disediakan.
Untuk Windows, deskripsi COMTBLG harus menunjuk ke registri Windows di bawah \SnaBase\Parameters\Client.
Data untuk tabel konversi tipe G harus panjang file ASCII 32 baris. Setiap baris harus terdiri dari 32 digit heksadesimal, mewakili 16 karakter, dan dihentikan oleh pengembalian pengangkutan dan umpan garis. 16 baris pertama (256 karakter) menentukan karakter EBCDIC tempat karakter ASCII dikonversi; 16 baris tersisa menentukan karakter ASCII tempat karakter EBCDIC dikonversi.
Digit heksadesimal A hingga F dapat berupa huruf besar atau kecil. Namun, Anda mungkin ingin membuat huruf besar digit ini untuk memastikan kompatibilitas dengan IBM ES untuk OS/2 versi 1.0.
Nota
Anda dapat menggunakan GET_CP_CONVERT_TABLE untuk membuat tabel konversi jenis G yang ditulis pengguna dalam memori, lalu menyimpan tabel dalam file.