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

خطا في صنع الاداة --- اول محاولة لي في صنع الادوات

مغلق
بدأه مبرمج مبتدا في 18 أغسطس 2007 · 18 رد · 1,154 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

حاولت ان اصنع اداة الوقت حيث الثواني و الدقائق

لكن المشكلة هي انا لا اعرف ان اجعل خاصية اسمها minit عندما يدخل المستخدم فيها رقم يصبح الدقائق هو الرقم الذي ادخله

المثال موجود ويمكنكم رؤية الخطا

time.rar

startingprogremmer.jpg
#2

السلام عليكم ورحمة الله وبركاته

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

مشكلتك أخي هي التعامل مع المتغيرات فأنت تستعمل متغير من النوع string كأنه عدد وفي بعض الأحيان العكس

يمكنك انشاء خاصية مثلا minut وفي المؤقت تضع الكود بعد تحويل القيمة للدقائق الى ثواني نقوم بالجمع ونعرض الوقت باستعمال الدالة التي قلت لك عنها

Static s
s = s + 1
total = m_minut * 60 + s
Label1.Caption = Format(DateAdd("s", total, "00:00:00"), "hh:mm:ss")

طبعا الكود تضعه في المؤقت

بالتوفيق

2.zip

تم تعديل هذه المشاركة بواسطة DreamNet في 18 أغسطس 2007 في 11:38

#3

اخي دريم نت هل رايت المثال ؟؟

انا سويت شيء سهل جدا :

label1 = minit

label2.caption = ":"

label3 = secound

وما اريده عن label1 ثم انا ساعمل بنفس الطريقة label3

startingprogremmer.jpg
#4

نعم أخي الكريم رأيت مثالك

هي سهلة وانت تعقد فيها

استعمل الدالة dateadd فقط ولا تتعب نفسك في استخدام الشروط

هل رأيت المثال الذي وضعته لك؟

#5

في مثالك اخي عندما اكتب

usercontrol1.

تظهر القائمة لمدة ثانية و تختفي

انا اريد مثل مثالي بس المستخدم يضيف minit و secound

startingprogremmer.jpg
#6

اخي انا لا اعقد بس ما اعرف dateadd

startingprogremmer.jpg
#7

اريد فقط تعلم كيف اعمل خاصية لون :) وخاصية minit اذا اضاف المستخدم فيها رقم يصبح minit

startingprogremmer.jpg
#8

انا لا اريد انشاء هذه الاداة فقط اريد تعلم كيف انشاء الادوات فيجب تعلم ما قلته

startingprogremmer.jpg
#9

أهلا بك

هناك معالج يقوم بمساعدتك في انشاء خصائص للأداة التي تريد صنعها واضافة بعض الخصائض الافتراضية مثا اللون وكذلك اشياء أخرى

يجب تحميل المعالج من complements (الفيبي الذي عندي فرنسي آسف )

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

post-23361-1187431026_thumb.jpg

ثم تحديد الكنترول الذي تريد ربطه بخاصية اللون للاداة

post-23361-1187431041_thumb.jpg

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

DateAdd("s", total, "00:00:00")

لو لاحظت في السطر المكتوب ستجدني أضفت رقم total يمثل مجموع الثواني الى التوقيت 00:00:00 لانني حددت الinterval للجمع ب "s" الذي يمثل الثواني

يعني راح يجمعلي الثواني الموجودة في الوقت الذي حددته مع total

وكأني حولت الوقت اللي عندي 00:00:00 كله إلى ثواني ثم جمعته مع total وبعدها رجعت وحولته الى وقت فالدالة تختصر كل هذه التحويلات

يمكنك استبدال الinterval ب "m" لكي يضيف الدقائق فقط

بالتوفيق ان شاء الله

#10
اقتباس
انا لا اريد انشاء هذه الاداة فقط اريد تعلم كيف انشاء الادوات فيجب تعلم ما قلته

كما قلت لا اريد ان انشاء هذه الاداة فقط اريد تعلم كيف اضيف خاصية يستطيع تغييرها المستخدم

بالنسبة الى الالوان الى يوجد طريقة اخرى ؟

اذا كان لا يوجد اريد اسم البرنامج سابحث عنه بالانجليزية

startingprogremmer.jpg
#12

مش مشكلة اخي بس مثل ما قلت اريد اضيف خاصية .... يستطيع المستخدم تغييرها

startingprogremmer.jpg
#13

للرفع

startingprogremmer.jpg
#14

استخدام المعالج هو افضل طريقة للتعامل مع صناعة الادوات

' هذه الخاصية  لا اعتقد بحاجة الى شرح
 Public Property Get minit() As String
	 minit = Label1.Caption
 End Property

 Public Property Let minit(ByVal New_minit As String)
	 Label1.Caption() = New_minit
 ' اعطاء اشارة ان هذه الخاصية قد تغيرت
	 PropertyChanged "minit"
 End Property

 'قراءة القيمة  التي وضعتها  حيث يتم تخزينها  في  مكان خاص  يسمى  PropertyBag
 ' وهنا  تضع ايضا الخصائص الاخرى 
 Private Sub UserControl_ReadProperties(PropBag As PropertyBag)
	Label1.Caption = PropBag.ReadProperty("minit", "Label1")
 '  Label2.Caption = PropBag.ReadProperty("second2", "Label2")
 End Sub

 ' يتم قراءة القيمة  من  المخزن
 Private Sub UserControl_WriteProperties(PropBag As PropertyBag)

   Call PropBag.WriteProperty("minit", Label1.Caption, "Label1")
 ' Call PropBag.WriteProperty("seconds2", Label2.Caption, "Label2")
 End Sub

end sub

هذا الكود لم اكتبه بل قام بكتابته المعالج الذي تكلم عنه dreamnet

وكما هو ظاهر تختلف الخصائص عن ما هو موجود في الفئات لان الخصائص في الفئات يتم تخزينها مؤقتا في الذاكرة وهنا في الادوات يتم تخزينها بشكل ثابت حتى تنتقل مع البرنامح عند عمل ملف تشغيلي

تم تعديل هذه المشاركة بواسطة TareqVB في 19 أغسطس 2007 في 10:43

#15

شكرا اخواني لكن بعد ان صنعت الاداة ::

عندما استعمل الاداة :

تظهر لي خصائص كثيرة مثل :

dragicon

dragmode

whatthishelpid

كيف اجعلها لا تظهر ؟؟

startingprogremmer.jpg
#16

من خلال المعالج يمكن ازالة بعض الخصائص الافتراضية التي تكون مع الاداة (كما في الصورة)

post-23361-1187431026.jpg

ام بقية الخصائص التي تكلمت عنها فهي ثابتة لا يمكن ازالتها اي لا بد من وجودها .

#17

لكن اخي طارق الخصائص تكثر اكثر فاكثر في : قائمة .

عندما اكتب time1. تظهر قائمة بها الكثير من الاشياء الا استطيع ازالتها ؟؟

startingprogremmer.jpg
#18

هذه الخصائص موروثة من ادوات الويندوز اي لازم تكون موجودة . ممكن فقط تختصرهم اذا جعلت الاداة مثل ال timer اي لا تظهر اثناء التشغيل وذلك عن طريق الخاصية InvisiblatRunTime =true

#19

شكرا اخي طارق

startingprogremmer.jpg

هذا الموضوع مغلق.

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

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

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

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

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