Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Timur Sabirzyanov                    2:5080/197.197 15 Aug 2000  03:02:43
 To : All
 Subject : не работает :(((
 -------------------------------------------------------------------------------- 
 
 
 >-----------------------------------
 
 #!perl
 
 $digx_size=9; # размер циферок по x
 $digy_size=13; # соотв. по y
 $file = '../txt/counter'; # файлик с тек. номером
 
 for($a=0;$a<10;$a++) {
   open g, "../images/digits/$a.gif";
   binmode(g);
   sysread g, $GifData[$a], -s g;
   close g;
 }
 
 sub number2gif{
  my($Number,$digits)=@_;
  my($Ascii_Num,$Zeropad,$n_gif,$Gif_Answer,$logsrc,$pal);
  my($gif_log_scr_packed,$gif_transps,$gif_img_desc,$gif_dat,$packed_was);
  $Gif_Answer="GIF89a";
  $logsrc=pack('S2C3',$digx_size*$digits,$digy_size,pack('B8','01100000'),0,0);
  $Gif_Answer .=$logsrc;
  $Ascii_Num=''.$Number;
  $digits=($digits>length($Ascii_Num)?$digits:length($Ascii_Num));
  $Zeropad='0' x $digits;
  substr($Zeropad,- length($Ascii_Num),length($Ascii_Num))=$Ascii_Num;
  $Ascii_Num=$Zeropad;
  foreach(0..length($Ascii_Num)-1){
    $n_gif=0+substr($Ascii_Num,$_,1);
    $pal=substr($GifData[$n_gif],13,256*3);
    $gif_log_scr_packed=unpack('B8',substr($GifData[$n_gif],10,1));
    $gif_transps=substr($GifData[$n_gif],13+256*3,8);
    $gif_img_desc=substr($GifData[$n_gif],13+256*3+8,10);
    $gif_dat=substr($GifData[$n_gif],13+256*3+8+10,length($GifData[$n_gif]));
    $gif_dat=substr($gif_dat,0,length($gif_dat)-1);
    substr($gif_img_desc,1,2)=pack('S',$_*$digx_size);
    $packed_was=unpack('B8',substr($gif_img_desc,9,1));
    substr($gif_img_desc,9,1)=pack('B8','1'.
            substr($packed_was,1,1).
            substr($gif_log_scr_packed,4,1).'00'.substr($gif_log_scr_packed,5,3) 
 );
    $Gif_Answer.=$gif_transps.$gif_img_desc.$pal.$gif_dat;
    }
  $Gif_Answer.='\x3B';
  return $Gif_Answer;
  }
 ######################################################
 
 open FILE,"<$file" || die "Oops!";
 $count = <FILE>;
 close FILE;
 $count++;
 open FILE,">$file" || die "Oops!";
 print FILE "$count";
 close FILE;
 
 print "Content-Type: image/gif\n\n";
 print number2gif($count,6);
 
 >-----------------------------------
 
 Чё ему неймется?
 Сам я не очень хорошо в perlе шарю и num2gif взял со стороны, а вот разобраться 
 в чём глюки квалификации не хватает. Помогите плиз.
 
                                                     Press <DEL>.
 ... Отдам в хорошие руки попугая-матершинника. Тел. 84-90-36
 --- [ Teams: RammsЕein | M.Manson | КиШ | КремаЕорий | C/C++ | Perl | TSL ]
  * Origin: Ei Aaniigoo 'Ahoot'e (2:5080/197.197)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 не работает :(((   Timur Sabirzyanov   15 Aug 2000 03:02:43 
 не pаботает :(((   Viktor Shugarov   15 Aug 2000 11:31:47 
 не pаботает :(((   Viktor Shugarov   17 Aug 2000 07:57:14 
Архивное /ru.perl/474639985f4d.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional