កក្កដា
ការបង្កើត Menu Action ជាមួយនឹងការប្រើ Template Function តាមរយៈ C++
យើងទាំងអស់គ្នាប្រហែលជា ធ្លាប់បានសិក្សារួចមកហើយតាមរយៈ ទស្សនាវដ្ដីអាន-ANT នូវការចាក់ Background Color នៅក្នុងប្រអប់តាមរយៈ C++ និងការប្រើ Function និង Ascii Code ក្នុងការគ្រប់គ្រងលើការផ្លាស់ប្តូរ Menu តាមរយៈ C++ នៅក្នុងអត្ថបទមុនៗដែលទស្សនាវដ្ដីអាន-ANT បានចេញផ្សាយ ។ ដូច្នេះ ថ្ងៃនេះ តាមរយៈ ទស្សនាវដ្ដីអាន-ANT យើងខ្ញុំនឹងលើកយកអត្ថបទថ្មីមួយទៀតនិយាយពី ការបង្កើត Menu Action ជាមួយនឹងការប្រើ Template Function តាមរយៈ C++ ដោយការប្រើប្រាស់ Function ដែលយើងបង្កើតឡើងដោយខ្លួនឯងផ្ទាល់ ដើម្បីមកចែករំលែកជូនដល់បងប្អូនដែលចូលចិត្តសិក្សាទាក់ទងនឹង Programming Language ឲ្យបានយល់ដឹងបន្ថែមមួយកម្រិតទៀត ។ ក្រោយពីអ្នកទាំងអស់គ្នាបានសិក្សានិងអនុវត្តតាមនូវអត្ថបទនេះហើយ នោះអ្នកទាំងអស់គ្នានឹងទទួលបាន និងយល់ពីរបៀបប្រើប្រាស់ Menu Action បានច្បាស់លាស់ ។ ជាពិសេសយល់ច្បាស់ពីការបង្កើត Template Function ជាច្រើនដូចជា Inserts, Deletes, Edits, Sorts, displays ដែលវាមានសមត្ថភាពអាចស្គាល់គ្រប់ data type ស្ទើរតែទាំងអស់ ។ ដើម្បីឲ្យកាន់តែច្បាស់បន្ថែមទៀតនូវខ្លឹមសារនៃអត្ថបទនេទាំងស្រុង ថាតើយើងប្រើ Menu Action និង Template Function យ៉ាងណានោះ សូមបង្វែរអារម្មណ៍អ្នកទាំងអស់គ្នាមកតាមដានសិក្សាដូចខាងក្រោមនេះ៖
♣ កូដ C++ Programming
♣ ពន្យល់កូដ C++
• iostream ជា header file សម្រាប់ប្រើ cin : input, cout : output, endl : new line
• conio.h ជា header file សម្រាប់ប្រើ getch ()
• antheader.h ជា header file សម្រាប់ប្រើ foreColor function ជា function ដែលបង្កើតឡើងសម្រាប់ប្រើក្នុងការ ដាក់ព៌ណឲ្យអក្សរនិងព៌ណផ្ទៃទៅតាម Line នីមួយៗយោងតាមកូដពណ៌ដែលបង្ហាញនៅលើ Console , gotoxy function សម្រាប់ប្រើក្នុងការកំណត់នូវកូអរដោណេ, និង function ផ្សេងៗទៀត ដែល header file នេះត្រូវធ្វើការ include ចូលក្នុង directoryរបស់ IDE (Dev C++, …) អាចធ្វើការ download នៅទីនេះបាន ។
• stdlib.h ជា header file សម្រាប់ប្រើ function system (“ ”) ផ្សេងៗ
• system (“mode con: cols=60 lines=35”) ជា built-in function មួយប្រើសម្រាប់ធ្វើការកំណត់ Layout របស់ Console ដែល cols ជា បណ្តោយ ឬប្រវែងសរុបរបស់ console និង lines ជាកម្ពស់សរុបរបស់ console ដែលវាស្ថិតក្នុង stdlib.h
• menuAction.h ជា Header file មួយដែលផ្តុំឡើងដោយ function showMoveMenu និង function singleBox យើងក៏ អាចទាញយក Header file នេះទៅប្រើប្រាស់បាន ប៉ុន្តែ action នីមួយៗ អាស្រ័យលើ Ascii code
ដែលយើងផ្ដល់ឲ្យ ចុច download នៅទីនេះ ។
• showMoveMenu (string menu [ ] , int n, int x, int y, int w, int h, int coordMenuX, int bgcolor, int movecolor, int &show_index) ជា function ដែលបង្កើតឡើងសម្រាប់ប្រើក្នុងការបង្កើតជាប្រអប់ដែលមានរាងបួនជ្រុងនឹងភ្ជាប់ជាមួយ ការចាក់ព៌ណ Background ហើយធ្វើការបង្ហាញ Menu នៅក្នុងប្រអប់នោះដែលយើងអាចជ្រើសរើស ឬផ្លាស់ប្តូរ Menu នីមួយៗបានតាមរយៈ ការប្រើ Ascii code ហើយ function នេះមានលក្ខណៈបត់បែនបានច្រើនដែលមាន Parameters៖
√ string menu [ ] ជា array menu មួយវិមាត្រមានប្រភេទជាអក្សរដែលតំណាងឲ្យ Menu ណាមួយ
√ int n តំណាងឲ្យ size សរុបរបស់ array menu ដែលចង់បាន
√ int x និង int y ជាកូអរដោណេនៃការកំណត់ទីតាំងរបស់ប្រអប់នៅលើ Console ហើយ x តំណាងឲ្យផ្នែកអាប់ ស៊ីស ឬជួរដេក និង y តំណាងឲ្យផ្នែកអរដោណេ ឬជួរឈរ
√ int w តំណាងឲ្យប្រវែងសរុបរបស់ប្រអប់ និង int h តំណាងឲ្យកម្ពស់សរុបរបស់ប្រអប់
√ int coordMenuX តំណាងឲ្យផ្នែកអាប់ស៊ីសនៃទីតាំងរបស់ array menu
√ int bgcolor តំណាងឲ្យព៌ណអក្សរនិងព៌ណផ្ទៃរបស់ប្រអប់ និង Array Menu
√ int movecolor តំណាងឲ្យព៌ណអក្សរនិងព៌ណផ្ទៃសម្រាប់ធ្វើការជ្រើសរើស Menu
√ និង int &show_index តំណាងឲ្យការចង្អុលបង្ហាញនូវ index ណាមួយរបស់ array Menu នៅពេលធ្វើការ ជ្រើសរើស Menu នោះ
• singleBox (int x, int y, int w, int h, int color) ជា function ដែលយើងអាចគូសចេញជារូបរាងបួនជ្រុងបាន
• setcursor (0, 0) ប្រើសម្រាប់បិទ Cursor មិនឲ្យឃើញនៅលើ Console ដែលវាស្ថិតក្នុង antheader.h
• string menu [ N] ជា array menu ដែលជា argument ប្រើសម្រាប់បោះតម្លៃទៅឲ្យ function showMoveMenu ទៅតាម Parameter menu [ ] និង n
• template< class T > void inserts (T objects [ ] , int n) ជា template function ដែលយើងអាចប្រើ Array ដែលមាន data type គ្រប់ប្រភេទបានក្នុងផ្ដល់តម្លៃទៅឲ្យ array នោះ
• template< class T > void edits (T objects [ ] , int n) , template< class T > void deletes (T objects [ ] , int n) , template< class T > void shows (T objects [ ] , int n) , template< class T > void sorts (T objects [ ] , int n) ស្រដៀងនឹង template function ដែរ គ្រាន់តែយើងប្រើវាសម្រាប់ edits, deletes, shows, sorts array ណាមួយ
• clrXY (int x, int y, int count) ជា function មួយស្ថិតក្នុង antheader.h ប្រើសម្រាប់សម្អាត Screen Output ទៅ តាមកូរអរដោណេ និង ចំនួន characters ដែលចង់លុបចោល
• delay (int milisecond) ជា function មួយស្ថិតក្នុង antheader.h ប្រើសម្រាប់ Pause Screen ទៅតាមមីលីវិនាទីដែល យើងផ្ដល់ឲ្យ
♣ លទ្ធផល Run កូដ C++
បន្ទាប់ពីចុចប៊ូតុង Insert Value យើងនឹងឃើញផ្ទាំងថ្មីមួយទៀតសម្រាប់ឲ្យយើងបញ្ចូលទិន្នន័យដូចរូបខាងក្រោម៖
បន្ទាប់ពីយើងចុច Esc ហើយជ្រើសរើសនូវប៊ូតុង Shows Value យើងទទួលបានលទ្ធផលដូចរូបខាងក្រោម៖
បន្ទាប់ពីយើងចុច Esc ហើយជ្រើសរើសនូវប៊ូតុង Sort Value ដូចរូបខាងក្រោម វានឹងធ្វើការ តម្រៀបទិន្នន័យឲ្យយើង ។
នោះយើងអាចត្រលប់ទៅជ្រើសរើសប៊ូតុង Show Value ម្តងទៀត ដើម្បីមើលលទ្ធផលក្រោយពេលតម្រៀបទិន្នន័យរួចដូចរូបខាងក្រោម៖
បន្ទាប់ពីយើងចុច Esc ហើយជ្រើសរើសនូវប៊ូតុង Delete Value យើងនឹងឃើញផ្ទាំងថ្មីមួយទៀតសម្រាប់ឲ្យយើងបញ្ចូលទិន្នន័យណាមួយដែលយើងចង់លុបវាចេញដូចរូបខាងក្រោម៖
បន្ទាប់ពីយើងចុច Esc ហើយជ្រើសរើសនូវប៊ូតុង Shows Value ម្តងទៀត ដើម្បីមើលលទ្ធផលក្រោយពេលលុបទិន្នន័យរួចដូចរូបខាងក្រោម៖
រូបភាពខាងលើទាំងអស់នេះ គ្រាន់តែជាលទ្ធផលមួយដែលយើងខ្ញុំជ្រើសរើសយកមកបង្ហាញតែមួយផ្នែកតូចបន្ទាប់ពីដំណើរការកូដ C++ ខាងលើរួច ។ យើងក៏អាចធ្វើការកំណត់ទំហំប្រអប់ ឬទំហំរបស់ Console , menu ,Action Menu, Template Function ឬពណ៌ផ្សេងៗ ដែលយើងចង់បានយោងទៅតាមអត្ថបទនេះផងដែរ ដូចមានក្នុង function main ដែលយើងបានហៅមកប្រើ ។ ដូច្នេះ អ្នកទាំងអស់គ្នាអាច ប្រើគោលគំនិតនៃ Action Menu ទៅប្រើតាមតម្រូវការដែលអ្នកទាំងអស់គ្នាចង់បាន ។
♦ រៀបរៀងអត្ថបទដោយ៖ លោក អូន ហ៊ិនស៊ី
→ ចំណេះដឹង C++ បន្ថែមមានលើ YouTube Channel ANT Training Technology
♦ វគ្គ C/C++ តម្លៃ ៥៩ដុល្លា http://training.antkh.com/c_cpp.aspx
♦ សូមចូលរួមជាសមាជិក ANT Training Group ដើម្បីតាមដានសម្មភាពប្រចាំថ្ងៃជាមួយអាន-ANT
*** ចុច Like គេហទំព័រ www.antkh.com ដើម្បីទទួលបានអត្ថបទថ្មីៗដែលទាក់ទងនឹងបច្ចេកវិទ្យារៀងរាល់ថ្ងៃ
មតិ និងយោបល់ទៅលើអត្ថបទនេះ (តាម Facebook)
ខាងក្រោមនេះជាយោបល់ផ្សេងៗរបស់អ្នកទស្សនា