|
REM **********************************************************
REM 文字列のバイト計算
REM **********************************************************
Function ByteLen( strTarget )
Dim i,nLen,nRet,strMoji,nAsc
nRet = 0
nLen = Len( strTarget )
For i = 1 to nLen
nRet = nRet + 2
strMoji = Mid( strTarget, i, 1 )
nAsc = Asc( strMoji )
if &H0 <= nAsc and nAsc <= &H80 then
nRet = nRet - 1
end if
if &HA0 <= nAsc and nAsc <= &HDF then
nRet = nRet - 1
end if
if &HFD <= nAsc and nAsc <= &HFF then
nRet = nRet - 1
end if
Next
ByteLen = nRet
End Function
|
|
REM **********************************************************
REM 指定数の指定文字列で左側を埋める
REM **********************************************************
Function Lpad( strValue, str, nLen )
Lpad = Right( String(nLen,str) & strValue, nLen )
End Function
Function LpadB( strValue, str, nLen )
Dim strWork,nLen2
strWork = Right( String(nLen,str) & strValue, nLen )
nLen2 = nLen
Do While ByteLen( strWork ) > nLen
nLen2 = nLen2 - 1
if nLen2 <= 0 then
Exit Do
end if
strWork = Right( String(nLen,str) & strValue, nLen2 )
Loop
LpadB = strWork
End Function
|
|
REM **********************************************************
REM 指定数の指定文字列で右側を埋める
REM **********************************************************
Function Rpad( strValue, str, nLen )
Rpad = Left( strValue & String(nLen,str), nLen )
End Function
Function RpadB( strValue, str, nLen )
Dim strWork,nLen2
strWork = Left( strValue & String(nLen,str), nLen )
nLen2 = nLen
Do While ByteLen( strWork ) > nLen
nLen2 = nLen2 - 1
if nLen2 <= 0 then
Exit Do
end if
strWork = Left( strValue & String(nLen,str), nLen2 )
Loop
RpadB = strWork
End function
|
|