Add tasks for all the new languages
This commit is contained in:
parent
9dc3c2bb62
commit
bba7bfd280
13208 changed files with 134745 additions and 0 deletions
|
|
@ -0,0 +1,67 @@
|
|||
function VLQtoWholeNum theHexVLQ
|
||||
-- The number must be an integer between zero and 4,294,967,295
|
||||
put baseConvert(theHexVLQ,16,2) into theBits
|
||||
put 0 into bitCounter
|
||||
put empty into the8bitBytes
|
||||
repeat
|
||||
if char 1 of theBits is not empty then
|
||||
put char 1 theBits after the8bitBytes
|
||||
delete char 1 of theBits
|
||||
if theBits is empty then exit repeat
|
||||
add 1 to bitCounter
|
||||
if bitCounter=8 then
|
||||
put "," after the8bitBytes
|
||||
put 0 into bitCounter
|
||||
next repeat
|
||||
end if
|
||||
else
|
||||
exit repeat
|
||||
end if
|
||||
end repeat
|
||||
put the number of items in the8bitBytes into y
|
||||
repeat with x = 1 to y
|
||||
put char 1 of item x of the8bitBytes into lengthCntrlBit
|
||||
delete char 1 of item x of the8bitBytes
|
||||
if the number of chars in item x of the8bitBytes < 7 then
|
||||
repeat 7 - (the number of chars in item x of the8bitBytes)
|
||||
put "0" before item x of the8bitBytes
|
||||
end repeat
|
||||
end if
|
||||
put item x of the8bitBytes after WholeNumInBinary
|
||||
switch lengthCntrlBit
|
||||
case "1"
|
||||
next repeat
|
||||
break
|
||||
case "0"
|
||||
exit repeat
|
||||
break
|
||||
end switch
|
||||
end repeat
|
||||
return baseConvert(WholeNumInBinary,2,10)
|
||||
end VLQtoWholeNum
|
||||
|
||||
function isHexString theString
|
||||
---again there is probably an easier way to do this:
|
||||
if char 1 to 2 of theString is "0x" then delete char 1 to 2 of theString
|
||||
put the number of chars in theString into y
|
||||
repeat with x = 1 to y
|
||||
if char x of theString is not in "abcdefABCDEF0123456789" then
|
||||
return false
|
||||
end if
|
||||
end repeat
|
||||
end isHexString
|
||||
|
||||
on VLQHexToWholeNum
|
||||
Ask "Enter Variable Length Quantity Hex Value:" -- input dialog
|
||||
if it is not empty then
|
||||
if char 1 to 2 of it is "0x" then delete char 1 to 2 of it
|
||||
put it into hexString
|
||||
if isHexString(hexString) is false then
|
||||
answer "Only Valid Hex Digits Are Allowed!"
|
||||
exit VLQHexToWholeNum
|
||||
else
|
||||
put "Original Variable Length Quantity in Hex="& hexString & cr & \
|
||||
"Whole Number=" & VLQtoWholeNum(hexString) into fld "Output"
|
||||
end if
|
||||
end if
|
||||
end VLQHexToWholeNum
|
||||
Loading…
Add table
Add a link
Reference in a new issue