ايران ويج

نسخه‌ی کامل: چي جوري ميشه عكس تو ديتا بيس اكسس گذاشت بعدشم تو VBنشون داد؟
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2
اقایون من یک 1000 تا عکسو میخوام تو یک برنامه ویژوال بیسیک بزارم که کاربر بتونه اونا رو نگاه کنه میخوام از توی دیتا بیس باشه چه جوری میشه عکسو دیتا بیس اکسس بذارم بعدشم اونو تو وی بی نمایش بدم اگه جوا ب بدید خیلی لطف کردید :?: :!: :arrow:
با سلام خدمت دوستان
خوب براي اين كار شما دو روش داري
يكي اينكه با استفاده از روش بيتي عكسها رو در ديتا بيس ذخيره كني . من اين روش رو زياد كار نكردم چون اولاً حجم ديتا بيس خيلي بالا مي شه ، ثانياً به نظر من سرعت كار و كيفيت كار پايين مي ياد . البته اين دوتاي آخر نظر شخصي من هست و شايد اينطور هم نباشه
روش دوم اينكه شما يه فيلد آدرس به ركوردت اضافه كن و آدرس عكس رو در اون قرار بده و هر وقت خواستي عكس رو از اونجا لود كن .
يعني مثلاً وقتي برنامه داره نصب مي شه روي درايو D و شاخة ‍‍ programfile و شاخه اي به اسم برنامه يه پوشه هم داخل اون به نام Pictures‌ ايجاد كن و اگه برنامه عكس ها رو ثبت مي كنه يه كپي از عكس اونجا قرار بده و يا خودت اين كار رو انجام بده و آدرس اون يا بهتر بگم اسم عكس رو در فيلد مربوطه در بانك اكسس ذخيره كن . بعد مي توني به صورت زير عكس رو لود كني . براي مثال اگه تو يه عنصر image‌ قرار مي دي :

کد:
a=app.path & "\pictures\" & dataobjectname.recordsetname.fields("field name")
image1.picture=loadpicture (a)

اينم يه نمونه برنامه به روشي كه گفتم البته برنامه زياد جالبي نيست ولي اميد وارم مفيد باشه

http://www.iranvig.com/modules.php?name=...e&sid=1166

با تشكر ـ مشمولي
v-mashmoolie نوشته است:با سلام خدمت دوستان
خوب براي اين كار شما دو روش داري
يكي اينكه با استفاده از روش بيتي عكسها رو در ديتا بيس ذخيره كني . من اين روش رو زياد كار نكردم چون اولاً حجم ديتا بيس خيلي بالا مي شه ، ثانياً به نظر من سرعت كار و كيفيت كار پايين مي ياد . البته اين دوتاي آخر نظر شخصي من هست و شايد اينطور هم نباشه
روش دوم اينكه شما يه فيلد آدرس به ركوردت اضافه كن و آدرس عكس رو در اون قرار بده و هر وقت خواستي عكس رو از اونجا لود كن .
يعني مثلاً وقتي برنامه داره نصب مي شه روي درايو D و شاخة ‍‍ programfile و شاخه اي به اسم برنامه يه پوشه هم داخل اون به نام Pictures‌ ايجاد كن و اگه برنامه عكس ها رو ثبت مي كنه يه كپي از عكس اونجا قرار بده و يا خودت اين كار رو انجام بده و آدرس اون يا بهتر بگم اسم عكس رو در فيلد مربوطه در بانك اكسس ذخيره كن . بعد مي توني به صورت زير عكس رو لود كني . براي مثال اگه تو يه عنصر image‌ قرار مي دي :

کد:
a=app.path & "\pictures\" & dataobjectname.recordsetname.fields("field name")
image1.picture=loadpicture (a)

اينم يه نمونه برنامه به روشي كه گفتم البته برنامه زياد جالبي نيست ولي اميد وارم مفيد باشه

http://www.iranvig.com/modules.php?name=...e&sid=1166

با تشكر ـ مشمولي
:wink:

اقاي مشمولي دستت درد نكنه كه جواب دادي ميدوني من ميخوام عكسام تو ديتابيس باشه تا لو نرو و از اونا نشه تو برنامه ديگه اي استفاده كرد اگه لطف كني همون روش بيتي رو براي ما توضيح بدي خيلي ممنونت ميشم
سلام .
من در اين مورد اطلاعات زيادي ندارم . براي همين هم وقتي از اين روش استفاده مي كنم سرعت و دقت كار مياد پايين .
در اين قسمت يك بحث در باره همين موضوع انجام شده
مي توني از اطلاعات و برنامه هاي معرفي شده استفاده كني
http://forum.persiantools.com/showthread.php?t=15617


اين لينك يه سايت هست كه شايد مفيد باشه
http://www.dev.ir/articles/show.asp?id=103


با تشكر ـ مشمولي
سلام

شما اول بايد عكس هاي خودتون رو به صورت باينري كنيد و بعد هم اونا رو تو ركورد ها قرار بديد


Amaze


با اين كد باينري ميشه


Dim PictBmp As String
Dim ByteData() As Byte
CommonDialog1.FileName = ""
CommonDialog1.fliter = "Pictures (*.bmp;*.jpg;*.gif)|*.bmp;*.jpg;*.gif"
CommonDialog1.Flags = cdlOFNHideReadOnly
CommonDialog1.ShowOpen
If CommonDialog1.FileName = "" Then Exit Sub
Form1.MousePointer = 99
Image1.Visible = False
Image1 = LoadPicture(CommonDialog1.FileName)
PictBmp = CommonDialog1.FileName
SourceFile = FreeFile
Open PictBmp For Binary As #1
ReDim ByteData(FileLen(PictBmp))
Get #1, , ByteData
Close #1

بعد فقط اون رو تو ركورد قرار بدبد
vblove نوشته است:سلام

شما اول بايد عكس هاي خودتون رو به صورت باينري كنيد و بعد هم اونا رو تو ركورد ها قرار بديد


Amaze


با اين كد باينري ميشه


Dim PictBmp As String
Dim ByteData() As Byte
CommonDialog1.FileName = ""
CommonDialog1.fliter = "Pictures (*.bmp;*.jpg;*.gif)|*.bmp;*.jpg;*.gif"
CommonDialog1.Flags = cdlOFNHideReadOnly
CommonDialog1.ShowOpen
If CommonDialog1.FileName = "" Then Exit Sub
Form1.MousePointer = 99
Image1.Visible = False
Image1 = LoadPicture(CommonDialog1.FileName)
PictBmp = CommonDialog1.FileName
SourceFile = FreeFile
Open PictBmp For Binary As #1
ReDim ByteData(FileLen(PictBmp))
Get #1, , ByteData
Close #1

بعد فقط اون رو تو ركورد قرار بدبد


خيلي ممنون وي بي لاو دستت درد نكنه يك سوال ديگه داشتم مي خواستم ببينم راسته ميگند حجم عكس زياد ميشه وقتي ميره تو ديتا بيس اكسس ؟
آيا با اين روشي كه vblove گفتند ميشه در بانك sql server هم استفاده كرد ؟
نمی دونم امتحان کن
:oops:
vblove نوشته بود :
نقل قول: شما اول بايد عكس هاي خودتون رو به صورت باينري كنيد و بعد هم اونا رو تو ركورد ها قرار بديد





با اين كد باينري ميشه


Dim PictBmp As String
Dim ByteData() As Byte
CommonDialog1.FileName = ""
CommonDialog1.fliter = "Pictures (*.bmp;*.jpg;*.gif)|*.bmp;*.jpg;*.gif"
CommonDialog1.Flags = cdlOFNHideReadOnly
CommonDialog1.ShowOpen
If CommonDialog1.FileName = "" Then Exit Sub
Form1.MousePointer = 99
Image1.Visible = False
Image1 = LoadPicture(CommonDialog1.FileName)
PictBmp = CommonDialog1.FileName
SourceFile = FreeFile
Open PictBmp For Binary As #1
ReDim ByteData(FileLen(PictBmp))
Get #1, , ByteData
Close #1

بعد فقط اون رو تو ركورد قرار بدبد

من نتونستم اين رو پياده سازي كنم. لطفا يك مثال براي اين در وي بي بدين كه هم در بانك ذخيره كنه و هم از بانك عكس رو load كنه . بچه ها من به اين نياز دارم . لطفا كمكم كنيد :!:
متشكرم
سلام دوست عزيز كد رو ميفرستم به ايميل شما
ايميل من shahrookh_mo_mj@yahoo.com
صفحه‌ها: 1 2