Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Comment conserver els attributs dans un fichier txt ???

3 réponses
Avatar
LE TROLL
Bonjour,

En mettant un texte dans un objet txt j'ai mes attributs de saut de
ligne, mais si j'enregistre ce texte c'est toujours bon, par contre je perds
les attributs lors du réaffichage venant du fichier, j'ai dû omettre quelque
chose (procédure "lit"), voici le code, avez-vous une idée ???


Option Explicit
Dim p1601 As Long
Dim ligne As String
Dim faute As Boolean
'
Sub Form_Activate()
faute = False
Call lit
If faute = False Then Exit Sub
' création
Text1 = "FRA" & vbCrLf & vbCrLf
Text1 = Text1 & "ANG" & vbCrLf & vbCrLf
Text1 = Text1 & "ESP" & vbCrLf & vbCrLf ' LA C EST OK DANS TEXT1
faute = False
Call ecrit
Call lit
End Sub

Sub lit() ' LA EST L ERREUR JE PERDS LES ATTRIBUTS !!!
Text1 = ""
p1601 = FreeFile
On Error GoTo erreur
Open "tarotobs.txt" For Input As p1601
Do While EOF(p1601) = False
If EOF(p1601) = True Then Exit Do
Line Input #p1601, ligne
Text1 = Text1 & ligne
Loop
Close p1601
Exit Sub
'
erreur: ' inexistant
faute = True
Close p1601
On Error Resume Next
End Sub

Sub ecrit()
p1601 = FreeFile
Open "tarotobs.txt" For Output As p1601
ligne = Text1
Print #p1601, ligne
Close p1601
End Sub

Sub m_enregistrer_Click() 'menu
Dim rep
'
rep = ""
rep = MsgBox("Enregistrer : To record : Grabar", vbYesNo +
vbDefaultButton2 + vbQuestion)
If rep <> vbYes Then Exit Sub
Call ecrit
End Sub

Sub Form_Unload(Cancel As Integer)
Form1.Show
End Sub


--
Merci beaucoup, au revoir et à bientôt :o)
------
Site de MES LOGICIELS
http://irolog.free.fr
Site éditeur de MES ROMANS édités
http://irolog.free.fr/romans
mon adresse EMail
http://irolog.free.fr/ecrire/index.htm
------------------------------------------------------------------------------------

3 réponses

Avatar
Vincent Guichard
Bonjour,

Qu'appelles-tu "attributs de saut de ligne"? si c'est juste les vbCrLg
qui manque, c'est normal, Line Input ne retourne pas le vbCrLf.

Source MSDN 6.0:
> Bien que l'instruction Line Input # reconnaisse la fin d'une ligne
> lorsqu'elle atteint la séquence constituée d'un retour chariot et d'un
> saut de ligne, elle n'inclut pas cette séquence lorsqu'elle lit la
> ligne dans la variable. Si vous souhaitez conserver la séquence
> constituée du retour chariot et du saut de ligne, il est nécessaire
> qu'elle soit ajoutée par votre code.

Vincent Guichard
Avatar
LE TROLL
Merci, tu économises tes réponse... ah, ben voilà l'explication, alors je
dois découper le texte en autant de phrases se terminant par vbcrlf...

--
Site de MES LOGICIELS
http://irolog.free.fr
Site éditeur de MES ROMANS édités
http://irolog.free.fr/romans
mon adresse EMail
http://irolog.free.fr/ecrire/index.htm
------------------------------------------------------------------------------------
"Vincent Guichard" a écrit dans le message de
news: 45a78156$0$5078$
Bonjour,

Qu'appelles-tu "attributs de saut de ligne"? si c'est juste les vbCrLg qui
manque, c'est normal, Line Input ne retourne pas le vbCrLf.

Source MSDN 6.0:
> Bien que l'instruction Line Input # reconnaisse la fin d'une ligne
> lorsqu'elle atteint la séquence constituée d'un retour chariot et d'un
> saut de ligne, elle n'inclut pas cette séquence lorsqu'elle lit la
> ligne dans la variable. Si vous souhaitez conserver la séquence
> constituée du retour chariot et du saut de ligne, il est nécessaire
> qu'elle soit ajoutée par votre code.

Vincent Guichard


Avatar
Vincent Guichard
LE TROLL a écrit :
Merci, tu économises tes réponse... ah, ben voilà l'explication, alors je
dois découper le texte en autant de phrases se terminant par vbcrlf...




Pas forcement. tu remplaces
Text1 = Text1 & ligne
par
Text1 = Text1 & ligne & vbCrLf
dans ta fonction lit()

Vincent Guichard