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

              ら
  な       い
             か?

543:デフォルトの名無しさん
07/06/09 01:28:25
>やらないのは馬鹿みたいな言い方
ずいぶんとまた被害妄想的だねえ。
微妙に(いや本当はかなり)ニュアンス違わないか?

>>537にあえて言葉を付け加えるとすれば、

Public Class IntList
Inherits List(Of Integer)
End Class

これに弊害を感じるとしたらむしろそういう自分のセンスにこそ弊害を感じるべきだろう。
継承の1特殊形態(それも最単純な)に過ぎないわけで、これに弊害があるなら
継承なんて怖くて使えないだろう。

544:デフォルトの名無しさん
07/06/09 01:29:04
>>537
Integerはやめてって言う意味だと思う。

内心馬鹿だな、と思うのは内心だけにしたらどうかと。


545:デフォルトの名無しさん
07/06/09 07:35:39
>継承の1特殊形態(それも最単純な)に過ぎないわけで、これに弊害があるなら

本来同じ意味であるはずの元のListと逆方向の互換性がなくなるとか、
FindAllとかのコレクションを返すメソッドの互換性がなくなるとか
いろいろ弊害はあるわけだが。


546:デフォルトの名無しさん
07/06/09 07:46:36
>FindAllとかのコレクションを返すメソッドの互換性がなくなるとか
いや、互換性じゃなくて、期待通りに動かない、てことだな。


547:デフォルトの名無しさん
07/06/09 10:14:05
Public Class Form1
2: Inherits System.Windows.Forms.Form
3:
4: #Region " Windows フォーム デザイナで生成されたコード "
5:
6: Public Class Test
7: Public v As Integer
8: End Class
9:
10: Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
11: Trace.WriteLine(DateTime.Now)
12: Dim count As Integer
13: count = 10000000
14: Dim test(count) As Test
15: Dim i As Integer
16: For i = 0 To count - 1
17: test(i) = New Test()
18: test(i).v = i
19: Next
20: Dim sum As Long
21: For i = 0 To count - 1
22: sum = sum + test(i).v
23: Next
24: Trace.WriteLine(DateTime.Now)
25: End Sub
26: End Class


某HPからパクって来たソースです。
これってform classの中でpublic classとしてtestというものを宣言しているんでしょうか。
javaだとありえないんですけど、.netだと許されるんでしょうか


548:デフォルトの名無しさん
07/06/09 10:15:11
>>547
お前の存在そのものがあり得ないと思う

549:デフォルトの名無しさん
07/06/09 10:23:18
殺すぞテメ

550:デフォルトの名無しさん
07/06/09 10:39:18
殺人予告です!!!!



Try

殺人計画
包丁を足に落として自爆
いてぇえええええええええ


Catch Ex asException
 殺人前に一回オナニーしたいという性衝動の例外が発生しました
 DoTheオナニー

finally
もう殺人なんてどうでもいいや

end try

551:デフォルトの名無しさん
07/06/09 10:45:18
asException
でコンパイルエラーとなり、
殺人計画頓挫

552:デフォルトの名無しさん
07/06/09 10:47:53
>javaだとありえないんですけど、.netだと許されるんでしょうか
何がありえないのか明確に。


553:デフォルトの名無しさん
07/06/09 10:56:37
vb.net検索結果820万件
vb.net activereports 49100件

java検索結果3億以上
java + eclipse でも4500万以上
java eclipse struts 169万件

こんなマイナー言語もうやりたくねーー
わかりにくいHPかっ飛ばしてわかりやすいHP探すとか100%無理だし、本も売ってねーし
考えても答えでねーし。しかもスゲー忙しいからがんばってとか
さらにわけのわかんねー10万円以上するつーるつかって、.netでいっぱいいっぱいなのになんでわけのわかんねーツールまで持ち出す
言語知識0でいきなり現場投入とかわけわかんねえええ

適当モード確定
もうどーでもいいや、シネとか言ってごめんね
さようなら

554:デフォルトの名無しさん
07/06/09 11:03:04
クラスの中にもう一個クラス宣言することが許されるのかということ


javaちっくに別モジュールにクラス作ってそれほかモジュールから呼ぼうとしたらインスタンスがドーのこーの言われて
出来なかったので調べてただけです。
インスタンス作ろうにもnew クラス名() の()が.net側で勝手に消されてしまう。









555:デフォルトの名無しさん
07/06/09 11:09:43
>>554
おまえその様子じゃJAVAもまともに使えてないと思うんだ
使われてるレベルだと思う


556:デフォルトの名無しさん
07/06/09 11:10:25
>>554
試しにソース晒してみろよ?

557:デフォルトの名無しさん
07/06/09 11:19:05
>クラスの中にもう一個クラス宣言することが許されるのかということ
いつのJavaだよ


558:デフォルトの名無しさん
07/06/09 11:25:21
Java だと無名クラスなんてもんすらあるのにね

559:デフォルトの名無しさん
07/06/09 11:36:26
ソースさらしたくても会社にしかないので。大体こんな感じです

public class person

private name as string
private kana as string
private age as integer

public sub setPerson(byval name as string,byval kana as string,byval age as integer)

this.name = name '---------thisはmeだったかも、覚えてないです---------
this.kana = kana
this.age = age
end sub

end class

別もじゅーーるのフォームかなんかで
~前略

person ps =new person '-------かっこつけたくても自動で消えます
ps.setPerson(aaa,bbb,111)

コンパイルは通ってもインスタンスどーのこーのでエラー





javaは使いこなせてません、ただ見たことなかっただけですクラス中にクラスを作る。



560:デフォルトの名無しさん
07/06/09 11:40:48
>>559
結局何が言いたい(質問したい)んだい?
ただ馴れ合いたいだけなら個人的には他所いってやって欲しいね。

561:デフォルトの名無しさん
07/06/09 11:45:35
いったいそれは何言語だw

ちなみにVBでは引数なしのメソッド呼び出しの()は省略できる。
New だとIDEが勝手に消してしまうので、ほっとけばいい。


562:デフォルトの名無しさん
07/06/09 11:46:22
Javaの方がはるかに内部クラスだらけじゃないか
イベントハンドラを実装するために内部クラスを定義しないといけない仕様だぞ

563:デフォルトの名無しさん
07/06/09 11:46:29
>ただ見たことなかっただけです

見たことない=ありえない。
おまえは神様かっ


564:デフォルトの名無しさん
07/06/09 11:55:54
使ったことなかったですわ。('A`)
イベントハンドライベントリスナーのことでいいんですかね
それだったら使ったことありましたが1個1個implementsして使ってました。
無名とか内部クラスとかは知りませんでした。



.net書き方すらわからん初心者です。
板よごしなのでこれできえます。




565:デフォルトの名無しさん
07/06/09 12:01:17
逆に凄いなw

566:デフォルトの名無しさん
07/06/09 14:45:40
もうほっとけよ

567:デフォルトの名無しさん
07/06/09 17:36:42
vb2003です。くだらない質問ですがお願いします。
mdiの子フォームでキーボードを叩いた時、親フォームのkeydownイベントを走らせないように
したいのですけどどうすればいいですか?

568:デフォルトの名無しさん
07/06/09 17:58:25
親のKeyPreview = Falseにする。
する、というかデフォルトでFalseなはずだけど。
自分でTrueにしておかしいおかしいって言ってるとしたらアホ丸出しだね。

569:567
07/06/09 18:25:05
>>568
ありがとうございます。確認してみます。

570:デフォルトの名無しさん
07/06/10 13:58:04
vb.net2005でクラス同士が完全に等しいか比べるにはどうしたらいいのでしょうか?
equalsを使用してもうまくいきません

571:デフォルトの名無しさん
07/06/10 14:02:50
インスタンスじゃなくてクラスが等しいのか。
普通見ればわかるんじゃね?

572:570
07/06/10 14:04:13
>>571
すいません
インスタンスです

573:デフォルトの名無しさん
07/06/10 14:08:28
何をもって完全に等しいとするのかをはっきりさせんといかんな。

574:デフォルトの名無しさん
07/06/10 14:11:18
>>570
愚問だと思うよ。

そもそもそういう質問をするのはクラスがよく分かってないからだろうから
真面目に勉強しろ、としか言いようがない。

c#になるけど、アスキーから出てるartonって人のc#の本がその辺り
分かり易く掘り下げてるから読んでみるといいと思う。

575:570
07/06/10 14:15:08
>>573
なるほど!!!
何をもって完全に等しいかを考えればよかったんですね!!!!!

中に入っている変数の値、全てが完全に等しいものを探しているので
一つ一つ比較していけばおkですね!


arraylistとか型がobject型のものは完全に等しいかを考えるのがむずかしいですね

576:デフォルトの名無しさん
07/06/10 14:32:07
思而不学則殆そのものだな。
まあ人事だからどうでもいいけど

577:デフォルトの名無しさん
07/06/10 21:44:42
Wubi - Ubuntu installer for Windows
スレリンク(software板)l50

578:デフォルトの名無しさん
07/06/10 23:39:47
コピペ君って馬鹿だな、まで読んだ。

579:デフォルトの名無しさん
07/06/11 06:18:32
ここは初心者馬鹿にしてストレス発散するスレだな。


580:デフォルトの名無しさん
07/06/11 07:08:15
Form1で動画を再生(winmm.dllのmciSendStringAのopen、window、playを使って)→Form1をクリックしたら停止
というのを実現したいのですが、停止がうまくいきません。
Form1の動画以外の場所をクリックした時は停止するんですが、動画をクリックした時は停止しません。
動画をクリックした時も停止させる方法はあるのでしょうか?
ちなみに↓が停止のコードです。

Dim FileName As String = """C:\1.avi"""
End SubSub Form1_Click(省略) Handles Me.Click
mciSendStringA("close " & FileName, "", 0, 0)
End Sub

581:580
07/06/11 07:11:38
すみません、間違えました。
↓です。

Dim FileName As String = """C:\1.avi"""
Sub Form1_Click(省略) Handles Me.Click
mciSendStringA("close " & FileName, "", 0, 0)
End Sub

582:デフォルトの名無しさん
07/06/11 09:18:41
フォーム1に同じデリゲートのプロシージャ作って
動画のクリックイベントに停止処理のプロシージャをAddhandlerしたら終わるんじゃないの?


583:デフォルトの名無しさん
07/06/11 10:39:17
動画をクリッコしたとき発生するイベントに
mciSendStringA("close " & FileName, "", 0, 0)
って書けばいいだろ。

584:デフォルトの名無しさん
07/06/11 10:52:16
栗っ子

585:デフォルトの名無しさん
07/06/11 11:47:55
VB.NETでは「メソッド」と「プロシージャ」の言葉はどう使い分けてるの?
プロシージャ : クラスかモジュールに定義されたSubかFunction
メソッド : クラスに定義されたプロシージャ
でいいの?

586:580
07/06/11 14:37:12
めちゃくちゃ低能な質問ですが、

mciSendStringA("window " & FileName & " handle " & Me.Handle.ToString, "", 0, 0)

これで動画の表示先をForm1にしているのですが(MeはForm1)、この場合の動画のクリックイベントはMe.Clickではないのですか?

587:デフォルトの名無しさん
07/06/11 17:13:24
いや・・・・それいぜんに

Dim FileName As String = """C:\1.avi"""
>>End SubSub Form1_Click(省略) Handles Me.Click
mciSendStringA("close " & FileName, "", 0, 0)
End Sub

>>つけてる行のソースはありえないから

ヘタな小細工せずにそのまま貼り付けろヤ


588:デフォルトの名無しさん
07/06/11 17:19:45
データ個数32768個(可変)、チャンネルが8ch(可変)のデータがテキスト形式であります。
チャンネルはタブ区切り、データ個数は改行区切りです。

   1ch   2ch   3ch   4ch  …
1   0.5    0.7   0.8   0.9   …
2   0.6    0.12   0.13   0.5   …

32768

という感じの並びです。これを2次元配列に格納してそれぞれのチャンネルの
解析に入りたいのですが、どうやって2次元配列に格納できるでしょうか?
Splitを使ってみたのですが、いまいち分からずに困っています。


589:デフォルトの名無しさん
07/06/11 17:24:33
>588

590:デフォルトの名無しさん
07/06/11 17:35:56
>588
きみのいう2次元配列ってのは
(データ番号,チャンネル番号)でいいのかな?


591:デフォルトの名無しさん
07/06/11 17:37:00
Dim hoge(,) As String
For i As Integer = 0 To データ数 - 1
データ = (i+1)行目のデータ
Dim hogehoge() As String = データ.Split(Chr(Keys.Tab))
For j As Integer = 0 To hogehoge.Split(Chr(Keys.Tab)).Length - 1
ReDim Preserve hoge(i, j) = hogehoge(j)
Next
Next

592:588
07/06/11 17:45:31
レスありがとうございます。
2次元配列はできたら(チャンネル番号、データ番号)がいいですが、
解析はどちらでもできると思います。

ReDim Preserve は処理の速さはどうなんでしょう?


593:デフォルトの名無しさん
07/06/11 17:52:05
自分で試してみろ

594:580
07/06/11 18:21:32
<<587
<<580は間違いなので、<<581で訂正していますが…。
とりあえず、全体です。

Public Class Form1

Dim FileName As String = """C:\1.avi"""

Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" _
(ByVal lpstrCommand As String, ByVal lpstrReturnString As String, _
ByVal uReturnLength As Integer, ByVal hwndCallback As Integer) As Integer

Function SendString(ByVal cmdString As String) As Long
SendString = mciSendString(cmdString, "", 0, 0)
End Function

Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
SendString("open " & FileName & " alias f1")
SendString("window f1 handle " & Me.Handle.ToString)
SendString("play f1")
End Sub

Private Sub Form1_Click(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles Me.Click
SendString("close f1")
End Sub

End Class

ケータイで書き込んでいるので、見づらかったらすみません。
今パソコンから書き込めないんです。

595:580
07/06/11 18:31:13
>と<を間違えたorz

596:デフォルトの名無しさん
07/06/11 18:40:22
>>591
やめてくれ

597:デフォルトの名無しさん
07/06/11 18:48:59
参照は4バイトとして
最後には4×8×32768=1MB
平均すると0.5MB
0.5MB×8×32768=128GB
つまり128GBものメモリを確保解放しまくるわけだ。
あほかと言いたい。


598:デフォルトの名無しさん
07/06/11 18:57:24
その けいさんは おかしい

599:デフォルトの名無しさん
07/06/11 19:00:18
あれ、たしかにおかしいな。
ってかこれ正しく動くのか?


600:デフォルトの名無しさん
07/06/11 23:32:52
SqlCommand.CommandTimeoutでSQLのコマンド実行のTimeoutを設定できますが
これのデフォルト値である30秒という値を変更する方法はありませんか?
SqlCommandを使うところ全部でCommandTimeoutを設定するコードを書かずに
設定ファイルで変更できないものかと思っているのですが

601:デフォルトの名無しさん
07/06/12 01:28:11
コネクションストリングにかけば?
つうか、いくらでもあると思うが…

602:デフォルトの名無しさん
07/06/12 04:52:12
>>462

少し気になったので、相乗りで質問、というか、低脳なコメントを。

以前、VB.NETからアンマネージドのCのDLLを呼び出してたのだが、
そのCのDLLの内部に
ローカル変数に対しメモリーアロック掛けっぱなしというBUGがあった。

DLLを作成してたのは他社(仮にA社)だったのでソースも確認しようがなかったので
そんな障害があるとは自社ではまったく気づいておらず、
後日A社から申し出があって、不具合修正版のDLLを貰った、ということがありました。

それはそれで解決したので問題ないのですが、
もしA社が申し出なかった場合、自社では原因を掴むのが難しいと思い・・・

こんなときどうやって切り分けるのでしょうか。

>>458の言っているWorkingSetじゃ
プロセスのメモリ使用量だから
相手のDLLが使用したメモリ量だけ切り出そうと思っても
できないんじゃないかと思うのだが、、、。



603:デフォルトの名無しさん
07/06/12 05:38:48
>>597
たとい12使用しても最近のメモリは性能いいからもんだいない

604:デフォルトの名無しさん
07/06/12 07:01:29
>>601
MSDNのSqlConnection.ConnectionStringを見たところでは対応している
キーワードがないみたいです。Connection Timeoutキーワードは
CommandTimeoutとは別ですよね。他の載っていないキーワードがあるのでしょうか?

また、書き忘れましたが.NET Framework 1.1を使っています。

605:デフォルトの名無しさん
07/06/12 09:13:36
>>597
文句をいうのはいいが、打開案も出さねばゴミだ

606:デフォルトの名無しさん
07/06/12 09:14:04
>>602
普通マネージドプログラムを書いてもらうものじゃないかな?
ウチはCOM使う場合、相手に依存するから検証されてないと保証できないですよ
みたいに言って逃げてる

そんな深い所まで調べる時間が無い

607:デフォルトの名無しさん
07/06/12 12:09:01
RadioButtonListなどを貼り付けたユーザーコントロールを作成しています。

RadioButtonListのListItemコレクションエディタを、ユーザーコントロール呼び出し側で、
操作したいのですが、よい方法ありませんでしょうか?


608:デフォルトの名無しさん
07/06/12 12:43:20
プロパティでそのままラジオボタンリストを公開するとか

public read only property RB as radiobuttonlist
return me.RadioButtonList1
end property

みたいなwwww
エディタのプロパティがネストしてやりづらいしすげぇダサいやり方だと個人的に思うけど
単にラジオボタンリストのコレクション公開すればできないか?


609:デフォルトの名無しさん
07/06/12 15:46:32
配列のソートで質問です。

例えば以下のような構造体を持つ配列があります

structure AAA
ID as integer
ID_2 as integer
Name as string
end structure

このデータを List(Of AAA) に挿入してあります。

AAAの中身

ID ID2   Name
1  2   AAAAAA  
3  2   BBBBBB  
2  3   CCCCCCC  
2  1   DDDDDD 

このList(Of AAA)
の中のデータを簡単に ID,ID2 の準でソートできないでしょうか?
1つならば簡単なのですが 条件が2つあるというのがネックです。

ICompareを独自に実装すべきでしょうか?

610:デフォルトの名無しさん
07/06/12 16:12:19
>>609
URLリンク(msdn2.microsoft.com)(VS.80).aspx

611:デフォルトの名無しさん
07/06/12 16:23:50
>>609 >IComparable.Compare(x, y)
If (x.ID > y.ID) Then
Return 1
ElseIf (x.ID < y.ID) Then
Return -1
Else
If (x.ID_2 > y.ID_2) Then
Return 1
ElseIf (y.ID_2 < y.ID_2) Then
Return -1
Else
Return 0
End If
End If

612:デフォルトの名無しさん
07/06/12 16:28:50
>>610
>>611
ありがとうございます
実装できました!

実装は
IComparer(Of Hoge)
を使用してキャストが発生しないように実装してみました。


613:デフォルトの名無しさん
07/06/12 22:16:39
>>609
そもそもどうやってここにデータを入れたんだw

614:デフォルトの名無しさん
07/06/12 23:06:55
>>613

構造体配列だから普通に入れたんじゃね?

615:611
07/06/12 23:48:46
>>611の一行目はIComparer(Of AAA)の間違いね
>>612はわかってるみたいだけど

616:デフォルトの名無しさん
07/06/12 23:54:05
>>614
そっかww

617:デフォルトの名無しさん
07/06/13 00:20:05
vb2005で、WMIを使ってUSBに接続されたHDとかの
PNPDeviceIDを取得するものを作ってるんだけど、
ドライブ名を指定して取得する方法ってありますか?

「E:」って指定してできるのかと思ったけど、Win32_DiskDriveは
ドライブ情報だからパーティションの情報なんてないし・・・
方法があったら、教えてほしいです

618:デフォルトの名無しさん
07/06/13 12:07:52
VBSでGIF画像の色を置換したいんですが可能でしょうか?
RGB(R, G, B)でいうと、緑色(85, 127, 85) ⇒ 青色(85, 127, 170) に変換したいのです。
大量の画像を一度に処理したいので、フォトレタッチソフトでは手間がかかりすぎて・・・。
どうか、偉い人教えてください。

619:デフォルトの名無しさん
07/06/13 12:23:06
What's VBS ?

Virus Buster Special ?

620:デフォルトの名無しさん
07/06/13 16:48:14
VBScriptのことなんじゃね
ここはVB.NETのスレですよ
もちろんVB.NETなら間違いなく可能だけどVBScriptではどうかは知らん

621:デフォルトの名無しさん
07/06/13 19:25:07
>>619-620
レスありがとうございます。
VBSってのは、VBScriptのことです。説明不足ですみません。
VB.NETだとどういう感じに書けばいいのでしょうか?


622:デフォルトの名無しさん
07/06/13 20:50:09
vb2005を使っているのですが質問をさせてください

例えばフォームにtextbox1~textbox10まであったとして、それぞれに同じ処理を連続して実行したいのですが

for文を使うとして

for n=1 to 10

textbox(n)="文字列"

みたいなことを使用としたのですが、当然これを関数名として認識してくれませんでした
あらかじめ用意した変数に="textbox" & n みたいなことや
今の自分で他にも思いつく限りのことはやってみても同じでした・・・

こういったtextboxやpicutureboxなどのオブジェクト名(?)をfor文等で連続して実行させたい場合
そのオブジェクト名の連番の表記をどういった風にやるのが適切なのでしょうか?

ご助言をどうかよろしくお願いします。


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