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 :

dissocier des variables


Sujet :

VB 6 et antérieur

  1. #1
    Nouveau membre du Club
    Inscrit en
    Septembre 2004
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 26
    Points : 28
    Points
    28
    Par défaut dissocier des variables
    Bonjour,

    je debute en vb, j'ai un tableau que je declare dans une class :

    et dans une sub plus bas, je definit un nouveau tableau qui est egal au premier, pour pouvoir faire un sort sur le nouveau tableau:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    dim new_liste as array
    new_liste = liste
    array.sort(liste)
    pb, le sort marche très bien, mais le sort me modifie les 2 tableaux alors que je voudrais modifier que new_liste pour garder la liste d'origine intacte.
    je pense qu'il doit y avoir un truc tout con a faire lors de la declaration.


    Merci d'avances pour vos réponses.

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 55
    Points : 32
    Points
    32
    Par défaut
    Je pense qu'il faut recopier les valeurs contenues dans ton 1er tableau une par une dans une boucle for.

    Dans ton code actuel tu ne fais que copier la référence du 1er tableau dans ton 2ème. Les 2 tableaux ayant la même référence, une modif sur le 1er tableau entraîne également une modif du 2ème

    J'espère que j'ai été clair...

  3. #3
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    Les Array sont des objets. Donc si tu dit à VB qu'un objet Array nommé new_liste est ébal à l'objet Array nommé liste, tu crées alors un pointeur vers l'adresse mémoire de liste et tes deux variables pointe vers la même adresse mémoire. Donc, deux variables pour le même objet.

    Pour faire une copie de liste dans new_liste, tu dois recopier chaque valeurs contenues dans liste vers new_liste. Faire une boucle, quoi!

  4. #4
    Nouveau membre du Club
    Inscrit en
    Septembre 2004
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 26
    Points : 28
    Points
    28
    Par défaut
    Merci pour vos reponses,

    je pensais que l'on pouvait lui dire de copier facilement le contenu de l'adresse memoire uniquement et ne pas pointer sur l'adresse, comme dans d'autre languages.

  5. #5
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    C'est en effet un peu nébuleux avec VB. On ne voit pas comment se gère la mémoire. VB le fait tout seul de façon transparente... Ha! C'est presque drôle. Transparente... C'est pourquoi beaucoup de nouveaux utilisateurs de VB font l'erreur qu'ils soient programeurs invétérés ou néophytes.

  6. #6
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Argentine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 173
    Points : 1 418
    Points
    1 418
    Par défaut
    je suis certain qu'on peut faire ça vite, la mémoire est lisible et recopiable assez facilement si on connait les apis.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [C#] Récupération des variables system...
    Par smyley dans le forum Windows Forms
    Réponses: 7
    Dernier message: 04/08/2005, 11h39
  2. Réponses: 4
    Dernier message: 15/12/2002, 04h19
  3. Gestion des variables - mémoire ?
    Par RIVOLLET dans le forum Langage
    Réponses: 4
    Dernier message: 26/10/2002, 12h44
  4. [VB6] [Fichier] Enregistrer des variables de structure
    Par de.bo dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 07/10/2002, 11h09
  5. Réponses: 4
    Dernier message: 18/07/2002, 13h32

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