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

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

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

ليس فقط بالـ Code الذي ذكرته ( أنت ), عليك استبداله بالمذكور في الرد الآعلى الجزء الثاني .

على فكرة الـ DaysLeft ليس كخاصية مهمة, فإذا لاحظت أننا نستخدمها كمتغيير عام ( ليس إلا ) :) .

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

The important thing is not so much

that every child should be taught,

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

#52

اسف اخي العزيز لم افهمك اعذرني

يعني Days left متغير عام (تمام اعلم هذا)

لكن اين يوضع عدد ايام الفترة التجريبية ؟.. :blush: :wink:

#53

يعني دلوقتي انا عايز البرنامج يشتغل 15 يوم تجريبي ثم تطلع نافذة التسجيل

اكتب (15) فين في الكود ؟؟؟

#54

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

إذا كنت ستستخدم الجملة الشرطية التي طلبت منك استبدالها بالقديمة, فعليك إعداد القيم الإفتراضية للخاصيتين ( OutOfDate ) الى ( False ) و ( RegKind ) الى 15 .

إما إذا كنت ستستخدم تلك الجملة الشرطية بعملية ضرب ( 15 * RegKind ) فعليك إعداد القيمة الإفتراضية للخاصية ( RegKind ) الى 1, مع علم أن عليك تحديث تاريخ بدء الإستخدام و اعداد الخاصية ( OutOfDate ) الى False لإعطاء المستخدم مدة 15 يوم لتجريب البرنامج ( بدون إظهار صندوق التسجيل في كل مرة يعمل فيها بالبرنامج خاصتك ) .

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

The important thing is not so much

that every child should be taught,

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

#55

أفعل ماتقول وفي تلك الحالتين ان كانت بالجملة الاول (المستبدلة) لاتعمل المدة او بمعني اصح بعد انتهاء المدة يتم بكتابة (-1و-2 ... وهكذا)

بعد مضي يوم يقوم بتزوريد العدد الي (-كذا) ويستمر البرنامج في العمل لا يتوقف ولا يظهر نافذة التسجيل

اما ان كانت في الجملة الشرطية القديمة

فأنه بعد تشغيل البرنامج لاتعمل المدة فقط بل تعطيني نافذة التسجيل وعند وضع السيريال نمبر (You have entered an invalid serial number)

لا اعرف ماذا افعل

لقد اصبت بالاحباط لا اعرف لماذا ؟؟؟!!

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

#56

أخي الكريم .

لأعلم أين وصلت في هذا المشروع :S :D .

هل يمكنك إرسال Code الـ Form الرئيسية و Code صندوق التسجيل على بريدي الإلكترونيّ ؟

وإذاكان بإمكانك إرسال المشروع لتسهل عليّ وعليك تدقيق خصائصه .

تم تعديل هذه المشاركة بواسطة Bashar Rabat في 15 يناير 2009 في 03:57

The important thing is not so much

that every child should be taught,

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

#57

تفضل كود Form_Load كما هو عندي


If My.Settings.LastDateUse = 0 Then My.Settings.LastDateUse = Now.ToOADate : My.Settings.Save()
Dim Days As Integer = TimeSpan.FromDays(Now.ToOADate - My.Settings.LastDateUse).Days
If (Days < 0) Or (Days >= (15 * My.Settings.RegKind)) Then
My.Settings.OutOfDate = Not (LoginForm1.ShowDialog() = 1)
My.Settings.Save()
Else
My.Settings.DaysLeft = Days
End If
If My.Settings.OutOfDate = False Then
End
End If

Text = String.Format("You have {0} day(s) left", (1 * My.Settings.RegKind) - My.Settings.DaysLeft)
End Sub
	Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

وهذا كود LoginForm كما هو عندي


Private Const Golden As Integer = 150
Private Const Silver As Integer = 100
Private Const Bronze As Integer = 50
Private Const Nagaty As Integer = 25
Private Const Test As Integer = 12.5
Private Sub OK_Click(ByVal Sender As System.Object, ByVal E As System.EventArgs) Handles OK.Click
If Not PasswordTextBox.Text = String.Empty Then
Select Case PasswordTextBox.Text
Case Convert.ToBase64String(System.Text.Encoding.Default.GetBytes(UsernameTextBox.Text * (Golden + (My.Settings.Goldens + 1))))
MsgBox("You have entered the golden key, You can use the application for 360 days")
My.Settings.LastDateUse = Now.ToOADate : My.Settings.RegKind = 360 : DialogResult = 1 : My.Settings.Goldens += 1
Case Convert.ToBase64String(System.Text.Encoding.Default.GetBytes(UsernameTextBox.Text * (Silver + (My.Settings.Silvers + 1))))
MsgBox("You have entered the silver key, You can use the application for 180 days")
My.Settings.LastDateUse = Now.ToOADate : My.Settings.RegKind = 180 : DialogResult = 1 : My.Settings.Silvers += 1
Case Convert.ToBase64String(System.Text.Encoding.Default.GetBytes(UsernameTextBox.Text * (Silver + (My.Settings.Bronzes + 1))))
MsgBox("You have entered the bronze key, You can use the application for 90 days")
My.Settings.LastDateUse = Now.ToOADate : My.Settings.RegKind = 90 : DialogResult = 1 : My.Settings.Bronzes += 1
Case Convert.ToBase64String(System.Text.Encoding.Default.GetBytes(UsernameTextBox.Text * (Nagaty + (My.Settings.Nagatys + 1))))
MsgBox("You have entered the Nagaty key, You can use the application for 30 days")
My.Settings.LastDateUse = Now.ToOADate : My.Settings.RegKind = 30 : DialogResult = 1 : My.Settings.Nagatys += 1
Case Convert.ToBase64String(System.Text.Encoding.Default.GetBytes(UsernameTextBox.Text * (Test + (My.Settings.Tests + 1))))
MsgBox("You have entered the Test key, You can use the application for 1 day")
My.Settings.LastDateUse = Now.ToOADate : My.Settings.RegKind = 1 : DialogResult = 1 : My.Settings.Tests += 1
Case Else
MsgBox("You have entered an invalid serial number .")
My.Settings.RegKind = 1
End Select
My.Settings.Save()
Else
Me.DialogResult = 3
End If
Me.Close()
End Sub

Private Sub Cancel_Click(ByVal Sender As System.Object, ByVal E As System.EventArgs) Handles Cancel.Click
Me.DialogResult = 2
End
End Sub

Private Sub LoginForm1_Load(ByVal Sender As Object, ByVal E As System.EventArgs) Handles Me.Load
UsernameTextBox.Text = My.Forms.Form1.GetProcessorID
lblLeft.Text = String.Format("You have {0} day(s) left", (1 * My.Settings.RegKind) - My.Settings.DaysLeft)
End Sub
End Class
Public Class LoginForm1

بالنسبة للمشروع بالكامل فا سامحني

صعب علي ارفعه لك الان

لكن ان حسم الامر وطلبته سأحاول رفعه لك

تحياتي

("ملحوظة لقد اضفت عنصريين الي الكيجين (NagatyوTest)")

#58

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

هل حاولت استخدام العملية التي ذكرتها لك, لإعادة ضبط الخصائص ؟ :

Private Sub Reset()

لاتنسى إضافة خاصية جديدة لخصائص المشروع ( لتعدد الأرقام التسلسلية للـ Nagaty Type ) .

اعتقد أنك خرجت عن نطاق عملية تصدير الرقم التسلسلي .

كل من التالي سوف لن يعمل بصورة صحيحة في الـ Keygen :

Private Const Nagaty As Integer = 25

Private Const Test As Integer = 12.5

تم تعديل هذه المشاركة بواسطة Bashar Rabat في 15 يناير 2009 في 20:21

The important thing is not so much

that every child should be taught,

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

#59

السلام عليكم

شكرا لك علي متابعتك

نعم,, تم إستخدام الخاصية Rest وبالفعل اشتغلت المدة التجريبية ولكن

(بعد انتهاء المدة ,, يستمر البرنامج بالعمل ويكتب لي بالعد التنازلي you have -1 dayes left ويستمر بتناقص الرقم بالسالب وهكذا )

بالنسبة لموضوع الكيجن سوف اقوم بتعديله

تحياتي لك

#60

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

في Code الـ Form الرئيسية يتم التحقق من عدد الأيام المتجاوزة, ويتم ذلك في الجملة الشرطية التالية :

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

My.Settings.OutOfDate = Not (LoginForm1.ShowDialog() = 1)

My.Settings.Save()

Else

لكن كما أرى أنك حذفت شرط إيقاف البرنامج بعد التأكد من الجملة الشرطية السابقة :

If My.Settings.OutOfDate Then End

راجع المشروع الرئيسي المرفق في هذا الموضوع ( اي في المنتدى ) حمله وتأكد من ماورد هنا .

يجب أن يتواجد هذا الشرط قبل السطر التالي :

Text = String.Format("You have {0} day(s) left", (1 * My.Settings.RegKind) - My.Settings.DaysLeft)

تم تعديل هذه المشاركة بواسطة Bashar Rabat في 16 يناير 2009 في 03:19

The important thing is not so much

that every child should be taught,

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

#61

عملت كما تقول

لكن البرنامج لن يعمل نهائيا

؟؟؟؟؟؟؟؟؟؟؟؟؟؟

:blush: :blush: :blush:

لا اعرف

شكلي ساعيد بناء المشروع

بس انا عايز منك توضيح

اني جملة شرطية اسهل يمكن استخدامها وضمانها مع بيان كيفية وضعها ووضع عدد الايام بها

معلش استحملني

تحياتي

#62

استحملك !!؟ = ما سبب وجودي هنا ؟

خذ راحتك في التسائل ( لكن حاول مساعدتي, لكي نصل لحل جذري ) .

ما أريده منك :

1 - أضف اجراء يعرض لك قيمة جميع الخصائص الخاصة بالبرنامج خاصتك .

2 - ادرج الجملة الشرطية التي تستخدمها - عليّك إدراج الحدث بشكل كامل ( حدث Form_Load ) .

3 - ادرج خيارات الـ( Select Case ) من الـ ( LoginForm1 ) .

4 - ادرج Code الـ( Keygen ) بشكل كامل .

5 - لا شيء :P, بإنتظار المعلومات المطلوبة :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.

#63

تفضل ما طلبت

	Private Sub Form1_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Activated
		If My.Settings.LastDateUse = 0 Then My.Settings.LastDateUse = Now.ToOADate : My.Settings.Save()
		Dim Days As Integer = TimeSpan.FromDays(Now.ToOADate - My.Settings.LastDateUse).Days

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




		If My.Settings.OutOfDate = False Then
			End

			Text = String.Format("You have {0} day(s) left", (1 * My.Settings.RegKind) - My.Settings.DaysLeft)
		End If

		If Not PasswordTextBox.Text = String.Empty Then
			Select Case PasswordTextBox.Text
				Case Convert.ToBase64String(System.Text.Encoding.Default.GetBytes(UsernameTextBox.Text * (Golden + (My.Settings.Goldens + 1))))
					MsgBox("You have entered the golden key, You can use the application for 360 days")
					My.Settings.LastDateUse = Now.ToOADate : My.Settings.RegKind = 360 : DialogResult = 1 : My.Settings.Goldens += 1
				Case Convert.ToBase64String(System.Text.Encoding.Default.GetBytes(UsernameTextBox.Text * (Silver + (My.Settings.Silvers + 1))))
					MsgBox("You have entered the silver key, You can use the application for 180 days")
					My.Settings.LastDateUse = Now.ToOADate : My.Settings.RegKind = 180 : DialogResult = 1 : My.Settings.Silvers += 1
				Case Convert.ToBase64String(System.Text.Encoding.Default.GetBytes(UsernameTextBox.Text * (Silver + (My.Settings.Bronzes + 1))))
					MsgBox("You have entered the bronze key, You can use the application for 90 days")
					My.Settings.LastDateUse = Now.ToOADate : My.Settings.RegKind = 90 : DialogResult = 1 : My.Settings.Bronzes += 1
				Case Convert.ToBase64String(System.Text.Encoding.Default.GetBytes(UsernameTextBox.Text * (Nagaty + (My.Settings.Nagatys + 1))))
					MsgBox("You have entered the Nagaty key, You can use the application for 30 days")
					My.Settings.LastDateUse = Now.ToOADate : My.Settings.RegKind = 30 : DialogResult = 1 : My.Settings.Nagatys += 1
				Case Convert.ToBase64String(System.Text.Encoding.Default.GetBytes(UsernameTextBox.Text * (Test + (My.Settings.Tests + 1))))
					MsgBox("You have entered the Test key, You can use the application for 1 day")
					My.Settings.LastDateUse = Now.ToOADate : My.Settings.RegKind = 1 : DialogResult = 1 : My.Settings.Tests += 1
				Case Else
					MsgBox("You have entered an invalid serial number .")
					My.Settings.RegKind = 1
			End Select
			My.Settings.Save()
		Else
			Me.DialogResult = 3
		End If
		Me.Close()


		TxtOut.Text = Convert.ToBase64String(Encoding.Default.GetBytes(txtPID.Text * ((50 / (CBKind.SelectedIndex + 1) + NRK.Value))))

		e.Handled = True
	End Sub
#64

أين هذا :

1 - أضف اجراء يعرض لك قيمة جميع الخصائص الخاصة بالبرنامج خاصتك .

شيء أخر :

رجاءً أدخل ثوابت أنواع التسجيل .

سأعود بعد 10-15 دقيقة .

أدخل البيانات وسأعود لنحل المشكلة .

The important thing is not so much

that every child should be taught,

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

#65
اقتباس
1 - أضف اجراء يعرض لك قيمة جميع الخصائص الخاصة بالبرنامج خاصتك .
?? لم افهم قصدك
اقتباس
رجاءً أدخل ثوابت أنواع التسجيل .
#66

أخي الكريم

اعذرني احتمال لن اعود الا غدا بسبب الامتحانات

لكن اكمل

لان شكل جهازي مخرف

وسأعود لعمل نسخة ويندوز له

سلام مؤقت

#67

انتظر !!!!!!!!!!!و ها قد عدت .

الخصائص المقصودة هي : ( LastTimeUse, OutOfDate, Golden, Silvers, Bronzes, Etc... ) كل الخصائص الموجودة في المشروع, مطلوبة .

The important thing is not so much

that every child should be taught,

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

#68

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

ها قد عدت

من حسن حظي ان غدا ما في امتحانات

قولت اعد اخلص معاك شيوية

الان قلي بقي ايه مطالبك قولها علشان اديهالك

#69

حسناً, أخي الكريم .

أولاً - بالتوفيق ( في الإمتحانات :P).

ثانياً -أدخل الحلقة التكرارية التالية تحت الحدث Load أو Activated كما ستخدمته أنت >>> بعد هذا السطر مباشرةً .

ثالثاً -عند إقلاع المشروع >> انسخ كل مايرى لك في اسفل الشاشة في الـ ( Immediate Window ) ولصقه هنا .

For Each St As Object In My.Settings.Properties

Debug.WriteLine(String.Format("Name {0}, DefaultValue {1}", St.Name, St.DefaultValue))

Next ST

The important thing is not so much

that every child should be taught,

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

#70

لم افهم قصدك؟؟؟

#71

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

يجب أن يكون الحدث Activated على هذا النحو :

 

[color= #000000; font-weight: bold;]Private Sub Form1_Activated[color= #009900;]( ByVal Sender [color= #b1b100;]As Object[color= #339933;], [color= #990000;]_

ByVal E [color= #b1b100;]As [color= #990000;]System[color= #339933;].EventArgs[color= #009900;]) Handles Me[color= #339933;].Activated

[color= #b1b100;]For [color= #990000;]Each St [color= #b1b100;]As Object In My[color= #339933;].Settings[color= #339933;].Properties

Debug[color= #339933;].WriteLine[color= #009900;](String[color= #339933;].Format[color= #009900;]([color= #0000ff;]"Name {0}, DefaultValue {1}"[color= #339933;], St[color= #339933;].Name[color= #339933;], St[color= #339933;].DefaultValue[color= #009900;])[color= #009900;])

[color= #990000;]Next ST

 

[color= #0000ff;]' Your second part of code >>>

[color= #0000ff;]End Sub

 

[color= #0000ff;]

بعد تشغيل البرنامج من الـVisual Basic, Visual Studio ستجد مستعرض يتابع مايحدث في العملية Debug لقد استخدمت في الـ Code السابق هذا المستعرض لكي اختصر عليك عناء إنشاء TextBox لتنقل القيم الحالية للـ Settings .

إذا لم تصل الفكرة عمل التالي :

 

Private Sub Form1_Activated[color= #009900;]( ByVal Sender [color= #b1b100;]As Object[color= #339933;], [color= #990000;]_

ByVal E [color= #b1b100;]As [color= #990000;]System[color= #339933;].EventArgs[color= #009900;]) Handles Me[color= #339933;].Activated

MsgBox[color= #009900;]( My[color= #339933;].Settings[color= #339933;].OutOfDate[color= #339933;].ToString [color= #009900;])

MsgBox[color= #009900;]( My[color= #339933;].Settings[color= #339933;].Goldens[color= #339933;].ToString [color= #009900;])

MsgBox[color= #009900;]( My[color= #339933;].Settings[color= #339933;].Silvers[color= #339933;].ToString [color= #009900;])

MsgBox[color= #009900;]( My[color= #339933;].Settings[color= #339933;].Bronzes[color= #339933;].ToString [color= #009900;])

MsgBox[color= #009900;]( [color= #990000;]Date[color= #339933;].FromOADate[color= #009900;]( My[color= #339933;].Settings[color= #339933;].LastTimeUse [color= #009900;])[color= #339933;].ToString [color= #009900;])

 

[color= #0000ff;]' Your second part of code >>>

[color= #0000ff;]End Sub

إذا كنت قد نسيت إحدا الخصائص الموجودة في مشروعك, رجاء فقط ضمنها لتعرض على شكل MsgBox كيف نعرف قيمتها الحالية, ولكي أيضاً نصل لحل هذه المشكلة.

The important thing is not so much

that every child should be taught,

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

#72

الان انا فهمت

بالنسبة Your second part of code >>>

هل هذا كود مشروعي ام ماذا

اسف لكثرة الاسئلة لكن للتوفير وعمل الخطوات صح (*__*)

تم تعديل هذه المشاركة بواسطة aboua lnaga في 18 يناير 2009 في 22:56

#73

ليس هنالك حاجة لإدراجه .

إذا لم تكن تستخدم الحدث Load فضمن العملية السابقة ضمنه ( المقصود بالعملية : إما الحلقة التكرارية ( For Each ) أو عرض الـ MsgBox(s) ) .

The important thing is not so much

that every child should be taught,

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

#74

تمت التجربة علي

For Each

ولن يفعل شئ

اظهر لي نافذة التسجيل ليس اكثر

#75

غريب عجيب :P .

هنالك مستعرض أو حسب ماتدعى نافذة في أسفل البرنامج ( Visual Basic ) فوق الـ Status Bar, هنالك يجب أن تجد المعلومات .

The important thing is not so much

that every child should be taught,

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

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

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

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

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

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