Автор Тема: [Математика] Перевод единиц скорости передачи информации  (Прочитано 2317 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн snoitaleR [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 854
  • Репутация: 223
  • Пол: Мужской
    • Награды
Данный скрипт предназначен для перевода одних единиц измерения скорости передачи информации в другие.

Код: AutoIt [Выделить]
; НАЧАЛО

 $O='бит|Килобит|Мегабит|Гигабит|Байт|КилоБайт|МегаБайт|ГигаБайт'
 $T='в секунду|в минуту|в час|в сутки|в неделю|в месяц|в год'
 Dim $AO[8]=[1,1024,1024*1024,1024*1024*1024,8,1024*8,1024*1024*8,1024*1024*1024*8]
 Dim $AT[7]=[1,60,60*60,60*60*24,60*60*24*7,60*60*24*30,60*60*24*365]

 $GUI=GUICreate('Скорость передачи информации',10+100+10+100+10+100+10+100+10,10+25+10+120+10-10)

 $IV=GUICtrlCreateInput('',10,10,100+10+100,25)
 $IO=GUICtrlCreateList('',10,10+25+10,100,120,0)
 $IT=GUICtrlCreateList('',10+100+10,10+25+10,100,120,0)

 $OV=GUICtrlCreateInput('',10+100+10+100+10,10,100+10+100,25,0x0800)
 $OO=GUICtrlCreateList('',10+100+10+100+10,10+25+10,100,120,0)
 $OT=GUICtrlCreateList('',10+100+10+100+10+100+10,10+25+10,100,120,0)

 GUICtrlSetData($IV,'1')
 GUICtrlSetData($IO,$O,'бит')
 GUICtrlSetData($IT,$T,'в секунду')

 GUICtrlSetData($OV,'1')
 GUICtrlSetData($OO,$O,'бит')
 GUICtrlSetData($OT,$T,'в секунду')

 GUISetState()

 $HIV=GUICtrlGetHandle($IV)

 GUIRegisterMsg(0x0111,'WM_COMMAND')

 While True
  Switch GUIGetMsg()
   Case -3
    ExitLoop
   Case $IO,$IT,$OO,$OT
    CALC()
  EndSwitch
 WEnd

 Func CALC()
  $IVV=GUICtrlRead($IV)
  $IOV=ControlCommand($GUI,'',$IO,'FindString',GUICtrlRead($IO))
  $ITV=ControlCommand($GUI,'',$IT,'FindString',GUICtrlRead($IT))
  $OOV=ControlCommand($GUI,'',$OO,'FindString',GUICtrlRead($OO))
  $OTV=ControlCommand($GUI,'',$OT,'FindString',GUICtrlRead($OT))
  GUICtrlSetData($OV,Floor($IVV*$AO[$IOV]*$AT[$OTV]/$AT[$ITV]/$AO[$OOV]))
 EndFunc

 Func WM_COMMAND($hWnd,$iMsg,$iwParam,$ilParam)
  Switch $ilParam
   Case $HIV
    Switch BitShift($iwParam,16)
     Case 0x300
      CALC()
     EndSwitch
  EndSwitch
  Return 'GUI_RUNDEFMSG'
 EndFunc

; КОНЕЦ
 

Главное в жизни человека - это отношение...

Русское сообщество AutoIt


 

Похожие темы

  Тема / Автор Ответов Последний ответ
5 Ответов
5740 Просмотров
Последний ответ Декабрь 26, 2009, 19:02:31
от Yashied
24 Ответов
9815 Просмотров
Последний ответ Февраль 14, 2010, 09:26:19
от Suppir
0 Ответов
5758 Просмотров
Последний ответ Сентябрь 06, 2010, 12:47:57
от amel27
17 Ответов
6623 Просмотров
Последний ответ Май 25, 2011, 18:59:33
от Yashied
0 Ответов
2567 Просмотров
Последний ответ Апрель 18, 2011, 22:24:44
от CreatoR
2 Ответов
2371 Просмотров
Последний ответ Июль 04, 2013, 14:33:52
от ArgoNaft
2 Ответов
1904 Просмотров
Последний ответ Ноябрь 26, 2013, 18:23:05
от AZJIO
0 Ответов
630 Просмотров
Последний ответ Сентябрь 11, 2014, 14:25:39
от madmasles
6 Ответов
1408 Просмотров
Последний ответ Март 23, 2015, 16:07:52
от СН3СН2ОН
1 Ответов
348 Просмотров
Последний ответ Май 13, 2018, 00:19:40
от ra4o