IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Calcul IP (chaine de caractere)


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    178
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 178
    Par défaut Calcul IP (chaine de caractere)
    Salut,

    Je voudrais effectuer une modification sur dis IP pour les transformer en nombre.
    Je m explique : par exemple,
    si mon IP est 192.168.1.1
    j aimerai la transformer en 192*(256^3) + 168*(256^2) + 1*256 + 1

    Y a-t-il une fonction qui me faciliterai la tache (dois-je preciser que je debute dans ce langage...)

    Merci d'avance

  2. #2
    Membre chevronné Avatar de bouvda
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    252
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 252
    Par défaut
    Bonjour,

    vous pouvez utiliser la méthode split sur la chaîne de caractères (String)représentant l'adresse IP pour retirer les ".".
    Puis ensuite vous pouvez utiliser Int64.parse pour convertir en Long.
    Cela donnerait quelque chose dans ce style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    string ip = "192.168.1.1";
    string[] ipParts = ip.split(".");
    long ipNum = Int64.parse(ipParts[3])+256*(Int64.parse(ipParts[2])+256*(Int64.parse(ipParts[1])+256*Int64.parse(ipParts[0])));
    [EDIT] j'ai donné du C# dans le forum VB.NET ... bon en même temps c'est pas très dur à convertir en VB.NET

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    178
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 178
    Par défaut
    Merci messieurs, je me disais aussi que le code de Bouvda ne me paraissait pas familier...
    En tout cas, je cherchais surtout cette ligne : ArrStringIp = StringIp.Split(".")

    Merci pour votre vitesse de reponse aussi

  4. #4
    Membre confirmé Avatar de roshy
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2007
    Messages : 107
    Par défaut
    Yéééé la première personne que j'ai réussit à aider (une heure après mon inscription c'est quand même pas pire )

    Tu es le/la bienvenue.

  5. #5
    Membre confirmé Avatar de roshy
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2007
    Messages : 107
    Par défaut
    Je ne connais pas de fonction qui ferais la conversion toute seule. Ce que je vois tu pourrais utiliser la fonction Split de la classe string avec la caractère . comme séparateur.

    Tu vas avoir chacun de tes nombres séparés dans le array de string. Te reste plus qu'à faire tes conversion.

    Un exemple puisque je suis pas sur que ce soit vraiment clair mon affaire...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
            Dim StringIp As String
            Dim ArrStringIp As String()
     
            StringIp = "192.168.1.1"
            ArrStringIp = StringIp.Split(".")
    Avec ce code tu aura ArrStringIp(0) contiendra 192, ArrStringIp(1) contiendra 168.

    Tu peux maintenant les utiliser pour faire les calculs que tu veux. Tu peux aussi les convertir en Long en faisant CLng(ArrStrinIp(0)) pour faire du plus beau code et éviter des erreurs de conversions.

Discussions similaires

  1. Réponses: 9
    Dernier message: 06/11/2007, 13h36
  2. problem de calculer une chaine de caractere
    Par NapsterVB dans le forum Delphi
    Réponses: 9
    Dernier message: 19/04/2007, 17h21
  3. Réponses: 5
    Dernier message: 31/07/2006, 16h42
  4. [LG]comparaison de chaines de caracteres
    Par thesam dans le forum Langage
    Réponses: 6
    Dernier message: 20/05/2003, 23h41
  5. Probleme sur les chaines de caractere
    Par scorpiwolf dans le forum C
    Réponses: 8
    Dernier message: 06/05/2002, 20h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo