الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

الرجاء المساعدة في عمل سيريال نمبر لبرنامجي مرتبط ب Motherbord

رائج
بدأه aboua lnaga في 7 يناير 2009 · 104 رد · 8,510 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#26
اقتباس
لاشكر على واجب ( ) .

إذا أردت معرفة أي شيء أخر, لاتتردد في سؤال عنه, صدقني لا أرى اي شيء أجمل من مساعدة الأخرين .

تحياتي لك ولجميع الأخوة الأعضاء, بالنوفيق

بصراحة كان في ولكن هذا لا يحتاج الي عناء

هل من الممكن اضافة عناصر اخري مع البرونز والسيلفر والجولدن بمدة اخري في الكيجن ؟؟

وكيف

تم تعديل هذه المشاركة بواسطة aboua lnaga في 9 يناير 2009 في 04:34

#27

معلش سؤال اخر

انا كده خلاص وصلت للنهاية والحمد لله

ولكن في سؤال صغير نسيته

اريد جعل نسخة من برنامجي تعمل مثلا لمدة 15يوما عند اي شخص ثم بعد انتهاء هذه المدة تعطية نافذة السيريال

الي هي Loginform وبعد كده هنكمل عادي يعني يعطيني سيريال اعطية رقم التشغيل

هل ممكن ان لم يكن لديك وقت الان انتظرك غدا بإذن الله تعالي

شكرا

تحياتي

#28

بالنسبة للتعديل المدة عليك تعديلها من Code الـ LoginForm1 .

بالنسبة للـ Keygen يمكنك تصريح ثوابت أخرى لخيارات أخرى, كمثلاً ( مدة محدودة, وخيارات محدودة ), خيارات محدودة كـ( عدم توفر عملية الطباعة لنوع من أنواع التسجيل ) .

كل ذلك من إختيارك, كل ما تصرحه في الـ Keygen Project بالنسبة للثوابت عليك تصريحه بالـ LoginForm1 مع إضاقة Case جديد للـ Select Case Statement .

أي على سبيل المثال أنك تريد إضافة خيار أخر ولنفرض Green الذي يعطي المستخدم مدة سنتان 720 يوم, علينا تصريح ثابت جديد في الـ Keygen والـ LoginForm1 :

Private Const Green As Integer = 200

إضافة حالة جديدة للـ Select Case Statement :

Casese Convert.ToBase64String(System.Text.Encoding.Default.GetBytes(UsernameTextBox.Tex

t * Green))

MsgBox("You have entered the green key, You can use the application for about two years")

My.Settings.RegKind = 24 : DialogResult = 1

ليس هنالك أي شيء صعب, فقط حاول فهم الـ Code, لتسهيل عملية الفهم عليك تتبع الأحداث لإستنتاج الطريقة, وبهذا الشكل لن يصعب عليك أي شيء بل ستضحك وتقول ( اهذا ما كنت أظنه مستحيل !!! ) ههههه :D .

على أي حال, غداً سآتي بمشروع جديد, يحوي خيارات تمكين ومنع عمليات محددة .

تم تعديل هذه المشاركة بواسطة Bashar Rabat في 9 يناير 2009 في 04:51

The important thing is not so much

that every child should be taught,

as that every child should be given the wish to learn.

#29

شكرا جزيلا لك اخي العزيز

ووالدي جالسا بجانبي الان يدعوا لك ولاسرتك

اقتباس
على أي حال, غداً سآتي بمشروع جديد, يحوي خيارات تمكين ومنع عمليات محددة .

منتظرك غدا بإذن الله تعالي

تحياتي

#30

OK .

دي الوقتِ, تصبح على خير, ربنا يخليك أنت و والدك :), عقبال مايشوفك The Best Programmer :D .

يلا روح نام, عشان تصحى بكير ويبقى عقلك مصحح برضو :P .

The important thing is not so much

that every child should be taught,

as that every child should be given the wish to learn.

#31

السلام عليكم معلش علي التأخير

انا كنت عايز طلب صغير كده

1- عايز اعمل البرنامج يشتغل نسخة تجريبية مثلا 15 يوم

ثم بعد انتهاء هذه المدة تظهر له نافذة السيريال

2- عايز اعرف حاجة دلوقتي لوانا عملت سيريال يعمل مثلا 90 يوم الي هو البرونز علي بروسيسر اي دي معين واشتغل

بعد هذه المدة صاحب الاشتراك 90 يوما لو وضع نفس السيريال مرة اخري هيديله 90 يوم كمان يعني عايز السيريال يكون متغير يعني في البرونز

20 سيريال يتغيرو او السيلفر او الجولدن

3- عايز نافذة التسجيل تظهر اول مرة فقط عند تشغيل البرنامج او عند التسجيل لانها تظهر في كل مرة يتم تشغيل البرنامج

وبكدة كل ما يجي يضع السيريال هيجدد المدة كانه لسا مسجل الان

وتحياتي لك واكون شاكرا جدا علي المساعدة

#32

مرحباً أخي الكريم .

المدة التجريبية التي وضعتها ( أنا ) مدتها 30 يوم, لاحظ السطر التالي من الـ Select Case في Code الـ LoginForm1 :

Case Else

MsgBox("You have entered an invalid serial number, You can use the application for only 30 days")

My.Settings.RegKind = 1

Case Else أي عدا الحالة(ات) السابقة لها, أي إذا أدخل المستخدم رقم تسلسلي خاطىء سوف لن يتم تسجيل البرنامج وبالتالي ستظهر نافذة التسجيل في كل مرة يقوم المستخدم بإستخدام البرنامج, إما إذا قام بإدخال رقم تسلسلي صحيح أي واحد من ( Golden, Silver, Bronze ) سيقوم البرنامج بكتابة ( تعديل ) مفتاح الـ Registry الى ( Registered ) أي مسجل, اقرأ Code الحدث Form1_Load ستجد أننا ستخدمنا جملة شرطية للتأكد من القيمة ( قيمة مفتاح التسجيل ) .

إذا أردت إستخدام كسر لتعديله الى 15 يوم اي ( 30 * 0.5 )=( 15 ), إذاً عليك تغيير نوع الخاصية RegKind الى Double للأننا نستخدم الـ Integer أي عدد صحيح, فإذا غيرنا القيمة الى ( 0.5 ) سنحصل على ( 1 ) وهذا يعني أننا لم نغيير شيء .

أو يمكنك استبدال القيمة 30 من الـ Form1 التي هي موجودة في جملة الشرطية التالية :

If (Days < 0) Or (Days >= (30 * My.Settings.RegKind)) Then

My.Settings.OutOfDate = True

My.Settings.Save()

Else

My.Settings.DaysLeft = Days

End If

يمكنك تغيرها الى ( 3 أو 5 أو 15 )

========= 3 * 5 = 15

========= 5 * 3 = 15

========= 15 * 1 = 15

تم تعديل هذه المشاركة بواسطة Bashar Rabat في 10 يناير 2009 في 00:32

The important thing is not so much

that every child should be taught,

as that every child should be given the wish to learn.

#33

كلامك صحيح لكن

أولا: تطلع نافذة التسجيل في كل مرة ولكن عند كتابة السيريال خطأ و الضغط ok يقوم البرنامج بإعطاء رسالة تبين السيريال الصحيح كما في الصورة وهذه مشكلة

27803327nk5.jpg

ثانيا : انا عندي البرنامج في فترة التجربة عند الضغط ok لا يظهر نافذة الفورم الخاص بمشروعي

لكن انا عايز لما تطلع النافذة بتاعة التسجيل ويضغط المستخدم ok يشتغل البرنامج وعلي هذا الحال لمدة 15 يوم مثلا

ثم بعد ذلك طبعا هيديني رقم البروسيسر اي دي وانا هديله سيريال يشتغل عنده انا عايز السيريال ده يكون متغير مش واحد بس (في الكيجن)

ثالثا : ونافذة التسجيل بعد الفترة التجريبية او بعد وضع السيريال الصحيح (الي انا هعطيه للعميل) ما تظهرش تاني الا بعد انتهاء فترة عمل السيريال.

تم تعديل هذه المشاركة بواسطة aboua lnaga في 10 يناير 2009 في 00:55

#34

حسناً,هل يمكنك إرسال المشروع الذي تعمل عليه اليّ ؟

سأحاول تشغيل الـ Messenger ارجومن الله مساعدتي, لأني استخدم اتصال Dialup, فإذا اشتغل بنجاح سنتكلم عبره, وإذا لم يعمل عليك إرسال مشروعك لأرى مالخطأ .

تم تعديل هذه المشاركة بواسطة Bashar Rabat في 10 يناير 2009 في 00:58

The important thing is not so much

that every child should be taught,

as that every child should be given the wish to learn.

#35

المشروع الرئيسي, بدون الـ Keygen

TestRegister.rar

The important thing is not so much

that every child should be taught,

as that every child should be given the wish to learn.

#36

تمت العملية بنجاح والحمد لله

لكن لي استفسار بسيط عن الكيجن:

كيف اعمل في البرونز والسيلفر والجولدن اكثر من سيريال واحد يكون متغير يعني 20 او 30 واحد مختلف في كل مدة وكيفية اضافة خيار داخل الكيجن اقدر من خلاله احدد المدة الي انا عايزها يعني 15 ,20,30 يوم علي حسب يعني .... (مش قادر افهم طريقتها لحد دلوقتي)

استفسار اخر :

هل بعد انتهاء المدة المحددة للسيريال لو قام العميل بوضعه مرة اخري في نافذة التسجيل سيعمل ام سيخبره بأنه خطا

وشكرا جزيلا لك اخي الكريم والعزيز بشار

تحياتي

تم تعديل هذه المشاركة بواسطة aboua lnaga في 10 يناير 2009 في 03:34

#37

مرحباً أخي الكريم .

بالوقت الحالي ( لا ) سوف لن يعمل البرنامج بعد انتهاء مدة السماح لنوع التسجيل المدخل لأن تاريخ بدأ التشغيل لا يُحدث وبالتالي سيتوجب على المستخدم إضافة رقم لمدة أطول, علينا تعديل العديد من الخصائص وإضافة أواستخدام ملف خاص يقوم بحفظ الأرقام المدخلة ز

لعمل أرقام غير محدودة لكل نوع عليك استخدام متغيير عددي أخر, وتعديل معادلة استخراج الرقم التسلسلي .

أعرف أن الأمور تصبح أكثر تعقيداً بالنسبة لك, لكني قلت لك أن تحاول فهم كل من العمليات, سوف أقوم بتعديل المشروع وشرحه ليغطي جميع إحتياجتك عند انتهائك من فهم المذكور .

The important thing is not so much

that every child should be taught,

as that every child should be given the wish to learn.

#38

لحد الان فهمك وفاهم الي (انت) ذكرته

وبالفعل انا حددت امس المدة 1 يوم وطلعلي رسالة انتهاء المدة التجريبية ووضعت السيريال في نافذة التسجيل

وبعد ضغط اوك البرنامج ماشتغلش

اقتباس
لن يعمل البرنامج بعد انتهاء مدة السماح لنوع التسجيل المدخل

ان كنت تقصد مدة سماح السييريال نمبر فهذا ما اريده بس لو العميل طلب اشتراك تاني وانا اعطيت له سيريال يشتغل

اما ان كنت تقصد المدة التجريبية فهذا ما حدث بعد انتهاء المدة جيت اضع سيريال التسجيل اغلق البرنامج نفسه

وعند فتحه مرة اخري لن يعمل

كده فاضل حتة الكيجن قمت بتغيير ارقام المتغير وكده وبالفعل اشتغل عنصر Green الي انا اضفته لكن لن يولد لي غير سيريال واحد فقط

؟؟!

تحياتي لك اخي العزيز

#39

اين انت اخي بشار

لم اتعود منك غيابك هذه المدة

للطمأنينة فقط!!

#40

لم أرد لك لأنني كنت منشغل ببعض الأمور صدقني ( مهمة جداً ) .

وأنا الأن خارج منزلي أو لست ( في دمشق, محافظتي :D )

سأرد لك عندما أعود .

The important thing is not so much

that every child should be taught,

as that every child should be given the wish to learn.

#41

منتظرك ياغالي

ترجع منزلك بالسلامة

تحياتي لك

#42

مرحباً :P,

ها قد عدت :D,

ربنا يسلمك .

لقد تم تعديل المشروع ليلائم مطالبك, سترى لماذا تطلبت منك فهم المذكور, وسترى كم أن العملية المستخدمة لتعدد الأرقام التسلسلية سهلة .

بالتوفيق .

Full_Project.zip

The important thing is not so much

that every child should be taught,

as that every child should be given the wish to learn.

#43

طبعا انت مية مية

وحمد لله علي سلامتك

والمشروع بعد التجربة تمااام

وتم تعريف المتغيرات

Bronz

silver

Golden

بس لما اجي اضع السيريال نمبر يقول لي You have entered an invalid serial number

مع ان السيريال يكون صحيح

عموما سلمت يمناك ويداك كلها علي تعبك الكام يوم دول

تحياتي لك يا اخي العزيز

:wub: :wub: :wub:

#44

الله يسلمك :) .

أخي العزيز, هل استخدامت الـ Keygen المرفق ؟

قبل أن أرفع المشروع, جربته وعمل بشكل سليم بالنسبة لجميع جهاته :) .

جربه مرة أخرى .

انتباه ( هذه هي مشكلتي = العمل بشكل سريع ), عليك وضع الحد الآقصى لتعدد الأرقام ( 49 ) لأنه عندما يصل الى 50 سيعطي مستخدم مشروعك رقم تسلسلي لنوع أرقى :o .

The important thing is not so much

that every child should be taught,

as that every child should be given the wish to learn.

#45

كلامك صح وتم التجربة واشتغل تمام

لكن في حاجة غريبة حصلت (هتضحك انت الان)

انا بشغل البرنامج (Debug) بيقولي ان فترة الصلاحية انتهت

واجي اضع السيرريال لا يعمل

اعتقد ان هذه هي مشكلتي انا

........

باقي حاجة اخيرة

هل يمكن حماية الكود ذات نفسه لضمان حماية البرنامج في الاخر

انا عارف ان الحماية مهما وجددت سوف تكسر لكن (إحتياطات)

تحياتي

#46

حسناً, فهمت الأن .

استخدم هذه العملية لإعادة تعين الإعدادات, فقط بالوقت الحالي, عندما تريد تصدير البرنامج أي عندما يصبح مشروعك جاهز, احذفها من ال Code

 

    [color= #000000; font-weight: bold;]Private Sub [color= #990000;]Reset[color= #009900;]([color= #009900;])

        My[color= #339933;].Settings[color= #339933;].LastDateUse [color= #339933;]= Now[color= #339933;].ToOADate [color= #339933;]: My[color= #339933;].Settings[color= #339933;].RegKind [color= #339933;]= [color= #cc66cc;]1

        My[color= #339933;].Settings[color= #339933;].OutOfDate [color= #339933;]= [color= #000000; font-weight: bold;]False [color= #339933;]: My[color= #339933;].Settings[color= #339933;].Goldens [color= #339933;]= [color= #cc66cc;]0

        My[color= #339933;].Settings[color= #339933;].Silvers [color= #339933;]= [color= #cc66cc;]0 [color= #339933;]: My[color= #339933;].Settings[color= #339933;].Bronzes [color= #339933;]= [color= #cc66cc;]0

        My[color= #339933;].Settings[color= #339933;].Save[color= #009900;]([color= #009900;])

        [color= #990000;]End

    [color= #990000;]End Sub

_____________________________

بالنسبة للكسر, هذا مايتوجب عليك فعله, حاول أن تجعل من عمليتك الحسابية ( عملية معقدة, أي يقام فيها الكثير الكثير من المعادلات الحسابية ) وهكذا سوف يصعب كسرها نظرياً .

أما برمجياً, لا أضمن لك ذلك لأنه يوجد بعض البرامج التي تعمل على عكس العملية Compile وبالتالي تحول ملف الـ Executable الى Code :S, وعلى حسب علمي أيضاً أن هنالك ( مرجع أو طريقة ) يمكنك استخدامها لتشفر ملف الـ EXE بطريقة معقدة مما يمنع تلك البرامج من ترجمة برنامج مبني تحت بيئة الـ VB.Net الى Code .

سأحاول البحث عنها غداً, بإذن الله .

تم تعديل هذه المشاركة بواسطة Bashar Rabat في 14 يناير 2009 في 02:09

The important thing is not so much

that every child should be taught,

as that every child should be given the wish to learn.

#47

تمام تم النسخ والحمد لله فهمت الكود

طيب معلش حماية كود المشروع كامل هل يوجد ؟..

بحيث انه يبقي صعب الفك بأداة reflector

#48

تمام انظر الصورة الاتية

post-180276-1231887622_thumb.jpg

#49

لست بحاجة لعملية الضرب تلك ( 1 * My.Settings.RegKind ) :$ .

لتعديل الأيام بعد تسجيل البرنامج اضف التالي بعد أو قبل My.Settings.Save() :

 My[color= #339933;].Settings[color= #339933;].Days [color= #339933;]= TimeSpan[color= #339933;].FromDays[color= #009900;]( Now[color= #339933;].ToOADate [color= #339933;]- My[color= #339933;].Settings[color= #339933;].LastDateUse [color= #009900;])[color= #339933;].Days

أو استبدل الجملة الشرطية كلها بالتالي :

         [color= #b1b100;]If [color= #009900;](Days [color= #339933;]< [color= #cc66cc;]0[color= #009900;]) Or [color= #009900;](Days [color= #339933;]>= My[color= #339933;].Settings[color= #339933;].RegKind[color= #009900;]) Then

            My[color= #339933;].Settings[color= #339933;].OutOfDate [color= #339933;]= Not [color= #009900;](LoginForm1[color= #339933;].ShowDialog[color= #009900;]([color= #009900;]) [color= #339933;]= [color= #cc66cc;]1[color= #009900;])

            My[color= #339933;].Settings[color= #339933;].Save[color= #009900;]([color= #009900;])

        [color= #990000;]End [color= #b1b100;]If

	My[color= #339933;].Settings[color= #339933;].DaysLeft [color= #339933;]= TimeSpan[color= #339933;].FromDays[color= #009900;](Now[color= #339933;].ToOADate [color= #339933;]- My[color= #339933;].Settings[color= #339933;].LastDateUse[color= #009900;])[color= #339933;].Days

تم تعديل هذه المشاركة بواسطة Bashar Rabat في 14 يناير 2009 في 02:24

The important thing is not so much

that every child should be taught,

as that every child should be given the wish to learn.

#50

اوك

جاري التعديل

بس لو استبدلت الجملة الشرطية بهذا الكود

My.Settings.DaysLeft = TimeSpan.FromDays(Now.ToOADate - My.Settings.LastDateUse).Days

اين يتم وضع عدد ايام الفترة التجريبية؟

تم تعديل هذه المشاركة بواسطة aboua lnaga في 14 يناير 2009 في 02:21

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…