Dernieres infos du net. (site pc inpact)

3/5 (10 avis)

Snippet vu 5 393 fois - Téléchargée 25 fois

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

Ajouter un commentaire

Commentaires

AgoRa_ScripT
Messages postés
140
Date d'inscription
jeudi 22 juillet 2004
Statut
Membre
Dernière intervention
20 octobre 2007
-
merci ;o)
cs_jeremy29
Messages postés
14
Date d'inscription
dimanche 27 mars 2005
Statut
Membre
Dernière intervention
14 novembre 2005
-
09/10*, pardon :-p
cs_jeremy29
Messages postés
14
Date d'inscription
dimanche 27 mars 2005
Statut
Membre
Dernière intervention
14 novembre 2005
-
On voyant ça, je comprend un peu mieux les sockets et les picwins ^^

La source est pas mal codé, 10/10 :)
AgoRa_ScripT
Messages postés
140
Date d'inscription
jeudi 22 juillet 2004
Statut
Membre
Dernière intervention
20 octobre 2007
-
lol ok merci :)
jviens de looker des games rien qu'en picwin, c plus qu'impressionant.
RCA ArKanis
Messages postés
1287
Date d'inscription
mercredi 21 avril 2004
Statut
Membre
Dernière intervention
21 février 2009
-
"Non on peut pas mettre des fleches de défilement ds une window (jamais vu en tt cas)."

Si, c'est possible :)
je viens d'en faire une ^^ elle fonctionne très bien, mais c'est un peu la lutte pour expliquer :p
et puis bon, quand on delete des items à l'intérieur, y'a quelques problèmes (mineurs) avec l'ascenseur après xD

si ce n'est que pour du texte, ça devrait pas être trop compliqué ^^

il s'agit en fait de dessiner toi même ton ascenseur, avec un point qui se balade dessus, et en cliquant sur les extrémités, ça fait descendre ou monter le pt, ainsi que la liste
voilà un screen exemple : http://arkanisfr.free.fr/Script-ArKanis/prototype.bmp

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.