Save sous VB6

cs_miriame Messages postés 40 Date d'inscription jeudi 11 août 2005 Statut Membre Dernière intervention 18 novembre 2005 - 24 août 2005 à 14:19
cs_miriame Messages postés 40 Date d'inscription jeudi 11 août 2005 Statut Membre Dernière intervention 18 novembre 2005 - 25 août 2005 à 10:34
bonjour
kelkun peut il m'aider svp
je souhaite sauvegarder un fichier que j'ai recupérer,et le mettre sous un repertoire(avec bien sur le chemin).
Merci de votre aide

12 réponses

violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
24 août 2005 à 14:38
salut
Explique toi mieux : ou est le fichier que tu veux sauvegarder, et ou veux tu le sauvegarder ?
@+
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
24 août 2005 à 15:11
il faut ajouter le composant Common Dialog Control














Private Sub Sauvegarde()


' si tu veux un répertoire de départ

' Commondialog1.InitDir = "c:\dossier"

CommonDialog1.Filter = "fichier texte(*.txt)|*.txt"


CommonDialog1.FilterIndex = 1


CommonDialog1.CancelError = True


' avertissement si fichier existe déjà

CommonDialog1.Flags = cdlOFNOverwritePrompt Or cdlOFNNoReadOnlyReturn


On Error GoTo Error


CommonDialog1.ShowSave


Open Commondialog1.FileName For Output As #1


' sauvegarde du fichier

' en supposant qu'il se trouve dans Buffer

Print#1, Buffer;

Close #1


Exit Sub


Error:


If Err = 32755 Then Exit Sub


MsgBox Err.Description & " (" & Err & ")", vbExclamation, "Save Erreur"


End Sub


Daniel
0
cs_miriame Messages postés 40 Date d'inscription jeudi 11 août 2005 Statut Membre Dernière intervention 18 novembre 2005
24 août 2005 à 15:14
salut violent_ken
en fait je m'explique mieux:je fais ce module endessous pour ouvrir les repertoires qui sont sous testREU ,il yen a 3:test1 test2 et test 3

###################
Dim rep As String
'obtient le premier fichier ou répertoire qui est dans "c:\testREU"
rep = Dir("c:\testREU\*.*", vbDirectory)
'boucle tant que le répertoire n'a pas été entièrement parcouru
Do While (rep <> "")

'teste si c'est un fichier ou un répertoire
If (GetAttr("c:\testREU " & rep) And vbDirectory) = vbDirectory Then
MsgBox "Répertoire " & rep
'Else
'MsgBox "Fichier " & rep
End If
'passe à l'élément suivant
rep = Dir
Loop
###################


je veux ensuite recuperer ces trois repertoires(test1 test2 test3) (je ne sais pas comment faire )et les sauvegarder dans un autre repertoire "D:\dossier"

voila
merci d'avance
0
cs_miriame Messages postés 40 Date d'inscription jeudi 11 août 2005 Statut Membre Dernière intervention 18 novembre 2005
24 août 2005 à 15:29
daniel

est ce que c sous VB6 que tu fais le programme????
0

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

Posez votre question
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
24 août 2005 à 15:31
Si j'ai bien compris, tu as un répertoire "c:\testREU" qui contient trois sous répertoires "test1","test2","test3" et tu veux pouvoir récupérer ces trois répertoires et les mettre dans "d:\dossier"

Ben alors essaie çà

'déclare la référence microsoft scripting runtime
Dim fs As New FileSystemObject

Private Sub Command1_Click()
Dim rep As String
'obtient le premier fichier ou répertoire qui est dans "c:\testREU"
rep = Dir("c:\testREU\*.*", vbDirectory)
'boucle tant que le répertoire n'a pas été entièrement parcouru
Do While (rep <> "")

'teste si c'est un fichier ou un répertoire
If (GetAttr("c:\testREU" & rep) And vbDirectory) = vbDirectory Then
MsgBox "Répertoire " & rep
If rep "test1" Or rep "test2" Or rep = "test3" Then fs.CopyFolder "c:\testREU" & rep, "d:\dossier" & rep
Else
'MsgBox "Fichier " & rep
End If
'passe à l'élément suivant
DoEvents
rep = Dir
Loop
End Sub

Je ne sais pas si çà répond à ta question...
@+
0
cs_miriame Messages postés 40 Date d'inscription jeudi 11 août 2005 Statut Membre Dernière intervention 18 novembre 2005
24 août 2005 à 15:47
oui cela fonctionne violent_kent
pourras tu me guider sil te plait pour recuperer tout les sous repertoire du repertoire "c:\testREU" ,au cas j'ai plus que de trois test et ensuite tous les copier dans le chemin "d:\dossier" .
J'ai comme meme un beug quand je fais le programme :""""""""file not found
je ne sais pas pourkoi?
0
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
24 août 2005 à 15:58
Essaie ce code :

'déclare la référence microsoft scripting runtime
Dim fs As New FileSystemObject

Private Sub Command1_Click()
Dim rep As String
'obtient le premier fichier ou répertoire qui est dans "c:\testREU"
rep = Dir("c:\testREU\*.*", vbDirectory)
'boucle tant que le répertoire n'a pas été entièrement parcouru
Do While (rep <> "")

'teste si c'est un fichier ou un répertoire
If (GetAttr("c:\testREU" & rep) And vbDirectory) = vbDirectory Then
MsgBox "Répertoire " & rep
If Not (rep "." Or rep "..") Then
'bah oui parce que l'algorithme dit qu'il existe un dossier s'appelant "." et un dossier s'appelant ".."
fs.CopyFolder "c:\testREU" & rep, "d:\dossier" & rep
End If
Else
'MsgBox "Fichier " & rep
End If
'passe à l'élément suivant
DoEvents
rep = Dir
Loop
End Sub

Concernant ton bug, je ne vois pas trop quand il se produit ?
@+
0
cs_miriame Messages postés 40 Date d'inscription jeudi 11 août 2005 Statut Membre Dernière intervention 18 novembre 2005
24 août 2005 à 16:05
en fait ,ca bug sur le la methode getattribute,il me retrouve le "." ensuite le ".." et tout de suite apres ca fait l'erreure .
0
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
24 août 2005 à 16:08
L'algorithme trouve en effet deux dossiers "." et ".."
C'est pourquoi j'ai rajouté If Not (rep "." Or rep "..") Then
Et essaie de mettre "On error resume next" après "Command1_click".
0
cs_miriame Messages postés 40 Date d'inscription jeudi 11 août 2005 Statut Membre Dernière intervention 18 novembre 2005
24 août 2005 à 16:21
merci beacoup violent_ken,ton aide ma ete precieuse,comment ca se fait ken rajoutant "error resume next" ca marche.
Merci bcp a nouveau

pourras tu me dire comment je recupere tous ces dossiers dans une variables buffer
0
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
24 août 2005 à 18:17
On error resume next signifie :
si il y a une erreur, on poursuit l'éxecution du code
Donc le programme ne s'arrête pas à la première erreur (qui ne gêne par ailleurs pas la suite du programme) et continue son éxécution normalement.
Voilà !
Et par rapport à ta variable Buffer, tu veux faire quoi exactement ?
0
cs_miriame Messages postés 40 Date d'inscription jeudi 11 août 2005 Statut Membre Dernière intervention 18 novembre 2005
25 août 2005 à 10:34
je te remercie c resolu
aurevoir
0
Rejoignez-nous