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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.02.2014, 23:16   #51
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Насчет слева направо и справа налево, наверное - порядок байтов. В смысле три условия? "if (a = 1) and (b = 2) and (c = 3) then"?
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 01.02.2014, 23:45   #52
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
в своих материалах вообще не нашёл по Clen ни чего, в инете пока тоже
Далась вам эта константа. И не найдете ни чего, это я её так обозвал, мог бы и просто abrakadabra. А по сути это просто длина в байтах участка файла от адреса $110 до $1FC включительно и равна в знакомом виде 237. И массив можно было просто объявить a: array [1..237] of Byte; И цикл сделать for i:=1 to 237. С константой просто удобней, и как думал, понятней. А оказалось в интернете ни где нет
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 02.02.2014, 01:48   #53
Семён-2014@
Пользователь
 
Регистрация: 28.01.2014
Сообщений: 37
По умолчанию ответ

Цитата:
Сообщение от BDA Посмотреть сообщение
Насчет слева направо и справа налево, наверное - порядок байтов. В смысле три условия? "if (a = 1) and (b = 2) and (c = 3) then"?
Да я тоже, думаю что порядок байтов, но так даже лучше.

Условия да именно так, только к сожалению там не( a=1) , а :A02B, 2C29, 2141 все значения в Hex я их и так и эдак, четно, не выполняется условие, не пойму почему? ставлю if stream. read(a,2) = $A02B then
Begin
Label1.Caption:=' свеча';
if stream. read(a,2)=$2c29 then и.т.д
И переводил в десятичное, думал может не видит, подставлял десятичное значение, переменную вводил integer, с массива пробывал, считывать считывает и выводит значения в ячейках, а условие не в какую.... там в одной прошиве на одну модель разные могут быть приблуды, из за этого в прошиве может быть одно, второе и третье значение, на какую паподёш!.

Последний раз редактировалось Семён-2014@; 02.02.2014 в 01:51.
Семён-2014@ вне форума Ответить с цитированием
Старый 02.02.2014, 02:24   #54
Семён-2014@
Пользователь
 
Регистрация: 28.01.2014
Сообщений: 37
По умолчанию ответ

Цитата:
Сообщение от Аватар Посмотреть сообщение
Далась вам эта константа. И не найдете ни чего, это я её так обозвал, мог бы и просто abrakadabra. А по сути это просто длина в байтах участка файла от адреса $110 до $1FC включительно и равна в знакомом виде 237. И массив можно было просто объявить a: array [1..237] of Byte; И цикл сделать for i:=1 to 237. С константой просто удобней, и как думал, понятней. А оказалось в интернете ни где нет
Я уже разобрался сегодня, причём абсолютно без разнице, можно и of Byte, кстати заместо Word , запросто и of Byte идёт и считает на ура, а с константой, я тоже разобрался именно по этому принципу 237 и дошёл быстрей, говорю же что всё что даёте отрабатываю для закрепления, тут же написал маленькие рабочие программульки, как черновики, по пройденному.
Это я с начало долго запрягаю, зато потом ....
Сегодня к стате от Вашего коллеги упрёк услышал, они буксуют по одной линейки, ему прогу заказали, но там мудрено всё, не зная адресов и алгоритма , всё бестолку будет сидят уже 2 неделю Я правда с ней месяца два возился , но расшифровал... В общем я ему возьми и скажи , мозг напрячь чуток и всё там просто, учится не хочешь просто ... столько нецензурной брани услышал ....( а ведь 2 недели назад всё разжевал им).
Пришлось всё до молекул разъяснять... Так что не обижайтесь Аватар и BDA так бывает когда начинаешь что то новое.
Эдак так пойдёт,точно программиста из меня сделаете, не одна книжка столько не даст. Чую всё больше мне нравится , а опыт дело наживное.А Вы говорите учится не хочу и мозг не включаю, просто путаюсь ещё в этим терминах и синтаксис, в голове каша. Но я стараюсь.
Семён-2014@ вне форума Ответить с цитированием
Старый 02.02.2014, 02:29   #55
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Так что ли?
Код:
a: word;
...
stream.read(a, 2);
case a of
  $A02B: begin
    ShowMessage('Прошивка 1');
    //действия
  end;
  $2C29: begin
    ShowMessage('Прошивка 2');
    //действия
  end;
  $2141: begin
    ShowMessage('Прошивка 3');
    //действия
  end;
  else ShowMessage('Неизвестная прошивка');
end;
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 02.02.2014, 12:47   #56
Семён-2014@
Пользователь
 
Регистрация: 28.01.2014
Сообщений: 37
По умолчанию ответ

Цитата:
Сообщение от BDA Посмотреть сообщение
Так что ли?
Код:
a: word;
...
stream.read(a, 2);
case a of
  $A02B: begin
    ShowMessage('Прошивка 1');
    //действия
  end;
  $2C29: begin
    ShowMessage('Прошивка 2');
    //действия
  end;
  $2141: begin
    ShowMessage('Прошивка 3');
    //действия
  end;
  else ShowMessage('Неизвестная прошивка');
end;
Точно , один , в один BDA , только выводит либо неизвестная, либо прошивка 1. Причём case, тоже ставил, за место if, но результат выводит только один, на всех позициях. Хотя закидываю все три разных по очереди и в редакторе проверяю, какую только что из 3 загрузил.

Последний раз редактировалось Семён-2014@; 02.02.2014 в 12:49. Причина: дописать
Семён-2014@ вне форума Ответить с цитированием
Старый 02.02.2014, 14:10   #57
Семён-2014@
Пользователь
 
Регистрация: 28.01.2014
Сообщений: 37
По умолчанию

Цитата:
Сообщение от Семён-2014@ Посмотреть сообщение
Точно , один , в один BDA , только выводит либо неизвестная, либо прошивка 1. Причём case, тоже ставил, за место if, но результат выводит только один, на всех позициях. Хотя закидываю все три разных по очереди и в редакторе проверяю, какую только что из 3 загрузил.
Код:
 D:word;// переменную вводим
begin
D:=$2421;
D:=$2C29;
D:=$A02B;// присваеваем переменной эти вот значения

stream.Read(a,2);
case D of
$2C29:  begin
ShowMessage('прошивка1');
Label41.Caption:=' slong';//выводим результат
end;
$2421: begin
ShowMessage('прошива 2');
Label41.Caption:='Ket';//выводим результат
end ;
$A02B : begin
ShowMessage('прошивка3');
Label41.Caption:='???';
end;
else
ShowMessage('неизвестная деталь');
Label41.Caption:='неизвестная деталь!  ';
end;
вот так сделал, а она работает только с последней позицией, как будто все прошивы с неизвестными данными, а все известные пропускает почему то.
Семён-2014@ вне форума Ответить с цитированием
Старый 02.02.2014, 15:05   #58
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Так в D и читайте stream.Read(D,2);
До этого указать с какой позиции читать stream.Position:=адрес
И следующее вообще не нужно
Код:
D:=$2421;
D:=$2C29;
D:=$A02B;// присваеваем переменной эти вот значения
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 02.02.2014, 20:34   #59
Семён-2014@
Пользователь
 
Регистрация: 28.01.2014
Сообщений: 37
По умолчанию ответ

Цитата:
Сообщение от Аватар Посмотреть сообщение
Так в D и читайте stream.Read(D,2);
До этого указать с какой позиции читать stream.Position:=адрес
И следующее вообще не нужно
Код:
D:=$2421;
D:=$2C29;
D:=$A02B;// присваеваем переменной эти вот значения
В том то и песня что читал в stream.Read (D,2), сразу, потом вернул, при любых комбинациях, либо пропускает все и выводит не известно( если типа нет ничего из предложенного), либо на первой позиции, причём неправильно и опять не сдвинуть.... Я как ввёл переменную D, сразу и отработал вариант, причём и с word и с Bayte, не помогло. Помойму уже все комбинации отработал, не пойму что ей не нравится?...
Семён-2014@ вне форума Ответить с цитированием
Старый 02.02.2014, 21:10   #60
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

1) Я не очень понял Ваше последнее сообщение.
2) Аватар Вам говорит вот об этом месте:
Код:
stream.Read(a, 2);
case D of
  $2C29:begin
...
Там нужно не "a", а "D".
3) Добавьте вывод считанного значения, чтобы было, что анализировать.
Код:
stream.Read(D, 2);
showmessage(IntToHex(D, 4));
case D of
  $2C29:begin
...
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 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