IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

Sauvegarde contenus combobox


Sujet :

VB 6 et antérieur

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 612
    Points : 338
    Points
    338
    Par défaut Sauvegarde contenus combobox
    Bonjour,

    j'ai dans mon programme 2 listbox a enregistrè a chaque fin de programme.

    j'ai donc "lstDefinition" et "lstMot"

    j'ai mis en place le code d'ecriture dans "Form/Terminate" et le code de lecture dans 1 Bouton

    je lance le programme, j'y insert des valeurs, je ferme, je vais voir mes 2 fichiers(lstDefinition.lst et lstMot.lst) deja je suis surpris car il sont vide(0Ko). je relance, chargement et la avec moins de surprise rien....

    le problème viens donc de l'écriture. je comprend le code et je vois pas d'ou pourrais provenir l'erreur...

    merci a vous

    PS: la diference est que j'utilise Write au lieu de Print et je n'ai pas utilise EOF(je sais pas a quoi il sert)

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 730
    Points : 876
    Points
    876
    Par défaut
    Bonjour,

    EOF = End Of File.

    Voyons un peu de ce code !

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 612
    Points : 338
    Points
    338
    Par défaut
    code d'ecriture qui s'execute a la fermeture de l'unique feuille du programme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    Private Sub Form_Terminate()
    'Lecture du nombre d'objet dans les listes
    NbreDef = lstDef.ListCount
     
    'Sauvegarde des variables
    Open App.Path & "\" & "save.txt" For Append As #1
    Write #1, NFaute; NBien;
    Close #1
     
    'Sauvegarde de la liste de definition
    Open App.Path & "\" & "Definition.lst" For Append As #2
    Close #2
    Open App.Path & "\" & "Definition.lst" For Output As #2
    For i = 0 To lstDef.ListCount - 1
        lstDef.ListIndex = i
        Write #2, lstDef.Text
    Next
    Close #2
     
    'Sauvegarde de la liste de mot
    Open App.Path & "\" & "Mot.lst" For Append As #3
    Close #3
    Open App.Path & "\" & "Mot.lst" For Output As #3
    For i = 0 To lstMot.ListCount - 1
        lstMot.ListIndex = i
        Print #3, lstMot.Text
    Next
    Close #3
     
    End Sub
    code de lecture contenu pas 1 bouton de commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    Private Sub cmdChargement_Click()
    'Chargement des variables
    Open App.Path & "\" & "save.txt" For Input As #1
    Input #1, NFaute, NBien
    Close #1
     
    'Chargement de la liste de definition
    Open App.Path & "\" & "Definition.lst" For Input As #2
    For i = 0 To NbreDef - 1
        Input #2, Tempo$
        lstDef.AddItem (Tempo$)
    Next
    Close #2
     
    'Chargement de la liste de mot
    Open App.Path & "\" & "Mot.lst" For Input As #3
    For i = 0 To NbreDef - 1
        Input #3, Tempo$
        lstMot.AddItem (Tempo$)
    Next
    Close #3
     
    'Redistribution du focus
    If optTest.Value = True And optParam.Value = False Then
        txtRep.SetFocus
    ElseIf optParam.Value = True And optTest.Value = False Then
        txtMot.SetFocus
    End If
     
    End Sub

  4. #4
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Juste pour ne pas mourir idiot...

    Ca sert à quoi ton
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Open App.Path & "\" & "Definition.lst" For Append As #2
    Close #2
    juste avant le Open For Output?
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 612
    Points : 338
    Points
    338
    Par défaut
    A la 1er exection les fichiers de sauvegarde n'existe pas
    OutPut ne fait que de l'écriture et Append crèè si le fichier n'existe pas

    1er execution:
    ouverture lecture seul et creation
    fermeture
    ouverture en ecriture seul

    N-iéme execution:
    ouverture lecture seul
    fermeture
    ouverture en ecriture seul

  6. #6
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Un Open For Output crée le fichier s'il n'existe pas...

    Edit: Et pas seulement s'il n'existe pas.
    Merci delbeke de m'avoir corrigé.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  7. #7
    Membre expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Points : 3 696
    Points
    3 696
    Par défaut
    Nan, c'est pas comme çà que ca marche
    L'ouverture en OutPut écrase le fichier s'il existe déjà et en crée un nouveau
    L'ouverture en Append ouvre un fichier existant ou en cree un nouveau s'il n'existe pas. Les ecritures dans le fichier se feront apres la fin du fichier existant.
    Donc, dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    'Sauvegarde de la liste de definition
    Open App.Path & "\" & "Definition.lst" For Append As #2
    Close #2
    Open App.Path & "\" & "Definition.lst" For Output As #2
    For i = 0 To lstDef.ListCount - 1
        lstDef.ListIndex = i
        Write #2, lstDef.Text
    Next
    Close #2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Open App.Path & "\" & "Definition.lst" For Append As #2
    Close #2
    ne sert strictement à rien.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Open App.Path & "\" & "Definition.lst" For Output As #2
    Ecrase le fichier App.Path & "\" & "Definition.lst" et en recréée un nouveau completement vide.
    En général, on ne demande de conseils que pour ne pas les suivre ou, si on les a suivis, reprocher à quelqu'un de les avoir donnés
    (ALEXANDRE DUMAS)

    N'hésitez pas à visiter ma page de contributions

  8. #8
    Membre expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Points : 3 696
    Points
    3 696
    Par défaut
    Par contre j'emets des doute sur la boucle
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    For i = 0 To lstDef.ListCount - 1
        lstDef.ListIndex = i
        Write #2, lstDef.Text
    Next
    J'aurais plutot vu
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For i = 0 To lstDef.ListCount - 1
        Write #2, lstDef.List(i)
    Next
    En général, on ne demande de conseils que pour ne pas les suivre ou, si on les a suivis, reprocher à quelqu'un de les avoir donnés
    (ALEXANDRE DUMAS)

    N'hésitez pas à visiter ma page de contributions

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 612
    Points : 338
    Points
    338
    Par défaut
    oui moi ausi mais dans l'exemple dont je me suis inspiret(voir 1er message) il avais utiliser sa donc comment cela ne fonctionnè pas j'ai mis exactement toute sa methode

    ok donc maintenant j'ai pour la sauvegarde a la fermeture de l'application:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    Private Sub Form_Terminate()
    'Sauvegarde des variables
    Open App.Path & "\" & "save.txt" For Append As #1
    Write #1, NFaute; NBien;
    Close #1
     
    'Sauvegarde de la liste de definition
    Open App.Path & "\" & "Definition.lst" For Output As #2
    For i = 0 To lstDef.ListCount - 1
        Write #2, lstDef.List(i)
    Next
    Close #2
     
    'Sauvegarde de la liste de mot
    Open App.Path & "\" & "Mot.lst" For Output As #3
    For i = 0 To lstMot.ListCount - 1
        Print #3, lstMot.List(i)
    Next
    Close #3
     
    End Sub
    et pour la lecture:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    Private Sub cmdChargement_Click()
    'Chargement des variables
    Open App.Path & "\" & "save.txt" For Input As #1
    Input #1, NFaute, NBien
    Close #1
     
    'Chargement de la liste de definition
    Open App.Path & "\" & "Definition.lst" For Input As #2
    For i = 0 To NbreDef - 1
        Input #2, Tempo$
        lstDef.AddItem (Tempo$)
    Next
    Close #2
     
    'Chargement de la liste de mot
    Open App.Path & "\" & "Mot.lst" For Input As #3
    For i = 0 To NbreDef - 1
        Input #3, Tempo$
        lstMot.AddItem (Tempo$)
    Next
    Close #3
     
    'Redistribution du focus
    If optTest.Value = True And optParam.Value = False Then
        txtRep.SetFocus
    ElseIf optParam.Value = True And optTest.Value = False Then
        txtMot.SetFocus
    End If
     
    End Sub
    petit test et la j'ai 1 fichier texte avec NBien NFaute
    2 fichier lst qui eux font 0 Ko....

    help me svp

  10. #10
    Membre éprouvé Avatar de avigeilpro
    Homme Profil pro
    Ambulancier
    Inscrit en
    Janvier 2004
    Messages
    880
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Creuse (Limousin)

    Informations professionnelles :
    Activité : Ambulancier
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2004
    Messages : 880
    Points : 971
    Points
    971
    Par défaut
    Façon simple de sauver une liste dans un fichier :
    Transférer la liste dans un tableau.
    Utiliser la fonction qui fait l'inverse de Split (je ne me souviens plus de son nom mais il suffit de chercher dans l'aide) afin de mettre chacune des valeurs dans une variable chaine avec un séparateur ( ";" par exemple).
    Supprimer le fichier de sauvegarde si celui-ci existe avec Kill.
    Enfin sauver la variable chaine de la façon suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Dim Adresse As String
    Dim Contenu As String
    Adresse = "C:\MaListe.lst"
     
    Contenu = "ValA;ValB" 'à remplacer par la transformation de la liste en chaine
     
    Open Adresse For Binary As #1
    Put #1,,Contenu
    Close #1
    Lecture du fichier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Dim Adresse As String
    Dim Contenu As String
    Dim MonTab() As String
     
    Adresse = "C:\MaListe.lst"
    Contenu = Space(Filelen(Adresse))
     
    Open Adresse For Binary As #1
    Get #1,,Contenu
    Close #1
     
    MonTab = Split(Contenu,";")
    Il ne reste plus qu'a remettre le tableau MonTab dans la liste
    La connaissance seule ne suffit pas. La vraie compréhension vient de la mise en expérience.
    Règles|FAQ|Tuto

  11. #11
    Expert éminent
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Points : 8 524
    Points
    8 524
    Par défaut
    Citation Envoyé par avigeilpro
    Utiliser la fonction qui fait l'inverse de Split
    Join
    Vous vous posez une question, la réponse est peut-être ici :
    Toutes les FAQs VB
    Les Cours et Tutoriels VB6/VBScript
    Les Sources VB6


    Je ne réponds pas aux questions techniques par MP. Utilisez les forums. Merci de votre compréhension

  12. #12
    Membre éprouvé Avatar de avigeilpro
    Homme Profil pro
    Ambulancier
    Inscrit en
    Janvier 2004
    Messages
    880
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Creuse (Limousin)

    Informations professionnelles :
    Activité : Ambulancier
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2004
    Messages : 880
    Points : 971
    Points
    971
    Par défaut
    Exacte ThierryAIM j'avais un petit trou de mémoire
    Bref ce code est assez simple (du moins je pense) et très efficace, on peu l'ameliorer et sauvegarder les deux listes dans le même fichier aussi, il suffit de mettre les deux donnée avec un séparateur différent ( "|" par exemple) entre chaque ";" et de refaire un split pour les séparer.
    La connaissance seule ne suffit pas. La vraie compréhension vient de la mise en expérience.
    Règles|FAQ|Tuto

  13. #13
    Membre expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Points : 3 696
    Points
    3 696
    Par défaut
    Je viens de me rendre compte que tu mettais ton code dans le Form_Terminate, a tout hasard, essaye de la placer dans le Form_Unload
    En général, on ne demande de conseils que pour ne pas les suivre ou, si on les a suivis, reprocher à quelqu'un de les avoir donnés
    (ALEXANDRE DUMAS)

    N'hésitez pas à visiter ma page de contributions

  14. #14
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 612
    Points : 338
    Points
    338
    Par défaut
    en effet après verification il fallait placer le code dans "Unload" et non pas "Terminate"


    après quelque essay mes valeurs sont bien enregistrè avec separateur mais lorsque j'effectue la lecture du fichier le String recepteur et vide.

    Declarations en general:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim NbreDef As Integer   'Nombre de definition
    Dim TabDef() As String   'Tableau de sauvegarde des Definitions
    Dim TabMot() As String   'Tableau de sauvegarde des Mots
    Dim TabDefCharge() As String   'Tableau de sauvegarde des Definitions
    Dim TabMotCharge() As String   'Tableau de sauvegarde des Mots
    Dim strMot As String     'String contenant tous les mots
    Dim strDef As String     'String contenant toutes les definitions
    Code de sauvegarde:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    Private Sub Form_Unload(Cancel As Integer)
    'Dimensionement des tableaux
    ReDim TabDef(lstDef.ListCount - 1) As String
    ReDim TabMot(lstMot.ListCount - 1) As String
     
    'Constitution des Tableaux et des Strings de sauvegarde
    For i = 0 To lstDef.ListCount - 1
        TabDef(i) = lstDef.List(i)
    Next
     
    strDef = Join(TabDef, "£")
     
    For i = 0 To lstMot.ListCount - 1
        TabMot(i) = lstMot.List(i)
    Next
     
    strMot = Join(TabMot, "£")
     
    'Sauvegarde du nombre d'elements pour creation des tableaux de chargement
    NbreDef = lstDef.ListCount - 1
     
    'Sauvegarde des variables
    Open App.Path & "\" & "save.txt" For Output As #1
    Write #1, NFaute; NBien; NbreDef;
    Close #1
     
    'Sauvegarde des Strings
    Open App.Path & "\" & "Def.lst" For Binary As #2
    Put #2, 1, strDef
    Close #2
     
    Open App.Path & "\" & "Mot.lst" For Binary As #3
    Put #3, 1, strMot
    Close #3
     
    End Sub
    Code de chargement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    'Chargement des variables
    Open App.Path & "\" & "save.txt" For Input As #1
    Input #1, NFaute, NBien, NbreDef
    Close #1
     
    'Chargement des Strings
    Open App.Path & "\" & "Def.lst" For Binary As #2
    Get #2, 1, strDef
    Close #2
     
    Open App.Path & "\" & "Mot.lst" For Binary As #3
    Get #3, 1, strMot
    Close #3
     
    'Extraction des mots et definitions
    TabMotCharge = Split(strMot, "£")
    TabDefCharge = Split(strDef, "£")
     
    ReDim Preserve TabMotCharge(NbreDef) As String
    ReDim Preserve TabDefCharge(NbreDef) As String
     
    'Extraction des elements des tableaux
    For i = 0 To NbreDef
        lstDef.AddItem (TabDefCharge(i))
        lstMot.AddItem (TabMotCharge(i))
    Next
     
    'Redistribution du focus
    If optTest.Value = True And optParam.Value = False Then
        txtRep.SetFocus
    ElseIf optParam.Value = True And optTest.Value = False Then
        txtMot.SetFocus
    End If

    donc strMot="" et strDef="" après le chargement donc il m'ajoute des Item vide dans mes listes.....

    merci pour votre aide

  15. #15
    Membre expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Points : 3 696
    Points
    3 696
    Par défaut
    N'oublie pas le tag
    En général, on ne demande de conseils que pour ne pas les suivre ou, si on les a suivis, reprocher à quelqu'un de les avoir donnés
    (ALEXANDRE DUMAS)

    N'hésitez pas à visiter ma page de contributions

  16. #16
    Expert éminent
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Points : 8 524
    Points
    8 524
    Par défaut
    il te manque un buffer pour la lecture en mode Binary

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    'Chargement des Strings
    strDef = Space(LOF(2)) '<- buffer
    Open App.Path & "\" & "Def.lst" For Binary As #2
    Get #2, 1, strDef
    Close #2
     
    'Chargement des Strings
    strMot = Space(LOF(3)) '<- buffer
    Open App.Path & "\" & "Mot.lst" For Binary As #3
    Get #3, 1, strMot
    Close #3
    Vous vous posez une question, la réponse est peut-être ici :
    Toutes les FAQs VB
    Les Cours et Tutoriels VB6/VBScript
    Les Sources VB6


    Je ne réponds pas aux questions techniques par MP. Utilisez les forums. Merci de votre compréhension

  17. #17
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 612
    Points : 338
    Points
    338
    Par défaut
    je viens de corriger le buffer d'ecriture et lecture mais le problème ne change pas.... il m'insert toujours des champ vide dans mes list

  18. #18
    Membre expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Points : 3 696
    Points
    3 696
    Par défaut
    Je pense que ThierryAIM a fait une petite erreur dans la sequence des lignes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    'Chargement des Strings
    Open App.Path & "\" & "Def.lst" For Binary As #2
      strDef = Space(LOF(2)) '<- buffer
      Get #2, 1, strDef
    Close #2
     
    'Chargement des Strings
    Open App.Path & "\" & "Mot.lst" For Binary As #3
      strMot = Space(LOF(3)) '<- buffer
      Get #3, 1, strMot
    Close #3
    En général, on ne demande de conseils que pour ne pas les suivre ou, si on les a suivis, reprocher à quelqu'un de les avoir donnés
    (ALEXANDRE DUMAS)

    N'hésitez pas à visiter ma page de contributions

  19. #19
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 612
    Points : 338
    Points
    338
    Par défaut
    SA MARCHEEEE

    merci beaucoup!!

    se morceau de code manquait dans nombreux de mes programme et je vais pouvoir bien avancer

    par contre pourrais tu me dir a quoi sert se buffer?? et comment il fonctionne??

    car c'est bien de savoir le fair mais encore mieu de comprendre comment on le fait

    merci a tous

  20. #20
    Membre expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Points : 3 696
    Points
    3 696
    Par défaut
    En mode binaire, le get #hfich,, strTemp lit dans le fichier autant d'octets que la taille de la variable strTemp, il faut donc dimensionner la variable à la bonne taille, d'ou l'instruction Lof(hFich) pour connaitre la taille du fichier.
    Seulement l'intruction lof(hFich) ne fonctionne que sur un fichier ouvert.
    En général, on ne demande de conseils que pour ne pas les suivre ou, si on les a suivis, reprocher à quelqu'un de les avoir donnés
    (ALEXANDRE DUMAS)

    N'hésitez pas à visiter ma page de contributions

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [XL-2003] Sauvegarder ComboBox AddItem
    Par avyrex dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 28/07/2009, 17h45
  2. [PPT-2007] Insérer un combobox, sauvegarder la valeur choisie
    Par Aiacciu dans le forum VBA PowerPoint
    Réponses: 2
    Dernier message: 12/07/2009, 22h00
  3. Réponses: 0
    Dernier message: 08/01/2009, 22h57
  4. sauvegarder les items d'un combobox
    Par pierrot67 dans le forum Delphi
    Réponses: 2
    Dernier message: 25/07/2007, 18h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo