Exemple des propriétés EOS et LineSeparator et de la méthode SkipLine (VB)
Cet exemple montre comment manipuler des flux de texte d’une ligne à la fois. L’effet de la modification du séparateur de ligne par rapport au retour chariot/flux de ligne par défaut (adCRLF) en un simple flux de ligne (adLF) ou un retour chariot (adCR) est affiché.
'BeginSkipLineVB
Private Sub cmdSkipLine_Click()
On Error GoTo ErrorHandler
'Declare variables
Dim i As Integer
Dim objStream As Stream
Dim strLine, strChar As String
'Instantiate and open stream
Set objStream = New Stream
objStream.Open
'Set line separator to line feed
objStream.LineSeparator = adLF
'Load text content of list box into stream
'One line at a time
For i = 0 To (List1.ListCount - 1)
objStream.WriteText List1.List(i), adWriteLine
Next
'Display the entire stream
Debug.Print "Whole Stream:"
objStream.Position = 0
Debug.Print objStream.ReadText
'Display the first line
Debug.Print "First Line:"
objStream.Position = 0
strLine = objStream.ReadText(adReadLine)
Debug.Print strLine
Debug.Print "Line length: " + Str(Len(strLine))
'Skip a line, then display another line
Debug.Print "Third Line:"
objStream.SkipLine
strLine = objStream.ReadText(adReadLine)
Debug.Print strLine
Debug.Print "Line length: " + Str(Len(strLine))
'Switch line separator to carriage return
'All items from list will be considered one line
'Assuming no CRs have been loaded into stream
Debug.Print "Whole Stream/First Line:"
objStream.Position = 0
objStream.LineSeparator = adCR
strLine = objStream.ReadText(adReadLine)
Debug.Print strLine
Debug.Print "Line length: " + Str(Len(strLine))
Debug.Print "Stream size: " + Str(objStream.Size)
'Use EOS to Determine End of Stream
Debug.Print "Character by character:"
objStream.Position = 0
Do Until objStream.EOS
strChar = objStream.ReadText(1)
Debug.Print strChar
Loop
' clean up
objStream.Close
Set objStream = Nothing
Exit Sub
ErrorHandler:
' clean up
If Not objStream Is Nothing Then
If objStream.State = adStateOpen Then objStream.Close
End If
Set objStream = Nothing
If Err <> 0 Then
MsgBox Err.Source & "-->" & Err.Description, , "Error"
End If
End Sub
Private Sub Form_Load()
List1.AddItem "This is the first line"
List1.AddItem "This is the second line"
List1.AddItem "This is the third line"
End Sub
'EndSkipLineVB
Voir aussi
EOS, propriété
LineSeparator, propriété (ADO)
SkipLine, méthode
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour