Welcome
Nous remercions toutes les personnes qui ont jette un coup d’œil sur le ste de Ras el oued Nous remercions encore plus les personnes qui nous ont encouragés avec leurs documents et leurs paroles. On voudrai que le forum de discussion soit un lieu où tout le monde pourra s’exprimer en toute liberté sur tous les sujets qui ont un rapport avec Ras el oued .



Astuces Programmation

on traite tous les problèmes lies aux ordinateurs ainsi que les logiciels les plus utilisés "office"

Astuces Programmation

Postby nadir57 » Tue Sep 16, 2008 11:46 am

Les guillemets, apostrophes et les chaînes
Comment jouer avec les guillemets et les apostrophes dans les chaînes

1. Préambule
2. Éviter une coupure dans la chaîne
3. Ajouter un guillemet dans la chaîne
3.1 Avec l'apostrophe
3.2 Avec l'ASCII
3.3 Directement
3.3.1 Méthode recommandée
3.3.2 Seconde méthode

1. Préambule
Vous vous posez parfois la question : "Pourquoi sans jouer avec les guillemets et apostrophes, ça coupe une chaîne?".
Une chaîne, c'est un texte simple ne dépassant pas, parfois, 256 caractères et ayant d'autres restrictions selon votre interpréteur.
C'est simple, dans tous les langages de programmation, vous devez ouvrir et fermer votre chaîne avec des guillemets. Faites-le tout le temps, de préférence, mais vous n'êtes pas obligé(e), si votre interpréteur comprend sans les guillemets, dans le cas d'une chaîne ne contenant pas d'espace.
Pourquoi les espaces ?
Parce que très souvent ça veut dire qu'on passe à autre chose, une autre fonction, etc ...
Par contre, ça ne gène pas souvent un code Batch.

2. Éviter une coupure dans la chaîne
Si votre message est coupé, c'est sûrement que vous n'avez pas mis de guillemets ou des apostrophes, alors que votre message est coupé (par un espace en l'occurrence).
Il suffit de rajouter un guillemet ou une apostrophe aux deux extrémités de la chaîne.
Comme ceci (exemple en PHP) :

echo "<br><br>Bienvenue ...</b><br>";
J'aurais pu mettre :

echo '<br><br>Bienvenue ...</b><br>';
C'est pareil ... le résultat ne change pas.

3. Ajouter un guillemet dans la chaîne
Alors là, vous avez deux solutions, mais qui sont à adapter avec votre langage.
3.1 Avec l'apostrophe
Simple comme tout, encore un exemple en PHP, ensuite je vous explique :

echo "<iframe src='http://www.monsite.ty/moncode.html' height='500px' width='96%' style='align: center;'></iframe>";
Oui, je sais que vous avez deviné : On ouvre avec les guillemets et l'apostrophe est remplacée par les guillemets (ou reste telle quelle) au résultat.
3.2 Avec l'ASCII
On va changer un peu ... prenons du visual basic :

Dim exemple as String
exemple = "Je m' appelle : " & chr$(34) & "Zeurtchreinshrentizer" & chr$(34)
Donc là on utilise le code ASCII 34 : Le guillemet, qui sera interpreté ensuite.
Testez avec ça :

Dim exemple as String
exemple = "Je m' appelle : " & chr$(34) & "Zeurtchreinshrentizer" & chr$(34)
MsgBox exemple
J'ai donc fermé la chaîne pour implémenter le chr$().
Vous pouvez utiliser n'importe quels codes ASCII avec chr$().
3.3 Directement
3.3.1 Méthode recommandée
Le moyen le plus utilisé reste encore l'utilisation de l'antislash qui permet d'annuler l'interprétation d'un caractère, donc par exemple:

maVar = "Je m'appelle \"Zeurtchreinshrentizer\"";


Dans cet exemple, le "\" permet d'annuler l'interprétation du guillemet comme fin de string (chaine).
3.3.2 Seconde méthode
Certains compilateurs peuvent la gérer. ça reste rare, et peut mener à des erreurs. Néanmoins je vous la met quand même, puisque c'est un bon moyen de savoir les limites de son compilateur, alors vous testerez si vous voulez, mais généralement ça ne dérange pas un script dit Basic.
Donc il suffit de définir une variable telle que :

Guillemet = """
(à adapté avec votre langage)
Et avec ça, vous faites :

Guillemet = """
Message = "Voici le message : "+Guillemet+"Le message est là"+Guillemet
Cela revient bien sur à faire simplement :

Message = "Voici le message : """Le message est là"""
C'est donc là que vous pouvez vous rendre compte le pourquoi des conséquences, si ce n'est pas compatible.
Et voilà ...
nadir57
 
Posts: 356
Joined: Sun Mar 02, 2008 7:32 pm

Return to informatique et ordinateur

Who is online

Users browsing this forum: No registered users and 0 guests

cron