منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : ارجو المساعدة فى هذا الكود
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
السلام عليكم
طلب منى فى الكلية تصميم برنامج يحول من binary to decimal والعكس من decimal to binary ولكن بشروط ان نكتب الرقم الباينرى كل رقم فى تكست بوكس ونقوم بتحويله الى ديسميل والحمد لله قمت بعمل الكود ولكن المشكلة فى التحويل من ديسميل الى باينرى وكل رقم من الباينرى يكتب فى تكست بوكس
مرفق صور من البرنامج بعد الانتهاء من التحويل الدى ديسيميل والكود المطلوب العمل به  والمطلوب التحويل من ديسميل الى بينارى بنفس الطريقة 
ارجو المعذرة لانى لست محترف ولكنى مبتدأ فى التعلم
وعليكم السلام ورحمة الله وبركاته :

كود :
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
=================================

و يوجد كود في الدوت نت يحول مباشرة إلى باينري وهو :

كود :
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
الف شكر جارى التجربة

الف شكر اخى
عند تجربة الكود ظهر بهذه الطريقة فى اعلى يسار


كنت محتاج الارقام الناتجة تظهر فى التكست بوكس اللى تحت
(24-12-22, 01:17 PM)medo_ali972 كتب : [ -> ]
السلام عليكم
طلب منى فى الكلية تصميم برنامج يحول من binary to decimal والعكس من decimal to binary ولكن بشروط ان نكتب الرقم الباينرى كل رقم فى تكست بوكس ونقوم بتحويله الى ديسميل والحمد لله قمت بعمل الكود ولكن المشكلة فى التحويل من ديسميل الى باينرى وكل رقم من الباينرى يكتب فى تكست بوكس
مرفق صور من البرنامج بعد الانتهاء من التحويل الدى ديسيميل والكود المطلوب العمل به  والمطلوب التحويل من ديسميل الى بينارى بنفس الطريقة 
ارجو المعذرة لانى لست محترف ولكنى مبتدأ فى التعلم

(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
bcdmfghnum 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 ObjectAs EventArgsHandles Button3.Click
        Dim Dec 
As Integer TextBox9.Text
        Dim result 
As String Nothing
        result 
Convert.ToString(Dec2)
 
       TextBox1.Text result.Substring(01)
 
       TextBox2.Text result.Substring(11)
 
       TextBox3.Text result.Substring(21)
 
       TextBox4.Text result.Substring(31)
 
       TextBox5.Text result.Substring(41)
 
       TextBox6.Text result.Substring(51)
 
       TextBox7.Text result.Substring(61)
 
       TextBox8.Text result.Substring(71)
 
   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 ObjectAs EventArgsHandles Button4.Click
        Me
.Close()
 
   End Sub
End 
Class 
للاسف يا اخي مظبطش معايا ودى النتيجة

للاسف يا اخي مظبطش معايا ودى النتيجة
(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
bcdmfghnum 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 ObjectAs EventArgsHandles Button3.Click
        Dim Dec 
As Integer TextBox9.Text
        Dim result 
As String Nothing
        result 
Convert.ToString(Dec2)
 
       TextBox1.Text result.Substring(01)
 
       TextBox2.Text result.Substring(11)
 
       TextBox3.Text result.Substring(21)
 
       TextBox4.Text result.Substring(31)
 
       TextBox5.Text result.Substring(41)
 
       TextBox6.Text result.Substring(51)
 
       TextBox7.Text result.Substring(61)
 
       TextBox8.Text result.Substring(71)
 
   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 ObjectAs EventArgsHandles Button4.Click
        Me
.Close()
 
   End Sub
End 
Class 
الف شكر يا استاذنا وجزاك الله خيرا الكود اشتغل تمام بس فى مشكلة بسيطة عند اضافة رقم مثل 13 فى الديسميل وتحويله الى باينرى يظهر خطأ فى السطر الخامس لان رقم 13 عند تحويله يصبح 1011 فبتالى التكست بوكس 5 تصبح فارغة لهذا يظهر الخطأ اما مع الارقام الكبيرة تمام
(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
bcdmfghnum 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 ObjectAs EventArgsHandles Button3.Click
        Dim Dec 
As Integer TextBox9.Text
        Dim result 
As String Nothing
        result 
Convert.ToString(Dec2)
 
       TextBox1.Text result.Substring(01)
 
       TextBox2.Text result.Substring(11)
 
       TextBox3.Text result.Substring(21)
 
       TextBox4.Text result.Substring(31)
 
       TextBox5.Text result.Substring(41)
 
       TextBox6.Text result.Substring(51)
 
       TextBox7.Text result.Substring(61)
 
       TextBox8.Text result.Substring(71)
 
   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 ObjectAs EventArgsHandles Button4.Click
        Me
.Close()
 
   End Sub
End 
Class 
الف شكر يا استاذنا وجزاك الله خيرا الكود اشتغل تمام بس فى مشكلة بسيطة عند اضافة رقم مثل 13 فى الديسميل وتحويله الى باينرى يظهر خطأ فى السطر الخامس لان رقم 13 عند تحويله يصبح 1011 فبتالى التكست بوكس 5 تصبح فارغة لهذا يظهر الخطأ اما مع الارقام الكبيرة تمام
 العفو اخي الكريم ... اما بالنسبة لتلك المشكلة فقط حاولت مرارا و تكرار ايجاد حل لكن للاسف لم اتمكن من ايجاد صيغة مناسبة ...لذلك عليك بالحل الذي قدمه الاخ Gho مشكور على ما جاد به فهو يفي بالغرض و زيادة
الصفحات : 1 2