• اطلاعیه ها

    • H@mid.RS

      جذب نیرو   پنجشنبه, 10 فروردین 1396

      درود به دوستان عزیز به چند نفر مدیر برای بخش های php و گرافیک نیازمندیم درصورت تمایل درخواست خود را در پیام خصوصی بفرستید  
    • H@mid.RS

      تغییر نام کاربری   دوشنبه, 28 فروردین 1396

      درود دوستانی که نام کاربری انها با ایمل شان یکی بود تغییر کرد مثلا نام کاربری sss@tmail.com به sss تغییر کرد دوستانی که مشکل ورود دارند @ به بعد را پاک کنند
    • H@mid.RS

      کسب درآمد   پنجشنبه, 31 فروردین 1396

      دوستانی که میخواهند با انجمن خودشون همکاری کنند و از محیط انجمن درآمد کسب کنند به بنده پیام خصوصی بفرستند
    • H@mid.RS

      راه اندازی وبلاگ برای انجمن   دوشنبه, 18 اردیبهشت 1396

      درود به همه دوستان عزیز از این پس کاربران ویژه  - همکاران - و مدیران میتوانند در انجمن برای خود وبلاگ بسازند
H@mid.RS

گرفتن مسیر یک فایل در بیسیک فور اندروید

1 ارسال در این موضوع قرار دارد

درود


همونطور که شما می دونید به هر دلیلی نیاز داریم که یک فایل رو باز کنیم


حالا اگه عکس باشه برای نمایش ان


یا موزیک باشه برای پخش


برای این کار نیاز به کتابخانه های زیر داریم :



'*.ContentChooser
'*.SQL
'*.Phone

تعریف یک کانتنت :(مکانشم می گم کجا باشه که بدونید)



Sub Process_Globals
Private cc As ContentChooser
End Sub


Sub Activity_Create(FirstTime As Boolean)
cc.Initialize("cc")
End Sub

برای فراخوانی و انتخاب یه باتن نیاز داریم که کد زیرو کپی کنیدش داخل:



Sub b_Click
cc.Show("*/*", "Choose image")
End Sub


Sub GetPathFromContentResult(UriString As String) As String
If UriString.StartsWith("/") Then Return UriString
Dim Cursor1 As Cursor
Dim Uri1 As Uri
Dim Proj() As String = Array As String("_data")
Dim cr As ContentResolver
cr.Initialize("")
If UriString.StartsWith("content://com.android.providers.media.documents") Then
Dim i As Int = UriString.IndexOf("%3A")
Dim id As String = UriString.SubString(i + 3)
Uri1.Parse("content://media/external/images/media")
Cursor1 = cr.Query(Uri1, Proj, "_id = ?", Array As String(id), "")
Else
Uri1.Parse(UriString)
Cursor1 = cr.Query(Uri1, Proj, "", Null, "")
End If
Cursor1.Position = 0
Dim res As String
res = Cursor1.GetString("_data")
Cursor1.Close
Return res
End Sub

دستورات بالا برای گرفتن مسیر عکس ها هست ولی چون من در قسمت انتخاب داخل باتن * گذاشتم دیگه همه فایل ها رو از همه برنامه ها می تونید انتخاب کنید.


 


و در نهایت می موند دریافت نتیجه انتخاب :



Sub Choose_Result (Success As Boolean, Dir As String, FileName As String)
If Success Then
dim basic4x as string
basic4x=GetPathFromContentResult(FileName)
ToastMessageShow("انتخاب فایل با موفقیت انجام شد.",False)
Else
ToastMessageShow("مشکل در انتخاب فایل",False)
End If
End Sub

خوب در نهایت میاد مسیر رو توی رشته Basic4X قرار میده و ما می تونیم هر جا نیاز داشتیم ازش استفاده کنیم


 


سوالی بود در خدمتم


در پناه حق


به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

  • مطالب مشابه

    • توسط amir386
      سلام دوستان. میدونم که همتون با کتابخونه httputils2 آشنایی دارین و انواع کاربردشو بلدین که بیشتر مربوط به بحث آپلود و دانلود هستش .! راستش یه برنامه نوشتم که در یک جا آپلودانجام میده و در جای دیگه هم دانلود خوب برنامه کاملا درست نوشته شده و سالمه و رویداد اتمام دانلود و کار های دیگش... به درستی انجام میشه. ولی امروز روی اندروید 6 به بالا تست کردم دیدم نه دانلود و نه آپلودی ونه هیچ رویدادی........ انجام نمیشه!
      حالا موندم توش چیکار کنم دوستانی که میدونن لطفا راهنماییم کنن این مشکلو حل کنم با تشکر!
    • توسط amir386
      سلام دوستان . میخواستم موقعی که تماس گرفته میشه و یا کسی باهامون تماس میگیره و پاسخ میدیم... شماره و نامش رو همون لحظه بگیریم . برای اینکار چی باید کنم؟ خیلی ممنون اگه زود تر پاسخم رو میدید...
    • توسط amir386
      سلام دوستان گل .
      یه مشکلی پیش اومده اونم اینکه یه فایل php نوشتم که داخل هاست سرورم با اسمی که از طریق برنامه اندروید b4a ارسال میکنه پوشه ای ایجاد میکنه . حالا این اسم پوشه خودش از یه فایلی گرفته میشه که با همون httpjob اجرا میشه  و داخل رویداد باید پوشه ایجاد شه . منتها نمیدونم چرا به جای ساخت یه پوشه تعداد زیادی میسازه گاهی ده تا گاهی صد تا گاهی شانسی یکی . این یعنی رویداد عملیات httpjob زیاد انجام میشه که این همه ایجاد میکنه.. چی کنم که یک بر اجرا بشه>؟؟