LotusNotesな日々IBM社のLotusNotesに関係する何かを日々語ってるようなきがしないでもないブログです。 

スポンサーサイト

   ↑  --/--/-- (--)  カテゴリー: スポンサー広告
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

(記事編集) http://mesosune.blog123.fc2.com/?overture" target="_new

--/--/-- | Comment (-) | HOME | ↑ ページ先頭へ |

テキストフィールドの振る舞いに気をつける。

   ↑  2008/03/31 (月)  カテゴリー: Notes(LotusScript)
■内容
フィールドに値を入れる方法によって型がかわるようです。

■詳細
フォーム上で@式のフォアグラウンドとかUI処理でテキストフィールドに数字を入れると
保存時にテキスト型になるようです。

[例]
@SetField( "FieldName" ; 2 )

しかし、LotusScript上でテキストフィールドに値を入れるときは
型を保持してしまうのです。
以下のような数字の代入をデバックして確認してみてください。
型を保持してしまうのがわかるとおもいます。

[例]
  doc.FieldName = 2

上記の例ではInteger型になります。
そうすると、次呼び出すときに

  if doc.FieldName( 0 ) = "" then

と呼び出した時に「型が一致しない」とエラーが発生してしまうし、

@TextToNumber( FieldName )
で、エラーになってしまい、
この場合は非表示式等であまりよろしくないことになります。
■対応方法
1.テキストフィールドに値を代入する際は、Cstr()などのキャストを使用する。
2.テキストフィールドに数字が入り数字で判定したい場合は、
numStr := @if( @isNumber( FieldName ) ; FieldName ; @TextToNumber( FieldName ));
num := @if( @isError( numStr ) ; 0 ; numStr );
という式をつかって数値に直す。

この上記を必ずやるようにすれば、
人間の目からはわからない型についてをクリアにすることができます。
スポンサーサイト

(記事編集) http://mesosune.blog123.fc2.com/blog-entry-103.html

2008/03/31 | Comment (0) | Trackback (0) | HOME | ↑ ページ先頭へ |
この次の記事 : 文系のSEの強み?
この前の記事 : JavaScriptってJavaと一緒の言語だよね?

Comment

コメントを投稿する 記事: テキストフィールドの振る舞いに気をつける。

お気軽にコメントをぞうぞ。
非公開 (管理人のみ閲覧可能なコメント) にしたい場合には、ロック にチェックを入れてください。

  任意 : 後から修正や削除ができます。
  非公開コメントとして投稿する。(管理人にのみ公開)
 

Trackback

この次の記事 : 文系のSEの強み?
この前の記事 : JavaScriptってJavaと一緒の言語だよね?
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。