ab.com コミュニティ

ActiveBasicを通したコミュニケーション
現在時刻 - 2024年3月29日(金) 08:37

全ての表示時間は UTC+09:00 です




新しいトピックを投稿する  トピックへ返信する  [ 7 件の記事 ] 
作成者 メッセージ
 記事の件名: Dimと型
投稿記事Posted: 2005年7月18日(月) 22:38 
オフライン

登録日時: 2005年7月17日(日) 09:36
記事: 36
お住まい: 千葉県松戸市
C言語では
コード:
int A,B;
とすると、A,Bともにint型になります。
しかしActiveBasicでは
コード:
Dim A,B As String
としてもAがString型になりません。
このプログラムでもA,BともにString型になるようにしていただきたいです。


通報する
ページトップ
 記事の件名: Re: Dimと型
投稿記事Posted: 2005年7月19日(火) 01:09 
オフライン

登録日時: 2005年5月31日(火) 13:31
記事: 205
お住まい: 大阪市
コード:
Dim A,B As String
> としてもAがString型になりません。
たしかこの場合、AはDouble型になっていると思います(確か、数字関係の関数だったような・・・)。

でも、確かに、上記のようにしてもAがString型になるようにして欲しいですね。(でも、昔から上記の使い方をしてプログラミングしている人には、後ろの書き方(型)によってはプログラムのバグを引き起こしてしまいそうですが・・・)
まぁ、上の書き方が、VBでも同じ動作((関数だけなら)何かの型になるの)なら、どうなんでしょうかね?(Cでは2つとも同じのになるみたいですけどね。)


通報する
ページトップ
 記事の件名: Re: Dimと型
投稿記事Posted: 2005年7月19日(火) 07:56 
オフライン

登録日時: 2005年5月31日(火) 17:59
記事: 899
お住まい: 東京都
> まぁ、上の書き方が、VBでも同じ動作((関数だけなら)何かの型になるの)なら、どうなんでしょうかね?(Cでは2つとも同じのになるみたいですけどね。)

> Dim A,B As String
たしかVB6までだとAは型が省略されたと扱われ、VB.Net以降だとString型になるのだったと思います。
たとえVB6まででもVBにはVariant型という何でもありの型があり、変数宣言でこのように型を省略したときにもこの型が使われるので、気づきにくいようです。
Variant型のないABでは問題にならないと思いますが。


通報する
ページトップ
 記事の件名: Re: Dimと型
投稿記事Posted: 2005年7月19日(火) 15:15 
オフライン

登録日時: 2005年5月31日(火) 20:14
記事: 203
お住まい: 兵庫県
> たとえVB6まででもVBにはVariant型という何でもありの型があり、変数宣言でこのように型を省略したときにもこの型が使われるので、気づきにくいようです。
> Variant型のないABでは問題にならないと思いますが。

興味のある話題が出たので、VB6から入った人間からコメントさせていただきますと…
イグトランスさんの仰るとおり、VB6ではAは型が省略されたものとして扱われます。
しかし、正直バグの原因になりますよ(^^;
それにもかかわらず、(VBAを含めて)いい加減な本だったら平気で
Dim A,B As Long
のような書き方がされています(もちろん、AはVariantではLongになることを期待して書かれているのですが、VB6の仕様ではこれは間違いです)。

なお、ActiveBasicでは型省略はDouble型として扱われます。しかし、普通はDouble型変数を宣言するときも型省略などしないはずです(それより、Long型やString型で処理すべきところで型名を忘れてしまってハマることの方が多いです)。
例えば、
Dim A,B As String
ここで A="ActiveBasic" はアウトになります。AはDouble型だからです。
しかし、「省略したらDoubleになる」と知っている人がどれだけいるのかがそもそも疑問ですし、それを知らない人にとってはこれは難解な問題ということになってしまいます。
そのため、最初から型の省略をできないようにする、という手もありではないかと思いますが…。

_________________
[hira]
http://hira.hopto.org/


通報する
ページトップ
投稿記事Posted: 2005年10月15日(土) 09:22 
オフライン

登録日時: 2005年7月25日(月) 13:27
記事: 893
お住まい: 埼玉県東松山市
コード:
Dim (A,B) As String
って言う表記にした時にAとBの両方がString型になるようにしてもらえばいいんじゃないかな?今のところこの書き方は使えないけど。<<AB4.10.01


通報する
ページトップ
 記事の件名:
投稿記事Posted: 2005年10月15日(土) 10:47 
オフライン

登録日時: 2005年5月31日(火) 17:59
記事: 899
お住まい: 東京都
Dim (A,B) As Stringよりは単に1行で1変数だけを宣言するスタイルを推奨すれば十分だと私は思います。


通報する
ページトップ
 記事の件名:
投稿記事Posted: 2005年10月15日(土) 11:16 
オフライン

登録日時: 2005年7月25日(月) 13:27
記事: 893
お住まい: 埼玉県東松山市
確かにそうだが、どーも面倒なところがないだろうか。


通報する
ページトップ
期間内表示:  ソート  
新しいトピックを投稿する  トピックへ返信する  [ 7 件の記事 ] 

全ての表示時間は UTC+09:00 です


オンラインデータ

このフォーラムを閲覧中のユーザー: なし & ゲスト[9人]


トピック投稿:  可
返信投稿:  可
記事編集: 不可
記事削除: 不可
ファイル添付: 不可

検索:
ページ移動:  
cron
Powered by phpBB® Forum Software © phpBB Limited
Japanese translation principally by ocean