Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.09.02;
Скачать: CL | DM;

Вниз

Превести c C в Delphi   Найти похожие ветки 

 
Ivolg ©   (2007-08-07 20:01) [0]

Собственно вот код:

unsigned long Gost::f(unsigned long x)
{
return sTable[3][x >> 24] ^ sTable[2][(x >> 16) & 0xff] ^ sTable[1][(x >> 8) & 0xff] ^ sTable[0][x & 0xff];
}

Помогите пожайлуста перевести этот код)


 
Zeqfreed ©   (2007-08-07 20:09) [1]

function TGost.f(x : Integer) : Integer;
begin
 Result := sTable[3][x shr 24] xor sTable[2][(x shr 16) and $FF] xor sTable[1][(x shr 8) and $FF] xor sTable[0][x and $FF];
end;


М-м?


 
Zeqfreed ©   (2007-08-07 20:10) [2]

А, ну блин. [a][b] в Дельфи выглядит как [a, b] забыл совсем :)


 
Ivolg ©   (2007-08-07 20:15) [3]

Спасибо )


 
Ivolg ©   (2007-08-07 20:27) [4]

Вы немогли бы еще помочь. Имеется класс: в файле 1.h
class Crypt
{
 static long crc32tab[256];
 static unsigned char key[32],IV[8];
 Gost gost;
 long CalcCRC(const unsigned char *,int);
public:
 Crypt(void);
 void Encrypt(unsigned char *,int &);
 bool Decrypt(unsigned char *,int &);
};

Файл 2.cpp

#include "1.h"

void main( void )
{
Crypt.Decrypt("", ""); - непомогает, возникает ошибка.

Как вызвать данную процедуру ?
};


 
Ivolg ©   (2007-08-07 20:29) [5]

Вы немогли бы еще помочь. Имеется класс: в файле 1.h
class Crypt
{
 static long crc32tab[256];
 static unsigned char key[32],IV[8];
 Gost gost;
 long CalcCRC(const unsigned char *,int);
public:
 Crypt(void);
 void Encrypt(unsigned char *,int &);
 bool Decrypt(unsigned char *,int &);
};

Файл 2.cpp

#include "1.h"

void main( void )
{
Crypt.Decrypt("", ""); - непомогает, возникает ошибка.

Как вызвать данную процедуру ?
};


 
Zeqfreed ©   (2007-08-07 20:43) [6]

Сначала, наверное, нужно создать экземпляр класса, чтобы вызывать его не классовые методы?

Crypt *c = new Crypt();
c->Decrypt(...);


 
wicked ©   (2007-08-07 20:58) [7]


> Crypt *c = new Crypt();
> c->Decrypt(...);

дурная привычка - чуть шо, сразу new... это не делфи, тут есть автоматические обьекты


 
Zeqfreed ©   (2007-08-07 21:01) [8]

> wicked ©   (07.08.07 20:58) [7]


А я пишу на Си без плюсов. Поэтому привычки по использованию классов у меня не могло выработаться :)

Можно и автоматические использовать, я не против.


 
Ivolg ©   (2007-08-07 21:08) [9]

Спасибо. И последний вопрос, как можно конвертировать unsigned char в int ?
и int & в int )


 
wicked ©   (2007-08-07 21:19) [10]


> unsigned char в int ?

безболезненнно конвертируется сам


> и int & в int )

никак, первое - ссылка на int, второе - собсно int

книжки бы ты какие почитал, что ли....


 
Ivolg ©   (2007-08-07 21:25) [11]

Просто пока времени нет. Спасибо за помощь всем)



Страницы: 1 вся ветка

Текущий архив: 2007.09.02;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.019 c
15-1185953552
sl8er
2007-08-01 11:32
2007.09.02
Помогите с выбором СУБД


15-1185607519
Ыщтмихайло
2007-07-28 11:25
2007.09.02
Куда податься ламерюге


15-1186168050
Ламот
2007-08-03 23:07
2007.09.02
Чат для локалки


1-1182436068
DevilDevil
2007-06-21 18:27
2007.09.02
Excel. Exception: заполнение и выделение


2-1186654028
Балбес
2007-08-09 14:07
2007.09.02
Доступ к методам произвольных форм.