/

 

The manual

Self-training

Experimentation

Contact

 

Language

Lire ou écrire un fichier texte

Création d'un fichier texte

var File f
write_file f "foo.txt" "text"
  text_line "Ligne n°1"
  text_characters "Début de la ligne n°2,"
  text_value "A5"
  text_line "Suite et fin de la ligne n°2"

Encodage avancé

Au niveau des options (le troisième et dernier paramètre) de l'instruction 'write_file', on peut utiliser des options pour obtenir un encodage plus précis du fichier.

Syntaxe

Effet

Exemple

charset "code_de_charset"

Spécifie l'encoding des caractères à utiliser dans le fichier produit.

charset "iso8859-1"

ascii

Exclue tous les caractères qui ne sont pas ASCII (c'est à dire approximativement tous les caractères accentués).

ascii

exclude "caractères_exclu" replace_with "caractère de remplacement"

Specifie les caractères interdits, qui seront remplacé par la chaine fournie via le paramètre 'replace_with'.

exclude "[0][cr][lf][dq]" replace_with "?"

xml

Effectue un encodage XML des chaines de caractères, par exemple '&' sera remplacé par '&' comme prévu dans le standard XML.

xml

html

Effectue un encodage HTML, identique à l'encodage XML, à ceci près que les retour à la ligne sont remplacés par la balise <BR>.

 

json

Effectue un encodage JSON des chaines de caractères.

json

edi

Effectue un encodage EDI des chaines de caractères.

edi

cr

Les retours à la ligne sont le caractère 'carriage return'.
C'est l'encodage standard sur Mac.

cr

lf

Les retours à la ligne sont le caractère 'line feed'.
C'est l'encodage standard sur Unix.

lf

cr+lf

Les retours à la ligne sont la séquence 'cariage return' suivi de 'line feed'.
C'est l'encodage standard sur Windows et ce qui sera produit par défaut par Storga.

cr+lf

Si on utilise es instructions 'text_line' et 'text_characters', seuls l'option 'charset' est prise en compte.
Par contre, si on utilise l'instruction 'text_value' en lieu et place de 'text_characters', alors les options 'exclude' 'xml' 'html' et 'json' sont aussi prises en compte.

Exemple :

var File f
write_file f "foo.txt" "text charset [dq]iso8859-1[dq]"
  ...

Remarquez que charset "iso8859-1" indiqué dans la colonne exemple du tableau est devenue charset [dq]iso8859-1[dq]

En effet, pour entrer dans une chaîne de caractères d'un programme Storga, certains caractères doivent être prélablement encodés :

Le caractère

Devient

Qui signifie

"

[dq]

double quote

[

[lb]

left bracket

]

[rb]

right bracket

zéro

[0]

 

Voici un second exemple plus complet : la séquence exclude "[0][cr][lf][dq]" replace_with "?" du tableau devient exclude [dq][lb]0[rb][lb]cr[rb][lb]lf[rb][lb]dq[rb][dq] replace_with [dq]?[dq]

var File f
write_file f "foo.txt" "text exclude [dq][lb]0[rb][lb]cr[rb][lb]lf[rb][lb]dq[rb][dq] replace_with [dq]?[dq]"
  ...

Lecture d'un fichier texte

var File f
...
read_file f "text"
  each_text_line l
    ...

La seule option active lors de la lecture d'un fichier texte est 'charset'. Le type de retour à la ligne est déterminé automatiquement.