Программа для перевода из одной системы счисления в другую - VB (60938)

Узнай цену своей работы

Формулировка задачи:

Короче нуна прога чтобы переводить из одной системы счисления в другую системы 2,8,10,16 =) нужен исходник и желательно с рочно помогите блин icq 74447010 срочно

Решение задачи: «Программа для перевода из одной системы счисления в другую»

textual
Листинг программы
Option Explicit
'Text1 - исходное число
'Combo1 - система счисления исходного числа
'Text2 - результат
'Combo2 - система счисления результата
 
Const strSymb = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'
 
Private Sub Form_Load()
Dim i As Long
    For i = 1 To Len(strSymb)
        Me.Combo1.AddItem CStr(i)
        Me.Combo2.AddItem CStr(i)
    Next i
End Sub
Private Sub Command1_Click()
    Call Recalculation
End Sub
Private Sub Text1_Change()
    Call Recalculation
End Sub
 
Private Sub Recalculation()
Dim Osn1 As Long, Osn2 As Long
Dim Num As String
Dim i As Long, pos As Long, lngLen As Long
Dim arrTemp() As String
Dim ret As Long
Dim lngResid As Long
Dim strRet As String
 
    If Len(Me.Text1.Text) = 0 Or Len(Me.Combo1.Text) = 0 Or Len(Me.Combo2.Text) = 0 Then Exit Sub
    Osn1 = Me.Combo1.ListIndex + 1: Osn2 = Me.Combo2.ListIndex + 1
    Num = Me.Text1.Text
    
    'переводим исходное число в десятичную систему счисления
    lngLen = Len(Num)
    For i = 1 To lngLen
        strRet = Mid$(Num, i, 1)
        pos = InStr(strSymb, strRet) - 1
        ret = ret + (Osn1 ^ (lngLen - i)) * pos
    Next i
    Do While ret > Osn2 - 1
        lngResid = ret - (ret  Osn2) * Osn2
        strRet = lngResid & ';' & strRet
        ret = ret  Osn2
        DoEvents
    Loop
    strRet = ret & ';' & strRet
    arrTemp() = Split(strRet, ';')
    strRet = ''
    For i = 0 To UBound(arrTemp()) - 1
        strRet = strRet & Mid$(strSymb, Val(arrTemp(i)) + 1, 1)
        DoEvents
    Next i
    Me.Text2.Text = strRet
End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.714 из 5
Похожие ответы