Conduit

Un article de WikiLinotte.

(Différences entre les versions)
m (ajout de enregister)
Version actuelle (9 février 2015 à 16:20) (modifier) (défaire)
m (simple)
 
(9 révisions intermédiaires masquées)
Ligne 9 : Ligne 9 :
Plus d'information sur l'encodage : http://fr.wikipedia.org/wiki/Codage_de_caract%C3%A8res
Plus d'information sur l'encodage : http://fr.wikipedia.org/wiki/Codage_de_caract%C3%A8res
-
Exemple :
+
  Exemple :
-
   Acteurs :
+
   container est un conduit
-
  c :: conduit
+
   début
-
   Actions :
+
   container.encodage("UTF-16")
-
   évoque c.encodage("UTF-16")
+
   container.sélectionneretouvrir()
-
   évoque c.sélectionneretouvrir()
+
   affiche container.lire()
-
   affiche c.lire()
+
-
  termine
+
*ouvrir
*ouvrir
Ouvrir le fichier en lecture
Ouvrir le fichier en lecture
-
Exemple :
+
  Exemple :
-
   Acteurs :
+
   container est un conduit
-
  c :: conduit
+
   début
-
   Actions :
+
   container.ouvrir("/mon/fichier.txt")
-
   évoque c.ouvrir("/mon/fichier.txt")
+
   affiche container.lire()
-
   affiche c.lire()
+
-
  termine
+
*sélectionneretouvrir
*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.
Cette fonction ouvre le sélecteur de fichier du système d'exploitation et permet de sélectionner un fichier destiné à être ouvrir.
-
Exemple :
+
  Exemple :
-
   Acteurs :
+
   container est un conduit
-
  c :: conduit
+
   début
-
   Actions :
+
   container.sélectionneretouvrir()
-
   évoque c.sélectionneretouvrir()
+
   affiche container.lire()
-
   affiche c.lire()
+
-
  termine
+
*lire
*lire
Ligne 44 : Ligne 38 :
  Exemple :
  Exemple :
-
   Acteurs :
+
   container est un conduit
-
  c :: conduit
+
   début
-
   Actions :
+
   container.sélectionneretouvrir()
-
   évoque c.sélectionneretouvrir()
+
   affiche container.lire()
-
   affiche c.lire()
+
-
  termine
+
*nlire
*nlire
Retourner les n caractères suivant du fichier
Retourner les n caractères suivant du fichier
-
Exemple :
+
 
-
   
+
Exemple :  
-
acteurs :
+
  container est un conduit
-
  c :: conduit
+
  début
-
  actions :
+
   container.sélectionneretouvrir()
-
   évoque c.sélectionneretouvrir()
+
   essaie lis
-
   essaie, lis
+
   tant que vrai affiche "10 caractères : " + container.nlire(10)
-
   tant que vrai, affiche "10 caractères : " + c.nlire(10)
+
   ferme
   ferme
-
  termine
 
*enregistrer
*enregistrer
ouvrir le fichier destiné à l'enregistrement
ouvrir le fichier destiné à l'enregistrement
-
Exemple :
+
  Exemple :
-
+
   container est un conduit
-
acteurs :
+
  début
-
   c :: conduit
+
    container.enregistrer("c:/tmp/linotte.txt")
-
actions :
+
    container.écrire("Voici un texte écrit depuis le langage Linotte !")
-
  évoque c.enregistrer("c:/tmp/linotte.txt")
+
    container.fermer()
-
  évoque c.écrire("Voici un texte écrit depuis le langage Linotte !")
+
-
  évoque c.fermer()
+
-
  termine
+
*sélectionneretenregistrer
*sélectionneretenregistrer
Ligne 81 : Ligne 68 :
  Exemple :
  Exemple :
-
  Acteurs :
+
container est un conduit
-
  lib :: abaque
+
début
-
   Actions :
+
   affiche "Sélectionnez un nouveau fichier que je vais créer"
-
  affiche lib.factorielle(30)
+
  container.sélectionneretenregistrer()
-
 
+
  container.écrire("Voici un texte écrit depuis le langage Linotte !")
-
'''''XX'''''
+
  container.fermer()
*ecrire
*ecrire
Ligne 92 : Ligne 79 :
  Exemple :
  Exemple :
-
   Acteurs :
+
   container est un conduit
-
   lib :: abaque
+
  a est un texte valant "Bonjour,"
-
   Actions :
+
  b est un texte valant "Le monde !"
-
   affiche lib.factorielle(30)
+
  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 :
 +
 
 +
globale
 +
  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 est un menubouton
 +
  retour est un drapeau
 +
  début
 +
    retour vaut c.sélectionneretouvrir()
 +
    si retour lis
 +
      texte@boite vaut c.lire()
 +
    ferme
 +
    Reviens
-
'''''XX'''''
 
-
*Exemple  
+
* Exemple complet 2 :
-
  Boite à texte :
+
  Exemple Conduit :
-
Grands rôles :
+
  container est un conduit
-
form :: formulaire, titre vaut "La boite à texte", largeur vaut 400, hauteur vaut 260
+
  chemin_sauvegarde est un texte
-
boite :: boite,x vaut 30, y vaut 30, largeur vaut 200, hauteur vaut 100
+
  ligne valant chr(13) + chr(10)
-
b1 :: menubouton, texte vaut "Afficher le texte dans le tableau"
+
  début
-
l1 :: étiquette, texte vaut "", x vaut 30, y vaut 200
+
  container.sélectionneretenregistrer()
-
b2 :: menubouton, texte vaut "Ouvrir un fichier"
+
  affiche  "répertoire + nom du fichier : " + container.nomfichiercomplet()
-
c :: conduit
+
  affiche "répertoire : " + container.chemin()
-
  Début :
+
  container.fermer()
-
Actions :
+
  chemin_sauvegarde vaut container.nomfichiercomplet()
-
Ajoute boite & b1 & b2 & l1 dans form
+
  si container.fichierexiste(chemin_sauvegarde) lis
-
Fais réagir b1 à "clic souris" pour valeur
+
    "on sauvegarde !" !
-
Fais réagir b2 à "clic souris" pour ouvrir
+
    container.enregistrer(chemin_sauvegarde)
-
tant que 1 != 2, lis
+
    container.écrire("ça marche")
-
temporise
+
    container.écrire(ligne)
-
ferme
+
    container.écrire("l'autre ligne")
-
Valeur :
+
    container.écrire(ligne)
-
Rôles :
+
    container.écrire("encore une ligne !!!")
-
*b :: menubouton
+
    container.fermer()
-
Actions :
+
    //on va vérifier les informations sauvegardées :
-
texte@boite !
+
    container.ouvrir(chemin_sauvegarde)
-
Reviens
+
    affiche "1 : " + container.lireligne()
-
Ouvrir :
+
    affiche "2 : " + container.lireligne()
-
Rôles :
+
    affiche "3 : " + container.lireligne()
-
*b :: menubouton
+
    container.fermer()
-
§retour :: drapeau
+
  ferme
-
Actions :
+
-
retour vaut c.sélectionneretouvrir()
+
-
si retour alors lis
+
-
texte@boite vaut c.lire()
+
-
ferme
+
-
Reviens
+

Version actuelle

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 :
globale
 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 est 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