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
:
:
: