vidnum$ Convert Function Windows
A function that returns the string representation of of a
rounded numeric expression.
Syntax: vidnum$ (numeric-expression,
dig%)
Num$ = vidnum$
(999999.2366666666, 4)
Return 999999.2367
Num$ = vidnum$
(-0.236, 4)
Return -0.236
Num$ =vidnum$ (-12389.236, -2)
Return -12400
Details:
dig% - number of significant digits
function Hex2Dec (HexStr as string) as string
A function that returns the decimal (base 10) representation of the hexidecimal (base 16) string expression
function
DecToHex (Dec as string) as string
A function that returns the hexidecimal (base 16) representation of the
(base 10) string expression
String is not pre-padded with 0's
function
Add0Before (NumStr as string , ReqLength as int)
as string
A function that pre-padd string with 0's to required Length
print Add0Before("-387.35" , 8)
-0387.35
FUNCTION ByteReOrder
(ByteStr$,ReOrder$ ) as string
A function that reorder bytes in string.
Detailes:
ReOrder$ - Defines the order of bytes
following in ByteStr$
abcde
initial
string
2145
output order - i.e.
2 byte to 1 posicion
1 byte to 2 posicion
4 byte to 3 posicion
5 byte to 4 posicion
badee output string
Examples:
number$ =ByteReOrder ("0123","2143" )
Return "1032"
------------------------
inpStr$="1234":
print "inpStr$=" ,inpStr$
reOrder$="222143": print "reOrder$=" ,reOrder$
ssd$=ByteReOrder (inpStr$,reOrder$ )
print "ByteReOrder="+ ssd$
Return ByteReOrder=2221
-------------------------
number$ =ByteReOrder ("1234","143" )
Return 1434
-------------------------
ssd$=ByteReOrder ("abcde","2149" )
Error: ShowMessage( "ReOrder index outbound input string"):exit FUNCTION
there are no 9 byte in "abcde" string
FUNCTION CNumByte (Num,
Num_Type as short ) as string
FUNCTION
CNumByte
converts number of Num_Type type to bytes sequence.
Num_Type can be next value:
CONST Num_SHORT = 2
CONST Num_WORD = 3
CONST Num_LONG = 4
CONST Num_DWORD = 5
CONST Num_SINGLE = 6
CONST Num_DOUBLE = 8
FUNCTION CByteNum (ByteStr$,Num_Type
as short ) as variant
FUNCTION CByteNum converts bytes sequence to number of Num_Type
type
Num_Type can be next value:
CONST Num_SHORT = 2
CONST Num_WORD = 3
CONST Num_LONG = 4
CONST Num_DWORD = 5
CONST Num_SINGLE = 6
CONST Num_DOUBLE = 8
Examples:
iNitNum=1234.56789
SngStr$=CNumByte (iNitNum, Num_siNGLE )
DblStr$=CNumByte (iNitNum, Num_DouBLE )
print "Num_siNGLE=",CByteNum (SngStr$,Num_siNGLE )
print "Num_DouBLE=",CByteNum (DblStr$,Num_DouBLE )
Return
iNitNum=1234.567890000
SngStr$=,R?D
DblStr$=зЖф"EJ"@
Num_siNGLE=1234.567871094
Num_DouBLE=1234.567890000
LIKE Function - pattern matching routine for Rapid-Q by William Yu
This emulates the VB LIKE operator.
Thanks to Thomas Binder for the original C code
? Any single character.
* Zero or more characters.
# Any single digit (0-9).
[charlist] Any single character in charlist.
[!charlist] Any single character not in charlist.
A group of one or more characters (charlist) enclosed in brackets ([ ])
can be used to match any single character in string and can include almost
any character code, including digits.
Note: To match the special characters left bracket ([), question
mark (?), number sign (#), and asterisk (*), enclose them in brackets.
The right bracket (]) can't be used within a group to match itself, but
it can be used outside a group as an individual character.
By using a hyphen (-) to separate the upper and lower bounds of the range,
charlist can specify a range of characters. For example, [A-Z] results in
a match if the corresponding character position in string contains any
uppercase letters in the range A-Z. Multiple ranges are included within
the brackets without delimiters.
'-- Test code
print "Like('24','##')=", Like("24","##")
?"Like(aBBBa, a*a)=", Like("aBBBa","a*a")
?Like("F","[!A-Z]")
?Like("a2a","a#a")
?Like("aM5b","a[A-GL-P]#[!c-e]")
?Like("BAT123khg","B?T*")
?Like("CAT123khg","B?T*")
?Like("Combine(10, 20) = 30", "*(*?,*?)*=*#")
return
Like('24','##')=1
Like(aBBBa, a*a)=1
0
1
1
1
0
1
function TimeString (TimSec as integer) as string
TimeString=Hr$+":"+Min$+":"+Sec$+" "
'--
**************************************************************************'
function SecTime
(cTime$ as
string) as
integer
TimeHH=val (field$(cTime$,
":",1))
TimeMM=val (field$(cTime$,
":",2))
TimeSS=val (field$(cTime$,
":",3))
result=TimeHH*3600+TimeMM*60+TimeSS
end function
'--
**************************************************************************'
function DayDate
(cDate$ as
string) as
integer
MM=val (field$(cDate$,
"-",1))
Day=val (field$(cDate$,
"-",2))
Year=val (field$(cDate$,
"-",3))
result=365*(Year)+30*(MM)+(Day)
end function