Probleme listview

Fermé
papayou12 Messages postés 48 Date d'inscription mercredi 4 septembre 2013 Statut Membre Dernière intervention 12 juin 2014 - Modifié par papayou12 le 11/06/2014 à 17:05
Whismeril Messages postés 19029 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 26 avril 2024 - 12 juin 2014 à 21:17
Bonjour,
voila j'ai créer un explorateur de fichier comme dans windows
cela fonctionne très bien le souci c'est quand je double click sur un fichier pour l'ouvrir il me donne une erreur et je ne comprend vraiment pas pourquoi.
Private Sub Lv1_DoubleClick(sender As Object, e As EventArgs) Handles Lv1.SelectedIndexChanged
Process.Start(True)
End Sub
et voila l'erreur qu'il me retourne:

Une exception non gérée du type 'System.ComponentModel.Win32Exception' s'est produite dans System.dll

Informations supplémentaires : Le fichier spécifié est introuvable


merci d'avance pour votre aide

14 réponses

Whismeril Messages postés 19029 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 26 avril 2024 656
12 juin 2014 à 16:27
Hello, plusieur points:

d'abord de façon générale, si tu ne sais pas répondre à nos questions alors j'en déduis que tu débuttes tout juste.
Je ne peux que te conseiller de mettre ce projet de coté, le temps d'apprendre les bases du langage, de l'environnement, de la programmation orientée objet etc.
Il y a de très bons tutos sur le Site du Zéro, par exemple.

Pour ton problème:
Si au moment du bug, filePath vaut "896 Bytes\µTorrent", alors jamais Process.Start() ne pourra fontcionner.
si j'écris
Process.Start("toto.txt") 
, le programme va demander à Windows d'ouvrir le fichier toto.txt avec l'application par défaut associée à l'extension .txt (souvent notepad)
si j'écris
Process.Start("C:\...\Word.exe", "toto.txt") 
, alors le programme va demander à Windows de lancer word et d'ouvrir le fichier avec.

Dans ton cas le paramétre n'estr ni un fichier, ni un programme, rien d'exploitable pour process.Start.
Le problème ne vien tdonc pas de là mais des données rentréees dans la listeview
1
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 344
11 juin 2014 à 18:30
Bonjour,

En VB6, VBA, VB.net ??
Tu poses ta question dans le forum "Générique"... tu ne nous as pas précisé le lange concerné...

Merci de nous l'indiquer que je déplace ton sujet au "bon" endroit du forum.

Pour ton souci....
http://msdn.microsoft.com/fr-fr/library/0w4h05yb%28v=vs.110%29.aspx

0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
11 juin 2014 à 18:44
J'ai déplacé le sujet, le code correspondant à du .NET.
0
papayou12 Messages postés 48 Date d'inscription mercredi 4 septembre 2013 Statut Membre Dernière intervention 12 juin 2014
11 juin 2014 à 19:40
ok merci c'est du vb.net
0
papayou12 Messages postés 48 Date d'inscription mercredi 4 septembre 2013 Statut Membre Dernière intervention 12 juin 2014
11 juin 2014 à 19:46
je ne comprend pas car dans le lien que tu ma donner il m'explique pour une appli en particulier moi c'est pour m'importe quelle programme
0
Whismeril Messages postés 19029 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 26 avril 2024 656
Modifié par Whismeril le 11/06/2014 à 21:33
Bonsoir, le lien que Jordanne t'a donné est l'aide en ligne de la méthode Processus.Start.

Il y est écrit que l'argument de cette méthode doit être un string ou plusieur string ou un PorcessInfo représentant le chemin d'une application ou d'un fichier.
Or tu a mis dans ton code
Process.Start(True)
, ici l'argument est un bool.


Posté depuis CCM Live forum pour iPhone/iPad
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
papayou12 Messages postés 48 Date d'inscription mercredi 4 septembre 2013 Statut Membre Dernière intervention 12 juin 2014
11 juin 2014 à 20:49
ok merci je vais regarder encore mais bon je ne comprend rien et je vous tien au courant
0
papayou12 Messages postés 48 Date d'inscription mercredi 4 septembre 2013 Statut Membre Dernière intervention 12 juin 2014
11 juin 2014 à 20:52
j'ai compris pour ouvrir un fichier ou dossier précis mais pour ouvrir divers fichier dans mon dossier mes documents par exemple je n'y arrive pas
0
papayou12 Messages postés 48 Date d'inscription mercredi 4 septembre 2013 Statut Membre Dernière intervention 12 juin 2014
11 juin 2014 à 22:53
j'ai essayer autre chose mais sa me mais toujours un message d'erreur.

For Each file As ListViewItem In Lv1.Items
Dim filePath As String = file.SubItems(1).Text & "\" & file.Text
If file.Selected = True Then
If DialogResult.Yes Then
Process.Start(filePath)
ElseIf DialogResult.No Then

End If
End If
Next
Dim lvi As ListViewItem = Lv1.HitTest(e.Location).Item
If lvi IsNot Nothing Then
Process.Start(lvi.SubItems(1).Text)
End If
le message es sa ce niveau la :
Process.Start(filePath)

message d'erreur :
Une exception non gérée du type 'System.ComponentModel.Win32Exception' s'est produite dans System.dll

Informations supplémentaires : Le fichier spécifié est introuvable


je suis désespérer merci d'avance
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 344
11 juin 2014 à 23:02
File.Text ???
.txt serait sûrement mieux non ?
0
papayou12 Messages postés 48 Date d'inscription mercredi 4 septembre 2013 Statut Membre Dernière intervention 12 juin 2014
12 juin 2014 à 09:31
je ne sais pas je vais regarder sa et je te tien au courant
0
papayou12 Messages postés 48 Date d'inscription mercredi 4 septembre 2013 Statut Membre Dernière intervention 12 juin 2014
12 juin 2014 à 09:37
cela ne fonctionne pas il me mes le meme message d'erreur
0
Whismeril Messages postés 19029 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 26 avril 2024 656
12 juin 2014 à 09:57
Bonjour, peux tu mettre le contenu des tes variables quand l'apllication bugue (filePath, file.SubItems(1).Text, file.Text, etc...)?
0
papayou12 Messages postés 48 Date d'inscription mercredi 4 septembre 2013 Statut Membre Dernière intervention 12 juin 2014
12 juin 2014 à 10:12
Private Sub Lv1_MouseDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Lv1.MouseDoubleClick
For Each file As ListViewItem In Lv1.Items
Dim filePath As String = file.SubItems(1).Text & "\" & file.Text
If file.Selected = True Then
If DialogResult.Yes Then
Process.Start(filePath)*
ElseIf DialogResult.No Then

End If
End If
Next
Dim lvi As ListViewItem = Lv1.HitTest(e.Location).Item
If lvi IsNot Nothing Then
Process.Start(lvi.SubItems(1).Text)
End If
End Sub

*Une exception non gérée du type 'System.ComponentModel.Win32Exception' s'est produite dans System.dll

Informations supplémentaires : Le fichier spécifié est introuvable

je l'ai déja mis plus haut
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 344
12 juin 2014 à 10:29
je l'ai déja mis plus haut
Ce n'est pas ça qu'a demandé Whism.

Ce qu'il a demandé c'est ... au moment du plantage ... que valent tes différentes variables ????
peux tu mettre le contenu des tes variables quand l'apllication bugue (filePath, file.SubItems(1).Text, file.Text, etc...)


Au cas où...As tu essayé de mettre un point d'arrêt dans ton programme puis à l'exécuter en mode pas à pas (F11) ??
Tu peux aussi ajouter du Debug.print pour afficher la valeur de tes variables dans la fenêtre de sortie..ou.. au pire.. mettre des Msgbox... mais quoi que tu choisisses.. pour comprendre ce qui bloque..il faut que tu puisse connaitre la valeur de tes différentes variables !
0
papayou12 Messages postés 48 Date d'inscription mercredi 4 septembre 2013 Statut Membre Dernière intervention 12 juin 2014
Modifié par papayou12 le 12/06/2014 à 15:23
dsl je ne vois pas ce que vous voulais dire par ce que valent mes différentes variable si vous voulez bien m'expliquer je suis preneur si cela peut me permettre de me perfectionner
0
papayou12 Messages postés 48 Date d'inscription mercredi 4 septembre 2013 Statut Membre Dernière intervention 12 juin 2014
12 juin 2014 à 15:24
car la je suis bloquer depuis un bon moment et je ne sais plus par ou regarder
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 344
12 juin 2014 à 15:31
C'est la base de la programmation....
Tu mets un POINT D'ARRET dans ton programme au niveau de ta listview
Tu passes ton curseur sur tes différentes variables pour savoir quelles valeurs elles ont...

Regardes ce lien... c'est expliqué :
http://plasserre.developpez.com/cours/vb-net/?page=debogage#LXII-C
0
papayou12 Messages postés 48 Date d'inscription mercredi 4 septembre 2013 Statut Membre Dernière intervention 12 juin 2014
12 juin 2014 à 15:38
ok je vais regarder cela merci mais cela ne résout pas mon problème
0
Whismeril Messages postés 19029 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 26 avril 2024 656
12 juin 2014 à 18:01
Bonsoir,

écrire un explorateur n'est pas forcément un projet pour un débutant.
Je ne peux que te conseiller d'assoir tes bases.

Ce tuto http://fr.openclassrooms.com/informatique/cours/apprenez-a-programmer-en-vb-net#.U5nOKBZaJcg va te permettre de bien cerner l'environnement et tout un tas de notions qui semblent te manquer.

Ne te méprends pas, mon constat n'est pas une critique acerbe, mais plutôt constructive, il ne faut pas mettre la charrue avant les boeufs.
0
papayou12 Messages postés 48 Date d'inscription mercredi 4 septembre 2013 Statut Membre Dernière intervention 12 juin 2014
12 juin 2014 à 18:20
je sais pas de soucis ce que je veux dire c'est que moi j'apprends avec du concret j'ai un bute pour mon programme et je cherche pour le réaliser et dés que j'ai trouver j'étudie le code je le comprend et après je l'adapte a mon projet voila comment je fonction mais merci quand meme pour ton aide
0
Whismeril Messages postés 19029 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 26 avril 2024 656
12 juin 2014 à 18:26
Mauvais pari, quand on te demande quels sont les contenus des tes variables tu ne sais pas répondre, c'est le B À BA pour debuguer. Et donc pour programmer...
Quand je te dis que le paramètre de la fonction n'est pas du bon type (c'est le deuxième truc qu'on apprends si on le fait dans l'ordre) tu ne comprends pas ce que je te demande....

Je suis aussi autodidacte, au début, j'ai aussi dit donnez moi du concret, mais je me suis trouver coincé parce que certaines basses m'échappaient et j'ai du tout reprendre à zéro!

Mais bon à toi de voir, entre passer 2 semaines sur les bases et revenir à ton projet. Ou y arriver tant bien que mal et ne pas pouvoir finir le deuxième ou le troisième projet.
0
papayou12 Messages postés 48 Date d'inscription mercredi 4 septembre 2013 Statut Membre Dernière intervention 12 juin 2014
12 juin 2014 à 18:36
ok je vois je vais suivre tes conseils merci beaucoup
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 344
Modifié par jordane45 le 12/06/2014 à 18:50
Bon... je vais essayer une dernière fois...
je vient de test sa ne marche pas toi ce que tu me dit de faire c'est d'ouvrir en gros un explorateur ce que je ne veux pas

Windows + R Ouvre le menu EXECUTER ( ne pas confondre avec Windows + E qui ouvre..lui.. un explorateur ! )
C'est juste pour que comprenes...
Ceci n'a rien à voir avec ton code à proprement parlé ... juste pour l'exemple :
Fais widnows + R .
Dans la fenêtre qui s'ouvre tape un nom de fichier .... par exemple : monfichier.txt puis valide....
Que se passe t'il ?? ... il te jette ... car ile ne connait pas le fichier ou qu'il ne sait pas où le trouver.
Maintenant... ( places dans le dossier c:\tmp un fichier text toto.txt ) et tapes dans le menu EXECUTER le chemin COMPLET : c:\tmp\toto.txt .... que se passe t'il ? ....>>> Il ouvre ton fichier.

Ce que j'essaie de t'expliquer.... c'est que dans ton code... dans le process.start ... il faut lui donner un chemin VALIDE ....que ton windows est capable de comprendre !

 

DIm directory as String = "c:\\tmp\\"
Dim fichier as String= "toto.txt"
Dim filepath as String= directory & fichier
process.start(filePath) 
.....marchera..


J'espère que cette fois c'est assez clair....

Sinon.. je ne vois pas comment reformuler autrement. :-(
.






Avant de poser une question, merci de lire la charte du site.
Cordialement, Jordane
0
papayou12 Messages postés 48 Date d'inscription mercredi 4 septembre 2013 Statut Membre Dernière intervention 12 juin 2014
12 juin 2014 à 19:08
je vois ce que tu veux dire je vais essayer merci je te tien au courant
0
Whismeril Messages postés 19029 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 26 avril 2024 656
12 juin 2014 à 19:11
Ce à quoi j'ajoute que "896 Bytes\µTorrent" est une entrée incompréhensible pour la méthode Process.Start(), le problème vient de tes données d'entrée
0
papayou12 Messages postés 48 Date d'inscription mercredi 4 septembre 2013 Statut Membre Dernière intervention 12 juin 2014
12 juin 2014 à 19:22
ok je vois sa merci
0
papayou12 Messages postés 48 Date d'inscription mercredi 4 septembre 2013 Statut Membre Dernière intervention 12 juin 2014
12 juin 2014 à 19:32
j'ai tester ton truc cela fonctionne mais que pour un fichier précis
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 344
12 juin 2014 à 19:38
...Qu'est ce que appelles un fichier PRECIS ???
0
Whismeril Messages postés 19029 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 26 avril 2024 656
12 juin 2014 à 21:17
Bon, là ça tourne au dialogue de sourd tellement tu réponds à côté de la plaque.

On ne va pas y arriver, il te faut acquérir les bases.
Avant de faire des dérivées partielles et des développement limités, il faut savoir faire une addition.

Je ferme ce sujet en écriture.

Lit attentivement le tuto que je t'ai mis plus haut, teste tous les codes proposés et ensuite reviens à ton projet et à ce moment je pense qu'on parlera le même langage et qu'enfin on t'apportera une aide constructive.
0
Rejoignez-nous