Les variables de texte
En B-Basic, les variables de textes sont traitées comme des fonctions du langage. Une variable peut être de transmission, ou de réception.
Voici quelques exemples d'utilisation de variables.
V1$(X,texte) Fonction de chaîne Tableau$[1](X,texte) Fonction de chaîne sur un tableau PAGE(D,v1$) Transmettre une variable SYSTEME(I,V1$) Réception d'information
En langage B-basic, les chaînes de caractères n'ont pas a êtres écrites entre guillemet on peut écrire .. (à l'exception des déclarations de la classe RESSOURCE)
PAGE(F,Titre du logiciel)
B-Basic propose diverses fonctions de traitement de chaînes et de variables de texte. Le nom de la variable, est considéré comme étant le nom de la classe de fonctions. On peut écrire.
V0$(X,texte, ,V1$) Variable locale variable$(X,texte) Variable globale table$[1](X,texte) Tableau
1 - La liste des fonctions
A Conversions Windows Dos B Formatage C Comparaison de chaîne D Rechercher un caractère à partir de la fin E Premier caractère en majuscule F Extraction a droite ou a gauche G Expression mathématique H Remplacer du texte I Extraire du texte J Ajouter du texte K Traiter les espaces L Longueur d'une chaîne de caractère M Texte en majuscule N Texte en minuscule O Connaitre la valeur asci P Valeur ASCII en caractère Q Remplacer des caractères spéciaux R Rechercher une chaîne S Remplacer texte et caractères spéciaux T Convertir une valeur en texte U Tester une variable V Convertir un texte en valeur W Convertir une chaîne en hexa X Initialiser une variable de texte Y Fonction table Z Charger le texte de la table
A : Conversions Windows Dos
V0$(A,mode) Mode 0 Réactualiser un chemin 1 Conversion format DOS 2 Conversion format Windows 3 Mot de passe
B : Formatage
V0$(B,mode,nb) Mode 0 Ajouter un saut de ligne 1 Ajouter une tabulation au début 2 Ajouter une tabulation a la fin 3 Tabulation au début et à la fin 4 Ajouter un espace au début 5 Ajouter un espace à la fin 6 Espace au début et à la fin Nb Répétition
C : Comparaison de chaîne
V0$(C,type,texte,var recept) Type 0 Respecter la case 1 Ne pas tenir compte maj min Texte Texte à comparer Var recept 0 Différent 1 Equivalent
D : Rechercher à partir de la fin
V0$(D,tp,caractère,position,var recept) Tp 0 repect 1 minus Caractère Caractère à rechercher Position Position dans la chaîne Var recept Résultat
E : Premier caractère en majuscule
v0$(E)
F : Extraction a droite ou a gauche
V0$(F,mode,longueur) Mode 0 Extraire à droite 1 Extraire à gauche Longueur Nombre de caractère à extraire
G : Calcul mathématique
V0$(G,resulat) Résultat Valeur Liste opérateurs + : Addition - : Soustraction / : Division \ : Division entière * : Multiplication ^ : Puissance # : Fonction MOD & : Fonction AND ! : Fonction OR § : Fonction XOR
Liste fonctions
NOT : Négation : X + NOT[X] = -1 ABS : Valeur absolue INT : Entier arrondis FIX : Entier non arrondis SQR : Racine carré EXP : Exponentiel LOG : Logarithme SGN : Signe DCR : Conversion DEG en RAD RCD : Conversion RAD en DEG SIN : Sinus COS : Cosinus TAN : Tangente ATN : Arc Tangente ACO : Arc Cosinus ASI : Arc Sinus Les parenthèses doivent êtres [ et ] Variables Variables locales V1 a V9 Variables globales
H : Remplacer chaine1 par chaine2
V0$(H,chaine1,chaine2) Chaine1 Chaîne a rechercher Chaine2 Nouvelle chaîne
I : Extraire du texte
V0$(I,texte,début,longueur) Texte Variable ou chaîne de caractère Début Début d'extraction Longueur Nombre de caractère à extraire
J : Ajouter du texte
V0$(J,texte1,texte2,texte3 .... Texte 1...x Variables ou chaînes de caractères
K : Traiter les espaces
V0$(K,mode) Mode 0 Mise a 0 de la variable 1 Enlever les espaces au début et à la fin du texte 2 Enlever les espaces à droite 3 Enlever les espaces à gauche
L : Longueur d'une chaîne de caractère
V0$(L, Longueur) Longueur Variable - réception longueur
M : Texte en majuscule
V0$(M)
N : Texte en minuscule
V0$(N)
O : Connaitre la valeur ASCII
v0$(O,nb,res) Nb Nombre de caractères (1-4) Res Réception de la valeur
P : Valeur ASCII en caractère
V0$(P,valeur) Valeur Valeur ascii
Q : Remplacer des caractères spéciaux
v0$(Q,mode) Mode 0 Remplacer tabulation par espace 1 Remplacer espace par tabulation 2 Remplacer espace par _ 3 Remplacer _ par espace 4 Remplacer saut de ligne par espace 5 Remplacer espace par saut de ligne 6 Remplacer " par ' 7 Remplacer ' par " 8 Remplacer " par espace 9 Remplacer ' par espace 10 Format Compatible fichier 11 Restaurer format initial
R : Rechercher une chaîne
V0$(R,type,texte,position2,var recept) Type 0 Respecter la case 1 Ne pas tenir compte maj min Texte Chaîne à rechercher Position Début de la recherche Résultat 0 Rien trouvé >0 Position du texte
S : Remplacer des chaînes et des caractères spéciaux
V0$(S,mode,chaîne) Mode 0 Chaîne par une tabulation 1 Tabulation par une chaîne 2 Chaîne par un saut de ligne 3 Saut de ligne par une chaîne Chaîne Variable ou texte
T : Convertir une valeur en texte
V0$(T,valeur) Valeur Variable ou valeur à convertir
U : Tester une variable
V0$(U,resultat) Résultat 0 Variable vide 1 Texte trouvé
V : Convertir un texte en valeur
V0$(V,valeur) Valeur Réception valeur
W : Convertir une chaîne en hexa
V0$(W)
X : Initialiser une variable de texte
V0$(X,texte1,texte2,texte3 ..... Texte 1 .. x Variables ou chaînes de caractères
Y : Fonction table (Voir classe VARTABLE)
V0$(Y,Liste,mode,résultat) No de liste 0 a 9 Mode 0 Réinitialiser la table 1 Extraction et création de la liste (séparateur |) 2 Retour capacité du tableau Résultat
Z : Charger ou modifier le texte d'une table
V0$(Z,liste,num,mode) Num de liste 0 a 9 Num de texte Numéro de texte Mode 0 Extraire en V0$ 1 Enregistrer V0$
2 - Les tables
Chaque variable peut être connectée à un système de tableaux volatiles. Le système de fonctions de variables dispose pour cela de 10 mémoires. Exemple d'utilisation ....
V1$(Y,0,0,V1) Raz de la table 0 V1$(X,texte1|texte2|texte3|texte 4|) Composition des champs de tables (pas de limites) Séparateur symbole "|" Où REPETE(I,10) En cour de procédure ---- V1$(J,texte|) ---- REPETE(B) V1$(Y,0,1,V1) Extraction des champs et création de la table V2$(Z,0,1,0) Extraire le texte 1 de la table 0
Ce système de tables volatiles, s'avère très pratique. Vous pouvez aisément manipuler des tableaux et les stocker en tant que variable unique. Voir la classe VARTABLE du langage. et les détruire par un raz de la variable source.