1 名前:最凶VB厨房 mailto:sage [2006/08/11(金) 19:40:44 ] [前スレ]VB.NET質問スレ (Part16) pc8.2ch.net/test/read.cgi/tech/1149432480/
596 名前:デフォルトの名無しさん mailto:sage [2006/09/28(木) 19:15:50 ] 言語つーより、このツール自体ゴミですね。 なにこの操作性?まともな開発ツールじゃないよ? どこかの素人学生がつくったようなツールだ
597 名前:デフォルトの名無しさん mailto:sage [2006/09/28(木) 19:20:48 ] スレ違い
598 名前:デフォルトの名無しさん mailto:sage [2006/09/28(木) 19:21:56 ] いやVB.NETの事なのでスレ違いじゃないですよ
599 名前:596 mailto:sage [2006/09/28(木) 19:31:47 ] あ、開発ツールの話は、 Visual Studio 2005スレ Part16 pc8.2ch.net/test/read.cgi/tech/1159099219/ ですね^^ すいません。私の頭にウジが沸いているんです。許してください。
600 名前:デフォルトの名無しさん mailto:sage [2006/09/29(金) 03:11:25 ] vb.netで、DataGridのカラムヘッダーのソート方向を表す▲の色ってどのオブジェクトで変更できます? DataGridのBackgroundColorとHeaderBackColorを同じ色にしたら三角が見えなくなったので、 別の色に変更したいです。
601 名前:デフォルトの名無しさん [2006/09/29(金) 14:39:57 ] DataSetの中に、Tableがあるかないかを取得するには、どうしたらいいですか?
602 名前:601 [2006/09/29(金) 14:59:01 ] Dim tb1 As DataTable Dim str1 As String For Each tb1 In ds.Tables str1 = tb1.TableName If str1 = "Table1" Then MsgBox("Table1は、ないです。") Exit Sub Else MsgBox("Table1は、あるです。") End If Next tb1 ↑みたくしてみました。 もっと、うまい方法があるのかな?
603 名前:デフォルトの名無しさん [2006/09/29(金) 15:02:54 ] あ!↑あるとない逆でした///。
604 名前:デフォルトの名無しさん mailto:sage [2006/09/29(金) 15:16:11 ] >>601 つds.Tables.Contains(テーブル名) あと602のコードだけど実行したら ないです→ないです-(以下見つかるまでループ)→あるです ってブラクラみたくなると思うんだが
605 名前:デフォルトの名無しさん [2006/09/29(金) 15:22:08 ] そんなあるか無いか調べないと駄目っていう状態で作りたくないな。 質問者の設計が糞だと思う。
606 名前:600 mailto:sage [2006/09/29(金) 15:39:14 ] help me, please...
607 名前:デフォルトの名無しさん mailto:sage [2006/09/29(金) 16:21:30 ] >>606 自前で描画
608 名前:デフォルトの名無しさん [2006/09/29(金) 16:39:23 ] VB.NET始めて2ヶ月の初心者です 学習用のサンプルで CInt(x) と CType(x, integer) というのが出ていたのですが、これって同じ結果になるものですか? それとも状況によって使い分けたりするものなのでしょうか
609 名前:デフォルトの名無しさん mailto:sage [2006/09/29(金) 17:01:48 ] >>606 描画がいやなら、別の色組み合わせを検討してみよう。
610 名前:デフォルトの名無しさん mailto:sage [2006/09/29(金) 17:14:01 ] >>608 VB.NETのキャストは何種類かある CType(val, T)は汎用。ちなみに失敗するとInvalidCastExceptionが出る。 CIntとかCLngとかは6.0以前の遺産じゃないかな?まあ型指定の手間省けるけど。 これらも変換できないときはInvalidCastExceptionを投げる。 ちなみにTryCast(obj, T)だと失敗したときはNothingが返される。ただし参照型限定。
611 名前:デフォルトの名無しさん [2006/09/29(金) 17:38:09 ] >>604 Containsで、できました!嬉しいです。ありがとうございました。 ソースをコピペしたとき、なにげなしに、<> のとこを = に変更しちゃったので、 ブラクラになってしまいました。ホントは、Exit Subは下の段です。。 すみませんでした。。
612 名前:600 mailto:sage [2006/09/29(金) 17:40:25 ] >>607 >>609 サンクスです。 基本的に逃げ道は無いということですね…。
613 名前:デフォルトの名無しさん mailto:sage [2006/09/29(金) 20:18:33 ] >>610 System.Convertと言うのもあるな。
614 名前:デフォルトの名無しさん mailto:sage [2006/09/29(金) 22:45:52 ] 行き先の型が確定してるなら、DirectCastが良い。
615 名前:デフォルトの名無しさん mailto:sage [2006/09/29(金) 23:34:24 ] 質問スレと関係ねえけど、先進性を売りにしてるドトネト諸言語でも キャストと変換が峻別されてないのはどうにかならんかねと思う。
616 名前:デフォルトの名無しさん mailto:sage [2006/09/30(土) 03:32:23 ] >行き先の型が確定してるなら、DirectCastが良い。 おかしなことをゆうな。
617 名前:デフォルトの名無しさん mailto:sage [2006/09/30(土) 06:08:03 ] 元先って表現が正しかったかね。 あいまいさのない変換ならって意味。
618 名前:608 mailto:sage [2006/09/30(土) 09:07:27 ] >>610 ,613,614 回答ありがとうございます 色々試して使い分けられるように頑張ります
619 名前:デフォルトの名無しさん mailto:sage [2006/09/30(土) 14:37:58 ] 検索をしようと、ctrl+Fを押下したのですが、検索ボックスが表示されません。 昨日までは、表示されていたのですが・・・ どうしたら表示されるようになるでしょうか?
620 名前:619 mailto:sage [2006/09/30(土) 15:08:17 ] タスクバーをけしてみたら、画面の下の方に出ていました。 くそ質問ですみませんでした。
621 名前:デフォルトの名無しさん mailto:sage [2006/09/30(土) 17:29:14 ] >>620 IDEのツールボックスやウィンドウレイアウトは、オプションから初期 設定に戻すことができるよ。今回のが該当するのか不明だけど、同僚 がいっつもツールボックスを紛失するんで、俺も覚えてしまった。
622 名前:デフォルトの名無しさん mailto:sage [2006/09/30(土) 18:29:41 ] VB.NETで非同期イベントってどうやればいいんですか? C#だとこんな感じでできるのですが //delegate設定 public delegate void testDelegate( object sender, EventArgs e ); //イベント設定 public event testDelegate Tested; //非同期イベント発行 Tested.BeginInvoke(this, EventArgs.Empty, new AsyncCallback(TestedCallback), Tested); //コールバック関数 private void TestedCallback(IAsyncResult ar) { testDelegate callback = ar.AsyncState; callback.EndInvoke(ar); } VBだとTested.BeginInvoke()でエラーがでます。
623 名前:デフォルトの名無しさん mailto:sage [2006/09/30(土) 19:12:09 ] >>622 同じようにやればいいんじゃないの? VBでどう書いてどういうエラーが出たんだ?
624 名前:デフォルトの名無しさん mailto:sage [2006/09/30(土) 19:21:32 ] >>623 //delegate設定 Public Delegate Sub testDelegate(ByVal sender As Object, ByVal e As EventArgs) //イベント設定 Public Event Tested As testDelegate Tested.BeginInvoke()で「Testedはイベントであるため、 直接呼び出すことはできません。」のエラーがでる。
625 名前:デフォルトの名無しさん mailto:sage [2006/09/30(土) 19:47:06 ] Testedをイベントじゃなくて単なるデリゲートにしたら? イベントハンドラがいらないならイベントである必要はないんだけど。
626 名前:デフォルトの名無しさん mailto:sage [2006/09/30(土) 19:49:14 ] >>622 おま、そのC#のほうも、内容わかってないだろ。 内容をまず理解したほうがいい。そうすれば簡単にわかる話だ。 まずはそれからだ!
627 名前:デフォルトの名無しさん mailto:sage [2006/09/30(土) 20:06:24 ] てきとーに、イベントに関数を与えるのはAddressofでやるのでは?
628 名前:デフォルトの名無しさん mailto:sage [2006/09/30(土) 21:15:08 ] >>622 ああ、C#だとそういう風にイベントをデリゲートとして扱えるのか。。 VBだとたぶんそのコードを「直訳」することはできないね。 ばかばかしいことだけど、RaiseEventでイベントを生成するメソッド(OnTested) を、別のデリゲートで非同期呼び出しする必要がありそう。 この変はイベントを簡単に扱えるようにしているVB.NETの暗黒面かもしれん。 ちなみに、どうでもいいんだけどそういうの非同期イベントっていうのは 正式な用語法なのかな?
629 名前:デフォルトの名無しさん mailto:sage [2006/09/30(土) 21:25:09 ] >>628 > ちなみに、どうでもいいんだけどそういうの非同期イベントっていうのは > 正式な用語法なのかな? いんや。 つか 622 のコードはイベントをデリゲートとして扱えてしまう C# の暗黒面。 BeginInvoke はあくまで非同期デリゲートなんだから。
630 名前:デフォルトの名無しさん mailto:sage [2006/09/30(土) 21:31:14 ] >>629 それ君の倒錯だと思うけどね俺は。 実際問題、たとえば何らかのデバイスなりストリームなりを監視する ワーカースレッドから、UIスレッドに同期したイベントを生成したいって場合は 少なからずあるんだよ。 そういう場合はVBだと>>628 に書いたような非常にばかばかしいコードを書かなきゃならん。
631 名前:デフォルトの名無しさん mailto:sage [2006/09/30(土) 21:36:02 ] ちょっとC#勉強してくるノシ
632 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 04:17:33 ] てかよ、デリゲートの非同期呼び出しはマルチキャストできないんじゃなかったっけ? つまりそもそもイベント発火すんのにそんなもん使っちゃだめってことだろよ。 UIに同期したいなら面倒でもメソッドいっこかませりゃ済む話でそ?
633 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 12:26:44 ] >>632 どこにそんなこと書いてあるんだよw
634 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 15:04:35 ] マイクロソフト公式解説書「プログラミング Visual C# 2005 言語編」 にはっきりと書いてある。
635 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 15:18:13 ] 書いてあるわけねーw だってそんなの事実に反するからね だいいちデリゲートにとっちゃ自分のケツを誰が叩いているかなんて 全然関係のない話だろw
636 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 15:25:07 ] おまえ言ってること勘違いしてないか? デリゲートの非同期呼び出しはマルチキャストでは使えない(これは上記の本に書いてある)。 イベントはマルチキャストすることが普通にある。 よってイベントをデリゲートの非同期呼び出しで呼び出すのはまずい。 って言ってるんだが。 イベントの発火をデリゲートの非同期呼び出しでやったらまずいってのは 上記からの俺の見解だからlこれは書いてないけどな。
637 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 15:58:56 ] >>636 勘違いしてるのはたぶん君だと思うよ。 推測でしかないけど、たぶんEndInvoke使って返り値を取れるのは デリゲートが一番最後に呼び出したメソッドだけ、って話とどっかで 混同してるんじゃないの?
638 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 16:07:08 ] 人によって Control.BeginInvoke を言ってるのか Delegate.BeginInvoke を言ってるのか バラバラでグダグダになってるな。 非同期デリゲートなんだから Delegate.BeginInvoke の話のはずだが。 EventHandler handler = delegate { Console.WriteLine("a."); }; handler += delegate { Console.WriteLine("b."); }; IAsyncResult ia = handler.BeginInvoke(null, null, delegate(IAsyncResult ar) { handler.EndInvoke(ar); }, null); ia.AsyncWaitHandle.WaitOne(); > ハンドルされていない例外: System.ArgumentException: > デリゲートに指定するターゲットは 1 つでなければなりません。 匿名メソッドは楽じゃのう。
639 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 16:23:19 ] どうみても>>636 が正しいです。 本当にありがとうございました。
640 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 16:34:27 ] >>637 だから書籍に書いてあるってんのに何をどう勘違いするってんだ。 「BeginInvokeメソッドは、シングルキャストデリゲートに対してのみ使用できます」 って書いてあるっての。
641 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 16:37:08 ] ああ…つまりそういうことだw
642 名前:637 mailto:sage [2006/10/01(日) 17:35:49 ] なんか勘違いしてるのは俺の方だったみたいね。。 なんか恥ずかしいなw ってことは、結局非同期的にマルチキャストなイベントを起動しようと思ったら OnXXXを非同期的に呼び出さないとダメってことなのか? C#でもイベントに対してBeginInvokeなんて迂闊に使ったらまずいわけか。
643 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 19:05:36 ] んーたいていの場合、イベントソースの方が非同期で処理してるんだろうから、 そのままイベント投げればいいと思うんだけどな。 非同期でイベントを発火しなきゃならん状況があんまりうかばないんだが。
644 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 19:11:58 ] >>643 制御系とかでユーザ操作に関係なく発生するイベントとかは?
645 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 19:21:40 ] んーじゃなくてさ 非同期で発生するイベントはいろいろ考えられても、 イベントソースの方が非同期でイベントを発火することはあまりないんじゃ?てこと。 ※ソース側のスレッドからさらに非同期でイベントを発火するって話ね。 そりゃ制御系とか、その他、ソース側のワーカスレッドをブロックしては困る場合とかは あるだろうけど、そういうのは少ないんじゃ?ってこと(ないとは言ってない)
646 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 20:08:57 ] >>645 たとえばHWバッファが貧弱なために一定の時間間隔以下で必ずreadしてやらないと バッファがオーバーフローしてしまうようなデバイスをスレッドでバッファリングしているとして、 特定の値を受信した場合にそのスレッドからイベントを生成したいような場合。 ってちょっと強引な設定か。
647 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 20:37:37 ] うん、そういう場合は必要だけど、そういう場面はあんまりないんじゃ?ってだけね。
648 名前:デフォルトの名無しさん [2006/10/03(火) 03:11:24 ] System.IO.File.Copy("C:\Hoge.txt", "C:\Foo\Bar.txt", True) 上記の場合に、C:\Hoge.txtが存在しなかったら強制終了してしまうんですが ファイルが存在しない旨のメッセージを表示させたいときはどうすれば良いんでしょうか? VBです。
649 名前:648 [2006/10/03(火) 03:12:09 ] すみません。↑は誤爆です。 気にしないでください!!
650 名前:デフォルトの名無しさん mailto:sage [2006/10/03(火) 14:34:39 ] プログラム初心者で、簡単な質問かもしれないですがお願いします。 VB.NETの質問で申し訳ありませんが、イメージを貼り付ける時に ImageBox1.Image = Image.FromFile("gazou.gif") ImageBox2.Image = Image.FromFile("gazou.gif") ImageBox3.Image = Image.FromFile("gazou.gif") ImageBox4.Image = Image.FromFile("gazou.gif") ImageBox5.Image = Image.FromFile("gazou.gif") というプログラムを、IfやForを使ってもっと簡潔にまとめられないでしょうか? いろいろと試してみましたが、エラーばかりでうまくいかなくて…よろしくお願いします。
651 名前:デフォルトの名無しさん mailto:sage [2006/10/03(火) 14:50:08 ] >>650 for each
652 名前:デフォルトの名無しさん mailto:sage [2006/10/03(火) 14:55:30 ] >>650 homepage1.nifty.com/rucio/main/dotnet/shokyu/standard20.htm 上から下まで全部読んだら、方法がいくつかわかると思う。
653 名前:デフォルトの名無しさん mailto:sage [2006/10/03(火) 15:01:43 ] >>651-652 とりあえず紹介されたサイトのほうに目を通したいと思います 早い返答ありがとうございました
654 名前:デフォルトの名無しさん mailto:sage [2006/10/03(火) 17:25:00 ] >>652 650じゃないですが、ちょうど同じ内容を探してました 感謝です
655 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 06:46:51 ] ローカルネットワークのActive Directory上動くアプリを作っています。 そのアプリの認証にWindows認証を取り入れたいのですが、 どのように認証すればよいのでしょうか?
656 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 09:51:12 ] VB.Net2003 + .NetFrameWork1.1 で、ListVIewのListVIewItem(i).Textプロパティに改行文字を含んだ文字列を 指定したらTextのAlignがCenterになってしまいます。 しかも妙に左右に空白ができてしまいます。 Viewプロパティは smallicon にし、48x48pxlのアイコンを使用しています。 ┏━┓ abc ┃ ┃ あいうえお ┗━┛ 123456 これを ┏━┓abc ┃ ┃あいうえお ┗━┛123456 このように表示したいのです。 イメージとしては、windows(XP以降)のFileExplore右側リストビューにて 「並べて表示」した時の感じです。 ListViewにはTextAlignプロパティは無いし、Alignmentプロパティは アイコンの並び方を変えるだけでした。 どのような方法で実現できるでしょうか? また、Textプロパティの1行目のフォント色は黒で、2行目以降はグレーで表示したいのですが どのようにすれば実現可能でしょうか? そもそも、WindowsのFileExploreのListViewは.NetFrameWorkのListViewとは 異なるものなのでしょうか?
657 名前:デフォルトの名無しさん [2006/10/04(水) 14:12:27 ] 同じ型の構造体をコピーする方法を教えてください
658 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 14:15:16 ] コピーしたい構造体を反転選択、 Ctrl-c
659 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 14:16:24 ] A4白黒あたりで良ければ、 コンビニで10円
660 名前:デフォルトの名無しさん [2006/10/04(水) 14:21:10 ] うっ、この時間って馬鹿しかいなかったか・・・
661 名前:デフォルトの名無しさん [2006/10/04(水) 14:24:04 ] 質問の仕方も知らない馬鹿をからかっているだけだと思われ。
662 名前:デフォルトの名無しさん [2006/10/04(水) 14:30:51 ] 答えれないと煽るか誤魔化す馬鹿しかいない時間帯だってわかってるよ
663 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 14:34:49 ] >>660 その通り。 この時間、回答者も質問者も馬鹿しかいない。
664 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 14:37:21 ] >>663 違うだろ。 馬鹿な質問者にはそれなりの馬鹿しかレスしねえだけだ。
665 名前:656 mailto:sage [2006/10/04(水) 15:10:25 ] 事故解決です。 どーやら.NetFrameWork2.0のListViewコントロールには View.Tilingというビューモードが追加になってるみたいですね。 やりたかったことはそれなので、2.0導入するまでちょっと我慢します。
666 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 15:17:25 ] >>664 だからお前がレスしてるのね
667 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 15:20:29 ] >>666 ようこそ。
668 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 15:37:15 ] >>657 Struct1 struct1 = struct2;
669 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 15:39:31 ] まあおまいら、またーりするんだ。 ttp://up2.viploader.net/pic/src/viploader320467.jpg
670 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 18:50:41 ] 次はオシッコして感電死するショット?w >>665 俺自身は自分でやったことないのにえらそうに言うけど、 たぶんListViewのOnPaintをオーバライドすれば1.1でもできるんじゃない? GetItemRectなんてメソッドを使えば、テキストの部分だけのRectangleが取得できるから 先にベースクラスのOnPaint呼んどいてテキストの部分だけ自分で上書きしてしまえばいい。
671 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 18:52:35 ] プロセスIDからそのプロセスのファイル名をフルパスで得る方法ってありませんか。 VB2005です。
672 名前:656 mailto:sage [2006/10/04(水) 19:51:25 ] >670 さんくす。 オーバーライドやGetItemRectなんて具体的なやりかたが全然想像つかないので ちょっと調べてきます ノシ
673 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 20:09:07 ] >>656 2003でもいいけどさ、 .NetFrameWorkは2.0にできないの? まったく別物で上位互換でもないしさぁ
674 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 20:19:39 ] >>670 そりゃ無理だろ。やるならAPI使ってオーナードロー。
675 名前:656 mailto:sage [2006/10/04(水) 20:22:33 ] >>673 1.1で開発してるシステムが完成してから2.0にしようかと。 開発途中で2.0にしてしまうと作成途中のソースに あちこち手を入れることになんね?
676 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 20:27:06 ] >>674 あんたVB6な人だろ .NETは違うんだよw
677 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 20:35:13 ] >>676 OnPaintでどのアイテムを描画するかどうやって判断するの?
678 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 20:40:41 ] >>675 手入れが必要なら、さっさと乗り換えたほうが良くない? たとえばオーバーライドやGetItemRectをつかってまで1.1でつくりあげて、 それから2.0にする意味は? 一刻も早く2.0にして、もっとスマートな仕様で作っていくべきと思うけど。 他の様々な部分でも改善の余地があるなら早いほうがいいと思うし。
679 名前:670 mailto:sage [2006/10/04(水) 20:41:52 ] >>672 継承知らないとなると前途多難かもしれんねw 既存のコントロールを継承して独自の機能を実装する方法はここにやさしい解説があるよ pclabo.org/vb_net/14/main.htm あと、オーナードロー(OnPaintを乗っ取って自分で描画しちゃう)については、 たしか「どぼん」にコンボボックスをイメージコンボに改造するサンプルがあったと思う
680 名前:670 mailto:sage [2006/10/04(水) 20:43:18 ] >>678 俺もそうだけど、たとえば中小企業でチマチマコード書いてる身分だとそうもいかんでしょ。
681 名前:656 mailto:sage [2006/10/04(水) 21:07:52 ] >>678 いま2.0を入れずに頑張って1.1で手間ヒマかけてやるつもりはないです。 大変そうならとっととあきらめて余裕のできたときに2.0に移行していきます。 >>680 ウチの会社は作ったシステムを運用する人はイパーイいるけど、 開発する人間はオレともう一人だけなんだよね。 でも、今作ってるシステムは全くオレ一人でやってる。 だから完成間近のシステムを今の段階で2.0とかに対応していくことは とても厳しい。 ユーザにはもうすぐリリースできそうってアナウンスしてあるしw >>679 ありがとう。 継承とかは気になっていたんだけど、まだ必要になってなかったので 勉強できてません。 教えてもらったサイトを参考に勉強してみます。
682 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 22:25:05 ] >>671 Process クラスと ProcessModule クラス使えば用は足りるだろう。
683 名前:デフォルトの名無しさん mailto:sage [2006/10/05(木) 00:59:42 ] Function関数を使って、 グローバル変数のようにモジュール内のどの関数内からでも呼び出せて、 同様に(変数をValueとすると) Value = 3 Value += 4 Dim rr As Integer rr = Value + 5 といった感じで使いたいのですが…… 色々と試してみたのですが、さっぱり上手くいきません。 初歩的な質問なら申し訳ございませんが、よろしくお願いします。 質問が下手ならすみません。
684 名前:デフォルトの名無しさん mailto:sage [2006/10/05(木) 01:07:23 ] もうちょっと具体的に書いてくれる?
685 名前:デフォルトの名無しさん mailto:sage [2006/10/05(木) 01:17:25 ] >>684 Function Total(ByVal tt As Decimal) As Decimal Static rr As Decimal = 50 rr -= tt Return rr End Function 上のようなプログラムを使おうとすると、 Total(x) と表記するだけで返り値を増やす事は出来るんですが その値の初期化が出来なくて困っています。 どうにかして別の関数内からも望む時に値を初期化ないし変数rrに直接代入できないでしょうか?
686 名前:デフォルトの名無しさん mailto:sage [2006/10/05(木) 01:18:58 ] >>685 すみません、上記のプログラムでは返り値を増やす事ではなく減らす事は出来る……です。 説明が下手ですみません。
687 名前:デフォルトの名無しさん mailto:sage [2006/10/05(木) 01:28:32 ] 値を設定するメソッドも用意しとけば良いだけじゃん つかまあ見事な非 OOP だな
688 名前:デフォルトの名無しさん mailto:sage [2006/10/05(木) 01:34:06 ] Staticについてちょっと勉強不足かも……ちょっと調べて試してみます こんな夜にわざわざありがとうございました
689 名前:デフォルトの名無しさん mailto:sage [2006/10/05(木) 01:44:09 ] >>687 普通に解決しました……すみません、プログラムの考えってすごく苦手で…… すごく助かりました、本当にありがとうございます。
690 名前:デフォルトの名無しさん [2006/10/05(木) 23:17:58 ] VBほぼ初心者で、VB6.0でほぼ完成のソースもらったんですけど、 2005しかなくて、勝手に変換されて泣きそうです。 で、質問です。 1.2005のままどうにかならないのか? このまま1個1個エラー潰していくしかないのか? 2.フリーのVB6.0が動く開発環境ってありますかね? 2003とか。 明らかにウザイ質問と自分でもわかっているので、罵倒する感じでお願いします。
691 名前:デフォルトの名無しさん mailto:sage [2006/10/05(木) 23:30:41 ] >>690 1、自力でごりごりコンバートしたほうが、後々役に立つと思われる。 2、6.0のフリー環境はさすがに無いかと。 5.0のControl Creation Editionで解釈できるコードなら、そっちで 動かせるかもしれない。2003と互換性のあるSharpDevelopにいく という手もあるけれど、それなら2005にしたほうが大吉。
692 名前:デフォルトの名無しさん mailto:sage [2006/10/05(木) 23:38:58 ] >>691 即レスサンクスです。 結局自分でガンガルのが最短路ってことですね。 どーもです。 頑張ります。
693 名前:デフォルトの名無しさん mailto:sage [2006/10/05(木) 23:43:41 ] >>690 何度も何度も何度も既出
694 名前:デフォルトの名無しさん mailto:sage [2006/10/06(金) 00:16:02 ] 既出厨乙
695 名前:デフォルトの名無しさん mailto:sage [2006/10/06(金) 01:27:43 ] 最近始めたばかりの初心者で、環境は2003を使っています。 >>650 のような感じで、例えば Dim x As Integer Private Sub ABC1() x = 1 End Sub Private Sub ABC2() x = 2 End Sub Private Sub ABC3() x = 3 End Sub 上のようなプログラムの Private Sub ABC1()〜ABC3() をもっと簡潔に表記する事はできませんか?
696 名前:デフォルトの名無しさん mailto:sage [2006/10/06(金) 01:37:40 ] private void ABC( int arg ) { x = arg; }