1 名前:デフォルトの名無しさん [2007/04/23(月) 12:42:36 ] 前スレ VB.NET質問スレ (Part20) pc11.2ch.net/test/read.cgi/tech/1173061176/ テンプレは2〜10くらいまでの間にある予定
641 名前:デフォルトの名無しさん mailto:sage [2007/06/14(木) 13:11:11 ] ↑ 二行目は気にしないでくれ。コピペミスだw
642 名前:デフォルトの名無しさん mailto:sage [2007/06/14(木) 13:19:51 ] 大概、先に見越したところは想定通りにならないのが常だがなw
643 名前:634 mailto:sage [2007/06/14(木) 13:59:48 ] いや、もう本当に悩む。 変数が40ぐらいのクラスを作らなければいけないのだが、 正直かなり面倒。 今までそう言われてきたから、必ずSet/Getを作ってきたけど、 代入/取得するだけの処理に意味有るのかと。 もちろん入力規則をする場合などには、利用するけどね。 どれだけ、将来的に役立つのか疑問。。 誰か、すばらしい利点を教えてだせい。
644 名前:デフォルトの名無しさん mailto:sage [2007/06/14(木) 14:15:46 ] >>643 フィールドにした場合virtual/overrideに出来ない。VBだとoverridableだっけか。 インターフェイスにフィールドを含めることが出来ない。 リフレクションなどでメソッドの呼び出しを横取りして何かの処理を行うことが フィールドに対しては出来ない。 通信やCOM呼び出しなどでインターフェイスを実装することを要求しているのは、 処理の横取りが出来ないフィールドを排除するためである。 VB6のCOMのようにpublicなフィールドを暗黙でプロパティにしてしまうのもありだとは思うが、 VB.NETはC#の考え方に合わせたのだろう。
645 名前:デフォルトの名無しさん mailto:sage [2007/06/14(木) 14:17:07 ] 上のような理由からだから値型はフィールドのままでかまわないよ。
646 名前:デフォルトの名無しさん mailto:sage [2007/06/14(木) 14:27:22 ] >>640 ん?プロパティにいちいち () つけるタイプ? それなら修正して回らないと駄目だね。
647 名前:デフォルトの名無しさん mailto:sage [2007/06/14(木) 14:46:58 ] ん? C#メインだから()とか言われても分からないんよ public int iUnko; ↓ やっぱプロパティにしよう public int Unko{ get{} set{} } ↓ iUnkoをUnkoに書き換えなきゃなんないんじゃ? プロパティの名前をiUnkoのままでもいいけど、 そうしたらクラス内部で使うときに全部プロパティ経由になっちゃうよ やっぱ書き換えが発生するんじゃ
648 名前:デフォルトの名無しさん mailto:sage [2007/06/14(木) 14:52:27 ] VBにはリファクタの「フィールドのカプセル化」がないのか。そりゃ面倒だね。 C#のもフィールドをまとめてカプセル化する機能がないのでちょい不満だけど。
649 名前:デフォルトの名無しさん mailto:sage [2007/06/14(木) 14:54:59 ] >>647 ああ、いちいちプレフィックス付けるタイプでしたかw
650 名前:デフォルトの名無しさん mailto:sage [2007/06/14(木) 15:06:40 ] C#3.0では自動プロパティという機能がついて public int Unko{get;set;}だけでよくなるらしい
651 名前:デフォルトの名無しさん mailto:sage [2007/06/14(木) 15:35:08 ] VBは引数付きプロパティが使える関係でプロパティに引数が必要な場合は( .. ) を付ける。 引数なしプロパティには()を付けても付けなくてもいいということらしい。 C#の場合は大小文字を区別するから、フィールドnameでプロパティはNameにするのが一般的だが、 VBの場合プロパティとフィールド名の命名にそういったルールや習慣はあるの?
652 名前:634 mailto:sage [2007/06/14(木) 15:57:34 ] >>648 を参考にアドインを探したら、Refactor! というツールがありました。 悩んでいるのもあれなんで、これを使ってどんどんプロパティを作ってしまいました。 ttp://www.devexpress.com/Products/NET/IDETools/VBRefactor/
653 名前:デフォルトの名無しさん [2007/06/14(木) 16:04:04 ] VB2005でcrystal reportsを使いたいのですが、 インストール方法が分かりません。 恐れ入りますが、ご教示ください。
654 名前:デフォルトの名無しさん mailto:sage [2007/06/14(木) 16:07:24 ] エディションは?
655 名前:デフォルトの名無しさん [2007/06/14(木) 16:12:06 ] >>654 Visual Studio 2005 Tools for the Microsoft Office System です。 よろしくお願いします。
656 名前:デフォルトの名無しさん mailto:sage [2007/06/14(木) 18:35:50 ] ふいたww
657 名前:デフォルトの名無しさん mailto:sage [2007/06/14(木) 19:33:42 ] >>650 C++/CLIなんて、property int Hoge;だけでおkだぜ?
658 名前:デフォルトの名無しさん mailto:sage [2007/06/14(木) 21:53:19 ] VB2005(Professional Edition)に関する質問です。 プロセス間で同期を取るためにイベントを使いたいのですが、 VB6⇔VC2005とか、VC2005⇔VC2005とかでは他プロセスから イベントを受信できるのに、VB2005だとできなくて困っています。 どなたか原因分かる方いませんか? 以下ソースの一部(プロジェクトの種類はVCはWin32アプリ。VBはWindowsアプリ) 〜〜〜VC2005〜〜〜 hEvent = CreateEvent( , , , "test_event") SetEvent(hEvent) 〜〜〜〜〜〜〜〜〜 〜〜〜VB2005〜〜〜 hEvent = CreateEvent( , , , "test_event") iRet = WaitForSingleObject(hEvent,0) ←ここでイベントを受信しない。 〜〜〜〜〜〜〜〜〜 ちなみに同じプロジェクト内で、SetとWaitを使用した場合は動きます。 〜〜〜VB2005(動く)〜〜〜 hEvent = CreateEvent( , , , "test_event") SetEvent(hEvent) iRet = WaitForSingleObject(hEvent,0) ←これは受信する。 〜〜〜〜〜〜〜〜〜
659 名前:デフォルトの名無しさん mailto:sage [2007/06/14(木) 21:58:24 ] それだけで分かったら ESP 名乗れるかもしれないな。 本題とは直接関係ないが、わざわざ Win32API 使わんで EventWaitHandle 使え。
660 名前:658 mailto:sage [2007/06/14(木) 22:12:02 ] >>659 レスサンクス 補足っぽいものさせてもらうと、 A、B共にVB2005で作ったexeとして、 A.exeでSetEvent A.exeでWaitFor〜 の場合は、イベントを受信するんだけど A.exeでSetEvent B.exeでWaitFor〜 の場合は、動かないんですよね。 VB6の場合はどっちのパターンでも動きます。 ちなみに、EventWaitHandle使う場合は、 VC側はどうやるのでしょう? VCでもEventWaitHandle?それともCreateEvent? 質問増えて申し訳ないです。
661 名前:デフォルトの名無しさん mailto:sage [2007/06/14(木) 22:22:15 ] 文字セットの問題とかな EventWaitHandle は名前付きイベントのマネージドなラッパ。
662 名前:658 mailto:sage [2007/06/14(木) 22:39:09 ] >>661 レスサンクス う〜ん それも考えて、 VCのテストアプリを、マルチbyte文字セット、ユニコードの両方試してみてもダメ。 660の例では、コンパイルしてできたexeをリネームして試してみてるので やっぱり文字コードじゃなさそう。 レスに対して揚げ足取ったようでゴメンナサイね。 何か思いついたことがあれば、引き続きレスお願いします。
663 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 00:09:02 ] 本当に初歩的な質問をさせていただきます。 フォームが1つありテキストボックスが2つ(1、2)、ボタンが1つ配置してあります ボタンを押したらテキストボックス1と2に入力した文字をCSVファイルに書き込む用にしたいのですが どのようにCSVに書き込みのプログラムを組めばよいのでしょうか? CSVファイルの場所は固定です C:\ 2つのテキストボックスには4桁の整数を入力します。 CSV内で2つのテキストボックスに入力した値をカンマ区切りで書き込みたいです。 例 1234,5678 ボタンを押すごとにCSVファイル内で改行して書き込みを行いたいです 例 ボタン押下の度にCSVの中身は改行され 1234,5678 4321,0987 ・ ・ 初心者すぎてわかりにくい質問だとはおもいますが お願いいたします
664 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 00:14:24 ] その説明をそのままコードに起こせばおk で、どこが分からんの?
665 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 00:21:14 ] >>664 まず テキストボックス内の数字を CSV書き込みの時に反映させるコードの書き方が 全くわかりません・・・ 一度テキストボックス内の数字を変数入れたほうがいいのですか?
666 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 00:36:12 ] 全くって言われても……言葉通りとしか……。 とりあえずファイルに書き込むことはできてる? どうやって書き込んでる?
667 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 00:41:37 ] >>666 すいません質問が漠然としすぎていて・・ もう少し勉強してから出直してきます。
668 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 00:43:40 ] 2005で作ったプログラムを2003に変換する方法ってありますか。
669 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 01:40:00 ] 1.1にない機能を使ってたらどうすんの?
670 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 10:08:10 ] >>668 コピペしてエラーがでたら考える。
671 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 10:40:30 ] AddHandlerでLeaveイベントでを関連付けて、テキストボックスからフォーカスが移動した際に 入力のチェックをしているのですが、ツリービューをクリックした際になぜか 入力チェックが2回実行されます。 この原因及び解決法が分かる方がいましたらご教授願います。
672 名前:デフォルトの名無しさん [2007/06/15(金) 10:47:45 ] 2005のDataGridViewでDataGridViewButtonColumn列を使用して一覧の表を作成しています ある特定の行のときだけ DataGridViewButtonCellの中にあるボタンを無効化(enable=false みたいに)出来ないでしょうか?
673 名前:デフォルトの名無しさん [2007/06/15(金) 12:41:48 ] すみません。www.cbook24.com/bm_detail.asp?sku=4798011126 を買おうと思っているんですが、 下の方に印刷のところで、クリスタルレポートっていうのが、でてきます。他の本をみていても時々でています。 色々と調べてみたんですが、VB2005Proffessionalエディションじゃないとクリスタルレポートというのは つかえないんでしょうか・・・ Professionalエディションって結構高いですよね・・ よろしくお願いします。
674 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 12:43:10 ] >>671 それで原因がわかったらエスパーだなw 原因および解決法が分かる方がいましたら、ってなんだよ。 まるで原因は自分のミスじゃない、とでも言いたげだな。 そういう時は原因としてどういう可能性が推測できるか、と聞けよ。
675 名前:デフォルトの名無しさん [2007/06/15(金) 12:53:56 ] >>673 Expressでは少なくとも無いなぁ Standardはしらんが多分Pro以上 Express5000くらいで買ってProにアップグレードしたら多少安く手に入るんじゃないかな?
676 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 12:54:13 ] >>673 www.microsoft.com/japan/msdn/howtobuy/vs2005/editions/stdexp/#stdexp_feature
677 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 12:57:12 ] >>673 バンドル版はPro版以上。それ以下でも製品版を買えば使える。 japan.businessobjects.com/products/crystal/ もちろん製品版も結構高いけどな。
678 名前:デフォルトの名無しさん [2007/06/15(金) 13:02:18 ] タグ上で右クリしたときContextmenuStripが表示されるようにしたいんですが なんかいい手無いかなー? 要はタブを追加、タブを閉じるのメニューを表示したいんす
679 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 13:03:23 ] >>672 以前自分もこれしらべたことあったけど、現状じゃ無理ー。
680 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 13:05:51 ] >>678 タブコントロールのタブか? 普通にマウスクリックイベントに書けば?
681 名前:デフォルトの名無しさん [2007/06/15(金) 13:08:44 ] >>679 やっぱむりっすか・・・ 中のボタンコントロールみたいなのとれればなとか あれこれ調べたんですがこれもムリだったので、まぁ、今回はちょっと別の方法模索してみようかなとおもいます。 レスありがとうです!
682 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 13:14:45 ] >>681 正確にいうと、ReadOnlyにすることで、無効化は可能。 ただ、視覚的にenabled=false(グレー表示)にすることが不可能。 ボタンを押す行為自身はできちゃうんだよね…
683 名前:デフォルトの名無しさん [2007/06/15(金) 13:28:06 ] >>682 もうちょっとツボ抑えた機能がほしいところですね 全部既存のコントロールが中にあるんだろうし 少しくらい公開してくれても・・・(;´Д`)
684 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 13:34:46 ] 中にコントロールはなかったような。 編集するときEditControl生成するくらいじゃね? Buttonの絵を書いてるだけだよ。 じゃなきゃ何千ものコントロールのハンドル管理しなきゃいけなくなるっしょ。 だから継承して自分で描画すればいいだけの話
685 名前:デフォルトの名無しさん [2007/06/15(金) 14:04:58 ] >>684 いいヒントもらえたのでちょっと強引にやってみました。 セルのボタンを表示したくないValueにはNothing そうじゃないばあいNothing以外を入れて CellPaintingイベントで If e.RowIndex >= 0 AndAlso e.ColumnIndex >= 0 AndAlso dgvList.Columns(e.ColumnIndex).Name Is 該当のカラム Then Dim temp As DataGridViewCell = dgvList.Rows(e.RowIndex).Cells(e.ColumnIndex) If temp.Value Is Nothing Then Dim TempPoint As New Point(e.CellBounds.X + e.CellBounds.Width - 1, e.CellBounds.Y) Dim TempPoint2 As New Point(e.CellBounds.X + e.CellBounds.Width - 1, e.CellBounds.Y + e.CellBounds.Height) e.Graphics.FillRectangle(New SolidBrush(Color.White), e.CellBounds) e.Graphics.DrawLine(New Pen(SystemColors.ControlDark), TempPoint, TempPoint2) e.Handled = True End If End If ボタンを表示したくない時は自分で塗りつぶして線も描画し、表示したい時はコントロール任せ こんな感じでとりあえずいけそうかなぁと 助かりました〜
686 名前:デフォルトの名無しさん [2007/06/15(金) 14:42:56 ] グループボックスの中にボタンが配置してある場合、グループボックスの背景色を 変更したらボタンも一緒に変わってしまう。。 再度ボタンを設定しなおせば良いのは分かりますが、 予め反映させないようには出来ないのでしょうか?
687 名前:デフォルトの名無しさん [2007/06/15(金) 15:22:57 ] >>686 ???? 今やってみたけど変わらないと思うぞ あらかじめGroupBoxに背景色が設定してあって、そのうえにボタン追加したらその現象が出るなぁ・・・ ちなみに2005IDEね
688 名前:686 mailto:sage [2007/06/15(金) 15:37:46 ] ぇええぇぇええ〜。 実験どうもです。 自分の所もVS2005のVB。 ちょっと新規にプロジェクトを作成して試してみましたが、 グループボックスの中にボタンを配置して、以下のプログラムで再現します。 GroupBox1.BackColor = Color.Aqua この場合、グループボックスもボックス内にあるボタンもAqua色。。
689 名前:デフォルトの名無しさん [2007/06/15(金) 15:46:23 ] >>686 あ〜 ボタンのスタイルをスタンダードにしてるから 見た目かわらないだけでグループの背景色変えたらボタンの背景色変わってるな〜 たしかにFlatとかにしてたらIDEでも変わるのが目に見えて判る こういう処理やったことないからわからないけど・・・・自動で子にいろいろ設定されるのは難しいんじゃなかろうか・・・ FormのFontSizeとか変えたら子のサイズも変わるのと同じ原理なんだろうなぁ・・・ ある意味気が利いてていいんだが・・・
690 名前:686 mailto:sage [2007/06/15(金) 15:47:58 ] コードとか関係なくGUIでもそうなっているんですね。。 ラベルやチェックボックスとかには便利だけど、 ボタンにこれは必要ないだろ〜。 ぅう、面倒くさー。
691 名前:686 mailto:sage [2007/06/15(金) 15:50:10 ] >>689 入れ子になりました。 度々どうもです。 うーん、小さな親切って奴ですな〜。
692 名前:673 mailto:sage [2007/06/15(金) 15:51:01 ] >>675 どうもありがとうございます。ExpressからProにアップグレードできるんですか? 以前のエディションのPro版からしかアップグレードできないとおもっていたので、 とても助かります。ありがとうございました。 >>676 どうもありがとうございます。わざわざURLを貼っていただきまして。やっぱりPro版じゃないと だめみたいですね。 >>677 製品版なんてものもあるんですね。CrystalReport単品ですね。でも、7万しますね・・ MicroSoftはここまで金をもうけないと駄目なんですかね・・ どうもありがとうございました。お礼が遅くなりすみませんでした。料理してたら忘れてまして・・
693 名前:686 mailto:sage [2007/06/15(金) 15:54:48 ] >>689 ああ、どうもです。 FlatStyleプロパティをSystemにする事で、回避できそうです。
694 名前:デフォルトの名無しさん [2007/06/15(金) 16:01:58 ] >>693 ついでにちょっと試してたんだけど IDEでグループボックス貼り付け IDEでボタン貼り付け ボタンのスタイルをフラットにして、色をREDに変更 このあとグループボックスの色変えてもボタンの色変わらなくない? もちろんコードでグループボックスの色変えても
695 名前:686 mailto:sage [2007/06/15(金) 16:06:56 ] >>694 自分が確認した範囲では、一度ボタンの色を任意に設定した後は、 ボタンのスタイルに関わらず、グループボックスと連動する事はなさそうです。 スタイルをSystemにするか、BackColorをColor.Transparentにするかの どちらかになると思います。
696 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 16:11:53 ] >>674 ではその可能性とやらを教えてください
697 名前:デフォルトの名無しさん [2007/06/15(金) 16:20:47 ] >>696 またお前かw 偉そうな質問者よ 他のスレで大暴れしているな?
698 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 16:25:08 ] >>697 完全に人違い。 さっきのはもうあきらめました。 ちなみに別のところで詰まってるんだけど 教えてもらえるかな
699 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 16:54:12 ] だがことわる って言われたら諦めるの?
700 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 17:11:23 ] やだ っていったら教えてくれるの?
701 名前:デフォルトの名無しさん [2007/06/15(金) 17:23:11 ] >>700 お前には教えない 教える気になる書き方しろやカス つうか、おまえはそういう聞きかたされておしえるのか? もしそうなら教えてほしいんだが Form閉じる時に何か処理したいんだがなんてイベント使えばいいんだ? たのむから教えてくれカス
702 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 17:57:14 ] 何でお前はそんなに偉そうなんだ お前は俺の質問に答えられるのか 無理なくせにえらそうにするなよ
703 名前:デフォルトの名無しさん [2007/06/15(金) 17:59:13 ] DataTableでColumnsの最大値っていくつまで指定可能ですか?
704 名前:デフォルトの名無しさん [2007/06/15(金) 17:59:25 ] >>698 = >>700 = >>702 = Null つまり奴はこの世の中には存在しないんだよ!!!! >>702 それまさにお前 m9(^Д^) ところで釣れますか?
705 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 18:02:41 ] >>701 FormClosingだ、馬鹿。 Closingが見つからないからってあせるな馬鹿。
706 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 18:04:52 ] >>703 Columns.CountプロパティがIntegerだからそこから最大値は必然的にわかるだろ。
707 名前:デフォルトの名無しさん [2007/06/15(金) 18:09:53 ] >>706 おお! 盲点ってか全く気がつかなかった。 サンクスです。
708 名前:デフォルトの名無しさん [2007/06/15(金) 18:13:21 ] ぜひ>>671 には わ○くま とかの掲示板で質問していただきたいw
709 名前:703 mailto:sage [2007/06/15(金) 18:14:17 ] もうひとつ聞きたいことがあるんですが、 DataTableにNewRowした時点で、 あらかじめ項目に規定値をセットする方法ってあるのでしょうか?
710 名前:デフォルトの名無しさん [2007/06/15(金) 18:15:14 ] >>705 ばっかw そこは2003か2005か聞くところからはじめさせるための釣りの布石なんだよwwww MayBe... BoyesBe...
711 名前:デフォルトの名無しさん [2007/06/15(金) 18:18:11 ] >>709 DataColumn みてみ?
712 名前:703 mailto:sage [2007/06/15(金) 18:24:59 ] >>711 どうもです。 試してみます。
713 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 18:47:12 ] VB2005が何か落ちまくる。 コピペしようとすると、コピーの段階でdevenv.exeのCPU使用率が 急上昇して最終的に落ちるか固まる。 はー・・・。
714 名前:デフォルトの名無しさん [2007/06/15(金) 18:48:28 ] Dim str As String = "abc" str = Format(str, "@,@,@") MsgBox("str") これで出力をすると結果が「@,@,@」になるのですが、どうしてなのでしょうか?; どの解説サイトを見てもFormat関数の書き方は間違ってないはずなのですが・・・
715 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 18:49:12 ] ちなみにHndles Button.click内にあります。
716 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 19:09:04 ] すみません、上記は間違いです Dim str As String = "abc" str = Format(str, "@,@,@") MsgBox(str) 自分では「a,b,c」と出ると思ってるのですが、どこか間違ってるんでしょうか?
717 名前:716 [2007/06/15(金) 19:14:32 ] VB2005です
718 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 19:16:07 ] TextBox/DateTimePicker/CheckBox/RadioButton などのコントロールが 50個以上あるフォームが有るのですが、フォームのクローズボタンなどで 閉じられた際に、内容が修正された場合には確認のメッセージを 表示させたいのですが、どうすれば良いでしょうか? TextBoxの場合はModified がありますが、それ以外のコントロールはありませんし・・・。
719 名前:デフォルトの名無しさん [2007/06/15(金) 19:19:03 ] >>718 起動した時に覚えておいて Closingかなんかでチェックすればいいんじゃね?
720 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 19:27:46 ] >>719 やっぱりそれしか無いですかね。 なんか遅くなりそうで心配・・・。
721 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 19:32:32 ] フラグ一つ見るのに時間がかかるわけがないと思うんだが。 たぶん1nSecもかからないと思うぞw
722 名前:718 mailto:sage [2007/06/15(金) 19:50:28 ] >>721 え?フラグ一つってどういうことでしょうか? 今、修正される可能性があるコントロール全てを、データクラスにして 表示する時と閉じる時にセットして比べようとしているんですが・・・。 もしかして自分は壮大な過ちを犯してしまっているのか!
723 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 20:09:45 ] そのデータクラスにIChangeTrackingを実装すればいい。
724 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 20:14:26 ] フラグを一つ付けるためだけにコントロールを継承するのはアホらしいでしょ Control.TagプロパティやDictionary(Of Conrtol, Boolean)でいいと思うけど
725 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 20:15:13 ] フラグはフォーム全体に一つで十分だろ…
726 名前:724 mailto:sage [2007/06/15(金) 20:18:21 ] すまん>>723 はデータクラスにフラグを付けろって言ってたんだな それでいいと思う
727 名前:718 mailto:sage [2007/06/15(金) 20:28:27 ] ありがとう御座います。 IChangeTrackingってググってもあんまり情報が無いですね。 インターフェースですか。 変更されたかどうかと、それをリセットする事が出来るみたいですね。 まさにこれが欲しかった! .NET2.0スバラシイ! でも使い方が良く分からない・・・。 ちょっと、いろいろ実験してみます。
728 名前:718 mailto:sage [2007/06/15(金) 21:07:50 ] 駄目だ! 全然値が入らない。 そもそもインターフェースの使い方も良く分からなかった。 作ったデータクラスに、下記を書き込んで Public Interface IChangeTracking End Interface 下の変数でどうにかするんだろうけど、、サパーリネ Dim instance As IChangeTracking
729 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 21:28:11 ] >>718 すまん。 あんたPGの才能ないと思うわ。 たぶんデータが変更された後セーブされずにプログラムが終了されようとしてる時に そのまま終了するかセーブするかユーザーに確認したい、ということだと思うけど、 それなら、仮に厳密にやるとしてもセーブした時点のデータと プログラムが終了されようとした時点のデータを比較するだけじゃん。 普通はそこまでしなくても、例えば Private dataModified as Boolean = False みたいなフィールドを作っておいて、何か一つでも変更があったらこれをTrueにすれば 用は足りるんじゃないの? もちろんundoした場合の動作の厳密さが必要ならこういう手抜きはダメだけどね。
730 名前:718 mailto:sage [2007/06/15(金) 21:37:08 ] >>729 才能無くてサーセンwwwww それって、修正される可能性があるコントロール全てに イベントを作るって事ですか?
731 名前:デフォルトの名無しさん [2007/06/15(金) 22:17:30 ] >>730 そういう聞き方するってことはたぶんコントロール自体をデータの入れ物にするような設計、 つまり何かのタイミング(ファイルにセーブするとか?)で一度に全部のコントロールの プロパティをまとめて読むような設計なんだろうけど、普通はそもそも そういうプログラムの書き方しないと思うよ。
732 名前:718 mailto:sage [2007/06/15(金) 22:55:30 ] ガーン。 そうなんですか。 >>731 の書いてある通りに、登録ってしたらコントロールの内容をDBへ 一括に書き込もうとしているんですが、これってオカシイんですか。 (コントロール→データクラス→DB) それで、登録されずに閉じられようとした場合には、確認のメッセージを 出したいって感じですが・・・。
733 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 00:37:24 ] いや、検証はいつかしなくちゃいけないんだから、 ・コントロール全部にイベントつけて値が変わったら個別の検証コード走らす ・close, apply, ok等のアクションで全体の検証コード走らす のどっちかでしょ。 前者だったらclose,apply,ok等のアクションで判定するのは一つのフラグで済むけどイベントがたくさん 後者だったらイベントたくさんはいらないけどアクションで全体を検証しなくちゃいけない どっちでもいいと思うけど、コントロールが多いなら後者がいいんじゃないの?
734 名前:716 [2007/06/16(土) 01:43:54 ] どなたか分かりませんか?; ボタンのクリックイベントで Dim str as string str=Format("ABC","@,@,@") Msgbox(str) とだけやっても結果が@,@,@となりできませんでした・・・ 数字の場合だと Dim str as integer str=Format("123","00000") Msgbox(str) 00123となり大丈夫だったんですが、Stringになると・・。 開設サイトを見ても文字列の書式は Format("ABC","@@@@@") で結果が ABCとなると書いてあるのに私のプログラムですと@@@@@なってしまいます;
735 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 10:04:26 ] まあ何が間違ってるか、ってそれはきみの学習姿勢が間違ってるんだよ。煽り抜きで。 または致命的に頭が悪いか。 いずれにせよ、そのレベルのことを人に聞くのは恥ずかしいことだ、って意識がないとしたら PG向いてないよたぶん。
736 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 10:19:00 ] >>734 ここの下のほうを見ろ msdn2.microsoft.com/ja-jp/library/wb216dct (VS.80).aspx
737 名前:デフォルトの名無しさん mailto:age [2007/06/16(土) 16:41:37 ] >>735 ま た お ま え か 煽り抜きで言わせてもらうが頭大丈夫か? このスレで「PGとして〜」「仕事として〜」「才能が〜」「素質が〜」とか言って叩かれてるやつ全部お前だろ? お前はプログラマという職業が素質、才能のあるやつにしかできないものだと思っているみたいだが もはやPGが流れ作業員として溢れている現状を把握できていればそんな高貴なもんじゃないと分からんのかw そもそも、ここはVB.NET質問スレであって ここに来ているやつは初心者はもちろんの事、仕事外で趣味でやってるやつもいて当然なんだが そこを把握できてない点で頭でっかちなお前さんはPG向いてないよ? チームで組んだことがない孤独PGか、自分の発想しか受け付けないワンマン上司と見たな。 そんなハイクオリティなお前さんには つ「【才能(笑)】高貴なVB.NET質問スレ【才能(笑)】」
738 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 17:02:51 ] >>737 > このスレで「PGとして〜」「仕事として〜」「才能が〜」「素質が〜」とか言って叩かれてるやつ全部お前だろ? 俺も言ってるから、全部同一人物ではないよ。
739 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 17:05:57 ] 「VB.netの」質問をするレベル以前の質問があるのも事実
740 名前:737 mailto:sage [2007/06/16(土) 17:12:17 ] >>738 ちなみに俺も。
741 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 17:12:21 ] 「VB.netの」回答をするレベル以前の回答があるのも事実