Ejemplo de las propiedades EOS y LineSeparator y del método SkipLine (VB)
En este ejemplo se muestra cómo manipular las secuencias de texto de una línea a la vez. El efecto de cambiar el separador de líneas desde el retorno de carro predeterminado o el salto de línea (adCRLF) a simplemente el salto de línea (adLF) o el retorno de carro (adCR).
'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
Consulte también
Propiedad EOS
Separador de línea (propiedad, ADO)
Método SkipLine