KKR_WE_RULE
By: a guest | Feb 4th, 2010 | Syntax:
Delphi | Size: 1.47 KB | Hits: 98 | Expires: Never
Function Reverse(X : String):String;
Var
len, i : Integer;
rev : String;
Begin
len := length(x);
if len > 0 then
Begin
for i := len downto 1 do
Begin
rev := rev + x[i];
end;
result := rev;
end
else
Begin
exit;
end;
End;
function GetCurrentComputerName: string;
const
cnMaxUserNameLen = 254;
var
sUserName : string;
dwUserNameLen : dword;
begin
dwUserNameLen := cnMaxUserNameLen-1;
SetLength(sUserName, cnMaxUserNameLen);
GetComputerName(PChar(sUserName), dwUserNameLen);
SetLength(sUserName, dwUserNameLen);
Result := sUserName;
End;
procedure TForm1.Edit1Change(Sender: TObject);
Var
name,serial,pc, Final : String;
i,nlen,plen,a,b,c,d,e,f,g ,nlength: Integer;
begin
Name := edit1.Text;
nlen := Length(name);
pc := GetCurrentComputerName;
plen := length(pc);
pc := Reverse(pc);
if nlen > 4 then
Begin
if (nlen < plen) then
Begin
pc := pc;
end
else
Begin
repeat
pc := pc + pc;
until
length(pc) >= nlen;
end;
a := 0; b := 0; c := 0; d := 0; e := 0; f := 0; g := 0;
for i := 1 to nlen do
Begin
a := ord(name[i]);
b := a;
c := a + b;
d := a + c;
e := d shl 2;
e := e shr 1;
e := e shr 1;
e := e shr 1;
f := f + e;
g := ord(pc[i]);
f := g + f;
end;
edit2.Text := IntToSTr(f);
end
else
Begin
edit2.Text := 'Need more chars ..';
exit;
end;
end;