Как разобрать время (месяц/дата/год) в Microsoft QBasic, необходимое для тестирования.Как разбирать время в годах в QBasic
s = 'PT1H28M26S'
Я хотел бы получить:
num_mins = 88
Как разобрать время (месяц/дата/год) в Microsoft QBasic, необходимое для тестирования.Как разбирать время в годах в QBasic
s = 'PT1H28M26S'
Я хотел бы получить:
num_mins = 88
Вы можете разобрать такую строку времени с кодом ниже, но реальный вопрос:
Кто еще использует QBasic в 2015 году !?
CLS
s$ = "PT1H28M26S"
' find the key characters in string
posP = INSTR(s$, "PT")
posH = INSTR(s$, "H")
posM = INSTR(s$, "M")
posS = INSTR(s$, "S")
' if one of values is zero, multiplying all will be zero
IF ((posP * posH * posM * posS) = 0) THEN
' one or more key characters are missing
nummins = -1
numsecs = -1
ELSE
' get values as string
sHour$ = MID$(s$, posP + 2, (posH - posP - 2))
sMin$ = MID$(s$, posH + 1, (posM - posH - 1))
sSec$ = MID$(s$, posM + 1, (posS - posM - 1))
' string to integer, so we can calculate
iHour = VAL(sHour$)
iMin = VAL(sMin$)
iSec = VAL(sSec$)
' calculate totals
nummins = (iHour * 60) + iMin
numsecs = (iHour * 60 * 60) + (iMin * 60) + iSec
END IF
' display results
PRINT "Number of minutes: "; nummins
PRINT "Number of seconds: "; numsecs
PRINT "QBasic in 2015! w00t?!"
Simpler способ захватить минут из строки в QBasic
REM Simpler way to grab minutes from string in qbasic
S$ = "PT1H28M26S"
S$ = MID$(S$, 3) ' 1H28M26S
V = INSTR(S$, "H") ' position
H = VAL(LEFT$(S$, V - 1)) ' hours
S$ = MID$(S$, V + 1) ' 28M26S
V = INSTR(S$, "M") ' position
M = VAL(LEFT$(S$, V - 1)) ' minutes
PRINT "num_mins ="; H * 60 + M
Вы правы; QBasic * определенно * имеет мотыльки. – bzlm
Вы думаете, что у вас есть мотыльки? У нас есть скрипичные крысы! – eoredson