Tutoriel 36 : La feuille frmDelFile saisie du code

Gilbert Miralles

- Titre : Tutoriel 36 : La feuille frmDelFile saisie du code

- Auteur : Gilbert Miralles

- Parution : 23 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 4 - La feuille frmDelFile saisie du code ♪

- Prochain tutoriel

Exercice 4 - La feuille frmDelFile saisie du code ♪

Réalisation de la feuille « frmDelFile »
qui va nous permettre d'effacer les données inutiles.
Vous avez la dimension de la feuille, vous pouvez vous inspirer de cette image pour reconstituer la feuille puisqu'elle est représentée grandeur nature.

Les boutons sont au format 3D issus du contrôle « Threed32 » Si vous ne le possédez pas, utilisez des boutons standards sans option « images ».

Les boutons 3D ne sont pas indispensables, c'est simplement plus esthétique.

Vous pouvez récupérer les images avec un logiciel du genre « Paint Shop Pro » si vous ne le possédez pas vous pouvez le télécharger sur le site de « Gilmir.com »
La conception de cette feuille est très simple puisqu'elle dispose de :

2 Labels
Label1 : « Fichier : »
Label2 : « Description : »

2 Panels
Panel3D1(conteneur Liste)
Panel3D2 (conteneur boutons)

2 zones de liste
Liste1
Liste2

3 boutons
Command3D1
Command3D2
Command3D3

Nous procédons au codage des boutons, « le bouton Effacer »

Sub Command3D1_Click ( )
'Annule les initialisations :
'efface tout
For X% = 1 To 10
BaseDonnees$(X%) = "": InfosBDonnees$(X%) = ""
Next X%
'Reclasser les entrées non effacées
'(sans champs vides)
For X% = 0 To Liste1.ListCount - 1
'Entrée non effacée
If Liste1.Selected(X%) = False Then
'Marquée
'Reprendre les informations des champs de liste
Nombre% = Nombre% + 1
BaseDonnees$(Nombre%) = Liste1.List(X%)
InfosBDonnees$(Nombre%) = Liste2.List(X%)
End If
Next X%
Unload frmDelFile
End Sub

Le bouton « Infos générées »

Sub Command3D3_Click ( )
'Si les descriptifs des bases de données ne sont pas affichées intégralement, cette commande
'permet d'appeler l'information complète
'Nom de la base de données
frmName!Panel3D1.Caption = BaseDonnees$(Liste1.ListIndex + 1) + ".vsw"
'Descriptif de la base de données
frmName!Panel3D2.Caption = InfosBDonnees$(Liste1.ListIndex + 1)
'Longueur du fichier
frmName!Panel3D3.Caption = Str$(FileLen(App.Path + "\datas\" + frmName!Panel3D1.Caption)) + " Byte"
'Répertoire de travail
frmName!Panel3D4.Caption = App.Path + "\DATAS"
frmName.Show 1
End Sub

Le bouton « Quitter »

Sub Command3D2_Click ( )
Unload frmDelFile
End Sub

Codage des zones de liste

Sub Liste1_Click ( )
'La sélection du fichier conduit automatiquement à la sélection du descriptif
'Cale l'index de la liste
Liste2.ListIndex = Liste1.ListIndex
'Marquage de l'entrée correspondante
Liste2.Selected(Liste2.ListIndex) = True
'Remarque : le calage de la 2e liste est optimiste :
la liste n'est pas analysée pour l'effacement
End Sub

Sub Liste2_Click ( )
'La sélection du fichier conduit automatiquement à la sélection du descriptif
'Cale l'index de la liste
Liste1.ListIndex = Liste2.ListIndex
'Marquage de l'entrée correspondante
Liste1.Selected(Liste1.ListIndex) = True
'Remarque : le calage de la 1re liste est indispensable, car il permet de récupérer
'les entrées marquées
End Sub

Écriture de la procédure Form Load

Sub Form_Load ( )
'Affiche les bases de données et leurs descriptifs
For X% = 1 To 10
If BaseDonnees$(X%) <> "" Then
'Nom du fichier dans liste n° 1
Liste1.AddItem BaseDonnees$(X%)
'Descriptif dans liste n° 2
Liste2.AddItem InfosBDonnees$(X%)
End If
Next X%
'Centre la feuille à l'écran
CenterForm Me
End Sub

Prochain tutoriel

Code d'action de la feuille « frmFileOpen »