WxPerl кто юзал помогите с примером

Discussion in 'PHP' started by TikTik, 25 Feb 2018.

  1. TikTik

    TikTik Member

    Joined:
    20 Feb 2009
    Messages:
    287
    Likes Received:
    13
    Reputations:
    2
    Ребят помогите пожалуйста с примером выбираю GUI для своих простеньких скриптов на Perl

    c Тк в прицепи разобрался без проблем там как то все более менее логично, но нет многопоточности и интерфейс :(
    Вот накидал небольшую формачку помогите с примерчиком и хотяб минимальным описанием как вы делали это.
    Требуется открыть файл вывести его в листбокс посточно с работой прогрессБара
    Помогите с примером буду очень благодарен дальше я сам..
    HTML:
    use Wx;
    package MyApp;
    
    use vars qw(@ISA);
    
    @ISA=qw(Wx::App);
    
    sub OnInit {
      my( $this ) = @_;
    
     
      my( $frame ) = MyFrame->new();
    
     
      $this->SetTopWindow( $frame );
     
      $frame->Show( 1 );
    
      1;
    }
    
    package MyFrame;
    use vars qw(@ISA);
    @ISA=qw(Wx::Frame);
    
    sub new {
      my( $class ) = shift;
        my $this = $class->SUPER::new( undef, -1, 'File open', [-1,-1], [266, 257]);
        my $panel = Wx::Panel->new($this, -1);
    
        $this->{button1} = Wx::Button->new($panel, -1, 'File Open',[168,16], [73, 46]);
    
        $this->{progressbar1} = Wx::Gauge->new($panel, -1, 100, [21,192], [201, 17]);
        $this->{progressbar1}->SetValue('0');
    
        my $listbox2_list = [''];
        $this->{listbox2} = Wx::ListBox->new($panel, -1, [24,16], [137, 166], $listbox2_list);
        $this->{listbox2}->SetBackgroundColour(Wx::Colour->new(255, 255, 255));
    
    
      $this;
    }
    
    package main;  
    my( $app ) = MyApp->new();
    
    $app->MainLoop();
     
    #1 TikTik, 25 Feb 2018
    Last edited: 26 Feb 2018
  2. pas9x

    pas9x Elder - Старейшина

    Joined:
    13 Oct 2012
    Messages:
    419
    Likes Received:
    414
    Reputations:
    44
    Как это нет многопоточности? А это что? https://perldoc.perl.org/threads.html
    И вообще писать на перле в 2018 году - ты археолог чтоли?
     
  3. TikTik

    TikTik Member

    Joined:
    20 Feb 2009
    Messages:
    287
    Likes Received:
    13
    Reputations:
    2
    Ты наверное не понял при использовании ТК GUI ты не сможешь использовать потоки.
    на Perl и 2218 будет отлично писать почему Археолог.
    А на чем писать на Python ? Ruby ? модно ?
    Помне так если писать норм код то самый логичный и красивый Яп, а так та конечно можно в одну строку папиззздд..чит чтоб не кто ничего не понял и все подумают ужасс:p
     
  4. pas9x

    pas9x Elder - Старейшина

    Joined:
    13 Oct 2012
    Messages:
    419
    Likes Received:
    414
    Reputations:
    44
    Прочитал статью https://habrahabr.ru/post/65592/ . Лол. Я конечно знал что перл Г, но не думал что там всё так плохо.
    В таком случае тебе тут никто не поможет. Можешь страдать на своём перле, видимо тебе это нравится.

    Ну например на них. В современных языках всё работает нормально а в твоём древнем перле нет. И никто не собирается это исправлять. Почему не собирается исправлять? Потому что это исторический язык и нормальные люди на нём давно не пишут. И дело не в моде а в том, что сейчас актуально, активно развивается и работает без проблем.

    Я тоже могу сказать, что turbo pascal или qbasic отличные языки. Давайте писать на них.

    Если тебе нужна многопоточность без проблем + гуи - пиши на соответствующих языках. Например на яве или c# .
    Ява, напрмиер, настолько крутая что для её jvm реализовали почти все популярные языки. Одного только php несколько реализаций. Если ты упоролся перлом - можешь писать на Rakudo Perl.

    Кстати, ты можешь сделать костыль: запускать гуи в одном процессе а рабочий код с многопоточностью в другом. И взаимодейтсвовать они будут через файлик, [юникс] сокет, или через консольный ввод/вывод. Вот они - технологии 21 века :)

    PS: это специально для тебя http://pascalhp.net/tmp/java.mp3
     
    #4 pas9x, 27 Feb 2018
    Last edited: 27 Feb 2018
Loading...