Data
Introduction
PureBasic autorise l'utilisation de données pour stocker des blocs d'informations prédéfinies dans votre programme. Ceci est utile pour disposer de valeurs par défaut (messages textuels par exemple) ou dans un jeu pour définir le cheminement prédéfini d'un sprite.
DataSection doit être placé en tête du bloc de données. Tous les labels et composants data sont stockés dans cette partie data dont l'accès est plus rapide que la zone de code. Data est utilisé pour entrer des données. EndDataSection doit être spécifié si du code à exécuter est situé après. Il est intéressant de pouvoir placer plusieurs zones de données à différents endroits du code source. Les données peuvent être chargées à l'aide des commandes Restore et Read.
DescriptionDataSection
Débute une zone de données.
DescriptionEndDataSection
Termine une zone de données.
DescriptionData.NomType
Définit les données. Le type peut être choisi parmi les types natifs (long, word, byte, float, string). Un nombre quelconque de données peut être placé sur une même ligne, chacune étant séparée par une virgule.Exemple:
Data.l 100, 200, -250, -452, 145 Data.s "Bonjour", "Qu'est", "ce que ", "c'est ?"Pour les programmeurs chevronnés: il est aussi possible de mettre l'adresse d'une procedure ou d'un label avec Data si le type long (.l) est utilisé. Par exemple, des tables de fonctions virtuelles peuvent être créées facilement.Exemple:
Procedure Max(Number, Number2) EndProcedure Label: DataSection Data.l ?Label, @Max() EndDataSectionExemple:
Interface MyObject DoThis() DoThat() EndInterface Procedure This(*Self) MessageRequester("MyObject", "This") EndProcedure Procedure That(*Self) MessageRequester("MyObject", "That") EndProcedure m.MyObject = ?VTable m\DoThis() m\DoThat() DataSection VTable: Data.l ?Procedures Procedures: Data.l @This(), @That() EndDataSection
DescriptionRestore label
Ce mot clef permet de placer un indicateur de début de zone pour la commande Read.Exemple:
Restore DonneesTexte Read MonPremierTexte$ Read MonSecondTexte$ Restore DonneesNumeriques Read a Read b DataSection DonneesNumeriques: Data.l 100, 200, -250, -452, 145 DonneesTexte: Data.s "Bonjour", "Qu'est-ce", "que ", "c'est ?"
DescriptionRead
Lit la donnée suivante. Le pointeur peut être modifié en utilisant la commande Restore. Par défaut, la donnée suivante est la première donnée déclarée.