perl to delphi

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
semenderip
Üye
Mesajlar: 42
Kayıt: 04 Nis 2007 03:57

perl to delphi

Mesaj gönderen semenderip »

perlde yazılmış bir kodu delphiye nasıl uyarlarım denedim ama beceremedim kodlar şöyle
  • use Math::BigInt;
    use CGI_LIB;

    my($cgi) = new CGI_LIB;

    # Process Input
    $license = $cgi->{"licensename"};
    $registrationcode = &CalculateCode($license);


    # Print out HTML response with registration code
    # This is the part of the program you would most likely want to change
    print &htmlpage_begin("Product Registration Code"),
    "<H1>Registration Code for Product</H1>\n",
    "<BR>\n<BR>\n",
    "Your User name is: $license\n<BR>\n",
    "Your Registration Code is: ",
    $registrationcode,
    &htmlpage_end;



    sub CalculateCode {
    my($LicenseName)= @_;

    # Create error is LicenseName was greater than MaxChars (25),
    # or shorter than MinChars (3)
    if ((length($LicenseName) > 25) or (length($LicenseName) < 3)) {
    # Make HTML response for failure
    print "Content-type: text/html\n\n",
    "Incorrect Size\n";
    exit;
    }
    # Takes the last 6 characters (going backwards), converting each
    # character to ASCII and taking the remainder of dividing it into Seed
    $i = 0;
    $Seed = 4133185345; # Set to whatever your seed property is set to
    $RegCodeSize = 12; # Same as property in component
    $CodeStr = "";
    $ReversedName = reverse $LicenseName;
    while (($i <= 6) and ($i < length($ReversedName))) {
    $CodeStr = $CodeStr . ($Seed % ord(substr($ReversedName, $i, 1)));
    $i++;
    }

    # Convert to Hex
    $BigCodeStr = Math::BigInt->new($CodeStr);
    @hexnums=qw( 0 1 2 3 4 5 6 7 8 9 A B C D E F );
    while($BigCodeStr)
    {
    unshift @RegCode,$hexnums[$BigCodeStr%16];
    $BigCodeStr=$BigCodeStr/16;
    }
    $RegCode=join("", @RegCode);

    if (($RegCodeSize > 0) and (length($RegCode) < $RegCodeSize)) {
    # If RegCode is not big enough then fill the front of it with 0's
    $RegCode = reverse $RegCode;
    for ($diff = $RegCodeSize - length($RegCode); $diff > 0; $diff--) {
    $RegCode = $RegCode . "0";
    }
    $RegCode = reverse $RegCode;
    } elsif (($RegCodeSize > 0) and (length($RegCode) > $RegCodeSize)) {
    # Chop off the ending characters if reg code is bigger than RegCodeSize
    $diff = length($RegCode) - $RegCodeSize;
    while ($diff > 0) {
    chop $RegCode;
    $diff--;
    }
    }
    return $RegCode;
    }

    sub htmlpage_begin {
    my($Title)= @_;
    return "Content-type: text/html\n\n",
    "<HTML>\n<HEAD>\n<TITLE>$Title</TITLE>\n</HEAD>\n\n<BODY>\n\n";
    }

    sub htmlpage_end {
    return "\n</BODY>\n</HTML>";
ikutluay
Üye
Mesajlar: 2341
Kayıt: 03 Tem 2007 10:13

Mesaj gönderen ikutluay »

kod çok karışık değil ancak kimse bunun başına oturup herpsini yapmaz. yaptığınız kadarını ekleseydiniz. şurda şu olmalı diyebilirdik...

ilk etapta söylenecekler ise
use yerine uses yapın;

-> yerine delphide . işareti kullanılıyor obje atası için
değişken ismi başlarındaki $ işaretlerine gerek yok. = yerine :=yapın

metinler çift yerine tek tırnak ile yazılır.
Kişi odur ki, koyar dünyada bir eser. Eseri olmayanın yerinde yeller eser./Muhammed Hadimi
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
semenderip
Üye
Mesajlar: 42
Kayıt: 04 Nis 2007 03:57

Mesaj gönderen semenderip »

hocam sagolun ben bişey cıkartamadım nasıl bir kodlama yaparız buna ben beceremedim nerden başlamam lazım
Kullanıcı avatarı
Battosai
Üye
Mesajlar: 1316
Kayıt: 01 Eki 2007 12:02
Konum: Ankara

Mesaj gönderen Battosai »

Soruyu yanlış sormuşun...aslında ne yapmak istediğini yazsaydın belkide hemen hazır kodlar düşcekti buraya....
Cevapla