|
DISLIN Examples: Web Counter
With version 10.2 of Dislin I have added a little web counter to the main
site www.dislin.de. The counter is created by a small Dislin program
written in Perl, which updates the counter in a file and returns the new
counter as an PNG image.
Here is the Perl code of the web counter:
#!/usr/bin/perl
use Dislin;
$file = "counter.dat";
open (FILE, $file);
$counter = <FILE>;
$counter++;
close (FILE);
open (FILE, ">$file");
print FILE $counter;
close (FILE);
print "Content-type: image/png\n\n";
Dislin::imgfmt ('rgb');
Dislin::scrmod ('revers');
Dislin::metafl ('virt');
Dislin::winsiz (140, 37);
Dislin::page (140, 37);
Dislin::sclmod ('full');
Dislin::disini ();
Dislin::unit (0);
Dislin::bmpfnt ('simplx');
$iclr = Dislin::intrgb (230./255, 242./255., 242./255);
Dislin::pagfll ($iclr);
Dislin::chaspc (0.3);
$s = sprintf ("%08d", $counter);
Dislin::height (10);
$nl = Dislin::nlmess ($s);
Dislin::messag ($s, (140 - $nl)/2, 12);
$iclr = Dislin::intrgb (0.75, 0.75, 0.75);
Dislin::setclr ($iclr);
Dislin::pagera ();
$n=Dislin::rbfpng ($cbuf, 0);
Dislin::rbfpng ($cbuf, $n);
Dislin::disfin ();
print $cbuf;
The Perl script is then called from the Dislin web site as a cgi script
with the IMG tag. For example: <img src="/cgi-bin/counter.pl">
|