======================================================================
 TUI::Handy Cheat Sheet                                  [KM] ភាសាខ្មែរ
======================================================================

[ 1. ការដំឡើង និងផ្ទុក ]

  គ្មានភាពអាស្រ័យលើ CPAN ទេ សូមចម្លង Handy.pm ទៅថតណាមួយក្នុង @INC ឬដំណើរការវាដោយផ្ទាល់ជាស្គ្រីប។

  use TUI::Handy;
  # or, as a command:  perl Handy.pm form.txt

[ 2. បង្កើត និងដំណើរការទម្រង់ ]

  បង្កើតទម្រង់ពីខ្សែអក្សរ DSL ឬឯកសារ រួចហៅ run() លទ្ធផលគឺជាឯកសារយោង hash ដែលមានស្លាកនៅក្នុង DSL ជាគន្លឹះ។

  my $tui  = TUI::Handy->new(dsl => $text);   # or new(file => $path)
  my $form = $tui->run;
  print "Company = $form->{Company}\n";

[ 3. សញ្ញាប្រអប់អត្ថបទ ]

  តួអក្សរបំពេញនៅក្នុង [ ] កំណត់ប្រភេទប្រអប់អត្ថបទ៖ _ សម្រាប់ទទឹងពាក់កណ្តាល # សម្រាប់លេខ $ ឬ \ សម្រាប់រូបិយប័ណ្ណ YYYYMMDD ឬ % សម្រាប់កាលបរិច្ឆេទ និងតួអក្សរទទឹងពេញសម្រាប់ប្រភេទ zenkaku។

  Company: [__________]
  Age:     [###]
  Price:   [$$$$$$]
  Date:    [YYYYMMDD]

[ 4. ប្រអប់ធីក និងប៊ូតុងជម្រើស ]

  [X]/[ ] គឺជាប្រអប់ធីក (តម្លៃ 1 ឬ 0) (*)/( ) ដាក់ជាក្រុមប៊ូតុងជម្រើសតាមបន្ទាត់ចំណងជើងមុន ដែលតម្លៃគឺជាអត្ថបទស្លាកដែលបានជ្រើសរើស។

  [X] Agree to terms
  Plan
  (*) Basic
  ( ) Premium

[ 5. ប៊ូតុង ]

  វង់ក្រចកការ៉េដែលគ្មានអត្ថបទស្លាកនៅពីមុខគឺជាប៊ូតុង សូមចុះឈ្មោះសកម្មភាពរបស់វាជាមួយ set()។

  $tui->set('Register', sub { my $form = shift; save($form); 0 });
  [Register]

[ 6. គ្រាប់ចុច ]

  TAB/ព្រួញចុះទៅវាលបន្ទាប់ Shift-TAB/ព្រួញឡើងទៅវាលមុន Enter Space និងគ្រាប់ចុចព្រួញកែសម្រួលវាល ឬធ្វើឲ្យប៊ូតុងសកម្ម ESC បោះបង់ទម្រង់។

[ 7. ការអ៊ិនកូដតួអក្សរ ]

  ស្វែងរក UTF-8 ដោយស្វ័យប្រវត្តិលើប្រព័ន្ធក្រៅពី Windows និង Shift_JIS (CP932) លើ Windows EUC-JP ក៏គាំទ្រដែរ អាចបដិសេធដោយ TUI_HANDY_ENCODING។

  $ENV{TUI_HANDY_ENCODING} = 'euc';   # utf8 / sjis / euc

[ 8. របៀបជួរជាជម្រើសបម្រុង ]

  នៅពេល stty មិនមាន (Windows cmd.exe សុទ្ធ) កម្មវិធីបញ្ជារបៀបជួរចល័តត្រូវបានប្រើដោយស្វ័យប្រវត្តិ អាចបង្ខំរបៀបជាមួយ TUI_HANDY_MODE។

  $ENV{TUI_HANDY_MODE} = 'line';      # ansi / line

[ 9. ការប្រើប្រាស់តាមបន្ទាត់ពាក្យបញ្ជា ]

  ឯកសារ DSL អាចដំណើរការដោយផ្ទាល់ដោយមិនចាំបាច់សរសេរកូដ Perl។

  perl Handy.pm form.txt

[ 10. ឧទាហរណ៍ពេញលេញ ]

  ឧទាហរណ៍ DSL ខ្លីមួយដែលរួមបញ្ចូលគ្រប់ប្រភេទ widget។

  Registration
  Company: [__________]
  Age:     [###]
  [X] Agree to terms
  Plan
  (*) Basic
  ( ) Premium
  [Register]

[ 11. ឯកសារយោង ]

  ឯកសារពេញលេញនៅក្នុង POD នៃ lib/TUI/Handy.pm (perldoc TUI::Handy)។ អ្នកនិពន្ធ៖ INABA Hitoshi <ina.cpan@gmail.com>។ អាជ្ញាបណ្ណ៖ លក្ខខណ្ឌដូចគ្នានឹង Perl។
