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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.01.2014, 06:32   #41
Vanta11a
Lawful Evil
Участник клуба
 
Аватар для Vanta11a
 
Регистрация: 13.05.2008
Сообщений: 1,208
По умолчанию

Без разницы, главное, чтобы весь код был обернут в теги, которые этой кнопкой добавляются.
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c)
Vanta11a вне форума Ответить с цитированием
Старый 31.01.2014, 14:25   #42
Семён-2014@
Пользователь
 
Регистрация: 28.01.2014
Сообщений: 37
По умолчанию ответ

Цитата:
Сообщение от Vanta11a Посмотреть сообщение
Без разницы, главное, чтобы весь код был обернут в теги, которые этой кнопкой добавляются.
Ну с кнопкой я понял.

Последний раз редактировалось Семён-2014@; 31.01.2014 в 20:40.
Семён-2014@ вне форума Ответить с цитированием
Старый 31.01.2014, 14:36   #43
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Семён-2014@
А вот поиск багов( я так понимаю поиск ошибок?)
1) поиск ошибок пока не нужен.
2)Алгоритм бесплатен ( уже хорошо).
3) реализация за плату..
То, что Вы анализируете, это ПОДПИСЬ форумчанина Vanta11a. Это к Вам конкретно не относится, так - скорее жизненный девиз!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 31.01.2014, 14:40   #44
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Улыбнуло. Мой дятел в подписи тоже к вам не относится
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 31.01.2014, 16:01   #45
Семён-2014@
Пользователь
 
Регистрация: 28.01.2014
Сообщений: 37
По умолчанию ответ

Цитата:
Сообщение от Аватар Посмотреть сообщение
Улыбнуло. Мой дятел в подписи тоже к вам не относится
Понял, принято.

Последний раз редактировалось Семён-2014@; 31.01.2014 в 20:40.
Семён-2014@ вне форума Ответить с цитированием
Старый 31.01.2014, 18:42   #46
Vanta11a
Lawful Evil
Участник клуба
 
Аватар для Vanta11a
 
Регистрация: 13.05.2008
Сообщений: 1,208
По умолчанию

Определяешься, чего хочешь от программы.
Разбиваешь все хотелки на блоки (пусть по функционалу).
Разбираешь каждый блок на кусочки (нужно сделать то-то и то-то).
И начинаешь по кусочкам делать.

Самый простой пример - готовка каких нибудь макарон с сосисками. Для этого надо:
1) сварить макароны
2) сварить сосиски
Для 1) надо:
1.1) налить воды
1.2) посолить
1.3) вскипятить
1.4) высыпать макароны
1.5) дождаться готовности
Для 2 надо:
2.1) налить воды
2.2) закинуть сосиски
2.3) варить до готовности

Соответственно пункты можно еще сильнее разбить.

Вот с проблемами, которые будут появляться в процессе реализации, и заходи к нам. Только прогугливать не забывай сначала.
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c)
Vanta11a вне форума Ответить с цитированием
Старый 31.01.2014, 20:38   #47
Семён-2014@
Пользователь
 
Регистрация: 28.01.2014
Сообщений: 37
По умолчанию ответ

Цитата:
Сообщение от Vanta11a Посмотреть сообщение
Определяешься, чего хочешь от программы.
Разбиваешь все хотелки на блоки (пусть по функционалу).
Разбираешь каждый блок на кусочки (нужно сделать то-то и то-то).
И начинаешь по кусочкам делать.

Самый простой пример - готовка каких нибудь макарон с сосисками. Для этого надо:
1) сварить макароны
2) сварить сосиски
Для 1) надо:
1.1) налить воды
1.2) посолить
1.3) вскипятить
1.4) высыпать макароны
1.5) дождаться готовности
Для 2 надо:
2.1) налить воды
2.2) закинуть сосиски
2.3) варить до готовности

Соответственно пункты можно еще сильнее разбить.

Вот с проблемами, которые будут появляться в процессе реализации, и заходи к нам. Только прогугливать не забывай сначала.

А я что плохо выразил просьбу ?

1)То что я хочу сделать из программы, я чётко представляю.
2) А разве я в своём запросе не выкладываю блоки, один решён, помощь во втором и.т.д.
3) проблема в реализации подсчёта контрольной суммы файла и сверка с прописанной. Адрес начала и конец ( откуда начинается подсчёт и где останавливается) всё выложено на 4 странице.
4)нужен алгоритм реализации, приведенный мной пример подсчитывает контрольную сумму от файла целиком, а не с определённой области до конца этой области. Не подходит в корне .
5) Я всегда сначала про гуглю , а уж потом обращаюсь, если-б в гугле нашёл, то этот вопрос был бы решён и не поднимался бы.
Думаю придётся почистить тему, ато главного не видно, это помощь в реализации подсчёта и сверки контрольной и прописанной суммы.
Семён-2014@ вне форума Ответить с цитированием
Старый 31.01.2014, 20:45   #48
Семён-2014@
Пользователь
 
Регистрация: 28.01.2014
Сообщений: 37
По умолчанию продолжение

Цитата:
Сообщение от Семён-2014@ Посмотреть сообщение
Проблема в следующем: подсчитать контрольную сумму файла и сравнить с прописной хранящейся в ячейки файла, на определённом адресе, если подсчитанная сумма совпадёт файл, рабочий выводим в Label, если нет то соответственно не пригоден файл(тоже выводим). Проблема в следующем сумма подсчитывается не с начало файла, а с определённого адреса и считается до определённого адреса, далее сверяется с ячейками на определённом адресе. Файл бинарный считается с адреса 110 H до 1FCH, суммируя по байтно. А потом результат сравнивается с тем , что прописано в адресах 1FB-1FC. Ситуация такая : В ячейки байт может прописан как 01, D6,21, 4E всё это переводится из Hex в Dec, соответственно : 01=1, D6=214, 21=33, 4E=78 , далее 1+214+33+78 и.т.д.
Инфы конкретной не нашёл, то что удалось собрать самому прилагаю, но к сожалению мой метод считает общую сумму от файла, с начала и до конца, естественно что при этом способе подсчитанная и прописанная суммы не совпадают. Нужно с адреса конкретного и по приведённому мной алгоритму.Все попытки присвоить адрес , не получаются, видимо нужен другой алгоритм. Прошу помощь зала.

Код:
var
  Form1: TForm1;
TEST_FILE:File Of Byte;
implementation

{$R *.dfm}


procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
Label5.Caption:='  ';//Очищаем поле
OpenDialog1.Filter:='Все файлы ( *.* )';
If OpenDialog1.Execute Then
AssignFile(TEST_FILE,OpenDialog1.FileName);//Связываем дескриптор
// TEST_FILE с именем файла
End;


procedure TForm1.SpeedButton2Click(Sender: TObject);
Var
  CS:Byte;
  Res:Integer;//Здесь будет конечный результат
  Sum:Integer;//Здесь будет контрольная сумма
Begin
  Sum:=0;//Обнуляем контрольную сумму
  Reset(TEST_FILE);//Открываем файл для чтения
  While Not Eof(TEST_FILE) Do Begin//Пока не конец файла
     Read(TEST_FILE,CS);//Читаем один байт из файла
     Sum:=Sum+CS;//Прибавляем этот байт к контрольной сумме
  End;
  Res:=Sum Mod 10000;//Делим полученный результат на достаточно большое
  //число
  //т.к. контрольная сумма файла может быть очень большой
  Label5.Caption:=IntToStr(Res);//Выводим результат
  CloseFile(TEST_FILE);
End;
Прописная сумма известна она должна равняться =1055, соответственно подсчитанная должна совпасть.




________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(это кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!

Модератор.
Вот что нужно реализовать на данном этапе, вопрос актуальный как?
нужен алгоритм реализации.
Семён-2014@ вне форума Ответить с цитированием
Старый 31.01.2014, 21:11   #49
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

А вы и не хотите учиться. В постах #12 и #18 практически уже все есть. Осталось немного мозгой шевельнуть. Вот еще раз показываю, OpenDialog сами подключите
Код:
procedure TForm1.Button1Click(Sender: TObject);
const cLen = $1FC-$110+1; //имеется ввиду с включением адреса 1FC, если исключая его +1 убрать
var Stream: TFileStream;
    a: array [1..cLen] of Byte;
    w1,w2: Word;  //коль контрольная сумма в двух байтах, то и считаем её в word
    i: Integer;
begin
  Stream:=TFileStream.Create('e:\MyFile.bin',fmOpenRead or fmShareDenyNone);
  Stream.Position:=$110;
  Stream.Read(a,cLen);
  w1:=0;
  for i:=1 to cLen do w1:=w1+a[i];  //при переполнении если таковое случится левые биты обрежутся
  Stream.Position:=$1FB;
  Stream.Read(w2,2);
  if w2<>w1 then ShowMessage('Контрольная сумма не совпадает');
  Stream.Free;
  //что контрольная сумма именно так считается далеко не уверен, есть разные способы
end;
Да, и совсем не обязательно такое массовое цитирование делать, даже вредно
И сомневаюсь, что сама контрольная сумма попадает в диапазон, по которому она рассчитывается. Хотя может и есть такая хитрость
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 31.01.2014 в 22:43.
Аватар вне форума Ответить с цитированием
Старый 01.02.2014, 22:45   #50
Семён-2014@
Пользователь
 
Регистрация: 28.01.2014
Сообщений: 37
По умолчанию ответ

Цитата:
Сообщение от Аватар Посмотреть сообщение
А вы и не хотите учиться. В постах #12 и #18 практически уже все есть. Осталось немного мозгой шевельнуть. Вот еще раз показываю, OpenDialog сами подключите
Код:
procedure TForm1.Button1Click(Sender: TObject);
const cLen = $1FC-$110+1; //имеется ввиду с включением адреса 1FC, если исключая его +1 убрать
var Stream: TFileStream;
    a: array [1..cLen] of Byte;
    w1,w2: Word;  //коль контрольная сумма в двух байтах, то и считаем её в word
    i: Integer;
begin
  Stream:=TFileStream.Create('e:\MyFile.bin',fmOpenRead or fmShareDenyNone);
  Stream.Position:=$110;
  Stream.Read(a,cLen);
  w1:=0;
  for i:=1 to cLen do w1:=w1+a[i];  //при переполнении если таковое случится левые биты обрежутся
  Stream.Position:=$1FB;
  Stream.Read(w2,2);
  if w2<>w1 then ShowMessage('Контрольная сумма не совпадает');
  Stream.Free;
  //что контрольная сумма именно так считается далеко не уверен, есть разные способы
end;
Да, и совсем не обязательно такое массовое цитирование делать, даже вредно
И сомневаюсь, что сама контрольная сумма попадает в диапазон, по которому она рассчитывается. Хотя может и есть такая хитрость
Ну докладываю, всё прошло , более чем отлично, разумеется с изменениями и доработками, но Всё как и хотел , всё на одной кнопке, при загрузке и читает и считает и выводит. Сидел вчера допоздна и сегодня изучаю и цикл фор и опять константы, Всё правильно мозгой надо шевелить и пытаюсь шевелить.Я ведь сначала и пробовал комбинацию постов #12 и #18, но не получилось, теперь знаю из за чего константа и clen, в своих материалах вообще не нашёл по Clen ни чего, в инете пока тоже , вот и как хочешь, так и шевели. Но направление вёл правильное изначально, поэтому и говорю что цикл и константы, опять заучиваю, показали мне слабое место. А ВЫ, Аватар даже не сомневайтесь, сумма с не большой доработкой в диапазон попала как снайпер в цель. Единственное что не улыбнуло прописанную выводит с права, на лево, а не так как должна идти с лева, на право, но это даже хорошо, сама на ход встала.
Но вопрос остался почему, все данные с лева на право, а здесь, наоборот. Разбираюсь с этим, хотя мне для работы и тем кто вычисляет, так удобней...
С условием косячок пока заместо считанных данных не могу версию запчасти... там три условия надо сразу, а я пока с тремя не работал, вот может и касячу.... В общем прога почти готова, кроме маленького условия этого, Готов Аватар выслать Вам на пробу, как раз и посмотрите может, она считать, или нет. Быстрей родной считает и выводит. Если удастся эти условия реализовать, то родную обойдёт. В общем готов выслать. В нашей специфики самое главное, это узнать что, где и как прописано и как считать. Вот здесь мозгой шевелить приходится не по детски. Чтоб потом и Вашему брату было с чем работать. Не зная специфики, не напишешь прогу( без исходных данных), а их порой по нескольку лет нарабатываешь. Так что сильно на меня не обижайтесь, и одним и другим приходится заниматься параллельно, а голова одна.
Семён-2014@ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
file->HEX HEX->BIN kakawkin Общие вопросы Delphi 1 25.04.2012 01:02
перевод чисел из hex в bin. ASM. crashmanx Помощь студентам 0 25.12.2011 21:35
Нужно реализовать программу на Дельфи Aizada Помощь студентам 1 16.05.2011 21:45
Перевод BIN -> HEX Piar Помощь студентам 2 20.05.2009 15:44