Conduit

Un article de WikiLinotte.

(Différences entre les versions)
m (Syntaxe 2.3)
m (Syntaxe 2.3)
Ligne 91 : Ligne 91 :
     container.fermer()
     container.fermer()
-
*Exemple complet
+
*Exemple complet 1 :
-
global
+
-
form est un formulaire, titre vaut "La boite à texte", largeur vaut 400, hauteur vaut 260
+
-
boite est un boite,x vaut 30, y vaut 30, largeur vaut 200, hauteur vaut 100
+
-
b1 est un menubouton, texte vaut "Afficher le texte dans le tableau"
+
-
l1 est un étiquette, texte vaut "", x vaut 30, y vaut 200
+
-
b2 est un menubouton, texte vaut "Ouvrir un fichier"
+
-
c est un conduit
+
-
principal :
+
-
Ajoute boite & b1 & b2 & l1 dans form
+
global
-
Fais réagir b1 à "clic souris" pour valeur
+
  form est un formulaire, titre vaut "La boite à texte", largeur vaut 400, hauteur vaut 260
-
Fais réagir b2 à "clic souris" pour ouvrir
+
  boite est un boite,x vaut 30, y vaut 30, largeur vaut 200, hauteur vaut 100
-
tant que 1 != 2 lis
+
  b1 est un menubouton, texte vaut "Afficher le texte dans le tableau"
-
temporise
+
  l1 est un étiquette, texte vaut "", x vaut 30, y vaut 200
-
ferme
+
  b2 est un menubouton, texte vaut "Ouvrir un fichier"
-
Valeur :
+
  container est un conduit
-
*b est un menubouton
+
  principal :
-
début
+
  Ajoute boite & b1 & b2 & l1 dans form
-
texte@boite !
+
  Fais réagir b1 à "clic souris" pour valeur
-
Reviens
+
  Fais réagir b2 à "clic souris" pour ouvrir
 +
  tant que 1 != 2 lis
 +
    temporise
 +
  ferme
 +
  valeur :
 +
  *b est un menubouton
 +
  début
 +
    texte@boite !
 +
    Reviens
 +
  Ouvrir :
 +
  *b et un menubouton
 +
  retour est un drapeau
 +
  début
 +
    retour vaut c.sélectionneretouvrir()
 +
    si retour lis
 +
      texte@boite vaut c.lire()
 +
    ferme
 +
    Reviens
-
Ouvrir :
 
-
*b et un menubouton
 
-
retour et un drapeau
 
-
début
 
-
retour vaut c.sélectionneretouvrir()
 
-
si retour lis
 
-
texte@boite vaut c.lire()
 
-
ferme
 
-
Reviens
 
-
 
+
* Exemple complet 2 :
-
* Exemple complet :
+
  Exemple Conduit :
  Exemple Conduit :
-
  c est un conduit
+
  container est un conduit
-
  chemin_sauvegarde est un texte
+
  chemin_sauvegarde est un texte
-
  ligne valant chr 13 + chr 10
+
  ligne valant chr(13) + chr(10)
-
   Actions :
+
   début
-
   c.sélectionneretenregistrer()
+
   container.sélectionneretenregistrer()
-
   affiche  "répertoire + nom du fichier : " + c.nomfichiercomplet()
+
   affiche  "répertoire + nom du fichier : " + container.nomfichiercomplet()
-
   affiche  "répertoire : " + c.chemin()
+
   affiche  "répertoire : " + container.chemin()
-
   c.fermer()
+
   container.fermer()
-
   chemin_sauvegarde vaut c.nomfichiercomplet()
+
   chemin_sauvegarde vaut container.nomfichiercomplet()
-
   si c.fichierexiste(chemin_sauvegarde) lis
+
   si container.fichierexiste(chemin_sauvegarde) lis
     "on sauvegarde !" !
     "on sauvegarde !" !
-
     c.enregistrer(chemin_sauvegarde)
+
     container.enregistrer(chemin_sauvegarde)
-
     c.écrire("ça marche")
+
     container.écrire("ça marche")
-
     c.écrire(ligne)
+
     container.écrire(ligne)
-
     c.écrire("l'autre ligne")
+
     container.écrire("l'autre ligne")
-
     c.écrire(ligne)
+
     container.écrire(ligne)
-
     c.écrire("encore une ligne !!!")
+
     container.écrire("encore une ligne !!!")
-
     c.fermer()
+
     container.fermer()
     //on va vérifier les informations sauvegardées :
     //on va vérifier les informations sauvegardées :
-
     c.ouvrir(chemin_sauvegarde)
+
     container.ouvrir(chemin_sauvegarde)
-
     affiche "1 : " + c.lireligne()
+
     affiche "1 : " + container.lireligne()
-
     affiche "2 : " + c.lireligne()
+
     affiche "2 : " + container.lireligne()
-
     affiche "3 : " + c.lireligne()
+
     affiche "3 : " + container.lireligne()
-
     c.fermer()
+
     container.fermer()
   ferme
   ferme

Version du 9 février 2015 à 10:37

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 :
 container est un conduit
 début
  container.encodage("UTF-16")
  container.sélectionneretouvrir()
  affiche container.lire()
  • ouvrir

Ouvrir le fichier en lecture

 Exemple :
 container est un conduit
 début
  container.ouvrir("/mon/fichier.txt")
  affiche container.lire()
  • 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 :
 container est un conduit
 début
  container.sélectionneretouvrir()
  affiche container.lire()
  • lire

Retourner tous les caractères du fichier ouvert.

Exemple :
 container est un conduit
 début
  container.sélectionneretouvrir()
  affiche container.lire()
  • nlire

Retourner les n caractères suivant du fichier

Exemple : 
container est un conduit
début
 container.sélectionneretouvrir()
 essaie lis
  tant que vrai affiche "10 caractères : " + container.nlire(10)
 ferme
  • enregistrer

ouvrir le fichier destiné à l'enregistrement

 Exemple :
 container est un conduit
 début
   container.enregistrer("c:/tmp/linotte.txt")
   container.écrire("Voici un texte écrit depuis le langage Linotte !")
   container.fermer()
  • sélectionneretenregistrer

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

Exemple :
container est un conduit
début
 affiche "Sélectionnez un nouveau fichier que je vais créer"
 container.sélectionneretenregistrer(
 container.écrire("Voici un texte écrit depuis le langage Linotte !")
 container.fermer()
  • ecrire

écrire la valeur de l'acteur dans le fichier

Exemple :
 container est un conduit
 a est un texte valant "Bonjour,"
 b est un texte valant "Le monde !"
 n est un nombre valant 777
 début
   affiche "Sélectionnez un nouveau fichier que je vais créer"
   container.sélectionneretenregistrer()
   container.écrire(a)
   container.écrire(b)
   container.écrire(n)
   container.fermer()
  • Exemple complet 1 :
global
 form est un formulaire, titre vaut "La boite à texte", largeur vaut 400, hauteur vaut 260
 boite est un boite,x vaut 30, y vaut 30, largeur vaut 200, hauteur vaut 100
 b1 est un menubouton, texte vaut "Afficher le texte dans le tableau"
 l1 est un étiquette, texte vaut "", x vaut 30, y vaut 200
 b2 est un menubouton, texte vaut "Ouvrir un fichier"
 container est un conduit
 principal :
  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 :
  *b est un menubouton
  début
   texte@boite !
   Reviens
 Ouvrir :
  *b et un menubouton
  retour est un drapeau
  début
   retour vaut c.sélectionneretouvrir()
   si retour lis
     texte@boite vaut c.lire()
   ferme
   Reviens


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