الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال عن كيفية جلب لون الخلفية للتكست

بدأه M.555 في 12 يونيو 2008 · 2 رد · 622 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

أخواني بارك الله فيكم لدي فورم به

Text1

و

Text2

وكتبت الكود التالي

Text2.Text = Text1.BackColor

النتيجة هي الرقم 192 على حسب اللون الذي أخترته

وانا أريد أن تكون النتيجة

&H000000C0&

يعني أريد نتيجة بالرموز وليست بالأرقام لكي تقبل في لغه Html

كما هو واضح في الصورة

post-130750-1213261233_thumb.png

وفقكم الله فيما يحب ويرضى

#2

السلام عليكم...

يجب تحويل الرقم (قيمة اللون) إلى النظام Hexadecimal باستعمال الدالة Hex مع معالجته قليلاً ليكون في عدد محدد من الخانات (إذا كنت ستستعمله مع HTML فسيكون في 6 خانات):

' دالة لإنشاء المقابل الستعشري للون - لأي رقم. إذا لم تحدد الطول فإن الطول الافتراضي هو 6 خانات:
Private Function GetHexColorValue(AColor As Long, Optional ALength As Long = 6) As String
	Dim Result As String

	Result = Hex(AColor)
	If Len(Result) < ALength Then
		GetHexColorValue = String(ALength - Len(Result), "0") & Result
	Else
		GetHexColorValue = Result
	End If
End Function

Private Sub Command1_Click()
	Text2.Text = "&H" & GetHexColorValue(Text1.BackColor) & "&"
	Text3.Text = "&H" & GetHexColorValue(Text1.BackColor, 10) & "&"
End Sub

لكن يجب الانتباه أنه لا يمكنك استعمال القيمة التي تعيدها الدالة GetHexColorValue في HTML مباشرة لأن HTML يستعمل قيم الألوان بطريقة عكسية، ففي لغات البرمجة تمثل الخانتان الأولى و الثانية من اليمين اللون الأحمر و الخانتان الأخيرتان من اليسار (الخامسة و السادسة) اللون الأزرق، أما HTML فيستعمل الخانتين الأولى و الثانية من اليسار لتمثيل اللون الأحمر و الخانتين الأخيرتين من اليمين لتمثيل اللون الأزرق.

الكود التالي يحتوي على دالة لتحويل اللون إلى نظام HTML، لكنه يحتاج إلى الدالة GetHexColorValue المذكورة أعلاه:

Private Function GetHTMLColorValue(AColor As Long) As String
	Dim Result As String
	Dim R As String, G As String, B As String

	Result = GetHexColorValue(AColor, 6)	' نحتاج إلى الدالة السابقة
	If Len(Result) > 6 Then Result = Right(Result, 6)
	R = Right(Result, 2)
	G = Mid(Result, 3, 2)
	B = Left(Result, 2)
	GetHTMLColorValue = "#" & R & G & B
End Function

Private Sub Command1_Click()
	Text3.Text = GetHTMLColorValue(Text1.BackColor)
End Sub

نرجو الاستفادة و السلام.

وَ قُلِ اعْمَلُوا فَسَيَرَى اللهُ عَمَلَكُمْ وَ رَسُولُهُ وَ الْمُؤْمِنُونَ

صدق الله العظيم

#3

أثابك الله أخي najy_zl

شرح كافي ووافي بارك الله فيك

نسأل الله يوفقك في دنياك وآخرتك وأن يبعد عنا وعنكم سوء العذاب وأن يشرح صدرك وييسر أمرك ويرزقك الذرية الصالحة

ألف شكر

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…