VB.NET質問スレ(Part29)at TECH
VB.NET質問スレ(Part29) - 暇つぶし2ch2:デフォルトの名無しさん
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
ありがとうございます。
まだビルドしていませんでした。
試してみます。

224:デフォルトの名無しさん
09/03/04 20:00:12
>>215>>217
よくある意見だがそれこそ勘違いだと思うけどね。
構造体の方がふさわしい場面はたぶん君が思ってるよりずっと多い。
例えばFormのプロパティ一覧見ただけでもわかると思うけど。

あと参照の意味がわかってない初心者なら構造体使っといた方が安全だったりする。

225:デフォルトの名無しさん
09/03/04 20:19:57
Formのプロパティ一覧を目で数えるのは面倒なのでリフレクションでパブリックなのを数えてみた。
プリミティブと列挙型を除くと24個。
型別で
8 System.Drawing.Size
5 System.Drawing.Rectangle
4 System.Drawing.Point
3 System.Drawing.Color
2 System.Windows.Forms.Padding
2 System.Drawing.SizeF
ずっと多いとはとてもいえないって思うな。

226:デフォルトの名無しさん
09/03/04 20:22:25
どうでもいいよ。好きな方使えばいいんだし。

227:デフォルトの名無しさん
09/03/04 20:41:29
いや全然違うものだからそういう問題じゃないよ
どっち使うかは場合によるけど,かなり重要な違いだよ
.NETではどちらかというとクラスより構造体のほうが 注意して,特別な意図があって 使うもの

228:デフォルトの名無しさん
09/03/04 20:46:08
だから、そういう違いが重要な場面ではきちんと違いを把握して使えばいいだろ。
>>210 が重要な場面とは到底思えないんだが。

229:デフォルトの名無しさん
09/03/04 21:02:51
210の場合に限定した話をする人と、
一派論を述べる人がかみ合わないのは当然

230:デフォルトの名無しさん
09/03/04 21:07:36
質問と回答で成り立ってるスレなんだから、一般論だけ、ってのは
微妙にスレ違いだな。

231:デフォルトの名無しさん
09/03/04 21:11:17
>>225
日本語NGな人?
「たぶん君が思ってるより」、「ずっと多い」と書いたはずだが。。

232:デフォルトの名無しさん
09/03/04 21:18:24
「たぶん」って付けとけば、何を言ったって許される、ってもんでもない。

233:デフォルトの名無しさん
09/03/04 21:22:39
>>225にあるようなどう見たって「値」を表すような型を自分で作ることがどれだけあるか?
ということだな

234:デフォルトの名無しさん
09/03/04 21:24:21
>>225
あと「場面は」って書いてあるのも読めない人なんでしょうねw
あ、sizeとかrectangleとかpoint一切使わない人でしたか

235:デフォルトの名無しさん
09/03/04 21:25:34
荒らすなよ・・・

236:デフォルトの名無しさん
09/03/05 08:36:48
OLEDBの項目名とかフィールド名に全角文字
使えますか?

237:デフォルトの名無しさん
09/03/05 09:00:49
>>236
そうやって聞いてる間にやってみてればとっくに結果出てるだろうに

238:デフォルトの名無しさん
09/03/05 09:33:36
まぁ>>224の言わんとしていることもわかる気はする

うちの新人君

classA a = new classA();
classA b = a;

b.hoge = hogegege;

あれ~?aのhogeがかわっちゃってる・・・・とかねorz

239:デフォルトの名無しさん
09/03/05 14:19:41
若干VB.NETの質問から外れるのですが、
通常Windowsで使うアプリケーションを作成する場合
VBやVisual Cといったソフトを使いますが、こういったGUI用のソフトを使わずに
普通のC言語やBasic言語でも同じようなGUIのプログラムを作ることは
可能なのでしょうか?
もし可能だとしてやはりかなり手間がかかるのでしょうか?

240:デフォルトの名無しさん
09/03/05 14:29:34
>>239
全部自前でやるからめんどくせぇwwwww

241:デフォルトの名無しさん
09/03/05 17:59:39
>>239
全部メモ帳で書く。とか言ってるのか?
出来るけどめんどくせw
興味あるなら↓の「WindowsSDK編」でも見てみるといい
URLリンク(homepage2.nifty.com)

242:デフォルトの名無しさん
09/03/05 20:42:27
ビルドしたexeファイルにはWindowsなどに設定した個人的な情報はどの程度入っているでしょうか?
OSのユーザー名(アカウント)とかは入っているでしょうか?

243:デフォルトの名無しさん
09/03/05 23:12:15
前に中開いたらビルド場所が書いてあった気がする

244:デフォルトの名無しさん
09/03/05 23:26:49
.NETは知らないけど、むかしのコンパイラは情報が埋め込まれていてウイルスを作った奴を特定できたとか
ていうか、それが当たり前の世の中になってほしい

245:デフォルトの名無しさん
09/03/05 23:30:47
.NETのEXEをバイナリで覗いたことはないが
中は確か中間言語だったっけ?
コメントされた上司の悪口とか抽出できたらおもしろそうだな

246:デフォルトの名無しさん
09/03/06 19:36:20
メモ帳で開いてみたら?

247:デフォルトの名無しさん
09/03/07 01:35:52
>>243-246
レスありがとう
バイナリエディタで開いたらビルドしたパス名が入っていました。
デスクトップにあるフォルダとかだとユーザー名が入ってしまいそうですね。

248:デフォルトの名無しさん
09/03/07 15:45:46
>>247
My Project|コンパイル|詳細コンパイル オプション|デバッグ情報を生成
のところをnoneにしたらパス消えるよ



249:デフォルトの名無しさん
09/03/07 22:09:13
ツールバーに音をだしたり動画を再生するコントロールがねー

250:デフォルトの名無しさん
09/03/07 22:17:30
>>249
AxWindowsMediaPlayer

251:デフォルトの名無しさん
09/03/07 22:20:05
.NETのクラスで用意してくれないとこまtっちんぐ

252:デフォルトの名無しさん
09/03/07 22:58:55
つWPF

253:デフォルトの名無しさん
09/03/08 00:12:01
400行くらいで結構機能満載な画像ビューワー出来ました
ほとんど.net任せで作れますね


254:デフォルトの名無しさん
09/03/08 00:28:50
ソース付きでうp

255:デフォルトの名無しさん
09/03/08 01:02:25
iRが30を超えていてもメッセージがでちゃう

iR = cRa.Next(1, 39957 + 1)
If 1 <= iR <= 30 Then
MsgBox(iR)
End If


256:デフォルトの名無しさん
09/03/08 01:04:57 BE:2034010087-2BP(182)
■韓国からWBCの腹いせ食らってるぜwwwwwwww
*****************************************

WBCで日本相手にコールド負けを喫した韓国が
mamonoサーバーに攻撃開始
VIPPERはこれに対し反撃を行う

・開始時刻: 24:30
・手段:Apache砲/hping砲
・Apache砲弾:URLリンク(vipshota.if.land.to)
・攻撃先:www.naver.com

WBCで韓国がファビョって2chに攻撃★2
スレリンク(news4vip板)

*****************************************


257:デフォルトの名無しさん
09/03/08 01:09:30
>If 1 <= iR <= 30 Then
こんな書き方をするのが悪い。基本解説サイトを通読するところからやり直し

258:デフォルトの名無しさん
09/03/08 01:13:05
>>256
ファビョってるのはお前も一緒じゃねえかw
本当コピペ君って馬鹿だな、まで読んだ。

259:デフォルトの名無しさん
09/03/08 01:20:49
>>257
わろたw 懐かしいこの発想~
この書き方のがわかりやすいもんねw

260:デフォルトの名無しさん
09/03/08 01:37:56
>If 1 <= iR <= 30 Then

これはどういう評価してんの?
コンパイル通るってことは仕様なんでしょ?

261:デフォルトの名無しさん
09/03/08 01:40:40
>>260
おもしろくなって俺もやってみた
確かにその式31超えてもTrueで評価されてるな
てかそんな書き方出来るって初めて知ったわw

262:デフォルトの名無しさん
09/03/08 01:48:23
適当なこと言うけど、Option Strict Offだと
昔のBASICの流れでTrueは-1、 Falseは0とかに暗黙的に変換される仕様に
なってるとかじゃないの

263:デフォルトの名無しさん
09/03/08 01:57:29
見えない括弧があるってことかw
31を越えるって事は、 1 <= iR が <= 30 かどうかを評価してるのかも。

264:デフォルトの名無しさん
09/03/08 02:13:21
1 <= iR を True(-1)と評価した後に
True(-1) <= 30
を評価してるんだろうね

265:デフォルトの名無しさん
09/03/08 05:13:39
If 1 < 0 < -1 Then

これだとFalseになるから多分>>264で正解なんだろうな
つうか何のためにこんな仕様になってるんだ?
VBAでもこんな書き方使った記憶がないんだが

266:NAS6 ◆kl1JWE6W72
09/03/08 07:36:07
>>254

URLリンク(www5b.biglobe.ne.jp)

viewer
拡大縮小(&画面に合わせて)
同フォルダ内巡回
ファイルゴミ箱&コピー

位を実装してます


267:デフォルトの名無しさん
09/03/08 07:45:07
OpenFileDialogをCancelしたときはExitSubしといた方が良いとおも

268:NAS6 ◆kl1JWE6W72
09/03/08 08:30:38
>>267
対応しました


269:デフォルトの名無しさん
09/03/08 10:34:05
DataViewにはRawのフィルターはあるけど
とくていの列だけテーブルから持ってくるメンバが用意されてないようだが

270:デフォルトの名無しさん
09/03/08 12:32:50
>>265
だから、恐らく大昔のMS BASIC時代からの流れ。
この仕様を使ってif文を使わずに計算の結果を変えたり条件分岐につかったり
したんじゃなかったかな。

もっとも、Trueは-1(0の1の補数)じゃなくて1だったような気もしたが。

271:デフォルトの名無しさん
09/03/09 16:13:27
>>270
>もっとも、Trueは-1(0の1の補数)じゃなくて1だったような気もしたが。

BASICは昔から-1、1はC言語でしょ
VB.NETではTrueを1に変換することも出来るけどね(Convert.ToIntとか)

それと、<,>,<=,>=などは+,-,*,/と同じ演算子だから、すべて演算した結果が
真か偽かで条件分岐してるだけなんだけど

272:デフォルトの名無しさん
09/03/09 19:42:41
>>271
おいおいcにはtrueって概念はないよw
これ有名な話。cで決まってるのは偽が0に評価されるってことだけ。
Cのif文は、要するにJZ(Jump if Zero)だからね。

それと確かに昔のMS系のBASICの真値は1だった記憶がある。
まあどうでもいいか

273:デフォルトの名無しさん
09/03/09 22:05:20
vb.netもbrfalseだよ

274:デフォルトの名無しさん
09/03/10 01:58:14
CreateObjectで起動したEXCELプロセスが、VBアプリ終了しても終わらないんですが、なぜかな?

275:デフォルトの名無しさん
09/03/10 04:11:45
Marshal.ReleaseComObject で検索をクリック!

276:デフォルトの名無しさん
09/03/10 06:56:08
>>272
trueは概念ではなく値。
そして現在のCには_Boolという型が存在する。

まったくcase-insensitiveな奴にはロクな奴がいないな。

277:デフォルトの名無しさん
09/03/10 13:29:15
A=true
Cint(A)は?
B=folse
Cint(B)は?

278:デフォルトの名無しさん
09/03/10 13:38:55
>URLリンク(msdn.microsoft.com)
MSはその仕様を「問題」と認識してるらしいよ

279:デフォルトの名無しさん
09/03/10 14:02:57
>>278
>「問題」と認識してるらしいよ
何処をどう読んだらそうなるわけ?

280:デフォルトの名無しさん
09/03/10 14:06:21
>ここでは、組み込みデータ型の演算で起きる一般的な問題についていくつか説明します。
これじゃね?


281:デフォルトの名無しさん
09/03/10 14:11:26
で、解答用紙はどこに提出すればいいのでしょう

282:デフォルトの名無しさん
09/03/10 17:57:08
問題を起こす主体は「間抜け」、ということで宜しいか?

283:デフォルトの名無しさん
09/03/10 18:15:20
自作の2つのアプリがあって、
1つの方でもう一方を起動すると
実行結果が返ってくるようにしたいのですが
どんな方法で可能でしょうか?

284:デフォルトの名無しさん
09/03/10 18:17:37
バッチ処理的なもんならProcess使って標準出力でいいんじゃね

285:デフォルトの名無しさん
09/03/10 18:18:32
標準入出力を使う
別プロセスにする必要がないなら
もう一方のアプリをdllと同じように参照してその中のメソッドを直接呼ぶこともできる
いちばんスマートなのは共通部分をdllにすること

286:デフォルトの名無しさん
09/03/10 18:55:41
レスありがとうございます。
DLLについて調べてみることにします。

287:デフォルトの名無しさん
09/03/10 20:14:23
>もう一方のアプリをdllと同じように参照してその中のメソッドを直接呼ぶこともできる
これを試してみたのですが、
dllかcomではないとダメというエラーが出て参照設定できなかったのですが、
exeファイルでも参照設定する方法がありますか?

288:デフォルトの名無しさん
09/03/10 20:24:30
.NETのexeでないとだめ
.NETのexeじゃないんだったら普通にプロセス起動して標準入出力通すしかない

289:デフォルトの名無しさん
09/03/10 20:40:57
VB.NET2003というものですがこれではダメでしょうか?

290:デフォルトの名無しさん
09/03/10 20:49:57
覚えてないけどVS2003ではexeは参照できないのかも
少なくとも2008ではできるし,VSでサポートされてなくても実際は可能なんだけどな

291:デフォルトの名無しさん
09/03/10 20:55:02
2002、2003 の頃はダメだった希ガス

292:デフォルトの名無しさん
09/03/10 21:00:32
レスありがとうございます。
そうですか。
それではプロセス起動して標準入出力、という方法を調べてみることにします。

293:デフォルトの名無しさん
09/03/10 21:11:26
たかがメソッド1つ2つ呼ぶだけだろうから
リフレクションで動的にロードしてリフレクション通してメソッド呼べばいいんでない

294:デフォルトの名無しさん
09/03/10 21:19:03
先生方、質問です。

URLリンク(xxx.xx.xx)

というリンクがあって、ここをクリックすると
123456.pdf というファイルのダウンロードが始まるページがあります。


VB2005を使って、
この 123456.pdf というファイルを自動でダウンロードさせたいのですが、
どうすればよいのでしょうか。
My.Computer.Network.DownloadFile() メソッドを使って、
直接、上記 URL をダウンロードしようとすると、
テキスト1行だけのファイルがダウンロードされるだけでした。

123456 の部分は、223456 であったり、様々であるため、
コード内で動的に指定して、複数のファイルを自動でダウンロードさせる
仕組みにしたいです。

よろしくご教授下さい。


295:デフォルトの名無しさん
09/03/10 21:24:09
>>294
WireShark とか、ieHttpHeader とか使って、やりとりを調べる。
そのやりとりと一緒のやり方を HttpWebRequest で作る。

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


URLリンク(dobon.net)

会社の認証方式はLDAPでした


297:デフォルトの名無しさん
09/03/10 22:33:45
あぼーんがいると思ったら、キチガイさんが帰ってきましたか・・・

298:デフォルトの名無しさん
09/03/11 01:21:10
先生方、質問です。

URLリンク(xxx.xx.xx)

というリンクがあって、ここをクリックすると
123456.pdf というファイルのダウンロードが始まるページがあります。


VB2005を使って、
この 123456.pdf というファイルを自動でダウンロードさせたいのですが、
どうすればよいのでしょうか。
My.Computer.Network.DownloadFile() メソッドを使って、
直接、上記 URL をダウンロードしようとすると、
テキスト1行だけのファイルがダウンロードされるだけでした。

123456 の部分は、223456 であったり、様々であるため、
コード内で動的に指定して、複数のファイルを自動でダウンロードさせる
仕組みにしたいです。

よろしくご教授下さい。

※ただし、
 「WireShark とか、ieHttpHeader とか使って、やりとりを調べる。
  そのやりとりと一緒のやり方を HttpWebRequest で作る。」
 以外で。なめんな。



299:デフォルトの名無しさん
09/03/11 01:23:03
>>298
死ね

300:デフォルトの名無しさん
09/03/11 01:29:18
指定した時間に休止状態かスタンバイの状態から復帰させる方法を教えてください。

301:デフォルトの名無しさん
09/03/11 01:34:00
>>287-289
わろたw
でも俺さっき>>295見た直後に興味持ったんでieHttpHeaderを探して試してみたぞ
これを使えば>>294ができるなって思ったけど気に入らないの?


302:デフォルトの名無しさん
09/03/11 01:34:44
>>298->>299だったozr

303:デフォルトの名無しさん
09/03/11 01:38:47
手取り足取り教えてもらえないと、納得できないんでしょ。

304:デフォルトの名無しさん
09/03/11 07:20:44
>>303
オマイは猫か!

305:デフォルトの名無しさん
09/03/11 08:16:13
猫は過剰な干渉を嫌う

306:デフォルトの名無しさん
09/03/11 08:49:38
Achilles使いこそ真

307:デフォルトの名無しさん
09/03/11 21:46:34
>>196
>考えられる原因と対策を教えてください。

原因:あなたが無能だからです。
対策:あなたが有能になることです。無理かもしれませんがw

308:デフォルトの名無しさん
09/03/11 22:02:05
>>307
質問スレまで来てつまらないレスすんなよ
ウサ晴らしならチラシの裏にでも書いておけ

309:デフォルトの名無しさん
09/03/11 22:32:07
液晶画面の電源を切る方法を教えてぴょん

310:デフォルトの名無しさん
09/03/11 22:32:56
LDAP なら、NTLM か Kerberos で認証通せばいいんじゃね?

311:デフォルトの名無しさん
09/03/11 22:40:13
>>309
CIM_Display.SetPowerState() でいけそうじゃない?

312:デフォルトの名無しさん
09/03/12 01:43:08
御知恵をお貸しください。
クリック等のイベントを、クリックされたコントロールの裏に透過するような処理を書きたいんですが、何か方法はないでしょうか?
ディスプレイにメモ的な物を表示させておきたいのですが、ポインタが乗ったり、クリックしたりした時に、そのメモにイベントが渡ってしまって、思惑とちょっと違う動きになってしまって困っています。
ポインタが乗ったタイミングで透過100%にすれば誤動作はしないのですが、乗るたびにメモがチラチラと主張して目に優しくないです。


313:デフォルトの名無しさん
09/03/12 01:44:47
ん?

あー、そういうこと・・・

ん?

って感じ

314:デフォルトの名無しさん
09/03/12 02:41:09
ポインタを乗せてからちょっと経ってから透過させるとか、乗ってる間徐々に透過されていくとかにすればいいんじゃね?

315:デフォルトの名無しさん
09/03/12 10:23:55
なんでみんなテキストを扱う時も
textwriterじゃなくstreamwriter使う?

316:デフォルトの名無しさん
09/03/12 10:39:52
日本語でおk

つかみんなって誰を指してんだよ

317:デフォルトの名無しさん
09/03/12 10:41:48
>>315
  Public MustInherit Class TextWriter
で、
  Public Class StreamWriter
    Inherits TextWriter
なわけだが。

318:デフォルトの名無しさん
09/03/12 15:17:17
帳票とかグラフとか印刷とか、皆さんはどうしていますか?

Excelを利用している
DrawとかDocumentとかで頑張っている

その他、補助製品を利用している。
Crystal Reports
ActiveReports
VS-VIEW
Reports.NET
VB-Repor
などなど・・・


現在Excelを利用して書いているんですが、Excelが無いPCでの印刷や
印刷動作が重いなどを回避したいと思っています。
何か簡単で作成できて良い方法がある方は教えてください。
(購入も含めて)

319:デフォルトの名無しさん
09/03/12 15:51:56
簡単な書式だったら、PrintDocument 使って自力で。
ちょっと入り組んでたり、バーコード/二次元コードを含むときは
JIVE REPORT。

320:デフォルトの名無しさん
09/03/12 21:05:04
>>318
通常はアクティブレポートの付属でやってる
レーダーとか足りないものは自作して使いまわしてる
流石にコンポーネント2つも買ってくれなかったのさ 貧乏だから・・・うちの会社

321:デフォルトの名無しさん
09/03/12 21:35:38
ちんぽすげーかいい

322:デフォルトの名無しさん
09/03/12 22:01:04
「3661」という数字を「1時間1分1秒」という文字列にしたいのですが良い方法を教えて

323:デフォルトの名無しさん
09/03/12 22:19:27
小学生か

324:デフォルトの名無しさん
09/03/12 22:39:24
>>322
dim t as integer
t=3661
t/3600 & "時間" & (t mod 3600) /60 & "分" & (t mod 3600) mod 60 & "秒"

325:322
09/03/12 22:42:09
すごいすっきりしてていいね
ありがとう

326:デフォルトの名無しさん
09/03/12 22:48:52
このままじゃできないけどね

327:デフォルトの名無しさん
09/03/12 23:15:25
Button1_Click
Timer1.Enabled=True
Button2_Click


タイマーをFalseにするまでButton2のイベントは起こらないのかしら

328:デフォルトの名無しさん
09/03/13 00:02:01
>>325
>>324みたいなコードはむしろ「すっきりしてない」コードって言うんだよw
君みたいなセンスの人ってどこにでもいて困るんだが、勘違い甚だしいんだよ。

頼むから、「コードの行数」を最小化しようとするのではなく、
「コードを理解するのに必要な時間」を最小化することを心がけてくれ。

例えば、
dim totalTimeBySec as Interger = 3661
dim hour as Integer = totalTimeBySec \ 3600
dim minute as Integer = (totalTimeBySec mod 3600) \ 60
dim sec as Integer = (totalTimeBySec mod 60)
dim result as String = String.Format("{0}時間{1}分{2}秒", hour, minute, sec}

こんなふうにぱっと見て何やってるか分かるように書くんだよ。

329:デフォルトの名無しさん
09/03/13 00:10:08
コメントかけばいいじゃね?

330:デフォルトの名無しさん
09/03/13 00:16:46
>>328
感動した。

コメントもさ、自分で書いたくせに時間が経って読み返すと
意味不明なことがあるんだよね…

331:デフォルトの名無しさん
09/03/13 00:18:20
>>329
それもVB脳的勘違いだな。
コンパイラはコメントを解釈してくれないよ?

332:322
09/03/13 00:21:28
これもいい!!
すごいありがとう


333:デフォルトの名無しさん
09/03/13 00:24:35
中国人かお前は

334:デフォルトの名無しさん
09/03/13 01:13:28
普通にリア小だろ。

335:デフォルトの名無しさん
09/03/13 08:05:17
>>331
コンパイラに理解させたいだけなら最初の方でもよくない?
そもそもあの処理をみてわかりにくいと感じるってどんだけ初心者だよ


336:デフォルトの名無しさん
09/03/13 08:16:27
>>327を解説するひとこそが貴重なプログラマなんだが

337:デフォルトの名無しさん
09/03/13 08:47:30
だって意味不明なんだもん>>327


3661秒を分かりやすく書くのならTimeSpan.FromSecondsがベストだよ

338:デフォルトの名無しさん
09/03/13 09:45:06
>>328
あの程度で「すっきりしてない」とか、どんだけ阿呆なの?
で、自分で考えた結果がその糞汚いコード?

>>337
ふつー、TimeSpan 使うわな。FromSeconds か コンストラクタかは好みで。

339:デフォルトの名無しさん
09/03/13 09:45:49
>>327

>タイマーをFalseにするまでButton2のイベントは起こらないのかしら
マジレスするとんなわきゃねぇ

つうか何が言いたいんだこいつ?

340:デフォルトの名無しさん
09/03/13 15:15:29
わかりやすさ、なんて人によって違うしね。

341:デフォルトの名無しさん
09/03/13 15:22:15
既にあるものをわざわざ自分で作るのは迷惑行為

342:デフォルトの名無しさん
09/03/13 15:31:17
Dim m as Integer = b.MaxValue
とした場合に出る
"インスタンスを経由する共有メンバへのアクセスです。正規の式は評価されません。"という警告を回避したいです。

bはクラス変数で今の所Byte型にしているのですが、今後UShortやUIntegerなどに変えるかも知れないので。
= 255 や = [Byte].MaxValue とはしたくありません

343:デフォルトの名無しさん
09/03/13 15:46:53
意味的に完全におかしいんだからしょうがない
たまたま型が違っても名前が一緒なだけ
MaxValueとかMinValueとかParseとかだけ集めたクラスを別に作っとけばいい

344:デフォルトの名無しさん
09/03/13 15:51:07
あーでもそこだけのためにクラス作るのもおかしいな
諦めて適当にConstなローカル変数に代入しといたら

345:デフォルトの名無しさん
09/03/13 16:23:35
クラス変数…?

つかそれなら、**.MaxValue を戻す、Shared でないプロパティを追加すれば
いいじゃないの。

346:デフォルトの名無しさん
09/03/13 16:44:16
b.GetType.GetField("MaxValue").GetValue(b) で型に応じた値が取得できそうなので、この方向でもうちょっと調べてみようと思います。

>343-345
ありがとうございました

347:デフォルトの名無しさん
09/03/13 16:49:43
ああやっと意味が解った
>>346のやり方だと一旦bの型にダウンキャストしてからaの型にキャストしないといけないので無意味

348:デフォルトの名無しさん
09/03/13 16:56:57
>>347
意味がわからん。リフレクションを使う、って文脈でなぜダウンキャスト?

349:367
09/03/13 17:17:09
b.GetType.GetField("MaxValue").GetValue(b)の戻り値がObject型だから
aの型に変換する前にボックス化の解除が必要なんだけど,
CType使えば自動でやってくれるな。すまん。
厳密にはいったんDirectCastでbの型にするのが正しい。

350:デフォルトの名無しさん
09/03/13 17:20:41
で、明示的に変換しないと、丸まったり桁落ちしたりするの?

するなら問題だけど、そうでなければどうでもいい。VB だし。

351:デフォルトの名無しさん
09/03/13 19:47:53
いまさらだけど、>>342みたいなことがしたい場面というのが思いつかない。

想像するにマジックナンバーを忌避する様な感覚で「bが特定の型であることを
前提としたコード」を回避してるとかなんだろうけど、だとしたら
プログラミングに対する考え方が根本的に間違ってるとしか思えんな。

352:デフォルトの名無しさん
09/03/13 19:49:44
俺も思いつかないが

>342は拡張メソッドで解決できそうだな

353:デフォルトの名無しさん
09/03/13 20:03:30
拡張メソッド使った場合はポリモーフィックな動作が出来ないね。
どうしてもってことなら、抽象的な「数値クラス」を自分で作るとかした方が
いいのかも。

めんどくさいだけかもしれんが。

354:デフォルトの名無しさん
09/03/13 20:17:27
ぶっちゃけそこまで動的な変更を意識しなけりゃいけないようなプログラムってあるの?

355:デフォルトの名無しさん
09/03/13 20:19:40
Module Hoge
<Extension>Public Shared Function MaxValue(Of T)(ByVal type As T) As T
Return Cache(Of T).MaxValue
End Function
Private Class Cache(Of T)
Public Shared ReadOnly MaxValue As T
Shared Sub New()
MaxValue = DirectCast(GetType(T).GetField("MaxValue").GetValue(Nothing), T)
End Sub
End Class
End Class
//Dim a As Integer = b.MaxValue()
意味があるかは置いといてこんな感じかいね
毎回リフレクションするよりは遥かに速いはず

356:デフォルトの名無しさん
09/03/13 20:49:41
>>355
なんか違うような気もするが、ジェネリックの面白い使い方ではあるね。


357:デフォルトの名無しさん
09/03/13 22:29:25
>いまさらだけど、>>342みたいなことがしたい場面というのが思いつかない。
場面と言うか、作ってる途中で仕様変更をした時、
修正しなきゃならない箇所を減らしておきたかっただけのことなんです。

例えば = [Byte].MaxValue としていた場合、
後でもしもbの型をByteからUShortに変えた時は = [Ushort].MaxValue に変更する必要が出てくるんですが、
そこの変更を忘れてバグを出すのも嫌だなと。

仕様を固めないままコード打ってること自体間違ってると言われればその通りなんですが

358:デフォルトの名無しさん
09/03/13 23:18:12
>>357
ByteをやめてやっぱりUShortに変えよう。
ってなるのはどういう時なの?
最初からIntegerとか大き目の型を使っておけばいいんじゃないの?

359:デフォルトの名無しさん
09/03/13 23:27:16
メモリを16Mから32Mに増設したときとかなら
気が大きくなってUShortにしようかなって思うかもしれん

360:デフォルトの名無しさん
09/03/13 23:51:34
>358
Byte,SByte,Short,UShortの存在価値ってないよな。

361:デフォルトの名無しさん
09/03/14 10:04:21
ほしゅ

362:298
09/03/14 11:43:43
お蔭様でうまくいきました。

http 解析しなくても、また HttpWebRequest を使わなくても
解決できました。

ヒント:WebRequest

有難うございました。


363:デフォルトの名無しさん
09/03/14 12:52:15
Halo Warld
を表示するプログラム教えて

364:デフォルトの名無しさん
09/03/14 13:18:58
Console.WriteLine("Halo Warld")

365:デフォルトの名無しさん
09/03/14 19:14:24
>>362
http解析のくだりは置いとくとして、
WebRequest.Createでhttp:なにがしを指定したら、HttpWebRequestのインスタンスが帰ってくるのは理解してるのかね
そもそもWebRequestは MustInherit だぞ


366:デフォルトの名無しさん
09/03/14 20:47:44
Apache+Monoに挑戦したがよくわからなかったので他に無料の.NET用Webサーバない?

367:デフォルトの名無しさん
09/03/14 20:48:23
IIS

368:デフォルトの名無しさん
09/03/14 20:52:30
WindowsXPなどのクライアントOSで動く無料の公開ライセンスをそなえたWebサーバ
IISは2人以上に公開する時はWindowsServerの料金を払わないとダメ

369:デフォルトの名無しさん
09/03/14 21:34:37
クライアントのWindowsに10接続以上は不可だからOSごと変えなきゃね

370:デフォルトの名無しさん
09/03/14 21:47:31
URLリンク(www.forest.impress.co.jp)

371:デフォルトの名無しさん
09/03/14 21:49:39
MS 製品のライセンスについては、あんまり追求しない方がいいよ。


372:デフォルトの名無しさん
09/03/14 21:50:19
どうして?

373:デフォルトの名無しさん
09/03/14 22:00:13
白黒はっきりさせようと MS に問い合わせると、とんでもない答えが返ってくるから。
グレーはグレーのままにしておいた方がいい、ってこと。

ライセンス(CAL)をきっちり買えるんなら別だけど。

374:デフォルトの名無しさん
09/03/14 22:03:27
グレーじゃないのにグレーと言うのは何故?

375:デフォルトの名無しさん
09/03/14 22:27:39
構造体の1次配列のメンバを指定して並べ替えたいのですが
メンバごと型を指定して並べ替える良い方法があったら教えて頂きたいです。


376:デフォルトの名無しさん
09/03/14 23:06:10
>>375
DataTableに置き換えてソートかけるんじゃだめ?

377:デフォルトの名無しさん
09/03/14 23:29:55
なんというVBらしい発想w
IComparer(Of T)を実装したクラスを作ってそのインスタンスをArray.Sortに渡すのが正解

378:デフォルトの名無しさん
09/03/15 17:21:06
IComparerで調べてみることにします。ありがとうございました。

379:298
09/03/15 18:42:54
>>365
もう解決したからいいんだけど、
WebRequest は MustInherit ではなくそのまま使えたよ。VS2005。
あと、WebResponse が帰ってくるのは、.Create() ではなく
.Getなんちゃら() メソッドです。

やってみると単純だった。
ただ、今回の肝は、ログインページで認証を済ませてから
ダウンロードしなきゃいけない仕組みのため、
WebRequestでMethodをPostに指定し、
取得したクッキーを使いまわす
という操作が必要でした。
これも、これでいいのかというくらいすんなり行ってしまって
自分で驚いたほど。

いやー便利だよVS


380:デフォルトの名無しさん
09/03/15 21:23:09
そもそも割り算とはなんなんでしょうか

381:365
09/03/15 21:31:14
俺は295じゃないが

MSDNのサイトで確認する限り、WebRequestは1.1から3.5までですべてMustInheritなんだが
んで.GetなんちゃらメソッドはSharedじゃないだろう?ならばそのメソッドを呼ぶための
インスタンスはどうしたんだと。MSDNには、
>新しい WebRequest インスタンスを初期化するには、Create メソッドを使用します。WebRequest コンストラクタは使用しないでください。
って書いてあるんだがな
つまりおまえが使った.Getなんちゃらメソッドは、実際にはHttpWebRequestクラスの
メソッドが使われてるはずだろうと言ってるんだ

あと認証の話だが、なにもわからない状態からそれを確認するためには、>>295のいう
>WireShark とか、ieHttpHeader とか使って、やりとりを調べる。
は間違っていない。というより事前情報がなにもなければほとんど唯一の手段だ
そして認証してクッキーを使いまわすってのは、まさに
>>そのやりとりと一緒のやり方を HttpWebRequest で作る。
ということをやってるんだが。HttpWebRequestかWebRequestかはしらんがな

この現状をふまえて、おまえが>>298でいった、なめんな って言葉はどういうことだ?
回答してくれた人をなめてるのはお前だろう



382:デフォルトの名無しさん
09/03/15 23:55:29
素直にごめんなさいしないとな
できないならチョン以下

383:デフォルトの名無しさん
09/03/16 01:43:03
>>381
落ち着け
自分の理解や常識を超えたり勘違いしているやつはああいう風に言うやつが必ずいるんだ


384:デフォルトの名無しさん
09/03/16 10:41:32
>>360
Byte配列は必要。

385:デフォルトの名無しさん
09/03/16 13:03:10
"Abc"="ABC"
をTrueにするには
UCase("Abc")=UCase("ABC")

LCase("Abc")=LCase("ABC")

以外になにかある?


386:デフォルトの名無しさん
09/03/16 13:12:04
String.EqualsのStringComparison使ったオーバーライドとか
でもqとQが等しいと判断するかどうかはどうするのか

387:デフォルトの名無しさん
09/03/16 13:13:19
エスツェットとかはどう判断するのかなー

388: [―{}@{}@{}-] デフォルトの名無しさん
09/03/16 13:57:27
半角全角を同一視する場合は、StrConvで変換するのが無難かしら

389:デフォルトの名無しさん
09/03/16 14:45:33
こことか?
URLリンク(dobon.net)

390:デフォルトの名無しさん
09/03/16 14:51:03
Option Compare Text
を指定する



391:デフォルトの名無しさん
09/03/16 19:48:38
>>385
"ABC" like "ABC"

392:デフォルトの名無しさん
09/03/16 19:49:40
ああ、すまん、左辺も同じにしちまった。
"Abc" like "ABC"


393:デフォルトの名無しさん
09/03/16 20:23:21
("Abc").toupper="ABC"

394:デフォルトの名無しさん
09/03/16 22:30:37
VB2005.netで、WEBサイトからhtmlのデータを取り込むという処理の作り込みをしていますが、
この作り込みが非常に面倒で、WebBrowserクラスのDocumentTextプロパティから、
htmlのテキストを取り込んで、そこから特定の文字列を探し出して、
さらに不要な文字列を置き換えて。。。という非常に面倒なことを延々とやってる状況です。
WEBサービスやRSSなども提供されていないため、htmlから地道に文字列を抽出するしか
ないのですが、何かいいやり方やツールみたいなものって提供されてないでしょうか?


395:デフォルトの名無しさん
09/03/16 22:51:26
>>394
DOM でやるか、正規表現ってとこじゃない?

396:デフォルトの名無しさん
09/03/17 00:26:08
List(Of String)を↓のC#みたいに初期化したいんだけど、VB.NETでのやり方が分かりません。教えて偉い人。

List<string> strList = new List<string>() { "あ", "い", "う" };

397:デフォルトの名無しさん
09/03/17 00:39:55
C#で書いてコンパイルしてVB.NETに逆コンパイルすればわかるんじゃね?

398:デフォルトの名無しさん
09/03/17 00:59:46
SharpDevelop使えば一発で変換できるんだが。

399:デフォルトの名無しさん
09/03/17 10:36:47
array.sortで降順にするにはどうすれば

400:デフォルトの名無しさん
09/03/17 10:39:55
比較結果逆にしたComparison(Of T)を渡す

401:デフォルトの名無しさん
09/03/17 10:50:10
具体的な何行ものコードをみないとわけわかめうどん

402:デフォルトの名無しさん
09/03/17 10:53:40
そういや今朝はわかめうどん食った

403:デフォルトの名無しさん
09/03/17 11:17:56
2003から2008になったら訳ワカメ
Sortの話題が上がってたから検索して
URLリンク(www.atmarkit.co.jp)
ここのプログラム見てみたんだが

  Function hikaku(ByVal x As String, ByVal y As String) As Integer
    Return x.Length - y.Length
  End Function

ここの関数に勝手に変数に値が入っていく
これは暗黙の変換?が行われてる?

404:デフォルトの名無しさん
09/03/17 12:01:53
IComparer使うのと本質的には同じなんだから
(メソッド1つで済ますかインターフェイスの実装が必要かだけの差)
2003から2008になったからってわけではないけどな
デリゲート自体は最初からあったんだし
VB9で追加されたのはラムダ式であって

変換は関係ないな
デリゲートを渡すってのは
「このデリゲートに必要なメソッド格納してるんで必要なときにデリゲート越しに呼んでね」
ってこと
ソートはループと比較で成り立ってるわけで、
Array.Sortのなかでもループしつつ何度もデリゲート越しに比較関数呼び出してる

405:デフォルトの名無しさん
09/03/17 13:11:28
構造体になっている配列をメンバと並べ方を指定して並べ替えるサンプルってどこかにないですかね


406:デフォルトの名無しさん
09/03/17 13:19:48
>>405
>>403

構造体になってる配列って微妙に胡乱だが

407:デフォルトの名無しさん
09/03/17 13:32:08
    Structure MySt
        Public hoge As String
        Public moge As Integer
        Public hage As Object
    End Structure



 Dim s() as MySt

で並べ替えって事か





408:デフォルトの名無しさん
09/03/17 15:11:37
そうです。
例えばですが
メンバに
ID
名前
年齢
日付
がある構造体の配列に
IDや年齢のメンバの場合は番号順で日付は日付順などという感じでなのですが
>>389のサイトにListViewの並べ替えで似たものがあったのですが
これを普通の配列で使えるように書き換えができないものかやっているのですが難しいです。

409:デフォルトの名無しさん
09/03/17 15:22:44
だから>>403まんまじゃん? ちょっと比較関数の中身が変わるだけで
なにが分からないのか

410: [―{}@{}@{}-] デフォルトの名無しさん
09/03/17 16:14:56
>>408
その手の物は、DataTableとDataViewを使うと
DBライクに扱えて楽だと俺は思う

411:デフォルトの名無しさん
09/03/17 16:20:57
403=407
だが
自分で実装してみようと頑張ったが
Dim MyList As New List(Of MySt)
で宣言したところまでは出来たが
いざMyListに値をAddしようとすると訳分からなくなった

タダの配列
s(0).hoge
s(0).moge
をSortしようとしてもVBに怒られた

俺もお手上げ
DataTable使いたくなるw

412:デフォルトの名無しさん
09/03/17 16:27:36
ソート以前にリストの使い方からとは想定外でした

413:411
09/03/17 17:07:08
何とか動いた
この方法が正しいのかは分からんが

s()の配列をAddRangeで代入して
Structure要素の数だけhikakuを追加してやればいけた



414:デフォルトの名無しさん
09/03/17 17:09:13
>>411
MyListが何でいきなりsになってんだか。
>>404がすでに説明しているとおり、Sortメソッドでデリゲート関数を呼び出して、戻り値でソートしてる。
Sortメソッドがクイックソートアルゴリズムを用いて>>403のレスでいけばhikaku関数に比較データを渡してその戻り値で判定してソートを実行している。
ただこの場合だと、ソート対象メンバがひとつだけしかできない。
ソート対象を場面によって変えたい場合は、

Private Class HogeComparer
Implements IComparer(Of MySt)
Public Function Compare(ByVal x As MySt, ByVal y As MySt) As Integer Implements IComparer(Of MySt).Compare
Return x.hoge.Length - y.hoge.Length
End Function
End Class

Private Class MogeComparer
Implements IComparer(Of MySt)
Public Function Compare(ByVal x As MySt, ByVal y As MySt) As Integer Implements IComparer(Of MySt).Compare
Return x.moge - y.moge
End Function
End Class

といった感じで、IComparerインターフェイスを実装したクラスをソート対象にしたいメンバごとに作成し、
Dim?MyList?As?New?List(Of?MySt)
とした場合(ソートしたい配列がMyListのとき)
hogeでソートしたい場合は
Dim hogeCmp As New HogeComparer()
ArrayList.Sort(MyList, hogeCmp) 'Array.List.Sort(MyList, New HogeComparer())でもよい
mogeでソートしたい場合は
Dim mogeCmp As New MogeComparer()
ArrayList.Sort(MyList, mogeCmp) '同上
と呼び出せばそれぞれのメンバでソートができる
まあ、わざわざ対象ごとにクラス作らないといけないところがめんどくさいが。

415:411
09/03/17 17:29:42
>>414
スマン
ちょっと間違った
    Private s As New List(Of MySt)

        Dim r(3) As MySt
        r(0).hoge = "ccc"
        r(0).moge = 123
        r(1).hoge = "bbb"
        r(1).moge = 234
        r(2).hoge = "aaa"
        r(2).moge = 345
        r(3).hoge = "xxx"
        r(3).moge = 0

        s.AddRange(r)

        s.Sort(AddressOf hikaku1)


    Function hikaku1(ByVal x As MySt, ByVal y As MySt) As Integer
        Return x.hoge > y.hoge   
    End Function
    Function hikaku2(ByVal v1 As MySt, ByVal v2 As MySt) As Integer
        Return v2.moge - v1.moge
    End Function

こんな感じにした
ちなみにVS8です

しかしこういうやり方で並べ替えが出来るとは知りませんでした
勉強になりました(自分はめんどくさがりなのでDataTable使いますw)

416: [―{}@{}@{}-] デフォルトの名無しさん
09/03/17 18:42:51
>>415
VS8ならLinqも使うと幸せになれるかも知れない

417:デフォルトの名無しさん
09/03/17 19:13:12
構造体を自分で改変できるなら、
宣言の先頭 (Structure MySt の次の行) で
implements IComparable(Of MySt)
と入れて Enter、てのが早道だべ。

418:デフォルトの名無しさん
09/03/17 19:34:45
ファンクションプロシージャってのがよくわからんなサブしかつかっとらんし

419:デフォルトの名無しさん
09/03/17 23:38:20
2chブラウザをつくるとして
携帯のIDとパソコンのIDは何が違う?

420:デフォルトの名無しさん
09/03/17 23:42:06
IDってユーザーエージェントのことか?

421:デフォルトの名無しさん
09/03/18 00:24:46
>>408
並べ替えのレスいろいろありがとうございました。
おかげさまでなんとか並べ替えできました。
慣れないのが多くてむずかしくて良く理解できていませんが便利なので使わせていただきます。
ありがとうございました。



422:デフォルトの名無しさん
09/03/18 00:29:29
理解して使わんとなんか不満が出た時に見動く取れなくなるぞ

423:デフォルトの名無しさん
09/03/18 00:49:09
メイン
Delegate Sub AdLogDlg(ByVal Log As String)

Thr = New Thread(New ThreadStart(AddressOf MovThr))
Thr.IsBackground = True
Thr.Start()
Thr.Join()


Sub MovThr()
Form1.Invoke(New AdLogDlg(AddressOf Form1.AdLog), New Object() {Txt})
End Sub

ってやった時にInvokeのとこで固まるんだがJoinしてるから?

424:デフォルトの名無しさん
09/03/18 02:08:30
ListViewのItemのフォントとSubItemのフォントを別のものに指定することは出来るでしょうか?

425:デフォルトの名無しさん
09/03/18 03:58:34
NumericUpDownコントロールのスピンボタン?は消せないんですか?

426:デフォルトの名無しさん
09/03/18 08:45:41
>>423
そう。Invokeはその処理の完了を待機するから、
メインスレッド>サブスレッドが終了するまで待ち
サブスレッド>メインスレッドに依頼した仕事が終わるまで待ち
の典型的デッドロック。
BeginInvokeにすれば完了待たずに次に進むからデッドロックは起こらないけど、
そもそもメインスレッドでJoinとかはやるべきじゃない。

>>424
ListViewItem::UseItemStyleForSubItems

427:デフォルトの名無しさん
09/03/18 13:03:42
>>425
それテキストボックスじゃね?


428:デフォルトの名無しさん
09/03/18 13:22:32
>>427
数字フィールドとして使いたい

429:デフォルトの名無しさん
09/03/18 14:02:44
TextBox の KeyPress イベントで、数字以外のキー入力を
蹴れば (イベント構造体の Handled = True) いい。

430:デフォルトの名無しさん
09/03/18 14:36:02
>>428
テキストボックスを数字入力専用にすれば済む話ではないのかと・・・・・

431:デフォルトの名無しさん
09/03/18 15:19:40
>>430
そんなこと出来るの?
>>429は別にして

432:デフォルトの名無しさん
09/03/18 15:22:46
NumericUpDownも内部では数字以外をはじいてるんだと思うが…

433: [―{}@{}@{}-] デフォルトの名無しさん
09/03/18 15:51:58
>>431
カスタムコントロール作るのが簡単じゃね

434:デフォルトの名無しさん
09/03/19 01:31:00
>>431
MaskedTextBoxでいいんじゃね

435:デフォルトの名無しさん
09/03/19 11:22:34
>>433
なんで態々カスタムコントロール?
派生すりゃいいじゃねえか。

436:デフォルトの名無しさん
09/03/19 13:07:34
>>431
ごめ言葉足らずだった、標準機能ではそんなこと出来ない
そういう機能ならどうせ使いまわすんだろうし継承してカスタムコントロールで使いまわし効くようにしたら
という意味

つうか、社内でそういう機能くらい作ってそうなものだけど

437:デフォルトの名無しさん
09/03/19 18:25:05
コントロール配列はなぜ無くなったんですか?

438:デフォルトの名無しさん
09/03/19 20:43:26
レイトバインド(Create Object)できますか?

439:デフォルトの名無しさん
09/03/19 21:32:30
>>437
いらないからじゃない?

>>438
はい

440:デフォルトの名無しさん
09/03/20 01:12:45
TabControlのTabPageなのですが、
コードを書いてデバッグして色々してるうちに
いつの間にかページの順番が変わってしまうのですがこれは何故でしょうか?

441:デフォルトの名無しさん
09/03/20 09:58:55
vb.net2005のあぷりをはいふするときは、
ゆーざーには
最新のネットフレームワークをまいくろそふとのさいとからだうんろーどしてください
って言っとけばいいの?

442:デフォルトの名無しさん
09/03/21 07:43:53
VB2008での質問です。

NumericUpDown1.value = Data1
NumericUpDown2.value = Data2
NumericUpDown3.value = Data3

このようなステートメントが500程あります。
まとめる方法をご教授下さい。

443:デフォルトの名無しさん
09/03/21 10:25:26
ファイルコレクションを取得する時に特定の文字列を含んだ名前のファイルだけを抜き出すときは
GetFiles("*.jpg")
とするけど
GetFiles("*.jpg" and "*gameCG*")
とか
GetFiles("*.jpg" or "*.gif")
みたいにやるのはどうやんの?

444:デフォルトの名無しさん
09/03/21 12:00:28
,


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