[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 06/22 15:05 / Filesize : 273 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

VB.NET質問スレ (Part7)



1 名前:デフォルトの名無しさん [04/10/02 11:10:17]
VB.NETの質問全般です

過去スレ
VB.NET質問スレ (Part6)
pc5.2ch.net/test/read.cgi/tech/1088812165/
VB.NET質問スレ (Part5)
pc5.2ch.net/test/read.cgi/tech/1078134703/
VB.NET質問スレ (Part4)
pc2.2ch.net/test/read.cgi/tech/1065269043/
【老若】VB.net質問スレ【男女】 (Part3)
pc2.2ch.net/test/read.cgi/tech/1056281084/
【老若】VB.net質問スレ【男女】 (Part2)
pc2.2ch.net/tech/kako/1043/10436/1043629429.html
【老若】VB.net質問スレ【男女】
pc2.2ch.net/tech/kako/1025/10258/1025848458.html


741 名前:デフォルトの名無しさん mailto:sage [04/11/28 15:34:13]
>>739
メーカーが公表する性質のものでもないし、>>740の助言みたい
にするのが大吉。管理者ログインからリブート指示まで、丸ごと
捕獲して解析してみそ。

つか、そのあたりの話はスレ違いになるから、メーカースレにで
も行ってみたらいい助言が得られる悪寒。

742 名前:デフォルトの名無しさん mailto:sage [04/11/28 15:47:18]
>741
>740は助言じゃなくて俺の独り言でした。
まぁとにかくやってみます。

743 名前:デフォルトの名無しさん [04/11/28 15:59:00]
>Translateに平行移動って意味もあるんだが……。

そうなのか、しらんかった。 自分ならTransferにするけど、Translateの方が
適当なのかな?

>Sharedと言う可能性を忘れていないか。
>Image.FromFileとかあるじゃんか。
>Graphics.FromHdcがあるじゃないか。
  うー意味不明。サッパリわからん。

 RotateTransformをつかおうとすれば、結局DrawRectangleやDrawLineなど
 Graphicsが持っているメソードを使わないとだめみたいね。
  APIのGLIBでイメージメモリに描いてそれをGraphicsに渡して描画する
  みたいなことができたらできるかも? MatrixOrderというぐらいだから
 対象はベクターだろうね。
  よく知らんが、まともなグラフィックスというとOpenGlとかはVBNETでも
 うごくんだろか? VB6だったら動くみたいだね。これがまた簡単には動かんの
 だろな。 aUTOCADのVBAだったらすごく楽にかけるんだけどね。ところがこれが
 バグだらけで、すぐにハングする。ろくなものがない。


744 名前:デフォルトの名無しさん mailto:sage [04/11/28 16:05:28]
>>743

ホントに意味がわからんのか?
こう言えばわかるか?

Graphics クラスには FromHdc という Shared メソッドがあるんだよ。

745 名前:フナ太郎 mailto:sage [04/11/28 17:30:26]
(-。-)y-~~~~ ここはまじめな人がおおいね。いいことだ。

746 名前:デフォルトの名無しさん [04/11/28 17:53:45]
>Graphics クラスには FromHdc という Shared メソッドがあるんだよ。

あっ、すまん。そういう言葉に対して基本的知識がかなり不足している。
思えば、適当にプログラムを作ってきたツケだとおもう。
 そこで適当に想像したり、検索したりしてその場をしのいでいるが
Sharedというのは共有になるということらしい。技術評論社の
VisualBasic.NETプログラミングマニュアルというのを参考にしているが
サッパリ意味不明だ。この本は失敗だった。技術評論社は信頼しているんだが、
やっぱり女の書いた本はロクなのがない。適当に本を買ったのが失敗だったなー。
麻奈ちゃんも恵子ちゃんも香織ちゃんも明子ちゃんもだめ。もうお前らの本は買わん。
わからん。もう一度買ってほしかったらわかるように書いてくれ。
 それはいいとして、Sharedだからどうにかなるというものでもないような気がする。
Sharedの意味は分からんが 
こうすれば
Dim hn As IntPtr = pic.Handle
Dim hDC As IntPtr = GetDC(hn)
Dim gr As Graphics

gr = gr.FromHdc(hDC)
Dim pen As New Pen(Color.Green)
gr.DrawLine(pen, 0, 0, 200, 200)
 たしかに、PictureboxのハンドルからGraphicsが取れる。これは驚き。
かなり、知識のバリエーションが広がった気がする。



747 名前:最凶VB厨房 mailto:sage [04/11/28 18:01:04]
>>746
おもろい

748 名前:デフォルトの名無しさん mailto:sage [04/11/28 18:11:20]
>>746
> Dim gr As Graphics
> gr = gr.FromHdc(hDC)

気持ち悪い……。
gr = Graphics.FromHdc(hDC)
と書こうよ。

つまり、Sharedであるものは特に前提条件無くその場で使用可能なわけ。
hDCさえあればGraphicsオブジェクトを作成可能なの。

つかそもそも.NET内でならデバイスコンテキストを意識する必要すらない。

Dim pic As PictureBox  = new PictureBox()
Dim g As Graphics = pic.CreateGraphics()
...
   'Dim hdc As IntPtr = g.GetHdc() 'デバイスコンテキストは取得するならGraphicsから取得する。必要な事態は余り無いが
...
   'g.ReleaseHdc(hdc) 'もちろんアンマネージドリソースはそれに相応しく破棄処理
...
g.Dispose()

で終了だ。

749 名前:デフォルトの名無しさん [04/11/28 18:25:17]
>748
おお、すっきり。ありがとう。
ところで色々教えてもらったので一ついいことを教えてあげましょう。
 Strict ON
 ってスイッチしってます?
これをONすると、自分のコードはエラーだらけになった。実に強力に
エラーチェックをしてくれます。
大事な仕事の時はぜひStrict ONです。昨日はじめて知りました。





750 名前:最凶VB厨房 mailto:sage [04/11/28 19:00:49]
>ReleaseHDCInternalは内部関数で使ってはいけないのになんでPublicなのか?
内部は内部でもクラス内部という意味じゃなくて
MS内部という意味じゃねぇか?w
クラスライブラリ内部と言った方がいいかな。

751 名前:最凶VB厨房 mailto:sage [04/11/28 19:04:44]
>>749
www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vbcn7/html/vaconprogrammingwithvb.asp?frame=true
これ見たら驚きの連続だぞ(ワラ

752 名前:デフォルトの名無しさん mailto:sage [04/11/28 20:19:08]
>741
キャプってみたけど訳分からん。ネットワークの基礎から
勉強しないと・・・ とりあえずロケットマウスでしのぎますw

753 名前:613 mailto:sage [04/11/28 22:51:35]
>>689
俺は別に構わんがw

754 名前:デフォルトの名無しさん [04/11/28 23:49:39]
>751
>これ見たら驚きの連続だぞ(ワラ

そんなにいっぺんに驚いても勿体ないでしょ。
ところで、最凶はVBにかかるの? 厨房にかかるの? 
今回Graphicsのサンプルをテストするとき、C#をすこし使いましたが、
InterisenceとかがVBにくらべて弱いですね。VBの方がかなり楽にプログラム
できます。
 言語的に幾分弱いVBに便利さで意図的にアドバンテージをおくのはMSの戦略ですかね。


755 名前:デフォルトの名無しさん mailto:sage [04/11/28 23:53:16]
逆にVB.NETのインテリセンスのしつこさにちょっとウザさを感じるところもある。
やっぱり初心者に優しくという方向性なんだろうな。

756 名前:デフォルトの名無しさん mailto:sage [04/11/29 05:46:17]
>755
なんで初心者のお前がうざいと感じるんだよ。

757 名前:フナ太郎 mailto:sage [04/11/29 06:55:53]
>>756
インテリセンスはベテランの俺でもありがたい機能だぞ。
だれが、あんな長いクラス名やメソッド名を手で打ち込みたいと思うかね?

758 名前:デフォルトの名無しさん [04/11/29 08:13:22]
incremental build のチェックをはずすとベテラン向きに10倍
速くなるのか? やってみたことあるベテランさん感想をどうぞ!

759 名前:デフォルトの名無しさん [04/11/29 08:15:55]
ちなみにデフォールトでは
 C#はOFF、VBはON
このちがいか?



760 名前:デフォルトの名無しさん mailto:sage [04/11/29 09:29:25]
>757
俺にレスするな

761 名前:デフォルトの名無しさん mailto:sage [04/11/29 10:42:56]
ユーザーコントロールでテキストボックスを作ろうと考えてます。
MultiLineがいつもTrueで、通常は1行表示でフォーカスを持つと入力部分が大きくなるような奴です。

で、入力部分を大きくする時にフォーム中央にある場合は問題ないんですが、
隅にあったりして大きくなるとフォームからはみ出す場合に途切れずに
表示するにはどのようなアイデアがあるでしょうか?
現在はフォームにテキストボックスだけを貼り付けて、それを表示させようかと考えてはいるのですが・・・

762 名前:フナ太郎 mailto:sage [04/11/29 10:52:57]
>>760
あ、755だった。すまん。

763 名前:デフォルトの名無しさん mailto:sage [04/11/29 11:13:55]
>>761
フォーム側がユーザコントロールのResizeイベント辺りでフォーム自身のサイズ変更すればいいんじゃない?

764 名前:デフォルトの名無しさん mailto:sage [04/11/29 16:46:33]
Private Sub cangeStrNarrow()
Dim sText As String
sText = a
Dim sNewText As String
sNewText = StrConv(sText, VbStrConv.Narrow)
a2 = sNewText
End Sub

入力された文字を、上のコードで半角にしてみましたが、作ったデーターを渡す
相手がオフコンなので、半角の長音が通りません。

半角の長音をマイナスに入れ替えるルーチンを書きたいのですが、どなたかど
の命令を使えばよいかアドバイスください。

765 名前:デフォルトの名無しさん mailto:sage [04/11/29 16:50:10]
String.Replaceでいいんじゃね。

766 名前:デフォルトの名無しさん [04/11/29 20:57:35]
すんません。どなたか教えてください。
MSDEのVIEWを作り、列にコード値に対応する文字を持たせたテーブルの用意して
テキストボックスにその文字が表示されるように.Databinding.Textに設定したいんですが、
オブジェクトのプロパティ設定画面上では、設定したい列名がすべてExprn(nは数字)
となっていて、すごく使いにくいです。
MSDEでVIEWをデザインした時に、結合した列には全て別名を登録したのに
VS.NETのエディター上は別名で表示してくれる機能はないのでしょうか?

767 名前:デフォルトの名無しさん [04/11/30 04:48:36]
>766
どうしたらそんなことになるの? 列名はチャンとレコードアイテムが
でるはずよ。もっと手順を追って詳しく説明してくれたら何かアドバイス
できると思う。DBの作り方はいろんな方法、I/Fがあるから、その説明では
何をやってるのかサッパリわかりません。

768 名前:デフォルトの名無しさん mailto:sage [04/11/30 09:33:03]
>767
分からないなら書くなよ。

769 名前:デフォルトの名無しさん mailto:sage [04/11/30 09:35:56]
>>768
そんなに自分を責めるなよ。



770 名前:769 mailto:sage [04/11/30 09:44:08]
すまん。769は767へのレスね

771 名前:デフォルトの名無しさん [04/11/30 10:21:35]
MSDEで重要なのは周期的な処理丸木バックアップを作成しすることだよ。


772 名前:本物の769 mailto:sage [04/11/30 10:32:59]
>>770
(´,_ゝ`)プッ

773 名前:デフォルトの名無しさん mailto:sage [04/11/30 10:34:48]
>772
なにこいつ

774 名前:デフォルトの名無しさん [04/11/30 11:02:16]
 MSDEの特徴はBACKUPはいくらでもできるが、RESTOREはどんなにがんばっても
できないこと。
 結局リストアーに仕方が分からんままに中国に納めたよ。
まあトラブルことはめったにないし大丈夫だろ。


775 名前:デフォルトの名無しさん mailto:sage [04/11/30 11:42:58]
VBにて三角形2次元モデルの描画を行いたいのですが、全然わからないので助けていただきたいのですがここで聞いてもいいでしょうか?


776 名前:デフォルトの名無しさん mailto:sage [04/11/30 11:46:46]
何を質問したらいいですかみたいなメタ質問は無しな。

777 名前:775 mailto:sage [04/11/30 11:57:38]
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim c As Color
Dim vp As ViewPort
c = Color.FromArgb(255, 255, 0, 0)
vp.Xgw = ○○
vp.Ygw = ○○
vp.Xgc = ○○
vp.Ygc = ○○
vp.Xvw = ○○
vp.Yvw = ○○
vp.Xvc = ○○
vp.Yvc = ○○
DrawPoint(○, ○, c)
DrawPointScs(○, ○, c, vp)
DrawPointWcs(○, ○, c, vp)
DrawLine(○, ○, ○, ○, c)
DrawLineScs(○, ○, ○, ○, c, vp)
DrawLineWcs(○, ○, ○, ○, c, vp)
End Sub

で、三角形の各頂点 (200,200) (400,200) (300,400)
ViewPort 左下座標(150,150) 幅300 高さ300

なのですが座標系についてさっぱりなので埋めることができなくて困ってます(´・ω・`)
必要でしたらコードをうpします。

778 名前:デフォルトの名無しさん mailto:sage [04/11/30 12:22:43]
>776
どこにそんなルールが?

779 名前:デフォルトの名無しさん [04/11/30 12:32:42]
Private Sub OpenFileDialog1_FileOk(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles OpenFileDialog1.FileOk

このイベントのSenderから選択されたファイル名を取得する方法はありませせんでしょうか?




780 名前:デフォルトの名無しさん mailto:sage [04/11/30 12:34:45]
>779
なんでsenderから取りたいのでしょうか?
OpenFileDialog1 からは取れないの?

781 名前:デフォルトの名無しさん mailto:sage [04/11/30 12:42:53]
senderをOpenFileDialogにキャストしてやれば問題ないが。
なぜわざわざイベントで? とは思うな。

782 名前:デフォルトの名無しさん [04/11/30 14:16:05]
MSDEのように、データセットをウィザードで作れるDBを探しています。
リナックスで作動するDBがよいのですがMySQLは上記のような作り方で
作動しますか?


783 名前:デフォルトの名無しさん mailto:sage [04/11/30 14:51:12]
>>777
自分も詳しくないけどさ、取りあえずViewPortというクラスか構造体か、
.NET FrameworkにもManaged DirectX9.0にも無いようなんだけど。
DrawPointScsとかのメソッドも分からないわけだし。

784 名前:デフォルトの名無しさん mailto:sage [04/11/30 14:53:29]
>781
なぜわざわざイベントで???

785 名前:779 [04/11/30 15:28:49]
>784
>なぜわざわざイベントで???
「わざわざそういうプログラムをしてみたい」としか答えようがありませんが、
そういうこともできるのかというのが分かると、これはまた別の応用が、つまり
senderとは何かについての性質がよりはっきりと理解できるのではないでしょうか?
これで理由になりますか? 理由に間違いないのですが、この気持ちを
理解可能ですか?


786 名前:779 [04/11/30 15:30:23]
>781
 そういうやり方が即座に浮かぶようになりたい。です。

787 名前:779 [04/11/30 15:31:41]
 ところで、VB6のFile1やDir1に変わるものはないのでしょうか?
パスを取りたいのですが。

788 名前:779 [04/11/30 15:36:57]
>なんでsenderから取りたいのでしょうか?
>OpenFileDialog1 からは取れないの?
 OKボタンを押したことを知る方法はEVENT以外にありません。
イベントで待ち構えているとSender、とE がやってきます。
ですからこの二つからすべてを処理するのが、自分の感性として
はスマートなのです。



789 名前:デフォルトの名無しさん mailto:sage [04/11/30 17:37:44]
>>787
.NET Frameworkにはない。  //Frameworkの扱うべきレイヤからかなり外れてるから。
手っ取り早いのはVBのコンポーネントを参照するこったね。



790 名前:デフォルトの名無しさん mailto:sage [04/11/30 18:03:40]
>788
>OKボタンを押したことを知る方法はEVENT以外にありません。
平然とウソを書くなよ。ちゃんとヘルプ読んだか?

791 名前:デフォルトの名無しさん mailto:sage [04/11/30 18:05:53]
>788
OKボタンってOpenFileDialog上にあるOKボタンのこと?
ShowDialog()の戻り値を見るのが普通だと思うけど
いまいち何がしたいのか分からないなぁ。

792 名前:デフォルトの名無しさん mailto:sage [04/11/30 18:20:31]
>787
あのさ、どういう機能を実現したいのかまずは日本語だけで
まとめてみれば?

あと>785みたいな人の神経を逆撫でするような書き込みしといて
その後すぐ質問ってどういう神経なんだろう。投稿前に見直し
とかしてる?

793 名前:デフォルトの名無しさん mailto:sage [04/11/30 18:22:53]
ちなみに779はMSDN見れる人?
単に見れないからMSDN代わりにここを利用しようとしてる?
ちょいとそこんとこ教えて。

794 名前:デフォルトの名無しさん mailto:sage [04/11/30 19:31:09]
>>783
ttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1003826049&res=84&fi=no
にソースコードを書いておきました。
埋める場所は空欄(先の通り)となっています。

795 名前:デフォルトの名無しさん mailto:sage [04/11/30 22:28:05]
VB6からVB.NETになってジレンマに陥ってるのか

漏れも一時期Senderをキャストしてイベントの内容拾ったりしてたが
無駄だということに気が付いてやめた

796 名前:779 [04/11/30 23:07:33]
>ShowDialog()の戻り値を見るのが普通だと思うけど

ええっ、戻り値があったのか? 知らんかった。そうだったの。ガックシ。
FolderBrawserDialogはもっと悲惨だった。こっちは探してもEVENTがない。
継承元からイベントを取れないか半日も悪戦苦闘してあきらめた。
いつにもまして「MSのアフォたれ、馬鹿たれ」と思っていが、戻り値があるんか?
なら簡単だった。

>平然とウソを書くなよ。ちゃんとヘルプ読んだか?
HELP
■ShowDialog
(CommonDialog から継承されます)
 オーバーロード。 コモン ダイアログ ボックスを実行します。

何だこのHELPは。このHELPをみて分かるか? わかるか?おい。


797 名前:デフォルトの名無しさん mailto:sage [04/11/30 23:11:10]
>796
じゃあCommonDialogの方も読むだろ、普通

798 名前:デフォルトの名無しさん mailto:sage [04/11/30 23:11:32]
いや...についてに書かれてるサンプルコード見りゃすぐ分かるこったろ……。

799 名前:デフォルトの名無しさん mailto:sage [04/11/30 23:12:10]
>796
アホ



800 名前:デフォルトの名無しさん mailto:sage [04/11/30 23:25:39]
とりあえずチンコの皮は剥けたようだな

801 名前:デフォルトの名無しさん mailto:sage [04/11/30 23:27:11]
ヘルプに文句をたれる前に、初心者用の入門書を読んだほうがいいね。

802 名前:デフォルトの名無しさん mailto:sage [04/12/01 03:36:56]
Overloads Public Function ShowDialog() As DialogResult

なんで"As DialogResult"が目に入らないかなあ。つか、それ以前にVB.NETの構文を知らないのか?

803 名前:779 [04/12/01 06:41:54]
>じゃあCommonDialogの方も読むだろ、普通
普通は読まん。遡るほど分からなくなるものだとは知らないの?普通。
分かりやすく、使いやすくするために継承するんですよ。
遡るほど、分かりやすいなら最初からSystemを読んでください。分かりやすいですか?

>いや...についてに書かれてるサンプルコード見りゃすぐ分かるこったろ……。

  エムエスの
  アフォ糞餓鬼の
  ガタガタの
  能書き言わず
  サンプルを出せ
      (一首贈呈)

 サンプルコードが大切だよね。マトモな。
>800 
お前は剥けすぎベロリンチョ
>ヘルプに文句をたれる前に、初心者用の入門書を読んだほうがいいね。
 林晴彦のサンプル全部みたよ。10ページに渡って穴が開くほど見たが、
戻り値を使う例はただの一つも無い。(VB6のだけどね)
すまん、このセンセのチンコも剥いてやってくれ。

>Overloads Public Function ShowDialog() As DialogResult
>なんで"As DialogResult"が目に入らないかなあ。つか、それ以前にVB.NETの構文を知らないのか?
 なんでそれを目に入るところに書かないのかなあ?


804 名前:デフォルトの名無しさん [04/12/01 06:49:05]
ここホントにC#スレか?
VB.NETは別スレあるからそっちでやれよ。

805 名前:779 [04/12/01 06:58:26]
>789
.> NET Frameworkにはない。 //Frameworkの扱うべきレイヤからかなり外れてるから。
どういう意味なの? File1やDir1の方がシンプルでスマートだと思うよ。
対応するのはFoldeBrowzerDialogだろうけど、今一って感じる。ダイアログは簡単
だけど、フォームに貼り付ける方がいい場合がたまにある。

>手っ取り早いのはVBのコンポーネントを参照するこったね。
 このコンポーネントって参照できるの? どうやって? OCXが分からん。
 VB6組み込みじゃないの?
 分からないからVB6でDirとFileをフォームに貼り付けてActiveXを作って
 VBNETに貼り付けてやってみたが誤動作する。
  Dirをダブルクリックすると内部でエラーがでてハングする。
 うまくいかんかった。
 もちろんそのActiveXはVb6上ではテストしてますよ。


806 名前:デフォルトの名無しさん mailto:sage [04/12/01 07:17:31]
うは
チンコの皮までレスしてる
VB6の概念から抜け出せてないようだから.NETはしばらくやめておいたら?
もしかしたら2005でお望みの機能が追加されてるかもしれんし

>>805のようなOCXの事書いているようだから
マニュアル類は一切読んでないか、読んだつもりにいなってるんだろうな
コントロールの上でF1押せばほとんどのHELPが載っているし
記述の癖も1日2日すれば慣れると思うんだが
良くも悪くもHELPまでMicrosoftオブジェクト指向で書かれてるので
掘っていけばほぼ答えは見つかる
それでもなければ全文検索

>フォームに貼り付ける方がいい場合がたまにある。
フォームに張り付かないのか?

807 名前:デフォルトの名無しさん mailto:sage [04/12/01 07:21:18]
>803
素晴らしいよ、君は。
一生そうやって生きればいいね。

808 名前:デフォルトの名無しさん [04/12/01 07:39:51]
オーバーロードの一覧
フォームをオーナー ウィンドウのないモーダル ダイアログ ボックスとして表示します。

.NET Compact Framework でもサポート。

[Visual Basic] Overloads Public Function ShowDialog() As DialogResult
[指定した所有者を持つモーダル ダイアログとしてフォームを表示します。

[Visual Basic] Overloads Public Function ShowDialog(IWin32Window) As DialogResult
使用例

[Visual Basic] 
Public Sub ShowMyDialogBox()
  Dim testDialog As New Form2()
    
  'Show testDialog as a modal dialog and determine if DialogResult = OK.
    If testDialog.ShowDialog(Me) = System.Windows.Forms.DialogResult.OK Then
        Read the contents of testDialog's TextBox.
        txtResult.Text = testDialog.TextBox1.Text
    Else
        txtResult.Text = "Cancelled"
    End If
    testDialog.Dispose()
End Sub 'ShowMyDialogBox

809 名前:779 [04/12/01 07:47:09]
> Dim testDialog As New Form2
まちがってない?




810 名前:デフォルトの名無しさん mailto:sage [04/12/01 07:47:10]
VB6の参考書を読んで.NETが解らないと言ってたのか
冷蔵庫の取扱説明書を読んでも洗濯機は動かないわな

811 名前:デフォルトの名無しさん [04/12/01 07:47:49]
>>809
あってるよ

812 名前:779 [04/12/01 07:50:49]
糞長いOK書くくせに
System.Windows.Forms.DialogResult.OK
これは何?
  Dim testDialog As New Form2
宣言をしっかりして、Localでは省略するのが正解だと思うよ
第一動かんサンプル(W


813 名前:811 [04/12/01 07:51:12]
VSのヘルプをまるまるコピーしてある
もしForm2の下に並線が出るようだったら
ソリューションエクスプローラで新規のフォーム(Form2)を追加してくれ

814 名前:779 [04/12/01 08:07:24]
>811
 ありがとう。しかしこの例は何を説明したいのかサッパリ分からん。
 実行したらFolderBrowserDialogが立ち上がって、OKしても
 txtResultには何にも帰ってこない。

 あれ、Form2ってインスタンスなんでしょ
 クラスとしても認識するんですか? わけわからん。

815 名前:779 [04/12/01 08:13:01]
 あっごめんForm2は継承クラスでした。Vb6がぬけませんね。

816 名前:779 [04/12/01 08:32:35]
へんなコードがまざっていて勘違いした。
例の意味はこういうことね。

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim x As New Form2
If x.ShowDialog() = DialogResult.OK Then
Debug.Write("OK")
Else
Debug.Write("CAN")
End If
End Sub

MSってなんで持って回ったような頓珍漢な例をかくんだろね。

817 名前:779 [04/12/01 08:37:56]
林センセの場合もそうですが、、、
(日経BPソフトプレスの全サンプルもそうですからしかたありませんが)
先生方こういうサンプルが多いんですがだめですよ。
戻り値がある場合は必ず戻り値を見るようにしましょうね。
If CommonDialog1.filename <> "" Then
とくにこの判別のしかたはまずいですよ。誰かの本みて真似してるんでしょ。

■サンプル(悪)
Private Sub Command1_Click()
'***** ファイル名の取得 *****
With CommonDialog1
.filename = ""
.Filter = "Data(*.dat)|*.dat"
.ShowOpen
End With
'***** ファイルのオープンと表示 *****
If CommonDialog1.filename <> "" Then
Open CommonDialog1.filename For Input As #1
Do Until EOF(1)
Line Input #1, a$
Print a$
Loop
Else
MsgBox "キャンセルされました。", , "メッセージ"
End If
End Sub


818 名前:779 [04/12/01 08:38:17]
■改良サンプル
try
cd = CommonDialog1
  cd.filename = "":cd.Filter = "Data(*.dat)|*.dat"
if cd.ShowOpen = vbOk then
   fname = CommonDialog1.filename
 If fname <> "" Then
    '***** ファイルのオープンと表示 *****
End If
end if
catch ex as Exception
msgbox ex.discription
end try


819 名前:779 [04/12/01 09:20:05]
Public Sub ShowMyDialogBox()
  Dim testDialog As New Form2()
....
testDialog.Dispose()
End Sub

このMSサンプルの testDialog.Dispose() は意味の無いコード
もし意図的に終了処理をする必要があるなら、内部でするべきだ。
(ShowDialog、モーダルだろ!)
こういう無造作に何でも追加したコードは最も悪い例だね。




820 名前:779 [04/12/01 09:28:43]
>VB6の参考書を読んで.NETが解らないと言ってたのか
>冷蔵庫の取扱説明書を読んでも洗濯機は動かないわな
 コンプレッサーをモーターに置き換えて読むんだよ。そんなに違いはない。
ボタンを押したら、ランプがついて、回って、時間が来たらとまる。


821 名前:779 [04/12/01 09:40:31]
>マニュアル類は一切読んでないか、読んだつもりにいなってるんだろうな
>コントロールの上でF1押せばほとんどのHELPが載っているし
 NETになって多少はよくなってるな。
 
>記述の癖も1日2日すれば慣れると思うんだが
>良くも悪くもHELPまでMicrosoftオブジェクト指向で書かれてるので

 これは皮肉? どこがオブジェクト指向?
 MSオブジェクト羅列っていうんだよ。
 
>掘っていけばほぼ答えは見つかる
それがみつからないから、藁おもつかむ。


822 名前:デフォルトの名無しさん [04/12/01 09:46:40]
構造体の中身のクリアってどうやるんだっけ???

823 名前:デフォルトの名無しさん mailto:sage [04/12/01 10:05:26]
Disposeの意味も知らずにまあ吠える事。

>>822
構造体という物にクリアという概念そのものが余りなじまないわけだが。
//Integerをクリアって何それ、って感じでしょ。
用意されているならEmpty静的読み込み専用フィールドを使うとか。
(引数を取らない)デフォルトコンストラクタがあるならnewし直すとか。
引数を0とNothingのみでnewし直すとか。

824 名前:779 [04/12/01 10:52:27]
>823
外部でDisposeが必要なのはComponentのメモリーリリース。
FormはCompornetじゃない。リリースの必要はない。やってもgcに対しては意味がない。
ひょっとすると君の方じゃないのか吼えてるのは
Disposeの意味より、Compornentの意味だな重要なのは。
さて正しいのはどちらだろう。


825 名前:デフォルトの名無しさん [04/12/01 11:03:49]
>>823
なるほど!ちょっとやってみます。

826 名前:デフォルトの名無しさん mailto:sage [04/12/01 11:06:33]
>>824
これでも読んでみると良いよ。
ttp://www7.big.or.jp/~pinball/discus/vb/54337.html

827 名前:779 [04/12/01 11:10:08]
>822
 クラスは構造体のバージョンアップ。
だから構造体は使わない方がいいですよ。全部クラスでやる。
構造体を使う意味はない。
 だからクラスにしてClear()メソードを実装するのが正解。
かな?



828 名前:デフォルトの名無しさん [04/12/01 11:23:02]
>>827
ありがとうございます!
上手い具合にいきました!

829 名前:デフォルトの名無しさん [04/12/01 11:26:46]
>>779は初心者神か
相当偉い人のようだが



830 名前:デフォルトの名無しさん mailto:sage [04/12/01 11:48:24]
さすがに828には失笑を隠せなかった。

831 名前:779 [04/12/01 11:53:05]
>829
>さすがに828には失笑を隠せなかった。
お前の方が失笑ものだ。構造体をまだ使ってるんだろ。




832 名前:デフォルトの名無しさん mailto:sage [04/12/01 11:54:19]
>>827
> 構造体を使う意味はない。
言い過ぎ。

833 名前:779 [04/12/01 12:02:06]
>これでも読んでみると良いよ。
>ttp://www7.big.or.jp/~pinball/discus/vb/54337.html
たしかにShowDialogの時はDisposeに飛んでこないね。フォームを閉じた時点で
内部のコンポーネントを使うことを意識しているのか?
 xx.ShowDialogをやったからと言って、そのあとでxx.Dispose()をやってる
例はないな。ざっと10例近くのサンプルを見たがそういう例はない。
MSのあのサンプルだけだね。

 大事なことがよく分からんなー。
 1000万回ほどぐるぐる回ししてテストしてみるか。


834 名前:デフォルトの名無しさん mailto:sage [04/12/01 12:02:23]
構造体をつかわにゃ実現できない機能もあるだろうに

835 名前:779 [04/12/01 12:05:34]
>言い過ぎ。
 言いすぎではないとおもうよ。構造体は使わない方がいいと思う。
 どうしても区別したいなら、名前のつけ方を変えたらいい。

836 名前:779 [04/12/01 12:06:13]
>構造体をつかわにゃ実現できない機能もあるだろうに
ない

837 名前:779 [04/12/01 12:08:49]
>相当偉い人のようだが
 きみの観察眼は鋭いかも?ウホン。

838 名前:デフォルトの名無しさん mailto:sage [04/12/01 12:08:56]
是非クラスだけでP/Invokeを宣言する偉業に取り組んでいただきたい。

839 名前:デフォルトの名無しさん [04/12/01 12:10:33]
>>836
どうして言い切れる?



840 名前:779 [04/12/01 12:20:01]
おい。P.Invokeで検索したら

■高度なトピック
Obfuscation for .NET -- Dotfuscator by PreEmptive Solutions
P/Invoke メソッド
  P/Invoke メソッド (つまり、ネイティブ プラットフォーム メソッド) の名前は自動的に変更されません。


これのどこが高度なトピックなのか? 中身がないのが高度なのか。Pu
そりゃ中身が無けりゃ誰にもわからん。高度だよな。pU。


841 名前:779 [04/12/01 12:22:04]
>どうして言い切れる?
 できない例をだしてください。
たちどころに、、、、clsでかいて見ましょう。
高度すぎて中身が書いて無いとどうにもなりませんが。







[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<273KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef