1 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 17:53:36 ] 前スレ VB.NET質問スレ(Part28) pc11.2ch.net/test/read.cgi/tech/1229695062/l50 テンプレは>>2 〜
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 ] ないない。ユーザーコントロールとかにするし。
147 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 02:04:12 ] 今作ってるのはデータベースのフィールド数が50あるから コントロールは各項目にラベルとテキストボックスORコンボボックスに グルーピング用のコンテナ入れたら余裕で100個以上あるよ ただし、ハンドル使い回すのでコードなんて30もないと思う
148 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 02:27:23 ] >>147 >コードなんて30もないと思う 単位は何?行?
149 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 02:37:40 ] ユーザーコントロールとかそれこそやらないな。 まずは各要素を動的に生成して、それぞれ処理を共通化出来ないかを摸索するな。
150 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 04:12:15 ] ユーザーコントロールは使わないなあ 動的にコントロールを追加したり削除したりするときは めんどくさいから必要なもんまとめとくのに使うことはあるけど ただの入力フォームならポトペタの方が圧倒的に早いし データソースウィンドウからドラッグすれば必要なコントロールが一発でそろうし 勝手にバインドしてくれるし
151 名前:デフォルトの名無しさん [2009/03/01(日) 11:29:34 ] >100,122 どうもありがとうございました。 2.Form1の参照が不要な部分だけを切り出す。 という作戦を使って一つの長いファイルを複数のファイルに 分割できました。ありがとうございました。
152 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 14:07:51 ] DotNetBar for Windows Forms って使ってる人います? デモ版入れて少し触ってみた範囲では大丈夫でしたが、 実際に使っている人の話が聞ければと...
153 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 14:51:39 ] おれは処理は全部モジュールに書いてフォーム側はそれを 呼び出すだけにしてるけどな でないとあっち見てこっち見てが面倒なんで でモジュール側はregionでまとめて
154 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 15:06:29 ] もう>>151 みたいな書き方とか標準モジュールとか使うVB脳の人はプログラマ辞めてw 気づいてないかもしれないけど周囲の迷惑だよ。 >122に書いたように最低限オーソドックスにOOPしてよ。
155 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 15:07:01 ] クラスじゃなくてモジュール?
156 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 15:10:40 ] しかし標準モジュールは便利でな・・・
157 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 15:11:25 ] たとえばログイン画面があるとする VB厨はフォームに全部書く。 ログイン処理はログインボタンのイベントハンドラに書く。 OO厨はユーザーIDプロパティとパスワードプロパティとログインメソッドを持つ ログインクラス書く。 ログインフォームはログインクラスをインスタンス化して ユーザーIDとパスワードをセットしてログインメソッドを呼ぶ。
158 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 15:24:56 ] >>157 設計しだいだけどさ〜 ログインクラスにログインメソッドっておかしくね?
159 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 15:27:07 ] Commandパターンとかなら
160 名前:デフォルトの名無しさん [2009/03/01(日) 22:29:29 ] >154 オマイのコードをここに貼って見せてくれよ
161 名前:デフォルトの名無しさん mailto:sage [2009/03/02(月) 01:35:07 ] OO厨って何よ? わかる日本語で書いてくれ
162 名前:デフォルトの名無しさん mailto:sage [2009/03/02(月) 01:43:23 ] >>154 おまえC#の初心者用でも初心者煽ってる奴だろ
163 名前:デフォルトの名無しさん mailto:sage [2009/03/02(月) 07:08:58 ] OO厨とは d.hatena.ne.jp/keyword/OO%BF%DF
164 名前:デフォルトの名無しさん [2009/03/02(月) 15:25:01 ] .NET 全般、標準入出力に関する質問になるのですがよろしくお願いします。 ネットで調べて、「System.Diagnostics.Process」を使用し、 コンソールプロセスを起動し、標準出力用スレッド、標準入力スレッド を立てて、通常のテキストのやり取りをするPGは作成できました。 そこで、コンソールにF1やF2などのファンクションキー押下を標準入力に 渡したいのですが方法が分かりません p.StandardInput.WriteLine(Chr(Keys.F1)) ' F1を送る などとやっても駄目でした。 ご回答、アドバイス、よろしくお願いいたします。
165 名前:デフォルトの名無しさん mailto:sage [2009/03/02(月) 16:33:02 ] >>164 F1の「キーコード」はそれで送れると思うが。 だからってF1押したことにはならんけどな。 もしそういう目的なら、SendKeys.Send 使え。
166 名前:デフォルトの名無しさん mailto:sage [2009/03/02(月) 21:11:20 ] >>165 >F1の「キーコード」はそれで送れると思うが。 >だからってF1押したことにはならんけどな。 そうです、そうなんです。 p.StandardInput.WriteLine で SendKeys.Send みたいなことができないでしょうか?
167 名前:デフォルトの名無しさん mailto:sage [2009/03/02(月) 21:30:38 ] できない
168 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 00:45:37 ] ある文字列をWindowsファイル名に使っていい文字だけの文字列にする関数やプログラムは?
169 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 00:49:35 ] んなもん、ヘルプ見て使っちゃいけない文字リスト見れば一発だろ。
170 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 01:01:29 ] >>168 1文字ずつ作ってみれば?
171 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 03:15:47 ] ランダムな値を返さない dim i,iR as integer For i = 1 To 10000 Dim Ra As New System.Random iR = Ra.Next(1, 4) S &= iR & " " Next リッチテキスト=S
172 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 10:59:00 ] Randomクラスをループの中でインスタンス化するな Randomのシードは時刻に依存してるのであまり短い間隔で新しく作るとシードが同じになる 何より毎回作ると遅い ループの外で作って使い回せ
173 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 11:09:00 ] >>168 path.IndexOfAny(IO.Path.GetInvalidPathChars()) または filename.IndexOfAny(IO.Path.GetInvalidFileNameChars()) でチェックし、0以上の値が返ってきたら、その文字を変更。
174 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 12:21:26 ] printlinetextbox1test.txtに保存するにはどうしたらいいでしょうか?
175 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 12:36:37 ] >>174 いいから入門書買って来い無能者。