Conduit

Un article de WikiLinotte.

(Différences entre les versions)
m (exemple)
m (ajout d'un exemple)
Ligne 144 : Ligne 144 :
  ferme
  ferme
  Reviens
  Reviens
 +
 +
 +
* Exemple complet :
 +
 +
Exemple Conduit :
 +
Enregistrer_sous :
 +
  Rôles :
 +
  c :: conduit
 +
  chemin_sauvegarde est un texte
 +
  ligne <- chr 13 + chr 10
 +
  Actions :
 +
  évoque c.sélectionneretenregistrer()
 +
  affiche  "répertoire + nom du fichier : " + c.nomfichiercomplet()
 +
  affiche  "répertoire : " + c.chemin()
 +
  évoque c.fermer()
 +
  chemin_sauvegarde vaut c.nomfichiercomplet()
 +
  si c.fichierexiste(chemin_sauvegarde) alors lis
 +
    "on sauvegarde !" !
 +
    évoque c.enregistrer(chemin_sauvegarde)
 +
    évoque c.écrire("ça marche")
 +
    évoque c.écrire(ligne)
 +
    évoque c.écrire("l'autre ligne")
 +
    évoque c.écrire(ligne)
 +
    évoque c.écrire("encore une ligne !!!")
 +
    évoque c.fermer()
 +
    ("on va vérifier les informations sauvegardées :")
 +
    évoque c.ouvrir(chemin_sauvegarde)
 +
    affiche "1 : " + c.lireligne()
 +
    affiche "2 : " + c.lireligne()
 +
    affiche "3 : " + c.lireligne()
 +
    évoque c.fermer()
 +
  ferme

Version du 19 mars 2012 à 14:56

Image:Conduit.png‎

Ce greffon est intégré à l'Atelier Linotte.

Code source du greffon : https://code.google.com/p/langagelinotte/source/browse/trunk/Linotte/org/linotte/greffons/impl/Conduit.java

  • encodage

L'encodage par défaut du conduit est UTF-8. Il est conseillé d'utiliser cet encodage compatible avec l'Atelier Linotte. Plus d'information sur l'encodage : http://fr.wikipedia.org/wiki/Codage_de_caract%C3%A8res

Exemple :
 Acteurs :
  c :: conduit
 Actions :
  évoque c.encodage("UTF-16")
  évoque c.sélectionneretouvrir()
  affiche c.lire()
  termine
  • ouvrir

Ouvrir le fichier en lecture

Exemple :
 Acteurs :
  c :: conduit
 Actions :
  évoque c.ouvrir("/mon/fichier.txt")
  affiche c.lire()
  termine
  • sélectionneretouvrir

Cette fonction ouvre le sélecteur de fichier du système d'exploitation et permet de sélectionner un fichier destiné à être ouvrir.

Exemple :
 Acteurs :
  c :: conduit
 Actions :
  évoque c.sélectionneretouvrir()
  affiche c.lire()
  termine
  • lire

Retourner tous les caractères du fichier ouvert.

Exemple :
 Acteurs :
  c :: conduit
 Actions :
  évoque c.sélectionneretouvrir()
  affiche c.lire()
  termine
  • nlire

Retourner les n caractères suivant du fichier Exemple :

acteurs :
 c :: conduit
actions :
 évoque c.sélectionneretouvrir()
 essaie, lis
  tant que vrai, affiche "10 caractères : " + c.nlire(10)
 ferme
 termine
  • enregistrer

ouvrir le fichier destiné à l'enregistrement

Exemple :

acteurs :
 c :: conduit
actions :
 évoque c.enregistrer("c:/tmp/linotte.txt")
 évoque c.écrire("Voici un texte écrit depuis le langage Linotte !")
 évoque c.fermer()
 termine
  • sélectionneretenregistrer

afficher le sélectionneur de fichiers et ouvre le fichier sélectionné en écriture

Exemple :

acteurs :
 c :: conduit
actions :
 affiche "Sélectionnez un nouveau fichier que je vais créer"
 évoque c.sélectionneretenregistrer(
 évoque c.écrire("Voici un texte écrit depuis le langage Linotte !")
 évoque c.fermer()
 termine
  • ecrire

écrire la valeur de l'acteur dans le fichier

Exemple :

acteurs :
 c :: conduit
 a :: texte <- "Bonjour,"
 b :: texte <- "Le monde !"
 n :: nombre <- 777
actions :
 affiche "Sélectionnez un nouveau fichier que je vais créer"
 évoque c.sélectionneretenregistrer(
 évoque c.écrire(a)
 évoque c.écrire(b)
 évoque c.écrire(n)
 évoque c.fermer()
 termine
  • Exemple complet
Boite à texte :
	Grands rôles :
		form :: formulaire, titre vaut "La boite à texte", largeur vaut 400, hauteur vaut 260
		boite :: boite,x vaut 30, y vaut 30, largeur vaut 200, hauteur vaut 100
		b1 :: menubouton, texte vaut "Afficher le texte dans le tableau"
		l1 :: étiquette, texte vaut "", x vaut 30, y vaut 200
		b2 :: menubouton, texte vaut "Ouvrir un fichier"
		c :: conduit
Début :
	Actions :
		Ajoute boite & b1 & b2 & l1 dans form
		Fais réagir b1 à "clic souris" pour valeur
		Fais réagir b2 à "clic souris" pour ouvrir
		tant que 1 != 2, lis
			temporise
		ferme
Valeur :
	Rôles :
		*b :: menubouton
	Actions :
		texte@boite !
		Reviens
Ouvrir :
	Rôles :
		*b :: menubouton
		§retour :: drapeau
	Actions :
		retour vaut c.sélectionneretouvrir()
		si retour alors lis
			texte@boite vaut c.lire()
		ferme
		Reviens


  • Exemple complet :
Exemple Conduit :
Enregistrer_sous :
 Rôles :
  c :: conduit
  chemin_sauvegarde est un texte
  ligne <- chr 13 + chr 10
 Actions :
  évoque c.sélectionneretenregistrer()
  affiche  "répertoire + nom du fichier : " + c.nomfichiercomplet()
  affiche  "répertoire : " + c.chemin()
  évoque c.fermer()
  chemin_sauvegarde vaut c.nomfichiercomplet()
  si c.fichierexiste(chemin_sauvegarde) alors lis
   "on sauvegarde !" !
   évoque c.enregistrer(chemin_sauvegarde)
   évoque c.écrire("ça marche")
   évoque c.écrire(ligne)
   évoque c.écrire("l'autre ligne")
   évoque c.écrire(ligne)
   évoque c.écrire("encore une ligne !!!")
   évoque c.fermer()
   ("on va vérifier les informations sauvegardées :")
   évoque c.ouvrir(chemin_sauvegarde)
   affiche "1 : " + c.lireligne()
   affiche "2 : " + c.lireligne()
   affiche "3 : " + c.lireligne()
   évoque c.fermer()			
  ferme
Outils personnels