Bonjour,
Je vous écrit se message pour savoir comment faire pour, avec un SaveFileDialog, enregistrer une vidéo par exemple, vidéo déja crée.
Vola j'espère avoir été clair
(J'ai chercher dur et je vous écrit tout rouge)
;)
Version imprimable
Bonjour,
Je vous écrit se message pour savoir comment faire pour, avec un SaveFileDialog, enregistrer une vidéo par exemple, vidéo déja crée.
Vola j'espère avoir été clair
(J'ai chercher dur et je vous écrit tout rouge)
;)
Quel est l'interet de sauver un fichier deja existant ??
Une SaveFileDialog c'est fait pour sauvegarder un fichier qui n'existe pas à la base...
Utilise une OpenFileDialog pour ouvrir ta vidéo ;)
Je vous explique:
Le programme a 2 bouton un qui ouvre un fichier que se trouve dans le programme et le 2eme bouton est pour prendre le fichier qui est dans le prog est l'enregistrer sur son Pc Voyer vous ce que je veux dire????
:roll: :(
Le composant SaveFileDialog ne sert qu'à afficher une interface de choix d'un nom de fichier pour l'enregistrement. En aucun cas, il ne sauvegarde le fichier. Tout ce que tu peux obtenir de ce composant, c'est le nom de fichier sélectionné par l'utilisateur. Ensuite il t'appartient d'utiliser (ou non) ce nom de fichier pour ouvrir ou créer le fichier, et écrire les données dedans.
je n'est pas très bien compris tu peux être plus clair
Hmmm, je vais essayer.
Alors SaveFileDialog, si on traduit, ça y en a vouloir dire 'Boite de dialogue de sélection d'un emplacement de sauvegarde'. Cela veut dire ça ne sauvegarde pas ton fichier tout seul.
On l'utilise de cette manière (schématique) :
Comme dit c'est conceptuel, ne cherche pas à compiler. Mais c'est exactement cette logique.Code:
1
2
3
4
5
6
7
8
9 monSaveFileD = new SaveFileDialog(); monSaveFileD.ShowDialog(); String nomFichier = monSaveFileD.Filename; // Ensuite File.Open(nomFichier); File.Write(contenuDuFichier); File.Close();
Dans ce cas la crée un fichier puis écrit les données dedans puis ferme le fichier = sauvegarde manuelle.
Tu ne peux pas utiliser de SaveFileDialog
Oui ok sa va j'ai un peu compris mais comment je dois taper le code, je tente depuis 1h30 sans parvenir au résultat.Citation:
Envoyé par SaumonAgile
Je devien fou :evilred:
Et en plus j'ai l'impression d'être un :boulet:
j'ai peut être fais une bétise mais il me dit (il=Microsofte Visual Basic 2005 Ed Express) que:
Open n'est pas un element "String"
Write n'est pas un element "String"
Close n'est pas un element "String"
OU
Il me dis que File n'est pas déclaré
Si j'ai merder dites moi le que je parte au Parking des Boulet
:pleure:
Tien cadeau !
Pour convertir des données en tableau de bytes :Code:
1
2
3
4
5
6
7
8
9 Private Sub SaveFile(ByVal NomFichier As String, ByVal data As Byte()) Try Dim Stream As New IO.FileStream(NomFichier, IO.FileMode.Create, IO.FileAccess.Write) 'crée le fichier Stream.Write(data, 0, data.Length) 'ecris les données Stream.Close() 'ferme le flux Catch ex As Exception 'intercepte les erreurs MsgBox(ex.Message) End Try End Sub
Voila ! :king:Code:Dim dataByte As Byte() = System.Text.Encoding.UTF8.GetBytes("Salut ca va ??")
Bon courage
Voici le code qui affiche la boite de dialogue :
Le SaveFileDialog odfFichier est ajouté sur le formulaire avec le designer dans VS.Code:
1
2
3 String nomFichier = String.Empty; if (ofdFichier.ShowDialog() == DialogResult.OK) nomFichier = ofdFichier.FileName;
Oki merci c'est vraiment trop simpa.
Mais je sais pas si c'est moi qui m'exprime mal donc je vais retenter de le dire autrement:
Donc voila vous avez mon programme sous les yeux (imaginez :D ) et vous regarder des vidéo et vous vous dite tien celle ci je la veux et vous cliquez sur un bouton "Prendre cette vidéo" et HOP comme par magie (mais plus avec du code :) ) une fenètre s'ouvre et vous demende ou voulez vous mettre la vidéo.
Voila un jolie petit résumé.
Dois-je faire ça avec un SaveFileDialog ou avec autre chose.
Voila je crois que tout est bon maintenant je vais au parking :traine: pour me pendre.
C'est effectivement un SaveFileDialog, il permet de sélectionner un nom de fichier.Citation:
une fenètre s'ouvre et vous demende ou voulez vous mettre la vidéo
Oui tu utilses une SaveFileDialog ! Mais SEULEMENT pour récupérer le path de sortie 8-)Citation:
Envoyé par jockyboss777
Sinon tu va devoir créer ton fichier et ecrire les bytes de ta vidéo dans le fichier !
Cf mon code ci haut :mouarf:
Ok :king: mais un dernier truc comment je lui dis ou il est le fichier vidéo que je veux qu'il enregistre :calim2:Citation:
Envoyé par Aspic
J'ai beau chercher je ne trouve pas!!
Hein ??
Le fichier video tu sais ou il est ! puisqu'il est dans ton prog ^^
Je capte pas 8O
Oui mais je le met ou le code que tu m'à passer, passe que la le post que tu vien de m'envoyer me trouble un peu ???
8O :arf:
Car la vidéo est a part du prog en fait c'est lorsqu' on appuis sur un boton est WMP s'ouvre lisant la vidéo (WMP ou un autre)
On va essayer de comprendre pas à pas :
1) Ton fichier vidéo est ou ? (Internet, local sur pc de l'utilisateur, dans le programme)
2) Pourquoi veux tu utiliser une SaveFileDialog si le fichier est deja sur le pc en local ?
3) Que veux tu faires exactement et exprime toi clairement !
Après on avancera 8-)
1) Il est sur MON PC (c:\programmes\Projet\nom vidéo.mov)Citation:
Envoyé par Aspic
Mais on peut la voir en cliquant sur un bouton (qu'y ouvre le lecteur Quick Time)
2) Pour que lorsque la personne installera le prog sur son PC il peux enregistrer sur son Pc pour pouvoir la regarder sans qu'il est a ouvrir le prog !!! (je sais pas si je suis clair mais je ne trouve aucun autre moyen pour expliquer)
3)Je ne vois comment être plus claire je suis désolé mais bon... :bug:
Si je ne suis pas obliger utiliser un SaveFileDialog alors quesque je peux utiliser ???
Vouila :lol: 8-)
Dans ce cas la tu seras obliger de mettre ta video dans l'install de ton programme (et ca va faire gros !).
Quand l'autre l'installera sur son PC ton programme alors la video sera disponible dans le repertoire d'execution de ton programme et il pourra la voir sans probleme !
Donc pas besoin de SFV !
Oui mais sa c'est régler mais comment faire pour que la personne qui a visionnée la vidéo puisse la mettre dans son PC sans pour autant aller dans les fichier de mon prog ?????? :mrgreen:Citation:
Envoyé par Aspic
C'est impossible car tu m'a dis que la vidéo etait sur ton PC donc à mon d'aller cherche la vidéo par reseau sur ton PC c'est pas faisable...
Bien je vais reprendre calmement :mouarf:
Voila ma vidéo on peut y accédé par le proramme donc logiquement elle dois passer dans le Setup.
OK?
mais lorsque la personne va installer le setup la vidéo va aller quelque part dans son ordinateur.
OK?
Voila et moi je voudrai que la personne puisse enregistrer la vidéo autrepart que la ou elle est lors de l'intallation
OK?
Voila je croi que c'est bon (a moin que je me sois tronpé dans le premier paragraphe)
Merci Aspic tu es vraiment génial depuit que j'ai ouvert se sujet tu m'aide très bien ;) :mouarf:
P.S: J'espère que présenté sous cette forme c'est claire :mrgreen:
Exact bonne idée ! ca sert à rien de s'ennervé ^^Citation:
Envoyé par jockyboss777
Donc j'ai parfaitement compris (enfin :D) ton probleme.
Tu veux changer le chemin de destination de ta vidéo lors de l'installation de ton programme !
Donc tout dépens ou tu veux la mettre et explique moi pourquoi tu ne veux pas le chemin par defaut ?
YOUPI on peut avancé ^^Citation:
Envoyé par Aspic
Et bien je ne sait pas comment le dire:
Lorsque la personne qui aura installé le SETUP
Il voudra accédé directement a la vidéo sans avoir pour autant besoin de passer par le prog il voudra par exemple la mettre sur une clé USB
OK?
Bon, je sais plus comment expliquer^^
Et j'espère que tu as compris^^
Normalement quand tu crées ton Setup, tu ne peux pas changer le répertoire d'execution...
En fait, c'et l'utilisateur qui va choisir son répertoire et toi tes fichiers vont etre donc le repertoire d'execution automatiquement. Tu ne peux pas changer !
Par contre tu peux lorsque le mec ouvre ton programme mettre une InputBox avec "Ou voulez vous placer le fichier video ?" et puis tu fais un
et le tour est joué !Code:File.Move
OKI merci beaucoup, j'ai une autre question.
Est ce que c'est possible que en fait il puisse en faire une copy et la mettre dans son pc (l'ordi en fais une copi et lui ouvre une fenètre et lui dis : "Ou voulez-vous l'enregistrer ?"
Voila merci encore!!!
Oui c'est facile !!
Voila ++Code:
1
2
3
4
5
6
7
8
9 Private Sub Copier(ByVal Fichier As String) Try Dim Destination As String = InputBox("Ou voulez vous copier le fichier video ?") IO.File.Copy(Fichier, Destination) MsgBox("Fichier copié avec succes") Catch ex As EvaluateException MsgBox("Erreur lors de la copie : " & ex.Message) End Try End Sub
Et donc Je met ça dans SaveFileDialog, si j'ai bien comprisCitation:
Envoyé par Aspic
:yaisse2:
Non dans le load de ta form !
PARDON JE COMPREND PAS 8O (le language informatique :cry: je suis très débutant :cry: )Citation:
Envoyé par Aspic
Tu mets ce code dans l'evenement "load" (chargement) de ton formulaire windows (Form).
Comme ca lorsque l'utilisateur va ouvrir le programme, c'est le premier truc qui va s'executer !
En gros je le met comme ça en plein milieu de la page (dans un nouveau formulaire Windows):roll:
qui s'ouvre lors d'un clic sur le bouton "Chargement"
N'oublit pas de changer avec le nom de ta form !!
Code:
1
2
3
4
5
6
7
8
9
10
11
12 Private Sub Copier(ByVal Fichier As String) Try Dim Destination As String = InputBox("Ou voulez vous copier le fichier video ?") IO.File.Copy(Fichier, Destination) MsgBox("Fichier copié avec succes") Catch ex As Exception MsgBox("Erreur lors de la copie : " & ex.Message) End Try End Sub Private Sub F_Mail_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Copier(Application.StartupPath & "\MAVideo.avi") End Sub
Et donc si j'ai plusieur vidéo je met F-Mail_Load2 et ainsi de suiteCitation:
Envoyé par Aspic
Oulalalala
Non tu as combien de vidéo ??
EUHHH 2Chose a te dire
1er vvoici la réponce a ta question 4
2 voici le code que j'ai mis (je sais je suis lamentable a te poser toute ces question mais comme j'ai 2 site a créer et que j'aide le responsable informatique de mon collège je n'ai pas vraiment le temps de chercher)
Voila encore Merci pour tout ce que tu fais Aspic :king:Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Public Class Form15 Private Sub Copier(ByVal Fichier As String) Try Dim Destination As String = InputBox("Ou voulez vous copier le fichier video ?") IO.File.Copy(Fichier, Destination) MsgBox("Fichier copié avec succes") Catch ex As EvaluateException MsgBox("Erreur lors de la copie : " & ex.Message) End Try End Sub Private Sub F_Mail_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Copier(Application.StartupPath & "c:\Programmes\projets\Ombre_f.mov") End Sub End Class
Au fait j'ai tenter mon code il me surligne
IO.File.Copy(Fichier, Destination)
C'est pas normal je me suis trompé
4 vidéos et bah qdis ton setup va faire 500 Mo !!!!!
Il faut faire une boucle :
Code:
1
2
3
4
5
6
7
8
9
10
11 Private Sub F_Mail_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim Tab as new ArrayList 'declare un tableau Tab.Add("TonCheminCompletVersTonFichierVideo1") Tab.Add("TonCheminCompletVersTonFichierVideo2") Tab.Add("TonCheminCompletVersTonFichierVideo3") Tab.Add("TonCheminCompletVersTonFichierVideo4") For i as integer = 0 to Tab.Count - 1 'liste les elements Copier(Tab.Item(i).Tostring) next i End Sub
NON elle sont toute petiteCitation:
Envoyé par Aspic