Extraire un fichier en ressource et le copier sur l'ordinateur

Soyez le premier à donner votre avis sur cette source.

Snippet vu 6 258 fois - Téléchargée 7 fois

Contenu du snippet

    ''' <summary>
    ''' Extrait une ressources
    ''' </summary>
    ''' <param name="pResName">Nom de la ressource</param>
    ''' <param name="pDirDest">Dossier de destination</param>
    ''' <remarks></remarks>
    Public Sub ExtractRessource(ByVal pResName As String, ByVal pDirDest As String)
        Try
            Dim lSrc As IO.Stream = Reflection.Assembly.GetExecutingAssembly.GetManifestResourceStream(pResName)
            If lSrc Is Nothing Then Exit Sub
            Dim lFileName As String = IO.Path.Combine(pDirDest, pResName.Substring(pResName.IndexOf("."c) + 1))
            'Fichier déjà existant ?
            If IO.File.Exists(lFileName) AndAlso MD5(lFileName) = MD5(lSrc) Then
                lSrc.Close()
                Exit Sub
            End If
            lSrc.Close()
            lSrc = Reflection.Assembly.GetExecutingAssembly.GetManifestResourceStream(pResName)
            Dim lDst As IO.FileStream = IO.File.Open(lFileName, IO.FileMode.Create)
            Dim lData(1024) As Byte
            Dim lLng As Integer = 1024
            Do While lSrc.Position < lSrc.Length
                If (lSrc.Length - lSrc.Position) < lLng Then lLng = CInt((lSrc.Length - lSrc.Position))
                lSrc.Read(lData, 0, lLng)
                lDst.Write(lData, 0, lLng)
                lDst.Flush()
            Loop
            lSrc.Close()
            lDst.Close()
        Catch ex As Exception
#If DEBUG Then
            Debug.Print(ex.ToString)
            Stop
#End If
        End Try
    End Sub

Compatibilité : VB 2005

A voir également

Ajouter un commentaire

Commentaires

Robin233
Messages postés
3
Date d'inscription
dimanche 5 octobre 2014
Statut
Membre
Dernière intervention
9 octobre 2014
-
nul, y a juste à faire: System.IO.File.WriteAllBytes("folder", My.Resources.miaou)
NHenry
Messages postés
14504
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
20 juillet 2019
131 > Robin233
Messages postés
3
Date d'inscription
dimanche 5 octobre 2014
Statut
Membre
Dernière intervention
9 octobre 2014
-
La grosse différence, c'est que le nom de la ressource peut être renseigné dynamiquement et non statiquement.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.