POST 데이터 비교(POST Data Compare)
소스가 많이 더럽습니다.
Option Explicit
Dim MinControl As Integer
Dim i As Integer
Private Sub BCompare_Click()
Dim VCompareA() As String: VCompareA = Split(TCompareA, "&")
Dim VCompareB() As String: VCompareB = Split(TCompareB, "&")
Dim MaxControl As Integer
TCompareA.BackColor = &HFFFFFF: TCompareB.BackColor = &HFFFFFF
If TCompareA.Text = vbNullString Or TCompareB.Text = vbNullString Then MsgBox "CompareA 또는 CompareB가 비어 있습니다. 모두 입력해주세요.", vbCritical, "에러 발생": Exit Sub
If TCompareA.Text <> TCompareB.Text Then
TCompareA.BackColor = &H8080FF: TCompareB.BackColor = &H8080FF
Else
TCompareA.BackColor = &H80FF80: TCompareB.BackColor = &H80FF80
End If
CompareBoxClear
CompareA(0) = VCompareA(0)
For i = 1 To UBound(VCompareA)
Load CompareA(i)
CompareA(i).Visible = True
CompareA(i).Top = CompareA(i - 1).Top + CompareA(i).Height + 50
CompareA(i).Text = VCompareA(i)
Next i
CompareB(0) = VCompareB(0)
For i = 1 To UBound(VCompareB)
Load CompareB(i)
CompareB(i).Visible = True
CompareB(i).Top = CompareB(i - 1).Top + CompareB(i).Height + 50
CompareB(i).Text = VCompareB(i)
Next i
MaxControl = IIf(CompareA.Count > CompareB.Count, CompareA.Count, CompareB.Count)
MinControl = IIf(CompareA.Count > CompareB.Count, CompareB.Count, CompareA.Count)
PCompareCurrent.Height = MaxControl * CompareA(0).Height + MaxControl * 50
PScroll.Max = IIf(MaxControl <= 8, 0, MaxControl)
If TCompareA.Text <> TCompareB.Text Then CompareSort
CompareStart
End Sub
Private Sub CompareBoxClear()
CompareA(0).Text = vbNullString: CompareB(0).Text = vbNullString
CompareA(0).BackColor = &HFFFFFF: CompareB(0).BackColor = &HFFFFFF
For i = 1 To CompareA.UBound
Unload CompareA(i)
Next i
For i = 1 To CompareB.UBound
Unload CompareB(i)
Next i
End Sub
Private Sub CompareSort()
Dim j As Integer
Dim searchCount As Integer
Dim temp As String
Dim maxObject As Object, minObject As Object
If CompareA.Count > CompareB.Count Then
Set maxObject = CompareA
Set minObject = CompareB
Else
Set maxObject = CompareB
Set minObject = CompareA
End If
For i = 0 To minObject.UBound
If minObject(i).Text <> maxObject(i).Text Then
For j = 0 To maxObject.UBound
If Split(maxObject(j).Text, "=")(0) = Split(minObject(i).Text, "=")(0) Then
temp = maxObject(j).Text
maxObject(j).Text = maxObject(searchCount).Text
maxObject(searchCount).Text = temp
searchCount = searchCount + 1
GoTo Movable
End If
Next j
End If
Movable:
Next i
End Sub
Private Sub PScroll_Change()
PCompareCurrent.Top = -(300 * PScroll.Value)
End Sub
Private Sub CompareStart()
For i = 0 To MinControl - 1
If CompareA(i).Text <> CompareB(i).Text Then
CompareA(i).BackColor = &H8080FF: CompareB(i).BackColor = &H8080FF
Else
CompareA(i).BackColor = &H80FF80: CompareB(i).BackColor = &H80FF80
End If
Next i
End Sub
'소스 관련' 카테고리의 다른 글
| 정규 표현식 테스터(Regular Expression Tester) (3) | 2013.01.03 |
|---|---|
| 헤더를 VB6 코드로 쉽게 변환! (HEADER -> VB6 CODE CONVERTER) (2) | 2013.01.02 |
| VB6 -> C# 포팅, 네이버 로그인, 네이버 쪽지 전송, 네이버 메일 전송 (10) | 2012.12.02 |
| 유용한 getImageFromURL, DownloadRemoteImageFile 함수 (4) | 2012.12.02 |
| POST/GET Transmitter 프로젝트. (0) | 2012.12.02 |
POSTDCompare.zip