CMNロゴ

ICmnPilot::cmnWriteMessage Method


ログファイルに発言を追加します。

Syntax

void  cmnWriteMessage(
    int hLog,
    int idxBBS,
    TMes& Mes,
    LPVOID reserved
);

Parameters

hLog

[in] ログファイルのハンドル

idxBBS

[in] 掲示板インデックス

Mes

[in] 発言情報
以下の必要な項目を設定します。
tmPost[in] 発言日時
ICmnPilot::cmnGetDateTimeまたは ICmnPilot::cmnGetTimeFromTmで得た日時データを指定する必要があります。
dwMesNumber[in] 発言番号
発言番号がない場合には MES_ID_NONE を設定します。
数字以外を含む番号文字列または40億(4,000,000,000)を超える数字の場合には MES_ID_STR を設定し、 lpKey に番号文字列を設定します。
MES_ID_STR を設定した場合、親発言番号が存在する時は dwParentNumber も MES_ID_STR を設定しなければなりません。
dwParentNumber[in] 親発言番号
親発言番号がない場合には MES_ID_NONE を設定します。
数字以外を含む番号文字列または40億(4,000,000,000)を超える数字の場合には MES_ID_STR を設定し、 lpParentKey に番号文字列を設定します。
MES_ID_STR を設定した場合、dwMesNumber も MES_ID_STR を設定しなければなりません。
attr[in] 発言属性
以下のいずれかの定数を指定することができます。
MES_ATTR_ADD発言を追加します。(同一内容の発言が存在する場合は追加されません。)
MES_ATTR_REPLACETExtInfoProp.idNewMes で指定したキー (NMID_NUMの場合は「番号」、NMID_DATENUMおよびNMID_DATEの場合は「日時+番号」)が同一の発言が存在する場合はその発言と置き換えます。 存在しない場合は追加されます。
MES_ATTR_NOCHANGE を同時に指定した場合、置き換えする発言の未読/既読状態が引き継がれます。
(※NMID_DATE2、またはdwMesNumberがMES_ID_NONEの場合は無効です。)
MES_ATTR_REPLACENOADDTExtInfoProp.idNewMes で指定したキーが同一の発言が存在する場合はその発言と置き換えます。 存在しない場合は追加されません。
MES_ATTR_NOCHANGE を同時に指定した場合、置き換えする発言の未読/既読状態が引き継がれます。
(※NMID_DATE2、またはdwMesNumberがMES_ID_NONEの場合は無効です。)
MES_ATTR_ADDIFNOTEXISTTExtInfoProp.idNewMes で指定したキーが同一の発言が存在しない場合にのみ発言を追加します。 存在する場合は追加されません。
(※NMID_DATEまたはNMID_DATE2の場合は無効です。)
MES_ATTR_DELETETExtInfoProp.idNewMes で指定したキーが同一の発言が存在する場合はその発言を削除します。(発言は追加されません。)
(※NMID_DATEまたはNMID_DATE2の場合は発言内容が同じ発言が存在する場合にのみ削除されます。)
MES_ATTR_ADD、MES_ATTR_REPLACE、MES_ATTR_REPLACENOADD、MES_ATTR_ADDIFNOTEXIST、MES_ATTR_DELETE は同時に指定することはできません。
通常は MES_ATTR_ADD を指定します。この場合、TExtInfoProp.idNewMes で指定したキーが同一の発言が存在している場合でも別発言として追加されます。 (但し、キー、件名、名前、本文などが全て一致する場合には追加されません。)
lpBBSURL[in] 掲示板のURL
lpReceivedURL[in] 受信URL
lpMesURL[in] 発言のURL
省略可能です。
lpContentType[in] ContentType
"text/html" 固定です。
lpName[in] 発言者名
lpEMail[in] メールアドレス
省略可能です。
lpID[in] ユーザーID
省略可能です。
lpHP[in] ユーザーHPのURL
省略可能です。
lpSubject[in] 件名
lpBodyHead[in] 本文ヘッダ
lpBodyで設定する本文の前に挿入する文字列を設定します。
メタ文字を使用することができます。
使用できるメタ文字は以下の通りです。
$#受信発言の番号 (number)
$n受信発言の名前 (name)
$u受信発言のID (user id)
$I掲示板ID (bbsId)
$Uオプションまたはフォルダプロパティで指定されているID (User id)
$M発言キー
$$文字「$」
文字コードはシフトJISのみです。
省略可能です。
lpBody[in] 本文
文字コードはシフトJISのみです。
lpBodyFoot[in] 本文フッタ
lpBodyで設定する本文の後ろに挿入する文字列を設定します。
メタ文字を使用することができます。
使用できるメタ文字は lpBodyHead と同じです。
文字コードはシフトJISのみです。
省略可能です。
lpReply[in] 返信パラメータ
ICmnPilot::cmnWriteBBSHead で設定する tBBSHead.lpReplyParam と違う場合に設定します。
設定すると、返信発言を作成した際にICmnPilot::cmnWriteBBSHead で設定した tBBSHead.lpReplyParamに優先してその発言に関連付けられ、 投稿時にICpx::cpxSendMesのTMes.lpPostに設定されます。
省略可能です。
lpImageURL[in] イメージURL
発言本文に含まれないイメージデータで、CMNのメッセージビューで発言本文の右上に表示するイメージデータがある場合に そのURLを設定します。
省略可能です。
lpKey[in] 発言キー
dwMesNumber が MES_ID_STR の場合に番号文字列を設定します。
dwMesNumber が MES_ID_STR 以外の場合は発言に関連する任意の文字列を設定可能です。
省略可能です。
lpParentKey[in] 親発言キー
dwParentNumber が MES_ID_STR の場合に親発言の番号文字列を設定します。
dwParentNumber が MES_ID_STR 以外の場合は発言に関連する任意の文字列を設定可能です。
省略可能です。
lpOptionData[in] 拡張項目
項目名=値 の形式で件名や本文などの基本項目以外の項目を設定することができます。
項目名の先頭は x- とします。
項目名及び値はICmnPilot::cmnEncodeOptionDataでエンコードする必要があります。
& で連結することにより複数の項目を設定することが可能です。
設定した項目はメッセージビューに表示されます。
省略可能です。
bResToParent[in] 返信時は返信先発言の親発言に返信
返信時に返信先発言の親発言に返信する場合にTRUEにします。
省略可能です。
その他の項目0 で初期化する必要があります。

reserved

0 固定

Return Value

戻り値はありません。

Remarks

当メソッドをコールする前に、ICmnPilot::cmnWriteBBSHeadをコールする必要があります。
文字コードはシフトJISのみです。


Example

C++

         :
    TMes   Mes;
    
    memset (&Mes, 0, sizeof (TMes));
         :
    m_pICmnPilot->cmnWriteMessage (hLog, m_idxBBS, Mes);
         :

Delphi

var
    Mes: TMes;
         :
    
    FillChar  (Mes, sizeof (TMes), 0);
         :
    m_pICmnPilot.cmnWriteMessage (hLog, m_idxBBS, Mes);
         :



ICmnPilot