ふらっと C#,C♯,C#(初心者用) Part160

■ このスレッドは過去ログ倉庫に格納されています
2024/02/11(日) 09:17:20.44ID:8k78Qd14M
!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を3行冒頭に書くこと(1行分は消えて表示されない為、もう1行は予備)
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください。見かけたらNGしましょう。相手してしまったらあなたも荒らしです
>>980を踏んだ人は新スレを建てて下さい。>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっと C#,C♯,C#(初心者用) Part159
http://mevius.5ch.net/test/read.cgi/tech/1691454079/
■関連スレ
C#, C♯, C#相談室 Part97
https://mevius.5ch.net/test/read.cgi/tech/1671585518/
■コードを貼る場合は↓を使いましょう。
https://ideone.com/
https://dotnetfiddle.net/
初心者はまずVisual Studioを使いましょう。なおVisual Studioの使い方などに関しては各バージョンで違うので専用スレでお願いします
http://www.visualstudio.com/downloads/
■情報源
https://learn.microsoft.com/ja-jp/dotnet/standard/class-libraries
https://learn.microsoft.com/ja-jp/dotnet/csharp/language-reference/
https://learn.microsoft.com/en-us/dotnet/standard/class-libraries
https://referencesource.microsoft.com/
https://source.dot.net/
・Insider.NET > .NET TIPS - @IT
https://www.atmarkit.co.jp/ait/subtop/features/dotnet/dotnettips_index.html
・DOBON.NET .NET Tips
https://dobon.net/vb/dotnet/index.html
++C++; // 未確認飛行 C
https://ufcpp.net/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
2024/04/21(日) 15:02:47.54ID:ZhmDOSdI0
俺は>>255が何を考えているのか知らんけど、
>>258が例えばユーザー毎のアクセス権とかパスワード変更とかを気にしているのであれば、
Webアプリケーションだろうがexeだろうが一緒だから省略してるよ。
2024/04/21(日) 15:50:12.42ID:xRhlemXE0
>>255
普通のアプリ開発だと
普通の画面にある機能は誰でも実装できるけど
認証機能は難しすぎて問題すら解らない領域だから
通常はクラウドの機能を使うとかライブラリー当てて何も考えないで終わりが通常
261デフォルトの名無しさん (ワッチョイ 4d7c-Dx6U)
垢版 |
2024/04/21(日) 16:01:02.28ID:OlMPLRoS0
SSOだのSAMLだの考えろよ
2024/04/21(日) 16:58:28.83ID:yf+CF1E90
SSOだのSAMLだのはgptで出てくるから脳死でコード貼り付けるだけよ
2024/04/21(日) 17:36:10.77ID:kzaFeVxs0
なぜ今SAML...
264デフォルトの名無しさん (ワッチョイ 4d7c-Dx6U)
垢版 |
2024/04/21(日) 17:54:00.12ID:OlMPLRoS0
>>263
世の中てそんなもん
他システムがOpenIDConnectに対応してるのなんて少ないんだよ
2024/04/21(日) 21:41:30.39ID:kzaFeVxs0
>>264
たとえば?
2024/04/21(日) 22:01:28.14ID:mUhNnjHx0
いいよもう
最初の質問者いねーやろ
2024/04/21(日) 22:03:07.54ID:aQcOPWvZ0
そもそも遅レスにも程がある
268デフォルトの名無しさん (ワッチョイ d010-YiC7)
垢版 |
2024/04/21(日) 22:12:37.11ID:cTDNZi+40
不適切にもほどがある!
269デフォルトの名無しさん (ワッチョイ 7f10-hrwJ)
垢版 |
2024/04/28(日) 21:54:53.21ID:gvuAb1r50
age
270デフォルトの名無しさん (ワッチョイ df89-TfPO)
垢版 |
2024/04/29(月) 14:21:43.84ID:UFWuh9Cl0
Passkeyも脳死でできるようにしてください
ポンコツな俺の頭には難しすぎます
271デフォルトの名無しさん (ワッチョイ bf92-y8PE)
垢版 |
2024/05/02(木) 20:09:50.89ID:rF00337I0
実装で不必要に長いコード書いちゃってでも動いてはいる場合って
修正しなくていいんですか?
2024/05/02(木) 20:12:13.03ID:rF00337I0
271に続いてこれとかも聞いておきたいです。
C#も新しい機能出てますが2018年までの知識だけで
コーディングしてる場合2024年最新の文法でかけ!
とかも言われるんでしょうか?
2024/05/02(木) 20:17:55.72ID:Hqnht7Jq0
>>272
本人に直接聞けよw
274デフォルトの名無しさん (ワッチョイ bf92-y8PE)
垢版 |
2024/05/02(木) 20:35:11.80ID:rF00337I0
>>273
そうなんですか。
ただ極端に古いコーディングだったらアウトになりますか?
taskが今流行ってるのにthreadで書いてるとか。
2024/05/02(木) 21:52:13.49ID:QVfmv8n/0
誰に言われるのを心配してるのか分からん。
目的によるに決まってるだろ。
2024/05/02(木) 21:55:12.16ID:8wCQGDmD0
時間あるならリファクタリングしなよ
2024/05/02(木) 21:59:59.83ID:GIzLXDHh0
きちんと動いているならそれはそれだけで尊いとも言えるけどな。
100% バグを出さない自信があるならなにをやってもいいけど。
2024/05/02(木) 22:22:24.21ID:kLjg1j85M
なんとなくだけど.net frameworkでしかコード書いてなかったけど.NETでコード書くってこと?
2024/05/03(金) 08:57:25.80ID:0LyxdmPR0
インデックスってあるじゃん s[1..3]みたいな
あれって操作する前に境界をチェックしないと例外発生するから結局面倒臭さは変わらないような
2024/05/04(土) 07:05:35.87ID:m91DRxZ30
OutOfRangeしても例外発生もクラッシュもしないように言語仕様で手当てされてても
アクセスした結果が正常かどうかこっちでチェックはしなきゃなんねぇでしょ
2024/05/04(土) 10:38:40.40ID:cfuYj1qj0
チェック機能付きでエラー時の値を指定できる拡張メソッドでも作れば解決じゃね?
282デフォルトの名無しさん (ワッチョイ 177c-0EWD)
垢版 |
2024/05/06(月) 19:57:19.79ID:VQ/M9zGx0
非同期asyncについて質問したい

複数の非同期関数を同時に実行して結果を受け取る
そのタスクのうち1つでも結果がfalseならば他のタスクを全て中断としたい

WhenAllでは全ての結果を待つので無駄な場合がある

WhenAnyでは最初に終わったタスク結果は受け取れるだけである

この場合どうしたら良いのだろう?
283デフォルトの名無しさん (ワッチョイ daa6-T7LG)
垢版 |
2024/05/06(月) 20:24:46.99ID:ICcIUWW40
>>282
Copilotによると
ideone.com/o0qKFx
2024/05/06(月) 20:27:40.95ID:LVbBsfNt0
タスクを実行する前に CancellationToken を作って、各タスクに引き渡しておけば?
タスクの中で失敗を検出した時点でトークンを使って他のタスクもろともキャンセルさせるとか。

実証していないから出来るかどうかは確証がないし、お作法的に正しいかは知らない。
2024/05/06(月) 22:13:47.51ID:FU9bPEH/0
>>283
非同期処理の例のTask.Delay()にもCancellationTokenを渡してあればもっと良い
各タスク完了後のtoken.ThrowIfCancellationRequested()は要らない気がする
2024/05/07(火) 01:14:21.58ID:4xW/jY0L0
ループの中でawaitしてるんはどうなん?
後ろのほうのタスクがさっさとfalse返してても無駄に待たんの?
2024/05/07(火) 01:47:46.02ID:5Pxvn/fz0
>>286
肝心なところを見落としてたorz
無駄に待ってしまうね
各タスクにCancellationTokenSoruceを渡してreturnの前にCancel()しないとだね
メインタスクのforeachは削除してTask.WhenAll()で
288デフォルトの名無しさん (ワッチョイ 665b-T7LG)
垢版 |
2024/05/07(火) 18:49:51.77ID:8e8GnC/g0
c#で現在ゲーム作成中です。
データベースに画像を保存したら01011みたいなデータになってるから
dbから直接画像を抜かれる心配ってないですか?
2024/05/07(火) 19:12:47.82ID:io+wCOfI0
DBの中覗かれたら抜かれるよ
つーか、その程度の知識ではまだ早い
290デフォルトの名無しさん (ワッチョイ 665b-T7LG)
垢版 |
2024/05/07(火) 19:18:45.15ID:8e8GnC/g0
>>289
zip暗号化をすれば何とかなると思います。
ゲームを進めていかないと現れない文字列をパスワードにします。
ステージ1クリア→g
ステージ2クリア→o
ステージ3クリア→a
ステージ4クリア→l
画像取得→パスワードgoalをdbに送信、画像取得
こんなのはどうですか?
291デフォルトの名無しさん (ワッチョイ 665b-T7LG)
垢版 |
2024/05/07(火) 20:20:10.95ID:8e8GnC/g0
すいません勘違いしてました。
2024/05/21(火) 17:27:39.52ID:8JrFSvOm0
c#の初心者講座一通りやったのでデスクトップアプリ作ろうとおもうんですが
GUIつくるにはXamlの習得が必須なのでしょうか?
Pythonで作れたりしませんかね
2024/05/21(火) 17:35:47.17ID:ugTPWt7D0
本当に初心者講座やったんかいな
2024/05/21(火) 17:36:17.20ID:hwOFRgY40
WinFormsおすすめ
2024/05/21(火) 22:26:39.95ID:qpEPG2sb0
XamlやらなくてもWinFormでつくれるし
PythonでもGUIできるぞ
296デフォルトの名無しさん (ワッチョイ 9b79-fjqD)
垢版 |
2024/05/21(火) 22:43:43.37ID:DOc9CbOo0
PyQtか?
raspberry piで便利だったな。
winformと同じポトベタ
2024/05/22(水) 01:33:45.52ID:hVxp2sKt0
>>295
>>296
どんな感じでやるんですか?
検索したいので単語とか教えてください
最悪xamlを学ぶつもりですが画面遷移で手こずってます
2024/05/22(水) 02:00:10.58ID:mGbCqjUb0
とりあえずVisual Studioインスコして遊んでみたら
299デフォルトの名無しさん (ワッチョイ 1a8e-dWDI)
垢版 |
2024/05/22(水) 03:35:52.37ID:x1qLv0vm0
>>297
普通にC#で検索すりゃ出てくるだろ
2024/05/22(水) 06:42:34.59ID:qFl+oqMo0
単語とか教えてくださいて、winformって書いてあるだろ
2024/05/22(水) 07:20:56.92ID:KZz5GmBj0
xamlがC#の初心者講座に載ってなかったのであればxamlを学ぶのは遠回りだな
次にやるべきはxamlの初心者講座だろう
2024/05/22(水) 08:10:07.77ID:7Wi0RN/NM
猫でも判る
303デフォルトの名無しさん (ワッチョイ 5b49-WgSd)
垢版 |
2024/05/22(水) 08:30:09.27ID:w1FG1Kag0
アルツハイマーでも判る
2024/05/22(水) 09:07:37.83ID:CexWTTTE0
判っても忘れるやないけ
2024/05/22(水) 12:48:57.43ID:L8+BYydH0
ROMに焼いて脳に刺す
2024/05/23(木) 17:42:28.26ID:E/x3SfJu0
xamlの本を大きめの本屋さんで探したら一冊もありませんでした
xamlを勉強する人はもうネットのリソースしか使えないんですかね
JavaScriptとasp.netはたくさんあったのに
2024/05/23(木) 17:44:43.27ID:8gaO1tDV0
取り寄せればいいだろ
2024/05/23(木) 18:35:47.08ID:2GvHvp8D0
ざむるなんかネットでええやん
2024/05/23(木) 19:06:03.13ID:Cu3zenP40
ネットでええやんというかあらゆる情報においてネットの方が良いと思うが
今はチャッジピーもあるし尚更
まあxamlは習得までのコストを考えたら明らかにコスパは悪いと思うけどね
素直にhtml、css、jsでgui作ったほうが良い
2024/05/23(木) 19:09:23.61ID:poZBDhBnM
細かいところ知らなくてなんとなくは出来るけど
意味もなく呪術を使ってるような感じに近いのかな

今はエッセンシャルWPFみたいな本当の概念を教えてくれる書籍はどこにもないのかもしれないけど
2024/05/23(木) 19:16:37.09ID:JWo63WQ5p
xamlで何でも書いちゃう凄腕は
たいてい他者から嫌われる

何故って、んなコードメンテ出来ねえんだよ
2024/05/23(木) 20:44:54.40ID:E/x3SfJu0
>>309
でもデスクトップアプリはxamlしかだめなんですよね?
2024/05/23(木) 20:56:38.96ID:2GvHvp8D0
呪術使いかよ


かっけえ~な
2024/05/23(木) 20:59:38.29ID:poZBDhBnM
定型文しかしらないってカッコ悪いよ
WPFのmeasureなどの仕組みを知らないでその都度コンテナやコントロールで試行錯誤して時間だけ過ぎていくことになる
2024/05/23(木) 23:11:32.88ID:Cu3zenP40
>>312
いやいやJavaScript利用すればwebと同じ要領でデスクトップアプリも作れるよ
2024/05/24(金) 00:43:13.27ID:Jqq1csRV0
>>315
え!そうなんですか
調べてたらwpf blazor avalon maui uwpと色々出てきて頭が混乱しています😥
2024/05/24(金) 12:06:37.96ID:3IiN8e280
>>316
全部忘れてReact Nativeでよい
WindowsターゲットはMSが開発してるしMS自身のプロダクトにも使いまくってて、
事実上WindowsのGUI開発の公式推奨フレームワークだ
2024/05/24(金) 12:51:51.23ID:rLRASlVb0
公式推奨してたっけ?
2024/05/24(金) 12:58:58.64ID:BZbv4ftZ0
技術力のないやつはどいつもこいつも自分が使ってる技術スタックが良いと思い込みたいんだよな
2024/05/24(金) 17:37:22.10ID:/OWqJJSP0
趣味でコード書くだけなんでWinFormsで間に合ってる
2024/05/24(金) 18:48:26.05ID:077894te0
WPF使うけどバインディング使わずにイベントハンドラですませることが多いかな
322デフォルトの名無しさん (ワッチョイ 5bb1-fjqD)
垢版 |
2024/05/24(金) 20:01:58.17ID:6mWP1uh50
ソース流用しないならそれでいいんじゃない?
323デフォルトの名無しさん (ワッチョイ 5bb1-fjqD)
垢版 |
2024/05/24(金) 20:04:26.27ID:6mWP1uh50
WinFormsでソースを変にいじるとデザイナーの表示ができなくなるのが嫌でwpfにしてるわ。
2024/05/24(金) 22:09:40.76ID:FPKozzZg0
デザイナのソースを弄るなよw
325デフォルトの名無しさん (スップ Sd5a-dWDI)
垢版 |
2024/05/24(金) 22:28:29.98ID:mWKP/1zed
いじり方がわからないだけだろ
2024/05/24(金) 22:52:14.61ID:Jqq1csRV0
xamlで色々なフレームワークいじれることがわかったので
大人しくavaloniaっていうやつでxamlを練習することにしました
327デフォルトの名無しさん (ワッチョイ 5bb1-fjqD)
垢版 |
2024/05/24(金) 22:53:08.43ID:6mWP1uh50
自動生成されたコードを消すとデザイナーがエラーになる
2024/05/24(金) 23:20:25.34ID:QbvyThC1M
avaloniaはwpfと微妙にちがってたりするからな
ちゃんとdocument読むんだぞ
329デフォルトの名無しさん (ワッチョイ a3ad-C15y)
垢版 |
2024/05/25(土) 01:31:29.16ID:fb1SGBAr0
茨の道を進むのもまあ趣味だからね
330デフォルトの名無しさん (ワッチョイ 1a8e-dWDI)
垢版 |
2024/05/25(土) 02:35:00.43ID:FMQVfOzJ0
こういう奴は人に聞いてるふりして聞いちゃいないからな
答えるだけ無駄
2024/05/25(土) 06:27:22.35ID:/JCTn12+0
とりあえず6mWP1uh50がアホなのは良くわかった
332デフォルトの名無しさん (ワッチョイ 5fb6-fjqD)
垢版 |
2024/05/25(土) 08:44:14.74ID:rw81kdgJ0
>>331
アホだけどwpfでコードビハインド避けて出来るだけバインドでやってるよ(笑)
333デフォルトの名無しさん (ワッチョイ b6e8-4PJT)
垢版 |
2024/05/25(土) 11:06:49.49ID:d1cHng4L0
Windowsで画面の外にある範囲とか後ろにあるものを含めてスクリーンキャプチャ頑張ってしたいです
例えば画面の外に出てしまったExcelなどです。
C#でそんな魔法の関数ありますか?Windows APIでもいいのであったら教えてください
描画する前の段階のメモリにアクセスとかそういう関数とかあるかな
2024/05/25(土) 11:12:13.70ID:Ljj82WJ/a
win7までだったら何も考えずに撮れたけど今は無理なんじゃないのかな
アプデするたびに不便になってく
335デフォルトの名無しさん (ワッチョイ 5bb1-fjqD)
垢版 |
2024/05/25(土) 11:40:36.75ID:lsgA+/i+0
プリントスクリーンキーでコピーできる範囲ならわかるけどはみ出ては無理じゃね?
2024/05/25(土) 11:51:12.46ID:Ljj82WJ/a
昔ははみ出てようが、ほかのウインドウに隠れてようが取得できた
Winters 10 Anniversary Updateの前のバージョンのwindows10まで撮れたのかな
必要としてるのが自分の環境であればそこまでダウングレードすれば
2024/05/25(土) 12:36:32.43ID:OTS2oE4w0
とりあえずどうやったら撮れたか手段教えてあげたらいいのでは?
338デフォルトの名無しさん (ワッチョイ b64e-4PJT)
垢版 |
2024/05/25(土) 12:40:23.00ID:d1cHng4L0
ありがとうございます
ダウングレードで出来ることを示せば今できない証明になりますね
2024/05/25(土) 14:35:35.85ID:hSeXqoSH0
仮定:フルHDサイズのデスクトップとして

using(var Img = new System.Drawing.Bitmap(1920, 1080)) {
  using(var Grp = System.Drawing.Graphics.FromImage(Img)) {
   Grp.CopyFromScreen(0, 0, 0, 0, new System.Drawing.Size(1980, 1080), System.Drawing.CopyPixelOperation.SourceCopy);
  }
  Img.Save(@"E:\Test.png");
}

これでまるっととれるが?
2024/05/25(土) 14:36:31.03ID:hSeXqoSH0
あぁ、Saveとかファイル名は好きにしてね
2024/05/25(土) 14:53:35.10ID:GU3V+oeu0
1920、1080外に出てるGUIもスクショしたいって話じゃないか?
2024/05/25(土) 15:15:01.04ID:OTS2oE4w0
他のウィンドウに隠れてる部分もスクショしたいって話もあったぞ
2024/05/25(土) 15:23:27.11ID:GU3V+oeu0
なんかそういうWin32APIあった気がするけどな
まあ無かったら最悪SetForegroundWindowとかで一瞬だけ最前面にするとかSetWindowPosで一瞬だけ画面内に入れるとかか
2024/05/25(土) 15:28:43.31ID:CqoBbhiM0
aero が有効なら背面のウィンドウも全部描画されているから隠れていてもキャプチャできた。
最近できなくなったというのは知らなかったけど。
2024/05/25(土) 15:30:19.24ID:tQ1kZz6W0
EnumWindowsでそれぞれのハンドル得ながら
Windows Graphics Captureか
GetWindowRect + GetWindowDC + PrintWindow or BitBltを使えばできる
(GPT談)
2024/05/25(土) 15:46:46.34ID:tQ1kZz6W0
書いといてなんだけども
隠れてるのも含めて全部スクショを取るアプリって
まともな使い方じゃない気がするのは俺だけ?
2024/05/25(土) 16:05:00.93ID:GU3V+oeu0
アンチチートプログラムはまともなソフトウェアですよ
2024/05/25(土) 16:32:27.04ID:zDnRdyrP0
資産管理系はよくある
2024/05/25(土) 16:45:07.51ID:tQ1kZz6W0
アンチチートってどういう用途について言ってるのかよくわからないけど
事前の通知や同意を得えずにやるのは不法行為に当たる可能性が高いよ

学校の情報処理室のPCみたいなので
画面監視内容や目的を事前に通知して同意を得た上で
使わせるとかならまだわかる
でもそのくらいの用途なら違うアプローチがあるし
やり過ぎだと思うけどね
2024/05/25(土) 17:08:14.65ID:Ljj82WJ/a
ウインドウとその範囲を指定して切り出して表示する汎用ツール作っとくと
例えば為替チャート~ブラウザの一部だけ切り出してデスクトップ最前面に常に表示しとくとかそんなことができた
351デフォルトの名無しさん (ワッチョイ b69c-4PJT)
垢版 |
2024/05/25(土) 20:21:57.06ID:d1cHng4L0
>>344
>>345
出来ないとは断定できない感じですかね
できるかやってみます
2024/05/26(日) 00:37:11.56ID:2eNgSRji0
>>345試したらできた
普通のwinformsなら取れるがChromeやUWPは真っ黒になった
どっかで失敗してるんだろう
2024/05/26(日) 05:47:38.68ID:z4TFz7uPM
デスクトップのDCからとると切れるけどウィンドウのDCからなら切れないし下にあってもキャプチャ取れるはず
真っ黒になるようなのはデスクトップDCから取ればいけたような
そうすると画面外とか取れないけど
あとchromeのハードウェアアクセラレーション切ってみるとか
2024/05/26(日) 05:50:26.29ID:z4TFz7uPM
ああとウィンドウのDC取るって言ってもタイトルから取れるハンドルと実際に描画のウィンドウハンドル別のケースあるから描画されてるウィンドウから取ったほうがいいかと
2024/05/26(日) 07:05:25.29ID:vBjAPjV30
画面外に出てる部分までキャプチャしてどうしたいのかは気になるな
2024/06/05(水) 20:20:57.50ID:9ADuYisn0
最近wpf勉強し始めたんですけどmvvmでしたっけ?データバインディングするまでって
ややこしくないですか?
2024/06/05(水) 20:23:29.13ID:iN0Qb8gE0
馬鹿らしくないですか?だろwww
2024/06/05(水) 20:30:20.96ID:hKq03IIXa
いちいちバインディングしなくてもいいぞ
MSの方針なんて無視
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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