arastooms 1,046 ارسال شده در 17 تیر، ۱۳۹۶ اشتراک گذاری ارسال شده در 17 تیر، ۱۳۹۶ سلام دوستان من از هاست به برنامه یک مقدار رنگ رو میفرستم که میخام در برنامه بگیرم و استفاده کنم ولی با اررور مواجه میشم من با جیسون مقدار رو میفرستم color1: #FFFF00 در برنامه میام با map کلید color1 رو میدم و مقدار #FFFF00 میدم به یه استرینگ و حالا که میام استفاده کنم خطا میده مثلا رنگ یک لیبل رو عوض کنم فکر میکنم چون رنگ از نوع int هست و نمیشه ممنون میشم راهنمایی بفرمایید لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
پژمان نیکروان 6,055 ارسال شده در 17 تیر، ۱۳۹۶ اشتراک گذاری ارسال شده در 17 تیر، ۱۳۹۶ در 10 ساعت قبل، arastooms گفته است : color1: #FFFF00 این کد هگزا دسیمال رنگ هست که اصلا بیسیک نمیشناستش. باید تبدیل بشه به دسیمال، به این صورت که اولش بجای # بذارید 0x: Dim color1 As String="#FFFF00" 'مثلا رنگی که از سرور دریافت میشه' color1=color1.Replace("#","0x") 'تبدیل' label1.color=color1 لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
arastooms 1,046 ارسال شده در 17 تیر، ۱۳۹۶ سازنده اشتراک گذاری ارسال شده در 17 تیر، ۱۳۹۶ در 30 دقیقه قبل، پژمان نیکروان گفته است : این کد هگزا دسیمال رنگ هست که اصلا بیسیک نمیشناستش. باید تبدیل بشه به دسیمال، به این صورت که اولش بجای # بذارید 0x: Dim color1 As String="#FFFF00" 'مثلا رنگی که از سرور دریافت میشه' color1=color1.Replace("#","0x") 'تبدیل' label1.color=color1 سلام و درود پژمان جان سپاس از راهنمایی خوبت من مشکلی در ارسال رنگ ندارم و میتونم به هر صورتی این رنگ رو ارسال کنم مثلا الان ارسال کردم 0xffff00 و در برنامه دریافت کردم ولی این مقدار رو میدم به لیبل خطا میده چون رنگ مقدار int میگیره و این یک مقدار استرینگ هست به نظرم لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
mobah 132 ارسال شده در 17 تیر، ۱۳۹۶ اشتراک گذاری ارسال شده در 17 تیر، ۱۳۹۶ هگز صحیح 8 رقمی هست 0xFFFFFF00 یعنی میشه اینجوری Label1.Color = 0xFFFFFF00 شما باید به این صورت کد را تبدیل کنید. Dim color1 As String="#FFFF00" 'مثلا رنگی که از سرور دریافت میشه' color1=color1.Replace("#","0xFF") 'تبدیل' ToastMessageShow(color1,False) الان می توانید کد را در ToastMessage ببینید. ولی فکر نکنم راهی باشه که بشه String را Label1.color داد , چون قبول نمیکنه. بعید میدونم با استرینگ بشه همچین کاری کرد. ولی یک پیشنهاد هم دارم : شما بیا یک سری رنگ خودت انتخاب کن و برای لیبل قرار بده و از استرینگ هم استفاده کن یک رقمی از سرور بگیر و براش شرط بزار مثلا از سرور range2 رو بگیره یک رنگ بشه و range1 رو بگیره یک رنگ دیگه!!! Dim color1 As String="range2" 'مثلا متنی از سرور دریافت میشه' If color1 = "range1" Then Label1.Color = 0xFFFFFF00 Else If color1 = "range2" Then Label1.Color = 0xFF822282 Else Label1.Color = Colors.Red End If این عالیه نظر شما چیه؟ لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
arastooms 1,046 ارسال شده در 17 تیر، ۱۳۹۶ سازنده اشتراک گذاری ارسال شده در 17 تیر، ۱۳۹۶ در 2 ساعت قبل، mobah گفته است : هگز صحیح 8 رقمی هست 0xFFFFFF00 یعنی میشه اینجوری Label1.Color = 0xFFFFFF00 شما باید به این صورت کد را تبدیل کنید. Dim color1 As String="#FFFF00" 'مثلا رنگی که از سرور دریافت میشه' color1=color1.Replace("#","0xFF") 'تبدیل' ToastMessageShow(color1,False) الان می توانید کد را در ToastMessage ببینید. ولی فکر نکنم راهی باشه که بشه String را Label1.color داد , چون قبول نمیکنه. بعید میدونم با استرینگ بشه همچین کاری کرد. ولی یک پیشنهاد هم دارم : شما بیا یک سری رنگ خودت انتخاب کن و برای لیبل قرار بده و از استرینگ هم استفاده کن یک رقمی از سرور بگیر و براش شرط بزار مثلا از سرور range2 رو بگیره یک رنگ بشه و range1 رو بگیره یک رنگ دیگه!!! Dim color1 As String="range2" 'مثلا متنی از سرور دریافت میشه' If color1 = "range1" Then Label1.Color = 0xFFFFFF00 Else If color1 = "range2" Then Label1.Color = 0xFF822282 Else Label1.Color = Colors.Red End If این عالیه نظر شما چیه؟ سلام مرسی از راهنمایی این ساب رو نوشتم که میاد رنگ رو میگیره هم rgb هم argb و تبدیل میکنه به رنگ و به خوبی کار میکنه امید وارم به کار شما هم بیاد و بتونید استفاده کنید Sub GetColor(hex As String) As Double Try 'اگر به هر دلیل خطا داد محو میکنه و میاد ترانسپرنت برمیگردونه ' حروف بزرگ و کوچک در ارسال مهم نیست 'این مقدار رنگی که از هاست رسیده رو برمیگردونه به رنگ حتما باید به صورت زیر ارسال بشه '#E3E2E1 'Log(hex.SubString2(1,3)) 'اینجا میایم همه حروف رو بزرگ میکنیم که خطا ایجاد نشه hex=hex.ToUpperCase If hex.Length = 7 Then Dim r,g,b As Int r = Bit.ParseInt(hex.SubString2(1,3), 16) g = Bit.ParseInt(hex.SubString2(3,5), 16) b = Bit.ParseInt(hex.SubString2(5,7), 16) Return Colors.RGB(r,g,b) 'این برای محو کردن هست Else If hex.Length = 9 Then Dim a,r,g,b As Int a = Bit.ParseInt(hex.SubString2(1,3), 16) r = Bit.ParseInt(hex.SubString2(3,5), 16) g = Bit.ParseInt(hex.SubString2(5,7), 16) b = Bit.ParseInt(hex.SubString2(7,9), 16) Return Colors.ARGB(a,r,g,b) Else ' اگر تعداد رسیده ارقامش استاندارد نباشه بی رنگ میفرستیم Return Colors.Transparent End If Catch ' اگر به هر دلیلی خطا بده میاد و ترانسپرنت برمیگردونه Log(LastException) Return Colors.Transparent End Try End Sub لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
سوال
arastooms 1,046
سلام دوستان
من از هاست به برنامه یک مقدار رنگ رو میفرستم که میخام در برنامه بگیرم و استفاده کنم
ولی با اررور مواجه میشم
من با جیسون مقدار رو میفرستم
color1: #FFFF00
در برنامه میام با map کلید color1 رو میدم و مقدار #FFFF00 میدم به یه استرینگ
و حالا که میام استفاده کنم خطا میده
مثلا رنگ یک لیبل رو عوض کنم فکر میکنم چون رنگ از نوع int هست و نمیشه
ممنون میشم راهنمایی بفرمایید
لینک ارسال
به اشتراک گذاری در سایت های دیگر
4 پاسخ به این سوال تاکنون داده شده است
ارسالهای توصیه شده
بایگانی شده
این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.