VB.NET質問スレ (Part21) at TECH
VB.NET質問スレ (Part21) - 暇つぶし2ch159:デフォルトの名無しさん
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



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型に該当する。

344:デフォルトの名無しさん
07/05/24 01:04:25
なるほど・・・

だとしたら私の場合はintで宣言したらオーバーフロー?がおきたのでlongにしたので
このままで問題ないですよね?
素人なのでオーバーフローという意味がよく分かってないですが・・とりあえずint型だと容量が足りないみたいなエラーが起きました

345:デフォルトの名無しさん
07/05/24 01:11:11
各数値型で扱える範囲と、そのとき扱う必要がある数値の範囲くらいは把握しとこうぜ

346:デフォルトの名無しさん
07/05/24 01:13:12
つーかdllの関数のシグニチャと合わせないとためだろwwww

347:デフォルトの名無しさん
07/05/24 01:54:22
だったらc側でlongじゃ足りんだろうがw

348:デフォルトの名無しさん
07/05/24 01:56:45
アドレス渡しってどうなん?

349:デフォルトの名無しさん
07/05/24 02:00:26
どうとは?

350:デフォルトの名無しさん
07/05/24 02:23:47
なにが
>このままで問題ないですよね?
だ!!!!!!!

問題あるから質問スレに来てるんだろが!!!!!!

351:デフォルトの名無しさん
07/05/24 02:30:06
>>350
こたえる気がないのなら消えろよ・・・。

352:デフォルトの名無しさん
07/05/24 02:35:31
>>351>>335が書きました

353:デフォルトの名無しさん
07/05/24 14:08:51
typedef くらいしとけ

354:335
07/05/24 15:42:21
皆様ありがとうございます。
今大学にいないので試す事が出来ないのですが、
夕方登校してから変数のビット長の事を考え直してもう一度やってみます。

あと、>>351は私ではありません念の為。

355:デフォルトの名無しさん
07/05/24 22:15:23
やる気があるんだったら家のにExpressくらい入れて試せよ 学生さんw

356:デフォルトの名無しさん
07/05/24 23:43:36
>学生さんw
なんで最後にwがつくのかわからんが、無職のお前よりましだと思うよ。

357:342
07/05/25 00:38:37
>>350
>問題があるからここに~
intにしているときとは違いlongにするとコンパイル時にエラーはでませんでしたが。

ここにいる理由は、他人の質問事項でも参考になるから毎日覗いていて
>>338-340のレスが気になったら質問したまでだけど。

358:デフォルトの名無しさん
07/05/25 00:43:18
コンパイル時じゃなくて実行時だった。

359:デフォルトの名無しさん
07/05/25 01:24:34
>>357
まぁ出なくなったんならいいっちゃいいのかも知れませんが、それで飯食うつもりでしたら
何でオーバーフローしたのか?
それは予想された動作か?
違うならどこで変数に異常な値が入ったのか?

くらいは最低限把握しておいたほうが良さそうな気がしますよ?

>>346
>>335-337 はシグニチャとかそれ以前に
s = Sum(n, aa(0))
なんてコードかいてる時点でVB.NETについて根本的に勘違いしてるっぽいんですけどw

360:デフォルトの名無しさん
07/05/25 02:06:47
>>356
お前みたいなレベルの負け組と一緒にするなカス野郎

361:デフォルトの名無しさん
07/05/25 15:14:29
ちょっとしたブラウザ(IE使う)を作ってみたいです
まだソフトも買ってないので、日曜日に買いに行きます
入門書もあわせて買う予定です
お勧めの本あれば教えてください

362:デフォルトの名無しさん
07/05/25 15:31:36
とりあえず、ExpressEdition使ってみたら

363:デフォルトの名無しさん
07/05/25 17:35:05
2005で質問です。

ピクチャーボックス・ラベルをFill・Bottomとして貼り付けたユーザーコントロールがあります。
このコントロールのMouseMove/MouseLeave/MouseEnterイベントは コントロールが上に存在している為発生しない状況です。
これらのイベントが簡単に動作する方法はないでしょうか?
やはり、各コントロールのイベントを取ってきてガリガリいじって渡したりしなければいけないんでしょうか?




364:デフォルトの名無しさん
07/05/25 17:46:33
内部で各コントロールにイベントつけといて
ユーザーコントロールのOnMouseMove等を呼べば?

365:363
07/05/25 18:18:52
>>364
レスありがとうございます。
とりあえずMouseMoveはその方法で実装してみました。
各コントロールのマウスMoveイベントでユーザーコントロール内の座標に変換してユーザーコントロールのMouseMoveイベントを呼び出すようにしています。
これでMouseMoveは実装できたのですが、今度はMouseEnter MouseLeaveイベントを実装する手段が不明というか、うまいこと思いつかないです




366:363
07/05/25 18:22:21
連投失礼します。

MouseEnterはPrivateなフラグをひとつ持って、内部の各コントロールのEnterイベントで
フラグがOFFならユーザーコントロールのEnterイベントを発生→フラグON
フラグONならなにもしない

という力技実装を今思いついてやってみました。
しかし やっぱりMouseLeaveが難しいです・・・

367:デフォルトの名無しさん
07/05/25 21:01:44
>>363
希望するのはこういう動作?

  Protected Overrides Sub OnLoad(ByVal e As System.EventArgs)
    MyBase.OnLoad(e)
    For Each c As Control In Me.Controls
      AddHandler c.MouseMove, AddressOf Chileds_MouseMove
      AddHandler c.MouseLeave, AddressOf Chileds_MouseLeave
    Next
  End Sub

  Private Sub Chileds_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
    Dim pt As Point = MousePositionByClientCoordinate()
    Dim ev As New MouseEventArgs(e.Button, e.Clicks, pt.X, pt.Y, e.Delta)
    MyClass.OnMouseEnter(New EventArgs)
    Me.OnMouseMove(ev)
  End Sub

  Private Sub Chileds_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs)
    MyClass.OnMouseLeave(New EventArgs)
  End Sub

  Private Function MousePositionByClientCoordinate() As Point
    Return Me.PointToClient(Control.MousePosition)
  End Function

  Private Function IsMouseOnMe() As Boolean
    Dim pt As Point = MousePositionByClientCoordinate()
    Return Me.ClientRectangle.Contains(pt)
  End Function

368:デフォルトの名無しさん
07/05/25 21:03:25
  Private mMouseAlreadyEnter As Boolean = False
  Protected Overrides Sub OnMouseEnter(ByVal e As System.EventArgs)
    If mMouseAlreadyEnter = False Then
      mMouseAlreadyEnter = True
      MyBase.OnMouseEnter(e)
    End If
  End Sub

  Protected Overrides Sub OnMouseLeave(ByVal e As System.EventArgs)
    If IsMouseOnMe() = False Then
      mMouseAlreadyEnter = False
      MyBase.OnMouseLeave(e)
    End If
  End Sub

369:363
07/05/25 21:38:46
>>367-368
帰宅してたのでレス遅れてすみません
ちょっとご飯食べて試してみます


370:363
07/05/25 21:49:27
>>366
やっぱり気になって先にソース見てました。
正に自分が欲していた動作です。
しかも超汎用性があるようにサンプルまで頂けて・・・
ありがとうございます!!!!!
なんか胸のつかえが取れました!!

371:デフォルトの名無しさん
07/05/25 22:31:54
いや、サンプルっていうかUserControlで>>363に書いてあるような動作を実装するような
コードを書いてみただけだけどね。

なんにしろ希望の通りの動作のようで何より。

しかし、Chiledsって素で間違えたよ恥ずかしいw
中学英語も怪しくなってきているとは

372:デフォルトの名無しさん
07/05/25 23:29:44
C言語では、static int a[3]={1,2,3}; や、 static char b[]="abc";
のように、初期化できるのですが、VB や VBA ではどうすればよいのですか、
N88 basic では、確か、DATA 文があって、できたと記憶しているのですが


373:デフォルトの名無しさん
07/05/26 00:33:09
Dim a() As Integer = {1, 2, 3}

374:デフォルトの名無しさん
07/05/26 02:01:15
s = Sum(n, aa(0))

これはどこがおかしいんでしょうか?

375:デフォルトの名無しさん
07/05/26 02:06:46
>>374
エスパーの俺にも君の質問の意味がわかりません。

376:デフォルトの名無しさん
07/05/26 02:09:11
配列へのポインタと渡そうとして
先頭要素の値(への参照)を渡している

いろんな言語の低レベルな知識がごっちゃになってるという最悪の状況

377:デフォルトの名無しさん
07/05/26 02:14:34
s as intger =0
n as intger =1
aa as string =123456

s = n + aa(0)

だとおk?
一部省略

378:デフォルトの名無しさん
07/05/26 02:16:18
aa(0)をint(aa(0))に修正↑

379:359
07/05/26 02:20:08
>>374
大体、Integer型とInteger型の配列は全くの別物ですから。IntegerはInt32構造体、Integer()はArrayクラスが本来の姿です。
従って配列を渡したかったらちゃんとそう書かないとだめです。

Function(ByVal n As Integer, ByVal aa As Integer())

見たいな感じで。
あとVB.NETだと参照型は値渡しでちゃんと参照が渡されるから、配列渡す時は無闇にByRef使うとえらいことになります。

そもそも、アンマネージDllの呼び出し(PInvokeとか呼ばれてますけど)はマーシャリングという処理が必要で結構奥が深いですよ?

380:デフォルトの名無しさん
07/05/26 02:21:52
でたよ・・・
プログラマ特有の頭でっかち

381:デフォルトの名無しさん
07/05/26 02:23:30
>>380
頭を落としてきた人は黙ってて下さい

382:359
07/05/26 02:25:56
>>374
あと、俺みたいに前のレス番名乗らないから>>375みたいな突込みがくるわけで。
この板にはID無いから自分が前に出した質問があるときはちゃんと名前欄に書きましょう。
>>380
どうせ俺は21の高卒プログラマですよ・・・

383:デフォルトの名無しさん
07/05/26 02:34:30
何か勘違いしているようだが>>335でもないし>>347でもないぞ?

384:デフォルトの名無しさん
07/05/26 02:49:26
>>383
本当だ・・・>>357だと思ってたんだけど>>357はちゃんとレス番書いてあるorz
まぁちゃんと書いても騙りに沸かれたらそれまでなんですけどねw

385:デフォルトの名無しさん
07/05/26 02:49:56
>>382
まぁそういうな
つうか、ここでは年齢も学歴も関係ないだろ
そうやって思ってもないのに自分で自分を卑下してるフリしてるやつはムカつく

386:359
07/05/26 03:18:18
>>385
まぁ実際普段仕事する分には学歴なんざ糞の役にも立たないんでしょうが、場数も学歴もないと転職キツくありません?
ちなみに俺が知る限りウチの会社のプログラマに大卒は居ませんw

つーかそういう話題はマ板逝けって言われそうなんで>>377-378の件

なんか文法エラーが混じってるんで一番好意的に解釈した結果になりますが、
aa="123456"だとすると、CInt(aa(0))の結果は'1'のキャラクターコード=&H21です。
したがって
s = n + CInt(aa(0)) = 1 + &H21 = 34

になりますけど、それは意図した動作ですか?
そもそも>>374>>357だと冗談抜きでエスパーでもないと無理w

387:386
07/05/26 03:24:50
間違えたorz
CharからIntegerって普通には変換できないじゃんw

388:デフォルトの名無しさん
07/05/26 03:28:13
>>386
お前の知る世界が狭いだけ
ヘッドハントなんざいくらでもある
そこに学歴は関係ないからな

つうか・・・・落ち着いて書きこめよ…・
デバッグ忘れでリリースしそうなやつだな・・お前…

389:デフォルトの名無しさん
07/05/26 07:46:16
VBでSumって組み込みであるの?

390:デフォルトの名無しさん
07/05/26 11:55:06
>>388
なんか背伸びしてる感がありありだよ
ヘッドハントってお前さんどんな「生き馬の目を抜く」世界にいるんだよw

そりゃあるかないか、といえば確かに「ある」が、それはお前さんの世界じゃないだろうに。

391:デフォルトの名無しさん
07/05/26 17:00:20
変数の値ではなく、変数名を文字列に変換することはできますか?
またその逆はできますか?
趣味でプログラミングを始めた初心者ですが、どなたか教えていただけませんでしょうかm(_ _)m

392:デフォルトの名無しさん
07/05/26 17:51:43
できるかできないか、で言えば可能だが、初心者にははっきり言って無理。
初心者にはもっと他にやることあるだろ。

393:デフォルトの名無しさん
07/05/26 21:45:29
>>391
ローカル変数は無理
クラスや構造体のフィールドなら可能
言葉の意味がわからないなら諦めろ

394:デフォルトの名無しさん
07/05/26 23:28:26
そんなの自分でソースをパースすればいいんだよ。なんでもできる。

395:デフォルトの名無しさん
07/05/26 23:47:05
WebBrowser で Excelファイルを表示したとき、
VB6 の頃は Excel のツールボタン列がいくらでも選択できて
表示できたのですが、VB2005 になってから表示されないようなのですが、
もし表示するための方法等がありましたら教えてください。

よろしくお願いします。

396:デフォルトの名無しさん
07/05/28 06:11:59
VB.NET→VB2005への移行は簡単ですか?
VB6→VB.NETへの移行とどちらが簡単ですか?
そろそろ.NET Framework1.1のサポートが終了と聞いたので。

397:デフォルトの名無しさん
07/05/28 09:32:10
>>396
そりゃ 過去の.NET→2005の.NETにきまってるじゃないか

基本的な部分は変わってないんだから



398:デフォルトの名無しさん
07/05/28 09:53:51
VB2005で現在のカーソル位置を行数で知りたいんですけど、便利な方法ありますか?
確かExcelVBAでは画面の上のほうに出てたと思うんですが・・・

399:デフォルトの名無しさん
07/05/28 10:28:51
何のカーソルの位置を何の行数で知りたいの

400:デフォルトの名無しさん
07/05/28 12:33:59
399は優しいのな。
俺は398みたいなおタンチンは相手にする気になれん。

というか、どうせこんな人間相手に自分の希望を伝えることすらできない人間が
満足なコードなんて書けるはずがないと思うんだが。

401:398
07/05/28 13:57:34
コードエディタのカーソル位置です。

エラーがあったときデザイナを開くと「XX行目にエラーがあります」みたいなメッセージが
出るのですが、その行数に飛びたいのです。

確か空行飛ばしてカウントしてたと思います。今確認しようとしてるんですが
エラーは出ても「XX行目に…」というメッセージが出ない・・・


402:デフォルトの名無しさん
07/05/28 14:13:20
普通に標準機能じゃ満足できないのか?

403:398
07/05/28 14:32:51
標準って、「エラー一覧」ウィンドウに出てるエラーメッセージをダブルクリックして飛ぶって意味ですか?
それができなかった時があったと思うんですけど…
ていうか再現できない。何でかなー


404:デフォルトの名無しさん
07/05/28 15:44:50
アホをVB.NETスレから出すなよ……

ふらっとC♯, C#(初心者用) Part16
スレリンク(tech板:257番)

257 名前:デフォルトの名無しさん[] 投稿日:2007/05/28(月) 14:47:42
すみません、VB.NET の方で訊いてみたのですがご指導いただけません
でしたのでこちらでも訊かせてください。すみません。

WebBrowser で Excelファイルを表示したとき、
VB6 の頃は Excel のツールボタン列がいくらでも選択できて
表示できたのですが、VB2005 になってから表示されないようなのですが、
もし表示するための方法等がありましたら教えてください。

よろしくお願いします。

405:デフォルトの名無しさん
07/05/28 16:18:34
いや・・・これ・・・VB.NET関係無い気が・・・

406:デフォルトの名無しさん
07/05/28 16:45:46
>>405
中のソースをVB.NETで書いてたんじゃね?

407:デフォルトの名無しさん
07/05/28 17:02:13
IEかOfficeスレへ逝くべきかな
しかし、俺の環境じゃ普通に表示できたぞ
プログラミング勉強するよりWindowsの基本操作勉強したほうがいいんじゃねぇか

408:デフォルトの名無しさん
07/05/28 18:07:03
初心者です。
教えてください。

フォーム上に2つのボタン Button1とButton2があったとして
Button1をクリックした処理の中に、
「Button2をクリックされたイベント」を発生させたい場合
どうしたらよいのでしょうか?

409:デフォルトの名無しさん
07/05/28 19:34:40
>>408
VB6とかVBAではなんて書いた?
それがヒント。

410:デフォルトの名無しさん
07/05/28 21:17:50
>>408がVB6やVBAの経験があるとは限らないだろ

Clickイベントを発生させたいのか、
それともイベントハンドラのメソッドさえ呼べればいいのかどっち?
前者ならButon2.PerformClick()、後者ならButton2_Click(sender, e)

411:デフォルトの名無しさん
07/05/28 21:50:04
>>410
いや、まあ、ただ教えてくれってだけじゃなくて、考えるヒントになればって
思っただけ。
クラスとかの質問じゃないから、どうやればそのイベントを発生させるか
考えられたら、のちのちのためになるかなぁと。

412:デフォルトの名無しさん
07/05/28 22:13:42
だからって>VB6とかVBAではなんて書いた? がどうヒントになるんだ
だいたいPerformClickなんて
知ってるか知らないかだけの問題であって考えても仕方ないだろ
自分で調べられるならこんなところで聞かないだろうし

413:デフォルトの名無しさん
07/05/28 23:00:59

>>410
>>409

ありがとうございます。
ちなみにVB6、VBA 経験なしです。。。

414:デフォルトの名無しさん
07/05/29 00:07:15
あとVisualStudio使ってるか使っていないかは最低でも伝えてほすぃ

415:デフォルトの名無しさん
07/05/29 02:12:54
>>411
馬鹿は教育しなくていいよ。
知ってれば答えろ。知らなきゃ黙ってろ


416:デフォルトの名無しさん
07/05/29 08:24:32
なるほど、だから誰も君には何も言わないわけかw

417:デフォルトの名無しさん
07/05/29 09:58:26
おまえら・・・・

もうちょっと教えて君には聞き方教えてやろうぜ?
だからC#に聞きにいったりするアフォが出て来るんだし

>>413
せめてPG経験とか、何の言語使えるとか情報出さなきゃ
知識が0なのかどうかすらわからん・・・・
例えばJAVA経験あるといえば、JAVAでいうところのこんなもんだ

って砕いた説明してくれる奴も居るだろうし
てか、何でこういう奴出てくるんだろうな・・・ 何も情報出さずにエスパーしてほしい奴多すぎね?

418:デフォルトの名無しさん
07/05/29 13:26:32
何で、ってそれがVB.NETクォリティだろ

419:デフォルトの名無しさん
07/05/29 13:44:27
>>418
そうか・・・そうだよな
ァ '`,、'`,、('∀`) '`,、'`,、

420:デフォルトの名無しさん
07/05/29 14:59:08
VB2003で、「起動時に前回終了時のウィンドウのサイズを復元する」
ということをフォームのプロパティ設定だけで実現できますか?

421:デフォルトの名無しさん
07/05/29 15:04:45
いいえ

422:デフォルトの名無しさん
07/05/29 15:35:18
レジストリに書いたら??

423:デフォルトの名無しさん
07/05/29 15:43:39
>>420
明らかにそんなものないだろうが

何の為の設定ファイルやレジストリだ?カス

424:デフォルトの名無しさん
07/05/29 16:13:21
どうやったらできますか?って質問ならまだしもな。


425:デフォルトの名無しさん
07/05/29 19:17:57
Webで調べたら、プロパティ設定で実現する方法を説明しているサイトがなかったのと
そういうプロパティが無かったので、そうじゃないかと思ったのですが、
明確に「プロパティ設定ではできません」みたいな説明がなかったので・・・

昔いじってた特殊な開発環境だと、そういうプロパティがあったので、
VB2003でも無いのかなと思ったのです。

426:デフォルトの名無しさん
07/05/29 19:20:59
まあそう突っかかるような質問ではないよな。
2005なら可能だよ確か。
俺はそういうのくだらない仕様だと思うからやったことはないけどね。

427:デフォルトの名無しさん
07/05/29 19:24:46
>>425

>明確に「プロパティ設定ではできません」みたいな説明がなかったので・・・
おま・・・・・
ありえないものをどのように説明するんだと・・・・
やれるとしたら中間ファイルを書き換えるとかの手法くらいだ
まずありえないけど

極端な話、自分が頭で思ったことをソフトにしてくれるツールありませんか?
というような疑問や質問があって
その答えを探しているようなもんだと思うぞ
まともにいけば質問すらないだろう・・・・?

>昔いじってた特殊な開発環境だと、そういうプロパティがあったので
何の環境なのかkwsk
一度そういう環境って見てみたい


428:デフォルトの名無しさん
07/05/29 19:28:57
>>427
だから悪いけど足りないのはお前さんの方だよ。
>>425が想定したような機能が存在することを仮説するのはそんなにおかしなことじゃない。

まあ、「お前自分で全然調べてないだろう」感は否めないがね。

429:デフォルトの名無しさん
07/05/29 19:39:46
>>427
機嫌でも悪いのか?
まぁそう突っかかるなよ

>>425
まぁVB.NETなら大人しくアプリケーション構成ファイル使ったほうが吉と思われ

430:デフォルトの名無しさん
07/05/29 20:46:52
外部にファイルを作らずに…とは言ってないんだから、
プロパティの実装によってはプロパティに値を設定するだけで設定を永続化させるのも可能
ありえなくはないわな

431:デフォルトの名無しさん
07/05/29 21:49:33
最近、あっちこっちで暴れてるヤツが1名いるようだな・・・

432:デフォルトの名無しさん
07/05/29 22:04:40
>>420
MaximizeBoxとMinimizeBoxをFalseにして、
BorderStyleをFixedSingleにすればいいんじゃね?

433:デフォルトの名無しさん
07/05/29 22:34:28
>>432
それは、そもそも可変不可では?

434:デフォルトの名無しさん
07/05/30 15:11:52
Webプログ板みてもASP.NETのスレがないので、ちょいとここで聞きたいのですが。

MicrosoftからExpression Webという新しいWeb作成ソフトの紹介メールがきたんですが
ホームページビルダー持ってる人は今なら68%オフで買えるそうです。aspxファイルとの連動
も良いと書いてあります。自分は今までJava,PHPでWebシステムを構築してきましたが、
今度からASP.NETもやらなくちゃなりません。このソフトは買ったほうがいいですか?

435:デフォルトの名無しさん
07/05/30 18:41:34
>>434
とりあえずASP.NETのエディタ先使って
で満足できなければ試用してみれば?

436:デフォルトの名無しさん
07/05/31 02:23:15
値型の代入も、参照型の代入も = で
こんな糞な言語仕様をユーザに提供して、
自分たちは使ってないんだろな。

437:デフォルトの名無しさん
07/05/31 02:29:57
(゚д゚)ハァ?

438:デフォルトの名無しさん
07/05/31 11:04:19
>>436
じゃぁどうするんだ・・・?
C#とかで作ってるマイクロソフト製のソフトもあるぞ?

439:デフォルトの名無しさん
07/05/31 11:53:27
いやいや、つか多くの言語はそうだろ

440:434
07/05/31 12:50:30
>>435
はっ。ありがとうございます。自分はちょうど浮き金がそのくらいあるのですが
交際費のためにとっておく(貯金しておく)か、それを買うか迷ってます。交際費はデートではないです。念のため。

一応、貯金しておくかな?

スレ違い、ありがとうございました。

441:デフォルトの名無しさん
07/05/31 14:25:37
VB.NET 2005で初歩的な質問なのですが

ある画像をBitmapオブジェクトで取得したい場合

Bitmap.FromFile("hogehoge")
で取得してもImageを取得するようになっています。

現在は
CType(imageObject,Bitmap)
で変換をかけているのですがなにかもっといい方法はないでしょうか?

442:デフォルトの名無しさん
07/05/31 14:42:15
Bitmapクラスのstringをひとつだけ引数にとるコンストラクタを使えば?

443:デフォルトの名無しさん
07/05/31 14:58:18
>>442
あ・・・・
そうですね 今見たらFileName引数に取るのがありました
見落としてました お手数をおかけしました

444:デフォルトの名無しさん
07/05/31 15:09:02
VB.NETを使用してプログラムの作成をしているのですが
スプラッシュウィンドウで画像を動かすにはどうしたらいいのでしょう?

445:デフォルトの名無しさん
07/05/31 15:19:05
>>444
具体的に動かすというのは・・・どう動かしたいんだろう???

ピクチャボックスに画像表示させて
タイマのイベントの中でLocationを変更させるとかでは解決できないような事?


446:デフォルトの名無しさん
07/05/31 15:20:05
さすがにLocationはお粗末過ぎるだろ
自分で描画しろ

447:デフォルトの名無しさん
07/05/31 15:35:43
>>446
まぁw そうなんだけど 何をやりたいかも見えてこなかったのでそう言ってみた
反省はしていない


448:デフォルトの名無しさん
07/05/31 15:38:59
アニメーションGifをスプラッシュウィンドウのPictureBoxに貼り付けておく

449:デフォルトの名無しさん
07/05/31 15:44:08
この機会にWPFに乗り換える

450:デフォルトの名無しさん
07/05/31 16:02:24
>>449
横レスだが

あ~ いいよねぇ・・・つかいてぇわ
FrameWork3.0導入できる所って うらやましい

ウチはまだ検証段階だからって業務で使わせてくれない・・・


451:デフォルトの名無しさん
07/05/31 17:41:15
>>445
タイマのイベントの中でLocationですね。
調べてみます。

>>448
それは簡単そうですね。
ただGIF画像の作り方がわからないので
こちらも勉強が必要みたいです。

452:デフォルトの名無しさん
07/05/31 17:44:10
回答ありがとうございます。

具体的な目的が無く
かっこいいスプラッシュウィンドウを作りたい
という程度なので

簡単で「かっこいい」スプラッシュウィンドウの作成方法があれば
教えていただけたらうれしく思います。


453:デフォルトの名無しさん
07/05/31 18:03:37
>>452
まぁありきたりだけど
画像とプログレスバーでXP起動画面っぽいのはどう?

その前後でスプラッシュフォームのPacity(つづり忘れた)を増減させて

透明→表示→プログレスバー増加→透明→起動フォーム表示

とかだったら結構ラクだと思うけど


454:デフォルトの名無しさん
07/05/31 23:11:07
透明?

使いたい画像があってそのロゴを
シャキーンて感じに出したいのですが

えと、画像が横からスライドして登場したり
だんだん大きくなったりとか(フェードイン?)

説明わかりにくくてすみません

455:デフォルトの名無しさん
07/05/31 23:28:02
透明はフェードインとかのイメージだと思うよ。
って大きくなっていくのもフェードインというのか?そうか…


456:デフォルトの名無しさん
07/06/01 00:04:30
透明といえば

フォームの背景色を透明にすることは可能でしょうか?

プロパティのBackGroundColor(?)でWEBタブのI何とか
を選んでもエラーがでてできません。

457:デフォルトの名無しさん
07/06/01 00:49:50
結論:スプラッシュは不要

458:デフォルトの名無しさん
07/06/01 02:26:08
呼び出し先のDLLがアンマネージドの場合、
そちらのDLL内で使用されたメモリは
.NET Frameworkによって自動的にGCされるのでしょうか?

下記のような構成の場合、
①や②はGC対称だが、③の場合、
③内で確保されたメモリが③内で明示的に開放されない限り、
GCされずに確保されっぱなしと考えているのですが、
その理解で問題ないでしょうか。


VB.NETのEXE  ①
↓↑
C#のDLL    ②
↓↑                  ↑.NET系の言語
-------------------------------------------------
↓↑                  ↓非.NET系の言語
普通のCのDLL ③

また、③がメモリをリークしているか否かを確認するには
呼び出す直前、直後に

Process.GetCurrentProcess.WorkingSet

仕掛ければいいのでしょうか
(このやり方だと、カレントプロセスの使用メモリが合算されちゃうのですが、
 直後-直前の差分が③のメモリ使用量になるかと思うのですが。。。)

※すれちがいかも知れませんがアドバイスいただければ。

459:デフォルトの名無しさん
07/06/01 03:24:39
DLL内で使用された解放されないメモリ、てのが分からん。
そんなんがあったらアンマネージドの世界が大混乱だろ。

直呼びだろうがP/Invokeだろうが
呼び出し側で解放が必要なメモリは呼び出し側で解放する。それだけだろ?

バッファを要求するAPIでMSDNにCallerはMemoryをFreeすることを
Requiredと書いてあるときは呼び出し側の.netでFreeすることがMustですよ?

WorkingSet からリークを判定しようなんて非現実的過ぎて
しょんべんもでないわ。


460:デフォルトの名無しさん
07/06/01 07:06:39
そもそも.NETなのにリークが発生するのかと。
発生しないだろ、GCあるのにw

461:デフォルトの名無しさん
07/06/01 09:36:19
あほ

462:デフォルトの名無しさん
07/06/01 09:37:11
横からスマソン。
>>459のいうとおり、確かに呼び出し元でメモリ確保したら責任もって解放するのが原則だ。

ただ、>>458

> 呼び出し先のDLLがアンマネージドの場合、
> そちらのDLL内で使用されたメモリは

っていってるから、たぶん呼び出された側のアンマネージドの中で
定義してるローカル変数アロックして、その後フリーし忘れたらどうなるのか
きいてんじゃないかい?

呼び出す前後のメモリ調べようとしてるから、
そういう意味なのかと思ったが。

はずしてたらすまん。エスパーじゃないんで。

463:デフォルトの名無しさん
07/06/01 09:50:04
つうかMarshalクラスでオブジェクトがComかどうか調べてReleaseつかって開放すればいいじゃん

464:デフォルトの名無しさん
07/06/01 10:12:49
>>459も460もちがうんじゃんw

465:デフォルトの名無しさん
07/06/01 15:12:32
Office2002のCOMを使用したプログラムは、Office2007のインストールされた
PCでも正常に動作するでしょうか?




466:デフォルトの名無しさん
07/06/01 15:24:07
質問させてください。
環境はVB2005です。

DataGridViewで、例えば編集可能な列が2列あったとします(仮にカラムA、カラムB)。
この時、カラムAのセルに文字を入力したあと、同じ行のカラムBのセルにフォーカスを
遷移させたいのですが、勝手に入力したセルのひとつしたのセルにフォーカスが
遷移してしまいます。
どうにかして横のカラムBにフォーカスを遷移させられないでしょうか…。

どこかプロパティで指定できるのか、CellEndEditあたりのイベントに何か書けばいいのか、
探っているのですがさっぱりです。
わかる方いらっしゃいましたら、ご教授お願いします。

467:デフォルトの名無しさん
07/06/01 15:32:22
>>466
入力の終了はどうするの?Enterで移動することになるのかな?

それだったらKeyPressなりでKey引っ掛けて
現在編集中ののCellを取得し、そのRowとColumnのインデックスでも取得して
取得した現在のRow、ひとつ右のColumnのセルを指定してEditを開始してやればいいと思うよ

メンバで確か編集を開始するメソッドがあったと思うけど・・・・

最終列の場合はどうするかわからないけど、まぁどうにでもなるってこったww
説明ヘタですまないな

468:デフォルトの名無しさん
07/06/01 15:48:49
>467
レスありがたふ。

現状
編集可能なセルの上で何かキーを押す→編集モードになる
文字入力してEnterキーを押す→編集モードが終り、下のセルに(勝手に)フォーカス遷移

編集モードになっていないときはKeyPressやらKeyDownでEnterが拾えるんだけども、上記の場合だと拾えない…
むむむ。
もう少ししらべてみまっしゅ。

469:デフォルトの名無しさん
07/06/01 16:26:48
>>468
ちょっwwwwww
ちょっと調べてみてたらMSDNに答えあるじゃねぇかwwwwww
URLリンク(msdn2.microsoft.com)


470:デフォルトの名無しさん
07/06/01 16:50:10
>469

471:デフォルトの名無しさん
07/06/01 16:51:18
>469
途中で書き込んでもーた(´・ω・`)
継承したコントロールつくるしかないのかー・・・・
ありがとう。

472:デフォルトの名無しさん
07/06/02 15:36:45
Property の Attribute 設定においては条件分岐などが使えるとうれしいのですが
可能でしょうか?例えば、何かの場合にはこの項目は表示し、別の場合には表示しない、
などができると助かるんですが・・・。

473:デフォルトの名無しさん
07/06/02 15:51:46
>>472
「例えば」が何の例示にもなってない。
もっと具体的に。


474:デフォルトの名無しさん
07/06/02 16:14:06
>>473

そうですね、いくつかのオブジェクトで共通の項目があるとして、
しかし、何かの条件が立っているときは、それを編集不能にしたい、
つまり PropertyGrid で Disabled にしておきたい、などですね。

もし Attribute で If文みたいな条件分岐や、オブジェクトのインスタンス
フィールドによるBoolean値 が使えなければ基本的に Attribute での
処理は不可能なのだと思います。そういう理解でいいでしょうか。

その場合は他の方法を考えて見ます。

475:デフォルトの名無しさん
07/06/02 16:16:31
>>474 > Disabled <- これは ReadOnly(True) のことです


476:デフォルトの名無しさん
07/06/02 16:18:11
PropertyDescriptorでなんとかなるんじゃね?

477:デフォルトの名無しさん
07/06/02 17:28:07
>>476
どうもです、PropertyDescriptor で オブジェクトの
インスタンスフィールドによるBoolean値が使えるかどうか
調べてみます。

478:デフォルトの名無しさん
07/06/02 18:24:36
>>472
なんか質問が釈然としないなあ。
まずコンポーネントまたはFormのコントロールの話なんだよね?

その自作のコンポーネントまたはコントロールをFormに貼り付けた時の、
デザイナのプロパティグリッドの表示を動的に変化させたいってこと?

そうなら無理な気がするし、そもそもそんな必要もないのでは。
プロパティグリッドの表示の制御って属性で行うと思うんだけど、
属性のプロパティって実行時に変えられたっけ?

プロパティの説明で「この値はXXがOOの時には無効です。」と表示した上で、
必要なら変更を無視するコードを書けばそれで必要十分だと思う。

479:デフォルトの名無しさん
07/06/02 19:37:22
>>478
>プロパティの説明で「この値はXXがOOの時には無効です。」と表示

するのは今それでやっていました。

まあそうなんですが、ReadOnly(True) の True のところに、
Boolean型の論理式を入れて制御できないものかと思ったのです。

やってみるとどうもインスタンスフィールドを使うとダメだといってくるので
やっぱり不可能なのかなと思ったので、もしかしてどなたかやった方は
おられないかと思いまして・・・

また調べてみますが、ダメであれば別の方法考えてみます。

480:デフォルトの名無しさん
07/06/02 21:16:59
別の方法って、プロパティグリッドを制御する方法が(コンパイル時に決定する)
属性のプロパティの値以外に用意されてないとしたら不可能でしょだから。

だからそんなにどーしても変えちゃダメ、ってプロパティーなら、条件次第で
変更キックするようなコード書けばいいだけじゃん。
俺はうっとうしいと思うけど、必要ならメッセジボックスでも出してさ。

481:デフォルトの名無しさん
07/06/02 21:58:18
属性は型情報なんだから、特定のインスタンスのフィールドがどうこう考えてる時点でおかしいと思えよ

482:デフォルトの名無しさん
07/06/04 01:43:00
最近見かける(´・ω・`)←これの
口の部分ってどうタイピングすれば出るんだ?

483:デフォルトの名無しさん
07/06/04 02:15:06
オメガでおk

484:デフォルトの名無しさん
07/06/04 02:22:07
>>483
(´・Ω・`)サンクス

485:デフォルトの名無しさん
07/06/04 03:56:42
>>483
(´・λ・`)サンクス


486:デフォルトの名無しさん
07/06/04 07:57:45
↓この書き方ってセンスが無いでしょうか?行によってカンマから始まったり、そうでなかったり・・・
Private Sub Test(a1, a2 _
, a3, a4, _
a5, a6 _
, a7, a8)



487:デフォルトの名無しさん
07/06/04 11:14:53
ない

488:デフォルトの名無しさん
07/06/04 11:25:34
カンマは前の要素にくっつけるもんだろ。

489:デフォルトの名無しさん
07/06/04 11:52:16
偶数行に特別な意味を持たせたいのならば、ないこともない

490:デフォルトの名無しさん
07/06/04 12:56:46
>>479
.NET 2003 でやろうとして挫折した覚えが…
そのときは結局、取得なら
TypeDescriptor.GetProperties(オブジェクト).Item("プロパティ名").Attributes
でできるけど、AttributeCollection 自体が ReadOnly なんで
動的には変更できない、という結論に。
だが、君ならきっとやれる。頑張ってくれ。そして教えてくれ。

491:デフォルトの名無しさん
07/06/04 17:24:46
それは方向が間違っとる
デスクリプタカスタマイズしても動的に読んでくれないと意味ないし。


492:デフォルトの名無しさん
07/06/05 00:36:57
マクロで頑張ってVSを操作すればできそうな気がする
気がするだけ

493:デフォルトの名無しさん
07/06/05 01:22:18
それはただの気のせい

494:デフォルトの名無しさん
07/06/05 22:46:12
携帯から失礼します
SQLの質問です

Sqlコネクトストリングを
"DataSourse = .\EXPRESS"な感じで、
ローカル\EXPRESRを指すとします

その時に、例えば、カレントのサーバーを"AAA"と設定して、
先ほどのコネクトストリングを使用して
"AAA\EXPRESS"を指すことってできるでしょうか?

よろしくお願いします

495:デフォルトの名無しさん
07/06/05 22:50:49
>>494
やってみてダメならまたおいで

496:デフォルトの名無しさん
07/06/05 23:13:15
すみませんが教えてください。お願いします。

イミディエイト・ウインドウで、"?" の後ろに、オブジェクト変数をタイプして
エンターすると、オブジェクトのパラメータがダーッと出てくるんですが、
最後まで出ないで
< 詳細... (486 のアイテムの最初の 100 を表示しています。) >
となって終了します。これを全部出すにはどう操作すればいいでしょう?

よろしくです。

497:デフォルトの名無しさん
07/06/06 00:02:13
直前に処理したメソッドの内容を無効にして、一つ前状態に戻すアンドゥーの様な
機能を持つボタンを作りたいのですが、どうすればいいでしょうか?

498:デフォルトの名無しさん
07/06/06 00:14:21
直前の操作を覚えていれば、逆操作できるだろ

499:デフォルトの名無しさん
07/06/06 00:15:27
動作をスタックにしていれとく
戻したらこんどはRedoのスタックにいれる

500:最凶VB厨房
07/06/06 00:32:03
>>497
あらかじめ処理する時に、
変更対象のデータの変更前と変更後を記録しておく。
その記録から、変更後の状態から変更前の状態に戻す。

処理手順の記録も方法の一つ。最初の状態からどんな処理をしたのか
手順を記録しておく。
その記録から最初から最後の処理直前まで処理をして
元に戻す。

前者はExcelちっくな表。後者はお絵かき。を想定。

501:デフォルトの名無しさん
07/06/06 05:03:57
>>498-500
レスありがとうございます。よくわからないけどいろいろ試してみます


502:デフォルトの名無しさん
07/06/06 06:59:42
>>497
覆水盆に帰らず

503:デフォルトの名無しさん
07/06/06 10:45:05
プリンタの一覧を取得したく、以下のプログラムを組みました。

For Each p As String In Printing.PrinterSettings.InstalledPrinters
Debug.WriteLine(p)
Next

しかし、ネットワークプリンタで問題が生じています。
「\\マシン名\プリンタ名」で取得したいのですが、
「自動 プリンタ名 (マシン名 上)」の形式で取得できてしまいます。

ネットワークプリンタを「\\マシン名\プリンタ名」の書式で取得する方法はないのでしょうか?

宜しくお願いいたします。


504:デフォルトの名無しさん
07/06/06 14:14:08
初めて質問します。VB6の時、msgbox が表示されたときに、
CNTL + BREAK でデバッグモードに移行できたのですが、
VB.NET ではできません。なんか方法がありますか?


505:デフォルトの名無しさん
07/06/06 14:21:17
あります

506:デフォルトの名無しさん
07/06/06 14:39:24
>>503

507:デフォルトの名無しさん
07/06/06 14:41:14
>>503
それで普通に
\\マシン名\プリンタ名
で出るけどな。
「自動 プリンタ名 (マシン名 上)」

508:504
07/06/06 15:01:05
>>505
すいませんが、教えてください。


509:デフォルトの名無しさん
07/06/06 15:06:48
>>508
メッセージボックスが出たらその行にブレークポイント仕掛ければいいんじゃね?

510:504
07/06/06 15:11:59
それをせずに、したいのです。VB5では当然のように、できてましたから。

511:デフォルトの名無しさん
07/06/06 15:32:46
>>504
IDE に戻って Ctrl+Break では不満なのか。

512:504
07/06/06 15:56:09
>>511
知らなかった。そんな方法でできたとは・・・  ありがとう。

513:デフォルトの名無しさん
07/06/06 21:06:23
なぜ、DB書き込む時のADDNEW  がなくなったんですか?
VB6でも 皆、使わないんですか?


514:デフォルトの名無しさん
07/06/06 21:15:38
は???
>>513
NewRowがあるじゃないか????
ん???
イミフ

515:デフォルトの名無しさん
07/06/06 21:59:15
うへへww

516:デフォルトの名無しさん
07/06/07 06:54:44
Visual Studioのマクロも子のスレでいけるんでしょうか?

517:513
07/06/07 09:31:44
>>514
ADDNEWがいいんです。

518:513
07/06/07 09:35:58
すまん。知らなかった。INSERT してた。

519:デフォルトの名無しさん
07/06/08 20:40:15
なんか最近廃れてるね。

[質問1]
Nullable(of T)の型に別名をつける方法って何かないかな?

[質問2]
Windows Form用の自作の複合コントロールAがあるとして、
それを継承するコントロールA'にさらにコントロールやコンテクストメニューを追加すると、
ビルドも実行も問題ないのにA'をデザイナで開くことができなくなることがあるけど
(このとき、「ClickはReadonlyなので書き込みできない、ような意味の例外メッセージがデザイナに
表示される)こういう場合もしAに何か問題があるとしたらどんな可能性があるでしょうか?

520:デフォルトの名無しさん
07/06/08 20:50:07
>>519
[質問1]Imports NullableInt = System.Nullable(Of Integer)
[質問2]例を出せ

521:デフォルトの名無しさん
07/06/08 21:05:18
>>520
[質問1] について
なるほどこういう場合もImportsが一応使えるのか、ありがとう。

でも、(いや俺の質問の仕方が悪いのですが)その方法だとNullableIntっていう別名は
ファイルスコープ(別のファイルからは見えない)になるよね?

例えばList(of T)なら、

Public Class IntList
Inherits List(Of Integer)
End Class

のように形だけの継承をしてList(Of Integer)にIntListという別名をつけることができるわけだけど、
同じようなことがNullableでもできないかと思いまして。

[質問2] について。
まあおっしゃるとおりなんですが、そういう問題が起こってる複合コントロールは
業務で使ってるんでコード晒せないんですよ申し訳ない。

522:デフォルトの名無しさん
07/06/08 21:21:42
なんでC#だと言語レベルでNullableをサポートしてるのに
VB.NETはサポートしてないんだろうな
逆ならわかるけど

523:デフォルトの名無しさん
07/06/08 21:27:18
なんでわかるのかわからない

524:デフォルトの名無しさん
07/06/08 21:40:03
どうでもいいお手軽記法っぽいから
でもC#と違ってVB.NETはできるだけ記号を使わない方針のようだから
Dim i As Nullable Integer みたいにするんだったら意味ないと考えたのかな

525:デフォルトの名無しさん
07/06/08 21:41:51
javaで

ArrayList<Customer> arryCst = new ArrayList<Customer>();
while(rs.next()){

Customer objCst = new Customer();
objCst.setStrCode(rs.getString("code"));
objCst.setStrYomi(rs.getString("yomi"));
objCst.setStrName(rs.getString("name"));

objCst.setStrPost(rs.getString("post"));

objCst.setStrAddress(rs.getString("address"));
objCst.setStrTel(rs.getString("tel"));

arryCst.add(i,objCst);


i++;
}

見たいな事を.NETでやりたいんですが。。

あるクラスのインスタンスを作ってそのフィールドにDBからとってきた値を格納。
それを配列にしてほかのクラスに渡すようなことをしたいんです。
どうすればいいでしょうか。

526:デフォルトの名無しさん
07/06/08 21:52:18
何がわからないのか
そのように書け、としか

527:デフォルトの名無しさん
07/06/08 21:53:32
ArrayList→List


528:デフォルトの名無しさん
07/06/08 22:03:53
>のように形だけの継承をしてList(Of Integer)にIntListという別名をつけることができるわけだけど、
やめてくれw


529:デフォルトの名無しさん
07/06/08 22:10:11
現在、VB.NETでClickOnceを使用し業務を作成しているのですが、
ClickOnceを使用した場合にクライアントPCのFDアクセスは可能でしょうか?

やれると思うのですが、確証が取れないのです誰か教えてください。

530:デフォルトの名無しさん
07/06/08 22:14:34
なんでテストしないの?


531:デフォルトの名無しさん
07/06/08 22:15:09
誰かができるといったら確証が持てるわけ?


532:デフォルトの名無しさん
07/06/08 22:15:51
ってかできないと思う理由は何?


533:デフォルトの名無しさん
07/06/08 22:17:40
>>528
別にごく普通の手法だと思うけど。。

534:デフォルトの名無しさん
07/06/08 22:19:48
それはおかしい

535:デフォルトの名無しさん
07/06/08 22:19:58
>>529
確証は自分が調べてやってみてから聞けよ
そうやってなんでもネットで調べようとするからカスになるんだ

536:デフォルトの名無しさん
07/06/08 22:31:09
>>533
ネタだよね?ね?

537:デフォルトの名無しさん
07/06/08 22:43:41
>>536
別に君がそう思いたければ思えばいいと思うよ俺は止めない。
内心馬鹿だな、とは思うが。

少なくとも俺は外部に公開するときに

Public Funtion Hoge() as List(of MyStruct)

みたいなことは不恰好だし面倒だしやってられない。
すれにList(of T)ってのは後々案外機能を拡張したくなったりするから
それに備える意味でも都合がいいしね。


538:デフォルトの名無しさん
07/06/08 23:06:10
まあ自分が使う分にはいいんじゃない

539:デフォルトの名無しさん
07/06/09 00:23:56
別名つけるのにそんなことしたら不便になる面もある。
まあ、その辺は割り切ってやってしまうってのもありだとは思うが。

やらないのは馬鹿みたいなのは本気か?と思うぞ。


540:デフォルトの名無しさん
07/06/09 01:01:11
>>539
すまん・・・俺の日本語の読解力が足りないせいか理解しづらい文章だ

541:デフォルトの名無しさん
07/06/09 01:16:06
やりたけりゃやりゃいいが、
それによる弊害もあるんだから、
やらないのは馬鹿みたいな言い方するやつは
ほんとに分かってやってるのか?
と疑問だってことだな。


542:デフォルトの名無しさん
07/06/09 01:24:59

              ら
  な       い
             か?


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch