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

حركة على عملية تحديث ملفات

مغلق
بدأه shayma'a في 5 نوفمبر 2002 · 7 رد · 796 مشاهدة · في قواعد بيانات Oracle
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

لدي برنامج أقوم فيه بعملية تحديث ملفات بين الحين والآخر

وأريد خلال عملية التحديث أن يظهر لدى المستخدم ما

يشير الى أن هناك عملية نقل للملفات

وذلك تماما كما يتم عند عملية ال copy على ال windows

حيث تظهر ورقة تنتقل من ملف لآخر أثناء عملية النسخ

هل يمكن عمل هذه الحركة وكيف ؟؟

أتمنى أن أجد جواباً في أسرع وقت

(clock) (clock) (clock)

#2

تحياتي للجميع

اخي الكريم

هنالك عدة طريق

يجب ان نعلم هنا ان شكل الرساله المتطايره هو عباره عن مجموعة صور متتاليه ... تكون متناسقه مع بعضها من حيث الرسمه التي بها.... يعني بداية يجب ان يكون عندك الصور الاصليه لكل حركه تظهر بالرسمه

تقوم بعمل timer ينطلق كل فتره يغير شكل الصوره رقم 1 الى الصوره رقم 2 ومن الصوره رقم 3 الى الصوره رقم 4 ثم يعود الى الصوره رقم واحد وهكذا.

اما اذا كنت تعتمد على loop في عملك واردت ان يكون الامر متناسق ...

جرب ان تغير شكل الصور بالترتيب عند قراءة كل مجموعة سجلات....

في طريقه اخرى وهي طريقة النسبه المؤويه من العمل المنجز ... مثل شريط ابيض يتغير لونه الى اللون الازرق عند الانتهاء من اجراء البرنامج... حيث تكمن فكرتها كما يلي :

1- يجب معرفة عدد السجلات المنقوله نفرض 250.

2- وضع text_item ابيض بطول 100 width مثلا.

3-عمل text_item اخر فوقه لونه ازرق لكن طوله 0 لايظهر للمستخدم.

4- عند عمل نسبه وتناسب بين عدد السجلات التي ستتم قرائتها تجد انه كل 2.5 من السجلات تزيد ظول الitem صاحب اللون الازرق الى 1 يعني عند كل سجللين ....

5- وعند الخروج من الloop بكل الحالات اجعل طول الitem

الازرق = 100 وهكذا يكون قد غطى على اللون الابيض بالكامل

هذه هي الفكره بشكل عام ولك الحق اختيار الاسهل او المناسب اكثر لعملك

وشكرا

#3

شكرا جزيلاً على الرد على السؤال

ولكن نرجو توضيح النقطة رقم 4 حيث يمكن معرفة عدد السجلات ولكن كيف يمكن معرفة الى أي سجل وصل أثناء عملية ال INSERT لتغيير اللون الى اللون الأزرق ؟؟

#4

تحياتي للجميع

اخي الكريم

يمكنك معرفة السجلات التي تريد نقلها الى الجدول بإستعمال دالة count(*) لعدد السجلات التي تريد نقلها.

مثل:

select count(*) into reccount from emp;

حيث ان reccount هو متغير يخزن فيه عدد السجلات قبل عملية الloop.

وعداد في جملة الloop ...اسمه لو فرضنا insrec يزداد بقيمة 1 بعد كل جملة insert

حتى تصبح قيمة هذا العداد مساويه لقيمة عدد السجلات..

وتكون النسبه بين reccount و insrec ....

وشكرا

#5

سيدي الكريم ..انا ممتنة لتواصلك واتمنى ان تبقى دائما كذلك..

لقد طبقت الخطوات التي شرحتها لي في الخطوة رقم 4

ولكن واجهتني مشكلة في عدم استجابة الحقل ذو اللون الأزرق loading field

للنسبة والتناسب التي برمجتها الا في نهاية عملية loop

يعطي 100% loading فقط ولا يوضح the upgrading procees as well as loading steps

اذا وضعت جملة توقيفية like pause

ارى عملية الزيادة لكن بحاجة for my okresponse to keep on

وشكرا لك

#6

تحياتي للجميع

اختي الكريمه

ضعي كلمة SYNCHRONIZE ;

قبل ما يبدئ الLOOP

ثم بالنسبه لحجم الحقل الازرق اذكرك انه عن طريق

SET_ITEM_PROPERTY للخاصية WIDTH

تتحكمين في الطول بشكل متناسق مع نسبة الاضافه.

واتمنى ان تكون امورك تمام

شكرا

#7

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

اشكرك جزيل الشكر لحلولك الجيدة وتواصلك معي في الموقع ..

فيما يتعلق بعملية loading process

لقد وضحت لي سابقا طريقتين للتعامل مع هذه العملية

وقد استعملت الطريقتين معا ..

فكلا الطريقتين ناجحة لكن لوحدها ..

واجهت مشكلة في التنسيق معا بين العمليتين

حيث لاحظت انه عند عمل loading diagram

which select records and insets them in the same time

in my database take

تتوقف عملية move diagram

حتى تنتهي الloading ثم يكمل move of the picture

جزاك الله خيرا

#8

تحياتي للجميع

المشكله انه لا يوجد في developer ما يسمى

Multi Threading والتي تقسم عمل المعالج بين وظيفتين...

يعني يتم اعطاء كل وظيفه جزء من وقت المعالج لإجرائها كما هو الحال بلغات البرمج مثل java

لذلك يتوقف الtimer حتى تنتهي عملية ادخال السجلات

ثم يعود للعمل....

والافضل لكي هنا هو استخدام طريقة الشريط الازرق ....

وشكرا

;)

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

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