X



C#, C♯, C#相談室 Part97
0001デフォルトの名無しさん (ワッチョイ d707-bKpv)
垢版 |
2022/12/21(水) 10:18:38.02ID:DxBIri9+0
!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512

■Visual Studio 2017 Community(無償の統合開発環境)等はこちら
http://www.visualstudio.com/downloads/

■コードを貼る場合はこちら
http://ideone.com/

■前スレ
C#, C♯, C#相談室 Part94
https://mevius.5ch.net/test/read.cgi/tech/1553075856/

■次スレは>>970が建てる事。
建てられない場合は他を指定する事。

C#, C♯, C#相談室 Part96
https://mevius.5ch.net/test/read.cgi/tech/1639965805/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
0004デフォルトの名無しさん (スッップ Sd8a-JDfe)
垢版 |
2022/12/22(木) 10:33:57.58ID:F1nh9mbrd
>>2
C#やJavaといった中間言語に比べたら、圧倒的に可読性が低いでしょ?
できる、できないの、ゼロか100かの議論ではないんだよ
可読性が低いほど、解析されにくくなる。
0009◆xETmWn3d3U (ワッチョイ f3b1-N2O4)
垢版 |
2022/12/22(木) 12:59:42.23ID:h+8LnyZL0
昔、機械語で書かれたとあるアプリをHEXエディタで開いたら、ASCIIコードで平文のままパスワードが埋め込まれてた事が有ったな
0010デフォルトの名無しさん (スッップ Sd8a-JDfe)
垢版 |
2022/12/22(木) 14:41:12.05ID:F1nh9mbrd
>>6-7
パスワードを暗号化とかして格納するとして、
その場合に暗号化のロジックコードをかんたんに読まれなければ
安全性はかなり高くなる。
0013デフォルトの名無しさん (アウアウウー Sa9f-bKpv)
垢版 |
2022/12/22(木) 15:06:15.12ID:HxQ/rgDMa
逆コンパイルするじゃん?
コンパイルしてデバッガ使うじゃん?
パスワード送信するところで止めるじゃん?
復号したパスワードを表示するかファイルに書き込むじゃん?
生パスワード手に入るじゃん?
0014デフォルトの名無しさん (スッップ Sd8a-JDfe)
垢版 |
2022/12/22(木) 15:27:07.06ID:F1nh9mbrd
>>13
その手順の詳細はやったことないのでデタラメかわからんが、
そもそもパスワード保存したストレージに他人がアクセスできないという
前提があるんだから問題はないだろう。共用するデバイスであれば、
パスワードを保存しない運用をすればいいだけだから。

あと証券とかセキュリティが重要なアプリはログインパスワードとは別に
取引パスワードとかもあるのが普通。
あとは出金とかのときはSMS認証とかもある会社が増えている。
要するにパスワードなどの認証はひとつである必要もないし、セキュリティ要件などに
あわせて併用すればいいだけ。
0015デフォルトの名無しさん (スッップ Sd8a-JDfe)
垢版 |
2022/12/22(木) 15:30:16.26ID:F1nh9mbrd
>>11
それそれ、たぶんいいたいかったのはそれ。
暗号化したら膨大な時間かけないと複合化できない。
だからハッシュ。
DBの中にもパスワードのハッシュ値を格納するのがふつうなんでしょ、たしか。

>>13
暗号化したものは容易に複合化できないわけだが?
量子コンピューターとかないと無理でしょ
思いつきでいいかげんなこと書いてるでしょ?
0017デフォルトの名無しさん (ワッチョイ 2a01-ekyc)
垢版 |
2022/12/22(木) 16:02:26.76ID:Qca7zyGd0
>native codeじゃないとかんたんに
>サーバーの認証のコードが漏れちゃうでしょ
>セキュリティ大事

発端はコレでしょ?
ハッシュでも暗号化文字列でもクライアントに共有シークレット埋め込んでる限り脆弱
少しスキルのある人間に悪用されるのは致し方ないと諦められるものじゃなければ仕組みを変える必要がある
0022デフォルトの名無しさん (ワッチョイ 535f-f2OJ)
垢版 |
2022/12/22(木) 16:58:48.83ID:iWtJ1OLb0
そんな次元なの?

パスワードの判明ならそれこそパスワードが合ってたかどうか、のif文に相当する命令を反転させたりnopにするという古典的な方法で別にパスワードがどうでも良くなるでしょ。そんなネイティブコンパイルされるか否か程度が問題なら。

アタッチして、パスワードが違うぞってダイアログ出てる状態からジャンプを逆に辿るだけなのでテクニックも何も無い。

何の意味も無くない?
0025デフォルトの名無しさん (ワッチョイ 535f-8Cre)
垢版 |
2022/12/22(木) 18:58:21.99ID:y9FZhiQ70
悪用って犯罪じゃないの?
警察どこいった?
0028デフォルトの名無しさん (ワッチョイ f34b-IkUo)
垢版 |
2022/12/26(月) 17:01:22.79ID:OeooOgrR0
以下のurlにあるライブラリを使ってrar5形式の書庫内にあるファイル一覧を取得しようとしたのですが取れませんでした。
ライブラリのソースを見ましたが、単に7z.dllの内部にある関数を呼んでいるだけのようでした。
7z.dll同梱の7z.exeでファイル一覧の取得、解凍できるのは確認しています。
何が原因かわかる方いらっしゃいますか?

7z.dllのバージョンは21.7.0.0
VisualStudio2019でビルドしました。

ttps://www.codeproject.com/script/articles/viewdownloads.aspx?aid=27148
0035デフォルトの名無しさん (ワッチョイ 4e10-Rw9z)
垢版 |
2023/01/02(月) 14:11:18.53ID:AlCNR49a0
C#ってC言語で作ったdllを呼べるけど、
そのdllが暗号化されていたのものでもメモリ上で複合化しながら呼べますか?
0038デフォルトの名無しさん (ワッチョイ 4e10-Rw9z)
垢版 |
2023/01/02(月) 20:19:04.23ID:AlCNR49a0
>>37
ありがとうございます
0040デフォルトの名無しさん (ワッチョイ 5b4f-9j0N)
垢版 |
2023/01/05(木) 11:22:59.00ID:ltDktvBL0
DLLを動的ロードして関数ポインタを取り出す部分はどっちかというとOSの仕事だしそこはDllImportとかに任せて
関数ポインタさえ手に入れば
.NET 2.0からデリゲートに変換できるメソッドがあるし
C# 9.0でそのまま扱うこともできるようになったよ
0044デフォルトの名無しさん (ドコグロ MMf7-ETcA)
垢版 |
2023/01/06(金) 00:26:12.47ID:rNk5rLcjM
とあるクラスにあるすべてのプロパティを読み取り専用にしたいんだけど、なにか良い方法ありますか?
やっぱり継承してプロパティの数だけ読み取り専用プロパティで定義するしかない?
0045デフォルトの名無しさん (スプッッ Sdba-kLll)
垢版 |
2023/01/06(金) 07:59:18.36ID:vZ5ptmnXd
継承させたところで元クラスにアップキャストされたら終わり
constにさせる方法はたぶんないと思う
0049デフォルトの名無しさん (ワッチョイ 9365-IAh0)
垢版 |
2023/01/06(金) 14:27:10.69ID:zhrc9IIn0
いや継承は必要なくて、C++なら単にそのクラスのインスタンスを格納する変数や引数の型をconstにするだけで読み取り専用になるよ
TypeScriptもReadOnly<X>とするだけで簡単に読み取り専用のXの型を作れる
0051デフォルトの名無しさん (アウアウウー Sac7-7txW)
垢版 |
2023/01/06(金) 17:46:49.43ID:MJJvxMZsa
>>50
どうやるの?
0053デフォルトの名無しさん (アウアウウー Sac7-IAh0)
垢版 |
2023/01/06(金) 20:12:53.98ID:KHJficEWa
>>52
C++のconstの場合は、フィールドが全て読み取り専用になり、読み取り専用(const)としてマークされたメソッドしか呼べなくなる
TypeScriptのReadonly<>の場合は、全プロパティが読み取り専用になった「型」が生成される
TypeScriptというかJSではメソッドは単に関数を返すプロパティなので、メソッドの内容には特に関知しない
0059デフォルトの名無しさん (スッププ Sdb3-BvPj)
垢版 |
2023/01/07(土) 13:51:35.25ID:unZBLw7Xd
質問者は既存のミュータブルなクラスのプロパティを読み取り専用にしようとしている
>>54だと同じプロパティを全部定義し直さなきゃいけないし、元のクラスからコピーする手間も必要だ
>>49の方法であればプロパティを定義し直す必要もコピーする必要もない
0064デフォルトの名無しさん (ワッチョイ 9301-GR7q)
垢版 |
2023/01/07(土) 17:38:18.83ID:mDCtTa800
君たち的に.NET MAUIでandroid,iphone,WindowsでC#のネタ帳的なの作ったら協力してくれる?
小ネタ集みたいなのを各々がSQLで保存してそれをカテゴリ分けで見れるようにするやつ
例えばRestAPI関係だったりの基本的な書き方を表示したりできる
ネットで調べれば一発だが1つにまとまってるのは利点かと、、、
0065デフォルトの名無しさん (ワッチョイ 1176-1Rsz)
垢版 |
2023/01/07(土) 17:48:11.52ID:odL5Q3k30
wiki立ち上げればええやん
0067デフォルトの名無しさん (ワッチョイ b101-phWz)
垢版 |
2023/01/07(土) 18:08:54.54ID:St5PAkDm0
winui3でよくね?
0068デフォルトの名無しさん (オイコラミネオ MM5d-DSRP)
垢版 |
2023/01/07(土) 18:14:01.42ID:FC273Y3JM
と言うよりいい加減いくつフレームワーク立ち上げれば済むんだよ

モバイル関連は全部html+jsにしてデバイスを仮想サーバにしてそいつにREST api投げてjsonでセンサ値とか取るようにすればいい
そしたらもう再生産しなくていい
0070デフォルトの名無しさん (ワッチョイ 9301-GR7q)
垢版 |
2023/01/07(土) 18:24:07.38ID:mDCtTa800
>>69
なるほど
0073デフォルトの名無しさん (ワッチョイ b101-phWz)
垢版 |
2023/01/07(土) 18:44:15.99ID:St5PAkDm0
ここにまでマウイ出張ってきたか
ちゃんとワッチョイを恐れろよ
0077デフォルトの名無しさん (ワッチョイ 515f-DWwd)
垢版 |
2023/01/07(土) 22:07:32.34ID:8LnSupdD0
>>64
> 例えばRestAPI関係だったりの基本的な書き方を表示したりできる
今からこの手のサービスやってもCopilotに勝てないだろ
0078デフォルトの名無しさん (ワッチョイ 9301-GR7q)
垢版 |
2023/01/07(土) 23:32:10.91ID:mDCtTa800
>>77
copilotって別にこれしたいって言えば全部記入してくれるわけじゃなくね?
俺としてはあぁRestAPIの使い方ど忘れした~
なんだったっけ???ってGoogleで調べる時間をアプリで素早く検索できるって感じのものを作りたいかな
2,3回やったことあるやつでもどうだったっけ?って忘れることままある
まぁGoogleとかでいいんだけど1つのアプリにまとまってるってのはなかなか便利なんじゃないかなと…
0079デフォルトの名無しさん (ワッチョイ 9301-GR7q)
垢版 |
2023/01/07(土) 23:32:40.09ID:mDCtTa800
自分で追加もできるしな
0083デフォルトの名無しさん (ワッチョイ 1176-1Rsz)
垢版 |
2023/01/08(日) 16:25:49.80ID:+2bxRzY60
A a=new B(); とかで、実体がB型かもしれないならBにキャストすればいい。
A a=new A(); でA型そのものだったらそもそもこの話は成立しない。

list.Add((B)a);
0085デフォルトの名無しさん (ワッチョイ 9301-GR7q)
垢版 |
2023/01/08(日) 16:50:26.87ID:+xzWagUM0
>>80
継承じゃなくてBクラスにAクラスのプロパティのリストを入れる場合はたしかいけたぞ
0090デフォルトの名無しさん (ワッチョイ b101-tb1I)
垢版 |
2023/01/10(火) 19:16:36.48ID:0yW4rCRf0
C言語の重力付き4目並べです、ここのコードを簡略化したいです。

int SetXpos(int player) // コマの置き場所を入力または探して盤を更新,コマの置き場所(0-6)を返す
{
int xpos = 0; // コマの置き場所
if ((choice == 2 && player == 2) || (choice == 3 && player == 1)) // コンピュータとの対戦の場合に,コンピュータの手を計算
{
xpos = ComputeXpos(player);
printf("%sの番です\n", player == 1 ? "●" : "〇");
printf("コンピュータは%dに置きます\n", xpos);
}
else // 人間の手を選択
{
while (1)
{
printf("%sの番です\n", player == 1 ? "●" : "〇");
printf("どこに置きますか? 0-6の数字を半角で入力してください: ");
scanf_s("%d", &xpos);
if ((0 <= xpos && xpos < XMAX) && (num[xpos] < YMAX)) // 置ける場所かどうか判定
break;
printf("%dには置けません!\n", xpos);
}
}
board[xpos][num[xpos]++] = player;// コマをxpos列に置き,xpos列のコマ数を1増やす
return xpos;
}
0092デフォルトの名無しさん (ワッチョイ 137c-Or7w)
垢版 |
2023/01/10(火) 19:32:45.96ID:IC+XgAqf0
そもそもC#のスレだからすれ違いだがw

printf("%sの番です\n", player == 1 ? "●" : "〇");
をifの前にするとか(それぞれにあるから冗長)
プレイヤーの処理もPlayerXpos()とかに出すとかすれば良いのでは?
0093デフォルトの名無しさん (ワッチョイ b101-tb1I)
垢版 |
2023/01/13(金) 06:38:18.48ID:CqT5d+dn0
ありがとうございます
0094デフォルトの名無しさん (ワッチョイ ca01-FIs7)
垢版 |
2023/01/15(日) 19:05:41.63ID:CnKOeOE30
Shift-JISの文字列をutr-8に簡単に変換する方法ってありますか?
やはり一度Stream(バイナリ)に変換する必要があるのでしょうか
0096デフォルトの名無しさん (ワッチョイ ca01-FIs7)
垢版 |
2023/01/15(日) 19:25:34.21ID:CnKOeOE30
>>95
つまりstringの状態でencodingは可能なのですか?
0097デフォルトの名無しさん (ワッチョイ ca01-FIs7)
垢版 |
2023/01/15(日) 19:28:04.22ID:CnKOeOE30
C#でRestAPIを投げてブラウザ側から貰ってくる文字列はShift-JISらしい
それでC#はutr-8で表記されるため変換(Encoding)が必要になるのです
0100デフォルトの名無しさん (ワッチョイ 954f-wtyD)
垢版 |
2023/01/15(日) 22:56:10.93ID:AxXMsEIz0
そのREST APIをどうやって呼び出してるのか知らんけど
真っ当なサーバならContent-Typeにcharset設定してて
一般的なライブラリなら文字列として読み取るときにcharset参照して適切に文字列型に変換してくれる
から特にプログラマが考えることはない
これらの前提が崩れてるなら文字列として読み取るんじゃなくてバイト配列として読み取って
System.Text.Encodingクラスを使ってバイト配列をstringに変換する必要がある
この場合変換先の符号化形式を考える必要はなくてShift_JISをstringに変換することだけ考えればいい

もしライブラリの都合でstringとして受け取ることしかできなくて
かつその時点で文字化けが出るようなら
それはもうどうしようもないので使うライブラリを変える必要がある
0103デフォルトの名無しさん (ワッチョイ ca01-FIs7)
垢版 |
2023/01/16(月) 01:06:54.26ID:Iz2auSAp0
>>100
なるほど
助かります!
0106デフォルトの名無しさん (アウアウウー Sa91-5Koo)
垢版 |
2023/01/17(火) 19:13:35.87ID:reGY8TLTa
charsetのタグいれればええんかね
0110デフォルトの名無しさん (ワッチョイ 211d-+AQV)
垢版 |
2023/01/18(水) 21:51:34.28ID:oIAAyMph0
win32APiのChangeDisplaySettingsExをC#から呼び出して、
モニタのポジションを変更してるんだけど、
変更直後にScreenのBoundsから値をとっても値が変化しない・・・
アプリ再起動するとちゃんと変わってる。
ディスプレイの設定ってレジストリに保存してるから、もしかして
アプリ再起動しないとScreenクラスのBounds反映されない?
アプリ再起動せずになんとかする方法ないですかね?
0112デフォルトの名無しさん (ワッチョイ 954f-wtyD)
垢版 |
2023/01/18(水) 22:14:35.47ID:/+rmiMsB0
Screenオブジェクトフィールドに保存してたりする?
毎回Screen.AllScreensとか.PrimaryScreenとかから取得すればどう?
ところでSystemEvents.DisplaySettingsChangedイベントは発生してる?
0119デフォルトの名無しさん (ブーイモ MM2e-laSj)
垢版 |
2023/01/19(木) 10:51:30.57ID:Iv2veF3WM
>>113
コンパイル時に型チェックしたいなら既存の型をインターフェースで定義し直して呼び出し側も修正
でもこういう変更が必要な状況はほとんどないのでコンポジションで移譲するケースなんじゃないかな

>>117
トレイトでもインターフェースでも同じだよ
0122デフォルトの名無しさん (ワッチョイ 06bb-JXbu)
垢版 |
2023/01/19(木) 11:31:03.31ID:kysdIh6r0
質問内容はクラスをまとめたいってことなので、ずれちゃう話にはなるけどさあ
(フレームワーク等を使う場面を除いて)初心者中級者のうちにクラスを継承をしようと思ったら設計段階でおかしいので、正解はどうするべきなのかを聞いた方がいいんじゃないのかな
0124デフォルトの名無しさん (ドコグロ MM21-ha7Y)
垢版 |
2023/01/19(木) 12:21:58.33ID:tEHmCOQcM
やりたいことは
いくつかのプロパティを持つデータを格納するだけのクラスAがある
クラスAにバインド用のプロパティをいくつか追加したクラスBを作って、それのリストをDataViewにバインドしたい

AとBのすべてのプロパティを書いたクラスCを作ればできるけど、なんとかして少ないコードで実現したいです
0129デフォルトの名無しさん (オイコラミネオ MMe5-7DGa)
垢版 |
2023/01/19(木) 18:00:00.70ID:pNQOSNx5M
ここですら見かけない超クソ黒魔法もあるけど全くお勧めしない

普通にコンポジションで書くのが正解じゃないかな
アンマネージドなものをラップするのと変わらない
手書きでも自作コードジェネレータでもどうぞ
0131デフォルトの名無しさん (ワッチョイ 29a7-w88e)
垢版 |
2023/01/19(木) 19:44:59.20ID:cZ+iShes0
やりたい事は理解できる
構造体を合体させるにあたりフィールドで保持すれば良いというのはその通りなんだがアクセス手段が冗長になるのは嫌っていうワガママな気分によくなる
C++のように素直に構造体継承や多重継承認めてくれって思う事は頻繁にある
0139デフォルトの名無しさん (ワッチョイ e379-TshA)
垢版 |
2023/01/21(土) 16:52:35.79ID:H5hcEaoi0
C#は基本的に
・static寄せ集めユーティリティのクラス
・必要な画面フォームのクラス
・メインプログラムのクラス
この3つ以外要らないのだよ
意識高い系が説くMやらVに振り回されてはいけないのだよ
変な抽象化は問題をややこしくするだけだと学ぼう
0145デフォルトの名無しさん (ワッチョイ 5301-bbWX)
垢版 |
2023/01/22(日) 12:53:40.50ID:8KSe/b5e0
最近MVVMのほうが楽じゃね?って思ってきた
楽しいし
0146デフォルトの名無しさん (ワッチョイ 5301-bbWX)
垢版 |
2023/01/22(日) 12:54:24.84ID:8KSe/b5e0
これもすべてソースジェネレーターのおかげかもしれん
さすがC#
0147デフォルトの名無しさん (スッププ Sd1f-OsG9)
垢版 |
2023/01/22(日) 17:03:04.26ID:jvNfJ0Pqd
>>139
うちがWindowsの業務クライアントアプリ系を委託してるソフトハウスがまさにこんな感じだわ
イベントハンドラからSQL投げてる
ただしstaticユーティリティクラスではなく共通の神フォームクラスがあって、全てのフォームがそれを継承する形
まあレベル低すぎて開発もクソ遅いから、負債自体はそれほど量が多くないのは救いかな
0148デフォルトの名無しさん (ワッチョイ e379-TshA)
垢版 |
2023/01/22(日) 18:32:18.54ID:xRK/d49A0
>共通の神フォームクラスがあって、全てのフォームがそれを継承する形
こういうのよくないな
神クラスのメンテナが異動だかで居なくなだけで誰も保守できない砂上の楼閣アンチパターンに嵌るね
0159デフォルトの名無しさん (ササクッテロラ Spc7-H1Sa)
垢版 |
2023/01/23(月) 10:09:44.77ID:2/794eE6p
>>156
そんなんちゃんと契約書にOSのバージョン指定しとかない会社が悪い
OSバージョンアップされたら何起こるか分からないんだから
最悪作り直しだってあるし、そんなん瑕疵理由にされたらたまらないだろ
0164デフォルトの名無しさん (ワッチョイ d31d-QR4B)
垢版 |
2023/01/24(火) 10:27:18.73ID:yL08sSgL0
ディスプレイ設定の
マルチディスプレイの
複製表示するだとか拡張表示するだとかの設定を
プログラムで取得できますか?
0167デフォルトの名無しさん (オイコラミネオ MM07-88l+)
垢版 |
2023/01/24(火) 17:43:09.31ID:hrk0Jab5M
>>164
.Netのフレームワーク抜きにして

基本的にwindowsの情報はwin32 apiかwinRtかで取得できる
楽かどうかは不明だけど両方ともC#ではアクセスできる

それ以外にレジストリの情報だけと言う場合もあるけど
0169デフォルトの名無しさん (ワッチョイ d31d-DmZS)
垢版 |
2023/01/25(水) 10:31:48.06ID:1QUndYzE0
>>166
WMIの存在知っていて、Monitor〇〇は見てみたんですけど、モニタごとの
情報は取得できるけどマルチディスプレイの設定は見当たらないんですよね。

>>167
win32apiも見たんですが、やはりモニタごとの設定は取得できるんですが、
マルチディスプレイの設定みたいなのが見当たらなかったです。
0171デフォルトの名無しさん (ワッチョイ cf10-nezH)
垢版 |
2023/01/25(水) 11:37:43.88ID:HF2K9cvb0
>>169
上の人が書いているけど、レジストリっぽいですね。

DisplaySwitch.exeによる切り替えは結構ヒットするんだけど、情報取得はみつけられなかった。

WindowsAPIだと、

SetDisplayConfig
QueryDisplayConfig

あたりがそれっぽいのかも?
詳しい人の回答を期待w
0172デフォルトの名無しさん (ワッチョイ 0301-N1F8)
垢版 |
2023/01/25(水) 12:37:42.36ID:SKrgZEWi0
マルチディスプレイの設定って具体的に何よ
最終的に何の項目の値が欲しいのよ
コンパネや設定アプリのこの項目ですとかそういうの書きなさいよ
0174デフォルトの名無しさん (ワッチョイ 636e-ffW7)
垢版 |
2023/01/25(水) 14:06:15.04ID:VgR3j9B70
C言語から入った人間なのでexeファイル=機械語と思いこんでたけど違うんですね……
中間言語?CLR?いやC#もexeファイル作成されるじゃんどういうこっちゃと思ってました
えーっとC#のexeファイルは中間言語で出来てるって理解であってます?つまりexeだけど.net入ってないPCじゃ実行できないってことですよね?
0175デフォルトの名無しさん (エムゾネ FF1f-N1F8)
垢版 |
2023/01/25(水) 14:08:37.83ID:6qMSPLxFF
ならその画面出してキャプチャして画像解析でもすりゃええやん
0176デフォルトの名無しさん (ワッチョイ 638e-RQPf)
垢版 |
2023/01/25(水) 16:47:40.06ID:lfyXBnaV0
>>174
C言語から入ったからじゃない
お前が無知なだけ
0182デフォルトの名無しさん (ワッチョイ 6f79-gNeF)
垢版 |
2023/01/26(木) 15:37:19.08ID:O3LYxWam0
プログラミン好きじゃないけど、稼ぐ手段と考えたら上達しないんですかね?
ていうか、うまく出来もしないのに好きでいることなんて出来るでしょうか
成果が出て好きになるのでは?
0187デフォルトの名無しさん (ワッチョイ 0301-N1F8)
垢版 |
2023/01/27(金) 01:10:49.54ID:unSIwQ1w0
駆け抜けてゆく 私のメモリ外♪
0188デフォルトの名無しさん (ワッチョイ 6301-jGE9)
垢版 |
2023/01/27(金) 18:21:50.28ID:01PH/qCE0
ここで聞いていいのかわからんけど
WinUI3
Windows App SDK
MAUI
こいつら並行して存在してるみたいだけど関係性ってどうなってんの?
UWPはディスコンになったって理解でいいの?
0189デフォルトの名無しさん (ワッチョイ 0301-N1F8)
垢版 |
2023/01/27(金) 21:43:33.88ID:unSIwQ1w0
多分Microsoftも分かってない
0190デフォルトの名無しさん (ワッチョイ ff7c-88l+)
垢版 |
2023/01/27(金) 21:49:53.26ID:P0p3cJ8l0
本当はMSも新しいものにシフトしたいけどWin32は捨てられないし
レガシー無視ならWindowsである必要が無くなるからなぁ
なんやかんやでwebの技術でアプリは作れる時代だし
XAMLなんかはそろそろ辞めた方が良い気がするんだよなぁw
0191デフォルトの名無しさん (オイコラミネオ MM07-88l+)
垢版 |
2023/01/27(金) 22:49:09.08ID:Ze4DWSK5M
>>188
それ全部層が別なんだ
以下俺の理解

まず下に行くほど上位層になる
様々な状況を無視して強引にフォルダにしてみると
c:\MAUI\Windows App SDK\WinUI3

・WinUI3
windows用の新しいGUIライブラリ
C++で書かれててc++にもXAMLの恩恵が前より受けられるらしいのだが魔術に近いコードを書かされるゴミ
目新しさだけで近づくと絶望感しか感じられない残念なプロダクト



・Windows App SDK
windows上で現在色んな技術 win32 winrt winUI3 などがごちゃごちゃにあって
それを統一的には無理だけどアクセスできるレベルに合体させようと言う残念な仕組みのゴミ
この世にドラゴンボールのフュージョンはないと思い知らされる凄いプロダクト



・MAUI
マルチプラットフォームでiPhone,android,windowsなどいろんなシステムを横断して最大公約数的に使う仕組み
本来は開発工数が下がるはずなのだが個々のシステムをかなり理解していないと何もできないゴミ
各プラットフォームでの学習+MAUIの学習と言う学習時間フルコースプロダクト
ある意味超人オリンピック
0197.NET MAUI HighSchool (ワッチョイ 9a01-mpM/)
垢版 |
2023/01/28(土) 07:46:47.27ID:Akv+btg40
>>195
ElectronってVScodeだけじゃね?
OfficeとかWinUI3っぽいしVSもC#じゃんね?
UnityもUI部分の画面はC#みたいだぞ
0199デフォルトの名無しさん (ワッチョイ e301-s91j)
垢版 |
2023/01/28(土) 09:48:55.24ID:p3y/mDFs0
>>191
ありがとう

そりゃいつまで経ってもWinFormsが無くならんわけだわ
なんなら一番成功してるまである
0202デフォルトの名無しさん (ワッチョイ e301-s91j)
垢版 |
2023/01/28(土) 10:42:44.43ID:p3y/mDFs0
>>200
VS2022でなんか対策入ってなかったっけ?
0203.NET MAUI HighSchool (ワッチョイ 9a01-mpM/)
垢版 |
2023/01/28(土) 11:23:23.91ID:Akv+btg40
>>202
.NET7じゃね?
0210デフォルトの名無しさん (ワッチョイ 0b01-9yTq)
垢版 |
2023/01/28(土) 18:34:56.52ID:x9KLfrKP0
WinFormsだけを強化/ブラッシュアップして行くだけでいいのに
今現在Microsoftが決定してることは全部間違った方向
0211.NET MAUI HighSchool (ワッチョイ 9a01-mpM/)
垢版 |
2023/01/28(土) 18:37:51.27ID:Akv+btg40
>>207
正直余裕
0212.NET MAUI HighSchool (ワッチョイ 9a01-mpM/)
垢版 |
2023/01/28(土) 18:39:12.56ID:Akv+btg40
HTML,CSS,JavaScriptほど密結合の強い組み合わせないと思うけどな
WinFormもそうか
0213デフォルトの名無しさん (アウアウウー Sa47-rfgy)
垢版 |
2023/01/28(土) 18:51:54.18ID:DKSWYQK4a
>>206
現実には無いね
Web開発ではHTML/CSSですら自分で書けるデザイナーは稀であり、デザイナーはお絵描きするだけでHTML/CSSはエンジニアが書くのが普通だ
ましてやC#エンジニアしかまず目にしないXAMLを扱えるデザイナーなんて存在しない
0216デフォルトの名無しさん (ワッチョイ e301-s91j)
垢版 |
2023/01/28(土) 21:27:00.01ID:p3y/mDFs0
XAMLでも何でもいいから
ひとつこれと決めてしっかり枯れるまで面倒見てほしい
0219デフォルトの名無しさん (ワッチョイ 8379-jh2e)
垢版 |
2023/01/29(日) 01:16:07.51ID:R24XfIrD0
>>209
>Windowsデスクトップアプリの次のスタンダードはWebView2に決定してるよ
もう2ひねりぐらいしないとコレ常用は厳しいなあと思う
HTAの再発明の上に実行環境がフォルダ掘ったりで劣化しとるのにスタンダードになるとは到底思えない
外人にも概ね評判悪いみたいだし
0226デフォルトの名無しさん (ワッチョイ e301-s91j)
垢版 |
2023/01/29(日) 13:27:12.72ID:8bst+jr10
GUI黎明期は間違いなくコードでUI記述してたわけで
先人がこれはあかんと否定してきたものを今更リベンジさせる必要があるんだろうか
0227.NET MAUI HighSchool (ワッチョイ 9a01-mpM/)
垢版 |
2023/01/29(日) 13:50:59.81ID:i3THky500
今WinUI3で5chブラウザ作ってるんだがレスのアンカーだのハイパーリンクだと画像のリンクだのを抜き出す処理を考えてるんだがどうしたものか迷ってる
当然その書かれた位置にそのボタンやリンク貼り付けなきゃいけないんだがアンカーやリンクとその他記事は同じ行にはない(<br>で区切られてる)と仮定して<br>でSplitかけて行ごとでRegexとかを行おうと思ってるけどこの方法あってるか?
0228デフォルトの名無しさん (ワッチョイ e301-s91j)
垢版 |
2023/01/29(日) 13:55:11.83ID:8bst+jr10
>>227
自前でパーサー書くよりもその手のスクレイピングライブラリは数多あるからそれ使った方が早いと思う
0230デフォルトの名無しさん (アウアウウー Sa47-6BSU)
垢版 |
2023/01/29(日) 15:15:12.51ID:Inli+tITa
WebViewならこれでlinkClickedにjsで独自処理書くなりそこからC#呼び出しするなり

<a xxx="~" href="~" yyy="~" >○○○</a>

<span class="link" data-info="ここに情報を入れる" onclick="linkClicked(this.getAttribute('data-info'))"
>〇〇○</span>
0233.NET MAUI HighSchool (ワッチョイ 9a01-mpM/)
垢版 |
2023/01/29(日) 16:56:28.41ID:i3THky500
>>229
置換だとコントロールが作れない(ハイパーリンクコントロールなどがそれぞれ必要)
0234.NET MAUI HighSchool (ワッチョイ 9a01-mpM/)
垢版 |
2023/01/29(日) 17:00:22.89ID:i3THky500
WebViewでいけたらいきかったけどMVVMのBingingができんかった…(要素名.NativeToString(HTML))なんだけどXAMLにそれがなかったわ…orz
0236デフォルトの名無しさん (ワッチョイ 1a42-+rQD)
垢版 |
2023/01/29(日) 18:01:46.16ID:1KUwXnGJ0
>>234
1.ビヘイビアを作る
2.ユーザーコントロールにWebViewのっけて依存関係プロパティーを設置してVMからコントロール
3.サービスを作ってVでWebViewのっけてからVMにインジェクションする

このどれかが普通かな?
0237.NET MAUI HighSchool (ワッチョイ 9a01-mpM/)
垢版 |
2023/01/29(日) 19:07:46.52ID:i3THky500
>>236
なるほどサンクス2が簡単そうかなぁ
0238デフォルトの名無しさん (ガックシ 0663-cnaq)
垢版 |
2023/01/29(日) 19:21:55.55ID:XFhpsu3B6
初歩的な質問だと思うが書き込み失礼
win32APIでArduinoとシリアル通信をするコードを書いてる
static void Main(string[] args)
{

SerialPort serialPort;

serialPort = new SerialPort("COM3", 9600, Parity.None, 8, StopBits.One);
serialPort.Open();

while (true)
{
var pt = GetCursorPosition();
Console.WriteLine($"X:{pt.X} Y:{pt.Y}");

if ((pt.X > 500) && (pt.X < 1000) && (pt.Y > 300) && (pt.Y < 600)) {
serialPort.Write($"X:{pt.X} Y:{pt.Y}");
}
else
{

}

Thread.Sleep(100);
Console.Clear();

}

serialPort.Close();
}
Mainの部分がこんな感じなんだが、if文の中にマウスカーソル位置の範囲指定をしていて、カーソルがその範囲に入るとシリアル通信が始まってArduinoに接続したモータが動く(ここまではできた)
でも指定範囲を出るとそのモータが初期位置に戻るコードがうまく書けない。C#側でシリアル通信を中断して初期の段階に戻すような方法ある?elseの中に何書けばいいかわからない。
0239デフォルトの名無しさん (ワッチョイ 8379-jh2e)
垢版 |
2023/01/29(日) 19:50:03.63ID:R24XfIrD0
>>238
else
{
serialPort.Write(初期位置);
}
で何か問題あるのかな?
初期位置が何を示すのか知らんけど、シリアルはフロー制御なしなら基本垂れ流しになるから、
開始とか中断の概念は持たない
else節で100ms毎に初期位置座標を送り続けるのが嫌なら送信フラグでも持って送ったか判定すればいいのでは
0240デフォルトの名無しさん (スップ Sd5a-xF8Z)
垢版 |
2023/01/29(日) 20:04:34.68ID:qu76jy1yd
シリアル通信ってただのbyte列のやり取りでしかなく、中断とかの概念は存在しない。
Arduino側はreadlineかscanfかやってるだけでしょ?

この場合はifのtrue側で$"set:{},{}"、false側で$"default:"を送るのがいいんじゃない?

「初期の段階に戻す」とやらが何をするのかは知らんが、C#側が黙ってたらArduinoは何もできない
0241デフォルトの名無しさん (ガックシ 0663-cnaq)
垢版 |
2023/01/29(日) 20:11:58.96ID:XFhpsu3B6
>>240
Arduino側はSerial.availableで信号読み取ってる
それがいけないのか
初期の段階に戻すのは、(Arduino側でサーボモータの初期位置を0度にしてるから)指定範囲を出るとサーボモータが0度戻るようにしたい。(つまり信号が送られる前の状態に戻したい)
でもあんまりArduinoの話すると板違いって発狂するだろ
0245デフォルトの名無しさん (ワッチョイ 0e02-cnaq)
垢版 |
2023/01/30(月) 11:22:46.40ID:SqjDQYar0
>>243
ツンツンしてんな~
相談室なんだからいいだろ
0246デフォルトの名無しさん (ワッチョイ ffad-+rQD)
垢版 |
2023/01/30(月) 19:52:43.52ID:afDHhw4l0
パソコンのWebから秀丸の文書を開きたいのです。例えば、C:\\Data\\sample.txtというファイル
で、URLスキームというのを見つけました。
https://qiita.com/kojimadev/items/74100c8557a92939ef69
ここでレジストリにHidemaruを設定したら、秀丸を起動はできました
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\XXX]
@="URL:Hidemaru Protocol"
"URL Protocol"=""
[HKEY_CLASSES_ROOT\Hidemaru\shell\open\command]
@="\"C:\\Program Files (x86)\\Hidemaru\\Hidemaru.exe\" \"%1\""
ですが、%1 のところですが、ブラウザから呼ぶときに
Hidemaru:C:\\Data\\sample.txt
としても、Hidemaru:C:\\Data\\sample.txt というフルパスが秀丸に与えられて頭のHidemaru:が邪魔になります
なので、このスキーム部を削除するために、ここではC#を使って加工しているのですが、このC#はどこにどう配置したらいいのでしょうか
私はC++等のプログラムはできますが、C#とかは初めてです
このC#はクライエントのhtmlファイルに<script></script>とかに入れてつくるのでしょうか。やってみたのですがうまく動きません
どうしたらいいでしょうか?
クライエントは、簡単に
<!DOCTYPE html>
<html>
<head>
<title>テスト</title>
</head>
<body>
<a href="Hidemaru:C:\\Data\\sample.txt">sample.txtへのリンク</a>
</body>
</html>
としました
0247デフォルトの名無しさん (ワッチョイ db4f-P3d0)
垢版 |
2023/01/30(月) 20:11:57.30ID:q0Wux2Rd0
なんか勘違いしてるっぽいな
URLスキームで、hidemaru.exeではなくて自作のexeに関連付けて、
自作のexeでmainに引数として渡されてきたURLを加工して
hidemaru.exeを改めて起動するって話だよ
C#でないとできないことではないし、C++に慣れてるならそれでCreateProcessすればいいんじゃない?
0248デフォルトの名無しさん (ワッチョイ ffad-5T4A)
垢版 |
2023/01/30(月) 21:34:40.15ID:afDHhw4l0
ああ、そういうことかあ、2段階踏まないとダメなのね
自作の簡単なC言語のHello!みたいのを作ってその引数に
http:---が入ってきてそれを加工して秀丸を起動しないといけないってこと?
htmlファイルだけで直接起動は出来ないのね
0251デフォルトの名無しさん (アウアウウー Sa47-DSsr)
垢版 |
2023/01/31(火) 05:00:45.55ID:JnYo5yDia
もし、ブラウザのHTML から、ローカルPC 内にアクセスできたら、
世界中のパソコンが乗っ取られているはずw

ローカルPC内で起動しているサーバーを通さないと、アクセスできないはず

Ruby on Rails などのLinux ウェブ系をやっていない、
Windows の香具師は、平気で恐ろしい事を考える
0252デフォルトの名無しさん (ワッチョイ 3b5f-Cojd)
垢版 |
2023/01/31(火) 07:03:33.59ID:eeFPm4F70
>>246, 248
カスタムURLスキームでそういうことをする場合は、わざわざC#で作らずとも、一旦WindowsビルトインのWSH(JScript)で中継してパラメータをサニタイズするといいよ(レジストリ登録(*)さえ済ませておけばどこでも動く)

(*)下記のようにwscript.exeに対して「パラメータをサニタイズ+それを任意のプログラムに渡して起動するJScriptのパス」と「パラメータ」を渡す
C:\Windows\System32\wscript.exe "C:\script.js" "%1"
0255デフォルトの名無しさん (オイコラミネオ MM63-+rQD)
垢版 |
2023/02/02(木) 21:06:57.50ID:pqzuUQeLM
いい加減MAUI君に構うのはやめろよ
全然C#固有の問題じゃないし…

winforms,WPF,ストアアプリ、UWPで専ブラ作ってたけど
そういうところも含めて自分で考えて実装するのが醍醐味じゃないのかなあ?

考えてもわからないなら過去にオープンソースで開発されたものがたくさんあるんだからそれを見て見るとかやりようがあるんじゃないかと
0257デフォルトの名無しさん (ワッチョイ 1301-ksrJ)
垢版 |
2023/03/07(火) 21:33:28.99ID:eLRrbAoH0
C#の妙技はイベントにあり
0259デフォルトの名無しさん (アウアウウー Sa89-lsaJ)
垢版 |
2023/03/11(土) 12:56:48.21ID:nD1lGm6ya
皆さんnintって使ってますか?
他とやり取りすることなく、メソッド内で完結するただの変数として使う場合、とりあえずintを使いますよね
でも今後64, 128ビット幅が主流になったときを考えれば、nintって書いといた方がいいですよね?(そんな時代がくるかはともかく)
少なくともコンパイルされた時点でnintはintと同等かそれよりも効率がいいと(個人的に)思うんですが、でも誰もnintなんて使っていません
32ビット(何なら8でも)以上あれば問題ない、というケースでnintを使わない場合というのは、単にintの方が慣れてるからだけなんでしょうか?
0260デフォルトの名無しさん (スップ Sd7a-s0vD)
垢版 |
2023/03/11(土) 13:18:11.95ID:EyA4I9HNd
nintとnuintはIntPtrとUIntPtrの別名なので、ポインタ(かポインタオフセット)にしか使わない

つまりはプラットフォーム依存であることの明示なので、
他のint型との相互作用(大量に出てくるだろうね)を考えるだけでかなりの脳のリソース持ってかれる
0262デフォルトの名無しさん (オッペケ Sr85-JIpj)
垢版 |
2023/03/11(土) 14:13:05.01ID:DhHi6Ld4r
結局既存のメソッドを呼び出したりするときにintにキャストしなきゃいけなくなるんでしょ
ごくわずかに数字演算のパフォーマンスが改善したところで毎回キャストするコストのほうが余計にかかりそう
0271デフォルトの名無しさん (ブーイモ MM9a-9Bo7)
垢版 |
2023/03/16(木) 22:30:13.17ID:XMsdgbaMM
データベースの列名に合わせて、クラスのフィールド名を日本語で表そうと思います。
しかし、インテリセンスで頭文字でフィールドの候補を選択する便利さはアルファベットのフィールド名に劣るので、合わせ技で次のようにフィールド名を定めようと思います。

public string BookName__書籍名;

アルファベットだとより複雑な意味を持つ名称でニュアンスがつかみにくいので、このように合せ技を、使おうと思うのですがどうでしょうか。
0273デフォルトの名無しさん (ブーイモ MMee-Q6zA)
垢版 |
2023/03/16(木) 23:30:46.22ID:nNGsntyCM
>>271
>public string BookName__書籍名;
これだと英語名その対訳の組み合わせを間違えないように覚えてないとだめなのでメンテナンスコストがあがるだけな気がする
データディクショナリを整備したりインテリセンスのmigemo対応を頑張ってみるといいんじゃまいか?
0275デフォルトの名無しさん (ワッチョイ 757f-9Bo7)
垢版 |
2023/03/17(金) 00:52:09.32ID:5jT41ER00
>>273
たしかに。
日本語名称だけにしておこうかと思います。
ドット打って、一覧から素直に候補を選びたいと思いました。
0276デフォルトの名無しさん (ワッチョイ 757f-9Bo7)
垢版 |
2023/03/17(金) 00:54:00.54ID:5jT41ER00
>>272
そういう上司いません。いるけど、専門外。
0279デフォルトの名無しさん (ワッチョイ 8e42-JIpj)
垢版 |
2023/03/17(金) 12:44:03.16ID:H2liKR380
普通はフィールドを単独の変数として扱わずにテーブル毎のクラスを作って管理する
DapperやEntityFrameworkなどのORMでは強制的にそうさせられる
これを機にORMへステップアップしてみるのも面白いと思うよ
0286デフォルトの名無しさん (ブーイモ MMbe-kA1E)
垢版 |
2023/03/17(金) 17:36:00.83ID:MAARUdz9M
>>279
ストアドプロシジャ主体の昔からのシステムなので、おっしゃるようなコードファーストの考え方と噛み合わないところがあります。

いまは、ストアドプロシジャを作成することなく、コードファーストでデータベースへの指示はEFに任せるのかなぁ。
0288デフォルトの名無しさん (オイコラミネオ MM3d-JIpj)
垢版 |
2023/03/17(金) 19:03:38.15ID:BZ7G7tLCM
>>287
通常は通常でしかないよ~
選択は自由
C#でプロパティを使いだしたのはget;set;自動実装で簡単になってからでそれまでは結構public fieldは使われてた

一番困るのは何でプロパティを使うべきなのか全員を納得させられる答えがない

WPFもUnityもフィールドをpublicにして使ってる
そこを突っついてプロパティにしろって言うのは違うだろと
0297デフォルトの名無しさん (ワッチョイ 7907-C7iR)
垢版 |
2023/03/27(月) 07:19:15.71ID:jIqJMMmT0
経験の少ないアホを納得させようというのはこんな風にたいてい徒労に終わる
フィールドを直接公開しないというのはオブジェクト指向の最も基本的なデザインパターンだが破りたきゃ勝手に破ってなぜ開発が難しくなったのか理解できず右往左往してりゃいいさ
0304デフォルトの名無しさん (ワッチョイ 9901-wUZC)
垢版 |
2023/03/27(月) 11:46:13.73ID:SicRvVGw0
受け渡しの際になんの処理もしないんだったら直公開でええやん
なんかしたいときに一段かませばいいだけのこと
0305デフォルトの名無しさん (オイコラミネオ MM49-uluY)
垢版 |
2023/03/27(月) 17:03:35.68ID:yhvlQQOzM
>>297
いやいや
経験が少ないのはお前の方だろw
頭がガッチガチのゆとり人間だなと

> フィールドを直接公開しないというのはオブジェクト指向の最も基本的なデザインパターン
前にも書いたけどWPFもunityもpublicフィールドを使ってるよ
get setがpublicでフレームワークから要求されてないのにプロパティ使う意味なんてただの一貫性の問題だろう

c++のオブジェクト指向でもgetter/setter使ってる人間はほぼいない
でっかいOSSでもそんな使い方なんてしてない
何が何でもプロパティじゃなければいけない理由などないから使いやすい使い方をしてる

プロパティは実際に使い勝手が悪いので過去はあまり使われてなかった
自動実装で簡単に実装できるようになってから利用が進んだ
最初は自動実装もなくgetとsetのアクセス制限も別にできず意味不明だった

何より行数が不必要に消費されてコードの見通しが悪くなるゴミだった
0313デフォルトの名無しさん (ワッチョイ c679-1XQV)
垢版 |
2023/03/30(木) 15:16:30.07ID:No035PWN0
不等号ってたまにわからんくなる
不等号のどっちが大きいのか

time < 0
これでtimeが0を下回ったら、という意味になるよね
言語化の問題かな?うまく日本語にする方法ないかな
0319デフォルトの名無しさん (アウアウウー Saa5-C7iR)
垢版 |
2023/03/30(木) 17:04:44.87ID:F0wEmCvia
>>317
記号見りゃどっちが大きいかなんて一目瞭然だと思うが
a<bでaの方が大きいと思う理由がよくわからん
ガリバートンネルには大きい口と小さい口があるが大きい人が入るのはどっちだ?
0320デフォルトの名無しさん (スップ Sdc2-I21X)
垢版 |
2023/03/30(木) 17:40:58.48ID:TCmRdoupd
powershellは$null比較の時、
左辺に$nullを書かないと思わぬ事故死する
C#とか普通の言語でかつ特に理由が無ければ、
左辺に比較対象、右辺にリテラル等の被比較値を書くのが一般的だろうね
0322デフォルトの名無しさん (オイコラミネオ MM49-3uzD)
垢版 |
2023/03/30(木) 18:53:38.63ID:2vbF8I0qM
40歳以上で勉強してもプログラムがわからないなら諦めたほうがいいと思うわ
あおりでなんでもなくコーディング自体が楽しくないなら時間を掛けるだけ無駄かと


それよりも
a >= b

a.以上(b) とでもメソッド掛ける
自分はかねてより複雑になりがちな条件判断は可能な限りメソッドにしたほうがいいと思ってるし
そう書いてる
範囲判定なんかメソッドにしてることも多い
日本語じゃないけどね…
0323デフォルトの名無しさん (オイコラミネオ MM49-3uzD)
垢版 |
2023/03/30(木) 19:00:14.79ID:2vbF8I0qM
以上と書いたは便宜的なもので実際は概念に合わせて書いてる

A>=Bは結局何なのかでメソッド名も変わり概念の抽象化ができる

A.は優秀(B)だとして数学の点数なら多い方が優秀
ゴルフのスコアなら低い方が優秀

そういうのを何度も書くなら< > なんてあちこちで書かなければいい
0330デフォルトの名無しさん (オイコラミネオ MM49-3uzD)
垢版 |
2023/03/30(木) 20:43:22.83ID:2vbF8I0qM
自分はdelphiからの移行組なんだ

21年前にC#に触れたときも面白くてたまらなかった
発売が待ち遠しかった
出てからもわからないところもあったけど毎日入門書を読んでた
本当に面白かった

空き時間に繰り返し何度も何度も読んでた
人それぞれなんだろうけど楽しくも嫌でもないって不思議だなと
0332デフォルトの名無しさん (ワッチョイ 02de-Z3T1)
垢版 |
2023/03/30(木) 21:33:45.06ID:Js/+Wk190
台所のシングルレバーの水栓、レバーの左側に赤、右側に青が書かれてる

お湯を出そうとレバを左側に持っていくと、真正面に青色が来るから冷水出るのかとと思って戻す
以後繰り返し
0333デフォルトの名無しさん (オイコラミネオ MM49-3uzD)
垢版 |
2023/03/30(木) 21:56:37.76ID:2vbF8I0qM
21年前はwebにもほとんど情報がなかった
目の前に大平原が広がってたようなその実暗闇だったような

情報はほぼ雑誌やわずかに発行されてた本からのみで同士もいない

ジェネリックがないC#1.0は地獄で実質2.0からが本番

ファイルの読み書きも簡単に出来ず苦労した
1.1までFileクラスなかったんだよな
2.0でFile.ReadAllTextが実装された

そういえば.net framewarkにどんな機能があるのかすら事前にわからなかった
MSなのでDirectXやサウンド機能やmidiAPIぐらい入れてくるだろうと思ってたけどなんもなし
delphiのコンポーネントセットと似た様なコントロール群だったので何とかなったけど何をしろと言うような状況だった

お世辞にも他人に勧められるような言語じゃなかった
状況が変わったのは2008年ぐらいかなあと
0336デフォルトの名無しさん (オイコラミネオ MM49-3uzD)
垢版 |
2023/03/30(木) 22:48:08.99ID:2vbF8I0qM
>>335
自分はC#のみのパッケージだったけど1万5000円~18000円ぐらいだった気がする
非常に安い印象
ほぼ毎年delphiとBorland C++のアップグレードパッケージにお布施するより安い

徒歩圏内に家電量販店があるけど自動車に乗って買いに行った
帰ってきてインストールするまでが一番楽しかった
インストール中マニュアルだか見て思ってたのと違うと気が付いた

VS2005からstandardのアップグレードパッケージ?買ったけどその時は高かったとしか覚えていない
0337デフォルトの名無しさん (オイコラミネオ MM49-3uzD)
垢版 |
2023/03/30(木) 22:56:13.24ID:2vbF8I0qM
昔は言語は3万以上してたような思い出
大学の友達はなんも知らんから授業で使うFORTRANを買った
9万円ぐらいだと聞いたw

みんなで買うならC買えよって言ったら教えてくれたらよかったのにと激怒された
0338デフォルトの名無しさん (ラクッペペ MM26-R9+A)
垢版 |
2023/03/30(木) 23:10:10.52ID:DgcinTdpM
確か当時で年間20~30万くらいのサブスク製品が5万くらいでアップグレードできた覚えがある
数年後にはチーム開発向け機能強化で年間200万くらいまで値上がりしたので個人では手が出せない製品になってしまった
新規価格と違って更新価格はそこまで高くはないけど…
0339デフォルトの名無しさん (オイコラミネオ MM49-3uzD)
垢版 |
2023/03/30(木) 23:14:09.30ID:2vbF8I0qM
正直なところC#は実際2010年ぐらいでも全然日陰言語だった
ずっとふわふわしてた
まず実社会で使ってる人間に出会わない
メインで使ってても変わり者としか見られないしメリットは何なのか聞かれまくった

いつ頃メジャーになったのかもわからない
0340デフォルトの名無しさん (オイコラミネオ MM49-3uzD)
垢版 |
2023/03/30(木) 23:28:35.77ID:2vbF8I0qM
自分はCマガでC#に出会ったけどその後廃刊になってるんだよな
唯一あった言語雑誌が死亡してマイナー言語なんて一般人は触れる機会もないし
メジャーになる前はどうやってみんなであったんだろ?
0345デフォルトの名無しさん (オッペケ Srf1-3uzD)
垢版 |
2023/03/31(金) 07:32:32.52ID:cQ6sy02ur
この自分語り長文の オイコラミネオ MM49-3uzD って
別のスレで++C++が気に入らなくて難癖付けてた人じゃね?

思ったよりおっさんというか中高年の世代なんだな
0347デフォルトの名無しさん (ワッチョイ 5f7f-ejsh)
垢版 |
2023/04/04(火) 12:31:06.77ID:GpqpiwCm0
本当にみんなReactiveUIとかでMVVMでアプリ作ってるのだろうか。
いまだにポトペタでイベントハンドラ書いてたから、この前はじめてリアクティブプログラミング知って浦島太郎なんだが、、、
0349デフォルトの名無しさん (ワッチョイ a75f-3rmh)
垢版 |
2023/04/15(土) 08:39:33.67ID:XM/mG1qA0
下記のコードでBIOSの情報を取得しようとすると例外が発生しました。

try
{
ManagementObjectSearcher s = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_BIOS");
foreach (ManagementObject q in s.Get())
{
serial = GetSerialNo(q["SerialNumber"] as string);
break;
}
}
catch(Exception ex)
{
MessageBox.Show(ex.ToString());
}


例外:
System.Management.ManagementException: 無効なクラスです
場所 System.Management.ManagementException.ThrowWithExtendedInfo(ManagementStatus errorCode)
場所 System.Management.ManagementObjectCollection.ManagementObjectEnumerator.MoveNext()

どうすれば取得できるようになるでしょうか。
0350デフォルトの名無しさん (オイコラミネオ MM5b-sFbk)
垢版 |
2023/04/15(土) 10:26:03.34ID:qKpGu0dKM
メッセージの通りだとクラス指定された対象が存在してないんだろ

今回の件はどうかわからないけど

そういう系のは取れる奴と取れない奴がある
運が良ければハードが対応してて取れることがあるレベルのもの
0351デフォルトの名無しさん (ワッチョイ a75f-GP2t)
垢版 |
2023/04/15(土) 11:26:04.37ID:XM/mG1qA0
ハードの問題ということですね
であればプログラムでは解決できないか
0353デフォルトの名無しさん (ワッチョイ 5f79-uE6i)
垢版 |
2023/04/15(土) 11:54:26.93ID:iq3ZlEDB0
そこでエラーは一般ユーザーで実行してたりで権限が無いとかかな
いったんpowershellのコマンドで期待する情報が出てくるか確認してみて
Get-CimInstance -ClassName Win32_BIOS | select *
0354デフォルトの名無しさん (ワッチョイ a75f-GP2t)
垢版 |
2023/04/15(土) 12:24:37.10ID:XM/mG1qA0
ユーザーのパソコンで発生しているので今すぐにはできないですが
確認してみます
0357デフォルトの名無しさん (アウアウウー Sacb-zO2x)
垢版 |
2023/04/15(土) 13:41:19.97ID:j+1WZq2Ha
漏れのPC のPowerShell では、以下は取得できる

$Win32_BIOS = Get-WmiObject Win32_BIOS
$Win32_Processor = Get-WmiObject Win32_Processor

$Win32_ComputerSystem = Get-WmiObject Win32_ComputerSystem
$Win32_ComputerSystemProduct = Get-WmiObject Win32_ComputerSystemProduct

$Win32_OperatingSystem = Get-WmiObject Win32_OperatingSystem
0362デフォルトの名無しさん (ワッチョイ caad-pY4I)
垢版 |
2023/05/23(火) 19:19:12.93ID:8LrZ0+ox0
susie plugin の呼び出しで、.spi 側の HANDLE *pHBInfo を out IntPtr pHBInfo でマーシャリングしたときに、
pHBInfo に直接返るのと、pHBInfo = Marshal.ReadIntPtr(pHBInfo) しないと取得できないプラグインがあるのはなんで?
マーシャリングにバグでもあるの?
0365デフォルトの名無しさん (ワッチョイ ca79-hQwN)
垢版 |
2023/05/23(火) 23:38:29.47ID:N5YYf8uj0
なるほど手元に20年前のソースがあるがHBInfo HBm共にLocalLockして生ポを得てるな
使い終わったら元のハンドルをLocalUnlockでFALSE(0)が返るまで呼び出してLocalFreeで開放しとる
プラグイン側がLocalAllocしたハンドルもしくは生ポを返す仕様だから何が起きてるのか判り難かろう
0366362 (ワッチョイ caad-pY4I)
垢版 |
2023/05/24(水) 12:07:18.61ID:g/GCJKfM0
>>363-365
無事実装できた
thx愛してる
0367デフォルトの名無しさん (ワッチョイ 064b-A5UL)
垢版 |
2023/05/25(木) 20:21:17.15ID:nXz8gKZ10
Macしか持ってないんですが
Visual Studio入れてC#で
ウインドウズ用のアプリって開発できないのです?

ビルドしてウインドウズパソコンに
デスクトップアプリを配布したいんですが
無理ですか?
0368デフォルトの名無しさん (ササクッテロレ Sp03-Z1ij)
垢版 |
2023/05/25(木) 20:57:21.60ID:3+7hiXICp
>>367
出来たとして、100%互換か怪しいから
不具合出たり対応が面倒になるくらいなら
最初からWindowsで作れば良い
0372デフォルトの名無しさん (ワッチョイ 064b-A5UL)
垢版 |
2023/05/25(木) 21:29:44.23ID:nXz8gKZ10
早速のレスありがとうございます

C#じゃないとダメだってわけじゃないんですが
子供の学習用デスクトップアプリつくるのには
VisualStudioが楽で綺麗に作れますよね?
学校で配られてるタブレットPCで動かしたいんですわ

Scratchで作ってたけど、画像がいっぱいになるとすっごく思いし
中身見られるしってので開発環境探してました

ウインドウズPC購入か、仮想マシンですか、、、
考えます
0373デフォルトの名無しさん (ササクッテロレ Sp03-Z1ij)
垢版 |
2023/05/25(木) 21:36:27.09ID:VIA7OmJjp
javascriptとか使ってwebアプリで作れば?
0376デフォルトの名無しさん (ブーイモ MM86-F7IQ)
垢版 |
2023/05/25(木) 22:33:11.01ID:y/g7SJeAM
>>372
そのタブレットがARMなのかIntelなのかとかも一応気にした方がいいかも
0379デフォルトの名無しさん (ワッチョイ 4f54-C1+R)
垢版 |
2023/05/26(金) 10:33:06.68ID:kol25jaP0
本来は1回しか実行されないはずのメソッドが、何かの条件を満たすと複数回実行されてしまいます。
呼び出し階層を辿ろうにも、呼び出し元が数十か所あり、その呼び出し元も別の多くの場所から呼び出されている為、辿るのが困難な状況です。
また、各呼び出し階層内でのループや分岐・メソッド呼び出し時の引数も多い為、絶望的な感じです。

こういう場合はどうやって原因を特定すればいいのでしょうか?
0380デフォルトの名無しさん (ササクッテロレ Sp03-Z1ij)
垢版 |
2023/05/26(金) 10:41:26.90ID:0Cl+beDwp
>>379
コールスタック見ろよw
0381デフォルトの名無しさん (ワッチョイ 4f54-C1+R)
垢版 |
2023/05/26(金) 10:44:43.31ID:kol25jaP0
>>380
すみません。
外部ライブラリとか実行用の周辺機器が揃ってない為、実行出来る環境がないのです。
なので、報告受けて、Visual Studio の Code Lens・呼び出し階層表示だけ見てなんとかしようとしてます。
0382デフォルトの名無しさん (ササクッテロレ Sp03-Z1ij)
垢版 |
2023/05/26(金) 10:48:20.08ID:0Cl+beDwp
>>381
再現出来なきゃ無理って言う
0385デフォルトの名無しさん (ブーイモ MMea-F7IQ)
垢版 |
2023/05/26(金) 11:33:38.02ID:Yj1I9V8pM
>>379
複数回呼ばれた時に例外出してるならスタックトレース見ればすぐ分かる
例外出してないなら出すようにコードを修正する
どっちもできないならあとは発生タイミングとアプリケーションのログから推測して再現させるとかかな
確証を得たいならコードを修正するのが手っ取り早い
0387381 (ワッチョイ 4f54-C1+R)
垢版 |
2023/05/26(金) 11:44:37.68ID:kol25jaP0
みなさん、ありがとうございます。
まずはコールスタック記録するようにしてみたいと思います。
0390デフォルトの名無しさん (ブーイモ MMea-F7IQ)
垢版 |
2023/05/26(金) 12:59:28.06ID:Lr0/MEevM
辿れないほど呼び出し元が多岐に渡るメソッドをどうやって1回しか呼ばれないよう担保しようとしてたのか気になる
同時実行制御の問題なのかな
0391デフォルトの名無しさん (ワッチョイ 2b01-OlK5)
垢版 |
2023/05/31(水) 20:45:10.15ID:wpC6Wz7i0
>>372
自分のMac売って第8世代i5の中古ノートPC2台買うたらええで
自分と子供用にな
0393デフォルトの名無しさん (ササクッテロル Spcf-hD65)
垢版 |
2023/06/02(金) 10:35:55.17ID:nATDsc5Cp
Windows11入らないと開発は無理じゃね?
0399デフォルトの名無しさん (ワッチョイ 82ad-N/Lw)
垢版 |
2023/06/03(土) 13:51:37.27ID:Jxi0rVr50
まあMacは信者専用機だから・・・
オフィスワークから開発、創作活動、ゲーム、動画視聴までWindowsで高品質なのが揃うようになって20年近く経ってるのに一般人はMacを使う意味ない
0400デフォルトの名無しさん (アウアウウー Sac5-HGAP)
垢版 |
2023/06/03(土) 13:55:35.12ID:fIp4SJhKa
何年前だったかプラスチックの炊飯器みたいなのを「マックはデザインがかっこいい」と言って信者が騒いでたのを見て「こいつら救いようがねぇな」と思った記憶がある
0401デフォルトの名無しさん (ワッチョイ 998e-MzG0)
垢版 |
2023/06/03(土) 14:30:51.53ID:yvyNdg4t0
>>398
何でそんな嘘しか付けないんだ?
0402デフォルトの名無しさん
垢版 |
2023/06/03(土) 15:55:00.80ID:rK6+RSnX
別に使いたい用途で使えるならデザインで選んでもいいのでは、と俺は思うけどね。
0405デフォルトの名無しさん (ワッチョイ 7d5f-4ePv)
垢版 |
2023/06/03(土) 23:41:19.13ID:zjvddD610
>>404
百万のWindowsPCなんて無駄だろ
0406デフォルトの名無しさん (スッップ Sda2-MzG0)
垢版 |
2023/06/04(日) 00:18:11.16ID:l3kFxeTNd
嘘を指摘されると今度はごまかし始める
貧乏人は大変だね
0408デフォルトの名無しさん (ワッチョイ 857c-DP0P)
垢版 |
2023/06/04(日) 07:09:03.35ID:rt4nzg3U0
何の話かと思ったら開発PCか

>>392
そのPCでWindowsだから重いって思うんだろ?
Linux入れりゃ良いじゃん
それかWindowsでも開発ツール入れなきゃ良い

azure上に仮想マシンやらDevBoxで良いじゃん
Codespaceで良いじゃん
俺なんて家でも会社でもiPadでブラウザでCodespaceだぞ
重いPC持ち歩く必要も無い
タブレットだけ持ってりゃ仕事出来る
0411デフォルトの名無しさん (ワッチョイ 790c-BfHo)
垢版 |
2023/06/12(月) 20:19:48.13ID:rYc4uFtU0
ブレイクポイントって関数単位で止めるものなんでしょうか
関数の途中で止めたりすると駄目なんですかね

スタックフレームなんちゃらと怒られます

func myFunction()
{
print("hoge1")
print("hoge2")#ここで止めちゃ駄目?
}
0415デフォルトの名無しさん (ワッチョイ 398e-2zfj)
垢版 |
2023/06/13(火) 01:25:38.96ID:Ngpf92I00
馬鹿は開発環境が何かさえ書かない
そもそもC#なのか?
0421デフォルトの名無しさん (スップ Sd73-2zfj)
垢版 |
2023/06/13(火) 12:52:41.23ID:ByE5E7iJd
>>416
馬鹿はここが何のスレか読めるか?
0422デフォルトの名無しさん (アウアウウー Sadd-8W7i)
垢版 |
2023/06/13(火) 13:51:49.09ID:6MoTat1ja
聞くスレも間違ってるけどエラーメッセージを読まないでなんちゃらで怒られましたで済ますのが一番だめ
大事なのはそのなんちゃらだし

怒るわけないよね
怒られてもないのに怒られたピエンって泣きつくやつは何やってもだめ
0427デフォルトの名無しさん (ワッチョイ 017c-1yE0)
垢版 |
2023/06/15(木) 11:01:25.48ID:K21ZmTmd0
指導って要らなくね

このスレ的に言えばプログラム言語の研修とかだってWebサイト見りゃ良いじゃん
その上で修了試験的なのして合格なら業務投入で良いじゃん
0429デフォルトの名無しさん (ワッチョイ 017c-1yE0)
垢版 |
2023/06/15(木) 12:12:53.37ID:K21ZmTmd0
土方とか関係無いやん
寧ろ優秀な奴ほど下手に指導するより書籍とか与えておけば良いって事もある

更に言えば自分で独習してきて勝手に技術習得してるのが優秀な奴じゃん
教えられて無いので出来ませんはかなりの無能な部類
0434デフォルトの名無しさん (ワッチョイ d98e-kLz7)
垢版 |
2023/06/23(金) 20:46:57.75ID:fxt+MPHJ0
Rubyが終わっていて笑った
0438デフォルトの名無しさん (ワッチョイ 8dba-OLuX)
垢版 |
2023/06/24(土) 05:52:03.90ID:FvsXVYD90
今更だけど、.NETのLTSが三年って短すぎと思うのは俺だけ?
三年経ったらVisualStudioを買い替えて、新しいバージョンの.NETにマイグレーションしてテストして…ってそんな金誰が出してくれるんだ?
0439デフォルトの名無しさん (ワッチョイ 9d7c-NHR/)
垢版 |
2023/06/24(土) 07:13:32.76ID:e/OWmdk60
今のシステムは3年持たないから別に短いとも思わない
俺の会社のシステムは年4回の更新がルールになってる
テストは自動化だから追加機能のない時は1日で終わる

VSはサブスクだしvscodeでも良い
0441デフォルトの名無しさん (ワッチョイ 9d7c-NHR/)
垢版 |
2023/06/24(土) 09:10:16.70ID:e/OWmdk60
セキュリティやら何やらで3年以上も持つシステムってのは世の中には1つも無いぞ

10年以上使うことは出来てもそれって年々増加するリスクを抱えて使ってるだけ

俺が言ってるのはリスクを基準以下に抑えた安全なシステムは3年が限界って意味
0442デフォルトの名無しさん (ワッチョイ 9d49-F8yx)
垢版 |
2023/06/24(土) 09:19:27.28ID:fqjmYFK70
よほど古い体質じゃない限り、
今はCIとか自動化でFWとかのバージョンアップ含めて対応してくのが望ましいよね
持たないというか、「LTSきれるから対応する」という旧来の対応じゃなくて
継続的に最新を検証しながら順次当てていく運用がされてると思う

DBとかインフラ周りは事情変わるし、そっちに引っ張られることもあると思うけどね
体制を変えるのも企業としてカロリー高いし、中小ユーザ企業は置いてけぼりになってるかもね
0443デフォルトの名無しさん (ワッチョイ 4bbb-wJdI)
垢版 |
2023/06/24(土) 09:20:49.88ID:8BwFeyDY0
>>440
Web系は軒並み寿命が短くなってる
システム的な側面もあるし、使用する言語そのもののサポート期間が短くなってるって理由もあると思う
業務系だとあまり感じないと思うけどかなり深刻よ

phpとかActive support2年、Security fixes onlyな期間いれても3年だぜ
0444デフォルトの名無しさん (スプッッ Sd03-eK8M)
垢版 |
2023/06/24(土) 09:27:17.07ID:Qrp9SB+9d
スタンドアロンのマシンを工場に入れて稼働させるなら平気で10年使うとかあるんじゃない?
それなら別にサポート切れてもかまわんけど

問題はシステムそのままでネットワークに繋ぐけど更新するつもりがないようなケース。
既に動いてるソフトに追加で金(手間とかメンテ)かけたくない人たちはいるんだよ。
0445デフォルトの名無しさん (ワッチョイ 9d7c-NHR/)
垢版 |
2023/06/24(土) 09:42:16.38ID:e/OWmdk60
別に金掛けないなら良いんじゃね
動かなくなった時とか問題が起きてもサポート対象外で知ったこっちゃ無い

リスクの説明をしてそれでもリスク許容するって判断したならそれまででしょ
責任者は自分が下した責任を取るだけじゃん
0473デフォルトの名無しさん (アウアウウー Sa69-b/Kr)
垢版 |
2023/06/26(月) 11:46:00.16ID:yWmO1o4aa
今は各言語で使われてるasync/awaitもF#から始まったものだしLINQもF#のseqが源流っぽいし読みやすくて面白い熱狂的なファンのいる言語ではある
パターンマッチングや型推論もF#には劣るけどC#でできるようになったしF#ならではという部分がどんどん無くなってるんだよね
0474デフォルトの名無しさん (ササクッテロラ Sp81-9QlF)
垢版 |
2023/06/26(月) 11:48:47.71ID:6bPwUIFfp
非同期がわかりにくくなった元凶かw
あんなんコロコロ都合で変える様なもんじゃ無いんだよ
最初から計画して作るものなんだから
極端な話、別の記述で独自させて書くくらいで丁度いい
0490デフォルトの名無しさん (アウアウウー Sa69-b/Kr)
垢版 |
2023/06/26(月) 18:03:45.93ID:dzJ0G1qca
>>489
同一スレッドでも複数のタスクが行えるのがasync/awaitのいいところ
JSなんてシングルスレッドだからね
スレッドなら待つのにはmutexやsleepを使ってデッドロックした時にはもつれた紐を解くような作業をしてたのをawaitでできるのはとても便利
0491デフォルトの名無しさん (スプッッ Sd03-eK8M)
垢版 |
2023/06/26(月) 21:11:57.84ID:aG57g/0Md
awaitはC#コンパイラによって即returnに展開されるぞ
Taskの終了時にawaitしたとこまで一気にジャンプする

関数の制御構造を変えるので「async」のマーカーが必要だったり返り値がTask or Task<T>になる制限がつく

Taskの完了とかを管理するのはThreadPool。
(乱暴に言えば)言語側が用意しておいたスレッドのうち、
手が空いたスレッドが手当たり次第にタスクを実行する
0495デフォルトの名無しさん (ワッチョイ c595-iX87)
垢版 |
2023/06/29(木) 19:21:45.21ID:KA7Oajuk0
プログラミングはコアまで理解出来るほど、上等と言えるのですか?
C#だつて中身はc++でしょう。c#自体をいじれるくらいになるのが上等なんでうsかね
0497デフォルトの名無しさん (ワッチョイ 3501-MtLz)
垢版 |
2023/06/30(金) 08:16:31.24ID:yIPSI8W+0
「C#の言語仕様変えられるほど上達しますた!」
「いいから仕事しろ」
0499デフォルトの名無しさん (ワッチョイ 6d54-wYA+)
垢版 |
2023/06/30(金) 17:31:05.12ID:t7Ah47nQ0
googleとかの検索エンジンで、検索文字列入力エリアに文字を入力すると、自動的に検索候補が出てきますが、
自分で C# の ComboBox に表示してみたら、表示までにかなり時間がかかります。
どうすれば高速化できるのでしょうか。

検索候補として IEnumerable に保持している要素数は2万件で、最初の1文字入力時に表示されるまで、体感で1秒以上かかってます。
今のソースは下記です。
------------------------
List<string> suggestionWordList = ;//あらかじめDBから取得済みの検索候補

//inputedWords は、入力文字列をスペースでsplitした配列。
void Search(string[] inputedWords)
{
var keywords = inputedWords.ToList();
var result = suggestionWordList.FindAll(s => keywords.TrueForAll(s.Contains));
ComboBox1.DataSource = result;
}
------------------------

※要素の保持方法や文字列処理は言語固有の機能が結構あるので、C# スレで質問しました。
0501デフォルトの名無しさん (アウアウウー Sa69-b/Kr)
垢版 |
2023/06/30(金) 17:48:35.79ID:VF6YXMlba
検索対象となる単語をあらかじめハッシュ化してオフメモリのハッシュリストを作成
入力された単語を単語に分割してハッシュリストから取得
ということをすれば速くなる

これが何を言ってるかわからなければ素直にデータベースを使えばいい
0505デフォルトの名無しさん (スプッッ Sd43-eK8M)
垢版 |
2023/06/30(金) 19:31:24.87ID:MO4ylNlnd
2万件のデータ全部に対してContainsやるって考えたら相当時間食うよ
Contains自体もそんな軽くないし


googleは相当な人と金をかけて即応答ができるようにしてるから比較しちゃいかん
ひらがな数文字に対して応答するべき内容はあらかじめ決めてる(キャッシュしてる)でしょ
0509デフォルトの名無しさん (ワッチョイ eb7c-XDX9)
垢版 |
2023/08/05(土) 16:04:29.93ID:kjB6gU/20
WinForms でコードを表示するのに TextBox だとちと物足りないんで何かいいものありませんかね。
AvalonEdit を試してみて、何とかフォームに貼っつけるとこまではできたんだけど、なかなかに苦戦中。
もうちょっと手軽なのないでしょうか。行番号、ルーラー、カレント行の下線表示ぐらいができるもの。
もしくは、AvalonEdit を WinForms から利用する詳しめの解説などありませんかね。
0511デフォルトの名無しさん (ワッチョイ 5978-c/5M)
垢版 |
2023/08/06(日) 19:32:42.41ID:Q5k+gq0j0
Azukiってコントロールを日本人が作ってるからそれを試したら?
手軽かどうかは知らないけど
0512デフォルトの名無しさん (ワッチョイ eb7c-XDX9)
垢版 |
2023/08/06(日) 23:19:05.04ID:0GfmBnLn0
ないのかー。そうだろうなー。結構探したし。
Lazarus なら SynEdit とか付いてるのに、C# にこれだけないとは意外ですよね。
もうちょっと AvalonEdit 頑張ってみます。
0515デフォルトの名無しさん (ワッチョイ 019e-nD50)
垢版 |
2023/08/07(月) 07:47:17.07ID:4eIXUsq00
前任者が作ったexeしかないアプリを修正して
管理しろって言われてdnspyとか使ったけど
メソッド名とか変数名とか\u○○○みたいになるの
なんとかならないのか

試しにプライベートで作ったアプリやってみたけど
日本語も英語も普通にそのまま復元できたけど
なんだこれ
0518デフォルトの名無しさん (ワッチョイ 019e-nD50)
垢版 |
2023/08/07(月) 09:34:30.01ID:4eIXUsq00
ILSpyもdotpeekもあかんかった
エラーが9000以上あってやる気無くすが
上司がやれと言うからやるしかない

そもそもフリーソフト使っていいとか
この会社大丈夫かって感じだけど
0523デフォルトの名無しさん (ワッチョイ 7101-1Ouz)
垢版 |
2023/08/07(月) 15:06:31.00ID:OVvdQQKF0
>>516
クリーンルームするとは?
0525デフォルトの名無しさん (ワッチョイ 915f-x8KR)
垢版 |
2023/08/07(月) 15:21:10.51ID:j7MPZ2iT0
>>523
ライセンス問題等を回避するために、既存の(主に外部の)成果物を認知・参照せずに「独立して設計する」ことを言う
この場合は原理的にクリーンルーム設計するしかない状況(逆コンパイルしても意味消失していて事実上メンテ不可能)
0526デフォルトの名無しさん (ワッチョイ 019e-nD50)
垢版 |
2023/08/07(月) 16:20:01.23ID:4eIXUsq00
変数、メソッドは力技でどうにかなるとして
このコード意味わからん
最後のmanifestResourceStreamでnullになるし
コードが悪いのか、デコンパイラーが悪いのか
そもそも何がしたいんや

int num = 119752025;
int num2 = -60238915 - num;

StringBuilder stringBuilder = new StringBuilder();
int num3 = 476705732 - num - num2;
stringBuilder.Append((char)num3).Append((char)(num3 >> 16));
num3 = (769905914 ^ num) + num2;
stringBuilder.Append((char)(num3 >> 16)).Append((char)num3);
num3 = 477230015 - num - num2;
stringBuilder.Append((char)(num3 >> 16)).Append((char)num3);
num3 = (num ^ -764548291 ^ num2);
stringBuilder.Append((char)num3).Append((char)(num3 >> 16));
num3 = 597773385 + num + num2;
stringBuilder.Append((char)num3).Append((char)(num3 >> 16));
num3 = 477230024 - num - num2;
stringBuilder.Append((char)num3).Append((char)(num3 >> 16));
Stream manifestResourceStream = assembly.GetManifestResourceStream(stringBuilder.ToString());
0531デフォルトの名無しさん (ワッチョイ eb7c-XDX9)
垢版 |
2023/08/07(月) 17:56:22.03ID:tUDbyujs0
>>519
おお、いいね。WPF をちょっと学び始めてた。情報ありがとう。
ダウンロードにえらい時間かかったけど、無事使えた。
GitHub に移ってちょっとずつでもメンテしてくれないかな。
0533デフォルトの名無しさん (スプッッ Sd13-nD50)
垢版 |
2023/08/08(火) 09:47:42.83ID:eRtC1siad
これを暗号化ロジックって捉えるのやばすぎw
0536デフォルトの名無しさん (ワッチョイ 019e-nD50)
垢版 |
2023/08/10(木) 21:00:08.69ID:IFMy69A+0
可能
0539デフォルトの名無しさん (ワッチョイ 7679-BXQ2)
垢版 |
2023/08/13(日) 11:54:51.54ID:LpFEO2nE0
>Windows 11、Windows Server 2022、またはそれ以降。 (以前のバージョンの Windows には、QUIC をサポートするために必要な暗号化 API がありません。)
ここでもOS足切りをしてくんのかあ
0547デフォルトの名無しさん (ラクッペペ MMb6-DWIq)
垢版 |
2023/08/14(月) 17:35:34.10ID:fI3UkzaxM
>HTTP/3 は、最近標準化された HTTP の 3 番目のメジャー バージョンです。
>HTTP/3 では、HTTP/1.1 および HTTP/2 と同じセマンティクスを使用します。
>つまり、同じ要求メソッド、状態コード、メッセージ フィールドがすべてのバージョンに適用されます。
>異なる点は、基になるトランスポートにあります。
>HTTP/1.1 と HTTP/2 では、どちらもトランスポートとして TCP が使用されます。
>HTTP/3 では、QUIC という HTTP/3 と共に開発されたトランスポート テクノロジが使用されます。
0548デフォルトの名無しさん (ワッチョイ 9701-DXLR)
垢版 |
2023/08/16(水) 01:31:41.49ID:k6G5r/qb0
オムロン、週3日勤務も可能に 学び直し支援に新制度

オムロンが週3日の勤務や短時間勤務など、働き方を選択できる制度を
2023年3月から導入することが分かった。オムロン本体に勤務する国内の
約4600人の社員が対象となる。勤務時間外に専門学校やビジネススクール
に通い専門性を高めるなど、リスキリング(学び直し)の機会を設ける目的だ。
新制度は、1日の就業時間を15分単位で最大2時間短縮できる「短時間勤務」、
週3日か4日勤務が選べる「短日勤務」、「休職」の3つの選択肢がある。
0557デフォルトの名無しさん (ササクッテロロ Sp07-R9B2)
垢版 |
2023/09/06(水) 15:07:08.54ID:WpaVsAPVp
圧倒的にデバイスのI/Oの方が時間掛かるのでコード速くするとかアフォなことは考えないことだ
ただ、もし1行ずつ読んでるとかならファイル丸ごと読んでメモリ上で行分割した方がいい
0561デフォルトの名無しさん (ワッチョイ cf8e-0kEP)
垢版 |
2023/09/07(木) 00:59:45.42ID:yrZsjChA0
そもそもシーケンシャルなのかランダムなのか、全部読む必要があるかも書かないアホは相手にしなくていい
0563デフォルトの名無しさん (ワッチョイ 4d5f-tvb5)
垢版 |
2023/10/04(水) 00:31:45.83ID:tEPtnvh30
初心者です。教えてください。

フォーム上に設置したテキストボックスに垂直スクロールバーを表示させたいのですが、どうやっても表示されません。
this.textBox1.WordWrap = false;
this.textBox1.ScrollBars = ScrollBars.Horizontal;
とコードに書いても、デザイン画面でプロパティの設定をしてもダメなんです。

何か考えられる原因ってないでしょうか?
0564デフォルトの名無しさん (ワッチョイ 4b7e-YUNq)
垢版 |
2023/10/04(水) 00:46:48.64ID:ilRYnuxO0
垂直はverticalで、スクロールバー出すならmulch lineにする必要があるのでは
0566デフォルトの名無しさん (ワッチョイ 4d5f-tvb5)
垢版 |
2023/10/04(水) 09:21:50.20ID:tEPtnvh30
本当に本当にごめんなさい。

私が実現したかったのは水平スクロールバーでした。
横に長い文字列を幅の狭いテキストボックスに表示させたいのです。

WordWrap=false 以外に、水平スクロールバー出現の条件って何があるのでしょうか?
0570デフォルトの名無しさん (ワッチョイ 4d5f-tvb5)
垢版 |
2023/10/04(水) 14:32:01.42ID:tEPtnvh30
自己解決しました。

text-alignがcenterだったので出現しなかったようです。
leftにしたら表示されるようになりました。

お騒がせしました。
0573デフォルトの名無しさん (ワッチョイ 4d5f-tvb5)
垢版 |
2023/10/04(水) 17:15:05.33ID:tEPtnvh30
たびたびすみません。
教えてください。

先に質問させていただいた、スクロールバー問題ですが、いろいろと原因を探る際に
フォーム上に新規でテキストボックスを作ってプロパティをいじっては消して、また新たにテキストボックスを置いては消してを
繰り返しているうちに、ビルドエラーが起こるようになってしまいました。
フォームのデザイナーcsの記述がおかしいのだそうです。
画面上でコントロールを配置してるうちに自動で生成されるコードだと思うのですが、一般に、こうなってしまったらもうアウトなのでしょうか?
それとも上級者の方なら裏で生成されているコードだろうと原因を見つけて修正できるものなんでしょうか?

素人は、こうなることを想定して、ちょくちょくバックアップをとっておくのが常識ですか?
あるいはいつでも過去の時点に戻れるというGitという技術を学んでおくべきなのでしょうか?
0577デフォルトの名無しさん (ワッチョイ 85ad-6Yc9)
垢版 |
2023/10/04(水) 20:06:10.93ID:IxOB0Zn80
コードの記述がおかしいってビルドエラーなら初心者でも修正できるでしょう。
別のフォームで試すべきでしょう。
0579デフォルトの名無しさん (ワッチョイ 9b2f-cjYK)
垢版 |
2023/10/04(水) 21:32:21.83ID:GiHPLbjK0
VBAの内部計算につかう型は結構複雑な変換をする
33.6@ * 整数変数の結果は、Currency型だぜ
多くの関数や演算子で、より精度の高い型を使おうとするんだが、べき乗はDoubleしか返さん仕様っぽいな
自分でCurrencyかDecimalでべき乗する関数作れば解決
0583デフォルトの名無しさん (ワッチョイ 2db5-2pcI)
垢版 |
2023/10/05(木) 16:07:43.30ID:2IRC/f3j0
ブラウザ変えたらスレ誤爆は減ったけど、レスしたい相手のレス番とレスアンカーとで
後者のほうが遙かに目立つ設定になっているのでそこで自分に誤爆するようになった。
0589デフォルトの名無しさん (ワッチョイ dd5f-ZTan)
垢版 |
2023/11/07(火) 13:56:31.02ID:yst4YU0a0
ListboxでCtrl+C押すとCから始まる要素に選択が移るの無効化する方法はありますか?
というかCtrl+任意のアルファベットでそれから始まる要素を順番で選択していくよくわからない仕様
0591デフォルトの名無しさん (ワッチョイ 1934-2Qt4)
垢版 |
2023/11/07(火) 21:32:56.13ID:X6XbGtCR0
VSCodeの拡張の「C# Dev Kit」って、これってどう言う作業をしたらお金がかかるの・・・・?
0603デフォルトの名無しさん (ワッチョイ ed3b-TEr0)
垢版 |
2023/12/02(土) 13:33:19.68ID:igqNkY680
業務系だとC言語で書かれたデバイス管理用DLLが32ビット版しか用意されてなくて
呼び出すC#側も32ビットにしないといけないとかあったなー
0607デフォルトの名無しさん (ワッチョイ ed3b-TEr0)
垢版 |
2023/12/02(土) 21:08:34.41ID:igqNkY680
Windowsが64ビットだとAnyCPU指定で64ビットのCLRが使われる
そうすると外部の32ビットDLL呼び出しが失敗する
0614デフォルトの名無しさん (ワッチョイ edb0-TEr0)
垢版 |
2023/12/05(火) 12:56:42.14ID:oAtmO2mi0
そもそもターゲットプラットフォーム x86・x64の意味が分からん
.NETってJavaと同様に中間コードを吐いて、実行時にネイティブコードにコンパイルされるんじゃなかった?
x64ビルドすると中間コードではなくネイティブコードになるのか?(そんなことなさそうだけど)
0615デフォルトの名無しさん (アウアウウー Sa21-wVFe)
垢版 |
2023/12/05(火) 15:35:56.36ID:QJai9ytva
x86ネイティブとx64ネイティブがあるんだから
それぞれ別ですわ
0616デフォルトの名無しさん (ワッチョイ 5e1b-6Gjo)
垢版 |
2023/12/05(火) 17:32:41.16ID:by2uRrck0
32bit向けのしか提供されてないネイティブDLLを使いたいけど64bitOSで実行したら64bitプロセスにしかならないから32bitOSで実行しないといけない、とかあり得ないでしょ
Windows XP x64が64bitプロセスで32bit DLLをロードできてたら.NETでのx86/x64の区別もなかったかもね
0617デフォルトの名無しさん (ワッチョイ ed82-TEr0)
垢版 |
2023/12/05(火) 18:19:44.63ID:oAtmO2mi0
>>616
64ビットOSで32ビットプロセスとして実行したい場合は「32ビット優先」というチェックボックスがVisual Studioにはある
x86・x64・AnyCPUを選ばせる意味が分からん
0621デフォルトの名無しさん (オイコラミネオ MMb5-tBUZ)
垢版 |
2023/12/05(火) 21:53:36.93ID:FaYTGBpOM
選ばせる意味が分からないと言う前に調べれば良い

AnyCPUは本当にAnyCPU向け
intel系に特化してるわけではない

AnyCPU指定したら実行環境で既定の動作で解釈して実行してるだけで
自分が思ったように動かないと言うのはお門違い
環境を考慮して希望するような動作をするよう作らない人間が悪い
x86用やx64用やARM用などにしたいなら自分でそのように作れば良いだけ

蛇足だが
WinCEの頃(2006年前後)に.net compack用にビルドしたformアプリのバイナリが
自分の触ってる範囲内(dllimportしてるのは除く)ではそのままwindowsでも動いていた
0622デフォルトの名無しさん (オイコラミネオ MMb5-tBUZ)
垢版 |
2023/12/05(火) 22:13:53.72ID:FaYTGBpOM
AnyCPUは本来はどれにも特化してない
AnyCPUは本当にAnyCPU

それを特化したいなら個別でx64用などを作れと言うこと

AnyCPUなのにバイナリが同じで各種の特化した動作もさせたいなら自分で工夫しろと言うこと
0628デフォルトの名無しさん (スップ Sdea-ws2i)
垢版 |
2023/12/05(火) 23:12:14.55ID:lWioH7RCd
もしかして倉庫番君?
0632デフォルトの名無しさん (ワッチョイ 37a7-xitH)
垢版 |
2023/12/10(日) 13:46:22.51ID:i8qnhfu60
UnsafeAccessorが思ったより出来る事少なくて萎えてるんだけど
自前コンパイラとか作らずVSでもアクセシビリティ全開にするにはRoslyn改変すればええんかね
dnSpyなんかでTopLevelBinderFlags扱う所をパッチ当ててIgnoreAccessCheckTo属性つければ行けるか?
0634デフォルトの名無しさん (スププ Sd32-aOAY)
垢版 |
2023/12/18(月) 13:29:46.28ID:akS4qm1+d
こちらで聞いて良いのか分かりませんがお貸しください
winformsはそのうちサポート終了でマルチプラットフォームに切り替わると思うんですが、サーバーをローカルで使用でする場合、現状はSQLiteぐらいしか選択肢ないですか?
SQLSeverExpressが使えたらありがたいんですが…Androidでは使えませんもんね…?
0637デフォルトの名無しさん (ワッチョイ 5fad-rlDE)
垢版 |
2023/12/18(月) 21:34:06.28ID:GdmdOcuj0
難解な相談だ…
0638デフォルトの名無しさん (スップ Sd52-WbId)
垢版 |
2023/12/18(月) 22:39:00.24ID:+pFRQ7h5d
というか決め付けている時点で馬鹿だろ
0644デフォルトの名無しさん (スププ Sd32-aOAY)
垢版 |
2023/12/19(火) 20:29:07.20ID:RneFMMN0d
質問者です
.net frameworkがサポート終了するということで、マイクロソフトとしてはマルチプラットフォームを中心に進めるのかと思っております
現状、winforms+SQLSeverExpressで作ったのがあるんですが、今のうちにマルチプラットフォームで作り直そうかと思ってます
となると、ローカルサーバーはSQLiteしかない?というのが質問の意図です
顧客情報をクラウドに上げたくないので、なんとかローカルでと思ってるんですが、大人しくSQLiteが無難でしょうか
プログラマーでもない馬鹿な素人なので、どうしようかなーと迷っております
0645デフォルトの名無しさん (ワッチョイ a737-hmxp)
垢版 |
2023/12/19(火) 21:00:50.96ID:XAzCLPEe0
>>644
.NET frameworkが終わるかどうかということと、各種RDBMSのC#向け?のまともなAPIの提供がなくなるのかというのは話が別で、
今でもSQLServer+Javaとかで組めるし、逆に.NET
FrameworkだろうがnodeだろうがPythonだろうが SQLiteやmysql、 PostgreSQLなどのRDBMSは自由に使える
.NET Frameworkが終了して間違いなく無くなるところはWindows限定の機能だけで、普通のビジネスアプリならUIUXまわりだけなんじゃないかな。要は、 SQLiteしかないなんてことはないよってこと。
0646デフォルトの名無しさん (スップ Sd52-WbId)
垢版 |
2023/12/19(火) 21:14:39.88ID:6Vosl3jud
>>644
馬鹿な素人が馬鹿な考えで勝手に決め付けて質問しないでくれる?
0648デフォルトの名無しさん (ワッチョイ 167b-m0Z7)
垢版 |
2023/12/19(火) 21:27:34.71ID:hFwQrJfs0
マイクロソフトとしてはマルチプラットフォームを中心に進めるのにあたってXamarinからNET MAUIに移行したけどうまくいってるようには見えないね
C#そのものがMonoがベースのものがあったとはいえ、マルチプラットフォームに基本むいてないと思うんだ
マルチプラットフォームが大事ならJAVA系統やElectronを最初から使った方がいいと思う
0649デフォルトの名無しさん (スッップ Sd32-h/iu)
垢版 |
2023/12/19(火) 21:42:21.68ID:hhJDxpJyd
ローカルってのがこの場合何を意味してるのかイマイチわからない
クラウドじゃなければいいってだけなのかアプリを起動する端末で動かしたいって意味なのか
0651デフォルトの名無しさん (ワッチョイ ef0d-x+z/)
垢版 |
2023/12/19(火) 22:48:28.15ID:1H2Lmi950
C#は.NETの主要言語だから関係ないってことはないと思うけど?
0654デフォルトの名無しさん (オイコラミネオ MM8f-fH6R)
垢版 |
2023/12/19(火) 23:10:23.22ID:yTr/LnH+M
> 今のうちにマルチプラットフォームで作り直そうかと思ってます
この部分が不明瞭だな
何を使えばとかじゃなくてさお前が何でどうするつもりなのか書いてない

今まで使ってなかったandroid使うのは意味あるのか?
セキュリティ上のリスクが広がるだけだぞ?

普通にwebアプリで作りなおせばいいじゃないか
プログラマじゃないならそれ以外選択肢を広げる必要はない
金払って専門家に聞いて作ってもらえ
間違っても自分で作るな自殺行為だ
時間の無駄だしメンテナンス自分らで出来るのかよと

こんなところで意味不明な質問すんなと思うけど
0655デフォルトの名無しさん (ワッチョイ 5fad-rlDE)
垢版 |
2023/12/19(火) 23:36:30.11ID:2xGBuyV90
>>644
.Net Frameworkは少なくとも2031年まではサポートされるからまだ終了しない
そもそもMicrosoftがマルチプラットフォーム中心に進める?ってのもおそらくはるか先の話のような気がする
顧客情報はAndroid上で素人が作ったアプリとデータベースで扱うよりもクラウドに上げたほうが安全ではないか
インターネットアクセスしないってならAndroidである理由もないし…
0656デフォルトの名無しさん (ワッチョイ 2701-ztdx)
垢版 |
2023/12/19(火) 23:52:53.70ID:q2NT0BWU0
今日の.net recapでも.net frameworkは4.6以上なら今後も大丈夫って言ってた
新規作成なら.net 8を勧めてたけど

というかプログラマーでない素人が構成の判断できるのというか判断しようとする状況が謎
0658デフォルトの名無しさん (オッペケ Sr47-aOAY)
垢版 |
2023/12/20(水) 11:38:21.97ID:FbF/zS4Vr
>>656
新規でマルチプラットフォームを勧めるとなると、やはりwinformsは将来性に欠けるということなんでしょうね…
素人とは言っても元は組み込みやwinで業務開発や趣味でゲーム作ったり、全くの素人ではないんですけど、今の開発ノウハウが未知の世界だったので質問させて貰いました

>>654
マルチプラットフォームを作るならwinもAndroidも意識して作れたらなと思うのは欲張り過ぎなんでしょうか?
マルチプラットフォームでやるとなると、AzureあたりでクラウドにDB置いてやれよって話になってきますかね…


とりあえず、真面目にレスしてくださった方々ありがとうございました
やはりプログラマーは変な人多い笑
0659デフォルトの名無しさん (ワンミングク MM42-Utpv)
垢版 |
2023/12/20(水) 12:13:29.53ID:OGCkl0pwM
>>658
最初から最後までお前がおかしい
死ねよ
0662デフォルトの名無しさん (ワッチョイ 1ede-InpM)
垢版 |
2023/12/20(水) 14:58:18.86ID:KioxTu1X0
SQLiteはサーバーじゃないんだよ
Androidアプリは自由にサーバープロセスを起動できないからPostgresのようなDBサーバーは基本的に使えない
だからローカルDB用途ではサーバー型ではなく埋め込み型DBのSQLiteが標準的に使われる

Androidをターゲットに含めていてデバイスローカルなRDBを使いたいということならSQLite一択だと思っていい(実際には他にも選択肢はあるが有償製品か超マイナー製品になる)

AndroidアプリならWindows上のエミュレータで動かすことが可能
でもAndroidがメインターゲットじゃないなら大人しくWindows専用で作ったほうが初期開発時でも保守でも低コスト
Webアプリでなければマルチプラットフォーム対応のGUIライブラリを使ったところでAndroid用アプリ開発のノウハウは必須だから
0663デフォルトの名無しさん (スップ Sd52-WbId)
垢版 |
2023/12/20(水) 15:00:15.55ID:9dVRiylod
>>660
馬鹿は消えろ
0664デフォルトの名無しさん (アウアウウー Sa43-Qk2W)
垢版 |
2023/12/21(木) 06:12:13.84ID:UhKmw0Fna
昔のマルチプラットフォームは、Cordova が有名だったけど、
今は、React Native, Flutter, Electron あたりか

ウェブ開発では、Ruby on Rails 一択。
Rails は、PostgreSQL, MySQL, SQLite の3大データベースに対応している。
ただし本番用では、PostgreSQL一択。
SQLiteは開発用・個人用など

AWS Aurora は、PostgreSQL, MySQL に対応している。
SQLiteはブラウザなど、多くのアプリに含まれて使われている

YouTube で有名な雑食系エンジニア・KENTA が言ってるけど、
初心者がプロになるキャリアパスは、Rails → Go のみ

基本、この2つのみが渡り歩くプロ。
それ以外は会社員・サラリーマン

米国年収では、Rails, AWS Solution Architect は、2千万円近い。
ウェブ開発ではLinux, Docker も必須だから、
Windows 10 のWSL2 で、Linux を起動できるようにした

他に、Google Apps Script(GAS) もある。
JavsScript をベースにした言語

Gmailやカレンダー、Googleスプレッドシート、Googleドライブ、
YouTube、Googleアナリティクス、BigQuery など、
100以上のGoogleサービスと連携

Google Apps Script クローリング&スクレイピングのツボとコツがゼッタイにわかる本、
五十嵐貴之、他2名、2023/6
0666デフォルトの名無しさん (ワッチョイ ef69-x+z/)
垢版 |
2023/12/21(木) 09:25:54.27ID:vxG8mm4D0
>>664
C#に関係なさすぎ
0667デフォルトの名無しさん (ワッチョイ 9242-GmfI)
垢版 |
2023/12/21(木) 09:56:09.44ID:9QdUk3Q20
気になるのはSQLiteを使ったこと無いくせに過小評価していると思われることだな
SQLiteはストアドプロシージャ使えないくらいで検索やデータ更新では他のRDBと遜色ないし
速度的には最速に近いレベルだ(ローカルのみだから余分な処理が要らない)

アンドロイド+スタンドアロンで使うレベルなら寧ろ最強だよ
0668デフォルトの名無しさん (ワッチョイ a7b9-hmxp)
垢版 |
2023/12/21(木) 10:37:28.63ID:jZWSvXPU0
>>647
他の人も書かれてるけど、androidでは無理。
でも、androidにローカルDBを置く設計が本当に正しいのかは考えた方がいいのではないのかな。何を置きたいのかはわからないけれど。
0670デフォルトの名無しさん (スッップ Sd32-vc2W)
垢版 |
2023/12/21(木) 17:12:06.88ID:LNU8mT+Vd
この人のローカルって、
アプリケーションローカルじゃなく
ローカルエリアネットワークの方じゃない?
社内LANにDBサーバーまではセーフ
社外のクラウドはアウトとか

各プラットフォームでバラバラに顧客情報を持ってたら
管理面もセキュリティ面も現実的じゃないし
0672デフォルトの名無しさん (ワッチョイ 928e-WbId)
垢版 |
2023/12/22(金) 01:49:52.54ID:z7Bd7Dwu0
馬鹿はAndroidで作れば未来永劫使えるとでも思ってるのかね
0675デフォルトの名無しさん (ワッチョイ bf12-pDLy)
垢版 |
2023/12/27(水) 12:41:39.37ID:YJr678qw0
Razor Pageに関して質問があります。

Html.DropDownListで、指定したアイテムリストのうちの特定の値が選択された状態でHTMLを出力できないでしょうか
Html.DropDownListForだったらできるが、Html.DropDownListでは不可だということもありますか。

やりたいことは、OnGetハンドラ内で指定した特定の値をHtml.DropDownListで選択状態にすることです。
Html.DropDownListで、特定の値が選択された状態にしようといろいろやってきたのですが、お手上げです。

例えば、次の設定(value = defaultValue)は有効ではありませんでした。
Html.DropDownList(name, selectList, new {@class = "form-control", id = id_dropdownlist, @value = defaultValue})

また、OnGetハンドラ内でこのドロップダウンリストがバインドするページのプロパティに予め特定の値を書き込んだうえで、
「return Page();」してみたのですが、<select>タグの「value」にはその特定値が設定されるものの、アイテムが選択状態になりません。

しかし、ポスト時には、同じコードで、きちんと前の状態が選択状態になっているのです。
0677デフォルトの名無しさん (ワッチョイ bf12-zNfU)
垢版 |
2023/12/28(木) 00:40:27.74ID:1OAyr0cC0
>>676
レスありがとうございます

Html.DropDownListForだと、Selectedを指定したSelectListを使わずに指定した値の項目を選択状態にできていたと思うので、
Html.DropDownListでも同じことができるのかと思っていました

Selectedを指定したSelectListを、Html.DropDownListのアイテムソースに指定して再挑戦してみます
0678デフォルトの名無しさん (ワッチョイ bf12-zNfU)
垢版 |
2023/12/28(木) 00:46:47.27ID:1OAyr0cC0
>>675
これについて、OnGet時にHtml.DropDownListの値を設定してもその値が選択状態になることはなく、同じ設定でもポストした後にリターンされて表示されるページでは特に設定せずに選択状態になるのでしょうか

不思議でなりません
0679デフォルトの名無しさん (ワッチョイ bf12-zNfU)
垢版 |
2023/12/28(木) 12:24:02.96ID:1OAyr0cC0
>>676

>>676です。うまくできました。
ありがとうございます。
0680デフォルトの名無しさん (ワッチョイ 9901-Lfd8)
垢版 |
2024/01/02(火) 08:13:35.09ID:QfsoOIm80
システム構築にあたって、c#よりjavaのほうが技術者が多いという理由でjava採用されそうなんだけどIDEの生産性は圧倒的にc#という理由では弱いかな
社内にc#推しが少なくて負けそう
0682デフォルトの名無しさん (オイコラミネオ MM49-9iEs)
垢版 |
2024/01/02(火) 17:32:48.59ID:R2nJRVPVM
C#を触り始めてから20年以上経つけどjavaと比べるとC#は常に日陰の立場だった
勢力は常に10分の1ぐらい

最近はUnityのおかげで注目度が上がっているけどUnity無ければどうなっていたのかと
そのUnityで使われてたのもMonoだし
0684デフォルトの名無しさん (ワッチョイ 6278-VVzI)
垢版 |
2024/01/02(火) 18:45:04.04ID:q6M1ebN00
Javaの技術者が多いならJavaでいいじゃん
でなきゃできないやつには学習コストもかかるし全体の生産力が落ちればできるやつの負担も大きくなる
なぜわざわざ仕事を増やすんだ
0687デフォルトの名無しさん (オイコラミネオ MM49-9iEs)
垢版 |
2024/01/02(火) 19:03:02.14ID:R2nJRVPVM
C#は知名度がないわけじゃなかったけど
積極的に選ばれることはなかった

C#は残念ながらホビーユース的な側面が強く
業務向けで取り入れられるのはまずjavaついでC++、ライトな開発でVBが採用されていた
ゲーム向けでも選ばれることはない状況
田舎だと求人はない

なので何目的でC#使ってるのと言われることが多かった
そう聞いてくるのは十分理解できるしそれがまともだとも思えた
0693デフォルトの名無しさん (ワッチョイ b1d4-17UW)
垢版 |
2024/01/03(水) 08:24:24.02ID:4PiOBEiL0
ゲーム開発ではC#って使われてるんじゃないの?
Unityの主要言語がC#じゃなかったっけ?
0696デフォルトの名無しさん (ワッチョイ 6529-QK8A)
垢版 |
2024/01/03(水) 13:12:32.78ID:3mJitcl/0
ゲームとかオンラインゲーでも無い限り
GCみたいなプチフリ起こす様な言語は使わない
0697デフォルトの名無しさん (ワッチョイ be36-NoMX)
垢版 |
2024/01/03(水) 17:02:40.92ID:5JSJz+l40
# >>692
# PowerShellで実行
$Voice = New-Object -ComObject SAPI.SpVoice; `
$Voice.Rate = 5.9; `
$Dreamcast = @"
C#, C♯, C#相談室 Part97|プログラム技術@2ch掲示板
ps://mevius.5ch.net/test/read.cgi/tech/1671585518/692

「comてなんなん?わけわからんわ
メリットってなんかあるん?」
"@; `
$Voice.Speak($Dreamcast);
0702デフォルトの名無しさん (ワッチョイ 6564-QK8A)
垢版 |
2024/01/03(水) 19:56:53.79ID:EZoddLE+0
>>701
あ?
ガベコレに処理が奪われて一瞬動きが固まるってのがプチフリだぞ
0708デフォルトの名無しさん (ワッチョイ 6564-QK8A)
垢版 |
2024/01/04(木) 13:24:52.36ID:1KQpMTCj0
メモリー足りるかどうかなんてユーザー次第だからなぁ
作成側がメモリー足りてるなら云々なんて意味の無い話
0710デフォルトの名無しさん (ワッチョイ 6564-QK8A)
垢版 |
2024/01/04(木) 13:33:48.47ID:1KQpMTCj0
銀行w
0720デフォルトの名無しさん (ワッチョイ ff7b-taqZ)
垢版 |
2024/01/07(日) 06:08:16.97ID:cuceqyls0
そもそもここはふらっとの隔離スレ
アホがここでレスバトルしていようが平常運転。フレームワークのGCのフリーズやらの話がOSのスワップと混ざろうが放置でいい
アホがふらっとで暴れていたら知らん
0723デフォルトの名無しさん (ワッチョイ 5f7c-R8yo)
垢版 |
2024/01/10(水) 14:44:35.04ID:khlXVQ3Q0
>>721
メモリ多く積んだ方がフリーズするぞ
メモリ多ければGCされる前の待機容量が多い
その多いのをGCするからフリーズする

逆に少量GCするならフリーズしない

じゃあ小まめにGCする様にすればいいかといえばそれはそれで小刻みに一瞬止まる事態が頻発する
要はバランスって事だ

でもってGCで気になるならもうC++かRustでも大人しく書けという話
0725デフォルトの名無しさん (ワッチョイ 7f79-e2pS)
垢版 |
2024/01/10(水) 19:43:54.17ID:EMlOCE0F0
クリティカルなコードはオブジェクト生成しないように書けばGCが起こらないように思うんだけど
C#はそういう予測って立たないのかな?そんなわけないと思うけど
0726デフォルトの名無しさん (ワッチョイ dff7-1VUN)
垢版 |
2024/01/11(木) 08:35:22.64ID:8oRrkiTZ0
GCはJavaのほうが発展していてうらやましいね
GCの停止時間を1ミリ秒以内に抑える(その代わりGC回数は多くなる?)GCなど
シナリオに合わせてGCを選べるようになっている

GC停止1ミリ秒以内ならゲームで使ってもプチフリーズやフレームドロップは発生しないんじゃないかな?
0727デフォルトの名無しさん (ワッチョイ 5f7c-R8yo)
垢版 |
2024/01/11(木) 09:06:08.03ID:Z4cA3bDk0
>>726
C#でも設定すりゃ良いじゃん
まさか知らんのか?
0729デフォルトの名無しさん (ワッチョイ dfad-1VUN)
垢版 |
2024/01/11(木) 09:24:08.23ID:8oRrkiTZ0
>>727
知らなかった!調べてみるね!
0731デフォルトの名無しさん (ワッチョイ dfde-1VUN)
垢版 |
2024/01/11(木) 10:44:24.74ID:v1L417pI0
C#では業務システムしか作ってないから数秒程度のGC停止時間なら気にならん
0743デフォルトの名無しさん (ワッチョイ 5ea6-3veX)
垢版 |
2024/01/29(月) 10:30:09.66ID:dGZn/ppm0
>>742
急に何の話?
0745デフォルトの名無しさん (ワッチョイ 5ea6-3veX)
垢版 |
2024/01/29(月) 10:46:44.99ID:dGZn/ppm0
>>744
時間のかかるループやファイルアクセスでUIスレッドをブロックするのとガベコレは関係ないぞ
画面がフリーズしてるように見えるというのは同じだけれども
0749デフォルトの名無しさん (ワッチョイ 8a9c-3veX)
垢版 |
2024/01/29(月) 11:40:44.76ID:PEbZr1pB0
さすがにフリーズの原因がガベコレかどうかは特定できてる前提の話だろ
ブロッキングの場合は毎回同じ処理で起きるしコード見れば比較的簡単に分かるが
ガベコレの場合はメモダン取ったりプロファイリングしないと基本的に分からない
0750デフォルトの名無しさん (ワッチョイ 9a11-5smM)
垢版 |
2024/01/29(月) 21:06:20.22ID:JWDJ+6EM0
最初からGCのプチフリ(STW)に限定した話してるのに何で余計な話始めるかな
似て非なる現象だから一緒に扱おうとしても話が発散するだけで何一つ良いことないのに
0754デフォルトの名無しさん (ワッチョイ 97de-AzCP)
垢版 |
2024/02/05(月) 00:33:40.88ID:YVup6zAN0
C#でRazor Pageを使った開発をやってます
vue.jsを今後取り入れてユーザインターフェイスの充実もはかろうと考え勉強中です

ところで、GPT4はプログラミング業界をどう変えていくでしょうか
たしかにChatGPT3はわからないことを質問でき問題の解決に貢献してくれるので自分にも役に立っています
自分としては、GPTへの質問力、こうしたいという小さなゴールを描けることは経験が大切だと思います。プログラミングでできることはこんなものかというのを知っているから、その回答の妥当性もわかるし、自分のプログラミングに取り込むこともできると思います。

このように、開発速度が上がり、入門もしやすくなったとは思うので、プログラムを提供する業界での競争が変化すると思います

しかし、その場合はどれも似たりよったりな機能を持つ岩のようなアプリケーションしかできないように思います。ニッチなニーズに応えるにはこれまで通りに細々と開発することが求められると思います。

AIは我々から仕事を奪うでしょうか、それともラグをさせてくれるでしょうか
0758デフォルトの名無しさん (ワッチョイ 17d3-jSnV)
垢版 |
2024/02/06(火) 19:35:53.96ID:mzhSh14A0
そんなあなたにフォーリンラグ
0760デフォルトの名無しさん (ワッチョイ ffad-4LaR)
垢版 |
2024/02/22(木) 22:08:38.37ID:7ICQhr4t0
クッキーやキャッシュ等プロファイルが一切ディスクに吐き出される事なく全てInMemoryで完結するWebBrowserライブラリってある?
標準のWebBrowserはIEベースでその辺コントロールできないし
WebView2もシークレットモードにすればクッキーは希望の動作になるようだけどプロファイルディレクトリは作られてしまうようだし

CefSharpならCefSettingsBase.CachePathをnullにすれば何のファイルも吐き出されなくなるのかな?
0768デフォルトの名無しさん (ワッチョイ 9fad-cnAl)
垢版 |
2024/03/08(金) 09:50:52.29ID:34f33kWd0
すんまそん、Codeer.Friendly で引数 out byte[] を受け取るにはどうすればええんかの?
0776デフォルトの名無しさん (ワッチョイ 9eef-csuD)
垢版 |
2024/03/26(火) 15:38:39.20ID:/rkxZP9d0
なんならコードを汚さずにログ出力できる仕組みぐらいにしか理解してない

MethodBoundaryAspectでググろうとするとasyncがサジェストされるぐらいみんな興味のある話題なのね
0779デフォルトの名無しさん (ワッチョイ 823b-xOqT)
垢版 |
2024/03/27(水) 07:18:10.00ID:XwV54cRR0
specmanしか知らない
懐かしい
0782デフォルトの名無しさん (ワッチョイ 5e7b-ARTg)
垢版 |
2024/03/28(木) 00:09:14.30ID:UTIaoJmC0
ターゲットフレームワークに .NET Framework 4.5.x を選択出来ない
https://www.hos.co.jp/blog/20200427/
だましだまし使っていたPCぶっ壊れて新しい環境にVisual Studio入れようとしたら落とし穴が
>結論から申し上げますと、VisualStudio 2019 よりも先に VisualStudio 2017 をインストールしておく必要があります。
2017 Communityはもうないじゃねーかwまあ趣味でやってるだけだからいいけど
あわてて4.6.2以降のSDK全部ダウンロードしたわ
0802782 (ワッチョイ 5e7b-ARTg)
垢版 |
2024/03/30(土) 23:55:14.69ID:jHHFS1QU0
>>785
ありがとう、たしかに2017Communityのインストーラーダウンロードしてコマンドで「フルで」落とせた
ただ1、2時間で終わりそうもなかったのでPC放置して帰ってきたら終わってたというありさまなので何時間かかったかすらわからないw
そしてサイズ把握すら面倒な軽く40ギガ越えw
必要のない言語やパッケージなど省けばいいんだろうけど、layoutスイッチの段階で本来やることだろうな
そして時間かけてダウンロードできたものの、省く作業もめんどくさいので10分ほど作業したら嫌になって全部捨てたw
まあ手元に2017Expressあったので、そっち使うことにしたよ。馬鹿な俺にはそれで十分以上w
>>784
ないなwただの馬鹿なこだわりw
ただ信憑性のない俺のうろ覚えでは4.5がSSL通信ができる最低、4.6.2がファイルパスの長さ制限が緩和される最低、そして4.0がほぼ廃棄物扱いのXPで動く最大
個人的なこだわりではファイルパスの長さ緩和の4.6.2が必須だな
仕事でやってる人はこのあたりガチで把握して仕様にするんだろうけど
0809デフォルトの名無しさん (ワントンキン MMb9-tTIK)
垢版 |
2024/04/02(火) 21:57:04.07ID:tM4JaVUkM
Windowsフォームでユーザーコントロールを使ってページ遷移させようとしています
使おうとしているページ全て、ボタンの位置やメソッド等構成が似ているのですが、ストラテジパターンを使うことはできますか?
0814デフォルトの名無しさん (ワッチョイ b7f7-1WnM)
垢版 |
2024/04/17(水) 21:18:08.64ID:DrUG53yb0
なんだよぉ、標準でhtmlのパース出来ないのかよぉ
0816デフォルトの名無しさん (スププ Sd70-Kyf3)
垢版 |
2024/04/21(日) 09:28:50.58ID:kkMgtfsMd
frameworkから.NET8に切り替え中なんですが、Chartコントロールは使えないんでしょうか?
Nugetに.NET5まで対応のはあるんですが…諦めて自作するしかないでしょうか?
0819デフォルトの名無しさん (ワッチョイ 0b06-ScBY)
垢版 |
2024/04/26(金) 03:07:42.08ID:uBqHGNmO0
C# プログラマって、リリコミットして、キモいおじさん(上司)に思ってもないこと言って、お金(給料)を騙し取ってる。

会社では働きもしないで pc いじってるだけ。

C# プログラマは頂き女子とやってることが本質的には同じなので、渡辺マイこと頂き女子リリちゃんの共同正犯とし裁き、懲役10年ぐらい食らわすべき。
0820デフォルトの名無しさん (ワッチョイ bef7-TtlX)
垢版 |
2024/04/26(金) 05:28:47.83ID:sVskNqAC0
理解出来るのと意味不明を同時に感じた
0823デフォルトの名無しさん (ワッチョイ 7f10-hrwJ)
垢版 |
2024/04/28(日) 21:54:37.63ID:gvuAb1r50
age
0824デフォルトの名無しさん (ワッチョイ df79-V7Lt)
垢版 |
2024/04/29(月) 03:38:17.96ID:xgq67JZI0
だこ
れん
かや
が1
し2
ぬじ
0826デフォルトの名無しさん (ワッチョイ 8733-gD5X)
垢版 |
2024/05/01(水) 12:11:09.24ID:D2bEclTr0
あれ? SQLite使ってると単一ファイルで発行すると実行時に例外吐く?

Unhandled exception. System.ArgumentNullException: Value cannot be null. (Parameter 'path1')
at System.ArgumentNullException.Throw(String paramName)
at System.IO.Path.Combine(String path1, String path2)
at System.Data.SQLite.SQLiteConnection..ctor(String connectionString, Boolean parseViaFramework)
at System.Data.SQLite.SQLiteConnection..ctor(String connectionString)
at Program.<Main>$(String[] args) in (プロジェクトファイルのパス)\ConsoleSQLite\Program.cs:line 12
0832デフォルトの名無しさん (オイコラミネオ MM9b-hlId)
垢版 |
2024/05/05(日) 14:24:32.61ID:RDj8FFoxM
webview21について質問です。
これはクロニウムベースのブラウザコントロールですが、
これを使ってwebページを開いたら降りてくるクッキーはWindowsに入ってるedgeと共有されるのでしょうか?
edgeとアプリで作る手製ブラウザとは設定やクッキーや閲覧履歴などが干渉し合わないようにしたいです
0834デフォルトの名無しさん (ワッチョイ 2e62-bpr/)
垢版 |
2024/05/06(月) 04:24:31.59ID:Y1eRVlKT0
Twitterで情報収集しようとしたらこの言語検索性悪過ぎて草生えた
C#で検索しても#が認識されなくてただのCとして検索されるし、プログラミング関連のワードで絞ってもC言語とかが邪魔してくる
.Netで検索すると今度は無関係のURLリンクが引っかかる
0840デフォルトの名無しさん (ワッチョイ 4a0c-4JBT)
垢版 |
2024/05/06(月) 16:58:20.58ID:ojuI1p9d0
Xは時事ネタを検索するには便利だけど専門的なことは期待できない
google検索も企業ファーストに舵を切ってから役に立たないし、それ以前に有用なサイトをブクマ出来てない人は苦労しそう
レスを投稿する


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