jvGetFormString(文字型フォーム情報取得)

各種の文字列型フォーム情報を取得します。

[構文]
 
Function jvGetFormString(ByVal jid As Long, ByVal mode As Long, ByVal bufLen As Long, ByVal rval As String)As Long
  
C言語
int jvGetFormString(int jid, int mode, int bufLen, char *rval);
 
JAVA
int jvGetFormString(int jid, int mode, int bufLen, StringBuffer rval);
 
Delphi
Function jvGetFormString(jid, mode, bufLen: Longint; rval: PAnsiChar): Longint;
 

設定項目

内容

jid

jvCreateで取得したジョブID

mode

プロパティの種類(設定値参照)

bufLen

情報取得バッファ(rval )のサイズ

rval

情報を取得するバッファ

 
リターンコード
 

 

内容

 

1以上

情報取得に必要なバッファのサイズ

 

0

正常終了

JV_ERR_JOBID

-3

ジョブ識別番号エラー

JV_ERR_PARAMETER

-2

パラメータエラー

JV_ERR_MEMORY

-4

メモリ関連エラー

 
[設定値]
 
mode には次の値を設定します。
 

定数

内容

JV_FORM_QUERY

5

フォームファイル情報で設定したクエリー

JV_FIELD_INFO

6

フィールド情報の取得

   
[解説]
 
jvSetForm 実行後にコールしてください。
rval は、取得する情報に応じたサイズを確保してください。取得した値の最後にNULL文字が入るため、必要サイズ+1バイト分の領域が必要です。
bufLen に0を指定すると、取得に必要なバッファサイズが返ります。 JAVAの場合には、bufLen は無視されます。
 
フィールド情報の取得(JV_FIELD_INFO)
取得する項目と並び順は次の通りです。項目間はタブで区切られます。
 
1.フィールドの種類
2.フィールド名称
3.テキストフィールドの編集子
  グリッドフィールドの列数
  バーコードフィールドのバーコードの種類
4.グリッドフィールドのみ 行数
5.グリッドフィールドのみ 編集子
 
例)
TEXT 顧客名 &&&&&&&&&&      
GRID 明細 COLUMN=2 ROW=32 ### &&&&&&
BARCODE バーコード1 JAN13      
IMAGE イメージ1        
GRAPH 3Dグラフ        
 
[コーディング例]
 
Dim jid&, ret&, PrintJobId&, rval$
jid = jvCreate(JV_WINDOW, form1.hWnd, Printer.hDC, form1.hDC, 0, 0, "")
ret = jvSetForm(jid, "c:\JiveReport\納品書.jfm", 1,"", 100, 0, 0)
bufLen = jvGetFormString(jid, JV_FORM_QUERY, 0, rval)
If bufLen > 0 Then
'取得用バッファを確保し、再度実行する
rval= Space(bufLen )
ret=jvGetFormString(jid, JV_FORM_QUERY,bufLen,rval)
Else
MsgBox "jvGetFormStringError " + CStr(ret)
End If