Programmer avec Xojo à partir de zéro : persistance des données

Programmer avec Xojo à partir de zéro : persistance des données

Nous continuons à progresser dans la construction de notre application multiplateforme avec Xojo pour la gestion des dépenses personnelles ; et dans ce chapitre, nous traiterons de la résolution d'un des problèmes les plus importants que nous ayons rencontrés jusqu'à présent : sauvegarder les données insérées sur disque afin de pouvoir les récupérer après chaque nouvelle exécution du programme.

Cela nous permet de présenter une autre fonctionnalité que Xojo facilite grandement : accéder, lire et écrire dans n'importe quel fichier qui se trouve sur nos périphériques de stockage.



Pour cela nous allons utiliser trois nouvelles classes du Framework realbasic (c'est à dire l'ensemble des "outils" prêts à l'emploi fournis par l'environnement de développement) : FolderItem (https://docs.xojo.com/FolderItem), TextOutputStream (https:/ / docs.xojo.com/TextOutputStream) et TextInputStream (https://docs.xojo.com/TextInputStream).

Considérez FolderItem comme la classe qui, à travers ses propriétés et ses méthodes, nous permet d'accéder à n'importe quel fichier, qu'il existe déjà ou qu'il s'agisse d'un nouveau fichier que nous souhaitons créer… ainsi qu'aux dossiers et/ou répertoires.

En fait, grâce aux propriétés disponibles dans cette classe, nous pouvons effectuer des vérifications courantes telles que vérifier si le fichier existe déjà dans le chemin attendu, s'il s'agit d'un dossier, la date de modification ou de création, s'il peut être lu ou écrit sur le destination indiquée par le chemin, modifier ses permis ... et un long et ainsi de suite.

D'autre part, certaines des méthodes disponibles dans la classe FolderItem ont pour tâche de nous faciliter la copie du fichier de référence vers un nouvel emplacement, de l'ouvrir, de le supprimer, de le déplacer… ou de créer de nouveaux dossiers / répertoires dans le chemin spécifié.


Quant au couple de classes TextInputStream / TextOutputStream, celles-ci ont pour tâche de travailler avec un fichier spécifique (une instance ou un objet FolderItem), afin que nous puissions accéder à son contenu comme s'il s'agissait d'un flux de données.


Notez que les deux classes commencent leurs noms par le mot "Texte", ce qui signifie que les données auxquelles accéder seront traitées comme du texte plutôt que comme un format "binaire".

Dans notre cas, c'est ce que nous voulons et cela fonctionne pour nous car toutes les informations que nous allons enregistrer et (par la suite) récupérer sont au format texte : nom de la dépense, date d'achat, montant, etc.

En quoi un "flux de données" ou un "flux" est-il différent d'un fichier ? Considérez le fichier comme le conteneur de données, tandis que la classe chargée d'accéder aux données stockées par le fichier agirait sur le contenu lui-même.

Grâce à ses propriétés et ses méthodes, il est possible de se déplacer vers une certaine position (en octets) dans le fichier, tant qu'elle ne dépasse pas sa longueur, bien sûr. Vous pouvez également lire le contenu du fichier "texte" ligne par ligne, tout à la fois, ou le fragment que vous voulez à partir de la position actuelle à la longueur spécifiée.

De son côté, la classe qui réalise les fonctions inverses est TextOutputStream. Avec lui, vous pouvez ouvrir un fichier (ou le créer, tant que vous passez une référence à un FolderItem de toute façon) pour télécharger le contenu que vous voulez sous forme de texte dessus : ligne par ligne, un certain extrait, ou tout à la fois.


En pratique

Dans le développement de notre exemple d'application, nous utiliserons ces trois classes pour enregistrer à la fois les catégories et tous les articles d'achat que nous avons introduits.


Tout au long de la vidéo, nous nous concentrons sur les détails de la manière de sauvegarder ces informations et de les récupérer ultérieurement à l'aide de deux fichiers : l'un chargé de contenir le nom des catégories et l'autre où se trouvent les dépenses associées à chacune des catégories.

C'est intéressant parce que nous mettons aussi en pratique beaucoup de ce que nous avons vu jusqu'ici : des variables simples, et aussi des collections de données (Tableaux et Dictionnaires) ; c'est donc le bon moment pour rafraichir les connaissances des deux chapitres précédents… et aussi pour voir un peu plus en profondeur comment les utiliser en pratique.


Nom de l'application et autres détails

Au début de la vidéo, nous pouvons également voir quelque chose de vraiment important lors de la création de l'une de nos applications : comment indiquer à partir de l'IDE Xojo le nom que nous voulons donner à notre application... et aussi décider pour quelle architecture nous voulons la compiler !


Vous savez déjà qu'avec Xojo, décider si vous voulez que votre application soit compilée pour les Mac à processeur Intel, les processeurs M1 ou en tant qu'application universelle est aussi simple que de sélectionner l'option dans un menu.

Twitter: @xojoes

Facebook : http://facebook.com/xojoes/

Téléchargez la dernière version sur www.xojo.com

Ressources Xojo en espagnol : https://docs.xojo.com/spanish

ajouter un commentaire de Programmer avec Xojo à partir de zéro : persistance des données
Commentaire envoyé avec succès ! Nous l'examinerons dans les prochaines heures.