ارجو المساعدة فى هذا الكود - medo_ali972 - 24-12-22
السلام عليكم
طلب منى فى الكلية تصميم برنامج يحول من binary to decimal والعكس من decimal to binary ولكن بشروط ان نكتب الرقم الباينرى كل رقم فى تكست بوكس ونقوم بتحويله الى ديسميل والحمد لله قمت بعمل الكود ولكن المشكلة فى التحويل من ديسميل الى باينرى وكل رقم من الباينرى يكتب فى تكست بوكس
مرفق صور من البرنامج بعد الانتهاء من التحويل الدى ديسيميل والكود المطلوب العمل به والمطلوب التحويل من ديسميل الى بينارى بنفس الطريقة
ارجو المعذرة لانى لست محترف ولكنى مبتدأ فى التعلم
RE: ارجو المساعدة فى هذا الكود - Taha Okla - 24-12-22
وعليكم السلام ورحمة الله وبركاته :
كود :
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim strBinary As String = ToBinary(TextBox1.Text) ' هنا عوضها بناتج عملية التحويل من العشري إلى الثنائي
Dim iBinary As String = ""
Dim iLeft As Integer = 10
Dim iTop As Integer = 10
Dim f As Font = New Font("Arial", 12, FontStyle.Bold)
For i = 1 To Len(strBinary)
Dim t1 As New TextBox
t1.Left = iLeft
t1.Top = iTop
t1.Width = 25
t1.Font = f
t1.TextAlign = 2 ' 2 = Center
t1.Text = Mid(strBinary, i, 1)
Me.Controls.Add(t1)
iLeft += t1.Width ' نجعل اليسار يزداد بمقدار عرض التكست الواحد من أجل العنصر التالي
Next
End Sub
Private Function ToBinary(dec As Integer) As String
Dim bin As Integer
Dim output As String
While dec <> 0
If dec Mod 2 = 0 Then
bin = 0
Else
bin = 1
End If
dec = dec \ 2
output = Convert.ToString(bin) & output
End While
If output Is Nothing Then
Return "0"
Else
Return output
End If
End Function
RE: ارجو المساعدة فى هذا الكود - Taha Okla - 24-12-22
=================================
و يوجد كود في الدوت نت يحول مباشرة إلى باينري وهو :
كود :
Convert.ToString(dec, 2)
فيصبح الكود أعلاه كـ التالي :
كود :
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim strBinary As String = Convert.ToString(Long.Parse(TextBox1.Text), 2) ' هنا عوضها بناتج عملية التحويل من العشري إلى الثنائي
Dim iBinary As String = ""
Dim iLeft As Integer = 10
Dim iTop As Integer = 10
Dim f As Font = New Font("Arial", 12, FontStyle.Bold)
For i = 1 To Len(strBinary)
Dim t1 As New TextBox
t1.Left = iLeft
t1.Top = iTop
t1.Width = 25
t1.Font = f
t1.TextAlign = 2 ' 2 = Center
t1.Text = Mid(strBinary, i, 1)
Me.Controls.Add(t1)
iLeft += t1.Width ' نجعل اليسار يزداد بمقدار عرض التكست الواحد من أجل العنصر التالي
Next
End Sub
RE: ارجو المساعدة فى هذا الكود - medo_ali972 - 24-12-22
الف شكر جارى التجربة
الف شكر اخى
RE: ارجو المساعدة فى هذا الكود - medo_ali972 - 24-12-22
عند تجربة الكود ظهر بهذه الطريقة فى اعلى يسار
كنت محتاج الارقام الناتجة تظهر فى التكست بوكس اللى تحت
RE: ارجو المساعدة فى هذا الكود - gho - 24-12-22
(24-12-22, 01:17 PM)medo_ali972 كتب : السلام عليكم
طلب منى فى الكلية تصميم برنامج يحول من binary to decimal والعكس من decimal to binary ولكن بشروط ان نكتب الرقم الباينرى كل رقم فى تكست بوكس ونقوم بتحويله الى ديسميل والحمد لله قمت بعمل الكود ولكن المشكلة فى التحويل من ديسميل الى باينرى وكل رقم من الباينرى يكتب فى تكست بوكس
مرفق صور من البرنامج بعد الانتهاء من التحويل الدى ديسيميل والكود المطلوب العمل به والمطلوب التحويل من ديسميل الى بينارى بنفس الطريقة
ارجو المعذرة لانى لست محترف ولكنى مبتدأ فى التعلم
RE: ارجو المساعدة فى هذا الكود - asmarsou - 24-12-22
(24-12-22, 10:02 PM)gho كتب : (24-12-22, 01:17 PM)medo_ali972 كتب : السلام عليكم
طلب منى فى الكلية تصميم برنامج يحول من binary to decimal والعكس من decimal to binary ولكن بشروط ان نكتب الرقم الباينرى كل رقم فى تكست بوكس ونقوم بتحويله الى ديسميل والحمد لله قمت بعمل الكود ولكن المشكلة فى التحويل من ديسميل الى باينرى وكل رقم من الباينرى يكتب فى تكست بوكس
مرفق صور من البرنامج بعد الانتهاء من التحويل الدى ديسيميل والكود المطلوب العمل به والمطلوب التحويل من ديسميل الى بينارى بنفس الطريقة
ارجو المعذرة لانى لست محترف ولكنى مبتدأ فى التعلم
تفضل عدل في المثال التالي بما لديك من معطيات
PHP كود :
Public Class Form1 Dim a, b, c, d, m, f, g, h, num As Integer 'للتحويل من البيناري الى الديسيمل Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click a = TextBox1.Text b = TextBox2.Text c = TextBox3.Text d = TextBox4.Text m = TextBox5.Text f = TextBox6.Text g = TextBox7.Text h = TextBox8.Text num = a * 128 + b * 64 + c * 32 + d * 16 + m * 8 + f * 4 + g * 2 + h * 1 TextBox9.Text = num End Sub 'للتحويل من الديسيمل الى البيناري Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click Dim Dec As Integer = TextBox9.Text Dim result As String = Nothing result = Convert.ToString(Dec, 2) TextBox1.Text = result.Substring(0, 1) TextBox2.Text = result.Substring(1, 1) TextBox3.Text = result.Substring(2, 1) TextBox4.Text = result.Substring(3, 1) TextBox5.Text = result.Substring(4, 1) TextBox6.Text = result.Substring(5, 1) TextBox7.Text = result.Substring(6, 1) TextBox8.Text = result.Substring(7, 1) End Sub 'لمسح جميع التكست بوكس Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click For Each t As Control In Me.Controls If TypeOf t Is TextBox Then t.Text = Nothing End If Next End Sub ' للخروج Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click Me.Close() End Sub End Class
RE: ارجو المساعدة فى هذا الكود - medo_ali972 - 24-12-22
للاسف يا اخي مظبطش معايا ودى النتيجة
للاسف يا اخي مظبطش معايا ودى النتيجة
RE: ارجو المساعدة فى هذا الكود - medo_ali972 - 25-12-22
(24-12-22, 10:24 PM)asmarsou كتب : (24-12-22, 10:02 PM)gho كتب : (24-12-22, 01:17 PM)medo_ali972 كتب : السلام عليكم
طلب منى فى الكلية تصميم برنامج يحول من binary to decimal والعكس من decimal to binary ولكن بشروط ان نكتب الرقم الباينرى كل رقم فى تكست بوكس ونقوم بتحويله الى ديسميل والحمد لله قمت بعمل الكود ولكن المشكلة فى التحويل من ديسميل الى باينرى وكل رقم من الباينرى يكتب فى تكست بوكس
مرفق صور من البرنامج بعد الانتهاء من التحويل الدى ديسيميل والكود المطلوب العمل به والمطلوب التحويل من ديسميل الى بينارى بنفس الطريقة
ارجو المعذرة لانى لست محترف ولكنى مبتدأ فى التعلم
تفضل عدل في المثال التالي بما لديك من معطيات
PHP كود :
Public Class Form1 Dim a, b, c, d, m, f, g, h, num As Integer 'للتحويل من البيناري الى الديسيمل Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click a = TextBox1.Text b = TextBox2.Text c = TextBox3.Text d = TextBox4.Text m = TextBox5.Text f = TextBox6.Text g = TextBox7.Text h = TextBox8.Text num = a * 128 + b * 64 + c * 32 + d * 16 + m * 8 + f * 4 + g * 2 + h * 1 TextBox9.Text = num End Sub 'للتحويل من الديسيمل الى البيناري Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click Dim Dec As Integer = TextBox9.Text Dim result As String = Nothing result = Convert.ToString(Dec, 2) TextBox1.Text = result.Substring(0, 1) TextBox2.Text = result.Substring(1, 1) TextBox3.Text = result.Substring(2, 1) TextBox4.Text = result.Substring(3, 1) TextBox5.Text = result.Substring(4, 1) TextBox6.Text = result.Substring(5, 1) TextBox7.Text = result.Substring(6, 1) TextBox8.Text = result.Substring(7, 1) End Sub 'لمسح جميع التكست بوكس Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click For Each t As Control In Me.Controls If TypeOf t Is TextBox Then t.Text = Nothing End If Next End Sub ' للخروج Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click Me.Close() End Sub End Class
الف شكر يا استاذنا وجزاك الله خيرا الكود اشتغل تمام بس فى مشكلة بسيطة عند اضافة رقم مثل 13 فى الديسميل وتحويله الى باينرى يظهر خطأ فى السطر الخامس لان رقم 13 عند تحويله يصبح 1011 فبتالى التكست بوكس 5 تصبح فارغة لهذا يظهر الخطأ اما مع الارقام الكبيرة تمام
RE: ارجو المساعدة فى هذا الكود - asmarsou - 26-12-22
(25-12-22, 12:49 PM)medo_ali972 كتب : (24-12-22, 10:24 PM)asmarsou كتب : (24-12-22, 10:02 PM)gho كتب : (24-12-22, 01:17 PM)medo_ali972 كتب : السلام عليكم
طلب منى فى الكلية تصميم برنامج يحول من binary to decimal والعكس من decimal to binary ولكن بشروط ان نكتب الرقم الباينرى كل رقم فى تكست بوكس ونقوم بتحويله الى ديسميل والحمد لله قمت بعمل الكود ولكن المشكلة فى التحويل من ديسميل الى باينرى وكل رقم من الباينرى يكتب فى تكست بوكس
مرفق صور من البرنامج بعد الانتهاء من التحويل الدى ديسيميل والكود المطلوب العمل به والمطلوب التحويل من ديسميل الى بينارى بنفس الطريقة
ارجو المعذرة لانى لست محترف ولكنى مبتدأ فى التعلم
تفضل عدل في المثال التالي بما لديك من معطيات
PHP كود :
Public Class Form1 Dim a, b, c, d, m, f, g, h, num As Integer 'للتحويل من البيناري الى الديسيمل Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click a = TextBox1.Text b = TextBox2.Text c = TextBox3.Text d = TextBox4.Text m = TextBox5.Text f = TextBox6.Text g = TextBox7.Text h = TextBox8.Text num = a * 128 + b * 64 + c * 32 + d * 16 + m * 8 + f * 4 + g * 2 + h * 1 TextBox9.Text = num End Sub 'للتحويل من الديسيمل الى البيناري Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click Dim Dec As Integer = TextBox9.Text Dim result As String = Nothing result = Convert.ToString(Dec, 2) TextBox1.Text = result.Substring(0, 1) TextBox2.Text = result.Substring(1, 1) TextBox3.Text = result.Substring(2, 1) TextBox4.Text = result.Substring(3, 1) TextBox5.Text = result.Substring(4, 1) TextBox6.Text = result.Substring(5, 1) TextBox7.Text = result.Substring(6, 1) TextBox8.Text = result.Substring(7, 1) End Sub 'لمسح جميع التكست بوكس Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click For Each t As Control In Me.Controls If TypeOf t Is TextBox Then t.Text = Nothing End If Next End Sub ' للخروج Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click Me.Close() End Sub End Class
الف شكر يا استاذنا وجزاك الله خيرا الكود اشتغل تمام بس فى مشكلة بسيطة عند اضافة رقم مثل 13 فى الديسميل وتحويله الى باينرى يظهر خطأ فى السطر الخامس لان رقم 13 عند تحويله يصبح 1011 فبتالى التكست بوكس 5 تصبح فارغة لهذا يظهر الخطأ اما مع الارقام الكبيرة تمام
العفو اخي الكريم ... اما بالنسبة لتلك المشكلة فقط حاولت مرارا و تكرار ايجاد حل لكن للاسف لم اتمكن من ايجاد صيغة مناسبة ...لذلك عليك بالحل الذي قدمه الاخ Gho مشكور على ما جاد به فهو يفي بالغرض و زيادة
|