Page 1 sur 2
[RESOLU] Commandes inconnues
Publié : sam. 14/mai/2011 13:09
par Anonyme 2
Yo,
J'aimerais des informations sur des commandes non-déclérées dans le manuel purebasic, tel que:
IcmpCreateFile()
inet_addr_()
IcmpSendEcho()
Pourquoi ne sont-elles pas présentées dans l'aide, ou ou est-ce que je pourrais avoir des infos sur celles-ci, merci!
Re: Commandes inconnues
Publié : sam. 14/mai/2011 13:16
par dayvid
Sa ne ressemble pas a une commande de pure basic
je dirais de l'APEI plutôt
Je ne sais pas a quoi elle servent
Sinon pt'être une commande de procedure ou de macro

Re: Commandes inconnues
Publié : sam. 14/mai/2011 14:18
par falsam
@dayvid : Tu as raison ce sont des API pas des APEI

A.P.I. pour Application Programming Interface. Tu trouveras quelques explications sur en cliquant sur ce
lien
@Dzoumaka : IcmpCreateFile_ inet_addr_ et IcmpSendEcho_ sont des API.
inet_addr est la fonction des Sockets Windows pour convertir une chaîne contenant une adresse à point en une in_addr.
IcmpCreateFile crée un handle sur lequel des requêtes ICMP
(1) peuvent être adressées.
IcmpSendEcho envoie une requête en echo pour un ICMP
(1) qui retourne une ou plusieurs réponses.
(1) ICPM : Internet Control Message Protocol
Quelques exemples glaner sur les forums consacrés à Pure Basic.
Tester la validité d'une adresse IP
Code : Tout sélectionner
;Tester la validité une adresse IP
IP.s = "192.168.1.0"
Result =inet_addr_(IP)
If Result = -1
Debug("L'IP "+ IP +" est erronée")
Else
Debug("L'IP "+ IP +" est correcte")
EndIf
Pinger une adresse IP (Utilisation de IcmpSendEcho_ et IcmpCreateFile_)
Code : Tout sélectionner
EchoMessage.s = "MVPing make a Ping Test"
ResultSize.l = SizeOf(ICMP_ECHO_REPLY) + Len(EchoMessage)
*Result = AllocateMemory(ResultSize)
*Echo.ICMP_ECHO_REPLY = *Result
If OpenConsole()
ConsoleTitle("MVPing")
Repeat
ConsoleColor(15,0)
Print("Adresse IP: ")
ConsoleColor(10,0)
sIPAddress.s = Input()
PrintN("")
If Len(sIPAddress ) > 0
hFile.l = IcmpCreateFile_()
IPAddress.l=MakeIPAddress(Val(StringField(sIPAddress,1,".")),Val(StringField(sIPAddress,2,".")),Val(StringField(sIPAddress,3,".")),Val(StringField(sIPAddress+".",4,".")))
ConsoleColor(14,0)
For Boucle.l = 1 To 4
lngResult.l = IcmpSendEcho_(hFile, IPAddress, EchoMessage, Len(EchoMessage), 0, *Result, ResultSize, 500)
PrintN("Ping " + sIPAddress + " Octets: " + Str(*Echo\DataSize) + " Temps: " + Str(*Echo\RoundTripTime) + " ms TTL:" + StrU(*Echo\Options\Ttl,#PB_Byte))
Delay(500)
Next
IcmpCloseHandle_(hFile)
EndIf
Until sIPAddress= ""
FreeMemory(*Result)
EndIf
End
Re: Commandes inconnues
Publié : sam. 14/mai/2011 14:41
par djes
Il faut que vous récupériez le fichier win32.hlp quelque part (désolé, je ne peux pas le mettre ici, il est sous copyright), et que vous le mettiez dans un dossier help dans votre dossier purebasic. Ceci fait, vous pourrez faire F1 pour avoir de l'aide sur la plupart des commandes de l'API Windows. Par contre, pour les plus récentes, il faudra utiliser Google.
Re: Commandes inconnues
Publié : sam. 14/mai/2011 17:32
par Anonyme 2
Yo,
Merci pour toutes vos réponses, je vais annalyser cela

Re: Commandes inconnues
Publié : sam. 14/mai/2011 17:34
par falsam
les fonctions natives de la library
Network ne sont elles pas suffisantes ?
Re: Commandes inconnues
Publié : sam. 14/mai/2011 17:50
par Anonyme 2
Soif de connaissances falsam!!
(par exemple, je ne savais même pas qu'il existait des API windows lol

)
Re: Commandes inconnues
Publié : sam. 14/mai/2011 20:41
par Patrick88
djes a écrit :Il faut que vous récupériez le fichier win32.hlp quelque part (désolé, je ne peux pas le mettre ici, il est sous copyright), et que vous le mettiez dans un dossier help dans votre dossier purebasic. Ceci fait, vous pourrez faire F1 pour avoir de l'aide sur la plupart des commandes de l'API Windows. Par contre, pour les plus récentes, il faudra utiliser Google.
dispo sur le site web de purebasic , section lien.
pat
Re: Commandes inconnues
Publié : sam. 14/mai/2011 21:31
par Anonyme 2
Est-ce que ce code peut-être adapté en utilisant la bibliothèque Network?:
Code : Tout sélectionner
EchoMessage.s = "MVPing make a Ping Test"
ResultSize.l = SizeOf(ICMP_ECHO_REPLY) + Len(EchoMessage)
*Result = AllocateMemory(ResultSize)
*Echo.ICMP_ECHO_REPLY = *Result
If OpenConsole()
ConsoleTitle("MVPing")
Repeat
ConsoleColor(15,0)
Print("Adresse IP: ")
ConsoleColor(10,0)
sIPAddress.s = Input()
PrintN("")
If Len(sIPAddress ) > 0
hFile.l = IcmpCreateFile_()
IPAddress.l=MakeIPAddress(Val(StringField(sIPAddress,1,".")),Val(StringField(sIPAddress,2,".")),Val(StringField(sIPAddress,3,".")),Val(StringField(sIPAddress+".",4,".")))
ConsoleColor(14,0)
For Boucle.l = 1 To 4
lngResult.l = IcmpSendEcho_(hFile, IPAddress, EchoMessage, Len(EchoMessage), 0, *Result, ResultSize, 500)
PrintN("Ping " + sIPAddress + " Octets: " + Str(*Echo\DataSize) + " Temps: " + Str(*Echo\RoundTripTime) + " ms TTL:" + StrU(*Echo\Options\Ttl,#PB_Byte))
Delay(500)
Next
IcmpCloseHandle_(hFile)
EndIf
Until sIPAddress= ""
FreeMemory(*Result)
EndIf
End
Re: Commandes inconnues
Publié : sam. 14/mai/2011 21:58
par djes
Ne dites rien, mais je crois bien que le fichier est dispo là :
http://www.carabez.com/downloads.html (/win32api_big.zip)
Si vous n'arrivez pas à l'ouvrir, allez voir aussi de ce côté là :
http://support.microsoft.com/kb/917607
Re: Commandes inconnues
Publié : sam. 14/mai/2011 22:07
par Backup
Dzoumaka a écrit :Est-ce que ce code peut-être adapté en utilisant la bibliothèque Network?:
si le but est de faire un ping , il y a beaucoup plus court

Re: Commandes inconnues
Publié : sam. 14/mai/2011 22:26
par Anonyme 2
@Dobro:
Oui oui, c'est vrai qu'il y a plus simple, mais c'est juste pour avoir une ptite idee des capacitées de la bibliothèque Network

Re: Commandes inconnues
Publié : dim. 15/mai/2011 10:45
par Backup
Dzoumaka a écrit :@Dobro:
Oui oui, c'est vrai qu'il y a plus simple,

ha ; alors tu ferai comment ? (les autres ne répondez pas ..)

(petit test pour voir... )
Re: Commandes inconnues
Publié : dim. 15/mai/2011 15:49
par Anonyme 2
Démarrer>Cmd>ping

Re: Commandes inconnues
Publié : dim. 15/mai/2011 16:20
par Backup