X



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

レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん
垢版 |
2016/06/15(水) 11:41:09.50ID:bPj3FmGk
前スレ

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/
2016/06/15(水) 17:48:41.64ID:6LrjeIzy
最近落ちるの早いので乙
3デフォルトの名無しさん
垢版 |
2016/06/15(水) 19:45:19.21ID:G76GMmEr
乙.py
2016/06/15(水) 20:45:31.75ID:UJ4dhPXD
関連スレ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

JAVA陣営はJAVAとScala

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

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

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

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

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

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

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

この絶望感はキツイ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Select Case m.Msg
Case WM_IME_STARTCOMPOSITION
ForIME = True

Case WM_IME_ENDCOMPOSITION
ForIME = False

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

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

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

ImmReleaseContext(Handle, Imc)
End If
End Select

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

なんかしょうもない話してるよな本当
2017/03/05(日) 14:31:06.98ID:x9pPtpWR
MSAMでCOMポートからチマチマデータを取ってた世代には(ry
2017/03/05(日) 16:01:29.71ID:u/xcfN5N
VBと過ごした青春
なんか嫌だなそれ
2017/03/09(木) 20:01:49.55ID:ouxZaahl
簡易的にずれてたらETX来るまで1バイトずつ取り込んで読み捨てすればいいんじゃね?
2017/03/10(金) 17:23:20.12ID:tq5lUfKn
タプルっていう存在を今、初めて知ったんだけど。
複数の値を返すのはいいけど・・・
こんなんじゃなーいって思ったのは俺だけかな?
2017/03/10(金) 18:38:21.20ID:wvkqDHaL
>>536
具体的に
2017/03/10(金) 19:46:18.91ID:PPM6ZnbB
デコンストラクタでタプルも扱いやすくなる
2017/03/13(月) 21:14:52.90ID:4mOoeOmZ
Visual Basicの今後
https://www.infoq.com/jp/news/2017/03/vb-strategy
2017/03/14(火) 00:27:16.98ID:pXYRmO5x
Microsoftも見限った感あるし流石にもうそろそろ消滅の流れじゃないか
541デフォルトの名無しさん
垢版 |
2017/03/14(火) 19:24:57.60ID:O/GpwfFn
C#に移りなよ
ってかもうみんな両用してるか
2017/03/18(土) 20:44:47.06ID:ybox44GA
バッファがの処理が追い付かないときの為のフロー制御だよな
2017/03/18(土) 21:33:24.54ID:TQTGmQah
C++ならともかく、VB.NETとC#の違いなんて、東北弁と九州弁の違いでしかない
2017/03/22(水) 21:49:26.12ID:Lj+MxEQk
今日見た関数が戻り値の型がBooleanで条件によってはTrueを返す、という関数でした
ただその条件分岐に引っかからなかった場合どこにもFalseを返すとは書いてませんでした
自分で試してみたところその場合はFalseになったのですが、これは言語仕様
がそうなっているということですか?
可読性はともかく特に使っても問題ないでしょうか?
2017/03/22(水) 21:58:23.84ID:A/QsCQKR
バカなの?
https://msdn.microsoft.com/ja-jp/library/wts33hb3.aspx
2017/03/22(水) 22:09:21.64ID:Lj+MxEQk
>>545
これは最初に読んだんですが既定値とやらと戻り値の関係がいまいちわかりませんでした
ただそう言われるなら問題なさそうですね
ありがとうございます
2017/04/05(水) 19:56:28.05ID:xPaGCN9C
保守
2017/04/06(木) 19:31:30.11ID:rlwdMpi7
転職の為にC#覚えたらVB.NET使う会社だったでござる
2017/04/06(木) 20:36:44.15ID:wEtvCq9a
>>548
おつです
2017/04/12(水) 22:53:43.53ID:ozjVA+Qe
VB2010で質問です

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

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

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

あまりオブジェクト指向もよく理解できてないのですが教えて貰えると有難いです
2017/04/13(木) 00:40:28.65ID:aK+zC0HQ
呼び出しのオーバーヘッドなんか事実上ゼロだよゼロ
ラベルの文字列を書き換える処理とかに比べりゃ地球全体の中の一粒の砂レベルで全く完全に無視できる
2017/04/13(木) 08:07:04.82ID:ai7IR4kG
>>551
どうもです
ベクトルの加減算や回転といった処理を数百回行い、それを1秒あたり1万〜十数万回
ループで繰り返すという処理だったので、呼び出しにある程度オーバーヘッドがあると
性能に影響してくるかなと思ったもので・・・

オーバーヘッドが無視できるレベルなのであれば1でいってみようと思います
2017/04/13(木) 08:49:18.21ID:aK+zC0HQ
無視できるというか、メソッド呼び出しやフィールドへのアクセスにおいて
クラスを跨るかどうかはオーバーヘッドの大小には直接影響しない
2017/04/13(木) 11:17:50.97ID:bkaO+5D1
.NETである時点で相当のオーバーヘッドだからな
2017/04/13(木) 11:46:33.00ID:ai7IR4kG
了解です
気にするだけ無駄なので分かりやすいコードで書くのがいいってことですね

>>554
計算部分をCでDLL書いてそっちに追い出すのも考えてはいますが
データの受け渡しがかなり面倒そうなのでとりあえずはVBで書いてみます
2017/04/13(木) 23:28:05.42ID:JnRQ5+VJ
それなら全部Cで作れば良いのに
2017/04/15(土) 22:46:29.93ID:2Thsns1M
>>556
Cはコマンドプロンプトで動くコンソールアプリなら作ったことがあるんですが、
フォームを使うとなるとユーザーインターフェースの作り方がさっぱりなもので・・・
2017/04/16(日) 07:19:56.00ID:hzBiobtH
>>557
俺も、XView(Solaris2.3)とか、PresentationManager(MS-OS/2V1.21)ならC言語で組んだことあるけど、
Windowsなんて、Access以外で画面作ったことね〜ですだ・・・(;_;)
2017/04/16(日) 07:31:07.72ID:B2UN2zG+
>>557
んじゃ、C++Builderは?
2017/04/17(月) 22:29:23.78ID:juGlbUEK
すいません教えてください。
テキストボックスに9:00と入れてstring型の変数に格納した後ラベルコントロールで表示すると
9になっちゃいます。そのまま9:00と表示するにはどうすればいいですか?
2017/04/17(月) 22:42:29.91ID:lURW6TDB
普通にやればそんなことならんから
普通じゃないことやってるんだろう
2017/04/18(火) 23:09:40.28ID:Aq2OSGis
ちょいと教えてくださいな

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

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

DataSet経由しないとダメ?
2017/04/19(水) 03:21:39.02ID:zfm1mmD/
DataSetじゃないと駄目ならなんでDataTableを引数に取るオーバーロードが
用意されてるのかって話になってしまう
2017/04/21(金) 13:40:32.09ID:z81gUwo8
UIデザインに拘りたくて色々やってるけど、自分の思い通りのデザインにするのに四苦八苦
かと言ってマイクロソフトのダサいデザインは美意識が許さない。
何か良いサイトか本あれば教えてください。
2017/04/22(土) 01:07:35.15ID:qUZ+Jwsq
>>564
とか言ってるやつのデザインは
独自性が強すぎて逆に使いづらかったりする。
566デフォルトの名無しさん
垢版 |
2017/04/22(土) 12:28:09.67ID:3MzzfSUe
どうせUIのデザインと言うより昔流行ったスキンで見た目を派手にするみたいなのがやりたいんだろ
2017/04/22(土) 17:10:56.22ID:okIJiGGM
みんなMicrosoftのスタートボタンは必要って言ってるんだから
そのまま使えばいい。
アップルの真似してなくしたり隠したりするのはオカシイ。
2017/04/22(土) 22:46:24.91ID:Buq8ht/b
WPFなら見た目は自由自在だよ!
569デフォルトの名無しさん
垢版 |
2017/05/08(月) 23:56:45.12ID:thSKMKN/
でも出来ることそんな変わらないんでしょ?
2017/05/16(火) 23:44:33.08ID:B3nxbABI
すいません教えてください
現在就職活動中でプログラマーを目指しているんですが、希望している会社が使用している主な開発言語が
VB.NETらしいのですが、将来的な需要はどうなんでしょうか?雲行き怪しいですか?
2017/05/17(水) 00:17:10.36ID:Id1y7eqA
>>570
やめとけ
VB.NET自体の将来はともかく、君がエンジニアとして成長する上で良い環境とは言えない
2017/05/17(水) 00:24:15.90ID:twHUlOTr
将来的な需要のある言語なんて誰もわからないし、
この業界は進化(変化)が激しいから、最初に何やろうがあんまり関係ない
2017/05/17(水) 00:33:30.94ID:nkA0vPpB
言語の差異なんて無いも同じ
2017/05/17(水) 00:49:58.60ID:8AQDyWzi
>>571
最初にvbを触るのはまずいのでしょうか?
2017/05/17(水) 00:52:28.59ID:aIm9uZNt
最初に.NETから学ぶって割とめんどくさそう
いや、逆に素直に受け入れられるのか?
2017/05/17(水) 08:42:43.96ID:s+0/QlSg
>>574
頭悪くなるよ
言語がどうこうじゃなく、環境が
2017/05/17(水) 12:15:26.26ID:omyPvYqj
>>570
希望する企業に就職する事 < 他の言語を使う、なら他社へ
10年20年後に仕事で使う言語が幾つ残っているのか
そもそもPGという仕事が残っているのか
2017/05/17(水) 16:57:22.28ID:8AQDyWzi
>>576
VBを使う環境がなぜ頭が悪くなることに繋がるのか
かなり気になるので教えてください
2017/05/17(水) 17:04:37.53ID:8AQDyWzi
>>577
その企業は地元で自社内開発をしている会社で教育体制も整っている会社なので
自分としてはすごくポイントが高いんですが、使う言語がVBだけというのが不安で踏み切れずにいます 
将来を考えるのであれば都内の客先常駐系で経験を積んでいく方が良いのでしょうか・・
2017/05/17(水) 17:29:07.25ID:7qQt36O1
VB使ったら頭悪くなるとかありえんけど、まあ、
企業が何であえてC#じゃなくてVB使ってるのかは気になるところではあるね。

何にしろ、冷たいようだけど自分の人生は自分で考えるしかないよw
誰にとっても地雷の会社はあっても誰にとってもよい会社なんてないし。
2017/05/17(水) 17:37:37.24ID:7qQt36O1
ちなみに、俺の前の会社もVB使ってたけど、
.NET以前はVB6使ってたから.NET移行時にVBの方が容易だろうってことで決めたようだったね。

さすがに2008になってあまりにC#と差がついちゃったんでC#に変えてもらったけど
2017/05/17(水) 17:43:17.70ID:TNF12pwP
VB使っているところはVB6からの流れが大部分だと思うよ
おそらく学習コストと意欲の問題で単純に移行する気がないだけ
今はVBもC#も隔たりがなくなってきたからどっちでもいいと思うけど
新たに始めるならC#のほうが優位だよね
2017/05/17(水) 17:52:12.92ID:OyAwlGYD
言語なんて一つ極めれば他の言語は応用でかなり対応可能
現在のVBとC#なら方言の違いみあいなものだから、この二択なら悩むことない
そもそも仕事以外でスキル向上すればいいだけだし
584デフォルトの名無しさん
垢版 |
2017/05/17(水) 20:19:44.74ID:G7cUCqPy
>>583
極めてない人がそういう事言っても全然説得力ないですけど
2017/05/17(水) 21:54:55.30ID:nkA0vPpB
でも言語なんて微々たるものだよ。ほんと。
2017/05/17(水) 22:19:06.68ID:8AQDyWzi
>>583
自分初学者であまり詳しくないのですがプログラミング言語というのは
細かい部分はそれぞれの言語で違うけど大部分はどの言語も共通して似たようなものだから
一つを極めてしまえば、他の言語を新たに学ぶときもさほど苦労はしない、という解釈でいいですか?
2017/05/18(木) 00:47:49.89ID:d+oDyp66
スッキリわかる Java入門 第2版、2014
この本を3回読めば、C# も出来るようになる

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

この2冊が、言語の基本
2017/05/18(木) 06:40:38.38ID:wJMhN+ja
>>586
そう
大抵の人は新しい環境にもすぐ対応するよ
下地なしでは短期間で習得難しいけど下地あればなんとかなる
2017/05/18(木) 08:20:41.04ID:XKGRIOOr
>>585
そうだね、フレームワークだよね
2017/05/18(木) 08:48:18.90ID:ewg+OcMq
客先常駐で技術を磨ける人材なら独学でも勉強できるでしょうね
2017/05/18(木) 13:45:59.05ID:MLJ8qicI
VBとC#でどっちを勉強するか迷ってVBAにも流用出来そうだからと結局VBに
WPF始めた途端、C#に止む無く移行
英語ペラペラならVBでも行けると思うが、出来ないならC#だな〜
参考になるサイトや文献の量が違いすぎる
2017/05/18(木) 16:01:42.18ID:oyKD852L
両方やってるけど、方言レベルの違いで、VBもC#も大差ないと思うが
2017/05/18(木) 16:32:58.22ID:W1XXuHc6
C#とVB.NETがアメリカ英語とイギリス英語ならVBAはラテン語ぐらいの印象
2017/05/18(木) 16:36:10.78ID:M49g2Wb7
VBAはVB6系だから別物と考えるべき
2017/05/18(木) 16:51:57.80ID:oyKD852L
変数宣言はVBのほうが個人的にはシックリくるかな
型が先ってのが、どうも嫌。

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

全体的にC#のほうがコード量(横も縦も)が増える感じが。
2017/05/18(木) 17:09:43.50ID:3vEckYLB
C#もvarができてからnew代入の記述は楽になったと思うが
2017/05/18(木) 17:17:20.68ID:M49g2Wb7
コード量はC#のほうが少なくない?
VBのラムダ式はもうちょいシンプルにならないのかね
2017/05/18(木) 17:31:42.82ID:oyKD852L
ああ、俺はVBのときはWITHを頻繁に使うから、かなり短くなってるのか
for() はC#のほうが好きだが
2017/05/18(木) 18:48:43.60ID:XKGRIOOr
>>592
リファレンスの量と質が比べ物にならない
2017/05/18(木) 19:15:11.40ID:fpMTuU/5
ラムダ式にFunction()とかふざけてんのかねホントに
VBとPHPくらいだろそんなの
2017/05/18(木) 20:07:13.03ID:ewg+OcMq
あのFunctionは辛いわ
アロー式で書かせて欲しい
リファレンスは何で書かれててもあんまり気にならないかな
どっちみちやること変わらないし
2017/05/18(木) 20:50:17.90ID:nv0hNXKv
.NET Core対応もC#に比べて周回遅れだけどな
2017/05/18(木) 22:25:51.82ID:anTKPcsr
2008の段階でVBに失望してC#に乗り換えた人は多いと思う
俺もその一人
2017/05/18(木) 22:37:32.52ID:TOOzSAi+
>>598
今時C#でforなんて滅多に使わないだろ
2017/05/18(木) 23:13:32.29ID:anTKPcsr
>>604
なわけないでしょw
コレクションを列挙するだけがループじゃないよww
2017/05/18(木) 23:24:37.27ID:mhJy8/8/
LINQ使えばループの8割はなくせる
2017/05/19(金) 07:11:56.81ID:7jd4CUxw
ループは悪なの?
LINQが高速ならいいけど必ずしもそうじゃないし
2017/05/19(金) 07:37:40.76ID:1J7G/w2H
そういうことはDataTable遊びをやめてから言いなさい
2017/05/19(金) 07:43:19.13ID:mm1qRo/S
>>607
ループが悪なのではなく、LINQが選択肢にすら上がらないプログラマーが悪なのです
速度にこだわりたいならforでいい
が、それだと極端な話ForEachも使うなという話になってくる
かのドナルド・クヌース氏の言うように「早まった最適化は諸悪の根源だ」と考えるべき
チューニングはボトルネックが判明してからでも遅くはないさ
610デフォルトの名無しさん
垢版 |
2017/05/19(金) 07:46:02.97ID:s/1/vL0B
ループでいいものをなんでもLINQ使いたがる事が早まった最適化なんだけどな
2017/05/19(金) 08:26:08.97ID:mm1qRo/S
手続き型と宣言型の論争は泥沼になるからしない
LINQを早まった最適化としてループにするならそれはそれで良し
天秤にかける以前に、そもそもLINQを知らない現場コーダーが珍しくないのが問題
LINQっつーか新しい知識に対する貪欲さが薄い人が多い気もしなくもない
2017/05/19(金) 09:10:35.90ID:2M/fCFGg
VB派だけど
.Net Coreでは思い切ってVBをC#に吸収合併してほしかったな
そうすればC#に移行するいい機会になったのに
2017/05/19(金) 09:51:55.88ID:Lc2EAn7e
>>612
さっさと移行しろよ
614デフォルトの名無しさん
垢版 |
2017/05/19(金) 12:26:17.96ID:RFDTxagh
>>611
現実の仕事では枝葉末節の知識にばかり興味が向かってるお前みたいな奴の方が問題になるんだよ
2017/05/19(金) 15:53:59.68ID:v0+FkJJm
味噌もクソも{}なC系が死ぬ程嫌い
2017/05/19(金) 16:05:54.15ID:dgLRkGLJ
>>615
往々にしてこうなっちゃうのがVBから入ることの最大の問題だよなあ
VBから入ること自体はいいとしても、C系アレルギーになる前にどれでもいいから必ずC系言語に触れておくべき
2017/05/19(金) 16:23:11.75ID:8B2hIZ69
LINQで完結するのもないとは言えないが
基本ループだけど、細かい分岐条件がある、って要件である場合が殆どだと思うが

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

自分の書いたコードを少しでも難読化させたい的な
(それが自分の技術力のアピールにもなると勘違いしてる系)
2017/05/19(金) 16:31:54.25ID:v0+FkJJm
>>616
最初はFortran次はRPG3でVBA→VB.net
2017/05/19(金) 16:33:15.79ID:v0+FkJJm
>>617
そそ、Cのソース読むと気が滅入る
2017/05/19(金) 17:06:30.97ID:NdGHW7/K
>>617
そうゆう人いるね
最悪なのは修正させると隣接コードを自分流に書き換えてしまう
2017/05/19(金) 22:16:34.69ID:vtwwYXhB
configに定義してあるEndponintBehaviorをコードで取得する方法ってありますでしょうか?
2017/05/24(水) 10:58:45.42ID:0w0qPph2
>>621
https://weblogs.asp.net/cibrax/getting-wcf-bindings-and-behaviors-from-any-config-source
2017/05/25(木) 21:57:23.53ID:LUQcs+si
Listクラスとかのインデクサって独自のクラスで実装できますか?
2017/05/26(金) 01:10:06.22ID:t9Hdpjhx
>>623
list(0) とか list.Item(0) ってできるようにしたいってことなら既定のプロパティ
https://msdn.microsoft.com/ja-jp/library/az06zx4y(v=vs.90).aspx
2017/05/27(土) 11:03:02.04ID:/Ok7KXq3
PDFに枠線付きの表形式で記載されている商品情報(列は商品番号, 名称, 規格, 金額, メーカー名)があり、
そのPDFを読み込みファイルとして指定した結果をDataGridView等で表示し編集したいのですが、
それに特化したライブラリ等ご存知の方いらっしゃいますか?
2017/05/30(火) 06:27:02.32ID:lON7Raep
エスペラント言語もあるらしい
2017/06/02(金) 06:06:39.11ID:F2C57ZnU
LANでつながってる別のパソコンのハードデスクの空き容量取得できないのかしら
2017/06/02(金) 06:53:59.92ID:SPpZD+rV
win32-opensshみたいなの使えば
2017/06/02(金) 08:10:06.98ID:9EW2KNON
>>627
wmi
2017/06/02(金) 19:24:24.23ID:F2C57ZnU
それらのキーワードで検索してみるね
631デフォルトの名無しさん
垢版 |
2017/06/30(金) 01:41:21.87ID:48mZ6WIP
質問させてください。

ある有償の印刷ツールを使用し、帳票のプレビュー画面、印刷処理を実装しようとしています。
フォームから印刷用の処理(フォルダの取得とか)を行うクラスファイルを呼び出し、クラスファイル内で帳票ツールを参照しイベントを紐付けてプレビュー画面を表示することが出来ました。
しかし、クラスファイル内でプレビュー画面から印刷処理後、オブジェクト参照がインスタンスに設定されてない、とエラーになりました。
プレビュー表示、印刷処理のイベント自体はクラスファイルにイベントを紐付けてあります。
プレビューから印刷ボタン押下時、紐付けた印刷処理のイベントを呼び出し、プレビュー画面はクローズするようにしています。
(プレビュー画面はクローズしなければ、オブジェクト〜のエラーにはなりません)
クラスファイル内で紐付けたイベントをクローズした場合、クラスファイルごと強制終了?してしまうのでしょうか…
初心者で考えが回らず、困っています…誰か助けていただけませんでしょうか
632デフォルトの名無しさん
垢版 |
2017/06/30(金) 02:08:26.20ID:48mZ6WIP
もしかしてなのですが、プレビュー画面はクラスファイルのファンクション内で、帳票ツールのイベントを呼び出して表示しています。
しかし印刷処理は帳票ツールのボタン押下イベントとして、イベントハンドラを追加してクラスファイル内に新しいメソッドとして追加しています。
ということは、もしや帳票プレビュー画面から印刷処理を呼び出した時点でクラスファイル自体は終了状態でしょうか?
2017/06/30(金) 09:43:37.93ID:IHXr7yJD
終了状態とかはNullReferenceExceptionの範疇ではない
デバッガで動かしてたら例外出た時点でブレイクして例外出たところが表示されるだろ
何がNothingになってるのか自動変数ウィンドウとかで確認
2017/07/01(土) 08:40:56.50ID:ollNq+8F
>631
オブジェクトモデルしだい

製品名からエスパーしろってことか
有償製品ならサポートあるだろ
2017/07/01(土) 19:31:57.59ID:C2aergYE
テキストファイルの読み込みとフォルダ一覧取得とファイル一覧取得
をネットで調べてコピペして
またしばらくして忘れて調べてコピペ
するを繰り返して20年経ってこれらしか知識が付かない場合なにすれば
2017/07/02(日) 16:34:48.54ID:9DLOI7U5
別にいいんじゃね
また必要になった時に、検索してコピペすればいいんだから
2017/07/02(日) 18:42:08.87ID:zwMqZWEJ
俺も、ネットがないころは本を買って熟読して覚えたけど
今はネットからコピペしちゃうから全然覚えられない罠
2017/07/04(火) 22:14:09.77ID:GXfrM+Il
コピペした内容を、全て理解して貼り付けてるならよいけど、
理解せず動いたからヨシにしている場合はマズイ
639デフォルトの名無しさん
垢版 |
2017/07/05(水) 12:17:30.14ID:dDvBznZA
必要なのは「どう動く」かであり
「なぜ動く」かではない
2017/07/05(水) 12:24:50.13ID:30GSgs4R
質問掲示板で解答者がソース貼ると怒るやついるしなw
「為にならない」って
質問者は「お勉強」しに来てるんじゃねーんだよw
2017/07/05(水) 13:05:46.49ID:x7acWd9B
>>640
ヒント:
とかいうやつもなw
教師でもやってろといいたい
2017/07/07(金) 08:13:36.41ID:6HogV9Gz
>>640
検索して知恵袋が引っ掛かって見てみると
回答じゃなくてお説教が書かれてたりすると
モニターにマウス投げつけたくなるよね
2017/07/13(木) 08:42:34.68ID:a1NtUvmB
プロジェクトで使用するVBのバージョンってどうやって決まるんですか?
同じプロジェクト内でも、.vbではvb14の機能が使えるのに、.vbhtmlで使おうとするとvb12ではサポートされていません、って表示されてしまいます。
2017/07/17(月) 02:43:13.91ID:Sjiy0WuF
質問です。DataTableの値をList型のクラスに変換したいです。クラスは別のクラスのインスタンスを保持していて、その別のクラスのフィールドに値をセットしたいです。どういうやり方が一般的ですか。
2017/07/17(月) 10:24:00.76ID:W+Dn0UEX
地道に書く
汎用的にしたいなら列名とプロパティ名を同じにしてPropertyInfoを見ながら回す
2017/07/17(月) 11:23:52.04ID:nd0ZPw8t
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に該当するファイルがあるかどうか調べて、ある場合は既存のファイルを削除してから
書き込むようにすればいいんでしょうけど、何かこうスマートではない気がして・・・
2017/07/17(月) 17:10:54.57ID:wHgHyCIS
さすがにVB使ってる人でもVB6の互換関数とか使ってる人はほとんどいないと思うw

まあ、構造体がそのまま読み書きできて便利かもしれないけど、
ググれば構造体とbyte()を相互変換する方法が出てくるから、
それを使ってSystem.IO使って書き直した方がいいと思うよw
2017/07/17(月) 20:33:05.87ID:nd0ZPw8t
>>647
構造体配列とByte配列の相互変換については調べたんですが、マーシャリング云々が
自分の頭ではさっぱり理解できず・・・
もし分かりやすく解説しているサイト等があれば教えていただけないでしょうか?
2017/07/18(火) 00:51:59.63ID:H1lIICB/
>>648
(1) CopyMemoryを使う
(2) VBFixedArray属性 とFieldOffset属性を使う(要は共用体にする)

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

(1)は実際にやったことあるしググればいくらでも実例出てくると思う。
構造体⇔Byte()だけではなく構造体の配列⇔Byte()も可能だし、こっちの方がいいかもね。
2017/07/26(水) 03:35:26.71ID:KTzuPZab
>>646
createで開くって話か?
2017/08/02(水) 03:00:44.42ID:o3i3NFtL
'100行書く
For i = 0 to 100
TextBox1.Text = "VB最強"
Next
2017/08/02(水) 05:01:09.39ID:UeTQYFNL
1行を101回表示しただけじゃね
2017/08/02(水) 05:02:39.91ID:UeTQYFNL
結果も1行
2017/08/02(水) 07:31:10.86ID:fmM7k/7g
>>651
'100行書く
For i = 0 to 100
TextBox1.Text &= "VB最強" &vbNewLine
Next
2017/08/02(水) 10:19:07.91ID:jFyOk7N2
for (i=1;i<=1000;i++) {
fprintf(stdaux,"はじめてのC\n");
}
2017/08/12(土) 03:55:33.25ID:rOvfQBTy
なぜc
2017/08/12(土) 06:59:23.82ID:ZsmIO1UY
カウンタ用の変数に、i、j、k、l、m、nを使う奴はFortrun出身者
2017/08/12(土) 07:50:18.44ID:nw4NiEuS
FORmula TRANslation な
659デフォルトの名無しさん
垢版 |
2017/08/12(土) 11:40:48.61ID:QjNv8My6
dictionary ( of integer, string) のofってなんですか?
2017/08/12(土) 15:40:30.15ID:SMcEF66V
https://msdn.microsoft.com/ja-jp/library/067b2z78(v=vs.90).aspx
>Of 句を使用すると、ジェネリックであるクラス、構造体、インターフェイス、デリゲート、またはプロシージャに型パラメータを定義できます。
2017/08/12(土) 15:52:11.54ID:s2RcRfJ5
>>659
VBでジェネリックを表す表現

正確な名称はしらん
2017/08/12(土) 16:34:44.28ID:JUbLQ1BA
型よ
2017/08/12(土) 17:45:48.24ID:ZsmIO1UY
>>661
後発薬品?
664デフォルトの名無しさん
垢版 |
2017/08/12(土) 20:14:41.43ID:QjNv8My6
前の引数だけOFが付いてるのは何故なんだろう?
665デフォルトの名無しさん
垢版 |
2017/08/12(土) 20:37:36.82ID:QjNv8My6
>660
良い資料ありがとう。意味わかりました。ofは両方の引数にかかるんだ。
2017/08/12(土) 21:11:02.79ID:JQcCJPUN
片方が型引数でもう片方は型引数でない何か、ってものが存在しないんだったら1つで十分でしょ
667デフォルトの名無しさん
垢版 |
2017/08/12(土) 22:39:38.37ID:QjNv8My6
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.33ID:Q/2jfFNl
同じプロジェクト内に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.27ID:Q/2jfFNl
>668
自己解決した。サンクス
2017/08/14(月) 16:29:17.87ID:C7avT2pN
>>667
Ofはともかく、型制約にAs使うの解りづらすぎるよな
C#みたいに (Of T) Where T Implements IComparable でよかったのに
まあVBerのレベルを考えるとあまり多用される機能ではないという判断で
文法への影響の少ない構文にしたのかもね
671デフォルトの名無しさん
垢版 |
2017/08/14(月) 17:17:31.67ID:Q/2jfFNl
dim strA as string
dim dt as integer = convert.toint16(strA)
みたいな方法でいつもinteger 変換してるけど非常にめんどくさい。stringに機能を追加して

dt = strA.toint16

にすることはできないんですか? やる方法があれば教えてください。
2017/08/14(月) 17:50:35.60ID:qguplZTI
>>670
もともとVBのコンセプトは英語で読めるってことだからむしろasでいい。
英語の意味的にはばっちり合ってる
whereだけでは英語として意味不明だし、implementsなんて付けちゃうとStruce, Class, Newの制約が
意味不明になる

>>671
どこが面倒くさいのかまったく理解できんなあ
2017/08/14(月) 20:57:46.47ID:NHS+W82U
>>671
拡張メソッド書いとけばいいじゃん
2017/08/15(火) 06:39:14.36ID:3ZJdJfY6
ちなみにWindowsのメモ帳でUnicode保存するときわ
UTF16 リトルインディアン BOM付
マメな
675デフォルトの名無しさん
垢版 |
2017/08/15(火) 08:54:41.68ID:QkdEv7VL
>>672
対称性がないと普通の人はめんどくさいはず。
つまり
c = a.tostring
a = c.tointeger
これが対称性
気にならないとしたら精神力が極めて強いとか、かなり特殊な人だと思う。
英語に詳しそうだけど、英語のようなある意味複雑怪奇な言語をマスターできている
としたら相当根性があるね。

>>673
そういうのがあるとは知らなかった。ありがとう。
2017/08/15(火) 10:19:21.62ID:IHvUQsH9
>>675
対称性()を尊重してToString持った型全てに対してString.ToXXXを用意しろということ?
一体いくつあると思ってんの?
2017/08/15(火) 11:17:15.49ID:p+eNcMXx
つかtostringはobjectから継承してんだからobjectに実装するだけだが
全く意味は無いな
2017/08/15(火) 18:48:20.02ID:CmABdkOe
stringとintegerが対称て 
2017/08/15(火) 20:45:05.75ID:3ZJdJfY6
平行移動しても回転しても変わらないところを見せよ
680デフォルトの名無しさん
垢版 |
2017/08/16(水) 00:47:10.66ID:7vn1plFo
並行移動
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.90ID:7vn1plFo
>>全く意味は無いな
根性がある人だけ
2017/08/16(水) 06:36:57.42ID:/mh2iuhI
数値に限らず ToString ⇔ Parse でしょ
683デフォルトの名無しさん
垢版 |
2017/08/16(水) 12:21:02.42ID:7vn1plFo
Parseは解析だからもう少し機能があってしかるべき言葉だろうな。toStringに対応する
言葉ではないな。まあ命名は大変だから仕方ないけど。
2017/08/16(水) 12:42:27.22ID:/Od0yDuB
CType(〜)
こそオブジェクト指向
685デフォルトの名無しさん
垢版 |
2017/08/17(木) 11:56:42.10ID:uqKN3QQl
汎用的オブジェクトの保存と取り出し機能を探してるんだが例えば
1.クラスインスタンスのデータだけ(dictionary,配列なども丸ごと)をテキスト形式でファイル保存して
2.テキストエディターでそれを編集する。
3.編集したものを再度クラスインスタンスに読み込みをする
こんなことをしたいのだけど、なんかよい方法はない?
2017/08/17(木) 12:06:28.63ID:MXcjXfDR
XmlSerializerではだめなの?
687デフォルトの名無しさん
垢版 |
2017/08/18(金) 10:08:29.75ID:A1J5J7Ue
XMLとかめんどくさくて使ったことないんだが、専用エディタとかで使うんだろうか?
一旦簡易形式に変換して編集してまたもとに戻すのかな?
XML−−>変換 マークダウン エディットーーー>変換ーー>XML
2017/08/18(金) 11:16:52.71ID:Jf2sTJDT
どんな規模のデータを想定するかによるが
普通はテキストエディタでそのまま書き換える
2017/08/18(金) 12:04:02.61ID:ZCubMA96
JSONにしとけ
690デフォルトの名無しさん
垢版 |
2017/08/21(月) 18:23:41.94ID:xXFz6ihy
HAL,JSON-APIだったらどっちがいい?
691デフォルトの名無しさん
垢版 |
2017/08/22(火) 05:09:37.15ID:d7ebk59r
コレクションとかディクショナリーはJSONでは無理では?
2017/08/22(火) 06:46:59.20ID:tVMqw9p7
>>691
いくらVBerとはいえ無知にも程がある
JSONなら[ ... ] がコレクションで { ... } がディクショナリ
2017/08/22(火) 13:39:00.14ID:1JK3C2LQ
>>666
なんでそんなことしたいのかも書いたほうがいいと思うぞ
694デフォルトの名無しさん
垢版 |
2017/08/22(火) 14:54:33.95ID:d7ebk59r
>>692
無知には程なんてないからね。君もこの程度のことを知らないのだからやはり無知だな。でも無知なんてものは
知れば一瞬にして終わる。だから恥ずべきことではない。ところで

>JSONなら[ ... ] がコレクションで { ... } がディクショナリ
これは勝手に君かもしくは君がしっている閉鎖的集団内で通じる規則として勝手に決めたフォーマットだろ、これを
サポートするVBのコマンドはない。
 Dictionaryを適当に展開してこのようなフォーマットで保存すればよいということだね。
そういうことなら、そうだと説明しないと解らない。こちらは想像力だけで判断しているんだが、、
2017/08/22(火) 14:58:01.29ID:psjy/gWC
IEnumerableの拡張メソッドを作った時に
IEnumerableを継承したCollectionとかListは対象にならないの?
CollectionとかListで同様に拡張メソッドを作るか
AsEnumerableでIEnumerableにすればやりたいことはできるけど・・・
2017/08/22(火) 15:08:01.90ID:vqjwX2Vb
各クラス/インターフェイスがジェネリックなのかそうでないのか
はっきりしてくれないとわけわからんが
普通はできるのでなんかおかしいこと書いてるんだろう
2017/08/22(火) 15:18:07.94ID:zg+G/gON
>>694
すごい早口で言ってそう
2017/08/22(火) 15:27:53.01ID:psjy/gWC
>>696
あーごめんなさい。できますね。
IEnumerableに拡張メソッドをどんどん追加するとインテリセンスの候補がいっぱい出てきちゃって
自分で作ったやつがわからなくなるからとあるサイトをみて
Items.ToExtension.XXXみたいになるようにしていたんですがこれが原因でした。
2017/08/22(火) 15:39:25.68ID:X2zW1dp7
>>694
>これは勝手に君かもしくは君がしっている閉鎖的集団内で通じる規則として勝手に決めたフォーマットだろ、これをサポートするVBのコマンドはない。
間違い。JSONの配列やマップをそれぞれリスト型やディクショナリ型とマッピングすることは一般的である。
実際、WCFのJSONシリアライズはそういう仕様だし、.NETにおいてJSONを扱うライブラリのデファクトスタンダードであるJSON.NETもそう。
知らないのが悪いんじゃなくて、そうやって知らないのに思い込みで物をいうからバカにされるんだよ。
2017/08/22(火) 16:08:17.55ID:1JK3C2LQ
>>694
いやーさすがにこれはないわー
701デフォルトの名無しさん
垢版 |
2017/08/22(火) 18:31:28.28ID:d7ebk59r
>>699
そうだな。
そういうふうにキーワードなどの根拠となる事実を上げて説明する。そうすると確認することができるから君に誤りがある場合にもより正確にそれを指摘できる。
根拠が示されないと残念ながら指摘もあいまいになる。

因みに>>700こういう輩はシッタカが殆どで正確に表現する能力がない。まあ名誉回復の為に699の発言に於いて抜けている重要事項を追加説明できるか
どうかチャンスをやろう。それができないなら単なるシッタカ。
2017/08/22(火) 18:58:29.27ID:1JK3C2LQ
>>701
いやーJSON知らなかったっていうのは別にいいと思うよ
でも>>694みたいなレスはさすがに恥ずかしい
”JSON”でググればすぐ分かることなんだから

ちゃんと謝っとこうね
703デフォルトの名無しさん
垢版 |
2017/08/22(火) 20:48:34.46ID:d7ebk59r
シッタカ決定
2017/08/22(火) 21:21:34.59ID:1JK3C2LQ
俺の知ってるソフトウェア開発者っていう閉鎖的集団内ではJSONの基本フォーマットは常識なのよ
日本人っていう閉鎖的集団内で47都道府県名が常識なのと同じレベル
その常識に対してシッタカとか言われても、はあぁ?ってなるわ

恥の上塗りを重ねる前に“JSON”でググれよな
俺の環境だと↓これがトップヒット
http://www.json.org/

もしググったにもかかわらず>>694みたいなレスしてんなら
プログラム書く前にもっと基礎を勉強したほうがいいよ
705デフォルトの名無しさん
垢版 |
2017/08/22(火) 23:00:11.31ID:Bmva2yao
{"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は無理ですね
2017/08/22(火) 23:27:27.24ID:1JK3C2LQ
>>705
cはDictionary(Of String, Dictionary(Of String, Object))
JSONだけじゃなくVBも勉強したほうがいいみたいね

すべての型をそのままJSONにできるわけでも
すべてのJSONを任意の言語の型にそのままマッピングできるわけでもないけど
それはどんなデータフォーマットだって同じだから
VBだけJSONは無理なんてことはありえない
707デフォルトの名無しさん
垢版 |
2017/08/23(水) 01:10:59.17ID:nD3v/vvZ
>>706
お前の場合は根拠をしめした説明が何もない。単なる罵りだけ。品性も論理性も知性もない。それでは駄目だな。
説明力がまるでない。だからシッタカと判断される。

しかし今回はこの JSON定義 サイトを示してきたことは褒めておこう。
http://www.json.org/

でもこのサイト最初から間違ってるじゃん。最初の図はobjectじゃないな。これはmemberの定義だよな。
intrduceで出鱈目もいいとこだな。
これ見たら表現力全然ないフォーマットだなと思ってしまう。最悪の紹介だな。
2017/08/23(水) 01:22:25.86ID:bHZ6/xkT
>>707
objectってのはJavaScript用語な

JavaScriptのobjectはプロパティのコレクションで
プロパティはKeyValueペア、つまりobjectはディクショナリ相当なの

JSONのJから勉強して
まあとにかくガンバレよ
709デフォルトの名無しさん
垢版 |
2017/08/23(水) 01:25:22.59ID:nD3v/vvZ
>すべての型をそのまま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.40ID:nD3v/vvZ
>>708
それがシッタカだっていうの。これはバッカス記法だからJavaScrit以前の問題だ。
明らかに誤りだよ。
2017/08/23(水) 02:23:06.58ID:bHZ6/xkT
>>710
シンタックスダイアグラムはバッカス記法じゃねーわ
いい加減にしろよww

間違ってもないとこを間違ってるとか言いはって
何回恥の上塗りしたら気が済むねん

VBにJSONは無理なんじゃなく
君みたいなVBerにはJSON無理
2017/08/23(水) 02:25:23.95ID:yMMFXiqG
JSONは外側をobjectにする必要はないので
true
の値ひとつでもJSONとして成立しますしですしおすし
2017/08/23(水) 02:40:27.91ID:I/Vx60Z7
ID:nD3v/vvZはもう引っ込みがつかないんだからやめてやれよ
泣きながら腕グルグル回して飛びかかってくるぞ
714デフォルトの名無しさん
垢版 |
2017/08/23(水) 05:14:44.76ID:nD3v/vvZ
>>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.09ID:nD3v/vvZ
>間違ってもないとこを間違ってるとか言いはって 何回恥の上塗りしたら気が済むねん

間違いが分からないとすると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.67ID:nD3v/vvZ
繰り返し言うが説明や根拠の乏しい主張は無意味だ。丁寧に説明する癖をつけないと賢くならない。
説明をすると、仮に間違っていても説明の過程で正しい解にたどり着く。もし正しい解にたどり着けない
にしても、誰か親切な人から訂正をしてもらえる。
説明をしないで罵るのは最悪だ。そういう癖のある人は常にそういう脳の使い方をしているので脳が
機能しなくなる。
2017/08/23(水) 06:26:41.09ID:PWTjZsi1
>>709
今時CodePlexって、まさかgithubもnugetも知らないの?
まあJSONとは違ってVBerの半分くらいは知らなそうだからムキになる必要はないぞw
718デフォルトの名無しさん
垢版 |
2017/08/23(水) 06:42:23.72ID:nD3v/vvZ
そういうシッタカはウンザリだ。
2017/08/25(金) 18:47:33.46ID:Okz94tsr
VacaBakka
2017/08/25(金) 20:49:22.66ID:bWcDs7QB
.NET Core 2がVisual BasicをLinuxとmacOSにもたらす
https://www.infoq.com/jp/news/2017/08/dotnetcore2-vb
2017/08/25(金) 20:53:24.70ID:eKK+eiVP
>>720
やめてくれ
せっかくこのままVBがフェードアウトしてくれるところだったのに
2017/09/04(月) 12:22:51.36ID:zDZbs+Yz
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
2017/09/04(月) 12:31:12.42ID:UpKs6Xg1
ぱっと見ただけで言うけど
一分ごとにAddHandlerしてるからじゃね?
2017/09/08(金) 11:42:00.08ID:2HXwLqzE
722ですけど
1分毎にAddHandlerするとどうおかしいんですか?
どう変えたら良いか何かヒントだけでも教えてもらえませんか。
723見てから考えたり検索したりしてみたんですけどやっぱり分からなくて。。
自分かなりプログラミングの知識が無い人間なもので。。
2017/09/08(金) 16:06:27.08ID:2HXwLqzE
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ありがとうございました。
2017/09/11(月) 23:31:41.16ID:r5xmv3Ye
PC(VB.NET)でLAN接続したRasPi(Win10 iot core)のGPIOの制御をしたいのですが、どうしたら宜しいでしょうか。
727デフォルトの名無しさん
垢版 |
2017/09/19(火) 12:09:09.53ID:CiFpR9wm
先日2003があったので始めた初心者です
wavファイルをPlaySyncで再生したいのですが、再生が終わり次第次々他のwavファイルを再生していくということと、
繰り返し処理をする度再生するwavファイルの変更(パスで入力しています)をするということはどうやったら可能でしょうか?
2017/09/19(火) 12:13:57.64ID:PJTSF08k
まずその2003とかいうゴミは捨てろ
今のVSは最新版が無料で配布されている
729デフォルトの名無しさん
垢版 |
2017/09/19(火) 13:02:31.36ID:CiFpR9wm
間違えましたすいません2013professionalです
2017/09/19(火) 13:10:06.34ID:oRSrnZEU
>>726
ラズパイは、Python じゃないの?
2017/09/19(火) 13:55:59.70ID:PJTSF08k
>>727
直行する問題は分けて考えよう
まずファイルパスを変えながらファイルパスをコンソールに出力していくプログラムを作る
コンソールに出力するところをPlaySyncに置き換える
これだけのこと
732デフォルトの名無しさん
垢版 |
2017/09/19(火) 15:01:36.81ID:CiFpR9wm
>>731
ありがとうございました
そのプログラムの書き方もわかりませんし、色々試してみましたが複数の音声ファイルを順に再生していくことさえできなかったので、諦めようかと思います
2017/09/19(火) 15:46:08.25ID:k55uTTGg
https://dobon.net/vb/dotnet/programing/playwavfile.html
↑が理解できないなら諦めた方が良いかも
2017/09/19(火) 18:55:22.08ID:oRSrnZEU
>>727
>再生が終わり次第、次々他のwavファイルを再生していく
これは、再生アプリの方で、曲が終わったタイミングで、
こちらのプログラムのコールバック関数を呼んでもらう

つまり、非同期処理だから、初心者ができる訳ない

JavaScript などで、非同期処理に慣れていないと、できない
2017/09/19(火) 18:58:08.69ID:PJTSF08k
>>734
PlaySyncだから再生終了までブロックする。非同期処理は必要ない。
もちろん現実には非同期処理をしないと再生終了までUIがフリーズするビチグソになるが、
一応の要件は満たせる
2017/09/19(火) 19:03:17.52ID:sBYjPNie
ワーカースレッドの中でやればいいじゃん
スレッドにはキューでくべてやれば
2017/09/19(火) 19:15:59.50ID:jrl9HDel
どっちにしても同期で順に再生することができないというなら
手の施しようがない
2017/09/19(火) 22:11:07.32ID:Lmy6WMsF
WCFサービス参照を追加するときに、型の再利用を考えています。
その型のアセンブリ名とプロジェクト名が異なると、WCFサービス参照を追加したときに、アセンブリ名で参照が追加され、エラーになります。
すでにプロジェクト参照が追加されているので、新しく追加されたアセンブリ参照を削除するとエラーが解決されます。
これってバグなのでしょうか?
739デフォルトの名無しさん
垢版 |
2017/09/20(水) 21:02:45.48ID:cmLxLvt1
すみません、未練たらしいのですが基本的なことだけ教えていただけませんか?
>>733のURLのコードをPlaySyncに変えただけのものに、player.PlaySyncに続けて、
PlaySound("別のファイル")
player = New System.Media.SoundPlayer(waveFile)
player.PlaySync
と挿入すると、2つ目のファイルが延々と再生され続けてしまいます
その後にStopSoundなど入れても意味がないので根本的なところがわかっていないと思うのですが、どこがおかしいでしょうか
できれば簡単に教えていただきたいです…
2017/09/20(水) 22:51:09.39ID:epnCWBlF
>>730
WebIOPiならできたのですが、そこをなんとか・・
2017/09/24(日) 05:42:08.55ID:wyPZ0ic9
webbrowserコントロールでページ内のテキストボックスに数値を入れたいのですが、そのテキストボックスのIDが表示されるたびに変化してしまうので、取得出来ずnullexceptionになってしまいます。

idはnumber_**********という感じで表示の度に_以降の数値が増えます。

出来る方法があれば教えてください。
2017/09/24(日) 08:22:31.09ID:Iu73uVEK
id以外で探すしかないんじゃない? bodyの3番目のdivの2番目のinput、とかそういう風なのとか
number_って接頭辞のidがそのページで1つだけなら全input要素の中でidの先頭がnumber_で始まるの探すとか
2017/09/24(日) 22:02:33.61ID:wyPZ0ic9
>>742
ありがとうございます。
明日、会社で検証してみます。
744sage
垢版 |
2017/09/26(火) 14:58:38.36ID:PpQ5JcU2
VB6のプログラムを.NETに移せと言われてます。
当方、最近やっとVB6をちょっと理解したばかり。
VB6のモジュール内に、変数やらエクセル操作のプロシージャがあるのですが、
これはどこに移せばいいですか?
フォームに移すと多すぎなので、見やすいようにわけれればいいのですが。
2017/09/26(火) 15:22:47.41ID:z+UMsHRU
とりあえず移植なら同じようにモジュールに書けばいいわけだが
2017/09/26(火) 16:18:28.87ID:PpQ5JcU2
>>745
ありがとうございます。
わからなくて色々見ていたら、モジュールは使わずクラスに書くとか、
エクセルの操作では、COMの解放やらインスタンス生成とか、
もう??だらけでした。
とりあえずは、現行と同じモジュールで大丈夫と聞いてホッとしました。
2017/09/26(火) 16:19:21.84ID:yUnVCaTy
まだそういう仕事あるんだねぇ
2017/09/26(火) 17:21:40.77ID:Jf7hYkjk
もう恐らくデスクトップがなくなるまでVb6ランタイムはサポートされそうな気がするけどねw
2017/09/26(火) 20:12:01.39ID:b2jheQUq
噂だけどペンタゴンにあるシステムでVB6の物があるからサポート切れないとか
2017/09/27(水) 07:10:43.77ID:vQ8fTHXT
windowsが10で終わるのはvb6切るためという噂がある

でもwindowsブランド捨てたらMSのOS事業も終わるだろうから老醜を晒してモダン化諦めたwindows作るかもな
2017/09/28(木) 16:44:52.29ID:p7vLxmpX
昔VB厨で、最近までVB離れてUNIX、Linux、VC++、C#やってきたけど、
最近、VBAマクロ移植の話があって、VB.net触ってみた。

書式がちょっとVBっぽいだけで、構造は、C#のままだよなぁ。
VB互換の便利関数が使えるといっても、C#でも参照できるクラスだし。

VB並に強力な、オブジェクトメンバーの追跡できる機能がVSにあれば
いいんだけど、結局知らないモジュールのリファクタリングは手でやらなきゃいけないし。
常時Dynamicで全行ステップ実行とかできれば使いどころあるんだけどなぁ。
2017/09/30(土) 15:06:05.99ID:JKOApPN+
VBAなんかをやってた者だが、簡易にデータベースにアクセスするプログラムを書いてみた。
簡易な奴なのでAccessベースで接続するんだが、32bitと64bitで問題になってる。
×86CPU向けに作れば32bit、AnyCPU向けに作れば64bitに対応できるようだけど、インストールするマシンにAccessが入ってるとそのAccessが64bitか32bitかに左右されてしまう。(Accessと異なるbitのエンジンはインストール出来ない。)

これってどうにもならないのか?
2通りで作るしかない?
データベース変えるしかないのかな。
2017/09/30(土) 15:26:57.66ID:Sabzk006
割り算の余りの求め方がわからなくてググっちゃったw
2017/09/30(土) 15:49:17.56ID:9tcp6esL
SQLiteでいいだろ
2017/09/30(土) 16:07:08.00ID:JKOApPN+
>>754
やっぱそうなるよね。
出来ればMSでどうにかしたいんだ。
ワケありでね。
Accessベースが駄目ならテキストベースも考えたんだけど、これ64bit駄目だよね。

やっぱり2通りで作るしかないか。
756デフォルトの名無しさん
垢版 |
2017/09/30(土) 20:24:13.79ID:KohNdydM
>>755
SQL Server Compactは?
マネージドだからいけそうだけど
2017/09/30(土) 21:53:28.79ID:Np6DtGQS
もうJET&mdbでx86固定にすればいいんじゃね
2017/10/01(日) 13:39:13.85ID:PxgxVv4e
>>756
情報ありがとう。
調べてみたら良さそう。
これで組んでみる。

>>757
×86限定ならJETでもACEでもいけるだろうね。
というか、ACEではいけてる。
気になったのは、こんな制限が残ってるんだということ。
VBAをやってた者からするとOfficeのbitは同じだから気付かなかった。
2017/10/01(日) 15:56:04.09ID:K1ZKurRy
Windows 64bit - Office 64bit - ACE 64bitならAnyCPU/x64でOK
Windows 32bit - Office 32bit - ACE 32bitならx86でOK
になってACEじゃどうにもならんはずだけどそうでもなかったっけ?
2017/10/01(日) 15:57:01.86ID:K1ZKurRy
あ、下段違う
Windows 64bit - Office 32bit - ACE 32bitならx86でOK

Windows 32bit - Office 32bit - ACE 32bitならAnyCPU/x86でOKだな
2017/10/01(日) 16:25:46.41ID:+BZf6Z9D
>>752
ACEの32ビットと64ビットが同居できない
.NETの問題じゃないのでどうにもできないな

OFFICEが32と64とで別なんだから、32ビット用と64ビット用分けるしかねえんじゃね
つか64ビットのACCESS使ってるとこ見た事ないけどな

>>760
Office(ACEドライバ) 64bit 使いたいって話じゃないのかね
2017/10/01(日) 20:22:10.30ID:5vH0Pat/
>>761
そう。
正にこれ。

実は作ってたのがVBEのアドインで、昔のAPIViewerみたいなのだったんで、Officeがインストールされてる環境が前提だった。
初めて.netで組んでみたけどコードの部分は感覚的に分かりやすいね。
元々似てるし。

http://imgur.com/9gzQbNy.jpg
2017/10/02(月) 00:18:26.18ID:mjmvjzw0
>>752
うちの会社のSEなら問答無用でAccessを32ビットに統一させるな
そもそも、7まではOSは32ビットにしろ!なのでOfficeも(64ビットOSでも)32ビット強制

まあ、そういう解決方法もあると言うことで
2017/10/02(月) 00:20:44.20ID:mjmvjzw0
SE ×
シス管 ○
2017/10/02(月) 06:29:24.04ID:wMevtdK8
自分が仕事したくないだけの典型的な無能情シスだね
2017/10/02(月) 10:06:08.92ID:bWh9nOt5
64officeだと32で開発したものが動かないからだろう
2017/10/02(月) 11:05:05.57ID:YjIt9Zua
64bit版Officeにするメリットがあるかどうかだろ
2017/10/02(月) 12:57:21.76ID:Kxj0uZ10
不特定多数にバラ撒くアプリだと無理だけど
たとえばx32なOfficeの入ってる環境にx64のACEを強制インストする方法があったと思う
2017/10/03(火) 00:56:32.41ID:L8hprTCo
AnyCPUなDLLにして、オフィスから呼んでもらうのはどうだろう
それならオフィスと同じビット数で動くんじゃね
2017/10/03(火) 07:16:47.34ID:ObXIbUik
>>768
そういう認識も無く不特定多数にばら撒いて混乱するのがVB開発の醍醐味
2017/10/03(火) 09:56:50.00ID:H26XOqff
C#でも一緒だが
2017/10/03(火) 10:00:24.30ID:eY/q0sas
>>771
コンプレックスでもあんの?
2017/10/04(水) 14:53:27.06ID:aW4Cfo6o
昔のライブラリで、On Error Resume Next を前提にしたるCOMモジュールを扱うときなんかは、VB.netは便利。
C#でも似たような制御できればいいのに。
774デフォルトの名無しさん
垢版 |
2017/10/06(金) 01:12:12.05ID:Ahbm7zus
それって例外無視したいってこと?
2017/10/06(金) 11:57:59.66ID:oEyA6PeW
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)…の形で出力したいです。
この場合、二次配列の宣言文はどう書いたらいいのですか?
2017/10/06(金) 14:51:49.82ID:oEyA6PeW
775ですが、わかりずらくてすみません。一次配列だとA(10)で10個の配列を宣言できますが、
二次だとA(10)(100,100)と書くと受け付けてくれませんでした。どのように書けばいいのでしょうか?

また、今は3次元配列から、1点ごと移して、1シート分ごとの二次配列を作ろうと思ってますが、
もっとスマートな方法があったら教えてください。
2017/10/06(金) 14:53:30.30ID:Pjx+vQ2Q
VB側であらかじめ二次元配列に変換すればいいでしょ
2017/10/06(金) 15:00:48.07ID:BnWE0qO1
Rangeオブジェクトではダメな理由は?
2017/10/06(金) 15:27:18.19ID:oEyA6PeW
>>777
そうなんです。VB側で二次配列に変換します。その時の二次配列名をA1,A2,A3…としたいのですが、
どうやって宣言したらいいのでしょう?個数は都度変わります。

>>778
ダメな理由は、私が超初心者だからです。Rangeオブジェクト、調べます。
2017/10/06(金) 16:18:03.87ID:+xC3oUH1
Object型の二次元配列の配列は
Dim arr(n)(,) As Object
For i As Integer = 0 To n - 1
ReDim arr(i)(x, y)
Next
2017/10/06(金) 16:20:36.26ID:+xC3oUH1
To nのほうがいいか
2017/10/06(金) 18:27:07.22ID:oEyA6PeW
ありがとうございます!!
783デフォルトの名無しさん
垢版 |
2017/10/06(金) 18:34:40.77ID:zGeBsdYt
>>779
VBAならコレクションで簡単に出来ると思う。どうしてもVB.Netでやらなければいけないならアレだが。
因みに、エクセルはシートに書き込む時ループじゃ遅くなるから二次元配列で
Range("A1").Resize(Ubound(2DArray,1),Ubound(2DArray,2)) = 2DArrayとやるとそこそこ高速に書き込める
2017/10/09(月) 12:03:03.55ID:p4uEChG8
>>774
そうそう。
制御系のシステムとかでも、その時点でできることできないことがゴッチャになってるライブラリがある。
エラー前提でリリースされてるライブラリもあって、そういう前提だとResume NextがないとTryのブロック
記述がものすごく複雑になる。ぶっちゃけ、機械の挙動を、プログラムから先読みしないといけなくなる。

そういう前提のライブラリを利用するとき、いまVBはスタンダードじゃないけど、vb.netなら、VBと同じく、
Resume Next使えるからうれしい。
2017/10/13(金) 00:42:03.31ID:d0dipzNo
上の初心者です。お陰様で無事解決して先に進めました。
Do〜Loopで計算させて、ある数値の変化を見ながら中断。データをエクセルに出力、
その後また計算を再開させたいのですが。ボタンは、中断・再開・出力(終了も必要かも)
調べていたらBackgroudworkerっていうのが出てきたんですが、中断・再開、そして
その間にデータ出力って無理ですか?ほかの方法でもいいので教えて下さい。
2017/10/13(金) 21:50:35.27ID:5ZrXmVai
それでできます
2017/10/21(土) 17:52:46.13ID:7/uhu6B6
繰り返し数値計算するプログラムを作って動くようになったんですけど、
途中でNaNが出てしまいます(NaNが出ても止まらない)
どうして出たのか突き止めたいのですが、どうやったらいいのでしょう?
デバッグのブレークポイントの設定でi=NaN,i==NaNとか入れてみたんですが、
式が良くないようで働きません。
2017/10/22(日) 02:29:45.09ID:EmQ5oJ/A
今試せないが
IsNaN か Double.NaN 辺りを使ったことある

https://msdn.microsoft.com/ja-jp/library/system.double.nan(v=vs.110).aspx
2017/11/03(金) 23:26:56.71ID:T/az7urs
vb.netとoracledbのプログラマが急に退職になったので、引き継ぎがないままで、私が保守をすることになりました。
15年前にVBを1つ作った経験しかないのに、任されてしまって、とても焦ってます。
vb.netとoracledbを基本から勉強をしたいのですが、いい入門書があれば紹介して頂けないでしょうか。
どうぞよろしくお願いします。
2017/11/04(土) 02:48:57.68ID:g7i1lHqB
逃げたほうがいいんじゃない?
791デフォルトの名無しさん
垢版 |
2017/11/04(土) 03:19:08.61ID:SmrPt+dU
>>789
ちと古いが

VB.NETによるOracleアプリケーション開発技法 2005/4
山田 健一 (著)

俺も似た境遇でvb+oracleの開発をうん年前にするハメになったので
上記の本をアマで購入
でもトップが心変わりが激しいので開発は幸か不幸かお蔵入りw

で、odp.netをvb2013にインストールするんだけど
なぜかこれがなかなか入ってくれなくて手こずった記憶がある

上記の本(は古いから)よりネットのほうが情報あるんじゃね?
2017/11/04(土) 03:32:30.19ID:SmrPt+dU
すまん
こっちだったわ

Oracle+.NETプログラミング・バイブル―ODP.NETによる強力開発環境 単行本 ? 2005/9
日本オラクル (著)
2017/11/04(土) 06:39:10.69ID:ox8FLzne
>>791
>>792
ありがとうございます。
早速、買って読んでみます。
古い本でも何でも勉強するしかありません。


10年以上前に導入したVB.netとoracledbのシステムらしいのですが
勉強やテストするテスト環境もありません。
SEもプログラマもいなくなったので誰にも聞けません。
2017/11/04(土) 08:00:52.30ID:ox8FLzne
>>791
>>792
もう少し教えてください。

この本に付属しているCDROMには、勉強するための環境一式が含まれているのでしょうか?

またそれらはWindows10でも動くのでしょうか?
Windows7もあるのですが、ハードディスクが30GBしかないです。

本は中古しかなかったので到着には1週間近くかかるようです。
2017/11/04(土) 09:56:42.48ID:SmrPt+dU
>>794
CD-ROMは使わなかったな

環境はオラクルのホームページからdownloadしたよ(当時は要メール登録、無料)
なんかどれインスコしていいんか分からんかった記憶が…

環境はWindows8か8.1のVb2013
Windows10はわかりません

手さぐり状態の時に先にも書いたように鶴の一声でポシャったw
796デフォルトの名無しさん
垢版 |
2017/11/06(月) 23:32:40.39ID:oqUq9JxF
前に勤めていたスーパーの社長に新店オープンの検討会議に出るように言われ、なんで俺のような水産部担当者風情が
そんなのに呼ばれるんだろうと思ったら社長から「お前、面接でプログラミングが趣味って言ってただろ?POSシステム作れや」と
言われ目が点になった。「いえ、自分のはあくまで趣味程度でして」と言ったら「なんだ?嫌なのかぁ」と言われ困惑した。
スーパーのPOSシステムってのは東芝TECのほぼ独占状態で新店オープンなんかだと表現は悪いが吹っ掛けてくるらしく、
営業が一日張り付いただけで本来の料金の他に日当、メシ代、泊まりになった場合はホテル代まで持つのが業界の習慣らしく
300坪程度の店を出すのにPOSレジシステムの構築で一千万近くかかるとか。
それを従業員にやらせれば浮くじゃねえか、と考えたんだろうな。俺は「魚屋がシステム作ったらおかしいでしょ社長!」と逃げ回って
難を逃れたが(逆立ちしても無理っス)
元IBMの営業やってた総務の課長がやらされる羽目になり、開店時には従業員一同社長とこの元IBMを呪ったよWW
開店と同時にレジのおばはん達から「どれもこれも登録されてないじゃん!このバカ!」と怒号が響き、大笑いしていたら
水産物でも加工品のバーコード付きのものが全て「登録無し」と出るとババアどもからレーザービームを浴びて笑ってられなくなった。
元IBMの課長に文句言ったら「あはは、排他処理だよね、そうか、思い出した」とか言って平然としてるし。

神経が図太くねえとシステム担当なんてやってられないんだろうな
2017/11/07(火) 00:13:22.18ID:gUentbNw
楽しそうな職場やん
絶対に就職したくはないけど
2017/11/07(火) 09:40:10.59ID:yuq33prU
>>796
昔、POS関連の仕事してたことが有ったけど、出来が良ければそのPOSアプリを一般に売れば良いんじゃね。
実際、蕎麦屋が自分の為に作ったPOSアプリ売ってたことが有った。
他にも全然開発会社じゃない所が自分用に作ったPOSアプリの出来が良かったので売ってる事例を幾つか見たことがある。
2017/11/07(火) 10:48:40.44ID:t6NaVxzv
どう考えても「出来が良ければ」なんて言えない内容だと思うんだが
2017/11/07(火) 11:16:20.50ID:yuq33prU
良くしてくんだよ。
もったいないじゃねーか。
2017/11/07(火) 11:17:26.29ID:H3DL339H
どう考えてもコピペにしか見えんけどググても出てこないから
本当に書いてるんだな。

神経図太いって、それこんな開業も入れない文章書く奴のことだろw

それと、一応昔からTECの他にNCRって会社が大手であったはず。
今は普通にNECや富士通もWindowsやLinuxベースのPOSレジ作ってる

それから、ソフトはその元IBMのオッサンが作るとしてハードはどうしたんだよ。
そのオッサンがハードから作ったのかw
作れる訳ねえだろw
デタラメ書くにも程がある。
2017/11/07(火) 14:52:58.50ID:X/d0WSR0
EPSONからプリンタとカスタマーディスプレイ買ってパソコンあれば出来る。
ついでに昔は制御方法も教えて貰えた。
他にもシャープとかカシオとかハードだけ買えた気がする。

あと、NCRは日本ではそれほど大手じゃなかった印象だな。
TEC、富士通、NEC、IBMの順ってのが俺の印象。
NCRはその次ぐらい。
あくまで俺の印象だし、今はどうなってるのか知らんけど。
2017/11/07(火) 16:58:21.02ID:BZzO8P37
cとJavaの開発経験があるけど、.NETで初めて開発刷ることになりました。だいたい3ヶ月やれば開発に参加できますか?
2017/11/07(火) 17:14:10.33ID:H3DL339H
それはあなた自身の学習能力とチームが求める能力の関数でしょう
2017/11/07(火) 17:17:49.65ID:jMIQ1hyl
こんな答えようのない事を他人に尋ねてくる上に、文章の推敲も出来ないやつは
ハナっから開発メンバーに入れたくないな>>803
2017/11/07(火) 17:19:28.20ID:BZzO8P37
VBもc#もだいたい似てるよね?
2017/11/07(火) 17:20:06.63ID:BZzO8P37
Javaよりもハードルが低いと聞いた。
808デフォルトの名無しさん
垢版 |
2017/11/07(火) 19:30:55.43ID:83qXUfR4
>>803
ドットネッターて>>804,805みたいな無能ばかりだから3ヶ月どころか3時間あればエースプログラマーになれると思うよ
2017/11/07(火) 19:33:42.48ID:jMIQ1hyl
そうそうその通り!
2017/11/09(木) 06:00:15.14ID:goVr3jSD
質問失礼します。

現在、SQLserverからDataReaderにテーブルデータを取得してDataGridViewにテーブルデータを表示させているものがあります。
DataGridViewではなくExcelに出力させて欲しいという要望があり、対応しようとしているのですが、DataRederの内容を2次元配列に入れる事が出来ず困っています。

やりたい事
DataReaderの内容を2次元配列に格納し、指定したExcelファイルに一括で書き込み。

よろしくお願いします。
2017/11/09(木) 07:27:20.45ID:OuTQqey9
datatableから出力させた方が楽なんじゃないかな。。
2017/11/09(木) 07:41:04.52ID:goVr3jSD
>>811
申し訳ありませんが、やり方を教えて下さい。
現状のコードは
datareader=command.ExecuteReader()
While datareader.read
‘データグリッドビューへ出力
End While
なのですが、AdapterとDatasetを作ってDataTableに格納して、Excel出力するイメージですか?
2017/11/09(木) 10:35:39.05ID:PgCSoHJf
dataadapter.fill(datatable)じゃダメなの
2017/11/09(木) 12:25:27.97ID:goVr3jSD
>>811
>>813
ありがとうございます。希望通り動作させる事が出来ました。
また、よろしくお願いします。
815デフォルトの名無しさん
垢版 |
2017/11/09(木) 12:34:04.73ID:TttUt+BF
visualstudio2013、.net4.6で、ZipFileクラスは出るのにZipFileExtensionsクラスが出てこないんですが原因わかりませんかね?
参照にSystem.IO.Compression.FileSystem は追加してます。
2017/11/09(木) 21:18:04.53ID:LSaTNsoH
EditorBrowsable 属性で Never が指定されているからインテリセンスには出てこない
ZipFileExtensions と入力した後に . (ドット)を入力したら出てくるけど、拡張メソッド提供用のクラスなので、
dim archive as ZipArchive
archive.CreateEntryFromFile ( ... )
みたいに拡張メソッドとして使用したほうがいい
2017/11/10(金) 02:14:09.54ID:chLgv4PA
約10数年ぶりにこのスレに戻ってきた…
実に.NET1.1以来…

pingクラスを非同期「Ping.SendAsync」で使ってインターネットの速度低下を計測したくて
タイムアウトでイベントを拾いたいんだけど
タイムアウトの時間を20msにしてもタイムアウトイベントが起きない
イベントがcompleteで帰ってくるので21ms以上かかっても正常で戻ってくる

ちなみにdobonでサンプルを参考にした
タイムアウトイベント拾えたひといたらお知恵拝借したい
2017/11/10(金) 02:24:56.30ID:k0/7SHHI
>>817
https://msdn.microsoft.com/ja-jp/library/ms144961(v=vs.100).aspx
> timeout に指定した数値が非常に小さい場合、timeout のミリ秒数が経過した後に Ping の応答が受信されることもあります。
これじゃない?
2017/11/10(金) 02:32:15.58ID:chLgv4PA
>>818
早速サンクスです
どうもこれが原因っぽいですね…
100ms超えるようだとログに残したかったので
毎度応答時間チェックしてみることにします

私事だけどWindows10で.NET1.1が動かないから
昔作った業務アプリを作り直さないといけない…
クリレポ動くんだろうか…
820デフォルトの名無しさん
垢版 |
2017/11/10(金) 06:24:47.35ID:XWT/Y8xw
>>816
そういうことだったんですね
ありがとうございます
勉強になりました
2017/11/16(木) 18:56:57.18ID:WIFtnJuX
暗黙の型変換の挙動ってどこで制御しているんでしょうか

decimal d = 1
String s = "hoge "
s = s & d
この時のdって暗黙の型変換?がされていると思うのですが、
decimalの実装を見てもどこでこの挙動が制御されているのかわかりません
2017/11/16(木) 19:23:05.05ID:hlIaT2GT
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
2017/11/16(木) 21:42:05.23ID:eDY5LW4B
雑魚プログラマなんだけどプロパティについて聞きたい
普通↓の@の形式だと思うんだけど
似たようなことしたいときに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----------ここまで
2017/11/16(木) 22:20:14.00ID:1WC2sRMg
プロパティを宣言すると、コンパイラは中間言語にgetterとsetterのメソッドを作る。だから意味ないです。普通の?の形式を使えばいい。
2017/11/16(木) 22:42:54.96ID:eDY5LW4B
ありがとう!
2017/11/16(木) 23:32:20.06ID:zISN/nZ0
パブリックで変数切ればいいんやで
2017/11/17(金) 03:52:39.53ID:8RvIbz6z
変数切る?
2017/11/17(金) 04:00:16.21ID:dFhF1IzE
>>821
暗黙の変換やってるのはコンパイラじゃね

>>827
定義するのを(定義)切るとか言うことがあるなぁ。変数切るは変数定義するってことだな
通じる人のほうが多い気がするけど、おっさんだけかもしれんw
語源はしらん
829デフォルトの名無しさん
垢版 |
2017/11/17(金) 08:09:20.10ID:6X4yuC5e
おっさんのくせに宣言と定義の違いもわからんのかw
2017/11/17(金) 12:28:53.96ID:dFhF1IzE
>>829
では変数の宣言と定義の違いを簡単に説明してくれ
2017/11/17(金) 13:19:38.94ID:ENBrszFD
>>830
コンパイラのために行うのが宣言
リンカのために行うのが定義
分かれてない言語の場合は宣言と定義を一度に行う
2017/11/17(金) 14:27:37.69ID:kDLAXaYv
>リンカのために行うのが定義

ピンとこないな
アロケーションとは違くて?
2017/11/17(金) 19:58:40.60ID:66XG3dz2
>>822
ありがとうございます

アンパサンドオペレーターでできるかと思ったのですが、
Stringは継承できないしdecimalは構造体だしでダメっぽいです
諦めました
2017/11/17(金) 20:12:59.46ID:Gtzp+0S5
>>833
何言ってるのかよく分からんけど、.NETのオブジェクトはすべてToStringメソッドを持ってるので、

s &= d

s &= d.ToString

と同じ、これはC#でも同じ
2017/11/17(金) 22:15:39.64ID:66XG3dz2
&をオーバーロードして、
s &=d だけで s &= format(d, "0.00###")
みたいな挙動をさせるのが目的でした

今は確認できないのですが、ToStringをオーバーロードすれば出来るのか後ほど確認してみます
ありがとうございます
2017/11/17(金) 23:09:17.40ID:Gtzp+0S5
>>835
そんなこのできないと思うけどできたとしてもやらない方がいいと思うよ。
コードを読む立場になって考えてみ?

s &=d
が実は、
s &= format(d, "0.00###")
と同じ働きをするって普通は誰も思わないからそのコードを読んだ人(数か月語の書いた本人含む)
は絶対混乱するよ
2017/11/17(金) 23:36:41.99ID:66XG3dz2
よろしくない方法だというのは承知しつつ個人用なのでやってみるつもりでした
とはいえそもそも出来ないようで

Stringクラスが継承不可になってるのはそういうのまで考えられてるのかな
2017/11/18(土) 00:42:33.03ID:lwdaQlHz
それはdの方を独自クラス(構造体)にすれば良いんじゃね

継承出来ないようなら暗黙的に変換できる型を作れば良いんじゃね
2017/11/18(土) 01:55:39.49ID:WTUDdgFw
ちょっと文字数減らすために変な小細工しない方がいいと思うよ
こんなのせいぜいマジックストリングを無くす程度で十分でしょ

Const DecimalFormat as String = "0.00###"
....
s &= d.ToString(DecimalFormat)
2017/11/18(土) 02:33:59.73ID:lwdaQlHz
>>834
ちょっと気になったんだが、VB.NETの暗黙の型変換で呼ばれるのは、CType関数じゃないかと
暗黙の変換はStringに限るわけじゃないから、StringのときだけToStrring呼ぶような事はないんじゃね
CTypeは値に忠実に返すべきだが、ToStringは説明的な文字列付加するとかあり得る話だし
2017/11/18(土) 02:55:29.75ID:WTUDdgFw
>>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
2017/11/18(土) 03:49:12.83ID:lwdaQlHz
勢いで>>838実装してみた
https://ideone.com/l0VRiT

ideoneってVB.NETの動作なんだか怪しいな
バージョンの新しい方はなんだか動かないし、古い方は自動実装プロパティ使えねぇ

一応言っとくけど、たんにDecimalの表示時にフォーマット指定がめんどくさいとか
その程度の理由でやるような事じゃないからな
じゃあ夜中に何やってんだ俺w
2017/11/18(土) 18:33:11.57ID:lwdaQlHz
>>841
VBの&は文字列連結専用の演算子だからな

実はVBでも+で文字列連結できる
その場合の数値加算か文字列連携かの判断と実行内容がC#と同じかはしらん

まあ、暗黙の変換は予期せぬ結果をまねきかねんから注意しろってことだな
2017/11/22(水) 04:28:34.76ID:abdxNTRR
退位の話題がニュースにあったんだけど
.NET1.1で新元号のアップデート来るかな…
2017/11/22(水) 09:57:39.48ID:qyCmHlzW
1/1付けにしてほしいわ
2017/11/22(水) 10:26:48.94ID:2YVJuPMl
>>844
元号ってOSから引っ張ってきてるんじゃないかなぁ
OSが対応されればそれで行ける気がするけど、1.1動くOSってどこまでだっけ

未だに1.1のシステム抱えてる身としては他人事ではない
2017/11/22(水) 10:34:35.19ID:JXvvAkCJ
4.0以降のみらしい
https://social.msdn.microsoft.com/Forums/ja-JP/a93ec79d-69a5-4bb7-ae5d-a8aabfdcb9dd/systemglobalizationcultureinfo?forum=netfxgeneralja
2017/11/22(水) 12:20:47.97ID:qyCmHlzW
3.5は対応してほしい
2017/11/22(水) 12:36:08.14ID:abdxNTRR
>>846
Windows10は1.1が動かない(とされてる)
業務ソフト納入してる客先でPC機器類納入してる別の会社が勝手にWindows10に変えようとして
慌てて一台リースを延期してもらった

>>847
2.0でビルドしたものが4.0で動いたというのが興味深い
2017/11/22(水) 16:11:09.79ID:2YVJuPMl
2.0以降はいちおう上位互換考慮されてるはずだからなぁ

OSもフレームワークもサポート切れだから、アプリもサポートできません
アプリバージョンアップしてください(もちろん有償で!)

こう言って通れば良いんだがなぁ
851デフォルトの名無しさん
垢版 |
2017/11/23(木) 15:38:14.38ID:oTFRewqv
コマンドプロンプトで実行するプログラムで、C言語のsystem()関数と同様の関数ありますか。
Processクラスは別画面で起動します。同じ画面で実行したいもんで。
2017/11/23(木) 17:04:27.61ID:k3nQdCAx
>>851
UseShellExecute = False にしてみたら?
853デフォルトの名無しさん
垢版 |
2017/12/15(金) 11:44:07.19ID:M7F98+kf
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はどういうように定義するのがいい?
854デフォルトの名無しさん
垢版 |
2017/12/15(金) 11:55:48.67ID:M7F98+kf
Class clschkMai
Inherits List(Of clschkMaisu)
Public sum As Integer
End Class
これで
lm.add(dt)とやるだけで上記のlm.sum+=dt.sizeも行うようにしたいのだがやり方が分からない。
2017/12/15(金) 12:17:45.87ID:m9RnQpi/
>>854
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
856デフォルトの名無しさん
垢版 |
2017/12/15(金) 12:57:12.72ID:M7F98+kf
おお!! そういうことか。ありがとう。 addがOverridesできないものかと悩んでた。
clsXXXって書き方は駄目なのか? 何か不都合があるんだろうか?
857デフォルトの名無しさん
垢版 |
2017/12/15(金) 13:11:41.44ID:M7F98+kf
アッ、駄目だ。継承しないとlm(3).textのようにインデクサでのアクセスができない。
2017/12/15(金) 13:17:15.59ID:m9RnQpi/
>>857
インデクサ(VBは既定のプロパティと言うと思うけど)も自分で書けばいいんだよそれはwww
簡単でしょw
何でこの程度のことを思いつかないのw
859デフォルトの名無しさん
垢版 |
2017/12/15(金) 13:39:16.97ID:M7F98+kf
それはできないでしょ。 lm.lst(i).text みたいになってしまうから。これは面白くない。
lm(i).textにしたいわけだ。
860デフォルトの名無しさん
垢版 |
2017/12/15(金) 13:44:55.16ID:M7F98+kf
アッ、List(of ss)ができるのだからできるのか? できる筈だよな。調べてみる。
861デフォルトの名無しさん
垢版 |
2017/12/15(金) 13:47:03.03ID:M7F98+kf
解った!! ありがとう。
2017/12/20(水) 21:39:40.25ID:AHvtW6qd
ここで聞くのが適切かわからなかったんですが、ご存知の方がおられましたらお教え下さい。

症状
win10のアップデート1703へ更新した直後から、datagridview内への入力時にIMEがオンになっている場合に、最初の入力文字が2つ入力される。バックスペースで消した後は、通常通り入力できる。IMEオフ時の半角は通常通り入力可能。
例えば「は」と入力しようとした場合は「hha」と下線付きで入力されてしまいます。

開発環境では再現しないのですが、何が考えられるでしょうか?
明日、IMEのプロパティのなかの直接入力をしないのチェックを外すのを試して頂く予定ですが、他に何かこうじられる手はありませんでしょうか?
2017/12/20(水) 21:53:14.40ID:XaT4vAqr
とりあえず使ってるIMEが何か調べる
2017/12/20(水) 23:49:49.75ID:AHvtW6qd
MSIMEです。
2017/12/22(金) 20:50:18.27ID:8bp8uCql
csvから以下の様なデータをよみこんでDataGridViewに、キーが5件以上のレコードだけ表示したいのですが可能でしょうか?

キー,品名,重量,形状
A001,aaa,111,丸
B001,bbb,222,バツ

csvは5000レコード程になります。
キーは700種類くらいです。
宜しくお願いします。
2017/12/22(金) 21:58:13.05ID:L0WeFQPL
可能です
2017/12/23(土) 05:25:16.08ID:syScn12J
>>866
教えていただけませんか?
2017/12/23(土) 08:21:17.89ID:3noaHCAM
何が分からないんだ?
 CSVファイルを読み込みか?
 GroupByの使い方か?
 5件以上の抽出方法か?
 複数Groupのフラット化か?
 DataSourceプロパティか?
2017/12/23(土) 08:45:58.27ID:De0LpaYa
>>868
csvからキーが5件以上重複しているものを抽出する部分です。
2017/12/23(土) 09:20:56.16ID:Px5uJlt7
同時には無理
まずはCSVから全データを読み込み
そのデータをLinqかなんかで絞り込む
この2つの手順が必要
2017/12/23(土) 11:45:58.00ID:afY4COyy
JETとかACEとかでSQL書けば同時に出来る気がしないでもないがな
2017/12/23(土) 18:30:01.78ID:De0LpaYa
>>870
とりあえずcsvをデータテーブルに入れデータグリッドビューに表示は出来るのですが、Linqが難しく書けません。
教えていただけませんか?

5件以下のレコードだけ表示の間違いでした。
2017/12/24(日) 07:37:12.94ID:hpg5RGLX
「GROUP BY キー」して、「HAVING 5件以下」して、「SelectMany」するだけだろ?
どこが難しいんだ?
2017/12/24(日) 08:51:11.82ID:26rA4GtJ
結果的に同じになればいいんだったら処理は遅くてもやり方はいろいろあると思う。
2017/12/24(日) 12:14:59.40ID:qNqolCPw
>>873
linqで抽出した後に、データグリッドビューに表示が出来なくて何が悪いのか理解できず諦めました。
結局csvに対してsql文を書いて873さんの言う通りGroup ByとHavingで実装いたしました。
お騒がせしてしまい、すみませんでした。
2018/01/08(月) 08:29:11.48ID:UszQx08Q
datagridviewで集計処理をやりたいです。
具体的には、項目毎の小計行をdatagridviewへ追加して、最終行に総計を出したいと思っています。

Forループでやってみたのですが、小計行を追加すると最終行が変わってしまい最終行まで処理を行えません。
Doループでやってみようと考えたのですが、最終行判定方法が分かりません。

datagridviewで上記の様な集計を行う方法を教えてください。
2018/01/08(月) 17:50:23.27ID:4DzBbICP
データを行追加しながら小計や総計を出せば最終行を気にする必要はないと思いますが
2018/01/08(月) 19:38:43.65ID:UszQx08Q
>>877
datatableをバインドしているのですが、datatableから1レコードづつ追加して小計行を入れる感じでしょうか?
2018/01/21(日) 17:49:05.41ID:xVt4kZ2y
<例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

理想のように出力させる方法ってないでしょうか
2018/01/21(日) 18:19:11.18ID:RCjuWkB1
>>879
Console.WriteLine(a.ToString("G29"))
または
Console.WriteLine("{0:G29}", a)
2018/01/21(日) 19:42:04.55ID:xVt4kZ2y
すいません、書き方が悪かったです。

出力させると言うよりは、
dim a As decimal = "0.12340000"
の宣言後にa=0.1234と内部的に認識?させたいです。
文字列変換時のformatは使いたくありません

decimal等に一度キャストして再度decimalに戻せば消えるんでしょうか
2018/01/21(日) 22:12:27.71ID:PGD2ovYS
むしろ後続のゼロを保持するDecimalで勝手に後ろの0を消す
VBのエディタだかコンパイラだかに問題があるけど

Decimal.Parse(a.ToString("G29"))でもすれば
2018/01/21(日) 22:16:38.18ID:8mbnCibk
何が言いたいのか何がしたいのかさっぱりわからんけど、
そもそも文字列リテラルでdecimalを初期化するのが間違ってる
2018/01/22(月) 09:16:19.77ID:26rmQH+m
Dim a As String = "0.12340000"
Dim b As Decimal = CDec(a)

これでええで
2018/01/22(月) 20:18:35.99ID:AesY7cS1
Decimalって後続ゼロを保持してるとかいう仕様なんだが
実際の小数点以下桁数については、取得するメソッドとかすら用意されてないぽいよな
なんでそんな片手落ちな仕様なんだろ
2018/01/22(月) 21:11:58.46ID:BhdsaoHH
>>885
これで取得できるみたい

Dim a = Decimal.Parse("0.12340000")
Dim len = Decimal.GetBits(a)(3) >> 16 And &HF
Console.WriteLine(len) ' 8
2018/01/23(火) 21:18:21.91ID:NPbHldMa
関係あるようでないけどsqlserverのnumeric型に1とかを格納して1.000000になるのって防げないよね?
Decimalに代入して扱うとずっとゼロが残るもんで
ToString("G29")を全部に書き加えたんだけど、もっと頭の良い方法あったなら死にたい
2018/01/23(火) 21:52:20.10ID:8AbQh9Sj
(1) 必要もないのにDecimalなんか使わない

(2) 必要な精度に合わせて丸めることを覚える(実数型っていうのはそうやって使う)
2018/01/23(火) 22:09:43.15ID:NPbHldMa
Oracleだと後続ゼロは勝手に除去するし面倒やね
2018/01/24(水) 01:20:12.88ID:FR3L8fOM
>>887
SQL ServerのNumeric型は指定精度の固定小数点だし、そんなことになるか?
どうやって取得してるのか、簡単なコードあっぷしてくれ
2018/01/25(木) 21:17:36.29ID:kHl9XEzA
すんません、.net nativeってどうなったんですかね?
2018/01/26(金) 00:31:48.81ID:xgA/ZrEm
>>890
datareader経由で普通に取得してた記憶がある
テーブルに格納した時点でnumericなら1.000000~みたいになるし、それがむしろ正常なのでは?
893デフォルトの名無しさん
垢版 |
2018/01/27(土) 10:54:23.24ID:blSbszVf
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
こんな感じでインスタンスを作ってその位置と外形だけ複製したいのだがなんかよい方法ない?
2018/01/27(土) 15:01:31.82ID:1CQ9r5Ku
それでいいんじゃないの?
895デフォルトの名無しさん
垢版 |
2018/01/27(土) 15:15:21.70ID:blSbszVf
だめだ。 もっとスマートな方法はある。何か考えろ。
デリゲート使って簡単にできんか?
それとか、、、コピーモードもあるはず
2018/01/27(土) 15:42:24.58ID:zlVwMk+1
そんな汎用的じゃない処理がライブラリにあるわけないでしょ
世の中自分を中心に回ってるとか思ってる?
897デフォルトの名無しさん
垢版 |
2018/01/27(土) 16:36:34.58ID:blSbszVf
PictureBOxにコピーコンストラクタを追加する。
dim pic as picturebox = new ExPictureBox(PictureBox3)
みたいなことはできんか?
898デフォルトの名無しさん
垢版 |
2018/01/27(土) 16:56:15.88ID:blSbszVf
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にキャストはできんのかなー
899デフォルトの名無しさん
垢版 |
2018/01/27(土) 17:06:40.08ID:blSbszVf
「継承のルールによると、派生オブジェクトは常に基本クラスの変数に代入できると規定
されています。」

できる筈だが、エラーになるな。
2018/01/27(土) 17:36:25.08ID:zlVwMk+1
>>899
マジボケ?
コンストラクタの引数の型はPictureBoxにしないとダメなんじゃないの?

それから、そんなつまらん処理のためにいちいち新しい型を作るとか無駄。
せいぜい拡張メソッドでいいでしょ

Public Module Exetnsions
  <Extension()> _
  Public Function GetMimic(p as PictureBox) as PictureBox
    ....
  End Function
End Module
901デフォルトの名無しさん
垢版 |
2018/01/27(土) 18:02:03.55ID:blSbszVf
でけたーーー。サンクス。w
902デフォルトの名無しさん
垢版 |
2018/01/27(土) 18:17:58.54ID:blSbszVf
IIf(count Mod 2, leftp = GroupBox4.Left, leftp = GroupBox3.Left:top += ctl.Height

これってなにか良い方法ない?
2018/01/27(土) 18:50:33.41ID:zlVwMk+1
そんなものない。だから、世の中君を中心に回ってない。
ついでに言うと、それもダメ。もう全然ダメ
それ意図した通り動かないはずだからやってみ
904デフォルトの名無しさん
垢版 |
2018/01/27(土) 22:38:38.55ID:blSbszVf
ある。ぜったいにある。考えてみ。
2018/01/28(日) 14:37:36.58ID:GdggbAq+
教えてくださいだろ
2018/01/29(月) 01:02:44.26ID:T4IzQ9lA
IIF嫌いだわ
2018/01/29(月) 02:58:03.61ID:SBGh1g9E
可能であれば If 演算子を使ったほうがいい
2018/01/29(月) 11:23:57.86ID:Zkbe25Yq
何かずっと頭おかしいのが荒らしまくってたんだね
909デフォルトの名無しさん
垢版 |
2018/02/12(月) 14:10:49.62ID:pRrQ7Rw0
なんか廃れてるけど質問ここでいいのかな

初心者向けの本買って、
その通りにサンプルアプリ作ってるんですけど、
TextBoxコントロール入れて、fontプロパティをメイリオの16pt、
Sizeプロパティを55,55にしろってのがあるんだけど、
その通りにするとSizeが55.39に勝手になってしまって高さが55になりません

多分フォントサイズに自動的に高さを合わせてるから39に勝手になってるんだろうけど、
どうすれば高さも55になりますか?
2018/02/12(月) 18:44:24.45ID:EjSCFOs0
>>909
テキストボックスの右上の方にちっちゃい右向きの三角の記号あって▶そこクリックでMultiLineっていうの出てこない?
もしくはテキストボックスのプロパティからMultiLineをtrueにする
911最近VB2017使い始めました
垢版 |
2018/03/04(日) 10:59:53.34ID:/0SDFJ7N
VB2010使ってて最近2017使い始めたのですが、ショートカットキーでCTRL+↑してもプロシジャーの先頭に移動しません。
どなたか教えてくださいませ。
2018/03/04(日) 20:58:02.16ID:rxRBgFzI
excelシートみたいなのの無償で使えるコンポーネントない?
2018/03/08(木) 17:50:00.92ID:V+SVDdKN
Excelは無料じゃないんやで
2018/03/08(木) 18:17:28.34ID:yp+c4Bcu
>>913
日本語わかりますか?
2018/03/09(金) 06:52:37.89ID:7JwIVN63
vbにあったようなやつ
916デフォルトの名無しさん
垢版 |
2018/03/11(日) 15:20:09.39ID:U/Qy0RW3
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
2018/03/11(日) 18:11:33.14ID:GnsUw/H6
DataSourceのDataTableに追加するコードをButtonのクリックイベントに書けばいい。
DataGridViewにバインドしているから反映される。
コードからバインドされたDataGridViewには追加出来ないからSourceに追加する。
918デフォルトの名無しさん
垢版 |
2018/03/11(日) 20:33:05.73ID:U/Qy0RW3
>>917
回答ありがとうございます。
いろいろ調べてDataTableに追加しようとしましたがうまくできず
DataTableと別にDataTable2をつくってDataTableと結合→DataGridViewに表示しようとしたのですがそれもでうまくできませんでした。

DataTableに追加するか
DataTable2を作成、DataTableとDataTable2を結合
のどちらかの例文を教えて頂けないでしょうか?
よろしくお願いいたします。
2018/03/11(日) 20:49:13.97ID:AaTTZdyn
DGVしゃ足りないんだからそれこそエクセル(クローン)しか無いだろ
でも.NetじゃOLE出来ないしなー
(表示だけならWebBrowserで出来るみたいだけど)
2018/03/11(日) 21:35:19.22ID:GnsUw/H6
>>918
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)

みたいな感じで出来ない?
921デフォルトの名無しさん
垢版 |
2018/03/12(月) 06:35:19.03ID:Lx3T/3bw
>>920
参考にして少し弄ったらできました。
ありがとうございます。

新たな壁に直面して
DataTableをCSVファイルで保存したいのですがうまくいきません。
ご教示願います。
2018/03/12(月) 06:48:40.25ID:PUJRPThX
>>921
https://dobon.net/vb/dotnet/file/writecsvfile.html

に書かれています。
923デフォルトの名無しさん
垢版 |
2018/03/12(月) 10:04:37.18ID:Lx3T/3bw
>>922
そのコードはどうすればボタンクリックイベントにできますか?
2018/03/12(月) 12:29:50.31ID:GSF7SLW7
クリックイベントで、ConvertDataTableToCsvにデータテーブルとcsvのパスとヘッダーを書き込むならTrueを渡して呼び出すだけ。
925デフォルトの名無しさん
垢版 |
2018/03/12(月) 13:35:16.64ID:Lx3T/3bw
>>924

パラメーターdt ,svPath,writeHeaderに対して引数が指定されていませんとエラーがでるのですがどうすればいいですか?



Private Sub btn_hozon_Click(sender As Object, e As EventArgs) Handles btn_hozon.Click

ConvertDataTableToCsv

End Sub
2018/03/12(月) 17:50:12.84ID:GSF7SLW7
>>925
ConvertDataTableToCsv(DataTable(“table”),”C:\test.csv”,True)
みたいにして引数を渡して呼び出せばいいです。
ファイル名やデータテーブル名などは、自分の環境に合わせて下さい。
927デフォルトの名無しさん
垢版 |
2018/03/12(月) 18:03:33.00ID:Lx3T/3bw
>>926
ありがとうございます。
一応保存には成功しました。

しかし、一番最期の行が消えてしまいます(CSVに保存されていない)

どうすればいいですか?
2018/03/12(月) 18:28:22.27ID:r8WIsdXf
プログラムを直せばいいんじゃね
2018/03/12(月) 19:05:44.46ID:5D2himS5
For文2回使って地道にやったほうが速そうだなw
930デフォルトの名無しさん
垢版 |
2018/03/16(金) 14:29:21.01ID:Eci7cEig
DataGridView上の特定の文字列のセルの文字色を変更したいですがやり方がわかりません。

例えば5列目1行目と5行目にAAAがあってこれを赤色、5列目3行目と4行目にBBBがあってこれを青色、といった感じで文字色変更したいです。

下記のコードでセルを選んで文字色を変えることには成功しましたがここからどのようにすれば、AAAやBBBといった文字列のセルの文字色を変更できるかがわかりません。

Me.database.Item(5, 1).Style.ForeColor = Color.Red
2018/03/16(金) 19:09:15.24ID:7QDEA7p3
バーカ!
2018/03/16(金) 23:01:58.97ID:8qp1Gu5M
>>930
セルの値がAAAかどうかを1セルずつチェックする
933デフォルトの名無しさん
垢版 |
2018/03/17(土) 02:17:25.38ID:kilRADxn
>>解決できました
回答ありがとうございます。
2018/03/22(木) 21:02:32.68ID:WmkzQNen
すいません、ここが最適だと思ったので教えてください!!

Spread(グレープシティ社)のWindows Formのバージョン8で
右端に列を追加するにはどうすればいいですか?
右端で右クリックして列を追加すると右から2番目に追加されてしまって困っています!
2018/03/22(木) 21:14:42.50ID:WC+ROiY7
スレ違い
せっかく高い金払ってるんだからサポートに聞け
2018/03/22(木) 21:23:02.10ID:kmqMUrWv
なんだこいつ
2018/03/26(月) 02:01:20.13ID:xKDUmJE8
餅は餅屋に聞くという思考が次第に薄れてきている事を感じさせますね。
938デフォルトの名無しさん
垢版 |
2018/04/22(日) 21:23:49.07ID:PsQCMKRd
餅屋とかそもそもないやん?
2018/04/25(水) 00:37:59.07ID:12saxXB9
SpreadのことはGrapeCityに、VB.NETのことはマイクロソフトに聞くべし

だったら何でこのスレあるの?
2018/04/25(水) 00:42:33.35ID:Ttsqtpq4
>>939
なら自分でスレ立てすればええやん
2018/04/25(水) 01:16:52.85ID:y6Ukjt1p
>>939
どこで聞くべきかを教えてくれる
2018/04/26(木) 20:41:50.04ID:fOtvyrSj
グレープシティっていいの?
あとエクセルなんとかってとこのが定番化だった気がする
2018/04/27(金) 08:07:08.11ID:NW63AoOa
ActiveX(〜VB6)までは世話になったけど、.Net になってからGrapeCity には関わるまいと誓った。
944デフォルトの名無しさん
垢版 |
2018/04/29(日) 22:50:27.19ID:RMQStnhd
質問させてください、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コントロールに演算させて力率を出しているのだと思うのですが。
どうなんでしょうか。
2018/04/29(日) 23:49:54.01ID:eBkQOB0i
>>944
とりあえずchartコントロールに何かを計算させようって発想は根本的に間違ってるw
エクセルじゃないんだからwww
chartが担うのは表示機能だけw

当たり前だけど位相差は測定値の時系列から自分で計算するコードを書くしかない。
ひょっとしてそもそも位相差が何を意味するか分かってないんじゃないの?
2018/04/30(月) 18:01:51.77ID:9DOSDrcb
>>944
まずはChart コントロールで何が出来るか理解する
http://www001.upp.so-net.ne.jp/vb_hanatyan/vb2005/vb2013chart01.htm

これ読んでもChartコントロールは癖があるので使えるまでは試行錯誤が必要
2018/05/03(木) 21:02:29.98ID:zBmU1+Vb
LISTを使いたい場合、何かImportしないとダメでしたっけ?
Dim a As New List
ってところで'List' is not declaredってエラーが出る
948デフォルトの名無しさん
垢版 |
2018/05/03(木) 22:34:02.54ID:MXsl4Tgb
(Of String)とか要るんじゃないの
2018/05/03(木) 22:37:52.21ID:qtomOB3T
System.Collections.Generic
2018/05/07(月) 18:26:29.73ID:vYSga6Mw
VBは ; と { } がいらない所がほんと好き
JavaC#で } が続くのを見るとストレスがマッハ
なので明日からパイソン使います
2018/05/07(月) 18:35:33.95ID:9uos5YV5
>>950
老眼になってから{}の区別つかないのでますますc系が嫌いにw
2018/05/08(火) 11:32:57.05ID:h+8p14mY
Usingは便利だね
2018/05/09(水) 04:51:37.41ID:s2cd4Wcs
どこが?
2018/05/09(水) 19:08:23.70ID:k4lh3S1t
>>953
Dispose忘れを無くせる。
2018/05/09(水) 20:02:36.56ID:lGFwiLgr
>>951
今は老眼だが、Fortran77をカード穿孔機でプログラムを書いて読ませ込んでいた学生(高専)時代、
l(小文字のエル)、I(大文字のアイ)、1(数字のいち)が見分けづらく、デバッグに難儀した思い出。
2018/05/09(水) 20:08:27.63ID:K3GbtLPn
ベテラン氏おつであります
まだ現役のプログラマーやってるの?
957デフォルトの名無しさん
垢版 |
2018/05/09(水) 20:13:31.15ID:EL7F/5Xk
教えて欲しいのですが
google chromeで任意のページを開いて2分後に閉じるってどうすれば良いですか?
2018/05/09(水) 20:18:51.49ID:s9132bVL
>>955
私も高専だったがokitacとtosbacだったw
2018/05/09(水) 20:23:21.29ID:s9132bVL
両方紙テープだったがtosbacは高速光紙テープリーダーだった
なのでテープ詰まり起こすとほぼ切れたw
2018/05/09(水) 21:26:20.84ID:lGFwiLgr
>>958
HITAC 8000シリーズのどれかだったと記憶。(HITAC10は完全に置物状態)
3年生のとき、PC実習室が出来てEPSON PC-286が導入され、HITACは教師の研究専用になったけど。

>>956
C言語で止まっているポンコツには、VBAもえっちらおっちら。(;_;)
2018/05/09(水) 22:17:16.07ID:WSvLZm4M
パンチカードとか一回やってみてーよなあ
博物館で体験コーナーとかそういうんじゃなくて
ガチの仕事で当時の環境まで再現して・・・

957はVB.NET 別プロセス 終了とかでググれ
2018/05/09(水) 22:26:52.39ID:K3GbtLPn
>>960
イ`w
2018/05/10(木) 10:13:54.13ID:lBPoSMfr
BABAとえっちでオラオラですか
2018/05/17(木) 06:14:28.31ID:q+eljBB5
JAVAが有料になったぞ
965デフォルトの名無しさん
垢版 |
2018/05/17(木) 06:44:27.13ID:FVYoS4b5
VSは無料バージョンがあるので勝負は決まったな
2018/05/17(木) 07:34:22.14ID:qZ9boVIY
Write Once, Pay Forever
2018/05/17(木) 20:32:36.91ID:VnQTRgho
VSも便乗するわこれ
2018/05/19(土) 23:20:39.96ID:W+KbvEz/
VB6で

Do
 If 条件
  GoTo ラベルA
 Else
  Exit Do
 End If
 処理A
ラベルA
 処理B
Loop

という事をしていた場合
VB.NETで作り直す際はラベル使わずにやるなら
皆さんも処理Bの部分メソッド化してますか?
それとも何か別のやり方とかやってますか?
2018/05/19(土) 23:32:27.28ID:oft4Cqjn
>>968
何この糞意味不明なコード
これ、「処理A 」の部分は絶対に通らないけど...

つーかこれ、

While 条件
  処理B
End While

これと何が違うんだ?
970デフォルトの名無しさん
垢版 |
2018/05/19(土) 23:38:09.50ID:RoboUWmL
>>969
バカはしゃべるな
2018/05/20(日) 00:33:14.34ID:64mTg3CR
ElseでExit Do だから、GOTOで飛ぶかループ抜けるかだが

まあほんとにこんなロジックなら全体的に見直すけど
2018/05/20(日) 13:26:41.42ID:dteyaV0y
>>970
こいつも質問者と同レベルの酷い馬鹿だな
2018/05/20(日) 16:28:00.45ID:FVcQO6kI
質問者に答えられてない時点でお前ら全員バカだろ
974デフォルトの名無しさん
垢版 |
2018/05/20(日) 17:04:28.89ID:rZi+LkKU
お前も含めて全員馬鹿
2018/05/20(日) 18:32:27.04ID:64mTg3CR
>>972
せめてどこがどうひどいのか具体的に指摘できないのかね
2018/05/20(日) 21:11:32.95ID:PV4ZA/+j
>>975
どんな鳥頭だ>>969
2018/05/20(日) 21:53:23.12ID:+C60mNBr
煽ってるだけなのは大抵バカ
2018/05/20(日) 22:57:32.02ID:GKOfAQDF
悔しいけれど
お前に夢中
979デフォルトの名無しさん
垢版 |
2018/05/23(水) 19:09:57.09ID:Au5e7VGg
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

E3IKN
2018/05/24(木) 10:34:56.58ID:cPlRxlDn
E3IKN
2018/05/25(金) 23:21:12.79ID:ZrHxAhL0
WPFがいちばん作りやすい
2018/05/25(金) 23:23:16.04ID:ZrHxAhL0
なんでc#の方が覇権握ってるんかね。excel VBAから入るから、vb.net一択だろ!
983デフォルトの名無しさん
垢版 |
2018/05/26(土) 02:34:32.84ID:j5LT+unl
無理矢理BASIC文法に押し込めて無理が生じてるからだろ
Handlesとかラムダ式の書き方とか苦し紛れ過ぎる
2018/05/26(土) 08:00:37.47ID:70J4Hujl
気持ち悪さは認める
2018/05/26(土) 09:56:41.12ID:KEMwsz4A
全部Dimから始まるのと型を明示しなくてもなんとかなるのが気持ち悪い
インスタンス生成時に引数なしなら()省略できるのもなんか嫌
986.(もんじゃ)
垢版 |
2018/05/26(土) 18:13:12.90ID:QSlAAqmb
次スレ

VB.NET質問スレ(Part44)
https://mevius.5ch.net/test/read.cgi/tech/1527325729/
2018/05/26(土) 21:38:25.81ID:oc/+PHrW
>>982
なんでって結局マイクロソフトがそっちに力(膨大な資金)を入れたからかな
C#はオブジェクト指向的に良くできてる上に
delphiの開発リーダーを引き抜いて開発手法をまんま移植させた

マイクロソフトもBASICに思い入れがあったからか
まだC#ついでに現代的な言語としてメンテしてくれてるだけ超絶ラッキーよ
988デフォルトの名無しさん
垢版 |
2018/05/26(土) 21:51:58.80ID:Lty78diJ
思い入れがなかったからウインドウズの発展を陰から表から支え続けてきた無数のVB6プログラマーを切り捨てたんやぞ
2018/05/26(土) 21:55:49.37ID:oc/+PHrW
そういえばVBを調べるためにC#の記事を読んでいるうちに
C#もいつの間にか書けるようになってるんだよなぁ
それでも慣れでVBで書くほうが早いから使ってるけど

残念ながら世の中的にBASIC系は時代遅れってイメージで使う人が減ってる
Excelのマクロもpythonにするって噂があるし
2018/05/26(土) 21:56:56.43ID:oc/+PHrW
>>988
現代的になるってそう言うことなんだろ
2018/05/26(土) 22:03:58.56ID:oc/+PHrW
言葉足らず
切り捨ててまでいないのは思い入れがあるからだろ
そうでなかったら、VB自体切られてる
2018/05/26(土) 23:04:53.95ID:/y7LUvmr
たんに利用者がいてメリットがからサポートしてるだけで
思い入れとかそんな心情的なものじゃないだろうけどな
993デフォルトの名無しさん
垢版 |
2018/05/27(日) 00:21:42.78ID:JW/OjEsa
>>990
表面的にはそう見えるが実情は単なるシェア防衛の為の政略やぞ
当時のMSにとってはJavaが最大の脅威やったんや
そのWrite Onece, Run AnywareというポリシーからMSのシェアを守るためだけの
実に政治的な理由によって生みだされたのがCLIや
そしてCLIに全力をそそぎたいMSはVB6をあっさり切り捨てた
とはいえVB6のユーザー企業にそっぽを向かれては本末転倒やから
苦肉の策としてVB.NETを生みだしたという訳や
MSにとってVB.NETは今すぐにでも捨てたいお荷物以外の何物でもないで
2018/05/27(日) 00:29:39.63ID:ub84Voiu
始まりはズブズブで捨てる踏ん切りは付けられない
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

ゲイツが生きてる限りな気もするが
2018/05/27(日) 00:55:28.21ID:oK9lkiW8
他言語出身なんだが使いにくい印象しかない
初心者にはわかりやすいのか?
996デフォルトの名無しさん
垢版 |
2018/05/27(日) 02:20:59.48ID:O0PQqjQm
自分はVB6er→C#erだが
正直C#のほうがBASIC(の思想)に近い気がするからな
ユーザーが真に求めていたものはVB6の文法のまま
CLIで動くものだったよね
専業でない人とか素養のない人向けには
VBAが限度だった。
C++もそうだがもはや言語設計者のオナニーになってきてるからな
その中でもC#は現実解とのいいバランスをとってるほうだが
2018/05/27(日) 12:11:05.40ID:0twgqEmM
事務員だからVBAとPHPしかわからんわ
c♯やっても結局冗長なコード書くことになるので、VB.netでいいや
2018/05/27(日) 12:23:37.19ID:XmOnmxHR
これが分かりにくいとか頭大丈夫?レベルだな
2018/05/27(日) 12:31:48.48ID:0twgqEmM
みなさんは簿記二級以上や、中小企業診断士や会計士持ってますか?
知らないとSEの指示に従ってコーディングするだけの時給いくらの人になっちゃいますよね?
2018/05/27(日) 14:55:02.33ID:zT1np8E1
次スレ

VB.NET質問スレ(Part44)
https://mevius.5ch.net/test/read.cgi/tech/1527325729/
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 711日 3時間 13分 53秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況