ba le titre é assez explicatif j'pens non ?? bon sa marche sous windows 98 apres ché po...ya p'tete meme surement + simple mé bon...c deja sa
pas de proje désolé g une pour inseré un fichier zip
Source / Exemple :
Option Explicit
' Récupérer le chemin du dossier temporaire
Declare Function GetTempPath Lib "kernel32" Alias "GetTempPathA" (ByVal nBufferLength As Long, ByVal lpBuffer As String) As Long
' Créer un nom de fichier temporaire
Declare Function GetTempFileName Lib "kernel32" Alias "GetTempFileNameA" (ByVal lpszPath As String, ByVal lpPrefixString As String, ByVal wUnique As Long, ByVal lpTempFileName As String) As Long
' Créer un fichier
Public Declare Function CreateFile Lib "kernel32" Alias "CreateFileA" (ByVal lpFileName As String, ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long, ByRef lpSecurityAttributes As SECURITY_ATTRIBUTES, ByVal dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, ByVal hTemplateFile As Long) As Long
' Fermer un fichier
Public Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
' Supprimer un fichier
Public Declare Function DeleteFile Lib "kernel32" Alias "DeleteFileA" (ByVal lpFileName As String) As Long
Public Type SECURITY_ATTRIBUTES
nLength As Long
lpSecurityDescriptor As Long
bInheritHandle As Long
End Type
' Valeur si il y a une erreur
Public Const INVALID_HANDLE_VALUE = -1
' bé d constante mé j'vé po tout expliké kan meme
Public Const GENERIC_WRITE = &H40000000
Public Const GENERIC_READ = &H80000000
Public Const FILE_SHARE_READ = &H1
Public Const FILE_SHARE_WRITE = &H2
Public Const CREATE_NEW = 1
Public Const CREATE_ALWAYS = 2
Public Const OPEN_EXISTING = 3
Public Const OPEN_ALWAYS = 4
Public Const TRUNCATE_EXISTING = 5
Public Const FILE_ATTRIBUTE_ARCHIVE = &H20
Public Const FILE_ATTRIBUTE_COMPRESSED = &H800
Public Const FILE_ATTRIBUTE_NORMAL = &H80
Public Const FILE_ATTRIBUTE_HIDDEN = &H2
Public Const FILE_ATTRIBUTE_READONLY = &H1
Public Const FILE_ATTRIBUTE_SYSTEM = &H4
Public Const FILE_FLAG_WRITE_THROUGH = &H80000000
Public Const FILE_FLAG_OVERLAPPED = &H40000000
Public Const FILE_FLAG_NO_BUFFERING = &H20000000
Public Const FILE_FLAG_RANDOM_ACCESS = &H10000000
Public Const FILE_FLAG_SEQUENTIAL_SCAN = &H8000000
Public Const FILE_FLAG_DELETE_ON_CLOSE = &H4000000
Public Const FILE_FLAG_BACKUP_SEMANTICS = &H2000000
Public Const FILE_FLAG_POSIX_SEMANTICS = &H1000000
Public Function CréerFichierTemp(ByRef messErr As String, ByRef NomFichierTemp As String, ByRef HandleFichierTemp As Long, Optional FermerFichier As Boolean = True) As Boolean
' Créer un fichier temp dans le dossier temp de win
' messErr = message en cas d'erreur
' NomFichierTemp = nom du fichier .tmp
' HandleFichierTemp = handle du fichier .tmp
' FermerFichier = Fermer le fichier ou non
On Error GoTo messErrTemp
Static bufferLength As Long
Static prefix As String * 3 ' préfixe du fichier temp (heu la on me la dit donc j'lé mit mais g po trop compris skeu c T
Dim DossierTemp As String ' dossier temp
Dim NomFichTemp As String ' fichier temp
Dim SecurityAttribute As SECURITY_ATTRIBUTES
Dim HandleFichTemp As Long ' handle fichier temp
Dim HandleFich As Long ' handle fichier temp crée
SecurityAttribute.nLength = Len(SecurityAttribute)
SecurityAttribute.bInheritHandle = True
SecurityAttribute.lpSecurityDescriptor = 0
bufferLength = 50
prefix = "CHM"
DossierTemp = Space$(50)
NomFichTemp = Space$(100)
CréerFichierTemp = False
' récupération du dossier temp avec l'api GetTempPath
If GetTempPath(bufferLength, DossierTemp) = 0 Then
Form1.Print "Impossible de trouver le chemin du répertoire temporaire !"
Exit Function
End If
If GetTempFileName(Mid$(DossierTemp, 1, InStrRev(DossierTemp, "\")), prefix, 0, NomFichTemp) = 0 Then
messErr = "Impossible de créer le fichier temporaire."
Exit Function
End If
NomFichTemp = Mid$(NomFichTemp, 1, InStrRev(NomFichTemp, ".tmp", , vbTextCompare) + 3)
NomFichierTemp = NomFichTemp
' création du fichier
HandleFich = CreateFile(NomFichTemp, 0, 0, SecurityAttribute, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, HandleFichTemp)
If HandleFich = INVALID_HANDLE_VALUE Then
messErr = "Impossible de créer le fichier temporaire."
Exit Function
End If
HandleFichierTemp = HandleFich
If FermerFichier Then
' fermeture du fichier
If CloseHandle(HandleFich) <> 1 Then
messErr = "Fermeture du fichier impossible. Handle : " & HandleFich
Exit Function
End If
End If
CréerFichierTemp = True
Exit Function
messErrTemp:
messErr = "Erreur : " & Err.Description
End Function
Conclusion :
po de bug en vue encor mé si vous en trouvé dite le...
pour le niveau chavé pas trop ou l'mettre dc g mit le 2
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.