TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼
将来性ないプログラミング言語。Delphi含まれず安心
関数型プログラミング言語Haskell Part32
Pythonのお勉強 Part62
オナオナ開発プロジェクト
C言語なら俺に聞け 152
Rubyについて(アンチ専用) Part004
☆★Java質問・相談スレッド181★★
Perlについての質問箱 64箱目
【統計分析】機械学習・データマイニング19
人工知能ディープラーニング機械学習の数学 ★2

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で選択した行のテキストを各列ごとにテキストボックスに反映させるにはどうすればいいですか?


100〜のスレッドの続きを読む
MFC vs .NET
C++使って何するの?
ほぼ初心者プログラマでするべき事がわからない
ふらっと C#,C♯,C#(初心者用) Part139
推薦図書/必読書のためのスレッド 81
【.NET】F#について語れ2【OCAML】
推薦図書/必読書のためのスレッド 82
C#で仕事ある?
C言語なら俺たちに聞け パート0001
C/C++以外の推薦図書/必読書のためのスレッド
--------------------
【マヨネーズ】MAYONES【メイワンズ】
虹コンTOとヲタクを語るスレ兼アンチスレ
肴29790
wwクソモラシ*テラワロス*マラボハウスww
【ミドル級】村田涼太VS竹原慎二【最強】
ハイエナ徹底討論88
TUBE春畑道哉9
Do it yourself板です
【To LOVEる-とらぶる-】ララ・サタリン・デビルーク萌えスレ 24
新【山本太郎】れいわ新選組1【議論専用・コピペ厳禁】 無印
老化におびえる喪女25
BA128
【文大統領】「朝鮮半島の平和が世界経済の新成長エンジン」「世界経済に新たな成長エンジンを提供できると確信する」G20サミット[6/29]
みんな何号給昇給した?
大阪と東京 なぜ逆転したか?
獣/狩 続・ベヒんもスの世界
モーツァルトとベートーヴェンはどっちが凄い 19
照す
【伊藤園】濃い味緑茶 天然カテキソ1mg目
【弓道】的中したときのかけ声【何て言う?】
TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼