FILETOBUF
Crée un tampon mémoire (buffer) en utilisant le contenu d'un fichier ASCII .
Support WebVue - Oui.
Syntaxe 1
LongVal = FILETOBUF(Filename);
Type de retour : LONG
|
Argument |
Définition |
|
Filename |
Nom du fichier à partir duquel le buffer est créé.
Type STR. |
Exécution
Lecture du fichier et retour du handle du buffer. Le buffer est automatiquement alloué à la taille exacte du fichier.
Le handle du buffer alloué si OK, sinon 0.
Syntaxe 2
LongVal = FILETOBUF(Filename, Size);
|
Argument |
Définition |
|
Filename |
Nom du fichier à partir duquel le buffer est créé.
Type STR. |
|
Size |
Taille du buffer à créer. Tout type numérique. |
Type de retour : LONG
Exécution
Un buffer est créé en mémoire et le handle (adresse de démarrage) est retourné par la fonction. Le buffer est alloué à la taille demandée. Si le fichier est plus grand que la taille maximale autorisée d'un buffer (voir la note ci-dessous), alors le buffer n'est pas créé.
Retour : Le handle du buffer alloué si OK, sinon 0 (fichier plus grand que Size).
Le dossier par défaut pour les noms de fichiers relatifs est le dossier \TP.
Il n'est pas nécessaire d'utiliser l'instruction ALLOC_BUFFER avant d'utiliser FILETOBUFcar l'espace mémoire est automatiquement allouée, mais la désallocation du buffer doit être réalisée avec l'instruction FREE_BUFFER une fois que celui-ci n'a plus besoin d'être conservé en mémoire.
Exemple
'This program uses the file UTIL.TXT in the project TP folder
SUB Main()
DIM StrFilename as Str;
DIM strLine as Str;
DIM lngBuffer as Long;
StrFilename = "util.txt"; 'File name
lngBuffer = FILETOBUF(StrFilename);'The test file must exist
strLine = CGET_BUFFER (lngBuffer,0,20); 'Print the first 20 characters
FREE_BUFFER(lngBuffer );
PRINT(strLine);
END SUB