seltsam
Messages postés38Date d'inscriptionvendredi 23 février 2007StatutMembreDernière intervention31 mars 2009
-
13 sept. 2007 à 04:00
seltsam
Messages postés38Date d'inscriptionvendredi 23 février 2007StatutMembreDernière intervention31 mars 2009
-
27 sept. 2007 à 18:20
Quelqu'un peut m'expliquer comment ouvrir un fichier .txt qui est dans les ressources avec VB Express 2005 ? J'ai déjà chercher a plusieurs places et essayer des dizaines de chose mais rien ne marche. En gros, je voudrait mettre le fichier Le-Fichier.TXT dans les ressources et en appuyant sur un bouton ceci ouvre ce fichier. Je suis capable de l'ajouter au ressources et tout mais je n'arrive pas a trouver comme le faire ouvrir. Je crois qu'il faut d'abords le charger en mémoire et ensuite le faire ouvrir mais je ne sais pas comment le faire. Quelqu'un pourrait m'aider.
Merci
Bon, puisque tu semble vouloir extraire des multiples fichiers de ton application, il vaut mieux faire la fonction a tout faire :
Private Sub SaveRessourceToFile(ByVal FileName As String, ByVal ResName As String)
Dim ResX As New System.Resources.ResourceManager("WindowsApplication1.Resources", _
System.Reflection.Assembly.GetCallingAssembly())
Dim ResObj As Object = ResX.GetObject(ResName)
If ResObj.GetType() Is GetType(Byte()) Then
Dim ResBytes() As Byte = CType(ResObj, Byte())
Using FS As New System.IO.FileStream(FileName, IO.FileMode.Create)
FS.Write(ResBytes, 0, ResBytes.Length)
FS.Close()
End Using
ResBytes = Nothing
ElseIf ResObj.GetType() Is GetType(System.IO.Stream) Then
Using SR As New System.IO.StreamReader(CType(ResObj, System.IO.Stream))
Using SW As New System.IO.StreamWriter(FileName)
SW.Write(SR.ReadToEnd())
SW.Close()
End Using
SR.Close()
End Using
ElseIf ResObj.GetType() Is GetType(String) Then
Using SW As New System.IO.StreamWriter(FileName)
SW.Write(ResObj.ToString())
SW.Close()
End Using
Else
Throw New System.Exception(String.Format("A implémenter : Sauvegarde depuis un {0}", _
ResObj.GetType()))
End If
ResObj = Nothing
End Sub, ----
(Coloration syntaxique automatique par Kenji)
Pour l'utiliser :
Call SaveRessourceToFile("Chemin/de/ton/fichier.exe", "NomDeTaRessource")
Pour le "A implémenter : Sauvegarde depuis un {0}", tu n'as rien a faire. C'est si j'ammais le type de la ressource est autre qu'un Stream, une String ou un tableau de bytes.
__________
Kenji
(
Vous n’avez pas trouvé la réponse que vous recherchez ?
seltsam
Messages postés38Date d'inscriptionvendredi 23 février 2007StatutMembreDernière intervention31 mars 2009 13 sept. 2007 à 20:55
Je l'ai ajouté en allant dans les propriétés du projet et en allant dans ressources. Ensuite j'ai cliqué sur Ajouter un fichier existant et je l'ai ajouté.
Pour ce qui est de "My.ressources.NomDeLaRessource" j'avais déja trouvé ça mais je fais quoi avec ??? J'ai essayer bien des choses mais ça me donnais toujours la meme erreur. Genre une valeur string ne peut etre convertie en tableau de niveau 1 ou quelque chose du genre. Bref... ça ne marchait pas.
seltsam
Messages postés38Date d'inscriptionvendredi 23 février 2007StatutMembreDernière intervention31 mars 2009 13 sept. 2007 à 23:17
Ok ça règle cettre erreur mais je n'y arrive toujours pas . Est-ce que vous pourriez me donner (ou m'expliquer pour que je le trouve par moi-meme) une partie du code. Seulment pour copier le fichier de la ressource sur le disque dur(ou le mettre en mémoire). A partir de la je devrait être capable de le faire exécuter.
Merci
seltsam
Messages postés38Date d'inscriptionvendredi 23 février 2007StatutMembreDernière intervention31 mars 2009 13 sept. 2007 à 23:39
J'ai chercher un peu et pour copier je dois utiliser "Imports System.IO
" au début mais a chaque fois ça me dit "Erreur de syntaxe.
" Quelqu'un a une idée pourquoi ça fait cela.
Merci
Une ressource (ou un fichier) est un tas d'octets. Une extension sur un fichier sert juste à le classer. Le contenu d'un fichier reste le même que se soit un .txt, .bat, .docx, .sln, .ext ...
Donc ou est le problème ?
seltsam
Messages postés38Date d'inscriptionvendredi 23 février 2007StatutMembreDernière intervention31 mars 2009 24 sept. 2007 à 20:07
Ok mais quand c'est un .exe parcontre ce n'est pas la meme chose parce que si tu l'ouvre avec Notepad c'est tout plein de caractere bizzare.
Mais bon... le probleme c'est que j'arrive a copier le .bat mais il n'a plus la meme quantité d'octets donc il ne marche plus. Comment je peu le copier pour qu'il soit identique a l'original.
Merci