VB.NET質問スレ (Part21 ..
[2ch|▼Menu]
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名いるようだな・・・


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

5091日前に更新/282 KB
担当:undef