すいません、VB4しかやってないんです、VBAはやったけど(ぼそ) チラシの裏だって立派な書き込み空間なんだからねっ!資源の有効活用なんだからねっ!とか偉そうに言ってるけど、実は色々と書き残したいだけ

だからなに? どうしろと? くるみサイズの脳みそしかないあやしいジャンガリアンベムスターがさすらう贖罪蹂躙(ゴシックペナルティ)

ホーム 連絡をする 同期する ( RSS 2.0 ) Login
投稿数  632  : 記事  35  : コメント  11686  : トラックバック  143

ニュース


片桐 継 は
こんなやつ

かたぎり つぐ ってよむの

大阪生まれ河内育ちなんだけど
関東に住みついちゃったの
和装着付師だったりするの
エセモノカキやってたりするの
VBが得意だったりするの
SQL文が大好きだったりするの
囲碁修行中だったりするの
ボトゲ好きだったりするの
F#かわいいよF#

正体は会った人だけ知ってるの

空気読まなくてごめんなさいなの


わんくまリンク

C#, VB.NET 掲示板
C# VB.NET掲示板

わんくま同盟
わんくま同盟Blog


WindowsでGo言語
WindowsでGo言語


ネット活動


SNSは疲れました

記事カテゴリ

書庫

日記カテゴリ

ギャラリ

イベント活動

プログラムの活動

あいかわらずのオヤジでごめんなさいorz
さて、あうがすとな葉月となりましたが……本来ならOctoberだったのに、あうぐすちぬすちゃんったら<違っ

というわけで、配列

Dim Hoge() as string

についてのお話。
VB4脳では、


  Dim Hoge() As String
  redim Hoge(1 to 10)
  Hoge(1) = "1"

でも良かった。が、VS2005、VB.NETさんでは

エラー 7 配列の下限に指定できるのは '0' のみです。

なんて叱られる。なので


  Dim Hoge() As String
  ReDim Hoge(10)
  Hoge(1) = "1"

としてみると大丈夫
さて、ここで、配列Hogeの要素を変えたい、とする。VB4脳は
  ReDim Hoge(0 to 8)
  ReDim Hoge(1 to 101)

とかできる。でもこうすると初期化されるのでHoge(1)の"1"が消えちゃう。
  ReDim Preserve Hoge(0 to 8)
  ReDim Preserve Hoge(1 to 101)

なんてしてみる。すると、Hoge(1)="1" のまま。つまり、ReDimという命令によって、配列の再確保、初期化、インデックスの再設定までこなしちゃってたわけです。
さて、同じ動きを.Net FreameworkのArrayクラスで考えると、
  Array.Resize(Hoge,8)
  Array.Resize(Hoge,100)

という命令で、ReDim Preserve と同じ動きになります。ただの初期化をしたい場合には、この後で
           Hoge.Initialize

とすると初期化されます。ちと、メンドイね。でも、その代わりと言っては何ですが、便利な関数が使えます。
           Array.Length
(全次元の要素数の合計)
           Array.GetLength(指定次元の要素数)
           Array.Copy (要素のコピー、失敗しても途中までのデータを保証)
           Array.ConstrainedCopy (要素のコピー、失敗するとデータは入らない)
           Array.IndexOf(指定次元を指定値で最初から検索して見つかったインデックスを返す)
           Array.LastIndexOf(指定次元を指定値で最後から検索して見つかったインデックスを返す)
           Array.Reverse(配列要素を反転)
           Array.Sort(配列要素をソート)
他にも色々あるけれど……ま、ちと抜粋で(笑)

VB4の時代、みーんなみーんな、common.bas とかファイル作って、そこに作ってたものだったね(遠い目)どうやったら実現できるかと頭ひねった時代、VB4、何もかもが懐かしい……
でも、だからって、.NETが嫌いなわけじゃなくて、いつも思うように、「便利が増えたねぇ」としみじみしてしまうの。

投稿日時 : 2007年8月1日 12:57

コメント

# re: はい、Let's配列 2007/08/01 13:25 凪瀬
VB4の正式なリリース日がみつからないけど、書籍などの出版日から推測するに10年以上経っていることは間違いないようで。
行番号のあるBasicはそのさらに前か…。

# re: はい、Let's配列 2007/08/01 13:45 のん@琉希唖
私がVBしだしたのは去年の夏でした・・・
今の職場にPG見習いで初めて触ったのでvb2003をいじってましたが、
VB4とかVB6がわかりましぇん|・ェ・`)ノ w

# re: はい、Let's配列 2007/08/01 13:50 とっちゃん
VB4 は、95のすぐあとだから、95年末~96年あたりのもののはず。
まだ、VisualStudio になる前なので単体製品ですが、4.0 で32bit版製品としては一応の完成形となりますw

ま、VC のほうは、その後4.1 を経て 4.2~6.0までの暗黒時代を迎えるわけですが...w
ちなみに、VisualStudio 97(Ver.5)なので、年代的にはこの辺であってるはずですw
93~98年の5年間のWindows(アプリ)開発は異常と言えるほどの変化を繰り返していた時代ですけどね...w

ま、空白の5年間(6.0の時代)というのもあれはあれで、おかしな時代でもあったわけですが...w

VSの歴史を調べるときは、時のOSだけではなく、Officeもチェックすると幸せになれますよw
#もちろん黒歴史www

# re: はい、Let's配列 2007/08/01 14:03 まどか
それにしても、配列を使わなくなったなぁ。。。しみじみ

> VSの歴史を調べるときは、時のOSだけではなく、Officeもチェックすると幸せになれますよw

IEもね!

幸せになれるかは経験したプロジェクトによりますな。

# re: はい、Let's配列 2007/08/01 15:12 ぽぴ王子
まあ、配列でできることはたいてい List で代用しちゃうわけだが…(笑)
つーか List がなかったから仕方なく配列を使っていたという話も。
(Preserve なんてその最たるものだよね)

> さて、あうがすとな葉月となりましたが……本来ならOctoberだったのに、あうぐすちぬすちゃんったら<違っ

これは本当に違っていて(本当って?)8月の由来はあうぐすちぬすちゃんではなくて
あうぐすつすちゃんなのでした。
http://ja.wikipedia.org/wiki/%E3%82%A2%E3%82%A6%E3%82%B0%E3%82%B9%E3%83%88%E3%82%A5%E3%82%B9

> 行番号のあるBasicはそのさらに前か…。

Altair BASIC から語らなくちゃいけませんか?(誰もそこまで言ってない)
自分が初めて触れたのは N60-BASIC でした。
そのあと Color BASIC (TRS-80) とか BASICA、QBasic (PC-DOS) とか、N88-BASIC(86) MS-DOS版とか
紆余曲折を経て Visual Basic の初体験が Windows95 が出て転職したあたりに VB2 を初めてさわりました。
そのあと 3 は日本じゃ発売されなくて 4 に移行して、それから Delphi 1.0、2.0、3.0…と来てから
Visual Basic 6 を経験しつつ、今ではもうすっかり C# の人です。孫に与えるのはヴェルタースオリジナル。
(いまやってるのは Java だけどね)

Array クラスはむしろ Java の影響を受けている気がしますね。まぁ VB がというよりは .NET がという
感じなのでさもありなんという感じですが。

# re: はい、Let's配列 2007/08/01 15:34 片桐
MS-C 4.0 とか Vb 3.0とか……黒歴史なのか……なぜか好きだったよ……<を
VB1のフレームなんかもうウィザードリーちっくで好き、愛してる(ぼそ)
私はN88-BasicからCOBOL&アセンブラを経てVB→Cと来ているので、ひととおり、言語の基本らしい連中は触ってるっぽいかな。

だって、ぺんちあむってCPUがすっごくて、Windowsなんていうすっごいのができて、Windowsが「>win」なんてしなくっても良いなんて信じられなくて、NTなんて、ログインだよ、ログイン!どんなにびっくりした事か<おい
新しい言語とか環境とか、出てくるたびにリアルタイムで触れるのってなかなか無かったりするのよね、現実には。だから、VB4脳やVB6脳でも、脳なりにがんばって.NET触っていくですよ。。。JAVAの足音がひたひたしてるけど(笑)

でね、玉子様がね、いぢめるの(つ_;)
いーじゃん、すげーじゃん、あうぐすつす(謎)


# re: はい、Let's配列 2007/08/01 15:53 NAO
>>なりにがんばって.NET触っていくですよ。。。JAVAの足音がひたひたしてるけど(笑)
JAVAって最近人あまり気味らしいよ。

>>でね、玉子様がね、いぢめるの(つ_;)
とか良いながら「S」認定は私しかしないのね<(-。-) ボソッ


# re: はい、Let's配列 2007/08/01 16:21 凪瀬
Javaは人は余ってるけど、人材は不足しています。
人材募集。切実に。

# re: はい、Let's配列 2007/08/01 17:13 NAO
>>VB4、何もかもが懐かしい……
地球か・・・何もかもが懐かしい ……

# re: はい、Let's配列 2007/08/01 17:24 片桐
あのね、違うの。

NAOさんは【 ど S 】なの。

>凪さん
人はあれど、人材不足……そのとおりなのよね。
マテリアルの捜索および確保はなかなかどうして、むずかしいのです。
パワーだけならたくさんあるのだけれど。

# re: はい、Let's配列 2007/08/01 17:56 NAO
>>NAOさんは【 ど S 】なの。
じゃぁ玉子様は「S」って事を間接的に認める訳ね。

# re: はい、Let's配列 2007/08/01 18:11 凪瀬
どこの会社も即戦力、即戦力なんて言うけども、誰かが育てないと即戦力たる人材なんて生まれるわけ無いじゃん!と心の中でツッコミ。
そういうわけで、もとより人材教育は覚悟の上。誰かうちの会社に来たがる人いないかなぁ…とか思っております。

そして、自分が最初に触ったBASICがパソピアだったことを思い出した。
http://ja.wikipedia.org/wiki/%E3%83%91%E3%82%BD%E3%83%94%E3%82%A2

Post Feedback

タイトル
名前
Url:
コメント