25/04/2009, 13:21
26/04/2009, 20:29
elinize saglık
22/06/2009, 12:44
elinize sağlık
26/06/2009, 12:29
Sayın mehmetdemiral,
ilk önce çalışma için teşekkürler,
benim dizüstünde bios numarasında "." karekteri üretildi,
bir şey fark ettim,
gerçi kodları daha incelemedim ama her SERİ NUMARALARI GETİR butonuna bastığımda, müşteriye verilecek numara değişiyor ama hesaplama aynı?
Tavsiye;
Kontrol numarası oluştururken tabi ki pcnin farklı donanımlarına bakabiliriz,
ürün yelpazesi artınca işletim sistemine de bağlı olarak problemler çıka biliyor,
Aslında sorunsuz Lisans kontrolü hepimizin kafasını kurcalayan bir konudur,
örneğinizde hepimize ışık tutacaktır, tekrar teşekkürler,
ben bir uygulamayı dağıtacak sam cpu numarasına göre numara üretiyorum,
cpu standartları değişmiyor, intel ve AMD de,
teşekkürler, iyi çalışmalar.
ilk önce çalışma için teşekkürler,
benim dizüstünde bios numarasında "." karekteri üretildi,
bir şey fark ettim,
gerçi kodları daha incelemedim ama her SERİ NUMARALARI GETİR butonuna bastığımda, müşteriye verilecek numara değişiyor ama hesaplama aynı?
Tavsiye;
Kontrol numarası oluştururken tabi ki pcnin farklı donanımlarına bakabiliriz,
ürün yelpazesi artınca işletim sistemine de bağlı olarak problemler çıka biliyor,
Aslında sorunsuz Lisans kontrolü hepimizin kafasını kurcalayan bir konudur,
örneğinizde hepimize ışık tutacaktır, tekrar teşekkürler,
ben bir uygulamayı dağıtacak sam cpu numarasına göre numara üretiyorum,
cpu standartları değişmiyor, intel ve AMD de,
teşekkürler, iyi çalışmalar.
26/06/2009, 13:49
Sayın pcman. Bu uygulamadan öncesi var. Ben önce hdd'nin fiziksel olmayan, formatta değişen seri numarasını baz almıştım. Fakat müşteri her format atmada arayıp tekrar şifre almak durumunda. Eeee.. o zaman birden çok şifre almasını nasıl engelleyeceğiz?
Daha sonra Cpu numarasını baz alan bir uygulama yaptım. Böylece cpu değişmedikçe problem çıkmadan aynı numara sadece bir makinede kullanılacaktı. Ama gördüm ki, özellikle intelde aynı party cpular tek seri ile geliyor. Müşteri beni aradı, 15 makine için ayrı ayrı kullandığı bir mühendislik uygulamamı kullanıyor. 15 makineyi bir anda almış. VE hepsinde üretilen seri no tek. Yani aynı numara. İşlemcilerin hepsi İntel ve aynı party.. Amd değil ama intel işlemciler böyle. Bunu ben Pc toplama yaptığımdan biliyorum. Gelen ürünlerin seri nolarını kaydettiğim, daha sonra garanti takibinde kullandığım bir veri tabanım vardır. Ürünlerin alış - satış tarihleri, fatura noları, Alındığı toptancı, garanti süreleri, garanti bitiş tarihleri vs hep tek bir barkod okumasıyla öğrenilebilir. Bu sebeple sei no alanında mükerrer kayıt olmaması için önlem almıştım. Ama intel işlemcilerde gördüm ki "kayıt var" mesajı dönüyor. Garip ama maalesef böyle. İntel işlemcilerde okutacak başka bir numara da bulamadık. Bu iş böylece yattı.
Sonra ben kafayı bozdum. Oturdum birçok kriterden veri alan bu uygulamayı yazdım. Değerlerin karıştırılmasından oluşan lisans nolarını veritabanına kaydederek kullanıcının başka makineye şifre alıp almadığını da kontrol edecek şekilde hazırladım programımı. Fakat bu sefer de gördüm ki, bios bazı oem üreticilerinde seri no vermiyor. Ve böylece değerler yerine oturmuyor. Bazı makinelerde de mac adresleri olmuyor. Çünkü vatandaş ağ sürücüyü kapatmış, devre dışı bırakmış olabiliyor. Yani inetrnet ya da intranet kullanmıyor.
Sonuç olarak yeni bir proje düşünüyorum. Bu projede fiziksel hdd numarası ve cpu no kullanacağım. Diğer bileşenler sıkıntı yaratıyor.
Bu arada değerlerin değişmesi tamamen kafa karıştırmak içindir. Kodları inceleyince, bileşenlerden gelen sabit değerlerin, rnd (randomize) sayıların arasına serpiştirildiğini farkedeceksiniz. Kullanıcı tarafından verilen sayılar programcı tarafında yazıldığında, o makinenin bileşen nolarından karıştırılarak oluşturulan lisan seri no veritabanına kaydediliyor ve o kullanıcı bir daha bu değer dışında bir değerle karşımıza gelirse program ona seri no vermiyor. Bunun için önce kullanıcı seçiliyor ve kullanıcının lisans bilgileri getiriliyor. Diyelim kullanıcı 3 makine için lisans almışsa 4.ncü no verilemiyor. Listede olan makinelerinden birinin lisansının verilmesi gerekiyor. Eğer özel anlaşma yapıldı ve müşterinin beyanı kabul edildiyse yetkili bir kullanıcı tarafından mevcut makinelerden birinin lisans nosu siliniyor ve ancak ondan sonra şifre verilebiliyor.
Bütün bunlar birden çok elemanın şifre vermek üzere görevlendirildiği firmalarda herşeyin kayıt altına alınması ve toleranslı olunmaması için yapıldı. Ben kullandım, gayet de başarılı oldu. Kimin ne zaman kime şifre verdiğini veya neden veremediğini böylece kaçırmamış oluyorum.
Bu arada yazınızı tekrar okuyunca "." karakterinden bahsettiğinizi gördüm. Yukarda onu atlamışım.
Ben aslında tüm değerlerin içinde "-" karakteri olabileceği ihtimalinden hareketle
Me.Metin2 = Replace(y, "-", "")
komutunu kullanmıştım. Burada y
y = "" & obj.SerialNumber
Yani doanımdan gelen seri noyu y değişkenine attım, onu da replace ile içinde "-" değerlerini "" şekline çevirerek kullandım. Sizde olduğu gibi nokta değerini düşünmedim. Onun için de
Me.Metin2 = Replace(y, ".", "")
kullanırsanız sorun çözüllecektir. Aslında sadece alfanümerik değerleri alan, diğerlerini almayan bir modül yazmayı düşünüyorum daha sonra..
Kolay gelsin.
Daha sonra Cpu numarasını baz alan bir uygulama yaptım. Böylece cpu değişmedikçe problem çıkmadan aynı numara sadece bir makinede kullanılacaktı. Ama gördüm ki, özellikle intelde aynı party cpular tek seri ile geliyor. Müşteri beni aradı, 15 makine için ayrı ayrı kullandığı bir mühendislik uygulamamı kullanıyor. 15 makineyi bir anda almış. VE hepsinde üretilen seri no tek. Yani aynı numara. İşlemcilerin hepsi İntel ve aynı party.. Amd değil ama intel işlemciler böyle. Bunu ben Pc toplama yaptığımdan biliyorum. Gelen ürünlerin seri nolarını kaydettiğim, daha sonra garanti takibinde kullandığım bir veri tabanım vardır. Ürünlerin alış - satış tarihleri, fatura noları, Alındığı toptancı, garanti süreleri, garanti bitiş tarihleri vs hep tek bir barkod okumasıyla öğrenilebilir. Bu sebeple sei no alanında mükerrer kayıt olmaması için önlem almıştım. Ama intel işlemcilerde gördüm ki "kayıt var" mesajı dönüyor. Garip ama maalesef böyle. İntel işlemcilerde okutacak başka bir numara da bulamadık. Bu iş böylece yattı.
Sonra ben kafayı bozdum. Oturdum birçok kriterden veri alan bu uygulamayı yazdım. Değerlerin karıştırılmasından oluşan lisans nolarını veritabanına kaydederek kullanıcının başka makineye şifre alıp almadığını da kontrol edecek şekilde hazırladım programımı. Fakat bu sefer de gördüm ki, bios bazı oem üreticilerinde seri no vermiyor. Ve böylece değerler yerine oturmuyor. Bazı makinelerde de mac adresleri olmuyor. Çünkü vatandaş ağ sürücüyü kapatmış, devre dışı bırakmış olabiliyor. Yani inetrnet ya da intranet kullanmıyor.
Sonuç olarak yeni bir proje düşünüyorum. Bu projede fiziksel hdd numarası ve cpu no kullanacağım. Diğer bileşenler sıkıntı yaratıyor.
Bu arada değerlerin değişmesi tamamen kafa karıştırmak içindir. Kodları inceleyince, bileşenlerden gelen sabit değerlerin, rnd (randomize) sayıların arasına serpiştirildiğini farkedeceksiniz. Kullanıcı tarafından verilen sayılar programcı tarafında yazıldığında, o makinenin bileşen nolarından karıştırılarak oluşturulan lisan seri no veritabanına kaydediliyor ve o kullanıcı bir daha bu değer dışında bir değerle karşımıza gelirse program ona seri no vermiyor. Bunun için önce kullanıcı seçiliyor ve kullanıcının lisans bilgileri getiriliyor. Diyelim kullanıcı 3 makine için lisans almışsa 4.ncü no verilemiyor. Listede olan makinelerinden birinin lisansının verilmesi gerekiyor. Eğer özel anlaşma yapıldı ve müşterinin beyanı kabul edildiyse yetkili bir kullanıcı tarafından mevcut makinelerden birinin lisans nosu siliniyor ve ancak ondan sonra şifre verilebiliyor.
Bütün bunlar birden çok elemanın şifre vermek üzere görevlendirildiği firmalarda herşeyin kayıt altına alınması ve toleranslı olunmaması için yapıldı. Ben kullandım, gayet de başarılı oldu. Kimin ne zaman kime şifre verdiğini veya neden veremediğini böylece kaçırmamış oluyorum.
Bu arada yazınızı tekrar okuyunca "." karakterinden bahsettiğinizi gördüm. Yukarda onu atlamışım.
Ben aslında tüm değerlerin içinde "-" karakteri olabileceği ihtimalinden hareketle
Me.Metin2 = Replace(y, "-", "")
komutunu kullanmıştım. Burada y
y = "" & obj.SerialNumber
Yani doanımdan gelen seri noyu y değişkenine attım, onu da replace ile içinde "-" değerlerini "" şekline çevirerek kullandım. Sizde olduğu gibi nokta değerini düşünmedim. Onun için de
Me.Metin2 = Replace(y, ".", "")
kullanırsanız sorun çözüllecektir. Aslında sadece alfanümerik değerleri alan, diğerlerini almayan bir modül yazmayı düşünüyorum daha sonra..
Kolay gelsin.
26/06/2009, 14:07
Özellikle CPU ile okuduklarım beni şaşırttı,
bir b planı geliştirmemiz lazım,
biraz beyin fırtınası yapalım,
belkide uygulamanın kurulu olduğu bilgisayarın donanımından numara üretmekten vazgeçmeliyiz,
bir algoritma düzenleyip müşteriye her lisans için bir numara vermeliyiz,
uygulamada, İnternet varsa lisansın kullanıldığı bilgisayarlardan ip mac gibi bilgileri toplaya biliriz, kontrol açısından,
biraz düşünelim, bu konuyu devam ettirelim, ne dersiniz...
bir b planı geliştirmemiz lazım,
biraz beyin fırtınası yapalım,
belkide uygulamanın kurulu olduğu bilgisayarın donanımından numara üretmekten vazgeçmeliyiz,
bir algoritma düzenleyip müşteriye her lisans için bir numara vermeliyiz,
uygulamada, İnternet varsa lisansın kullanıldığı bilgisayarlardan ip mac gibi bilgileri toplaya biliriz, kontrol açısından,
biraz düşünelim, bu konuyu devam ettirelim, ne dersiniz...