Сравнение нетипизированных файлов

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Rostik Ultra (2)
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 159
Зарегистрирован: 10.05.2005 (Вт) 2:41
Откуда: Антарктическая республика

Сравнение нетипизированных файлов

Сообщение Rostik Ultra (2) » 11.09.2005 (Вс) 3:18

Как сравнить на предмет идентичности два нетипизированных файла ?
Мой сайт http://mentalprograms.narod.ru/ - бесплатные развивающие программы

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 11.09.2005 (Вс) 4:35

1) Смотрим размеры. Если отличаются, то файлы не идентичны. Иначе 2)
2) Загружаем файлы в массивы. Сравниваем массивы.

Какой пункт непонятен?

Ответы на все свои вопросы ищем тут
http://bbs.vbstreets.ru/viewtopic.php?t=14549

Sasha_karasov
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 436
Зарегистрирован: 03.03.2005 (Чт) 19:38
Откуда: ua.dp

Сообщение Sasha_karasov » 11.09.2005 (Вс) 5:11

+для быстродействия не нужно тупа сравнивать массивы
Вот так:

Код: Выделить всё
For i=0 to SizeFile
   If File1(i)<>File2(i) then
Next i

'А к примеру будем  сравнивать I+10 Байты, тоесть так:

For i=0 to SizeFile Step 10
   If File1(i)<>File2(i) then
Next i

:D
Удачи!
С уважением, Алексадр.

SHURUP
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 440
Зарегистрирован: 15.09.2004 (Ср) 14:24
Откуда: Ирпень, Украина

Сообщение SHURUP » 12.09.2005 (Пн) 4:25

Sasha_karasov писал(а):'А к примеру будем сравнивать I+10 Байты
:shock: А если файлы отличаются одним-двумя байтами и ни один из этих байтов не является 10-м?
Тогда В случае одинаковых файлов программа вместо вывода сообщения "файлы идентичны" должна будет говорить "Файлы скорее всего идентичны, но кто его знает".
Нам чужого не надо, но своё мы возьмем, чьё бы оно ни было...

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 12.09.2005 (Пн) 10:15

Sasha_karasov писал(а):+для быстродействия не нужно тупа сравнивать массивы
Вот так:

Идиотизм.
Lasciate ogni speranza, voi ch'entrate.

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 12.09.2005 (Пн) 11:45

Че-то я не понял... Это что, массовая эпидемия склероза? Народ, вы забыли что такое CRC?
Лучший способ понять что-то самому — объяснить это другому.

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 12.09.2005 (Пн) 11:55

2 Antonariy
наверное забыли :D
но CRC не всегда дает абсолютно верный результат.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 12.09.2005 (Пн) 12:10

Antonariy писал(а):Че-то я не понял... Это что, массовая эпидемия склероза? Народ, вы забыли что такое CRC?

Во-первых, CRC32 ненадежен.
Во-вторых, его надо посчитать. Если уж ты все-равно будет считывать оба файла (чтобы вычислить CRC), то почему бы заодно не сравнить побайтово?
Lasciate ogni speranza, voi ch'entrate.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: SemrushBot и гости: 61

    TopList