منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[سؤال] كيف اجعل البرنامج لا يفتح مدونتى الا مرة واحدة فى اليوم - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : [سؤال] كيف اجعل البرنامج لا يفتح مدونتى الا مرة واحدة فى اليوم (/showthread.php?tid=21597)

الصفحات: 1 2


كيف اجعل البرنامج لا يفتح مدونتى الا مرة واحدة فى اليوم - ابو روضة - 07-09-17

السلام عليكم اخوتى
عملت برنامج صغير بفضل الله وأدرجت فيه مدونتى كدعاية لها
وادرجت تايمر ليقوم اول ما المستخدم يفتح البرنامج بفتح مدونتى
وبعد مثلا  10 ثوانى يغلقها ويفتح البرنامج عادى..
ما اريده هو كى لا أزعج أحد فى كل مرة يفتح البرنامج أن يتم فتح المدونة فى اليوم مرتين فقط
او حتى مرة واحدة بمعنى لو المستخدم مثلا فتح البرنامج اليوم 10 مرات ففى اول مرة فالبرنامج يفتح
المدونة عادى وبعدها يغلقها ويفتح البرنامج نفسه ولو المستخدم أغلق البرنامج وشغله بعد ساعة على سبيل 
المثال يفتح البرنامج مباشرا دون فتح المدونة... اتمنى تكون الفكرة وصلت وجزاكم الله كل الخير



RE: كيف اجعل البرنامج لا يفتح مدونتى الا مرة واحدة فى اليوم - ابو روضة - 07-09-17

(07-09-17, 06:20 AM)سعود كتب : اظن الفكرة هي تماما مثل فكرة نافذة .....صح او لا؟
يعني هل المدونة يتم تحميلها في نافذة في البرنامج؟
اذا نعم الامر بسيط يتبقى مسالة الرغبة لديك حول كيفية تخزين القيمة التي تدل على الاستخدام لاول مرة او لاكثر.
منتظر...


الفكرة فكرة اننا عامل اتنين فورم... فورم للمدونة وبعد العشر ثوانى او العدد الذى أحدده أنا ينغلق الفورم وحده ويتم فتح البرنامج  او كنت بفكر أن يتم إنزال الويب براوزر للأسفل بعد العشر ثوانى ويختفى ويظهر برنامجى وكل هذا يكون  بنفس الفورم.. لن أستقر بعد فهذا كان مقصدى لكن لو لديك فكرة أفضل فانا أثق بك

وبعقلك....



RE: كيف اجعل البرنامج لا يفتح مدونتى الا مرة واحدة فى اليوم - ola - 07-09-17

انشئ مفتاح وسمه lastrun من نوع Date في قسم Sittings
[attachment=15345]

وضع هذا الكود في بداية التشغيل
كود :
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

   'قراءة وقت التشغيل السابق
   If DateDiff(DateInterval.Hour, My.Settings.lastrun, Now) > 10 Then '10 ساعات
       Form2.ShowDialog() 'قتح فورم المدونة
   End If
   My.Settings.lastrun = Now 'احتفظ بوقت التشغيل الحالي

End Sub

طلب
هل يمكن أن أحصل هلى نسخة مجانية من كتاب كن إيجابياً تأليف سامي أبو سريع
[attachment=15346]


RE: كيف اجعل البرنامج لا يفتح مدونتى الا مرة واحدة فى اليوم - ابو روضة - 07-09-17

(07-09-17, 07:09 AM)سعود كتب : فقط كبداية وليس كل الاكواد مهمة فقط حشوSmile

انتظر ردك لافضل من هذا.
كود :
Public Class MyApp
   Dim lo As Point = New Point(119, 130)
   Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
       Label2.Text = TimeString
       Select Case Label3.ForeColor
           Case Color.Black
               Label3.ForeColor = Color.Blue
           Case Color.Blue
               Label3.ForeColor = Color.Black
       End Select
   End Sub

   Private Sub MyApp_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
       Dim m As Integer = My.Settings.I
       m += 1
       My.Settings.I = m
       My.Settings.Save()
   End Sub

   Private Sub setpic(ByVal h As Boolean)
       If h Then
           PictureBox1.Location = New Point(lo)
       Else
           PictureBox1.Top = Me.Bottom
       End If
   End Sub

   Private Sub MyApp_Load(sender As Object, e As EventArgs) Handles MyBase.Load
       Dim m As Integer = My.Settings.I
       If m Mod 2 = 0 Then
           setpic(True)
       Else
           setpic(False)
       End If
   End Sub
   Private Sub Timer2_Tick(sender As Object, e As EventArgs) Handles Timer2.Tick
       Label4.Visible = True
       Timer2.Interval = 1
       PictureBox1.Top += 10
   End Sub
   Private Sub PictureBox1_Move(sender As Object, e As EventArgs) Handles PictureBox1.Move
       Label4.Text = PictureBox1.Top
       If PictureBox1.Bottom >= Me.Bottom Then
           Timer2.Stop()
       End If
   End Sub
End Class
الفكرة حول مربع صورة اما تختفي اسفل الفورم او تظهر بناء على قيمة في الـ settings .
قد تريد افضل من هذا  لان وفق هذه الفكرة  مرة تظهر ومرة لا تظهر 
عند بدء تحميل الفورم  يتم كشف  ....انظر للمثال او الكود



هذا احسن عملت فكرة تخزين تاريخ اليوم بملف نصي...شوف المثال
كود :
       Dim t As String = My.Computer.FileSystem.ReadAllText("t.txt")
       If t.Contains(Now.Date.ToShortDateString) = True Then
           setpic(True)
       Else
           setpic(False)
       End If
       t = Now.Date.ToShortDateString & vbNewLine
       My.Computer.FileSystem.WriteAllText("t.txt", t, False)
PHP كود :
Private Sub setpic(ByVal h As Boolean)
 
       If h False Then
            PictureBox1
.Location = New Point(lo)
 
       Else
            PictureBox1
.Top Me.Bottom
        End 
If
 
   End Sub 
انظر لحدث تحميل الفورم وللاجراء هذا فقط

اعلى محرر الفورم
كود :
   Dim lo As Point = New Point(119, 130)
الله يكرم اصلك اخى سعود....
حضرتك انا اريده بالويب براوزر مش بالبكيتشر بوكس بمعنى أريد البرنامج أول فتحه يظهر
هذه المدونة فى الويب براوزر https://samahersami.blogspot.com.eg/ وينتظر وقت احدده انا لى
ثم يختفى الويب براوزر ويظهر برنامجى مثل المثال المرفق لكنى أريد ان أحدد أنا كم مرة ستظهر
المدونة فى اليوم يعنى اكون عارف الطريقة عشان اكون فاهم انا بعمل ايه فمثلا اريدها ان تظهر
مرة واحدة فقط فى ال 24 ساعة فكيف ؟ يعنى حينما تفعلها قل لى مثلا اذا اردتها ان تظهر
مرتين فقم بعمل كذا فى المثال المرفق..فهمتنى أكيد ؟ لآن هذه الطريقة لم أجربها من قبل

(07-09-17, 08:13 AM)ola كتب : انشئ مفتاح وسمه lastrun من نوع Date في قسم Sittings


وضع هذا الكود في بداية التشغيل
كود :
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

   'قراءة وقت التشغيل السابق
   If DateDiff(DateInterval.Hour, My.Settings.lastrun, Now) > 10 Then '10 ساعات
       Form2.ShowDialog() 'قتح فورم المدونة
   End If
   My.Settings.lastrun = Now 'احتفظ بوقت التشغيل الحالي

End Sub

طلب
هل يمكن أن أحصل هلى نسخة مجانية من كتاب كن إيجابياً تأليف سامي أبو سريع
أنظر لردى اخى على الأخ سعود لانى اريدها بفورم واحد فقط..
ماذا تعنى العشر ساعات هنا فى الكود تبعك لو سمحت ؟
بالنسبة للكتاب اقسم بالله أنا لم انزله على الانترنت لآن الحقوق لدار نشر
لكن عندى نسخ لى فى البيت فقل لى الطريقة وسأرسله لك على العنوان إن شاء الله



RE: كيف اجعل البرنامج لا يفتح مدونتى الا مرة واحدة فى اليوم - ابو روضة - 07-09-17

(07-09-17, 09:57 AM)سعود كتب : الكود الاخير  يظهر المدونة(الصورة) مرة واحد باليوم ويخزن التاريخ بملف نصي.
ولو تريد اكثر من مرة باليوم فيمكن تدمج الفكرة الاولى مع الفكرة الثانية او ممكن تشوف طريقة افضل من كل اللي سويت.
او لو تحب تستخدم قاعدة بيانات عشان تنظم اكثر بيكون حلو.
يعني مثلا تسوي ملف قاعدة وتحط كم عمود مثلا .
showtimes_perday
tdate
الاولى رقمي والاخرى تاريخ.
و ممكن تضيف ايضا اعمدة تبين صلاحيات المستخدم الحالي ولما تنتهي من تصميم الجدول تضيفه الى الريسورس بالبرنامج عشان تستخرجه كل ماتفقد او المستخدم يفقد ملف القاعدة.(او ممكن تنشيء ملف القاعدة بالكود وجداولها كذلك)
يعني انت تريد بدل مربع الصورة ويب براوزر ؟
الامر بسيط ضع  اي اداة تحكم وتحكم بها بنفس الطريقة.

ولو فيه تفاصيل اخرى اكتبها لعل وعسى ننفذها جميعا.
الان ارجو انك تفتح مفكرة بجهازك وترتب الافكار عشان اقدر افيدك قدر الامكان يعني مثلا:
  • كود انشاء قاعدة بيانات اكسس.
  • كود انشاء الجداول.
  • كود انشاء الاعمدة
  • كود التحقق من وجود ماتم ذكره
  • ثم بعد ذلك ياتي دور فكرتنا الحالية.
القصد كما قلت ان تبدا بتطبيق الافكار خطوة خطوة  وبالراحة.
وفي حالتنا هذه  الفكرة الجوهرية هي باظهار تحكم معين ايا كان (مربع صورة - ويب براوزر-بانل) وماهي فارقة هذي او هذي...لاننا لسنا بصدد تحميل الويب براوزر برابط معين هذا انت تعرفه فقط شغل تفنن يعني انا اسوي شي ونت تسوي شي ثاني بناء على مااتضح من افكار.
ممكن ايضا تستخدم Usercontrol  تحتضنها بواسطة بانل وتلغيها وتضع مكانها تحكم اخر.
حاول تجهز قائمة بالافكار التي تؤدي المطلوب الذي تحتاجه حتى نقراها ولن نكتب كود واحد الا بعد اتمامها ولو تاخرنا بالرد.

يا حبيب قلبى بلاش إحراج هههه ....
أنا أرفقت لك مرفق فى ردى السابق واعتقد لو فتحته ستعرف مقصدى..
افتحه وعدل عليه واجعل المدونة لا تفتح الا مرة فى ال 24 ساعة فقط..
يعنى لو ظل يفتح البرنامج خمسين سنة فالمدونة لا تفتح الا مرة واحدة فقط فى اليوم الواحد...
أظن كلامى مش محتاج ولا ورقة ولا اى أفكار أخى سعود
 



RE: كيف اجعل البرنامج لا يفتح مدونتى الا مرة واحدة فى اليوم - ابو روضة - 15-01-18

اتمنى حل هذه المشكلة اخوتى .....  طالب برمجة



RE: كيف اجعل البرنامج لا يفتح مدونتى الا مرة واحدة فى اليوم - عبدالله الدوسري - 15-01-18

أمرك غريب , تم الرد سابقاُ بالحل من قبل العضو ola ,, منذ اربع اشهر ,, 


RE: كيف اجعل البرنامج لا يفتح مدونتى الا مرة واحدة فى اليوم - ابو روضة - 15-01-18

(15-01-18, 12:28 AM)عبدالله الدوسري كتب : أمرك غريب , تم الرد سابقاُ بالحل من قبل العضو ola ,, منذ اربع اشهر ,, 

ما الغريب من أمرى أخى ؟
منا لو كنت رأيت رد صحيح فأكيد طبعا ماكنت سألت مرة أخرى.
أنا طلبت من العضو التوضيح ولم يرد ومنهم من حذف ردوده ولا أعلم لماذا
وبالنهاية انت تقول أمرى غريب...
من المفترض السكوت حينما لا يعرف العضو الاجابة..



RE: كيف اجعل البرنامج لا يفتح مدونتى الا مرة واحدة فى اليوم - طالب برمجة - 15-01-18

استخدم Setting لحفظ آخر تاريخ تم فتحه
ثم اختبار تاريخ اليوم فإن توافق مع المحفوظ في Setting هذا يعني أنه سبق فتح المدونة
وإلا يحفظ تاريخ اليوم في Setting ثم فتح فورم المدونة ثم يكمل عمل البرنامج

هذه هي الفكرة

مسألة 10 ثوان تستخدم معها Timer داخل الفورم ثم يغلق الفورم ليعود للفورم الرئيسي


RE: كيف اجعل البرنامج لا يفتح مدونتى الا مرة واحدة فى اليوم - ابو روضة - 15-01-18

(15-01-18, 12:53 AM)طالب برمجة كتب : استخدم Setting لحفظ آخر تاريخ تم فتحه
ثم أختبار تاريخ اليوم فإن توافق مع المحفوظ في Setting هذا يعني أنه سبق فتح المدونة
واإذلا يحفظ التاريخ اليوم في Setting ثم يكمل عمل البرنامج

هذه هي الفكرة

شكرا لك اخى الكريم على اسلوبك السهل المميز