投稿者 魔界の仮面弁士  (社会人) 投稿日時 2010/5/23 17:21:32
Coloさんとcoloさんは同一人物ですよね?

> 問題を分離させるところでまたできなくなりました。
ファイル入出力・グラフィックス・印刷の 3 機能は、利用頻度の割には
.NET 化に際して大きく変化してしまっている箇所なので、移植は厄介なところです。

> 時間がないんです。
いやいや。それにしては、短い時間で頑張っていると思いますよ。
グラフィクス処理も比較的短期間で解決できているようですし。

ファイル操作に関しては、System.IO 名前空間のクラスを使う事になります。
Visual Basic 初級講座の「第30回 ファイル処理」を読み進めてみて下さい。
http://homepage1.nifty.com/rucio/main/dotnet/shokyu/index_sta.htm

また、今回は VB2008 とのことなので、My.Computer.FileSystem を使うのも手です。
http://msdn.microsoft.com/ja-jp/library/0b485hf7(VS.80).aspx

もしくは、VB6 互換命令となる FileOpen 関数を使う事もできます。
こちらは VB6 の構文に近い物となるので、(VB6 ユーザーであれば)単純な移植は容易になります。
ただし .NET らしからぬコードとなるため、後々の事を考えると、あまりお奨めはできません。
http://msdn.microsoft.com/ja-jp/library/afh37kh8(VS.80).aspx

> とりあえずはこのプログラムを完了させなくてはなりません。
時間が無いなら「Visual Basic 6 コードのアップグレード」の利用も検討してみてください。
http://homepage1.nifty.com/rucio/main/dotnet/shokyu/standard40.htm
上記の『7.VB6コードのアップグレード』で紹介されているツールを使うと、
Open "C:\test.eng" For Input As #1
Input #1 , Datum
Close #1
というコードを、VB6互換命令を用いた
FileOpen(1, "C:\test.eng", OpenMode.Input)
Input(1, Datum)
FileClose(1)
へと変換してくれます。
http://msdn.microsoft.com/ja-jp/library/ab2372k4(VS.90).aspx


> 言いたいことはわかるんですが順を追ってというのは今は無理なんです。
VB6 → VB2008 への変換を行うには、VB6 のコードの意味を理解できるだけのスキルが必要です。

あるいはコード自体が読めなくても、コードに付随している日本語の説明を
VB2008 に置き換えられるだけの .NET の知識が要求されます。

もしもその両方が不足している段階なのであれば、VB6 の資料を参考にするのではなく、
最初から VB.NET 向けの資料を読まれる事をお奨めします。その方が習得が早いと思いますよ。
http://homepage1.nifty.com/rucio/commu/ThreadDetail_ThreadId_144.htm