#include
#Include
#include
#include
Opt("GUIOnEventMode", 1)
opt("GUIDataSeparatorChar",",")
Opt("WinTitleMatchMode", 2)
Opt("ColorMode",0)
$LogFileName = "FC_Logfile.CSV"
Global $File_Array
Global $LogFileList
$MainWindow = GuiCreate("File Compare Utility", 1010, 690, 100,100, -1, 0x00000018)
GUISetOnEvent($GUI_EVENT_CLOSE, "ExitButton")
GUISetOnEvent($GUI_EVENT_DROPPED, "SpecialEvents")
; GUICtrlCreatePic("background.jpg", 0, 0, 1010, 690)
;GUICtrlCreateGroup("Browse Files to Compare", 20, 20, 750, 150)
GUICtrlCreateGroup("", 20, 20, 750, 150)
$GetFileName1 = GuiCtrlCreateButton("Browse/Drag && Drop File 1", 30, 50, 200, 30)
GUICtrlSetOnEvent($GetFileName1, "ShowDialog1")
$GetFileName2 = GuiCtrlCreateButton("Browse/Drag && Drop File 2", 30, 90, 200, 30)
GUICtrlSetOnEvent($GetFileName2, "ShowDialog2")
$FileName1 = GuiCtrlCreateInput("", 235, 50, 510, 30)
GUICtrlSetState(-1,$GUI_DROPACCEPTED)
$FileName2 = GuiCtrlCreateInput("", 235, 90, 510, 30)
GUICtrlSetState(-1,$GUI_DROPACCEPTED)
GuiCtrlCreateAvi("FC.avi",125, 33, 125, 16, 16, $ACS_AUTOPLAY)
$Header1 = GUICtrlCreateLabel ("File 1 Header : ", 100, 130, 400, 14)
GUICtrlSetColor(-1,0xff0000)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
$Header2 = GUICtrlCreateLabel ("File 2 Header : ", 100, 150, 400, 14)
GUICtrlSetColor(-1,0xff0000)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
;GUICtrlCreateGroup("File 1 Info", 780, 170, 210, 145)
GUICtrlCreateGroup("", 780, 170, 210, 145)
GuiCtrlCreateLabel("Lines Read", 790, 200, 100, 30)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GuiCtrlCreateLabel("File Size", 790, 220, 100, 30)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GuiCtrlCreateLabel("File Date/Time", 790, 240, 100, 30)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GuiCtrlCreateLabel("File Type", 790, 260, 100, 30)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
;GUICtrlCreateGroup("File 2 Info", 780, 320, 210, 145)
GUICtrlCreateGroup("", 780, 320, 210, 145)
GuiCtrlCreateLabel("Lines Read", 790, 350, 100, 30)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GuiCtrlCreateLabel("File Size", 790, 370, 100, 30)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GuiCtrlCreateLabel("File Date/Time", 790, 390, 100, 30)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GuiCtrlCreateLabel("File Type", 790, 410, 100, 30)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
;GUICtrlCreateGroup("Summary : ", 780, 470, 210, 200)
GUICtrlCreateGroup("", 780, 470, 210, 200)
GUICtrlSetFont(-1,14)
$LinesRead1 = GuiCtrlCreateLabel("", 872, 200, 110, 18, BitOR($SS_SUNKEN, $SS_CENTER))
GUICtrlSetColor(-1,0xff0000)
GUICtrlSetBkColor(-1,0xffffff)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
$LinesRead2 = GuiCtrlCreateLabel("", 872, 350, 110, 18, BitOR($SS_SUNKEN, $SS_CENTER))
GUICtrlSetColor(-1,0xff0000)
GUICtrlSetBkColor(-1,0xffffff)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
$Size1 = GuiCtrlCreateLabel("", 872, 220, 110, 18, BitOR($SS_SUNKEN, $SS_CENTER))
GUICtrlSetColor(-1,0xff0000)
GUICtrlSetBkColor(-1,0xffffff)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
$Size2 = GuiCtrlCreateLabel("", 872, 370, 70, 18, BitOR($SS_SUNKEN, $SS_CENTER))
GUICtrlSetColor(-1,0xff0000)
GUICtrlSetBkColor(-1,0xffffff)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
$DateTime1 = GuiCtrlCreateLabel("", 872, 240, 110, 18, BitOR($SS_SUNKEN, $SS_CENTER))
GUICtrlSetColor(-1,0xff0000)
GUICtrlSetBkColor(-1,0xffffff)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
$DateTime2 = GuiCtrlCreateLabel("", 872, 390, 110, 18, BitOR($SS_SUNKEN, $SS_CENTER))
GUICtrlSetColor(-1,0xff0000)
GUICtrlSetBkColor(-1,0xffffff)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
$Type1 = GuiCtrlCreateLabel("", 872, 260, 110, 18, BitOR($SS_SUNKEN, $SS_CENTER))
GUICtrlSetColor(-1,0xff0000)
GUICtrlSetBkColor(-1,0xffffff)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
$Type2 = GuiCtrlCreateLabel("", 872, 410, 110, 18, BitOR($SS_SUNKEN, $SS_CENTER))
GUICtrlSetColor(-1,0xff0000)
GUICtrlSetBkColor(-1,0xffffff)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GuiCtrlCreateLabel("Total Errors", 830, 500, 100, 30)
GUICtrlSetFont(-1,14)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
$ErrorCtr = GuiCtrlCreateLabel("", 880, 540, 70, 30)
GUICtrlSetColor(-1,0xff0000)
GUICtrlSetFont(-1,24)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
$Failed = GuiCtrlCreateLabel("", 830, 600, 120, 40)
GUICtrlSetColor(-1,0xff0000)
GUICtrlSetFont(-1,16)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
$Strings_Inside_The_Files = GuiCtrlCreateListView("First File - Invalid Item(s) , Second File - Invalid Item(s) ", 20, 180, 750, 490, BitOR($LVS_SHOWSELALWAYS, $LVS_NOSORTHEADER, $LVS_REPORT))
_GUICtrlListViewSetColumnWidth ($Strings_Inside_The_Files, 0, 360)
_GUICtrlListViewSetColumnWidth ($Strings_Inside_The_Files, 1, 360)
GUICtrlSetFont($Strings_Inside_The_Files , 9 , 400 , 0 , "Lucida Console" )
$Process_Button = GuiCtrlCreateButton("Process", 800, 30, 160, 30)
GUICtrlSetOnEvent($Process_Button, "ProcessButton")
GUICtrlSetState($Process_Button, $GUI_DISABLE)
$Clear_All = GuiCtrlCreateButton("Clear", 800, 65, 160, 30)
GUICtrlSetOnEvent($Clear_All, "ClearAll")
GUICtrlSetState($Clear_All, $GUI_DISABLE)
$View_Log_Button = GuiCtrlCreateButton("View Log", 800, 100, 160, 30)
GUICtrlSetOnEvent($View_Log_Button, "ViewLog")
$Exit_Button = GuiCtrlCreateButton("Exit", 800, 135, 160, 30)
GUICtrlSetOnEvent($Exit_Button, "ExitButton")
GUISwitch($MainWindow)
GUISetState (@SW_SHOW)
WinSetOnTop("File Compare Utility", "Browse/Drag && Drop File 1", 0)
While 1
Sleep(1000)
Wend
Func SpecialEvents()
Select
Case @GUI_DROPID = $FileName1
Call("FuncCheckFile1")
Case @GUI_DROPID = $FileName2
Call("FuncCheckFile2")
EndSelect
EndFunc
Func FuncCheckFile1()
If FileExists(GUICtrlRead($FileName1)) = 1 Then
If CheckFileExtensionIsTXTorCSV(GUICtrlRead($FileName1)) = 0 Then
Msgbox(4096 + 48,"First File Selection Error","Only Comma Separated File (.CSV) and Text File (.TXT) are Allowed" & @CRLF & "First TextBox will be cleared!")
GUICtrlSetData($FileName1,"")
If GUICtrlRead($FileName2) = "" Then GUICtrlSetState($Clear_All, $GUI_DISABLE)
EndIf
If FileExists(GUICtrlRead($FileName1)) = 1 Or FileExists(GUICtrlRead($FileName2)) = 1 Then
GUICtrlSetState($Clear_All, $GUI_ENABLE)
EndIf
If FileExists(GUICtrlRead($FileName1)) = 1 And FileExists(GUICtrlRead($FileName2)) = 1 Then
GUICtrlSetState($Process_Button, $GUI_ENABLE)
Else
GUICtrlSetState($Process_Button, $GUI_DISABLE)
EndIf
Else
GUICtrlSetData($FileName1,"")
GUICtrlSetState($Process_Button, $GUI_DISABLE)
EndIf
EndFunc
Func FuncCheckFile2()
If FileExists(GUICtrlRead($FileName2)) = 1 Then
If CheckFileExtensionIsTXTorCSV(GUICtrlRead($FileName2)) = 0 Then
Msgbox(4096 + 48,"Second File Selection Error","Only Comma Separated File (.CSV) and Text File (.TXT) are Allowed" & @CRLF & "Second TextBox will be cleared!")
GUICtrlSetData($FileName2,"")
If GUICtrlRead($FileName1) = "" Then GUICtrlSetState($Clear_All, $GUI_DISABLE)
EndIf
If FileExists(GUICtrlRead($FileName1)) = 1 Or FileExists(GUICtrlRead($FileName2)) = 1 Then
GUICtrlSetState($Clear_All, $GUI_ENABLE)
EndIf
If FileExists(GUICtrlRead($FileName1)) = 1 And FileExists(GUICtrlRead($FileName2)) = 1 Then
GUICtrlSetState($Process_Button, $GUI_ENABLE)
Else
GUICtrlSetState($Process_Button, $GUI_DISABLE)
EndIf
Else
GUICtrlSetData($FileName2,"")
GUICtrlSetState($Process_Button, $GUI_DISABLE)
EndIf
EndFunc
Func ShowDialog1()
$Dialog1 = FileOpenDialog("Open files to Compare", @WorkingDir & "\", "Text files (*.txt) | Comma Separated Values (*.csv)" , 1)
If @error Then
; MsgBox(4096,"","No File(s) chosen")
Else
$Dialog1 = StringReplace($Dialog1, "|", @CRLF)
GUICtrlSetData($FileName1,$Dialog1)
Call("FuncCheckFile1")
EndIf
EndFunc
Func ShowDialog2()
$Dialog2 = FileOpenDialog("Open files to Compare", @WorkingDir & "\", "Text files (*.txt) | Comma Separated Values (*.csv)" , 1)
If @error Then
; MsgBox(4096,"","No File(s) chosen")
Else
$Dialog2 = StringReplace($Dialog2, "|", @CRLF)
GUICtrlSetData($FileName2,$Dialog2)
Call("FuncCheckFile2")
EndIf
EndFunc
Func ProcessButton()
$FirstFile = GUICtrlRead($FileName1)
$SecondFile = GUICtrlRead($FileName2)
If FileExists($FirstFile) = 0 Or FileExists($SecondFile) = 0 Or CheckFileExtensionIsTXTorCSV($FirstFile) = 0 Or CheckFileExtensionIsTXTorCSV($SecondFile) = 0 Then
Msgbox(4096 + 48,"First File Or Second File Selection Error","Only Comma Separated File (.CSV) and Text File (.TXT) are Allowed and Must Exists" & @CRLF & "TextBoxes will be cleared!")
Call("ClearAll")
Return 0
EndIf
If $FirstFile = $SecondFile Then
Msgbox (4096 + 64, "FC Utility" , "First file is the same as Second file..." & @CRLF & "This file needs not to compare." & @CRLF & "Text Box will be cleared...")
Call ("ClearAll")
Return 0
EndIf
If CheckIfFileAlreadyCompared(GetFileName($FirstFile),GetFileName($SecondFile)) = 0 Then
$FileSize1 = FileGetSize($FirstFile)
GUICtrlSetData($Size1,$FileSize1 & " KB")
$FileSize2 = FileGetSize($SecondFile)
GUICtrlSetData($Size2,$FileSize2 & " KB")
Dim $FileDate1[6]
Dim $FileDate2[6]
$FileDate1 = FileGetTime($FirstFile,1)
GUICtrlSetData($DateTime1, $FileDate1[1] & "/" & $FileDate1[2] & "/" & $FileDate1[0] & " " & $FileDate1[3] & ":" & $FileDate1[4] & ":" & $FileDate1[5])
$FileDate2 = FileGetTime($SecondFile,1)
GUICtrlSetData($DateTime2, $FileDate2[1] & "/" & $FileDate2[2] & "/" & $FileDate2[0] & " " & $FileDate2[3] & ":" & $FileDate2[4] & ":" & $FileDate2[5])
$FileType1 = SetFileType($FirstFile)
GUICtrlSetData($Type1,$FileType1)
$FileType2 = SetFileType($SecondFile)
GUICtrlSetData($Type2,$FileType2)
$ReadFile1 = FileOpen($FirstFile,0)
$ReadFile2 = FileOpen($SecondFile,0)
If $ReadFile1 = -1 Or $ReadFile2 = -1 Then
MsgBox(4096 + 48, "Error", "Unable to open files.")
Call ClearAll
Return 0
EndIf
Dim $line1[50000]
Dim $line2[50000]
$ctr1 = 0
While 1
$ctr1 = $ctr1 + 1
$line1[$ctr1] = FileReadLine($ReadFile1)
If @error = -1 Then ExitLoop
Wend
FileClose($FirstFile)
$ctr2 = 0
While 1
$ctr2 = $ctr2 + 1
$line2[$ctr2] = FileReadLine($ReadFile2)
If @error = -1 Then ExitLoop
Wend
FileClose($SecondFile)
$ctr = 0
if $ctr1 > $ctr2 Then
$ctr = $ctr1
Else
$ctr = $ctr2
EndIf
if $ctr > 0 then
GUICtrlSetData($Header1, "File 1 Header : " & $line1[1])
GUICtrlSetData($Header2, "File 2 Header : " & $line2[1])
Endif
$i = 0
For $Counter = 1 to $ctr Step 1
if $line1[$Counter] <> $line2[$Counter] then
$i = $i + 1
$Line1Line2 = GuiCtrlCreateListViewItem($line1[$Counter] & "," & $line2[$Counter], $Strings_Inside_The_Files)
Endif
Next
GUICtrlSetData($LinesRead1, $ctr1)
GUICtrlSetData($LinesRead2, $ctr2)
GUICtrlSetData($ErrorCtr, $i)
if $i > 0 then
GUICtrlSetData($Failed, "Test Failed.")
GUICtrlSetColor($Failed,0xff0000)
$TestResult = "Failed"
Else
GUICtrlSetData($Failed, "PASSED!")
GUICtrlSetColor($Failed,0x000000)
$TestResult = "Passed"
Endif
If FileExists ($LogFileName) = 0 Then
$LogFileOpened = Fileopen($LogFileName,1)
FileWriteLine($LogFileOpened, "First File Compared, Second File Compared , Date Compared , Time Compared , Test Result")
Else
$LogFileOpened = Fileopen($LogFileName,1)
EndIf
FileWriteLine($LogFileOpened, GetFileName($FirstFile) & "," & GetFileName($SecondFile) & "," & _NowDate() & "," & _NowTime() & "," & $TestResult)
FileClose($LogFileOpened)
GUICtrlSetOnEvent($Clear_All, "ClearAll")
GUICtrlSetState($Clear_All, $GUI_ENABLE)
GUICtrlSetState($Process_Button, $GUI_DISABLE)
GUICtrlSetState($FileName1, $GUI_DISABLE)
GUICtrlSetState($FileName2, $GUI_DISABLE)
GUICtrlSetState($GetFileName1, $GUI_DISABLE)
GUICtrlSetState($GetFileName2, $GUI_DISABLE)
EndIf
EndFunc
Func ClearAll()
_GUICtrlListViewDeleteAllItems($Strings_Inside_The_Files)
GUICtrlSetData($FileName1,"")
GUICtrlSetData($FileName2,"")
GUICtrlSetData($Header1,"File 1 Header : ")
GUICtrlSetData($Header2,"File 2 Header : ")
GUICtrlSetData($Size1,"")
GUICtrlSetData($Size2,"")
GUICtrlSetData($LinesRead1,"")
GUICtrlSetData($LinesRead2,"")
GUICtrlSetData($DateTime1,"")
GUICtrlSetData($DateTime2,"")
GUICtrlSetData($Type1,"")
GUICtrlSetData($Type2,"")
GUICtrlSetData($ErrorCtr,"")
GUICtrlSetData($Failed,"")
GUICtrlSetState($Process_Button, $GUI_DISABLE)
GUICtrlSetState($Clear_All, $GUI_DISABLE)
GUICtrlSetState($FileName1, $GUI_ENABLE)
GUICtrlSetState($FileName2, $GUI_ENABLE)
GUICtrlSetState($GetFileName1, $GUI_ENABLE)
GUICtrlSetState($GetFileName2, $GUI_ENABLE)
GuiSetState()
EndFunc
Func ViewLog()
If WinExists("View Log File for Previously Tested Files.") Then
WinActivate("View Log File for Previously Tested Files.")
Return 0
EndIf
Global $radio1, $radio2, $radio3, $Date, $AllDate, $LogWindow, $LogFileList
$LogWindow = GuiCreate("View Log File for Previously Tested Files.", 830, 500, 180,180)
GUISetOnEvent($GUI_EVENT_CLOSE, "ExitLog")
$Date = GUICtrlCreateMonthCal(_NowDate(),615, 50,200,200)
GUICtrlSetOnEvent($Date, "ShowLog")
$AllDate = GUICtrlCreateCheckbox("Show Results for All Dates", 615, 250, 150, 50)
GUICtrlSetOnEvent($AllDate, "ShowLog")
$DeleteButton = GuiCtrlCreateButton("Delete Selected Log", 630, 320, 160, 30)
GUICtrlSetOnEvent($DeleteButton, "DeleteSelectedLog")
$ShellExcel = GuiCtrlCreateButton("Open Log File", 630, 365, 160, 30)
GUICtrlSetOnEvent($ShellExcel, "OpenFile")
$ExitLogWindow = GuiCtrlCreateButton("Exit", 630, 400, 160, 30)
GUICtrlSetOnEvent($ExitLogWindow, "ExitLog")
GUICtrlCreateGroup("Filter Results ", 20, 445, 580, 45)
$radio1 = GUICtrlCreateRadio("View All", 90, 463, 80, 20)
GUICtrlSetState($radio1, $GUI_CHECKED)
GUICtrlSetStyle($radio1, $BS_AUTORADIOBUTTON)
GUICtrlSetOnEvent($radio1, "ShowLog")
$radio2 = GUICtrlCreateRadio("View Passed", 190, 463, 100, 20)
GUICtrlSetStyle($radio2, $BS_AUTORADIOBUTTON)
GUICtrlSetOnEvent($radio2, "ShowLog")
$radio3 = GUICtrlCreateRadio("View Failed", 310, 463, 100, 20)
GUICtrlSetStyle($radio3, $BS_AUTORADIOBUTTON)
GUICtrlSetOnEvent($radio3, "ShowLog")
$LogFileList = GuiCtrlCreateListView("I , First File , Second File , Date Comp. , Time Comp. , Result", 20, 20, 580, 420, BitOR($LVS_SHOWSELALWAYS, $LVS_NOSORTHEADER))
GUICtrlSetFont($LogFileList, 8 , 400 , 0 , "Verdana" )
GUICtrlSendMsg($LogFileList, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_GRIDLINES, $LVS_EX_GRIDLINES)
GUICtrlSendMsg($LogFileList, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_FULLROWSELECT, $LVS_EX_FULLROWSELECT)
_GUICtrlListViewSetColumnWidth($LogFileList, 0, 1)
_GUICtrlListViewSetColumnWidth($LogFileList, 1, 150)
_GUICtrlListViewSetColumnWidth($LogFileList, 2, 150)
_GUICtrlListViewSetColumnWidth($LogFileList, 3, 95)
_GUICtrlListViewSetColumnWidth($LogFileList, 4, 95)
_GUICtrlListViewSetColumnWidth($LogFileList, 5, 70)
GuiSetState()
HotKeySet("{DEL}", "DeleteItem")
Call("ShowLog")
EndFunc
Func ShowLog()
$SelectedDate = _DateTimeFormat(GUICtrlRead($Date),2)
$ShowAllDate = GUICtrlRead($AllDate)
$ViewAllIsSelected = GUICtrlRead($radio1)
$ViewPassedIsSelected = GUICtrlRead($radio2)
$ViewFailedIsSelected = GUICtrlRead($radio3)
_GUICtrlListViewDeleteAllItems ($LogFileList)
$OpenLogFile = FileOpen($LogFileName,0)
_FileReadToArray($LogFileName,$File_Array)
_ArrayDelete($File_Array, 0)
$Counter = 0
While 1
$LogFileLineItem = FileReadLine($OpenLogFile)
$Counter = $Counter + 1
If $LogFileLineItem = "" Or $LogFileLineItem = -1 Then ExitLoop
If $ShowAllDate = $GUI_CHECKED Then
If StringInStr($LogFileLineItem, "Result") <> 0 Then
Else
If $ViewAllIsSelected = $GUI_CHECKED Then
$LogFileItem = GuiCtrlCreateListViewItem($Counter & "," & $LogFileLineItem, $LogFileList)
ElseIf $ViewPassedIsSelected = $GUI_CHECKED Then
If StringInStr($LogFileLineItem, "Passed") > 0 Then $LogFileItem = GuiCtrlCreateListViewItem($Counter & "," & $LogFileLineItem, $LogFileList)
ElseIf $ViewFailedIsSelected = $GUI_CHECKED Then
If StringInStr($LogFileLineItem, "Failed") > 0 Then $LogFileItem = GuiCtrlCreateListViewItem($Counter & "," & $LogFileLineItem, $LogFileList)
Else
EndIf
EndIf
Else
If StringInStr($LogFileLineItem, $SelectedDate) > 0 Then
If $ViewAllIsSelected = $GUI_CHECKED Then
$LogFileItem = GuiCtrlCreateListViewItem($Counter & "," & $LogFileLineItem, $LogFileList)
ElseIf $ViewPassedIsSelected = $GUI_CHECKED Then
If StringInStr($LogFileLineItem, "Passed") > 0 Then $LogFileItem = GuiCtrlCreateListViewItem($Counter & "," & $LogFileLineItem, $LogFileList)
ElseIf $ViewFailedIsSelected = $GUI_CHECKED Then
If StringInStr($LogFileLineItem, "Failed") > 0 Then $LogFileItem = GuiCtrlCreateListViewItem($Counter & "," & $LogFileLineItem, $LogFileList)
Else
EndIf
Endif
EndIf
Wend
GUICtrlSetColor($radio1, 0x00ff00)
FileClose ($LogFileName)
EndFunc
Func DeleteSelectedLog()
Send("{DEL}")
EndFunc
Func DeleteItem()
$SelectedItemFromListView = ControlListView("View Log File for Previously Tested Files.", "Open Log File", $LogFileList, "GetSelectedCount")
If $SelectedItemFromListView < 1 Then Return 0
If MsgBox(4096 + 4 + 32, "FC Logs","Delete Selected Item? Are you Sure?") = 6 Then
$SelectedItemFromListView = ControlListView("View Log File for Previously Tested Files.", "Open Log File", $LogFileList, "GetSelected")
$SelectedFromListView = ControlListView("View Log File for Previously Tested Files.", "Open Log File", $LogFileList, "GetText",$SelectedItemFromListView,0)
_ArrayDelete($File_Array, $SelectedFromListView-1)
_FileWriteFromArray($LogFileName,$File_Array)
Call("ShowLog")
EndIf
EndFunc
Func OpenFile()
ShellExecute($LogFileName)
WinFlash("View Log File for Previously Tested Files.", "Open Log File", 3, 500)
EndFunc
Func ExitLog()
HotKeySet("{DEL}")
GUIDelete ($LogWindow)
GUISwitch ($MainWindow)
Return 0
EndFunc
Func ExitButton()
MsgBox(4096 + 64, "FC Utility", "Exiting...")
Exit
EndFunc
Func OnAutoItStart()
If WinExists("File Compare Utility") Then
WinActivate("File Compare Utility")
Exit
Else
DllCall("kernel32.dll", "int", "Wow64DisableWow64FsRedirection", "int", 1)
EndIf
EndFunc
;User Defined Functions
Func SetFileType($ParamType)
Dim $FileType
Select
Case StringUpper(StringRight($ParamType,3)) = "TXT"
$FileType = "Text File"
Case StringUpper(StringRight($ParamType,3)) = "CSV"
$FileType = "Comma Separed Value"
Case Else
$FileType = "Unknown File"
EndSelect
Return $FileType
EndFunc
Func GetFileName($FileNameWithPath)
$PathFileName = ""
For $Ctr = StringLen($FileNameWithPath) to 1 step -1
$Character = StringMid($FileNameWithPath,$Ctr,1)
If $Character <> "\" Then
$PathFileName = $Character & $PathFileName
Else
ExitLoop
EndIf
Next
Return $PathFileName
EndFunc
Func CheckFileExtensionIsTXTorCSV($FileNameWithPath)
$PathFileName = ""
For $Ctr = StringLen($FileNameWithPath) to 1 step -1
$Character = StringMid($FileNameWithPath,$Ctr,1)
If $Character <> "\" Then
$PathFileName = $Character & $PathFileName
Else
ExitLoop
EndIf
Next
If StringUpper(StringRight($PathFileName,3)) <> "CSV" And StringUpper(StringRight($PathFileName,3)) <> "TXT" Then
Return 0
Else
Return 1
EndIf
EndFunc
Func CheckIfFileAlreadyCompared($CheckFile1,$CheckFile2)
$Opened_LogFile = FileOpen ($LogFileName,0)
If @error Then
; MsgBox(4096,"","No File(s) chosen")
Else
While 1
$LogFileItem = FileReadLine($Opened_LogFile)
if StringInStr($LogFileItem,$CheckFile1) > 0 Then
If StringInStr($LogFileItem,$CheckFile2) > 0 Then
$DateCompared = StringMid($LogFileItem,StringLen($CheckFile1 & "," & $CheckFile2)+2,10)
If StringRight($DateCompared,1) = "," Then $DateCompared = StringMid($DateCompared,1,StringLen($DateCompared)-1)
$ComparingResult = StringRight($LogFileItem,6)
Msgbox (4096 + 64,"Warning:","Files Selected already compared last " & $DateCompared & "." & @CRLF & "File Compare Result " & StringUpper($ComparingResult) & "!")
Return 1
EndIf
Endif
If $LogFileItem = "" Or $LogFileItem = - 1 Then ExitLoop
Wend
EndIf
Return 0
EndFunc

No comments:
Post a Comment