| 
| 
 | Вопрос # 5 799/ вопрос открыт / | 
 |  Доброго времени суток, уважаемые эксперты!
 напишите, пожалуйста, функцию чтобы для ASCII строки, например, '12345', рассчитать через XOR контрольную сумму hex-представления элементов строки (31^32^33^34^35 = ..).
 
|  |   Вопрос задал: AlexMPEI (статус: 1-ый класс)Вопрос отправлен: 6 декабря 2011, 20:08
 Состояние вопроса: открыт, ответов: 1.
 |  Ответ #1. Отвечает эксперт: min@y™ Ой, да как два пальца об асфальт!
 function XorString(const S: string): Byte;
var
  Index: Integer;
begin
  Result:= 0;
  for Index:= 1 to Length(S) do
    Result:= Result xor Byte(S[Index]);
end;
|  | Ответ отправил: min@y™ (статус: Доктор наук)Время отправки: 7 декабря 2011, 08:34
 Оценка за ответ: 5
 Комментарий к оценке: Точно!!! спасибо! |  
 Мини-форум вопросаВсего сообщений: 4; последнее сообщение — 21 декабря 2011, 11:55; участников в обсуждении: 2. 
|   | AlexMPEI (статус: 1-ый класс), 21 декабря 2011, 10:29 [#1]:Тут сделан Хор байт. Мне же нужно Хор HEX представлений этих байт. в этом и была сложность. задача в итоге не решена - по байтам считает неправильно (если считать Хор по HEX представлению этих байт, то результат получается другой). Так что вопрос снова открыт |  
|   | min@y™ (статус: Доктор наук), 21 декабря 2011, 11:12 [#2]:HEX представление байта - это 2 (два) байта (символа). Давай пример входных и выходных данных. Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | AlexMPEI (статус: 1-ый класс), 21 декабря 2011, 11:45 [#3]:пример: беру строку "0114000" при подсчете контрольной суммы функцией выше получим 52
 но если перевести все в байт (48 49 49 ...), а потом в HEX (30 31 31 34 30 30 30) и сделать ХОR HEX-представления, получим результат "33 34", т.е. "34"
 
 вобщем пока печатал понял что все что мне надо - сконвертировать результат функции в НЕХ через IntToHex и я получу то что надо.
   |  
|   | min@y™ (статус: Доктор наук), 21 декабря 2011, 11:55 [#4]: Цитата (AlexMPEI): вобщем пока печатал понял что все что мне надо - сконвертировать результат функции в НЕХ через IntToHex и я получу то что надо. Ну наконец-то!
 Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |