VB.NET質問スレ (Part10 ..
[2ch|▼Menu]
389:デフォルトの名無しさん
05/03/23 13:29:56
>>387
そう言う風に書け、としか言いようがないな。

390:デフォルトの名無しさん
05/03/23 14:01:51
>>389
すみません、具体的なコマンドが知りたいのですが。。。

391:デフォルトの名無しさん
05/03/23 14:27:55
グローバルで値を渡してselectedItemに投げろ。

392:デフォルトの名無しさん
05/03/23 14:40:59
サンクス子!

393:デフォルトの名無しさん
05/03/24 08:27:18
VB.NETからボタンなどのコントロールの配列ができなくなって
結構めんどくさいのですが、
ボタンがcmdBtn00からcmdBtn99まであって、
String="33"の場合、cmdBtn33のボタンオブジェクトが欲しいのですが、
どうすれば可能でしょうか?
Select Caseでだらだらと書くのでなく、
2,3行以内で書きたいのですが。

394:デフォルトの名無しさん
05/03/24 08:28:03
VB.NETでアプリケーションを作りました。
配布のためにインストーラを作成したいのですが
定番はどのような方法でしょうか?

395:デフォルトの名無しさん
05/03/24 08:44:44
>>393
コントロールの配列はできますよ

396:デフォルトの名無しさん
05/03/24 08:47:18
>>393
ほら
URLリンク(dobon.net)

397:デフォルトの名無しさん
05/03/24 08:50:04
>>393
6.0の頃みたいに添字で配列化はできないけれど、普通に1次元配列
を宣言して、そこにオブジェクトを代入すればそれっぽく使える。

398:デフォルトの名無しさん
05/03/24 09:04:22
配列いらないよ。
Formにボタンおいてるなら、そのフォームのControlsコレクションに入ってるから、
TypeOfで、取り出せる。

399:デフォルトの名無しさん
05/03/24 10:40:07
ShowDialogで表示したページに
明示的にDislogResultを設定すると
勝手にページが閉じるんだが
これは仕様?

400:デフォルトの名無しさん
05/03/24 10:50:52
仕様。

401:デフォルトの名無しさん
05/03/24 11:41:14
>>400
トンクス

402:デフォルトの名無しさん
05/03/24 12:30:08
>>393です。
みなさんありがとうございます。
結果、下記のようになりました。
Private Function GetButton(ByVal a_str As String) As Button
Dim objControl As Control
Dim btn As Button
Dim strWork As String
For Each objControl In Me.Controls
If objControl.GetType Is GetType(Button) Then
btn = CType(objControl, Button)
strWork = btn.Name
If strWork = a_str Then
GetButton = objControl
Exit For
End If
End If
Next
End Function


403:デフォルトの名無しさん
05/03/24 16:59:07
俺のやり方が正しいかわかんないけど、
ボタンコントロールがたくさんあるなら、デザイナからも設定できるけど、プロパティにTagってのがあるでしょ。
そこに、1とか、2とか番号振っといて、
For Each C as Control In Me.Controls
   If TypeOf C Is Button Then
      If C.Tag.ToString = "1" Then
        Btn=DirectCast(C,Button)
      End If
   End If
Next
試してはいないです。

404:デフォルトの名無しさん
05/03/24 18:25:27
>>403
あーTagですか。
他社製品のコンポーネントでtagを使用してたのに
Windows標準のコンポーネントでのTagの存在、
全く気づきませんでした。
軽く見ると、もしかしてコントロールには
すべてTagがついてそうで、
そのやり方の方が短くていいかも。
やってみたら、5行も短くなりました。
さんくす。
Private Function GetButton(ByVal a_str As String) As Button
Dim objControl As Control
Dim btn As Button
For Each objControl In Me.Controls
If objControl.Tag = a_str Then
GetButton = objControl
Exit For
End If
Next
End Function


405:デフォルトの名無しさん
05/03/24 19:11:53
ここはバカが結構いるインターネッツですよね?

406:デフォルトの名無しさん
05/03/24 19:12:29
そんなに自分を責めるなよ。

407:デフォルトの名無しさん
05/03/24 21:00:36
いや、実際バカばかりだよな。
全員がそうではないけど。

408:デフォルトの名無しさん
05/03/24 21:43:22
obj=controls.contains(Button1)とか。

409:デフォルトの名無しさん
05/03/24 21:44:08
これじゃ意味内科。

410:デフォルトの名無しさん
05/03/25 16:17:50
質問です。
Windowsアプリケーションなのですが、
ShowDialogで表示したページを閉じて親ページにもどる時に親ページをリフレッシュ
する一般的な方法ってありますか?
Webアプリケーションの時はフレームを使ってJavaScriptを埋め込みました。

411:デフォルトの名無しさん
05/03/25 16:19:36
>>410のつづき
しかし、Windowsアプリケーションでは方法が見つかりません。
回答よろしくお願いします。

412:デフォルトの名無しさん
05/03/25 16:21:09
リフレッシュの意味がわからん。

413:デフォルトの名無しさん
05/03/25 16:24:44
>>410
FormLoadを明示的に呼ぶ

414:デフォルトの名無しさん
05/03/25 16:26:53
>>412
すいません。分かりにくかったですね。
>>413
やってみます。サンクス子

415:デフォルトの名無しさん
05/03/25 16:42:27
↓もしかしてこれだけとかゆう落ちだったかも・・
Dim f2 As New Form2
f2.ShowDialog()
Me.Form1_Load(sender, e)

Webアプリケーションももっと楽な方法がありそうですね。


416:デフォルトの名無しさん
05/03/25 20:13:07
閉じる時に、クローズドイベントとかあるのでは?

417:デフォルトの名無しさん
05/03/25 23:18:14
VB.NETから簡単に使えるHTMLパーサはないでしょうか。

418:デフォルトの名無しさん
05/03/26 20:42:12
>>413
おバカ!!
イベントの概念勉強してこい。ぼけ。

419:デフォルトの名無しさん
05/03/26 20:50:06
Form1_Loadメソッドを
呼びだすという意味じゃないの?

420:デフォルトの名無しさん
05/03/26 20:54:20
ひとをバカ呼ばわりするなら、解決策も併記してほしいもんだな。

421:デフォルトの名無しさん
05/03/26 22:13:40
>>420
Form1_Load()を呼び出しても何の問題もないよ。
でも>>418さんの説明を待ってみましょうか?w

422:デフォルトの名無しさん
05/03/26 22:15:52
すいません。どなたか>>417のヒントかアイディアだけでも
いいのでお願いします。

423:デフォルトの名無しさん
05/03/26 22:15:53
>>418は説明できなくて逃亡に65535バイト。

424:デフォルトの名無しさん
05/03/26 22:26:17
>>422
URLリンク(www.microsoft.com)

425:デフォルトの名無しさん
05/03/26 23:25:30
>>423
つまんね

426:デフォルトの名無しさん
05/03/26 23:26:38
>>424
どうもありがとうございました。

427:デフォルトの名無しさん
05/03/27 06:44:06
ListBoxで一つの項目だけフォントを太字にすることはできないのでしょうか?


428:デフォルトの名無しさん
05/03/27 06:55:38
listViewだとできますがいかがでしょう。

429:デフォルトの名無しさん
05/03/27 08:16:40
>>427
できないのでしょうか?はご法度ですが?

430:デフォルトの名無しさん
05/03/27 13:08:12
>>427
オーナードロー

431:デフォルトの名無しさん
05/03/28 00:30:20
コントロールのフォントを太字にしたいとき
Control.FontBold = True [VB]
Control.Font = New Font (Control.Font, FontStyle.Bold) [VB.NET]
同時に斜体や下線も指定するときはVB.NETの方が一括で指定できて便利だが、
現在のフォントを指定することなくもう少し簡略に書く方法はないだろうか。

432:デフォルトの名無しさん
05/03/28 00:38:50
ない。

433:デフォルトの名無しさん
05/03/28 00:42:22
というか、>>431は何が不満でどうしたいのかよくわからない。
旧VBライクに現在のフォントからスタイルだけを変更したいということ?

434:デフォルトの名無しさん
05/03/28 02:18:50
>>433 それしかないだろ

435:デフォルトの名無しさん
05/03/28 07:06:53
>>433
なんでそれが理解できないの?

436:デフォルトの名無しさん
05/03/28 08:18:06
>なんでそれが理解できないの?
>>431の文章が意味不明で一義的に解釈できないから。
だから言わんとしていることを忖度はできるが、理解はできない。
忖度は所詮忖度にすぎない。
そんなこともわからない奴にエンジニアの資格はないと思う。

437:デフォルトの名無しさん
05/03/28 08:58:07
「もう少し簡略に書く方法はないか」と聞かれたら、
単純にその方法があるかないかを答えればすぐに済む話ではないのか?
そもそも>>432で答えが出てるんだから、その後に何が不満で
どうしたいのかなんてわざわざ聞く必要すらないだろう。

438:デフォルトの名無しさん
05/03/28 13:17:12
品名A メーカー1
品名B メーカー1
品名C メーカー2
品名D メーカー2
品名E メーカー3

というデーターを、メーカー名で検索できるような画面を作っているのですが、
単純にメーカー名でSQLで抽出すると

メーカー1
メーカー1
メーカー2
メーカー2
メーカー3

と抽出されてしまいます。

メーカー1
メーカー2
メーカー3

とデーターグリッドに出力したい場合は、何を使えばよいのでしょうか?

439:デフォルトの名無しさん
05/03/28 13:20:52
メーカーが別テーブルになってない?
そんな馬鹿な! 何のための「リレーショナル」データベースだ!

440:デフォルトの名無しさん
05/03/28 13:53:53
distinct

441:デフォルトの名無しさん
05/03/28 15:42:14
>>440
だな。
SQLクエリで処理するのが大吉。
URLリンク(www.accessclub.jp)

442:デフォルトの名無しさん
05/03/28 16:34:34
VBってもしかして正規表現ない?

443:デフォルトの名無しさん
05/03/28 16:37:19
VBは知らないがVB.NETにはRegexクラスがある。

444:デフォルトの名無しさん
05/03/28 17:39:42
VB6にはないな。
正規表現は遅くなるから、あんまり使わないな。

445:デフォルトの名無しさん
05/03/28 21:12:38
>>436
あれ?君は自分がエンジニアのつもりだったのかな?
エンジニアはこんなところには来ないはずですけど。
私も含め、エンジニアなんてここには来てないと思ってました。
認識を改めるように。

446:デフォルトの名無しさん
05/03/28 21:16:13
>>436
お前普段そんな言葉遣いしてるの?
ムリしなくていいぞ。

447:デフォルトの名無しさん
05/03/28 21:16:49
>>433
分からないのになんで書き込むの?

448:デフォルトの名無しさん
05/03/28 21:19:12
てか、ほっときゃいいじゃねーか

449:デフォルトの名無しさん
05/03/28 21:19:43
>441
意味不明。

450:デフォルトの名無しさん
05/03/28 21:21:02
>>437
>>436みたいな投稿への2ちゃん流の対処は「必死だな」の4文字で
十分だよ。まともに相手する必要なしw

451:デフォルトの名無しさん
05/03/28 21:28:00
図に乗るからな。

452:デフォルトの名無しさん
05/03/28 22:04:08
何を騒いでるかと思えば荒らし(>>436)を放置できない奴らの集まりか。
あ、俺もか。

453:デフォルトの名無しさん
05/03/29 06:26:50
ランタイム不要なアプリを作るにはどうしたらいい?

454:デフォルトの名無しさん
05/03/29 07:13:07
>>453
ランタイムを使わない。

455:デフォルトの名無しさん
05/03/29 13:30:07
前から言ってるが、本当にバカばっかりだな。
ばかりというだけで、全員がバカではないのが救いだ。

456:デフォルトの名無しさん
05/03/29 13:32:46
↑バカw

457:デフォルトの名無しさん
05/03/29 18:02:05
あっ、あのぉ・・・
メモリエディタってあるじゃないですかぁ・・
あんな感じのメモリを弄る(?)ツールを作りたいんですけど
どうやったらいいですかねw
プログラミング初心者なので
メモリを取得したり弄ったりできる方法を教えて下さいw

458:デフォルトの名無しさん
05/03/29 18:10:41
ねこまんま作者のサイトとリンクを熟読すればいいと思う。

459:デフォルトの名無しさん
05/03/29 19:00:34
pocket PC 2003用のプログラムで
他のexeを実行するにはどうすればいい?
processが使えなくて困った

460:デフォルトの名無しさん
05/03/29 20:53:13
いまどき実メモリ好き勝手にいじること許すようなOSがあったら見てみたい。
>>457はメモリとファイルの区別がついてないんじゃないか?
バイナリエディタのこと言ってるんでしょ?
こんなレベル人の作ったバイナリエディタなんて怖くて使う気しないけどw

461:デフォルトの名無しさん
05/03/29 20:58:21
釣られないぞ

462:デフォルトの名無しさん
05/03/29 21:07:03
>>459
APIを直接操作するしかないんじゃない?
Pocket PCのAPIに詳しくないからアドバイスはできないが。
Win32APIならKernel32.dllのCreateProcess関数だが。

//.NET 2.0でProcessクラスがCompact Frameworkでもサポートされるようになるようだ。

463:デフォルトの名無しさん
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
発想がおかしい。省略していいかどうかの判断ができていない。
それにソースだけではないとも指摘されているが
それについて触れようともしていない。

結論。アホ。


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

4974日前に更新/240 KB
担当:undef