前スレ
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/
VB.NET質問スレ(Part44)
■ このスレッドは過去ログ倉庫に格納されています
1.(もんじゃ)
2018/05/26(土) 18:08:49.12ID:QSlAAqmb10デフォルトの名無しさん
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に自分で置き換えるしかない
あとは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と呼ばれている
SharpDevelopはとっくの昔に開発終了してMonoDevelopに引き継がれてMSに買収されて今ではVisual Studio for Macと呼ばれている
1918
2018/06/01(金) 21:47:45.04ID:Lg9QUlsP 抜けてた
MonoDevelopは途中からオーナーが変わってXamarin Studioと呼ばれていた
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の中のコントロールでリサイズ以外いらんよね?
ついでにもう一つ
グレープシティのWindows Formsの中のコントロールでリサイズ以外いらんよね?
2018/06/07(木) 08:53:21.30ID:m139B5x9
WindowsサービスアプリでSystem.Timers.TimerのElapsedイベントが
発生しなくなってしまったのですが、同じような事例はありますか?
ソース、EXE自体は何も変えていないのですが…
発生しなくなってしまったのですが、同じような事例はありますか?
ソース、EXE自体は何も変えていないのですが…
23デフォルトの名無しさん
2018/06/07(木) 12:05:30.42ID:qRd3cwLX net Frameworkのバージョンが変わったとか?
2018/06/07(木) 12:17:27.01ID:OC4upFtY
まず確実に>>22自身のバグに一票
49.7日問題なんてのが大昔にあったけど、無関係だろう
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
2018/06/19(火) 16:45:27.80ID:JtYoq5Ul
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,・・・にするプログラミングを書きなさい
数値型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
つーか何が書きなさいだよアホか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になる
が用意した正解
おまえら小学生からやり直せ
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
2018/07/19(木) 17:48:31.34ID:BhSp1+Me
Constで物理名定義して、論理名をXMLコメントか属性で取得したかったが、どうもできない。
なんかいいアイデアあったら教えて
なんかいいアイデアあったら教えて
2018/07/19(木) 18:14:54.96ID:5QYEQzqE
2018/07/19(木) 20:03:38.70ID:BhSp1+Me
41デフォルトの名無しさん
2018/08/03(金) 14:25:57.89ID:u92XsOcz コンソールプログラミングでは
Application.DoEventsが使えませんが
代わりに処理中の入力を受け付けるようなメソッドはないでしょうか?
時間がかかる処理をESCキーでキャンセルするような処理を
コンソールプログラムで書きたいと思っています
Application.DoEventsが使えませんが
代わりに処理中の入力を受け付けるようなメソッドはないでしょうか?
時間がかかる処理をESCキーでキャンセルするような処理を
コンソールプログラムで書きたいと思っています
2018/08/07(火) 03:53:59.75ID:HsfuQN+2
>>41
Console.KeyAvailable プロパティが true なら Console.ReadKey するとか。
Console.KeyAvailable プロパティが true なら Console.ReadKey するとか。
2018/08/17(金) 00:18:15.23ID:KHui9/an
PDFファイルを通常使うプリンタに印刷するのにはどげんしたら良かですか?
外部からファイル名をフルパスで渡せば印刷してくれるようなのがいいのですがヒント下さい。
Acrobatのコマンドラインオプションは保証されてないし、自作でexeを作りたいのです。
外部からファイル名をフルパスで渡せば印刷してくれるようなのがいいのですがヒント下さい。
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#重視したから尚更
>>エンドユーザーの都合で
金出すヤツの意見が通るのが実情
VB6までの資産有る所はC#にはしない傾向に有る
残念なのは日本でVB.NETに関する導入事例や書籍など情報自体が少ない
海外が多いくらいだ
ネット上で海外から情報取得して生かすしか方法が無い
日本マイクロソフトもC#重視したから尚更
2018/09/15(土) 13:03:37.15ID:f69ONJY6
51デフォルトの名無しさん
2018/09/15(土) 18:21:04.91ID:V2kvEVN2 C#に比べて
ラムダとかエクステンションの書き方が
めっちゃわかりにくい
ラムダとかエクステンションの書き方が
めっちゃわかりにくい
2018/09/16(日) 11:47:37.40ID:o5IUt/R9
VB.NETでシステム構築して今更、他の言語を検討してるとか言ってる所も有る
VB.NETのままでも安く運用する方法考えれば良いのだが、システム更新に責任持ちたく無いヤツ居る職場だと永遠にシステム刷新出来ない罠
VB.NETのままでも安く運用する方法考えれば良いのだが、システム更新に責任持ちたく無いヤツ居る職場だと永遠にシステム刷新出来ない罠
2018/09/16(日) 14:03:16.46ID:o5IUt/R9
VB+Oracleで構築しちゃうと
ライセンスでOracleが足かせになる場合出るので、Oracle→MariaDBやPostgreSQLにする方が安く出来る
ライセンスで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を空メソッドにオーバーライドしても効き目なかった
通常の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
2018/09/22(土) 16:22:56.12ID:kFAOP0FY
2018/09/22(土) 16:39:18.15ID:tW/Yy4gZ
>>58
ありがとう
FormのKeyUpとKeyDownとKeyPressイベントで、e.Handled = Trueにしてるんだけど、それでもちらつく
またFormのKeyUpイベントの後に自前描画し直してるんだけど、それでも自前描画が消えてしまうことがある
こういうのがあるから.NETは信頼できないんだよな
ありがとう
FormのKeyUpとKeyDownとKeyPressイベントで、e.Handled = Trueにしてるんだけど、それでもちらつく
またFormのKeyUpイベントの後に自前描画し直してるんだけど、それでも自前描画が消えてしまうことがある
こういうのがあるから.NETは信頼できないんだよな
2018/09/22(土) 16:42:39.47ID:kFAOP0FY
システムのバグだー!!!
タメグラマの典型的な思考回路だねw
賭けてもいいよ絶対にあんたの書いたコードのバグだからw
タメグラマの典型的な思考回路だねw
賭けてもいいよ絶対にあんたの書いたコードのバグだからw
2018/09/22(土) 16:49:12.59ID:tW/Yy4gZ
エスパーにしか分からん位に特殊な実装だとは全然思ってなかったなw
2018/09/22(土) 16:52:51.71ID:kFAOP0FY
だから何でそうなるのw
そもそもあんた、特殊な実装をしてるかどうか読み手が判断できるような情報を何も書いてないだろうw
だからそれで答えが返ってきたらエスパーだと言ってるのに重症だなおい
そもそもあんた、特殊な実装をしてるかどうか読み手が判断できるような情報を何も書いてないだろうw
だからそれで答えが返ってきたらエスパーだと言ってるのに重症だなおい
2018/09/22(土) 16:53:24.99ID:/LVptLz+
膨大なデータ生で見せられてもユーザーにはメリットがないのでデータの見せ方を変える
低レベルAPIじゃなく高速描画ライブラリを使う
というのが一般的な対応じゃないかな
そもそもここで言う一般的ってのはやってることが一般的かどうかという意味じゃなく
事象と発生条件が一般的ではないから実際のものを見なきゃ何もわからないという意味だろう
低レベル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
言葉を返すようだが、「見せ方」「メリット」というけど、そこまで相談はしていないよ
低級API利用が特殊だとは全く思わないし、そもそも描画手続きについて相談してるわけでもない
ALTキー押下でVB.NETのPictureBox上の自前描画が消えるのが問題なんだよ
自前描画もそうだけど、ALTキーを押すなんてそんな特殊なケースだとは思わなかったね
みんな普段ALTキーを使ってないのかよ?w
2018/09/22(土) 17:19:14.70ID:kFAOP0FY
マジで言ってるなら相当の幸せ回路だな
ALTキーを押すのが特殊と思わんかったてw
何でそうなるのw
ALTキーを押すのが特殊と思わんかったてw
何でそうなるのw
2018/09/22(土) 17:24:48.15ID:ga1yzWrI
>>66
VB.NETでブラウザ上表示じゃなくForm描画だとしたら、PictureBOXが載ってる親オブジェクトのFormの描画リフレッシュレートタイミングに問題が有るんじゃ無いか
VB.NETでブラウザ上表示じゃなくForm描画だとしたら、PictureBOXが載ってる親オブジェクトのFormの描画リフレッシュレートタイミングに問題が有るんじゃ無いか
2018/09/22(土) 19:34:34.13ID:/LVptLz+
「起動後の最初」に特定のキーを押す
描画が消えてしまう「ことがある」
特殊バグすぎてイラつくわ
一般的に起こってたまるかよ
描画が消えてしまう「ことがある」
特殊バグすぎてイラつくわ
一般的に起こってたまるかよ
2018/09/22(土) 20:50:50.11ID:tW/Yy4gZ
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復権だろうな
.NET復権だろうな
2018/10/04(木) 03:58:18.05ID:3Cg3sys6
この掲示板だけのインシデントと信じたいが、
お前らマジで使えねえな
その程度でイキってるからVB.NETが馬鹿にされるんだよ、ゴミ共が
お前らマジで使えねえな
その程度でイキってるからVB.NETが馬鹿にされるんだよ、ゴミ共が
75デフォルトの名無しさん
2018/10/28(日) 14:59:16.13ID:SFrY9m9d GetPrivateProfileStringでINIファイルの全文を読み込む方法ってありますか?
76デフォルトの名無しさん
2018/10/28(日) 17:31:59.35ID:pnWZEcOz77デフォルトの名無しさん
2018/10/28(日) 20:11:08.64ID:SFrY9m9d78デフォルトの名無しさん
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 パラメータで指定したキーが見つからないってことだと思うから
結局第三引数が第四引数の中に入っちゃうのですが
解釈がおかしいのでしょうか
ここを参考に考えてみたけれど
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に
入ってしまったのならこの関数で全文取得は無理なんじゃないかな
実際にやってみた?、考えただけ?
普通に解釈すればlpKeyNameがNULLということは
キーを指定していないんだからキーが見つからないと
なるとは考えられないけどね
実際にやってみてlpDefaultの値がlpReturnedStringに
入ってしまったのならこの関数で全文取得は無理なんじゃないかな
80デフォルトの名無しさん
2018/10/28(日) 22:33:46.69ID:SFrY9m9d >>79
実際にやってみて入らなかったよ、教えてくれたのに申し訳ない。
INIファイルからキーを全部抽出して任意のタイミングで変数に入れたいだけなんだが
調べてもよく分からなくて質問を受けてくれてる方にも
困惑させてしまっているな...
実際にやってみて入らなかったよ、教えてくれたのに申し訳ない。
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辺りで表示するようにすればいい
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で文字列変換
> 第一引数と第二引数を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にすれば指定したセクションのキー値をすべて取得できるという解釈は誤りでしょうか?
ごめんなさい、少し勘違いをしていました。
第一引数でセクションを指定し、第二引数をVBNullStringにした場合、キー値ではなく何故かセクション名をひとつだけ取得するのですが、第一引数でセクションを指定し、第二引数をnullにすれば指定したセクションのキー値をすべて取得できるという解釈は誤りでしょうか?
2018/10/29(月) 19:27:50.65ID:oAZGLoeZ
> 第一引数でセクションを指定し、第二引数をnullにすれば指定したセクションのキー値をすべて取得できるという解釈は誤りでしょうか?
解釈は正しい
セクションしか取れないのは何か勘違いしてんじゃね
1つしか取れないのは>>83の最後の行
解釈は正しい
セクションしか取れないのは何か勘違いしてんじゃね
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」が取得されるものかと思っておりました。
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の文字列とか言ってるけどな
インテリセンスによるとこうらしい
説明では長さ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)
こんな感じ
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を文字列として評価すると長さゼロの文字列だからな
Nothingを文字列として評価すると長さゼロの文字列だからな
2018/11/03(土) 19:36:08.98ID:SHI5qsHH
VBのNothingはnullではなく型の規定値だったはず。
つまり、
Dim hoge as String = Nothing
はC#の
var hoge = default(string);
と同じはず。
だからどっちにしろ空文字ではなく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
面白いな。
Debug.Print("{0}", String.Empty = vbNullString) ... True
面白いな。
2018/11/07(水) 00:28:16.72ID:SlJfY7pV
WindowsFormアプリからExcelを参照する際に困ったことがあったので質問します。
いま参照しているExcelに名前ボックスが同じ名前のActivexコントロール(CheckBox)が2つあるんですが片方のValue値が取れません。
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
2018/11/12(月) 17:40:02.30ID:epPqaRvS
datagridviewで選択した行のテキストを各列ごとにテキストボックスに反映させるにはどうすればいいですか?
100デフォルトの名無しさん
2018/11/13(火) 11:07:08.55ID:XsWLHTll BindingSourceを作って
DataGridViewのDataSourceと各TextBoxのDataBindingに割り当てる
DataGridViewのDataSourceと各TextBoxのDataBindingに割り当てる
101デフォルトの名無しさん
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が適用されている。
これも原因がわからない。。
同じような現象になった人っていますか?
正確には「View=Tile」にしてもLargeIconになってしまうケースがある。
既にリリース済みのシステムで今日から表示がおかしいという問合せが
あった。どこに原因があるのか確認しようとミニマムなコードを書いて
みても普通にTileで表示されるので原因がまだ特定できていない。
それとApplication.EnableVisualStyles()していてもTabコントロール上の
ボタンにVisualStyleが適用されないものもある。この時、Tabコントロール
以外に存在するコントロールにはVisualStyleが適用されている。
これも原因がわからない。。
同じような現象になった人っていますか?
103デフォルトの名無しさん
2018/11/16(金) 23:58:30.69ID:HodhQ/sE おるわけないやろオマエのバグやのにw
104デフォルトの名無しさん
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の修正を試したがだめだった。
Private Abc as String = "AAA"と設定しているのに、
ボタンイベントで下記のみ実行
Abc = "ABDEF"
TextBox1.Text = Abc
Dim S1 as String = Abc
Msgbox(S1)
上記のコードを実行すると Msgboxの表示は”AAA”
テキストボックス表示は”ABDEF”
今月になって発覚した。
仕方ないからクラスを追加してグローバル変数にして実行している。
プライベート変数 すべてに影響があって初期値に戻される事象。
vs2017の修正を試したがだめだった。
106デフォルトの名無しさん
2018/11/24(土) 15:23:36.71ID:VBkVIhNz >>105の頭が目がおかしいのだろう
さすがにそんな言語レベルの根本的なバグがあったら自動テストで拾える
Msgboxのバグで以前表示した値が出ているとかならワンチャンないとも言い切れなくもないかもしれない可能性はゼロではないかもね
さすがにそんな言語レベルの根本的なバグがあったら自動テストで拾える
Msgboxのバグで以前表示した値が出ているとかならワンチャンないとも言い切れなくもないかもしれない可能性はゼロではないかもね
107デフォルトの名無しさん
2018/11/24(土) 22:20:58.15ID:/Hv6UjJC こいつらはどうしてちゃんと環境かかないんだろうねぇ
108デフォルトの名無しさん
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 アプリを開発してます。
VisualStudio 2013 + .NET Framework 4 + VB.Net
この環境で Windows.Forms アプリを開発してます。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 国内ホテル、既にキャンセルも 訪日客関連業界、事態見守る ★3 [蚤の市★]
- 習政権、高市首相への態度硬化 台湾有事発言で連日非難 中国 ★11 [ぐれ★]
- 橋下徹氏 外務省幹部の訪中受け「口だけ番長」へ痛烈指摘 「喧嘩は日本の完敗…なんとかっこ悪い日本か」 [冬月記者★]
- 【外国人問題】小野田紀美担当相「不法就労や不法滞在は許さない」 [シャチ★]
- 【野球】井端監督 大谷翔平、山本由伸らのWBCへの参加 「1日も早く返事ほしい」「待っててといっても、国内組が遅くなってしまう」★3 [冬月記者★]
- 【青森・はぐれ子グマがラーメン店襲撃】「笑えないです」ボコボコにしてクマを返り討ち レジェンド男性はまぶたが腫れあがり骨折 ★2 [ぐれ★]
- 中国「高市許さん😡」ジャップメディア「熊!🐻!」 [809488867]
- 中国「高市が頭を下げて謝罪しない限り、絶対に許さない」 [329329848]
- 🏡
- 女子高校生におちんちを見せる 、 頭髪薄めが発生 [485983549]
- 今季最強寒気襲来!!!!
- 【高市早苗】習近平激怒か [115996789]
