Lecture d'un fichier de données séquentielles, avec mémoire et prédiction


o ReadBufferizedDataFileProcess
Un processus de cette classe offre les services de lecture d'un fichier de données séquentielles, comme un processus ReadSequentialDataFileProcess. En outre, ses méthodes d'initialisation (surchargeable) et d'avancée construisent et gèrent, respectivement, une mémoire des enregistrements déjà lus, et une prédiction sur les prochains enregistrements correspondant à des instants futurs.

L'usage de cette sous-classe nécessite la déclaration préalable d'une classe de BufferizedDataFile : le processus ne pourra lire que des fichiers physiques qui auront fait l'objet d'une instantiation de cette classe (fichier logique). Le symbole de la sous-classe en question de BufferizedDataFile est une propriété du processus (accessible par FileClassId()).

Sont prédéfinies dans DIESE les méthodes d'initialisation, d'avancée et d'arrêt du processus.

C'est la méthode prédéfinie d'initialisation qui instancie le fichier logique BufferizedDataFile et l'associe au fichier physique voulu, de la même manière que pour les SequentialDataFile. De même, le développeur peut remplacer la méthode d'initialisation prédéfinie par une autre, plus adaptée à ses besoins.

La méthode prédéfinie d'arrêt est héritée de la classe mère sans surchargement.

La méthode prédéfinie d'avancée appelle la méthode ReadNextEnrgt sur l'instance de BufferizedDataFile, et la méthode d'arrêt seulement si la fin du fichier est atteinte. Puis, le cas échéant, la méthode PostRead, qui est définie, spécifiée et utilisé de la même manière que pour les ReadSequentialDataFileProcess. Comme indiqué dans la documentation des BufferizedDataFile, le corps de la méthode ReadNextEnrgt est complètement prédéfini dans CONTROL DIESE, et il fait appel au corps de la méthode ScanNextEnrgt qui doit être codé par le développeur.

Pour mettre en oeuvre un processus de cette classe, on l'encapsule, comme c'est la règle générale, dans un événement. Les tois possibilités listées pour les ReadSequentialDataFileProcess sont encore actives ici.


This page was generated with the help of DOC++.