Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Помогите разобраться в преобразовании [D7, XP]


Страницы:   1 2 3 4 5 6 7 8 9 10 11

Zheksonz ©   (2009-07-03 09:48:00) 

Доброе утро. Помогите, застрял я(((
для записи в 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]


Страницы:   1 2 3 4 5 6 7 8 9 10 11

Наверх

Титульная страница Поиск, карта сайта Написать письмо