![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите разобраться в преобразовании [D7, XP]
Zheksonz © (2009-07-03 09:48:00)
Страницы: < 1 2 3 4 5 6 7 8 9 10 11 >
Доброе утро. Помогите, застрял я(((
для записи в COM порт используется функцияComPort.WriteStr(String_);
01 06 00 04 5000 - это первые шесть байт, 5000 имеет 2х байтовое значение, завершающими двумя байтами станут байты контрольной суммы.
формат этой записи, правильно воспринимаемый COM портом, следующий:String_ := #01#06#00#04#19#136 + crc16(String_);// ф-ция crc16 возвращает ещё два байта, в которых контрольная сумма всего этого набора данных, которые представлены в таком же виде... Как мне преобразовывать String_овывые или Integer_овские значения в этот формат???
Zheksonz (2009-07-05 02:02:00) [41]т.е. это указатели или коды какие-то, а не символы...
Zheksonz (2009-07-05 02:01:00) [42]я так понимаю на выходе будет '#19#136', а мне такая строка не нужна... мне нужно, чтобы строковая переменная была наполнена #19#136, а не '#19#136'... ну неужели не понятно???
Sha (2009-07-05 01:57:00) [43]> Zheksonz (05.07.09 01:47) [156]
Ты не понял, что мы сделали то, что ты просил. Просто, возможно, ты просил не то что надо.
Можешь убедиться в этом при помощи функции, которая отображает любую строку в твоем фирменном формате.
function ZheksonzFormat(const s: string): string;
var
i: integer;
begin;
Result:='';
for i:=1 to Length(s) do Result:=Result+'#'+IntToStr(ord(s[i]));
end;
Теперь точно спать.
Zheksonz (2009-07-05 01:57:00) [44]вот вы прикольные)))
я спросил, как, например, из 5000 получить#19#136вы мне ответили#$13'€'и удивляетесь что мне ответ не подходит... мол я ничего не понимаю... если уж на то пошло, то как преобразовать #$13'€' в #19#136 ???
ну и в довершение о том, что же у вас приветствуется:
> У нас не приветствуется использование ненормативной лексики,
> высказываний личного характера.
</
> Сей жестянщик нас так просто не оставит.
I>
Германн (2009-07-05 01:49:00) [45]
> Я спать, жаль что не удалось досмотреть до конца.
>
Будь спок. До конца ещё очень далеко. Если не в этой ветке так в других.
Сей жестянщик нас так просто не оставит.
Zheksonz (2009-07-05 01:47:00) [46]
> Получили уже, и не один раз
спасибо за время которое Вы уделили, но результат себе в актив Вы записать не сможете... мне жаль не только потому, что я не узнал ответ на свой вопрос, а и потому, что я был уверен, что Вы это сможете сделать.
Sha (2009-07-05 01:44:00) [47]> Zheksonz (05.07.09 01:31) [149]
> нужно из, например, 5000 получить #19#136
Получили уже, и не один раз
> Германн © (05.07.09 01:31) [150]
> Думаю гораздо проще написать эксперт IDE...
Еще проще функцию
> Zheksonz (05.07.09 01:35) [151]
> я тоже пекаря какого-нибудь закрыл бы за то, что он вообще не представляет что такое шестнадцатиричная система...
У нас не приветствуется использование ненормативной лексики, высказываний личного характера.
Я спать, жаль что не удалось досмотреть до конца.
Zheksonz (2009-07-05 01:40:00) [48]Германн © (05.07.09 01:31) [150]
Я уже давно получил '#19#136'... а мне нужно #19#136... вот и вся разница... те, кто говорил как это сделать все получили в итоге#$13'€'а я-то в чём не разобрался??? я все рекомендации проделывал с пониманием, просто они не дали желаемого результата... так давай же скажем всё, я пас и сошлёмся на то, что обучаемый цветам слеп???
Германн (2009-07-05 01:39:00) [49]
> Германн © (05.07.09 01:36) [152]
Старею, блин.
Опять пропустил букву.
В четверг получу заказанные "очки для чтения".
Германн (2009-07-05 01:36:00) [50]
> Sha © (05.07.09 01:28) [148]
И это будет скорее традицией, чем прецендетом :)
> Zheksonz (05.07.09 01:31) [149]
>
>
> > Sha © (05.07.09 01:17) [146]
>
> перечитал ещё раз свой вопрос и скажу вам, что ничего не
> изменилось... всё так же нужно из, например, 5000 получить
> #19#136, каюсь, просто думал, что обозначение #nn#nn стандартно
> и имеет функцию преобразования из обычного числа в формат
> #nn#nn.
>
И всё также ты ничего как не понимал раньше, так и не понял. И без базовых знаний и не сможешь понять никогда.
Zheksonz (2009-07-05 01:35:00) [51]Sha © (05.07.09 01:28) [148]
ну так я тоже так думаю... оскорблять можно только новичков и тех, кто не так способен как мы любимые... я тоже пекаря какого-нибудь закрыл бы за то, что он вообще не представляет что такое шестнадцатиричная система...
Германн (2009-07-05 01:31:00) [52]
> Sha © (05.07.09 01:17) [146]
>
> > Zheksonz (05.07.09 01:12) [144]
>
> Тогда непонятно, почему тебя не устраивает результат [139]?
>
> Ведь он соответствует твоему описанию.
>
Думаю гораздо проще написать эксперт IDE, который будет показывать содержимое строковой переменной строго и только в виде #xx#xx#xx...
Ничто другое автору не понравится. И он будет обвинять в этом нас.
Zheksonz (2009-07-05 01:31:00) [53]
> Sha © (05.07.09 01:17) [146]
перечитал ещё раз свой вопрос и скажу вам, что ничего не изменилось... всё так же нужно из, например, 5000 получить #19#136, каюсь, просто думал, что обозначение #nn#nn стандартно и имеет функцию преобразования из обычного числа в формат #nn#nn.
Sha (2009-07-05 01:28:00) [54]> Zheksonz (05.07.09 01:25) [147]
А вот это ты напрасно.
Если ветку закроют, будут правы.
Zheksonz (2009-07-05 01:25:00) [55]
> Германн © (05.07.09 01:12) [145]
думаю моя расшифровка ПШП тебе не понравится...
ты по существу хоть слово сказал??? Или может ты понял в чём суть вопроса??? а может ты сюда зашёл, чтобы поумничать???, ведь ветка-то для начинающих... Знаешь почему меня Юрий и Sha не послали ещё??? потому что я выполняю то что они говорят, а не спрашиваю куда begin поставить, но при этом результат отрицательный... Ты же просто "воду льёшь"... Я тут больше года, как ты правильно заметил, но за это время я не видел ни одного полезного совета от тебя... Да ты и правда ПШП )))
Sha (2009-07-05 01:17:00) [56]> Zheksonz (05.07.09 01:12) [144]
Тогда непонятно, почему тебя не устраивает результат [139]?
Ведь он соответствует твоему описанию.
Германн (2009-07-05 01:12:00) [57]
> Zheksonz (05.07.09 01:02) [143]
>
> Германн © (05.07.09 00:59) [141]
> ты пас, потому что ты так и не понял что нужно сделать и
> делаешь вид, что ты типа с ними, мастерами, не хочешь разбираться
> в этом вопросе... Но ИХ, не обманешь ;)
Я не с ними. Я выше их :) Они лишь Мастера Дельфи, а я ПШП!
А то что "их" не обманешь - эт точно!
P.S. Ещё чуть-чуть и можно на уровень башорга перейти. :)
Zheksonz (2009-07-05 01:12:00) [58]
> Sha © (05.07.09 01:00) [142]
в общем имеется инвертор - преобразователь частоты для электродвигателя. Управление частотником производится через COM порт. Формат запроса 8 байт, т.е. в этих восьми байтах зарыт весь формат отправляемой команды. Для простоты я использую компонент управления СOM портом, у которого есть функцияComPort.WriteStr(String_);
пример отправляемой строки:
String_ := #01#06#00#04#19#136 + crc16(String_);где #19#136 - это частота вращения двигателя(5000=50 герцам), вот в этом формате мне и нужно менять частоту, например на 4000 = #15#160
Zheksonz (2009-07-05 01:02:00) [59]Германн © (05.07.09 00:59) [141]
ты пас, потому что ты так и не понял что нужно сделать и делаешь вид, что ты типа с ними, мастерами, не хочешь разбираться в этом вопросе... Но ИХ, не обманешь ;)
Sha (2009-07-05 01:00:00) [60]> Zheksonz (05.07.09 00:52) [138]
> выступить перед толпой, с речью
Хотелось бы речь заслушать, с ответом на вопрос [86]