======================================================================
 TUI::Handy Cheat Sheet                                  [UR] اردو
======================================================================

[ 1. تنصیب اور لوڈنگ ]

  کوئی CPAN انحصار نہیں؛ Handy.pm کو @INC میں کسی بھی ڈائریکٹری میں کاپی کریں، یا اسے براہ راست اسکرپٹ کے طور پر چلائیں۔

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

[ 2. فارم بنانا اور چلانا ]

  DSL سٹرنگ یا فائل سے فارم بنائیں، پھر run() کال کریں؛ نتیجہ ایک ہیش ریفرنس ہے جس کی چابیاں 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. کریکٹر انکوڈنگ ]

  غیر Windows سسٹمز پر UTF-8 اور Windows پر Shift_JIS (CP932) خودکار طور پر پہچانا جاتا ہے؛ 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. کمانڈ لائن استعمال ]

  بغیر کوئی Perl کوڈ لکھے DSL فائل کو براہ راست چلایا جا سکتا ہے۔

  perl Handy.pm form.txt

[ 10. مکمل مثال ]

  تمام ویجٹ اقسام کو یکجا کرنے والی ایک مختصر DSL مثال۔

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

[ 11. حوالہ جات ]

  مکمل دستاویزات lib/TUI/Handy.pm کے POD میں ہیں (perldoc TUI::Handy)۔ مصنف: INABA Hitoshi <ina.cpan@gmail.com>۔ لائسنس: Perl کی طرح ہی شرائط۔
