URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 6057
[ Назад ]

Исходное сообщение
"perl curses"

Отправлено klim_old , 05-Янв-07 11:34 
Впервые столкнулся. Нужно накатать инетрфейс на перловке, нашел и установил Curses, а как его юзать незнаю нашел на CPAN описание Curses::Forms в синопсисе:

#!/usr/bin/perl

  use Curses::Forms;

  $obj = Curses::Forms->new({
    ALTBASE     => 'MyCompany::Widgets',
    ALTFBASE    => 'MyCompany::Forms',
    COLUMNS     => 40,
    LINES       => 20,
    BORDER      => 1,
    BORDERCOL   => 'white',
    CAPTION     => 'New Record',
    CAPTIONCOL  => 'yellow',
    FOREGROUND  => 'black',
    BACKGROUND  => 'white',
    Y           => 1,
    X           => 1,
    INPUTFUNC   => \&scankey,
    DERIVED     => 0,
    AUTOCENTER  => 1,
    TABORDER    => [qw(btnOKCancel edtLogon edtPsswd)],
    FOCUSED     => 'edtLogon',
    WIDGETS     => {
      btnOKCancel   => {
        TYPE        => 'ButtonSet',
        LABELS      => [qw(OK Cancel)],
        Y           => 8,
        X           => 3,
        FOREGROUND  => 'white',
        BACKGROUND  => 'green',
        OnExit      => \&btns,
        },
      edtLogon      => {
        TYPE        => 'TextField',
        FOREGROUND  => 'white',
        BACKGROUND  => 'blue',
        CAPTION     => 'Logon',
        CAPTIONCOL  => 'yellow',
        LENGTH      => 21,
        Y           => 2,
        X           => 8,
        },
      edtPsswd      => {
        TYPE        => 'TextField',
        FOREGROUND  => 'white',
        BACKGROUND  => 'blue',
        CAPTION     => 'Password',
        CAPTIONCOL  => 'yellow',
        LENGTH      => 21,
        Y           => 5,
        X           => 8,
        PASSWORD    => 1,
      },
    });

  $form->setField(BORDER => 1);
  @taborder = @{$form->getField('TABORDER')};

  $form->addWidget('btnClose', { %options });
  $widget = $form->getWidget('btnClose');

  $form->addSubform('MainSubFrm', { %options });
  $subform = $form->getSubform('MainSubFrm');

  $form->execute($mwh);

  pushwh($mwh);
  popwh();
  refreshwh();
  lowerwh($wh);
  raisewh($wh);

но у меня выдает ошибку:

syntax error at ./test2.pl line 55, near "})"
Missing right curly or square bracket at ./test2.pl line 72, at end of line
Execution of ./test2.pl aborted due to compilation errors.

Где можно надыбать доки по сабжу желательно на великом и могучем. Или как использовать синопсис чтоб разобраться в этих Curses


Содержание

Сообщения в этом обсуждении
"perl curses"
Отправлено ACCA , 06-Янв-07 09:35 
>Впервые столкнулся. Нужно накатать инетрфейс на перловке, нашел и установил Curses, а

Интерфейсы сейчас модно на CGI писать, нафига Curses?


[...]
>        X           => 8,
>        PASSWORD    => 1,
>      },

Вставь ещё раз (для WIDGETS):
       },


>    });
>
>  $form->setField(BORDER => 1);

[...]


>syntax error at ./test2.pl line 55, near "})"
>Missing right curly or square bracket at ./test2.pl line 72, at end
>of line
>Execution of ./test2.pl aborted due to compilation errors.


Тебе Perl сказал - там ошибка, скобка пропущена.

"
- У меня программа зависла.
- А что говорит?
- Нажмите Ок для продолжения.
- Нажимать пробовал?
- Как-то не догадался...
"

На будущее - программы на Perl должны начинаться так:

#!/usr/bin/perl -w
use strict;


Без этого есть шанс дописывать прогу в дурдоме.


"perl curses"
Отправлено klim_old , 08-Янв-07 06:40 
Смутило что в синопсисе так написано, (АВТОР ВСЕТАКИ ПИСАЛ), а про скобку я и сам сразу понял но смутился