Table des matières
Processing : afficher du texte
Présentation
Votre programme doit lire un fichier texte et l'afficher ligne par ligne.
L'instruction Processing pour afficher du texte est text(“texte à afficher”,x,y)
A faire : crée ce nouveau programme qui affiche le contenu du fichier cigale.txt. Ce fichier cigale.txt doit être dans le même dosier que ton projet.
# définir une variable globale qui contiendra le contenu du texte contenu= 0 def setup(): # utiliser la variable globale contenu global contenu # taille de la fenêtre size(400,400) frameRate(5) #lecture du contenu du fichier fichier=open('cigale.txt','r') contenu=fichier.read() fichier.close() def draw(): # utiliser la variable globale contenu global contenu background(255) fill(0) # équivalent à fill(0,0,0) # affiche tout le texte text(contenu,10,10)
Pour personnaliser l'affichage du texte vous pouvez :
- changer la taille de la police de caractère avec la fonction textSize(x),
- changer la justification avec la fonction textAlign(paramètre) et les paramètres suivants :
- LEFT valeur par défaut,
- RIGHT,
- CENTER
Modification de la fonction draw() pour afficher le texte, centré, avec une taille de 16 et une couleur verte :
# couleur du texte fill(100, 255, 50) # taille du texte textSize(16) # centrage du texte textAlign(CENTER) # affiche tout le texte text(contenu,200,50)
Tout le texte n'est pas affiché car il est trop long.
Affichage du texte ligne par ligne
La variable contenu contient l'ensemble du texte. En appliquant la méthode split(), il est possible de découper tout le texte en précisant quel caractère doit être utilisé pour cela :
- on pourrait faire un découpage avec le point, qui délimite la fin d'une phrase ,
- mais ici c'est le caractère retour à la ligne qui doit être utilisé. Ce caractère n'est pas affiché mais est utilisé pour passer à la ligne suivante. Le marque de fin de ligne se note \n.
Le résultat de la méthode split() retourne un tableau avec les différents éléments trouvés. IL ne reste alors qu'à afficher un nouvel élément du tableau à chaque appel de la fonction draw().
A faire : modifie le programme précédent pour afficher le texte ligne par ligne :
# définir une variable globale qui contiendra le tableau des lignes du texte tableau = [] # variable pour compter les lignes ligne=0 def setup(): # utiliser la variable globale tableau global tableau # taille de la fenêtre size(400,400) frameRate(1) #lecture du contenu du fichier fichier=open('cigale.txt','r') contenu=fichier.read() # découpage ligne par ligne tableau=contenu.split("\n") fichier.close() def draw(): # utiliser les variables globales tableau et ligne global tableau, ligne background(255) fill(0) # affiche une ligne du tableau text(tableau[ligne],10,50) # passer à la ligne suivante si on n'est pas à la dernière ligne if ligne < len(tableau) - 1 : ligne = ligne + 1
<html> <iframe src=“https://trinket.io/embed/python/9b825a5b97” width=“100%” height=“600” frameborder=“0” marginwidth=“0” marginheight=“0” allowfullscreen></iframe> </html>