Chapter4. 拡張関数


4.2 システム関数

関数名
S@IMEGETLIST
機能
日本語入力で変換中の文字列の変換候補を取得する。S@IMEGETSTRで取得した情報で変換中の文字列の候補を取得する。取得した文字列は第一引数に1以上を設定することで指定した番号の文字列を取得できる。文字列が存在しない番号を指定すると「」(文字列なし)を取得する。取得した文字列から変換を決定したい場合はS@IMESETSELECTでその番号を設定する。
書式
char S@IMEGETLIST(num)
《パラメーター》
numint。
1以上:変換候補の文字列の番号を設定する。
 
戻り値 説明
char
取得した文字列を戻す
用例
変換中の文字列の内1〜4番目を表示する。また変換中の文字列候補を表示する。
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
  G@FLIP()
ENDLOOP