Flux

Ce programme présente l'usage des flux dans des binaires et dans des chaînes de caractères.

Le fichier source est ${UPS_HOME}/upsvtm/demo/${UPS_LANGUAGE}/flux.upl.

Mode compilé

Commande de compilation

upscmp Source=flux.upl

Commande d'exécution

flux

Mode interprété

upssng Source=flux.upl

Fichier source

Source Composant "Exemple d'emploi des types FluxBinaire et FluxCaractere" Version 4.0.0;

Principal
/*******/
Variable
/******/
Debut
F1=FluxBinaire(Nul, Faux);
F1.ChangerPageDeCode(PageUTF16BigEndian);
F1.Ecrire("Bonjour\nAu revoir\nEt a bientot\n");
F1.Ecrire(1);
F1.Ecrire("\n");
F1.Ecrire(2.3);
F1.Ecrire("\n");
F1.Ecrire(Vrai);
F1.Ecrire("\n");
F1.Vider();
V1=F1.Valeur();
F1.Fermer();

Ecran.Ecrire(V1);
F1=FluxBinaire(V1, Vrai);
F1.ChangerPageDeCode(PageUTF16BigEndian);
E=F1.LireUnMot(C);
Ecran.Ecrire(C);
E=F1.Lire(C,4);
Ecran.Ecrire(C);
Ecran.Ecrire(E);
E=F1.LireUneLigne(C);
Ecran.Ecrire(C);
Ecran.Ecrire(E);
P=F1.LirePosition();
E=F1.LireUneLigne(C);
Ecran.Ecrire(C);
Ecran.Ecrire(E);
F1.Lire(E);
Ecran.Ecrire(E);
F1.Lire(R);
Ecran.Ecrire(R);
F1.Lire(B);
Ecran.Ecrire(B);
E=F1.Lire(C,4);
Si F1.FinDeFlux Alors Fin Si
F1.FixerPosition(P);
E=F1.LireUneLigne(C);
Ecran.Ecrire(C);
Ecran.Ecrire(E);
Si F1.FinDeFlux Alors Fin Si
F1.Fermer();
Si F1==F1Bis Alors Fin Si
Si F1!=F1Bis Alors Fin Si

Ecran.Ecrire("\n");

F2=FluxCaractere(Nul, Faux);
F2.Ecrire("Bonjour\nAu revoir\nEt a bientot\n");
F2.Ecrire(1);
F2.Ecrire("\n");
F2.Ecrire(2.3);
F2.Ecrire("\n");
F2.Ecrire(Vrai);
F2.Ecrire("\n");
F2.Vider();
V2=F2.Valeur();
F2.Fermer();

Ecran.Ecrire(V2);
F2=FluxCaractere(V2, Vrai);
E=F2.LireUnMot(C);
Ecran.Ecrire(C);
E=F2.Lire(C,4);
Ecran.Ecrire(C);
Ecran.Ecrire(E);
E=F2.LireUneLigne(C);
Ecran.Ecrire(C);
Ecran.Ecrire(E);
P=F2.LirePosition();
E=F2.LireUneLigne(C);
Ecran.Ecrire(C);
Ecran.Ecrire(E);
F2.Lire(E);
Ecran.Ecrire(E);
F2.Lire(R);
Ecran.Ecrire(R);
F2.Lire(B);
Ecran.Ecrire(B);
E=F2.Lire(C,4);
Si F2.FinDeFlux Alors Fin Si
F2.FixerPosition(P);
E=F2.LireUneLigne(C);
Ecran.Ecrire(C);
Ecran.Ecrire(E);
Si F2.FinDeFlux Alors Fin Si
F2.Fermer();
Si F2==F2Bis Alors Fin Si
Si F2!=F2Bis Alors Fin Si
Fin Principal

Résultat de l'exécution

Bonjour Au revoir Et a bientot 1 2.3 Vrai Bonjour Au r 2 evoir 5 Et a bientot 12 1 2.3 Vrai Et a bientot 12 F1!=F1Bis Bonjour Au revoir Et a bientot 1 2.3 Vrai Bonjour Au r 2 evoir 5 Et a bientot 12 1 2.3 Vrai Et a bientot 12 F2!=F2Bis