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

■ このスレッドは過去ログ倉庫に格納されています

VB.NET質問スレ(Part43)

1 :デフォルトの名無しさん:2016/06/15(水) 11:41:09.50 ID:bPj3FmGk.net
前スレ

VB.NET質問スレ(Part40)
http://toro.2ch.net/test/read.cgi/tech/1365857015/
VB.NET質問スレ(Part41)
http://peace.2ch.net/test/read.cgi/tech/1391334405/
VB.NET質問スレ(Part42)
http://echo.2ch.net/test/read.cgi/tech/1419148239/

2 :デフォルトの名無しさん:2016/06/15(水) 17:48:41.64 ID:6LrjeIzy.net
最近落ちるの早いので乙

3 :デフォルトの名無しさん:2016/06/15(水) 19:45:19.21 ID:G76GMmEr.net
乙.py

4 :デフォルトの名無しさん:2016/06/15(水) 20:45:31.75 ID:UJ4dhPXD.net
関連スレ

古代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.net


6 :デフォルトの名無しさん:2016/06/16(木) 19:22:25.92 ID:cHK7lzHs.net
やっぱみんな最新の使ってる?
俺は未だに2005だけど(新しいのにしなきゃいけない理由が見当たらない)

7 :デフォルトの名無しさん:2016/06/16(木) 20:20:32.72 ID:BiIgL8cI.net
むしろ古いのを使うのに理由が必要だろう

8 :デフォルトの名無しさん:2016/06/16(木) 22:26:15.32 ID:mb8wywpH.net
VBの場合は新しい機能を使うと他の連中に理解できなくなる(というか理解しようとしてもらえなくなる)から、
実際新しいものを使う理由はないよ
VBは変化を拒否する人達のための拠り所なのだから

9 :デフォルトの名無しさん:2016/06/16(木) 22:33:24.32 ID:Oc+4dwCe.net
VB2008以降は開発方針が変わって(格下げされて)C#の方言になっちゃったから、
変化を拒否する人達の味方としてのVBは2005まで
2008以降は機械的にC#に合わせるだけでVBerに見向きもされない虚しい機能拡張ばかり

10 :デフォルトの名無しさん:2016/06/16(木) 22:53:20.88 ID:WRcGE86S.net
vb.netも今はしっかりした言語だと思うけどなぁ。

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

未だにオブジェクト指向って何??って人もいないと思うけど。

11 :デフォルトの名無しさん:2016/06/17(金) 13:06:13.52 ID:IKcgNlbU.net
>>6
アプリを動かす環境の.NET Frameworkによっては新しいのじゃないとダメではなかろうか

12 :デフォルトの名無しさん:2016/06/21(火) 07:51:56.56 ID:pCx5oIjk.net
age

13 :デフォルトの名無しさん:2016/06/21(火) 11:32:35.61 ID:VZGXTtlU.net
4.5.2 以降も使えるならいいんじゃね

14 :デフォルトの名無しさん:2016/06/21(火) 15:33:01.83 ID:REn2K5Xx.net
ライブラリ的な汎用性の高いものを作るときはC#のほうがいいし
実際にC#で書いてるけど、特定の客むけ業務アプリはVB使うなぁ

C#でガチガチに書くと保守できる人いなくなっちゃうし
客のファジーな要求仕様に対しては、きちんとクラス継承して設計するよりもコピペで実現したほうがいい場面も多い。

15 :デフォルトの名無しさん:2016/06/21(火) 17:48:59.97 ID:4IDYtT08.net
旧VBの話かな?

16 :デフォルトの名無しさん:2016/06/21(火) 19:39:41.14 ID:s0xSal8K.net
ラムダがもう少し書きやすければな
後は各種初期化子も短くしてほしい
他に不満はないかな

17 :デフォルトの名無しさん:2016/06/21(火) 23:09:36.66 ID:8TPIZL80.net
>>14
C#でガチガチっていうと
凄く結合度が高いイメージがあるな

18 :デフォルトの名無しさん:2016/06/21(火) 23:18:26.26 ID:mKRnLMlt.net
それは設計がヘタクソなだけ

19 :デフォルトの名無しさん:2016/07/02(土) 01:24:41.31 ID:zGWMAOI9.net
>>14
今時の業務アプリをなんでVBで書いちゃうかなあ
保守できないのは言語のせいじゃねーだろ

20 :デフォルトの名無しさん:2016/07/02(土) 09:48:59.43 ID:L/GK6KBr.net
言語のせいじゃないならVBでもいいじゃん

21 :デフォルトの名無しさん:2016/07/03(日) 01:43:58.53 ID:capVbRd9.net
VB使いは低レベルなやつが多いと思ってるんだろ

22 :デフォルトの名無しさん:2016/07/03(日) 01:52:18.90 ID:ezxQ+Igl.net
VBもC#もやれることは変わらないやん

23 :デフォルトの名無しさん:2016/07/03(日) 06:03:48.41 ID:qk7lGSjH.net
>>22
だからバカって言われるんだよ

24 :デフォルトの名無しさん:2016/07/03(日) 07:49:30.52 ID:a7dDnFnC.net
VBと比べてC#が圧倒的に勝っているポイントはλが書きやすいところかな
この他には明確な差はない

25 :デフォルトの名無しさん:2016/07/03(日) 07:52:30.52 ID:dqZh4yhX.net
VB関数がないとかMyがないとかデフォルトインスタンスがないとかOnErrorGotoがないとか色々あるだろ
まあ一番違うのはプログラマの平均品質だけど

26 :デフォルトの名無しさん:2016/07/03(日) 07:54:16.27 ID:qk7lGSjH.net
Referenceの量と質も全然違う

27 :デフォルトの名無しさん:2016/07/03(日) 08:02:35.54 ID:a7dDnFnC.net
>>25
どっちみち使わない機能を差異としてカウントするのはナンセンスだよ
c#で日常的に使う機能とvbで日常的に使う機能ではλの書きやすさ以外に致命的な差はない

28 :デフォルトの名無しさん:2016/07/03(日) 08:07:56.54 ID:jvF65JbL.net
>>27
C#目線ならそりゃ一緒だろうさ
VBしかやってなくて他に知ってる言語はCOBOLくらい、なんていう連中が
VBには腐る程いるんだぞ
仕事ならそういう連中がひねり出した糞の山をうんざりするほど見ることになる

29 :デフォルトの名無しさん:2016/07/03(日) 08:14:09.67 ID:qk7lGSjH.net
>>27
たとえばASP .NET CoreのテンプレをYeomanで作成し、Macで開発してAzureにデプロイするってのをわざわざVB.NETでやりたいとは思わんね。Referenceの差は致命的。

30 :デフォルトの名無しさん:2016/07/03(日) 08:53:42.30 ID:QFKulflJ.net
まぁたいして変わりゃしないんだから両方覚えておけばいいよ

31 :デフォルトの名無しさん:2016/07/03(日) 10:56:13.77 ID:ezxQ+Igl.net
Reference見てるレベルの人なら使いやすい方使えばいいやん

32 :デフォルトの名無しさん:2016/07/03(日) 11:00:19.65 ID:g38/oc0e.net
>>31
使いにくいって指摘が伝わってないなこいつ。第一.NET CoreにVB.NETはまだ対応してないし。C#との差は歴然としてる。

33 :デフォルトの名無しさん:2016/07/03(日) 12:53:14.88 ID:a7dDnFnC.net
>>28
今は人の話も過去の資産の話もしてない
純粋に言語として比較したらどうなのという話な
そしてその決意はλ以外大差ねえなって事ね

34 :デフォルトの名無しさん:2016/07/03(日) 19:36:03.21 ID:QeKzFvfB.net
VB.NETとビジュアルスタジオつかってデスクトップアプリ作りたいのですが、
プルダウンから選択したり数値入力して、そんで出力ボタンおすと、
エクセルに計算結果とかもろもろ自動で入力したものが出るようなのを作りたいのですが、
こういうのに特化した参考書とかありませんか?
ネットで調べながらでもいいのですが、できれば本でやってみたいと思っています

35 :デフォルトの名無しさん:2016/07/04(月) 00:53:57.64 ID:a/EuNmrx.net
>>34
Excel単体、VBAだけで良いような…

36 :デフォルトの名無しさん:2016/07/04(月) 20:40:01.39 ID:LOf4uuq2.net
最終的には、プルダウンで選んだ条件で出力する表のかたちと画像を代えたいんですけど、
エクセル単体でもできますかね?それならそれでいいですが・・・

37 :デフォルトの名無しさん:2016/07/04(月) 21:04:36.18 ID:49dl+xbl.net
>>36
EXCELのスレに来てた人?

たらい回しという言葉を知ってるかい?

38 :デフォルトの名無しさん:2016/07/04(月) 21:42:14.95 ID:LOf4uuq2.net
いやそれ俺じゃない。

39 :デフォルトの名無しさん:2016/07/05(火) 12:37:49.49 ID:RlWBF9ba.net
>>34
vb中学校っていうサイトが情報古いけどおすすめです。

40 :デフォルトの名無しさん:2016/07/07(木) 07:45:27.32 ID:9nALhBhc.net
中学校は執筆者自身のスキルに難があるからな
「初心者向け」を自分が理解してないことの免罪符にしてる印象
JavaやC#だと本人が完全に理解してる上で初心者向けにかいつまんでるのが多いんだけど、VBでとなると俺は知らないな

41 :デフォルトの名無しさん:2016/07/07(木) 10:31:45.73 ID:ljNr7G7W.net
dobon.net

42 :デフォルトの名無しさん:2016/07/07(木) 12:30:45.74 ID:u/1J4++R.net
VBAで初心者向けと言えば田中さんだと思うんだけどなぁ

43 :デフォルトの名無しさん:2016/07/07(木) 22:32:29.25 ID:ljNr7G7W.net
vbaじゃなくて.netの話じゃないの?

44 :デフォルトの名無しさん:2016/07/13(水) 22:26:23.47 ID:NVocMmQN.net
未だにVB6使ってるし、vs2015でもVB.NET使ってるが
そろそろc#への移行どきかねぇ
今やネットでの情報はほとんどc#でのコーディングだし
そうなると初心者向けっていう利点が無くなるし

45 :デフォルトの名無しさん:2016/07/13(水) 23:08:17.35 ID:IHteYO+A.net
できることは変わらないんだから無理に移行する必要はないような
移行というより選択肢を増やすという意味ではJavaやるのがいいんじゃないか?
Javaに慣れたら自然に.NETでもC#を使いたくなるだろう

46 :デフォルトの名無しさん:2016/07/14(木) 15:14:56.61 ID:ZUrpEfIZ.net
>>45
できることは変わらないwww

47 :デフォルトの名無しさん:2016/07/14(木) 15:49:33.75 ID:o/KrP/8p.net
(純粋に技術的に可能か不可能かで言えば)できることは変わらない→せいかい
(プログラマの能力的に)できることは変わらない→まちがい

48 :デフォルトの名無しさん:2016/07/14(木) 18:31:11.93 ID:ZUrpEfIZ.net
>>47
ねえねえ、.NET Coreの開発をVB.NETでどうやったらできるの?まだ対応されてないよね?

49 :デフォルトの名無しさん:2016/07/14(木) 18:32:54.25 ID:o/KrP/8p.net
>>48
自分でdll参照すりゃできるよ

50 :デフォルトの名無しさん:2016/07/14(木) 21:04:53.69 ID:05a8wJuJ.net
>>48
笑わせに来たのか?

51 :デフォルトの名無しさん:2016/07/15(金) 16:13:26.77 ID:iSfUktoe.net
チェックボックスのFalse/Trueに対応してリストボックスが有効/無効になるイベントドリブンがあるんですが
コレが10コとか20コある場合、同じだけイベントプロシージャを作らないとダメですか?
もっとスッキリさせる方法があれば知りたいです。

52 :デフォルトの名無しさん:2016/07/15(金) 16:14:00.44 ID:DCcmFlXk.net
どっかのブログでVB.NETは複数行のコメントが出来ないと書いてあったが、
#if 0 then
~
#endif
で出来るじゃん。

53 :デフォルトの名無しさん:2016/07/15(金) 18:37:46.00 ID:sp8uG4qU.net
痛すぎる

54 :デフォルトの名無しさん:2016/07/15(金) 19:31:07.65 ID:CgTB7XPU.net
>>51
全部ハンドルしてsenderで分岐

55 :デフォルトの名無しさん:2016/07/15(金) 20:07:33.34 ID:DCcmFlXk.net
どこが痛いのかな?
デバッグ用のコードを埋め込むさいに
よく使われる手法なんだが・・・

56 :デフォルトの名無しさん:2016/07/15(金) 20:21:13.97 ID:2BxGkjsb.net
お前らVB.Netなんかやってるの?

俺なんか今の仕事場VB6.0だぞ。
CPUはPen4でOSなんかまだXP。
XPはマズいので何か機会が有ったら通報してみようかと思ってる。

57 :デフォルトの名無しさん:2016/07/15(金) 20:59:19.37 ID:iSfUktoe.net
>>54
ありがとうございます!

58 :デフォルトの名無しさん:2016/07/15(金) 22:41:00.37 ID:AtypjOfw.net
>>55
確か明治時代はみんなそうやってたんだっけ?

59 :デフォルトの名無しさん:2016/07/15(金) 22:53:00.93 ID:P5LMS7dI.net
>>58
教えてください
明治時代のVSのバージョンはいくつだったんですか?
Windowsのバージョンは?
CPUは何だったんですか?
ビル・ゲイツは生まれてなかったと思うんですがマイクロソフトはあったんですね?

60 :デフォルトの名無しさん:2016/07/15(金) 23:33:10.42 ID:khTZoh5c.net
>>59
煽るならもうちょっと捻れよ
VBerの知能レベルが知れる

61 :デフォルトの名無しさん:2016/07/16(土) 00:34:50.26 ID:x1AhYluy.net
>>58
VB6.0の時代、ベテランプログラマーがそう書いてたから真似した。
今もそのクセが抜けない。

62 :デフォルトの名無しさん:2016/07/16(土) 09:09:16.76 ID:w6ElOsX+.net
>>60
じゃあ知能レベルの高い()煽りを御享受ネカ゜得るかな?
知能レベルが高いなら出来るよねw

63 :デフォルトの名無しさん:2016/07/16(土) 12:22:45.14 ID:3oB/Pjks.net
なんなら俺が最高峰の煽りを見せてやろうか?

64 :デフォルトの名無しさん:2016/07/16(土) 13:21:59.74 ID:3jub9Gwj.net
でもこれで>>60がやってるのがjava辺りだったらウケるよな

65 :デフォルトの名無しさん:2016/07/16(土) 16:47:05.11 ID:XRI+XgN5.net
フォームにボタン1つ設置して、そのボタンおすと新しいエクセルのファイルが作られるようにしたいのだけど、どうやればよいですか?
参照の追加から、ライブラリ?を追加することをしなければならないのはネットで理解したのですが、
さしあたりサンプルコードなどをコピペしてみても、エラーに泣てうまくいきません

66 :デフォルトの名無しさん:2016/07/16(土) 17:12:58.61 ID:w6ElOsX+.net
ファイル作るだけなら空のファイル用意しといて名前つけてコピーするだけじゃんw

67 :デフォルトの名無しさん:2016/07/16(土) 19:37:10.54 ID:T1HW9qn+.net
>>51
checkboxとlistboxがペアになってるならUseControl作るのが正解だろうね

68 :デフォルトの名無しさん:2016/07/26(火) 12:49:23.36 ID:9fHSiM6q.net
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.net
Sessionが認証状態を超えるなら考えないといかんが
とりあえずSession_Startあたりで良いんじゃね

70 :デフォルトの名無しさん:2016/08/15(月) 21:51:30.36 ID:B7Nw7mUX.net
・商品がカテゴリ分けされていて階層で管理されている (例. カテゴリ1 → カテゴリ1-1 → カテゴリ1-1-1 → 商品A)
・商品管理画面にカテゴリの階層構造をツリーとして表示する(顧客からの要望)
・管理する商品件数は1000件程度
・ツリー内の好きな位置で新しい商品を追加したり、商品を削除したり、カテゴリ(ツリー構造)を変更したりする
・ツリー内容は全展開する(顧客からの要望)

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

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

そこでTreeViewでBeginUpdate以外の方法で処理を早くする方法もしくは、
階層構造が表現できて1000件程度でも高速であるTreeView以外の代替コントロールはありますでしょうか?

71 :デフォルトの名無しさん:2016/08/15(月) 22:50:45.95 ID:yyEmga7M.net
1000件とかなら適当なグリッド使ったほうがいい

72 :70:2016/08/17(水) 05:55:50.00 ID:Cm/M2Pe6.net
>>71
レスありがとうございます。
グリッド関連ででツリー構造をうまく表現できるものがあるか調査してみたいと思います。

73 :デフォルトの名無しさん:2016/08/19(金) 13:22:10.36 ID:WvWYXZXO.net
パネルを敷いて、その上にボタンを貼り付けるとします。
ボタンの位置、上左を起点にして位置決めしたとします。

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

デザイナでマウス使って、簡単に位置合わせできないもんでしょうか。

74 :デフォルトの名無しさん:2016/08/19(金) 13:29:16.02 ID:SITb9Fi/.net
>>73
同じ物(パネルの中にボタンがある)が複数あるのならコピペすりゃいいんじゃないの?

そもそも本当にパネルの中にボタンが一つだけ(と言ってるように聞こえるけど)しかないなら
パネルが必要あるように思えないんだけど。

75 :デフォルトの名無しさん:2016/08/19(金) 21:27:55.12 ID:xxHTQg5s.net
>>73
a) プロパティウインドウでサイズを打つ
b) デザイン時は適当に配置して実行時にサイズ変更する
c) VisualStudio のアドインを作る

76 :デフォルトの名無しさん:2016/09/01(木) 22:14:52.74 ID:32zBwDCY.net
これから自作の業務ソフトを作る為に勉強始めようと思うのですが、まともなコーディング出来るまでどれくらい時間かかるもんでしょうか
VBAをちょこちょこやってるレベルです
会社に出来る人はいないので独学しかないです
いい勉強方法などあれば教えていただきたいです

77 :デフォルトの名無しさん:2016/09/01(木) 22:42:58.64 ID:KXjO58d1.net
>>76
c♯にしとけ

78 :デフォルトの名無しさん:2016/09/01(木) 22:53:09.46 ID:4TKfOi4K.net
>>76
目的のものがあれば調べまくってとりあえず、動くものを作る。
ちゃんと動けば楽しくなって、更に深く調べる。
こんな繰り返しでだんだんと上達してくるんじゃない?

最初からキレイで無駄のないコードを書くのは難しいよね。
どのくらいの期間かは、本人の努力でいかようにも短くなるんじゃない?

79 :デフォルトの名無しさん:2016/09/02(金) 20:43:57.57 ID:TnXBqpSE.net
>>77>>78
ありがとうございます。
.NETで一通りコーディング出来たらC#で同じもの作ってみたいと思ってます
とりあえずやってみるしかないですよね。作りたいものは決まってるので頑張ってみます
クラス設計出来るようになるだろうか。。

80 :デフォルトの名無しさん:2016/09/02(金) 22:14:27.15 ID:LsVX2JMM.net
VBは情報の質が低いから初心者は変な癖が付きやすい
まともにオブジェクト指向を解説してる書籍なども少ない
どうせC#もやるつもりなんだったら最初からC#でいくほうが近道だよ

81 :デフォルトの名無しさん:2016/09/02(金) 22:16:49.34 ID:DWiKd03r.net
c#厨が必死だなw

82 :デフォルトの名無しさん:2016/09/03(土) 00:43:38.63 ID:iqP+pTRw.net
まぁC#でもjavaとかに比べるとObject指向の本とか少ないけどな。VBよりマシってくらいで。
C#もjavaも似たような構文してるから両方やっとくといい。
ついでにC#とVBも構文じゃなくて中身がそんなに変わるもんじゃないから一緒にやっとくといいよ。

83 :デフォルトの名無しさん:2016/09/03(土) 08:27:57.79 ID:NvN4PBVL.net
VBはオープンソースプロジェクトがほぼ皆無だからなあ
「スキルの高い人が正しく使えばこうなる」というものに触れる機会が無いのは致命的

84 :デフォルトの名無しさん:2016/09/03(土) 12:35:14.12 ID:lH1/+nJg.net
vbは構文が破綻しかけてるからこれからプログラミングを始める人がやるべき言語ではない

85 :デフォルトの名無しさん:2016/09/03(土) 12:40:16.59 ID:IeofIhBF.net
.NETがとっつきやすそうだったのでクラスがどういったものがあるか勉強しながらC#に移行出来ればと考えてたんですが
.NETだとオブジェクト指向らしくないコーディングをする癖がついてしまうでしょうか
C#に移行すればそんなこともいってられないくらい矯正できますかね?

86 :デフォルトの名無しさん:2016/09/03(土) 12:42:48.70 ID:IeofIhBF.net
>>84
マジすか。。素直にC#から入ろうかな

87 :デフォルトの名無しさん:2016/09/03(土) 12:59:42.87 ID:HDnGX34n.net
いや、VBの方がC#より簡単とか今はないよw
宗教論争抜きでもうあえてVBを選択する理由はないから、素直にC#にした方がいいと思う。

88 :デフォルトの名無しさん:2016/09/03(土) 13:37:14.87 ID:SV787nMm.net
ただVBはやっておくと結構いきなりVBAのコードが書けたりする

89 :デフォルトの名無しさん:2016/09/03(土) 13:38:51.14 ID:XJfcWEgm.net
FrameworkがC♯なんだから素直にC♯にしとけよ

90 :デフォルトの名無しさん:2016/09/03(土) 13:47:15.45 ID:FSQOfEYz.net
VBは大文字小文字の区別がないからパンチが雑になる
VBやったあとにC#触るとあれっ?てなる

かっこで条件をかかなくていいのはVBの唯一好きな点だな

91 :デフォルトの名無しさん:2016/09/03(土) 13:47:46.48 ID:FSQOfEYz.net
あ、If文の話ね

92 :デフォルトの名無しさん:2016/09/03(土) 14:50:51.90 ID:zuYDJ0Q0.net
>>87
c#を選ぶ理由も無いのにc#をゴリ押しするのは宗教戦争でなくて何?
c系は見た目が嫌だから嫌いって俺みたいなのもいるんだが?

93 :デフォルトの名無しさん:2016/09/03(土) 15:11:32.11 ID:HDnGX34n.net
>>92
気付いてないみたいだけど、まさにお前さんがやってるようなことが宗教論争なんだよw

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

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

ユーザー数や公表されるサンプルコードの数でC#が勝るのは客観的事実だし、.NETの標準がC#なのも事実。
要するにC#を選んだ方が圧倒的に得なのは動かしがたい事実だよ。

94 :デフォルトの名無しさん:2016/09/03(土) 15:29:02.10 ID:uKYB9ZOR.net
そらまあ構わないが
ならC#スレでやってくれ

95 :デフォルトの名無しさん:2016/09/03(土) 15:39:32.30 ID:zuYDJ0Q0.net
出たw
「多いから」
多いのが良けりゃトヨタ車が一番いいクルマだわなw

96 :デフォルトの名無しさん:2016/09/03(土) 16:49:33.83 ID:NvN4PBVL.net
一番の違いはC#を覚えればVBは自動的に使えるようになるけど逆はそうでもないという点だな
そして初学者にとっての学習コストはC#のほうが低いんだからVBを選ぶ理由がない
C#使える人でVBにコンプレックス持ってる人はまずいない
その逆は見ての通りだ

97 :デフォルトの名無しさん:2016/09/03(土) 16:53:33.28 ID:HDnGX34n.net
>>96
>C#を覚えればVBは自動的に使えるようになる
さすがにそれはないよw
っていうかその程度にはVBerもC#使えるでしょw

98 :デフォルトの名無しさん:2016/09/03(土) 19:28:47.71 ID:b8f1NloR.net
まあ、ホントに全く新規で始めるのにVBかC#かってなら俺もC#を勧めるが
>初学者にとっての学習コストはC#のほうが低い
には同意できん

よい教材か、正しい指導者が居るなら同程度かVBが勝る
ただし、それに当たる確率はC#の方が多いけどな

99 :デフォルトの名無しさん:2016/09/03(土) 19:35:40.75 ID:HDnGX34n.net
>>98
いやC#の方が覚えること少なくて初心者向きだと思うよw

VBはなまじ今となっては使わない方がいいレガシー機能とかあってとっつきづらいと思う。
WitheventsとHandlesでとりあえずデリゲートを理解しなくてもイベントが使えるとか、例外もあるけどねそりゃ。

100 :デフォルトの名無しさん:2016/09/03(土) 21:04:33.37 ID:b8f1NloR.net
覚えるのが少ないって
キーワード増やしたくないって結果が
+=でイベントハンドラ割り当てたり、拡張メソッドにthis指定しろとか言う言語だからなぁ

ちがう機能には違うキーワード割り当てる方が初心者むきだぞ
今となっては使わない方がいいレガシー機能とか初学者に教える必要ないし

101 :デフォルトの名無しさん:2016/09/03(土) 21:31:23.31 ID:+/rHmoaE.net
>>76みたいにVBA経験者ならVB.NETの方が敷居は低いだろうね

102 :デフォルトの名無しさん:2016/09/03(土) 21:37:06.88 ID:NvN4PBVL.net
そうかな
雰囲気が似てるだけの全くの別物だから、ちゃんと「プログラミング」として入門し直すにはVBAの知識なんか邪魔になるだけだと思うが

103 :デフォルトの名無しさん:2016/09/04(日) 02:55:14.23 ID:oi9Vguju.net
なんで初心者でない体の物言いばかりなの?
まるで説得力が感じられない
自分の身の丈に合った目線で話せば良いのに

104 :デフォルトの名無しさん:2016/09/04(日) 03:25:42.67 ID:Gen1hrWU.net
<sammary>タグ中に<para>いれてもxmlドキュメントで改行できないんだけど、仕様?
VS2012ね

105 :デフォルトの名無しさん:2016/09/04(日) 03:32:24.20 ID:X56x4opT.net
自分の場合AccessVBAですが、その知識が邪魔になった事はありませんね
VB6というかVisualStudio6.0の知識(仕様)が邪魔になった事はあります
基本的にVBAやVB6で培った知識は役に立ってますよ
また、似てる似てないはVBAからVB.NETへの移植をやると似てるのが良く分かります
稀なケースですが関数の中身をそのまま新メソッドに張り付けるだけで動く事もあります

106 :デフォルトの名無しさん:2016/09/04(日) 07:58:22.83 ID:S0F7Ntiy.net
まぁVBとVBAは全くの別物ってことはないな。
ただ、まずVBAだけやっていた場合はクラスを使って
ポリモーフィズムで、
とかそんなところにすら至れない人が多い。

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

ただ、今の仕事場でjavaで作られているシステムは1メソッド5000行とか有ったりするので
改修するとき作った奴に殺意を覚えたりするけどね。

107 :デフォルトの名無しさん:2016/09/04(日) 08:33:24.52 ID:jyxhfMV3.net
>>104
xml自体から消えることはないはずだからそれをどう表現するかは使う側次第
とりあえずインテリセンスに影響しないのは仕様

108 :デフォルトの名無しさん:2016/09/04(日) 12:24:52.05 ID:Gen1hrWU.net
>>107
インテリセンスにこそ影響しないと論外なのにな…
というかC#だと改行されるみたいだね
仕方ないからユーティリティ系(そもそもこんなものを作りたくないが)はC#で組むことにするよ

109 :デフォルトの名無しさん:2016/09/04(日) 17:33:53.38 ID:XyhAhLc0.net
VB.NETもC#も、東北弁と九州弁の違いでしかないだろ
似たり寄ったり

C++も使える俺だけど、C#ってもVBみたいに感じる
特に変数の扱い(解放)に不安を感じる

110 :デフォルトの名無しさん:2016/09/04(日) 17:35:13.39 ID:XyhAhLc0.net
VBにのみあるWith〜End Withは素直に便利だと思う

111 :デフォルトの名無しさん:2016/09/04(日) 17:44:16.26 ID:dsyWzBSS.net
>>110
つ My

112 :デフォルトの名無しさん:2016/09/04(日) 18:11:43.89 ID:EvCJbTcD.net
>>110
むしろあってもいいけどなくてもいい機能だねw
オブジェクト初期化子が使えるケースが大半だろうし。

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

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


>>111
My爺さんはリソースぐらいしか使わないし、使わない方がいいと思うよw
あえて使う理由がない。
あんなのVBが馬鹿にされる理由の一つになってるだけw

113 :デフォルトの名無しさん:2016/09/04(日) 18:14:32.84 ID:EvCJbTcD.net
あと、言語としてのVBとは関係ないけど、アプリケーションフレームワークで
結構使える機能あるよね。

これなんかC#から使えたら便利だと思うんだけど
http://www.atmarkit.co.jp/fdotnet/dotnettips/663nextinstarg/nextinstarg.html

114 :デフォルトの名無しさん:2016/09/09(金) 01:12:27.23 ID:1/vZZaq6.net
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.net
>>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.net
ふつうリレーションがあるなら、そのエンティティにリレーション定義すると思うんだが
何がしたいのか全く分からん

117 :114:2016/09/11(日) 22:13:12.60 ID:09WdZpzt.net
ちょっと質問がイミフでした。
MVCとかMVVMのMでEntityFrameworkを使って
DB関係のロジックをうまいことコーディングしたかったんだけど
もうちょっとアプローチを変えてきちんと整理してから
改めて質問いたします。すいませんでした。

118 :デフォルトの名無しさん:2016/09/22(木) 21:07:27.78 ID:lsqp5FOM.net
カスタムコントロールにビジネス上の知識を持たせるのって有りですか?
商品コードは特定の正規表現を満たす文字列であるというビジネスルールがあるとします

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

@はコントロールがビジネスルールを直接知らなくて良いのでUIとビジネス層が疎結合ですが各画面に商品コードの正規表現を設定する手間がかかります
Aは製造もメンテナンスも楽ですがUIがビジネスの知識を持つ必要があり結合が強まります

119 :デフォルトの名無しさん:2016/09/22(木) 21:55:50.74 ID:khANt+EO.net
ドンチュー シンク ソー インディーズ レキシカル コンストラント アンド ビジネスルール?

120 :デフォルトの名無しさん:2016/09/22(木) 21:57:28.36 ID:ouE1p1JD.net
検証するコントロールなりクラスなり作って、必要ならそれがテキストボックスの参照持つのが本筋の気はするけど

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

個人的にはビジネスロジックを含んだUIパーツがあってもよいと思うけど

121 :デフォルトの名無しさん:2016/09/23(金) 02:12:52.23 ID:gxk7d5Lf.net
>>118
@のカスタムコントロールAを作って
それを継承して正規表現を設定済みのカスタムコントロールBを作る

122 :デフォルトの名無しさん:2016/09/23(金) 02:31:01.60 ID:h98BTTsU.net
>>118
どっちもよくないと思うよ。

入力の検証に必要なルール(この場合は正規表現バターン?)はあくまで
ビジネスルール側から提供されるようにすべきだし、それで何の問題もないでしょ。

123 :デフォルトの名無しさん:2016/09/23(金) 02:34:00.44 ID:h98BTTsU.net
あ、ちょっと説明が足りなかったけど、要するにこの場合は
カスタムコントトールがビジネスロジック側の適当なクラスにある、検証に必要な正規表現パターンを返す
静的プロパティか何かを参照するだけ。

124 :デフォルトの名無しさん:2016/09/23(金) 12:43:42.35 ID:O2gBGGU9.net
>>123
>カスタムコントトールがビジネスロジック側の(略)静的プロパティか何かを参照するだけ
UIパーツ(カスタムコントロール)がビジネスロジッククラスに依存するのはどうなのよ

125 :デフォルトの名無しさん:2016/09/23(金) 12:50:22.34 ID:nupyc52F.net
>>124
それは問題ない。
まずいのは逆の依存

126 :デフォルトの名無しさん:2016/09/23(金) 12:53:21.42 ID:o2Q2dMOD.net
そもそも正規表現で制御出来るような単純な字句的制約はビジネスルールとは言わん
それとも数値専用のテキストボックスですらビジネスルールだからUIから分離すべきとでも言う気か

127 :デフォルトの名無しさん:2016/09/23(金) 13:14:59.72 ID:4DXYL/D0.net
InputManで解決

128 :デフォルトの名無しさん:2016/09/23(金) 13:27:44.13 ID:nupyc52F.net
>>126
正規表現が使えないならビジネスロジック側に検証用の述語メソッドを用意してもらう。

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

検証用の正規表現パターン、あるいは述語メソッドはあくまでビジネスロジック側から
受け取るようにしなきゃ

129 :デフォルトの名無しさん:2016/09/23(金) 13:31:47.45 ID:nupyc52F.net
あと、数値だって上限下限があるとか、特定の数値は不可とか、
固有のルールはいろいろありうるよね

130 :デフォルトの名無しさん:2016/09/23(金) 13:35:38.72 ID:o2Q2dMOD.net
>>128
なぜそれレスを俺にするのかよく分からんな
俺は
そんなものはビジネスルールではない
と言っているのだぞ

131 :デフォルトの名無しさん:2016/09/23(金) 13:37:43.52 ID:o2Q2dMOD.net
>>129
そういう制約はビジネスルールに入る場合も多いが
単純に数値であるという字句的な制約はビジネスルールとは独立したものだ

132 :デフォルトの名無しさん:2016/09/23(金) 13:45:53.84 ID:nupyc52F.net
>>130
よくわからんこと言ってるけど、例えば正規表現で簡単にフィルターできる、
「ユーザーIDは半角英数字で8〜20文字、ただし先頭の文字は半角英字のみ」
だって立派なビジネスルールだ。

133 :デフォルトの名無しさん:2016/09/23(金) 13:49:14.26 ID:k2scBugP.net
画面に配置する度にテキストボックスに何が入力されるのかを判断してデザイナから正規表現を設定したりLoadイベントで検証オブジェクトを注入したりはめんどくさい
型が分かってるなら○○型用テキストボックスを作って配置するだけにした方が簡単だと思う
でもなんとなくUIが知識を持ちすぎてるように感じて気持ちは良くない

134 :デフォルトの名無しさん:2016/09/23(金) 13:49:46.76 ID:o2Q2dMOD.net
>>132
こう言えば分かるか
ビジネスルールが興味があるのはあくまでもValue
UIコントロールが制御するのはValueとして評価される前のTextのValidation

135 :デフォルトの名無しさん:2016/09/23(金) 13:52:03.90 ID:nupyc52F.net
>>134
まったくわからない

136 :デフォルトの名無しさん:2016/09/23(金) 13:58:45.95 ID:o2Q2dMOD.net
>>135
そうか、じゃあこれはどうだ
ユーザーが入力したものはあくまでもキャラクタコードの羅列にすぎない
当然ビジネスロジック側が扱える値として評価出来ないようなデタラメなものも含んでいる
それをビジネスロジックが望む値として評価出来るようにするまでがUIコントロールのもつ役割

それ以降の値の持つ意味的な制約をコントロールするのはビジネスロジックの仕事

137 :デフォルトの名無しさん:2016/09/23(金) 14:08:32.32 ID:nupyc52F.net
>>136
言いたいことはわからないでもないが、例えば現実の問題としては
入力したユーザーIDが不適切な場合はダイアログのOKボタンをクリックする前に
ErrorProviderか何かで通知するか、そもそも入力できないようにして欲しい、
という要望があったりする。

繰り返しになるけど、そもそも論として、ビジネスロジック側がUIに依存したらおかしいが、
UIがビジネスロジックに依存しても何もおかしくない。

138 :デフォルトの名無しさん:2016/09/23(金) 14:17:08.23 ID:o2Q2dMOD.net
>>137
いや俺が言ってるのはどっちが依存したら良いとか悪いではなくて
validationにもUI側が受け持つべき部分とビジネスロジック側が受け持つべき部分の
2種類あるという事だ
そして元々>>118が言ってる商品コードを表す文字列のルールはUI側が受け持つべき部分であり
ビジネスロジック側が扱うのは商品コードとして有効な値に評価された後でよい
という事な

139 :デフォルトの名無しさん:2016/09/23(金) 14:18:54.66 ID:k2scBugP.net
>>136
ビジネスロジックが求める形式はビジネスロジックしか知らないはずだけど

140 :デフォルトの名無しさん:2016/09/23(金) 14:20:55.08 ID:AqTRNsCZ.net
入力項目をファクトリから生成するようにして
ロジックの配下におけばいい

141 :デフォルトの名無しさん:2016/09/23(金) 14:22:49.17 ID:o2Q2dMOD.net
>>139
うーん
ビジネスロジックが知っているのは値の持つ意味
特定の文字列が特定の形式、これはむしろクラスと考えても良いが
に合致するかどうかってのはビジネスロジックが知る必要はない

142 :デフォルトの名無しさん:2016/09/23(金) 14:31:36.51 ID:k2scBugP.net
>>141
コード値のプレフィックスを見て処理を分岐するとか
文字列の形式がビジネスロジックに影響する例は探せばいくらでもあると思うけど?
もちろんプログラム設計が悪いとかじゃなくそういう要件が現実にあるって話で

143 :デフォルトの名無しさん:2016/09/23(金) 14:34:06.56 ID:nupyc52F.net
>>138
そんな分類はプログムを綺麗に書きたいプログラマ側の都合に過ぎないよ。
何の意味もない。
ユーザーから見たら怠惰なプログラマのただの身勝手に過ぎない。

144 :デフォルトの名無しさん:2016/09/23(金) 14:38:06.66 ID:o2Q2dMOD.net
>>142
その例の場合は、たまたま、というか確かに現実的に多用される手法だけど

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

為にロジック的に文字列の形式を評価して分岐しているように見えるというだけで
原則的にビジネスロジックが判断してるのは値の意味なんよ

145 :デフォルトの名無しさん:2016/09/23(金) 14:38:15.25 ID:nupyc52F.net
今時webのUIだって、入力した値が不適切なら入力した段階で教えてくれるよね。

146 :デフォルトの名無しさん:2016/09/23(金) 14:39:23.90 ID:o2Q2dMOD.net
>>143
おいおいプログラムを綺麗に書きたくて議論してたんじゃないのかよw

147 :デフォルトの名無しさん:2016/09/23(金) 14:42:38.64 ID:nupyc52F.net
>>146
こちらはプログラムを綺麗に(可読的かつ後の修正に耐えるように)
UIがビジネスロジック側から提供される入力検証用のロジックを参照せよと言っている。

君が言っているのは、そもそもUI側でビジネスロジックべったりの入力検証なんかするなという話。
それはただの現実の要求を無視したただの怠惰だ。

148 :デフォルトの名無しさん:2016/09/23(金) 14:47:02.61 ID:o2Q2dMOD.net
>>147
別にお前の意見
> UIがビジネスロジック側から提供される入力検証用のロジックを参照せよ
これを批判するような事を言ってるつもりは全くないのだが
なんか言い方が悪かったか?

149 :デフォルトの名無しさん:2016/09/23(金) 14:48:40.29 ID:k2scBugP.net
>>144
たまたま文字列じゃなくて
まんまドキュメントにナントカのIDは先頭がこの文字で何桁のハイフン区切りでハイフンの後ろを取り除いたら親ナントカのIDに一致する文字列ですみたいなことが書いてあったりする
これはプログラミングで必要だからそうなったものではなく実際にエンドユーザーがそういう認識でナントカIDを認識、運用している
これはどうみたって見た目の問題じゃなくビジネスロジックじゃないかな?

150 :デフォルトの名無しさん:2016/09/23(金) 14:49:56.75 ID:nupyc52F.net
>>148
じゃあ延々何を言ってるわけ?w

151 :デフォルトの名無しさん:2016/09/23(金) 14:54:34.72 ID:o2Q2dMOD.net
>>149
うん、ユーザーは字句表現と値の意味を区別するって意識がそもそもないからな
でも開発者はそこから字句表現と値の意味を分離してビジネスロジックの本来的な意味を
読みとらないとゴチャゴチャと整理されないままの融通の利かないいわゆる
「使えないシステム」が出来あがる

152 :デフォルトの名無しさん:2016/09/23(金) 14:58:31.27 ID:o2Q2dMOD.net
>>150
少し話が展開しすぎたから俺もよくわからんw

153 :デフォルトの名無しさん:2016/09/23(金) 17:47:43.12 ID:O2gBGGU9.net
>>137
>UIがビジネスロジックに依存しても何もおかしくない
別にお前の意見に意義があるわけでなないんだが
UIパーツ(全体としてのUIではなく、あくまでUIを構成するパーツな)の再利用性についてどう考えてるのか教えてくれ

154 :153:2016/09/23(金) 17:51:38.54 ID:O2gBGGU9.net
×意義
○異議
な。意義がないとか、全否定してるみたいだから訂正しとく

155 :デフォルトの名無しさん:2016/09/23(金) 18:00:12.62 ID:pqhQamNt.net
>>153
もう書いてますよ>>128

汎用的に作った方がいいか、どの程度汎用性を持たせるかはケースバイケース。
別に一つの目的にしか使えないコントロールがあっても何も悪くない。

156 :デフォルトの名無しさん:2016/09/23(金) 18:04:25.83 ID:O2gBGGU9.net
>>152
お前の意見はビジネスロジック以前の単純なチェックはUI自身でやらせろってことだと思うが
じゃあ、ビジネスロジックにかかわる入力チェックを行うUIパーツはどうあるべきだと思うの?

157 :デフォルトの名無しさん:2016/09/23(金) 18:16:24.17 ID:O2gBGGU9.net
>>155
>別に一つの目的にしか使えないコントロールがあっても何も悪くない
なるほど。おおむね同意だが、さすがに>>128からこれを読み取るのは難しいw

まあ、これを許すのなら
>デザイナで正規表現パターンを設定しちゃう
ようなものや、いっそコントロール自体に検証パターンをハードコーティングしたようなものも
許されていいんじゃないかという気もするけどな
まあ、その辺の加減はまさに
>どの程度汎用性を持たせるかはケースバイケース
って話ではあるが

158 :デフォルトの名無しさん:2016/09/23(金) 18:22:41.62 ID:XaRdCidB.net
さすがVBだわwwwバカばっかwww

159 :デフォルトの名無しさん:2016/09/23(金) 18:29:52.08 ID:o2Q2dMOD.net
>>156
どういう意図の質問なのかいまいちよく分からんが

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

ただし俺はジョンレノンと違って現実見てる人だから
UI側でセマンティックなvalidationをした方が実装的に都合が良い
というのであればそれはそれで全くかまわんよ

160 :デフォルトの名無しさん:2016/09/23(金) 18:40:12.83 ID:O2gBGGU9.net
>>159
実装の都合じゃなくて、ユーザビリティ的に当然にそれを求められるわけなんだが...

セマンティックなvalidationを行うためのUIコントロールはどうあるべきかって話をしてたと思ったんだが
ちょっと違う次元の話をしてらしたのね

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

で、ユーザビリティの為にセマンティックなvalidationをUIが受け持つ必要は全くない
そこはあくまでも実装上の簡便性と拡張性とのバランスの問題

162 :デフォルトの名無しさん:2016/09/23(金) 18:58:27.30 ID:O2gBGGU9.net
>>161
>カスタムコントロールにビジネス上の知識を持たせるのって有りですか?
>商品コードは特定の正規表現を満たす文字列であるというビジネスルールがあるとします

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

わかってて論点をずらしてるのか、わからないから論点がずれてるのか
ま、これ以上はまともな議論になりそうもないからこの辺で俺は引っ込むわ

163 :デフォルトの名無しさん:2016/09/23(金) 19:01:43.37 ID:o2Q2dMOD.net
ただの負けずぎらいだったかw

164 :デフォルトの名無しさん:2016/09/23(金) 22:17:33.66 ID:QN68f0P3.net
お前ら
UIとBLの間にサービス層というものを
作ったことがないのですか

165 :デフォルトの名無しさん:2016/09/23(金) 22:31:30.97 ID:ytBluy/j.net
VBで何言ってんの
イベントハンドラにベタ書き、
レビューで文句言われたらモジュールにそのまま移動するだけ
これがVBやで

166 :デフォルトの名無しさん:2016/09/23(金) 22:44:17.99 ID:k2scBugP.net
>>164
サービス層やビジネス層に渡すパラメータの検証の話をしてるのでは?

167 :デフォルトの名無しさん:2016/09/23(金) 22:46:35.09 ID:h+j53T+k.net
どこもそうやで
コントローラーとか作ってもいいけど、何書くか迷う人続出

168 :デフォルトの名無しさん:2016/09/23(金) 22:56:58.35 ID:PwXnKVri.net
>>164
スレ間違えてないか?

169 :デフォルトの名無しさん:2016/09/27(火) 00:38:43.68 ID:oI7fJQ/J.net
だってうちの会社Linq使うなっていうんだもん…
8000行の画面のカスタマイズ(クラス名はfrm00100000020)を押し付けられても困るし…

170 :デフォルトの名無しさん:2016/09/27(火) 00:43:58.16 ID:rJ2xXuAE.net
メソッドチェーンなら誤魔化せるだろ
それか非拡張メソッド形式で呼び出し
まさかメソッド禁止ってこたないだろうし

171 :デフォルトの名無しさん:2016/09/27(火) 11:47:43.35 ID:woj1K1Xu.net
フォームにコンテナ(たとえばGroupBox)を張って
そのコンテナの中にテキストボックスを数個おいて幅などを調整

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

コンテナに含まれるコントロールに応じて
コンテナサイズを自動的に調整する手段はないのでしょうか。

172 :デフォルトの名無しさん:2016/09/27(火) 12:04:25.39 ID:K+U0Izbl.net
>>171
率直に言ってどこが手間かさっぱりわからん。
っていうか、あんたいつも質問だけしてトンヅラしちゃう人だよねたぶんw

173 :デフォルトの名無しさん:2016/09/27(火) 22:34:32.22 ID:zETe1SmY.net
>>171
Loadイベントで計算すればいいのでは?

174 :デフォルトの名無しさん:2016/10/08(土) 09:07:35.92 ID:vL+1Z5yj.net
VBやってる奴が、VB消えてC#やるくらいならJAVAやると言ってたけど
絶対にC#やるね

VB以外使う気のない向上心の低い人間が
eclipseやnetbeensなんぞ
使える筈がない

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

goto文とか。。。

176 :デフォルトの名無しさん:2016/10/08(土) 10:18:06.75 ID:xglEW1n9.net
>>174
向上心があってもC#だとおもうけどな
最近Iavaの仕事入ったけど何が良いのか分からない
昨日javaやってる人の話では
取り敢えずNull許容型も使えないし
OrElseやAndAlsoも使えないらしいじゃないか
この調子で行くと実はvb6と大して変わらないんじゃないか?

177 :デフォルトの名無しさん:2016/10/08(土) 10:19:22.10 ID:xglEW1n9.net
>>175
やめろw

178 :デフォルトの名無しさん:2016/10/08(土) 10:22:45.61 ID:vrZNWqvT.net
>>174
向上心もクソも、Javaのドカタ開発なんか決まりきった枠組みの中でコピペ垂れ流すだけやぞ
コボラーやペチパーからDDDとかやってるガチな連中まで誰でもウェルカムなJavaと違って
.NETはVBがカスの受け皿になってるためにC#は比較的意識高い空気があるからむしろVBerには馴染みにくいと思われる

179 :デフォルトの名無しさん:2016/10/08(土) 11:53:52.07 ID:lglHWhKO.net
>>175
弊社でも同じような要件で仕事をたまにやってるけどうまくいった試しがない
コードや作法を維持するために不要なハックコード・パッチコードを大量に追加しなければならない
VB6のコードも酷いけどそのせいでむしろ保守性が悪くなる
リプレースの前にVB6のままリファクタリングすればうまくいくんだけどな

180 :デフォルトの名無しさん:2016/10/08(土) 20:58:07.90 ID:c2XSdclF.net
弊社てwこいつアホだろw

181 :デフォルトの名無しさん:2016/10/08(土) 22:09:50.82 ID:160QOg/G.net
>>178
JavaもC#も大差なく素人から達人まで幅広くいる
VBが圧倒的に地を這っているのは確かだがそれでC#erを持ち上げるようなことはないよ

182 :デフォルトの名無しさん:2016/10/08(土) 22:15:48.56 ID:50+P0fkb.net
>>175
リプレースっていうのはそういうもんだ
せっかくだから・・・といろいろと色気を出すとドツボにハマる

183 :デフォルトの名無しさん:2016/10/08(土) 23:11:10.01 ID:5XiE+va+.net
じゃあなんのためにリプレースするのさ

184 :デフォルトの名無しさん:2016/10/08(土) 23:14:09.01 ID:5XiE+va+.net
今まさにリプレース案件やってるんだが
本当に何のためにリプレースしてるのかだれか教えてくれ
http://forza.cocolog-nifty.com/blog/2008/02/post_6234.html

185 :デフォルトの名無しさん:2016/10/08(土) 23:15:16.83 ID:QRFMCd1a.net
意識高い()つもりのC#厨って何のためにここ見てるの?

186 :デフォルトの名無しさん:2016/10/09(日) 00:13:11.37 ID:wwPMkRFM.net
>>183
ツールやライブラリのサポート打ち切りが多い
まだまだ余裕で動くんだけど公式にサポートが無いという状況を恐れているお客さんは少なくない

187 :デフォルトの名無しさん:2016/10/09(日) 01:31:29.79 ID:r1p0JkFt.net
>>185
意識高いかどうかはともかくC#やJavaくらい使えて当然だろ?
まさかVBerはみんな自分みたいにC#使えないのが当然だとでも思ってるのか

188 :デフォルトの名無しさん:2016/10/09(日) 01:49:02.64 ID:B/N5a+DZ.net
>>187
使える人もいるし、使えない人もいるよ
家に閉じこもってないで、もっと外の世界を見よう

189 :デフォルトの名無しさん:2016/10/09(日) 01:53:43.78 ID:Jzv5OHPt.net
VBとC#ってほぼ同じだろ
なんなんだこの扱いの差は

190 :デフォルトの名無しさん:2016/10/09(日) 08:37:09.99 ID:wwPMkRFM.net
実績って大事だよね

191 :デフォルトの名無しさん:2016/10/09(日) 08:41:11.43 ID:ufk0aci5.net
>>189
ほぼ同じって信じてるバカのせいじゃね?

192 :デフォルトの名無しさん:2016/10/09(日) 10:02:06.44 ID:7VtbLppb.net
やっぱC#厨ってバカなんだねw

193 :デフォルトの名無しさん:2016/10/09(日) 12:31:22.13 ID:gnTrYliV.net
単純にBASICのネーミングを嫌う人が多いよね
IFとかFORのブロックをEND〜から{}に変えるだけで格段に読みやすくなるのになぁ、とは思う

194 :デフォルトの名無しさん:2016/10/09(日) 14:00:15.61 ID:u4wAPfrW.net
俺はそこはむしろ逆だな
単純な見易さで言ったら波カッコよりキーワードの方が見易い
そしてキーワードよりインデントのpython形式の方が見易い

195 :デフォルトの名無しさん:2016/10/09(日) 14:51:08.11 ID:7VtbLppb.net
だよなw
{}の方が見やすいとかどんな脳してるんだw
あとインデントは必要だけどそれだけだったらページ跨いだ時にどうもならん

196 :デフォルトの名無しさん:2016/10/09(日) 15:30:39.31 ID:B/N5a+DZ.net
そこは慣れでしょ
Pythonのインデントのほうが見やすい人もいるし

197 :デフォルトの名無しさん:2016/10/09(日) 15:57:49.59 ID:u4wAPfrW.net
>>195
でもページまたぐようなブロックってクラススコープだけだろう
1画面以内(多くても15行ぐらい)のメソッド以外書いた記憶最近じゃもうないわ

198 :デフォルトの名無しさん:2016/10/09(日) 17:00:56.48 ID:ufk0aci5.net
>>195
VB脳キタ━━━━(゚∀゚)━━━━!!

199 :デフォルトの名無しさん:2016/10/09(日) 17:03:25.10 ID:7VtbLppb.net
流石C#脳w

200 :デフォルトの名無しさん:2016/10/09(日) 18:08:02.87 ID:r1p0JkFt.net
>>199
ページ跨ぐ長大なメソッドを生産するのがVB脳で
適当に分割するのがC#脳だとしたらそのレスは文字通りの賞賛の意味になるがお前はそれでいいのか

201 :デフォルトの名無しさん:2016/10/09(日) 18:48:02.41 ID:B/N5a+DZ.net
C#使ってる人はなんでこんなにマウンティングしたがるの?
VBに親でも殺されたの?

202 :デフォルトの名無しさん:2016/10/09(日) 18:53:33.65 ID:ufk0aci5.net
>>199
ありがとね

203 :デフォルトの名無しさん:2016/10/09(日) 19:04:24.18 ID:4RubojJS.net
今のVBはBASICの文法と後方互換性を保ったまま機能を追加しすぎてるから
C#に比べて単純に書きにくいし読みにくい
俺にとっては最も難しいプログラミング言語の一つ

204 :デフォルトの名無しさん:2016/10/09(日) 19:07:05.46 ID:qa3paDEf.net
やたら関数化する人のソースって見づらいよねって言われました
VBだと例えばボタンを押したときの機能は1つの関数にまとめるのが良いのでしょうか?

205 :デフォルトの名無しさん:2016/10/09(日) 19:15:20.40 ID:1Q+mN8qo.net
なんでそんな全か1かなの

206 :デフォルトの名無しさん:2016/10/09(日) 19:51:46.57 ID:yh5soZNP.net
>>201
C#erだけど
Cの系譜じゃないからVB嫌い

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

でも、.NETのひとくくりで
VB任されたりするから
いち早く死んで欲しいんだ

207 :デフォルトの名無しさん:2016/10/09(日) 19:59:53.11 ID:B/N5a+DZ.net
>>206
VBの仕事断ればいいよ
断れないなら、C#で書いてVBに変換したらいい
あと癖っていうか、それはその言語に慣れてるだけで、別に悪いことじゃない気がするわ

208 :デフォルトの名無しさん:2016/10/09(日) 20:08:34.54 ID:cwz+vQn7.net
>>201
親じゃないけど同僚が1人死んでる

209 :デフォルトの名無しさん:2016/10/09(日) 20:18:58.29 ID:yh5soZNP.net
>>207
出来ないことはないけど
やりたくない

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

VBが.NETじゃなければ通用するかも知れんけど
不幸なことにVBは.NET

210 :デフォルトの名無しさん:2016/10/09(日) 20:28:42.01 ID:7UHrss8Z.net
相互にトランスパイルする機能とか出来ないんかな

211 :デフォルトの名無しさん:2016/10/09(日) 21:57:54.02 ID:yh5soZNP.net
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.net
Pythonみたいにインデントで書けるなら
VB.NET見直す

ENDとか、このご時世にタイピング多過ぎ

213 :デフォルトの名無しさん:2016/10/09(日) 22:05:50.50 ID:yh5soZNP.net
>>204
COBOLとか1関数に1000行くらい書くよね

214 :デフォルトの名無しさん:2016/10/09(日) 22:06:52.00 ID:B/N5a+DZ.net
ENDなんて自分で書くか?
それより行末のセミコロンのほうが面倒だよ

215 :デフォルトの名無しさん:2016/10/09(日) 22:06:59.03 ID:qa3paDEf.net
記号だと覚えるの面倒じゃん
言語によって記号の意味が微妙に違ったりするしな

記号による混乱といえばC言語のポインタが元祖じゃないかとおもってるけど
最近の言語だって配列が丸カッコと角カッコで違ったりと無駄な暗記力が要求される

216 :デフォルトの名無しさん:2016/10/09(日) 22:08:52.54 ID:qa3paDEf.net
>>213
1関数2000行〜3500行で1ファイル1万行超えとか普通なの?
COBOLは知らないけど事務処理系の言語だから共通してるのかな

217 :デフォルトの名無しさん:2016/10/09(日) 22:14:42.21 ID:yh5soZNP.net
>>215
VBの配列ってカッコ使わないの?

使うなら、他言語するなら
結局無駄な暗記力が要求されるんじゃね?

218 :デフォルトの名無しさん:2016/10/09(日) 22:15:59.00 ID:yh5soZNP.net
>>216
VBの世界に普通なんて無いんじゃね?

VisualStudioが固まりそうだけど

219 :デフォルトの名無しさん:2016/10/09(日) 22:17:33.80 ID:yh5soZNP.net
VBのリプレイスをしましょう!
VB.NETで

この絶望感はキツイ

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

ここが、VB.NETの害悪だと思ってる

220 :デフォルトの名無しさん:2016/10/09(日) 22:20:28.57 ID:B/N5a+DZ.net
そこは簡単じゃないって訂正するか、別の案をだしたらいいんでは?
言語に限らず馬鹿なクライアントの仕事はろくなもんじゃないよ。金持ってたら別だけど
そんなのと仕事をしなきゃいけない自分の立場を恨むしかないね

221 :デフォルトの名無しさん:2016/10/09(日) 22:23:52.17 ID:yh5soZNP.net
>>220
VBのリプレイスが逆にキツイとか
VB.NETの存在、全否定じゃね?

222 :デフォルトの名無しさん:2016/10/09(日) 22:38:18.64 ID:B/N5a+DZ.net
>>221
そこは人によるでしょ
あなたが簡単にできないってだけの話

223 :デフォルトの名無しさん:2016/10/09(日) 22:46:22.52 ID:qa3paDEf.net
>>218
1万行ぐらいなら余裕で動いてくれるよ
その点はVBすごいって思うよ

>>219
来週からVB6からVB.NETへのリプレース案件やるよ!
しかも客側の担当者はそのアプリを使ったことがない人だよ!!
市販コントロール使ってるからビルドすら出来ないよ!!

224 :デフォルトの名無しさん:2016/10/09(日) 22:50:12.51 ID:yh5soZNP.net
>>222
で、簡単にVB時代のコードを書くんだから
VB.NET使いはバカにされる

時代は関数型言語に入ってるのに
構造化プログラミング止まりだもんな

225 :デフォルトの名無しさん:2016/10/09(日) 22:52:07.63 ID:yh5soZNP.net
>>223
VBリプレース
グレープシティとの合わせ技は
威力抜群だよな

で、WPFとか要求されたら
VB使い死ぬんじゃね?

226 :デフォルトの名無しさん:2016/10/09(日) 22:55:46.79 ID:yh5soZNP.net
VB6のアプリ8画面
一ヶ月でリプレースして

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

こんな糞案件全力で拒否したかったのに
営業が取ってきやがった!!!

227 :デフォルトの名無しさん:2016/10/09(日) 23:17:49.10 ID:yh5soZNP.net
VB6のプログラムとか
Windows10でも動くんだから
無理に.NETなんかにしなくて良いだろ

windows終了後に
Scalaで作りゃ良いよ

228 :デフォルトの名無しさん:2016/10/09(日) 23:41:06.10 ID:cwz+vQn7.net
>>226
次の仕事探し始めよっか

229 :デフォルトの名無しさん:2016/10/09(日) 23:43:38.69 ID:B/N5a+DZ.net
>>224
関数型なんて普及しないからどうでもいいよ

質問スレなのに、チラシの裏になってるのは如何なものか

230 :デフォルトの名無しさん:2016/10/10(月) 00:11:48.08 ID:lIANkkP8.net
スレチなのに粘着し続けるなんてVBの人気が悔しくてしょうがないんだねw

231 :デフォルトの名無しさん:2016/10/10(月) 10:14:44.54 ID:9h3bSpXM.net
人気w

232 :デフォルトの名無しさん:2016/10/11(火) 10:58:49.29 ID:TGkxV+I0.net
C#よりVBが優れているところ
  ・関数内でStatic変数が書ける
  ・With 〜 End With
  ・拡張メソッドで、拡張元を参照でき、その内容を書き換えることが可能

VBが残念なんところ
  ・拡張メソッドで、Object型を拡張できない

233 :デフォルトの名無しさん:2016/10/11(火) 19:39:59.09 ID:F+19S6qE.net
VBの残念なところ

i=i+1

234 :デフォルトの名無しさん:2016/10/11(火) 19:52:16.44 ID:8lv9/W5a.net
>>233
ああ、それな
確かに残念だ

235 :デフォルトの名無しさん:2016/10/11(火) 20:47:57.68 ID:nLx97S41.net
>>233
えっ?

236 :デフォルトの名無しさん:2016/10/11(火) 20:57:51.30 ID:k359FhBZ.net
ん?
俺は2008でVB見切り付けてもう使ってないけど、ちょっと前にC#スレで
話題になってたみたいにVBは拡張メソッドでthisを参照で渡せるみたいだから、
IncとかPostIncとか適当な拡張メソッド追加したらC#みたいな感じにできるでしょ

っていうかVBにも加算代入演算子はあるでしょw

237 :デフォルトの名無しさん:2016/10/11(火) 21:19:29.57 ID:2RFuKv6f.net
プログラミングをする中で1を足すっていう行為を行う事はあるの?

238 :デフォルトの名無しさん:2016/10/11(火) 21:22:09.33 ID:g3dISoW2.net
>>233
マジで言ってる?w

239 :デフォルトの名無しさん:2016/10/11(火) 22:10:56.85 ID:8+X/d/0Z.net
インクリメントメソッドあったような

240 :デフォルトの名無しさん:2016/10/12(水) 07:26:04.50 ID:sq4lP+Lj.net
i+=1
みたいなのなかったか

241 :デフォルトの名無しさん:2016/10/12(水) 07:34:22.83 ID:uoNvbxNE.net
素人がインクリメントで
混乱しちゃうから
ポリシーでできない
初学者用として良い思想だと思う

学習用のVB
仕事用のC#

242 :デフォルトの名無しさん:2016/10/12(水) 07:35:57.27 ID:u2agc9cE.net
素人隔離用のVB
初心者用のC#, Java

243 :デフォルトの名無しさん:2016/10/12(水) 07:39:44.75 ID:uoNvbxNE.net
学習用のVBを仕事で使うから
多次元配列配列とか
main関数だけのシステムが
出来あがる

VBは悪くない

244 :デフォルトの名無しさん:2016/10/12(水) 07:40:05.27 ID:8gnDT+LU.net
うん

245 :デフォルトの名無しさん:2016/10/12(水) 07:42:11.23 ID:uoNvbxNE.net
>>242
素人隔離用言語の案件が
.NET全体の半数占めてる異常事態

246 :デフォルトの名無しさん:2016/10/12(水) 20:28:14.05 ID:D5cXgAJ8.net
>>245
わかってて自民選んできたわけだしだししゃあない
既得権益重視の政策じゃITは育たない

247 :デフォルトの名無しさん:2016/10/12(水) 21:18:19.46 ID:H4Ck9EdE.net
素人用のほうが自分がメンテしなくてすむからいいわ

248 :デフォルトの名無しさん:2016/10/12(水) 21:25:37.07 ID:85o/Yoqy.net
VB6以前にあったVariant型って完全撤廃されたけど
C#にはvarっていうのがあるんだね。
一度値を入れると入れた値の型で確定するっぽいけど
これって昔のVB6みたいに配列でも入れられるのかなぁ。
VB6のVariant型はそれこそ何でも突っ込めるユルユルな危険な型だったけど
C#のvarの緩さってどのくらいのもんだろ?
俺の肛門くらいかな。

249 :デフォルトの名無しさん:2016/10/12(水) 21:30:02.01 ID:istexQmR.net
>>248
実行時とコンパイル時の区別がついてなさそうだねお宅w

250 :デフォルトの名無しさん:2016/10/12(水) 21:33:59.45 ID:MDgm7R4P.net
>>248
挿入時と排出時の区別がついてなさそうだねお宅w

251 :デフォルトの名無しさん:2016/10/12(水) 21:36:02.40 ID:XzbrdxqH.net
varは別にVariantとは関係ないよ
varって型があるわけでもない
var obj = new Hoge();
Dim obj As New Hoge()
これが意味合い近い
右辺は型が自明だから、その代入される変数も型は自明
なので変数の型の記述を省略できるねってだけ
var obj; みたいに代入(初期化)が存在しないとコンパイルエラー

252 :デフォルトの名無しさん:2016/10/12(水) 21:57:17.32 ID:sdd9b4H+.net
varは型じゃなくて、「型は推論してね、なければ今だけその型を作ってね」というコンパイラへのメッセージ
var自体は型じゃない

253 :デフォルトの名無しさん:2016/10/12(水) 21:58:02.87 ID:xN/YPNgg.net
>>248
Option Infer On にすればVBでも使える
Dim obj = New Hoge()

254 :デフォルトの名無しさん:2016/10/12(水) 22:17:04.44 ID:9oDwxE2X.net
実際VBは>>248みたいなアホの子ばっかりだから現実には使えんよ
未だにExplicit付けろだのStrictわからんだの言ってるレベルだから浸透するまでには10年はかかるんじゃないかな

255 :デフォルトの名無しさん:2016/10/12(水) 22:22:04.16 ID:sdd9b4H+.net
VBにはvarに似たようなものってないんだっけ…?
…と思ってたら、>>253 が来てた。 トン

256 :デフォルトの名無しさん:2016/10/12(水) 22:41:38.09 ID:sdd9b4H+.net
今更だけど >>284 の質問に答えると
「何でも入れていいのよ」と言っておきながら、いざ入れようとすると
「それは入れられません」だの
「入れるって言ってたものと違います」
と拒絶するんだから、まぁ、たぶん、>>284 の肛門と同じくらいだと思うよ

257 :デフォルトの名無しさん:2016/10/12(水) 22:42:55.63 ID:sdd9b4H+.net
>>248だった…

258 :デフォルトの名無しさん:2016/10/12(水) 22:51:37.78 ID:zL8csvwH.net
ヤバい
なんか知らない内に大人気w

259 :デフォルトの名無しさん:2016/10/13(木) 01:20:39.30 ID:YFhpRSU4.net
>>256
>「何でも入れていいのよ」と言っておきながら
今更の上に大嘘こくとかもう
varはコンパイル時に型が決まってるから何でもは入らんわ

型を明示してないDim文は、Optionの組み合わせでどの型になるか変わる
なんでも入れたいならVBならObject型つかっとけ

260 :デフォルトの名無しさん:2016/10/13(木) 07:41:00.86 ID:d/dyHEl/.net
なんでも入れたいという状況がまずほとんどない

261 :デフォルトの名無しさん:2016/10/13(木) 08:30:17.64 ID:U+TNkLbY.net
あるんだよ
そう、VBerならね

262 :デフォルトの名無しさん:2016/10/13(木) 19:05:40.28 ID:gX2GGxbI.net
ポリモーフィズムっていうやつでしょ

263 :デフォルトの名無しさん:2016/10/14(金) 00:43:23.83 ID:9A8wGeEh.net
Perfumeかっ!

264 :デフォルトの名無しさん:2016/10/15(土) 23:13:41.57 ID:wRrM2+Dz.net
リプレース案件に配属されたんだけどリプレースのやり方がわかりません
リプレーステクニックを教えてください

265 :デフォルトの名無しさん:2016/10/16(日) 00:38:20.58 ID:FoYCot45.net
上司に頼んでお前自身をリプレースしてもらったら?
大炎上を未然に防ぐ最強のリプレーステクニックだと思うよ

266 :デフォルトの名無しさん:2016/10/16(日) 02:45:30.78 ID:iJDqhd9/.net
俺なんて誰もビルドできないソフトのリプレース案件だぜ

267 :デフォルトの名無しさん:2016/10/16(日) 02:54:09.89 ID:gFCncXTr.net
ワイルドだろ〜ってか

268 :デフォルトの名無しさん:2016/10/16(日) 13:41:38.70 ID:XpgX501Q.net
画面も無く条件分岐と四則演算だけで
構成されたVB6アプリなら
VB.NETでリプレースした方が良いけど
画面があるならWPFとC#のが
良いだろ

後々を考えたらね

269 :デフォルトの名無しさん:2016/10/16(日) 13:59:24.00 ID:skNQwynR.net
そこにそんなにコスト掛けられると思うか?
現実的じゃないよね

270 :デフォルトの名無しさん:2016/10/16(日) 16:48:29.74 ID:43exmUNo.net
Formにビジネスロジックもデータアクセスもベタ書き
コードの書き方も下手なので処理の副作用が多くイベント発生順序がちょっと狂うだけで正しく動作しなくなる
リプレース前のUIコンポーネントは再利用できないからイベント発生順序をどうしても維持できなくなりバグが発生する
リプレース案件の問題を集約するとほぼ全部これなんだよな

271 :デフォルトの名無しさん:2016/10/16(日) 17:40:34.29 ID:mb+1nrfd.net
答:そのままVB6でメンテせよ。

272 :デフォルトの名無しさん:2016/10/16(日) 17:52:06.07 ID:7MDcSmyp.net
>>270
> イベント発生順序をどうしても維持できなくなりバグが発生する
こういうのはバグでなくリプレースするスキルがなかったと言ってくれ

273 :デフォルトの名無しさん:2016/10/16(日) 18:32:51.71 ID:43exmUNo.net
>>272
リプレースするスキルがなくてバグが発生するんじゃないか?
納めた物が期待通り動作しなければバグだろう

274 :デフォルトの名無しさん:2016/10/16(日) 18:45:32.77 ID:Kvo8MkD+.net
動かないやつを納品するのかよw

275 :デフォルトの名無しさん:2016/10/16(日) 18:52:10.28 ID:43exmUNo.net
>>274
当然だけど事前に合意をとったテスト仕様は全部クリアした上で納めるよ
でも他になんのバグも出さずに納品ってのは不可能

276 :デフォルトの名無しさん:2016/10/16(日) 18:53:27.16 ID:skNQwynR.net
>>270
それはVBに限らず、なんでもそうだぞ

277 :デフォルトの名無しさん:2016/10/16(日) 19:38:47.95 ID:7MDcSmyp.net
>>273
バグは紛れこむものでスキルには関係ない
お前が言っているのはスキル不足による必然的な誤り

278 :デフォルトの名無しさん:2016/10/16(日) 20:45:59.34 ID:8IyGpHqh.net
>>277
さすがに何言ってるのか理解できんわw

279 :デフォルトの名無しさん:2016/10/16(日) 20:48:30.33 ID:skNQwynR.net
>>277
それバグやん

280 :デフォルトの名無しさん:2016/10/16(日) 21:15:16.07 ID:7MDcSmyp.net
>>279
そもそも設計が出来ていないものはバグとはいわんし
テストとはそんなものを無理矢理つじつま合わせる事でもない
そんな事ばかりしてたらそりゃお前らの言う「バグ」は限りなく湧いて出るけど
要するにそれは未完の不安定な何かであり完成した製品には永久にならない

281 :デフォルトの名無しさん:2016/10/16(日) 21:32:13.80 ID:43exmUNo.net
現実世界では設計ミスもバグに含みます

282 :デフォルトの名無しさん:2016/10/16(日) 21:35:21.06 ID:7MDcSmyp.net
>>281
但しコーディングに限る、とは誰も言ってないけど
正しさの中に紛れこんだ誤りがバグ
>>270のはそもそも正しさ自体が未定義の状態

283 :デフォルトの名無しさん:2016/10/16(日) 21:39:29.73 ID:8IyGpHqh.net
>>282
絵に描いたようなオレサマ定義だねそれw

284 :デフォルトの名無しさん:2016/10/16(日) 21:40:39.69 ID:43exmUNo.net
現実世界では未定義の仕様による障害もバグに含みます

285 :デフォルトの名無しさん:2016/10/16(日) 21:44:56.02 ID:7MDcSmyp.net
>>284
一部の仕様が未定義であるとわかるのはあるべき正しい仕様が定義されているからであり
あるべき正しい仕様というものが定義されていない状態では未定義の仕様というものは存在しない

286 :デフォルトの名無しさん:2016/10/16(日) 21:53:13.50 ID:43exmUNo.net
ボタンはあるけど押した時の処理の仕様がない
メソッドの引数が不正な場合の仕様が決まっていない
ファイルがない時の仕様が決まっていない
データベースがオフラインの場合の仕様が決まっていない

現実世界では未定義の仕様は幾らでも存在します

287 :デフォルトの名無しさん:2016/10/16(日) 21:58:29.40 ID:7MDcSmyp.net
>>286
未定義である事は正しい仕様が存在するからわかるのだと言っているのだが
どうも噛みあわんな
というかお前の言ってるのは仕様じゃなく詳細設計のもれじゃないか
そもそも未定義の仕様ですらない

288 :デフォルトの名無しさん:2016/10/16(日) 22:02:19.33 ID:FoYCot45.net
>>287
賢いこと言ってるつもりかもしれないけど、そもそも君の言う正しい仕様というのはどういう意味?
そこを具体的に定義しないまま偉そうなこと言っても全部ブーメランだということに気付いてる?
この板で特に定義を明示しないまま「正しい仕様」というと一般的には
漏れなくミスなく実装すれば開発の目的を達成できる仕様ということだろうから
その意味では>>286は正しい

289 :デフォルトの名無しさん:2016/10/16(日) 22:06:09.37 ID:7MDcSmyp.net
>>288
既に目的を見失ってるな
問題なのは正しい仕様がなにかではなく
正しさ自体が未定義の状態の事をバグとは言わない
という事なのだが

290 :デフォルトの名無しさん:2016/10/16(日) 22:12:46.24 ID:skNQwynR.net
説明下手くそだなー
一緒に仕事してる人がいたら、その人は大変だわ

291 :デフォルトの名無しさん:2016/10/16(日) 22:17:40.80 ID:7MDcSmyp.net
てかお前らスキルなくて何も出来てないだけって言われたのが他人事に思えなかっただけだろ
今まで反論の体をなしてるレスは1つもなかったよ

292 :デフォルトの名無しさん:2016/10/16(日) 22:18:18.14 ID:43exmUNo.net
それを君が言っちゃうんだ?

293 :デフォルトの名無しさん:2016/10/16(日) 22:32:36.67 ID:iJDqhd9/.net
バグというのは仕様書に対して異なる実装が行われた時の動作のこと
仕様が不足しているのは仕様漏れ。仕様バグという言い方もないわけじゃないが方言といっていいだろう
設計レベルの成果物、実装レベルの成果物で何と何が紐づいてるかぐらい
おまえらだって知らないわけじゃないだろう
基本情報レベル、新人教育レベルの常識だ

294 :デフォルトの名無しさん:2016/10/16(日) 22:38:09.46 ID:skNQwynR.net
すべての元凶
>バグは紛れこむものでスキルには関係ない
>お前が言っているのはスキル不足による必然的な誤り

295 :デフォルトの名無しさん:2016/10/16(日) 22:38:42.66 ID:FoYCot45.net
>>289
だからその正しさというのは一般的には目的を達成できるかどうかでしょ
まあシステムの目的なんて考えずに仕様書の通りにコード書くことだけが仕事の人なのかもしれないけど、
だからって納品時に「仕様書に書いてないからここは空白にしました」なんて言うのか?
そうじゃないとしたらお前は何をもって仕様がおかしいとか抜けているとか判断してるんだ?
結局その物差しは目的だろ
俺が言いたいのは、正しさというものをあえて君が定義しない限りは ID:43exmUNo のように
「目的に合わないのは欠陥」という暗黙の前提で話をしてしまうのはそんなに不自然じゃないだろということ

296 :デフォルトの名無しさん:2016/10/17(月) 05:17:16.90 ID:kp8H+gVW.net
昔の、ホストコンピュータな世界ではたしかに、仕様不備(設計ミス)とバグ(コーディングミス)とを分けてた
プログラマは仕様書書かなかった時代の話だ
いまどきその感覚で話してるやつとは、すくなくとも.NET案件は一緒にやりたくないなぁ

297 :デフォルトの名無しさん:2016/10/17(月) 06:25:20.96 ID:urBt226A.net
仕様書を書いて顧客に納品する理由は合意形成の意味が大きい
この仕様書の通りに作るけど良いんですよねって念押しするために仕様書を納品する
仕様書を納めた以上は仕様書と違うコードを書いてバグが出たら製造責任
だけど仕様書そのものがバグってるなら合意とってっますよねってゴネることができる
開発はボランティアじゃないからな
コーディングのバグか仕様書のバグかを見極めるのはそういう意味で非常に重要

298 :デフォルトの名無しさん:2016/10/17(月) 07:11:26.89 ID:0a7DR5WO.net
お前らどうしても理解できないみたいだな
問題にしているのはそれがバグなのか必然的に動かないだけなのか
動かないものをなんでもバグと言えばいいってもんじゃない

299 :デフォルトの名無しさん:2016/10/17(月) 08:02:52.00 ID:8eStTtOD.net
>>298
そんなことを問題にしているのはお前だけ
他はみんな「目的を果たせないのは原因が何であれ欠陥」という前提は常識的に理解している
その責任の所在がどこにあるかは別問題だしこの板で議論することではない

300 :デフォルトの名無しさん:2016/10/17(月) 10:36:03.32 ID:IiMed3lm.net
つまらない言葉遊びで
スレ荒らしてんじゃねーよ糞ども

301 :デフォルトの名無しさん:2016/10/17(月) 12:43:57.00 ID:3c5khzr2.net
>>299
何故お前ら意味もわからず明後日の方向いた頓珍漢なレスばかりするのか?
それぞれ勝手な方を向いて居ない敵と戦ってるのばかりだよ議論なんかどこにもない

302 :デフォルトの名無しさん:2016/10/17(月) 18:04:06.90 ID:kp8H+gVW.net
必然的に動かんとか、仕事うけるレベル以下の話だし

303 :デフォルトの名無しさん:2016/10/17(月) 18:33:39.09 ID:0a7DR5WO.net
最初からハッキリそう言ってるんだけどなw

304 :デフォルトの名無しさん:2016/10/17(月) 20:16:34.68 ID:YnMf2kIz.net
真面目な話こういう人と同じ現場に回されたらどうすれば良いんだろう

305 :デフォルトの名無しさん:2016/10/17(月) 21:15:23.73 ID:tlSX7NCP.net
結局、ただのアスペルガーだったか
現実では絡みたくないわ

306 :デフォルトの名無しさん:2016/10/17(月) 21:32:08.76 ID:kp8H+gVW.net
たまに実際に現場にいるからなぁ

俺ならとりあえずバグって言葉を使わないようにするけど

307 :デフォルトの名無しさん:2016/10/17(月) 21:54:25.47 ID:0a7DR5WO.net
>>306
どうしてそういう嘘つくのかな?
仕事うけるレベル以下の人が同じプロジェクトで働くなんてありえないよ普通
それともなんか身の丈にあわないプロジェクトに潜りこむ裏技でも持ってるのお前?
そんな事してどんな得があるのかよくわからないけど

308 :デフォルトの名無しさん:2016/10/17(月) 22:06:51.29 ID:OlRB0UDA.net
アスペ同士を集めとくと会話がカオスで面白い

309 :デフォルトの名無しさん:2016/10/17(月) 22:19:04.66 ID:kp8H+gVW.net
>>307
技術力の足りないやつが現場にいて困るなんて言ってないけど
たまにいて困るのはお前みたいなやつだって話だよ

ああ、お前の技術力が仕事受ける以前だからそう思ったのかw

310 :デフォルトの名無しさん:2016/10/17(月) 22:22:04.06 ID:tlSX7NCP.net
>>307
技術力足りないやつなんて腐るほどいるやん
業界の現状をもっと知ったほうがいい

311 :デフォルトの名無しさん:2016/10/17(月) 22:32:53.21 ID:0a7DR5WO.net
>>309
だからどうしてそう脊髄反射で頓珍漢なレスすんのかね?
お前が>>306で言ってるのは言われた事がわからなくてもとりあえず相手にあわせるって事だよ
それに対して俺が言ってるのは話が通じない程レベルが違う人が同じプロジェクトで仕事をする事はないって事
つまり俺が「技術力の足りないやつが現場にいて困る」なんて事はありえないと言ってるんだけど
むしろお前がその「技術力の足りないやつ」の立場で言ってるのが>>306なんだよ
少しは考えてものを言う様にした方がいいぞお前

312 :デフォルトの名無しさん:2016/10/17(月) 22:37:23.00 ID:0a7DR5WO.net
>>310
つまりお前が考えてるのと同じ事を多分同じプロジェクトのやつらがお前に対して感じてるって事だよ
客観的にレベルが違いすぎる人が同じプロジェクトで働ける事なんてありえないんだから

313 :デフォルトの名無しさん:2016/10/17(月) 22:42:02.65 ID:tlSX7NCP.net
>>312
逆に同じようなスキルの人のみで構成される方がレアだぞ
君は新入社員か何かなのかね?

314 :デフォルトの名無しさん:2016/10/17(月) 22:47:57.62 ID:0a7DR5WO.net
>>313
きっとお前と俺が考えてる幅が違うんだろうな
そりゃプロジェクト全員がほぼ同じレベルなんて事は現実的に不可能だからある程度の違いは当然あるさ
俺が言ってるのは話が通じない程っていう限定付きだからね
高いか低いかは問わずそこまでレベルが違う人同士が同じ仕事をする事ってないよ

315 :デフォルトの名無しさん:2016/10/17(月) 22:57:41.88 ID:tlSX7NCP.net
>高いか低いかは問わずそこまでレベルが違う人同士が同じ仕事をする事ってないよ
あるんだな、これが
自分の話が通じないのを相手のせいにしてる時点でお察しだわ
友達少ないんだろうな・・・

316 :デフォルトの名無しさん:2016/10/17(月) 23:00:57.79 ID:0a7DR5WO.net
>>315
いやだから俺は自分のプロジェクトに話が通じない人は居ないと言ってるんだけど?
相手のせいにしてるのはお前なんだろ?お前も頓珍漢なやつだな

317 :デフォルトの名無しさん:2016/10/17(月) 23:05:24.27 ID:tlSX7NCP.net
これでアスペルガーって確定したな
周りに迷惑かけないように頑張ってくれよ

318 :デフォルトの名無しさん:2016/10/17(月) 23:07:39.62 ID:Ds3CMBeV.net
通じてると思ってるんだね
思うのは自由だけど

319 :デフォルトの名無しさん:2016/10/18(火) 03:19:21.44 ID:sMICGAt6.net
人材派遣会社の営業に連れられて、色んなSE・プログラマーが、
会社へ面接に来るけど、たいてい1日も持たない

即、突っ返すのが多い

320 :デフォルトの名無しさん:2016/10/18(火) 07:36:59.86 ID:12uxO2Uo.net
一日て
何させてるんだ

321 :デフォルトの名無しさん:2016/10/18(火) 21:41:02.19 ID:q8Y2lqKG.net
まぁ簡単に纏めると
「目くそ鼻くそを笑う」というやつだな

322 :デフォルトの名無しさん:2016/10/19(水) 00:49:29.93 ID:pTqLrw7j.net
仮にも派遣会社が何人もつれてくるのに、そのことごとくが1日で逃げたすということは
つれてくる人に問題があるんじゃなくて、つれてこられてるところに問題があると判断するのが妥当じゃね

323 :デフォルトの名無しさん:2016/10/19(水) 20:47:28.18 ID:w4QuZKCO.net
クソ設計なシステムが大杉な今日この頃

言語など問題じゃない

324 :デフォルトの名無しさん:2016/10/19(水) 20:59:04.22 ID:arYWyhLn.net
そりゃコードもろくに書かないような素人が机上の空論を何重にも積み重ねて作り上げた設計をもとに作るものがまともになるわけがないよね

325 :デフォルトの名無しさん:2016/10/19(水) 21:00:45.97 ID:4EiJpNnx.net
確かに言語の問題ではないかもしれないな
今javaの仕事場にいるが取り敢えず数千行に及ぶメソッドとかやめて欲しい
VBAですらこんなひどいのは見たことない。
ああ早く辞めたい。

326 :デフォルトの名無しさん:2016/10/19(水) 21:04:05.09 ID:u8VkfRi+.net
保守しないシステムなら、適当に作ればいいんやで

327 :デフォルトの名無しさん:2016/10/19(水) 22:19:41.31 ID:ZxcZNVlw.net
それをやりすぎて身動き取れなくなったのが日本のIT業界
世界から取り残される

328 :デフォルトの名無しさん:2016/10/22(土) 01:03:30.18 ID:FTu1fQ9L.net
適性ないやつは初日に追い返すほうがいい
数週間やった後だとお互いに無駄になってしまう
派遣側からみれば、客であるおまえらにむかって気に入らないから帰るとはなかなか言えない

329 :デフォルトの名無しさん:2016/10/22(土) 11:57:55.47 ID:T7KUESS5.net
派遣に限った話じゃないな
適正ない奴はクビにする
これを疎かにすると業界が腐っていく
重要な社会インフラを担う業界が腐れば国が腐るのは東電の件で分かっている筈だ
このまま放置すれば日本は後進国になる

330 :デフォルトの名無しさん:2016/10/22(土) 12:40:43.34 ID:mCTekUUM.net
>>329
お前クビ

331 :デフォルトの名無しさん:2016/10/22(土) 12:48:50.54 ID:qIeZBixA.net
vb関係ない話を延々と

332 :デフォルトの名無しさん:2016/10/23(日) 02:57:27.26 ID:1y658jXM.net
自分のことを棚上げして、他人のことを書いてる人ばっかり・・・

333 :デフォルトの名無しさん:2016/10/23(日) 11:49:00.91 ID:Bz0B2Q3g.net
VBで作ったアプリの見た目を変えるのはどうすればいいの?

334 :デフォルトの名無しさん:2016/10/23(日) 12:10:00.53 ID:LLV8Wwru.net
WinFormsなら簡単な方法はない
コントロールを全部オーナードローするよりはWPFやASP.NET MVCでGUIを作り直した方がマシ

335 :デフォルトの名無しさん:2016/10/23(日) 20:05:42.68 ID:VycPUQK1.net
strict offのVB.NETのプロジェクトでstrict onにした時にctype系の修正だけでも
一気にやってしまうことってできないでしょうか?
一個一個直すのが大変で。

336 :デフォルトの名無しさん:2016/10/23(日) 22:54:07.00 ID:Pb3uCFNH.net
strict onにしてもキャストが多いままだったらあまり意味がないよ
素直にoffにしとけば?

337 :デフォルトの名無しさん:2016/10/23(日) 23:12:43.14 ID:VycPUQK1.net
意味ないのですか
じゃあoffのままでいいかな

338 :デフォルトの名無しさん:2016/10/24(月) 00:00:16.72 ID:b4iOClrl.net
無くはないでしょ
いかに糞コードかが視覚的にわかるだけでも反省のきっかけになる

339 :デフォルトの名無しさん:2016/10/24(月) 00:14:16.06 ID:Bv6qLW9F.net
パフォーマンスが良くなったりはしませんか?

340 :デフォルトの名無しさん:2016/10/24(月) 06:00:21.39 ID:w9tXiXLn.net
むしろ悪くなる

341 :デフォルトの名無しさん:2016/10/24(月) 07:54:35.54 ID:pChB0rwr.net
!?
悪くなるんですか

342 :デフォルトの名無しさん:2016/10/24(月) 08:04:52.19 ID:jSed6172.net
な訳ねーだろだまされんなw

343 :デフォルトの名無しさん:2016/10/24(月) 09:04:19.86 ID:pChB0rwr.net
byrefの引数までctypeされちゃって動かなくなりました

344 :デフォルトの名無しさん:2016/10/24(月) 09:20:41.69 ID:++IEAJ3W.net
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.net
>>341
悪くなるよ
無意味なボックス化アンボックス化や変換が発生する

346 :デフォルトの名無しさん:2016/10/24(月) 12:38:57.71 ID:csInVVUs.net
>>345
それはキャストや変換を明示的に行おうが暗黙だろうが同じこと。
明示的にキャストや変換したらコストが高くなるとかそんなわけないでしょw

347 :デフォルトの名無しさん:2016/10/24(月) 12:41:53.82 ID:b4iOClrl.net
>>345
Strict Offが無駄な変換やボックス化をしてないとでも?
前後の型が分かってれば高速に変換できるケースは多いぞ

348 :デフォルトの名無しさん:2016/10/24(月) 12:47:19.62 ID:b4iOClrl.net
>>346
たぶん345は値の読出元と変換後の代入先の型がObjectならアンボックス化やボックス化が発生しないと思ってるんだろ
実際には、値の型で分岐→アンボックス→変換→ボックスという極めて非効率な操作になる

349 :デフォルトの名無しさん:2016/10/24(月) 12:47:40.07 ID:83bvzfHf.net
>>346
objectからobjectへの代入にキャストを挟むと遅くなりますよ

350 :デフォルトの名無しさん:2016/10/24(月) 19:43:19.47 ID:e8s5GSpS.net
それぞれがギリギリのラインで知ってる事を言いあってるだけだから会話としては成り立ってない

351 :デフォルトの名無しさん:2016/10/24(月) 20:33:38.21 ID:YenCzEnx.net
とりあえずCtypeよりはDirectCast使おうよ。
暗黙の変換を行うつもりは無いんでしょ?

352 :デフォルトの名無しさん:2016/10/25(火) 19:52:34.47 ID:/tmEVYbK.net
Ctypeでも状況によってはDirectCastと同じコード吐くらしいけどな
VB.NETのコンパイラさんは結構がんばってるぜ

353 :デフォルトの名無しさん:2016/10/26(水) 00:46:20.68 ID:+x2Xcmzl.net
そんなにキャストって使う?
tryparseすら使わんのだが
使うとしたらDirectCast(sender, コントロールの型)
くらいだわ

354 :デフォルトの名無しさん:2016/10/26(水) 01:38:21.10 ID:LebVIXiL.net
キャストの話題でなぜ突然tryparseすらという言葉が出てくるのか謎なのだが
vbだと文字列を数値として評価するような事もキャストって言うの?

355 :デフォルトの名無しさん:2016/10/26(水) 01:56:35.02 ID:KQmoHA4r.net
テキストボックスやSPREADに表示用の値をよく代入するから
キャストは頻繁に行う
また、カンマ区切りの数字を取得するのはキャストとはまた微妙に違うがけっこう面倒臭い

356 :デフォルトの名無しさん:2016/10/26(水) 02:02:30.25 ID:McM6fVIv.net
toStringじゃなくて?

357 :デフォルトの名無しさん:2016/10/26(水) 02:17:47.08 ID:Hu8g6Oi9.net
>>354
C系言語もその辺はいい加減だと思うよ。
例えば
int x = (int)3.14;
は普通に考えれば変換だけど構文はキャストそのものだし普通にキャストと呼ぶでしょ?

358 :デフォルトの名無しさん:2016/10/26(水) 06:48:15.05 ID:LebVIXiL.net
>>357
キャストって型変換の事だが
むしろそれがキャスト

359 :デフォルトの名無しさん:2016/10/26(水) 08:26:59.08 ID:KQmoHA4r.net
>>356
toStringが定義されてたらいいけど
どういう振る舞いをするのか確認するのも面倒なので
CTYPEやCINTあたりを使ってるよ
DirectCastのほうがミスを減らすためにもいいんだろうなぁ・・・

360 :デフォルトの名無しさん:2016/10/26(水) 08:35:34.34 ID:KQmoHA4r.net
ちょっと真面目な質問したいんだけど
DirectXのDLLってどこいったの?
参照の追加をしようと思ったら見当たらない

361 :デフォルトの名無しさん:2016/10/26(水) 09:17:41.37 ID:Zw4eFAd1.net
もうなくなったよ
SlimDXとかSharpDXとか使おう
ゲーム制作ならもうUnityで

362 :デフォルトの名無しさん:2016/10/26(水) 09:42:18.55 ID:EekeRq3r.net
>>358
本来のキャストはCで言えばポインタ変換だけ

363 :デフォルトの名無しさん:2016/10/26(水) 12:33:23.43 ID:wESs4v7p.net
>>362
それも誤解
directcast見てそう思ったのだろうけど
型変換は全てキャストだし逆に型変換でないものはキャストではない
本来とかそういう問題でもない

364 :デフォルトの名無しさん:2016/10/26(水) 12:56:23.78 ID:EekeRq3r.net
>>363
言っちゃ悪いけど、それお宅がキャストと変換の区別がついてないだけね。

計算機にとっては文字列の"123"をintの123にするのも、doubleの3.14をintの3にするのも
同じ「変換」だが、Cでは後者だけがキャストの扱いになっていて混乱している。

365 :デフォルトの名無しさん:2016/10/26(水) 13:35:43.91 ID:G6/jtze7.net
Cの議論は他でお願いします

366 :デフォルトの名無しさん:2016/10/26(水) 19:32:18.87 ID:LebVIXiL.net
>>364
vbしか知らないのに無理してcで例えなくてもいいよw
ちなみに
キャストは型変換であり、変換ではない
文字列→数値の場合文字列の表わす値を数値として評価しているのであり、変換ですらない
二重に間違ってるよお前

367 :デフォルトの名無しさん:2016/10/26(水) 19:56:05.00 ID:Kd62j3g9.net
>>366
お前さんのやってることは変換を評価と言い換えただけ。
そういうのを言葉遊びという。馬鹿じゃないの。

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

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

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

本来のキャストとはこの(1)だけを指す。

368 :デフォルトの名無しさん:2016/10/26(水) 20:07:53.96 ID:LebVIXiL.net
>>367
いやだから型変換だってばw
せっかく教えて貰ってんだから素直に聞けばいいだろw
そのオレオレ理論を意固地に貫いてもお前に何のメリットもないよ

369 :デフォルトの名無しさん:2016/10/26(水) 21:02:06.42 ID:X0t3H/iP.net
おまいら根拠にしてるソースURLなり書籍名なりplz

出せずに慣例だの常識だので曖昧に誤魔化して逃げる俺様定義絶対合ってる匿名マンなんてただの荒らしでしかない。
スルーして過疎スレに戻ろうず

370 :デフォルトの名無しさん:2016/10/26(水) 21:59:35.35 ID:QysY5RXf.net
>>367
クソワロタwww

371 :デフォルトの名無しさん:2016/10/26(水) 23:28:49.10 ID:KQmoHA4r.net
ポインタ変換って何なんだ?
ググっても全くヒットしないんだがコンパイラ業界では隠れた隠語なのか?

372 :デフォルトの名無しさん:2016/10/27(木) 00:26:42.82 ID:i508Z9Hm.net
しつこいな

373 :デフォルトの名無しさん:2016/10/28(金) 00:19:57.23 ID:8f+wXH5p.net
マジレスすると
キャスト(cast)は変換や型変換のことじゃないよ
英単語としてのcastの意味のそのまんまの「配役、役の割り当て」って意味だよ

374 :デフォルトの名無しさん:2016/10/28(金) 00:30:05.75 ID:5ko2vSX6.net
>>373
真面目に言ってそうで怖いなw
さすがVBer

375 :デフォルトの名無しさん:2016/10/28(金) 12:39:29.03 ID:4C9WQUMb.net
なんでVBの拡張メソッドはModuleなんだ
グローバルメソッドとしても使えちゃって気持ち悪いんだが

376 :デフォルトの名無しさん:2016/10/28(金) 12:51:16.32 ID:GTOY14JQ.net
VBはそういうの気にしない人向けの言語なので

377 :デフォルトの名無しさん:2016/10/28(金) 20:11:10.63 ID:wjrX//6G.net
たかだか記法の問題をいちいち気にする方がどうかしてる

378 :デフォルトの名無しさん:2016/10/28(金) 20:42:45.43 ID:ch5b/kiY.net
>>377
たかが記法の問題?本当にそう思う?
名前空間汚染の問題と単なる記法の問題の区別がつかないのがVBerらしいね

379 :デフォルトの名無しさん:2016/10/28(金) 21:17:37.68 ID:wjrX//6G.net
>>378
グローバルな識別子=汚染
ではないのだよ
「汚染」てのはライブラリが定義する意図しないグローバルな識別子が問題になるから
悪意を込めて使う言葉で自分で定義したりそれを望む場合には汚染て言葉は使わんよw
字面だけでなくちゃんと言葉の意味を覚えてから使おうね

380 :デフォルトの名無しさん:2016/10/28(金) 21:24:21.37 ID:1gzGBtQ8.net
>>379
プログラム作ってるのがお前だけならな…

381 :デフォルトの名無しさん:2016/10/28(金) 21:34:22.91 ID:8wjGwqyI.net
>>379
同意ですね

382 :デフォルトの名無しさん:2016/10/28(金) 22:00:09.91 ID:684gpVHK.net
VBerって言いたいだけやろ

383 :デフォルトの名無しさん:2016/10/28(金) 22:55:03.12 ID:ch5b/kiY.net
>>379
VBerは揚げ足取りしかできないのか
仮に汚染という言葉が不適切だったとしても単なる記法だけの違いではないのは確かだろ?
別に俺はモジュールは名前空間を汚染するから如何なる場合でも使うなと言っているわけじゃなく、
それが問題になるケースはあるから単なる記法の問題ではないと言っているだけだ
実際>>375は気持ち悪いと言っているのだから少なくとも>>375にとっては「汚染」だろう

384 :デフォルトの名無しさん:2016/10/29(土) 00:37:53.79 ID:vKDUHJSk.net
汚染の定義と使用法はどうでもいいんだが
グローバルメソッドの定義を教えてくれ

拡張メソッドが通常のメソッドとして呼び出せることが問題だっていうならわかるが
C#の拡張メソッドだって、利用可能な名前空間内に存在する必要があるわけで
モジュールうんぬんは意味がわからん

385 :デフォルトの名無しさん:2016/10/29(土) 00:57:42.29 ID:9Fs7N4rN.net
VBのモジュル内のメソッドはグローバル
クラス内の静的メソッドみたいにクラス内の名前空間内に存在しているわけではない。

まあ、ラムダ式といい、もう2008以降はVB使わない方がいいよっていうメッセージでしょ。
少なくとも俺はそう受け取って2005まででVBは見限った

386 :デフォルトの名無しさん:2016/10/29(土) 01:22:39.12 ID:vKDUHJSk.net
>VBのモジュル内のメソッドはグローバル
そのグローバルの意味が分からんのだが?
VBだとデフォルトでプロジェクト名の名前空間内に属してるはずだが
その名前空間を超えると?

387 :デフォルトの名無しさん:2016/10/29(土) 02:08:01.24 ID:9Fs7N4rN.net
正直長年VB使ってた中で一度もモジュールなんて使ったことなかったけど、
一応モジュールも名前空間の中(ルート名前空間に限らず)に定義できるんだな。

それはいいけど、モジュール自身が名前空間を構成しないから、
そのメンバーはモジュールが存在する名前空間を参照しただけで丸見えになっちゃうわけで
普通に考えれば拡張メソッドはC#と同様に静的クラス(VBにはないけど)に定義する方がよかったね

388 :デフォルトの名無しさん:2016/10/29(土) 07:10:41.84 ID:ddj4bzvw.net
>>384
モジュールはそれを含む名前空間をImportしただけ(or 同じ名前空間にあるだけ)で
モジュールのメンバが全てトップレベルのスコープにインポートされるだろ
拡張メソッドは オブジェクト.メソッド名 の形式でしか呼び出せないから、
トップレベルで参照可能な名前が増えるわけではなく影響は小さい
C#は最近のバージョンで using static が入ってクラスのstaticメンバをトップレベルにインポートできるようになったが
名前空間単位ではなく対象のクラス名を直接指定しなきゃいけないからやはりモジュールに比べれば影響は小さい

389 :デフォルトの名無しさん:2016/10/29(土) 08:03:59.22 ID:UEy06zu0.net
先頭にusingが列挙してあるC#のソースの見づらさと言ったら
しかも書いた人によってか、usingの羅列が違うという

390 :デフォルトの名無しさん:2016/10/29(土) 08:14:31.49 ID:ddj4bzvw.net
VC#には 未使用のusingの削除・整理 という機能があってだな
それでも見づらいようなロクに責務分割できてない長大なコードなら
usingが無かろうが見づらいから安心しろ

391 :デフォルトの名無しさん:2016/10/29(土) 09:08:07.61 ID:ov/h/7tc.net
そういや参照の自動削除機能がなくなったな
あれ便利だったのに

392 :デフォルトの名無しさん:2016/10/29(土) 10:30:39.20 ID:dpmyBZLi.net
Moduleがないとリプレースしたときにお客様がModuleがClassに変わってるんですけど使いにくいんですけどってご立腹なさるのでModuleは必要

393 :デフォルトの名無しさん:2016/10/29(土) 11:44:59.26 ID:cpi9mNqo.net
>>389
そこは(普通のプログラマが普通にプログラミングしてれば)VB使っても同じになるはずなんだけどw
むしろあんたはどういうコード書いてるのかとw

394 :デフォルトの名無しさん:2016/10/29(土) 19:48:16.97 ID:wsj9Hrl0.net
>>389
羅列が違うって何?

395 :デフォルトの名無しさん:2016/10/29(土) 20:01:25.49 ID:3eGSrWP/.net
>>394
using の順番

396 :デフォルトの名無しさん:2016/10/29(土) 20:16:52.74 ID:ddj4bzvw.net
>>393
ところがVBには、プロジェクトの設定で指定した名前空間を全てのソースで暗黙的にImportするというゴミのような機能がある

397 :デフォルトの名無しさん:2016/10/29(土) 21:11:12.71 ID:wsj9Hrl0.net
>>395
そんなもん自動で揃えられるだろ

398 :デフォルトの名無しさん:2016/10/29(土) 22:52:27.70 ID:UEy06zu0.net
>>396
そのほうが自然じゃないのか
プロジェクト内のソースごとにまちまちなほうが違和感を感じるが

399 :デフォルトの名無しさん:2016/10/29(土) 22:59:38.63 ID:wsj9Hrl0.net
>>398
ゴミキタ━━━━(゚∀゚)━━━━!!

400 :デフォルトの名無しさん:2016/10/29(土) 23:03:06.39 ID:i+DlxK4w.net
コードをプロジェクトの外に持ち出したら何が書いてあったかわからなくなるというほかは
デメリットが思いつかない

401 :デフォルトの名無しさん:2016/10/30(日) 00:15:39.58 ID:oo8ByUW6.net
>>399
おれ、いつも System.Linq だけ有効にして、残りは切って使ってるので
一括して名前空間の設定が出来て便利

usingのほうが不便

402 :デフォルトの名無しさん:2016/10/30(日) 00:21:18.07 ID:payAbzEM.net
>>401
他は全部明示的にImportしてるってこと?
お前完全にusing派だろw

403 :デフォルトの名無しさん:2016/10/30(日) 00:27:55.69 ID:ALtsNIP3.net
>>396
ああ、そういやそんな機能あったね

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

VBはあの有難迷惑のルート名前空間も鬱陶しいね

404 :デフォルトの名無しさん:2016/10/31(月) 16:51:00.87 ID:jCI7ny/t.net
ディクショナリーのキー取得時に dicHoge.Keys(intIndex) の様に書くと
VisualStudioでは問題無いのに、ideone上でエラーになってしまいます。
何か他に書き方があるのでしょうか?

405 :デフォルトの名無しさん:2016/10/31(月) 17:17:30.13 ID:OqD2s4Cc.net
うわ何これキモい
暗黙にElementAtOrDefaultに変換するのか

教科書的には
Dictionaryは順番を持たないコレクションだからインデックスでアクセスするのは変

406 :デフォルトの名無しさん:2016/10/31(月) 17:35:37.71 ID:SAEZOlIl.net
別にキーで要素を検索できることと要素が順序を持つことは何も矛盾しないと思うけどねw

407 :デフォルトの名無しさん:2016/10/31(月) 17:40:32.47 ID:OqD2s4Cc.net
うん、確かにそれはなにも矛盾してないね

408 :デフォルトの名無しさん:2016/11/02(水) 06:49:35.74 ID:/u8gEGW5.net
DelegateなメソッドをInvokeで呼ぶときに引数って渡せないのでしょうか?

409 :デフォルトの名無しさん:2016/11/02(水) 06:57:27.71 ID:2fBE4wO9.net
渡せる

410 :デフォルトの名無しさん:2016/11/02(水) 06:58:55.82 ID:/u8gEGW5.net
>>409
助かりました。

411 :デフォルトの名無しさん:2016/11/02(水) 08:50:07.47 ID:t5KdzDu6.net
VB久しぶりに触る機会があったけどc#よりちょびっとインテリセンスが馬鹿じゃないか?って感じた

412 :デフォルトの名無しさん:2016/11/03(木) 14:55:47.96 ID:8QV9xAcD.net
>>411
気のせいだよ。
それより末尾に";"つける癖から早く卒業しましょう。

413 :デフォルトの名無しさん:2016/11/03(木) 15:08:37.98 ID:I4v6hDq5.net
すぐ上の話題で答え出てるじゃん
ソースのトップレベルに出現する可能性のある識別子の数がC#に比べて遥かに多いからだよ
モジュールと既定のインポートのせい

414 :デフォルトの名無しさん:2016/11/07(月) 19:08:16.41 ID:CxfskhGH.net
誰かいる? 質問良いですか?
今RichTextBox派生のカスタムコントロール作ってて、
ちょっと詰まってる所があるから詳しい人教えてほしい

415 :デフォルトの名無しさん:2016/11/08(火) 00:51:44.51 ID:ysYQgtdr.net
質問いいですか?と聞いておきながら質問しないアホ発見

416 :デフォルトの名無しさん:2016/11/08(火) 01:46:02.67 ID:/yxQhcwh.net
すごいこと質問していい?

417 :デフォルトの名無しさん:2016/11/08(火) 02:11:19.46 ID:crOcTVn5.net
誰も居ないのかと思った。質問して良いなら質問させてもらいます

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

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

なので、入力中の文字を表示するのに、
ImmGetCompositionStringで取得した文字をDrawStringで書いてみようかなと思っているのですが
取得が上手くできません

418 :デフォルトの名無しさん:2016/11/08(火) 02:13:54.72 ID:crOcTVn5.net
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.net
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.net
>>419
テキトーに答えるけどとりあえずハンドルはIntPtrでないとダメでしょう

421 :デフォルトの名無しさん:2016/11/08(火) 02:35:47.42 ID:crOcTVn5.net
他の、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.net
やばい寝落ちそう……

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

1時間くらいは粘りたかったけど、眠いのでいったん引き上げます
もう一回試行錯誤して、どうしても駄目ならまた改めて来ます
>>420さん答えてくれてありがとう

423 :デフォルトの名無しさん:2016/11/08(火) 07:24:04.77 ID:Tr1jXB8d.net
Windows NT/2000 は Unicode 版と ANSI 版を実装

424 :デフォルトの名無しさん:2016/11/08(火) 07:25:30.64 ID:Tr1jXB8d.net
そもそも「エントリ ポイントが見つかりません」の意味分かってる?

425 :デフォルトの名無しさん:2016/11/08(火) 07:35:37.22 ID:ic1oOtKi.net
そもそもRichTextBoxにOnPaintで文字を描写って意味がわからん
それRichTextBox使う意味あるのか?

426 :デフォルトの名無しさん:2016/11/08(火) 07:49:06.42 ID:Iqb/ffmt.net
近年、若者のエラーメッセージ離れが深刻な問題になっています

427 :デフォルトの名無しさん:2016/11/08(火) 09:05:00.96 ID:crOcTVn5.net
おはよう

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

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

普通は違うのでやるんですかね? 例えばPictureBoxに描くとかですか?
もっと効率良い方法とかってあります?

428 :デフォルトの名無しさん:2016/11/08(火) 09:38:24.41 ID:+DS6ozoh.net
オープンソースのエディタのソース読んだ?
話はそれからだ

429 :デフォルトの名無しさん:2016/11/08(火) 10:18:57.02 ID:Tr1jXB8d.net
>>427
imm32.dllの中にImmGetCompositionStringが無いよって言ってるんだから
ImmGetCompositionStringAかImmGetCompositionStringW探せって言ってるんだけど…

430 :デフォルトの名無しさん:2016/11/08(火) 11:11:17.92 ID:crOcTVn5.net
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.net
ん?
いちいちAとかWとかつけなくても自動的にUnicodeバージョンが選択されるように
なってるはずだと思ったけど、VBは違うのか?

432 :デフォルトの名無しさん:2016/11/08(火) 12:11:48.40 ID:h2p8PH96.net
DllImport使わずにDeclareなんてVBのレガシー機能使ってるからかな。
ちなみに、デフォではANSIバージョンが選択されるんだな記憶違いだった

433 :デフォルトの名無しさん:2016/11/08(火) 13:57:55.49 ID:VtVauF4w.net
わざわざAliasなんて付けるから自動選択が働かない
なんでか知らんけどDeclareのサンプルはほとんどAlias付けてるんだよな
VB6だと必須だったのかね?

434 :デフォルトの名無しさん:2016/11/08(火) 15:14:26.16 ID:Tr1jXB8d.net
>>433
付けないとエラーになるっつってんだろ

435 :デフォルトの名無しさん:2016/11/08(火) 15:23:43.48 ID:VtVauF4w.net
あ、ごめん
Declare Autoにした場合のみだったのね

436 :デフォルトの名無しさん:2016/11/08(火) 20:21:53.56 ID:t3tssHtU.net
デフォはどっちかすぐ忘れるから明示する

437 :デフォルトの名無しさん:2016/11/09(水) 00:41:48.78 ID:NSJDTbF5.net
>>416
駄目です。

438 :デフォルトの名無しさん:2016/12/06(火) 23:28:37.80 ID:qDbNXMxz.net
テキストボックスとかコントロールをコピーしたいんだけど、簡単にできませんかね?

439 :デフォルトの名無しさん:2016/12/07(水) 00:48:28.39 ID:wAmrJ/1m.net
ctrl-c、ctrl-v じゃあかんの?

440 :デフォルトの名無しさん:2016/12/07(水) 00:59:33.95 ID:SEeb/ONi.net
すいません、インスタンスをコピーです

441 :デフォルトの名無しさん:2016/12/07(水) 02:09:55.02 ID:fOypxOSG.net
>>438
簡単にできる
http://ideone.com/ZFaUb7

442 :デフォルトの名無しさん:2016/12/20(火) 21:56:31.88 ID:f9HTxJj+.net
データベースから大量のデータを取得するときってDataTableとDataReaderどっちがいいの?

443 :デフォルトの名無しさん:2016/12/20(火) 22:13:21.49 ID:wmh5vlKz.net
DataTableはオンメモリだから処理できるデータ量には限界があるし、
DataTable.Loadだと全部のロードが終わるまで処理を始められないので
ロード中のIO待ちの時間が無駄になる。
もし大量データ処理時のメモリ使用量やスループットが問題になっているなら
DataReaderでストリーミング処理することで性能を大幅に改善できるはず。

444 :デフォルトの名無しさん:2016/12/20(火) 22:40:05.78 ID:gUOuUtAj.net
youtubeを開くと
一番上の検索ボックスがさ
入力無しだとグレイ文字で検索って表示されてて
(この検索文字にカーソルは移動しない)
何かを入力するとグレイ文字が消える
これってどうやって実装するんすかね?
パッと思いつかんのだが。。。

445 :デフォルトの名無しさん:2016/12/20(火) 22:43:07.08 ID:TSG9jdVQ.net
パッと思いつかん時はジックリ考えろ
それでも思いつかんかったらソープ行け

446 :デフォルトの名無しさん:2016/12/20(火) 23:12:04.98 ID:wmh5vlKz.net
>>444
HTMLのplaceholderだよ

447 :デフォルトの名無しさん:2016/12/20(火) 23:16:47.98 ID:gUOuUtAj.net
>>446
ありがとう
知らんかったわ
勉強になった

vbでも実装できないかな?

448 :デフォルトの名無しさん:2016/12/23(金) 17:17:30.06 ID:89cvwMZr.net
時々テキストボックスを監視して、空の時だけ重ねた別のテキストプレーンにSearchとか表示させるとか…
他にも色々方法はあるやろ

449 :デフォルトの名無しさん:2016/12/23(金) 17:58:29.05 ID:89cvwMZr.net
言った手前
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.net
カレットが入るまでは淡色の文字表示しとってカレットが入ったら背景画像に差し替える
文字が入ったら白背景とかw

451 :デフォルトの名無しさん:2016/12/29(木) 07:29:02.60 ID:qvNXwZDz.net
データベースをアクセスするプログラムってACCESS以外は、埋め込みSQLとC言語を使ってUNIX上でしかやったこと無いロートルですが、
VB.NETでDBアクセスって今は何が主流なん?
ADO.NET関係の書籍って、アマゾンでも結構古いのが多いんだけど、ADO.NETって過去の遺物なん?

452 :デフォルトの名無しさん:2016/12/29(木) 07:50:42.07 ID:HW4fqFSE.net
SQLServerならばADO.NET
OracleならODP.NETだな

453 :デフォルトの名無しさん:2016/12/29(木) 11:13:15.20 ID:BD9K+jOv.net
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.net
>>441
コピーできましたが、コンボボックスのデータソースなどがコピーされませんでした。
完璧に同じ物をコピーすることって簡単にできないでしょうか? 

455 :デフォルトの名無しさん:2016/12/29(木) 11:42:16.70 ID:/FtNyMoj.net
俺はSQLite使ってる

456 :デフォルトの名無しさん:2016/12/29(木) 17:42:29.56 ID:qvNXwZDz.net
>>452>>453
d。
かなり古い書籍だけど教科書としては十分といことですね。
何冊か尼でポチってみます。

457 :デフォルトの名無しさん:2016/12/29(木) 18:11:55.59 ID:ICm4kcbN.net
今時ADO.NETなんて括りに意味はないぞ
Entity FrameworkとかもADO.NETに含まれているらしく、
もはや「.NETのデータベース関連の機能」というだけのふわっとした総称でしかない
単純に低レベルAPI使って普通にSQL投げたいだけならDbConnectionのあたりを適当にググれば十分

458 :デフォルトの名無しさん:2016/12/29(木) 19:04:08.62 ID:qvNXwZDz.net
>>457
トランザクションもできるんですね。
今やろうとしてるのには十分そうです

459 :デフォルトの名無しさん:2016/12/29(木) 20:37:49.89 ID:KEC+z4ay.net
ストアドパッケージ使ってるとEntity Frameworkを使う気になれない

460 :デフォルトの名無しさん:2017/01/02(月) 12:24:29.63 ID:sj4687w4.net
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.net
中途半端なORMはいらんよね。

462 :デフォルトの名無しさん:2017/01/02(月) 14:08:47.76 ID:CPceoiNS.net
>>460
DRY
ツールで自動生成するんならORMでもいい、生成されたSQLを管理しなくて済む、と考えることもできる
自動生成は生成物を直接弄らないことを徹底できるならいいけど、大抵は自動生成コードが独り歩きして破綻する
そうして変更時の修正箇所がどんどん増えてくんだよ

463 :デフォルトの名無しさん:2017/01/02(月) 16:02:44.86 ID:CCmbcSgt.net
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.net
>>463
世の中には、コードの重複を極力避けて変更しやすくするという開発スタイルもあるんだよ
VBにあるかは疑問ではあるけど

465 :デフォルトの名無しさん:2017/01/02(月) 16:17:05.07 ID:icN3LuLp.net
最初のだけ自動生成すればええんやで
修正時は全部手で作ればええんや

466 :デフォルトの名無しさん:2017/01/02(月) 16:30:50.83 ID:CPceoiNS.net
ORMの意義はSQLコマンドを生成することよりもむしろ
テーブルの行とオブジェクトをマッピングすることにある
いちいちカラムとプロパティの対応付けを猿のように手書きしなくても
自動でやってくれるツールだと割り切って使えば悪いもんじゃない

467 :デフォルトの名無しさん:2017/01/02(月) 16:45:34.53 ID:GHxiRgy/.net
EFって綺麗にモデリングされてる前提じゃないの?
正規化やキー設定もまともにできない我々日本人には厳しいと思う
ダラダラ残業して腐ったスキーマに愚痴言いながら頭悪いSQL書いてDapperで手軽にタイプセーフにするぐらいがちょうどいいよ

468 :デフォルトの名無しさん:2017/01/02(月) 17:19:12.57 ID:CCmbcSgt.net
>>466
>いちいちカラムとプロパティの対応付けを猿のように手書きしなくても

これに関してはリフレクションを使えば解決するかなと。

469 :デフォルトの名無しさん:2017/01/02(月) 17:22:48.96 ID:mABnUerH.net
>>468
クエリもマッピングも自動化したら、それはもうORMだろ
お前は自分自身でORMが必要という結論に達したわけだ

470 :デフォルトの名無しさん:2017/01/02(月) 18:09:41.42 ID:vlUjiKZm.net
>>460
ORMは、RDBのデータをオブジェクトとして使うためのものだ
SQL書かなくていいのは必要な結果に過ぎない

つかインピーダンスミスマッチでググれ

471 :デフォルトの名無しさん:2017/01/02(月) 22:21:51.15 ID:51wJDYeu.net
めんどくさいからシリアライズしてBlobにぶち込んでやる

472 :デフォルトの名無しさん:2017/01/08(日) 15:10:33.24 ID:mLyjhJYP.net
C#スレのVBキチガイはよ引き取って
VB.NETerってガイジしかいないのか?

473 :デフォルトの名無しさん:2017/01/11(水) 00:13:49.51 ID:VkQ91OHA.net
はい
ガイジしかいないので
こっちには来ない方が身のためですよ

474 :デフォルトの名無しさん:2017/01/19(木) 16:24:13.54 ID:OuvvCRzR.net
ああああああああああああああああああああああああああああ
あいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい

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

ええええええええええええええええええええええええええええええええええええええええええええええ

475 :デフォルトの名無しさん:2017/01/19(木) 16:32:49.65 ID:NUbhUDcn.net
ああああああ

476 :デフォルトの名無しさん:2017/01/19(木) 16:33:24.09 ID:NUbhUDcn.net
ああああああああああああああああああああああああああああああああああああ

477 :デフォルトの名無しさん:2017/01/19(木) 16:34:28.71 ID:NUbhUDcn.net
あああああああああああああああああああああああああああああああああああああああああ
いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい
うううううううううううううううううううううううううううううううううううううううううううううううううううううううう
ええええええええええええええええええええええええええええええええええええええええええええ
おおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおお
かかかかかかかかかかかかかかかかかかかかかかかかかかかかかかかかかかかかかか
きききききききききききききききききききききききききききききききききききききききききききき
くくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくくく
けけけけけけけけけけけけけけけけけけけけけけけけけけけけけけけけけけけけけけけけけ
こここここここここここここここここここここここここここここここここここここここここここここここ
http://http://http://http://http://http://http://http://http://http://http://http://http://http://

478 :デフォルトの名無しさん:2017/01/19(木) 16:36:20.68 ID:NUbhUDcn.net
あああああああああああああああああああああああああああああああああああああああああ
いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい
うううううううううううううううううううううううううううううううううううううううううううううううううううううううう
ええええええええええええええええええええええええええええええええええええええええええええ
おおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおお

479 :デフォルトの名無しさん:2017/01/19(木) 16:36:42.86 ID:NUbhUDcn.net
http://http://http://http://http://http://http://http://http://http://http://http://http://http://
>>1-10>>11-20>>21-30>>1-10>>11-20>>21-30>>31-40>>41-50>>51-60

480 :デフォルトの名無しさん:2017/01/19(木) 16:38:00.89 ID:C+ssGhBJ.net
>>1-1000

481 :デフォルトの名無しさん:2017/01/19(木) 16:38:48.36 ID:C+ssGhBJ.net
>>1-1000

482 :デフォルトの名無しさん:2017/01/19(木) 16:39:02.17 ID:TQyidl81.net
>>1-1000

483 :デフォルトの名無しさん:2017/01/20(金) 21:19:52.47 ID:rk0wOt7y.net
My.Computer.FileSystem.WriteAllText  連続で使うとだめなのかなぁ。
30行目あたりでロックかかったまま、削除もできない。

484 :デフォルトの名無しさん:2017/01/20(金) 21:53:51.85 ID:gkjLNWs8.net
Fileクラスの方のWriteAllTextを使ってみたら?
Myは基本的に糞なので、使う前に標準の.NETのAPIで同じようなのがないか確認したほうがいいよ

485 :デフォルトの名無しさん:2017/01/21(土) 16:11:14.78 ID:q70X02VY.net
Fileクラス側を使ったらうまくいった! 
今回はたまたま見つけたからいいけど、見逃してたらわからないかも・・

486 :デフォルトの名無しさん:2017/02/03(金) 20:50:22.69 ID:IoUjw6fZ.net
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.net
おまえがウィルスなんだよ

488 :デフォルトの名無しさん:2017/02/04(土) 08:56:18.21 ID:jd1YqHKB.net
>>487

隕石を爆破したりしないぞ?

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

解決方法ご存じないですか?

490 :デフォルトの名無しさん:2017/02/07(火) 09:30:57.72 ID:YgeqT8Pn.net
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.net
datareaderで数万件のデータをデータベースから取得したいんですが数十秒くらいかかってしまいます
どうにかはやくできないでしょうか?

492 :デフォルトの名無しさん:2017/02/08(水) 14:47:01.33 ID:MzR5zH1p.net
クエリを簡単にする
列数を減らす

493 :デフォルトの名無しさん:2017/02/08(水) 19:21:32.32 ID:jEQSlM2Q.net
普通に書けばそんな時間かからんよ

494 :デフォルトの名無しさん:2017/02/08(水) 22:02:33.67 ID:AcXEhNH6.net
単純なSELECTなんですよ
30000件で15秒もかかってしまいます
最後までread回しただけなのに…

495 :デフォルトの名無しさん:2017/02/08(水) 22:07:06.15 ID:qO3OS2QJ.net
ディスクやネットワークが糞なんだろ
あと見落としやすいのがDBサーバーのメモリ量
繰り返し読むならキャッシュヒット率が全然違ってくる
いずれにしてもVB関係ない

496 :デフォルトの名無しさん:2017/02/08(水) 22:11:04.89 ID:qO3OS2QJ.net
まずはVBを介さずにDBクライアントを使って直接コマンド実行してアンロードしてみたらどうだ
それでも遅かったらVB関係ないとわかるし、遅くなかったらVBでの読み方がまずいんだろう
一番にその程度の切り分けはやれよ

497 :デフォルトの名無しさん:2017/02/08(水) 23:05:47.54 ID:jRyNzfB1.net
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.net
>>497
前提がおかしい
全件に対して処理をすることが最初から想定されてるんなら全件処理のコマンドを用意しとけば済む話だろう
ListViewに読み込む必要も選択する必要もない

499 :デフォルトの名無しさん:2017/02/08(水) 23:58:47.11 ID:Bd3hz3fH.net
>>497
lvMain.BeginUpdate() 〜 lvMain.EndUpdate() で囲えば多少改善するかもしれない
それでもダメなら VirtualMode を使う

500 :デフォルトの名無しさん:2017/02/09(木) 07:08:33.82 ID:nszO0639.net
>>499
残念ながらBeginUpdate()では改善しませんでした。
ListViewは既にVirtualModeです。
どうもSendMessageでLVM_SETITEMSTATEを送ってやればよさそうという
ところまで来ました。

501 :デフォルトの名無しさん:2017/02/09(木) 23:54:41.55 ID:nszO0639.net
LVM_SETITEMSTATEをSendMessageで一瞬で全選択できるようになりました。

502 :デフォルトの名無しさん:2017/02/10(金) 12:28:40.22 ID:izdz/JI9.net
全選択なんて組み込みのメソッドで用意されててもよさそうなものだけどないんだねw
今まで気づかなかった

503 :デフォルトの名無しさん:2017/02/20(月) 16:07:27.58 ID:OgBdAYpr.net
ふらっとC#スレの質問見てちょっと思ったんんだけど、
C#ではメソッドの戻り値に属性を適用する明示的な書き方があるけど、
VBではこれどうやって書くんだっけ?
https://msdn.microsoft.com/ja-jp/library/b3787ac0.aspx

504 :デフォルトの名無しさん:2017/02/20(月) 17:17:50.36 ID:M6W8cvGm.net
>>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.net
>>504
ありがと

506 :デフォルトの名無しさん:2017/02/21(火) 19:33:45.43 ID:zN7/wz8g.net
経過時間を設定した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.net
>>506
補足ですけど、minuteが1進む毎(1分)に、minuteをContent.Timeで割った回数実行してしまうみたいです。

508 :デフォルトの名無しさん:2017/02/21(火) 21:50:52.18 ID:OY4bcTch.net
エスパー召喚が必要だねw

509 :デフォルトの名無しさん:2017/02/21(火) 22:26:45.05 ID:zN7/wz8g.net
>>508
私がコピペした部分じゃ足りないですか??
じゅうぶんだと思うんですが。

510 :デフォルトの名無しさん:2017/02/22(水) 10:13:28.88 ID:hB8WtiG5.net
そこで足りると思うんなら
ステップ実行でわかるだろうよ

511 :デフォルトの名無しさん:2017/02/22(水) 11:03:24.94 ID:di0eqEJ2.net
>>510
ステップ実行なんてのがあるなんて知りませんでした。
ありがとうやってみます。

512 :デフォルトの名無しさん:2017/02/25(土) 08:49:36.06 ID:Z1WBMYZL.net
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.net
俺はexe一個にしたい派なので。

514 :デフォルトの名無しさん:2017/02/25(土) 12:23:39.45 ID:S4wbN3RD.net
>>512
MEF使うとか

515 :512:2017/02/25(土) 21:04:10.95 ID:Z1WBMYZL.net
>>514
ありがとうございます。
プラグインという発想はなかったので、
MEFについて知識が乏しいので調べて見ます。

516 :デフォルトの名無しさん:2017/03/03(金) 18:45:03.41 ID:7BBiAnh4.net
integerで50000つかえたっけ?

517 :デフォルトの名無しさん:2017/03/03(金) 18:46:31.69 ID:oIwShl3c.net
余裕のヨッチャン

518 :デフォルトの名無しさん:2017/03/04(土) 17:05:37.98 ID:jyXc82yN.net
シリアル通信で受信処理について教えてください
パケット構造が固定長で"STX" + 10BYTE + "ETX"の12バイト構造となっています
ReadByte()で1バイトずつ取得して配列に格納しているのですが、
連続受信中何かの拍子に配列がずれて1バイト目が"STX"や12バイト目が"ETX"とならない場合があります
こうなった場合、以降の受信も配列が崩れて処理ができなくなります
一般的にどのような対策をするのでしょうか
配列の1バイト目、12バイト目が"STX","ETX"でなければ何か処理をすればよいのだと思いますが・・・

519 :デフォルトの名無しさん:2017/03/04(土) 17:28:05.56 ID:4F1kG7wq.net
1バイト目とか12バイト目とか意識するのがまずいのでは?
STXが来たらバッファに詰めていくETXが来たらそれを取り出すで
問題ないと思う。

520 :デフォルトの名無しさん:2017/03/04(土) 18:24:21.25 ID:W250mNnr.net
>>518
単純なステートマシンで対処できるでしょw

っていうか、教えられなくてもそれぐらいのこと思いつくようでないと
実用的なプログラムなんて何も書けないよw

521 :デフォルトの名無しさん:2017/03/04(土) 18:51:32.79 ID:NAI/204b.net
何バイト目かを意識するのがまずいのもあると思うけど
そういうのってエラー検知して再送じゃないの?

522 :デフォルトの名無しさん:2017/03/05(日) 03:05:35.57 ID:L54Sdfag.net
>>519
それにしたってバッファは無限なわけじゃないし
ETXが来るかバッファをオーバーしたら、 だな
バッファオーバーのチェックはさぼらない癖つけとくほうがいいぞ

>>521
>>518はエラー検知が出来なくて困ってるわけだが

523 :デフォルトの名無しさん:2017/03/05(日) 03:20:26.95 ID:f1XixyjT.net
>>522
え?1バイト目がSTXじゃなくても検知できないの?
BCCのチェックだけの話じゃないよ

524 :デフォルトの名無しさん:2017/03/05(日) 09:04:24.11 ID:ZV0AIXGV.net
まぁ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.net
×    2.STX以外だったら

○    2.STX以外で、かつバッファの先頭は STX だったら
○    3.STX以外で、かつバッファの先頭は STX 以外だったらゴミデータとしてスルー

526 :デフォルトの名無しさん:2017/03/05(日) 09:16:08.94 ID:4Mp9Np6+.net
>>524
なんでCollection?
Collectionはコレクションクラスを自作するときに使うもので、普通、一般的に使われる動的配列の実装はList(Of T)だよ

527 :デフォルトの名無しさん:2017/03/05(日) 12:15:05.55 ID:ZV0AIXGV.net
軽そうなイメージ

528 :デフォルトの名無しさん:2017/03/05(日) 12:45:52.11 ID:u6nsQtE2.net
なんかアホな議論してるけど、上にも書いたが必要なのは質問者が
ステートマシンという超簡単な概念を一つ覚えて使う、それだけ。

529 :デフォルトの名無しさん:2017/03/05(日) 13:16:04.21 ID:4Mp9Np6+.net
>>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.net
VBerにとって、VBが輝いていた時代を共に駆け抜けた旧友を想起させる特別な名前、それがCollection
気持ちは分かるが.NETのCollectionは彼とは何の関係もない別人なんだ
もういい加減過去に拘るのはやめて前へ進もう

531 :デフォルトの名無しさん:2017/03/05(日) 14:12:32.50 ID:Xaz4+HsB.net
ステートマシンとかいう概念を知らなくても普通は思いつくけどね

532 :デフォルトの名無しさん:2017/03/05(日) 14:21:01.11 ID:dGez6Bo2.net
質問者がデータは10バイトの固定長だって言ってるんだから
Listを使う必要もなければ、STXだのETXだの本来不要なゴミを取っておく必要もない

なんかしょうもない話してるよな本当

533 :デフォルトの名無しさん:2017/03/05(日) 14:31:06.98 ID:x9pPtpWR.net
MSAMでCOMポートからチマチマデータを取ってた世代には(ry

534 :デフォルトの名無しさん:2017/03/05(日) 16:01:29.71 ID:u/xcfN5N.net
VBと過ごした青春
なんか嫌だなそれ

535 :デフォルトの名無しさん:2017/03/09(木) 20:01:49.55 ID:ouxZaahl.net
簡易的にずれてたらETX来るまで1バイトずつ取り込んで読み捨てすればいいんじゃね?

536 :デフォルトの名無しさん:2017/03/10(金) 17:23:20.12 ID:tq5lUfKn.net
タプルっていう存在を今、初めて知ったんだけど。
複数の値を返すのはいいけど・・・
こんなんじゃなーいって思ったのは俺だけかな?

537 :デフォルトの名無しさん:2017/03/10(金) 18:38:21.20 ID:wvkqDHaL.net
>>536
具体的に

538 :デフォルトの名無しさん:2017/03/10(金) 19:46:18.91 ID:PPM6ZnbB.net
デコンストラクタでタプルも扱いやすくなる

539 :デフォルトの名無しさん:2017/03/13(月) 21:14:52.90 ID:4mOoeOmZ.net
Visual Basicの今後
https://www.infoq.com/jp/news/2017/03/vb-strategy

540 :デフォルトの名無しさん:2017/03/14(火) 00:27:16.98 ID:pXYRmO5x.net
Microsoftも見限った感あるし流石にもうそろそろ消滅の流れじゃないか

541 :デフォルトの名無しさん:2017/03/14(火) 19:24:57.60 ID:O/GpwfFn.net
C#に移りなよ
ってかもうみんな両用してるか

542 :デフォルトの名無しさん:2017/03/18(土) 20:44:47.06 ID:ybox44GA.net
バッファがの処理が追い付かないときの為のフロー制御だよな

543 :デフォルトの名無しさん:2017/03/18(土) 21:33:24.54 ID:TQTGmQah.net
C++ならともかく、VB.NETとC#の違いなんて、東北弁と九州弁の違いでしかない

544 :デフォルトの名無しさん:2017/03/22(水) 21:49:26.12 ID:Lj+MxEQk.net
今日見た関数が戻り値の型がBooleanで条件によってはTrueを返す、という関数でした
ただその条件分岐に引っかからなかった場合どこにもFalseを返すとは書いてませんでした
自分で試してみたところその場合はFalseになったのですが、これは言語仕様
がそうなっているということですか?
可読性はともかく特に使っても問題ないでしょうか?

545 :デフォルトの名無しさん:2017/03/22(水) 21:58:23.84 ID:A/QsCQKR.net
バカなの?
https://msdn.microsoft.com/ja-jp/library/wts33hb3.aspx

546 :デフォルトの名無しさん:2017/03/22(水) 22:09:21.64 ID:Lj+MxEQk.net
>>545
これは最初に読んだんですが既定値とやらと戻り値の関係がいまいちわかりませんでした
ただそう言われるなら問題なさそうですね
ありがとうございます

547 :デフォルトの名無しさん:2017/04/05(水) 19:56:28.05 ID:xPaGCN9C.net
保守

548 :デフォルトの名無しさん:2017/04/06(木) 19:31:30.11 ID:rlwdMpi7.net
転職の為にC#覚えたらVB.NET使う会社だったでござる

549 :デフォルトの名無しさん:2017/04/06(木) 20:36:44.15 ID:wEtvCq9a.net
>>548
おつです

550 :デフォルトの名無しさん:2017/04/12(水) 22:53:43.53 ID:ozjVA+Qe.net
VB2010で質問です

いくつかのフォームで構成されるフォームアプリケーションを作ろうとしているのですが、プログラムの性質上
複数のフォームにおいて共通した処理を行うことがしばしばあります
そこでそれらの処理に使う変数や関数を特定のフォームかクラスに記述して、各フォームから呼び出して
使おうかと思ったのですが、かなり計算が多いプログラムなだけに呼び出しのオーバーヘッドが気になっています。
そこで知りたいのですが

1. 共通する変数や関数をどこかのフォームやクラスで宣言して、他のフォームから呼び出す
2. 各フォームで同じ名前の変数や関数を宣言してそのフォーム内で使う

上記2つのどちらが性能的には有利なのでしょうか?
もし個々のフォーム内でそれぞれ定義する方が高速なのであれば、コードが重複して無駄ができるのは承知の上で
2の方法を使うのもありかなと思っているのですが・・・
1の方が高速あるいは両者に速度差がないのであれば、コードが読みやすくなるので1のやり方にしたいと思ってます

あまりオブジェクト指向もよく理解できてないのですが教えて貰えると有難いです

551 :デフォルトの名無しさん:2017/04/13(木) 00:40:28.65 ID:aK+zC0HQ.net
呼び出しのオーバーヘッドなんか事実上ゼロだよゼロ
ラベルの文字列を書き換える処理とかに比べりゃ地球全体の中の一粒の砂レベルで全く完全に無視できる

552 :デフォルトの名無しさん:2017/04/13(木) 08:07:04.82 ID:ai7IR4kG.net
>>551
どうもです
ベクトルの加減算や回転といった処理を数百回行い、それを1秒あたり1万〜十数万回
ループで繰り返すという処理だったので、呼び出しにある程度オーバーヘッドがあると
性能に影響してくるかなと思ったもので・・・

オーバーヘッドが無視できるレベルなのであれば1でいってみようと思います

553 :デフォルトの名無しさん:2017/04/13(木) 08:49:18.21 ID:aK+zC0HQ.net
無視できるというか、メソッド呼び出しやフィールドへのアクセスにおいて
クラスを跨るかどうかはオーバーヘッドの大小には直接影響しない

554 :デフォルトの名無しさん:2017/04/13(木) 11:17:50.97 ID:bkaO+5D1.net
.NETである時点で相当のオーバーヘッドだからな

555 :デフォルトの名無しさん:2017/04/13(木) 11:46:33.00 ID:ai7IR4kG.net
了解です
気にするだけ無駄なので分かりやすいコードで書くのがいいってことですね

>>554
計算部分をCでDLL書いてそっちに追い出すのも考えてはいますが
データの受け渡しがかなり面倒そうなのでとりあえずはVBで書いてみます

556 :デフォルトの名無しさん:2017/04/13(木) 23:28:05.42 ID:JnRQ5+VJ.net
それなら全部Cで作れば良いのに

557 :デフォルトの名無しさん:2017/04/15(土) 22:46:29.93 ID:2Thsns1M.net
>>556
Cはコマンドプロンプトで動くコンソールアプリなら作ったことがあるんですが、
フォームを使うとなるとユーザーインターフェースの作り方がさっぱりなもので・・・

558 :デフォルトの名無しさん:2017/04/16(日) 07:19:56.00 ID:hzBiobtH.net
>>557
俺も、XView(Solaris2.3)とか、PresentationManager(MS-OS/2V1.21)ならC言語で組んだことあるけど、
Windowsなんて、Access以外で画面作ったことね〜ですだ・・・(;_;)

559 :デフォルトの名無しさん:2017/04/16(日) 07:31:07.72 ID:B2UN2zG+.net
>>557
んじゃ、C++Builderは?

560 :デフォルトの名無しさん:2017/04/17(月) 22:29:23.78 ID:juGlbUEK.net
すいません教えてください。
テキストボックスに9:00と入れてstring型の変数に格納した後ラベルコントロールで表示すると
9になっちゃいます。そのまま9:00と表示するにはどうすればいいですか?

561 :デフォルトの名無しさん:2017/04/17(月) 22:42:29.91 ID:lURW6TDB.net
普通にやればそんなことならんから
普通じゃないことやってるんだろう

562 :デフォルトの名無しさん:2017/04/18(火) 23:09:40.28 ID:Aq2OSGis.net
ちょいと教えてくださいな

ADODB.RecordsetをLoopで更新処理
をADO.NETに変換したいんですが

DataSet.Tables.Count=1
なレコードセットなら
直接
Adapter.Fill(DataTable)
Adapter.Update(DataTable)
しちゃって良いもんなの?

DataSet経由しないとダメ?

563 :デフォルトの名無しさん:2017/04/19(水) 03:21:39.02 ID:zfm1mmD/.net
DataSetじゃないと駄目ならなんでDataTableを引数に取るオーバーロードが
用意されてるのかって話になってしまう

564 :デフォルトの名無しさん:2017/04/21(金) 13:40:32.09 ID:z81gUwo8.net
UIデザインに拘りたくて色々やってるけど、自分の思い通りのデザインにするのに四苦八苦
かと言ってマイクロソフトのダサいデザインは美意識が許さない。
何か良いサイトか本あれば教えてください。

565 :デフォルトの名無しさん:2017/04/22(土) 01:07:35.15 ID:qUZ+Jwsq.net
>>564
とか言ってるやつのデザインは
独自性が強すぎて逆に使いづらかったりする。

566 :デフォルトの名無しさん:2017/04/22(土) 12:28:09.67 ID:3MzzfSUe.net
どうせUIのデザインと言うより昔流行ったスキンで見た目を派手にするみたいなのがやりたいんだろ

567 :デフォルトの名無しさん:2017/04/22(土) 17:10:56.22 ID:okIJiGGM.net
みんなMicrosoftのスタートボタンは必要って言ってるんだから
そのまま使えばいい。
アップルの真似してなくしたり隠したりするのはオカシイ。

568 :デフォルトの名無しさん:2017/04/22(土) 22:46:24.91 ID:Buq8ht/b.net
WPFなら見た目は自由自在だよ!

569 :デフォルトの名無しさん:2017/05/08(月) 23:56:45.12 ID:thSKMKN/.net
でも出来ることそんな変わらないんでしょ?

570 :デフォルトの名無しさん:2017/05/16(火) 23:44:33.08 ID:B3nxbABI.net
すいません教えてください
現在就職活動中でプログラマーを目指しているんですが、希望している会社が使用している主な開発言語が
VB.NETらしいのですが、将来的な需要はどうなんでしょうか?雲行き怪しいですか?

571 :デフォルトの名無しさん:2017/05/17(水) 00:17:10.36 ID:Id1y7eqA.net
>>570
やめとけ
VB.NET自体の将来はともかく、君がエンジニアとして成長する上で良い環境とは言えない

572 :デフォルトの名無しさん:2017/05/17(水) 00:24:15.90 ID:twHUlOTr.net
将来的な需要のある言語なんて誰もわからないし、
この業界は進化(変化)が激しいから、最初に何やろうがあんまり関係ない

573 :デフォルトの名無しさん:2017/05/17(水) 00:33:30.94 ID:nkA0vPpB.net
言語の差異なんて無いも同じ

574 :デフォルトの名無しさん:2017/05/17(水) 00:49:58.60 ID:8AQDyWzi.net
>>571
最初にvbを触るのはまずいのでしょうか?

575 :デフォルトの名無しさん:2017/05/17(水) 00:52:28.59 ID:aIm9uZNt.net
最初に.NETから学ぶって割とめんどくさそう
いや、逆に素直に受け入れられるのか?

576 :デフォルトの名無しさん:2017/05/17(水) 08:42:43.96 ID:s+0/QlSg.net
>>574
頭悪くなるよ
言語がどうこうじゃなく、環境が

577 :デフォルトの名無しさん:2017/05/17(水) 12:15:26.26 ID:omyPvYqj.net
>>570
希望する企業に就職する事 < 他の言語を使う、なら他社へ
10年20年後に仕事で使う言語が幾つ残っているのか
そもそもPGという仕事が残っているのか

578 :デフォルトの名無しさん:2017/05/17(水) 16:57:22.28 ID:8AQDyWzi.net
>>576
VBを使う環境がなぜ頭が悪くなることに繋がるのか
かなり気になるので教えてください

579 :デフォルトの名無しさん:2017/05/17(水) 17:04:37.53 ID:8AQDyWzi.net
>>577
その企業は地元で自社内開発をしている会社で教育体制も整っている会社なので
自分としてはすごくポイントが高いんですが、使う言語がVBだけというのが不安で踏み切れずにいます 
将来を考えるのであれば都内の客先常駐系で経験を積んでいく方が良いのでしょうか・・

580 :デフォルトの名無しさん:2017/05/17(水) 17:29:07.25 ID:7qQt36O1.net
VB使ったら頭悪くなるとかありえんけど、まあ、
企業が何であえてC#じゃなくてVB使ってるのかは気になるところではあるね。

何にしろ、冷たいようだけど自分の人生は自分で考えるしかないよw
誰にとっても地雷の会社はあっても誰にとってもよい会社なんてないし。

581 :デフォルトの名無しさん:2017/05/17(水) 17:37:37.24 ID:7qQt36O1.net
ちなみに、俺の前の会社もVB使ってたけど、
.NET以前はVB6使ってたから.NET移行時にVBの方が容易だろうってことで決めたようだったね。

さすがに2008になってあまりにC#と差がついちゃったんでC#に変えてもらったけど

582 :デフォルトの名無しさん:2017/05/17(水) 17:43:17.70 ID:TNF12pwP.net
VB使っているところはVB6からの流れが大部分だと思うよ
おそらく学習コストと意欲の問題で単純に移行する気がないだけ
今はVBもC#も隔たりがなくなってきたからどっちでもいいと思うけど
新たに始めるならC#のほうが優位だよね

583 :デフォルトの名無しさん:2017/05/17(水) 17:52:12.92 ID:OyAwlGYD.net
言語なんて一つ極めれば他の言語は応用でかなり対応可能
現在のVBとC#なら方言の違いみあいなものだから、この二択なら悩むことない
そもそも仕事以外でスキル向上すればいいだけだし

584 :デフォルトの名無しさん:2017/05/17(水) 20:19:44.74 ID:G7cUCqPy.net
>>583
極めてない人がそういう事言っても全然説得力ないですけど

585 :デフォルトの名無しさん:2017/05/17(水) 21:54:55.30 ID:nkA0vPpB.net
でも言語なんて微々たるものだよ。ほんと。

586 :デフォルトの名無しさん:2017/05/17(水) 22:19:06.68 ID:8AQDyWzi.net
>>583
自分初学者であまり詳しくないのですがプログラミング言語というのは
細かい部分はそれぞれの言語で違うけど大部分はどの言語も共通して似たようなものだから
一つを極めてしまえば、他の言語を新たに学ぶときもさほど苦労はしない、という解釈でいいですか?

587 :デフォルトの名無しさん:2017/05/18(木) 00:47:49.89 ID:d+oDyp66.net
スッキリわかる Java入門 第2版、2014
この本を3回読めば、C# も出来るようになる

たのしいRuby 第5版、2016
この本を3回読めば、Python, JavaScript, Groovy も出来るようになる

この2冊が、言語の基本

588 :デフォルトの名無しさん:2017/05/18(木) 06:40:38.38 ID:wJMhN+ja.net
>>586
そう
大抵の人は新しい環境にもすぐ対応するよ
下地なしでは短期間で習得難しいけど下地あればなんとかなる

589 :デフォルトの名無しさん:2017/05/18(木) 08:20:41.04 ID:XKGRIOOr.net
>>585
そうだね、フレームワークだよね

590 :デフォルトの名無しさん:2017/05/18(木) 08:48:18.90 ID:ewg+OcMq.net
客先常駐で技術を磨ける人材なら独学でも勉強できるでしょうね

591 :デフォルトの名無しさん:2017/05/18(木) 13:45:59.05 ID:MLJ8qicI.net
VBとC#でどっちを勉強するか迷ってVBAにも流用出来そうだからと結局VBに
WPF始めた途端、C#に止む無く移行
英語ペラペラならVBでも行けると思うが、出来ないならC#だな〜
参考になるサイトや文献の量が違いすぎる

592 :デフォルトの名無しさん:2017/05/18(木) 16:01:42.18 ID:oyKD852L.net
両方やってるけど、方言レベルの違いで、VBもC#も大差ないと思うが

593 :デフォルトの名無しさん:2017/05/18(木) 16:32:58.22 ID:W1XXuHc6.net
C#とVB.NETがアメリカ英語とイギリス英語ならVBAはラテン語ぐらいの印象

594 :デフォルトの名無しさん:2017/05/18(木) 16:36:10.78 ID:M49g2Wb7.net
VBAはVB6系だから別物と考えるべき

595 :デフォルトの名無しさん:2017/05/18(木) 16:51:57.80 ID:oyKD852L.net
変数宣言はVBのほうが個人的にはシックリくるかな
型が先ってのが、どうも嫌。

あと、宣言して即座にnewするとき、VBのほうがキレイだと思う

全体的にC#のほうがコード量(横も縦も)が増える感じが。

596 :デフォルトの名無しさん:2017/05/18(木) 17:09:43.50 ID:3vEckYLB.net
C#もvarができてからnew代入の記述は楽になったと思うが

597 :デフォルトの名無しさん:2017/05/18(木) 17:17:20.68 ID:M49g2Wb7.net
コード量はC#のほうが少なくない?
VBのラムダ式はもうちょいシンプルにならないのかね

598 :デフォルトの名無しさん:2017/05/18(木) 17:31:42.82 ID:oyKD852L.net
ああ、俺はVBのときはWITHを頻繁に使うから、かなり短くなってるのか
for() はC#のほうが好きだが

599 :デフォルトの名無しさん:2017/05/18(木) 18:48:43.60 ID:XKGRIOOr.net
>>592
リファレンスの量と質が比べ物にならない

600 :デフォルトの名無しさん:2017/05/18(木) 19:15:11.40 ID:fpMTuU/5.net
ラムダ式にFunction()とかふざけてんのかねホントに
VBとPHPくらいだろそんなの

601 :デフォルトの名無しさん:2017/05/18(木) 20:07:13.03 ID:ewg+OcMq.net
あのFunctionは辛いわ
アロー式で書かせて欲しい
リファレンスは何で書かれててもあんまり気にならないかな
どっちみちやること変わらないし

602 :デフォルトの名無しさん:2017/05/18(木) 20:50:17.90 ID:nv0hNXKv.net
.NET Core対応もC#に比べて周回遅れだけどな

603 :デフォルトの名無しさん:2017/05/18(木) 22:25:51.82 ID:anTKPcsr.net
2008の段階でVBに失望してC#に乗り換えた人は多いと思う
俺もその一人

604 :デフォルトの名無しさん:2017/05/18(木) 22:37:32.52 ID:TOOzSAi+.net
>>598
今時C#でforなんて滅多に使わないだろ

605 :デフォルトの名無しさん:2017/05/18(木) 23:13:32.29 ID:anTKPcsr.net
>>604
なわけないでしょw
コレクションを列挙するだけがループじゃないよww

606 :デフォルトの名無しさん:2017/05/18(木) 23:24:37.27 ID:mhJy8/8/.net
LINQ使えばループの8割はなくせる

607 :デフォルトの名無しさん:2017/05/19(金) 07:11:56.81 ID:7jd4CUxw.net
ループは悪なの?
LINQが高速ならいいけど必ずしもそうじゃないし

608 :デフォルトの名無しさん:2017/05/19(金) 07:37:40.76 ID:1J7G/w2H.net
そういうことはDataTable遊びをやめてから言いなさい

609 :デフォルトの名無しさん:2017/05/19(金) 07:43:19.13 ID:mm1qRo/S.net
>>607
ループが悪なのではなく、LINQが選択肢にすら上がらないプログラマーが悪なのです
速度にこだわりたいならforでいい
が、それだと極端な話ForEachも使うなという話になってくる
かのドナルド・クヌース氏の言うように「早まった最適化は諸悪の根源だ」と考えるべき
チューニングはボトルネックが判明してからでも遅くはないさ

610 :デフォルトの名無しさん:2017/05/19(金) 07:46:02.97 ID:s/1/vL0B.net
ループでいいものをなんでもLINQ使いたがる事が早まった最適化なんだけどな

611 :デフォルトの名無しさん:2017/05/19(金) 08:26:08.97 ID:mm1qRo/S.net
手続き型と宣言型の論争は泥沼になるからしない
LINQを早まった最適化としてループにするならそれはそれで良し
天秤にかける以前に、そもそもLINQを知らない現場コーダーが珍しくないのが問題
LINQっつーか新しい知識に対する貪欲さが薄い人が多い気もしなくもない

612 :デフォルトの名無しさん:2017/05/19(金) 09:10:35.90 ID:2M/fCFGg.net
VB派だけど
.Net Coreでは思い切ってVBをC#に吸収合併してほしかったな
そうすればC#に移行するいい機会になったのに

613 :デフォルトの名無しさん:2017/05/19(金) 09:51:55.88 ID:Lc2EAn7e.net
>>612
さっさと移行しろよ

614 :デフォルトの名無しさん:2017/05/19(金) 12:26:17.96 ID:RFDTxagh.net
>>611
現実の仕事では枝葉末節の知識にばかり興味が向かってるお前みたいな奴の方が問題になるんだよ

615 :デフォルトの名無しさん:2017/05/19(金) 15:53:59.68 ID:v0+FkJJm.net
味噌もクソも{}なC系が死ぬ程嫌い

616 :デフォルトの名無しさん:2017/05/19(金) 16:05:54.15 ID:dgLRkGLJ.net
>>615
往々にしてこうなっちゃうのがVBから入ることの最大の問題だよなあ
VBから入ること自体はいいとしても、C系アレルギーになる前にどれでもいいから必ずC系言語に触れておくべき

617 :デフォルトの名無しさん:2017/05/19(金) 16:23:11.75 ID:8B2hIZ69.net
LINQで完結するのもないとは言えないが
基本ループだけど、細かい分岐条件がある、って要件である場合が殆どだと思うが

if 使ってもいいのに、やたら三項演算子に拘る人に通じるものがあるな

自分の書いたコードを少しでも難読化させたい的な
(それが自分の技術力のアピールにもなると勘違いしてる系)

618 :デフォルトの名無しさん:2017/05/19(金) 16:31:54.25 ID:v0+FkJJm.net
>>616
最初はFortran次はRPG3でVBA→VB.net

619 :デフォルトの名無しさん:2017/05/19(金) 16:33:15.79 ID:v0+FkJJm.net
>>617
そそ、Cのソース読むと気が滅入る

620 :デフォルトの名無しさん:2017/05/19(金) 17:06:30.97 ID:NdGHW7/K.net
>>617
そうゆう人いるね
最悪なのは修正させると隣接コードを自分流に書き換えてしまう

621 :デフォルトの名無しさん:2017/05/19(金) 22:16:34.69 ID:vtwwYXhB.net
configに定義してあるEndponintBehaviorをコードで取得する方法ってありますでしょうか?

622 :デフォルトの名無しさん:2017/05/24(水) 10:58:45.42 ID:0w0qPph2.net
>>621
https://weblogs.asp.net/cibrax/getting-wcf-bindings-and-behaviors-from-any-config-source

623 :デフォルトの名無しさん:2017/05/25(木) 21:57:23.53 ID:LUQcs+si.net
Listクラスとかのインデクサって独自のクラスで実装できますか?

624 :デフォルトの名無しさん:2017/05/26(金) 01:10:06.22 ID:t9Hdpjhx.net
>>623
list(0) とか list.Item(0) ってできるようにしたいってことなら既定のプロパティ
https://msdn.microsoft.com/ja-jp/library/az06zx4y(v=vs.90).aspx

625 :デフォルトの名無しさん:2017/05/27(土) 11:03:02.04 ID:/Ok7KXq3.net
PDFに枠線付きの表形式で記載されている商品情報(列は商品番号, 名称, 規格, 金額, メーカー名)があり、
そのPDFを読み込みファイルとして指定した結果をDataGridView等で表示し編集したいのですが、
それに特化したライブラリ等ご存知の方いらっしゃいますか?

626 :デフォルトの名無しさん:2017/05/30(火) 06:27:02.32 ID:lON7Raep.net
エスペラント言語もあるらしい

627 :デフォルトの名無しさん:2017/06/02(金) 06:06:39.11 ID:F2C57ZnU.net
LANでつながってる別のパソコンのハードデスクの空き容量取得できないのかしら

628 :デフォルトの名無しさん:2017/06/02(金) 06:53:59.92 ID:SPpZD+rV.net
win32-opensshみたいなの使えば

629 :デフォルトの名無しさん:2017/06/02(金) 08:10:06.98 ID:9EW2KNON.net
>>627
wmi

630 :デフォルトの名無しさん:2017/06/02(金) 19:24:24.23 ID:F2C57ZnU.net
それらのキーワードで検索してみるね

631 :デフォルトの名無しさん:2017/06/30(金) 01:41:21.87 ID:48mZ6WIP.net
質問させてください。

ある有償の印刷ツールを使用し、帳票のプレビュー画面、印刷処理を実装しようとしています。
フォームから印刷用の処理(フォルダの取得とか)を行うクラスファイルを呼び出し、クラスファイル内で帳票ツールを参照しイベントを紐付けてプレビュー画面を表示することが出来ました。
しかし、クラスファイル内でプレビュー画面から印刷処理後、オブジェクト参照がインスタンスに設定されてない、とエラーになりました。
プレビュー表示、印刷処理のイベント自体はクラスファイルにイベントを紐付けてあります。
プレビューから印刷ボタン押下時、紐付けた印刷処理のイベントを呼び出し、プレビュー画面はクローズするようにしています。
(プレビュー画面はクローズしなければ、オブジェクト〜のエラーにはなりません)
クラスファイル内で紐付けたイベントをクローズした場合、クラスファイルごと強制終了?してしまうのでしょうか…
初心者で考えが回らず、困っています…誰か助けていただけませんでしょうか

632 :デフォルトの名無しさん:2017/06/30(金) 02:08:26.20 ID:48mZ6WIP.net
もしかしてなのですが、プレビュー画面はクラスファイルのファンクション内で、帳票ツールのイベントを呼び出して表示しています。
しかし印刷処理は帳票ツールのボタン押下イベントとして、イベントハンドラを追加してクラスファイル内に新しいメソッドとして追加しています。
ということは、もしや帳票プレビュー画面から印刷処理を呼び出した時点でクラスファイル自体は終了状態でしょうか?

633 :デフォルトの名無しさん:2017/06/30(金) 09:43:37.93 ID:IHXr7yJD.net
終了状態とかはNullReferenceExceptionの範疇ではない
デバッガで動かしてたら例外出た時点でブレイクして例外出たところが表示されるだろ
何がNothingになってるのか自動変数ウィンドウとかで確認

634 :デフォルトの名無しさん:2017/07/01(土) 08:40:56.50 ID:ollNq+8F.net
>631
オブジェクトモデルしだい

製品名からエスパーしろってことか
有償製品ならサポートあるだろ

635 :デフォルトの名無しさん:2017/07/01(土) 19:31:57.59 ID:C2aergYE.net
テキストファイルの読み込みとフォルダ一覧取得とファイル一覧取得
をネットで調べてコピペして
またしばらくして忘れて調べてコピペ
するを繰り返して20年経ってこれらしか知識が付かない場合なにすれば

636 :デフォルトの名無しさん:2017/07/02(日) 16:34:48.54 ID:9DLOI7U5.net
別にいいんじゃね
また必要になった時に、検索してコピペすればいいんだから

637 :デフォルトの名無しさん:2017/07/02(日) 18:42:08.87 ID:zwMqZWEJ.net
俺も、ネットがないころは本を買って熟読して覚えたけど
今はネットからコピペしちゃうから全然覚えられない罠

638 :デフォルトの名無しさん:2017/07/04(火) 22:14:09.77 ID:GXfrM+Il.net
コピペした内容を、全て理解して貼り付けてるならよいけど、
理解せず動いたからヨシにしている場合はマズイ

639 :デフォルトの名無しさん:2017/07/05(水) 12:17:30.14 ID:dDvBznZA.net
必要なのは「どう動く」かであり
「なぜ動く」かではない

640 :デフォルトの名無しさん:2017/07/05(水) 12:24:50.13 ID:30GSgs4R.net
質問掲示板で解答者がソース貼ると怒るやついるしなw
「為にならない」って
質問者は「お勉強」しに来てるんじゃねーんだよw

641 :デフォルトの名無しさん:2017/07/05(水) 13:05:46.49 ID:x7acWd9B.net
>>640
ヒント:
とかいうやつもなw
教師でもやってろといいたい

642 :デフォルトの名無しさん:2017/07/07(金) 08:13:36.41 ID:6HogV9Gz.net
>>640
検索して知恵袋が引っ掛かって見てみると
回答じゃなくてお説教が書かれてたりすると
モニターにマウス投げつけたくなるよね

643 :デフォルトの名無しさん:2017/07/13(木) 08:42:34.68 ID:a1NtUvmB.net
プロジェクトで使用するVBのバージョンってどうやって決まるんですか?
同じプロジェクト内でも、.vbではvb14の機能が使えるのに、.vbhtmlで使おうとするとvb12ではサポートされていません、って表示されてしまいます。

644 :デフォルトの名無しさん:2017/07/17(月) 02:43:13.91 ID:Sjiy0WuF.net
質問です。DataTableの値をList型のクラスに変換したいです。クラスは別のクラスのインスタンスを保持していて、その別のクラスのフィールドに値をセットしたいです。どういうやり方が一般的ですか。

645 :デフォルトの名無しさん:2017/07/17(月) 10:24:00.76 ID:W+Dn0UEX.net
地道に書く
汎用的にしたいなら列名とプロパティ名を同じにしてPropertyInfoを見ながら回す

646 :デフォルトの名無しさん:2017/07/17(月) 11:23:52.04 ID:nd0ZPw8t.net
VB2010でのバイナリファイルの書き込みについての質問です
ある構造体の配列変数Record()をFileOpenとFilePutを使って

N:ファイル番号
SaveFileName:ダイアログで取得した出力ファイル名
RecordSize:配列のサイズ

N = FreeFile()
FileOpen(N, SaveFileName, OpenMode.Binary, OpenAccess.Write, OpenShare.LockReadWrite)
Seek(OpenFileNumber, 1)
For i As Long = 0 To RecordSize
FilePut(N, Record(i))
Next
FileClose(N)

といった感じで実装しています(実際にはエラー処理のためTry〜End Tryの中に記述)
通常はこの処理で問題ないんですが、既に存在しているファイルに上書きしようとした場合、既存のファイルが上書きしようとする
ファイルよりも大きいと、余った分のサイズが上書きされず前の古いファイルの内容が残ってしまいます
上書き時に既に存在するファイルを完全に置き換える(つまり古いファイルは消える)にはどうすればいいのでしょうか?
ファイルをオープンする前にSaveFileNameに該当するファイルがあるかどうか調べて、ある場合は既存のファイルを削除してから
書き込むようにすればいいんでしょうけど、何かこうスマートではない気がして・・・

647 :デフォルトの名無しさん:2017/07/17(月) 17:10:54.57 ID:wHgHyCIS.net
さすがにVB使ってる人でもVB6の互換関数とか使ってる人はほとんどいないと思うw

まあ、構造体がそのまま読み書きできて便利かもしれないけど、
ググれば構造体とbyte()を相互変換する方法が出てくるから、
それを使ってSystem.IO使って書き直した方がいいと思うよw

648 :デフォルトの名無しさん:2017/07/17(月) 20:33:05.87 ID:nd0ZPw8t.net
>>647
構造体配列とByte配列の相互変換については調べたんですが、マーシャリング云々が
自分の頭ではさっぱり理解できず・・・
もし分かりやすく解説しているサイト等があれば教えていただけないでしょうか?

649 :デフォルトの名無しさん:2017/07/18(火) 00:51:59.63 ID:H1lIICB/.net
>>648
(1) CopyMemoryを使う
(2) VBFixedArray属性 とFieldOffset属性を使う(要は共用体にする)

(2) は本当に可能かどうか知らない。

(1)は実際にやったことあるしググればいくらでも実例出てくると思う。
構造体⇔Byte()だけではなく構造体の配列⇔Byte()も可能だし、こっちの方がいいかもね。

650 :デフォルトの名無しさん:2017/07/26(水) 03:35:26.71 ID:KTzuPZab.net
>>646
createで開くって話か?

651 :デフォルトの名無しさん:2017/08/02(水) 03:00:44.42 ID:o3i3NFtL.net
'100行書く
For i = 0 to 100
TextBox1.Text = "VB最強"
Next

652 :デフォルトの名無しさん:2017/08/02(水) 05:01:09.39 ID:UeTQYFNL.net
1行を101回表示しただけじゃね

653 :デフォルトの名無しさん:2017/08/02(水) 05:02:39.91 ID:UeTQYFNL.net
結果も1行

654 :デフォルトの名無しさん:2017/08/02(水) 07:31:10.86 ID:fmM7k/7g.net
>>651
'100行書く
For i = 0 to 100
TextBox1.Text &= "VB最強" &vbNewLine
Next

655 :デフォルトの名無しさん:2017/08/02(水) 10:19:07.91 ID:jFyOk7N2.net
for (i=1;i<=1000;i++) {
fprintf(stdaux,"はじめてのC\n");
}

656 :デフォルトの名無しさん:2017/08/12(土) 03:55:33.25 ID:rOvfQBTy.net
なぜc

657 :デフォルトの名無しさん:2017/08/12(土) 06:59:23.82 ID:ZsmIO1UY.net
カウンタ用の変数に、i、j、k、l、m、nを使う奴はFortrun出身者

658 :デフォルトの名無しさん:2017/08/12(土) 07:50:18.44 ID:nw4NiEuS.net
FORmula TRANslation な

659 :デフォルトの名無しさん:2017/08/12(土) 11:40:48.61 ID:QjNv8My6.net
dictionary ( of integer, string) のofってなんですか?

660 :デフォルトの名無しさん:2017/08/12(土) 15:40:30.15 ID:SMcEF66V.net
https://msdn.microsoft.com/ja-jp/library/067b2z78(v=vs.90).aspx
>Of 句を使用すると、ジェネリックであるクラス、構造体、インターフェイス、デリゲート、またはプロシージャに型パラメータを定義できます。

661 :デフォルトの名無しさん:2017/08/12(土) 15:52:11.54 ID:s2RcRfJ5.net
>>659
VBでジェネリックを表す表現

正確な名称はしらん

662 :デフォルトの名無しさん:2017/08/12(土) 16:34:44.28 ID:JUbLQ1BA.net
型よ

663 :デフォルトの名無しさん:2017/08/12(土) 17:45:48.24 ID:ZsmIO1UY.net
>>661
後発薬品?

664 :デフォルトの名無しさん:2017/08/12(土) 20:14:41.43 ID:QjNv8My6.net
前の引数だけOFが付いてるのは何故なんだろう?

665 :デフォルトの名無しさん:2017/08/12(土) 20:37:36.82 ID:QjNv8My6.net
>660
良い資料ありがとう。意味わかりました。ofは両方の引数にかかるんだ。

666 :デフォルトの名無しさん:2017/08/12(土) 21:11:02.79 ID:JQcCJPUN.net
片方が型引数でもう片方は型引数でない何か、ってものが存在しないんだったら1つで十分でしょ

667 :デフォルトの名無しさん:2017/08/12(土) 22:39:38.37 ID:QjNv8My6.net
Using the Of Keyword
The following code example uses the Of keyword to define the outline of a class that takes two type parameters.
It constrains the keyType parameter by the IComparable interface, which means the consuming code must supply
a type argument that implements IComparable. This is necessary so that the add procedure can call the System.
IComparable.CompareTo method.
For more information on constraints, see Type List.

Ofキーワードの使い方について
次のコード例はOfキーワードを使っているが、それは二つのタイプのパラメータを取るクラスの外形を定義している。
IComparableインターフェースのKeyTypeパラメータを含むが、ここで使われるコードにはIComparableを実装した引数を
あてなくてはならないということを意味する。これが必要なのはadd関数がシステムをコールのIComarable.CompareToを実行
できるようにするためである。さらに詳しくはListの項目を見ること

Public Class Dictionary(Of entryType, keyType As IComparable)
Public Sub add(ByVal e As entryType, ByVal k As keyType)
Dim dk As keyType
If k.CompareTo(dk) = 0 Then
End If
End Sub
Public Function find(ByVal k As keyType) As entryType
End Function
End Class

668 :デフォルトの名無しさん:2017/08/14(月) 10:15:48.33 ID:Q/2jfFNl.net
同じプロジェクト内にForm2を生成すると
Form1から 
  Form2.showdialog()
で呼び出すことができる。しかしForm2を立ち上げる時に初期化ファイルをセットしたい
そこでForm2に次のコードを付け加える。
sub New( inifile as string)
INIFILE = inifile
end sub
こうするとForm2.showdialog()が立ち上がらない。そこで
dim fm as new Form2.new(inifile)
fm.showdialog()
のようにすると立ち上がるけれども、Form2上のコントロールとかが全く表示されない。
これは何故なのだろう。

669 :デフォルトの名無しさん:2017/08/14(月) 10:34:07.27 ID:Q/2jfFNl.net
>668
自己解決した。サンクス

670 :デフォルトの名無しさん:2017/08/14(月) 16:29:17.87 ID:C7avT2pN.net
>>667
Ofはともかく、型制約にAs使うの解りづらすぎるよな
C#みたいに (Of T) Where T Implements IComparable でよかったのに
まあVBerのレベルを考えるとあまり多用される機能ではないという判断で
文法への影響の少ない構文にしたのかもね

671 :デフォルトの名無しさん:2017/08/14(月) 17:17:31.67 ID:Q/2jfFNl.net
dim strA as string
dim dt as integer = convert.toint16(strA)
みたいな方法でいつもinteger 変換してるけど非常にめんどくさい。stringに機能を追加して

dt = strA.toint16

にすることはできないんですか? やる方法があれば教えてください。

672 :デフォルトの名無しさん:2017/08/14(月) 17:50:35.60 ID:qguplZTI.net
>>670
もともとVBのコンセプトは英語で読めるってことだからむしろasでいい。
英語の意味的にはばっちり合ってる
whereだけでは英語として意味不明だし、implementsなんて付けちゃうとStruce, Class, Newの制約が
意味不明になる

>>671
どこが面倒くさいのかまったく理解できんなあ

673 :デフォルトの名無しさん:2017/08/14(月) 20:57:46.47 ID:NHS+W82U.net
>>671
拡張メソッド書いとけばいいじゃん

674 :デフォルトの名無しさん:2017/08/15(火) 06:39:14.36 ID:3ZJdJfY6.net
ちなみにWindowsのメモ帳でUnicode保存するときわ
UTF16 リトルインディアン BOM付
マメな

675 :デフォルトの名無しさん:2017/08/15(火) 08:54:41.68 ID:QkdEv7VL.net
>>672
対称性がないと普通の人はめんどくさいはず。
つまり
c = a.tostring
a = c.tointeger
これが対称性
気にならないとしたら精神力が極めて強いとか、かなり特殊な人だと思う。
英語に詳しそうだけど、英語のようなある意味複雑怪奇な言語をマスターできている
としたら相当根性があるね。

>>673
そういうのがあるとは知らなかった。ありがとう。

676 :デフォルトの名無しさん:2017/08/15(火) 10:19:21.62 ID:IHvUQsH9.net
>>675
対称性()を尊重してToString持った型全てに対してString.ToXXXを用意しろということ?
一体いくつあると思ってんの?

677 :デフォルトの名無しさん:2017/08/15(火) 11:17:15.49 ID:p+eNcMXx.net
つかtostringはobjectから継承してんだからobjectに実装するだけだが
全く意味は無いな

678 :デフォルトの名無しさん:2017/08/15(火) 18:48:20.02 ID:CmABdkOe.net
stringとintegerが対称て 

679 :デフォルトの名無しさん:2017/08/15(火) 20:45:05.75 ID:3ZJdJfY6.net
平行移動しても回転しても変わらないところを見せよ

680 :デフォルトの名無しさん:2017/08/16(水) 00:47:10.66 ID:7vn1plFo.net
並行移動
c0 = a0.tostring : a0 = c0.tointeger
c1 = a1.tostring : a1 = c1.tointeger
回転
c = a.tostring : a = c.tointeger
a = c.tointeger : c = a.tostring

681 :デフォルトの名無しさん:2017/08/16(水) 00:48:33.90 ID:7vn1plFo.net
>>全く意味は無いな
根性がある人だけ

682 :デフォルトの名無しさん:2017/08/16(水) 06:36:57.42 ID:/mh2iuhI.net
数値に限らず ToString ⇔ Parse でしょ

683 :デフォルトの名無しさん:2017/08/16(水) 12:21:02.42 ID:7vn1plFo.net
Parseは解析だからもう少し機能があってしかるべき言葉だろうな。toStringに対応する
言葉ではないな。まあ命名は大変だから仕方ないけど。

684 :デフォルトの名無しさん:2017/08/16(水) 12:42:27.22 ID:/Od0yDuB.net
CType(〜)
こそオブジェクト指向

685 :デフォルトの名無しさん:2017/08/17(木) 11:56:42.10 ID:uqKN3QQl.net
汎用的オブジェクトの保存と取り出し機能を探してるんだが例えば
1.クラスインスタンスのデータだけ(dictionary,配列なども丸ごと)をテキスト形式でファイル保存して
2.テキストエディターでそれを編集する。
3.編集したものを再度クラスインスタンスに読み込みをする
こんなことをしたいのだけど、なんかよい方法はない?

686 :デフォルトの名無しさん:2017/08/17(木) 12:06:28.63 ID:MXcjXfDR.net
XmlSerializerではだめなの?

687 :デフォルトの名無しさん:2017/08/18(金) 10:08:29.75 ID:A1J5J7Ue.net
XMLとかめんどくさくて使ったことないんだが、専用エディタとかで使うんだろうか?
一旦簡易形式に変換して編集してまたもとに戻すのかな?
XML−−>変換 マークダウン エディットーーー>変換ーー>XML

688 :デフォルトの名無しさん:2017/08/18(金) 11:16:52.71 ID:Jf2sTJDT.net
どんな規模のデータを想定するかによるが
普通はテキストエディタでそのまま書き換える

689 :デフォルトの名無しさん:2017/08/18(金) 12:04:02.61 ID:ZCubMA96.net
JSONにしとけ

690 :デフォルトの名無しさん:2017/08/21(月) 18:23:41.94 ID:xXFz6ihy.net
HAL,JSON-APIだったらどっちがいい?

691 :デフォルトの名無しさん:2017/08/22(火) 05:09:37.15 ID:d7ebk59r.net
コレクションとかディクショナリーはJSONでは無理では?

692 :デフォルトの名無しさん:2017/08/22(火) 06:46:59.20 ID:tVMqw9p7.net
>>691
いくらVBerとはいえ無知にも程がある
JSONなら[ ... ] がコレクションで { ... } がディクショナリ

693 :デフォルトの名無しさん:2017/08/22(火) 13:39:00.14 ID:1JK3C2LQ.net
>>666
なんでそんなことしたいのかも書いたほうがいいと思うぞ

694 :デフォルトの名無しさん:2017/08/22(火) 14:54:33.95 ID:d7ebk59r.net
>>692
無知には程なんてないからね。君もこの程度のことを知らないのだからやはり無知だな。でも無知なんてものは
知れば一瞬にして終わる。だから恥ずべきことではない。ところで

>JSONなら[ ... ] がコレクションで { ... } がディクショナリ
これは勝手に君かもしくは君がしっている閉鎖的集団内で通じる規則として勝手に決めたフォーマットだろ、これを
サポートするVBのコマンドはない。
 Dictionaryを適当に展開してこのようなフォーマットで保存すればよいということだね。
そういうことなら、そうだと説明しないと解らない。こちらは想像力だけで判断しているんだが、、

695 :デフォルトの名無しさん:2017/08/22(火) 14:58:01.29 ID:psjy/gWC.net
IEnumerableの拡張メソッドを作った時に
IEnumerableを継承したCollectionとかListは対象にならないの?
CollectionとかListで同様に拡張メソッドを作るか
AsEnumerableでIEnumerableにすればやりたいことはできるけど・・・

696 :デフォルトの名無しさん:2017/08/22(火) 15:08:01.90 ID:vqjwX2Vb.net
各クラス/インターフェイスがジェネリックなのかそうでないのか
はっきりしてくれないとわけわからんが
普通はできるのでなんかおかしいこと書いてるんだろう

697 :デフォルトの名無しさん:2017/08/22(火) 15:18:07.94 ID:zg+G/gON.net
>>694
すごい早口で言ってそう

698 :デフォルトの名無しさん:2017/08/22(火) 15:27:53.01 ID:psjy/gWC.net
>>696
あーごめんなさい。できますね。
IEnumerableに拡張メソッドをどんどん追加するとインテリセンスの候補がいっぱい出てきちゃって
自分で作ったやつがわからなくなるからとあるサイトをみて
Items.ToExtension.XXXみたいになるようにしていたんですがこれが原因でした。

699 :デフォルトの名無しさん:2017/08/22(火) 15:39:25.68 ID:X2zW1dp7.net
>>694
>これは勝手に君かもしくは君がしっている閉鎖的集団内で通じる規則として勝手に決めたフォーマットだろ、これをサポートするVBのコマンドはない。
間違い。JSONの配列やマップをそれぞれリスト型やディクショナリ型とマッピングすることは一般的である。
実際、WCFのJSONシリアライズはそういう仕様だし、.NETにおいてJSONを扱うライブラリのデファクトスタンダードであるJSON.NETもそう。
知らないのが悪いんじゃなくて、そうやって知らないのに思い込みで物をいうからバカにされるんだよ。

700 :デフォルトの名無しさん:2017/08/22(火) 16:08:17.55 ID:1JK3C2LQ.net
>>694
いやーさすがにこれはないわー

701 :デフォルトの名無しさん:2017/08/22(火) 18:31:28.28 ID:d7ebk59r.net
>>699
そうだな。
そういうふうにキーワードなどの根拠となる事実を上げて説明する。そうすると確認することができるから君に誤りがある場合にもより正確にそれを指摘できる。
根拠が示されないと残念ながら指摘もあいまいになる。

因みに>>700こういう輩はシッタカが殆どで正確に表現する能力がない。まあ名誉回復の為に699の発言に於いて抜けている重要事項を追加説明できるか
どうかチャンスをやろう。それができないなら単なるシッタカ。

702 :デフォルトの名無しさん:2017/08/22(火) 18:58:29.27 ID:1JK3C2LQ.net
>>701
いやーJSON知らなかったっていうのは別にいいと思うよ
でも>>694みたいなレスはさすがに恥ずかしい
”JSON”でググればすぐ分かることなんだから

ちゃんと謝っとこうね

703 :デフォルトの名無しさん:2017/08/22(火) 20:48:34.46 ID:d7ebk59r.net
シッタカ決定

704 :デフォルトの名無しさん:2017/08/22(火) 21:21:34.59 ID:1JK3C2LQ.net
俺の知ってるソフトウェア開発者っていう閉鎖的集団内ではJSONの基本フォーマットは常識なのよ
日本人っていう閉鎖的集団内で47都道府県名が常識なのと同じレベル
その常識に対してシッタカとか言われても、はあぁ?ってなるわ

恥の上塗りを重ねる前に“JSON”でググれよな
俺の環境だと↓これがトップヒット
http://www.json.org/

もしググったにもかかわらず>>694みたいなレスしてんなら
プログラム書く前にもっと基礎を勉強したほうがいいよ

705 :デフォルトの名無しさん:2017/08/22(火) 23:00:11.31 ID:Bmva2yao.net
{"a":124, "b":[3,4,5], "c": {"x":123, "y":"abcde", "z":true}}

aは整数だからDictionary(Of String, Integer)?違います
bは整数リストだからDictionary(Of String, List(Of Integer))?違います
cはDictionary(Of String, Dictionary(Of String, ???????))

VBではJSONは無理ですね

706 :デフォルトの名無しさん:2017/08/22(火) 23:27:27.24 ID:1JK3C2LQ.net
>>705
cはDictionary(Of String, Dictionary(Of String, Object))
JSONだけじゃなくVBも勉強したほうがいいみたいね

すべての型をそのままJSONにできるわけでも
すべてのJSONを任意の言語の型にそのままマッピングできるわけでもないけど
それはどんなデータフォーマットだって同じだから
VBだけJSONは無理なんてことはありえない

707 :デフォルトの名無しさん:2017/08/23(水) 01:10:59.17 ID:nD3v/vvZ.net
>>706
お前の場合は根拠をしめした説明が何もない。単なる罵りだけ。品性も論理性も知性もない。それでは駄目だな。
説明力がまるでない。だからシッタカと判断される。

しかし今回はこの JSON定義 サイトを示してきたことは褒めておこう。
http://www.json.org/

でもこのサイト最初から間違ってるじゃん。最初の図はobjectじゃないな。これはmemberの定義だよな。
intrduceで出鱈目もいいとこだな。
これ見たら表現力全然ないフォーマットだなと思ってしまう。最悪の紹介だな。

708 :デフォルトの名無しさん:2017/08/23(水) 01:22:25.86 ID:bHZ6/xkT.net
>>707
objectってのはJavaScript用語な

JavaScriptのobjectはプロパティのコレクションで
プロパティはKeyValueペア、つまりobjectはディクショナリ相当なの

JSONのJから勉強して
まあとにかくガンバレよ

709 :デフォルトの名無しさん:2017/08/23(水) 01:25:22.59 ID:nD3v/vvZ.net
>すべての型をそのままJSONにできるわけでも
>すべてのJSONを任意の言語の型にそのままマッピングできるわけでもないけど

JSONの定義が大体分かったところで、それをVB.netで実現するライブラリが用意されているかどうかだな。
Jsonは汎用フォーマットだから、Dictionaryの保存ができるかできないかというならできるに決まってる。
問題は手軽にできるようにライブラリによってサポートされているかどうかだ。

 .NET Framwork標準 DataContactJsonSerializer
 CodePlex 公開    DynamicJson
 CodePlex公開    Json.net

有名なところでこのくらい。ライブラリがある。
まあJson.netはDictionaryもそこそこサポートできている。後の二つは正確には調べていないが多分駄目だろうな。

710 :デフォルトの名無しさん:2017/08/23(水) 01:28:29.40 ID:nD3v/vvZ.net
>>708
それがシッタカだっていうの。これはバッカス記法だからJavaScrit以前の問題だ。
明らかに誤りだよ。

711 :デフォルトの名無しさん:2017/08/23(水) 02:23:06.58 ID:bHZ6/xkT.net
>>710
シンタックスダイアグラムはバッカス記法じゃねーわ
いい加減にしろよww

間違ってもないとこを間違ってるとか言いはって
何回恥の上塗りしたら気が済むねん

VBにJSONは無理なんじゃなく
君みたいなVBerにはJSON無理

712 :デフォルトの名無しさん:2017/08/23(水) 02:25:23.95 ID:yMMFXiqG.net
JSONは外側をobjectにする必要はないので
true
の値ひとつでもJSONとして成立しますしですしおすし

713 :デフォルトの名無しさん:2017/08/23(水) 02:40:27.91 ID:I/Vx60Z7.net
ID:nD3v/vvZはもう引っ込みがつかないんだからやめてやれよ
泣きながら腕グルグル回して飛びかかってくるぞ

714 :デフォルトの名無しさん:2017/08/23(水) 05:14:44.76 ID:nD3v/vvZ.net
>>711
おっ、よく気が付いたな。些末な言葉尻には気が付いても、「間違いがある」という本質は
解らんのかな?

しかしSyntaxDiagramの基底にはバッカスがあるんだよ。
Syntax diagrams (or railroad diagrams) are a way to represent a context-free grammar.
They represent a graphical alternative to Backus–Naur form or to EBNF as metalanguages.
Early books using syntax diagrams include the "Pascal User ... WIKI

715 :デフォルトの名無しさん:2017/08/23(水) 05:15:12.09 ID:nD3v/vvZ.net
>間違ってもないとこを間違ってるとか言いはって 何回恥の上塗りしたら気が済むねん

間違いが分からないとするとBNFの内容を理解してなくて字面だけを記憶してるだけだろうな。
それでは駄目だな。多く知っているようでもその知っている知識はガラクタだな。

ここにあるダイアグラムではobjectを
object
{"aa": xx , "bb": yy, "" : "zz", ..... }と定義している。これでは全く不完全だな。

array以下はあってるな。
この説明ではVBのDictionaryは表現できない。
ディクショナリでは
dictionaryName : { "key0" : xx, "key1": yy, "key2" : zz} こういう構造が必要だ。
でさらにDiagramをよく見るとValueにObjectを含んでいる。そういうことかValueの中のObjectを見落としていたのか?
ということで、間違いではなくてそれは「Valueの中のObjectの再帰定義を見落としていますよ。」って指摘ができれば
かなり賢い。知識はガラクタではないということになる。しかしこういう筋の通った説明ができないで喚くだけでは駄目だな。
分かっていたかどうかも怪しい。確率50%で外れてるが、たまたま当たった。w

もう一つ言えばこのDiagramの書き方も直観的に間違いを誘発するような駄目な記述だな。ObjectをValueの中で再帰定義する
なら特徴的に書かないと読む方は見落とす。表現の基本がなってない。

716 :デフォルトの名無しさん:2017/08/23(水) 05:28:14.67 ID:nD3v/vvZ.net
繰り返し言うが説明や根拠の乏しい主張は無意味だ。丁寧に説明する癖をつけないと賢くならない。
説明をすると、仮に間違っていても説明の過程で正しい解にたどり着く。もし正しい解にたどり着けない
にしても、誰か親切な人から訂正をしてもらえる。
説明をしないで罵るのは最悪だ。そういう癖のある人は常にそういう脳の使い方をしているので脳が
機能しなくなる。

717 :デフォルトの名無しさん:2017/08/23(水) 06:26:41.09 ID:PWTjZsi1.net
>>709
今時CodePlexって、まさかgithubもnugetも知らないの?
まあJSONとは違ってVBerの半分くらいは知らなそうだからムキになる必要はないぞw

718 :デフォルトの名無しさん:2017/08/23(水) 06:42:23.72 ID:nD3v/vvZ.net
そういうシッタカはウンザリだ。

719 :デフォルトの名無しさん:2017/08/25(金) 18:47:33.46 ID:Okz94tsr.net
VacaBakka

720 :デフォルトの名無しさん:2017/08/25(金) 20:49:22.66 ID:bWcDs7QB.net
.NET Core 2がVisual BasicをLinuxとmacOSにもたらす
https://www.infoq.com/jp/news/2017/08/dotnetcore2-vb

721 :デフォルトの名無しさん:2017/08/25(金) 20:53:24.70 ID:eKK+eiVP.net
>>720
やめてくれ
せっかくこのままVBがフェードアウトしてくれるところだったのに

722 :デフォルトの名無しさん:2017/09/04(月) 12:22:51.36 ID:zDZbs+Yz.net
1分毎にSub _Check()を1回実行させたいんですが、実際動かしてみると
1分後にSub _Check()を1回実行、2分後にSub _Check()を2回実行、3分後に3回・・
って感じでどんどん実行回数が増えていってしまいます。

ネットで以前拾ったフリーの物をいじっていて、以下のようになっているのですが
どうやったら1分毎に1回だけ実行させるように変えられますか?

ビルドの仕方が悪いとかありますか?

Sub aaa
AddHandler Timer.Tick, AddressOf Check
Timer.Interval = 60 * 1000
Timer.Enabled = True
End Sub

Sub Check()

AddHandler BackGround.DoWork, AddressOf _Check
AddHandler BackGround.RunWorkerCompleted, AddressOf Balloon_Show
If BackGround.IsBusy Then
Return
End If
BackGround.RunWorkerAsync()
End Sub

Sub _Check()
MsgBox("チェック")
End Sub

723 :デフォルトの名無しさん:2017/09/04(月) 12:31:12.42 ID:UpKs6Xg1.net
ぱっと見ただけで言うけど
一分ごとにAddHandlerしてるからじゃね?

724 :デフォルトの名無しさん:2017/09/08(金) 11:42:00.08 ID:2HXwLqzE.net
722ですけど
1分毎にAddHandlerするとどうおかしいんですか?
どう変えたら良いか何かヒントだけでも教えてもらえませんか。
723見てから考えたり検索したりしてみたんですけどやっぱり分からなくて。。
自分かなりプログラミングの知識が無い人間なもので。。

725 :デフォルトの名無しさん:2017/09/08(金) 16:06:27.08 ID:2HXwLqzE.net
722です。

他でも聞いてみたらこうだったみたいです。

Sub aaa
AddHandler Timer.Tick, AddressOf Check
Timer.Interval = 60 * 1000
Timer.Enabled = True

AddHandler BackGround.DoWork, AddressOf _Check
AddHandler BackGround.RunWorkerCompleted, AddressOf Balloon_Show

End Sub

一分ごとにAddHandlerしてるからじゃねってこういう意味だったんですね。
結局私には理解出来なかったんですがwありがとうございました。

726 :デフォルトの名無しさん:2017/09/11(月) 23:31:41.16 ID:r5xmv3Ye.net
PC(VB.NET)でLAN接続したRasPi(Win10 iot core)のGPIOの制御をしたいのですが、どうしたら宜しいでしょうか。

727 :デフォルトの名無しさん:2017/09/19(火) 12:09:09.53 ID:CiFpR9wm.net
先日2003があったので始めた初心者です
wavファイルをPlaySyncで再生したいのですが、再生が終わり次第次々他のwavファイルを再生していくということと、
繰り返し処理をする度再生するwavファイルの変更(パスで入力しています)をするということはどうやったら可能でしょうか?

728 :デフォルトの名無しさん:2017/09/19(火) 12:13:57.64 ID:PJTSF08k.net
まずその2003とかいうゴミは捨てろ
今のVSは最新版が無料で配布されている

729 :デフォルトの名無しさん:2017/09/19(火) 13:02:31.36 ID:CiFpR9wm.net
間違えましたすいません2013professionalです

730 :デフォルトの名無しさん:2017/09/19(火) 13:10:06.34 ID:oRSrnZEU.net
>>726
ラズパイは、Python じゃないの?

731 :デフォルトの名無しさん:2017/09/19(火) 13:55:59.70 ID:PJTSF08k.net
>>727
直行する問題は分けて考えよう
まずファイルパスを変えながらファイルパスをコンソールに出力していくプログラムを作る
コンソールに出力するところをPlaySyncに置き換える
これだけのこと

732 :デフォルトの名無しさん:2017/09/19(火) 15:01:36.81 ID:CiFpR9wm.net
>>731
ありがとうございました
そのプログラムの書き方もわかりませんし、色々試してみましたが複数の音声ファイルを順に再生していくことさえできなかったので、諦めようかと思います

733 :デフォルトの名無しさん:2017/09/19(火) 15:46:08.25 ID:k55uTTGg.net
https://dobon.net/vb/dotnet/programing/playwavfile.html
↑が理解できないなら諦めた方が良いかも

734 :デフォルトの名無しさん:2017/09/19(火) 18:55:22.08 ID:oRSrnZEU.net
>>727
>再生が終わり次第、次々他のwavファイルを再生していく
これは、再生アプリの方で、曲が終わったタイミングで、
こちらのプログラムのコールバック関数を呼んでもらう

つまり、非同期処理だから、初心者ができる訳ない

JavaScript などで、非同期処理に慣れていないと、できない

735 :デフォルトの名無しさん:2017/09/19(火) 18:58:08.69 ID:PJTSF08k.net
>>734
PlaySyncだから再生終了までブロックする。非同期処理は必要ない。
もちろん現実には非同期処理をしないと再生終了までUIがフリーズするビチグソになるが、
一応の要件は満たせる

736 :デフォルトの名無しさん:2017/09/19(火) 19:03:17.52 ID:sBYjPNie.net
ワーカースレッドの中でやればいいじゃん
スレッドにはキューでくべてやれば

737 :デフォルトの名無しさん:2017/09/19(火) 19:15:59.50 ID:jrl9HDel.net
どっちにしても同期で順に再生することができないというなら
手の施しようがない

738 :デフォルトの名無しさん:2017/09/19(火) 22:11:07.32 ID:Lmy6WMsF.net
WCFサービス参照を追加するときに、型の再利用を考えています。
その型のアセンブリ名とプロジェクト名が異なると、WCFサービス参照を追加したときに、アセンブリ名で参照が追加され、エラーになります。
すでにプロジェクト参照が追加されているので、新しく追加されたアセンブリ参照を削除するとエラーが解決されます。
これってバグなのでしょうか?

739 :デフォルトの名無しさん:2017/09/20(水) 21:02:45.48 ID:cmLxLvt1.net
すみません、未練たらしいのですが基本的なことだけ教えていただけませんか?
>>733のURLのコードをPlaySyncに変えただけのものに、player.PlaySyncに続けて、
PlaySound("別のファイル")
player = New System.Media.SoundPlayer(waveFile)
player.PlaySync
と挿入すると、2つ目のファイルが延々と再生され続けてしまいます
その後にStopSoundなど入れても意味がないので根本的なところがわかっていないと思うのですが、どこがおかしいでしょうか
できれば簡単に教えていただきたいです…

740 :デフォルトの名無しさん:2017/09/20(水) 22:51:09.39 ID:epnCWBlF.net
>>730
WebIOPiならできたのですが、そこをなんとか・・

741 :デフォルトの名無しさん:2017/09/24(日) 05:42:08.55 ID:wyPZ0ic9.net
webbrowserコントロールでページ内のテキストボックスに数値を入れたいのですが、そのテキストボックスのIDが表示されるたびに変化してしまうので、取得出来ずnullexceptionになってしまいます。

idはnumber_**********という感じで表示の度に_以降の数値が増えます。

出来る方法があれば教えてください。

742 :デフォルトの名無しさん:2017/09/24(日) 08:22:31.09 ID:Iu73uVEK.net
id以外で探すしかないんじゃない? bodyの3番目のdivの2番目のinput、とかそういう風なのとか
number_って接頭辞のidがそのページで1つだけなら全input要素の中でidの先頭がnumber_で始まるの探すとか

743 :デフォルトの名無しさん:2017/09/24(日) 22:02:33.61 ID:wyPZ0ic9.net
>>742
ありがとうございます。
明日、会社で検証してみます。

744 :sage:2017/09/26(火) 14:58:38.36 ID:PpQ5JcU2.net
VB6のプログラムを.NETに移せと言われてます。
当方、最近やっとVB6をちょっと理解したばかり。
VB6のモジュール内に、変数やらエクセル操作のプロシージャがあるのですが、
これはどこに移せばいいですか?
フォームに移すと多すぎなので、見やすいようにわけれればいいのですが。

745 :デフォルトの名無しさん:2017/09/26(火) 15:22:47.41 ID:z+UMsHRU.net
とりあえず移植なら同じようにモジュールに書けばいいわけだが

746 :デフォルトの名無しさん:2017/09/26(火) 16:18:28.87 ID:PpQ5JcU2.net
>>745
ありがとうございます。
わからなくて色々見ていたら、モジュールは使わずクラスに書くとか、
エクセルの操作では、COMの解放やらインスタンス生成とか、
もう??だらけでした。
とりあえずは、現行と同じモジュールで大丈夫と聞いてホッとしました。

747 :デフォルトの名無しさん:2017/09/26(火) 16:19:21.84 ID:yUnVCaTy.net
まだそういう仕事あるんだねぇ

748 :デフォルトの名無しさん:2017/09/26(火) 17:21:40.77 ID:Jf7hYkjk.net
もう恐らくデスクトップがなくなるまでVb6ランタイムはサポートされそうな気がするけどねw

749 :デフォルトの名無しさん:2017/09/26(火) 20:12:01.39 ID:b2jheQUq.net
噂だけどペンタゴンにあるシステムでVB6の物があるからサポート切れないとか

750 :デフォルトの名無しさん:2017/09/27(水) 07:10:43.77 ID:vQ8fTHXT.net
windowsが10で終わるのはvb6切るためという噂がある

でもwindowsブランド捨てたらMSのOS事業も終わるだろうから老醜を晒してモダン化諦めたwindows作るかもな

751 :デフォルトの名無しさん:2017/09/28(木) 16:44:52.29 ID:p7vLxmpX.net
昔VB厨で、最近までVB離れてUNIX、Linux、VC++、C#やってきたけど、
最近、VBAマクロ移植の話があって、VB.net触ってみた。

書式がちょっとVBっぽいだけで、構造は、C#のままだよなぁ。
VB互換の便利関数が使えるといっても、C#でも参照できるクラスだし。

VB並に強力な、オブジェクトメンバーの追跡できる機能がVSにあれば
いいんだけど、結局知らないモジュールのリファクタリングは手でやらなきゃいけないし。
常時Dynamicで全行ステップ実行とかできれば使いどころあるんだけどなぁ。

752 :デフォルトの名無しさん:2017/09/30(土) 15:06:05.99 ID:JKOApPN+.net
VBAなんかをやってた者だが、簡易にデータベースにアクセスするプログラムを書いてみた。
簡易な奴なのでAccessベースで接続するんだが、32bitと64bitで問題になってる。
×86CPU向けに作れば32bit、AnyCPU向けに作れば64bitに対応できるようだけど、インストールするマシンにAccessが入ってるとそのAccessが64bitか32bitかに左右されてしまう。(Accessと異なるbitのエンジンはインストール出来ない。)

これってどうにもならないのか?
2通りで作るしかない?
データベース変えるしかないのかな。

753 :デフォルトの名無しさん:2017/09/30(土) 15:26:57.66 ID:Sabzk006.net
割り算の余りの求め方がわからなくてググっちゃったw

754 :デフォルトの名無しさん:2017/09/30(土) 15:49:17.56 ID:9tcp6esL.net
SQLiteでいいだろ

755 :デフォルトの名無しさん:2017/09/30(土) 16:07:08.00 ID:JKOApPN+.net
>>754
やっぱそうなるよね。
出来ればMSでどうにかしたいんだ。
ワケありでね。
Accessベースが駄目ならテキストベースも考えたんだけど、これ64bit駄目だよね。

やっぱり2通りで作るしかないか。

756 :デフォルトの名無しさん:2017/09/30(土) 20:24:13.79 ID:KohNdydM.net
>>755
SQL Server Compactは?
マネージドだからいけそうだけど

757 :デフォルトの名無しさん:2017/09/30(土) 21:53:28.79 ID:Np6DtGQS.net
もうJET&mdbでx86固定にすればいいんじゃね

758 :デフォルトの名無しさん:2017/10/01(日) 13:39:13.85 ID:PxgxVv4e.net
>>756
情報ありがとう。
調べてみたら良さそう。
これで組んでみる。

>>757
×86限定ならJETでもACEでもいけるだろうね。
というか、ACEではいけてる。
気になったのは、こんな制限が残ってるんだということ。
VBAをやってた者からするとOfficeのbitは同じだから気付かなかった。

759 :デフォルトの名無しさん:2017/10/01(日) 15:56:04.09 ID:K1ZKurRy.net
Windows 64bit - Office 64bit - ACE 64bitならAnyCPU/x64でOK
Windows 32bit - Office 32bit - ACE 32bitならx86でOK
になってACEじゃどうにもならんはずだけどそうでもなかったっけ?

760 :デフォルトの名無しさん:2017/10/01(日) 15:57:01.86 ID:K1ZKurRy.net
あ、下段違う
Windows 64bit - Office 32bit - ACE 32bitならx86でOK

Windows 32bit - Office 32bit - ACE 32bitならAnyCPU/x86でOKだな

761 :デフォルトの名無しさん:2017/10/01(日) 16:25:46.41 ID:+BZf6Z9D.net
>>752
ACEの32ビットと64ビットが同居できない
.NETの問題じゃないのでどうにもできないな

OFFICEが32と64とで別なんだから、32ビット用と64ビット用分けるしかねえんじゃね
つか64ビットのACCESS使ってるとこ見た事ないけどな

>>760
Office(ACEドライバ) 64bit 使いたいって話じゃないのかね

762 :デフォルトの名無しさん:2017/10/01(日) 20:22:10.30 ID:5vH0Pat/.net
>>761
そう。
正にこれ。

実は作ってたのがVBEのアドインで、昔のAPIViewerみたいなのだったんで、Officeがインストールされてる環境が前提だった。
初めて.netで組んでみたけどコードの部分は感覚的に分かりやすいね。
元々似てるし。

http://imgur.com/9gzQbNy.jpg

763 :デフォルトの名無しさん:2017/10/02(月) 00:18:26.18 ID:mjmvjzw0.net
>>752
うちの会社のSEなら問答無用でAccessを32ビットに統一させるな
そもそも、7まではOSは32ビットにしろ!なのでOfficeも(64ビットOSでも)32ビット強制

まあ、そういう解決方法もあると言うことで

764 :デフォルトの名無しさん:2017/10/02(月) 00:20:44.20 ID:mjmvjzw0.net
SE ×
シス管 ○

765 :デフォルトの名無しさん:2017/10/02(月) 06:29:24.04 ID:wMevtdK8.net
自分が仕事したくないだけの典型的な無能情シスだね

766 :デフォルトの名無しさん:2017/10/02(月) 10:06:08.92 ID:bWh9nOt5.net
64officeだと32で開発したものが動かないからだろう

767 :デフォルトの名無しさん:2017/10/02(月) 11:05:05.57 ID:YjIt9Zua.net
64bit版Officeにするメリットがあるかどうかだろ

768 :デフォルトの名無しさん:2017/10/02(月) 12:57:21.76 ID:Kxj0uZ10.net
不特定多数にバラ撒くアプリだと無理だけど
たとえばx32なOfficeの入ってる環境にx64のACEを強制インストする方法があったと思う

769 :デフォルトの名無しさん:2017/10/03(火) 00:56:32.41 ID:L8hprTCo.net
AnyCPUなDLLにして、オフィスから呼んでもらうのはどうだろう
それならオフィスと同じビット数で動くんじゃね

770 :デフォルトの名無しさん:2017/10/03(火) 07:16:47.34 ID:ObXIbUik.net
>>768
そういう認識も無く不特定多数にばら撒いて混乱するのがVB開発の醍醐味

771 :デフォルトの名無しさん:2017/10/03(火) 09:56:50.00 ID:H26XOqff.net
C#でも一緒だが

772 :デフォルトの名無しさん:2017/10/03(火) 10:00:24.30 ID:eY/q0sas.net
>>771
コンプレックスでもあんの?

773 :デフォルトの名無しさん:2017/10/04(水) 14:53:27.06 ID:aW4Cfo6o.net
昔のライブラリで、On Error Resume Next を前提にしたるCOMモジュールを扱うときなんかは、VB.netは便利。
C#でも似たような制御できればいいのに。

774 :デフォルトの名無しさん:2017/10/06(金) 01:12:12.05 ID:Ahbm7zus.net
それって例外無視したいってこと?

775 :デフォルトの名無しさん:2017/10/06(金) 11:57:59.66 ID:oEyA6PeW.net
3次元配列A(x,y,z)をエクセルに
1シート毎にA(1,y,z),A(2,y,z),A(3,y,z)…としたいのですが、
1データずつ書き込むとすごく時間がかかるので、2次配列B1(y,z),A2(y,z)…の形で出力したいです。
この場合、二次配列の宣言文はどう書いたらいいのですか?

776 :デフォルトの名無しさん:2017/10/06(金) 14:51:49.82 ID:oEyA6PeW.net
775ですが、わかりずらくてすみません。一次配列だとA(10)で10個の配列を宣言できますが、
二次だとA(10)(100,100)と書くと受け付けてくれませんでした。どのように書けばいいのでしょうか?

また、今は3次元配列から、1点ごと移して、1シート分ごとの二次配列を作ろうと思ってますが、
もっとスマートな方法があったら教えてください。

777 :デフォルトの名無しさん:2017/10/06(金) 14:53:30.30 ID:Pjx+vQ2Q.net
VB側であらかじめ二次元配列に変換すればいいでしょ

778 :デフォルトの名無しさん:2017/10/06(金) 15:00:48.07 ID:BnWE0qO1.net
Rangeオブジェクトではダメな理由は?

779 :デフォルトの名無しさん:2017/10/06(金) 15:27:18.19 ID:oEyA6PeW.net
>>777
そうなんです。VB側で二次配列に変換します。その時の二次配列名をA1,A2,A3…としたいのですが、
どうやって宣言したらいいのでしょう?個数は都度変わります。

>>778
ダメな理由は、私が超初心者だからです。Rangeオブジェクト、調べます。

780 :デフォルトの名無しさん:2017/10/06(金) 16:18:03.87 ID:+xC3oUH1.net
Object型の二次元配列の配列は
Dim arr(n)(,) As Object
For i As Integer = 0 To n - 1
ReDim arr(i)(x, y)
Next

781 :デフォルトの名無しさん:2017/10/06(金) 16:20:36.26 ID:+xC3oUH1.net
To nのほうがいいか

782 :デフォルトの名無しさん:2017/10/06(金) 18:27:07.22 ID:oEyA6PeW.net
ありがとうございます!!

783 :デフォルトの名無しさん:2017/10/06(金) 18:34:40.77 ID:zGeBsdYt.net
>>779
VBAならコレクションで簡単に出来ると思う。どうしてもVB.Netでやらなければいけないならアレだが。
因みに、エクセルはシートに書き込む時ループじゃ遅くなるから二次元配列で
Range("A1").Resize(Ubound(2DArray,1),Ubound(2DArray,2)) = 2DArrayとやるとそこそこ高速に書き込める

784 :デフォルトの名無しさん:2017/10/09(月) 12:03:03.55 ID:p4uEChG8.net
>>774
そうそう。
制御系のシステムとかでも、その時点でできることできないことがゴッチャになってるライブラリがある。
エラー前提でリリースされてるライブラリもあって、そういう前提だとResume NextがないとTryのブロック
記述がものすごく複雑になる。ぶっちゃけ、機械の挙動を、プログラムから先読みしないといけなくなる。

そういう前提のライブラリを利用するとき、いまVBはスタンダードじゃないけど、vb.netなら、VBと同じく、
Resume Next使えるからうれしい。

785 :デフォルトの名無しさん:2017/10/13(金) 00:42:03.31 ID:d0dipzNo.net
上の初心者です。お陰様で無事解決して先に進めました。
Do〜Loopで計算させて、ある数値の変化を見ながら中断。データをエクセルに出力、
その後また計算を再開させたいのですが。ボタンは、中断・再開・出力(終了も必要かも)
調べていたらBackgroudworkerっていうのが出てきたんですが、中断・再開、そして
その間にデータ出力って無理ですか?ほかの方法でもいいので教えて下さい。

786 :デフォルトの名無しさん:2017/10/13(金) 21:50:35.27 ID:5ZrXmVai.net
それでできます

787 :デフォルトの名無しさん:2017/10/21(土) 17:52:46.13 ID:7/uhu6B6.net
繰り返し数値計算するプログラムを作って動くようになったんですけど、
途中でNaNが出てしまいます(NaNが出ても止まらない)
どうして出たのか突き止めたいのですが、どうやったらいいのでしょう?
デバッグのブレークポイントの設定でi=NaN,i==NaNとか入れてみたんですが、
式が良くないようで働きません。

788 :デフォルトの名無しさん:2017/10/22(日) 02:29:45.09 ID:EmQ5oJ/A.net
今試せないが
IsNaN か Double.NaN 辺りを使ったことある

https://msdn.microsoft.com/ja-jp/library/system.double.nan(v=vs.110).aspx

789 :デフォルトの名無しさん:2017/11/03(金) 23:26:56.71 ID:T/az7urs.net
vb.netとoracledbのプログラマが急に退職になったので、引き継ぎがないままで、私が保守をすることになりました。
15年前にVBを1つ作った経験しかないのに、任されてしまって、とても焦ってます。
vb.netとoracledbを基本から勉強をしたいのですが、いい入門書があれば紹介して頂けないでしょうか。
どうぞよろしくお願いします。

790 :デフォルトの名無しさん:2017/11/04(土) 02:48:57.68 ID:g7i1lHqB.net
逃げたほうがいいんじゃない?

791 :デフォルトの名無しさん:2017/11/04(土) 03:19:08.61 ID:SmrPt+dU.net
>>789
ちと古いが

VB.NETによるOracleアプリケーション開発技法 2005/4
山田 健一 (著)

俺も似た境遇でvb+oracleの開発をうん年前にするハメになったので
上記の本をアマで購入
でもトップが心変わりが激しいので開発は幸か不幸かお蔵入りw

で、odp.netをvb2013にインストールするんだけど
なぜかこれがなかなか入ってくれなくて手こずった記憶がある

上記の本(は古いから)よりネットのほうが情報あるんじゃね?

792 :デフォルトの名無しさん:2017/11/04(土) 03:32:30.19 ID:SmrPt+dU.net
すまん
こっちだったわ

Oracle+.NETプログラミング・バイブル―ODP.NETによる強力開発環境 単行本 ? 2005/9
日本オラクル (著)

793 :デフォルトの名無しさん:2017/11/04(土) 06:39:10.69 ID:ox8FLzne.net
>>791
>>792
ありがとうございます。
早速、買って読んでみます。
古い本でも何でも勉強するしかありません。


10年以上前に導入したVB.netとoracledbのシステムらしいのですが
勉強やテストするテスト環境もありません。
SEもプログラマもいなくなったので誰にも聞けません。

794 :デフォルトの名無しさん:2017/11/04(土) 08:00:52.30 ID:ox8FLzne.net
>>791
>>792
もう少し教えてください。

この本に付属しているCDROMには、勉強するための環境一式が含まれているのでしょうか?

またそれらはWindows10でも動くのでしょうか?
Windows7もあるのですが、ハードディスクが30GBしかないです。

本は中古しかなかったので到着には1週間近くかかるようです。

795 :デフォルトの名無しさん:2017/11/04(土) 09:56:42.48 ID:SmrPt+dU.net
>>794
CD-ROMは使わなかったな

環境はオラクルのホームページからdownloadしたよ(当時は要メール登録、無料)
なんかどれインスコしていいんか分からんかった記憶が…

環境はWindows8か8.1のVb2013
Windows10はわかりません

手さぐり状態の時に先にも書いたように鶴の一声でポシャったw

796 :デフォルトの名無しさん:2017/11/06(月) 23:32:40.39 ID:oqUq9JxF.net
前に勤めていたスーパーの社長に新店オープンの検討会議に出るように言われ、なんで俺のような水産部担当者風情が
そんなのに呼ばれるんだろうと思ったら社長から「お前、面接でプログラミングが趣味って言ってただろ?POSシステム作れや」と
言われ目が点になった。「いえ、自分のはあくまで趣味程度でして」と言ったら「なんだ?嫌なのかぁ」と言われ困惑した。
スーパーのPOSシステムってのは東芝TECのほぼ独占状態で新店オープンなんかだと表現は悪いが吹っ掛けてくるらしく、
営業が一日張り付いただけで本来の料金の他に日当、メシ代、泊まりになった場合はホテル代まで持つのが業界の習慣らしく
300坪程度の店を出すのにPOSレジシステムの構築で一千万近くかかるとか。
それを従業員にやらせれば浮くじゃねえか、と考えたんだろうな。俺は「魚屋がシステム作ったらおかしいでしょ社長!」と逃げ回って
難を逃れたが(逆立ちしても無理っス)
元IBMの営業やってた総務の課長がやらされる羽目になり、開店時には従業員一同社長とこの元IBMを呪ったよWW
開店と同時にレジのおばはん達から「どれもこれも登録されてないじゃん!このバカ!」と怒号が響き、大笑いしていたら
水産物でも加工品のバーコード付きのものが全て「登録無し」と出るとババアどもからレーザービームを浴びて笑ってられなくなった。
元IBMの課長に文句言ったら「あはは、排他処理だよね、そうか、思い出した」とか言って平然としてるし。

神経が図太くねえとシステム担当なんてやってられないんだろうな

797 :デフォルトの名無しさん:2017/11/07(火) 00:13:22.18 ID:gUentbNw.net
楽しそうな職場やん
絶対に就職したくはないけど

798 :デフォルトの名無しさん:2017/11/07(火) 09:40:10.59 ID:yuq33prU.net
>>796
昔、POS関連の仕事してたことが有ったけど、出来が良ければそのPOSアプリを一般に売れば良いんじゃね。
実際、蕎麦屋が自分の為に作ったPOSアプリ売ってたことが有った。
他にも全然開発会社じゃない所が自分用に作ったPOSアプリの出来が良かったので売ってる事例を幾つか見たことがある。

799 :デフォルトの名無しさん:2017/11/07(火) 10:48:40.44 ID:t6NaVxzv.net
どう考えても「出来が良ければ」なんて言えない内容だと思うんだが

800 :デフォルトの名無しさん:2017/11/07(火) 11:16:20.50 ID:yuq33prU.net
良くしてくんだよ。
もったいないじゃねーか。

801 :デフォルトの名無しさん:2017/11/07(火) 11:17:26.29 ID:H3DL339H.net
どう考えてもコピペにしか見えんけどググても出てこないから
本当に書いてるんだな。

神経図太いって、それこんな開業も入れない文章書く奴のことだろw

それと、一応昔からTECの他にNCRって会社が大手であったはず。
今は普通にNECや富士通もWindowsやLinuxベースのPOSレジ作ってる

それから、ソフトはその元IBMのオッサンが作るとしてハードはどうしたんだよ。
そのオッサンがハードから作ったのかw
作れる訳ねえだろw
デタラメ書くにも程がある。

802 :デフォルトの名無しさん:2017/11/07(火) 14:52:58.50 ID:X/d0WSR0.net
EPSONからプリンタとカスタマーディスプレイ買ってパソコンあれば出来る。
ついでに昔は制御方法も教えて貰えた。
他にもシャープとかカシオとかハードだけ買えた気がする。

あと、NCRは日本ではそれほど大手じゃなかった印象だな。
TEC、富士通、NEC、IBMの順ってのが俺の印象。
NCRはその次ぐらい。
あくまで俺の印象だし、今はどうなってるのか知らんけど。

803 :デフォルトの名無しさん:2017/11/07(火) 16:58:21.02 ID:BZzO8P37.net
cとJavaの開発経験があるけど、.NETで初めて開発刷ることになりました。だいたい3ヶ月やれば開発に参加できますか?

804 :デフォルトの名無しさん:2017/11/07(火) 17:14:10.33 ID:H3DL339H.net
それはあなた自身の学習能力とチームが求める能力の関数でしょう

805 :デフォルトの名無しさん:2017/11/07(火) 17:17:49.65 ID:jMIQ1hyl.net
こんな答えようのない事を他人に尋ねてくる上に、文章の推敲も出来ないやつは
ハナっから開発メンバーに入れたくないな>>803

806 :デフォルトの名無しさん:2017/11/07(火) 17:19:28.20 ID:BZzO8P37.net
VBもc#もだいたい似てるよね?

807 :デフォルトの名無しさん:2017/11/07(火) 17:20:06.63 ID:BZzO8P37.net
Javaよりもハードルが低いと聞いた。

808 :デフォルトの名無しさん:2017/11/07(火) 19:30:55.43 ID:83qXUfR4.net
>>803
ドットネッターて>>804,805みたいな無能ばかりだから3ヶ月どころか3時間あればエースプログラマーになれると思うよ

809 :デフォルトの名無しさん:2017/11/07(火) 19:33:42.48 ID:jMIQ1hyl.net
そうそうその通り!

810 :デフォルトの名無しさん:2017/11/09(木) 06:00:15.14 ID:goVr3jSD.net
質問失礼します。

現在、SQLserverからDataReaderにテーブルデータを取得してDataGridViewにテーブルデータを表示させているものがあります。
DataGridViewではなくExcelに出力させて欲しいという要望があり、対応しようとしているのですが、DataRederの内容を2次元配列に入れる事が出来ず困っています。

やりたい事
DataReaderの内容を2次元配列に格納し、指定したExcelファイルに一括で書き込み。

よろしくお願いします。

811 :デフォルトの名無しさん:2017/11/09(木) 07:27:20.45 ID:OuTQqey9.net
datatableから出力させた方が楽なんじゃないかな。。

812 :デフォルトの名無しさん:2017/11/09(木) 07:41:04.52 ID:goVr3jSD.net
>>811
申し訳ありませんが、やり方を教えて下さい。
現状のコードは
datareader=command.ExecuteReader()
While datareader.read
‘データグリッドビューへ出力
End While
なのですが、AdapterとDatasetを作ってDataTableに格納して、Excel出力するイメージですか?

813 :デフォルトの名無しさん:2017/11/09(木) 10:35:39.05 ID:PgCSoHJf.net
dataadapter.fill(datatable)じゃダメなの

814 :デフォルトの名無しさん:2017/11/09(木) 12:25:27.97 ID:goVr3jSD.net
>>811
>>813
ありがとうございます。希望通り動作させる事が出来ました。
また、よろしくお願いします。

815 :デフォルトの名無しさん:2017/11/09(木) 12:34:04.73 ID:TttUt+BF.net
visualstudio2013、.net4.6で、ZipFileクラスは出るのにZipFileExtensionsクラスが出てこないんですが原因わかりませんかね?
参照にSystem.IO.Compression.FileSystem は追加してます。

816 :デフォルトの名無しさん:2017/11/09(木) 21:18:04.53 ID:LSaTNsoH.net
EditorBrowsable 属性で Never が指定されているからインテリセンスには出てこない
ZipFileExtensions と入力した後に . (ドット)を入力したら出てくるけど、拡張メソッド提供用のクラスなので、
dim archive as ZipArchive
archive.CreateEntryFromFile ( ... )
みたいに拡張メソッドとして使用したほうがいい

817 :デフォルトの名無しさん:2017/11/10(金) 02:14:09.54 ID:chLgv4PA.net
約10数年ぶりにこのスレに戻ってきた…
実に.NET1.1以来…

pingクラスを非同期「Ping.SendAsync」で使ってインターネットの速度低下を計測したくて
タイムアウトでイベントを拾いたいんだけど
タイムアウトの時間を20msにしてもタイムアウトイベントが起きない
イベントがcompleteで帰ってくるので21ms以上かかっても正常で戻ってくる

ちなみにdobonでサンプルを参考にした
タイムアウトイベント拾えたひといたらお知恵拝借したい

818 :デフォルトの名無しさん:2017/11/10(金) 02:24:56.30 ID:k0/7SHHI.net
>>817
https://msdn.microsoft.com/ja-jp/library/ms144961(v=vs.100).aspx
> timeout に指定した数値が非常に小さい場合、timeout のミリ秒数が経過した後に Ping の応答が受信されることもあります。
これじゃない?

819 :デフォルトの名無しさん:2017/11/10(金) 02:32:15.58 ID:chLgv4PA.net
>>818
早速サンクスです
どうもこれが原因っぽいですね…
100ms超えるようだとログに残したかったので
毎度応答時間チェックしてみることにします

私事だけどWindows10で.NET1.1が動かないから
昔作った業務アプリを作り直さないといけない…
クリレポ動くんだろうか…

820 :デフォルトの名無しさん:2017/11/10(金) 06:24:47.35 ID:XWT/Y8xw.net
>>816
そういうことだったんですね
ありがとうございます
勉強になりました

821 :デフォルトの名無しさん:2017/11/16(木) 18:56:57.18 ID:WIFtnJuX.net
暗黙の型変換の挙動ってどこで制御しているんでしょうか

decimal d = 1
String s = "hoge "
s = s & d
この時のdって暗黙の型変換?がされていると思うのですが、
decimalの実装を見てもどこでこの挙動が制御されているのかわかりません

822 :デフォルトの名無しさん:2017/11/16(木) 19:23:05.05 ID:hlIaT2GT.net
Option Strict のこと?
ttps://msdn.microsoft.com/ja-jp/library/dd314347.aspx

あとはアンパサンドオペレーターあたりじゃない?
ttps://docs.microsoft.com/ja-jp/dotnet/visual-basic/language-reference/operators/concatenation-operator

823 :デフォルトの名無しさん:2017/11/16(木) 21:42:05.23 ID:eDY5LW4B.net
雑魚プログラマなんだけどプロパティについて聞きたい
普通↓の@の形式だと思うんだけど
似たようなことしたいときにAとかBの形式より@が良いの?

@----------ここから
メンバ変数 _A

プロパティ A
 ’_Aをsetとgetする処理
@----------ここまで

A----------ここから
メンバ変数 _A

プロシージャ setA(引数B)
 ’_Aに引数Bを代入する処理

ファンクション getA
 ’_Aを返す処理
A----------ここまで

B----------ここから
プロパティ A

プロシージャ setA(引数B)
 ’Aに引数Bを代入する処理

ファンクション getA
 ’Aを返す処理
B----------ここまで

824 :デフォルトの名無しさん:2017/11/16(木) 22:20:14.00 ID:1WC2sRMg.net
プロパティを宣言すると、コンパイラは中間言語にgetterとsetterのメソッドを作る。だから意味ないです。普通の?の形式を使えばいい。

825 :デフォルトの名無しさん:2017/11/16(木) 22:42:54.96 ID:eDY5LW4B.net
ありがとう!

826 :デフォルトの名無しさん:2017/11/16(木) 23:32:20.06 ID:zISN/nZ0.net
パブリックで変数切ればいいんやで

827 :デフォルトの名無しさん:2017/11/17(金) 03:52:39.53 ID:8RvIbz6z.net
変数切る?

828 :デフォルトの名無しさん:2017/11/17(金) 04:00:16.21 ID:dFhF1IzE.net
>>821
暗黙の変換やってるのはコンパイラじゃね

>>827
定義するのを(定義)切るとか言うことがあるなぁ。変数切るは変数定義するってことだな
通じる人のほうが多い気がするけど、おっさんだけかもしれんw
語源はしらん

829 :デフォルトの名無しさん:2017/11/17(金) 08:09:20.10 ID:6X4yuC5e.net
おっさんのくせに宣言と定義の違いもわからんのかw

830 :デフォルトの名無しさん:2017/11/17(金) 12:28:53.96 ID:dFhF1IzE.net
>>829
では変数の宣言と定義の違いを簡単に説明してくれ

831 :デフォルトの名無しさん:2017/11/17(金) 13:19:38.94 ID:ENBrszFD.net
>>830
コンパイラのために行うのが宣言
リンカのために行うのが定義
分かれてない言語の場合は宣言と定義を一度に行う

832 :デフォルトの名無しさん:2017/11/17(金) 14:27:37.69 ID:kDLAXaYv.net
>リンカのために行うのが定義

ピンとこないな
アロケーションとは違くて?

833 :デフォルトの名無しさん:2017/11/17(金) 19:58:40.60 ID:66XG3dz2.net
>>822
ありがとうございます

アンパサンドオペレーターでできるかと思ったのですが、
Stringは継承できないしdecimalは構造体だしでダメっぽいです
諦めました

834 :デフォルトの名無しさん:2017/11/17(金) 20:12:59.46 ID:Gtzp+0S5.net
>>833
何言ってるのかよく分からんけど、.NETのオブジェクトはすべてToStringメソッドを持ってるので、

s &= d

s &= d.ToString

と同じ、これはC#でも同じ

835 :デフォルトの名無しさん:2017/11/17(金) 22:15:39.64 ID:66XG3dz2.net
&をオーバーロードして、
s &=d だけで s &= format(d, "0.00###")
みたいな挙動をさせるのが目的でした

今は確認できないのですが、ToStringをオーバーロードすれば出来るのか後ほど確認してみます
ありがとうございます

836 :デフォルトの名無しさん:2017/11/17(金) 23:09:17.40 ID:Gtzp+0S5.net
>>835
そんなこのできないと思うけどできたとしてもやらない方がいいと思うよ。
コードを読む立場になって考えてみ?

s &=d
が実は、
s &= format(d, "0.00###")
と同じ働きをするって普通は誰も思わないからそのコードを読んだ人(数か月語の書いた本人含む)
は絶対混乱するよ

837 :デフォルトの名無しさん:2017/11/17(金) 23:36:41.99 ID:66XG3dz2.net
よろしくない方法だというのは承知しつつ個人用なのでやってみるつもりでした
とはいえそもそも出来ないようで

Stringクラスが継承不可になってるのはそういうのまで考えられてるのかな

838 :デフォルトの名無しさん:2017/11/18(土) 00:42:33.03 ID:lwdaQlHz.net
それはdの方を独自クラス(構造体)にすれば良いんじゃね

継承出来ないようなら暗黙的に変換できる型を作れば良いんじゃね

839 :デフォルトの名無しさん:2017/11/18(土) 01:55:39.49 ID:WTUDdgFw.net
ちょっと文字数減らすために変な小細工しない方がいいと思うよ
こんなのせいぜいマジックストリングを無くす程度で十分でしょ

Const DecimalFormat as String = "0.00###"
....
s &= d.ToString(DecimalFormat)

840 :デフォルトの名無しさん:2017/11/18(土) 02:33:59.73 ID:lwdaQlHz.net
>>834
ちょっと気になったんだが、VB.NETの暗黙の型変換で呼ばれるのは、CType関数じゃないかと
暗黙の変換はStringに限るわけじゃないから、StringのときだけToStrring呼ぶような事はないんじゃね
CTypeは値に忠実に返すべきだが、ToStringは説明的な文字列付加するとかあり得る話だし

841 :デフォルトの名無しさん:2017/11/18(土) 02:55:29.75 ID:WTUDdgFw.net
>>840
あ、VBの&はC#の+演算子と違って自動的にToString呼ばれないみたいだね。
文字列&hogeの場合はhogeにStringへの暗黙変換が定義されてないとダメなのか

変なところでVBの方が厳しいな
https://msdn.microsoft.com/ja-jp/library/k1a63xkz(v=vs.100).aspx
https://msdn.microsoft.com/ja-jp/library/wfx50zyk(v=vs.100).aspx

842 :デフォルトの名無しさん:2017/11/18(土) 03:49:12.83 ID:lwdaQlHz.net
勢いで>>838実装してみた
https://ideone.com/l0VRiT

ideoneってVB.NETの動作なんだか怪しいな
バージョンの新しい方はなんだか動かないし、古い方は自動実装プロパティ使えねぇ

一応言っとくけど、たんにDecimalの表示時にフォーマット指定がめんどくさいとか
その程度の理由でやるような事じゃないからな
じゃあ夜中に何やってんだ俺w

843 :デフォルトの名無しさん:2017/11/18(土) 18:33:11.57 ID:lwdaQlHz.net
>>841
VBの&は文字列連結専用の演算子だからな

実はVBでも+で文字列連結できる
その場合の数値加算か文字列連携かの判断と実行内容がC#と同じかはしらん

まあ、暗黙の変換は予期せぬ結果をまねきかねんから注意しろってことだな

844 :デフォルトの名無しさん:2017/11/22(水) 04:28:34.76 ID:abdxNTRR.net
退位の話題がニュースにあったんだけど
.NET1.1で新元号のアップデート来るかな…

845 :デフォルトの名無しさん:2017/11/22(水) 09:57:39.48 ID:qyCmHlzW.net
1/1付けにしてほしいわ

846 :デフォルトの名無しさん:2017/11/22(水) 10:26:48.94 ID:2YVJuPMl.net
>>844
元号ってOSから引っ張ってきてるんじゃないかなぁ
OSが対応されればそれで行ける気がするけど、1.1動くOSってどこまでだっけ

未だに1.1のシステム抱えてる身としては他人事ではない

847 :デフォルトの名無しさん:2017/11/22(水) 10:34:35.19 ID:JXvvAkCJ.net
4.0以降のみらしい
https://social.msdn.microsoft.com/Forums/ja-JP/a93ec79d-69a5-4bb7-ae5d-a8aabfdcb9dd/systemglobalizationcultureinfo?forum=netfxgeneralja

848 :デフォルトの名無しさん:2017/11/22(水) 12:20:47.97 ID:qyCmHlzW.net
3.5は対応してほしい

849 :デフォルトの名無しさん:2017/11/22(水) 12:36:08.14 ID:abdxNTRR.net
>>846
Windows10は1.1が動かない(とされてる)
業務ソフト納入してる客先でPC機器類納入してる別の会社が勝手にWindows10に変えようとして
慌てて一台リースを延期してもらった

>>847
2.0でビルドしたものが4.0で動いたというのが興味深い

850 :デフォルトの名無しさん:2017/11/22(水) 16:11:09.79 ID:2YVJuPMl.net
2.0以降はいちおう上位互換考慮されてるはずだからなぁ

OSもフレームワークもサポート切れだから、アプリもサポートできません
アプリバージョンアップしてください(もちろん有償で!)

こう言って通れば良いんだがなぁ

851 :デフォルトの名無しさん:2017/11/23(木) 15:38:14.38 ID:oTFRewqv.net
コマンドプロンプトで実行するプログラムで、C言語のsystem()関数と同様の関数ありますか。
Processクラスは別画面で起動します。同じ画面で実行したいもんで。

852 :デフォルトの名無しさん:2017/11/23(木) 17:04:27.61 ID:k3nQdCAx.net
>>851
UseShellExecute = False にしてみたら?

853 :デフォルトの名無しさん:2017/12/12(火) 11:12:04.36 ID:zLaQWn1F1
Nuget にて「OpenCvSharp」をインストール直後、
マイソリューションには、以下のコンテナーが増えて、
imports や、名前空間を先読みするインテリジェンス機能が使えるのですが、
ビルドすると、増えたコンテナーが全て消えてしまい、
OpenCvSharpを使ってビルドを通すことができないでいます。

<コンテナ一覧>
1 OpenCvSharp
2 OpenCvSharp.Blob
3 OpenCvSharp.Extensions
4 OpenCvSharp.UserInterface

どうすれば、削除せずビルドすることができますでしょうか。
お手数ですが、ご教示頂けますでしょうか。

854 :デフォルトの名無しさん:2017/12/15(金) 11:44:07.19 ID:M7F98+kf.net
Class clsMai
Public Text As String = ""
Public size As Integer = 0
End Class
Dim lm As New List(Of clsMai)
このとき
dim sum as integer = 0
dim dt as new clsMai
dt.text = "aaa"
dt.size= 10
lm.add(dt)
lm.sum += dt.size
最初はListだったんだがSumが追加したい。こういう時にはlmはどういうように定義するのがいい?

855 :デフォルトの名無しさん:2017/12/15(金) 11:55:48.67 ID:M7F98+kf.net
Class clschkMai
Inherits List(Of clschkMaisu)
Public sum As Integer
End Class
これで
lm.add(dt)とやるだけで上記のlm.sum+=dt.sizeも行うようにしたいのだがやり方が分からない。

856 :デフォルトの名無しさん:2017/12/15(金) 12:17:45.87 ID:m9RnQpi/.net
>>855
List<T>を継承じゃなくて中に持つクラスを作るだけでしょ。
あるいはsumを頻繁に使うのでなければ、LINQのSumを使った方が簡単
それと今時変なハンガリアンやめなはれw

Claass MaiList
  Private _list as New List( Of Mai)
  Private _sum as Integer = 0;
  Public Sub Add(x As Mai)
    _list.Add(x)
    _sum +=x.size
  End Sub
  Public Property Sum as Integer
    Get
      return _sum
    End Get
  End Property
End Class

857 :デフォルトの名無しさん:2017/12/15(金) 12:57:12.72 ID:M7F98+kf.net
おお!! そういうことか。ありがとう。 addがOverridesできないものかと悩んでた。
clsXXXって書き方は駄目なのか? 何か不都合があるんだろうか?

858 :デフォルトの名無しさん:2017/12/15(金) 13:11:41.44 ID:M7F98+kf.net
アッ、駄目だ。継承しないとlm(3).textのようにインデクサでのアクセスができない。

859 :デフォルトの名無しさん:2017/12/15(金) 13:17:15.59 ID:m9RnQpi/.net
>>858
インデクサ(VBは既定のプロパティと言うと思うけど)も自分で書けばいいんだよそれはwww
簡単でしょw
何でこの程度のことを思いつかないのw

860 :デフォルトの名無しさん:2017/12/15(金) 13:39:16.97 ID:M7F98+kf.net
それはできないでしょ。 lm.lst(i).text みたいになってしまうから。これは面白くない。
lm(i).textにしたいわけだ。

861 :デフォルトの名無しさん:2017/12/15(金) 13:44:55.16 ID:M7F98+kf.net
アッ、List(of ss)ができるのだからできるのか? できる筈だよな。調べてみる。

862 :デフォルトの名無しさん:2017/12/15(金) 13:47:03.03 ID:M7F98+kf.net
解った!! ありがとう。

863 :デフォルトの名無しさん:2017/12/20(水) 21:39:40.25 ID:AHvtW6qd.net
ここで聞くのが適切かわからなかったんですが、ご存知の方がおられましたらお教え下さい。

症状
win10のアップデート1703へ更新した直後から、datagridview内への入力時にIMEがオンになっている場合に、最初の入力文字が2つ入力される。バックスペースで消した後は、通常通り入力できる。IMEオフ時の半角は通常通り入力可能。
例えば「は」と入力しようとした場合は「hha」と下線付きで入力されてしまいます。

開発環境では再現しないのですが、何が考えられるでしょうか?
明日、IMEのプロパティのなかの直接入力をしないのチェックを外すのを試して頂く予定ですが、他に何かこうじられる手はありませんでしょうか?

864 :デフォルトの名無しさん:2017/12/20(水) 21:53:14.40 ID:XaT4vAqr.net
とりあえず使ってるIMEが何か調べる

865 :デフォルトの名無しさん:2017/12/20(水) 23:49:49.75 ID:AHvtW6qd.net
MSIMEです。

866 :デフォルトの名無しさん:2017/12/22(金) 20:50:18.27 ID:8bp8uCql.net
csvから以下の様なデータをよみこんでDataGridViewに、キーが5件以上のレコードだけ表示したいのですが可能でしょうか?

キー,品名,重量,形状
A001,aaa,111,丸
B001,bbb,222,バツ

csvは5000レコード程になります。
キーは700種類くらいです。
宜しくお願いします。

867 :デフォルトの名無しさん:2017/12/22(金) 21:58:13.05 ID:L0WeFQPL.net
可能です

868 :デフォルトの名無しさん:2017/12/23(土) 05:25:16.08 ID:syScn12J.net
>>867
教えていただけませんか?

869 :デフォルトの名無しさん:2017/12/23(土) 08:21:17.89 ID:3noaHCAM.net
何が分からないんだ?
 CSVファイルを読み込みか?
 GroupByの使い方か?
 5件以上の抽出方法か?
 複数Groupのフラット化か?
 DataSourceプロパティか?

870 :デフォルトの名無しさん:2017/12/23(土) 08:45:58.27 ID:De0LpaYa.net
>>869
csvからキーが5件以上重複しているものを抽出する部分です。

871 :デフォルトの名無しさん:2017/12/23(土) 09:20:56.16 ID:Px5uJlt7.net
同時には無理
まずはCSVから全データを読み込み
そのデータをLinqかなんかで絞り込む
この2つの手順が必要

872 :デフォルトの名無しさん:2017/12/23(土) 11:45:58.00 ID:afY4COyy.net
JETとかACEとかでSQL書けば同時に出来る気がしないでもないがな

873 :デフォルトの名無しさん:2017/12/23(土) 18:30:01.78 ID:De0LpaYa.net
>>871
とりあえずcsvをデータテーブルに入れデータグリッドビューに表示は出来るのですが、Linqが難しく書けません。
教えていただけませんか?

5件以下のレコードだけ表示の間違いでした。

874 :デフォルトの名無しさん:2017/12/24(日) 07:37:12.94 ID:hpg5RGLX.net
「GROUP BY キー」して、「HAVING 5件以下」して、「SelectMany」するだけだろ?
どこが難しいんだ?

875 :デフォルトの名無しさん:2017/12/24(日) 08:51:11.82 ID:26rA4GtJ.net
結果的に同じになればいいんだったら処理は遅くてもやり方はいろいろあると思う。

876 :デフォルトの名無しさん:2017/12/24(日) 12:14:59.40 ID:qNqolCPw.net
>>874
linqで抽出した後に、データグリッドビューに表示が出来なくて何が悪いのか理解できず諦めました。
結局csvに対してsql文を書いて873さんの言う通りGroup ByとHavingで実装いたしました。
お騒がせしてしまい、すみませんでした。

877 :デフォルトの名無しさん:2018/01/08(月) 08:29:11.48 ID:UszQx08Q.net
datagridviewで集計処理をやりたいです。
具体的には、項目毎の小計行をdatagridviewへ追加して、最終行に総計を出したいと思っています。

Forループでやってみたのですが、小計行を追加すると最終行が変わってしまい最終行まで処理を行えません。
Doループでやってみようと考えたのですが、最終行判定方法が分かりません。

datagridviewで上記の様な集計を行う方法を教えてください。

878 :デフォルトの名無しさん:2018/01/08(月) 17:50:23.27 ID:4DzBbICP.net
データを行追加しながら小計や総計を出せば最終行を気にする必要はないと思いますが

879 :デフォルトの名無しさん:2018/01/08(月) 19:38:43.65 ID:UszQx08Q.net
>>878
datatableをバインドしているのですが、datatableから1レコードづつ追加して小計行を入れる感じでしょうか?

880 :デフォルトの名無しさん:2018/01/21(日) 17:49:05.41 ID:xVt4kZ2y.net
<例1>
dim a As decimal = "0.12340000"

Console.WriteLine (a)
⇒0.12340000

<例2>
dim a As decimal = 0.12340000
Console.WriteLine (a)
⇒0.1234

<理想>
dim a As decimal = "0.12340000"

Console.WriteLine (a)
⇒0.1234

理想のように出力させる方法ってないでしょうか

881 :デフォルトの名無しさん:2018/01/21(日) 18:19:11.18 ID:RCjuWkB1.net
>>880
Console.WriteLine(a.ToString("G29"))
または
Console.WriteLine("{0:G29}", a)

882 :デフォルトの名無しさん:2018/01/21(日) 19:42:04.55 ID:xVt4kZ2y.net
すいません、書き方が悪かったです。

出力させると言うよりは、
dim a As decimal = "0.12340000"
の宣言後にa=0.1234と内部的に認識?させたいです。
文字列変換時のformatは使いたくありません

decimal等に一度キャストして再度decimalに戻せば消えるんでしょうか

883 :デフォルトの名無しさん:2018/01/21(日) 22:12:27.71 ID:PGD2ovYS.net
むしろ後続のゼロを保持するDecimalで勝手に後ろの0を消す
VBのエディタだかコンパイラだかに問題があるけど

Decimal.Parse(a.ToString("G29"))でもすれば

884 :デフォルトの名無しさん:2018/01/21(日) 22:16:38.18 ID:8mbnCibk.net
何が言いたいのか何がしたいのかさっぱりわからんけど、
そもそも文字列リテラルでdecimalを初期化するのが間違ってる

885 :デフォルトの名無しさん:2018/01/22(月) 09:16:19.77 ID:26rmQH+m.net
Dim a As String = "0.12340000"
Dim b As Decimal = CDec(a)

これでええで

886 :デフォルトの名無しさん:2018/01/22(月) 20:18:35.99 ID:AesY7cS1.net
Decimalって後続ゼロを保持してるとかいう仕様なんだが
実際の小数点以下桁数については、取得するメソッドとかすら用意されてないぽいよな
なんでそんな片手落ちな仕様なんだろ

887 :デフォルトの名無しさん:2018/01/22(月) 21:11:58.46 ID:BhdsaoHH.net
>>886
これで取得できるみたい

Dim a = Decimal.Parse("0.12340000")
Dim len = Decimal.GetBits(a)(3) >> 16 And &HF
Console.WriteLine(len) ' 8

888 :デフォルトの名無しさん:2018/01/23(火) 21:18:21.91 ID:NPbHldMa.net
関係あるようでないけどsqlserverのnumeric型に1とかを格納して1.000000になるのって防げないよね?
Decimalに代入して扱うとずっとゼロが残るもんで
ToString("G29")を全部に書き加えたんだけど、もっと頭の良い方法あったなら死にたい

889 :デフォルトの名無しさん:2018/01/23(火) 21:52:20.10 ID:8AbQh9Sj.net
(1) 必要もないのにDecimalなんか使わない

(2) 必要な精度に合わせて丸めることを覚える(実数型っていうのはそうやって使う)

890 :デフォルトの名無しさん:2018/01/23(火) 22:09:43.15 ID:NPbHldMa.net
Oracleだと後続ゼロは勝手に除去するし面倒やね

891 :デフォルトの名無しさん:2018/01/24(水) 01:20:12.88 ID:FR3L8fOM.net
>>888
SQL ServerのNumeric型は指定精度の固定小数点だし、そんなことになるか?
どうやって取得してるのか、簡単なコードあっぷしてくれ

892 :デフォルトの名無しさん:2018/01/25(木) 21:17:36.29 ID:kHl9XEzA.net
すんません、.net nativeってどうなったんですかね?

893 :デフォルトの名無しさん:2018/01/26(金) 00:31:48.81 ID:xgA/ZrEm.net
>>891
datareader経由で普通に取得してた記憶がある
テーブルに格納した時点でnumericなら1.000000~みたいになるし、それがむしろ正常なのでは?

894 :デフォルトの名無しさん:2018/01/27(土) 10:54:23.24 ID:blSbszVf.net
Dim pic As PictureBox = New PictureBox
pic.Width = PictureBox3.Width
pic.Height = PictureBox3.Height
pic.Top = PictureBox3.Top
pic.Left = PictureBox3.Left
pic.BackColor = cs.GroupColor
こんな感じでインスタンスを作ってその位置と外形だけ複製したいのだがなんかよい方法ない?

895 :デフォルトの名無しさん:2018/01/27(土) 15:01:31.82 ID:1CQ9r5Ku.net
それでいいんじゃないの?

896 :デフォルトの名無しさん:2018/01/27(土) 15:15:21.70 ID:blSbszVf.net
だめだ。 もっとスマートな方法はある。何か考えろ。
デリゲート使って簡単にできんか?
それとか、、、コピーモードもあるはず

897 :デフォルトの名無しさん:2018/01/27(土) 15:42:24.58 ID:zlVwMk+1.net
そんな汎用的じゃない処理がライブラリにあるわけないでしょ
世の中自分を中心に回ってるとか思ってる?

898 :デフォルトの名無しさん:2018/01/27(土) 16:36:34.58 ID:blSbszVf.net
PictureBOxにコピーコンストラクタを追加する。
dim pic as picturebox = new ExPictureBox(PictureBox3)
みたいなことはできんか?

899 :デフォルトの名無しさん:2018/01/27(土) 16:56:15.88 ID:blSbszVf.net
Class exPictureBox
Inherits PictureBox
Sub New(pp As exPictureBox)
MyClass.Width = pp.Width
MyClass.Height = pp.Height
MyClass.Top = pp.Top
MyClass.Left = pp.Left
End Sub
End Class
これをPictureBoxにキャストはできんのかなー

900 :デフォルトの名無しさん:2018/01/27(土) 17:06:40.08 ID:blSbszVf.net
「継承のルールによると、派生オブジェクトは常に基本クラスの変数に代入できると規定
されています。」

できる筈だが、エラーになるな。

901 :デフォルトの名無しさん:2018/01/27(土) 17:36:25.08 ID:zlVwMk+1.net
>>900
マジボケ?
コンストラクタの引数の型はPictureBoxにしないとダメなんじゃないの?

それから、そんなつまらん処理のためにいちいち新しい型を作るとか無駄。
せいぜい拡張メソッドでいいでしょ

Public Module Exetnsions
  <Extension()> _
  Public Function GetMimic(p as PictureBox) as PictureBox
    ....
  End Function
End Module

902 :デフォルトの名無しさん:2018/01/27(土) 18:02:03.55 ID:blSbszVf.net
でけたーーー。サンクス。w

903 :デフォルトの名無しさん:2018/01/27(土) 18:17:58.54 ID:blSbszVf.net
IIf(count Mod 2, leftp = GroupBox4.Left, leftp = GroupBox3.Left:top += ctl.Height

これってなにか良い方法ない?

904 :デフォルトの名無しさん:2018/01/27(土) 18:50:33.41 ID:zlVwMk+1.net
そんなものない。だから、世の中君を中心に回ってない。
ついでに言うと、それもダメ。もう全然ダメ
それ意図した通り動かないはずだからやってみ

905 :デフォルトの名無しさん:2018/01/27(土) 22:38:38.55 ID:blSbszVf.net
ある。ぜったいにある。考えてみ。

906 :デフォルトの名無しさん:2018/01/28(日) 14:37:36.58 ID:GdggbAq+.net
教えてくださいだろ

907 :デフォルトの名無しさん:2018/01/29(月) 01:02:44.26 ID:T4IzQ9lA.net
IIF嫌いだわ

908 :デフォルトの名無しさん:2018/01/29(月) 02:58:03.61 ID:SBGh1g9E.net
可能であれば If 演算子を使ったほうがいい

909 :デフォルトの名無しさん:2018/01/29(月) 11:23:57.86 ID:Zkbe25Yq.net
何かずっと頭おかしいのが荒らしまくってたんだね

910 :デフォルトの名無しさん:2018/02/12(月) 14:10:49.62 ID:pRrQ7Rw0.net
なんか廃れてるけど質問ここでいいのかな

初心者向けの本買って、
その通りにサンプルアプリ作ってるんですけど、
TextBoxコントロール入れて、fontプロパティをメイリオの16pt、
Sizeプロパティを55,55にしろってのがあるんだけど、
その通りにするとSizeが55.39に勝手になってしまって高さが55になりません

多分フォントサイズに自動的に高さを合わせてるから39に勝手になってるんだろうけど、
どうすれば高さも55になりますか?

911 :デフォルトの名無しさん:2018/02/12(月) 18:44:24.45 ID:EjSCFOs0.net
>>910
テキストボックスの右上の方にちっちゃい右向きの三角の記号あって▶そこクリックでMultiLineっていうの出てこない?
もしくはテキストボックスのプロパティからMultiLineをtrueにする

912 :最近VB2017使い始めました:2018/03/04(日) 10:59:53.34 ID:/0SDFJ7N.net
VB2010使ってて最近2017使い始めたのですが、ショートカットキーでCTRL+↑してもプロシジャーの先頭に移動しません。
どなたか教えてくださいませ。

913 :デフォルトの名無しさん:2018/03/04(日) 20:58:02.16 ID:rxRBgFzI.net
excelシートみたいなのの無償で使えるコンポーネントない?

914 :デフォルトの名無しさん:2018/03/08(木) 17:50:00.92 ID:V+SVDdKN.net
Excelは無料じゃないんやで

915 :デフォルトの名無しさん:2018/03/08(木) 18:17:28.34 ID:yp+c4Bcu.net
>>914
日本語わかりますか?

916 :デフォルトの名無しさん:2018/03/09(金) 06:52:37.89 ID:7JwIVN63.net
vbにあったようなやつ

917 :デフォルトの名無しさん:2018/03/11(日) 15:20:09.39 ID:U/Qy0RW3.net
VB初心者です。

下記のコードでアプリケーション起動時に
1.データテーブルを作成
2.CSVファイルからデータテーブルへデータを読み込み
3.データテーブルのデータをデータグリッドビューへ表示
としています。ここまでは完成しています。

アプリケーション上にデータの追加ボタンbtn_add_Clickを作成してアプリケーション上からデータをリストへ追加していきたいです。
DataTableにデータを追加して、そのデータをデータグリッドビューへ表示したいのですがどのようなコードにすればいいでしょうか?
ご教示お願い致します。
入力フォームはすでに作っていて、テキストボックスA、B、C、Dとその入力されたデータをもとに内容が変わるラベルE、Dがあります。

長文すぎて書き込み拒否されるのでコードはリンク先で失礼します。
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q13187386258

918 :デフォルトの名無しさん:2018/03/11(日) 18:11:33.14 ID:GnsUw/H6.net
DataSourceのDataTableに追加するコードをButtonのクリックイベントに書けばいい。
DataGridViewにバインドしているから反映される。
コードからバインドされたDataGridViewには追加出来ないからSourceに追加する。

919 :デフォルトの名無しさん:2018/03/11(日) 20:33:05.73 ID:U/Qy0RW3.net
>>918
回答ありがとうございます。
いろいろ調べてDataTableに追加しようとしましたがうまくできず
DataTableと別にDataTable2をつくってDataTableと結合→DataGridViewに表示しようとしたのですがそれもでうまくできませんでした。

DataTableに追加するか
DataTable2を作成、DataTableとDataTable2を結合
のどちらかの例文を教えて頂けないでしょうか?
よろしくお願いいたします。

920 :デフォルトの名無しさん:2018/03/11(日) 20:49:13.97 ID:AaTTZdyn.net
DGVしゃ足りないんだからそれこそエクセル(クローン)しか無いだろ
でも.NetじゃOLE出来ないしなー
(表示だけならWebBrowserで出来るみたいだけど)

921 :デフォルトの名無しさん:2018/03/11(日) 21:35:19.22 ID:GnsUw/H6.net
>>919
Dim tbl As New DataTable(“table”)
Dim row As DataRow

'1列目
row = tbl.NewRow
row("Item1") = "A1"
row("Item2") = "A2"
row("Item3") = "A3"
tbl.Rows.Add(row)

'2列目
row = tbl.NewRow
row("Item1") = "B1"
row("Item2") = "B2"
row("Item3") = "B3"
tbl.Rows.Add(row)

'途中挿入
row = tbl.NewRow
row("Item1") = "C1"
row("Item2") = "C2"
row("Item3") = "C3"
tbl.Rows.InsertAt(row, 1)

みたいな感じで出来ない?

922 :デフォルトの名無しさん:2018/03/12(月) 06:35:19.03 ID:Lx3T/3bw.net
>>921
参考にして少し弄ったらできました。
ありがとうございます。

新たな壁に直面して
DataTableをCSVファイルで保存したいのですがうまくいきません。
ご教示願います。

923 :デフォルトの名無しさん:2018/03/12(月) 06:48:40.25 ID:PUJRPThX.net
>>922
https://dobon.net/vb/dotnet/file/writecsvfile.html

に書かれています。

924 :デフォルトの名無しさん:2018/03/12(月) 10:04:37.18 ID:Lx3T/3bw.net
>>923
そのコードはどうすればボタンクリックイベントにできますか?

925 :デフォルトの名無しさん:2018/03/12(月) 12:29:50.31 ID:GSF7SLW7.net
クリックイベントで、ConvertDataTableToCsvにデータテーブルとcsvのパスとヘッダーを書き込むならTrueを渡して呼び出すだけ。

926 :デフォルトの名無しさん:2018/03/12(月) 13:35:16.64 ID:Lx3T/3bw.net
>>925

パラメーターdt ,svPath,writeHeaderに対して引数が指定されていませんとエラーがでるのですがどうすればいいですか?



Private Sub btn_hozon_Click(sender As Object, e As EventArgs) Handles btn_hozon.Click

ConvertDataTableToCsv

End Sub

927 :デフォルトの名無しさん:2018/03/12(月) 17:50:12.84 ID:GSF7SLW7.net
>>926
ConvertDataTableToCsv(DataTable(“table”),”C:\test.csv”,True)
みたいにして引数を渡して呼び出せばいいです。
ファイル名やデータテーブル名などは、自分の環境に合わせて下さい。

928 :デフォルトの名無しさん:2018/03/12(月) 18:03:33.00 ID:Lx3T/3bw.net
>>927
ありがとうございます。
一応保存には成功しました。

しかし、一番最期の行が消えてしまいます(CSVに保存されていない)

どうすればいいですか?

929 :デフォルトの名無しさん:2018/03/12(月) 18:28:22.27 ID:r8WIsdXf.net
プログラムを直せばいいんじゃね

930 :デフォルトの名無しさん:2018/03/12(月) 19:05:44.46 ID:5D2himS5.net
For文2回使って地道にやったほうが速そうだなw

931 :デフォルトの名無しさん:2018/03/16(金) 17:12:44.34
Vb6で生きてる質問スレがなさそうなのですが、、こちらで質問してもよろしいでしょうか。

932 :931:2018/03/16(金) 17:24:12.78
外部のdllを利用しているコードがあるのですが、dll の名前だけが変わりました。
ただし、そのプログラムは複数のユーザーが利用し、該当のdllも新旧が混在しています。
Private Declare Function TEST_Function Lib "TESTDLLNew" Alias "Test_Func1" (ByVal hwnd As Long) As Integer

上記のtestdllnewを可変にすることはできるでしょうか。

933 :デフォルトの名無しさん:2018/03/16(金) 14:29:21.01 ID:Eci7cEig.net
DataGridView上の特定の文字列のセルの文字色を変更したいですがやり方がわかりません。

例えば5列目1行目と5行目にAAAがあってこれを赤色、5列目3行目と4行目にBBBがあってこれを青色、といった感じで文字色変更したいです。

下記のコードでセルを選んで文字色を変えることには成功しましたがここからどのようにすれば、AAAやBBBといった文字列のセルの文字色を変更できるかがわかりません。

Me.database.Item(5, 1).Style.ForeColor = Color.Red

934 :デフォルトの名無しさん:2018/03/16(金) 19:09:15.24 ID:7QDEA7p3.net
バーカ!

935 :デフォルトの名無しさん:2018/03/16(金) 23:01:58.97 ID:8qp1Gu5M.net
>>933
セルの値がAAAかどうかを1セルずつチェックする

936 :デフォルトの名無しさん:2018/03/17(土) 02:17:25.38 ID:kilRADxn.net
>>解決できました
回答ありがとうございます。

937 :デフォルトの名無しさん:2018/03/22(木) 21:02:32.68 ID:WmkzQNen.net
すいません、ここが最適だと思ったので教えてください!!

Spread(グレープシティ社)のWindows Formのバージョン8で
右端に列を追加するにはどうすればいいですか?
右端で右クリックして列を追加すると右から2番目に追加されてしまって困っています!

938 :デフォルトの名無しさん:2018/03/22(木) 21:14:42.50 ID:WC+ROiY7.net
スレ違い
せっかく高い金払ってるんだからサポートに聞け

939 :デフォルトの名無しさん:2018/03/22(木) 21:23:02.10 ID:kmqMUrWv.net
なんだこいつ

940 :デフォルトの名無しさん:2018/03/26(月) 02:01:20.13 ID:xKDUmJE8.net
餅は餅屋に聞くという思考が次第に薄れてきている事を感じさせますね。

941 :デフォルトの名無しさん:2018/04/22(日) 21:23:49.07 ID:PsQCMKRd.net
餅屋とかそもそもないやん?

942 :デフォルトの名無しさん:2018/04/25(水) 00:37:59.07 ID:12saxXB9.net
SpreadのことはGrapeCityに、VB.NETのことはマイクロソフトに聞くべし

だったら何でこのスレあるの?

943 :デフォルトの名無しさん:2018/04/25(水) 00:42:33.35 ID:Ttsqtpq4.net
>>942
なら自分でスレ立てすればええやん

944 :デフォルトの名無しさん:2018/04/25(水) 01:16:52.85 ID:y6Ukjt1p.net
>>942
どこで聞くべきかを教えてくれる

945 :デフォルトの名無しさん:2018/04/26(木) 20:41:50.04 ID:fOtvyrSj.net
グレープシティっていいの?
あとエクセルなんとかってとこのが定番化だった気がする

946 :デフォルトの名無しさん:2018/04/27(金) 08:07:08.11 ID:NW63AoOa.net
ActiveX(〜VB6)までは世話になったけど、.Net になってからGrapeCity には関わるまいと誓った。

947 :デフォルトの名無しさん:2018/04/29(日) 22:50:27.19 ID:RMQStnhd.net
質問させてください、2つの波形の位相差(シーター)を求めたいです。

chartコントロールに位相差の違う2つの波形を表示させてその位相差を測定したい。
例)https://blog-imgs-86-origin.fc2.com/m/0/k/m0kichiazuma416/066_01.png

最終的にはこの様な物を作りたい。
http://siesta.la.coocan.jp/zk/PwrChk2/pwrchk2.html
この作例だと、電流値と電圧値をchartコントロールに入れて、
chartコントロールに演算させて力率を出しているのだと思うのですが。
どうなんでしょうか。

948 :デフォルトの名無しさん:2018/04/29(日) 23:49:54.01 ID:eBkQOB0i.net
>>947
とりあえずchartコントロールに何かを計算させようって発想は根本的に間違ってるw
エクセルじゃないんだからwww
chartが担うのは表示機能だけw

当たり前だけど位相差は測定値の時系列から自分で計算するコードを書くしかない。
ひょっとしてそもそも位相差が何を意味するか分かってないんじゃないの?

949 :デフォルトの名無しさん:2018/04/30(月) 18:01:51.77 ID:9DOSDrcb.net
>>947
まずはChart コントロールで何が出来るか理解する
http://www001.upp.so-net.ne.jp/vb_hanatyan/vb2005/vb2013chart01.htm

これ読んでもChartコントロールは癖があるので使えるまでは試行錯誤が必要

950 :デフォルトの名無しさん:2018/05/03(木) 21:02:29.98 ID:zBmU1+Vb.net
LISTを使いたい場合、何かImportしないとダメでしたっけ?
Dim a As New List
ってところで'List' is not declaredってエラーが出る

951 :デフォルトの名無しさん:2018/05/03(木) 22:34:02.54 ID:MXsl4Tgb.net
(Of String)とか要るんじゃないの

952 :デフォルトの名無しさん:2018/05/03(木) 22:37:52.21 ID:qtomOB3T.net
System.Collections.Generic

953 :デフォルトの名無しさん:2018/05/07(月) 18:26:29.73 ID:vYSga6Mw.net
VBは ; と { } がいらない所がほんと好き
JavaC#で } が続くのを見るとストレスがマッハ
なので明日からパイソン使います

954 :デフォルトの名無しさん:2018/05/07(月) 18:35:33.95 ID:9uos5YV5.net
>>953
老眼になってから{}の区別つかないのでますますc系が嫌いにw

955 :デフォルトの名無しさん:2018/05/08(火) 11:32:57.05 ID:h+8p14mY.net
Usingは便利だね

956 :デフォルトの名無しさん:2018/05/09(水) 04:51:37.41 ID:s2cd4Wcs.net
どこが?

957 :デフォルトの名無しさん:2018/05/09(水) 19:08:23.70 ID:k4lh3S1t.net
>>956
Dispose忘れを無くせる。

958 :デフォルトの名無しさん:2018/05/09(水) 20:02:36.56 ID:lGFwiLgr.net
>>954
今は老眼だが、Fortran77をカード穿孔機でプログラムを書いて読ませ込んでいた学生(高専)時代、
l(小文字のエル)、I(大文字のアイ)、1(数字のいち)が見分けづらく、デバッグに難儀した思い出。

959 :デフォルトの名無しさん:2018/05/09(水) 20:08:27.63 ID:K3GbtLPn.net
ベテラン氏おつであります
まだ現役のプログラマーやってるの?

960 :デフォルトの名無しさん:2018/05/09(水) 20:13:31.15 ID:EL7F/5Xk.net
教えて欲しいのですが
google chromeで任意のページを開いて2分後に閉じるってどうすれば良いですか?

961 :デフォルトの名無しさん:2018/05/09(水) 20:18:51.49 ID:s9132bVL.net
>>958
私も高専だったがokitacとtosbacだったw

962 :デフォルトの名無しさん:2018/05/09(水) 20:23:21.29 ID:s9132bVL.net
両方紙テープだったがtosbacは高速光紙テープリーダーだった
なのでテープ詰まり起こすとほぼ切れたw

963 :デフォルトの名無しさん:2018/05/09(水) 21:26:20.84 ID:lGFwiLgr.net
>>961
HITAC 8000シリーズのどれかだったと記憶。(HITAC10は完全に置物状態)
3年生のとき、PC実習室が出来てEPSON PC-286が導入され、HITACは教師の研究専用になったけど。

>>959
C言語で止まっているポンコツには、VBAもえっちらおっちら。(;_;)

964 :デフォルトの名無しさん:2018/05/09(水) 22:17:16.07 ID:WSvLZm4M.net
パンチカードとか一回やってみてーよなあ
博物館で体験コーナーとかそういうんじゃなくて
ガチの仕事で当時の環境まで再現して・・・

957はVB.NET 別プロセス 終了とかでググれ

965 :デフォルトの名無しさん:2018/05/09(水) 22:26:52.39 ID:K3GbtLPn.net
>>963
イ`w

966 :デフォルトの名無しさん:2018/05/10(木) 10:13:54.13 ID:lBPoSMfr.net
BABAとえっちでオラオラですか

967 :デフォルトの名無しさん:2018/05/17(木) 06:14:28.31 ID:q+eljBB5.net
JAVAが有料になったぞ

968 :デフォルトの名無しさん:2018/05/17(木) 06:44:27.13 ID:FVYoS4b5.net
VSは無料バージョンがあるので勝負は決まったな

969 :デフォルトの名無しさん:2018/05/17(木) 07:34:22.14 ID:qZ9boVIY.net
Write Once, Pay Forever

970 :デフォルトの名無しさん:2018/05/17(木) 20:32:36.91 ID:VnQTRgho.net
VSも便乗するわこれ

971 :デフォルトの名無しさん:2018/05/19(土) 23:20:39.96 ID:W+KbvEz/.net
VB6で

Do
 If 条件
  GoTo ラベルA
 Else
  Exit Do
 End If
 処理A
ラベルA
 処理B
Loop

という事をしていた場合
VB.NETで作り直す際はラベル使わずにやるなら
皆さんも処理Bの部分メソッド化してますか?
それとも何か別のやり方とかやってますか?

972 :デフォルトの名無しさん:2018/05/19(土) 23:32:27.28 ID:oft4Cqjn.net
>>971
何この糞意味不明なコード
これ、「処理A 」の部分は絶対に通らないけど...

つーかこれ、

While 条件
  処理B
End While

これと何が違うんだ?

973 :デフォルトの名無しさん:2018/05/19(土) 23:38:09.50 ID:RoboUWmL.net
>>972
バカはしゃべるな

974 :デフォルトの名無しさん:2018/05/20(日) 00:33:14.34 ID:64mTg3CR.net
ElseでExit Do だから、GOTOで飛ぶかループ抜けるかだが

まあほんとにこんなロジックなら全体的に見直すけど

975 :デフォルトの名無しさん:2018/05/20(日) 13:26:41.42 ID:dteyaV0y.net
>>973
こいつも質問者と同レベルの酷い馬鹿だな

976 :デフォルトの名無しさん:2018/05/20(日) 16:28:00.45 ID:FVcQO6kI.net
質問者に答えられてない時点でお前ら全員バカだろ

977 :デフォルトの名無しさん:2018/05/20(日) 17:04:28.89 ID:rZi+LkKU.net
お前も含めて全員馬鹿

978 :デフォルトの名無しさん:2018/05/20(日) 18:32:27.04 ID:64mTg3CR.net
>>975
せめてどこがどうひどいのか具体的に指摘できないのかね

979 :デフォルトの名無しさん:2018/05/20(日) 21:11:32.95 ID:PV4ZA/+j.net
>>978
どんな鳥頭だ>>972

980 :デフォルトの名無しさん:2018/05/20(日) 21:53:23.12 ID:+C60mNBr.net
煽ってるだけなのは大抵バカ

981 :デフォルトの名無しさん:2018/05/20(日) 22:57:32.02 ID:GKOfAQDF.net
悔しいけれど
お前に夢中

982 :デフォルトの名無しさん:2018/05/23(水) 19:09:57.09 ID:Au5e7VGg.net
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

E3IKN

983 :デフォルトの名無しさん:2018/05/24(木) 10:34:56.58 ID:cPlRxlDn.net
E3IKN

984 :デフォルトの名無しさん:2018/05/25(金) 23:21:12.79 ID:ZrHxAhL0.net
WPFがいちばん作りやすい

985 :デフォルトの名無しさん:2018/05/25(金) 23:23:16.04 ID:ZrHxAhL0.net
なんでc#の方が覇権握ってるんかね。excel VBAから入るから、vb.net一択だろ!

986 :デフォルトの名無しさん:2018/05/26(土) 02:34:32.84 ID:j5LT+unl.net
無理矢理BASIC文法に押し込めて無理が生じてるからだろ
Handlesとかラムダ式の書き方とか苦し紛れ過ぎる

987 :デフォルトの名無しさん:2018/05/26(土) 08:00:37.47 ID:70J4Hujl.net
気持ち悪さは認める

988 :デフォルトの名無しさん:2018/05/26(土) 09:56:41.12 ID:KEMwsz4A.net
全部Dimから始まるのと型を明示しなくてもなんとかなるのが気持ち悪い
インスタンス生成時に引数なしなら()省略できるのもなんか嫌

989 :.:2018/05/26(土) 18:13:12.90 ID:QSlAAqmb.net
次スレ

VB.NET質問スレ(Part44)
https://mevius.5ch.net/test/read.cgi/tech/1527325729/

990 :デフォルトの名無しさん:2018/05/26(土) 21:38:25.81 ID:oc/+PHrW.net
>>985
なんでって結局マイクロソフトがそっちに力(膨大な資金)を入れたからかな
C#はオブジェクト指向的に良くできてる上に
delphiの開発リーダーを引き抜いて開発手法をまんま移植させた

マイクロソフトもBASICに思い入れがあったからか
まだC#ついでに現代的な言語としてメンテしてくれてるだけ超絶ラッキーよ

991 :デフォルトの名無しさん:2018/05/26(土) 21:51:58.80 ID:Lty78diJ.net
思い入れがなかったからウインドウズの発展を陰から表から支え続けてきた無数のVB6プログラマーを切り捨てたんやぞ

992 :デフォルトの名無しさん:2018/05/26(土) 21:55:49.37 ID:oc/+PHrW.net
そういえばVBを調べるためにC#の記事を読んでいるうちに
C#もいつの間にか書けるようになってるんだよなぁ
それでも慣れでVBで書くほうが早いから使ってるけど

残念ながら世の中的にBASIC系は時代遅れってイメージで使う人が減ってる
Excelのマクロもpythonにするって噂があるし

993 :デフォルトの名無しさん:2018/05/26(土) 21:56:56.43 ID:oc/+PHrW.net
>>991
現代的になるってそう言うことなんだろ

994 :デフォルトの名無しさん:2018/05/26(土) 22:03:58.56 ID:oc/+PHrW.net
言葉足らず
切り捨ててまでいないのは思い入れがあるからだろ
そうでなかったら、VB自体切られてる

995 :デフォルトの名無しさん:2018/05/26(土) 23:04:53.95 ID:/y7LUvmr.net
たんに利用者がいてメリットがからサポートしてるだけで
思い入れとかそんな心情的なものじゃないだろうけどな

996 :デフォルトの名無しさん:2018/05/27(日) 00:21:42.78 ID:JW/OjEsa.net
>>993
表面的にはそう見えるが実情は単なるシェア防衛の為の政略やぞ
当時のMSにとってはJavaが最大の脅威やったんや
そのWrite Onece, Run AnywareというポリシーからMSのシェアを守るためだけの
実に政治的な理由によって生みだされたのがCLIや
そしてCLIに全力をそそぎたいMSはVB6をあっさり切り捨てた
とはいえVB6のユーザー企業にそっぽを向かれては本末転倒やから
苦肉の策としてVB.NETを生みだしたという訳や
MSにとってVB.NETは今すぐにでも捨てたいお荷物以外の何物でもないで

997 :デフォルトの名無しさん:2018/05/27(日) 00:29:39.63 ID:ub84Voiu.net
始まりはズブズブで捨てる踏ん切りは付けられない
https://ja.wikipedia.org/wiki/%E3%83%9E%E3%82%A4%E3%82%AF%E3%83%AD%E3%82%BD%E3%83%95%E3%83%88%E3%81%AE%E6%AD%B4%E5%8F%B2

ゲイツが生きてる限りな気もするが

998 :デフォルトの名無しさん:2018/05/27(日) 00:55:28.21 ID:oK9lkiW8.net
他言語出身なんだが使いにくい印象しかない
初心者にはわかりやすいのか?

999 :デフォルトの名無しさん:2018/05/27(日) 02:20:59.48 ID:O0PQqjQm.net
自分はVB6er→C#erだが
正直C#のほうがBASIC(の思想)に近い気がするからな
ユーザーが真に求めていたものはVB6の文法のまま
CLIで動くものだったよね
専業でない人とか素養のない人向けには
VBAが限度だった。
C++もそうだがもはや言語設計者のオナニーになってきてるからな
その中でもC#は現実解とのいいバランスをとってるほうだが

1000 :デフォルトの名無しさん:2018/05/27(日) 12:11:05.40 ID:0twgqEmM.net
事務員だからVBAとPHPしかわからんわ
c♯やっても結局冗長なコード書くことになるので、VB.netでいいや

1001 :デフォルトの名無しさん:2018/05/27(日) 12:23:37.19 ID:XmOnmxHR.net
これが分かりにくいとか頭大丈夫?レベルだな

1002 :デフォルトの名無しさん:2018/05/27(日) 12:31:48.48 ID:0twgqEmM.net
みなさんは簿記二級以上や、中小企業診断士や会計士持ってますか?
知らないとSEの指示に従ってコーディングするだけの時給いくらの人になっちゃいますよね?

1003 :デフォルトの名無しさん:2018/05/27(日) 14:55:02.33 ID:zT1np8E1.net
次スレ

VB.NET質問スレ(Part44)
https://mevius.5ch.net/test/read.cgi/tech/1527325729/

1004 :2ch.net投稿限界:Over 1000 Thread
2ch.netからのレス数が1000に到達しました。

総レス数 1004
270 KB
掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★