急待!怎么逐行对比两个richtextbox中的内容

急急!!在线等待!!如何逐行对比两个richtextbox中的内容如何逐行对比两个richtextbox中的内容,如有不同,就

急急!!在线等待!!如何逐行对比两个richtextbox中的内容
如何逐行对比两个richtextbox中的内容,如有不同,就在那字符之后加黑.
比如
Richtextbox1的内容如下:
12121212121
5656565656565658798
45sadfasdf
asdfasdfasdf

Richtextbox2的内容如下:

121212FF12121
565656565656565TT8798
45454545454545
45sadfasdf
asdfasdfasdf

根据上面的内容,Richtextbox2与Richtextbox1的第一行不同,应该在Richtextbox2的加黑FF后面所有字符.依次类推,第二行TT之后的字符应该加黑.

[解决办法]
以下三条,一点点解决。

1、首先你要知道怎么设置RICHTEXTBOX控件的字体、颜色;
2、按行取出控件内容;
3、比较每行字符是否相等;

源代码下载:
http://www.egooglet.com/
[解决办法]
Dim i As Integer
Dim tempStr1 As String
Dim lineStart1 As Integer
Dim lineEnd1 As Integer
Dim tempStr2 As String
Dim lineStart2 As Integer
Dim lineEnd2 As Integer

Dim length As Integer
Dim tempStr As String
'取得文本框1的第一行
lineStart1 = 1
lineEnd1 = InStr(lineStart1, RichTextBox1.Text, vbCrLf)
If lineEnd1 = 0 Then lineEnd1 = Len(RichTextBox1.Text)
tempStr1 = Mid(RichTextBox1.Text, lineStart1, lineEnd1 - lineStart1 + 1)
'取得文本框2的第一行
lineStart2 = 1
lineEnd2 = InStr(lineStart2, RichTextBox2.Text, vbCrLf)
If lineEnd2 = 0 Then lineEnd2 = Len(RichTextBox2.Text)
tempStr2 = Mid(RichTextBox2.Text, lineStart2, lineEnd2 - lineStart2 + 1)


Do While lineStart1 < Len(RichTextBox1.Text)
'比较文本框1和文本框2
If Len(tempStr1) > Len(tempStr2) Then
tempStr = tempStr2
length = lineEnd2 - lineStart2 + 1
Else
tempStr = tempStr1
length = lineEnd1 - lineStart1 + 1
End If

For i = 1 To length
If Mid(tempStr2, i, 1) <> Mid(tempStr1, i, 1) Then
RichTextBox2.SelStart = lineStart2 + i - 2
RichTextBox2.SelLength = (lineEnd2 - RichTextBox2.SelStart)
RichTextBox2.SelBold = True
Exit For
End If
Next i

lineStart1 = lineEnd1 + 2
lineEnd1 = InStr(lineStart1, RichTextBox1.Text, vbCrLf)
If lineEnd1 = 0 Then Exit Do
tempStr1 = Mid(RichTextBox1.Text, lineStart1, lineEnd1 - lineStart1 + 1)

lineStart2 = lineEnd2 + 2
lineEnd2 = InStr(lineStart2, RichTextBox2.Text, vbCrLf)
If lineEnd2 = 0 Then lineEnd2 = Len(RichTextBox2.Text)
tempStr2 = Mid(RichTextBox2.Text, lineStart2, lineEnd2 - lineStart2 + 1)
Loop

运行结果:正确
已测试

加分!!!!