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 :

Invalid base45 string


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    autre metier
    Inscrit en
    Août 2021
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : autre metier

    Informations forums :
    Inscription : Août 2021
    Messages : 7
    Par défaut Invalid base45 string
    Bonjour à tous,

    Je viens d'arriver sur ce forum, j'ai d'assez bonne notions de système mais complétement inculte en programmation.

    Intéressé de combler cette lacune, je saute sur ce sujet "pass sanitaire" d'actualité comme exemple de travail, j'essaye donc de mettre en application quelques
    exemples de "scripts" pour lire mon qrcode.

    En parallèle je lis avec admiration les tutos qui sont mis à dispositions pour découvrir les bases de Python, mais
    impatient d'avancer rapidement sur ce petit problème qui se pose à moi en voulant lire mon qrcode, voici une première interrogation :

    j'utilise un script qui appelle des fonctions de json, sys, zlib, base45, cbore2.
    J'ai réussi à installer les modules nécéssaires, et au lancement de ce script de lecture, que je lance via l'invite de commande windows, de je bute sur un message d'erreur " Invalid base45 string"
    après vérification des problèmes de version, je bute sur ce problème, pouvez vous m'apporter votre concours ?

    Aux plaisirs de vous lire.

  2. #2
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 599
    Billets dans le blog
    10
    Par défaut
    Bonjour Pierre91 et bienvenue sur ce forum

    Je ne peux pas vous aider sur la programmation Python, c'est loin d'être ma spécialité
    Mais je profite de ce sujet pour rappeler que "passe sanitaire" s'écrit avec un e .
    C'est une abréviation de "passe partout".

  3. #3
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    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 741
    Par défaut
    Salut,

    Si c'est un script que vous avez récupéré sur Internet, peut être qu'il est buggé, peut être que vous ne savez pas le faire marcher,...

    Si vous l'avez développé vous même, l'erreur Invalid base45 string n'a de sens que lorsqu'on essaie de décoder une suite d'octets qui n'est pas codé en Base45.
    Ce qui ramène au contenu de cette suite... et si elle n'est pas valide tracer sa source.


    Citation Envoyé par escartefigue Voir le message
    Mais je profite de ce sujet pour rappeler que "passe sanitaire" s'écrit avec un e .
    C'est une abréviation de "passe partout".
    Le gouvernement ne l'entend pas ainsi...
    Moi je dis "ausweis" parce que c'est un laisser-passer et chacun supporte la situation comme il peut.

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

  4. #4
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 832
    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 832
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par Pierre91 Voir le message
    je bute sur un message d'erreur " Invalid base45 string"
    après vérification des problèmes de version, je bute sur ce problème, pouvez vous m'apporter votre concours ?
    Ce message d'erreur est associé au numéro de la ligne contenant l'instruction qui provoque l'erreur, et même la recopie de ladite instruction. Exemple File "toto.py", line 3412 xxx=Base45(yyy) Invalid base45 string.
    Ce qui permet d'aller dans le code source directement à ladite ligne, de vérifier l'instruction (était-ce bien "yyy" que je voulais convertir?) et le cas échéant de rajouter ses petits contrôles personnalisés permettant de vérifier que "yyy" est bien du format attentu (ex print(yyy, type(yyy))).

    Citation Envoyé par wiztricks Voir le message
    Moi je dis "ausweis" parce que c'est un laisser-passer et chacun supporte la situation comme il peut.
    Oups... peut-être un sujet qu'il n''est pas nécessaire d'aborder dans un fofo d'informatique
    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]

  5. #5
    Membre à l'essai
    Homme Profil pro
    autre metier
    Inscrit en
    Août 2021
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : autre metier

    Informations forums :
    Inscription : Août 2021
    Messages : 7
    Par défaut
    Oups ! si je ne vous mets pas la ligne de commande incriminée, effectivement ce sera difficile de me répondre.
    Effectivement c'est une ligne test que j'ai repris sur un post d'un internaute, le nom " decode.py" est le script que j'en ai fait, suivant ses indications:

    decode.py =

    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
    #! /usr/bin/env python3
    import json
    import sys
    import zlib
     
    import base45
    import cbor2
    from cose.messages import CoseMessage
     
    payload = sys.argv[1][4:]
    print("decoding payload: "+ payload)
     
    # decode Base45 (remove HC1: prefix)
    decoded = base45.b45decode(payload)
     
    # decompress using zlib
    decompressed = zlib.decompress(decoded)
    # decode COSE message (no signature verification done)
    cose = CoseMessage.decode(decompressed)
    # decode the CBOR encoded payload and print as json
    print(json.dumps(cbor2.loads(cose.payload), indent=2))
    et voici la ligne de commande avec le code en exemple pompé sur le site :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    C:\Program Files\Python37>decode.py HC1:6BFNX1:HM*I0PS3TLU.NGMU5AG8JKM:SF9VN1RFBIKJ:3AXL1RR+ 8::N$OAG+RC4NKT1:P4.33GH40HD*98UIHJIDB 4N*2R7C*MCV+1AY
    decoding payload: 6BFNX1:HM*I0PS3TLU.NGMU5AG8JKM:SF9VN1RFBIKJ:3AXL1RR+

    et voici les réponses :

    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
    Traceback (most recent call last):
      File "C:\Program Files\Python37\lib\site-packages\base45\__init__.py", line 38, in b45decode
        raise ValueError("Invalid base45 string")
    ValueError: Invalid base45 string
     
    During handling of the above exception, another exception occurred:
     
    Traceback (most recent call last):
      File "C:\Program Files\Python37\decode.py", line 11, in <module>
        decoded = base45.b45decode(payload)
      File "C:\Program Files\Python37\lib\site-packages\base45\__init__.py", line 54, in b45decode
        raise ValueError("Invalid base45 string")
    ValueError: Invalid base45 string
     
    C:\Program Files\Python37>3:YP*YVNUHC.G-NFPIR6UBRRQL9K5%L4.Q*4986NBHP95R*QFLNUDTQH-GYRN2FMGO73ZG6ZTJZC:$0$MTZUF2A81R9NEBTU2Y437XCI9DU 4S3N%JRP:HPE3$ 435QJ+UJVGYLJIMPI%2+YSUXHB42VE5M44%IJLX0SYI7BU+EGCSHG:AQ+58
    Le lecteur spécifié est introuvable.
     
    C:\Program Files\Python37>CEN RAXI:D53H8EA0+WAI9M8JC0D0S%8PO00DJAPE3 GZZB:X85Y8345MOLUZ3+HT0TRS76MW2O.0CGL EQ5AI.XM5 01LCWBA.RE.-SUYH+S7SBE0%B-KT+YSMFCLTQQQ6LEHG.P46UNL6DA2C$AF-SQ00A58HYO5:M8 7S$ULGC-IP49MZCS
    'CEN' n’est pas reconnu en tant que commande interne
    ou externe, un programme exécutable ou un fichier de commandes.
    U8ST3HDRJNPV3UJADJ9BVV:7K13B4WQ+DCTEG4V8OT09797FZMQ3/A7DU0.3D148IDZ%UDR9CYF

  6. #6
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    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 741
    Par défaut
    Le message d'erreur dit que la chaine passée en argument n'est pas base45...

    C'est un peu comme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    >>> int('ab')
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    ValueError: invalid literal for int() with base 10: 'ab'
    >>>
    que vous avez déjà du rencontrer si vous avez essayé de faire quelques exercices.

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

  7. #7
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 832
    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 832
    Billets dans le blog
    1
    Par défaut
    sinon on pige que dalle => http://club.developpez.com/regles/#LIII-E.

    Sinon dans ton code, le seul endroit qui appelle b45decode() c'est avec sys.argv[1][4:] ce qui veut dire qu'il faut appeler ton programme avec un argument (une string) où à partir du 5° caractère la suite forme un encodage base 45. Sais-tu ce qu'est un argument? C'est un mot passé à la suite du programme que le programme peut récupérer et utiliser dans le contexte qu'il attend. Exemple copy toto titi ici il y a 2 arguments "toto" et "titi" qui sont présumés être des noms de fichiers pour que le programme "copy" puisse les copier.

    Citation Envoyé par Pierre91 Voir le message
    et voici la ligne de commande avec le code en exemple pompé sur le site :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    C:\Program Files\Python37>decode.py HC1:6BFNX1:HM*I0PS3TLU.NGMU5AG8JKM:SF9VN1RFBIKJ:3AXL1RR+ 8::N$OAG+RC4NKT1:P4.33GH40HD*98UIHJIDB 4N*2R7C*MCV+1AY
    decoding payload: 6BFNX1:HM*I0PS3TLU.NGMU5AG8JKM:SF9VN1RFBIKJ:3AXL1RR+
    Donc n'ayant pas pu lire ton code (depuis rectifié par un modérateur) je suis allé directement à l'origine que j'ai trouvée ici. Il y est effectivement spécifié la façon d'appeler le programme qui est python3 decode.py 'HC1:6BFNX1:HM*I0PS3TLU.NGMU5AG8JKM:SF9VN1RFBIKJ:3AXL1RR+ 8::N$OAG+RC4NKT1:P4.33GH40HD*98UIHJIDB 4N*2R7C*MCV+1AY3:YP*YVNUHC.G-NFPIR6UBRRQL9K5%L4.Q*4986NBHP95R*QFLNUDTQH-GYRN2FMGO73ZG6ZTJZC:$0$MTZUF2A81R9NEBTU2Y437XCI9DU 4S3N%JRP:HPE3$ 435QJ+UJVGYLJIMPI%2+YSUXHB42VE5M44%IJLX0SYI7BU+EGCSHG:AQ+58CEN RAXI:D53H8EA0+WAI9M8JC0D0S%8PO00DJAPE3 GZZB:X85Y8345MOLUZ3+HT0TRS76MW2O.0CGL EQ5AI.XM5 01LCWBA.RE.-SUYH+S7SBE0%B-KT+YSMFCLTQQQ6LEHG.P46UNL6DA2C$AF-SQ00A58HYO5:M8 7S$ULGC-IP49MZCSU8ST3HDRJNPV3UJADJ9BVV:7K13B4WQ+DCTEG4V8OT09797FZMQ3/A7DU0.3D148IDZ%UDR9CYF'.

    Et là on remarque une énorme différence avec ta description: les quotes !!! Quotes simples (ou doubles si on désire) qui permettent de considérer une string avec espaces (donc présumées être plusieurs arguments comme dans copy toto titi) comme un seul et unique argument (exemple remove "toto titi" qui n'aura pas le même comportement que remove toto titi).
    Et chez-moi, quand j'applique les consignes, ça fonctionne. Et si je ne mets pas les quotes, j'ai exactement le même message d'erreur...

    Oui, bienvenue dans le monde de la prog où tout oubli est impitoyablement sanctionné. Un ordinateur ne peut pas "deviner" ce que tu attends de lui, c'est donc à toi de le lui indiquer avec exactitude.
    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]

  8. #8
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    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 741
    Par défaut
    ReSalut,

    Et maintenant que la modération a mis vos messages en forme, on y trouve:

    Citation Envoyé par Pierre91 Voir le message
    et voici la ligne de commande avec le code en exemple pompé sur le site :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    C:\Program Files\Python37>decode.py HC1:6BFNX1:HM*I0PS3TLU.NGMU5AG8JKM:SF9VN1RFBIKJ:3AXL1RR+ 8::N$OAG+RC4NKT1:P4.33GH40HD*98UIHJIDB 4N*2R7C*MCV+1AY
    decoding payload: 6BFNX1:HM*I0PS3TLU.NGMU5AG8JKM:SF9VN1RFBIKJ:3AXL1RR+
    et déjà on voit que la chaine de caractères passée en argument ne correspond pas à celle que le programme va décoder (ce qui suit "decoding payload:").

    Recopier du code sur Internet est une bonne chose si ça permet de gagner le temps de ne pas avoir à l'écrire soi-même. Mais ça suppose un niveau (en programmation) proche de celui qui a écrit le code.

    D'abord pour vérifier (en le lisant) qu'il fait bien ce qu'on attend (et ne va pas détruire des fichiers ou installer un virus...) puis pour comprendre les éventuels problèmes qu'on pourrait rencontrer.

    Si vous voulez apprendre à programmer, il va falloir prendre le temps....

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

  9. #9
    Membre à l'essai
    Homme Profil pro
    autre metier
    Inscrit en
    Août 2021
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : autre metier

    Informations forums :
    Inscription : Août 2021
    Messages : 7
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    sinon on pige que dalle => http://club.developpez.com/regles/#LIII-E.

    Sinon dans ton code, le seul endroit qui appelle b45decode() c'est avec sys.argv[1][4:] ce qui veut dire qu'il faut appeler ton programme avec un argument (une string) où à partir du 5° caractère la suite forme un encodage base 45. Sais-tu ce qu'est un argument? C'est un mot passé à la suite du programme que le programme peut récupérer et utiliser dans le contexte qu'il attend. Exemple copy toto titi ici il y a 2 arguments "toto" et "titi" qui sont présumés être des noms de fichiers pour que le programme "copy" puisse les copier.



    Donc n'ayant pas pu lire ton code (depuis rectifié par un modérateur) je suis allé directement à l'origine que j'ai trouvée ici. Il y est effectivement spécifié la façon d'appeler le programme qui est python3 decode.py 'HC1:6BFNX1:HM*I0PS3TLU.NGMU5AG8JKM:SF9VN1RFBIKJ:3AXL1RR+ 8::N$OAG+RC4NKT1:P4.33GH40HD*98UIHJIDB 4N*2R7C*MCV+1AY3:YP*YVNUHC.G-NFPIR6UBRRQL9K5%L4.Q*4986NBHP95R*QFLNUDTQH-GYRN2FMGO73ZG6ZTJZC:$0$MTZUF2A81R9NEBTU2Y437XCI9DU 4S3N%JRP:HPE3$ 435QJ+UJVGYLJIMPI%2+YSUXHB42VE5M44%IJLX0SYI7BU+EGCSHG:AQ+58CEN RAXI:D53H8EA0+WAI9M8JC0D0S%8PO00DJAPE3 GZZB:X85Y8345MOLUZ3+HT0TRS76MW2O.0CGL EQ5AI.XM5 01LCWBA.RE.-SUYH+S7SBE0%B-KT+YSMFCLTQQQ6LEHG.P46UNL6DA2C$AF-SQ00A58HYO5:M8 7S$ULGC-IP49MZCSU8ST3HDRJNPV3UJADJ9BVV:7K13B4WQ+DCTEG4V8OT09797FZMQ3/A7DU0.3D148IDZ%UDR9CYF'.

    Et là on remarque une énorme différence avec ta description: les quotes !!! Quotes simples (ou doubles si on désire) qui permettent de considérer une string avec espaces (donc présumées être plusieurs arguments comme dans copy toto titi) comme un seul et unique argument (exemple remove "toto titi" qui n'aura pas le même comportement que remove toto titi).
    Et chez-moi, quand j'applique les consignes, ça fonctionne. Et si je ne mets pas les quotes, j'ai exactement le même message d'erreur...

    Oui, bienvenue dans le monde de la prog où tout oubli est impitoyablement sanctionné. Un ordinateur ne peut pas "deviner" ce que tu attends de lui, c'est donc à toi de le lui indiquer avec exactitude.



    Bonjour,

    Tout d’abords merci à vous de m’avoir consacré du temps à me répondre.

    Sve@r, merci pour ton explication, mais ou dois-je mettre ces quotes ? dans le fichier PY de programmation ou dans le texte à décoder en invite de commande ?
    J’ai refait l’essai en faisant bien attention qu’il y est des guillemets simples en début et fin de texte, mais sans résultat.
    Comme il me renvoie aussi un message d’erreur ou il ne prend qu’une partie du message, j’ai donc pensé que chaque espace constituait un texte, j’ai donc fait l’essai avec des quotes pour chaque segment, mais sans plus de résultat.

    Si c’est dans le fichier de programmation, peux-tu me montrer la syntaxe qu’il devrait y avoir ?

  10. #10
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    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 741
    Par défaut
    Salut,

    Citation Envoyé par Pierre91 Voir le message
    mais ou dois-je mettre ces quotes ? dans le fichier PY de programmation ou dans le texte à décoder en invite de commande ?
    J’ai refait l’essai en faisant bien attention qu’il y est des guillemets simples en début et fin de texte, mais sans résultat.
    Essayez de comprendre la base du problème en regardant ce qui s'affiche avec:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    import sys
    print(sys.argv)
    et ce que change le placement des guillemets en essayant python decode.py a b c
    ou decode.py "a b" c ou decode.py "a b c"

    Puis relisez la réponse de Sve@r, vous devriez mieux comprendre ce qu'il a écrit.

    "arguments de la ligne de commande" est aussi une chaine de caractères qu'on peut passer à son moteur de recherche préféré pour comprendre de quoi il s'agit (avant de faire n'importe quoi il faut quand même essayer de comprendre).

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

  11. #11
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 832
    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 832
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Pierre91 Voir le message
    Sve@r, merci pour ton explication, mais ou dois-je mettre ces quotes ? dans le fichier PY de programmation ou dans le texte à décoder en invite de commande ?
    C'est quoi cette question??? L'exemple montre une commande donc c'est dans l'invite de commande, c'est évident. C'est elle qui "analyse" ta commande, qui sépare les mots sur l'espace et qui passe chaque mot au programme en tant que paramètre. C'est donc à elle qu'il faut indiquer que "toto titi" (dans remove "toto titi") ne sont pas deux mots distincts à passer au programme "remove" mais une grosse string dont les espaces font partie et ne sont donc pas des séparateurs de paramètre.

    Citation Envoyé par Pierre91 Voir le message
    J’ai refait l’essai en faisant bien attention qu’il y ait des guillemets simples en début et fin de texte, mais sans résultat.
    Pas normal. Si vraiment tu as appelé ton programme avec cette syntaxe python3 decode.py 'HC1:....9CYF' alors il fonctionne. Comme dit wiztricks, tu peux faire un test rapide avec un programme "xxx.py" codé de cette façon...
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    import sys
    print("[%s]" % sys.argv[1])
    ... et l'appeler d'abord de cette façon python3 xxx.py Hello World puis ensuite de cette façon python3 xxx.py 'Hello World'.
    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]

  12. #12
    Membre à l'essai
    Homme Profil pro
    autre metier
    Inscrit en
    Août 2021
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : autre metier

    Informations forums :
    Inscription : Août 2021
    Messages : 7
    Par défaut
    Et bien non, cela ne fonctionne pas, d'ou la question...
    Je fais l'exercice proposé et reviens vers vous.
    Merci

Discussions similaires

  1. Réponses: 4
    Dernier message: 20/03/2018, 15h19
  2. Erreur "invalid URL String"
    Par FlowerDxx dans le forum Interfaces Graphiques en Java
    Réponses: 3
    Dernier message: 02/01/2015, 13h53
  3. Pb Driver ODBC sage 100 "Invalid Connection String Attribut"
    Par Seb-Mondes dans le forum Windows XP
    Réponses: 0
    Dernier message: 27/11/2008, 17h16
  4. 'Invalid class string'
    Par <romain/> dans le forum Général Python
    Réponses: 24
    Dernier message: 01/08/2008, 15h33
  5. Réponses: 6
    Dernier message: 06/02/2008, 08h57

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