注册 登录
编程论坛 C++教室

T_T 找有天分的GG-MM翻译段代码!!555555

lihoglny 发布于 2010-04-25 23:21, 455 次点击
直接贴源码:

     AnsiString __fastcall TForm1::EnCode(AnsiString string)
{
char cas_str[]="9012345678abcdeABCDEFGHIJKLMNfghijklmnUVWXYZxyzuvwopqrstOPQRST";
int cas_str_buffer[16];
int cas_esi = 37;
char src_str[128],dec_str[128]="";
int k=0;
int cas_eax,cas_edx;
div_t x;
unsigned int  i,j;
cas_str_buffer[15]=25;
cas_str_buffer[14]=35;
cas_str_buffer[13]=182;
cas_str_buffer[12]=236;
cas_str_buffer[11]=43;
cas_str_buffer[10]=41;
cas_str_buffer[9]=53;
cas_str_buffer[8]=18;
cas_str_buffer[7]=226;
cas_str_buffer[6]=215;
cas_str_buffer[5]=24;
cas_str_buffer[4]=117;
cas_str_buffer[3]=35;
cas_str_buffer[2]=201;
cas_str_buffer[1]=52;
cas_str_buffer[0]=17;
strcpy(src_str,string.c_str());
for ( i=0;i<strlen(src_str);i++)
{
     for(j=0;j<strlen(cas_str);j++)
       {
         if (src_str==cas_str[j]){
             if(i<16)
             cas_eax=cas_str_buffer;
             else {
             x=div(i,16);
              cas_eax=cas_str_buffer[x.rem] ;
                  }
             cas_edx=cas_esi+cas_esi*2 ;
             cas_eax=cas_eax^cas_edx;
             cas_eax=cas_eax^k;
             cas_eax=cas_eax+j;
             x = div(cas_eax,62);
             dec_str=cas_str[x.rem];
             cas_edx=x.rem ;
             cas_esi=cas_esi^(cas_edx+9433);
              break;
                            }
         }
      if( dec_str==NULL)
          dec_str=src_str;
    k=k+5;
}
  string=dec_str;
return string;
}


---------------------------------------//  
里面  div_t 和 x.rem  是什么呢?

----------------//  麻烦哪位高人翻译为VB或者delphi好不   



[ 本帖最后由 lihoglny 于 2010-4-26 13:15 编辑 ]
5 回复
#2
wsf19911232010-04-26 01:32
看不懂
#3
lihoglny2010-04-26 13:17

弄好了我请吃棒棒糖。
#4
lijm19892010-04-26 13:35
div_t是一个结构,是函数div_t div(int a, int b)的返回值,div_t中 quot表示a/b,而rem表示a%b。即商和余数。
其它的都比较好懂了吧。
#5
lihoglny2010-04-26 22:44
回复 4楼 lijm1989

string.c_str()
strcpy(src_str,string.c_str());
哥哥,又有点问题哈,这个是什么呢?

还有div_t返回值是什么类型
#6
lijm19892010-04-26 23:48
c_str()函数是string对象的一个函数,它返回一个const char*指针,作用就是把string类型的变量转化为C字符串。
strcpy(src_str,string.c_str());这句的意思就是把string对象里的字符串copy到src_str中。虽然string和都是字符串类型的变量。但
因为strcpy的形参不接受string的类型,所以需要那么一个转换,你直接看成字符串复制就行咯。

div_t是一个结构体~~~没有什么返回值的说。。div的返回值 div_t类型。而div_t结构体就两个成员变量。quot表示a/b,而rem表示a%b。即商和余数。
1