Rechercher
Résultats par :
Recherche avancée
Qui est en ligne ?
Il y a en tout 1 utilisateur en ligne :: 0 Enregistré, 0 Invisible et 1 Invité

Aucun

Voir toute la liste


Partagez
Voir le sujet précédentAller en basVoir le sujet suivant
Posting Freak
Messages : 1188
Date d'inscription : 2004-12-09
Voir le profil de l'utilisateurhttp://langagelinotte.free.fr/

Les bons tuyaux

le Mon 15 Dec - 12:06
Bonjour,

J'ai décidé de revoir la gestion des "flux" dans Linotte. Pour cela, je vais passer par une nouvelle espèce : le tuyau.

Un tuyau permet de manipuler des "flux" de données avec Linotte :
on peut l'ouvrir, le fermer, déposer des données, retirer des données.

Dans le cas d'un fichier, avec un tuyau, on peut ouvrir un fichier, fermer le fichier, déposer des données ou y retirer des données.
On peut également, ouvrir une connexion vers une base de données pour déposer (INSERT) ou retirer des données de la bases (SELECT).
On peut imaginer ensuite d'ouvrir un tuyau vers une connexion réseau, etc etc !

Voici un exemple de tuyau pour lire un fichier :

Le fichier contient :
Code:
Nicolas
14
Code:
Rôles :

mon fichier est un tuyau valant "fichier"
nom est un texte
age est un nombre

Actions :

ouvre fichier en "lecture" depuis "c:
/eleves.
txt"
dépile nom depuis fichier
affiche nom
dépile age depuis fichier
affiche age
ferme fichier
Maintenant essayons d'écrire dans un fichier :

Code:
Rôles :

mon fichier est un tuyau valant "fichier"
nom est un texte valant "coucou"
age est un nombre valant 14

Actions :

ouvre fichier en "lecture" depuis "c:
eleves.
txt"
empile nom dans fichier
empile age dans fichier
ferme fichier
Et si nous voulons récupérer des données depuis une base de donnnées :

Code:
Rôles :

ma connexion est un tuyau valant "sql"
prenom est un texte
age est un nombre

Actions :

ouvre connexion en "mysql" depuis "url=msysql.
free.
fr;
login=titipassword=toto"
dépile prenom depuis connexion avec "select prenom from eleves where nom = 'dupond'"
affiche prenom
dépile age depuis connexion avec "select age from eleves where nom = 'dupond'"
affiche age
empile age + 1 dans connexion avec "insert age into eleves where nom = 'dupond'"
ferme fichier
Tout ça n'est que théorie pour l'instant.... Je veux avoir votre retour et savoir si c'est n'est pas trop compliqué.

Merci

J'ai ajouté ce texte dans le wiki :
http://langagelinotte.free.fr/wiki/inde ... itle=Tuyau

Vous pouvez apporter vos idées !
Voir le sujet précédentRevenir en hautVoir le sujet suivant
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum