Автор |
Сообщение |
Сообщение создано: 08. 09. 2011 [16:32]
|
TY_Obninsk
Илья Клемышев
Создатель темы
Зарегистрирован(а) с: 14.01.2011
Сообщения: 63
|
Пишу функцию для перевода числа из десятичной системы в 16-ричную...столкнулся с совершенно непонятным поведением программы, пишу в "Вычислителе на java подобном языке":
функция имеет входной параметр "in" и выходной "out",
если написать
out += "S";
то программа стабильно выводит 10 символов "S".
если задать начальное значение
out = "Rez = ";
out += "S";
то программа выведет "Rez = S".
функция out.insert (0, "S"); не дает никакого результата....
|
Сообщение создано: 08. 09. 2011 [16:47]
|
roman
Roman Savochenko
Moderator Contributor Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3750
|
"TY_Obninsk" wrote:
out += "S";
то программа стабильно выводит 10 символов "S".
Естественно. При каждом вызове добавляется "S".
"TY_Obninsk" wrote:
out = "Rez = ";
out += "S";
то программа выведет "Rez = S".
Правильно!
"TY_Obninsk" wrote:
функция out.insert (0, "S"); не дает никакого результата....
А так: out = out.insert (0, "S");
Разбирайтесь!
Не ошибка!
Learn, learn and learn better than work, work and work.
|
Сообщение создано: 09. 09. 2011 [07:10]
|
TY_Obninsk
Илья Клемышев
Создатель темы
Зарегистрирован(а) с: 14.01.2011
Сообщения: 63
|
Вы ломаете все мое неокрепшее программистское мировоззрение :lol:
буду разбираться)
|
Сообщение создано: 09. 09. 2011 [09:45]
|
TY_Obninsk
Илья Клемышев
Создатель темы
Зарегистрирован(а) с: 14.01.2011
Сообщения: 63
|
Со всем вышеобозначенным разобрался, однако теперь столкнулся со следующей проблемой:
из созданной мной функции библиотеки "Вычислителя..." я не могу корректно вызвать функцию из соседней библиотеки, пишу скажем
cmdLRC = SYS.DAQ.JavaLikeCalc.servProc.lrc16(cmd);
в ответ всегда получаю 0, хотя сама функция lrc16 работает корректно. Аналогично с встроенной функцией crc16.
Я так понимаю, что неправильно вызываю функцию?
|
Сообщение создано: 09. 09. 2011 [10:15]
|
roman
Roman Savochenko
Moderator Contributor Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3750
|
"TY_Obninsk" wrote:
Я так понимаю, что неправильно вызываю функцию?
Правильно понимаете.
Learn, learn and learn better than work, work and work.
|
Сообщение создано: 09. 09. 2011 [12:20]
|
almaz
Almaz Karimov
Contributor
Зарегистрирован(а) с: 25.09.2008
Сообщения: 516
|
cmdLRC=DAQ.JavaLikeCalc.lib_servProc.lrc16(cmd);
21 век - век повсеместной автоматизации. Главное - во благо всем людям.
|
Сообщение создано: 09. 09. 2011 [12:38]
|
TY_Obninsk
Илья Клемышев
Создатель темы
Зарегистрирован(а) с: 14.01.2011
Сообщения: 63
|
Спасибо, Алмаз! Сто раз перечитываю,исправляю и не замечаю некоторых деталей...чуть не поседел :)
|
Сообщение создано: 09. 09. 2011 [15:15]
|
TY_Obninsk
Илья Клемышев
Создатель темы
Зарегистрирован(а) с: 14.01.2011
Сообщения: 63
|
пробую использовать функцию строки string replace(string substr, string str); - результат 0, функция string replace(int pos, int n, string str); работает нормально...Первый вариант функции еще существует или проблема в другом?
|
Сообщение создано: 09. 09. 2011 [15:29]
|
roman
Roman Savochenko
Moderator Contributor Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3750
|
"TY_Obninsk" wrote:
пробую использовать функцию строки string replace(string substr, string str); - результат 0, функция string replace(int pos, int n, string str); работает нормально...Первый вариант функции еще существует или проблема в другом?
Это всё тестировалось и у меня работает!
Learn, learn and learn better than work, work and work.
|
Сообщение создано: 09. 09. 2011 [15:55]
|
TY_Obninsk
Илья Клемышев
Создатель темы
Зарегистрирован(а) с: 14.01.2011
Сообщения: 63
|
Обновился - заработало!
|