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

مشاهدة النسخة كاملة : سلسلة رقم 1 لشرح قواعد البيانات البسيطة


عبود عبود
16-01-2015, 12:25 AM
http://i.imgur.com/57UrtCm.gif

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


سلسلة رقم 1 لشرح قواعد البيانات البسيطة

نبدأ بشرح تخزين البيانات فى النظام بواسطة الأمر المدمج

Application.SaveValue


هذا الأمر أو الكود مدمج فى البرنامج ضمن مجموعة أوامر التحكم فى التطبيق Application

وذلك كما هو مبين بالصورة التالية :

http://i.imgur.com/crTeoaN.jpg


1- إختيار مجموعة أكواد التحكم فى التطبيق Application .
2- إختيار أمر حفظ البيانات Application.SaveValue .
3- الضغط على الزر Next بمعنى التالى .




سوف يظهر خصائص التحكم وضبط ووضع بيانات الكود الذى تم إختيارة كما بالصورة التالية :

http://i.imgur.com/N3Mk22P.jpg


حيث أن :

1- هو السكشن أو القسم الذى تريد تخزين البيانات فية .
2- هو المفتاح الذى عن طريقة يتم الوصول إلى المحتوى المخزن فى القسم الذى قمنا بتحديدة سابقا .
3- هو القيمة أو المعلومة المراد حفظها أين كانت نوع القيمة سواء رقمية أو نصية .
4- لإنهاء وإدراج الكود بالكامل بعدما إنتهينا من كتابة بياناتة .




مثال على ذلك من أجل تبسيط المعلومة وإيصالها إلى كافة المستويات للأعضاء :

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


تعالوا بنا نترجم الكلام السابق عمليا عن طريق مثال مفتوح مع الشرح مرة أخرى :


Value : نريد تخزين قيمة إسمها "abood" على سبيل المثال .
Section : نريد تخزينها داخل هذا المستودع الكبير " قاعدة البيانات " على رف أو درج أو قسم سوف نسمى هذا الرف أو الدرج أو القسم مثلا بإسم المحافظة وهى الشرقية نختار كتابتها بالإنجليزية حيث أفضل الكتابة بها شخصيا "Elsharkia" .
Key : نريد وضع علامة على هذا الرف أو القسم يتم تسجيل القيمة عن طريق هذه العلامة "My_Name" .

إنظروا كيف يكون المشهد الذى كتبناه سابقا فى الصورة التالية :

http://i.imgur.com/MihcJFb.png

بعد الضغط على زر Ok يكون الشكل النهائى للكود كالتالى :

Application.SaveValue("Elsharkia", "My_Name", "abood");


بهذا يكون تم تسجيل المعلومات فى قاعدة البيانات فى النظام المشغل للتطبيق .

إذن إذا كنا قد فهمنا ما تم سابقا بهذا الشرح المبسط هل يمكن أن نخزن قيمة أخرى مختلفة بنفس المفتاح أو العلامة السابقة My_Name فى نفس القسم السابق Elsharkia ؟؟؟؟؟

لالالالالالالالالالالا .

لماذا ؟ لأنه إذا فعلت ذلك سوف تمحى القيمة السابقة abood ويتم تسجيل القيمة الجديدة مكانها أى ستكون فى هذة الحالة إستبدال أو تحديث وليست إضافة .

إذن هل يمكن أن نخزن قيمة أخرى مختلفة ولكن بعلامة أخرى فى القسم السابق ؟؟؟؟؟

نعم نعم نعم .

وبالتالى يمكنك أيضا عمل قسم آخر مختلف فى حالة كنت تريد إنشاء عدة أقسام مختلفة كما تريد .


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


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

هذا الأمر أو الكود هو Application.LoadValue

وذلك كما هو مبين بالصورة التالية :


http://i.imgur.com/zp3dSuJ.png


1- إختيار مجموعة أكواد التحكم فى التطبيق Application .
2- إختيار أمر إستدعاء البيانات Application. LoadValue .
3- الضغط على الزر Next بمعنى التالى .



سوف يظهر خصائص التحكم وضبط ووضع بيانات الكود الذى تم إختيارة كما بالصورة التالية :


http://i.imgur.com/Tm4cf7y.png


حيث أن :


1- هو القسم الذى تم التخزين فية سابقا .
2- هو المفتاح الذى بواسطتة يتم الحصول على القيمة المخزنة فى هذا القسم بهذا المفتاح .
3- هو المتغير الذى نريد حفظ نتيجة الإستعلام السابقة فية حتى نعرضها فيما بعد فى أى وسيلة عرض بيانات .



إذن الخلاصة سنأخذ المفتاح المخصص سابقا لفتح الأرشيف المخزن فية البيانات سابقا .
المفتاح يفتح القفل الخاص به فقط معلومة لدى الجميع هذه النقطة.

إذن إذا كنا قمنا بالتخزين سابقا سوف يكون نتيجة إستخدام كود الإستدعاء هذا هو البيانات المخزنة أو القيمة المخزنة وإذا لم نكن قمنا بالتخزين سابقا سوف يكون نتيجة الإستدعاء هو نص فارغ .




http://www.abc4web.net/vb/images/icons/abc00.gif أخيرا أنتظر منكم الإستكمال لهذا الموضوع بالترجمة إلى ملف مفتوح ووضعة فى رد " من كل من أحس أنه قد إستفاد من هذا الموضوع "

هذا إذا كان الشرح السابق واضح


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

ياسرهتهت
16-01-2015, 01:47 AM
بسم الله الرحمن الرحيم
:abc_050: شكراً لك استاذ عبود :abc_050:
شرح رائع وواضح جدااااا وممتاز
الملف المفتوح


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

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

عبود عبود
16-01-2015, 09:51 AM
:abc_051: ممتاز جدا أخى ياسر :abc_051:

إذن بالتالى إذا كنت تريد حفظ ما يكتب داخل الإينبوت مباشرة سوف تتوجه بالجزء الخاص بالحفظ إلى أحداث هذا العنصر بدلا من الوضع فى أى مكان آخر

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

" مجرد زيادة تأكيد على المعلومة "

:abc_138:

ثامر أبو بلقيس
16-01-2015, 10:39 AM
السلام عليكم ورحمة الله وبركاته
بارك الله فيكما
على الشرح و التطبيق المفيدين
شكرا جزيلا تقديري :abc_138:

ثامر أبو بلقيس
16-01-2015, 10:47 AM
أخي ياسر لم أفهم التطبيق جيدا

الحدث on preload أي قبل تكوين عناصر
التجميعية .. غير مناسب لعملية حفظ في مشروع منفرد الصفحات

ياسرهتهت
16-01-2015, 11:55 AM
بسم الله الرحمن الرحيم
اخي ثامر انا استخدمت في on preload
كي يظهر ما خزنت عند التشغيل فقط
لو وضعت غير ذالك لا يظهر المخزن الا بعد اعادة القفل والتشغيل ؟؟
هذة فقط مع المخزن الثابت اي حفظ داخل البرنامج مع امر التخزين
لتعمل على اي جهاز
ام القيم المتغير او المدخلة فتعمل فقط في جهاز صاحب النظام فقط
موفق بإذن الله ... لك مني أجمل تحية .

ثامر أبو بلقيس
16-01-2015, 11:59 AM
بارك الله فيك
على التوضيح شكرا :abc_138:

عبود عبود
16-01-2015, 12:50 PM
أحسنت نقاشا وفهما أخى ياسر
أحسنت إستبيانا أخى أبوبلقيس

تحياتى لكما

أبو يوسف
16-01-2015, 01:05 PM
بارك الله فيك أخانا عبود على هذه السلسلة المشروحة

:abc_2:

فرح صالحي
16-01-2015, 02:06 PM
السلام عليكم ورحمة الله وبركاته
جازاك الله خيرا كثيرا على الشرح المبسط
موفق بإذن الله ...:abc_152: لك مني أجمل تحية .

azizsoft
16-01-2015, 04:33 PM
بسم الله الرحمن الرحيم

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

وفقكم الله
:abc_022:

عبود عبود
16-01-2015, 05:03 PM
مرور جميل منكم إخوانى أبويوسف و فرح و عزيز

:abc_152:

abohmam
16-01-2015, 06:53 PM
بارك الله فيك أخى عبود

ماشاء الله تغيب علينا وتعود بالفوائد الفرائد الغوالي :abc_022:

جزاك الله خيرا وبارك الله جهودك

أتابع معك بقدر الوقت الذى أقتطعه للبرنامج لذلك لاتلومني عندما اتأخر فى التطبيق :abc_065:

عبود عبود
16-01-2015, 09:16 PM
جزاك الله خيرا أخى أبوهمام ....... مرورك زاد الموضوع رونقا وتوهجا
:abc_152:

ياسرهتهت
17-01-2015, 10:48 PM
بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته
:abc_114: أستاذ عبود :abc_114:
في هذا النموذج انا عملت حفظ واستدعاء
باسم سكشن متغير والمفتاح والبيانات ثابتة



http://im64.gulfup.com/wL4iPa.png

والحمد الله كلو تمام في الحفظ والاستدعاء

سؤالي هل يمكن عرض او جلب جميع اسامي السكشن المخزنة في النظام في ليست بكس ؟؟؟ش

(اقصد التي خزنتها انا طبعا)

الملف المفتوح في المرفقات لم استطيع الرفع على الخليج للاسف؟؟



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

عبود عبود
18-01-2015, 12:59 PM
سيتم عمل اللازم ........ إن شاء الله بعد ساعتين من الآن

عبود عبود
18-01-2015, 10:20 PM
عذرا لتأخر الرد فجارى تجهيز الشرح اللازم فى موضوع منفصل

:abc_152:

ياسرهتهت
18-01-2015, 10:35 PM
السلام عليكم ورحمة الله وبركاته
:abc_102: العفو منك اخـــــــي عبود لا داعي للاعتذار :abc_102:
بل انا من يعتذر ويشكرك على وقتك ومجهودك وعلمك الذي تقدمه لنا
جازك الله الف خير وجعله في ميزان حسناتك
خذ راحتك ووقتك حتي يكون شرح رائع كما عوتنا دائماً
:abc_138::abc_138::abc_138:

اكرم حلايقه
19-01-2015, 12:54 PM
thaaaaaaaanks

عبود عبود
19-01-2015, 07:20 PM
أخى العزيز ياسر الآن يمكنك أن تلقى نظرة على شرح السلسلة الثانية لترى التطور لقاعدة البيانات بشكل يقبل إستدعاء أسماء الأقسام وأسماء القيم


سلسلة رقم 2 لشرح قواعد البيانات البسيطة (http://www.abc4web.net/vb/showthread.php?t=30992)

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


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

وأنا معك خطوة بخطوة " لا تعطنى سمكة بل علمنى كيف أصطادها "

ثامر أبو بلقيس
19-01-2015, 09:00 PM
السلام عليكم ورحمة الله وبركاته

شكرا أستاذ عبود على ما قدمت و ما ستقدم إن شاء الله

أخي ياسر قبل الاطلاع على استغلال ملفات ini كحل هنا أرى
بدل من ذلك تواصل تحقيق مطلوبك في ظل استغلال العناصر
المتوفرة في عملك الليست بوكس و الانبوتات نعم خليه انشغالك بالصفة التي هو عليها
والتخزين وفق الدرس هذا ... غير هذا تقبلو رأي بأنه ليس حل سيعتبر انتقال من تخزين
بصيغة لصيغة أخرى كذلك وجب الاطلاع عليها و فهمها
:abc_156:لن نغير بحيرة الصيد حتى نتأكد بعدم وجود سمك --
----------
بارك الله فيكم :abc_138:

عبود عبود
19-01-2015, 09:44 PM
مرور جميل منك أخى أبوبلقيس

ياسرهتهت
20-01-2015, 01:01 AM
بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته
شكرا لكم اساتذتي الكرام
:abc_152:عبــــــود --- :abc_152: وثــــــامر
علي هذه المعلومــــات والتوجيهـــــات والنصائــــــح
---
:abc_152: اخــــــــي ثــامـــــــــــــ أبوبلقيس ـــــــــــــــــــــــر :abc_152:
من الواضح ان الحفظ في Application.SaveValue
يتم في مكان مجهول الرجستري الخاص بالوندوز (نظام التشغيل) تقريبا
ويمكن استدعاء البيانات المخزنة في السكشن باسم السكشن
كما هو واضح في نموذجي
الان لواستطعت حفظ في ملف نصي اسم كل سكشن في سطر
وجعلت هذه الاسطر تظهر في اليست بكس او الكمبو بكس او التري
اكون قد حققت المطلوب
ويسهل استدعاء المعلومات من خلل اسم السكشن
وفي هذا النموذج

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

استخدمت بلجن Capture
ليحتفظ البرنامج بنقطة تحمل اسم السكشن في كل عملية تخزين
لتظهر بعد ذالك كقائمة Tree
---
حاولت استخدام ملف تكست يحفظ اسامي السكاشن في اسطر
ليتم اظهارها في كمبو بكس لم افلح -- :abc_102: --
كذالك اسماء السكاشن لا تظهر في قائمة Tree الا بعد اغلاق البرنامج وفتحه من جديد ؟؟؟
====================

:abc_070: اما استدعاء اسامي السكاشن المخزنه في النظام من النظام مباشرة
الي ليست بكس تحتاج الـــــــــــــــــــــــ ي
:abc_083: ملف dll
يقوم بذالك او مبرمج محترف:abc_051:
او ملف مثل الذي يظهر موصفات النظام --وبرتشنات الجهاز - الخ

موفق بإذن الله ... لك مني أجمل تحية .
:abc_152::abc_152:

ثامر أبو بلقيس
20-01-2015, 01:30 PM
السلام عليكم ورحمة الله وبركاته
لم أطلع على الملف الثاني المرفق
سأحدثك عن الملف الموجود في الضفحة السابقة

نمرر الاسم الذي يكتب في الانبوت NMPER إلى الليست بوكس1
عند الضغط على زر الحفظ ننشأ مفاتيح أخرى تخزن فقط الاسامي التي مررناها
لليست
بمعنى
ضع هذا الكود في آخر الاكواد الموجودة في زر الحفظ SAVE
عند الضغط آليا تم حفظ مصفوفة بقائمة الاسماء
b =Input.GetText("NMPER");
if b ~="" then
ListBox.AddItem("ListBox1",b,"");
end
my_table = {};
for p = 1 ,ListBox.GetCount("ListBox1")do
v = ListBox.GetItemText("ListBox1", p)
if v ~="" then
Table.Insert(my_table, p, v);
gg = Table.Concat(my_table, ";", 1, TABLE_ALL);
end
end
Application.SaveValue(1, "yaser",gg);

هذا عن الحفظ

ثامر أبو بلقيس
20-01-2015, 01:43 PM
نأتي الان للاستدعاء
الحدث المناسب حتى لا تمحى البيانات
هو في on show
أكتب :
ListBox.DeleteItem("ListBox1", LB_ALLITEMS);
x = Application.LoadValue(1,"yaser" );
ListBox.AddItem("ListBox1", x, "");
for k in string.gfind(x, "%P+") do
p = ListBox.AddItem("ListBox1", k, "");
end
ListBox.DeleteItem("ListBox1", 1);

المهم يكون في on show و تستطيع وضع الاكواد في زر يؤدي الوظيفة
لكن دائما نسخة من الاكواد في on show حتى تضمن البيانات الاولى تحجز اماكنها

موفق :abc_138:

ثامر أبو بلقيس
20-01-2015, 04:29 PM
وتستطيع بعدها تكتب في في الليست في الحدث on select
n = ListBox.GetSelected("ListBox1");
M5 = ListBox.GetItemText("ListBox1",n[1]);
X1 = Application.LoadValue(M5, "RW1");
Input.SetText("ASM", X1);
X2 = Application.LoadValue(M5 , "RW2");
Input.SetText("HATF", X2);
X3 = Application.LoadValue(M5, "RW3");
Input.SetText("ANWAN", X3);
X4 = Application.LoadValue(M5, "RW4");
Input.SetText("INFO", X4);

موفق :abc_138:

ثامر أبو بلقيس
20-01-2015, 11:09 PM
من الواضح ان الحفظ في application.savevalue
يتم في مكان مجهول الرجستري الخاص بالوندوز (نظام التشغيل) تقريبا
ويمكن استدعاء البيانات المخزنة في السكشن باسم السكشن

تخزن في الريجستري

موفق

الحارث بن فيصل
22-01-2015, 02:59 PM
شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية .

ياسرهتهت
23-01-2015, 03:15 PM
بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته
استاذنـــــــــا الكـــــــريم
:abc_152: ابــــــــــــوبلقـــــــ يس :abc_152:
بارك الله فيك وزادك الله علم ومعرفة
ممكن استاذي توضيح هذا الجزء من الكود
( for k in string.gfind(x, "%P+") do )

ببعض التفصيل
شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية .

:abc_138::abc_138::abc_138:

ثامر أبو بلقيس
23-01-2015, 03:27 PM
السلام عليكم ورحمة الله وبركاته

string.gfind(x, "%P+")

باختصار تستعمل لتجزئة أثر كتابي وفق علامة

اختياري للرمز P بقطع كبير حتى تقبل التجزئة اللغة العربية

قد تم طرح الكود في الموقع في عديد المشاراكات حسب الطلب

مثلا : كنت يوما تبحث عن استخراج الجزء العشري و الجزء الصحيح لعدد

استعمل هذه الدالة :
x="123.25"
for k in string.gfind(x, "%P+") do
Dialog.Message("Notice", k);
end

بهذا المثال المستوحى من تساؤلاتك تصلك فكرة استعمال الكود

ثامر أبو بلقيس
23-01-2015, 03:28 PM
في هذا المثال بالذات فهي تعمل عمل modf فقط لكون المحتوى رقمي

ثامر أبو بلقيس
23-01-2015, 07:12 PM
لكن وجب الاخبار هل ما تم وضعه من اكواد حل مشكلتك ام مازالت عالقة
في الصفحة السابقة اقصد تم استدعاء الاسماء ام لا ؟
-----
يمكنك فتح تساؤلك في مشاركة جديدة حتى لا يضيع اي مجهود وسط الحوارات:abc_040:
التي قد لا تكون لها علاقة بالموضوع الاساسي
موفق.

ياسرهتهت
23-01-2015, 07:33 PM
نـــــــعم استاذي العزيز
الاكواد نفذة المطلوب بشكل رائع
ويتم استدعاء اسامي السكاشن الي القائمة
ويتم اظهارها في القائمة بشكل مباشر بعد الحفظ
:abc_022::abc_022::abc_022:
:abc_102:أسف لم انتبه انني لم اشير الي ذالك في ردي السابق :abc_102:
:abc_138::abc_138::abc_138:

عبود عبود
24-01-2015, 09:59 PM
تحياتى لكل من زار الموضوع ولكل من إستفاد من الشرح

أتمنى أن يكون الشروحات على مستوى الإستيعاب والبساطة

:abc_138:

هانى كفورى
23-03-2015, 05:00 PM
جزاك الله خيراااااااااااااااااا:abc_152 :

أبو الريم
26-06-2015, 05:03 AM
شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية .

امل الماضي
06-07-2015, 05:56 AM
جزاكم الله خيرا

منوبة
22-08-2015, 07:21 PM
بارك الله لك يا عبود شرح كافي ووافي
:abc_152::abc_152:

هبة الرحمن
29-09-2015, 08:36 AM
السلام عليكم ورحمة الله وبركاته

أبو صخر
29-09-2015, 02:24 PM
خالص الشكر والامتنان على ما بذلتموه من جهود مباركة


وفقك الله وأثابك ونفع بك

عبدوعزيز
24-11-2015, 09:22 AM
شرح رائع بارك الله فيك

محمد مصطفى الجن
08-12-2015, 12:14 PM
جااارى المتابعة

كرونو
17-12-2015, 06:04 PM
شكرا جزيلا

ببداية
21-12-2015, 12:32 PM
السلام عليكم ورحمة الله وبركاته
جازاك الله خيرا كثيرا على الشرح المبسط
موفق بإذن الله ... لك مني أجمل تحية .

زياد مقداد
23-01-2016, 06:26 PM
مشكور أخي ومشكورين إخوتي
الموضوع هام ومازلت مبتدأ
لذا سأتابع للإستفادة لأنني لا
أمتلك الإضافة دمتم إخوة لي
إرفعوا الملفات على موقع آخر
غير مركز الخليج لو تفظلنم

رجب الأنصاري
25-01-2016, 10:13 AM
أريد قاعدة بيانات للقرآن الكريم بالرسم العثماني

عظيمه
28-01-2016, 08:17 AM
السلام عليكم ورحمة الله وبركاته
شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية .
موفق بإذن الله ... لك مني أجمل تحية .

عظيمه
28-01-2016, 08:29 AM
السلام عليكم ورحمة الله وبركاته
شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية .
برجاء بالنسبة لموقع http://www.gulfup.com لم تفلح محاولاتي وحرام شرح جميل والملفات تزيد من هذا الشرح الشيق والبسيط علي المتلقي
واسف علي الاطالة0

فاضل الجبوري
14-04-2016, 08:46 PM
شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية .

احمد كبه
24-05-2016, 08:22 AM
شكرا جزيلا

محمد سامر
11-07-2016, 05:31 PM
مجهود رائع

منار بربرة
05-11-2016, 03:11 PM
شرح جميل جدا

ابو احمد النائلي
04-11-2017, 05:54 PM
شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية .

هريدة
10-05-2018, 12:19 AM
ألف مبروك .. لقد سعدت بهذا الخبر بسم الله الرحمن الرحيم
:abc_050: شكراً لك استاذ عبود :abc_050:
شرح رائع وواضح جدااااا وممتاز
الملف المفتوح


المحتوى المخفي لايقتبس

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

جمال سات
15-05-2020, 12:54 AM
جازاك الله خيرا

كمال عماري
23-05-2020, 02:25 PM
شكرااااااااااااااا جزيلااااااااااااااااااااا :abc_139:

محمد رمضان أبو يوسف
25-05-2020, 01:38 AM
شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية .

فهد الشيخ
01-07-2020, 04:02 PM
Thankssssssssssssssssss