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

كيف أجمع عدد من الساعات والدقائق على الوقت الحاضر

مغلق
بدأه ABU-RAKAN في 22 يناير 2005 · 11 رد · 2,286 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

ألاخوه ألافاضل ..........

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

اعمل برنامجا لمعرفة وقت تعبئة وأنتهاء خزانات الوقود ...........

حيث تعتمد على قراءة محتوى الخزان " قراءه الكترونيه " ثم تتم الحسابات يدويا

واجهتني مشكلتان :-

ألاولى :-

كيف أجمع عدد عباره عن مجموعه من " الساعات و الدقائق " على الوقت الحاضر ؟؟؟

القصد " معرفة تعبئة أو أنتهاء الخزان "

text2.text = text1.text + text3.text

text2.text =وقت تعبئة أو أنتهاء الخزان

text1.text =time "الوقت ألان "

text3.text = مجموعه من " الساعات و الدقائق "

-----------------------------------------------------

الثانيه :-

أذا كان

text3.text = مجموعه من " الساعات و الدقائق "

يحتوي على عدد عشري

" text3.text =4.75 " بمعنى وقت تعبئة أو أنتهاء الخزان ستكون بعد أربعة ساعات

وخمس وأربعون دقيقه

كيف أتخلص من الفاصله ثم أجمعها على الوقت الحاضر ؟؟؟؟؟

أرجوا مساعدتي ......................

ولكم جزيل الشكر ............

ABU-RAKAN

#2

أولا: بالنسبة لجمع وقتين :

أنا جربت كتبت الكود ده من دماغى و اشتغل معايا تمام

Dim X As Date
X = Format("01:00:00", "hh:mm:ss")
Dim Y As Date
Y = Format("02:00:00", "hh:mm:ss")
Dim z As Date
z = X + Y
MsgBox z

الثانيه :-

اقتباس
أذا كان

text3.text = مجموعه من " الساعات و الدقائق "

يحتوي على عدد عشري

" text3.text =4.75 " بمعنى وقت تعبئة أو أنتهاء الخزان ستكون بعد أربعة ساعات

وخمس وأربعون دقيقه

ازاى text3 يحتوى على ساعات و دقائق و قيمته 4.75

و يعنى ايه تتخلص من الفاصلة ؟؟ هل قصدك ان الرقم يطلع 475 ام يطلع 4 فقط ؟؟؟

المفروض لو text3 يحتوى على وقت انتهاء مخزون الخزان يبقى بالشكل التالى

04:45

كده تبقى 4 ساعات و 45 دقيقة مش 4.75 :D

و بكده تقدر تجمع عليه الوقت الحاضر بالطريقة السابقة ;)

أى خدمة (h)

تم تعديل هذه المشاركة بواسطة AHMAD FATHY في 23 يناير 2005 في 04:18

AlexCard.gif

Business Card

Ahmad Fathy Ahmad

Computer and Systems Department

Faculty of Engineering, Alexandria University

Cellular: +2 010 1461154

E-mail: midoalx@hotmail.com

ICQ: 148481391

#3

AHMAD FATHY

مشكوووووووووووور عزيزي

أجرب ..... و أشوف

بس شكلها كذا ........

الف...... الف........ شكر مره ثانيه

#4

EXAMPLE.jpg

AHMAD FATHY

ألاخوه ألافاضل

أعتقد أنني لم أفلح في توصيل قكره الكود الذي أبحث عنه

أسف مره ثانيه

وشكرا .... يا AHMAD FATHY

وأليكم بالتفصيل

من الصوره السابقه

سأضرب مثلا على طريقة العمل الان " يدويا " عسى أستطيع أيصال فكرة الكود

1- الخزان قي حالة تعبئه .

2- الحد الاقصى " 10متر "

ألان نحسبها يدويا كتالي :-

نأخذ القراءه عند الساعه الرابعه مثلا " 4879 ملم "

وعند الساعه الخامسه مثلا " 3676 ملم "

ومن خلالها نعرف " قيمة التعبئه بالساعه " = 1203 ملم

ثم .....

نحسب مساحة الجزء الفارغ من الخزان 10000ملم

" طرح "

4879 ملم

= 5131 ملم

أخيرا ............

معرفة الوقت المتبقي =

المساحه الحره = 5131 ملم

"تقسيم "

قيمة التعبئه بالساعه = 1203 ملم

الان تظهر المشكلتان على النحو التالي

أولا :-

سيكون الخزان ممتلئ بعد 4.25679

وهذا ماكنت أقصده يا AHMAD FATHY

نحن الان ويديويا نحسبه على

0.25679 في 60 = خمسة عشر دقيقه

فيكون المجموع " أربع ساعات وخمسة عشر دقيقه

AHMAD FATHY

ألاخوه ألافاضل

السؤال ...........؟؟؟؟؟؟؟

كيف أصنع كود برمجي بحيث يظهر لنا الوقت بالتحديد كأضافة الناتج على الوقت

ألاصلي ..........؟؟؟؟

قبدلا من "" سيكون الخزان ممتلئ بعد 4.25679 ""

يكون الناتج على شكل 19:15:00

مع أن الوقت ألان 15:00:00

بكل الود والمحبه ...........

وأسف للأطالتي للموضووع ولكن أكتمل البرنامج ولم يبقى لي سوى هذه المشكله

أخوكم

ABU-RAKAN

#5

السلام عليكم

أول شئ يا باشا .. أنت تقول ان الخزان فى حالة تعبئة لكن طبقا لكلامك هذا فهو فى حالة تفريغ لأن القراءه تقل ولا تزيد مع مرور الزمن B)

اقتباس
نأخذ القراءه عند الساعه الرابعه مثلا " 4879 ملم "

وعند الساعه الخامسه مثلا " 3676 ملم "

الأن يا سيدى إذا كنت تعرف كلا من المعلومات الاتيه:

المساحة المتبقية فارغه فى الخزان

المساحة التى تملأ كل ساعه

يمكنك حساب عدد الدقائق اللازمة لتعبئه المساحة الفارغه من الخزان من المعادلة التالية

solution1.gif

الآن أصبح فى متناول يدك عدد الدقائق اللازمة لتعبئة المساحة الفارغه من الخزان

أى سيقول لك البرنامج

الوقت المتبقى 32 دقيقة مثلا

فما المشكلة

تم تعديل هذه المشاركة بواسطة AHMAD FATHY في 23 يناير 2005 في 19:57

AlexCard.gif

Business Card

Ahmad Fathy Ahmad

Computer and Systems Department

Faculty of Engineering, Alexandria University

Cellular: +2 010 1461154

E-mail: midoalx@hotmail.com

ICQ: 148481391

#6

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

الأخ ABU-RAKAN لى سؤال قبل ان أجيب سؤالك

هل هناك إهمال للثوانى عند الحساب بمعنى 4.25679 تعنى أربع ساعات وخمسة عشر دقيقة

والثوانى تحسب صفر حيث ان إجابتى تعتمد على هل أهمل الصفر ام لا وإذا لم أهملة هل ممكن يكنو الرق مثلا 4.25679.30 حيث 30 × 60 يعطنا الثوانى أرجوا الإجابة لوضع المثال المطلوب

{يَا أَيُّهَا النَّاسُ اتَّقُوا رَبَّكُمْ إِنَّ زَلْزَلَةَ السَّاعَةِ شَيْءٌ عَظِيمٌ }الحج1

#7

و الله يا shearer انا منتظر رده عشان اشوف الحل اللى عملته هو هدفه ولا يقصد حاجة تانية بس هو مردش :D

يا راجل ده شوية شوية هنقلبها تفاضل و تكامل عشان نحل المشكلة :D

AlexCard.gif

Business Card

Ahmad Fathy Ahmad

Computer and Systems Department

Faculty of Engineering, Alexandria University

Cellular: +2 010 1461154

E-mail: midoalx@hotmail.com

ICQ: 148481391

#8

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

ياميدو العملية سهلة اوى بس الأخ مش عارف يوصلها كويس ليس إلا ولا تفاضل ولاتكامل ;)

{يَا أَيُّهَا النَّاسُ اتَّقُوا رَبَّكُمْ إِنَّ زَلْزَلَةَ السَّاعَةِ شَيْءٌ عَظِيمٌ }الحج1

#9

من الواضح أن الأخ ABU-RAKAN قام بعمل حساب الوقت اللازم ولكنه يحتاج جمعه على الوقت الحالي عموما عندي طريقة بسيطة

أولاً سنحول الوقت الحالي إلى رقم عشري كالأتي

t = Hour(Time) + Minute(Time) / 60 + Second(Time) / 3600

ثانيا نقوم بجمعه على الوقت اللازم لملئ الخزانات وليكن 4.25679 كالأتي

tr = 4.25679
tnd = t + tr

فالمتغير tnd هو الوقت النهائي تبقى خطوة تحويله مرة أخرى إلى ساعات ودقائق وثوانيً كالأتي

h = Fix(tnd)
m = Fix((tnd - Fix(tnd)) * 60)
s = Fix((((tnd - Fix(tnd)) * 60) - Fix((tnd - Fix(tnd)) * 60)) * 60)

أحيانا تظهر مشكلة وهي أن الساعات تزيد عن أربعة وعشرون ساعة وحل هذه المشكلة كالأتي

If h > 24 Then
h = h - ((Fix(h / 24)) * 24)
End If
MsgBox Str(h) + ":" + Str(m) + ":" + Str(s)

وهكذا سيظهر الوقت على على طريقة الأربعة وعشرون ساعة وإذا كنت تفضل صباحا أم مساءً إليك الأتي

If h > 12 Then
h = h - 12
d = "م "
Else
d = " ص"
End If
MsgBox Str(h) + ":" + Str(m) + ":" + Str(s) + d

إذا تريد الوقت لعمليات حسابية أخرى فالوقت في المتغيرات h,m,s

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

If h < 10 Then
h = StrReverse(Str(h) + "0")
End If
If m < 10 Then
m = StrReverse(Str(m) + "0")
End If
If s < 10 Then
s = StrReverse(Str(s) + "0")
End If
view = h + ":" + m + ":" + s + " " + d
MsgBox view

ليصبح الشكل النهائي للكود

t = Hour(Time) + Minute(Time) / 60 + Second(Time) / 3600
tr = 4.25679
tnd = t + tr
h = Fix(tnd)
m = Fix((tnd - Fix(tnd)) * 60)
s = Fix((((tnd - Fix(tnd)) * 60) - Fix((tnd - Fix(tnd)) * 60)) * 60)
If h > 24 Then
h = h - ((Fix(h / 24)) * 24)
End If
If h > 12 Then
h = h - 12
d = "م "
Else
d = " ص"
End If
If h < 10 Then
h = StrReverse(Str(h) + "0")
Else
h = Str(h)
End If
If m < 10 Then
m = StrReverse(Str(m) + "0")
Else
m = Str(m)
End If
If s < 10 Then
s = StrReverse(Str(s) + "0")
Else
s = Str(s)
End If
view = h + ":" + m + ":" + s + " " + d
MsgBox view

أتمنى أن أكون قد قدمت المساعدة

أنتظر ردك علينا

سلام

تم تعديل هذه المشاركة بواسطة بلال حمدي في 24 يناير 2005 في 16:36

#10

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

أعتقد أن مفتاح الحل يبدأ من الوظيفة DateAdd هى اللى تمكنك تضيف أو تطرح قيم على تاريخ

ودوال التاريخ كثيرة منها أيضا DateDiff اللى بتدى الفرق بين تاريخين

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

عن عبدالله بن عمر رضي الله عنهما أن رسول الله صلى الله عليه وسلم قال :

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

رواه الطبراني في الكبير

#11

AHMAD FATHY

من قلبي لك الشكر الجزيل على أهتمامك للموضوع .....

ومحاولاتك لأيجاد الحل لماطرحته وكانت ايجابيه ......

بلال حمدي

أبدااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااا ع

أبدااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااا ع

أبدااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااا ع

بكل ما تحمله هذه الكلمه من معنى ............

100%

أشتغل الكود وأضاف أبداع أخر يسجل لك " ماشاء الله عليك "

والكبير ............... كبير .

" وأسف على التأخيرررررررررررررر "

#12

شكرا أخي ABU-RAKAN على هذا الرد الطيب

والحمد لله أن الكود قد أعجبك

بالتوفيق

سلاااااااااااام

وأسف أيضا على التأخير

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

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

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

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

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

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