مجید آرتا 5,874 ارسال شده در 25 دی، ۱۳۹۶ اشتراک گذاری ارسال شده در 25 دی، ۱۳۹۶ با سلام به کاربرای عزیز. دیر وقته آموزش های متنی و ویدیویی برای کاربرای عزیز قرار ندادم یه آموزش ساده میدم، از سایت مرجع بیسیک 4 اندروید B4X. با این کلاس که توی core خود بیسیک هستش، میتونید متنتون رو زیبا تر و شکیل تر کنید.به یه قسمت از متنتون، فونت و استایل و سایز حاص می تونید بدید. این کلاس بر گرفته از کتابخونه RichString قدیم هستش که سازندش agraham یکی از توسعه دهندگان خوب b4a که کتابخونه های خوبی رو برای b4a ایجاد کرده. یادمه خیلی از دوستان مشکلات زیادی در این مورد داشتن، هایلایت کردن قسمتی از متن، لینک دادن به قسمتی از متن و . . . به وسیله ی این کلاس که توی خود بیسیک تعبیه شده امکان پذیر هستش. میریم سراغ مثال ها و نحوه ی استفاده این کلاس » مثال 1: lbl.Text = cs.Initialize.Color(Colors.Green).Append("Answer").Color(Colors.Red).Append("Center").PopAll خروجی مثال 1: مثال 2: Dim cs As CSBuilder cs.Initialize.Color(Colors.Red).Append("Hello ") cs.Bold.Color(Colors.Green).Append("Colorful ").Pop.Pop 'two pops: the first removes the green color and the second removes the bold style cs.Append("World!").PopAll lbl.Text = cs خروجی مثال2: مثال 3:( در این مثال نحوه استفاده از فونت ایکون هم موجود هستش) lbl.Text = cs.Initialize.Append("Text with FontAwesome: ").Typeface(Typeface.FONTAWESOME).Append(Chr(0xF209)).PopAll مثال 4:( در این مثال قسمتی از متن رو قابلیت کلیک میدیم) Sub Activity_Create(FirstTime As Boolean) Activity.LoadLayout("main") Dim cs As CSBuilder cs.Initialize.Size(30).Append("Some ").Append(CreateClickableWord("words")) cs.Append(" are ").Append(CreateClickableWord("clickable")).Append(".").PopAll lbl.Text = cs cs.EnableClickEvents(lbl) End Sub Sub CreateClickableWord(Text As String) As CSBuilder Dim cs As CSBuilder Return cs.Initialize.Underline.Color(0xFF00D0FF).Clickable("word", Text).Append(Text).PopAll End Sub Sub Word_Click (Tag As Object) Log($"You have clicked on word: ${Tag}"$) End Sub خروجی 4: این کلاس از بیسیک نسخه 6.80 به بعد موجود هستش. خب امیدوارم مورد توجهتون قرار گرفته بشه. منبع: B4X forum Www.AnswerCenter.IR لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
arastooms 1,046 ارسال شده در 26 دی، ۱۳۹۶ اشتراک گذاری ارسال شده در 26 دی، ۱۳۹۶ سلام به همه منم یه چند تا نکته دیگه به گفته های مجید عزیز اضافه میکنم تا همه دوستان استفاده کنند Images Code: Dim cs As CSBuilder cs.Initialize.Size(30).Typeface(Typeface.MONOSPACE) cs.Append("B4A: ").Image(LoadBitmap(File.DirAssets, "b4a.png"), 40dip, 40dip, False).Append(CRLF) cs.Append("B4i: ").Image(LoadBitmap(File.DirAssets, "b4i.png"), 40dip, 40dip, False).Append(CRLF) cs.Append("B4J: ").Image(LoadBitmap(File.DirAssets, "b4j.png"), 40dip, 40dip, False).Append(CRLF) cs.Append("B4R: ").Image(LoadBitmap(File.DirAssets, "b4r.png"), 40dip, 40dip, False).Append(CRLF) cs.PopAll Label1.Text = cs Activity.Title = cs لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
arastooms 1,046 ارسال شده در 26 دی، ۱۳۹۶ اشتراک گذاری ارسال شده در 26 دی، ۱۳۹۶ Clickable textبرای ایجاد متن هایی که قابل کلیک باشن مثلا لینک بدید به سایت یا گروه یا ... Code: Sub Activity_Create(FirstTime As Boolean) Activity.LoadLayout("1") Dim cs As CSBuilder cs.Initialize.Size(30).Append("Some ").Append(CreateClickableWord("words")) cs.Append(" are ").Append(CreateClickableWord("clickable")).Append(".").PopAll Label1.Text = cs cs.EnableClickEvents(Label1) End Sub Sub CreateClickableWord(Text As String) As CSBuilder Dim cs As CSBuilder Return cs.Initialize.Underline.Color(0xFF00D0FF).Clickable("word", Text).Append(Text).PopAll End Sub Sub Word_Click (Tag As Object) Log($"You have clicked on word: ${Tag}"$) End Sub لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
mahfelsoft 130 ارسال شده در 5 اسفند، ۱۳۹۶ اشتراک گذاری ارسال شده در 5 اسفند، ۱۳۹۶ اگه متنی داشته باشیم که بخواهیم کل متن رنگش سیاه باشه و فقط کلمات خاصی رنگی بشن چکار باید بکنیم ؟ لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
mahfelsoft 130 ارسال شده در 14 اسفند، ۱۳۹۶ اشتراک گذاری ارسال شده در 14 اسفند، ۱۳۹۶ میشه لطفا جواب بدید ؟؟؟؟؟؟؟؟ لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
نورنما 613 ارسال شده در 15 اسفند، ۱۳۹۶ اشتراک گذاری ارسال شده در 15 اسفند، ۱۳۹۶ در در 1396/12/14, 07:36:20، mahfelsoft گفته است : میشه لطفا جواب بدید ؟؟؟؟؟؟؟؟ سلام علیکم این کدها رو براتون آماده کردم هرمتنی که میخواین دربین متن اصلی تان یافت بشه و رنگش متفاوت از سایر قسمتهای متن شود را در edittext وارد میکنید بعدش بلافاصله بصورت خودکار رنگ متن موردنظرتان متفاوت میشه Sub Globals 'These global variables will be redeclared each time the activity is created. 'These variables can only be accessed from this module. Dim color_kalame As String Private Label1 As Label Private EditText1 As EditText Dim cs As CSBuilder Dim matn As String Dim kalame_search As String End Sub Sub Activity_Create(FirstTime As Boolean) 'Do not forget to load the layout file created with the visual designer. For example: Activity.LoadLayout("Layout1") kalame_search= "10" EditText1.Text=kalame_search search End Sub Sub search cs.Initialize.Color(Colors.Blue) matn = "In The Name of GOD بار صلوات بفرستید 10 اللهم صل علی محمد وآل محمد " Dim MatchEmail2 As Matcher = Regex.Matcher(kalame_search, matn) cs.Initialize cs.Color(Colors.Red) Dim regex_matn() As String If MatchEmail2.Find = True Then Log("کلمه"&kalame_search&" یافت شد") regex_matn = Regex.split(kalame_search,matn) color_kalame=Colors.red For searchh = 0 To (regex_matn.Length-1) cs.Append(regex_matn(searchh)).Color(Colors.Blue).PopAll color_kalame= Colors.RGB(Rnd(0,255),Rnd(0,255),Rnd(0,255)) If searchh<>(regex_matn.Length-1) Then cs.Color(Colors.Red) cs.Bold.Color(color_kalame).Append(kalame_search).Pop.Pop Else End If Next Label1.Text = cs Else Log("کلمه"&kalame_search&" یافت نشد") end If End Sub Sub EditText1_TextChanged (Old As String, New As String) 'وقتی متن تغییر کرد kalame_search=EditText1.Text If kalame_search="" Then kalame_search=" " search End Sub اینم لینک سورس کامل وآماده اون : سورس رنگی کردن متن مورد نظر در جستجو لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
mahfelsoft 130 ارسال شده در 18 اسفند، ۱۳۹۶ اشتراک گذاری ارسال شده در 18 اسفند، ۱۳۹۶ در در 1396/12/15, 08:58:07، نورنما گفته است : سلام علیکم این کدها رو براتون آماده کردم هرمتنی که میخواین دربین متن اصلی تان یافت بشه و رنگش متفاوت از سایر قسمتهای متن شود را در edittext وارد میکنید بعدش بلافاصله بصورت خودکار رنگ متن موردنظرتان متفاوت میشه Sub Globals 'These global variables will be redeclared each time the activity is created. 'These variables can only be accessed from this module. Dim color_kalame As String Private Label1 As Label Private EditText1 As EditText Dim cs As CSBuilder Dim matn As String Dim kalame_search As String End Sub Sub Activity_Create(FirstTime As Boolean) 'Do not forget to load the layout file created with the visual designer. For example: Activity.LoadLayout("Layout1") kalame_search= "10" EditText1.Text=kalame_search search End Sub Sub search cs.Initialize.Color(Colors.Blue) matn = "In The Name of GOD بار صلوات بفرستید 10 اللهم صل علی محمد وآل محمد " Dim MatchEmail2 As Matcher = Regex.Matcher(kalame_search, matn) cs.Initialize cs.Color(Colors.Red) Dim regex_matn() As String If MatchEmail2.Find = True Then Log("کلمه"&kalame_search&" یافت شد") regex_matn = Regex.split(kalame_search,matn) color_kalame=Colors.red For searchh = 0 To (regex_matn.Length-1) cs.Append(regex_matn(searchh)).Color(Colors.Blue).PopAll color_kalame= Colors.RGB(Rnd(0,255),Rnd(0,255),Rnd(0,255)) If searchh<>(regex_matn.Length-1) Then cs.Color(Colors.Red) cs.Bold.Color(color_kalame).Append(kalame_search).Pop.Pop Else End If Next Label1.Text = cs Else Log("کلمه"&kalame_search&" یافت نشد") end If End Sub Sub EditText1_TextChanged (Old As String, New As String) 'وقتی متن تغییر کرد kalame_search=EditText1.Text If kalame_search="" Then kalame_search=" " search End Sub اینم لینک سورس کامل وآماده اون : سورس رنگی کردن متن مورد نظر در جستجو ممنونم دوست عزیز . لطف کردی خیلی بدرد بخوره . ولی من سرچ نمیخواستم . من یه متن دارم فقط میخوام برخی کلمات خاص توی این متن رنگی باشن . ادیت تکست و ... نمیخوام. ممثال میخوام هر چی کلمه "صلوات" هست سبز باشن . لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
نورنما 613 ارسال شده در 19 اسفند، ۱۳۹۶ اشتراک گذاری ارسال شده در 19 اسفند، ۱۳۹۶ در 20 ساعت قبل، mahfelsoft گفته است : ممنونم دوست عزیز . لطف کردی خیلی بدرد بخوره . ولی من سرچ نمیخواستم . من یه متن دارم فقط میخوام برخی کلمات خاص توی این متن رنگی باشن . ادیت تکست و ... نمیخوام. ممثال میخوام هر چی کلمه "صلوات" هست سبز باشن . سلامت باشید این سورس صرفا جهت پاسخ به شما نیست ، بلکه علاوه بر حل مشکل شما ، سعی شده تا سایر مشکلاتی معمولا سایر دوستان انجمن به آن دچار می شوند نیز پاسخ داده شود، وبایک تیر چند نشان زده ایم! ضمنا دقت بفرمایید: اگر ادیت تکست ها رو کلاپاک کنید و به عدد (10) نظر کنید می بینید که همه ی این (10) ها را داخل متن پیدا و رنگی میکند! لذا مشکل شما هم جواب داده شده بود، ولی باز بخاطر اینکه حرف شما زمین نیافتد باز نمونه کدی بدون ادیت تکست و سرچ رو در پایین خدمتتان ارسال میکنم . مثلا دراین خط هر کلمه (محمد) که در متن اصلی هست را پیدا ورنگی میکند . امیدوارم دیگه سوالی دراین مورد وجودنداشته باشد! روش استفاده ازش هم اینطوره : search("kalame","کل متن ") search("محمد","In The Name of GOD بار صلوات بفرستید 10 اللهم صل علی محمد وآل محمد ") کدهاتونو بصورت زیر تغییرش بدهید #Region Project Attributes #ApplicationLabel: B4A Example #VersionCode: 1 #VersionName: 'SupportedOrientations possible values: unspecified, landscape or portrait. #SupportedOrientations: unspecified #CanInstallToExternalStorage: False #End Region #Region Activity Attributes #FullScreen: False #IncludeTitle: True #End Region Sub process_Globals End Sub Sub Globals 'These global variables will be redeclared each time the activity is created. 'These variables can only be accessed from this module. Dim color_kalame As String Private Label1 As Label Dim cs As CSBuilder Dim text_me As String End Sub Sub Activity_Create(FirstTime As Boolean) 'Do not forget to load the layout file created with the visual designer. For example: Activity.LoadLayout("Layout1") search("محمد","In The Name of GOD بار صلوات بفرستید 10 اللهم صل علی محمد وآل محمد ") Label1.Text = cs End Sub Sub search(kalame_search As String,matn As String ) If kalame_search="" Then kalame_search=" " cs.Initialize.Color(Colors.Blue) Dim MatchEmail2 As Matcher = Regex.Matcher(kalame_search, matn) cs.Initialize cs.Color(Colors.Red) Dim regex_matn() As String If MatchEmail2.Find = True Then Log("کلمه"&kalame_search&" یافت شد") regex_matn = Regex.split(kalame_search,matn) color_kalame=Colors.red For searchh = 0 To (regex_matn.Length-1) cs.Append(regex_matn(searchh)).Color(Colors.Blue).PopAll color_kalame= Colors.RGB(Rnd(0,255),Rnd(0,255),Rnd(0,255)) If searchh<>(regex_matn.Length-1) Then cs.Color(Colors.Red) cs.Bold.Color(color_kalame).Append(kalame_search).Pop.Pop Else End If Next Else ToastMessageShow("کلمه"&kalame_search&" یافت نشد",False) end If End Sub لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
mahfelsoft 130 ارسال شده در 19 اسفند، ۱۳۹۶ اشتراک گذاری ارسال شده در 19 اسفند، ۱۳۹۶ در 4 ساعت قبل، نورنما گفته است : سلامت باشید این سورس صرفا جهت پاسخ به شما نیست ، بلکه علاوه بر حل مشکل شما ، سعی شده تا سایر مشکلاتی معمولا سایر دوستان انجمن به آن دچار می شوند نیز پاسخ داده شود، وبایک تیر چند نشان زده ایم! ضمنا دقت بفرمایید: اگر ادیت تکست ها رو کلاپاک کنید و به عدد (10) نظر کنید می بینید که همه ی این (10) ها را داخل متن پیدا و رنگی میکند! لذا مشکل شما هم جواب داده شده بود، ولی باز بخاطر اینکه حرف شما زمین نیافتد باز نمونه کدی بدون ادیت تکست و سرچ رو در پایین خدمتتان ارسال میکنم . مثلا دراین خط هر کلمه (محمد) که در متن اصلی هست را پیدا ورنگی میکند . امیدوارم دیگه سوالی دراین مورد وجودنداشته باشد! روش استفاده ازش هم اینطوره : search("kalame","کل متن ") search("محمد","In The Name of GOD بار صلوات بفرستید 10 اللهم صل علی محمد وآل محمد ") کدهاتونو بصورت زیر تغییرش بدهید #Region Project Attributes #ApplicationLabel: B4A Example #VersionCode: 1 #VersionName: 'SupportedOrientations possible values: unspecified, landscape or portrait. #SupportedOrientations: unspecified #CanInstallToExternalStorage: False #End Region #Region Activity Attributes #FullScreen: False #IncludeTitle: True #End Region Sub process_Globals End Sub Sub Globals 'These global variables will be redeclared each time the activity is created. 'These variables can only be accessed from this module. Dim color_kalame As String Private Label1 As Label Dim cs As CSBuilder Dim text_me As String End Sub Sub Activity_Create(FirstTime As Boolean) 'Do not forget to load the layout file created with the visual designer. For example: Activity.LoadLayout("Layout1") search("محمد","In The Name of GOD بار صلوات بفرستید 10 اللهم صل علی محمد وآل محمد ") Label1.Text = cs End Sub Sub search(kalame_search As String,matn As String ) If kalame_search="" Then kalame_search=" " cs.Initialize.Color(Colors.Blue) Dim MatchEmail2 As Matcher = Regex.Matcher(kalame_search, matn) cs.Initialize cs.Color(Colors.Red) Dim regex_matn() As String If MatchEmail2.Find = True Then Log("کلمه"&kalame_search&" یافت شد") regex_matn = Regex.split(kalame_search,matn) color_kalame=Colors.red For searchh = 0 To (regex_matn.Length-1) cs.Append(regex_matn(searchh)).Color(Colors.Blue).PopAll color_kalame= Colors.RGB(Rnd(0,255),Rnd(0,255),Rnd(0,255)) If searchh<>(regex_matn.Length-1) Then cs.Color(Colors.Red) cs.Bold.Color(color_kalame).Append(kalame_search).Pop.Pop Else End If Next Else ToastMessageShow("کلمه"&kalame_search&" یافت نشد",False) end If End Sub بله . مممنونم .نمیخواستم این نظر رو بنویسم . ولی چون نوشته بودم مجبور شدم ویرایش کنم لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
نورنما 613 ارسال شده در 19 اسفند، ۱۳۹۶ اشتراک گذاری ارسال شده در 19 اسفند، ۱۳۹۶ خب مشخصه ، چندتا دستور color بیشتر نیست که حتما باید با دستور تغییر رنگ دربیسیک آشنا بوده باشید! این سطر رو به رنگ دلخواه تغییرش بدین ، چون رنگ متن رو قرمز red داده ام ،کد رنگ کلمات رو من سبز معرفی کردم بجای رنگ رندوم در سطر زیر : color_kalame= Colors.RGB(Rnd(0,255),Rnd(0,255),Rnd(0,255)) این سطر رو که برای رنگ سبز هست جایگزین کنید : Green=سبز color_kalame= Colors.Green یا کلا کدهاتون رو به این تغییر بدین که مثل اولین پستی که زده بودید و رنگ متن رو مشکی کردم و رنگ کلمه مورد نظر رو قرمز کردم ! #Region Project Attributes #ApplicationLabel: B4A Example #VersionCode: 1 #VersionName: 'SupportedOrientations possible values: unspecified, landscape or portrait. #SupportedOrientations: unspecified #CanInstallToExternalStorage: False #End Region #Region Activity Attributes #FullScreen: False #IncludeTitle: True #End Region Sub process_Globals End Sub Sub Globals 'These global variables will be redeclared each time the activity is created. 'These variables can only be accessed from this module. Dim color_kalame As String Private Label1 As Label Dim cs As CSBuilder Dim text_me As String End Sub Sub Activity_Create(FirstTime As Boolean) 'Do not forget to load the layout file created with the visual designer. For example: Activity.LoadLayout("Layout1") search("محمد","In The Name of GOD بار صلوات بفرستید 10 اللهم صل علی محمد وآل محمد ") Label1.Text = cs Label1.Color=Colors.White End Sub Sub search(kalame_search As String,matn As String ) If kalame_search="" Then kalame_search=" " cs.Initialize.Color(Colors.Blue) Dim MatchEmail2 As Matcher = Regex.Matcher(kalame_search, matn) cs.Initialize cs.Color(Colors.Black) Dim regex_matn() As String If MatchEmail2.Find = True Then Log("کلمه"&kalame_search&" یافت شد") regex_matn = Regex.split(kalame_search,matn) color_kalame=Colors.Black For searchh = 0 To (regex_matn.Length-1) cs.Append(regex_matn(searchh)).Color(Colors.Blue).PopAll color_kalame= Colors.Red'RGB(Rnd(0,255),Rnd(0,255),Rnd(0,255)) If searchh<>(regex_matn.Length-1) Then cs.Color(Colors.Black) cs.Bold.Color(color_kalame).Append(kalame_search).Pop.Pop Else End If Next Else ToastMessageShow("کلمه"&kalame_search&" یافت نشد",False) end If End Sub اینم تصویر نتیجه کار که کلمه محمد رو از متن پیدا وقرمز کرده: لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
Alimoeini 0 ارسال شده در 28 مرداد، ۱۳۹۷ اشتراک گذاری ارسال شده در 28 مرداد، ۱۳۹۷ سلام دوستان من میخوام تو لیبلم هم از fontawesome استفاده کنم هم جلوش متن بنویسم اما میخوام نماد یا همون فونتم بیاد اول متنم اما چون فارسیه قاطی میکنه و میره بعد متنم. انگلیسی امتحان کردم درسته اما فارسی هر کار میکنم ایکونم بعد متنم قرار میگیره . راهنمایی لطفا لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
zibmoj 1 ارسال شده در 15 آذر، ۱۳۹۷ اشتراک گذاری ارسال شده در 15 آذر، ۱۳۹۷ در در 1396/10/26, 09:54:12، arastooms گفته است : Clickable textبرای ایجاد متن هایی که قابل کلیک باشن مثلا لینک بدید به سایت یا گروه یا ... Code: Sub Activity_Create(FirstTime As Boolean) Activity.LoadLayout("1") Dim cs As CSBuilder cs.Initialize.Size(30).Append("Some ").Append(CreateClickableWord("words")) cs.Append(" are ").Append(CreateClickableWord("clickable")).Append(".").PopAll Label1.Text = cs cs.EnableClickEvents(Label1) End Sub Sub CreateClickableWord(Text As String) As CSBuilder Dim cs As CSBuilder Return cs.Initialize.Underline.Color(0xFF00D0FF).Clickable("word", Text).Append(Text).PopAll End Sub Sub Word_Click (Tag As Object) Log($"You have clicked on word: ${Tag}"$) End Sub چطور وقتی رو متنی که Clickable هست کلیک شد رنگ اون قسمت از متن عوض بشه عوض بشه؟ چطور وقتی رو متنی که Clickable هست کلیک شد رنگ اون قسمت از متن عوض بشه عوض بشه؟ لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
ارسالهای توصیه شده
بایگانی شده
این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.