Thread kleine Warteanimation (5 answers)
Opened by RPerl at 2007-05-05 13:31

topeg
 2007-05-05 19:48
#76463 #76463
User since
2006-07-10
2611 Artikel
BenutzerIn

user image
Ein kleines Belspiel wie man das machen kann. Ich benutze hier "fork" um die eigendliche Animation durch zu führen und "SIGUSR1" um einen Fortschrittsbalken zu realisieren.

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!/usr/bin/perl
use strict;
use warnings;

my $guipid=fork();
unless($guipid)
{
  # GUI Läuft
  my @rotation=qw(/ - \ |);
  my $pos=0;
  my $del="\x08";
  $|=1;
  $SIG{USR1}=sub{ print $del,'.',$rotation[$pos]; };

  while(1)
  {
    print $del,$rotation[$pos];
    select(undef, undef, undef, 0.15);
    $pos++;
    $pos=0 if($pos >= @rotation);
  }
  exit(0);
}

# Programm läuft
for (0..10)
{
  kill('USR1',$guipid);
  sleep(2);
}
kill(1,$guipid);
waitpid($guipid,0);
print "\n";
exit(0);

View full thread kleine Warteanimation