Jag skulle vilja veta hur man kontrollerar om ett visst tecken i en sträng motsvarar ett ENTER-tecken... Kolla om det är lika med vbCrLf \0 är nulltecken i C, \n är radbrytning... För att finna radbryningar är det mer lämpligt att använda instr() funktionen istället för mid() funktionen. Har gjort ett liet exempel som bara räknar antalet rader. Men som du säkert kan anpassa till vad du vill utföra:ENTER-tecken?
I språket C kan man bara vid en IF-sats kontrollera om tecknet är lika med '\0'.
Mitt syfte är alltså att med funktionen Mid() läsa av om ett visst tecken är ett ENTER-tecken eller inte... Hur gör jag i VB??
Tacksam för svar!
/HempaSv: ENTER-tecken?
Lf står för LineFeed, och tror att Cr står för CarrigeReturn
/EmmaSv: ENTER-tecken?
Eftersom enter (vbCrLf) är två tecken måste du jämföra 2 tecken, t.ex. såhär:
<code>
Dim str As String
Dim a As Integer
str = "hej" & vbCrLf & "du"
For a = 1 To Len(str)
If Mid(str, a, 2) = vbCrLf Then
MsgBox "tecken " & a & " och " & a + 1 & " är enter"
End If
Next
</code>
/JohanSv: ENTER-tecken?
<code>
Public Sub Test()
Dim lngPos As Long
Dim lngCount As Long
Dim strText As String
strText = "Rad 1" & vbCrLf & "Rad 2" & vbCrLf & "Rad 3" & vbCrLf & "Rad 4" & vbCrLf & "Rad 5"
If Len(strText) > 0 Then
lngPos = InStr(1, strText, vbCrLf)
lngCount = 1
Do While lngPos
lngCount = lngCount + 1
lngPos = InStr(lngPos + 2, strText, vbCrLf)
Loop
MsgBox "Det finns " & lngCount & " rader"
Else
MsgBox "Det finns inga rader"
End If
End Sub
</code>