2ちゃんねる★スマホ版★■掲示板に戻る■全部1-最新50

VB.NET質問スレ(Part43) [無断転載禁止]©2ch.net

1 :
デフォルトの名無しさん
2016/06/15(水) 11:41:09.50 ID:bPj3FmGk
2 :
2016/06/15(水) 17:48:41.64 ID:6LrjeIzy
最近落ちるの早いので乙
3 :
デフォルトの名無しさん
2016/06/15(水) 19:45:19.21 ID:G76GMmEr
乙.py
4 :
2016/06/15(水) 20:45:31.75 ID:UJ4dhPXD
関連スレ

古代VBプログラマ質問スレ(Ver.6.0 まで) part65
http://echo.2ch.net/test/read.cgi/tech/1440930335/

【初心者歓迎】Small Basic Part 2 【片手間】
http://echo.2ch.net/test/read.cgi/tech/1422240355/
5 :
デフォルトの名無しさん
2016/06/16(木) 19:16:54.33 ID:btqH8ipC
6 :
2016/06/16(木) 19:22:25.92 ID:cHK7lzHs
やっぱみんな最新の使ってる?
俺は未だに2005だけど(新しいのにしなきゃいけない理由が見当たらない)
7 :
2016/06/16(木) 20:20:32.72 ID:BiIgL8cI
むしろ古いのを使うのに理由が必要だろう
8 :
2016/06/16(木) 22:26:15.32 ID:mb8wywpH
VBの場合は新しい機能を使うと他の連中に理解できなくなる(というか理解しようとしてもらえなくなる)から、
実際新しいものを使う理由はないよ
VBは変化を拒否する人達のための拠り所なのだから
9 :
2016/06/16(木) 22:33:24.32 ID:Oc+4dwCe
VB2008以降は開発方針が変わって(格下げされて)C#の方言になっちゃったから、
変化を拒否する人達の味方としてのVBは2005まで
2008以降は機械的にC#に合わせるだけでVBerに見向きもされない虚しい機能拡張ばかり
10 :
2016/06/16(木) 22:53:20.88 ID:WRcGE86S
vb.netも今はしっかりした言語だと思うけどなぁ。

なんで嫌われちゃうかわからんから、理由が知りたいけど。

未だにオブジェクト指向って何??って人もいないと思うけど。
11 :
2016/06/17(金) 13:06:13.52 ID:IKcgNlbU
>>6
アプリを動かす環境の.NET Frameworkによっては新しいのじゃないとダメではなかろうか
12 :
デフォルトの名無しさん
2016/06/21(火) 07:51:56.56 ID:pCx5oIjk
age
13 :
2016/06/21(火) 11:32:35.61 ID:VZGXTtlU
4.5.2 以降も使えるならいいんじゃね
14 :
2016/06/21(火) 15:33:01.83 ID:REn2K5Xx
ライブラリ的な汎用性の高いものを作るときはC#のほうがいいし
実際にC#で書いてるけど、特定の客むけ業務アプリはVB使うなぁ

C#でガチガチに書くと保守できる人いなくなっちゃうし
客のファジーな要求仕様に対しては、きちんとクラス継承して設計するよりもコピペで実現したほうがいい場面も多い。
15 :
2016/06/21(火) 17:48:59.97 ID:4IDYtT08
旧VBの話かな?
16 :
2016/06/21(火) 19:39:41.14 ID:s0xSal8K
ラムダがもう少し書きやすければな
後は各種初期化子も短くしてほしい
他に不満はないかな
17 :
2016/06/21(火) 23:09:36.66 ID:8TPIZL80
>>14
C#でガチガチっていうと
凄く結合度が高いイメージがあるな
18 :
2016/06/21(火) 23:18:26.26 ID:mKRnLMlt
それは設計がヘタクソなだけ
19 :
2016/07/02(土) 01:24:41.31 ID:zGWMAOI9
>>14
今時の業務アプリをなんでVBで書いちゃうかなあ
保守できないのは言語のせいじゃねーだろ
20 :
2016/07/02(土) 09:48:59.43 ID:L/GK6KBr
言語のせいじゃないならVBでもいいじゃん
21 :
2016/07/03(日) 01:43:58.53 ID:capVbRd9
VB使いは低レベルなやつが多いと思ってるんだろ
22 :
2016/07/03(日) 01:52:18.90 ID:ezxQ+Igl
VBもC#もやれることは変わらないやん
23 :
2016/07/03(日) 06:03:48.41 ID:qk7lGSjH
>>22
だからバカって言われるんだよ
24 :
2016/07/03(日) 07:49:30.52 ID:a7dDnFnC
VBと比べてC#が圧倒的に勝っているポイントはλが書きやすいところかな
この他には明確な差はない
25 :
2016/07/03(日) 07:52:30.52 ID:dqZh4yhX
VB関数がないとかMyがないとかデフォルトインスタンスがないとかOnErrorGotoがないとか色々あるだろ
まあ一番違うのはプログラマの平均品質だけど
26 :
2016/07/03(日) 07:54:16.27 ID:qk7lGSjH
Referenceの量と質も全然違う
27 :
2016/07/03(日) 08:02:35.54 ID:a7dDnFnC
>>25
どっちみち使わない機能を差異としてカウントするのはナンセンスだよ
c#で日常的に使う機能とvbで日常的に使う機能ではλの書きやすさ以外に致命的な差はない
28 :
2016/07/03(日) 08:07:56.54 ID:jvF65JbL
>>27
C#目線ならそりゃ一緒だろうさ
VBしかやってなくて他に知ってる言語はCOBOLくらい、なんていう連中が
VBには腐る程いるんだぞ
仕事ならそういう連中がひねり出した糞の山をうんざりするほど見ることになる
29 :
2016/07/03(日) 08:14:09.67 ID:qk7lGSjH
>>27
たとえばASP .NET CoreのテンプレをYeomanで作成し、Macで開発してAzureにデプロイするってのをわざわざVB.NETでやりたいとは思わんね。Referenceの差は致命的。
30 :
2016/07/03(日) 08:53:42.30 ID:QFKulflJ
まぁたいして変わりゃしないんだから両方覚えておけばいいよ
31 :
2016/07/03(日) 10:56:13.77 ID:ezxQ+Igl
Reference見てるレベルの人なら使いやすい方使えばいいやん
32 :
2016/07/03(日) 11:00:19.65 ID:g38/oc0e
>>31
使いにくいって指摘が伝わってないなこいつ。第一.NET CoreにVB.NETはまだ対応してないし。C#との差は歴然としてる。
33 :
2016/07/03(日) 12:53:14.88 ID:a7dDnFnC
>>28
今は人の話も過去の資産の話もしてない
純粋に言語として比較したらどうなのという話な
そしてその決意はλ以外大差ねえなって事ね
34 :
2016/07/03(日) 19:36:03.21 ID:QeKzFvfB
VB.NETとビジュアルスタジオつかってデスクトップアプリ作りたいのですが、
プルダウンから選択したり数値入力して、そんで出力ボタンおすと、
エクセルに計算結果とかもろもろ自動で入力したものが出るようなのを作りたいのですが、
こういうのに特化した参考書とかありませんか?
ネットで調べながらでもいいのですが、できれば本でやってみたいと思っています
35 :
2016/07/04(月) 00:53:57.64 ID:a/EuNmrx
>>34
Excel単体、VBAだけで良いような…
36 :
2016/07/04(月) 20:40:01.39 ID:LOf4uuq2
最終的には、プルダウンで選んだ条件で出力する表のかたちと画像を代えたいんですけど、
エクセル単体でもできますかね?それならそれでいいですが・・・
37 :
2016/07/04(月) 21:04:36.18 ID:49dl+xbl
>>36
EXCELのスレに来てた人?

たらい回しという言葉を知ってるかい?
38 :
2016/07/04(月) 21:42:14.95 ID:LOf4uuq2
いやそれ俺じゃない。
39 :
2016/07/05(火) 12:37:49.49 ID:RlWBF9ba
>>34
vb中学校っていうサイトが情報古いけどおすすめです。
40 :
2016/07/07(木) 07:45:27.32 ID:9nALhBhc
中学校は執筆者自身のスキルに難があるからな
「初心者向け」を自分が理解してないことの免罪符にしてる印象
JavaやC#だと本人が完全に理解してる上で初心者向けにかいつまんでるのが多いんだけど、VBでとなると俺は知らないな
41 :
2016/07/07(木) 10:31:45.73 ID:ljNr7G7W
dobon.net
42 :
2016/07/07(木) 12:30:45.74 ID:u/1J4++R
VBAで初心者向けと言えば田中さんだと思うんだけどなぁ
43 :
2016/07/07(木) 22:32:29.25 ID:ljNr7G7W
vbaじゃなくて.netの話じゃないの?
44 :
2016/07/13(水) 22:26:23.47 ID:NVocMmQN
未だにVB6使ってるし、vs2015でもVB.NET使ってるが
そろそろc#への移行どきかねぇ
今やネットでの情報はほとんどc#でのコーディングだし
そうなると初心者向けっていう利点が無くなるし
45 :
2016/07/13(水) 23:08:17.35 ID:IHteYO+A
できることは変わらないんだから無理に移行する必要はないような
移行というより選択肢を増やすという意味ではJavaやるのがいいんじゃないか?
Javaに慣れたら自然に.NETでもC#を使いたくなるだろう
46 :
2016/07/14(木) 15:14:56.61 ID:ZUrpEfIZ
>>45
できることは変わらないwww
47 :
2016/07/14(木) 15:49:33.75 ID:o/KrP/8p
(純粋に技術的に可能か不可能かで言えば)できることは変わらない→せいかい
(プログラマの能力的に)できることは変わらない→まちがい
48 :
2016/07/14(木) 18:31:11.93 ID:ZUrpEfIZ
>>47
ねえねえ、.NET Coreの開発をVB.NETでどうやったらできるの?まだ対応されてないよね?
49 :
2016/07/14(木) 18:32:54.25 ID:o/KrP/8p
>>48
自分でdll参照すりゃできるよ
50 :
2016/07/14(木) 21:04:53.69 ID:05a8wJuJ
>>48
笑わせに来たのか?
51 :
2016/07/15(金) 16:13:26.77 ID:iSfUktoe
チェックボックスのFalse/Trueに対応してリストボックスが有効/無効になるイベントドリブンがあるんですが
コレが10コとか20コある場合、同じだけイベントプロシージャを作らないとダメですか?
もっとスッキリさせる方法があれば知りたいです。
52 :
2016/07/15(金) 16:14:00.44 ID:DCcmFlXk
どっかのブログでVB.NETは複数行のコメントが出来ないと書いてあったが、
#if 0 then
~
#endif
で出来るじゃん。
53 :
2016/07/15(金) 18:37:46.00 ID:sp8uG4qU
痛すぎる
54 :
デフォルトの名無しさん
2016/07/15(金) 19:31:07.65 ID:CgTB7XPU
>>51
全部ハンドルしてsenderで分岐
55 :
2016/07/15(金) 20:07:33.34 ID:DCcmFlXk
どこが痛いのかな?
デバッグ用のコードを埋め込むさいに
よく使われる手法なんだが・・・
56 :
2016/07/15(金) 20:21:13.97 ID:2BxGkjsb
お前らVB.Netなんかやってるの?

俺なんか今の仕事場VB6.0だぞ。
CPUはPen4でOSなんかまだXP。
XPはマズいので何か機会が有ったら通報してみようかと思ってる。
57 :
2016/07/15(金) 20:59:19.37 ID:iSfUktoe
>>54
ありがとうございます!
58 :
2016/07/15(金) 22:41:00.37 ID:AtypjOfw
>>55
確か明治時代はみんなそうやってたんだっけ?
59 :
2016/07/15(金) 22:53:00.93 ID:P5LMS7dI
>>58
教えてください
明治時代のVSのバージョンはいくつだったんですか?
Windowsのバージョンは?
CPUは何だったんですか?
ビル・ゲイツは生まれてなかったと思うんですがマイクロソフトはあったんですね?
60 :
2016/07/15(金) 23:33:10.42 ID:khTZoh5c
>>59
煽るならもうちょっと捻れよ
VBerの知能レベルが知れる
61 :
2016/07/16(土) 00:34:50.26 ID:x1AhYluy
>>58
VB6.0の時代、ベテランプログラマーがそう書いてたから真似した。
今もそのクセが抜けない。
62 :
2016/07/16(土) 09:09:16.76 ID:w6ElOsX+
>>60
じゃあ知能レベルの高い()煽りを御享受ネカ゜得るかな?
知能レベルが高いなら出来るよねw
63 :
デフォルトの名無しさん
2016/07/16(土) 12:22:45.14 ID:3oB/Pjks
なんなら俺が最高峰の煽りを見せてやろうか?
64 :
2016/07/16(土) 13:21:59.74 ID:3jub9Gwj
でもこれで>>60がやってるのがjava辺りだったらウケるよな
65 :
2016/07/16(土) 16:47:05.11 ID:XRI+XgN5
フォームにボタン1つ設置して、そのボタンおすと新しいエクセルのファイルが作られるようにしたいのだけど、どうやればよいですか?
参照の追加から、ライブラリ?を追加することをしなければならないのはネットで理解したのですが、
さしあたりサンプルコードなどをコピペしてみても、エラーに泣てうまくいきません
66 :
2016/07/16(土) 17:12:58.61 ID:w6ElOsX+
ファイル作るだけなら空のファイル用意しといて名前つけてコピーするだけじゃんw
67 :
2016/07/16(土) 19:37:10.54 ID:T1HW9qn+
>>51
checkboxとlistboxがペアになってるならUseControl作るのが正解だろうね
68 :
2016/07/26(火) 12:49:23.36 ID:9fHSiM6q
ASP.NETなんですが、

フォーム認証をやってますが、ログインフォームで、
System.Web.Security.FormsAuthentication.SetAuthCookie(userID, True)
という風に、永続化させたとします。

んで、次回からはクッキーが削除されない限り、ログインフォームに来ないで
前回のログイン情報が生きてるように見えます。(Context.Userに値が入ってきてる)

ここまでは全く問題ありませんが
ログインフォームでは、userIDに応じたユーザー名(漢字)もDBから取得していて
Session("userName") へ格納しています。

永続化させると次回からはログインフォームに飛んでこないようになるため
この仕組みが通らず、Context.User に値は入ってるけど、Session("userName")は空という事態が起きます。

永続化させた後にも、ログインと同等の処理がglobal.asaxの中のどっかを通ると思うんですが
Context.Userの値でDB検索して漢字名をSession("userName")にセットするにあたり
global.asaxのどこへ書くといいですか?
69 :
2016/07/26(火) 21:07:32.60 ID:9v81EC5I
Sessionが認証状態を超えるなら考えないといかんが
とりあえずSession_Startあたりで良いんじゃね
70 :
2016/08/15(月) 21:51:30.36 ID:B7Nw7mUX
・商品がカテゴリ分けされていて階層で管理されている (例. カテゴリ1 → カテゴリ1-1 → カテゴリ1-1-1 → 商品A)
・商品管理画面にカテゴリの階層構造をツリーとして表示する(顧客からの要望)
・管理する商品件数は1000件程度
・ツリー内の好きな位置で新しい商品を追加したり、商品を削除したり、カテゴリ(ツリー構造)を変更したりする
・ツリー内容は全展開する(顧客からの要望)

上記のような機能を実装しているのですが、
1000件程度でもツリーにノード追加したり、階層構造を変更したりすると時間が掛かってしまいます。

BeginUpdateで描画更新をとめる処理を入れるのは既に試していますが、
レスポンスが悪いと感じております。

そこでTreeViewでBeginUpdate以外の方法で処理を早くする方法もしくは、
階層構造が表現できて1000件程度でも高速であるTreeView以外の代替コントロールはありますでしょうか?
71 :
2016/08/15(月) 22:50:45.95 ID:yyEmga7M
1000件とかなら適当なグリッド使ったほうがいい
72 :
2016/08/17(水) 05:55:50.00 ID:Cm/M2Pe6
>>71
レスありがとうございます。
グリッド関連ででツリー構造をうまく表現できるものがあるか調査してみたいと思います。
73 :
2016/08/19(金) 13:22:10.36 ID:WvWYXZXO
パネルを敷いて、その上にボタンを貼り付けるとします。
ボタンの位置、上左を起点にして位置決めしたとします。

んで、ボタンの上と下の余白とが同じになるように
パネルの大きさを弄ってますが、これが極めて面倒
(プロパティウィンドウでサイズを数値で打ったほうが早いレベル)

デザイナでマウス使って、簡単に位置合わせできないもんでしょうか。
74 :
2016/08/19(金) 13:29:16.02 ID:SITb9Fi/
>>73
同じ物(パネルの中にボタンがある)が複数あるのならコピペすりゃいいんじゃないの?

そもそも本当にパネルの中にボタンが一つだけ(と言ってるように聞こえるけど)しかないなら
パネルが必要あるように思えないんだけど。
75 :
2016/08/19(金) 21:27:55.12 ID:xxHTQg5s
>>73
a) プロパティウインドウでサイズを打つ
b) デザイン時は適当に配置して実行時にサイズ変更する
c) VisualStudio のアドインを作る
76 :
デフォルトの名無しさん
2016/09/01(木) 22:14:52.74 ID:32zBwDCY
これから自作の業務ソフトを作る為に勉強始めようと思うのですが、まともなコーディング出来るまでどれくらい時間かかるもんでしょうか
VBAをちょこちょこやってるレベルです
会社に出来る人はいないので独学しかないです
いい勉強方法などあれば教えていただきたいです
77 :
2016/09/01(木) 22:42:58.64 ID:KXjO58d1
>>76
c♯にしとけ
78 :
2016/09/01(木) 22:53:09.46 ID:4TKfOi4K
>>76
目的のものがあれば調べまくってとりあえず、動くものを作る。
ちゃんと動けば楽しくなって、更に深く調べる。
こんな繰り返しでだんだんと上達してくるんじゃない?

最初からキレイで無駄のないコードを書くのは難しいよね。
どのくらいの期間かは、本人の努力でいかようにも短くなるんじゃない?
79 :
デフォルトの名無しさん
2016/09/02(金) 20:43:57.57 ID:TnXBqpSE
>>77>>78
ありがとうございます。
.NETで一通りコーディング出来たらC#で同じもの作ってみたいと思ってます
とりあえずやってみるしかないですよね。作りたいものは決まってるので頑張ってみます
クラス設計出来るようになるだろうか。。
80 :
2016/09/02(金) 22:14:27.15 ID:LsVX2JMM
VBは情報の質が低いから初心者は変な癖が付きやすい
まともにオブジェクト指向を解説してる書籍なども少ない
どうせC#もやるつもりなんだったら最初からC#でいくほうが近道だよ
81 :
2016/09/02(金) 22:16:49.34 ID:DWiKd03r
c#厨が必死だなw
82 :
2016/09/03(土) 00:43:38.63 ID:iqP+pTRw
まぁC#でもjavaとかに比べるとObject指向の本とか少ないけどな。VBよりマシってくらいで。
C#もjavaも似たような構文してるから両方やっとくといい。
ついでにC#とVBも構文じゃなくて中身がそんなに変わるもんじゃないから一緒にやっとくといいよ。
83 :
2016/09/03(土) 08:27:57.79 ID:NvN4PBVL
VBはオープンソースプロジェクトがほぼ皆無だからなあ
「スキルの高い人が正しく使えばこうなる」というものに触れる機会が無いのは致命的
84 :
デフォルトの名無しさん
2016/09/03(土) 12:35:14.12 ID:lH1/+nJg
vbは構文が破綻しかけてるからこれからプログラミングを始める人がやるべき言語ではない
85 :
デフォルトの名無しさん
2016/09/03(土) 12:40:16.59 ID:IeofIhBF
.NETがとっつきやすそうだったのでクラスがどういったものがあるか勉強しながらC#に移行出来ればと考えてたんですが
.NETだとオブジェクト指向らしくないコーディングをする癖がついてしまうでしょうか
C#に移行すればそんなこともいってられないくらい矯正できますかね?
86 :
デフォルトの名無しさん
2016/09/03(土) 12:42:48.70 ID:IeofIhBF
>>84
マジすか。。素直にC#から入ろうかな
87 :
2016/09/03(土) 12:59:42.87 ID:HDnGX34n
いや、VBの方がC#より簡単とか今はないよw
宗教論争抜きでもうあえてVBを選択する理由はないから、素直にC#にした方がいいと思う。
88 :
2016/09/03(土) 13:37:14.87 ID:SV787nMm
ただVBはやっておくと結構いきなりVBAのコードが書けたりする
89 :
2016/09/03(土) 13:38:51.14 ID:XJfcWEgm
FrameworkがC♯なんだから素直にC♯にしとけよ
90 :
2016/09/03(土) 13:47:15.45 ID:FSQOfEYz
VBは大文字小文字の区別がないからパンチが雑になる
VBやったあとにC#触るとあれっ?てなる

かっこで条件をかかなくていいのはVBの唯一好きな点だな
91 :
2016/09/03(土) 13:47:46.48 ID:FSQOfEYz
あ、If文の話ね
92 :
2016/09/03(土) 14:50:51.90 ID:zuYDJ0Q0
>>87
c#を選ぶ理由も無いのにc#をゴリ押しするのは宗教戦争でなくて何?
c系は見た目が嫌だから嫌いって俺みたいなのもいるんだが?
93 :
2016/09/03(土) 15:11:32.11 ID:HDnGX34n
>>92
気付いてないみたいだけど、まさにお前さんがやってるようなことが宗教論争なんだよw

見た目なんて慣れの問題だよ。多くの人がそう言ってるでしょ。
本当に致命的に欠点があるのならこんなにC#が支持されてるわけないじゃん。

そういう個人の好みは置いといて、今から始める人がどちらを選んだ方が得をするか、
そういう話でしょ。

ユーザー数や公表されるサンプルコードの数でC#が勝るのは客観的事実だし、.NETの標準がC#なのも事実。
要するにC#を選んだ方が圧倒的に得なのは動かしがたい事実だよ。
94 :
2016/09/03(土) 15:29:02.10 ID:uKYB9ZOR
そらまあ構わないが
ならC#スレでやってくれ
95 :
2016/09/03(土) 15:39:32.30 ID:zuYDJ0Q0
出たw
「多いから」
多いのが良けりゃトヨタ車が一番いいクルマだわなw
96 :
2016/09/03(土) 16:49:33.83 ID:NvN4PBVL
一番の違いはC#を覚えればVBは自動的に使えるようになるけど逆はそうでもないという点だな
そして初学者にとっての学習コストはC#のほうが低いんだからVBを選ぶ理由がない
C#使える人でVBにコンプレックス持ってる人はまずいない
その逆は見ての通りだ
97 :
2016/09/03(土) 16:53:33.28 ID:HDnGX34n
>>96
>C#を覚えればVBは自動的に使えるようになる
さすがにそれはないよw
っていうかその程度にはVBerもC#使えるでしょw
98 :
2016/09/03(土) 19:28:47.71 ID:b8f1NloR
まあ、ホントに全く新規で始めるのにVBかC#かってなら俺もC#を勧めるが
>初学者にとっての学習コストはC#のほうが低い
には同意できん

よい教材か、正しい指導者が居るなら同程度かVBが勝る
ただし、それに当たる確率はC#の方が多いけどな
99 :
2016/09/03(土) 19:35:40.75 ID:HDnGX34n
>>98
いやC#の方が覚えること少なくて初心者向きだと思うよw

VBはなまじ今となっては使わない方がいいレガシー機能とかあってとっつきづらいと思う。
WitheventsとHandlesでとりあえずデリゲートを理解しなくてもイベントが使えるとか、例外もあるけどねそりゃ。
100 :
2016/09/03(土) 21:04:33.37 ID:b8f1NloR
覚えるのが少ないって
キーワード増やしたくないって結果が
+=でイベントハンドラ割り当てたり、拡張メソッドにthis指定しろとか言う言語だからなぁ

ちがう機能には違うキーワード割り当てる方が初心者むきだぞ
今となっては使わない方がいいレガシー機能とか初学者に教える必要ないし
101 :
2016/09/03(土) 21:31:23.31 ID:+/rHmoaE
>>76みたいにVBA経験者ならVB.NETの方が敷居は低いだろうね
102 :
2016/09/03(土) 21:37:06.88 ID:NvN4PBVL
そうかな
雰囲気が似てるだけの全くの別物だから、ちゃんと「プログラミング」として入門し直すにはVBAの知識なんか邪魔になるだけだと思うが
103 :
デフォルトの名無しさん
2016/09/04(日) 02:55:14.23 ID:oi9Vguju
なんで初心者でない体の物言いばかりなの?
まるで説得力が感じられない
自分の身の丈に合った目線で話せば良いのに
104 :
2016/09/04(日) 03:25:42.67 ID:Gen1hrWU
<sammary>タグ中に<para>いれてもxmlドキュメントで改行できないんだけど、仕様?
VS2012ね
105 :
2016/09/04(日) 03:32:24.20 ID:X56x4opT
自分の場合AccessVBAですが、その知識が邪魔になった事はありませんね
VB6というかVisualStudio6.0の知識(仕様)が邪魔になった事はあります
基本的にVBAやVB6で培った知識は役に立ってますよ
また、似てる似てないはVBAからVB.NETへの移植をやると似てるのが良く分かります
稀なケースですが関数の中身をそのまま新メソッドに張り付けるだけで動く事もあります
106 :
2016/09/04(日) 07:58:22.83 ID:S0F7Ntiy
まぁVBとVBAは全くの別物ってことはないな。
ただ、まずVBAだけやっていた場合はクラスを使って
ポリモーフィズムで、
とかそんなところにすら至れない人が多い。

.NetやっててVBAの改修作業とかたまにやると
まるでコードのステップ数の多さをドヤ顏で自慢するかのような関数とか平気で作られていて
ストレスが溜まることもよくある。

ただ、今の仕事場でjavaで作られているシステムは1メソッド5000行とか有ったりするので
改修するとき作った奴に殺意を覚えたりするけどね。
107 :
2016/09/04(日) 08:33:24.52 ID:jyxhfMV3
>>104
xml自体から消えることはないはずだからそれをどう表現するかは使う側次第
とりあえずインテリセンスに影響しないのは仕様
108 :
2016/09/04(日) 12:24:52.05 ID:Gen1hrWU
>>107
インテリセンスにこそ影響しないと論外なのにな…
というかC#だと改行されるみたいだね
仕方ないからユーティリティ系(そもそもこんなものを作りたくないが)はC#で組むことにするよ
109 :
2016/09/04(日) 17:33:53.38 ID:XyhAhLc0
VB.NETもC#も、東北弁と九州弁の違いでしかないだろ
似たり寄ったり

C++も使える俺だけど、C#ってもVBみたいに感じる
特に変数の扱い(解放)に不安を感じる
110 :
2016/09/04(日) 17:35:13.39 ID:XyhAhLc0
VBにのみあるWith〜End Withは素直に便利だと思う
111 :
2016/09/04(日) 17:44:16.26 ID:dsyWzBSS
>>110
つ My
112 :
2016/09/04(日) 18:11:43.89 ID:EvCJbTcD
>>110
むしろあってもいいけどなくてもいい機能だねw
オブジェクト初期化子が使えるケースが大半だろうし。

WithevemtsとHandlesの仕組みはC#にもあったら便利だと思う。
C#の==の既定の実装は変だと思う。これはVBの仕様の方が優れてるね。

あと、細かいことだけど、C#はフィールドを宣言と同時に初期化する時、インスタンスメンバーを
使えないとか、構造体のプロパティをコンストラクタで初期化できないとか(回避方法はあるが)
もちろん理由はあるんだろうけど奇妙な制約があるけど、VBにはそれがないのはいいね(もちろん弊害もあるんだろうが)


>>111
My爺さんはリソースぐらいしか使わないし、使わない方がいいと思うよw
あえて使う理由がない。
あんなのVBが馬鹿にされる理由の一つになってるだけw
113 :
2016/09/04(日) 18:14:32.84 ID:EvCJbTcD
あと、言語としてのVBとは関係ないけど、アプリケーションフレームワークで
結構使える機能あるよね。

これなんかC#から使えたら便利だと思うんだけど
http://www.atmarkit.co.jp/fdotnet/dotnettips/663nextinstarg/nextinstarg.html
114 :
2016/09/09(金) 01:12:27.23 ID:1/vZZaq6
VB.net固有ではないかもしれませんが、
VB.netを学習しているのでこちらで質問させていただきます。

Linq to EntityでJoinやGroupJoinなど
リレーションを定義したメソッド用意しようと思っています。
(Linqでリレーションを毎度記述するのはめんどくさいので一か所で済ませたい)

その際、IQueryableで返したいんですけど例えば2つのテーブルを結合したときに、
IQueryable(匿名型)は返せないしIQueryable(Of Tuple(Of Table1,Table2)も無理そうなので
Table1とTable2のプロパティを持ったJoinTableクラスみたいなのを作って
IQueryable(Of JoinTable)にすればできるんですが、
これだけのためクラスを作るのは何となくしっくりこないんです。
この方法しかないでしょうか?

(Code Firstでのテーブルクラスの外部キーでのリレーションや
Fluent APIでのリレーション以外で)
115 :
2016/09/09(金) 02:21:34.21 ID:SJ+T/DWk
>>114
【VB.NET】LINQ友の会【C#, C♯, C#】
http://echo.2ch.net/test/read.cgi/tech/1202568694/
116 :
2016/09/09(金) 20:33:17.26 ID:VuAPiSR8
ふつうリレーションがあるなら、そのエンティティにリレーション定義すると思うんだが
何がしたいのか全く分からん
117 :
2016/09/11(日) 22:13:12.60 ID:09WdZpzt
ちょっと質問がイミフでした。
MVCとかMVVMのMでEntityFrameworkを使って
DB関係のロジックをうまいことコーディングしたかったんだけど
もうちょっとアプローチを変えてきちんと整理してから
改めて質問いたします。すいませんでした。
118 :
2016/09/22(木) 21:07:27.78 ID:lsqp5FOM
カスタムコントロールにビジネス上の知識を持たせるのって有りですか?
商品コードは特定の正規表現を満たす文字列であるというビジネスルールがあるとします

@正規表現による検証ができるテキストボックスを作り商品コードを扱う各画面に配置してデザイナで商品コードの正規表現を設定する
A商品コード専用のテキストボックスを作る

@はコントロールがビジネスルールを直接知らなくて良いのでUIとビジネス層が疎結合ですが各画面に商品コードの正規表現を設定する手間がかかります
Aは製造もメンテナンスも楽ですがUIがビジネスの知識を持つ必要があり結合が強まります
119 :
デフォルトの名無しさん
2016/09/22(木) 21:55:50.74 ID:khANt+EO
ドンチュー シンク ソー インディーズ レキシカル コンストラント アンド ビジネスルール?
120 :
2016/09/22(木) 21:57:28.36 ID:ouE1p1JD
検証するコントロールなりクラスなり作って、必要ならそれがテキストボックスの参照持つのが本筋の気はするけど

どこまでUIとロジックの分離をするのかと
ビジネスロジックと定型フォーマットチェック程度の一般的なロジックなのかの切り分けどう考えるかじゃね

個人的にはビジネスロジックを含んだUIパーツがあってもよいと思うけど
121 :
2016/09/23(金) 02:12:52.23 ID:gxk7d5Lf
>>118
@のカスタムコントロールAを作って
それを継承して正規表現を設定済みのカスタムコントロールBを作る
122 :
2016/09/23(金) 02:31:01.60 ID:h98BTTsU
>>118
どっちもよくないと思うよ。

入力の検証に必要なルール(この場合は正規表現バターン?)はあくまで
ビジネスルール側から提供されるようにすべきだし、それで何の問題もないでしょ。
123 :
2016/09/23(金) 02:34:00.44 ID:h98BTTsU
あ、ちょっと説明が足りなかったけど、要するにこの場合は
カスタムコントトールがビジネスロジック側の適当なクラスにある、検証に必要な正規表現パターンを返す
静的プロパティか何かを参照するだけ。
124 :
2016/09/23(金) 12:43:42.35 ID:O2gBGGU9
>>123
>カスタムコントトールがビジネスロジック側の(略)静的プロパティか何かを参照するだけ
UIパーツ(カスタムコントロール)がビジネスロジッククラスに依存するのはどうなのよ
125 :
2016/09/23(金) 12:50:22.34 ID:nupyc52F
>>124
それは問題ない。
まずいのは逆の依存
126 :
デフォルトの名無しさん
2016/09/23(金) 12:53:21.42 ID:o2Q2dMOD
そもそも正規表現で制御出来るような単純な字句的制約はビジネスルールとは言わん
それとも数値専用のテキストボックスですらビジネスルールだからUIから分離すべきとでも言う気か
127 :
2016/09/23(金) 13:14:59.72 ID:4DXYL/D0
InputManで解決
128 :
2016/09/23(金) 13:27:44.13 ID:nupyc52F
>>126
正規表現が使えないならビジネスロジック側に検証用の述語メソッドを用意してもらう。

コントロールをより汎用的なものにするために、>>118にあるように
コントロールに検証用の正規表現パターンのプロパティ(あるいはPredicate<T>の
プロパティ)を持たせてもいいけど、その場合もデザイナで正規表現パターンを
設定しちゃうのはまずい。

検証用の正規表現パターン、あるいは述語メソッドはあくまでビジネスロジック側から
受け取るようにしなきゃ
129 :
2016/09/23(金) 13:31:47.45 ID:nupyc52F
あと、数値だって上限下限があるとか、特定の数値は不可とか、
固有のルールはいろいろありうるよね
130 :
デフォルトの名無しさん
2016/09/23(金) 13:35:38.72 ID:o2Q2dMOD
>>128
なぜそれレスを俺にするのかよく分からんな
俺は
そんなものはビジネスルールではない
と言っているのだぞ
131 :
デフォルトの名無しさん
2016/09/23(金) 13:37:43.52 ID:o2Q2dMOD
>>129
そういう制約はビジネスルールに入る場合も多いが
単純に数値であるという字句的な制約はビジネスルールとは独立したものだ
132 :
2016/09/23(金) 13:45:53.84 ID:nupyc52F
>>130
よくわからんこと言ってるけど、例えば正規表現で簡単にフィルターできる、
「ユーザーIDは半角英数字で8〜20文字、ただし先頭の文字は半角英字のみ」
だって立派なビジネスルールだ。
133 :
2016/09/23(金) 13:49:14.26 ID:k2scBugP
画面に配置する度にテキストボックスに何が入力されるのかを判断してデザイナから正規表現を設定したりLoadイベントで検証オブジェクトを注入したりはめんどくさい
型が分かってるなら○○型用テキストボックスを作って配置するだけにした方が簡単だと思う
でもなんとなくUIが知識を持ちすぎてるように感じて気持ちは良くない
134 :
デフォルトの名無しさん
2016/09/23(金) 13:49:46.76 ID:o2Q2dMOD
>>132
こう言えば分かるか
ビジネスルールが興味があるのはあくまでもValue
UIコントロールが制御するのはValueとして評価される前のTextのValidation
135 :
2016/09/23(金) 13:52:03.90 ID:nupyc52F
>>134
まったくわからない
136 :
デフォルトの名無しさん
2016/09/23(金) 13:58:45.95 ID:o2Q2dMOD
>>135
そうか、じゃあこれはどうだ
ユーザーが入力したものはあくまでもキャラクタコードの羅列にすぎない
当然ビジネスロジック側が扱える値として評価出来ないようなデタラメなものも含んでいる
それをビジネスロジックが望む値として評価出来るようにするまでがUIコントロールのもつ役割

それ以降の値の持つ意味的な制約をコントロールするのはビジネスロジックの仕事
137 :
2016/09/23(金) 14:08:32.32 ID:nupyc52F
>>136
言いたいことはわからないでもないが、例えば現実の問題としては
入力したユーザーIDが不適切な場合はダイアログのOKボタンをクリックする前に
ErrorProviderか何かで通知するか、そもそも入力できないようにして欲しい、
という要望があったりする。

繰り返しになるけど、そもそも論として、ビジネスロジック側がUIに依存したらおかしいが、
UIがビジネスロジックに依存しても何もおかしくない。
138 :
デフォルトの名無しさん
2016/09/23(金) 14:17:08.23 ID:o2Q2dMOD
>>137
いや俺が言ってるのはどっちが依存したら良いとか悪いではなくて
validationにもUI側が受け持つべき部分とビジネスロジック側が受け持つべき部分の
2種類あるという事だ
そして元々>>118が言ってる商品コードを表す文字列のルールはUI側が受け持つべき部分であり
ビジネスロジック側が扱うのは商品コードとして有効な値に評価された後でよい
という事な
139 :
2016/09/23(金) 14:18:54.66 ID:k2scBugP
>>136
ビジネスロジックが求める形式はビジネスロジックしか知らないはずだけど
140 :
2016/09/23(金) 14:20:55.08 ID:AqTRNsCZ
入力項目をファクトリから生成するようにして
ロジックの配下におけばいい
141 :
デフォルトの名無しさん
2016/09/23(金) 14:22:49.17 ID:o2Q2dMOD
>>139
うーん
ビジネスロジックが知っているのは値の持つ意味
特定の文字列が特定の形式、これはむしろクラスと考えても良いが
に合致するかどうかってのはビジネスロジックが知る必要はない
142 :
2016/09/23(金) 14:31:36.51 ID:k2scBugP
>>141
コード値のプレフィックスを見て処理を分岐するとか
文字列の形式がビジネスロジックに影響する例は探せばいくらでもあると思うけど?
もちろんプログラム設計が悪いとかじゃなくそういう要件が現実にあるって話で
143 :
2016/09/23(金) 14:34:06.56 ID:nupyc52F
>>138
そんな分類はプログムを綺麗に書きたいプログラマ側の都合に過ぎないよ。
何の意味もない。
ユーザーから見たら怠惰なプログラマのただの身勝手に過ぎない。
144 :
デフォルトの名無しさん
2016/09/23(金) 14:38:06.66 ID:o2Q2dMOD
>>142
その例の場合は、たまたま、というか確かに現実的に多用される手法だけど

値の意味を文字列の形式で表わす様に設計されたコードである

為にロジック的に文字列の形式を評価して分岐しているように見えるというだけで
原則的にビジネスロジックが判断してるのは値の意味なんよ
145 :
2016/09/23(金) 14:38:15.25 ID:nupyc52F
今時webのUIだって、入力した値が不適切なら入力した段階で教えてくれるよね。
146 :
デフォルトの名無しさん
2016/09/23(金) 14:39:23.90 ID:o2Q2dMOD
>>143
おいおいプログラムを綺麗に書きたくて議論してたんじゃないのかよw
147 :
2016/09/23(金) 14:42:38.64 ID:nupyc52F
>>146
こちらはプログラムを綺麗に(可読的かつ後の修正に耐えるように)
UIがビジネスロジック側から提供される入力検証用のロジックを参照せよと言っている。

君が言っているのは、そもそもUI側でビジネスロジックべったりの入力検証なんかするなという話。
それはただの現実の要求を無視したただの怠惰だ。
148 :
デフォルトの名無しさん
2016/09/23(金) 14:47:02.61 ID:o2Q2dMOD
>>147
別にお前の意見
> UIがビジネスロジック側から提供される入力検証用のロジックを参照せよ
これを批判するような事を言ってるつもりは全くないのだが
なんか言い方が悪かったか?
149 :
2016/09/23(金) 14:48:40.29 ID:k2scBugP
>>144
たまたま文字列じゃなくて
まんまドキュメントにナントカのIDは先頭がこの文字で何桁のハイフン区切りでハイフンの後ろを取り除いたら親ナントカのIDに一致する文字列ですみたいなことが書いてあったりする
これはプログラミングで必要だからそうなったものではなく実際にエンドユーザーがそういう認識でナントカIDを認識、運用している
これはどうみたって見た目の問題じゃなくビジネスロジックじゃないかな?
150 :
2016/09/23(金) 14:49:56.75 ID:nupyc52F
>>148
じゃあ延々何を言ってるわけ?w
151 :
デフォルトの名無しさん
2016/09/23(金) 14:54:34.72 ID:o2Q2dMOD
>>149
うん、ユーザーは字句表現と値の意味を区別するって意識がそもそもないからな
でも開発者はそこから字句表現と値の意味を分離してビジネスロジックの本来的な意味を
読みとらないとゴチャゴチャと整理されないままの融通の利かないいわゆる
「使えないシステム」が出来あがる
152 :
デフォルトの名無しさん
2016/09/23(金) 14:58:31.27 ID:o2Q2dMOD
>>150
少し話が展開しすぎたから俺もよくわからんw
153 :
2016/09/23(金) 17:47:43.12 ID:O2gBGGU9
>>137
>UIがビジネスロジックに依存しても何もおかしくない
別にお前の意見に意義があるわけでなないんだが
UIパーツ(全体としてのUIではなく、あくまでUIを構成するパーツな)の再利用性についてどう考えてるのか教えてくれ
154 :
2016/09/23(金) 17:51:38.54 ID:O2gBGGU9
×意義
○異議
な。意義がないとか、全否定してるみたいだから訂正しとく
155 :
2016/09/23(金) 18:00:12.62 ID:pqhQamNt
>>153
もう書いてますよ>>128

汎用的に作った方がいいか、どの程度汎用性を持たせるかはケースバイケース。
別に一つの目的にしか使えないコントロールがあっても何も悪くない。
156 :
2016/09/23(金) 18:04:25.83 ID:O2gBGGU9
>>152
お前の意見はビジネスロジック以前の単純なチェックはUI自身でやらせろってことだと思うが
じゃあ、ビジネスロジックにかかわる入力チェックを行うUIパーツはどうあるべきだと思うの?
157 :
2016/09/23(金) 18:16:24.17 ID:O2gBGGU9
>>155
>別に一つの目的にしか使えないコントロールがあっても何も悪くない
なるほど。おおむね同意だが、さすがに>>128からこれを読み取るのは難しいw

まあ、これを許すのなら
>デザイナで正規表現パターンを設定しちゃう
ようなものや、いっそコントロール自体に検証パターンをハードコーティングしたようなものも
許されていいんじゃないかという気もするけどな
まあ、その辺の加減はまさに
>どの程度汎用性を持たせるかはケースバイケース
って話ではあるが
158 :
2016/09/23(金) 18:22:41.62 ID:XaRdCidB
さすがVBだわwwwバカばっかwww
159 :
デフォルトの名無しさん
2016/09/23(金) 18:29:52.08 ID:o2Q2dMOD
>>156
どういう意図の質問なのかいまいちよく分からんが

俺が言っているのは
UIで行なうべきはレキシカルなvalidation
ビジネスロジックが行なうべきはセマンティックなvalidation
だから原則的に
ビジネスロジックにかかわる入力チェックを行なうUIパーツ
というのは存在しない

ただし俺はジョンレノンと違って現実見てる人だから
UI側でセマンティックなvalidationをした方が実装的に都合が良い
というのであればそれはそれで全くかまわんよ
160 :
2016/09/23(金) 18:40:12.83 ID:O2gBGGU9
>>159
実装の都合じゃなくて、ユーザビリティ的に当然にそれを求められるわけなんだが...

セマンティックなvalidationを行うためのUIコントロールはどうあるべきかって話をしてたと思ったんだが
ちょっと違う次元の話をしてらしたのね
161 :
デフォルトの名無しさん
2016/09/23(金) 18:45:07.36 ID:o2Q2dMOD
>>160
いや元の質問はレキシカルなvalidationについての質問なんだが
それをお前らがセマンティックなvalidationであるかの様に話してるから
いやそれは違うぞ、と
こういう流れやね

で、ユーザビリティの為にセマンティックなvalidationをUIが受け持つ必要は全くない
そこはあくまでも実装上の簡便性と拡張性とのバランスの問題
162 :
2016/09/23(金) 18:58:27.30 ID:O2gBGGU9
>>161
>カスタムコントロールにビジネス上の知識を持たせるのって有りですか?
>商品コードは特定の正規表現を満たす文字列であるというビジネスルールがあるとします

正規表現っていうのはあくまでビジネスルールの例として出されたものであって
UI(カスタムコントロール)とビジネスロジックの関係が主題だと読み取るのが当然だと思うんだがな

わかってて論点をずらしてるのか、わからないから論点がずれてるのか
ま、これ以上はまともな議論になりそうもないからこの辺で俺は引っ込むわ
163 :
デフォルトの名無しさん
2016/09/23(金) 19:01:43.37 ID:o2Q2dMOD
ただの負けずぎらいだったかw
164 :
2016/09/23(金) 22:17:33.66 ID:QN68f0P3
お前ら
UIとBLの間にサービス層というものを
作ったことがないのですか
165 :
2016/09/23(金) 22:31:30.97 ID:ytBluy/j
VBで何言ってんの
イベントハンドラにベタ書き、
レビューで文句言われたらモジュールにそのまま移動するだけ
これがVBやで
166 :
2016/09/23(金) 22:44:17.99 ID:k2scBugP
>>164
サービス層やビジネス層に渡すパラメータの検証の話をしてるのでは?
167 :
2016/09/23(金) 22:46:35.09 ID:h+j53T+k
どこもそうやで
コントローラーとか作ってもいいけど、何書くか迷う人続出
168 :
2016/09/23(金) 22:56:58.35 ID:PwXnKVri
>>164
スレ間違えてないか?
169 :
2016/09/27(火) 00:38:43.68 ID:oI7fJQ/J
だってうちの会社Linq使うなっていうんだもん…
8000行の画面のカスタマイズ(クラス名はfrm00100000020)を押し付けられても困るし…
170 :
2016/09/27(火) 00:43:58.16 ID:rJ2xXuAE
メソッドチェーンなら誤魔化せるだろ
それか非拡張メソッド形式で呼び出し
まさかメソッド禁止ってこたないだろうし
171 :
2016/09/27(火) 11:47:43.35 ID:woj1K1Xu
フォームにコンテナ(たとえばGroupBox)を張って
そのコンテナの中にテキストボックスを数個おいて幅などを調整

最後に、そのテキストボックスがセンターになるように
コンテナの幅や高さを弄っているのですが、きちっとセンターになりにくいです。
(手間がかかる)

コンテナに含まれるコントロールに応じて
コンテナサイズを自動的に調整する手段はないのでしょうか。
172 :
2016/09/27(火) 12:04:25.39 ID:K+U0Izbl
>>171
率直に言ってどこが手間かさっぱりわからん。
っていうか、あんたいつも質問だけしてトンヅラしちゃう人だよねたぶんw
173 :
2016/09/27(火) 22:34:32.22 ID:zETe1SmY
>>171
Loadイベントで計算すればいいのでは?
174 :
2016/10/08(土) 09:07:35.92 ID:vL+1Z5yj
VBやってる奴が、VB消えてC#やるくらいならJAVAやると言ってたけど
絶対にC#やるね

VB以外使う気のない向上心の低い人間が
eclipseやnetbeensなんぞ
使える筈がない
175 :
デフォルトの名無しさん
2016/10/08(土) 09:11:21.14 ID:vL+1Z5yj
VB6のプログラムをVB.NETにリプレースするとか話があるんだけど
たぶん、VB6のお作法を可能な限り再現したいんだろうな。

goto文とか。。。
176 :
2016/10/08(土) 10:18:06.75 ID:xglEW1n9
>>174
向上心があってもC#だとおもうけどな
最近Iavaの仕事入ったけど何が良いのか分からない
昨日javaやってる人の話では
取り敢えずNull許容型も使えないし
OrElseやAndAlsoも使えないらしいじゃないか
この調子で行くと実はvb6と大して変わらないんじゃないか?
177 :
2016/10/08(土) 10:19:22.10 ID:xglEW1n9
>>175
やめろw
178 :
2016/10/08(土) 10:22:45.61 ID:vrZNWqvT
>>174
向上心もクソも、Javaのドカタ開発なんか決まりきった枠組みの中でコピペ垂れ流すだけやぞ
コボラーやペチパーからDDDとかやってるガチな連中まで誰でもウェルカムなJavaと違って
.NETはVBがカスの受け皿になってるためにC#は比較的意識高い空気があるからむしろVBerには馴染みにくいと思われる
179 :
2016/10/08(土) 11:53:52.07 ID:lglHWhKO
>>175
弊社でも同じような要件で仕事をたまにやってるけどうまくいった試しがない
コードや作法を維持するために不要なハックコード・パッチコードを大量に追加しなければならない
VB6のコードも酷いけどそのせいでむしろ保守性が悪くなる
リプレースの前にVB6のままリファクタリングすればうまくいくんだけどな
180 :
デフォルトの名無しさん
2016/10/08(土) 20:58:07.90 ID:c2XSdclF
弊社てwこいつアホだろw
181 :
2016/10/08(土) 22:09:50.82 ID:160QOg/G
>>178
JavaもC#も大差なく素人から達人まで幅広くいる
VBが圧倒的に地を這っているのは確かだがそれでC#erを持ち上げるようなことはないよ
182 :
2016/10/08(土) 22:15:48.56 ID:50+P0fkb
>>175
リプレースっていうのはそういうもんだ
せっかくだから・・・といろいろと色気を出すとドツボにハマる
183 :
2016/10/08(土) 23:11:10.01 ID:5XiE+va+
じゃあなんのためにリプレースするのさ
184 :
2016/10/08(土) 23:14:09.01 ID:5XiE+va+
今まさにリプレース案件やってるんだが
本当に何のためにリプレースしてるのかだれか教えてくれ
http://forza.cocolog-nifty.com/blog/2008/02/post_6234.html
185 :
2016/10/08(土) 23:15:16.83 ID:QRFMCd1a
意識高い()つもりのC#厨って何のためにここ見てるの?
186 :
2016/10/09(日) 00:13:11.37 ID:wwPMkRFM
>>183
ツールやライブラリのサポート打ち切りが多い
まだまだ余裕で動くんだけど公式にサポートが無いという状況を恐れているお客さんは少なくない
187 :
2016/10/09(日) 01:31:29.79 ID:r1p0JkFt
>>185
意識高いかどうかはともかくC#やJavaくらい使えて当然だろ?
まさかVBerはみんな自分みたいにC#使えないのが当然だとでも思ってるのか
188 :
2016/10/09(日) 01:49:02.64 ID:B/N5a+DZ
>>187
使える人もいるし、使えない人もいるよ
家に閉じこもってないで、もっと外の世界を見よう
189 :
2016/10/09(日) 01:53:43.78 ID:Jzv5OHPt
VBとC#ってほぼ同じだろ
なんなんだこの扱いの差は
190 :
2016/10/09(日) 08:37:09.99 ID:wwPMkRFM
実績って大事だよね
191 :
2016/10/09(日) 08:41:11.43 ID:ufk0aci5
>>189
ほぼ同じって信じてるバカのせいじゃね?
192 :
2016/10/09(日) 10:02:06.44 ID:7VtbLppb
やっぱC#厨ってバカなんだねw
193 :
2016/10/09(日) 12:31:22.13 ID:gnTrYliV
単純にBASICのネーミングを嫌う人が多いよね
IFとかFORのブロックをEND〜から{}に変えるだけで格段に読みやすくなるのになぁ、とは思う
194 :
2016/10/09(日) 14:00:15.61 ID:u4wAPfrW
俺はそこはむしろ逆だな
単純な見易さで言ったら波カッコよりキーワードの方が見易い
そしてキーワードよりインデントのpython形式の方が見易い
195 :
2016/10/09(日) 14:51:08.11 ID:7VtbLppb
だよなw
{}の方が見やすいとかどんな脳してるんだw
あとインデントは必要だけどそれだけだったらページ跨いだ時にどうもならん
196 :
2016/10/09(日) 15:30:39.31 ID:B/N5a+DZ
そこは慣れでしょ
Pythonのインデントのほうが見やすい人もいるし
197 :
2016/10/09(日) 15:57:49.59 ID:u4wAPfrW
>>195
でもページまたぐようなブロックってクラススコープだけだろう
1画面以内(多くても15行ぐらい)のメソッド以外書いた記憶最近じゃもうないわ
198 :
2016/10/09(日) 17:00:56.48 ID:ufk0aci5
>>195
VB脳キタ━━━━(゚∀゚)━━━━!!
199 :
2016/10/09(日) 17:03:25.10 ID:7VtbLppb
流石C#脳w
200 :
2016/10/09(日) 18:08:02.87 ID:r1p0JkFt
>>199
ページ跨ぐ長大なメソッドを生産するのがVB脳で
適当に分割するのがC#脳だとしたらそのレスは文字通りの賞賛の意味になるがお前はそれでいいのか
201 :
2016/10/09(日) 18:48:02.41 ID:B/N5a+DZ
C#使ってる人はなんでこんなにマウンティングしたがるの?
VBに親でも殺されたの?
202 :
2016/10/09(日) 18:53:33.65 ID:ufk0aci5
>>199
ありがとね
203 :
デフォルトの名無しさん
2016/10/09(日) 19:04:24.18 ID:4RubojJS
今のVBはBASICの文法と後方互換性を保ったまま機能を追加しすぎてるから
C#に比べて単純に書きにくいし読みにくい
俺にとっては最も難しいプログラミング言語の一つ
204 :
2016/10/09(日) 19:07:05.46 ID:qa3paDEf
やたら関数化する人のソースって見づらいよねって言われました
VBだと例えばボタンを押したときの機能は1つの関数にまとめるのが良いのでしょうか?
205 :
2016/10/09(日) 19:15:20.40 ID:1Q+mN8qo
なんでそんな全か1かなの
206 :
2016/10/09(日) 19:51:46.57 ID:yh5soZNP
>>201
C#erだけど
Cの系譜じゃないからVB嫌い

読めばだいたい解るけど、
1ヶ月もやると変な癖が付くから解りたくない

でも、.NETのひとくくりで
VB任されたりするから
いち早く死んで欲しいんだ
207 :
2016/10/09(日) 19:59:53.11 ID:B/N5a+DZ
>>206
VBの仕事断ればいいよ
断れないなら、C#で書いてVBに変換したらいい
あと癖っていうか、それはその言語に慣れてるだけで、別に悪いことじゃない気がするわ
208 :
2016/10/09(日) 20:08:34.54 ID:cwz+vQn7
>>201
親じゃないけど同僚が1人死んでる
209 :
2016/10/09(日) 20:18:58.29 ID:yh5soZNP
>>207
出来ないことはないけど
やりたくない

が通用するほど
世の中が甘くないのが悪い

VBが.NETじゃなければ通用するかも知れんけど
不幸なことにVBは.NET
210 :
2016/10/09(日) 20:28:42.01 ID:7UHrss8Z
相互にトランスパイルする機能とか出来ないんかな
211 :
デフォルトの名無しさん
2016/10/09(日) 21:57:54.02 ID:yh5soZNP
VBユーザを引き続き取り込むためにVB.NETは生まれ
その役割は果たしたでしょ
J#と一緒に消えてよかった存在

それをダラダラ延命したせいで
混乱してる

アップル陣営はObject-CとSwift

JAVA陣営はJAVAとScala

なのに.NET陣営はVB.NETとC#とF#

多すぎて.NET陣営は敬遠したくなる

洗練されてないよね
212 :
デフォルトの名無しさん
2016/10/09(日) 22:03:08.35 ID:yh5soZNP
Pythonみたいにインデントで書けるなら
VB.NET見直す

ENDとか、このご時世にタイピング多過ぎ
213 :
2016/10/09(日) 22:05:50.50 ID:yh5soZNP
>>204
COBOLとか1関数に1000行くらい書くよね
214 :
2016/10/09(日) 22:06:52.00 ID:B/N5a+DZ
ENDなんて自分で書くか?
それより行末のセミコロンのほうが面倒だよ
215 :
2016/10/09(日) 22:06:59.03 ID:qa3paDEf
記号だと覚えるの面倒じゃん
言語によって記号の意味が微妙に違ったりするしな

記号による混乱といえばC言語のポインタが元祖じゃないかとおもってるけど
最近の言語だって配列が丸カッコと角カッコで違ったりと無駄な暗記力が要求される
216 :
2016/10/09(日) 22:08:52.54 ID:qa3paDEf
>>213
1関数2000行〜3500行で1ファイル1万行超えとか普通なの?
COBOLは知らないけど事務処理系の言語だから共通してるのかな
217 :
2016/10/09(日) 22:14:42.21 ID:yh5soZNP
>>215
VBの配列ってカッコ使わないの?

使うなら、他言語するなら
結局無駄な暗記力が要求されるんじゃね?
218 :
2016/10/09(日) 22:15:59.00 ID:yh5soZNP
>>216
VBの世界に普通なんて無いんじゃね?

VisualStudioが固まりそうだけど
219 :
2016/10/09(日) 22:17:33.80 ID:yh5soZNP
VBのリプレイスをしましょう!
VB.NETで

この絶望感はキツイ

クライアントが同じような言語だから
簡単前提で話してくる

ここが、VB.NETの害悪だと思ってる
220 :
2016/10/09(日) 22:20:28.57 ID:B/N5a+DZ
そこは簡単じゃないって訂正するか、別の案をだしたらいいんでは?
言語に限らず馬鹿なクライアントの仕事はろくなもんじゃないよ。金持ってたら別だけど
そんなのと仕事をしなきゃいけない自分の立場を恨むしかないね
221 :
2016/10/09(日) 22:23:52.17 ID:yh5soZNP
>>220
VBのリプレイスが逆にキツイとか
VB.NETの存在、全否定じゃね?
222 :
2016/10/09(日) 22:38:18.64 ID:B/N5a+DZ
>>221
そこは人によるでしょ
あなたが簡単にできないってだけの話
223 :
2016/10/09(日) 22:46:22.52 ID:qa3paDEf
>>218
1万行ぐらいなら余裕で動いてくれるよ
その点はVBすごいって思うよ

>>219
来週からVB6からVB.NETへのリプレース案件やるよ!
しかも客側の担当者はそのアプリを使ったことがない人だよ!!
市販コントロール使ってるからビルドすら出来ないよ!!
224 :
2016/10/09(日) 22:50:12.51 ID:yh5soZNP
>>222
で、簡単にVB時代のコードを書くんだから
VB.NET使いはバカにされる

時代は関数型言語に入ってるのに
構造化プログラミング止まりだもんな
225 :
2016/10/09(日) 22:52:07.63 ID:yh5soZNP
>>223
VBリプレース
グレープシティとの合わせ技は
威力抜群だよな

で、WPFとか要求されたら
VB使い死ぬんじゃね?
226 :
2016/10/09(日) 22:55:46.79 ID:yh5soZNP
VB6のアプリ8画面
一ヶ月でリプレースして

同じVBだから簡単でしょ?

こんな糞案件全力で拒否したかったのに
営業が取ってきやがった!!!
227 :
デフォルトの名無しさん
2016/10/09(日) 23:17:49.10 ID:yh5soZNP
VB6のプログラムとか
Windows10でも動くんだから
無理に.NETなんかにしなくて良いだろ

windows終了後に
Scalaで作りゃ良いよ
228 :
2016/10/09(日) 23:41:06.10 ID:cwz+vQn7
>>226
次の仕事探し始めよっか
229 :
2016/10/09(日) 23:43:38.69 ID:B/N5a+DZ
>>224
関数型なんて普及しないからどうでもいいよ

質問スレなのに、チラシの裏になってるのは如何なものか
230 :
2016/10/10(月) 00:11:48.08 ID:lIANkkP8
スレチなのに粘着し続けるなんてVBの人気が悔しくてしょうがないんだねw
231 :
2016/10/10(月) 10:14:44.54 ID:9h3bSpXM
人気w
232 :
2016/10/11(火) 10:58:49.29 ID:TGkxV+I0
C#よりVBが優れているところ
  ・関数内でStatic変数が書ける
  ・With 〜 End With
  ・拡張メソッドで、拡張元を参照でき、その内容を書き換えることが可能

VBが残念なんところ
  ・拡張メソッドで、Object型を拡張できない
233 :
2016/10/11(火) 19:39:59.09 ID:F+19S6qE
VBの残念なところ

i=i+1
234 :
2016/10/11(火) 19:52:16.44 ID:8lv9/W5a
>>233
ああ、それな
確かに残念だ
235 :
2016/10/11(火) 20:47:57.68 ID:nLx97S41
>>233
えっ?
236 :
2016/10/11(火) 20:57:51.30 ID:k359FhBZ
ん?
俺は2008でVB見切り付けてもう使ってないけど、ちょっと前にC#スレで
話題になってたみたいにVBは拡張メソッドでthisを参照で渡せるみたいだから、
IncとかPostIncとか適当な拡張メソッド追加したらC#みたいな感じにできるでしょ

っていうかVBにも加算代入演算子はあるでしょw
237 :
2016/10/11(火) 21:19:29.57 ID:2RFuKv6f
プログラミングをする中で1を足すっていう行為を行う事はあるの?
238 :
2016/10/11(火) 21:22:09.33 ID:g3dISoW2
>>233
マジで言ってる?w
239 :
2016/10/11(火) 22:10:56.85 ID:8+X/d/0Z
インクリメントメソッドあったような
240 :
2016/10/12(水) 07:26:04.50 ID:sq4lP+Lj
i+=1
みたいなのなかったか
241 :
2016/10/12(水) 07:34:22.83 ID:uoNvbxNE
素人がインクリメントで
混乱しちゃうから
ポリシーでできない
初学者用として良い思想だと思う

学習用のVB
仕事用のC#
242 :
2016/10/12(水) 07:35:57.27 ID:u2agc9cE
素人隔離用のVB
初心者用のC#, Java
243 :
2016/10/12(水) 07:39:44.75 ID:uoNvbxNE
学習用のVBを仕事で使うから
多次元配列配列とか
main関数だけのシステムが
出来あがる

VBは悪くない
244 :
2016/10/12(水) 07:40:05.27 ID:8gnDT+LU
うん
245 :
2016/10/12(水) 07:42:11.23 ID:uoNvbxNE
>>242
素人隔離用言語の案件が
.NET全体の半数占めてる異常事態
246 :
2016/10/12(水) 20:28:14.05 ID:D5cXgAJ8
>>245
わかってて自民選んできたわけだしだししゃあない
既得権益重視の政策じゃITは育たない
247 :
2016/10/12(水) 21:18:19.46 ID:H4Ck9EdE
素人用のほうが自分がメンテしなくてすむからいいわ
248 :
2016/10/12(水) 21:25:37.07 ID:85o/Yoqy
VB6以前にあったVariant型って完全撤廃されたけど
C#にはvarっていうのがあるんだね。
一度値を入れると入れた値の型で確定するっぽいけど
これって昔のVB6みたいに配列でも入れられるのかなぁ。
VB6のVariant型はそれこそ何でも突っ込めるユルユルな危険な型だったけど
C#のvarの緩さってどのくらいのもんだろ?
俺の肛門くらいかな。
249 :
2016/10/12(水) 21:30:02.01 ID:istexQmR
>>248
実行時とコンパイル時の区別がついてなさそうだねお宅w
250 :
2016/10/12(水) 21:33:59.45 ID:MDgm7R4P
>>248
挿入時と排出時の区別がついてなさそうだねお宅w
251 :
2016/10/12(水) 21:36:02.40 ID:XzbrdxqH
varは別にVariantとは関係ないよ
varって型があるわけでもない
var obj = new Hoge();
Dim obj As New Hoge()
これが意味合い近い
右辺は型が自明だから、その代入される変数も型は自明
なので変数の型の記述を省略できるねってだけ
var obj; みたいに代入(初期化)が存在しないとコンパイルエラー
252 :
2016/10/12(水) 21:57:17.32 ID:sdd9b4H+
varは型じゃなくて、「型は推論してね、なければ今だけその型を作ってね」というコンパイラへのメッセージ
var自体は型じゃない
253 :
2016/10/12(水) 21:58:02.87 ID:xN/YPNgg
>>248
Option Infer On にすればVBでも使える
Dim obj = New Hoge()
254 :
2016/10/12(水) 22:17:04.44 ID:9oDwxE2X
実際VBは>>248みたいなアホの子ばっかりだから現実には使えんよ
未だにExplicit付けろだのStrictわからんだの言ってるレベルだから浸透するまでには10年はかかるんじゃないかな
255 :
2016/10/12(水) 22:22:04.16 ID:sdd9b4H+
VBにはvarに似たようなものってないんだっけ…?
…と思ってたら、>>253 が来てた。 トン
256 :
2016/10/12(水) 22:41:38.09 ID:sdd9b4H+
今更だけど >>284 の質問に答えると
「何でも入れていいのよ」と言っておきながら、いざ入れようとすると
「それは入れられません」だの
「入れるって言ってたものと違います」
と拒絶するんだから、まぁ、たぶん、>>284 の肛門と同じくらいだと思うよ
257 :
2016/10/12(水) 22:42:55.63 ID:sdd9b4H+
>>248だった…
258 :
2016/10/12(水) 22:51:37.78 ID:zL8csvwH
ヤバい
なんか知らない内に大人気w
259 :
2016/10/13(木) 01:20:39.30 ID:YFhpRSU4
>>256
>「何でも入れていいのよ」と言っておきながら
今更の上に大嘘こくとかもう
varはコンパイル時に型が決まってるから何でもは入らんわ

型を明示してないDim文は、Optionの組み合わせでどの型になるか変わる
なんでも入れたいならVBならObject型つかっとけ
260 :
2016/10/13(木) 07:41:00.86 ID:d/dyHEl/
なんでも入れたいという状況がまずほとんどない
261 :
2016/10/13(木) 08:30:17.64 ID:U+TNkLbY
あるんだよ
そう、VBerならね
262 :
2016/10/13(木) 19:05:40.28 ID:gX2GGxbI
ポリモーフィズムっていうやつでしょ
263 :
2016/10/14(金) 00:43:23.83 ID:9A8wGeEh
Perfumeかっ!
264 :
2016/10/15(土) 23:13:41.57 ID:wRrM2+Dz
リプレース案件に配属されたんだけどリプレースのやり方がわかりません
リプレーステクニックを教えてください
265 :
2016/10/16(日) 00:38:20.58 ID:FoYCot45
上司に頼んでお前自身をリプレースしてもらったら?
大炎上を未然に防ぐ最強のリプレーステクニックだと思うよ
266 :
2016/10/16(日) 02:45:30.78 ID:iJDqhd9/
俺なんて誰もビルドできないソフトのリプレース案件だぜ
267 :
2016/10/16(日) 02:54:09.89 ID:gFCncXTr
ワイルドだろ〜ってか
268 :
2016/10/16(日) 13:41:38.70 ID:XpgX501Q
画面も無く条件分岐と四則演算だけで
構成されたVB6アプリなら
VB.NETでリプレースした方が良いけど
画面があるならWPFとC#のが
良いだろ

後々を考えたらね
269 :
2016/10/16(日) 13:59:24.00 ID:skNQwynR
そこにそんなにコスト掛けられると思うか?
現実的じゃないよね
270 :
2016/10/16(日) 16:48:29.74 ID:43exmUNo
Formにビジネスロジックもデータアクセスもベタ書き
コードの書き方も下手なので処理の副作用が多くイベント発生順序がちょっと狂うだけで正しく動作しなくなる
リプレース前のUIコンポーネントは再利用できないからイベント発生順序をどうしても維持できなくなりバグが発生する
リプレース案件の問題を集約するとほぼ全部これなんだよな
271 :
2016/10/16(日) 17:40:34.29 ID:mb+1nrfd
答:そのままVB6でメンテせよ。
272 :
デフォルトの名無しさん
2016/10/16(日) 17:52:06.07 ID:7MDcSmyp
>>270
> イベント発生順序をどうしても維持できなくなりバグが発生する
こういうのはバグでなくリプレースするスキルがなかったと言ってくれ
273 :
2016/10/16(日) 18:32:51.71 ID:43exmUNo
>>272
リプレースするスキルがなくてバグが発生するんじゃないか?
納めた物が期待通り動作しなければバグだろう
274 :
2016/10/16(日) 18:45:32.77 ID:Kvo8MkD+
動かないやつを納品するのかよw
275 :
2016/10/16(日) 18:52:10.28 ID:43exmUNo
>>274
当然だけど事前に合意をとったテスト仕様は全部クリアした上で納めるよ
でも他になんのバグも出さずに納品ってのは不可能
276 :
2016/10/16(日) 18:53:27.16 ID:skNQwynR
>>270
それはVBに限らず、なんでもそうだぞ
277 :
デフォルトの名無しさん
2016/10/16(日) 19:38:47.95 ID:7MDcSmyp
>>273
バグは紛れこむものでスキルには関係ない
お前が言っているのはスキル不足による必然的な誤り
278 :
2016/10/16(日) 20:45:59.34 ID:8IyGpHqh
>>277
さすがに何言ってるのか理解できんわw
279 :
2016/10/16(日) 20:48:30.33 ID:skNQwynR
>>277
それバグやん
280 :
デフォルトの名無しさん
2016/10/16(日) 21:15:16.07 ID:7MDcSmyp
>>279
そもそも設計が出来ていないものはバグとはいわんし
テストとはそんなものを無理矢理つじつま合わせる事でもない
そんな事ばかりしてたらそりゃお前らの言う「バグ」は限りなく湧いて出るけど
要するにそれは未完の不安定な何かであり完成した製品には永久にならない
281 :
2016/10/16(日) 21:32:13.80 ID:43exmUNo
現実世界では設計ミスもバグに含みます
282 :
デフォルトの名無しさん
2016/10/16(日) 21:35:21.06 ID:7MDcSmyp
>>281
但しコーディングに限る、とは誰も言ってないけど
正しさの中に紛れこんだ誤りがバグ
>>270のはそもそも正しさ自体が未定義の状態
283 :
2016/10/16(日) 21:39:29.73 ID:8IyGpHqh
>>282
絵に描いたようなオレサマ定義だねそれw
284 :
2016/10/16(日) 21:40:39.69 ID:43exmUNo
現実世界では未定義の仕様による障害もバグに含みます
285 :
デフォルトの名無しさん
2016/10/16(日) 21:44:56.02 ID:7MDcSmyp
>>284
一部の仕様が未定義であるとわかるのはあるべき正しい仕様が定義されているからであり
あるべき正しい仕様というものが定義されていない状態では未定義の仕様というものは存在しない
286 :
2016/10/16(日) 21:53:13.50 ID:43exmUNo
ボタンはあるけど押した時の処理の仕様がない
メソッドの引数が不正な場合の仕様が決まっていない
ファイルがない時の仕様が決まっていない
データベースがオフラインの場合の仕様が決まっていない

現実世界では未定義の仕様は幾らでも存在します
287 :
デフォルトの名無しさん
2016/10/16(日) 21:58:29.40 ID:7MDcSmyp
>>286
未定義である事は正しい仕様が存在するからわかるのだと言っているのだが
どうも噛みあわんな
というかお前の言ってるのは仕様じゃなく詳細設計のもれじゃないか
そもそも未定義の仕様ですらない
288 :
2016/10/16(日) 22:02:19.33 ID:FoYCot45
>>287
賢いこと言ってるつもりかもしれないけど、そもそも君の言う正しい仕様というのはどういう意味?
そこを具体的に定義しないまま偉そうなこと言っても全部ブーメランだということに気付いてる?
この板で特に定義を明示しないまま「正しい仕様」というと一般的には
漏れなくミスなく実装すれば開発の目的を達成できる仕様ということだろうから
その意味では>>286は正しい
289 :
デフォルトの名無しさん
2016/10/16(日) 22:06:09.37 ID:7MDcSmyp
>>288
既に目的を見失ってるな
問題なのは正しい仕様がなにかではなく
正しさ自体が未定義の状態の事をバグとは言わない
という事なのだが
290 :
2016/10/16(日) 22:12:46.24 ID:skNQwynR
説明下手くそだなー
一緒に仕事してる人がいたら、その人は大変だわ
291 :
デフォルトの名無しさん
2016/10/16(日) 22:17:40.80 ID:7MDcSmyp
てかお前らスキルなくて何も出来てないだけって言われたのが他人事に思えなかっただけだろ
今まで反論の体をなしてるレスは1つもなかったよ
292 :
2016/10/16(日) 22:18:18.14 ID:43exmUNo
それを君が言っちゃうんだ?
293 :
2016/10/16(日) 22:32:36.67 ID:iJDqhd9/
バグというのは仕様書に対して異なる実装が行われた時の動作のこと
仕様が不足しているのは仕様漏れ。仕様バグという言い方もないわけじゃないが方言といっていいだろう
設計レベルの成果物、実装レベルの成果物で何と何が紐づいてるかぐらい
おまえらだって知らないわけじゃないだろう
基本情報レベル、新人教育レベルの常識だ
294 :
2016/10/16(日) 22:38:09.46 ID:skNQwynR
すべての元凶
>バグは紛れこむものでスキルには関係ない
>お前が言っているのはスキル不足による必然的な誤り
295 :
2016/10/16(日) 22:38:42.66 ID:FoYCot45
>>289
だからその正しさというのは一般的には目的を達成できるかどうかでしょ
まあシステムの目的なんて考えずに仕様書の通りにコード書くことだけが仕事の人なのかもしれないけど、
だからって納品時に「仕様書に書いてないからここは空白にしました」なんて言うのか?
そうじゃないとしたらお前は何をもって仕様がおかしいとか抜けているとか判断してるんだ?
結局その物差しは目的だろ
俺が言いたいのは、正しさというものをあえて君が定義しない限りは ID:43exmUNo のように
「目的に合わないのは欠陥」という暗黙の前提で話をしてしまうのはそんなに不自然じゃないだろということ
296 :
2016/10/17(月) 05:17:16.90 ID:kp8H+gVW
昔の、ホストコンピュータな世界ではたしかに、仕様不備(設計ミス)とバグ(コーディングミス)とを分けてた
プログラマは仕様書書かなかった時代の話だ
いまどきその感覚で話してるやつとは、すくなくとも.NET案件は一緒にやりたくないなぁ
297 :
2016/10/17(月) 06:25:20.96 ID:urBt226A
仕様書を書いて顧客に納品する理由は合意形成の意味が大きい
この仕様書の通りに作るけど良いんですよねって念押しするために仕様書を納品する
仕様書を納めた以上は仕様書と違うコードを書いてバグが出たら製造責任
だけど仕様書そのものがバグってるなら合意とってっますよねってゴネることができる
開発はボランティアじゃないからな
コーディングのバグか仕様書のバグかを見極めるのはそういう意味で非常に重要
298 :
デフォルトの名無しさん
2016/10/17(月) 07:11:26.89 ID:0a7DR5WO
お前らどうしても理解できないみたいだな
問題にしているのはそれがバグなのか必然的に動かないだけなのか
動かないものをなんでもバグと言えばいいってもんじゃない
299 :
2016/10/17(月) 08:02:52.00 ID:8eStTtOD
>>298
そんなことを問題にしているのはお前だけ
他はみんな「目的を果たせないのは原因が何であれ欠陥」という前提は常識的に理解している
その責任の所在がどこにあるかは別問題だしこの板で議論することではない
300 :
2016/10/17(月) 10:36:03.32 ID:IiMed3lm
つまらない言葉遊びで
スレ荒らしてんじゃねーよ糞ども
301 :
デフォルトの名無しさん
2016/10/17(月) 12:43:57.00 ID:3c5khzr2
>>299
何故お前ら意味もわからず明後日の方向いた頓珍漢なレスばかりするのか?
それぞれ勝手な方を向いて居ない敵と戦ってるのばかりだよ議論なんかどこにもない
302 :
2016/10/17(月) 18:04:06.90 ID:kp8H+gVW
必然的に動かんとか、仕事うけるレベル以下の話だし
303 :
デフォルトの名無しさん
2016/10/17(月) 18:33:39.09 ID:0a7DR5WO
最初からハッキリそう言ってるんだけどなw
304 :
2016/10/17(月) 20:16:34.68 ID:YnMf2kIz
真面目な話こういう人と同じ現場に回されたらどうすれば良いんだろう
305 :
2016/10/17(月) 21:15:23.73 ID:tlSX7NCP
結局、ただのアスペルガーだったか
現実では絡みたくないわ
306 :
2016/10/17(月) 21:32:08.76 ID:kp8H+gVW
たまに実際に現場にいるからなぁ

俺ならとりあえずバグって言葉を使わないようにするけど
307 :
デフォルトの名無しさん
2016/10/17(月) 21:54:25.47 ID:0a7DR5WO
>>306
どうしてそういう嘘つくのかな?
仕事うけるレベル以下の人が同じプロジェクトで働くなんてありえないよ普通
それともなんか身の丈にあわないプロジェクトに潜りこむ裏技でも持ってるのお前?
そんな事してどんな得があるのかよくわからないけど
308 :
2016/10/17(月) 22:06:51.29 ID:OlRB0UDA
アスペ同士を集めとくと会話がカオスで面白い
309 :
2016/10/17(月) 22:19:04.66 ID:kp8H+gVW
>>307
技術力の足りないやつが現場にいて困るなんて言ってないけど
たまにいて困るのはお前みたいなやつだって話だよ

ああ、お前の技術力が仕事受ける以前だからそう思ったのかw
310 :
2016/10/17(月) 22:22:04.06 ID:tlSX7NCP
>>307
技術力足りないやつなんて腐るほどいるやん
業界の現状をもっと知ったほうがいい
311 :
デフォルトの名無しさん
2016/10/17(月) 22:32:53.21 ID:0a7DR5WO
>>309
だからどうしてそう脊髄反射で頓珍漢なレスすんのかね?
お前が>>306で言ってるのは言われた事がわからなくてもとりあえず相手にあわせるって事だよ
それに対して俺が言ってるのは話が通じない程レベルが違う人が同じプロジェクトで仕事をする事はないって事
つまり俺が「技術力の足りないやつが現場にいて困る」なんて事はありえないと言ってるんだけど
むしろお前がその「技術力の足りないやつ」の立場で言ってるのが>>306なんだよ
少しは考えてものを言う様にした方がいいぞお前
312 :
デフォルトの名無しさん
2016/10/17(月) 22:37:23.00 ID:0a7DR5WO
>>310
つまりお前が考えてるのと同じ事を多分同じプロジェクトのやつらがお前に対して感じてるって事だよ
客観的にレベルが違いすぎる人が同じプロジェクトで働ける事なんてありえないんだから
313 :
2016/10/17(月) 22:42:02.65 ID:tlSX7NCP
>>312
逆に同じようなスキルの人のみで構成される方がレアだぞ
君は新入社員か何かなのかね?
314 :
デフォルトの名無しさん
2016/10/17(月) 22:47:57.62 ID:0a7DR5WO
>>313
きっとお前と俺が考えてる幅が違うんだろうな
そりゃプロジェクト全員がほぼ同じレベルなんて事は現実的に不可能だからある程度の違いは当然あるさ
俺が言ってるのは話が通じない程っていう限定付きだからね
高いか低いかは問わずそこまでレベルが違う人同士が同じ仕事をする事ってないよ
315 :
2016/10/17(月) 22:57:41.88 ID:tlSX7NCP
>高いか低いかは問わずそこまでレベルが違う人同士が同じ仕事をする事ってないよ
あるんだな、これが
自分の話が通じないのを相手のせいにしてる時点でお察しだわ
友達少ないんだろうな・・・
316 :
デフォルトの名無しさん
2016/10/17(月) 23:00:57.79 ID:0a7DR5WO
>>315
いやだから俺は自分のプロジェクトに話が通じない人は居ないと言ってるんだけど?
相手のせいにしてるのはお前なんだろ?お前も頓珍漢なやつだな
317 :
2016/10/17(月) 23:05:24.27 ID:tlSX7NCP
これでアスペルガーって確定したな
周りに迷惑かけないように頑張ってくれよ
318 :
2016/10/17(月) 23:07:39.62 ID:Ds3CMBeV
通じてると思ってるんだね
思うのは自由だけど
319 :
2016/10/18(火) 03:19:21.44 ID:sMICGAt6
人材派遣会社の営業に連れられて、色んなSE・プログラマーが、
会社へ面接に来るけど、たいてい1日も持たない

即、突っ返すのが多い
320 :
2016/10/18(火) 07:36:59.86 ID:12uxO2Uo
一日て
何させてるんだ
321 :
2016/10/18(火) 21:41:02.19 ID:q8Y2lqKG
まぁ簡単に纏めると
「目くそ鼻くそを笑う」というやつだな
322 :
2016/10/19(水) 00:49:29.93 ID:pTqLrw7j
仮にも派遣会社が何人もつれてくるのに、そのことごとくが1日で逃げたすということは
つれてくる人に問題があるんじゃなくて、つれてこられてるところに問題があると判断するのが妥当じゃね
323 :
2016/10/19(水) 20:47:28.18 ID:w4QuZKCO
クソ設計なシステムが大杉な今日この頃

言語など問題じゃない
324 :
2016/10/19(水) 20:59:04.22 ID:arYWyhLn
そりゃコードもろくに書かないような素人が机上の空論を何重にも積み重ねて作り上げた設計をもとに作るものがまともになるわけがないよね
325 :
2016/10/19(水) 21:00:45.97 ID:4EiJpNnx
確かに言語の問題ではないかもしれないな
今javaの仕事場にいるが取り敢えず数千行に及ぶメソッドとかやめて欲しい
VBAですらこんなひどいのは見たことない。
ああ早く辞めたい。
326 :
2016/10/19(水) 21:04:05.09 ID:u8VkfRi+
保守しないシステムなら、適当に作ればいいんやで
327 :
2016/10/19(水) 22:19:41.31 ID:ZxcZNVlw
それをやりすぎて身動き取れなくなったのが日本のIT業界
世界から取り残される
328 :
2016/10/22(土) 01:03:30.18 ID:FTu1fQ9L
適性ないやつは初日に追い返すほうがいい
数週間やった後だとお互いに無駄になってしまう
派遣側からみれば、客であるおまえらにむかって気に入らないから帰るとはなかなか言えない
329 :
2016/10/22(土) 11:57:55.47 ID:T7KUESS5
派遣に限った話じゃないな
適正ない奴はクビにする
これを疎かにすると業界が腐っていく
重要な社会インフラを担う業界が腐れば国が腐るのは東電の件で分かっている筈だ
このまま放置すれば日本は後進国になる
330 :
2016/10/22(土) 12:40:43.34 ID:mCTekUUM
>>329
お前クビ
331 :
2016/10/22(土) 12:48:50.54 ID:qIeZBixA
vb関係ない話を延々と
332 :
2016/10/23(日) 02:57:27.26 ID:1y658jXM
自分のことを棚上げして、他人のことを書いてる人ばっかり・・・
333 :
2016/10/23(日) 11:49:00.91 ID:Bz0B2Q3g
VBで作ったアプリの見た目を変えるのはどうすればいいの?
334 :
2016/10/23(日) 12:10:00.53 ID:LLV8Wwru
WinFormsなら簡単な方法はない
コントロールを全部オーナードローするよりはWPFやASP.NET MVCでGUIを作り直した方がマシ
335 :
2016/10/23(日) 20:05:42.68 ID:VycPUQK1
strict offのVB.NETのプロジェクトでstrict onにした時にctype系の修正だけでも
一気にやってしまうことってできないでしょうか?
一個一個直すのが大変で。
336 :
デフォルトの名無しさん
2016/10/23(日) 22:54:07.00 ID:Pb3uCFNH
strict onにしてもキャストが多いままだったらあまり意味がないよ
素直にoffにしとけば?
337 :
2016/10/23(日) 23:12:43.14 ID:VycPUQK1
意味ないのですか
じゃあoffのままでいいかな
338 :
2016/10/24(月) 00:00:16.72 ID:b4iOClrl
無くはないでしょ
いかに糞コードかが視覚的にわかるだけでも反省のきっかけになる
339 :
2016/10/24(月) 00:14:16.06 ID:Bv6qLW9F
パフォーマンスが良くなったりはしませんか?
340 :
2016/10/24(月) 06:00:21.39 ID:w9tXiXLn
むしろ悪くなる
341 :
2016/10/24(月) 07:54:35.54 ID:pChB0rwr
!?
悪くなるんですか
342 :
デフォルトの名無しさん
2016/10/24(月) 08:04:52.19 ID:jSed6172
な訳ねーだろだまされんなw
343 :
2016/10/24(月) 09:04:19.86 ID:pChB0rwr
byrefの引数までctypeされちゃって動かなくなりました
344 :
2016/10/24(月) 09:20:41.69 ID:++IEAJ3W
document completeイベントなどのイベントってCPU負荷が大きくなったときに
発生したりしなかったりという現象がおこる原因のひとつになりえますか?

win10 i7-2600k メモリ:16GBで
タスクマネージャーでしばらく見ていると平均でCPU負荷が60-70%以上あり、
時々95%を超えていたりします。

うまく動かないときがあるのであるので、document completeイベントを拾ってる箇所に
デバックログを取ってみると、出ているときと出ていないときがあり、なかなか原因が
特定できません。

navigatingイベント、navigatedイベントまでは出て、document completeイベントが出ていない
という状態です。
345 :
2016/10/24(月) 12:36:07.42 ID:83bvzfHf
>>341
悪くなるよ
無意味なボックス化アンボックス化や変換が発生する
346 :
2016/10/24(月) 12:38:57.71 ID:csInVVUs
>>345
それはキャストや変換を明示的に行おうが暗黙だろうが同じこと。
明示的にキャストや変換したらコストが高くなるとかそんなわけないでしょw
347 :
2016/10/24(月) 12:41:53.82 ID:b4iOClrl
>>345
Strict Offが無駄な変換やボックス化をしてないとでも?
前後の型が分かってれば高速に変換できるケースは多いぞ
348 :
2016/10/24(月) 12:47:19.62 ID:b4iOClrl
>>346
たぶん345は値の読出元と変換後の代入先の型がObjectならアンボックス化やボックス化が発生しないと思ってるんだろ
実際には、値の型で分岐→アンボックス→変換→ボックスという極めて非効率な操作になる
349 :
2016/10/24(月) 12:47:40.07 ID:83bvzfHf
>>346
objectからobjectへの代入にキャストを挟むと遅くなりますよ
350 :
デフォルトの名無しさん
2016/10/24(月) 19:43:19.47 ID:e8s5GSpS
それぞれがギリギリのラインで知ってる事を言いあってるだけだから会話としては成り立ってない
351 :
2016/10/24(月) 20:33:38.21 ID:YenCzEnx
とりあえずCtypeよりはDirectCast使おうよ。
暗黙の変換を行うつもりは無いんでしょ?
352 :
2016/10/25(火) 19:52:34.47 ID:/tmEVYbK
Ctypeでも状況によってはDirectCastと同じコード吐くらしいけどな
VB.NETのコンパイラさんは結構がんばってるぜ
353 :
2016/10/26(水) 00:46:20.68 ID:+x2Xcmzl
そんなにキャストって使う?
tryparseすら使わんのだが
使うとしたらDirectCast(sender, コントロールの型)
くらいだわ
354 :
デフォルトの名無しさん
2016/10/26(水) 01:38:21.10 ID:LebVIXiL
キャストの話題でなぜ突然tryparseすらという言葉が出てくるのか謎なのだが
vbだと文字列を数値として評価するような事もキャストって言うの?
355 :
2016/10/26(水) 01:56:35.02 ID:KQmoHA4r
テキストボックスやSPREADに表示用の値をよく代入するから
キャストは頻繁に行う
また、カンマ区切りの数字を取得するのはキャストとはまた微妙に違うがけっこう面倒臭い
356 :
2016/10/26(水) 02:02:30.25 ID:McM6fVIv
toStringじゃなくて?
357 :
2016/10/26(水) 02:17:47.08 ID:Hu8g6Oi9
>>354
C系言語もその辺はいい加減だと思うよ。
例えば
int x = (int)3.14;
は普通に考えれば変換だけど構文はキャストそのものだし普通にキャストと呼ぶでしょ?
358 :
デフォルトの名無しさん
2016/10/26(水) 06:48:15.05 ID:LebVIXiL
>>357
キャストって型変換の事だが
むしろそれがキャスト
359 :
2016/10/26(水) 08:26:59.08 ID:KQmoHA4r
>>356
toStringが定義されてたらいいけど
どういう振る舞いをするのか確認するのも面倒なので
CTYPEやCINTあたりを使ってるよ
DirectCastのほうがミスを減らすためにもいいんだろうなぁ・・・
360 :
2016/10/26(水) 08:35:34.34 ID:KQmoHA4r
ちょっと真面目な質問したいんだけど
DirectXのDLLってどこいったの?
参照の追加をしようと思ったら見当たらない
361 :
2016/10/26(水) 09:17:41.37 ID:Zw4eFAd1
もうなくなったよ
SlimDXとかSharpDXとか使おう
ゲーム制作ならもうUnityで
362 :
2016/10/26(水) 09:42:18.55 ID:EekeRq3r
>>358
本来のキャストはCで言えばポインタ変換だけ
363 :
デフォルトの名無しさん
2016/10/26(水) 12:33:23.43 ID:wESs4v7p
>>362
それも誤解
directcast見てそう思ったのだろうけど
型変換は全てキャストだし逆に型変換でないものはキャストではない
本来とかそういう問題でもない
364 :
2016/10/26(水) 12:56:23.78 ID:EekeRq3r
>>363
言っちゃ悪いけど、それお宅がキャストと変換の区別がついてないだけね。

計算機にとっては文字列の"123"をintの123にするのも、doubleの3.14をintの3にするのも
同じ「変換」だが、Cでは後者だけがキャストの扱いになっていて混乱している。
365 :
2016/10/26(水) 13:35:43.91 ID:G6/jtze7
Cの議論は他でお願いします
366 :
デフォルトの名無しさん
2016/10/26(水) 19:32:18.87 ID:LebVIXiL
>>364
vbしか知らないのに無理してcで例えなくてもいいよw
ちなみに
キャストは型変換であり、変換ではない
文字列→数値の場合文字列の表わす値を数値として評価しているのであり、変換ですらない
二重に間違ってるよお前
367 :
2016/10/26(水) 19:56:05.00 ID:Kd62j3g9
>>366
お前さんのやってることは変換を評価と言い換えただけ。
そういうのを言葉遊びという。馬鹿じゃないの。

(1) ポインタ変換
(2) double→intの変換
(3) 文字列→intの変換

(1)と(2)の間の差異は(2)と(3)の間の差異より大きい。

(1)は呼び名こそ「変換」となっているが、実際は単にコンパイル時にどの型として扱うかを変更しているだけで
実行時のメモリー上のデータは何も変わってないからだ。

本来のキャストとはこの(1)だけを指す。
368 :
デフォルトの名無しさん
2016/10/26(水) 20:07:53.96 ID:LebVIXiL
>>367
いやだから型変換だってばw
せっかく教えて貰ってんだから素直に聞けばいいだろw
そのオレオレ理論を意固地に貫いてもお前に何のメリットもないよ
369 :
2016/10/26(水) 21:02:06.42 ID:X0t3H/iP
おまいら根拠にしてるソースURLなり書籍名なりplz

出せずに慣例だの常識だので曖昧に誤魔化して逃げる俺様定義絶対合ってる匿名マンなんてただの荒らしでしかない。
スルーして過疎スレに戻ろうず
370 :
2016/10/26(水) 21:59:35.35 ID:QysY5RXf
>>367
クソワロタwww
371 :
2016/10/26(水) 23:28:49.10 ID:KQmoHA4r
ポインタ変換って何なんだ?
ググっても全くヒットしないんだがコンパイラ業界では隠れた隠語なのか?
372 :
2016/10/27(木) 00:26:42.82 ID:i508Z9Hm
しつこいな
373 :
デフォルトの名無しさん
2016/10/28(金) 00:19:57.23 ID:8f+wXH5p
マジレスすると
キャスト(cast)は変換や型変換のことじゃないよ
英単語としてのcastの意味のそのまんまの「配役、役の割り当て」って意味だよ
374 :
2016/10/28(金) 00:30:05.75 ID:5ko2vSX6
>>373
真面目に言ってそうで怖いなw
さすがVBer
375 :
2016/10/28(金) 12:39:29.03 ID:4C9WQUMb
なんでVBの拡張メソッドはModuleなんだ
グローバルメソッドとしても使えちゃって気持ち悪いんだが
376 :
2016/10/28(金) 12:51:16.32 ID:GTOY14JQ
VBはそういうの気にしない人向けの言語なので
377 :
デフォルトの名無しさん
2016/10/28(金) 20:11:10.63 ID:wjrX//6G
たかだか記法の問題をいちいち気にする方がどうかしてる
378 :
2016/10/28(金) 20:42:45.43 ID:ch5b/kiY
>>377
たかが記法の問題?本当にそう思う?
名前空間汚染の問題と単なる記法の問題の区別がつかないのがVBerらしいね
379 :
デフォルトの名無しさん
2016/10/28(金) 21:17:37.68 ID:wjrX//6G
>>378
グローバルな識別子=汚染
ではないのだよ
「汚染」てのはライブラリが定義する意図しないグローバルな識別子が問題になるから
悪意を込めて使う言葉で自分で定義したりそれを望む場合には汚染て言葉は使わんよw
字面だけでなくちゃんと言葉の意味を覚えてから使おうね
380 :
2016/10/28(金) 21:24:21.37 ID:1gzGBtQ8
>>379
プログラム作ってるのがお前だけならな…
381 :
2016/10/28(金) 21:34:22.91 ID:8wjGwqyI
>>379
同意ですね
382 :
2016/10/28(金) 22:00:09.91 ID:684gpVHK
VBerって言いたいだけやろ
383 :
2016/10/28(金) 22:55:03.12 ID:ch5b/kiY
>>379
VBerは揚げ足取りしかできないのか
仮に汚染という言葉が不適切だったとしても単なる記法だけの違いではないのは確かだろ?
別に俺はモジュールは名前空間を汚染するから如何なる場合でも使うなと言っているわけじゃなく、
それが問題になるケースはあるから単なる記法の問題ではないと言っているだけだ
実際>>375は気持ち悪いと言っているのだから少なくとも>>375にとっては「汚染」だろう
384 :
2016/10/29(土) 00:37:53.79 ID:vKDUHJSk
汚染の定義と使用法はどうでもいいんだが
グローバルメソッドの定義を教えてくれ

拡張メソッドが通常のメソッドとして呼び出せることが問題だっていうならわかるが
C#の拡張メソッドだって、利用可能な名前空間内に存在する必要があるわけで
モジュールうんぬんは意味がわからん
385 :
2016/10/29(土) 00:57:42.29 ID:9Fs7N4rN
VBのモジュル内のメソッドはグローバル
クラス内の静的メソッドみたいにクラス内の名前空間内に存在しているわけではない。

まあ、ラムダ式といい、もう2008以降はVB使わない方がいいよっていうメッセージでしょ。
少なくとも俺はそう受け取って2005まででVBは見限った
386 :
2016/10/29(土) 01:22:39.12 ID:vKDUHJSk
>VBのモジュル内のメソッドはグローバル
そのグローバルの意味が分からんのだが?
VBだとデフォルトでプロジェクト名の名前空間内に属してるはずだが
その名前空間を超えると?
387 :
2016/10/29(土) 02:08:01.24 ID:9Fs7N4rN
正直長年VB使ってた中で一度もモジュールなんて使ったことなかったけど、
一応モジュールも名前空間の中(ルート名前空間に限らず)に定義できるんだな。

それはいいけど、モジュール自身が名前空間を構成しないから、
そのメンバーはモジュールが存在する名前空間を参照しただけで丸見えになっちゃうわけで
普通に考えれば拡張メソッドはC#と同様に静的クラス(VBにはないけど)に定義する方がよかったね
388 :
2016/10/29(土) 07:10:41.84 ID:ddj4bzvw
>>384
モジュールはそれを含む名前空間をImportしただけ(or 同じ名前空間にあるだけ)で
モジュールのメンバが全てトップレベルのスコープにインポートされるだろ
拡張メソッドは オブジェクト.メソッド名 の形式でしか呼び出せないから、
トップレベルで参照可能な名前が増えるわけではなく影響は小さい
C#は最近のバージョンで using static が入ってクラスのstaticメンバをトップレベルにインポートできるようになったが
名前空間単位ではなく対象のクラス名を直接指定しなきゃいけないからやはりモジュールに比べれば影響は小さい
389 :
2016/10/29(土) 08:03:59.22 ID:UEy06zu0
先頭にusingが列挙してあるC#のソースの見づらさと言ったら
しかも書いた人によってか、usingの羅列が違うという
390 :
2016/10/29(土) 08:14:31.49 ID:ddj4bzvw
VC#には 未使用のusingの削除・整理 という機能があってだな
それでも見づらいようなロクに責務分割できてない長大なコードなら
usingが無かろうが見づらいから安心しろ
391 :
2016/10/29(土) 09:08:07.61 ID:ov/h/7tc
そういや参照の自動削除機能がなくなったな
あれ便利だったのに
392 :
2016/10/29(土) 10:30:39.20 ID:dpmyBZLi
Moduleがないとリプレースしたときにお客様がModuleがClassに変わってるんですけど使いにくいんですけどってご立腹なさるのでModuleは必要
393 :
2016/10/29(土) 11:44:59.26 ID:cpi9mNqo
>>389
そこは(普通のプログラマが普通にプログラミングしてれば)VB使っても同じになるはずなんだけどw
むしろあんたはどういうコード書いてるのかとw
394 :
2016/10/29(土) 19:48:16.97 ID:wsj9Hrl0
>>389
羅列が違うって何?
395 :
2016/10/29(土) 20:01:25.49 ID:3eGSrWP/
>>394
using の順番
396 :
2016/10/29(土) 20:16:52.74 ID:ddj4bzvw
>>393
ところがVBには、プロジェクトの設定で指定した名前空間を全てのソースで暗黙的にImportするというゴミのような機能がある
397 :
2016/10/29(土) 21:11:12.71 ID:wsj9Hrl0
>>395
そんなもん自動で揃えられるだろ
398 :
2016/10/29(土) 22:52:27.70 ID:UEy06zu0
>>396
そのほうが自然じゃないのか
プロジェクト内のソースごとにまちまちなほうが違和感を感じるが
399 :
2016/10/29(土) 22:59:38.63 ID:wsj9Hrl0
>>398
ゴミキタ━━━━(゚∀゚)━━━━!!
400 :
2016/10/29(土) 23:03:06.39 ID:i+DlxK4w
コードをプロジェクトの外に持ち出したら何が書いてあったかわからなくなるというほかは
デメリットが思いつかない
401 :
2016/10/30(日) 00:15:39.58 ID:oo8ByUW6
>>399
おれ、いつも System.Linq だけ有効にして、残りは切って使ってるので
一括して名前空間の設定が出来て便利

usingのほうが不便
402 :
2016/10/30(日) 00:21:18.07 ID:payAbzEM
>>401
他は全部明示的にImportしてるってこと?
お前完全にusing派だろw
403 :
2016/10/30(日) 00:27:55.69 ID:ALtsNIP3
>>396
ああ、そういやそんな機能あったね

BCLのほとんど必須の名前空間だけならありかなとも思うけど、
コード上に明示されないのはやっぱり気持ち悪いな

VBはあの有難迷惑のルート名前空間も鬱陶しいね
404 :
2016/10/31(月) 16:51:00.87 ID:jCI7ny/t
ディクショナリーのキー取得時に dicHoge.Keys(intIndex) の様に書くと
VisualStudioでは問題無いのに、ideone上でエラーになってしまいます。
何か他に書き方があるのでしょうか?
405 :
2016/10/31(月) 17:17:30.13 ID:OqD2s4Cc
うわ何これキモい
暗黙にElementAtOrDefaultに変換するのか

教科書的には
Dictionaryは順番を持たないコレクションだからインデックスでアクセスするのは変
406 :
2016/10/31(月) 17:35:37.71 ID:SAEZOlIl
別にキーで要素を検索できることと要素が順序を持つことは何も矛盾しないと思うけどねw
407 :
2016/10/31(月) 17:40:32.47 ID:OqD2s4Cc
うん、確かにそれはなにも矛盾してないね
408 :
2016/11/02(水) 06:49:35.74 ID:/u8gEGW5
DelegateなメソッドをInvokeで呼ぶときに引数って渡せないのでしょうか?
409 :
2016/11/02(水) 06:57:27.71 ID:2fBE4wO9
渡せる
410 :
2016/11/02(水) 06:58:55.82 ID:/u8gEGW5
>>409
助かりました。
411 :
2016/11/02(水) 08:50:07.47 ID:t5KdzDu6
VB久しぶりに触る機会があったけどc#よりちょびっとインテリセンスが馬鹿じゃないか?って感じた
412 :
デフォルトの名無しさん
2016/11/03(木) 14:55:47.96 ID:8QV9xAcD
>>411
気のせいだよ。
それより末尾に";"つける癖から早く卒業しましょう。
413 :
2016/11/03(木) 15:08:37.98 ID:I4v6hDq5
すぐ上の話題で答え出てるじゃん
ソースのトップレベルに出現する可能性のある識別子の数がC#に比べて遥かに多いからだよ
モジュールと既定のインポートのせい
414 :
2016/11/07(月) 19:08:16.41 ID:CxfskhGH
誰かいる? 質問良いですか?
今RichTextBox派生のカスタムコントロール作ってて、
ちょっと詰まってる所があるから詳しい人教えてほしい
415 :
2016/11/08(火) 00:51:44.51 ID:ysYQgtdr
質問いいですか?と聞いておきながら質問しないアホ発見
416 :
2016/11/08(火) 01:46:02.67 ID:/yxQhcwh
すごいこと質問していい?
417 :
2016/11/08(火) 02:11:19.46 ID:crOcTVn5
誰も居ないのかと思った。質問して良いなら質問させてもらいます

当方、数か月前からVB.NETを始めた初心者なので、
コードが意味不明とか手法が悪いとかあれば、それも含めて指摘頂けるとありがたいです

RichTextBoxにOnPaintで文字を描写しようとして試行錯誤してるんですが、
WndProcでIMEを監視して、変換が確定するまでの間OnPaintが動作しないようにする事で、
都度TextChangedで日本語の文字入力の確定はされないようにできたんだけど、
今度はIMEに入力中の文字が真っ白で表示されない

なので、入力中の文字を表示するのに、
ImmGetCompositionStringで取得した文字をDrawStringで書いてみようかなと思っているのですが
取得が上手くできません
418 :
2016/11/08(火) 02:13:54.72 ID:crOcTVn5
WndProc内で、

Select Case m.Msg
Case WM_IME_STARTCOMPOSITION
ForIME = True

Case WM_IME_ENDCOMPOSITION
ForIME = False

Case WM_IME_COMPOSITION
If (CUInt(m.LParam) And CUInt(GCS_COMPSTR)) > 0 Then
Dim intLength As Integer
Dim Imc As IntPtr = ImmGetContext(Handle)

intLength = ImmGetCompositionString(Imc, GCS_COMPSTR, Nothing, 0)
Dim IMEstr As StringBuilder = New StringBuilder(intLength)

ImmGetCompositionString(Imc, GCS_COMPSTR, IMEstr, IMEstr.Capacity)

ImmReleaseContext(Handle, Imc)
End If
End Select

こんなかんじで書いてみているのですが、
intLength = ImmGetCompositionString(Imc, GCS_COMPSTR, Nothing, 0)
↑この部分でDLL 'imm32.dll' の 'ImmGetCompositionString' というエントリ ポイントが見つかりません。というエラーが出てしまいます。
419 :
2016/11/08(火) 02:15:58.84 ID:crOcTVn5
ImmGetCompositionStringは、
Private Declare Function ImmGetCompositionString Lib "imm32.dll" (ByVal hIMC As Integer, ByVal dwIndex As Integer, ByVal lpBuf As StringBuilder, ByVal dwBufLen As Integer) As Integer
と宣言しています。
420 :
2016/11/08(火) 02:21:59.90 ID:KFsAZFmi
>>419
テキトーに答えるけどとりあえずハンドルはIntPtrでないとダメでしょう
421 :
2016/11/08(火) 02:35:47.42 ID:crOcTVn5
他の、ImmGetContext等のhWndが入る部分はIntPtrにしているのですが……(+_+)

Private Declare Function ImmGetCompositionString Lib "imm32.dll" (ByVal hIMC As IntPtr, ByVal dwIndex As Integer, ByVal lpBuf As StringBuilder, ByVal dwBufLen As Integer) As Integer
これでもエラーが出るみたいです
422 :
2016/11/08(火) 03:01:24.83 ID:crOcTVn5
やばい寝落ちそう……

質問板は出した質問は絶対閉めろというルールがある場所多いですがここはどうなんですかね?

1時間くらいは粘りたかったけど、眠いのでいったん引き上げます
もう一回試行錯誤して、どうしても駄目ならまた改めて来ます
>>420さん答えてくれてありがとう
423 :
2016/11/08(火) 07:24:04.77 ID:Tr1jXB8d
Windows NT/2000 は Unicode 版と ANSI 版を実装
424 :
2016/11/08(火) 07:25:30.64 ID:Tr1jXB8d
そもそも「エントリ ポイントが見つかりません」の意味分かってる?
425 :
2016/11/08(火) 07:35:37.22 ID:ic1oOtKi
そもそもRichTextBoxにOnPaintで文字を描写って意味がわからん
それRichTextBox使う意味あるのか?
426 :
2016/11/08(火) 07:49:06.42 ID:Iqb/ffmt
近年、若者のエラーメッセージ離れが深刻な問題になっています
427 :
2016/11/08(火) 09:05:00.96 ID:crOcTVn5
おはよう

うーん、わかるかどうかと言われれば微妙なので調べながらやってんですが、
スペルミスかなと思ったけど違うみたいで
関数の大文字小文字の違いって可能性もあるんですね。
後で時間できたら見てみよう……

>>425
ルーラや行番号や空白や改行等の特殊文字が表示されて、
かつ文字色も変えられるようなテキストエディタが作りたくて

普通は違うのでやるんですかね? 例えばPictureBoxに描くとかですか?
もっと効率良い方法とかってあります?
428 :
2016/11/08(火) 09:38:24.41 ID:+DS6ozoh
オープンソースのエディタのソース読んだ?
話はそれからだ
429 :
2016/11/08(火) 10:18:57.02 ID:Tr1jXB8d
>>427
imm32.dllの中にImmGetCompositionStringが無いよって言ってるんだから
ImmGetCompositionStringAかImmGetCompositionStringW探せって言ってるんだけど…
430 :
2016/11/08(火) 11:11:17.92 ID:crOcTVn5
Declare Function ImmGetCompositionString Lib "IMM32" Alias "ImmGetCompositionStringA" (ByVal hIMC As Integer, ByVal dwIndex As Integer, ByVal lpBuf As StringBuilder, ByVal dwBufLen As Integer) As Integer
に変えたら解決しました。ありがとうございます(*^-^*)

>>428
なるほど、確かにそうやって勉強できますね!
探してみます。ありがとう
431 :
2016/11/08(火) 11:49:04.58 ID:h2p8PH96
ん?
いちいちAとかWとかつけなくても自動的にUnicodeバージョンが選択されるように
なってるはずだと思ったけど、VBは違うのか?
432 :
2016/11/08(火) 12:11:48.40 ID:h2p8PH96
DllImport使わずにDeclareなんてVBのレガシー機能使ってるからかな。
ちなみに、デフォではANSIバージョンが選択されるんだな記憶違いだった
433 :
2016/11/08(火) 13:57:55.49 ID:VtVauF4w
わざわざAliasなんて付けるから自動選択が働かない
なんでか知らんけどDeclareのサンプルはほとんどAlias付けてるんだよな
VB6だと必須だったのかね?
434 :
2016/11/08(火) 15:14:26.16 ID:Tr1jXB8d
>>433
付けないとエラーになるっつってんだろ
435 :
2016/11/08(火) 15:23:43.48 ID:VtVauF4w
あ、ごめん
Declare Autoにした場合のみだったのね
436 :
2016/11/08(火) 20:21:53.56 ID:t3tssHtU
デフォはどっちかすぐ忘れるから明示する
437 :
デフォルトの名無しさん
2016/11/09(水) 00:41:48.78 ID:NSJDTbF5
>>416
駄目です。
438 :
2016/12/06(火) 23:28:37.80 ID:qDbNXMxz
テキストボックスとかコントロールをコピーしたいんだけど、簡単にできませんかね?
439 :
2016/12/07(水) 00:48:28.39 ID:wAmrJ/1m
ctrl-c、ctrl-v じゃあかんの?
440 :
2016/12/07(水) 00:59:33.95 ID:SEeb/ONi
すいません、インスタンスをコピーです
441 :
2016/12/07(水) 02:09:55.02 ID:fOypxOSG
>>438
簡単にできる
http://ideone.com/ZFaUb7
442 :
2016/12/20(火) 21:56:31.88 ID:f9HTxJj+
データベースから大量のデータを取得するときってDataTableとDataReaderどっちがいいの?
443 :
2016/12/20(火) 22:13:21.49 ID:wmh5vlKz
DataTableはオンメモリだから処理できるデータ量には限界があるし、
DataTable.Loadだと全部のロードが終わるまで処理を始められないので
ロード中のIO待ちの時間が無駄になる。
もし大量データ処理時のメモリ使用量やスループットが問題になっているなら
DataReaderでストリーミング処理することで性能を大幅に改善できるはず。
444 :
デフォルトの名無しさん
2016/12/20(火) 22:40:05.78 ID:gUOuUtAj
youtubeを開くと
一番上の検索ボックスがさ
入力無しだとグレイ文字で検索って表示されてて
(この検索文字にカーソルは移動しない)
何かを入力するとグレイ文字が消える
これってどうやって実装するんすかね?
パッと思いつかんのだが。。。
445 :
デフォルトの名無しさん
2016/12/20(火) 22:43:07.08 ID:TSG9jdVQ
パッと思いつかん時はジックリ考えろ
それでも思いつかんかったらソープ行け
446 :
2016/12/20(火) 23:12:04.98 ID:wmh5vlKz
>>444
HTMLのplaceholderだよ
447 :
2016/12/20(火) 23:16:47.98 ID:gUOuUtAj
>>446
ありがとう
知らんかったわ
勉強になった

vbでも実装できないかな?
448 :
2016/12/23(金) 17:17:30.06 ID:89cvwMZr
時々テキストボックスを監視して、空の時だけ重ねた別のテキストプレーンにSearchとか表示させるとか…
他にも色々方法はあるやろ
449 :
2016/12/23(金) 17:58:29.05 ID:89cvwMZr
言った手前
Private Sub TextBox1_TextChanged(sender As System.Object, e As System.EventArgs) Handles TextBox1.TextChanged
If textBox1.Text = "" Then
textBlock1.Text = "Search"
Else
textBlock1.Text = ""
End If
End Sub
450 :
2016/12/23(金) 18:19:03.14 ID:jhZLEzKr
カレットが入るまでは淡色の文字表示しとってカレットが入ったら背景画像に差し替える
文字が入ったら白背景とかw
451 :
2016/12/29(木) 07:29:02.60 ID:qvNXwZDz
データベースをアクセスするプログラムってACCESS以外は、埋め込みSQLとC言語を使ってUNIX上でしかやったこと無いロートルですが、
VB.NETでDBアクセスって今は何が主流なん?
ADO.NET関係の書籍って、アマゾンでも結構古いのが多いんだけど、ADO.NETって過去の遺物なん?
452 :
2016/12/29(木) 07:50:42.07 ID:HW4fqFSE
SQLServerならばADO.NET
OracleならODP.NETだな
453 :
2016/12/29(木) 11:13:15.20 ID:BD9K+jOv
ADO.NETは過去の遺物だけど現役だよ
新機能の拡張が期待できないってだけ
Entity FrameworkやサードのフレームワークもADO.NETに依存してる
ADO.NETは抽象的なフレームワークで実装はプロバイダごとに異なる
MSならSqlClient、OracleならODP.NET、ポスグレならNpgsql
ODBCドライバやOleDbドライバ用の実装もある
454 :
2016/12/29(木) 11:15:53.14 ID:KEC+z4ay
>>441
コピーできましたが、コンボボックスのデータソースなどがコピーされませんでした。
完璧に同じ物をコピーすることって簡単にできないでしょうか? 
455 :
2016/12/29(木) 11:42:16.70 ID:/FtNyMoj
俺はSQLite使ってる
456 :
2016/12/29(木) 17:42:29.56 ID:qvNXwZDz
>>452>>453
d。
かなり古い書籍だけど教科書としては十分といことですね。
何冊か尼でポチってみます。
457 :
2016/12/29(木) 18:11:55.59 ID:ICm4kcbN
今時ADO.NETなんて括りに意味はないぞ
Entity FrameworkとかもADO.NETに含まれているらしく、
もはや「.NETのデータベース関連の機能」というだけのふわっとした総称でしかない
単純に低レベルAPI使って普通にSQL投げたいだけならDbConnectionのあたりを適当にググれば十分
458 :
2016/12/29(木) 19:04:08.62 ID:qvNXwZDz
>>457
トランザクションもできるんですね。
今やろうとしてるのには十分そうです
459 :
2016/12/29(木) 20:37:49.89 ID:KEC+z4ay
ストアドパッケージ使ってるとEntity Frameworkを使う気になれない
460 :
2017/01/02(月) 12:24:29.63 ID:sj4687w4
VBに限らずだけど、ORMっていうの?オブジェクトに対してSQL生成してくれる
機能あるけど、SQL書かないってそんなにメリットあるんですかね?
複雑なSELECT文ならORMでは対応しずらいので結局SQL書くだろうし、その他の
INSERT・UPDATE・DELETE・MERGEなんてバリエーションが限られるだろうから、
テーブル名と列名さえあれば、ExcelVBAとかVBSとか自作VBツールとかで自動生成可能なはず。

「SQL書いてないけど、Insertできたよ!」っていうコーディングの感覚は
実際にやってみて新鮮だったけど、Insert文ぐらい書けよ、とも思う。
461 :
2017/01/02(月) 12:28:47.75 ID:ukc00ODR
中途半端なORMはいらんよね。
462 :
2017/01/02(月) 14:08:47.76 ID:CPceoiNS
>>460
DRY
ツールで自動生成するんならORMでもいい、生成されたSQLを管理しなくて済む、と考えることもできる
自動生成は生成物を直接弄らないことを徹底できるならいいけど、大抵は自動生成コードが独り歩きして破綻する
そうして変更時の修正箇所がどんどん増えてくんだよ
463 :
2017/01/02(月) 16:02:44.86 ID:CCmbcSgt
460です。

>>462
すみません、「自作ツールで自動生成」って紛らわしいこと書いちゃったけど、
VB側にSQLを記述する(=SQLを構築するのSharedなFunctionをたくさん作る)ってのが
前提にあって、INSERTとかは手打ちするのもアレだから自作ツールにSQL生成させて
それをVBなりPHPなりJavaなりで使えるようにテキストエディタのキーマクロでも使って編集し、
そいつをコピペする、ってことです。
なので、「SQLを管理しなくて済む」というより「しっかり管理したい」
ということなんですね。

で、この手順なら(Select以外の)SQLをPG言語側のソースに落とし込むのに
少なくとも手打ちよりかはスムーズにできるので、今更言語側でブラックボックス化
してもらう必要ないのに、と思うわけであります。

まぁうちの案件規模が小さいからそう思えるのかも。
464 :
2017/01/02(月) 16:07:50.85 ID:CPceoiNS
>>463
世の中には、コードの重複を極力避けて変更しやすくするという開発スタイルもあるんだよ
VBにあるかは疑問ではあるけど
465 :
2017/01/02(月) 16:17:05.07 ID:icN3LuLp
最初のだけ自動生成すればええんやで
修正時は全部手で作ればええんや
466 :
2017/01/02(月) 16:30:50.83 ID:CPceoiNS
ORMの意義はSQLコマンドを生成することよりもむしろ
テーブルの行とオブジェクトをマッピングすることにある
いちいちカラムとプロパティの対応付けを猿のように手書きしなくても
自動でやってくれるツールだと割り切って使えば悪いもんじゃない
467 :
2017/01/02(月) 16:45:34.53 ID:GHxiRgy/
EFって綺麗にモデリングされてる前提じゃないの?
正規化やキー設定もまともにできない我々日本人には厳しいと思う
ダラダラ残業して腐ったスキーマに愚痴言いながら頭悪いSQL書いてDapperで手軽にタイプセーフにするぐらいがちょうどいいよ
468 :
2017/01/02(月) 17:19:12.57 ID:CCmbcSgt
>>466
>いちいちカラムとプロパティの対応付けを猿のように手書きしなくても

これに関してはリフレクションを使えば解決するかなと。
469 :
2017/01/02(月) 17:22:48.96 ID:mABnUerH
>>468
クエリもマッピングも自動化したら、それはもうORMだろ
お前は自分自身でORMが必要という結論に達したわけだ
470 :
2017/01/02(月) 18:09:41.42 ID:vlUjiKZm
>>460
ORMは、RDBのデータをオブジェクトとして使うためのものだ
SQL書かなくていいのは必要な結果に過ぎない

つかインピーダンスミスマッチでググれ
471 :
2017/01/02(月) 22:21:51.15 ID:51wJDYeu
めんどくさいからシリアライズしてBlobにぶち込んでやる
472 :
デフォルトの名無しさん
2017/01/08(日) 15:10:33.24 ID:mLyjhJYP
C#スレのVBキチガイはよ引き取って
VB.NETerってガイジしかいないのか?
473 :
2017/01/11(水) 00:13:49.51 ID:VkQ91OHA
はい
ガイジしかいないので
こっちには来ない方が身のためですよ
474 :
デフォルトの名無しさん
2017/01/19(木) 16:24:13.54 ID:OuvvCRzR
ああああああああああああああああああああああああああああ
あいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい

うううううううううううううううううううううううううううううううううううううううううううううううう

ええええええええええええええええええええええええええええええええええええええええええええええ
475 :
デフォルトの名無しさん
2017/01/19(木) 16:32:49.65 ID:NUbhUDcn
ああああああ
476 :
デフォルトの名無しさん
2017/01/19(木) 16:33:24.09 ID:NUbhUDcn
ああああああああああああああああああああああああああああああああああああ
477 :
デフォルトの名無しさん
2017/01/19(木) 16:34:28.71 ID:NUbhUDcn
あああああああああああああああああああああああああああああああああああああああああ
いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい
うううううううううううううううううううううううううううううううううううううううううううううううううううううううう
ええええええええええええええええええええええええええええええええええええええええええええ
おおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおお
かかかかかかかかかかかかかかかかかかかかかかかかかかかかかかかかかかかかかか
きききききききききききききききききききききききききききききききききききききききききききき
くくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくく
けけけけけけけけけけけけけけけけけけけけけけけけけけけけけけけけけけけけけけけけけ
こここここここここここここここここここここここここここここここここここここここここここここここ
http://http://http://http://http://http://http://http://http://http://http://http://http://http://
478 :
デフォルトの名無しさん
2017/01/19(木) 16:36:20.68 ID:NUbhUDcn
あああああああああああああああああああああああああああああああああああああああああ
いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい
うううううううううううううううううううううううううううううううううううううううううううううううううううううううう
ええええええええええええええええええええええええええええええええええええええええええええ
おおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおお
479 :
デフォルトの名無しさん
2017/01/19(木) 16:36:42.86 ID:NUbhUDcn
480 :
デフォルトの名無しさん
2017/01/19(木) 16:38:00.89 ID:C+ssGhBJ
481 :
デフォルトの名無しさん
2017/01/19(木) 16:38:48.36 ID:C+ssGhBJ
482 :
デフォルトの名無しさん
2017/01/19(木) 16:39:02.17 ID:TQyidl81
483 :
2017/01/20(金) 21:19:52.47 ID:rk0wOt7y
My.Computer.FileSystem.WriteAllText  連続で使うとだめなのかなぁ。
30行目あたりでロックかかったまま、削除もできない。
484 :
2017/01/20(金) 21:53:51.85 ID:gkjLNWs8
Fileクラスの方のWriteAllTextを使ってみたら?
Myは基本的に糞なので、使う前に標準の.NETのAPIで同じようなのがないか確認したほうがいいよ
485 :
2017/01/21(土) 16:11:14.78 ID:q70X02VY
Fileクラス側を使ったらうまくいった! 
今回はたまたま見つけたからいいけど、見逃してたらわからないかも・・
486 :
2017/02/03(金) 20:50:22.69 ID:IoUjw6fZ
VB2010で作ったやつが↓の3ソフトでことごとくウィルス判定されるんだが・・・どういうこと?
Bkav:[.NET executable]
CrowdStrike Falcon:(ML)malicious_confidence_100% (D)
Qihoo-360:HEUR/QVM03.0.0000.Malware.Gen
487 :
2017/02/04(土) 08:24:10.05 ID:Drluuz2Q
おまえがウィルスなんだよ
488 :
2017/02/04(土) 08:56:18.21 ID:jd1YqHKB
>>487

隕石を爆破したりしないぞ?
489 :
2017/02/07(火) 08:56:41.61 ID:/DttlwM1
スリープからの復旧をSystemEvents.PowerModeChangedイベントで取得してるんだけど
Windows7やWindows8.1のデスクトップPCでは正常に動作するけどWindows8.1版のSurface Pro3だと動作しない

解決方法ご存じないですか?
490 :
2017/02/07(火) 09:30:57.72 ID:YgeqT8Pn
Instant Goとかその辺で実際にはスリープになってないとかそんなんじゃない
Windows 10のモダンスタンバイとやらではこんな記事があったけど
https://blogs.msdn.microsoft.com/japan_platform_sdkwindows_sdk_support_team_blog/2016/06/09/
491 :
2017/02/08(水) 10:12:32.24 ID:AcXEhNH6
datareaderで数万件のデータをデータベースから取得したいんですが数十秒くらいかかってしまいます
どうにかはやくできないでしょうか?
492 :
2017/02/08(水) 14:47:01.33 ID:MzR5zH1p
クエリを簡単にする
列数を減らす
493 :
2017/02/08(水) 19:21:32.32 ID:jEQSlM2Q
普通に書けばそんな時間かからんよ
494 :
2017/02/08(水) 22:02:33.67 ID:AcXEhNH6
単純なSELECTなんですよ
30000件で15秒もかかってしまいます
最後までread回しただけなのに…
495 :
2017/02/08(水) 22:07:06.15 ID:qO3OS2QJ
ディスクやネットワークが糞なんだろ
あと見落としやすいのがDBサーバーのメモリ量
繰り返し読むならキャッシュヒット率が全然違ってくる
いずれにしてもVB関係ない
496 :
2017/02/08(水) 22:11:04.89 ID:qO3OS2QJ
まずはVBを介さずにDBクライアントを使って直接コマンド実行してアンロードしてみたらどうだ
それでも遅かったらVB関係ないとわかるし、遅くなかったらVBでの読み方がまずいんだろう
一番にその程度の切り分けはやれよ
497 :
2017/02/08(水) 23:05:47.54 ID:jRyNzfB1
ListViewのアイテムをすべて選択するコードなんですが
5万件くらいで重いのですが軽くする方法は無いものでしょうか。

For i As Integer = 0 To lvMain.Count - 1
lvMain.SelectedIndices.Add(i)
Next
498 :
2017/02/08(水) 23:15:30.62 ID:qO3OS2QJ
>>497
前提がおかしい
全件に対して処理をすることが最初から想定されてるんなら全件処理のコマンドを用意しとけば済む話だろう
ListViewに読み込む必要も選択する必要もない
499 :
2017/02/08(水) 23:58:47.11 ID:Bd3hz3fH
>>497
lvMain.BeginUpdate() 〜 lvMain.EndUpdate() で囲えば多少改善するかもしれない
それでもダメなら VirtualMode を使う
500 :
2017/02/09(木) 07:08:33.82 ID:nszO0639
>>499
残念ながらBeginUpdate()では改善しませんでした。
ListViewは既にVirtualModeです。
どうもSendMessageでLVM_SETITEMSTATEを送ってやればよさそうという
ところまで来ました。
501 :
2017/02/09(木) 23:54:41.55 ID:nszO0639
LVM_SETITEMSTATEをSendMessageで一瞬で全選択できるようになりました。
502 :
2017/02/10(金) 12:28:40.22 ID:izdz/JI9
全選択なんて組み込みのメソッドで用意されててもよさそうなものだけどないんだねw
今まで気づかなかった
503 :
2017/02/20(月) 16:07:27.58 ID:OgBdAYpr
ふらっとC#スレの質問見てちょっと思ったんんだけど、
C#ではメソッドの戻り値に属性を適用する明示的な書き方があるけど、
VBではこれどうやって書くんだっけ?
https://msdn.microsoft.com/ja-jp/library/b3787ac0.aspx
504 :
2017/02/20(月) 17:17:50.36 ID:M6W8cvGm
>>503
https://msdn.microsoft.com/ja-jp/library/z0w1kczw(v=vs.120).aspx
書き方はC#と同じだな
ただし、戻り値に属性指定とかNot supportedらしい

そもそも戻り値はメソッド内で生成されるんだから、属性を呼び出し側で指定できるのがおかしな気がする
505 :
2017/02/20(月) 19:49:55.03 ID:C+5kpca0
>>504
ありがと
506 :
2017/02/21(火) 19:33:45.43 ID:zN7/wz8g
経過時間を設定したContent.Timeで割って余りが0の時にReload()を実行するようになってるんですが、
Reload()を何回も実行するんです。
minuteをContent.Timeで割った回数実行してしまうようなんですよね。

何かおかしいでしょうか?

Sub _Check()
'1分過ぎた
minute += 1
'すべてのページをチェック
For Each Content As Contents In List
'指定した時間が過ぎていたら
If minute Mod Content.Time = 0 Then
'確認=>表示 再生
If Content.ReLoad() Then
507 :
2017/02/21(火) 19:35:31.07 ID:zN7/wz8g
>>506
補足ですけど、minuteが1進む毎(1分)に、minuteをContent.Timeで割った回数実行してしまうみたいです。
508 :
2017/02/21(火) 21:50:52.18 ID:OY4bcTch
エスパー召喚が必要だねw
509 :
2017/02/21(火) 22:26:45.05 ID:zN7/wz8g
>>508
私がコピペした部分じゃ足りないですか??
じゅうぶんだと思うんですが。
510 :
2017/02/22(水) 10:13:28.88 ID:hB8WtiG5
そこで足りると思うんなら
ステップ実行でわかるだろうよ
511 :
2017/02/22(水) 11:03:24.94 ID:di0eqEJ2
>>510
ステップ実行なんてのがあるなんて知りませんでした。
ありがとうやってみます。
512 :
2017/02/25(土) 08:49:36.06 ID:Z1WBMYZL
dllのロードに関して質問がございます。

---------- ディレクトリ構成 -------------------------------------------------------
[1]C:\AppDir\Main.exe 実行ファイル
[2]C:\AppDir\Parts.dll 実行ファイルから参照設定される

[3]C:\AppDir\SubDir1\Function.dll [1]の実行ファイルからAssembly.LoadFromで呼ばれる
[4]C:\AppDir\SubDir1\Parts.dll [3]から参照設定される

[5]C:\AppDir\SubDir2\Function.dll [1]の実行ファイルからAssembly.LoadFromで呼ばれる
[6]C:\AppDir\SubDir2\Parts.dll [5]から参照設定される
--------------------------------------------------------------------------------

[3]のdllと[5]のdllを実行ファイルで選択した内容によって切り替えてロードするのですが、
[4]と[6]のdllを参照せずに、実行ファイル起動時に自動でロードされる[2]のParts.dllを読み込みに行きます。

機能追加やデータ構造の変更に伴うメソッドの修正で[2]と[4]と[6]の内容が一致していない場合に、
MissingMemberExceptionが発生してしまいます。

[2]のParts.dll に修正が発生した段階で、[4]と[6]をビルドし直して配布する必要があり、
出来れば[2]のParts.dll の修正と切り離して管理したいと考えております。

既に実行ファイル起動時に[2]がロードされている状態で、
[3]をロードする場合は[4]を、[5]をロードする場合は[6]を参照するような方法はございますでしょうか?
513 :
2017/02/25(土) 10:35:53.15 ID:WSmv7/tX
俺はexe一個にしたい派なので。
514 :
2017/02/25(土) 12:23:39.45 ID:S4wbN3RD
>>512
MEF使うとか
515 :
2017/02/25(土) 21:04:10.95 ID:Z1WBMYZL
>>514
ありがとうございます。
プラグインという発想はなかったので、
MEFについて知識が乏しいので調べて見ます。
516 :
2017/03/03(金) 18:45:03.41 ID:7BBiAnh4
integerで50000つかえたっけ?
517 :
2017/03/03(金) 18:46:31.69 ID:oIwShl3c
余裕のヨッチャン
518 :
2017/03/04(土) 17:05:37.98 ID:jyXc82yN
シリアル通信で受信処理について教えてください
パケット構造が固定長で"STX" + 10BYTE + "ETX"の12バイト構造となっています
ReadByte()で1バイトずつ取得して配列に格納しているのですが、
連続受信中何かの拍子に配列がずれて1バイト目が"STX"や12バイト目が"ETX"とならない場合があります
こうなった場合、以降の受信も配列が崩れて処理ができなくなります
一般的にどのような対策をするのでしょうか
配列の1バイト目、12バイト目が"STX","ETX"でなければ何か処理をすればよいのだと思いますが・・・
519 :
2017/03/04(土) 17:28:05.56 ID:4F1kG7wq
1バイト目とか12バイト目とか意識するのがまずいのでは?
STXが来たらバッファに詰めていくETXが来たらそれを取り出すで
問題ないと思う。
520 :
2017/03/04(土) 18:24:21.25 ID:W250mNnr
>>518
単純なステートマシンで対処できるでしょw

っていうか、教えられなくてもそれぐらいのこと思いつくようでないと
実用的なプログラムなんて何も書けないよw
521 :
2017/03/04(土) 18:51:32.79 ID:NAI/204b
何バイト目かを意識するのがまずいのもあると思うけど
そういうのってエラー検知して再送じゃないの?
522 :
2017/03/05(日) 03:05:35.57 ID:L54Sdfag
>>519
それにしたってバッファは無限なわけじゃないし
ETXが来るかバッファをオーバーしたら、 だな
バッファオーバーのチェックはさぼらない癖つけとくほうがいいぞ

>>521
>>518はエラー検知が出来なくて困ってるわけだが
523 :
2017/03/05(日) 03:20:26.95 ID:f1XixyjT
>>522
え?1バイト目がSTXじゃなくても検知できないの?
BCCのチェックだけの話じゃないよ
524 :
2017/03/05(日) 09:04:24.11 ID:ZV0AIXGV
まぁSTX〜ETXまで精々数百バイトだろうし、大げさに騒ぐほどじゃないな
ETXの後ろにBCCあるタイプだとして

俺がよく使うのは System.Collections.ObjectModel.Collection(Of Byte) なバッファ用意しといて

1.ReadByteの内容がSTXだったら バッファ.Clear した上で ReadByteの内容(STX)をAdd
2.STX以外だったら
   2-1.バッファの最後尾が ETX だったら、今きたのはチェックサムと思って ACK/NCK 返しつつメイン処理へ受け渡し
   2-2 バッファの最後尾が ETX じゃなかったら、ケツに Add
525 :
2017/03/05(日) 09:06:20.08 ID:ZV0AIXGV
×    2.STX以外だったら

○    2.STX以外で、かつバッファの先頭は STX だったら
○    3.STX以外で、かつバッファの先頭は STX 以外だったらゴミデータとしてスルー
526 :
2017/03/05(日) 09:16:08.94 ID:4Mp9Np6+
>>524
なんでCollection?
Collectionはコレクションクラスを自作するときに使うもので、普通、一般的に使われる動的配列の実装はList(Of T)だよ
527 :
2017/03/05(日) 12:15:05.55 ID:ZV0AIXGV
軽そうなイメージ
528 :
2017/03/05(日) 12:45:52.11 ID:u6nsQtE2
なんかアホな議論してるけど、上にも書いたが必要なのは質問者が
ステートマシンという超簡単な概念を一つ覚えて使う、それだけ。
529 :
2017/03/05(日) 13:16:04.21 ID:4Mp9Np6+
>>527
List(Of T)の方が速いし軽い
というかCollection(Of T)は実装を全部List(Of T)に丸投げしてる
継承してメソッドをオーバーライドすることで要素の追加削除時に独自の処理を入れられるように
いくつか拡張ポイントを追加してあるだけ
継承しないなら何の意味もない、むしろ誤解を招くだけだから使わない方がいい
List(Of T)は後で独自の処理を入れたくなったときに実装変えられないからクラス外に公開するべきではないというのもあるけど、
それを考慮するならCollection(Of T)ではなく IList(Of T) を使ったほうがいいし
530 :
2017/03/05(日) 13:27:50.14 ID:Q4pvsIt3
VBerにとって、VBが輝いていた時代を共に駆け抜けた旧友を想起させる特別な名前、それがCollection
気持ちは分かるが.NETのCollectionは彼とは何の関係もない別人なんだ
もういい加減過去に拘るのはやめて前へ進もう
531 :
2017/03/05(日) 14:12:32.50 ID:Xaz4+HsB
ステートマシンとかいう概念を知らなくても普通は思いつくけどね
532 :
2017/03/05(日) 14:21:01.11 ID:dGez6Bo2
質問者がデータは10バイトの固定長だって言ってるんだから
Listを使う必要もなければ、STXだのETXだの本来不要なゴミを取っておく必要もない

なんかしょうもない話してるよな本当
533 :
2017/03/05(日) 14:31:06.98 ID:x9pPtpWR
MSAMでCOMポートからチマチマデータを取ってた世代には(ry
534 :
2017/03/05(日) 16:01:29.71 ID:u/xcfN5N
VBと過ごした青春
なんか嫌だなそれ
535 :
2017/03/09(木) 20:01:49.55 ID:ouxZaahl
簡易的にずれてたらETX来るまで1バイトずつ取り込んで読み捨てすればいいんじゃね?
536 :
2017/03/10(金) 17:23:20.12 ID:tq5lUfKn
タプルっていう存在を今、初めて知ったんだけど。
複数の値を返すのはいいけど・・・
こんなんじゃなーいって思ったのは俺だけかな?
537 :
2017/03/10(金) 18:38:21.20 ID:wvkqDHaL
>>536
具体的に
538 :
2017/03/10(金) 19:46:18.91 ID:PPM6ZnbB
デコンストラクタでタプルも扱いやすくなる
539 :
2017/03/13(月) 21:14:52.90 ID:4mOoeOmZ
540 :
2017/03/14(火) 00:27:16.98 ID:pXYRmO5x
Microsoftも見限った感あるし流石にもうそろそろ消滅の流れじゃないか
541 :
デフォルトの名無しさん
2017/03/14(火) 19:24:57.60 ID:O/GpwfFn
C#に移りなよ
ってかもうみんな両用してるか
542 :
2017/03/18(土) 20:44:47.06 ID:ybox44GA
バッファがの処理が追い付かないときの為のフロー制御だよな
543 :
2017/03/18(土) 21:33:24.54 ID:TQTGmQah
C++ならともかく、VB.NETとC#の違いなんて、東北弁と九州弁の違いでしかない
544 :
2017/03/22(水) 21:49:26.12 ID:Lj+MxEQk
今日見た関数が戻り値の型がBooleanで条件によってはTrueを返す、という関数でした
ただその条件分岐に引っかからなかった場合どこにもFalseを返すとは書いてませんでした
自分で試してみたところその場合はFalseになったのですが、これは言語仕様
がそうなっているということですか?
可読性はともかく特に使っても問題ないでしょうか?
545 :
2017/03/22(水) 21:58:23.84 ID:A/QsCQKR
546 :
2017/03/22(水) 22:09:21.64 ID:Lj+MxEQk
>>545
これは最初に読んだんですが既定値とやらと戻り値の関係がいまいちわかりませんでした
ただそう言われるなら問題なさそうですね
ありがとうございます
182KB

新着レスの表示

★スマホ版★■掲示板に戻る■全部前100次100最新50

名前:E-mail: