السلام عليكم ورحمة الله وبركاته
عندما قمت ببرمجة هذه الساعة كان الوقت ليلا وكانت الساعة بين 0 و12 ولهذا لم يظهر الخطأ المتمثل في ان كانت الساعة بين 12 و24
حيث ان الدائرة تكون دائما كاملة لكل الساعات بين 12 و24 ولم انتبه الى هذه الجزئية وهذا خطأ
وتمنيت من الاخوة الكرام القيام بتجربة البرنامج والاشارة الى الاخطاء المحتملة
واليوم احتجت لهذا البرنامج ووجدت فيه الخطأ الذي ذكرته اعلاه لذلك اتيت بهذا التعديل وارجو المعذرة منكم (نحن بشر معرضين دائما للخطأ)
يستبدل الكود الخاص ببوتن Start
الكود الذي فيه الخطأ
كود :
private void Btn_Start_Click(object sender, EventArgs e)
{
g =this.CreateGraphics();
SS = ((int)dd.Second) * 6;
MM = ((int)dd.Minute) * 6;
HH = ((int)dd.Hour) * 30;
g.DrawArc(p1, 10, 10, 210, 210, 0, 360);// رسم قوس في المنتصف مع بداية زاوية صفر وحتى 90 درجة
g.DrawArc(p3, 20, 20, 190, 190, 0, 360);// رسم قوس في المنتصف مع بداية زاوية صفر وحتى 90 درجة
g.DrawArc(p5, 30, 30, 170, 170, 0, 360);// رسم قوس في المنتصف مع بداية زاوية صفر وحتى 90 درجة
timer1.Start();
g.DrawArc(p, 10, 10, 210, 210, 270, SS);// رسم قوس في المنتصف مع بداية زاوية صفر وحتى 90 درجة
g.DrawArc(p2, 20, 20, 190, 190, 270, MM);// رسم قوس في المنتصف مع بداية زاوية صفر وحتى 90 درجة
g.DrawArc(p4, 30, 30, 170, 170, 270, HH);// رسم قوس في المنتصف مع بداية زاوية صفر وحتى 90 درجة
label3.Text = dd.ToString("dd-MM-yyyy");
}
الكود الجديد بعد التعديل
كود :
private void Btn_Start_Click(object sender, EventArgs e)
{
g = this.CreateGraphics();
SS = ((int)dd.Second) * 6;
MM = ((int)dd.Minute) * 6;
HH = (((int)dd.Hour) * 30) - 360;
if (HH < 0)
{
HH *= -1;
}
else
{
HH += 0;
}
g.DrawArc(p1, 10, 10, 210, 210, 0, 360);// رسم قوس في المنتصف مع بداية زاوية صفر وحتى 90 درجة
g.DrawArc(p3, 20, 20, 190, 190, 0, 360);// رسم قوس في المنتصف مع بداية زاوية صفر وحتى 90 درجة
g.DrawArc(p5, 30, 30, 170, 170, 0, 360);// رسم قوس في المنتصف مع بداية زاوية صفر وحتى 90 درجة
timer1.Start();
g.DrawArc(p, 10, 10, 210, 210, 270, SS);// رسم قوس في المنتصف مع بداية زاوية صفر وحتى 90 درجة
g.DrawArc(p2, 20, 20, 190, 190, 270, MM);// رسم قوس في المنتصف مع بداية زاوية صفر وحتى 90 درجة
g.DrawArc(p4, 30, 30, 170, 170, 270, HH);// رسم قوس في المنتصف مع بداية زاوية صفر وحتى 90 درجة
label3.Text = dd.ToString("dd-MM-yyyy");
}
نرجو التجربة والاعلام ان وجد خطأ
تقبلوا كل الود والاحترام