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.

Image non disponible

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"

 
Sélectionnez
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 information 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és"

 
Sélectionnez
Sub Command3D3_Click ( )
	'Si les descriptifs des bases de données ne sont pas affichés 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"

 
Sélectionnez
Sub Command3D2_Click ( )
	Unload frmDelFile
End Sub

Codage des zones de liste

 
Sélectionnez
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 2ème liste est optimiste : 
	la liste n'est pas analysée pour l'effacement
End Sub
 
Sélectionnez
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 1ère liste est indispensable car il permet de récupérer
	' les entrées marquées
End Sub

Ecriture de la procédure Form Load

 
Sélectionnez
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  1
			Liste1.AddItem BaseDonnees$(X%)
			'Descriptif dans liste  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"