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

اضافة واستخراج الصور من خلال زر بحث

بدأه shadi77 في 7 مارس 2009 · 16 رد · 1,597 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

مرحبا اساتزتي الكرام

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

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

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

shadifoto.rar

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

#2

اعتذر عن عدم تمكني للمتابعه الدورية في وقتنا الحالي

فليقبل الجميع تقديري واحترامي .. ولكم تحياتي

#3

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

اول ملاحظاتي من خلال التحليل هو عند ادراج الصورة في مربع الصورة يبقى حجمها كما هو ولا يظهر الا جزء منها!! هل يمكن ضغط الصور الكبيرة او تكبير الصور الصغيرة ليتناسب حجمها وحجم صندوق الصورة في الفورم؟

وسكرا لتعاونك

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

#4

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

عذرا mrx_ta7ady سأرد هذه المره علي ما يجي :P ::::

أخي Shadi77 :

يمكنك ضبط حجم الصوره ليتناسب مع الـ Picture Box عن طريق الداله Paint Picture

p1.PaintPicture p1, 0, 0, p1.Width, p1.Height, 0, 0

حيث p1 هو الـ Picture Box و الصفرين الأولين من ناحية اليسار تفيد أنك ستبدأ الرسم من النقطه (0,0) من الصوره

و الصفرين الأخرين تفيد أنك ستبدأ الرسم على الـ PictureBox من النقطه (0,0)

و تمكنك هذه الدله أيضا من تعديل حجم الصوره من PictureBox إلي أخر وليس تعديل الصوره في ذات الـ pictureBox وحده

p2.PaintPicture p1, 0, 0, p2.Width, p2.Height, 0, 0

حيث p2 هو الـ picture box الثانى الذى سيرسم به الصوره المعدلة الحجم .

و الطريقه الثانيه هي إستخدام Image Box و تغيير قيمة الخاصية Stretch إلي True

أرجو أن أكون قد وفقت في الشرح .

و السلام ختام ........

السلام على من إتبع السلام وخشي وجه ربه ذو الجلال والإكرام

#5

المثال هذه المرة يقوم بطباعة الصورة على الأداة وليس تحميلها داخل الأداة

ويتطلب فقط فتح خاصية الـ AutoRedraw لتثبيت الصورة المطبوعة

اما اذا اردت حذف الصورة المطبوعة فعليك بإستخدم Method الـ Cls

Me.Picture1.Cls

وللحصول على الصورة المطبوع فمن Image وليس Picture

Me.Picture1.Image

هذا بالنسبة للقسم العلوي من البرنامج حتى الآن

وهناك ما اهو اسهل من ذلك .. فقط عليك تغيير الـ Control وإستخدام الـ Image بدلا من الـ PictureBox

وبعد ذلك تغيير خاصية الـ Stretch إلى True بدلا من False

shadifoto.rar

اعتذر عن عدم تمكني للمتابعه الدورية في وقتنا الحالي

فليقبل الجميع تقديري واحترامي .. ولكم تحياتي

#6

شكرا لكما

انا بالفعل قمت باستبدال صندوق الصورة واستخدمت الخاصية image فهي اسهل كما تفضلتما

لكن لي استفسار تاني وهو كيف يمكنني اعطاء الصورة المحملة اسم جديد دون ان تحمل الاسم الافتراضي لها

اي عند رفع الصورة كما في النموذج المرفق يتم تغيير الاسم من خلال التكست المجاور ومن ثما حفظ الصورة بالمجلد بالاسم الجديد

وشكرا

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

#7

زيادة الخير خيرين يا كابتن ;) .. بس انا كنت خلاص كتبت ردي :$ وعموما كلامك مفيد جدا :D

اعتذر عن عدم تمكني للمتابعه الدورية في وقتنا الحالي

فليقبل الجميع تقديري واحترامي .. ولكم تحياتي

#8

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

أخي Shadi77 :

SavePicture(Me.Picture1.Image, App.Path & "\myfoto\" & PicName)

إستبدل Picname بالإسم الذى تريده و لكن لا تنسي بالطبع إمتداد الملف كـ (Jpg أو Bmb)

و يمكنك أيضا وضعه كمحتوي صندوق نصي كما بالكوط :

SavePicture(Me.Picture1.Image, App.Path & "\myfoto\" &Text3.tex)

و السلام ختام ..........

السلام على من إتبع السلام وخشي وجه ربه ذو الجلال والإكرام

#9

كيف يمكنني اعطاء الصورة المحملة اسم جديد دون ان تحمل الاسم الافتراضي لها

اي عند رفع الصورة كما في النموذج المرفق يتم تغيير الاسم من خلال التكست المجاور ومن ثما حفظ الصورة بالمجلد بالاسم الجديد

وشكرا

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

#10
mrx_ta7ady كتب:

زيادة الخير خيرين يا كابتن ;) .. بس انا كنت خلاص كتبت ردي :$ وعموما كلامك مفيد جدا :D

captinflent كتب:

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

أخي Shadi77 :

SavePicture(Me.Picture1.Image, App.Path & "\myfoto\" & PicName)

إستبدل Picname بالإسم الذى تريده و لكن لا تنسي بالطبع إمتداد الملف كـ (Jpg أو Bmb)

و يمكنك أيضا وضعه كمحتوي صندوق نصي كما بالكوط :

SavePicture(Me.Picture1.Image, App.Path & "\myfoto\" &Text3.tex)

و السلام ختام ..........

الإجابتين اعلاه على نفس السؤال :)

اعتذر عن عدم تمكني للمتابعه الدورية في وقتنا الحالي

فليقبل الجميع تقديري واحترامي .. ولكم تحياتي

#11
اقتباس
SavePicture(Me.Picture1.Image, App.Path & "\myfoto\" &Text3.tex)

نجح هذا الكود لكن يحفظ بامتداد غريب وبصراحة لم اعرف طريقة حفظ الصورة بامتداد jpg h, bmb

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

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

#12

تعقيبا على ردي السابق..

وقبل ردك يا بروفيسور ظهر لي مايلي من خلال ما قمت بعمله وهو ان الصورة التي تحفظ بامتداد غريب كما ذكرت سابقا عند ادخال اسم الصورة والبحث تظهر بشكلها الطبيعي بالمكان المخصص لها !! اما في حين لو قمت باذهاب الى مجلد الصور بالبرنامج الرئيسي اجد انها بامتداد غريب ولم يتعرف عليها نظام ويندوز !! واعطاني ايجابية او سرية لحفظ الصور وعدم اظهار محتواها الا من خلال البرنامج!

وباختصار الحالة ربما حفظ امتداد الصور بشكل غريب يحفظ سرية الصور بالمجلد

ولا رايك ايه يا بروفيسور ويا ريت بالمرة في ردك تخبرني عن الطريقة في المساركة السابقة

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

#13

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

أخي Shadi77 :

إن الخطأ هنا كان خطأى .

و التصحيح :

SavePicture(Me.Picture1.Image, App.Path & "\myfoto\" &Text3.text)

حيث Text3.text محتوى صنودق نصي إسمه Text3 .

و أسف على الخطأ مرة أخري .

و أنظر لهذه الصوره لعلك تقع في هذا الخطأ الساذج :wink:

559833930.jpg

و أيضا مرفق مثال الأخ العزيز mrx_ta7ady بعد التعديل عليه .

و السلام ختام .........

shadifoto.rar

تم تعديل هذه المشاركة بواسطة captinflent في 8 مارس 2009 في 18:15

السلام على من إتبع السلام وخشي وجه ربه ذو الجلال والإكرام

#14

اهااااااااااااااااا

انا كنت احاول وضع صيغة ال jpg بالكود معتقدا انه الصواب :blink:

بهيك زبطت والعملية تمام

بقي استفسار بالواقع وارجو تتحملوني

لو اردنا اضافة كود لمنع ادخال اسم مشابه تم ادخاله سابقا كيف يكون ذلك؟؟

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

ودمتم سالمين

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

#15

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

أخي Shadi77 :

علي ما أعتقد يوجد أكثر من طريقه سأخبرك ما أعرفه :::>

إستخدم هذه الدالة :

Private Function FileExists(FileName As String) As Boolean
	On Error GoTo Errors
		Open FileName For Input As #1
		Close #1
		FileExists = True
	Exit Function
Errors:
		FileExists = False
	Exit Function
End Function

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

أما إذا حدث خطأ فإنه يعطى القيمه False للدالة FileExists

و لقد قمت بالتعديل أيضا علي مثال الأخ العزيز mrx_ta7ady :wub: :

و إليك ما عدلت :

بعد التأكد من وجود المجلد الخاص بالصوره أو الصور نقوم بإدراج الكود التالى : ( وهذا كله بعد كتابة الداله في الفورم أو أى موديل أخر )

Dim NPicDir As String  
	NPicDir = App.Path & "\myfoto\" & Text1.Text
	If FileExists(NPicDir) = True Then
	MsgBox "الملف موجود مسبقا !", vbOKOnly, "خطأ !!"
	Exit Sub
	End If

و لاحظ هنا أننا عرفنا متغير جديد لوضع مسار الملف الجديد كاملا و هو المتغير NPicDir

ثم قمنا بوضع مسار الملف الجديد كاملا داخل المتغير .

و قمنا بعد ذلك بإستخدام جملة if مع الداله و التى إذا أرجعت القيمه True (و هذا يعنى أن الملف موجود) ستقوم جملة if بإظهار رسالة خطأ و تقوم بإنهاء الـ Sub أما إذا كانت القيمه التى أرجعتها الدالة False فسيكتمل التشغيل دون مشاكل .

و المثال المعدل موجود بالمرفقات .

أرجو أن أكون قد وفقت .

و السلام ختام ......

shadifoto.rar

تم تعديل هذه المشاركة بواسطة captinflent في 9 مارس 2009 في 06:28

السلام على من إتبع السلام وخشي وجه ربه ذو الجلال والإكرام

#16

شكرا يا اهلاوي :D

اعتذر عن عدم تمكني للمتابعه الدورية في وقتنا الحالي

فليقبل الجميع تقديري واحترامي .. ولكم تحياتي

#17

شكرا يا بشوات بصراحة انتم راس مالنا هنا والله يديمكم اساتزتي

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

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