Système de fichiers sous forme de liste en vb6. Ajouter des données à un fichier

les fenêtres

Objectif du travail : Apprendre et utiliser les opérateurs du langage VB 6 pour travailler avec des fichiers divers types: fichiers séquentiels (texte), fichiers à accès aléatoire, fichiers binaires. Recherche et utilisation de l'outil CommunDialogue pour ouvrir et enregistrer des fichiers, choisir la police et la couleur et utiliser l'objet Presse-papiers pour stocker des fragments de texte, en utilisant l'exemple de création d'un simple éditeur de texte.

Questions de contrôle :

1. De quelles manières pouvez-vous ouvrir un fichier texte ? Comment fermer le texte et tout autre fichier ouvert?

2. Comment les données sont-elles écrites dans un fichier texte ouvert en écriture ? Quelle est la différence entre les instructions Write et Print ?

3. Comment les données sont lues depuis l'ouverture pour la lecture fichier texte? En quoi les opérateurs d'entrée et d'entrée de ligne sont-ils différents les uns des autres ? Quelle fonction peut être utilisée pour lire un nombre spécifié de caractères dans un fichier ? Comment lire tous les caractères d'un fichier ?

4. Qu'est-ce que type personnalisé données et comment ce concept est utilisé lorsque vous travaillez avec des fichiers à accès aléatoire ( Raf)?

5. Utiliser quels opérateurs du fichier Raf les enregistrements sont également lus dans le fichier Raf De nouvelles entrées sont-elles écrites ?

6. Dans quel but l'index est-il déterminé et utilisé lorsque l'on travaille avec un fichier ? Raf?

7. Quelles sont les fonctionnalités de l’utilisation de fichiers binaires ? Comment s'ouvrent-ils ? Comment se déroule la lecture à partir d’un fichier binaire et l’écriture dans un fichier binaire ?

8. Comment utiliser le contrôle CommunDialogue charger le contenu d'un fichier texte dans un champ de texte ? Comment puis-je utiliser le même contrôle pour enregistrer le texte modifié dans un fichier texte ?

9. Comment utiliser le contrôle CommunDialogue pour télécharger le contenu du fichier rtf dans le champ RicheZone de texte? Comment utiliser le même contrôle pour enregistrer le texte modifié dans un fichier rtf?

10. Comment utiliser le contrôle CommunDialogue pour changer les valeurs des paramètres de police et pour changer la couleur du texte dans la fenêtre Zone de texte(ou un morceau de texte sélectionné dans la fenêtre RicheZone de texte)?

Exemple 7.1. Considérons une application qui démontre l'écriture dans un fichier texte (et la lecture à partir d'un fichier texte) des « informations sur l'employé » - des lignes dont chacune contient le numéro d'identification, le nom complet, la date de naissance et le lieu de naissance de l'employé. Les lignes forment un tableau qui formulaire d'écran simulera 4 contrôles Combo Box (Fig. 7.1), formant un tableau d'objets Comb(i), dont la propriété Style a la valeur 1 – SimpleCombo.

Sélectionnez la ligne à supprimer", vbExclamation

Comb(j).RemoveItem i

'Insérer nouvelle entréeà la table:

Sous-privé mnuInsert_Click()

je% = Comb(0).ListIndex

Si je< 0 Then

MsgBox "Sélectionnez la ligne à insérer avant", vbExclamation

Comb(0).AddItem InputBox("Entrer le numéro"), je

Comb(1).AddItem InputBox("Entrez votre nom"), je

Comb(2).AddItem InputBox("Entrez votre anniversaire."), je

Comb(3).AddItem InputBox("Entrez le lieu de naissance."), je

‘ Modification d'une entrée de table :

Sous-privé mnuUpdate_Click()

je% = Comb(0).ListIndex

Si je< 0 Then

MsgBox "Sélectionner la ligne à modifier", vbExclamation

Comb(0).List(i) = InputBox("Entrer le numéro", Comb(0).List(i))

Comb(1).List(i) = InputBox("Entrez votre nom", Comb(1).List(i))

Comb(2).List(i) = InputBox("Entrez votre anniversaire.", Comb(2).List(i))

Comb(3).List(i) = InputBox("Entrez le lieu de naissance.", Comb(3).List(i))

‘ Effacer toute la table :

Sous-marin privé mnuClear_Click()

‘ Remplir un tableau avec des informations provenant d'un fichier texte :

Sous-privé mnuLoad_Click()

Ouvrez "person. txt" pour la saisie en tant que #1

Entrée #1, engourdi, fio, bdate, bloc

Comb(0).AddItem engourdi

Comb(1).AddItem fio

Comb(2).AddItem bdate

Bloc Comb(3).AddItem

‘ Écriture des informations du tableau dans un fichier texte :

Sous-privé mnuSave_Click()

N% = Comb(0).ListCount

Ouvrez "person. txt" pour la sortie en tant que #1

Pour i = 0 À N - 1

engourdi = Val(Comb(0).List(i))

fio = Comb(1).Liste(i)

bdate = CDate(Comb(2).Liste(i))

bloc = Comb(3).Liste(i)

Écrivez #1, engourdi, fio, bdate, bloc

‘ Arrêt de l’application :

Sous-privé mnuExit_Click()

Exemple 7.2 . Considérons une application qui démontre l'utilisation de contrôles CommunDialogue pour ouvrir et enregistrer un fichier, sélectionner une police et une couleur et modifier du texte.

Format de fichier SMS sera chargé dans le champ de texte (champ de gauche sur la Fig. 7.2), et le format de fichier RTF- sur le terrain RicheZone de texte(marge droite sur la figure 7.2).

objet

Classe

objet

Propriété

objet

Valeur de la propriété

« Panneaux généraux

dialogue"

Onglet Ouvrir/Enregistrer sous

Onglet Police

Onglet Couleur

Le tableau ne montre pas les propriétés des commandes de menu Police de caractère, Couleur Et Modifier. Vous trouverez ci-dessous le code de procédure également uniquement pour les commandes de menu Déposer (Ouvrir, Sauvegarder Et SauvegarderComme). Composer du code pour d'autres commandes de menu est le sujet de la 2ème tâche de ce travail.

Sous-privé mnuOpen_Click()

CommonDialog1.ShowOpen

F$ = CommonDialog1.FileName

Si Right(F, 3) = "rtf" Alors

RichTextBox1.LoadFile F

ElseIf Right(F, 3) = "txt" Alors

Ouvrir F pour l'entrée en tant que #1

S$ = Entrée (N, 1)

Sous-privé mnuSave_Click()

CommonDialog1.ShowSave

F$ = CommonDialog1.FileName

Sous-privé mnuSaveAs_Click()

CommonDialog1.ShowSave

F$ = CommonDialog1.FileName

RichTextBox1.SaveFile F, rtfRTF

Au cours de ce travail, l'étudiant doit réaliser 2 tâches.

Exercice 1. En train de terminer le devoir, les étudiants maîtrisent les capacités disponibles dans VB 6 pour travailler avec des fichiers à accès aléatoire ( RAFaléatoireaccéderdéposer).

Pour une table de base de données donnée, un type de données utilisateur est déclaré, une variable de ce type est déclarée (tutoriel, pp. 108-112), les procédures qui utilisent une variable de type utilisateur sont compilées et déboguées.

En particulier, des procédures pour les commandes de menu sont implémentées Écrire dans un fichierRAF Et Lire à partir d'un fichierRAF. Comme dans l'exemple 7.1, un tableau d'objets est utilisé pour éditer les données ComboBoîte et menu Modifier avec cinq commandes de sous-menu : Ajouter une note, Supprimer l'entrée, Insérer une entrée, Modifier l'entrée, Effacer le tableau.

Option 1.

Déclarez un type de données personnalisé pour la table « Car » (Tableau 7.1) de la base de données « Car Service ».

voiture

voiture

dysfonctionnements

La dernière ligne du tableau 7.1 montre les types de champs.

Option 2.

Déclarez un type de données personnalisé pour le tableau « Défauts » (Tableau 7.2) de la base de données « Car Service ».

dysfonctionnements

Nom

dysfonctionnements

Prix

La dernière ligne du tableau 7.2 montre les types de champs.

En utilisant l'exemple d'application 7.1 comme modèle, organisez la saisie et la modification des données pour le tableau affiché, en écrivant ces données dans un fichier à accès aléatoire et en lisant les données d'un fichier à accès aléatoire. Comme dans l'exemple 7.1, ces actions sont mises en œuvre sous la forme d'opérations de commandes de menu illustrées à la Fig. 7.1.

Tâche 2. Au cours du devoir, les étudiants ajoutent de nouvelles fonctionnalités à l'exemple d'application 2 qui permettent de visualiser l'application comme un simple éditeur de texte.

Option 1 CommunDialogue implémenter les commandes de menu Police de caractère Et Couleur(avec sous-menu Couleur du personnage Et Couleur de l'arrière plan). À l'aide de ces commandes, vous devriez pouvoir sélectionner une police (son nom, son style et sa taille) pour le fragment de texte sélectionné dans la fenêtre. RicheZone de texte, ainsi que la sélection de la couleur des caractères du fragment sélectionné et la sélection de la couleur de fond de toute la fenêtre.

Note: Lors de la configuration d'un objet CommunDialogue Pour sélectionner une police à l'aide de la propriété (Personnalisée), veillez à définir la valeur de la propriété Flags sur 1, 2 ou 3 (voir manuel, page 183).

Option 2. Utiliser un contrôle CommunDialogue implémenter les commandes de menu Modifier(sous-menu Copie, Couper Et Pâte), dont le but est copier ou effacement dans le presse-papiers du fragment de texte sélectionné, et également insérerà la zone de texte sélectionnée du contenu du presse-papiers.

Note: Vers le presse-papiers (objet Presse-papiers), vous pouvez utiliser les méthodes SetText et GetText :

Presse-papiers. SetText RichTextBox1.SelText

RichTextBox1.SelText = Presse-papiers. ObtenirTexte

Chaque programme doit enregistrer les données sur le disque et les lire à partir du disque. Ceci est nécessaire, par exemple, pour enregistrer les paramètres du programme ; il est peu probable que l'utilisateur aime le programme, qui devra être reconfiguré au prochain lancement.

Dans cet article Nous parlerons sur l'utilisation de fichiers texte à l'aide de Visual Basic.

Descripteur de fichier

Pour travailler avec des fichiers système opérateur utilise des canaux d'E/S, c'est-à-dire Chaque dossier ouvert possède son propre numéro.

En Visual Basic, il existe une fonction Fichier gratuit, qui renvoie le numéro d'un canal libre pouvant être utilisé pour travailler avec le fichier. S'il n'y a pas de chaînes gratuites, une erreur se produit.

Fichier gratuit[(Numéro de plage) ]

Numéro de plage-paramètre facultatif qui permet de définir la plage de valeurs des chaînes gratuites si Numéro de plage= 0 (par défaut), alors le numéro de canal est renvoyé dans la plage 1 à 255, et si 1, alors dans la plage 256 à 511.

MonFichier = Fichier Gratuit "La variable MyFile s'est vu attribuer un canal libre et peut désormais être utilisée pour travailler avec des fichiers

Travailler avec des fichiers texte

Le plus souvent, vous rencontrez des fichiers texte. Les fichiers texte sont constitués du jeu de caractères ASCII (American Standard Code for Information Interchange).

Avant de commencer à écrire/lire des données, le fichier doit être ouvert ; cela se fait à l'aide de l'opérateur Ouvrir (Nom de fichier) Pour Comme #Numéro de dossier, Où:

Saisir- ouvrir le fichier en lecture, si le fichier n'existe pas, une erreur se produit ;

Sortir- pour l'écriture, si le fichier n'existe pas, il sera créé, et si le fichier existe, il sera écrasé ;

Ajouter- pour ajouter, si le fichier n'existe pas, il sera créé, et si le fichier existe, alors les données seront ajoutées à la fin du fichier.

La lecture de fichiers texte peut se faire de deux manières : lire caractère par caractère, pour cela utiliser la fonction Saisir(Number_of_characters_read, #Numéro de dossier) et ligne par ligne, la fonction est utilisée pour cela Ligne d'entrée #Numéro de dossier, Où_lire.

Atténuer mon fichier

Dim S comme chaîne "Variable pour stocker les données lues

MonFichier = Fichier Gratuit

Open("C:\TEST.txt") pour la saisie en tant que #MyFile

Entrée de ligne #MyFile, S "Lire la première ligne du fichier TEST.TXT dans la variable S

Atténuer mon fichier "Déclarer une variable pour un fichier libre

Dim i comme entier "Variable pour la boucle

Dim tS comme chaîne "Variable pour lire des chaînes

Dim S comme chaîne "Variable pour stocker les données finales

MonFichier = Fichier Gratuit "Attribution d'un canal gratuit pour travailler avec des fichiers

"Ouvrez le fichier TEST.TXT en lecture

Pour i = 1 à 5

Entrée de ligne #MyFile, tS "Lecture du fichier TEST.TXT ligne par ligne

Si je => 5 Alors S = tS "Si la cinquième ligne, stockez-la dans la variable S

Ensuite je

Fermer #MyFile "Fermez le fichier

Dim MyFile "Déclarer une variable pour un fichier libre

Dim S As String "Variable pour stocker les données lues

MonFichier = Fichier Gratuit "Attribution d'un canal gratuit pour travailler avec des fichiers

Open("C:\TEST.txt") pour la saisie en tant que #MyFile "Ouvrez le fichier TEST.TXT en lecture

S = Entrée$(LOG(1), 1) "Lire l'intégralité du fichier dans la variable S

Fermer #MyFile "Fermez le fichier

Il existe des opérateurs pour écrire dans un fichier Imprimer #Numéro de dossier, Données Et Écrire #Numéro de dossier, Données. La seule différence entre ces opérateurs est que Écrireécrit les données entre guillemets, et Imprimer sans citations.

Le code suivant créera un nouveau fichier TEST.TXT sur le lecteur C:\ et y écrira deux lignes, la première sans guillemets et la seconde avec des guillemets :

Atténuer mon fichier "Déclarer une variable pour un fichier libre

MonFichier = Fichier Gratuit "Attribution d'un canal gratuit pour travailler avec des fichiers

Open("C:\TEST.txt") pour la sortie en tant que #MyFile "Ouvrez le fichier TEST.TXT pour l'écriture

Print #MyFile, "Cette ligne a été écrite par l'opérateur Print, elle est sans guillemets..."

Écrivez #MyFile, "Cette ligne a été écrite par l'opérateur Write, elle est entre guillemets..."

Fermer #MyFile "Fermez le fichier

C'est tout. Comme vous l'avez probablement déjà compris, l'opérateur sert à fermer un fichier Fermer #Numéro de dossier, dans lequel, # Numéro de dossier il n'est pas nécessaire de l'indiquer.

L'article est un peu rudimentaire, mais il sera utile aux programmeurs débutants. La prochaine fois, je parlerai du travail avec des fichiers binaires.

8. SAUVEGARDE ET LECTURE DES INFORMATIONS

Pour garantir que toutes les données créées en mémoire ne sont pas perdues une fois le programme terminé, vous devez pouvoir sauvegarder les informations sur votre disque dur. Sinon, toutes les informations disparaîtront sans laisser de trace. Les données peuvent être stockées et lues de différentes manières. Pour travailler avec des informations de différentes tailles et formats, vous pouvez utiliser des fichiers binaires et texte. Pour stocker de petites quantités d'informations, vous pouvez utiliser le registre Windows. Et pour les tâches les plus complexes, il est judicieux d’utiliser des bases de données.

8.1. Ouverture de fichiers à l'aide de l'opérateur "Ouvrir "

Un fichier est une zone nommée de tout périphérique de stockage externe. Les données sont « vivantes » dans la mémoire de l'ordinateur et les fichiers, sur le disque dur. Le programme ne fonctionne pas directement avec les fichiers, mais utilise le système d'exploitation comme intermédiaire.

Il existe deux types de noms de fichiers : complet - en plus du nom de fichier, l'emplacement du fichier sur un support externe est également indiqué (par exemple, « C:\Program Files\Microsoft Visual Studio\VB98\VB 6.EXE" ) et court - uniquement le nom du fichier (VB 6.EXE ). Si l'emplacement du fichier n'est pas précisé, il sera recherché dans le dossier courant, par défaut le dossier où se trouve votre application. Le nom de fichier immédiat se compose de deux parties : le nom de fichier unique réel et son extension. Le nom lui-même identifie le fichier et l'extension indique généralement le format du fichier ou le programme par lequel il a été créé.

Avant de commencer à travailler avec le fichier, vous devez demander au système d'exploitation aiguille (descripteur) déposer. Pour l'obtenir, utilisez la fonction « FreeFile ». Ensuite, à l'aide de l'opérateur « Ouvrir », ce pointeur est associé au fichier souhaité. Ce n'est qu'après cela que le programme pourra travailler avec. La syntaxe pour ouvrir un fichier est la suivante :

'Obtenez un pointeur de fichier gratuit et attribuez-le à une variable

FileHandle% = Fichier Gratuit

' ouvre le fichier

Ouvrir le chemin du fichier_

Comme [#]FileHandle%

...(travailler avec un fichier)

Fermer [#]FileHandle

· FileHandle % – une variable qui stocke le pointeur de fichier ;

· FreeFile – nom de la fonction qui renvoie le pointeur de fichier ;

· Ouvert – nom de l'opérateur ;

· FilePath – nom complet du fichier ;

· Pour – un mot-clé suivi d'une description du mode d'accès au fichier ;

· Mode – mode d'accès aux fichiers (voir Tableau 15) ;

Tableau 15

Modes d'accès aux fichiers

Modes d'accès

Description

Ajouter

Ajout de données à la fin d'un fichier texte existant. Si le fichier n'existe pas, il sera créé

Binaire

Ouvrir un fichier en mode binaire, c'est-à-dire comme un ensemble d'octets. Si le fichier n'existe pas mais sera créé

Saisir

Ouverture d'un fichier en lecture au format texte

Sortir

Ouvrez un fichier pour écrire un fichier texte. Dans ce cas, toutes les anciennes informations seront supprimées. Si le fichier n'existe pas mais sera créé

Aléatoire

Ouverture d'un fichier en mode accès aléatoire. Ce mode est utilisé pour travailler avec des enregistrements simples. Si le fichier n'existe pas mais sera créé

· Accès – un mot-clé facultatif suivi d'une description du type d'accès ;

· AccessType – description du type d'accès :

· Lire – lire ;

· Écrire – enregistrer ;

· Lire Écrire – lire et écrire.

Note

Avec les modes d'accès Append et Output, seul le type d'accès Write est disponible, avec Input only Read, et avec Binary et Random, les trois types d'accès sont disponibles.

· LockType est un paramètre facultatif qui détermine si d'autres programmes peuvent utiliser ce fichier pendant que votre programme l'utilise. Elle est généralement associée au travail sur le réseau (voir tableau 16).

Tableau 16

Valeurs possibles pour le paramètre LockType

Signification

Description

partagé

Tous les utilisateurs disposant des droits nécessaires auront un accès complet au fichier

Verrouiller la lecture

La lecture du fichier est bloquée, mais l'écriture est autorisée

Verrouiller l'écriture

L'écriture dans le fichier est bloquée, mais la lecture est autorisée

Verrouiller Lecture Écriture

Il est interdit de lire et d'écrire dessus

· As est un mot-clé suivi d'un pointeur de fichier.

· # est un symbole indiquant que la valeur qui le suit est un pointeur de fichier.

· Len est un mot-clé facultatif qui doit être suivi d'un paramètre spécifiant la longueur de l'entrée.

· CharInBuffer % - longueur d'enregistrement d'un fichier ouvert en mode d'accès aléatoire (Random).

· Close est une instruction qui ferme le fichier associé au handle spécifié.

Il est important de fermer un fichier lorsque vous avez fini de l'utiliser. L'instruction "Close" libère le pointeur de fichier et la zone mémoire associée.

Lorsque vous travaillez avec un fichier, notamment lors de sa lecture, il est très important de déterminer la fin du fichier. Il peut être défini grâce à la fonction EOF (End Of File) :

EOF (FichierHandle)

· EOF – nom de la fonction ;

· FileHandle est un pointeur vers le fichier dont la fin est en cours de détermination.

La fonction renvoie True si la fin du fichier est atteinte, sinon renvoie False.

8.2. Lire et écrire dans un fichier texte

Le fichier texte est ouvert en mode d'accès « Entrée », « Sortie » ou « Append » (voir Tableau 15). La particularité de ce mode est qu'il ne fonctionne qu'avec des caractères imprimables spécifiques. Il est inutile de travailler avec des symboles de service.

Pour enregistrer des informations, utilisez deux opérateurs « Imprimer » et « Écrire » dont la syntaxe est la suivante :

Imprimer #FileHandle%, VarBuffer [;]

Écrivez #FileHandle%, VarBuffer [;]

· Imprimer/Écrire – mots-clés de l’opérateur.

· #FileHandle % - pointeur vers le fichier dans lequel les informations seront placées.

· VarBuffer – la valeur qui sera écrite dans le fichier.

· ; – un paramètre facultatif utilisé lors de l'écriture dans un fichier texte, signifie que la valeur suivante sera écrite sur la même ligne, et si elle est absente, sur la suivante.

Pour lire les informations d'un fichier, utilisez les opérateurs « Entrée » et « Entrée de ligne ». La syntaxe est similaire :

Entrée de ligne #FileHandle%, VarBuffer

Entrée #FileHandle%, VarBuffer

· Entrée de ligne / Entrée – mots-clés de l'opérateur.

· #FileHandle % - pointeur vers le fichier à partir duquel les informations seront lues.

· VarBuffer – une variable dans laquelle les informations seront lues.

La différence entre les opérateurs "Line Input" et "Input" est que le premier est destiné uniquement aux fichiers texte et le second à n'importe lequel. Dans le cas de fichiers texte, "Input" lit les données sur une ligne jusqu'au premier délimiteur (pour les données texte, le séparateur est "", (virgule) et pour les données numériques - "" (espace) et ",") , et « Entrée de ligne » lit la ligne entière à la fois, en ignorant les délimiteurs.

Note

Visual Basic n'a aucun moyen de contrôler le format des fichiers créés précédemment. Par conséquent, le symbole « 2 » peut être lu comme le chiffre correspondant et vice versa.

8.3. Travailler avec des fichiers binaires

Fichiers ouverts dans format binaire opérateur « Ouvrir » en mode « Binaire ». Une particularité de ce mode est que le travail avec le fichier se concentre exclusivement sur des octets spécifiques. Puisque Visual Basic peut directement adresser l'emplacement souhaité dans un fichier, ce mode est également appelé - mode d'accès direct. Une autre caractéristique de ce mode est la possibilité d'écrire et de lire simultanément des informations dans différentes parties du fichier sans le rouvrir. L'écriture dans un fichier ouvert en mode binaire se fait selon la syntaxe suivante :

Mettez #FileHandle%, , NameVar

· Put – nom de l'opérateur d'enregistrement des informations.

· RecNumber – le numéro d'octet du fichier dans lequel les informations seront écrites (paramètre facultatif).

· NameVar est une variable dont le contenu sera écrit dans le fichier.

La lecture des informations d'un fichier en mode binaire se fait à l'aide de l'opérateur suivant :

Obtenez #FileHandle%, , NameVar

· Obtenir – le nom de l'opérateur d'enregistrement des informations.

· FileHandle % - descripteur de fichier.

· RecNumber – numéro d'octet du fichier à partir duquel les informations seront lues (paramètre facultatif).

· NameVar – le nom de la variable dans laquelle les informations lues seront placées.

Le mode binaire étant axé sur les octets d'information, lors de la lecture d'un fichier, la variable tampon doit avoir un type strictement défini : soit « Octet », alors la valeur numérique de l'octet sera lue, soit un caractère de longueur fixe d'un caractère, alors l'octet sera lu comme un caractère, ANSI , dont le code correspond à la taille de l'octet. Ce caractère peut même être un caractère de contrôle, ce qui n'est pas réalisable dans le cas de fichiers texte.

Note

En l'absence du paramètre « RecNumber », l'écriture ou la lecture des informations aura lieu dans l'octet suivant du fichier après celui avec lequel il a été précédemment travaillé.

8.4. Manipulation graphique

Vous pouvez également enregistrer et extraire des images graphiques à partir de fichiers. Pour extraire une image d'un fichier bitmap ou icône et l'affecter à la propriété « Picture » des contrôles « PictureBox » et « Image », utilisez la fonction « LoadPicture() » avec la syntaxe suivante :

ImageCtrl.Picture = LoadPicture (FilePath)

· ImageCtrl – le nom d'un contrôle de fenêtre d'image, d'un contrôle d'image ou d'un formulaire ;

· LoadPicture – nom de la fonction ;

· FilePath – nom complet du fichier.

SavePicture ImageCtrl .Picture, FilePath

· SavePicture – nom de l’opérateur ;

· ImageCtrl – le nom d'un contrôle de fenêtre d'image, d'un contrôle d'image ou d'un formulaire ;

· Image – nom de la propriété de l'objet responsable de l'image ;

· FilePath – le nom complet du fichier indiquant son emplacement sur le disque.

8.5. Travailler avec des données dans le registre

Le registre Windows peut être utilisé pour stocker de petites informations au format caractères. Visual Basic propose quatre procédures que vous pouvez utiliser pour y accéder. Ils sont très simples à utiliser, mais présentent un inconvénient principal : vous ne pouvez accéder aux données qu'à partir d'une clé de registre spécifique : « MyComputer\HKEY_CURRENT_USER\Software\VB and VBA Program Settings ». Pour accéder à d'autres sections du registre, vous devez utiliser des fonctions spéciales « API Win ​​32".

Pour obtenir la valeur d'un paramètre de la section Visual Basic du registre Windows, vous devez utiliser la fonction suivante :

MyString = GetSetting (VBKeyName, Section, Clé [, Par défaut])

· MyString – une chaîne pour stocker la valeur renvoyée par la fonction ;

· GetSetting – nom de la fonction.

· VBKeyName est une valeur de chaîne qui correspond au nom de la sous-clé VB/VBA interne.

· Key est une valeur de chaîne qui représente le nom du paramètre dans la section.

· Par défaut – un argument facultatif dont la valeur sera renvoyée en cas d'erreur (paramètre manquant).

Pour stocker une valeur dans le registre Windows, utilisez l'instruction suivante :

SaveSetting VBKeyName, Section, Clé, MyString

· SaveSetting – nom de l’opérateur.

· MyString est une variable chaîne dans laquelle la valeur trouvée sera placée.

Pour obtenir un tableau du registre contenant toutes les valeurs de paramètres d'une sous-clé spécifique, utilisez la fonction suivante :

MyVariant = SetAllSettings (VBKeyName, Section)

· MyVariant est un tableau de valeurs de type « Variant » renvoyé par la fonction.

· SetAllSettings – nom de la fonction.

· Section – Une valeur de chaîne représentant une section ou une sous-section d'une application particulière.

Pour supprimer une section entière de paramètres, utilisez une instruction avec la syntaxe suivante :

Supprimer le paramètre VBKeyName, Section, Clé

· DeleteSetting – nom de l’opérateur.

Questions de test pour l'auto-test

  1. Comment stocker certaines informations à long terme ?
  2. Qu'est-ce qu'un fichier ?
  3. Quels noms de fichiers connaissez-vous ?
  4. Donnez la syntaxe de l'opérateur « Ouvrir ». Expliquez le but de ses paramètres.
  5. Comment plusieurs applications peuvent-elles partager l’accès à un fichier en même temps ?
  6. Comment déterminer que les informations d’un dossier sont épuisées ?
  7. Pourquoi est-il recommandé de le fermer après avoir travaillé avec un fichier ?
  8. Selon vous, quelle est la différence entre les modes fichier texte et fichier binaire ?
  9. Comment les données sont-elles lues et écrites en mode fichier texte ?
  10. Comment les données sont-elles lues et écrites en mode fichier binaire ?
  11. Quelle est la différence entre les opérateurs « Imprimer » et « Écrire » lorsque vous travaillez avec des fichiers ?
  12. Quelle est la différence entre les opérateurs « Entrée » et « Entrée de ligne » lorsque vous travaillez avec des fichiers ?
  13. Comment travailler avec des données graphiques ?
  14. Quels sont les principes de base du travail avec le registre Windows ?



Haut