1 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 17:53:36 ] 前スレ VB.NET質問スレ(Part28) pc11.2ch.net/test/read.cgi/tech/1229695062/l50 テンプレは>>2 〜
46 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 09:49:05 ] 少なくともVB.NETでは動かないから無視しておk
47 名前:デフォルトの名無しさん [2009/02/25(水) 18:27:48 ] グローバルフックってどうやるんですか?
48 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 18:29:03 ] ぐぐれ
49 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 19:50:48 ] 2003では配布する時Microsoft.VisualBasic.Compatibility.dll無いと ダメだったけど2005以降も同じ? それと\binにxxx.VSHOST.exeとxxx.xmlも出来るけどこれは不要?
50 名前:デフォルトの名無しさん [2009/02/25(水) 20:10:36 ] >>48 探したけどVB.netで グローバルフックする方法がのってないんです
51 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 20:13:10 ] どう探したのやら vb.net グローバルフック だけでも必要十分な情報は手に入るのに
52 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 20:30:37 ] >>49 .NET2.0SP2現在はデフォで入ってるな。 最初からそうだったか途中のSPからそうだったかは記憶にない。 ちなみにClient Profileには入ってなかった・・・誰も使ってないから問題ないが
53 名前:デフォルトの名無しさん [2009/02/25(水) 20:33:51 ] >>51 すいません見つかりませんでした。 どこかにサンプルコードとか載ってるところとかありませんか?
54 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 20:44:06 ] 「VB.NETで」と限定するのが間違い C#やC++みたいな他の言語で書かれてるのが読めないレベルの人がやるようなことじゃない
55 名前:デフォルトの名無しさん [2009/02/25(水) 23:41:49 ] 文字列の文字数をそろえたいのですがそれようの関数があったら教えてください 全部5桁にしたい場合 「ABC」を「ABC 」に直したり 「AB」を「AB 」にしたいです。
56 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 23:49:13 ] String.PadLeft(5)
57 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 00:42:53 ] 結論として、VB.NET でグローバルフックは無理。
58 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 01:11:19 ] VS2008 Expressで、.NET 3.5のフォームアプリを勉強しています。 MDIアプリの作成を練習しているのですが、MDI親フォームに、ちょうど VS2008のツールボックスやエラー一覧のようなフォーム?を表示させたいのですが、 アレは普通のフォームとして作成するのでしょうか。 それとも何か特殊なコンポーネントを使用しているのでしょうか。
59 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 01:15:14 ] >>56 ありがとうございます。試してみます。
60 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 02:56:50 ] 日本語をつかったURLが解禁になるけど タグなどのないプルーンなテキストの日本語長文の中からURLを抽出するのはどうやるの?
61 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 09:39:29 ] >日本語をつかったURLが解禁になるけど なん…だと?
62 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 09:41:12 ] http:で始まったらURLでいいんじゃね? ftpの場合はftp:になるんかな?
63 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 09:52:16 ] >>58 >それとも何か特殊なコンポーネントを使用しているのでしょうか。 その通り。MDIではできません。あのような機能はドッキング(docking)と呼ばれます。 キーワードは出したよ
64 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 10:41:26 ] >>62 開始位置はいいとして終了位置はどう見分ける?
65 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 10:44:16 ] >>64 改行とかダブルコートかのう
66 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 10:53:26 ] ttp://tools.ietf.org/html/rfc3987 この辺を見て粛々と
67 名前:デフォルトの名無しさん [2009/02/26(木) 13:58:15 ] CheckListBoxに表示されている複数のチェックボックスを 一発で全部チェック入れる方法を教えてくれ
68 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 14:01:58 ] CheckedListBoxでいいのか? BeginUpdateしてからループまわせ
69 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 17:13:50 ] すいません。 初心者なんですが、VCからVBにソースを変換してるんですが >public class AAAA : BBBB の、「:BBBB」というのはVBだとどう書けばよろしいでしょうか?
70 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 17:18:11 ] Public Class AAAA Inherits BBBB
71 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 17:21:39 ] ありがとうです。
72 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 17:29:30 ] >>70-71 それじゃ public 継承になるが…いいのか?
73 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 17:33:33 ] public classとか書いてる時点でC#なのは確定的に明らか
74 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 17:33:53 ] というか意味がわかってればぐぐればすぐわかるってことは 意味がわかってないということで そんなことで大丈夫なのか
75 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 17:43:41 ] まあいいんじゃないw 移植は結構鍛えられる
76 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 17:48:37 ] だってVCもVBもわかってないってことでしょ どっちかわかってないとつらいよなw
77 名前:72 mailto:sage [2009/02/26(木) 17:58:23 ] >>73 おお、そういやそうだ。失敬。
78 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 19:02:56 ] integerじゃなくshortをつかわければならない CPUやメモリっていうのはどれぐらい?
79 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 19:45:08 ] どれぐらい?って?
80 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 21:17:00 ] あれぐらい
81 名前:デフォルトの名無しさん [2009/02/26(木) 21:35:23 ] 質問させて下さい。 WindowsServer2008上でアプリ(定期的にデータを変換するソフト)を動かしています。 ユーザーがダブルクリックで実行した場合には正常に動作しています。 しかし、VBで作った自動起動ツールから、そのソフトを起動させると、 外観は正常なのですが、動作ログや出力ファイルになにも書き込まれません。 どういった原因が考えられるのでしょうか? お願いしますです。
82 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 21:43:58 ] アクセス許可
83 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 21:44:24 ] カレントディレクトリ
84 名前:デフォルトの名無しさん [2009/02/26(木) 22:46:21 ] 複数のstring にPadRightして、長さをそろえてMSゴシックでLABELに 表示したいのだが、全角文字や半角文字が混じっていると、長さが 微妙にずれるのを解消する方法を教えてくれ
85 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 22:52:36 ] そういうのはPadRightじゃなくてTextAlign使おう
86 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 12:30:18 ] 失礼します。 VisualBasic 2008 Expressを使用しています。 参照アセンブリ '***.dll' は、アプリケーションとは異なるプロセッサをターゲットにしています と、いう警告が出ています。 調べたところ >対策方法ですが、32ビットOSだけを対象にするのであれば、[プロジェクトのプロパティ]を開き、[コンパイル]から[詳細コンパイルオプション]ボタンをクリックし、 >[ターゲットCPU]をAnyCPUからx86に変更すれば警告は出なくなると思われます。 social.msdn.microsoft.com/forums/ja-JP/csharpexpressja/thread/c0acb6a3-45e5-48b6-b68c-61cd6e26dcb2/ と、あるのですが2008Expressで詳細コンパイルオプションの中にはこの項目が見当たりません。 どこか他の場所にあるのでしょうか?それともExpressでは設定できないのでしょうか? よろしくお願いします。
87 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 12:30:18 ] 複数フォルダの複数ファイルの更新状況を一つのスレッドで監視したいと考えています。 [FileSystemWatcher]のインスタンス一つを利用して、 一度に複数フォルダの複数ファイルを監視(イベント取得)する事は出来るのでしょうか? 出来るとしたらどの様な方法がありますか? また、出来ないとしたら、フォルダ毎のインスタンスを用意してそれぞれのイベントを個々に監視する。 、スレッドで起動するなどの方法になるのでしょうか?
88 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 12:41:52 ] >>84 ポイントサイズを3の倍数にするとかなんとかムニャムニャ
89 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 12:56:39 ] >>87 ひとつのFileSystemWatcherにつき一つのディレクトリだが、 そもそもなんで複数のFileSystemWatcherを作りたくないんだ?
90 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 13:05:06 ] >>86 Expressじゃ無理だったはず .vbprojのPlatform要素書き換えればいけるかもしれんがどうだろうな
91 名前:87 mailto:sage [2009/02/27(金) 13:28:08 ] >>89 監視するフォルダはDBで管理し継続的に増えます。 認識違いをしているかもしれませんが、 FileSystemWatcherのWatcher_Changed()は、複数インスタンス化したFileSystemWatcherに対し それぞれに対応するWatcher_Changed()が必要だと思っています。 従って、可変的に作成する事が出来ないのではと考えた結果です。 もしかして、複数のFileSystemWatcherで指定するフォルダのイベントは、 一つのWatcher_Changed()で全て取得出来るのでしょうか?
92 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 13:30:14 ] できるよ AddHanderでイベントにイベントハンドラを追加できる
93 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 13:35:07 ] >>91 君はオブジェクト指向脳ではないようだ。
94 名前:87 mailto:sage [2009/02/27(金) 13:51:12 ] >>92 早速確認しました。出来ました。 AddHanderの意味を良く理解出来ていなかったみたいです。 ありがとうございます。 >>93 そのようです...orz 精進します。
95 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 16:13:17 ] >>90 やはり無理でしたか。 動作はしているので、このままで様子を見てみます。 ありがとうございます。
96 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 20:38:43 ] ちなみに64bit版WindowsでDLLのロードに失敗することになる
97 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 22:09:49 ] リッチテキストボックスのどこらへんがリッチ?
98 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 22:13:15 ] まあ君の脳がプアーなのは確かだ
99 名前:デフォルトの名無しさん [2009/02/28(土) 02:26:05 ] Public Class Form1 End Class で作ったForm1の中の関数が増えてきてコードが長くなってきたので、 その中のいくつかの関数を他のファイル(ClassとかModuleでいいのかな?)に 分離したいんですけれど、たとえばModuleに一部を移動してみたんですが、 そうするとForm1が宣言されていませんっていうようなエラーするんですが、 どうしたらいいでしょうか?良い方法を教えてください
100 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 02:45:21 ] >>99 1.Partial Class を使う。 2.Form1の参照が不要な部分だけを切り出す。 3.Form1の参照を外部のSub/Functionに渡す。 sub Hoge(tform as Form1) tform.Text1.Text = "Hello" end sub
101 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 03:30:26 ] >>99-100 こういうVB脳の人はプログラミングか足洗った方がいいよ。 >>100 は最後の3.とか真面目にアドバイスのつもりで言ってるようだが、 こんなスパゲチに何も疑問感じないのならプログラマの適性がないんだわ。
102 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 03:34:15 ] 貶すだけ貶して答えもしない、毎度毎度ご苦労なことで 2ちゃんで仕事の憂さ晴らしか
103 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 06:54:10 ] MVCだよMVC
104 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 07:49:45 ] >>101 お前、会社で浮いてるだろ
105 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 08:00:05 ] 自宅が会社です
106 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 09:16:08 ] >>99 コード晒した方がいいかも
107 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 09:28:32 ] >>101 1,2,3という選択肢を用意してるのに3の答えだけ叩くアホ。
108 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 10:25:45 ] まあたしかに3はありえないな
109 名前:99 [2009/02/28(土) 11:56:57 ] みさんさん、ひとつのクラスが1万行くらいのコードになった場合、 それをひとつのファイルのままで編集するのって、混乱しませんか? 私はどっちかというと、最大でも1000行以内くらいの複数のファイル に分割するほうが何がどこにあるか把握しやすくて好きなんですが。
110 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 12:02:40 ] まずは>>100 の2にあるようにフォームに依存しないコードをクラスに切り出すのが とっかかりとしては簡単 内部の処理とフォームへの入出力を分けて考えるんだ
111 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 12:14:58 ] つかなにをどうやっても1万行とかならねぇよ
112 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 12:16:51 ] フォームにコントロールが100個あって、それぞれイベントプロシージャが 100行あれば、 なんとか1万行か・・・ 確かにありえないなw
113 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 12:42:21 ] >>109 >ひとつのクラスが1万行くらいのコードになった場合、 そうなったら自分の無能さを呪うしか。
114 名前:99 [2009/02/28(土) 12:46:42 ] >112 >フォームにコントロールが100個あって、 はい。そんな感じです。
115 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 12:51:02 ] 100個もあったらさすがに100通りの処理が必要なわけじゃないだろ? ちょっとは頭使えよ
116 名前:99 [2009/02/28(土) 13:04:08 ] では、一般的な質問として、皆さん、VB.NETでコード書いていて、合計行数が 1万行とか10万行とかなった場合、どのようにファイルを分割していますか? お勧めの方法とかありますか?
117 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 13:06:08 ] だからクラスで分ける ファイルを分けるだけじゃなくて構造的に分ける
118 名前:99 [2009/02/28(土) 13:09:32 ] ひとつのクラスが1万行とか10万行になるようなときにどうすればいいでしょうか?
119 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 13:10:49 ] それは一般にダメな設計と呼ぶ
120 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 13:18:28 ] 1万行になったことはないね コーディングする前(時)に切り分けしてる でも、1万行のコードを把握できるって凄いね
121 名前:99 [2009/02/28(土) 13:33:17 ] 仕様書にFormの上に100個のコントロールを配置するGUIのデザインが書かれていた場合、 どうしたらいいんでしょうか?
122 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 13:33:54 ] >>99 普通は少なくともFormのコードが数万行とかありえんと思うよ。 そりゃ根本的に考え方がおかしいんだよ。 Formに書いてよいのは (1) オブジェクトからのイベントはハンドリングしてオブジェクトの情報を 表示に反映するコード (2) ユーザーの入力をオブジェクトに通知するコード これだけ。これ以外のコードがあるのは設計以前の問題がある。 こういう普通の書き方をしてもFormのコードが肥大することは確かにあるけど、 そういう場合は俺ならカスタムコントロールとかユーザーコントロールに 切り分けることを考える。
123 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 13:41:23 ] >>99 は「クラス=フォーム」と思ってる気がする。
124 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 13:43:44 ] >>121 仕様がおかしい、って設計した奴に文句を言う
125 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 13:46:34 ] >>123 ああなるほどそういうことか VB使いにはよくあること
126 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 13:57:16 ] なぁ、変数に"swk"ってのよく見るんだけど、 これ何か意味あるの? i とかj みたいな感じ?
127 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 14:00:10 ] 見たことないな。書いた奴に聞けよ
128 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 14:16:53 ] もしかして:star wars kid
129 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 14:19:10 ] >>126 kwsk
130 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 16:04:52 ] streamwrite a-zにきまってるだろシロウトめが
131 名前:デフォルトの名無しさん [2009/02/28(土) 16:28:21 ] >123 違うのか?
132 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 17:00:46 ] >>130 kはなに?
133 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 17:09:51 ] >>132 きまってる のk
134 名前:デフォルトの名無しさん [2009/02/28(土) 19:06:40 ] exeファイルのアイコンがウィンドウの絵柄のアイコンなのですが これを別のものに指定してビルドする方法を教えてください。
135 名前:デフォルトの名無しさん [2009/02/28(土) 19:08:05 ] >>134 すみませんできました。
136 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 23:51:14 ] テキストボックスの背景の右上に画像を表示するにはどうしたら良いですか?
137 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 23:54:25 ] テキストボックスとリッチテキストボックスの両方で出来る方法を探しています。
138 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 00:07:08 ] プロパティの一覧ぐらい見てから聞けよ。 5分もあればあるか無いかぐらい目処が立つだろ
139 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 00:19:48 ] いや、無いので、オーナードローなりで技術的に可能にする方法を聞いているんですが・・・ テクニカルな回答をお願いします
140 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 00:25:17 ] backgroundimageではいけない理由があるってことかね
141 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 00:40:21 ] WPFだと楽に出来そうだ
142 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 00:49:58 ] テクニカルな回答って言い回しになんか笑ったw >>139 TextBoxって背景画像指定できんかったっけ? それはともかく、まあ、純粋に.NETの機能だけでは自前描画ができないのは 確かだ。OnPaint系のイベント来ないから。 でもWM_PAINT捕まえればもちろんできるよ。 たしかパパンVBとかいうとこにWM_PAINTで背景を描画するサンプルがあったと思うから (ただしTextBoxじゃなくて、2003時代のComboBoxの枠を自前で描画するサンプルだと思ったが) それあたり参考にしてみたら?
143 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 01:30:31 ] フォームにコントロール100個は居なくなったか・・・ ボタンが可変で増えたり減ったりするのは作ったことがあるが 基本を一つ作れば実現できるよな 後はパネルにフォームをNewして貼り付けていって スクロールバーをONにすればAccessのサブフォームみたいなのも出来るし
144 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 01:44:48 ] いや彼のコードの書き方には恐らく問題ありだと思うが、 コントロール100コなんて分野によってはそう変でもなければ珍しくもないと思うが。
145 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 01:57:34 ] 確かに100個ってのはあまり珍しくはないな 特に顧客情報入力画面なんかは 基本情報に受注情報に購買履歴とか言い出したら100個じゃ済まなくなるし 各項目に検査コード入れたら確かにコードは膨れそうだが
146 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 02:01:32 ] ないない。ユーザーコントロールとかにするし。