Copier un fichier dans un buffer ....

cs_niluje Messages postés 90 Date d'inscription mardi 2 avril 2002 Statut Membre Dernière intervention 2 décembre 2004 - 15 juil. 2004 à 10:36
cs_niluje Messages postés 90 Date d'inscription mardi 2 avril 2002 Statut Membre Dernière intervention 2 décembre 2004 - 16 juil. 2004 à 08:51
Je cherche à créer un fichier (jusque la rien d'anormal)
mais en fait avant de le créer je souhaiterai le mettre dans un buffer pour le garder en mémoire sans pour autant l'écrire.

Comment est ce que je pourrai faire pour capter le flux et le mettre dans un buffer, j'ai cherché sur le forum mais je n'ai pas trouvé ce que je souhaitais.

SI vous avec un lien ou une source ..

meci d'avance
*°*°*°*°*°*°*°*°*°*°*°*°*°*°*°*°*°*°*°*°*
Et croyez moi bientot, les flics auront du boulot, il n'y aura plus que la folie, la joie et l'Anarchie >:)
http://www.salestymbanques.net

9 réponses

Tilois Messages postés 721 Date d'inscription dimanche 10 juin 2001 Statut Membre Dernière intervention 27 mars 2011 7
15 juil. 2004 à 10:45
Quel est ton type de fichier? Tu peux par exemple avoir un tabelau de string qui va contenir toutes les lignes de ton fichier. Tu veux capter quel flux exactement ?
0
cs_niluje Messages postés 90 Date d'inscription mardi 2 avril 2002 Statut Membre Dernière intervention 2 décembre 2004
15 juil. 2004 à 11:07
en fait je veux décrypter un fichier, et au lien de le décrypter sous forme de fichier texte (car c'est un fichier texte pour répondre à ta première question ;) et bien je souhaite le récupérer dans un flux pour ensuite l'exploiter dans mon appli
*°*°*°*°*°*°*°*°*°*°*°*°*°*°*°*°*°*°*°*°*
Et croyez moi bientot, les flics auront du boulot, il n'y aura plus que la folie, la joie et l'Anarchie >:)
http://www.salestymbanques.net
0
Tilois Messages postés 721 Date d'inscription dimanche 10 juin 2001 Statut Membre Dernière intervention 27 mars 2011 7
15 juil. 2004 à 13:56
Et bien tu charges ton fichier dans un tableau de string. Tu le décryptes et après tu utilises ton tableau de string pour faire ce que tu as a faire !
0
cs_niluje Messages postés 90 Date d'inscription mardi 2 avril 2002 Statut Membre Dernière intervention 2 décembre 2004
15 juil. 2004 à 14:09
justement je n'arrive pas à charger en tant que fichier le flux de sortie de ma fonction de décryptage.

*°*°*°*°*°*°*°*°*°*°*°*°*°*°*°*°*°*°*°*°*
Et croyez moi bientot, les flics auront du boulot, il n'y aura plus que la folie, la joie et l'Anarchie >:)
http://www.salestymbanques.net
0

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

Posez votre question
Tilois Messages postés 721 Date d'inscription dimanche 10 juin 2001 Statut Membre Dernière intervention 27 mars 2011 7
15 juil. 2004 à 15:02
C'est quoi ta fonction ?
Normalement elle peux traiter des strings non ?
0
cs_niluje Messages postés 90 Date d'inscription mardi 2 avril 2002 Statut Membre Dernière intervention 2 décembre 2004
15 juil. 2004 à 15:59
merci du temps que tu passes ...

entre temps j'ai trouvé une oslution alternative .. en créant physiquement le fichier sur le disque pis je l'ouvre ensuite en le recupérant dans un TextBuffer mais je penque qu'on(je) peut mieux faire ...

voila mon code ...
'Ici il s'agit en fait d'une finction d'un algo de cryptage/decryptage trouvé ici mm sur le réseau CS
Public Function decrypt2(Fichier As String, MotPasse As String)
    Dim fs As Integer ', fd As Integer
    Dim OS As Byte, OD As Byte
    Dim PtrMotPasse As Integer
    Dim CheckSumMP As Long
    Dim i As Double
    Dim cle As Byte
    Dim Header As String * 19
    ' Init pointeur clé de cryptage à 1
    PtrMotPasse = 1
    ' Ouverture fichier source
    fs = FreeFile
    Open Fichier For Binary Access Read As fs
    Get #fs, , Header
    ' Vérif checksum clé de cryptage
    For i = 1 To Len(MotPasse)
        CheckSumMP = CheckSumMP + Asc(Mid$(MotPasse, i, 1))
    Next i
    If CheckSumMP <> Val(Mid$(Header, 10, 10)) Then
        MsgBox "Decryptage Echoué !"
        Close fs
        Exit Function
    End If
    ' Ouverture fichier destination
    'Kill FichierCible
    'fd = FreeFile
    'Open FichierCible For Binary Access Write As fd
    ' Sablier
    
    'rajout de ma part
    Dim s As String
    s = ""
    
    Screen.MousePointer = 11
    ' Boucle sur le fichier source ( -entete)
    For i = 0 To LOF(fs) - 1 - 19
        Get #fs, , OS
        cle = 255 - Asc(Mid$(MotPasse, PtrMotPasse, 1))
        If (CInt(OS) - CInt(cle)) < 0 Then
            OD = CInt(OS) - CInt(cle) + 256
        Else
            OD = OS - cle
        End If
'####ici on écrivait dans un fichier
        'Put #fd, , OD
'####mais moi je ctpck ds un String
        s = s + Chr(OD)
        PtrMotPasse = PtrMotPasse + 1
        If PtrMotPasse > Len(MotPasse) Then
            PtrMotPasse = 1
        End If
    Next i
    'Fermeture des fichiers

'###c'est la ou les pb commencent ...
'avec cette String je souhaiterai la mettre en Input d'un arbre DOM XML (par le biais d'Stream)
'Mais je n'arrive pas à convertir String => Stream et ensuite à prendre le Stream en input de mon arbre dom mais je ne pense que ca soir faisable
    'Creation du fichier temporraire
    Set fsys = CreateObject("Scripting.FileSystemObject")
    Set MonFic = fsys.CreateTextFile("d:\Log.xml")
    MonFic.writeline s

    'Close fd
    'Dim fil As File
    Dim s1 As String
    'Set fsys = CreateObject("Scripting.FileSystemObject")
    Dim Fil As File
    Dim TStreamText As TextStream
    fsys.OpenTextFile ("D:\Log.xml")
    Set Fil = fsys.GetFile("D:\Log.xml")
    Set TStreamText = Fil.OpenAsTextStream(ForReading)
    
    s1 = TStreamText.ReadAll
    'MsgBox s1
    'MsgBox s
    'Remise en placede la souris normale
    Screen.MousePointer = 0
    
    documentXML.async = False
    documentXML.Load "D:\Log.xml"
    
    'lstAppli.Text = ""
    
    Set APPLICATIONS = documentXML.selectNodes("//APPLICATIONS/APPLICATION")
    For Each APPLICATION In APPLICATIONS
        lstAppli.AddItem (APPLICATION.selectSingleNode("@nom").Text)
    Next
    'lstAppli.ListIndex = 0
End Function


*°*°*°*°*°*°*°*°*°*°*°*°*°*°*°*°*°*°*°*°*
Et croyez moi bientot, les flics auront du boulot, il n'y aura plus que la folie, la joie et l'Anarchie >:)
http://www.salestymbanques.net
0
cs_niluje Messages postés 90 Date d'inscription mardi 2 avril 2002 Statut Membre Dernière intervention 2 décembre 2004
15 juil. 2004 à 16:00
merci du temps que tu passes ...

entre temps j'ai trouvé une oslution alternative .. en créant physiquement le fichier sur le disque pis je l'ouvre ensuite en le recupérant dans un TextBuffer mais je penque qu'on(je) peut mieux faire ...

voila mon code ...
'Ici il s'agit en fait d'une finction d'un algo de cryptage/decryptage trouvé ici mm sur le réseau CS
Public Function decrypt2(Fichier As String, MotPasse As String)
    Dim fs As Integer ', fd As Integer
    Dim OS As Byte, OD As Byte
    Dim PtrMotPasse As Integer
    Dim CheckSumMP As Long
    Dim i As Double
    Dim cle As Byte
    Dim Header As String * 19
    ' Init pointeur clé de cryptage à 1
    PtrMotPasse = 1
    ' Ouverture fichier source
    fs = FreeFile
    Open Fichier For Binary Access Read As fs
    Get #fs, , Header
    ' Vérif checksum clé de cryptage
    For i = 1 To Len(MotPasse)
        CheckSumMP = CheckSumMP + Asc(Mid$(MotPasse, i, 1))
    Next i
    If CheckSumMP <> Val(Mid$(Header, 10, 10)) Then
        MsgBox "Decryptage Echoué !"
        Close fs
        Exit Function
    End If
    ' Ouverture fichier destination
    'Kill FichierCible
    'fd = FreeFile
    'Open FichierCible For Binary Access Write As fd
    ' Sablier
    
    'rajout de ma part
    Dim s As String
    s = ""
    
    Screen.MousePointer = 11
    ' Boucle sur le fichier source ( -entete)
    For i = 0 To LOF(fs) - 1 - 19
        Get #fs, , OS
        cle = 255 - Asc(Mid$(MotPasse, PtrMotPasse, 1))
        If (CInt(OS) - CInt(cle)) < 0 Then
            OD = CInt(OS) - CInt(cle) + 256
        Else
            OD = OS - cle
        End If
'####ici on écrivait dans un fichier
        'Put #fd, , OD
'####mais moi je ctpck ds un String
        s = s + Chr(OD)
        PtrMotPasse = PtrMotPasse + 1
        If PtrMotPasse > Len(MotPasse) Then
            PtrMotPasse = 1
        End If
    Next i
    'Fermeture des fichiers

'###c'est la ou les pb commencent ...
'avec cette String je souhaiterai la mettre en Input d'un arbre DOM XML (par le biais d'Stream)
'Mais je n'arrive pas à convertir String => Stream et ensuite à prendre le Stream en input de mon arbre dom mais je ne pense que ca soir faisable
    'Creation du fichier temporraire
    Set fsys = CreateObject("Scripting.FileSystemObject")
    Set MonFic = fsys.CreateTextFile("d:\Log.xml")
    MonFic.writeline s

    'Close fd
    'Dim fil As File
    Dim s1 As String
    'Set fsys = CreateObject("Scripting.FileSystemObject")
    Dim Fil As File
    Dim TStreamText As TextStream
    fsys.OpenTextFile ("D:\Log.xml")
    Set Fil = fsys.GetFile("D:\Log.xml")
    Set TStreamText = Fil.OpenAsTextStream(ForReading)
    
    s1 = TStreamText.ReadAll
    'MsgBox s1
    'MsgBox s
    'Remise en placede la souris normale
    Screen.MousePointer = 0
    
    documentXML.async = False
    documentXML.Load "D:\Log.xml"
    
    'lstAppli.Text = ""
    
    Set APPLICATIONS = documentXML.selectNodes("//APPLICATIONS/APPLICATION")
    For Each APPLICATION In APPLICATIONS
        lstAppli.AddItem (APPLICATION.selectSingleNode("@nom").Text)
    Next
    'lstAppli.ListIndex = 0
End Function


*°*°*°*°*°*°*°*°*°*°*°*°*°*°*°*°*°*°*°*°*
Et croyez moi bientot, les flics auront du boulot, il n'y aura plus que la folie, la joie et l'Anarchie >:)
http://www.salestymbanques.net
0
Tilois Messages postés 721 Date d'inscription dimanche 10 juin 2001 Statut Membre Dernière intervention 27 mars 2011 7
15 juil. 2004 à 20:41
Je ne vois pas d'autre explication que celle que tu as proposée, étant donné que pour exploiter le fichier qui est un xml tu as besoin de l"écrire sur le disque! A moins bien sur de traiter les ligne xml avec une fonction de ton crus, qui ne passerait elle pas par le disque dur!
0
cs_niluje Messages postés 90 Date d'inscription mardi 2 avril 2002 Statut Membre Dernière intervention 2 décembre 2004
16 juil. 2004 à 08:51
ok merci de ton aire je vais y arriver ...
je vais passer par des fichier temporaires que je vais supprimer tout de suite après leur création c'est pas très propre mais si ca marche ... tant mieux
*°*°*°*°*°*°*°*°*°*°*°*°*°*°*°*°*°*°*°*°*
Et croyez moi bientot, les flics auront du boulot, il n'y aura plus que la folie, la joie et l'Anarchie >:)
http://www.salestymbanques.net
0
Rejoignez-nous