[DynamicsAX2009]X++でよく使う型とそのスコープのまとめ
X++でよく使う型とそのスコープのまとめ 時々質問が飛んでくるので、メモ。
標準的な型 型
スコープ
Deault
int
-2,147,483,648 ~ 2,147,483,647
0
int64
-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,808
0
real
]-(10)127~(10)127 [, 16桁の精度を守りつつ。
0.00
String
Unlimited
""
TimeOfDay
0~86400(32bit)
0
date
1/1/1900 ~ 31/12/2154
1/1/1900
utcdatetime
1900-01-01T00:00:00 ~ 2154-12-31T23:59:59
この値の最小と最大がtimeOfDay型とdate型でも最小最大である。
1900-01-01T00:00:00
realはBCD-encoding: 64 bitとあるので (※BCD=binary coded decimals=二進化十進数)
16桁の精度を持ったDecimal型である。
Boolean 表示
Bool値
1
True
0
False
true
True
false
False
44
True
Default : false
X++データ型とXSD型のマッピング
ついでにAIF使ってたらよく出てくるのでXSD型とのマッピングも書いておく。
X++データ型
XSD型
String
xsd:string,maxLength=StringSize
Integer
xsd:time , ISO format:HH:MM:SS
[VB6]久し振りのVB6
ちょっとしたヘルプでVB6を書いてきました。
久し振りの実装だったのでVB6でも文句も言わずウキウキやるぞー!
と思っても実装開始後文句がいっぱい!
それでも久し振りの実装だから笑顔で文句だけどね。
VB6への文句集 VB6への文句集 ホイールでころころさせろ! Collectionは爆発しろ! StringBuilderなりStringBufferなり実装しろ! TrueDBGridも爆発しろ! レイアウトファイルが新規生成出来ないんだけど? チェックボックスがうまく動かないんだけど? ホイールでころころさせろ! IDE開いて既存ソースを見てて違和感。
あん?マウスで画面がスクロールしないぞ!?
マウスの調子がおかしいわけでもないし・・?
Google先生に聞いてみると、VB6のIDEじゃ
ホイールロールイベントが使えないらしい!!!
なんてことだ!
結局本家MSのサイトでマウスロールに対応させる
KBが置いてたので導入
VB6でマウスころころKB
どうでもいいけどKBってknowledge-Baseの略だったんだね。
Collectionは爆発しろ! ほのかに覚えているVB6の実装の記憶じゃ
CollectionとrecodeSetを使って、
DBから取得してイテレータ的なことをしていた記憶がある。
Keyを使って登録できるということでHashMap的に使えるのかと思ったら。
だまされた!
Key一覧を吐き出せないじゃないか!
Indexでしかアクセス出来ないならKeyで登録する意味が分からない!
さらに意味がわからないのはそのIndexが1から始まることだ。
PCでIndexを振る場合は0からと相場が決まってるだろぉ!
何度Indexエラーを起こしてしまったことか!
(私が悪いんですけどね、はい)
従来のFor文だと
For i = 0 To Dictionary.Count - 1
なんか処理
Next i
となっちゃうのが
For i = 1 To Collection.Count
なんか処理
Next i
になるから - 1 書かなくていいからスマート!
とかでも考えたんだろうか?
なんてことだ!
結局、参照設定にMicrosoft Scripting Runtimeを追加して
Dictionaryを使うことでHashMap使いたい病は克服できた。
StringBuilderなりStringBufferなり実装しろ! SQL作成処理でよく見るのは
StringBuilderなりStringBufferなり使用し、