TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼
C++相談室 part147
ほぼ初心者プログラマでするべき事がわからない
次世代言語18 Go Rust Elixir Kotlin TypeScript
TypeScript part3
Ruby 初心者スレッド Part 57©2ch.net
C++Builder相談室 Part21
JavaScript 4
Flutterやろうよ!!!
ふらっと C#,C♯,C#(初心者用) Part141
Ruby 初心者スレッド Part 65
VB.NET質問スレ(Part44)
- 1 :2018/05/26 〜 最終レス :2020/06/12
- 前スレ
VB.NET質問スレ(Part40)
http://toro.2ch.sc/test/read.cgi/tech/1365857015/
VB.NET質問スレ(Part41)
http://peace.2ch.sc/test/read.cgi/tech/1391334405/
VB.NET質問スレ(Part42)
http://echo.2ch.sc/test/read.cgi/tech/1419148239/
VB.NET質問スレ(Part43)
https://mevius.2ch.sc/test/read.cgi/tech/1465958469/
- 2 :
- 関連スレ
古代VBプログラマ質問スレ(Ver.6.0 まで) part65
https://mevius.2ch.sc/test/read.cgi/tech/1440930335/
【初心者歓迎】Small Basic Part 2 【片手間】
https://mevius.2ch.sc/test/read.cgi/tech/1422240355/
- 3 :
- >>1
乙
- 4 :
- 前スレで会計士の資格を何とか言ってた人は何してる人?
- 5 :
- >>1
乙
- 6 :
- hosyu
- 7 :
- 皆さんどこのサイトを参考にしてますか?
日本語サイトでお願いします
MSDNで参考になった事が一度もないほど意味不明なので他でお願いします
- 8 :
- >>7
C# <キーワード>
でググればだいたい何でもすぐに出てくる。
VB向けの情報はカスしかないから、VBじゃなくてC#。ここが重要。
- 9 :
- ドボンでええやん
- 10 :
- >>9
情報が古いじゃん
- 11 :
- 最新のフレームワークの機能が乗ってるのが良い
- 12 :
- WPF以降で参考にしようとしたら、c#とVBが併記してあって日本語解説あるのは@ITぐらいしかないね。
あとはc#をVBに自分で置き換えるしかない
- 13 :
- #devでコンバートすりゃえーやん
- 14 :
- hosyu
- 15 :
- #devってヤツを知らんけど既存のコードを変換出来る?
それとも一行だけ?
- 16 :
- くだらないこと言ってないでC#くらい読みなさい
- 17 :
- sharp developも知らんのか…
- 18 :
- そんな化石知ってても何の自慢にもならんよ
SharpDevelopはとっくの昔に開発終了してMonoDevelopに引き継がれてMSに買収されて今ではVisual Studio for Macと呼ばれている
- 19 :
- 抜けてた
MonoDevelopは途中からオーナーが変わってXamarin Studioと呼ばれていた
- 20 :
- hosyu
- 21 :
- VB.NETの開発環境ってVS以外でもあるの?
ついでにもう一つ
グレープシティのWindows Formsの中のコントロールでリサイズ以外いらんよね?
- 22 :
- WindowsサービスアプリでSystem.Timers.TimerのElapsedイベントが
発生しなくなってしまったのですが、同じような事例はありますか?
ソース、EXE自体は何も変えていないのですが…
- 23 :
- net Frameworkのバージョンが変わったとか?
- 24 :
- まず確実に>>22自身のバグに一票
49.7日問題なんてのが大昔にあったけど、無関係だろう
- 25 :
- 原因不明のため、System.Timers.TimerからSystem.Threading.Timerでプログラム作り直しました。
- 26 :
- まだ直ってなかったのかな?
https://social.msdn.microsoft.com/Forums/vstudio/ja-JP/45f29680-c2f5-45d5-ae4d-5772d1f276e4/systemtimerstimer12391elapsed1245212505125311248812364303302998312375?forum=vsgeneralja
- 27 :
- >>22 >>25-26
そんなバグあったの?
C# だけど、15分おき、特に問題なく Elapsed 起きてるけど。
普通と違うとしたら、毎回 Interval を設定し直してるくらい。
- 28 :
- XOF
- 29 :
- XOF
- 30 :
- 問題
数値型1,2,3,・・・を文字列型0001,0002,0003,・・・にするプログラミングを書きなさい
- 31 :
- val.ToString("0000")
- 32 :
- マジ?
- 33 :
- >>31でもいいけど、リーディングゼロ付けたい場合は普通は"D4"みたいにする
つーか何が書きなさいだよアホかw
- 34 :
- アッソ
- 35 :
- ちなみに
Dim i as Integer
Dim S as Strong
i=任意の数字
S =""
S = "0000" & i
S = VBの関数Leftで左から4文字までを取り出し
すると000iになる
が用意した正解
おまえら小学生からやり直せ
- 36 :
- >>35
強そう
- 37 :
- >>>30 の出題の数値型の説明がいい加減だし、百歩譲って1,2,3...とあるから正の整数だとしても
>>35 は自分でIntegerと後出しで規定しながら9999を越えると対応していない間抜けな回答
>>31でも>>33でもその点はクリアしている
しかもよく見りゃ右も左も分かってない出題者の頭の悪さだけが際立つ結果に
そもそも今の時代まさかright,left,midもつかわんだろ
- 38 :
- Constで物理名定義して、論理名をXMLコメントか属性で取得したかったが、どうもできない。
なんかいいアイデアあったら教えて
- 39 :
- >>38
プロパティとかの名前のこと?
普通にカスタム属性でできるよ
リフレクションで取れる
- 40 :
- >>39
ありがとうございます!
できました!
- 41 :
- コンソールプログラミングでは
Application.DoEventsが使えませんが
代わりに処理中の入力を受け付けるようなメソッドはないでしょうか?
時間がかかる処理をESCキーでキャンセルするような処理を
コンソールプログラムで書きたいと思っています
- 42 :
- >>41
Console.KeyAvailable プロパティが true なら Console.ReadKey するとか。
- 43 :
- PDFファイルを通常使うプリンタに印刷するのにはどげんしたら良かですか?
外部からファイル名をフルパスで渡せば印刷してくれるようなのがいいのですがヒント下さい。
Acrobatのコマンドラインオプションは保証されてないし、自作でexeを作りたいのです。
- 44 :
- 非同期がんがれ
- 45 :
- あ、>>41 な
- 46 :
- 戻り値のある関数もいらないな
グローバル変数を使えばいいわけだし
- 47 :
- private public Static の違いがわからない俺様が通りますよ。
グローバルだと意図しないところで変な値が入っちゃう可能性があるから使うなとじっちゃんが言ってた。
- 48 :
- エンドユーザーの都合で次の開発案件の開発言語がVB.Netになったオレを慰めてください。
- 49 :
- >>48
>>エンドユーザーの都合で
金出すヤツの意見が通るのが実情
VB6までの資産有る所はC#にはしない傾向に有る
残念なのは日本でVB.NETに関する導入事例や書籍など情報自体が少ない
海外が多いくらいだ
ネット上で海外から情報取得して生かすしか方法が無い
日本マイクロソフトもC#重視したから尚更
- 50 :
- >>49
最新の構文を使いまくってやる予定
別に嫌がらせじゃないよw
- 51 :
- C#に比べて
ラムダとかエクステンションの書き方が
めっちゃわかりにくい
- 52 :
- VB.NETでシステム構築して今更、他の言語を検討してるとか言ってる所も有る
VB.NETのままでも安く運用する方法考えれば良いのだが、システム更新に責任持ちたく無いヤツ居る職場だと永遠にシステム刷新出来ない罠
- 53 :
- VB+Oracleで構築しちゃうと
ライセンスでOracleが足かせになる場合出るので、Oracle→MariaDBやPostgreSQLにする方が安く出来る
- 54 :
- SQL鯖の一択
- 55 :
- VB.NET(〜VS2013)の細かい仕様の質問なんだけど、
通常のFormにPictureBoxを載せて、PictureBoxのデバイスコンテキストを取ってきて自前で低レベルAPIで描画してるんだけど、
最初にALTキーを押した時にPictureBoxがチラついて自前の描画が消えてしまう場合がある。
このちらつきは、そのアプリの起動後、ALTキーを押した時に必ず1回だけ発生して、場合によって自前描画もちらつきとともに消える模様。
これを抑止することって出来ないのかな
FormのOnPaint、OnPaintBackgroundを空メソッドにオーバーライドしても効き目なかった
- 56 :
- 一般的な問題と思えんから再現可能なコードを示さないと
誰も何も言えないと思う
- 57 :
- え?そんなにやってることが特殊かな?
扱うデータが大きくてその視覚化を自前ネイティブに任せるとか、よくやる方法だと思ってた
聞く場所を間違えたかな・・・
- 58 :
- >>55
>>ALTキー
OnKeyイベントで対処するしか無いんじゃないの
- 59 :
- >>57
よく分からん思考回路
どこで聞いても同じたお思うよ。
それで答えが返ってきたらその人はエスパーだ
エスパーなんかいないけどね
- 60 :
- >>58
ありがとう
FormのKeyUpとKeyDownとKeyPressイベントで、e.Handled = Trueにしてるんだけど、それでもちらつく
またFormのKeyUpイベントの後に自前描画し直してるんだけど、それでも自前描画が消えてしまうことがある
こういうのがあるから.NETは信頼できないんだよな
- 61 :
- システムのバグだー!!!
タメグラマの典型的な思考回路だねw
賭けてもいいよ絶対にあんたの書いたコードのバグだからw
- 62 :
- エスパーにしか分からん位に特殊な実装だとは全然思ってなかったなw
- 63 :
- だから何でそうなるのw
そもそもあんた、特殊な実装をしてるかどうか読み手が判断できるような情報を何も書いてないだろうw
だからそれで答えが返ってきたらエスパーだと言ってるのに重症だなおい
- 64 :
- 膨大なデータ生で見せられてもユーザーにはメリットがないのでデータの見せ方を変える
低レベルAPIじゃなく高速描画ライブラリを使う
というのが一般的な対応じゃないかな
そもそもここで言う一般的ってのはやってることが一般的かどうかという意味じゃなく
事象と発生条件が一般的ではないから実際のものを見なきゃ何もわからないという意味だろう
- 65 :
- hDC取ってWin32API呼びました、これが実装の詳細か?w
- 66 :
- >>64
言葉を返すようだが、「見せ方」「メリット」というけど、そこまで相談はしていないよ
低級API利用が特殊だとは全く思わないし、そもそも描画手続きについて相談してるわけでもない
ALTキー押下でVB.NETのPictureBox上の自前描画が消えるのが問題なんだよ
自前描画もそうだけど、ALTキーを押すなんてそんな特殊なケースだとは思わなかったね
みんな普段ALTキーを使ってないのかよ?w
- 67 :
- マジで言ってるなら相当の幸せ回路だな
ALTキーを押すのが特殊と思わんかったてw
何でそうなるのw
- 68 :
- >>66
VB.NETでブラウザ上表示じゃなくForm描画だとしたら、PictureBOXが載ってる親オブジェクトのFormの描画リフレッシュレートタイミングに問題が有るんじゃ無いか
- 69 :
- 「起動後の最初」に特定のキーを押す
描画が消えてしまう「ことがある」
特殊バグすぎてイラつくわ
一般的に起こってたまるかよ
- 70 :
- >>68
>リフレッシュレートタイミング
つながってると意味がぼやけるな。それはともかく、
VB.NETのFormは、イベント駆動で再描画されるから常時一定間隔で描画更新されてるわけじゃないだろう
- 71 :
- ところで、再現手順については必要最低限の情報を提示したつもりだったんだが、こんなに特殊に受け止められるとは想定外だったな
これだけ出回っているツールだから、同じケースで悩んでいる人たちがいるだろうと思ってたんだが
主張根拠を、相手の書き込みの一部だけを恣意的に抽出してつなげて、捏造主体の印象操作を行うことに羞恥心を感じない心の浅い人もいるみたいだし、
聞く場所を間違えた、という結論に至りました^^
- 72 :
- バイバイ
- 73 :
- JavaのOpenJDKはLTSバージョンが無くなった
.NET復権だろうな
- 74 :
- この掲示板だけのインシデントと信じたいが、
お前らマジで使えねえな
その程度でイキってるからVB.NETが馬鹿にされるんだよ、ゴミ共が
- 75 :
- GetPrivateProfileStringでINIファイルの全文を読み込む方法ってありますか?
- 76 :
- >>75
第1引数と第2引数をNULLで出来るみたいだぞ
↓ここを参考
https://msdn.microsoft.com/ja-jp/library/cc429779.aspx
- 77 :
- >>76
おお!目を通したつもりがよく理解できてなかったよ
大変助かったよ!本当に有難う!精進します。
- 78 :
- http://jump.2ch.sc/?https://msdn.microsoft.com/ja-jp/library/cc429779.aspx
ここを参考に考えてみたけれど
lpDefault
NULL で終わる既定の文字列へのポインタを指定します。lpKeyName パラメータで指定したキーが .ini ファイル内に見つからなかった場合、
GetPrivateProfileString 関数はこの既定の文字列を、lpReturnedString パラメータが指すバッファへコピーします。lpDefault パラメータで NULL を指定することはできません。
第一引数と第二引数をNULLにしてSECTIONとKEYを一挙に取得したい際、pKeyName パラメータで指定したキーが見つからないってことだと思うから
結局第三引数が第四引数の中に入っちゃうのですが
解釈がおかしいのでしょうか
- 79 :
- >>78
実際にやってみた?、考えただけ?
普通に解釈すればlpKeyNameがNULLということは
キーを指定していないんだからキーが見つからないと
なるとは考えられないけどね
実際にやってみてlpDefaultの値がlpReturnedStringに
入ってしまったのならこの関数で全文取得は無理なんじゃないかな
- 80 :
- >>79
実際にやってみて入らなかったよ、教えてくれたのに申し訳ない。
INIファイルからキーを全部抽出して任意のタイミングで変数に入れたいだけなんだが
調べてもよく分からなくて質問を受けてくれてる方にも
困惑させてしまっているな...
- 81 :
- 30分ごとに料金を+500円ずつ足していってラベルテキストに表示するプログラムが作りたいのですが
どうすればいいでしょうか?
経過時間を計測するところまではできています
- 82 :
- >>81
Tickイベントで1秒毎に変数に1足していって300.600.900辺りで表示するようにすればいい
- 83 :
- >>80
> 第一引数と第二引数をNULLにしてSECTIONとKEYを一挙に取得したい
誤解してない? これで手に入るのはセクションの一覧だよ
その後で個々のセクションごとに改めて第2引数だけNULLでGetPrivateProfileStringを呼び出してそのセクション内のキー一覧を取得する
ほかの確認事項としては
iniのファイルパスが正しい確認、念のためフルパスで渡す
\0で区切られた文字列はStringとかStringBuilderとかでは正しく受け取れないからByte配列で受け取ってEncoding::GetStringで文字列変換
- 84 :
- >>83
ごめんなさい、少し勘違いをしていました。
第一引数でセクションを指定し、第二引数をVBNullStringにした場合、キー値ではなく何故かセクション名をひとつだけ取得するのですが、第一引数でセクションを指定し、第二引数をnullにすれば指定したセクションのキー値をすべて取得できるという解釈は誤りでしょうか?
- 85 :
- > 第一引数でセクションを指定し、第二引数をnullにすれば指定したセクションのキー値をすべて取得できるという解釈は誤りでしょうか?
解釈は正しい
セクションしか取れないのは何か勘違いしてんじゃね
1つしか取れないのは>>83の最後の行
- 86 :
- >>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 :
- 大して複雑でもないんだから、悩むなら
ファイル全読して自分で解析した方が早そう
- 88 :
- >>86
ヌルストリングはヌル値じゃなくて空文字列の事じゃん?
- 89 :
- nullにすればって言ってるからヌル渡してると思うじゃん?
まさか空文字列を渡して動かないと言ってるとは思わないじゃん?
- 90 :
- (定数) Constants.vbNullString As String = Nothing
インテリセンスによるとこうらしい
説明では長さ0の文字列とか言ってるけどな
- 91 :
- >>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)
こんな感じ
- 92 :
- >>90
Nothingを文字列として評価すると長さゼロの文字列だからな
- 93 :
- VBのNothingはnullではなく型の規定値だったはず。
つまり、
Dim hoge as String = Nothing
はC#の
var hoge = default(string);
と同じはず。
だからどっちにしろ空文字ではなくNull参照じゃないとおかしい気がする
- 94 :
- Debug.Print("{0}", String.Empty.Equals(vbNullString)) .. False
Debug.Print("{0}", String.Empty = vbNullString) ... True
面白いな。
- 95 :
- WindowsFormアプリからExcelを参照する際に困ったことがあったので質問します。
いま参照しているExcelに名前ボックスが同じ名前のActivexコントロール(CheckBox)が2つあるんですが片方のValue値が取れません。
Excelには手を加えずに解決する方法をご存じの方はいますか?
- 96 :
- すみません。教えてください。
VB.net 2017で作った実行ファイルから、
VC++ 2017で作ったdll のメソッドや関数を呼び出すことはできますでしょうか。
ネットの情報をもとに色々やってみたのですが、
うまくいく方法がみつかりません。。。
- 97 :
- >>95
自己解決しました。
- 98 :
- >>97
解決方法ぐらい書き込めよ
- 99 :
- >>98
(Excelシート名).OLEObject(1).Object.Value
名前じゃなくインデックスで値を拾う感じ
- 100 :
- datagridviewで選択した行のテキストを各列ごとにテキストボックスに反映させるにはどうすればいいですか?
- 101 :
- BindingSourceを作って
DataGridViewのDataSourceと各TextBoxのDataBindingに割り当てる
- 102 :
- BindingSource って Visible=False なコントロールを飛ばするとか、微妙なところあるんだよなぁ
- 103 :
- 昨日あたりのWindowsUpdateでListViewの表示がおかしくなった。
正確には「View=Tile」にしてもLargeIconになってしまうケースがある。
既にリリース済みのシステムで今日から表示がおかしいという問合せが
あった。どこに原因があるのか確認しようとミニマムなコードを書いて
みても普通にTileで表示されるので原因がまだ特定できていない。
それとApplication.EnableVisualStyles()していてもTabコントロール上の
ボタンにVisualStyleが適用されないものもある。この時、Tabコントロール
以外に存在するコントロールにはVisualStyleが適用されている。
これも原因がわからない。。
同じような現象になった人っていますか?
- 104 :
- 11/14あたりのWindowsUpdateでListViewの表示がおかしくなった。
正確には「View=Tile」にしてもLargeIconになってしまうケースがある。
既にリリース済みのシステムで今日から表示がおかしいという問合せが
あった。どこに原因があるのか確認しようとミニマムなコードを書いて
みても普通にTileで表示されるので原因がまだ特定できていない。
それとApplication.EnableVisualStyles()していてもTabコントロール上の
ボタンにVisualStyleが適用されないものもある。この時、Tabコントロール
以外に存在するコントロールにはVisualStyleが適用されている。
これも原因がわからない。。
同じような現象になった人っていますか?
- 105 :
- おるわけないやろオマエのバグやのにw
- 106 :
- Windowsフォームを閉じる際にMe.close()とMe.dispose()の両方を書いたら閉じる時の挙動がおかしい(後ろで開いてたエスクプローラーが一瞬だけ出てくる)のですが原因が分かる方いますか?
- 107 :
- 俺も今月からおかしいのに気が付いた。
Private Abc as String = "AAA"と設定しているのに、
ボタンイベントで下記のみ実行
Abc = "ABDEF"
TextBox1.Text = Abc
Dim S1 as String = Abc
Msgbox(S1)
上記のコードを実行すると Msgboxの表示は”AAA”
テキストボックス表示は”ABDEF”
今月になって発覚した。
仕方ないからクラスを追加してグローバル変数にして実行している。
プライベート変数 すべてに影響があって初期値に戻される事象。
vs2017の修正を試したがだめだった。
- 108 :
- >>107の頭が目がおかしいのだろう
さすがにそんな言語レベルの根本的なバグがあったら自動テストで拾える
Msgboxのバグで以前表示した値が出ているとかならワンチャンないとも言い切れなくもないかもしれない可能性はゼロではないかもね
- 109 :
- こいつらはどうしてちゃんと環境かかないんだろうねぇ
- 110 :
- 聞かれないからじゃね
- 111 :
- Windows 10 Pro 1803 x64
VisualStudio 2013 + .NET Framework 4 + VB.Net
この環境で Windows.Forms アプリを開発してます。
- 112 :
- .NET4はとっくにサポート期限切れてるから使っちゃダメ
もしWinのアップデートのせいだったとしても、サポート切れの.NET4なんか当然テストしてないだろうし、自己責任よ
- 113 :
- 当該の不具合が発生している環境は Window 7 Pro x86 です。
後だし情報ですんません。
- 114 :
- 連投になってしまってすんません。
Windows 7 は 2020年1月で切れるということは、まだ切れてないんじゃ
ないんですか?
この解釈は間違ってますか?
.NET Framework 4 のサポートが終わったってどこに記述ありました?
ここにはそこまで書いてないと思うのですが。
https://www.microsoft.com/ja-jp/download/details.aspx?id=17718
- 115 :
- ライフサイクルについてはここで見つけることができました。
https://support.microsoft.com/ja-jp/help/17455/lifecycle-faq-net-framework
「2016 年 1 月 12 日に終了しました」とありますなorz
- 116 :
- そもそもVS2013って、Win10で動作保証されているのか?
- 117 :
- VB2013てWin8.1までだな。
Win10ならVS2015以降か。
- 118 :
- もしかして、開発のプロパティが .NET2とか初期値になってない?
PCにインストールしていない下位バージョンの.NET開発は挙動がおかしいよ。
まれだが、バージョンを最新に指定するとなおることも多い。
- 119 :
- >>118
対象のフレームワークは.NET Framework 4になってる。
ミニマムに再現確認しようと新規でプロジェクトを(.NET4で)作成しても問題なし。
でも既存のはListViewでView.TileにならずView.LargeIconだったりVisualStyleが適用されなかったりする。。
(Win7の実行環境でもWin10の開発環境でも。)
みんなはちゃんと最新の開発環境に移行できてるの!?
今回問題になってるアプリケーションはVS2003の頃に.NET1.1で開発初めて、途中で.NET2.0にして
いまはVS2013+.NET4で保守してきてるけど、そんなにポンポンと開発環境をMSの言うがままに
アップデートしてきてるの!?!?
- 120 :
- こういう典型的な保守さんを見ると、そんなにあんたたちの作ったものは品質が高いのかとツッコミたくなる
クソ細かいこと気にする前にもっと他にいくらでも直さなきゃいけないところあるだろ?
やるべきことをやらないくせに「やらない」ことに対してだけオーバークォリティな典型的な無能
- 121 :
- >>120
子供過ぎw
- 122 :
- どうさ保障されてる環境でないとサポートされないからな
問題が起きたらまずサポートされてる環境で再現するか確かめるわ
- 123 :
- >>119
manifestになんか書いてるとか
- 124 :
- >>119
.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を
なくしてみたりといじってみたけど解消されず。。
- 125 :
- ListViewは.NET4で安定してるはず。
NET4以前は、ある一定行数を超えるとエラーで処理が止まるということがあった。
だから、WIN32APIを使ってWM_PAINTメッセージを処理するコードを使わないと
ほぼ動かない状態だった。だが、.NET4でWIN32API呼び出しがいらなくなった。
多分だが、ビルド関係のPC固有のバグも含まれると思う。
なので、VSを終了してデバックされたものではない<開発中のアプリEXE>を
直接動かしてみてね。それでどうか?
VS2008の頃は、VSのデバック使わないで開発してた経緯がある。
- 126 :
- >>125
.NET4 以前の不具合は知らなかった。ありがとう。
今回の現象は、.NET1.1の頃に開発したソースをそのままずっと引き継いでいて
VS2003〜2005〜2008〜2010〜2013、.NET1.1〜2.0〜3.5〜4と変遷しながらも
そのまま使用している。
いま起きている不具合は Releaseビルドした実行ファイルを、別PCで実行しても
発生するし、VSでのデバッグ実行でも発生している。
- 127 :
- 確か、そのころVS2003とかDLL出力できないものだよね。
多分 .resxファイルとか残ってるでしょ?
サポート対象のバージョンで動くかどうかではなく、昔から流用してきたコードやメソッドを
見直すほうが先だと思う。古いメソッドとか使ってると微妙なものがある。
- 128 :
- >>127
開発当初から.resxファイル使ってるよ。
これマズいの?
確かに過去に.NETを新しいものに変更したときそれまで使用していたメソッドが
使えなくなってメンテした記憶はある。
でも.NET4で作成したアプリがついこの間までは普通に使えていたのに
急に挙動(見た目)が変わるって変じゃない?
単純に ListView の View を Tile にしても LargeIcon になってしまうのって気持ち悪いし。
enum定数の値が変わったとかならわからなくもないけど、実際にはenumのView.Tileを
指定しているし。
ステップ実行してもそのタイミングでViewはTileになっている。
けれども実際の見た目はLargeIconになっている...
まあサポートの切れた.NET4を使っていて文句言うなと指摘されそうだけど。
- 129 :
- デバッグ実行で再現するならミニマムコード作って晒せよ
- 130 :
- あ! そうか・・ LargeIconの設定はコードで書いてるの?
リストビューのツールプロパティに設定項目なかったかな?
それで試してみた? 設定変更のコードを削除してから試してね。
ただ、頻繁に変更するとか、あとバグるメソッドじゃないんだよね。
なんどもすまん!
- 131 :
- >>129
ミニマムコード書いても再現されないから困ってるんだよ。
>>130
ListViewコントロールのViewを LargeIcon、Tile、SmallIcon、List、Detail と
切り替えられるようにしている。
もちろんコードでやってる。
で、書いてくれたように今、デザイン時でTileにしてコードでは変更しなくてもやはり
LargeIconになってしまったよ。。。
Tile時はImageに加えてSubItemの文字列も表示されるので便利なんだけど
現状ではLargeIconになってしまうのでSubItemが見えず一見すると同じような
ものが並んでしまって判断つかないからDetailに表示を切り替えて我慢して
もらっている。でもこれだとImageが表示されないので、これはこれで不便なんだよね。
そもそも気になるのが、VisualStyleを有効にしているのに、同じフォーム内でも
ボタンで適用されているのとされていないものが混在しているってこと。
フォームのタブコントロール上のパネルコントロールに配置しているボタンには
適用されていないけれどフォームのパネルコントロールに配置しているボタンは
適用されている。。。
でも再現確認しようとミニマムなものを新規で作成してみてもこんな事にならず
ちゃんと全てのコントロールにVisualStyleは適用される。
わけわからない。。
- 132 :
- 賭けてもいい。システム側の問題じゃない
あなたのコードの問題
最初からそう言ってる人もいたけど、それはここに書いてる文章の行間からも十分推測できる
- 133 :
- 今のプロジェクトから削っていくのでも
新しいプロジェクトに増やしていくのでも
どっちでもいいから順番にやってけば
- 134 :
- ミニマム環境作ってだいぶ調べた。
プロジェクトのプロパティで「アプリケーション」内の「アプリケーションフレームワークを有効にする」の
チェックを外すと再現できた。
このチェックを付けるとListViewはTileとして表示される。
チェックを外すとListViewはTileを指定してもLargeIconで表示されてしまう。
- 135 :
- よし、その調子で調査を続けたまえ
- 136 :
- >To enable tile view, your application must call the Application.EnableVisualStyles method.
らしいけど、ちゃんと呼んでるのか?
アプリケーションフレームワーク有効だとその辺勝手にやってくれてたはず
- 137 :
- >>131
ボタンの VisualStyle は UseVisualStyleBackColor プロパティで変わる。
>>134 のようなことにはならないよ。
- 138 :
- 自動テストって業務アプリでもつくっておけよ。ww
そんなの死んでも作らんわ。
- 139 :
- そこまでならシステムバグかも。言ってるだろ保存時のエラーを拾ってる可能性が高いって。
私も経験していて、すべて同じコードをそっくり新規プロジェクト作成してコピペすると
バグの再現率は皆無。早めに移動させたほうがいいよ。
3年前には、バックグランドのIsBusyが毎度Falseで戻るというバグ。
この時も新規プロジェクトにコードをコピペしたら直った。
- 140 :
- だから、新規でミニマムコード書いてみて再現するんだって。
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になったりならなかったりするんだって。
- 141 :
- その後の検証で、VS2017+.NET4や.NET4.7.1などではアプリケーションフレームワークを無効にしていても
Application.EnableVisualStyles()を呼んでおけば大丈夫でした。
以上
- 142 :
- VS2013のVB.NETでアプリケーションフレームワークを有効にしない場合、コードで
Application.EnableVisualStyles()を実行していてもVisualStyleが適用されない部分が発生する
(中途半端に適用されてしまう)ことがわかりました。
アプリケーションフレームワークを無効にして Sub Main() から起動していたものを
アプリケーションフレームワークを有効にして ApplicationEvents で処理するように変更することで
今回の件は対応できました。
さようなら。
- 143 :
- Formを表示するだけなのにvirustotalで調べると
Endgame malicious (moderate confidence)
Trapmine malicious.moderate.ml.score
↑の2つが必ず検出される・・・
- 144 :
- 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の計算結果を取得できればと思ってます
- 145 :
- >>144
クラスを定義して BW1 で New して BW2 の起動時に渡せばいい。
BW2 では e.Argument をクラスにキャストしてプロパティや
フィールドを書き換えれば BW1 側で参照できる。
BW2 の終了を BW1 側でどうやって知るかというと
クラスに完了フラグを入れたり、待機するなら
AutoResetEvent など入れておく。
- 146 :
- >>145
ありがとうございます
クラスやインスタンスについてはよく理解できてないんですが
・BW1とBW2の間で受け渡ししたい情報をプロパティとして持つクラスを作成
↓
・BW1の中でそのクラスのインスタンスを作ってBW2に渡したい値をプロパティにセットし、
それを引数としてBW2を起動させる
↓
・BW2側で計算が終わったらCompletedイベント内部でプロパティやフィールドを書き換える
って感じなのでしょうか?
BW2にデータを渡すのは何となく分かる気がするんですが、BW1からBW2の結果を
参照できる理屈がよくわからなくなってきました
- 147 :
- 俺はスレッドの同期には
スレッド1でMonitor.Waitでオブジェクトを待機
スレッド2で計算完了後渡したいデータをキューに入れる→Monitor.Pluse
スレッド1でWaitが解けたらキューを取得
以後ループ
ってやってる
- 148 :
- >>146
VS2010ならTaskあるだろ
順番にコールバックで処理を繋いでいくだけだ
BackgroundWorkerは忘れていい
>>147
そのパターンはWaitHandleを使いなさい
- 149 :
- >>148
悪いな
2005なんだわ
- 150 :
- >>149
WaitHandleは.NET1.1からあるが
- 151 :
- Dim p As New Ping()
Dim pr As PingReply = p.Send(ip, 2000)
If pr.Status = IPStatus.Success Then
ハードウエアに添付されてる特定のアプリをインストールした直後に
上記を実行すると、無限に p.Send(ip, 2000)で止まったままになるらしく。
強制的に抜け出す方法があれば教えてください。
特定アプリを削除すると正常に動きます。
- 152 :
- >>151
それ、本当にPing.Sendがタイムアウトしないのかちゃんと確認した?
勘違いでしょ
本当にそんなバグがあればだれか問題にしてるはずだと思うけど
ググってみたがまったく見つからない
- 153 :
- インスタンスがインポテンツに見える
- 154 :
- >>150
そいつは返す返すも申し訳無かった
ちょっとググったら.net4て出てたもんで
- 155 :
- >>151-152
クラッキング防止のため、ping には応答を返さないサーバーもある。
それで、クラッカーは、ずっと待たされるから、防止になる
タイムアウトするしかない
- 156 :
- >>155
??
- 157 :
- >>148
Taskですか・・・初めて聞きました
ちょっとググって使い方を調べてみます
- 158 :
- >>151 だが、遅くなってすみません。
確かに、どんなことがあってもタイムアウトかエラーで止まるとかあるはず。
今回は、どうにも納得できないのはある。
現状は、プライベートIPに向けてPingしてるからなんともいえないけど。
Pingを外して作り直してみますね。
いろいろと、ありがとうございました。
参考になったことを感謝!
- 159 :
- >>157
async/awaitだろうけど、その処理は非同期じゃないとできないものなのか?
- 160 :
- むしろ基本は非同期ファーストでよほどの理由がなければ同期にはしないのが現代の.NETプログラミングの常識だろう
まあVBerにそれを強制すると大惨事だろうけど
- 161 :
- >>160
それはUWPアプリの場合じゃないの?
- 162 :
- UWPだろうとWinFormsだろうとUIスレッドを長時間ブロックしたらフリーズするのは一緒や
- 163 :
- >>162
まぁ、そりゃそうだが何でもかんでも非同期処理にするのはどうかと思うぞ。
非同期って別スレッドだからスレッドの罠を分かってないヤツが実装すると危険だよ。
スキルの無いヤツほど難しい実装をやりたがる。
単純明快な実装で簡単にできるものまで。
- 164 :
- >>163
ほとんどの非同期処理は別スレッドではない
システムに依頼したIOの完了を現在のコンテキストのままでやるか、
完了を待って元のスレッドへコールバックするかの違いでしかない(デフォルトでは)
長い処理の完了を待つ必要がある(でもイベントベースの非同期は面倒だからコードはシーケンシャルに書きたい)ときに
利用側が待機用スレッドを作る必要がないので、従来のBackgroundWorkerや生Threadよりずっと安全だ
- 165 :
- >>159
そうですね
リアルタイムの物理シミュレーションで、物理演算スレッドとは別に裏で走らせたい
重いと予想される処理があるので非同期でないと具合が悪いです(しかもその
別処理での計算結果を物理演算スレッドで使う)
物理演算スレッドと同じスレッドでその別処理を走らせると別処理の結果が出るまで
物理演算スレッドが先に進まなくて全体のパフォーマンスが悪化するんで、何とか
別処理は物理演算スレッドから更に分離してマルチスレッドにしたいと考えています
以前はメインスレッドで物理演算スレッドを実行していたせいで描画がかなり遅くなって
Backgroundworkerを使って物理演算スレッドを分離したという経緯があるので、そこに
別処理を組み込むのもBackgroundworkerでやれたら・・・と考えていました
- 166 :
- >>164
はぁ?
スレッドプール使ってるだろ?
- 167 :
- >>166
TaskCompletionSource使えばスレッドを使わないTaskも作れるよ
というか.NET標準の非同期IOはだいたいそう
- 168 :
- なお、Taskがスレッドを使ってようがいまいが、それを使う側が意識する必要はない
デフォルトでは、処理の終了後に元と同じスレッドに処理が戻ってくるからね
- 169 :
- >>167
ワーカースレッドを使ってるっぽいけどね。
- 170 :
- >>168
非同期の中は相変わらずスレッドだし、スレッドの仕組みが分からない人が安易に使うべきじゃない。
スレッドプログラミングモデルは不完全だよ。
- 171 :
- >>169
どう見てもTaskCompletionSourceだね
https://github.com/dotnet/coreclr/blob/8b03dbeb90c81b8095b949b44553ff970e169851/src/System.Private.CoreLib/shared/System/IO/FileStream.Windows.cs
- 172 :
- >>170
安易もクソも、長時間かかる処理をUIをブロックすることなく、かつ手書きステートマシンによる大きな生産性可読性もなく記述しようと思えば、
別スレッドで同期処理するかTask使うしかないでしょ
で前者に比べれば後者のほうがまだ安全だと言ってるの
あっ、VBプロの伝家の宝刀DoEventsがあったかw
- 173 :
- >>172
スレッド絡みの罠を知った上で使うのは問題ないけどねぇ。
async/awaitって非同期が簡潔に書けるし超便利だし。
馬鹿が見様見真似で仕組みも分からずに安易に使うのは許せん。
- 174 :
- .NET CoreとしてVB.NET使った事例増えてるんかね?
これで増えないとVB.NETもヤバい
- 175 :
- VB.NETはあっても良いがVB.NETを使うやつは死滅してくれ
- 176 :
- 大丈夫100年後には皆死んでる
- 177 :
- UWPでdll使いたいんだけど、
Byval hogehoge as string だとエラー出ちゃうね。
試しに Byrefにすると通るんだけど、これバグかな?
文字列を受け取るのではなくて、送りたいからこれだと動かないんだけど。
- 178 :
- コンパイラエラー 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
- 179 :
- >本当にありがとうございます!!!!!!!!!!!!
>キモヲタ万歳!!!!!!キモヲタ役に立つ!!!!!!!!
この質問者は、荒らしだから、無視しろ!
- 180 :
- むかしのVisual Basic6とかVisual C++6を今からインストールしても
今インストールしてる最新の.NET環境に影響はありませんか?
- 181 :
- >>180
影響あるんじゃね詳しくは知らんが
- 182 :
- >>181
そうざますか。
どなたかくわしいひといらっしゃいませんか?
- 183 :
- くわしいけど何か?
- 184 :
- >>183
Visual Basic6とかVisual C++6を今からインストールしても
最新の.NET環境に影響はありませんか?
- 185 :
- >>184
VS.NETは、バージョンの順番に入れないと上手く動かなかったりするけど
vb6, vc6は大丈夫だろ?
それ以前にWin10へのインストールはやったことがないなあ
俺なら仮装環境へWinXpを入れて使うか
- 186 :
- vb6のアプリはWin10でも騙しながらなんとか動くよ
- 187 :
- 騙しながらとは?
こういうあいまいな言葉いやだな。
コンピュータ業界の人ならはっきりとしたいものです。
前の会社で「サーバがコケた」とよく言ってた人を思い出した。
サーバに足はないんだからコケないだろ。
- 188 :
- >>187
確かに鯖には足は無いね。
鯖は転けない。
プログラミングと言うものはコンピュータとユーザを如何に騙すかに掛かっている。
- 189 :
- vb6でコンパイルしたexeは騙し欺し動くけど
開発環境そのものを入れるのは何か問題あった希ガス
- 190 :
- >>189
インストール時にエラーが出まくるけど開発出来る程度にはインストールできたはず。
- 191 :
- 個人で使うならいいだろうけど
仕事では使えんぞ
- 192 :
- >>191
何が?
- 193 :
- 無理やりインストールしたVB6で作ったソフトを仕事で使えるわけない
- 194 :
- >>193
え、そうやって古いゴミvb6システムを騙しながら保守するんだぜ。
MSがvb6に引導を渡してくれたら客先も諦めて移行するんだけどね。
- 195 :
- 業務で保守するなら古いOSも用意しとけよ
- 196 :
- 会社が動作保証できない環境で開発させるのはブラックだけ
- 197 :
- >>35
Strongwwwww
- 198 :
- え?Microsoft製品って動作保証されてるの?
知らなかったなあ。.NET Frameworkって何か起きた時にはMicrosoftが補償してくれるんだ。
UWPなんかコンパイラのバグばかりだけど、これって金銭的補償とかしてくれるの?
そもそも業務でVB6使うよりも、Windows10使うほうが色々リスク高いと思うけど。
- 199 :
- win10はサポート切れてないし
- 200 :
- 今からでもいいので20年前に出たVB6のバージョンアップ版を出したほうがいいと思う
- 201 :
- >>200
なんで?
- 202 :
- >>200
なんで?
- 203 :
- >>200
VB.NET: アタシのどこがいけなかったの?
- 204 :
- >>199
win10のサポート?
具体的にどんなサポート受けられるの?
今までの経験だと、どんな不具合報告しても、なに言っても改善されないのがマイクロソフトだけど。興味あるな。
- 205 :
- >>204
.netで不具合報告をしたら速攻でパッチ出してくれたが
- 206 :
- >>200
最新版のVB6のIDE用パッチは2016に出てるよ。ぐぐっても古い記事しか出てこないから充ててない人多いよね。
サポート期限ガーとか言ってる奴に限ってvisual studio2008とか使い続けてるんだよな。もうサポート期限切れてるのに。
- 207 :
- >>205
へえー、富士通とかマイクロソフトに近い人なのかな?
- 208 :
- >>207
不具合が100%再現するコードを送ったら直ぐに直してくれた
- 209 :
- >>208
へえー、アメリカに直で?
日本マイクロソフト通してたら即なんてあり得ないのは常識。
- 210 :
- ちなみにVC6を未だに現役で使い続けてるところ沢山あるけど、そこにツッコミ入れる人は少ないんだよな。
コンパイラとしても古いけど、やはり枯れて実績が積まれて使い慣れてるから、なかなか手放せない。
VB6も同じだと思うよ。
- 211 :
- 日本マイクロソフトは営業所みたいなもんだから。
製品作ってる技術者なんかいない。
- 212 :
- >>209
日本MSだよ
VSのサポートインシデントを使って
MSがバグと認めたらインシデントは消費しない
- 213 :
- >>203
C#も同じだけど、ソースコードばらまくようなものだもん。ILspyみたいなフリーで高機能なのあるんだもん。
変数を分かりにくくする程度の難読化なんて俺から言わせれば無意味。
VB6はネイティブコンパイルできるから、ソースの可逆性がVCと同じくらい難易度高くなる。現にVCの難読化ソフトがないのはそーゆうこと。
- 214 :
- ConfuserEx使えば大丈夫ですわよ?
- 215 :
- >>214
分かってないな。
VB.netの文法や関数、クラスを変えることはできない。
外部dllなどを参照している場合、それを誤魔化すことはできない。
従って手間は掛かるけど、難読化なんて簡単に破れる。
なんか、最近だと一部のソースをC++の外部DLLに置き換えてしまう難読化ソフトがあるみたいだけど、本末転倒だと思うよ。
- 216 :
- お前らのコードは難読化不要なほど難解だろ
- 217 :
- ActiveX DLLをファイル名だけでActivater.CreateInstanceする方法無いでしょうか?
前ブログで見たことあったと思うんですが
見つからなくて。
- 218 :
- スレッドはタイムアウトのためにつかった。
有償の通信ライブラリ使ってたがタイムアウト仕込んでない
から、メーカーか出してるプロトコル読んで作った。
ほんとは c++でやりたかったが
- 219 :
- VB.NETは滅びぬ!何度でも甦るさ!
.NET CoreにVisual BasicのFile IOを追加
https://www.infoq.com/jp/news/2019/02/VB-File-IO-Core
- 220 :
- 要らんことするな
- 221 :
- 難読化だって? 先日、大企業のシステムアプリの不具合を報告したら、
「作成した担当者が辞めてしまって・・修正できません。」とか言うからね。
これって、他人のコードが読めないって言われてるのと同じだろ?
可読性wwww
- 222 :
- >>221
おまえがなおせ
- 223 :
- それ往々にして
×修正できません
○修正したくありません
だから
- 224 :
- じゃ、修正費用10億円で
- 225 :
- うわきもっ
- 226 :
- vb.netはクールだけど使ってるやつはキモイしブサイクでスキルがない
- 227 :
- / ̄ ̄ ̄ ̄\ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
( 人____)< じゃ、10億円で
|./ ー◎-◎-) \______________
(6 (_ _) ) カタカタカタ
| .∴ ノ 3 ノ ______
ゝ ノ .| | ̄ ̄\ \
/ \__| | | ̄ ̄|
/ \___ | | |__|
| \ |つ |__|__/ /
/  ̄ ̄ | ̄ ̄ ̄ ̄| 〔 ̄ ̄〕
| | ̄
- 228 :
- 10億円なら受けますよ
- 229 :
- やっぱキモイ
- 230 :
- そんな端金では出来ひんで
- 231 :
- Accessで作った方が速いと言われてしまうのですが、実際どうなんでしょうか
- 232 :
- >>231
Accessで作った方が速いと言うヤツはAccessの方が早いのだろうけど
.netの方が楽だよね
- 233 :
- >>231
その速いとはすぐに作れるという意味なのか、動作が速いというのかどっちだろう
- 234 :
- バイナリファイルを編集したいのですが、内容が書き換わりません。
どこが駄目なのでしょうか?
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
- 235 :
- 書き換わらないというか末尾に追記されてるよね?
Readした時点で一番最後ポイントしてるからそこでWriteしたら当然末尾に書かれるぞ
Position変更するかSeekするかしないと
- 236 :
- >>235
ありがとうございます。上手くいきました。
- 237 :
- >>233
>>動作が速い
はPCによる
普通は工作作業でしょ
- 238 :
- >>219
まあ、そうなるわな
VBプログラマの受け皿として.NET Coreプロジェクトが有効になる
- 239 :
- form1にcmbSkill0〜cmbSkill12というcomboBoxを配置してForm_Loadに以下のようなソースを書いたのですが
「オブジェクト参照がオブジェクト インスタンスに設定されていません。」というエラーが出ます。
vb6のコントロール配列のような処理がしたいのですが、何が悪いのでしょうか?
' 表示用の列を設定
For i = 0 To 12
CType(Me.Controls("cmbSkill" & i.ToString), ComboBox).DisplayMember = "items"
Next
- 240 :
- >>239
デザインで貼っても配列にならないからコードで記述
- 241 :
- GroupBox(gpb1)の上にComboBoxを貼り付けていたのが原因でした。
以下のように修正したら上手くいきました。お騒がせいたしました。
For i = 0 To 12
CType(Me.gpb1.Controls("cmbSkill" & i.ToString), ComboBox).DisplayMember = "items"
Next
- 242 :
- 同じ値の入る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)
- 243 :
- 全部同じならCopy()でいいじゃん
- 244 :
- 同じデータなら同じデータソースを使えば良いだけでは?
- 245 :
- >>244
同じデータソースを設定したら、comboboxにselectedValueで設定するときに
combobox1-12全部同じ値が挿入されちゃいました。
- 246 :
- >>245
そうなるんだw
>>243 の言うようにコピーでしょ。
DataTableの作成のオーバーヘッドが小さいのなら、その都度作成してデータソースに入れるけど。
- 247 :
- DataViewつかえよ
- 248 :
- comboboxに紐つけるデータソースにdatatableは重すぎる
- 249 :
- >>243-248
Copy()でいけました。
皆様アドバイスありがとうございました。
- 250 :
- For Each c As DataGridViewColumn In .DataGridView1.Columns
c.SortMode = DataGridViewColumnSortMode.NotSortable
Next
このコードをLINQを駆使して1行で書けるのでしょうか?
- 251 :
- 基本的にLINQは更新系には使わないので
CastしてToListしてForEachでできなくもないけど無意味だな
- 252 :
- >>250
Datagridview1.Columns.Cast<DataGridViewColumn>().ToList().ForEach(f => f.SortMode = DataGridViewColumnSortMode.NotSortable);
c# だけど、無理やり過ぎる
- 253 :
- 余計見にくくなった気がしますので止めます
- 254 :
- いい洗濯だ。
- 255 :
- >>237
確かにAccessは工作作業速くできる
VBAが.NETだったら最高なんだけどな
- 256 :
- bindingsourceのfilterを一時的に動かないようにできますか?
datasourceを変更したタイミングで自動的にfilterしてほしくないときがあって…
- 257 :
- 一時的に動かないって、フィルタするかしないかしかないけど
それでいいんだったらRemoveFilterなりFilter = ""なりすればいい
- 258 :
- >>256
bindを切るとか
filterをnullにするとか
- 259 :
- 現在のフィルタ状態で固定したいんです
- 260 :
- >>259
だからデータソースを突っつく時は一時的にバインドを切る
- 261 :
- 新卒で中小企業入ったんだが、vbやらされてる
俺の将来性大丈夫?
- 262 :
- 職業選択の自由がある
- 263 :
- スマホアプリで評価低いのは企業アプリ。
まあ評価をみて入社したならいいが、評価の低い企業には絶対入社しないわ!
- 264 :
- >>261
VB.NET極めたら、特に困らんと思うけどね
VB.NETの案件もそれなりに有る
メンテ案件だけになりつつ有るJavaよりマシでは
- 265 :
- >>261
他に何もできないで、やらされているというのはどうなの?
- 266 :
- >>265
それも、気の毒な話。
プログラミングは才能だからね。まともに使えてる人は天文学者くらい。
- 267 :
- 上司にvbやれっていわれてvbやりたくないで仕事になるの?
それで給料もらえる会社なら俺も入りたいな
- 268 :
- >>265
今時の新入社員はそんなモノでしょ
やりたい仕事じゃない=やらされてる
- 269 :
- >>267
辞められると上司の責任になるご時世
でも限界有るわな
- 270 :
- 「/」と「\」の違いを最近知った俺様が通りますよ
- 271 :
- /\ァ
- 272 :
- 通ってよし!
- 273 :
- ゼロとオーの区別がつかない
- 274 :
- | l 区別つかないよぉ。
- 275 :
- この話題といえば、、、
紛らわしい文字を区別するために現在フォントをConsolasにしてるのですが、他におすすめはありますか?
Consolasは、記号が多いC系の言語に結構合うと思っています。しかしVisual Basicは文章的に記述するので、もっと美しく表示できるフォントがありそうな気もします。Visual Basicにピッタリのフォントがあったら教えてください!
- 276 :
- 0に斜め線が入ってるのは標準ではConsolasしかない
- 277 :
- IDEが貧弱だった時代ならいざ知らず
今となっては割とどうでもいい
- 278 :
- >>277
そんなこたあない
CONS0LAS
C0NSOLAS
- 279 :
- oO0Oo0
- 280 :
- Consolasの日本語フォントリンクはいつになったらやってくれるのか
- 281 :
- Typeクラスからコンストラクタの引数の型を知ることってできますか?
- 282 :
- GetConstructorsからできるでしょ
- 283 :
- パラメータっぽいメンバが見当たらないんです
- 284 :
- ConstructorInfoにGetParametersがあるでしょ
- 285 :
- >>275
MyricaM (Inconsolataと日本語のMgen+のセット) ダウンロードして使ってる
Inconsolata はConsolas からインスピレーションを受けて作ったらしい
- 286 :
- http://creating-homepage.com/archives/2115
あたりも参考に
- 287 :
- あるツイート
VB.netアプリをWeb化する案件が最近今の会社で増えてるようで、技術的なアドバイスをしてほしい的な要請をもらうことがそこそこあるんだけど、大体みんな画面ができればシステムができると勘違いしてる そもそもそのシステムどうやってお客さんに使ってもらうの?
っていう話ですよ
- 288 :
- webって、asp?
- 289 :
- UI設計が出来てるなら後は組むだけなので、あながち間違ってはいない。
静的な1枚絵じゃなく遷移図になってるなら
- 290 :
- Javaか
- 291 :
- vb.netをasp.netに変換するアプリがあるみたいだ
- 292 :
- ビジネスロジックが固まってないのにUI設計ばかり進める顧客の何と多い事か。
- 293 :
- 人間もアプリも見た目が全てだ
- 294 :
- ビジネスロジックは増減するから先に決められないんや
- 295 :
- >>292
それはね、ビジネスロジックって後からどうでもなる、と言う幻想が有るからだよ
肉じゃが作ろうとしてたのに、そうじゃ無い、カレーが欲しいんだ、と言って途中からカレールー入れても完璧なカレーにならないのと同じ
最初にどういう材料でどういうモノ欲しいの、と言うのが見えていない顧客は仕事依頼する資格は無い
でも代金払うのは俺たちだから言う事聞けよ、と言うのが日本の業界のダメな所
- 296 :
- >>295
肉じゃがを味付けする前なら普通にカレーになる
味付けした後でもカレールーじゃなくてカレースパイスと小麦粉で調理すればカレーになる
だが肉じゃがをコロッケにするにはかなりの手間が掛かる
肉じゃがをハンバーグにしろと言われたら逃走するのが一番だ
- 297 :
- 確かなことは、例え話というのはクソだと言うことだ
- 298 :
- 現実はそもそも要件が料理名じゃなくて、いい感じに美味しい料理とか、そんなんだぞ
- 299 :
- 注文側が美味しいと感じるかどうか、だからな
- 300 :
- パイソンを始めたら難しいな、どうなってるんだよ。
おいしいハンバーグさえ作れない。
- 301 :
- スパゲッティづくりなら得意だぜ!
- 302 :
- 調理が永久に終わりません…
- 303 :
- >>301
それは麺をつくるのか?
- 304 :
- >>300
ヘビの肉でも出来るだろう
- 305 :
- インフラまったく考慮せずにWeb化って言われても、って話じゃないのか
- 306 :
- ノンフライ麺ですか
- 307 :
- https://medium.com/young-coder/the-rise-and-fall-of-visual-basic-f422252349a6
- 308 :
- 軽減税率の分類で何がいくらかってどう調べたらいいんだ?
- 309 :
- >>308
商品だけで決まらないからね
購入形態にも寄る
ハッキリ言って混乱するだけ
- 310 :
- 誤爆だったが答えてくれてありがとう
- 311 :
- スパゲティの達人曰く、gotoと書いてゴットと読ませる。
その心は神の指紋が読めない。
- 312 :
- gotoが無くても美味しいスパゲッティは作れる
- 313 :
- 自画自賛ですか
- 314 :
- 後藤シェフにおまかせ
- 315 :
- 「おい、後藤をシェフ呼べ! 昆布だしの取り方はうまいが・・・」
- 316 :
- shared変数ってvsのインテリセンスに出てこない気がするんですが仕様ですかね?
入力すると特にコンパイルエラーにはならないんですが地味に不便です。
- 317 :
- 静的(共有)変数はインスタンスメンバーではないので
インスタンスのメンバー一覧にないのはむしろ当たり前ですよ。
- 318 :
- インスタンス文明
- 319 :
- インテリセンスにでるのはインスタンスメンバーだけじゃないけどな
すくなくともCommunity 2019 では表示される
- 320 :
- >>319
そんなことは当たり前でしょw
- 321 :
- 素人に静的変数使わせるのは怖いよ
- 322 :
- 誰でも最初は素人さ
- 323 :
- withって書くのは楽かもしれんがデバッグ時にマウスオーバーで値が取れないのでクソイラつきますね
そのままだとウォッチでも値取れないしソース上から抹殺したい
- 324 :
- スコープを狭めるためにwith使うのはどう思う?
- 325 :
- いいと思うが、囲む範囲がでかくなりすぎるような場合はやらない
- 326 :
- with ってスコープ作成したっけ?
まあ今どきwithとか推奨しないけどな
つかスコープのためだけにwith使うとかないわ
その範囲でスコープ切るような必要があるなら、その部分外だししろよ
- 327 :
- もうVB自体使わないな
いや俺も2005まではVB派だったんよ
その後のVBの「進化」の方向は間違ってるとしか思えない
業務でVB強制されてる人は気の毒だよねw
- 328 :
- vbはvisual studioがなかったら死んでもやりたくないわ
visual studioとの親和性で生きながらえてると思う
- 329 :
- 言われなきゃ誤爆ってわからん。
VB.NET的な解決方法があるのかと思ったわ。
- 330 :
- >>310から更新せずにレスしたら、俺が誤爆したみたいになったわ。
- 331 :
- vbは書けるけどvbaは書けない理由はVISUAL STUDIOで開発できるか否かの違いだと気づいたヘボグラマーです
- 332 :
- 最初はへぼでもやってるうちに上達するさ
- 333 :
- リソース画像をaddpictureでExcelシートに貼り付けられますか?
- 334 :
- >>333
知らんので適当だけど、PasteSpecial の方を使ってクリップボード経由で
貼り付けた方が簡単じゃない?
- 335 :
- >>334
確かにクリップボードを使えば簡単にできたんすが
それ以外の方法はないものかと思って。
自分以外の人も使うプログラムなので、あまりクリップボードを汚したくないなと。
- 336 :
- >>335
なら多分適当な場所に一時ファイル作ってそのパスを渡すしかないよね。
オフィスのオブジェクトモデルは90年代の設計だし、
画像データを引数で渡すって発想自体が多分ないのでは
- 337 :
- 老眼には { } より Class End Class の方が見やすいんじゃよ・・
- 338 :
- 質問だがSCADAチックなものを作ってる人ってインターネットで探す限りでは、
見ないんだが、誰か作ったことありますか?
SCADAというのは、ユーザーがアイコンを選んでそれをウインドウにドラッグし、そのアイコンを右クリックしたら、
そのアイコンに色々パラメータが設定できる画面を呼び出せて、そのパラメータを元に共通の処理を行うというようなアプリです。
個人で作るには余りにも時間がかかるから無いのかな?
海外では Open Source な SCADA を作ってる人も居てはるが。
- 339 :
- SCADA自体は世の中に既にたくさんあって、
それを使うのは製造業システムを「作る側」だから、操作性にいちいち文句を言う人間もなく、
既にある普及したSCADAを使うのが当然だから、新しく作ろうという人が出てこないんだろうけど。
- 340 :
- クリップボード使えないってコピペ操作もできないんじゃ・・・
- 341 :
- 自分でコピー操作してないのにクリップボードが勝手に置き換わるのは良くはないよ
- 342 :
- 操作するんだからいいんじゃないのか
- 343 :
- クリップボードを操作するアプリだとそうだけどね
- 344 :
- .netから1.batを呼び出して、さらに2.batファイルを呼び出したいんですが
1.batファイルにcall 2..batと記述しても呼び出せません
1.batファイルをダブルクリックでは2.batも動きました。
.net側の書き方はどのようにすればよいでしょうか
- 345 :
- WorkingDirectory
- 346 :
- >>345
ご意見ありがとうございます。
ぐぐってみます
- 347 :
- 普通1.BATが正常稼働したか確認して2.BATを実行するロジックをVB側に実装するモノだが
- 348 :
- >>333
貼り付けるものがimageコントロ―ルなら可能。
ShapeやPictureなら難しい。
imageコントロールならOleCreatePictureIndirectでいける。
VBAではいけた。
- 349 :
- HttpListenerで簡易WEBサーバーを作っているのですが
HttpListenerRequestのContentEncodingが
デフォルトではシフトJISになっていて
QueryStringに日本語文字列を渡そうと思うと
シフトJISでURLエンコードしてやらないといけないようです。
UTF-8でURLエンコードして渡してやりたいので
HttpListenerRequestのContentEncodingをUTF-8に
変更する方法は無いものでしょうか?
- 350 :
- ・リクエストをPOSTにしてリクエストヘッダにContent-Typeでcharsetをつけたらいける
(GETだとリクエストヘッダのContent-Type見ない)
・.NET Coreで作ればいける(既定のEncodingがUTF-8)
現実的な路線だとHttpListenerRequest::Url.Queryから自分で解析する
&でSplitして=でSplitしてSystem.Net.WebUtility.UrlDecodeするだけだから手間でもないだろう
- 351 :
- >>350
ありがとうございます。設定変更はできないのですね。
Url.Queryから解析する方法でできました。ありがとうございました。
- 352 :
- Edge対応のWebViewというのを使ってみたのですが
TwitterやYoutubeのページを表示するとコントロール自体が消えてしまいます。
まだまだ使えるレベルじゃないのでしょうか?
EdgeはChromiumベースに変更になるらしいのでもう開発も止まってしまうのかなぁ。
- 353 :
- try ... Catch ex As Exceptionってあるけど。
Exceptionって全ての例外の総称なのかしらん。
この辺が激ムズなのよね。
- 354 :
- 他人、あるいは会社のHPに勝手にWEBリンクすると法律に抵触する可能性がある。
大企業の場合だと注意書きが書いてあり著作権侵害に発展しかねない。
自分でアプリを作って楽しむならいいが公開した場合は訴えたれる可能性が高い。
- 355 :
- 今からXP対応アプリ作るなら.NET4.0より3.5のほうがいいのかな?
- 356 :
- DataTableやDataViewやDataRow等のクラスを使ってプログラム方法の詳細を学習したい
のに、本を見ても1〜2ページ程度で最も基礎なところくらいしか見つからないし、ネットでも
なかなか満足なページを見つけにくいもんで、良い情報源ないかいな。
会社のプログラムの改修で、現状はクライアント側でいくつかのDataTableを持っているところ
のソースコードを変更して、DataTableのAとBを結合するSQL文を使って、その結果のレコード
セットを得られる方法があるならしてみたいもんだが。
- 357 :
- ネットの普及で全然命令が覚えられない・・・コピペばかりしてるからw
- 358 :
- >>356
linq to datatable
- 359 :
- そもそもDataTable等に対してSQLは発行できんよ
(なんかそういうサードパーティのライブラリはあるかもしれないけど)
一部メソッドでフィルタとかでSQLライクな記述ができる部分がある程度
今やるなら>>358の通りLINQ to DataTableになるだろうな
あるいは素直にDBに問い合わせなおすか
- 360 :
- たんにDataTable間でリレーションってなら、DataRelationってのがあるにはあるが
SQLからデータテーブルつくるって話なら
そのSQLが単一テーブルからだろうが結合したテーブルからだろうが関係ないけど
- 361 :
- For Each f In dir.GetFiles(・・・
なぜか半年ほどに1度「URIが正しくありません」といった例外が
発生してしまう。単純にファイルを探すためにつかっているのだが。
やはり URIの.IsFileを使って調べるのが正解なのだろうか?
C#だと起きてないみたい。
- 362 :
- 仕事でVB.NETを使う事になりました。
調べていると度々C#が引き合いに出されているのを見ますが、C派生のC#とVB派生のVB.NETに関連があるのは何故でしょうか?
- 363 :
- >>362
c#もvb.netもcやvb派生では無い別の言語です
- 364 :
- >>363
そうなんですね、早速の返信ありがとうございます。
- 365 :
- >>364
C#の方が何でも出来る、と言う話でマイクロソフトの営業がVB.NETよりC#を勧めるから
実際、C#でしか出来ない部分はほんの限られた分野だけと言う事実
.NET Core3.0ではVB.NETはLinux上でも動かせるし、ほとんど変わらんよ
- 366 :
- ASP.NET CoreはVBをサポートしていなしする予定もないから、.NET CoreではVBを使ったWeb開発は不可だ
.NET 5での完全Core移行のロードマップにも入ってない
- 367 :
- とは言いつつ外圧に負けてサポート
- 368 :
- .NET5でVBでのWeb開発がサポートされるかは別にして、現にCore3ではVBでのWeb開発はできないわけで
少なくとも>>365の言う「ほとんど変わらんよ」は全くもって事実ではない
- 369 :
- 言語なんて関係ねーぜ、アルゴリズムが全てだぜー
- 370 :
- そう思っていた時期もありました
- 371 :
- 仮にASP.NET CoreでVBがサポートされたとしても、WebFormsが.NET Coreで使えないようにならない限りVBerには使えないんだけどね
まあWebのスキル不足問題はVBerに限らず業務系.NETer全般に言えることなのだが
- 372 :
- そら分野が違うし当たり前じゃん
- 373 :
- 組み込みからWebアプリまでマルチにこなす奴も居るけどね
- 374 :
- >>372
何も違わないでしょ
VBerだってWebアプリ自体は普通に必要とされて(WebFormsで)作っているのだから、
それが無くなったら客の要望に答えられませんというのは完全に「スキル不足」でしかないよ
- 375 :
- 業務系とwebやってたやつが組み込みに来たけどVCCとGNDの違いすらわからず基板壊してしばかれてた
組み込みに来るなら基本的な電気知識くらいは知っとかないとモノ壊しちゃうからねぇ
- 376 :
- ハードの分からない組み込みソフト屋は少なからず居る
- 377 :
- というか大半が回路図すら読めない
逆にハード屋はソフトも多少わかる人が多いというかソフトのことわかんないとメモリもバスもMPUも設計できないからね
- 378 :
- それは半導体屋だろ
組み込み基板を作ってるハード屋はソフトを知らなくても出来る
- 379 :
- .NET = .NET Coreではないし
.NET Core = ASP.NET でもないんだけどな
元質問もWEB開発だとは書いてないし
C#とVB.Netの最大の共通点は同じフレームワークとライブラリ群の上に成り立ってる
ある程度複数の言語ができる人から見れば、C#とVB.Netの言語仕様の違いは大したことではない
膨大なライブラリの使い方がほぼすべて(ただし、特定言語のみできる機能等の一部例外はある)
- 380 :
- VB.NETがCoreで使えなても
MONOで構築するから良いか
- 381 :
- C#は一見C++を進化させた言語のように見せかけただけで、実体はVBの類似言語だろ。
- 382 :
- ネットで拾ったサンプルプログラムを変更して使ってます。
複数のタスクをiniファイルに保存して、そこから複数のタスクを読み込んで動くプログラムなのですが、
タスクを5個くらい保存して再度立ち上げるとプログラムが固まってしまうんです。
こういうのってどういう原因が考えられますか?
俺あまりプログラミングを理解してないのでよく分からなくて。
- 383 :
- デッドロックじゃね
書いた人のレベルが低いんだろうから参考にしなくていいよ
- 384 :
- >>383
デッドロックっていうのがあるんですね。
何かの処理が同時進行していいてデータの読み込み書き込みが上手く行かないみたいな事みたいですね。
そういうのあるかもしれないなと思うので考えてみようと思います。
ありがとうございます。
- 385 :
- >>382
デバッグ実行して固まったとこで一時停止
どこで止まったか、変数値、ステップ実行で流れ確認
などがまずやること
- 386 :
- >>385
ありがとうございます。
デバッグってやった事無いんですよねw
やり方とか調べてやってみます。
- 387 :
- デバッグしないで動くム作れるなんて天才じゃね?
- 388 :
- 単体テストちゃんと書いてればデバッグ実行なんて使わなくても十分作れるよ
ブビ専には自動テストなんてファンタジーだろうけど
- 389 :
- アホみたいな複雑なシーケンス図書いてデッドロックと格闘してドヤってる馬鹿いるよね
たかが業務アプリでそこまで複雑な制御が必要になるケースは本質的には稀なのだが、抽象的に物事を捉えられない奴は泥沼に嵌る
問題を無駄に複雑にしていると、傍からは仕事してるように見えるし本人にとっても気持ちがいいようだからたちが悪い
- 390 :
- 自動・単体テストなんか10年前に捨てたわ。ゴミ仕様。
デバックでバクを洗い出すほうが早いしな。
バグになりそうなコーディングだとわかってるなら、テストなんかしない。
バグを試すほうが早い。シーケンス図書いてる人のコーディングは
バグを見破りやすいのは事実。シーケンス図にない操作を見つければバグる。
こういう奴らは、エラーメッセージに不可解なものを書き出す。
「アプリケーション内でエラーが発生しました。」 ゴミグラマ
- 391 :
- >デバックでバクを洗い出す
デバッグとはバグを修正する行為で、バグを発見する行為じゃないんだが
>バグになりそうなコーディングだとわかってるなら、テストなんかしない。
>バグを試すほうが早い。
バグを試すってなんだ?バグってないかどうか調べるのか?
それを普通はテストっていうんだが
- 392 :
- バックグラウンドの処理のコードの書き方がわかりません。参考になるサイトなど教えてもらえないでしょうか?
- 393 :
- >>392
サービスまたは並列処理で検索
- 394 :
- >>392
VBならビジーループ+DoEventsでいいよ
どうせみんなそれしか理解できないんだし
Taskとかスレッドとか使いたいんならVBじゃなくC#でググれ
- 395 :
- >>393
アドバイスありがとうございます!
BackgroundWorkerクラス使って、なんとか動きました。合わせてデリゲートのことも勉強できました。
>>394
ビジーループというのはどういったものでしょうか?ググったのですが出てこず…
- 396 :
- どなたか教えてください!
DataGridViewにデータベースから取得したデータを表示しているのですが少しお知恵をお願いしたいです。
コードは会社PCから書き込み出来ないのでのせれません。。
問題点
・DataGridViewデータの表示形式を、ボタン押すと%↔数値(%の値×250とかの固定値)に変換出来るようにしたのですが
変換に時間がかかってしまいます。どうしたら表示を速くできるかアドバイス頂きたいです。
状況が
・DataGridViewには列12、行900〜のデータ、日々データ蓄積されるため今後も増えます。
・変換時はDataGridViewのデータソースからデータテーブルへ取込み、セル毎に計算してデータテーブルへ値を入れ直し再度表示
原因はこの計算なのはわかるのですが、速くするための手段がわかりません。
現状はforでセル毎に回している感じです。。
- 397 :
- 仮想モードを使う
仮想モードとはDataGridViewにデータをセットするのではなく
表示に必要になった時に発生するイベントの中でデータを用意する方法
- 398 :
- >>396
両方の列作っておいて、見せるのを切り替えるだけじゃね?
- 399 :
- >>397
仮想モードというの初めてききました。ちょっと調べてみます!わからなかったらまた聞きにきますので、教えてもらえたらありがたいです。
>>398
やっぱり専用のテーブル増やして表示だけするのが簡単ですかね。
- 400 :
- >>399
〉やっぱり専用のテーブル増やして表示だけするのが簡単ですかね。
じゃなくて、%と値の列を同じテーブルに横並びで作っておいて、表示非表示で切り替え
- 401 :
- コントロールから値を取得して計算してるってこと?
DatagridviewはDatatableを表示するだけで使った方がいい
- 402 :
- >>400
同じテーブルに%と数値の列をつくってあらがじめ計算
ボタンで表示を切り替えるというのは、どういう感じになるんでしょうか?
>>401
DATAGRIDのソースからデータテーブルに取込み計算してますが、これではDATAGRID上で計算するのと同じってことでしょうか?
- 403 :
- いやいやいや…
SQLで計算しろってことだろに…
あとColumns(x).VisibleのTrue/False
つーかこんなのも知らんでDataGridView使ってんの?
- 404 :
- >>403
すいません、初めて知りました。
独学では限界ありまして…
いい参考書あったら教えてください。
- 405 :
- >>404
俺だって独学だよ
helpでどんなプロパティやメソッドあるか調べたり使い方ググったり
sqlに関してはアクセスのデザイナで作った後sql表示にしてどういう風になるか調べたりしたけど
- 406 :
- >>404
本屋で、自分に合った書き方のや、欲しい情報が載ってるのを探した方がいい
逆引きも有効
一ヶ月くらい立ち読みして検討しよう
- 407 :
- つーか学生じゃあるまいしプログラムを体系立って教わることなんてそうそうないだろ みんな独学で試行錯誤してるよ
- 408 :
- 馬鹿は自分で学ぶことをしないから馬鹿なんだよ
- 409 :
- 質問スレなのにみんな厳しいなw
まあ新しいクラスを使うときは一通りプロパティとメソッドを確認することをお勧めするよ
慣れてくると「こういうことするためのメソッドとかプロパティあんじゃね?」って感じで予想がつくようになる
- 410 :
- dobon.net見ればすべて解決するだろ?
- 411 :
- >>410
すべては解決しなかった
- 412 :
- >>411
.netの範疇で収まることならだいたい間に合う
APIバリバリとかは仕方ない
- 413 :
- 大切なことはみんなvisual studioのインテリセンスが教えてくれた
- 414 :
- スレッドプールって、長時間かかるタスクを使うようにはできてないのでしょうか?
タスクの登録が簡単で便利だと思ったんですけど。
例えば1タスク処理に2分弱とかは長すぎでしょうか?
- 415 :
- >>414
そんな制限あったら使いづらいやろ
スリープ2分のタスクドバっと登録してみ
- 416 :
- 使えないわけではないけど使わない方がいい
そういう処理でTaskを作る場合はTaskCreationOptions.LongRunningを指定するといい
- 417 :
- >>410
ありがとう 検索して試してみるね。
バックグラウンドは頻繁な再利用が激ムズで、途中で止まったりするし・・・
- 418 :
- Taskの使い方がよくわからず未だにBackgroundWorkerから抜け出せない俺
C#用の並列処理プログラミングの解説本があったからVB.NETでも通じるかな?と思って買ってはみたけど
- 419 :
- async awitで同期処理ライクに書けばいいのに
- 420 :
- 平均的なVBerの大多数はasync/awaitを理解していないから覚えてもどうせ現場では使えないよ
ステップアップしたいならまずはVBer卒業を目標にしよう
- 421 :
- 基地ってVBに親でも殺されたのかねえ…w
- 422 :
- VBで人殺せるやり方あんの?
- 423 :
- 医療機関のシステムとかなら不具合で人殺せるでしょ
実際これまでに何人か殺されてても不思議はない
- 424 :
- VBer本人もしくはそのケツ拭って過労死した人間は万単位でいると思う
- 425 :
- 非同期って、確か「アプリが2秒以上フリーズしたみたいになったらバグ」
という概念があるユーザーが(確か80%以上占めてる)多いことから作った
とも言われてる。つまりタスク待ちに2秒待てない人が多いというわけ。
まあ ウエイト表示もバグだと認識する人が数パーセントいるとかいないとか・・
- 426 :
- ラジオは10秒前後で放送事故だからな、リアルタイムが求められる環境だと数秒でもだめじゃね
- 427 :
- c#ならunityでゲーム開発もできるしXamarinでアプリ開発もできる
vbは色々と置き去りになってるな・・・
- 428 :
- MS公式のコメント「VBにはVBが得意なことをやらせていく。それはGUIアプリだ」らしいよ
つまりWinFormsと心中ってこと
- 429 :
- 今のアプリ開発の主流ってwinformじゃないとしたら何なのかな?uwpとか?
- 430 :
- Webだね
- 431 :
- 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.
- 432 :
- うーん VBで文字列うんたらに苦戦してた時
ハッシュ値で比較を行ってたな。こっちのほうが楽wwwてか?
VBer vbER vBeR VbEr VBer
- 433 :
- ToLower又はToUpper一択だろJK
- 434 :
- >>431
.NET CoreからVBは捨てられたって事か
- 435 :
- >>431
逆か
.NET Core5でサポートとして追加か
- 436 :
- >>435
違う
今後VB.NETの言語に新機能を追加することはないよ、
仮に今後.NETに言語へ手を入れないと利用できない新機能が入ったとしても、VB.NETは対応しないよ、という趣旨の記事
ちなみに .NET 5 (=Core vNext)でVB.NETはサポートされるが、Classic ASP.NETは廃止されるのでWeb開発は一切できない
- 437 :
- ASP.NET触らなくて正解だったな。
- 438 :
- 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でもそれは変わらない
- 439 :
- Razor PagesでVB.NET使えば良い
- 440 :
- 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で開発出来るって事か
- 441 :
- https://devblogs.microsoft.com/vbteam/combining-angular-visual-basic-and-net-core-for-developing-modern-web-apps/
Angular、Visual Basic、.NET Coreを組み合わせて最新のWebアプリを開発
- 442 :
- あえて.NET CoreにしなくてもmonoでVB.NET開発する方がシンプルだな
- 443 :
- Monoプロジェクトで実際LinuxでVB.NET使って開発してる様な所って有るのかね?
あまり話聞かないし、案件探しても出て来ないよ
- 444 :
- Linux触れて且つVBしか分かりませんなんて人は逆にレアだろうし…
- 445 :
- monoって分からんけどapi使ってたらダメなんだよね?
じゃあ意味ねーな
- 446 :
- >>444
Linux+C#もレアだよ
Linux+JavaやCならそれなりにいる
- 447 :
- レアよりウェルダンが好き
- 448 :
- 面白く無い
- 449 :
- 最近見かけたんだけど
Dim aaa As (String, String)
こういうのって型は何になるの?
匿名クラスなの?配列?
- 450 :
- ValueTuple(Of String, String)
- 451 :
- あぁ、ありがと。item1とかitem2とかあるからクラスかと思ったが構造体なのね。
- 452 :
- dictionaryかなと思ったが(of が無いしなあ…とも思ってた
- 453 :
- プロジェクトにフォームが2つあるのですが、その両方から参照する構造体の定義は
どこに書くのが一般的なのですか?クラスだと「追加」→「新しい項目」でクラスを選択できて
独立したファイルでクラスの定義をかけるのですが、構造体はどういうやり方が一般的なのでしょうか?
- 454 :
- ちなみに現在は2つのフォームのファイルの先頭で構造体を定義しています。やり方がスマートじゃない気がします。
- 455 :
- スコープ広げるだけじゃ不満なんか?
- 456 :
- VB.NETでは構造体を使うこと自体が全く一般的ではない
C#では性質を十分に理解した上でパフォーマンス目的で構造体を使うことも稀にあるけど、
VB.NETでそんな最速を目指すようなものを作ることは無いだろう
クラスだけでいいよ
- 457 :
- api呼ぶのに構造体なんていくらでも使うしそうでなくても構造体の配列とか普通に使うし
あと共用出来るメソッドはなるべくモジュールに書いてコントロールからはそれを呼び出すだけにしてる
- 458 :
- 皆さん、ありがとうございます。>>455 さんのおっしゃるとおり、スコープを広げれば良さそうですね。
>>457さんの言うようにモジュールに書くのもいい感じですね。
>>456さん、VBではあまり構造体は使わないのですね。私の読んでる基礎入門書だから一通りの説明ということで載ってるのでしょうか。
皆さん、ありがとうございました。とりあえず、モジュールを追加してその中でpublic宣言して構造体を書いておきます。
- 459 :
- こういうの見つけたけど・・・
https://www.nicovideo.jp/watch/sm35028808
- 460 :
- >>458
クラスと同じように1構造体に対して同じ名前のファイルを割り当てるのが基本だと思うよw
もちろん雑用的な小さな構造体やクラスやEnumや例外をまとめて一つのファイルに
書くこともある。
後でその方が分かりやす思ったらその時そう直せばいいだけ。
とりあえず構造体と同じ名前の専用のファイルを作った方がいいでしょ。
- 461 :
- >>456
馬鹿なのか?
- 462 :
- Ruby では、普通の開発者は、Class を使う
わざわざ、Struct(Class Generator)を使うのは、
Rails などのフレームワークを作っている人だけ
ほぼ同じなのに、素人がわざわざ、Struct を使う理由もないし、
初心者用のテキストにも載っていない
- 463 :
- RubyのStructとは別物なのでこのRubyキチガイは無視していいが、それはともかくVB.NETでは構造体は特別に理由がない限り使うべきではないというのは確か
APIくらいだね
それ以外でVB.NETで構造体が使われるのは、大抵は生え抜きVBerの癖だったりクラスはなんか難しそうなイメージによるもの
- 464 :
- なんで宣言した上にNewしないといけないのかって感じで
クラスに嫌悪感持ってる老人がいるよな
- 465 :
- 外部機器とのインターフェースとか他のDLLとか使ったことのない馬鹿が必死になって構造体を否定する
馬鹿が使わないからといって全員が使わないわけではない
- 466 :
- >>463
何で使うべきじゃないの?
全く分からないんだが
- 467 :
- ちょっと前C#スレの方で話題になった話だけど、プロパティーの型としては構造体の方が便利。
値型からわざわざイミュータブルにしなくても、ゲッター経由でメンバーを変更する
不適切な使い方を避けられるからね
- 468 :
- VB.NETで構造体を使うべきでないなら、C#でも使うべきではないし
C#で構造体にすべき場面なら、VB.NETも構造体にすべき
VB.NETならとかいう前提をつけて構造体を使うなとかいうのは意味不明
まあ、初心者が違いが分からず悩んだら、たいていの場合はクラスで良いけどな
- 469 :
- >>467
それはプロパティがイミュータブルであってほしいときに限らなくね?
すべてのプロパティはイミュータブルであるべきだって主張ならしらん
- 470 :
- こういうレスみてると、絶対にプログラマになりたいとおもわないな。
構造体つかうな!とか ストレス以外の何物でもない。
- 471 :
- まあVB.NETでやたら構造体を多用する奴はだいたい単に慣れてるからなのは事実
クラスがCOMだった時代で頭が止まってるんだよ
- 472 :
- >>469
何を言ってるのか意味がわからないよw
プロパティーの型がミュータブルな参照型だと
hoge.Piyo.X = 5
みたいに書けてしまう問題があると言ってるんだけどw
Piyoの型が値型ならこういう書き方は許されない
- 473 :
- >>472
だから、それを許したくないときの話だろうと言っている
すくなくとも文法上問題はないし、正常に動作する(それが狙った通りかどうかは知らんが)
それをやるべきではない/許すべきではないという主張は別の話だと
- 474 :
- >>473
もう何も言わないけど
hoge.Piyo.X = 5
なぜこれが許されることが問題なのか全然理解してないでしょw
こういうのはプログラミング始めて数か月の段階で理解すべき内容なんだけど
- 475 :
- >>474
馬鹿はそろそろ消えろ
構造体が必要な場面があるだろうが
- 476 :
- >>475
この子も酷いねw
だからそう言ってるんですがw
- 477 :
- >>476
お前が一番馬鹿消えろ
- 478 :
- >>475
勘違いは止めよう。
構造体が必要な場面の1つを>>474は言ってる。
- 479 :
- 必要じゃなくて、有用な
- 480 :
- >>479
必須なのがあるだろうが
- 481 :
- んで結局構造体を使うな君は何で使うなって言ってるの?
C#やC++だったら使ってよくてVBだからダメとかそんな理由??
- 482 :
- だから特別な理由なしに使うなって話でしょ
実際VBerは歴史的な理由から比較的そうなりやすい
- 483 :
- 自分が使わないからと他人に押し付ける頭の悪いのがいるな。こういう頭の悪いやつはクラスの設計も独りよがりになりがち。
- 484 :
- つーかpointだって構造体なんだが
そっかー、使うな君はpoint使わないのかー
- 485 :
- 意味不明だな
自分で定義するときにクラスとどちらを選ぶかの話だろ?
Pointが構造体なのは、それが単一の値を意味しているしサイズも小さいしアンマネージコードとの相互運用に使うし
パフォーマンスが求められる場面で大量にインスタンスを作るような使い方が想定されるからだ
そうやって説明できるなら構造体を使えばいい
- 486 :
- 結論
適切に使い分けろ
わからんかったらクラスでOK
- 487 :
- ポインターの話はそこまでだ!
- 488 :
- ポインターよりボインだー
- 489 :
- WCFを利用したフォームアプリを作成したいのですが、疑問があります(初歩的ですみません)
今回フォームがログイン、メニュー・・・といった感じで複数画面あります。
ログイン画面作成時にWCFとログイン画面のフォームを作った場合、メニュー作成するときWCFは新規に作成する必要があるのでしょうか?
- 490 :
- WCFはフレームワークであってWCFを作るという表現は意味不明
サービスのことならどっちでもいい
ちなみにWCFは.NETの次のバージョンでは廃止されるから、お前に選択権があるならやめるべき
- 491 :
- For iABC = 1 to 5
For i1 = 1 to 5
For XXYYZZ = 1 to 5
For 適当 = 1 to 5
みたいに毎回重複しない変数を用意しないとだから
指定回数ループする変数いらないヤツないの?
- 492 :
- >>491
REXXだと正にそのものズバリの
Do 99
End
てのがあったんだけどねw
まあ普通ループカウンタの無いループの必要性ってあまり無いわな
- 493 :
- ふむ
- 494 :
- LinqでRangeでForEachとか考えたけど、LinqのForEachってListしかだめなのかよ
Enumerable.Range(1, 5).ToList.ForEach(Sub() Debug.Print("Do!"))
素直にループ変数用意して回すほうがましだな
i,j,kぐらいで足らんようなら構造見直すべきだ
- 495 :
- おk
- 496 :
- .net coreだとvbはオワコンなのか
- 497 :
- Windows FormのボタンをButton配列で動的に設定している処理があったのですが
静的と動的はどのように使い分けているのでしょうか
ボタンの数が多かったのと関係しているのでしょうか
- 498 :
- >>497
「Button配列で動的に設定している処理」が何やっているか読めよ
人によって組み方は変わるからここで聞いたって的外れな憶測しかできんよ
- 499 :
- デザイナでポンポン配置するのが面倒じゃなければ性的
こんな数配置してらんねーと思ったら動的
- 500 :
- プログラミングしながらおっ勃ててるとかどんだけ変態なんだろう…
- 501 :
- 毎回婦裸具をオッ立ててます
- 502 :
- >>496
一応サポートされる
が、C#メイン
- 503 :
- しかし、自作アプリからプリンターに印刷するってこんなに難しいのか?
狙った場所に印刷が出来なくて・・・どうしよう・・
- 504 :2020/06/12
- >>503
そんな難しくないと思うよw
もう何年もやってないから適当だけど、たぶんプリンタ固有の余白分ズレてるだけ。
GDI+の原点は用紙の左上ではなく、印刷可能領域の左上になってる。
この問題の対処法はググれば簡単に見つかるはず
VisualBasic6.0 対 VisualBasic .NET 2003
JAVAってこんなことも出来ないの?
多言語でforループを列挙していくスレ
DarkGDK Part.4
【統計分析】機械学習・データマイニング25
D言語 Part34
HTAをもっと流行らせる計画 Part2
【O3D】HTML5用 3D API WebGL 【Canvas:3D】
php使ってる奴はアホ、これからはRuby on Rails!
【Win/Mac/Linux/Android/iOS】 Qt 総合スレ 18
--------------------
【装束、衣装体験・歴史祭】痛い方々を見守るスレ23
テニラビ愚痴19
絶対会いたい好きな人の名前を書くと会えるスレ31
【あいつは】戦闘妖精雪風【ジャムだ!】
【偉人】福沢諭吉について【悪人】(其の12)
【梅雨入】アドレスV125/G 257台目【魔改造】
ウリイイイイイイッスどーもーウリでーす
【オピニオン】志村けんさん逝去に思う。「PTAが日本一嫌ったタレント」は海を越えていた [04/04]
吉田「家具をパクリましたがプランナーとデザイナーのせいでしたw」
【春場ねぎ】五等分の花嫁 ネタバレスレ 169等分目
都知事候補 立花孝志
群馬在住人でサイクリングを語る◎その32
【大阪】アクア様の車に乗った小太りの外国人が、ニヤニヤ笑っている事案が発生
他板に投稿された、興味深い格言の転載スレ 10
良い悪いサークル・コンベンション 関東版vol.20
【日韓関係】「未来志向で共に努力を」韓国外務省報道官[11/17] ★2
【YouTube】 カメラ系YouTuberを語るスレ 11再生
ネタになる土産物
V ̄ 近鉄を模型で楽しむスレ 23世  ̄V
Darkest Dungeon 7本目
TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼