Avatar billede nvr Nybegynder
14. juli 2000 - 10:22 Der er 5 kommentarer og
1 løsning

Vis billede udfra dag og tid

Jeg har det hersens lidet brugbare script, der BURDE vise et givet billede ud fra klokkeslettet. Det dur imidlertid ikke...

Det ser således ud:

#!/usr/bin/perl

print "Content-type: text/html\n\n";

&pic;

exit;


sub pic
{
  ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) =
localtime(time);

  if($hour < 18 && $hour > 12)
  { 
    if($min < 10)
    {
        return "<IMG SRC=\"http://www.pics.org/stuff1.gif\">";
    }
    elsif($min < 20)
    {
        return "<IMG SRC=\"http://www.pics.org/stuff2.gif\">";
    }
    elsif($min < 59)
    {
        return "<IMG SRC=\"http://www.pics.org/stuff2.gif\">";
    }
    else
    {
        return "<IMG SRC=\"http://www.pics.org/stuff3.gif\">";
    }
  }
  else
  {
    print "Billedarkivet er lukket.";
  }
}


Her kl. 10.13 viser den blot: Billedarkivet er lukket"...

Nå men foruden dette problem, vil jeg også gerne have, at jeg kan definere billederne udfra hver dag også.

Eks. Mandag kl. 10 = billed 1
    Tirsdag kl. 10 = billed 2
    Tirsdag kl. 12 = billed 3

etc etc...
Avatar billede Lasse Novice
14. juli 2000 - 12:34 #1
Her kl. 10.13 viser den blot: Billedarkivet er lukket"...

Dette er vel også rigtigt. Det er FØR klokken 12.

Jeg tror at du ikke har styr på hvilket af elementerne i localtime der svarer overens med minutter, timer, dage osv. Se evt:
http://www.eksperten.dk/spm.asp?id=19424

Med hensyn til at have forskellige billeder hver dag, så gør sådan her:
se igen linket hvordan man finder ud af hvilken dag i ugen det er. Hvis det er mandag, så skriv:
$picture="mandagsbillede.gif";

Under:
return "<IMG SRC=\"http://www.pics.org/stuff3.gif\">"
skriver du:
return "<IMG SRC=\"http://www.pics.org/$picture\">"
Avatar billede y2k Nybegynder
14. juli 2000 - 14:53 #2
$dennedag = ('Søndag','Mandag','Tirsdag','Onsdag','Torsdag','Fredag','Lørdag')[$dweek];
det skulle gerne fortælle dig, hvilken dag det er.. :-)
Avatar billede y2k Nybegynder
14. juli 2000 - 14:55 #3
if ($dennedag eq 'Tirsdag' && ($hour == 12)) {
    #kommando hvis det er tirsdag mellem 12 og 13
    }
if ($dennedag eq 'Torsdag' && ($hour == 12 && ($min > 30))) {
    #kommando hvis det er tirsdag mellem 12:30 og 13
    }
osv..
Avatar billede y2k Nybegynder
14. juli 2000 - 14:55 #4
sorry, der skulle stå torsdag til sidst ;)
Avatar billede nvr Nybegynder
17. juli 2000 - 09:32 #5
y2k's svar duttede perfekt! :)
Avatar billede nvr Nybegynder
21. juli 2000 - 11:38 #6
...eller det troede jeg. Scripet ser således ud nu:

#!/usr/bin/perl

print \"Content-type: text/html\\n\\n\";

&pic;

exit;


sub pic
{
  ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) =
localtime(time);

$dennedag = (\'Søndag\',\'Mandag\',\'Tirsdag\',\'Onsdag\',\'Torsdag\',\'Fredag\',\'Lørdag\')[$dweek];

print \"$dennedag\";

if ($dennedag eq \'Fredag\' && ($hour == 11 && ($min > 59))) {
        print \"<IMG SRC=\\\"http://www.nvr.dk/grafik/programlogoer/morgen01.gif\\\">\";
    }

#elseif ($dennedag eq \'Torsdag\' && ($hour == 12 && ($min > 30))) {
#kommando hvis det er tirsdag mellem 12:30 og 13
#    }

  else
  {
    print \"Billedarkivet er lukket.\";
  }

}



Problemet er, at den konstant tror, det er søndag!!

60 points oven i hatten, hvis du eller en anden kan fikse den!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester