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/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 を使う理由もないし、
初心者用のテキストにも載っていない
2020/05/02(土) 11:51:52.07ID:TijFnmRA
RubyのStructとは別物なのでこのRubyキチガイは無視していいが、それはともかくVB.NETでは構造体は特別に理由がない限り使うべきではないというのは確か
APIくらいだね
それ以外でVB.NETで構造体が使われるのは、大抵は生え抜きVBerの癖だったりクラスはなんか難しそうなイメージによるもの
2020/05/02(土) 12:20:36.35ID:C/cU2Pk2
なんで宣言した上にNewしないといけないのかって感じで
クラスに嫌悪感持ってる老人がいるよな
459デフォルトの名無しさん
垢版 |
2020/05/02(土) 12:23:36.53ID:IPzoHZpp
外部機器とのインターフェースとか他のDLLとか使ったことのない馬鹿が必死になって構造体を否定する
馬鹿が使わないからといって全員が使わないわけではない
2020/05/02(土) 14:50:21.99ID:yrIdzbPa
>>457
何で使うべきじゃないの?
全く分からないんだが
461デフォルトの名無しさん
垢版 |
2020/05/02(土) 15:01:27.49ID:k5W2smL8
ちょっと前C#スレの方で話題になった話だけど、プロパティーの型としては構造体の方が便利。

値型からわざわざイミュータブルにしなくても、ゲッター経由でメンバーを変更する
不適切な使い方を避けられるからね
2020/05/02(土) 15:45:14.98ID:lt4kIJ5o
VB.NETで構造体を使うべきでないなら、C#でも使うべきではないし
C#で構造体にすべき場面なら、VB.NETも構造体にすべき

VB.NETならとかいう前提をつけて構造体を使うなとかいうのは意味不明

まあ、初心者が違いが分からず悩んだら、たいていの場合はクラスで良いけどな
2020/05/02(土) 15:49:51.90ID:lt4kIJ5o
>>461
それはプロパティがイミュータブルであってほしいときに限らなくね?

すべてのプロパティはイミュータブルであるべきだって主張ならしらん
464デフォルトの名無しさん
垢版 |
2020/05/02(土) 16:45:23.55ID:xKYh4A8p
こういうレスみてると、絶対にプログラマになりたいとおもわないな。
構造体つかうな!とか ストレス以外の何物でもない。
2020/05/02(土) 17:04:30.50ID:9Lg3EemN
まあVB.NETでやたら構造体を多用する奴はだいたい単に慣れてるからなのは事実
クラスがCOMだった時代で頭が止まってるんだよ
466デフォルトの名無しさん
垢版 |
2020/05/02(土) 17:09:29.84ID:k5W2smL8
>>463
何を言ってるのか意味がわからないよw

プロパティーの型がミュータブルな参照型だと
hoge.Piyo.X = 5
みたいに書けてしまう問題があると言ってるんだけどw

Piyoの型が値型ならこういう書き方は許されない
2020/05/02(土) 18:38:59.19ID:lt4kIJ5o
>>466
だから、それを許したくないときの話だろうと言っている
すくなくとも文法上問題はないし、正常に動作する(それが狙った通りかどうかは知らんが)

それをやるべきではない/許すべきではないという主張は別の話だと
468デフォルトの名無しさん
垢版 |
2020/05/02(土) 19:22:25.42ID:FZg5GNY0
>>467
もう何も言わないけど
hoge.Piyo.X = 5
なぜこれが許されることが問題なのか全然理解してないでしょw
こういうのはプログラミング始めて数か月の段階で理解すべき内容なんだけど
469デフォルトの名無しさん
垢版 |
2020/05/02(土) 20:50:45.16ID:IPzoHZpp
>>468
馬鹿はそろそろ消えろ
構造体が必要な場面があるだろうが
470デフォルトの名無しさん
垢版 |
2020/05/02(土) 20:56:07.76ID:FZg5GNY0
>>469
この子も酷いねw
だからそう言ってるんですがw
2020/05/02(土) 22:08:43.50ID:SnBbYQQq
>>470
お前が一番馬鹿消えろ
2020/05/03(日) 09:15:07.29ID:hVYH2JxT
>>469
勘違いは止めよう。
構造体が必要な場面の1つを>>468は言ってる。
2020/05/03(日) 13:09:51.85ID:jHKSsTzt
必要じゃなくて、有用な
2020/05/03(日) 13:43:41.44ID:kXYwWgoI
>>473
必須なのがあるだろうが
2020/05/03(日) 16:49:52.65ID:XzUWWqsm
んで結局構造体を使うな君は何で使うなって言ってるの?
C#やC++だったら使ってよくてVBだからダメとかそんな理由??
2020/05/03(日) 17:39:01.80ID:4AL78RwH
だから特別な理由なしに使うなって話でしょ
実際VBerは歴史的な理由から比較的そうなりやすい
477デフォルトの名無しさん
垢版 |
2020/05/03(日) 18:11:09.31ID:Nh63+SyM
自分が使わないからと他人に押し付ける頭の悪いのがいるな。こういう頭の悪いやつはクラスの設計も独りよがりになりがち。
2020/05/03(日) 18:48:23.30ID:+XnqjSE6
つーかpointだって構造体なんだが
そっかー、使うな君はpoint使わないのかー
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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