VB.NET質問スレ (Part10)at TECH
VB.NET質問スレ (Part10) - 暇つぶし2ch463:デフォルトの名無しさん
05/03/29 21:15:13
>>458
熟読してみまーす
>>460
そーなんですかぁー、もうちょっと勉強してみまーす

答えてくださった方ありあとうございました。

464:デフォルトの名無しさん
05/03/30 09:13:18
VB.NETとC#.NETで書いたプログラムに処理速度の違いはあるんでしょうか。
C言語の方が高速だと言いますが、.NETで書いたプログラムはビルドすると
MSILという中間コードになるので基本的にはどちらも同じですよね。
ただ“VB.NET製のプログラムにはMicrosoft.VisualBasic.dllが必ずImportされて、
はずせない”ようなのでここで若干変わるんでしょう。だとしたら速度は
VB.NET<C#.NET<C++.NETだと思うんですがこれで合ってるでしょうか。
C++.NETはネイティブコードもできるということで一番上です。

465:デフォルトの名無しさん
05/03/30 09:14:59
有意の差はない。

466:デフォルトの名無しさん
05/03/30 20:59:10
.NET Frameworkって何たるかわかってないな。
MSILが何たるかわかってないな。

467:デフォルトの名無しさん
05/03/30 20:59:54
>>456 もバカ。

とイッテミルテスト。

468:デフォルトの名無しさん
05/03/30 21:14:06
>>466
誰に言ってるの?

469:最凶VB厨房
05/03/30 21:16:57
>VB.NET製のプログラムにはMicrosoft.VisualBasic.dllが必ずImportされて、
>はずせない

根拠を教えてください。

470:デフォルトの名無しさん
05/03/30 21:56:41
>>469
そんな厨房みたいな突込みわざわざせんでも。。

471:デフォルトの名無しさん
05/03/30 21:58:56
ちゃんと自称してるじゃないか。

472:デフォルトの名無しさん
05/03/30 22:28:21
>>465
有意の差ってどういう意味?

473:デフォルトの名無しさん
05/03/30 22:28:27
>>464
>VB.NETとC#.NETで書いたプログラムに処理速度の違いはあるんでしょうか。
C#の方が、効率のいいCILを出力するみたいだね。
速度はわずかに違うと思う。

>VB.NET製のプログラムにはMicrosoft.VisualBasic.dllが必ずImportされて
はずすことは出来るみたい。
URLリンク(homepage3.nifty.com)

474:デフォルトの名無しさん
05/03/30 22:30:49
Microsoft Text Driverを使ってCSVファイルのデータを
DataTableに入れたいのですが、CSVファイルの文字コードが
Shift-JIS以外では文字化けして正しく取得できませんでした。
(試したのはUTF-8とEUC-JP)
Shift-JIS以外のCSVファイルをMicrosoft Text Driverで
読み込むのは無理でしょうか。

objConn = New OdbcConnection
objAdapter = New OdbcDataAdapter
dtCsvData = New DataTable
objConn.ConnectionString = "Driver={Microsoft Text driver (*.txt; *.csv)};DBQ=" & Directory.GetCurrentDirectory() & "\.."
objAdapter.SelectCommand = New OdbcCommand("SELECT * FROM UTF8.csv", objConn)
objConn.Open()
objAdapter.Fill(dtCsvData)


475:デフォルトの名無しさん
05/03/30 23:01:14
>>470
しょうがないよ春休み終わるまで忍々

476:デフォルトの名無しさん
05/03/30 23:51:04
Hi japanese -)
im jon from new york


477:デフォルトの名無しさん
05/03/31 01:12:54
>>472
実感できるほど変わらないってことじゃねーの?

478:デフォルトの名無しさん
05/03/31 02:43:41
2005っていつ発売なのですか?

479:デフォルトの名無しさん
05/03/31 05:06:41
>>470
厨房みたいな突込みなのか?

480:デフォルトの名無しさん
05/03/31 09:08:57
どなたか>>474をお願いします。

481:デフォルトの名無しさん
05/03/31 10:35:27
>>424
うぅぅ、せっかく教えて頂いたのですが、使い方が全然分かりません・・・
分かりやすく解説してあるサイトや書籍などはないでしょうか。
MSDNに日本語のリファレンスとかないんですね・・・

482:デフォルトの名無しさん
05/03/31 10:56:05
やはり、バカばかりだ。
最低限の検証くらいしろよ。
せめてILレベルくらいの検証はしろ。ぼけ。

483:デフォルトの名無しさん
05/03/31 10:58:41
>>482
わたしのことですか?

484:デフォルトの名無しさん
05/03/31 10:59:50
>>482
君はそんなに優秀なのかな?このスレに誰からも
回答がつかなかった質問もたくさんあるようだけど、
どうして答えてあげないの?

485:482
05/03/31 11:03:55
うるせーな、ぼけ。わかんねーんだよ、バカ。

486:デフォルトの名無しさん
05/03/31 11:06:21
>>481
リファレンスぐらい英語で困る事なんかないと思うんだが……。
必要なのは型/メソッド/プロパティ名と仮引数と返値の型くらいじゃん。
統合開発環境使ってればカバーしてくれるし。
それともDOMを今までいじった事がないのか?

487:デフォルトの名無しさん
05/03/31 11:13:27
>>486
英語のリファレンスとは
URLリンク(msdn.microsoft.com)
のことでしょうか。

とりあえずファイルから読み込みたいのですが、IPersistFilePtrが
見当たらなくて困っています・・・

488:デフォルトの名無しさん
05/03/31 11:18:20
すいません。>>474はムリでしょうか。

489:デフォルトの名無しさん
05/03/31 13:02:49
自分が出来るからってきどってんじゃーねよタコ

490:デフォルトの名無しさん
05/03/31 14:24:37
>>487
IHTMLDocument2にキャストして、StreamReaderとかでファイルから読み込んだ文字列をwriteしてやればいいようだな。
IPersistFileは自分で定義しても何故かどうもうまくいかない。createDocumentFromUrlも。

491:デフォルトの名無しさん
05/03/31 15:45:56
コマンドラインパラメータを取得するにはどうしたらよいでしょうか?

492:デフォルトの名無しさん
05/03/31 15:52:52
Mainメソッドの引数に与えられるが、Mainメソッドは普段隠蔽されてるんだよな。
System.Environment.GetCommandLineArgsメソッド。

493:デフォルトの名無しさん
05/03/31 15:57:47
vbのプログラム上からアクロバットリーダーを呼び出したいのですが
立ち上がるアクロバットリーダーが常に一つしか立ち上がりません。
ファイル名が異なれば新しくアクロバットリーダーを立ち上げたいのですが
どうしたらいいんでしょうか?
以下はアクロバットリーダーを立ち上げている部分のソースです

Dim myProcess As Process
Dim startInfo As ProcessStartInfo
startInfo = New ProcessStartInfo(Path)
myProcess = Process.Start(startInfo)


494:デフォルトの名無しさん
05/03/31 16:03:35
>>482
お前、いったい誰に言ってんの?


495:デフォルトの名無しさん
05/03/31 16:05:48
>>494
反応するような、藻前みたいなヤツに言ってるんだろう (プ

496:デフォルトの名無しさん
05/03/31 16:06:38
>>492
さんきゅう!

497:デフォルトの名無しさん
05/03/31 16:14:49
>>490
>IHTMLDocument2にキャストして、StreamReaderとかでファイルから読み込んだ文字列をwriteしてやればいいようだな。
申し訳ないのですが、サンプルソースを載せていただけないでしょうか。

498:デフォルトの名無しさん
05/03/31 16:22:04
>>495
オレのレスがおかしかったのか、気になったんでな。

499:デフォルトの名無しさん
05/03/31 16:23:07
>>497
えー。それくらい書こうよー。

Dim doc As New mshtml.HTMLDocument()
Dim sr As New StreamReader("c:\hoge.html", System.Text.Encoding.GetEncoding("Shift_jis"))
Dim doc2 As mshtml.IHTMLDocument2 = doc
doc2.write(sr.ReadToEnd())
doc2.close()
sr.Close()
Dim elem As mshtml.IHTMLElement
For Each elem In doc.all
    Debug.WriteLine(elem.tagName)
Next

500:デフォルトの名無しさん
05/03/31 16:36:24
>>493
どういう状況になってるのかは書いてないから分からないけど、
アクロバットリーダーの制限じゃないの?

私のとこのアクロバットリーダー7.0だと、初めにプロセスが一つ立ち上がって、
その後Prcess.StartするたびにMDI子ウィンドウが増えるようになるが。

501:デフォルトの名無しさん
05/03/31 17:05:17
>>500
ありがとうございます。
>Prcess.StartするたびにMDI子ウィンドウが増えるようになるが。
のレスで自分の間違いに気づきました。
アクロバットを立ち上げるメソッド内でProcessを宣言して
正常に起動したらProcessはcloseしていました。
フォームが立ち上がってる間はProcessはcloseせずに
ずっと開きっぱなしにしておかないと駄目だったんですね。
お手数おかけしました。

502:デフォルトの名無しさん
05/03/31 17:21:20
ShowDialogで生成されたインスタンスって
ほおって置けば勝手にガベージされるの?
それともDisposeしないと永久に残る?

503:デフォルトの名無しさん
05/03/31 17:30:05
>>499

んー、ヘタなソースですが参考にさせて頂きます。

504:デフォルトの名無しさん
05/03/31 17:52:44 BE:157221599-
タダで他人にコード書かせておいて「下手なソース」とかよく言えるよな。

505:デフォルトの名無しさん
05/03/31 17:53:24
>>502
DisposeはGCとは関係ないぞ。

参照が無くなったらGCの対象になる。

506:デフォルトの名無しさん
05/03/31 18:07:18
>>505
トンクス

どうやら勘違いしてたようです
ボタンクリック等のプライベート関数で
FormをShowDialogすると
アプリケーション終了の段階でようやくForm.Disposeが走ってたので
CGがDisposeを実行してるのかと

もうちょっと調べてみますです




507:デフォルトの名無しさん
05/03/31 18:25:02
今すごいことに気づきました。
今まで自分で作ったソースを見ると、
イベントハンドラの第一引数senderの型が
ObjectだったりSystem.Objectだったりしてます。
フォームのロードでもクロージングでもクローズドでも
ボタンのクリックでもメニューのクリックでもです。
これってなんででしょうか?
みなさんのソースはどうですか?


508:デフォルトの名無しさん
05/03/31 18:26:23
どこがすごいんだ?

509:デフォルトの名無しさん
05/03/31 18:29:00
senderはイベントを起こしたオブジェクトが入る。
Button1_ClickならButton1が入ってるし、Form1_LoadならForm1が入ってる。
そのためどんな型でも入るようにObject型で宣言する。

それだけの話。

510:デフォルトの名無しさん
05/03/31 19:05:35
> ObjectだったりSystem.Objectだったりしてます。

これも突っ込むところなのだろうか・・・?

511:デフォルトの名無しさん
05/03/31 19:20:05
>>504

んーと、タダからヘタでも許してあげる、ってとこですかね。

512:デフォルトの名無しさん
05/03/31 19:33:33
>>507
> ObjectだったりSystem.Objectだったりしてます。
同じじゃねーか

513:デフォルトの名無しさん
05/03/31 20:21:56
>>512
その違いも分かってないのか・・・いたたたたた・・・

514:デフォルトの名無しさん
05/03/31 21:04:25
どなたか>>474をお願いします・・・

515:デフォルトの名無しさん
05/03/31 21:20:18
CE用のプログラムで
ポケットPCのシステム日付時刻を変更する方法はありませんか?

516:デフォルトの名無しさん
05/03/31 21:26:52
>>515
DateAndTimeモジュールのTodayプロパティ・TimeOfDayプロパティはサポートされてない?

517:デフォルトの名無しさん
05/03/31 21:38:16
>>516
ヘルプ

518:デフォルトの名無しさん
05/03/31 21:42:03
断末魔?

519:デフォルトの名無しさん
05/03/31 21:48:24
>>518
そう。消えろ。

520:デフォルトの名無しさん
05/03/31 22:00:56 BE:28350533-###
VC++に比べてなんでこんなにVBは簡単なのでしょうか?

521:デフォルトの名無しさん
05/03/31 22:06:42
DateAndTime.TodayにDateを入れて変更しようとすると
noSupportedExceptionのエラーが出てしまいます…

522:デフォルトの名無しさん
05/03/31 22:17:37
>>502
ShowDialogのときは、不要になったときに
Disposeしておいた方がいい。

ほうっておいてもアプリケーション
終了時に破棄されるとは思うけど。

523:デフォルトの名無しさん
05/03/31 22:21:50
>>521
となるとこいつかな。
URLリンク(bbs.wince.ne.jp)
VBのソースなので注意。

524:デフォルトの名無しさん
05/03/31 22:55:26
VBのやり方だと出来ないっぽいです…
Microsoft.VisualBasic.DateAndTime.Todayを使おうとすると
notFupportedExceptionが発生してしまっています

525:デフォルトの名無しさん
05/03/31 23:02:15
> VBのやり方だと出来ないっぽいです…

てのはどういう意味かな?
523の話?

526:デフォルトの名無しさん
05/03/31 23:03:52
どなたか>>474をお願いします。

527:デフォルトの名無しさん
05/03/31 23:10:54
>>525
ごめんなさい
523のことです

compactだと時刻設定は出来ないんですかねえ…

528:デフォルトの名無しさん
05/03/31 23:14:25
>>527
どうできないのかを聞くまでは。
何かの例外が投げられるのか?
(リンク先で言う)SetTime関数がFalseを返すのか?
文字変換部分はうまくできているのか?

529:デフォルトの名無しさん
05/03/31 23:27:03
SmtpMail使ってtext/plainなメールを送信したら本文の最後に必ず改行が足されるんですけど、
これって仕様?

530:デフォルトの名無しさん
皇紀2665/04/01(金) 08:59:13
>>513
ObjectとSystem.Objectの違いを教えて下さい。
旧型Objectと新型Object(.NET)
ってことだけで、同じですよね?


531:デフォルトの名無しさん
皇紀2665/04/01(金) 09:31:42
>>530
>>513ではないが
ObjectはSystem.Objectのエイリアスだよ。
要するに、同じものです。

532:デフォルトの名無しさん
皇紀2665/04/01(金) 10:01:44
名前空間を理解してないんじゃない?

533:デフォルトの名無しさん
皇紀2665/04/01(金) 10:14:47
>>531
さんくす。

でもなんで、同じForm_Loadで
senderがObjectだったり、System.Objectだったりするのだろう?
エイリアス使ったりそうでなかったりなのでしょう?
どうして使う名前が統一してないのでしょう?


534:デフォルトの名無しさん
皇紀2665/04/01(金) 10:43:07
>>533
残念ながら、私はVB.NETを
使ったことがないんでよくわからないです。

>>532
名前空間は関係ないよ。

535:デフォルトの名無しさん
皇紀2665/04/01(金) 11:00:17
>>534
.NET使ったことなくてよくわかんねーならだまってろ。

名前空間そのものの話だろうがよ。

536:デフォルトの名無しさん
皇紀2665/04/01(金) 11:21:49
.NET使ったことがないとは言ってないが・・・

>名前空間そのものの話だろうがよ。
IntegerとSystem.Int32のような関係といったらわかる?

537:デフォルトの名無しさん
皇紀2665/04/01(金) 11:57:59
>>533ですが、なんか文がおかしいので訂正します。

×どうして使う名前が統一してないのでしょう?
○どうして使う名前が統一されてないのでしょう?
○どうして(MSは)使う名前を統一してないのでしょう?

選択すると自動で作成されるイベントハンドラで、
Form_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
Form_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
だったり、なんかソースが統一されてなくていやです。


538:デフォルトの名無しさん
皇紀2665/04/01(金) 12:30:19
なんか厨房ネタが続いているなあ。。
>>536
Objectがエイリアスだと思ってるのか。。
それこそ違うよ。

539:デフォルトの名無しさん
皇紀2665/04/01(金) 12:31:53
>>538
じゃあ、Systemをインポートしなくても大丈夫なのは何で?

540:デフォルトの名無しさん
皇紀2665/04/01(金) 12:41:08
>>539
ネタだと思うけど一応回答ね。
プロジェクトのプロパティを見るべし。

541:デフォルトの名無しさん
皇紀2665/04/01(金) 12:43:42
>>540
はっはっは、vbc.exeでメモ帳に書いたソースをコンパイルした事もないのかい?

542:デフォルトの名無しさん
皇紀2665/04/01(金) 12:45:00
うろ覚えだが、プロパティのインポートってとこ?
Systemを削除してもコンパイル通るけど。

543:デフォルトの名無しさん
皇紀2665/04/01(金) 13:38:06
さちこさん。お茶

544:デフォルトの名無しさん
皇紀2665/04/01(金) 15:00:00
マルチスレッドについて質問です

URLリンク(dobon.net)

の後半に、マルチスレッドのサンプルコードがあります。
その中で、ボタンのEnabledを変更するためや、コントロールの値を変更するために
デリゲートを使用しているのですが、これはなぜでしょうか?

調べてみると、どうやら非同期デリゲートというものらしいのですが、
いかんせんスレッドもデリゲートも初心者の旧VBプログラマなので、
なぜこういうコーディングになったのかを理解したいのです。

デリゲートにすると非同期になるんですか?
なぜ非同期でないとまずいのでしょう?
普通にButton1.Enabled = true とするとどうなってしまうの?

どなたかお分かりになる方、ご教示ください

545:デフォルトの名無しさん
皇紀2665/04/01(金) 15:17:50
文字列を指定したキーで暗号化してくれる関数を探しています。
もしご存知のかたがいましたら教えてください。
こんな感じで・・・

private function 文字列暗号化(byval s as string, byval key as string) as string


546:デフォルトの名無しさん
皇紀2665/04/01(金) 15:27:24
ありました。

547:デフォルトの名無しさん
皇紀2665/04/01(金) 15:28:25
>>544
> デリゲートを使用しているのですが、これはなぜでしょうか?

Invokeを使うから。

デリゲートというのは、メソッドそのものを変数に代入できるようにしたもの。
そうすることで、例えばデリゲートを引数に取るメソッドを書くと、そのメソッド先で“デリゲートで指定されたメソッド”を実行できるようになるわけ。
で、Invokeメソッドはデリゲートを引数に取るから、デリゲートを作ってるわけ。

InvokeメソッドはForm(の基底クラスのControl)に実装されたもので、
「“自分を作ったスレッド”で、“渡されたデリゲートで指定されたメソッド”を実行する」
という働きをする。

デリゲートもクラスの一種なんだけど、宣言すると自動的にBeginInvoke/EndInvokeと言うメソッドが追加される。
これが非同期デリゲートと言って、BeginInvokeを呼び出すとそのデリゲートに指定されているメソッドが別スレッドで実行される事になる。
んだけれども、この場合は関係ない話なので、非同期デリゲートの事は棚に上げておいて良い。
あと一応フォローしておくと、「非同期で実行」=「別スレッドで実行」。

> 普通にButton1.Enabled = true とするとどうなってしまうの?

なぜInvokeを使うか、というのの詳細は面倒なので省略。
・必ずコントロールを作成したのと同じスレッドで操作しなければならない
・作成スレッドと同じスレッドで操作するのにはそのコントロールのInvokeまたはBeginInvokeを使う
・その操作処理はデリゲートでラップしてInvoke/BeginInvokeの引数に渡す
という点だけ覚えればいい。
そうしない場合、「何が起こるかは保証されない」。

548:デフォルトの名無しさん
皇紀2665/04/01(金) 16:45:37
ネットワーク上のPCの共有フォルダにアクセスしたいのですが、
ユーザーとパスワードを指定してアクセスできるようなクラスはありますか?

549:デフォルトの名無しさん
皇紀2665/04/01(金) 16:52:30
クラスはない。
Win32API使うしか。

550:548
皇紀2665/04/01(金) 16:55:36
>>549
む、マジすか・・・

551:デフォルトの名無しさん
皇紀2665/04/01(金) 17:03:07
>>547
詳細な解説、ありがとうございます
30回くらい読み返して、ようやく意味が分かってきました

ちなみに、コントロール(とか、そのスレッド内で作成されたオブジェクト)に関わらないメソッドなら
そのまま呼び出してもいいという理解でよろしいですか?
数値・文字列等の演算系関数とか

あ、でもStringすらクラスですよね
ということは、クラスのスコープが大事ということでしょうか?
呼び出すメソッド内で作成され、消滅するクラスオンリーで構成されたメソッドなら、そのまま呼んでよし、とか
プロジェクトや、フォーム全体で使用しているクラス(グローバルやソースの上の方で宣言したりするもの)を触るメソッドなら、デリゲートで呼ばないとだめ、とか

マルチスレッドは奥が深いですね
むずかしー

552:デフォルトの名無しさん
皇紀2665/04/01(金) 19:05:46
>>551
> ちなみに、コントロール(とか、そのスレッド内で作成されたオブジェクト)に関わらないメソッドなら
> そのまま呼び出してもいいという理解でよろしいですか?
> 数値・文字列等の演算系関数とか

勿論。
というかInvokeしたら全てコントロール作成スレッドで実行される事になって、マルチスレッドじゃなくなってしまう。

> あ、でもStringすらクラスですよね
> ということは、クラスのスコープが大事ということでしょうか?

いいや、スレッドを超えてオブジェクトを共有して構わない。
寧ろオブジェクトを共有できる事にスレッドの意味がある。
Invokeしなければならないのは、コントロール(System.Windows.Forms.Controlとその派生クラス)を操作する時のみ。

ただし2つのスレッドから同時にあるオブジェクトを操作してしまったりすると問題が起こりうるから注意が必要だ。
例えばあるスレッドでArrayListをFor Eachしている時に、別のスレッドでこのArrayListにAddしたりRemoveしたりしたら、正しくFor Eachできなくなる。
そういうのを避けるためにSyncLockステートメントなどがある。

553:デフォルトの名無しさん
皇紀2665/04/01(金) 19:09:27
DOBONさんとこのメルマガのバックナンバー嫁、でいいんじゃないの?
ここで説明しきるなんて無理なんだから。

554:デフォルトの名無しさん
int 2ch =05/04/01(金) 20:50:13
まあ、自分の中での整理も兼ねて。

555:デフォルトの名無しさん
int 2ch =05/04/01(金) 21:58:08
バカばかりだしな。

556:551
int 2ch =05/04/01(金) 22:44:26
>>552
なるほど!
重ね重ねありがとうございました。
大変参考になりました。
精進致しますです。

>>553,555
申し訳ありませんでした。もう消えますので勘弁して下さい。

557:デフォルトの名無しさん
int 2ch =05/04/01(金) 23:29:40
どなたか>>474をお願いします。

558:デフォルトの名無しさん
int 2ch =05/04/02(土) 01:47:58
結局>>533は誰もわからないということでしょうか?



559:最凶VB厨房
int 2ch =05/04/02(土) 01:59:26
なんで統一してないかなんて作った奴に聞かんとわからんだろう。
だぼーくぃっくで生成したかリストから選んで生成したかがわかるかも
しれんぐらいだな。

560:デフォルトの名無しさん
int 2ch =05/04/02(土) 10:10:38
>>559
しょーがないな。
このスレは、言語だけでなく文章まで初心者の香具師ばかりだから。

561:559
int 2ch =05/04/02(土) 10:17:11
文章を正して投稿して。

562:デフォルトの名無しさん
int 2ch =05/04/02(土) 13:47:52
>>558
IDE の仕様の話をされても困りますから (w

563:デフォルトの名無しさん
int 2ch =05/04/02(土) 13:48:29
>>557
あのな・・・
『少しは』自分で考えなさい。
『少しは』ね。

564:デフォルトの名無しさん
int 2ch =5,2005/04/02(土) 14:48:06
>>563
いや、もちろん自分でも考えるというか試してますが、
どうも私にはムリそうなので質問しているのです。

565:564
int 2ch =5,2005/04/02(土) 14:51:41
ちなみにShift-JIS以外の場合はいったんShift-JISの一時ファイルに
変換してから>>474の方法で読み込む、という方法で一応は
解決しています・・・が、どうにも不細工なやり方に思えるので、
スマートにできるやり方を知っている方がおられましたら
是非お願いします。

566:デフォルトの名無しさん
05/04/02 20:17:50
このスレは馬鹿の溜まり場みたいな
ところだから、聞くだけ無駄だろ。

567:デフォルトの名無しさん
05/04/02 20:45:09
春だねぇ。縦読みにすらなってない。

568:デフォルトの名無しさん
05/04/02 20:52:13
バグにもならないコメント文みたいなもんだな。

569:デフォルトの名無しさん
05/04/02 21:05:16
>>568
いいえ。

570:デフォルトの名無しさん
05/04/02 21:05:37
>>566
了解しました。

571:デフォルトの名無しさん
05/04/02 23:53:02
VB.NETの初心者です。
テキストファイルをStreamReaderで開くときにエンコードを
指定できますが、あらかじめ文字コードが分かっていない
場合はどう指定すればよいのでしょうか。


JavaだとJISAutoDetectとかいうのがあって便利だったのですが。

572:デフォルトの名無しさん
05/04/02 23:58:01
>>571
URLリンク(www.gprj.net)
これでも使わせて貰うか。

573:デフォルトの名無しさん
05/04/03 00:11:17
>>572
却下します。

574:デフォルトの名無しさん
05/04/03 00:15:33
そうか。じゃあ自前実装で車輪の再発明を頑張れ。

575:デフォルトの名無しさん
05/04/03 08:38:26
発明じゃなくて、作りなおしだろ。ばか

576:デフォルトの名無しさん
05/04/03 10:07:36
>>574
アホな人

577:デフォルトの名無しさん
05/04/03 12:25:00
普通のスレなら春休みの厨房クンが……と思うところだけど
もともとVBやってる奴ってスキルだけでなく人格的にも未熟な奴が多いからなあ。。

幼稚な自分に嫌気がささないところが不思議でしょうがないんだけど、
まあ自意識ないんだろうなこういう輩は。

578:デフォルトの名無しさん
05/04/03 12:39:25
>>577
自意識ないんだろうなぁ、こういう輩は。

579:デフォルトの名無しさん
05/04/03 13:45:57
C#             VB.NET       VB(p-code)
平均    310    平均    1190    平均    5488
最小    296    最小    1156    最小    5468
最大    329    最大    1313    最大    5625

1億回の計算を連続で行うのにかかった時間(ミリ秒)

580:デフォルトの名無しさん
05/04/03 13:56:43
これだけじゃ判断しようがないんだが。

581:デフォルトの名無しさん
05/04/03 14:33:46
>>580
許してやれよ。

582:デフォルトの名無しさん
05/04/03 14:34:23
>>579
どうせ等価なコードは書けてないんだろ。

583:デフォルトの名無しさん
05/04/03 14:36:41
>>579
それぞれのソースを晒せ

584:デフォルトの名無しさん
05/04/03 14:40:03
>>583
多分全然等価じゃないコードが出てくると予想。

585:デフォルトの名無しさん
05/04/03 14:45:12
コードは等価なんです!

実行した機材が違うだけで。

とか?

586:デフォルトの名無しさん
05/04/03 14:46:43
>>585
つまんね。

587:デフォルトの名無しさん
05/04/03 14:47:19
>>585
見当違いのツッコミはやめてくれ。

588:デフォルトの名無しさん
05/04/03 17:09:44
不満があるなら自分で試せよ

589:デフォルトの名無しさん
05/04/03 17:12:33
>>588
とうの昔に試してるけど?
バカにデータは公開しないが。

590:デフォルトの名無しさん
05/04/03 17:13:15
>>579
ソースを含め、何の条件も添えずにこんなデータ出す奴の
気が知れないよな。

591:デフォルトの名無しさん
05/04/03 17:42:03
>>589
口だけじゃダメだな

592:デフォルトの名無しさん
05/04/03 18:03:13
>>591
あらら。あなたは?

593:デフォルトの名無しさん
05/04/03 18:09:50
>>592
わたしは星の王子様よ

594:デフォルトの名無しさん
05/04/03 18:18:43
自分でやろうやろうと思って忘れてて、
いざ他人に先越されると悔しくて難癖つける・・と。メモ

595:デフォルトの名無しさん
05/04/03 18:45:52
メモ♥

596:デフォルトの名無しさん
05/04/03 18:58:19
>>593-595
あのー、色々書いてるようですけど、あなたは
どこが違うのですか?

597:デフォルトの名無しさん
05/04/03 19:01:17
この板も早くIDつけてほしいよな。

598:デフォルトの名無しさん
05/04/03 19:34:13 BE:104814869-
みんなでbe付ければ解決。

599:デフォルトの名無しさん
05/04/03 20:06:46
>>594
で?君は?

600:デフォルトの名無しさん
05/04/03 20:20:52
>>598
おお、こんなのあったんだ。
で、beってどうやって付けるの?

601:デフォルトの名無しさん
05/04/03 22:33:41
他の人のベンチマークまだぁ?

602:デフォルトの名無しさん
05/04/03 22:51:44
>>601
お前のは?

603:デフォルトの名無しさん
05/04/03 23:17:50
>>579のデータがおかしいと言うのなら、まず自分で数値出さないとねぇ。
C#とVB.NETなんて速度ちっとも変わらねぇよとでも言いたいのか?
そう言いたいならハッキリそう言えばいい。

604:デフォルトの名無しさん
05/04/03 23:29:21
折れのでは、C#:VB.NET = 1:1 だった。
変わんない

605:デフォルトの名無しさん
05/04/04 01:58:32
C#とVB.NETに速度の違いがあるとすると整数のオーバーフローチェックの
デフォルトの違いくらい。それほど違いが出るものかな?
/removeintchecks
/checked

606:デフォルトの名無しさん
05/04/04 05:06:16
関数使ってると変わってくるんじゃないのか

607:デフォルトの名無しさん
05/04/04 09:38:39
>>603
それ以前の問題であることに早く気付いてください。
>>590とかで乱暴ながらも指摘されてるのに
気付かなかった?

608:デフォルトの名無しさん
05/04/04 10:06:37
> まず自分で数値出さないとねぇ。

利用規約違反ですね。タイーホします。

609:デフォルトの名無しさん
05/04/04 10:33:22
>>608
だな。

おまえら、EULAをちゃんと嫁。
このうんこやろう。

610:デフォルトの名無しさん
05/04/04 10:33:49

If button Is TBB0 Then
'TBB0のときに必要な処理

ElseIf button Is TBB5 Then
'TBB5のときに必要な処理

End If

↑こんなコード(button、TBB0、TBB5はいずれもButton型)
をSelect Caseで整理しようとしてるんだが、Select Caseでは
Button型は使えないみたいで、CObj()を通してもだめで、
しかたなく

Select Case button.Text
Case TBB0.Text
'TBB0のときに必要な処理
Case TBB5.Text
'TBB5のときに必要な処理
End Select

こんなごまかしで動かしていますが、もっとうまい方法はないものでしょうか?
(TBB0.Text=TBB5.Textになっちゃうとおかしくなりますし)


611:デフォルトの名無しさん
05/04/04 11:07:56
>>610
どうしてもというなら.Nameで分岐するとか。

612:610
05/04/04 12:07:59
>>611

うう、ありがとうごぜぇますだ。さっそく試すべ。。。
あれ、なんか違うかも?ん?、Button型じゃなくてToolBarButton型?
え、なんでNameプロパティないの?

すみません、質問するまえにもうちょい下調べしないと。
でもオブジェクトを確実に識別できるプロパティを探せばいいわけだし、
がんばってみます。

613:デフォルトの名無しさん
05/04/04 12:27:50
>>607
いちいちソース書くのめんどくせ

614:デフォルトの名無しさん
05/04/04 12:42:10
下手したら30代超えのオッサンが「うんこ野郎」だの「タイーホ」だの言ってるかと
思うと反吐が出るな。

幼稚臭っ。キモ過ぎる。

615:デフォルトの名無しさん
05/04/04 12:43:25
なんでVB使いにはこんな幼稚な奴が多いんだ?

616:デフォルトの名無しさん
05/04/04 16:02:32
>>612
.Tagがあるなら、好きなのを定義して分岐のキーにできる。

617:デフォルトの名無しさん
05/04/04 16:11:07
ToolBarButtonなら、ToolBarのButtons.IndexOf(button)でインデックスベースという手もあるが。

618:デフォルトの名無しさん
05/04/04 16:35:05
>>610
ヘルプぐらい読め。

619:デフォルトの名無しさん
05/04/04 16:59:12
>>613
発想がおかしい。省略していいかどうかの判断ができていない。
それにソースだけではないとも指摘されているが
それについて触れようともしていない。

結論。アホ。

620:610
05/04/04 18:02:49
>>616

Tagは真っ先に考えたのですが、フォームが多数あって
Tagを入れ忘れるやつがいないとも限らないので
(VBのToolbarでKeyの入れ忘れを散々やってます(汗))
他の方法がないかと勉強してたところなのです。
(入れ忘れさえなければいい方法なのですが)


>>617

With TB1.Buttons
Select Case .IndexOf(button)
Case .IndexOf(TBB0)
Case .IndexOf(TBB5)

こんな感じになりますた。だいぶすっきりだし、判定もまちがいなさそうです。


>>618

すまぬ。ヘルプみたのだがいい方法が見つからなんだ。

621:デフォルトの名無しさん
05/04/04 19:41:17
素直にIf...ElseIfで書いたほうが後々理解しやすいと思うけど。。

622:デフォルトの名無しさん
05/04/04 20:25:05
これのことかと思ったんだけど、勘違いかな?
URLリンク(www.microsoft.com)

623:デフォルトの名無しさん
05/04/04 20:26:18
>>621
まあまあ。こういう輩にそんなこと言ったって
わかんないんだって。分かりやすいプログラムを書ける人が
PGとして高く評価されることにそのうち気付くかなぁ。

624:デフォルトの名無しさん
05/04/04 20:57:04
>>621 現場の事わかってない厨か学厨でしょ しょせん
自分でマスかいて、高度な事やってるつもりでも
周りはいい迷惑なんだって
おまえが責任もって最後まで虫取り保守やれっていいたくなる

625:デフォルトの名無しさん
05/04/04 21:14:15
やっぱり、バカが集まるところだ。ここは。

626:デフォルトの名無しさん
05/04/04 21:28:21
>>624
現場を気取ってるが多分学生だな。
多分本当に現場にいるPGなら後半2行にそのことを
露呈した記述があることにすぐ気付くと思うが。
>>625はそれを指摘してるんだよな。

627:デフォルトの名無しさん
05/04/04 21:35:33
一人芝居が上手なスレはここですか?

628:デフォルトの名無しさん
05/04/04 21:44:22
>>626
げっ
ばれましたか
さすがです...ショボーン

629:デフォルトの名無しさん
05/04/04 22:08:57
>>626
はい。626は私ですよ。
一人芝居は>>627-628ですね。
それじゃ。

630:629
05/04/04 22:09:38
あー、アンカーは626じゃなくて628にするべきだったね。
まーどうでもいいけど。

631:デフォルトの名無しさん
05/04/04 22:13:44
>>619
数値だけ出して読む側がそれを信じようが信じまいが問題なし
別に何をどう書こうが自由だしw

632:デフォルトの名無しさん
05/04/04 22:55:13
>>631
まだ分かってないみたい。信じる信じない以前に
判断を下しようがない、って言ったら分かる?

分かりやすいように、君がやったことを極端な例にしてあげようか?

パフォーマンス測定しました!
VB.NETは1秒、C#では100秒でした。
終わり。

633:デフォルトの名無しさん
05/04/04 23:50:52
>>632
まだ分かってないみたい。読み手が判断を下す以前に
何を書こうがどんな書き方をしようが自由だって言ったらわかる?
終わり。

634:デフォルトの名無しさん
05/04/04 23:53:12
>>633
それはいいけどその後の君の対応はNG。

635:デフォルトの名無しさん
05/04/04 23:55:05
>>633
はいはい。このスレを君の落書き帳として使わせてくださいってことね。
それに対しては「いいよ、通報されない程度にね」としか
言いようがないな。

636:デフォルトの名無しさん
05/04/04 23:55:59
>>633
分かりました。あのデータがどんな条件やどんなソースから
得られた数値なのか興味があるのですが、提示して頂けませんか?

637:デフォルトの名無しさん
05/04/04 23:56:14
>>634
どんな対応をしても自由だしw、NGだと思っているだけだろう

638:デフォルトの名無しさん
05/04/05 00:03:29
必死になりすぎて恰も別人を装っているかのように思える。
>>635
もし荒らしだと思っているなら、それに反応するのも荒らしだな。
荒らしを助長していることになる。
>>636
めんどくせ

639:デフォルトの名無しさん
05/04/05 00:17:07
>>638
捏造データ?じゃないですよね。
ソースはもう消してしまったんですか?

640:デフォルトの名無しさん
05/04/05 00:20:41
>>639
ごめんなさーい、もう消してしまったんですぅーm(_ _)mペコリ

641:デフォルトの名無しさん
05/04/05 00:24:12
>>640
ふーん

642:デフォルトの名無しさん
05/04/05 00:26:58
>>641
あきらめてね~

643:デフォルトの名無しさん
05/04/05 00:41:21
>>642
ソース見て叩こうと思ったけど無理みたいだから諦めます。

644:デフォルトの名無しさん
05/04/05 00:42:51
>>642
よっぽど他人には見せられない代物だったんだろうなぁ。

645:デフォルトの名無しさん
05/04/05 00:50:21
>>643
暇つぶしができると思って期待してたのかな?相手できなくてごめんね
>>644
見せられないのではなく、何度も言っているように見せるのがめんどくさいんだよ。
やっとわかってくれたかな?

646:質問age
05/04/05 00:57:13
しつもんです!そもそも>>633さんは何が訊きたかったのでつか?

647:デフォルトの名無しさん
05/04/05 01:01:22
>>646
その何かがわかるまでスレッドの中を何度も繰り返し読んでみよう!
きっと何かがわかってくるはずだよ。

648:646
05/04/05 01:13:06

世の中は春休みだという事がわかりますた。。。_| ̄|○

649:デフォルトの名無しさん
05/04/05 01:14:26
わかるの遅っ

650:最凶VB厨房
05/04/05 01:14:47
世の中は春休みだったのか・・・。
俺がいる世界はもしかしてあの世なのか?!
こりゃまいったわぃ

651:デフォルトの名無しさん
05/04/05 01:23:38
わかるの遅っ

652:デフォルトの名無しさん
05/04/05 07:07:22
>>645
あれー?削除しちゃったんじゃなかったんだー。
コロコロ変わるねーw

653:デフォルトの名無しさん
05/04/05 09:09:00
普通に組んでC#の方が速いならC#で作りたいなぁ


654:デフォルトの名無しさん
05/04/05 09:12:28
普通に組んでC++の方が速いからC++で作るといいよ。

655:デフォルトの名無しさん
05/04/05 09:19:03
C++は難しいのでやめておきます。

656:デフォルトの名無しさん
05/04/05 09:36:16
>>652
削除したことどこでも否定してないけどw 頭大丈夫?
まぁ、めんどくさいと言っても削除しちゃったから見せることすらできないけどねw

657:デフォルトの名無しさん
05/04/05 16:40:23
URLリンク(www.atmarkit.co.jp)
↑サンプルアプリケーションがあったのでちょっと拝見

しかし、こんなもの見て「よし、これやってみよう」なんてプログラマいないよな?
まんど臭い機能つけて後で突っ込み浴びて却下とかなったら、破壊したくなるもんなあ。
Sのプログラマは駄目かと思われ・・受身が一番で常。

ただRAD手法は絶対必要だと思う。んでもって強気にいかないと(仕様変更をあの手この手で防がないと)、納期に間に合いません!

フィックスって言ってたやん・・なんて愚痴は何百回言ったことでしょうか・・

658:デフォルトの名無しさん
05/04/05 23:54:06
>>656
>>656
>削除したことどこでも否定してない
まさにあなたはそこを突っ込まれたのですよ。
理解してから書くか、理解できてないのならダンマリでよろしく。

659:デフォルトの名無しさん
05/04/06 00:58:46
そろそろウザいので相手するな。

660:デフォルトの名無しさん
05/04/06 03:24:21
>>658
いやぁ以前にも書いたけどどんな書き方しようが自由だからね。
そんなに僕ちゃんのおふざけが気に入らなかったかなw

661:デフォルトの名無しさん
05/04/06 07:11:59
>>659
うん。

662:デフォルトの名無しさん
05/04/06 11:31:39
あるプロセスが起動中か確認したいのですが
どうのようにすればよいでしょうか?
例えばhoge.exeか起動中かどうかというのを
確認したいです。


663:デフォルトの名無しさん
05/04/06 11:40:31
System.Diagnostics.Process.GetProcessesByName

664:デフォルトの名無しさん
05/04/06 11:43:15
>>663
さんくす

665:デフォルトの名無しさん
05/04/06 15:03:27
>>661
アホだったらいちいち相手しないよ。

666:デフォルトの名無しさん
05/04/06 16:05:06
WebBrowserコンポーネントで開いたExcelのイベントを取ることは可能だろうか?

667:初歩的な質問なのですが
05/04/06 16:05:18
初歩的な質問なのですが、vb.netを使ってアプリケーションを作成し、
セットアッププロジェクトでインストーラーを作成しています。

その際に作成した「プロジェクトファイル名\obj\Release」に作成したアプリケーションが出来ますが、
これをセットアッププロジェクトの「アプリケーションフォルダ」にドラックアンドドロップして、作成したアプリケーションを含めてビルドを行うと、依存関係が見つかりませんと出ます。

アプリケーション単体でビルド行った際には出ないのです。
もちろん、必要なCOMなどは参照設定で登録しております。

これは何が問題なのでしょうか?


668:デフォルトの名無しさん
05/04/06 20:51:32
>>667
理解しようとする意欲がないのに、最初からいきなり複雑なことを
成し遂げようって発想が理解できない。
韓国人のパリパリとかいう主義みたい。

そういう場合はまず手始めにフォームだけの空っぽのアプリのインストーラを
作ってみる。小学生でもわかる定石でしょ。
話はそれから。

669:デフォルトの名無しさん
05/04/06 22:28:25
年齢を生年月日から求めたいのですが
DateDiffで年の差を求めると月/日が無視されてしまいます。
困りました。

670:デフォルトの名無しさん
05/04/06 22:37:12
DateTimeのSubtractメソッド、TimeSpanのTotalDaysプロパティ、除算。

671:デフォルトの名無しさん
05/04/06 22:40:51
>>669はただ「困った」って言ってるだけじゃん。
何も質問してないぞ。

672:デフォルトの名無しさん
05/04/06 22:42:07
>>670
それって365日と366日で結果が違ったりしませんか?
超てきとー

>>671
(・∀・)ニヤニヤ

673:デフォルトの名無しさん
05/04/06 23:25:48
VBを始めようと思っているのですが、周りの人はCにしておけといっています。
VBの欠点を教えてください。

674:デフォルトの名無しさん
05/04/06 23:49:21
>>673
数日前もだれかに言った気がするが・・・
馬鹿に思われるからやめなさい

675:デフォルトの名無しさん
05/04/07 00:59:11
>>673
早く挫折できる。

676:デフォルトの名無しさん
05/04/07 11:34:46
以下のようなエラーが出ます。
> 'System.ObjectDisposedException' のハンドルされていない例外が mscorlib.dll で発生しました。
> 追加情報 : 閉じている TextWriter に書き込むことはできません。
エラーが出るのは下のソースで「_WriteText.Flush()」です。
Finalize()でFlush()を呼ぶ前にClose()は呼んでません。
なぜこんなエラーが返るのか検討がつきません。知っている方、ご教授願います。

  Public Class TextOut
   Private _FStream As FileStream
   Private _WriteText As StreamWriter
   Public Sub New()
     _FStream = New FileStream("log.txt", FileMode.Append, FileAccess.Write)
     _WriteText = New StreamWriter(_FStream, Encoding.GetEncoding("Shift_JIS"))
   End Sub
   Protected Overrides Sub Finalize()
     _WriteText.Flush()
     _WriteText.Close()
     _FStream.Flush()
     _FStream.Close()
     _WriteText = Nothing
     _FStream = Nothing
     MyBase.Finalize()
   End Sub
  End Class

677:デフォルトの名無しさん
05/04/07 13:24:02
.NETでの正規表現の質問はここでいいのでしょうか。

パターンAからパターンBが「最初」に出てきたところまで、
というパターンを作りたいのですがうまく行きません。

pA〇〇〇〇〇pBpA×××pBpA△△△△△△△△pBpA・・・・

↑から pA~pBまでのセットを取りたいのです。

ここで、 pA.+pB とやると最初から最後まで引っかかってしまいます。

ただ、 pA[^pB]+pB とやれば意図したように動くのですが、
実際にはパターンA、パターンBとももう少し複雑なので
なにかいい方法はないでしょうか。


678:デフォルトの名無しさん
05/04/07 13:25:30
最短一致は「?」

679:デフォルトの名無しさん
05/04/07 13:30:19
VB.NETの質問スレだろ?なんでVB否定するヴォケがいるの?ROMってろよ、ゴラァ

680:デフォルトの名無しさん
05/04/07 14:43:02
>>678
ありがとん
pA.+?pB で思うようにできました。

681:デフォルトの名無しさん
05/04/07 17:40:37
普段はエラーなど起きないのに、ごく稀に発生するエラーに悩んでおります。
発生するエラーは2種類あります。

System.NullReferenceException: オブジェクト参照がオブジェクト インスタンスに設定されていません。
at System.Data.Common.Dbnetlib.ConnectionError(HandleRef pConnectionObject, IntPtr& netErr, IntPtr& netMsg, IntPtr& dberr)
at System.Data.SqlClient.TdsParser.ProcessNetlibError(IntPtr errno)
at System.Data.SqlClient.TdsParser.ReadNetlib(Int32 bytesExpected)
at System.Data.SqlClient.TdsParser.ReadBuffer()
at System.Data.SqlClient.TdsParser.ReadByteArray(Byte[] buff, Int32 offset, Int32 len)
at System.Data.SqlClient.TdsParser.ReadEncodingChar(Int32 length, Encoding encoding)
at System.Data.SqlClient.TdsParser.ReadValue(_SqlMetaData md, Int32 length)
at System.Data.SqlClient.TdsParser.ProcessRow(_SqlMetaData[] columns, Object[] buffer, Int32[] map, Boolean useSQLTypes)
at System.Data.SqlClient.SqlDataReader.PrepareRecord(Int32 i)
at System.Data.SqlClient.SqlDataReader.GetValues(Object[] values)
at System.Data.Common.DbEnumerator.MoveNext()
at System.Web.UI.WebControls.Repeater.CreateControlHierarchy(Boolean useDataSource)
at System.Web.UI.WebControls.Repeater.OnDataBinding(EventArgs e)
at System.Web.UI.WebControls.Repeater.DataBind()
at hoge.hogehoge.Button1_ServerClick(Object sender, EventArgs e)
at System.Web.UI.HtmlControls.HtmlInputButton.OnServerClick(EventArgs e)
at System.Web.UI.HtmlControls.HtmlInputButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)
at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
at System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
at System.Web.UI.Page.ProcessRequestMain()

続く...(本文長すぎって。。。)


682:681
05/04/07 17:41:27
...続き

System.InvalidOperationException: データ リーダーが閉じているときに、無効な操作 Read をしようとしました。
at System.Data.SqlClient.SqlDataReader.Read()
at System.Data.Common.DbEnumerator.MoveNext()
at System.Web.UI.WebControls.Repeater.CreateControlHierarchy(Boolean useDataSource)
at System.Web.UI.WebControls.Repeater.OnDataBinding(EventArgs e)
at System.Web.UI.WebControls.Repeater.DataBind()
at hoge.hogehoge.Button1_ServerClick(Object sender, EventArgs e)
at System.Web.UI.HtmlControls.HtmlInputButton.OnServerClick(EventArgs e)
at System.Web.UI.HtmlControls.HtmlInputButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)
at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
at System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
at System.Web.UI.Page.ProcessRequestMain()

以下、ソース抜粋
Repeater1.DataSource = SqlDataReader1
Repeater1.DataBind() ★ ここで稀にエラーが発生
SqlDataReader1.Close()
SqlConnection1.Close()
SqlConnection1 = Nothing

データベースを検索して結果を表示する、といった簡単なものなのですが、
結果の件数が100件程度だと再現せず、1000件ほどになると稀に発生します。
よい解決案などありましたら、ご教授おねがいいたします。


683:デフォルトの名無しさん
05/04/07 18:24:18
>>681
Repeater1が何ものか知らないが
DataSourceにReaderをつっこむのではなく
DataTableのDefaultViewを設定してみては?


684:デフォルトの名無しさん
05/04/07 18:31:49
.netフレームワークのバージョンって
どうやって調べるの?

685:デフォルトの名無しさん
05/04/07 18:48:52
>>676
_FStreamのファイナライザが既に動いてCloseしてるからだろう。
URLリンク(www.ascii.co.jp)
が参考になるかも知れない。

そもそも、どうせFileStreamがGCされた時にFileStreamのファイナライザが動いてフラッシュして閉じるので、
こちらでわざわざファイナライザを実装してCloseさせちゃいけない。

StreamWriterを使うと、デフォルトではStreamWriterがバッファリングしてストリームにすぐには書き込まないので、
書き込み内容が損失するわけだ。StreamWriterのファイナライザはストリームに操作しないから。
確実にはStreamWriter.Closeが喚ばれない場合の解決策としては、
StreamWriterを使わずWriteやWriteLineメソッドを自前で実装してFileStreamに直接書き込むとか、
StreamWriterを使うなら、AutoFlushをTrueにする手もある。

こういう場合はIDisposableを実装させてDisposeメソッドにファイル閉じる動作を書いて、
プログラマにDispose呼出を明示するのがベターなんだけどな。
VB2005でUsingステートメントもサポートされるようになるし。

ちなみに、StreamWriter.Closeは、自動でFlush動作もするので_WriteText.Flushは必要ないし、
基底のストリームも閉じてしまうのでその後の_FStream.Flushとかできない(意味無い)。

686:デフォルトの名無しさん
05/04/07 19:01:57
>>684
コード上から(実行時に)調べる、というのなら
URLリンク(www.atmarkit.co.jp)

687:676
05/04/07 21:05:29
>>685
レスありがとうございます。凄く×∞参考になりました。m(_ _)m
ついでに、自分のバカさ加減がよ~くわかりました…
全て685さんの指摘どおりです。
私はVB.NET歴2日の上、JavaやC++(こっちは4年くらいやってる)と同じ
程度の処理が出来ると思ってました(爆)。

StreamWriter.CloseがFileStream.Closeを呼び出すのはいいとして、
Finalize()の呼び出し順序が明確に決まってない事には驚きました。
指摘にあったDisposeの実装で対応するしかなさそうです。
Finalize()を使った「後始末はおまえにまかせる」は無理っぽいですね。
書き込みの精度は、一定のWriteをした直後にFlushするようにします。


StreamWriterとFileStreamの問題は有名なんですね。
しかもStreamWriterのFinalize()が何もしないっては……orz

688:デフォルトの名無しさん
05/04/08 01:06:57
何かしてくれるとバグに気づきにくい可能性があるからだよ。


689:デフォルトの名無しさん
05/04/08 03:00:17
>>679
あなたはVBスレでVB万歳なレスだけみていてそれで満足なんですね?
たまには自己否定も必要なんですよ。

690:デフォルトの名無しさん
05/04/08 05:20:35
VB6からの移行組です。
簡単な通信(チャット)を行うプログラムを作ろうと思います。
Winsockコントロールが標準で無いのでSystem.Net.Socketsを
使う方法を初歩から学習中です。

そこで分からないのは、Winsock.ocxのデータ受信イベント
(DataArrival)の代わりの方法についてです。

WithEvents 付きで System.Net.Sockets.TcpClient を宣言すると
「WithEvents変数はイベントを発生させません」と怒られます。

何か、Eventドリブン式で書く方法は有りますでしょうか?

とりあえず、Threadクラスを使ってループ待ちさせる方法を見つけ
自作イベントのような形では実現できましたが、こっちのスレッド
方式と、Event方式とどちらが一般的でしょうか?

VB6の時にクラスは使ってましたが理解度は低めです。
よろしくお願いいたします。


691:デフォルトの名無しさん
05/04/08 05:33:58
わざわざイベントで書く必要がないんだが。
送受信を行うNetworkStreamは、データが来るまで自動的にブロッキングしてプログラムの流れを中断させる。
別スレッドでReadさせておけばいい。

692:デフォルトの名無しさん
05/04/08 06:04:23
>691 レスありがとうございます!それでは現在テストで動いた以下の
スレッド方式でも、悪い方ではないと考えていいでしょうか?
Private Sock1 As New System.Net.Sockets.TcpClient
Private Stream As NetworkStream
Private myThread As Threading.Thread
-----ボタンクリック
Private Sub Button1_Click(~) Handles Button1.Click
   Sock1.Connect("www.yahoo.co.jp", 80)
   TextBox1.Text = ""
   Stream = Sock1.GetStream()
   Dim ByteSend As Byte() = System.Text.Encoding.ASCII.GetBytes("GET / HTTP/1.0" + vbCrLf + vbCrLf)
   Stream.Write(ByteSend, 0, ByteSend.Length())
   myThread = New Threading.Thread(AddressOf DataArrave)
   myThread.Start()
End Sub
-----自作SUB
Private Sub DataArrave()
   Dim ByteRead(2000) As Byte
   Dim strText As String
   Dim intLength As Integer
   Dim lngRevcnt As Long
   Dim lngRevByt As Long
   Do
     intLength = Stream.Read(ByteRead, 0, ByteRead.Length())
     lngRevcnt += 1 : lngRevByt += CLng(intLength)
     Me.Text = "受信パケット数:" & lngRevcnt & " (" & lngRevByt & " byte)"
     strText += System.Text.Encoding.ASCII.GetString(ByteRead, 0, intLength)
     If intLength < 1 Then Exit Do
     Sock1.Close()
   Loop
   TextBox1.Text = strText
End Sub

693:690=692
05/04/08 06:08:49
↑すみません、レスの改行制限で見づらくなりました。
とりあえずの確認用なので、単に、HTTP-GETを送信して
自作スレッドで受信させているだけのショボプログラムです。

とりあえずこんな感じでも、アリでしょうか?


694:デフォルトの名無しさん
05/04/08 06:21:05
>>692
Readがパケットごとに実行される保証はどこにもないはずだがね。

> strText += System.Text.Encoding.ASCII.GetString(ByteRead, 0, intLength)

まあASCIIだからいいけど、shift_jisとかだとデコードに失敗する可能性があるよ。
最後の1バイトが2バイト文字の1バイト目だった場合に。
受信中はMemoryStreamに蓄えて、受信が完了してから一気にGetStringしたほうがいい。

> Do
(略)
>   If intLength < 1 Then Exit Do
>   Sock1.Close()
> Loop

このSock1.Close()はコピペミスかな?
Loopの外に出さなきゃいけないね。

> Me.Text = "受信パケット数:" & lngRevcnt & " (" & lngRevByt & " byte)"
> TextBox1.Text = strText

やっかいなのはこいつだ。
別スレッドからコントロールを操作しちゃいけない。
Invoke/BeginInvokeを使う必要がある。
URLリンク(dobon.net)
の19から26、とくに25を良く読んでマルチスレッドに関する問題を良く把握してくれ。

695:690=692
05/04/08 06:33:44
>694
うぉ!ありがとうございます!

1Read=1パケとは限らないのですね。分かりました!
確かに、逐次デコードはまずいですね。了解です。

> このSock1.Close()はコピペミスかな?
> Loopの外に出さなきゃいけないね。

そうなんです。実は少し悩んでました。
手持ちの書籍「VB..net逆引き大全500」の初歩サンプルに
こういった記述があったもんで丸写ししながら疑問に感じてました。
試してみたらコレでも動くんです。
今試したら外へ出しても動きますね。理屈通り外へ出します!

> Invoke/BeginInvokeを使う必要がある。

了解です。教えていただいた所を良く読んで勉強します!
とても丁寧に分かり易いレスを本当にありがとうございました!


696:デフォルトの名無しさん
05/04/08 07:12:06
>>689
理由が書かれていませんね。

697:デフォルトの名無しさん
05/04/08 08:29:05
>>686
遅くなりましたがありがとうございました。

698:デフォルトの名無しさん
05/04/08 13:11:00
comboboxでデータソース指定だと、表示(DisplayMember)と値(ValueMember)を指定できるけど、
自分で項目を設定した場合は、そういった指定はできないものなのですか?

699:デフォルトの名無しさん
05/04/08 13:14:27
どういう効果を求めているの?

700:デフォルトの名無しさん
05/04/08 13:18:05
表示は

東京
大阪
名古屋
・・・(略)

などと表示して、内部の値としては

34
21
15
・・・(略)

などように、取り出せるようにしたいです。

701:デフォルトの名無しさん
05/04/08 13:25:03
じゃあそういう都道府県クラスを作れば?
ComboBoxで表示されるのはToString()の結果だから。
Idと都道府県名を保持して、ToString()のオーバーライドで都道府県名を返す。
Idはプロパティとして公開。

702:デフォルトの名無しさん
05/04/08 14:28:20
>>701
ありがとうごじあます。
データ構造を作ってやることにします。

703:デフォルトの名無しさん
05/04/08 19:36:49
質問させてください

PrintDocument等を使っての印刷に関してです.
取得したデータの件数に応じて改ページして次のページに出力,
といった印刷物のページコントロールはどうやるのが定石なのでしょうか?

ヘルプドキュメントから,PrintPageEventArgs.HasMorePagesをTrueに
する,というのは見つけたのですがいまいち記述方法がわかりません…
その他,PrintDocument,Graphicsなどリファレンス一通りみたのですが,
ページコントロールに関わりそうなメンバが見つけられませんでした

よろしくお願いします.

704:デフォルトの名無しさん
05/04/08 19:38:59
まあこの辺でも。
URLリンク(dobon.net)

705:デフォルトの名無しさん
05/04/08 20:09:54
>>704
ありがとうございます
どうやら概念を理解していなかったようです

HasMorePagesがTrueである間は

PrintPageイベント発生→PrintPageハンドラ実行,
が繰り返される,

ということですね.

706:デフォルトの名無しさん
05/04/10 00:34:19
VB.NETでiniファイルを読むにはどうすればよいのでしょうか。

707:デフォルトの名無しさん
05/04/10 00:53:02
>>706
.netではXML推奨みたいだよ。
URLリンク(dobon.net)

708:デフォルトの名無しさん
05/04/10 08:20:02
>>707
いや、それはそうなのですが、どうしても旧システムのINIファイルを
読まないといけない処理がありまして、どうしたものかと。
やはりAPIを叩くんですかね。

709:デフォルトの名無しさん
05/04/10 08:27:03
>>708
URLリンク(ukamen.hp.infoseek.co.jp)

710:デフォルトの名無しさん
05/04/10 08:32:42
DataTableって何件くらいのデータ扱えるの?

711:デフォルトの名無しさん
05/04/10 10:13:12
>>710

めっちゃたくさん

712:デフォルトの名無しさん
05/04/10 10:18:18
ええけつしとるのぉ(*´Д`)ハァハァ
URLリンク(203.165.158.227)
URLリンク(203.165.158.227)
URLリンク(CJ3223373-A.ksrzu1.kt.home.ne.jp)
URLリンク(CJ3223373-A.ksrzu1.kt.home.ne.jp)


713:デフォルトの名無しさん
05/04/10 12:47:06
>>706
読むにはどうすればよいのでしょうか、って発想が理解できん。
別に全然煽りじゃなく読めばいいんだよ。
APIなんて使うまでもない。iniなんてただのテキストファイルじゃん。

読んだ後の処理だってどうってことない。
こんなこともできない人が人様から給料もらって仕事でPGやってるとしたら
そりゃ犯罪だよ。

714:デフォルトの名無しさん
05/04/10 15:29:06
API使うのが一番楽だと思うのだけど

715:デフォルトの名無しさん
05/04/10 15:38:40
Microsoftは切り捨てたがってるけどねー。

716:デフォルトの名無しさん
05/04/10 20:46:21
>>713
回答ありがとう。理解できないのに回答するって発想が理解できません。

ちなみに何の罪でしょうか。

717:デフォルトの名無しさん
05/04/11 02:28:04
vb6.0のプログラムを.NETにアップグレードしようと思い、
.NETに詳しそうな方に聞いてみました。

すると、

リストビューが消える!?(ただし、端末にインストールした.NETフレームワークにもよる、との由)
LenBが使えない!?(半角文字と全角文字の判定はどうするの!?)
KeyPress時にKeyAsciiに代入できるのは0だけ!?(小文字を大文字に変換するの面倒になりそう)

などという問題があるといわれ
それだけでもしり込みしています。

でも解決方法あるんですよね、あたりまえですが。
みなさんはどのように解決してらっしゃるんでしょうか。

718:デフォルトの名無しさん
05/04/11 02:31:55
書き直す

719:デフォルトの名無しさん
05/04/11 02:37:55
>>717

つまり、.NETにアップグレードした時のtips的な
纏めサイトが必要なんだろ。
LenBならこうしろ、みたいな情報が欲しい、と。

720:デフォルトの名無しさん
05/04/11 07:21:39
聞いた人本当に.netに詳しいのか?

例えばLenBなんて関数ひとつ作れば終わりです

これくらいで尻込みしているようなら、アップグレードはやめとけ

こんなこと書いている俺の場合は、全部1からコードを書き直しましたよ
アップグレードウィザードも使えないし
まだ自作ライブラリの半分も終わってないから生産効率悪い悪い


721:デフォルトの名無しさん
05/04/11 17:16:26
microsoft のftpで
以下のm_sRemoteHostにIPアドレスを指定すると
dns.resolveの処理がすごく遅くなってしまいます。
どうしたら速くなりますか?

Public Function Login() As Boolean
m_objClientSocket = _
New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
Dim ep As New IPEndPoint(Dns.Resolve(m_sRemoteHost).AddressList(0), m_iRemotePort)
Try
m_objClientSocket.Connect(ep)
Catch ex As Exception
MessageString = m_sReply
Throw New IOException("Cannot connect to the remote server")
End Try


722:デフォルトの名無しさん
05/04/11 17:26:56
十進記法である事が分かってるなら、Dns.GetHostByAddressを使うとか。
.NET 1.1以降なら、ピリオドで分けてByte配列にしてIPAddressインスタンスを直接作るとか。

723:デフォルトの名無しさん
05/04/11 17:41:36
Dns.GetHostByNameならホスト名でもIPでも両方可能だな。

724:デフォルトの名無しさん
05/04/11 17:45:22
Dns.Resolve(m_sRemoteHost).AddressList(0)

Dns.GetHostByName(m_sRemoteHost).AddressList(0),
にするだけで速くなるのでしょうか?


725:デフォルトの名無しさん
05/04/11 17:47:56
まず試せ。
話はそれからだ。

726:デフォルトの名無しさん
05/04/11 17:51:02
試したいのですが自社のネットワークではどちらも速いのですが
お客様のネットワークではなぜか遅かったので質問している次第です。

727:デフォルトの名無しさん
05/04/11 18:22:35
>>726
少なくとも.NET 1.1の実装では、与えられた文字列が十進表記の時、
ResolveだとDNSサーバに実際に問い合わせ、GetHostByNameだと問い合わせを行わない。
それで速くなるかどうかは別だが、内部処理で済む分GetHostByNameの方が速い可能性は高い。

728:デフォルトの名無しさん
05/04/11 18:23:56
>>727
さんくす。
試す価値ありですね。

729:デフォルトの名無しさん
05/04/12 01:28:07
Wordファイルを読み込むサンプル掲載してるサイトありませんか?
ぐぐってもどうもExcelばかり引っかかって・・・

730:デフォルトの名無しさん
05/04/12 01:56:22
OpenMutexのVB.NETで使える宣言を教えてください。
なぜか、IntPtrで受けてもIntPtr.zeroしか帰ってこないし
Longで受けても常に同じ値(0ではない)が帰ってきます・・・

どうやって呼べばいいですか?

731:デフォルトの名無しさん
05/04/12 04:21:24
>>730
Mutexクラス使えば?

732:デフォルトの名無しさん
05/04/12 07:11:30
>>729
そういう質問したらまた>>713が騒ぎ出すよ。

733:デフォルトの名無しさん
05/04/12 07:12:28
>>730
あのな、「なぜか」ってのやめろよ。
お前のせいなんだからさ。

734:デフォルトの名無しさん
05/04/12 08:38:01
MutexクラスじゃOpenMutexできないでしょ?
VB6とかで実際に動いてるコードをもっていって動かないから
「なぜか」なんだけどなぁ
IntPtrはVB6にはないけど。

教えてくれる人はいないんか。ここには

735:デフォルトの名無しさん
05/04/12 09:03:55
Mutexクラスで完全に代用できるけどな。
OpenMutexできないのもお前がへぼいだけだろ。
なにせLongの理解すらできてないようだからな。

736:デフォルトの名無しさん
05/04/12 09:58:57
PictureBoxで、

Private Sub Command1_Click()
Picture1.Circle

としても、Intellisenseで「.Circle」がポップアップメニュー内に出てこないのですが、
どうしてなのでしょうか?

URLリンク(www.h5.dion.ne.jp)
上記のサイトでは、PictureBox内に描画関数が使えると記述されてますが、
なぜかコンパイルエラーになってしまいます。

ちなみに、開発環境は、
VB2005Expressです。


737:デフォルトの名無しさん
05/04/12 10:03:45
>>736
それはVB6であってVB.NET/VB2005ではない。
VB.NET以降のお勉強はこちらで。
URLリンク(dobon.net)

738:736
05/04/12 10:08:30
>>737
ご返答助かります。

VB6とVB.NETでは仕様が多少異なっているのですか。
ありがとうございました。

739:デフォルトの名無しさん
05/04/12 10:10:12
>>738
多少つか別物

740:デフォルトの名無しさん
05/04/12 12:34:11
多少ワロタ

仕様は全く別物。使い方は似せてあるけどね。
単なるバージョンアップだとか思わない方がいいよ。

・・って、まぁ趣味ならどうでもいいかw

741:デフォルトの名無しさん
05/04/12 12:45:06
何度もすいません先日からVB.netのPrintDocumentでの印刷実装で
てこずってるものです

質問ですが,PrintPreviewDialogでの表示と実際の印刷物でマージンに
差異が生じるのですが原因がわかりません.

PrintDocument.PrinterSetting.DefaultPageSettings.Margins
PrintPageEventArgs.PageSettings.Margins

上記二つのプロパティは調査済みですが他にも印刷時のマージンに関わる
プロパティ等ありますでしょうか?

742:デフォルトの名無しさん
05/04/12 12:46:40
VB.NET2003でODP.NET 10gですがWindowsXP環境において
DBアクセス時に不安定になる場合があります。
例えば、応答がなくなったりshowしたダイアログが裏に回ってしまったり。
Windows2000環境で問題ありません。
何かパッチなどがありますでしょうか?

743:デフォルトの名無しさん
05/04/12 12:59:33
>>741
PageSetupDialogにこういうバグがあるが……。
URLリンク(dobon.net)

744:741
05/04/12 14:06:49
>>743
どうもこれとは症状が違うようなのです.
PageSettingDialogも現状では使っていません.
マージンをゼロにし,用紙の端からのサイズで描画してるのですが,
左端,上端に固定値のマージンが追加された状態で印刷されて
しまうのです.
プレビューでは真ん中に配置されているのに印刷してみると右下に
ずれて印刷されてしまいます.

描画の際にこの値がわかれば座標から引いて配置すればいいのですが,
プリンタ依存のマージンなのかそれともプログラム内部のプロパティで
設定されているものなのかわからなくて質問した次第です…

745:デフォルトの名無しさん
05/04/12 14:17:18
>>744
とするとプリンタ固有のマージンかね。
こういうのは?
URLリンク(www.atmarkit.co.jp)
URLリンク(www.bcap.co.jp)

746:デフォルトの名無しさん
05/04/12 14:37:39
>>745
おお,ありがとうございます.
早速試してみます.

747:デフォルトの名無しさん
05/04/12 15:47:57
ひとつの~.Config構成ファイルを
複数のEXEから読み込ませたいんだけど
いい方法ないですか?

748:デフォルトの名無しさん
05/04/12 20:26:09
AppDomain.CurrentDomain.SetData("APP_CONFIG_FILE", "お好きなパス")
を一番最初に実行。


749:デフォルトの名無しさん
05/04/12 20:41:02
自己解決したからいいけど、役にたたない質問スレだな。

>Mutexクラスで完全に代用できるけどな。
だって。プププ

頭の悪いフレームワークになれちゃってるのって怖いねぇ

750:デフォルトの名無しさん
05/04/12 20:42:02
>>748
めちゃんこThx!!!
これで30個の~.Configが1つに出来ます!!!

751:デフォルトの名無しさん
05/04/13 13:22:48
バージョンアップ用のインストーラーの作成は出来ないんでしょうか?
初めてのインストール時にはユーザーがどこにインストールするか分からないので、
インストール先を判断し上書きするような動きはインストーラには出来ないのでしょうか?

752:デフォルトの名無しさん
05/04/13 13:35:11
そんなもの、いくつか方法あるだろう。

インストール時にレジストリにインストール場所を書き込んでおいて、
バージョンアップはそのレジストリ情報を元に上書きする。

バージョンアップ用のインストーラーは、最初にインストールした場所と同じ場所に置き、
バージョンアップは同じディレクトリにあるファイルを上書きする。

753:デフォルトの名無しさん
05/04/14 11:43:49
インストーラーが特定のレジストリ値を見るなんてことが出来るんですか?

754:デフォルトの名無しさん
05/04/14 12:55:40
>>753
はい。できないと思う理由はなんでしょうか。

755:デフォルトの名無しさん
05/04/14 14:40:40
テキストボックスをEnabled=Falseにしたときの色って
SystemColorsではどれにあたるのでしょうか?
ControlLightかと思っていたのですが微妙に違うような

756:デフォルトの名無しさん
05/04/14 14:50:23
GrayText

757:デフォルトの名無しさん
05/04/15 11:47:14
closeとdisposeの違いは何ですか?
フォーム1からフォーム2へ画面遷移するときに、フォーム1を消したいのですが、
closeだとうまくいかなくて、disposeだと上手くいきました。

758:デフォルトの名無しさん
05/04/15 12:38:47
>>757
それならそれでいいじゃん。


こえーーーーーーw

759:デフォルトの名無しさん
05/04/15 18:53:55
チェックボックス付きリストビューで
行によってチェックボックスを出したり消したりできますか?
もしできるのでしたらやり方を教えていただけないでしょうか?
よろしくお願いします。

760:デフォルトの名無しさん
05/04/15 19:03:50
まあ無理。
根性入れて自力で描画する?

761:デフォルトの名無しさん
05/04/15 19:08:10
>>760
いえ、ありがとうございました。
無理なら無理でOKです。

762:デフォルトの名無しさん
05/04/15 19:50:14
>>761
何様のつもりだ。

763:デフォルトの名無しさん
05/04/15 19:59:11
>>762
神様

764:デフォルトの名無しさん
05/04/15 20:14:11
>>763
まじで?

765:デフォルトの名無しさん
05/04/15 20:23:47
でじま

766:デフォルトの名無しさん
05/04/15 20:27:35
>>765
まじで?

767:デフォルトの名無しさん
05/04/15 21:10:54
でじま

768:デフォルトの名無しさん
05/04/15 21:39:39
にょ。

769:デフォルトの名無しさん
05/04/15 22:35:58
.net framework 1.0インスコしちゃったんだけど、1.1にアップデートってどこでするの?

770:デフォルトの名無しさん
05/04/15 22:43:14
アップデートはされない。
別々のものなので別々にインストールする。
今ならWindows Updateでできるんじゃない?

771:デフォルトの名無しさん
05/04/15 22:56:02
ええええええええ
一晩かけてインスコしたのに!
#develop (SharpDevelop)って1.1じゃないとダメなんだよね?

772:デフォルトの名無しさん
05/04/15 23:02:47
URLリンク(sharpdevelop-jp.sourceforge.jp)
FAQぐらい目を通せ。

773:デフォルトの名無しさん
05/04/16 01:14:33
webbrowserコントロールから現在表示してるURLを修得するにはどうすればいいですか?

774:デフォルトの名無しさん
05/04/16 01:21:34
修得は難しいな。
取得ならプロパティに一通り目を通せ。

775:デフォルトの名無しさん
05/04/16 08:07:39
メッセージボックスのいずれかのボタンを自動的に
押したことにすることってできますか?

~ですか? はい/いいえ
みたいなメッセージボックスを表示して、一定時間反応しない
場合は自動的にいいえにする、みたいなことをしたいのです。

776:デフォルトの名無しさん
05/04/16 08:08:21
mshtmlってmsxmlのxpathみたいなのは使えないですかね。
自前で検索処理書くしかないのかな。

777:デフォルトの名無しさん
05/04/16 09:13:52
777 (*^ー゚)b

778:デフォルトの名無しさん
05/04/16 09:40:33
>>775
メッセージボックスを自分で作ればできるよ

779:デフォルトの名無しさん
05/04/16 09:53:16
複数のコントロールのプロパティをforを使って変更したいのですがどうすればいいのでしょうか?

780:デフォルトの名無しさん
05/04/16 10:03:12
すまんアゲさせてもらう

781:デフォルトの名無しさん
05/04/16 10:09:19
>>779
簡単だよ

782:デフォルトの名無しさん
05/04/16 10:12:20
>>781
会話になってません。

783:デフォルトの名無しさん
05/04/16 10:13:00
>>778
そうですか。つまり標準のメッセージボックスではムリって
ことなんですかね。

784:デフォルトの名無しさん
05/04/16 10:23:41
>>782
何様のつもり?

785:デフォルトの名無しさん
05/04/16 10:25:50
>>784
え?でも会話になってないですよね。
「どうすればいいのでしょうか?」「簡単だよ」って。
「どうすればいいのでしょうか?」「バカだから分かりません」って
答えた方がよかったのでは?

786:デフォルトの名無しさん
05/04/16 10:34:59
大抵の人は知ってる内容だから
単に教えたくないって事なんじゃないかしら?

787:デフォルトの名無しさん
05/04/16 10:47:51
>>786
そうかもね。>>781以外には分かってることなのかも。

788:780
05/04/16 11:08:31
添え字を使って連続的にしたいのですが。
782は俺じゃないよ。

789:デフォルトの名無しさん
05/04/16 11:41:00
>>788
お前人に質問するのに「俺」だと?学生か?

790:デフォルトの名無しさん
05/04/16 11:41:27
>>788
Controlの配列につっこめば?

791:デフォルトの名無しさん
05/04/16 11:42:49
>789
>790
ありがとうございます!

792:デフォルトの名無しさん
05/04/16 11:59:01
>789
前から誰かが言っているように、バカばかりだからしょうがないよ。

793:デフォルトの名無しさん
05/04/16 12:03:23
>>791
>>789>>790が同一人物だって気付いている?

794:デフォルトの名無しさん
05/04/16 12:03:55
>>791
どういう思考回路してたらその方法が思いつかないの?

795:デフォルトの名無しさん
05/04/16 12:31:09
わからん…(@_@)
名前の末尾に()つけたらエラーでるし。

796:デフォルトの名無しさん
05/04/16 13:04:52
>>795
ソース晒してごらん

797:デフォルトの名無しさん
05/04/16 13:34:35
コントロールが格納されている親コンテナ配列をいじくれば?

798:デフォルトの名無しさん
05/04/16 13:57:22
>>797
いや、多分もっと次元が低い話だろ。

799:デフォルトの名無しさん
05/04/16 14:09:35
配列に放り込んで使えばいいじゃない。

800:デフォルトの名無しさん
05/04/16 14:23:01
>>799
多分その書き方がわからないとかいう次元の話なんだよ。
いいから>>795は今時点のソース晒してごらんよ。

801:デフォルトの名無しさん
05/04/16 14:33:26
じゃ、ここの2番目を熟読することをお薦めしとくか。
URLリンク(dobon.net)

802:デフォルトの名無しさん
05/04/16 15:43:18
もっと基礎勉強してから来いって事だ

803:デフォルトの名無しさん
05/04/16 15:49:26
>>802
お前もナー

804:デフォルトの名無しさん
05/04/17 15:30:45
どのPrivate Subでも使える変数を宣言したいんだけど、どこで宣言すればイイ??
5.0はOptionExplicitで宣言できたと思うんだけど、どこに書けばよいか分からない。

805:デフォルトの名無しさん
05/04/17 15:33:56
すごいことになってるな
さすがVB質問スレ

806:デフォルトの名無しさん
05/04/17 16:04:06
ああ、Public使えば出来たのね。。
スレ汚しすまなかった。

807:デフォルトの名無しさん
05/04/17 16:11:30
うむ、さすがVB。
思考と指向が旧態依然だ。

808:デフォルトの名無しさん
05/04/17 22:41:54
うまいこと言ったつもりかおっさんwwwwww

809:デフォルトの名無しさん
05/04/18 08:55:34
VB.NETで作ったWindowsアプリケーションから、Windows自体を
再起動させたいのですが、どうやるのが簡単でしょうか。

810:デフォルトの名無しさん
05/04/18 09:49:22
>>809
URLリンク(ukamen.hp.infoseek.co.jp)

811:デフォルトの名無しさん
05/04/18 10:12:26
>>810
ありがとうございます。やってみます。

812:デフォルトの名無しさん
05/04/18 11:07:24
VB6.0では直接プリンタポートに直接出力出来たのですが、
Open "Lpt1" For Output As #FileNo

VB.netで直接出力の方法がありましたら、お教えください。

宜しくお願いします。

813:デフォルトの名無しさん
05/04/18 11:22:05
教えてください。
XPで.net vb を使って
1.CD-Rに書き込みたいのですが、
  書き込みウィザードにデータが残ってしまいます。これを完結する方法を教えてください。
2.フォルダーをコピーする方法も教えてください。
よろしくお願いします。


814:デフォルトの名無しさん
05/04/18 12:09:08
>>813
とりあえずやったとこまでソースを晒せ。

815:デフォルトの名無しさん
05/04/18 12:15:22
教えてください

PrintDocumentとPrintPreviewDialogを用いた印刷プレビュー作成についてです。

複数様式の書類を任意に選択し、一括で印刷する機能を考えております。
各様式に応じ、PrintDocumentの派生クラスを作成し、onPrintPageをオーバーライドし
描画処理を実装しているのですが、複数選択からの一括プレビュー表示がうまく
行きません。PrintPreviewに複数のPrintDocumentオブジェクトを登録し表示する、
といった機能はないのでしょうか?

また、対応策として、派生クラス内で描画部分をPublicの別関数とし、新たに
印刷用のハンドルする関数を定義し、その中から、
選択された書類のオブジェクト生成→描画関数呼び出し
としてみたのですが改ページされずに1ページ目に重ねて描画してしまいます。

文章だけでは現状がうまく伝わらないかもしれませんが、何かいいお知恵があれば
教えていただけないでしょうか。

816:デフォルトの名無しさん
05/04/18 12:21:52
出た。「ないのでしょうか?」
なんでこれが失礼だと思わないのか不思議。

817:815
05/04/18 12:27:01
>>816
一通り自分でPrintPreviewDialogのメンバ・クラス構造を調べた上で
見つけられなかったので質問させてもらいました。
不快に思われたのなら申し訳ありません。

818:デフォルトの名無しさん
05/04/18 12:31:41
>>814さん有難うございます。私は今回のハード担当者で、私も含めソフト担当者のスキルが低いのか、
 調べられなく、質問しています。ライティングソフトを、B'sCLIPで行うと
 上手くいきます。XPの標準だと
 Local Settings\Application Data\Microsoft\CD Burning 
 上に書き込むデータが残ったままです。何かCDにcloseのような命令か、
 Local Settings\Application Data\Microsoft\CD Burningに対して何かすると、
 焼かれるのでしょうか?ソースは担当外なので、手に入りません。
 ご面倒だと思いますが宜しくお願いします。アプリケーションは
 XPですがキーボード、マウスは有りません。

819:デフォルトの名無しさん
05/04/18 12:59:53
>>817
指摘されているポイントが分かっていないのに謝られると
さらに不快です。

あやまりゃいいんでしょ、という態度にしか見えません。

820:デフォルトの名無しさん
05/04/18 13:00:27
>>818
ソースを晒せと書かれているのは見えていないのか。

821:デフォルトの名無しさん
05/04/18 13:11:43
>>818
ソフト担当者にソースを晒すようにアドバイスすることを
おすすめします。

822:デフォルトの名無しさん
05/04/18 13:42:00
>>775
これと似たようなことを私もしたいのですが、やっぱり
方法ないですかね。

画面を自分で作ればできるのは分かるのですが・・・

823:822
05/04/18 13:50:17
と思ったのですが、いい方法を思いついたので解決です。
どうでもでした。

824:デフォルトの名無しさん
05/04/18 13:50:30
>>822
自作すれば簡単にできるのに、どうして難しく考えたがるんだ?

825:デフォルトの名無しさん
05/04/18 13:54:05
>>819
あやまりゃいいと思ってるわけではありません
解決すればいいとは思ってますが

では改めてどういう意図で816を書き込んだのか教えていただけますか?

こちらとしては、フレームワークの推奨する定石的なコーディング方法が
あるのであればそれに従うのがコードもすっきりし、後々の開発・保守等
有益だと考えているので、そういった手法があるならそれに従う、
ないなら自前でなんとかする方法をまた検討しなおす、というつもりで
書き込みました。

826:デフォルトの名無しさん
05/04/18 13:59:52
>>825
定石的なコーディング方法が無い場合もある。
そして、それが必ずしもすっきりしたコードで後々の開発・保守が有益であるとは限らない。
自前で何とかする方法を検討する意思があるなら、
最初から検討して実装すればいい。
質問する必要はない。

827:デフォルトの名無しさん
05/04/18 14:04:26
>>826
なるほど。無いのですね。ありがとうございました。

828:デフォルトの名無しさん
05/04/18 14:12:38
>>825
は?816のどこが分からないのか教えて。

829:デフォルトの名無しさん
05/04/18 14:36:01
>>821 さん

 ソフト担当者はデモに行っていて連絡とれません。私は、ソフトの動作確認をしていまして、
今のアプリだとCD-RのライティングをXPの組み込みライティングを使うと、
CDを取り出した時(マニュアルにて)、xpの書き込みウィザードを使わないと焼けません。
今回のアプリは、キー、マウスを使ってはいけないアプリです。
アプリ側で焼きたいのですが、方法を教えてください。ソースを晒したいのですが、そんな訳ですいません。
この書き込みウィザードで行うことを、アプリで行いたいのです。


830:デフォルトの名無しさん
05/04/18 14:38:51
>>829
なんでソフトの動作確認をしている奴(つまりテスター)が
プログラム板に質問に来るのか理解不能。

お前らが勝手に開発したアプリで焼く方法を俺らに
聞いてどうする。アホか。

831:デフォルトの名無しさん
05/04/18 14:39:44
>>829
あのさー、「方法」ってのはどうプログラミングするかってこと?
ソースを触れないあんたに教えて意味あるの?

832:デフォルトの名無しさん
05/04/18 15:14:53
こんにちは
質問が2点あるのですが、

(1)VisualStudio.NET Enterpris 2003 Jがオークションで2800円で出品されているのですが、どうしてこんなに安いのでしょうか?
URLリンク(page9.auctions.yahoo.co.jp)
(2)VisualStudioのアカデミック版というのは、ライセンス認証をしますが、その際、学生であることを示さないと認証されないのでしょうか?
それともVSの通常版と同じ様にライセンスキーを入力するだけでいいのでしょうか?
URLリンク(page5.auctions.yahoo.co.jp)

宜しくお願いいたします。

833:デフォルトの名無しさん
05/04/18 15:19:53
VLかピーコじゃね?

834:デフォルトの名無しさん
05/04/18 15:20:08
>>832
出品者に聞かない理由を教えてくれ。

835:デフォルトの名無しさん
05/04/18 15:22:14
どっちもやめとけ。見るからに怪しい。

836:832
05/04/18 15:22:43
>>833
ピーコでも問題なく使用でしょうか?

あと、アカデミック版(正規品)は購入するときだけ学生かどうかチェックするだけで、
それ以外のインストール作業等は通常版と同じということでしょうか?

837:デフォルトの名無しさん
05/04/18 15:31:54
>>836
アカデミック版は購入時に学生もしくは教員かのチェックをするだけ。
インストール作業は普通と同じ。

俺は子供(小学生)と一緒に買いに言ってアカデミック使ってる。

838:デフォルトの名無しさん
05/04/18 15:31:55
そういえば、この時期は香ばしい連中が来る時期じゃないか。
おまいら、スルーしる。

839:832
05/04/18 15:32:33
>>837
ご返答ありがとうございます。
助かりました。

840:デフォルトの名無しさん
05/04/18 15:40:17
タダで使いたいんだったらSharpDevelopmentでも使えばいいのに

841:デフォルトの名無しさん
05/04/18 16:16:23
教えてください。
VB.NETでCSVファイルのデータをDatasetしたいのですが参考になるHPなどあれば教えていただけないでしょうか?
よろしくおねがいします。

842:デフォルトの名無しさん
05/04/18 16:48:04
ヒント:"Driver={Microsoft Text Driver (*.txt; *.csv)};DBQ=c:\bin"


843:デフォルトの名無しさん
05/04/18 17:06:45
よろしくお願いします。

起動オプションをつけて実行するプログラムをvb.netで作成するには
どのようにしたらよろしいでしょうか。


844:デフォルトの名無しさん
05/04/18 17:08:45
まったくMainメソッドが隠蔽されてる言語はこれだから。
System.Environment.CommandLine/GetCommandLineArgs()

845:デフォルトの名無しさん
05/04/18 18:04:50
>>844
たまに回答できる質問があったもんだから必死な人。

846:デフォルトの名無しさん
05/04/18 18:30:55
自分のexeファイルの更新日時を取得する方法を教えてください。

847:846
05/04/18 18:46:15
解決しますた

848:デフォルトの名無しさん
05/04/18 18:46:26
×を
○に

と思ったが合ってるか。

849:デフォルトの名無しさん
05/04/18 19:14:58
>>848
どれへのレス?

850:デフォルトの名無しさん
05/04/18 19:40:35
>>849
>>>839でござりま。


851:デフォルトの名無しさん
05/04/18 20:12:49
>>850
違うでしょ。

852:デフォルトの名無しさん
05/04/18 20:25:57
クラスのヘッダとか関数のヘッダとかってどんな感じで
コメント書いてますか?

Microsoftが推奨しているスタイルとかあるのかな。

853:デフォルトの名無しさん
05/04/18 20:30:40
ヘッダてアンタ。

854:デフォルトの名無しさん
05/04/18 20:51:56
vb.net で、2つの変数の型が同じかどうか調べるのは、どうすれば
いいんでしょう?
ある変数が、ある型と同じかどうか調べる方法は分かりましたが、
変数同士の場合が分かりません。

if TypeOf a is String Then
' aがString型なら
End If

'これはコンパイルエラー
if TypeOf a is TypeOf b Then
End If


855:デフォルトの名無しさん
05/04/18 21:00:46
逆のような気がしますが。。

856:デフォルトの名無しさん
05/04/18 21:01:59
っていうか、そのぐらいのことはMSDNだけで検索できるようでないと
前途暗いと思うよ。

857:デフォルトの名無しさん
05/04/18 21:02:35
X 検索
○ 解決

858:デフォルトの名無しさん
05/04/18 21:10:55
>>856
前途暗いかどうかの判断をしたいので、基準を教えてください。

859:デフォルトの名無しさん
05/04/18 21:13:36
gettype

860:デフォルトの名無しさん
05/04/18 21:23:26
>>858
頭悪そう。。

あえてマジレス。

前途が暗い必要十分条件はわからない。
だが十分条件は挙げることができる。
それは>>854程度が自分で解決できないこと。

861:デフォルトの名無しさん
05/04/18 21:30:11
854はaがbのクラスから派生したクラスのインスタンスだった場合をどう考えてるのかね。

862:デフォルトの名無しさん
05/04/18 21:31:59
>ある変数が、ある型と同じかどうか調べる方法は分かりましたが、
>変数同士の場合が分かりません。
なあこれは変数の型なのか変数が参照してるインスタンスの型なのかどっちだ?
インスタンスの型ならGetTypeでそれぞれ型取得してIsAsigneableだったかで調べろ
※用途によってはIsSubClassOfとか==とかでもオケ


863:デフォルトの名無しさん
05/04/18 21:34:58
>>860
なぜですか?

864:デフォルトの名無しさん
05/04/18 21:36:44
>>860
>>854を解決できないことで業務上どんな不都合が生じるのか
教えてください。それによって前途が暗いかどうかがある
程度判断可能かもしれません。

865:864
05/04/18 21:38:11
この程度の課題に何時間もかけられると困りますので、
22:30までに結果を出すように。

866:デフォルトの名無しさん
05/04/18 21:49:20
Visual Studio .NET theSpoke Premium Version 2003
URLリンク(www.amazon.co.jp)

Visual Studio .NET 2003 Professional
URLリンク(www.amazon.co.jp)

上記の二つってどう違うんですか?
値段に激しく差があるんだが・・・

867:デフォルトの名無しさん
05/04/18 21:57:18
>>866
MicrosoftのサイトでSpokeで検索しろ。

868:デフォルトの名無しさん
05/04/18 22:00:37
spokeの方が断然お得ってことですね

869:デフォルトの名無しさん
05/04/18 22:12:08
>>868
それがお前の結論なら父さんもう何も言わん。

870:デフォルトの名無しさん
05/04/18 22:23:02
春真っ盛りですね。

871:デフォルトの名無しさん
05/04/18 22:23:08
URLリンク(www.microsoft.com)

Q10: 従来のアカデミック版との違い (内容物) を教えてください。

アカデミック版との違いは、以下となります。

製品マニュアルを含んでいません。(初期 2 万部には「できるプログラミング Visual Studio .NET」小冊子をキャンペーン限定版として同梱
Visual Studio .NET Version 2003 Professional 60 日評価版の DVD ROM を同梱しています。
プロダクトキー取得関連マテリアル
他、ソフトウェアや機能については、アカデミック版との違いはありません。プロダクトキー入手後はアカデミック版と同様ライセンス認証が必要です。

872:864
05/04/18 22:33:33
なるほど。結局>>854を解決できなくても業務上不都合は
生じないということですね。

ま、実際そうだもんな。困ったことない。

873:843
05/04/19 00:05:22
>>844
ありがとうござます。
「起動オプション」で必死で検索しておりましたもので
希望する情報になかなかたどり着けずにいました。
助かりました。


874:デフォルトの名無しさん
05/04/19 08:14:51
やっぱり、あいまい検索は人間のもんだな

875:デフォルトの名無しさん
05/04/19 10:34:42
ADO.NETについて質問です。

ADO.NETで集計関数を使ったSELECT 文の更新をDataAdapterで行う方法
はあるのでしょうか

たとえば 
'SELECT VAL1, VAL2, SUM(VALS) AS S FROM TEST GROUP BY VAL1, VAL2'

といったSQLで取得して

'VAL1'列 'VAL2'列を更新したいのです。

'VAL', 'VAL2'はPrimaryKeyとして設定しています。

DataTableを作成して、更新し
SqlCommandBuilderで自動作成したSQLを
dataAdapter.Update(dataTable)とした場合
「動的SQL作成は、ベーステーブル情報を返さない SelectCommandに対してはサポートされていません」
のエラーが発生します。

手組みでUpdate文を書く方法でもいいので、わかる方いたら教えてもらえない
でしょうか。


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch