VB.NET質問スレ
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2007/09/06(木) 09:24:27VB.NET質問スレ (Part22)
http://pc11.2ch.net/test/read.cgi/tech/1184037822/
テンプレは2〜10くらいまでの間にある予定
0002デフォルトの名無しさん
2007/09/06(木) 09:26:51MSDN
http://msdn2.microsoft.com/ja-jp/library/ms229284.aspx
どぼん!のVB道のトップページとTipsページ
http://dobon.net/vb/
http://dobon.net/vb/dotnet/index.html
Microsoftクイック スタート チュートリアル
http://ja.gotdotnet.com/quickstart/default.aspx
Insider.NET
http://www.atmarkit.co.jp/fdotnet/index.html
宇宙仮面の C# プログラミング
http://uchukamen.com/
.NET TIPS
http://www.atmarkit.co.jp/fdotnet/dotnettips/index/index.html
緑のバイク ★ 初めてのC# プログラム全般
http://homepage3.nifty.com/midori_no_bike/CS/
VB.NETとC#でデザインパターン
http://hccweb1.bai.ne.jp/tsune-1/
匣の向こう側
http://www.ne.jp/asahi/nami/mei/index.html
WisdomSoft
http://wisdom.sakura.ne.jp/
じゃんぬねっと
http://jeanne.wankuma.com/
どっとねっとふぁん - C# Tips And Samples -
http://homepage3.nifty.com/dotnetfan/index.html
http://dotnetfan.org/
C#プログラミングTips
http://www.atmarkit.co.jp/fdotnet/csharptips/index/csharptips_index.html
0003デフォルトの名無しさん
2007/09/06(木) 09:27:21http://www.codeproject.com/vb/net/
the GotDotNet Home Page
http://www.gotdotnet.com/
KEN's .NET
http://www5b.biglobe.ne.jp/~yone-ken/VBNET/index.html
Cetus Links: 19,498 Links on Objects and Components / .NET
http://www.cetus-links.org/oo_dotnet.html
HIRO's.NET
http://vbdotnet.fc2web.com/index.html
@IT:特集 .NET開発者のためのオンライン・リソース・ガイド
http://www.atmarkit.co.jp/fdotnet/special/onlineres/onlineres_01.html
.NETでいきまっしょい!
http://santamartadotnet.hp.infoseek.co.jp/
これがほしかった!厳選サンプルツール集
http://anetm.com/dev/tools/vbdotnet.htm
ぬーやんのdotNET講座
http://www.geocities.jp/nuu_yan/dotNET/index.html
PINVOKE.NET
http://www.pinvoke.net/
WinAPI Database for VB Programmer
http://www.winapi-database.com/
0004デフォルトの名無しさん
2007/09/06(木) 09:27:51http://custom.programming-in.net/
CodeZine
http://codezine.jp/
ConvertCSharp2VB
http://www.kamalpatel.net/ConvertCSharp2VB.aspx
@IT:.NET Tools
http://www.atmarkit.co.jp/fdotnet/tools/index/index.html
SharpLibrary Redirector
http://www.sharplibrary.com/
MSDN アカデミック アライアンス 技術資料
http://www.microsoft.com/japan/msdn/academic/articles/
「300 秒でズバリ !!」&「10 行でズバリ !!」シリーズ
(VS2005) http://www.microsoft.com/japan/msdn/thisweek/300x10/
(VS.NET 2003) http://www.microsoft.com/japan/msdn/thisweek/wednesday/
PAPA'n VB
http://papanvb.i-love-vb.net/
(旧コンテンツ) http://www.mitene.or.jp/~sugisita/index_old.html
VB レスキュー花ちゃん
http://www.bcap.co.jp/hanafusa/dotnet/index.html
0005デフォルトの名無しさん
2007/09/06(木) 09:30:57質問者そっちのけで住人同士の議論のぶつけ合いになることが多々あります。
議論のぶつけ合いは互いの成長に良き糧となりますが、そういった場合は文字通り
別スレッドを立てて、裏で処理してください。
また、このスレにTry-Catch文が書かれていた場合、自分の発言が例外としてCatchされないか、良く考えてから書き込みをして下さい。
0006デフォルトの名無しさん
2007/09/06(木) 09:52:48乙。特に5乙w
0007デフォルトの名無しさん
2007/09/06(木) 11:40:57gjwww
0008デフォルトの名無しさん
2007/09/06(木) 14:17:11まあ2003で止まってる人かもしれんが。
0009デフォルトの名無しさん
2007/09/06(木) 14:29:27開放の話ならUsingの話題になっただろうが、ヒートアップしてたのは例外処理の話題だからなw
0010デフォルトの名無しさん
2007/09/06(木) 14:30:54Finallyで解放するのが普通だとかどうだとか。
ちゅうか、Using使ったらもう戻れません。w
0011デフォルトの名無しさん
2007/09/06(木) 14:40:26いやもちろんキャッチした後、正しくリカバリできるならそれがベストなんだろうけど、
普通はできないでしょ。
0012デフォルトの名無しさん
2007/09/06(木) 14:55:29.net2003でデータグリッドを使ってファイル操作を行っているんですが、
データグリッド内のTabキーの動きを制限したいんですが、やり方がわかりません。
自分のしたい動きは、Tabを横移動させないで、下にだけ移動させたいんですけど。。。
どなたか教えてください!!
0013デフォルトの名無しさん
2007/09/06(木) 14:58:13ReleaseComObjectを呼ばないとインターフェイスが開放されないと思ってる人が多いが、
ファイナライザでも開放される。
Disposeに対するFinalizeと同じ位置づけで、ある種のフェイルセーフ。
場合にもよるが異常系でのReleaseComObjectはそれほど神経質になる必要はない。
0014デフォルトの名無しさん
2007/09/06(木) 15:01:27丁寧に作る or ラップするクラスを作ってオブジェクト管理しっかりならOKだけどさ。
暗黙のオブジェクトでNGってのはちょっと。
仕事だったら、安定性も考えて市販のライブラリが安い。
0015デフォルトの名無しさん
2007/09/06(木) 15:17:34KeyDownとかで拾えない?
TabKey押下時、もともとの動きをe.handle=trueでキャンセルして、CurrentCellを現在のCellからRow+1する。
0016デフォルトの名無しさん
2007/09/06(木) 18:28:34だからそんな話は誰もしてなかったんだよw
かってにそういう話だと思い込んじゃった人が少なくとも一人はいたというだけのこと。
>>13
>ReleaseComObjectを呼ばないとインターフェイスが開放されないと思ってる人が多いが、
>ファイナライザでも開放される。
やっぱりそうだよね
ReleaseComObject読んでおかないとエクセルのプロセスが残る、
とかいう話がまことしやかに言われているが、個人的にはそんな経験は
まったくしたことがないんだよね。
個人的に、この手のことを喧伝してる人はそれ以外のところで
何か妙なことをやっているんだろうなあと思ってる。
あと、こういうことを言う人って何故か「プログラムで作成したエクセルの
プロセスはプログラムで<絶対に>終了しなければならない」という
妙な思い込みにとりつかれていることが多い。
0017デフォルトの名無しさん
2007/09/06(木) 18:44:060018デフォルトの名無しさん
2007/09/06(木) 18:49:42ちょっと説明が舌足らずだったけど、「エクセルのプロセスが残る」という主張を
する人のその言葉の意味は、Application.Quit呼んでエクセルを終了した
はずなのにエクセルのプロセスが残るってことらしいよ。
しかもエクセルを起動したアプリを終了しても残るんだとさ。
0019デフォルトの名無しさん
2007/09/06(木) 19:42:39プロセスが終了する条件はインターフェイスがすべて開放されてかつ
Workbook.CloseとApplication.Quitの両方が実行されている。
(もちろんWorkbookを開いたり、Addしてない場合はCloseは不要なのだけど)
Quitしてるのに残ってる場合はCloseしてないか見当違いなものをCloseしている。
前スレのソースはそれだった。
0020デフォルトの名無しさん
2007/09/06(木) 19:46:10JScriptの例だけど、Microsoftの文書で
Application.Quitを呼んでも、参照が残っているとExcelのプロセスは完全に破棄されない。
すぐにExcelのプロセスを終了させるためには参照を破棄するためにガベージコレクション
を強制的に引き起こしてやる必要がある。
と明示的に書かれた記事はある。
ttp://support.microsoft.com/kb/266088/ja
なので、Application.Quitを呼んだだけでは不十分で、その後、速やかに
参照を破棄する、というのは正しいのではないの?
>しかもエクセルを起動したアプリを終了しても残るんだとさ。
これは分からない。
Application.Quit読んでれば問題ないと思うけどね。
0021デフォルトの名無しさん
2007/09/06(木) 19:46:37Vistaで実行するとIPV6の値が返ってきてしまいます。
なんとかIPV4のほうのアドレスを取得できないものでしょうか?
Public Function GetLocalIpAddress(Optional ByVal ipNo As Integer = 0) As String
Dim temp As System.Net.IPAddress() = System.Net.Dns.GetHostEntry(System.Net.Dns.GetHostName).AddressList
If temp.Length <= 0 Then
Return System.Net.Dns.GetHostName & ":IpUnKnown"
Else
Return temp(temp.Length - 1).ToString
End If
End Function
0022デフォルトの名無しさん
2007/09/06(木) 20:17:33V4, V6あったらV6が優先されるようだからそうなるのかな。
Dns.GetHostAddressesなら両方戻ってくるはず。
0023デフォルトの名無しさん
2007/09/06(木) 20:31:44>なので、Application.Quitを呼んだだけでは不十分で、その後、速やかに
>参照を破棄する、というのは正しいのではないの?
それはたぶん正しいと思う。
疑問なのはReleaseComObjectが本当に必要かどうか。
エクセルを起動したアプリを終了してもエクセルのプロセスが消えない問題は
VB6の時は確かにあった。
ドトネドでは、たとえばメソッド内で使う一時的なオブジェクトでも必ず変数に
入れて使用後はそれにNothingを入れる、というような面倒なことをしなくても
そういった問題は経験してないなあ。
0024デフォルトの名無しさん
2007/09/06(木) 20:38:20レスありがとうございます。
どうやらGetHostAddressesを調べながらテストしてみたら
もとの提示したサンプルでもIpAddressのArrayの中の一つにV4形式のアドレスがあるようでした。
これってVistaのV4を切っていなければ必ず入っているものなんでしょうか・・・・
とりあえずIPV4が有効なことを前提に、ループで回して適当な正規表現を取得してみることにします。
0025デフォルトの名無しさん
2007/09/06(木) 20:42:52その場でガベージコレクションするなら別だが
問題なのはガベージコレクションじゃ実際にいつ解放されるのか分からんて事だ。
0026デフォルトの名無しさん
2007/09/06(木) 20:46:13たんにそれがあまり望ましい動きじゃないってだけで
0027デフォルトの名無しさん
2007/09/06(木) 20:48:47そんなこと誰も言ってなかったぞ?
勘違いしてたやつはいたみたいだが…
0028デフォルトの名無しさん
2007/09/06(木) 20:57:500029デフォルトの名無しさん
2007/09/06(木) 21:02:01結局まっとうな手段としては漏れなく解放してやるしかない
はっきりいってあまり現実的じゃないから
ガベージコレクションでごまかしたくなる
開発者に徹底するなんてまず無理だもんorz
0030デフォルトの名無しさん
2007/09/07(金) 07:54:19ListView のカラムの移動について教えてください。
ListView で、カラムを摘んで別のカラム位置にD&Dして移動することができましたが、
これで ListView.ColumnReordered イベント が発生しますが、
そこで ColumnReorderedEventArgs.OldDisplayIndex プロパティ や 同NewDisplayIndex プロパティ
を知ってカラムの並び順を記憶する配列などを更新することができ、
それを使って、次回にその並び順に Columns (=ColumnHeaderCollection クラス ) の
メンバーItemを並べ替えることはできるのですが、
それだけですと、データ部の ListViewItem の各カラムはそれに伴って同様に移動しては
くれませんでした。
この場合、このデータ部分のカラムもいっしょに移動する(D&Dで移動するのと同じ効果)
方法はありますでしょうか? よろしくお願いします。
0031デフォルトの名無しさん
2007/09/07(金) 08:24:36が、が、が、
こういう日本語使う人ってたまにいるね。
君はListViewItemtというものを根本的に勘違いしてないか?
おまけにどうしようもなく知恵がない。
カラム(ヘッダ)の順番が分かっているなら、カラムの順番に対応して
サブアイテムを設定するだけだと思うんだが。
0032デフォルトの名無しさん
2007/09/07(金) 08:25:30訂正
×ListViewItem
○ListView
0033デフォルトの名無しさん
2007/09/07(金) 08:36:40>カラム(ヘッダ)の順番が分かっているなら、カラムの順番に対応して
>サブアイテムを設定するだけだと思うんだが。
確かにその通りで、ListViewItem.ListViewSubItemCollection クラス の説明をみますと
そのように行うことが可能なようなのですが、D&Dで一発で実行されていることを考えると
どうも一発系のメソッドかプロパティがあるのでは・・・・・?と思ったのです。
もう一度Helpを探してみてもどうやら見つからないところを見ると、やはりおっしゃるように
ひとつひとつ ListViewItem をForループで回して対応するしかないのかもしれないです。
ものすごく大量の ListViewItem があった場合に時間がかかりそうなのも懸念された
のですが、それしか方法がない場合はしかたないですね、とりあえずこれでやってみる
ことにします。ご指導どうもでした。
0034デフォルトの名無しさん
2007/09/07(金) 08:54:170035デフォルトの名無しさん
2007/09/07(金) 08:57:28やっぱりもっといい方法あるでしょうか。それ知りたいのですが、よろしければ
ご指導をよろしく。
0036デフォルトの名無しさん
2007/09/07(金) 09:00:23実際、Explorer ではちゃんと実現されているので、やはり簡単にできるのではとは
思っているのですが、どうも Help が読みこなせていないのかもしれません。
やはり一発系があれば知りたいのですが・・・
0037デフォルトの名無しさん
2007/09/07(金) 12:01:23>エクセルを起動したアプリを終了してもエクセルのプロセスが消えない問題は
>VB6の時は確かにあった。
VB6でのこの問題はClose/Quit操作漏れの他に、
End命令や捕捉されていない例外で終了した場合にCOMオブジェクト破棄がなされないことにある。
この場合COMオブジェクトがアウトプロセスサーバーの場合はそのプロセスが残る。
一方、全フォームがUnloadか閉じるで終了した場合は後処理でオブジェクトの破棄はなされる。
COMへの参照をグローバルやstatic変数に置くとNothingを設定しない限り
終了時まで参照が残るため、Endで終了した場合は後処理が省かれプロセスが残ってしまう。
さらにFormの暗黙のインスタンスの問題がある。Formで暗黙のインスタンスを使った場合、
そのFormのインスタンスはUnload(閉じるを含む)したとしても、プロセスの終了まで破棄されない。
ただしUnload(閉じるを含む) とSet Form1 = Nothingの両方の操作を行った場合は破棄される。
このためFormのフィールドにCOMの参照を置いた場合もグローバルやstatic変数に置くのと
同じ問題が発生する。あとケースとしてはまれだが循環参照があった場合も同様。
0038デフォルトの名無しさん
2007/09/07(金) 12:05:42VB.NETの場合はEnvironment.Exitで終了しても未補足の例外で異常終了した場合も
オブジェクトの終了処理はなされるので問題はおきにくい。
例外はCLR自体が~C操作やOS側の例外での終了した場合。
Formの暗黙のインスタンスはVB6と似た動きをするので早期に参照を破棄したい場合は
同様の注意が必要になる。
暗黙のインスタンスではForm1のメソッドにアクセスする時に、
Form1が初期状態(Nothing)または既にDispose(Close)された状態であれば
新規にForm1のインスタンスを生成してForm1に設定する。
VB6と違ってUnload(Dispose)後の再利用はしないが、
参照が破棄されるのは次のForm1を新たに操作し始めたタイミングになる。
Dispose後速やかにGCの対象にするためにはSet Form1 = Nothingの操作が必要になる。
0039デフォルトの名無しさん
2007/09/07(金) 14:01:370040デフォルトの名無しさん
2007/09/07(金) 18:51:14詳しいね。
なるほど勉強になったよありがとう。
0041デフォルトの名無しさん
2007/09/08(土) 17:32:17このウィンドウクラスを変更するにはどのような手段を用いればよろしいのでしょうか?
VC++ですとPreCreateWindowをオーバーライドしろ、とあるのですが・・・
004241
2007/09/08(土) 20:26:48正:ウィンドウクラス名
失礼しました・・・
0043デフォルトの名無しさん
2007/09/08(土) 22:42:58Loadを実装しれ
private void Form1_Load(object sender, System.EventArgs e){}
004443
2007/09/08(土) 22:49:24こっち
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
VBだとイベント明示しないといけないのね
0045デフォルトの名無しさん
2007/09/08(土) 23:07:49誰に向かって何を言ってるの?
0046デフォルトの名無しさん
2007/09/09(日) 03:07:08CreateParams オーバーライドすれば書き換えられるが、
確か自前で事前に RegisterClass しなけりゃ駄目だった気がする
004746
2007/09/09(日) 05:12:190048デフォルトの名無しさん
2007/09/09(日) 21:15:24MustInheritを付けてコンストラクタをPrivateにするのが普通ですか?
0049デフォルトの名無しさん
2007/09/09(日) 21:16:380050デフォルトの名無しさん
2007/09/09(日) 21:50:19Module にするのも一般的かもしれない。
まあ静的クラス作ることはあんまり無いはずだが。
0051デフォルトの名無しさん
2007/09/09(日) 22:29:28それは初耳
0052デフォルトの名無しさん
2007/09/10(月) 10:42:28VB2005を使っているのですが、
VB6のときにあった、ディストリビューションウィザードがなくなって
セットアップディスクが作成できなくて困ってます。
別のツールかなにかで作るのでしょうか?
お勧めがあったら教えてください。
0053デフォルトの名無しさん
2007/09/10(月) 12:38:38VS2005STD以上には付いてるよ。
ただフロッピーにはしてくれない。
0054デフォルトの名無しさん
2007/09/10(月) 12:39:14@itに解説があるだろ。
なんでウダウダいってる間に自分で調べようとしないの?
0055デフォルトの名無しさん
2007/09/10(月) 16:58:32プロジェクト全体にスコープを持つ変数を設定したい場合には
どこにどう書けばいいのでしょうか・・・・。
0056デフォルトの名無しさん
2007/09/10(月) 17:04:19module
0057デフォルトの名無しさん
2007/09/10(月) 17:13:02もし、各フォームで共通の変数とか必要でも、その所有フォームなり所有プロセスってものがあるっぺさ。
どこに書くか知る前に、本当に必要かかんがえろって。
グローバル変数は普通許可制だよな。
プロジェクトリーダに申請書出して審議委員会が決定して使える。
0058デフォルトの名無しさん
2007/09/10(月) 17:16:25ありがとうございました!!!
0059デフォルトの名無しさん
2007/09/10(月) 17:20:08VBを使わせてること自体がそのなんとか委員会の落ち度だろ。
あるものはありがたく使おうぜ。
0060デフォルトの名無しさん
2007/09/10(月) 17:41:21自責の念に駆られつつ盛大にグローバル変数使ってる
0061デフォルトの名無しさん
2007/09/10(月) 17:47:20VB..netにかぎらないっぺ。
Public で Static なクラス変数作れば、モジュールと同じだっちゅーの。
VBだからとかいってると、はじかくど。
006260
2007/09/10(月) 17:50:11g_とかプリフィックス付けてくれてたらまだ許せるけど
そういうのも一切なくて殴りたくなる
0063デフォルトの名無しさん
2007/09/10(月) 17:52:010064デフォルトの名無しさん
2007/09/10(月) 17:52:16それがWebだったりしたら、もう萌え萌え。
0065デフォルトの名無しさん
2007/09/10(月) 17:54:52そういう人種はクズで汚れたプログラムを組む努力を怠らないのだろう・・・。
たとえば、グローバル変数を作るのにしたって、ここで聞いたら勉強しないでまたやるだけじゃん。
そのグローバル変数を .net とか Java でどう実現するかって、非常に勉強になるよ。
つうか、その勉強と労力考えたら、普通作らないよね。
シングルトン実装とかいろいろ出てくるからいい勉強なんだが。
0066デフォルトの名無しさん
2007/09/10(月) 18:12:110067デフォルトの名無しさん
2007/09/11(火) 17:50:16Private Structure struct1
Dim st As struct2()
End Structure
Private Structure struct2
Dim a, b, c As String
Dim uniqueID As Integer
End Structure
Private structAry As struct1()
上記のような構造体を使っています。
uniqueIDだけが情報として分かる状態において、そのuniqueIDに対応する a,b,c as String
を取り出したいのですが、どのようにすればよいでしょうか。
環境は、VB2005pro、WinXPproSP2です。
System.Array.Find()を使うのかと思いましたが、Predicateのインスタンシング自体がよく分かりません。
Dim ch As Predicate(Of struct1) = New Predicate(Of struct1)(AddressOf 〜〜〜)
とか書くのでしょうか?
宜しくお願いします
0068デフォルトの名無しさん
2007/09/11(火) 18:03:54struct1にstract2の配列を持ってるのに、
さらにstract1を配列にしてるのはどして?
0069デフォルトの名無しさん
2007/09/11(火) 18:10:31Private Structure struct1
Dim structID,Length,etc As Integer
Dim st As struct2()
End Structure
Private Structure struct2
Dim a, b, c As String
Dim uniqueID As Integer
End Structure
Private structAry As struct1()
失礼しました。必要ないと思って書きませんでしたが、各構造体には他にもいろいろなメンバがあります。
必要があって、構造体配列の中に構造体配列が入っているような状況です。
0070デフォルトの名無しさん
2007/09/11(火) 18:31:480071デフォルトの名無しさん
2007/09/11(火) 19:06:26こういう構造になってるわけだろ。検索ロジックも2重に使うわけかな?
stractAry - struct1 - struct2
+ struct2
+ struct2
+ struct1 - struct2
+ struct2
+ struct1 - struct2
>>70 に同意。
Array.Find/Predicateは匿名デリゲートが使えないとありがたみがないからね。
いまのVBだと意味なし。
0072デフォルトの名無しさん
2007/09/11(火) 19:16:04Structure struct2
Dim a, b, c As String
Dim uniqueID As Integer
End Structure
Module Program
Private structAry As struct2()
Sub Main
ReDim structAry(3)
structAry(0).uniqueID = 1
structAry(0).a = "a1"
: 略
structAry(2).c = "c3"
Dim rslt As struct2 = Array.Find(structAry, AddressOf MyProduct)
Console.WriteLine("{0} : {1}, {2}, {3}", rslt.uniqueID, rslt.a, rslt.b, rslt.c)
End Sub
Function MyProduct(ByVal st2 As struct2) As Boolean
Return st2.uniqueID = 2
End Function
End Module
0073デフォルトの名無しさん
2007/09/12(水) 00:29:23すばらしい。
こいつの記事は全部読まないほうがいい。
007467
2007/09/12(水) 10:27:07このクラスの存在を知りませんでした。
とても便利そうなのでこれを使ってみようと思います。
>>72
配列が二重になっているせいで、Array.Find()を使うのが難しいようですね。
しかしながら、おかげさまで単純配列におけるArray.Find()の使い方が分かりました。
ブール値を返す関数を作って、それに対してAddressOfを指定すれば良いのですね。
勉強になりました、ありがとうございます。
0075デフォルトの名無しさん
2007/09/14(金) 15:07:14コード・エディタ上で右クリックして出てくるコンテキスト・メニューで、
「すべての参照の検索」 がありますが、そのとき、検索する範囲を
「現在のドキュメント」「現在のプロジェクト」などと
自分で限定する方法があれば知りたく。よろしく。
0076デフォルトの名無しさん
2007/09/14(金) 20:20:18ctrl+F
ctrl+shift+F
0077デフォルトの名無しさん
2007/09/15(土) 05:45:46(0,0)-(15,0)を指定しても描画されず、
(0,1)-(15,1)だと実際には(0,0)-(14,0)を描画。
SetPixelや、DrawRectangleとか他のメソッドは想定した座標を描画してくれるのですが・・・
007877
2007/09/15(土) 06:41:11PixelOffsetModeプロパティをHighQualityにしてたせいでした。
0079デフォルトの名無しさん
2007/09/15(土) 12:56:46それたぶん解決してないよ。
根本的なことが分かってないと思うな。
グラフィックデバイスの点はモザイク画のタイルみたいなものであって
数学的な「点」とは違う。
たぶん当たり前のことに聞こえると思うけど、
これをとことん理解してないとそういう不可解な現象(実際は本人の勘違い)に
いろいろ出くわすことになるよ。
Graphicsのメソッドで指定する座標っていうのは論理座標(数学の座標に近いもの)
であって、大きさを持つタイルの位置ではない。
0080デフォルトの名無しさん
2007/09/15(土) 18:50:030081デフォルトの名無しさん
2007/09/15(土) 19:32:140082デフォルトの名無しさん
2007/09/15(土) 23:13:540083デフォルトの名無しさん
2007/09/15(土) 23:21:540084デフォルトの名無しさん
2007/09/16(日) 06:23:45ビジネスロジックとFormをオブジェクトバインディングで紐付けた場合
Validationをビジネスロジックに記述します
このとき、データ更新のときは、Validationにより適切に処理されますが
データ作成(登録)のときは初期値を設定した時点で
Validationエラーとなります(必須項目など)
回避する方法は無いでしょうか?
0085デフォルトの名無しさん
2007/09/19(水) 19:19:17ソケット通信を行うプログラム(ホスト側)を作成しています
ぐぐったサンプルを参考にし、受信データが0文字の際、接続が切れたとみなし
再接続を行う処理を実装したいのですが
実際に接続が切れた状態でデータを読み出そうとすると、IOExceptionが発生し、処理を行うスレッドが終了しています。
文字列で接続を判断するのでなく、ポーリングで接続を判断し、再接続処理を行いたいのです。
008685
2007/09/19(水) 19:22:45''クライアントからの接続を受け付ける
Dim client As TcpClient = server(intMachineNo).AcceptTcpClient()
Dim stream As NetworkStream = client.GetStream()
While True
Dim ReadData(100) As Byte
Dim SendData(2) As Byte
Dim len As Integer
Dim strQR As String
''受信データの読み出し
len = stream.Read(ReadData, 0, ReadData.Length) '' ここで切断時エラー
strQR = System.Text.Encoding.ASCII.GetString(ReadData, 0, len)
''受信データありの場合
If len > 0 Then
''クライアントに応答し処理を実行
''len = 0 は、接続が切れたとみなす
Else
''クライアント受入モジュールのリフレッシュ
client = server(intMachineNo).AcceptTcpClient()
stream = client.GetStream()
End If
End While
0087デフォルトの名無しさん
2007/09/19(水) 19:50:18Imports System.IO
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim n As Integer
For n = 0 To 1000000
Dim fs1 As FileStream = New FileStream("test.jpg", FileMode.Open, FileAccess.Read)
Next
End Sub
End Class
上記コードを実行させても、メモリの使用量が増えません。
GCが働いてるからでしょうか。
あと、読み取り専用ならば、上記のようにストリームを閉じる必要ないでしょうか。
0088デフォルトの名無しさん
2007/09/19(水) 21:05:330089デフォルトの名無しさん
2007/09/20(木) 00:10:11Try...Catch
009085
2007/09/20(木) 05:23:47長くなるから省いてあります
0091デフォルトの名無しさん
2007/09/20(木) 10:14:08どの範囲でTry Catchしてるのよ?
閉じたら0を返すの動作が必要なら、SocketクラスのReceiveを直に使おう。
009290
2007/09/20(木) 15:17:43Receiveでも同じで0は返ってきませんでした
0093デフォルトの名無しさん
2007/09/20(木) 15:24:53そんなの無駄な努力だよ。ほとんどのばあい。
0094デフォルトの名無しさん
2007/09/20(木) 15:27:35だったらこれでいいじゃん。
Try
len = stream.Read(ReadData, 0, ReadData.Length) '' ここで切断時エラー
Catch Ex As IOException
len = 0
End Try
0095デフォルトの名無しさん
2007/09/20(木) 18:00:11インストール時に、インストールPCのレジストリ内の値(ディレクトリパスを格納している)を読み込んで、
そのディレクトリに対してdllをインストールするようにしたいのですが、どうしたらよいでしょうか。
やりたいことは、Setup>ファイルシステム>カスタムフォルダ
このカスタムフォルダのDefaultLocationに、インストール時にPCから取得したレジストリの値を
入れ込みたいのです。
よろしくおねがいします。
0096デフォルトの名無しさん
2007/09/20(木) 18:01:10通信の終端判定はNetworkStreamでもReceiveでも受信サイズ0で可能。
IOExceptionはMSDNにあるとおりソケットを閉じた後に操作した場合に発生する。
エスパーするにコードを省略してる部分でソケットを閉じてるのだと思うよ。
''受信データありの場合
If len > 0 Then
''クライアントに応答し処理を実行
client.Close() '' ここでこういうことをしてないか?
0097デフォルトの名無しさん
2007/09/20(木) 20:28:01Registryクラス
0098デフォルトの名無しさん
2007/09/21(金) 19:11:44接続が切れててclientにOKメッセージを返してたのが問題だったようです
ありがとうありがとう
スタックトレースしてもその位置でエラーは発生してない不思議。
0099デフォルトの名無しさん
2007/09/21(金) 22:44:49Dim myDirectries as Object
myDirectories = My.Computer.FileSystem.GetDirectories(Me.TextBox1.Text)
のようなコードがあったとしてmyDirectriesはObjectで配列ですよね
これをObjectじゃなくてStringの1次配列にとりたい場合はどんな方法を使えば良いでしょう?
For〜Nextで回す方法以外であれば教えてください
0100デフォルトの名無しさん
2007/09/21(金) 22:51:42CopyToでいける
0101デフォルトの名無しさん
2007/09/21(金) 23:04:46特別便利ならともかく、標準のライブラリの機能になにかプラスされてるとも
思えないんだけどそれ。
0102デフォルトの名無しさん
2007/09/21(金) 23:07:470103デフォルトの名無しさん
2007/09/21(金) 23:49:02こんなクラスもあるんですねぇ。勉強になりました。
>>101>>102
特に便利とか優れてるからとか理由はないんですが
せっかくの新しいオブジェクトだしちょっとだけ打ちやすい読みやすい感じがして
System.IOと両方使ってます。
ありがとうございました。
010499=103
2007/09/21(金) 23:52:430105デフォルトの名無しさん
2007/09/21(金) 23:57:39あれ全然使えねえと思うんだけど。
全ユーザー共通の設定は残せないし、アンインストールしてもゴミ残すし。
なにより融通がきかない。
普通に自分でシリアル化してレジストリなり実行ファイルのディレクトリなりに
保存する方が融通が利くし、手間もほとんど変わらないだろう。
0106デフォルトの名無しさん
2007/09/22(土) 00:05:100107デフォルトの名無しさん
2007/09/22(土) 00:16:040108デフォルトの名無しさん
2007/09/22(土) 00:33:00微妙な差だとは思うが、個人的には自分でシリアル化して保存した方がむしろ手間は少ないと思う。
すくなくとも精神的にはるかに楽だ。
シリアル化なんて自分でライブラリ化(といってもシリアライズとデシリアライスの静的メソッド
のペアに過ぎないが)しておけばメソッド一発呼ぶだけだぞ。
0109デフォルトの名無しさん
2007/09/22(土) 01:24:310110デフォルトの名無しさん
2007/09/22(土) 01:28:410111デフォルトの名無しさん
2007/09/22(土) 11:43:340112デフォルトの名無しさん
2007/09/22(土) 19:16:380113デフォルトの名無しさん
2007/09/22(土) 19:21:53Officeオートメーションなら確実にVBの方が少ないな
0114デフォルトの名無しさん
2007/09/22(土) 19:25:13C#の方が構文が簡潔でインテリセンスも親切で速く書けるよ(Excel操作なんかは例外だけど)
使う上で同じ動作をしているように見えるコードならVBの方が短くなることもあるよ
短いことが必ずしもいいこととは限らないよ
0115デフォルトの名無しさん
2007/09/22(土) 19:34:330116デフォルトの名無しさん
2007/09/22(土) 22:36:53TrackBarを使ってシステム音量を操作するプログラムを製作しているのですが、
音量の取得や設定の仕方がよくわかりません。
詳しい方ご教授願います。
0117デフォルトの名無しさん
2007/09/23(日) 17:19:21サーバー側
Dim host As String = "localhost"
Dim port As Integer = 2001
Dim ipAdd As System.Net.IPAddress = System.Net.Dns.Resolve(host).AddressList(0)
Dim listener As New System.Net.Sockets.TcpListener(ipAdd, port)
listener.Start()
クライアント側
Dim host As String = "localhost" 'サーバーのホスト名
Dim port As Integer = 2001 'サーバーのポート番号
Dim hostadd As System.Net.IPAddress = System.Net.Dns.Resolve(host).AddressList(0)
Dim tcp As New System.Net.Sockets.TcpClient(host, port) 'TcpClientを作成し、サーバーと接続する
1台のマシンでのTCP/IP通信はこれで上手くいくのですが、
クライアント側のサーバー名を host = "192.168.1.13"とローカルマシンのIPアドレスにしたら
うまくいきません。なにか間違ってるのでしょうか?
実際は、このアドレスを、グローバルアドレスに設定して、遠距離で通信したいと考えています。
0118デフォルトの名無しさん
2007/09/23(日) 17:21:480119デフォルトの名無しさん
2007/09/23(日) 17:26:45サーバー側がLoopbackアダプタでリスニングしてるせいだろう。
全アダプタでリスニングする。
Dim ipAdd As System.Net.IPAddress = System.Net.IPAddress.Any
0120デフォルトの名無しさん
2007/09/23(日) 17:33:33ありがとうございます。
次は、ポートを開放してから、このサーバーを起動したまま、場所を移して
クライアントをグローバルIPにして試してみます。
0121デフォルトの名無しさん
2007/09/23(日) 22:37:220122デフォルトの名無しさん
2007/09/23(日) 22:40:330123デフォルトの名無しさん
2007/09/23(日) 23:33:22そんな仕様ありえないし
Timerってもいろいろあるし
今日は雨だし
0124デフォルトの名無しさん
2007/09/23(日) 23:39:53Timerってなに?(いや実際自分で作れるし)
0125デフォルトの名無しさん
2007/09/24(月) 01:22:56ベつスレッド内からタイマーコントロールの開始・停止を行うんじゃないかと予想してみる
0126デフォルトの名無しさん
2007/09/24(月) 02:00:31質問した人と別人なんですが、このとき
Return?st2.uniqueID?=?2
の2を引数で渡すにはどう書くんでしょうか。
それともそういう使い方はしないのでしょうか。
0127デフォルトの名無しさん
2007/09/24(月) 02:13:22意味不明なんだが・・・
0128デフォルトの名無しさん
2007/09/24(月) 02:41:23C#ではこうかける。
int findID = 2;
struct2 rslt = Array.Find(structAry,
delegate(struct2 st2){ return st2.uniqueID == findID; });
C#3.0ではさらにラムダ式ですっきり。
int findID = 2;
struct2 rslt = Array.Find(structAry, st2 => st2.uniqueID == targetID);
VB.NETではfindIDをクラスのメンバー変数に持つしかない。>>71で
>Array.Find/Predicateは匿名デリゲートが使えないとありがたみがないからね。
と言ってるのはこのためだろう。
0129デフォルトの名無しさん
2007/09/24(月) 09:21:38XMLリテラルキモス
0130デフォルトの名無しさん
2007/09/24(月) 15:03:32VSのBeta2では今のところまだのようで、
LINQ文自体はC#のより拡張しててラムダ式なしで書けるようにしているようです。
文法的にタイトそうなのでどういう形でサポートするか興味があります。
こんな関数内関数でクロージャをサポートするんじゃないかと予想していますがどうなんでしょうね。
Dim k As Integer = 123
Function MyProduct(ByVal st2 As struct2) As Boolean
Return st2.uniqueID = k
End Function
Dim rslt As struct2 = Array.Find(structAry, AddressOf MyProduct)
0131デフォルトの名無しさん
2007/09/24(月) 15:55:39まぁ、書籍で読んで「こんなことできますよ」くらいしか知らないからで
実際にやってみたら何かいい使い道が浮かぶのかもしれないが
0132デフォルトの名無しさん
2007/09/24(月) 15:58:47また大改造するのかな
0133デフォルトの名無しさん
2007/09/24(月) 16:30:210134デフォルトの名無しさん
2007/09/24(月) 16:38:020135デフォルトの名無しさん
2007/09/24(月) 16:49:12Return st2.uniqueID = k
End Function
0136デフォルトの名無しさん
2007/09/24(月) 16:50:35Dim rslt As struct2 = Array.Find(structAry, AddressOf Function(ByVal st2 As struct2) As Boolean
Return st2.uniqueID = k
End Function
0137デフォルトの名無しさん
2007/09/24(月) 17:39:52>VSのBeta2では今のところまだのようで、
普通に実装されてるけど < VBの匿名メソッドとラムダ式
ttp://msdn.microsoft.com/msdnmag/issues/07/09/BasicInstincts/default.aspx?loc=jp
0138デフォルトの名無しさん
2007/09/24(月) 17:56:17ってかAddressOfもないだけかな?
おう、3項演算子も導入されるのね…
0139デフォルトの名無しさん
2007/09/24(月) 18:35:47結果の型を推定する、遅延バインディングあたりは面白そうだ。
ステートメント本体を含むラムダとか匿名メソッドはまだっぽいけど?
0140デフォルトの名無しさん
2007/09/24(月) 18:48:55beta2に間に合わなかった機能は多分無理なんじゃないかな
というかC#と同じ機能を持たせるみたいな公約とかあったっけ?
0141デフォルトの名無しさん
2007/09/24(月) 23:05:52生成しようとしているのですが、以下のエラーが出てしまいます。
======================================================
コンパイラ エラー メッセージ: BC30188: 宣言が必要です。
行 8: t_class = New CSTEST.MyClass
ソース ファイル: C:\test\test.aspx 行: 8
=======================================================
DLLの配値に関して特別な事をしなければいけないのでしょうか。
環境はIIS 5.1をWindowsXP SP2上で動作
test.aspxをC:\Inetpub\wwwroot\test
CSTEST.dllをC:\Inetpub\wwwroot\test\bin
にいれています。
test.aspxソース
<%@ PAGE LANGUAGE="VB" %>
<%@ Import namespace="CSTEST" %>
<Script runat="server">
Dim val As Integer = 111
Dim t_class As CSTEST.MyClass
Dim valrtn As Integer
t_class = New CSTEST.MyClass
t_class.setValue(val)
valrtn = t_class.getValue()
</Script>
<html><head></head>
<body>value = <%= valrtn %></body></html>
0142デフォルトの名無しさん
2007/09/25(火) 02:34:36MySqlDataReaderを使ってデータを取得していますが、データの数を取得する方法がわかりません
Public Dr As MySqlDataReader
(略)
While (Dr.Read())
i = i + 1
End While
現在こんな感じで取得する方法しか思いつきませんが、なにかプロパティとかあるのでしょうか?
0143デフォルトの名無しさん
2007/09/25(火) 02:40:290144デフォルトの名無しさん
2007/09/25(火) 02:43:25今までは特に問題なかったのですが、Whileの前にレコード数を取得する必要が出てきて困ってます
0145デフォルトの名無しさん
2007/09/25(火) 03:39:21IDataReaderは消火ホース型だから読み終わらないと件数は確定しない。
事前に件数が必要というのは固定の配列に格納したいのだろうけど、
可変のコレクションにつっこむのをすすめる。
select count(*) のクエリーを先に発行することで件数を求めることも出来るが、
当然実際にレコードを読み取るときには件数が変動している可能性はある。
0146デフォルトの名無しさん
2007/09/25(火) 03:43:10Error ID: BC30188
このエラーを解決するには
非宣言ステートメントをプロシージャの本体に移動します。
0147142
2007/09/25(火) 03:44:39無理やりやるしかないですね
フィールドのカウントはできるのにレコードのカウントが出来ないというのも困ったちゃんだ
0148デフォルトの名無しさん
2007/09/25(火) 08:21:020149デフォルトの名無しさん
2007/09/25(火) 19:58:18なるほどー。
ありがとう、よくわかりました。
0150デフォルトの名無しさん
2007/09/25(火) 20:28:580151デフォルトの名無しさん
2007/09/26(水) 07:12:190152デフォルトの名無しさん
2007/09/26(水) 07:25:05否定はしないが工程もしない
0153デフォルトの名無しさん
2007/09/26(水) 14:37:04VS2005の日本語版で開発したアプリケーションは、表示用の文字列をすべて英語にしたとして、
それをそのままビルドして配布したら、.NET Framework がインストールされている英語圏の
WindowsOSでも(Framework の Version が一致するものがインストールされてさえいれば)、
日本語圏と同様に動作すると考えていいでしょうか?
0154デフォルトの名無しさん
2007/09/26(水) 14:41:210155デフォルトの名無しさん
2007/09/26(水) 14:45:49あーそうだったんですか、ありがとうございました!!
0156デフォルトの名無しさん
2007/09/26(水) 15:06:120157デフォルトの名無しさん
2007/09/26(水) 15:44:11Text1に入力した数字を使って、Text2のフォントサイズをリアルタイムで
変更することはできないのでしょうか?
Text2.Font.Size=Text1.Text では、ReadOnlyなのでダメとエラーが出るため、
困っています。
0158デフォルトの名無しさん
2007/09/26(水) 16:09:050159デフォルトの名無しさん
2007/09/26(水) 16:09:16・float型とstring型
・リアルタイムというならTextChangedイベント
0160デフォルトの名無しさん
2007/09/26(水) 21:40:480161デフォルトの名無しさん
2007/09/26(水) 22:06:30そこまで大きなデータなんだろうか…・
0162デフォルトの名無しさん
2007/09/26(水) 22:07:17コンテキストメニューをShowしてやればいいんじゃね?
0163デフォルトの名無しさん
2007/09/26(水) 23:17:32呼び出したメソッドはバックグラウンドで実行されないんでしょうか?
0164デフォルトの名無しさん
2007/09/26(水) 23:25:16あとスレッドってもんを勉強して来い
0165163
2007/09/27(木) 00:26:25もうひとつお聞きしたいのですが、本来BackgroundWorkerの
DoWorkイベントに記述するコードが長すぎて一部を別のイベントかメソッドに
分割したいのですが、DoWorkイベントに引数を渡すことは可能でしょうか?
0166デフォルトの名無しさん
2007/09/27(木) 00:29:42えーっと、戻り値を返すって意味?
0167デフォルトの名無しさん
2007/09/27(木) 00:45:03戻り値?でしょうか?
メソッド作ると値渡しか参照渡しで別のメソッドから引数を渡せますよね
同じような感じでDoWorkイベントに引数を渡す方法がないかな、と思いまして
説明下手ですいません
0168↑163
2007/09/27(木) 00:47:360169デフォルトの名無しさん
2007/09/27(木) 00:49:020171デフォルトの名無しさん
2007/09/27(木) 01:14:040172デフォルトの名無しさん
2007/09/27(木) 01:15:54DoWorkに書く内容が長すぎて分けたいんだろ?
つまり処理の一部を別メソッドに書いて、それをDoWorkから呼び出すんだろ?
分割したいのですが と DoWorkイベントに引数を が別の文章だとか言わないよな
0173163
2007/09/27(木) 01:20:45まことにおっしゃるとおりです
というかおっしゃるとおりでなかったのでおっしゃるとおりにします
脳みそ沸いててごめんなさい
ありがとうございました
0174デフォルトの名無しさん
2007/09/27(木) 01:22:04おとなしくタイマーコントロールでも使ってれば?
どうせフォーム終了させるときも同期とらずに終わらせそうだし
0175デフォルトの名無しさん
2007/09/27(木) 01:48:32残暑にやられたか。
0176デフォルトの名無しさん
2007/09/27(木) 01:58:23はっきり言ってマジで。
0177163
2007/09/27(木) 02:23:49処理を途中で中止することができるようにするのが目的ですが
タイマーコントロールでもできるでしょうか?
マルチスレッドかApplication.DoEvents以外で実現できる方法があれば
お願いします
>>175
お慈悲に感謝
0178デフォルトの名無しさん
2007/09/27(木) 02:37:222.可能です
0179デフォルトの名無しさん
2007/09/27(木) 03:20:52その時にコントロールと位置を指定しろって言われるのだけど、コントロールって?
notifyicon入れてもだめだったし…
0180デフォルトの名無しさん
2007/09/27(木) 03:32:20左クリックでWM_CONTEXTMENUでも自分に投げてやればいいんじゃね?
0181デフォルトの名無しさん
2007/09/27(木) 07:04:13複数の変数をまるごとファイルに入出力する、セーブ&ロード機能は
どのように書けばいいでしょうか?
0182181
2007/09/27(木) 07:20:04XMLエンコードシリアルで解決しました;
0183デフォルトの名無しさん
2007/09/27(木) 10:58:49iniファイルの中にアクセス先のファイルパスを書き込んであり、ファイルパスを読み込んでからファイルにアクセスするようになっています。
iniファイルからファイルパスを読み込んだまではよかったのですが、変換先のテキストファイルを読み込むときにエラーが発生します。
Dim path As String
path = getIni(iniファイルのパス)
Dim sr As New System.IO.StreamReader(path, System.Text.Encoding.Default)
ここでSystem.ArgumentExceptionが発生します。
読み込み先のパスを”でくくっていないのが悪いのかと思い、
path = """" + getIni(iniファイルのパス) + """"
と、書き換えてみたのですが、イミディエイトウィンドウでは
""変換先テキストファイルのパス
と、表示されます。
iniファイルのパスは
"iniファイルのパス"
と、ダブルクォーテーションでくくられているのでその辺がまずいのかとあたりをつけてみたのですが、これ以上わかりませんでした。
変換先のファイルにアクセスするにはどのようにすればいいのでしょうか?
0184デフォルトの名無しさん
2007/09/27(木) 12:03:06\0とか
0185183
2007/09/27(木) 17:04:52GetPrivateProfileStringAの戻り値をStringで受けていましたが、System.Text.StringBuilderで受けるようにしたらきちんとパスを取得できました。
0186デフォルトの名無しさん
2007/09/27(木) 17:39:56メニューバーコントロールとかが青になっているじゃないの。
これが売りなのかな
0187デフォルトの名無しさん
2007/09/27(木) 18:32:28あんな曼荼羅みたいな原色のUIでよく作業する気になるねw
0188デフォルトの名無しさん
2007/09/27(木) 18:38:12どうみても個人の好みです。本当にあr(ry
0189デフォルトの名無しさん
2007/09/27(木) 18:39:35新しいメニューバーは綺麗に見えるね
0190デフォルトの名無しさん
2007/09/27(木) 18:45:580191デフォルトの名無しさん
2007/09/27(木) 18:51:090192デフォルトの名無しさん
2007/09/27(木) 18:53:36それにしても日常的にルナ使ってるプログラマって本当見たことないよ。
三流のなんちゃってPGみたいな人は例外として。
0193デフォルトの名無しさん
2007/09/27(木) 19:01:39自分が三流でないことに気付いてない時点でおわっt
0194デフォルトの名無しさん
2007/09/27(木) 19:12:130195デフォルトの名無しさん
2007/09/27(木) 19:25:330196デフォルトの名無しさん
2007/09/27(木) 19:30:47イヴにライヴがあるらしいですね、らっしゃい
0197デフォルトの名無しさん
2007/09/27(木) 19:48:150198デフォルトの名無しさん
2007/09/27(木) 19:51:37なんでも無いわッッ!!
0199デフォルトの名無しさん
2007/09/27(木) 20:07:27昔好きだった。
0200デフォルトの名無しさん
2007/09/27(木) 20:31:150201デフォルトの名無しさん
2007/09/29(土) 05:16:42その中のサブ機能で、動画ファイルから適当な時間で画像を抜き出して保存する
(サムネイル作成みたいなイメージ)
という事をやりたいのですが、VB.netではこういう時に一般的にどういう手段が使われるのでしょうか?
aviファイルだとVFWとかいうwin32APIを使えば色々いじれるらしいのですが、
wmvファイルからだったりmpg2ファイルからだったりrmファイルからだったり
汎用的に対応できるようにする為の定番みたいなのはあるんでしょうか?
0202デフォルトの名無しさん
2007/09/29(土) 06:03:51方法が思い浮かびません。
選択項目が1つの時はSelectedItemを一度削除して上または下のインデックスに
挿入してました。
何か良い方法があればお願いします。
0203デフォルトの名無しさん
2007/09/29(土) 09:43:07DirectShowかな。
0204デフォルトの名無しさん
2007/09/29(土) 11:23:35今度は閉じることが出来ない
メニューアイテムクリックすると閉じるが、メニュー以外をクリックして閉じることが出来ない
仕方ないんでダミーアイテム入れてるけどみっともないし…
どうすりゃいいんでしょ
0205デフォルトの名無しさん
2007/09/29(土) 14:29:22F8を押したらどうなるってコードは書けるけど
F8を押すってコードは書けないんでしょうか?
0206デフォルトの名無しさん
2007/09/29(土) 15:10:51関連データソースがありません とでてしまいました。
開く方法はありませんでしょうか?
0207デフォルトの名無しさん
2007/09/29(土) 16:20:22timerかなんかでF8を押された時のメソッドを呼べばいいんじゃね?
0208デフォルトの名無しさん
2007/09/29(土) 16:28:131つの時と同じじゃね?
どこからどこまで選択されているか判断するプロパティくらいあるんじゃね
0209デフォルトの名無しさん
2007/09/29(土) 17:01:08普通に考えて、存在しないものはどうしようもないのでは・・
参照ミスでデータソースがどこにあるか分っている場合は
プロジェクトファイル自体がさほど大きくはないので
XMLのように直接編集する手があります
0210デフォルトの名無しさん
2007/09/29(土) 17:03:49つhttp://dobon.net/vb/dotnet/vb6/sendkeys.html
0211210
2007/09/29(土) 17:15:53ちょっと追記
SendKeysはVB6以前からある、キー押し発動機能
リアルなシミュレートがしたい場合は普通のモードを使うが
他ウィンドウ等に対して、遠隔操作や情報伝達等、
何かしら期待する動作がある場合、
確実に動作させるのがWaitモードでこちらを利用することが多い
特定の予約文字列を直接引数に送れば、後はSendKeys側で勝手に解釈してくれる
概要はこんなとこ
MSDNも見てください
0212209
2007/09/29(土) 17:32:13まとめるとエラーのあるプロジェクトを強引に開く方法は2つ
1.プロジェクトファイルの中身をメモ帳で変更(データソース部を削除等)
2.新しくプロジェクトを作って、他の.vbファイルを手動で全部追加
お試しください
0213デフォルトの名無しさん
2007/09/29(土) 17:37:26普通の関数を作成しようと思ってフォームのモジュールに書いたのだけど、
VB.NETからは標準モジュールにしか作成できなくなったのね・・・
0214デフォルトの名無しさん
2007/09/29(土) 17:44:080215デフォルトの名無しさん
2007/09/29(土) 17:59:59???
0216デフォルトの名無しさん
2007/09/29(土) 20:12:20入院加療の必要があります。
0217デフォルトの名無しさん
2007/09/29(土) 20:31:250218デフォルトの名無しさん
2007/09/29(土) 20:47:20' Set up the delays for the ToolTip.
toolTip1.AutoPopDelay = 5000
toolTip1.InitialDelay = 1000
toolTip1.ReshowDelay = 500
' Force the ToolTip text to be displayed whether or not the form is active.
toolTip1.ShowAlways = True
' Set up the ToolTip text for the Button and Checkbox.
toolTip1.SetToolTip(Me.button1, "My button1")
のような形では設定しているのですが、
ToolTip テキストが初めの数回だけは表示されるものの、その後は
Mouseがホバーしても表示されない状態でした。
これは設定が不正なのでしょうか?
この設定はFormのLoadイベントではなく、プログラムの途中で動的にコンストラクトした
ユーザーコントロールに対して設定していました。
0219デフォルトの名無しさん
2007/09/29(土) 21:11:42どうも、toolTip1.AutoPopDelay = 5000 の5秒の時間を連続して消費してしまうと
その後はMouseホバーしてもToolTipを表示しなくなるような感じでした。
なので新しく該当のユーザーコントロールをコンストラクトして新たにToolTipが
設定されるとまたその5秒間が設定され、それが連続消費されるまでは表示できる
ような感じでした。
この5秒を連続して消費しても、再びMouseホバーしたらまたToolTipを表示される
ようにならないでしょうか?
0220デフォルトの名無しさん
2007/09/30(日) 01:16:03バグっぽいね
ttp://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=30146&forum=7&start=8
0221デフォルトの名無しさん
2007/09/30(日) 02:17:38あ、バグだったんですか。うわーん期待してたのになー・・・・
ガックシ。教えてくださったところ見て方法考えてみます。。。
0222デフォルトの名無しさん
2007/09/30(日) 12:51:16MenuStripでもVisible = Falseのサブ項目を持ってるMenuStripItemをキーで
操作すると……。
間抜けすぎるなw
0223デフォルトの名無しさん
2007/09/30(日) 13:25:272005というか、「.NET Famework 2.0 のバグ」 ですよねこれって・・・
3.0 にUpしたら直ってるとか?あるいはその上までダメ???
>MenuStripでもVisible = Falseのサブ項目を持ってるMenuStripItemをキーで操作すると……。
これってのもVisible = Falseの場合に何か対策して解決できるのでしょうか??
0224デフォルトの名無しさん
2007/09/30(日) 14:50:25Reflection使って内部動作いじるのも面倒くさいし
0225デフォルトの名無しさん
2007/09/30(日) 15:15:48それともクラスモジュールじゃなければ駄目なのかな?
0226デフォルトの名無しさん
2007/09/30(日) 15:20:54「VBの仕様上仕方なく使う」代物だったのにw
恥書きたくなかったら出来てもやらない方がいいんじゃないの?
まあ見方によってはc#のスタティックなクラスの相当品だと言えなくもないのかもしれんが。
0227デフォルトの名無しさん
2007/09/30(日) 15:38:39VB言語設計者も積極的に使っていると言ってる。
0228デフォルトの名無しさん
2007/09/30(日) 16:11:490229デフォルトの名無しさん
2007/09/30(日) 16:34:23そとからアクセスできるか知らんが
0230デフォルトの名無しさん
2007/09/30(日) 17:03:13VBモジュールの実体はsealedクラスになってるから、C#からは「モジュール名.関数名()」でアクセスできる。
ちなみにC#でVBの標準モジュール相当のものを作る場合
using Microsoft.VisualBasic.CompilerServices;
[StandardModule]
public static class StdModule {
public static int Mul(int i, int j) { return i * j; }
}
0231デフォルトの名無しさん
2007/09/30(日) 17:49:44コンパイラ製作者の視点から見れば
本当はそれ逆に考えるべきなんだけどねw
0232デフォルトの名無しさん
2007/09/30(日) 18:05:350233デフォルトの名無しさん
2007/09/30(日) 18:57:07遅くなりましたができました。ありがとう。
0234デフォルトの名無しさん
2007/09/30(日) 21:06:51abc\1\10
abc\1\2
abc\10\1
abc\2\1
のようにアルファベット順に並んでいる文字列を
番号順に並べ替えるメソッドや関数などはないでしょうか?
0235デフォルトの名無しさん
2007/09/30(日) 21:47:30お前さんの意図をエスパーして作動するような関数があるとでおおもってんのかw
0236デフォルトの名無しさん
2007/09/30(日) 22:38:030237デフォルトの名無しさん
2007/09/30(日) 23:06:13ソートしたいならここをみればいいとでおおもうよ。
ttp://smdn.invisiblefulmoon.net/ikimasshoy/vbdotnet/comparison.html
0238デフォルトの名無しさん
2007/09/30(日) 23:29:30ありがとうございます。何とか実装できそうです。
0239238
2007/09/30(日) 23:32:190240デフォルトの名無しさん
2007/09/30(日) 23:47:52が本人だとして,
ヘルプっつーかgoogleで根気良く3回くらい調べれば直ぐに出てきそうなんだがなぁ
「何とか実装できそう」なんて言い放っちゃってるけど,どうせまた「〜はどうすればいいでしょうか?」
ってどこかに聴きにいくのが落ちなんだろうねぇ
本人じゃないなら市ね
0241デフォルトの名無しさん
2007/10/01(月) 00:15:37正しい推測だと俺も思うね。
ダメグラマは説明能力がない。説明能力がない、という自覚もない。
なにより、説明能力がないならないなりに、自分の意図を他人に理解してもらおう、
という努力が見られない。
0242デフォルトの名無しさん
2007/10/01(月) 00:22:520243デフォルトの名無しさん
2007/10/01(月) 00:39:460244デフォルトの名無しさん
2007/10/01(月) 00:48:230245238
2007/10/01(月) 00:49:12間違いなく本人です。
検索が下手なので教えてもらったページは知りませんでした。
ヘルプではIComparerまでたどり着いてましたし、Array.Sortは使ってますが
ほかの手段もあるかもとおもい、抽象的に質問しました。ごめんなさい。
>>237さんの回答はベストアンサーです。
>>241
とりあえず>>237さんには理解してもらえたようです。
0246デフォルトの名無しさん
2007/10/01(月) 01:29:170247237
2007/10/01(月) 01:40:47>>241の言っていることは間違ってないと思う。
ただ「でおおもうよ」って書きたかっただけ。
0248デフォルトの名無しさん
2007/10/01(月) 01:45:040249デフォルトの名無しさん
2007/10/01(月) 12:58:38エラーメッセージなどのメッセージ表示部分を
クラスライブラリにしようと思います。
そこで質問なのですが、メッセージの定義内容
(メッセージ本文やアイコンなど)を
どういう形で持たせるのが一般的か、ご教授いただきたいのです。
参考になりそうなサイトの情報提供も有り難いです。
よろしくお願いします。
0250デフォルトの名無しさん
2007/10/01(月) 14:07:01> そこで質問なのですが、メッセージの定義内容
> (メッセージ本文やアイコンなど)を
> どういう形で持たせるのが一般的か、
リソースとして持たせるのが一般的なんでねーの?
0251デフォルトの名無しさん
2007/10/01(月) 20:29:59結局一番分かりやすいと思う。
0252249
2007/10/02(火) 00:40:29ありがとうございます。
やはりリソースが一般的ですよね。
ただ、今回はひとつのメッセージIDに複数の情報(メッセージ本文、アイコン、ボタン種別など)を
持たせたいと言うことで、他の方法を考えようと思います。
>>251
ありがとうございます。
なるほど。確かにそれが一番シンプルですよね。同感です。
ただ、今回は敢えて外に切り出すという前提条件なので、他の方法を検討します。
0253デフォルトの名無しさん
2007/10/02(火) 07:49:47複数持たせる場合も普通はリソースですけどねぇ
逆に他に何があるか聞きたいですよ
0254デフォルトの名無しさん
2007/10/02(火) 09:48:24IEのアドレスバーのComboBoxのように、ComboBoxのテキストの先頭に
アイコンを付けることは可能でしょうか?ComboBoxの何かのプロパティに
アイコンをセットするとかできれば簡単なのですが・・・それとも新しくコントロール
を作成しないといけないでしょうか?
0255デフォルトの名無しさん
2007/10/02(火) 10:08:29データベースって知ってる?
知らないならググるといいナリよ。
0256デフォルトの名無しさん
2007/10/02(火) 11:03:46オーナードロー
0257デフォルトの名無しさん
2007/10/02(火) 13:06:10なるほどーそういうときにOwenerDrawって使うのですか!
でもこれ結構面倒そうですね・・・時間掛かるだろなぁ・・・
わかりました、やるかどうか考えて見ます。どうもでした。
0258デフォルトの名無しさん
2007/10/02(火) 15:00:34クライアント側からサーバーへの問い合わせをし、
サーバーアプリケーションがそれに返答する、というタイプの方式では、
通常はどんな形態の応答構造を使うでしょうか?
データベースを利用してしまうのが一番楽でしょうか?
それともデータベースは使わない場合、あるいは
データベース等のインストールや設定をせずに簡単に済ませる方法
としてはどのような方式がお勧めでしょうか。Webサービスなどの方が
便利でしょうか、それとももっと楽な方法があるでしょうか?
よろしくお願いします!
0259デフォルトの名無しさん
2007/10/02(火) 15:17:52まずは、クライアント/サーバーのどういったアプリケーションを作ろうとしている訳?
0260デフォルトの名無しさん
2007/10/02(火) 15:26:55たとえばですが、クライアント側がもつべき設定上の要件をサーバーで
集中的に管理して持ち、クライアントは自分の起動時にその設定を問い合わせて
から作業に入れるといった場合、簡単な情報だけにかぎられるためデータベース
にするまでもなくやれないものかと思いまして、データベースなどをインストールさせずに
解決できれば楽でいいのではと。こうした目的でも本当なら通常はデータベースで行う
べきでしょうか・・・
0261デフォルトの名無しさん
2007/10/02(火) 16:21:35DBでもXMLでも好きなの使えばいいじゃん。
0262デフォルトの名無しさん
2007/10/02(火) 16:36:22それと、あと情報を公開でなく中身の情報はあくまで秘匿してモロにファイル
を晒さず、管理者だけがその情報を管理して変更可能とするとしますと、
やはり専用のサーバーアプリケーションを置いてそれを情報の出入り口にしておく
ようにしたほうがいいのではと思ったのでしたが、そういう場合は普通は
やはりデータベースにするべきでしょうか?
Xmlを使った場合でもファイルは暗号化、復号化して隠しファイル等にできるかと
思うので、その場合でも出入り口をどうするとクライアントとの通信ができるか
ということなんですが、その場合はIISも設定しない、データベースもインストールしない、
という方法として、後はDCOMとかになるのでしょうか?それもまだ勉強してないため
よくわからないのはありますが・・・。。
0263デフォルトの名無しさん
2007/10/02(火) 17:13:22.NET リモーティング
0264デフォルトの名無しさん
2007/10/02(火) 20:20:35んなもんC/Sかんけいあらへんがな
0265デフォルトの名無しさん
2007/10/02(火) 20:36:36どうすればいいのでしょうか?
0266デフォルトの名無しさん
2007/10/02(火) 20:39:20.NETリモーティングというものを初めて知りました。ありがとうございました。
>>264
言葉の使い方からわかりませんでした。別PCのデータにその別PCでの
アプリケーション実行を通してアクセスする、あるいは情報をもらう、という
意味でした。
0267デフォルトの名無しさん
2007/10/02(火) 20:40:160268デフォルトの名無しさん
2007/10/02(火) 20:50:48IComparerはもちろん自分で実装するんだよ
そのようなIComparerって何ですか?とは聞くなよ
0269デフォルトの名無しさん
2007/10/02(火) 22:36:24数値順でソートするアルゴリズムの定石を教えて下さい。
0270デフォルトの名無しさん
2007/10/02(火) 22:57:540271デフォルトの名無しさん
2007/10/02(火) 22:59:02あなたにソートを自前で実装しろなんて無茶なことは言いませんよ
自前で実装するのはIComparer/IComparer<T>.Compareメソッドだけでいい
MSDNのArray.Sortのオーバーロードを調べることをお勧めする
0272デフォルトの名無しさん
2007/10/02(火) 23:03:36もちろん自前でソートのアルゴリズムを書くわけではありません。
数値順でソートするときの比較関数の定石が知りたいのです。
0273デフォルトの名無しさん
2007/10/02(火) 23:13:570274デフォルトの名無しさん
2007/10/02(火) 23:19:080275デフォルトの名無しさん
2007/10/02(火) 23:30:100276デフォルトの名無しさん
2007/10/02(火) 23:36:58でよかったかな
0277269
2007/10/03(水) 00:09:22ファイル名をXP以降のエクスプローラのようにソートしたいのです。
APIが用意されていますが自前でやりたいなと。
でもこのすれで聞いたのは間違いなきがしてきました。。
ちなみにいい案が出てこなかったら、数値部分を16桁ぐらいに展開して野郎と思っています。
0278デフォルトの名無しさん
2007/10/03(水) 00:12:230279デフォルトの名無しさん
2007/10/03(水) 01:13:25Array.Sortじゃだめだったの?
0280デフォルトの名無しさん
2007/10/03(水) 02:08:320281デフォルトの名無しさん
2007/10/03(水) 05:48:11あ、すみません、ちんこだけならまんこかあなるに挿入すればいいのはわかるのですが、
源氏名を登録以降のエクスプローのようにソープしたいのです。
たらいが用意されていますが自前でやりたいなと。
でもこのすれで聞いたのは間違いなきがしてきました。。 (はぁと
ちなみにいい案が出てこなかったら、数値部分を16桁ぐらいに展開して野郎と思っています。
0282デフォルトの名無しさん
2007/10/03(水) 05:53:360283デフォルトの名無しさん
2007/10/03(水) 10:26:29などと知るにはどうすればよいでしょうか?(Explorerでなされる表示のような感じで)
もしかするとこれはレジストリーを見ているのでしょうか?その場合にはどんなクラスで
調べればいいでしょうか?
0284デフォルトの名無しさん
2007/10/03(水) 10:51:53ご明察
でもエクスプローラは「これはExcelふぁいる」とか「これはWordふぁいる」とか
そこまで知的な推察はやっていなくて,
単純にファイルの拡張子を使ってレジストリから必要な情報を集めてきているだけ.
(最近はNTFS副ストリームからも拾ってきて色々やってるよーだがしらん)
というわけで
> などと知るにはどうすればよいでしょうか?(Explorerでなされる表示のような感じで)
というのはちょっと方向が違う.
何がどう違うのかは,もっとエクスプローラじゃなく貴方がやろうとしてることをかかないと分からん.
> その場合にはどんなクラスで調べればいいでしょうか?
vb.net 2005ならMy.Computer.Registryでレジストリ見れたはず.
0285デフォルトの名無しさん
2007/10/03(水) 13:51:27System.Data.NoNullAllowedExceptionがDataGridViewで発生するのですが
以下のような操作の場合にエラーが起きます。
(例)
DataTable定義
ID integer(not null & AllowDbNull = false) PK
Name String
これをDataGridViewにバインドさせて使用しています。(Name列はDataGridViewでリスト形式のComboboxColumnから選択)
1行目つまりDt.Rows.Count=0で入力を開始し IDに数値を入力しNameにマウスなどでフォーカスを移動させます。
(この時点でDataGridViewは行の追加削除が可能な為、新規入力行が表示されます)
このあとESCキーを押すと例外が発生するのですがDataRowErrorでキャッチすることはできません。
KeyPressでESCを抑制しようとも考えたのですが、ComboboxEditingControlでESCをキャンセルしようとしましたが難しいようで・・・
なお、1行目がある状態で同じ操作をすると同じエラーをDataErrorイベントでキャッチできるようです。
説明が難しくてうまく伝えられないのですが、なにかご存知の方がいらっしゃいましたら回避方法の知恵をお借りできませんか?
出来ればDataTableはAllowDbNullはTrueにせずに作っておきたいのですが・・・
スタックトレースの一部を掲載しておきます。
Message="列 'ID' に Null を使用することはできません。"
場所 System.Data.DataColumn.CheckNullable(DataRow row)
場所 System.Data.DataTable.RaiseRowChanging(DataRowChangeEventArgs args, DataRow eRow, DataRowAction eAction, Boolean fireEvent)
場所 System.Data.DataTable.SetNewRecordWorker(DataRow row, Int32 proposedRecord, DataRowAction action, Boolean isInMerge, Int32 position, Boolean fireEvent, Exception& deferredException)
場所 System.Data.DataTable.InsertRow(DataRow row, Int32 proposedID, Int32 pos, Boolean fireEvent)
場所 System.Data.DataView.FinishAddNew(Int32 currentIndex, Boolean success)
場所 System.Data.DataRowView.EndEdit()
場所 System.Windows.Forms.CurrencyManager.EndCurrentEdit()
以下沢山つづく
0286デフォルトの名無しさん
2007/10/03(水) 17:55:22方法はあるでしょうか
0287デフォルトの名無しさん
2007/10/03(水) 18:01:010288デフォルトの名無しさん
2007/10/03(水) 19:09:40やはりレジストリーの情報などから知るのですね。
>NTFS副ストリームからも拾ってきて色々やってる
>vb.net 2005ならMy.Computer.Registryでレジストリ見れたはず.
とりあえず教えていただいたこのクラスを勉強してみます、
ご指導ありがとうございました!!
0289デフォルトの名無しさん
2007/10/03(水) 19:15:15追記ですが、やろうとしていることはそうした情報をなんらかの形で知れれば
ということでした。何をどうすれば情報が入手できるか皆目わからなかったのです。
それにしても、皆様のお蔭でやっとさでこれましたが、プログラムの世界は本当に
大変な苦労をして出来上がっているのだとここ半年ほどは日々実感する次第です・・・。
0290デフォルトの名無しさん
2007/10/03(水) 22:13:41Shell使うかMSDNのクラス使うかWinInet使うかどれがいい?
0291デフォルトの名無しさん
2007/10/03(水) 22:30:58FTPでDBサーバにアップロードがよく分からないけれど
「アップロードに成功」をどうやって確かめるのか分からないけれど
ファイル消すのはFrameworkに任せてもいいと思う
FTPクライアントもFrameworkに任せていいと思う
0292デフォルトの名無しさん
2007/10/03(水) 22:53:27PL/SQLでファイル読み込んでDBに反映させるっていう処理なんだけど・・・どうしたもんかなとおもって・・・。
Frameworkに任せるというのはなにどういうこと?
文字通りおまかせ?
0293デフォルトの名無しさん
2007/10/03(水) 22:55:59どうしたもんだろうね
よくわからんよ
> MSDNのクラス使う
これ,.net frameworkのクラスを使うってことだよね?
# ファイル消すのはFrameworkに任せてもいいと思う
それの俺的表現がこれ↑
0294デフォルトの名無しさん
2007/10/03(水) 23:16:43MSDNのクラスはこれ
http://support.microsoft.com/default.aspx?scid=kb;ja;832679
このままコピればいけるみたい。
でも電子媒体持込禁止&ネット不可の現場なの。
手打ちするほどやる気はないから、簡単な方法ないかと探しているんだけど、
どれもめんどくさそうだ。
Shell使うのだと成功したかどうかログからあさるらしいし、
WinInetはよくわからん。
正々堂々持ち込んじゃおうかな。
0295デフォルトの名無しさん
2007/10/04(木) 06:53:13に
TextBox1.Focus()
と書いてから実行してもフォーカスがButton1のところにあるままなのはなぜ?
0296デフォルトの名無しさん
2007/10/04(木) 17:27:05通信の開始がうまくいかず、悩み中でしてご教授ください。
ホスト側、クライアント側のソースは以下のとおりで、
ローカル内では、うまくいくのですが外のPCからのグローバルでは
うまくいきません。210.XXX.XXX.XXX"は、ホストのグローバルIPアドレスで
ホスト、クライアント共に、ポートの開放は行ってあります。
クライアントの「tcp As New System.Net.Sockets.TcpClient(host, port) 」の部分で
{"対象のコンピュータによって拒否されたため、接続できませんでした。"}のエラーでとまります。
'----ホスト側--------------------------------------------------------
Dim host As String = "localhost"
Dim port As Integer = 2001
Dim ipAdd As System.Net.IPAddress = System.Net.IPAddress.Any
Dim listener As New System.Net.Sockets.TcpListener(ipAdd, port)
listener.Start()
' ----クライアント側------------------------------------------------
Dim tcp As System.Net.Sockets.TcpClient = listener.AcceptTcpClient()
Dim host As String
Dim port As Integer = 2001 ' サーバーのポート番号
host = "192.168.1.13" ' こちらではローカル内での通信OK
host = "210.XXX.XXX.XXX" ' こちらではローカル内、グローバルでも通信NG
Dim hostadd As System.Net.IPAddress = System.Net.Dns.Resolve(host).AddressList(0)
Dim tcp As New System.Net.Sockets.TcpClient(host, port)
0297デフォルトの名無しさん
2007/10/04(木) 17:36:08外部からpingはとおってる?
0298デフォルトの名無しさん
2007/10/04(木) 20:40:59外部からのPINGでとおってなかったですorz
とおるようにしたら、進みました!
なんとかうごきそうです。
ありがとうございます。
0299デフォルトの名無しさん
2007/10/04(木) 20:54:59ぬるぽ
0300デフォルトの名無しさん
2007/10/05(金) 10:02:20特定のクラスはありますか?ない場合は、いわゆるcalsコマンドで実行する
のだと思います。そのときはそれをVB.NETのプログラムからどのようにして
叩くのか、教えてください。よろしくお願いします。
0301デフォルトの名無しさん
2007/10/05(金) 22:26:17IO.Directory
にあるのではなくって?
他にやるならWSHでもAPIでもWMIでもあると思うけど・・・・
0302デフォルトの名無しさん
2007/10/06(土) 15:44:29GetAccessControl()やSetAccessControl()がそれだったんですか、
わかりました!助かりました、ありがとうございます!!
0303デフォルトの名無しさん
2007/10/06(土) 15:48:56その場合は何か簡便な処理メソッドなどがあれば教えてください。
0304デフォルトの名無しさん
2007/10/06(土) 17:43:32多分アルファチャネルビットマップ
はるか昔からある機能
VB.NETならGDI+で直接操作出来ます
0305デフォルトの名無しさん
2007/10/06(土) 18:50:47>アルファチャネルビットマップ
>昔からある機能
そうだったんですか。
>GDI+で直接操作
方法については何かのクラスメソッドで対応するのですね、探してみます。
またわからなかったらお聞きします。何卒よろしくお願いします。
0306デフォルトの名無しさん
2007/10/08(月) 02:13:18みなさんどうやって管理してますか?
自分は印刷してとってありますが、ほかにいい方法があれば
教えてください
0307デフォルトの名無しさん
2007/10/08(月) 14:25:140308デフォルトの名無しさん
2007/10/08(月) 15:03:280309デフォルトの名無しさん
2007/10/08(月) 15:15:26そもそも「俺様コレクション」とか「管理」とかいう言葉は具体的に何のこと言ってるんだよ
0310デフォルトの名無しさん
2007/10/08(月) 15:19:25> 「俺様コレクション」とか「管理」とかいう言葉は具体的に何のこと言ってるんだよ
> 「俺様コレクション」とか「管理」とかいう言葉は具体的に何のこと言ってるんだよ
> 「俺様コレクション」とか「管理」とかいう言葉は具体的に何のこと言ってるんだよ
> 「俺様コレクション」とか「管理」とかいう言葉は具体的に何のこと言ってるんだよ
たとえばタバコに火をつけたくて,ライターを持ってないときに
「すみません,何か火をつけるものありませんか?」
→「『何か火をつけるもの』とかいう言葉は具体的に何のことを言ってるだ?」
\(^o^)/
0311デフォルトの名無しさん
2007/10/08(月) 15:26:01実社会の人間関係だと大変なんだろうな・・・
0312デフォルトの名無しさん
2007/10/08(月) 15:28:50> 「すみません,何か火をつけるものありませんか?」
> →「『何か火をつけるもの』とかいう言葉は具体的に何のことを言ってるだ?」
→「あ,すみませんライターかマッチでもあればと思ったんですけど・・・」
→「どんなライターだ?マッチはどこの銘柄がいいんだ?具体的に言えよ」
→「サーセン^^;;;;;;;」
0313デフォルトの名無しさん
2007/10/08(月) 15:30:510314デフォルトの名無しさん
2007/10/08(月) 16:26:39ガキみたいな突込みする前に 306 が具体的になんなのか行ってみたら?w
0315デフォルトの名無しさん
2007/10/08(月) 16:38:00アホな頭で一生懸命あら捜ししないでいいから
少しは足りない脳みそで具体例を考えてみたら?
0316デフォルトの名無しさん
2007/10/08(月) 18:03:04・プログラムしてくると溜まってくる
・印刷できる
0317デフォルトの名無しさん
2007/10/08(月) 18:33:56その2点から推測できない脳みその構造体がかなりヤヴァイ
書き直したほうがいい
0318デフォルトの名無しさん
2007/10/08(月) 18:54:42ファンレターだな。うん。
0319デフォルトの名無しさん
2007/10/08(月) 18:55:350320デフォルトの名無しさん
2007/10/08(月) 18:58:55お前頭いいな。
ストレスだと思ってたけど印刷にあてはまらなくて悩んでたんだ。
0321デフォルトの名無しさん
2007/10/08(月) 19:58:41おーい、これ見ろおまいら。
これが政府が答えられずに手も足もでなくなった最優秀質問だぜぃ!!!
長妻議員を総理大臣にしようぜい!!!
開会日 : 平成19年10月3日 (水) 長妻昭(民主党・無所属クラブ) 14時 56分 1時間 23分
http://www.shugiintv.go.jp/jp/wmpdyna.asx?deli_id=36730&media_type=wb&lang=j&spkid=578&time=02:04:16.0
0322デフォルトの名無しさん
2007/10/08(月) 21:26:00自分は何もできんくせに
0323デフォルトの名無しさん
2007/10/08(月) 23:08:24それを実行にうつすとなると難しい
あいつらは与党じゃないから突っ込みまくってるが
与党になったてあれと同じ質問に回答できるかどうかは微妙なところかもな
0324デフォルトの名無しさん
2007/10/08(月) 23:56:01いやーどうだろ、できてもやらない人もいると思うよ。
プログラムでもられてもああだこうだといってできない理由並べる人もいるでしょ、
ほんのちょっとしたことでも。
まー自民等って官僚にどうして頭上がらなかったのかはこの質問でとてもよくわかるよ
0325デフォルトの名無しさん
2007/10/09(火) 00:46:300326デフォルトの名無しさん
2007/10/09(火) 05:33:10ボケこそがお笑いの本質だよ
0327デフォルトの名無しさん
2007/10/09(火) 11:17:24なるほど政府はお笑いかw
0328デフォルトの名無しさん
2007/10/09(火) 21:39:130329デフォルトの名無しさん
2007/10/09(火) 23:22:41ContextMenuのMenuItemにToolTipを配置するにはどうすればよいのでしょうか?
2005です
0330デフォルトの名無しさん
2007/10/09(火) 23:41:080331デフォルトの名無しさん
2007/10/09(火) 23:42:33現状2005しかないので2005で開発してるんですが、
後から2003に置き換えるので、2005のコントロールが使えませんorz
0332デフォルトの名無しさん
2007/10/09(火) 23:48:050333デフォルトの名無しさん
2007/10/10(水) 12:33:040334デフォルトの名無しさん
2007/10/11(木) 10:00:16これを動かすと、メソッドが終了したときにEXCEL.EXEのプロセスが終了するんじゃなくて、
アプリケーションが終了したときにEXCEL.EXEプロセスが終了しているんですが、これが正常なんでしょうか?
0335デフォルトの名無しさん
2007/10/11(木) 10:33:40これですが、TreeViewだとアイコンはもともと透明にはならないのでしょうか。
0336デフォルトの名無しさん
2007/10/11(木) 11:29:22いいえ
>>335
いいえ
0337335
2007/10/11(木) 16:46:35TreeViewでアイコンの透明部分を有効にするのはTreeViewのプロイパティの
設定でしょうか、その場合どのプロパティでしょうか。あるいはもしかして、
TreeNodeのプロパティやるのでしょうか。
0338デフォルトの名無しさん
2007/10/11(木) 16:51:00>プロイパティ → プロパティ
>TreeNodeのプロパティやるのでしょうか → TreeNodeのプロパティでやるのでしょうか
0339デフォルトの名無しさん
2007/10/11(木) 18:47:45TreeViewに設定しているImageListのColorDepthやTransparentColorは適切か?
もともとのアイコンが腐ってるのではないか?
0340デフォルトの名無しさん
2007/10/11(木) 22:46:24ヒントだけでもいいので教えてもらえないでしょうか。
やりたいこと
・ISOイメージ内からの特定ファイルの抽出
0341デフォルトの名無しさん
2007/10/11(木) 22:54:00ttp://euc.jp/periphs/iso9660.ja.html
0342デフォルトの名無しさん
2007/10/11(木) 22:56:02ISOイメージの構造ならここが参考になる。
http://euc.jp/periphs/iso9660.ja.html
0343デフォルトの名無しさん
2007/10/11(木) 22:59:31ありがとうございます。
がんばってみます。
0344デフォルトの名無しさん
2007/10/12(金) 00:17:00clickイベントが起こらないし、フォームのwndProcでメッセージモニタしてもWM_COMMAND
来ないし、かろうじてTPM_RETURNCMDすると選択値は帰ってくるものの何故かindex+256
だし…
どうするのが本当なんでしょ
0345338
2007/10/12(金) 00:30:27すみません、IamgeList の TransparentColorが設定されていませんでした。
ご指導ありがとうございました、助かりました。
0346デフォルトの名無しさん
2007/10/12(金) 02:26:12イベントハンドリング等をマネージド内でやるならTrackPopupMenu使うな
TrackPopupMenu使うならMSDNくらい読め
0347デフォルトの名無しさん
2007/10/12(金) 10:13:500348デフォルトの名無しさん
2007/10/12(金) 10:51:24Validatedで入力値によって処理を変えています(Focusで飛び先を変えるとか)
ロジックはValidatingの処理結果をFormのPrivateな変数にいれて、
Validatedでその変数を参照するにしているのですが、コントロールの数が多いと、
どうにもプログラムが追いづらいです。
Validatingでの処理の結果を、ダイレクトにValidatedで拾う方法ってないでしょうか?
ひっとしたらValidatedを使わずに、Validatingで全て処理するのが普通だったりするのでしょうか。
0349デフォルトの名無しさん
2007/10/12(金) 18:24:59DBプログラミングにおいて、2003と2005では、書き方に相当な差があると
聞いたのですが本当でしょうか?
よろしくお願い致します。
0350デフォルトの名無しさん
2007/10/12(金) 19:12:420351デフォルトの名無しさん
2007/10/12(金) 23:15:000352デフォルトの名無しさん
2007/10/13(土) 16:29:15FlashのACTIVE Xが入っているとか制限があってもいいので再生させられるいい方法はないでしょうか?
0353352
2007/10/13(土) 16:34:32IEのコンポーネントを使う手もあったのですが、出来ればこの手法は使いたくないと考えています。
どうしても直接再生できないのであれば使うしかないとは思うのですが・・・
0354デフォルトの名無しさん
2007/10/13(土) 16:54:540355デフォルトの名無しさん
2007/10/13(土) 17:03:29メディアプレイヤーで再生させようとしたら警告でるけど再生できるようでした
その方法をまず試してみることにします〜
0356352
2007/10/13(土) 17:27:09WMPコンポーネントを使用して自作アプリを作成し、メディアプレイヤー本体と自作アプリ側の両方で再生したのですが
WMP=警告は出るが再生できた
自作アプリ=警告が出てコーデックの自動ダウンロード→失敗→音だけ再生
という結果になってしまいました。
どうもWMPアプリ本体側でコーデックとかの選別をいろいろやってくれてたようで、なかなか難しそうだなと・・・
とりあえず結果のご報告です。
0357デフォルトの名無しさん
2007/10/13(土) 19:38:23Text編集の項目を複数行編集するには属性をどう設定すればいいでしょうか。
また常にIMEを活かしておきたい場合はどうすればよいでしょう?
またこの辺のことを知るにはHelpのどの辺りのところを見ればよいでしょうか。
0358デフォルトの名無しさん
2007/10/13(土) 19:55:18UIエディタを自作する必要があると思う
UITypeEditorを調べてみ
> また常にIMEを活かしておきたい場合はどうすればよいでしょう?
エディタ自作してればImeModeでどうにかなるんじゃないかな
> またこの辺のことを知るにはHelpのどの辺りのところを見ればよいでしょうか。
デザイン時サポートの拡張
ユーザー インターフェイス型エディタの概要
とはいえWPF時代はどうなることやら
0359デフォルトの名無しさん
2007/10/13(土) 21:15:330360デフォルトの名無しさん
2007/10/14(日) 00:06:19ご教示と情報ありがとうございました!
>>359
Helpで見ることができました、助かりました、さっそくこれでやってみます!
>>358
ご指導感謝です。MultilineStringEditorでImeModeをどうするべきか考えてみます、
また、教えていただいた 「ユーザー インターフェイス型エディタの概要」もHelpで
勉強できそうでとても助かりました。
PropertyGridはものすごく便利なのですがこうした知識を学ぶ必要があるのですね、
しっかり勉強したいと思います。ありがとうございました!
0361デフォルトの名無しさん
2007/10/15(月) 01:59:58MouseMove/MouseDown/MouseUpを受け取り、マウスジェスチャを実装したいのですが、
AxWebBrowserにはこれらのイベントがなく、乗せることもできず、
HTMLDocumentには、Mouseイベントがあるものの、onmouse〜というもので、
onmousemoveでドラッグが受け取れなかったり、イベントがキャンセルされたりと、挙動が違っています。
詳細は省いてますがソースは下のような感じです。開発環境は.NET2003です。
Dim doc As HTMLDocument = AxWebBrowser.Document
AddHandler CType(doc, HTMLDocumentEvents2_Event).onmouseOver, AddressOf MG_MouseOver
AddHandler CType(doc, HTMLDocumentEvents2_Event).onmousemove, AddressOf MG_MouseMove
AddHandler CType(doc, HTMLDocumentEvents2_Event).onmouseup, AddressOf MG_MouseUp
Private Sub MG_MouseOver(ByVal e As IHTMLEventObj)
ジェスチャ開始
End Function
Private Sub MG_MouseMove(ByVal e As IHTMLEventObj)
ジェスチャ中(ラベルにマウスの軌道を矢印で表示)
End Sub
Private Sub MG_MouseUp(ByVal e As IHTMLEventObj)
ジェスチャ終了
End Sub
0362361
2007/10/15(月) 22:44:01不具合も多いですが・・・
0363デフォルトの名無しさん
2007/10/15(月) 22:57:03どうすればいいのでしょう
0364デフォルトの名無しさん
2007/10/15(月) 23:03:120365デフォルトの名無しさん
2007/10/16(火) 00:27:28とりあえずGetMenuItemID
0366デフォルトの名無しさん
2007/10/16(火) 22:56:12やっと納得のいくものになりました
ありがとさんでした
0367デフォルトの名無しさん
2007/10/17(水) 14:48:03時間がかかってしまう。これは.NETだからしょうがないんだけど。
そこで、起動までスプラッシュ・ウィンドウを表示させるようにした。
ところが、そのスプラッシュ自体が表示されるまでに、やっぱ
時間がかかっちゃうんだよなw 考えてみたらそのスプラッシュだって
.NETで作ってるんだから、当たり前っちゃ当たり前なんけどww
スプラッシュ用のスプラッシュも作るかwww
0368デフォルトの名無しさん
2007/10/17(水) 14:50:210369デフォルトの名無しさん
2007/10/17(水) 17:00:07何もかも1つのアセンブリにまとめてしまってないか?
起動時に必要な最低限のイメージだけ単独の
アセンブリにして、最初はそれだけをロードするようにしる。
0370デフォルトの名無しさん
2007/10/17(水) 18:59:000371デフォルトの名無しさん
2007/10/17(水) 20:32:28∩_
〈〈〈 ヽ
〈⊃ }
∩___∩ | |
| ノ ヽ ! !
/ ● ● | /
| ( _●_) ミ/ こいつ最高にアホ
彡、 |∪| /
/ __ ヽノ /
(___) /
0372デフォルトの名無しさん
2007/10/17(水) 21:01:41そのとき必要とされるクラスだけだよ(・∀・)
むしろ、個々のクラスを不必要に巨大化させないことが肝要
0373デフォルトの名無しさん
2007/10/17(水) 22:15:27アセンブリのロードそのものにも結構時間はかかるぞ。
でかけりゃだが。
0374デフォルトの名無しさん
2007/10/17(水) 22:19:420375デフォルトの名無しさん
2007/10/17(水) 22:58:13お前もアホ。
起動が遅いことの最大の問題は、CLRが中間コードを
コンパイルするオーバーヘッドだろ。アセンブリのロードなんて
単なるファイル読み込みにすぎない。
0376デフォルトの名無しさん
2007/10/17(水) 23:03:070377デフォルトの名無しさん
2007/10/17(水) 23:13:58起動最初のコードだけでどんだけでかいのを想定してるんだお前は…
アセンブリのロードが単なるファイル読み込みだって?
0378デフォルトの名無しさん
2007/10/17(水) 23:17:02起動が遅い原因てそれじゃないことが多いのに。
0379デフォルトの名無しさん
2007/10/17(水) 23:20:220380デフォルトの名無しさん
2007/10/17(水) 23:39:30ぜんぜん無意味なんていって無いよ。
0381デフォルトの名無しさん
2007/10/18(木) 00:51:52質問です、
VB.NETの初心者質問スレは無いのでしょうか?
ソレらしいスレが見当たらないのですが、ココで質問しても良いでしょうか?
0382デフォルトの名無しさん
2007/10/18(木) 00:55:380383381
2007/10/18(木) 02:15:15画像の読み込み→ピクチャボックスへの表示が、うまくいきません。
いくつかの書籍を見たところ、
Dim ○○ As Image = Image.FromFile("ファイル名") の形で画像を読み込み、
ピクチャボックスにPaintイベントでもって表示する
・・・・といったものがほとんどでした。
タダ試してみたところ、
画像の読み込みの段階で毎回エラー(ハンドルされていない例外が発生しました)が発生します。
プログラムを実行した段階で
フォーム上に指定した画像が出ているようにしたいのですが。
このエラーはどういうことでしょうか?
つたなく見苦しい質問で申し訳ありません。
あつかましいようですが「見本」のようなファイルが見れるサイトなど無いでしょうか?
0384デフォルトの名無しさん
2007/10/18(木) 03:27:59まずどんな例外なのか書かないのはなぜ?
0385デフォルトの名無しさん
2007/10/18(木) 23:55:55下のようにSQLの実行結果をリードする処理が異常に遅いのですが原因はなんでしょうか?
Dim odr As OracleDataReader
・
・
sql.CommandText = "SELECT * FROM 職員マスタ WHERE 職員コード = '001'"
odr = sql.ExecuteReader
If odr.Read Then ← この行が遅い
・
・
・
End If
ちなみに
特定のテーブルを呼ぶと発生(カラム数が少ないテーブルほど発生している)
取得件数0件でも発生
「Do While odr.Read」だとループの最初の1回目のみ遅い
のような感じになってます。
0386381
2007/10/19(金) 00:37:01’System.IO.FileNotFoundException’のハンドルされてない例外がsystem.drawing.dllで発生しました。
と、出ます。
追加情報にドライブの保存先とファイル名が出ています。
>>Paintで描画するならPictureBoxの意味ないけどな
書籍にそんな事が書いてあったのは覚えています。
PictureBoxを間借りしているというか上に乗っかっているだけ、
ということでしょうか?
0387デフォルトの名無しさん
2007/10/19(金) 00:38:41エラーの内容を写せば大丈夫でしょうか?
0388デフォルトの名無しさん
2007/10/19(金) 01:18:24とりあえず質問してみれば?
0389デフォルトの名無しさん
2007/10/19(金) 01:34:41例外そのままだよ
ファイルが見つからないって言ってるよ
Paintイベントで描画するならPanelでもLabelでも基本は同じ
0390デフォルトの名無しさん
2007/10/19(金) 13:44:46フォームのLoadイベントにより画像読み込みを実行しているということは
OpenFileDialogを使っていない。
このことからエスパーしてみると、
Dim ○○ As Image = Image.FromFile("ファイル名")
この部分の"ファイル名"のところが"image.jpg"とかになっていると思われる。
ここで言うファイル名というのは当然そのファイルの絶対パスでなければならない。
Cドライブのルートに画像ファイル(image.jpg)を置いて、
Dim pict As Image = Image.FromFile("c:\image.jpg")
とでもしてやってみれば?
0391デフォルトの名無しさん
2007/10/19(金) 13:50:14".\image.jpg"とか。
まぁ、DebugフォルダなりReleaseフォルダに入れてないと
当然動かないけど。
0392386
2007/10/20(土) 00:47:01Inherits System.Windows.Forms.Form
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim bmp As Image = Image.FromFile("c:\WINDOWS\maru.bmp")
現在はこうなっています、
ナゼファイルを見つけてくれないのでしょうか・・・・
0393デフォルトの名無しさん
2007/10/20(土) 01:49:33そもそもファイルは見つけてほしいものじゃなくて,教えてあげるものだし
俺の家は C:\Windows そのものが無い,環境によって読み込ませるパスを指定しなおせば単純に直るわけだが
それすら思いつかないなら死ね
0394デフォルトの名無しさん
2007/10/20(土) 15:58:04sql は OracleCommand型だよね?
0395デフォルトの名無しさん
2007/10/20(土) 20:07:03ユーザが一時停止可能なように、主フォームから
別スレッドを起動して、その中でゲームを進行させます。
ゲームが終了したら、結果表示フォームを
showdialogで開きます。ownerは主フォーム。
このとき、主フォームがモーダルにならないのですが、
モーダルにするにはどうしたらいいんでしょうか。
言語は VB.Net 2003です。
0396デフォルトの名無しさん
2007/10/20(土) 20:20:390397デフォルトの名無しさん
2007/10/20(土) 21:37:12主フォームのスレッドでダイアログだせばいいんじゃね?
0398395
2007/10/21(日) 10:57:24' スレッド実行するためのデリゲート
Private Delegate Sub GameThreadDelegate
' 主フォーム ゲームスレッドを起動する部分
Private Sub StartGame()
Dim thrd As New GameThreadDelegate(AddressOf GameThread)
Dim cb As New AsyncCallback(AddressOf EndGame)
thrd.BeginInvoke(cb, Nothing)
End Sub
' ゲーム進行する部分(スレッドで実行)
Private Sub GameThread()
' ゲームが終わるまでループ(コード省略)
End Sub
' ゲームが終わった時点で呼び出されるコールバックメソッド
Private Sub EndGame(ByVal ar As IAsyncResult)
Dim thrd As GameThreadDelegate = Ctype(ar, AsyncResult).AsyncDelegate
thrd.EndInvoke(ar)
' 結果を表示
Dim rf as New ResultForm
rf.ShowDialog(Me)
End Sub
0399デフォルトの名無しさん
2007/10/21(日) 12:02:260400395
2007/10/21(日) 12:43:470401デフォルトの名無しさん
2007/10/21(日) 12:52:34従来のやり方とどこが違うんでしょうか?
0402デフォルトの名無しさん
2007/10/21(日) 12:52:48それ以前にわざわざデリゲート使う意味もよくわからん。
普通にスレッド起動すればいいと思うけど。。
あと、BackGroundWorkerなんて個人的には存在意義ゼロだと思うな。
Myと一緒で初心者に悪い意味で媚びるだけの代物に過ぎんと思う。
0403デフォルトの名無しさん
2007/10/21(日) 13:01:25減ってないのが問題だが
0404デフォルトの名無しさん
2007/10/21(日) 13:02:04スレッド2の終了時点でスレッド1の処理を起動することってできるの?
0405デフォルトの名無しさん
2007/10/21(日) 13:07:390406デフォルトの名無しさん
2007/10/21(日) 14:06:450407デフォルトの名無しさん
2007/10/21(日) 18:42:360408デフォルトの名無しさん
2007/10/21(日) 18:56:450409デフォルトの名無しさん
2007/10/21(日) 22:30:07少し詰めたいと思ったのですが、値を代入しても元の 22 という値に
戻ってしまうのですが、これを自由に設定できるといいのですが。
Fontのサイズを変更するとそれに合わせて変わるのはわかりました。
ただ自由には設定可能にはなっていないようでした。これが何かの制限が
あったとしたとき、それを外す方法とかあるでしょうか。よろしくお願いします。
0410デフォルトの名無しさん
2007/10/21(日) 23:38:31何種類もあって迷うよ(´・ω・`)
0411デフォルトの名無しさん
2007/10/22(月) 00:10:39AutoSizeプロパティ
0412デフォルトの名無しさん
2007/10/22(月) 01:19:52プリミティブな方法を知っていないと見た
0413デフォルトの名無しさん
2007/10/22(月) 01:26:320415デフォルトの名無しさん
2007/10/22(月) 11:01:30クラス内に Private bmp As Bitmap
というメンバがあり、クラス内で使用しています。
このクラスのあるメソッド内にこのメンバをNewし直している
「bmp = New Bitmap(〜)」
箇所があるのですが、こういう時はBitmapのDispose()を実行させたほうが
よいのでしょうか?
Private Sub Test()
If bmp Isnot Nothing Then bmp.Dispose()
bmp = New Bitmap(〜)
.......
End Sub
Disposeしている行を入れても入れなくても動作しますが、
Newすることで元のbmpが解放されているかどうかが分りません。
0416デフォルトの名無しさん
2007/10/22(月) 15:21:420418デフォルトの名無しさん
2007/10/22(月) 22:37:000419385
2007/10/23(火) 01:22:440420デフォルトの名無しさん
2007/10/23(火) 04:27:18VB2005で、RichTextBoxを使ったテキストエディタを製作しているのですが、
(RichTextBoxで)Wordのように文書に表を作成できるようにするには
どのようにすればよいのでしょうか。計算などはできなくて構いません。
どなたかご教示いただけないでしょうか。
よろしくお願いします。
0421デフォルトの名無しさん
2007/10/23(火) 08:21:03つまり間単にメソッド呼び出し一発とかでできると思ってるなら、
それは考え違いだろう、と。
0422デフォルトの名無しさん
2007/10/23(火) 09:46:05APIを使うのかなとも思ったのですが、
キーワードも浮かばない状態だったので質問させていただいたのですが...
0423デフォルトの名無しさん
2007/10/23(火) 11:31:310424デフォルトの名無しさん
2007/10/23(火) 12:40:09そんな知識水準じゃ確実に無理だろうね。
つまりそもそも「リッチテキスト」が何かも知らないんでしょ。
0425デフォルトの名無しさん
2007/10/23(火) 13:02:03ズバっとリッチテキストとは何か解説を。
0426デフォルトの名無しさん
2007/10/23(火) 13:16:27,.,.::;:::;:;:::;::;.,.、
/;::;::;:;:::;:;::;:;:;::;)._
,...;::;:" ´ ` ー" ヽ:;:ヽ
,:;::; ヽ:;ヽ
{:ミ ミ;:.,
;:;:;: i:;:ノ
i;:;i ;;iiiiillllllll) (llllllllliii;; l:;::;}
r^ミ /_(;;)ゝヽ / <(;;)_ゝ ミ
i ^ヽ.  ̄ l l  ̄ /^i
ヾ i: . , i j 、 .:./^ i
ヽi: : : ^`-'^ . :./-'/
_| i:. :.: .:_.:_.:_:._:. :. :. .:.lー'"
/ヽ .: .:...´ニニニ`. :i..:/
/ ヽ :.ヽ.: .: :. : .:. .:.i/
ヽ . :.ヽ、: .:_:ノ/
リッチー・テクスト[Ritchie Teccusto ]
(1931〜1996 ドミニカ共和国)
0427デフォルトの名無しさん
2007/10/23(火) 14:01:07マウスホイールを動かすだけで自動的にカーソルの下にあるコントロールをスクロールさせてますが、
あれはどうしてるんでしょうか?
@IT ある座標や領域がコントロールの領域内に含まれるているかを確認するには?
ttp://www.atmarkit.co.jp/fdotnet/dotnettips/382ctrlcontain/ctrlcontain.html
↑これを使い、Mouse系の各イベントなどでFocusを移動させるようにしてみたんですが、
確かに似たような挙動はするものの、TabIndexが効かなくなったりとFormが重くなったりと問題が多いです。
そもそもJaneなどではFocus移動すらしていないと思うのですが、
ホイールの移動量をそのままフォーカスのないコントロールに引き渡すような処理はどう書けばいいんでしょうか?
JaneはDelphiなので参考にするのはあまりよくないとは思いますが…、.NET2003です。
0428デフォルトの名無しさん
2007/10/23(火) 15:22:32されていますが、これをNode部分をクリックしたときだけ選択されるようにするには
どのプロパティを設定すればいいでしょうか?よろしくお願いします。
0429デフォルトの名無しさん
2007/10/23(火) 16:28:11StringFormatクラスのFormatFlagsに
orを使って複数設定しました。
= StringFormatFlags.MeasureTrailingSpaces Or StringFormatFlags.DirectionRightToLeft
このプロパティから値を取得するとMeasureTrailingSpacesが2048で
DirectionRightToLeftが1なので2049が返ってきます。
この値を一つ一つ取得するにはどうしたらいいでしょうか?
今はSelect case で
case 1
case 2
case 3
case 2048
case 2049
case 2050
case 2051
というふうにしていますが、数が多すぎてメンドクサイです。
0430デフォルトの名無しさん
2007/10/23(火) 16:50:57変わった事を検出するにはどうしたらいいでしょうか。
ValueChangedイベントでいけそうかと思ったのですが、
コードで.Checked = True(False)と指定すると、このイベントが走らないようです。
宜しくお願いします。
0431429
2007/10/23(火) 17:21:00And演算子というのがあるんですね。
If (Value And MeasureTrailingSpaces) = MeasureTrailingSpaces Then
0432デフォルトの名無しさん
2007/10/23(火) 17:56:51各コントロールのMouseEnterイベントでマウスの位置を拾っておいて、
Meのマウスホイールイベントで対応するスクロールバーのValueを変更するとかじゃダメ?
さてさて質問です。
035641.012というDoubleがあって、これは3時間56分41.012秒を表しています。
こういう書式のDoubleをTimespanかDateTimeで扱いたいのですが、
スマートに解決する方法はないでしょうか?
ToStringメソッドを使ってスマートにできそうかなとは思ったのですが、
ググってもintやdoubleや日付などからのToString()の説明しかでてきませんでした。
Substringメソッドを使って部分で切り出してやればできるのは想像つくのですが、
後学のために、Tostringで一発で切り取れる方法があれば教えていただきたいです。
Dim str as String = "035641.012".Tostring(##:##:##)
こんな感じでいけないものでしょうか?
0434432
2007/10/23(火) 18:12:51Dim str As String = "035641.012"
変換したい書式: "03:56:41.012"
Tostringメソッドで一発変換する方法があれば、教えて下さい。
0435デフォルトの名無しさん
2007/10/23(火) 18:36:45ToStringなら
CDbl("035641.012").ToString("00:00:00.000")
まぁやってることはいっしょだね
0436435
2007/10/23(火) 18:57:05すまん435は忘れて。
0437デフォルトの名無しさん
2007/10/23(火) 19:07:51VB2005にて複数の画面切替があるプログラムを開発しているのですが、
画面切替時の描画がもっさりとしていると言われました。
簡単に画面描画を高速にする方法がありましたら、ご教授願います。
0438デフォルトの名無しさん
2007/10/23(火) 20:21:26・C++で書き直す
・描画しない
ところで画面切替って何?
0439デフォルトの名無しさん
2007/10/23(火) 20:43:590440デフォルトの名無しさん
2007/10/23(火) 20:59:34ありゃむしろ描画を遅くする方向に作用するはずだけど
0441デフォルトの名無しさん
2007/10/23(火) 22:12:20Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
ListBox2.Items.Insert(0, ListBox1.SelectedItem)
ListBox1.Items.Remove(ListBox1.SelectedItem)
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
ListBox1.Items.Insert(0, ListBox2.SelectedItem)
ListBox2.Items.Remove(ListBox2.SelectedItem)
End Sub
End Class
リストボックス2つの間でアイテムを移動するようなプログラムなんですが
開始後何も選択せずにbutton1、button2と押すとbutton2を押した時点で強制終了します
button1を押した時点で落ちるならまだ分かるんですが、なぜbutton2を押した時点で落ちるのか教えてください
0442デフォルトの名無しさん
2007/10/23(火) 22:21:13っていうか、お前さんプログラマの癖に例外のメッセージをみることもしないの?
0443デフォルトの名無しさん
2007/10/23(火) 22:22:590444デフォルトの名無しさん
2007/10/23(火) 22:52:040445441
2007/10/24(水) 00:29:11System.NullReferenceException はハンドルされませんでした。
"オブジェクト参照がオブジェクト インスタンスに設定されていません。"
と8行目で怒られます
8行目の地点でListBox2.SelectedItem=nothingがまずいのではないかと思っていますが
4行目はちゃんと動いている理由がよく分かりません
0446デフォルトの名無しさん
2007/10/24(水) 00:37:30何行目とかじゃなくってさ、Null参照を回避すればいいだけ。
0447デフォルトの名無しさん
2007/10/24(水) 01:38:16確かにその通りになりました
しかし、NothingをRemoveするのは1度目も2度目も
条件は同じじゃないかと思ってしまいます
どうも、私の理解が浅くおかしなことを言ってるようなので
もっと勉強してから出直します、ありがとうございました
0448デフォルトの名無しさん
2007/10/24(水) 02:20:49クリックしたときのマウスの座標(確かe.x)と
クリックされたノードのbounds.Leftとかwidthとを比べて判断するとか
0449デフォルトの名無しさん
2007/10/24(水) 03:10:34BeforeMouseClick、みたいなものがあればいいわけですか、、。
どこかに簡単なプロパティ一発で設定できればと、確かVB6の頃の
TreeViewではみかけたような気もするのですが・・・一応もう一回
調べてみます。
0450デフォルトの名無しさん
2007/10/24(水) 09:13:54むしろ低速なマシンに変えるたいと言っていますorz
画面切り替えは、現在の画面をdisposeして、次の画面をNewしています。
0451デフォルトの名無しさん
2007/10/24(水) 09:55:09解決しましたm(__)m
0452432
2007/10/24(水) 12:26:06Tostringメソッドで調べていたのが間違いだったのですね。
Formatメソッドでググってみたら、使えそうな記事がわんさかでてきました。
助かりました、ありがとうございます。
0453デフォルトの名無しさん
2007/10/24(水) 15:40:24PointクラスやKeyValueSetクラスなどのように2つ以上の型の組み合わせ
で(・・・,・・・,・・・,, )といったように定義されるクラスを作る場合にはどのような
定義をすればいいのでしょうか。
よろしくお願いします。
0454デフォルトの名無しさん
2007/10/24(水) 15:53:38Public Sub New(ByVal x As Integer, ByVal y As Integer)
こんなこといちいち人に聞いてたらキリが無いしかえって時間かかるから
入門書くらいは一通り済ませたほうがいいよ
その質問とは直接関係ないけどPointやKeyValuePairはクラスじゃなくて構造体だよ
0455デフォルトの名無しさん
2007/10/24(水) 20:44:09通常のFormクラスにPartialクラスを追加しました。
コードを追加する分には期待通り問題なく動きます。
ただ、このPartialクラスをデザイナで開くと、
元のフォームとは別のデザイン画面が開いてしまいます。
混乱の元なので何とかしたいのですが、よい方法ありませんか?
0456デフォルトの名無しさん
2007/10/24(水) 20:58:440457デフォルトの名無しさん
2007/10/24(水) 21:11:08あーどうもです!そうでした、コンストラクターでした。。。
実はそうかなと思って実装してみたのですが、確かに聞くには初歩的でした・・・、
すまんです。
>PointやKeyValuePairはクラスじゃなくて構造体だよ
これ勉強になりました。また調べてみます。
ずーっと仕事では10年ぐらいVB6をやってきてクラスプログラミングしてなかった
せいもあって、頭の中でわかっててコンストラクタもたくさん書いているのに、
別の目的で見渡したときに実践ですぐにパッと?がっていかないことがありました。
だんだん頭慣らして行きます。どうもでした。
0458455
2007/10/24(水) 21:29:58手順はこんな感じです。
Windowアプリケーションとして新規のプロジェクトを作成します。
Form1クラス(Form1.vbとForm1.Designer.vb)がデフォルトで作成
されている状態のはず。
こいつのPartialクラスとして新規クラスファイルを追加します。
中身はこれだけ。
> Partial Class Form1
> End Class
ファイル名はデフォルトのClass1.vb
んで、このClass1.vbをソリューションエクスプローラ上でダブルクリック
すると、Form1とは違うフォームが表示されてしまいます。
このフォームの正体は何?という話です。
0459デフォルトの名無しさん
2007/10/24(水) 21:45:24最初からそう書けばわかるのに。
確かに謎だね。
でもそもそもForm(に限らずクラス)を複数のファイルに分割するのはよくないでしょ。
IDEのデザイナのコードみたいに特殊な意図(プログラマの御操作によるコードの破壊を防ぐ)
があれば話は別だけど。
0460デフォルトの名無しさん
2007/10/25(木) 11:02:46SerialPortを使用してバーコードスキャナと通信できていますが、取得したデータが8文字づつDataReceivedに入ってきます
たとえば、10文字のバーコードを読み取ると最初に8文字取得し、続いて残り2文字入ってくる状態です
スキャナと一緒に購入したキーボードインターフェースソフトでは10文字取得できます
また、USB接続のバーコードリーダも問題なく10文字取得できます
スキャナメーカに聞いてみると取得したデータをそのまま垂れ流すだけとのことでした
念のため、代わりのスキャナとUSB接続のスキャナをメーカに送ってもらい試したところ、状態は変わりませんでした
どのようにすれば全てのコードを一括で取得できますか?
バーコードスキャナはKEYENCEのTL-30で初期状態にセットしてあります
SerialPortの設定は
BaudRate 9600
Parity None
DataBits 8
StopBits One
ReadBufferSize 4096
WriteBufferSize 2048
DiscardNull False
RtsEnable True
DtrEnable False
です
0461デフォルトの名無しさん
2007/10/25(木) 12:40:57シリアルポートの「シリアル」ってどういう意味かわかってる?
1バイトずつ(正確には1ビットずつか)行列状につながってデータを送受信するから
「シリアル」ポート。
要するに8文字ずつとか寝ぼけたこと言うなってこと。
そんなのたまたまReadした時にバッファに8バイト入ってるだけのこと。
0462460
2007/10/25(木) 13:11:46テストに使用したスキャナはTL-30UBです
0463デフォルトの名無しさん
2007/10/25(木) 13:42:17全米が引いた
0464デフォルトの名無しさん
2007/10/25(木) 15:55:53それってもしかして、チェックサムjの設定で末尾に2キャラクターを
でフォルトで読むようになってるかどうかが関係してるんじゃないでしょうか。
バーコードリーダーのデコーダー側の設定とPC側の読み取りソフトの間で
それに関してマッチしていないとそういうことがあり得るとか、ありそうな話だからね。
0465デフォルトの名無しさん
2007/10/25(木) 15:59:08で、どうしても調べたいのなら、シリアル用のラインモニターをケーブルとコネクタの
間に挟んで、流れてるキャラクターを全部モニターすればすぐにわかる。
たくさんそういう仕事があるのなら買って常備しとくのがお勧め。
0466デフォルトの名無しさん
2007/10/25(木) 19:25:30そもそもシリアル通信の意味がわかってないんだから。
もっとも、知識以前に「俺様のプログラムがバッファをReadしたタイミングで、
必ず俺様が必要とする長さのデータが入っているはずだ」みたいな発想をする
アブナイ人なのかもしれないけどw
0467デフォルトの名無しさん
2007/10/25(木) 19:46:560468デフォルトの名無しさん
2007/10/25(木) 19:58:29USBは転送速度が早いからたまたま8文字来たんじゃないか?
0469デフォルトの名無しさん
2007/10/25(木) 20:10:100470デフォルトの名無しさん
2007/10/25(木) 21:14:19USBの場合、物理層はたしかにシリアル転送だけど、
もっと上の層からはチャンクが飛んでくるように見えるわけで
0471デフォルトの名無しさん
2007/10/26(金) 09:05:44真実は>>470が押さえてるの?
0472460
2007/10/26(金) 10:18:12不勉強なのは認めるが
>>464
スキャナのマニュアルを読んでみましたが、そんな妙な設定はありませんでした
実際、このプログラムで使用するバーコードのほかにJANコードも読み取ってみましたが、
最初に8文字を取得して次に5文字取得しましたし
後、うちはソフト会社じゃないのでそういうものは買ってもらえません
シリアルポートを使うプログラムもそうそう作ることはないですし
>>467
初期設定では終端はCRでした
CRLFに変えてもDataReceivedイベントで読み取ったデータごとにCRLFがついてくるだけのようです
ちょっと調べてみた結果、DataReceivedイベントが発生するタイミングにばらつきがあるという書き込みがありました
これが真実だとすると>>461が一番答えに近いかと思います
バーコードデータの中身の仕様は決まっているので10文字取得したらデータを操作するように書いた方がいいかもしれません
0473デフォルトの名無しさん
2007/10/26(金) 11:05:480474デフォルトの名無しさん
2007/10/26(金) 11:40:35他にもCOMポートからデータを受信してダンプするツールとか探したか?
0475460
2007/10/26(金) 11:54:150476デフォルトの名無しさん
2007/10/26(金) 12:43:01悪いけどその三者は全部俺なんだけどw
>>475
まだそういう寝ぼけたこと言うわけ?
一括して受信した、なんてどうしてわかるんだよ頭悪いな。
だからそんなのお前さんの目にそう見えるだけなんだよ。
それともお前さんは人様の作ったコードの処理を(デバッガで追うように)
追跡できるわけ?w
0477デフォルトの名無しさん
2007/10/26(金) 12:46:14あり得ないと散々言っているのに。
バッファって知ってる?
お前さんのプログラムが読んでるのはSerialPortオブジェクト内のバッファなんだよ。
そこをちゃんと理解しないと埒あかないよ
0478デフォルトの名無しさん
2007/10/26(金) 12:52:590479デフォルトの名無しさん
2007/10/26(金) 13:19:44最初からそういわないからよけいに混乱してると思うが
0480デフォルトの名無しさん
2007/10/26(金) 14:27:57もしかして三者ってどれとどれとどれのこと言ってるの??
0481デフォルトの名無しさん
2007/10/26(金) 14:38:54>バーコードデータの中身の仕様は決まっているので10文字取得したら
>データを操作するように書いた方がいいかもしれません
バーコードなど形式一定の場合はそういうことかと。
以前やってたときは、Receiveバッファに入ったものをあるだけ読み込み、それが
期待した文字数と形式を満足したことを確認したら読み込みルーチンを抜け、
満足しないままタイムアウト時間を過ぎたらタイムアウトしてエラーを出す、
というアルゴリズムにしましたが何年も使っててそれでハングしたりしたことは
ありませんでした。(もし仮に余分な文字が後ろに付いていたら、通常ゴミと
判断できるなら捨てるようにすればいいかと思います)
0482デフォルトの名無しさん
2007/10/26(金) 16:05:120483デフォルトの名無しさん
2007/10/26(金) 16:06:03SerialPortオブジェクト内のバッファを相手にするなら、一括して受信できてるように見えることだってあるだろうが
0484デフォルトの名無しさん
2007/10/27(土) 00:08:05できれば、WindowsXpのデスクトップでアイコンなどのToolTipのように枠が広く
表示できるようになったもっと見やすいのにと思いました。
このようにToolTipの枠を広げるようなことはできるでしょうか?可能だとしたら
どのような方法があるでしょうか。よろしくお願いします。
0485デフォルトの名無しさん
2007/10/27(土) 00:09:050486デフォルトの名無しさん
2007/10/27(土) 03:55:380487デフォルトの名無しさん
2007/10/27(土) 10:27:25自分でフックしてドローすればいいんじゃね?
0488デフォルトの名無しさん
2007/10/27(土) 12:15:12とりあえずテキストの上下には改行を、左右には空白を必ず入れるようにすれば
場当たり的ではあるがとりあえず実現はできないかな
0489484
2007/10/27(土) 12:22:03そうですか、自分には結構難しく感じますが方法はあるでしょうか。
>>488
なるほど、たぶん一行の半分ぐらいの余裕がちょうどいい感じかなと
思うんですがとりあえず試してみます。
ありがとうございました。
0490デフォルトの名無しさん
2007/10/28(日) 18:37:02ASP.NET+VB.NETでアプリ構築中なのですが、
高負荷状態の時にログの出力処理同士がバッティングしてしまい、
ログファイルを開く際に「他のプロセスが使用中」エラーが発生してしまいます。
原因として、セッション毎にログクラスのインスタンスを作成しているため、
それぞれが好き勝手に出力しようとして・・・上記のようになっていると思いました。
そこで、アプリケーションの方で1つインスタンスを作成して
みんながそれを使えば問題は解決するのでは?と考えました。
そこで質問です。
1:APサーバで1つもっているログクラスインスタンスをみんなで呼び合った場合、
プロセスのキューは何個まで溜められるのでしょうか。
2:制限を超えたときの挙動はどんなものでしょうか。また、トラップ可能かどうか
そもそものところ、この考えで抜けがないか心配・・・
スペック
WINDOWSserver2003+.netFramework2.0
0491デフォルトの名無しさん
2007/10/28(日) 19:56:290492デフォルトの名無しさん
2007/10/28(日) 20:28:440493デフォルトの名無しさん
2007/10/28(日) 22:54:14http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=41920&forum=7&11
これって普通にFileInfo.FullNameの比較で可能だと思うんだけど、
この方法って何か落とし穴でもあるのか?
0494デフォルトの名無しさん
2007/10/28(日) 22:57:300495デフォルトの名無しさん
2007/10/29(月) 00:06:060496デフォルトの名無しさん
2007/10/29(月) 00:29:24むしろそれでどう解決になると思ってんのか不思議で仕方がない。
0497デフォルトの名無しさん
2007/10/29(月) 14:35:29みたいなカンジでコントロールを使用したいんだけどムリなのかな?
0498デフォルトの名無しさん
2007/10/29(月) 15:59:14Controlsでできるけど凄く嫌われるやり方だからやめとけ
0499デフォルトの名無しさん
2007/10/29(月) 16:04:15フォームをリサイズしたときに画像が再描画されて何度もパタパタします。
これを回避するためにSuspendLayoutなどを使うのかと思ったのですが、
その場合にはどのイベントを利用して行うべきでしょうか、またその実装方法を
ご指導ください、よろしくお願いします。
0500デフォルトの名無しさん
2007/10/29(月) 16:39:030501デフォルトの名無しさん
2007/10/29(月) 18:28:270502デフォルトの名無しさん
2007/10/29(月) 19:36:35ResizeRedrawを切ればとりあえず解決しないか?
0503デフォルトの名無しさん
2007/10/29(月) 20:34:29ありがとうございます、おっしゃっていることの意味としては、SetStyleメソッドを
使って制御可能ということですか、わかりました。やってみます。
ということは、コントロールを一回派生して別のものにして、それを使うという
ことなのですね。トライしましたら結果を報告します。
0504460
2007/10/29(月) 20:49:12おかげさまで目的のプログラムは完成しました
もう一つバーコード関連で質問させてください
今度はハンディターミナルを使ってバーコードを読み取り、PCに転送するソフトを作れと言われました
そして、ハンディターミナルも選定しろと言われました
VB2005でプログラムを作成しやすいメーカーってあるのでしょうか?
WindowsCE搭載の物なら作りやすいだろうと思いますが、予算が10万前後といわれているので
予算不足で却下されるのではないかと思います
参考になるようなホームページ等ありましたら教えてください
0505デフォルトの名無しさん
2007/10/29(月) 21:39:360506デフォルトの名無しさん
2007/10/29(月) 21:45:20定義した新しいクラスでデフォルトコンストラクタは定義できないのでしょうか?
インスタンスが作成された時にメンバ変数を初期化したいのですが…
0507デフォルトの名無しさん
2007/10/29(月) 21:48:21基底クラスがデフォルトコンストラクタを公開していないなら妥当な引数を渡す必要があるけど
0508デフォルトの名無しさん
2007/10/29(月) 21:53:53俺には理解できない神経だなそういうの
0509506
2007/10/29(月) 22:00:53やっぱりできますよね。
で、自分のコードを確認したところ以下のようになっていました。
DataSetを扱うためにVSが自動で継承して作成したD_TESTTableAdapterというクラスです。
Namespace DataSet1TableAdapters
Partial Public Class D_TESTTableAdapter
Sub New()
Dim s As String = ""
End Sub
エラー:'Public Sub New()' には同じ署名で複数の定義が存在します。
派生じゃなくてPartialでした。。
コンストラクタとは全く別件ですね。
Partialの自動作成されたコードのコンストラクタを書き換えるのはまずいという認識なのですが、
このクラスが呼び出された際、メンバを初期化するにはどうすればよいでしょうか?
ぱっと思いつく方法としては初期化のためのコンストラクタのためにこのクラスを
派生する、という方法ですがなにか違和感があります。。
よい方法ありませんか?
0510デフォルトの名無しさん
2007/10/29(月) 22:08:12そんなのは、ここじゃなくてメーカーに聞くべき。
0511503
2007/10/29(月) 22:58:14使いたいコントロールを一回派生して別のものにしてから
そのコンストラクタ内でSetStyleメソッドを書いてダブルバッファなどを
処理し、それを使うということで解決しました。ありがとうございました。
ただ、このような要求は普通にあるかとも思われ、できればデフォルト
でそうした処理となるようにしておいてくれていればとも思ったのですが、
これですと毎回Imageを貼るものでは一手間がかかるような感じはします。
なぜ標準でパタツキ防止になっていないのでしょうね・・・。
0512デフォルトの名無しさん
2007/10/29(月) 23:02:11>Partialの自動作成されたコードのコンストラクタを書き換えるのはまずいという認識
あーやっぱりそうですか。自分もそういう感じはあったのですが、
派生コントロールなどでは、結局そのNewの中から自前の初期l設定を
呼び出したりしてました。
それ以外のものでは、Shownイベント時や、Loadイベント時に処置したりして
対応したものもあります。
0513デフォルトの名無しさん
2007/10/29(月) 23:16:070514デフォルトの名無しさん
2007/10/29(月) 23:20:47派生してそれをやりたい?
訳がワカラン。
わけの分からんこと言ってる暇があれば地道に勉強した方がいいと思うよ。
勉強する気もないのなら、悪いこと言わないから継承なんか使わないことだね。
0515デフォルトの名無しさん
2007/10/29(月) 23:42:140516デフォルトの名無しさん
2007/10/30(火) 00:00:54っていうか自動生成されたコードのフィールドって誰がいってんの?
0517506
2007/10/30(火) 00:22:24書き直します。
テーブルアダプタを利用する時にVSが自動で
Partial Public Class ???TableAdapter
みたいなコードを作成するのですが、
このクラスに手動でメンバ変数を追加して、
それをこのクラスのインスタンスが作成された時に初期化したいと思います。
ところがこのクラス自体はVSが自動で作成したもので
自動で作成されている部分でコンストラクタが定義されており、手を加えることができません
(実際できないことはないですがしてなならないというスタンスのはず)
許されている行為はPartial Public Class ???TableAdapterと定義し、
こちらでこのクラス自体を継承、ではなく拡張することです。
こういった場合自分でメンバ変数を追加した場合、本来コンストラクタで初期化したいのですが
VS自動作成部分であり任意の値で初期化することができません。
任意の値で初期化するにはどうすればよいでしょうか?
0518デフォルトの名無しさん
2007/10/30(火) 02:25:36一つは、NewコンストラクタのOverLoadを作ってやり、
そこですでに生成済みのそのNew(=Partialクラス内のコンストラクタ)
の中身をコピーし、かつ、その後ろに自分の書きたいコードを書く、
ということで実現できると思います。
自分がそのクラスを使うときは、その後で自分が追加したほうの
コンストラクタを使ってインスタンスを生成してやればいいわけです。
その際、OverLoadになるように引数を工夫してちびっと違うものにして
やれば元のものと両立できます。もし引数を一致させたいときはShadow
にして前のものを無視するようにすればいいのでは?
0519デフォルトの名無しさん
2007/10/30(火) 08:57:260520デフォルトの名無しさん
2007/10/30(火) 10:21:51そうですね、Partialに宣言されたものをPartialじゃない方でShadowする
のは無理でした、すみません(Shadowは派生したときですものね)。
0521デフォルトの名無しさん
2007/10/30(火) 16:42:25空気抵抗を持たせた物体の放物運動のプログラムを作ったのですが、
実行はできるのですが、放物線がうまく描かれません・・。
Dim X, Y, Vx, Vy, Ax, Ay, dt, ga, Pi, V0, theta, k As Double
Dim XF, YF, XL, YL, X0, Y0 As Double
Dim XFI, YFI, XLI, YLI As Integer
Dim T, Xe, Ye, Vxe0, Vye0 As Double
Dim XeF, YeF, XeL, YeL As Double
Dim XeFI, YeFI, XeLI, YeLI As Integer
Dim kVy, g As Integer
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
ga = 9.8 : Pi = 3.1415963
dt = 0.01
X0 = 0 : Y0 = 0
Ax = 0 : Ay = -ga
X = X0 : Y = Y0
V0 = 70 : TextBox1.Text = V0
k = 0.02 : TextBox3.Text = k
theta = 45 : TextBox2.Text = theta
theta = theta * Pi / 180
Vx = V0 * Math.Cos(theta) : Vxe0 = Vx
Vy = V0 * Math.Sin(theta) : Vye0 = Vy
T = 0
XF = X : YF = Y
Xe = X0 : Ye = Y0
XeF = Xe : YeF = Ye
End Sub
0522デフォルトの名無しさん
2007/10/30(火) 16:46:44Dim w As Integer = PictureBox1.Width
Dim h As Integer = PictureBox1.Height
e.Graphics.TranslateTransform(20, h - 20)
e.Graphics.ScaleTransform(1, -1)
e.Graphics.DrawLine(Pens.Black, 0, 0, w - 40, 0)
e.Graphics.DrawLine(Pens.Black, 0, 0, 0, h - 40)
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Timer1.Enabled = True
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Timer1.Enabled = False
End Sub
0523デフォルトの名無しさん
2007/10/30(火) 16:50:20X = X0 : Y = Y0
XF = X0 : YF = Y0
V0 = TextBox1.Text
theta = TextBox2.Text
theta = theta * Pi / 180
k = TextBox3.Text
Vx = V0 * Math.Cos(theta) : Vxe0 = Vx
Vy = V0 * Math.Sin(theta) : Vye0 = Vy
T = 0
XF = X : YF = Y
Xe = X0 : Ye = Y0
XeF = Xe : YeF = Ye
Timer1.Enabled = True
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
End
End Sub
0524デフォルトの名無しさん
2007/10/30(火) 16:51:26Dim g As Graphics = PictureBox1.CreateGraphics()
Dim w As Integer = PictureBox1.Width
Dim h As Integer = PictureBox1.Height
g.TranslateTransform(20, h - 20)
g.ScaleTransform(1, -1)
Vx = Vx - k * Vx * dt
Vy = Vy - ga - k * Vy * dt
X = X + Vx * dt
Y = Y + Vy * dt
XL = X : YL = Y
XFI = CInt(XF) : YFI = CInt(YF) : XLI = CInt(XL) : YLI = CInt(YL)
g.DrawLine(Pens.Black, XFI, YFI, XLI, YLI)
XF = XL : YF = YL
T = T + dt
If Y <= 0 Then Timer1.Enabled() = False
End Sub
End Class
上のプログラムです。間違っているところをお教えください。
よろしくお願いします。レスの無駄遣い失礼しました・・・。
本当に申し訳ありません。
0525デフォルトの名無しさん
2007/10/30(火) 18:33:41>がうまく描かれません
というのを具体的に。
いったん描画されるが動かしたり別のウインドウを重ねるとすぐ消えてしまうことをいっているのか、
それとも4点ほどですぐに圏外にでてほとんどなにも描画されないことを言っているのか明確に。
0526524
2007/10/30(火) 19:05:38レスどうもです。
後者のほうです。すぐ圏外に出てしまい、ほとんど何も描画されず、点の
ようなものが描かれるだけになってしまいます。
0527デフォルトの名無しさん
2007/10/30(火) 20:50:30どうしたらいいですか?
…
0528デフォルトの名無しさん
2007/10/30(火) 22:38:190529デフォルトの名無しさん
2007/10/30(火) 22:47:520530デフォルトの名無しさん
2007/10/31(水) 00:05:040531デフォルトの名無しさん
2007/10/31(水) 00:16:35VB.Netのソースを書く上で使い勝手のいい、
フリーのテキストエディタというと、何になるでしょうか?
0532デフォルトの名無しさん
2007/10/31(水) 00:25:51Visual Basic 2005 Express Edition
0533506
2007/10/31(水) 03:15:21結論として「できない」ということでまとめさせてもらいますね。
>>518でもあるようにオーバーロードを定義すると可能ですが
今回のようにVSの自動作成されたコードの中でインスタンス化されてしまう場合は
ちょっと厳しいようです。
ありがとうございました。
0534デフォルトの名無しさん
2007/10/31(水) 08:55:40>VSの自動作成されたコードの中でインスタンス化されてしまう
というのはどういう意味でしょうね?
Partial Class 定義の中で 「インスタンス化」 などはされていないはず。
インスタンス化するのはあくまでもそれを使う側のコードで行う処理で。
だからそのクラスのコンストラクタ (Newプロシージャ) を呼ぶところで
呼び出すNewを変えてやればいいことでは?
0535デフォルトの名無しさん
2007/10/31(水) 20:14:04Visual Basic 2005 Express Edition 日本語版 (無料)
http://www.microsoft.com/japan/msdn/vstudio/express/vbasic/
そしてパッチ
http://www.microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=7B0B0339-613A-46E6-AB4D-080D4D4A8C4E
Vistaパッチ
http://www.microsoft.com/downloads/details.aspx?familyid=90E2942D-3AD1-4873-A2EE-4ACC0AACE5B6&displaylang=ja
0536デフォルトの名無しさん
2007/10/31(水) 20:22:54まる投げがおおすぎなくない
0537デフォルトの名無しさん
2007/10/31(水) 20:24:07途中で送信したorzスマン。
0538デフォルトの名無しさん
2007/10/31(水) 20:35:09丸投げするにしても、これだけ長くなるなら迷惑だから
ソースファイルごとをどっかのアップローダに置いといてくれ
こっちで試しに動かしてみようと思ってもコントロールへの依存が多くてすごく面倒だし
0539506
2007/10/31(水) 23:28:21少し説明が足りなかったです。
実際には???TableAdapterはObjectDataSourceに連結されており、
VSが内部で自動で作成したソースの中でインスタンス化されているようです。
ですのでコンストラクタに引数を渡すことができない状態です。
0540デフォルトの名無しさん
2007/11/01(木) 01:15:50それなら仕方ないんで、そのNewコンストラクターの最後のところに
自分で作った初期化用のプシージャを呼ぶように一行だけ追加しとけば
当面たくさんいじった感じにならないからそれくらいならいいんじゃないかね?
(初期化用のプロシージャはPartialではない方のファイルに書いておいて)
その初期化の内容の如何で、動作がおかしくなることがあるとしたら
その追加の内容によってはあり得るってことで、Partial側に触ったからおかしく
なる、ってことではないと思うので・・・。
0541デフォルトの名無しさん
2007/11/01(木) 01:20:40ところでみなさんに質問、2ch用にJaneブラウザ使ってるのですが
VS2005でデバッグしていて、その最中にJaneを起動すると、その後から
IEが動作不良を起こすようになりました。これはほぼ100%の確率で
起こるため、おそらくこのJaneの動作が絡まっているんじゃないかと
疑ってるのですが、みなさんのところではそういう状況は起きてない
でしょうか。
もし起きたことがあり、何か対策して直ったということがありましたら
情報教えて戴けないでしょうか?
0542デフォルトの名無しさん
2007/11/01(木) 02:05:47基底クラス作ればいいっていってんのに全然聞かないんだな。
TableAdapter用の基底クラス作って初期化メソッドをOverridable辺りで作っとく。
TableAdapterのデザイナのプロパティで基底クラスを上記のものに明示的に設定する。
パーシャルクラスで初期化メソッドをオーバーライドする。
以上
0543506
2007/11/01(木) 04:08:38自動作成のコードの上部に以下のようなコメントが自動作成されてました。
' このコードはツールによって生成されました。
' ランタイム バージョン:2.0.50727.312
'
' このファイルへの変更は、以下の状況下で不正な動作の原因になったり、
' コードが再生成されるときに損失したりします。
やはりだめということはしない方がよいと思います。
ですがこの辺はリスクとメリットを検討した上で判断したいと思います。
ありがとうございます。
>>542
悪気はなかったのですが返事をスルーしてしまっていました。
申し訳ありません。
基底クラスを作るということだけでピンとこなかったものですので。
基底クラスは元々DataSetの*.xsdから自動作成されたクラスがこれまた自動で派生されて
作成されたコードですのでやはり差し替えはサポートしていないと思います。
0544デフォルトの名無しさん
2007/11/01(木) 04:49:52やり方まで書いてんのに、サポートしてないと思いますってのはどういう了見だよ。
出来ないと思いますじゃなくて、間違いなく で き る の。
0545デフォルトの名無しさん
2007/11/01(木) 09:44:21データセットのデザイナ画面で対象のテーブルアダプタを選択してプロパティを表示する。
するとBaseClassだったかいうプロパティがあるから
それを自作の基底クラスに書き換える。
以上
0546デフォルトの名無しさん
2007/11/03(土) 00:59:47自作してる
ColIsNULLとかより
IsNullCol
のが好きなんだぜ
と言ってみる
ついでに楽観的排他制御無駄多いし
0547デフォルトの名無しさん
2007/11/03(土) 03:37:04ツリービューにテキストファイルからノードを読み込んでるんですが
18000行ぐらいあるので全部読み込むまで20秒ぐらいかかってます。
たぶん階層構造も保持できるXMLあたりで保存しておけば
読み込む時間も早くなると思うのですが保存方法がわかりません。
わかりやすく解説してるサイトとかあったら教えてください。
0548デフォルトの名無しさん
2007/11/03(土) 10:19:49XMLのサンプルとか紹介はGOOGLEで一撃で出てくると思うぞ
VB.NET XMLとかで
0549548
2007/11/03(土) 11:32:58http://support.microsoft.com/kb/301101/ja
とかで簡単なサンプルあるしつかってみれば?
でも、XMLにしたからって早くなるわけじゃぁない感じだと思うんだけど・・・
テキストの読み取りに時間かかってるんだろうし
2005なら読み込みをマルチスレッドでやってから展開する手もあるだろうし
0550デフォルトの名無しさん
2007/11/03(土) 14:41:23グラフィックの描画、あるいはビットマップイメージの表示などで、二つの絵を重ねる場合、
通常は後に描画されたものが前のものに覆いかぶさるように表示されます。
後ろの絵を表示したい場合は、透過を使用できますよね?
今回、重なった部分のみ加法混色のようにしたいんです。
たとえば、緑色に塗りつぶした図形と赤色に塗りつぶした図形を部分的に重ねるとき、
その重ねた部分だけを黄色にして表示したいんです。
どなたか、やり方を知っている方がいましたらお願いします。
0551506
2007/11/03(土) 15:23:46できるんですね。
知りませんでした。
BaseClassプロパティを変更し、基底クラスを差し替えれることを確認しました。
次にVSがそれを継承した???TableAdapterを自動で作成するので
こちらはVSの自動作成部分以外でpartial定義されてる部分で
基底クラスのコンストラクタをオーバーライドし、メンバの初期化を行おうとしたのですが、
できませんでした。
???TableAdapterはpartial定義されているだけで実際にはコンストラクタはコードが分離されているだけで
定義されているためです。
BaseClassに指定した基底クラスで継承先クラスのメンバの初期化はできないので
???TableAdapterを継承し、継承先のクラスでコンストラクタをオーバーライドすることで???TableAdapterのメンバの
初期化をコンストラクタに書くことができそうです。
しかし継承を繰り返し可視性が下がってしまいましたんで実装するかは検討しますね。
技術的に可能なことがわかってよかったです。
ありがとうございました。
0552デフォルトの名無しさん
2007/11/03(土) 15:33:30RegionとGraphics.CopyFromScreenの組み合わせでいけるんじゃないの?
描画対象が画像ではなく単純な図形の塗りつぶしならRegionの使い方だけ
覚えれば問題ないね。
しかし、なんでラスタオペレーションが描画サーフェイスに対してしか
用意されてないのかは謎だなあ。。
0553デフォルトの名無しさん
2007/11/03(土) 15:34:51オーバーライド用の初期化メソッドを基底クラスで用意して
基底クラスのコンストラクタで呼んどくの。
ただしテーブルアダプタ自体のコンストラクタより先に呼ばれるから、
それは制限になるけどね。
0554デフォルトの名無しさん
2007/11/03(土) 15:50:47はっきり書かなかったから分からなかったのか…
いやさすがに皆までいわいでも分かると思ったんだよ…
0555550
2007/11/03(土) 16:13:29お答えありがとうございます。質問が少し説明不足でした。
Regionで・・・ということは、塗りつぶし色のRGB値を記号で表しておいて、
重なった領域の色は、重なり合うそれぞれの領域のRGB値を足し合わせて・・・
ということですよね?
実はそれも少し考えました。
今回は線分の交点がメインになるので、Regionじゃ無理かなと思いました。
説明不足ですいませんでした。何か良いやり方をご存知でしたらお願いしたいのですが・・
0556デフォルトの名無しさん
2007/11/03(土) 16:37:51線分の形状のRegionは作れないの?
できるでしょ。
それとも都合のいいところ(この場合は線分の交点)だけORとって
描画してくれる方法があるはずだ、とか思ってるのかな。
そんなエスパー機能を期待したって無理でしょ
0557デフォルトの名無しさん
2007/11/03(土) 20:30:07簡易タブファイラーをつくろうと思ってるんですが、
タブコントロールの中にエクスプローラをインポートする事って出来るでしょうか?
ファイルの縮小版表示機能がどうしても必要なんで、出来ればエクスプローラ
をタブの中に埋め込みたいです。
やり方をご存知の方いましたらお願いします。
0558デフォルトの名無しさん
2007/11/03(土) 21:32:440559デフォルトの名無しさん
2007/11/03(土) 22:06:500560デフォルトの名無しさん
2007/11/03(土) 22:18:170561デフォルトの名無しさん
2007/11/03(土) 22:26:09System.IO.StreamReader クラスの ReadLine メソッドを使用して今は実行しています。
しかし処理に数分かかるので、もっとよい方法があれば教えていただきたいです。
0563デフォルトの名無しさん
2007/11/03(土) 22:44:26アドバイスありがとう
一度データテーブルに読み込んでツリービューに追加はやったことありますが
めっさ遅くなりましたw
今のテキストファイルの状態だと、全ノードに全階層が書いてあるので
重複を省けるだけでも速くなるかなと思ったんですけどそうでもないんでしょうかね
マルチスレッド化したほうがいいかな
0564デフォルトの名無しさん
2007/11/03(土) 23:02:15実際ふつうにやったら、テキストやらファイル構造からの処理よりも
TreeViewへの追加処理そのものの方が圧倒的に遅いでしょ。
ファイルからの読み込み自体が遅いなら知らんが…
0565547=563
2007/11/03(土) 23:32:16おっさるとおりTreeViewへの追加処理に時間が掛かってる感じです
・何もせず都度表示の更新をしながら追加処理をすると20秒以上掛かるが表示のタイムラグはない
・BeginUpdate,EndUpdateで追加処理自体は速くなるが表示まで10秒ほどタイムラグが発生
・TreeViewがshowメソッド等でアクティブになってなければ追加処理は数秒で終わりますが表示に10数秒タイムラグが発生
ノード数約2万個を1行ずつ追加していったときの結果です
一個ずつ追加する方法だと限界なのかも知れませんね
AddRangeは試してないのでわかりません
AddRangeを使うとなると配列作るのが厄介そうですがちょっとやってみます
0566デフォルトの名無しさん
2007/11/03(土) 23:43:02つか適当な件数ごとに BeginUpdate/EndUpdate 繰り返せばいいんじゃね?
0567デフォルトの名無しさん
2007/11/04(日) 02:06:52数十MB程度のReadLineでなんで数分かかるんだ?
配列に代入するところのコードをちゃんと書いてくれ。
ループの中で毎回Redimしてないかね?
.NetFramework2.0が使えるなら、
System.IO.File.ReadAllLines()
を使ってみそ。
Dim ReadLines As New List(Of String)
Do
Call ReadLines.Add(sr.ReadLine)
Loop Until sr.Peek = -1
こんなんでもいいし
0568デフォルトの名無しさん
2007/11/04(日) 02:11:320569デフォルトの名無しさん
2007/11/04(日) 09:41:140570デフォルトの名無しさん
2007/11/04(日) 11:04:14旧VBでなぜか定石のように使われまくってたからな。
0571550
2007/11/04(日) 14:54:55お答えありがとうございます。
少しそのエスパー機能的なものを期待してた部分はありました。
今回作りたいのは、垂直線対称な色の異なる線分を2本描いて、その交点のORをとる。
というものなのですが、RegionとRotateTransformなどを組み合わせて・・・だと無理だと
思ったのです。
もうすこし色々がんばってみます。ありがとうございます。
0572デフォルトの名無しさん
2007/11/04(日) 23:09:49こうなったら・・・・
新しいツリービューのインスタンスに別スレからノードを追加完了した状態にして 完了時に元のツリービューを削除して
新しいツリーを同じ名前に変更した後差し替えだw
0573デフォルトの名無しさん
2007/11/05(月) 15:00:12ポインターの向きが右向きになるのを実現するにはどうしたらいい
でしょう?コントロールパネルのマウス->ポインターで調べると
右向きポインターは見当たらないので単純にポインターを差し替える
のではないような感じです。
それと現在自分は拡大ポインターを使用していますが、.NETFrameworkで
指定するMouseポインターは、たとえばsplitContainerの仕切り線を動かす
ときの間仕切り用のポインターなどは決まったものしか使用できないで
しょうか、これらも拡大ポインターなど使いたいものに変更できれば
うれしいのですが・・・
0574デフォルトの名無しさん
2007/11/05(月) 16:49:19VSのプロジェクトにカーソルを追加
http://msdn2.microsoft.com/ja-jp/library/0b1674x8(VS.80).aspx
上を参考にしてホットスポットを設定
Me.Cursor = New Cursor("mycursor.cur")
0575デフォルトの名無しさん
2007/11/05(月) 18:28:010576デフォルトの名無しさん
2007/11/05(月) 22:47:43右向きポインターはその右上側に指し先を指定するという意味でホットスポット
というものを設定する必要があるということなのですね。ありがとうございました。
その際ポインターの絵は自分で用意する必要がありそうですね。
>>573の後段については、もしできれば、現在のSplitカーソルが拡大版の
両矢印カーソルに自動的になるような何かの設定ができたらとも思ったのですが、
この方法に準じる場合は、該当の領域にマウスが入ったときに自分でプログラム
でカーソルを変更するコードを書くということなのですね。これが設定だけで
なんとかなればとも思うのですが、何か方法はないものでしょうか?
0577デフォルトの名無しさん
2007/11/06(火) 02:53:190578デフォルトの名無しさん
2007/11/06(火) 07:33:22>なんでも用意されてると思うな
あーやはりそうですか・・・わかりました。
ありがとうございました。
0579デフォルトの名無しさん
2007/11/06(火) 16:49:49〔ノ二二,___ __,二二ヽ〕
|:::::::::::::::::::::::::::ヽ ゜ ゜ /::::::::::::::::::::::::::/
〉::::::::: :::::::::::::〉 ・ 〈:::::::::::::: ::::::::〈
|:::::::::::::::::::::::::/ (u) ヽ::::::::::::::::::::::/
〔:::::::::::::::::::::/ ノ~ヽ ヽ::::::::::::::::::|
ヽ:::::::::::::::::/ /::::::::::::\ ):::::::::::::::::::ゝ
ノ:::::::::::::::::::| |_〜─〜-| |〜〜〜/
(_) (_)
0580デフォルトの名無しさん
2007/11/06(火) 22:30:17::::::::::::::: :::::::::.....:☆彡::::( *^ω^*)__::::。::::::::::::::::: ゜.::::::::::::
:. .:::::。:〔ノ二二,___ __,二二ヽ〕 :::::::::゜:::::::::: ..
:::::::::::::::::::::::::::::::...... ....:::::::゜::::::::::::::::::::::::::::::::::::::::::::::::::::::.....:::::::::::::::......
:.... .... ..:.... .... ..... .... .. .:.... .... .. ..... .... .. ..... ............. .. . ........ ......
:.... . ∧∧ ∧∧ ∧∧ ∧∧ .... .... .. .:.... .... ..... .... .. .
... ..:( )ゝ ( )ゝ( )ゝ( )ゝ無茶しやがって… ..........
.... i⌒ / i⌒ / i⌒ / i⌒ / .. ..... ................... .. . ...
.. 三 | 三 | 三 | 三 | ... ............. ........... . .....
... ∪ ∪ ∪ ∪ ∪ ∪ ∪ ∪ ............. ............. .. ........ ...
三三 三三 三三 三三
三三 三三 三三 三三
0581デフォルトの名無しさん
2007/11/06(火) 23:00:030582デフォルトの名無しさん
2007/11/06(火) 23:25:03VB.NETとJavaで動作が違うんだが、何をどぉすればイイんだか
さっぱりわからんので、バカなオレにアドバイスを。
やりたいこと
AES(Rijndael)/CBC/PKCS5Padding(.NETはPKCS7Padding) での、文字列暗号化
文字列 ABCDEF を暗号化した時に、
VB.NET : 31QD2jPrI8yeVzdYV0NrHg==
Java : [B@b122a1
となる
Javaにあわせるには、どぉしたらイイんだ?
↓プログラム
0583デフォルトの名無しさん
2007/11/06(火) 23:25:50==========================================
import javax.crypto.*;
import javax.crypto.spec.*;
import java.lang.*;
public class EncryptAES {
public static void main(String[] args) {
try{
String cryptAlgorithm = "AES/CBC/PKCS5Padding";
Cipher cipher = Cipher.getInstance(cryptAlgorithm);
SecretKeySpec secretKey = new
SecretKeySpec("ABCDEFGHIJKLMNOPQRSTUVWXYZ012345".getBytes(), "AES");
IvParameterSpec ivSpec = new IvParameterSpec("ABCDEFGHIJKLMNOP".
getBytes());
cipher.init(Cipher.ENCRYPT_MODE , secretKey, ivSpec);
System.out.println(cipher.doFinal("ABCDEF".getBytes()).toString());
}
catch(Exception e) {
System.out.println("暗号化に失敗しました" + e.toString());
}
}
}
0584デフォルトの名無しさん
2007/11/06(火) 23:26:21==========================================
Public Sub Sub_Encrypt()
Dim RijndaelAlg As New RijndaelManaged
Dim plaintextBytes() As Byte = Encoding.ASCII.GetBytes("ABCDEF")
Dim workMemoryStream As New System.IO.MemoryStream
Dim EncryptStream As CryptoStream
With RijndaelAlg
.Mode = CipherMode.CBC
.Padding = PaddingMode.PKCS7
.Key = Encoding.ASCII.GetBytes("ABCDEFGHIJKLMNOPQRSTUVWXYZ012345")
.IV = Encoding.ASCII.GetBytes("ABCDEFGHIJKLMNOP")
End With
EncryptStream = New CryptoStream(workMemoryStream, _
RijndaelAlg.CreateEncryptor(), _
CryptoStreamMode.Write)
With EncryptStream
.Write(plaintextBytes, 0, plaintextBytes.Length)
.FlushFinalBlock()
End With
strOutput = Convert.ToBase64String(workMemoryStream.ToArray)
End Sub
0585デフォルトの名無しさん
2007/11/06(火) 23:48:05.NETだとPKCSは#7しかできないから手で埋めるかJavaの方を#7にするか。
あとよう知らんがgetBytes()ってのはASCIIでいいのか?
0586デフォルトの名無しさん
2007/11/06(火) 23:55:49Paddingが違うのは自分でもわかってるが、
イマイチ暗号化自体よくわかってないバカなオレ(^^ゞ
だから、「手で埋めるかJavaの方を#7にするか」って言われてもよくわからん(-_-)
んで、getBytes()は、ASCIIでイイと思ってるがダメなの?
JavaとVBで、デバック時に変数の値を見たら、同じ(ASCII変換)だったから
OKだと思っちゃってるんだが...
0587デフォルトの名無しさん
2007/11/07(水) 00:08:58ところがデータの末尾は大抵BlockSizeに足りない。
足りない部分を埋めるアルゴリズムがPadding。
あとはPaddingMode.PKCS7の解説見れ。
> んで、getBytes()は、ASCIIでイイと思ってるがダメなの?
Javaは知らんからちょっと疑問だっただけ。
同じバイト配列になるんだったらそれでいいでそ。
0588デフォルトの名無しさん
2007/11/07(水) 00:14:13> あとはPaddingMode.PKCS7の解説見れ。
勉強不足だから、もうちと頑張って理解してみる
解説&アドバイス ありがとでした
0589デフォルトの名無しさん
2007/11/07(水) 00:24:15>プラットフォームのデフォルト文字セットを使用してこの String をバイトシーケンスに符号化し、結果を新規バイト配列に格納します。
俺もJavaは知らないんだが、ほんとにいいのか?
0590デフォルトの名無しさん
2007/11/07(水) 00:28:28なんで16バイトのbyte[]をtoStringしたら9バイトの文字列になってんだ?
あとBase64するならJavaでもやれ
0591デフォルトの名無しさん
2007/11/07(水) 00:36:10本来は、同じにならないとダメだからってのは理解しているが、
JavaとVBで、なぜこんなに違うのかって理由がよくわかってないから
みんなの意見を参考に、実験&勉強してみまつ
0592デフォルトの名無しさん
2007/11/07(水) 10:20:29Javaでの文字列への変換が間違ってる。
Cipher.doFinalがbyte[]が返すので、それをtoStringしてもだめ。
System.out.println(new String(Ciphyer.doFinal("ABCDEF".getBytes()), "ISO-8859-1"));
0593582
2007/11/07(水) 11:51:59参考になりまつ
まだまだ勉強が足りないなぁ...反省
0594デフォルトの名無しさん
2007/11/07(水) 16:48:57どうしたらいいですか!?ちなみに、モノクロ画像で16*16の画像を256*256にしたいです。
よろしくお願いします!!
0595デフォルトの名無しさん
2007/11/07(水) 18:20:510596デフォルトの名無しさん
2007/11/07(水) 20:16:510597デフォルトの名無しさん
2007/11/07(水) 20:32:401pixelを4pixelに拡大したいです。
0598デフォルトの名無しさん
2007/11/07(水) 21:10:35がんばてください
0599デフォルトの名無しさん
2007/11/07(水) 21:20:53With .bmiHeader
.biSize = Len(BmpInfo.bmiHeader)
.biWidth = BmpData.bmWidth
.biHeight = BmpData.bmHeight
.biPlanes = 1
.biBitCount = 32
.biCompression = 0
.biSizeImage = BmpData.bmWidth * BmpData.bmHeight * 4
.biClrUsed = 0
End With
End With
これをvisual basic 2003で書き換えたらどうなりますか?
0600デフォルトの名無しさん
2007/11/07(水) 21:21:35600げっと
0601デフォルトの名無しさん
2007/11/07(水) 21:30:56その時の画像の1pixelを4pixelにして256*256の画像にしたいです。同じ画像は
表示できたのですが、拡大が出来ません!pictureboxが二つあり、picbox1のほうに画像を読み込み
picbox2に拡大表示したいです。どうしたらよいですか!?よろしくお願いします!!
0602デフォルトの名無しさん
2007/11/07(水) 21:40:14>>598
てか字数はあるけど〜したいですが、できませn。
だしなぁ、シね
0603デフォルトの名無しさん
2007/11/07(水) 22:03:040604デフォルトの名無しさん
2007/11/07(水) 22:05:24嘘教えるけど怒らんでね
(x,y)が黒だったら
(x*4, y*4, 4,4 )の領域を黒く濡場おk
0605デフォルトの名無しさん
2007/11/07(水) 22:05:56どうやって16*16が256*256になるんだ?
0606デフォルトの名無しさん
2007/11/07(水) 22:06:450607デフォルトの名無しさん
2007/11/08(木) 00:39:31IEなどで、Webサイトを開くとそのページのタイトルがIEのタイトルに
表示されますよね、あれと同じものを取り出したいのですが、
VB.NETでそれを行うにはどのようにすればよいか教えてください。
よろしくお願いします。
0608607
2007/11/08(木) 00:41:33VB.NETではWebBrowserでWeb表示する場合となります。
WebBrowserのイベントで何を取り込めばよいでしょうか。
0609607
2007/11/08(木) 00:52:48あ、わかりました!!DocumentTitleプロパティでした。
失礼しました!!
0610デフォルトの名無しさん
2007/11/08(木) 00:53:050611デフォルトの名無しさん
2007/11/08(木) 00:58:03ソースを文字列で読み込んでから
"<title>"と"</title>"で挟まれてる部分を抜き取ってるだけじゃねーの?
ソース見てそれくらい類推できないかね?
0612デフォルトの名無しさん
2007/11/08(木) 02:32:33なんだからそういう話じゃないんだろ多分。
0613デフォルトの名無しさん
2007/11/08(木) 16:50:08Private Sub TabControl1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) _
Handles TabControl1.MouseDown
MouseDownedTabPage = CType(TabControl1.GetChildAtPoint(e.Location), TabPage)
End Sub
という方法で取り出せるかと思いましたら、どうもNothingが返ってきて取り出せませんでした。
Moseボタンは右クリックの場合もあり、Selectされるとは限らず、
Selectされてもされなくても、Mouseボタンが押された所のTabPageが
わかればありがたく。どのようにするべきでしょうか。
0614デフォルトの名無しさん
2007/11/08(木) 17:03:41bitmapeditorの設定で高さや幅、プレーンのプログラムを教えてください。お願いします
0615あにす ◆sGTL1yK0.6
2007/11/08(木) 17:22:11これでいけないかなぁ、多分。
Private Sub TabControl_MouseClick(ByVal sender As Object, ByVal e As MouseEventArgs) _
Handles TabControl.MouseDown
Dim SelectedTabPage As TabPage
For i As Integer = 0 To Me.TabControl.TabPages.Count - 1
If Me.TabControl.GetTabRect(i).Contains(e.X, e.Y) Then
SelectedTabPage = Me.TabControl.TabPages(i)
End If
Next
End Sub
0616デフォルトの名無しさん
2007/11/08(木) 18:33:36なんかWinのGUIの基本的な考え方がわかってないっぽい発想だなあ。。
当たり前のことだが、マウスのイベントというのは、
「ユーザーによってマウスで操作されたコントロール」
で発生するんだけど、それ理解してる?
TabPage1が操作されればTabPage1(TabControl1ではない)のイベントが発生するし、
TabPage1の中のButton1が操作されればButton1のイベントが発生するんだよ。
0617613
2007/11/08(木) 18:44:09どうもありがとうございました!!
教えてくださった方法でTabPageを知ることができました!!助かりました!!
0618デフォルトの名無しさん
2007/11/08(木) 18:50:350619デフォルトの名無しさん
2007/11/08(木) 19:15:53あ、おれもかwww
0620あにす ◆sGTL1yK0.6
2007/11/08(木) 22:33:52TabPageのクリックイベントぢゃTabPageのタブ部分のクリックは拾えないのよね。
TabPageのタブ部分のクリックはTabControlでしか拾えないから困ったちゃんなのよ。
んで>>613になったんだと思うにょ。
0621デフォルトの名無しさん
2007/11/08(木) 23:02:42読み手のESP能力に頼ってるのか、ベタに区別がつかないのか知らないが
いずれにせよ愚かな質問だね
0622あにす ◆sGTL1yK0.6
2007/11/08(木) 23:11:31Dim hoge() As Object
Dim hoge As Object()
ってどう違うんでしょうか?
0623デフォルトの名無しさん
2007/11/08(木) 23:12:210624デフォルトの名無しさん
2007/11/08(木) 23:14:12時々前者の方を自信満々に推奨する奴がいるけど、
そういう人の言うことは今後話し半分に聞いた方がいいと思う。
0625あにす ◆sGTL1yK0.6
2007/11/08(木) 23:18:15�d
0626デフォルトの名無しさん
2007/11/08(木) 23:30:16JavaやVB.NETだと「配列型」という意味で後者が正しいんだけど
昔のスタイルに慣れた人のために両方使えるようになってる
C#ではついに後者のみになってたりする
0627デフォルトの名無しさん
2007/11/09(金) 01:43:11そういう文法的なことってパッケ買ったらマニュアルとかに書いてあるの?
0628あにす ◆sGTL1yK0.6
2007/11/09(金) 07:01:48へ〜。
そしたら
Dim hoge(0) As Object
はどう書いたらいいの?
Dim hoge As Object(0)
って書いたら怒られよ。
0629デフォルトの名無しさん
2007/11/09(金) 09:12:58っていうかほんとに0でいいのか?
いやなんとなく
0631デフォルトの名無しさん
2007/11/09(金) 10:50:47Dim hoge(0) As Object と
Dim hoge As Object() = New Object(0) {}
は全く同じ意味だよ。どちらもhogeにはObject()型のインスタンスが代入される。
まあ後者は構文上かなり無理した感じがあるから、
きちんと理解した上で使うなら前者でいいと思う。
0632あにす ◆sGTL1yK0.6
2007/11/09(金) 11:41:43Dim hoge As Object() = New Object(0) {}←Object型の配列をObject型のインスタンスの配列で初期化
宣言だけしたいときはどうすればいいのん?ってお話でし。
Dim hoge(0) As Object
はコンパイル通るけど
Dim hoge As Object(0)
は通らないぬ。
0633デフォルトの名無しさん
2007/11/09(金) 11:45:200634デフォルトの名無しさん
2007/11/09(金) 11:53:43まえこれが原因のバグ入れた奴がいたな。
0635あにす ◆sGTL1yK0.6
2007/11/09(金) 12:15:12Dim hoge(0) As Object
hoge(0) = "moge"
Console.WriteLine(DirectCast(hoge(0), String))
で問題なく配列出来てると思うんだけど、漏れにも分かるように説明してほすぃ。
0636デフォルトの名無しさん
2007/11/09(金) 12:54:11VB.NETでは固定長配列は使えません。それっぽく書けるだけです。
Dim hoge(0) as Objectと宣言しても実際にはhogeはObject()型の変数になり、
Object()オブジェクトへの参照が代入されます。
0637あにす ◆sGTL1yK0.6
2007/11/09(金) 13:08:07Dim hoge(10) As String
も
Dim hoge As String()
も同じってこと?
0638デフォルトの名無しさん
2007/11/09(金) 13:11:48Dim hoge As Object() = New Object(10) { }
前者はこれと同じ。実際全く同じコードにコンパイルされる。釣り?
0639デフォルトの名無しさん
2007/11/09(金) 13:13:42てか>>634はそういう話ではない。
0640デフォルトの名無しさん
2007/11/09(金) 13:31:16通常Link用のテキストはhttp://でないといけないのですが、
これを通常のファイルパス文字列とかでもリンク文字列にするようには
できますでしょうか?
0641あにす ◆sGTL1yK0.6
2007/11/09(金) 13:47:49わかった気がする。
宣言時に長さを指定出来ないから
Dim hoge As Object()
として、
初期化する時に長さを決める
hoge = New Object(10) { }
つなげると
Dim hoge As Object() = New Object(10) { }
これを旧式で
Dim hoge(10) As Object
としてもいいようにしてあるってことね?
これで表面上はObject型の配列として扱えるように配慮してあると。
でもそれはObject()型の変数とな。
とすると、どう書くのが理想的なんでしょう?
0642デフォルトの名無しさん
2007/11/09(金) 13:49:38file://
0643デフォルトの名無しさん
2007/11/09(金) 14:34:28まさか本気で先程
>Dim hoge As Object(0)
って書いてたのか?
釣りかと思ってた。
0644あにす ◆sGTL1yK0.6
2007/11/09(金) 14:49:39書くわけない。怒られるもん。
Dim hoge(10) As Object
って書いてた。
0645デフォルトの名無しさん
2007/11/09(金) 15:04:320646あにす ◆sGTL1yK0.6
2007/11/09(金) 15:14:400647デフォルトの名無しさん
2007/11/09(金) 15:43:06>書くわけない。怒られるもん。
つまり書いた。把握。
0648あにす ◆sGTL1yK0.6
2007/11/09(金) 15:48:390649デフォルトの名無しさん
2007/11/09(金) 16:20:12ありがとうございました!!
0650デフォルトの名無しさん
2007/11/09(金) 16:50:24ReDimと組み合わせる場合はこれ
Dim Hoge() As Object
ReDim Hoge(3)
C#っぽく、Hogeを配列オブジェクトとして意識して使う場合はこれ
Dim Hoge As Object()
Hoge = New Object(3) { }
0651デフォルトの名無しさん
2007/11/09(金) 17:08:30どっちでもいいけど統一するべきだと思うよ
0652あにす ◆sGTL1yK0.6
2007/11/09(金) 17:18:55Dim hoge(10) As Object
が違和感なくていいなぁ、N88風で。
でもなんか急に古臭く見えてきたw
Dim hoge As Object()
hoge = New Object(10) { }
がカッコいいかも。
ReDim使うことが確実なようなら最初から
Dim hoge As New List(Of Object)
にするかな。
0653デフォルトの名無しさん
2007/11/09(金) 17:27:14勉強になった
0655デフォルトの名無しさん
2007/11/09(金) 17:33:35まぁまぁ
聞くは一時の恥、聞かぬは一生の恥というではないか
0656デフォルトの名無しさん
2007/11/09(金) 17:36:26>>650の上2行はVB6でも実行できるが、下2行はエラーになる。
つまりVB6らしい書き方をするかC#らしい書き方をするかの違い。
あくまでも気分的な問題だよ。
0657デフォルトの名無しさん
2007/11/09(金) 17:43:41この2つは結果が異なり、結構はまることがある。
' VB6
Dim i As Integer, j As Integer
For i = 0 To 9
Dim t(9) As Integer
t(i) = i
For j = 0 To 9: Debug.Print t(j);: Next: Debug.Print
Next
' VB.NET
Dim i, j As Integer
For i = 0 To 9
Dim t(9) As Integer
t(i) = i
For j = 0 To 9: Console.Write(t(j)): Next: Console.WriteLine()
Next
0658あにす ◆sGTL1yK0.6
2007/11/09(金) 17:51:57下のコードも意図がわかんないけど。
ふいんき(←何故か変換出来ない)では一緒に見える。
変数のスコープの話?
0659デフォルトの名無しさん
2007/11/09(金) 18:06:10VB6
0 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0 0
0 1 2 0 0 0 0 0 0 0
0 1 2 3 0 0 0 0 0 0
:
0 1 2 3 4 5 6 7 8 9
.NETでは毎回初期化される。
0000000000
0100000000
0020000000
0003000000
:
0000000009
0660あにす ◆sGTL1yK0.6
2007/11/09(金) 18:14:390661デフォルトの名無しさん
2007/11/09(金) 18:40:01なんか勘違いしてると思うよw
VB6は単にブロックレベルのスコープが存在しないだけでしょたぶん。
0662デフォルトの名無しさん
2007/11/09(金) 18:49:27日本語の勉強も必要なのか…
ふんいき だよ…
0663デフォルトの名無しさん
2007/11/09(金) 18:55:30http://ex20.2ch.net/test/read.cgi/gline/1193054078/l50
0665デフォルトの名無しさん
2007/11/09(金) 21:37:28釣りなのか、2ch初心者なのか。
つまり言葉のふいんき←(なぜか変換出来ない)ですよ。
(´-`).。oO(わかんねえかなぁ、この微妙なヒーリング)
0666デフォルトの名無しさん
2007/11/09(金) 22:13:430667デフォルトの名無しさん
2007/11/09(金) 22:24:540668デフォルトの名無しさん
2007/11/10(土) 00:58:08RichTextBoxで、SelectedRtfをClipBoardにRtf形式で取り込むと
たとえばWordPadにはPasteできるのですが、メモ帳などのText形式の
エディタにはPasteできませんでした。
おなじRichText形式のエディタであるWordPadにおいては、
Selectされた部分をPasteすると、WordPadにもメモ帳にもPasteできました。
これと同様にPasteできるようにするにはどのようにClipBoardに格納すれば
よろしいでしょうか。
ちなみに、Rtf形式で格納した直後に、同等の形式でText形式でも格納して
しまいましたら、あとの方のText形式のものだけが有効になってRtf形式のものは
無効になってしまってWordPadにはPasteできませんでした。
0669668
2007/11/10(土) 01:01:09失敗したコードは、連続してこのように両方書いたもので、
Clipboard.SetData(DataFormats.Rtf, ActiveRichText.SelectedRtf)
Clipboard.SetData(DataFormats.Text, ActiveRichText.SelectedText)
です。
両方の形式でどちらも保存することができるものでしょうか、
できるとしたらどのようにして行えばよいでしょうか。
0670デフォルトの名無しさん
2007/11/10(土) 01:21:21画像の上に影付きの文字を書きたくて、Picturebox に label1 と label2 を重ねて置いて、
それぞれのラベルを、BackColor = Color.Transparent として、また、どちらも Parent = Picturebox としました。
すると、下に敷いた方は見えますが、上に置いた方が見えません。
labelコントロールを重ねないと両方の文字が表示されます。
画像の上に影付きの文字を描画するには、labelコントロールではだめなのでしょうか?
0671デフォルトの名無しさん
2007/11/10(土) 02:00:360672668
2007/11/10(土) 12:54:01>あとの方のText形式のものだけが有効になってRtf形式のものは
>無効になってしまってWordPadにはPasteできませんでした
これは意味としては、Pasteはできるが、Rtf情報がないただのTextの
Pasteにしかならなかったということでした。
0673デフォルトの名無しさん
2007/11/10(土) 15:55:07しばらく使ってると、コードの画面が「Form1.Designer.vb」になり
デザインコードが書かれたコード画面になります。
「Form1.vb」も別タブで存在しますが、フォームにボタンなどを置いて
Wクリックすると、「Form1.Designer.vb」にコードを書こうとします。
これは何らかが原因でPartial Classが無効になったのでしょうか?
「Form1.Designer.vb」が出てこないようにするにはどうすればいいのでしょう?
0674668
2007/11/10(土) 16:23:16Localにある日本語の情報で異なるようでした。
RichTextBoxは、日本語のHelpでは、System.Windows.Forms 名前空間にあるRivhTextBox
~~~~~~~~~~~~~~~~~~
であり、Controlからの派生のように見えます。実際、そこにはHelpにおいてもPreviewDragOver
等はは存在していません。(単なるDragOverイベントもHelpにはありますが、実際のコードペイン
やプロパティウインドウではそれが出てきません。)
しかし、オンラインのHelp情報によると、
http://msdn2.microsoft.com/ja-jp/library/system.windows.controls.richtextbox_events(vs.80).aspx
This page is specific to Microsoft Visual Studio 2005/.NET Framework 2.0
では、System.Windows.Controls 名前空間に存在しているようでした。
~~~~~~~~~~~~~~~~~~~
しかもどうもUIElement クラスというものからの派生であるらしく、PreviewDragOverというイベントなどが
存在していました。
http://msdn2.microsoft.com/ja-jp/library/system.windows.uielement(VS.80).aspx
http://msdn2.microsoft.com/ja-jp/library/system.windows.uielement.previewdragover(VS.80).aspx
しかも、このUIElement クラスというのは「Windows Presentation Foundation (WPF) の要素および
基本プレゼンテーション特性に基づいて構築される WPF コア レベル実装の基本クラスです」
とあり、これって、既存のいま私が使っている .NET Framework とは全然異なるものなのでしょうか?
そうするとRichTextBoxを使う際、上記のDragOverイベント等を使いたい場合、現状のHelpや情報が
食い違うということなのでしょうか?すみませんが、この件どなたかご指導のほどお願いできればありがたく。
0675デフォルトの名無しさん
2007/11/10(土) 17:51:36名前空間違いで同じ名前のコントロールが複数ある。
System.Windows.Controls はWPF用で.NET3.0から追加される。
System.Windows.Formsもなくなってはいないからよく探すべし。
0676デフォルトの名無しさん
2007/11/10(土) 19:59:11イベントを持つ Class を作成して、それにHandles でくっつけるために
Public WithEvents ClassA as New ClassAA
のように定義し、Form1 で宣言しましたが
Formの外からこの ClassA のプロパティなどにアクセスできません。
Public だから当然、他からも参照できると思ったのですが、
こういう使い方はダメなのでしょうか?
0677デフォルトの名無しさん
2007/11/10(土) 20:31:13クラスとインスタンスの関係とか理解してなさそう
0678デフォルトの名無しさん
2007/11/10(土) 20:36:21ああ、なるほど
Form1 は Formから派生してるから、その Public にアクセスするためには
Form1.ClassA とまで修飾してあげないとダメなんですね
WithEvents とか関係なかったです
ありがとうございました
0679デフォルトの名無しさん
2007/11/10(土) 20:44:28ClassAのインスタンス自体を公開するんじゃなくて、Form1にイベントを定義して
ClassAのイベントが発生したらそのイベントを発生させるようにするべき
0680デフォルトの名無しさん
2007/11/10(土) 20:55:43ナニを言ってるんだ?w
0681デフォルトの名無しさん
2007/11/10(土) 23:59:01labelをやめて、
DrawStringで文字を書くことにしたのですが、指定する文字列に改行が入ったときに
その行間の指定は出来るのでしょうか?
ご存じの方、いらっしゃいませんか?
0682デフォルトの名無しさん
2007/11/11(日) 02:07:41調べてみるとベタにはできそうにないね。
自分で一行ごとに描画するしかなさそう
0683デフォルトの名無しさん
2007/11/11(日) 11:20:00画面をキャプチャし、送らずに自分のソフトに表示させることはできています。
しかし、それを相手に転送するとなると、jpeg辺りに画質を落として送るのが良いと思うのですが、
画質を落として送る方法がわかりません。
一旦、送る前に画質を落としてjpeg形式で保存、というのは保存する必要はないと思うので避けたいのですが…。
画面のキャプチャにはhttp://dobon.net/vb/dotnet/graphics/screencapture.htmlの.NET Framework2.0以降で追加された...というのを使っています。
また、転送にはUDPを使用する予定です。
開発環境はVS2005です。
よろしくお願いします。
0684デフォルトの名無しさん
2007/11/11(日) 11:52:16jpegにすると(非可逆圧縮の結果として)画質が「落ちる」んだよ。
恥ずかしい質問だなあw
0685デフォルトの名無しさん
2007/11/11(日) 12:09:54返信ありがとうございます。
少し勘違いしていたようです。
解決しました、ありがとうございました。
0686デフォルトの名無しさん
2007/11/11(日) 14:55:07だいぶ探してみましたが、.netでは設定できないというものだけが2件ありました。
情報ありがとうございました。
0687デフォルトの名無しさん
2007/11/11(日) 15:40:49フォントを自作できればいいんだろうけど、それはあまり現実的な解ではないよね。
0688デフォルトの名無しさん
2007/11/11(日) 20:49:25ttp://smdn.invisiblefulmoon.net/ikimasshoy/dotnettips/tips025.html
を参考にプログラムを作成したのですが、
上記URLのコードでは複数のホットキーには
対応できないようなのです。
そこで、どのように改良すれば複数のホットキーを登録できるようになるか
教えていただけないでしょうか。
0689デフォルトの名無しさん
2007/11/11(日) 21:29:31VSでフォームを開いてみると、カスタマイズしたTextBoxが表示されてないことがあります。
(コードを実行すると表示される)
大体はリビルドするとなおるのだけど、どうしても直らないこともあって、動作がいまいち不安定です。
これってこんなもんなんでしょうか?
それとも、普通はこんなことはなくて、自分のところだけのことなんでしょうか?
0690デフォルトの名無しさん
2007/11/11(日) 21:30:250691デフォルトの名無しさん
2007/11/11(日) 21:33:44単なる俺の経験則で根拠はないけど、
継承コントロールが、それを使ってるフォームと同じプロジェクトにあると
そういう問題が発生するみたいな気がする。
少なくともプロジェクトを分ければそういう問題は発生しないと思うよ。
でも循環参照の問題でそれが困難な場合があるから困るんだよね。。
0692デフォルトの名無しさん
2007/11/13(火) 21:30:56'--- イベントログファイルを読み込み
Private Declare Auto Function ReadEventLog Lib "advapi32.dll" _
Alias "ReadEventLogA" ( _
ByVal hEventLog As Integer, _
ByVal dwReadFlags As Integer, _
ByVal dwRecordOffset As Integer, _
ByRefl lpBuffer As EVENTLOGRECORD, _
ByVal nNumberOfBytesToRead As Integer, _
ByRef pnBytesRead As Integer, _
ByRef pnMinNumberOfBytesNeeded As Integer) As Integer
と定義して
ReadEventLog(hEventlog, EVENTLOG_SEQUENTIAL_READ Or
EVENTLOG_FORWARDS_READ, _
0, lpBuffer, BUFFER_SIZE, pnBytesRead, pnMinNumber)
と呼び出したところ、以下のエラーが表示されました。
PInvoke 関数 'ManagedEventLog!ManagedEventLog.frmMain::ReadEventLog' が
スタックを不安定にしています。PInvoke シグネチャがアンマネージ ターゲッ
ト シグネチャに一致していないことが原因として考えられます。呼び出し規
約、および PInvoke シグネチャのパラメータがターゲットのアンマネージ シグ
ネチャに一致していることを確認してください。
エラーを表示させずに実行させるアドバイスをいただければと思います。
0693デフォルトの名無しさん
2007/11/13(火) 21:33:12'* 定数
Private Const EVENTLOG_SEQUENTIAL_READ = 1
Private Const EVENTLOG_SEEK_READ = 2
Private Const EVENTLOG_FORWARDS_READ = 4
Private Const EVENTLOG_BACKWARDS_READ = 8
'* 構造体
Public Structure EVENTLOGRECORD
Public Length As Integer
Public Reserved As Integer
Public RecordNumber As Integer
Public TimeGenerated As Integer
Public TimeWritten As Integer
Public EventID As Integer
Public EventStructure As Short
Public NumStrings As Short
Public EventCategory As Short
Public ReservedFlags As Short
Public ClosingRecordNumber As Integer
Public StringOffset As Integer
Public UserSidLength As Integer
Public UserSidOffset As Integer
Public DataLength As Integer
Public DataOffset As Integer
End Structure
Dim hEventlog As Integer
Dim lpBuffer As EVENTLOGRECORD
Dim pnBytesRead As Integer
Dim pnMinNumber As Integer
0694デフォルトの名無しさん
2007/11/14(水) 02:06:48はい。やはり、1行ずつ書いた方が楽かもしれません。
ありがとうございました。
0695デフォルトの名無しさん
2007/11/15(木) 10:53:40Windows Forms 上に Excel ファイルを表示させたいのですが
なにかよい方法はないでしょうか?
Excel の内容の表示のみで編集などは一切不要です。
ただし Excel にはグラフ、画像などが貼ってあるので
それらも表示させたい。
実現させるために、よい方法があれば教えてください、よろしくお願いします。
0696デフォルトの名無しさん
2007/11/15(木) 11:08:58http://www5.plala.or.jp/atata/net/
0697デフォルトの名無しさん
2007/11/15(木) 11:38:15Graphics.DrawStringメソッドの引数StringFormat
にStringFormatFlags.DirectionRightToLeftを指定して
実行すると
指定文字列="(AB)C."に対して
画面上は.AB)C)となります。
この変換処理には関心するばかりですが、
この"(AB)C."文字列からRightToLeftした結果の".AB)C)"という
文字列を取得する方法はあるのでしょうか?
0698デフォルトの名無しさん
2007/11/15(木) 19:37:43関心するっていうか、バクじゃないのこれ?
DirectionRightToLeftって指定した四角の右辺か、指定した座標を起点に
右から左に向かって描画しろって意味のはずだよね。
こんな妙な細工をする仕様に意味があるとも思えないけど
0699デフォルトの名無しさん
2007/11/15(木) 19:38:370700デフォルトの名無しさん
2007/11/15(木) 21:02:37が本来の結果ってこと?
0701デフォルトの名無しさん
2007/11/15(木) 21:40:52MSDNライブラリを普通に読めば、単に指定された点または四角の領域にたいして
右寄せで描画するのが本来の仕様じゃないの?
0702デフォルトの名無しさん
2007/11/15(木) 21:43:470703697
2007/11/16(金) 14:15:43私も最初はたんに右寄せというのを期待したのですが、
調べてみるとRightToLeftというのはアラビア語や日本語縦書きの様に
右から左へ書く為の機能であり、且つ左から右へ書く言語との
共存を意識した結果、こういう機能に至ったのだと判断しました。
例えばアラビア語と英語の混在では
"アラビア ABC" → "ABC アビラア"となるようです。
今回の場合、"."や"()"は、単体であれば右から左へ書く言語として
扱いアルファベットに挟まれていると左から右へ書く言語と
なっているんだと思います。
"(AB)C."これは
最初の"("を右から左へ書く言語として判断し括弧を反転させた。
次にABの後にスペースが無い為"AB(C"までを一つの左から右へ書く
言語として扱い、
最後に"."を扱った結果、
".AB)C)"になったと推測しています。
(MSDNに確認しろよ自分と思いましたが先に2ちゃんでry
これを自前で処理するのはちょっと時間が掛かりそうなので、
RightToLeftした結果の文字列を取得できるような機能が
用意されていないのか聞きました。
すみません。自分で探せ、ですよね。
0704デフォルトの名無しさん
2007/11/16(金) 18:26:25.net compact framework 使っているのですが、
タブ遷移のような動作を行う場合に
Me.SelectNextControl(Me.activecontrol, True, True, True, True)
を使うことはできないのでしょうか?
どうやらactivecontrolがないっぽいです。
0705デフォルトの名無しさん
2007/11/16(金) 18:39:45つうかTabIndex設定したらTAB遷移は普通にけないか?
0706デフォルトの名無しさん
2007/11/16(金) 19:08:09ありがとうございます。
なんかいろいろありまして、X01HTのハードウェアボタンを取得して
それにタブ機能つけることに・・・
どのボタンが対応しているかすらわからない・・・
とりあえず、タブ機能だけ考えようかと・・
>SendMessageじゃだめすか?
MessageWindow.SendMessage()のことですよね?
サンプル見たのですがよくわかりません。
へたれで申し訳ございませぬ OTL
0707557
2007/11/16(金) 22:42:26WebBrowserコントロールを使用して
Navigateメソッドでパスを指定することにより、任意のフォルダ内のファイルを表示させる
ところまではうまくいきました。
この時、ファイルの表示スタイル(縮小版、並べて表示etc)を、
右クリックのコンテキストメニューで指定するのではなく、
プログラム内部で制御したいのですが、方法がどうしてもわかりません。
ヘルプのメンバ一覧を見てもそれらしきプロパティやメソッドは無かったです。
出来ればWindowsエクスプローラのファイル表示方法をフォルダ毎に取得して、
表示スタイルを同期出来ればベストなんですが、WebBrowserコントロールでは
そういう事は不可能なんでしょうか?
長文すいませんです。
0708デフォルトの名無しさん
2007/11/16(金) 23:36:18数万行のテキストファイルがあり
末尾の改行コードしかない行だけを削除したいのですが
何か高速に末尾から読み込んで判断する方法はあるでしょうか?
ご存知でしたら教えてください。
0709デフォルトの名無しさん
2007/11/16(金) 23:40:58普通に処理するより高速にしたいの?
0710デフォルトの名無しさん
2007/11/16(金) 23:53:19はい。
数万行ならStreamReaderでも良いかと思ったのですが
ファイルが複数ありかつ1ファイルが90MBくらいあるので性能が気になります。
何か方法がありますか?
0711デフォルトの名無しさん
2007/11/17(土) 00:35:00普通の処理ってのは、FileStreamあたりで、ファイルの最後までseekさせて、最後の4バイトが、
CRLFCRLFになっていたら、ファイルサイズを2バイト縮めるってのを考えたたんだけど。
0712デフォルトの名無しさん
2007/11/17(土) 00:48:32最後の空行だけを削除したいってんなら、
Dim str as String = System.IO.File.ReadAllText(filepath)
Dim output as String = str.Replace(vbCrLf & vbCrLf , vbCrLf)
Call System.IO.File.AppendAllText(newfilepath , output)
こんなんでどうでしょうか?
0713デフォルトの名無しさん
2007/11/17(土) 00:58:51途中の空行も削除しない?
0714デフォルトの名無しさん
2007/11/17(土) 01:06:060715704
2007/11/17(土) 01:18:51項目の数だけイベント作って、ハンドル変更して実現してるのですが、
もっとうまい方法とかあれば教えてください。
0716デフォルトの名無しさん
2007/11/17(土) 02:52:05おまえは90MBのファイルにそんなことするんかいw
0717デフォルトの名無しさん
2007/11/17(土) 11:31:26ファイルに書き込むコードを書く奴が多い。
サイズが大きくなったときにどうなるかとかはあまり考えないんだろうな。
でも文字列の連結を+でやることにはめちゃめちゃ過敏だったりする。
0718デフォルトの名無しさん
2007/11/17(土) 13:28:35でもそれって理念的には必ずしも間違いとはいえないんじゃない?
Win環境を前提とした現実解としてはたぶん間違いだろうけど。
0719デフォルトの名無しさん
2007/11/17(土) 13:58:44理由があってそうしてて想定されるサイズからも
問題ないなら別に文句無いけど、
深く考えてないだけで後で問題になるケースをよく見る。
0720デフォルトの名無しさん
2007/11/17(土) 14:54:30つかわないインスタンスを無駄に作らないように、下のような繰り返し構造の中で
オブジェクトの生成や変数宣言をしていて、何度か同じ宣言を通過することがあります。
こういうやりかたは問題がありますでしょうか
Do
'処理いろいろ
If i = 1 Then
Dim str As String
'処理いろいろ
End If
Loop
0721デフォルトの名無しさん
2007/11/17(土) 15:11:46インスタンスを無駄に作りたくないんだったら中じゃなくて外で作る。
ループの中で変数宣言すること自体は全く問題ないけど
(むしろ中でしか使わないなら極力そうするべき。その方が見やすい。)
重いクラスのオブジェクトをループ内で何回も作りまくったりすると
遅くなったりメモリがえらいことになるかもしれないから、外で作って使いまわすとか
場合ごとに適当に判断するしかない
0722デフォルトの名無しさん
2007/11/17(土) 15:25:09なるほど、こういうことを説明してくれるところが
なかなか見つからなかったので大変勉強になりました。
使用する範囲や頻度、重さなどを考えて(オブジェクトは重複しないように)使いまわせるものは
外で作るようにがんばってみます。
ありがとうございやした
0723デフォルトの名無しさん
2007/11/17(土) 15:41:040724デフォルトの名無しさん
2007/11/17(土) 17:25:130725デフォルトの名無しさん
2007/11/17(土) 18:00:25宣言は先頭にもって行ったほうが安全だ。
VB6だとこういう変態的なことが出来る。
Do While True
Dim A As Double
A = Rnd()
If A > 0.5 Then Exit Do
Loop
Debug.Print A
0726デフォルトの名無しさん
2007/11/17(土) 18:02:410727デフォルトの名無しさん
2007/11/17(土) 18:14:48すまんそれもちろんネタで言ってるんだよね?
ひょっとして本気で言ってるの?
0728デフォルトの名無しさん
2007/11/17(土) 19:16:09Dim i, j, k, l, tmp, buf As Integer
とかコピぺする人なんだよきっと
0729デフォルトの名無しさん
2007/11/17(土) 19:31:59あまりに勉強不足すぎる。
0730デフォルトの名無しさん
2007/11/17(土) 19:35:150731デフォルトの名無しさん
2007/11/18(日) 13:08:29インターフェース内の抽象メソッドの名前を、そのインターフェースを実装したクラスでリネーム不可能にすることは出来ますか?
例えば
●インターフェース
Public Interface ITest
Sub hoge(ByVal hoge As String)
End Interface
●上記を実装するクラス
Public Class test
Implements ITest
Public Sub hoge(ByVal hoge As String) Implements ITest.hoge
↑ここを変更不可にしたい。
End Sub
End Class
デフォルトだと、hogeの部分が自由に変更できてしまいます。
そもそもなんで変更できちゃうのでしょうか?
変更できるのならインターフェースを実装する意味があまりないような気もします。
0732デフォルトの名無しさん
2007/11/18(日) 13:13:24インターフェイス経由でアクセスするときは名前が変更されてても常にhogeで問題ないよ
気に入らなかったらC#使え
0733デフォルトの名無しさん
2007/11/18(日) 14:08:19>インターフェイス経由でアクセスするときは名前が変更されてても常にhogeで問題ないよ
試してみました。
確かにクラスをインターフェースにキャストすれば、インターフェースでのメソッド名でアクセス可能ですね。
安心しました。
>名前をそろえるのがインターフェイスの目的じゃないからね
Javaではそういった感じでしたが…。
外ッ面を統一するからこそ”インターフェース”という名称であると認識しています。
VBだと他に目的があるのですか?
0734デフォルトの名無しさん
2007/11/18(日) 14:18:25VB.NETやC#では、インターフェイスメンバをprivateにして実装することもできるんだよ
もちろんインターフェイス経由なら外部からアクセス可能
0735デフォルトの名無しさん
2007/11/18(日) 14:39:13Sub hoge(ByVal hoge As String)
End Interface
"も"実装したくなったときのためってのもある
0736デフォルトの名無しさん
2007/11/18(日) 14:48:27インターフェイスをちゃんと理解してたら、
そんな風には思わない。
0737デフォルトの名無しさん
2007/11/18(日) 16:37:08そこからアカウントを選択するようなことをする場合、ユーザーアカウントの
リストを得るためのクラスがあればうれしいのですが、どのようなものがある
でしょうか?よろしくお願いします。
0739737
2007/11/18(日) 23:45:45アクティブ ディレクトリのユーザーリストを取得する方法
http://www.microsoft.com/japan/msdn/vbasic/migration/tips/DirectoryUser/
ここのサンプルで与えられているような方法があることがわかりましたが、
ここでActiveDirectoryの子ノードという形での取得の仕方の場合では
WinNT://TestPC
という形式で特定のPCをしているようでした。
これを、スタンドアローン、もしくは単なる(ドメインでない)WorkGroup上のPCの場合
ではPCの名前の与え方というのはどのようになるでしょうか。
System.DirectoryServices.DirectoryEntryオブジェクトのPathプロパティの与え方
ということになりますが、その一般形式について教えてください。よろしくお願いします。
0740737
2007/11/18(日) 23:47:29>WinNT://TestPC
>という形式で特定のPCをしているようでした。
↓
>WinNT://TestPC
>という形式で特定のPCを指定しているようでした。
0742デフォルトの名無しさん
2007/11/19(月) 03:22:44その変数から格納された文字列の名前のメソッドを呼び出すのは
どうすればよいでしょうか?
ObjectDataSourceのSelectedMethodのようなプロパティを実装することが
目的です。
よろしくお願いします。
0743デフォルトの名無しさん
2007/11/19(月) 03:27:170744742
2007/11/19(月) 03:57:04すみませんどういう意味ですか?
ObjectDataSourceのSelectedMethodのように変数名を受け取るプロパティを定義したのはよいのですが
別の場所で受け取った文字列のMethod名から実際に呼び出す方法がわからなくて悩んでいます。
ObjectDataSourceのSelectedMethodは例で特に今回の話は関係ありません。
dim s as string ="Method1"
「s」からこんな感じでメソッドを呼び出したいのです。
AllMethods(s)()
メソッド名の文字列から該当する名前のメソッドを呼び出す方法、ですね。
0745デフォルトの名無しさん
2007/11/19(月) 05:37:29System.Reflection
0746デフォルトの名無しさん
2007/11/19(月) 12:19:29普通のC/SシステムでDBアクセス部分だけC#で作って
他はVB.netにするメリットはありますか?
何故か今の現場はC#の方が速いらしく導入しているみたいですが、
結局フレームワーク上で動くから同じような気がするのですが・・・。
0747デフォルトの名無しさん
2007/11/19(月) 12:27:22知る方法はあるでしょうか。
e.LinkText を Search しても同じものが複数あるときに一意に定まりません。
MouseDownした場所などからでも該当箇所を知るようなことはできるでしょうか?
0748デフォルトの名無しさん
2007/11/19(月) 12:30:31ちなみにLinkClickedEventArgsでは該当の位置等は取得できないためです。
これの目的は、2バイト文字があるとLinkTextにすべて含まれてくれないので
それをすべて取り込むために一行すべてを認識するためです。
こういうことは不可能でしょうか?
0750デフォルトの名無しさん
2007/11/19(月) 18:20:28コ ボ ラ ー
0751デフォルトの名無しさん
2007/11/19(月) 20:12:390752デフォルトの名無しさん
2007/11/19(月) 20:29:56がいつのまにか本体に入ってきてしまいました。
どうしたら元のように分けることができますか?
0753デフォルトの名無しさん
2007/11/19(月) 22:22:26検索するとASPのやり方はたくさん出てくるのですが・・・助けてください。。。
↓こんな感じのことがやりたい。。。
NO| なまえ |住所 |
| 性| 名 | |
0754デフォルトの名無しさん
2007/11/19(月) 23:00:46オーナードローすればいいんじゃね?
0755デフォルトの名無しさん
2007/11/19(月) 23:42:46実行すると必ず接続に失敗する現象に今日一日はまった。
dim conn as new OracleConnection(・・・)
conn.Open() ' 必ず失敗
フォルダ名を「c:\・・\hoge-01」とリネームするとうまく実行できるようになる。
わけわからん。
0756デフォルトの名無しさん
2007/11/20(火) 01:55:41> VB.NET2003で
じゃなくて
> OracleConnection
で、だろ
0758デフォルトの名無しさん
2007/11/20(火) 05:06:13サンプルソース等参考になるものはないでしょうか?
0759デフォルトの名無しさん
2007/11/20(火) 13:15:180760デフォルトの名無しさん
2007/11/20(火) 14:02:10CONTECのDIO(DIO-24DY-USB)から出力されるビットを監視して、
立上りでマウス左ボタンDOWN、立下りでマウス左ボタンUP
といった動作をさせるツール(VB2005)を製作したのですが、
こんな自作ツールを使わずにハードウェアだけで実現させる事のできる装置はあるのでしょうか?
0761デフォルトの名無しさん
2007/11/20(火) 15:47:49Dim Cn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\user\My Documents\Mu.mdb")
Dim SQLCm As OleDbCommand = Cn.CreateCommand
SQLCm.CommandText = "UPDATE テーブル1 SET Count = Count+1 WHERE ID = 2"
Cn.Open()
SQLCm.ExecuteNonQuery()
Cn.Close()
MsgBox("変更しました。")
SQLCm.ExecuteNonQuery() の所 で'『 System.Data.OleDb.OleDbException' のハンドルされていない例外が system.data.dll で発生しました。』 と出て、データの変更が出来ないのですが
どうすればよいでしょうか。 よろしくお願いします。
0762デフォルトの名無しさん
2007/11/20(火) 15:50:32マウス分解してその接点つながったことにするような回路作ればいいんじゃね?
0763デフォルトの名無しさん
2007/11/20(火) 15:51:370764デフォルトの名無しさん
2007/11/20(火) 16:00:480765デフォルトの名無しさん
2007/11/20(火) 16:02:090766デフォルトの名無しさん
2007/11/20(火) 16:10:22コード見た感じではエラーが見当たらないので、まずはコネクション
だけとか、ある程度限定したところでやってみるしかないと思う。
0767デフォルトの名無しさん
2007/11/20(火) 21:28:20おりません、すみませんが教えてください。
Help等のサンプルを見ましたところ、Threadを作成するということ、イコール、
ある一つのSubプロシージャを、平行実行するThreadとして割り当てるという
ものののようでしたが、
これはメインのThreadである、スタートアップForm上のように、イベントドリブンでの
書き方で制御を表すようなことは不可能なのでしょうか?
独立した複数のアプリケーションを、マルチプロセスで平行実行させてその間を
DDEやOLEなどで通信して連動的に並行的処理を進めるというようなことを、
マルチThreadの方式で実現したい場合、
ThreadをどれかのSubプロシージャに割り付けるということをしますと、その内部で
イベントドリブンにするということができなくなるものと思われ、やはり不可能なのか
と思いました。そうなるとそのSubプロシージャ内ではループを回して常にCPUが
休まることがない状態に置かれてしまうと。
こういう理解でよいものでしょうか、いまひとつ理解しきれていません。
ご指導のほど何卒よろしくお願いします。
0768767
2007/11/20(火) 21:37:55ThreadプールというFramework内のシステムで持っているThreadにおいて実行されると
説明されていまして、
この場合、それでも、FileSystemWatcherのイベントは、メイン側、つまりユーザーアプリケーション
のメインThread側に伝えられてきて、なんらかの処理が可能になっていました。
これは、Frameworkの備え付けのThreadプール内のどれかの或るThread内でイベントを
発生させているものと思われ、
ということは、Thread内でのイベントドリブンという制御フローは存在できるのではないか、
とも考えられたのですが、
もしそうであれば、それと同様に、いわゆるThread.Startで実行される特定のSubプロシージャ
内でも、イベントドリブンの制御に近いことが可能になるものなのでしょうか。
すみませんがよろしくお願い致します。
0769デフォルトの名無しさん
2007/11/20(火) 21:56:260770デフォルトの名無しさん
2007/11/20(火) 22:04:370771デフォルトの名無しさん
2007/11/20(火) 22:23:10基本的にスレッドは使い捨てと考えた方が気が楽になるよ
0772デフォルトの名無しさん
2007/11/20(火) 22:27:450773デフォルトの名無しさん
2007/11/20(火) 23:19:09ごっちゃにしても何も新しいものは出てこない、ただ組み合わさるだけ。
0774デフォルトの名無しさん
2007/11/20(火) 23:21:11たぶん、精査せずとりあえず書いちゃう人が大多数だろうけど
0775デフォルトの名無しさん
2007/11/20(火) 23:26:440776デフォルトの名無しさん
2007/11/20(火) 23:35:280777767
2007/11/21(水) 00:09:49>イベントドリブンとマルチスレッディングって直交する概念
ということは、やはりThreadクラスで作られるスレッドの中には何かのオブジェクトを
コンストラクトして、それのイベントが立つのを待っているような「アプリケーション」の
形は書けないということなんでしょうか、、
>>768のFileSystemWatcherの場合はどのようにしてそれが実現しているのか
よくわからないんですが、あれってのは現実にFileの変化をイベントとして送って
来ますよね、あれができてるということは、Threadオブジェクトの中でもできそうな
感じがしたのですが、やっぱりできないものでしょうか・・・。
0778デフォルトの名無しさん
2007/11/21(水) 00:16:26素直に BackgroundWorker 使ってればいいんじゃない?
0779767
2007/11/21(水) 00:16:49ということは、アプリケーションが始まると同時にスタートし、終了の手前で止める、
みたいな使い方は普通はしない、ということでしょうか。
とすると、やはりイベントドリブン制御は望むべくもないと・・・。
そういうものはマルチプロセスでプロセス間通信でやるしかないと・・・いうことでしょうか。
0780デフォルトの名無しさん
2007/11/21(水) 00:20:22BackgroundWorkerですが、これではイベント発生ように渡せる引数が限られている
感じがしたのですが。それと、やはり内部ではループを回していることにはかわりない
ような感じもしました。また勉強してみます。
0781デフォルトの名無しさん
2007/11/21(水) 00:24:59もしそういう話だとしたらスレッド云々より遥か以前の問題だと思うけど
0782デフォルトの名無しさん
2007/11/21(水) 00:43:49直交って言葉知っている?
マルチスレッドにしたからといって、
イベントドリブンができないというというのは間違いだと言っているのだが。
0783デフォルトの名無しさん
2007/11/21(水) 00:55:58なんのために引数がObjectになっているかわかってないんじゃね?
0784デフォルトの名無しさん
2007/11/21(水) 00:57:070785デフォルトの名無しさん
2007/11/21(水) 00:59:18ボタンとか付けてみて、イベント起こしてみたら?
そいでIllegalCrossThreadCallのExceptionのひとつでも起こしてみたらよかよ
0786デフォルトの名無しさん
2007/11/21(水) 01:44:02いや・・そういうやつのために安全につくってあるんだろうけど・・・・
一回はスレッドをコントロールに頼らず作らせたりして勉強すべきなんじゃないかと・・・
0787デフォルトの名無しさん
2007/11/21(水) 02:27:42勉強させても無駄。
0788デフォルトの名無しさん
2007/11/21(水) 05:07:41机上で理解しようとしてわかんねーと言う奴多すぎ。
机上で理解とか俺だって無理。
0789デフォルトの名無しさん
2007/11/21(水) 08:47:510790デフォルトの名無しさん
2007/11/21(水) 08:49:270791767
2007/11/21(水) 09:44:46わたしのできればの要求は、メインスレッドと同じように内部でコントロールを配置して
それらの発するイベントを検知してそれによって制御ルーチンが移動するものにして、
かつメインスレッドと対等な関係で並行して伴奏実行して存在する第2、第3、のスレッド
ができるのなら助かるということでした。
どうもサンプルみた限りではそういう構造では存在していないように感じるのですが、
どんなものでしょうか?
0792767
2007/11/21(水) 09:46:25かつ有用なのではないかということでした。そういうようなものはこの世には
存在しないのでしょうか。
0793デフォルトの名無しさん
2007/11/21(水) 10:18:21「デバッグしますか?」と出てきてそれを選ぶとアセンブラのニーモニック表示
でコードが出てきてエラーした場所を示して停止していました。
そこでですが、その場所がソースコード上のどこに該当するのかを知るには
どのようにすればよいでしょうか。よろしくお願いします。
0794デフォルトの名無しさん
2007/11/21(水) 11:11:37コンパイルの意味分かってる?
0795デフォルトの名無しさん
2007/11/21(水) 11:40:18やっと「逆アセンブル」メニューをHiddenから表に出せるようになりましたが、
そこでどこら辺で止めてエラーしたアドレス近辺を表示できるかためそうとしてました。
こんな感じでいつかそこが出せればいいんでしょうか?
ソースレベルでデバッグしてもエラーしたところで何も表示されず、OSレベルか
.NETのRuntimeレベルでのエラー表示しか出ず、ソースではとまってくれない
エラーなので困ってました。
0796デフォルトの名無しさん
2007/11/21(水) 12:11:31「スレッド メッセージループ」
で、ぐくれや、ハゲ。
0797デフォルトの名無しさん
2007/11/21(水) 13:17:34>OSレベルか.NETのRuntimeレベルでのエラー表示
これですが、メッセージは
「〜の 0x766da3bc でハンドルされていない例外が発生しました:
0xC0000005: 場所 0xb2ac0005 を読み込み中にアクセス違反が発生しました。」
というもので、それに前後して出る.NET用のメッセージボックスで
「問題が発生したため、〜を終了します。ご不便をおかけして申し訳ありません。」
となって、その左下の[デバッグボタン]を押して出る、「エラー署名」のところに、
「 ModName: wininet.dll
ModVer: 6.0.2900.3199 Offset: 0007a3bc 」
と表示されていました。
これはwininet.dllのネイティブコード上の場所なんだと思いますが、その呼び出し元が
自分のソースコード上のどこなのかがわかればと思ったのです。自分ではそれを直接Call
してないので、WebBrowserがCallしているのだと思います。
この不具合は、2ch用のJaneStyleをいっしょに使っているときに、IEやWebBrowserアプリケーション
でそのネイティブ・コンテキストメニューからURLショートカットを作成したときに発生し始めます。
これはJanestyleを使わないでいれば発生しません。なのでおそらくWininet.dllとJaneStyleが
.NETを使ったときに何か絡まってエラーを引き起こしているのだと推測していましたが、
これでは.NETでWebBrowserアプリケーションが作成できないことになって困るのでした。
0798デフォルトの名無しさん
2007/11/21(水) 13:22:10それでみなさんのところではこうした問題は起きていないようでしたので、
WebBrowserの使い方で回避策があればそれを適用して直せないものか
とも思ってました。
こんな感じなのですが、何かアドバイス等いただけたらありがたく。
0799デフォルトの名無しさん
2007/11/21(水) 13:33:20も直らず、最終的にはWinXpの再起動でしか回復しなくなり困っていました。
(みなさんのところではこれに類する似たような不具合はやはり起きていないでしょうか)
0800デフォルトの名無しさん
2007/11/21(水) 14:23:31vb.netで書き換えたいです。
open (fname) for binary as#1
put #1, , bmp
For j = 0 To 256 - 1
buf = ("")
For i = 0 To 256 - 1
buf = buf & Chr$(i) & Chr$(i) & Chr$(i)
Next i
put #1 , , buf
Next j
close #1
0801デフォルトの名無しさん
2007/11/21(水) 15:08:31ようするにコントロールの発したイベントの処理を別スレッドで行いたいということか。
それなら、コントロールのイベント処理の中で、新しくスレッドを起こせばよいのではないのか?
0802デフォルトの名無しさん
2007/11/21(水) 17:42:29伸縮するものはあるでしょうか。ComboBoxやTextBoxでそれができるといいんですが。
0803デフォルトの名無しさん
2007/11/21(水) 17:42:500804デフォルトの名無しさん
2007/11/21(水) 17:51:01デバッガ上で呼出履歴ってVB.NETだと見れなかったっけ?
0805デフォルトの名無しさん
2007/11/21(水) 18:42:35Dim cn As New OleDbConnection
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\user\My Documents\Mu.mdb;Persist Security Info=False"
Dim cmd As New OleDb.OleDbCommand
cmd.Connection = cn
cmd.CommandText = "SELECT * FROM テーブル1"
cn.Open()
Dim rs As OleDb.OleDbDataReader
rs = cmd.ExecuteReader
rs.Close()
cn.Close()
0806デフォルトの名無しさん
2007/11/21(水) 18:49:25どこかでエラーでとまってくれれば、その時点で履歴がある程度出るはずですが、
とまってくれません。エラーの出方はそこのUrlショートカット作成時と、WebBrowser
がNavigationするときの両方があるのですが、そrも不定期でそうなったりならなかったり
しているうちに、しまいにハングして触れなくなって飛ぶというようになります。
Urlショートカット作成時は結局自分のコードは動いていないため、WebBrowserが
Wininet.dllの内部のAPIを使っているときに起きているのだと思いました。
みなさんのところでそれが無いということは、WebBrowserの使い方でどこかに不備が
あるのかもしれません・・・。その辺また見直してみます。
本件はまたとします、いろいろありがとうございました。
0807デフォルトの名無しさん
2007/11/21(水) 18:50:50不親切とか騒ぐくらいなら、初心者スレ探してくれ。
なければ立てろ。
0808デフォルトの名無しさん
2007/11/21(水) 18:52:58Visual Studioって実行中のプロセスをデバッグするなんてこともできるぞ。
ハングアップした段階でアタッチしてみたらどうよ。
0809デフォルトの名無しさん
2007/11/21(水) 21:59:130810デフォルトの名無しさん
2007/11/22(木) 02:41:44MenuStripのショートカットキーの表示に不具合が出てしまいます。
(何故か、Ctrl, Shift, Altの表記だけがダブってしまいます・・・。)
因みに、表記はダブっていますが、キー割り当て自体は正常に動いて居ます。
これについて、何方か解決策をご存じないでしょうか?
参考画像:http://nanami-city.info/files/20071122023457.png
0811デフォルトの名無しさん
2007/11/22(木) 03:22:41>>810の現象は、デバッグ中には見られませんが、
bin/Debugやbin/Releaseの中にあるexeの方では見ることが出来ます。
デバッグ中には起きなくて、exeとして吐き出したものだと起きるという事は、VS2005のバグなのでしょうか・・・?
0812デフォルトの名無しさん
2007/11/22(木) 07:00:530813デフォルトの名無しさん
2007/11/22(木) 09:58:200814デフォルトの名無しさん
2007/11/22(木) 17:26:58どうか、お願いします。
0815デフォルトの名無しさん
2007/11/22(木) 20:15:140816デフォルトの名無しさん
2007/11/22(木) 20:47:26開発はWindowsVistaでやっているので、もしかするとそれが問題なのかも知れません・・・
(VistaのOSとしての不具合?)
Debug版、Release版ともにVista上でビルドし起動すると、依然として>>810の状態になりますが、
そのEXEを、XPに持ってくると、何故か>>810の状態にはならず、ショートカットキーの表示がダブらなくなり、普通になります。
因みに、XPでビルドしたEXEをVistaで動かしても>>810の状態になります。
また、手を加えずにビルドを繰り返していると、
稀にショートカットキーの情報が消滅したり、正常な表示になることもありました。
(しかし、VistaでなくXPで動かすと、そんなことは全然関係ないかのように、常に正常な表記になりました。)
因みに、自分のVistaだけが問題なのか?と思い、知り合いのVistaマシンで動かして見たりもしましたが、結果は変わりませんでした。
0817デフォルトの名無しさん
2007/11/22(木) 20:54:54新しくプロジェクト起こしてMenuStripはっつけただけの。
ちなみにおいらのVistaでは問題ない。
0818デフォルトの名無しさん
2007/11/22(木) 22:16:49それだと問題は起こりませんでした。
安定して、ショートカットキーの情報が正常な状態で表示されます。
所で、問題のプロジェクトを貼り付けてみた方がいいですかね?
0819デフォルトの名無しさん
2007/11/22(木) 23:09:29なんかジョークソフトみたいだねw
明らかにドトネトフレームワークのバグだろうけど。
しかし、2.0はGUI関係のバグ本当に多いな。
0820デフォルトの名無しさん
2007/11/23(金) 00:02:35どうも、GroupBoxを消した時に入っていたオブジェクトたちのようなんですが・・・
これらを何とかして消す方法はないでしょうか?
状態としては、Formからオブジェクトは消えているのに、プロパティ上には残っている状態です。
(なので、タブでオブジェクトをつかむ事はできないです。)
0821デフォルトの名無しさん
2007/11/23(金) 00:11:390822デフォルトの名無しさん
2007/11/23(金) 00:35:14その中の奴を消したら消えました!
どうも、ありがとうございました。
0823デフォルトの名無しさん
2007/11/24(土) 14:16:00開発PCの画面解像度(1280*1024)よりSizeプロパティを大きく出来ないです。
対策方法はあるのでしょうか?
0824デフォルトの名無しさん
2007/11/24(土) 14:39:12その瞬間に占有していたメモリーが10分の1になり、またもとに戻しても
以前の3分の1ぐらいに減っていました。これはプログラム上ではとくに何も
していないため、ガーベジコレクションが最小化のタイミングで起きてくれて
いるというふうに考えればよいでしょうか?
0825デフォルトの名無しさん
2007/11/24(土) 14:54:580826824
2007/11/24(土) 15:25:20ということはこれは正常な動きでしょうか、それとも
何か不具合があるのでしょうか。
0827デフォルトの名無しさん
2007/11/24(土) 15:37:100828デフォルトの名無しさん
2007/11/24(土) 15:59:42ちなみにVistaからは変わった
0829824
2007/11/24(土) 16:10:03教えてくださりありがとうございます!
>ちなみにVistaからは変わった
もしかするとVistaからだと最小化しても減らないのでしょうか、
減ってくれると何かうれしい気がするのですが・・・。
0830デフォルトの名無しさん
2007/11/24(土) 16:22:31ついでにだけど、タスクマネージャで見てるとか言わないよな?
0831デフォルトの名無しさん
2007/11/24(土) 16:38:58見た目以外にいいことなど一つもないから気にするな
0832デフォルトの名無しさん
2007/11/24(土) 19:21:490833デフォルトの名無しさん
2007/11/24(土) 19:25:160834デフォルトの名無しさん
2007/11/24(土) 19:42:53webbrowserコントロールです。
テキストを選択してその部分を右クリックからコピーをしたいと思っています。
0835デフォルトの名無しさん
2007/11/24(土) 20:12:16IHTMLDocument2.selection IHTMLSelectionObject.createRange IHTMLTxtRange.text
0836デフォルトの名無しさん
2007/11/24(土) 22:34:41ありがとうございます。
ただそれだけでは分からず悩んでます・・・
ぐぐって
Imports System.Runtime.InteropServices
Imports mshtml
というインポートはできました。
Dim test as IHTMLdocument2
はできますが .selection を足すと怒られます。
よろしければお付き合いお願いします。
0837デフォルトの名無しさん
2007/11/24(土) 22:45:420838デフォルトの名無しさん
2007/11/25(日) 00:00:46あとCOMもな
0839デフォルトの名無しさん
2007/11/25(日) 10:42:18ここは初心者スレじゃないから。
初心者スレが無かったら自分で立てな。
0840デフォルトの名無しさん
2007/11/26(月) 10:48:07ログが追加されていくと、右側にスクロールバーが表示されますが、
常に最初のログが表示されている状態です。
これを、一番下の行が見えるように自動でスクロールさせたいです。
どうすればよいか教えてください。
CType(CType(WB.Worksheets, Excel.Sheets)(1), Excel.Worksheet).ScrollArea
あたりが使えそうだと思ったのですが、Stringだし。
0841デフォルトの名無しさん
2007/11/26(月) 17:53:42ListViewのColumnHeader1のTextAlignの値がどうやっても変更できないのは仕様ですか?
デザイナ上からも変更不可、デザイナコードに直で書き込んでも反映せず。
FormのLoadイベント上でも一切変更を受け付けません。
ColumnHeader2以降に関しては変更を受け付けるみたいなんですが。
//////////参考コード//////////
Form1上にListView1を実装>ColumnHeader1を追加
この状態で下記のコードを実行する
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Do
Me.ListView1.Columns(0).TextAlign = HorizontalAlignment.Right
Debug.WriteLine(Me.ListView1.Columns(0).TextAlign.ToString)
Loop Until Me.ListView1.Columns(0).TextAlign = HorizontalAlignment.Right
End Sub
End Class
これで一生ループを抜け出せません。
0842デフォルトの名無しさん
2007/11/26(月) 18:14:57Due to a limitation in the underlying control, this property has no effect on
the first column in the ListView control, which is always aligned to the left.
To work around this limitation in Microsoft .NET Framework version 2.0,
you can handle the ListView.DrawColumnHeader event and paint
the column header yourself.
0843デフォルトの名無しさん
2007/11/26(月) 18:20:48オーナードローで逃げるしかないですか・・・
ありがとうございました。
0844デフォルトの名無しさん
2007/11/26(月) 18:38:290845デフォルトの名無しさん
2007/11/26(月) 19:08:580846デフォルトの名無しさん
2007/11/26(月) 23:04:28無理
0847デフォルトの名無しさん
2007/11/28(水) 16:38:32。どうしたら、モノクロ画像を表示することができますか!?
0848デフォルトの名無しさん
2007/11/28(水) 17:04:180849デフォルトの名無しさん
2007/11/28(水) 17:18:28カラー画像をモノクロで表示したいってこと?
{ 1/3, 1/3, 1/3, 0, 0 },
{ 1/3, 1/3, 1/3, 0, 0 },
{ 1/3, 1/3, 1/3, 0, 0 },
{ 0, 0, 0, 1, 0 },
{ 0, 0, 0, 0, 1 },
こういうColorMatrixを作ってImageAttributesに設定
それをDrawImageの引数に渡す
0850デフォルトの名無しさん
2007/11/28(水) 18:25:59ボタン部分だけのClickイベントとしてButtonClickイベントが用意されて
いるかぢないかが大きいと思いますが、
ToolStripSplitButton で、DropDownItem をドロップダウンする側の
Clickでも、ButtonClickイベントが付随して起こり、それに割り当てた
プロシージャが実行されてしまう現象が起きていて、
マウスクリック時の動作がチャッタリング気味の動きをしているのが
目視した状況でもわかりました。こうした異常が起きていない正常動作
するものもあるのですが、Form上の置いてある深さという面では異常を
起こす方のものはコンロトールとしては深い位置にあります。
プロパティを比較してみたのですが、正常に動作するものととくに異なる
部分はないようでしたが、このような異常動作は設定で出やすくなる状況
ということはあり得るでしょうか?ご指導くださいお願い致します。
0851850
2007/11/28(水) 18:32:15>コンロトールとしては深い位置にあります
(この意味ですが、コントロールの子コントロールとしての階層の意味で、
正常動作する方はForm内の部品として、異常を起こす方のものはそれら
コントール内の子コントロール内の部品として置かれていて、深さとして
深い階層にあるということでした。)
0852デフォルトの名無しさん
2007/11/28(水) 18:56:34本当に起こるのならバグじゃない?
2005ってGUI関係のバグ多いからあっても不思議じゃないね。
でもどういう状況なら出やすいとか出にくいとかいう曖昧な話は
問題の解決にはあまり役に立たないと思う。
OnButtonClickかButtonClickのハンドラでマウスポインタがボタン部分の上にあるか
チェックしてなければ無視するようにすればとりあえず問題を回避できるんじゃないかな
0853デフォルトの名無しさん
2007/11/28(水) 20:57:29コードのバグを疑うほうがいいと思うが、どうかね
0854デフォルトの名無しさん
2007/11/28(水) 21:04:23ボクちゃんは学校で「仮定法」って習わなかったのかな。
っていうかむしろそんな不可解なバグが起こるコードがどんなものか見てみたいけどねw
0855デフォルトの名無しさん
2007/11/28(水) 22:10:01バグか仕様か迷うことはないのか?
0856850
2007/11/28(水) 22:40:07>OnButtonClickかButtonClickのハンドラでマウスポインタがボタン部分の上にあるか
>チェックしてなければ無視するようにすればとりあえず問題を回避できるんじゃないかな
なるほど!そうやって確認するのですか!!わかりました!!
試してみます。ありがとうございました。
0857デフォルトの名無しさん
2007/11/29(木) 12:21:23A、B、Cという3つのセットアップファイルを作成しました。
A、B、Cとも共通のDというファイルを参照してるのですが、
BをアンインストールするとDのファイルも一緒に削除されてしまい
残ったA、Cのプログラムが実行できません。
アンインストール時にDのファイルを残すような設定をするには
どうすればいいでしょうか?
0858デフォルトの名無しさん
2007/11/29(木) 12:34:040859デフォルトの名無しさん
2007/11/29(木) 13:17:130860デフォルトの名無しさん
2007/11/29(木) 18:54:560861デフォルトの名無しさん
2007/11/29(木) 19:12:52教えてください。
0862デフォルトの名無しさん
2007/11/29(木) 19:38:49ttp://www.bcap.co.jp/hanafusa/dotnet/mouse05.htm
ttp://www.bcap.co.jp/hanafusa/VBHLP/SendMous.htm
お好きなほうをどうぞ。
0863861
2007/11/29(木) 21:12:50mouse_event
おおこれです、探していたのは!!
ありがとうございました。
0864デフォルトの名無しさん
2007/11/29(木) 21:53:42ファイル内容に不足があることがわかりました。
例として、たとえばマイクロソフトのサイト
http://www.microsoft.com/japan/msdn/architecture/
などに対して作成すると、IEで作成した場合に作成される処の
[DOC_pagetools]
XMLUSERDATA__Size=・・・・・
XMLUSERDATA=・・・・・
USERDATAURL=・・・・・
という部分が作成されていませんでした。そしてこの部分がないと、クリック
して実行してもIEで表示できないことがわかりました。どうも実行に際して
不可欠の内容のようでした(これはユーザーの同定等を行っているのでしょうか)。
こうした部分をWsg\hShellオブジェクトのCreateShortcutメソッドで作成する
ことは不可能でしょうか。可能とした場合はどのようにすればよいでしょうか?
なにとぞよろしくお願いします。
0865デフォルトの名無しさん
2007/11/30(金) 00:13:440866デフォルトの名無しさん
2007/11/30(金) 00:48:330867デフォルトの名無しさん
2007/11/30(金) 07:04:520868デフォルトの名無しさん
2007/11/30(金) 08:26:50できました、しかし、DBから取得したデータを初期値として各セルに設定する
肝心の方法がわかりません。
例えば通常のComboBoxなら
Combobox1.SelectedItem = "初期値"
もしくは
ComboBox1.SelectedIndex = 1 '初期値に対するインデックスNo
といった具合でできるのですが。。。
DataGridViewのComboBoxセルではどのように設定すればよいのでしょう?
一応参考にしているURLです。
http://dobon.net/vb/dotnet/datagridview/index.html
http://oshiete1.goo.ne.jp/kotaeru.php3?q=2062060
Googleでの検索は「DataGridView ComboBox SelectedIndex SelectedItem」
この辺りのキーワードで検索してみました。
ご教授宜しくお願い致します。
0869デフォルトの名無しさん
2007/11/30(金) 09:57:09自己レスです。
ここを参考に
http://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=789315&SiteID=7
DataGridView1.Rows(0).Cells(1).Value = 1 ’初期値のインデックスNo
このようにしましたらできました。
0870デフォルトの名無しさん
2007/11/30(金) 10:01:04ComboBoxカラムのDataSourceプロパティに、DBから取得したデータ中のコンボと連携する列名を入れてやれば、
あとは自動でComboBoxの表示初期値がデータに対応した値になると思うyo!
0871デフォルトの名無しさん
2007/11/30(金) 10:03:30>>869 手動で設定するならそれでokかな。
というかそういう風なやり方をするってことは、非バインド列なのかな。
0872デフォルトの名無しさん
2007/11/30(金) 15:23:10(BITMAPINFOHEADER))、この情報をpicturbox2にこの情報を入れてその画像を拡大したいです。今考えてるは、picturebox1に16*16の画像
を表示し、picturebox2に256*256に拡大した画像を出力したいです。
0873デフォルトの名無しさん
2007/11/30(金) 18:41:54サブクラスの作成後、フォームデザイナでそのコントロールを追加するにはどうしたらいいでしょうか。
VS2005、XPsp2です。
0874873
2007/11/30(金) 18:43:06上記のようなことがしたいのです。
宜しくお願いします
0875デフォルトの名無しさん
2007/11/30(金) 18:43:27読み込み編集して保存すると、それをまたRichTextBoxにLoadFile
メソッドで読み込むことができないのですが、これは同じrtf
フォーマットでも形式が異なるためかと思いました。
Wordで保存したrtfフォーマットのファイルを読み込む方法は
あるでしょうか、あるとしたらどのようにすれば可能になる
でしょうか。よろしくお願いします。
0876875
2007/11/30(金) 18:50:40できました。これはWordPadではWordの扱うrtfフォーマットにも対応
しているということでしょうか。もしそうであればそれと同じ機能を
RichTextBoxでも実現することは可能なのではないかと思いました。
ご存知の方がいらっしゃいましたら何卒教えて戴きたく、よろしく
お願い致します。
0877デフォルトの名無しさん
2007/11/30(金) 20:21:46RichTextBox1.LoadFile(FilePath, RichTextBoxStreamType.RichText)
保存も同様に
RichTextBox1.SaveFile(FilePath, RichTextBoxStreamType.RichText)
FilePathはファイルのパス
0878デフォルトの名無しさん
2007/11/30(金) 22:42:44下記がソースです。フォーム上にラベルとボタンを配置しています。
http://2sen.dip.jp:81/cgi-bin/upgun/up7/source/up0431.txt
ボタンをクリックするとクラスのメソッドが呼び出され、取得完了時にイベントが発生します。
そしてイベントが発生すると、取得されたHTMLがラベルに表示されるはず・・・なのですが
イベントが発生してもラベルのテキストが変化せず困っています。
デバッグしてイベント内のHttp.ResponseDataの値を調べましたが、正常に取得されていました。
どうも原因が非同期処理にあるような感じなのですが、解決法が見つかりません。
どなたか解決法をご存知の方がいらっしゃいましたらお教えください。よろしくお願いします。
0879デフォルトの名無しさん
2007/11/30(金) 22:50:58素直に BackgroundWorker 使っとけば?
0880デフォルトの名無しさん
2007/11/30(金) 22:58:32解決しない場合は諦めてBackgroundWorkerを使おうと思っています。
0881デフォルトの名無しさん
2007/11/30(金) 23:08:04仕様を作り直せ。
0882デフォルトの名無しさん
2007/11/30(金) 23:22:10http://www.hsjp.net/upload/src/up6694.bmp
0883873
2007/12/01(土) 23:29:43http://msdn2.microsoft.com/ja-jp/library/w2a8y03d(VS.80).aspx
0884デフォルトの名無しさん
2007/12/02(日) 05:57:55フォーム内にあるTextBoxなどのスクロール付きコントロールのMouseWheelメッセージが拾えません。
自作コントロールにしてコントロール内でメッセージを送り返すなり処理するなりすれば可能なんですが・・・
なんとかコントロールはそのままで、親コントロールから子コントロールのメッセを拾う方法はありませんか?
0885デフォルトの名無しさん
2007/12/02(日) 11:16:050886884
2007/12/02(日) 17:19:56ありがとうございます。一度試してみます。
0887884
2007/12/02(日) 18:06:56ただ、少し詰まったのでもうひとつ質問させて下さい。
hHook = SetWindowsHookEx(WH_MOUSE, AddressOf MyMouseProc, IntPtr.Zero, AppDomain.GetCurrentThreadId)
これでフックしてるんですが、Formがアクティブでなくなると例外が投げられてしまいます。
メインフォームに投げられててキャッチの場所にも戸惑っているんですが・・・どうすれば対処できるんでしょうか?
0888デフォルトの名無しさん
2007/12/02(日) 21:35:41それはやばい。
0889デフォルトの名無しさん
2007/12/02(日) 23:09:010890デフォルトの名無しさん
2007/12/02(日) 23:09:41C#の例だが充分だろ
そういった部分はMSDNでしらべてみるこった
http://support.microsoft.com/?kbid=318804
0891デフォルトの名無しさん
2007/12/03(月) 15:38:57将来性なくてさ
0892デフォルトの名無しさん
2007/12/03(月) 15:41:000893デフォルトの名無しさん
2007/12/03(月) 15:41:57哀れになるよ
0894デフォルトの名無しさん
2007/12/03(月) 18:25:510895デフォルトの名無しさん
2007/12/03(月) 18:50:390896デフォルトの名無しさん
2007/12/03(月) 21:16:490897デフォルトの名無しさん
2007/12/04(火) 00:03:5820でPGの俺に謝れ!!
0898デフォルトの名無しさん
2007/12/04(火) 11:09:140899デフォルトの名無しさん
2007/12/04(火) 18:53:45あたる機能はどこー?
0900デフォルトの名無しさん
2007/12/04(火) 19:10:30http://msdn2.microsoft.com/en-us/cth13b03(VS.80).aspx
0901デフォルトの名無しさん
2007/12/05(水) 09:19:06やってみたけど、ならない・・・
タイマーコントロールみたいに、
デザイン時にフォーム上に表示しないように
したいんだけど
0902デフォルトの名無しさん
2007/12/05(水) 15:06:14それが馬鹿の思考回路
潰しの利く職種のスペシャリストにならなければいずれポイされておしまいだww
>>897
いいよ高卒は もう終わってるから
0903デフォルトの名無しさん
2007/12/05(水) 15:08:52プログラムから発生させることは出来るのでしょうか?
0904デフォルトの名無しさん
2007/12/05(水) 15:27:33sendkeyで、ってこと?
それとも、例えばButtonのクリックイベントで発生させたいってこと?
それなら、
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim UpKey As New System.Windows.Forms.KeyEventArgs(Keys.A) 'Keysはなんでもいい。選択したキーが押されたことになる
TextBox1_KeyUp(sender, UpKey) 'TextBox1のKeyUpイベントを発生させる。
End Sub
Private Sub TextBox1_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyUp
Me.Text = e.KeyCode.ToString '受け取ったキーコードをFormのテキストに設定する
End Sub
TextBox1_KeyUp(sender,e)にしたらエラーでたんでちょっと変えてみたけど…。
0905デフォルトの名無しさん
2007/12/05(水) 15:28:37Call TextBox1_KeyUp(Nothing,Nothing)
0906デフォルトの名無しさん
2007/12/05(水) 16:09:05>>905
できました!!
テキストボックスに指定した値を入れて、KeyUpイベントを発生させたかったんです。
おかげで、イベントの発生のさせ方がわかりました。
ありがとうございました。
0907デフォルトの名無しさん
2007/12/05(水) 16:17:12の質問はここでOKなんでしょうか?
テキストボックスコントロールの上に文字数カウント表示(入力内容変更時のカウント計算と表示はクライアントスクリプトで行う)をつけたWebCustomControlを作成したいと考えています。
最終的に吐き出される内容は
<div>
<ASP:Label>・・・・・</Label><br />
<ASP:TextBox ・・・/>
<div>
のようになると思うのですが単純にタグを吐き出すだけではなくTextBoxなどのイベント等も受け取りたいと考えています。
WebControlを継承して作成すると思うのですが、AddHandlerでイベントを受け取るような感じで構わないのでしょうか?
また、根本的なことですが各種プロパティを設定してやってRenderイベントをオーバーライドした中の記述でプロパティを組み込んだ上記のタグ内容を吐き出してやる
というやり方であっているのでしょうか?
書きたいことがうまく書けないのですが、よろしくお願いします。
0908デフォルトの名無しさん
2007/12/05(水) 22:28:48どのように作ればいいでしょうか?
バイトストリームで読み書きすると変数が多すぎてどうにもならないです;
0909デフォルトの名無しさん
2007/12/05(水) 22:37:18xmlかBinaryFormatterか
0910デフォルトの名無しさん
2007/12/05(水) 22:40:38すいません;
「設定をクラスにして」というのは
具体的にどうすればいいのでしょうか
現状、ゲーム要素のほとんどはModuleやFormのPublic変数に格納しています
0911デフォルトの名無しさん
2007/12/05(水) 22:50:51日頃はそのクラスオブジェクト経由で使用して
保存・復元はシリアライズ・デシリアライズ。
マルチユーザー方面も簡単
とゲーム作ったことないおれが適当に言ってみる
0912デフォルトの名無しさん
2007/12/05(水) 23:40:51最初から計画的にしていないといけないですか;
ありがとうございましたm(_ _ )m
0913デフォルトの名無しさん
2007/12/06(木) 00:05:31どなたか教えてください
0914デフォルトの名無しさん
2007/12/06(木) 00:12:220915デフォルトの名無しさん
2007/12/06(木) 06:53:572から5000までの素数をloopで乱立しようというプログラムなのですが
うまくいきません、どうすればよいでしょうか?
loopの使い方がよくわからない・・・
0916デフォルトの名無しさん
2007/12/06(木) 09:26:30コードみたけど、これ自分で意味解かって書いてるか?
どういう処理をしたいかをはっきりさせて、それにそってコードを書きなよ。
UppernumberやUndernumberが何を示すのかコメントすらないし、人に丸投げするにしては不親切すぎ。
0917デフォルトの名無しさん
2007/12/06(木) 10:19:32すまん、削除する。
0918デフォルトの名無しさん
2007/12/06(木) 11:10:25ControlじゃなくてComponentから派生させる
0919デフォルトの名無しさん
2007/12/06(木) 14:48:43おまえら終わってることに気付けよww
0920デフォルトの名無しさん
2007/12/06(木) 16:47:42なにも自分自身のことを仰らなくてもよいではないですか
0921デフォルトの名無しさん
2007/12/06(木) 22:20:390922デフォルトの名無しさん
2007/12/07(金) 11:31:55ワードやメモ帳だって一度メモリに読み込んでから再度それを書き込むだろ?
0923デフォルトの名無しさん
2007/12/07(金) 11:52:46そのやり方はオススメしない方がよくね?
0924デフォルトの名無しさん
2007/12/07(金) 12:28:33http://support.microsoft.com/kb/304662/ja
の中の、「WebBrowser コントロール使用時の注意」 のところにある、
> 1 つのプロジェクト内で複数の WebBrowser コントロールを使用する場合、各コントロールに
> 同じ種類の Office ドキュメント (すべて Word 文書、すべて Excel ワークシートなど) を読み込むと、
> いくつかの問題が発生することが確認されています。そのため、1 つのプロジェクトに使用する
> コントロールは 1 つとし、1 度に参照するドキュメントも 1 つとすることをお勧めします。
>
> 最も一般的なのは、Microsoft Office コマンド バーが無効になっているように見えるという問題です。
> 同一のフォームに WebBrowser コントロールが 2 つあり、その両方で Word 文書を読み込む場合に、
> 上記の方法のいずれかを使用してツール バーを表示すると、片方のツール バーのセットのみが
> 有効になり、正しく機能します。もう一方は無効になり、使用できません。
という問題についてですが、これを解決する方法というのはあるものでしょうか?
マイクロソフトがこう言っているわけですから、もう無理でしょうか?
最低でも複数のWebBrowserで複数のExcelファイルなりが開ければ助かるのですが・・・
0925924
2007/12/07(金) 12:35:17選択できなくなったりとトラブルが多いのは事実でした。数値バーが無効になって
しまうなども常態化していました。
こうしたことは、基本的にOfficeのCOMサーバー・アプリケーションが複数のコンテナ
で同時に動くという状況に対応していないというようなことなのでしょうか?
これは解決はあきらめるべきでしょうか?
0926デフォルトの名無しさん
2007/12/07(金) 15:58:32表示をした後に、画像を拡大したいです。
0927デフォルトの名無しさん
2007/12/07(金) 17:00:36もっと聞く側が理解できる質問の仕方をしろといってるだろw
>bitmapを作り、モノクロ画像を表示したい
適当なbitmapを作って、それをモノクロで表示したいということか?
元の画像は既にモノクロなのか?カラーなのか?
0928デフォルトの名無しさん
2007/12/07(金) 18:55:190929デフォルトの名無しさん
2007/12/08(土) 17:33:43TEXTBOXに値を入れて検索すると、SQLサーバーのデータベースから条件に合ったデータを呼び出すWebアプリを作っているのですが
TEXTBOXと比較するデータベースの項目のデータ型がMONEYだった場合
『money データ型から nvarchar データ型への暗黙的な変換は許可されません。このクエリを実行するには、CONVERT 関数を使います。』
『nvarchar データ型から money データ型、テーブル 'DB'、 列 'A' への暗黙の型変換はできません。
このクエリを実行するには、CONVERT 関数を使います。』
というようなエラーが出てしまいます。
そこでCONVERT 関数というものを調べてみたのですがイマイチ使い方が解りませんでした。
こういった場合はどのように記述すればいいか教えていただけないでしょうか?
言語はVISUALBASICの方を使っています。
宜しくお願いします。
0930929
2007/12/08(土) 17:44:19「VB CONVERT 関数」あたりでググッて見たかぎりでは見つけられなかったのですが
どこか解説してくださっているサイトであればサイト名だけでも教えていただけないでしょうか?
0931デフォルトの名無しさん
2007/12/08(土) 17:55:23http://msdn2.microsoft.com/ja-jp/library/ms187928.aspx
0932デフォルトの名無しさん
2007/12/08(土) 17:56:47パラメータークエリーを使ってるなら、Decimalで突っ込めばいい。
0933デフォルトの名無しさん
2007/12/09(日) 03:34:57どう見てもSQLエラーな件。
VBでどうこうするんじゃなく、SQL文そのものにCONVERT関数使うんだよ。
もしくはCAST。
0934デフォルトの名無しさん
2007/12/09(日) 03:58:55CONVERT( 型 ,値 ,[変換タイプ] )
0935デフォルトの名無しさん
2007/12/09(日) 16:22:27vb.Net2003でテキストボックスの入力制限で、
スペースを入力不可にしたいのですが、
やり方が分かりません。
教えていただけないでしょうか。
よろしくお願い致します。
0936デフォルトの名無しさん
2007/12/09(日) 16:35:42If e.KeyCode = Keys.Space Then
e.SuppressKeyPress = True
End If
End Sub
0937デフォルトの名無しさん
2007/12/09(日) 16:44:56本当に有難うございました。
0938デフォルトの名無しさん
2007/12/09(日) 17:18:510939デフォルトの名無しさん
2007/12/09(日) 17:36:06例えば、Replaceで取り除くとか…。
ペーストできないようにする方法もあるけど。
.NetFramework2.0以降だったらTextBoxのShortcutsEnabledをFalseにするとか、空のConTextMenuをつけるとか。
0940デフォルトの名無しさん
2007/12/09(日) 17:38:39すみません。ありがとうございます。
ペーストも制御できるのですか??
0941デフォルトの名無しさん
2007/12/09(日) 19:01:25numCode = 10
TextBox1.Text = numCode
って10進数じゃなくて・・・
16進数を表示させたい場合は、どう書けばいいのですか?
0942デフォルトの名無しさん
2007/12/09(日) 19:16:340943デフォルトの名無しさん
2007/12/09(日) 19:39:001が出るまで2で割っていって、都度商を文字に直して文字連結?
0944デフォルトの名無しさん
2007/12/09(日) 19:40:5416進数がHexなら2進数も想像付くだろ
0945デフォルトの名無しさん
2007/12/09(日) 20:06:46Dec2Binでなし(こりゃexcelか) binでもなし・・・まだ判らん
0946デフォルトの名無しさん
2007/12/09(日) 20:19:52他のはキーワード「書式指定文字列」でMSDNで調べればいい
0947デフォルトの名無しさん
2007/12/09(日) 20:39:56TextBox1.Text = Convert.ToString(numCode, 2)
ですね。2時間かかってようやくできました。
0948929
2007/12/10(月) 09:05:59色々とお答えをいただき、ありがとうございました。
VB側でDBに合わせられたらと思ったのですが
それは駄目でSQLからデータ引っ張るあたりで
データの方を数字タイプにしないといけないのですね。
教えていただいたキーワードでもう一度どうやるか
考えるようにします。
本当にありがとうございました。
0949デフォルトの名無しさん
2007/12/10(月) 17:27:14いいですか!?今のままではgetpixelとsetpixelのところでエラーがでてきます。
もうひとつの問題は、画像を拡大したいのですが、ぼけてしまします。どうしたらいいですか!?
0950デフォルトの名無しさん
2007/12/10(月) 17:30:450951デフォルトの名無しさん
2007/12/10(月) 17:40:51現状どのようにして画像を表示させようとしているか、書いてみな〜
0952デフォルトの名無しさん
2007/12/10(月) 17:56:31アンチエイリアス処理でもすりゃあ別だと思うが。
0953デフォルトの名無しさん
2007/12/10(月) 18:00:28ペイントみたいに任意倍数拡大すると、カクカクな感じで表示されるようにしたいんじゃね?
0954デフォルトの名無しさん
2007/12/10(月) 19:45:460955デフォルトの名無しさん
2007/12/10(月) 22:34:510956デフォルトの名無しさん
2007/12/10(月) 23:16:18RequiredFieldValidatorコントロールのControlToValidate
みたいに現在貼り付けているフォームのコントロール一覧みたいなものを選べるように実装したいんだけど
なにかいい方法ないでしょうか??
よろしくお願いします。
0957デフォルトの名無しさん
2007/12/11(火) 01:08:280958デフォルトの名無しさん
2007/12/11(火) 01:37:57そうですそうです。
プロパティボックスのところにドロップダウンコンボがでて選ぶか入力するかみたいな
0959デフォルトの名無しさん
2007/12/11(火) 13:50:20やりたいことは、
//////////////DataGridViewコントロール////////////////
名前 山田太郎
性別 男性
血液型 A
生年月日 1988/12/30
趣味 ウインドサーフィン
////////////////////////////////////////////////////
このように、2列*複数行という一覧表を作りたいのです。
このときに血液型のセルのみをコンボボックスにしたいです。(プルダウンメニューで編集したい)
2列目のColumnTypeをコンボボックスに設定したのでは、
当然2列目全体がコンボボックスになってしまい、やりたいことができません。
よろしくおねがいします。
0960デフォルトの名無しさん
2007/12/11(火) 13:55:190961デフォルトの名無しさん
2007/12/11(火) 14:30:17調べてみたんですが、
Public Class DetailsView
Inherits System.Web.UI.WebControls.CompositeDataBoundControl
System.Web.UI.WebControls のメンバ
とあり、
System.Windows.Forms.Controlを継承していないので、
どうやってフォームに追加すれば良いのか分かりませんでした。
0962デフォルトの名無しさん
2007/12/11(火) 14:39:53コンボボックスを表示しない列は、
CellPaintingイベントで、コンボボックスを書く処理をキャンセル(e.Handled = True)(*正確にはキャンセルではないが)し、
セルの背景、枠線、文字列などを自分で描画する。
フォーカスが当たっているかどうかで背景色を変えたりなんだりと、割と面倒くさい。
0963デフォルトの名無しさん
2007/12/11(火) 14:41:33行は○
0964デフォルトの名無しさん
2007/12/11(火) 15:05:30やはり面倒くさい方法しかないですよね。
今回は別の方法を取ってみたいと思います。
ありがとうございました。
0965デフォルトの名無しさん
2007/12/11(火) 15:17:250966デフォルトの名無しさん
2007/12/11(火) 21:01:56したいです。普通に、拡大したらぼけるのでBITMAP構造体を使ってぼけないようにしたいのですが。
どうしたらよいですか!?
0967デフォルトの名無しさん
2007/12/11(火) 21:15:300968デフォルトの名無しさん
2007/12/11(火) 21:18:120969デフォルトの名無しさん
2007/12/11(火) 21:35:320970デフォルトの名無しさん
2007/12/11(火) 21:36:59すまねえ、Webと勘違いしてた。
0972デフォルトの名無しさん
2007/12/11(火) 23:31:440973デフォルトの名無しさん
2007/12/11(火) 23:43:03情報量が足りてないんだから、そりゃ、ぼけるさ。
それとも整数倍だからドットを16倍にするだけで
補完処理は要らないという話なのかい?
0974デフォルトの名無しさん
2007/12/12(水) 00:08:04ここに、モノクロ画像を表示し拡大したいです。本当に説明が下手ですいません。
ネットでいろいろ調べてるんですが、VB.NET2003に使えそうなものがなかなか見つかりません。
0975デフォルトの名無しさん
2007/12/12(水) 00:55:12>ここに、モノクロ画像を表示し拡大したいです。
ここってどこだよ。
モノクロがそのままモノクロにならないって、色が勝手に着くのかよ。
bitmap構造体ってなんだよ。
書くこといろいろあるだろ。笑っちゃうよねまったく
0976デフォルトの名無しさん
2007/12/12(水) 01:04:550977デフォルトの名無しさん
2007/12/12(水) 12:40:48スルーだスルー。
0978デフォルトの名無しさん
2007/12/12(水) 15:58:41最大の数値を知るのに効率のいい方法ってありますか?
現在、GetValuesで配列にして、並び替えて、
最大の値をひっぱってるのですが、
もうちょっとスマートにできないでしょうか?
0979デフォルトの名無しさん
2007/12/12(水) 16:31:09その辺は意図的に不便になってる感じがするな
気に入らなかったらもっとモダンな方法使えと
0980デフォルトの名無しさん
2007/12/12(水) 20:00:39韓国人っぽいなとは思ってたんだ。
0981デフォルトの名無しさん
2007/12/12(水) 20:40:57任意のEnumの、ってこと?
でなきゃナンセンスな質問だよな。
しかし、そんなの何に使うんだろ。
0982デフォルトの名無しさん
2007/12/12(水) 20:46:58Dictionary使うよりちょっと速いかも
0983デフォルトの名無しさん
2007/12/12(水) 20:51:34言いたかったのは、静的に、つまりコンパイル時に既に確定している値を
動的に求めたい場合ってあるんかねって意味だけど。
0984デフォルトの名無しさん
2007/12/12(水) 20:55:55特にDLLの先にあるEnumとかだったりすると、
最大値は変わりうるからねぇ。
0985デフォルトの名無しさん
2007/12/12(水) 20:59:19最大値を表すMaxValueフィールドみたいなのを列挙体に足すのはMSのガイドライン違反だし
0986デフォルトの名無しさん
2007/12/12(水) 22:31:100987デフォルトの名無しさん
2007/12/12(水) 22:35:010988デフォルトの名無しさん
2007/12/12(水) 22:57:040989デフォルトの名無しさん
2007/12/12(水) 23:25:46SSLを使用してセキュリティを高めようと思います。
System.Net.Security.SslStreemについて質問があります。
TCPでサーバに接続し、その接続で得られたNetworkStreemをSslStreemの初期化に使用し、以後の通信にはそのSslStreemを使用する、と書いてあったのですが、
http://msdn2.microsoft.com/ja-jp/library/system.net.security.sslstream(VS.80).aspx
に書いてあるC#のサンプルコードでSSLを使用した通信が行われているのでしょうか。
SSLを使用するためのサンプルコードでこのような質問をすることはかなりおかしなことだと思いますが、
SSLの仕組みについて調べたところサーバの証明書、などで認証すると書いてあり、それはX509Certificate....に当たると思うのですが…
そのサンプルコードで本当にSSLが適用された通信ができるのか疑問が残っています。
かなりまぬけな質問ではありますが、よろしくお願いします。
0990デフォルトの名無しさん
2007/12/12(水) 23:32:53サーバ証明書が必要で、第一引数で渡してあげるっていうのは判るよね。
後はクライアント側の話で、接続したさいに、アドレスが合致しているかとか
既知のルート証明書からたどれるか、みたいな検証を、AuthenticateAsClientで
実行するわけで、そこで通るなら、SSLとして成立するわけだけど。
0991978
2007/12/13(木) 09:19:49そう、任意のEnumで
配列のインデックスに使ってます
あいつぐ仕様変更で、なんどもEnumの
上限数が、あちこちかわるんです・・・
そのたびにソース変更するのだるくてw
>>985
MaxValue定義するのいいかもw
全部のEnumに追加しなきゃならんけど・・・
でもガイドライン違反かなのか・・・
たくさんのレスありがとうございました。
0992デフォルトの名無しさん
2007/12/13(木) 09:29:08まあ既存のアプリぽいからむりかも知れんが。
0993デフォルトの名無しさん
2007/12/13(木) 09:50:07同じイベントをメソッド名を変えて複数記述した際に、
実行される順序はどうやって決定されるのでしょうか。
Private Sub Button_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button.Click
Private Sub Button_Click_2(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button.Click
と記述した際にButton_Click_1を先に実行して、次にButton_Click_2を実行する
といった感じで実行される順序を指定することはできるのでしょうか。
0994デフォルトの名無しさん
2007/12/13(木) 10:14:02Button_Click_1の方のみで処理A,処理Bと順に実行させたらダメなの?
なんでわざわざButton.Clickに関連付けしたメソッドを複数作る必要があるの?
0995デフォルトの名無しさん
2007/12/13(木) 10:15:41http://pc11.2ch.net/test/read.cgi/tech/1197507828/
次スレ立てましたー。
こっち埋まったら使ってくんろ。
0996デフォルトの名無しさん
2007/12/13(木) 10:35:02他人が作成したコードを修正しているのですが
ボタンが複数あり、処理Aが各ボタンごとに異なる処理
処理Bは各ボタン共通の処理をしており、
処理Bをすべていつのメソッドにまとめて記述してあります。
その為、Button.Clickイベントが複数のメソッドに関連付けされている状態です。
説明が足りず申し訳ありません。
0997デフォルトの名無しさん
2007/12/13(木) 11:13:41適当にググって、こんなの見つけた
ttp://blogs.wankuma.com/mrt/archive/2007/10/24/103847.aspx
一番下まで読んでみたけど、やはり明確な順序をつけるのは無理じゃあないかな。
順序を気にするような処理なら、やはり>>994のような処理になると思う。
0998デフォルトの名無しさん
2007/12/13(木) 11:21:570999デフォルトの名無しさん
2007/12/13(木) 11:23:021000小倉優子 ◆YUKO3./00M
2007/12/13(木) 11:23:3310011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。