begin process at 2012 02 16 08:17:10
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Fichier / Disque

 > GÉNÉRATEUR DE RÉPERTOIRES

GÉNÉRATEUR DE RÉPERTOIRES


 Information sur la source

Note :
Aucune note
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é :6 582 / 525

Auteur : Bitmapking

Ecrire un message privé
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

Les Membres Club peuvent 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 ;-|

 Sources du même auteur

Source avec Zip ACTIVEX_NEWBUTTON
Source avec Zip ACTIVEX TEXTNUM / AJOUT DE LA PROPRIÉTÉ ENABLED
Source avec Zip ACTIVEX APPLIWIEWER
Source avec Zip ACTIVEX OPENAPP

 Sources de la même categorie

Source avec Zip Source .NET (Dotnet) MODIFIER LES EXTENSION DES FICHIERS par okosa
ROUTINE DIR RÉCURSIVE POUR OBTENIR LA LISTE DE TOUS LES FICH... par kerisolde
Source avec Zip Source avec une capture FILE,SECURITY,FICHIER par okosa
Source avec Zip Source avec une capture Source .NET (Dotnet) PATCHEUR DE FICHIER par tototh
Source avec Zip Source avec une capture LECTURE DES INFORMATIONS DES DISQUES COMPOSANT UN ENSEMBLE R... par jack

 Sources en rapport avec celle ci

ROUTINE DIR RÉCURSIVE POUR OBTENIR LA LISTE DE TOUS LES FICH... par kerisolde
[OOBASIC] DIRLIST - FONCTION LISTE DES FICHIERS / RÉPERTOIRE... par pifou25
Source avec Zip Source avec une capture [VBA] L4BY, GÉNÉRATEUR DE LABYRINTHES ET JEU DE RÔLE par Softmama
Source avec Zip CHUCK NORRIS par Softmama
Source avec Zip Source avec une capture GÉNÉRATEUR DE TOURNOIS À ÉTAGE. par saigneurdushi

Commentaires et avis

Commentaire de NHenry le 14/03/2007 12:38:13 administrateur CS

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.

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 :-)

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!

Commentaire de NHenry le 15/03/2007 12:09:51 administrateur CS

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.

Commentaire de NHenry le 27/03/2007 12:54:29 administrateur CS

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

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,839 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales