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 :

Revue de code - Requête dans un CSV


Sujet :

Python

  1. #1
    Membre régulier Avatar de scalpel
    Homme Profil pro
    Gestionnaire de parc micro-informatique
    Inscrit en
    Novembre 2008
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Gestionnaire de parc micro-informatique
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2008
    Messages : 151
    Points : 95
    Points
    95
    Par défaut Revue de code - Requête dans un CSV
    Bonjour à tous,

    L'exercice consistait à extraire d'un fichier texte les lignes correspondant à des prénoms dont la première lettre est située entre F et M inclus. J'ai assez rapidement trouvé la méthode ".spli()" me permettant de travailler dans la "colonne" des prénoms. Mais pour élaborer une "requête", je n'ai rien trouvé, j'ai pourtant cherché plusieurs heures dans la documentation. J'ai essayé du coté des expressions régulières, mais mon niveau actuel ne ma pas permis de comprendre comment les utiliser dans ce contexte. J'ai donc décidé de coder ma propre fonction pour réaliser le "masque" de cette requête. Cela fonctionne très bien, mais je pense qu'il doit y avoir beaucoup plus simple pour cibler dans une plage comprise entre deux lettres

    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
    # Extraire d'un fichier csv les lignes correspondant à des prénoms dont la première lettre est située entre F et M inclus.
     
    # fonctions
    def filtre(debut, fin):
        'creation d une chaine pour la recherche'
        alphabetMaj=['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z']
        alphabetMin=['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
        indexDebut=alphabetMaj.index(debut)
        indexFin=(alphabetMaj.index(fin)+1)
        return ''.join(alphabetMaj[indexDebut:indexFin]+alphabetMin[indexDebut:indexFin])
     
    def extraction(source, destination, colonne, filtre):
        'extraction des lignes par rapport a une colonne et un filtre'
        fs=open(source, 'r', encoding="utf-8")
        fd=open(destination, 'w', encoding="utf-8")
        while 1:
            ligne=fs.readline()
            if ligne=='':
                break
            mot=ligne.split(';')[colonne-1]
            if mot[0:1] in filtre:
                fd.write(str(ligne))
        fs.close()
        fd.close()
     
    # main
    extraction('repertoire.csv','extraction.csv', 2, filtre('F','M'))
    Débutant en janvier 2024 l'apprentissage d'un langage de programmation et n'étant pas particulièrement doué, soyez indulgents.

  2. #2
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 690
    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 690
    Points : 30 986
    Points
    30 986
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par scalpel Voir le message
    mais je pense qu'il doit y avoir beaucoup plus simple pour cibler dans une plage comprise entre deux lettres
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    >>> prenom="Mafalda"
    >>> print("ok" if "F" <= prenom[0] <= "M" else "bad")
    ok
    ...

    Citation Envoyé par scalpel Voir le message
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    alphabetMaj=['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z']
    alphabetMin=['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    alphabetMaj=list("ABCDEFGHIJKLMNOPQRSTUVWXYZ")
    alphabetMin=list(map(str.lower, alphabetMaj))
     
    import string
    alphabetMaj=list(string.ascii_uppercase)
    alphabetMin=list(string.ascii_lowercase)

    De plus, comme une chaine est aussi un itérable, finalement les listes ne servent à rien => .index() marche aussi bien pour une chaine que pour une liste.
    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]

  3. #3
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    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 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Citation Envoyé par scalpel Voir le message
    mais je pense qu'il doit y avoir beaucoup plus simple pour cibler dans une plage comprise entre deux lettres
    Tant qu'on reste dans la plage des caractères ASCII, les alphabets majuscules et minuscules sont "ordonnés" correctement.
    Ce qui permet d'écrire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    >>> ch = 'c'
    >>> 'A' <= ch.upper() <= 'Z'
    True
    >>>
    et tant qu'on y est les fonctions chr et ord sont aussi intéressantes.
    note: les "trucs" en programmation sont des savoirs faire que l'ont connait parce qu'on a eu le temps de se "cultiver": il y a des trucs qu'on ne peut pas inventer... Vous pourrez chercher tant que vous voulez, sans savoir quoi chercher, vous ne trouverez pas.

    Citation Envoyé par scalpel Voir le message
    Cela fonctionne très bien...
    Si filtre est "fonction", l'instruction if mot[0:1] in filtre: fait un code qui ne fonctionne pas...

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

  4. #4
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 105
    Points : 4 455
    Points
    4 455
    Par défaut
    bonjour
    Citation Envoyé par scalpel Voir le message
    creation d une chaine pour la recherche
    Tu connais la table ascii
    Donc tu pouvais simplement faire ord(caractere) > ord("F") ... (bien sûr, on enlève les ord et )
    $moi= ( !== ) ? : ;

  5. #5
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 690
    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 690
    Points : 30 986
    Points
    30 986
    Billets dans le blog
    1
    Par défaut
    Une lettre reste à la base un nombre (nombre représentant son rang dans la liste de la table utf-8)
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    >>> ord("A")
    65
    >>> ord("B")
    66
    >>> chr(ord("A") + 1)
    'B'
    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]

  6. #6
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 105
    Points : 4 455
    Points
    4 455
    Par défaut
    bizarre ce livre ... nous sommes au chapitre 9 et, les chaines et chr() ord() sont au chapitre 10
    @scalpel donc pas de ta faute, tout est bien expliqué dans le chapitre suivant (chaines, listes)
    $moi= ( !== ) ? : ;

  7. #7
    Membre régulier Avatar de scalpel
    Homme Profil pro
    Gestionnaire de parc micro-informatique
    Inscrit en
    Novembre 2008
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Gestionnaire de parc micro-informatique
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2008
    Messages : 151
    Points : 95
    Points
    95
    Par défaut
    Merci beaucoup pour vos, retours, je vais améliorer mon code et c'est vrai qu'il me manque les bases. Je n'aurai jamais imaginé seul que l'on pouvait utiliser les "opérateurs de comparaison" avec les lettres de la même façon qu'avec les nombres.
    J'avoue être un peu "dépité", car sans vous je fais de la m... , même en passant des heures dans la documentation, il faut tout de même avoir une idée de ce que l'on cherche.
    Si je veux arrêter de vous solliciter aussi souvent, il va peut-être falloir que j'arrête le "Swinnen" et que je me tourne vers un cours qui traite plus des bases.
    Ce sera certainement moins amusant, mais probablement plus efficace pour moi qui n'ai aucune notion de programmation.
    Débutant en janvier 2024 l'apprentissage d'un langage de programmation et n'étant pas particulièrement doué, soyez indulgents.

  8. #8
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 105
    Points : 4 455
    Points
    4 455
    Par défaut
    Citation Envoyé par scalpel Voir le message
    jamais imaginé seul que l'on pouvait utiliser les "opérateurs de comparaison" avec les lettres de la même façon qu'avec les nombres.
    Pas que ! aussi les chaines. Comme bien d'autres objets

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    [1,2] < [3, 4]
    [7,2] > [3, 4]
    [1,2,3] < [3, 4]
    [7, "a"] < [8]
    $moi= ( !== ) ? : ;

  9. #9
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 690
    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 690
    Points : 30 986
    Points
    30 986
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par scalpel Voir le message
    Je n'aurai jamais imaginé seul que l'on pouvait utiliser les "opérateurs de comparaison" avec les lettres de la même façon qu'avec les nombres.
    Et quand tu feras de l'objet, tu pourras redéfinir les opérateurs "__eq__" (equal), "__ne__" (not equal), "__lt__" (less than) et autres, ce qui te permettra de comparer "truc" avec "chose" et de multiplier "machin" par "bidule".

    Citation Envoyé par scalpel Voir le message
    Si je veux arrêter de vous solliciter aussi souvent, il va peut-être falloir que j'arrête le "Swinnen" et que je me tourne vers un cours qui traite plus des bases.
    Checke ma signature...

    Citation Envoyé par scalpel Voir le message
    Ce sera certainement moins amusant, mais probablement plus efficace pour moi qui n'ai aucune notion de programmation.
    La programmation (écrire un programme) est souvent issue de l'algorithmique (décrire les opérations pour arriver au résultat). Si tu as la logique (et tu sembles l'avoir) la traduire en Python n'est qu'une question d'habitude.
    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]

  10. #10
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    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 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Citation Envoyé par scalpel Voir le message
    J'avoue être un peu "dépité", car sans vous je fais de la m... , car même en passant des heures dans la documentation, il faut tout de même avoir une idée de ce que l'on cherche.
    Certes mais à court terme l'objectif est de construire avec le python que vous connaissez. Sachant que l'intérêt n'est pas dans les lignes que vous allez écrire mais à la démarche que vous allez être obligé de faire pour arriver à les écrire.

    Citation Envoyé par scalpel Voir le message
    Si je veux arrêter de vous solliciter aussi souvent, il va peut-être falloir que j'arrête le "Swinnen" ...
    Le documentation du langage côté opérations sur les chaines de caractères pourrait être une bonne lecture. Vous ne comprendrez pas toujours leur intérêt mais vous aurez une idée confuse de leur existence.

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

  11. #11
    Membre régulier Avatar de scalpel
    Homme Profil pro
    Gestionnaire de parc micro-informatique
    Inscrit en
    Novembre 2008
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Gestionnaire de parc micro-informatique
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2008
    Messages : 151
    Points : 95
    Points
    95
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    ... Certes mais à court terme l'objectif est de construire avec le python que vous connaissez...
    Certes, mais écrire ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    def filtre(debut, fin):
        'creation d une chaine pour la recherche'
        alphabetMaj=['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z']
        alphabetMin=['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
        indexDebut=alphabetMaj.index(debut)
        indexFin=(alphabetMaj.index(fin)+1)
        return ''.join(alphabetMaj[indexDebut:indexFin]+alphabetMin[indexDebut:indexFin])
    à la place de cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    >>> ch = 'c'
    >>> 'A' <= ch.upper() <= 'Z'
    Cela pose question non ?
    Débutant en janvier 2024 l'apprentissage d'un langage de programmation et n'étant pas particulièrement doué, soyez indulgents.

  12. #12
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 105
    Points : 4 455
    Points
    4 455
    Par défaut
    Citation Envoyé par scalpel Voir le message
    J'ai assez rapidement trouvé la méthode ".spli()" me permettant de travailler dans la "colonne" des prénoms.
    Je viens de regarder le corrigé 9.10 et en fait l'exercice est bien autre (que la logique fichier) !
    Justement il faut "pondre" un algo qui va remplacer split, du coup on passe à côté d'un gros travail, même le seul intérêt de cet exercice !

    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
    def chercheCP(ch):
        "recherche dans ch la portion de chaîne contenant le code postal"
        i, f, ns = 0, 0, 0
        # ns est un compteur de codes #
        cc = ""
        # chaîne à construire
        while i < len(ch):
            if ch[i] =="#":
                ns = ns +1
                if ns ==3:    # le CP se trouve après le 3e code #
                    f = 1
                elif ns ==4:    # inutile de lire après le 4e code #
                    break
            elif f ==1:
                cc = cc + ch[i]
            i = i +1
        return cc
    EDIT:

    Cela pose question non ?
    Justement non ! Moi aussi je ne connais pas tout de python et parfois il m'arrive de re-créer la roue (et elle n'est pas très très ronde).

    Voir l'exo que je cite dans ce message, le corrigé "pique", mais il est adapté à un certain niveau de connaissances. Le correcteur fait avec ou plutôt sans (la connaissance de .split())
    $moi= ( !== ) ? : ;

  13. #13
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 690
    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 690
    Points : 30 986
    Points
    30 986
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par scalpel Voir le message
    Cela pose question non ?
    Non, tu avais l'idée, manque juste l'habitude. Au début tu avances à 4 pattes. Tu avances mais tu fais 25m à la minute.
    Plus tard tu marches sur 2 jambes et tu fais 25m en 15s. Gain: 75%.

    Et c'est pareil pour tout.
    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]

  14. #14
    Membre régulier Avatar de scalpel
    Homme Profil pro
    Gestionnaire de parc micro-informatique
    Inscrit en
    Novembre 2008
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Gestionnaire de parc micro-informatique
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2008
    Messages : 151
    Points : 95
    Points
    95
    Par défaut
    Citation Envoyé par papajoker Voir le message
    ...Je viens de regarder le corrigé 9.10 et en fait l'exercice est bien autre...
    C'est ce qui me déroute dans le "Swinnen", je pense qu'il est adapté comme support de cours pour un prof qui maitrise son sujet et qui peut consulter les corrigés. Il va pouvoir orienter ces élèves dans leur recherche de solutions. Seul, je suis en permanence en train de me demander s'il faut que je n'utilise que ce qui vient d'être abordé dans les paragraphes précédents ou si je dois chercher dans d'autres directions, c'est pour cela que je vous sollicite autant et que j'ai besoin de vos retours.
    Débutant en janvier 2024 l'apprentissage d'un langage de programmation et n'étant pas particulièrement doué, soyez indulgents.

  15. #15
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    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 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Citation Envoyé par scalpel Voir le message
    Certes, mais écrire ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    def filtre(debut, fin):
        'creation d une chaine pour la recherche'
        alphabetMaj=['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z']
        alphabetMin=['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
        indexDebut=alphabetMaj.index(debut)
        indexFin=(alphabetMaj.index(fin)+1)
        return ''.join(alphabetMaj[indexDebut:indexFin]+alphabetMin[indexDebut:indexFin])
    à la place de cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    >>> ch = 'c'
    >>> 'A' <= ch.upper() <= 'Z'
    Cela pose question non ?
    Ce qui pose question, c'est l'instruction mentionnée précédemment.
    Car ce que vous avez mis dans filtre est un détail que vous pourrez toujours reprendre plus tard.

    Pour le reste, en vous lançant dans la programmation, vous découvrez un monde dans lequel vous n'avez pas encore de repères très solides et où les solutions dépendent de connaissances que vous ne pouvez pas inventer.

    Accrochez vous et persévérez.

    note: Beaucoup d'exercice du Swinnen sont corrigés. L'avantage de ces corrections est de vous montrer comment faire avec ce qui vous a été présenté jusque là. Lorsque vous allez demander un avis dans un forum, ce qu'on pourra vous proposer a peu de chance de suivre la progression proposée par le cours.

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

Discussions similaires

  1. pb eval pour le code php dans une feuille xslt
    Par nipepsi dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 10/09/2004, 11h23
  2. Insertion code html dans bdd
    Par jeff37 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 15/04/2004, 15h03
  3. [Revue de code] Quels outils pour de grosses applis?
    Par franckR dans le forum Choisir un environnement de développement
    Réponses: 1
    Dernier message: 21/03/2004, 10h03
  4. [CODE] Application dans la zone de notification
    Par Rodrigue dans le forum C++Builder
    Réponses: 4
    Dernier message: 29/05/2003, 19h06
  5. [TP]code asm dans une procedure
    Par M.Dlb dans le forum Turbo Pascal
    Réponses: 3
    Dernier message: 17/08/2002, 20h43

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