Chapter4. 拡張関数


4.2 システム関数

関数名
S@IMESETSELECT
機能
日本語入力の状態でS@IMEGETLISTで取得した一覧から変換文字列を決定する。
書式
S@IMESETSELECT( num )
《パラメーター》
numint。1以上。S@IMEGETLIST中で選択する文字の番号を設定する。
 
用例
日本語入力で表示したリストの内、キーボードの1〜0を押すことで1〜10番目を選択を決定する。
CH = G@SETUP(400,400,16,1)
S@IMESETMODE(1)
LOOP
  G@CHRCLEAR(CH)
  S@IMEGETSTR( 0 )
  MX = 0
  I = 1
  LOOP
    MOJI$ = S@IMEGETSTR( I )
    IF MOJI$ == "" THEN
      BREAK
    ENDIF
    IF I == S@IMEGETSTATE( ) THEN
      G@FONT( 24 , 0 , 2 , 3 , "MS 明朝" )
    ELSE
      G@FONT( 24 , 0 , 0 , 3 , "MS 明朝" )
    ENDIF
    G@PRINT(CH,MX,0,MOJI$)
    MX = MX + LENG(MOJI$)*12
    I = I + 1
  ENDLOOP
  WKEKKA$ = S@IMEGETRESULT()
  IF WKEKKA$ <> "" THEN
    KEKKA$ = WKEKKA$
  ENDIF
  G@FONT( 24 , 0 , 0 , 3 , "MS 明朝" )
  G@PRINT(CH,0,32,KEKKA$)
  G@PRINT(CH,0,64,  STR(S@IMEGETMODE()) )

  DX = 0
  XX = 0
  I = 1
  LOOP
    DY = 100 + (DX/320)*20
    IF DY <> DY_BK THEN
      DY_BK = DY
      XX = 0
    ENDIF
    MOJI$ = S@IMEGETLIST( I )
    IF MOJI$ == "" THEN
      BREAK
    ENDIF
    G@PRINT( CH, XX, DY, MOJI$ )
    DX = DX + LENG( MOJI$ ) * 12 + 12
    XX = XX + LENG( MOJI$ ) * 12 + 12
    I = I + 1
  ENDLOOP
  I@KEYGET( )
  FOR I = 2 TO 11
    IF 1 == I@KEYBTN( I ) THEN
      S@IMESETSELECT(I-1)
    ENDIF
  NEXT
  G@FLIP()
ENDLOOP