Aider un étourdi :-)

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
gansta93
Messages : 1448
Inscription : jeu. 26/févr./2004 11:17
Localisation : Le Village
Contact :

Aider un étourdi :-)

Message par gansta93 »

Bonjour,

Je voudrais faire un programme pour un potte, qui voudrait avoir son IP praite à être donnée... XP... plus de winipcfg à paremment
Mais le problème, c dans mes structures conditionnelles, il me manque une cloture de structure, mais je ne la trouve pas.

Code : Tout sélectionner

If InitNetwork()
compteur=0
ExamineIPAddresses()
Repeat
ip$=ip$+IPString(NextIPAddress())+#crlf
compteur=compteur+1
Untilip$="0.0.0.0"
compteur=compteur-1
ip$=Left(ip$,Len(ip$)-9)
If compteur=1
reponse=MessageRequester("Donne-moi mon IP","Votre IP est:"+#crlf+ip$+"Voulez-vous le copier dans votre Presse-Papier?",#mb_yesno|#mb_iconquestion)
If reponse=#idyes
SetClipboardText(Left(ip$,Len(ip$)-2))
EndIf
ElseIf compteur>1
reponse=MessageRequester("Donne-moi mon IP","Vos IP sont:"+#crlf+ip$+"Voulez-vous le copier dans votre Presse-Papier?",#mb_yesno|#mb_iconquestion)
If reponse=#idyes
SetClipboardText(Left(ip$,Len(ip$)-2))
EndIf
Else
MessageRequester("Erreur","Aucune adresse IP disponible.",#mb_ok|#mb_iconstop)
EndIf
Else
MessageRequester("Erreur","Impossible d'initialiser le réseau.",#mb_ok|#mb_iconstop)
EndIf
End
Si quelqu'un trouve, qu'il me dise où est ma faute svp... comprand pas pk ça ne marche pas il ne me samble n'avoir rien oublié.
Heis Spiter
Messages : 1092
Inscription : mer. 28/janv./2004 16:22
Localisation : 76
Contact :

Message par Heis Spiter »

Pour XP, il y a ipconfig.

Code : Tout sélectionner

If InitNetwork() 
  compteur=0 
  ExamineIPAddresses() 
  Repeat 
    ip$=ip$+IPString(NextIPAddress())+#crlf 
    compteur=compteur+1 
    Untilip$="0.0.0.0" 
    compteur=compteur-1 
    ip$=Left(ip$,Len(ip$)-9) 
    If compteur=1 
      reponse=MessageRequester("Donne-moi mon IP","Votre IP est:"+#crlf+ip$+"Voulez-vous le copier dans votre Presse-Papier?",#mb_yesno|#mb_iconquestion) 
      If reponse=#idyes 
        SetClipboardText(Left(ip$,Len(ip$)-2)) 
      EndIf 
    ElseIf compteur>1 
      reponse=MessageRequester("Donne-moi mon IP","Vos IP sont:"+#crlf+ip$+"Voulez-vous le copier dans votre Presse-Papier?",#mb_yesno|#mb_iconquestion) 
      If reponse=#idyes 
        SetClipboardText(Left(ip$,Len(ip$)-2)) 
      EndIf 
    Else 
      MessageRequester("Erreur","Aucune adresse IP disponible.",#mb_ok|#mb_iconstop) 
      fin = 1
    EndIf 
  Until fin
Else 
  MessageRequester("Erreur","Impossible d'initialiser le réseau.",#mb_ok|#mb_iconstop) 
EndIf 
End 
Tu avais oublié le until de ta boucle repeat. Je l'ai mis qu'elle se termine quand la varaible fin existe. Et celle-ci est créée si il n'y a plus d'IPs.
Heis Spiter, webmaster du site http://www.heisspiter.net
Développeur principal et administrateur du projet Bird Chat
Parti courir au bonheur du dév. public et GPL :D
gansta93
Messages : 1448
Inscription : jeu. 26/févr./2004 11:17
Localisation : Le Village
Contact :

Message par gansta93 »

Arf... j'avais collé Until et ip$
mais je ne pert pas une IP en procèdant comme je le fait?
gansta93
Messages : 1448
Inscription : jeu. 26/févr./2004 11:17
Localisation : Le Village
Contact :

Message par gansta93 »

Quelqu'un a-t-il quelque chose à reprocher à ce code?

Code : Tout sélectionner

If InitNetwork()
compteur=0
ExamineIPAddresses()
Repeat
ip$=ip$+IPString(NextIPAddress())+#crlf
compteur=compteur+1
Until Right(ip$,9)="0.0.0.0"+#crlf
compteur=compteur-1
ip$=Left(ip$,Len(ip$)-9)
If compteur=1
reponse=MessageRequester("Donne-moi mon IP","Votre IP est:"+#crlf+ip$+"Voulez-vous la copier dans votre Presse-Papier?",#mb_yesno|#mb_iconquestion)
If reponse=#idyes
SetClipboardText(Left(ip$,Len(ip$)-2))
EndIf
ElseIf compteur>1
reponse=MessageRequester("Donne-moi mon IP","Vos IP sont:"+#crlf+ip$+"Voulez-vous les copiers dans votre Presse-Papier?",#mb_yesno|#mb_iconquestion)
If reponse=#idyes
SetClipboardText(Left(ip$,Len(ip$)-2))
EndIf
Else
MessageRequester("Erreur","Aucune adresse IP disponible.",#mb_ok|#mb_iconstop)
EndIf
Else
MessageRequester("Erreur","Impossible d'initialiser le réseau.",#mb_ok|#mb_iconstop)
EndIf
End
Une amélioration, un problème? Le truc que je me demandais c'est si j'avais bien toutes les IP disponibles s'il y en aurait plusieur... déjà je ne voi pas dans quel(s) cas on pourait avoir plusieurs IP.
Si quelqu'un peut m'éclairer... ça serait sympa et n'oubliez pas, si quelqu'un qui a plusieurs IP l'essais et qu'il n'a pas toutes ses IP, qu'il me dise ce que je peux corriger et comment svp.
julien
Messages : 846
Inscription : ven. 30/janv./2004 15:06
Contact :

Message par julien »

NextIPAddress() te renvoie l'adresse IP suivante, quand y'en à plus ça retourne une valeur nul (ou rien)

Tu peux avoir plusieur IP sur ton PC

L'ip de ton FAI avec Ton modem

L'ip de ta carte Réseau

Si tu as plusieurs carte réseau, tu auras autant d'adresse IP que de carte....

Tu peux aussi avoir 2 connexions Internet relié sur le même PC (pas la même ligne)
.....
Dr. Dri
Messages : 2527
Inscription : ven. 23/janv./2004 18:10

Message par Dr. Dri »

gansta93 a écrit :Quelqu'un a-t-il quelque chose à reprocher à ce code?
pas indenté, ca donne pas envie de se plonger dedans

Dri
Aranoth
Messages : 293
Inscription : sam. 24/janv./2004 12:00
Localisation : Toulouse (31)
Contact :

Message par Aranoth »

heureusement que le logiciel du Soldat Inconnu est là, Alt+1 et hop !
Débutant en programmation, notament en C++ ?
Vous souhaitez apprendre ?
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

avec Japbe tu fait Ctrl+a pour tout selectionner puis Ctrl+tab pour mettre en forme :D

même que si tu fait une copie d'un listing du forum dans Japbe y a rien a faire; le code est mis en forme tous seul !! :D j'adore cet editeur !!
:D

et en plus on peut replier n'importe quel partie de code

comme ça ::

Code : Tout sélectionner

;{ la partie qui suit va pouvoir se replier

print "toto"
goto ailleurs
rem programme tres complexe !!

;}     : ceci est la fin de la partie que l'on veut pouvoir plier !!

ps : Merci Comtois ! :D
gansta93
Messages : 1448
Inscription : jeu. 26/févr./2004 11:17
Localisation : Le Village
Contact :

Message par gansta93 »

S'il ne vous faut que des mises en formes, :-)...
Je posterais ça.
gansta93
Messages : 1448
Inscription : jeu. 26/févr./2004 11:17
Localisation : Le Village
Contact :

Message par gansta93 »

Voici un code que j'ai mis en forme dirrectemant avec PBSyntaxe, je la trouve pas très indentée...

Code : Tout sélectionner

If InitNetwork()
  compteur = 0
  ExamineIPAddresses()
  Repeat
    ip$ = ip$ + IPString(NextIPAddress()) + #crlf
    compteur = compteur + 1
  Until Right(ip$, 9) = "0.0.0.0" + #crlf
  compteur = compteur - 1
  ip$ = Left(ip$, Len(ip$) - 9)
  If compteur = 1
    reponse = MessageRequester("Donne-moi mon IP", "Votre IP est:" + #crlf + ip$ + "Voulez-vous la copier dans votre Presse-Papier?", #mb_yesno | #mb_iconquestion)
    If reponse = #idyes
      SetClipboardText(Left(ip$, Len(ip$) - 2))
    EndIf
  ElseIf compteur > 1
    reponse = MessageRequester("Donne-moi mon IP", "Vos IP sont:" + #crlf + ip$ + "Voulez-vous les copiers dans votre Presse-Papier?", #mb_yesno | #mb_iconquestion)
    If reponse = #idyes
      SetClipboardText(Left(ip$, Len(ip$) - 2))
    EndIf
  Else
    MessageRequester("Erreur", "Aucune adresse IP disponible.", #mb_ok | #mb_iconstop)
  EndIf
Else
  MessageRequester("Erreur", "Impossible d'initialiser le réseau.", #mb_ok | #mb_iconstop)
EndIf
End
C'est mieu? autre chose à reprocher?
brossden
Messages : 833
Inscription : lun. 26/janv./2004 14:37

Message par brossden »

Bonjour

La constante #crlf n'est pas défini dans ton code :

Code : Tout sélectionner


#crlf.s=Chr(13)+Chr(10)

If InitNetwork() 
  compteur = 0 
  ExamineIPAddresses() 
  Repeat 
    ip$ = ip$ + IPString(NextIPAddress()) + #crlf 
    compteur = compteur + 1 
  Until Right(ip$, 9) = "0.0.0.0" + #crlf 
  compteur = compteur - 1 
  ip$ = Left(ip$, Len(ip$) - 9) 
  If compteur = 1 
    reponse = MessageRequester("Donne-moi mon IP", "Votre IP est:" + #crlf + ip$ + "Voulez-vous la copier dans votre Presse-Papier?", #mb_yesno | #mb_iconquestion) 
    If reponse = #idyes 
      SetClipboardText(Left(ip$, Len(ip$) - 2)) 
    EndIf 
  ElseIf compteur > 1 
    reponse = MessageRequester("Donne-moi mon IP", "Vos IP sont:" + #crlf + ip$ + "Voulez-vous les copiers dans votre Presse-Papier?", #mb_yesno | #mb_iconquestion) 
    If reponse = #idyes 
      SetClipboardText(Left(ip$, Len(ip$) - 2)) 
    EndIf 
  Else 
    MessageRequester("Erreur", "Aucune adresse IP disponible.", #mb_ok | #mb_iconstop) 
  EndIf 
Else 
  MessageRequester("Erreur", "Impossible d'initialiser le réseau.", #mb_ok | #mb_iconstop) 
EndIf 
End 

Denis

Bonne Jounée à tous
Répondre