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