رفتن به مطلب
  • 0

بازکردن لینک های داخل دیتابیس (جدا سازی لینک از متن)


mostafarkn

سوال

سلام

من قبلا یک کتاب با استفاده از نرم افزار های آماده برای ساخت کتاب اندرویدی ایجاد کردم.یکی از ویژگی های این کتاب اینه که با انتخاب لینک های موجود در مطالب می توان از طریق بروزر گوشی وارد آن لینک شد.حالا من می خوام برنامه نویسی این کتاب رو خودم انجام بدم.دیتابیس مربوطه رو ایجاد کردم و از طریق لیبل مطالب رو نمایش می دم.اما لینک ها هم به صورت متن هستند و با کلیک روی هر یک از آن ها هیچ تغییری حاصل نمیشه.برای استفاده از فون اینتنتس برای لینک های داخل دیتا بیس باید چه کدی بنویسم یا از چه کتابخاننه ای استفاده کنم؟تصویر پیوست تصویری از نرم افزار من که از طریق نرم افزار های کتاب ساز ساخته ام است.لینک ها زرد رنگ هستند و با لمس آنها بروزر باز می شود.

Capture.PNG

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

19 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

ممنون از پاسختون ولی مشکل این جاست که کل این مطالب در یک لیبل قرار دارند و وقت کلیک کل مطالب فارسی و انگلیسی انتخاب می شوند که باعث ارور میشه من فقط می خوام که مطالب انگلیسی که لینک هستند انتخاب شوند و بعد وارد بروزر شود.

 

@@mostafarkn, دو راه دارید :

1- مطالب انگلیسی رو توی Label جدا قرار بدید

2- از WebView استفاده کنید

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

@@mostafarkn, دو راه دارید :

1- مطالب انگلیسی رو توی Label جدا قرار بدید

2- از WebView استفاده کنید

یعنی اگر از این کد استفاده کنیم در لیبلی که هم متن فارسی و هم متن انگلیسی در اون وجود داره چه مشکلی پیش میاد؟

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

@@mostafarkn, دو راه دارید :

1- مطالب انگلیسی رو توی Label جدا قرار بدید

2- از WebView استفاده کنید

منظورتون از webview متوجه نشدم.تو برنامه نویکت قسمتی که نوع داده رو انتخاب می کنیم قسمت ممو و بلاب و... گزینه وب ویو داره منظورتون همون بود؟اگه همون بود لطفا یکم درباره اش برام توضیح بدین و چگونگی نمایش آن در b4a.اگه تاپیکی هم دراین مورد وجود داره لطفا لینکشو بدید چون من سرچ کردم ولی چیزی درباره وب ویو در دیتابیس پیدا نکردم!

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

ببین میتونی ستون لینک رو جدا بذاری با تصویری که من دیدم لینک ها به عنوان مرجع هستند و آخر پست میاد

 

حالا شما ستونشو جدا بذار و در کد نویسی شرط بذار وقتی که پست اومد بعدش لیبیل  لینک بیاد

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

یعنی اگر از این کد استفاده کنیم در لیبلی که هم متن فارسی و هم متن انگلیسی در اون وجود داره چه مشکلی پیش میاد؟

 

اجازه بدید یک راحی به ذهنم رسید . ببینم میتونم عملیش کنم یا خیر.

فکر کنم بشه.

نتیجه رو اطلاع میدم چند دقیقه دیگه :fekr:

 

با SubString فکر کنم بشه یک حرکت هایی رو زد که اگه توی Label متن فارسی و البته فقط یک لینک انگلیسی وجود داشت

اون لینک رو بخونه و توی Browser باز کنه !

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

با همون SubString حل شد :crazy:

متن فارسی و انگلیسی رو نوشتیم . وقتی که روی Label کلیک میکنم لینک رو شناسایی میکنه و باز میکنه !

 

نمونه سورس

 

کاری که @@Nemesis عزیز گفتن رو هم میتونید انجام بدید البته !

بسته به نحوه ی قرار گیری متن و لینک هاتون داره.

 

هر کدوم رو که دوست دارید انجام بدید !

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

می شه درباره این چند خط یکم توضیح بدید :

	Dim captcha As String
	captcha = st.SubString(st.IndexOf("http"))
	captcha = captcha.SubString2(0,captcha.IndexOf(".org")+4)
	Label2.Text = captcha

اون .org که نوشتید فقط خط هایی رو لینک می ده که پسوندشون .org باشه؟یا نه؟لطفا یکم دربارش توضیح بدید ممنون

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

با همون SubString حل شد :crazy:

متن فارسی و انگلیسی رو نوشتیم . وقتی که روی Label کلیک میکنم لینک رو شناسایی میکنه و باز میکنه !

 

نمونه سورس

 

کاری که @@Nemesis عزیز گفتن رو هم میتونید انجام بدید البته !

بسته به نحوه ی قرار گیری متن و لینک هاتون داره.

 

هر کدوم رو که دوست دارید انجام بدید !

کلمه عبورش چیه؟

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

می شه درباره این چند خط یکم توضیح بدید :

	Dim captcha As String
	captcha = st.SubString(st.IndexOf("http"))
	captcha = captcha.SubString2(0,captcha.IndexOf(".org")+4)
	Label2.Text = captcha

اون .org که نوشتید فقط خط هایی رو لینک می ده که پسوندشون .org باشه؟یا نه؟لطفا یکم دربارش توضیح بدید ممنون

4 خط بیشتر نداریم

خط اول میاییم یک String تعریف میکنیم که از طریق اون لینک هایی رو در بیاریم

خط دوم میاییم از طریق SubString میگیم متن رو جدا کن از جایی که عبارت : http شروع میشه

خط سوم با SubString2 میاییم میگیم که همون عبارت که از http شروع میشه رو تا جایی ادامه بده که نوشته باشه org. !

اون 4+ هم بخاطر اینه که خود org. رو هم جدا نکنه و اضافه کنه ! 4 حرف هست دیگه ، درسته ؟؟!!!

خط چهارم رو هم که بهتر از من میدونید

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

در کنار سورس کد اقای ایزدی به این سورس کد هم نیگاهی بندازید

 

رمز فایل : basic4android.org

ClickableTextView.rar

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

آخ آخ استاد @@مجید آرتا اومد . ما بریم که الان رومون رو کم میکنه آبرو مدیریتیمون میره :S:oops:

 

مجید جان چاکریم :gol:

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

درود

در رویداد کلیک اون Label میتونید به دو صورت عمل کنید :

1- کتابخانه Phone رو فعال کنید و بعدش :

Dim P As PhoneIntents
StartActivity(P.OpenBrowser(Label1.Text))

2- از طریق خود Intent بیسیک استفاده کنید :

Dim i As Intent
i.Initialize2(Label1.Text,0)
StartActivity(i)

از هر کدوم روش دوست داشتید استفاده کنید

ممنو دمتون گرم

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

آخ آخ استاد @@مجید آرتا اومد . ما بریم که الان رومون رو کم میکنه آبرو مدیریتیمون میره :S:oops:

 

مجید جان چاکریم :gol:

خخخ

اختیار داری مهدی جان تاج سرمی :gol:

من کجا استادی کجا عزیز.هرچی داریم از استادی خودته مهدی جان :gol:

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

اساتید عزیز می شه یه توضیحی روی این کتابخونه بدید در حال مشاهده مثالش هستم اما مثال برای ما مبتدی ها که به درد نمی خوره یه توضیح کوچولو بدید ممنون می شیم برای این کار که متن از دیتابیس گرفته می شه در کد مثال چه تغییری باید ایجاد کرد؟اگر می شد تغییر توی کد آقای ایزدی ایجاد کرد که بعد از این که لینک ها رو شناخت هرجای مطلب باشن وقتی روی اون ها کلیک شد مرورگر باز بشه نه این که لینک ها رو داخل یک لیبل دیگه قرار داد؟

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

کلمه عبورش چیه؟

قوانین انجمن رو بخونید میفهمید رمزش چیه :ok:

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

	Dim CCT As ClickableTV
	Label1.Text = "This is a Label with a "
	CCT.AddLinkText(Label1,"clickable Text1 !",Colors.Red,"GetString")
	CCT.AppendText(Label2,"This is a Label with a ")
	CCT.AddLinkText(Label2,"clickable Text2 ",Colors.Blue,"GetString")
	CCT.AppendText(Label2," and appending Text :)")

خط اول متغیر مورد نظرشو تعریف می کنیم

خط دوم میاد یک متن به لیبل میده

خط سوم  هم که در ادامش اون متنی که ما قصد داریم با کلیک روش یک کاری رو انجام بده رو به علاوه متن قبلی لیبل قرار میده

خط چهارم میشه گفت همون کار خط دوم رو انجام میده و یک متنی رو به لیبل میده

.خط چهارم باز متن قبلی رو به علاوه اون چیزی که میخوایم با کلیک روش کاری انجام بشه رو قرار میده.

خط اخر هم یک متن دیگه با اخر لیبل نسبت میده

 

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

Sub GetString_clickablelink (Text As String)
    ToastMessageShow("You clicked: " & Text,True)
End Sub

GetString  هم EventName هستش

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

درود

در رویداد کلیک اون Label میتونید به دو صورت عمل کنید :

1- کتابخانه Phone رو فعال کنید و بعدش :

Dim P As PhoneIntents
StartActivity(P.OpenBrowser(Label1.Text))

2- از طریق خود Intent بیسیک استفاده کنید :

Dim i As Intent
i.Initialize2(Label1.Text,0)
StartActivity(i)

از هر کدوم روش دوست داشتید استفاده کنید

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

درود

در رویداد کلیک اون Label میتونید به دو صورت عمل کنید :

1- کتابخانه Phone رو فعال کنید و بعدش :

Dim P As PhoneIntents
StartActivity(P.OpenBrowser(Label1.Text))

2- از طریق خود Intent بیسیک استفاده کنید :

Dim i As Intent
i.Initialize2(Label1.Text,0)
StartActivity(i)

از هر کدوم روش دوست داشتید استفاده کنید

ممنون از پاسختون ولی مشکل این جاست که کل این مطالب در یک لیبل قرار دارند و وقت کلیک کل مطالب فارسی و انگلیسی انتخاب می شوند که باعث ارور میشه من فقط می خوام که مطالب انگلیسی که لینک هستند انتخاب شوند و بعد وارد بروزر شود.

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

این مشکل من هم هست و اگر راهی باشه که خط هایی که با http:// شروع می شوند به صورت لینک دار باشند و فرد را به مرورگر ارجاع دهند مطمئنا ازش استفاده می کنم

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

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...