Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> HEX модуль 
:(
    Опции темы
Frikazoid
Дата 5.9.2003, 17:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 424
Регистрация: 29.3.2002

Репутация: 1
Всего: 2



Здравствуйте!

Столкнулся с проблемой перевода функций модуля, написанного на паскале в модуль для VC. Помогите кто чем может...
[CODE]function hextochr(s:string):char;
begin
hextochr:=chr(ord(gethex(s)));
end;

Function Word2Hex(Nbr,n:longint) : String;

Var
Count : Byte;
Digit : Byte;
Hex : String;

Begin
hex:='';
digit:=0;
For Count := n Downto 1 Do
Begin
Digit := Nbr And $0F;
Inc(Digit,48);
If Digit > 57 Then Inc(Digit,7);
Hex[Count] := Chr(Digit);
Nbr := Nbr SHR 4;
End;

case n of
4: Hex[0] := #4;
5: Hex[0] := #5;
6: Hex[0] := #6;
7: Hex[0] := #7;
8: Hex[0] := #8;
9: Hex[0] := #9;
10: Hex[0] := #10;
11: Hex[0] := #11;
12: Hex[0] := #12;
13: Hex[0] := #13;
14: Hex[0] := #14;
15: Hex[0] := #15;
end; {Force return string length to 4 chars}
Word2Hex := Hex; {Return ASCII HEX result string}
End;

function hexn(a:byte):string;
const h:array[0..15] of char='0123456789ABCDEF';
begin
hexn:=h[a and 15];
end;

function hex(a:byte):string;
const h:array[0..15] of char='0123456789ABCDEF';
begin
hex:=h[a shr 4]+h[a and 15];
end;

function hexw(a:longint):string;
begin
hexw:=hex(hi(a))+hex(lo(a));
end;

function gethex(s:string):longint;
var i,res:longint;
begin
res:=0;
for i:=1 to length(s) do
if s[i]>'9' then res:=res shl 4+ord(upcase(s[i]))-55
else res:=res shl 4+ord(s[i])-48;
gethex:=res;
end;[/QUOTE]

Это сообщение отредактировал(а) Frikazoid - 5.9.2003, 17:29


--------------------
RTFM - "Всё для программиста" Это уменя есть сайт! Урыл в профайле!
А там.... Ну всё что надо по PHP Delphi CSS HTML JavaScript Perl API ASP MySQL XML С++ VBasic и многое другое.
PM MAIL WWW ICQ   Вверх
RAN
Дата 5.9.2003, 21:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Экс. модератор
Сообщений: 709
Регистрация: 14.3.2003
Где: Щёлково Моск.обл.

Репутация: 5
Всего: 6



В чём проблема? Тебе надо это на C++ переписать? Если да, то тема будет БЕССЛЕДНО перенесена в совместные проекты (надо там раздел наполнять smile.gif ). Если есть конкретный вопрос, то название темы должно отражать твой вопрос. Если это условие не выполняется, то тема или закрывается, или удаляется. Простите, ни кого не хочу обидеть. Но мне не нравится, что этот раздел стали активно использовать не по назначению.
PM MAIL ICQ   Вверх
mr.DUDA
Дата 5.9.2003, 22:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 25
Всего: 232



Просто стало модно давать задания под C++ программерам в этом форуме smile.gif


--------------------
user posted image
PM MAIL WWW   Вверх
Baa
Дата 5.9.2003, 23:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2639
Регистрация: 12.4.2002
Где: Москва

Репутация: 8
Всего: 12



Угу smile.gif надо денег брать начинать wink.gif
А то добрые что-то слишком smile.gif


--------------------
"Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande
PM ICQ   Вверх
mr.DUDA
Дата 5.9.2003, 23:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 25
Всего: 232



Baa, как же ты деньги-то собирать будешь, по WMZ что-ль confused.gif
А оплата - перед выполнением задания, или аванс+оплата smile.gif ?


--------------------
user posted image
PM MAIL WWW   Вверх
Frikazoid
Дата 6.9.2003, 09:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 424
Регистрация: 29.3.2002

Репутация: 1
Всего: 2



Спасибо за помощь, однако sad.gif


--------------------
RTFM - "Всё для программиста" Это уменя есть сайт! Урыл в профайле!
А там.... Ну всё что надо по PHP Delphi CSS HTML JavaScript Perl API ASP MySQL XML С++ VBasic и многое другое.
PM MAIL WWW ICQ   Вверх
Frikazoid
Дата 6.9.2003, 09:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 424
Регистрация: 29.3.2002

Репутация: 1
Всего: 2



Переносите, куда считаете нужным!



--------------------
RTFM - "Всё для программиста" Это уменя есть сайт! Урыл в профайле!
А там.... Ну всё что надо по PHP Delphi CSS HTML JavaScript Perl API ASP MySQL XML С++ VBasic и многое другое.
PM MAIL WWW ICQ   Вверх
Frikazoid
Дата 6.9.2003, 09:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 424
Регистрация: 29.3.2002

Репутация: 1
Всего: 2



А, для тех кого всамом деле интересует вопрос преобразования, то вот
код:
Код
// Hex long to Hex sring
char[] Word22Hex(unsigned long l,int n);
{
  char res[9]={0};
  int digit;
  if (n > 8)
    n = 8;

  for (int i = 0; i < n; i++)
  {
     digit = long & 0x0F;
     long >>= 4;
     digit += 0x30;
     if (digit >0x39)
        digit += 7;
     res[8 - i] = digit;
  }
  return res;
}

// Hex String to Hex long
unsigned long Hex2Word(char s[])
{
   insigned long res;
   for(int i = strlen(s) - 1; (i + 1); i--)
   {
     char digit = s[i];
     if (digit > 0x39)
     {
       digit &= ~0x20;   // to uppercase 'a' == 0x61 'A' =='0x41'
       digit -=  0x41;
     }
     else
     {
       digit -= 0x30;
     }
     // some error :(
     if (digit > 15)
       digit = 0;  // in Java : "throw new NumberFormatExcaption(s)"
     res = res << 4 +digit;
   }
   return res;
}



--------------------
RTFM - "Всё для программиста" Это уменя есть сайт! Урыл в профайле!
А там.... Ну всё что надо по PHP Delphi CSS HTML JavaScript Perl API ASP MySQL XML С++ VBasic и многое другое.
PM MAIL WWW ICQ   Вверх
Frikazoid
Дата 6.9.2003, 13:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 424
Регистрация: 29.3.2002

Репутация: 1
Всего: 2



И ваобще! Если тут собрались такие люди, что за помощь деньги начинают брать, то так и надо вывешать в рулесах, что за помощь берём деньги!
Я не понимаю! это форум или где? Вас просят помочь, а не выпендриваться! Если не хотите за на шару делать, то просто не отвечайте! Злые все стали! На других форумах люди добрые! ответили сразу и не копейки не попросили!

ЗЫ Раньше мне нравился этот форум! Сейчас же всё чаще встречаются восклицания типа: "Ламер", "Чайник", "RTFM", "Только за деньги". На простые вопросы МЫ не отвечаем из принципа, а сложные МЫ не замечаем (видимо случайно), а если уж заметили, то тут уж надо флейма оставить пару постов!

Форум катится не в ту сторону! Идеологию надо менять!

Это сообщение отредактировал(а) Frikazoid - 6.9.2003, 14:00


--------------------
RTFM - "Всё для программиста" Это уменя есть сайт! Урыл в профайле!
А там.... Ну всё что надо по PHP Delphi CSS HTML JavaScript Perl API ASP MySQL XML С++ VBasic и многое другое.
PM MAIL WWW ICQ   Вверх
mr.DUDA
Дата 6.9.2003, 14:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 25
Всего: 232



Цитата
Я не понимаю! это форум или где? Вас просят помочь, а не выпендриваться!

Зря ты так...
Код
#include <string>

// конвертирует число "Num" в строку в заданной системе счисления
char *NumToString(unsigned long Num, int System=16)
{
    char *str = new char[10];
    sprintf(str, "%x", Num);
    return str;
}

// преобразует строку "str" в число без знака, в заданной системе счисления
unsigned long StringToNum(char *str, int System=16)
{
    return strtoul(str, 0, System);
}


// пример использования
int main(int argc, char* argv[])
{
    char *res = NumToString(255); // конвертируем число в строку
    /*  
            что-то делаем с полученной строкой "res"  
    */
    delete res; // освобождаем память, занятую строкой

    // примеры преобразования "строка->число"
    unsigned long X = StringToNum("0xf00");
    unsigned long Y = StringToNum("f123fe");
    unsigned long Z = StringToNum("1000", 2); // можно из двоичной

    return 0;
}



--------------------
user posted image
PM MAIL WWW   Вверх
Wowa
Дата 6.9.2003, 20:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: нет
Всего: 290



Цитата
ЗЫ Раньше мне нравился этот форум! Сейчас же всё чаще встречаются восклицания типа: "Ламер", "Чайник", "RTFM", "Только за деньги". На простые вопросы МЫ не отвечаем из принципа, а сложные МЫ не замечаем (видимо случайно), а если уж заметили, то тут уж надо флейма оставить пару постов!


Frikazoid, спасибо за мнение. Мы подумаем, что к чему и как можно исправить ситуацию к лучшему. В принципе - сколько людей, столько и мнений. Никто здесь не обязан отвечать, но флеймить запрещено всем. Выражения, типа "чайник", "ламер" - появляются к счастью не так часто. И мы действительно стараемся, чтобы здесь все жили дружно и форум был добрым.

Форум растет, приходят разные люди, с разным характером..., но тебя мы потерять не хотим.
PM WWW   Вверх
Baa
Дата 6.9.2003, 22:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2639
Регистрация: 12.4.2002
Где: Москва

Репутация: 8
Всего: 12



Frikazoid, понимаешь в чем дело, делать за кого-то что-то я считаю неправильным. Ты написал, что ты столкнулся с проблемой, но ты даже не написал в чем проблема...


--------------------
"Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande
PM ICQ   Вверх
Frikazoid
Дата 7.9.2003, 01:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 424
Регистрация: 29.3.2002

Репутация: 1
Всего: 2



Цитата(Admin @ 6.9.2003, 17:27)
Frikazoid, спасибо за мнение. Мы подумаем, что к чему и как можно исправить ситуацию к лучшему. В принципе - сколько людей, столько и мнений. Никто здесь не обязан отвечать, но флеймить запрещено всем. Выражения, типа "чайник", "ламер" - появляются к счастью не так часто. И мы действительно стараемся, чтобы здесь все жили дружно и форум был добрым.

Форум растет, приходят разные люди, с разным характером..., но тебя мы потерять не хотим.

Спасибо. Я немного резко выразился в своём прошлом посте! Я тоже постараюсь исправиться!


--------------------
RTFM - "Всё для программиста" Это уменя есть сайт! Урыл в профайле!
А там.... Ну всё что надо по PHP Delphi CSS HTML JavaScript Perl API ASP MySQL XML С++ VBasic и многое другое.
PM MAIL WWW ICQ   Вверх
Frikazoid
Дата 7.9.2003, 01:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 424
Регистрация: 29.3.2002

Репутация: 1
Всего: 2



Цитата(Baa @ 6.9.2003, 19:12)
Frikazoid, понимаешь в чем дело, делать за кого-то что-то я считаю неправильным. Ты написал, что ты столкнулся с проблемой, но ты даже не написал в чем проблема...

Ну так я же писал, что никто не обязан за кого-то, что-то делать. Всё на добровольной основе! Хочешь помочь - отвечай по делу, не хочешь помогать - не отвечай вообще в этой теме.

Моя проблема в том, что я полный чайник в сях.
Я разрабатываю один проект. Есть готовые продукты как под ВЫНь, так и под ДОС! Всё работает и просто зашибись! Но возникла необходимость всё это дело мобилизовать (PPC - корманный ПК)! Вот тут, то и облом! Максимум, что мог я найти - eVC. Ну вы представте, что мне надо в ударные сроки спрыгнуть с Delphi на VC. Ну что я ещё могу написать после этого на форуме? Обучите меня VC за 10 дней? Ну это просто не реально! Вот я и прошу написать готовый модуль!

ЗЫ Сейчас прога таки работает на покете! Только через ..... Я поставил туда эмулятор ДОС и запустил готовую прогу на паскале. Это не выход, т.к. имеются трудности с интерфейсом и с подвисанием эмулятора. Плюс ко всему эта прога делается для людей, которые "в первые комп видят". Для них ДОС - смерть!

ЗЫ1 eVC это тоже самое, что и VC(почти), только транслятор другой.
Я вообще учусь в школе(последний год), тот самый покет приходит ко мне тока поздно вечером(работает по назначению). А компилить проги под eVC я могу тока с покетом. Вот и получается, что не могу я методом научного тыка изучать eVC, как я изучал Pascal.

ЗЫ2 Параллельно я рассмотривал вариант написания этого всего на перле! Но тогда исходники будут в открытом виде! Это не есть гуд! Хоть заказчики и чайники, но отдать покет могут в умлые руки и тогда прощай наша контора!


--------------------
RTFM - "Всё для программиста" Это уменя есть сайт! Урыл в профайле!
А там.... Ну всё что надо по PHP Delphi CSS HTML JavaScript Perl API ASP MySQL XML С++ VBasic и многое другое.
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0623 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.