2012-02-15 5 views
3

コード行の最後にセミコロンを付けると、どのような影響がありますか?私はいくつかのコードでこれを見てきた行末にセミコロンの効果はありますか?

私が引き継がれてきた:

Printer.Print "Customer: " & strCustomerName & " (" & strCustomerCode & ")"; 
+0

を声明でも、実際にはない "正しいです。"連結演算子もセミコロンでなければなりません。 *誰も実際にVBを知っていますか? – Bob77

+0

@BobRiemersma:いいえ、 '&'は必要に応じて強制的に文字列を組み合わせます。セミコロンは必要ありません。次に、 'Print'は単一の文字列(" no CRLF "の後に続く)を見ます。 –

+0

もちろん、それはありますが、連結を使用することは印刷ではより遅く、不要です。そして、それは「全くCRLF」ではなく、まったく異なる意味を有する「改行なし」である。vbNewLineの改行はMac VBAに移植可能です。 – Bob77

答えて

6

;Print statementの終わりには、通常のデフォルトのCRLFを抑制します

charpos - 指定次の文字の挿入ポイント。 セミコロンを使用して、最後に表示された文字の直後にカーソルを置きます。タブ(n)を使用して、挿入ポイントを絶対列番号に配置します。引き数を指定しないでタブを使用すると、次の印刷ゾーンの先頭にカーソルを置くことができます。 charposを省略すると、次の文字が次の行に出力されます。

(マイ強調)

私は(あなたが「メソッド」のリンクhereをクリックすると、それがリストされていない)Printer.Printのための参照を見つけることができませんが、私はそれが同じことを行い期待しています。

+0

Ok、strange。なぜ、この動作を区別するために 'Print'と' PrintLine'を持たないのでしょうか? – CJ7

+2

@CraigJ:何らかの理由で、古典的にはBASIC(とVB6)はそうしたことをしていました。おそらく歴史的な理由。これとは別に、なぜVB6がそうするかを尋ねるのであれば、まもなく他のもののための時間はほとんどありません。 :-) –

+0

+1。 @CraigJあなたはこれらの「VB6はどのように動作するのですか」という質問のいくつかを尋ねているようです。犯行を意味するものではありませんが、マニュアルを読むのが早いかもしれません。 VB6とVB.Netの違いについては、VB6ユーザーがVB.Netを学ぶのを助ける資料の[some](http://msdn.microsoft.com/en-us/library/skw8dhdd.aspx)を読むことで学ぶことができます。 VB6の仕組みを推測するのに役立ちます。また、[その他](http://stackoverflow.com/questions/1595737/good-tutorial-for-visual-basic-6)[questions](http://stackoverflow.com/questions/166138/learning-vb6)経験豊富なプログラマーのためのVB6の学習。 – MarkJ

1

Printは、1960年代半ばに言語の最初の日にまでさかのぼる基本的なBASIC声明です。印刷は、フォーム、画像ボックス、プリンタ、および即時(デバッグ)ウィンドウに一連のデータを表示するために使用されます。データのレコードをファイルに書き込むために使用することもできます。 VBでは、印刷はメソッドとして実装されています。

印刷方法のための一般的な形式は:

[object.]Print [expressionlist] 

目的は、上記の目的のいずれかを指すが(フォーム、ピクチャは、デバッグウィンドウ、プリンタ)とexpressionlist 1つまたはのリストを参照しますより多くの数値式または文字列式を使用して印刷します。

式リストの項目は、セミコロン(;)またはカンマ(、)で区切ることができます。

; (semicolon) means print immediately after the last value. 
, (comma) means print at the start of the next "print zone". 

アイテムを互いに直後に印刷セミコロンで区切られPrint文の式のリストに:次の出力が始まる式のリストで、セミコロンまたはカンマを決定します。

Hello,HARRYHow are you today? 

が抜粋::文

strNameは "HARRY" を含んでいた場合は、Printステートメントは次の出力生成するにはUnderstanding semicolons and print method

+0

実際には、コンパイラが直接処理する擬似メソッドのほうが多いです。これがWithブロックなどでは機能しないのはこのためです – Bob77

関連する問題