VB.NET質問スレ(Part44)

■ このスレッドは過去ログ倉庫に格納されています
1.(もんじゃ)
垢版 |
2018/05/26(土) 18:08:49.12ID:QSlAAqmb
前スレ

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/
670デフォルトの名無しさん
垢版 |
2021/08/09(月) 17:46:03.61ID:xOqPrbyq
否定もくそも昔はみんなcreateobject使って当たり前にやってたんやで
2021/08/10(火) 11:00:31.24ID:spauwKOF
form作ったときにデフォルトに設定される赤青黄三色のアイコンってどのライブラリから引っ張ってきてるんでしょうか
vscでコンパイルにしたときのexeアイコンに設定したいんですが
2021/08/10(火) 12:01:43.74ID:sPIkDzIm
.NET FrameworkのSystem.Windows.Forms.dllのリソースから
vscってVSCodeのこと?
でコンパイルしたときのアイコンって.NET Core/5使ってるってこと?
ならまあまともには無理じゃね
2021/08/10(火) 14:39:04.43ID:spauwKOF
すみませんvbcの間違いでした
アイコン指定は無理ですかわかりました
674デフォルトの名無しさん
垢版 |
2021/09/04(土) 17:24:11.56ID:Aarzs52Q
runspaceInvoke.Invoke("コマンド")でPowerShellのコマンド実行させるときに管理者権限で実行する方法ないでしょうか
ググっても見つからなくて
2021/09/04(土) 18:57:26.36ID:91d+GnbF
>>674
どうググったの?
あっさり見つかったけど
https://miko.info/?p=498
676デフォルトの名無しさん
垢版 |
2021/09/04(土) 18:59:42.44ID:Aarzs52Q
>>675
そこ見ましたが、
ps1ファイルを実行するんじゃなくて、直接コマンドを書きたいんです。
2021/09/04(土) 19:12:45.23ID:AmoBfTCA
UACどうすんの?
って考えたら自プロセスを管理者権限で動かしとけばいいんじゃね
2021/09/05(日) 14:18:54.58ID:ICYnYWWd
>>674
https://blog.powershell-from.jp/?p=254
ググる能力足りなさすぎないか
2021/09/07(火) 20:34:00.70ID:LW8da9uW
WindowsしかないんだけどDBエンジンって何を使えばいいの?
標準で何か入ってる?
680デフォルトの名無しさん
垢版 |
2021/09/07(火) 20:40:26.25ID:xANIP9i7
すきなのつかえやハゲ
2021/09/07(火) 23:49:19.51ID:YcIWO4/P
Linux の3大OSS データベースは、
sqlite, mysql, postgresql だけど、
Windows は、よく知らない

でも、Windowsでも、ブラウザとか多くのアプリは、sqlite 3 を内蔵している。
本格的なものではないけど、ちょっとしたものには使える
2021/09/08(水) 00:18:30.80ID:a3gUENtg
>>681
ありがとう、探してみる
2021/09/08(水) 10:34:08.03ID:GEmvQUlf
firefoxのsqlite managerってアドオンでdbファイルを作ったりフィールド作ったり
ただsqliteは多少方言があったりしてsql serverのsqlが動かないこともあるから注意
またそのアドオンはデータのメンテにはちょっと使いにくいからそっちは別に作った
2021/09/08(水) 11:53:07.33ID:itSmumbF
商用三大データベースといえばOracle、DB2、SQLServer
WindowsでVisualStudio開発なら親和性が高いのはSQLServer

業務用途ならPostgreSQLが無難
WEB絡むならMySQL(MariaDB)を使ってる人が多い
デスクトップアプリで単体配布するならSQLServerの単体配布用のエンジンやSQLite

もし勉強目的ならOracleがいいのではないか
ちなみにVB6からVB.NETへの移植案件だとわりとOracle絡みもあるよ
2021/09/08(水) 12:14:23.79ID:GEmvQUlf
クライアントがwinマシンで業務ならsqlserver一択だと思うがなあ…
サーバーには金かかるがクライアント側で面倒無いし
db2はメインフレームで回すような奴だから俺らレベルじゃ関係ないし

ホビーならsqliteかなあ…dbファイル1個dll1個配布するだけで済むし
まあ同時アクセスとかには向かんけど

しかしoracleで勉強ってあんなクソ高いので…w
2021/09/08(水) 15:31:58.44ID:pZjzAbid
>>684
今はOracle離れ、が進んでる
学習目的ならMySQL(MariaDB),PostgreSQLで良い
687デフォルトの名無しさん
垢版 |
2021/09/08(水) 18:14:42.34ID:xxLcD1RP
Oracleはしょーもない面倒が多すぎる
まじごみ
2021/09/08(水) 18:28:10.68ID:ehctv71g
キリスト「貴方様はなぜ地上に御降臨されたのですか?」
神のお告げ「お前たちが協力して仕事が出来ないように言葉を分散させて意思疎通を無くす事で、互いに争い競わせる為だ」
2021/09/08(水) 18:51:05.35ID:zYJP8zy8
激しくスレ違いだけど三位一体説ぐらい一般常識として知っておけよと思うw
高校の世界史とかでも習ってるだろw
2021/09/08(水) 19:08:11.71ID:wkgfp7fU
巨塔3面が本質的に同じ?
MSはC#推しでないのか?と疑神暗鬼
この先のVB.net教会のいく末を安心立命出来なくて
2021/09/09(木) 16:51:08.99ID:TYilZ2wP
>>C#推し
それでも案件はJavaほども無いね
VB.NETでもC#と同じ事出来るんだから、そらシステム構築は分散されるわな
2021/09/09(木) 18:46:16.07ID:A1tbVRU7
JavaのオーナーさんはVBとC#のどちらを可愛いがってくれるおつもりですか?
2021/09/10(金) 12:27:55.87ID:M6q1a7tu
>>692
OracleはOracleで金むしる事しか考えて無い
2021/09/10(金) 22:46:54.25ID:8it4uK92
なるほどJavaEE奴隷の引き継ぎってわけね

https://docs.oracle.com/cd/E15817_01/server.111/e05765/data_access.htm
>Sun社により、Java言語およびJVMの仕様が提供されます。

>Cなど、一部の言語では、データベースにセキュリティ上の問題が生じる可能性があります。

>Javaの場合は、その設計上、データベース内で容認できる安全な言語です。
>Javaの魅力は、ユビキタスと、それをアプリケーション開発に使用できるプログラマの数が増加していることです。
>オラクル社は、エンタープライズ・アプリケーションの開発者に、Javaアプリケーションの作成、デプロイおよび
>管理のためのエンドツーエンドのJavaソリューションを提供します。
695デフォルトの名無しさん
垢版 |
2021/12/04(土) 12:31:30.59ID:Vqr17mJz
シリアルで取り込んだ値のモニター用グラフ作成に ScottPlot 使ってみた
めっちゃ便利というか簡単にグラフ作成できて高速、SignalPlotとか言う方式なら数十万点のグラフも一瞬で表示される
公式ではSignalConstとかいう方式なら億単位のグラフでも高フレームレートとか豪語してるけどあながち嘘ではなさそう使わんけど
696デフォルトの名無しさん
垢版 |
2021/12/04(土) 12:40:15.97ID:Vqr17mJz
元々グラフ作成面倒なんでこの際Pythonに移行して使ってみようか迷ってたけど
まだまだVBで行けるな(C#のおかげ?)

しかし MSChart 要らないなというかなんとかならんのかあれ
いや、MSChartは忘れよう…
2022/01/20(木) 20:50:39.70ID:mCK9tQrM
VSで変数にマウス乗せたら予め設定した説明をだすことってできる?
2022/01/20(木) 22:46:34.60ID:NL1fx3HA
>>697
ローカル変数じゃなければ、XMLコメントつければ

ローカル変数はたぶん標準じゃ無理じゃね
拡張機能自分で作ればできるかもしれんけど
2022/01/20(木) 23:12:02.94ID:mCK9tQrM
>>698
そっか、ありがとうです!!
2022/01/29(土) 17:35:02.74ID:4+hCVzXK
vb.net未経験なのですが、転職候補先で使うことにりそうです。
未経験からでも独学でなんとかなるでしょうか‥?
他言語はJava使ったことありますが、3年未満なので経験は浅い方です。
2022/01/29(土) 17:50:03.41ID:yn/Bvmcn
即戦力として期待されてるならBASIC系と.NETの両方の経験が無いとキツい
2022/01/29(土) 17:59:20.24ID:dt9VbJuz
言語よりアルゴリズムが大事なんですよー
2022/01/29(土) 18:04:14.01ID:fJ3xXTiy
>>701
やはり独学では厳しい所がありますよね。
VBAが多少くらいですね‥。
.net系は未経験とは伝えてますがやはりキツいですよね‥。
2022/01/29(土) 18:20:38.94ID:FsS1CTOJ
.netは村社会だ
JavaやWebが入ってきていい領域じゃない
去れ
2022/01/29(土) 18:35:02.52ID:OC+xgA3X
Javaを3年やったなら実戦で重要なのはクラスライブラリの使い方だって事は実感しただろ
.NETはまたそれを新たに時間かけて積み上げる必要がある
2022/02/01(火) 00:20:09.06ID:ZmgVJabi
最近
If a=1 Then
処理a
Else
処理b
End If

と書くより

If a=1 Then 処理a
If Not (a=1) Then 処理b
と書いたほうが2行だし見やすいのでスマートに思える
皆さんはどう思いますか?
2022/02/01(火) 18:08:36.76ID:6mdcUfy4
すきにしたらいいんじゃね?
2022/02/02(水) 11:02:03.90ID:PFGno9cc
見やすいかどうかは主観と慣れだし、好きにすればいいけど
わざわざ2回Ifの評価するのはないわ

2行だからとか意味不明だけど、行数が少ないほうが良いと思うなら
If a=1 Then 処理a Else 処理b
で良いんじゃねえか
2022/02/02(水) 12:14:13.32ID:43zIf/SN
>>707
ふむ

>>708
ふむ
短い処理なら1行で書くのもありだね、これを最優先にしてみます
個人的には2回の評価はこの程度なら許容かな
2022/02/02(水) 12:16:17.17ID:43zIf/SN
自己分析だけど簡単な処理が複数行になるのがとても嫌みたい(折り返しも含めて)
2022/02/02(水) 12:23:38.82ID:h1+1MA/a
まあ、オシゴトで上から止めなさいと言われたら素直に「はい」と答えるほうがいい
2022/02/02(水) 13:11:03.68ID:43zIf/SN
>>711
そうだね、はいと言わないと円滑に進まないこともあるよね
趣味なので現場のこと解ってなくて、粗相をしていたらごめんなさい
2022/02/24(木) 19:27:26.09ID:KPdhQTyA
取得したIntptrにByteを書き込む際に配列で書き込む関数はありますか?
今Forで回しているのですが無駄な気がして…
2022/02/24(木) 20:18:13.89ID:nw0IKs2Y
Marshal.Copy
2022/04/14(木) 18:45:57.89ID:GnSw15mR
Debug.Printってリリースの時もコンパイルされますか?
付けておくことで実行時重くなるか知りたいです
2022/04/18(月) 21:27:43.92ID:M2AhJtAx
イベントプロシージャーってフォーム.vb以外で書くのはルール違反なんですか?
てか出来るんですか?
2022/04/18(月) 22:52:01.23ID:GqGEiCjU
>>715
リリースビルドに含まれるなら何のためのdebugかと

>>716
モジュールに書いてフォームから呼べばいいがな
まあ内容によってはデリゲード使わないかんかったりするけど
2022/04/18(月) 23:52:00.40ID:M2AhJtAx
>>717
両方ありがとうです
気兼ねなくデバッグプリント使えるんで嬉しいです

処理はフォームから呼んではいるんだけどForm1のイベントが50個くらいになってしまってコントロールごとに並べてみたけど見ずらいです、工夫が足りないのかな
2022/04/19(火) 01:36:18.71ID:l3iT9AMj
>>718
うーん…例えばボタンずらーっと並べてパラメーター違いの同じ処理なんてのならhandlesにずらーっとボタン並べて処理の中でsenderをボタンにcastしてnameからどのボタンから呼ばれたが判定して処理書き分けるとか
まあ共通部分が無いならしょうがないけど
2022/04/19(火) 02:52:17.15ID:Owsp92Ze
>>719
とりあえずまとめるものはまとめてみてるつもりだったんですけど説明を聞いてよくよく考えたら同じオブジェクト.イベントが複数あるかもしれないです

たとえばボタン.クリックで全く違う処理でも全部1つにまとめてハンドルしてしまいイベントが起きたときに分類用のモジュールに飛ばしてからsenderを使って切り分けてあげればForm1がスッキリしそうですね
早速明日切り分けるためのプロシージャを考えてみたいと思います、明日じゃなくて今日か 笑
2022/04/19(火) 18:21:30.98ID:l3iT9AMj
>>720
ただモジュール側でcastしようとしてもそこにはsenderは無いので呼ぶ時にsender(と内容によってはeも)渡さないといかんけど
(call hoge (sender,e)みたいに)
2022/04/24(日) 06:41:04.78ID:rnIXniDo
.netでもapiでもいいのだけどクリップボードにコピーされたこと知る方法あったっけ?
ポーリングするしかない?
2022/04/24(日) 08:23:38.56ID:4RbQFnap
これかね
https://atmarkit.itmedia.co.jp/fdotnet/dotnettips/848cbviewer/cbviewer.html
724デフォルトの名無しさん
垢版 |
2022/04/24(日) 15:49:39.77ID:rnIXniDo
>>723
おお、これですありがとうございます
2022/04/25(月) 21:34:36.29ID:/sZjU9n3
おちんぽみるく
2022/09/19(月) 20:25:09.68ID:vfhaC5ks
hosyu
2022/09/20(火) 00:47:26.55ID:Mh2Dy9Lg
もういらないんじゃないかw
2022/09/20(火) 00:53:05.39ID:Rlnm1h+Y
>>727
今覚えてる最中だったりする
2022/09/22(木) 15:15:33.96ID:7wDR5F5H
VB.NET案件、それなりに有る
2022/09/22(木) 16:14:21.76ID:SOmBEF4r
自分のところは新規案件でVB指定されることは無いな。
大手でも部門で独自開発してたソフトの機能追加などを頼まれる事があるが、元がVB.NETだったりする事はある。
2022/10/03(月) 21:03:01.36ID:rT8lgIp3
Falseをずっとフェールスと呼んでいたわ、誰にも言わなくて良かった
でも実際フォールス、ファルス、フォルス、プロの人はなんて読んでるんだ?
2022/10/03(月) 21:15:38.90ID:xpWOvTo9
いや、プロアマ関係なく英語だろう...
2022/10/04(火) 08:53:24.32ID:YgMrGw/a
ファルセ
2022/10/12(水) 12:04:19.61ID:05zETGAl
なんかがんばってるんだがコードが手続き型になってしまう
クラス使うと細切れになって管理とかで余計面倒になるのは気のせいか?
735デフォルトの名無しさん
垢版 |
2022/10/15(土) 23:09:21.03ID:FooIDbuU
クラス使ってもforループで回してるし
俺もわからん
2022/10/16(日) 00:15:20.11ID:ZA+WuaVX
オブジェクト指向はどのクラスにプロシージャを書くか、クラスは論理的にどこに配置されるのか、いわゆるソフトウェアアーキテクチャが重要になると思う。
クラスのインスタンスはどのクラスで管理するのか、クラスやインスタンス同士の繋がりはどのクラスが面倒見るのか、考える事は多くなりますね。
けどソフトの規模が大きくなったときは、オブジェクト指向のメリットが大きいと感じます。
2022/10/16(日) 00:45:26.15ID:I0hpg2ZE
一人で書いてるから大きくなりようがないけどねw
基本的に処理はなるべくモジュールに書いてコントロールからはそれ呼び出すだけにしてる
まあbackgroundworkerとかdelegate関連はフォームに書くけど
クラスはネットからコピってきたロジックとかくらい
2022/10/16(日) 04:46:22.78ID:q8mBJvHk
>>736
そう、そこらへんがよく分かんなくて
例えばRichTextBoxを管理するクラスとファイル入出力のクラスを作ったときRTBの内容を保存するメソッドはファイルのクラスに作りたいんだけど
2,3行ですむような簡単な記述でもわざわざファイルのクラスの方にメソッドを作ってオブジェクトを作って使わなきゃいけないのかと思うと億劫になってしまって直接RTBのメソッドのほうにSaveを書いてしまう
これは良いのかダメなのかがよくわからない
ここらへんは他人のコードを見ながら覚えていくんだと思うんだけど趣味でやってるとそんな機会はほぼないんだよね
ソフトウェアアーキテクチャ?っていうの?ググればそういうHowtoなページってありますか?
2022/10/17(月) 21:06:32.24ID:bUF4XGy5
すでに手段と目的が入れ替わってる感があるな
2022/10/17(月) 22:58:27.91ID:x2+EStbh
>>738
正解は無いが、例えばその例だとRichTextBoxExtensionクラスを作って拡張メソッドにするとシンプルにできる。
myRichTextBox.Save()
みたいな感じで呼び出せる。

VBに限定するなら、調べてないが参考になるサイトはほとんど無いと思う。C#なら検索すれば出てくる。
2022/10/22(土) 23:47:14.54ID:Md3R6uzp
>>740
コントロールの拡張クラスっていう考え方にすれば良いのか、確かにわかりやすい
ありがとうございます
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
2022/10/23(日) 07:08:24.05ID:UaJ1tm/J
どうやら照合順序が違ってるみたい
mdfを作り直せばいけるかな?
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を狙って作れるか確認してみよう
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だけ作って接続は手書きをしたのでそこら辺が原因かもしれない、突き止める気はサラサラないけど
746デフォルトの名無しさん
垢版 |
2022/10/24(月) 00:38:57.02ID:I2D5WKz1
馬鹿の日記でした
2022/10/24(月) 07:16:18.53ID:UaFEA5si
割と気が付かない人はいるね
2022/11/04(金) 08:39:38.18ID:3MIAhDZX
やっと組んでたプログラムができそう、ちゃんと組んでないからデバッグが大変だわー
それでも完結になるように努力はしたけど
もうこれ以上規模の大きいのは一生作らないだろうなというくらい頑張った
2022/11/04(金) 10:17:27.50ID:0ZopIWif
>>748
確かに、俺も小さなツールで.vbだけで1.59MBとかだけどもう見たくないw
2022/11/04(金) 11:04:50.02ID:3MIAhDZX
>>749
凄いな、今みてみたら667Kだったわ
現状RichTextBoxに貼ったイメージがコピーできないので困ってる
メモリストリーム云々はスキル的にとても手がでないので一旦ファイルに落とそうかと画策中
2022/11/04(金) 16:34:59.32ID:3MIAhDZX
ファイル(temp.png)にできたんゴ!
これをImageオブジェクトに読み込めば使いまわしができる
752デフォルトの名無しさん
垢版 |
2022/11/17(木) 16:07:05.13ID:1Jm6EA8w
>>703-704
そうだね
自力はきつい。なぜかいうとMS公式にも使えるマニュアルvbだけ少ないし、そもそも他言語が手書きで書けるのに対してこっちはIDE頼みでヴァージョンやフレームワークやインポートする部品がバリエーション多すぎてカチッとハマらないと動かないから書籍やネットのサンプルがほぼ動かない。
でも求人の給料はやっスイんだよなあw
753デフォルトの名無しさん
垢版 |
2022/11/17(木) 16:11:29.17ID:1Jm6EA8w
あと村社会ってのもそう。わからないことや新規でやりたいこと出て質問すると100人聞くと100人が曖昧な答えしか返さない。で業者に作ってもらうように落ち着く。
これも↑の言語の特性が原因でそういう取り扱いになってしまってるんだと邪推
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)
2022/11/26(土) 13:12:26.45ID:6PSlDPti
VB.NETの案件減って行ってるなあ、、
もう終わりか
2022/11/27(日) 13:48:16.31ID:Pm5jqeER
XPでも動かすのがモットーだから未だに.net2.0だけどそろそろ上げてもいいかな…って気がするんだけどさてどれにすっかなーと
ちな7だから新し目のは漏れなく駄目だろうけど
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でいいんじゃないの?と単純に思ったのですが…
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.
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
2023/03/24(金) 19:06:37.72ID:5FBKYBTZ
非.NETで作られたDLLの関数を呼び出すための宣言だよ
https://learn.microsoft.com/ja-jp/dotnet/visual-basic/language-reference/statements/declare-statement
762デフォルトの名無しさん
垢版 |
2023/03/24(金) 20:44:56.31ID:ERXieoFI
>>761
回答ありがとうございます!
ただ!後ろに並んでる変数も含めて理解できてないんです。

あつかましくて申し訳ないですが、もう少し噛み砕いていただけると助かります。。
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の仕様が分からないと上記の質問も分からない?

トンチンカンな事言ってると思いますが。。
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でコード全体を検索すれば実際に使用しているところが見つかるんじゃね?
766デフォルトの名無しさん
垢版 |
2023/03/25(土) 05:48:46.84ID:F9vkZ/PE
>>763
>>765
ありがとうございます!
内容確認してみます!

勉強中なのでまた来ると思います(;o;)
767デフォルトの名無しさん
垢版 |
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"という名称で扱う
という認識でよろしいですかね?
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
769デフォルトの名無しさん
垢版 |
2023/03/26(日) 22:34:02.95ID:KCoWgyug
>>768
ありがとうございます!
参考にさせてもらいます(^-^)
770デフォルトの名無しさん
垢版 |
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#に移行することを踏まえて教えていただけると幸いです。よろしくお願いします。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況