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/
2.(もんじゃ)
垢版 |
2018/05/26(土) 18:11:57.85ID:QSlAAqmb
関連スレ

古代VBプログラマ質問スレ(Ver.6.0 まで) part65
https://mevius.5ch.net/test/read.cgi/tech/1440930335/
【初心者歓迎】Small Basic Part 2 【片手間】
https://mevius.5ch.net/test/read.cgi/tech/1422240355/
3デフォルトの名無しさん
垢版 |
2018/05/27(日) 14:56:09.97ID:zT1np8E1
>>1
4デフォルトの名無しさん
垢版 |
2018/05/27(日) 18:21:31.45ID:teqC9YR8
前スレで会計士の資格を何とか言ってた人は何してる人?
5デフォルトの名無しさん
垢版 |
2018/05/28(月) 07:04:43.96ID:CFYCWcTb
>>1
6デフォルトの名無しさん
垢版 |
2018/05/28(月) 20:52:59.65ID:Sfjpk0Yc
hosyu
7デフォルトの名無しさん
垢版 |
2018/05/29(火) 08:27:30.27ID:lozk8I7H
皆さんどこのサイトを参考にしてますか?
日本語サイトでお願いします
MSDNで参考になった事が一度もないほど意味不明なので他でお願いします
2018/05/29(火) 10:37:07.29ID:FH6FJ8zm
>>7
C# <キーワード>
でググればだいたい何でもすぐに出てくる。
VB向けの情報はカスしかないから、VBじゃなくてC#。ここが重要。
2018/05/29(火) 21:25:25.61ID:xeD8zV4H
ドボンでええやん
10デフォルトの名無しさん
垢版 |
2018/05/30(水) 08:23:19.88ID:K4unYhSv
>>9
情報が古いじゃん
11デフォルトの名無しさん
垢版 |
2018/05/30(水) 08:46:46.23ID:K4unYhSv
最新のフレームワークの機能が乗ってるのが良い
2018/05/30(水) 10:05:12.15ID:If51NAMp
WPF以降で参考にしようとしたら、c#とVBが併記してあって日本語解説あるのは@ITぐらいしかないね。
あとはc#をVBに自分で置き換えるしかない
2018/05/30(水) 13:15:18.73ID:IsZOouvL
#devでコンバートすりゃえーやん
14デフォルトの名無しさん
垢版 |
2018/06/01(金) 19:21:47.42ID:ntOQryVg
hosyu
15デフォルトの名無しさん
垢版 |
2018/06/01(金) 20:22:38.72ID:y75uzRcE
#devってヤツを知らんけど既存のコードを変換出来る?
それとも一行だけ?
2018/06/01(金) 20:34:07.11ID:Lg9QUlsP
くだらないこと言ってないでC#くらい読みなさい
2018/06/01(金) 20:35:42.96ID:Mohh3Fnh
sharp developも知らんのか…
2018/06/01(金) 21:45:12.58ID:Lg9QUlsP
そんな化石知ってても何の自慢にもならんよ
SharpDevelopはとっくの昔に開発終了してMonoDevelopに引き継がれてMSに買収されて今ではVisual Studio for Macと呼ばれている
1918
垢版 |
2018/06/01(金) 21:47:45.04ID:Lg9QUlsP
抜けてた
MonoDevelopは途中からオーナーが変わってXamarin Studioと呼ばれていた
20デフォルトの名無しさん
垢版 |
2018/06/05(火) 19:02:31.85ID:FxOXz7Hv
hosyu
21デフォルトの名無しさん
垢版 |
2018/06/05(火) 20:21:46.36ID:2NfSKm9E
VB.NETの開発環境ってVS以外でもあるの?
ついでにもう一つ
グレープシティのWindows Formsの中のコントロールでリサイズ以外いらんよね?
2018/06/07(木) 08:53:21.30ID:m139B5x9
WindowsサービスアプリでSystem.Timers.TimerのElapsedイベントが
発生しなくなってしまったのですが、同じような事例はありますか?
ソース、EXE自体は何も変えていないのですが…
23デフォルトの名無しさん
垢版 |
2018/06/07(木) 12:05:30.42ID:qRd3cwLX
net Frameworkのバージョンが変わったとか?
2018/06/07(木) 12:17:27.01ID:OC4upFtY
まず確実に>>22自身のバグに一票
49.7日問題なんてのが大昔にあったけど、無関係だろう
2522
垢版 |
2018/06/07(木) 15:57:07.40ID:m139B5x9
原因不明のため、System.Timers.TimerからSystem.Threading.Timerでプログラム作り直しました。
2018/06/07(木) 16:13:30.36ID:PV0A31N0
まだ直ってなかったのかな?
https://social.msdn.microsoft.com/Forums/vstudio/ja-JP/45f29680-c2f5-45d5-ae4d-5772d1f276e4/systemtimerstimer12391elapsed1245212505125311248812364303302998312375?forum=vsgeneralja
2018/06/19(火) 16:45:27.80ID:JtYoq5Ul
>>22 >>25-26
そんなバグあったの?
C# だけど、15分おき、特に問題なく Elapsed 起きてるけど。

普通と違うとしたら、毎回 Interval を設定し直してるくらい。
28デフォルトの名無しさん
垢版 |
2018/07/04(水) 22:30:10.70ID:gFgZc5FG
XOF
2018/07/05(木) 16:54:05.48ID:AeL6VB/V
XOF
2018/07/14(土) 14:20:34.11ID:P6Xcr6ek
問題
数値型1,2,3,・・・を文字列型0001,0002,0003,・・・にするプログラミングを書きなさい
2018/07/14(土) 14:31:20.98ID:LIsDU/xs
val.ToString("0000")
2018/07/14(土) 15:36:41.97ID:P6Xcr6ek
マジ?
2018/07/14(土) 15:56:41.68ID:FPULV7Dx
>>31でもいいけど、リーディングゼロ付けたい場合は普通は"D4"みたいにする
つーか何が書きなさいだよアホかw
2018/07/14(土) 15:57:58.58ID:P6Xcr6ek
アッソ
2018/07/14(土) 16:04:36.45ID:P6Xcr6ek
ちなみに
Dim i as Integer
Dim S as Strong
i=任意の数字
S =""
S = "0000" & i
S = VBの関数Leftで左から4文字までを取り出し
すると000iになる
が用意した正解
おまえら小学生からやり直せ
2018/07/14(土) 16:45:23.29ID:FtH+pgzS
>>35
強そう
2018/07/15(日) 14:52:08.42ID:8MWyOg1O
>>>30 の出題の数値型の説明がいい加減だし、百歩譲って1,2,3...とあるから正の整数だとしても
>>35 は自分でIntegerと後出しで規定しながら9999を越えると対応していない間抜けな回答
>>31でも>>33でもその点はクリアしている

しかもよく見りゃ右も左も分かってない出題者の頭の悪さだけが際立つ結果に
そもそも今の時代まさかright,left,midもつかわんだろ
2018/07/19(木) 17:48:31.34ID:BhSp1+Me
Constで物理名定義して、論理名をXMLコメントか属性で取得したかったが、どうもできない。
なんかいいアイデアあったら教えて
2018/07/19(木) 18:14:54.96ID:5QYEQzqE
>>38
プロパティとかの名前のこと?
普通にカスタム属性でできるよ
リフレクションで取れる
2018/07/19(木) 20:03:38.70ID:BhSp1+Me
>>39
ありがとうございます!
できました!
41デフォルトの名無しさん
垢版 |
2018/08/03(金) 14:25:57.89ID:u92XsOcz
コンソールプログラミングでは
Application.DoEventsが使えませんが
代わりに処理中の入力を受け付けるようなメソッドはないでしょうか?

時間がかかる処理をESCキーでキャンセルするような処理を
コンソールプログラムで書きたいと思っています
2018/08/07(火) 03:53:59.75ID:HsfuQN+2
>>41
Console.KeyAvailable プロパティが true なら Console.ReadKey するとか。
2018/08/17(金) 00:18:15.23ID:KHui9/an
PDFファイルを通常使うプリンタに印刷するのにはどげんしたら良かですか?

外部からファイル名をフルパスで渡せば印刷してくれるようなのがいいのですがヒント下さい。

Acrobatのコマンドラインオプションは保証されてないし、自作でexeを作りたいのです。
2018/08/17(金) 12:13:17.60ID:r44yWMR9
非同期がんがれ
2018/08/17(金) 12:13:57.36ID:r44yWMR9
あ、>>41
2018/08/22(水) 19:49:57.73ID:C3wzUlcu
戻り値のある関数もいらないな
グローバル変数を使えばいいわけだし
2018/08/22(水) 20:26:55.43ID:CRGAAmOc
private public Static の違いがわからない俺様が通りますよ。
グローバルだと意図しないところで変な値が入っちゃう可能性があるから使うなとじっちゃんが言ってた。
2018/09/15(土) 12:38:17.24ID:f69ONJY6
エンドユーザーの都合で次の開発案件の開発言語がVB.Netになったオレを慰めてください。
2018/09/15(土) 12:57:12.64ID:wC5+IMEd
>>48
>>エンドユーザーの都合で
金出すヤツの意見が通るのが実情
VB6までの資産有る所はC#にはしない傾向に有る
残念なのは日本でVB.NETに関する導入事例や書籍など情報自体が少ない
海外が多いくらいだ
ネット上で海外から情報取得して生かすしか方法が無い
日本マイクロソフトもC#重視したから尚更
2018/09/15(土) 13:03:37.15ID:f69ONJY6
>>49
最新の構文を使いまくってやる予定
別に嫌がらせじゃないよw
51デフォルトの名無しさん
垢版 |
2018/09/15(土) 18:21:04.91ID:V2kvEVN2
C#に比べて
ラムダとかエクステンションの書き方が
めっちゃわかりにくい
2018/09/16(日) 11:47:37.40ID:o5IUt/R9
VB.NETでシステム構築して今更、他の言語を検討してるとか言ってる所も有る
VB.NETのままでも安く運用する方法考えれば良いのだが、システム更新に責任持ちたく無いヤツ居る職場だと永遠にシステム刷新出来ない罠
2018/09/16(日) 14:03:16.46ID:o5IUt/R9
VB+Oracleで構築しちゃうと
ライセンスでOracleが足かせになる場合出るので、Oracle→MariaDBやPostgreSQLにする方が安く出来る
2018/09/21(金) 14:21:26.19ID:PK30RsTe
SQL鯖の一択
2018/09/22(土) 15:01:46.72ID:tW/Yy4gZ
VB.NET(〜VS2013)の細かい仕様の質問なんだけど、
通常のFormにPictureBoxを載せて、PictureBoxのデバイスコンテキストを取ってきて自前で低レベルAPIで描画してるんだけど、
最初にALTキーを押した時にPictureBoxがチラついて自前の描画が消えてしまう場合がある。
このちらつきは、そのアプリの起動後、ALTキーを押した時に必ず1回だけ発生して、場合によって自前描画もちらつきとともに消える模様。
これを抑止することって出来ないのかな
FormのOnPaint、OnPaintBackgroundを空メソッドにオーバーライドしても効き目なかった
2018/09/22(土) 15:40:38.65ID:kFAOP0FY
一般的な問題と思えんから再現可能なコードを示さないと
誰も何も言えないと思う
2018/09/22(土) 15:52:30.06ID:tW/Yy4gZ
え?そんなにやってることが特殊かな?
扱うデータが大きくてその視覚化を自前ネイティブに任せるとか、よくやる方法だと思ってた
聞く場所を間違えたかな・・・
2018/09/22(土) 15:58:27.43ID:pAduR83f
>>55
>>ALTキー
OnKeyイベントで対処するしか無いんじゃないの
2018/09/22(土) 16:22:56.12ID:kFAOP0FY
>>57
よく分からん思考回路
どこで聞いても同じたお思うよ。
それで答えが返ってきたらその人はエスパーだ
エスパーなんかいないけどね
2018/09/22(土) 16:39:18.15ID:tW/Yy4gZ
>>58
ありがとう
FormのKeyUpとKeyDownとKeyPressイベントで、e.Handled = Trueにしてるんだけど、それでもちらつく
またFormのKeyUpイベントの後に自前描画し直してるんだけど、それでも自前描画が消えてしまうことがある
こういうのがあるから.NETは信頼できないんだよな
2018/09/22(土) 16:42:39.47ID:kFAOP0FY
システムのバグだー!!!
タメグラマの典型的な思考回路だねw

賭けてもいいよ絶対にあんたの書いたコードのバグだからw
2018/09/22(土) 16:49:12.59ID:tW/Yy4gZ
エスパーにしか分からん位に特殊な実装だとは全然思ってなかったなw
2018/09/22(土) 16:52:51.71ID:kFAOP0FY
だから何でそうなるのw

そもそもあんた、特殊な実装をしてるかどうか読み手が判断できるような情報を何も書いてないだろうw
だからそれで答えが返ってきたらエスパーだと言ってるのに重症だなおい
2018/09/22(土) 16:53:24.99ID:/LVptLz+
膨大なデータ生で見せられてもユーザーにはメリットがないのでデータの見せ方を変える
低レベルAPIじゃなく高速描画ライブラリを使う
というのが一般的な対応じゃないかな

そもそもここで言う一般的ってのはやってることが一般的かどうかという意味じゃなく
事象と発生条件が一般的ではないから実際のものを見なきゃ何もわからないという意味だろう
2018/09/22(土) 16:54:14.91ID:kFAOP0FY
hDC取ってWin32API呼びました、これが実装の詳細か?w
2018/09/22(土) 17:14:32.51ID:tW/Yy4gZ
>>64
言葉を返すようだが、「見せ方」「メリット」というけど、そこまで相談はしていないよ
低級API利用が特殊だとは全く思わないし、そもそも描画手続きについて相談してるわけでもない
ALTキー押下でVB.NETのPictureBox上の自前描画が消えるのが問題なんだよ
自前描画もそうだけど、ALTキーを押すなんてそんな特殊なケースだとは思わなかったね
みんな普段ALTキーを使ってないのかよ?w
2018/09/22(土) 17:19:14.70ID:kFAOP0FY
マジで言ってるなら相当の幸せ回路だな

ALTキーを押すのが特殊と思わんかったてw
何でそうなるのw
2018/09/22(土) 17:24:48.15ID:ga1yzWrI
>>66
VB.NETでブラウザ上表示じゃなくForm描画だとしたら、PictureBOXが載ってる親オブジェクトのFormの描画リフレッシュレートタイミングに問題が有るんじゃ無いか
2018/09/22(土) 19:34:34.13ID:/LVptLz+
「起動後の最初」に特定のキーを押す
描画が消えてしまう「ことがある」

特殊バグすぎてイラつくわ
一般的に起こってたまるかよ
2018/09/22(土) 20:50:50.11ID:tW/Yy4gZ
>>68
>リフレッシュレートタイミング
つながってると意味がぼやけるな。それはともかく、
VB.NETのFormは、イベント駆動で再描画されるから常時一定間隔で描画更新されてるわけじゃないだろう
2018/09/22(土) 20:54:15.78ID:tW/Yy4gZ
ところで、再現手順については必要最低限の情報を提示したつもりだったんだが、こんなに特殊に受け止められるとは想定外だったな
これだけ出回っているツールだから、同じケースで悩んでいる人たちがいるだろうと思ってたんだが
主張根拠を、相手の書き込みの一部だけを恣意的に抽出してつなげて、捏造主体の印象操作を行うことに羞恥心を感じない心の浅い人もいるみたいだし、
聞く場所を間違えた、という結論に至りました^^
2018/09/22(土) 21:01:14.93ID:/LVptLz+
バイバイ
2018/09/26(水) 19:54:20.52ID:9vsYZzuM
JavaのOpenJDKはLTSバージョンが無くなった
.NET復権だろうな
2018/10/04(木) 03:58:18.05ID:3Cg3sys6
この掲示板だけのインシデントと信じたいが、
お前らマジで使えねえな
その程度でイキってるからVB.NETが馬鹿にされるんだよ、ゴミ共が
75デフォルトの名無しさん
垢版 |
2018/10/28(日) 14:59:16.13ID:SFrY9m9d
GetPrivateProfileStringでINIファイルの全文を読み込む方法ってありますか?
76デフォルトの名無しさん
垢版 |
2018/10/28(日) 17:31:59.35ID:pnWZEcOz
>>75
第1引数と第2引数をNULLで出来るみたいだぞ

↓ここを参考
https://msdn.microsoft.com/ja-jp/library/cc429779.aspx
77デフォルトの名無しさん
垢版 |
2018/10/28(日) 20:11:08.64ID:SFrY9m9d
>>76
おお!目を通したつもりがよく理解できてなかったよ
大変助かったよ!本当に有難う!精進します。
78デフォルトの名無しさん
垢版 |
2018/10/28(日) 20:28:08.52ID:SFrY9m9d
http://jump.5ch.net/?https://msdn.microsoft.com/ja-jp/library/cc429779.aspx
ここを参考に考えてみたけれど
lpDefault
NULL で終わる既定の文字列へのポインタを指定します。lpKeyName パラメータで指定したキーが .ini ファイル内に見つからなかった場合、
GetPrivateProfileString 関数はこの既定の文字列を、lpReturnedString パラメータが指すバッファへコピーします。lpDefault パラメータで NULL を指定することはできません。

第一引数と第二引数をNULLにしてSECTIONとKEYを一挙に取得したい際、pKeyName パラメータで指定したキーが見つからないってことだと思うから
結局第三引数が第四引数の中に入っちゃうのですが
解釈がおかしいのでしょうか
79デフォルトの名無しさん
垢版 |
2018/10/28(日) 20:43:01.97ID:pnWZEcOz
>>78
実際にやってみた?、考えただけ?

普通に解釈すればlpKeyNameがNULLということは
キーを指定していないんだからキーが見つからないと
なるとは考えられないけどね

実際にやってみてlpDefaultの値がlpReturnedStringに
入ってしまったのならこの関数で全文取得は無理なんじゃないかな
80デフォルトの名無しさん
垢版 |
2018/10/28(日) 22:33:46.69ID:SFrY9m9d
>>79
実際にやってみて入らなかったよ、教えてくれたのに申し訳ない。
INIファイルからキーを全部抽出して任意のタイミングで変数に入れたいだけなんだが
調べてもよく分からなくて質問を受けてくれてる方にも
困惑させてしまっているな...
2018/10/29(月) 06:03:03.69ID:WUUAbnDR
30分ごとに料金を+500円ずつ足していってラベルテキストに表示するプログラムが作りたいのですが
どうすればいいでしょうか?
経過時間を計測するところまではできています
2018/10/29(月) 08:05:28.84ID:zamFShY8
>>81
Tickイベントで1秒毎に変数に1足していって300.600.900辺りで表示するようにすればいい
2018/10/29(月) 10:50:14.54ID:oAZGLoeZ
>>80
> 第一引数と第二引数をNULLにしてSECTIONとKEYを一挙に取得したい
誤解してない? これで手に入るのはセクションの一覧だよ
その後で個々のセクションごとに改めて第2引数だけNULLでGetPrivateProfileStringを呼び出してそのセクション内のキー一覧を取得する

ほかの確認事項としては
iniのファイルパスが正しい確認、念のためフルパスで渡す
\0で区切られた文字列はStringとかStringBuilderとかでは正しく受け取れないからByte配列で受け取ってEncoding::GetStringで文字列変換
2018/10/29(月) 18:57:40.55ID:vJZ8/XYU
>>83
ごめんなさい、少し勘違いをしていました。
第一引数でセクションを指定し、第二引数をVBNullStringにした場合、キー値ではなく何故かセクション名をひとつだけ取得するのですが、第一引数でセクションを指定し、第二引数をnullにすれば指定したセクションのキー値をすべて取得できるという解釈は誤りでしょうか?
2018/10/29(月) 19:27:50.65ID:oAZGLoeZ
> 第一引数でセクションを指定し、第二引数をnullにすれば指定したセクションのキー値をすべて取得できるという解釈は誤りでしょうか?
解釈は正しい
セクションしか取れないのは何か勘違いしてんじゃね
1つしか取れないのは>>83の最後の行
2018/10/29(月) 20:04:46.54ID:EQ0ZvgtX
>>85

GetPrivateProfileString(セクションの変数, キー値の変数, "", strBuffer, strBuffer.Capacity, FileName)
KeyValue =strBuffer.ToString

第一引数でセクションの変数(ここでは「element」とします。)第二引数にVBNullStringを代入した際、strBufferに格納される値が
「element」のみなのですが>>85さんの仰るとおり何か勘違いをしているのでしょうか...
以下、INIファイルです

[element]
VALUE1 = AAA\nBBB
VALUE2 = CCC\nDDD
[element2]
VALUE3 = EEE\nFFF
VALUE4 = GGG\nHHH

本来VALUE1の値である「AAA\nBBB」とVALUE2の値である「CCC\nDDD」が取得されるものかと思っておりました。
87デフォルトの名無しさん
垢版 |
2018/10/30(火) 00:57:51.70ID:8/9eZ6sC
大して複雑でもないんだから、悩むなら
ファイル全読して自分で解析した方が早そう
2018/10/30(火) 13:23:38.49ID:LlhJqt4w
>>86
ヌルストリングはヌル値じゃなくて空文字列の事じゃん?
2018/10/30(火) 13:36:29.61ID:LlhJqt4w
nullにすればって言ってるからヌル渡してると思うじゃん?
まさか空文字列を渡して動かないと言ってるとは思わないじゃん?
2018/10/30(火) 13:43:18.14ID:2q9Nopp0
(定数) Constants.vbNullString As String = Nothing
インテリセンスによるとこうらしい
説明では長さ0の文字列とか言ってるけどな
2018/10/31(水) 01:30:41.68ID:uKh/exBf
>>86
GetPrivateProfileString("element", vbNullString, ...
としたときにバッファに帰る文字列は

"VALUE1" & vbNullChar & "VALUE2" & vbNullChar & vbNullChar

なので、lpReturnedString に StringBuilder を渡すと最初の vbNullChar で区切られてしまう。
こういうときは >>83 が書いてくれてるようにバイト配列で受けるか、 Marshal.AllocHGlobal でバッファを確保してアドレスを渡す。

Unicode バージョンを呼び出している場合は

Dim bufferPtr As IntPtr = Marshal.AllocHGlobal(1024)
Dim buffer As String = String.Empty
Dim nSize As Integer = GetPrivateProfileString("element", vbNullString, vbNullString, bufferPtr, 512, "C:\HOGE.ini")
If nSize > 0 Then buffer = Marshal.PtrToStringUni(bufferPtr, nSize - 1)
Marshal.FreeHGlobal(bufferPtr)
Dim keys As String() = buffer.Split(vbNullChar)

こんな感じ
2018/11/03(土) 19:15:19.21ID:t0xGKw3G
>>90
Nothingを文字列として評価すると長さゼロの文字列だからな
2018/11/03(土) 19:36:08.98ID:SHI5qsHH
VBのNothingはnullではなく型の規定値だったはず。
つまり、

Dim hoge as String = Nothing
はC#の
var hoge = default(string);

と同じはず。
だからどっちにしろ空文字ではなくNull参照じゃないとおかしい気がする
2018/11/03(土) 20:46:51.95ID:0JFYuFT5
Debug.Print("{0}", String.Empty.Equals(vbNullString)) .. False
Debug.Print("{0}", String.Empty = vbNullString) ... True

面白いな。
2018/11/07(水) 00:28:16.72ID:SlJfY7pV
WindowsFormアプリからExcelを参照する際に困ったことがあったので質問します。
いま参照しているExcelに名前ボックスが同じ名前のActivexコントロール(CheckBox)が2つあるんですが片方のValue値が取れません。
Excelには手を加えずに解決する方法をご存じの方はいますか?
2018/11/08(木) 16:15:45.02ID:QFdBGuQW
>>95
自己解決しました。
2018/11/08(木) 18:23:13.28ID:EefS2xXv
>>96
解決方法ぐらい書き込めよ
2018/11/08(木) 21:54:24.86ID:VFBZ++97
>>97
(Excelシート名).OLEObject(1).Object.Value
名前じゃなくインデックスで値を拾う感じ
2018/11/12(月) 17:40:02.30ID:epPqaRvS
datagridviewで選択した行のテキストを各列ごとにテキストボックスに反映させるにはどうすればいいですか?
2018/11/13(火) 11:07:08.55ID:XsWLHTll
BindingSourceを作って
DataGridViewのDataSourceと各TextBoxのDataBindingに割り当てる
2018/11/13(火) 17:35:19.43ID:rlJmmkiE
BindingSource って Visible=False なコントロールを飛ばするとか、微妙なところあるんだよなぁ
102デフォルトの名無しさん
垢版 |
2018/11/16(金) 15:10:13.08ID:3cDS4XFZ
11/14あたりのWindowsUpdateでListViewの表示がおかしくなった。
正確には「View=Tile」にしてもLargeIconになってしまうケースがある。
既にリリース済みのシステムで今日から表示がおかしいという問合せが
あった。どこに原因があるのか確認しようとミニマムなコードを書いて
みても普通にTileで表示されるので原因がまだ特定できていない。
それとApplication.EnableVisualStyles()していてもTabコントロール上の
ボタンにVisualStyleが適用されないものもある。この時、Tabコントロール
以外に存在するコントロールにはVisualStyleが適用されている。
これも原因がわからない。。

同じような現象になった人っていますか?
103デフォルトの名無しさん
垢版 |
2018/11/16(金) 23:58:30.69ID:HodhQ/sE
おるわけないやろオマエのバグやのにw
2018/11/20(火) 17:31:14.06ID:5r5VrLgw
Windowsフォームを閉じる際にMe.close()とMe.dispose()の両方を書いたら閉じる時の挙動がおかしい(後ろで開いてたエスクプローラーが一瞬だけ出てくる)のですが原因が分かる方いますか?
105デフォルトの名無しさん
垢版 |
2018/11/24(土) 15:05:28.97ID:krxB1Xz+
俺も今月からおかしいのに気が付いた。
Private Abc as String = "AAA"と設定しているのに、

ボタンイベントで下記のみ実行

Abc = "ABDEF"
TextBox1.Text = Abc
Dim S1 as String = Abc
Msgbox(S1)

上記のコードを実行すると Msgboxの表示は”AAA”
テキストボックス表示は”ABDEF”
今月になって発覚した。
仕方ないからクラスを追加してグローバル変数にして実行している。

プライベート変数 すべてに影響があって初期値に戻される事象。
vs2017の修正を試したがだめだった。
2018/11/24(土) 15:23:36.71ID:VBkVIhNz
>>105の頭が目がおかしいのだろう
さすがにそんな言語レベルの根本的なバグがあったら自動テストで拾える
Msgboxのバグで以前表示した値が出ているとかならワンチャンないとも言い切れなくもないかもしれない可能性はゼロではないかもね
2018/11/24(土) 22:20:58.15ID:/Hv6UjJC
こいつらはどうしてちゃんと環境かかないんだろうねぇ
2018/11/25(日) 11:13:33.12ID:sTNuHYLw
聞かれないからじゃね
109102
垢版 |
2018/11/26(月) 08:57:51.44ID:DXbnFpYk
Windows 10 Pro 1803 x64
VisualStudio 2013 + .NET Framework 4 + VB.Net
この環境で Windows.Forms アプリを開発してます。
2018/11/26(月) 09:23:13.92ID:jCGZ4ioD
.NET4はとっくにサポート期限切れてるから使っちゃダメ
もしWinのアップデートのせいだったとしても、サポート切れの.NET4なんか当然テストしてないだろうし、自己責任よ
111102
垢版 |
2018/11/26(月) 15:59:12.73ID:DXbnFpYk
当該の不具合が発生している環境は Window 7 Pro x86 です。
後だし情報ですんません。
112102
垢版 |
2018/11/26(月) 16:02:59.93ID:DXbnFpYk
連投になってしまってすんません。
Windows 7 は 2020年1月で切れるということは、まだ切れてないんじゃ
ないんですか?
この解釈は間違ってますか?
.NET Framework 4 のサポートが終わったってどこに記述ありました?

ここにはそこまで書いてないと思うのですが。
https://www.microsoft.com/ja-jp/download/details.aspx?id=17718
113102
垢版 |
2018/11/26(月) 16:25:55.15ID:DXbnFpYk
ライフサイクルについてはここで見つけることができました。
https://support.microsoft.com/ja-jp/help/17455/lifecycle-faq-net-framework
「2016 年 1 月 12 日に終了しました」とありますなorz
2018/11/27(火) 02:01:37.35ID:JHhXTC3j
そもそもVS2013って、Win10で動作保証されているのか?
115デフォルトの名無しさん
垢版 |
2018/11/27(火) 10:19:17.21ID:Z5tknMOb
VB2013てWin8.1までだな。
Win10ならVS2015以降か。
116デフォルトの名無しさん
垢版 |
2018/11/27(火) 16:09:13.84ID:veQAfEkI
もしかして、開発のプロパティが .NET2とか初期値になってない?
PCにインストールしていない下位バージョンの.NET開発は挙動がおかしいよ。
まれだが、バージョンを最新に指定するとなおることも多い。
117102
垢版 |
2018/11/27(火) 19:10:09.64ID:Z5tknMOb
>>116
対象のフレームワークは.NET Framework 4になってる。
ミニマムに再現確認しようと新規でプロジェクトを(.NET4で)作成しても問題なし。
でも既存のはListViewでView.TileにならずView.LargeIconだったりVisualStyleが適用されなかったりする。。
(Win7の実行環境でもWin10の開発環境でも。)

みんなはちゃんと最新の開発環境に移行できてるの!?
今回問題になってるアプリケーションはVS2003の頃に.NET1.1で開発初めて、途中で.NET2.0にして
いまはVS2013+.NET4で保守してきてるけど、そんなにポンポンと開発環境をMSの言うがままに
アップデートしてきてるの!?!?
2018/11/27(火) 20:05:39.30ID:GOjY0rNn
こういう典型的な保守さんを見ると、そんなにあんたたちの作ったものは品質が高いのかとツッコミたくなる
クソ細かいこと気にする前にもっと他にいくらでも直さなきゃいけないところあるだろ?
やるべきことをやらないくせに「やらない」ことに対してだけオーバークォリティな典型的な無能
2018/11/27(火) 20:10:12.34ID:p/6t1dkT
>>118
子供過ぎw
2018/11/27(火) 20:36:21.61ID:JHhXTC3j
どうさ保障されてる環境でないとサポートされないからな

問題が起きたらまずサポートされてる環境で再現するか確かめるわ
2018/11/27(火) 23:40:16.63ID:Z5WUNYoK
>>117
manifestになんか書いてるとか
122102
垢版 |
2018/11/28(水) 17:57:11.21ID:ue+ZFZI7
>>117
.manifestはないけど.exe.configならある。
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
<supportedRuntime version="v2.0" sku=".NETFramework,Version=v2.0"/>
</startup>
と書いてる。
このあたりをv2.0の行を削除してみたりuseLegacyV2RuntimeActivationPolicyを
なくしてみたりといじってみたけど解消されず。。
123デフォルトの名無しさん
垢版 |
2018/11/29(木) 00:08:17.33ID:VI19qptG
ListViewは.NET4で安定してるはず。
NET4以前は、ある一定行数を超えるとエラーで処理が止まるということがあった。
だから、WIN32APIを使ってWM_PAINTメッセージを処理するコードを使わないと
ほぼ動かない状態だった。だが、.NET4でWIN32API呼び出しがいらなくなった。

多分だが、ビルド関係のPC固有のバグも含まれると思う。
なので、VSを終了してデバックされたものではない<開発中のアプリEXE>を
直接動かしてみてね。それでどうか?
VS2008の頃は、VSのデバック使わないで開発してた経緯がある。
124102
垢版 |
2018/11/29(木) 08:25:18.55ID:usvQhOSh
>>123
.NET4 以前の不具合は知らなかった。ありがとう。

今回の現象は、.NET1.1の頃に開発したソースをそのままずっと引き継いでいて
VS2003〜2005〜2008〜2010〜2013、.NET1.1〜2.0〜3.5〜4と変遷しながらも
そのまま使用している。
いま起きている不具合は Releaseビルドした実行ファイルを、別PCで実行しても
発生するし、VSでのデバッグ実行でも発生している。
125デフォルトの名無しさん
垢版 |
2018/11/29(木) 16:27:06.98ID:VI19qptG
確か、そのころVS2003とかDLL出力できないものだよね。
多分 .resxファイルとか残ってるでしょ?

サポート対象のバージョンで動くかどうかではなく、昔から流用してきたコードやメソッドを
見直すほうが先だと思う。古いメソッドとか使ってると微妙なものがある。
126102
垢版 |
2018/11/29(木) 19:16:02.04ID:usvQhOSh
>>125
開発当初から.resxファイル使ってるよ。
これマズいの?

確かに過去に.NETを新しいものに変更したときそれまで使用していたメソッドが
使えなくなってメンテした記憶はある。
でも.NET4で作成したアプリがついこの間までは普通に使えていたのに
急に挙動(見た目)が変わるって変じゃない?
単純に ListView の View を Tile にしても LargeIcon になってしまうのって気持ち悪いし。
enum定数の値が変わったとかならわからなくもないけど、実際にはenumのView.Tileを
指定しているし。
ステップ実行してもそのタイミングでViewはTileになっている。
けれども実際の見た目はLargeIconになっている...

まあサポートの切れた.NET4を使っていて文句言うなと指摘されそうだけど。
2018/11/29(木) 20:42:47.87ID:zhuKFo+V
デバッグ実行で再現するならミニマムコード作って晒せよ
128デフォルトの名無しさん
垢版 |
2018/11/30(金) 00:40:56.22ID:rf9Ni6yN
あ! そうか・・  LargeIconの設定はコードで書いてるの?
リストビューのツールプロパティに設定項目なかったかな?
それで試してみた? 設定変更のコードを削除してから試してね。

ただ、頻繁に変更するとか、あとバグるメソッドじゃないんだよね。

なんどもすまん!



  
  
  
129102
垢版 |
2018/11/30(金) 08:57:01.31ID:SIPYJVnh
>>127
ミニマムコード書いても再現されないから困ってるんだよ。

>>128
ListViewコントロールのViewを LargeIcon、Tile、SmallIcon、List、Detail と
切り替えられるようにしている。
もちろんコードでやってる。
で、書いてくれたように今、デザイン時でTileにしてコードでは変更しなくてもやはり
LargeIconになってしまったよ。。。

Tile時はImageに加えてSubItemの文字列も表示されるので便利なんだけど
現状ではLargeIconになってしまうのでSubItemが見えず一見すると同じような
ものが並んでしまって判断つかないからDetailに表示を切り替えて我慢して
もらっている。でもこれだとImageが表示されないので、これはこれで不便なんだよね。

そもそも気になるのが、VisualStyleを有効にしているのに、同じフォーム内でも
ボタンで適用されているのとされていないものが混在しているってこと。

フォームのタブコントロール上のパネルコントロールに配置しているボタンには
適用されていないけれどフォームのパネルコントロールに配置しているボタンは
適用されている。。。

でも再現確認しようとミニマムなものを新規で作成してみてもこんな事にならず
ちゃんと全てのコントロールにVisualStyleは適用される。

わけわからない。。
2018/11/30(金) 11:41:46.78ID:eQTcWZX5
賭けてもいい。システム側の問題じゃない
あなたのコードの問題
最初からそう言ってる人もいたけど、それはここに書いてる文章の行間からも十分推測できる
2018/11/30(金) 18:19:51.56ID:Lh71478i
今のプロジェクトから削っていくのでも
新しいプロジェクトに増やしていくのでも
どっちでもいいから順番にやってけば
132102
垢版 |
2018/11/30(金) 20:23:30.40ID:SIPYJVnh
ミニマム環境作ってだいぶ調べた。

プロジェクトのプロパティで「アプリケーション」内の「アプリケーションフレームワークを有効にする」の
チェックを外すと再現できた。
このチェックを付けるとListViewはTileとして表示される。
チェックを外すとListViewはTileを指定してもLargeIconで表示されてしまう。
133デフォルトの名無しさん
垢版 |
2018/11/30(金) 21:39:51.29ID:cIO0a97u
よし、その調子で調査を続けたまえ
2018/11/30(金) 23:37:28.55ID:aHvjCfZ2
>To enable tile view, your application must call the Application.EnableVisualStyles method.
らしいけど、ちゃんと呼んでるのか?
アプリケーションフレームワーク有効だとその辺勝手にやってくれてたはず
2018/12/01(土) 15:47:20.03ID:6wWEz5Hu
>>129
ボタンの VisualStyle は UseVisualStyleBackColor プロパティで変わる。

>>132 のようなことにはならないよ。
136デフォルトの名無しさん
垢版 |
2018/12/01(土) 18:09:06.36ID:KZz1rFV5
自動テストって業務アプリでもつくっておけよ。ww
そんなの死んでも作らんわ。
137デフォルトの名無しさん
垢版 |
2018/12/03(月) 02:07:02.91ID:CiT4luJ/
そこまでならシステムバグかも。言ってるだろ保存時のエラーを拾ってる可能性が高いって。
私も経験していて、すべて同じコードをそっくり新規プロジェクト作成してコピペすると
バグの再現率は皆無。早めに移動させたほうがいいよ。

3年前には、バックグランドのIsBusyが毎度Falseで戻るというバグ。
この時も新規プロジェクトにコードをコピペしたら直った。
138102
垢版 |
2018/12/03(月) 08:39:16.52ID:SG+JG4dk
だから、新規でミニマムコード書いてみて再現するんだって。

VS2013+VB.NET+.NET4でWindowsForms新規プロジェクト作成して、

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
Me.ListView1.Columns.Add("1")
Me.ListView1.Columns.Add("2")
Me.ListView1.Columns.Add("3")
Me.ListView1.Columns.Add("4")
Me.ListView1.View = View.Tile

For i As Integer = 0 To 9
Dim lvi As ListViewItem = New ListViewItem(String.Format("item{0}", i))
lvi.SubItems.Add(String.Format("SubItem1_{0}", i))
lvi.SubItems.Add(String.Format("SubItem2_{0}", i))
lvi.SubItems.Add(String.Format("SubItem3_{0}", i))
Me.ListView1.Items.Add(lvi)
Next

End Sub

とでも書いておけば、プロジェクトのプロパティの「アプリケーションフレームワークを有効にする」の
チェック有無でViewがTileになったりならなかったりするんだって。
139102
垢版 |
2018/12/03(月) 10:29:50.33ID:SG+JG4dk
その後の検証で、VS2017+.NET4や.NET4.7.1などではアプリケーションフレームワークを無効にしていても
Application.EnableVisualStyles()を呼んでおけば大丈夫でした。
以上
140102
垢版 |
2018/12/03(月) 10:44:29.67ID:SG+JG4dk
VS2013のVB.NETでアプリケーションフレームワークを有効にしない場合、コードで
Application.EnableVisualStyles()を実行していてもVisualStyleが適用されない部分が発生する
(中途半端に適用されてしまう)ことがわかりました。

アプリケーションフレームワークを無効にして Sub Main() から起動していたものを
アプリケーションフレームワークを有効にして ApplicationEvents で処理するように変更することで
今回の件は対応できました。

さようなら。
2018/12/03(月) 13:28:55.92ID:iyo7d7NK
Formを表示するだけなのにvirustotalで調べると
Endgame malicious (moderate confidence)
Trapmine malicious.moderate.ml.score
↑の2つが必ず検出される・・・
2018/12/06(木) 20:59:58.22ID:6nIp7B/v
VB2010のBackgroundworkerで質問です

Backgroundworker1(BW1)とBackgroundworker2(BW2)を用意しておいて、
メインスレッドからBW1を走らせ、BW1からさらにBW2を走らせるようにして
BW2で処理した結果をどうにかしてBW1に渡したいんですが、どうすれば
安全にできるでしょうか?
(BW1の中から更にBW2を起動できるのは確認済みです)

パッと思いついたのは

1. あらかじめグローバル変数を1つ用意
2. BW2の処理が終わったら計算結果をCompletedイベントで1のグローバル変数に書き込む
3. 次にBW1を起動する時に1のグローバル変数の内容を引数として渡す

というものですが、これだとBW1が起動するタイミングでしかデータを渡せないので
できればBW1の処理の途中でBW2の計算結果を取得できればと思ってます
2018/12/06(木) 23:02:53.80ID:A0CG4R0v
>>142
クラスを定義して BW1 で New して BW2 の起動時に渡せばいい。

BW2 では e.Argument をクラスにキャストしてプロパティや
フィールドを書き換えれば BW1 側で参照できる。

BW2 の終了を BW1 側でどうやって知るかというと
クラスに完了フラグを入れたり、待機するなら
AutoResetEvent など入れておく。
2018/12/07(金) 07:03:19.31ID:3nrqnizA
>>143
ありがとうございます

クラスやインスタンスについてはよく理解できてないんですが

・BW1とBW2の間で受け渡ししたい情報をプロパティとして持つクラスを作成

・BW1の中でそのクラスのインスタンスを作ってBW2に渡したい値をプロパティにセットし、
それを引数としてBW2を起動させる

・BW2側で計算が終わったらCompletedイベント内部でプロパティやフィールドを書き換える

って感じなのでしょうか?
BW2にデータを渡すのは何となく分かる気がするんですが、BW1からBW2の結果を
参照できる理屈がよくわからなくなってきました
2018/12/07(金) 07:40:39.74ID:kROUwqzj
俺はスレッドの同期には
 スレッド1でMonitor.Waitでオブジェクトを待機
 スレッド2で計算完了後渡したいデータをキューに入れる→Monitor.Pluse
 スレッド1でWaitが解けたらキューを取得
 以後ループ
ってやってる
2018/12/07(金) 08:29:06.85ID:2afnIVVG
>>144
VS2010ならTaskあるだろ
順番にコールバックで処理を繋いでいくだけだ
BackgroundWorkerは忘れていい

>>145
そのパターンはWaitHandleを使いなさい
2018/12/07(金) 12:55:25.10ID:kROUwqzj
>>146
悪いな
2005なんだわ
2018/12/07(金) 14:22:09.04ID:qTMW2jJh
>>147
WaitHandleは.NET1.1からあるが
149デフォルトの名無しさん
垢版 |
2018/12/07(金) 16:42:40.67ID:a9TgYpl9
Dim p As New Ping()
Dim pr As PingReply = p.Send(ip, 2000)
If pr.Status = IPStatus.Success Then

ハードウエアに添付されてる特定のアプリをインストールした直後に
上記を実行すると、無限に p.Send(ip, 2000)で止まったままになるらしく。
強制的に抜け出す方法があれば教えてください。
特定アプリを削除すると正常に動きます。
2018/12/07(金) 18:24:22.52ID:8lt4nerT
>>149
それ、本当にPing.Sendがタイムアウトしないのかちゃんと確認した?
勘違いでしょ

本当にそんなバグがあればだれか問題にしてるはずだと思うけど
ググってみたがまったく見つからない
2018/12/07(金) 19:28:23.36ID:kK7I+myK
インスタンスがインポテンツに見える
2018/12/07(金) 19:35:23.30ID:kROUwqzj
>>148
そいつは返す返すも申し訳無かった
ちょっとググったら.net4て出てたもんで
2018/12/07(金) 19:52:03.02ID:cSzYN2du
>>149-150
クラッキング防止のため、ping には応答を返さないサーバーもある。
それで、クラッカーは、ずっと待たされるから、防止になる

タイムアウトするしかない
2018/12/07(金) 20:16:52.60ID:8lt4nerT
>>153
??
2018/12/08(土) 17:03:31.13ID:VtLU9F2e
>>146
Taskですか・・・初めて聞きました
ちょっとググって使い方を調べてみます
156デフォルトの名無しさん
垢版 |
2018/12/08(土) 22:06:24.24ID:45hw1cdo
>>149 だが、遅くなってすみません。
確かに、どんなことがあってもタイムアウトかエラーで止まるとかあるはず。
今回は、どうにも納得できないのはある。
現状は、プライベートIPに向けてPingしてるからなんともいえないけど。

Pingを外して作り直してみますね。

     いろいろと、ありがとうございました。
      参考になったことを感謝!
2018/12/08(土) 22:16:09.79ID:pahfUmHO
>>155
async/awaitだろうけど、その処理は非同期じゃないとできないものなのか?
2018/12/08(土) 22:50:58.82ID:RUYrEQD/
むしろ基本は非同期ファーストでよほどの理由がなければ同期にはしないのが現代の.NETプログラミングの常識だろう
まあVBerにそれを強制すると大惨事だろうけど
2018/12/08(土) 22:57:53.40ID:pahfUmHO
>>158
それはUWPアプリの場合じゃないの?
2018/12/08(土) 23:34:16.79ID:RUYrEQD/
UWPだろうとWinFormsだろうとUIスレッドを長時間ブロックしたらフリーズするのは一緒や
2018/12/09(日) 08:33:34.68ID:rvgDVfN9
>>160
まぁ、そりゃそうだが何でもかんでも非同期処理にするのはどうかと思うぞ。
非同期って別スレッドだからスレッドの罠を分かってないヤツが実装すると危険だよ。

スキルの無いヤツほど難しい実装をやりたがる。
単純明快な実装で簡単にできるものまで。
2018/12/09(日) 09:27:52.83ID:QJ+QHutH
>>161
ほとんどの非同期処理は別スレッドではない
システムに依頼したIOの完了を現在のコンテキストのままでやるか、
完了を待って元のスレッドへコールバックするかの違いでしかない(デフォルトでは)
長い処理の完了を待つ必要がある(でもイベントベースの非同期は面倒だからコードはシーケンシャルに書きたい)ときに
利用側が待機用スレッドを作る必要がないので、従来のBackgroundWorkerや生Threadよりずっと安全だ
2018/12/09(日) 15:37:28.92ID:mC11Jcgj
>>157
そうですね
リアルタイムの物理シミュレーションで、物理演算スレッドとは別に裏で走らせたい
重いと予想される処理があるので非同期でないと具合が悪いです(しかもその
別処理での計算結果を物理演算スレッドで使う)
物理演算スレッドと同じスレッドでその別処理を走らせると別処理の結果が出るまで
物理演算スレッドが先に進まなくて全体のパフォーマンスが悪化するんで、何とか
別処理は物理演算スレッドから更に分離してマルチスレッドにしたいと考えています

以前はメインスレッドで物理演算スレッドを実行していたせいで描画がかなり遅くなって
Backgroundworkerを使って物理演算スレッドを分離したという経緯があるので、そこに
別処理を組み込むのもBackgroundworkerでやれたら・・・と考えていました
2018/12/09(日) 19:44:31.49ID:rvgDVfN9
>>162
はぁ?
スレッドプール使ってるだろ?
2018/12/09(日) 19:48:39.49ID:QJ+QHutH
>>164
TaskCompletionSource使えばスレッドを使わないTaskも作れるよ
というか.NET標準の非同期IOはだいたいそう
2018/12/09(日) 19:54:44.04ID:QJ+QHutH
なお、Taskがスレッドを使ってようがいまいが、それを使う側が意識する必要はない
デフォルトでは、処理の終了後に元と同じスレッドに処理が戻ってくるからね
2018/12/09(日) 20:04:34.06ID:rvgDVfN9
>>165
ワーカースレッドを使ってるっぽいけどね。
2018/12/09(日) 20:09:03.43ID:rvgDVfN9
>>166
非同期の中は相変わらずスレッドだし、スレッドの仕組みが分からない人が安易に使うべきじゃない。
スレッドプログラミングモデルは不完全だよ。
2018/12/09(日) 20:14:07.42ID:QJ+QHutH
>>167
どう見てもTaskCompletionSourceだね
https://github.com/dotnet/coreclr/blob/8b03dbeb90c81b8095b949b44553ff970e169851/src/System.Private.CoreLib/shared/System/IO/FileStream.Windows.cs
2018/12/09(日) 20:25:21.69ID:QJ+QHutH
>>168
安易もクソも、長時間かかる処理をUIをブロックすることなく、かつ手書きステートマシンによる大きな生産性可読性もなく記述しようと思えば、
別スレッドで同期処理するかTask使うしかないでしょ
で前者に比べれば後者のほうがまだ安全だと言ってるの
あっ、VBプロの伝家の宝刀DoEventsがあったかw
2018/12/09(日) 20:40:58.46ID:rvgDVfN9
>>170
スレッド絡みの罠を知った上で使うのは問題ないけどねぇ。
async/awaitって非同期が簡潔に書けるし超便利だし。

馬鹿が見様見真似で仕組みも分からずに安易に使うのは許せん。
2019/01/10(木) 17:37:32.49ID:92qiHI93
.NET CoreとしてVB.NET使った事例増えてるんかね?
これで増えないとVB.NETもヤバい
2019/01/11(金) 20:27:00.79ID:7NoyRly5
VB.NETはあっても良いがVB.NETを使うやつは死滅してくれ
2019/01/12(土) 07:46:10.27ID:uK0WXiBn
大丈夫100年後には皆死んでる
175デフォルトの名無しさん
垢版 |
2019/01/12(土) 19:37:47.15ID:f5l6WgiO
UWPでdll使いたいんだけど、
Byval hogehoge as string だとエラー出ちゃうね。

試しに Byrefにすると通るんだけど、これバグかな?
文字列を受け取るのではなくて、送りたいからこれだと動かないんだけど。
176デフォルトの名無しさん
垢版 |
2019/01/19(土) 16:46:40.40ID:SwmccsG2
コンパイラエラー C2872 あいまいなシンボルです。

コンパイルエラーが解消出来ません。
ご教授下さい。

■コンパイルエラー内容
error C2872: 'MarketplaceWebServiceProducts' : あいまいなシンボルです

■やりたいこと
AmazonのAPI「Marketplace Web Service API (MWS)」のHello world

以下ページの右上 オレンジ色の「Download」ボタンから入手できる
「MWSProducts_2011-10-01_v2017-03-22.dll」の使用
https://developer.amazonservices.jp/doc/products/products/v20111001/cSharp.html

■DLLの使用
Visual Studioの対象プロジェクトのプロパティから、
上記DLLの参照を追加しました

■コーディング
using namespace MarketplaceWebServiceProducts;//←ここはコンパイルOK
using namespace MarketplaceWebServiceProducts::Mock;//←★ここで上記コンパイルエラー

■ご質問
上位の「MarketplaceWebServiceProducts」が正常なのに、
下位の「Mock」を付けるとあいまいなシンボルになるのはなぜでしょうか。
解決策をご教授ください。(可能であれば実装をご提供ください)

■環境
Visual Studio
.Net 4.0
C++/Cli
2019/01/19(土) 18:28:37.99ID:wiNfQeeu
>本当にありがとうございます!!!!!!!!!!!!
>キモヲタ万歳!!!!!!キモヲタ役に立つ!!!!!!!!

この質問者は、荒らしだから、無視しろ!
178デフォルトの名無しさん
垢版 |
2019/01/22(火) 11:08:00.90ID:MNWEiKG9
むかしのVisual Basic6とかVisual C++6を今からインストールしても
今インストールしてる最新の.NET環境に影響はありませんか?
2019/01/22(火) 14:50:18.96ID:WVGq8ekA
>>178
影響あるんじゃね詳しくは知らんが
180デフォルトの名無しさん
垢版 |
2019/01/22(火) 18:44:56.82ID:MNWEiKG9
>>179
そうざますか。
どなたかくわしいひといらっしゃいませんか?
181デフォルトの名無しさん
垢版 |
2019/01/22(火) 21:45:30.75ID:omWGXlHy
くわしいけど何か?
182デフォルトの名無しさん
垢版 |
2019/01/22(火) 21:49:21.31ID:8mJXdjen
>>181
Visual Basic6とかVisual C++6を今からインストールしても
最新の.NET環境に影響はありませんか?
2019/01/22(火) 22:25:56.22ID:dU5LcznM
>>182
VS.NETは、バージョンの順番に入れないと上手く動かなかったりするけど
vb6, vc6は大丈夫だろ?

それ以前にWin10へのインストールはやったことがないなあ
俺なら仮装環境へWinXpを入れて使うか
2019/01/22(火) 22:31:17.97ID:dU5LcznM
vb6のアプリはWin10でも騙しながらなんとか動くよ
185デフォルトの名無しさん
垢版 |
2019/01/22(火) 23:33:46.55ID:R4R8JbvY
騙しながらとは?
こういうあいまいな言葉いやだな。
コンピュータ業界の人ならはっきりとしたいものです。
前の会社で「サーバがコケた」とよく言ってた人を思い出した。
サーバに足はないんだからコケないだろ。
2019/01/23(水) 09:44:49.58ID:94ZvYw52
>>185
確かに鯖には足は無いね。
鯖は転けない。

プログラミングと言うものはコンピュータとユーザを如何に騙すかに掛かっている。
2019/01/23(水) 11:55:45.33ID:FAv1PkTN
vb6でコンパイルしたexeは騙し欺し動くけど
開発環境そのものを入れるのは何か問題あった希ガス
2019/01/23(水) 12:23:13.73ID:PxjKjC0I
>>187
インストール時にエラーが出まくるけど開発出来る程度にはインストールできたはず。
2019/02/03(日) 07:05:27.37ID:1VeLLRtF
個人で使うならいいだろうけど
仕事では使えんぞ
2019/02/03(日) 08:12:36.09ID:hzttK4k1
>>189
何が?
2019/02/03(日) 09:37:23.77ID:jXQtgLw9
無理やりインストールしたVB6で作ったソフトを仕事で使えるわけない
2019/02/03(日) 09:46:16.79ID:hzttK4k1
>>191
え、そうやって古いゴミvb6システムを騙しながら保守するんだぜ。
MSがvb6に引導を渡してくれたら客先も諦めて移行するんだけどね。
2019/02/03(日) 16:33:16.07ID:LOT7/zBp
業務で保守するなら古いOSも用意しとけよ
2019/02/03(日) 21:35:04.09ID:jXQtgLw9
会社が動作保証できない環境で開発させるのはブラックだけ
2019/02/03(日) 23:41:50.04ID:PKgH5/Eo
>>35
Strongwwwww
196デフォルトの名無しさん
垢版 |
2019/02/05(火) 22:36:03.07ID:EuMjYSra
え?Microsoft製品って動作保証されてるの?
知らなかったなあ。.NET Frameworkって何か起きた時にはMicrosoftが補償してくれるんだ。
UWPなんかコンパイラのバグばかりだけど、これって金銭的補償とかしてくれるの?
そもそも業務でVB6使うよりも、Windows10使うほうが色々リスク高いと思うけど。
2019/02/05(火) 23:52:58.77ID:seWX9f2k
win10はサポート切れてないし
2019/02/06(水) 02:13:01.38ID:wO/VNrzd
今からでもいいので20年前に出たVB6のバージョンアップ版を出したほうがいいと思う
2019/02/06(水) 05:57:36.92ID:dzTtF137
>>198
なんで?
2019/02/06(水) 09:18:34.15ID:ifDXGzsv
>>198
なんで?
2019/02/06(水) 09:50:24.95ID:5NZNyJzo
>>198
VB.NET: アタシのどこがいけなかったの?
2019/02/06(水) 12:43:36.87ID:yK0c/OTQ
>>197
win10のサポート?
具体的にどんなサポート受けられるの?

今までの経験だと、どんな不具合報告しても、なに言っても改善されないのがマイクロソフトだけど。興味あるな。
2019/02/06(水) 12:48:03.59ID:wygak7fd
>>202
.netで不具合報告をしたら速攻でパッチ出してくれたが
2019/02/06(水) 12:48:32.65ID:yK0c/OTQ
>>198
最新版のVB6のIDE用パッチは2016に出てるよ。ぐぐっても古い記事しか出てこないから充ててない人多いよね。

サポート期限ガーとか言ってる奴に限ってvisual studio2008とか使い続けてるんだよな。もうサポート期限切れてるのに。
2019/02/06(水) 12:49:27.47ID:yK0c/OTQ
>>203
へえー、富士通とかマイクロソフトに近い人なのかな?
2019/02/06(水) 12:52:43.30ID:wygak7fd
>>205
不具合が100%再現するコードを送ったら直ぐに直してくれた
2019/02/06(水) 12:53:56.57ID:yK0c/OTQ
>>206
へえー、アメリカに直で?
日本マイクロソフト通してたら即なんてあり得ないのは常識。
2019/02/06(水) 12:59:46.34ID:yK0c/OTQ
ちなみにVC6を未だに現役で使い続けてるところ沢山あるけど、そこにツッコミ入れる人は少ないんだよな。
コンパイラとしても古いけど、やはり枯れて実績が積まれて使い慣れてるから、なかなか手放せない。
VB6も同じだと思うよ。
2019/02/06(水) 13:00:09.38ID:259i/glJ
日本マイクロソフトは営業所みたいなもんだから。
製品作ってる技術者なんかいない。
2019/02/06(水) 13:13:25.78ID:wygak7fd
>>207
日本MSだよ
VSのサポートインシデントを使って
MSがバグと認めたらインシデントは消費しない
2019/02/06(水) 17:56:47.94ID:yK0c/OTQ
>>201
C#も同じだけど、ソースコードばらまくようなものだもん。ILspyみたいなフリーで高機能なのあるんだもん。
変数を分かりにくくする程度の難読化なんて俺から言わせれば無意味。

VB6はネイティブコンパイルできるから、ソースの可逆性がVCと同じくらい難易度高くなる。現にVCの難読化ソフトがないのはそーゆうこと。
2019/02/06(水) 18:25:35.63ID:emqFOXxP
ConfuserEx使えば大丈夫ですわよ?
2019/02/06(水) 18:50:07.27ID:yK0c/OTQ
>>212
分かってないな。
VB.netの文法や関数、クラスを変えることはできない。
外部dllなどを参照している場合、それを誤魔化すことはできない。
従って手間は掛かるけど、難読化なんて簡単に破れる。
なんか、最近だと一部のソースをC++の外部DLLに置き換えてしまう難読化ソフトがあるみたいだけど、本末転倒だと思うよ。
2019/02/06(水) 22:41:48.38ID:dzTtF137
お前らのコードは難読化不要なほど難解だろ
2019/02/07(木) 12:10:48.57ID:/tmgbETq
ActiveX DLLをファイル名だけでActivater.CreateInstanceする方法無いでしょうか?
前ブログで見たことあったと思うんですが
見つからなくて。
2019/02/13(水) 20:54:10.62ID:e1ucj2Au
VB.NETは滅びぬ!何度でも甦るさ!

.NET CoreにVisual BasicのFile IOを追加
https://www.infoq.com/jp/news/2019/02/VB-File-IO-Core
2019/02/13(水) 22:24:41.93ID:9vYYaAAU
要らんことするな
218デフォルトの名無しさん
垢版 |
2019/02/18(月) 23:09:48.26ID:izV4xJWd
難読化だって? 先日、大企業のシステムアプリの不具合を報告したら、
「作成した担当者が辞めてしまって・・修正できません。」とか言うからね。
これって、他人のコードが読めないって言われてるのと同じだろ?
可読性wwww
2019/02/19(火) 06:10:45.81ID:huoX4Tk+
>>218
おまえがなおせ
2019/02/20(水) 11:54:28.08ID:rLBm50YU
それ往々にして

×修正できません
○修正したくありません

だから
2019/02/20(水) 12:15:33.38ID:dJdhvYqy
じゃ、修正費用10億円で
2019/02/22(金) 12:19:35.43ID:moZ6n3ck
うわきもっ
2019/02/22(金) 12:34:23.33ID:AeIyPspu
vb.netはクールだけど使ってるやつはキモイしブサイクでスキルがない
2019/03/01(金) 13:59:48.75ID:WP+oH8uz
    / ̄ ̄ ̄ ̄\   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
   (  人____)<   じゃ、10億円で
   |./  ー◎-◎-)  \______________
   (6     (_ _) )    カタカタカタ
   | .∴ ノ  3 ノ  ______
    ゝ       ノ  .|  | ̄ ̄\ \
   /       \__|  |    | ̄ ̄|
  /  \___      |  |    |__|
  | \      |つ    |__|__/ /
  /     ̄ ̄  | ̄ ̄ ̄ ̄|  〔 ̄ ̄〕
 |       | ̄
2019/03/01(金) 19:53:16.99ID:osl5wkC+
10億円なら受けますよ
2019/03/02(土) 13:59:32.45ID:WupyvY1Q
やっぱキモイ
2019/03/03(日) 08:16:08.23ID:lBDiiSQm
そんな端金では出来ひんで
228デフォルトの名無しさん
垢版 |
2019/03/03(日) 09:00:13.95ID:dbXXzJ29
Accessで作った方が速いと言われてしまうのですが、実際どうなんでしょうか
2019/03/03(日) 10:08:50.34ID:lBDiiSQm
>>228
Accessで作った方が速いと言うヤツはAccessの方が早いのだろうけど
.netの方が楽だよね
2019/03/08(金) 19:20:04.14ID:quBQyQDX
>>228
その速いとはすぐに作れるという意味なのか、動作が速いというのかどっちだろう
2019/03/10(日) 00:53:07.03ID:Xug5O2kK
バイナリファイルを編集したいのですが、内容が書き換わりません。
どこが駄目なのでしょうか?

Private Sub btnWrite_Click(sender As Object, e As EventArgs) Handles btnWrite.Click

Using fs As New System.IO.FileStream(SaveFileName, System.IO.FileMode.Open, System.IO.FileAccess.ReadWrite)

Dim ByteArray(fs.Length - 1) As Byte
Dim CharParam() As Byte

fs.Read(ByteArray, 0, ByteArray.Length)

hoge = 100

ReDim CharParam(1)
CharParam(0) = hoge
Buffer.BlockCopy(BitConverter.GetBytes(CharParam(0)), 0, ByteArray, 75, BitConverter.GetBytes(CharParam(0)).Length)

fs.Write(ByteArray, 0, ByteArray.Length)

End Using

Call btnRead_Click(sender, e)

MsgBox("書込完了!!")

End Sub
2019/03/10(日) 01:14:12.25ID:EyJHBQRt
書き換わらないというか末尾に追記されてるよね?
Readした時点で一番最後ポイントしてるからそこでWriteしたら当然末尾に書かれるぞ
Position変更するかSeekするかしないと
2019/03/10(日) 01:33:19.69ID:Xug5O2kK
>>232
ありがとうございます。上手くいきました。
2019/03/12(火) 19:34:31.51ID:TAliomTW
>>230
>>動作が速い
はPCによる

普通は工作作業でしょ
2019/03/12(火) 19:36:34.72ID:TAliomTW
>>216
まあ、そうなるわな
VBプログラマの受け皿として.NET Coreプロジェクトが有効になる
2019/03/12(火) 22:00:03.99ID:nQMIHFtX
form1にcmbSkill0〜cmbSkill12というcomboBoxを配置してForm_Loadに以下のようなソースを書いたのですが
「オブジェクト参照がオブジェクト インスタンスに設定されていません。」というエラーが出ます。

vb6のコントロール配列のような処理がしたいのですが、何が悪いのでしょうか?

' 表示用の列を設定
For i = 0 To 12
CType(Me.Controls("cmbSkill" & i.ToString), ComboBox).DisplayMember = "items"
Next
2019/03/12(火) 22:29:04.82ID:wfmXoAZE
>>236
デザインで貼っても配列にならないからコードで記述
2019/03/12(火) 23:22:19.14ID:p/ONOfms
GroupBox(gpb1)の上にComboBoxを貼り付けていたのが原因でした。
以下のように修正したら上手くいきました。お騒がせいたしました。

For i = 0 To 12
CType(Me.gpb1.Controls("cmbSkill" & i.ToString), ComboBox).DisplayMember = "items"
Next
2019/03/13(水) 22:18:53.03ID:H4W3SqSw
同じ値の入るDataTable(コンボボックス用)を12個用意して値を設定したいのですが
ループ処理でうまく処理する方法はないでしょうか?宜しくお願いします。

Dim dsskill1_0 As New DataTable
Dim dsskill1_1 As New DataTable

Dim dsskill1_12 As New DataTable

dsskill1_1.Columns.Add("items", GetType(String))
dsskill1_1.Columns.Add("key", GetType(Integer))
row = dsskill1_1.NewRow
row("items") = "なし"
row("key") = 0
dsskill1_1.Rows.Add(row)
row = dsskill1_1.NewRow
row("items") = "LV1"
row("key") = 1
dsskill1_1.Rows.Add(row)

dsskill1_2.Columns.Add("items", GetType(String))
dsskill1_2.Columns.Add("key", GetType(Integer))
row = dsskill1_2.NewRow
row("items") = "なし"
row("key") = 0
dsskill1_2.Rows.Add(row)
row = dsskill1_2.NewRow
row("items") = "LV1"
row("key") = 1
dsskill1_2.Rows.Add(row)
2019/03/14(木) 10:00:44.07ID:UTzF5k1f
全部同じならCopy()でいいじゃん
2019/03/14(木) 10:04:05.65ID:HIuTGTUE
同じデータなら同じデータソースを使えば良いだけでは?
2019/03/14(木) 22:55:57.19ID:hVHukwdE
>>241
同じデータソースを設定したら、comboboxにselectedValueで設定するときに
combobox1-12全部同じ値が挿入されちゃいました。
2019/03/15(金) 08:38:00.32ID:G4fmj6rk
>>242
そうなるんだw
>>240 の言うようにコピーでしょ。
DataTableの作成のオーバーヘッドが小さいのなら、その都度作成してデータソースに入れるけど。
2019/03/15(金) 11:28:40.12ID:9KYAnn5X
DataViewつかえよ
2019/03/15(金) 12:19:43.79ID:K2+pazAC
comboboxに紐つけるデータソースにdatatableは重すぎる
2019/03/15(金) 19:28:26.67ID:N+PfBtn+
>>240-245
Copy()でいけました。
皆様アドバイスありがとうございました。
247デフォルトの名無しさん
垢版 |
2019/04/10(水) 19:45:12.03ID:3k/2grcJ
For Each c As DataGridViewColumn In .DataGridView1.Columns
 c.SortMode = DataGridViewColumnSortMode.NotSortable
Next

このコードをLINQを駆使して1行で書けるのでしょうか?
2019/04/10(水) 20:37:28.62ID:GrAOtSj+
基本的にLINQは更新系には使わないので
CastしてToListしてForEachでできなくもないけど無意味だな
2019/04/10(水) 22:03:12.93ID:VgO1MWer
>>247
Datagridview1.Columns.Cast<DataGridViewColumn>().ToList().ForEach(f => f.SortMode = DataGridViewColumnSortMode.NotSortable);

c# だけど、無理やり過ぎる
250247
垢版 |
2019/04/11(木) 12:51:27.23ID:oQ2Viasg
余計見にくくなった気がしますので止めます
251デフォルトの名無しさん
垢版 |
2019/04/11(木) 13:22:50.56ID:GR4ezT/u
いい洗濯だ。
2019/04/11(木) 15:14:35.51ID:t6ZqSbU2
>>234
確かにAccessは工作作業速くできる

VBAが.NETだったら最高なんだけどな
2019/04/26(金) 09:49:24.87ID:mNIbZNQ0
bindingsourceのfilterを一時的に動かないようにできますか?
datasourceを変更したタイミングで自動的にfilterしてほしくないときがあって…
2019/04/26(金) 10:10:01.19ID:u4NAhbhS
一時的に動かないって、フィルタするかしないかしかないけど
それでいいんだったらRemoveFilterなりFilter = ""なりすればいい
2019/04/26(金) 10:10:32.62ID:3DaeQ571
>>253
bindを切るとか
filterをnullにするとか
2019/04/26(金) 11:01:14.66ID:mNIbZNQ0
現在のフィルタ状態で固定したいんです
2019/04/26(金) 11:33:30.82ID:otLL2dXI
>>256
だからデータソースを突っつく時は一時的にバインドを切る
2019/05/04(土) 02:32:31.19ID:cMty3S1s
新卒で中小企業入ったんだが、vbやらされてる
俺の将来性大丈夫?
2019/05/04(土) 04:43:37.59ID:Ku+EFROQ
職業選択の自由がある
2019/05/04(土) 20:20:50.05ID:HNqggbNT
スマホアプリで評価低いのは企業アプリ。
まあ評価をみて入社したならいいが、評価の低い企業には絶対入社しないわ!
2019/05/06(月) 17:37:15.54ID:ZmlQ5coO
>>258
VB.NET極めたら、特に困らんと思うけどね
VB.NETの案件もそれなりに有る
メンテ案件だけになりつつ有るJavaよりマシでは
2019/05/08(水) 10:07:23.96ID:Tp7YK8C5
>>258
他に何もできないで、やらされているというのはどうなの?
2019/05/08(水) 16:31:28.04ID:c/vSyFIX
>>262
それも、気の毒な話。
プログラミングは才能だからね。まともに使えてる人は天文学者くらい。
2019/05/09(木) 04:32:54.75ID:lXVSCFrv
上司にvbやれっていわれてvbやりたくないで仕事になるの?
それで給料もらえる会社なら俺も入りたいな
2019/05/09(木) 15:36:20.92ID:djNiNMMR
>>262
今時の新入社員はそんなモノでしょ
やりたい仕事じゃない=やらされてる
2019/05/09(木) 15:37:18.78ID:djNiNMMR
>>264
辞められると上司の責任になるご時世
でも限界有るわな
2019/05/09(木) 17:09:18.45ID:8jMd0W7W
「/」と「\」の違いを最近知った俺様が通りますよ
2019/05/09(木) 17:27:55.68ID:fKRT7SPR
/\ァ
2019/05/11(土) 17:55:20.62ID:Q5vUcDJq
通ってよし! 
2019/05/26(日) 21:12:40.75ID:ecrhmV8V
ゼロとオーの区別がつかない
271デフォルトの名無しさん
垢版 |
2019/05/30(木) 14:29:05.95ID:tJr392xO
| l 区別つかないよぉ。
2019/05/31(金) 01:39:00.29ID:ThqY6BBQ
この話題といえば、、、

紛らわしい文字を区別するために現在フォントをConsolasにしてるのですが、他におすすめはありますか?

Consolasは、記号が多いC系の言語に結構合うと思っています。しかしVisual Basicは文章的に記述するので、もっと美しく表示できるフォントがありそうな気もします。Visual Basicにピッタリのフォントがあったら教えてください!
2019/06/03(月) 11:18:36.50ID:Je8qQMmf
0に斜め線が入ってるのは標準ではConsolasしかない
2019/06/03(月) 12:13:05.71ID:ogNNDx3l
IDEが貧弱だった時代ならいざ知らず
今となっては割とどうでもいい
2019/06/03(月) 20:27:06.75ID:6jbNHbMS
>>274
そんなこたあない

CONS0LAS
C0NSOLAS
276デフォルトの名無しさん
垢版 |
2019/06/03(月) 21:16:31.45ID:5BEAwe+l
oO0Oo0
277デフォルトの名無しさん
垢版 |
2019/06/04(火) 03:00:01.11ID:Ez/jYayY
Consolasの日本語フォントリンクはいつになったらやってくれるのか
2019/06/04(火) 19:00:44.95ID:iPI43fsc
Typeクラスからコンストラクタの引数の型を知ることってできますか?
2019/06/04(火) 21:15:07.27ID:4FD7sUXM
GetConstructorsからできるでしょ
2019/06/04(火) 22:07:41.47ID:ql/6DRBL
パラメータっぽいメンバが見当たらないんです
2019/06/05(水) 06:05:37.47ID:dxZGzZ8d
ConstructorInfoにGetParametersがあるでしょ
2019/06/09(日) 02:06:34.64ID:xdiihSDp
>>272
MyricaM (Inconsolataと日本語のMgen+のセット) ダウンロードして使ってる
Inconsolata はConsolas からインスピレーションを受けて作ったらしい
2019/06/09(日) 02:09:24.02ID:xdiihSDp
http://creating-homepage.com/archives/2115
あたりも参考に
2019/06/15(土) 22:04:38.09ID:9bFZ43jF
あるツイート

VB.netアプリをWeb化する案件が最近今の会社で増えてるようで、技術的なアドバイスをしてほしい的な要請をもらうことがそこそこあるんだけど、大体みんな画面ができればシステムができると勘違いしてる そもそもそのシステムどうやってお客さんに使ってもらうの?
っていう話ですよ
2019/06/15(土) 23:47:04.75ID:37A5zq0h
webって、asp?
2019/06/16(日) 01:19:59.82ID:MAb83vfA
UI設計が出来てるなら後は組むだけなので、あながち間違ってはいない。
静的な1枚絵じゃなく遷移図になってるなら
2019/06/16(日) 02:12:50.85ID:wRD2pOBh
Javaか
2019/06/16(日) 08:38:55.30ID:675r1vPY
vb.netをasp.netに変換するアプリがあるみたいだ
2019/06/16(日) 14:23:13.28ID:UANb65jp
ビジネスロジックが固まってないのにUI設計ばかり進める顧客の何と多い事か。
2019/06/16(日) 20:12:23.69ID:675r1vPY
人間もアプリも見た目が全てだ
2019/06/16(日) 21:18:09.82ID:2+AaE/D9
ビジネスロジックは増減するから先に決められないんや
2019/06/16(日) 23:13:58.54ID:KDu8BvvS
>>289
それはね、ビジネスロジックって後からどうでもなる、と言う幻想が有るからだよ
肉じゃが作ろうとしてたのに、そうじゃ無い、カレーが欲しいんだ、と言って途中からカレールー入れても完璧なカレーにならないのと同じ
最初にどういう材料でどういうモノ欲しいの、と言うのが見えていない顧客は仕事依頼する資格は無い
でも代金払うのは俺たちだから言う事聞けよ、と言うのが日本の業界のダメな所
2019/06/17(月) 06:10:39.26ID:XJJFbeYT
>>292
肉じゃがを味付けする前なら普通にカレーになる
味付けした後でもカレールーじゃなくてカレースパイスと小麦粉で調理すればカレーになる
だが肉じゃがをコロッケにするにはかなりの手間が掛かる
肉じゃがをハンバーグにしろと言われたら逃走するのが一番だ
2019/06/17(月) 19:28:08.53ID:znx6nv1+
確かなことは、例え話というのはクソだと言うことだ
2019/06/17(月) 19:58:07.45ID:cD7mbF9V
現実はそもそも要件が料理名じゃなくて、いい感じに美味しい料理とか、そんなんだぞ
2019/06/17(月) 20:04:45.95ID:mpJ2xeVG
注文側が美味しいと感じるかどうか、だからな
297デフォルトの名無しさん
垢版 |
2019/06/17(月) 21:20:03.16ID:S5iUdCsl
パイソンを始めたら難しいな、どうなってるんだよ。
おいしいハンバーグさえ作れない。
2019/06/17(月) 21:39:24.81ID:HGRfZ3Bc
スパゲッティづくりなら得意だぜ!
2019/06/18(火) 00:28:45.70ID:Eoo+IWKt
調理が永久に終わりません…
2019/06/18(火) 04:16:12.13ID:fify6tPn
>>298
それは麺をつくるのか?
2019/06/18(火) 06:29:04.13ID:DISwRjVd
>>297
ヘビの肉でも出来るだろう
2019/06/18(火) 12:46:40.67ID:JhYlsYPC
インフラまったく考慮せずにWeb化って言われても、って話じゃないのか
2019/06/19(水) 02:23:27.48ID:EGw9VNRj
ノンフライ麺ですか
304デフォルトの名無しさん
垢版 |
2019/06/23(日) 03:33:09.03ID:KP2ZMbSU
https://medium.com/young-coder/the-rise-and-fall-of-visual-basic-f422252349a6
2019/06/24(月) 13:08:39.60ID:ZFplNwN9
軽減税率の分類で何がいくらかってどう調べたらいいんだ?
2019/06/24(月) 16:51:38.65ID:t4F8/Fy2
>>305
商品だけで決まらないからね
購入形態にも寄る
ハッキリ言って混乱するだけ
2019/06/26(水) 13:59:39.30ID:t7ySScNw
誤爆だったが答えてくれてありがとう
2019/07/21(日) 14:49:18.47ID:aFljzYxL
スパゲティの達人曰く、gotoと書いてゴットと読ませる。
その心は神の指紋が読めない。
2019/07/22(月) 06:18:38.42ID:KGB3bm2U
gotoが無くても美味しいスパゲッティは作れる
2019/07/22(月) 21:10:16.43ID:odzqFd9J
自画自賛ですか
2019/07/22(月) 21:11:04.27ID:sdD1SeGB
後藤シェフにおまかせ
2019/07/25(木) 05:19:50.87ID:5PDEaxgW
「おい、後藤をシェフ呼べ! 昆布だしの取り方はうまいが・・・」
2019/08/13(火) 00:33:55.20ID:tNr353ET
shared変数ってvsのインテリセンスに出てこない気がするんですが仕様ですかね?
入力すると特にコンパイルエラーにはならないんですが地味に不便です。
314デフォルトの名無しさん
垢版 |
2019/08/13(火) 01:27:49.72ID:M9RpYZGz
静的(共有)変数はインスタンスメンバーではないので
インスタンスのメンバー一覧にないのはむしろ当たり前ですよ。
2019/08/14(水) 15:39:11.33ID:rYTK4gSU
インスタンス文明
2019/08/14(水) 23:27:56.46ID:H1tt8FvP
インテリセンスにでるのはインスタンスメンバーだけじゃないけどな

すくなくともCommunity 2019 では表示される
317デフォルトの名無しさん
垢版 |
2019/08/14(水) 23:38:02.82ID:0eqzJUuy
>>316
そんなことは当たり前でしょw
2019/08/15(木) 15:50:54.78ID:g62Phs7U
素人に静的変数使わせるのは怖いよ
2019/08/16(金) 05:28:13.66ID:quJ4z7W6
誰でも最初は素人さ
2019/08/17(土) 00:47:28.62ID:BIFrhwCa
withって書くのは楽かもしれんがデバッグ時にマウスオーバーで値が取れないのでクソイラつきますね
そのままだとウォッチでも値取れないしソース上から抹殺したい
2019/08/17(土) 01:26:05.35ID:cHQKvzGX
スコープを狭めるためにwith使うのはどう思う?
2019/08/17(土) 02:23:23.07ID:TmywTD9C
いいと思うが、囲む範囲がでかくなりすぎるような場合はやらない
2019/08/18(日) 02:00:54.07ID:O0y/rCSE
with ってスコープ作成したっけ?

まあ今どきwithとか推奨しないけどな
つかスコープのためだけにwith使うとかないわ
その範囲でスコープ切るような必要があるなら、その部分外だししろよ
324デフォルトの名無しさん
垢版 |
2019/08/18(日) 02:05:19.05ID:hLdq1MUi
もうVB自体使わないな
いや俺も2005まではVB派だったんよ
その後のVBの「進化」の方向は間違ってるとしか思えない

業務でVB強制されてる人は気の毒だよねw
2019/08/18(日) 02:50:55.10ID:IRt2qDNF
vbはvisual studioがなかったら死んでもやりたくないわ
visual studioとの親和性で生きながらえてると思う
2019/08/18(日) 09:51:53.97ID:wydgCTYv
言われなきゃ誤爆ってわからん。
VB.NET的な解決方法があるのかと思ったわ。
2019/08/18(日) 09:53:24.09ID:wydgCTYv
>>307から更新せずにレスしたら、俺が誤爆したみたいになったわ。
2019/08/20(火) 01:02:48.27ID:HcVBsnGG
vbは書けるけどvbaは書けない理由はVISUAL STUDIOで開発できるか否かの違いだと気づいたヘボグラマーです
2019/08/21(水) 03:56:27.52ID:RQyiUSDn
最初はへぼでもやってるうちに上達するさ
2019/08/24(土) 23:24:31.53ID:hVXDQRJF
リソース画像をaddpictureでExcelシートに貼り付けられますか?
331デフォルトの名無しさん
垢版 |
2019/08/25(日) 00:22:40.01ID:i+jXmIxR
>>330
知らんので適当だけど、PasteSpecial の方を使ってクリップボード経由で
貼り付けた方が簡単じゃない?
2019/08/25(日) 00:38:53.19ID:j+w+TP60
>>331
確かにクリップボードを使えば簡単にできたんすが
それ以外の方法はないものかと思って。
自分以外の人も使うプログラムなので、あまりクリップボードを汚したくないなと。
333デフォルトの名無しさん
垢版 |
2019/08/25(日) 01:10:21.22ID:i+jXmIxR
>>332
なら多分適当な場所に一時ファイル作ってそのパスを渡すしかないよね。

オフィスのオブジェクトモデルは90年代の設計だし、
画像データを引数で渡すって発想自体が多分ないのでは
2019/09/02(月) 22:39:56.06ID:qNy3U0ud
クリップボード使えないってコピペ操作もできないんじゃ・・・
2019/09/03(火) 06:31:57.93ID:Wh65onJo
自分でコピー操作してないのにクリップボードが勝手に置き換わるのは良くはないよ
2019/09/03(火) 10:14:08.23ID:BfaK3B02
操作するんだからいいんじゃないのか
2019/09/03(火) 10:43:32.30ID:1YB7L8cx
クリップボードを操作するアプリだとそうだけどね
2019/09/03(火) 11:13:32.44ID:lfqdFV+/
.netから1.batを呼び出して、さらに2.batファイルを呼び出したいんですが
1.batファイルにcall 2..batと記述しても呼び出せません
1.batファイルをダブルクリックでは2.batも動きました。
.net側の書き方はどのようにすればよいでしょうか
2019/09/03(火) 11:53:27.08ID:gPxZVy2K
WorkingDirectory
2019/09/03(火) 12:44:07.00ID:lfqdFV+/
>>339
ご意見ありがとうございます。
ぐぐってみます
2019/09/03(火) 16:54:59.37ID:XjLsYCE+
普通1.BATが正常稼働したか確認して2.BATを実行するロジックをVB側に実装するモノだが
2019/09/04(水) 15:45:38.83ID:BrR+A7tN
>>330
貼り付けるものがimageコントロ―ルなら可能。
ShapeやPictureなら難しい。
imageコントロールならOleCreatePictureIndirectでいける。
VBAではいけた。
2019/09/15(日) 02:30:56.55ID:xVla+TCI
HttpListenerで簡易WEBサーバーを作っているのですが
HttpListenerRequestのContentEncodingが
デフォルトではシフトJISになっていて
QueryStringに日本語文字列を渡そうと思うと
シフトJISでURLエンコードしてやらないといけないようです。
UTF-8でURLエンコードして渡してやりたいので
HttpListenerRequestのContentEncodingをUTF-8に
変更する方法は無いものでしょうか?
2019/09/15(日) 13:24:01.68ID:e5i0rpht
・リクエストをPOSTにしてリクエストヘッダにContent-Typeでcharsetをつけたらいける
 (GETだとリクエストヘッダのContent-Type見ない)
・.NET Coreで作ればいける(既定のEncodingがUTF-8)
現実的な路線だとHttpListenerRequest::Url.Queryから自分で解析する
&でSplitして=でSplitしてSystem.Net.WebUtility.UrlDecodeするだけだから手間でもないだろう
2019/09/15(日) 14:16:06.62ID:xVla+TCI
>>344
ありがとうございます。設定変更はできないのですね。
Url.Queryから解析する方法でできました。ありがとうございました。
2019/09/21(土) 11:53:07.18ID:IqkFcyQH
Edge対応のWebViewというのを使ってみたのですが
TwitterやYoutubeのページを表示するとコントロール自体が消えてしまいます。
まだまだ使えるレベルじゃないのでしょうか?
EdgeはChromiumベースに変更になるらしいのでもう開発も止まってしまうのかなぁ。
2019/09/22(日) 17:40:23.81ID:SQSQEp+f
try ... Catch ex As Exceptionってあるけど。
Exceptionって全ての例外の総称なのかしらん。
この辺が激ムズなのよね。
2019/09/23(月) 17:18:44.15ID:pq0VywIb
他人、あるいは会社のHPに勝手にWEBリンクすると法律に抵触する可能性がある。
大企業の場合だと注意書きが書いてあり著作権侵害に発展しかねない。
自分でアプリを作って楽しむならいいが公開した場合は訴えたれる可能性が高い。
2019/09/24(火) 20:36:00.89ID:FExuOWno
今からXP対応アプリ作るなら.NET4.0より3.5のほうがいいのかな?
2019/10/06(日) 10:09:49.50ID:DbPNuBLu
DataTableやDataViewやDataRow等のクラスを使ってプログラム方法の詳細を学習したい
のに、本を見ても1〜2ページ程度で最も基礎なところくらいしか見つからないし、ネットでも
なかなか満足なページを見つけにくいもんで、良い情報源ないかいな。
会社のプログラムの改修で、現状はクライアント側でいくつかのDataTableを持っているところ
のソースコードを変更して、DataTableのAとBを結合するSQL文を使って、その結果のレコード
セットを得られる方法があるならしてみたいもんだが。
2019/10/06(日) 10:41:48.14ID:E1Kf1Oom
ネットの普及で全然命令が覚えられない・・・コピペばかりしてるからw
2019/10/06(日) 11:27:39.60ID:DIFmSC5F
>>350
linq to datatable
2019/10/06(日) 22:30:06.05ID:UvyBfzz+
そもそもDataTable等に対してSQLは発行できんよ
(なんかそういうサードパーティのライブラリはあるかもしれないけど)
一部メソッドでフィルタとかでSQLライクな記述ができる部分がある程度
今やるなら>>352の通りLINQ to DataTableになるだろうな
あるいは素直にDBに問い合わせなおすか
2019/10/22(火) 21:30:58.61ID:ZKwj8yiS
たんにDataTable間でリレーションってなら、DataRelationってのがあるにはあるが

SQLからデータテーブルつくるって話なら
そのSQLが単一テーブルからだろうが結合したテーブルからだろうが関係ないけど
355デフォルトの名無しさん
垢版 |
2019/10/31(木) 11:35:00.73ID:n8yPI0vq
For Each f In dir.GetFiles(・・・
なぜか半年ほどに1度「URIが正しくありません」といった例外が
発生してしまう。単純にファイルを探すためにつかっているのだが。
やはり URIの.IsFileを使って調べるのが正解なのだろうか?

C#だと起きてないみたい。
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 を使う理由もないし、
初心者用のテキストにも載っていない
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使わないのかー
2020/05/03(日) 19:42:25.18ID:+mGec9Yp
意味不明だな
自分で定義するときにクラスとどちらを選ぶかの話だろ?
Pointが構造体なのは、それが単一の値を意味しているしサイズも小さいしアンマネージコードとの相互運用に使うし
パフォーマンスが求められる場面で大量にインスタンスを作るような使い方が想定されるからだ
そうやって説明できるなら構造体を使えばいい
2020/05/03(日) 19:50:06.83ID:jHKSsTzt
結論
適切に使い分けろ
わからんかったらクラスでOK
2020/05/03(日) 20:33:43.70ID:7AFUUPUE
ポインターの話はそこまでだ!
2020/05/04(月) 17:11:14.33ID:zDJH0Fae
ポインターよりボインだー
483デフォルトの名無しさん
垢版 |
2020/05/23(土) 20:06:08.36ID:95GpHqv3
WCFを利用したフォームアプリを作成したいのですが、疑問があります(初歩的ですみません)

今回フォームがログイン、メニュー・・・といった感じで複数画面あります。
ログイン画面作成時にWCFとログイン画面のフォームを作った場合、メニュー作成するときWCFは新規に作成する必要があるのでしょうか?
2020/05/25(月) 00:53:51.16ID:75tsCqjl
WCFはフレームワークであってWCFを作るという表現は意味不明
サービスのことならどっちでもいい
ちなみにWCFは.NETの次のバージョンでは廃止されるから、お前に選択権があるならやめるべき
485デフォルトの名無しさん
垢版 |
2020/05/29(金) 17:09:45.32ID:5vHDJzPq
For iABC = 1 to 5
For i1 = 1 to 5
For XXYYZZ = 1 to 5
For 適当 = 1 to 5
みたいに毎回重複しない変数を用意しないとだから
指定回数ループする変数いらないヤツないの?
2020/05/29(金) 17:50:02.55ID:9O0dREg7
>>485
REXXだと正にそのものズバリの
Do 99
End
てのがあったんだけどねw
まあ普通ループカウンタの無いループの必要性ってあまり無いわな
2020/05/29(金) 18:58:38.48ID:5vHDJzPq
ふむ
2020/05/30(土) 18:44:40.27ID:umBvqxFr
LinqでRangeでForEachとか考えたけど、LinqのForEachってListしかだめなのかよ

Enumerable.Range(1, 5).ToList.ForEach(Sub() Debug.Print("Do!"))
素直にループ変数用意して回すほうがましだな
i,j,kぐらいで足らんようなら構造見直すべきだ
2020/05/30(土) 20:02:00.03ID:u5EvYy7J
おk
2020/05/31(日) 11:53:52.38ID:WVMdZLNI
.net coreだとvbはオワコンなのか
491デフォルトの名無しさん
垢版 |
2020/06/03(水) 14:46:36.88ID:lsOJv1ox
Windows FormのボタンをButton配列で動的に設定している処理があったのですが
静的と動的はどのように使い分けているのでしょうか
ボタンの数が多かったのと関係しているのでしょうか
2020/06/03(水) 15:07:50.89ID:def00RCS
>>491
「Button配列で動的に設定している処理」が何やっているか読めよ
人によって組み方は変わるからここで聞いたって的外れな憶測しかできんよ
2020/06/03(水) 15:50:36.18ID:4wtvyY9A
デザイナでポンポン配置するのが面倒じゃなければ性的
こんな数配置してらんねーと思ったら動的
2020/06/03(水) 16:35:27.00ID:0BifsHqi
プログラミングしながらおっ勃ててるとかどんだけ変態なんだろう…
495デフォルトの名無しさん
垢版 |
2020/06/03(水) 21:13:59.52ID:bZHkJmU/
毎回婦裸具をオッ立ててます
2020/06/07(日) 10:21:30.67ID:OTu6GsJm
>>490
一応サポートされる
が、C#メイン
2020/06/12(金) 01:23:39.99ID:IFr8Enpr
しかし、自作アプリからプリンターに印刷するってこんなに難しいのか?
狙った場所に印刷が出来なくて・・・どうしよう・・
498デフォルトの名無しさん
垢版 |
2020/06/12(金) 01:38:26.30ID:4psGVQqc
>>497
そんな難しくないと思うよw

もう何年もやってないから適当だけど、たぶんプリンタ固有の余白分ズレてるだけ。
GDI+の原点は用紙の左上ではなく、印刷可能領域の左上になってる。
この問題の対処法はググれば簡単に見つかるはず
2020/06/15(月) 00:22:01.70ID:F2ztfrtI
>>498
ありがとう。
印刷可能領域の左上なのね。
500デフォルトの名無しさん
垢版 |
2020/06/15(月) 01:19:49.90ID:rIWPArQR
Sub Main(args As String())で引数を渡さないで実行してもエラーにならない理由わかる方いませんか
2020/06/15(月) 01:44:39.21ID:BwepjBUz
むしろなぜエラーになるのか?
どんなエラーになると思ってるんだ
2020/06/25(木) 20:30:11.66ID:0L1EfJ/H
voidって言いたいのかな
2020/07/06(月) 19:38:36.21ID:fgkMQ2Bx
デザイン時に設定したプロパティの値(例ではTextBox1.Text)を実行時に取得する方法ってありませんか?
今はLoad時に変数に保存していますが、もっとスマートな方法は無いものかと…

Public Class Form1
   Dim defaulttext As String

   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
      defaulttext = TextBox1.Text
   End Sub
End Class
2020/07/07(火) 09:49:09.58ID:S3jLpbFZ
標準にはないね
汎用性を考えだすとIDisposableな型のプロパティとかどうするかって話になるし
505デフォルトの名無しさん
垢版 |
2020/07/07(火) 12:25:34.75ID:pZRFuct6
>>503
それでいいじゃん。
そもそも発想が変だと思うよ。
たぶんデザイナをブラックボックスだと考えてるからそうなるんだと思うけど。
デザイナは単にコントロールのプロパティーを設定するコードを自動生成してるだけw
それがInitializeComponent

まあ、プロパティーをデザイナで直接設定する代わりに
スコープをアプリケーションにしたアプリケーション設定にバインドすればたぶんやりたいことは実現できる。
https://www.atmarkit.co.jp/fdotnet/dotnettips/438winsettings/winsettings.html
2020/07/07(火) 14:13:03.22ID:wq2UphxJ
そもそもデザイナの設定なんで、実行時どころかコンパイル時で決定してるのに
それをなぜ実行時にコントロールから取得する必要があるのか
507デフォルトの名無しさん
垢版 |
2020/07/07(火) 18:21:35.43ID:sasngkCi
>>506
実行時に取得したくないからなんかないかってしつもんだぞ
508503
垢版 |
2020/07/07(火) 20:39:38.96ID:sfvoUyQU
皆さんありがとうございます。
例えば、テキストボックスの内容を初期値に戻すリセットボタンを付ける時など
デザイン時に設定した値を変数を使わずに簡単に呼び出せたらと前々から思っていました。
リソースを使うのがセオリーと思いますが、小規模なプログラムだとデザイナで設定する方が手軽なので…

TextBox1.Text = (New Form1).TextBox1.Text
↑のように新たなインスタンスを作ることも思いつきましたが効率が悪そうなので
>>503のコードのままにしようと思います。
509デフォルトの名無しさん
垢版 |
2020/07/07(火) 21:34:03.12ID:pZRFuct6
不特定のコントロールの不特定のプロパティーについて同様のことがしたいわけじゃなく、
特定のコントロールの特定のプロパティーで十分なら継承してResetTextみたいな
メソッドを追加しちゃうとすっきりするとは思う。
2020/07/07(火) 22:26:57.54ID:v9/yiQ7v
textboxならtextとtagに同じ値入れときゃいいんじゃね?
俺は内部からセットした時とユーザー入力区別するために使ってるけど
2020/07/08(水) 15:52:04.01ID:VvU4Rgja
tagってデザイン時に設定できたっけ?

結局起動後のユーザーコードでごちゃごちゃやるなら
用途に応じたコントロールに拡張すればってなるんじゃね
2020/07/08(水) 16:02:56.91ID:WXMpgQLP
デザイン時にも設定できるけどデザイン時に設定する仕様だと
絶対どこかで「TextとTag両方同じ値を設定」を忘れるから悪手
2020/07/08(水) 16:25:53.40ID:027Ge3m+
リセットボタンのClickイベントで、TextBoxに初期値をセットするコード書いて、
フォームのLoadイベントにも上記リセットClickを割当て(もしくはリセットClickを呼ぶコード書く)
同じことに実現できる気がしないこともない
2020/07/08(水) 19:32:20.68ID:VvU4Rgja
>>513
イベントハンドラから、違うイベントハンドラを直で呼ぶのは作法がよろしくない
初期化するプロシジャ書いて、リセットボタンのClickイベントとフォームのLoadイベントから呼べ
2020/07/08(水) 20:30:06.21ID:R3hJGdkL
>>512
Loadでコントロール全部舐めてTagにセットしてくって手はある
(コンテナが面倒くさいけど)
2020/07/12(日) 15:29:18.48ID:eH2rQS7C
Go To キャンペーンてなに?
2020/07/12(日) 15:31:59.68ID:lYrXBW+z
Gotoは使うなと爺ちゃんが言ってた
2020/07/13(月) 17:47:03.41ID:09itA6vs
強盗
2020/07/13(月) 17:59:31.89ID:aaJV9hNQ
∀B.ET「強盗ではありません。ごーつーです。」
2020/07/14(火) 16:33:50.53ID:lxjN9fvu
>>514
それはMSのガイドラインかなんかで定められてるん?
521デフォルトの名無しさん
垢版 |
2020/09/10(木) 11:00:21.02ID:1IS0tpD0
アホみたいな質問ですが投下させてください。

VBによって作られたソフトの改造業務をやることになったのですが
Propertyについての理解がネット記事を読んでも理解できません。

<宣言サンプル>
Public Structure ABC

Public Property SAMPLE(ByVal LONG as long) as boolean
Get
Return CBool(LONG And 0x0010)
End Get
Set(ByVal value as boolean)
'なにもしない
   End Set
End Property

End Structure

<実装サンプル>
For i=1 To 5
Strings = IIF(ABC.SAMPLE(i),"OK",NG")
Next

一部処理を省略していますが、
特定条件下で入るSAMPLEパラメータを基にして
条件分岐してるみたいですが
GETとSETの違いが全く理解できず
実装サンプルの構文の意味が理解できません。

初心者で申し訳ありませんが何卒ご教示お願いしまs
2020/09/10(木) 16:49:27.51ID:fVezAmUD
SET 設定する
GET 取得する
日本語だろ
2020/09/10(木) 17:07:50.68ID:HD/UycmT
作りが悪い気がするけど、なにもしてないんだから
Set側無視してたんなる関数だと思っていいんじゃね
2020/09/10(木) 18:16:35.03ID:3VR4tcWl
readonlyでいい気もするけど要はビットテストみたいなことしたいんだろ
2020/09/13(日) 00:23:00.92ID:TFaD5/iw
ASP.NET+SQLServer2019でWebアプリ作ったんだけど、デバッグでDB接続はうまくいくのに、発行してIISから参照するとDB接続が失敗して困ってる。
2020/09/13(日) 14:54:38.22ID:xeL9byBp
参照先が正しく設定できてないときは、確かプロジェクトフォルダ内ファイルを参照
することが多い。したがってデバック時にエラーが出ない。
そういう時は、参照先をすべてチェックするといい。
527525
垢版 |
2020/09/14(月) 17:07:20.83ID:ayzmQ3GL
ちょっと詳しい人に聞いたら、SQLServer側の問題だった。
あと、凝ったことやろうとするとJavascriptも使えないとダメだな。
528デフォルトの名無しさん
垢版 |
2020/09/16(水) 10:53:00.65ID:57F1eHvg
素人質問で申し訳ありませんが再度書込させていただきます。
VB2008にて、
「ボタンを押した時、既にEXCELが起動していたら終了する」処理をやらせたいのですが、
EXCELが起動していない時に実行するとエラーになってしまいます。
ネットとかで試してみたりしたのですが、うまくいきません。
EXCELが起動しているかどうかのプロパティなど、わかる方いたらご教示ください。

サンプル
<宣言>
Public ExAppli As Excel.Application 'Excel Object
Public ExBook As Excel.Workbook 'Excel Workbook Object
Public ExSheet As Excel.Worksheet 'Excel Worksheet Object
  Const FilePath As String ="C:\STRAGE\"

<構文@>
Public Function ExcelOpen(ByVal FilePath As String) As Boolean
ExAppli = CreateObject("Excel.Application") 'EXCEL Objectの作成
ExAppli.Visible = False 'アプリケーションの非表示
ExBook = ExAppli.Workbooks.Open(FilePath) 'ファイルを開く
ExAppli.Visible = True 'アプリケーションを表示
End Function

<構文A>
Public Function ExcelClose() As Boolean
'EXCEL起動のチェックがしたい
If Cbool(ExAppli.Active) = True Then
ExAppli.Quit() 'EXCEL終了
Else
'エラーメッセージ
End If
End Function
2020/09/16(水) 18:01:22.74ID:tyILeQdo
EXCELが起動していない時に実行するとエラーなのは
お前の意図する動作だろ
2020/09/16(水) 20:48:50.73ID:pG4LN1Ne
' An error 429 occurs on the following line:
Set oExcel = GetObject(, "Excel.Application")
2020/09/22(火) 21:31:39.04ID:itMH1iYh
trycatchで捨てれば楽
532デフォルトの名無しさん
垢版 |
2020/10/07(水) 21:30:27.59ID:ZJ/MXczd
MSChartのグラフ部分を拡大縮小できるように拡張メタファイルを直接生成する関数やライブラリってありますでしょうか?
2020/10/08(木) 05:23:50.50ID:GTaO2d9W
MSChartのグラフ部分を拡大縮小できるようにって部分はちょっと意図を読めないけど
拡張メタファイルはSystem.Drawing.Imaging.Metafileを使えば作れるよ
New Metafile(Stream or String, ほかいろいろ)した後、Graphics.FromImage(meta)で作ったGraphicsに書き込んでいけばいい
Graphicsの各種メソッド呼び出すだけで自動的にファイルに書き込まれていく 逆にSaveメソッドはpngにしかならないので呼んじゃダメ
New Metafileの第2引数にデバイスコンテキスト要求されるけど
これはダミーのBitmap作ってGraphics.FromImage()からGetHdc()するとか
フォームアプリならthis.CreateGraphics()からGetHdc()するとか
2020/10/08(木) 12:42:30.49ID:PTmOp2GP
>>532
使ったことないけど、佐藤さんの作ったヘルプファイルを見た感じ
SaveImageで一発で出来るように思うんだけど違うの?

>>533
そこの意図は明瞭でしょ
EMFの利点はベクター形式だってことなんだからw
2020/10/08(木) 13:44:07.81ID:3btmZKnR
MSChartのグラフ部分を(拡大縮小できるように)拡張メタファイルに出力する
こうか 読み違えてたわ
536デフォルトの名無しさん
垢版 |
2020/10/08(木) 23:31:16.63ID:/6L+tlPV
>>533 >>534
返信ありがとうございます!Saveimageでばっちりできました。直接お絵描きする必要無かったです。
2020/10/24(土) 15:30:50.53ID:P9kP7iSR
ASP.NETで作ったWebアプリがpc、AndroidのChromeでは動くのに
iPhoneのChrome、safariではボタン押しても正常に動作しない。
どうしてだろう?
2020/10/24(土) 15:44:00.66ID:P9kP7iSR
あとGoogleの検索エンジンに全く引っかからない。
一応、headタグや見出しにSEO対策したつもりだが、、
539デフォルトの名無しさん
垢版 |
2020/10/27(火) 19:32:20.87ID:bFDGidnH
まあ、お前が分からないのなら
他に分かるやつなんていないよ
540デフォルトの名無しさん
垢版 |
2021/01/17(日) 13:10:16.16ID:XppeH8WH
教えてください。
VB.netです。
inkeditでtext-alignを触りたい時はどうすればいいですか?
文字を真ん中に持っていきたいと思っています。
2021/01/18(月) 10:46:27.50ID:G8032nPp
ES_CENTERつけても無視されたからInkEdit単体だと多分無理
雑にやるなら上端にTextBox重ねるとか
2021/01/18(月) 18:42:17.74ID:Y7agfnjO
>>540
全選択してSelectionAlignment でいけるんじゃね
543デフォルトの名無しさん
垢版 |
2021/01/20(水) 18:57:07.25ID:JnS7W0cK
>>540
全選択の意味がわかりません。いろいろやってみましたがわかりませんでした。
教えてください。
544デフォルトの名無しさん
垢版 |
2021/01/20(水) 19:07:52.98ID:JnS7W0cK
>>540
スミマセン。
InkEdit1.SelectionAlignment = HorizontalAlignment.Center
でできました。
でもカーソルが邪魔です。カーソルは消せないですよね。
2021/01/22(金) 23:20:03.70ID:05kTt1yA
アクセス許可の権限範囲がいまだに理解できない俺。
Authenticated Users  この権限は理解に苦しむ。
546sage
垢版 |
2021/01/24(日) 23:05:38.57ID:70iKnrYl
inkpictureのstrokeをGetPixelで色を収得したいのですが、どうすればいいですか?
2021/02/02(火) 16:58:04.73ID:KLUL/+Qk
ADO.NETの操作について詳しいサイトありましたら紹介してもらえませんでしょうか?
2021/02/02(火) 19:55:19.61ID:fWKN54jK
>>547
https://docs.microsoft.com/ja-jp/dotnet/framework/data/adonet/
2021/02/12(金) 18:31:31.63ID:faW+M87N
非同期処理でtextboxに文字を出力する方法でおすすめのページある?
2021/02/12(金) 18:51:14.78ID:EzzdzoPL
>>549
いくらなんでもざっくりし過ぎじゃないか
2021/02/12(金) 18:53:42.04ID:faW+M87N
>>550
cmdの結果をデリゲートでTextBoxに出力したいんだがデリゲート処理がわからなくて
2021/02/12(金) 19:08:48.57ID:EzzdzoPL
>>551
Control.Invoke使ってもいいけど今時はその「cmdの結果」
を返すメソッドを非同期メソッドにするだけだよ
2021/02/12(金) 19:12:37.11ID:faW+M87N
>>552
https://dobon.net/vb/dotnet/process/standardoutput.html

これの「コマンドプロンプトに文字列を入力することで、複数のコマンドを実行する」を参考にしてるんだけどよくわかんなくてね
2021/02/12(金) 19:16:01.10ID:faW+M87N
>>552
ttps://dobon.net/vb/dotnet/process/standardoutput.html

ここの複数コマンドのみてるけどこの処理とは違うの?
2021/02/12(金) 19:16:17.41ID:faW+M87N
消える…
2021/02/12(金) 19:17:31.96ID:faW+M87N
>>552
これとは違う?
https://i.imgur.com/nqnqpws.png
2021/02/12(金) 21:00:41.51ID:7M5mWl4U
>>556
非同期で呼び出されるイベントハンドラで結果がもらえるコードみたいだだから
非同期メソッドにはしづらいね。

例えばフォームにこんなメソッドを用意して、
Private Sub OnUIThread(a As Action)
  BeginInvoke(a)
End Sub

イベントハンドラで
OnUIThread(
Sub()
  TextBox1.Text = "hoge"
End Sub)
みたいにやればいいんじゃないの?
2021/02/12(金) 21:09:14.42ID:7M5mWl4U
しかしVBのラムダ式は酷いねw
昔VB好きだったけどこれが嫌でC#に乗り換えた人いっぱいいると思うわ
559デフォルトの名無しさん
垢版 |
2021/02/14(日) 10:17:02.39ID:p2XUJg0+
Picturebox1に円を描いた後、Button1で円を追加したいと思います。
以下のコードだと前の円が消えてしまうのですが、どうすればいいですか?
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim canvas As New Bitmap(PictureBox1.Width, PictureBox1.Height)
Dim g As Graphics = Graphics.FromImage(canvas)
g.DrawArc(Pens.Black, 20, 20, 20, 20, 0, 360)
PictureBox1.Image = canvas
End Sub

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim canvas As New Bitmap(PictureBox1.Width, PictureBox1.Height)
Dim g As Graphics = Graphics.FromImage(canvas)
g.DrawArc(Pens.Black, 20, 20, 10, 10, 0, 360)
PictureBox1.Image = canvas
End Sub
2021/02/14(日) 10:54:41.13ID:uBaPwBqa
>>559
内容理解せずコピペだけでコード書く人?
>Dim canvas As New Bitmap(PictureBox1.Width, PictureBox1.Height)
>PictureBox1.Image = canvas
新しい「canvas」を自分で用意してPictureBox1.Imageを差し替えているんだから前に描いた部分が無くなるのは当たり前
Graphics.FromImage(PictureBox1.Image)に描かないと
2021/02/14(日) 11:50:51.24ID:aTi3CIRw
VB.netはdobon.netのコピペでどうにかなりますw
2021/02/15(月) 14:10:16.04ID:5FnD09yO
Dim i as Integer
i =6

Dim sBox as TextBox
sBox.Text = "aaa"

これですと、上のiでは何ともないですが、下のsBoxには
「値が割り当てられる前に〜」と警告が付きます。
警告が付いたら
= New TextBoxをつけて、
sBox.Disposeで閉めればいいと考えていますが、
どれにNewをつけるとか付けないとかの区別について教えてください
2021/02/15(月) 14:48:46.22ID:8oqgKRR4
そもそも上下で明らかに違うじゃん
上は変数への代入で下は変数のプロパティへの代入
上に合わせるなら下は
Dim sBox as TextBox
sBox = New TextBox
でしょ
2021/02/15(月) 15:38:10.60ID:99lDenvk
>>562
それを理解するためには構造体(値型)とクラス(参照型)の違いを理解する必要がある。

これは余計なお世話だけど、そのレベルの初心者なら今からでもC#に乗り換えた方がいいよ。
VBでもC#でも習得の難易度は違わない。今あえてVBを選択する理由はないよ。
2021/02/15(月) 21:44:03.49ID:9tCXcZYT
Disposeが正確に書けてるかは自信ない。
無駄に書いてることもあるかも知れないし、必要なのに書いてないけど悪い影響なく動いてたり。
2021/02/15(月) 22:09:14.54ID:JE19der5
下手にvb出来るとvb6からの置き換えとかいう定番のクソPJにぶち込まれる可能性があるぞ
2021/02/17(水) 00:11:37.94ID:L4nzR7y3
いまさらだけど、
VB6にあったコントロール配列ってなんでなくなったの?
2021/02/22(月) 09:27:56.84ID:vXu6VXfd
VBFormのブラックボックスな実装に依存してるから
WinFormは.NET Frameworkベースだからブラックボックスは使えない

互換性保とうにも、イベントハンドラの実装なんか別物に変化してるんで
不可能だと判断されたのだろう
569デフォルトの名無しさん
垢版 |
2021/02/23(火) 08:50:50.19ID:NUvCbrOs
昔の書籍のVB5でゲーム作ろうとか
VB6でDirectX7ゲーム作ろうとか持ってるけど
.NETでは全く違うのかね?

BitBLTとかも使えなくなってんの?
DirectXはVBからの使い方のルールも違うのかね?
2021/02/24(水) 11:14:45.88ID:yk917ZdG
BitBltはWindowsAPIだからインポートすれば使えるがアンマネージになるのでめんどくさい
.NETのGraphicsライブラリの使い方覚えるほうがずっと楽

DirectXも同様。色々ラッパーも有るけどオワコンも多い
.NETでゲーム作りたいならUnitiyでも覚えたほうがいいんじゃないかな
571デフォルトの名無しさん
垢版 |
2021/02/24(水) 11:54:14.87ID:BstpO7i2
unityとかどんどん肥大化するから使いたくない
VSだって肥大化してるからVS2008やcode使ってる
2021/02/26(金) 00:57:11.39ID:yh0R3Tzg
VB.netで 3Dグラフってどうするの?
2021/02/26(金) 19:21:46.77ID:pp9GTcLB
Chart
2021/02/28(日) 18:05:38.62ID:HFC/+izz
音声認識について教えてください。
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
reco.SetInputToDefaultAudioDevice()
Dim gram As New Recognition.SrgsGrammar.SrgsDocument
Dim Rule As New Recognition.SrgsGrammar.SrgsRule("color")
Dim List As New Recognition.SrgsGrammar.SrgsOneOf("red", "green", "blue")
Rule.Add(List)
gram.Rules.Add(Rule)
gram.Root = Rule
reco.LoadGrammar(New Recognition.Grammar(gram))
reco.RecognizeAsync()
End Sub

Private Sub reco_SpeechRecognized(ByVal sender As Object, ByVal e As System.Speech.Recognition.RecognitionEventArgs) Handles reco.SpeechRecognized
Select Case e.Result.Text
Case "red"
SetColor(Color.Red)
Case "green"
SetColor(Color.Green)
Case "blue"
SetColor(Color.Blue)
End Select
End Sub

これの"red", "green", "blue"を
a(1)="red"
a(2)="green"
a(3)="blue"

というデータから読み取りたいと思います。
どうすればいいですか?
2021/02/28(日) 19:02:27.16ID:ReKePojt
引数なしでNew SrgsOneOfしたあとそれにAddしてけばいいんじゃないの
2021/02/28(日) 19:40:09.89ID:HFC/+izz
どのようにAddすればいいですか?
Dim a(100) As Recognition.SrgsGrammar.SrgsItem
a(1) = SrgsGrammar.SrgsItem("red")
List.Add(a(1))
2021/02/28(日) 20:09:34.72ID:ReKePojt
こんなんだろ多分
Dim oneOf = New SrgsOneOf()
For Each word In words
oneOf.Add(New SrgsItem(word))
Next
List.Add(oneOf)
2021/02/28(日) 22:36:09.00ID:HFC/+izz
返信ありがとうございます。
List.Add(oneOf)
のoneOfで
「型SrgsOneOfの値をSrgsItemに変換できません。」
というエラーが出ます。
教えてください。
2021/03/03(水) 20:12:19.91ID:FWifKpzu
List.Add(New SrgsItem(oneOf))
で解決しました。ありがとうございました。
2021/03/03(水) 20:39:29.57ID:FWifKpzu
ディクテーションで、なぜか
”he" だけ認識しない。
発音が悪いだけでしょうか。
"heel"とか"she”とか"what"は認識します。
581デフォルトの名無しさん
垢版 |
2021/03/03(水) 20:47:48.28ID:NQNDMH5/
頭も悪いと思うよ
582デフォルトの名無しさん
垢版 |
2021/03/05(金) 08:31:54.32ID:TerEZabb
質問させてください。
VB.net2010にてAcrobat sdkを使用し、デスクトップに保存しているpdfを
ボタンを押すとPanel1に表示するプログラムを作成しました。

Dim pdfOcx As New AxAcroPDFLib.AxAcroPDF
Dim sFile as string = "C:\temp\a.pdf"
pdfOcx.Dock = DockStyle.Fill
Panel1.Controls.Add(pdfOcx)
pdfOcx.LoadFile(sFile)

次の条件において確実にアプリが落ちてしまいます。(vb.netではエラーログ無し)
・PDF表示後、アプリを5分程度放置してもう一度PDFを表示させる。
Windowsのログには必ず次のエラーが記録されます。
障害が発生しているモジュール名: ntdll.dll、バージョン: 10.0.19041.844、タイム スタンプ: 0xa9ac4e88
例外コード: 0xc0000005

開くPDFを別のものに変えても発生します。
Acrobat sdkを使用せずWebBrowserで表示させても発生します。

恐縮ですが、何か原因は考えられるでしょうか?
よろしくお願いします。
2021/03/05(金) 15:31:35.57ID:g515SU59
0xc0000005はアクセス違反
…解放済みのメモリのアクセスしたりすると起こる
OCXがウンコっぽいのでどうにもならないかもしれない
2021/03/05(金) 15:48:52.76ID:TerEZabb
>>583
そうですか。
ありがとうございます。
2021/03/05(金) 15:55:30.08ID:Q+C4a65x
GCされちゃったとかそんなのかな…
2021/04/01(木) 12:49:52.32ID:zlbcSdbZ
VBからFirebase>Firestoreにデータ保存するサンプルプログラムない?
587586
垢版 |
2021/04/02(金) 16:45:34.04ID:xNBuYvES
youtubeで検索したら英語、C#ですがやり方が出てきました。
2021/04/04(日) 14:54:07.18ID:dSOQ4jrk
>>586
https://www.example-code.com/vbnet/fireBase.asp
2021/04/04(日) 14:56:45.03ID:dSOQ4jrk
FirebaseよりMySQLとかPostgreSQL使う方が後々良いと思うが
2021/04/06(火) 15:50:26.01ID:zhVSqWc5
VB.NETの案件も最近増えて来たね
一時期はC#がほとんどだったのにね
2021/04/06(火) 18:21:03.21ID:T0VrQe+V
ソースは?
2021/04/06(火) 20:47:58.45ID:M/BjHe5K
VBってnullable referenceすら追加してもらえなくなったし
もう保守しかないんじゃ
2021/04/06(火) 21:01:00.28ID:Bsudg9ot
VBは今後言語への機能追加はしないってMS公式に宣言出たよ
2021/04/06(火) 21:15:07.65ID:34VhPfz+
VBの役割はVS2005の時代で終わってると思うよ。
2008以降も使ってるところは正直どうかしてると思う。
2021/04/06(火) 21:44:34.37ID:A8jxxYnR
VB.NETプロジェクトをC#プロジェクトにソースレベルでコンバート出来るようにならない限りは…
2021/04/07(水) 10:08:48.70ID:RzHskyO4
>>593,594
新機能なんて不要
既存機能でシステム構築出来れば案件も出て来る
出来る範囲の広いC#は意外とビジネスロジックには機能過多だし
VB.NETはCOBOLみたいにレガシーになるのさ
2021/04/07(水) 10:51:49.42ID:RzHskyO4
>>591
VB.NET 案件でググれば分かる
2021/04/07(水) 12:27:17.69ID:RzHskyO4
>>593,594
https://social.msdn.microsoft.com/Forums/ja-JP/fa2ee5c5-bc19-4158-86bd-4140292698be/vb12398201702446012395123881235612390net-core-net5?forum=vbgeneralja
2021/04/07(水) 16:13:26.53ID:bHi8pMA7
>>592
ビジネスロジックでnull許容型なんてまず使わない
だから不要
2021/04/07(水) 17:05:34.61ID:bWQM3yRK
>>599
C#に追加されたのはnull「非」許容な参照型な
つまり君の言う通り必要だ
2021/04/08(木) 10:01:09.84ID:30DrVK+s
>>600
null許容型でもスペースクリアする様にルール化する
大丈夫
2021/04/08(木) 10:46:46.37ID:30DrVK+s
VBで出来る事はC#で出来る
C#しか出来ないのはゲームプログラミングや制御プログラミング
ビジネスロジックにはそんなモノ必要無い
2021/04/08(木) 10:51:03.94ID:30DrVK+s
ゆえにCADとかやってる所ではC++からC#に移行した所は有る
言語の需要が違う
2021/04/08(木) 11:20:19.42ID:LXJcVTVi
C#の機能がビジネスロジックに不要であるという主張に具体性がなさすぎてなんとも
明らかな反例だけは出ていて、意図せぬnullの混入がビジネスロジックにとって極めて有害であることは君自身が認めている通りだ
実際VBerって参照型を正しく理解してない奴多いし、nullが嫌だからと構造体を好んで使う馬鹿な現場もよくある
むしろVBにこそ必要な機能だと思うけどね
2021/04/08(木) 11:35:10.81ID:30DrVK+s
>>604
>>602で書いてる通りC#の便利過ぎる機能はビジネスロジックに使うかは施主による
でも大概のビジネスシステムではVB.NETの機能だけで実装出来る
それをVBプログラマ自身も自覚して無い問題は有る
2021/04/08(木) 11:40:01.45ID:30DrVK+s
要はnull非許容にするにも方法は他にも有るから何とでもなる
それを明確に実装ルール化してる現場は幸せ、だと言う事
ルール化してない現場は有象無象のプログラムが出来て混乱する元
2021/04/08(木) 12:23:57.08ID:cBp1Cxoy
そらCOBOLでも業務システムは作れるし、C++でも正しく使えば安全なシステムは作れるわな
あんたが言ってるのはそれだけのことでしかない
2021/04/08(木) 12:38:40.49ID:30DrVK+s
>>607
分かってるよ
でもC#使いにVB.NET言語仕様をdisられる必要は無いと思ってる
要は分かって言語使えば良い、って事だよ
2021/04/08(木) 12:42:22.02ID:30DrVK+s
そもそも何でVB.NET質問スレにC#プログラマが張り付いてるのか分からんわw
2021/04/08(木) 14:05:14.03ID:tCGGFTkm
>>609
老婆心?
2021/04/08(木) 19:57:41.35ID:zyDmqDik
>>602
制御プログラミングでC#にできてVB.NETにできないことの具体例を教えて下され
2021/04/08(木) 20:39:34.94ID:2X6jgSCW
RS-232Cの制御じゃね?
613デフォルトの名無しさん
垢版 |
2021/04/08(木) 21:01:48.57ID:z/gPOoTy
>>612
馬鹿の典型例
2021/04/08(木) 21:51:16.02ID:+VGKHTKI
バカの飯の種になること
2021/04/09(金) 08:39:25.22ID:8U9v8TbS
>>611
ググれば出て来るよ
2021/04/18(日) 14:17:59.95ID:6PVtNKAE
>>612
https://www.contec.com/jp/support/basic-knowledge/daq-control/serial-communicatin/application/
VB.NETで出来るみたいよ
2021/04/18(日) 14:27:57.20ID:6PVtNKAE
APサーバー-----Windowsサーバー
実装言語---------VB.NET
DBサーバー-----Linux(MySQL)

VB.NETからデータベース(MySQL)に接続する方法はODBC経由しか無いのでしょうか?

ADO.NET経由での接続も可能ですか?
2021/04/18(日) 15:47:44.39ID:H9HZrEaL
>>617
https://www.mysql.com/jp/products/connector/

ADO.NET driverやODBC driverが有る
試してみて実行スピードが速い方を選ぶ事になるかな
2021/04/20(火) 15:03:07.09ID:oemRn1Bu
>>617
APサーバーがWindowsでDBサーバーがLinuxねえ、、
UbuntuにでもMySQLインストールするのかね
APサーバーもUbuntuにしてASP.NET Coreインストールする方がスッキリするんでは無いのかな?
2021/04/20(火) 17:27:51.51ID:9RGA0kSa
>>619
APサーバのCALが払える企業ならね
実際問題、Linuxに移行出来るなら、その方が良いだろうね
.NET5でVB.NETも普通に動くし
2021/05/14(金) 20:43:25.49ID:XNIKXnjr
Visual Basic 16.9が.NET 5に
https://www.infoq.com/jp/news/2021/05/VB-16-9/
2021/05/18(火) 12:15:33.85ID:V6DjXu9K
>>621
VB.NETの言語仕様も完成形に近づいたな
案件的にもC#と同じぐらいVB.NETの案件って増えてる
2021/05/19(水) 01:06:33.22ID:mf/RT69h
vbの仕事なんて腐ったシステムのお守りかvb6からのバージョンアップとかそういうクソ案件しか聞かないんだが・・・
2021/05/19(水) 07:54:33.70ID:2HKj1i+z
新規でC#じゃなくてVB.NET指定の案件てどういう事情?
2021/05/19(水) 10:03:35.57ID:BVf0fOh7
>>624
>>623のVB6→VB.NETマイグレとか
2021/05/19(水) 11:12:25.27ID:BVf0fOh7
https://pe-bank.jp/project/cobol/7353-K05/

COBOL→VB.NETマイグレ
2021/05/30(日) 20:04:49.07ID:IYhCgCcB
form1とform2があり、form2のボタン投下時にテストファイルに書き込むものを作ってます。
別classに書き込むコードを書きたいのですが、form自体をを引数にすることなく、form1とform2のTextBoxやLabelやらの値を使用したい場合ってどうすればいいですか?複数コントロールがある為困ってます。
2021/05/31(月) 16:41:36.97ID:uVxwOop1
>>627
地道にForm1のラベルやテキストボックスの値をPublicなワークエリアに保存する様に実装するしか無いよ
2021/05/31(月) 19:19:11.42ID:uPdCIaeh
>>628
ありがとうございます。
2021/05/31(月) 21:24:09.59ID:Zh+Gn3zr
モj

…原理主義者が騒ぐから止めとこ…
2021/05/31(月) 22:50:13.59ID:Puq8NKSh
必要な値を直接引数で渡せばいいのに、何で「form自体をを引数」だの「Publicなワークエリアに保存する」
だの「モj」だのという謎の発想になるのw

もうマジ意味不明過ぎるwwww
2021/05/31(月) 23:51:20.41ID:Zh+Gn3zr
>>631
ふーん…
パラメータ30でも40でも書き連ねるんだ…
そっちの方が意味不明だな
2021/06/01(火) 00:09:02.35ID:mzNrSMac
>>632
なるほど「モj」は必要なパラメータを自動的に減らしてくれる魔法なのか
頭良すぎてついてけいないねw

こういう訳分からん思考回路の人はプログラミング向いてないよほんと
適性ゼロ
2021/06/01(火) 07:57:04.86ID:J7xgNxsR
>>633
自己紹介乚
朝鮮ゴキブリみたいw
2021/06/01(火) 17:52:13.18ID:fMIWlz8l
VBスレらしい民度の低さに思わずニッコリ
2021/06/01(火) 18:08:09.46ID:xMp5onVw
VB6以前からの悪習
2021/06/07(月) 13:38:45.51ID:Fd6HiZks
>>626
COBOLプログラマーかき集めるのかな
2021/06/13(日) 23:49:12.43ID:QeM7ycnl
そもそも VB や C# ごときの言語仕様でイミュータブルとかアホくさ。

Windows OS を構成する膨大な Native DLL を .NET 言語でラッパしたのが
.NET Framework であり、それを容易に呼び出せるのが VB.NET, C# っていうだけだろ。

暴論をいうと Windows OS の機能を使うための言語なんだから、一般的な言語哲学を語ってもしょうがない。
.NET のコンパイルはバイナリを吐かない。吐くのは中間言語だ。

メモリマップトな考え方をしたいなら、Native で書けばいい。
2021/06/13(日) 23:52:34.49ID:QeM7ycnl
VB.NET の良いところは、簡単で並大抵のことはすぐにかけてしまう。
だから横着をして、本来なら演算子を使うべきところを謎関数を使って、汚いコードになってしまうこと。

自分のことだが。。
640デフォルトの名無しさん
垢版 |
2021/06/13(日) 23:53:54.89ID:QeM7ycnl
VBに限った話ではないが、フレームワークの機能を使わなくても本来なら
言語仕様の範囲で書けてしまうところを、横着して謎関数を使って、無駄に長くなり、

それだけならいいが、謎関数を使わないと書けなくなってしまう(ASCII変換あたり)
人が出てくることかなぁ?
641デフォルトの名無しさん
垢版 |
2021/06/14(月) 00:00:52.40ID:ldo219Dq
.NET5 は Linux で動くのは魅力だが、 .NET4 で書いたコードを移植するのが面倒くさそう。
ドップリ Framework 依存の、画面関係なんか壊滅的だろうな(移植する気もないんだろうが)
642デフォルトの名無しさん
垢版 |
2021/06/14(月) 20:05:38.07ID:BmiJqBp+
VBAからの乗り換えは大変ですか?
同じ大変さならC#にしようかなと...
2021/06/15(火) 09:09:08.08ID:ps5H5pVN
個人的には
・全然違う言語なのに半端にVBAに似ててかえって混乱する
・検索結果にVBAや旧VBのものが混ざって見分ける必要がある(特にWindowsAPI呼び出し)
・ネットに転がってるサンプルはC#のほうがだいぶ多い
のでC#から始めたほうが良いと思うな
C#に慣れればVB.NETも自然に読み書きできるようになるし(ラムダ式とかでイライラしそうだけど)
2021/06/15(火) 10:15:31.90ID:uKVr/+B+
VB6→C#、VB6→VB.NETどちらも手間は変わらんよ
今はC#でもVB.NETでも出来る事はほとんど同じだよ
2021/06/16(水) 03:28:43.34ID:e0jf5g/s
下手にVBできるって言っちゃうとクソプロジェクトにアサインされるので言わないようにしてる
マジでVBのシステムでまともなの見たことない マジで
メンバーも向上心ゼロの無気力おっさんばっかだし・・・
2021/06/16(水) 06:56:25.40ID:OhC4hyYk
なぜプロジェクトに参加しないのにわかるのか
近くにいるのかもしれないがよく見てて暇なのかな?w
647642
垢版 |
2021/06/16(水) 15:10:35.10ID:lDALpvxr
>>643
>>644
ありがとうございます。
2021/07/14(水) 09:31:14.70ID:jLoTFlk8
個人の趣味でWindowsアプリ作るのが目的だったんだけどVBが疎まれてるからC#覚えた

ただ結局同じことが出来るVB.NET使ったほうが欲しいものがサクっと出来ることに気づいて覚え直した

なんか騙された気分なんだけどVB卑下してる人の大部分って個人ではどうでもいいような制御系とかLinux使ってる専門職の人?
2021/07/14(水) 10:44:10.73ID:SSFv5Eu5
>>648
VBerにマウント取らないと死んでしまうんだろw
俺はC系のソース見ると鳥肌立つけど
2021/07/14(水) 12:49:09.14ID:5dP8/+MQ
VBも2005までは不満はあってもC#より便利な面もあって存在意義もあったが、
2008でケチがついた。
今は完全に終わってる。
もうVBはその役割を終えたんだよ。

使いもせずにVBを馬鹿にしてた人がいたのは確かだが、だから逆張りでVBに固執するんじゃ
そんな連中よりもっとバカだ。
2021/07/14(水) 13:37:01.53ID:SSFv5Eu5
#er君はともかく二言目には「VBは終わった」
それしか言えんのなw
2021/07/14(水) 13:58:33.77ID:UFXgFosE
こういう奴がネトウヨとかなるんだろうな
生粋のバカだ
2021/07/14(水) 15:21:03.74ID:6kZWVtLB
言語なんて何でも良いんだよ!大事なのはアルゴリズムだ!
654デフォルトの名無しさん
垢版 |
2021/07/14(水) 19:21:10.83ID:SSFv5Eu5
と生粋のバカのネトパヨがw
2021/07/15(木) 20:56:02.03ID:/QdVOyR6
朝鮮人ってどのスレにも湧いてくるよねー
2021/07/16(金) 01:45:18.98ID:qOSbZWDA
仕事で関わったVBer、土日はPC一切触らないとかそういう人ばかりだった
2021/07/16(金) 07:08:47.36ID:SE8dGCe3
>>656
だから何?
たまたまそうだっただけなのを「全てガー」ってまるで朝鮮人w
658デフォルトの名無しさん
垢版 |
2021/07/17(土) 17:54:57.41ID:M1koy5h6
あの、asp.netなんですが質問させてください
659デフォルトの名無しさん
垢版 |
2021/07/17(土) 18:09:20.51ID:M1koy5h6
ASP.netのCoreじゃない古くからあるFormsで
一部のWebAPIだけ公開したいのですが、
Coreのほうだと各WebAPIメソッドの頭にEnableCorsを付ければ公開したいものだけ指定できるみたいなんですが
古いほうだとweb。configにAccessControlAllowOriginを書く方法しか見つかりませんでした

でもweb。configに書くと全てのWebAPIが公開されちゃうじゃないですか
なんとかして古いformsのほうで一部だけ公開ってできないものでしょうか?
2021/07/22(木) 09:44:30.33ID:w8vQCEu7
やったことないけどこういうの?
https://docs.microsoft.com/ja-jp/aspnet/web-api/overview/getting-started-with-aspnet-web-api/using-web-api-with-aspnet-web-forms
非公開にしたいメソッドにNonAction属性付けるのはどう
661デフォルトの名無しさん
垢版 |
2021/07/22(木) 13:38:58.29ID:0CBg/eZu
>>660
いえ、例でいうと
AとBっていうWebAPIがあったとして、
AはASP.net自身で作成したホームページからのみ実行可能で
Bは自身以外(例えばスマホからAJAX経由)でも実行可能としたいんです
NonActionだとただのメソッドになってしまうのでAからもAjaxでコールできなくなってしまいます
2021/07/22(木) 14:11:48.98ID:2BJFjQfb
公開ってのがCORSの制御のことなら、WebFormでも
ASP.NET Web API 2 でのクロスオリジン要求を有効にする
https://docs.microsoft.com/ja-jp/aspnet/web-api/overview/security/enabling-cross-origin-requests-in-web-api
の通りEnableCors属性で制御できるっぽいぞ

かるく試したが
Nugetでインストールして、有効にするのはGlobal.asaxのApplication_Startで
GlobalConfiguration.Configure(Sub(config) config.EnableCors())
とかやればいけるっぽい
2021/07/23(金) 11:04:39.77ID:MYFSNKEn
プログラム経験ゼロの初心者の質問ですみません。
勉強も兼ねて個人用の簡単なアプリケーションを作って使ってたのですが、.
.NET Framework 4.8で作ったのを試しに丸々.NET 5に移したところ1ループの処理が結構遅くなったんですがこれは仕様なんでしょうか?
フォルダパス入力すると中のログファイルから特定の条件満たす行があるファィルがあればパスを列挙して1ループ終了というごく簡単なものです。
フォルダパス入力→結果表示が、移植前は一瞬で表示されてたのが移植後は少し時間かかるようになりました。
途中の処理はForEachにEnumerateFiles使用し、ReadAllLinesとAny(Function)と簡単な正規表現パターンで抽出の繰り返しになります。文字コードはShift JISです。
2021/07/23(金) 14:28:50.90ID:xliiSqIt
5は起動が遅いとかよく聞くけど、それほんとに内部の処理が遅いのか?
ちょっとコード曝してみ
2021/07/23(金) 16:16:47.16ID:MYFSNKEn
>>664
遅くなった部分のコードはこんな感じに書いてます。初心者なもので下手な書き方ですが。
For Each I As Integer In Enumerable.Range(1, 1)
Console.WriteLine("フォルダのフルパスを入力してください")
FolderPath = Console.ReadLine().Replace(""""c, "")
If Not (System.IO.Directory.Exists(FolderPath) AndAlso System.IO.Directory.EnumerateFiles(FolderPath, "*.log").Any) Then
Console.WriteLine("無効なフォルダが指定されました。処理を終了します。")
Exit For
End If
Console.WriteLine("エラーありファイル")
FileCounter = 0
For Each item As String In System.IO.Directory.EnumerateFiles(FolderPath, "*.log")
If System.IO.File.ReadAllLines(item, System.Text.Encoding.GetEncoding("Shift_JIS")).Where(Function(r) r.Contains("hoge")).Any(Function(x) rx.IsMatch(x)) Then
Console.WriteLine(System.IO.Path.GetFileName(item))
FileCounter += 1
End If
Next
Console.WriteLine(vbCrLf & "処理終了 " & If(FileCounter > 0, "エラー処理してください", "すべてOK"))
Next
これを変数宣言部分と終わった後最初に戻るか終了するかの分岐で挟んでループさせてますが、そっちは特に変わらないようです。
2021/07/23(金) 17:18:43.28ID:xliiSqIt
それで遅いならまあ.NET5が遅いんじゃね
もうちょっとどこか遅いか細かく切り分けてみたら?
2021/07/23(金) 19:54:34.59ID:MYFSNKEn
>>666
ありがとうございます。
668663
垢版 |
2021/07/25(日) 12:19:26.96ID:Vrkkrk3V
>>666
DateTimeでループ1回ごとの処理時間を記録させて何回か回してみると、必ずアプリケーション起動時の初回だけ時間かかってる感じでした。
正規表現やエンコードを指定するのに時間かかるのかとも思いましたが時間測定する前にやってるので無関係っぽいです。
勉強がてらもう少し調べてみることにします。
2021/08/09(月) 17:37:58.68ID:st5/4ZlG
Excelの読み込みって古い形式に対応する場合はCOMを使うしかない?
NPOIはBIFF5(Microsoft Excel 5.0/95 ブック)は対応してなかった

ググったらやたらCOM否定する記事多いんだけど
よく見てみたら最新形式で書きだすのが前提の記事ばかりで
読み込みたい時の記事がない

客先から古いファイルがけっこう飛んでくるからバッチ止めたくないし手作業を入れたくない
EXCELを起動してRPAで再保存させる方法も考えたけどそこまでするならCOMのほうがいいと思ってる

COMがベストアンサーですか?
なんとかしてください。山岡さん
670デフォルトの名無しさん
垢版 |
2021/08/09(月) 17:46:03.61ID:xOqPrbyq
否定もくそも昔はみんなcreateobject使って当たり前にやってたんやで
2021/08/10(火) 11:00:31.24ID:spauwKOF
form作ったときにデフォルトに設定される赤青黄三色のアイコンってどのライブラリから引っ張ってきてるんでしょうか
vscでコンパイルにしたときのexeアイコンに設定したいんですが
2021/08/10(火) 12:01:43.74ID:sPIkDzIm
.NET FrameworkのSystem.Windows.Forms.dllのリソースから
vscってVSCodeのこと?
でコンパイルしたときのアイコンって.NET Core/5使ってるってこと?
ならまあまともには無理じゃね
2021/08/10(火) 14:39:04.43ID:spauwKOF
すみませんvbcの間違いでした
アイコン指定は無理ですかわかりました
674デフォルトの名無しさん
垢版 |
2021/09/04(土) 17:24:11.56ID:Aarzs52Q
runspaceInvoke.Invoke("コマンド")でPowerShellのコマンド実行させるときに管理者権限で実行する方法ないでしょうか
ググっても見つからなくて
2021/09/04(土) 18:57:26.36ID:91d+GnbF
>>674
どうググったの?
あっさり見つかったけど
https://miko.info/?p=498
676デフォルトの名無しさん
垢版 |
2021/09/04(土) 18:59:42.44ID:Aarzs52Q
>>675
そこ見ましたが、
ps1ファイルを実行するんじゃなくて、直接コマンドを書きたいんです。
2021/09/04(土) 19:12:45.23ID:AmoBfTCA
UACどうすんの?
って考えたら自プロセスを管理者権限で動かしとけばいいんじゃね
2021/09/05(日) 14:18:54.58ID:ICYnYWWd
>>674
https://blog.powershell-from.jp/?p=254
ググる能力足りなさすぎないか
2021/09/07(火) 20:34:00.70ID:LW8da9uW
WindowsしかないんだけどDBエンジンって何を使えばいいの?
標準で何か入ってる?
680デフォルトの名無しさん
垢版 |
2021/09/07(火) 20:40:26.25ID:xANIP9i7
すきなのつかえやハゲ
2021/09/07(火) 23:49:19.51ID:YcIWO4/P
Linux の3大OSS データベースは、
sqlite, mysql, postgresql だけど、
Windows は、よく知らない

でも、Windowsでも、ブラウザとか多くのアプリは、sqlite 3 を内蔵している。
本格的なものではないけど、ちょっとしたものには使える
2021/09/08(水) 00:18:30.80ID:a3gUENtg
>>681
ありがとう、探してみる
2021/09/08(水) 10:34:08.03ID:GEmvQUlf
firefoxのsqlite managerってアドオンでdbファイルを作ったりフィールド作ったり
ただsqliteは多少方言があったりしてsql serverのsqlが動かないこともあるから注意
またそのアドオンはデータのメンテにはちょっと使いにくいからそっちは別に作った
2021/09/08(水) 11:53:07.33ID:itSmumbF
商用三大データベースといえばOracle、DB2、SQLServer
WindowsでVisualStudio開発なら親和性が高いのはSQLServer

業務用途ならPostgreSQLが無難
WEB絡むならMySQL(MariaDB)を使ってる人が多い
デスクトップアプリで単体配布するならSQLServerの単体配布用のエンジンやSQLite

もし勉強目的ならOracleがいいのではないか
ちなみにVB6からVB.NETへの移植案件だとわりとOracle絡みもあるよ
2021/09/08(水) 12:14:23.79ID:GEmvQUlf
クライアントがwinマシンで業務ならsqlserver一択だと思うがなあ…
サーバーには金かかるがクライアント側で面倒無いし
db2はメインフレームで回すような奴だから俺らレベルじゃ関係ないし

ホビーならsqliteかなあ…dbファイル1個dll1個配布するだけで済むし
まあ同時アクセスとかには向かんけど

しかしoracleで勉強ってあんなクソ高いので…w
2021/09/08(水) 15:31:58.44ID:pZjzAbid
>>684
今はOracle離れ、が進んでる
学習目的ならMySQL(MariaDB),PostgreSQLで良い
687デフォルトの名無しさん
垢版 |
2021/09/08(水) 18:14:42.34ID:xxLcD1RP
Oracleはしょーもない面倒が多すぎる
まじごみ
2021/09/08(水) 18:28:10.68ID:ehctv71g
キリスト「貴方様はなぜ地上に御降臨されたのですか?」
神のお告げ「お前たちが協力して仕事が出来ないように言葉を分散させて意思疎通を無くす事で、互いに争い競わせる為だ」
2021/09/08(水) 18:51:05.35ID:zYJP8zy8
激しくスレ違いだけど三位一体説ぐらい一般常識として知っておけよと思うw
高校の世界史とかでも習ってるだろw
2021/09/08(水) 19:08:11.71ID:wkgfp7fU
巨塔3面が本質的に同じ?
MSはC#推しでないのか?と疑神暗鬼
この先のVB.net教会のいく末を安心立命出来なくて
2021/09/09(木) 16:51:08.99ID:TYilZ2wP
>>C#推し
それでも案件はJavaほども無いね
VB.NETでもC#と同じ事出来るんだから、そらシステム構築は分散されるわな
2021/09/09(木) 18:46:16.07ID:A1tbVRU7
JavaのオーナーさんはVBとC#のどちらを可愛いがってくれるおつもりですか?
2021/09/10(金) 12:27:55.87ID:M6q1a7tu
>>692
OracleはOracleで金むしる事しか考えて無い
2021/09/10(金) 22:46:54.25ID:8it4uK92
なるほどJavaEE奴隷の引き継ぎってわけね

https://docs.oracle.com/cd/E15817_01/server.111/e05765/data_access.htm
>Sun社により、Java言語およびJVMの仕様が提供されます。

>Cなど、一部の言語では、データベースにセキュリティ上の問題が生じる可能性があります。

>Javaの場合は、その設計上、データベース内で容認できる安全な言語です。
>Javaの魅力は、ユビキタスと、それをアプリケーション開発に使用できるプログラマの数が増加していることです。
>オラクル社は、エンタープライズ・アプリケーションの開発者に、Javaアプリケーションの作成、デプロイおよび
>管理のためのエンドツーエンドのJavaソリューションを提供します。
695デフォルトの名無しさん
垢版 |
2021/12/04(土) 12:31:30.59ID:Vqr17mJz
シリアルで取り込んだ値のモニター用グラフ作成に ScottPlot 使ってみた
めっちゃ便利というか簡単にグラフ作成できて高速、SignalPlotとか言う方式なら数十万点のグラフも一瞬で表示される
公式ではSignalConstとかいう方式なら億単位のグラフでも高フレームレートとか豪語してるけどあながち嘘ではなさそう使わんけど
696デフォルトの名無しさん
垢版 |
2021/12/04(土) 12:40:15.97ID:Vqr17mJz
元々グラフ作成面倒なんでこの際Pythonに移行して使ってみようか迷ってたけど
まだまだVBで行けるな(C#のおかげ?)

しかし MSChart 要らないなというかなんとかならんのかあれ
いや、MSChartは忘れよう…
2022/01/20(木) 20:50:39.70ID:mCK9tQrM
VSで変数にマウス乗せたら予め設定した説明をだすことってできる?
2022/01/20(木) 22:46:34.60ID:NL1fx3HA
>>697
ローカル変数じゃなければ、XMLコメントつければ

ローカル変数はたぶん標準じゃ無理じゃね
拡張機能自分で作ればできるかもしれんけど
2022/01/20(木) 23:12:02.94ID:mCK9tQrM
>>698
そっか、ありがとうです!!
2022/01/29(土) 17:35:02.74ID:4+hCVzXK
vb.net未経験なのですが、転職候補先で使うことにりそうです。
未経験からでも独学でなんとかなるでしょうか‥?
他言語はJava使ったことありますが、3年未満なので経験は浅い方です。
2022/01/29(土) 17:50:03.41ID:yn/Bvmcn
即戦力として期待されてるならBASIC系と.NETの両方の経験が無いとキツい
2022/01/29(土) 17:59:20.24ID:dt9VbJuz
言語よりアルゴリズムが大事なんですよー
2022/01/29(土) 18:04:14.01ID:fJ3xXTiy
>>701
やはり独学では厳しい所がありますよね。
VBAが多少くらいですね‥。
.net系は未経験とは伝えてますがやはりキツいですよね‥。
2022/01/29(土) 18:20:38.94ID:FsS1CTOJ
.netは村社会だ
JavaやWebが入ってきていい領域じゃない
去れ
2022/01/29(土) 18:35:02.52ID:OC+xgA3X
Javaを3年やったなら実戦で重要なのはクラスライブラリの使い方だって事は実感しただろ
.NETはまたそれを新たに時間かけて積み上げる必要がある
2022/02/01(火) 00:20:09.06ID:ZmgVJabi
最近
If a=1 Then
処理a
Else
処理b
End If

と書くより

If a=1 Then 処理a
If Not (a=1) Then 処理b
と書いたほうが2行だし見やすいのでスマートに思える
皆さんはどう思いますか?
2022/02/01(火) 18:08:36.76ID:6mdcUfy4
すきにしたらいいんじゃね?
2022/02/02(水) 11:02:03.90ID:PFGno9cc
見やすいかどうかは主観と慣れだし、好きにすればいいけど
わざわざ2回Ifの評価するのはないわ

2行だからとか意味不明だけど、行数が少ないほうが良いと思うなら
If a=1 Then 処理a Else 処理b
で良いんじゃねえか
2022/02/02(水) 12:14:13.32ID:43zIf/SN
>>707
ふむ

>>708
ふむ
短い処理なら1行で書くのもありだね、これを最優先にしてみます
個人的には2回の評価はこの程度なら許容かな
2022/02/02(水) 12:16:17.17ID:43zIf/SN
自己分析だけど簡単な処理が複数行になるのがとても嫌みたい(折り返しも含めて)
2022/02/02(水) 12:23:38.82ID:h1+1MA/a
まあ、オシゴトで上から止めなさいと言われたら素直に「はい」と答えるほうがいい
2022/02/02(水) 13:11:03.68ID:43zIf/SN
>>711
そうだね、はいと言わないと円滑に進まないこともあるよね
趣味なので現場のこと解ってなくて、粗相をしていたらごめんなさい
2022/02/24(木) 19:27:26.09ID:KPdhQTyA
取得したIntptrにByteを書き込む際に配列で書き込む関数はありますか?
今Forで回しているのですが無駄な気がして…
2022/02/24(木) 20:18:13.89ID:nw0IKs2Y
Marshal.Copy
2022/04/14(木) 18:45:57.89ID:GnSw15mR
Debug.Printってリリースの時もコンパイルされますか?
付けておくことで実行時重くなるか知りたいです
2022/04/18(月) 21:27:43.92ID:M2AhJtAx
イベントプロシージャーってフォーム.vb以外で書くのはルール違反なんですか?
てか出来るんですか?
2022/04/18(月) 22:52:01.23ID:GqGEiCjU
>>715
リリースビルドに含まれるなら何のためのdebugかと

>>716
モジュールに書いてフォームから呼べばいいがな
まあ内容によってはデリゲード使わないかんかったりするけど
2022/04/18(月) 23:52:00.40ID:M2AhJtAx
>>717
両方ありがとうです
気兼ねなくデバッグプリント使えるんで嬉しいです

処理はフォームから呼んではいるんだけどForm1のイベントが50個くらいになってしまってコントロールごとに並べてみたけど見ずらいです、工夫が足りないのかな
2022/04/19(火) 01:36:18.71ID:l3iT9AMj
>>718
うーん…例えばボタンずらーっと並べてパラメーター違いの同じ処理なんてのならhandlesにずらーっとボタン並べて処理の中でsenderをボタンにcastしてnameからどのボタンから呼ばれたが判定して処理書き分けるとか
まあ共通部分が無いならしょうがないけど
2022/04/19(火) 02:52:17.15ID:Owsp92Ze
>>719
とりあえずまとめるものはまとめてみてるつもりだったんですけど説明を聞いてよくよく考えたら同じオブジェクト.イベントが複数あるかもしれないです

たとえばボタン.クリックで全く違う処理でも全部1つにまとめてハンドルしてしまいイベントが起きたときに分類用のモジュールに飛ばしてからsenderを使って切り分けてあげればForm1がスッキリしそうですね
早速明日切り分けるためのプロシージャを考えてみたいと思います、明日じゃなくて今日か 笑
2022/04/19(火) 18:21:30.98ID:l3iT9AMj
>>720
ただモジュール側でcastしようとしてもそこにはsenderは無いので呼ぶ時にsender(と内容によってはeも)渡さないといかんけど
(call hoge (sender,e)みたいに)
2022/04/24(日) 06:41:04.78ID:rnIXniDo
.netでもapiでもいいのだけどクリップボードにコピーされたこと知る方法あったっけ?
ポーリングするしかない?
2022/04/24(日) 08:23:38.56ID:4RbQFnap
これかね
https://atmarkit.itmedia.co.jp/fdotnet/dotnettips/848cbviewer/cbviewer.html
724デフォルトの名無しさん
垢版 |
2022/04/24(日) 15:49:39.77ID:rnIXniDo
>>723
おお、これですありがとうございます
2022/04/25(月) 21:34:36.29ID:/sZjU9n3
おちんぽみるく
2022/09/19(月) 20:25:09.68ID:vfhaC5ks
hosyu
2022/09/20(火) 00:47:26.55ID:Mh2Dy9Lg
もういらないんじゃないかw
2022/09/20(火) 00:53:05.39ID:Rlnm1h+Y
>>727
今覚えてる最中だったりする
2022/09/22(木) 15:15:33.96ID:7wDR5F5H
VB.NET案件、それなりに有る
2022/09/22(木) 16:14:21.76ID:SOmBEF4r
自分のところは新規案件でVB指定されることは無いな。
大手でも部門で独自開発してたソフトの機能追加などを頼まれる事があるが、元がVB.NETだったりする事はある。
2022/10/03(月) 21:03:01.36ID:rT8lgIp3
Falseをずっとフェールスと呼んでいたわ、誰にも言わなくて良かった
でも実際フォールス、ファルス、フォルス、プロの人はなんて読んでるんだ?
2022/10/03(月) 21:15:38.90ID:xpWOvTo9
いや、プロアマ関係なく英語だろう...
2022/10/04(火) 08:53:24.32ID:YgMrGw/a
ファルセ
2022/10/12(水) 12:04:19.61ID:05zETGAl
なんかがんばってるんだがコードが手続き型になってしまう
クラス使うと細切れになって管理とかで余計面倒になるのは気のせいか?
735デフォルトの名無しさん
垢版 |
2022/10/15(土) 23:09:21.03ID:FooIDbuU
クラス使ってもforループで回してるし
俺もわからん
2022/10/16(日) 00:15:20.11ID:ZA+WuaVX
オブジェクト指向はどのクラスにプロシージャを書くか、クラスは論理的にどこに配置されるのか、いわゆるソフトウェアアーキテクチャが重要になると思う。
クラスのインスタンスはどのクラスで管理するのか、クラスやインスタンス同士の繋がりはどのクラスが面倒見るのか、考える事は多くなりますね。
けどソフトの規模が大きくなったときは、オブジェクト指向のメリットが大きいと感じます。
2022/10/16(日) 00:45:26.15ID:I0hpg2ZE
一人で書いてるから大きくなりようがないけどねw
基本的に処理はなるべくモジュールに書いてコントロールからはそれ呼び出すだけにしてる
まあbackgroundworkerとかdelegate関連はフォームに書くけど
クラスはネットからコピってきたロジックとかくらい
2022/10/16(日) 04:46:22.78ID:q8mBJvHk
>>736
そう、そこらへんがよく分かんなくて
例えばRichTextBoxを管理するクラスとファイル入出力のクラスを作ったときRTBの内容を保存するメソッドはファイルのクラスに作りたいんだけど
2,3行ですむような簡単な記述でもわざわざファイルのクラスの方にメソッドを作ってオブジェクトを作って使わなきゃいけないのかと思うと億劫になってしまって直接RTBのメソッドのほうにSaveを書いてしまう
これは良いのかダメなのかがよくわからない
ここらへんは他人のコードを見ながら覚えていくんだと思うんだけど趣味でやってるとそんな機会はほぼないんだよね
ソフトウェアアーキテクチャ?っていうの?ググればそういうHowtoなページってありますか?
2022/10/17(月) 21:06:32.24ID:bUF4XGy5
すでに手段と目的が入れ替わってる感があるな
2022/10/17(月) 22:58:27.91ID:x2+EStbh
>>738
正解は無いが、例えばその例だとRichTextBoxExtensionクラスを作って拡張メソッドにするとシンプルにできる。
myRichTextBox.Save()
みたいな感じで呼び出せる。

VBに限定するなら、調べてないが参考になるサイトはほとんど無いと思う。C#なら検索すれば出てくる。
2022/10/22(土) 23:47:14.54ID:Md3R6uzp
>>740
コントロールの拡張クラスっていう考え方にすれば良いのか、確かにわかりやすい
ありがとうございます
2022/10/23(日) 00:13:50.78ID:UaJ1tm/J
英数字は問題なくヒットするのに、かな漢字がヒットしないです、何か設定とか違ってますか?
データの項目「タイトル」のレコードには"aあ阿"という文字が入ってます
DB_Connect("Init"," WHERE [タイトル] LIKE '%a%'") '⇒ aが全角でも半角でもヒットする
DB_Connect("Init"," WHERE [タイトル] LIKE '%阿%'") '⇒ヒットしない
DB_Connect("Init"," WHERE [タイトル] LIKE '%あ%'") '⇒ヒットしない

Sub DB_Connect(behavior As String, searchstr As String)
Dim sqlcon As New SqlConnection With {
.ConnectionString = "Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=" _
+ System.Environment.CurrentDirectory _
+ "\Database.mdf;Integrated Security = True; Connect Timeout = 30"
}
Dim Adapter As New SqlDataAdapter("SELECT * FROM [Table]" & searchstr, sqlcon)
Dim commandBuilder As New SqlCommandBuilder(Adapter)
Adapter.UpdateCommand = commandBuilder.GetUpdateCommand()

Select Case behavior
Case "Init" 'データの更新
Dim dt As New DataTable()
Dim ds As New DataSet()
sqlcon.Open():Adapter.Fill(ds):sqlcon.Close()

F_Fmain.BindingSource1.DataSource = ds.Tables("Table") 'データテーブルをデーターソースにする
F_Fmain.DGV.DataSource = F_Fmain.BindingSource1 'DGVのデーターをバインディングソースから取得

Case "Update" 'データベースの更新
sqlcon.Open()
Adapter.Update(F_Fmain.BindingSource1.DataSource)
sqlcon.Close()
End Select
End Sub
2022/10/23(日) 07:08:24.05ID:UaJ1tm/J
どうやら照合順序が違ってるみたい
mdfを作り直せばいけるかな?
2022/10/23(日) 21:09:37.57ID:UaJ1tm/J
と思ってSQL ServerいじくりまわしてたらLocalDBにアクセス出来なくなって直すのに一日かかった
SSMS突っ込んでみたりSQL2019入れたり余計なことを繰り返してた
結局C:\Users\user\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\MSSQLLocalDB消したら治ったけど(さりげなく備忘録)
そのおかげでなんとなくDBの仕組みは解るようになったけど未だに日本語は検出してくれない
カレントランゲージを3にしたらダメって怒られるし(そもそもLocalDBで言語設定できるのか?どうして初めから日本語じゃないのかが不明)
Japanese_CI_AS付けたらエラーとか言われるし
最悪OS入れなおさなと青くなったから治っただけ良しとしよう
結局もっかいSQLサーバ作り直さないとダメっぽいんだけどいじるの怖いわ
いや、その前に日本語のmdfを狙って作れるか確認してみよう
2022/10/24(月) 00:12:25.36ID:Ms3BBH4f
なんか日記じみてきたけどいいか。結局うまくいきました、疲れた
あの後SqlLocalDB.exeのオプション指定でもするのかと調べたけどそれらしきものはなくて手詰まりっぽくなった
ただ既存DBの設定がSQL_Latin1_General_CP1_CI_ASになっているは解っていたので
SSMSを使ってDBを作り直してみたときにオプションをチェックしたら言語設定があってJapanese_CI_ASに変えたらいけました
はぁ、こんな予想外のことで一日を使ってしまった、明日から仕事なのに

前回VSにあるGUIのデーターセットとかテーブルとか使って作った時はまったく問題なく検索できたんだよなぁ
今回はmdfだけ作って接続は手書きをしたのでそこら辺が原因かもしれない、突き止める気はサラサラないけど
746デフォルトの名無しさん
垢版 |
2022/10/24(月) 00:38:57.02ID:I2D5WKz1
馬鹿の日記でした
2022/10/24(月) 07:16:18.53ID:UaFEA5si
割と気が付かない人はいるね
2022/11/04(金) 08:39:38.18ID:3MIAhDZX
やっと組んでたプログラムができそう、ちゃんと組んでないからデバッグが大変だわー
それでも完結になるように努力はしたけど
もうこれ以上規模の大きいのは一生作らないだろうなというくらい頑張った
2022/11/04(金) 10:17:27.50ID:0ZopIWif
>>748
確かに、俺も小さなツールで.vbだけで1.59MBとかだけどもう見たくないw
2022/11/04(金) 11:04:50.02ID:3MIAhDZX
>>749
凄いな、今みてみたら667Kだったわ
現状RichTextBoxに貼ったイメージがコピーできないので困ってる
メモリストリーム云々はスキル的にとても手がでないので一旦ファイルに落とそうかと画策中
2022/11/04(金) 16:34:59.32ID:3MIAhDZX
ファイル(temp.png)にできたんゴ!
これをImageオブジェクトに読み込めば使いまわしができる
752デフォルトの名無しさん
垢版 |
2022/11/17(木) 16:07:05.13ID:1Jm6EA8w
>>703-704
そうだね
自力はきつい。なぜかいうとMS公式にも使えるマニュアルvbだけ少ないし、そもそも他言語が手書きで書けるのに対してこっちはIDE頼みでヴァージョンやフレームワークやインポートする部品がバリエーション多すぎてカチッとハマらないと動かないから書籍やネットのサンプルがほぼ動かない。
でも求人の給料はやっスイんだよなあw
753デフォルトの名無しさん
垢版 |
2022/11/17(木) 16:11:29.17ID:1Jm6EA8w
あと村社会ってのもそう。わからないことや新規でやりたいこと出て質問すると100人聞くと100人が曖昧な答えしか返さない。で業者に作ってもらうように落ち着く。
これも↑の言語の特性が原因でそういう取り扱いになってしまってるんだと邪推
2022/11/17(木) 16:19:42.15ID:Zk5HlUCe
10カ月も前の話に突然どうした
755.NET MAUI HighSchool
垢版 |
2022/11/19(土) 19:23:30.64ID:BTXZ3B+x
質問じゃないけどVBで.NET MAUIでクロスプラットフォーム開発ができるそうな
https://twitter.com/moonmile/status/1593124571749961729?t=e-koVW9EbioFBrVOqntltA&s=19
これでクロスプラットフォームアプリ勢力図変わらねぇかなぁ?
https://twitter.com/5chan_nel (5ch newer account)
2022/11/26(土) 13:12:26.45ID:6PSlDPti
VB.NETの案件減って行ってるなあ、、
もう終わりか
2022/11/27(日) 13:48:16.31ID:Pm5jqeER
XPでも動かすのがモットーだから未だに.net2.0だけどそろそろ上げてもいいかな…って気がするんだけどさてどれにすっかなーと
ちな7だから新し目のは漏れなく駄目だろうけど
2023/01/02(月) 02:03:50.75ID:8T2JCaCm
MacのこういうアプリをWindowsでも作りたいんですけど、VB.NETで出来るでしょうか?
https://ameblo.jp/knym71/entry-12120126159.html

Macでは「Macintosh版のVisual Basic」に喩えられるXojoという環境で作られてるらしいんですが、それならWindows版はVBでいいんじゃないの?と単純に思ったのですが…
2023/02/07(火) 09:23:00.91ID:fWU0zFcr
Update to the .NET language strategy
https://devblogs.microsoft.com/dotnet/update-to-the-dotnet-language-strategy/

> We remain committed to Visual Basic and continue to invest in maintaining C# interop and Visual Studio features for folks that love Visual Basic or want a stable language.
760デフォルトの名無しさん
垢版 |
2023/03/24(金) 17:51:18.10ID:cWx3prGd
初心者です
タスケテケスタ
意味を教えてください

Declare Function abc_open Lib "abc.dll" (ByRef lnga As Integer, ByVal
lngb As Integer) As Integer

Declare Function abc_write16 Lib "abc.dll" Alias "abc_write" (ByVal
lnga As Integer, ByVal lngaWrtBuffer As Integer, ByVal lngc As
Integer) As Integer
2023/03/24(金) 19:06:37.72ID:5FBKYBTZ
非.NETで作られたDLLの関数を呼び出すための宣言だよ
https://learn.microsoft.com/ja-jp/dotnet/visual-basic/language-reference/statements/declare-statement
762デフォルトの名無しさん
垢版 |
2023/03/24(金) 20:44:56.31ID:ERXieoFI
>>761
回答ありがとうございます!
ただ!後ろに並んでる変数も含めて理解できてないんです。

あつかましくて申し訳ないですが、もう少し噛み砕いていただけると助かります。。
2023/03/24(金) 21:54:05.08ID:1/lPFVAY
そのabc.dllとやらのマニュアル/ドキュメントを参照せよ
764デフォルトの名無しさん
垢版 |
2023/03/24(金) 23:13:17.73ID:ERXieoFI
詳細は不明だとして、認識の仕方だけあってるか聞いてもらえますか。

Declare Function abc_open Lib "abc.dll" (ByRef lnga As Integer, ByVal
lngb As Integer) As Integer
→ 解釈:abc.dll内にあるabc_openという関数にInga、Ingbという引数を代入してint型で戻ってくる
質問1.かっこ内で2つの変数が宣言されているがどういうこと?
質問2:戻り値はどこに格納される?

abc.dllの仕様が分からないと上記の質問も分からない?

トンチンカンな事言ってると思いますが。。
2023/03/25(土) 00:30:39.77ID:LzvHgNP+
普通にfunction作るときに
Function FooBar (ByRef hoge As Integer, ByVal huga As Integer) As Integer
  '''(なにかの処理)
End Function
って定義するのと同様に、dllの中にある abc_openという関数をプロジェクトで使えるように宣言している

既存のコードを読んでいるのなら、そのabc_openでコード全体を検索すれば実際に使用しているところが見つかるんじゃね?
766デフォルトの名無しさん
垢版 |
2023/03/25(土) 05:48:46.84ID:F9vkZ/PE
>>763
>>765
ありがとうございます!
内容確認してみます!

勉強中なのでまた来ると思います(;o;)
767デフォルトの名無しさん
垢版 |
2023/03/25(土) 15:31:44.19ID:F9vkZ/PE
みなさんこんにちは
質問をばさせていただきたく

Declare Function abc_write16 Lib "abc.dll" Alias "abc_write" (ByVal lnga As Integer, ByVal lngaWrtBuffer As Integer, ByVal lngc As Integer) As Integer

上記のAliasは"abc.dll"を"abc_write"という名称で扱う
という認識でよろしいですかね?
2023/03/26(日) 10:00:46.68ID:t5F8xIRn
aliasで指定するのはdllじゃなくて関数の元の名前

Alias 句 (Visual Basic)
https://learn.microsoft.com/ja-jp/dotnet/visual-basic/language-reference/statements/alias-clause
VB 基礎編 (その九)
http://sak.cool.coocan.jp/w_sak3/doc/sysbrd/vb_k09.htm
769デフォルトの名無しさん
垢版 |
2023/03/26(日) 22:34:02.95ID:KCoWgyug
>>768
ありがとうございます!
参考にさせてもらいます(^-^)
770デフォルトの名無しさん
垢版 |
2023/04/30(日) 01:44:08.54ID:oNkXc/Ek
すみません教えてください。詳しく教えてほしいので詳しく書きます。
(歴JavaScript→PHP→VBA→VB.net/自分で作って、仕事で使って、困らない程度のスキル)
(使用PC,8世代i7,8700T,64gb)

1- エクセルVBAの64bit環境かなにかでは、 integerもlongも同じ64bitのメモリを確保しているとかで、
だからlong推奨とかWEB上の初心者向けサイトには書いてあった記憶があります
(記憶違いならごめんなさい)
でも、これって(CPU内などの)所謂キャッシュメモリ上も同じ理屈なのでしょうか。
例えば100万程度の配列を回して処理するときに、どうなのでしょうか?

2- それらをの答えを踏まえ、VB.netでも同じ理屈で同じ答えなのでしょうか?

作成中のプリログラムの処理が遅い場合にサイズを厳密にすることを奥の手にする感じに考えていますが、それが奥の手なのか無意味なのかわかりません。
現在、VB歴6か月程度ですが、次期プログラムから環境をC#に移行しようと思っています。
周りに聞く人もおらず、WEB頼りでやってきましたが、変な癖が付くとまずいので、不安に思っています。
最新の情報が多いのもC#に移行する理由でもあります。

PHPから入ったので、型に関係にする部分は不安です
今から最小の型を使う癖をつけておいた方がいいのでしょうか(Int16,Int32,Int64等)
(もちろんsqlserverは最小のサイズでやっていますが)

処理するデータ量は多いです。VBAで処理に小1時間かかるのでVB.netに移行しましたが、データはまだまだ増えそうです。
C#に移行することを踏まえて教えていただけると幸いです。よろしくお願いします。
771デフォルトの名無しさん
垢版 |
2023/04/30(日) 03:01:38.76ID:faZy+FP7
>>770
PCを買い替えろ
まずはそれからだ
2023/04/30(日) 04:38:17.68ID:xlDTnGib
ワロタ
2023/05/01(月) 16:16:30.20ID:nutSXmqo
奥の手でもなんでもなくて適切な型をつかうのは基本中の基本だと思うがな
ちゃんとDB使って処理して1時間なら言語なにつかっても大差ないと思われ
2023/05/10(水) 02:41:26.03ID:VdVKPMIs
何の処理が原因で遅くなっているか切り分けたら?
Stopwatchクラス使えはいいよ。
2023/08/20(日) 21:08:30.63ID:5xty0CqD
explain使ってSQLのチューニングしたらいいんじゃないかな
100万件程度なら一瞬で終わる
キャッシュ云々の前にアプローチが間違ってる気がする
PHPとC#、VB.netなら処理速度変わらん

もしSQLの発行回数が2回以上になってるんだったら1回にすればいい
ループごとにSQLを実行するような処理だったら論外

VB.netならフリーのプロファイラが十分使えるからツールでどの箇所が時間かかってるかはすぐわかる

というかその書き方だとすでに原因となる箇所はだいたいわかってるんじゃないだろうか
とにかくループを減らす
VBAで1時間ならVB.netは1秒未満を目指せると思う

型とかアルゴリズム以前にもっと根本的な問題があると思う
そしてどういう問題を処理しようとしているか書かないと一般論しか帰ってこない気がする

速度カイゼンはとにかくループの削減が基本
全探索をなくすのが基本
ソートをなくすのが基本
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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