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


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

VB.NET質問スレ(Part31)



1 名前:デフォルトの名無しさん mailto:sage [2009/08/22(土) 17:44:56 ]
前スレ

VB.NET質問スレ(Part30)
pc12.2ch.net/test/read.cgi/tech/1242522019/l50

テンプレは>>2

496 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 17:38:28 ]
演算子オーバーロードはジェネリックには使えないよー

497 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 18:14:03 ]
Of T
ってどんなイミが

498 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 18:46:21 ]
>>496
2008で実験してみたが
ジェネリックに使えなくはないけど、型ごとにオーバーロードしないとだめっぽい

Public Shared Operator +(ByVal a As Vector4D(Of Integer), ByVal b As Vector4D(Of T)) As Vector4D(Of Integer)を定義
Public Shared Operator +(ByVal a As Vector4D(Of Double), ByVal b As Vector4D(Of T)) As Vector4D(Of Double)を定義
...以下延々と必要な型に対して定義していく

使う方は楽かもしれんが、定義する方はジェネリックの利点がなくなるなぁ

499 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 18:58:13 ]
使う方にもデメリットがあるよ
オーバーロードされていない型のVector4Dをまともに使うことができなくなる
Vector4Dの外部から演算子オーバーロードを定義はできないから

500 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 19:42:46 ]
そもそもベクトルをジェネリックにする意義がよくわかりません。
どういう意図なんだろ。よーわからん。

501 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 20:16:14 ]
そこは疑問もつとこじゃないだろ。

あと今回問題なのは、Vector4Dの実装側で、
Tに対して算術演算が出来ないことなんだから、
演算子のオーバーロードは何の役にも立たん。


502 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 20:28:44 ]
>>501
時々君みたいなこという人がいるけど、
そもそも必要性が疑わしいものの実現可能性を考えてなんの意味があるの?

ベクトルをジェリックにして何の意味があるんだよ。
意味ないでしょ。

503 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 20:51:47 ]
System.Linq.ExpressionとかDynamicMethodとか使えばできなくはないよ
算術演算を行うメソッドを動的に生成してしまえばいい

504 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 21:03:29 ]
float,double,decimal,固定小数点数型辺りで使い回したいとか?



505 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 21:06:19 ]
C++ではたいていベクトルはテンプレートになってるけど
実際doubleやfloat以外に使われてるのを見たことがない

506 名前:493 mailto:sage [2009/10/09(金) 22:23:58 ]
皆さん、レスありがとうございます。最初に DynamicMethod を勉強して >>503 を試してみることにしました。

>>494
もう少し具体的に書いていただけると助かります。

>>504
主な目的はその通りです。

507 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 22:28:27 ]
DynamicMethodは無謀すぎる
インラインアセンブラみたいなことするんだぞ
自分は.NETオタだと自負できるようになってから出直せ

508 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 22:56:46 ]
命令口調クンって馬鹿だな、まで読んだ。

509 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 23:05:40 ]
やっぱりそもそもの発想がおかしいと思うけどねえ。
パフォーマンスが重要でないなら一番「大きな」型だけで演算を定義して
あとの型はその型との相互の変換だけ考えればいいし、パフォーマンスが重要なら・・・

そもそも演算誤差の扱いっていう泥臭い問題の存在を忘れてないか

510 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 23:43:06 ]
テンプレートみたいな何でもできるものをイメージしてたら、
Vectorをジェネリックに定義するのは何もおかしくない。
別に数値要素だけでしか使わないものではない。


511 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 12:07:29 ]
ジェネリックデリゲート使って演算定義から取り出すやり方も出来ないことはないぜ。
そこまでする価値があるかは別問題として。
DynamicMethodよりは楽だけど。


512 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 12:08:17 ]
あとどっちにしてもパフォーマンスは若干悪くなるな。


513 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 18:48:11 ]
>>511
Int32等のCLI組み込み型については演算子がオーバーロードされてるわけじゃないから無理
DynamicMethodを使わないのであれば,
Int32とInt32の足し算,Int32とByteの足し算,…みたいにすべてのケースに対する演算処理を
定義しておくしかない

514 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 20:50:23 ]
ExpressionTreeを使えばこういう事も可能だが
ttp://ufcpp.net/study/csharp/sm_genericop.html



515 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 20:52:22 ]
それDynamicMethodで実装されてるんだけどな

516 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 00:52:44 ]
サイトのソースデータをString変数に入れたら&という文字が&に置き換わっているのですが
これを一括して元に戻すにはどのような方法で戻したら良いでしょうか?
他にも置き換わっているものがあると思うので&に限定したReplaceではない方法が
あれば教えていただきたいです。

517 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 00:54:09 ]

なんか消えてしまったみたいです。
&が& になってしまいます。(本当は半角)

518 名前:493 mailto:sage [2009/10/11(日) 00:55:17 ]
DynamicMethod を使う方法と並行して、>>514 を試しています。

ufcpp.net/study/csharp/source/Operator.cs より、C# のコード

public static readonly Func<T, T, T> Add = Lambda(Expression.Add);

を VB にすると

Public Shared Add As New Func(Of T, T, T)(AddressOf
まではわかったのですが、この右に何をつければよいでしょうか?


519 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 00:57:25 ]
>>517
HtmlEncode/HtmlDecode

520 名前:493 mailto:sage [2009/10/11(日) 00:58:02 ]
>>516
HTMLの実体参照ですね。頻出のものは
&amp; ←→ &
&gt; ←→ >
&lt; ←→ <
ですが www.ne.jp/asahi/minazuki/bakera/html/reference/charref などで一覧を見ることができます。

521 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 01:03:25 ]
>>519-520
ありがとうございます。
おかげさまで無事対処できそうです。

522 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 02:24:22 ]
特殊な文字があるutf-8のwebページのソースをファイルに保存したいのですが
WebClientでutf-8を指定してダウンロードしてStreamWriterで、書き込み時にutf-8を指定して
書き込んでいるのですが、保存されたテキストを見るとその文字が?になってしまっています。

teraPadというエンコードを指定できるテキストエディタでutf-8を指定して確認しているのですが
元の文字は消えてしまっているようです。
WebClientでダウンロードした直後にString変数に入れて、デバッグを一時停止して
カーソルを当てるとその特殊文字は正常に表示できているのですが、
そのままConsole.WriteLineに出力すると?になってしまっています。

ブラウザのソース表示から直接TeraPadでソースを開いても?になってしまいます。

これはどのようにして保存したら正しく保存できるでしょうか?
ちなみに文字は〜という文字の波を上下に反転したような形の文字です。
よろしくおねがいします。

523 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 04:19:54 ]
文字の確認はバイナリエディタでやった方が良い
DownloadFileすればプログラム上でエンコーディング悩む必要もないけど?

524 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 05:27:02 ]
コンソールとかエディタが使ってるフォントがその文字表示できないってオチじゃないだろうな



525 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 10:25:50 ]
>>522
全角チルダの上下反転表示とくれば、
FullWidthTilda(U+FF5E) と WaveDash(U+301C) の変換問題だな。
TeraPadは内部コードがShift_JISらしいので、
WaveDashが化けてしまっているんじゃないかな。
一度、WikipediaのUnicodeの所を読んでみると良いよ。

526 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 11:02:18 ]
>>518
Public Shared ReadOnly Add As Func(Of T, T, T) = Lambda(AddressOf Expression.Add)

Public Shared Function Lambda(ByVal op As Binary)
Return Expression.Lambda(Of Func(Of T, T))(op.Invoke(x)).Compile()
End Function

試してないけどだいたいあってるはず
Imports Binary = Func(Of ParameterExpression, ParameterExpression, BinaryExpression)
を忘れずに

527 名前:526 mailto:sage [2009/10/11(日) 11:05:56 ]
訂正
Return Expression.Lambda(Of Func(Of T, T, T))(op.Invoke(x)).Compile()

528 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 11:43:33 ]
内部SJISのエディタでutf8開くなんて無謀すぎだ。

529 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 11:54:46 ]
どちらかというと、今時内部SJISのエディタの存在自体が無謀な気もw

530 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 14:29:59 ]
>>522
chcp 65001
hoge.exe >file

531 名前:522 [2009/10/11(日) 22:12:39 ]
レスありがとうございます。
素直にメモ帳で開いたら正しく表示できました。
正しく保存できているのにteraPadで表示しようとあれこれやっていたんですね;
助かりました。

532 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 04:13:45 ]
comboboxで選択された内容を配列に格納すんのってどうやんの?
簡単におせーて

533 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 08:08:19 ]
SelectedItem

534 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 10:50:40 ]
>>532
一つしか選択できないのに何故ゆえに配列?



535 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 17:01:01 ]
なにゆえゆえ?


536 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 17:45:30 ]
>>534
細けーこたぁいいんだ
>>533
こいつをどうにかすればいいんだな?

537 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 19:00:52 ]
いやまず君自身の頭の悪さをどうにかしないとダメだよ

538 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 19:56:07 ]
無茶ゆうな

539 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 20:37:04 ]
掲示板とかのメッセージみたいなツリー構造のデータをファイルに保存するのに良い方法があったら教えて

540 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 20:41:01 ]
2ちゃんみたいに、フラットにしちゃうのが楽。

541 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 21:11:49 ]
>>539
JSON

542 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 21:23:05 ]
>>539
尻洗いズ

543 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 21:24:34 ]
>>537
オレもそう思う。

544 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 23:25:45 ]
羽山博いきてる?



545 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 14:41:09 ]
すいません、
コンボボックスのドロップダウンをEnableをFalseにせずに
出ないようにしたいんですが、これってvb.netじゃできないもんでしょうか?


546 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 19:20:06 ]
For I = 1 To 1000
System.Threading.Thread.Sleep(1)
Application.DoEvent
Next

これで約1秒待機しているのですが以前は大体1秒、2秒だったのですが
最近はすごい長くなってきました。
10000でも10秒位だったのですが、1分近くかかるようになりました。
これはどういう部分に原因がありそうでしょうか?
そういえばパソコンの動作も鈍い感じがします。
CPUやメモリには全然余裕がある状態でも同じです。

547 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 20:00:29 ]
そういうコードを書かない、でいいじゃないか

548 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 20:27:24 ]
>>546
お前はあほか


549 名前:526 mailto:sage [2009/10/13(火) 20:28:24 ]
UIスレッドでSleepはご法度

550 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 20:49:55 ]
>>547
どう書けばいいですか?

551 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 20:51:33 ]
タイマを使う

552 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 20:52:52 ]
待機が必要になるような処理をUIスレッドでやらない

553 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 20:53:40 ]
API剥き出しw

554 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 21:10:41 ]
必死な馬鹿が一人紛れてるな



555 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 21:52:55 ]
作り方はともかく、Sleepは最小の待機時間しか保証しないからな。
その何倍も経過した後で戻ってきても何の不思議も無い。
Do-LoopとStopwatchクラスで1秒経過するまで待てばそれなりに動かせるけど、
設計自体見直したほうがいいだろうな。

556 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 21:57:18 ]
DoEventsで時間食ってるんだろ

557 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 23:39:55 ]
今無職なのでVBで食っていこうかなって思ってます。オスッ

558 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 10:43:08 ]
ぼくも無職ですがVB覚えたい
昨日駅前のパソコンスクールに言って
「VBありますか?」
って聞いたら無いって言われました
やはり独学しかないのか

559 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 12:33:00 ]
スクールなんぞ金の無駄でしかない。


560 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 17:34:42 ]
じゃ、本で独学がいちばん?

561 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 20:18:58 ]
わざわざ始めるならJavaにしとけよ

562 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 21:59:49 ]
>>546
キミのその糞なコーディングにパソコンが嫌気がさして来たからだと思う。

563 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 01:54:10 ]
メディアプレイヤを起動してみるんだ


564 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 09:28:09 ]
>>562
終わった話に後から煽るだけ、ってのやめれ。
頭悪そうにしか見えない。



565 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 09:56:30 ]
>>560
今からなら C# いいよ

566 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 20:47:26 ]
JavaとC#を同時にやるのがいいと思う
VBはC#ができれば自動的にできるからあえてやる必要はない

567 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 20:56:44 ]
なにゆえ同時に

568 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 22:12:58 ]
Dim Arr As New ArrayList
Dim R As New Regex("hoge.+?")
Dim M As MatchCollection
M = R.Maches(hogeString)

上のような正規表現のMachesでマッチした結果を
ArrayListに入れたいのですが
どのように書いたら良いでしょうか?

569 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 00:07:41 ]
>>568
あっどれんぢ

570 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 10:08:57 ]
じゃあC#解説のおすすめのサイトと本教えてよ

571 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 11:21:47 ]
■@IT:連載  改訂版 C#入門
www.atmarkit.co.jp/fdotnet/csharp_abc2/index/index.html
入門とは書いてあるけど、これ全部理解できればまず困る事はないと思う

このサイトには他にもカテゴリが山ほどあって
目的の情報を探すのが大変かもしれないけど
凄く役に立つサイトですよ

もっと簡単そうなサイト?あったら俺も知りたい^^

572 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 13:11:26 ]
VBってそういう言語面からきちんと解説してるサイトや書籍が少ないよな
変数,演算子,制御構造終わったらあとはコピペ用Tipsばっか

573 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 13:17:09 ]
動けばいいから

574 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 19:21:06 ]
>>569
すみません具体的にどう書いたら良いですか?
Arr = AddRange(〜〜〜)
ここがわかりません。




575 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 20:02:47 ]
お前のコンパイラはエラーが発生すると爆発でもするのか?少しは試せよ。

576 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 21:23:28 ]
色々試しすぎて爆発したから質問してみた

577 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 21:50:04 ]
すこしはググれよ

578 名前:デフォルトの名無しさん [2009/10/16(金) 22:02:27 ]
もうググり杉って出た
はやく教えて

579 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 22:10:39 ]
ヘルプ嫁

580 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 22:27:02 ]
もういい聞かない
もったいぶりすぎ質問スレじゃなかったのかよ

581 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 00:53:48 ]
>>580
質問スレだが回答スレではない。

582 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 00:55:37 ]
>>574
× Arr = AddRange(〜〜〜)
○ Arr.AddRange(〜〜〜)

583 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 03:27:23 ]
800*600のjpgを640*480にしてpngなどで保存するにはどんなコードを書けば

584 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 08:48:35 ]
BitmapクラスとGraphics.FromImage



585 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 08:56:31 ]
VBでChar.IsDigit("66t"),Char.IsDigit("3E5")がTrueになりますが、普通に10進数の数字だけで判断することはできませんか?

586 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 09:08:59 ]
普通に10進数の数字だけで判断してるけどな、Char.IsDigit
なぜそれでTrueを返すかはヘルプ見ろ

Int32.TryParseとかで変換しちまえばいいんじゃね

587 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 13:12:05 ]
それで実現できました。ありがとうございました。

588 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 17:18:21 ]
テキストボックスを、選択・コピーできるテキスト表示領域として使おうとしています。

したいこと
@キャレット非表示
A方向キーでのキャレット移動無効化
BSHIFTでの選択無効化

@はAPIのHideCaretで出来たのですが、他がさっぱりわかりません。
TextBoxBaseの該当メソッドをオーバーロードすればいいのでしょうか?
そうだとして、そのメソッドはどれでしょうか?

589 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 17:45:22 ]
キャレットを非表示にしてどうやって選択すんの?

590 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 18:07:31 ]
>>589
表示されて無いだけで選択は出来ます。
つまり、マウスだけで選択できる状態にしたいのです。

591 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 18:12:22 ]
Shift キーと方向キーを殺せばいいんじゃね?

592 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 18:16:32 ]
おすすめの
有料追加コントロール
無料追加コントロール
紹介して

593 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 19:29:54 ]
>>591
方向キーでスクロールをしているので、それが出来ないんですよね……

594 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 19:58:11 ]
なーんかユーザビリティを毀損するとしか思えない妙な俺様仕様に
こだわる人って時々いるけど、正直理解できんな。

明らかに便利で合理的な仕様であれば実現に向けて努力するのもわかりもするんだが。



595 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 19:59:28 ]
>>593
殺した上でスクロールスりゃいいだろハゲ

そんな Windows の流儀にそわない動きしたいなら、少しは自分で工夫しろよ。

596 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 20:10:34 ]
WebBlawserもどきを作りたいって言ったほうがよかったかな。






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

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

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