[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2004/09/07(Tue) 22:22
投稿者名:NM
URL :
タイトル:
$の扱いについて
こんばんは。
失礼します。
例えば、Chr$(10),Mid$(String, 3, 3),Trim$(String)のように『$』という文字列型
の型宣言文字を使いますが、『$』を使わずにMid(String, 3, 3)の様に使用した場合
とで結果的に何が違うのでしょうか?
また、『$』が無いとこんな時にまずいですよといった事が知りたいです。
基本的なことかも知れないのですが、ご存知の方、ご教授願います。
よろしくお願いします。

投稿時間:2004/09/07(Tue) 22:48
投稿者名:fortune
Eメール:
URL :
タイトル:
Re: $の扱いについて
nullを返さないようになります

投稿時間:2004/09/08(Wed) 10:20
投稿者名:NM
URL :
タイトル:
Re^2: $の扱いについて
おはようございます。
設計者の都合に合わせて使えばよいですね。
ありがとうございました。

投稿時間:2004/09/08(Wed) 10:16
投稿者名:nanashi
Eメール:
URL :
タイトル:
Re: $の扱いについて
$無しは戻り値の型がVariantであるが、$付きの場合Stringになる。
Stringにした方が速いしNullを返す心配がなく安全である。

例外 Nullを返すのが妥当である場合


下記参照(VBコーディング標準より抜粋)
hhttp://www.gj.il24.net/~nakasima/index.html

投稿時間:2004/09/08(Wed) 10:18
投稿者名:NM
URL :
タイトル:
Re^2: $の扱いについて
おはようございます。
有難うございました。
大変勉強になりました。

投稿時間:2004/09/16(Thu) 11:17
投稿者名:KID
Eメール:
URL :
タイトル:
落とし穴でした・・・
Time()とTime$()の両方で得られる結果が変わります(^^;

Time$()では10時以前の時刻は先頭0詰めで返されますが
Time()では10時以前の時刻の場合先頭に0は付加されません。

試験を10時以前に行わなかったためリリースするまで問題が
発覚しませんでした(涙

投稿時間:2004/09/17(Fri) 00:56
投稿者名:魔界の仮面弁士
Eメール:
URL :
タイトル:
Re: 落とし穴でした・・・
> Time$()では10時以前の時刻は先頭0詰めで返されますが
> Time()では10時以前の時刻の場合先頭に0は付加されません。

環境によっては 0が先頭に付く事もありますし、それどころか
時刻の区切り文字が「:」以外の文字になる事さえありえますよ。


Debug.Print TypeName(Time())
Debug.Print TypeName(Time$())

を試して頂くとわかるかと思いますが、前者はDate型、後者はString型です。

Date型を(Format関数等を使わずに)文字列変換しようとした場合、
その書式は、コントロールパネルの地域設定に依存します。
日付型を文字列出力するときは、明示的に変換処理を行うようにしましょう。