jvGetFieldString(文字型フィールド情報取得)

各種フィールドの文字型情報を取得します。

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

設定項目

内容

jid

jvCreateで取得したジョブID

fieldName

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

bufLen

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

rval

情報を取得するバッファ

 
リターンコード
 

 

内容

 

1以上

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

 

0

正常終了

JV_ERR_JOBID

-3

ジョブ識別番号エラー

JV_ERR_PARAMETER

-2

パラメータエラー

JV_ERR_MEMORY

-4

メモリ関連エラー

JV_ERR_FIELD_NAME

-70

指定されたフィールドが存在しない  

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

定数

内容

JV_FLD_QUERY

3

フィールドのクエリー

 
[解説]
 
jvSetForm 実行後にコールしてください。
rval は、取得する情報に応じたサイズを確保してください。取得した値の最後にNULL文字が入るため、必要サイズ+1バイト分の領域が必要です。
bufLen に0を指定すると、取得に必要なバッファサイズが返ります。 JAVAの場合には、bufLen は無視されます。
 
[コーディング例]
 
Dim jid&, ret&, bufLen&, rval$
jid = jvCreate(JV_WINDOW, form1.hWnd, Printer.hDC, form1.hDC, 0, 0, "")
ret = jvSetForm(jid, "c:\JiveReport\納品書.jfm", 1,"", 100, 0, 0)
bufLen = jvGetFieldString(jid, "顧客名", JV_FLD_QUERY, 0, rval)
If bufLen > 0 Then
'取得用バッファを確保し、再度実行する
rval= Space(bufLen )
ret=jvGetFieldString(jid, "顧客名", JV_FLD_QUERY, bufLen, rval)
Else
MsgBox "jvGetFieldString " + CStr(ret)
End If