Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

GÉNÉRATEUR DE RÉPERTOIRES


Information sur la source

Catégorie :Fichier / Disque Source .NET ( DotNet ) Classé sous : générateur, répertoire Niveau : Débutant Date de création : 14/03/2007 Date de mise à jour : 26/03/2007 18:27:33 Vu / téléchargé: 5 245 / 488

Note :
Aucune note

Commentaire sur cette source (5)
Ajouter un commentaire et/ou une note

Description

Cliquez pour voir la capture en taille normale
Petite application héritée de VB6 et convertie en VB 2005. Générateur de répertoires jusqu'à 20 combinaisons de sous-répertoires. Sauvegarde de la config dans la base de registres. Création de dossiers avec contrôle si existant. Affichage des répertoires.
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

26 mars 2007 14:40:04 :
Nouvelle version améliorée (merci MHenry), mais c'e n'est encore pas tout à fait çà: comment créer un tableau de TextBox proprement afin de pouvoir l'exploiter avec des boucles For...Next (nouvelle classe?)?
26 mars 2007 18:27:33 :
Bon, voilà-voilà, la sources est plus propre MAIS toujours héritée de la même applic en VB6...... car je na'i pas encore tout pigé sur les tableaux d'objets et leur usage ;-|

Commentaires et avis

signaler à un administrateur
Commentaire de NHenry le 14/03/2007 12:38:13

Bonjour,

Dans FormApp.vb, j'ai vu que tu fais plusieurs fois le même code pour la même chose :

Private Sub TextDir_TextChanged(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles TextDir1.TextChanged,TextDir2.TextChanged 'à toi de compléter
    Dim lTxt as TextBox=directcast(sender,TextBox)
'        On Error Resume Next 'PAS DE ON ERROR en VB.NET
    try
        If Me.IsInitializing = True Then
            Return
        Else
            TmpChar = VB.Right(lTxt.Text, 1)
            TextFilter()
            lTxt.Text = VB.Left(lTxt.Text, Len(lTXT.Text) - 1) + TmpChar
            lTxt.SelectionStart = Len(lTxt.Text)
        End If
    Catch ex as Exception
    End Try
End Sub


A la place de tes SubDir1, SubDir2, ... utilise un tableau : Public SubDir(20)

Ne déclare des variables externe à ta classe (un form est une classe) qui si c'est strictement nécessaire.

Tu peux placer tes textbox dans un tableau pour y accéder plus facilement.

l'API MakeSureDirectoryPathExists est inutile, utilise IO.Directory.* 'regarde la doc

Met Option Strict à On, et transtype avec DirectCast, CType, TryCast

Recode ta foction TextFilter :

Private Function TextFilter() As String
    dim lReplace () as string=new string(){",",":","/";"<",">","*",".","+","-","?","!","%"}
    For Each lStr as String in lReplace
        TmpChar = Replace(TmpChar, lStr, "")
    Next
    Return TmpChar
End Function

Ta fonction DirectoryExist est inutile : IO.Directory.Exists

PAS DE GOTO DANS UNE APPLICATION VB.NET ni VB6 d'ailleur
Utilise Exit, Continue, Return à la place

Bon c'est déjà pas mal (mais pas fini, j'ai mon train à prendre), rebosse tout ça et reposte le tout.

signaler à un administrateur
Commentaire de Bitmapking le 14/03/2007 16:08:49

Merci pour les remarques.

On Error est toujours supporté par VB2005:
Visual Basic 2005
Dans Visual Basic 2005, vous pouvez appeler des procédures avec l'instruction Call et l'instruction GoSub n'est pas prise en charge. Vous pouvez exécuter plusieurs branchements avec les instructions Select...Case et les constructions On ... GoSub et On ... GoTo ne sont pas prises en charge. Toutefois, Visual Basic 2005 prend encore en charge l'instruction On Error.

C'est bien pratique quand on a un code existant...

OK pour le tableau SubDir, mais je voulais garder la compatibilité avec une structure existante de la base de registres.

Pour le reste, merci des conseils :-)

signaler à un administrateur
Commentaire de Drikce06 le 15/03/2007 09:44:55

Salut en VB2005 utilisation de try catch ... au lieu de GoTo etc.
Sinon l'idée de la source est bonne d'autant plus qu'il y a pas longtemps je me suis tappé une vingtaine de répertoire à créer!

signaler à un administrateur
Commentaire de NHenry le 15/03/2007 12:09:51

Bonjour,

Que Goto ou On Error soit toujours supporté pas VB.NET2 m'est indiférent, VB offre des méthodes plus simples et plus claires pour les utiliser (Continue, Exit, Return; Try Catch).

Ce n'est pas futile, regarde sur VBFrance les source en .NET en général, tu trouvera tres tres rarement une source avec un GTOT ou On Error.

signaler à un administrateur
Commentaire de NHenry le 27/03/2007 12:54:29

Bonjour,

Un conseil, poste un message quand tu met à jour, sinon on risque de ne rien voir.

Je repart :
- VB.Right(TextDir(i).Text, 1)
équivalent à
TextDir(i).Text.SubString(0,1)
C'est plus framwork

- Un peu de code qui ne sert à rien
    Catch ex As Exception
        Exit Sub 'Ligne inutile, tu peux la retirer.
    End Try
End Sub

- Regarde du coté de IO.Path pour les caractères interdis dans les noms de dossier/fichier.

- #  Private Function DirectoryExist(ByRef MyDir As String) As Boolean
est inutile, IO.Directory.Exists fait le même chose.

- Beaucoup de For i = 0 To 19
au lieu de 19 utilise SubDir.Count-1

- Utilise une structure ou un contrôle personnalisé pour
# SubDir(i) =
# TextDir(i).Text =
# Check1(i).CheckState =

public Structure SFrmItem
    public SubDir as String
    public TextDir as TextBox
    public Check as CheckBox
    public sub New(byval pSubDir as string,byval pText as TexBox, byval pCheck as CheckBox)
        SubDir=pSubDir
        TextDir=pText
        Check=pCheck
    End sub
end structure

Puis au lieu de
#  Private SubDir(20) As String
,
private mLstDir as new list(of SFrmItem)

Dans le Load :
mLstDir.add(new SFrmItem("Dir",_TextBox_1, _Check1_1))
mLstDir.add(new SFrmItem("Dir",_TextBox_2, _Check1_2))
...

Comme cela tu sera plus souple (passage de 20 à 15 éléments, 5 lignes à supprimer et c'est tout.

- Met : Option Strict On !!!!!!!!!!!!!!!

- Utilises les 3 ', ''' pour documenter tes méthodes et tes attributs.

Sinon, je note que ton code est plus concis, plus lisible, même s'il peut encore être améliorer.

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Récupérer le répertoire windows automatiquement [ par Snake ] Bonjour à tousDans un programme VB4, j'utilise la fonction GetWindowsDirectory qui me renvoie le répertoire de windows.Malheureusement, une fois passé Savoir si un répertoire est partager ?? [ par J-Marc ] Est-ce qu'il est possible de savoir par une API si un répertoire ou un fichier est partagé ? Si ce partage est en accès complet, lecture ou écriture ? Savoir si un répertoire est partagé ?? [ par amstel ] Est-ce qu'une API permet de savoir si un répertoire est partagé et les propriétés du partage ? (lecture/Accès complet). Merci Copie ou Déplacement d'un répertoire [ par Stef ] Comment déplacer ou copier le contenu d'un répertoire vers un autre répertoire ? Supprimer un répertoire plein de fichiers ! [ par Jonef ] J'aimerais bien pouvoir supprimer un répertoire contenant des fichiers et des sous-répertoires sans avoir à supprimer les sous répertoires un par un.M savoir si un repertoire existe [ par jeje ] j'ai besoin de savoir si un répertoire existe pour le créer ou non.Pour créer le répertoire c'est mkdir "nomrep" mais pour savoir si il existe ??? sécuriser un répertoire de donnée [ par fab ] Bonjour à tous, Je travaille actuellement au développement d'une application SIG (avec MapObject2 et Visual Basic6). Celle ci va être installée sur un "Surveiller un répertoire" [ par yves ] je sais qu'il existe une api qui permet d'etre "averti" quand un répertoire (son contenu) est modifié...mais je ne me rappelle plus quelle api c'est, Générateur d'aide [ par Karine ] Bonjour, Je recherche un moyen pour fabriquer des fichiers *.hlp. Je sais qu'il existe des freeware permettant de transformer un fichier doc en fichie Répertoire d adresse sur VB [ par nelly ] je suis étudiante en SI, et je n arrive pas a faire un cas sur VB, peux tu m aider ?Il s agit de la création d un répertoire d adresse et nous avons 3


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,889 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.