[решено] Не удается сравнить два файла

Ответить
Аватара пользователя
Creat0R

[решено] Не удается сравнить два файла

Сообщение Creat0R »

Всем привет!



Подскажите, пожалуйста, как правильно сравнить два текстовых файла на предмет идентичности друг другу.


Делаю так:






Код:

Код: Выделить всё

#NoTrayIcon
$ipfilter = "H:\Program Files\uTorrent\ipfilter.dat"
FileOpen($ipfilter, 0)
$oldIpFilter = FileRead($ipfilter)
FileClose($ipfilter)
FileOpen(@ScriptDir & "\ipfilter.dat", 0)
$newIpFilter = FileRead(@ScriptDir & "\ipfilter.dat")
FileClose(@ScriptDir & "\ipfilter.dat")
MsgBox(64, "Old IpFilter", $oldIpFilter)
MsgBox(64, "New IpFilter", $newIpFilter)
If  $oldIpFilter==$newIpFilter Then
    MsgBox(64, "", "IpFilter актуален")
Else
    MsgBox(64, "", "IpFilter не актуален")
EndIf
Exit






Однако, в любом случае, выскакивает окно, что IpFilter не актуален. Даже если проверяю один и тот же файл Изображение

В чем ошибка?
Аватара пользователя
Creat0R

Re: [решено] Не удается сравнить два файла

Сообщение Creat0R »

Цитата D_Master:



В чем ошибка?
[решено] Не удается сравнить два файла




Ну хотябы в том, что FileOpen используется неверно, в справке же есть пример использования этой функции. Но при чтения всего файла, совсем не обязательно его открывать:





Код:

Код: Выделить всё

#NoTrayIcon
$sFile1 = "H:\Program Files\uTorrent\ipfilter.dat"
$sFile2 = @ScriptDir & "\ipfilter.dat"
$sOldIpFilter = FileRead($sFile1)
$sNewIpFilter = FileRead($sFile2)
MsgBox(64, "Old IpFilter", $sOldIpFilter)
MsgBox(64, "New IpFilter", $sNewIpFilter)
If $sOldIpFilter == $sNewIpFilter Then
    MsgBox(64, "", "IpFilter актуален")
Else
    MsgBox(64, "", "IpFilter не актуален")
EndIf
Exit
Аватара пользователя
Creat0R

Re: [решено] Не удается сравнить два файла

Сообщение Creat0R »

Цитата Creat0R:



Ну хотябы в том, что FileOpen используется неверно
[решено] Не удается сравнить два файла




То есть, открывать надо в режиме 4?


Цитата Creat0R:



Но при чтения всего файла, совсем не обязательно его открывать:
[решено] Не удается сравнить два файла




Спасибо, всё работает Изображение
Аватара пользователя
Creat0R

Re: [решено] Не удается сравнить два файла

Сообщение Creat0R »

Цитата D_Master:



открывать надо в режиме 4
[решено] Не удается сравнить два файла




Нет. Я про то, что функция FileOpen() возвращает хендл (указатель), его и нужно использовать рпи чтении, см. пример в справке!
Ответить

Вернуться в «AutoIt»