- 1 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 17:53:36 ]
- 前スレ
VB.NET質問スレ(Part28) pc11.2ch.net/test/read.cgi/tech/1229695062/l50 テンプレは>>2〜
- 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
いいから入門書買って来い無能者。
- 176 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 13:44:18 ]
- >>167
> できない DOSプロンプトでもF1〜F12、Ctrl、Shiftキーは押すはずですから、 できるとは思うんですが。 OpenVPNクライアントのコンソールアプリなんですけども、 F4キーを押せば終了するんですけど、SendKeysは受け付けないし・・・ どうなっているんでしょうか?
- 177 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 14:22:24 ]
- テキストボックスの文字列をリストボックスに表示させる方法ってある?
- 178 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 14:46:28 ]
- すごくアバウトな質問だな
改行コード事に取ってきて リストボックスにアイテム追加してったら?
- 179 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 16:32:21 ]
- >>176
>SendKeysは受け付けないし・・・ あれは、そのときアクティブなウィンドウにキー入力メッセージを送るんだが コンソールはアクティブになってるか?
- 180 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 17:02:37 ]
- Windowsファイル名でだめだった?を?にする1バイト文字→2バイト化関数は?
- 181 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 17:29:50 ]
- 日本語でおk
- 182 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 17:42:03 ]
- >>179
> >>176 > >SendKeysは受け付けないし・・・ > あれは、そのときアクティブなウィンドウにキー入力メッセージを送るんだが > コンソールはアクティブになってるか? はい、AppActivate()でアクティブになっているはずです。
- 183 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 18:00:13 ]
- 「なっているはず」ってどうなのよ?
- 184 名前:デフォルトの名無しさん [2009/03/03(火) 18:34:42 ]
- プログラムをタスクバーに表示しないようにするにはどうしたらいいですか?
あと右下の時刻が表示されてる辺りの欄にプログラムのショートカット?を表示させたいのですが それについても教えて下さい
- 185 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 18:35:47 ]
- NotifyIcon
- 186 名前:デフォルトの名無しさん [2009/03/03(火) 20:09:32 ]
- >>185
ありが!!!
- 187 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 20:12:01 ]
- 答えは出てるが時計のとか言ってる時点で…
- 188 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 20:30:52 ]
- では何といえばいいのでしょうか
- 189 名前:デフォルトの名無しさん [2009/03/03(火) 20:55:41 ]
- ホームページをダウンロードして保存するプログラムを作りたいと思っています。
今会社のPCでも使用できるようなものにしたいんですが、 会社のPCでは外部にアクセスする際、社員番号とパスワードの入力が求められてしまいます。 そこで↓のページを参考にして認証の設定を考慮したPGを組んでみたんですが エラーになってアクセスできませんでした。考えられる原因と対策を教えてください。(漠然とした質問ですいません。) dobon.net/vb/dotnet/internet/usecredentials.html
- 190 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 21:07:03 ]
- タスクトレイ
- 191 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 21:37:11 ]
- >>190
言うと思った そこの名称は通知領域だ 嘘だと思うならWindowsのスタートメニューにあるヘルプとサポートで 通知領域を検索してごらん
- 192 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 21:44:50 ]
- 複数の呼称が与えられてる可能性を思いつかない単細胞さん?
ついでに言えば、どっちかといえばタスクトレイの方が一般的だと思うけどね。
- 193 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 21:48:33 ]
- 「与えられている」と思うなら調べてみればいいよ
- 194 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 22:08:17 ]
- グロッサリ的には正しくない、ってわけね。
そこは認めざるを得ない事実みたいね。 でもMSのサイトで使われているほど普及した用語を「間違い」と否定するのも どうかと思うけどな。 英語で"tasktray"を検索すると"notification area"の約半分のヒット数が出る。
- 195 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 22:09:30 ]
- どっちでもいいよ・・・
- 196 名前:デフォルトの名無しさん [2009/03/03(火) 22:18:49 ]
- ↓どなたかお願いします
ホームページをダウンロードして保存するプログラムを作りたいと思っています。 今会社のPCでも使用できるようなものにしたいんですが、 会社のPCでは外部にアクセスする際、社員番号とパスワードの入力が求められてしまいます。 そこで↓のページを参考にして認証の設定を考慮したPGを組んでみたんですが エラーになってアクセスできませんでした。考えられる原因と対策を教えてください。(漠然とした質問ですいません。) dobon.net/vb/dotnet/internet/usecredentials.html
- 197 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 22:21:02 ]
- >>196
ウザい。エラーの内容も書かずに答えられるエスパーはそうそういない。 ま、認証の方法がまずいんだろうけど。
- 198 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 22:23:40 ]
- しつけえぇぇ
エラーコードも書かない自分のコードもさらさないってエスパーじゃねっての するとお前は「分からないならレスしないで下さい」と言うっ!w
- 199 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 22:36:03 ]
- 分からないならレスしないで下さい
ごめんw
- 200 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 22:37:49 ]
- >>199
死ね
- 201 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 22:41:57 ]
- 分かる方だけお願いします
ホームページをダウンロードして保存するプログラムを作りたいと思っています。 今会社のPCでも使用できるようなものにしたいんですが、 会社のPCでは外部にアクセスする際、社員番号とパスワードの入力が求められてしまいます。 そこで↓のページを参考にして認証の設定を考慮したPGを組んでみたんですが エラーになってアクセスできませんでした。考えられる原因と対策を教えてください。(漠然とした質問ですいません。) dobon.net/vb/dotnet/internet/usecredentials.html これ以上詳しくは書けません
- 202 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 22:45:29 ]
- >>201
原因:コードが悪い 対処:コードを直す はい、答えたから。二度と来んなハゲ
- 203 名前:デフォルトの名無しさん [2009/03/04(水) 01:12:43 ]
- 茶々入れるやつは書き込むなよ
一番迷惑
- 204 名前:デフォルトの名無しさん [2009/03/04(水) 01:13:45 ]
- >202
悩み事があるなら俺が聞いてやるぞ
- 205 名前:デフォルトの名無しさん mailto:sage [2009/03/04(水) 01:15:45 ]
- なんで>>202みたいな奴が質問スレに常駐してるのか理解に苦しむ
- 206 名前:デフォルトの名無しさん mailto:sage [2009/03/04(水) 02:34:08 ]
- どっちもどっち
- 207 名前:デフォルトの名無しさん [2009/03/04(水) 09:38:53 ]
- >201
そのページは認証が必要なページの見方 君のやりたい事は外部にでる時に認証を通すやり方 会社の外部アクセス方法に何を使ってるかが解らんと解答は無理だわ(笑)
- 208 名前:デフォルトの名無しさん mailto:sage [2009/03/04(水) 11:42:34 ]
- >>205
まともな質問に答えるためじゃないの?
- 209 名前:デフォルトの名無しさん mailto:sage [2009/03/04(水) 14:06:47 ]
- メッセージボックスの音消す方法教えてください
- 210 名前:デフォルトの名無しさん [2009/03/04(水) 16:23:03 ]
- 複数のClassで共通に使いたい構造体はどこで宣言したらいいですか?
- 211 名前:デフォルトの名無しさん mailto:sage [2009/03/04(水) 16:44:50 ]
- それらのクラスの外
- 212 名前:デフォルトの名無しさん mailto:sage [2009/03/04(水) 16:51:45 ]
- ほんとうに構造体でいいの?
.NETでは特に理由がなければクラスを使った方が効率がいいよ
- 213 名前:デフォルトの名無しさん [2009/03/04(水) 16:55:03 ]
- >211,212
ありがとうございます。 VB.NETでクラス使うプログラミング初めてなのです。 訳分からないまま、クラスで構造体宣言したら、よそでも使えました。
- 214 名前:デフォルトの名無しさん mailto:sage [2009/03/04(水) 17:08:54 ]
- ・・・・が・・・がんばれ
- 215 名前:デフォルトの名無しさん mailto:sage [2009/03/04(水) 17:10:28 ]
- とりあえずStructureの存在は忘れていいよ
正しい使い方がわかってないと確実にクラスより非効率で制限が多いだけで無意味だから
- 216 名前:デフォルトの名無しさん mailto:sage [2009/03/04(水) 17:37:43 ]
- またoo厨ですか?w
|

|