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

Python Discussion :

D�butant - Appel de variable tableau/list dans diff�rente instance [Python 3.X]


Sujet :

Python

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2013
    Messages
    14
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 14
    Par d�faut D�butant - Appel de variable tableau/list dans diff�rente instance
    Bonjour � tous,

    Je ne sais pas si je pose dans le bon forum, j'esp�re que ca ira.

    Je vous explique le contexte : j'ai eu en d�cembre un petit robot Adeept "Darkpaw" qui fonctionne tr�s bien sur son programme d'origine. Apr�s montage et un peu balade dans l'appartement, j'ai souhaitais ajouter quelques capteurs et voulais �tudier d'autres marches (pas lat�ral, passage d'obstacles, escalier,...).

    Apr�s lecture du code d'origine, j'ai tout refait les fonctions simples, allumage de projecteur, jeux de leds, r�cup�ration de valeur des capteurs (MPU6050, auquel j'ai ajout�, une boussole GY271, un capteur de niveau de batterie INA260, je vais aussi regarder pour des capteurs ultrason SR04 pour le positionnement).

    Si pour le moment tout a �t� "facile", j'ai quelques difficult�s dans le programme de marche de mon robot. Au d�but, je faisais appel au programme d'origine mais pour cr�er des mouvements sp�cifiques, ce n'est pas adapt�.

    Ma grosse difficult� est la gestion des instances et des variables locales pouvant �tre appel� � diff�rent moment du code dont je n'ai pas compris les rouages dans python.

    Je vous met ci-dessous mon code maison. Dans l'id�e, si le script est appel� directement, il initialise les servomoteurs, cr�er des variables d'�tat de chacun des servo, ouvre un menu en shell et ex�cute en fonction des param�tres utilisateurs.

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
     
    import Adafruit_PCA9685
    import time
    import threading #je ne sais pas encore si je vais m'en servir et comment ?
    import sys
    import RPi.GPIO as GPIO
    import socket
     
    def menuDemandeMouve(): #petit menu en shell pour tester le programme
      print ("1.Mouvement complet")
      print ("2.Mouvement détaillé d'une jambe")
      print ("3.Mouvement détaillé d'un servo")
      commandeA = input("Quel type de mouvement ?")
      if commandeA == "1" :
          print ("z.Avance")
          print ("s.Recul")
          print ("q.Pas Lateral Gauche")
          print ("d.Pas Lateral Droit")
          print ("a.Tourne sur la Gauche")
          print ("e.Tourne sur la Droite")
          print ("w.Pattes Haute")
          print ("x.Pattes Basse")
          print ("c.Donne la patte")
          commandeB = input("Quel mouvement ?")
          if self.mouveDemande == 1:
            zAvance()
          elif self.mouveDemande == 2:
            sRecul()
          elif self.mouveDemande == 3:
            qPasLateralGauche()
          elif self.mouveDemande == 4:
            dPasLateralDroit()
          elif self.mouveDemande == 5:
            aTourneGauche()
          elif self.mouveDemande == 6:
            eTourneDroite()
          elif self.mouveDemande == 7:
            wPatteHaute()
          elif self.mouveDemande == 8:
            xPatteBasse()
          elif self.mouveDemande == 9:
            cLevePatte()
          os.system('clear')
          menuDemandeMouve()
      elif commandeA == "2":
          print ("1.Jambe I")
          print ("2.Jambe II")
          print ("3.Jambe III")
          print ("4.Jambe IV")
          self.numJambe = int(input("Quel jambe choisi ?"))
          #rotation de la jambe avec affichage des infos
          os.system('clear')
          menuDemandeMouve()
      elif commandeA == "3":
          numServo = int(input ("Port du servo ? (de 0 à 11)"))
          servoPositObjectif = int(input ("Choix du pas ? (de 100 à 560)"))
          print (servoCtrl.servoPositActu[numServo])
          vitesseServo = vitesseServo
          mouveServo(numServo,servoPositActu, servoPositObjectif, vitesseServo)
          servoPositActu[numServo] = servoPositObjectif
          #pwm.set_pwm(numPort,0,numPas) 
          os.system('clear')
          menuDemandeMouve()
     
     
    class servoCtrl():
      #initialisation des servos
      def initAllServo():
        pwm = Adafruit_PCA9685.PCA9685()
        pwm.set_pwm_freq(50)  #frequenceServo
        nombreServo = 11 #en comptant à partir de 0
        servoPort = [0,1,2,3,4,5,6,7,8,9,10,11]
        servoDirection = [1,-1,-1,-1,1,1,-1,1,1,1,-1,-1]
        servoPositIni = [312,305,312,312,287,260,325,281,301,305,195,340]
        servoPositActu = [312,305,312,312,287,260,325,281,301,305,195,340]
        servoMinRange = [100,100,100,100,100,100,100,100,100,100,100,100]
        servoMaxRange = [560,560,560,560,560,560,560,560,560,560,560,560]
        vitesseServo = 100
        for i in range(0, nombreServo):
          pwm.set_pwm(i, 0, servoPositIni[i]) #(numéro du port, déviation mais non utilisé avec ces servos, position voulu)
     
     
      #cette méthode permet de définir/identifier les 3 servos de chacunes des jambes
      def servoJambe(self, numJambe):
        j=(numJambe-1)*3
        self.servoA = self.servoPort[j]   #servoA pour gérer l'avant/arrière des pattes
        self.servoB = self.servoPort[j+1] #servoB pour gérer la hauteur des pattes
        self.servoC = self.servoPort[j+2] #servoC pour gérer l'écartement des pattes
        return self.servoA, self.servoB, self.servoC ;
     
     
      #cette méthode permet de calculer le pas attendu sur un servo en fonction de son sens de rotation/montage sur la jambe
      def directionServo(self, numServo, servoPositObjectif):  #numServo = n°du servo = port de connexion
        if servoDirection [numServo] == -1 :
          self.servoPositObjectif = 560-(servoPositObjectif-100)
        else:
          self.servoPositObjectif = self.servoPositObjectif
        return servoPositObjectif
     
     
      #cette méthode "élémentaire" créer la rotation d'un servo en fonction : de son port, de sa position actuelle, la position à atteindre et à une vitesse demander par défaut
      #qui est instancié autant de fois qu'il y a de servo à mettre en mouvement 
      def mouveServo(self, numServo, servoPositActu, servoPositObjectif, vitesseServo):
        for k in range (servoPositActu, servoPositObjectif,vitesseServo):
          pwm.set_pwm(numServo, 0, 2) #le servo tourne par pas de 2 mais puis fait une pause de 1/100 de seconde
          time.sleep(1/vitesseServo)
        self.servoPositActu = self.servoPositObjectif
        return servoPositActu
     
     
      #méthode principale qui appel les autres
      #qui est à instancier 4 fois lors d'un déplacement pour les 4 jambes sauf cas exceptionnel (cas donne une patte)
      def mouveJambe (self, numJambe):
        servoJambe(self,numJambe)                                      #donne les numéros des servos
     
        self.numServo = self.servoA                                    #numéro du servo à faire bouger
        self.servoPositActu = self.servoPositActu                      #position du servo issu du dernier mouvement ou de l'initialisation 
        #self.servoPositObjectif                                       #donne la position à obtenir pour un servo, doit être donnée par l'instance maitre
        #self.mouveServoA[i]                                           #qu'est ce que i et quel et sa valeur ?
        self.directionServo(self.numServo, self.servPositObjectif)     #vérifie la position à obtenir en fonction du sens de montage du servo
        self.vitesseServo = self.vitesseServo                          #définit la vitesse de déplacement
        mouveServo(self.numServo, self.servoPositActu, self.servoPositObjectif, self.vitesseServo) #lance le mouvement
     
        self.numServo = self.servoB                                    #numéro du servo à faire bouger
        self.servoPositActu = self.servoPositActu                      #position du servo issu du dernier mouvement ou de l'initialisation 
        #self.servoPositObjectif                                       #donne la position à obtenir pour un servo, doit être donnée par l'instance maitre
        #self.mouveServoA[i]                                           #qu'est ce que i et quel et sa valeur ?
        self.directionServo(self.numServo, self.servPositObjectif)     #vérifie la position à obtenir en fonction du sens de montage du servo
        self.vitesseServo = self.vitesseServo                          #définit la vitesse de déplacement
        mouveServo(self.numServo, self.servoPositActu, self.servoPositObjectif, self.vitesseServo) #lance le mouvement
     
        self.numServo = self.servoC                                    #numéro du servo à faire bouger
        self.servoPositActu = self.servoPositActu                      #position du servo issu du dernier mouvement ou de l'initialisation 
        #self.servoPositObjectif                                       #donne la position à obtenir pour un servo, doit être donnée par l'instance maitre
        #self.mouveServoA[i]                                           #qu'est ce que i et quel et sa valeur ?
        self.directionServo(self.numServo, self.servPositObjectif)     #vérifie la position à obtenir en fonction du sens de montage du servo
        self.vitesseServo = self.vitesseServo                          #définit la vitesse de déplacement
        mouveServo(self.numServo, self.servoPositActu, self.servoPositObjectif, self.vitesseServo) #lance le mouvement
     
     
      def positObjectif (self):             #Etat de jambe
              #pas des servos
        positABC1=300,560,300          #1 = jambe à mi chemin, en position haute, 
        positABC2=560,300,300          #2 = jambe à mi hauteur, posé au sol sur l'avant
        positABC3=300,300,300          #3 = jambe à mi hauteur, posé au sol sur le milieu/à l'axe de la jambe
        positABC4=100,300,300          #4 = jambe à mi hauteur, posé au sol à l'arrière
        positABC5=300,100,300          #5 = jambe basse, posé au sol sur le milieu/à l'axe de la jambe
        positABC6=300,560,300          #6 = jambe haute, posé au sol sur le milieu/à l'axe de la jambe
        positABC7=560,560,100          #7 = jambe haute en l'aire, sur l'avant
        positABC8=300,300,400          #8 = jambe proche
        positABC9=300,300,100          #9 = jambe éloigné
        return positABC1,positABC2,positABC3,positABC4,positABC5,positABC6,positABC7,positABC8,positABC9
     
     
    #  def zAvance()
    #    #va chercher les valeurs objectives
    #    positABC1,positABC2,positABC3,positABC4 = positObjectif(positABC1,positABC2,positABC3,positABC4)
    #    #lance le mouvement sur chaque jambe
    #    mouveJambe(self,1,positABC1)
    #    mouveJambe(self,2,positABC2)
    #    mouveJambe(self,3,positABC3)
    #    mouveJambe(self,4,positABC4)
    #      mouveJambe1 = 1,2,3,4 
    #      mouveJambe2 = 2,3,4,1 
    #      mouveJambe3 = 3,4,1,2 
    #      mouveJambe4 = 4,1,2,3 
     
     
    if __name__ == "__main__":
      servoCtrl.initAllServo()
      while True:
        menuDemandeMouve()
    else:
      print ("Initialisation subServoMouve.py"+"\t\t\t[Ok]")
    Aujourd'hui, j�essaie d'utiliser le script avec sa fonction "�l�mentaire" qui fait bouger uniquement un servo et donc ainsi :
    - initialisation et lancement du menu,
    - je choisi le programme 3, (qui sur un module simple de test devait faire bouger un servo d'un point A � un point B)
    - j'indique le num�ro du servo ou son port,
    - j'indique la position attendu,
    - et le servo doit bouger d'autant.
    Pour tester, j'ai ajouter dans le menu un print pour avoir l'affichage de la position initiale du servo. Ici il y a arr�t du script car la variable n'est pas connu dans cette instance, pourtant elle a �t� initialis� mais je n'arrive pas a l'appeler.

    Merci d'avance pour votre aide.

    Bonne fin de journ�e,

    Ritchy76

  2. #2
    jmv
    jmv est d�connect�
    Membre chevronn� Avatar de jmv
    Profil pro
    Enseignant
    Inscrit en
    Mai 2004
    Messages
    395
    D�tails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activit� : Enseignant

    Informations forums :
    Inscription : Mai 2004
    Messages : 395
    Par d�faut
    Bonjour,

    Personne n'a envie de se farcir tes 174 lignes de codes. Pourrais-tu pr�ciser de quelle variable tu parles ? dans quelle fonction ? Quelle ligne o� survient l'erreur ?

    a+
    jmv

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2013
    Messages
    14
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 14
    Par d�faut
    Effectivement, je ne savais pas comment m'y prendre, d�sol�.

    En ligne 75, la variable servoPositActu est initialis� (cr�er dans une m�thode de la classe "servoCtrl")

    Mais quand elle est appel� en ligne 57, le script s�arr�te car variable non d�finie.

    Merci d'avance,

    Ritchy76

  4. #4
    Expert �minent
    Homme Profil pro
    Architecte technique retrait�
    Inscrit en
    Juin 2008
    Messages
    21 770
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activit� : Architecte technique retrait�
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 770
    Par d�faut
    Salut,

    self.machin n'est pas une variable mais l'attribut "machin" de l'objet "self"... qui par convention ne doit �tre utilis� que dans une m�thode de la classe qui d�finit cet objet.

    Vous faites ce qu'on appelle de la programmation h�ro�que: du quoi qu'il en coute pourvu que �� marche tant que vous ne vous preniez pas trop le chou � comprendre pourquoi (je dis �� parce que si vous aviez ouvert un tuto vous n'auriez pas �crit cela).

    Ici, nous ne sommes pas des h�ros juste des tacherons qui gal�rent � apprendre � programmer correctement (avec Python) en essayant de comprendre pourquoi faire comme �� plut�t qu'autrement...

    Ce qui suppose avoir un peu potass� les bases en ouvrant un tuto. et un peu de pratique pour r�aliser qu'exposer un probl�me suppose pouvoir le reproduire, histoire de pouvoir tester les solutions qu'on pourrait vous proposer.

    Poster un code de 200 lignes alors que pas grand monde n'aura le mat�riel qui va bien pour le faire tourner, c'est juste penser que coder, c'est magique et que des bons programmeurs pourront vous d�patouiller en moins de 2...

    H�las, si vous aviez ouvert un tuto. vous sauriez que c'est plus compliqu� que ��.

    Ceci dit bon courage!

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2013
    Messages
    14
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 14
    Par d�faut
    Merci pour vos conseils...

    Vous juger sans savoir, je n'ai r�solu pas mon probl�me certes mais je n'ai jamais dit que je n'avais pas potass� avant de poster. Je me doutais de vos r�ponses et cela fait 1 mois que j'h�sitais � poster de peur de me ridiculiser car je n'ai compris la gestion des instances sous python ! Merci, gr�ce � vous cela confirme mon ignorance et mon ridicule, et bien entendu votre sup�riorit� !

    Peut �tre auriez vous pu conseiller un lien d'explication plus clair que ceux que j'ai lu.

    Je suis le site developpez.com depuis longtemps pour mes programmes en VBA (certes ce n'est que du vba) et ne poste jamais car je trouve en g�n�rale les r�ponses � mes questions gr�ces aux postes de novices qui osent poser des questions.

    Pour python, j'ai lu aussi "python pour les nuls" la 1ere �dition mais je n'ai pas compris la partie instance que j'ai eu beau relire.

    Bref, pour revenir au sujet,
    self.machin n'est pas une variable mais l'attribut "machin" de l'objet "self"... qui par convention ne doit �tre utilis� que dans une m�thode de la classe qui d�finit cet objet.
    attribut d'un objet = "Les attributs sont des variables accessibles depuis toute m�thode de la classe o� elles sont d�finies. En python, les classes sont des types modifiables. Le corps d'une classe peut �tre vide, inclure des variables ou attributs, des fonctions ou m�thodes."
    D�finition en cherchant "python d�finition attribut" sous google

    La partie du code �tudi� n'utilise pas self car j'ai peur de mal l'employer. Je vais tous les supprimer et tester, il n'y aura pas d�ambigu�t�.

    J'ai aussi essay� d'int�grer mon menu dans la classe mais rien n'y fait, m�me erreur. Pourtant c'�tait bien dans le m�me objet. Je ferais une version light et corriger de ses propositions pour tester.

    Pouvez vous m'aider ou le forum developpez est trop professionnel pour aider un amateur "h�roic" ? Et limite, ne me donnez pas la solution (car je n�apprendrais rien) mais guidez moi...

    Vous remerciant d'avance et bonne soir�e � tous

    Ritchy76

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2013
    Messages
    14
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 14
    Par d�faut
    Au faite merci pour ta signature @wiztricks, je vais lire la FAQ et les diff�rents cours et tuto pour voir si ca explique mes probl�mes.

    Bonne soir�e

  7. #7
    Membre Expert

    Homme Profil pro
    Ing�nieur calcul scientifique
    Inscrit en
    Mars 2013
    Messages
    1 229
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : Ing�nieur calcul scientifique

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 229
    Par d�faut
    Citation Envoy� par ritchy76 Voir le message
    La partie du code �tudi� n'utilise pas self car j'ai peur de mal l'employer. Je vais tous les supprimer et tester, il n'y aura pas d�ambigu�t�.
    Bah justement c'est pour ca que vous n'obtenez pas le comportement souhait� !

    Testez, observez et comprenez ce petit code, c'est la racine de votre probl�me :
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    class Machin1():
      def set_truc(self,t):
         self.truc=t
     
      def print_truc(self):
         print(self.truc)
     
    class Machin2():
      def set_truc(self,t):
         #### Methode qui ne fait absolument rien puisque la seule variable définie est truc, et elle n'est n'y retournée, ni sauvegarder dans l'objet (pas de self)
         truc=t
     
      def print_truc(self):
         print(self.truc)
     
    m1=Machin1()
    m1.set_truc("toto")
    m1.print_truc() ### Fonctionne
    print(m1.truc)  ###Fonctionne, truc est bien un attribut de m1
     
     
    m2=Machin2()
    m2.set_truc("toto")  ### Ne produit pas d'erreur, car le code de set_truc est un code valide, mais ne fait juste absolument rien
    m2.print_truc() ### Produit une erreur car truc n'est pas un attribut de m2
    print(m2.truc)  ### Produit une erreur car truc n'est pas un attribut de m2
    NB : pour voir la liste de tout ce que contient un objet vous pouvez tout simplement faire
    , et l� vous voyez le nom de toutes les m�thodes et attributs. Il y a des trucs, vous allez vous demandez ce que c'est mais �a c'est pas grave. L'important c'est que si vous d�finissez qqch, et bien vous devez le voir l� dedans.

    Faites print(dir(m1)) et print(dir(m2)), juste apr�s la cr�ation de m1 et m2, et aussi juste apr�s l'appel de set_truc, et observer que truc n'apparait pas dans l'objet m2.

  8. #8
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    F�vrier 2006
    Messages
    12 847
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels
    Secteur : A�ronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 12 847
    Billets dans le blog
    1
    Par d�faut
    Bonjour
    Citation Envoy� par ritchy76 Voir le message
    Pour python, j'ai lu aussi "python pour les nuls" la 1ere �dition mais je n'ai pas compris la partie instance que j'ai eu beau relire.
    "instance" est juste un mot savant pour dire "variable de type objet". La POO fait la distinction entre "types de base" style int/short/float/strings, et "instances", �l�ments qui contiennent des objets.
    Si j'�cris a=5 alors "a" est une variable de type "int", mais si j'�cris b=toto() et que "toto" est une classe alors "b" est une variable de type "toto" ou plus simplement une "instance de toto". Pas plus compliqu� que �a.

    Citation Envoy� par ritchy76 Voir le message
    La partie du code �tudi� n'utilise pas self car j'ai peur de mal l'employer. Je vais tous les supprimer et tester, il n'y aura pas d�ambigu�t�.
    "self" (nom conventionnellement donn� � la premi�re variable des m�thodes des classes) est une variable situ�e dans une classe permettant de r�f�rencer l'instance depuis l'int�rieur de la classe elle-m�me.
    Exemple b=toto(); c=toto(). Ici deux instances "b" et "c" donc deux objets m�moire. Ainsi, "self" permet pour chaque instance de s'adresser dans un cas � "b" et dans l'autre � "c" (voir l'exemple de lg_53 pour compl�ter).
    Mon Tutoriel sur la programmation �Python�
    Mon Tutoriel sur la programmation �Shell�
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les diff�rentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2013
    Messages
    14
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 14
    Par d�faut
    Bonsoir � tous,

    Merci pour vos r�ponses. Apr�s relecture de vos messages et essai de vos exemple, je crois que j'ai compris le principe.

    J'ai aussi repris mon script, travaill� sur une version light et tester/corriger. Mon code est maintenant fonctionnel.

    Merci � vous et bonne soir�e,

    Ritchy76

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Appeler des fonctions list�es dans un tableau
    Par MarieNum dans le forum ActionScript 3
    R�ponses: 2
    Dernier message: 01/01/2009, 17h31
  2. Appel d'une liste dans une liste (JSTL)
    Par abalgue dans le forum Hibernate
    R�ponses: 4
    Dernier message: 15/06/2007, 10h56
  3. R�ponses: 2
    Dernier message: 22/12/2006, 11h35
  4. [PEAR][DB] Appel de proc�dure stock�e dans diff�rents sch�mas sous postgresql
    Par rebolon dans le forum Biblioth�ques et frameworks
    R�ponses: 1
    Dernier message: 22/09/2006, 16h49
  5. tableau 2D dans diff�rents fichiers .c
    Par abelolive dans le forum C
    R�ponses: 18
    Dernier message: 05/07/2006, 17h44

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