ReadBinaryFile (FPScript)

21.09.2021

Lit une série de données à partir d'un fichier binaire.

Syntaxe

ReadBinaryFile(File, Start, NumberOfBlocks, BlockSize, Skip, DataType)

 

La syntaxe de la fonction ReadBinaryFile se compose des éléments suivants :

Section

Description

File

Chaîne de caractères avec le chemin du fichier binaire à lire.

Les structures de données autorisées sont Scalaire. Les types de données pris en charge sont Chaîne de caractères (nom du fichier).

Si l'argument est une liste, alors la fonction est exécutée pour chaque élément de la liste et le résultat est également une liste.

Start

Le nombre d'octets à ignorer au début du fichier.

Les structures de données autorisées sont Scalaire. Tous les types de données entiers sont autorisés.

Si l'argument est une liste, alors la fonction est exécutée pour chaque élément de la liste et le résultat est également une liste.

NumberOfBlocks

Le nombre de blocs à convertir. Si zéro est passé, tous les blocs sont convertis jusqu'à la fin du fichier.

Les structures de données autorisées sont Scalaire. Tous les types de données entiers sont autorisés.

Si l'argument est une liste, alors son premier élément est pris. S'il s'agit à nouveau d'une liste, le processus est répété.

BlockSize

Le nombre de valeurs par bloc.

Les structures de données autorisées sont Scalaire. Tous les types de données entiers sont autorisés.

Si l'argument est une liste, alors son premier élément est pris. S'il s'agit à nouveau d'une liste, le processus est répété.

Skip

Le nombre d'octets à ignorer entre les blocs.

Les structures de données autorisées sont Scalaire. Tous les types de données entiers sont autorisés.

Si l'argument est une liste, alors son premier élément est pris. S'il s'agit à nouveau d'une liste, le processus est répété.

DataType

Le type de données dans lequel les valeurs sont disponibles.

L'argument DataType peut avoir les valeurs suivantes :

Constante

Signification

TYPE_INTEGER8

Les valeurs sont données sous forme de nombres entiers de 8 bits.

TYPE_INTEGER16

Les valeurs sont données sous forme de nombres entiers de 16 bits.

TYPE_INTEGER32

Les valeurs sont données sous forme de nombres entiers de 32 bits.

TYPE_INTEGER64

Les valeurs sont données sous forme de nombres entiers de 64 bits.

TYPE_FLOATINGPOINT32

Les valeurs sont données sous forme de valeurs à virgule flottante de 32 bits.

TYPE_REAL48

Les valeurs sont données sous forme de valeurs à virgule flottante de 48 bits au format Turbo Pascal.

TYPE_FLOATINGPOINT64

Les valeurs sont données sous forme de valeurs à virgule flottante de 64 bits.

TYPE_CALENDARTIME

Les valeurs sont présentées sous forme de valeurs à virgule flottante de 64 bits et sont interprétées comme le nombre de secondes depuis le 01/01/1970 00:00:00 UTC.

TYPE_TIMESPAN

Les valeurs sont présentées comme des valeurs à virgule flottante de 64 bits et sont interprétées comme un intervalle de temps en secondes.

+ BIN_UNSIGNED

Si l'on ajoute cette constante à TYPE_INTEGER8, TYPE_INTEGER16 ou TYPE_INTEGER32, alors les données sont interprétées comme des entiers non signés. Les valeurs entières de 64 bits ne peuvent être lues qu'en signé.

+ BIN_SWAP

Si l'on ajoute cette constante, les octets d'une valeur sont lus dans l'ordre inverse (l'octet de poids fort en premier).

Les structures de données autorisées sont Scalaire. Les types de données pris en charge sont Entier de 16 bits et Entier de 32 bits.

Si l'argument est une liste, alors son premier élément est pris. S'il s'agit à nouveau d'une liste, le processus est répété.

Remarques

Le résultat a toujours la structure de données Séries de données.

À partir d'une certaine position, la fonction lit une séquence de blocs associés entre lesquels il peut y avoir un écart de taille constante.

Le résultat est une série de données dont le type de données correspond à celui des valeurs à lire. Les formats suivants, qui doivent être produits à une résolution plus élevée, constituent des exceptions :

Type de données

Est importé comme :

TYPE_INTEGER8

Entiers 16 bits.

TYPE_INTEGER8 + BIN_UNSIGNED

Entiers 16 bits.

TYPE_INTEGER16 + BIN_UNSIGNED

Entiers 32 bits.

TYPE_INTEGER32 + BIN_UNSIGNED

Entiers 64 bits.

TYPE_REAL48

Valeurs à virgule flottante de 64 bits.

Disponible dans

FlexPro View, Basic, Professional, Developer Suite

Exemples

ReadBinaryFile("c:\\examples\\file.bin", 10, 0, 16, 4, TYPE_FLOATINGPOINT32)

Le fichier binaire c:\examples\file.bin sera lu. Les 10 premiers octets seront ignorés. Les données seront lues jusqu'à la fin du fichier. Il y a 16 valeurs lues par bloc avec un espace de 4 octets entre les blocs. Les valeurs sont présentes dans le type de données virgule flottante de 32 bits.

Voir aussi

Fonction ReadTextFile

Importation de fichiers

Partager l’article ou envoyer par mail :

Vous serez probablement intéressé par les articles suivants :