前スレ
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:QSlAAqmb708デフォルトの名無しさん
2022/02/02(水) 11:02:03.90ID:PFGno9cc 見やすいかどうかは主観と慣れだし、好きにすればいいけど
わざわざ2回Ifの評価するのはないわ
2行だからとか意味不明だけど、行数が少ないほうが良いと思うなら
If a=1 Then 処理a Else 処理b
で良いんじゃねえか
わざわざ2回Ifの評価するのはないわ
2行だからとか意味不明だけど、行数が少ないほうが良いと思うなら
If a=1 Then 処理a Else 処理b
で良いんじゃねえか
709デフォルトの名無しさん
2022/02/02(水) 12:14:13.32ID:43zIf/SN710デフォルトの名無しさん
2022/02/02(水) 12:16:17.17ID:43zIf/SN 自己分析だけど簡単な処理が複数行になるのがとても嫌みたい(折り返しも含めて)
711デフォルトの名無しさん
2022/02/02(水) 12:23:38.82ID:h1+1MA/a まあ、オシゴトで上から止めなさいと言われたら素直に「はい」と答えるほうがいい
712デフォルトの名無しさん
2022/02/02(水) 13:11:03.68ID:43zIf/SN713デフォルトの名無しさん
2022/02/24(木) 19:27:26.09ID:KPdhQTyA 取得したIntptrにByteを書き込む際に配列で書き込む関数はありますか?
今Forで回しているのですが無駄な気がして…
今Forで回しているのですが無駄な気がして…
714デフォルトの名無しさん
2022/02/24(木) 20:18:13.89ID:nw0IKs2Y Marshal.Copy
715デフォルトの名無しさん
2022/04/14(木) 18:45:57.89ID:GnSw15mR Debug.Printってリリースの時もコンパイルされますか?
付けておくことで実行時重くなるか知りたいです
付けておくことで実行時重くなるか知りたいです
716デフォルトの名無しさん
2022/04/18(月) 21:27:43.92ID:M2AhJtAx イベントプロシージャーってフォーム.vb以外で書くのはルール違反なんですか?
てか出来るんですか?
てか出来るんですか?
717デフォルトの名無しさん
2022/04/18(月) 22:52:01.23ID:GqGEiCjU718デフォルトの名無しさん
2022/04/18(月) 23:52:00.40ID:M2AhJtAx >>717
両方ありがとうです
気兼ねなくデバッグプリント使えるんで嬉しいです
処理はフォームから呼んではいるんだけどForm1のイベントが50個くらいになってしまってコントロールごとに並べてみたけど見ずらいです、工夫が足りないのかな
両方ありがとうです
気兼ねなくデバッグプリント使えるんで嬉しいです
処理はフォームから呼んではいるんだけどForm1のイベントが50個くらいになってしまってコントロールごとに並べてみたけど見ずらいです、工夫が足りないのかな
719デフォルトの名無しさん
2022/04/19(火) 01:36:18.71ID:l3iT9AMj >>718
うーん…例えばボタンずらーっと並べてパラメーター違いの同じ処理なんてのならhandlesにずらーっとボタン並べて処理の中でsenderをボタンにcastしてnameからどのボタンから呼ばれたが判定して処理書き分けるとか
まあ共通部分が無いならしょうがないけど
うーん…例えばボタンずらーっと並べてパラメーター違いの同じ処理なんてのならhandlesにずらーっとボタン並べて処理の中でsenderをボタンにcastしてnameからどのボタンから呼ばれたが判定して処理書き分けるとか
まあ共通部分が無いならしょうがないけど
720デフォルトの名無しさん
2022/04/19(火) 02:52:17.15ID:Owsp92Ze >>719
とりあえずまとめるものはまとめてみてるつもりだったんですけど説明を聞いてよくよく考えたら同じオブジェクト.イベントが複数あるかもしれないです
たとえばボタン.クリックで全く違う処理でも全部1つにまとめてハンドルしてしまいイベントが起きたときに分類用のモジュールに飛ばしてからsenderを使って切り分けてあげればForm1がスッキリしそうですね
早速明日切り分けるためのプロシージャを考えてみたいと思います、明日じゃなくて今日か 笑
とりあえずまとめるものはまとめてみてるつもりだったんですけど説明を聞いてよくよく考えたら同じオブジェクト.イベントが複数あるかもしれないです
たとえばボタン.クリックで全く違う処理でも全部1つにまとめてハンドルしてしまいイベントが起きたときに分類用のモジュールに飛ばしてからsenderを使って切り分けてあげればForm1がスッキリしそうですね
早速明日切り分けるためのプロシージャを考えてみたいと思います、明日じゃなくて今日か 笑
721デフォルトの名無しさん
2022/04/19(火) 18:21:30.98ID:l3iT9AMj >>720
ただモジュール側でcastしようとしてもそこにはsenderは無いので呼ぶ時にsender(と内容によってはeも)渡さないといかんけど
(call hoge (sender,e)みたいに)
ただモジュール側でcastしようとしてもそこにはsenderは無いので呼ぶ時にsender(と内容によってはeも)渡さないといかんけど
(call hoge (sender,e)みたいに)
722デフォルトの名無しさん
2022/04/24(日) 06:41:04.78ID:rnIXniDo .netでもapiでもいいのだけどクリップボードにコピーされたこと知る方法あったっけ?
ポーリングするしかない?
ポーリングするしかない?
723デフォルトの名無しさん
2022/04/24(日) 08:23:38.56ID:4RbQFnap724デフォルトの名無しさん
2022/04/24(日) 15:49:39.77ID:rnIXniDo >>723
おお、これですありがとうございます
おお、これですありがとうございます
725デフォルトの名無しさん
2022/04/25(月) 21:34:36.29ID:/sZjU9n3 おちんぽみるく
726デフォルトの名無しさん
2022/09/19(月) 20:25:09.68ID:vfhaC5ks hosyu
727デフォルトの名無しさん
2022/09/20(火) 00:47:26.55ID:Mh2Dy9Lg もういらないんじゃないかw
728デフォルトの名無しさん
2022/09/20(火) 00:53:05.39ID:Rlnm1h+Y >>727
今覚えてる最中だったりする
今覚えてる最中だったりする
729デフォルトの名無しさん
2022/09/22(木) 15:15:33.96ID:7wDR5F5H VB.NET案件、それなりに有る
730デフォルトの名無しさん
2022/09/22(木) 16:14:21.76ID:SOmBEF4r 自分のところは新規案件でVB指定されることは無いな。
大手でも部門で独自開発してたソフトの機能追加などを頼まれる事があるが、元がVB.NETだったりする事はある。
大手でも部門で独自開発してたソフトの機能追加などを頼まれる事があるが、元がVB.NETだったりする事はある。
731デフォルトの名無しさん
2022/10/03(月) 21:03:01.36ID:rT8lgIp3 Falseをずっとフェールスと呼んでいたわ、誰にも言わなくて良かった
でも実際フォールス、ファルス、フォルス、プロの人はなんて読んでるんだ?
でも実際フォールス、ファルス、フォルス、プロの人はなんて読んでるんだ?
732デフォルトの名無しさん
2022/10/03(月) 21:15:38.90ID:xpWOvTo9 いや、プロアマ関係なく英語だろう...
733デフォルトの名無しさん
2022/10/04(火) 08:53:24.32ID:YgMrGw/a ファルセ
734デフォルトの名無しさん
2022/10/12(水) 12:04:19.61ID:05zETGAl なんかがんばってるんだがコードが手続き型になってしまう
クラス使うと細切れになって管理とかで余計面倒になるのは気のせいか?
クラス使うと細切れになって管理とかで余計面倒になるのは気のせいか?
735デフォルトの名無しさん
2022/10/15(土) 23:09:21.03ID:FooIDbuU クラス使ってもforループで回してるし
俺もわからん
俺もわからん
736デフォルトの名無しさん
2022/10/16(日) 00:15:20.11ID:ZA+WuaVX オブジェクト指向はどのクラスにプロシージャを書くか、クラスは論理的にどこに配置されるのか、いわゆるソフトウェアアーキテクチャが重要になると思う。
クラスのインスタンスはどのクラスで管理するのか、クラスやインスタンス同士の繋がりはどのクラスが面倒見るのか、考える事は多くなりますね。
けどソフトの規模が大きくなったときは、オブジェクト指向のメリットが大きいと感じます。
クラスのインスタンスはどのクラスで管理するのか、クラスやインスタンス同士の繋がりはどのクラスが面倒見るのか、考える事は多くなりますね。
けどソフトの規模が大きくなったときは、オブジェクト指向のメリットが大きいと感じます。
737デフォルトの名無しさん
2022/10/16(日) 00:45:26.15ID:I0hpg2ZE 一人で書いてるから大きくなりようがないけどねw
基本的に処理はなるべくモジュールに書いてコントロールからはそれ呼び出すだけにしてる
まあbackgroundworkerとかdelegate関連はフォームに書くけど
クラスはネットからコピってきたロジックとかくらい
基本的に処理はなるべくモジュールに書いてコントロールからはそれ呼び出すだけにしてる
まあbackgroundworkerとかdelegate関連はフォームに書くけど
クラスはネットからコピってきたロジックとかくらい
738デフォルトの名無しさん
2022/10/16(日) 04:46:22.78ID:q8mBJvHk >>736
そう、そこらへんがよく分かんなくて
例えばRichTextBoxを管理するクラスとファイル入出力のクラスを作ったときRTBの内容を保存するメソッドはファイルのクラスに作りたいんだけど
2,3行ですむような簡単な記述でもわざわざファイルのクラスの方にメソッドを作ってオブジェクトを作って使わなきゃいけないのかと思うと億劫になってしまって直接RTBのメソッドのほうにSaveを書いてしまう
これは良いのかダメなのかがよくわからない
ここらへんは他人のコードを見ながら覚えていくんだと思うんだけど趣味でやってるとそんな機会はほぼないんだよね
ソフトウェアアーキテクチャ?っていうの?ググればそういうHowtoなページってありますか?
そう、そこらへんがよく分かんなくて
例えばRichTextBoxを管理するクラスとファイル入出力のクラスを作ったときRTBの内容を保存するメソッドはファイルのクラスに作りたいんだけど
2,3行ですむような簡単な記述でもわざわざファイルのクラスの方にメソッドを作ってオブジェクトを作って使わなきゃいけないのかと思うと億劫になってしまって直接RTBのメソッドのほうにSaveを書いてしまう
これは良いのかダメなのかがよくわからない
ここらへんは他人のコードを見ながら覚えていくんだと思うんだけど趣味でやってるとそんな機会はほぼないんだよね
ソフトウェアアーキテクチャ?っていうの?ググればそういうHowtoなページってありますか?
739デフォルトの名無しさん
2022/10/17(月) 21:06:32.24ID:bUF4XGy5 すでに手段と目的が入れ替わってる感があるな
740デフォルトの名無しさん
2022/10/17(月) 22:58:27.91ID:x2+EStbh >>738
正解は無いが、例えばその例だとRichTextBoxExtensionクラスを作って拡張メソッドにするとシンプルにできる。
myRichTextBox.Save()
みたいな感じで呼び出せる。
VBに限定するなら、調べてないが参考になるサイトはほとんど無いと思う。C#なら検索すれば出てくる。
正解は無いが、例えばその例だとRichTextBoxExtensionクラスを作って拡張メソッドにするとシンプルにできる。
myRichTextBox.Save()
みたいな感じで呼び出せる。
VBに限定するなら、調べてないが参考になるサイトはほとんど無いと思う。C#なら検索すれば出てくる。
741デフォルトの名無しさん
2022/10/22(土) 23:47:14.54ID:Md3R6uzp742デフォルトの名無しさん
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
データの項目「タイトル」のレコードには"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
743デフォルトの名無しさん
2022/10/23(日) 07:08:24.05ID:UaJ1tm/J どうやら照合順序が違ってるみたい
mdfを作り直せばいけるかな?
mdfを作り直せばいけるかな?
744デフォルトの名無しさん
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を狙って作れるか確認してみよう
SSMS突っ込んでみたりSQL2019入れたり余計なことを繰り返してた
結局C:\Users\user\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\MSSQLLocalDB消したら治ったけど(さりげなく備忘録)
そのおかげでなんとなくDBの仕組みは解るようになったけど未だに日本語は検出してくれない
カレントランゲージを3にしたらダメって怒られるし(そもそもLocalDBで言語設定できるのか?どうして初めから日本語じゃないのかが不明)
Japanese_CI_AS付けたらエラーとか言われるし
最悪OS入れなおさなと青くなったから治っただけ良しとしよう
結局もっかいSQLサーバ作り直さないとダメっぽいんだけどいじるの怖いわ
いや、その前に日本語のmdfを狙って作れるか確認してみよう
745デフォルトの名無しさん
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だけ作って接続は手書きをしたのでそこら辺が原因かもしれない、突き止める気はサラサラないけど
あの後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 馬鹿の日記でした
747デフォルトの名無しさん
2022/10/24(月) 07:16:18.53ID:UaFEA5si 割と気が付かない人はいるね
748デフォルトの名無しさん
2022/11/04(金) 08:39:38.18ID:3MIAhDZX やっと組んでたプログラムができそう、ちゃんと組んでないからデバッグが大変だわー
それでも完結になるように努力はしたけど
もうこれ以上規模の大きいのは一生作らないだろうなというくらい頑張った
それでも完結になるように努力はしたけど
もうこれ以上規模の大きいのは一生作らないだろうなというくらい頑張った
749デフォルトの名無しさん
2022/11/04(金) 10:17:27.50ID:0ZopIWif >>748
確かに、俺も小さなツールで.vbだけで1.59MBとかだけどもう見たくないw
確かに、俺も小さなツールで.vbだけで1.59MBとかだけどもう見たくないw
750デフォルトの名無しさん
2022/11/04(金) 11:04:50.02ID:3MIAhDZX >>749
凄いな、今みてみたら667Kだったわ
現状RichTextBoxに貼ったイメージがコピーできないので困ってる
メモリストリーム云々はスキル的にとても手がでないので一旦ファイルに落とそうかと画策中
凄いな、今みてみたら667Kだったわ
現状RichTextBoxに貼ったイメージがコピーできないので困ってる
メモリストリーム云々はスキル的にとても手がでないので一旦ファイルに落とそうかと画策中
751デフォルトの名無しさん
2022/11/04(金) 16:34:59.32ID:3MIAhDZX ファイル(temp.png)にできたんゴ!
これをImageオブジェクトに読み込めば使いまわしができる
これをImageオブジェクトに読み込めば使いまわしができる
752デフォルトの名無しさん
2022/11/17(木) 16:07:05.13ID:1Jm6EA8w >>703-704
そうだね
自力はきつい。なぜかいうとMS公式にも使えるマニュアルvbだけ少ないし、そもそも他言語が手書きで書けるのに対してこっちはIDE頼みでヴァージョンやフレームワークやインポートする部品がバリエーション多すぎてカチッとハマらないと動かないから書籍やネットのサンプルがほぼ動かない。
でも求人の給料はやっスイんだよなあw
そうだね
自力はきつい。なぜかいうとMS公式にも使えるマニュアルvbだけ少ないし、そもそも他言語が手書きで書けるのに対してこっちはIDE頼みでヴァージョンやフレームワークやインポートする部品がバリエーション多すぎてカチッとハマらないと動かないから書籍やネットのサンプルがほぼ動かない。
でも求人の給料はやっスイんだよなあw
753デフォルトの名無しさん
2022/11/17(木) 16:11:29.17ID:1Jm6EA8w あと村社会ってのもそう。わからないことや新規でやりたいこと出て質問すると100人聞くと100人が曖昧な答えしか返さない。で業者に作ってもらうように落ち着く。
これも↑の言語の特性が原因でそういう取り扱いになってしまってるんだと邪推
これも↑の言語の特性が原因でそういう取り扱いになってしまってるんだと邪推
754デフォルトの名無しさん
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)
https://twitter.com/moonmile/status/1593124571749961729?t=e-koVW9EbioFBrVOqntltA&s=19
これでクロスプラットフォームアプリ勢力図変わらねぇかなぁ?
https://twitter.com/5chan_nel (5ch newer account)
756デフォルトの名無しさん
2022/11/26(土) 13:12:26.45ID:6PSlDPti VB.NETの案件減って行ってるなあ、、
もう終わりか
もう終わりか
757デフォルトの名無しさん
2022/11/27(日) 13:48:16.31ID:Pm5jqeER XPでも動かすのがモットーだから未だに.net2.0だけどそろそろ上げてもいいかな…って気がするんだけどさてどれにすっかなーと
ちな7だから新し目のは漏れなく駄目だろうけど
ちな7だから新し目のは漏れなく駄目だろうけど
758デフォルトの名無しさん
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でいいんじゃないの?と単純に思ったのですが…
https://ameblo.jp/knym71/entry-12120126159.html
Macでは「Macintosh版のVisual Basic」に喩えられるXojoという環境で作られてるらしいんですが、それならWindows版はVBでいいんじゃないの?と単純に思ったのですが…
759デフォルトの名無しさん
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.
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
タスケテケスタ
意味を教えてください
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
761デフォルトの名無しさん
2023/03/24(金) 19:06:37.72ID:5FBKYBTZ 非.NETで作られたDLLの関数を呼び出すための宣言だよ
https://learn.microsoft.com/ja-jp/dotnet/visual-basic/language-reference/statements/declare-statement
https://learn.microsoft.com/ja-jp/dotnet/visual-basic/language-reference/statements/declare-statement
762デフォルトの名無しさん
2023/03/24(金) 20:44:56.31ID:ERXieoFI763デフォルトの名無しさん
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の仕様が分からないと上記の質問も分からない?
トンチンカンな事言ってると思いますが。。
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の仕様が分からないと上記の質問も分からない?
トンチンカンな事言ってると思いますが。。
765デフォルトの名無しさん
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でコード全体を検索すれば実際に使用しているところが見つかるんじゃね?
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/PE767デフォルトの名無しさん
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"という名称で扱う
という認識でよろしいですかね?
質問をばさせていただきたく
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"という名称で扱う
という認識でよろしいですかね?
768デフォルトの名無しさん
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
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:KCoWgyug770デフォルトの名無しさん
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#に移行することを踏まえて教えていただけると幸いです。よろしくお願いします。
(歴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+FP7772デフォルトの名無しさん
2023/04/30(日) 04:38:17.68ID:xlDTnGib ワロタ
773デフォルトの名無しさん
2023/05/01(月) 16:16:30.20ID:nutSXmqo 奥の手でもなんでもなくて適切な型をつかうのは基本中の基本だと思うがな
ちゃんとDB使って処理して1時間なら言語なにつかっても大差ないと思われ
ちゃんとDB使って処理して1時間なら言語なにつかっても大差ないと思われ
774デフォルトの名無しさん
2023/05/10(水) 02:41:26.03ID:VdVKPMIs 何の処理が原因で遅くなっているか切り分けたら?
Stopwatchクラス使えはいいよ。
Stopwatchクラス使えはいいよ。
775デフォルトの名無しさん
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秒未満を目指せると思う
型とかアルゴリズム以前にもっと根本的な問題があると思う
そしてどういう問題を処理しようとしているか書かないと一般論しか帰ってこない気がする
速度カイゼンはとにかくループの削減が基本
全探索をなくすのが基本
ソートをなくすのが基本
100万件程度なら一瞬で終わる
キャッシュ云々の前にアプローチが間違ってる気がする
PHPとC#、VB.netなら処理速度変わらん
もしSQLの発行回数が2回以上になってるんだったら1回にすればいい
ループごとにSQLを実行するような処理だったら論外
VB.netならフリーのプロファイラが十分使えるからツールでどの箇所が時間かかってるかはすぐわかる
というかその書き方だとすでに原因となる箇所はだいたいわかってるんじゃないだろうか
とにかくループを減らす
VBAで1時間ならVB.netは1秒未満を目指せると思う
型とかアルゴリズム以前にもっと根本的な問題があると思う
そしてどういう問題を処理しようとしているか書かないと一般論しか帰ってこない気がする
速度カイゼンはとにかくループの削減が基本
全探索をなくすのが基本
ソートをなくすのが基本
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 国内ホテル、既にキャンセルも 訪日客関連業界、事態見守る ★3 [蚤の市★]
- 習政権、高市首相への態度硬化 台湾有事発言で連日非難 中国 ★11 [ぐれ★]
- 橋下徹氏 外務省幹部の訪中受け「口だけ番長」へ痛烈指摘 「喧嘩は日本の完敗…なんとかっこ悪い日本か」 [冬月記者★]
- 【外国人問題】小野田紀美担当相「不法就労や不法滞在は許さない」 [シャチ★]
- 【野球】井端監督 大谷翔平、山本由伸らのWBCへの参加 「1日も早く返事ほしい」「待っててといっても、国内組が遅くなってしまう」★3 [冬月記者★]
- 経団連会長、日中は建設的対話を 経済3団体が高市首相と初会談も日中関係は話題に登らず… [BFU★]
- 中国「高市が頭を下げて謝罪しない限り、絶対に許さない」 [329329848]
- 🏡
- 今季最強寒気襲来!!!!
- 【高市早苗】習近平激怒か [115996789]
- 今猛烈に食べたいもの挙げてけwwwwwwww
- 橋下徹「口だけ番長の日本が中国に喧嘩負け。なんとカッコ悪い日本か!」高市にバチーン!✴ [153490809]
