Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.02.2017, 22:15   #1
nikitin.leha-201
Пользователь
 
Регистрация: 19.11.2016
Сообщений: 24
По умолчанию Подсчитать количество несовпадений в файлах c выводом в Label

Добрый вечер , всем присутствующим !

В заголовке темы, в принципе суть проблемы описана.
Программа для сравнения файлов, на совпадения, или несовпадения.
Ну и ещё некоторые функции, ну не это главное.
Всё в программе реализована, всё работает как надо.
Но есть один момент, который не удаётся реализовать.
На данный момент программа сверяет файлы и если есть хоть одно несовпадение, программа оповещает пользователя ( что файлы не <>).
Даже, если расхождения в один байт.
Но вот как подсчитать и сделать вывод в Label, или ShowMessage(' '); о количестве несовпадений.
Скажем так : количество несовпадений 2 и.т.д
Прошу помощи зала!
Пример кода :

Код:
var
A: array  of Byte;
B: array  of Byte;
f: TFileStream;
j,i:integer;
s,G:string;
D1,D2: Word;
begin

with OpenDialog1 do
if Execute then
begin
F:=TFileStream.Create(OpenDialog1.FileName,fmOpenRead or fmShareDenyNone);
begin
Label1.Caption:=ExtractFileName(OpenDialog1.FileName);
Label2.Caption:= 'Size :'+' ' +IntToStr(f.Size)+ ' ' + ' '+'Byte';
F .Position:=$0;
SetLength(s, F.Size);
F.Read(s[1], length(s));
if Length(s) = 0 then SetLength(s, 1);
SetLength(s, Length(s) + 1);
for j:=0 to F.size do s[1]:=s[j];
end;
begin

.....
.......

end;

begin
.......
end;

begin
if s <> G then
begin
showMessage('Файлы неравны и  есть различия в файлах  ! ');
end
else
begin
showMessage('Файлы равны и различий нет ! ');
end;
end;
end;
end;
end;
F.Free;
end;
end;
end.

Последний раз редактировалось Alex11223; 27.02.2017 в 23:02.
nikitin.leha-201 вне форума Ответить с цитированием
Старый 27.02.2017, 22:47   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Файл1: Подсчитать количество несовпадений в файлах
Файл2: 1Подсчитать количество несовпадений в файлах
Сколько не совпадений?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 28.02.2017, 00:55   #3
nikitin.leha-201
Пользователь
 
Регистрация: 19.11.2016
Сообщений: 24
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Файл1: Подсчитать количество несовпадений в файлах
Файл2: 1Подсчитать количество несовпадений в файлах
Сколько не совпадений?
Да, я понял что надо подсчитать циклом, но в том то и дело что не пойму как...

Последний раз редактировалось nikitin.leha-201; 28.02.2017 в 01:00.
nikitin.leha-201 вне форума Ответить с цитированием
Старый 28.02.2017, 00:59   #4
nikitin.leha-201
Пользователь
 
Регистрация: 19.11.2016
Сообщений: 24
По умолчанию сообщение

Цитата:
Сообщение от Аватар Посмотреть сообщение
Файл1: Подсчитать количество несовпадений в файлах
Файл2: 1Подсчитать количество несовпадений в файлах
Сколько не совпадений?
Да, я понимаю что надо подсчитать количество несовпадений, но вот что то в тупик зашёл, два буфера s и g два файла загружаются в потоке, один за другим, по нажатию кнопки. А вот как реализовать, понимаю что в цикле надо, но вот зашёл в тупик....

Последний раз редактировалось nikitin.leha-201; 28.02.2017 в 03:04. Причина: двойное сообщение
nikitin.leha-201 вне форума Ответить с цитированием
Старый 28.02.2017, 09:38   #5
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

это опять задание от вашего руководителя кружка программирования?
Цитата:
понимаю что в цикле надо, но вот зашёл в тупик....
одним( и даже двумя) циклами не обойдешься.
сначала надо ПРИДУМАТЬ(или понять) алгоритм сравнения и подсчета на русском языке, а уж потом переводить этот алгоритм на другой язык(Pascal).
http://www.gunsmoker.ru/2011/01/blog-post.html
про комментарии и псевдокод.

по поводу "что придумать" можете ознакомиться с возможными вариациями.
http://algolist.manual.ru/search/lcs/index.php
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 28.02.2017, 13:26   #6
nikitin.leha-201
Пользователь
 
Регистрация: 19.11.2016
Сообщений: 24
По умолчанию

Цитата:
Сообщение от evg_m Посмотреть сообщение
это опять задание от вашего руководителя кружка программирования?

одним( и даже двумя) циклами не обойдешься.
сначала надо ПРИДУМАТЬ(или понять) алгоритм сравнения и подсчета на русском языке, а уж потом переводить этот алгоритм на другой язык(Pascal).
http://www.gunsmoker.ru/2011/01/blog-post.html
про комментарии и псевдокод.

по поводу "что придумать" можете ознакомиться с возможными вариациями.
http://algolist.manual.ru/search/lcs/index.php

Всё, вчера разобрались на одном форуме пример был, всё удачно получилось да, согласен задача не из лёгких оказалась, но благо пример удачный нашли и удалось реализовать. Спасибо всем откликнувшимся !

P.S

Нет, это задание не для кружка, это так сказать для саморазвития.
Евгений, Вы не обижайтесь пожалуйста, но я вот что скажу, когда нечего сказать, или нет возможности и знаний показать спрасившему человеку.
Лучше промолчать, ей Богу ! Ваши какие то намёки и ссылки совсем не уместны и к чему они тоже не понятно. А давать ссылки (переводя стрелки ) может и дрессированное шимпанзе в цирке ! Это не показатель профессионализма. Всё просто , в этой жизни, можешь помоги, покажи, не можешь просто промолчи или пройди мимо..... Ещё раз спасибо и прошу не обижаться .
nikitin.leha-201 вне форума Ответить с цитированием
Старый 28.02.2017, 14:18   #7
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Сообщение от nikitin.leha-201 Посмотреть сообщение
можешь помоги, покажи
Вы неправильно понимаете что значит "помочь".
Если вам просто скажут как решить эту задачу, то вряд ли это сильно продвинет вас в изучении программирования, скорее всего вы снова обратитесь за "помощью" на следующей же задаче, даже если она не сильно сложнее первой.

Или вы предлагаете другим людям все время "ловить рыбу" за вас?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск по DBGrid с выводом в Label (Delphi) 8tomat8 Помощь студентам 6 08.11.2013 22:17
Подсчитать количество ВіталікФ Microsoft Office Excel 1 04.04.2012 22:34
Задана последовательность чисел в формате:сначала количество цифр в числе, потом - цифры числа. Подсчитать количество. Arn1 Помощь студентам 4 03.10.2011 20:03
Подсчитать количество слов и количество букв MDSIQ Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 13.11.2010 16:57
Проблема с правильным выводом текста в label Bigtyoma Помощь студентам 2 09.11.2010 00:01