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

Lisp Discussion :

Intégrer des \ dans une string


Sujet :

Lisp

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 5
    Points : 3
    Points
    3
    Par défaut Intégrer des \ dans une string
    Salut,

    En lisp sur Autocad :

    Je n'arrives pas à faire cette string :

    (setq str "\\Serveur\imprimante XXX")
    il me répond :
    "\\Serveurimprimante XXX"

    et si je fais :

    (setq str "\\Serveur\\imprimante XXX")
    il me répond :
    "\\Serveur\\imprimante XXX"

    ???????????????
    Quelqu'un sait-il comment intégrér un seul \ dans une string ????

    L'objectif : intégrer le nom d'une imprimante réseau dans cette commande :
    (command "_plot" ... str ... )

    Merci,

  2. #2
    Inactif  
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 958
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 958
    Points : 2 467
    Points
    2 467
    Par défaut
    Citation Envoyé par omv95 Voir le message
    Salut,

    En lisp sur Autocad :

    Je n'arrives pas à faire cette string :

    (setq str "\\Serveur\imprimante XXX")
    il me répond :
    "\\Serveurimprimante XXX"

    et si je fais :

    (setq str "\\Serveur\\imprimante XXX")
    il me répond :
    "\\Serveur\\imprimante XXX"

    ???????????????
    Quelqu'un sait-il comment intégrér un seul \ dans une string ????

    L'objectif : intégrer le nom d'une imprimante réseau dans cette commande :
    (command "_plot" ... str ... )

    Merci,
    En scheme, le caractère X est représenté par \#X... peut être est-ce que ça marche en Lisp. Es tu allé voir là http://www.jtbworld.com/lisp.htm
    Il semble que le double \ est prévu pour être utilisé telle quelle. D'ailleurs ça marche non sur Windo$ ?

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 5
    Points : 3
    Points
    3
    Par défaut merci
    merci pour ta réponse mais ca ne marche pas.

    en fait le pb ne vient pas des "XXX" mais des \

    Je n'arrives pas à faire cette string :

    \\Serveur\imprimante laser

    j'ai regardé rapidement sur ton lien mais je n'ai rien trouvé pour l'instant ...

  4. #4
    Membre éclairé
    Avatar de GnuVince
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2004
    Messages
    679
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2004
    Messages : 679
    Points : 803
    Points
    803
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    [1]> (setf str "\\\\Serveur\\imprimante")
    "\\\\Serveur\\imprimante"
    [2]> str
    "\\\\Serveur\\imprimante"
    [3]> (format t "~a" str)
    \\Serveur\imprimante
    NIL
    [4]>
    Le back-slash est le caractère d'échappement. Pour mettre un backslash dans un string, il faut que tu écrives \\. Donc pour en mettre 2, il faut que tu fasses \\\\. Quand tu demandes la valeur de la chaîne, il te la retourne sans faire d'échappement. Mais quand tu l'imprimes au terminal, là il fait ses échappements.

  5. #5
    Inactif  
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 958
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 958
    Points : 2 467
    Points
    2 467
    Par défaut
    Citation Envoyé par omv95 Voir le message
    merci pour ta réponse mais ca ne marche pas.

    en fait le pb ne vient pas des "XXX" mais des \

    Je n'arrives pas à faire cette string :

    \\Serveur\imprimante laser

    j'ai regardé rapidement sur ton lien mais je n'ai rien trouvé pour l'instant ...
    LOL je sais bien que ça ne vient pas des X ^_^
    C'était un exemple.

    Sur le lien que je t'ai passé, il utilise \\ et les adresses sont toutes en \\.
    Ça n'a pas l'air de les géner.
    Par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ;; Gets current template
    (getenv "QnewTemplate")
    "c:\\my files\\templates\\qnew.dwt"
    Donc est-ce qu'une adresse du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    \\\\Serveur\\imprimante laser
    ne serait pas ce que tu cherches ?

    GnuVince te donne une belle explication.

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 5
    Points : 3
    Points
    3
    Par défaut .
    Merci GnuVince mais les fonctions que tu utilises ("setf" ou "format")
    ne marchent pas en lisp avec Autocad.

    Sinon, Garulfo, "l'adresse" \\\\Serveur\\imprimante laser
    ne marche pas, il faut strictement arriver à faire cette string :

    \\Serveur\imprimante laser

    Comme je l'avais mis, l'utilisation c'est dans ce contexte :

    (command "_plot" ... str ... ) qui correspond à un script dans un lisp.

    Voilà,

  7. #7
    Inactif  
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 958
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 958
    Points : 2 467
    Points
    2 467
    Par défaut
    Citation Envoyé par omv95 Voir le message
    Merci GnuVince mais les fonctions que tu utilises ("setf" ou "format")
    ne marchent pas en lisp avec Autocad.

    Sinon, Garulfo, "l'adresse" \\\\Serveur\\imprimante laser
    ne marche pas, il faut strictement arriver à faire cette string :

    \\Serveur\imprimante laser

    Comme je l'avais mis, l'utilisation c'est dans ce contexte :

    (command "_plot" ... str ... ) qui correspond à un script dans un lisp.

    Voilà,
    Je ne vois pas... \\\\Serveur\\imprimante devrait être interprétée comme \\Serveur\imprimante et donc ça devrait très bien t'aller. Mais vu que je n'utilise pas Autocad et extrêmement peu Lisp, je dois me tromper -_-

  8. #8
    Membre éclairé
    Avatar de GnuVince
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2004
    Messages
    679
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2004
    Messages : 679
    Points : 803
    Points
    803
    Par défaut
    omv95: j'utilisais Common Lisp, mais le font est le même. Utilise les doubles backslash dans ton SETQ et quand tu vas utiliser ta commande PRINT (ou n'importe quelle autre), le résultat devrait être correct. Consulte ton manuel pour être certain, mais dans la majorité des langages, c'est comme ça que ça fonctionne.

Discussions similaires

  1. intégrer des " dans une string
    Par 20100. dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 02/02/2008, 09h55
  2. Mettre des espaces dans une string à intervalles réguliers.
    Par benitoelputoamo dans le forum Général Python
    Réponses: 3
    Dernier message: 15/11/2006, 16h14
  3. Des " dans une variable de type String
    Par 4lkaline dans le forum Langage
    Réponses: 6
    Dernier message: 06/11/2006, 14h20
  4. Réponses: 4
    Dernier message: 11/05/2006, 14h41
  5. [Syntaxe] mettre des ' dans une string ?
    Par souch dans le forum Débuter
    Réponses: 4
    Dernier message: 14/08/2003, 16h26

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