VB.NET質問スレ (Part21 ..
159:デフォルトの名無しさん
07/05/14 07:17:21
>>158がいいこと言った!
160:デフォルトの名無しさん
07/05/14 07:27:29
>>158
ウンコ触るな
161:デフォルトの名無しさん
07/05/14 09:43:30
どういうプログラムなのかが気になる。
お絵かきソフトもどきを作るのではなくて、あらかじめ決まった数種類の図形をボタンのクリックや
タイマーなどのイベントで色を変えたり図形を変えたりしたいということかな?
座標の指定は手作業しかないんじゃ?
あとは156に言った多角形を書くpolygonとか。多角形を塗りつぶすFillPolygonとか。
162:デフォルトの名無しさん
07/05/14 09:58:56
つうかもう固定で描画するなら画像はっつけろよwwwwww
163:デフォルトの名無しさん
07/05/14 12:40:32
>>158
日本語書けよ。
あのねえ、プログラミング(に限らないが)には「知識や経験」だけでなく
ある程度の「資質」が必要とされるんだよ。当たり前だろ。
単に知識や経験が不足しているのなら学習して補っていけば済む。
ここがそういう場所であることには俺は異論はないよ。
でも資質が欠けていたらどうしようもないよ。
何やったって最初から無駄。
155cm43kgの奴が相撲取り目指すようなもんで、本人にとっても不幸なだけだろ。
もちろんそれでもどうしてもやりたいんだ、っていうのなら別に勝手にすれば。
でも>>146みたいなこと聞いてるようじゃ何ひとつまともなプログラムなんて
書けるようにならないことは俺が請け負うよ。
164:デフォルトの名無しさん
07/05/14 12:46:34
すみません、返答遅れました
>>155-162
レスありがとうございます。
>>156
Polygonですか?
どういったものか調べてみたいと思います。
>>161
>あらかじめ決まった数種類の図形をボタンのクリックや
>タイマーなどのイベントで色を変えたり図形を変えたりしたいということかな?
簡単に言うとそういうことになります
それと図形の位置の調整はやはり座標を手作業でしかないんですね、分かりました
例えば多角形の場合、実際にコードを実行して描写を確認しないといけないので、そこに便利な方法が無いのかと疑問に思っていました。
>>162
確かに画像を貼り付けた方がフォーム上で簡単に位置を修正したりできるのですが
何分図形の数が多いので数*色数で大体で言うと100枚前後の画像が必要になってくるのですが
フォームにそれだけのピクチャボックスを乗せるとなるとやはり処理や動作に支障をきたすのではないのでしょうか
165:デフォルトの名無しさん
07/05/14 12:48:47
画像をファイルにしといてLOADすればよかんべ。
せめて、入門本ぐらいは読もうよ。
仕事でめったに使わない画像の読み込みとか出てるから。
166:デフォルトの名無しさん
07/05/14 12:54:18
まぁ背景色の変更はソリッドとかであれば結構簡単に出来るから画像でもいいならそれも可能かと・・・
ただ、それを拡大縮小になってくると微妙だけど(;´Д`)
167:デフォルトの名無しさん
07/05/14 12:58:42
他人に配布するかしないかにもよるけどなぁ。
フォームに百枚のピクチャーボックス??なんでその必要が?
>>165の言うとおりです。
例えばだけど、
一つのフォルダにまあ百枚なら百枚の図形を入れて、フォームロード
時に配列かなにかにそのパスを入れて、PictureBoxのImage.FromFile
で画像を切り替えればいいんじゃない?
168:デフォルトの名無しさん
07/05/14 13:01:04
100枚配布するのが嫌ならリソースにつっこんどけ
ちなみにこの方法のメリットはプログラムを直さずに画像の差し替えで対応できるという点
とうぜん変更勝手にされちゃうとかのデメリットもあるが・・・
169:デフォルトの名無しさん
07/05/14 13:21:01
>>165-168
ひとつのピクチャーボックスに代わり代わりで画像を読み込ませればいいという説明でしょうか?
それでしたらすみません、説明不足でした
100枚というのはひとつのピクチャーボックスに100枚の画像を入れ替えて表示するのではなく
フォームに位置が違う100箇所ぐらいのピクチャーボックスを配置してそこに画像を読み込ませてそれぞれ色を変化させたりして表示するということです。
100枚同時に表示させる必要があるんです。
色を変える場合はピクチャーボックスの中身の画像を色が違う画像とすりかえればいいのですが・・そういうことですよね?
170:デフォルトの名無しさん
07/05/14 13:23:44
あ、それとも
必要毎にフォルダから画像を読み込ませるということでしょうか
そういうやり方だと負担が減るのかな
171:デフォルトの名無しさん
07/05/14 13:49:23
1フォームに画像が100個程度あるってことでFA?
で、それらは同時に色が変わったりするの?
それとも個別に色が変わったりするのかな?
その辺の動作周りをもう少しkwsk
172:デフォルトの名無しさん
07/05/14 13:54:47
>>171
説明ということで書いていたので100まではないんですが大よそで60前後の様々な形の画像を表示させるつもりです
色は同時に変わったり、個別に変わりもします・・要するに個別ということですよね;
173:デフォルトの名無しさん
07/05/14 13:55:45
処理的に厳しいでしょうか;
174:デフォルトの名無しさん
07/05/14 13:59:09
質問者は名前欄に最初のレス番号入れてけれ。どれがどれか分からん
175:144
07/05/14 14:08:12
そうですね、すみません・・
176:デフォルトの名無しさん
07/05/14 14:58:34
フォームに60個のピクチャーボックス??
それをコードで書く気なの?すごい…。そんなプログラム組みたくない…。
まあ、するのなら同じ図形で色だけ違う画像ファイルを1セットにするか、
コードで書いてbrushesを変えて色を変えるかだろうけど。色をランダムに
変えていいのなら、コードの方がいいかもな。
フォームに動きを加えるのはいいことだと思うけど、一体どんなプログラムで
どんな人を対象に作ってるのか差し支えなければ教えてよ。
177:デフォルトの名無しさん
07/05/14 15:28:18
まぁあ60個を同じ処理にするってのならハンドラちょこっといじればいけるだろうけど
出来れば想定する最低環境も知りたいところであったりもする
つうか・・・勉強の為に60個のピクチャボックスフォームにのっけて画像表示させてみるってのテストしてみようw
メモリは画像の大きさにもよるだろうけどさ・・・・
178:デフォルトの名無しさん
07/05/14 15:54:36
>>176-177
やはり珍しいケースなんですね
私自身もVB初心者だしどうなるか・・。
処理に関しては仮に作ったプログラムで確認したんですが
Graphicsで図形作ったコードですと色買えなどの処理は関数を作ってやってあとは各々で読み出すだけで簡単にできました
ただ処理以前に座標で指定する多角形を60個作るとなると位置調整で頭が痛くなりそうです・・。
画像の場合はまだよく分からないので未知数ですが
とりあえず処理速度にしろ、作成方法にしろ色々教えていただいたことを試してみたいと思います。
179:デフォルトの名無しさん
07/05/14 16:02:07
>>178
> ただ処理以前に座標で指定する多角形を60個作るとなると位置調整で頭が痛くなりそうです・・。
前々から思っているんだが、ここがおかしいだろ。
一体何の調整がいるって言うんだ。
180:デフォルトの名無しさん
07/05/14 16:03:31
ちなみに一般的に有効にプログラミングをするとした場合
この例ですと
Graphicsで画像を描写する方法と、画像を読み込んで表示させるのはどちらが効率的だと判断できるんでしょうか?
181:デフォルトの名無しさん
07/05/14 16:05:37
>>179
多角形が一つ一つ形が違うのでその形を形取るための多角形の頂点の座標の調整と
それをフォームのどのあたりに表示させるかの座標の調整の二つです。
182:デフォルトの名無しさん
07/05/14 16:16:05
>>180
有効にって言葉も幅外広いからなぁ・・・
何かを取れば何かを失う部分もあるし
画像でやれば画像作るのはめんどくさいけど
後々変更してくれとか言われた時にコーディング量は減るし(考え方によればコーディングすらも必要ない 画像の追加・変更だけでよい)
自分で書けば融通の利く処理が出来るがその分修正にソフトの書き替えが必要だし
俺なら 表示させるサイズが固定であればこの場合、画像を選ぶ
完全に動的サイズになるなら自分で書く かな?
183:144
07/05/14 16:23:14
>>182
なるほど・・・
だとしたら図形は色は変わりますがサイズは固定なので画像の方がいいかもしれませんね
そもそもモニタ自体のサイズがまだ未定だったのでそこから決定していかないと画面座標でやってたらずれてしまいますね;
参考にさせていただきます、ありがとうございました。
184:デフォルトの名無しさん
07/05/14 16:25:53
>>183
あれだ、画像だけPNGとかで読み込んで背景色はバックグラウンドカラーという手もあるっちゃぁ・・あるとおもうんだ
185:デフォルトの名無しさん
07/05/14 16:28:03
図形はベクタデータで持っとけば色変えたり拡大したりするのも簡単なんじゃねえの?
186:デフォルトの名無しさん
07/05/14 16:32:30
>>185
俺もそう思う
けど、どうも質問者的に難しそうなので俺は簡単な実装方法を提案してみたさww
187:デフォルトの名無しさん
07/05/14 16:34:54
モニタの解像度依存でずれるとか言ってるし……
もうね……
188:デフォルトの名無しさん
07/05/14 16:39:44
ラベルに[m2]って書いて2の部分を上付けに指数表示にしたいんですがどうやればいいんすか?
189:デフォルトの名無しさん
07/05/14 16:40:43
>>150がプログラマとしては致命的なのは分かったからすっこんでろ^^
190:デフォルトの名無しさん
07/05/14 16:42:46
いまさらそんな遠距離レスつけなくても^^
191:デフォルトの名無しさん
07/05/14 16:44:23
>>188
m²
㎡
192:デフォルトの名無しさん
07/05/14 16:56:43
>>190に言ってるんだよ^^
193:デフォルトの名無しさん
07/05/14 17:10:17
俺じゃねえよ^^
194:デフォルトの名無しさん
07/05/14 17:11:57
ばかまるだしだ・・・
195:デフォルトの名無しさん
07/05/14 17:12:06
そうやって書いたら[msup2;]っラベルのテキストに表示されるんですが…
196:デフォルトの名無しさん
07/05/14 17:15:18
それは書き方が悪いんだろ
197:デフォルトの名無しさん
07/05/14 17:20:18
>>193
墓穴掘らなくていいよ
198:デフォルトの名無しさん
07/05/14 17:22:43
ちゃんと>>191のとおりにかいたよー
199:デフォルトの名無しさん
07/05/14 17:24:32
>>195
専ブラとかのコピペしてたら超笑えるwwwww
へいほーめーとる
で変換してラベルに入力しろや
200:デフォルトの名無しさん
07/05/14 17:27:52
へいほうめーとるで変換できるんかいー!うまくできたわみんなありがつ
201:デフォルトの名無しさん
07/05/14 17:32:50
い・・・一体なんだったんだ・・・・(;´∀`)
202:デフォルトの名無しさん
07/05/14 18:11:01
2つのビットマップ(実際の画像と、モノクロのマスクパターン)を用意して透過処理を
したいんですけど、VB.NETでどう実現するのやらさっぱりで。
VC++6.0とかで BitBlt 関数使って描画するのとかはやったことありますのでその程度の
知識ならあります。誰かヒントとなるリンクだけでもいいですから教えてください。
できれば VS2003、.NET Framework1.1 の環境下で動くのでお願いします。
203:デフォルトの名無しさん
07/05/14 18:17:26
Graphicsでアルファブレンド っつうのはどうっすか?
204:デフォルトの名無しさん
07/05/14 18:35:03
>>202
GDI+はPNGをサポートしてる。
ここまで言えばわかるよね?
205:デフォルトの名無しさん
07/05/14 18:36:46
ああでも遅いから速度が必要なら自分でBitBltでマスク処理した方がいいかもね。
206:デフォルトの名無しさん
07/05/14 18:38:21
もひとつ忘れた。
別にPNG使わなくても、GDI+には透過色を指定する機能もある。
まあしかし、自分でこれだけ答えておいてなんだけど、
少しはMSDNライブラリ読めよ。
207:202
07/05/14 18:52:36
>>203-206
レスありがとうございます。
とりあえずマスクパターンを使うのじゃないですけど、MakeTransparent ってので
透明とする色を指定することで対応はできました。
マスクはどうやんのかまださっぱりですけど。
MSDNは・・・読んでみたんですけど、どこに必要な情報があるのかすらたどり着かなくて。
申し訳ございません。
もう開発から設計に移って5年ぐらい経つんですが、
「過去に似た様な処理をVC++で作ったことがあるから」って理由で借り出されたものでして。
オジサンもう疲れたよ・・・orz
208:デフォルトの名無しさん
07/05/14 19:01:53
>>207
ご苦労様w
マスク処理は.NETネイティブの機能だけでやるのはきついと思う。
描画サーフィスをビットマップに転送する機能がGDI+にはないからね。
つまりWin32のBitBltつかって昔ながらの方法でやるしかない。
209:202
07/05/14 19:11:06
>>208
>つまりWin32のBitBltつかって昔ながらの方法でやるしかない。
そうですか。その情報だけでもありがたいです。ありがとうございます。
最近の小僧どもはゆとり教育のせいか、開発言語が複雑になりすぎたせいかで
すぐに諦めて「できません」とかほざくもので・・・すみません、愚痴ですね。
今から自分の仕事やりますw
210:デフォルトの名無しさん
07/05/14 19:18:28
>>209
みると俺の環境は恵まれてるんだなぁ・・・と痛感する
211:デフォルトの名無しさん
07/05/15 07:42:55
できませんはただの報告だからいいんじゃないの?
やりたくありませんと言ったら鉄拳制裁ものだが。
212:デフォルトの名無しさん
07/05/15 09:51:44
>>211
出来るはずのものをできませんとかねーよ
>>209の例だと調べりゃこのスレでもでてた即いくつかの方法や代替案がでてくるだろう どれだけレベル低いんだよ
低いなら調べたなりに出来ない根拠や別の案があるけど、多分あの様子だとないんだろうな・・・
213:デフォルトの名無しさん
07/05/15 10:41:50
Delphi製の、Pchar型の文字列を渡すとPchar型の文字列が返ってくるDLLを使いたいと思い、
DLLを使う方法までは調べたのですが、データ型としてPcharが使えません。
VB2005から、Pchar型を使うDLLを使用する方法は無いでしょうか?
214:デフォルトの名無しさん
07/05/15 17:07:25
PCharいうたら短い文字列へのポインタだったか?
Charset=Charset.ANSIを指定してDllImportすりゃいい。
型はStringBuilderだ。
215:デフォルトの名無しさん
07/05/15 17:15:54
渡す方はStringで、受けとるほうがStringBuilderだな。
一つの引数で上書きされるなら、StringBuilderか。
216:213
07/05/15 18:35:56
>>214-215
ありがとうございます! 教えていただいた単語を手掛かりに頑張ってみます。
217:デフォルトの名無しさん
07/05/16 16:06:05
インターフェースなんですが、Implementsを書いたあとにIntelliSense見たいに
実装を挿入することって出来ないのでしょうか?
実装しないでビルドするとエラーの説明で、実装すべきメソッドが表示されるので
あっても良さそうなんですが。。。
218:デフォルトの名無しさん
07/05/16 16:14:19
質問です。
ローカル上のIPアドレスからホスト名を取得しようとしています。
2.0だとDns.GetHostEntryを使うようにとあったので
x = System.Net.Dns.GetHostEntry("**.**.**.**").HostName
このようにしていました。
Win2k上では正常にホスト名を取得していたのですが、XP上ではIPアドレスしか取得できません。
Resolveを使うと取得できたのですが、旧形式だと警告されてしまいます。
他に取得する方法はないでしょうか?
よろしくお願いします。
219:デフォルトの名無しさん
07/05/16 18:02:39
VB2005でアプリ作りました。で、匿名で公開したいんですけど、
これどこかにコンピュータネームやWindowsのユーザーネームが埋め込まれてるってことはないですよね?
わけわからずにClickOne使った時、勝手に上記が埋め込まれてたのでビクビクしています。
リソースハッカーでみた限りはないようなのですが。
220:デフォルトの名無しさん
07/05/16 18:02:42
>>217
できるよ
例えば 新しいクラスで
implements idisposable○
ここでEnter押したらそのクラスの一番下に入ってないか?
221:デフォルトの名無しさん
07/05/16 18:03:35
>>218
新形式使えれ
222:217
07/05/16 18:52:59
>>220
ありがとうござます。
もう少しでスニペットで一個一個作るところでした。
223:デフォルトの名無しさん
07/05/16 20:14:55
ファイルを解凍するときに
既にUNLAH32.DLLは動作中ですってエラーがでるのだけど
UNLAH32.DLLを終了処理するには、どう記述したらいいですか?
224:デフォルトの名無しさん
07/05/16 20:32:39
うまく表現できないんだけど、必ず
Public X as Single
Public Y as Single
の二つのフィールドを持つ値型、みたいな型の指定ってできないかな?
もちろんインターフェイスを使えば近いことは可能なんだけど、
構造体の配列をストリーミング的に渡すような使い方をしたいので
パフォーマンス的な理由でなるべくならインターフェイスは使いたくない。
こういう場合、やっぱり特定の型の構造体の配列をベタに引数に取るようにするしかないのかな。
225:デフォルトの名無しさん
07/05/16 20:33:25
実行中のプロセスがあるからじゃないのか?
プロセスみてみてKillすれば?
つうか、動作中です って出てるのを終わらせるのは・・・あんまお勧めしないが?
まぁどういうソフト組んでるかにもよるし・・・
自分で1回UNLAH32.DLLをつかって解凍したあとの動作なのかな?
もしそうじゃないとすれば、UNLAH32.DLLを使うようなソフトは?
WindowをSafeモードで起動して 自分のソフトで解凍しようとしてもそうなるの?
226:デフォルトの名無しさん
07/05/16 20:36:26
>>224
構造体でいいと思うんだけど・・・
少なくとも俺はそうしてる
C++なら別のやり方もあるけど・・・
そこまでパフォーマンスを気にするなら何か他のところで余裕で稼げそうな気がする
227:デフォルトの名無しさん
07/05/16 20:40:40
>>225
自分で1回UNLAH32.DLLをつかって解凍したあとの動作です。
開放処理する必要があるのでしょうか?
その場合どう記述したらよいのか・・・
228:デフォルトの名無しさん
07/05/16 20:45:53
>>227
ということはアンマネージリソースが開放されてないんじゃないかと予想してみる
多分解凍が終わったら引数が帰ってくると思うんだけど・・・・
それがちゃんと出来てるなら
MarshalクラスつかってComObjectかどうか調べて
ReleaseComObject でキチンと開放してやってみてはどう?
229:228
07/05/16 20:48:06
ごめん、書き忘れ
そういえば
UnlhaGetrunning
みたいな現在実行中かどうか調べる関数なかったっけ?
実際にやってる処理差し支えなければ書いてみれば きっと皆こたえてくれるような気がするけどw
230:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/05/16 21:27:21
>>226
やっぱりそれしかないのかな。。
値型用の(ボックス化されない)インターフェイスみたいなものがあっても
いいように思うんだけど。
232:デフォルトの名無しさん
07/05/16 21:29:07
FreeLibrary()
233:デフォルトの名無しさん
07/05/16 21:34:29
>>230
とりあえずウチの環境でVer2.55のDllつかって
パスだけ変えて動かしたらちゃんと動いてるよ
ソフトの中で同じ処理3回呼んだけど
問題なかった
なにか止まっているとかじゃないかな?
>>231
の呼んで開放してやるといいかも
234:デフォルトの名無しさん
07/05/16 23:00:57
初歩的な質問ですがお願いします
参照設定で X を指定する
これはソリューションエクスプローラの参照設定からX追加という作業でよろしいんでしょうか?
これは何を意味しているのでしょうか?
235:デフォルトの名無しさん
07/05/16 23:51:44
>>234
それでいいよ
意味するところは
ある機能に特化した機能の塊を使えるようにする為
ざっくり言えば
Formやボタンなんかが使えるのは使いやすいように最初から
System.Windows.Form
っていうクラスを参照している感じ
236:デフォルトの名無しさん
07/05/17 00:06:41
>>235
わかりやすい説明でありがとうございます
237:デフォルトの名無しさん
07/05/17 00:16:28
いやそれで納得しちゃダメだってw
>>235はImports文によって名前空間の「パスを通す」ことと
プロジェクトのアセンブリの参照設定を混同してる。
234が言ってるのは前者。235が言ってるのは後者
238:デフォルトの名無しさん
07/05/17 00:17:26
すまん前者と後者が逆だな
239:デフォルトの名無しさん
07/05/17 00:26:18
URLリンク(msdn2.microsoft.com)(VS.80).aspx
240:デフォルトの名無しさん
07/05/17 00:28:53
コピペ君って馬鹿だな、まで読んだ。
241:デフォルトの名無しさん
07/05/17 00:42:08
つうか 普通にラベルとテキストボックス30個くらい貼り付けたフォーム開いたら
奇麗に表示されないんだけどどうなのよ
VB6で同じことやったら普通に開くのになぜドトネトのほうが遅いんだ?????
242:デフォルトの名無しさん
07/05/17 00:44:46
WindowsFormsはそんなもん
243:デフォルトの名無しさん
07/05/17 00:47:42
マジで???
Javaも大概重いと思ってたけどそれに同じくらい重いのな(´ヘ`;)
P4 2.4Gでそれなりに重いからWin2000とかの昔のに入れたらもっと重い感じがするってことなのか…・
orz
244:デフォルトの名無しさん
07/05/17 01:04:34
ハリボテの表示が遅いだけで処理は遅くないぞ
245:デフォルトの名無しさん
07/05/17 01:15:43
>>244
UIの描画とかが遅いだけってことなのか
ちょっと安心したよ あの調子で全体遅かったらつかえねー とか思ってたんで
フレームワークがJAVAみたいな資産に足引っ張られてgdgdにならないことを祈りつつ頑張って勉強してみるよ
246:デフォルトの名無しさん
07/05/17 01:22:53
まあどうせ WinForm は WPF にまるごと置き換え予定だしな
少なくともあと5年ぐらいは掛かるだろうけど
247:デフォルトの名無しさん
07/05/17 01:23:58
初心者なんですけど
コンパイルするときに
"cl ファイル名"でやると、
「"cl"は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチファイルとして認識されていません。」
ってでるんだけど"cl"じゃ駄目なの??
248:デフォルトの名無しさん
07/05/17 01:33:08
ここはVB.NETのスレですが・・・
249:デフォルトの名無しさん
07/05/17 07:55:59
vbc hoge.vb で幸せになれると思うよ。vjcでさらに・・・
250:デフォルトの名無しさん
07/05/17 11:20:04
URLリンク(msdn.microsoft.com)
このタスクバーにアプリケーションを乗せたいんだけど、やり方がさっぱりなんだ。
どこから手を付けたらいいか教えてください。
251:デフォルトの名無しさん
07/05/17 11:57:01
「幸せになれる」って言葉使うヤツきもい
252:デフォルトの名無しさん
07/05/17 12:02:58
>>250
アプリケーションを乗せるってのはグーグルツールバーみたいなアドインのこと??
253:250
07/05/17 12:11:03
>>252
Google Deskbarにみたいにです。
タスクバー右クリック->ツールバーで選択できるようにしたいのです。
機能は検索するとかそういうのを作りたいわけじゃないんですが、
まだタスクバーに作ったアプリを起動させることができないので。
254:250
07/05/17 12:18:13
DeskBandと言うらしいのですけど、そこからがわからない。
255:デフォルトの名無しさん
07/05/17 12:32:46
どっちかというとosの仕様に関する知識になるのかねえ。
こういう資料ってどこにあるんだろう。
256:デフォルトの名無しさん
07/05/17 13:15:31
>>250
BandObjectでぐぐれ
257:デフォルトの名無しさん
07/05/17 13:17:31
QTTabBarがやってるな。C#製らしいけど。
ってみてみたら>>256を使ってるみたい
258:デフォルトの名無しさん
07/05/17 15:45:47
BandObjectってC#なのか?VBじゃ使えんの?
259:デフォルトの名無しさん
07/05/17 15:47:35
使えるだろ・・・・
260:デフォルトの名無しさん
07/05/19 00:01:57
ビルドでbinフォルダにEXE作るとして
他のフォルダのdllを読込む時、
binの中に勝手にdllがコピーされるので、
binのdllを削除したら
「依存関係の 1 つが読み込めませんでした」
というエラーになりました。
この状態でもdllの参照が可能になるには
どうすれば良いでしょうか?
261:デフォルトの名無しさん
07/05/19 00:06:56
>>260
ドットネットフレームワークのDLLがどう登録されてるんだろうな?
ほかのDLLはどこに登録されてるんだろうな?
でも、基本的にそっちのが俺はいいと思うんだが…
262:デフォルトの名無しさん
07/05/19 00:11:29
なんでこう DLL を嫌がるんだろうね
263:デフォルトの名無しさん
07/05/19 00:13:23
>>260-261
日本語書けよ。
エスパー同士の会話か?w
264:デフォルトの名無しさん
07/05/19 03:42:50
>>260
無闇には勧めないがGACに登録。
265:デフォルトの名無しさん
07/05/19 04:15:46
無闇じゃなくても薦めるなそんなの。
266:デフォルトの名無しさん
07/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
07/05/19 20:31:13
追記
Base.a()は非常に複雑だけど一部だけ変更可能にしないと機能しない関数です。
そこでその部分を関数bで処理します。
ただし、Baseクラスの関数bにもベーシックな処理を記述しておきたいのです。
よろしくお願いします。
言語の基本仕様にないとしたらデザインパターンを使うのでしょうか?
そのパターンの名前とか教えていただけるとありがたいです。
268:デフォルトの名無しさん
07/05/19 20:37:45
普通にbを仮想関数にすりゃいいんでないの?
269:266
07/05/19 20:47:17
>>268
仮想関数ですね・・・調べてみます!
とっかかりがわかんなくてデリゲートとかわけのわかんないのを調べてました。
base.bの宣言をOverridableにせよということですね?
ありがとうございました!!!
270:デフォルトの名無しさん
07/05/19 21:06:35
>>266
あのさあ、学べば分かることを学びもせず、
試せばわかることを試しもせず、そんな態度じゃどうにもならんと思うぞ。
あと余計なお世話かもしれないが、268には君が質問したいと思っていることが
恐らく伝わってないと思われる。
そしてそれは268の読解力のせいというより、お前さんの文章の表現が酷すぎるからだと思う。
まあ俺自身も君の質問の意図を勘違いしている可能性は大いにあるが、一応質問に回答するけど
オーバーライドされたメソッドというのは、たとえその呼び出しがベースクラスに
記述してあるとしても、元のベースクラスのメソッドではなく、オーバーライドされた方の
メソッドが呼び出されるんだよ。
MeとMyClassとMybaseの違いとか、あとShadowsとかの意味を調べた方がよさそうだね。
271:268
07/05/19 21:11:27
ん?外してたか?
よくわかんね
272:266
07/05/19 23:18:20
>>270
ああ!そうなんですか。
勘違いしてました。
確かにこれからテストコード書くんですが、そもそもどういう仕組みになるのか
考えていたもので、ありがとうございました。
273:デフォルトの名無しさん
07/05/20 07:36:18
ActiveReportを使って、ユーザーが任意の列数を選択し、印刷プレビューに表示させる
という内容のプログラムを作成中なのですが
列数が10を超えた場合、次のページに残りの列を表示、というのは可能なのでしょうか。
ActiveReport、もしくなそれに似たようなものを使った経験のある方、よろしくお願いします。
※ActiveReportの設計は私ではなく別の人が行っております。列を格納する部分は10個になっていました。
274:デフォルトの名無しさん
07/05/20 12:22:05
>>273
ActiveReportsについてるサンプルくらい見ろ
あとメソッドやプロパティ一覧も
余裕で出来るということが載ってる
275:デフォルトの名無しさん
07/05/20 12:26:33
またプチ北方謙三が偉そうに
見ろ、だってさ。
こういうの自我肥大っていうんじゃないの?w
276:デフォルトの名無しさん
07/05/20 12:30:33
>>275
>>273
おまえよっぽど必死なんなだなぁ・・・・
がんばれよ〜
277:デフォルトの名無しさん
07/05/20 13:40:20
>>275は私じゃないけど、サンプル見てみることにします
入社一年目でこれやっといてーって丸投げされたんでなにがなんやら
278:デフォルトの名無しさん
07/05/20 13:50:30
>>277
調べて努力すりゃ1年目でもやればできる範囲だと思ったから
丸投げしてると思うよ?
コツコツ調べりゃきっとできるし、出来たとき「思えば簡単だったな」 て思えると思うよ
279:デフォルトの名無しさん
07/05/20 22:46:38
→キーが押下されたら、PictureBoxをウィンドウの隅にぶつかるまで右方向に無限移動させ
ウィンドウの隅にぶつかったら逆走させるのって如何すればいいんでしょうか?
280:デフォルトの名無しさん
07/05/20 22:49:06
そのままそれをPgにすりゃいいだけだと思うんだが…
どこがわからないんだ?
判定?
それともすべて?
281:デフォルトの名無しさん
07/05/20 22:50:20
プログラムをPGって略すのは珍しいな
282:デフォルトの名無しさん
07/05/20 22:50:49
>>279
悪いこと言わない、プログラミングなんぞに手を出すのはやめとけ。
根本的に向いてないよお前さんには
283:デフォルトの名無しさん
07/05/20 22:52:59
>>280
そもそもVB.NETという概念からして良く解ってないんですが・・・
正直、まるで何一つ解ってません・・・
' 今のコード
Public Class km
Private Sub km_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
Select Case e.KeyCode
Case Keys.Left
Timer1.Enabled = True
Case Keys.Right
Timer2.Enabled = True
End Select
End Sub
Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer1.Tick
PictureBox1.Left -= 6
End Sub
Private Sub Timer2_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer2.Tick
PictureBox1.Left += 6
End Sub
End Class
284:デフォルトの名無しさん
07/05/20 23:06:24
おまwwwww
これ右移動しながら左キー押したらどうなるんだよwwwwwwww
悪いことは言わないから まず左右キー押しっぱでそれぞれの方向に動いてはじっこまで来たらとまるプログラムかいてみ?
まずはそっからだ
285:デフォルトの名無しさん
07/05/20 23:08:36
>>284
こんな感じでしょうか?
Public Class km
Private Sub km_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
Select Case e.KeyCode
Case Keys.Left
If PictureBox1.Left > 0 Then
PictureBox1.Left -= 6
End If
Case Keys.Right
If PictureBox1.Left + PictureBox1.Width < Me.ClientSize.Width Then
PictureBox1.Left += 6
End If
End Select
End Sub
End Class
286:デフォルトの名無しさん
07/05/20 23:11:48
まーた始まった
287:デフォルトの名無しさん
07/05/20 23:12:21
こんな感じでしょうかじゃないよ。
試してどこがどうだめだったか報告しなさいよね
288:デフォルトの名無しさん
07/05/20 23:16:49
まぁ、とりあえずそれはめり込む可能性が高いなwwwww
289:デフォルトの名無しさん
07/05/20 23:26:19
>>287
取り敢えず、動かしてみた感じ
>>284で言われたものは出来たような気がします
>>288
やっぱり、移動量が6だとめり込みますよね・・・(ウィンドウサイズが6の倍数ならともかく)
移動量を5にして、めり込まないようにしてみました
290:デフォルトの名無しさん
07/05/20 23:32:03
・・・・・あのぉ・・・・まぁ・・・いいけどさ・・
もう面倒くさいからざっくりサンプル書いとくわ
スペースでストップな
この板的に叩かれそうなソースだがまぁ こんなバカもいるってことで
とりあえずタイマをつかってるみたいだからそれは残しといてみた
以下ソース
Private Enum Vector
Right
Left
None
End Enum
Private Const _MovePixcel As Integer = 1
Private _Vector As Vector = Vector.None
291:デフォルトの名無しさん
07/05/20 23:33:03
TRY-FINALLYはめんどくさいからそこに書いただけ
ほんとはちゃんとしたほうがいい気がする
Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
Try
Select Case e.KeyCode
Case Keys.Right
_Vector = Vector.Right
Case Keys.Left
_Vector = Vector.Left
Case Keys.Space
'とまる
_Vector = Vector.None
End Select
Finally
If _Vector = Vector.None Then
Me.Timer1.Stop()
Else
Me.Timer1.Start()
End If
End Try
End Sub
292:デフォルトの名無しさん
07/05/20 23:33:57
Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Select Case _Vector
Case Vector.Right
Dim TempRight As Integer = Me.PictureBox1.Left + Me.PictureBox1.Width + _MovePixcel
If TempRight < Me.Panel1.Width Then
Me.PictureBox1.Left += _MovePixcel
Else
_Vector = Vector.Left
End If
Return
Case Vector.Left
If 0 < Me.PictureBox1.Left - _MovePixcel Then
Me.PictureBox1.Left -= _MovePixcel
Else
_Vector = Vector.Right
End If
Return
End Select
End Sub
忘れてたけど
フォームにタイマ・パネル・ピクチャボックスおいてな
293:デフォルトの名無しさん
07/05/20 23:39:11
自分にレス番を打つと専ブラ使いにはうれしいインデント。
SELECT CASE True
CASE 1 = 2
CASE 1 = 1
END SELECT
>>293
294:デフォルトの名無しさん
07/05/21 06:17:31
列挙体はまだ高度では?
つぅか、>>284のつっこみが分かってないよな。
フォームにのめりこんでもいいから、せめて片方のタイマーを止めろよ。
295:290
07/05/21 09:02:10
>>293
まぁとりあえずソースみてこんなもんかな?ってのを判ってもらえる事を期待してみた(;´Д`)
多分右も左もわからないっぽいので 余計なお世話だったか・・・
まぁ、列挙タイは確かに不必要であんなるBoolのフラグのが良かった希ガス
296:デフォルトの名無しさん
07/05/21 16:47:21
>>290
なんというか、予防線はってるのがすごく痛い
297:デフォルトの名無しさん
07/05/21 16:49:41
マイク入力を録音をするアプリをつくろうと考えてるんですが、何か参考になるサイトや書籍を知りませんか?
298:デフォルトの名無しさん
07/05/21 17:28:22
VB.netでモバイル端末用アプリを作成し、
アイコンを設定して端末へコピーし、端末側の
ファイルエクスプローラexeを確認すると
設定したアイコンで表示されませんでした。
PC側では設定したアイコンで表示されます。
何か設定があるのでしょうか?
299:デフォルトの名無しさん
07/05/22 02:02:15
アプリ作成後にアイコン設定ってもしかしてアンタ…
300:デフォルトの名無しさん
07/05/22 06:14:19
>>298
おまえファミコン.icoもしらねーのかよ初心者め
301:298
07/05/22 09:04:20
>アプリ作成後にアイコン設定ってもしかしてアンタ…
書き方が変だったようです。
アイコンの設定はもちろんアプリケーションの
プロパティ画面から設定してからEXEを作成しています。
ちなみにC#で作ったサンプルPGに同じアイコンを
設定した場合はPDAで正しくアイコンが表示されますが
VB.NETではだめでした。
302:デフォルトの名無しさん
07/05/22 18:40:02
>>301
C#でアイコン設定したらOKで、VB.NETではNGだったってこと?
ちなみにVB.NETで作成した場合、モバイル端末で表示されるアイコンはどんなの?
303:デフォルトの名無しさん
07/05/22 18:46:28
まあ99%なにかの勘違いだなw
同じように作ったC#はOKでVBだとNGなんてまずありえん。
304:デフォルトの名無しさん
07/05/22 21:47:46
継承を多用すると遅くなるって事ありますか?
305:デフォルトの名無しさん
07/05/22 21:50:39
そりゃあることもあるだろ
まあおまいさんが書くコードに影響がある程じゃないさ
306:デフォルトの名無しさん
07/05/22 22:08:07
>>305
ありがとうです。
ちなみに、至るところで、継承してるプロジェクトに就業しました。
インスタンスも至るところでされてます。
画面を開くのに40秒近くかかります。
継承しすぎて、何をどこでやってるか追うのに大変です。
継承遷移図やソースの名前からでは判断できません。
307:デフォルトの名無しさん
07/05/22 22:18:45
>>306
もしかして継承フォームのことをいってる?
あれは確かに重くなりそうな気がする。
308:デフォルトの名無しさん
07/05/22 22:30:41
>>307
言い方はわかりませんが、
画面そのものを継承していますね。
309:デフォルトの名無しさん
07/05/22 22:35:21
継承そのものはコストは無視して構わない。
例えば画面なら、コントロールを山程載せてたり起動時にDBからデータもってきてたりとかその辺。
310:デフォルトの名無しさん
07/05/22 22:37:46
いや307の言うとおり継承フォームとか複合コントロールの継承なんかは
普通のクラスの継承とはちょっと事情が違うと思う。
普通のクラスの継承のコストなんてないと思っていいのは同意するけど
311:デフォルトの名無しさん
07/05/22 22:49:52
ん?一人レベルが低くい質、て申し訳ないですが、
継承したら早くなるのですか?
コーディングスピードていうか、共通箇所がガッツリ出来るのは理解できるのですが。
312:デフォルトの名無しさん
07/05/22 22:55:25
>>311
日本語でおk
313:デフォルトの名無しさん
07/05/22 22:57:38
>>311
おk!!
処理の速度・画面の起動等のユーザサイドから見て、
継承を使用した場合、しなかった場合よりも早く感じるものなの?
作り手からみて、楽になる部分が多いのはわかります。
314:デフォルトの名無しさん
07/05/22 23:03:17
実行時にはほとんどまたは全く差はない。
差が出るのはIDEの動作とか、コンパイルにかかる時間とかそんなところ。
GUI関係の継承だとIDEの動作が重くなる可能性はある。
315:デフォルトの名無しさん
07/05/23 01:56:16
そんなこんなで画面がでるまで40秒かかる>>306に乾杯
316:デフォルトの名無しさん
07/05/23 09:11:12
むしろ
>>306の基盤作った奴は起動にそれだけ時間かかってなんとも思わなかったのか・・・
それのほうが問題だよな
317:298
07/05/23 09:12:49
メーカーから届いた端末複数でインストールしました。
そのうちいくつかが通常のexeのアイコンでその他が
設定したアイコンで表示されました。
メーカーが提供しているDLLの不具合の可能性が出てきましたので
しばらく様子を見ようと思います。
318:デフォルトの名無しさん
07/05/23 13:13:43
質問させてください。
LAN上でSQL Serverをインストールしているサーバの検出をVB.NET(2005)で行う方法はありますでしょうか。
ありましたら、教えてください。
319:デフォルトの名無しさん
07/05/23 13:51:48
昔はSQLDMOつかってたな・・・
今はもしかしたらSQLクライアントかなんかの名前空間の中にラップされた機能あるかもしれんが。。。
320:318
07/05/23 16:25:37
>319
どうもです。
SQLDMOをヒントに
URLリンク(www.csharphelp.com)
にたどり着き、ここにあるC#のサンプルをVBに書き換えてうまいこといきました。
多謝多謝。
321:デフォルトの名無しさん
07/05/23 17:18:36
>318
既に解決したようですが、参考までに。
ADO.NET 2.0ならばSqlDataSourceEnumeratorクラスなるものがあるようです。
SQL Server のインスタンスの列挙
URLリンク(msdn2.microsoft.com)(VS.80).aspx
322:318
07/05/23 17:48:50
>321
ありがとうございます。
自分が見つけたサンプルより、そちらのほうがいけそうです。
>320で貼ったサンプルについては、
ListAvailableSQLServersというメソッドでサーバ名取得していたおですが、
BooksOnlineに将来削除されるメソッドだとありましたので…。
323:デフォルトの名無しさん
07/05/23 19:20:55
諸事情により携帯から失礼します。
.netでのINIファイル読み込みの時の質問なのですが、
読み込む時に文字数制限とうってありますか?(128バイトまでとか)
開発環境はVS2003です。
よろしくおねがいします。
324:デフォルトの名無しさん
07/05/23 19:23:22
よろしくおねがいする前に、まず自分で試そうよお馬鹿さん。
325:デフォルトの名無しさん
07/05/23 19:32:28
試した結果削られてしまって、
調べても分からなかったので質問してるのですが…
326:デフォルトの名無しさん
07/05/23 19:36:57
見え透いたこと言わない方がいいよ。
絶対試してもなければ何も調べてもないってw
っていうか調べてその体たらくならとっとと足洗ったほうが吉だわな。
327:デフォルトの名無しさん
07/05/23 19:45:06
本当に試しましたし、調べもしました。
ですが、どうしても取って来れなかったので質問してるんです…。
見え透いた事といいますが、こんな風に言われてしまうのならば、
もうここには来ていませんし、試していないのならば貴方に愚弄されるのを分かっていて
試さずにまた聞いたりしませんよ…。
328:デフォルトの名無しさん
07/05/23 19:57:27
意外と設定したバッファ越えて読み込んでたりなwwwww
まぁ、ありえんか・・・
329:デフォルトの名無しさん
07/05/23 20:02:59
INIファイルの有効サイズを超えてたりしてwwwww
まぁ、ありえんか・・・
330:デフォルトの名無しさん
07/05/23 20:31:06
iniだろうがdatだろうがファイル読み込みはファイル読み込みでしょうが。
どんな制限だよ128バイトって
いまどきこのレスだって142バイトはあるっての
331:デフォルトの名無しさん
07/05/23 20:33:52
試すっていうのはね、
ファイルを読み込むだけのコードでテストしてみることをいうんだよ?
それで128バイト制限が存在するかどうか分かるでしょ?
つまり試してないってこったよお馬鹿さん。
332:デフォルトの名無しさん
07/05/23 20:41:09
>>331
スレが汚れるから死ね。
333:デフォルトの名無しさん
07/05/23 20:52:09
iniファイル読むのにWin32Apiとか使ってて、最初にバッファの確保処理してないんじゃね?
334:デフォルトの名無しさん
07/05/23 21:26:06
>>333
あ、それかもしれない・・・
ちょっと後でいじって見ます。アドバイスありがとうございました。
335:デフォルトの名無しさん
07/05/23 21:27:14
質問です。
C言語でDLLを作り、VBからそのDLLの関数を呼び出して使いたいのですが、
下のプログラムをビルドして実行するとLabel1には6と表示されます。
どうやらforループが2回で終わっているようですが、なぜそうなるのかが分かりません。
すみませんがよろしくお願いいたします。
336:デフォルトの名無しさん
07/05/23 21:29:25
ソースは以下の通りです。
Option Explicit On
Public Class Form1
Public Declare Function Sum Lib "C:\Sum.dll" (ByRef n As Long, ByRef a As Long) As Long
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim n, s As Long
Dim aa(10) As Long
aa(0) = 1
aa(1) = 5
aa(2) = 4
aa(3) = 9
n = 4
s = Sum(n, aa(0))
Label1.Text = s
End Sub
End Class
337:デフォルトの名無しさん
07/05/23 21:30:40
__declspec(dllexport) long __stdcall Sum(long* n,long* a){
long sum,i;
sum=0;
for(i=0 ; i< *n ; i++){
sum=sum+a[i];
}
return(sum);
}
DLLを作るのにはVC++6.0、VBは2005 ExpressEditionを使っています。
338:デフォルトの名無しさん
07/05/23 21:35:20
>>337
取りあえず Long と long を調べてこい
339:デフォルトの名無しさん
07/05/23 22:05:59
そのコードヤバくね?
340:デフォルトの名無しさん
07/05/23 22:22:40
テストだとしても・・・・
VB側でLong使うケースは…・
341:デフォルトの名無しさん
07/05/23 22:26:25
えーと、よくわからないけど
これ貼っとけばいいかな?
プラットフォーム呼び出しのデータ型
URLリンク(msdn2.microsoft.com)
342:デフォルトの名無しさん
07/05/24 00:25:10
横からですが
VBで変数宣言するときにlong型にしちゃまずいんですか?
longってintの2倍のサイズの要領の数値型ですよね
343:デフォルトの名無しさん
07/05/24 00:52:27
>>342
VB6からいろいろ変わってしまったのだよん。
VB6のIntegerは16bit長、Longは32bit長だけど
VB.NETからはIntegerが32bit長で、Longは64bit長、Shortが16bit長。
VC6やらVC2005でDLLを作った場合、.NETのLongは__int64かlong long型に該当する。
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5091日前に更新/282 KB
担当:undef