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

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

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

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

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

textual
Листинг программы
  1. Option Explicit
  2. 'Text1 - исходное число
  3. 'Combo1 - система счисления исходного числа
  4. 'Text2 - результат
  5. 'Combo2 - система счисления результата
  6.  
  7. Const strSymb = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'
  8.  
  9. Private Sub Form_Load()
  10. Dim i As Long
  11.     For i = 1 To Len(strSymb)
  12.         Me.Combo1.AddItem CStr(i)
  13.         Me.Combo2.AddItem CStr(i)
  14.     Next i
  15. End Sub
  16. Private Sub Command1_Click()
  17.     Call Recalculation
  18. End Sub
  19. Private Sub Text1_Change()
  20.     Call Recalculation
  21. End Sub
  22.  
  23. Private Sub Recalculation()
  24. Dim Osn1 As Long, Osn2 As Long
  25. Dim Num As String
  26. Dim i As Long, pos As Long, lngLen As Long
  27. Dim arrTemp() As String
  28. Dim ret As Long
  29. Dim lngResid As Long
  30. Dim strRet As String
  31.  
  32.     If Len(Me.Text1.Text) = 0 Or Len(Me.Combo1.Text) = 0 Or Len(Me.Combo2.Text) = 0 Then Exit Sub
  33.     Osn1 = Me.Combo1.ListIndex + 1: Osn2 = Me.Combo2.ListIndex + 1
  34.     Num = Me.Text1.Text
  35.    
  36.     'переводим исходное число в десятичную систему счисления
  37.    lngLen = Len(Num)
  38.     For i = 1 To lngLen
  39.         strRet = Mid$(Num, i, 1)
  40.         pos = InStr(strSymb, strRet) - 1
  41.         ret = ret + (Osn1 ^ (lngLen - i)) * pos
  42.     Next i
  43.     Do While ret > Osn2 - 1
  44.         lngResid = ret - (ret  Osn2) * Osn2
  45.         strRet = lngResid & ';' & strRet
  46.        ret = ret  Osn2
  47.         DoEvents
  48.     Loop
  49.     strRet = ret & ';' & strRet
  50.    arrTemp() = Split(strRet, ';')
  51.    strRet = ''
  52.    For i = 0 To UBound(arrTemp()) - 1
  53.         strRet = strRet & Mid$(strSymb, Val(arrTemp(i)) + 1, 1)
  54.         DoEvents
  55.     Next i
  56.     Me.Text2.Text = strRet
  57. End Sub

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


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

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

14   голосов , оценка 3.714 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы