PDA

View Full Version : مشکل در یک کنترل gif متحرک!



drhadi_20
شنبه 05 آبان 1386, 17:09 عصر
با سلام به همه دوستان:
یک کنترل برای gif متحرک دارم که خاصیتی به نام GIF داره که باید آدرس فایل animate gif را در اینجا تنظیم کنیم، ولی از درون کد برنامه وقتی میخوام یک فایل gif دیگه رو جایگزین کنم جواب نمیده، اگه کسی بتونه یه امتحانی بکنه یا قبلا با این کنترل کار کرده باشه ممنون میشم کمک کنه و بگه چطور میتونم از درون کد تصویر را تغییر بدم

در ضمن فایل ocx. آن را نیز ضمیمه کرده ام

با سپاس

اوبالیت به بو
شنبه 05 آبان 1386, 22:15 عصر
تو اگه کامپوننت Marquee ControlLibary رو واسم گیر بیاری من برات برنامشو می نویسم ولی متاسفانه من تو کامپیوتر خودم پیداش نمی کنم اگه پیدا کردی بزار ای به چشم برات می نویسمش.

drhadi_20
یک شنبه 06 آبان 1386, 08:13 صبح
من متوجه منظورتون نشدم، چه ارتباطی با این کامپوننت داره؟ شما کنترل را دانلود کردید؟ من فقط میخوام تصویر gif رو عوض کنم مانند یه کنترل تصویر یا عکس که مثلا به این صورت از درون کد تصویرشو تغییر میدیم: Image1.Picture = "c:\a.bmp یه همچین کاری میخوام برای این کنترل gif انجام بدم

__siavash__
یک شنبه 06 آبان 1386, 09:33 صبح
از این استفاده کن
عکسشم میتونی در زمان اجرا عوض کنی !

drhadi_20
یک شنبه 06 آبان 1386, 10:05 صبح
خیلی ممنون دوست عزیز، خیلی برنامه جالبیه ولی برخی از gif هایی که من میخوام رو درست نشون نمیده و مشکلم حل نشد، اگه بتونید یه لطفی بکنید و اون کنترلی که من گذاشتم رو یه نگاهی بش بندازید سپاسگزار میشم

__siavash__
یک شنبه 06 آبان 1386, 11:22 صبح
آره در مورد این سورس قبلا هم یکی ار کاربرای این سایت گفته بود برای بعضی GIF ها مشکل داره اما خوب من تا حالا به این مشکل بر نخوردم
اما شما اگه میخوای از همون ANIGIF.OCX استفاده کنی از متد AniGIF1.ReadGIF برای عوض کردن GIF در زمان اجرا استفاده کن

drhadi_20
دوشنبه 07 آبان 1386, 09:25 صبح
خیلی ممنون سیاوش خان!
میشه شکل کامل تر دستور رو بنویسید برام، به طور مثال اگه بخواهیم فایل a.gif رو از مسیر \:c جایگزین کنیم شکل کامل فرمان به چه صورت باید باشه؟ آخه من هر کاری میکنم جواب نمیده!

__siavash__
دوشنبه 07 آبان 1386, 16:01 عصر
به این صورت


AniGIF1.ReadGIF App.Path & "\a.gif"

فایل a.gif که کنار برنامه هست نمایش داده میشه !

svs-vhs
پنج شنبه 10 آبان 1386, 18:25 عصر
دوست من از برنامه ای که گذاشتی واقعا ممنون . اما من یه مشکل دیگه با این کامپونت دارم.
مشکلم اینه که من یه فابل EXE از برنامه ای که نوشتم ساخنم .اونو به دوستم دادم اما اجرا نشد.
من جواب سوالم رو خودم پیدا کردم باید اون کامپونت رو توی سیستم ویندوز بریزی تا اجرا بشه.اما من میخوام وقتی که من برنامه رو اجرا کردم خودش همونجا کپ بشه باید چیکار کنم.

__siavash__
جمعه 11 آبان 1386, 00:19 صبح
درسته اگه از OCX استفاده کرده باشی اونو باید همراه برنامه بدی به طرف مقابل!!!
حالا اگه میخوای فقط یه فایل exe بدی به طرف بیا فایل OCX رو به صورت ریسورس به پروژه اضافه کن بعد وقتی برنامه میاد بالا چک کن اگه وجود نداشت اکسترکتش کن کنار برنامه !

svs-vhs
جمعه 11 آبان 1386, 19:48 عصر
دوست من اگه بیشتر و کامل توضیح بدی ممنون میشم .آخه من زیاد VB بلد نیستم.یعنی تازه کارم.!!!!
من منظورم این بود که وقتی اوو به دوستم دادم .برنامه اجرا نشد و erorr داد که اون کامپونت رو نداره.من بهش گفتم که باید اونو تو سیستم ویندوز بریزه درست میشه.اون این کار رو کرد و اجرا شد.
حالا من می خوام کاری کنم که نیازی به کپی کردن نباشه .یعنی خود برنامه اونو کپی کنه یا با یه برنامه دیگه اون اوتمات کپی بشه. !!!!!!!
ممنون که جواب دادی!!

__siavash__
جمعه 11 آبان 1386, 23:11 عصر
اول برنامه Resource Editor رو از منوی Add-Ins در ویژوال بیسیک Load کن بعد برنامه Resource Editor رو باز کن بعد گزینه Add Coston Resource رو انتخاب کن بعد فایل OCX مورد نظرت رو بهش بده تا به صورت ریسورس به پروژه اضافه بشه بعد این کد ها رو توی فرمت بذار !


Private Sub Form_Initialize()
Dim Arr() As Byte
Arr = LoadResData(101, "Custom")
Open App.Path & "\AniGif.ocx" For Binary As #1
Put #1, , Arr
Close #1
End Sub