- PR -

Dim strDevice$ や Str$関数の$の意味がわかりません。

1
投稿者投稿内容
McLaren
ぬし
会議室デビュー日: 2002/01/15
投稿数: 784
お住まい・勤務地: 東京
投稿日時: 2004-04-14 09:42
 お世話になります。
Win2000Pro + VB6SP5をしようしておりますが、
Dim strDevice$ や Str$関数を使ったサンプルをよく見かけますが、用途や目的がよくわかりません。

普通に

Dim strDevice as String
strDevice = Str(12345)

では駄目なのでしょうか。ご教授願います。
ぢゃん♪
大ベテラン
会議室デビュー日: 2003/06/12
投稿数: 208
お住まい・勤務地: 都内
投稿日時: 2004-04-14 10:22
もはやVB6を使ってないので、はっきりとはなんともいえませんが……。
「$」は大昔のBASIC時代からある、文字列型を示す記号です。
もっとはっきり言えば「レガシーな文法」です。

[うろ覚え]その頃はたしかDIM文も配列専用で、それ以外に変数宣言(変数名の型を決めるのでなく、変数自体を宣言する)もなかったような。[/うろ覚え]

もしも関数で「$」記号つきしかない(←存在するかどうかは知りません)なら、それを使うしかないでしょうが、変数宣言については全く不要と思います。「Dim 〜 As String」で十分でしょう。

[ メッセージ編集済み 編集者: ぢゃん♪ 編集日時 2004-04-14 10:24 ]

[ メッセージ編集済み 編集者: ぢゃん♪ 編集日時 2004-04-14 10:43 ]
じいじ
大ベテラン
会議室デビュー日: 2003/11/11
投稿数: 223
投稿日時: 2004-04-14 10:25
おじゃまします。
私は、Int変数をString変数へ変換する「関数」と思いましたが・・・・

#あっ!すみません!標題には「関数」とありました(・・・汗・・・)


[ メッセージ編集済み 編集者: じいじ 編集日時 2004-04-14 10:28 ]
りばぁ
大ベテラン
会議室デビュー日: 2003/11/26
投稿数: 130
お住まい・勤務地: 愛知県
投稿日時: 2004-04-14 10:55
こんにちわ。
引用:

Dim strDevice$


この$は「型宣言文字」というやつです。
引用:

Dim strDevice As String


とまったく同じ意味です。
他に、Longは&、Doubleは#、など、それぞれの型に型宣言文字はあります。

Str$関数やChr$関数などの$の意味はよく知りません^^;
$無いほうの関数とリファレンスは同じページに飛ぶんですよね・・・
なちゃ
ぬし
会議室デビュー日: 2003/06/11
投稿数: 872
投稿日時: 2004-04-14 11:18
引用:

りばぁさんの書き込み (2004-04-14 10:55) より:
Str$関数やChr$関数などの$の意味はよく知りません^^;
$無いほうの関数とリファレンスは同じページに飛ぶんですよね・・・


返される値の型が異なります(Str$は文字列型を、Strは内部表現が文字列であるVariant型を返します)。
# これに伴い、内部的な動作にも若干の違いがあったと思います。
きくちゃん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 854
お住まい・勤務地: 都内某所
投稿日時: 2004-04-14 11:32
りばぁさん、こんにちは。

引用:

Str$関数やChr$関数などの$の意味はよく知りません^^;


これを付けないと、戻りの型はバリアントになってしまいます。
ついている場合は、指定された型で戻ります。
なので、基本的には$とか&とかが付いている方を使用すべきでしょう。

【追記】
もろかぶり...。

[ メッセージ編集済み 編集者: きくちゃん 編集日時 2004-04-14 11:35 ]
McLaren
ぬし
会議室デビュー日: 2002/01/15
投稿数: 784
お住まい・勤務地: 東京
投稿日時: 2004-04-14 12:01
なるほどなるほど、そういうわけだったのですね・・・
たくさんのアドバイスありがとうございました。勉強になりました。
1

スキルアップ/キャリアアップ(JOB@IT)