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


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

VB.NET質問スレ (Part22)



1 名前:デフォルトの名無しさん [2007/07/10(火) 12:23:42 ]
前スレ

VB.NET質問スレ (Part21)
pc11.2ch.net/test/read.cgi/tech/1177299756/

テンプレは2〜10くらいまでの間にある予定

548 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 12:11:49 ]
>>538
>>542
×モーダレス
○モードレス

>>544
そりゃ、
 ・ 一つのイベントハンドラを複数のコントロールで共用したいとき
 ・ 動的に生成されるコントロールのイベントを捉まえたいとき
なんかのために、イベントハンドラを動的に設定するためのもんなんだから
出来なきゃ困る。

549 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 12:27:41 ]
>>548
よくある勘違いだが、それは「モードレス」っていう表記の方が間違ってるんだよ。
モーダル ⇔ モーダレスという表記が正しい。


550 名前:デフォルトの名無しさん [2007/08/07(火) 12:34:47 ]
かたかな表記はどっちにしても間違いってのが、ゼミの教授のお言葉。


551 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 12:38:20 ]
>>549
いや、modeの語尾変化でmodalとmodelessだからモーダルとモードレスだろw

552 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 12:44:13 ]
そりゃmodeの音が「モード」だという思い込みを前提としているからそういう判断になる

553 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 12:44:21 ]
こまかいなぁ

554 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 12:54:36 ]
くだんね


555 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 12:59:05 ]
modeの発音記号は[moud]で一番近い日本語表記はモードですぅ〜><

ってかくだらんことで意地張ってレス消費させるなw

556 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 12:59:42 ]
>>555
オマエモナー



557 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 13:01:06 ]
>>552はi mode も アイモーダとか発音してるんだぜ(´ー`)

558 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 13:02:01 ]
↓下らん流れを変える、質問よろ。

559 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 13:04:17 ]
まぁ表記がどっちだろうと構わないが、一般的なのはどっちなのか
グーグル先生に聞いてみた。あとはご自由に。

モーダレス 1,470 件
モードレス 29,500 件

560 名前:デフォルトの名無しさん [2007/08/07(火) 13:52:39 ]
初心者です、2点わからないことがあるので教えてください。
1点目が、データグリッド内に指定した行数だけデータを表示させる方法。

2点目が、ページング機能のプログラムの書き方。
この二つの方法をご教授ください。

561 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 13:59:41 ]
>>560
環境も書いてくれ。
VS2005とか。

562 名前:デフォルトの名無しさん [2007/08/07(火) 14:04:31 ]
すいません
書き忘れです。
.net2003でmysql、odbc使ってます。


563 名前:531 mailto:sage [2007/08/07(火) 16:47:33 ]
すまんが、>531にもなにかヒントちょうだい

564 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 18:34:12 ]
>>563
答えが返ってこないのは、質問が漠然としているからでもあると思うよ。
君は読み手のESP能力を無意識に期待してるんだよ。
なぜ読み手の立場にたった文章が書けない?

例えばこのスレの標準的な読み手ならこう思うんじゃないか?
-------------------------------------------------------------
結局こやつは何がしたいのだ?

パネルやラベルを任意の位置に表示すれば済むように感じるのだが、
それではダメなのだろうか?
ダメだとしたら何故?

というか、なぜこやつは読み手にエスパーであることを要求して平気なのだ?
-------------------------------------------------------------


565 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 19:50:10 ]
つか、「タスクが移動してしまい」の意味が解らん…

566 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 21:27:51 ]
>>563
ShowInTaskbarをFalseにする。




567 名前:デフォルトの名無しさん [2007/08/07(火) 22:01:42 ]

Form を画面の中央に配置する場合、最も普通に行う方法はどのようなものでしょう?
VB6の時代には、Screenのサイズから割り出してTopとLeftを指定しました。
そうではなく、何か簡単な一発メソッドか何かで指定可能でしょうか。
また、画面が複数ある場合にも対応可能でしょうか。
なにとぞよろしくお願いします。

568 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 22:04:25 ]
StartPosition

569 名前:567 [2007/08/07(火) 22:16:59 ]
>>568

おお、助かります。やはりなんでも用意されているのですね!!
ありがとうございました!!


570 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 22:25:15 ]
>>563
率直に言わせてもらう。





意味がわからん。

571 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 09:27:52 ]
>>563
パネルとかを動的に生成して、任意の位置に最全面で表示させればええんじゃない?
試してないけど。

572 名前:デフォルトの名無しさん [2007/08/08(水) 12:02:16 ]
>>560
SQL文で必要な行数を持ってこいとすれば解決するのでは?
そうすればグリッドはただ表示するだけなんだし。

573 名前:デフォルトの名無しさん [2007/08/08(水) 13:34:45 ]

すみません、ボタン・コントロールの ForeColor に教えてください。
このプロパティを標準以外に変更しようとしてBlueなどを代入してみたのですが
変更できませんでした。これは単純には変更できないとしますと、
何か別のプロパティを先に変更しておく必要があるでしょうか。
その場合何を変更しておけばよいでしょう?よろしくお願いします。


574 名前:573 [2007/08/08(水) 13:36:02 ]
>>573 すみません間違えました。訂正します。

>ForeColor に教えてください -> ForeColor について教えてください


575 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 13:40:03 ]
.ForeColor = Color.Blueで効くはずだけど?
VisualStyleが腐ってるんじゃね?

576 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 13:57:44 ]
>>573
FlatStyleプロパティがSystemになってるとForeColorの設定いじっても変わらない。



577 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 14:53:25 ]
すみません、質問させて下さい。
DataGridViewにて、CellPaintingイベントで、セルの中身を自分で描画しようと思ったのですが、

Dim rect As New Rectangle(e.ClipBounds.X, e.CellBounds.Y, e.CellBounds.Width / 2, e.CellBounds.Height)
e.Paint(rect, DataGridViewPaintParts.Background + DataGridViewPaintParts.Border)
e.Handled = True

イベント内に以上のように書いた場合、セルの左半分だけ背景とボーダーが描画されると思ったのですが、
実際実行してみたところ、セル全体に背景とボーダーが描画されてしまいました。
rectを(1,1,1,1)なんて指定してみたところで、関係なくセルの全体が描画されているようでした。

これってrectで範囲指定ができないバグなんでしょうか?
それとも自分の書き方が間違ってるんですかね?

578 名前:デフォルトの名無しさん [2007/08/08(水) 16:18:26 ]
>>576
FlatStyle プロパティを System にしていました。><

むかし VB6 のときは、GraphicStyle だとかにすると色関係が
帰られたかと思いましたが、VB.NETではどうやっても無理ということ
なのでしょうか?

>>575
VisualStyle はググッたのですが、もしかすると WinXpの
ということでしょうか。


579 名前:デフォルトの名無しさん [2007/08/08(水) 16:22:11 ]
>>578

FlatStyle プロパティを System にしていましたのは、
Flat ですと見た目のインパクトが弱いためで、
その形が使いからでした・・・


580 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 16:26:56 ]
>>579
Standardじゃだめ?

581 名前:デフォルトの名無しさん [2007/08/08(水) 16:59:37 ]
>>580

なるほどー。

ただやってみたのですが、BackColor が 
System のときと同じように、立体的なテキスタイルになる
とうれしいのですが、可能でしょうか?


582 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 17:54:41 ]
自分の環境だとStandardとSystemの外観がまったく一緒なんだが、違うのかな…?

583 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 18:18:15 ]
>>582

そうなのでした、これはもしかしたら、WinXPの設定なのですかね・・・。


584 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 18:19:37 ]
質問者はOSとIDEの環境くらい書いておくれ。

585 名前:デフォルトの名無しさん [2007/08/08(水) 20:03:51 ]
>>584

すみません、OS は WindowsXp で、IDE は VS2005Pro でした。
そういえば、Xp は >>575さんの VisualStyle がありました、
これで変更してるから表示が変わるのですね。


586 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 23:32:38 ]
Delegate ステートメント
ttp://msdn2.microsoft.com/ja-jp/library/twsk0311(VS.80).aspx

Delegateについて勉強中なのですが教えてください。VB2005EEです。
上記の使用例で書かれているコードについてなのですが
Delegateがどのように役立っているかが全くわかりません。

Protected Sub Test()
AddNumbers(5, 3)
SubtractNumbers(9, 3)
End Sub

と書いたほうが良い様に思うのですが。



587 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 23:34:27 ]
@ITのデリゲート入門でも読めば?
あんまりいい記事じゃないけど、デリゲートの存在意義は馬鹿じゃなきゃ理解できるはず

588 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 23:36:25 ]
お前はいまとどめをさしてしまった…



589 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 23:37:49 ]
イベントとか
コレクションのSortとか


590 名前:586 mailto:sage [2007/08/09(木) 01:09:19 ]
>>587,>>589
回答ありがとうございます。何となくわかった気がします。

591 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 11:30:48 ]
Windowsアプリで質問です。
ユーザーコントロールを作成し中にLabelとPictureBoxを配置しました。
このユーザーコントロールを貼り付けたフォームで、このユーザーコントロールのMouseHoverイベントを
使用したいのですがLabelとPictureBox以外の領域でしかMouseHoverイベントが発生しません。
このユーザーコントロール中(LabelとPictureBoxとそれ以外の領域全て)でMouseHoverイベントを
発生させるにはどのようにすれば良いでしょうか。

592 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 11:44:20 ]
Private Sub UserControl1_MouseHover()
Private Sub Label1_MouseHover()
Private Sub PictureBox1_MouseHover()

でいいんじゃね?(未確認)

593 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 12:27:15 ]
>>591
しばらく前にほとんど同じ質問があったなあ。
過去ログ見れば参考になるサンプルコードが見つかるはず。(確か俺が書いた)

まあ要は、自分の内部コントロールのイベントを拾って、
あたかも自分のイベントのように偽装(っていってもOnXXXX呼ぶだけ)すればいいだけだよ

594 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 12:30:23 ]
>>592
解答ありがとうございます。
その記述をフォーム側に書くと言うことはLabelとPictureBoxをパブリックなプロパティにするということですね。
この場合、ユーザーコントロール内のマウスの位置によって3種類のMouseHoverイベントが起こるのが
ちょっとまずいです。
ユーザーコントロール内でマウスを動かしているだけで何度もイベントが発生するからです。
イメージとしてはユーザーコントロールと同じ大きさの透明のコントロールを最前面に配置して
その透明のコントロールのMouseHoverイベントを使用したい感じです。

595 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 12:32:23 ]
>>593
ありがとうございます。
過去ログを探してみます。
よろしければ検索のためのキーワードみたいなものを教えてもらえないでしょうか。

596 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 12:41:55 ]
>>593
内部のイベントを全て自作のイベント(MouseHoverExみたいな)にまとめて外部に公開するってことですかね。
そうするとやっぱりそのコントロール内でそれぞれのコントロールにマウスを合わせる度に同じイベントが発生
してしまいます。
Clickイベントなどはこの方法で実装しています。



597 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 12:42:35 ]
>>595
一個前のスレの363以降だね。
っていうか、593のヒントから自分でゼロから考えた方が楽しいぞ

598 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 12:43:31 ]
>>594
じゃあさ、MouseHoverイベントを使って
何をやりたいのかも書いておいたほうが回答もらいやすいぞ。
君がこれだ!って思う方法が可能とは限らないんだから。

599 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 12:57:13 ]
>>598
やりたいことはメニュー型のランチャーのサブメニュー項目のようなコントロールです。
使ってない人にはさっぱりかもしれませんがメニュー型ランチャーのOrchisでいう
サブメニューのような感じです。
画像とテキストを含んだユーザーコントロールにMouseHoverすると新しいFormを
Showすると言うような動きがしたいです。

>>597
了解です。
しばらくちゃんと自分で考えてみます。


600 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 18:19:38 ]
vb2003でGraphicsオブジェクトを使用して画像を合成しています。

単純に合成はできるのですが、乗算で合成したいなぁ、と思って
Graphics.MultiplyTransformなるメソッドを使用してみたのですが
乗算になっているようには見えません。

Photoshopでレイヤーを乗算にして描画される、あのイメージだったんですが
このメソッドで良かったのでしょうか?


g.DrawImage(imgA, rect)

Dim transformMatrix AS New System.Drawing.Drawing2D.Matrix
transformMatrix.Translate(1.0F, 1.0F)
g.MultiplyTransform(transformMatrix, System.Drawing.Drawing2D.MatrixOrder.Append)

g.DrawImage(imgB, rect)


こんな感じでやってます。

601 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 19:35:40 ]
ドキュメント読めばわかるが、MultiplyTransformはワールド変換のためのメソッド。
つまり座標変換。

System.Drawing.Graphicsというかその基になってるGDI+には色合成処理は用意されてない。
アルファブレンドはできるけど。
ので頑張って自前で実装するしかない。探せば見つかるかもしれないけど。

ttp://blog.livedoor.jp/junki560/archives/23254191.html
DelphiのコードだけどGDI+の乗算カラーフィルタのサンプルを見つけた。
参考になるかもしれない。

// そういえばPaint.NETは今どうなってんだろ。

602 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 19:42:26 ]
そりは変換行列の「積」なんでは?w

レタッチソフトの「乗算」の処理内容を具体的に知らないので抽象的なアドバイスになって
申し訳ないけど、たぶんカラー行列を使うんじゃないかな?(DrawImageのオーバーロードを見るべし)

603 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 22:38:02 ]
IME制御の質問です

アルファベットしか入力し得ないテキストフィールドなので、そのフィールドでの
入力時はIMEの変換モードを英数に固定しようとして

hWnd = TextBox1.Handle
hIMC = ImmGetContext(hWnd)
If hIMC <> 0 Then
ImmSetConversionStatus(hIMC, IME_CMODE_ALPHANUMERIC, IME_SMODE_NONE)
ImmReleaseContext(hWnd, hIMC)
End If

のようなことをFormのActivate時に実行してみたのですが、指定したフィールドだけでなく、
全ての項目にこの設定が適用されてしまいます。

その項目だけに効果を与えるにはどうすればよいのでしょうか?

604 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 22:50:04 ]
>>603
MSDNライブラリのTextBoxのメンバ一覧を穴があくまでじっくり読む

605 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 23:09:33 ]
>>604
お返事ありがとうございます。
ただ、もし ImeMode の事を言われているのであれば、それが使えない環境なので・・・・・・。
そうでないのであれば、ちょっと判りませんでした。


606 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 00:47:24 ]
>>605
それどういう環境?



607 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 00:59:18 ]
.NET Compact

608 名前:デフォルトの名無しさん [2007/08/11(土) 11:37:08 ]

すみません、教えてください。
Labelコントロールにおいて、現れている文字列を、マウスの操作でクリップボードに
コピーすることは普通はできないと思いますが、もしかしてそういうことができるように
するためのプロパティとかは存在しないでしょうか?

どうしても不可能な場合はボタンかまたはコンテキストメニューでもつけて
クリップボードにコピーするなどは考えられるのですが、テキストボックスと同様に
手軽に使えて、しかも文字列が変更されてしまわないものが望みです。

ちょうど、プロパティ・ダイアログの中のURLなどがそのようにできるものでした。
同様の機能を実現するのには特別なコントロールを自作する必要があるでしょうか?
すみませんがよろしくお願いします。


609 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 11:47:05 ]
TextBoxでReadOnlyにしたらいいんでないの?
あとはボーダーとか消してラベルっぽくすれば。


610 名前:デフォルトの名無しさん [2007/08/11(土) 12:26:22 ]
>>609

おお、TextBox に ReadOnly というプロパティがあったのですね!
わかりました、ありがとうございます!
いろいろ新しくなっているのですね!助かりました。



611 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 12:33:18 ]
おい大昔からなかったかい?


612 名前:デフォルトの名無しさん [2007/08/11(土) 12:43:08 ]
板違いかもしれません。ですが質問します。
C#.NETとVB.NETの違いって何ですか?

調べてみると、(触り程度)
C#.NETにメモリーを切る概念が無くなったと。
だったら、方言とコンパイルの速度だけの違いになりますか?

613 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 13:56:52 ]
ハァ?

614 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 13:59:46 ]
メモリー切る機能ってなんだよ

615 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 14:26:34 ]
俺のおじいちゃんがメモリ確保することを「切る」と言っていたが
21世紀にその言葉を聞けるとは思わなんだ

616 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 17:57:37 ]
万能動詞、切る
何が何でも切るって言うんだぜ?



617 名前:デフォルトの名無しさん [2007/08/12(日) 10:06:08 ]
コンソールアプリケーションの質問です

ReadLineなどで、画面から読み込む文字列を
[******]のようにマスクして、読み込む方法はあるのでしょうか?

すみませんが、よろしくお願いします

618 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 13:05:52 ]
>>612
VB.NETはリフレクションを使用するコードが勝手に生成されて凄く遅くなることがある
回避はできるからそれさえ注意すれば一緒

619 名前:デフォルトの名無しさん [2007/08/13(月) 09:08:53 ]
言語の違いなど飾りです。
PGさんにはそれがわからんとです。



620 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 10:44:01 ]
つまらん

621 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 14:16:59 ]
Graphicsクラスで1ピクセルの点をPenを使って書く時って
Graphics.DrawLine(Pens.Black, New PointF(10, 10), New PointF(10.1, 10.1))
のようにPointF使うしかないの?

622 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 15:21:56 ]
もう少しものの聞き方を勉強しなおした方がいいよ。

623 名前:621 mailto:sage [2007/08/13(月) 15:33:05 ]
>>622
ごめんなさい。

624 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 16:24:46 ]
DrawLineはPointFを引数にするものもあるけど、Singleを引数にしているものもあるだろ?
あとなんで1ピクセルが0.1だと思ってるんだ?

625 名前:621 mailto:sage [2007/08/13(月) 17:38:46 ]
>>624
Graphics.DrawLine(Pens.Black, 10, 10, 10, 10)
だと何も描かれないですし、
Graphics.DrawLine(Pens.Black, 10, 10, 11, 11)

Graphics.DrawLine(Pens.Black, 10, 10, 11, 10)
だと2ピクセル分描かれます。
10.1を指定するときれいに1ピクセル分描かれるのですが。
何かとんでもないトコを見落としているのかなぁ。
もうちょっと調べてみます。

626 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 17:48:01 ]
ピクセルの操作はBitmap.SetPixel/GetPixelで。
短いラインがどのなんドットなるかなんて、
ディスプレイディバイスの種類が違ったり、
スケールとか座標系いじったりしたら意味ないだろ。



627 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 18:05:15 ]
>10.1を指定するときれいに1ピクセル分描かれるのですが。
あほすぎて話にならん。
そんなのディスプレイの都合上、1ピクセル分の直線が引かれているように見えるだけだろ。
プログラム上では0.1ピクセルの直線を引いてる。
結果さえよければどうでもいいのか?

説明が面倒なので、答えを書く。
お前が書きたい1ピクセルの点というのは、数学的に言えば「一辺1ピクセルの面」だ。
面を書くのはDrawLineではない。

e.Graphics.FillRectangle(Brushes.Black, 10, 10, 1, 1)

628 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 18:07:38 ]
>>626
.netじゃ座標や幅の基本単位がピクセルだから関係ないんじゃね?
twipならディスプレイの設定で変化してくるが。

629 名前:621 mailto:sage [2007/08/13(月) 18:17:21 ]
>>627
もちろんFillRectangleやSetPixelを使うことは知っています。
1ピクセルの点をPenを使って書く時に10.1のように
書くしかないのですかという質問なのですが。


630 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 18:17:57 ]

.NET2.0用に作成したアプリケーションは、3.0しかインストールしていないWindowsでは
動作しないのでしょうか?


631 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 18:24:08 ]
ポカーン

632 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 18:24:52 ]
>>629
1x1のビットマップを作成してDrawImageという手もあるけど
それならまだ10.1の方がスマートな気がする

>>630
3.0は、2.0に一切手を入れずに新機能を追加しただけのもの
MSを信じるなら全く問題ないはず

633 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 19:13:37 ]
>>629
だからよ、お前はDrawLineの仕様がわかってないって言われてるの。
DrawLineはあくまで座標ペアで指定された2つの点を結ぶ直線を描画するんだ。
「点」ってのは直線じゃないだろう?
Graphics.DrawLine(Pens.Black, New PointF(10, 10), New PointF(10.1, 10.1))
お前のこれは、「見かけ上」1ピクセルの点に見えるだけで、プログラム上じゃ(10, 10)to(10.1, 10.1)の直線なワケ。
お前が厳密に1ピクセルの点を書きたいわけじゃなく、ただ見かけだけそうなってりゃいいや、っていうならそれでいいよ。
ただ、そんなのに甘んじるようなお前は果てしなくセンスが無いってだけだ。

634 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 19:25:55 ]
Penで点を描くのは確かにおかしいかも

635 名前:621 mailto:sage [2007/08/13(月) 21:25:54 ]
>>633
すみません。怒らせちゃって。
確かにおかしいんですよ。
僕も通常点を描くだけならFillRectangleで済ますんですが
ただ描画するのは違うクラスでこのクラスはもう変更きかなくて
Penと座標しか指定できないので
困ってたんです。
で、やっとこさ10.1というのを発見してあなたの言う見かけだけ
はできたのですが、他に何かないかなと思った次第でして。
あなたと私はたぶん似ているんだと思います。
私もDrawLineの仕様を言いたいですが、
Penと座標しか指定できない場合、10.1と指定するのことに
甘んじたくなくて質問したんです。
あなたも同じ状況なら他になにかないか探すと思います。


636 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 21:31:33 ]
そもそもPenと座標しか指定できないのになんで他の方法を探してたの?



637 名前:621 mailto:sage [2007/08/13(月) 21:32:58 ]
>>632
ありがとうございます。
少し気が楽になりました。

638 名前:621 mailto:sage [2007/08/13(月) 21:36:12 ]
>>636
他の方法というのは
例えば独自のPenを作成するとか
Penのプロパティにそういうのが指定できるとか
もしあったらと思いまして。
ですのでPenを使って何かないのかなと質問しました。


639 名前:デフォルトの名無しさん mailto:sage [2007/08/14(火) 02:14:46 ]
フォームクラス以外のクラスからフォーム上のコントロールを操作したいとき、
My.Forms.Form1.TextBox1.text = "2ch2ch"
とか使う?それとも引数で渡す?
俺はMSがせっかく用意してくれてるんだからMy使うんだけど、みんなはどっち?

640 名前:デフォルトの名無しさん [2007/08/14(火) 04:42:20 ]
TreeView や ListView 上の ListViewItem というのは、
Selected 状態と Active 状態とで異なるでしょうか?

Explorer上の TreeView や ListView では、点線でかこまれただけの状態の Item
と、実際に選択されて薄いパープル色あるいはグレーのバックカラーになって現れている
場合の2種類がありますが、それらに対応するものなのでしょうか。



641 名前:デフォルトの名無しさん mailto:sage [2007/08/14(火) 04:51:13 ]
はて、Active 状態ってのは一体どのプロパティがどの値になってるのを指すんだ?

642 名前:640 [2007/08/14(火) 05:21:30 ]
>>641

そうですね、よくわからないんですが、OnItemAvtivated() の Protected メソッドが
動くときのイベントが発生したとき、という意味のつもりでした。

Explorer では「単なる点線囲み状態」 と 「BackColorが色付く状態」 の両方があったので
そういう違いがある2つの状態というものがあって、それが Selected とは別の何かなのかなと
思ったのでした。

そういうもの自体存在しないのでしょうか。

643 名前:デフォルトの名無しさん mailto:sage [2007/08/14(火) 09:43:48 ]
OnItemActivate の二つ先に Activation プロパティがある。その解説読んでみ。

> 「単なる点線囲み状態」「BackColorが色付く状態」
ListViewItem にそれぞれ対応するプロパティがある。

TreeView は単一選択なんでこの辺は無関係。

644 名前:デフォルトの名無しさん mailto:sage [2007/08/14(火) 09:49:15 ]
>>639
ほんとは引数で渡した方がいい
テキストボックスも直接公開するんじゃなくてForm1にString型のプロパティを定義した方がいい
でもどうせ使い捨てなら別にどうでもいい

645 名前:640 [2007/08/14(火) 14:15:33 ]
>>643

ご指導どうもです、この 「点線囲み状態」 は ListViewItem の Focused プロパティに
関係ありそうですね。さらにあちこち見て調べてみます。
ありがとうございました!


646 名前:デフォルトの名無しさん [2007/08/14(火) 15:07:48 ]
>>627
プププ何コイツ
久々に笑わせられたぜww

>数学的に言えば「一辺1ピクセルの面」だ。

何が数学的だよ1ピクセルはプログラム上は点に決まってんじゃん。www
>e.Graphics.FillRectangle(Brushes.Black, 10, 10, 1, 1)
ちゃんと4ピクセルの面を指定しるじゃん。wwwうぇwww
FillRectangleってのは領域の内側を塗るんだよ。おバカさん
内側ってのは右辺と下辺から1ピクセル分引いた値。w
で結果1ピクセル分だけ塗られているだけだぽwww

直線上にない異なる3点以上を指定しないと面にならないことくらい
消防でも知ってるっつうの。

>一辺1ピクセルの面 プププププww
一番小さい面は3ピクセルの三角形だよwwwwww

ってかムキになってる638はその前に氏ねよwww。

こいつらくだんね。




647 名前:デフォルトの名無しさん mailto:sage [2007/08/14(火) 15:15:40 ]
( ゚д゚)ポカーン

648 名前:デフォルトの名無しさん mailto:sage [2007/08/14(火) 16:09:05 ]
>>646
>FillRectangleってのは領域の内側を塗るんだよ。おバカさん
>内側ってのは右辺と下辺から1ピクセル分引いた値。w

FillRectangleには下辺の指定とかないんだけど、勝手に定義を変更しているあなたはなんなの?

>e.Graphics.FillRectangle(Brushes.Black, 10, 10, 1, 1)
これは座標(10,10)から始まる幅1高さ1の面ってことだろ?

ってか文章からして釣りだよなw

649 名前:デフォルトの名無しさん mailto:sage [2007/08/14(火) 16:14:46 ]
>>635
>僕も通常点を描くだけならFillRectangleで済ますんですが
>ただ描画するのは違うクラスでこのクラスはもう変更きかなくて
>Penと座標しか指定できないので
>困ってたんです。
こういう背景も書かずに、いきなり>>621みたいな聞き方するから、Bitmap.SetPixel/GetPixelやFillRectangleなんて話がでてきたんではないの?

『定義の使用上、通常1ピクセルの直線は描画できないDrawLineで、
1ピクセルの点を描画する方法はありませんか』
とか聞けばいいのに。

650 名前:デフォルトの名無しさん [2007/08/14(火) 17:13:09 ]
>>648
>これは座標(10,10)から始まる幅1高さ1の面ってことだろ?
これ読んだら吹いたwww

お前633で「点」ってのは直線じゃないだろう?
って言ってたじゃん。
点は直線じゃないが面になるのかよwww

お前まさか座標のことピクセルとピクセルの間だと思ってないかww
GetPixelでカラー取得できなくなるっちゅうのwwww

Rectangle( 10, 10, 1, 1)ってのは
(10,10)(10,11)(11,10)(11,11)の4点を表すんだよwww
DrawRwctangleやってみろよwwうぇぇぇぇwwww

>1ピクセルの面なんてねぇぇぇよwwうふ


651 名前:デフォルトの名無しさん mailto:sage [2007/08/14(火) 18:14:34 ]
>>650
俺は627で「1ピクセルってのは点じゃなくて幅1高さ1の面だ」って言ってるんだが…。
だからこそ1ピクセルの「いわゆる」点を書くのは、面を塗りつぶす
e.Graphics.FillRectangle(Brushes.Black, 10, 10, 1, 1)
だと言うているんだが…?
目に見える「点」なんて存在しないだろ?
お前の言いたい事がてんでわからん。


652 名前:651 mailto:sage [2007/08/14(火) 18:16:58 ]
>>650
e.Graphics.FillRectangle(Brushes.Black, 10, 10, 1, 1)
ちなみにこれは座標(10,10)だけが塗りつぶされます。
あおる前に試してから書き込め、糞が。

653 名前:デフォルトの名無しさん mailto:sage [2007/08/14(火) 19:52:58 ]
どうでもいい

654 名前:デフォルトの名無しさん mailto:sage [2007/08/14(火) 19:55:35 ]
>>558

655 名前:デフォルトの名無しさん [2007/08/15(水) 11:52:54 ]
VB.NETからエクセルに出力する時の質問です。

データベースの内容をエクセルに出力したいのですが(行は100行×列は10列くらい)、
この場合、VB.NETからエクセルのセルに直接書き込んだ方が早いですか?
それとも、エクセルのマクロを呼び出して、マクロ側でデータベースの内容を
セルに書き込んでいった方が早いですか?


656 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 12:23:04 ]
後者



657 名前:デフォルトの名無しさん [2007/08/15(水) 15:17:28 ]
教えてください。
DataGridViewにて、指定したセルの左上の座標を取得する方法はありますでしょうか?
ありましたらその方法を教えてください。
宜しくお願いします。

658 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 15:22:30 ]
DataGridViewのメンバに目を凝らすんだ

659 名前:657 mailto:sage [2007/08/15(水) 15:52:18 ]
>>658
AccessibilityObjectプロパティを利用して解決できました。


660 名前:デフォルトの名無しさん [2007/08/15(水) 20:51:23 ]
Windowsフォームで別スレッドからコントロールを操作するには?
(www.atmarkit.co.jp/fdotnet/dotnettips/312ctrlinvoke/ctrlinvoke.html)
引数がない場合、サンプルのように次の書き方でOK。

 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  TextBox2.Focus()
 End Sub
 ↓
 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
 Dim t As New Thread(New ThreadStart(AddressOf worker))
 t.Start()
 End Sub

 Delegate Function FocusDelegate() As Boolean

 Sub worker()
 ' textBox2.Focus()の実行
 Invoke(New FocusDelegate(AddressOf TextBox2.Focus))
 End Sub

次のように引数も渡したい場合、どのように書きなおせばよいのでしょうか?
 Dim dtNow As DateTime = DateTime.Now

 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
 TextBox2.Text += dtNow.ToString() & vbcrlf
 End Sub
 ↓
 ?

661 名前:デフォルトの名無しさん [2007/08/16(木) 09:59:26 ]
文字列のフォーマットについて教えてください。

"abcdefgh" という文字列を "abcd-ef-gh" という風に変換したい場合、
VB6の時は
Format("abcdefgh","@@@@-@@-@@")
で出来ました。
これをVB2005で表現するには、
VB6.Format("abcdefgh","@@@@-@@-@@")
といった風にしかできないのでしょうか?
VB6.Formatを使わずに簡単に上記操作が出来る方法があれば教えてください。

662 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 10:07:34 ]
SubstringでぶったぎってConcatで繋げればいいよ

663 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 12:51:09 ]
ToStringメソッドを調べると良いと。

664 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 13:05:33 ]
TreeViewについて教えてください。

あるノードが、あるノードより上にあるか下にあるか
調べたいのですが簡単にわかる方法はありますでしょうか?

If hogeNode.index > hoge2Node.index Then
End If

ですと階層が同じでないと比較できないので困っています。

よろしくお願いします。

665 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 13:22:03 ]
上?

666 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 13:29:26 ]
>>665
ツリーを全展開したときに、より左上にあるものが上といった感じです。



667 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 13:34:31 ]
TreeNode.Parentを辿って数えれば?

668 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 13:48:04 ]
右上にあっても上?

669 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 13:58:41 ]
上位という意味だろ
より親

670 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 15:34:46 ]
右上も上です。

671 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 16:02:58 ]
プロパティの質問です。
会社の先輩にクラスのフィールドは必ずプロパティで介せよ!って言われたのですが、
以下のコードのようにmfield1とmfield2の違いがよくわかりません。
mfield1はプロパティ内で入出力操作みたいなことはできるのですが、下のコードのように
特に何もしないプロパティなんて意味あるのでしょうか?こういうプロパティがクラスに沢山あるのですが、正直面倒です。
先輩に聞いたら元請にそう指示されたと言ってましたが・・・
Public Class Class1
  Private mfield1 As String
  Public mfield2 As String

  Public Property Field1() As String
    Get
      Return mfield1
    End Get
    Set(ByVal value As String)
      mfield1 = value
    End Set
  End Property
End Class
確かに以前Javaの引継ぎの仕事で貰ったソースも、getter、setterが無数に書かれてましたが、return とクラスの変数の割り当て以外何もしていませんでした。
いまいち利点がわかりません。

672 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 16:11:34 ]
>>671
そのうち昔は無駄なことをしていたなぁ
ということになるからそれまでは我慢

673 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 16:41:00 ]
C#3.0をまて

674 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 16:55:15 ]
>>671
読み書きの処理をインターセプトして値のチェックや変換ができるというのも利点だが、
そういう処理の必要でない単純なプロパティを含む場合の利点としては
フィールドと違いInterfaceにしたり継承でoverrideできること。
特にリモート呼び出しなどではInterfaceであることは重要になる。

その為プロパティが花盛りなのは事実だが大半が単純な構造のプロパティであることから、
プロパティによるコードの増大を何とかしようとする動きはある。
1.IDEのサポート機能で強引にsetter/getterを大量生産する。
2.基本的な構造のプロパティを簡単な構文で書けるようにする。
3.パブリックなフィールドは自動的にプロパティにする。

1は現状のJavaやらC#で盛ん。
2と3は言語の拡張で対応。次版のVBやC#はこの方向。
3はあまりみないが、VB6のActiveXクラスのパブルックフィールドがこのやり方だった。


675 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 20:02:10 ]
>660
解決しました。
660の質問は却下します。


676 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 21:38:41 ]
>>664
nodeにlevelってプロパティがあった様な。



677 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 21:48:32 ]
質問させてください。
ドラッグアンドドロップのコードを記述してるのですが、
ドラッグ元のオブジェクト名を取得するにはどうすればいいのでしょうか?

VB2005EEを使っています

678 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 21:54:51 ]
オブジェクト名って何さ
型名? それともひょっとして変数の名前のこと?

679 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 22:09:06 ]
>>678
picturebox1とかlabel1みたいなクラス?の名前のことです

680 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 22:14:08 ]
1付きはForm1以外はクラス名じゃなくて変数名だと思うぞ
で、そんなもんは仮の名前なのでとれるわけもないが

結局その名前を使って何がしたいの?

681 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 22:14:30 ]
おまえ却下てw


682 名前:677 mailto:sage [2007/08/16(木) 22:24:00 ]
ドラッグ元の画像をドラッグ先の画像にドラッグアンドドロップしたときに
ドラッグ元の画像を非表示にしたかったのですが、ドラッグ元の情報を
どうやって取得したらいいのか分からなかったので質問しました。

683 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 22:29:25 ]
DoDragDrop の返り値見てドラッグ元側が処理すればいい
ドラッグ元とかドラッグ先とかの状況が分からないから一般論だが

684 名前:671 mailto:sage [2007/08/17(金) 00:09:30 ]
>>674
ありがとう。とりあえずプロパティにしておくのは間違いではないのですね。
ググルと既にJava界ではgetter setterでいろいろ賛否両論が行われてました(@ITの掲示板はついて行けませんでしたが…)
しかし、オブジェクト指向のソースとか何の為?って思う箇所が多々あって辛い。
周りに詳しい人もいないんで、何を頼りにすべきか…。デザインパターンとかとりあえず目を通した方が良いのかな。

685 名前:デフォルトの名無しさん [2007/08/17(金) 10:49:21 ]
質問です。
DataGridViewで、”スクロールバーが現在表示されているかどうか”を取得できるプロパティみたいなものはあるのでしょうか?
それともDataGridViewの高さ(幅)と、表示されている行(列)の高さ(幅)の合計を比較するしかないでしょうか?

686 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 13:40:41 ]
DataGridViewを継承したコントロールですと、
HorizontalScrollBar.Visible
で判定できるみたいですね。
それでいってみます。



687 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 15:27:14 ]
Textbox(Multiline)のIMEModeの挙動がおかしいです。

No Control に設定(デフォのまま)してあるのに、実行時に
普通に入力できていたのに突然、カナ入力になったり、
オフ固定になったりします。

フォーカスが、他のアプリなどへ移動して、再度該当の
TextBoxに来た時に症状がおきやすい様ですが、明確な
発生状況の原因は突き止められていません。

ネットで検索した所、似たような症例が見受けられたが、
クリティカルな回避方法が分かりません。

何か良い方法はありませんでしょうか?

688 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 21:52:19 ]
以下のソースで文字をPictureBox1に描画してるのですが、
この文字を、BMP保存したい場合どうすればいいのでしょうか?

Dim g As Graphics = PictureBox1.CreateGraphics() ' PictureBox1のGraphicsオブジェクトを取得
Dim fnt As New Font("MS 明朝", 20, FontStyle.Bold) ' フォントオブジェクトの作成

g.DrawString("文字をを描画", fnt, Brushes.Blue, 50, 20) ' 文字を描画

'リソースを開放する
fnt.Dispose()
g.Dispose()

689 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 21:56:53 ]
普段から直接描くんじゃなくてBitmapに描くようにすればいいよ

690 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 21:57:14 ]
Graphics.FromImage(Bitmap)で取得したオブジェクトに対して描画してBitmap.Save
保存しない場合でもPictureBoxに直接書くよりBitmapに描画してDrawImageの方がいいと思うよ

691 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 22:04:38 ]
>698,690
うまくいきました、ありがとうございます

692 名前:デフォルトの名無しさん [2007/08/17(金) 22:58:20 ]

すみません、教えてください。

TreeView において、+ 印をクリックしたときにも、MouseUp イベントが発生する
のですが、、

それを、Node 本体をクリックしたときと区別する方法はあるものでしょうか?
IsSelected プロパティを見てみたのですが、無関係のようで、どうしたらいいもの
かと思いまして。すみませんがよろしくお願いします。


693 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 23:13:02 ]
NodeMouseClick とかじゃ駄目か
.NET 1.1 以前なら駄目か、じゃあ HitTest だな

694 名前:デフォルトの名無しさん [2007/08/17(金) 23:26:06 ]
>>693

どうもです。

2.0でしたが、NodeMouseClick でもやはり + 印の方でも反応していました。
HitTest でしたか。調べてみます、ありがとうございました!



695 名前:デフォルトの名無しさん mailto:sage [2007/08/18(土) 08:47:26 ]
>>692
TreeViewMouseDownで
マウスダウンポイント = New Point(e.X, e.Y)
選択ノード = ツリービュー.GetNodeAt(マウスダウンポイント)
範囲 = 選択ノード.Bounds()
If 範囲.Contains(マウスダウンポイント) Then
 ボディを選択した
Else
 +を選択した
End If

696 名前:デフォルトの名無しさん [2007/08/18(土) 12:15:27 ]
>>695

おお!!そうやってやるのですか!!!
すばらしい、どうもありがとうございました!!
助かりました!!!




697 名前:デフォルトの名無しさん [2007/08/18(土) 15:07:21 ]
VS2005のIDEですが、ソースコード・エディタ上でマウスであちこちクリックしたり、
検索で移動したり、「シンボルの検索結果」での選択で移動したり、とこれらの操作で
キャレットの位置が変わっていったとき、その位置を復元して逆たどるためのツールボタン
があったと思うのですが、

PCが壊れて、別のPCに変えて同じボタンと思われるものを使ってみたのですが、
同じその機能が働いてくれません。

この機能のボタンはありますよね。なんという名前のボタンかがわかりません。

(試してみたのは、「前の検索結果1の場所へ移動」「前の検索結果2の場所へ移動」
「前の場所へ移動」などですが、これらでは復元しませんでした。ツールボタンの欄で
右クリック->「ユーザー設定」->「編集」を選択->その中のボタンから選択してみました。)


698 名前:デフォルトの名無しさん mailto:sage [2007/08/18(土) 15:13:24 ]
そういうのって人に聞くより自分で実際やってみる方が早くないか?

それともIDEのメニューやツールバーのカスタマイズ方法を知らないの?

699 名前:デフォルトの名無しさん [2007/08/18(土) 15:56:40 ]
>>697

ですから、それをやってみたと書いていますが・・・。それでもできなかったもので。
           ↓
(試してみたのは、「前の検索結果1の場所へ移動」「前の検索結果2の場所へ移動」
「前の場所へ移動」などですが、これらでは復元しませんでした。ツールボタンの欄で
右クリック->「ユーザー設定」->「編集」を選択->その中のボタンから選択してみました。)


700 名前:デフォルトの名無しさん mailto:sage [2007/08/18(土) 17:14:24 ]
進む、戻る、かなんかのボタンだよね
俺も見つかられんのだわw


701 名前:デフォルトの名無しさん mailto:sage [2007/08/18(土) 17:14:55 ]
たしかすごい意外なとこにあった記憶はあるんだが…


702 名前:デフォルトの名無しさん [2007/08/18(土) 17:46:36 ]
分類:表示 の 一番下のほうにある 戻る か?

703 名前:697 [2007/08/18(土) 20:36:38 ]
>>702

あー、それでした!!どうもありがとうございました!



704 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 01:05:24 ]
質問なんですが、フォントスタイルに太字と斜体の両方を
設定した場合に、太字(もしくは斜体)のみを標準状態に
戻す場合のコードってどう書けばいいのでしょうか?

705 名前:704 mailto:sage [2007/08/20(月) 01:12:05 ]
自己解決しました、お騒がせしました。

706 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 09:31:20 ]
どれだけ下らなく稚拙な質問でも、同じ疑問を持ってるやつがいるかもしれないから、
自己解決した場合でも、解決法は書くべき。

現在のスタイル-太字
TextBox1.Font = New Font(TextBox1.Font, TextBox1.Font.Style Xor FontStyle.Bold)

ちなみに
現在のスタイル+太字
TextBox1.Font = New Font(TextBox1.Font, TextBox1.Font.Style Or FontStyle.Bold)



707 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 12:31:46 ]
地獄への道は善意で舗装されている、という言葉の意味を706は噛み締めるべきだね。

そういう「善意」は、結局のところ、基礎の理解や自分の頭で考えることをスキップする
「コピペ馬鹿」を生み出すだけだと思うが。

708 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 13:14:31 ]
>>707
善意から莫迦が産まれるとでも思ってんのか?
莫迦は元々莫迦なんだよ。

709 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 14:47:18 ]
まあ少なくとも馬鹿を矯正するスレじゃないからね

710 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 16:43:07 ]
質問答えたらだめじゃんw

711 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 17:36:01 ]
コントロールを名前で選択するにはどうすればいいのでしょうか。

例えばForm1上にButton1があったとすると、
Dim btn As Button = hoge("Button1")
みたいなことがしたいのです。
ググると、Form上のコントロールのコレクションをFor eachで回して、名前が一致するかどうかで
探すというのは見つけたのですが、名称からダイレクトに選択したいです。

712 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 18:27:44 ]
またコントロールを名前で選択したいです厨か


713 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 20:42:55 ]
>>711
>Form上のコントロールのコレクションをFor eachで回して、名前が一致するかどうかで
>探す
という関数を作成すれば
>名称からダイレクトに選択
できますよ。

714 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 21:01:40 ]
>>711
Form.Controls(string)
やめとけやめとけやめとけやめとけ

715 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 21:04:12 ]
712じゃないけど(いや712は別に何も言ってないがw)
>>711みたいな「要求」は、ほとんどの場合勘違いの産物だと思うぞ。
ありていに言えば頓珍漢なんだよたぶん。

716 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 21:49:53 ]
>>711は結局それで何がやりたいのだろう



717 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 21:53:11 ]
ちゃんと理解してて目的があって使うならいいんだけど
>>711はそれ以外に方法がないと思い込んでるだけだろうな

718 名前:デフォルトの名無しさん [2007/08/20(月) 23:06:46 ]
ListView上をMouseでClickしたとき、何かのListViewItemをHitすると
MouseUpイベントが連続して2回立つ、ということはありうるでしょうか?

そういう現象が出て悩んでいました。

下に何もないところをClickしたときはMouseUpは正常に一回しか立たない
のですが、下にItemがあるところをMouseでClickすると、2回連続してMouseUpが
立つのでした。

そのためか、そのListViewItemは、選択された印のBackColorが付かず、
Selected状態になっているのかどうかわからないのでした。

MouseDownイベントを挟まずにMouseUpが2回連続するというのは変だと
思うのですが、どこを通ってきてそうなっているのかわからないのでした。
こういう現象になった方いらっしゃったら何かご指導ください。よろしくお願いします。



719 名前:デフォルトの名無しさん mailto:sage [2007/08/21(火) 01:21:52 ]
>>718
ありうるかどうかはdebug.printしてみればわかる。

720 名前:デフォルトの名無しさん mailto:sage [2007/08/21(火) 07:53:11 ]
DirextXを使用しているものから色を取得して判定したいのですが
Win32APIのGetPixel等では不可能のようでしたが、何か良い方法は
ないでしょうか。

721 名前:711 mailto:sage [2007/08/21(火) 09:20:41 ]
>>714さんの方法でできました。ありがとうございました。

やりたいことは、

722 名前:デフォルトの名無しさん [2007/08/21(火) 09:59:05 ]
>>719
そうなのです、それをやってみた結果、それがわかったのでした。

MouseUpというのはMouseDownが起きて初めて起こるはずなので、Upだけ
2回連続するというのは、理屈でいけばおかしいと思われました。

しかし、確かにDownを挟まずに、2回通っているのでした。

これは、どこかでDownに準じる何かが起きているが、それがおもてに
現れずにいるというようなことなのか、それとも、どこかまだ不明なところを
経由して再びMouseUpが実現してしまうという構造なのか・・・??

それで、そういったことは起こりうるのか、それが疑問になったのでした。

で、現実にItemが選択状態のBackColorにならない、ということは、その
2回連続しているMouseUpがおきてしまうことと関係があるのだろう、
と推測されたわけでしたが、どなたかアドバイスがありましたらお願いしますです。

723 名前:デフォルトの名無しさん mailto:sage [2007/08/21(火) 10:14:55 ]
>>720
DirextXを使用している「もの」って具体的に何
>>722
再現しなかったのでした。
そのListViewItemについて詳しく教えてほしいと思ったのでした。

724 名前:デフォルトの名無しさん mailto:sage [2007/08/21(火) 10:19:28 ]
>>723
スルーされるの覚悟ですが、フルスクリーンで動作するゲームです。
DirectXについて詳しくないのですが、普通にSpy++でハンドル調べて
Findwindow等で取得したハンドルを使ってGetPixelしたのですが
駄目でした。

725 名前:デフォルトの名無しさん mailto:sage [2007/08/21(火) 10:29:50 ]
普通にGraphics.CopyFromScreenでできない?

726 名前:デフォルトの名無しさん mailto:sage [2007/08/21(火) 10:35:20 ]
有り難う御座います。帰ってから試してみます。



727 名前:デフォルトの名無しさん [2007/08/21(火) 11:31:28 ]
行列クラスを作ろうとしています。今、
Dim ary(,) As Integer = {{1, 0}, {0, 1}}
Dim matrix As New Matrix(ary)
のようにやっていますが、
Dim matrix As New Matrix({{1, 0}, {0, 1}})
とやることはできないでしょうか。

また、a22 = matrix(2, 2) で a22に1が入るなどとやりたいのですが、
そういうことは可能でしょうか。

Array は Inherits できないようなので、無理なんですかね?


728 名前:デフォルトの名無しさん mailto:sage [2007/08/21(火) 11:34:12 ]
>>724
FPSゲームのチートソフトでも作る気かw

729 名前:デフォルトの名無しさん mailto:sage [2007/08/21(火) 11:38:29 ]
>>727
>Dim matrix As New Matrix({{1, 0}, {0, 1}})
コンストラクタの引数に配列をとる
>a22 = matrix(2, 2)
既定のプロパティ

730 名前:729 mailto:sage [2007/08/21(火) 12:00:46 ]
すまん上の方はもうやってたな
Dim matrix As Matrix = New Matrix(New Integer(,) {{1, 0}, {0, 1}})
にするだけ

731 名前:724 mailto:sage [2007/08/21(火) 13:23:15 ]
>>728
チートだなんてとんでも無い。ちょっとしたマクロ程度です。
>>725も試してみたんですが、上手く使えずWin32APIで
GetWindowDC(0)としてデスクトップ全体のDCからGetPixelしたん
ですが、DirectX(フルスクリーン)だと上手く行かないみたいですね。
今会社なので試せてませんが…。

ググってみると、どうも出来ないという話ばかりありました。

もう何て言うか、他のソフトで窓化してから組んだ方が手っ取り早い
気がしてきました。UWSCのPeekColorなんかだと出来るんですが
どうやって実現しているんだろう…。


732 名前:デフォルトの名無しさん mailto:sage [2007/08/21(火) 14:23:02 ]
DirectXとフルスクリーンには、何にも因果関係はないと思うが。

DirectXで描画しているDCを取得しないと駄目なんでないの?

733 名前:デフォルトの名無しさん mailto:sage [2007/08/21(火) 14:39:07 ]
WebBrowserコントロール内のドキュメントの反転範囲の取得は可能ですか?

734 名前:733 mailto:sage [2007/08/21(火) 14:40:27 ]
連レスすいません、「クリップボードの利用は無し」が条件です。

735 名前:デフォルトの名無しさん mailto:sage [2007/08/21(火) 14:43:37 ]
>>733
可能です

736 名前:733 mailto:sage [2007/08/21(火) 14:45:27 ]
>>735
ありがとうございます



737 名前:デフォルトの名無しさん mailto:sage [2007/08/21(火) 14:54:33 ]
VB2003で開発しています。

ここで質問していいかわからないので、もし他スレが適切なら
誘導をお願いします。


OSがWin2003Serverでドメインコントローラになっているサーバに
Everyoneでフルコントロールできる共有フォルダがあります。
この共有フォルダに、LANで繋がっているOSがXpHomeEditionのPC
からファイルをアップロードしたりダウンロードしたりするアプリを
作りたいのです。

使用するPCはちょっと特殊なPCでHomeEditionしかプリインストールされていません。
ドライバ類の事を考慮して、OSをProfessionalEditionに乗せかえることは
しません。

クライアントがProfessionalEditionなら問題はないのですが、HomeEdition
なのでサーバの共有フォルダにアクセスしようとすると、ユーザ名と
パスワードを要求されてしまいます。

最初にエクスプローラから共有フォルダを開こうとしてユーザ名とパスワードを
通しておけば次からは要求されないので問題がないのですが、この開発中の
アプリからいきなり共有フォルダにアクセスしようとすると、ユーザ名と
パスワードが通っていないためにエラーになります。

プログラムからユーザ名とパスワードを認証させる方法はありますでしょうか?

738 名前:724 mailto:sage [2007/08/21(火) 14:55:53 ]
>>732
そうなんですか。すいません。あまり詳しくなくて。。
oshiete1.goo.ne.jp/kotaeru.php3?q=1145477
この辺みて勘違いしてたかもしれません。

取りあえず、↓みたいな感じの関数で帰ってから試してみます。
有り難う御座いました。

Private Function PeekColor(ByVal x As Integer, ByVal y As Integer) As Integer

Dim ret As Integer

ret = GetWindowDC(0) 'スクリーン全体のデバイスコンテキストを取得
PeekColor = GetPixel(ret, x, y)
ret = ReleaseDC(0, ret) 'スクリーン全体のデバイスコンテキストを解放

End Function

739 名前:デフォルトの名無しさん mailto:sage [2007/08/21(火) 15:00:47 ]
>>737
WNetUseConnection


740 名前:デフォルトの名無しさん mailto:sage [2007/08/21(火) 15:03:46 ]
>>738
どんなフルスクリーンか知らんが解像度が変更されている場合もあるので気をつけれ
多分デスクトップのDCのピクセル情報はフルスクリーンキャプチャに移るのと一緒だと思うから一回撮ってペイントに貼り付けてみて確認してみるのもいいかも

741 名前:デフォルトの名無しさん mailto:sage [2007/08/21(火) 15:16:15 ]
>>737

>ドライバ類の事を考慮して、OSをProfessionalEditionに乗せかえることは
>しません。

これだけの為にProにアップグレードするべきだとは思わんが、一応教えておく。
ドライバはHomeだろうがProだろうが一緒。互換性を心配するのは間違い。

742 名前:デフォルトの名無しさん mailto:sage [2007/08/21(火) 17:20:47 ]
VB2005です。
TextBoxで未入力のときに数値の0とみなしたいのですが、次のようなやり方以外に
簡単な方法はありますか?
if textbox1.text.length = 0 then
val = 0
elseif isnumeric(textbox1.text) then
val = cint(textbox1.text)
else
'error
end if

743 名前:737 mailto:sage [2007/08/21(火) 17:47:49 ]
>>738
さっそくWNetUseConnectionをぐぐってみました。
で参考になるサンプルを見つけたので
ttp://64.233.167.104/search?q=cache:e1IfQnfsW9UJ:www.vbalab.net/vbaqa/c-board.cgi%3Fcmd%3Dntr%3Btree%3D36579%3Bid%3Dexcel+WNetUseConnection&hl=ja&ct=clnk&cd=9&gl=jp&lr=lang_ja
真似てやってみたのですが
その関数の戻り値が 487 となり、失敗します。

で、その戻り値を調べたら
ERROR_INVALID_ADDRESS 487 0x000001E7 無効なアドレスにアクセスしようとしています。
とありました。
しかし、そのアドレスは確実に間違っていないはずなんですが・・・。
そのアドレスをエクスプローラのアドレス欄に貼り付けるとちゃんと表示されます。

これ以上はスレ違いでしょうかね?
apiスレに移動したほうがいいでしょうか?


>>741
ドライバの互換性云々というのではなく、ドライバ類がOSの再セットアップ用に
提供されていないという問題なんです。
一応、ハードディスクにはリカバリイメージが格納されているのですが
隠蔽されているっぽいのです。
ドライバCDもなく、webでも公開もされておらず・・・

744 名前:デフォルトの名無しさん mailto:sage [2007/08/21(火) 18:14:50 ]
>>743
ヒント:上書きインストール

745 名前:デフォルトの名無しさん mailto:sage [2007/08/21(火) 18:33:56 ]
>>742
それで十分簡単だと思われ。

746 名前:727 mailto:sage [2007/08/21(火) 18:57:05 ]
>>729
a22 = matrix(2, 2) はできました。ありがとうございます。
Dim matrix As New Matrix({{1, 0}, {0, 1}})
の方は、以下のようにしてみましたが、式が必要です
というエラーが出ます。対策を教えていただけないでしょうか。


Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim matrix As new Array2({1, 0})
End Sub
End Class
Public Class Array2
Public elements As Array
Public Sub New(ByVal ary As Array)
elements = ary
End Sub
End Class



747 名前:デフォルトの名無しさん mailto:sage [2007/08/21(火) 20:15:26 ]
>>743
Win32APIの意味や失敗の原因を調べるならWin32API質問箱スレに移動すべきだが、
Win32APIを呼び出すためのVB.NETの記述方法について知りたいなら、ここのままでも
よいのでは?

748 名前:737 mailto:sage [2007/08/21(火) 21:10:20 ]
Win32API質問箱スレにいってきます。
ありがとうございました。

749 名前:デフォルトの名無しさん mailto:sage [2007/08/21(火) 21:24:00 ]
>>746
>>730

750 名前:746 mailto:sage [2007/08/22(水) 09:59:10 ]
>>749
見逃してました。。。
うまく行きました。ありがとうございました。
型に配列就職誌をつけられるとは知りませんでした。

751 名前:デフォルトの名無しさん mailto:sage [2007/08/22(水) 10:15:43 ]
配列型という型なんだよ
変数名じゃなくて型名の後に括弧を付ける方がその意味では正しい

752 名前:デフォルトの名無しさん mailto:sage [2007/08/22(水) 11:06:56 ]
746はVBしかしたことないんかな

753 名前:デフォルトの名無しさん mailto:sage [2007/08/22(水) 12:16:12 ]
>配列就職誌
誤変換に生活史が見て取れる

754 名前:デフォルトの名無しさん mailto:sage [2007/08/22(水) 12:44:18 ]
Dim array As Int32() = New Int32() {1, 2, 3}
こう書いたらもうC#だなw

755 名前:デフォルトの名無しさん mailto:sage [2007/08/22(水) 21:19:29 ]
友達からVS2005をコピーしてもらったのですが、インストール方法がわかりません。
どうやらキーを入れるみたいなんですが、キーを教えてもらえませんか?

756 名前:デフォルトの名無しさん mailto:sage [2007/08/22(水) 21:46:24 ]
>>755
お前頭悪過ぎ

わざとボケたならすまない。
だが、ここでなく低脳スレに行くことをオススメする。



757 名前:デフォルトの名無しさん mailto:sage [2007/08/22(水) 21:53:17 ]
>>755
マイクロソフトに問い合わせればいいじゃん

758 名前:デフォルトの名無しさん mailto:sage [2007/08/23(木) 11:13:09 ]
VB2005を使っています。

フォームのNew()の中でInitializeComponent()が呼ばれますが、InitializeComponent()内で
設計時に設定したプロパティを設定するときに、それぞれのイベントハンドラが呼ばれたりします。

全てが初期化されるまでに呼ばれると困るイベントハンドラもあるので、今のところは
以下のようなコードでしのいでますが、VB2005に用意されている機能でこれを実現することはできますか?
Class Form1
  Dim mConstructed as Boolean

  Public Sub New()
    InitializeComponent()
    mConstructed = True
  End Sub

  Private Sub SomeEventHandler(...)
    If Not mConstructed Then
      Exit Sub
    End If
  End Sub
End Class

759 名前:デフォルトの名無しさん mailto:sage [2007/08/23(木) 12:39:16 ]
>>758
まあ別にそれでも良いんじゃない?
(ただ、未確認だけど自分で判定用のフィールド作らなくてもForm.Createdが使えると思う)

そういう場合はHandles句を使わずに自分でイベントを紐付けするのが正攻法だと思うけど。

760 名前:758 mailto:sage [2007/08/23(木) 13:04:41 ]
>>759
前者の方法も知りませんでしたし、後者の方法も目から鱗でした!
ありがとうございました。

761 名前:デフォルトの名無しさん mailto:sage [2007/08/23(木) 15:11:07 ]
タブコントロールを使っているのですが
タブが多くなり2段になりました。
どうせなら自分の好きなタブで区切り2段になるようにしたいのですが
タブ何個で段分割するとかいう指定はないでしょうか?


762 名前:デフォルトの名無しさん mailto:sage [2007/08/23(木) 15:13:15 ]
タブサイズ調整するしかないんじゃね?

763 名前:デフォルトの名無しさん mailto:sage [2007/08/23(木) 15:54:00 ]
あきらめました!

764 名前:デフォルトの名無しさん mailto:sage [2007/08/23(木) 20:58:38 ]
諦めんのはええぇぇぇぇwwwwww

765 名前:733 mailto:sage [2007/08/23(木) 22:05:44 ]
あれから探して見つかったので、聞かれていませんが一応。
WebBrowser.Document.ActiveElement.InnerText
WebBrowser.Document.ActiveElement.InnerHtml
を使ってWebBrowserの選択範囲・クリックした画像のソース等の取得ができました。クリックイベントと併用したら便利でした。

766 名前:デフォルトの名無しさん [2007/08/24(金) 11:56:51 ]
質問させてください。
継承コントロールでプロパティを追加した場合、デザイナでそのコントロールの該当プロパティを選択した時の説明文
(例えばFormのTextプロパティなら「コントロールに関連付けられたテキストです」)は、どこに書けば反映されるのでしょうか?
プロパティの<summary></summary>に書けば良いのかと思いましたが、そうではないようです。
解かる方、ご教示お願いします。



767 名前:デフォルトの名無しさん mailto:sage [2007/08/24(金) 12:16:58 ]
DescriptionAttribute(属性)だったかな

768 名前:デフォルトの名無しさん mailto:sage [2007/08/24(金) 12:37:22 ]
というか、そんなの自分で調べる能力がない人間がコントロールなんか作ると
間違いなくハマるよw

769 名前:デフォルトの名無しさん mailto:sage [2007/08/24(金) 12:44:16 ]
.netでEE用のソースは問題なく使えますか?

770 名前:デフォルトの名無しさん mailto:sage [2007/08/24(金) 12:58:39 ]
いーいーっていったいなんのことかな?

771 名前:デフォルトの名無しさん mailto:sage [2007/08/24(金) 13:00:02 ]
いーいーではなくEEです。

772 名前:デフォルトの名無しさん mailto:sage [2007/08/24(金) 13:14:48 ]
Erotic Elementary school girl

773 名前:766 mailto:sage [2007/08/24(金) 13:19:07 ]
>>767
ありがとう!

>>768
思いつく限りの単語で調べてみたけど、わかんなかったのよ!

774 名前:デフォルトの名無しさん mailto:sage [2007/08/24(金) 20:59:58 ]
>>773
TextBox プロパティ

これでググったりMSDN見たりする頭もないのか
先行き不安だな

775 名前:デフォルトの名無しさん mailto:sage [2007/08/24(金) 21:12:15 ]
>>774
>思いつく限りの単語で調べてみたけど、わかんなかったのよ!

776 名前:デフォルトの名無しさん mailto:sage [2007/08/24(金) 21:15:27 ]
>>774
MSDNのメンバの説明ではDescription属性は省かれてる



777 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 17:44:23 ]
>>774
継承しているコントロールがTextBoxでも無い限り、そんな単語で検索しないと思うぜ?

778 名前:デフォルトの名無しさん mailto:age [2007/08/27(月) 17:06:12 ]
VC++から書き込まれた共有メモリを
OpenFileMapping()、MapViewOfFile()にて読み出しております。

VC++から
struct data{
char str1[256];
char str2[256];
char str3[1024];
}

という構造体、または構造体の配列が書き込まれた場合、
VB側ではどのようにすればそれぞれを受け取ることができるでしょうか

779 名前:778 mailto:age [2007/08/27(月) 18:03:29 ]
一つ思い浮かびました

Private Declare Function MovePointer Lib "mydll" _
(ByVal ptr As IntPtr, _
ByVal movesize As Integer _
) As IntPtr

・・・他に真っ当な方法は無いでしょうか(汗

780 名前:デフォルトの名無しさん mailto:sage [2007/08/27(月) 18:05:03 ]
Marshal.PtrToStructure

781 名前:778 mailto:age [2007/08/27(月) 18:31:03 ]
>>780
ありがとうございます。
nAddress = MapViewOfFile(hOpened, FILE_MAP_READ, 0, 0, 0)
str1 = Marshal.PtrToStringAnsi(nAddress)
と先頭を取ることはできるのですが、

Public Structure DATASTRUCT
Dim str1 As String
Dim str2 As String
Dim str3 As String
End Structure
Dim cds As DATASTRUCT
cds = CType(Marshal.PtrToStructure(nAddress, GetType(DATASTRUCT)), DATASTRUCT)
ですと、
「オブジェクト参照がオブジェクト インスタンスに設定されていません」のエラーが出てしまいます。

Marshal.PtrToStructure()をどのように使えば宜しいでしょうか

782 名前:デフォルトの名無しさん mailto:sage [2007/08/27(月) 18:47:35 ]
>>781
MSDNライブラリ読めばいいのに。
たぶんDATASTRUCTの定義が不適切。
msdn2.microsoft.com/ja-jp/library/795sy883(VS.80).aspx

783 名前:778 mailto:age [2007/08/27(月) 19:02:11 ]
>>778
ありがとうございます。
どこを読めばいいのかさっぱりの状態でしたorz

Public Structure DATASTRUCT
<MarshalAs(UnmanagedType.ByValTStr, SizeConst:=256)> _
Dim str1 As String
<MarshalAs(UnmanagedType.ByValTStr, SizeConst:=256)> _
Dim str2 As String
<MarshalAs(UnmanagedType.ByValTStr, SizeConst:=1024)> _
Dim str3 As String
End Structure

としたところうまくいきました!
構造体のメンバのサイズを宣言できるんですね!
(散々ググったページには「できない」とあったのですが・・・)

大変助かりましたありがとうございましたm(_ _)m

784 名前:778 mailto:age [2007/08/27(月) 19:04:37 ]
間違えました>>782さんでした。

>構造体のメンバのサイズを宣言できるんですね!
Stringのサイズ(固定長文字列)でした。。。

785 名前:778 mailto:sage [2007/08/27(月) 19:22:55 ]
申し訳ありません。

この構造体が配列で渡されたときの受け取り方をお教えいただければ幸いです。

786 名前:デフォルトの名無しさん [2007/08/27(月) 19:50:19 ]
質問です。

エクセルの20個のファイルに(1a、2b・・・から20tとする)のファイル名
をそれぞれにつけて、とある1つのディレクトリにまとめて保存し
たそれらを一つずつオープンして、それぞれのファイルのSheet1
にあるセルの情報(それぞれのファイルで1行目(1,1)〜(1,40)に
まとめてある)を、情報をまとめるためのファイル「Answer」のSheet1に
1行ずつ出力するプログラムを教えていただけないでしょうか。
(最終的にはAnswerのSheet1は20行情報が貼り付けられることになります)

(ファイル名に規則性がなくても出来るのであればなお嬉しいです)

どうかよろしくお願いしますm(_ _)m




787 名前:デフォルトの名無しさん mailto:sage [2007/08/27(月) 20:09:38 ]
>>786
Excel操作はここら辺を参考にがんばって。
ttp://jeanne.wankuma.com/tips/excel/
ttp://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/dv_wrcore/html/wrgrfexcelapplicationobject.asp

788 名前:デフォルトの名無しさん mailto:sage [2007/08/27(月) 20:11:33 ]
>>785
>>782の前後に書いてる

789 名前:デフォルトの名無しさん [2007/08/27(月) 22:10:29 ]
programingなんてやめちまえよ。
たとえるなら、薬師みたいなもんだよ。
調合の材料を客先に持ち込んで、客に合わせて調合するんだ。
もちろん、調合の仕方を覚えてれば、調合は早いだろうけど、リファレンス見ながらでも誰も怒らないよ。
そんな覚える技術や努力なんて馬鹿みたいだし、そんなところにしか技術の差が出ないなんて悲しいよな。
てか、薬師よりおとるかもなぁ。。薬師なら、難病を治すために適切に薬を選べるけど、programmerは、言われたように作るだけだから。。

790 名前:デフォルトの名無しさん mailto:sage [2007/08/27(月) 22:22:11 ]
薬師三尊像、まで読んだ

791 名前:デフォルトの名無しさん mailto:sage [2007/08/27(月) 22:26:37 ]
薬で難病が治るまで読んだ。最後まで読んだ。

792 名前:デフォルトの名無しさん mailto:sage [2007/08/27(月) 22:38:58 ]
薬買いにいって
えーと……とかって本見ながら調合始めたら引くよな

793 名前:デフォルトの名無しさん mailto:sage [2007/08/28(火) 09:39:51 ]
>薬師なら、難病を治すために適切に薬を選べるけど、programmerは、言われたように作るだけだから。。

言われたようにつくるだけのマもいるけど、「こんなことできないかしら?できたらいいな!」って言われて、それを成す為の最適な方法を考案するマだっているさ。
何も言われずとも「こういうものをつくったら売れるんじゃないか!?」って創作するマもいるし、病人がいないと作ったものが効果を発揮しない薬師より、マの方がいろいろ可能性はあるさ。
調合、調整、やり直しが楽なところもマの魅力。
給料は低いが!!!!(つД`)
給料の為に働いてるマも多いだろうが、自分は創る行為自身が楽しくてマをつづけている。

794 名前:778 mailto:sage [2007/08/28(火) 11:40:57 ]
>>788
ありがとうございます。

プラットフォーム呼び出しによるデータのマーシャリング
msdn2.microsoft.com/ja-jp/library/fzhhdwae(VS.80).aspx
配下を読んでみました。
「Marshal.Copyというものがありアドレスから整数配列を取得することが可能」
ということはわかりましたが、
アドレスから文字列を含む構造体の配列を取得する方法
についてはどうしてもわかりませんでした。

勉強不足で申し訳ございませんが、ヒントをいただけませんでしょうか。

795 名前:デフォルトの名無しさん mailto:sage [2007/08/28(火) 12:44:00 ]
>>794
とにかく一通りMSDNライブラリに目を通したほうがいいよ。

>>788がどういうつもりでああ書いているか知らないが、
恐らくArraysのサンプルが参考になるんじゃない?

あるいは、ドトネトのややこしいマーシャリングのルールに縛られるのが嫌なら、
アンマネージコードとの受け渡しは全部バイト配列でやって、Encodingとかその他使って
自分で必要に応じて手動で変換するのも一つの手かもね。

796 名前:デフォルトの名無しさん [2007/08/29(水) 21:56:59 ]
文字列のバイト数返す方法ないですか?

"abc123"なら6を、"テストテスト"なら12を、"あ12い"なら6
を返す感じで・・・



797 名前:デフォルトの名無しさん mailto:sage [2007/08/29(水) 22:00:34 ]
>>796
君はまず「文字列」の正体を勉強するのが先。
その後ではそういう「うかつ」なことは恥ずかしくていえなくなるだろう

798 名前:デフォルトの名無しさん mailto:sage [2007/08/29(水) 22:01:11 ]
どういうやりかたで各文字のバイト数を数えるのかが問題だ

799 名前:デフォルトの名無しさん mailto:sage [2007/08/29(水) 22:05:40 ]
>>798
ですよね・・・やっぱり無理か

800 名前:デフォルトの名無しさん mailto:sage [2007/08/29(水) 22:09:49 ]
>>797
知らないならすっこんでろ糞虫(笑)

801 名前:デフォルトの名無しさん mailto:sage [2007/08/29(水) 22:11:50 ]
string str = "シフトJISでは何byte?";

Encoding sjisEnc = Encoding.GetEncoding("Shift_JIS");
int num = sjisEnc.GetByteCount(str);

Console.WriteLine(num);


802 名前:796 mailto:sage [2007/08/29(水) 22:16:51 ]
>>801
即レスありがとうございます!助かりました!!
↑のレスは自分ぽいけど偽者です・・・

>>797
恥ずかしい奴、未だにC言語シコシコ組んでる人?

803 名前:デフォルトの名無しさん mailto:sage [2007/08/29(水) 22:17:54 ]
夏だなあ

804 名前:デフォルトの名無しさん mailto:sage [2007/08/29(水) 22:20:06 ]
>>802
本気で言ってるのか?
801がほのめかしているように、今時文字列のエンコーディングはANSI(S-JIS)
とは限らない。

まあ、こういう「幸せな馬鹿」に言っても通じないかな。

805 名前:デフォルトの名無しさん mailto:sage [2007/08/29(水) 22:24:13 ]
夏だなあ

806 名前:デフォルトの名無しさん mailto:sage [2007/08/29(水) 22:26:20 ]
少なくとも>>796
"abc123"なら6を、"テストテスト"なら12を、"あ12い"なら6
を見る限りにおいてはS-JISとみなしても正解だわな



807 名前:デフォルトの名無しさん mailto:sage [2007/08/29(水) 22:35:42 ]
「文字のエンコード」という概念を796が知っていれば、
当然Encodingクラスについても知っているか、知らなくても容易に発見しているはずで、
それならばそもそも796のような質問は発しないだろう。

質問の文面や受け答えから見て、どうみても旧VBプログラマにありがちな、
理解しもせずサンプルをコピペして使うタイプの「お馬鹿さん」だろう796は。

808 名前:デフォルトの名無しさん mailto:sage [2007/08/29(水) 22:46:38 ]
さしずめ>>797はそのお馬鹿さんの揚げ足を取って優越感を感じるタイプのカスかw


809 名前:デフォルトの名無しさん mailto:sage [2007/08/29(水) 22:47:38 ]
>>807
>「文字のエンコード」という概念を796が知っていれば、
>当然Encodingクラスについても知っているか、知らなくても容易に発見しているはずで、

おまえニュータイプかよおまえニュータイプかよ(ふかわ風に)

810 名前:デフォルトの名無しさん [2007/08/29(水) 23:06:28 ]
完全ド素人質問なんですけど、ラベルをキーボードの左を押したら左に自動で移動していって
それを左右上下できて、画面の端にいったら、反対側からでてくるようにするにはどうやったらいいんでしょうか?

サンプルソース等あればお願いします

811 名前:デフォルトの名無しさん mailto:sage [2007/08/29(水) 23:39:37 ]
完全ド素人スパゲッターなんですが
うまくソースを絡めるにはどうすればいいんでしょう?

ビニール樹脂製のサンプルなどがあれば、すごく…欲しいです

812 名前:デフォルトの名無しさん mailto:sage [2007/08/30(木) 02:03:32 ]
>>810
左を押したらなどはフォームのキーダウンイベントで取得
ラベルの移動はleftやtopをいじくる。
反対側から出てきるようにするにはleftとwidth、topとheightとか。
っていうかそれvbでやることなのか。

>>811
巷のプログラマーの間では
難しいプログラムをつくろうとすればするほどソースは絡みつく
と言われている。

813 名前:デフォルトの名無しさん [2007/08/30(木) 02:13:56 ]
>>812
学校の課題です
もうずっとやってるのにできない・・・



もうあきらめてアホみたいな量の追加課題をやるか

814 名前:デフォルトの名無しさん mailto:sage [2007/08/30(木) 10:03:22 ]
>>813
俺も勉強中の身なんで微妙だけど、こんなんでどうよ。

Private Sub MyBase_Down(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown
Select Case e.KeyCode

Case Keys.Left
If Label1.Left < -Label1.Width Then
Label1.Left = Me.Size.Width
End If
Label1.Left = Label1.Left - 1

Case Keys.Right
If Label1.Left > Me.Width Then
Label1.Left = -Label1.Width
End If
Label1.Left = Label1.Left + 1

Case Keys.Up
' 処理

Case Keys.Down
' 処理
End Select
End Sub

上と下も同じような考えでおkなはず。

815 名前:814 mailto:sage [2007/08/30(木) 10:11:24 ]
追記。
これだと見えなくなってから出てくるまでに時間がかかるから、Ifの条件を弄った方がいいかも。

816 名前:デフォルトの名無しさん mailto:sage [2007/08/30(木) 10:48:29 ]
とりあえずラベルを2つ使え。
そーすりゃあとは楽勝だと思うが。



817 名前:デフォルトの名無しさん mailto:sage [2007/08/30(木) 13:50:23 ]
日本語でうまく説明できないやつは
ソースも糞な傾向が多い。

818 名前:デフォルトの名無しさん mailto:sage [2007/08/30(木) 14:10:18 ]
まずは日本語を勉強したまえ

819 名前:デフォルトの名無しさん [2007/08/30(木) 15:09:53 ]
まずVBの本を読め

820 名前:デフォルトの名無しさん mailto:sage [2007/08/30(木) 17:42:41 ]
>>810
それほんとにラベルを使わないといけないの?
どう考えてもGraphics使って自前で描画するべき

821 名前:デフォルトの名無しさん mailto:sage [2007/08/30(木) 18:31:29 ]
>>820
宿題を課したやつも素人なんだろw
Labelをキーで動かすことを学んで何の得になるんだろうなw

822 名前:デフォルトの名無しさん mailto:sage [2007/08/30(木) 18:43:21 ]
初学者にWinフォームの基本(例えばフォーカスを失うとキーイベントは発生しない、
クライアント座標の座標系はデカルト座標ではない、とか)を体感させるには
悪くない課題だと思うけどね俺は。

というか、たかが文字列一つ動かすために自前で描画しろ、っていう奴は
恐らく自分でそんなことやったことがないんだろうねw

「ちゃんと」やろうと思ったら意外と面倒だよ。
例えばフォームにコントロールが配置してあったらどうするの?
描画するものが他にあったら、表示のプライオリティや移動した際の再描画は
どうするの?

他の描画の処理が仮に重いものだったとしたら?
無効化する領域を指定しても完全には解決できない場合があるぞ。

823 名前:デフォルトの名無しさん mailto:sage [2007/08/30(木) 20:35:55 ]
今、マウスの移動できる範囲を制限するのをつくっているんですが
Windows.Forms.Cursor.Clip = New Rectangle(0, 0, 300, 300)
などとしているんですが、これだとほかの窓をアクティブにしたりすると
制限が解除されてしまいます。

何かいい方法はないでしょうか?

824 名前:デフォルトの名無しさん mailto:sage [2007/08/30(木) 21:19:48 ]
そんな「悪意のあるソフト」ぐらい自力で作れよアホかw

825 名前:デフォルトの名無しさん mailto:sage [2007/08/30(木) 21:53:43 ]
悪意って言いたいだけだろハゲ
そのものズバリのWin32apiが公開されてんだろ低能

826 名前:デフォルトの名無しさん mailto:sage [2007/08/30(木) 22:39:59 ]
ClipCursorってのを使ってみたのですが
やはり解除されてしまうみたいです。



827 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 09:47:18 ]
>>822
そこまで考えた課題には見えないし、より深く考えるならそれこそラベルなんぞを動かそうという発想自体がナンセンスになる。
多分スレ違いなんだよな、ここの住人は「素人」や「初心者」に過剰反応するから、優しい人が初心者スレでもつくってあげればいい。
叩きや煽りにいちいち反応してたら、ここのスレ見てらんないぜ?

828 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 12:44:37 ]
>ラベルなんぞを動かそうという発想自体がナンセンスになる
だからラベルを動かすのは目的じゃなく手段でしょ。

何のための?
学習のためのだよ。

どうでもいいけど話の文脈(今何を話しているか?)を忘れるのは頭の悪い証拠だよ。
学校の課題として不適切、って寝ぼけたことを言う奴がいたから
必ずしもそうでもないだろって話をしてるんだけど。

829 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 13:09:11 ]
>>828
>叩きや煽りにいちいち反応してたら、ここのスレ見てらんないぜ?

830 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 13:16:12 ]
>>828
>学校の課題として不適切、って寝ぼけたことを言う奴がいたから
>必ずしもそうでもないだろって話をしてるんだけど。

質問スレで質問と関係ない話しないでくれる(^ω^;)?

831 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 14:16:04 ]
>>828
なんの話だよw
帰れ

832 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 15:48:39 ]
名前付パイプを使った通信をしております。
ttp://support.microsoft.com/default.aspx?scid=kb;ja;165942
等を参考にして以下の通り作成いたしました。

Private Declare Function WriteFile Lib "kernel32" ( _
ByVal hFile As Integer, _
ByVal lpBuffer As String, _
ByVal nNumberOfBytesToWrite As Integer, _
ByVal lpNumberOfBytesWritten As Integer, _
ByVal lpOverlapped As Integer _
) As Integer

Dim bool As Integer
Dim pipe As Integer
Dim size As Integer
pipe = CreateFile("\\.\pipe\mypipe", &H40000000, 0, 0, 4, &H80, 0)
bool = WriteFile(pipe, "ABC", 4, Size, 0)

以上を実行すると、受信側で"ABC"と4を取得し通信自体は成功はするのですが、
同時に送信側でエラーが発生してしまいます。

System.NullReferenceException: オブジェクト参照がオブジェクト インスタンスに設定されていません。
at abc.AbcvMain.WriteFile(Int32 hFile, String& lpBuffer, Int32 nNumberOfBytesToWrite, Int32 lpNumberOfBytesWritten, Int32 lpOverlapped)

WriteFileのどこに問題がありますでしょうか。
どんな些細な点でもかまいませんのでご指摘下さい。

833 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 15:53:40 ]
>>832
試してないが、
>ByVal lpNumberOfBytesWritten As Integer, _
これ API が書き戻すんだから ByRef じゃね?

834 名前:832 mailto:sage [2007/08/31(金) 15:56:22 ]
>>833
なんておマヌケorz

エラーが出なくなりました!
ご指摘ありがとうございました。

835 名前:デフォルトの名無しさん [2007/08/31(金) 17:31:11 ]
自作クラスのString型プロパティを多言語対応させるには?

836 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 17:36:27 ]
>>835
頑張れ★



837 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 18:36:52 ]
>>835
イミワカンネ

838 名前:デフォルトの名無しさん [2007/08/31(金) 20:06:35 ]
このスレ糸冬

839 名前:832 mailto:sage [2007/08/31(金) 20:23:46 ]
申し訳ありません。もう一つ疑問についてお教え下さい。
WriteFileEx()を用いて非同期の書き込み(読み出し)をしたいと思っております。
WriteFileEx()には関数のアドレスが必要なのですが、
それを得る方法がどうしてもわかりません。

ttp://dobon.net/vb/bbs/log3-8/4379.html
にも同様の質問があったため、上記ページ等を参考にして
以下のように作成いたしました。
---
Delegate Sub SampleDelegate()
Public Class sampleClass
Public Sub Method()
MsgBox("Method")
End Sub
End Class

Private Declare Function WriteFileEx Lib "kernel32" (ByVal hFile As Integer, ByVal lpBuffer As String, ByVal lpNumberOfBytesWritten As Integer, ByVal lpOverlapped As Integer, ByVal lpCompletionRoutine As SampleDelegate) As Integer

Dim instance As New SampleClass
' こちらは成功する
' bool = WriteFile(pipe, "ABCDEFG", 8, size, 0)
bool = WriteFileEx(pipe, "ABCDEFG", 8, 0, AddressOf instance.Method)
---
実行しますとWriteFileExでSystem.NullReferenceExceptionが発生いたします。

これはDelegateの扱い方が悪いのでしょうか?
それとももっと根本的なことが間違っているのでしょうか?

大変恐れ入りますがお教え下さい。

840 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 20:46:33 ]
>>839
根本的に間違ってるね。
そもそも非同期とはどういう意味なのか、理解してないんじゃないの?
あるいは自動変数のスコープの概念を知らないのかな。

メソッドの中で作った'instance'への参照はメソッド抜けるとなくなる。
そこはOK?

ドトネドにはガベージコレクターというものがあって……という話は理解してる?

841 名前:832 mailto:sage [2007/08/31(金) 21:19:25 ]
>>840
レスありがとうございます。

C言語レベルでしたらスコープ等は理解しております
VC++の非同期は多少は・・・知っているつもりです
ガベージコレクションがあることは初めて知りました。

ところで、メンバ変数/クラス変数として以下を宣言してみても同様のエラーでした。
Dim instance As New SampleClass
Dim m_address As SampleDelegate = AddressOf instance.Method

恐れ入りますが、他にポカがありましたらご指摘いただければと思います。

842 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 21:54:49 ]
コールバックされるメソッドのシグネチャも合ってないよね。

843 名前:832 mailto:sage [2007/08/31(金) 23:29:29 ]
>>842
レスありがとうございます。

VC++のように決まった形があるのかな、と意味も分からずに
Delegate Sub SampleDelegate(ByVal sender As System.Object, ByVal e As System.EventArgs)
Public Class SampleClass
Public Sub Method(ByVal sender As System.Object, ByVal e As System.EventArgs)
MsgBox("Method")
End Sub
End Class
としてみたところ、

System.Runtime.InteropServices.MarshalDirectiveException:
parameter #2 を集成できません。このクラスの型の定義にレイアウト情報がありません。

とエラーが変わりました。
この点調べてみたいと思います。

844 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 23:35:54 ]
ADO.netでOracleに接続する場合、ConnectStringって何を渡せばいいんですか?
ネットで検索しても伏字になっているところに具体的に何が入るのかわからなくて困っています。

845 名前:デフォルトの名無しさん [2007/08/31(金) 23:53:33 ]
ListViewコントロールをArrayListにつっこんだんですけど、
そのつっこんだListViewのイベントって、どうやったらとれるのでしょうか?

Dim lvwFile As ListView = New ListView
arrLvwFile.Add(lvwFile)
arrLvwFile(arrLvwFile.Count - 1).View = View.Details

のばあいの、Listview1.mousedown とかほしいのでうs。

846 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 23:57:09 ]
Listview1 ってなんだよ唐突に出てきたけど
とれるとかほしいとか意味がわからん



847 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 00:01:19 ]
コントロール配列の場合は、

arrLvwFile(0) = New ListView
arrLvwFile(0).View = View.Details
AddHandler arrLvwFile(0).MouseDown, AddressOf test

でarrLvwFile(0)のMouseDownイベントでtest関数が呼べたのですが、
ArrayListに入れた場合がわからないのです。。

848 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 00:12:00 ]
AddHandler は遅延バインディングには無理なんだっけ
キャストすればいいだろ

849 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 00:13:35 ]
>>844
データソースとかの名前をどこから引っ張ってくるかという話しなら
以下のあたり見ておけばいいと思うけど。
ttp://otndnld.oracle.co.jp/document/products/oracle10g/102/doc_cd/win.102/B31247-01/featConnecting.htm

850 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 00:29:31 ]
>>848
AddHandler DirectCast(arrLvwFile(arrLvwFile.Count - 1), ListView).MouseDown, AddressOf test
でできました!感動のあまりちんこの先がぬれました
ありがとうございます。

851 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 01:10:07 ]
>>843
その調子じゃ、言っては悪いが調べても無駄そうだな。
>Public Sub Method(ByVal sender As System.Object, ByVal e As System.EventArgs)

こんなシグネチャがいったいどこから出てくるの?
アンマネージからコールバックされるのに、こんなドトネトのマネージコードの
イベントと同じシグネチャって変だとは思わないか?

WriteFileEx なんてドトネトが影も形もないころに仕様が決められたAPIでしょ。

852 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 02:02:58 ]
>>844
基本的にはオラクル接続に必要な

USER
PASSWORD
SID

をわたせばおk。

853 名前:デフォルトの名無しさん [2007/09/01(土) 02:16:47 ]

どなたか Gilma (=ILMerge のGUIツール) および ILMerge を使ってる方が
居たら教えてください。

このユーティリティでは DLL がたくさんある場合のマージは難しいでしょうか?

比較的少なめの個数の DLL (数個程度) 使用では問題なくマージできるのを
確認していたんですが、10個ぐらい DLL が必要なものでやったところMerge が
最後まで行かず、 Done のメッセージが出ないまま、エラーのメッセージも出ずに
終了してました。結果として目的の Exe ファイルも作成されていませんでした。

最後の DLL のところで、Read successfully にはなっているのですが、その後の
2行目のメッセージが出ずに Log が終わっていました。そこで何かエラーしている
のかもしれないんですが、問題がなんなのかわかりませんでした。

もし似たようなことになったとき何か対策して解決されていた方いらっしゃったら
教えていただきたく。何卒よろしくお願いします。


854 名前:853 [2007/09/01(土) 02:19:49 ]
(追記)

>>853 ですが、コマンドラインのテキストは、 DLL が少ない場合のときと同様
に規則通りできているようでした。

DLL マージ前の状態での動作確認は一応OKで、DLLが無くて動作しない、
という状況ではありませんでした。



855 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 02:31:56 ]
なんでそんなにDLLって嫌われるんだろうね

856 名前:832 mailto:sage [2007/09/01(土) 03:27:10 ]
>>851
レスありがとうございます。

恥ずかしながらアンマネージやらマネージやらは初めて聞きました。
色々調べてみます。

#Unix選手がゲイツを何も知らずにいきなり.NETってのはかなり無謀ですね・・・



857 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 04:20:06 ]
つーかUnix使ってたらCつながりでC#に行かないか普通?
まあ仕事なら仕方ないがチーン

858 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 07:58:15 ]
>>852
SIDは違うんじゃね。

859 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 09:43:39 ]
tnsnameだね。sid渡すのはjdbcだね

860 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 09:59:08 ]
>>849
>>852
>>858
>>859
ありがとうございます。
でもどのページを見ても
「データベースに接続したことはあるけど細かい設定があいまいな人」用って感じで
データベースに接続するのがまったく初めてで独学の人には難しいんですよ。
Common SQL Environment ってソフトでは
ユーザーIDとパスワードと接続文字列ってやつを渡すと繋がりますが、
ConnectStringにはこの接続文字列ってのは渡さなくてもいいんですか?


861 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 10:02:43 ]
初心者で独学で、なぜにoracle

862 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 11:05:42 ]
>>856
参考になるかどうか解らんが↓
  コールバック関数の実装
  msdn.microsoft.com/library/ja/cpguide/html/cpconusingcallbackfunctions.asp?frame=true

863 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 11:09:11 ]
すいません。一つ質問させてください。
VB2005でテキストボックスに入力されている文字が
10進数か判断するにはどうすればいいでしょうか?
IsDigitは1文字しか調べられないようだし
IsNumericは数字以外もTrue扱いだし・・・

864 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 11:13:30 ]
一文字ずつIsDigitとか
まあ正規表現使った方が手っ取り早いけど
でもいわゆる全角の数字とか考えてるのかな

865 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 11:14:16 ]
>>863
文字と数値の判別なら、あげた関数等を駆使すれば可能だろう。

だが、10進数かどうかを判別するのは不可能。

866 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 11:40:27 ]
プレフィクスのついてない数字を10進判定なんてできないだろ常識的に考えて……



867 名前:863 mailto:sage [2007/09/01(土) 12:02:45 ]
お答えをいただきありがとうございました。
やっぱりあの2つでは駄目なんですね・・・
ただ言われたとおり正規表現使えば出来そうですので
そっちを使ってロジック組むようにしてみます。

868 名前:デフォルトの名無しさん [2007/09/01(土) 12:28:41 ]
すんません、
vb.net2005で
MIDI音源で音を出したいのですが
やり方が全くワカリマセン。

例えば
ドのボタンを押したらドがなるなどということです。
使用するクラスとか、関数とかなんでもいいので教えてもらえないでしょうか。

また、別途ツール等が必要ならその情報でもいいです。オネガイシマス

869 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 12:31:40 ]
ttp://www.google.co.jp/

870 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 12:39:27 ]
>>860
まずプログラムからじゃなく、
SQLPLUSとかで接続してみなよ。
で接続できるか確認しましょう。

871 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 13:03:03 ]
>>870
いえ、CSEなどでは接続成功しています。
ただADO.NETのConnectStringに渡す文字列がわからない状態です。

872 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 13:40:22 ]
オラクルのクライアントが入ってるんならでダメかな?

Dim hoge As Oracle.DataAccess.ClientOracleConnection
Dim str as String

'接続文字列
str = "User Id=" & ユーザー名 & ";Password=" & パスワード & ";Data Source=" & サービス名

hoge = New OracleConnection(str)
hoge.Open()

873 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 13:42:02 ]
>>871
ツールボックスからフォームにOracleConnectionを貼り付けて、
プロパティのConnectionStringで<新しい接続>を選択すると簡単だよ。
OracleConnectionがないときは、ツールボックス アイテムの選択で追加してね。
名前空間がSystem.Data.OracleClientのを使ってね。

874 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 16:42:21 ]
>>872-873
ありがとうございます。
無事接続できました。

875 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 21:40:01 ]
VB2005です。

自分の実行ファイルのディレクトリをコードで取得するコードをお願いします。
VBAのThisWorkbook.Pathみたいな感じ。

876 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 21:54:17 ]
自己解決じました



877 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 01:02:42 ]
>>189使う。
でもVBのライブラリ参照したらその機能あった気がするのでそっちのがいいかな?



878 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 01:03:27 ]
まちかえたよ?


879 名前:デフォルトの名無しさん [2007/09/02(日) 15:00:26 ]
If System.IO.File.Exists(filename) = False Then
System.IO.File.Create(filename)

Dim sw As New System.IO.StreamWriter( _
filename, _
False, _
System.Text.Encoding.GetEncoding(932))

sw.WriteLine(”あいうえお”)
sw.WriteLine()
sw.Close()
End If

こんなコード書きました
filenameにはフォルダパス付きファイル名が入ります
ファイル作った後sw をnewする時点で
他のプロセスが使用中というメッセージが出て書き込めません。
使用できる状態にするにはどんなコードを追加すればいいですか?



880 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 15:07:39 ]
File.Create しらべれ

881 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 15:18:37 ]
解決しました。


882 名前:デフォルトの名無しさん [2007/09/02(日) 23:59:31 ]
エンコードで質問です。
System.Web.HttpUtility.UrlEncodeを使ってURLエンコードをしたいのですが
UTF-8のタイプでエンコードされています。
EUC-JPのタイプでエンコードしたいのですが、うまくいきません
System.Text.Encoding.GetEncoding("EUC-JP")こうしてバイト配列にしてもダメでした
どうやればいいのでしょうか?

883 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 00:06:36 ]
>>882
URLエンコードなんてやったこともなかったが、ググったら30秒で答え見つかったぞ。
www.atmarkit.co.jp/fdotnet/dotnettips/212urlencode/urlencode.html


884 名前:882 mailto:sage [2007/09/03(月) 00:56:07 ]
自己解決しました。
エンコード方法を指定できたのですね・・・

885 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 02:11:06 ]
お前は聞いといて回答を見てないのかw


886 名前:デフォルトの名無しさん [2007/09/03(月) 15:42:38 ]

ExplorerがWindowsから受け取っているような、
Folder内の内容が変わったことを知らせるメッセージを受け取る方法
はあるでしょうか。

数秒おきに監視するという仕組みを導入すると
ファイルがたくさん存在する場合、時間がかかってCPUの占有率が100%
から落ちて来ず、困るのでした。

Explorerの場合、直接コピペしたりD&Dしたりした場合でなくても、
他で変化させたファイルやフォルダーが1秒程度で反映しており、
また常時監視もしていないことがわかりました。

これはたぶんWindowsからのメッセージを受け取っていて実現できている
ものと想像したのでした、これと同じメッセージかなにかを別のアプリケーション
で受け取ることは可能でしょうか?何かアドバイスを戴ければありがたく。



887 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 15:47:04 ]
>>886
FileSystemWatcher

888 名前:886 [2007/09/03(月) 15:54:01 ]
>>887

おお。存在したのですね!助かりました!!
さっそくのご指導、大変ありがとうございました!!


889 名前:デフォルトの名無しさん [2007/09/03(月) 18:54:47 ]
MSチャートコントロールについて質問です。
棒グラフに表示する値が100万以上の時、棒グラフにはきちんと「1000000」と表示されるのですが、
Y軸の値が「1e+006」みたいに表示されてしまいます。「1e+006」ではなく「1000000」のように表示させる事は可能でしょうか?
可能ならばどのようにするのかご教授お願いします。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

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

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