[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 03/12 18:38 / Filesize : 296 KB / Number-of Response : 987
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

VB.NET質問スレ (Part6)



1 名前:デフォルトの名無しさん [04/07/03 08:49]
VB.NETの質問全般です

過去スレ
VB.NET質問スレ (Part5)
pc5.2ch.net/test/read.cgi/tech/1078134703/
VB.NET質問スレ (Part4)
pc2.2ch.net/test/read.cgi/tech/1065269043/
【老若】VB.net質問スレ【男女】 (Part3)
pc2.2ch.net/test/read.cgi/tech/1056281084/
【老若】VB.net質問スレ【男女】 (Part2)
pc2.2ch.net/tech/kako/1043/10436/1043629429.html
【老若】VB.net質問スレ【男女】
pc2.2ch.net/tech/kako/1025/10258/1025848458.html


577 名前:デフォルトの名無しさん [04/08/24 12:39]
ここは初心者の来る場所じゃありませんYOwwwwwwwwwwwwwwwwwwwwwwwww

578 名前:デフォルトの名無しさん mailto:sage [04/08/24 12:50]
そして、煽りも要りませんので・・・

とりあえず過去ログ読みまっしょ

579 名前:デフォルトの名無しさん [04/08/24 13:23]
>>577
すいません
初心者はどこへ行けばよいですか?

580 名前:デフォルトの名無しさん mailto:sage [04/08/24 14:15]
>>579
ここは2ちゃん。「うるせー馬鹿」が返しの挨拶。

581 名前:デフォルトの名無しさん mailto:sage [04/08/24 14:51]
あの〜
いつぞやに、.NETの板が出来たと思っていたのですが、
あれは夢だったのでしょうか?

582 名前:デフォルトの名無しさん mailto:sage [04/08/24 15:55]
>>581
( ゚Д゚)氏ね

583 名前:デフォルトの名無しさん mailto:sage [04/08/24 19:46]
>>581
>>224のことか?

584 名前:デフォルトの名無しさん mailto:sage [04/08/24 21:39]
>>577
初心者の来る掲示板だと思います。ぼくはね。

で、>>574 みたいなのは、ハンドル渡すとか、
Form1 のほうで面倒見てあげるとかして実現は可能だと思う。

いまだによくわからないのだけど、答えはどっちなん?
「コードを工夫して実現する」 or
 「かっこ悪いからやってはいけない」

585 名前:デフォルトの名無しさん mailto:sage [04/08/24 21:51]
>>574
解1. Form2 のプロパティにForm1 のインスタンスをセットしておいてForm2 の方からはそれを介して使う。
解2. アプリケーション実行中にForm1 のインスタンスが高々1個しか無いことが確かなら、Form1 クラスに
     静的プロパティとして Form1 のインスタンスを保持して、Form1.ActiveForm のようにしていろんな所から使う。



586 名前:513 [04/08/24 22:32]
誰か解を求む・・・_| ̄|○

587 名前:デフォルトの名無しさん mailto:sage [04/08/24 22:35]
>>586
問題のソース圧縮してどっかにうpすれば?

588 名前:デフォルトの名無しさん mailto:sage [04/08/24 22:47]
>>585
例外的な場合を除けば、どっちも不正解だと思う。
そんなことをすればデータ隠蔽の効用が全部失われてしまう。

実際にデータを持つオブジェクトからハリボテ君(Form1)に
イベントで通知するのが正解だろう。

589 名前:デフォルトの名無しさん mailto:sage [04/08/24 23:14]
>そんなことをすればデータ隠蔽の効用が全部失われてしまう。
その判断の根拠を教えてくれ。
って>>584の言ってる事の方が普通じゃないと思うが…

590 名前:デフォルトの名無しさん [04/08/24 23:40]
ヴァカ降臨!
www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=14151&forum=3


591 名前:駆け出し mailto:sage [04/08/24 23:49]
ちょっと気持ちの悪いエラーが出ているので質問です。

Button1 と TextBox1を配したForm1のButton1のクリックイベントで

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim parameter As Integer
  Do While ( 処理続行条件 = True )
  Application.DoEvents()
  parameter = CInt(TextBox1.Text)
          ・・・                    'parameter を使った処理
Loop
End Sub

というように、TextBox1からパラメータを入力してループ処理に反映させるコードを書き、
デバッグモードでビルドエラーも出ずに一見正常に動作する所まできました。
ところがDo While ループが回っている最中にForm1の右上の「X」ボタンをクリックして強制終了させると、
parameter = CInt(TextBox1.Text) の行のところで

'System.InvalidCastException' のハンドルされていない例外が microsoft.visualbasic.dll で発生しました。
追加情報 : 文字列 "" から型 'Integer' へのキャストが有効ではありません。

とエラーが出てしまいます。
なにぶんど素人なもので、どうしてエラーが出てるか良く分からないし、分からないと気持ち悪くて使えないし・・・
どなたか、エラーが出ている原因をご教授願えないでしょうか


592 名前:デフォルトの名無しさん mailto:sage [04/08/24 23:59]
TextBox1.Textが""なんじゃないの?

593 名前:駆け出し mailto:sage [04/08/25 00:06]
>>592
TextBox1の中身は(目で見る限り)整数が入っています。
実際、ループ中の強制終了さえしなければ妥当な結果が得られています。

アプリケーションの終了でTextBox1の中身がクリアされてしまう、と言われれば
なんとなくそうかなあとは思うのですが、
素人考えでは、「X」ボタンのクリックが処理されるのは ”Application.DoEvents()”
のところであって、だとするとわざわざその次の行まで処理が進んでエラーが出るのも
おかしいんじゃないかと思ったり、悶々と悩んでいる次第です。



594 名前:デフォルトの名無しさん mailto:sage [04/08/25 00:31]
うーん、細かい内部動作までは知らないんだけどさ…
Application.DoEvents()でフォームが閉じるわな。
閉じ終わったら処理が戻ってくるわな。
Windowの破棄とかが具体的にどのタイミングなのかは知らないけど、
この時点でTextBoxが空になってるというのはありえそうな話だ。
まあ、ObjectDisposedExceptionになりそうな気もするけどそこはそれ。

勘違いしてそうだが、×ボタンクリック=アプリケーションその場で強制終了じゃないぞ。
ちゃんと最後まで処理は続く。

595 名前:デフォルトの名無しさん mailto:sage [04/08/25 00:34]
DoeventsだからこそForm Unloadとその他のプログラムの動作がマルチタスクで動く。
ところでDoevents中に×ボタンを押したときにちゃんと終了するプログラムを書けるかどうか見守ってやる



596 名前:592 mailto:sage [04/08/25 00:37]
書こうと思ったら>>594氏が書いてくれたか
Application.DoEvents()で閉じる処理を拾った後(フォームが破棄されてる)に
parameter = CInt(TextBox1.Text)を実行してるから空っぽ
DoEventsはどの順序でイベントが発生したか追跡が難しいから
あまり使うことはおすすめできない

597 名前:デフォルトの名無しさん mailto:sage [04/08/25 00:38]
>>589
>>584が正しいなんて全く言ってないけど。。

「データ隠蔽の効用が失われる」は正しい言い回しじゃないが、
要するに>>585のようにしたのでは、たとえばフォームならフォーム上のコントロールの
制御の責任者とそのタイミングの明確さが失われるってことだ。

テレビに例えれば、ケーブルで繋がってるのなら映像がどっから流れてきているかは
ケーブルを追っていけば自明だが、「パブリックな」電波だったら映像がどっから来ているか
追跡するのは大変だよ。

よく知ったかクン(俺もその一人だが。。)が「UIとロジックを分離する」
なんて知った風なこといってるでしょ?要するにそれだよ。

598 名前:デフォルトの名無しさん mailto:sage [04/08/25 00:41]
ちゃんとフラグ管理やらEnable False やら工夫すればDoevents使いまくりでとても軽くて快適なアプリができるぞ

599 名前:デフォルトの名無しさん mailto:sage [04/08/25 00:52]
スレッド使えるようになったのにわざわざDoEventsなんていう
面倒で危ない橋を渡る理由が浮かばない。

マルチスレッドがよほど難しいならともかく、
直接UIいじらない単純なバックグラウンド処理なら屁みたいなもんなのに。


600 名前:駆け出し mailto:sage [04/08/25 00:54]
レスくれたみなさん、ありがとうございます。
どうも Application DoEvents() の処理のタイミングについて誤解があったようですね。
ちょっくら関連ドキュメントなぞ当たって勉強してみます。

VBは奥が深いと言うか何と言うか、やればやるほど
過去に書いた見掛けだけ正常に動くコードのインチキさ加減が露になってくる・・・

601 名前:デフォルトの名無しさん mailto:sage [04/08/25 01:02]
まあ、EnabledをFalseにするとかでもはや別スレッドでやるのと
同じくらい流れが明確なのであれば、そんなに危険があるわけではないが、
>>599の言ってるとおり、それがスレッドでやるより特別に簡単てわけじゃない。
単発処理自体が重かったり、常にDoEventsを行う事を考えるくらいなら、
むしろ別スレッドの方が簡単確実だ。

602 名前:デフォルトの名無しさん mailto:sage [04/08/25 07:45]
どんな.NETアプリでもあちこちにDoevents挿入しとかないと他のアプリが重くなっちゃうというのが.NETアプリを使ってるときの体験法則

VB.NETアプリが動作中にタスクバーにある他のアプリをクリックしてアクティブにするときに重さを感じる

603 名前:デフォルトの名無しさん mailto:sage [04/08/25 08:14]
>>602
DoEventsの意味がわかってない予感。。
ついでにプリエンプティブって意味もわかってない予感。。

しかし、これをプログラマの世界もオーディオみたいにプラシーボに
騙される人が出るほどレベルが低下していると見るべきか、それだけ
層があつくなったと見るべきか。

604 名前:デフォルトの名無しさん mailto:sage [04/08/25 09:03]
>586
VB6の時はPropertyBagオブジェクト使ってたが、.NETだと違うみたいだ。
MSDNでPropertyBag調べて見れ。
.NETではどうすればいいかわかる。

605 名前:774.sln [04/08/25 10:14]
質問です。
Windows2000で組んだアプリケーションが、Windows2000では起動するんですが
WindowsMeで起動しないんです。
デバッガで調べたら
「アセンブリファイル Microsoft.VisualBasic.Compatibility が見つかりません」
と出ているんですが、これはどういうことなんでしょうか?

環境は
Windows2000 / Microsoft .net Framework v1.1
WindowsMe / Microsoft .net Framework v1.1

です。よろしくお願いします。



606 名前:774.sln mailto:sage [04/08/25 11:03]
すみません解決しました。
WindowsMeには「Microsoft.VisualBasic.Compatibility」がインストールされないらしく
「参照設定」で「ローカルコピー」をTrueにしたら起動しました。

スレ汚しすみませんでした。

607 名前:デフォルトの名無しさん mailto:sage [04/08/25 13:37]
>>602
( ゚Д゚)ポカーン

608 名前:デフォルトの名無しさん mailto:sage [04/08/25 15:54]
すいません。わたしマイクロソフトの社員ですが実は602の言うとおりです・・・

609 名前:デフォルトの名無しさん mailto:sage [04/08/25 17:23]
プロパティウインドウでGUI入力できるプロパティはどのように作成したらよいのでしょう?
たとえばBackColorのプロパティ等のような
プロパティ値の▼押下でプロパティ設定用の画面から入力できるようなものを作成したいのですが・・・

610 名前:デフォルトの名無しさん [04/08/25 17:50]
VB.NETでCORBAって使えますか?

611 名前:デフォルトの名無しさん [04/08/25 17:50]
とりあえず練習用にVisualBasic.netを買ってみたんですが、DB400に接続しようとしてODBC接続
接続しようとすると、このバージョンのVSでは無理だよヴォケ!ってウィザードの最中にいわれてしま
います。

普通のVisualStudio.netなら大丈夫なのでしょうか?それとも、エンタープライズ版を買わないとダメな
のでしょうか?



612 名前:デフォルトの名無しさん mailto:sage [04/08/25 18:05]
>>608
そこらにDoeventsを入れないといけないプログラム記述は
マイクロソフトで推奨されてるのですか?

613 名前:デフォルトの名無しさん mailto:sage [04/08/25 18:10]
.NETの実行速度を上げるために
1行のステートメントが終ったらすぐに次の行のステートメントを実行する仕様になってます。
そのためたとえループでなくてもマルチタスクさせたい場合(たとえネットするぐらいでも)は制御のあそび(すきま)を作ってほしいです。
Doeventsを使ってないプログラムのマルチスレッドは余計負荷になります。
公では言ってませんが感のいい方は気づいていたみたいです。

614 名前:デフォルトの名無しさん mailto:sage [04/08/25 18:19]
>>612
 このスレで書かれてる Doevents 推奨はほぼデタラメですが、
RPC や Out of Process COM オブジェクトの呼び出し (一部のSHホゲホゲ系 API も含む) などで
内部的に「隠れたウィンドウ」が生成されるようなスレッドは、非UIスレッドだからといって長時間ブロック
して処理を行うと DDE ブロードキャストを阻害し、シェル( Explorer) の動作を重くします。

615 名前:デフォルトの名無しさん mailto:sage [04/08/25 18:21]
推奨とは言いたいが言えない企業の悩み



616 名前:デフォルトの名無しさん mailto:sage [04/08/25 18:23]
>>614
追加。例えば Win32 の Sleep API の注意
www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/jpdllpro/html/_win32_sleep.asp
なんかは、.Net でスレッドを作成する場合にも同じく適用されます。
(.Net の場合には AppDomain 間をまたがるメソッドの呼び出しでも隠しウィンドウが生成されると思います)

617 名前:デフォルトの名無しさん mailto:sage [04/08/25 18:29]
実行速度が早いとみせかけるためにはしょうがないのだよ

618 名前:デフォルトの名無しさん [04/08/25 20:34]
誰か611に答えてやれよワラ

619 名前:デフォルトの名無しさん mailto:sage [04/08/25 21:36]
だってわかんないんだもん

620 名前:591 mailto:sage [04/08/26 00:26]
どうも、>>591です。
今日は同僚の目を盗んでVSのヘルプやらWeb上の文書をあさってみましたが、結局DoEvents()関連についてはうやむやのまま
せっかく.NETに移行したことだし(2ヶ月前までExcelのVBAマクロしか書いたことなかった)
スレッドとやらを使ってみようかとトライしてみました。

で、試行錯誤した末、以下のような感じのコードになりました。

Imports System
Imports System.Threading

Public Class Form1
      
      ・・・

Private Sub DoLoopThread()
'元Button1のクリックイベントにあった処理から、Application.DoEvents()を取っ払ったもの
End Sub

Private MyThread As New Thread(AddressOf DoLoopThread)

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
MyThread.start()
End Sub

Private Sub Form1_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing
MyThread.Abort()
End Sub

End Class

これで何とか”ループ処理中に「X」をクリックするとエラーが出る”問題は回避できるようになりました。

621 名前:591 mailto:sage [04/08/26 00:38]
しかし、>>620のコードでもまた新たな問題が発生してしまいました。
一度ループの処理が終わった後、再度Button1をクリックすると

"スレッドが実行中か、または終了しています。再起動できません。"

とエラーが出てしまいます。
このツールでは、Button1で始まる処理を、何回でも呼べるようにしたかったのでいろいろいじくって
結局、Button1のクリックイベントの中身を以下のように書き換えて、何とか目論見どおりの
動作をさせることができるようになりました。

Select Case MyThread.ThreadState
Case ThreadState.Unstarted
MyThread.Start()
Case ThreadState.Running
MsgBox("処理実行中です。やり直す時は一度終了してください")
Case ThreadState.Stopped
MyThread.Abort()
Dim t As New Thread(AddressOf DoLoopThread)
MyThread = t
MyThread.Start()
End Select

これにて一件落着!と行きたい所ですが、どうもこのコードは直感的に美しくないような気がします。
一般的にスレッドの再利用(に近い機能)を実現するときのリーズナブルな方法とはどんなものなんでしょうか?

622 名前:デフォルトの名無しさん mailto:sage [04/08/26 00:55]
ボクにはネタにしかみえません。


623 名前:デフォルトの名無しさん mailto:sage [04/08/26 00:58]
タイマーで10ms

624 名前:デフォルトの名無しさん [04/08/26 01:52]
厨な質問で申し訳ないが、VB6のProjectをVB.netで読み込んで、
加筆修正してVB6のデータとして保存できるんでしょうか?

要はVB.netでVB6形式の保存ができるのかどうなのかを知りたいのです。

625 名前:デフォルトの名無しさん mailto:sage [04/08/26 01:55]
どうあがいてもむり。



626 名前:デフォルトの名無しさん mailto:sage [04/08/26 09:55]
>>624
ばっっっかじゃねーの

627 名前:デフォルトの名無しさん [04/08/26 10:08]
申しわけありませんが、質問させてください。

VB.NETで、配列を使わずに最終レコードから逆読みしていくにはどのようにすればいいのでしょうか。

1〜100までのデータがあり、100、99、98…とグリッドに表示したいのです。



628 名前:デフォルトの名無しさん [04/08/26 10:40]
うるせーバカ

629 名前:デフォルトの名無しさん mailto:age [04/08/26 11:28]
>>628
クズハ、ハヤクシネヨ
ソノホウガヨノタメ

630 名前:デフォルトの名無しさん mailto:sage [04/08/26 11:39]
フォームのデザイン時にロジックからコントロールを生成するようなことは可能でしょうか?
実効時、動的コントロール生成のやりかたはわかるのですが

AccessフォームのTextBoxのようにフォームデザイナにTextBoxを配置した時点で連動するCaption(Label)コントロールも同時に生成し
以降、デザイナ上でレイアウト操作を連動させる・・・
といったようなことをやりたいのですが
デザイン時にParentのInitializeComponent()へコントロール追記できるようなクラスやメソッドがあるのでしょうか?
ざっとググってみても関連する情報が見当たらないもので・・・

631 名前:デフォルトの名無しさん [04/08/26 12:02]
うるせーバカ

632 名前:デフォルトの名無しさん mailto:sage [04/08/26 13:24]
.NETになってからは変数名にいちいち
i.NETとかmyString.NETとか書かなければならなくなってめんどうになったから
VB6.0に戻ろうかな

633 名前:デフォルトの名無しさん mailto:age [04/08/26 13:29]
>>628>>631
クズハ、ハヤクシネヨ
ソノホウガヨノタメ
ダイタイ、オマエガイテモダレモカンシャシナイ



634 名前:デフォルトの名無しさん [04/08/26 13:53]
>>632
うちの.netは付けなくても動くよ

635 名前:デフォルトの名無しさん mailto:sage [04/08/26 14:04]
>>634
社内(or参加プロジェクト内)での命名規約の話だろ。

>>632
VB6もリリースが終わったから、否応無しにVB.netを使わなきゃならん。。



636 名前:デフォルトの名無しさん mailto:sage [04/08/26 14:09]
>>635
難儀な会社だな・・・
うちじゃコンパイラがエラー出す

637 名前:デフォルトの名無しさん [04/08/26 14:17]
>>629>>633
テメーコソヤクタタズダローガ
クズハ、ハヤクシネヨ
ソノホウガヨッポドヨノタメw

638 名前:デフォルトの名無しさん [04/08/26 14:40]
>>637
ノロイヲカケタヨ
エキノホームカラテンラクシシナイヨウニナ
ケケケケ...

639 名前:デフォルトの名無しさん [04/08/26 14:52]
>>638
アイニクデンシャニハノラネエンダワ
ゴクロウサマ
プププ...

640 名前:デフォルトの名無しさん mailto:sage [04/08/26 15:25]
>>611
安いやつ買ったね? ウィザードを使わずコードで書けばOKだよ

>>627
そのデータはどこに格納してあるの?

>>630
DTE からオブジェクトをとって、ごにょごにょやるしかないんじゃないかな。
つまり、コントロールの機能としては無理かと。


641 名前:627 [04/08/26 16:12]
640様

返答いただきありがとうございます。

SQLサーバ7.0内のRDBとなります。接続はODBC接続しています。



642 名前:デフォルトの名無しさん mailto:sage [04/08/26 16:50]
>>641
データセットに入れてあるのなら、ループで逆に読めば OK。

レコードセットに入れてあるのなら、MoveLast して、MovePrevious しながら
とっていけば OK。

643 名前:627 [04/08/26 17:38]
642様

ありがとうございます。

早速、試してみたいと思います。

本当に感謝致します。

644 名前:デフォルトの名無しさん mailto:sage [04/08/26 19:01]
掲示板を自動巡回するソフトを作りたいのですが、
どういった知識が必要なのでしょうか。
いくつかの掲示板を自動巡回できるようにし、
また各掲示板用の書き込みを巡回前に用意しておけば
巡回中に、自動で投稿されるようにしたいです。

掲示板によっては投稿に必要な手順が異なったりするのも
ソフトの方で登録できるようにしたいです。

どなたか、よきアドバイス・実現方法等ご教授下さらないでしょうか。


645 名前:デフォルトの名無しさん [04/08/26 19:08]
>>644
まずは、IEコンポーネントとかを使わずにブラウザを作るところからスタートだな。
TCP/IPとHTTPとHTMLぐらい。



646 名前:デフォルトの名無しさん mailto:sage [04/08/26 21:00]
コントロールA(アンカー左)とコントロールB(アンカー右)を配置した後、
フォームをリサイズしたら、BがAの下に潜り込んでしまいました。逆に
AがBの下に潜り込むようにしたいんですが、どうすればいいんでしょうか。
各コントロールの重なり方を指定するやり方を教えてください!m(_ _)m


647 名前:デフォルトの名無しさん mailto:sage [04/08/26 21:14]
>>646
まずはデザインモードでコントロールを右クリック。
話はそれから。
というか、普通それで解決法がわかると思う。

648 名前:デフォルトの名無しさん mailto:sage [04/08/26 22:32]
>>644
ついこないだそんなもん作ったなぁ・・・お前は俺か?(ぉ
www.gotdotnet.com/japan/student/column/firststep/
ここのダウンローダーあたりを見ればwebから取得する方法は分かるだろ。
これで巡回はいいとして・・・

あとはその掲示板への投稿方法を見なければならないからなぁ
HTMLフォームの知識も必要になるだろう。
(簡単なHTTPの知識もあったほうがいいと思われ。RFCでも見るんだ)

巡回先が2chじゃないだろうな?一応
www.monazilla.org/document/index.html

自動投稿スクリプトでAA連投プログラムとか作っちゃダメだぞ

649 名前:デフォルトの名無しさん mailto:sage [04/08/27 09:43]
Windows Script HostのMapNetworkDrive メソッド、RemoveNetworkDrive メソッド
と同じような事をwsh使用せずにVB.NETだけでしたいのですが
System.IO,System.netクラスにはなさそうだったのですができないのかな?
ネットワークドライブの割り当てせずにUNC形式でパスかかってるファイル、フォルダに
アクセスできればいいのですがどなたかご存知ないでしょうか?


650 名前:デフォルトの名無しさん mailto:sage [04/08/27 10:40]
プログラムを常駐させといて、ユーザーのクリックに反応してある関数を動かす
そんなプログラムを作りたいのですが、.NET Frameworkで実現できますか?

651 名前:646 mailto:sage [04/08/27 19:09]
>>647
レス遅れてしまってすいません! ありがとうございました!
とても簡単に解決できたんですね・・・申し訳ないです。助かりました。
多謝です m(_ _)m

652 名前:デフォルトの名無しさん [04/08/27 22:25]
SQLからNullを含んだ列をDataSetに読み込んできたんですが、その列が
Nullであるかどうかを判別するのってどのようにすればいいんでしょうか?
SqlDataAdapter1.Fill(DataSet11.TestTable)
For Each dr As DataSet1.TestTableRow In DataSet11.TestTable
If Not dr.X Is Nothing Then
....
Else If
Next

という感じで書いてみたんですがだめでした
XMLスキーマエディタでNullValueを設定しようとしたら
このコンテキストでは無効です
というエラーが出てしまい、保存できません
どなたがご教授お願いします


653 名前:デフォルトの名無しさん mailto:sage [04/08/27 23:43]
>>652
IsDBNull関数でできると思うけど?


654 名前:デフォルトの名無しさん mailto:sage [04/08/28 09:52]
>>653
出来ません。

655 名前:デフォルトの名無しさん mailto:sage [04/08/28 10:09]
自作プロパティ、メソッドに説明文をつけたいのですが方法がわかりません。
プロパティウインドウの下の部分や、入力候補に表示させるにはどうしたらいいのでしょうか?



656 名前:652 mailto:sage [04/08/28 12:28]
>>653 >654の言うとおりで出来ませんでした。
datasetの項目はpropertyみたいなのでgetメソッドの中で
例外が発生しているみたいです。


657 名前:デフォルトの名無しさん [04/08/28 12:40]
ちょっと質問です。

VB6.0では、スクリプトコントロール
(www.microsoft.com/japan/msdn/scripting/default.asp)
があって、VBアプリからVBスクリプトを簡単に利用できましたが
VB.NETで同じようなことはできるでしょうか?



658 名前:デフォルトの名無しさん [04/08/28 13:22]
DataSet11ってオリジナルのクラス?

659 名前:652 mailto:sage [04/08/28 13:36]
>>658
そうです。データアダプタでデータセットの生成をやったときに
新しいデータセットを作るときのデフォルトの名前がDataSet1
で、それをフォームに追加したときに出来るのがDataSet11です。


660 名前:デフォルトの名無しさん mailto:sage [04/08/28 14:10]
その方法でDataSetを使ったことがないんだけど

XMLスキーマ経由で返されるNULLってゼロストリング""じゃなかったっけ?
CrystalReportsのXMLデータセットで使ったときはNULL=""で対処してた



661 名前:652 mailto:sage [04/08/28 15:16]
>>660
XMLスキーマエディタでNullValueをemptyに設定するとゼロストリング""
になるらしいんですけど、その設定が出来ませんでした。(保存するとき
にエラー「このコンテキストでは無効です」が出る)
>NULL=""で対処してた
それで対処できるのはわかるんですけど、たとえばSQLdatareaderとかを
使う場合とかならISDBNUllとかで対処できるからdatasetでもできるんじゃ
ないかと思ったんです

662 名前:デフォルトの名無しさん mailto:sage [04/08/28 15:54]
試しに
ID Int
STR CHAR
DT DATETIME
っていうSQL結果(テーブル)からDataSet1.xsd
作ってみたんだけど

STRのNullValueプロパティを(Empty)にしたら問題なくコンパイルが通った

DT(DateTime)のNullValueプロパティを(Empty)にしたら
「カスタム ツール エラー : コードを生成できませんでした。システム エラーです。」
と言うのが発生したけど、これはまた別物かな

一度XMLスキーマに通してるみたいだけど
直接Data.DataSetにFillすることは出来ないのかね?
Data.DataTable内のDataColumnならNull値(Nothing)が取れるんだけど

何かあんまり力になれそうにないです
スマソ


663 名前:デフォルトの名無しさん mailto:sage [04/08/28 16:09]
datasetじゃなくてdatatableじゃダメなん?


664 名前:652 mailto:sage [04/08/28 16:19]

>STRのNullValueプロパティを(Empty)にしたら問題なくコンパイルが通った
>DT(DateTime)のNullValueプロパティを(Empty)にしたら
>「カスタム ツール エラー : コードを生成できませんでした。システム エラーです。」
>と言うのが発生したけど、これはまた別物かな
同じエラーです。こっちではそれでコンパイルが通らなくなっちゃうんですよね。
何がちがうんですかね?

>一度XMLスキーマに通してるみたいだけど
>直接Data.DataSetにFillすることは出来ないのかね?
えーっと私の理解ではdatasetを生成すると自動でXMLスキーマが生成されて
さらに編集したい場合にはエディタを使うってことだと思ってたんですが
違いますか?

>Data.DataTable内のDataColumnならNull値(Nothing)が取れるんだけど
DataTableは使ったことがないんで試してみます。

>何かあんまり力になれそうにないです
>スマソ
いえいえありがとうございました。参考になりました。

>>663
とりあえずやってみます


665 名前:デフォルトの名無しさん mailto:sage [04/08/28 16:35]
>>664
XMLのDataSetとSystem.Data.DataSetは名前は同じなんですけど中身が別物です

Dim dt As New Data.DataTable '新しいDataTable作成
SqlDataAdapter1.Fill(dt)      'でDataTable内にデータを取得できるので

For Each dr As Data.DataRow In dt.Rows

dr.Item(カラム名か番号) '<-これでレコードごとのカラムにアクセスできます

Next

な感じでデータを取得できます



666 名前:652 mailto:sage [04/08/28 18:08]
>>665
>dr.Item(カラム名か番号) '<-これでレコードごとのカラムにアクセスできます
ここでItem(カラム名か番号)がNULLだと例外が出てしまうんです。
If dr.Item(カラム名か番号) Is Nothing then ...
If ISDBNull(dr.Item(カラム名か番号)) then ...
などとやってもうまくいかないんですよ(TT)



667 名前:デフォルトの名無しさん mailto:sage [04/08/28 20:26]
If IsDBNull(dr.Item(カラム名か番号)) then てやらんと。
DataRowに入ってるSystem.DBNull.Value とNothingは別物だぞ

668 名前:667 mailto:sage [04/08/28 20:32]
If dr.Item(カラム名か番号) Is DBNull.Value then ... でもok


669 名前:665 mailto:sage [04/08/28 20:57]
失礼
NothingじゃなくてDBNullでした

670 名前:デフォルトの名無しさん mailto:sage [04/08/28 21:58]
dr.Item(カラム名か番号) で例外が出るんだったらそれでは無理と思うが…


671 名前:デフォルトの名無しさん mailto:sage [04/08/28 22:00]
って勘違いしてたかな?スマン

672 名前:デフォルトの名無しさん mailto:sage [04/08/28 23:26]
ON_WM_KEYUP( )メッセージハンドラで他のアプリのキーUPメッセージって拾えますか?


673 名前:デフォルトの名無しさん [04/08/29 05:29]
SqlDataAdapter1.Fill(DataSet1,"DataTable")で作成したDataTableの中身を
Excelファイル(.xls)に吐き出して、Excel起動→WorkSheet表示→印刷
→Excel終了をVBのプログラムから実行したいのですが方法が分かりません。
どなたかご教示頂きたく宜しくお願いいたします。
ちなみに、VBは2003、Excelは2002、DBはMSDE-RelAです。

674 名前:デフォルトの名無しさん mailto:sage [04/08/29 08:17]
>>673
www.atmarkit.co.jp/fdotnet/index/bbs/dir91.html
ヒントが見つかるんでないかな

675 名前:523 [04/08/29 12:35]
>>655
入力候補ってのはどんな奴を指してるかイマイチ解りませんが、
Modifiersプロパティみたいな奴だったら
Public Enum testEnum
t0 = 0
t1
End Enum
<System.ComponentModel.Description("説明です")> _
Public Property test() As testEnum
で、OKと思われる

追伸
誰か、523の回答もお願いします



676 名前:デフォルトの名無しさん mailto:sage [04/08/29 20:09]
>>675
>>523のやつまだやってたのかよ。

ってか>>518で書いてるようにプロパティをReadOnlyにしたらいけたぞ?
ReadOnlyじゃないと、DesignerSerializationVisibility.Contentの指定が生きてない感じ。
というより、コントロールのオブジェクト自体入れ替えられるんだから指定が意味なしってことかな・


677 名前:523 [04/08/29 21:20]
>>676
すみません。完全に見落としてました・・・_| ̄|○
ReadOnlyにしたら出来ました。

678 名前:デフォルトの名無しさん mailto:sage [04/08/30 09:15]
VisualStudio.NET2003と.NET Framework1.1の組み合わせで
使用しています。

TreeviewやListviewを使った標準的な3ペインのアプリケーションを
作っているんですが、起動時に、Treeviewに水平スクロールバーが
表示されます。必要もないのに、です(つまりノードはすべて表示し
切れています)。Treeviewの大きさを変えたりすると、消えてしまいます。
これはバグでしょうか? scrollableプロパティをfalseにすれば表示され
ないんですが、これだと、ノードが表示しきれなくなったときにバーが
出なくなってしまいます。この水平スクロールバーの表示をなくすには
どうしたらよいでしょうか。よろしくお願いします。

679 名前:655 mailto:sage [04/08/30 09:36]
>>675
レス感謝です。
プロパティは確かに実現できました。

>入力候補ってのはどんな奴を指してるかイマイチ解りませんが、
ソースを入力している時にピリオドを打つと出てくる奴のことです。
たとえばShowメソッドだと、
Me.
と打った時に入力候補が出て、Showの説明には、
コントロールをユーザーに対して表示します。
と表示されます。この説明を設定したんです。

680 名前:デフォルトの名無しさん mailto:sage [04/08/30 10:10]
>>679
XML ドキュメント

681 名前:デフォルトの名無しさん mailto:sage [04/08/31 02:28]
>>680
もっとわかりやすく伝わるように努力してくれませんか?

682 名前:デフォルトの名無しさん mailto:sage [04/08/31 02:46]
681 名前: デフォルトの名無しさん [sage] 投稿日: 04/08/31 02:28
>>680
もっとわかりやすく伝わるように努力してくれませんか?


他人に努力を求めるってのもすごいな

683 名前:デフォルトの名無しさん mailto:sage [04/08/31 03:47]
>>681
ぎゃはははは、じゃとっととあきらめろ。
やならドキュメントコメントについて調べろ。

684 名前:デフォルトの名無しさん [04/08/31 09:56]
ここは中途半端な知識の香具師が、エラを張るイソターネッツでつね。

685 名前:デフォルトの名無しさん mailto:sage [04/08/31 12:41]
インターネッツ?
2ちゃんねるだよ ボケ!



686 名前:デフォルトの名無しさん mailto:sage [04/08/31 18:08]
>>683
そんな一言じゃアドバイスになりません。
煽るつもりならレスしないでください。

687 名前:デフォルトの名無しさん [04/08/31 18:54]
夏の終わりに変なのが出てきたな・・・
課題が終わらない大学生か?




688 名前:デフォルトの名無しさん [04/08/31 19:15]
idCode1で絞込みをして、外装コンボボックスに値を出力、次にidCode1とidCode2で
絞込みをして内装コンボボックスに値を出力しようと思っています。

下のように書いて、外装コンボボックスに"excol_name"値は出力できました。次に
この"excol_data"テーブルに存在している"excol_id"の値を"idCode2"に代入したい
のですが、コンボボックスの"excol_name"をフォームから選んだ時に、その行にある
"excol_id"を"idCode2"として得る方法を教えてください。

Private Sub frmMakedata_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Dim cmd As SqlClient.SqlCommand = SqlConnection1.CreateCommand()
Dim dr As SqlClient.SqlDataReader
Dim idExcol1 As Integer
cmd.Connection = SqlConnection1
SqlConnection1.Open()

'外装コンボボックスの設定

cmd.CommandText = "SELECT * FROM excol_data WHERE car_id =" & idCode1 & ""
dr = cmd.ExecuteReader()
Do While dr.Read = True
cmbExcol.Items.Add(dr("excol_name"))
Loop
dr.Close()

End Sub

689 名前:デフォルトの名無しさん mailto:sage [04/08/31 23:24]
外装とか内装って何よ

好意的に解釈すると
ComboBoxが2個ある
一方に値を設定すると、他方にそれに該当する候補値を入れたいって事か

だったらSelectedIndexChangedかSelectedValueChangedでその変化をひらって
みるとか

できたらもう少し状況がわかるように書いてくれよ
つうか人間にうまく伝えられなかったら、コンピュータにもうまく伝えられないんじゃねぇ

690 名前:688 [04/09/01 00:56]
えーとですね、車の見積を作ってるんです。

んで、外装の色のコンボボックスは、車種でもって、ふるいに掛けられて
内装の色のコンボボックスは、車種と外装の色でもって、ふるいに掛けた
いんです。

で、外装の色コンボボックスは、excol_dataのテーブルに含まれてる車種
のidであるcar_idでふるいに掛けることに成功したんですが、内装の色の
コンボボックスの値を決めようとすると、車種をあらわすidCode1=car_idと、
外装の色を表す、idCode2=excol_idが必要になるんです。

で、外装の色のコンボボックスで、色を選択したときに、このテーブルに含
まれているexcol_idを取得したい・・・というわけなんです。

判りにくくてすいません。

691 名前:デフォルトの名無しさん mailto:sage [04/09/01 01:46]
車のデータベースか・・・
以前どこかで見かけたような・・・
いや、デジャヴだろうな・・・

692 名前:デフォルトの名無しさん mailto:sage [04/09/01 05:32]
>>691
意味ないレスしてんじゃねーよ
おまえはチラシの裏にでもレスしてろ

693 名前:デフォルトの名無しさん [04/09/01 07:53]
オマエモナー

694 名前:デフォルトの名無しさん [04/09/01 07:54]
ここは、役に立たないイソターネッツですね。

695 名前:689 mailto:sage [04/09/01 11:02]
>>688 >>690
Accessとかでやった方がすこぶる簡単だと思われ




696 名前:デフォルトの名無しさん [04/09/01 20:53]
ACCESS以下だと言う事が露呈しました。

697 名前:デフォルトの名無しさん mailto:sage [04/09/02 01:32]
Accessって何?

698 名前:デフォルトの名無しさん mailto:sage [04/09/02 02:40]
TreeViewコントロールのツリー構造をどこかに保存しておき、
アプリケーションを起動したときに、そのツリー構造を正確に
再現するようにしたいんですが、どうしたらいいのか見当つかず
困っています・・・。このツリー構造は、ユーザーがノードを
追加・削除できるもので、プログラマ側が、具体的にどのような
ツリー構造となるかは予想できません。TreeViewコントロールは
いろんなアプリに利用されていて、保存・再現はほとんど必須の
テクニックだと思うのですが・・・。どのように処理するとよいんで
しょうか。

699 名前:デフォルトの名無しさん mailto:sage [04/09/02 10:34]
>>698
検索しろ。過去ログ嫁。

700 名前:デフォルトの名無しさん mailto:sage [04/09/02 17:40]
Webサービスで
<WebMethod()> _
Public Function FX(ByVal X As Integer, ByVal Y As Integer, ByVal Z As Integer) As Integer
Z = X + Y
End Function
というサービスを起動し

クライアントアプリケーション(VB.NET)でZの値を取得しようとしたのですが
値が返ってきません

Webサービスでは引数に戻り地を渡すことは出来ないのでしょうか?

701 名前:デフォルトの名無しさん mailto:sage [04/09/02 19:46]
ByVal Z As Integer じゃなくて
ByRef Z As Integer じゃないのかな

702 名前:デフォルトの名無しさん mailto:sage [04/09/02 21:46]
>>697
Office製品の一部?

703 名前:デフォルトの名無しさん mailto:sage [04/09/02 22:13]
>>700
何がしたい

704 名前:デフォルトの名無しさん mailto:sage [04/09/02 22:23]
>>698
キーワード: シリアライズ

705 名前:デフォルトの名無しさん mailto:sage [04/09/02 22:39]
シリアライズする元ですら作れないと思われ。
っていうか、TreeViewの情報って何を保存しときたいの?
ツリーの構造と状態?名前?その他のデータ?
その情報は誰が(何が)操作、作成するわけ?



706 名前:デフォルトの名無しさん [04/09/02 22:46]
役に立たないから落とせよ、このスレ。
プ

707 名前:デフォルトの名無しさん mailto:sage [04/09/02 22:48]
(σ´∀`)σ)・ω・) >>706

708 名前:デフォルトの名無しさん mailto:sage [04/09/02 23:38]
みんな基本コントロールを継承して軽くカスタマイズして使ってるだろけど、
ネットで公開してるのは少ないな。
TreeViewの構造を読み書きできる継承クラスぐらい落ちてそうなもんなのに。

709 名前:700 mailto:sage [04/09/03 00:25]
おそくなりました

>>701
ByRefにしてみてもダメでした

>>703
サーバ上のとあるユーティリティ(COMコンポーネントで実装)を実行して
検索結果を返すというサービスです
複数の結果を同時に返す必要があるので
引数で返す方法をとりたかったのですが

710 名前:デフォルトの名無しさん mailto:sage [04/09/03 08:54]
>700
Returnしなくていいのか?

711 名前:デフォルトの名無しさん mailto:sage [04/09/03 08:56]
>700
709読んでなかった、710は見逃してくれ。

構造体で返したらだめ?

712 名前:デフォルトの名無しさん [04/09/03 11:18]
めちゃめちゃ基本的な質問ですが。
ポップアップして処理状況を表示したりするときって、どういう処理してます?
MessageBoxと違って、自動で閉じたりしたい場合。

CreateObject("WScript.Shell").Popupだと秒数指定で閉じられるけど、
これだと外部からクローズできるのかな?
でもこんなので遅延バインディングするのもなんか嫌なかんじ。

わざわざ個別にフォーム作るのもめんどくさいんで、
Timeoutプロパティとか表示メッセージのプロパティとかを
くっつけたクラスをさくっと作ろうかと思ったけど、
普通みんなどうしてるんでしょう。


713 名前:デフォルトの名無しさん mailto:sage [04/09/03 12:36]
時間が来たら自律的に死ぬクラスがそんなに悩むようなこととも思えないが。。

714 名前:デフォルトの名無しさん mailto:sage [04/09/03 14:05]
作るのに悩んでるんじゃなくて、
定石を知りたいんじゃないのかな?
自律死はともかく、ポップアップ窓はなんか標準であってもよさそうだし。

715 名前:デフォルトの名無しさん mailto:sage [04/09/03 14:34]
(´-`).。oO( 自演Z



716 名前:700 mailto:sage [04/09/03 15:26]
>>711
本来はクライアントアプリケーションで使うOCXを
Webサービスで使おうとしているので

    r = FX.HOGE(X,Y,Z) <= Zに計算結果、rは成功か失敗か

このようなOCXの場合

    r = FXweb.HOGE(X,Y,Z) <=Web経由で同じ作業をさせたい

のように FXオブジェクト をWeb参照にするだけで、現状のソースを書き換えたかったのです
もともと「IIS(ASP)でも使えます」というOCXだったので
上記のような使い方が出来るものかと思いまして・・・

ただWebサービスの内部はXMLのPOSTのようなので、引数はInputのみなのかもしれません
別の方法が無いか試して見ます



717 名前:デフォルトの名無しさん [04/09/03 17:04]
vb.netで「ペイント」のようなソフトを作りたいんですけど、
良いサンプルありませんか?

718 名前:デフォルトの名無しさん mailto:sage [04/09/03 18:46]
無い

719 名前:デフォルトの名無しさん [04/09/03 19:08]
Dim X As string = (SqlDataAdapter1.SelectCommand.CommandText
= "SELECT name FROM member WHERE member_id = 25")

ってやったら、Xにid25番の人のnameじゃなくて、TrueかFalseが帰ってきちゃうんで
すが、nameを返すにはどうしたらよいでしょうか?

720 名前:デフォルトの名無しさん mailto:sage [04/09/03 19:49]
>>719
Dataset の使い方を一から勉強しなおす。

721 名前:デフォルトの名無しさん mailto:sage [04/09/03 20:02]
DBやったこと無いけど>>719は絶対に真偽値を返す事だけはわかる。

722 名前:まんこ ◆yCMANKO3dM [04/09/03 20:11]
質問内容からして素人なんだから、だれか説明してやれよwwww。

723 名前:デフォルトの名無しさん [04/09/03 21:01]
ばか、ここは生まれながらにして、VBが使える神の集うスレナンダよ!

だから、どんな質問でも完璧に答えられる。

自分で調べろ!

な?完璧だろ?

724 名前:デフォルトの名無しさん mailto:sage [04/09/03 22:37]
タスクトレイに表示したアイコンから
www.geocities.jp/mootdata/unno.jpg
みたいにメッセージを表示したいのですが
どう殺ったらよいのでしょうか?

725 名前:デフォルトの名無しさん mailto:sage [04/09/04 00:24]
>>713
簡単なようだが、まともに動作する、かつ問題のない
こういうクラスを作るのは、それ程簡単でもないぞ。




726 名前:デフォルトの名無しさん [04/09/04 00:54]
>>724
VBの神が答えてやろう。

自分で調べろ。

727 名前:デフォルトの名無しさん [04/09/04 01:11]
>>724
一番簡単なのは新しいハードウエアを抜き差しすることだな

728 名前:デフォルトの名無しさん mailto:sage [04/09/04 01:12]
Objectのキャストについてどなたかご存じでしたら教えてください。

・フォームに複数のコントロールがある
・各コントロールのTagプロパティに、文字列
 またはオブジェクトがセットされている

この状態で、フォーム内の全コントロールを参照して
Tagプロパティに文字列"hogehoge"がセットされているもの
だけに処理を施したいと思い、Tagプロパティをcstrでキャストして
"hogehoge"と比較したいのですが
オブジェクトが入っている場合、エラーになってしまいます。

こういう場合、cstrでキャストできるかどうかの判断をする方法
というのはあるのでしょうか?
それとも、TryCatchで例外を拾うしかないのでしょうか?


729 名前:デフォルトの名無しさん mailto:sage [04/09/04 01:19]
If TypeOf hoge.Tag Is String AndAlso CStr(hoge.Tag) = "hogehoge" Then
 ほにゃらら

730 名前:デフォルトの名無しさん [04/09/04 08:01]
↑ちがうだろ。

正解は、自分で調べろ。だろw

731 名前:デフォルトの名無しさん mailto:sage [04/09/04 08:36]
なにこの良スレ

732 名前:デフォルトの名無しさん [04/09/04 09:03]
初心者に”自分で調べろ”と言って、日ごろの憂さを晴らすデジタル・ドカタ
のスッドレはココですか?

733 名前:デフォルトの名無しさん mailto:sage [04/09/04 10:14]
初心者じゃなくて、何か(例えば「初心者」)を口実っていうか免罪符にして
他人を利用しようとするズウズウしい横着者を叩いて日ごろのウサを晴らす
デジドカのスレがここですが文句ありますか。

ついでに自分のあつかましさを批判されると逆切れする>>732みたいな
あつかましい奴ももれなく叩いておりますが。

734 名前:デフォルトの名無しさん [04/09/04 10:20]
↑デジタルドカタキター。

735 名前:デフォルトの名無しさん mailto:sage [04/09/04 10:33]
休日の朝から、カルシウム不足の>>733が湧いたな、牛乳でも飲んでろ。

>>719もまいは、明日から俺のメイドさんになること。もしくは口からクソを垂れる前と後
にSirをつけること。あと、入門書に乗ってないことでも、冷静に色々やってみろ。


'変数の定義
Dim X As String
'SqlConnection1を使って、データコマンド作成
Dim cmd As SqlClient.SqlCommand = SqlConnection1.CreateCommand
'データーリーダーの設定
Dim dr As SqlClient.SqlDataReader
'コマンドのコネクション設定
cmd.Connection = SqlConnection1
'検索条件の設定(A)
cmd.CommandText = "SELECT name FROM member WHERE incol_id = 25 "
'コネクションを開く()
SqlConnection1.Open()
'データリーダーから、データーを読み出す
dr = cmd.ExecuteReader()
'読めたら、Xに代入・・・(A)のSQLでnameのところを*にしてXをYだのZだのに変えて、
'好きなだけ変数を引っ張れw
Do While dr.Read = True
X = dr("name")
Loop
'データリーダーを閉じる()
dr.Close()
'コネクションを閉じる()
SqlConnection1.Close()

デジタルドカタは、人に者を教えるときはそいつのレベルまで下がって教えてやれよw。
お前らだって誰かに習っただろうにwww。



736 名前:デフォルトの名無しさん mailto:sage [04/09/04 11:00]
>>724
これは漏れも知りたい

>>727
ワロタ

737 名前:デフォルトの名無しさん mailto:sage [04/09/04 13:05]
>>724
Baloon Tooltip を使え。

738 名前:デフォルトの名無しさん [04/09/04 16:07]
DateTimePickerコントロールをデータセットに連結してます。
ユーザー操作無しにコントロールのValue値をデータセットに反映させるには
どうすればいいのでしょうか?
例えば、新規レコード追加Formでコントロールに年月日が表示されますが、
その日付でいいやと言うことでコントロールを操作しないと、新規レコードの
日付はNullになってしまいます。
これを何とかしたいです。言葉足らずがあったらすみませんm(_ _)m

739 名前:デフォルトの名無しさん [04/09/04 17:43]
変更がない時は、Nowを突っ込む。

Null入れてんじゃねえよ!と言うエラー捕まえて、Nowを突っ込む。

てのは?

740 名前:デフォルトの名無しさん mailto:sage [04/09/04 17:56]
意味がわかりません

741 名前:738 mailto:sage [04/09/04 18:07]
>>739
レスありがとうです。
現状は、
Dim dvHogeHoge As DataView
Dim cm As CurrencyManager
DateTimePickre.DataBindings.Add("Text",dvHogeHoge,"HIDUKE")
みたいな感じになってるので、
If DateTimePickre.Text = "" Then
dvHogeHoge(cm.Position)("HIDUKE") = Now()
End If
ってな感じで試してみようと思います。

742 名前:デフォルトの名無しさん [04/09/04 18:09]
だから、直接連結させずに、一端変数に入れて、変数に入れた内容をupdateするときに
その変数をDBに突っ込めば?んで、変数の初期値をnowにでもしとけば、底がNullに
なるって事はないでそ?

743 名前:デフォルトの名無しさん mailto:sage [04/09/04 18:10]
って、>>740>>741とは違う人だったかw。

744 名前:デフォルトの名無しさん mailto:sage [04/09/04 20:04]
自フォームのListViewから(エクスプローラのように)他のアプリ
ケーションに対し、Drag&Dropでファイル名を与えたいのですが、
方法がよくわかりません。

Private Sub ListView1_ItemDrag(ByVal sender As Object, ByVal e As System.Windows.Forms.ItemDragEventArgs) Handles ListView1.ItemDrag
Dim filename as String
filename = (略)
ListView1.DoDragDrop(filename, DragDropEffects.All)
End Sub

としてみたのですが、Dragしてもマウスカーソルは(/)のままで、
エクスプローラからのDrag&Dropなら受け取ってくれるアプリも
Dropに無反応です。

例外としてMS Wordは文字列(filename)を受け取ってくれました。

何かやるべきことが抜け落ちているのでしょうか、教えてください。

745 名前:デフォルトの名無しさん mailto:sage [04/09/04 21:06]
たしかオライリーだっけ?それ使えばいいのかな



746 名前:デフォルトの名無しさん [04/09/05 07:14]
質問させてもらいます。

Textbox1〜3にA,B,Cと入力した文字を、WriteLine関数
を使って、テキストファイルの1行目に
"A","B","C"
というような内容で保存したのですが。

ListViewに見出し行を3つ設定したもの
(例えば 番号,氏名,フリガナ )
を、それぞれ見出し行別に、保存したファイルの内容を
表示するように読み込むにはどうしたらいいでしょうか。

747 名前:デフォルトの名無しさん mailto:sage [04/09/05 10:11]
少しは考えろ

748 名前:デフォルトの名無しさん mailto:sage [04/09/05 11:39]
オマイもその生産性のない行為と人生について考えたらどうかね

749 名前:デフォルトの名無しさん mailto:sage [04/09/05 12:02]
クレタ人は嘘つきだとクレタ人はいった。

生産性のない行為と人生について考えろ、といった者は、
「生産性のない行為と人生について考えろ」という行為の生産性と
彼の人生にいおける意味について考えた...?

750 名前:デフォルトの名無しさん mailto:sage [04/09/05 12:23]
面白い!

751 名前:デフォルトの名無しさん mailto:sage [04/09/05 14:32]
>>749
考えたらこんな感じになった
ってかVBじゃなくなってしまった すまそ

public Menbs = new Menbs(748);

while(にちゃんねら.人類なんてどうしようもないんだよとオモタカウンタ < 1000000)
{
 foreach(2CHスレッド スレ in 2CH)
 {
  for(int i=1; i<1001;++i)
  {
   if(にちゃんねら.watch(スレ,i)==Menbs.ゴミクズ || にちゃんねら.watch(スレ,i)==Menbs.糞レス)
    ++ にちゃんねら.人類なんてどうしようもないんだよとオモタカウンタ;

   ++にちゃんねら.ストレス;
  }
 }
}
print("そうか、人類皆殺しにすればいいだよ\n");
Exit(人生);

752 名前:デフォルトの名無しさん mailto:sage [04/09/05 18:28]
ちゃんとVB.NETで書かんかい。

753 名前:デフォルトの名無しさん [04/09/05 19:13]
質問させてください。

タイマーの割り込みは1ms単位で設定できるようなのですが、実際に動かすと、10ms単位になっているようです。
1ms単位で割り込みをかけられないのでしょうか?


754 名前:デフォルトの名無しさん mailto:sage [04/09/05 19:18]
何のタイマーってかどういうタイマーってか、Timerは何使ってんだ?
ちなみにまじめに書くと多分やろうとしてることは無理だからあきらめろ。

755 名前:デフォルトの名無しさん mailto:sage [04/09/05 20:34]
>>753
知ってるけど教えてやらない



756 名前:デフォルトの名無しさん [04/09/05 20:39]
そんなこと言わないで教えてよ。

757 名前:デフォルトの名無しさん mailto:sage [04/09/05 22:28]
>>756
System.Timers.Timerは精度が高い

www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfsystemtimerstimerclasselapsedtopic.asp
> イベントを時間どおりに発生させるという点で、Windows のタイマより正確です。

758 名前:デフォルトの名無しさん [04/09/06 00:04]
>>757

ありがとうございました。
明日、会社で試してみます。

759 名前:デフォルトの名無しさん mailto:sage [04/09/06 00:08]
正直結局同じような問題に引っかかると思うぞ…

760 名前:デフォルトの名無しさん mailto:sage [04/09/06 00:21]
Winのプロセスのタイムスライスってmsecのオーダーだったような気がするんだけど。。
OSのタイムスライスより短い間隔のイベントって無理じゃないだろうか?
少なくともマイコンのタイマ割り込みみたいに厳密にはいかないはず。

>>753って組み込み系の人か?
Winのプログラミングってのはハード(CPU)をプログラミングしてるんじゃなくて
ハード上に仮構された仮想機械をプログラミングしてるんだってことを忘れてないか?

761 名前:なんかの壁 [04/09/06 10:47]
不思議な現象に悩んでいます。
DatagridのdataSourceにDatatableを設定して表示しています。
プログラムでDatatableをカラムから作成しています。
1回目の実行ではうまく表示されます。
2回目でDatatable作り直すとカラムだけ表示されて、データ部分が
表示されません。
1回目も2回目も動くプログラム部分は同じです。対象となるデータが異なるだけです。
(ちなみに、プログラムを再起動して先ほど2回目に行ったデータで実行してみると正しくデータも表示
されています)
なにか初期設定すべきことでもれていることがあるようですが、
いくら調べてもわかりません。




762 名前:デフォルトの名無しさん mailto:sage [04/09/06 11:13]
不思議ですね。

763 名前:デフォルトの名無しさん [04/09/06 15:25]
ソースを張れよ

764 名前:なんかの壁 [04/09/06 16:23]
失礼いたしました。
ソースはかなり大きいので・・・。
問題箇所が判明しました。
datatableを作り直すとき、resetメソッドを使っていたのが問題だったようです。
テーブル自体は作り直せるのですが、何かの情報が失われるようです。

    (Public tbl as Datatable)
(Form_Loadで tbl = New DataTable("table1"))

元:
tbl.reset()

修正後:
tbl = Nothing
tbl = New DataTable("table1")

本当の理由がわからないのが弱点ですが。

765 名前:デフォルトの名無しさん mailto:sage [04/09/06 16:36]
┐(´ー`)┌



766 名前:デフォルトの名無しさん [04/09/06 17:27]
ちょっと急ぎなんで過去ログとか読んでなくてすみません。

textboxをラベルみたいに表示させたいんですが、
どうしたらよいでしょうか?

文字色は黒でフォーカスが行かないよう(クリックも不可)にしたいです。

767 名前:デフォルトの名無しさん mailto:sage [04/09/06 17:36]
>>766
知ってるが急いでるんで教えられない。

768 名前:デフォルトの名無しさん [04/09/06 17:39]
enable = false

769 名前:デフォルトの名無しさん [04/09/06 17:43]
enable = false でやると、
文字色が灰色になっちゃいますよね?
文字色黒のまま使いたいのですが・・・

770 名前:デフォルトの名無しさん mailto:sage [04/09/06 18:08]
readonly = true

771 名前:デフォルトの名無しさん [04/09/06 18:11]
readonly = true でやると
クリックした時にフォーカスが行きますよね?
文字色黒、クリック不可の状態を作りたいのですが、
どうしたらよいでしょうか?

772 名前:デフォルトの名無しさん [04/09/06 18:13]
すいません。
クリック不可ではなく、選択不可です。
文字色黒、中の文字を選択不可の状態を作りたいです。

773 名前:デフォルトの名無しさん [04/09/06 18:34]
上からラベルをかぶせる

774 名前:デフォルトの名無しさん [04/09/06 18:37]
やっぱラベルかぶせるしかありませんかね?
テキストボックスのみでどうにかできるのが、
理想なんですが。

775 名前:デフォルトの名無しさん [04/09/06 18:38]
つ〜か、なんでラベルが使えないの?



776 名前:デフォルトの名無しさん mailto:sage [04/09/06 18:38]
ていうか、なんでラベルじゃだめなのか。

777 名前:デフォルトの名無しさん mailto:sage [04/09/06 18:38]
オホホかぶった。

778 名前:デフォルトの名無しさん [04/09/06 18:42]
パラメータによって、
そのフィールドが入力出来たり出来なかったりします。
で、入力不可の時はラベルみたいにして欲しいと言われてるんで。


779 名前:デフォルトの名無しさん mailto:sage [04/09/06 18:49]
Windows標準から外れたことをやろうとしてるわけだから
エレガントに解決しようとせず、実際にラベルを使うのが
ベストだと思う。
実行時にラベルを生成して、TextBoxと同じBoundsに
置いて、TextBoxを消せばいいんだろ。

780 名前:デフォルトの名無しさん [04/09/06 19:04]
わかりました。
そのやり方で上司と相談してみます。
回答ありがとうございました。

781 名前:デフォルトの名無しさん mailto:sage [04/09/06 19:05]
sage忘れた。すみません。

782 名前:779 mailto:sage [04/09/06 20:02]
>>780
その要求の出所がお客じゃなくて上司だったら、
「そんな間抜けなUIじゃ笑われますよ」って言ってやるが。

783 名前:デフォルトの名無しさん mailto:sage [04/09/06 20:29]
注文が多いな

784 名前:デフォルトの名無しさん [04/09/06 20:46]
笑うのはプログラマの都合。見た目重視を求めるなら
十分有りうる想定。

笑われますよ、とか、出来ませんとかは只の言い訳だし。


785 名前:デフォルトの名無しさん mailto:sage [04/09/06 21:19]
いや、見た目重視ならむしろWinの標準のUIの方が統一感があり直観的だと思うが。。
それ以上に必要以上に見た目が変化するUIなんてダサイしイライラするだろう。

まあ、マーキーで文字が流れまくりのウェブサイトをかっこいいと思う人も
いるわけだから蓼食う虫も好き好きといえばそれまでだけど。



786 名前:デフォルトの名無しさん mailto:sage [04/09/06 21:31]
Textboxを継承してLabelを内在するコントロールクラス作っとけ。
で、プロパティで表示を切り替え。

787 名前:779 mailto:sage [04/09/06 21:39]
>>784
「すいません、できません」は言い訳っていわないと思うが。

「なんでそんなバカな仕様で受けてきたんだ」はよく使う言い訳。
というか遠吠え。

788 名前:デフォルトの名無しさん mailto:sage [04/09/07 00:12]
>>784
言われたこと全部やろうとするのかお前は。


789 名前:デフォルトの名無しさん mailto:sage [04/09/07 09:28]
メール送信のプログラムを作成していたのですが、CDO.messageにアクセスできません。
という例外がでて送信することができません。
調べたところ私の使ってるメールサーバのSMTPがPOP before SMTPになっていたので
1〜4行目を追加したところ、自分から自分には送信できたのですが
他のメールアドレスに送信すると同じ例外が帰ってきました。
本についてるメール送受信のサンプルソースなども試したのですが
わたしのメールサーバの設定では、例外こそ出ないものの他のメアドに送信すると
何故かメールが消えてしまい、相手にも届かなければこちらに送信エラーで
帰ってもきませんでした。
どなたか良い解決方法はないでしょうか?

1 Dim tcp As New System.Net.Sockets.TcpClient()
2 tcp.Connect("pop.hogenet.ne.jp", 110)
3 Dim sw As New StreamWriter(tcp.GetStream())
4 sw.Write("USER hoge" + vbCrLf + "PASS ******" + vbCrLf + "STAT" + vbCrLf + "QUIT" + vbCrLf)
5 Dim mm As New System.Web.Mail.MailMessage()
6 mm.From = "hoge@hogenet.ne.jp"
7 mm.To = "piyo@piyo.co.jp"
8 mm.Subject = "てすと"
9 mm.Body = "てすとです"
10 mm.BodyEncoding = System.Text.Encoding.GetEncoding(50220)
11 System.Web.Mail.SmtpMail.SmtpServer = "smtp.hogenet.ne.jp"
12 System.Web.Mail.SmtpMail.Send(mm)


790 名前:デフォルトの名無しさん mailto:sage [04/09/07 09:49]
追記

なお、自分自身にメールを送信すると
必ず差出人のところ『のみ』が文字化けしてしまいます。
ただ、差出人を本当のメールアドレスの"hoge@hogenet.co.jp"から
"hage@hogenet.co.jp"や"hoge@hogehogenet.co.jp"
などと出鱈目なものにすると何故か文字化けせずに受信できました。

使用環境は
WindowsXP Professional Version2002 Service Pack 1
Microsoft Visual Basic .NET
Microsoft.NET Framework 1.0.

使用しているメールソフトはNetscap 7.1です

791 名前:デフォルトの名無しさん mailto:sage [04/09/07 10:37]
関係あるかわからんけど

mm.Headers("Content-Transfer-Encoding") = "7bit"

これしたらどうだろうか。これしないとQuoted-Printableになっちゃって
受け付けないor化ける相手がいたことならある。

792 名前:デフォルトの名無しさん [04/09/07 10:56]
>>789
プロバイダ経由しないで送信できないの?
たとえばIISからとか

793 名前:デフォルトの名無しさん mailto:sage [04/09/07 11:20]
>>791
ご指摘ありがとうございます。
mm.Headers("Content-Transfer-Encoding") = "7bit"
の一文だけでは文字化けは直らなかったのですが

以下のヘッダー情報を追加したところ、
mm.Headers("Content-Transfer-Encoding") = "7bit"
mm.Headers.Add("Reply-To", "hoge@hogenet.ne.jp")
mm.Headers.Add("sender", "piyo@piyo.co.jp")

差出人の文字化けは直りました。
何故か"sender"を抜くと文字化けしたままなのが
よくわかりませんけど・・・。

あと、エラーメッセージももう少し掘り下げてみました。
サーバーによって 1 つまたは複数の受信者アドレスが拒否されました。サーバーからの応答は次のとおりです。
550 5.7.1 <piyo@piyo.co.jp>... Relaying denied. Proper authentication required.

'CDO.Message' オブジェクトにアクセスできませんでした。
System.Web
at System.Web.Mail.LateBoundAccessHelper.CallMethod(Object obj, String methodName, Object[] args)
at System.Web.Mail.CdoSysHelper.Send(MailMessage message)
at System.Web.Mail.SmtpMail.Send(MailMessage message)
at mail.Form1.sendMail() in C:\temp\mail\Form1.vb:line 98

>>792
IISやSMTPなどの設定もあまりよくわからないのですが
開発環境でIISを使用して作ったとして、Home Editionなどを使っている
他の端末でも実行できるのでしょうか?

794 名前:デフォルトの名無しさん mailto:sage [04/09/07 12:05]
>>793
IISさえ起動していればHomeでもいけると思う(試したことが無い
やり方はSmtpServerプロパティを設定しないだけ


795 名前:デフォルトの名無しさん mailto:sage [04/09/07 13:02]
>>794
説明の仕方がまずかったかもしれません。
Aという端末(HomeEdition)がある処理をしたら
その結果をB端末(HomeEdition)、C端末(HomeEdition)・・・
にメールの形で報告するというものなので
IISが起動しているサーバというものはないのです。
普通のメールソフトで送受信できているので
できればわざわざA端末にProを入れてIISを起動させる。
という事はしたくないのですが、IISを使わないと
簡単にメール送受信を実現させる事は難しいのでしょうか?




796 名前:デフォルトの名無しさん mailto:sage [04/09/07 13:07]
>>795
550 5.7.1 <piyo@piyo.co.jp>... Relaying denied. Proper authentication required.
リレー拒否されてますけど、
>6 mm.From = "hoge@hogenet.ne.jp"
これちゃんとそのサーバにアカウントのあるアドレスですか?

797 名前:デフォルトの名無しさん mailto:sage [04/09/07 13:13]
>>796
それはもちろんあります。
SMTP、POP、FROMのメールアドレスは
メーラーで使われているものをそのまま
コピペでもってきたものです。
TOの方のメールアドレスも当然実在するもので
メーラーで送る分には何の問題もなく使えるものです。

798 名前:デフォルトの名無しさん mailto:sage [04/09/07 13:14]
>>789
(OutlookExpress等で) 一旦POPで読んでから動かすとどうなりますか?
なんとなく POP before SMTP がうまく行っていないだけのような気もします。

あと System.Web.Mail.Message って ISO-2022-JP が使えない(ですよね)ので、
日本語は送らない方がいいと思いますよ。
受信するのも自分ならいいのかもしれませんが。


799 名前:デフォルトの名無しさん mailto:sage [04/09/07 13:18]
>>789
BASP21を検討汁

800 名前:デフォルトの名無しさん mailto:sage [04/09/07 14:19]
>>789
>(OutlookExpress等で) 一旦POPで読んでから動かす

というのは、メーラーを立ち上げる→プログラムを実行する。
ということでしょうか?
とりあえずそれを実行してもダメでした。
あと、POP before SMTP が上手くいっていないという事だったので
4行目のソースのUSERとPASSを出鱈目なものして自分自身に送ってみたところ
それでも普通に送れてしまいました。
なのでPOP before SMTPが上手くいってなくて同じドメインの
自分のメールアドレスにだけメールを送る事が出来ているのかもしれません。

それと、ISO-2022-JPに関しては参考にしたサンプルソースで
日本語を送れる版ということでISO-2022-JPの設定があったので
10行目のISO-2022-JPの指定は問題ないと思います。

>>799
どうしようもなければそういった方法も検討しないといけないのかもしれませんが
まだ時間があるので出来れば自力で実現できる方法を考えたいと思います。


801 名前:デフォルトの名無しさん mailto:sage [04/09/07 14:44]
>>800
例えば foo@bar.com に送るとして、nslookup -type=MX bar.com で得られる
mail exchanger を SmtpServer にセットして、直接先方へ送れば多くのケースで動くと思います。
nslookup は System.Diagnostics.Process.Startで起動して、標準出力を貰えばよいでしょう。

802 名前:デフォルトの名無しさん mailto:sage [04/09/07 16:14]
>>801
その方法であっさり送る事が出来ました。
POP before SMTP で自分の所属するSMTPから
他所のドメインに送信する方法でかなり悩んでいたのですが
こんな方法があるとは思いも尽きませんでした。
本当にありがとうございます!

アドバイスして下さった皆さんにもとても感謝しています。
おかげさまでメール送受信の仕組みも全然勉強不足なのを痛感できました。
今回は801さんの方法で送ることができましたが
他の実現方法もないか勉強がてらいろいろ試してみようと思います。

803 名前:デフォルトの名無しさん [04/09/07 16:32]
>>801
神認定

804 名前:デフォルトの名無しさん mailto:sage [04/09/07 17:13]
>>802
ウィルス/ワームの類でPCを乗っ取って spam をガンガン送る奴とかへの対策でLAN 内部から外部への
smtp での直接アクセスをはじくネットワーク管理者も多いと思いますので、その辺を考慮する必要がある
なら自分の側のサーバ経由での SMTP の方も使えるようにしたほうがよいでしょう。

そういったネットワークの内部からなら、内部の smtp サーバには認証無しで送れそうな気もするし。

805 名前:デフォルトの名無しさん mailto:sage [04/09/07 21:59]
このスレ、俺がいなければ良スレだな



806 名前:デフォルトの名無しさん mailto:sage [04/09/07 23:08]
>>805
俺がいなければ良スレだよ

807 名前:デフォルトの名無しさん mailto:sage [04/09/08 12:50]
ソリューション内に、AとBのプロジェクトがあります。
Aにフォームを継承したクラス1と、それを継承したクラス1'があります。

このクラス1と1'をBプロジェクトでも使用したいので、
リンクファイルとして追加しました。

ですが、実行しBプロジェクトでクラス1'をNewしようとすると、

指定されたカルチャ (またはニュートラル カルチャ) に必要なリソースがアセンブリに見つかりません。
"クラス1'.resources" が、アセンブリ "Bプロジェクト" に正しく埋め込まれているか、
またはリンクされているかを確認してください。

というエラーが発生してしまいます。

ビルドは通ります。
それぞれのプロジェクトをソリューションから切り離した場合もうまく動きました。
フォームを継承していない自作クラス2と2'は動作しています。

サブクラスはリンクファイルとして使用できないのでしょうか?

808 名前:デフォルトの名無しさん mailto:sage [04/09/08 16:37]
はい、その通りです。

809 名前:デフォルトの名無しさん mailto:sage [04/09/09 02:59]
なんでリンクファイルにしたいわけ?

810 名前:デフォルトの名無しさん mailto:sage [04/09/09 03:04]
現在、.Net Remotingの勉強をしようと
MSDNのサンプルを試してみています。
System.Runtime.Remoting.Channels.Tcp名前空間を
インポートするように書いてあるのですが、自分の環境では
名前空間が見つからないというエラーになってしまいます。
確かにSystem.Runtime.Remoting.Channelsの
メンバ一覧にも出てきません。
普通にインポートできるものじゃないんでしょうか?

811 名前:810 mailto:sage [04/09/09 03:07]
System.Runtime.Remotingを参照設定したら解決しました。
すみませんおさわがせしました。

812 名前:デフォルトの名無しさん [04/09/09 17:09]
Windowsアプリケーションを作成しています。
プログラムの中で予期せぬエラーが発生した場合に、共通のエラーメッセージを表示したいのですが、
すべてのイベントにTry〜Catchを書かずに実現する方法はありませんか?
ASP.NETではGlobal.asaxでApplication_OnErrorにエラーメッセージ表示を記述すれば実現できたのですが、Windowsアプリケーションでは無理なんでしょうか。。。

813 名前:デフォルトの名無しさん [04/09/09 17:50]
>>812
試してないけど
Application.ThreadException イベント
はダメだった?

814 名前:デフォルトの名無しさん mailto:sage [04/09/09 23:47]
質問です。
実行時にフォームに labelコントロールを作ろうとしています。
C = New Label
Me.Controls.Add(C)
ってやると作れるのはわかりました。
既にある Label1 のコピーみたいなのはできませんか?
C = Label1 ってやると実態は増えてないし、
New Label を Label1 で初期化できるといいのですよ。
なにかやり方ありますか?

815 名前:デフォルトの名無しさん mailto:sage [04/09/10 00:53]
あるわけねーだろ馬鹿



816 名前:814 mailto:sage [04/09/10 11:40]
>>815
そっか。じゃ しかたない。

817 名前:デフォルトの名無しさん [04/09/10 11:46]
現在の Object の簡易コピーを作成します。

[Visual Basic]
Protected Function MemberwiseClone() As Object

[C#]
protected object MemberwiseClone();

818 名前:デフォルトの名無しさん [04/09/10 12:13]
For Nextでクルクル回しながら得た値を

TextBox1.Text
TextBox2.Text

と順番に突っ込んで生きたいのですが

For i = 1 TO 10

として

TextBox"i".Textと言う格好で、末尾を変数にしての
名前の指定の仕方がわからず困っています。

どなたかボスケテいただけませんか?

819 名前:デフォルトの名無しさん mailto:sage [04/09/10 12:22]
どうしてもそういうヘンなことがしたいのなら、>>545あたりを一読した上で、
Type.GetField と FieldInfo.SetValue あたりを使えばいいと思うけど、絶対お勧めしない。
事前にコントロールへの参照を配列に入れておいたほうがいいと思う。

820 名前:デフォルトの名無しさん [04/09/10 13:12]
特別な事情がないなら>>819の方法がいいと思う。

821 名前:デフォルトの名無しさん mailto:sage [04/09/10 13:44]
>>819
今回はSetValueじゃなくて、FieldInfo.GetValue で TextBox をとってきてから普通に Textプロパティにセットだね。
でも漏れも絶対にお勧めしない。

822 名前:デフォルトの名無しさん mailto:sage [04/09/10 15:49:41]
>>818
Public Function FindControl2(ByVal ctl As Control, ByVal name As String) As Control


Dim myPropertyInfo As System.Reflection.PropertyInfo

Dim myObject As Object


myPropertyInfo = ctl.GetType().GetProperty(name _

, Reflection.BindingFlags.Instance _

Or Reflection.BindingFlags.NonPublic)


If Not myPropertyInfo Is Nothing Then


myObject = myPropertyInfo.GetValue(ctl, Nothing)

Return CType(myObject, Control)

End If

Return Nothing

End Function
for i as int32 = 0 to 10
findcontrol2(me,"textBox" & cstr( i) ).text="aheahe"
next

823 名前:デフォルトの名無しさん mailto:sage [04/09/10 16:10:09]
絶対できない無理
とか言われると、意地でもなんか探してくる性

824 名前:814 mailto:sage [04/09/10 21:19:50]
>>817
なんだ、本当はあるのか。
でも使い方がよくわからないよ。
Label1.MemberwiseClone なんて出来ないみたいだし。
新しいクラスを作るのかな?
もう少し教えて。

825 名前:デフォルトの名無しさん mailto:sage [04/09/10 23:06:21]
できるわけね〜だろ



826 名前:デフォルトの名無しさん mailto:sage [04/09/10 23:07:24]
>>817
変な事教えるなよ…

827 名前:最凶VB厨房 mailto:sage [04/09/10 23:14:34]
www.microsoft.com/japan/msdn/library/?url=/japan/msdn/library/ja/cpref/html/frlrfSystemICloneableMembersTopic.asp?frame=true

828 名前:sage [04/09/11 03:02:39]
>>818
こういうことでええどすの?

Const s As String = ",うほ,いい男"
Dim i As Integer
For i = 1 To 2
Form1.Controls("Text" & i).Text = Split(s, ",")(i)
Next


ところでVBでのバイナリデータの暗号化方法を誰か教えて。
capicomではバイナリの暗号化は無理ですの?
お金かけずに作りたいのでCryptLightは無しの方向でお願いしまっす。

829 名前:デフォルトの名無しさん mailto:sage [04/09/11 05:05:47]
他のアプリで押された特殊キーの状態とかをトリガにして処理開始したいのですが
vbで他のアプリで押されたキーの状態とか取得できますか?
よくわかってないんですが自分のプロセスならwinprocとかでメッセージ拾って
なんかできそうなんですが。。。


830 名前:デフォルトの名無しさん [04/09/11 11:55:20]
特殊キーを押すアプリがあるとは知らなかった。。

【こんなアプリはイヤだ】

モニタから手が出てきて特殊キーを勝手に押すアプリ

831 名前:デフォルトの名無しさん mailto:sage [04/09/11 13:06:57]
>>828
それ本当にやってみた?
controlsはインデックスだから名前入れらんねーんだけど
ここはvb.netでvbaのスレじゃねーですぜ
(vbaじゃそれ重宝してたんだけどね)


832 名前:デフォルトの名無しさん mailto:sage [04/09/11 14:05:36]
Handlesキーワードで指定されたイベント(Button1.Click, Form1.Load)を取得する方法ってありますか?

833 名前:デフォルトの名無しさん mailto:sage [04/09/11 14:47:06]
なんかイベントハンドラのコレクションを取得するメソッドだったかがあったような気がする。


834 名前:832 mailto:sage [04/09/11 15:13:50]
>>833
ありがとうございます。
一度調べてみます。

835 名前:デフォルトの名無しさん mailto:sage [04/09/11 16:03:51]
TCPでの送受信を勉強してるんだけど、チャットを作るとしたら
送信用と受信用を別Threadにして役割分担させるのが妥当なのかな?
普通にNetworkStreamを使うと、受信しようとしたとたん他のことができなくなっちゃうよね?


VB.NETで簡単なチャットを作ることを教えてるサイトないかな?勉強用に見たい。



836 名前:814 mailto:sage [04/09/11 20:44:06]
>>825 >>826 >>827
ん〜 結局できるのかできないのかさえわからん。
できないって言う人の方が多いな。

837 名前:デフォルトの名無しさん mailto:sage [04/09/11 20:58:25]
少なくとも、MemberwiseCloneなどを利用してとか単純な方法では出来ない。
>>822とかみたいに強引に実装したらできるかもしれない。


838 名前:デフォルトの名無しさん mailto:sage [04/09/11 21:36:58]
すみません。
コマンドでipconfig /releaseと/renewがあると思うのですが、VBで実行するには
どうしたらいいのでしょうか?結果まで出力出来れば嬉しいのですが。

ネット等で探したのですがコマンドの実行すら探しだせませんでした。

839 名前:814 mailto:sage [04/09/11 21:55:41]
>>837
ふむふむ。わかりました。
ありがとうございました。

840 名前:デフォルトの名無しさん mailto:sage [04/09/11 22:27:28]
>>838おまいが分からないのは、
・そもそもプロセスの起動方法
・起動するプロセスへのコマンドラインオプションの渡し方
・結果の取得の仕方
・ipconfigがなんかおまいに取って特殊で、ipconfigに関して分からない
どれだ?

841 名前:838 mailto:sage [04/09/12 00:06:40]
>>840
多分、コマンドラインオプションの渡し方と結果の取得が
分からないです。あとは大体分かるので。

842 名前:デフォルトの名無しさん mailto:sage [04/09/12 01:15:52]
>>841
こちょこちょと書かないで今どんな風にやってるのかとか書いて欲しいなあ。
※何が分からんのか分からないんだよね。
Processクラスで起動してるって事でいい?

コマンドラインオプションはメソッドでもろに指定できるやつがあるけど、
指定の仕方がわからない?

結果の取得(こっちは標準出力の取得とみなして…)等の細かい制御をするには、
ProcessStartInfoクラスを使う必要があったはずだと思う。

っていうか、ProcessStartInfoのヘルプ見たらほとんど分かるんじゃない?

843 名前:デフォルトの名無しさん mailto:sage [04/09/12 01:17:43]
>>841
っていうか、多分てなんだよ多分て…

844 名前:最凶VB厨房 mailto:sage [04/09/12 03:47:10]
>>835
見たか?非同期でどぞ。
www.microsoft.com/japan/msdn/library/?url=/japan/msdn/library/ja/cpguide/html/cpconSocketCodeExamples.asp?frame=true

845 名前:デフォルトの名無しさん mailto:sage [04/09/12 03:52:03]
textboxやrichtextbox内の文字の中から、特定の文字列だけの色を変える方法はどうやれば良いのでしょうか?
例えば、htmlソースのタグや、cソース内の予約語の色を変えたりです。

TextChanged内に記述する形で
タグや予約語を認識すると、その部分のみ色を変更という形をイメージしているのですが
具体的にどうやれば良いのかわからないので、どうかご教授お願いします。



846 名前:デフォルトの名無しさん mailto:sage [04/09/12 05:55:21]
他のアプリケーションがOSにスタンバイ要求を出したり、スタート
メニューから[終了オプション]-[スタンバイ]を選んだりした時に
それを検出して、本当にスタンバイしたいのかどうかを確認する
ダイアログを表示、スタンバイしたくなければそれを中止するモノ
を作りたいと思っているのですが、

AddHandler SystemEvents.PowerModeChanged, _
AddressOf SystemEvents_PowerModeChanged

すれば、スタンバイに入ろうとしていることを検出するところまでは
わかりました。この後、スタンバイを中止する方法がわかりません。
(ダイアログを表示したところでスタンバイに移行してしまいます)
どなたか教えていただけないでしょうか。

847 名前:デフォルトの名無しさん mailto:sage [04/09/12 06:20:27]
>>844
サンクス。がんがってくる

848 名前:デフォルトの名無しさん [04/09/12 12:45:35]
ピクチャーボックスを複数使ってビューアのようなものを作っているのですが、
PictureBox1.Image = New Bitmap(strPicture_File_Path)

PictureBox1.Image = Image.FromFile(strPicture_File_Path)
のように
画像ファイルを読み込むときに画像ファイルのサイズが大きい場合、かなり時間がかかるんです。一枚ならまだいいんですが、複数の画像を各々Imageに読み込みたいため、かなり遅く感じます。これを早くする方法はありますか?
回答をお待ちしております。お願いいたします。


849 名前:812 mailto:sage [04/09/14 16:41:22]
>>813
できました!
ありがとうございます。
起動したフォームだけじゃなくそこから開いた別のフォームでも
エラー処理をトラップすることができました。

850 名前:デフォルトの名無しさん mailto:sage [04/09/14 17:33:33]
>>848
メモリを増設

851 名前:デフォルトの名無しさん [04/09/14 18:08:08]
質問です。
フォームの中にテキストボックス等のコントロールが複数あるのですが、
実行時にフォームのサイズが変更された場合、コントロール間の距離を保ったまま
コントロールの大きさを変更させたいのですが、どうしたらよいですか?
Anchorの対象をフォームではなく他のコントロールにするみたいな感じです。


852 名前:デフォルトの名無しさん [04/09/14 20:54:23]
>>851
質問です。
試行錯誤してますか?そうは思えませんが。。
そんな質問をする自分を恥には思いませんか?

853 名前:デフォルトの名無しさん mailto:sage [04/09/14 21:08:24]
あ〜明日VBの試験だあ〜

854 名前:デフォルトの名無しさん mailto:sage [04/09/14 21:31:19]
まあそう言わず。
>>851
パネルかなんかにぶっこむのが楽でねぇ?

855 名前:デフォルトの名無しさん [04/09/14 22:04:10]
>>850
違うと思います。

何か違うやり方とか



856 名前:デフォルトの名無しさん mailto:sage [04/09/14 22:10:24]
>>855
俺も >>850 が正解かと思ったけど。
どれくらいのサイズの画像を何枚くらい読み込もうとしてるの?>>848
そもそもディスクが遅いっていうオチじゃ嫌よ。

857 名前:デフォルトの名無しさん [04/09/14 22:56:02]
>>856
読み込む画像は基本的に1MBくらいのJPGを5枚です。
マシンもPentium M(1GHz)、メモリも756MBだし。そこそこ最近のですよ。
普通にあるのフリーのビューアーだってストレスのない早さなのに
自作のプログラムが遅いのは不満です。
何かいい方法はありませんか?
例えば、ファイルを並行に読み込むとか??


858 名前:最凶VB厨房 mailto:sage [04/09/14 23:11:42]
www.microsoft.com/japan/msdn/library/?url=/japan/msdn/library/ja/cpguide/html/_gdiplus_Improving_Performance_by_Avoiding_Automatic_Scaling_usecsharp.asp?frame=true

859 名前:デフォルトの名無しさん [04/09/15 00:28:53]
>>858
ありがとうございます。
でも、このやり方でやっています。

そもそも
Dim image = New Bitmap("Texture.jpg")
の処理に時間がかかっているのです。


860 名前:デフォルトの名無しさん mailto:sage [04/09/15 00:50:28]
そこそこ精度の高いFAXTIFをImage.FromFileで読み込んだけど
そんなに遅くなかった気がする
512MB 1.1GHz

そのイメージをファックスドライバに送ってファックス送信した

861 名前:デフォルトの名無しさん mailto:sage [04/09/15 00:50:37]
すみません,>>845解る方いらっしゃらないでしょうか(´Д`)

862 名前:最凶VB厨房 mailto:sage [04/09/15 01:56:26]
www.microsoft.com/japan/msdn/library/?url=/japan/msdn/library/ja/cpref/html/frlrfSystemWindowsFormsRichTextBoxClassSelectionColorTopic.asp?frame=true
は?
textboxは部分文字列は色変更できないはず。

863 名前:デフォルトの名無しさん mailto:sage [04/09/15 01:58:27]
>>857
1MBのJPGを読み込めば、メモリ上では50〜100MBとかになる。
850のレスに対してはスワップの発生状況について言及すべき。

864 名前:845 mailto:sage [04/09/15 03:52:07]
>>862
助言ありがとうございます
RichTextBox.SelectionColorプロパティをどのように応用すれば>>845を実現できるかはまだわかりません(´・ω・`)
もうちょっと頑張ってみます。

>textboxは部分文字列は色変更できないはず。

なるほど、そうでしたか。失礼しました。

865 名前:851 mailto:sage [04/09/15 10:24:07]
なるほど、panelというものを使えば簡単にできるのですね。
ちょっと触ってみた感じ、いまいちどう使うのかわかりませんでしたがやってみます。
コントロール間の距離を測っておいてフォームのサイズを変えたときに各コントロールの位置と大きさを
再設定すればできるだろうか?とかそんなことばかり考えていました。(できなかったわけですが)
どうやら簡単にできることのようなので、こんな質問をしてしまって恥ずかしく思います。
まだまだ試行錯誤が足りなかったようです。
答えていただきありがとうございました。



866 名前:デフォルトの名無しさん mailto:sage [04/09/15 23:06:43]
本でわからないところがあります。

引用
---------------------------------
If x > 10 AndAlso y < 10 Then
z = x + y
MessageBox.Show(z.ToString)
End If

 上記の例では、最初に、前者の条件式「x > 10」を判定します。
条件式「x > 10」が不成立であるならば条件式全体に「False」を返し、
命令文「z = x + y」を実行します。条件式「x > 10」が不成立である
ならば、後者の条件式「y < 10」の判定を行ないます。
---------------------------------

文章後半、「命令文〜判定を行います。」
のあたりがよくわかりません。
最初の条件がFalseの時は命令文もつぎの条件判定も飛ばすんですよね?

867 名前:デフォルトの名無しさん mailto:sage [04/09/15 23:13:16]
>>866
明らかに誤植。
文章もひどい。「不成立であるならば」なんて直訳。

868 名前:デフォルトの名無しさん mailto:sage [04/09/15 23:20:36]
>>866
そんな命令があるの初めて知ったよ。
見てるだけでも勉強になるな。

参考に
ttp://www.atmarkit.co.jp/fdotnet/vb6tonet/vb6tonet06/vb6tonet06_01.html

869 名前:866 mailto:sage [04/09/15 23:25:19]
>>867
レスありがとうございます。

やっぱり誤植なのですか・・。 。・゚・(ノД`)・゚・。
誤植にしてはアレすぎるので何かひどい勘違いをしているものと
思っていました。

一応日本人の書いた本なのですが、
用語(?)自体が直訳風ということでしょうか?

870 名前:デフォルトの名無しさん mailto:sage [04/09/15 23:34:37]
>>868
おもしろいリンク先の紹介、ありがとうございます。
ver.6では変わった演算子があったんですね。

871 名前:デフォルトの名無しさん [04/09/16 06:59:50]
>>866
Basicの困った仕様を.NETで吸収するのに開発者は
苦労しただろうね。
ここまでして、「VB」にこだわる必要があるのか疑問に
なってしまう。
ただいまでも、ほとんど一緒でもBasicと名の付く方を
選択する人はかなりいるんだろうね。

872 名前:デフォルトの名無しさん mailto:sage [04/09/16 12:38:48]
>>869
こういうのは、だいたい英語のネタがあって、それのパクリかも。
誤植というか、2〜3行抜けてる感じ。
手書きならともかく、最初からパソコンで原稿書いてれば起きないはずなんだけど。
できるだけ原文に即して直すとしたら、こういう感じかな。(悪文だけど。)

 上記の例では、最初に、前者の条件式「x > 10」を判定します。
条件式「x > 10」が不成立であるならば条件式全体に「False」を返し、
条件式「x > 10」が成立であるならば、後者の条件式「y < 10」の判定を行ないます。
後者で、条件式「y < 10」が成立であるならば、命令文「z = x + y」と
「MessageBox.Show(z.ToString)」を実行します。

873 名前:デフォルトの名無しさん mailto:sage [04/09/16 12:42:56]
AndAlso と OrElse か。
VB6でも最適化コンパイル時にそういう処理をしてると思ってたんだけど。

.NET Frameworkで動くのに、わざわざ命令を追加するほどの意味があるのかな。

874 名前:デフォルトの名無しさん [04/09/16 13:07:25]
>>873
.NET Frameworkで動かすために追加せざるを得なかったんでしょ。

875 名前:デフォルトの名無しさん mailto:sage [04/09/16 14:31:54]
>>874
なるほど、C#にそろえるためか。



876 名前:デフォルトの名無しさん mailto:sage [04/09/16 16:19:38]
>>873
A, B が関数だとして、 A And B と A AndAlso B ではだいぶ意味が違ってくると思う。
AndAlso の使いどころは、例えば Not IsNothing(form1) AndAlso form1.Visible とか。

877 名前:VB.NET始めて2日目 [04/09/16 17:19:22]
研修の身分でVB.NETの課題を昨日から始めた初心者ですが、
早速テンパってしまったのでお聞きしたいです。

課題内容:エンターキーが押された際に順番通りにフォーカスを移動させる
フォーム内容:TextBoxが6個並んでいる

以上の内容となるのですが、どの様にすれば課題内容を網羅出来るものが出来るのでしょうか
出来れば、極力簡単な言葉でお教え頂けないでしょうか

878 名前:デフォルトの名無しさん mailto:sage [04/09/16 17:21:40]
自分でやらなければ研修の意味がない。
給料を払う価値もない。


以上

879 名前:デフォルトの名無しさん mailto:sage [04/09/16 17:29:32]
ワラタ

880 名前:デフォルトの名無しさん mailto:sage [04/09/16 17:50:42]
EnterKeyをTabKeyに入れ換える

内緒 Function 内緒(内緒) As 内緒
If 内緒 = 内緒 Then
内緒(内緒)
内緒(内緒)
内緒 = 内緒
End If
内緒 = 内緒
End Function

簡単だな
俺はEnterKeyでフォーカスを移動するのは嫌いだな

881 名前:デフォルトの名無しさん mailto:sage [04/09/16 17:54:16]
漏れは単純な数字を沢山入れるタイプのAPなら、
Enterでフォーカスが移動するのは悪くないと思う。
Excel もそうだけど気にならないし。

でもそーいう業務アプリ設計してると、他に「実行」キーが欲しくなるという罠

882 名前:デフォルトの名無しさん mailto:sage [04/09/16 17:56:23]
キーフ○○ヒ゛ュー

883 名前:VB.NET始めて2日目 [04/09/16 19:17:06]
解決致しました。
皆さんどうもありがとう御座いました。

884 名前:デフォルトの名無しさん [04/09/16 21:08:27]
179 名前: VB.NET始めて2日目 投稿日: 04/09/16 17:47:47
研修の身分でVB.NETの課題を昨日から始めた初心者ですが、
早速テンパってしまったのでお聞きしたいです。

課題内容:エンターキーが押された際に順番通りにフォーカスを移動させる
フォーム内容:TextBoxが6個並んでいる

以上の内容となるのですが、どの様にすれば課題内容を網羅出来るものが出来るのでしょうか
出来れば、極力簡単な言葉でお教え頂けないでしょうか

180 名前: VB.NET始めて2日目 投稿日: 04/09/16 19:16:11
自己解決しました。
お騒がせ致しました。

885 名前:デフォルトの名無しさん mailto:sage [04/09/16 21:27:23]
.NETでも所詮はブビ廚



886 名前:デフォルトの名無しさん mailto:sage [04/09/17 11:04:50]
VS2005Beta1を検証PCにインストールしたけどめちゃ重くて使えません。
CPUは2ギガです。とりあえず環境はMDIにしてプロパティのドッキング解除して・・・重っ!!
ほんとにみんなこんな開発環境で仕事してるんでしょうか?

WindowsXPでLUNAをやめてクラシックデザインにした時の様に
VS.NET自体の動作を軽くする環境設定ってありますか?
どなたかご存知でしたらレスをお願いします。

VS2005Standardって早く試してみたい・・・


887 名前:デフォルトの名無しさん [04/09/17 14:57:06]
PublicSub frmPrint(略)
TextBox1.text=Module.AAA
TextBox2.text=Module.BBB
TextBox3.text=Module.CCC
End sub

で呼び出す変数をまとめてモジュールを↓のようなModule.vbにしまってあるのですが、

Module DataModule
Public AAA As Integer
Public BBB As String
Public CCC As Decimal
End Module

これを、のAAA,BBB,CCCの内容を利用した後、ボタンを押す事で AAA = 0 BBB = ""
CCC = 0にしたいのですが、ボタンを押したときに全部の変数の初期値を書き込んでやると
方法しかないのでしょうか?

Module自体を初期化という命令を探しているのですが、なかなか見つからずに困っていま
す。

888 名前:デフォルトの名無しさん mailto:sage [04/09/17 15:22:35]
>Module自体を初期化という命令
そんなもんはねえ。
初期化用のメソッドを自分で作る。
※せめて使う側からそれぞれを初期化するのはやめれ

まあそれ以前にこんなグローバル変数の使い方はどうかと思うが。
せめてクラスにしてインスタンスをグローバルで持たせるか…
それならインスタンス作り直して変数を上書きすれば初期化もできるし。


889 名前:887 [04/09/17 15:44:22]
>>888
ありがとうございます。なにせ初めてプログラムを組んでいるので、かなり手探りで
作っています。Moduleに変数を入れるのをグローバル変数と呼び、あんまり推奨
されないというのも、いまGoogleで知りました。

大昔の行数ラベルの付いたHu−BASICしか触った事がないので、判らないことだ
らけで難渋しております。



890 名前:デフォルトの名無しさん mailto:sage [04/09/17 18:25:35]
はどそんべーしっく

891 名前:デフォルトの名無しさん mailto:sage [04/09/17 23:34:06]
ワロタw

892 名前:デフォルトの名無しさん [04/09/18 00:30:25]
.NETで開発している人に質問なんですが、
InputManってよく使いますか?
もしくは他の入力制御系のコントロール使ったりします?

893 名前:デフォルトの名無しさん [04/09/18 11:43:03]
Inheritsってなんて読むんですか?

894 名前:デフォルトの名無しさん [04/09/18 12:22:11]
.netのグラフィックではXOR描画がサポートされていないようだけど、
マウスドラッグで線を引く時に、一時的な線をマウスの動きに合わせて
表示消去を繰り返すような処理をどうすればできる?
ビットマップの切り替えとかで出来るのかなぁ。


895 名前:デフォルトの名無しさん mailto:sage [04/09/18 12:44:14]
愚レイプ指定は駄目駄目。



896 名前:デフォルトの名無しさん [04/09/18 14:34:42]
頭虫邸みたいだな

897 名前:デフォルトの名無しさん [04/09/18 17:55:40]
今日、VB.NETを購入してインストールしたんですけど
起動してみたところ、悪質なスクリプトを検出したと、ノートンが働いてしまいます
devenv.exeというプログラムなんですけど、許可してもいいんでしょうか?

898 名前:デフォルトの名無しさん [04/09/18 18:16:36]
学生じゃないけどアマゾンでアカデミックパック購入しようかな、と思ってます。
(店頭だと学生証表示しる、とか言われそうなので)

インストールとか登録時に変な確認ないよね・・??誰か教えて。

899 名前:デフォルトの名無しさん mailto:sage [04/09/18 19:54:57]
>>898
少し前までそういうスレがあったんだけどね。ソフト板に。

900 名前:デフォルトの名無しさん mailto:sage [04/09/18 20:16:52]
>>899
ありがとう。発見しますた。

901 名前:デフォルトの名無しさん [04/09/18 20:23:39]
Visual Stdio買わずにOutlookのCOMアドインを作りたいんだが、
.NET Framework SDKだけで作れますか?


902 名前:デフォルトの名無しさん mailto:sage [04/09/18 20:56:04]
コマンドラインでコンパイルすればOK
フリーの.NETツールもある

903 名前:デフォルトの名無しさん mailto:sage [04/09/18 21:33:16]
>>892
TextBox継承して作れば、必要なし。
つか、よくあんなもの金出して買うな。

904 名前:デフォルトの名無しさん mailto:sage [04/09/18 22:24:12]
>>902
ありがとうございます。

いろいろいじってみたんだが、必要なコマンドラインオプションがわかりません。
雛形とかを教えてもらえるとありがたいのですが。
-----
Option Explicit

Implements IDTExtensibility2
-----
C:\>vbc /t:library /r:addindesignerobjects.dll hoge.vb
では名前空間のステートメントが無効です、と言われるんですが。


905 名前:デフォルトの名無しさん mailto:sage [04/09/18 22:29:15]
>>904
sharpdevelop-jp.sourceforge.jp/index?FrontPage
これフリーで使える開発ツールだからこれ使ってみては?




906 名前:デフォルトの名無しさん mailto:sage [04/09/18 23:50:28]
>>905
なんとなくわかってきた。ありがとうございます。
動かないけどコンパイルは通るようになったみたい。
もうちっと探ってみまず。

907 名前:デフォルトの名無しさん mailto:sage [04/09/19 00:39:38]
コンパイルが通るけど動かないとは、これ如何に?

908 名前:デフォルトの名無しさん mailto:sage [04/09/19 01:59:21]
>>907
動くけどコンパイラが通らない

 っていうのよりはマシだと思う


909 名前:デフォルトの名無しさん mailto:sage [04/09/19 02:07:30]
>>908
あ り え な い

910 名前:デフォルトの名無しさん mailto:sage [04/09/19 02:16:45]
>>907
レジストリの登録が必要だったりするらしいので。

つうか、
Implements IDTExtensibility2
って書いたらコンパイルできなくなった。
BC30149: 'Class1' は、インターフェイス 'Extensibility.IDTExtensibility2' に対して 'Overridable Sub OnAddInsUpdate(ByRef custom As System.Array)' を実装しなければなりません。
どこのサンプルコードみてもOverridableなんて書いてないのに。。。


ろくにVBを知らないのにアドインつくろうなんて無謀なんだろうけど、
まだまだ先は長いな。

911 名前:デフォルトの名無しさん [04/09/19 12:25:18]
はじめまして。
VB.net (2002) でコンソールアプリを組んでいるのですが、
Ctrl+C のトラップ方法がわかりません。
コンソールプログラム実行中に Ctrl+C を押すと
Try Catch Finally で囲んでいても終了コードを実行
する間もなく強制終了してしまいます。
どなたかトラップの方法をご存知でしたら教えて
いただけないでしょうか。
宜しくお願いします。


912 名前:デフォルトの名無しさん mailto:sage [04/09/19 13:50:09]
>>909
いやいや、「ありえない」にもかかわらず「そうなった」と言うのだから
ひどい、「それよりはましだ」と言いたいのであろう。


913 名前:デフォルトの名無しさん [04/09/19 19:58:42]
質問です。
VB.NETからWindows SharePoint Services のリストの機能を使って、
リストの内容を取得しようとしているのですが、サンプル通りに記述しても動きません。
HTTP401エラーが発生しているようです。
IISの認証はクリア出来てそうなのですが、
(イベントログのセキュリティはログインしたことになっているようです)
IIS⇒ASP.NETの認証でエラーになっているのではないかと思います。

環境は以下です。
SharePointが乗っているサーバー
OS Windows 2003
IIS/ASP.NET

開発しているPC
OS Windows 2000

リモートからの取得自体が無理なんでしょうか。
それとも、どこかの設定で認証をクリアー出来るのか、ご教授下さい。

よろしくお願いします。

914 名前:デフォルトの名無しさん [04/09/19 22:22:23]
先生、質問です。

VB.NETから、VBScriptとかJScriptとか何でもいいんで、スクリプトって使えますか?
例えば、
Private Sub Hoge() As Long
 Hoge = 1
End Sub
って、テキストファイルに書いたのを、プログラム実行中に読み込んで、
実行することは可能ですか?

915 名前:デフォルトの名無しさん mailto:sage [04/09/19 22:23:30]
質問ばっか



916 名前:デフォルトの名無しさん mailto:sage [04/09/19 22:59:35]
>>915
質問スレだからな

917 名前:デフォルトの名無しさん mailto:sage [04/09/19 23:00:39]
>>914
VB.NET とは関係ないし、
簡単には無理

918 名前:デフォルトの名無しさん mailto:sage [04/09/19 23:04:59]
署名付きクラスライブラリ(VBで作成)を、任意の(C:\common_dll\下)に
配置しようと思っています。
web等を参考にしながら以下の方法で試して見たのですが、上手くいきません。
対応策を教えていただけないでしょうか?

1.keypairの作成
 dos>sn -k key.snk
2.クラスライブラリのAssemblyInfoに追加
assembly: System.Reflection.AssemblyKeyFile("./key.snk")
assembly: System.Reflection.AssemblyVersion("1.0.0.0")
assembly: System.Reflection.AssemblyCulture("neutral")

#ここまでで署名付きのクラスライブラリの作成には成功しています。
#GACへ登録しての起動も確認できました。



919 名前:つづきです mailto:sage [04/09/19 23:05:44]
3.キートークンの抽出
dos>sn -t key.snk
4.AP.exe.configの作成し、AP.exeとおなじフォルダに配置

<?xml〜>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="testdll"
publicKeyToken="32ab4ba45e0a69a1"←3.で抽出したトークン
culture="neutral" />
<codeBase version="1.0.0.0"
href="C:\common_dll\testdll.dll"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

どなたかお願いします。

920 名前:デフォルトの名無しさん mailto:sage [04/09/19 23:13:58]
hrefだからfile://とかのurlにしないといけないとかって落ちはない?


921 名前:918 mailto:sage [04/09/19 23:18:01]
ありがとうございます。
一応file://〜も確認してみたのですが駄目でした。
相対パスでもです。


922 名前:デフォルトの名無しさん mailto:sage [04/09/19 23:42:07]
サブクラス化について
SetWindowLongで
GWL_WNDPROC ウィンドウプロシージャのアドレスを書き換えます。
Windows NT/2000:この属性は、ウィンドウが関数を呼び出したスレッドと同じプロセスに属していないと変更できません。

とSDKに書いてあるんだけど、WndProcの書き換えはc++じゃないと出来ないのかな?
VB.NETでは他の方法でも無理でしょうか??

923 名前:デフォルトの名無しさん [04/09/20 00:05:12]
>>922
君みたいな人不思議でしょうがないんだけど、
なんで人に聞く前にMSDN当たらないわけ?頭不自由なの?寂しがりやなの?
ヤフオクでMSDNなしの「ボリュームライセンス」品を手に入れたの?
それにしたってwebのがあるよねえ。
www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfsystemwindowsformscontrolclasswndproctopic.asp

924 名前:デフォルトの名無しさん mailto:sage [04/09/20 00:18:08]
というかそもそも、
>とSDKに書いてあるんだけど、WndProcの書き換えはc++じゃないと出来ないのかな?
>VB.NETでは他の方法でも無理でしょうか??
という判断を下した理屈が知りたい。


925 名前:デフォルトの名無しさん mailto:sage [04/09/20 00:27:47]
>>921
どううまくいかないのか詳細を書いてくれないか?



926 名前:デフォルトの名無しさん mailto:sage [04/09/20 00:35:13]
ありがとうございます。
DLLが見つからないということでexeが起動できません。

927 名前:デフォルトの名無しさん mailto:sage [04/09/20 00:37:26]
DLLが見つからなくて云々てのは初めから分かっとる。
エラー(例外)メッセージの詳細をかけって言ってるのが分からんかい?
アセンブリをロードするときのログが例外のメッセージに含まれてないか?

928 名前:デフォルトの名無しさん mailto:sage [04/09/20 00:43:45]
今その環境がなくて詳しいことはかけません。
ただconfigファイルを使わずにGACに登録していれば正常に起動はできていましたので、
configファイルの記述ミスではないだろうかと思っています。


929 名前:デフォルトの名無しさん mailto:sage [04/09/20 00:50:17]
アセンブリをロードしようとしてるときのログを見れば、
どんなパスからロードしようとして失敗したかがわかるはず。
確かロード関連で例外が出たときにはメッセージに含まれてたと思うが、
もし出てない場合はfusionlogってな名前のログを見ればいいんだったかな、たしか。


930 名前:デフォルトの名無しさん mailto:sage [04/09/20 01:05:43]
おおー参考になります
まずはどのパスを確認しにいってるのか、そのログで確認してみます。


931 名前:デフォルトの名無しさん mailto:sage [04/09/20 01:33:02]
>>923
スンマソ
一番大事な事書き忘れてました
”別スレット”゙のWndProc書き換えです

グローバルフックはVB.NETでは出来ないみたいですね



932 名前:デフォルトの名無しさん mailto:sage [04/09/20 03:24:47]
出来るから

933 名前:デフォルトの名無しさん mailto:sage [04/09/20 09:24:13]
ヘルプには出来ないって書いてるしなぁ
うーん

934 名前:デフォルトの名無しさん [04/09/20 11:16:26]
ていうか
>”別スレット”゙のWndProc書き換えです

コレ、何言いたいのかサッパリわかんないんだが俺だけか?

935 名前:デフォルトの名無しさん mailto:sage [04/09/20 12:56:54]
>>934
自前のアプリから、メモ帳とかに入力されたキーボード入力やマウスの動きを横取りしたいって事デス




936 名前:デフォルトの名無しさん mailto:sage [04/09/20 13:00:04]
スレッドとプロセスの区別がついとらん。

937 名前:デフォルトの名無しさん mailto:sage [04/09/20 14:27:24]
だめか。

938 名前:デフォルトの名無しさん mailto:sage [04/09/20 15:14:43]
>>935
helpにも書いてある通り.NETでは無理。VC++でDLL作成するなら可能

ttp://www.kumei.ne.jp/c_lang/sdk2/sdk_161.htm

939 名前:913 mailto:sage [04/09/20 17:00:22]
何でもいい、憶測でもいいから。
誰か答えてください。

940 名前:デフォルトの名無しさん mailto:sage [04/09/20 19:01:48]
よし、俺が答えてやろう

 まずは、色々と勉強してこい
 話はそれからだ

941 名前:デフォルトの名無しさん mailto:sage [04/09/20 19:34:50]
ListViewコントロールってユーザが編集できるのはTextだけ?
SubItemsの中身も編集できるようにしたいんだけど、無理ぽ?

942 名前:901 mailto:sage [04/09/21 13:47:08]
901です。教えてください。

MSDN Onlineのサンプルとか見ながらExtensibility2インターフェースの
OnAddInsUpdate、OnStartupComplete、OnBeginShutdown、OnConnection、OnDisconnection
の各メソッドを実装して、できたdllをCOM登録するところまではやったんだけど、
いざOutlookでCOMアドインを追加しようとすると
hogehoge.dllは有効なOfficeアドインではありません。
ってエラーになるんだけど、なんでかな。

ほかに何が必要ですか?

943 名前:デフォルトの名無しさん mailto:sage [04/09/21 21:33:53]
委託先企業・・・どこだろ

944 名前:デフォルトの名無しさん mailto:sage [04/09/21 21:35:11]
はげしく誤爆。スマソ

945 名前:デフォルトの名無しさん [04/09/22 00:11:22]
たとえばwavファイルをバイナリで開いて編集するのって、
いったいどうやるんですか??><



946 名前:デフォルトの名無しさん mailto:sage [04/09/22 01:42:45]
>>945
jpgをバイナリで開いて編集するよりむずかしい。

947 名前:デフォルトの名無しさん [04/09/22 02:09:57]
>>946
たとえが悪かったみたいです^^;
軽いファイルを、16進数でダンプ表示させたいんですけど、調べても調べても・・・
助言くださるととてもありがたいです><

948 名前:デフォルトの名無しさん mailto:sage [04/09/22 10:51:27]
>>947
簡単に見つかるはず。もっと探せ。

949 名前:デフォルトの名無しさん mailto:sage [04/09/22 10:52:10]
>>947
0から15を16進表示、というのは出来るのか?

950 名前:899 [04/09/22 12:35:14]
>>947
>調べても調べても・・・
絶対ウソだと思うこれ。そうでなければよほど…(自主規制

www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpguide/html/cpconstandardnumericformatstrings.asp

951 名前:デフォルトの名無しさん mailto:sage [04/09/22 14:17:19]
>947
www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/dnguinet/htm/drguinet09042001.asp
まさかな・・・

www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&q=vb%2Enet+%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB+%E3%83%80%E3%83%B3%E3%83%97
4つめ・・・

952 名前:デフォルトの名無しさん mailto:sage [04/09/23 00:59:14]
textboxの入力チェックにvalidatingイベントを使用しています
tabやボタンのクリック時にはちゃんとチェックできるのですが

formのkeypreview=trueでformのkeydownイベントで
If e.KeyCode = Keys.F1 Then
MessageBox.Show("f1")
End If

とすると、textboxのvalidatingイベントは素通りしてしまってチェックできません
何かいい知恵ないでしょうか?
別にチェックするルーチン作ってやるしかないのでしょうか?


953 名前:デフォルトの名無しさん mailto:sage [04/09/23 01:40:54]
素通りってあんたどのタイミングでチェックされるかわかっていってるか?

954 名前:デフォルトの名無しさん mailto:sage [04/09/23 02:06:21]
>>953
textboxのleaveイベントの直後にvalidating

素通りするのは仕様だから仕方ないですけど
上のコードのようにformでキー拾って更新ってありがちな処理ですけど
皆さんはどうやってデータチェックしてるのかなと

チェックする関数作ってvalidatingと更新前と呼び出ししたりしてるのかな?

955 名前:デフォルトの名無しさん mailto:sage [04/09/24 12:52:45]
ちょっと質問

www.microsoft.com/japan/msdn/scripting/default.asp
のScriptControlってVB.NETでも使えますか?
VB6.0の頃は使えてたんだけど、VB.NETでどうなのか知りたいです



956 名前:デフォルトの名無しさん mailto:sage [04/09/24 23:09:30]
NOTIFYICONDATAの構造体にhIconがあるんですが
あれは何で宣言すればいいのでしょうか?
As Iconで宣言すると
型 NOTIFYICONDATA のフィールド hIcon を集成できません : このフィールドの型の定義にレイアウト情報がありません。
というエラーが出るし、Icon以外で宣言しようとすると型が違うって
言われます。

分かる方よろしくお願いいたします。

957 名前:デフォルトの名無しさん mailto:sage [04/09/25 00:25:31]
>>956
IntPtr。Icon の Handle プロパティにある奴ね。

958 名前:デフォルトの名無しさん mailto:sage [04/09/25 04:22:57]
>>957

どうにかコンパイルは通りましたが、
実行中にエラーが出てしまいます。

Dim udtNotifyIconData As New NOTIFYICONDATA
Dim lngResult As Long

With udtNotifyIconData
.cbSize = Len(udtNotifyIconData)
.hwnd = Me.Handle
.uID = 0
.uFlags = NIF_MESSAGE Or NIF_ICON Or NIF_TIP
.uCallbackMessage = WM_MOUSEMOVE
.hIcon = Me.Icon.Handle
.szTip = "Title" & vbNullChar
Me.Visible = False
End With
lngResult = Shell_NotifyIcon(NIM_ADD, udtNotifyIconData)

こういった感じでタスクトレイに表示させる命令を書いているんですけど、
hIconの命令がうまくいきません。

書き方が間違っていると思うんですけどもうお手上げ状態です。

よろしければご教授よろしくお願いいたします。

では、

959 名前:デフォルトの名無しさん mailto:sage [04/09/25 11:56:33]
タスクトレイのアイコンならNotfiyIconコントロールを使えば簡単に表示できるのに・・・

960 名前:デフォルトの名無しさん mailto:sage [04/09/25 15:09:33]
958です。

>>959
うお、.Netってこんな便利なコントロールがあったんですか!
thxです。早速使ってみます。

961 名前:デフォルトの名無しさん mailto:sage [04/09/25 20:59:34]
.NETcompactFrameworkでシステムフォルダを取得するには?
System.EnvironmentもSystem.Windows.Forms.Applicationも役にたたんかった・・orz

962 名前:デフォルトの名無しさん mailto:sage [04/09/25 22:26:42]
part3-5の過去ログ持ってる方いたらどっかupしていただけないでしょうか?


963 名前:デフォルトの名無しさん [04/09/25 23:51:40]
VBでサービスが作れると聞き、早速、本を買い込んで試してみました。
本によれば、「Windowsサービス」プロジェクトを選択するはずなのですが、
うちにあるVisual Studio .NET2003では作れません。
なぜ?VBだけのを買ったから?
それとも、なにか別途インストールが必要なのか?
どなたかご教授下さい。
よろしくお願いします。



964 名前:最凶VB厨房 mailto:sage [04/09/26 00:02:27]
おそらくVBだけのを買ったからだろう。
が、まぁここでも
ja.gotdotnet.com/quickstart/howto/doc/SimpleService.aspx

965 名前:デフォルトの名無しさん [04/09/26 18:30:05]
Treeviewコントロールのノード部分にマウスカーソルをホバー
させたときに、マウスカーソルを手の形に変えたいと考えて
います。しかし、Treeviewコントロールの上にホバーしたとき、
というのはできるんですが、ノード部分のみ、という処理の
仕方が分かりません。ご教授のほど、よろしくお願いします。



966 名前:デフォルトの名無しさん mailto:sage [04/09/26 21:41:12]
odbcデータアダプタの新しい接続でoracleを選ぶとこのバージョンではアクセスと
SQLサーバが選べますみたいなメッセージ出るのだけど、これはVB.netスタンダード版
だからでしょうか(結局オラクルは選べないってことですか?)
オラクルは8iです

967 名前:デフォルトの名無しさん [04/09/28 03:24:01]
Visual Basic を手に入れたんですが、どうやったらゲームを作れるのでしょうか?
初心者というか何も知らない状態です。
いろんなスレやサイトを見たのですがさっぱりわかりません。

本などを見てみたのですがライブラリというのがなければつくれないんですか?
また、ライブラリを手に入れる方法、使い方を教えてください。



968 名前:デフォルトの名無しさん mailto:sage [04/09/28 03:42:26]
くぎと金槌を手に入れたんですが、どうやったら家が建てられるでしょうか
初心者(ry

969 名前:デフォルトの名無しさん mailto:sage [04/09/28 09:53:16]
ファイル読み込みのときに指定したレコードのデータを読みたいのですが
どうやって指定すればよいのでしょうか。
それとも、順番に読み込んでいく方法でしかできないのでしょうか?

970 名前:デフォルトの名無しさん mailto:sage [04/09/28 13:06:52]
どうしてもプリンタの用紙サイズとそのIDが必要なので、
(標準のサイズではcustomになるため不可)

<DllImport("winspool.drv", EntryPoint:="DeviceCapabilitiesA", _
CharSet:=CharSet.Ansi, ExactSpelling:=True, CallingConvention:=CallingConvention.StdCall)> _
Public Shared Function DeviceCapabilities(ByVal lpDeviceName As String, ByVal lpPort As String, ByVal iIndex As Integer, ByVal lpOutput As Integer, ByVal lpDevMode As Integer) As Integer
End Function
Private Const DC_PAPERS As Integer = 2
Private Function GetPaperInfo() as Integer
Dim ptr As New IntPtr()
Dim rc as Integer
rc = DeviceCapabilities(vstrDevName, vstrPortName, DC_PAPERS, ptr, 0)

とまではいくのですが、ここからコピーできません(涙)
WORDの配列が帰ってくるはずで、戻り値も悪くないのですが・・・


971 名前:デフォルトの名無しさん mailto:sage [04/09/28 18:22:39]
すみませんが、VB.NETで使用するSpreadに関する質問はここでよろしいでしょうか。

972 名前:971 mailto:sage [04/09/29 10:56:36]
駄目なようですね、すみませんでした。

973 名前:デフォルトの名無しさん mailto:sage [04/09/29 11:26:37]
ずいぶんと我慢の出来ない奴だな

974 名前:971 mailto:sage [04/09/29 11:50:36]
>>973
人が多そうな夜を挟んでも返答がなかったので、てっきり駄目かと……

975 名前:デフォルトの名無しさん mailto:sage [04/09/29 16:10:50]
>>974
ム板は平日昼間のほうが多い。



976 名前:教えてください。。。 [04/09/29 23:25:52]
リッチテキストボックスに表示されたhtmlのソースから
全てのfontタグを削除するコードを記述したいのですが、
fontタグを構成する文字列は固定されておらず、
"<font size=-1>"や、"<font color=#000000>"や、
"<font FACE="明朝">"など無数にあるために困っています。

"<font"とその直後に登場する">"との間の文字列を
""で置換すればよいと思うのですが、
一体どのようなコードを記述すればよいのでしょうか。

ご教示ください。

977 名前:デフォルトの名無しさん [04/09/29 23:44:03]
>>976
正規表現

978 名前:デフォルトの名無しさん mailto:sage [04/09/30 13:55:25]
Spreadの事で質問なんだけど、
TypeFloatSepCharとかTypeFloatDecimalPlacesとかのType〜って.NETだと何に置き換わってる?
ヘルプの相違点で調べたんだけど、載ってなかったから。
よろしくお願いします。

979 名前:デフォルトの名無しさん [04/09/30 14:10:44]
WindowsXPproでVisual Studio.Net2002のVB.NETを使っているのですが、
datagridの行と行の間の、各行の幅を調節するところでダブルクリックをすると、
------------------------------------------------------------------------------------------
'System.ArgumentOutOfRangeException' のハンドルされていない例外が mscorlib.dll で発生しました。

追加情報 : インデックスが範囲を超えています。負でない値で、コレクションのサイズよりも小さくなければなりません。
--------------------------------------------------------------------------------------------
というエラーが出てForm1の
Option Explicit On
Public Class Form1←ここで止まってしまいます。
しかも、すべてのdatagridでこのエラーが出るわけではなく、出るやつと出ないやつがあったりします。
ネットで調べたらttp://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=12359&forum=7&0に同じようなエラーの質問があったのですが、
ここで書かれているように設定段階でほぼまったく同じように設定したものでも、エラーになったりならなかったりします。
プログラムの中で調べようにもブレークポイントをどこに設定すればいいかもわからず、お手上げ状態です。
どうやればこのエラーを回避できるでしょうか?
よろしくおねがいします。

DBはaccess2000でoledbdataadapterをもちいてデータを受け取っています。

980 名前:デフォルトの名無しさん [04/09/30 18:59:11]
OS: Win2K Pro
VB .NET 2003を使ってるのですが、
作ったソフトを別PCで起動するとこんなエラーがでるのですがどうしたらいいんでしょうか?
(開発しているPCでは起動できる)

hp.vector.co.jp/authors/VA030428/ss/error.png

981 名前:デフォルトの名無しさん mailto:sage [04/09/30 19:51:45]
>>980
この辺一通り読んでみては?
www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpguide/html/cpconcodeaccesssecurity.asp

982 名前:デフォルトの名無しさん mailto:sage [04/09/30 20:31:34]
>>980
事故解決しました

つーか馬鹿でした。

983 名前:デフォルトの名無しさん mailto:sage [04/09/30 22:53:58]
スクリーンキャプチャーを撮る方法ってある??

984 名前:デフォルトの名無しさん [04/10/01 00:58:55]
>>983
通報しました

985 名前:デフォルトの名無しさん mailto:sage [04/10/01 01:04:17]
>>983
通報しましたー



986 名前:デフォルトの名無しさん mailto:sage [04/10/01 02:24:24]
>>983
Close()






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<296KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef