|
|
Tech Note 31: 問題と回避策 April 2, 2003 © 2012 NS BASIC Corporation. All rights reserved. |
Go to English page.
INPUTBOX:Palm-size PCのスクリーン上ではINPUTBOXは正しくサイズ変更しない。さらにPocket PCおよびHPC 2000では動きません。このコマンドはマイクロソフトのソフトウエアに組み込まれています。回避策として、DialogXコントロールの一部を使ってInputBoxの機能をみたすことができます。下のコードをあなたのプログラムに追加し、InputBoxのファンクションをオーバーライドして下さい。(DialogXはInputBoxには含まれていない機能も持ち合わせています)
FUNCTION INPUTBOX(prompt, title, default)
IF ISEMPTY(NSBIB) THEN
ADDOBJECT "DialogX", "NSBIB_Dlg"", 0, 0, 0, 0
SET NSBIB=NSBIB_Dlg
END IF
INPUTBOX = NSBIB.InputBox(prompt, title, default)
END FUNCTION 'INPUTBOX
X=InputBox("Message area". "INPUTBOX Example", "Default Text")
howColor メソッドはサポートされていません。さらに、showFont メソッドはサイズ変更をしません。マイクロソフトはこのことに関して、製品を早くリリースするために急いだ結果だと説明しています。
INPUTBOX ファンクションを使うと「Out of Memory」エラーを起こします。原因はHPが不良なVBScript.dllをROMに組み込んだようです。Script68を使って、モジュールをインストールしてこれを修正して下さい。
EVAL ステートメントは同じデバイスでは動作しません。マイクロソフトのコンパイラーに問題があるようです。回避策として、Exevuteを代わりに使って下さい。
Function formatNum(n,d,l,p,g)
formatNum=fixformat(formatnumber(abs(n),d,l),n,d,l,p,g,0)
End Function
Function formatCur(n,d,l,p,g)
formatCur=fixformat(formatcurrency(abs(n),d,l),n,d,l,p,g,1)
End Function
Function fixformat(fn,n,d,l,p,g,a)
If g Then
g=mid(",.",instr(".,",mid(cstr(1/10),2,1)),1)
l=Len(fn)
If d Then l=l-d-1
While l>3+a
l=l-3
fn=mid(fn,1,l) & g & mid(fn,l+1)
Wend
End If
If n<0 Then
If p Then
fn="(" & fn & ")"
Else
fn="-" & fn
End If
End If
fixformat=fn
End Function