من مثلا می خوام یه دکمه رو زدم یه عکس از یه ادرسی لود شه
مثلا c:\...\pic.jpg
حالا اگه این برنامه رو تو سی دی رایت کنم ارور می ده چه کار کنم
طریقه ی ادرس دهی کوتاه تو ویژوال بیسیک 2005 چطوریه ؟
Printable View
من مثلا می خوام یه دکمه رو زدم یه عکس از یه ادرسی لود شه
مثلا c:\...\pic.jpg
حالا اگه این برنامه رو تو سی دی رایت کنم ارور می ده چه کار کنم
طریقه ی ادرس دهی کوتاه تو ویژوال بیسیک 2005 چطوریه ؟
تا اون جايي كه من ميدونم بايد اون فايل عكس رو تو محلي كه پروژه ت رو كامپايل كردي كپي كردي و بعد در آدرس لود شدن فقط اسم كامل اون عكس رو بدي، اين كار جواب ميده ولي نميدونم منظورت اين هست يا نه :
کد:Picture1.Picture = LoadPicture("myimage.jpg")
سلام
اين كد مسير ذخيره پروژه رو بهتون ميده
کد:a$=app.path
a$=a+filename
(به فرض اینکه a.jpg عکس مورد نظرته و توی پوشه نرم افزار قرار داره و چون اسم درایو سی دی رام رو نمی دونی نمی تونی لودش کنی)
در ادامه پست aaaammmm87
باید بگم
میشه پوشه ای که برنامه درونش هستکد:App.Path
و شما می تونی برای لود کردن عکس این کد رو بنویسی:
حالا یک مشکلی هست که لازم به ذکرهکد:Picture1.Picture = LoadPicture(App.Path & "\" & "a.jpg"
اگر شما برنامت رو در شاخه اصلی درایو بزاری به مشکل می خوری
برای اینکه بهتر بفهمی این برنامه ای که می گم رو بنویس:
و فایل اجرایی این برنامه رو در یک پوشه قرار بده و اجرا کنکد:Private Sub Form_Load()
MsgBox App.Path & "\" & App.EXEName & ".exe"
End Sub
مشکلی می بینی؟
حالا این رو در شاخه اصلی یک درایو کپی کن و اجرا کن
دقت کن تا مشکل رو ببینی:31:
در اینجا دو تا ( \ ) پشت سر هم میاد که موجب خطا میشه
خلاصه بگم باید این کد رو بنویسی:
و به جای کد لود کردن این کد رو می نویسی:کد:Dim strfs As String
If right(App.Path, 1) <> "\" Then
strfs = App.Path & "\"
Else
strfs = App.Path
End If
امیدوارم مشکلت رو درست فهمیده باشم و جواب درست رو بهت داده باشم:31:کد:Picture1.Picture = LoadPicture(strfs & "a.jpg")
دست همتون درد نکنه ولی فکر نکنم این همه کار داشته باشه ها
اخر نفهمیدم کدوم کدا رو باید بنویسیم
عزیز دوستشون توی پست 4# توضیحی خوب دادن دیگه !نقل قول:
این توی بیسیک 6 جواب می ده ولی توی 2005 از App ارور می گیره
دوستان
می گم این دستورات توی vb 6 کار می کنه ولی vb 2005 نه ؟
چی کنم ؟
معادل app.path توی 2005 چیه ؟
Dim AppPath As String
AppPath = Environment.CurrentDirectory()
Pic.Image = Image.FromFile(AppPath & "\pic\1.gif")
این طوریه باید عکسا رو کپی کنی توی debug
شما با اين GetDriveType تابع api ميتونيد مسير سي دي رام موجود روي سيستمهاي مختلف رو بدست بياري و احتياجي به كپي عكسهات داخل هارد نيست اگه تعداد عكسهات هم كمه و ميخواهي كسي به اونها دسترسي مستقيم نداشته باشه اونها رو تو ريسورس (چون با 2005 كار نكردم نميدونم شايد نداشته باشه) قرار بده