Zobrazeni progresu
Zbynek Houska
zhouska na cz.foxconn.com
Sobota Květen 17 07:15:18 MEST 2003
Dekuji za odkaz,
nicmene mi to neda abych se neptal dal...
Prikladam muj skriptik a zajima mne proc posledni radek neprepisuje
predchozi radek, pokud bych tam nepridal mezeru mezi uvozovky tak by tam
vzdy zbyly nejake znaky... V tomhle pripade me zrovna nic nenapada.
#!perl
#
# Tento program tiskne zadany soubor na COM ci LPT port, zalezi na
# nastaveni.
#
# Verze 0.1
#
# Program byl vytvoren Z.Houskou
#
#
$aolp='';
$soubor=0;
print 'Jaky chcete tisknout soubor? ';
chomp ($soubor= <STDIN>);
open (F, "<C:\\$soubor") or die 'Soubor nelze otevrit!';
open( PORT, "+>LPT1" )
or die "Nemohu otevrit port pro komunikaci s tiskarnou: $!";
select(( select(PORT),$|=1)[0]);
while (print 'Kolikrat chcete soubor tisknout? '){
chomp ($aolp =<STDIN>);
if ($aolp gt "999")
{print "Zadna pismena prosim, zadejte cisla od 0 do 999.\n";
next;
}
if ($aolp > 999)
{print "Prilis velke cislo, zadejte cisla od 0 do 999.\n";
next;
}
if ($aolp < 0)
{print "To je zaporne cislo. Zadejte cisla od 0 do 999.\n";
next;
}
last;
}
while () {
if ($aolp != 0){
$aolp -= 1;
print PORT slurp ("$soubor");
sub slurp {
my $file = shift;
local *F;
open F, "< $file" or die "Nemohu otevrit '$file' pro cteni: $!";
binmode F;
local $/ = undef;
my $string = <F>;
close F;
return $string;
}
sleep 2;
}
else {last;}
$|=1;
print "Zbyva vytisknout $aolp labelu";
print "\r";
}
print " Tisk uspesne ukoncen! ";
Zbynek
Další informace o konferenci Perl