野猫III 发表于 2006-7-14 09:12:57

请教KeyGen制作的几个问题~

一、易语言里的“取文本左边”“取文本右边”“取文本中间”在VB,Delphi里如何表达?

二、易语言里的“取大写”“取小写”在VB,Delphi里又如果表达?

三、最后小鱼兄的这段易语言翻转字符串应该如何理解,在VB,Delphi里是怎么表达的:
.版本 2

.程序集 窗口程序集1

.子程序 _按钮1_被单击
.局部变量 机器码, 文本型
.局部变量 i, 整数型
.局部变量 S, 整数型
.局部变量 S1, 整数型
.局部变量 W, 整数型
.局部变量 S2, 整数型
.局部变量 S3, 整数型
.局部变量 S4, 整数型
.局部变量 S5, 整数型
.局部变量 ALL1, 文本型
.局部变量 ALL, 文本型

机器码 = 编辑框1.内容
W = 取文本长度 (机器码)
.计次循环首 (W, i)
    S = 到数值 (取文本左边 (机器码, 1)) + 30
    机器码 = 取文本右边 (机器码, 取文本长度 (机器码) - 1)
    S1 = S' + 2
    S1 = 到数值 (转换为十进制 (到文本 (S1), 16)) + 2
    S2 = W + 16
    S3 = S1 × S2
    S4 = S3 + S1
    S5 = S4 + W
    ALL1 = 倒转字符串 (到文本 (S5))
    ALL = ALL + ALL1
.计次循环尾 ()
编辑框2.内容 = 取文本左边 (ALL, 4) + “-” + 取文本中间 (ALL, 6, 4) + “-” + 取文本中间 (ALL, 11, 4)


.子程序 倒转字符串, 文本型
.参数 ls_2_1, 文本型
.局部变量 i, 整数型
.局部变量 RChar, 文本型
.局部变量 LChar, 文本型
.局部变量 WChar, 文本型

.判断循环首 (i < 取文本长度 (ls_2_1))
    LChar = 取文本左边 (ls_2_1, 取文本长度 (ls_2_1) - i)
    RChar = 取文本右边 (LChar, 1)
    i = i + 1
    WChar = WChar + RChar
.判断循环尾 ()
返回 (WChar)

[ 本帖最后由 野猫III 于 2006-7-14 20:52 编辑 ]

黑夜彩虹 发表于 2006-7-14 10:47:10

LeftStr
RightStr
或Copy
都可解决...

飘云 发表于 2006-7-14 11:11:00

VB:
    Dim Code As String'机器码
    Dim LenCode As Integer '机器码位数
    Dim i As Integer
    Dim S, S1, S2, S3, S4, S5 As Integer
    Dim TEMP, Sn As String
    Const a = "-"
   
    Code = Text1.Text
    LenCode = Len(Code)
   
    For i = 1 To LenCode
      S = Val(Left(Code, 1)) + &H30   '实际就是取ascii ==>> S = Asc(Left(Code, 1))
      Code = Right(Code, Len(Code) - 1)
      S1 = S + 2
      S2 = LenCode + 16
      S3 = S1 * S2
      S4 = S3 + S1
      S5 = S4 + LenCode
      TEMP = TEMP + StrReverse(S5) '倒置文本
    Next
      Sn = Left(TEMP, 4) + a + Mid(TEMP, 6, 4) + a + Mid(TEMP, 11, 4)
      Text2.Text = Sn
Delphi:
procedure TForm1.Button1Click(Sender: TObject);
//注意:先在 Uses 子句加入 :StrUtils
var
Code:string;   //机器码
LenCode:integer; //机器码长度
i:integer;
S,S1,S2,S3,S4,S5:integer;
temp,Sn:string;
const
a = '-';
begin
code:= edit1.Text;
LenCode := length(code);

for i := 1 to LenCode do
begin
    s := ord(code) ;//这里比VB好处理的多哦~~~
    code := rightstr(code,length(code)-1);
    s1 := s+2;
    S2 := LenCode + 16;
    S3 := S1 * S2;
    S4 := S3 + S1;
    S5 := S4 + LenCode;
    temp:=temp + ReverseString(inttostr(S5));
end;
    sn := Leftstr(TEMP, 4) + a + Midstr(TEMP, 6, 4) + a + Midstr(TEMP, 11, 4);
    edit2.Text :=sn;
end;

eopenfang 发表于 2006-7-14 15:55:41

老大出手不同凡想啊!!

支持老大!

野猫III 发表于 2006-7-14 20:41:11

原帖由 飘云 于 2006-7-14 11:11 发表
VB:
    Dim Code As String'机器码
    Dim LenCode As Integer '机器码位数
    Dim i As Integer
    Dim S, S1, S2, S3, S4, S5 As Integer
    Dim TEMP, Sn As String
    Const a = "-" ...

除了咱对老大感谢之外!

咱还为PYG 5.4 Crack引导学习小组的所有朋友向老大表示感谢!

第三课需要各位中上水平的朋友支持,谢谢!

欢迎所有成员组的朋友到第三课当指导。(请在成员QQ群PM咱)

_________________________________

刚消化了一个内容:
Private Sub Command1_Click()
Dim Name As String
Name = Text1.Text
Text2.Text = Left(Name, 2)  //取文本左边两位,中间就是Mid,右边就是Right
End Sub

[ 本帖最后由 野猫III 于 2006-7-14 21:03 编辑 ]

jiller 发表于 2008-1-7 19:50:05

易语言的中文太拗口了。

vecri 发表于 2008-1-8 13:57:21

没学过楼主问的语言...只会VC. ASM, .NET
页: [1]
查看完整版本: 请教KeyGen制作的几个问题~