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/
2021/06/16(水) 03:28:43.34ID:e0jf5g/s
下手にVBできるって言っちゃうとクソプロジェクトにアサインされるので言わないようにしてる
マジでVBのシステムでまともなの見たことない マジで
メンバーも向上心ゼロの無気力おっさんばっかだし・・・
2021/06/16(水) 06:56:25.40ID:OhC4hyYk
なぜプロジェクトに参加しないのにわかるのか
近くにいるのかもしれないがよく見てて暇なのかな?w
647642
垢版 |
2021/06/16(水) 15:10:35.10ID:lDALpvxr
>>643
>>644
ありがとうございます。
2021/07/14(水) 09:31:14.70ID:jLoTFlk8
個人の趣味でWindowsアプリ作るのが目的だったんだけどVBが疎まれてるからC#覚えた

ただ結局同じことが出来るVB.NET使ったほうが欲しいものがサクっと出来ることに気づいて覚え直した

なんか騙された気分なんだけどVB卑下してる人の大部分って個人ではどうでもいいような制御系とかLinux使ってる専門職の人?
2021/07/14(水) 10:44:10.73ID:SSFv5Eu5
>>648
VBerにマウント取らないと死んでしまうんだろw
俺はC系のソース見ると鳥肌立つけど
2021/07/14(水) 12:49:09.14ID:5dP8/+MQ
VBも2005までは不満はあってもC#より便利な面もあって存在意義もあったが、
2008でケチがついた。
今は完全に終わってる。
もうVBはその役割を終えたんだよ。

使いもせずにVBを馬鹿にしてた人がいたのは確かだが、だから逆張りでVBに固執するんじゃ
そんな連中よりもっとバカだ。
2021/07/14(水) 13:37:01.53ID:SSFv5Eu5
#er君はともかく二言目には「VBは終わった」
それしか言えんのなw
2021/07/14(水) 13:58:33.77ID:UFXgFosE
こういう奴がネトウヨとかなるんだろうな
生粋のバカだ
2021/07/14(水) 15:21:03.74ID:6kZWVtLB
言語なんて何でも良いんだよ!大事なのはアルゴリズムだ!
654デフォルトの名無しさん
垢版 |
2021/07/14(水) 19:21:10.83ID:SSFv5Eu5
と生粋のバカのネトパヨがw
2021/07/15(木) 20:56:02.03ID:/QdVOyR6
朝鮮人ってどのスレにも湧いてくるよねー
2021/07/16(金) 01:45:18.98ID:qOSbZWDA
仕事で関わったVBer、土日はPC一切触らないとかそういう人ばかりだった
2021/07/16(金) 07:08:47.36ID:SE8dGCe3
>>656
だから何?
たまたまそうだっただけなのを「全てガー」ってまるで朝鮮人w
658デフォルトの名無しさん
垢版 |
2021/07/17(土) 17:54:57.41ID:M1koy5h6
あの、asp.netなんですが質問させてください
659デフォルトの名無しさん
垢版 |
2021/07/17(土) 18:09:20.51ID:M1koy5h6
ASP.netのCoreじゃない古くからあるFormsで
一部のWebAPIだけ公開したいのですが、
Coreのほうだと各WebAPIメソッドの頭にEnableCorsを付ければ公開したいものだけ指定できるみたいなんですが
古いほうだとweb。configにAccessControlAllowOriginを書く方法しか見つかりませんでした

でもweb。configに書くと全てのWebAPIが公開されちゃうじゃないですか
なんとかして古いformsのほうで一部だけ公開ってできないものでしょうか?
2021/07/22(木) 09:44:30.33ID:w8vQCEu7
やったことないけどこういうの?
https://docs.microsoft.com/ja-jp/aspnet/web-api/overview/getting-started-with-aspnet-web-api/using-web-api-with-aspnet-web-forms
非公開にしたいメソッドにNonAction属性付けるのはどう
661デフォルトの名無しさん
垢版 |
2021/07/22(木) 13:38:58.29ID:0CBg/eZu
>>660
いえ、例でいうと
AとBっていうWebAPIがあったとして、
AはASP.net自身で作成したホームページからのみ実行可能で
Bは自身以外(例えばスマホからAJAX経由)でも実行可能としたいんです
NonActionだとただのメソッドになってしまうのでAからもAjaxでコールできなくなってしまいます
2021/07/22(木) 14:11:48.98ID:2BJFjQfb
公開ってのがCORSの制御のことなら、WebFormでも
ASP.NET Web API 2 でのクロスオリジン要求を有効にする
https://docs.microsoft.com/ja-jp/aspnet/web-api/overview/security/enabling-cross-origin-requests-in-web-api
の通りEnableCors属性で制御できるっぽいぞ

かるく試したが
Nugetでインストールして、有効にするのはGlobal.asaxのApplication_Startで
GlobalConfiguration.Configure(Sub(config) config.EnableCors())
とかやればいけるっぽい
2021/07/23(金) 11:04:39.77ID:MYFSNKEn
プログラム経験ゼロの初心者の質問ですみません。
勉強も兼ねて個人用の簡単なアプリケーションを作って使ってたのですが、.
.NET Framework 4.8で作ったのを試しに丸々.NET 5に移したところ1ループの処理が結構遅くなったんですがこれは仕様なんでしょうか?
フォルダパス入力すると中のログファイルから特定の条件満たす行があるファィルがあればパスを列挙して1ループ終了というごく簡単なものです。
フォルダパス入力→結果表示が、移植前は一瞬で表示されてたのが移植後は少し時間かかるようになりました。
途中の処理はForEachにEnumerateFiles使用し、ReadAllLinesとAny(Function)と簡単な正規表現パターンで抽出の繰り返しになります。文字コードはShift JISです。
2021/07/23(金) 14:28:50.90ID:xliiSqIt
5は起動が遅いとかよく聞くけど、それほんとに内部の処理が遅いのか?
ちょっとコード曝してみ
2021/07/23(金) 16:16:47.16ID:MYFSNKEn
>>664
遅くなった部分のコードはこんな感じに書いてます。初心者なもので下手な書き方ですが。
For Each I As Integer In Enumerable.Range(1, 1)
Console.WriteLine("フォルダのフルパスを入力してください")
FolderPath = Console.ReadLine().Replace(""""c, "")
If Not (System.IO.Directory.Exists(FolderPath) AndAlso System.IO.Directory.EnumerateFiles(FolderPath, "*.log").Any) Then
Console.WriteLine("無効なフォルダが指定されました。処理を終了します。")
Exit For
End If
Console.WriteLine("エラーありファイル")
FileCounter = 0
For Each item As String In System.IO.Directory.EnumerateFiles(FolderPath, "*.log")
If System.IO.File.ReadAllLines(item, System.Text.Encoding.GetEncoding("Shift_JIS")).Where(Function(r) r.Contains("hoge")).Any(Function(x) rx.IsMatch(x)) Then
Console.WriteLine(System.IO.Path.GetFileName(item))
FileCounter += 1
End If
Next
Console.WriteLine(vbCrLf & "処理終了 " & If(FileCounter > 0, "エラー処理してください", "すべてOK"))
Next
これを変数宣言部分と終わった後最初に戻るか終了するかの分岐で挟んでループさせてますが、そっちは特に変わらないようです。
2021/07/23(金) 17:18:43.28ID:xliiSqIt
それで遅いならまあ.NET5が遅いんじゃね
もうちょっとどこか遅いか細かく切り分けてみたら?
2021/07/23(金) 19:54:34.59ID:MYFSNKEn
>>666
ありがとうございます。
668663
垢版 |
2021/07/25(日) 12:19:26.96ID:Vrkkrk3V
>>666
DateTimeでループ1回ごとの処理時間を記録させて何回か回してみると、必ずアプリケーション起動時の初回だけ時間かかってる感じでした。
正規表現やエンコードを指定するのに時間かかるのかとも思いましたが時間測定する前にやってるので無関係っぽいです。
勉強がてらもう少し調べてみることにします。
2021/08/09(月) 17:37:58.68ID:st5/4ZlG
Excelの読み込みって古い形式に対応する場合はCOMを使うしかない?
NPOIはBIFF5(Microsoft Excel 5.0/95 ブック)は対応してなかった

ググったらやたらCOM否定する記事多いんだけど
よく見てみたら最新形式で書きだすのが前提の記事ばかりで
読み込みたい時の記事がない

客先から古いファイルがけっこう飛んでくるからバッチ止めたくないし手作業を入れたくない
EXCELを起動してRPAで再保存させる方法も考えたけどそこまでするならCOMのほうがいいと思ってる

COMがベストアンサーですか?
なんとかしてください。山岡さん
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を狙って作れるか確認してみよう
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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