[SP-pm] horario corrente usando threads?

Geraldo Netto geraldonetto at gmail.com
Fri Mar 26 08:37:25 PDT 2010


Opa!

Interessante Solli,
na realidade, eu me considero newbie, principalmente em perl, eheheh :P
eu também gostei da ideia do loop...

btw, por hora eu tenho isso:

#!/usr/bin/perl
#use warnings;
#use strict;
use Audio::Mixer;
use DateTime;
use Tk;

my $dt = DateTime->now;
my $dth = $dt->hour;
my $dtm = $dt->minute;
my $dts = $dt->second;

# volume increment (+ to increase, - to decrease)
my $increment = -10;

# time step
my $step = 10;

my $v = 50;
my $volume = Audio::Mixer::get_cval( 'vol' );

my $mw = MainWindow->new;
$mw->title('Sound Minimiser');
my $lbltitle = $mw->Label(-text=>'Sound Minimiser
'.$version)->pack(-anchor=>'w');
my $lblcurtime = $mw->Label(-text=>'Current Time:
'.$dth.':'.$dtm.':'.$dts)->pack(-anchor=>'w');
my $lblnewtime = $mw->Label(-text=>'New Time:
'.$dth.':'.($dtm+$step).':'.$dts)->pack(-anchor=>'w');
my $lblos = $mw->Label(-text=>'Operating System: '.$^O)->pack(-anchor=>'w');
my $lblcurvol = $mw->Label(-text=>'Current volume:
'.$volume)->pack(-anchor=>'w');
my $lblvolinc = $mw->Label(-text=>'Volume increment:')->pack(-anchor=>'w');
my $txtvolinc = $mw->Entry(-textvariable=>\$increment)->pack(-anchor=>'e');
my $lbltimestp = $mw->Label(-text=>'Time step:')->pack(-anchor=>'w');
my $txtstep = $mw->Entry(-textvariable=>\$step)->pack(-anchor=>'e');
my $btnexit = $mw->Button(-text=>'Exit',
-command=>sub{exit})->pack(-anchor=>'center');

MainLoop;

if ( Audio::Mixer::set_cval( 'vol', $v, $v ) ) {
    die("Can't set volume...");
}

na pratica só faz 2 coisas: desenhar a gui e colocar o volume em 50%
btw, eventualmente se alguem tiver alguma sugestão,
elas definitivamente serão bem vindas!

ah, uma coisa curiosa,
pelos testes que eu fiz, o datetime usa
a mesma fonte de informação do hwclock(hardware)
e o meu kubuntu 9.10 reporta o horario errado
por causa disso...
na realidade eu já corrigi o problema forçando
a configuração do hwclock no boot, mas por
um acaso teria alguma outra forma de usar
o datetime(ou qualquer outro modulo) que pegue
o horario do software e não o do hardware
como faz o hwclock?

como sempre, obrigado mesmo!

Abraços,

Geraldo
Non dvcor, dvco => Sapere Aude
São Paulo, Brasil, -3gmt
site: http://exdev.sf.net/
github: http://github.com/geraldonetto
msn: geraldo_boca em hotmail.com
skype: geraldo-netto
icq: 145-061-456

2010/3/26 Solli Honorio <shonorio em gmail.com>:
> Não dá para saber se existe uma maneira 'melhor' se eu não sei qual maneira
> você está fazendo .... mas sei que vc tem um bom conhecimento de
> programação, sabe que isto depende de qual tecnologia vc está utilizando. Se
> vc estiver utilizando um processo baseado em evento/schedule (o POE e o
> AnyEvent são ótimos exemplos para isto e eu acho que cai bem no que vc está
> fazendo), você  terá que criar e gerenciar uma fila de eventos. Se você
> tiver utilizando tecnologia de processamento paralelo, então threads e forks
> é a maneira. Se vc tiver apenas criando um loop poderá executar a
> atualização a cada loop....
>
> Solli M. Honório
>
> Em 26 de março de 2010 06:25, Geraldo Netto <geraldonetto em gmail.com>
> escreveu:
>>
>> Pessoal,
>>
>> eu tava mexendo no 'abaixador de volume temporizado' e
>> agora, eu to procurando algum jeito atualizar na tela o horário
>> e eu quero saber se existe um jeito melhor ou mais simples
>> que lançar uma thread que fica atualizando o horário?
>>
>> Inté!
>>
>> Geraldo
>> Non dvcor, dvco => Sapere Aude
>> São Paulo, Brasil, -3gmt
>> site: http://exdev.sf.net/
>> github: http://github.com/geraldonetto
>> msn: geraldo_boca em hotmail.com
>> skype: geraldo-netto
>> icq: 145-061-456
>> _______________________________________________
>> SaoPaulo-pm mailing list
>> SaoPaulo-pm em pm.org
>> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>
>
>
> --
> "o animal satisfeito dorme". - Guimarães Rosa
>
> _______________________________________________
> SaoPaulo-pm mailing list
> SaoPaulo-pm em pm.org
> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>


More information about the SaoPaulo-pm mailing list