ثامر أبو بلقيس
12-01-2014, 10:49 PM
السلام عليكم
أخي الحبيب ... قرأت مقالة جميلة جدا فشدني الفضول
أن أفتح مشروعا جديدا
وضعت فيه أنبوتا أسميته date
هذا الأنبوت سأكتب فيه التاريخ الميلادي لكن
عند كتابة اليوم أو الشهر اذا كان العدد اقل من عشرة اضع الصفر على
اليسار مثلا الشهر 3 أكتبها 03
ثم وضعت 3 أنبوتات
الأنبوت Input2 بهذه التسمية سينزل فيه اليوم الهجري
الأنبوت Input3 الشهر الهجري
الأنبوت Input4 السنة الهجرية
توجهت نحو global functions
وزرعت
function ToJulian(ISO_Date)
local t = {}
t.year = String.Left(ISO_Date, 4)
t.month = String.Mid(ISO_Date, 6, 2)
t.day = String.Right(ISO_Date, 2)
local d = os.time(t)
return Math.Floor((d / 86400) + 2440588)
end
بعد الحفظ رجعت ووضعت زر في التجميعية
وكتبت فيه
r=Input.GetText("date");
local ISO_Date = r
local JulianDate = ToJulian(ISO_Date)
L = Math.Floor(JulianDate) - 1948440 + 10632
N = Math.Floor((L - 1) / 10631)
L = L - 10631 * N + 354
J = Math.Floor((10985 - L) / 5316) * Math.Floor((50 * L) / 17719) + Math.Floor(L/5670) * Math.Floor((43 * L) / 15238)
L = L - Math.Floor((30 - J) / 15) * Math.Floor((17719 * J) / 50) - Math.Floor(J / 16) * Math.Floor((15238 * J) / 43) + 29
M = Math.Floor((24 * L) / 709)
D = L -Math.Floor((709 * M) / 24)
Y = Math.Floor(30 * N + J - 30)
----
Input.SetText("Input2", D);
Input.SetText("Input3", M);
Input.SetText("Input4", Y);
انتهى ناجحة أم لا ؟ لا أدري لكنه تستهل التجربة
سلام
أخي الحبيب ... قرأت مقالة جميلة جدا فشدني الفضول
أن أفتح مشروعا جديدا
وضعت فيه أنبوتا أسميته date
هذا الأنبوت سأكتب فيه التاريخ الميلادي لكن
عند كتابة اليوم أو الشهر اذا كان العدد اقل من عشرة اضع الصفر على
اليسار مثلا الشهر 3 أكتبها 03
ثم وضعت 3 أنبوتات
الأنبوت Input2 بهذه التسمية سينزل فيه اليوم الهجري
الأنبوت Input3 الشهر الهجري
الأنبوت Input4 السنة الهجرية
توجهت نحو global functions
وزرعت
function ToJulian(ISO_Date)
local t = {}
t.year = String.Left(ISO_Date, 4)
t.month = String.Mid(ISO_Date, 6, 2)
t.day = String.Right(ISO_Date, 2)
local d = os.time(t)
return Math.Floor((d / 86400) + 2440588)
end
بعد الحفظ رجعت ووضعت زر في التجميعية
وكتبت فيه
r=Input.GetText("date");
local ISO_Date = r
local JulianDate = ToJulian(ISO_Date)
L = Math.Floor(JulianDate) - 1948440 + 10632
N = Math.Floor((L - 1) / 10631)
L = L - 10631 * N + 354
J = Math.Floor((10985 - L) / 5316) * Math.Floor((50 * L) / 17719) + Math.Floor(L/5670) * Math.Floor((43 * L) / 15238)
L = L - Math.Floor((30 - J) / 15) * Math.Floor((17719 * J) / 50) - Math.Floor(J / 16) * Math.Floor((15238 * J) / 43) + 29
M = Math.Floor((24 * L) / 709)
D = L -Math.Floor((709 * M) / 24)
Y = Math.Floor(30 * N + J - 30)
----
Input.SetText("Input2", D);
Input.SetText("Input3", M);
Input.SetText("Input4", Y);
انتهى ناجحة أم لا ؟ لا أدري لكنه تستهل التجربة
سلام