[RESOLU] Commandes inconnues

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Anonyme 2
Messages : 183
Inscription : ven. 18/mars/2011 11:53

[RESOLU] Commandes inconnues

Message 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!
Dernière modification par Anonyme 2 le jeu. 01/sept./2011 20:44, modifié 1 fois.
dayvid
Messages : 1242
Inscription : mer. 11/nov./2009 18:17
Localisation : Poitiers (Vienne)

Re: Commandes inconnues

Message par dayvid »

Sa ne ressemble pas a une commande de pure basic
je dirais de l'APEI plutôt :wink:

Je ne sais pas a quoi elle servent
Sinon pt'être une commande de procedure ou de macro :idea:
La vie, C'est comme, Une boitte, De startis, On en voie, De toutes, Les couleurs !

Mon forum http://purebasic.forumphp3.com/index.php
Avatar de l’utilisateur
falsam
Messages : 7334
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Commandes inconnues

Message 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
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
djes
Messages : 4252
Inscription : ven. 11/févr./2005 17:34
Localisation : Arras, France

Re: Commandes inconnues

Message 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.
Anonyme 2
Messages : 183
Inscription : ven. 18/mars/2011 11:53

Re: Commandes inconnues

Message par Anonyme 2 »

Yo,
Merci pour toutes vos réponses, je vais annalyser cela :)
Avatar de l’utilisateur
falsam
Messages : 7334
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Commandes inconnues

Message par falsam »

les fonctions natives de la library Network ne sont elles pas suffisantes ?
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Anonyme 2
Messages : 183
Inscription : ven. 18/mars/2011 11:53

Re: Commandes inconnues

Message par Anonyme 2 »

Soif de connaissances falsam!!
(par exemple, je ne savais même pas qu'il existait des API windows lol :mrgreen: )
Patrick88
Messages : 1564
Inscription : mer. 21/janv./2004 18:24

Re: Commandes inconnues

Message 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
Anonyme 2
Messages : 183
Inscription : ven. 18/mars/2011 11:53

Re: Commandes inconnues

Message 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
Avatar de l’utilisateur
djes
Messages : 4252
Inscription : ven. 11/févr./2005 17:34
Localisation : Arras, France

Re: Commandes inconnues

Message 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
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Commandes inconnues

Message 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 ;)
Anonyme 2
Messages : 183
Inscription : ven. 18/mars/2011 11:53

Re: Commandes inconnues

Message 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 :wink:
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Commandes inconnues

Message par Backup »

Dzoumaka a écrit :@Dobro:
Oui oui, c'est vrai qu'il y a plus simple, :wink:
ha ; alors tu ferai comment ? (les autres ne répondez pas ..) :lol: (petit test pour voir... )
Anonyme 2
Messages : 183
Inscription : ven. 18/mars/2011 11:53

Re: Commandes inconnues

Message par Anonyme 2 »

Démarrer>Cmd>ping :wink:
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Commandes inconnues

Message par Backup »

Dzoumaka a écrit :Démarrer>Cmd>ping :wink:
:roll: :roll: en Purebasic !! on parle bien de programmation ici non ? 8O
Répondre