如何检测文本框字符串中的行尾字符(VB6)

0 string vb6 character letter line

我有VisualBasic6的问题.

我有3个文本框和2个命令按钮.

我想在检查第一个文本框时检测VbCrLf,逐字母然后在第二个文本框中写入另一个文本框:101和另一个函数检查第二个文本框,如果找到101则在第三个文本框中创建一个新行(vbcrlf).

在命令中:

For i = 1 to len(text1.text)
   if Mid(txtD.Text, i, 1) = vbcrlf then
      text2.text = 101
   endif
next
Run Code Online (Sandbox Code Playgroud)

在Command2中:

if text2.text = 101 then
  text3.text = text3.text & vbcrlf
endif
Run Code Online (Sandbox Code Playgroud)

但是当我检查Vbcrlf时,似乎字符不是换行符,而text2.text没有填充 101

我也试过VbNewLine,但也有同样的问题!

谢谢你的朋友们!

Tom*_*ins 5

您需要确切地检查新行分隔符是什么.我见过vbcr,vblf和vbcrlf.VbNewLine与vbcrlf相同.

此外,即使你的字符串中有vbcrlf,你的测试仍然会失败.vbcrlf是两个字符.你一次只测试一个角色.

更好的测试是InStr()函数.这是一个快速测试,以查看较小的字符串是否在较大的字符串中的任何位置.所以,你的测试看起来像这样:

If InStr(txtD.Text, vbcr) or InStr(txtD.Text, vblf) then
  text2.text = 101
End If
Run Code Online (Sandbox Code Playgroud)

  • `vbNewLine`在Windows机器上等于`vbCrLf`但完全不相同,因为编译器优化了vbNewLine,几乎在所有时间都优先.但我同意测试1 char值和2 char值之间的String相等是没有意义的. (2认同)