Tutoriel 35 : Réalisation de la feuille frmMakeFile

Gilbert Miralles

- Titre : Tutoriel 35 : Réalisation de la feuille frmMakeFile

- Auteur : Gilbert Miralles

- Parution : 7 avril 2004

- Licence : Copyright ® 2000 Gilmir. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

- Exercice 3 - La feuille frmMakefile ♪

- Prochain tutoriel

Exercice 3 - La feuille frmMakefile ♪

Nous reviendrons ultérieurement à la construction de la feuille frmChild,
et nous allons nous intéresser à la réalisation de la feuille frmMakeFile.

Voici la feuille à réaliser, elle comprend :
4 « Frame » ;
2« TextBox » ;
2 « Label » ;
1 ComboBox ;
4 « SSCommand » (Boutons de commande).
À titre indicatif, je vous donne les propriétés principales de cette feuille qui sont :
Name : frmMakeFile
Height : 4380
Width : 5580
Label1 sera renommé : Etiquette1 (Propriété Name)
Label2 sera renommé : Etiquette2 (idem )

Télécharger les images : Téléchargement

Nous allons renommer les différents objets, tout au moins ceux qui ont un rôle déterminant dans les procédures
Voici les propriétés à modifier :
Texte1
Propriété Name : Texte1
ComboBox
Propriété Name : ListeModif1
Texte2
Propriété Name : Texte2
Etiquette1
Propriété Name : Etiquette1
Propriété Caption : .VSW
Etiquette2
Propriété Name : Etiquette2

Codifions la procédure Form_Load :

Private Sub Form_Load( )
Etiquette2.Caption = App.Path + "\DATAS"
For X% = 1 To 10
If BaseDonnees$(X%) <> "" Then
ListeModif1.AddItem BaseDonnees$(X%)
End If
Next X%
ListeModif1.Text = BaseDonnees$(1)
Texte1.Text = BaseDonnees$(1)
Texte2.Text = InfosBDonnees$(1)
'Centrage de la feuille
CenterForm Me
End Sub

Créons la procédure de fermeture de la feuille :

Private Sub Form_Unload(Cancel As Integer)
'Stockons les modifications
On Error Resume Next
KNum = FreeFile
MkDir App.Path + "\datas"    'Création du répertoire "Datas"
Open App.Path + "\datas\fichfilm.lst" For Output As #KNum       'Création du fichier "fichfilm"
For X% = 1 To 10
If BaseDonnees$(X%) <> "" Then
Write #KNum, BaseDonnees$(X%), InfosBDonnees$(X%)
'Nous allons créer les fichiers qui nous intéressent
Open App.Path + "\datas\" + BaseDonnees$(X%) + ".vsw" For Output As #KNum + 1
'Terminé, nous refermons les fichiers ouverts
Close #KNum + 1
End If
Next X%
Close #KNum
End Sub

Créons la procédure FileDefinition :

Sub FileDefinition(Fichier$, Info$)
'Sélection des fichiers uniquement si nouvelles définitions
For X% = 1 To 10
'Si fichier existe déjà, annuler
If Trim$(Fichier$) = Trim$(BaseDonnees$(X%)) Then Exit Sub
Next X%
'Nouvelle définition à créer
Texte1.Text = Fichier$
Texte2.Text = Info$
Command3D3_Click
End Sub

Dans la feuille frmMakefile, nous créons la procédure :

Sub FileDefinition (Fichier$, Info$)
'Sélection des fichiers uniquement si nouvelles définitions
For x% = 1 To 10
'Si fichier existe déjà, annuler
If Trim$(Fichier$) = Trim$(BaseDonnees$(x%)) Then Exit Sub
Next x%
'Nouvelle définition -> créer
Texte1.Text = Fichier$
Texte2.Text = Info$
Command3D3_Click
End Sub

Nous allons modifier les propriétés du projet afin de pouvoir lancer le fichier sur lequel nous travaillons sans risque de générer des erreurs.
Cliquer dans la barre de menu sur l'étiquette « Projet », puis sur "Propriétés de Projet1…
Modifiez l'étiquette « Objet de démarrage » et modifiez la ComboBox pour faire apparaître le fichier que nous voulons lancer, en l'occurrence affichons le nom de : « frmMakefile ».
Vous pouvez maintenant lancer votre feuille de travail, la feuille frmMakeFile qui va nous permettre de créer les fichiers de travail devant contenir les données à enregistrer.

Nous continuons à saisir les codes des procédures qui nous sont nécessaires.

Sub ListeModif1_Change ( )
Texte1.Text = ListeModif1.Text
Texte1.Refresh
Texte2.Refresh
End Sub

Sub ListeModif1_Click ( )
'Le compteur de ListeModif1 commence à 0, Array à 1
Num% = ListeModif1.ListIndex + 1
Texte1.Text = BaseDonnees$(Num%)
Texte2.Text = InfosBDonnees$(Num%)
End Sub

Sub Texte1_Change ( )
ListeModif1.Text = Texte1.Text
End Sub

Codifions le premier bouton :

Private Sub SSCommand1_Click( )
For X% = 1 To 10
If BaseDonnees$(X%) = "" Or BaseDonnees$(X%) = Texte1.Text Then Exit For
Next X%
If X% = 10 And BaseDonnees$(X%) <> "" Then
MsgBox "Vous ne pouvez pas créer plus de 10 bases de données !", 16, "Attention!"
Exit Sub
End If
If BaseDonnees$(X%) <> Texte1.Text Then
ListeModif1.AddItem Trim$(Texte1.Text)
ListeModif1.Refresh
End If
BaseDonnees$(X%) = Trim$(Texte1.Text)
InfosBDonnees$(X%) = Trim$(Texte2.Text)
End Sub

Codifions le deuxième bouton :

Private Sub SSCommand2_Click( )
Texte1.Text = ""
Texte2.Text = ""
End Sub

Codifions le troisième bouton :

Private Sub SSCommand3_Click( )
'Création automatique de bases de données
FileDefinition "SF", "Science Fiction"
FileDefinition "fantasy", "Fantasy / Contes"
FileDefinition "horror", "Horreur / Angoisse"
FileDefinition "action", "Action / Aventure"
FileDefinition "comedy", "Comédies / Divertissement"
FileDefinition "music", "Musique / Musicals"
FileDefinition "thriller", "Thriller "
FileDefinition "love", "Love Stories / Histoires d'amour"
FileDefinition "exotic", "Erotique & Exotique"
FileDefinition "western", "Western / Western spaghetti"
'
'FileDefinition "eastern", "Eastern / Karate / Kung Fu"       'Pour éviter d'engendrer une erreur, nous                                                                                     'codifions les lignes suivantes en commentaires
'FileDefinition "war", "Guerre"
'FileDefinition "polard", "Policiers/ Espionnage"
'FileDefinition "trick", "Dessins animés / Animations"
'FileDefinition "nature", "Nature / Vie des bêtes"
'FileDefinition "sport", "Sport"
'FileDefinition "document", "Documentaires"
'FileDefinition "roman", "Films à base de romans"
'FileDefinition "show", "Shows & Music / Concerts"
'FileDefinition "tv", "Films télévision / Séries"
End Sub

Codifions le quatrième bouton :

Private Sub SSCommand4_Click( )
Unload frmMakefile
End Sub

Insérez l'icône que vous avez récupérée et installez-la dans la propriété « Icon » de la feuille

Vous pouvez modifier à nouveau les propriétés du projet afin de démarrer avec la feuille « frmParent » ce qui nous permettra de faire un essai avec le premier bouton qui doit normalement afficher la feuille frmMakefike.

À ce stade de l'avancement des travaux, le programme est opérationnel uniquement par l'événement que provoque l'action du bouton N°1 de la feuille frmParent.

Prochain tutoriel

Le code d'action de la feuille « DelFile »