المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : موضوع متجدد " بالمختصر المفيـــــــد "


عبود عبود
13-09-2014, 12:39 AM
http://i.imgur.com/57UrtCm.gif

http://i.imgur.com/emf2NIh.gif


الحمد لله رب العالمين والصلاة والسلام على سيدنا محمد وعلى آله وصحبه أجمعين أما بعد



أقدم لكم بعض الإختصارات الغير ظاهرة فى قائمة أوامر البرنامج


next()

حيث أن وظيفتها هى إعطاء الرقم التالى للإندكس فى المصفوفة المحددة

فعلى سبيل المثال المصفوفة التالية :

a={"1","2","3","f","p",""};

حيث أن المصفوفة تحتوى على 6 عناصر بداخلها.

إذا كتبنا الدالة السابقة كالتالى :

next (a)

حيث أن المتغير a يعبر عن المصفوفة السابقة فإن نتيجة الإسترجاع للدالة سوف تكون عبارة عن رقم الإندكس الإفتراضى وهو رقم 1 وهنا أقصد رقم الإندكس و ليس محتوى الإندكس .

أما إذا أعطينا بارامتر للدالة لتصبح على سبيل المثال :

next (a ,2)

فإن بحسب رقم البارمتر سوف تكون نتيجة إسترجاع الدالة هو رقم الإندكس التالى للرقم المكتوب فى الدالة

طالما أن الرقم أصغر من عدد إندكسات الدالة أو عدد عناصر الدالة a

أما إذا كان رقم البارامتر هو مساوى أو أكبر من عدد عناصر الدالة a فإن نتيجة الإسترجاع سوف تكون nil حيث عدم وجود عناصر أخرى حتى يتم تنفيذ الدالة next .

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

pcall()

حيث وظيفة هذة الدالة هى إستدعاء الدوال function

فعلى سبيل المثال لدينا دالة كالتالى :

function s(d)
a={"1","2","3","f","p",""};
b=a[2]*d;
end

ففى حالة الإستدعاء العادية فى البرنامج يكون كالتالى :

s(d)

أما عندما نستخدم الدالة يكون الإستداعاء للوظيفة السابقة كالتالى :

pcall(s,d)

طبعا البارامتر هو d و هو متغير فعلى سبيل المثال لعرض قيمة b إذا كان المتغير d يساوى 5

فيكتب إستدعاء الدالة كالتالى :

pcall (s,5)
Dialog.Message("Notice", b, MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);

هنا سيكون الناتج b = 10 وذلك بعد تنفيذ الدالة بدون أخطاء و إذا و جدت اخطاء فى تنفيذ الدالة function سوف يكون قيمة إسترجاعها هو false plus

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

tostring (v)

يستخدم لتحويل المتغير v إلى قيمة نصية أو نص أما إذا كان المتغير v غير معبر عن قيمة نصية أو رقمية أو غير معروف سوف يكون إسترجاع الدالة هو nil

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

type (v)

تستخدم هذة الدالة لمعرفة نوعية المتغير v من بين هذة النوعيات :

"number", "string", "boolean", "table", "function", "thread","userdata".

و إذا كانت قيمة المتغير v غير معروفة سوف يكون إسترجاع الدالة هو nil

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

http://www.abc4web.net/vb/images/icons/icon_z.gif ومساهمة من الزميل والأخ العزيز أبوبلقيس فقد كتب :


السلام عليكم ورحمة الله وبركاته
تدعيما لهاته الصفحة كنت أقرأ موضوعا رأيت أنه قد يكون مناسب لفقرة المختصرات
فأحببت كتابته هنااا للملاءمة
لاحظ أخي هذا الكود :
data_time = os.date("%a")
Dialog.Message("Notice", data_time);

الرسالة ستظهر : اسم اليوم مختصر

ولاحظ الرمز %a في الكود بالمختصر عندما نغيره في الكود بـــ:
%A ينتج اسم اليوم بقطع كبير وكامل
%b ينتج الشهر الحالي مختصر وبقطع صغير
%B ينتج الشهر الحالي كامل التسمية و القطع
%c ينتج التاريخ و الوقت
%d ينتج عدد الايام التي مرت من الشهر
%H ينتج الساعة فقط كم ؟
%I ينتج عرض الساعة بتوقيت صباحي
%M ينتج الدقائق
%m ينتج رقم الشهر
%p ينتج معرقة نظام التوقيت المستعمل
%S ينتج معرفة الثواني
%x ينتج التاريخ
%X ينتج التوقيت
%Y ينتج السنة
%y ينتج الرقمين الاخيرين من السنة
%z يحدد المنطقة الزمنية



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



:abc_138: إلى لقاء آخــــــــر مع جزء آخــــــــر من " بالمختصر المفيـــــــد " :abc_138:



http://i.imgur.com/Nz3B0Vj.gif

ثامر أبو بلقيس
13-09-2014, 01:58 AM
أوجزت فأفدت :abc_138:
موفق بإذن الله ... لك مني أجمل تحية . :abc_152:

خادم المسلمين
13-09-2014, 09:21 AM
:abc_152::abc_152::abc_152:

فرح صالحي
13-09-2014, 03:56 PM
شـكــ وبارك الله فيك ـــرا لك :abc_152:.. لك مني أجمل تحية .

ياسرهتهت
13-09-2014, 04:22 PM
بارك الله فيك اخي عبود
على هذه المعلومات القيمة والمفيدة
في انتظار المزيد من المختصر المفيد
موفق بإذن الله ... لك مني أجمل تحية .
:abc_138::abc_138::abc_138:

abohmam
13-09-2014, 06:57 PM
جزاك الله خيرا أخى عبود

ماشاء الله مختصرات مفيدة فعلا

:teslam_2:

بارك الله في جهودك

أبو يوسف
14-09-2014, 03:40 PM
جزاك الله خيرا اخانا عبود :abc_152: وبارك الله فيك

عبود عبود
14-09-2014, 10:45 PM
جزاكم الله خيرا على المرور الطيب والعطر والمشرف

أتمنى لكم التوفيق والإستفادة

خالص تحياتى لكم جميعا

:abc_138:

الهمام
16-09-2014, 09:22 PM
جزاك الله خيرا كثيرا وسدد خطاك ووفقك لمرضاته

ثامر أبو بلقيس
18-09-2014, 12:20 AM
السلام عليكم ورحمة الله وبركاته
تدعيما لهاته الصفحة كنت أقرأ موضوعا رأيت أنه قد يكون مناسب لفقرة المختصرات
فأحببت كتابته هنااا للملاءمة
لاحظ أخي هذا الكود :
data_time = os.date("%a")
Dialog.Message("Notice", data_time);

الرسالة ستظهر : اسم اليوم مختصر

ولاحظ الرمز %a في الكود بالمختصر عندما نغيره في الكود بـــ:
%A ينتج اسم اليوم بقطع كبير وكامل
%b ينتج الشهر الحالي مختصر وبقطع صغير
%B ينتج الشهر الحالي كامل التسمية و القطع
%c ينتج التاريخ و الوقت
%d ينتج عدد الايام التي مرت من الشهر
%H ينتج الساعة فقط كم ؟
%I ينتج عرض الساعة بتوقيت صباحي
%M ينتج الدقائق
%m ينتج رقم الشهر
%p ينتج معرقة نظام التوقيت المستعمل
%S ينتج معرفة الثواني
%x ينتج التاريخ
%X ينتج التوقيت
%Y ينتج السنة
%y ينتج الرقمين الاخيرين من السنة

فرح صالحي
18-09-2014, 12:45 AM
السلام عليكم ورحمة الله وبركاته
وهل هناك امكانية لجعله ينتج كل ما ذكر مرتبا ؟
السنة - الشهر - اليوم -الساعة - الدقيقة ....
:abc_152:

ياسرهتهت
18-09-2014, 04:31 AM
بسم الله الرحمن الرحيم
وعليكم السلام ورحمة الله وبركاته

:abc_152:شكر لك استاذنا الفاضل :abc_152:
:abc_138: ابــــــــــــو بلقيس :abc_138:
علي هذه الاختصارات المفيدة
هذا ملف بالاختصارات المذكورة

http://www.gulfup.com/?INGZ8o

استخدمت RadioButton
لتحديد المطلوب
عندي سؤال ؟
كيف ادرج مسج انك لم تحدد أي خيار ؟؟؟
في حالة عدم التحديد طبعاً

شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية .
:abc_026:

--------------------------------------------
اخـــــي فرح صالحي
هــــــــــــــــــــــــ ــل هذا ما تريد؟

http://www.gulfup.com/?thsNzf
موفق بإذن الله ... لك مني أجمل تحية .
:abc_026:

ثامر أبو بلقيس
18-09-2014, 09:28 AM
شكرا جزيلا أستاذ ياسر بارك الله فيك

جرب هذا الكود و تستطيع اختصاره
x = 0
for i = 1,16 do
v =RadioButton.GetChecked("RadioButton"..i-1);
if v ==true then
x =x+i
end
end
if x ==0 then
Dialog.Message("Notice", "لم تحدد أي خيار ؟؟؟");
end


شكرا :abc_138::abc_138: على الملف الرائع

فرح صالحي
18-09-2014, 11:14 AM
السلام عليكم ورحمة الله وبركاته
نعم ذلك هو المطلوب
جازاك الله خيرا كثيرا ونفع بك
موفق بإذن الله ..:abc_152:. لك مني أجمل تحية .

احمد حكيم باز
18-09-2014, 12:39 PM
موفق بإذن الله ... لك مني أجمل تحية . :abc_152:

عبود عبود
21-09-2014, 08:51 AM
شكرا أبوبلقيس :abc_152:

تمت الإضافة إلى أول الموضوع

ثامر أبو بلقيس
21-09-2014, 02:23 PM
شكرا :abc_138:
وددت أن أضيف بأن %z في الكود السابق
يحدد المنطقة الزمنية :abc_138:

عبود عبود
24-09-2014, 05:21 PM
شكرا أبوبلقيس :abc_152:

تمت الإضافة إلى أول الموضوع

مُحب الأحتراف
25-09-2014, 11:50 AM
يعطيك العافيه

azizsoft
25-09-2014, 02:03 PM
بسم الله الرحمن الرحيم

بارك الله فيكم اخ عبزد على الموضوع القيم
وبارك الله فيكم جميعا اخوتي على اثراء الموضوع

ثامر أبو بلقيس
28-09-2014, 09:14 PM
السلام عليكم ورحمة الله وبركاته
مواصلة لتدعيم هاته الصفحة
كنت بصدد حل استخراج اسم اليوم أو رقمه من أي تاريخ معين
فلم أجد اختصارا يقيني عناء العمل فبدأت بسنة 2014
-------------------------------------------------------------
أخذت أنبوت 1 لكتابة اليوم و أنبوت 2 لكتابة الشهر و أنبوت 3 لكتابة السنة
ثم زر كتبت تحته
p = Input.GetText("Input3");
p = String.ToNumber(p);
x = Input.GetText("Input1");
x = String.ToNumber(x);
y = Input.GetText("Input2");
y = String.ToNumber(y);

----
if p == 2014 then
ff = 0
if y == 1 then
f = x +3 +ff
elseif y == 2 then
f = x -1+ff
elseif y == 3 then
f = x -1+ff
elseif y ==4 then
f = x +2+ff
elseif y ==5 then
f = x +4+ff
elseif y ==6 then
f = x +0+ff
elseif y ==7 then
f = x +2+ff
elseif y ==8 then
f = x +5+ff
elseif y == 9 then
f = x +1+ff
elseif y == 10 then
f = x +3+ff
elseif y == 11 then
f = x -1+ff
elseif y == 12 then
f = x +1+ff
end
if f == 0 or f == 7 or f == 14 or f == 21 or f == 28 or f == 35 then
Dialog.Message("Notice", "السبت");
elseif f == 1 or f == 8 or f == 15 or f == 22 or f == 29 or f == 36 then
Dialog.Message("Notice", "الأحد");
elseif f == 2 or f == 9 or f == 16 or f == 23 or f == 30 then
Dialog.Message("Notice", "الاثنين");
elseif f == 3 or f == 10 or f == 17 or f == 24 or f == 31 then
Dialog.Message("Notice", "الثلاثاء");
elseif f == 4 or f == 11 or f == 18 or f == 25 or f == 32 then
Dialog.Message("Notice", "الأربعاء");
elseif f == 5 or f == 12 or f == 19 or f == 26 or f == 33 then
Dialog.Message("Notice", "الخميس");
elseif f == 6 or f == 13 or f == 20 or f == 27 or f == 34 then
Dialog.Message("Notice", "الجمعة");
end

end

ولم أجد طريقة الا لمواصلة العمل بنفس الكيفية لأدرج تحت الكود السابق
ما تعلق بسنة 2015
if p == 2015 then
ff = 1
if y == 1 then
f = x +3 +ff
elseif y == 2 then
f = x -1+ff
elseif y == 3 then
f = x -1+ff
elseif y ==4 then
f = x +2+ff
elseif y ==5 then
f = x +4+ff
elseif y ==6 then
f = x +0+ff
elseif y ==7 then
f = x +2+ff
elseif y ==8 then
f = x +5+ff
elseif y == 9 then
f = x +1+ff
elseif y == 10 then
f = x +3+ff
elseif y == 11 then
f = x -1+ff
elseif y == 12 then
f = x +1+ff
end
if f == 0 or f == 7 or f == 14 or f == 21 or f == 28 or f == 35 then
Dialog.Message("Notice", "السبت");
elseif f == 1 or f == 8 or f == 15 or f == 22 or f == 29 or f == 36 then
Dialog.Message("Notice", "الأحد");
elseif f == 2 or f == 9 or f == 16 or f == 23 or f == 30 then
Dialog.Message("Notice", "الاثنين");
elseif f == 3 or f == 10 or f == 17 or f == 24 or f == 31 then
Dialog.Message("Notice", "الثلاثاء");
elseif f == 4 or f == 11 or f == 18 or f == 25 or f == 32 then
Dialog.Message("Notice", "الأربعاء");
elseif f == 5 or f == 12 or f == 19 or f == 26 or f == 33 then
Dialog.Message("Notice", "الخميس");
elseif f == 6 or f == 13 or f == 20 or f == 27 or f == 34 then
Dialog.Message("Notice", "الجمعة");
end

end


و أضفت سنة 2016 وكان فيها مشكل اضافة يوم
if p == 2016 then
ff = 2
if y == 1 then
f = x +3 +ff
elseif y == 2 then
f = x -1+ff+1
elseif y == 3 then
f = x -1+ff+1
elseif y ==4 then
f = x +2+ff+1
elseif y ==5 then
f = x +4+ff+1
elseif y ==6 then
f = x +0+ff+1
elseif y ==7 then
f = x +2+ff+1
elseif y ==8 then
f = x +5+ff+1
elseif y == 9 then
f = x +1+ff+1
elseif y == 10 then
f = x +3+ff+1
elseif y == 11 then
f = x -1+ff+1
elseif y == 12 then
f = x +1+ff+1
end
if f == 0 or f == 7 or f == 14 or f == 21 or f == 28 or f == 35 then
Dialog.Message("Notice", "السبت");
elseif f == 1 or f == 8 or f == 15 or f == 22 or f == 29 or f == 36 then
Dialog.Message("Notice", "الأحد");
elseif f == 2 or f == 9 or f == 16 or f == 23 or f == 30 then
Dialog.Message("Notice", "الاثنين");
elseif f == 3 or f == 10 or f == 17 or f == 24 or f == 31 then
Dialog.Message("Notice", "الثلاثاء");
elseif f == 4 or f == 11 or f == 18 or f == 25 or f == 32 then
Dialog.Message("Notice", "الأربعاء");
elseif f == 5 or f == 12 or f == 19 or f == 26 or f == 33 then
Dialog.Message("Notice", "الخميس");
elseif f == 6 or f == 13 or f == 20 or f == 27 or f == 34 then
Dialog.Message("Notice", "الجمعة");
end

end

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

فأستعملت محرك البحث ...... :abc_138: بحثا عن اختصارا مفيد:abc_139:

ثامر أبو بلقيس
28-09-2014, 09:20 PM
---- فأقصى ما شد انتباهي
هو أن نفتح مشروعا ونكتب في GLOBAL FUNCTION
function get_day_of_week(dd, mm, yy)
local days = { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" }

local mmx = mm

if (mm == 1) then mmx = 13; yy = yy-1 end
if (mm == 2) then mmx = 14; yy = yy-1 end

local val8 = dd + (mmx*2) + math.floor(((mmx+1)*3)/5) + yy + math.floor(yy/4) - math.floor(yy/100) + math.floor(yy/400) + 2
local val9 = math.floor(val8/7)
local dw = val8-(val9*7)

if (dw == 0) then
dw = 7
end

return dw, days[dw]
end

وندرج زر نضع تحته
result = Dialog.Message("Notice",get_day_of_week(28, 09, 14) );

لتنتج القيمة 1 و الدالة على يوم الاحد اي اليوم

لكن لم يعجبني لأننا بصدد الاختصار المفيد :abc_138:

ثامر أبو بلقيس
28-09-2014, 09:25 PM
فتذكرت أننا نستطيع استخراج اسم اليوم بحرف واحد
فهل لك أن تمسح كل هاته الأكواد الصحيحة بسطر واحد ؟؟؟ وتكتب اختصارا مفيدا ؟:abc_138:
تقديري :abc_138:

ثامر أبو بلقيس
29-09-2014, 01:56 PM
بالمختصر المفيد :
خصص الانبوت1 لكتابة اليوم الانبوت2 لكتابة الشهر الانبوت3 لكتابة السنة هذا السطر سيحدد لك اسم اليوم TAMER = os.time({year=Input.GetText("Input3"), month=Input.GetText("Input2"), day=Input.GetText("Input1")})Dialog.Message("ABOU_BELKISS:)", os.date("%A",TAMER))ملاحظة الكود مخفي دفعا لظهور حلول اخرى

فرح صالحي
29-09-2014, 02:23 PM
جازاك الله خيرا كثيرا ونفع بك
موفق بإذن الله .:abc_138:.. لك مني أجمل تحية .

عبود عبود
10-10-2014, 01:19 AM
صعوبة الإتصال بالإنترنت ....... فمرات كثيرة ينقطع وأخرى ثقيل جدا

عذرا

أبو محسن
10-10-2014, 01:41 PM
موضوع راقي ويحتاج المتابعة :abc_051:
لأنه كما هو معنون (بالمختصر المفيد)
فقد جمع الإختصار في الطرح, والإفادة

عبدوعزيز
19-01-2016, 10:03 AM
مشكووووووووووور

عبد الهادي بهاب
05-02-2016, 08:45 PM
موضوع رائع .......مررت به مرور عابرا ........ و نقف معه اليوم للتطبيق
شكرا استاذ عبود و لثامر

الجارف
16-02-2019, 01:56 AM
شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية .

فهد الشيخ
27-01-2021, 05:08 PM
thanksssssssssssssssssssss