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

برنامج: للبحث في محتويات الملفات

مغلق
بدأه رغيد الطيب في 13 أغسطس 2007 · 4 رد · 1,679 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

بينما كنت اتسلى بأحد البرامج صباحاً ... احتجت الى دالة لتحويل حجم الملفات من البايت الى رقم يمكن فهمه فمثلا اذا قلت لك ان برنامج الـ Word 2003 هو 347432 بايت او قلت لك ان الـ Outlook 2003 بحجم 12813096 بايت ...... فلا اظنك ستكون سعيدا بهذه الارقام كما هو حالي فالأجمل و الأكثر اعتيادية هو ان اقول لك ان برنامج الورد بحجم 339 كيلوبايت و أن برنامج الاوتلووك هو بحجم 12.2 ميجابايت .

هذا ما كنت ابحث عنه و بالفعل كنت قد صممت قديما دالة بسيطة للقيام بهذه المهمة البسيطة كالتالي :

Function SizeString(ByVal Bytes As Long, Optional ByVal DigitsAfterPoint As Integer = 2) As String

		Const KB = 1024
		Const MB = KB ^ 2
		Const GB = KB ^ 3

		Select Case Bytes
			Case Is < KB : SizeString = Math.Round(Bytes, DigitsAfterPoint) & " Bytes"
			Case Is < MB : SizeString = Math.Round(Bytes / KB, DigitsAfterPoint) & " KB"
			Case Is < GB : SizeString = Math.Round(Bytes / MB, DigitsAfterPoint) & " MB"
			Case Else : SizeString = Math.Round(Bytes / GB, DigitsAfterPoint) & " GB"
		End Select

	End Function

فمثلا اذا استخدمت سطرا كالتالي :

 MsgBox( SizeString(12813096, 2) )

فسوف تحصل على حجم الملف مع رقمين بعد الفاصلة العشرية هكذا 12.2 ميجا بايت وهو ما اريده بالضبط

على العموم كنت اعلم انني استخدمت هذه الدالة مرارا و تكرارا في برامج فرحت ابحث ان احد البرامج الذي استخدمتها فيه نظرا لكسلي الكبير و عدم رغبتي في كتابتها مجددا !!! ... فتحت برنامج البحث الخاص بالوينذوز و قمت بالبحث داخل ملفات الكود الذي تحمل اللاحقة vb عن النص SizeString ( اسم الدالة المذكورة ) . كانت النتائج مربكة لي و مفاجئة حيث انه لم يتم العثور على اي ملف يتحوي على هذه الدالة !؟ .... ارابتني هذه النتائج حقا فأعدت البحث داخل كل الكمبيوتر هذه المرة وليس داخل الفولدر الذي يحتوي على برامجي و هالني ان النتائج نفسها تكررت !!

اصابني خوف اذ لعلني فقدت برامجي ؟ كوني متأكدا من ان الكثير من البرامج تحتوي على هذه الدالة فبدأت ابحث عنها يدويا و وجدت كل شيء في مكانه السليم ووجدت الدالة فعلا في اكثر من برنامج من برامجي؟!

استنتجت كون محرك البحث في الوينذوز لا يبحث في محتويات (كل) الملفات .. فقمت بتجربة للتأكد فقد حولت لاحقة احد الملفات التي تحتوي على الدالة SizeString من الامتداد vb الى الامتداد txt و بالفعل فقد وجدها مباشرة!!

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

post-40889-1187011281_thumb.jpg

يعتمد البرنامج على تقينة ( الإستدعاء الذاتي ) و التي سبق ان كان لنا معها مقال آخر تجده هنا إن احببت

تقنية الإستدعاء الذاتي

اتمنى ان يخدم البرنامج لتلبية الاحتياجات المشابهه لحالتي - على الرغم من البرنامج لم يراعي فيه اي اهتمام بالاداء و تعدد الاحتمالات حيث صمم فقط لخدمة البحث في الملفات الصغيرة عن اي كلمة او جملة معينة و يمكن ان يتم تطويرة إن اقتضت الحاجة لذلك لاحقا بإذن الله تعالى

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

rtaFilesFinder.zip

rtaFilesFinder_exe.zip

مواضيع برمجية تقنية جديدة

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

• إستغلال خدمة الـ RSS في برامجنا ومواقعنا ! (VB.NET)

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

• برنامج للبحث في الملفات ومحتواياتها (VB.NET)

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

• فئة للتراسل بين برنامجين في جهاز واحد ! (VB.NET)

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

مواضيع برمجية تقنية قديمة

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

• إستغلال رسائل البالونات Balloons في الوينذوز أكس بي(VB.NET)

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

• مقالة : لماذا يجب ان نعتني بشفرات برامجنا !؟- (VB6.0)

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

• لمطوري البرامج و مواقع الويب - برنامج تركيب ألوان - (VB6.0)

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

• برنامج : بسيط للتحكم بالنظام, عن طريق الريجستري - (VB6.0)

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

• برنامج : لتقييد و منع تشغيل البرامج الاخرى - (VB6.0)

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

• النوافذ المنبثقة و طريقة لإستغلالها في برامجنا -(VB.NET)

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

• تقنية الإستدعاء الذاتي - (VB.NET , VB6.0)

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

• مصفوفات الأدوات Control Arrays افكار وتلميحات ! - (VB.NET)

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

• أفكار و تلميحات[ المعنى الحقيقي للـ True و False ] - أمثلة (VB.NETVB6.0)

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

• دوال الـ APIs و مايقابلها في الدوت نت ! - (VB.NET)

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

#2

صدقت نحن لسنا سعداء بهذه الارقام , لكن صدقني سعداء بمشاركتك و تواجدك معنا.

فجزاك الله الف خير استاذي رغيد الطيب

و حقيقة اشتقنا لكم كثيراً و لمشاركاتكم الطيبة,

وفقك الله لما فيه الخير و البركة.

تم تعديل هذه المشاركة بواسطة الشهاب الحارق في 13 أغسطس 2007 في 22:10

في المثال يتضح المقال

#3

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

اخي الشهاب نحن من اشتقنا الى مشاركاتك عزيزي و جزاك الله كل الخير

السلام عليكم

مواضيع برمجية تقنية جديدة

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

• إستغلال خدمة الـ RSS في برامجنا ومواقعنا ! (VB.NET)

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

• برنامج للبحث في الملفات ومحتواياتها (VB.NET)

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

• فئة للتراسل بين برنامجين في جهاز واحد ! (VB.NET)

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

مواضيع برمجية تقنية قديمة

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

• إستغلال رسائل البالونات Balloons في الوينذوز أكس بي(VB.NET)

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

• مقالة : لماذا يجب ان نعتني بشفرات برامجنا !؟- (VB6.0)

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

• لمطوري البرامج و مواقع الويب - برنامج تركيب ألوان - (VB6.0)

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

• برنامج : بسيط للتحكم بالنظام, عن طريق الريجستري - (VB6.0)

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

• برنامج : لتقييد و منع تشغيل البرامج الاخرى - (VB6.0)

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

• النوافذ المنبثقة و طريقة لإستغلالها في برامجنا -(VB.NET)

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

• تقنية الإستدعاء الذاتي - (VB.NET , VB6.0)

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

• مصفوفات الأدوات Control Arrays افكار وتلميحات ! - (VB.NET)

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

• أفكار و تلميحات[ المعنى الحقيقي للـ True و False ] - أمثلة (VB.NETVB6.0)

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

• دوال الـ APIs و مايقابلها في الدوت نت ! - (VB.NET)

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

#4

جزاك الله خيرا أخي رغيد

ولكن هل توجد طريقة لعرض أيقونة الملف جوار اسمه ؟

اقتباس
If A is success in life, then A equals x plus y plus z. Work is x; y is play; and z is keeping your mouth shut

Albert Einstein

مدخل إلى برمجة وتصميم الألعاب : كيف أبدأ ؟

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

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