VB.NET質問スレ(Part29) at TECH
[2ch|▼Menu]
1:デフォルトの名無しさん
09/02/21 17:53:36
前スレ

VB.NET質問スレ(Part28)
スレリンク(tech板)l50

テンプレは>>2

2:デフォルトの名無しさん
09/02/21 17:53:59
MSDN
URLリンク(msdn.microsoft.com)
どぼん!のVB道のトップページとTipsページ
URLリンク(dobon.net)
URLリンク(dobon.net)
Insider.NET
URLリンク(www.atmarkit.co.jp)
宇宙仮面の C# プログラミング
URLリンク(uchukamen.com)
.NET TIPS
URLリンク(www.atmarkit.co.jp)
緑のバイク ★ 初めてのC# プログラム全般
URLリンク(homepage3.nifty.com)
VB.NETとC#でデザインパターン
URLリンク(hccweb1.bai.ne.jp)
匣の向こう側
URLリンク(www.ne.jp)
WisdomSoft
URLリンク(wisdom.sakura.ne.jp)
じゃんぬねっと
URLリンク(jeanne.wankuma.com)
どっとねっとふぁん - C# Tips And Samples -
URLリンク(homepage3.nifty.com)
URLリンク(dotnetfan.org)
C#プログラミングTips
URLリンク(www.atmarkit.co.jp)

3:デフォルトの名無しさん
09/02/21 17:54:21
CodeProject
URLリンク(www.codeproject.com)
the GotDotNet Home Page
URLリンク(www.gotdotnet.com)
KEN's .NET
URLリンク(www5b.biglobe.ne.jp)
Cetus Links: 19,498 Links on Objects and Components / .NET
URLリンク(www.cetus-links.org)
HIRO's.NET
URLリンク(vbdotnet.fc2web.com)
@IT:特集 .NET開発者のためのオンライン・リソース・ガイド
URLリンク(www.atmarkit.co.jp)
.NETでいきまっしょい!
URLリンク(santamartadotnet.hp.infoseek.co.jp)
これがほしかった!厳選サンプルツール集
URLリンク(anetm.com)
ぬーやんのdotNET講座
URLリンク(www.geocities.jp)
PINVOKE.NET
URLリンク(www.pinvoke.net)
WinAPI Database for VB Programmer
URLリンク(www.winapi-database.com)

4:デフォルトの名無しさん
09/02/21 17:54:45
Windows Api programming in C# , VB.NET, and VB6. Examples of P/Invoke and DllImport with Source code
URLリンク(custom.programming-in.net)
CodeZine
URLリンク(codezine.jp)
ConvertCSharp2VB
URLリンク(www.kamalpatel.net)
@IT:.NET Tools
URLリンク(www.atmarkit.co.jp)
SharpLibrary Redirector
URLリンク(www.sharplibrary.com)
MSDN アカデミック アライアンス 技術資料
URLリンク(www.microsoft.com)
「300 秒でズバリ !!」&「10 行でズバリ !!」シリーズ
(VS2005) URLリンク(www.microsoft.com)
(VS.NET 2003) URLリンク(www.microsoft.com)
PAPA'n VB
URLリンク(papanvb.i-love-vb.net)
(旧コンテンツ) URLリンク(www.mitene.or.jp)
VB レスキュー花ちゃん
URLリンク(www.bcap.co.jp)
VB中学校
URLリンク(homepage1.nifty.com)
初心者から中級者のためのVB
URLリンク(www7b.biglobe.ne.jp)

5:デフォルトの名無しさん
09/02/21 18:13:16
          旦 旦 旦 旦 旦
          旦 旦 旦 旦 旦
           旦 旦 旦 旦 旦
           旦 旦 旦 旦 旦
          旦 旦 旦 旦 旦
           旦 旦 旦 旦 旦
          旦 旦 旦 旦 旦
.   ∧_∧   旦 旦 旦 旦 旦
   ( ´・ω・ ).  旦 旦 旦 旦 旦
.   /ヽ○==○ 旦 旦 旦 旦 旦
  /  ||_ |_ 旦 旦 旦 旦 旦
  し' ̄(_))  ̄(_))  ̄(_))  ̄(_))


6:デフォルトの名無しさん
09/02/21 18:50:02
2008と .netの違いは何ですか?

7:デフォルトの名無しさん
09/02/21 19:01:10
>6
スレリンク(tech板:60-67番)

8:デフォルトの名無しさん
09/02/21 19:47:52
>7
なるほど、6以降を境に分けているということは、6以降は区別するしてどんなところが違うのですか


9:デフォルトの名無しさん
09/02/21 20:04:00
6までは専用のランタイムが必要、VB.NET(7)以降は、.NET Framework が必要

10:デフォルトの名無しさん
09/02/21 20:09:43
おしえて偉い人

もう使わないってんでVB6を知り合いにもらったんだが
2008無料ならもしかして6入れずに2008使った方がいい?


11:デフォルトの名無しさん
09/02/21 20:18:07
6と2008は全くの別物

12:デフォルトの名無しさん
09/02/21 20:31:03
今更 VB6 使う意味はほとんどないよ。

13:デフォルトの名無しさん
09/02/21 20:31:56
じゃ2008をいんすとしてみる

14:13
09/02/21 21:22:41
2008入れたけどこれヘルプ日本語にできないのかしら?

15:デフォルトの名無しさん
09/02/22 03:41:50
できるよ。更新しな

16:デフォルトの名無しさん
09/02/22 12:16:27
vb.netでこれ↓
Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)

を使用してメッセージを監視してるんですが
他のウィンドウをアクティブにするとメッセージを取得してくれなくなってしまいます。

他のウィンドウがアクティブになっていてもメッセージを取得できるようにするには
どうしたらいいですか?


17:デフォルトの名無しさん
09/02/22 12:23:25
グローバルフック

18:デフォルトの名無しさん
09/02/22 12:26:06
API スレでも言われてたけど、単にメッセージが飛んできてないだけじゃないの?

19:デフォルトの名無しさん
09/02/22 15:17:24
1 CaptureScreen()
2 PrintPreviewDialog1.Document = PrintDocument1
3 PrintPreviewDialog1.Show()

こんな感じのフォームのハードコピーみたいなのをつくろうとしてるのですが
印刷のプレビューダイヤログは出るのですが、
プレビューダイヤログを閉じて
フォームの印刷ボタンを押して再びダイヤログを出そうとすると

'System.ObjectDisposedException' の初回例外が System.Windows.Forms.dll で発生しました。

ようになります。
プレビューウィンドウが閉じられているのにフォームのボタンでまた開こうとしていることが
原因なのは理解していますが、2度目また開けようとして
怒られないようにするにはどのような処理をするとよいのでしょうか?

20:19
09/02/22 15:19:48
123は印刷ボタン押したときのコードです

初回例外云々は3に対して言われました。

ごめんなさい自分でもよくわからないのですが、一応自分でわかる範囲で説明してみました
言いたいことが伝わっているといいなあ

21:デフォルトの名無しさん
09/02/22 20:35:54
埋まったけど立てられなかった。誰か頼む。

Excel VBA質問スレ Part9
スレリンク(tech板)

22:デフォルトの名無しさん
09/02/22 21:10:26
イラネ

23:デフォルトの名無しさん
09/02/23 10:56:53
どう直せばいいんでしょうか。
グリッドに表示してるデータをmdbに書き込みたいんだけど
↓すでに別のテーブルに属しています、とでます。

Dim oDataSet As DataSet = DataGrid1.DataSource
Dim oConn As New OleDbConnection()
Dim oCommand As New OleDbCommand()
Dim oDataAdapter As New OleDbDataAdapter()
Dim Builder As New OleDbCommandBuilder(oDataAdapter)
'DB接続文字列の設定
'プロジェクトファイルフォルダ下にあるbinフォルダにsample.mdbを置く
oConn.ConnectionString = _
"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + _
Application.StartupPath + "\ざいこ.mdb"
'コネクションの設定
oCommand.Connection = oConn
'データテーブル取得
Dim dt As DataTable = oDataSet.Tables(0)
Dim dt2 As DataTable = oDataSet.Tables(0)
Dim i As Integer = 0
For i = 0 To dt.Rows.Count - 1
Dim newrow As DataRow = dt2.NewRow
Dim j As Integer = 0
For j = 0 To 4
newrow.Item(j) = dt.Rows(i).Item(j)
dt2.Rows.Add(newrow)
Next
Next
'データをmdbへ
oDataAdapter.SelectCommand = oCommand
oDataAdapter.Update(dt2)

24:デフォルトの名無しさん
09/02/23 14:50:55
FtpWebRequestでUbuntuのFTPサーバーproftpdに
日本語ファイル名のファイルを送信すると
文字化けしたファイル名のファイルができてしまいます。

ソースはほぼ
URLリンク(dobon.net)
のままです。
文字化けしないようにできないでしょうか?

25:デフォルトの名無しさん
09/02/23 20:02:27
>>24
ftp サーバーの設定を見直す

26:デフォルトの名無しさん
09/02/23 23:16:44
RichTextBoxで

ABC

B
だけ緑色にするプログラムは?

27:デフォルトの名無しさん
09/02/23 23:33:20
質問よろしいでしょうか?
ネットワークに接続する環境の無いPCで、VB2008で作成したプログラムを動かしたいのですが、
.NetFrameworkがインストールできず起動できません。
他のPCでMSのサイトから.NetFrameworkをDLしてUSBメモリで上記のPCに移し変えて実行しても、
結局ダウンロードが始まりインストールできません。
何か方法はございますでしょうか?

28:デフォルトの名無しさん
09/02/23 23:37:25
このfull packageは試してみました?
URLリンク(www.microsoft.com)


29:デフォルトの名無しさん
09/02/23 23:54:06
>>26
タグだよ

30:デフォルトの名無しさん
09/02/24 08:24:22
>>25
thx
Ubuntuスレにマルチポストしてきました。

31:デフォルトの名無しさん
09/02/24 12:10:15
秀丸やサクラエディタのように、文中でハイパーリンクさせるにはどのような方法を
取っているんでしょうか?

リッチテキストでは、txtふぁいるではなくなってしまうし・・・。

32:デフォルトの名無しさん
09/02/24 12:19:52
秀丸やサクラがVBで作られてるのか?

どうでもいいが、
一度リッチテキストで表示すると、テキストに戻して保存するのは不可能なのか? そんなわけがないだろう

33:デフォルトの名無しさん
09/02/24 12:47:43
ちなみにふつーのエディタは全て自前描画する

そういえばAzukiってエディタエンジンがあるらしいがどうなんだろうな

34:27
09/02/24 15:27:54
>>28
無事解決しました!
ありがとうございました!
full packageなんてのがあったんですね。
ほんと助かりました。

35:デフォルトの名無しさん
09/02/24 22:23:28
System.IO.Directory.GetFiles()
を使って、あるフォルダ以下の、特定のファイル名を持つファイルを
全部取り出そうと思ったのですが、アクセスできないファイルかフォルダ
があると例外が発生してしまいます。どうしたらいいでしょうか?

36:デフォルトの名無しさん
09/02/24 22:45:59
人に質問するときには「取り出す」とかいった「俺様用語」は使わないこと。

質問文は「困っているボキュの気持ち」ではなく、「発生している問題の内容」が
伝わるように書くこと。

常識だろ。

37:デフォルトの名無しさん
09/02/24 23:01:01
例外をトラップすればいいんじゃね?

38:デフォルトの名無しさん
09/02/24 23:36:21
ボタンが無数にあるのですが、
全部同じことを実行させたいので
全部のイベントプロシージャを書くのが大変なのですが
一つにまとめるにはどうしたらいいでしょうか。

Private Sub Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button.Click
shori()
End Sub

こんな風にできないですか?


39:デフォルトの名無しさん
09/02/24 23:51:03
>>38
handlesにずらずら書いてくだけだろ

40:デフォルトの名無しさん
09/02/25 00:12:48
>>38
値/参照渡しの場合

Private Sub shori (ByVal xStr as String ,-必要数受け取る変数を宣言-)
-処理プログラム-
End Sub


戻り値を持たせる場合
Private Function shori (ByVal xStr as String ,-必要数受け取る変数を宣言-)
-処理プログラム-
Return -プロシージャに戻す値-
End Function

41:デフォルトの名無しさん
09/02/25 00:13:37
Loadイベントあたりで AddHandlerでもすれば?

42:デフォルトの名無しさん
09/02/25 00:16:02
指定したフォルダに対して、そのフォルダ内やそのサブフォルダ内に
含まれるファイル数、フォルダ数の総計を求める方法を教えてくれ

43:デフォルトの名無しさん
09/02/25 00:25:28
>42
ggtytzks
URLリンク(www.google.co.jp)

44:デフォルトの名無しさん
09/02/25 00:37:16
>43
ggtekureteureshizoks

45:デフォルトの名無しさん
09/02/25 01:07:21
この回答の#2ってどういう意味?
なんで+3したら3秒後ってことになるの?
URLリンク(oshiete1.goo.ne.jp)

46:デフォルトの名無しさん
09/02/25 09:49:05
少なくともVB.NETでは動かないから無視しておk

47:デフォルトの名無しさん
09/02/25 18:27:48
グローバルフックってどうやるんですか?

48:デフォルトの名無しさん
09/02/25 18:29:03
ぐぐれ

49:デフォルトの名無しさん
09/02/25 19:50:48
2003では配布する時Microsoft.VisualBasic.Compatibility.dll無いと
ダメだったけど2005以降も同じ?
それと\binにxxx.VSHOST.exeとxxx.xmlも出来るけどこれは不要?

50:デフォルトの名無しさん
09/02/25 20:10:36
>>48
探したけどVB.netで
グローバルフックする方法がのってないんです

51:デフォルトの名無しさん
09/02/25 20:13:10
どう探したのやら
vb.net グローバルフック
だけでも必要十分な情報は手に入るのに

52:デフォルトの名無しさん
09/02/25 20:30:37
>>49
.NET2.0SP2現在はデフォで入ってるな。
最初からそうだったか途中のSPからそうだったかは記憶にない。
ちなみにClient Profileには入ってなかった・・・誰も使ってないから問題ないが

53:デフォルトの名無しさん
09/02/25 20:33:51
>>51
すいません見つかりませんでした。
どこかにサンプルコードとか載ってるところとかありませんか?

54:デフォルトの名無しさん
09/02/25 20:44:06
「VB.NETで」と限定するのが間違い
C#やC++みたいな他の言語で書かれてるのが読めないレベルの人がやるようなことじゃない

55:デフォルトの名無しさん
09/02/25 23:41:49
文字列の文字数をそろえたいのですがそれようの関数があったら教えてください
全部5桁にしたい場合
「ABC」を「ABC  」に直したり
「AB」を「AB   」にしたいです。


56:デフォルトの名無しさん
09/02/25 23:49:13
String.PadLeft(5)

57:デフォルトの名無しさん
09/02/26 00:42:53
結論として、VB.NET でグローバルフックは無理。

58:デフォルトの名無しさん
09/02/26 01:11:19
VS2008 Expressで、.NET 3.5のフォームアプリを勉強しています。
MDIアプリの作成を練習しているのですが、MDI親フォームに、ちょうど
VS2008のツールボックスやエラー一覧のようなフォーム?を表示させたいのですが、
アレは普通のフォームとして作成するのでしょうか。
それとも何か特殊なコンポーネントを使用しているのでしょうか。



59:デフォルトの名無しさん
09/02/26 01:15:14
>>56
ありがとうございます。試してみます。

60:デフォルトの名無しさん
09/02/26 02:56:50
日本語をつかったURLが解禁になるけど
タグなどのないプルーンなテキストの日本語長文の中からURLを抽出するのはどうやるの?


61:デフォルトの名無しさん
09/02/26 09:39:29
>日本語をつかったURLが解禁になるけど
なん…だと?

62:デフォルトの名無しさん
09/02/26 09:41:12
http:で始まったらURLでいいんじゃね?

ftpの場合はftp:になるんかな?

63:デフォルトの名無しさん
09/02/26 09:52:16
>>58
>それとも何か特殊なコンポーネントを使用しているのでしょうか。
その通り。MDIではできません。あのような機能はドッキング(docking)と呼ばれます。
キーワードは出したよ

64:デフォルトの名無しさん
09/02/26 10:41:26
>>62
開始位置はいいとして終了位置はどう見分ける?

65:デフォルトの名無しさん
09/02/26 10:44:16
>>64
改行とかダブルコートかのう

66:デフォルトの名無しさん
09/02/26 10:53:26
URLリンク(tools.ietf.org)
この辺を見て粛々と

67:デフォルトの名無しさん
09/02/26 13:58:15
CheckListBoxに表示されている複数のチェックボックスを
一発で全部チェック入れる方法を教えてくれ

68:デフォルトの名無しさん
09/02/26 14:01:58
CheckedListBoxでいいのか?
BeginUpdateしてからループまわせ

69:デフォルトの名無しさん
09/02/26 17:13:50
すいません。
初心者なんですが、VCからVBにソースを変換してるんですが

>public class AAAA : BBBB
の、「:BBBB」というのはVBだとどう書けばよろしいでしょうか?



70:デフォルトの名無しさん
09/02/26 17:18:11
Public Class AAAA
Inherits BBBB

71:デフォルトの名無しさん
09/02/26 17:21:39
ありがとうです。


72:デフォルトの名無しさん
09/02/26 17:29:30
>>70-71
それじゃ public 継承になるが…いいのか?

73:デフォルトの名無しさん
09/02/26 17:33:33
public classとか書いてる時点でC#なのは確定的に明らか

74:デフォルトの名無しさん
09/02/26 17:33:53
というか意味がわかってればぐぐればすぐわかるってことは
意味がわかってないということで
そんなことで大丈夫なのか

75:デフォルトの名無しさん
09/02/26 17:43:41
まあいいんじゃないw
移植は結構鍛えられる

76:デフォルトの名無しさん
09/02/26 17:48:37
だってVCもVBもわかってないってことでしょ
どっちかわかってないとつらいよなw

77:72
09/02/26 17:58:23
>>73
おお、そういやそうだ。失敬。

78:デフォルトの名無しさん
09/02/26 19:02:56
integerじゃなくshortをつかわければならない
CPUやメモリっていうのはどれぐらい?

79:デフォルトの名無しさん
09/02/26 19:45:08
どれぐらい?って?

80:デフォルトの名無しさん
09/02/26 21:17:00
あれぐらい

81:デフォルトの名無しさん
09/02/26 21:35:23
質問させて下さい。
WindowsServer2008上でアプリ(定期的にデータを変換するソフト)を動かしています。
ユーザーがダブルクリックで実行した場合には正常に動作しています。
しかし、VBで作った自動起動ツールから、そのソフトを起動させると、
外観は正常なのですが、動作ログや出力ファイルになにも書き込まれません。
どういった原因が考えられるのでしょうか?
お願いしますです。

82:デフォルトの名無しさん
09/02/26 21:43:58
アクセス許可

83:デフォルトの名無しさん
09/02/26 21:44:24
カレントディレクトリ

84:デフォルトの名無しさん
09/02/26 22:46:21
複数のstring にPadRightして、長さをそろえてMSゴシックでLABELに
表示したいのだが、全角文字や半角文字が混じっていると、長さが
微妙にずれるのを解消する方法を教えてくれ


85:デフォルトの名無しさん
09/02/26 22:52:36
そういうのはPadRightじゃなくてTextAlign使おう

86:デフォルトの名無しさん
09/02/27 12:30:18
失礼します。
VisualBasic 2008 Expressを使用しています。
参照アセンブリ '***.dll' は、アプリケーションとは異なるプロセッサをターゲットにしています
と、いう警告が出ています。
調べたところ

>対策方法ですが、32ビットOSだけを対象にするのであれば、[プロジェクトのプロパティ]を開き、[コンパイル]から[詳細コンパイルオプション]ボタンをクリックし、
>[ターゲットCPU]をAnyCPUからx86に変更すれば警告は出なくなると思われます。
URLリンク(social.msdn.microsoft.com)

と、あるのですが2008Expressで詳細コンパイルオプションの中にはこの項目が見当たりません。
どこか他の場所にあるのでしょうか?それともExpressでは設定できないのでしょうか?
よろしくお願いします。

87:デフォルトの名無しさん
09/02/27 12:30:18
複数フォルダの複数ファイルの更新状況を一つのスレッドで監視したいと考えています。

[FileSystemWatcher]のインスタンス一つを利用して、
一度に複数フォルダの複数ファイルを監視(イベント取得)する事は出来るのでしょうか?
出来るとしたらどの様な方法がありますか?

また、出来ないとしたら、フォルダ毎のインスタンスを用意してそれぞれのイベントを個々に監視する。
、スレッドで起動するなどの方法になるのでしょうか?

88:デフォルトの名無しさん
09/02/27 12:41:52
>>84
ポイントサイズを3の倍数にするとかなんとかムニャムニャ

89:デフォルトの名無しさん
09/02/27 12:56:39
>>87
ひとつのFileSystemWatcherにつき一つのディレクトリだが、
そもそもなんで複数のFileSystemWatcherを作りたくないんだ?

90:デフォルトの名無しさん
09/02/27 13:05:06
>>86
Expressじゃ無理だったはず
.vbprojのPlatform要素書き換えればいけるかもしれんがどうだろうな

91:87
09/02/27 13:28:08
>>89
監視するフォルダはDBで管理し継続的に増えます。

認識違いをしているかもしれませんが、
FileSystemWatcherのWatcher_Changed()は、複数インスタンス化したFileSystemWatcherに対し
それぞれに対応するWatcher_Changed()が必要だと思っています。
従って、可変的に作成する事が出来ないのではと考えた結果です。

もしかして、複数のFileSystemWatcherで指定するフォルダのイベントは、
一つのWatcher_Changed()で全て取得出来るのでしょうか?

92:デフォルトの名無しさん
09/02/27 13:30:14
できるよ
AddHanderでイベントにイベントハンドラを追加できる

93:デフォルトの名無しさん
09/02/27 13:35:07
>>91
君はオブジェクト指向脳ではないようだ。

94:87
09/02/27 13:51:12
>>92
早速確認しました。出来ました。
AddHanderの意味を良く理解出来ていなかったみたいです。
ありがとうございます。

>>93
そのようです...orz
精進します。

95:デフォルトの名無しさん
09/02/27 16:13:17
>>90
やはり無理でしたか。
動作はしているので、このままで様子を見てみます。
ありがとうございます。

96:デフォルトの名無しさん
09/02/27 20:38:43
ちなみに64bit版WindowsでDLLのロードに失敗することになる

97:デフォルトの名無しさん
09/02/27 22:09:49
リッチテキストボックスのどこらへんがリッチ?

98:デフォルトの名無しさん
09/02/27 22:13:15
まあ君の脳がプアーなのは確かだ

99:デフォルトの名無しさん
09/02/28 02:26:05
Public Class Form1

End Class
で作ったForm1の中の関数が増えてきてコードが長くなってきたので、
その中のいくつかの関数を他のファイル(ClassとかModuleでいいのかな?)に
分離したいんですけれど、たとえばModuleに一部を移動してみたんですが、
そうするとForm1が宣言されていませんっていうようなエラーするんですが、
どうしたらいいでしょうか?良い方法を教えてください

100:デフォルトの名無しさん
09/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:デフォルトの名無しさん
09/02/28 03:30:26
>>99-100
こういうVB脳の人はプログラミングか足洗った方がいいよ。

>>100は最後の3.とか真面目にアドバイスのつもりで言ってるようだが、
こんなスパゲチに何も疑問感じないのならプログラマの適性がないんだわ。

102:デフォルトの名無しさん
09/02/28 03:34:15
貶すだけ貶して答えもしない、毎度毎度ご苦労なことで

2ちゃんで仕事の憂さ晴らしか

103:デフォルトの名無しさん
09/02/28 06:54:10
MVCだよMVC

104:デフォルトの名無しさん
09/02/28 07:49:45
>>101
お前、会社で浮いてるだろ

105:デフォルトの名無しさん
09/02/28 08:00:05
自宅が会社です

106:デフォルトの名無しさん
09/02/28 09:16:08
>>99
コード晒した方がいいかも

107:デフォルトの名無しさん
09/02/28 09:28:32
>>101
1,2,3という選択肢を用意してるのに3の答えだけ叩くアホ。

108:デフォルトの名無しさん
09/02/28 10:25:45
まあたしかに3はありえないな

109:99
09/02/28 11:56:57
みさんさん、ひとつのクラスが1万行くらいのコードになった場合、
それをひとつのファイルのままで編集するのって、混乱しませんか?
私はどっちかというと、最大でも1000行以内くらいの複数のファイル
に分割するほうが何がどこにあるか把握しやすくて好きなんですが。

110:デフォルトの名無しさん
09/02/28 12:02:40
まずは>>100の2にあるようにフォームに依存しないコードをクラスに切り出すのが
とっかかりとしては簡単
内部の処理とフォームへの入出力を分けて考えるんだ

111:デフォルトの名無しさん
09/02/28 12:14:58
つかなにをどうやっても1万行とかならねぇよ

112:デフォルトの名無しさん
09/02/28 12:16:51
フォームにコントロールが100個あって、それぞれイベントプロシージャが 100行あれば、
なんとか1万行か・・・

確かにありえないなw

113:デフォルトの名無しさん
09/02/28 12:42:21
>>109
>ひとつのクラスが1万行くらいのコードになった場合、
そうなったら自分の無能さを呪うしか。

114:99
09/02/28 12:46:42
>112
>フォームにコントロールが100個あって、
はい。そんな感じです。

115:デフォルトの名無しさん
09/02/28 12:51:02
100個もあったらさすがに100通りの処理が必要なわけじゃないだろ?
ちょっとは頭使えよ

116:99
09/02/28 13:04:08
では、一般的な質問として、皆さん、VB.NETでコード書いていて、合計行数が
1万行とか10万行とかなった場合、どのようにファイルを分割していますか?
お勧めの方法とかありますか?



117:デフォルトの名無しさん
09/02/28 13:06:08
だからクラスで分ける
ファイルを分けるだけじゃなくて構造的に分ける

118:99
09/02/28 13:09:32
ひとつのクラスが1万行とか10万行になるようなときにどうすればいいでしょうか?

119:デフォルトの名無しさん
09/02/28 13:10:49
それは一般にダメな設計と呼ぶ

120:デフォルトの名無しさん
09/02/28 13:18:28
1万行になったことはないね
コーディングする前(時)に切り分けしてる

でも、1万行のコードを把握できるって凄いね

121:99
09/02/28 13:33:17
仕様書にFormの上に100個のコントロールを配置するGUIのデザインが書かれていた場合、
どうしたらいいんでしょうか?

122:デフォルトの名無しさん
09/02/28 13:33:54
>>99
普通は少なくともFormのコードが数万行とかありえんと思うよ。
そりゃ根本的に考え方がおかしいんだよ。
Formに書いてよいのは

(1) オブジェクトからのイベントはハンドリングしてオブジェクトの情報を
 表示に反映するコード

(2) ユーザーの入力をオブジェクトに通知するコード

これだけ。これ以外のコードがあるのは設計以前の問題がある。

こういう普通の書き方をしてもFormのコードが肥大することは確かにあるけど、
そういう場合は俺ならカスタムコントロールとかユーザーコントロールに
切り分けることを考える。

123:デフォルトの名無しさん
09/02/28 13:41:23
>>99 は「クラス=フォーム」と思ってる気がする。

124:デフォルトの名無しさん
09/02/28 13:43:44
>>121
仕様がおかしい、って設計した奴に文句を言う

125:デフォルトの名無しさん
09/02/28 13:46:34
>>123
ああなるほどそういうことか
VB使いにはよくあること

126:デフォルトの名無しさん
09/02/28 13:57:16
なぁ、変数に"swk"ってのよく見るんだけど、
これ何か意味あるの?
i とかj みたいな感じ?

127:デフォルトの名無しさん
09/02/28 14:00:10
見たことないな。書いた奴に聞けよ

128:デフォルトの名無しさん
09/02/28 14:16:53
もしかして:star wars kid

129:デフォルトの名無しさん
09/02/28 14:19:10
>>126
kwsk

130:デフォルトの名無しさん
09/02/28 16:04:52
streamwrite a-zにきまってるだろシロウトめが

131:デフォルトの名無しさん
09/02/28 16:28:21
>123
違うのか?

132:デフォルトの名無しさん
09/02/28 17:00:46
>>130
kはなに?

133:デフォルトの名無しさん
09/02/28 17:09:51
>>132
きまってる のk

134:デフォルトの名無しさん
09/02/28 19:06:40
exeファイルのアイコンがウィンドウの絵柄のアイコンなのですが
これを別のものに指定してビルドする方法を教えてください。

135:デフォルトの名無しさん
09/02/28 19:08:05
>>134
すみませんできました。

136:デフォルトの名無しさん
09/02/28 23:51:14
テキストボックスの背景の右上に画像を表示するにはどうしたら良いですか?


137:デフォルトの名無しさん
09/02/28 23:54:25
テキストボックスとリッチテキストボックスの両方で出来る方法を探しています。

138:デフォルトの名無しさん
09/03/01 00:07:08
プロパティの一覧ぐらい見てから聞けよ。
5分もあればあるか無いかぐらい目処が立つだろ

139:デフォルトの名無しさん
09/03/01 00:19:48
いや、無いので、オーナードローなりで技術的に可能にする方法を聞いているんですが・・・
テクニカルな回答をお願いします

140:デフォルトの名無しさん
09/03/01 00:25:17
backgroundimageではいけない理由があるってことかね

141:デフォルトの名無しさん
09/03/01 00:40:21
WPFだと楽に出来そうだ

142:デフォルトの名無しさん
09/03/01 00:49:58
テクニカルな回答って言い回しになんか笑ったw

>>139
TextBoxって背景画像指定できんかったっけ?

それはともかく、まあ、純粋に.NETの機能だけでは自前描画ができないのは
確かだ。OnPaint系のイベント来ないから。

でもWM_PAINT捕まえればもちろんできるよ。
たしかパパンVBとかいうとこにWM_PAINTで背景を描画するサンプルがあったと思うから
(ただしTextBoxじゃなくて、2003時代のComboBoxの枠を自前で描画するサンプルだと思ったが)
それあたり参考にしてみたら?

143:デフォルトの名無しさん
09/03/01 01:30:31
フォームにコントロール100個は居なくなったか・・・
ボタンが可変で増えたり減ったりするのは作ったことがあるが
基本を一つ作れば実現できるよな
後はパネルにフォームをNewして貼り付けていって
スクロールバーをONにすればAccessのサブフォームみたいなのも出来るし

144:デフォルトの名無しさん
09/03/01 01:44:48
いや彼のコードの書き方には恐らく問題ありだと思うが、
コントロール100コなんて分野によってはそう変でもなければ珍しくもないと思うが。

145:デフォルトの名無しさん
09/03/01 01:57:34
確かに100個ってのはあまり珍しくはないな
特に顧客情報入力画面なんかは
基本情報に受注情報に購買履歴とか言い出したら100個じゃ済まなくなるし
各項目に検査コード入れたら確かにコードは膨れそうだが


146:デフォルトの名無しさん
09/03/01 02:01:32
ないない。ユーザーコントロールとかにするし。

147:デフォルトの名無しさん
09/03/01 02:04:12
今作ってるのはデータベースのフィールド数が50あるから
コントロールは各項目にラベルとテキストボックスORコンボボックスに
グルーピング用のコンテナ入れたら余裕で100個以上あるよ
ただし、ハンドル使い回すのでコードなんて30もないと思う

148:デフォルトの名無しさん
09/03/01 02:27:23
>>147
>コードなんて30もないと思う
単位は何?行?

149:デフォルトの名無しさん
09/03/01 02:37:40
ユーザーコントロールとかそれこそやらないな。

まずは各要素を動的に生成して、それぞれ処理を共通化出来ないかを摸索するな。


150:デフォルトの名無しさん
09/03/01 04:12:15
ユーザーコントロールは使わないなあ
動的にコントロールを追加したり削除したりするときは
めんどくさいから必要なもんまとめとくのに使うことはあるけど
ただの入力フォームならポトペタの方が圧倒的に早いし
データソースウィンドウからドラッグすれば必要なコントロールが一発でそろうし
勝手にバインドしてくれるし

151:デフォルトの名無しさん
09/03/01 11:29:34
>100,122
どうもありがとうございました。
2.Form1の参照が不要な部分だけを切り出す。
という作戦を使って一つの長いファイルを複数のファイルに
分割できました。ありがとうございました。

152:デフォルトの名無しさん
09/03/01 14:07:51
DotNetBar for Windows Forms って使ってる人います?
デモ版入れて少し触ってみた範囲では大丈夫でしたが、
実際に使っている人の話が聞ければと...


153:デフォルトの名無しさん
09/03/01 14:51:39
おれは処理は全部モジュールに書いてフォーム側はそれを
呼び出すだけにしてるけどな
でないとあっち見てこっち見てが面倒なんで
でモジュール側はregionでまとめて

154:デフォルトの名無しさん
09/03/01 15:06:29
もう>>151みたいな書き方とか標準モジュールとか使うVB脳の人はプログラマ辞めてw
気づいてないかもしれないけど周囲の迷惑だよ。

>122に書いたように最低限オーソドックスにOOPしてよ。

155:デフォルトの名無しさん
09/03/01 15:07:01
クラスじゃなくてモジュール?

156:デフォルトの名無しさん
09/03/01 15:10:40
しかし標準モジュールは便利でな・・・

157:デフォルトの名無しさん
09/03/01 15:11:25
たとえばログイン画面があるとする
VB厨はフォームに全部書く。
ログイン処理はログインボタンのイベントハンドラに書く。

OO厨はユーザーIDプロパティとパスワードプロパティとログインメソッドを持つ
ログインクラス書く。
ログインフォームはログインクラスをインスタンス化して
ユーザーIDとパスワードをセットしてログインメソッドを呼ぶ。


158:デフォルトの名無しさん
09/03/01 15:24:56
>>157
設計しだいだけどさ〜
ログインクラスにログインメソッドっておかしくね?


159:デフォルトの名無しさん
09/03/01 15:27:07
Commandパターンとかなら

160:デフォルトの名無しさん
09/03/01 22:29:29
>154
オマイのコードをここに貼って見せてくれよ

161:デフォルトの名無しさん
09/03/02 01:35:07
OO厨って何よ?

わかる日本語で書いてくれ

162:デフォルトの名無しさん
09/03/02 01:43:23
>>154
おまえC#の初心者用でも初心者煽ってる奴だろ

163:デフォルトの名無しさん
09/03/02 07:08:58
OO厨とは
URLリンク(d.hatena.ne.jp)

164:デフォルトの名無しさん
09/03/02 15:25:01
.NET 全般、標準入出力に関する質問になるのですがよろしくお願いします。

ネットで調べて、「System.Diagnostics.Process」を使用し、
コンソールプロセスを起動し、標準出力用スレッド、標準入力スレッド
を立てて、通常のテキストのやり取りをするPGは作成できました。
そこで、コンソールにF1やF2などのファンクションキー押下を標準入力に
渡したいのですが方法が分かりません
p.StandardInput.WriteLine(Chr(Keys.F1)) ' F1を送る
などとやっても駄目でした。

ご回答、アドバイス、よろしくお願いいたします。

165:デフォルトの名無しさん
09/03/02 16:33:02
>>164
F1の「キーコード」はそれで送れると思うが。
だからってF1押したことにはならんけどな。
もしそういう目的なら、SendKeys.Send 使え。

166:デフォルトの名無しさん
09/03/02 21:11:20
>>165
>F1の「キーコード」はそれで送れると思うが。
>だからってF1押したことにはならんけどな。

そうです、そうなんです。

p.StandardInput.WriteLine



SendKeys.Send

みたいなことができないでしょうか?

167:デフォルトの名無しさん
09/03/02 21:30:38
できない

168:デフォルトの名無しさん
09/03/03 00:45:37
ある文字列をWindowsファイル名に使っていい文字だけの文字列にする関数やプログラムは?

169:デフォルトの名無しさん
09/03/03 00:49:35
んなもん、ヘルプ見て使っちゃいけない文字リスト見れば一発だろ。

170:デフォルトの名無しさん
09/03/03 01:01:29
>>168
1文字ずつ作ってみれば?

171:デフォルトの名無しさん
09/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:デフォルトの名無しさん
09/03/03 10:59:00
Randomクラスをループの中でインスタンス化するな
Randomのシードは時刻に依存してるのであまり短い間隔で新しく作るとシードが同じになる
何より毎回作ると遅い
ループの外で作って使い回せ

173:デフォルトの名無しさん
09/03/03 11:09:00
>>168
path.IndexOfAny(IO.Path.GetInvalidPathChars())
または
filename.IndexOfAny(IO.Path.GetInvalidFileNameChars())
でチェックし、0以上の値が返ってきたら、その文字を変更。

174:デフォルトの名無しさん
09/03/03 12:21:26
printlinetextbox1test.txtに保存するにはどうしたらいいでしょうか?

175:デフォルトの名無しさん
09/03/03 12:36:37
>>174
いいから入門書買って来い無能者。

176:デフォルトの名無しさん
09/03/03 13:44:18
>>167
> できない
DOSプロンプトでもF1〜F12、Ctrl、Shiftキーは押すはずですから、
できるとは思うんですが。
OpenVPNクライアントのコンソールアプリなんですけども、
F4キーを押せば終了するんですけど、SendKeysは受け付けないし・・・
どうなっているんでしょうか?

177:デフォルトの名無しさん
09/03/03 14:22:24
テキストボックスの文字列をリストボックスに表示させる方法ってある?

178:デフォルトの名無しさん
09/03/03 14:46:28
すごくアバウトな質問だな
改行コード事に取ってきて
リストボックスにアイテム追加してったら?

179:デフォルトの名無しさん
09/03/03 16:32:21
>>176
>SendKeysは受け付けないし・・・
あれは、そのときアクティブなウィンドウにキー入力メッセージを送るんだが
コンソールはアクティブになってるか?

180:デフォルトの名無しさん
09/03/03 17:02:37
Windowsファイル名でだめだった?を?にする1バイト文字→2バイト化関数は?

181:デフォルトの名無しさん
09/03/03 17:29:50
日本語でおk

182:デフォルトの名無しさん
09/03/03 17:42:03
>>179
> >>176
> >SendKeysは受け付けないし・・・
> あれは、そのときアクティブなウィンドウにキー入力メッセージを送るんだが
> コンソールはアクティブになってるか?

はい、AppActivate()でアクティブになっているはずです。


183:デフォルトの名無しさん
09/03/03 18:00:13
「なっているはず」ってどうなのよ?

184:デフォルトの名無しさん
09/03/03 18:34:42
プログラムをタスクバーに表示しないようにするにはどうしたらいいですか?
あと右下の時刻が表示されてる辺りの欄にプログラムのショートカット?を表示させたいのですが
それについても教えて下さい

185:デフォルトの名無しさん
09/03/03 18:35:47
NotifyIcon

186:デフォルトの名無しさん
09/03/03 20:09:32
>>185
ありが!!!

187:デフォルトの名無しさん
09/03/03 20:12:01
答えは出てるが時計のとか言ってる時点で…

188:デフォルトの名無しさん
09/03/03 20:30:52
では何といえばいいのでしょうか

189:デフォルトの名無しさん
09/03/03 20:55:41
ホームページをダウンロードして保存するプログラムを作りたいと思っています。
今会社のPCでも使用できるようなものにしたいんですが、
会社のPCでは外部にアクセスする際、社員番号とパスワードの入力が求められてしまいます。
そこで↓のページを参考にして認証の設定を考慮したPGを組んでみたんですが
エラーになってアクセスできませんでした。考えられる原因と対策を教えてください。(漠然とした質問ですいません。)


URLリンク(dobon.net)

190:デフォルトの名無しさん
09/03/03 21:07:03
タスクトレイ

191:デフォルトの名無しさん
09/03/03 21:37:11
>>190
言うと思った

そこの名称は通知領域だ
嘘だと思うならWindowsのスタートメニューにあるヘルプとサポートで
通知領域を検索してごらん

192:デフォルトの名無しさん
09/03/03 21:44:50
複数の呼称が与えられてる可能性を思いつかない単細胞さん?
ついでに言えば、どっちかといえばタスクトレイの方が一般的だと思うけどね。

193:デフォルトの名無しさん
09/03/03 21:48:33
「与えられている」と思うなら調べてみればいいよ

194:デフォルトの名無しさん
09/03/03 22:08:17
グロッサリ的には正しくない、ってわけね。
そこは認めざるを得ない事実みたいね。

でもMSのサイトで使われているほど普及した用語を「間違い」と否定するのも
どうかと思うけどな。

英語で"tasktray"を検索すると"notification area"の約半分のヒット数が出る。

195:デフォルトの名無しさん
09/03/03 22:09:30
どっちでもいいよ・・・

196:デフォルトの名無しさん
09/03/03 22:18:49
↓どなたかお願いします

ホームページをダウンロードして保存するプログラムを作りたいと思っています。
今会社のPCでも使用できるようなものにしたいんですが、
会社のPCでは外部にアクセスする際、社員番号とパスワードの入力が求められてしまいます。
そこで↓のページを参考にして認証の設定を考慮したPGを組んでみたんですが
エラーになってアクセスできませんでした。考えられる原因と対策を教えてください。(漠然とした質問ですいません。)


URLリンク(dobon.net)

197:デフォルトの名無しさん
09/03/03 22:21:02
>>196
ウザい。エラーの内容も書かずに答えられるエスパーはそうそういない。

ま、認証の方法がまずいんだろうけど。

198:デフォルトの名無しさん
09/03/03 22:23:40
しつけえぇぇ
エラーコードも書かない自分のコードもさらさないってエスパーじゃねっての





するとお前は「分からないならレスしないで下さい」と言うっ!w

199:デフォルトの名無しさん
09/03/03 22:36:03
分からないならレスしないで下さい






ごめんw

200:デフォルトの名無しさん
09/03/03 22:37:49
>>199
死ね

201:デフォルトの名無しさん
09/03/03 22:41:57
分かる方だけお願いします

ホームページをダウンロードして保存するプログラムを作りたいと思っています。
今会社のPCでも使用できるようなものにしたいんですが、
会社のPCでは外部にアクセスする際、社員番号とパスワードの入力が求められてしまいます。
そこで↓のページを参考にして認証の設定を考慮したPGを組んでみたんですが
エラーになってアクセスできませんでした。考えられる原因と対策を教えてください。(漠然とした質問ですいません。)

URLリンク(dobon.net)

これ以上詳しくは書けません

202:デフォルトの名無しさん
09/03/03 22:45:29
>>201
原因:コードが悪い
対処:コードを直す

はい、答えたから。二度と来んなハゲ

203:デフォルトの名無しさん
09/03/04 01:12:43
茶々入れるやつは書き込むなよ
一番迷惑

204:デフォルトの名無しさん
09/03/04 01:13:45
>202
悩み事があるなら俺が聞いてやるぞ

205:デフォルトの名無しさん
09/03/04 01:15:45
なんで>>202みたいな奴が質問スレに常駐してるのか理解に苦しむ

206:デフォルトの名無しさん
09/03/04 02:34:08
どっちもどっち

207:デフォルトの名無しさん
09/03/04 09:38:53
>201
そのページは認証が必要なページの見方

君のやりたい事は外部にでる時に認証を通すやり方

会社の外部アクセス方法に何を使ってるかが解らんと解答は無理だわ(笑)

208:デフォルトの名無しさん
09/03/04 11:42:34
>>205
まともな質問に答えるためじゃないの?

209:デフォルトの名無しさん
09/03/04 14:06:47
メッセージボックスの音消す方法教えてください

210:デフォルトの名無しさん
09/03/04 16:23:03
複数のClassで共通に使いたい構造体はどこで宣言したらいいですか?


211:デフォルトの名無しさん
09/03/04 16:44:50
それらのクラスの外

212:デフォルトの名無しさん
09/03/04 16:51:45
ほんとうに構造体でいいの?
.NETでは特に理由がなければクラスを使った方が効率がいいよ

213:デフォルトの名無しさん
09/03/04 16:55:03
>211,212
ありがとうございます。
VB.NETでクラス使うプログラミング初めてなのです。
訳分からないまま、クラスで構造体宣言したら、よそでも使えました。

214:デフォルトの名無しさん
09/03/04 17:08:54
・・・・が・・・がんばれ

215:デフォルトの名無しさん
09/03/04 17:10:28
とりあえずStructureの存在は忘れていいよ
正しい使い方がわかってないと確実にクラスより非効率で制限が多いだけで無意味だから

216:デフォルトの名無しさん
09/03/04 17:37:43
またoo厨ですか?w

217:デフォルトの名無しさん
09/03/04 17:41:26
ooは関係ないだろw
同じことができるなら特に理由がなければクラスにするべき
両者の違いを良く理解した上でパフォーマンス上の理由や値としての意味上の意図があれば別だ

218:デフォルトの名無しさん
09/03/04 18:57:34
初歩的な質問ですいません。
教えて下さい。

VB.NET で、タブページ上にユーザコントロールを配置
するには、どのように操作すればいいでしょうか?

219:デフォルトの名無しさん
09/03/04 18:58:14
FormのVisibleをファウルスにすればクラスになるだろうがいつもそうしてる

220:デフォルトの名無しさん
09/03/04 19:00:10
コードからやろうとしているのかそれともツールボックスからやろうとしているのか・・・

ツールボックスならD&Dだしコードなら
tab.pages(0).controls.add(ユーザーコントロールのインスタンス)
とかじゃね?


221:デフォルトの名無しさん
09/03/04 19:03:51
すいません。

ツールボックスから置きたいのですが、どこかにユーザコントロールの
一覧か何かが出てくるのでしょうか?

222:デフォルトの名無しさん
09/03/04 19:14:10
ユーザコントロール含んでるプロジェクトを一度ビルドすればツールボックスに出てくるっしょ
別プロジェクトのならもちろんプロジェクト参照が必要だが

223:デフォルトの名無しさん
09/03/04 19:17:00
>>222
ありがとうございます。
まだビルドしていませんでした。
試してみます。


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5126日前に更新/159 KB
担当:undef