Gps version boite de dialogue - comment trouver les coordonnées d'un lieu et obtenir une carte...

Soyez le premier à donner votre avis sur cette source.

Snippet vu 9 426 fois - Téléchargée 27 fois

Contenu du snippet

/GPS Donne la position GPS d'une ville et un lien vers une carte interactive.
/GPS Marseille
/GPS 75002
/GPS

Source / Exemple :


menu menubar,channel,query  {
  gps
  .Gps...:/gps
  .$submenu($Gps.menu($1))
}

alias Gps.Menu {
  if ( $1 == begin) return -
  if ( $1 <= $numtok( %GpsList,33) ) return GPS $gettok(%GpsList, $1 ,33 ) $+ ... : /Gps $gettok(%GpsList, $1 ,33 )
  if ( $1 == end) return -
}

alias F2 { /gps }

alias gps {
  %Gps.Active = $active
  if ( $dialog( Gps.Dlg ) == $null ) { /dialog -m Gps.Dlg Gps.table }
  if ( $1- == $null ) || ( %Gps.OQP ) /return
  /did -i Gps.Dlg 111 0 $replace( $$1-, $chr(32), - )
  /Gps.Echo Je cherche les informations sur $did( Gps.Dlg, 111 ).text $+ ...
  /sockopen Gps.Sock fr.maps.yahoo.com 80
}

alias Gps.echo {
  if ( $dialog( Gps.Dlg ) != $null ) { 
    /did -ri Gps.Dlg 11 1 $$1-
  }
}
;--------------------------------------------------------------------------------------------------------
;--------------------------------------------------------------------------------------------------------
dialog Gps.Table {
  ;  /did -b Gps.Dlg 112,201,211,221,231,301 ; Disable Button et text
  title Gps By Nestor
  size -1 -1 226 237

  menu "?", 900
  item "Version", 901
  item "Mail a Nestor", 902 ;/run mailto:jf_nestor@hotmail.com

  text "Gps By Nestor",011 , 6 168 210 36, center
  button "&Sortir",001, 66 213 90 18,cancel

  tab "Localité" , 100, -1 -1 225 169
  button "Recherche" , 101, 66 138 90 18, default, tab 100
  box "Ville ou Code postal",110, 6 24 210 42, tab 100
  combo 111, 12 42 162 18, focus, sort , edit , drop , tab 100
  button "Del" , 112, 180 42 30 18, disable, tab 100

  tab "Coord" , 200
  button "Message" , 201, 66 138 90 18, disable, tab 200
  box "Ville et Code postal",210, 6 24 210 42, tab 200
  text ,211, 12 42 198 18, edit, drop, disable, tab 200
  box "Nord Sud",220, 6 72 102 42, tab 200
  text ,221, 12 90 90 18, disable, tab 200
  box "Est Ouest",230, 114 72 102 42, tab 200
  text  ,231, 120 90 90 18, disable, tab 200

  tab "Plan", 300
  button "Plan" , 301, 66 138 90 18, disable, tab 300
  box "Options",310, 6 24 210 42, tab 300
  combo  311, 12 42 48 18, drop, sort, tab 300
  text "X",312, 60 42 12 18, center tab 300
  combo  313, 72 42 48 18, drop, sort, tab 300
  combo  315, 142 42 48 18, drop, sort, tab 300
  box "Nord Sud",320, 6 72 102 42, tab 300
  edit ,321, 12 90 90 18, tab 300
  box "Est Ouest",330, 114 72 102 42, tab 300
  edit  ,331, 120 90 90 18, tab 300

  tab "Infos", 400
  box "Cartes",410, 6 24 210 42, tab 400
  button "IsMap" , 411, 12 42 60 18, disable, tab 400
}
;--------------------------------------------------------------------------------------------------------
;--------------------------------------------------------------------------------------------------------
on *:dialog:Gps.Dlg:init:00:{
  /did -f Gps.Dlg 111 ; Focus sur le test
  /var %x 1
  while ( %x <= $numtok( %GpsList,33) ) {
    /did -i Gps.Dlg 111 %x $gettok(%GpsList, %x ,33 )
    /inc %x
  }
  /var %x 1
  while ( %x <= 10 ) {
    /did -i Gps.Dlg 311,313 %x $calc( %x * 100 )
    /inc %x
  }
  /did -c Gps.Dlg 311,313 4
  /var %x 1
  while ( %x <= 11 ) {
    /did -i Gps.Dlg 315 %x %x
    /inc %x
  }
  /did -c Gps.Dlg 315 9
}

on *:dialog:Gps.Dlg:menu:901: /Gps.Echo Gps Ver: 2.00 Nestor Nov 2003

on *:dialog:Gps.Dlg:menu:902: /run mailto:Nestor_Script@yahoogroupes.fr 

on *:dialog:Gps.Dlg:sclick:001: /unset %Gps.*

on *:dialog:Gps.Dlg:sclick:101:{
  if ( %Gps.OQP ) /return
  if ( !$did( 111 ).text ) {
    /Gps.Echo Entrez une ville ou code postal
    /did -f Gps.Dlg 111 ; Focus sur le test
    /did -t Gps.Dlg 101 ; defaut sur recherche
    /return
  }
  /did -b Gps.Dlg 111 ; Disable le text
  /did -t Gps.Dlg 001 ; defaut sur Sortir
  /gps $did( 111 ).text
}

on *:dialog:Gps.Dlg:edit:111:{
  if ( !$did( 111 ).text ) /did -b Gps.Dlg 112,411 ; Disable le button
  else /did -e Gps.Dlg 112,411 ; Enable le button
}

on *:dialog:Gps.Dlg:sclick:111:{
  if ( !$did( 111 ).text ) /did -b Gps.Dlg 112,411 ; Disable le button
  else /did -e Gps.Dlg 112,411 ; Enable le button
}

on *:dialog:Gps.Dlg:sclick:112:{
  if ( !$did( 111 ).sel ) /return
  %GpsList = $deltok(%GpsList, $findtok( %GpsList, $did( 111 ).text , 1  ,33 ) , 33 )
  /did -d Gps.dlg 111 $did( 111 ).sel
  /did -c Gps.dlg 111 1
}

on *:dialog:Gps.Dlg:sclick:201:{
  /msg %Gps.Active 10,9[GPS] $did( 211 ).text $iif( $did( 221 ).text > 0, Nord:, Sud: ) $remove( $did( 221 ).text, - ) $&
    $iif( $did( 231 ).text > 0, Est:, Ouest: ) $remove( $did( 231 ).text, - )
}

on *:dialog:Gps.Dlg:edit:321:{
  if ( !$did( 321 ).text ) || ( !$did( 331 ).text ) /did -b Gps.Dlg 301 ; Disable le button
  else /did -e Gps.Dlg 301 ; Enable le button
}

on *:dialog:Gps.Dlg:edit:331:{
  if ( !$did( 321 ).text ) || ( !$did( 331 ).text ) /did -b Gps.Dlg 301 ; Disable le button
  else /did -e Gps.Dlg 301 ; Enable le button
}

on *:dialog:Gps.Dlg:sclick:301:{
  /var %sizex $did(311).text
  /var %sizey $did(313).text
  /var %scale $did(315).text
  /var %posNS $pos( $did( 321 ).text, . )
  /var %posEO $pos( $did( 331 ).text, . )
  /var %coordNS $left( $did( 321 ).text, $calc( %posNS - 1 ) ) $+ $&
    $left( $right( $did( 321 ).text, $calc( $len( $did( 321 ).text ) - %posNS ) ), 4 )
  /var %coordEO $left( $did( 331 ).text, $calc( %posEO - 1 ) ) $+ $&
    $left( $right( $did( 331 ).text, $calc( $len( $did( 331 ).text ) - %posEO ) ), 4 )
  /run http://fr.img.maps.yahoo.com/scripts/gcis.dll?sizex= $+ %sizex $+ &sizey= $+ %sizey $+ &XgoSetLogicalScale= $+ %Scale $+ &_XgoPointWGS= $+ %coordEO $+ % $+ 2c $+ %coordNS $+ &_XgoGCAdrWGS= $+ %coordEO $+ % $+ 2c $+ %coordNS $+ &_XgoGCYouAreHereCircleThickness=1&_XgoGCYouAreHereCenterThickness=3&_XgoGCYouAreHereCircleColor=RGB(255,0,0)&_XgoGCYouAreHereCenterColor=RGB(255,0,0)&XgoPageName=XMLOUTFR&XgoAnswer=Bitmap&_XgoScaleMode=0
}
;--------------------------------------------------------------------------------------------------------
;--------------------------------------------------------------------------------------------------------
alias Gps.SockErr { 
  if ( $SockErr == 4 )   /Gps.Echo Vous n'etes pas connecté. 
  else /Gps.Echo $sockerr - Petit probleme pour avoir les informations... desolé
  /did -ef Gps.Dlg 111 ; Focus sur le text
  /did -t Gps.Dlg 101 ; defaut sur recherche
  /sockclose GPS
}

on *:sockopen:Gps.Sock:{
  if ($sockerr > 0) /Gps.SockErr
  else {
    %Gps.OQP = $true
    /did -r Gps.Dlg 211,221,231, ; Remove le contenue
    /did -b Gps.Dlg 301 ; Disable le button
    /sockwrite -n Gps.Sock GET http://fr.maps.yahoo.com//?&csz= $+ $did( Gps.Dlg, 111 ).text $+ &country=fr 
  }
}

on *:sockread:Gps.Sock:{
  /var %temp
  if ($sockerr > 0) /Gps.SockErr
  /sockread -f %temp
  while ( $sockbr != 0) {
    if ( Mémoriser cette adresse isin %temp ) {
      %temp = $right( %temp , $calc( $len( %temp ) - $pos( %temp, city= ) - 4 ) )
      %Gps.City = $remove( $left( %temp , $calc( $pos( %temp, % $+ 26 ) - 1) ), %,0,1,2,3,4,5,6,7,8,9 )
      %temp = $right( %temp , $calc( $len( %temp ) - $pos( %temp, slt= ) - 3 ) )
      /did -ei Gps.Dlg 221,321 1 $left( %temp , $calc( $pos( %temp, % $+ 26 ) - 1) )
      %temp = $right( %temp , $calc( $len( %temp ) - $pos( %temp, sln= ) - 3 ) )
      /did -ei Gps.Dlg 231,331 1 $left( %temp , $calc( $pos( %temp, % $+ 26 ) - 1) )
      %temp = $right( %temp , $calc( $len( %temp ) - $pos( %temp, zip= ) - 3 ) )
      /did -ei Gps.Dlg 211 1 %Gps.City $left( %temp , $calc( $pos( %temp, % $+ 26 ) - 1) )
      /did -f Gps.Dlg 200 ; Onglet 2
      /did -et Gps.Dlg 201 ; Enable button et defaut
      /did -e Gps.Dlg 111,301 ; Enable text
      /Gps.Echo J'ai trouvé des informations sur %Gps.City $+ .
      if ( !$did( Gps.Dlg, 111 ).Sel ) {
        %GpsList = $AddTok( %GpsList, $did( Gps.Dlg, 111 ).text, 33 )
        /did -i Gps.Dlg 111 $numtok( %GpsList,33) $did( Gps.Dlg, 111 ).text
      }
      /unset %Gps.OQP
    }
    /sockread -f %temp
  }
}

Conclusion :


Le 20 Nov: Version 2.0
- Version avec Boite de dialogue.
- Un onglet permet de choisir la resolution de la carte et l'echelle.

Merci pour les messages d'encouragement.

Nestor

A voir également

Ajouter un commentaire

Commentaires

cs_Kolibot
Messages postés
817
Date d'inscription
mercredi 25 juin 2003
Statut
Membre
Dernière intervention
19 avril 2004
-
Le dialog est énorme... quand je m'étais à jour la version de mon www.telecharger.com je cliquais sur Modifier vos Sources et pas Ajouter une Source.
kepau
Messages postés
4
Date d'inscription
samedi 1 novembre 2003
Statut
Membre
Dernière intervention
21 novembre 2003
-
Salut,

J ai pas etudier le script mais a l utilisation, c est mortel, rapide et en boite de dialogue etc....
cool :)
pierre2565
Messages postés
28
Date d'inscription
jeudi 10 avril 2003
Statut
Membre
Dernière intervention
16 octobre 2004
-
question tu c est pas le faire en international ton trucs ? parceque serai bien en international :p merci ;) si non c ps mal du tout j aime bien
nestor_chat
Messages postés
19
Date d'inscription
lundi 20 octobre 2003
Statut
Membre
Dernière intervention
20 janvier 2004
-
desolé mais une version international n est guerre possible dans la mesure ou le serveur ne marche que pour la france. De plus les serveurs Yahoo Anglais ou US ne fonctionne pas de la meme facon, et ne donne pas non plus de version international.
pierre2565
Messages postés
28
Date d'inscription
jeudi 10 avril 2003
Statut
Membre
Dernière intervention
16 octobre 2004
-
oki merci comment

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.