1 名前:デフォルトの名無しさん [2007/04/23(月) 12:42:36 ] 前スレ VB.NET質問スレ (Part20) pc11.2ch.net/test/read.cgi/tech/1173061176/ テンプレは2〜10くらいまでの間にある予定
175 名前:144 mailto:sage [2007/05/14(月) 14:08:12 ] そうですね、すみません・・
176 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 14:58:34 ] フォームに60個のピクチャーボックス?? それをコードで書く気なの?すごい…。そんなプログラム組みたくない…。 まあ、するのなら同じ図形で色だけ違う画像ファイルを1セットにするか、 コードで書いてbrushesを変えて色を変えるかだろうけど。色をランダムに 変えていいのなら、コードの方がいいかもな。 フォームに動きを加えるのはいいことだと思うけど、一体どんなプログラムで どんな人を対象に作ってるのか差し支えなければ教えてよ。
177 名前:デフォルトの名無しさん [2007/05/14(月) 15:28:18 ] まぁあ60個を同じ処理にするってのならハンドラちょこっといじればいけるだろうけど 出来れば想定する最低環境も知りたいところであったりもする つうか・・・勉強の為に60個のピクチャボックスフォームにのっけて画像表示させてみるってのテストしてみようw メモリは画像の大きさにもよるだろうけどさ・・・・
178 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 15:54:36 ] >>176-177 やはり珍しいケースなんですね 私自身もVB初心者だしどうなるか・・。 処理に関しては仮に作ったプログラムで確認したんですが Graphicsで図形作ったコードですと色買えなどの処理は関数を作ってやってあとは各々で読み出すだけで簡単にできました ただ処理以前に座標で指定する多角形を60個作るとなると位置調整で頭が痛くなりそうです・・。 画像の場合はまだよく分からないので未知数ですが とりあえず処理速度にしろ、作成方法にしろ色々教えていただいたことを試してみたいと思います。
179 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 16:02:07 ] >>178 > ただ処理以前に座標で指定する多角形を60個作るとなると位置調整で頭が痛くなりそうです・・。 前々から思っているんだが、ここがおかしいだろ。 一体何の調整がいるって言うんだ。
180 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 16:03:31 ] ちなみに一般的に有効にプログラミングをするとした場合 この例ですと Graphicsで画像を描写する方法と、画像を読み込んで表示させるのはどちらが効率的だと判断できるんでしょうか?
181 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 16:05:37 ] >>179 多角形が一つ一つ形が違うのでその形を形取るための多角形の頂点の座標の調整と それをフォームのどのあたりに表示させるかの座標の調整の二つです。
182 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 16:16:05 ] >>180 有効にって言葉も幅外広いからなぁ・・・ 何かを取れば何かを失う部分もあるし 画像でやれば画像作るのはめんどくさいけど 後々変更してくれとか言われた時にコーディング量は減るし(考え方によればコーディングすらも必要ない 画像の追加・変更だけでよい) 自分で書けば融通の利く処理が出来るがその分修正にソフトの書き替えが必要だし 俺なら 表示させるサイズが固定であればこの場合、画像を選ぶ 完全に動的サイズになるなら自分で書く かな?
183 名前:144 mailto:sage [2007/05/14(月) 16:23:14 ] >>182 なるほど・・・ だとしたら図形は色は変わりますがサイズは固定なので画像の方がいいかもしれませんね そもそもモニタ自体のサイズがまだ未定だったのでそこから決定していかないと画面座標でやってたらずれてしまいますね; 参考にさせていただきます、ありがとうございました。
184 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 16:25:53 ] >>183 あれだ、画像だけPNGとかで読み込んで背景色はバックグラウンドカラーという手もあるっちゃぁ・・あるとおもうんだ
185 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 16:28:03 ] 図形はベクタデータで持っとけば色変えたり拡大したりするのも簡単なんじゃねえの?
186 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 16:32:30 ] >>185 俺もそう思う けど、どうも質問者的に難しそうなので俺は簡単な実装方法を提案してみたさww
187 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 16:34:54 ] モニタの解像度依存でずれるとか言ってるし…… もうね……
188 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 16:39:44 ] ラベルに[m2]って書いて2の部分を上付けに指数表示にしたいんですがどうやればいいんすか?
189 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 16:40:43 ] >>150 がプログラマとしては致命的なのは分かったからすっこんでろ^^
190 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 16:42:46 ] いまさらそんな遠距離レスつけなくても^^
191 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 16:44:23 ] >>188 m² ㎡
192 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 16:56:43 ] >>190 に言ってるんだよ^^
193 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 17:10:17 ] 俺じゃねえよ^^
194 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 17:11:57 ] ばかまるだしだ・・・
195 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 17:12:06 ] そうやって書いたら[msup2;]っラベルのテキストに表示されるんですが…
196 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 17:15:18 ] それは書き方が悪いんだろ
197 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 17:20:18 ] >>193 墓穴掘らなくていいよ
198 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 17:22:43 ] ちゃんと>>191 のとおりにかいたよー
199 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 17:24:32 ] >>195 専ブラとかのコピペしてたら超笑えるwwwww へいほーめーとる で変換してラベルに入力しろや
200 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 17:27:52 ] へいほうめーとるで変換できるんかいー!うまくできたわみんなありがつ
201 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 17:32:50 ] い・・・一体なんだったんだ・・・・(;´∀`)
202 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 18:11:01 ] 2つのビットマップ(実際の画像と、モノクロのマスクパターン)を用意して透過処理を したいんですけど、VB.NETでどう実現するのやらさっぱりで。 VC++6.0とかで BitBlt 関数使って描画するのとかはやったことありますのでその程度の 知識ならあります。誰かヒントとなるリンクだけでもいいですから教えてください。 できれば VS2003、.NET Framework1.1 の環境下で動くのでお願いします。
203 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 18:17:26 ] Graphicsでアルファブレンド っつうのはどうっすか?
204 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 18:35:03 ] >>202 GDI+はPNGをサポートしてる。 ここまで言えばわかるよね?
205 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 18:36:46 ] ああでも遅いから速度が必要なら自分でBitBltでマスク処理した方がいいかもね。
206 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 18:38:21 ] もひとつ忘れた。 別にPNG使わなくても、GDI+には透過色を指定する機能もある。 まあしかし、自分でこれだけ答えておいてなんだけど、 少しはMSDNライブラリ読めよ。
207 名前:202 mailto:sage [2007/05/14(月) 18:52:36 ] >>203-206 レスありがとうございます。 とりあえずマスクパターンを使うのじゃないですけど、MakeTransparent ってので 透明とする色を指定することで対応はできました。 マスクはどうやんのかまださっぱりですけど。 MSDNは・・・読んでみたんですけど、どこに必要な情報があるのかすらたどり着かなくて。 申し訳ございません。 もう開発から設計に移って5年ぐらい経つんですが、 「過去に似た様な処理をVC++で作ったことがあるから」って理由で借り出されたものでして。 オジサンもう疲れたよ・・・orz
208 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 19:01:53 ] >>207 ご苦労様w マスク処理は.NETネイティブの機能だけでやるのはきついと思う。 描画サーフィスをビットマップに転送する機能がGDI+にはないからね。 つまりWin32のBitBltつかって昔ながらの方法でやるしかない。
209 名前:202 mailto:sage [2007/05/14(月) 19:11:06 ] >>208 >つまりWin32のBitBltつかって昔ながらの方法でやるしかない。 そうですか。その情報だけでもありがたいです。ありがとうございます。 最近の小僧どもはゆとり教育のせいか、開発言語が複雑になりすぎたせいかで すぐに諦めて「できません」とかほざくもので・・・すみません、愚痴ですね。 今から自分の仕事やりますw
210 名前:デフォルトの名無しさん [2007/05/14(月) 19:18:28 ] >>209 みると俺の環境は恵まれてるんだなぁ・・・と痛感する
211 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:42:55 ] できませんはただの報告だからいいんじゃないの? やりたくありませんと言ったら鉄拳制裁ものだが。
212 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 09:51:44 ] >>211 出来るはずのものをできませんとかねーよ >>209 の例だと調べりゃこのスレでもでてた即いくつかの方法や代替案がでてくるだろう どれだけレベル低いんだよ 低いなら調べたなりに出来ない根拠や別の案があるけど、多分あの様子だとないんだろうな・・・
213 名前:デフォルトの名無しさん [2007/05/15(火) 10:41:50 ] Delphi製の、Pchar型の文字列を渡すとPchar型の文字列が返ってくるDLLを使いたいと思い、 DLLを使う方法までは調べたのですが、データ型としてPcharが使えません。 VB2005から、Pchar型を使うDLLを使用する方法は無いでしょうか?
214 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 17:07:25 ] PCharいうたら短い文字列へのポインタだったか? Charset=Charset.ANSIを指定してDllImportすりゃいい。 型はStringBuilderだ。
215 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 17:15:54 ] 渡す方はStringで、受けとるほうがStringBuilderだな。 一つの引数で上書きされるなら、StringBuilderか。
216 名前:213 mailto:sage [2007/05/15(火) 18:35:56 ] >>214-215 ありがとうございます! 教えていただいた単語を手掛かりに頑張ってみます。
217 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 16:06:05 ] インターフェースなんですが、Implementsを書いたあとにIntelliSense見たいに 実装を挿入することって出来ないのでしょうか? 実装しないでビルドするとエラーの説明で、実装すべきメソッドが表示されるので あっても良さそうなんですが。。。
218 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 16:14:19 ] 質問です。 ローカル上のIPアドレスからホスト名を取得しようとしています。 2.0だとDns.GetHostEntryを使うようにとあったので x = System.Net.Dns.GetHostEntry("**.**.**.**").HostName このようにしていました。 Win2k上では正常にホスト名を取得していたのですが、XP上ではIPアドレスしか取得できません。 Resolveを使うと取得できたのですが、旧形式だと警告されてしまいます。 他に取得する方法はないでしょうか? よろしくお願いします。
219 名前:デフォルトの名無しさん [2007/05/16(水) 18:02:39 ] VB2005でアプリ作りました。で、匿名で公開したいんですけど、 これどこかにコンピュータネームやWindowsのユーザーネームが埋め込まれてるってことはないですよね? わけわからずにClickOne使った時、勝手に上記が埋め込まれてたのでビクビクしています。 リソースハッカーでみた限りはないようなのですが。
220 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 18:02:42 ] >>217 できるよ 例えば 新しいクラスで implements idisposable○ ここでEnter押したらそのクラスの一番下に入ってないか?
221 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 18:03:35 ] >>218 新形式使えれ
222 名前:217 mailto:sage [2007/05/16(水) 18:52:59 ] >>220 ありがとうござます。 もう少しでスニペットで一個一個作るところでした。
223 名前:デフォルトの名無しさん [2007/05/16(水) 20:14:55 ] ファイルを解凍するときに 既にUNLAH32.DLLは動作中ですってエラーがでるのだけど UNLAH32.DLLを終了処理するには、どう記述したらいいですか?
224 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 20:32:39 ] うまく表現できないんだけど、必ず Public X as Single Public Y as Single の二つのフィールドを持つ値型、みたいな型の指定ってできないかな? もちろんインターフェイスを使えば近いことは可能なんだけど、 構造体の配列をストリーミング的に渡すような使い方をしたいので パフォーマンス的な理由でなるべくならインターフェイスは使いたくない。 こういう場合、やっぱり特定の型の構造体の配列をベタに引数に取るようにするしかないのかな。
225 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 20:33:25 ] 実行中のプロセスがあるからじゃないのか? プロセスみてみてKillすれば? つうか、動作中です って出てるのを終わらせるのは・・・あんまお勧めしないが? まぁどういうソフト組んでるかにもよるし・・・ 自分で1回UNLAH32.DLLをつかって解凍したあとの動作なのかな? もしそうじゃないとすれば、UNLAH32.DLLを使うようなソフトは? WindowをSafeモードで起動して 自分のソフトで解凍しようとしてもそうなるの?
226 名前:デフォルトの名無しさん [2007/05/16(水) 20:36:26 ] >>224 構造体でいいと思うんだけど・・・ 少なくとも俺はそうしてる C++なら別のやり方もあるけど・・・ そこまでパフォーマンスを気にするなら何か他のところで余裕で稼げそうな気がする
227 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 20:40:40 ] >>225 自分で1回UNLAH32.DLLをつかって解凍したあとの動作です。 開放処理する必要があるのでしょうか? その場合どう記述したらよいのか・・・
228 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 20:45:53 ] >>227 ということはアンマネージリソースが開放されてないんじゃないかと予想してみる 多分解凍が終わったら引数が帰ってくると思うんだけど・・・・ それがちゃんと出来てるなら MarshalクラスつかってComObjectかどうか調べて ReleaseComObject でキチンと開放してやってみてはどう?
229 名前:228 mailto:sage [2007/05/16(水) 20:48:06 ] ごめん、書き忘れ そういえば UnlhaGetrunning みたいな現在実行中かどうか調べる関数なかったっけ? 実際にやってる処理差し支えなければ書いてみれば きっと皆こたえてくれるような気がするけどw
230 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 21:02:33 ] >>229 'LHA書庫操作を行う Private Declare Function Unlha Lib "Unlha32" (ByVal hWnd As Integer, ByVal szCmdLine As String, ByVal szOutPut As String, ByVal dwsize As Integer) As Integer 'ファイルのダウンロード Internet.DownloadFile(URL1, FileName1) '書庫の解凍 Dim UnlhaLzhFile As String '書庫ファイル名 Dim UnlhaDir As String 'ファイルのパス Dim UnlhaFiles As String'ファイル(ワイルドカード指定可) Dim UnlhaSwitch As String '書庫操作命令 Dim UnlhaOptions As String '書庫操作スイッチ Dim UnlhaCommandString As String'Unlhaのコマンド Dim UnlhaRetunValue As Integer '書庫操作の結果戻り値 '各種パラメータの設定 UnlhaLzhFile = My.Settings.FilePath01 '"C:\お気に入り.lzh" UnlhaDir = "C:\Documents and Settings\My Documents\My eBooks\My eBooks\" UnlhaFiles = "" UnlhaSwitch = "x" UnlhaOptions = "" 'ファイル名の前後にダブルコーテーションを付加 UnlhaLzhFile = """" & UnlhaLzhFile & """" UnlhaFiles = """" & UnlhaFiles & """" UnlhaDir = """" & UnlhaDir & """" '各種パラメータの値を元にコマンドを作成 UnlhaCommandString = UnlhaSwitch & " " & UnlhaOptions & " " & UnlhaLzhFile & " " & UnlhaDir & " " & UnlhaFiles & " " UnlhaRetunValue = Unlha(0, UnlhaCommandString, Nothing, 0) '書庫操作を行う 解凍
231 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 21:27:21 ] >>226 やっぱりそれしかないのかな。。 値型用の(ボックス化されない)インターフェイスみたいなものがあっても いいように思うんだけど。
232 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 21:29:07 ] FreeLibrary()
233 名前:デフォルトの名無しさん [2007/05/16(水) 21:34:29 ] >>230 とりあえずウチの環境でVer2.55のDllつかって パスだけ変えて動かしたらちゃんと動いてるよ ソフトの中で同じ処理3回呼んだけど 問題なかった なにか止まっているとかじゃないかな? >>231 の呼んで開放してやるといいかも
234 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 23:00:57 ] 初歩的な質問ですがお願いします 参照設定で X を指定する これはソリューションエクスプローラの参照設定からX追加という作業でよろしいんでしょうか? これは何を意味しているのでしょうか?
235 名前:デフォルトの名無しさん [2007/05/16(水) 23:51:44 ] >>234 それでいいよ 意味するところは ある機能に特化した機能の塊を使えるようにする為 ざっくり言えば Formやボタンなんかが使えるのは使いやすいように最初から System.Windows.Form っていうクラスを参照している感じ
236 名前:デフォルトの名無しさん mailto:sage [2007/05/17(木) 00:06:41 ] >>235 わかりやすい説明でありがとうございます
237 名前:デフォルトの名無しさん mailto:sage [2007/05/17(木) 00:16:28 ] いやそれで納得しちゃダメだってw >>235 はImports文によって名前空間の「パスを通す」ことと プロジェクトのアセンブリの参照設定を混同してる。 234が言ってるのは前者。235が言ってるのは後者
238 名前:デフォルトの名無しさん mailto:sage [2007/05/17(木) 00:17:26 ] すまん前者と後者が逆だな
239 名前:デフォルトの名無しさん mailto:sage [2007/05/17(木) 00:26:18 ] msdn2.microsoft.com/ja-jp/library/h9st4tss (VS.80).aspx
240 名前:デフォルトの名無しさん mailto:sage [2007/05/17(木) 00:28:53 ] コピペ君って馬鹿だな、まで読んだ。
241 名前:デフォルトの名無しさん [2007/05/17(木) 00:42:08 ] つうか 普通にラベルとテキストボックス30個くらい貼り付けたフォーム開いたら 奇麗に表示されないんだけどどうなのよ VB6で同じことやったら普通に開くのになぜドトネトのほうが遅いんだ?????
242 名前:デフォルトの名無しさん mailto:sage [2007/05/17(木) 00:44:46 ] WindowsFormsはそんなもん
243 名前:デフォルトの名無しさん mailto:sage [2007/05/17(木) 00:47:42 ] マジで??? Javaも大概重いと思ってたけどそれに同じくらい重いのな(´ヘ`;) P4 2.4Gでそれなりに重いからWin2000とかの昔のに入れたらもっと重い感じがするってことなのか…・ orz
244 名前:デフォルトの名無しさん mailto:sage [2007/05/17(木) 01:04:34 ] ハリボテの表示が遅いだけで処理は遅くないぞ
245 名前:デフォルトの名無しさん [2007/05/17(木) 01:15:43 ] >>244 UIの描画とかが遅いだけってことなのか ちょっと安心したよ あの調子で全体遅かったらつかえねー とか思ってたんで フレームワークがJAVAみたいな資産に足引っ張られてgdgdにならないことを祈りつつ頑張って勉強してみるよ
246 名前:デフォルトの名無しさん mailto:sage [2007/05/17(木) 01:22:53 ] まあどうせ WinForm は WPF にまるごと置き換え予定だしな 少なくともあと5年ぐらいは掛かるだろうけど
247 名前:デフォルトの名無しさん [2007/05/17(木) 01:23:58 ] 初心者なんですけど コンパイルするときに "cl ファイル名"でやると、 「"cl"は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチファイルとして認識されていません。」 ってでるんだけど"cl"じゃ駄目なの??
248 名前:デフォルトの名無しさん mailto:sage [2007/05/17(木) 01:33:08 ] ここはVB.NETのスレですが・・・
249 名前:デフォルトの名無しさん mailto:sage [2007/05/17(木) 07:55:59 ] vbc hoge.vb で幸せになれると思うよ。vjcでさらに・・・
250 名前:デフォルトの名無しさん [2007/05/17(木) 11:20:04 ] ttp://msdn.microsoft.com/library/en-us/shellcc/platform/shell/programmersguide/shell_adv/bands.asp?frame=true#desk_bands このタスクバーにアプリケーションを乗せたいんだけど、やり方がさっぱりなんだ。 どこから手を付けたらいいか教えてください。
251 名前:デフォルトの名無しさん mailto:sage [2007/05/17(木) 11:57:01 ] 「幸せになれる」って言葉使うヤツきもい
252 名前:デフォルトの名無しさん mailto:sage [2007/05/17(木) 12:02:58 ] >>250 アプリケーションを乗せるってのはグーグルツールバーみたいなアドインのこと??
253 名前:250 [2007/05/17(木) 12:11:03 ] >>252 Google Deskbarにみたいにです。 タスクバー右クリック->ツールバーで選択できるようにしたいのです。 機能は検索するとかそういうのを作りたいわけじゃないんですが、 まだタスクバーに作ったアプリを起動させることができないので。
254 名前:250 mailto:sage [2007/05/17(木) 12:18:13 ] DeskBandと言うらしいのですけど、そこからがわからない。
255 名前:デフォルトの名無しさん mailto:sage [2007/05/17(木) 12:32:46 ] どっちかというとosの仕様に関する知識になるのかねえ。 こういう資料ってどこにあるんだろう。
256 名前:デフォルトの名無しさん mailto:sage [2007/05/17(木) 13:15:31 ] >>250 BandObjectでぐぐれ
257 名前:デフォルトの名無しさん mailto:sage [2007/05/17(木) 13:17:31 ] QTTabBarがやってるな。C#製らしいけど。 ってみてみたら>>256 を使ってるみたい
258 名前:デフォルトの名無しさん [2007/05/17(木) 15:45:47 ] BandObjectってC#なのか?VBじゃ使えんの?
259 名前:デフォルトの名無しさん mailto:sage [2007/05/17(木) 15:47:35 ] 使えるだろ・・・・
260 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 00:01:57 ] ビルドでbinフォルダにEXE作るとして 他のフォルダのdllを読込む時、 binの中に勝手にdllがコピーされるので、 binのdllを削除したら 「依存関係の 1 つが読み込めませんでした」 というエラーになりました。 この状態でもdllの参照が可能になるには どうすれば良いでしょうか?
261 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 00:06:56 ] >>260 ドットネットフレームワークのDLLがどう登録されてるんだろうな? ほかのDLLはどこに登録されてるんだろうな? でも、基本的にそっちのが俺はいいと思うんだが…
262 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 00:11:29 ] なんでこう DLL を嫌がるんだろうね
263 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 00:13:23 ] >>260-261 日本語書けよ。 エスパー同士の会話か?w
264 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 03:42:50 ] >>260 無闇には勧めないがGACに登録。
265 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 04:15:46 ] 無闇じゃなくても薦めるなそんなの。
266 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 20:25:46 ] 初心者でまだテストコードも書いてないんですが、方針を教えてください Class A Inherits Base Function b() as string ・・・・ End Function End Class Class Base Function a() as string return b End function Function b() as string ・・・・ End Function End Class となっているときに、継承クラスであるAの関数aを呼び出したとき aはベースクラスbase.bを呼び出しますよね? このとき継承クラスAがオーバーライドした関数bを呼び出させる 方法はありますか? よろしくお願いします。
267 名前:266 mailto:sage [2007/05/19(土) 20:31:13 ] 追記 Base.a()は非常に複雑だけど一部だけ変更可能にしないと機能しない関数です。 そこでその部分を関数bで処理します。 ただし、Baseクラスの関数bにもベーシックな処理を記述しておきたいのです。 よろしくお願いします。 言語の基本仕様にないとしたらデザインパターンを使うのでしょうか? そのパターンの名前とか教えていただけるとありがたいです。
268 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 20:37:45 ] 普通にbを仮想関数にすりゃいいんでないの?
269 名前:266 mailto:sage [2007/05/19(土) 20:47:17 ] >>268 仮想関数ですね・・・調べてみます! とっかかりがわかんなくてデリゲートとかわけのわかんないのを調べてました。 base.bの宣言をOverridableにせよということですね? ありがとうございました!!!
270 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 21:06:35 ] >>266 あのさあ、学べば分かることを学びもせず、 試せばわかることを試しもせず、そんな態度じゃどうにもならんと思うぞ。 あと余計なお世話かもしれないが、268には君が質問したいと思っていることが 恐らく伝わってないと思われる。 そしてそれは268の読解力のせいというより、お前さんの文章の表現が酷すぎるからだと思う。 まあ俺自身も君の質問の意図を勘違いしている可能性は大いにあるが、一応質問に回答するけど オーバーライドされたメソッドというのは、たとえその呼び出しがベースクラスに 記述してあるとしても、元のベースクラスのメソッドではなく、オーバーライドされた方の メソッドが呼び出されるんだよ。 MeとMyClassとMybaseの違いとか、あとShadowsとかの意味を調べた方がよさそうだね。
271 名前:268 mailto:sage [2007/05/19(土) 21:11:27 ] ん?外してたか? よくわかんね
272 名前:266 mailto:sage [2007/05/19(土) 23:18:20 ] >>270 ああ!そうなんですか。 勘違いしてました。 確かにこれからテストコード書くんですが、そもそもどういう仕組みになるのか 考えていたもので、ありがとうございました。
273 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 07:36:18 ] ActiveReportを使って、ユーザーが任意の列数を選択し、印刷プレビューに表示させる という内容のプログラムを作成中なのですが 列数が10を超えた場合、次のページに残りの列を表示、というのは可能なのでしょうか。 ActiveReport、もしくなそれに似たようなものを使った経験のある方、よろしくお願いします。 ※ActiveReportの設計は私ではなく別の人が行っております。列を格納する部分は10個になっていました。
274 名前:デフォルトの名無しさん [2007/05/20(日) 12:22:05 ] >>273 ActiveReportsについてるサンプルくらい見ろ あとメソッドやプロパティ一覧も 余裕で出来るということが載ってる
275 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 12:26:33 ] またプチ北方謙三が偉そうに 見ろ、だってさ。 こういうの自我肥大っていうんじゃないの?w