1 名前:デフォルトの名無しさん [04/10/02 11:10:17] VB.NETの質問全般です 過去スレ VB.NET質問スレ (Part6) pc5.2ch.net/test/read.cgi/tech/1088812165/ VB.NET質問スレ (Part5) pc5.2ch.net/test/read.cgi/tech/1078134703/ VB.NET質問スレ (Part4) pc2.2ch.net/test/read.cgi/tech/1065269043/ 【老若】VB.net質問スレ【男女】 (Part3) pc2.2ch.net/test/read.cgi/tech/1056281084/ 【老若】VB.net質問スレ【男女】 (Part2) pc2.2ch.net/tech/kako/1043/10436/1043629429.html 【老若】VB.net質問スレ【男女】 pc2.2ch.net/tech/kako/1025/10258/1025848458.html
348 名前:デフォルトの名無しさん mailto:sage [04/11/09 21:17:12] >>347 BaseStreamプロパティからPositionをいじる。 でも根本的にStreamReader使うのはシーケンシャルなアクセスだけにしといた方が良いと思う。
349 名前:デフォルトの名無しさん [04/11/09 21:57:18] Magic Dockingを使うために DockingManagerExtenderを入れたのですが 「MagicLibrary.DLL」が「参照設定」に追加された状態で、 「ツールボックス」の「コンポーネント」に「DockingManagerExtender.DLL」を追加し、 これをフォームに貼り付けてあるパネルに貼り付け, DockingManagerExtenderのContainerControlプロパティを パネルの貼り付いているフォームに設定し、 パネルの「DockingManagerExtenderのADockingEnable」プロパティをTrueと して,パネルの張り付いているフォームをnewしようとすると, 以下のようなエラーが出てしまいます System.ArgumentNullException: 値を Null にすることはできません。 パラメータ名 : DockingManager at Crownwood.Magic.Docking.Content.InternalConstruct(DockingManager manager, Control control, String title, ImageList imageList, Int32 imageIndex, Icon icon) at Crownwood.Magic.Docking.Content..ctor(DockingManager manager) at DockingManagerExtender.DockingManagerExtender.SetADockingEnable(Control control, Boolean enable) at SampleListForm.InitializeComponent() DockingManagerExtenderについて簡単に説明のあった backno.mag2.com/reader/BackBody?id=200402230600000000104516000 に書いてあるとおりにやってるのですが,どこが問題なのでしょうか
350 名前:フナ太郎 mailto:sage [04/11/09 23:13:17] >>347 10バイト空読みする。
351 名前:デフォルトの名無しさん mailto:sage [04/11/09 23:19:29] >>350 StreamReaderではバイト単位で読む事はできないよ。あくまで文字単位。 //まあ形式が固定ならそれでいいんだけど。
352 名前:デフォルトの名無しさん [04/11/09 23:53:07] 質問です。 DataAdapterをコントロールボックスから 選択して使用していますが、 その際DataSourceやプロバイダ等を チュートリアルに従って設定しております。 自動生成されたソースを見ると、 DataSourceのパスは絶対指定となっていますが、 これをソースを直接触らずに相対指定にする方法はありますか? 相対パスにするには自動生成されたソースを 触らなくてはならないのでしょうか?
353 名前:デフォルトの名無しさん [04/11/10 04:33:36] >348 BaseStreamをStreamReaderがオープンしたファイルと関連付ける方法が分かりません。 おそらく「オーバーロード、オーバーライド、継承」になどVBNETが導入した新しい技術に 関することだとおもいますが、まだ使い方がはっきりと理解できていないのです。 基本的にはリードライトのクラスがあって、それを補うためにリードライトする データを加工するクラスがあればよいと思うわけです。 そしてこのリードライトのクラスはランダムアクセスとシーケンシャルアクセスを 用意するというのが歴史的つまり基本的方法です。 そうすると、StreamReaderでオープンしたファイルをBaseStreamでアクセスするのは 継承関係からして誤りだと思います。おそらくBaseStreamでオープンしてリードライトは BaseStreamで行い、データの加工を下位のクラスで行う? そこでStreamReaderは 適当ではない? では適当な方法は?その具体的方法が分からない。 >10バイト空読みする。 色のみ読みたいのです。空はいりませんので。 >351 >StreamReaderではバイト単位で読む事はできないよ。あくまで文字単位。 >//まあ形式が固定ならそれでいいんだけど。 形式は固定です。 固定長レコードのテキストファイルをランダムアクセスするための 具体的な方法が知りたいのです。MSDNには例がありません。
354 名前:デフォルトの名無しさん mailto:sage [04/11/10 07:43:16] >>353 > そしてこのリードライトのクラスはランダムアクセスとシーケンシャルアクセスを > 用意するというのが歴史的つまり基本的方法です。 で、そのシーケンシャルとかランダムとか言うのを一緒にしたのがストリーム。 //厳密にはランダムアクセスベースだけど、ランダムアクセスならシーケンシャルなアクセスにも耐えられる。 //そう考えれば両者を分ける必要はどこにもない。 StreamReaderの役割は指定した文字コードを元に文字単位でストリームから読み出すことだ。 本来バイトベースであるストリームを文字ベースで扱いやすくするためのクラスであって、そこにアクセス方法など関係ない。 ところが、文字ベースで考える場合文字コードという問題が生ずる。 例えばShift_jisの場合、「官」の字は8AAFと言う16進コードで表現される。 これを2バイト目から読み出すと、AF、つまり半角カナの促音記号「ッ」ととられてしまう。 これではよろしくないから、「基本的に」先頭から順次読み取りするようになっている。 でも任意の位置から読み込みたい時もあるだろう、とStreamReaderが読み取る対象のストリームをBaseStreamで直接公開してるわけだ。 //ファイルパスを指定してStreamReaderをnewした場合、内部でFileStreamが作成されている。実際に公開するのはこれ。 StreamReaderで文字を読み出すと、読み出した文字分この内部のFileStreamのPositionが読み込んだ文字に応じて動く。 でもあくまで内部のFileStreamが指している所から文字になるバイトデータを読み出すわけで、 いつのまにかこれがさっきまで見てた所と違ってても気にせずそこから読み出すようになっている。 てことで、streamReader.BaseStream.Positionをいじくれって言ったの。 > 固定長レコードのテキストファイルをランダムアクセスするための > 具体的な方法が知りたいのです。MSDNには例がありません。 固定長かどうかなんかストリームとしては知った事ではない。
355 名前:デフォルトの名無しさん [04/11/10 08:59:20] >354 >てことで、streamReader.BaseStream.Positionをいじくれって言ったの。 これが分からなかった。ありがとう。 Do Debug.Write(sr.BaseStream.Position) line = sr.ReadLine() debug.Write(line) Loop Until line Is Nothing Positionの移動をプリントして見ると ラインは10行あっても最初のReadLine()で全部読み込んじゃうね。 読み出し開始位置はPositionで設定できるけど、一旦ReadLineして しまうとPositionでは制御できないようです。 だからstreamReaderではRandomアクセスはできないです。もちろん Open、Closeを繰り返せばできますが、それはだめですね。 ファイルは一旦オープンすれば、仮想メモリー空間にマッピングされるわけだから 1バイト単位で自由にアクセスできるはずですよね。クラスの制約でわざわざClose するのはばかげてます。 結局Stringファイルをランダムアクセスする方法は、どうすればいいのでしょう?
356 名前:デフォルトの名無しさん mailto:sage [04/11/10 09:28:54] もともと複数バイトで意味のあるデータを読み込む時に任意のバイトからってのが今一なじまないんだけどな。 .NETのファイルアクセスは十分に高速だから空読みも大したコストにならないし。 どうしてもStreamReaderを使いたいなら、 FileStreamでストリームを開いて、 FileStream.Positionを操作してからそのFileStreamを元にStreamReaderをそのたびに作成。読み込み終わってもStreamReader.Closeは呼び出さない。 一通り処理が済んだらFileStream.Closeを呼び出す。
357 名前:デフォルトの名無しさん [04/11/10 10:13:57] 次のような例がVBの本にあるのですが、 Dim st as Stream = New NetworkStream(...) ... st.Write(buf,0,255) st.Close() Dim under_stream as Stream = New NetworkStream(...) Dim st As Stream = new BufferedStream(under_stream) ....@ ... st.Write(buf,0,255) st.Close() @の行を追加するだけで、バッファリング機能を追加しています。これは 非常にスマートですね。 で私のやりたいイメージはこういうことです。(LineSizeは100byte程度です。) for i=0 to 100 st.WriteLine(linedt(i)) next ... st.Position = 55*LineSize linedt = st.Read() st.Position = 3*LineSize linedt = st.Read()
358 名前:デフォルトの名無しさん mailto:sage [04/11/10 10:14:49] FileStream.ReadとEncoding.GetStringでいいじゃん。
359 名前:デフォルトの名無しさん [04/11/10 10:17:49] 欲を言えば st.LineSize = 100 linedt = st.Read(55) ... linedt = st.Read(3)
360 名前:デフォルトの名無しさん [04/11/10 10:20:04] >358 そうなの? しらべてみますが、もし例があればよろしく。
361 名前:デフォルトの名無しさん [04/11/10 10:29:02] [Visual Basic] Overloads Public Overridable Function GetString( _ ByVal bytes() As Byte _ ) As String [C#] public virtual string GetString( byte[] bytes ); VBの場合、宣言が複雑ですが、どういう意味があるんですか? 単に多弁?
362 名前:デフォルトの名無しさん mailto:sage [04/11/10 10:30:14] >>360 Dim fs As FileStream = sr.BaseStream Dim data(55) As Byte fs.Position = 55 * LineSize fs.Read(data, 0, 55) linedt = Encoding.UFT8.GetString(data) ... sr.Close() 事前にStreamReaderである程度読んでる場合を想定してるけど、そうでないならはなからFileStreamでファイルを開けばいい。
363 名前:デフォルトの名無しさん mailto:sage [04/11/10 10:31:58] >>361 VBの過去のしがらみです。 書くのが嫌ならC#に移れと言うMSの暗黙のプレッシャーもあります。
364 名前:デフォルトの名無しさん [04/11/10 12:44:30] >362 ご丁寧にありがとう。 Dim fs As FileStream = sr.BaseStream これが分かりませんでした。 FileStreamの場合Positionがリードポジションと同じなんですよね。 やってみます。
365 名前:デフォルトの名無しさん [04/11/10 14:29:09] 技術評論者のVisualBasic.NET プログラミングマニュアル ってもってる人いないですか? そこの133ページに 「委譲を使った問題点(1)の解決」ってのがあって Stack ClassはListを継承するのではなくListの実装を内部で利用すれば いいのです(つまり委譲のことだと思う) Public Class Stack Inherits List ....@ Private ListField As New List() Public Function Pop() as Object ..... という様になっているのだけどどうもおかしい。 @のInheritsって継承のことだよね。これってImplementsの間違いか? 継承の例は1ページしかないのに、間違えられるとさっぱり分からん。 Inheritsって委譲にも使うのか? Implementsって要するに外部クラスの参照のことだよね。要するに EXTERNってことだよね。ほかには意味ないですよね。
366 名前:デフォルトの名無しさん mailto:sage [04/11/10 14:35:57] >>365 持ってないけど多分Implements IList辺りの間違いだろうね。 //……継承の例が1ページ? 委譲の例?
367 名前:デフォルトの名無しさん [04/11/10 14:41:03] 質問させてください。 a b c と3つの変数があるとして、テキストボックスに "1:"&a&"2:"&b+c みたいな式を任意にユーザーが設定できるようにして、 それを実際に他の変数に入れるようにしたいんですけどどうしたらいいのかわかりません。 普通のコードで書くと kekka="1:"&"2:"&b+C ってなりますよね。この右辺の部分をテキストボックスから取り出して 直接コードで書いたように動作させたいのですけど、どうしたらできるんでしょうか?
368 名前:デフォルトの名無しさん mailto:sage [04/11/10 16:08:06] >>367 そういうコードを自分で書く。
369 名前:デフォルトの名無しさん mailto:sage [04/11/10 16:49:04] DataGridを使用し、ColumnChangingイベントを使用しています。 項目Aの変更をハンドルし、入力された値でマスタを検索して項目Bにその名称を代入する、 という処理なのですが、項目Bに名称を代入した時もColumnChangingイベントが発生します。 項目BはReadOnlyなので処理自体は無いのですが、なんとなく気になっています。 こういうもんなんでしょうか?それとも私は全く違うことをしているのでしょうか? DataGridのデータソースはDataSetで特にDB等にはつながっておらず、 値の格納だけに使用しています。
370 名前:デフォルトの名無しさん mailto:sage [04/11/10 16:56:06] ユーザの入力とコードからの操作を区別しないから。 そんなもん。
371 名前:369 mailto:sage [04/11/10 17:26:17] >>370 なるほど、そんなもんなんですね。わかりました。 ありがとうございました。
372 名前:369 mailto:sage [04/11/10 18:23:51] 連続すいません。 おそらく過去にもこういった話題が挙がったとは思いますが、入力後のカーソルについて質問です。 エンターキー押下時には下にしかいけないんでしょうか?横の項目に移るようになるプロパティは無いのでしょうか? KeyDown、Pressイベントで処理しようとTextボックスと関連付けてイベントをハンドルしようとしたのですが、 エンターキーは捕まえることができませんでした。 これってどうしようもないんですか?
373 名前:369 mailto:sage [04/11/10 18:24:59] DataGridの話です。 流れのまま書き込んでしまった・・・(汗
374 名前:デフォルトの名無しさん [04/11/11 05:32:13] VB.NETのコメントの書き方が分かりません。 ’これ以外にはないんですか? 複数行をコメントアウトする方法は?
375 名前:デフォルトの名無しさん mailto:sage [04/11/11 05:45:37] >374 VS.NETの上のツールバーのとあるアイコンを押す。
376 名前:デフォルトの名無しさん mailto:sage [04/11/11 05:53:41] あるファイルが他のアプリケーションによって使用されているか どうか知るには? 一回ファイル名を変更して Try〜Catchするしかないんですか?
377 名前:デフォルトの名無しさん [04/11/11 06:53:46] FileShare.None でOpenするというのはどうだ?
378 名前:デフォルトの名無しさん [04/11/11 06:55:46] >375 REM END REM を知らんの?
379 名前:初心者 [04/11/11 09:32:04] すみません。質問させて下さい。 VB.netで、他のサーバ上にあるbatファイルを、クライアントから実行させるには何か方法がありますでしょうか。 Shell("cmd.exe abc.bat") Process.Start("C:\xxx\xxx.bat") ・・等を加工し、フルパスでファイル名を指定したのですが、肝心のサーバ上のbatファイルは動きません。 恐れいリますが、ご教示ください。
380 名前:デフォルトの名無しさん mailto:sage [04/11/11 09:45:04] >>372 これのことか? Application.MoveAfterReturnDirection = xlDown Application.MoveAfterReturnDirection = xlToRight
381 名前:デフォルトの名無しさん mailto:sage [04/11/11 09:58:37] >>379 アクセス権が必要です
382 名前:デフォルトの名無しさん mailto:sage [04/11/11 10:08:50] 一番自然なのはクライアント/サーバ型にして、クライアント側の要求に従ってサーバ側で処理する事だな。
383 名前:372 mailto:sage [04/11/11 11:42:10] >>380 Excelでいうとそれです。 DataGridでなんとかならんもんかと悩んでおります。
384 名前:デリゲート? [04/11/11 12:14:41] VB.NETでVCとWindowsメッセージのやりとりがしたくてhomepage2.nifty.com/sak/w_sak3/doc/sysbrd/vb_t35.htm このホームページのソース参考にしたんですけどSetWindowLong(Handle.ToInt32, GWL_WNDPROC, AddressOf WndProc) の1文でデリゲートで宣言されてないから駄目ってエラーがでて意味がわかりません。誰か解決策教えて。
385 名前:デフォルトの名無しさん mailto:sage [04/11/11 12:31:32] >>384 エラーの意味がわからんのじゃなくて、 そもそもやってることの意味がわかってないんだと思う。 VB.NETではサブクラス化を使う必要はなくなった。 問題にぶつかったらとりあえずMSDN検索するクセつけた方がいいよ。 www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfsystemwindowsformscontrolclasswndproctopic.asp
386 名前:デフォルトの名無しさん mailto:sage [04/11/11 12:57:46] >>383 DataGridを継承してProcessCmdKeyをオーバーライドしてやればいいんじゃないかな。 Imports System.Windows.Forms Public Class OddHandlingDataGrid Inherits DataGrid Protected Overrides Function ProcessCmdKey(ByRef msg As Message, ByVal keyData As Keys) As Boolean If keyData = Keys.Enter Then Me.ProcessGridKey(New KeyEventArgs(Keys.Right)) Return True End If Return MyBase.ProcessCmdKey(msg, keyData) End Function End Class
387 名前:デフォルトの名無しさん mailto:sage [04/11/11 13:41:51] >>377 それでなりました。どうもありがとう。 Try '一度ファイル名をリネームし可能なら他のアプリケーションで使用されていない '不可能なら使用中 'Microsoft.VisualBasic.FileSystem.Rename(filename, filename + "a") 'Microsoft.VisualBasic.FileSystem.Rename(filename + "a", filename) Catch こんなことしてました↑。 Try Dim s2 As New FileStream(filename, FileMode.Open _ , FileAccess.Read, FileShare.None) s2.Close() Catch
388 名前:デフォルトの名無しさん [04/11/11 14:51:54] 123を " 123"のように10桁で表示するのはどうするの? formatだと数値が変わると桁が変化する。 format(dt,"0000000000")のようにすると数値の桁が変わっても10桁に なるが"000000123"のように頭に0がつくのでだめ。 なんかいい方法ない?
389 名前:デフォルトの名無しさん [04/11/11 15:02:33] 202.208.158.51/bin/Q331.jpg 343 :NHK名無し講座 :04/11/11 15:00:25 ID:Xg7Sp9vb 由奈もキタ━━━━━━(゚∀゚)━━━━━━ !!! 202.208.158.51/5/K0132.wma
390 名前:デフォルトの名無しさん mailto:sage [04/11/11 15:11:59] >>388 .ToString().PadLeft()とか。
391 名前:デフォルトの名無しさん [04/11/11 15:18:03] >390 ありがと。いろいろ探していたのだけど、分からなくて、 助かりました。
392 名前:デフォルトの名無しさん [04/11/11 15:22:17] pc5.2ch.net/test/read.cgi/swf/1095084725/
393 名前:初心者 mailto:sage [04/11/11 16:21:58] >>381 様 >>382 様 ご回答、ありがとうございました。 何とか解決できそうな状況になってまいりました。
394 名前:デフォルトの名無しさん mailto:sage [04/11/11 19:28:02] 通信対戦ゲームを作りたいのですが、winsockとdirectXはどっちが簡単ですか?
395 名前:デフォルトの名無しさん [04/11/12 08:09:12] フォームのボタンのペケ(X)ボタンを押すとDiposeしますが、 me.hideにしてDisposeしたくない場合どうすればいいのでしょ?
396 名前:デフォルトの名無しさん [04/11/12 08:43:41] listboxのクリアーってどうやるの
397 名前:デフォルトの名無しさん [04/11/12 09:11:14] VB6みたいに途中でブレークしてコードを修正して続けるようなことはできないのですか?
398 名前:デフォルトの名無しさん [04/11/12 10:07:34] >>396 ListBox1.Items.clear でダメ?
399 名前:デフォルトの名無しさん [04/11/12 10:11:26] >398 あっItemsの下に隠しやがったのか。くっそー。 ありがとう。
400 名前:デフォルトの名無しさん [04/11/12 10:43:42] 条件付コンパイルの話なんだけど、設定値がまずいのでコンパイル不能コードにしたいときってどうしたら良い? Cの#errorみたいのってないの?
401 名前:デフォルトの名無しさん [04/11/12 11:37:08] 俺が分かったら答えてやるんだが、わからんなー。 #define Main #if Main #else #end if 見たいなやつだろ。
402 名前:デフォルトの名無しさん mailto:sage [04/11/12 11:57:25] >>400 VB.NETには無いね。C#にはあるんだが。 >>397 VS2005から追加されるようだ。
403 名前:デフォルトの名無しさん [04/11/12 12:11:46] >402 ほんと? そりゃ待ち遠しいね。でもこの遅さに慣れたら、 もうJAVAでもおんなじだし、eclipseとかにいってるかもね。
404 名前:デフォルトの名無しさん [04/11/12 18:45:58] 400の者だが、しょうがないからこうした(イメージ) #if a=0 then ここに来たらエラー #endif
405 名前:デフォルトの名無しさん [04/11/12 21:40:31] 時間がかかる処理の間に起こったキー入力等はすべて無効にしたいんだけど、 どうしたらいいかな? 処理の最後にフラグを立てて、doEventsメソッドを発行後、フラグを解除。 オーバーライドしたWndProcで、フラグが立っている間のイベント処理は 無効っていうふうにしたんだけど、処理の終わり間際の入力は通ってしまうようで 上手くいかなかったです。
406 名前:デフォルトの名無しさん mailto:sage [04/11/12 21:48:33] >>405 「時間がかかる処理」を別スレッドにするだけでは?
407 名前:デフォルトの名無しさん mailto:sage [04/11/12 23:04:25] 時間がかかる処理をしている途中だよフラグを用意するか、 その処理の最初にキー入力ができるコントロールを無効にすれば?
408 名前:デフォルトの名無しさん mailto:sage [04/11/12 23:22:12] >時間がかかる処理をしている途中だよフラグを用意するか、 無意味。 >その処理の最初にキー入力ができるコントロールを無効にすれば? 恐らくそれをしたくないから>>405 のように聞いているのだろう。 そのくらいのこと読み取れるでしょ普通。
409 名前:デフォルトの名無しさん [04/11/13 04:58:27] 処理が終わっているように見えて実は終わっていない。だから、 処理的に排他的タスクを立てて、そのタスク内でキーを有効にする。
410 名前:最凶VB厨房 mailto:sage [04/11/13 12:22:21] 別スレッド作って即行でjoin!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
411 名前:デフォルトの名無しさん [04/11/13 17:35:29] マウスポインタの位置を移動させるにはどうすればいいですか? 例えばボタンを押したら次に押させたいボタンにマウスポインタを移動させる、 というような事をさせたいのですが。
412 名前:デフォルトの名無しさん mailto:sage [04/11/13 17:46:03] System.Windows.Forms.Cursor.Position
413 名前:デフォルトの名無しさん [04/11/13 18:45:53] >>412 サンクスです。
414 名前:鈴木 mailto:sage [04/11/13 18:54:58] >>408 お前、感じ悪いよ。
415 名前:デフォルトの名無しさん mailto:sage [04/11/14 00:46:59] VBScriptから正常に呼び出せるActiveXのメソッドを VB.NETから呼び出すと System.Runtime.InteropServices.COMException 未知のエラー というエラーが発生しまつ。 いったい何がいけないんでつか?
416 名前:デフォルトの名無しさん [04/11/14 19:37:12] 昨日VB6から.net2003にやってきたばかりで右も左もわからん MainTextBox.Text = "aiueo" & vbCrLf & "aiueo" FirstText = "aiueo" & vbCrLf & "aiueo" If MainTextBox.Text = FirstText Then Call MsgBox("あ") End If MainTextBoxはRichTextBoxです で、これ実行するとなぜかメッセージボックスが表示されるんですが・・・ 明らかに等しい "aiueo" & vbCrLf & "aiueo" なのに何で!?
417 名前:デフォルトの名無しさん mailto:sage [04/11/14 19:42:28] VisualBasic6.0で編集したプロジェクトをVB4.0で読み込むことはできますか? VB6.0→VB4.0フォーマット変換ソフトなどあったら教えてください
418 名前:デフォルトの名無しさん mailto:sage [04/11/14 20:48:19] >416 釣り? >417 無理、それ以前にここは「VB.NET質問」であって 「VBプログラマ質問スレ(6.0以前)ではない。
419 名前:417 mailto:sage [04/11/14 22:20:05] >>418 いや、無理じゃなく出来た。 vbpプロジェクトをエディタで開いてバージョン箇所あわせと不要コード削除で読み込み可 自己解決。、さいなら
420 名前:416 [04/11/14 22:30:14] 間違った… MainTextBox.Text = "aiueo" & vbCrLf & "aiueo" FirstText = "aiueo" & vbCrLf & "aiueo" If MainTextBox.Text = FirstText Then MsgBox("同じ") Else MsgBox("違う") End If ってやっても「違う」と言われてしまうのはどうしてですか?
421 名前:デフォルトの名無しさん mailto:sage [04/11/14 22:51:04] >>420 FirstTextがちゃんとString型の変数として宣言されているなら “同じ”と出るはず。 www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/dnguinet/htm/drguinet01312001.asp の「値の等価性と参照の等価性」を読むといいかも。
422 名前:デフォルトの名無しさん mailto:sage [04/11/14 22:55:35] >>420 FirstTextをStringにして 同じソースで実行したけど"同じ"って表示されたよ
423 名前:420 mailto:sage [04/11/14 23:40:03] Public Class Form1 の直下で Dim FirstText As String = "" と宣言してあります 何かこれではまずい仕様に変わったんでしょうか?
424 名前:デフォルトの名無しさん mailto:sage [04/11/14 23:50:04] >>423 ああ、いま気づいた。 きっとtextboxのMultiineプロパティがFalseになってるんだよ。
425 名前:デフォルトの名無しさん mailto:sage [04/11/14 23:53:57] RichTextBoxらしいからデフォルトでMultilineはTrueのはずなんだがな……。
426 名前:デフォルトの名無しさん mailto:sage [04/11/15 00:06:59] Java で StringTokenizer と同じような機能のクラスは VB.NETにもありますか? MSDN内は探しましたが思っていたものとは違っていたようです ネットも一応調べたんですが64kbpsのため探し回れない状態です 時間がないため、indexOf と Substring を使って機能を実現しておきますが 作るのは面倒なのでよければ教えて下さい
427 名前:デフォルトの名無しさん mailto:sage [04/11/15 00:19:33] >426 ttp://java.sun.com/j2se/1.4/ja/docs/ja/api/java/util/StringTokenizer.html と言う事は、StringクラスのSplitメソッドが近いんじゃないか。
428 名前:デフォルトの名無しさん mailto:sage [04/11/15 00:36:44] >>427 ありがとうございます 使ってみます。
429 名前:yukki mailto:sage [04/11/15 10:41:44] VB.NETのSocket クラスを利用して、UDP通信でデータ受信時にイベントを発生させたいのですが方法がわかりません。 分る方いましたら返信お願いします。
430 名前:デフォルトの名無しさん [04/11/15 11:22:13] どのプロジェクトでも使う汎用的なboku の namespaceはどこに登録 するの? class の先頭でimports "boku"のように使いたい。
431 名前:デフォルトの名無しさん [04/11/15 14:07:41] Dim myArr() As [String] = {"RED", "orange", "violet", "RED"} の [String] はStringとはちがうのですよね。 []はなんの意味ですか?
432 名前:デフォルトの名無しさん mailto:sage [04/11/15 14:22:24] >>431 全く同じで単にコンパイラが無視するだけだが。 どこからそんな書き方が出てきたのかね。
433 名前:フナ太郎 mailto:sage [04/11/15 15:20:59] >>431 [ ] で囲むのは、VB.NET の予約語を、クラス名とか構造体名とかに 使えるようにするためだお。 この例だと、たぶんどっかに、 Class [String} ・・・・・ End Class みたいに定義されてるはずだから、探してみ?
434 名前:431 [04/11/15 15:33:47] そうなんですか? 今一必然性を感じないのですが。 カッコつきストリング、、、、、哲学ではよくカッコつきの何チャラって やりますが、その影響ですかね。多分カッコいいのでしょうね。 MSドットネットのカッコつきストリングのカッコよさについての考察せよ。 カッコいい!!
435 名前:デフォルトの名無しさん [04/11/15 15:39:51] 一生懸命JAVAをまねしても糞がでる。もとい、ボロがでる。
436 名前:デフォルトの名無しさん mailto:sage [04/11/15 18:54:19] >>432-433 なんか微妙に言ってることずれてると思う。あくまで微妙にね。 某所で馬鹿にされてる人の記事だが。。 www.atmarkit.co.jp/fdotnet/easyxml/easyxml12/easyxml12_02.html
437 名前:最凶VB厨房 mailto:sage [04/11/15 20:30:18] >>432 無視しないだろ。結果(生成されるIL)が同じだけだ。この場合。 >>433 [String]はSystem.Stringクラスだ。 自前実装じゃないぞ。 >>436 ってことを言いたかったの?
438 名前:デフォルトの名無しさん mailto:sage [04/11/15 20:55:33] >>437 ああ、>>433 は微妙どころじゃないね。だいぶずれてるわやっぱ。
439 名前:フナ太郎 mailto:sage [04/11/16 02:04:22] >>437 別に自前である必要はない
440 名前:デフォルトの名無しさん [04/11/16 04:46:23] 関数のなかで配列を宣言してその値を返すってOKですか? Function Test() As Date() ... Dim cn(2) As Date cn(0) = c1 cn(1) = c2 Return cn End Function
441 名前:TEE mailto:sage [04/11/16 07:08:09] >>440 んなもん、簡単にテストできるだろーが。
442 名前:デフォルトの名無しさん mailto:sage [04/11/16 08:18:17] VB.NET2004って出るだろうか
443 名前:デフォルトの名無しさん mailto:sage [04/11/16 12:32:18] 北の国から2004 Gold Finger 2004 Kinf of Fighter 2004 Gメン2004 Air Port 2004
444 名前:初心者 [04/11/16 15:57:11] vb.netでWMIの機能を使い、クライアントからサーバ上のアプリを起動させようとしています。 以下のようなサンプルコードを動かしているのですが、クライアント上のメモ帳が起動するだけでサーバ上のメモ帳は起動されません。 どのように修正すれば、サーバ上のメモ帳を起動できるのでしょうか。 恐れ入りますが、ご教示願えませんでしょうか。 Options.Username = "administrator" Options.Password = "password" Scope.Path.Server = "サーバ名" Scope.Options = Options Dim processClass As New ManagementClass("Win32_Process") Dim methodArgs() As Object = {"notepad.exe", Nothing, Nothing, 0} Dim result As Object = processClass.InvokeMethod("Create", methodArgs) Console.WriteLine("Creation of process returned: {0}", result) Console.WriteLine("Process id: {0}", methodArgs(3))
445 名前:デフォルトの名無しさん mailto:sage [04/11/16 16:05:33] >>444 ManagementObjectのコンストラクタ引数にせっかく作ったManagementScopeとObjectGetOptionsを指定してないのはどうしてかな。
446 名前:初心者 mailto:sage [04/11/16 17:42:24] >>445 様 ご回答頂き、本当にありがとうございます。 ご指摘の概念が良く理解できていないようです。 単純にクライアント側が起動する記述になっていたわけですね。 どのように指定するか考えてみたいと思います。
447 名前:デフォルトの名無しさん mailto:sage [04/11/16 19:13:19] 445がManagementClassをManagementObjectと取り違えてるのが混乱に一層の拍車をかけてるな。
448 名前:最凶VB厨房 mailto:sage [04/11/16 19:49:57] >>429 Socketクラスは利用してないが・・・。こんな感じかな。 Option Explicit On Option Strict On Imports System Imports System.Net Imports System.Net.Sockets Imports System.Text Public Delegate Sub ReceiveEventHandler(sender As object,e As UDPEventArgs) Public Class udps Public Event ReceivedUDPPacket As ReceiveEventHandler Protected Overridable Sub OnReceivedUDPPacket(e As UDPEventArgs) RaiseEvent ReceivedUDPPacket(Me,e) End Sub Public Sub Listen() Dim client As UdpClient=new UdpClient(10000) Dim ep As New IPEndPoint(IPAddress.Any, 0) While True Dim bb() As Byte=client.Receive(ep) Dim ueh As UDPEventArgs=New UDPEventArgs() ueh.ReceivedBytes=bb OnReceivedUDPPacket(ueh) End While End Sub End Class