Sauver MSFlex Grid VB6

Résolu/Fermé
jctgt - Modifié le 11 avril 2021 à 10:46
jctgt Messages postés 57 Date d'inscription vendredi 23 décembre 2005 Statut Membre Dernière intervention 27 novembre 2023 - 2 mai 2021 à 05:25
Bonjour,
Avant de sauver j'ai les titres des colonnes row 0 et 5 noms col 0 puis des chiffres dans col 2 à 5 et les fow 1 à 4
Je call Sauver comme suit:

Hello,
Before saving I have the titles of the columns row 0 and 5 names col 0 then numbers in col 2 to 5 and fow 1 to 4
I call Save as follows:
'******************************************************
Private Sub SauverListe()
' Save the FlexGrid data.
Dim file_name As String
Dim fnum As Integer
Dim max_row As Integer
Dim max_col As Integer
Dim L As Integer
Dim C As Integer
    file_name = App.Path
    If Right$(file_name, 1) <> "\" Then file_name = _
        file_name & "\"
    file_name = file_name & "MSFlexGrid1.dat"

    fnum = FreeFile
    Open file_name For Output As fnum

    ' Save the maximum row and column.
    max_row = MSFlexGrid1.Rows - 1
    max_col = MSFlexGrid1.Cols - 1
    Write #fnum, max_row, max_col

    For L = 0 To max_row
        For C = 0 To max_col
            Write #fnum, MSFlexGrid1.TextMatrix(L, C);
        Next C
        Write #fnum,
    Next L

    Close fnum
End Sub

'*****************************************************
Ceci fait, il n,y a aucun changement.
Je ferme et redémarre VB6
Le fichier n'a pas été sauver et il est vide.
Quelqu'un pourrait trouver mon erreur?


This done, there is no change.
I close and restart VB6
The file was not saved and it is empty.
Could someone find my mistake?thank you,
Merci, Thanks

Jean-Claude

5 réponses

yg_be Messages postés 22707 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 19 avril 2024 1 471
11 avril 2021 à 11:23
bonjour, si tu supprimes le fichier, est-il créé par ce code?
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
11 avril 2021 à 11:27
Bonjour a tous,

Chez moi, le fichier est bien cree avec le code mis a dispo.



0
jctgt Messages postés 57 Date d'inscription vendredi 23 décembre 2005 Statut Membre Dernière intervention 27 novembre 2023
12 avril 2021 à 22:13
Bonjour,

Je ne comprend pas ce que signifie votre réponse

--
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
13 avril 2021 à 07:04
Avec votre code, je n'ai pas de problème de sauvegarde du contenu MSflexgrid(premiere image) dans un fichier(deuxième image)
C'est bien votre problème:
-pas de sauvegarde du contenu MSflexgrid avec votre code, oui ou non?
0
jctgt Messages postés 57 Date d'inscription vendredi 23 décembre 2005 Statut Membre Dernière intervention 27 novembre 2023
13 avril 2021 à 21:47
Bonjour,,

Non, le sauvetage ne passe pas.

max_row = 0 et max_col = 0
Je les ai modifiés: max_row = 73 et max_col = 13

‘***********************************************************
Private Sub Sauver()
' Save the FlexGrid data.
Dim file_name As String
Dim fnum As Integer
Dim max_row As Integer
Dim max_col As Integer
'Dim L As Integer
Dim C As Integer
file_name = App.Path
If Right$(file_name, 1) <> "\" Then file_name = _
file_name & "\"
file_name = file_name & "tfgBullard.dat"
fnum = FreeFile
Open file_name For Output As fnum
' Save the maximum row and column.
max_row = 73
max_col = 13
Write #fnum, max_row, max_col
For L = 0 To max_row
For C = 0 To max_col
Write #fnum, tfgBullard.TextMatrix(L, C);
Next C
Write #fnum,
Next L
Close fnum
End Sub

Ça fonctionne jusqu’à : Write #fnum, tfgBullard.TextMatrix(L, C);
J’ai l’erreur Run-time 424 Object required
Merci beaucoup pour votre aide

Jean-Claude





--
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
14 avril 2021 à 07:45
Bonjour,

Quand vous avez l'erreur, click sur debug si boite erreur, passez le curseur souris sur:
tfgBullard.TextMatrix(L, C)

afin de voir le contenu de L,C et
tfgBullard.TextMatrix(L, C)


Dans le code que j'ai utilise, il y a une petite difference au niveau ligne/colonne.
 ' Save the maximum row and column.
    max_row = FlexSel.Rows - 1
    max_col = FlexSel.Cols - 1

et le reste est identique
0

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

Posez votre question
jctgt Messages postés 57 Date d'inscription vendredi 23 décembre 2005 Statut Membre Dernière intervention 27 novembre 2023
2 mai 2021 à 05:25
Bonjour,

J'ai enfin réussi

Merci

--
0