VB.NET質問スレ (Part10 ..
357:デフォルトの名無しさん
05/03/21 08:51:59
おまいら>>353の電気店ってほうが突っ込むべきところだと思うが。
358:デフォルトの名無しさん
05/03/21 11:00:25
>>357
思いません。
359:デフォルトの名無しさん
05/03/21 14:47:34
すいません、質問させてください。
IEのフォームにVB.NETで文字を自動入力させることは可能でしょうか?
注文ページに住所氏名電話番号など、自動入力できる常駐ソフトなど、
よろしければ教えてください。
360:デフォルトの名無しさん
05/03/21 18:24:38
'Yahooにログイン.vbs
'-------------------
Set ie = CreateObject("InternetExplorer.Application")
ie.visible = True
ie.navigate "URLリンク(www.yahoo.co.jp)"
Do
WScript.Sleep 100
Loop While ie.Busy
With ie.document.forms(0)
.item("login").value = "なまえ"
.item("passwd").value = "ぱすわーど"
.submit
End With
361:デフォルトの名無しさん
05/03/21 19:13:14
AddHandlerで、イベントをデリゲートした場合、
明示的に、RemoveHandlerを呼び出さないと、ガベージコレクトされませんか?
362:デフォルトの名無しさん
05/03/21 19:26:52
361ですが、
イベントハンドラ(イベントを関連付けたメソッド)
を持つクラスのインスタンスをNothingしても、RemoveHandlerを呼び出していなかった場合、
ガベージコレクトされずに、メモリに残ることはないのだろうかということです。
363:デフォルトの名無しさん
05/03/21 19:34:14
ないよ。普通にGCされる。
364:デフォルトの名無しさん
05/03/21 19:44:02
>>362
VB.NETではリソースの解放は一切必要ないよ。
ベストは1秒間隔くらいで動くタイマ仕掛けておいて、
その中でSystem.gc.Collect()しとけば絶対リークなしだよ。
365:デフォルトの名無しさん
05/03/21 19:47:21
ReDimも解放されますか?
366:デフォルトの名無しさん
05/03/21 19:47:43
無茶言うな。
367:デフォルトの名無しさん
05/03/21 19:48:45
>>365
されるよ。GCは最強。
368:デフォルトの名無しさん
05/03/21 19:57:32
そうですか。レスありがとう
一応、REmoveやっとけばいい話だけども。
ヘルプによると、
Event ステートメントで型が定義されて、
AddHandlerで、その型にインスタンスされるそうです。(デリゲートが?)
>>364
そりゃないよ。
369:デフォルトの名無しさん
05/03/21 20:34:25
一応技術的な解説をしとこう。
イベントは、対応する引数・返値を持ったデリゲートの一種のプロパティだ。
デリゲートというのは、メソッドへの参照リストを保持する特殊なクラス。
Event Hogeを宣言すると、VB.NETコンパイラは以下の操作を行う。
・MulticastDelegateを継承するHogeEventHandlerクラスを作成する
・HogeEventHandler型のフィールドHogeを追加する
・メソッドadd_Hogeとメソッドremove_Hogeを追加する
イベントの実体は結局の所デリゲートの派生クラスであるHogeEventHandler型のフィールドHogeである。
AddHandlerステートメントは、まずメソッドの参照をラップするHogeEventHandlerインスタンスを作成する。
その後add_Hogeを呼び出して、フィールドHogeと作成したインスタンスを合成し、新しくHogeとする。
これでHogeにはメソッドの参照であるHogeEventHadlerインスタンスのリストがあることになる。
//このリストは飽くまでインスタンスの参照のリストである、という点を忘れてはいけない。クラスインスタンスは全て参照でやりとりを行う。
RaiseEventステートメントを使うと、このメソッドリストを最初から順に実行していくわけだ。
さて、Hogeが持ってるのはHogeEventHandlerインスタンスのリストである。
それぞれのHogeEventHandlerインスタンスはこのHogeからしか参照されていないわけで、
Hogeが他から参照されなくなると、自動的に各HogeEventHandlerインスタンスも他からの参照はなくなる。つまりGCの対象となる。
ではHogeの参照を持っているのは、というと(SharedのEventでない限りでない限り)、
Eventを持ってるクラスのインスタンスが
・明示的にHogeにNothingを代入する(ただしVB.NETでは不可能)
・クラスのインスタンス自身が他から参照されなくなった
といった状況だ。
つまり、クラスのインスタンスがGCされる状況では必ずHogeとHogeが持っているHogeEventHandlerインスタンス達もGCの対象になっているというわけだ。
あと、RemoveHandlerすればHogeからHogeEventHandlerインスタンス(の参照)が一つはずれる。
はずされたHogeEventHandlerは当然他からの参照されていないためGCの対象になる。
370:デフォルトの名無しさん
05/03/21 21:13:16
>>368
>そりゃないよ。
理由言ってみ。
371:368
05/03/21 21:13:47
>>369
ダラダラ分かりにくい解説ありがとう
372:デフォルトの名無しさん
05/03/21 21:33:35
>>371
俺は369じゃないが君人間として終わっとるな。
373:デフォルトの名無しさん
05/03/21 22:17:23
>>372
理由言ってみ
374:デフォルトの名無しさん
05/03/21 22:34:07
言われないと分からないようなやつがいるこんな世の中じゃ(ry
375:デフォルトの名無しさん
05/03/21 22:35:28
Python
376:デフォルトの名無しさん
05/03/21 22:37:24
うまいな。(w
377:デフォルトの名無しさん
05/03/21 22:48:36
>>374
つまり説明はできないということだね。
378:デフォルトの名無しさん
05/03/21 22:49:01
>>374-376
自演乙
379:デフォルトの名無しさん
05/03/21 22:54:45
分かりやすい自演をするのが最近の2ちゃんのトレンドだと思うが。
380:デフォルトの名無しさん
05/03/22 17:07:50
ListViewのアイテムをカラムの値を使ってソートしたいのですがやり方がサッパリわかりません。
教えていただけないでしょうか?
381:デフォルトの名無しさん
05/03/22 17:13:16
>>380
どぼん
382:デフォルトの名無しさん
05/03/23 01:01:41
ブラウザコントロール(?)を利用してデータをPOSTで送信しているのですが、
特定のコード(Chr(81)〜Chr(9F))が00に化けてしまいます。
コードはこのような感じです。
Dim sendPOST As Object
Dim i As Integer
sendPOST = "test="
For i = 0 To 255
sendPOST += Chr(i)
Next i
sendPOST = Encoding.GetEncoding("Shift-JIS").GetBytes(sendPOST)
AxWebBrowser1.Navigate2("URLリンク(xxxxxxxxxxx)", "", "", sendPOST, "")
化けない方法はありますか?
383:382
05/03/23 01:03:51
>特定のコード(Chr(129)〜Chr(159))が00に化けてしまいます。
384:sage
05/03/23 01:48:09
算術演算子はオーバーロードできないのですか?
385:デフォルトの名無しさん
05/03/23 03:26:18
>>382
アスキー未定義コードだし、相手がLinux鯖じゃないのかな?
386:デフォルトの名無しさん
05/03/23 05:12:48
>>384
できない。
VB2005では、できるようになるらしい。
387:デフォルトの名無しさん
05/03/23 11:53:42
最初の画面のコンボボックスで、”AAA”という値を選択したとして
次の画面のコンボボックスで、”AAA”という同じ値が存在したら
選択状態にしたいのですが、どーすればいいのでしょうか?
388:368
05/03/23 12:08:50
371は俺じゃないぞ。
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やってる奴ってスキルだけでなく人格的にも未熟な奴が多いからなあ。。
幼稚な自分に嫌気がささないところが不思議でしょうがないんだけど、
まあ自意識ないんだろうなこういう輩は。
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4973日前に更新/240 KB
担当:undef