1

VB6プログラムをC#にリファクタリングする必要があり、次の行を理解するのに行き詰まっています。

Set myFileSystemObject = New FileSystemObject
Set myTextStream = myFileSystemObject.OpenTextFile("myTextFile.txt")
Open sPrinterPort For Output As iFileNumber
Print #iFileNumber, myTextStream.ReadAll
Close #iFileNumber

一般的に何が起こっているのかはわかりますが、VB構文に慣れていないので、正確に何が起こっているのかを知りたいです。

Print #iFileNumber, myTextStream.ReadAll

します。そして、より具体的には#、前にあることは何をしますかiFileNumber。なんでそこにあるの?変数自体はストリームに出力するのに十分ではないでしょうか?

これは、コードで何が起こっているのかを正確に理解するためだけのものです。

4

2 に答える 2

4

Print #iFileNumber, myTextStream.ReadAllによって返された文字列ReadAllを数値で開いたファイルに出力しますiFileNumber(ステートメントの後にセミコロンがないためvbNewLine、最後に追加されます)。

#「数」の意味)は昔からあります。VB6はそれをサポートしています。実行に関しては何もしません。これは、読みやすさを支援し、言語をより自然なものにするために使用されていました。大声で話す:

Open "1.txt" For Input As 1

対。

Open "1.txt" For Input As #1
于 2012-12-04T11:17:13.167 に答える
0
Print #iFileNumber, myTextStream.ReadAll

これを自分で理解しようとすると、プリンターへの印刷に関するセクションがあるこのサイトに出くわしました。#some_integerはチャンネル番号を示していると言われています。

チャネル番号は、0から999までの任意の整数値で、先頭にポンド記号(#)が付きます。デバイスへの特定のチャネルを示します。

チャネルは、プログラムと、プリンタやファイルなどの入力または出力デバイスとの間の接続です。

于 2019-09-04T18:31:08.057 に答える