Aktivasyon Kodu Hazırlama Hakkında
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Aktivasyon Kodu Hazırlama Hakkında
Biliyorum bu konu bir çok kez tartışıldı bu sitede ama ben yeterli bilgi bulamadım. Benim isteğim çok basit. Bana sadece HDD Fabrika Seri No + CPU Seri No bi edite atılacak. Ve daha sonra buraya alınan seri nolar 10'luk sayı sistemine çevirelecek. Eğer bilen varsa paylaşırsa çok sevinirim. Şimdiden çok teşekkürler...
- sabanakman
- Kıdemli Üye
- Mesajlar: 3081
- Kayıt: 17 Nis 2006 08:11
- Konum: Ah bi Antalya olaydı keşke (Ankara)
Re: Aktivasyon Kodu Hazırlama Hakkında
Alfabetik değerin onluk karşılığı demek biraz abes olmuş ama bu durumda keyfi olarak bir dönüşüm fonksiyonu hazırlayabilirsiniz. Bunun en basiti ASCII karşılıklarını elde etmek olacaktır ve buradan çıkan sayı çok büyük olacaktır.Bir de bir zamanlar yaptığım keyfi bir kod vardı başka sitede paylaşmıştım belki o da işinize yarayabilir. Ne işe yarayacağını düşünmeden yazmıştım antrenman olsun diye
.
http://www.delphiturk.com/Replys.aspx?P ... orumId=100
Kod: Tümünü seç
function StrToASCII(const S:String):Int64;
var i:Integer;
begin
Result:=0;
for i := Length(S) downto 1 do begin
Result:=Ord(S[i])+(Result*100);
end;
end;

http://www.delphiturk.com/Replys.aspx?P ... orumId=100
Kod: Tümünü seç
{Bileşenlerin ismine özel bir sayısal değer istiyorsanız bu fonksiyonu güvenle (?) kullanabilirsiniz. (Acaba farklı iki isme aynı değeri üreteceği bileşen ismi var mıdır?)} function AdinaRakamVer(const BilesenIsmi:String):Integer; const RakamCarpani = 100; GenRakamCarpani = 100000; BuyukCarpani = 1000; GenBuyukCarpani = 10000; KucukCarpani = 10; GenKucukCarpani = 1000000; AltTireCarpani = 1; GenAltTireCarpani = 10000000; var i,j,Kucuk,Buyuk,Rakam,AltTire:Byte; begin i:=Length(BilesenIsmi); Result:=i*35000; Rakam:=0;Kucuk:=0;Buyuk:=0;AltTire:=0; while i>0 do begin j:=Ord(BilesenIsmi[i]); case j of 95:begin//_ Inc(AltTire); Result:=Result+AltTire*AltTireCarpani*i*j; end; 48..57 :begin//0..9 Inc(Rakam); Result:=Result+Rakam*RakamCarpani*j*i; end; 65..90:begin//A..Z Inc(Buyuk); Result:=Result+Buyuk*BuyukCarpani*j*i; end; 97..122:begin//a..z Inc(Kucuk); Result:=Result+Kucuk*KucukCarpani*j*i; end; else Inc(Result,i*j); end; Dec(i); end; Result:=Result+GenRakamCarpani*Rakam+GenBuyukCarpani*Buyuk+GenKucukCarpani*Kucuk+GenAltTireCarpani*AltTire; end;
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
_________________
Derin olan kuyu değil kısa olan iptir. - .