- PR -

ASP1.0VB.NET「console.writelineの出力先」について

投稿者投稿内容
囚人
ぬし
会議室デビュー日: 2005/08/13
投稿数: 1019
投稿日時: 2007-12-05 13:17
System.Console.SetOut() メソッドを使って、お好きなところに出力。
以下は、文字列に出力する例。
コード:
System.Text.StringBuilder str = new StringBuilder();
System.IO.TextWriter w = new System.IO.StringWriter(str);
Console.SetOut(w);
Console.WriteLine("aiueo");
string s = str.ToString();


普通はやらないと思いますが、ASP.NET の場合でも、HtmlTextWriter が取得できるところで上記のように設定しておけば、Console.WriteLine で出力した結果はページのどっかにぶち込まれるでしょう。きっと。

_________________
囚人のジレンマな日々
猫だいすき
常連さん
会議室デビュー日: 2007/04/09
投稿数: 27
お住まい・勤務地: 兵庫県
投稿日時: 2007-12-05 13:25
とある根性なし 様

>「Writeline をどこに出力したらいいの?」ではないような気がするんですけど〜
まぁそうなんですが、議論になって他の方の参考になれば、構わないです。
気遣いありがとうございます♪



囚人 様

>ASP.NET の場合でも、HtmlTextWriter が取得できるところで上記のように設定しておけば、
>Console.WriteLine で出力した結果はページのどっかにぶち込まれるでしょう。きっと。
プログラムの記述ありがとうございます。
他の皆さんの回答から、console.writelineでは値が出てこないと思ってましたので、
試してみたいと思います。
とある根性なし
ベテラン
会議室デビュー日: 2006/08/15
投稿数: 54
投稿日時: 2007-12-05 13:43
私も便乗で勉強させてもらってます

引用:

がおがおさんの書き込み(2007-12-05 13:14)より
#でも、記述があるってことは、使っている(使える)しくみ(?)機能(?)があるって事ですよね?
#うーん(-~-)わからないなぁ…
#何故console.writelineがMSDNや参考書に頻繁に記述されているのか…


ミニマムコードの実行結果を確認するのに、便利だからだと思います
VBやCの「コンソールアプリケーション」から「Console.Writeline」を実行すると、
コマンドプロンプトみなたいなウィンドウ(=コンソール)に出力されます。
あとはアプリケーションを終了すれば、ウィンドウとともにメッセージは消えてしまうので、
コントロールを配置したり、出力したテキストファイルが残ったりって事が無いので、
お手軽って話だと思います。

がおがおさんの環境には、きっと ASP.Net だけインストールされているのではないですかね?
別の環境か、VBやCを追加インストールして「コンソールアプリケーション」で
ミニマムコード作ってやると納得できるんじゃないかな、と思っています。
猫だいすき
常連さん
会議室デビュー日: 2007/04/09
投稿数: 27
お住まい・勤務地: 兵庫県
投稿日時: 2007-12-05 14:14
引用:

とある根性なしさんの書き込み (2007-12-05 13:43) より:
がおがおさんの環境には、きっと ASP.Net だけインストールされているのではないですかね?


そうですか???
開発は「Microsoft Visual Basic .NET」というソフトウェアを使っていますが、
これのVBコーディングではダメということでしょうか?
初歩的なことで申し訳ありません。(^^;
よくわかってなくて…
なちゃ
ぬし
会議室デビュー日: 2003/06/11
投稿数: 872
投稿日時: 2007-12-05 14:30
引用:

囚人さんの書き込み (2007-12-05 13:17) より:
System.Console.SetOut() メソッドを使って、お好きなところに出力。
以下は、文字列に出力する例。
コード:
System.Text.StringBuilder str = new StringBuilder();
System.IO.TextWriter w = new System.IO.StringWriter(str);
Console.SetOut(w);
Console.WriteLine("aiueo");
string s = str.ToString();


普通はやらないと思いますが、ASP.NET の場合でも、HtmlTextWriter が取得できるところで上記のように設定しておけば、Console.WriteLine で出力した結果はページのどっかにぶち込まれるでしょう。きっと。


それはやらないほうがいいような。
ってのはもちろん分かって書いてらっしゃると思いますが、いらんトラブルの元になる可能性が高いと思うので。
まあ、Trace使うのがいいと思いますよ。
とある根性なし
ベテラン
会議室デビュー日: 2006/08/15
投稿数: 54
投稿日時: 2007-12-05 15:36
うわぁ、書き込みがキエタァ・・・ うぅ、気を取り直して

引用:

がおがおさんの書き込み (2007-12-05 14:14) より:
開発は「Microsoft Visual Basic .NET」というソフトウェアを使っていますが


そうですよね。
.NET2.0 だと、ASP は VB のツリーの配下にあるので、VB 使えないのかなぁ?と思ってました。

なんとか「コンソールアプリケーション」を実行してみてもらいたいと思っているんですが、
「新しいプロジェクト」のテンプレートの中に「コンソールアプリケーション」はなかったんですもんね?
普段は [VisualBasic]-[Web] からテンプレート選んでらっしゃるかと思うんですが、
[Visual Basic] とか [VisualBasic]-[Windows] にないでしょうか?
あったら、
コード:

Module Module1

Public Sub Main()
System.Console.WriteLine("test")
System.Console.Read()
End Sub
End Module


ってしてもらえば、すぐわかると思うんです。

でもなかったら、きっと「空のアプリケーション」はあると思うので、
モジュール追加して上のコード書いて、
プロジェクトのプロパティに、
[アプリケーションの種類]-[コンソールアプリケーション]
[スタートアップオブジェクト]-[Sub Main]
で実行できないでしょうか。

# 1.0 と 2.0 ってそんなに IDE 違うのかなぁ?
# インストールで何か変わるとか? うーん、自分のときどうだっただろう
# もしかして「新しい Web サイト」を探してたとか・・・?

[ メッセージ編集済み 編集者: とある根性なし 編集日時 2007-12-05 15:42 ]
nakaP
大ベテラン
会議室デビュー日: 2005/09/27
投稿数: 138
お住まい・勤務地: 高知
投稿日時: 2007-12-05 15:49
引用:

#でも、記述があるってことは、使っている(使える)しくみ(?)機能(?)があるって事ですよね?
#うーん(-~-)わからないなぁ…
#何故console.writelineがMSDNや参考書に頻繁に記述されているのか…



Visual Studioでは、今までWindows Applicationが数多く開発されてきました。
そのようなApplicationを開発する場合、テストプログラムを作成するときに
Console上(コマンドプロンプトのウインドウのイメージかな)に出力させると
結果を得やすいという利点がありました。
MSDNなどのサンプルはその名残りなのでしょう。

#Windows Application・・・Windowsクライアント上で動作するアプリケーションと言えばいいでしょうか。
#がおがおさんが現在勉強しているのはWeb Applicationという部類に入ると思います。
猫だいすき
常連さん
会議室デビュー日: 2007/04/09
投稿数: 27
お住まい・勤務地: 兵庫県
投稿日時: 2007-12-05 16:46
なちゃ 様

>それはやらないほうがいいような。
実際には使えないみたいなので、console.writelineを使う事はないと思いますが、
「試しに」使ってみたいと思います。忠告ありがとうございます。
※trace.writeは使ったことがあるので、大丈夫です



J.J. 様

>#Windows Application・・・Windowsクライアント上で動作するアプリケーションと言えばいいでしょうか。
>#がおがおさんが現在勉強しているのはWeb Applicationという部類に入ると思います。
console.writelineはWindows Application用なんですね、これならconsole.writelineが動かないワケがわかります。



とある根性なし 様
--------------------------------------------------------↓削除-----------
>でもなかったら、きっと「空のアプリケーション」はあると思うので、〜略〜
>プロジェクトのプロパティに、
>[アプリケーションの種類]-[コンソールアプリケーション]
>[スタートアップオブジェクト]-[Sub Main]
>で実行できないでしょうか。
探しても無かったので、↑を試してみたいと思います。(今スグ確認は出来ないのですが)
この場合の「空のアプリケーション」は拡張子が[.vb]になるものを選べばよろしいでしょうか?
何度もスミマセン。。。
--------------------------------------------------------↑削除-----------
--------------------------------------------------------↓追加-----------
たびたびスミマセン。
>なんとか「コンソールアプリケーション」を実行してみてもらいたいと思っているんですが、
>「新しいプロジェクト」のテンプレートの中に「コンソールアプリケーション」はなかったんですもんね?

さっき見たらありました!で、記述していただいたコードをコピペして実行で動作確認できました。
私の確認の仕方が悪かったようです。スミマセン。ありがとうございます。
--------------------------------------------------------↑追加-----------


たぶんASP2.0や最新の3.0なら悩まなかったんでしょうが…
WEB上に情報がたくさん転がってますし、参考書もたくさん売ってるので。。
(機能も全然違うし2.0の参考書は1.0では役にたちません(泣))
Microsoftのサポートも近々切れるみたいなので、会社のソフトのバージョンも上げてもらいたいものです。。。
#といっても顧客で利用中のバージョンなのでムリでしょうけど



[ メッセージ編集済み 編集者: がおがお 編集日時 2007-12-05 17:10 ]

スキルアップ/キャリアアップ(JOB@IT)