begin process at 2012 02 15 12:05:50
  Trouver un code source :
 
dans
 
Accueil > Forum > 

VB.NET et VB 2005

 > 

Divers

 > 

Débutants

 > 

"On Error..." marche pas !


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

"On Error..." marche pas !

mercredi 11 juin 2008 à 19:44:56 | "On Error..." marche pas !

PrinceSilk

Voila mon code, le principe, c'est que je Drop des dossiers depuis l'explorateur windows dans ma liste, qui ajoute non pas les dossiers mais le contenu des dossiers, en passant par une FileList

Private Sub List1_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, X As Single, Y As Single)
On Error GoTo 10
    Dim Dossier As Variant
    For Each Dossier In Data.Files
    File1.Path = Dossier
        For FichierEnCour = 0 To File1.ListCount - 1
        List1.AddItem File1.List(FichierEnCour)
        Next FichierEnCour
10  Next Dossier
End Sub

Bien sur, si je drop un fichier, le prog sort une erreur, car File1.Path=Dossier ne passe pas...
Avec mon On Error GoTo 10, ca passe l'erreur, mais seulement une fois : Si il y a 1 fichier parmis les objets Droppés, l'erreur va passer sans bloquer le programme qui passera au Dossier suivant, mais si il y a plusieurs fichiers parmis les objets Droppés, l'erreur passe bien sur le premier fichier, mais le programme plante à cause du 2em fichier...

"On Error..." ne protège que de la première erreur, pas des suivantes... Je comprend pas trop pourquoi...

Merci d'avance !
mercredi 11 juin 2008 à 19:55:19 | Re : "On Error..." marche pas !

Megafan

Salut,
'On error' en .NET, fais une recherche sur try et catch...
sinon si tu persistes avec on error, cherchesde l'aide sur resume.
et essaye de mettre des etiquettes plutot que des numeros de lignes genre 'gestion_erreur :'
ça me rapelle trop mon ZX81...
@+
Megafan
mercredi 11 juin 2008 à 20:14:01 | Re : "On Error..." marche pas !

bigfish_le vrai

Membre Club
Salut,

et comme ça:

Private Sub List1_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, X As Single, Y As Single)

    Dim Dossier As Variant
    For Each Dossier In Data.Files
    On Error Next GoTo 10
    File1.Path = Dossier
        For FichierEnCour = 0 To File1.ListCount - 1
        List1.AddItem File1.List(FichierEnCour)
        Next FichierEnCour
10  Next Dossier
End Sub

A+
mercredi 11 juin 2008 à 20:21:22 | Re : "On Error..." marche pas !

Megafan

Bigfish_le_vrai  > tu es sur de ton '

On

ErrorNextGoTo 10'

par ce que dans mon IDE ça me dit Error : 'Resume ou Goto' attendu....

@+
Megafan
mercredi 11 juin 2008 à 20:25:14 | Re : "On Error..." marche pas !

bigfish_le vrai

Membre Club
...
non,  effetivement c'est une erreur de VB6ste, je l'ai tapper trop machinalement quand je l'ai reecrit
L'idee c'etait surtout de montrer ou il remplirait le mieux sa fonction

encore desolé


mercredi 11 juin 2008 à 23:22:23 | Re : "On Error..." marche pas !

PrinceSilk

Bon, qqn aurait une autre idée?
Ou alors un moyen pour directement identifier la nature des objets droppés (savoir si c'est un dossier ou un fichier)

Merci !!
jeudi 12 juin 2008 à 08:43:59 | Re : "On Error..." marche pas !

Megafan

Re
Les idées....
Bein je te les ai données...
- Try , catch  : c'est la gestion d'erreur native du framework
- On error goto : tu oublies

Nature des objets droppés :
Tester si un dossier existe en .NET c'est if directory.Exists(chemin)

@+
Megafan


jeudi 12 juin 2008 à 11:41:11 | Re : "On Error..." marche pas !

Kevin.Ory

Comme le dit Megafan...

Try
        File1.Path = Dossier
        For FichierEnCour = 0 To File1.ListCount - 1
            List1.AddItem File1.List(FichierEnCour)
        Next FichierEnCour
Catch Ex As Exception
End Try


Et je te conseil de mieux déclarer tes variables:
- Dim Dossier As Variant Variant? C'est quoi? En 5 ans de .NET, j'ai jamais utilisé (je suppose que c'est un 'Object')
- For FichierEnCour As Integer = 0 To File1.ListCount - 1

Mais tu n'as effectivement pas besoin de faire un Try:

For Each Dossier As String In Data.Files
    If IO.Directory.Exists(Dossier) Then
        File1.Path = Dossier
        For Each File As String In File1.List
            List1.AddItem File
        Next FichierEnCour
    End If
Next Dossier



D'ailleur c'est IO.Directory.GetFiles pour retourner tous les fichiers d'un dossier.
jeudi 12 juin 2008 à 12:12:55 | Re : "On Error..." marche pas !

PrinceSilk

Bon, .NET ca à l'air cool mais je marche en VB6 moi, donc...
jeudi 12 juin 2008 à 12:15:06 | Re : "On Error..." marche pas !

PrinceSilk

Oui, je remarque que ma question s'est placée dans la partie .NET et VB5... bizard, pourtant j'avais selectionné VB6

1 2

Cette discussion est classée dans : fichier, erreur, dossier, error, file1


Répondre à ce message

Sujets en rapport avec ce message

"On Error..." marche pas !! [ par PrinceSilk ] Voila mon code, le principe, c'est que je Drop des dossiers depuis l'explorateur windows dans ma liste, qui ajoute non pas les dossiers mais le conten erreur lorsque un fichier n'est pas trové [ par lucky2222 ] le probleme, c'est quand je demande au prog de chercher un fichier, et qu'il le trouve, pas de probleme!si il ne le trouve pas, comme je lui ai mis:on Erreur lors de la suppression du fichier ou du dossier [ par kozher20 ] Bonjour à tousVoilà de temps en temps lorsque je veux supprimer un projet VB ou VB.NET sous Windows XP cela ne marche pas et j'ai le message d'erreur FileSystemObject [ par Goose17 ] Bonjour à tout le forum.J'ai réalisé un programme qui a pour but de changer l'état d'une variable ou de réaliser une actionsi un fichier de type EXCEL erreur pendant dézippage [ par pitof7 ] salut,après avoir téléchargé quelques fichiers .zip (ou .rar,..) j'ai remarqué qu'il y avait parfois un fichier dans l'archive compressée de taille '- Ouverture fichier + Assistant Recherche Windows en VBA [ par Stef864 ] STEF 864Je souhaiterais via une procédure rattachée à un menu ou icone dans excel, afficher un dossier ( toujours le meme ) ainsi quel'assistant de re Une recherche .... URGENT [ par Ethan0026 ] Bonjour,J'aimerai rechercher un fichier dans un dossier précis... Mais le problème est que je n'ai pas le nom de fichier completJe m'explique autremen Problème Erreur 62 [ par jacques13 ] Soit un fichier texte que je lis par groupes de 3 lignes.J'utilise la procédure While Not EOF/WendMalheureusement, il arrive que le fichier soit vérol erreur lecture fichier excell [ par ggbagas ] bonjour,J'ai un grand nombre de fichiers excell dont certains présentent des erreurs à l'ouverture. Je cherche un moyen de les identifier afin d'avert erreur "3343" format de base non reconnue,pour compacter une base [ par petchy ] bonsoirvoila, j'ai se code pour compacter ma base,mais j'ai toujours une erreur et il me surligne ( ligne rouge)erreur "3343" format de base non recon


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
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 : 0,889 sec (4)

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