精華區beta SetupBBS 關於我們 聯絡資訊
/* 很簡陋的一個小工具, 提供給大家做個參考 */ /* 有錯誤的地方也請大家不吝指教 ^__^ */ /* Author: weichung.bbs@bbs.ntit.edu.tw */ /* config.h */ + #define INPUT_TOOLS /* edit.c */ /* 加入以下 function 即可, 別忘記再找個 hot-key 讓它執行以下 function */ #ifdef INPUT_TOOLS static void input_tools() /* 991027:weichung:符號輸入工具 */ { char msg1[] = {"1.括符方塊 2.線條箭頭 3.數字標點?(N:下一頁)[Q]"}; char msg2[] = {"4.圖案數字 5.希臘字母 6.注音符號?(P:上一頁)[Q]"}; char *ansi1[5][10]= { {"▁", "▂", "▃", "▄", "▅", "▆", "▇", "█", "◢", "◣"}, {"▏", "▎", "▍", "▌", "▋", "▊", "▉", "◥", "◤", "("}, {")", "{", "}", "〔", "〕", "【", "】", "《", "》", "〈"}, {"〉", "「", "」", "『", "』", "︻", "︼", "︽", "︾", "︵"}, {"︶", "︷", "︸", "︹", "︺", "﹁", "﹂", "﹃", "﹄", ""} }; char *ansi2[5][10]= { {"┌", "┬", "┐", "├", "┼", "┤", "└", "┴", "┘", "─"}, {"│", "╭", "╮", "╰", "╯", "▔", "▕", "╱", "╲", "╳"}, {"═", "╞", "╪", "╡", "∕", "﹨", "↑", "↓", "←", "→"}, {"↖", "↗", "↙", "↘", "∥", "∣", "﹉", "﹊", "﹍", "﹎"}, {"﹋", "︴", "﹏\", "–", "", "", "", "", "", ""} }; char *ansi3[5][10]= { {",", "、", "。", ".", "‧", ";", ":", "?", "!", "…"}, {"‘", "’", "“", "”", "〝", "〞", "#", "&", "*", "※"}, {"§", "﹡", "+", "-", "×", "÷", "±", "<", ">", "="}, {"≦", "≧", "≠", "∞", "≒", "≡", "~", "∫", "∮", "♀"}, {"♂", "∵", "∴", "∩", "∪", "⊥", "∠", "∟", "⊿", ""} }; char *ansi4[5][10]= { {"○", "●", "△", "▲", "◎", "☆", "◇", "◆", "□", "■"}, {"▽", "▼", "㊣", "⊕", "⊙", "0", "1", "2", "3", "4"}, {"5", "6", "7", "8", "9", "Ⅰ", "Ⅱ", "Ⅲ", "Ⅳ", "Ⅴ"}, {"Ⅵ", "Ⅶ", "Ⅷ", "Ⅸ", "Ⅹ", "〡", "〢", "〣", "〤", "〥"}, {"〦", "〧", "〨", "〩", "十", "卄", "卅", "", "", ""} }; char *ansi5[5][10]= { {"Α", "Β", "Γ", "Δ", "Ε", "Ζ", "Η", "Θ", "Ι", "Κ"}, {"Λ", "Μ", "Ν", "Ξ", "Ο", "Π", "Ρ", "Σ", "Τ", "Υ"}, {"Φ", "Χ", "Ψ", "Ω", "α\", "β", "γ", "δ", "ε", "ζ"}, {"η", "θ", "ι", "κ", "λ", "μ", "ν", "ξ", "ο", "π"}, {"ρ", "σ", "τ", "υ", "φ", "χ", "ψ", "ω", "", ""} }; char *ansi6[5][10]= { {"ㄅ", "ㄆ", "ㄇ", "ㄈ", "ㄉ", "ㄊ", "ㄋ", "ㄌ", "ㄍ", "ㄎ"}, {"ㄏ", "ㄐ", "ㄑ", "ㄒ", "ㄓ", "ㄔ", "ㄕ", "ㄖ", "ㄗ", "ㄘ"}, {"ㄙ", "ㄚ", "ㄛ", "ㄜ", "ㄝ", "ㄞ", "ㄟ", "ㄠ", "ㄡ", "ㄢ"}, {"ㄣ", "ㄤ", "ㄥ", "ㄦ", "ㄧ", "ㄨ", "ㄩ", "˙", "ˊ", "ˇ"}, {"ˋ", "", "", "", "", "", "", "", "", ""} }; char buf[128] = "內碼輸入工具:", tmp[5]; char *show[5][10]; int ch, i, page; ch = 'p'; do { strcpy(buf + 13, (ch == 'p')?msg1:msg2); outz(buf); ch = vkey(); }while(ch == 'p' || ch == 'n'); if(ch < '1' || ch > '6') return; switch(ch) { case '1': memcpy(show, ansi1, sizeof(show)); break; case '2': memcpy(show, ansi2, sizeof(show)); break; case '3': memcpy(show, ansi3, sizeof(show)); break; case '4': memcpy(show, ansi4, sizeof(show)); break; case '5': memcpy(show, ansi5, sizeof(show)); break; case '6': memcpy(show, ansi6, sizeof(show)); break; } page = 0; for(;;) { buf[0] = '\0'; for(i = 0; i < 10; i++) { sprintf(tmp, "%d%s%s ", i, ".", show[page][i]); strcat(buf, tmp); } strcat(buf, "(P:上 N:下)[Q]\0"); outz(buf); ch = vkey(); if(ch == 'p') { if(page) page -= 1; } else if(ch == 'n') { if(page != 4) page += 1; } else if(ch < '0' || ch > '9') { buf[0] = '\0'; break; } else { ve_string(show[page][ch - '0']); break; } buf[0] = '\0'; } } #endif -- ※ Origin: 碧海藍天 <bbs.ntit.edu.tw> ◆ From: dial23.ntcic.edu.tw