Программа для перевода из одной системы счисления в другую - 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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д