Dernieres infos du net. (site pc inpact)

Contenu du snippet

C'est un code en picwin, qui affiche les dernieres infos du net, j'ai choisi PC Inpact, car il y en a "presque" toutes les heures. C'est mon 1er code concret en picwin.. il se peut qu'à certains moments jme sois grave embrouillé :/ ça s'rait pas étonnant..
Au départ je voulais qu'en choisissant une news, je mette celle-ci dans une autre fenêtre picwin, mais j'ai constaté bêtement que certaines news étaient vraiment longues, donc j'ai abandonné l'idée de les afficher.. j'ai du me contenter d'un simple /run :(. J'ai mis le choix du navigateur.
Ah oui, les deux alias notag et iso2char sont de fjxokt que je remercie.

Source / Exemple :


alias inpact {
  if ($window(@pop)) window -c @pop
  window -dkpBCz +dL @pop -1 -1 471 461
  drawfill @pop 15 4 10 10
  drawline @pop 1 3 0 10 415 10 425 0 | drawline @pop 1 1 30 10 35 15 416 15 428 3 420 3 468 3 468 457 2 457 2 10 | drawline @pop 1 1 0 0 470 0 470 460 0 460 0 0 | drawline @pop 1 2 430 15 440 15 _
  drawrect -f @pop 0 3 10 80 440 370 420 30 10 10 420 50 10 10
  drawrect @pop 1 3 10 80 440 370
  drawrect @pop 1 2 420 30 10 10 420 50 10 10
  drawtext -b @pop 1 15 Tahoma 12 433 28 IE | drawtext -b @pop 1 15 Tahoma 12 433 48 F.Fox | drawtext -bo @pop 1 15 Tahoma 12 451 5 X | drawtext -pb @pop 1 15 Tahoma 12 5 40 Statut: Aucune connexion.
  drawtext -b @pop 1 15 Vrinda 20 220 30 Récupérer les dernières infos
  drawtext -b @pop 1 15 Vrinda 20 280 45 Pc Inpact.
  g\ 118,177,238,298,358,417
}
menu @pop {
  mouse {
    if $inrect($mouse.x,$mouse.y,220,30,185,35) { drawrect @pop 14 30 218 30 190 37 | drawtext -b @pop 1 14 Vrinda 20 220 30 Récupérer les dernières infos | drawtext -b @pop 1 14 Vrinda 20 280 45 Pc Inpact. }
    else { drawrect -f @pop 15 30 218 30 190 37 | drawtext -b @pop 1 15 Vrinda 20 220 30 Récupérer les dernières infos | drawtext -b @pop 1 15 Vrinda 20 280 45 Pc Inpact. }
  }
  sclick {
    if $inrect($mouse.x,$mouse.y,430,3,12,13) { window -n @pop }
    if $inrect($mouse.x,$mouse.y,447,4,12,13) { close -@ @pop | $iif($hget(pci),hfree pci,halt) }
    if $inrect($mouse.x,$mouse.y,220,30,185,35) { hadd -m pci recherche 1 | drawrect -f @pop 0 3 10 80 440 370 | drawrect @pop 1 3 10 80 440 370 | sockclose pci | sockopen pci www.pcinpact.com 80 }
    if $hget(pci) {
      if $inrect($mouse.x,$mouse.y,452,118,15,12) { gwp 1 }
      if $inrect($mouse.x,$mouse.y,452,177,15,12) { gwp 2 }
      if $inrect($mouse.x,$mouse.y,452,238,15,12) { gwp 3 }
      if $inrect($mouse.x,$mouse.y,452,298,15,12) { gwp 4 }
      if $inrect($mouse.x,$mouse.y,452,358,15,12) { gwp 5 }
      if $inrect($mouse.x,$mouse.y,452,417,15,12) { gwp 6 }
    }
    if $inrect($mouse.x,$mouse.y,421,31,10,10) { drawrect -f @pop 4 3 422 32 6 6 | drawrect -f @pop 0 3 422 52 6 6 | hadd $iif(!hget(pci),-m) pci navigateur1 1 | hdel pci navigateur2 }
    if $inrect($mouse.x,$mouse.y,421,51,10,10) { drawrect -f @pop 4 3 422 52 6 6 | drawrect -f @pop 0 3 422 32 6 6 | hadd $iif(!hget(pci),-m) pci navigateur2 1 | hdel pci navigateur1 }
  }
}
on *:close:@pop:{ hfree pci }
ON *:SOCKOPEN:pci:{
  if $sockerr { drwt Connexion échouée. }
  else { if $window(@pop) { drwt Connexion en cours... | %wh = 85 | %ô = 0 | sockwrite -n pci GET http://www.pcinpact.com/ HTTP/1.1 | sockwrite -n pci Host: www.pcinpact.com $+ $str($crlf ,2) | drwt Connexion établie. }
    else { sockclose pci }  
} }
ON *:SOCKREAD:pci:{
  SOCKREAD %ns
  if (class="liens_news"> isin %ns) { %â = $remove($iso2char($notag(%ns)),$chr(9)) | %^d = $+(http://www.pcinpact.com,$gettok(%ns,2,34)) }
  if (</span></span>&nbsp;<span isin %ns) { %^b = $remove($iso2char($notag(%ns)),$chr(9),$gettok($gettok(%ns,3,60),2,62)) | %^c = $gettok($gettok(%ns,3,60),2,62) | an\ } 
}
alias -l iso2char { 
  var %t $1-, %s, %i = 1, %r = $regex($1-,/(&#....)/g) | while ($regml(%i)) { %t = $replace(%t,$ifmatch,$chr($remove($ifmatch,&#))) | inc %i } 
  return $replace(%t,&quot;,",>,>,&nbsp;,$chr(160),&amp;,&,<,<) 
}
alias -l notag { var %î, %ù = $regsub($1-,/<[^>]+>/g,,%î) | return %î }
alias -l gwp { if !$hget(pci,recherche) { halt } | else { run $iif($hget(pci,navigateur1),iexplore.exe,firefox.exe) $hget(pci,$1) } }
alias -l drwt { drawrect -f @pop 15 1 46 29 171 39 | drawtext -pb @pop 1 15 Tahoma 12 47 40 $1- }
alias -l an\ {
  if %wh > 420 { sockclose pci | drwt Données récupérées. | halt }
  else {
    inc %ô
    drawtext -p @pop 1 Tahoma 10 15 %wh [Derniere info à %^c $+ : $+(,%â,) $+ ] | inc %wh 15
    drawtext -p @pop 1 Tahoma 10 15 %wh [Apercu bref: %^b $+ ] | inc %wh 15
    drawtext -p @pop 1 Tahoma 10 15 %wh [Url: $iif($len(%^d) >= 75,$remove(%^d,$right(%^d,-75)) $+ ...,%^d) $+ ] | inc %wh 15 | hadd -m pci %ô %^d
    drawtext -p @pop 1 Tahoma 10 15 %wh $str($chr(150),86) | inc %wh 15
  }
}
alias -l g\ { var %^ 1
  while %^ <= $numtok($1-,44) { 
    drawrect -f @pop 14 1 452 $gettok($1-,%^,44)  15 12
    drawrect @pop 1 1 452 $gettok($1-,%^,44)  15 12
    drawtext @pop 1 454 $gettok($1-,%^,44)  <
    drawtext @pop 1 457 $calc($gettok($1-,%^,44)  -1) $chr(150)
    inc %^
  }
}

Conclusion :


Pour l'utiliser vous taper /inpact. Pour afficher les infos, clik simple sur "récupérer les dernieres... etc" et pour aller à une url, vous cliquez sur une des flêche à droite qui vise justement une url. (elles seront toujours en face des flêches bien entendu).

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.