Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1675 connectés 

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Suivante
Auteur Sujet :

Problème pour quitter un tableau dynamique d'images

n°933338
olivier857
Posté le 28-12-2004 à 23:29:22  profilanswer
 

Reprise du message précédent :
Bon alors dans mon programme juste apres la ligne:

Code :
  1. nom_photo = File1.List(f)


j'ai rajouté :

Code :
  1. nom_img(i) = nom_photo    'avec dim nom_img(100) as string


Et dans mon bouton supprimer tout (j'ai commencer par celui, il me parrait plus simple car j'ai pas besoin de prendre en compte les picturebox sélectionné puisque je supprime tout) j'ai mis le code suivant :

Code :
  1. poubelle = App.Path & "\mulitimedia\poubelle\" & patient & "\"
  2. For t = 1 To i
  3.    chemin_img = App.Path & "\multimedia\images\" & patient & "\" & theme & "\" & nom_img(t)
  4.    FileCopy chemin_img, poubelle & nom_img(t)
  5.    Kill chemin_img
  6. Next t


 
Bon voila j'ai un problème ligne 4 quand je click sur le bouton supprimer tout, Vb me dit "chemin introuvable".
Mais j'ai vérifié les chemins source et destination sont correct.


Message édité par olivier857 le 28-12-2004 à 23:40:43
mood
Publicité
Posté le 28-12-2004 à 23:29:22  profilanswer
 

n°933342
olivier857
Posté le 28-12-2004 à 23:32:40  profilanswer
 

Et voici le code du bouton supprimer, mais l'erreur et la même :

Code :
  1. poubelle = App.Path & "\mulitimedia\poubelle\" & patient & "\"
  2. For t = 1 To i
  3.     If contour(t).Visible = True Then
  4.          chemin_img = App.Path & "\multimedia\images\" & patient & "\" & theme & "\" & nom_img(t)
  5.          FileCopy chemin_img, poubelle & nom_img(t)
  6.          Kill chemin_img
  7.      End If
  8. Next t


 
Bon biensur j'ai déclarer poubelle dans un modulle:

Code :
  1. Global poubelle as string


Message édité par olivier857 le 28-12-2004 à 23:42:22
n°933374
Profil sup​primé
Posté le 29-12-2004 à 01:12:02  answer
 

poubelle = App.Path & "\mulitimedia\poubelle\" & patient & "\"
 
chemin_img = App.Path & "\multimedia\images\" & patient & "\" & theme & "\" & nom_img(t)  
 
c'est multimedia ou mulitimedia ?


Message édité par Profil supprimé le 29-12-2004 à 01:12:36
n°933379
olivier857
Posté le 29-12-2004 à 01:31:23  profilanswer
 

Oups kel con, je suis zéro sur le cou là.
Merci!
Le pire c'est que je me suis relus plusieurs fois sans le voir.

n°933389
olivier857
Posté le 29-12-2004 à 02:11:03  profilanswer
 

Bon maintenant autre chose, j'ai une page qui s'apelle creer_modifier qui me permet apres avoir choisi un patient de rajouter ou supprimer des thèmes ou encore ajouter des photos a un thème.
Or j'ai un soucis sur le bouton Suprimer un thème, voici le code de ce bouton.

Code :
  1. Private Sub cmd_sup_theme_Click()
  2.     Dim i As Integer, chemin_img As String
  3.    
  4.     If liste_themes.Text = "" Then
  5.         MsgBox "Vous n'avez pas choisi de thème", vbExclamation
  6.     Else:
  7.         theme = liste_themes.Text
  8.         'Chemin des images
  9.         File1.Path = App.Path & "\multimedia\images\" & patient & "\" & theme
  10.        
  11.         For i = 0 To File1.ListCount - 1
  12.             nom_photo = File1.List(i)
  13.             chemin_img = App.Path & "\multimedia\images\" & patient & "\" & theme & "\" & nom_photo
  14.             Kill chemin_img
  15.         Next i
  16.        
  17.         RmDir "multimedia\images\" & patient & "\" & liste_themes.Text
  18.        
  19.         chemin = App.Path & "\multimedia\images\" & patient & "\"
  20.              
  21.         recherche = Dir$(chemin & "*.*", vbDirectory)
  22.              
  23.         liste_themes.Clear
  24.        
  25.         Do While recherche <> ""
  26.            
  27.             If (recherche <> "." And recherche <> ".." ) Then
  28.                
  29.                 If (GetAttr(chemin & recherche) And vbDirectory) Then
  30.                          
  31.                     nom_dossier = recherche
  32.                     liste_themes.AddItem nom_dossier
  33.                          
  34.                 End If
  35.                  
  36.             End If
  37.              
  38.             recherche = Dir$()
  39.             DoEvents
  40.            
  41.         Loop
  42.        
  43.     End If
  44.    
  45. End Sub


liste_themes est une FileListBox et le code qui est après le rmdir me permet de la remettre a jour apres suppretion du thème (ca ca marche).
 
Le problème survient sur le rmdir lorsque j'essaye de supprimer un thème qui contient des images, si il n'en contient pas ca marche.  
Je sais que le rmdir ne permet pas de supprimer un dossier qui contient des fichiers, mais comme tu peut le voir j'ai pris soin avant le rmdir de supprimer les fichiers(photos) présent dans le dossier (thèmes).
Pour information l'erreur qui survient est "erreur dans le chemin d'acces" et d'autres part apres verifications dans le dossier je constate que les photos sont bien supprimées.
 
Je pense que le rmdir n'a pas le temps de se rendre compte que les photos ont était supprimées et donne une erreur, puisque le code marche pour un dossier vide. Mais je ne vois pas comment éviter ca.


Message édité par olivier857 le 29-12-2004 à 02:15:32
n°933545
Profil sup​primé
Posté le 29-12-2004 à 13:36:57  answer
 

RmDir App.path & "\multimedia\images\" & patient & "\" & liste_themes.Text  
 
 
tu as oublié App.path , mais bon il était 2h du mat :D
 
sinon tu peut mettre une boucle Do..Loop qui compte le nombre de fichiers dans le repertoire à supprimer et qui ne s'arrete que quand le nombre de fichiers =0


Message édité par Profil supprimé le 29-12-2004 à 13:40:44
n°933638
olivier857
Posté le 29-12-2004 à 16:24:59  profilanswer
 

Bon alors ce n'est même pas une question de 2heure du mat, je ne l'ai pas mis car il n'y en a pas besoin avec ou sans, le rmdir se situe par defaut en App.path.
Et de toute facon il fonctionne puisqu'il merde que quand il y a des photos dans le repertoire.
Ca ne vient donc pas  de la.

n°934493
olivier857
Posté le 31-12-2004 à 01:53:45  profilanswer
 

Bon je vais essayer de mettre une pause entre ma boucle et le rmdir car je suppose que le rmdir et attaqué pendant la copie ou suppression de mon dernier fichier. Ma merde viens peut etre de la !

n°934925
olivier857
Posté le 01-01-2005 à 18:29:47  profilanswer
 

Ca y est j'ai mis une pause dans mon code juste avant le rmdir:
 

Code :
  1. Sleep 20000 ' Attend 20 secondes


En declarant avant dans un module l'api sleep de windows :

Code :
  1. Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)


 
Résultat ca ne marche toujours pas : erreur de chemin au niveau du rmdir
 
J'ai l'impresion que le rmdir ne supporte pas qu'on supprime le contenu du dossier qui va etre supprimé dans la même procedure que celle ou il éxécuté.   (ici la pocédure click de mon bouton)

n°937405
olivier857
Posté le 04-01-2005 à 23:50:22  profilanswer
 

C'est bon ca marche enfin, pour cela j'ai utilisé la fonction delete du FileSystemOject au lieu du Rmdir, tout en laissant juste avant une boucle qui copie tous mes fichiers dans le repertoire poubelle.

mood
Publicité
Posté le 04-01-2005 à 23:50:22  profilanswer
 

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Suivante

Aller à :
Ajouter une réponse
 

Sujets relatifs
Invocation dynamique de méthodeprobleme htaccess
probleme avec type date et heureProbleme avec Firefox
Problème avec EASY PHP[C#/MHTML] affichage images dans mail
[VBA Excel] [Résolu] Problème de librairies de fonctions vbatri d'un tableau d'objet suivant une relation d'ordre
Problème redirection avec headerComment regler un probleme d'impression ?
Plus de sujets relatifs à : Problème pour quitter un tableau dynamique d'images


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR