VB.NET質問スレ(Part44)

■ このスレッドは過去ログ倉庫に格納されています
1.(もんじゃ)
垢版 |
2018/05/26(土) 18:08:49.12ID:QSlAAqmb
前スレ

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/
VB.NET質問スレ(Part43)
https://mevius.5ch.net/test/read.cgi/tech/1465958469/
2019/11/18(月) 13:27:10.45ID:BNRwZn6M
仕事でVB.NETを使う事になりました。
調べていると度々C#が引き合いに出されているのを見ますが、C派生のC#とVB派生のVB.NETに関連があるのは何故でしょうか?
2019/11/18(月) 13:32:03.46ID:LcxIx/CC
>>356
c#もvb.netもcやvb派生では無い別の言語です
2019/11/18(月) 13:37:20.13ID:BNRwZn6M
>>357
そうなんですね、早速の返信ありがとうございます。
2019/11/18(月) 20:22:35.17ID:20/9avkU
>>358
C#の方が何でも出来る、と言う話でマイクロソフトの営業がVB.NETよりC#を勧めるから
実際、C#でしか出来ない部分はほんの限られた分野だけと言う事実
.NET Core3.0ではVB.NETはLinux上でも動かせるし、ほとんど変わらんよ
2019/11/20(水) 12:02:41.91ID:fH/sx54n
ASP.NET CoreはVBをサポートしていなしする予定もないから、.NET CoreではVBを使ったWeb開発は不可だ
.NET 5での完全Core移行のロードマップにも入ってない
2019/11/20(水) 12:16:56.45ID:T96tyiTV
とは言いつつ外圧に負けてサポート
2019/11/20(水) 12:40:44.12ID:fH/sx54n
.NET5でVBでのWeb開発がサポートされるかは別にして、現にCore3ではVBでのWeb開発はできないわけで
少なくとも>>359の言う「ほとんど変わらんよ」は全くもって事実ではない
2019/11/20(水) 14:47:00.62ID:mFfpTO/F
言語なんて関係ねーぜ、アルゴリズムが全てだぜー
2019/11/20(水) 14:52:50.71ID:Q9jrbTm8
そう思っていた時期もありました
2019/11/21(木) 11:25:33.13ID:Bs6+HN1r
仮にASP.NET CoreでVBがサポートされたとしても、WebFormsが.NET Coreで使えないようにならない限りVBerには使えないんだけどね
まあWebのスキル不足問題はVBerに限らず業務系.NETer全般に言えることなのだが
2019/11/22(金) 01:16:09.75ID:BFw1Q6Xv
そら分野が違うし当たり前じゃん
2019/11/22(金) 09:36:55.70ID:XsQsfOb5
組み込みからWebアプリまでマルチにこなす奴も居るけどね
2019/11/22(金) 09:59:51.23ID:627roQa/
>>366
何も違わないでしょ
VBerだってWebアプリ自体は普通に必要とされて(WebFormsで)作っているのだから、
それが無くなったら客の要望に答えられませんというのは完全に「スキル不足」でしかないよ
2019/11/23(土) 02:54:50.41ID:FzR28KQu
業務系とwebやってたやつが組み込みに来たけどVCCとGNDの違いすらわからず基板壊してしばかれてた
組み込みに来るなら基本的な電気知識くらいは知っとかないとモノ壊しちゃうからねぇ
2019/11/23(土) 07:07:08.49ID:50r9xemi
ハードの分からない組み込みソフト屋は少なからず居る
2019/11/24(日) 03:07:04.67ID:MVc7P7wH
というか大半が回路図すら読めない
逆にハード屋はソフトも多少わかる人が多いというかソフトのことわかんないとメモリもバスもMPUも設計できないからね
2019/11/24(日) 07:20:42.15ID:sdn6bjxc
それは半導体屋だろ
組み込み基板を作ってるハード屋はソフトを知らなくても出来る
2019/11/24(日) 12:05:06.94ID:bu3J19Ko
.NET = .NET Coreではないし
.NET Core = ASP.NET でもないんだけどな
元質問もWEB開発だとは書いてないし

C#とVB.Netの最大の共通点は同じフレームワークとライブラリ群の上に成り立ってる
ある程度複数の言語ができる人から見れば、C#とVB.Netの言語仕様の違いは大したことではない
膨大なライブラリの使い方がほぼすべて(ただし、特定言語のみできる機能等の一部例外はある)
2019/11/24(日) 19:02:19.10ID:334X3q+I
VB.NETがCoreで使えなても
MONOで構築するから良いか
2019/12/15(日) 06:35:25.88ID:d49wrr2r
C#は一見C++を進化させた言語のように見せかけただけで、実体はVBの類似言語だろ。
2019/12/30(月) 17:18:46.95ID:as2clbLK
ネットで拾ったサンプルプログラムを変更して使ってます。
複数のタスクをiniファイルに保存して、そこから複数のタスクを読み込んで動くプログラムなのですが、
タスクを5個くらい保存して再度立ち上げるとプログラムが固まってしまうんです。
こういうのってどういう原因が考えられますか?
俺あまりプログラミングを理解してないのでよく分からなくて。
2019/12/30(月) 19:54:47.44ID:vvSvem59
デッドロックじゃね
書いた人のレベルが低いんだろうから参考にしなくていいよ
2019/12/30(月) 23:13:38.49ID:as2clbLK
>>377
デッドロックっていうのがあるんですね。
何かの処理が同時進行していいてデータの読み込み書き込みが上手く行かないみたいな事みたいですね。
そういうのあるかもしれないなと思うので考えてみようと思います。
ありがとうございます。
2019/12/31(火) 16:10:39.34ID:cY0IEvj4
>>376
デバッグ実行して固まったとこで一時停止
どこで止まったか、変数値、ステップ実行で流れ確認
などがまずやること
2019/12/31(火) 20:00:46.46ID:dsYBtKc+
>>379
ありがとうございます。
デバッグってやった事無いんですよねw
やり方とか調べてやってみます。
2019/12/31(火) 21:47:22.34ID:i4GynkPZ
デバッグしないで動くム作れるなんて天才じゃね?
2019/12/31(火) 22:09:53.99ID:4f6x4OqL
単体テストちゃんと書いてればデバッグ実行なんて使わなくても十分作れるよ
ブビ専には自動テストなんてファンタジーだろうけど
2019/12/31(火) 23:09:01.96ID:x2VYFM2l
アホみたいな複雑なシーケンス図書いてデッドロックと格闘してドヤってる馬鹿いるよね
たかが業務アプリでそこまで複雑な制御が必要になるケースは本質的には稀なのだが、抽象的に物事を捉えられない奴は泥沼に嵌る
問題を無駄に複雑にしていると、傍からは仕事してるように見えるし本人にとっても気持ちがいいようだからたちが悪い
384デフォルトの名無しさん
垢版 |
2020/01/03(金) 20:23:17.19ID:WsAD2wis
自動・単体テストなんか10年前に捨てたわ。ゴミ仕様。
デバックでバクを洗い出すほうが早いしな。
バグになりそうなコーディングだとわかってるなら、テストなんかしない。
バグを試すほうが早い。シーケンス図書いてる人のコーディングは
バグを見破りやすいのは事実。シーケンス図にない操作を見つければバグる。
こういう奴らは、エラーメッセージに不可解なものを書き出す。
「アプリケーション内でエラーが発生しました。」 ゴミグラマ
2020/01/05(日) 04:40:37.97ID:Bbmuqtw4
>デバックでバクを洗い出す
デバッグとはバグを修正する行為で、バグを発見する行為じゃないんだが

>バグになりそうなコーディングだとわかってるなら、テストなんかしない。
>バグを試すほうが早い。
バグを試すってなんだ?バグってないかどうか調べるのか?
それを普通はテストっていうんだが
2020/01/18(土) 19:56:22.49ID:QXbHSOnJ
バックグラウンドの処理のコードの書き方がわかりません。参考になるサイトなど教えてもらえないでしょうか?
2020/01/18(土) 20:38:13.82ID:f07KzUDv
>>386
サービスまたは並列処理で検索
2020/02/02(日) 11:35:31.85ID:npWsZ+Fn
>>386
VBならビジーループ+DoEventsでいいよ
どうせみんなそれしか理解できないんだし
Taskとかスレッドとか使いたいんならVBじゃなくC#でググれ
2020/02/02(日) 22:19:39.69ID:+BREnCUV
>>387
アドバイスありがとうございます!
BackgroundWorkerクラス使って、なんとか動きました。合わせてデリゲートのことも勉強できました。


>>388
ビジーループというのはどういったものでしょうか?ググったのですが出てこず…
2020/02/05(水) 23:52:14.80ID:62TBM+Ms
どなたか教えてください!
DataGridViewにデータベースから取得したデータを表示しているのですが少しお知恵をお願いしたいです。
コードは会社PCから書き込み出来ないのでのせれません。。

問題点
・DataGridViewデータの表示形式を、ボタン押すと%↔数値(%の値×250とかの固定値)に変換出来るようにしたのですが
変換に時間がかかってしまいます。どうしたら表示を速くできるかアドバイス頂きたいです。


状況が
・DataGridViewには列12、行900〜のデータ、日々データ蓄積されるため今後も増えます。
・変換時はDataGridViewのデータソースからデータテーブルへ取込み、セル毎に計算してデータテーブルへ値を入れ直し再度表示

原因はこの計算なのはわかるのですが、速くするための手段がわかりません。
現状はforでセル毎に回している感じです。。
2020/02/06(木) 00:32:18.02ID:9Rfp7Ulo
仮想モードを使う
仮想モードとはDataGridViewにデータをセットするのではなく
表示に必要になった時に発生するイベントの中でデータを用意する方法
2020/02/06(木) 05:00:16.32ID:LKBAkplc
>>390
両方の列作っておいて、見せるのを切り替えるだけじゃね?
2020/02/07(金) 07:59:39.07ID:gHkGAfG+
>>391
仮想モードというの初めてききました。ちょっと調べてみます!わからなかったらまた聞きにきますので、教えてもらえたらありがたいです。

>>392
やっぱり専用のテーブル増やして表示だけするのが簡単ですかね。
2020/02/07(金) 09:05:09.19ID:oDhJ5E1A
>>393
〉やっぱり専用のテーブル増やして表示だけするのが簡単ですかね。

じゃなくて、%と値の列を同じテーブルに横並びで作っておいて、表示非表示で切り替え
395デフォルトの名無しさん
垢版 |
2020/02/08(土) 01:21:45.48ID:spBZd+Sf
コントロールから値を取得して計算してるってこと?
DatagridviewはDatatableを表示するだけで使った方がいい
2020/02/08(土) 12:09:25.90ID:MS5TuWa4
>>394
同じテーブルに%と数値の列をつくってあらがじめ計算
ボタンで表示を切り替えるというのは、どういう感じになるんでしょうか?

>>395
DATAGRIDのソースからデータテーブルに取込み計算してますが、これではDATAGRID上で計算するのと同じってことでしょうか?
2020/02/08(土) 16:34:55.00ID:CiNc1WcM
いやいやいや…
SQLで計算しろってことだろに…
あとColumns(x).VisibleのTrue/False
つーかこんなのも知らんでDataGridView使ってんの?
2020/02/09(日) 20:12:23.04ID:HbnexOjn
>>397
すいません、初めて知りました。
独学では限界ありまして…
いい参考書あったら教えてください。
2020/02/09(日) 21:50:27.02ID:CnyWsexv
>>398
俺だって独学だよ
helpでどんなプロパティやメソッドあるか調べたり使い方ググったり
sqlに関してはアクセスのデザイナで作った後sql表示にしてどういう風になるか調べたりしたけど
2020/02/09(日) 22:45:34.18ID:+V6eoytP
>>398
本屋で、自分に合った書き方のや、欲しい情報が載ってるのを探した方がいい
逆引きも有効
一ヶ月くらい立ち読みして検討しよう
2020/02/10(月) 01:08:11.17ID:2ykqGqzH
つーか学生じゃあるまいしプログラムを体系立って教わることなんてそうそうないだろ みんな独学で試行錯誤してるよ
402デフォルトの名無しさん
垢版 |
2020/02/10(月) 01:28:41.21ID:b2KLkhwk
馬鹿は自分で学ぶことをしないから馬鹿なんだよ
403デフォルトの名無しさん
垢版 |
2020/02/10(月) 03:41:41.15ID:bOGNGK8G
質問スレなのにみんな厳しいなw
まあ新しいクラスを使うときは一通りプロパティとメソッドを確認することをお勧めするよ
慣れてくると「こういうことするためのメソッドとかプロパティあんじゃね?」って感じで予想がつくようになる
2020/02/10(月) 10:47:10.41ID:m8jWG8Uw
dobon.net見ればすべて解決するだろ?
405デフォルトの名無しさん
垢版 |
2020/02/10(月) 20:50:21.39ID:P4uZgltV
>>404
すべては解決しなかった
2020/02/10(月) 21:10:47.68ID:hf5/2Ubs
>>405
.netの範疇で収まることならだいたい間に合う
APIバリバリとかは仕方ない
2020/02/11(火) 00:51:25.10ID:eHNojrkP
大切なことはみんなvisual studioのインテリセンスが教えてくれた
408デフォルトの名無しさん
垢版 |
2020/02/14(金) 21:33:11.93ID:uzQH2c7N
スレッドプールって、長時間かかるタスクを使うようにはできてないのでしょうか?
タスクの登録が簡単で便利だと思ったんですけど。
例えば1タスク処理に2分弱とかは長すぎでしょうか?
2020/02/15(土) 07:59:54.33ID:kQEhrxEK
>>408
そんな制限あったら使いづらいやろ
スリープ2分のタスクドバっと登録してみ
2020/02/15(土) 09:07:34.37ID:qovUVxTM
使えないわけではないけど使わない方がいい
そういう処理でTaskを作る場合はTaskCreationOptions.LongRunningを指定するといい
411デフォルトの名無しさん
垢版 |
2020/02/16(日) 00:51:51.08ID:ftq71nMG
>>410
ありがとう 検索して試してみるね。

バックグラウンドは頻繁な再利用が激ムズで、途中で止まったりするし・・・
2020/02/24(月) 12:46:16.69ID:nBtir7lR
Taskの使い方がよくわからず未だにBackgroundWorkerから抜け出せない俺
C#用の並列処理プログラミングの解説本があったからVB.NETでも通じるかな?と思って買ってはみたけど
2020/02/24(月) 16:36:35.49ID:FOCZyXd9
async awitで同期処理ライクに書けばいいのに
2020/02/24(月) 16:45:29.69ID:OWwFgx4m
平均的なVBerの大多数はasync/awaitを理解していないから覚えてもどうせ現場では使えないよ
ステップアップしたいならまずはVBer卒業を目標にしよう
2020/02/24(月) 17:30:57.50ID:BeslMy9X
基地ってVBに親でも殺されたのかねえ…w
2020/02/25(火) 11:44:31.79ID:d82kFCO7
VBで人殺せるやり方あんの?
2020/02/25(火) 13:34:07.79ID:9IyrqwVF
医療機関のシステムとかなら不具合で人殺せるでしょ
実際これまでに何人か殺されてても不思議はない
2020/02/25(火) 20:06:20.07ID:Q+ISZgbp
VBer本人もしくはそのケツ拭って過労死した人間は万単位でいると思う
2020/02/27(木) 22:55:35.21ID:xOEU9Bmo
非同期って、確か「アプリが2秒以上フリーズしたみたいになったらバグ」
という概念があるユーザーが(確か80%以上占めてる)多いことから作った
とも言われてる。つまりタスク待ちに2秒待てない人が多いというわけ。
まあ ウエイト表示もバグだと認識する人が数パーセントいるとかいないとか・・
2020/02/28(金) 02:42:53.78ID:mnhKdSZb
ラジオは10秒前後で放送事故だからな、リアルタイムが求められる環境だと数秒でもだめじゃね
2020/03/10(火) 23:37:19.13ID:xskA7IgS
c#ならunityでゲーム開発もできるしXamarinでアプリ開発もできる
vbは色々と置き去りになってるな・・・
2020/03/11(水) 00:23:16.32ID:GqpGZ1Mw
MS公式のコメント「VBにはVBが得意なことをやらせていく。それはGUIアプリだ」らしいよ
つまりWinFormsと心中ってこと
2020/03/11(水) 00:48:30.22ID:c1ui4p9T
今のアプリ開発の主流ってwinformじゃないとしたら何なのかな?uwpとか?
2020/03/11(水) 09:11:45.72ID:EwkphdrI
Webだね
2020/03/13(金) 08:44:53.50ID:PtKOn5Hp
Visual Basic support planned for .NET 5.0
https://devblogs.microsoft.com/vbteam/visual-basic-support-planned-for-net-5-0/

Going forward, we do not plan to evolve Visual Basic as a language.
Future features of .NET Core that require language changes may not be supported in Visual Basic.
Due to differences in the platform, there will be some differences between Visual Basic on .NET Framework and .NET Core.
2020/03/21(土) 17:03:50.80ID:VTVjP0EK
うーん VBで文字列うんたらに苦戦してた時
ハッシュ値で比較を行ってたな。こっちのほうが楽wwwてか?
VBer vbER vBeR VbEr VBer
2020/03/22(日) 11:47:18.20ID:7CEeDXD0
ToLower又はToUpper一択だろJK
2020/04/20(月) 11:25:10.38ID:ySL+EKEE
>>425
.NET CoreからVBは捨てられたって事か
2020/04/20(月) 11:27:06.29ID:ySL+EKEE
>>425
逆か
.NET Core5でサポートとして追加か
2020/04/20(月) 12:52:39.83ID:VsS0xV8o
>>429
違う
今後VB.NETの言語に新機能を追加することはないよ、
仮に今後.NETに言語へ手を入れないと利用できない新機能が入ったとしても、VB.NETは対応しないよ、という趣旨の記事
ちなみに .NET 5 (=Core vNext)でVB.NETはサポートされるが、Classic ASP.NETは廃止されるのでWeb開発は一切できない
2020/04/21(火) 23:30:04.84ID:bKJAedUq
ASP.NET触らなくて正解だったな。
2020/04/22(水) 13:11:15.32ID:7hKP3waC
Razor使わないならOKじゃん

953 名前:デフォルトの名無しさん[sage] 投稿日:2020/04/22(水) 10:51:55.72 ID:NZfVsFFq
>>952
それは正確じゃない。Razorが対応してないだけ。

954 名前:デフォルトの名無しさん[sage] 投稿日:2020/04/22(水) 12:49:27.63 ID:7hKP3waC
Razor使わないならVB.NETでASP.NET構築出来るって事ね

955 名前:デフォルトの名無しさん[sage] 投稿日:2020/04/22(水) 12:55:16.39 ID:NZfVsFFq
そう、.NET5でもそれは変わらない
2020/04/22(水) 14:22:47.26ID:7hKP3waC
Razor PagesでVB.NET使えば良い
2020/04/23(木) 13:41:34.28ID:CV1hjWbG
https://www.google.com/amp/s/forest.watch.impress.co.jp/docs/news/1240/998/amp.index.html

ASP.NET Core Web API
で使えばVB.NETで開発出来るって事か
2020/04/23(木) 13:44:38.15ID:CV1hjWbG
https://devblogs.microsoft.com/vbteam/combining-angular-visual-basic-and-net-core-for-developing-modern-web-apps/

Angular、Visual Basic、.NET Coreを組み合わせて最新のWebアプリを開発
2020/04/23(木) 14:35:35.04ID:CV1hjWbG
あえて.NET CoreにしなくてもmonoでVB.NET開発する方がシンプルだな
2020/04/26(日) 14:43:33.28ID:ecUYIEQ+
Monoプロジェクトで実際LinuxでVB.NET使って開発してる様な所って有るのかね?
あまり話聞かないし、案件探しても出て来ないよ
2020/04/26(日) 22:39:36.60ID:N4kJSNdj
Linux触れて且つVBしか分かりませんなんて人は逆にレアだろうし…
2020/04/27(月) 08:10:06.01ID:7JzwHqQw
monoって分からんけどapi使ってたらダメなんだよね?
じゃあ意味ねーな
2020/04/27(月) 13:18:16.31ID:5OjyJ5Fz
>>438
Linux+C#もレアだよ
Linux+JavaやCならそれなりにいる
2020/04/27(月) 18:09:59.53ID:rW6Iy+vY
レアよりウェルダンが好き
2020/04/28(火) 11:13:17.93ID:8SPWdl3l
面白く無い
2020/04/29(水) 09:58:03.17ID:mDWjB1wT
最近見かけたんだけど
Dim aaa As (String, String)
こういうのって型は何になるの?
匿名クラスなの?配列?
2020/04/29(水) 11:44:19.82ID:EiYIraX1
ValueTuple(Of String, String)
2020/04/29(水) 11:57:07.06ID:mDWjB1wT
あぁ、ありがと。item1とかitem2とかあるからクラスかと思ったが構造体なのね。
2020/04/29(水) 13:25:09.17ID:3EOLvZrk
dictionaryかなと思ったが(of が無いしなあ…とも思ってた
447デフォルトの名無しさん
垢版 |
2020/05/01(金) 20:30:50.40ID:cip99ITm
プロジェクトにフォームが2つあるのですが、その両方から参照する構造体の定義は
どこに書くのが一般的なのですか?クラスだと「追加」→「新しい項目」でクラスを選択できて
独立したファイルでクラスの定義をかけるのですが、構造体はどういうやり方が一般的なのでしょうか?
448デフォルトの名無しさん
垢版 |
2020/05/01(金) 20:33:08.68ID:cip99ITm
ちなみに現在は2つのフォームのファイルの先頭で構造体を定義しています。やり方がスマートじゃない気がします。
2020/05/01(金) 20:37:46.03ID:5cKYuGCZ
スコープ広げるだけじゃ不満なんか?
2020/05/01(金) 20:44:20.47ID:yoq0hK+K
VB.NETでは構造体を使うこと自体が全く一般的ではない
C#では性質を十分に理解した上でパフォーマンス目的で構造体を使うことも稀にあるけど、
VB.NETでそんな最速を目指すようなものを作ることは無いだろう
クラスだけでいいよ
2020/05/01(金) 21:05:13.13ID:00XG9ArW
api呼ぶのに構造体なんていくらでも使うしそうでなくても構造体の配列とか普通に使うし
あと共用出来るメソッドはなるべくモジュールに書いてコントロールからはそれを呼び出すだけにしてる
452448
垢版 |
2020/05/01(金) 21:25:29.62ID:cip99ITm
皆さん、ありがとうございます。>>449 さんのおっしゃるとおり、スコープを広げれば良さそうですね。
>>451さんの言うようにモジュールに書くのもいい感じですね。
>>450さん、VBではあまり構造体は使わないのですね。私の読んでる基礎入門書だから一通りの説明ということで載ってるのでしょうか。

皆さん、ありがとうございました。とりあえず、モジュールを追加してその中でpublic宣言して構造体を書いておきます。
453空に憧れて
垢版 |
2020/05/01(金) 21:50:11.93ID:uWXr5/uR
こういうの見つけたけど・・・
https://www.nicovideo.jp/watch/sm35028808
454デフォルトの名無しさん
垢版 |
2020/05/01(金) 22:14:01.29ID:jPGYGLkU
>>452
クラスと同じように1構造体に対して同じ名前のファイルを割り当てるのが基本だと思うよw

もちろん雑用的な小さな構造体やクラスやEnumや例外をまとめて一つのファイルに
書くこともある。

後でその方が分かりやす思ったらその時そう直せばいいだけ。
とりあえず構造体と同じ名前の専用のファイルを作った方がいいでしょ。
455デフォルトの名無しさん
垢版 |
2020/05/02(土) 00:30:37.50ID:IPzoHZpp
>>450
馬鹿なのか?
2020/05/02(土) 05:38:07.67ID:KJskOYTt
Ruby では、普通の開発者は、Class を使う

わざわざ、Struct(Class Generator)を使うのは、
Rails などのフレームワークを作っている人だけ

ほぼ同じなのに、素人がわざわざ、Struct を使う理由もないし、
初心者用のテキストにも載っていない
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。