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 6 et antérieur Discussion :

Probleme de Langage


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 51
    Par défaut Probleme de Langage
    Bonjour

    Passage par adresse.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    void fonction(int *ta,int *ti )
    { int tampon;
    tampon=*ta; *ta=*ti; *ti=tampon;
    }
    etc....................
    void main()
    {
    int a, b;
    etc......................
    fonction(&a,&b);
    etc.......................
    }
    1 - Comment ce code sera-t-il pour le langage de Visual Basic ?

    2 - Langage de Visual Basic, Comment utiliser des tableaux et des chaînes de carctères comme argument d'une fonction ?

    3 - Ou peut t on trouver des pdf (ou documents) explicitant très bien les procédures et les Fuction du Langage Visual Basic ?

    Merci

  2. #2
    Membre éprouvé
    Avatar de khany
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 073
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 073
    Par défaut
    Tu devrais trouver réponse dans les multiples COURS

  3. #3
    Membre actif
    Homme Profil pro
    IT Supporter
    Inscrit en
    Juillet 2007
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : IT Supporter
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 59
    Par défaut
    Salut!
    Je me connais pas trop en c mais c que j'ai vu me dit quelque chose.
    Je pense que tu dois faire appel à la fonction swap de visual basic pour faire ce genre de manipulation! Sur certaines versions de VB cette commande ne passe pas ! Alors tu dois faire comme en C mais cette fois-ci en VB comme suit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    ......
    'Au cas où Swap ne marche pas sur ta version de vb!
    dim X(y) as integer
    'y étant un nombre >=3
    For i=1 to Y
    For j = 1 To Y
                   If X(i) < X(j) Then
                      t = X(i)
                      X(i) = X(j)
                      X(j) = t
                    End If
               Next j
    Next i 
    ....
    'la suite de ton code
    Si cela marche pas alors tu signales

  4. #4
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 131
    Par défaut
    Citation Envoyé par kabalonda Voir le message
    .../...
    Je pense que tu dois faire appel à la fonction swap de visual basic pour faire ce genre de manipulation! Sur certaines versions de VB cette commande ne passe pas !
    Comme c'est mignon ; va falloir nous expliquer dans quelle version de VB «ça passe»

    Citation Envoyé par kabalonda Voir le message
    Alors tu dois faire comme en C mais cette fois-ci en VB comme suit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    ......
    'Au cas où Swap ne marche pas sur ta version de vb!
    dim X(y) as integer
    'y étant un nombre >=3
    For i=1 to Y
    For j = 1 To Y
                   If X(i) < X(j) Then
                      t = X(i)
                      X(i) = X(j)
                      X(j) = t
                    End If
               Next j
    Next i 
    ....
    'la suite de ton code
    Si cela marche pas alors tu signales
    1°) magiklife n'a jamais fait allusion à un swap de tableau
    2°) même pour un tableau on n'opère pas un swap valeur par valeur
    3°) copymemory est l'issu générallement employée - voir également les gestions de pointeurs avec varptr, strptr, objptr
    4°) VB, à défaut d'être un language réellement objet, est à l'origine un langage procédural -
    on place donc le code dans une fonction ou une procédure «swap» que l'on pourra réutiliser ultérieurement.

    Tant qu'à donner des conseils de programmation à quelqu'un qui découvre VB, autant lui donner les bons -
    déjà que VB passe aux yeux des programmeurs C pour un langage de chaouïs.

  5. #5
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 51
    Par défaut Remerciment
    Bonjour,

    Milles merci, pour les réponses.....
    Kabalonda, je pense que tu n'as pas compris mon code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    void fonction(int *ta,int *ti )
    est une fonction que j'ai crée ce n'est pas une fonction déjà préconçu.
    Dans mon code

    C'est que a et b sont tous des valeurs, mais pas des tableaux.
    Je ne connait pas le langage VB. Mais je pense que tu n'as pas créé une fonction et en tu as fait des tableaux.
    Khany, ce que je cherche ce sont des pdf explicitants bien les fonctions et procedures et aussi les tableaux et et les chaînes de caractères. Ou bien tout, simplement un pdf explicitant bien le langagede Visual Basic.
    DarkVader, oui je n'ai rien coimpris sur swap, copymemory, strptr,.....
    Mais ce que je veux connaître le Langage de Visual basic et ensuite plus tard
    les fonctions déjà conçus dans Visual basic.

    Merci

  6. #6
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Par défaut
    Bonjour,

    Si mes souvenir sont bon en c
    &a : tu donne l'adresse
    *ta : tu manipules le contenu
    si tu veux simplement inverser 2 entiers représentés par des variables classiques en les passant par référence (adresse) à la fonction.
    (en vb on dit par référence)

    Dans la FAQ un exemple d'échange en vb donne l'explication

    http://vb.developpez.com/faq/?page=Langage#byval_byref

    aller sur "Qu'est-ce que ByVal et ByRef ?"

    A+, Hervé
    Traductions d'articles :
    La mémoire en .NET - Qu'est-ce qui va où ?
    Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
    N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.

  7. #7
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Par défaut
    Citation Envoyé par DarkVader Voir le message
    Comme c'est mignon ; va falloir nous expliquer dans quelle version de VB «ça passe»
    Dans VB3... ou Turbo Basic

    Et il y a MSDN ausssi pour VB6 à télécharger gratuitement, je n'ai pas l'url sous la main mais une petite recherche...
    A+
    Edit: Après vérification, pas dans VB3 (je l'ai encore sur un portable...)

  8. #8
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Par défaut
    Citation Envoyé par magiklife Voir le message
    Bonjour

    Passage par adresse.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    void fonction(int *ta,int *ti )
    { int tampon;
    tampon=*ta; *ta=*ti; *ti=tampon;
    }
    etc....................
    void main()
    {
    int a, b;
    etc......................
    fonction(&a,&b);
    etc.......................
    }
    Bon, si mes souvenirs en C sont bon...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Public function Swap( ByRef ta as integre, Byref ti as integer) as boolean
       dim Tampon as integer
       Tampon = ta
       ti = ta
       ta = tampon
    end sub
     
     
    'dans le corp d'une fonction ou sub
       dim ti as integer, ta as integer, e as boolean
       'rem exemple
       ti = 5: ta = 10
       e = swap (ti,ta)
       'rem à l'arrivée valeur inversée
    Je crois avoir bien traduit la fonction...
    A+

Discussions similaires

  1. Probleme de langage
    Par L4BiN dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 04/09/2007, 12h55
  2. [FLASH 8] Du probleme des langages asynchrones
    Par luta dans le forum Flash
    Réponses: 10
    Dernier message: 31/10/2006, 10h57
  3. Réponses: 3
    Dernier message: 17/06/2006, 15h35
  4. Réponses: 3
    Dernier message: 07/04/2003, 21h06
  5. [langage]Problème de temps de lecture, optimisation
    Par And_the_problem_is dans le forum Langage
    Réponses: 2
    Dernier message: 08/01/2003, 09h47

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