Главная страница
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.021 c
2-1186570746
loeg
2007-08-08 14:59
2007.09.02
Memo и WebBrowser


15-1186074214
TStas
2007-08-02 21:03
2007.09.02
По каким книжкам люди инстоляторы писать учатся?


9-1159275964
Vivelion
2006-09-26 17:06
2007.09.02
GLFOG


11-1168893404
Trible
2007-01-15 23:36
2007.09.02
Про strlist


2-1186558517
Евгений Р.
2007-08-08 11:35
2007.09.02
upper для русских букв FB 1.5.3