Exemples de code d'opération de menu de système de fichiers Vb6. Travailler avec des fichiers texte

8. STOCKAGE ET LECTURE DES INFORMATIONS

Pour qu'une fois le programme terminé, toutes les données créées en mémoire ne soient pas perdues, vous devez pouvoir enregistrer des informations sur le 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. Les fichiers binaires et texte peuvent être utilisés pour travailler avec des informations de différentes tailles et formats. Vous pouvez utiliser le registre Windows pour stocker de petites quantités d'informations. Et pour les tâches les plus complexes, il est raisonnable d'utiliser des bases de données.

8.1. Ouverture de fichiers avec le "Ouvrir "

Un fichier est une zone nommée de tout support de stockage externe. Les données "en direct" 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 le 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 spécifié, il sera recherché dans le dossier actuel, 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, tandis que l'extension indique généralement le format du fichier ou le programme avec lequel il a été créé.

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

'obtenir un pointeur de fichier gratuit et l'affecter à une variable

FileHandle% = FreeFile

‘ ouvrir le fichier

Ouvrir FilePath_

As[#]FileHandle%

...(travailler avec un fichier)

Fermer[#]FileHandle

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

· FreeFile est le nom d'une fonction qui renvoie un pointeur de fichier ;

· Ouvert – nom de l'opérateur ;

· FilePath - le nom complet du fichier ;

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

· Mode – mode d'accès au fichier (voir Tableau 15) ;

Tableau 15

Modes d'accès aux fichiers

Modes d'accès

La 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éé

Contribution

Ouvrir un fichier pour le lire au format texte

Sortir

Ouvrir 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 d'accès aléatoire. Ce mode est utilisé pour travailler avec des enregistrements simples. Si le fichier n'existe pas mais sera créé

· Access est un mot clé facultatif suivi d'une description du type d'accès ;

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

· Lire - lire;

· Ecrire - enregistrer;

· Lire Ecrire - lire et écrire.

Note

Les modes d'accès Ajout et Sortie autorisent uniquement l'accès en écriture, l'accès en lecture uniquement en entrée et les trois types d'accès binaire et aléatoire.

· 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 à la mise en réseau (voir Tableau 16).

Tableau 16

Valeurs possibles pour le paramètre LockType

Sens

La description

partagé

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

verrouiller lire

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 Lire Ecrire

La lecture et l'écriture y sont interdites.

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

· # est un caractère 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 pour 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 le fichier après avoir fini de travailler dessus. L'instruction "Close" libère le pointeur de fichier et sa zone de 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 à l'aide de la fonction EOF (End Of File ) :

EOF(FileHandle)

· EOF – nom de la fonction ;

· FileHandle est le descripteur de fichier dont la fin est déterminée.

La fonction renvoie True (true) si la fin du fichier a été atteinte, sinon elle renvoie False (False).

8.2. Lire et écrire dans un fichier texte

Le fichier texte s'ouvre en mode d'accès "Input", "Output" 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 écrire des informations, on utilise deux instructions "Print" et "Write", dont la syntaxe est la suivante :

Imprimer #FileHandle%, VarBuffer[;]

Ecrire #FileHandle%, VarBuffer[;]

· Print/Write - mots-clés de l'opérateur.

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

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

· ; – un paramètre optionnel 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, les opérateurs "Input" et "Line Input" sont utilisés. La syntaxe est similaire :

Entrée de ligne #FileHandle%, VarBuffer

Entrez #FileHandle%, VarBuffer

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

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

· VarBuffer est 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 à tous. Dans le cas de fichiers texte, "Entrée" lit les données sur la même ligne jusqu'au premier délimiteur (pour les données texte, le délimiteur est "," (virgule) et pour les données numériques - " " (espace) et "," ), et "Entrée de ligne » lit la ligne entière en une seule fois, en ignorant les délimiteurs.

Note

À Visual Basic il n'existe 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 numéro correspondant et vice versa.

8.3. Travailler avec des fichiers binaires

Fichiers ouverts dans format binaire l'opérateur " Ouvrir" dans le mode " Binaire". Une caractéristique distinctive de ce mode est que le travail avec le fichier se concentre exclusivement sur des octets spécifiques. Étant donné que Visual Basic peut s'adresser directement à l'emplacement souhaité du 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 à l'aide de la syntaxe suivante :

Mettez #FileHandle%, , NameVar

· Put - le nom de l'opérateur pour écrire des informations.

· RecNumber – 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'instruction suivante :

Obtenir #FileHandle%, , NameVar

· Get est le nom de l'opérateur d'enregistrement des informations.

· FileHandle % - pointeur de fichier.

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

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

Le mode binaire étant focalisé sur les octets d'information, lors de la lecture d'un fichier, la variable buffer doit avoir un type strictement défini : soit "Byte", 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 valeur de l'octet. Ce caractère peut même être un caractère de contrôle, ce qui n'est pas possible dans le cas de fichiers texte.

Note

En l'absence du paramètre "RecNumber", les informations seront écrites ou lues dans l'octet suivant du fichier après celui avec lequel elles ont travaillé auparavant.

8.4. Manipulation graphique

Les images graphiques peuvent également être enregistrées dans des fichiers et récupérées à partir de ceux-ci. Pour extraire une image d'un fichier bitmap ou icône et l'affecter à la propriété "Image" des champs "PictureBox" et "Image", utilisez la fonction "LoadPicture()" avec la syntaxe suivante :

ImageCtrl.Picture = LoadPicture(FilePath)

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

· LoadPicture - nom de la fonction ;

· FilePath est le nom complet du fichier.

Enregistrer l'image ImageCtrl .Image, FilePath

· SavePicture – nom de l'opérateur ;

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

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

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

8.5. Travailler avec des données dans le registre

Vous pouvez utiliser le registre Windows pour stocker de petits éléments d'informations au format caractère. Visual Basic a quatre procédures que vous pouvez utiliser pour y accéder. Ils sont très faciles à utiliser, mais ont un inconvénient majeur : 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 clés de registre, vous devez utiliser les fonctions spéciales " Win 32 API".

Pour obtenir la valeur d'un paramètre à partir d'une clé de registre Windows spécifique à Visual Basic, utilisez la fonction suivante :

MyString = GetSetting(VBKeyName, Section, Key [,Default])

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

· GetSetting est le nom de la fonction.

· VBKeyName est une valeur de chaîne qui est le nom d'une sous-clé VB/VBA interne.

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

· Default est un argument optionnel dont la valeur sera retournée en cas d'erreur (paramètre manquant).

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

SaveSetting VBKeyName, Section, Key, MyString

· SaveSetting est le 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" retourné par la fonction.

· SetAllSettings est le nom de la fonction.

· Section - Une valeur de chaîne représentant une section ou une sous-section d'une application spécifique.

Pour supprimer une section entière de paramètres, utilisez un opérateur avec la syntaxe suivante :

Supprimer le paramètre VBKeyName, Section, Key

· DeleteSetting est le nom de l'opérateur.

Questions de sécurité pour l'auto-examen

  1. Comment certaines informations peuvent-elles être stockées à long terme ?
  2. Qu'est-ce qu'un dossier ?
  3. Quels noms de fichiers connaissez-vous ?
  4. Donner la syntaxe de l'opérateur "Ouvrir". Expliquez le but de ses paramètres.
  5. Comment organiser l'accès conjoint de plusieurs applications à un même dossier en même temps ?
  6. Comment déterminer que les informations du dossier sont épuisées ?
  7. Pourquoi est-il recommandé de fermer le fichier après avoir travaillé dessus ?
  8. Que voyez-vous comme différence entre les modes de fichier texte et 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 instructions "Input" et "Line Input" 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 ?

Chaque programme doit enregistrer les données sur le disque et les lire à partir du disque. Cela 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 configuré à nouveau au prochain démarrage.

Cet article se concentrera sur le travail avec 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 fichier ouvert possède son propre numéro.

Il existe une fonction dans Visual Basic 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 libres, une erreur se produit.

FichierLibre[(Numéro de plage) ]

Numéro de plage- un paramètre optionnel qui permet de déterminer la plage de canaux libres, si Numéro de plage= 0 (par défaut), alors le numéro de canal est renvoyé à partir de la plage 1 - 255, et si 1, alors à partir de la plage 256 - 511.

MonFichier = FichierLibre " 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, il est nécessaire de rencontrer des fichiers texte. Les fichiers texte sont constitués du jeu de caractères ASCII (American Standard Code for Information Interchange). code standard pour partager des informations).

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 As#numéro de dossier, où:

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

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

Ajouter- pour l'ajout, 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 des fichiers texte peut se faire de deux manières : lire caractère par caractère, en utilisant la fonction Contribution(Nombre_de_caractères_lus, #numéro de dossier) et ligne par ligne, pour cela la fonction est utilisée Ligne d'entrée#numéro de dossier, Où_lire.

DimMonFichier

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

MonFichier = FichierLibre

Ouvrir("C:\TEST.txt") pour l'entrée en tant que #MonFichier

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

DimMonFichier "Déclarer une variable pour un fichier libre

Dim i comme entier "Variable pour la boucle

Dim tS comme chaîne "Variable de lecture de chaînes

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

MonFichier = FichierLibre "Attribuer un canal libre pour travailler avec des fichiers

"Ouvrir le fichier TEST.TXT pour le lire

Pour i = 1 à 5

Entrée de ligne #MonFichier, tS "Lire le fichier TEST.TXT ligne par ligne

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

Ensuite je

Fermer #MonFichier "Fermer le fichier

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

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

MonFichier = FichierLibre "Attribuer un canal libre pour travailler avec des fichiers

Ouvrir("C:\TEST.txt") pour l'entrée en tant que #MonFichier "Ouvrir le fichier TEST.TXT pour le lire

S = Entrée$(LOG(1), 1) "Lire tout le fichier dans la variable S

Fermer #MonFichier "Fermer le fichier

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

Ci-dessous, le code suivant sera créé sur le lecteur C:\ nouveau fichier TEST.TXT et écrivez-y deux chaînes, la première sans guillemets et la seconde avec guillemets :

DimMonFichier "Déclarer une variable pour un fichier libre

MonFichier = FichierLibre "Attribuer un canal libre pour travailler avec des fichiers

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

Print #MyFile, "Cette chaîne a été écrite par l'instruction Print, elle est sans guillemets..."

Write #MyFile, "Cette chaîne a été écrite par l'instruction Write, elle est entre guillemets..."

Fermer #MonFichier "Fermer le fichier

C'est en fait tout. Comme vous l'avez probablement déjà compris, l'opérateur utilisé pour fermer un fichier est Fermer#numéro de dossier, où, # numéro de dossier n'a pas besoin d'être spécifié.

L'article est un peu brut, mais il sera utile aux programmeurs novices. La prochaine fois, je parlerai de travailler avec des fichiers binaires.

les fenêtres

Objectif: Apprendre et utiliser les opérateurs de 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, sélectionner des polices et des couleurs et utiliser l'objet presse-papiers pour stocker des fragments de texte, en utilisant l'exemple de la création d'un éditeur de texte simple.

Question test :

1. Quels sont les moyens d'ouvrir un fichier texte ? Comment fermer du texte et tout autre fichier ouvert ?

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

3. Comment les données sont-elles lues à partir d'un fichier texte ouvert en lecture ? Quelle est la différence entre les opérateurs Input et Line Input ? Quelle fonction peut être utilisée pour lire un nombre donné de caractères dans un fichier ? Comment lire tous les caractères d'un fichier ?

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

5. Avec quels opérateurs du fichier raf les enregistrements sont lus et dans le fichier raf de nouveaux records en cours d'écriture ?

6. Dans quel but l'index est-il défini et utilisé lorsque vous travaillez avec un fichier raf?

7. Quelles sont les fonctionnalités d'utilisation des fichiers binaires ? Comment s'ouvrent-ils ? Comment la lecture d'un fichier binaire et l'écriture dans un fichier binaire sont-elles effectuées ?

8. Comment le contrôle peut être appliqué CommunDialogue charger le contenu d'un fichier texte dans un champ texte ? Comment utiliser le même contrôle pour enregistrer le texte édité dans un fichier texte ?

9. Comment appliquer 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 appliquer le contrôle CommunDialogue de changer les valeurs des paramètres de police et de changer la couleur du texte dans la fenêtre zone de texte(ou un morceau de texte sélectionné dans une fenêtre Richezone de texte)?

Exemple 7.1. Considérez une application qui démontre l'écriture (et la lecture à partir d'un fichier texte) de "détails sur l'employé" - des chaînes contenant chacune le numéro d'identification, le nom complet, la date de naissance et le lieu de naissance d'un employé. Les lignes forment un tableau qui sera imité sur l'écran par 4 champs Combo Box (Fig. 7.1), qui forment un tableau d'objets Comb(i) dont la propriété Style vaut 1 - SimpleCombo.

Mettez en surbrillance la ligne à supprimer", vbExclamation

Comb(j).RemoveItem i

'Insérer un nouvel enregistrement dans la table :

Sous-titre privé mnuInsert_Click()

i% = Comb(0).ListIndex

Si je< 0 Then

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

Comb(0).AddItem InputBox("Entrez le nombre"), je

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

Comb(2).AddItem InputBox("Entrez la date de naissance."), je

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

‘Modifier une entrée dans une table :

Sous-marin privé mnuUpdate_Click()

i% = Comb(0).ListIndex

Si je< 0 Then

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

Comb(0).List(i) = InputBox("Entrez un nombre", Comb(0).List(i))

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

Comb(2).List(i) = InputBox("Entrez la date de naissance", Comb(2).List(i))

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

‘ Vider toute la table :

Sous-marin privé mnuClear_Click()

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

Sous-marin privé mnuLoad_Click()

Ouvrez "person.txt" pour l'entrée en tant que #1

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

Comb(0).AddItem engourdi

Comb(1).AddItem fio

Comb(2).AddItem bdate

Bloc Comb(3).AddItem

‘ Écrire les détails de la table dans un fichier texte :

Sous-marin 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).List(i))

bloc = Comb(3).Liste(i)

Ecrire #1, engourdi, fio, bdate, bloc

‘ Fermeture de l'application :

Sous-marin privé mnuExit_Click()

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

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

chose

Classer

chose

Biens

chose

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 Éditer. Vous trouverez ci-dessous le code de procédure également uniquement pour les commandes de menu Dossier (ouvrir, Sauver et SauverComme). La compilation de code pour d'autres commandes de menu est le sujet de la 2ème tâche de ce travail.

Sous-marin privé mnuOpen_Click()

CommonDialog1.ShowOpen

F$ = CommonDialog1.NomFichier

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

RichTextBox1.LoadFile F

SinonSi Droite(F, 3) = "txt" Alors

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

S$ = Entrée(N, 1)

Sous-marin privé mnuSave_Click()

CommonDialog1.ShowSave

F$ = CommonDialog1.NomFichier

Sous-marin privé mnuSaveAs_Click()

CommonDialog1.ShowSave

F$ = CommonDialog1.NomFichier

RichTextBox1.SaveFile F, rtfRTF

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

Exercice 1. Au cours de la réalisation de la tâche, les étudiants maîtrisent les possibilités de travailler avec des fichiers à accès aléatoire disponibles en VB 6 ( RAF-Aléatoireaccèsdossier).

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

En particulier, des procédures pour les commandes de menu sont mises en œuvre. Ecrire dans le fichierRAF et Lire à partir du fichierRAF. Comme dans l'exemple 7.1, un tableau d'objets est utilisé pour éditer les données. Combinéboîte et menus Éditer 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" (Table 7.1) de la base de données "Auto Service".

auto

auto

dysfonctionnements

La rangée inférieure du tableau 7.1 montre les types de champs.

Option 2.

Déclarez un type de données personnalisé pour la table Faults (Table 7.2) de la base de données Car Service.

dysfonctionnements

Nom

dysfonctionnements

Prix

La ligne du bas du tableau 7.2 montre les types de champs.

En utilisant l'exemple d'application 7.1 comme exemple, organisez la saisie et la modification des données pour le tableau présenté, écrivez ces données dans un fichier à accès aléatoire et lisez les données à partir d'un fichier à accès aléatoire. Comme dans l'exemple 7.1, ces actions sont mises en œuvre en tant que travail des commandes de menu illustrées à la Fig. 7.1.

Tâche 2. Dans le cadre de l'activité, les élèves ajoutent de nouvelles fonctionnalités à l'exemple d'application 2 qui permettent de traiter 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 caractère et Couleur de l'arrière plan). À l'aide de ces commandes, le choix de la police (son nom, son style et sa taille) pour le fragment de texte sélectionné dans la fenêtre doit être fourni. Richezone de texte, ainsi que le choix de la couleur des symboles du fragment sélectionné et le choix de la couleur de fond de toute cette fenêtre.

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

Option 2. Utilisation du contrôle CommunDialogue implémenter les commandes de menu Éditer(sous-menu Copie, Couper et pâte), dont le but est copier ou alors suppression dans le presse-papiers du fragment de texte sélectionné, ainsi que insérerà l'emplacement sélectionné du texte 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. obtenir du texte

Partager