2ちゃんねる スマホ用 ■掲示板に戻る■ 全部 1- 最新50    

VB.NET質問スレ(Part44)

1 :.:2018/05/26(土) 18:08:49.12 ID:QSlAAqmb.net
前スレ

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.85 ID:QSlAAqmb.net
関連スレ

古代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.97 ID:zT1np8E1.net
>>1


4 :デフォルトの名無しさん:2018/05/27(日) 18:21:31.45 ID:teqC9YR8.net
前スレで会計士の資格を何とか言ってた人は何してる人?

5 :デフォルトの名無しさん:2018/05/28(月) 07:04:43.96 ID:CFYCWcTb.net
>>1


6 :デフォルトの名無しさん:2018/05/28(月) 20:52:59.65 ID:Sfjpk0Yc.net
hosyu

7 :デフォルトの名無しさん:2018/05/29(火) 08:27:30.27 ID:lozk8I7H.net
皆さんどこのサイトを参考にしてますか?
日本語サイトでお願いします
MSDNで参考になった事が一度もないほど意味不明なので他でお願いします

8 :デフォルトの名無しさん:2018/05/29(火) 10:37:07.29 ID:FH6FJ8zm.net
>>7
C# <キーワード>
でググればだいたい何でもすぐに出てくる。
VB向けの情報はカスしかないから、VBじゃなくてC#。ここが重要。

9 :デフォルトの名無しさん:2018/05/29(火) 21:25:25.61 ID:xeD8zV4H.net
ドボンでええやん

10 :デフォルトの名無しさん:2018/05/30(水) 08:23:19.88 ID:K4unYhSv.net
>>9
情報が古いじゃん

11 :デフォルトの名無しさん:2018/05/30(水) 08:46:46.23 ID:K4unYhSv.net
最新のフレームワークの機能が乗ってるのが良い

12 :デフォルトの名無しさん:2018/05/30(水) 10:05:12.15 ID:If51NAMp.net
WPF以降で参考にしようとしたら、c#とVBが併記してあって日本語解説あるのは@ITぐらいしかないね。
あとはc#をVBに自分で置き換えるしかない

13 :デフォルトの名無しさん:2018/05/30(水) 13:15:18.73 ID:IsZOouvL.net
#devでコンバートすりゃえーやん

14 :デフォルトの名無しさん:2018/06/01(金) 19:21:47.42 ID:ntOQryVg.net
hosyu

15 :デフォルトの名無しさん:2018/06/01(金) 20:22:38.72 ID:y75uzRcE.net
#devってヤツを知らんけど既存のコードを変換出来る?
それとも一行だけ?

16 :デフォルトの名無しさん:2018/06/01(金) 20:34:07.11 ID:Lg9QUlsP.net
くだらないこと言ってないでC#くらい読みなさい

17 :デフォルトの名無しさん:2018/06/01(金) 20:35:42.96 ID:Mohh3Fnh.net
sharp developも知らんのか…

18 :デフォルトの名無しさん:2018/06/01(金) 21:45:12.58 ID:Lg9QUlsP.net
そんな化石知ってても何の自慢にもならんよ
SharpDevelopはとっくの昔に開発終了してMonoDevelopに引き継がれてMSに買収されて今ではVisual Studio for Macと呼ばれている

19 :18:2018/06/01(金) 21:47:45.04 ID:Lg9QUlsP.net
抜けてた
MonoDevelopは途中からオーナーが変わってXamarin Studioと呼ばれていた

20 :デフォルトの名無しさん:2018/06/05(火) 19:02:31.85 ID:FxOXz7Hv.net
hosyu

21 :デフォルトの名無しさん:2018/06/05(火) 20:21:46.36 ID:2NfSKm9E.net
VB.NETの開発環境ってVS以外でもあるの?
ついでにもう一つ
グレープシティのWindows Formsの中のコントロールでリサイズ以外いらんよね?

22 :デフォルトの名無しさん:2018/06/07(木) 08:53:21.30 ID:m139B5x9.net
WindowsサービスアプリでSystem.Timers.TimerのElapsedイベントが
発生しなくなってしまったのですが、同じような事例はありますか?
ソース、EXE自体は何も変えていないのですが…

23 :デフォルトの名無しさん:2018/06/07(木) 12:05:30.42 ID:qRd3cwLX.net
net Frameworkのバージョンが変わったとか?

24 :デフォルトの名無しさん:2018/06/07(木) 12:17:27.01 ID:OC4upFtY.net
まず確実に>>22自身のバグに一票
49.7日問題なんてのが大昔にあったけど、無関係だろう

25 :22:2018/06/07(木) 15:57:07.40 ID:m139B5x9.net
原因不明のため、System.Timers.TimerからSystem.Threading.Timerでプログラム作り直しました。

26 :デフォルトの名無しさん:2018/06/07(木) 16:13:30.36 ID:PV0A31N0.net
まだ直ってなかったのかな?
https://social.msdn.microsoft.com/Forums/vstudio/ja-JP/45f29680-c2f5-45d5-ae4d-5772d1f276e4/systemtimerstimer12391elapsed1245212505125311248812364303302998312375?forum=vsgeneralja

27 :デフォルトの名無しさん:2018/06/19(火) 16:45:27.80 ID:JtYoq5Ul.net
>>22 >>25-26
そんなバグあったの?
C# だけど、15分おき、特に問題なく Elapsed 起きてるけど。

普通と違うとしたら、毎回 Interval を設定し直してるくらい。

28 :デフォルトの名無しさん:2018/07/04(水) 22:30:10.70 ID:gFgZc5FG.net
XOF

29 :デフォルトの名無しさん:2018/07/05(木) 16:54:05.48 ID:AeL6VB/V.net
XOF

30 :デフォルトの名無しさん:2018/07/14(土) 14:20:34.11 ID:P6Xcr6ek.net
問題
数値型1,2,3,・・・を文字列型0001,0002,0003,・・・にするプログラミングを書きなさい

31 :デフォルトの名無しさん:2018/07/14(土) 14:31:20.98 ID:LIsDU/xs.net
val.ToString("0000")

32 :デフォルトの名無しさん:2018/07/14(土) 15:36:41.97 ID:P6Xcr6ek.net
マジ?

33 :デフォルトの名無しさん:2018/07/14(土) 15:56:41.68 ID:FPULV7Dx.net
>>31でもいいけど、リーディングゼロ付けたい場合は普通は"D4"みたいにする
つーか何が書きなさいだよアホかw

34 :デフォルトの名無しさん:2018/07/14(土) 15:57:58.58 ID:P6Xcr6ek.net
アッソ

35 :デフォルトの名無しさん:2018/07/14(土) 16:04:36.45 ID:P6Xcr6ek.net
ちなみに
Dim i as Integer
Dim S as Strong
i=任意の数字
S =""
S = "0000" & i
S = VBの関数Leftで左から4文字までを取り出し
すると000iになる
が用意した正解
おまえら小学生からやり直せ

36 :デフォルトの名無しさん:2018/07/14(土) 16:45:23.29 ID:FtH+pgzS.net
>>35
強そう

37 :デフォルトの名無しさん:2018/07/15(日) 14:52:08.42 ID:8MWyOg1O.net
>>>30 の出題の数値型の説明がいい加減だし、百歩譲って1,2,3...とあるから正の整数だとしても
>>35 は自分でIntegerと後出しで規定しながら9999を越えると対応していない間抜けな回答
>>31でも>>33でもその点はクリアしている

しかもよく見りゃ右も左も分かってない出題者の頭の悪さだけが際立つ結果に
そもそも今の時代まさかright,left,midもつかわんだろ

38 :デフォルトの名無しさん:2018/07/19(木) 17:48:31.34 ID:BhSp1+Me.net
Constで物理名定義して、論理名をXMLコメントか属性で取得したかったが、どうもできない。
なんかいいアイデアあったら教えて

39 :デフォルトの名無しさん:2018/07/19(木) 18:14:54.96 ID:5QYEQzqE.net
>>38
プロパティとかの名前のこと?
普通にカスタム属性でできるよ
リフレクションで取れる

40 :デフォルトの名無しさん:2018/07/19(木) 20:03:38.70 ID:BhSp1+Me.net
>>39
ありがとうございます!
できました!

41 :デフォルトの名無しさん:2018/08/03(金) 14:25:57.89 ID:u92XsOcz.net
コンソールプログラミングでは
Application.DoEventsが使えませんが
代わりに処理中の入力を受け付けるようなメソッドはないでしょうか?

時間がかかる処理をESCキーでキャンセルするような処理を
コンソールプログラムで書きたいと思っています

42 :デフォルトの名無しさん:2018/08/07(火) 03:53:59.75 ID:HsfuQN+2.net
>>41
Console.KeyAvailable プロパティが true なら Console.ReadKey するとか。

43 :デフォルトの名無しさん:2018/08/17(金) 00:18:15.23 ID:KHui9/an.net
PDFファイルを通常使うプリンタに印刷するのにはどげんしたら良かですか?

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

Acrobatのコマンドラインオプションは保証されてないし、自作でexeを作りたいのです。

44 :デフォルトの名無しさん:2018/08/17(金) 12:13:17.60 ID:r44yWMR9.net
非同期がんがれ

45 :デフォルトの名無しさん:2018/08/17(金) 12:13:57.36 ID:r44yWMR9.net
あ、>>41

46 :デフォルトの名無しさん:2018/08/22(水) 19:49:57.73 ID:C3wzUlcu.net
戻り値のある関数もいらないな
グローバル変数を使えばいいわけだし

47 :デフォルトの名無しさん:2018/08/22(水) 20:26:55.43 ID:CRGAAmOc.net
private public Static の違いがわからない俺様が通りますよ。
グローバルだと意図しないところで変な値が入っちゃう可能性があるから使うなとじっちゃんが言ってた。

48 :デフォルトの名無しさん:2018/09/15(土) 12:38:17.24 ID:f69ONJY6.net
エンドユーザーの都合で次の開発案件の開発言語がVB.Netになったオレを慰めてください。

49 :デフォルトの名無しさん:2018/09/15(土) 12:57:12.64 ID:wC5+IMEd.net
>>48
>>エンドユーザーの都合で
金出すヤツの意見が通るのが実情
VB6までの資産有る所はC#にはしない傾向に有る
残念なのは日本でVB.NETに関する導入事例や書籍など情報自体が少ない
海外が多いくらいだ
ネット上で海外から情報取得して生かすしか方法が無い
日本マイクロソフトもC#重視したから尚更

50 :デフォルトの名無しさん:2018/09/15(土) 13:03:37.15 ID:f69ONJY6.net
>>49
最新の構文を使いまくってやる予定
別に嫌がらせじゃないよw

51 :デフォルトの名無しさん:2018/09/15(土) 18:21:04.91 ID:V2kvEVN2.net
C#に比べて
ラムダとかエクステンションの書き方が
めっちゃわかりにくい

52 :デフォルトの名無しさん:2018/09/16(日) 11:47:37.40 ID:o5IUt/R9.net
VB.NETでシステム構築して今更、他の言語を検討してるとか言ってる所も有る
VB.NETのままでも安く運用する方法考えれば良いのだが、システム更新に責任持ちたく無いヤツ居る職場だと永遠にシステム刷新出来ない罠

53 :デフォルトの名無しさん:2018/09/16(日) 14:03:16.46 ID:o5IUt/R9.net
VB+Oracleで構築しちゃうと
ライセンスでOracleが足かせになる場合出るので、Oracle→MariaDBやPostgreSQLにする方が安く出来る

54 :デフォルトの名無しさん:2018/09/21(金) 14:21:26.19 ID:PK30RsTe.net
SQL鯖の一択

55 :デフォルトの名無しさん:2018/09/22(土) 15:01:46.72 ID:tW/Yy4gZ.net
VB.NET(〜VS2013)の細かい仕様の質問なんだけど、
通常のFormにPictureBoxを載せて、PictureBoxのデバイスコンテキストを取ってきて自前で低レベルAPIで描画してるんだけど、
最初にALTキーを押した時にPictureBoxがチラついて自前の描画が消えてしまう場合がある。
このちらつきは、そのアプリの起動後、ALTキーを押した時に必ず1回だけ発生して、場合によって自前描画もちらつきとともに消える模様。
これを抑止することって出来ないのかな
FormのOnPaint、OnPaintBackgroundを空メソッドにオーバーライドしても効き目なかった

56 :デフォルトの名無しさん:2018/09/22(土) 15:40:38.65 ID:kFAOP0FY.net
一般的な問題と思えんから再現可能なコードを示さないと
誰も何も言えないと思う

57 :デフォルトの名無しさん:2018/09/22(土) 15:52:30.06 ID:tW/Yy4gZ.net
え?そんなにやってることが特殊かな?
扱うデータが大きくてその視覚化を自前ネイティブに任せるとか、よくやる方法だと思ってた
聞く場所を間違えたかな・・・

58 :デフォルトの名無しさん:2018/09/22(土) 15:58:27.43 ID:pAduR83f.net
>>55
>>ALTキー
OnKeyイベントで対処するしか無いんじゃないの

59 :デフォルトの名無しさん:2018/09/22(土) 16:22:56.12 ID:kFAOP0FY.net
>>57
よく分からん思考回路
どこで聞いても同じたお思うよ。
それで答えが返ってきたらその人はエスパーだ
エスパーなんかいないけどね

60 :デフォルトの名無しさん:2018/09/22(土) 16:39:18.15 ID:tW/Yy4gZ.net
>>58
ありがとう
FormのKeyUpとKeyDownとKeyPressイベントで、e.Handled = Trueにしてるんだけど、それでもちらつく
またFormのKeyUpイベントの後に自前描画し直してるんだけど、それでも自前描画が消えてしまうことがある
こういうのがあるから.NETは信頼できないんだよな

61 :デフォルトの名無しさん:2018/09/22(土) 16:42:39.47 ID:kFAOP0FY.net
システムのバグだー!!!
タメグラマの典型的な思考回路だねw

賭けてもいいよ絶対にあんたの書いたコードのバグだからw

62 :デフォルトの名無しさん:2018/09/22(土) 16:49:12.59 ID:tW/Yy4gZ.net
エスパーにしか分からん位に特殊な実装だとは全然思ってなかったなw

63 :デフォルトの名無しさん:2018/09/22(土) 16:52:51.71 ID:kFAOP0FY.net
だから何でそうなるのw

そもそもあんた、特殊な実装をしてるかどうか読み手が判断できるような情報を何も書いてないだろうw
だからそれで答えが返ってきたらエスパーだと言ってるのに重症だなおい

64 :デフォルトの名無しさん:2018/09/22(土) 16:53:24.99 ID:/LVptLz+.net
膨大なデータ生で見せられてもユーザーにはメリットがないのでデータの見せ方を変える
低レベルAPIじゃなく高速描画ライブラリを使う
というのが一般的な対応じゃないかな

そもそもここで言う一般的ってのはやってることが一般的かどうかという意味じゃなく
事象と発生条件が一般的ではないから実際のものを見なきゃ何もわからないという意味だろう

65 :デフォルトの名無しさん:2018/09/22(土) 16:54:14.91 ID:kFAOP0FY.net
hDC取ってWin32API呼びました、これが実装の詳細か?w

66 :デフォルトの名無しさん:2018/09/22(土) 17:14:32.51 ID:tW/Yy4gZ.net
>>64
言葉を返すようだが、「見せ方」「メリット」というけど、そこまで相談はしていないよ
低級API利用が特殊だとは全く思わないし、そもそも描画手続きについて相談してるわけでもない
ALTキー押下でVB.NETのPictureBox上の自前描画が消えるのが問題なんだよ
自前描画もそうだけど、ALTキーを押すなんてそんな特殊なケースだとは思わなかったね
みんな普段ALTキーを使ってないのかよ?w

67 :デフォルトの名無しさん:2018/09/22(土) 17:19:14.70 ID:kFAOP0FY.net
マジで言ってるなら相当の幸せ回路だな

ALTキーを押すのが特殊と思わんかったてw
何でそうなるのw

68 :デフォルトの名無しさん:2018/09/22(土) 17:24:48.15 ID:ga1yzWrI.net
>>66
VB.NETでブラウザ上表示じゃなくForm描画だとしたら、PictureBOXが載ってる親オブジェクトのFormの描画リフレッシュレートタイミングに問題が有るんじゃ無いか

69 :デフォルトの名無しさん:2018/09/22(土) 19:34:34.13 ID:/LVptLz+.net
「起動後の最初」に特定のキーを押す
描画が消えてしまう「ことがある」

特殊バグすぎてイラつくわ
一般的に起こってたまるかよ

70 :デフォルトの名無しさん:2018/09/22(土) 20:50:50.11 ID:tW/Yy4gZ.net
>>68
>リフレッシュレートタイミング
つながってると意味がぼやけるな。それはともかく、
VB.NETのFormは、イベント駆動で再描画されるから常時一定間隔で描画更新されてるわけじゃないだろう

71 :デフォルトの名無しさん:2018/09/22(土) 20:54:15.78 ID:tW/Yy4gZ.net
ところで、再現手順については必要最低限の情報を提示したつもりだったんだが、こんなに特殊に受け止められるとは想定外だったな
これだけ出回っているツールだから、同じケースで悩んでいる人たちがいるだろうと思ってたんだが
主張根拠を、相手の書き込みの一部だけを恣意的に抽出してつなげて、捏造主体の印象操作を行うことに羞恥心を感じない心の浅い人もいるみたいだし、
聞く場所を間違えた、という結論に至りました^^

72 :デフォルトの名無しさん:2018/09/22(土) 21:01:14.93 ID:/LVptLz+.net
バイバイ

73 :デフォルトの名無しさん:2018/09/26(水) 19:54:20.52 ID:9vsYZzuM.net
JavaのOpenJDKはLTSバージョンが無くなった
.NET復権だろうな

74 :デフォルトの名無しさん:2018/10/04(木) 03:58:18.05 ID:3Cg3sys6.net
この掲示板だけのインシデントと信じたいが、
お前らマジで使えねえな
その程度でイキってるからVB.NETが馬鹿にされるんだよ、ゴミ共が

75 :デフォルトの名無しさん:2018/10/28(日) 14:59:16.13 ID:SFrY9m9d.net
GetPrivateProfileStringでINIファイルの全文を読み込む方法ってありますか?

76 :デフォルトの名無しさん:2018/10/28(日) 17:31:59.35 ID:pnWZEcOz.net
>>75
第1引数と第2引数をNULLで出来るみたいだぞ

↓ここを参考
https://msdn.microsoft.com/ja-jp/library/cc429779.aspx

77 :デフォルトの名無しさん:2018/10/28(日) 20:11:08.64 ID:SFrY9m9d.net
>>76
おお!目を通したつもりがよく理解できてなかったよ
大変助かったよ!本当に有難う!精進します。

78 :デフォルトの名無しさん:2018/10/28(日) 20:28:08.52 ID:SFrY9m9d.net
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.97 ID:pnWZEcOz.net
>>78
実際にやってみた?、考えただけ?

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

実際にやってみてlpDefaultの値がlpReturnedStringに
入ってしまったのならこの関数で全文取得は無理なんじゃないかな

80 :デフォルトの名無しさん:2018/10/28(日) 22:33:46.69 ID:SFrY9m9d.net
>>79
実際にやってみて入らなかったよ、教えてくれたのに申し訳ない。
INIファイルからキーを全部抽出して任意のタイミングで変数に入れたいだけなんだが
調べてもよく分からなくて質問を受けてくれてる方にも
困惑させてしまっているな...

81 :デフォルトの名無しさん:2018/10/29(月) 06:03:03.69 ID:WUUAbnDR.net
30分ごとに料金を+500円ずつ足していってラベルテキストに表示するプログラムが作りたいのですが
どうすればいいでしょうか?
経過時間を計測するところまではできています

82 :デフォルトの名無しさん:2018/10/29(月) 08:05:28.84 ID:zamFShY8.net
>>81
Tickイベントで1秒毎に変数に1足していって300.600.900辺りで表示するようにすればいい

83 :デフォルトの名無しさん:2018/10/29(月) 10:50:14.54 ID:oAZGLoeZ.net
>>80
> 第一引数と第二引数をNULLにしてSECTIONとKEYを一挙に取得したい
誤解してない? これで手に入るのはセクションの一覧だよ
その後で個々のセクションごとに改めて第2引数だけNULLでGetPrivateProfileStringを呼び出してそのセクション内のキー一覧を取得する

ほかの確認事項としては
iniのファイルパスが正しい確認、念のためフルパスで渡す
\0で区切られた文字列はStringとかStringBuilderとかでは正しく受け取れないからByte配列で受け取ってEncoding::GetStringで文字列変換

84 :デフォルトの名無しさん:2018/10/29(月) 18:57:40.55 ID:vJZ8/XYU.net
>>83
ごめんなさい、少し勘違いをしていました。
第一引数でセクションを指定し、第二引数をVBNullStringにした場合、キー値ではなく何故かセクション名をひとつだけ取得するのですが、第一引数でセクションを指定し、第二引数をnullにすれば指定したセクションのキー値をすべて取得できるという解釈は誤りでしょうか?

85 :デフォルトの名無しさん:2018/10/29(月) 19:27:50.65 ID:oAZGLoeZ.net
> 第一引数でセクションを指定し、第二引数をnullにすれば指定したセクションのキー値をすべて取得できるという解釈は誤りでしょうか?
解釈は正しい
セクションしか取れないのは何か勘違いしてんじゃね
1つしか取れないのは>>83の最後の行

86 :デフォルトの名無しさん:2018/10/29(月) 20:04:46.54 ID:EQ0ZvgtX.net
>>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.70 ID:8/9eZ6sC.net
大して複雑でもないんだから、悩むなら
ファイル全読して自分で解析した方が早そう

88 :デフォルトの名無しさん:2018/10/30(火) 13:23:38.49 ID:LlhJqt4w.net
>>86
ヌルストリングはヌル値じゃなくて空文字列の事じゃん?

89 :デフォルトの名無しさん:2018/10/30(火) 13:36:29.61 ID:LlhJqt4w.net
nullにすればって言ってるからヌル渡してると思うじゃん?
まさか空文字列を渡して動かないと言ってるとは思わないじゃん?

90 :デフォルトの名無しさん:2018/10/30(火) 13:43:18.14 ID:2q9Nopp0.net
(定数) Constants.vbNullString As String = Nothing
インテリセンスによるとこうらしい
説明では長さ0の文字列とか言ってるけどな

91 :デフォルトの名無しさん:2018/10/31(水) 01:30:41.68 ID:uKh/exBf.net
>>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 :デフォルトの名無しさん:2018/11/03(土) 19:15:19.21 ID:t0xGKw3G.net
>>90
Nothingを文字列として評価すると長さゼロの文字列だからな

93 :デフォルトの名無しさん:2018/11/03(土) 19:36:08.98 ID:SHI5qsHH.net
VBのNothingはnullではなく型の規定値だったはず。
つまり、

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

と同じはず。
だからどっちにしろ空文字ではなくNull参照じゃないとおかしい気がする

94 :デフォルトの名無しさん:2018/11/03(土) 20:46:51.95 ID:0JFYuFT5.net
Debug.Print("{0}", String.Empty.Equals(vbNullString)) .. False
Debug.Print("{0}", String.Empty = vbNullString) ... True

面白いな。

95 :デフォルトの名無しさん:2018/11/07(水) 00:28:16.72 ID:SlJfY7pV.net
WindowsFormアプリからExcelを参照する際に困ったことがあったので質問します。
いま参照しているExcelに名前ボックスが同じ名前のActivexコントロール(CheckBox)が2つあるんですが片方のValue値が取れません。
Excelには手を加えずに解決する方法をご存じの方はいますか?

96 :デフォルトの名無しさん:2018/11/08(木) 17:45:16.71 ID:fdrn2Vfdf
すみません。教えてください。
VB.net 2017で作った実行ファイルから、
VC++ 2017で作ったdll のメソッドや関数を呼び出すことはできますでしょうか。

ネットの情報をもとに色々やってみたのですが、
うまくいく方法がみつかりません。。。

97 :デフォルトの名無しさん:2018/11/08(木) 16:15:45.02 ID:QFdBGuQW.net
>>95
自己解決しました。

98 :デフォルトの名無しさん:2018/11/08(木) 18:23:13.28 ID:EefS2xXv.net
>>97
解決方法ぐらい書き込めよ

99 :デフォルトの名無しさん:2018/11/08(木) 21:54:24.86 ID:VFBZ++97.net
>>98
(Excelシート名).OLEObject(1).Object.Value
名前じゃなくインデックスで値を拾う感じ

100 :デフォルトの名無しさん:2018/11/12(月) 17:40:02.30 ID:epPqaRvS.net
datagridviewで選択した行のテキストを各列ごとにテキストボックスに反映させるにはどうすればいいですか?

214 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
名前: E-mail (省略可) :

read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★