For Android device For iOS device
១៥
មករា

​គ្រប់គ្រង Mouse តាមរយៈ C++

រៀបរៀងដោយ៖ លោក សំ កក្កដា នាយក​ទស្សនាវដ្ដី និង​ថ្នាក់​បណ្តុះបណ្តាលអាន-ANT និងកែ​សម្រួល​ឡើងវិញដោយលោក អួន ហ៊ិនស៊ី នៅខែ ធ្នូ ឆ្នាំ ២០១៦

​ក្នុង​ការ​បង្កើត​ Software មិនថា​លោកអ្នក​ប្រើ​ប្រាស់​ភាសា​ណាមួយ​នោះទេ ការ​គ្រប់គ្រង​ Interface ជារឿងមួយ ​ដែល​ត្រូវតែគិត​ផងដែរ​ ។  ទន្ទឹមនឹងនោះ ភាព​ងាយស្រួល​របស់ User ​ទៅលើ​ការបញ្ជា ឬ​ ​បញ្ចូល​ទិន្នន័យ​ ​តាមរយៈ​ Interface ​ក៏​នឹងកើតមាន​ផងដែរ ។

Mouse គឺជា​ឧបករណ៍​ input មួយ​ដែល​គ្រប់​គ្នា​ប្រើ​ប្រាស់​កុំព្យូទ័រ​ស្ទើរមិន​អាចអត់វាបាន ព្រោះ​តាមរយៈ​ pointer របស់វាគេនឹងចុច​ទៅលើ​ទីតាំង​ណាមួយ​នៃ interface បាន​យ៉ាង​លឿន ។ សម្រាប់​កម្មវិធី​ដែល​បង្កើត​ឡើង​ដោយដំណើការ​ក្នុង​ Windows Forms វាពុំមែនជា​បញ្ហា​ឈឺក្បាល​របស់អ្នក​ Programmers ឡើយ ប៉ុន្តែ​សម្រាប់​ ​កម្មវិធី​ដែល​ដំណើការ​ក្នុង​ DOS mode  (Console Applications) Mouse ទើបជា​បញ្ហា​ដែល​ត្រូវបាន​គិត ជា​ពិសេស​ ​លោកអ្នក​ដែល​បាននឹង​កំពុង​រៀនភាសា Pascal, QBasic, C,  ឬ​ C++ តែងតែចោទជា​សំណួរ​ថាតើ ​ខ្ញុំ​ត្រូវ​ប្រើ​ code ​យ៉ាង​ម៉េចទើបអាចបញ្ជា Mouse បាន?”

ឥឡូវនេះវាលែងជា​បញ្ហា​សំខាន់​របស់​លោកអ្នក​ទៀតហើយ​សម្រាប់​ការ​គ្រប់គ្រង​ Mouse ​ក្នុង​កម្មវិធី​របស់​លោកអ្នក តាមរយៈ​ទស្សនាវដ្ដី និង​ថ្នាក់​បណ្តុះបណ្តាល​កុំព្យូទ័រ​អាន-ANT អ្នកនឹងបានដឹងដោយងាយ​បំផុត ។

ជាធម្មតា Mouse អាច​ត្រូវបាន​ប្រើ​ទាំង​ក្នុង​ Text modeនិង Graphics mode  ប៉ុន្តែ ជា​ទូទៅ​ច្រើន​ប្រើ​នៅ​ក្នុង​ Graphics mode ​ព្រោះ​ interface ​ច្រើន​រចនាឡើងដោយ Functions  ឬ​ classes នៅ​ក្នុង​ Graphics libraries 

មុននឹង​លោកអ្នក​ស្វែងយល់ពី code ​ដែល​បញ្ជា mouse សូមមើល​នូវ​មុខងារ Word register ​សំខាន់​ៗ​របស់ mouse ​ដែល​គ្រប់គ្រង​ដោយ interrupt លេខ ៥១ (​ក្នុង​គោល១៦ គឺ​ស្មើនឹង​ 0x33)

អនុវត្តន៍​កូដ៖

កូដ​ខាងក្រោម​នឹង​បង្ហាញ​ពីរបៀប​កំណត់​ផ្ទៃនិងព្រំដែន​ដែល​ mouse អាចបំលាស់ទី ការ​បង្ហាញ​ពីទីតាំង អាប់ស៊ីសនិងអ័រដោនេរ ព្រមទាំង​ស្ថានភាព​ប្រភេទ​ប៊ូតុង mouse ​ដែល​បានចុច ។   ហើយ ដើម្បី​អាច​ដំណើរ​ការ​កូដ​ខាងក្រោម​បានយើងអាច​ប្រើ​ Software Turbo C++ 4.0 ​ដែល​អាច​ដំណើរ​ការ​នៅលើ​ Windows 7/8/8.1 ​ព្រោះ​កូដនេះវាអាច​ដំណើរ​ការ​ស្គាល់​តែជាមួយ Compiler 16 bits តែប៉ុណ្ណោះ ។

​បន្ទាប់ពី​លោកអ្នក​ចុច Link ខាងលើ ដើម្បី Download ឬ​ចុចទីនេះ ដើម្បី​ធ្វើការ Download កម្មវីធី Turbo C++ 4.0 ដើម្បី​ដំឡើង​រួចហើយ សូមបើកកម្មវីធី Turbo C++ 4.0 Windows Windows 8 64Bit Version  ដើម្បី​ធ្វើការ​អនុវត្ត​ទាំងអស់​គ្នា​ជាមួយកូដ C++ ​តាមរយៈ​ទស្សនាវដ្ដី​អាន-ANT ដូច​ខាងក្រោម​នេះ៖

ពន្យល់កូដ៖

- dos.h ជា header file ចាំបាច់​សម្រាប់​ REGS union និងការ​ប្រើ​ប្រាស់ delay function

- int86 ជា software interrupt function ​ប្រើ​សម្រាប់​ register ​ទៅកាន់​ software interrupt (registers)  ហើយនឹង​ផ្ដល់​មកវិញ​នូវ​តម្លៃ​ AX 

Syntax: int int86 (int intrnum, union REGS *inregs, union REGS *outregs) ;

- delay ជា function ​សម្រាប់​ពន្យាការអនុវត្តន៍កូដដោយគិតពេលវេលាជា milliseconds 

Syntax: void delay (unsigned milliseconds) ;

- DETECT នឹងចាប់យកដោយស្វ័យ​ប្រវត្តិ​ទៅកាន់​ BGI graphics driver

- initgraph ជា function ​សម្រាប់​ចាប់ផ្តើម graphics system mode

Syntax: void initgraph (int *graphDriver, int *graphMode, char *pathDriver) ;

- outtextxy ជា function ​សម្រាប់​កំណត់​ទីតាំងកូអ័រដោនេរ​ក្នុង​ graphics mode  ដើម្បី​បង្ហាញ​ text

Syntax: void outtextxy (int x, int y, char *text) ;

- setcolor ​សម្រាប់​​កំណត់​ពណ៌​រូបភាព​

Syntax: void setcolor (int color) ;

- settextstyle ​សម្រាប់​​កំណត់​ font, ទិសដៅ បង្ហាញ​តួអក្សរ និង​ទំហំ​ font

Syntax: void settextstyle (int font, int direction, int size) ;

- setfillstyle ​សម្រាប់​​កំណត់​ផ្ទៃ និងដាក់ពណ៌​ឲ្យ​ផ្ទៃ

Syntax: void setfillstyle (int pattern, int color) ;

- itoa ​សម្រាប់​​បំប្លែង​តម្លៃ​តម្លៃ​ integer ទៅ text ​ក្នុង​ប្រព័ន្ធ​គោល​ណាមួយ​

Syntax: void itoa (int value, char *text, int base) ;

​លទ្ធផល​ពេល Run កូដ​ខាងលើ​នៅ​ក្នុង​ Turbo C++ 4.0 

· ពេល​មិនទាន់​ធ្វើការ​បំលាស់ទីរបស់ Mouse ដោយការបញ្ជាដោយ User

ការធ្វើបំលាស់ទីរបស់ Mouse ដោយការបញ្ជាដោយ User

*** ដកស្រង់ចេញពី​ទស្សនាវដ្ដី​អាន-ANT ច្បាប់​ទី ១០ ប្រចាំខែ កញ្ញា ដល់តុលា ឆ្នាំ ២០០៩ ព្រមទាំង​កែ​សម្រួល​ចុះផ្សាយឡើងវិញនៅខែធ្នូ ឆ្នាំ ២០១៦ ដោយលោក 

*** ចុចទីនេះ ដើម្បី​ធ្វើការ Download កម្មវិធី ANT Croix ដោយឥតគិតថ្លៃ http://antkh.com/tech/31

*** សម្រាប់​កម្មវិធី​អានផេឌៀ ត្រូវបាន update ចេញពីវចនានុក្រមអាន-ANT ឆ្នាំ ២០១១ និង ២០១២

​ដំណើរ​ការ​លើ Windows (ចាប់ពី Windows 8 ឡើងទៅ) អាច Download ដោយឥតគិតថ្លៃ

មតិ និង​យោបល់​ទៅលើ​អត្ថបទ​នេះ (តាម Facebook)

ខាងក្រោម​នេះ​ជា​យោបល់​ផ្សេងៗ​របស់​អ្នកទស្សនា