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

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

Вернуться   Форум программистов > C/C++ программирование > Qt и кроссплатформенное программирование С/С++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.06.2014, 13:48   #1
fobass
Форумчанин
 
Регистрация: 05.06.2008
Сообщений: 100
По умолчанию переписать кусок кода

помогите переписать кусок из Delphi
код на delphi
PHP код:
  for i:=1 to 9 do
     
begin
      str
:=str inttohex(ord(kast[i]),2);
     
end
fobass вне форума Ответить с цитированием
Старый 16.06.2014, 13:59   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
for(int i=1;i<10;i++) str+=IntToHex(kast[i],2);
Учитывая что это под Борланд
Иначе нужно как-то так:
Код:
char s[20]={0};
sprintf(&s,"%2X%2X%2X%2X%2X%2X%2X%2X%2X",
 kast[1],kast[2],kast[3],kast[4],kast[5],kast[6],kast[7],kast[8],kast[9]
)
Учитывая что массив будет начинаться с единички.
I'm learning to live...

Последний раз редактировалось Stilet; 16.06.2014 в 14:01.
Stilet вне форума Ответить с цитированием
Старый 17.06.2014, 09:03   #3
fobass
Форумчанин
 
Регистрация: 05.06.2008
Сообщений: 100
Хорошо

Цитата:
Сообщение от Stilet Посмотреть сообщение
Код:
for(int i=1;i<10;i++) str+=IntToHex(kast[i],2);
Учитывая что это под Борланд
Иначе нужно как-то так:
Код:
char s[20]={0};
sprintf(&s,"%2X%2X%2X%2X%2X%2X%2X%2X%2X",
 kast[1],kast[2],kast[3],kast[4],kast[5],kast[6],kast[7],kast[8],kast[9]
)
Учитывая что массив будет начинаться с единички.
под Qt надо переписать. в Qt есть sprintf но в хелп не рекомендует его, буду копать arg()

Спасибо
fobass вне форума Ответить с цитированием
Старый 17.06.2014, 09:26   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну тогда кажись itoa() еще умеет преобразовывать. Попробуй его.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 27.06.2014, 13:40   #5
fobass
Форумчанин
 
Регистрация: 05.06.2008
Сообщений: 100
По умолчанию

код Delphi

Код:
for i:=1 to 5 do 
begin
    if (s[i]='0') or (S[i]='1') then
    begin
      r:=r+(Power(2,i*-1)*StrToInt(s[i]));
    end;
end;
где r := double;

код на Qt

Код:
QByteArray ss = s.toAscii();
    for (int(i) = 1; i <= 5; i++)
   {
        if ((ss.at(i-1) == QChar('0')) || (ss.at(i-1) == QChar('1')))
        {
            r += (pow(2, i*-1) * (int)ss[i-1]);
        }

    }
где r = double;
---
результат кода qt выдает не то, что нужно.

как можно переписать?

Последний раз редактировалось fobass; 27.06.2014 в 14:54. Причина: исправил ошибку с циклам for
fobass вне форума Ответить с цитированием
Старый 27.06.2014, 15:07   #6
fobass
Форумчанин
 
Регистрация: 05.06.2008
Сообщений: 100
По умолчанию

Код:
(int)ss[i-1]);
(int) конвертация берет код символов в ss[i-1]?
fobass вне форума Ответить с цитированием
Старый 30.06.2014, 08:08   #7
fobass
Форумчанин
 
Регистрация: 05.06.2008
Сообщений: 100
По умолчанию

Все нормально, разобрался.
fobass вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
непонятный кусок кода на с++ Tiva Помощь студентам 6 27.08.2012 19:12
Перевести кусок кода из C++ в Delphi jhonyxakep Общие вопросы Delphi 2 25.09.2011 08:28
Кусок кода не хочет работать. Yagamy Liet Общие вопросы Delphi 31 19.08.2010 11:49
помогите понять кусок кода Arteom БД в Delphi 7 31.08.2007 08:51
Есть кусок кода komarevsky Общие вопросы Delphi 7 19.07.2007 17:43