X



ふらっと C#,C♯,C#(初心者用) Part152
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん (ワッチョイ 3f2c-RUy2)
垢版 |
2021/08/25(水) 19:44:16.81ID:tgvUkE6r0
!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)

「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください
>>980を踏んだ人は新スレを建てて下さい。>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。

■前スレ
ふらっと C#,C♯,C#(初心者用) Part151
https://mevius.5ch.net/test/read.cgi/tech/1621129559/
■関連スレ
C#, C♯, C#相談室 Part94
https://mevius.5ch.net/test/read.cgi/tech/1553075856/
■コードを貼る場合は↓を使いましょう。
https://ideone.com/
https://dotnetfiddle.net/

■情報源
https://docs.microsoft.com/ja-jp/dotnet/standard/class-libraries
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/
https://docs.microsoft.com/en-us/dotnet/standard/class-libraries
https://referencesource.microsoft.com/
・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
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
0003デフォルトの名無しさん (ワッチョイ 5f7c-nTGN)
垢版 |
2021/09/03(金) 00:07:36.45ID:AHipKBXs0
GoogleChromeにあるイメージファイルをデスクトップにドラッグすると大抵の場合イメージファイルを保存できますが
これをPictureBoxに直接ドラッグしてイメージを表示させたいです
※URLを取得してからのダウンロードだとjavascriptなどで読めないイメージが多いので他の方法を探しています

これはクリップボードを経由してるんでしょうか?もし経由しているとしたらクリップボードのフォーマットは何を使ってるんでしょうか。
https://docs.microsoft.com/ja-jp/dotnet/api/system.windows.forms.dataformats?view=net-5.0
それ以外ならどういう仕組みなんでしょうか、何か手掛かりになるものがあれば助かります。

もし無理なら特定フォルダ作り定期的に監視して増えたファイルをロードしようと思いますが
できればコントロールにドラッグしたいです、よろしくおねがいします。
0009デフォルトの名無しさん (ワッチョイ 8724-KrGZ)
垢版 |
2021/09/03(金) 12:12:30.13ID:hrRshf8H0
いやでもドロップされたURLからダウンロードし直す、って形だと例えばリファラー見てくるPixivの画像とか保存できないよな
でも出来るって事は何かしら画像データを直接貰う方法あるんだと思うけど、自分も気になってWinFormsでテストしてみたらそれらしきドロップ情報は見当たらない
DragImageBitsが一見そうっぽかったけど、これは元データではなくドラックドロップするときのサムネ画像だった
0012デフォルトの名無しさん (ワッチョイ 8724-KrGZ)
垢版 |
2021/09/03(金) 13:13:32.82ID:hrRshf8H0
>>10
???
Chrome → ExplorerへのドロップのみChrome側の特殊配慮でファイル保存してくれるって主張?
そういう事を言いたいんであればTablacs等の3rdパーティー製アプリでも同様の挙動してくれるから送り先ではなくドロップ先が何かしらの操作をしてるものだと思うんだが?
0013デフォルトの名無しさん (ワッチョイ ff7c-Tjit)
垢版 |
2021/09/03(金) 13:16:27.64ID:PQRWg2pe0
>>10
なんでそんな煽り口調なのか分からんけど
D&Dって実際に処理するのはドロップされた側なのよ
だからファイルとして保存するのはExplorerの仕事
Explorerからデータくれって言われてからデータを渡す遅延処理の仕組みはある
0014デフォルトの名無しさん (ワッチョイ 8724-KrGZ)
垢版 |
2021/09/03(金) 13:23:39.02ID:hrRshf8H0
>>13
Chrome以外のブラウザでも同じ挙動なのと、上で上げたようなExplorer以外のアプリでもDDからの直接保存を実装可能な点も考慮したら受け取る側が処理してるとみるのが普通だよな
ただWinFormsのドロップイベントからはそれらしき情報は見当たらないが
0015デフォルトの名無しさん (ラクッペペ MM8f-em86)
垢版 |
2021/09/03(金) 13:24:19.97ID:uY/kSVt6M
>>12
お察しの通りChromeがローカルファイル保存してそのパスを伝える
0016デフォルトの名無しさん (アウアウウー Sa8b-Sfec)
垢版 |
2021/09/03(金) 13:28:26.22ID:Bx5RA1Jba
>>13
まあ公平に見て>>9は煽られてもしょうがないと思うw
D&DでURIをもらって〜、なんてありえないでしょう(笑)

受け渡しているのはChromeのキャッシュフォルダーの中の画像ファイルの
パスに決まってるよね普通に考えて。
しかし、Chromeがビットマップ自体のD&Dを提供してないのは
セキュリティー上の理由なのか単なる手抜きなのか、
何なんだろうね。

今のは知らんけどちょっと前のFireFoxとかだと普通に出来たけどな
0017デフォルトの名無しさん (ワッチョイ 8724-KrGZ)
垢版 |
2021/09/03(金) 13:30:30.90ID:hrRshf8H0
>>15
当然それも想定したけどWinFormsのドロップイベントからはローカルファイルパスらしき情報は見当たらなかった
FILEDESCRIPTORW構造体からcFileName読み取ったりとかまでしてみたけど
0025デフォルトの名無しさん (ワッチョイ 7f2c-3Lnd)
垢版 |
2021/09/03(金) 13:51:37.56ID:pInph4TO0
HTML から、OS のネイティブ内には、直接アクセスできない

つまりブラウザは、OSのAPI を使って、
ファイル保存ダイアログを呼ぶ事しかできない

ファイル保存ダイアログは、ユーザーが直接操作する事しかできない。
ブラウザが操作する事はできない

もし、HTML から自動的に操作できれば、ローカルPC 内をいじられてしまうから、
ユーザーの直接操作しか認めていない
0027デフォルトの名無しさん (ワッチョイ 8724-KrGZ)
垢版 |
2021/09/03(金) 13:58:47.79ID:hrRshf8H0
>>26
エクスプローラーからのドロップが直データではなくstring[]のファイルパス配列って事は当然知ってるからそれに習って模索してみた訳だが結果は>>17
まぁ見逃してるかもしれんから、キャッシュパス渡してる説唱えてるやつは是非とも具体的な取得方法を書いてもらいたいが
0028デフォルトの名無しさん (ワッチョイ 8724-KrGZ)
垢版 |
2021/09/03(金) 14:04:16.74ID:hrRshf8H0
>>25
ドラッグ操作はHTMLやjsによるものではなくブラウザの機能だからその説明はちょっと違うけどな
んでChromeって恐ろしい頻度でCreateFileやReadFile、WriteFile呼びまくってるからユーザーの許可なくファイル操作なんて日常茶飯事にやってることだし
0029デフォルトの名無しさん (アウアウウー Sa8b-Sfec)
垢版 |
2021/09/03(金) 14:05:19.33ID:Bx5RA1Jba
>>23
間違っているかどうかは知らない。
何を言ってるのかよく分からないから。

Chromeからエクスプローラに画像ファイルをD&Dした時にエクスプローラ側がもらう情報は
Chromeのキャッシュの画像ファイルのパスなのは疑問の余地がない。

エクスプローラはドロップ先のフォルダにその画像ファイルをコピーしてるだけ。

人の話聞かない人みたいだから繰り返すけど、重要なのは上記に「疑問の余地なんかない」ってこと。
だから疑問の余地なんかないと指摘してる>>10は正しいと言ってる。
0030デフォルトの名無しさん (ワッチョイ 8724-KrGZ)
垢版 |
2021/09/03(金) 14:07:19.94ID:hrRshf8H0
>>29
だーかーら、キャッシュパス説を唱えるなら具体的なパス取得方法書いてくれよ
ググってもんな情報出てこないからきっとスーパーハッカーのお前しか分からないっぽいのでぜひとも教えてくれ
0032デフォルトの名無しさん (ワッチョイ 8724-KrGZ)
垢版 |
2021/09/03(金) 14:26:02.52ID:hrRshf8H0
>>31
GetFileContentNamesと同じようなことは既にやってて、FileGroupDescriptorWは単なるファイル名しか取得できずキャッシュパスは取得できなかったが
GetFileContentは試してみる価値ありそうだな
この方法だとしたらキャッシュからの取得ではなく画像データすっぱ抜くってことになりそうだが
0033デフォルトの名無しさん (ワッチョイ 5f01-YnK0)
垢版 |
2021/09/03(金) 14:32:35.52ID:OHAz9Fu/0
>>30
パスじゃなくてIDataObject
クリップボードで使ってるのと同じ
source側でIDataObjectを生成してDragEventArgsに入れてdestination側で受け取れるようにしてる

>>3
ブラウザによって対応フォーマットが違うので
IDataObjectのGetFormats()でアプリ別に対応フォーマットを確認して望ましいフォーマットの順に処理する
0034デフォルトの名無しさん (ワッチョイ 8724-KrGZ)
垢版 |
2021/09/03(金) 14:36:22.10ID:hrRshf8H0
>>33
やっぱりローカルファイル渡しではなくバイナリ渡しっぽいな
>>31を.NET5で試すとGetFileContentFromHGlobal内でリフレクション使ってローカルフィールドにアクセスするところで例外出るからhsource.dot.netでも見て調整しなきゃダメそうだが
0038デフォルトの名無しさん (ワッチョイ 8724-KrGZ)
垢版 |
2021/09/03(金) 15:20:03.92ID:hrRshf8H0
完璧に出来たわ
>>31のAnswer内のコードを丸々コピペして、
private static MemoryStream GetFileContentFromHGlobalメソッド内の"GetDataFromHGLOBLAL"を"GetDataFromHGLOBAL"に修正すればちゃんとリフレクションでメソッド取得出来て画像データのMemoryStreamゲットできる
下らないタイプミスあって笑ったが素晴らしいアンサー
0040デフォルトの名無しさん (ワッチョイ 8724-KrGZ)
垢版 |
2021/09/03(金) 15:34:48.16ID:hrRshf8H0
どうでもいいけどリフレクションで取得した動的メソッドもC#9の関数ポインタから問題なく呼べるんだな
>>38で言うと
var func = (delegate*<object, string, IntPtr, object>)getDataFromHGLOBLALMethod.MethodHandle.GetFunctionPointer();
として第一引数のobjectにインスタンス渡したら普通に画像ゲットできた
0041デフォルトの名無しさん (ワッチョイ 7f2c-3Lnd)
垢版 |
2021/09/03(金) 16:08:18.45ID:pInph4TO0
なるほど、キャッシュパス説か。
確かに、ブラウザは画像があると、それをキャッシュファイルに保存する

だから、2回目以降は、そこから再読み込みするのだろう。
それをブラウザ内のメモリに読み込んで、それをOS のAPI に渡すのだろう
0042デフォルトの名無しさん (ワッチョイ 8724-KrGZ)
垢版 |
2021/09/03(金) 16:11:37.35ID:hrRshf8H0
WndProcオーバーライドしてWMドロップ等からバッファ取得してUnmanagedMemoryStreamからImageに変換みたいなスマートな方法もありそうだな
そもそも自分発のお題ではないけどDDでブラウザから画像直接貰えるのは便利だからもっとスマートな実装模索してみる
0048デフォルトの名無しさん (ワッチョイ 8724-KrGZ)
垢版 |
2021/09/04(土) 09:05:57.74ID:vIpBQxqx0
>>47
別に画像取得さえできれば受け取りアプリ側からしたら何でもいいから重要ではないけど>>10みたいにドヤ顔で虚報広めてる奴いたからな
ただ不思議なのはなぜ標準のやり方ではFileContentsはnull返してくるんだろうか
IDataObjectが進化に追いつけてないってことなのか
0051デフォルトの名無しさん (ワッチョイ 472f-3Lnd)
垢版 |
2021/09/04(土) 11:50:26.72ID:+o/Xq3Mh0
>>47
キャッシュかどうかが問題ではないが、ファイルかどうかは大事なところ

>>49
まあたしかに>>10ではファイルとしか言ってないな
それだと普通に考えればキャッシュか一時ファイルかになるだろうけど

キャッシュに決まってるだろって言いだしたのは>>16
0055デフォルトの名無しさん (ワッチョイ 8724-KrGZ)
垢版 |
2021/09/04(土) 12:13:26.51ID:vIpBQxqx0
>>54
脳みそバグってるのはお前な
とにかく俺はお前が虚報を言ったとしか言ってないのは明確
んで実際にお前は間違っていた
Chromeがファイル保存をしているのではなくファイル保存をしているのはドロップ先のプロセスって結論出た訳だし
0057デフォルトの名無しさん (ワッチョイ 8724-KrGZ)
垢版 |
2021/09/04(土) 12:17:58.67ID:vIpBQxqx0
>>56
どういうレスしようが5chなんてそれぞれの勝手だろ?
まぁそういう意味じゃお前が虚報を撒こうが勝手だけどそれを非難するのも俺の勝手だからな

主題で反論できないと分かるや論点ずらして小さい箇所で一点突破を目指すってまるでF爺にコテンパンにやられた西村博之みたいなカスだなお前
0060デフォルトの名無しさん (ワッチョイ 5f01-aeOK)
垢版 |
2021/09/04(土) 18:13:14.95ID:ZyOjgA390
文字化けってほんとつらいっす
ありとあらゆるところに文字化けが潜んでて作業の邪魔する

ぐぐりまくって、バイト列に変換してから目的の文字コードに直す方法を習得したんだけど
これはもしかして万能な方法なんじゃないかと期待してるんだけど
まぁそのうち試してみよ・・・
0062デフォルトの名無しさん (ワッチョイ c714-GmXC)
垢版 |
2021/09/04(土) 20:19:25.15ID:4fE9BStG0
>>57
半年くらい前にひろゆきがオブジェクト指向の説明をしようとして非OOPなただのMath系関数の説明し始めてて悲しかった
2ch開設者って言うからプログラミングの腕もそれなりだと思ったら初歩的な事も理解してないレベルだった
0065デフォルトの名無しさん (ワッチョイ 5f01-aeOK)
垢版 |
2021/09/05(日) 03:52:19.25ID:2EeVeniH0
>>61
今やってるのはメール受信ですわ
テストのために同じメーラーから同じ文章をgmailアカウントに送っているんだけど
なぜかアプリで受信したときの件名や本文とかの文字コードがUS-ASCIIになったりISO-2022-JPになったり。

ISO-2022-JPで送られてきたものをISO-2022-JPで変換すると、これまた文字化けすることに気づいて、対象の文字コードをまず取得して、それから変換しなきゃいけないと気づいてようやく今解決ですわ (解決したと思い込んでる段階
0071デフォルトの名無しさん (ワッチョイ 5f01-aeOK)
垢版 |
2021/09/05(日) 15:08:07.86ID:2EeVeniH0
おぢちゃんたち、ありがとうございます

これ>>67、わかりやすそうなのでいろいろ考えてみます
今日は疲れたのでまた明日にでも。
ずっと没頭してやってたんで、プログラム自体はいい感じに動くようになってきました

今回の文字コードの問題は再現性が低くてやっかいです
FromやToでこういう↓日本語交じりのアドレスを使ってテストしてると
ごちゃん株式会社<***@***.com>
ほんと、たま〜に「ごちゃん株式会社」の部分の文字がおかしくなる
連続してテストしても再現しないけど、時間置くとたまーに・・・
これきた、と思ってもう一度やると再現しない

もちっと勉強してきます
0075デフォルトの名無しさん (ワッチョイ c7e4-xm+t)
垢版 |
2021/09/05(日) 16:42:03.85ID:gyzxPlwG0
他の人が投げたメールを自分で作ったメールクライアントで受けると化けるものが
あるってい場合には、すべてに自動で対応するのは不可能に近いかな
みんながみんなちゃんとした完全なメールクライアントである保証(設定も含めて)は
ないから

自分で作ったメールクライアント同士で化けることがあるなら、基本は実装を
疑ってみる必要があるけど途中のメールサーバに問題があるとかないかな

本文は何かのエンコードでパック化しちゃえば問題起こらないだろうけど、
あて先とかSubjectはサーバ側でいじることも出来るので何か変えられて
いるとか・・・最近はそういうことないのかな
0076デフォルトの名無しさん (ワッチョイ 675f-nTGN)
垢版 |
2021/09/05(日) 16:58:54.43ID:69Mttc9X0
Xamarinで他のタプページの値を取得しようとしてますが上手くいきません。

kadou.xamal.cs)

public sbyte Eigyou_kaisi => sbyte.Parse(eigyou_kaisi.Text);
public sbyte Eigyou_owari => sbyte.Parse(eigyou_owari.Text);

kihon.xaml.cs)

set_eikaisi = kadou.Eigyou_kaisi;
//営業時間の開始
set_eisyuryou = kadou.Eigyou_owari;
//営業時間の終了(時)
0079デフォルトの名無しさん (スッップ Sd7f-Z3ju)
垢版 |
2021/09/06(月) 12:29:48.61ID:742OrnqFd
vs2017から2019移行してInstallerProjectをいれたところ
setupプロジェクトのビルドで失敗します
2017のときはエラー一覧に成功数とかでてたのですが
2019では何も出力されないのですが
ここにエラー出す方法ありますか?
ツール、オプションのビルド設定で出力の詳細を
かえてみたものの変わりありません
0080デフォルトの名無しさん (ワッチョイ 675f-nTGN)
垢版 |
2021/09/06(月) 16:37:31.47ID:PKsgHZNm0
重いループ処理で「くるくる」を表示させたいのですが、上手くいきません。
ボタンを押したら、10秒以上固まったような状態になります。

try
{
cvLayer.IsVisible = true;
frLayer.IsVisible = true;
MyActivityIndicator.IsRunning = true;

//await Task.Run(() =>
//{
//長い処理を記述
do
{
0085デフォルトの名無しさん (ワッチョイ c724-KrGZ)
垢版 |
2021/09/06(月) 20:38:43.31ID:h/8uTFD00
インスタンス作り忘れるレベルの初心者には協力してあげたいがそのコード例だけじゃエスパーしかできん
固まるって事はTask.Runがコメントアウトされてる通りに同期処理になってるって事じゃないの?
ボタン押す → そのままTask作らずdo whileしたらそのwhileから抜け出すまでフォームは固まる事になる
0089デフォルトの名無しさん (ラクッペペ MM8f-em86)
垢版 |
2021/09/07(火) 12:33:12.71ID:sIBcULnDM
フォームが固まる事を問題だと思っているんだろうよ

フォームは固めておいたほうが問題がない
0090デフォルトの名無しさん (ワッチョイ 2729-GmXC)
垢版 |
2021/09/07(火) 12:48:57.09ID:6F2EpZaw0
フォームが固まったらくるくるも固まるから問題って事じゃなくて?
await Task.Delayを追加しただけで解決したってのもよく分からないけど、一回コード全部張ったほうが良いと思う
0091デフォルトの名無しさん (アウアウウー Sa8b-487o)
垢版 |
2021/09/07(火) 16:51:54.68ID:wmVmTjL3a
おかしいな…
IObservable<T>のSubscribeメソッドってラムダを受け取る拡張メソッドが見つからない
IObserver<T>を受け取るメソッドはあるっぽいんですが…
前からこんなんでしたっけ?
0093デフォルトの名無しさん (スップ Sdff-HS0k)
垢版 |
2021/09/09(木) 18:30:10.85ID:UHkOYZwyd
質問です。
xamarinとC#でAndroidアプリを作成していて、ボタン押下でPCに構築したFTPサーバとテキストファイルの送受信をする機能を作ったのですが、ログインは成功していて、サーバへのファイル送信は出来ているのですが、androidへの受信時に下記2点の問題が発生しています
1.ファイル受信自体はできているが、受信時のコマンド"RETR"のものとは別に受信後にsocket.Receive処理を行った際に数分待ちが発生して、nullのExceptionが返されてエラーとなる。(ファイル受信時のsocket.Receiveの戻り値は"226 Transfer complete.")
2.上記1.の処理を削除してみると、サーバのテキストファイル内容の取得のために1ファイル受信する毎に"PASV"コマンドで戻ってきた"227"のIPアドレス・ポートでsocketを開く処理をしているのですが、そこで戻り値が"226 Transfer complete."になってしまい、IPアドレス・ポートが取得できずエラーとなる。(また、IPアドレス・ポートを取得してsocketを開ける場合もあるが、ファイル内容を取得できていて、writeで書き込まれているはずだが、受信したファイルに内容が反映されない。)
上記1か2の解決方法について何か心当たりがあればお教えいただけますでしょうか?
0107デフォルトの名無しさん (アウアウクー MM7d-RsuP)
垢版 |
2021/09/10(金) 13:27:04.04ID:2x+uyMAnM
IEnumerable<int?>からint?へのキャストはどのように行うのでしょうか?
キャストの方法を調べても見つけられず、とても初歩的な質問で申しわけありませんが教えてください
0108デフォルトの名無しさん (ワッチョイ e6bb-kRcQ)
垢版 |
2021/09/10(金) 13:37:39.15ID:LCboCW1+0
Razor Pagesのチュートリアルをやってるんだけどさあ
Sqliteを使った時って、app.dbとかいうファイルが作られるけど、これどうやって中身を見れるの???
$ sqlite3 app.db
みたいにしたら、暗号化されてるかもしくはデータベースではないって言われてしまう
暗号化されてるとしても暗号化キーなんて知らんぞ・・・・
0115デフォルトの名無しさん (アウアウウー Sa21-xJJl)
垢版 |
2021/09/10(金) 16:30:51.57ID:GiqDbYXEa
>>110
Selectって名前から連想して複数の要素の中から一つを選択するメソッドだと
思ったのかもしれないけどそうじゃない(そうだとしてもそのコードは奇妙に見えるけどw)

Selectは数学で言えば集合の要素に変換関数を適用して写像(別の集合)を作るメソッド。

LINQのチートシートみたい記事ないかなと思って今検索してみたら
書いてくれてる人がいっぱいいるみたいなので、そういうの読んで自分が求めているのは
どれなのかよく考えた方がいいと思う
0117デフォルトの名無しさん (ワッチョイ 3d24-wHYb)
垢版 |
2021/09/10(金) 16:43:33.35ID:RmQ4ECJ80
>>110
IEnumerable<int?>はint?の複数形なのは理解してる?
つまり複数形を単数にキャストしたいと言われても複数あるうちのどれ?ってなる
んで具体的なコードまで書いてもらいたいならnumbersの型まで書いいたほうが良い
orderNumがメンバ要素なのかインデックス変数なのかでみんな混乱してる

メンバってことで先頭が欲しいなら>>112でもいいしnumbers.FirstOrDefault()?.orderNum;の方がスマートかもしれない
0119デフォルトの名無しさん (ワッチョイ f1e4-RsuP)
垢版 |
2021/09/10(金) 18:34:13.47ID:LP/p1r6F0
遅くなってすいません。
皆さんがおっしゃる通り、Selectの挙動が理解出来ていないまま使っていました。

EFでデータベースとやり取りをしており、numbersはテーブルを表し、
orderNumはその中のひとつのカラムです。
情報も不足していてすいません。
このテーブルにはひとつのレコードしかなく(numbers[0]の意味) Selectすれば要素を取得出来るだろうと考えていました。
0120デフォルトの名無しさん (ワッチョイ eae4-qx3O)
垢版 |
2021/09/10(金) 18:43:21.63ID:3/k8+9750
>>93
コントロールコネクションとデータコネクション処理の区分けしていない、どんな
順番で実行しているかも分からないのでどこがおかしいとか言うのは無理かな
プロトコルの実装はシーケンスが見えないとアドバイスのしようがないよ

1.は単純にいえば確保したバッファのサイズを越えて読み込もうとしているか、
グルグルReciveでバッファの割り当て忘れているかだと思うけど

2.で1.を削るっていうのが何の処理を削ったのかよく分からないけど、PASVで
「226」は返ってこないはずなので、サーバがおかしいのでなければコントロール
コネクションの制御が間違っていて他のコマンドのレスポンスを見ているか、
以前のコマンドのレスポンスを見ているのではないかな
0122デフォルトの名無しさん (ワッチョイ a95f-dGLa)
垢版 |
2021/09/10(金) 21:46:29.33ID:EWGbhKdq0
https://www.c-sharpcorner.com/article/using-oxyplot-with-xamarin-forms/
上記サイトを参考にグラフを表示させたんだが、背景が黒になってしまうので白にしたい。
どうすればいいでしょうか?

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms";
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml";
x:Class="testxamarin2.Pages.Gurafu2"
xmlns:oxy="clr-namespace:OxyPlot.Xamarin.Forms;assembly=OxyPlot.Xamarin.Forms" xmlns:local="clr-namespace:testxamarin2.Pages">


<ContentPage.BindingContext>
<local:OxyExData />
</ContentPage.BindingContext>

<oxy:PlotView Model="{Binding PieModel}" />

</ContentPage>
0125デフォルトの名無しさん (ワッチョイ 4a47-aIS6)
垢版 |
2021/09/11(土) 11:05:16.93ID:svdFBuj80
>>123
C#だろ
0127デフォルトの名無しさん (ワッチョイ ea79-Ix9S)
垢版 |
2021/09/11(土) 18:25:58.13ID:E5TnD1wu0
データ集計用にSystem.Windows.Forms.DataVisualization.Charting.Chartを使ってグラフを描画して画像保存をやっています。
特定のX軸のグラフのプロット座標をスクリーン座標かクライアント座標として得たいのですが、何か方法はあるでしょうか。
目的はグラフのY軸のピーク値とかのプロット地点の横に注釈を入れることです。
ChartオブジェクトのPostPaintイベントを追加してSystem.Drawing等でChartコントロール上に描画はできることは確認できていますが、
描画するにもグラフの各座標が判らなくて困ってます。
0131デフォルトの名無しさん (ワッチョイ 66b5-wHYb)
垢版 |
2021/09/11(土) 21:52:55.11ID:8euuf7tr0
Visual Studio 2019でC#の単体テストのプロジェクトを新規作成する場合、
MSTest
NUnit
xUnit
と三つあるのですが、どれがお勧めですか?
最も一般的なのを教えてほしいです。

ちなみに、OSはWindows 10で、.NET Coreを使い、
GUIを用いないデスクトップ・アプリケーションのテストをしたいです。
0134デフォルトの名無しさん (ワッチョイ 66b5-wHYb)
垢版 |
2021/09/15(水) 01:25:28.31ID:YP1Us53j0
単体テストで使うAssert()などのコードは、
バージョン管理ツールで保存するときは一緒に保存しますか?
単体テストで使うコードは本番環境にも入れたままにするのですか?
0140デフォルトの名無しさん (アウアウウー Sa21-xJJl)
垢版 |
2021/09/16(木) 12:32:37.57ID:f8nFECPPa
>>138
むしろ「それ」をあえてインスタンスメソッドにする必要があるのか、
と考えるべきだろうね。

普通はないはずだと思うけどあると確信できるなら別にいいんじゃないの?
普通はないはずだと思うけどねw
0148デフォルトの名無しさん (ワッチョイ f72f-fBlf)
垢版 |
2021/09/20(月) 18:11:02.65ID:IjMClDHV0
>>146
でもわたしはあなたの頭がハゲってるのが心配なんですよ
0152デフォルトの名無しさん (ワッチョイ ffa7-UBH7)
垢版 |
2021/09/20(月) 20:53:43.86ID:gtjvoIz80
>>144
スレッド
注意点一覧

・シングルコアで動くか?
・応答がないときに自決するか?
・失敗時のメモリリークはないか?
・タイムスケジュールはあるか?(例:1分の内AスレッドはX秒、BスレッドはY秒等)
・生存確認方法はあるか?
・実行中の状態は取得できるか?
・ログは出力できるか?
・最大使用メモリは把握できているか?
・失敗時のリザルトの受け取り方法は適切か?
・処理が複数失敗する可能性は考慮できているか?(例:ファイルオープン成功→ファイル書き込み失敗→ファイルクローズ失敗→tempフォルダ削除成功のとき何が返る?)

決めるのが面倒なら使うべきでないと思う
0155デフォルトの名無しさん (ワッチョイ f79b-deHC)
垢版 |
2021/09/21(火) 00:20:00.53ID:wZ9Exopu0
c# プログラマの書いたコードは美しい音楽のようだった。

タリバンは音楽家を処刑してるので、c# プログラマを対象に加えるべき。

c# って普通に考えたら音楽の符号だし、c# プログラマがすすめてくる「リーダブルコード」って本はどう見ても音楽関連。

https://i.imgur.com/nmlX1tw.jpg
0158デフォルトの名無しさん (ワッチョイ ff33-BRxd)
垢版 |
2021/09/21(火) 08:28:39.59ID:Tfcqtuvs0
>>157
自分の場合プログラム経験無しから「独習c#」を概ね理解しながら独学で読み進めるのに3ヶ月かかった。
LINQ やTaskなどは実践や実務でないと本だけでは習得は難しいと思う。
0160デフォルトの名無しさん (ブーイモ MMcf-JfpL)
垢版 |
2021/09/21(火) 10:40:19.83ID:iEeiy+NhM
>>158
それな
実際どういうコード組んでるかとか不文律の部分がてんでわからん
型の宣言にしたって最初にまとめておいたほうが良いのか、なら使い捨て変数なら使うところで良いのかとか
0162デフォルトの名無しさん (ワッチョイ ff33-BRxd)
垢版 |
2021/09/21(火) 12:21:47.37ID:Tfcqtuvs0
>>161
まあ不安が無くなってきたのは、2周目の読破が2ヶ月、3周目が1ヶ月で、合計半年過ぎた頃ですけどね。
c#もバージョンが上がって機能が増えて、初見さんには段々難しくなってきてると思う。
0163デフォルトの名無しさん (ワッチョイ 9f01-OeDJ)
垢版 |
2021/09/21(火) 14:33:26.01ID:MozgKoB30
先生質問です。Bitmapの保存でエラーです
問題を単純化するために空のBitmapを保存して試して見たところ再現したので貼ってみます
デスクトップを始めとして特定のフォルダにだけ保存できません!
新規に作ったフォルダは大丈夫です。以前からあるフォルダでも保存出来るものもあります
セキュリティの関係かと思い、フォルダ右クリ→プロパティ→セキュリティのタブ で
比較したのですが全く同じであるにも関わらず一方だけ保存できません(ちなみにwin7)
VisualStudioのdebugフォルダの中だと保存可能です
考えられる原因、なにかありますか?

using (Bitmap bmp = new Bitmap(100, 100))
using (Graphics g = Graphics.FromImage(bmp))
{
var fullPath = "";
fullPath = @"E:\SS\aa.png";//× このフォルダの名前をSSSに変更すると〇
//fullPath = @"SS\aa.png";//〇 相対パス(debugフォルダ内)
///fullPath = @"F:\test\aa.png";//〇
//fullPath = @"E:\SSS\aa.png";//〇
//fullPath = @"C:\Users\(ユーザー名)\Desktop\aa.png";//×

bmp.Save(fullPath, ImageFormat.Png);
//↑ここでエラー
//System.Runtime.InteropServices.ExternalException: 'A generic error occurred in GDI+.'
}
0167デフォルトの名無しさん (ワッチョイ ff33-vsO7)
垢版 |
2021/09/21(火) 17:05:44.52ID:iohS1gPI0
typoしてんじゃね?と実験してみたら存在しないフォルダ名を指定していたら System.IO.DirectoryNotFoundException が投げられるのか
手元じゃ再現しないからわからんなぁ
Environment.GetFolderPath(Environment.SpecialFolder.Desktop) とか使ってもダメなんかね?
0168デフォルトの名無しさん (アウアウウー Sa5b-W1il)
垢版 |
2021/09/21(火) 18:10:56.43ID:nmJq7owza
>>163
たぶんシステム側のバグを疑ってるから質問してるんだろうけど、
それは自分で十分に検証した後でやること。

private void SaveDummyPng()
{
  var bmp = new Bitmap(100, 100);
  var path = AskUserForPngName();
  if (path != "") bmp.Save(path, ImageFormat.Png);
}

private string AskUserForPngName()
{
  var sfd = new SaveFileDialog();
  sfd.AddExtension = true;
  sfd.DefaultExt = "png";
  sfd.ShowDialog();
  return sfd.FileName;
}

なんでこの程度のことを最初にやらないの?
0169デフォルトの名無しさん (ワッチョイ 9f01-OeDJ)
垢版 |
2021/09/21(火) 22:36:08.81ID:MozgKoB30
>>166
InnerExceptionPrefix " ---> " string
_COMPlusExceptionCode -532462766 int
さっぱりです><
>>167
最初はEnvironment〜を使っていたのですがだめでした
>>168
それ行けました
でもこれ↓はだめです

public static void Test_MakePNG4()
{
var bmp = new Bitmap(100, 100);
var path = @"E:\SS\aa.png";
if (path != "") bmp.Save(path, ImageFormat.Png);
}

なんでなのおおおおおおおおおおお
0170デフォルトの名無しさん (ワッチョイ 7778-qDHA)
垢版 |
2021/09/22(水) 00:11:49.84ID:x9hzo5Uv0
・using (Graphics g = 〜) の外側でSave()を実行する
・Save()で直接ファイルに書き込まず、一度MemoryStreamに入れた後にファイルに書き込んでみる

思いつくのはこの辺りかな
0172デフォルトの名無しさん (ワッチョイ 9f47-P0JL)
垢版 |
2021/09/22(水) 00:47:04.48ID:FM+g1li10
>>169
そもそも同じディレクトリにテキストファイルは生成出来るの?

public static void Test_MakePNG4()
{
var path = @"E:\SS\aa.png.txt";
using (var writer = new StreamWriter(path))
{
writer.WriteLine("こんにちは");
}
}
0175デフォルトの名無しさん (アウアウウー Sa5b-W1il)
垢版 |
2021/09/22(水) 01:40:01.68ID:7jHG7vlFa
>>172
っていうか普通のセンスの人ならまず

(1) コードで指定しているパスのディレクトリをエクスプローラの
アドレスバーにコピペして開けるかどうか確認

(2) 開けたらそこで何等かのファイルの新規作成が可能かどうか確認

このぐらいはやるよね。

当たり前のことをやらずにエラーが出ます、どうしてでしょうって言われても知らんがなとしか
0177デフォルトの名無しさん (ワッチョイ 9f01-OeDJ)
垢版 |
2021/09/22(水) 04:40:06.14ID:GGT0XQOL0
先生、解決しますた・・・
忘れていました、、、うちのPCには暴れん坊のアバストさんがいることを・・・・
あいつ、最近勝手にランサムウェアシールドっていうのの保護対象にE:\SSやデスクトップを追加してたみたいで・・・
ぐぐってみたら同様に勝手に保護対象を増やされたという報告がいくつか

>>172先生が当たりでした
System.UnauthorizedAccessException: 'Access to the path 'E:\SS\aa.png.txt' is denied.'

やばそうな常駐アプリは切って再起動して確認してたつもりが
なんと一番やばいアバストさんがそのままだったという愚かさ
先生方お騒がせしました・・・
0179デフォルトの名無しさん (ワッチョイ d773-Yq6o)
垢版 |
2021/09/22(水) 17:41:14.68ID:UxQCWMGf0
そういやマカフィーもVSでC++のデフォルトテンプレのHello Worldをデバッグコンパイルするだけで、
ウィルス認定で50%以上の高確率で削除するしなw

winに最初からあるDefenderの方が誤動作少ないし機能も十分な気がする。
0190デフォルトの名無しさん (ワッチョイ f737-tt/w)
垢版 |
2021/09/22(水) 22:51:39.25ID:d5y6nh1w0
じゃあ2で
0193デフォルトの名無しさん (アウアウウー Sa5b-hED7)
垢版 |
2021/09/23(木) 00:18:07.56ID:1QHTb9H7a
Hoge hoge();
0196デフォルトの名無しさん (ワッチョイ d75f-P0JL)
垢版 |
2021/09/23(木) 06:17:51.94ID:knB3B2Kp0
3だな
0198デフォルトの名無しさん (ワッチョイ 775f-4bEA)
垢版 |
2021/09/23(木) 10:45:10.69ID:zah9lHsX0
1か3
varはjsっぽくていや
0202デフォルトの名無しさん (ブーイモ MMcf-fBlf)
垢版 |
2021/09/23(木) 11:56:33.67ID:acEFt2vDM
>>188
Javaやってるから(1)だ。

Javaだと(1)、C#だと(2)、のようにわざわざ使い分けるのが面倒で嫌い。
0204デフォルトの名無しさん (エムゾネ FFbf-hED7)
垢版 |
2021/09/23(木) 12:34:19.60ID:7tGJmFKPF
auto がいいな
0205デフォルトの名無しさん (ワッチョイ bf10-td/8)
垢版 |
2021/09/23(木) 12:52:13.66ID:mH17AHdd0
varは使わなくなったな、書き捨てのコードなら速く作業終わってよかったんだけど
後で保守することになって、何の型だかぱっと見て分からない、結局書き直す羽目になる
二度手間
0210デフォルトの名無しさん (ワッチョイ 9702-I/Yj)
垢版 |
2021/09/23(木) 14:22:03.84ID:lUK0l/hC0
(Vim使いはC#じゃなくてC++のautoの話だったかも)
それにvar使わないとジェネリックとかで複雑な型が出た時書くの面倒だからね
それに型が変えられたら書き直さないといけないし
0215デフォルトの名無しさん (ワッチョイ 9702-I/Yj)
垢版 |
2021/09/23(木) 14:46:20.44ID:lUK0l/hC0
>>201
(3)の書き方は俺も今知ったな
まぁ元々は
private List<WeatherObservation> _observations = new List<WeatherObservation>();
って書いてたのが
private List<WeatherObservation> _observations = new();
と書けるようになるってことみたいだね

ローカル変数でそう各メリットは少ないかもだけど、今は(2)に慣れてるだけだろうから、そのうち(3)になってくのかも
0218デフォルトの名無しさん (テテンテンテン MM8f-vJdV)
垢版 |
2021/09/23(木) 16:30:44.15ID:tEWlRRfOM
>>215
長たらしい型名を2回書きたくないと言うのはわかるんだけどそれはvarで充分だと思うんだよね
new()じゃなくてメソッドがインスタンス返すような時はvar使わざるを得ないしマジでメリットが4文字減るだけにしか見えない…
0220デフォルトの名無しさん (ワッチョイ f72f-P0JL)
垢版 |
2021/09/23(木) 16:51:19.32ID:VgSYdOn80
varが使えないところで使えってことなんだろうけど
正直そこまでしてタイプ量を減らす意義が見出せん

varの本来の使い方はLINQなんかでの匿名型なんじゃないのかと
0222デフォルトの名無しさん (ワッチョイ d75f-P0JL)
垢版 |
2021/09/23(木) 17:00:18.43ID:knB3B2Kp0
十分とか言ってるけど215のってvar使えるの?
0224デフォルトの名無しさん (ワッチョイ d75f-P0JL)
垢版 |
2021/09/23(木) 17:01:12.39ID:knB3B2Kp0
じゃあ3のほうが統一できるメリットあるじゃん
0227デフォルトの名無しさん (ワッチョイ ff10-qDHA)
垢版 |
2021/09/23(木) 19:02:03.53ID:sP+rEUVs0
私は(3)にしてます
慣れもあってか(2)のほうが書きやすいですが
githubとかでコード見る場合に関数の戻りをvar書かれると型がわからない
VS以外で読み書しないなら(2)でいいと思います。
0230デフォルトの名無しさん (ブーイモ MMde-DBkT)
垢版 |
2021/09/24(金) 04:58:42.78ID:y2XYMU1vM
StyleCopで設定するんじゃないの?
0233デフォルトの名無しさん (ブーイモ MMde-DBkT)
垢版 |
2021/09/24(金) 09:33:22.65ID:irV+RdEOM
マイルールで書いてもボタン一発でコーディングルールに沿ったのに変換してくれればおk
0238デフォルトの名無しさん (ワッチョイ 175f-6iP1)
垢版 |
2021/09/24(金) 10:24:15.05ID:/Uk5P+XR0
new()が使えるならnew()
それ以外はvarが最強
0241デフォルトの名無しさん (アウアウウー Sa43-t/PR)
垢版 |
2021/09/24(金) 13:33:19.92ID:5RECe5Rpa
>>239
そんなことはないと思うけど程度問題だね。
何であれ手段を自己目的化してしまうのは確かに愚かだ。

そんなことよりスレ違いだのなんだの他人のやることに
いちいちケチをつけないと気が済まないいつもの数人が静かなのが笑えるねw

ああいう人たちはその自分の欺瞞性に嫌気がささないものなのかw
0242デフォルトの名無しさん (エムゾネ FF32-kEnG)
垢版 |
2021/09/24(金) 14:32:17.00ID:6iUyOY+3F
スレチ警察ωωω
0247デフォルトの名無しさん (エアペラ SD9b-OE0s)
垢版 |
2021/09/24(金) 20:03:25.45ID:KNT3aGoVD
ageておきますね
0249デフォルトの名無しさん (ワッチョイ 032f-f7S3)
垢版 |
2021/09/24(金) 21:38:44.12ID:RcC3+NL00
hageておきますね
        ______ 
      /     〇⊂⊃\
    /             \
   /                 ヽ
    l:::::::::               | 
    |::::::::::   (●)    (●)  o| 
   |:::::::::::::::::   \___/    .0|
    ヽ:::::::::::::::::::.  \/      ノ
0261デフォルトの名無しさん (ワッチョイ 9f24-2Lmd)
垢版 |
2021/09/25(土) 17:06:12.97ID:fbhVUQBc0
>>252
もう配列なんて時代遅れ
xmmレジスタで済ませるのが最先端だからSystem.Runtime.Intrinsicsを学ばないとオレにはついてこれないぞ
0266デフォルトの名無しさん (ワッチョイ 5eda-ICJq)
垢版 |
2021/09/26(日) 21:02:40.12ID:gGZfowJe0
エンディアン変換めんどいよなぁ

たかだか2バイトのビックエンディアンをc#のshortに変換するだけでも
var dataLen = IPAddress.NetworkToHostOrder( BitConverter.ToInt16( buf, 32 ) );
で長すぎるんだよな。2バイトくらいだったら
var dataLen = buf[0] << 8 | buf[1];でもいいが、int幅なると記述量増えるし。

byte配列走査しているときはSpanを当てていることが多いから、Span<T>ももうちょっと使い勝手向上させて
int intLen = span.Slice(0,4).ToHostOrder();
みたいに書かせて欲しい
0270デフォルトの名無しさん (アウアウウー Sa43-t/PR)
垢版 |
2021/09/27(月) 00:04:24.04ID:XMGm2liDa
まあライブラリで実装するほど汎用的というか需要がある処理じゃないって判断なんでしょうね。
つーか大昔からある宗教論争だけど個人的にはビッグエンディアンなんて
どっかのタイミングで追放してしまえばよかったのにw
つくづくこんなの考えた奴馬鹿だろとしかw

ところで、BitConverterってバイトオーダーは環境依存なのかリトルエンディアン固定なのかどっちなんだろう
0274デフォルトの名無しさん (スッップ Sd32-KpKw)
垢版 |
2021/09/27(月) 03:03:03.22ID:a10dBt+Nd
c#って機能的にはc++のメソッドを全部呼ぶことって出来ますか?

win32apiを弄っていて、当然ドキュメントは99%がc++なんだけど
dllimportとかを使えば全部の機能はc#からも使うことは出来ると思って良いのでしょうか?
それとも、言語仕様の壁があるから使えない機能も普通にあるのでしょうか
0277デフォルトの名無しさん (ワッチョイ c602-5QVF)
垢版 |
2021/09/27(月) 10:15:30.40ID:I8r9zhJi0
>>274>>275
アドレスさえ取得出来ればメンバ関数含めて全て呼べる
DllImportやGetProcAddresからはポインタ取得出来ないからそれを呼べると言えるかは微妙だが
メンバ関数は第一引数にインスタンスへのポインタが隠されてるだけの実態はただの静的関数だからdelegate* unmanaged[Stdcall]<void*, void>とかにキャストしてvoid*にオブジェクトポインタ渡せば正常に機能する
逆に言えば公開したいメンバ関数があるなら、第一引数にvoid*を沿えた静的関数にしてdllexportすればいい
0279デフォルトの名無しさん (ブーイモ MM0e-tE3I)
垢版 |
2021/09/27(月) 17:16:06.27ID:xIAqABZoM
NaNは「数値ではない」ので、いかなる値と比較してもfalseになる
これはIEEEの規格で定められている
ゼロで割ったらいけないのと同じようなもんで、NaNの比較は原則やってはいけない
0282デフォルトの名無しさん (テテンテンテン MMde-UzFq)
垢版 |
2021/09/27(月) 19:28:23.66ID:3UqjaTSrM
>>276>>277みたいなやり方もあったのか・・・
でもごめん276のQiitaを軽く読んだ限りだとちょっと怖くて&面倒くさくて使いたくない
どうしてもC++のインスタンスをいじらなきゃいけなくなったとしたら
従来通り無難にC++/CLIでラッパーを書くと思う
もう10年くらいそんなコード実装してないから書ける自信ないけど

おおもとの>>274への回答としては、一応条件付きでyes、ってことで合ってるよね?
C++で書かれたインスタンスのメソッドを呼ぶときには基本的には別途C++/CLIプロジェクトでソースを書き足す必要がある
その手間さえ許容できればC#で全部呼べる・・・はず
0283デフォルトの名無しさん (ワッチョイ 9202-2Lmd)
垢版 |
2021/09/27(月) 23:39:00.12ID:hzZ0wOco0
C#9の関数ポインタを利用したりMarshal.GetDelegateForFunctionPointerを利用したらどんなネイティブ関数も呼べるが(どちらも呼び出し規約設定可能)、
問題はそのDLL内の公開されてないメンバ関数ポインタをどう渡すか?に関してはC++同士でも独自に決めないといけない訳でC#どうこうの話ではなくないか?
0291デフォルトの名無しさん (ワッチョイ 0302-7j45)
垢版 |
2021/09/30(木) 02:07:44.30ID:046jA/pO0
>>287
階層深いといろいろ扱いにくくない?

サンプルに対してどうこういうのも不毛だけど、人を継承して学生やら料理人やら作ったとして学生はセンチで軍人はメートルで保持して、
さらにその身長を参照して数パターンの大きさの制服からちょうどいいものを選びましょうみたいになったらどんどんジェネリクスの範囲が広がる気がするというか、
そういう広がったものに直面してなんだこれ……ってなった

自分が直面してる問題については抽象化というかクラス設計失敗してるのが根本的な原因ぽいのだが
それをジェネリクスで覆い隠してたんだけどちょっと拡張しようとしたらコードがうんこと化した
0293デフォルトの名無しさん (アウアウクー MM87-qHOK)
垢版 |
2021/09/30(木) 07:29:22.71ID:9XdXBqfhM
初歩的な質問ですいません
PostgreSQLとNpgSQLを使用しています
仮にアプリケーションAとBがあるとして、Aからデータベースのテーブルが更新されたらBはテーブルの値が変わったという事を認識する事は可能でしょうか?

どのように実装するか全然分からないので参考例を探したのですが見つけられず、どのようなキーワードで検索すれば良いでしょうか

私はデータベースの知識も乏しいのですが、これはC#側で実装するのか、それともPostgreSQLの関数?で実装するものなのでしょうか?
0297デフォルトの名無しさん (ワッチョイ d201-dHfp)
垢版 |
2021/09/30(木) 09:03:11.28ID:pU/yhshw0
>>293
簡易的なものならpostgresのNOTIFYとLISTENを使えばいいと思う

本格的なアプリケーションなら
Aがドメインイベントを生成してイベントストリームに流して
Bは該当のイベントストリームをサブスクライブして処理する
実装方法は色々あるのでイベントストリームやイベントソーシングで検索して
0298デフォルトの名無しさん (アウアウクー MM87-qHOK)
垢版 |
2021/09/30(木) 12:43:04.47ID:9XdXBqfhM
レスありがとうございます
一定時間毎にテーブルにアクセスしかないのかなと思いましたがNotify、Listenというものがあるのですので
まだ調べられていないのですが、レスの内容を見るにPostgreSQL側で設定などを行い、それをC#側に伝える?ということでしょうか
0300デフォルトの名無しさん (アウアウウー Sa43-k+EL)
垢版 |
2021/09/30(木) 16:57:34.68ID:d4OzmTGQa
ColorMatrixによる画像処理ですが、
ColorMatrix同士の演算を簡単にやる方法はないでしょうか?
行列なので単純に行列を展開して自分で計算して新しい行列Cを作ればいいのですが、それを簡単にやる方法は用意されてないのでしょうか?

c = ColorMatrixAA * ColorMatrixBB; //←これをしたい

例えば輝度とコントラストの調整をひとつの行列による一回の処理で行いたいのが目的です
https://dobon.net/vb/dotnet/graphics/brightness.html
https://dobon.net/vb/dotnet/graphics/contrast.html
0301デフォルトの名無しさん (ワッチョイ f22c-6iP1)
垢版 |
2021/09/30(木) 20:47:43.57ID://goNiVi0
ColorMatrix自体には演算子とか定義されてないので
・自分で拡張メソッド作る(演算子じゃなくてメソッド呼び出しだけど)
・数学用のライブラリ使って5x5行列作って計算後にColorMatrixに変換する
0304デフォルトの名無しさん (アウアウウー Sa27-BBkf)
垢版 |
2021/10/01(金) 21:55:19.63ID:U8MKU26ia
ImageAttributesは既定では単位行列のColorMatrixを持っていて
SetColorMatricesを呼ぶたびにそれとの積が行われるのではないか...
などと妄想して確認してみたが全然違ったw

複数回呼んだ場合は単純に最後に指定したColorMatrixが使われるだけ

ところで、ImageAttributesもColorMatrixもPetzoldの本には出てないんだね
.NET 1.1からという何とも中途半端な
0305デフォルトの名無しさん (ワッチョイ ff00-sNUQ)
垢版 |
2021/10/03(日) 02:28:34.63ID:Z0tb8i1p0
ファイルハンドルのお勉強に入った者です

Flush()とFlush(true)の違いってなんですかね?
MSDNの説明を見てもぼんやりとしか理解できてないんですわ。

OSがディスク書き込みを完了したかどうかを手軽に確認する方法ってあるんですかね?
0307デフォルトの名無しさん (ドコグロ MMa7-E/uf)
垢版 |
2021/10/03(日) 06:08:02.83ID:VkicH7XjM
>>305
> OSがディスク書き込みを完了したかどうかを手軽に確認する方法ってあるんですかね?
ない
確実にやりたいなら専用のデバイスドライバ作ってやるしかない
OracleとかOSに頼らずにそう言うことをしてるものもある
0309デフォルトの名無しさん (アウアウウー Sa27-BBkf)
垢版 |
2021/10/03(日) 11:59:00.54ID:C0Y98Dh4a
極論(でもないと思うけど)を言えばそもそもストレージ自体も
中でファームウェアが走ってるブラックボックスなので
電源が落ちても大丈夫という意味で書込みが完了したかどうかを知るのは
実は無理じゃないかという気もする
0323デフォルトの名無しさん (ワッチョイ ff7d-iZze)
垢版 |
2021/10/05(火) 19:11:51.38ID:XzAOFOmy0
>>319
素人が個人ソフト作る程度なら確かにその通りだが(その規模だとC++ですら同様だと思うが)
結局JavaやC#みたいなガチガチのオブジェクト指向言語はチーム開発するための言語だからちゃんと体系的に学んでもらわないと周りが困るわ
0324デフォルトの名無しさん (ワッチョイ b3e6-SE+q)
垢版 |
2021/10/05(火) 19:26:34.70ID:ZTvxcm/T0
データベース接続はDIする必要ないですか?
接続文字列変えるだけでデバッグできるから

エンジンまで変えるのは丸ごと作り直しみたいなもんですよね
0328デフォルトの名無しさん (アウアウウー Sa27-jOtc)
垢版 |
2021/10/05(火) 22:38:49.32ID:JbR3YU6Oa
人事が変なプライド持ってて
漏れの選んだ社員にケチつけるのか?みたいな反応する香具師いるよな
0345デフォルトの名無しさん (ワッチョイ ca01-V3pW)
垢版 |
2021/10/09(土) 12:41:23.75ID:YzP7ITOe0
gmailをSMTPで受信して特定メールの到着お知らせするフォームアプリ作って常駐させたんだけど
win10が勝手にお知らせの小窓をスライドしてくるわ
便利だからいいんだけど何に反応してんだこれ
該当メール到着したら、ボタンのTextにメールの件名表示させるぐらいの消極的な動きしか指定してないのに
0359デフォルトの名無しさん (ワッチョイ deb5-Rsiz)
垢版 |
2021/10/11(月) 10:42:11.34ID:CrvxK9gA0
ちょっと確認

Webview2を使えば、
C#で作ったデータを表として表示したい場合に
WPFのDataGridなんか使わずに
HTMLで表作って
WPFでそのHTMLを開いて表示できるってこと?
0360デフォルトの名無しさん (ブーイモ MM4f-Rkqs)
垢版 |
2021/10/11(月) 11:56:26.38ID:HCp7KTAvM
>>359
DOMを外から直接弄ることはできなくて、JSを生成して渡してやる必要がある
WPFアプリにしなきゃいけないという制約があるなら
、ぶっちゃけウインドウ全面にWebView2を貼って全部TypeScriptとReactで書いたほうがいい
0361デフォルトの名無しさん (ラクッペペ MM86-Dp8J)
垢版 |
2021/10/11(月) 12:10:53.61ID:vWFS5H/AM
2じゃなくてもできるよね
0363359 (ワッチョイ deb5-Rsiz)
垢版 |
2021/10/11(月) 14:32:46.28ID:CrvxK9gA0
>>360-362
ありがとうぅ!
非常に(・∀・)イイ!!
ReactとAngularって人気を二分してるのかぁ

検索してみたら、どっちもいい
まるで「長澤まさみと新垣結衣、好きなほう持ってっていいぞ」と言われてるぐらいの興奮だ

しかし、
https://www.webprofessional.jp/react-vs-angular/
を読んだ結果、「ReactとTypeScript」を持ってくことにしました!

4年以上前の記事だから今と違うかもしれんけど、
「採用、学習、開発エクスペリエンス」の比較が決め手になった
単にWPFの代替品を探してるだけなんで、フレームワークの習得に時間をかけたくないんだよね
あと、JSXって考え方も気に入った、そうそう、埋め込みでいいよ
Jestって単体テストランナーにも期待してる

TypeScriptって.NETフレームワーク(C#, VB)やってた人には
純粋なJavaScriptよりも学びやすくなってるんだね
正に俺のための言語!←JavaScript超初心者

今月は忙しいんで来月あたりから始めようかなぁ、ワクワク
0365デフォルトの名無しさん (ワッチョイ 635f-GJBa)
垢版 |
2021/10/11(月) 15:01:16.88ID:9ecB130B0
動詞のReactは無視できないレベルで使われますが
0367デフォルトの名無しさん (バットンキン MM3a-fmcw)
垢版 |
2021/10/11(月) 16:16:40.99ID:OHF2MwjAM
ちょうど似たような案件で開発環境考え中なので参考にさせてもらう
でもなるべくC#で書きたいんだよなぁ
>>366
ソースに含まれてるならプロパティで実行時にコピーする設定にしたら参照できたよ
0369デフォルトの名無しさん (ワッチョイ deb5-Rsiz)
垢版 |
2021/10/11(月) 17:04:47.50ID:CrvxK9gA0
>>365
もう〜、そんな過剰に "react" するなよ〜
(・・・上手い・・・じょうずい・・・)

2004年1月からの全期間で見てみると、結果は明らか:
https://trends.google.co.jp/trends/explore?date=all&;q=React,Angular

Reactが誕生した2013年頃から上昇し始めている
それ以前の変動が英語の動詞の"react"の寄与分だな
せいぜい平均2〜3%というところか
それは今の80%からすると「無視できるレベル」だ
これで分かったかね、明智君?

Microsoft Teamsってこの7月に
ElectronからWebView2に移行したのと同時に
AngularからReactに移行したんだね
https://youtu.be/nVAeiVCZHN0?t=23

時代はReact!
よし、これからは俺が日本のReactを牽引していくぜ!
(翻訳: みんなに一生懸命しがみついていくんで、どうか引き摺り回してください m(_ _)m)
0372デフォルトの名無しさん (ラクッペペ MM86-Dp8J)
垢版 |
2021/10/11(月) 18:09:27.15ID:fEXuFp6WM
結局大げさなシステムになるんやね
0373デフォルトの名無しさん (バットンキン MM3a-fmcw)
垢版 |
2021/10/11(月) 18:10:57.41ID:OHF2MwjAM
>>370
ごめんちょっとずれた回答だったかも
とりあえずexeから見えるところにhtmlが置いてあるなら
webView2.CoreWebView2.Navigate(uri)
のuriにフルパス指定すればローカルファイルの表示はできる
「WebView2 C# JavaScript 連携」でトップに出てくる記事を参考にした

テーブル出力は自分では試してないけど
・C#で動的にテーブルタグ吐いてhtml出力して表示
・連携したJS関数に流し込む
一応どっちでもできるんじゃないかな
0377デフォルトの名無しさん (アウアウウー Sa2f-b36D)
垢版 |
2021/10/11(月) 19:26:57.41ID:Y2Io6SNsa
それは違うと思うw

簡単なレポートみたいのをhtmlで吐くのは昔からあるし
印刷や保存を実装する手間が省けるメリットもあるけど
グリッドをブラウザに表示するメリットって何なんだろうね。

後でインタラクティブにしたくなったら困らないかなw
0379デフォルトの名無しさん (ワッチョイ 635f-GJBa)
垢版 |
2021/10/11(月) 20:54:30.36ID:9ecB130B0
>>369
そのくらいの時期から他人のリアクションを見るのを楽しむような動画が流行ってるから何とも言えません
プログラミング言語よりYoutube動画のほうが影響力高いのはわかるよね
0380デフォルトの名無しさん (バットンキン MM3a-fmcw)
垢版 |
2021/10/11(月) 21:23:26.91ID:OHF2MwjAM
>>378
そのページも読んだはすだけどスルーしてたw

自分の場合はテーブル出力したいわけではなくleaflet.jsとの連携で、タイル地図以外のコンポーネントはわざわざブラウザで出力する必要なさそうなんで
やっぱり書き慣れてるWPF+JSかなー
TypeScriptイチから覚えるのダルいし
0381デフォルトの名無しさん (ワッチョイ 0bad-y+h2)
垢版 |
2021/10/12(火) 15:26:35.42ID:ZF5wsVEH0
>>375
404出るはず無いでしょ。
描画したいものをHTMLで作成するだけよ。

行列好きに結合した表示用テーブルとか、あとは、ユーザーに開放するテンプレートとかそういうのをHTMLにしておくと楽。
0387デフォルトの名無しさん (ワッチョイ 0b8e-o/se)
垢版 |
2021/10/12(火) 20:49:45.19ID:QVYC1igu0
Python
はい、論破
0392デフォルトの名無しさん (ワッチョイ 67b0-rx/O)
垢版 |
2021/10/12(火) 22:13:05.35ID:2QmYiCE70

スタンドアロンアプリにWebView使ったら404出るかもしれないから嫌だと言ってたのかと思ったが?
ネットワーク接続前提なら404出るのは仕方ない話じゃん?

>もうね
>正直メリット見えない
>404NotFoundも出ちゃうかもしんないし
>使わない提案はもう通らないの?
0406デフォルトの名無しさん (ラクッペペ MM86-G9cb)
垢版 |
2021/10/13(水) 07:18:08.40ID:62PXK7yQM
知的障害か統合失調症の自演にしか見えないんだがいつまで続くんだ?
0409デフォルトの名無しさん (ワッチョイ 6f5f-fmcw)
垢版 |
2021/10/13(水) 10:49:42.03ID:cOYoTsop0
使用目的がそもそも噛み合ってない
>>382が書いたグラフ描画みたいな一部の機能補助的に使う場合はアプリ内で動的生成なり最初から置いとくなりしたファイルを参照するだけだから404なんか起こり得ないってだけの話でしょ
想像力もくそもない
0412デフォルトの名無しさん (ワッチョイ 5f2f-5ery)
垢版 |
2021/10/13(水) 15:20:38.43ID:wD2JD8sf0
そもそも、404帰ったからどうだというんだ
アプリ組み込みで表示に使うっていうんだから、ローカルでもネットワーク経由でも
ページが表示できなきゃそれなりの対応するだろ
0415デフォルトの名無しさん (ラクッペペ MM86-Dp8J)
垢版 |
2021/10/13(水) 18:54:43.56ID:mAb+BQMQM
cdnのトラブルでレポート出せません!
つったらいいよ
0421デフォルトの名無しさん (テテンテンテン MM7f-7/+M)
垢版 |
2021/10/15(金) 22:34:52.11ID:wGyOajUNM
>>418
えっと、dotnet runが普通に動くC#のコードならF5キー押すだけで相当の動作をすると思うんだけど・・・
そういうことを聞いてるんじゃなくて?

C#のスレなのに「C#は知らないけど」とか言い出してるルビーガイジの人、いつもながら邪魔なので書き込まないで欲しいなあ
0426デフォルトの名無しさん (テテンテンテン MM7f-7/+M)
垢版 |
2021/10/16(土) 19:46:38.02ID:qQGMBw3HM
デバッグ・起動にかかる時間を減らしたいの?
CodeRunnerってソースコード(の一部等)を「便利に」実行するツールではあっても
「高速に」実行するツールじゃないと思うんだけど、
なんでそんなの使わなきゃいけないの?

・・・・っていうか419が諸悪の根源なんだろうけどさあ
「C# は知らないけど」とかほざいてる奴の書き込みにひっかきまわされて余計な回り道しただけだと思うよ
あなたVSCodeスレでもそいつの言うことを真に受けて意味も解らずヘンテコな環境改変やらされたでしょ
そのあげくまともに動く環境になってないんでしょ?
CodeRunnerまわりでやった作業は全部無駄だったと損切りして
おとなしく手元のテキストどおりの標準手順で勉強したほうがいいと思うよ
0429デフォルトの名無しさん (テテンテンテン MM7f-7/+M)
垢版 |
2021/10/16(土) 20:32:31.99ID:37jU2CaJM
>>427
いやむしろあなたは被害者だよ・・・ご愁傷様

この板は・・・質問に便乗して
自分の偏った(RubyとかVSCodeとかの)知識をひけらかすことだけを目的とした書き込みをするガイジが約1名いるからなあ
質問者に無益どころか有害でしかないのが非常に邪悪で迷惑なんだけどさあ
0430デフォルトの名無しさん (ワッチョイ bb5f-CRp7)
垢版 |
2021/10/16(土) 20:59:52.80ID:oE54EQXy0
何を言われても自分は悪いと思ってないみたいなので、ひたすら無視するしかないだろうねえ
長くいる人は文章で判別できるんだけど・・・
初めての人や質問者を善意に見せかけて混乱させてるようにしか見えない
0432デフォルトの名無しさん (ワッチョイ dfbd-3xzG)
垢版 |
2021/10/16(土) 21:29:48.25ID:JA1IOSdA0
テキストボックスとボタンのみのフォーム内でのフォーカスを制御したいです。

@エンタキーで次のテキストボックス。
Aバックスペースキーでひとつ前のテキストボックス。
Bマウスでのテキストボックスの移動禁止。

以上の事を、実装したいんですけどテキストボックスの入力内容によってEnabledされたテキストボックスは進む時、戻る時は飛ばしたいです。

タブインデックスを順番通りなする→キーダウンイベント?を全てのテキストボックスに割り当てるで合ってます?Bは全くもってわかりません。
0433デフォルトの名無しさん (ワッチョイ 9f6a-UNM6)
垢版 |
2021/10/16(土) 21:37:12.28ID:0GilHVUX0
>>432
古いシステムの挙動をそのまま再現しろ的な要求仕様なのかな…
(2)の[Backspace]で一つ前のテキストボックスへ移動って編集中の文字の修正はどうするの?カーソルと[Delete]使えってこと?
0434デフォルトの名無しさん (ワッチョイ bb5f-an4T)
垢版 |
2021/10/16(土) 22:21:41.23ID:0CjYy/Ai0
質問です
入力された文字列と文字数を表示するプログラムで
Enterキーのみが入力されるまでループして入力要求をするようにしたいのですが
1〜4文字の入力はループするのですが5文字入力するとループが終わってしまいます
どうなおせばいいでしょうか?
よろしくお願いします
/*************************************/
#include <stdio.h>
#include <string.h>
int main(void){
char str[] = "Hello";
fgets(str,sizeof(str),stdin);
while (str[0] !='\n'){
if (str[0] != '\n'){
printf("文字列%s\n",str);
printf("文字数%d\n",strlen(str));
fgets(str,sizeof(str),stdin);
}else{
break;
}
}
}
/*************************************/
0437デフォルトの名無しさん (ワッチョイ 0fb0-ZO17)
垢版 |
2021/10/16(土) 23:27:25.05ID:66NQtqDb0
>>434
ここで答えるのも違うと思うが、Visual C++上でやってると仮定して。

配列strは、4行目の「char str[]」の宣言で、"Hello"と5文字分確保されている。
下(4行目、10行目)のfgetsでは、sizeof(str)分取り込んでいる。つまり、5文字分だ。

4行目のfgets時に「12345」と入れてEnterを押すと、実際には「12345\n」と入力されたことになる。
この時、まず取り込まれるのは先頭から5文字分で、8行目のprintfでは「12345」と表示されるだろう。
しかし、stdinには「6文字目」の\nが残っているので、10行目のfgetsで、「配列strの先頭に」配されることになる。
その結果は?

そこまで分かれば、何をどう直せばよいかは分かると思う。
0444デフォルトの名無しさん (スッップ Sdbf-3xzG)
垢版 |
2021/10/18(月) 12:26:38.45ID:1NG1uNNLd
>>433
おっしゃる通りそのままま再現です。入ってる文字に関してはBox内全選択状態にしてdeleteですかね。
ありがとうございます。

>>441
なるほど、ありがとうございます。調べてみます。
0445デフォルトの名無しさん (ワッチョイ 1f89-Avck)
垢版 |
2021/10/18(月) 13:49:38.05ID:UIeTv/hI0
ASP.net core 3.1 + Entity Frameworkってここで質問してもOK?
先週あたりから少しやり始めてるんだけど、「startup.csでApplicationDbContext(名前はいくつか表記ブレがあったが)をDIする設定をしておいて、各コントローラーではDIされたそれを使う」って流れにどうも違和感を感じる。
これってつまり、ApplicationDbContextにそのアプリで使う全てのテーブルをDbSetとしてあらかじめ書いておくって事?
それだと大規模アプリだと収拾がつかなくなりそうな気がする。
(1モデル毎とはいわないまでも)いくつかのDbSetを入れたDbContextに分割した上で、DIされたApplicationDbContextの接続情報等を使ってコントローラー内で生成した方がいいと思うんだが、上手く検索できない。
何かご存じの方がいらっしゃれば御教授を賜れば幸いである
0446デフォルトの名無しさん (ワッチョイ 0f46-ZZu6)
垢版 |
2021/10/18(月) 15:53:17.35ID:+CxqcXuB0
>>445
そのアプリで使う全てのテーブル、というよりは、
接続先DBにある全てのテーブルをDbSetとしてあらかじめ書いておくイメージかと
必ずソースコードと実DBを1:1で対応させる

むしろ同一DBなのにテーブルごとに見るべきDbContextがまちまちになってるほうが収拾つかなくならない?
読み書きするテーブルごとで別々にDbConnection張ったりしないでしょ
0447445 (ワッチョイ 1f89-Avck)
垢版 |
2021/10/18(月) 19:01:16.44ID:UIeTv/hI0
>>446
お返事に感謝。
なるほど、もしかしてApplicationDbContext(勿論別の名前でもいいが)って、基本的にコーディングしない(どこかで自動生成する)ものなのでしょうかね?
だとすれば納得です。

で、あとはトランザクション制御が必要な処理とかあったらコントローラー側で個別にDbContext作った方が、かえって見通しが良くなるかもしれませんね
0448デフォルトの名無しさん (ワッチョイ 4bda-59xu)
垢版 |
2021/10/18(月) 20:41:31.91ID:Lp0dxyHq0
C#でアプリ作りたいのですが何を学習すれば良いか分かりません
アプリ作成経験は皆無で入門書で文法やり終えた所です
アマゾンで検索すると以下のようなタイトルが出てきますがどれが自分がやろうとしてることなのかわからないの教えて欲しいです
0からフォームアプリを作りたいです

.NET 5
OpenCV4
Unity
Visual C# 2017
ASP.NET
C#によるWindowsシステムプログラミング
0450デフォルトの名無しさん (ワッチョイ fbce-an4T)
垢版 |
2021/10/18(月) 20:51:17.11ID:YaFIw7sk0
計算途中の結果を取得して 一定時間ごとに
画面に画像を再描画したいのですが
どういう方法が無難でしょうか

文字を出力するだけならConsole.WriteLine()を挟むか
テキスト出力でできたのですが
画像を表示して、それを更新するにはOnPaint等を利用する
しかないのでしょうか それとももっと簡易な方法がありますか

思いついたやり方(動作未確認)
@OnPaint内で ある配列(途中結果)の内容を元に画像を描画
A一定時間ごとにタイマー等でOnPaintを強制的に呼び出して
 @の処理を再実行して描画を更新する

↑のやり方をした場合 メインの処理では計算が実行されていて
その途中結果をOnPaint内の処理が読みに行って描画が更新されるので
待ち合わせとかは特に考えなくてもいいんですよね...
0451デフォルトの名無しさん (ワッチョイ 0fa7-gyyz)
垢版 |
2021/10/18(月) 20:53:28.22ID:dsss1YSx0
作って覚える Visual C# 2019 デスクトップアプリ入門
作って楽しむプログラミング Visual C# 2019超入門

とかアマのページ見たら
なんかよさそうだったよ
読んでないけど
サンプルコードも付いてそうじゃん
0456デフォルトの名無しさん (ワッチョイ fb01-Avck)
垢版 |
2021/10/18(月) 21:19:51.69ID:kGOStHwx0
NFTゲーム、NFTアート、ブロックチェーンゲームに今すぐ参入しなさい
これからこの市場は100倍になる
2年もしたら先行者利益が失われてブルーオーシャンからレッドオーシャンになるだろう
0457デフォルトの名無しさん (ワッチョイ 0fb0-59xu)
垢版 |
2021/10/18(月) 21:31:48.22ID:xe65shoD0
>>451
回答ありがとうございます
本の家で立ち読み出来たので読んできたのですが
理屈とか抜きでとりあえず出来て喜ぶ感じの本だったのでちょっと違う感じでした
(偉そうなこと言ってすいません)
骨組みも何もない所からフォームアプリを作れるようになりたいです
0458デフォルトの名無しさん (アウアウウー Sacf-Avck)
垢版 |
2021/10/18(月) 21:41:09.39ID:qqFOe+Kza
>>450
コントロールのクライアント領域の再描画はControl.Invalidate等を呼んで
無効化するのが基本。(等と書いたのは似たようなメソッドが複数あるから。
その辺の事情はDobonさんとか見て)

OnPaintはシステムからコールバックされるもので、基本的にはユーザーコードから
呼ぶものじゃない。

途中経過をどう表示に反映するかについては、タイマーで一定時間ごとに
Control.Invalidate呼ぶのが一番単純で分かりやすくないかね。

途中結果がプロパティで取得できるようになってればOnPaintでそれを読んで描画するだけだ
0459デフォルトの名無しさん (ワッチョイ 0fa7-gyyz)
垢版 |
2021/10/18(月) 21:50:10.19ID:dsss1YSx0
>>457
え?win32apiを直接いじって画面作るとこからやりたいとか思ってる?
CreateWindowとかいう引数がぐっしょりあるわけわからんメソッドを自力でやりたいとかそんなん?

今の時代それは無駄よ
シリコンウェハー自分でスライスしないと気がすまないってぐらい無駄よ
0461デフォルトの名無しさん (ワッチョイ 8b01-59xu)
垢版 |
2021/10/18(月) 22:29:52.28ID:Qmtv+2pm0
>>459
こういうのを1行1行解説されてる本が欲しいです
貼って作る本はコンソールの文法を勉強した意味があまり感じられなくてやる気が出なかったです

using System;
using System.Windows.Forms;

class Program
{
[STAThread]
static void Main()
{
Form form = new Form();
form.Text = "Hello";
Application.Run(form);
}
}
0463デフォルトの名無しさん (ワッチョイ 8b01-59xu)
垢版 |
2021/10/18(月) 22:49:29.36ID:Qmtv+2pm0
>>462
アプリ作成経験ないので色々分からないのです。
[STAThread]
Application.Run(form);
とかコンソールの文法の本に出てこなかったので。
なのでこんな基礎的な部分から解説してる本が欲しいです。
0464デフォルトの名無しさん (ワッチョイ ab5f-4HJo)
垢版 |
2021/10/18(月) 22:53:06.65ID:Qrw/nlNf0
VSでマウスのせたら説明出てこないか?
0467デフォルトの名無しさん (ワッチョイ 8b01-tNWP)
垢版 |
2021/10/19(火) 00:40:29.16ID:K4KViqsJ0
自分もwinformから入ったけどとっかかりに原理原則を細かく理解するのは逆に遠回りでは
ツールボックス見て面白そうなものをデザイナーに貼ってポチポチしてるだけでなんとなく雰囲気はわかってくる
深入りしたきゃ気になるメソッドのマウスオーバー眺めたりF12で潜っていけばいい
0470デフォルトの名無しさん (ワッチョイ eb8e-ToKj)
垢版 |
2021/10/19(火) 01:04:15.25ID:+UiQgTle0
>>463
ステイサムの兄貴の映画を見ろ
0473デフォルトの名無しさん (ワッチョイ 8b02-twAR)
垢版 |
2021/10/19(火) 12:16:27.94ID:ep6zny9s0
>>463
>>466に同意だわ
とりあえずサンプルが動く環境を作ったら、分からないところは一つ一つググる
本買っても自分の期待することが書いてるとは限らないし、そもそも最近は情報の劣化も早いからね
フレームワークも .net5 が最新になってるし、それ以前の書き方とは少し異なる部分もあるはず

フォームアプリ作りたいなら練習に何か目標決めて、調べながら小さいアプリ作ってみると良いと思うよ
0477デフォルトの名無しさん (ワッチョイ 9f01-uqU8)
垢版 |
2021/10/19(火) 16:24:38.29ID:jg0lHBF80
>>461
自分も初心者ですが、デスクトップアプリいろいろ作れるようになりました

ちなみに、これ>>451の上の本読みました
もちろんこれだけですべてが理解できるわけじゃないけど、フォームアプリのとっかかりとして非常に参考になりました
自分もあなたと同じで、全部ちゃんと知らないと気が済まないタイプですが
それを追求するには、プログラミングの世界は広大すぎます
C#だけでも余りに広い
まず、勉強の成果を形する、これがやれないと楽しめなくて、その後には挫折が待ってます
そういう意味で、不完全であってもフォームアプリの基礎をかいつまんで学んでおくのは大事

>コンソールの文法を勉強した意味があまり感じられなくてやる気が出なかったです

これ、全く違うと思います
自分は「独習C#」をベースに勉強しました
コンソールの文法ですね
フォームアプリを作る上で、なくてはならない文法ばかりです
作って覚える系の本が教えてくれるのは、骨組みです。
中身を埋めるのに使うのは、コンソールで学んだコードです+入門本にはなかったクラスの使い方はググる
やってきたことは確実に役に立つはず!
0484デフォルトの名無しさん (ラクッペペ MM7f-xEoX)
垢版 |
2021/10/19(火) 19:17:49.43ID:NUYGeUrwM
ベーマガは許される?
0486デフォルトの名無しさん (ワッチョイ 7b02-twAR)
垢版 |
2021/10/19(火) 19:37:08.62ID:zXEaVMtY0
本来概念的に同じものの筈なのにクラスが複数に別れてしまってるとき、それぞれに共通する処理ってどこにどう実装すれば良いんだろ?
たまたま同じ処理とかじゃなくて、同じ処理であるべきのもののケース
同じ処理をそれぞれに書く? 外から注入?

今からクラスまとめるのは無理です
0487デフォルトの名無しさん (ラクッペペ MM7f-xEoX)
垢版 |
2021/10/19(火) 19:40:30.47ID:NUYGeUrwM
インターフェースがあるじゃない
0491デフォルトの名無しさん (ワッチョイ 7b02-twAR)
垢版 |
2021/10/19(火) 20:41:13.43ID:zXEaVMtY0
>>489
基底クラスに共通処理書いて継承するということですか?
書き方はわかりますけど、そのやり方がアンチパターンなのかどうなのかの区別ができないというか、
よろしくないと思って別の実現方法考えてました
0493デフォルトの名無しさん (ワッチョイ 6b01-tt7j)
垢版 |
2021/10/19(火) 22:13:01.74ID:NdtIV47d0
別の静的なクラスに共通処理を書いて、その別れてしまったクラスからそれぞれ呼べばいいんじゃないの?
みんな実際のコード見てないんだしなんとも言えんでしょ
0495デフォルトの名無しさん (ワッチョイ 7b02-twAR)
垢版 |
2021/10/20(水) 00:46:59.58ID:Vnkg0vX60
>>492
事情というか誰かが作ったそのクラス設計で開発が進んでしまってて今更どうしようもない感じ
そこに引っ張られて自分の所がぐちゃるのを極力さけたい
基底クラスに詳細実装書いても良いケースがあるのかどうか、それはどんな時なのかがわからんです

>>493
それくらいしかないのかなあ
0499デフォルトの名無しさん (アウアウウー Sacf-Avck)
垢版 |
2021/10/20(水) 01:10:41.57ID:GI8NfUrfa
>>495
>>486にある「今からクラスまとめるのは無理」とはどういう意味?
継承が適用できるなら素直に継承使って書き直すのが
一番だと思うけど、それは許されてないってこと?

何ができて何ができないのか、どこまでの変更が許されるのか。
ちょっと全体的に話が漠然とし過ぎて雲を掴むような話だねw
0500デフォルトの名無しさん (アウアウウー Sacf-mxW8)
垢版 |
2021/10/20(水) 09:06:31.90ID:OEiI06HQa
>>486
abstract継承
0502デフォルトの名無しさん (ワッチョイ 2b73-zJ6X)
垢版 |
2021/10/20(水) 16:17:22.89ID:saxl1FyI0
AとBで共通の処理があるから、この部分をベースクラスにしようって順は大抵クソだな。
とくにAのソース全く触れない場合は。

Interfaceだけにしとくのが検討要件で、その価値がないなら、多分何も構造変えないが結局ベスト。
0503デフォルトの名無しさん (ワッチョイ 9f01-ArIQ)
垢版 |
2021/10/20(水) 16:59:39.86ID:lNlmn0wH0
概念的に同じものだからといって必ずしも同じクラスにすべきとは限らない
同じクラスにするか複数クラスにするか設計意図次第

どうするのがいいかは共通な処理と共通でない処理の関係性やそれぞれの凝集度によるので
>>486に書いてるような内容だけで判断するものじゃない
0505デフォルトの名無しさん (アウアウウー Sacf-Avck)
垢版 |
2021/10/20(水) 17:56:06.15ID:jvdlGdZPa
>>504
>>486を素直に読めばむしろそれはないと思うよw

これは言い掛かりかもしれないが、
なんか盲目的に実装の継承を否定してインターフェイス使えって人散見するけど、
正直中学生じみてると思うんだよねw
0506デフォルトの名無しさん (ワッチョイ 8b02-twAR)
垢版 |
2021/10/20(水) 20:10:47.25ID:jV19oboX0
状況が良く分からないな
誰かが作ったクソなクラスAがあって、自分はそれを使いたくないから別の同じようなクラスBを作って、でも共通的な部分は共通処理にまとめたいって話なんかね。
その状況なら俺ならクラスAをラップするようなクラスを作って、必要な共通処理だけクラスAに移譲するようにするかな。
0509デフォルトの名無しさん (ワッチョイ ab5f-4HJo)
垢版 |
2021/10/21(木) 01:47:47.06ID:Li4xz+CY0
初めに考えたのが基底クラスだった
全く同じ処理であるべきものなのにインターフェースにしてブレを許容する作りはおかしい
0511デフォルトの名無しさん (ワッチョイ 8b01-AgOP)
垢版 |
2021/10/21(木) 16:43:18.94ID:H2PdImxP0
間違ったものに何を被せても出来上がるものは間違ったものにしかならん
下手に猿知恵使って問題を見えにくくするくらいなら誰の目からも間違っていることがわかるようにしとけ
0515デフォルトの名無しさん (ワッチョイ 1d6e-8Piu)
垢版 |
2021/10/22(金) 20:59:58.33ID:qh97V0be0
バージョン管理についてお尋ねします
個人で素人開発して2年かけてそれなりにプロジェクトもでかくなっているのですが
いまさらながらにバージョン管理した方がよいのかなと調べています
gitやSubversionあたりかなと思っていますが
個人レベルで既に大きくなったプロジェクトを今からでも
管理するように勉強した方が良いもんでしょうか
いまは、単純に外部ストレージにまるごとプロジェクトのフォルダをバックアップしてます
0516デフォルトの名無しさん (ワッチョイ 3901-z4aL)
垢版 |
2021/10/22(金) 21:02:08.96ID:FSg5jOmH0
あたりまえ
gitを勉強しよう 今更Subverusionはない
0517デフォルトの名無しさん (ワッチョイ 3901-z4aL)
垢版 |
2021/10/22(金) 21:02:52.94ID:FSg5jOmH0
なんかスペルミスってるけど気にせんで
0519デフォルトの名無しさん (ワッチョイ ee2c-iBLV)
垢版 |
2021/10/22(金) 22:01:38.31ID:8L7RGAQS0
YouTube で有名な、雑食系エンジニア・KENTA のサロンの、
Ruby on Rails 初心者用コースでは、

Linux, Docker Compose, Node.js(Webpack, Babel), Bootstrap
VSCode(Remote Container, WSL2 ならRemote WSL), Heroku, AWS, CircleCI、データベース などは必須

転職で、必ず聞かれるのが、git のプルリク(pull request)のやり方。
ウェブ開発で、gitを知らない香具師はいない

gitできないと転職できない
0523デフォルトの名無しさん (ワッチョイ ee63-PyhB)
垢版 |
2021/10/23(土) 10:18:52.09ID:DsNdyrVS0
機械学習のモデルに使うぶんには著作権はフェアユースの範囲で問題ないってスタンス
0.1%ほどの確率で出力される学習データそのまんまのコードのライセンスに関しては明確な回答を避けているように見える
やはり稀だが個人データも出力されてしまうことがあって, メールアドレスだけはフィルタされるようにしましたって下りは笑うところだと思う
0536515 (ワッチョイ 1d6e-8Piu)
垢版 |
2021/10/23(土) 18:05:37.88ID:V/eTCSzf0
みなさんアドバイスありがとうございます
gitが基本のようですが、それでもいろいろな見方もあるようなので決めかねてます
ちなみに
・本業と別に片手間でWindowsFormによる開発、ただし自分が作ったものを
業務でかなり使用されるようになっている
・完全に個人開発で、他の人とチームで開発することはまずない、転職することもない
・他の業務が多いので、学習コストは必要最低限にしたい(無論必要なら寝る時間削る)
・現在作ってるプロジェクトにすんなり導入できるか(←かなり重要)
・個人PCでやっているので、バックアップはしているけれどひとたびデータが飛べば
それまでの開発が継続できなくなるので、なるべくメンテナンス性が容易な手法がいい
・MacにParalles入れて仮想のWindows上でVS2019にて開発、サードパーティ製のモジュールも使用
現在はParallelsのイメージをまるごとバックアップして開発環境ごと保存してます
・新しい画面や機能を入れる場合は、CSファイルをコピーしてプロジェクトから外してバックアップ代わりに
(トラブったら新しい方を消して元のCSファイルをプロジェクトに戻す)ってことしてます

参考サイト見てても、チーム内の新人が下手打ったなどの例ばかりで
個人でやるメリットと導入や管理の手間のバランスがわからないところです
覚えてしまえばなんてことないのだろうとは思いますが・・・
0550デフォルトの名無しさん (ワッチョイ eeb5-TSw9)
垢版 |
2021/10/23(土) 22:14:27.13ID:KWoyfano0
>>549
> 今のGithubはMSに買収されてプライベートリポジトリが無料無制限となり

うひゃー、そうだったのか
VS使ってて「こんなにGithubとMSがツーカーでいいのか、おい?」って思ってたところだ
0554デフォルトの名無しさん (ワッチョイ 2973-RNtY)
垢版 |
2021/10/24(日) 03:07:07.36ID:RTPiU58z0
githubでプライベートリポジトリがいいっての。

vs使ってるんだし、将来一部をazureにするにせよ、
そのままデスクトップformだけにせよ、
あるいは.net6などに移行するにせよ。
vsだけでなく、vscodeも併用するようになるにせよ、
何も変えず現状維持でも、
可能性高い将来の環境追加を考慮しても
マイクロソフトのgithubが一番だっての。
0558デフォルトの名無しさん (ワッチョイ 1d6e-8Piu)
垢版 |
2021/10/24(日) 07:39:32.01ID:rcC2nhnQ0
>>557
素人コードで手間を省くのにコード内に書いていることも多いので
とてもクラウド上にはあげられないです
ローカルでgitだけ(githubは使わない)使うという理解ですが
あってますかね・・・
勉強はじめましたが、ローカルだけに絞るとなかなか記事が少ないですね
githubをプライベートにってのも、設定ミスで実は見えてましたなんてことが
ありそうでちと怖いです、気づいて指摘してくれる人も周りにいないので

でも企業とか外部に情報出さないのが鉄則のように思うのですが
githubが多用されていることが素人には不思議です
有料にしてプライベートが基本なんですかね
0559デフォルトの名無しさん (テテンテンテン MMe6-HOqZ)
垢版 |
2021/10/24(日) 07:59:32.44ID:4IdS0kipM
さすがに現実を知らなすぎでは
某誰でも名前知ってる日本の大企業の社内システムのソースは全部Githubのプライベートリポジトリにある
Office365とGSuiteも契約して使ってるから、ソースに限らずメールや資料は全部MSとGoogleに預けていることになる
社内システムや顧客向けシステムの殆どはAWSとGCPで運用している
こんなの全然珍しい話じゃないよ
0560デフォルトの名無しさん (ワッチョイ 2973-RNtY)
垢版 |
2021/10/24(日) 08:37:25.88ID:RTPiU58z0
設定ミスで実は見えてましたーとかないから...
プライベートリポジトリはpritateとマークが付く。

それでも不安ならreadme.mdとか1つだけアップして、
githubからログアウトして
該当のリポジトリをURLで見ようとすればいいだけ。
見れないことが確認できれば「該当のリポジトリはちゃんとプライベートになってる」から使っていけばいいだけなんだから。
0562デフォルトの名無しさん (ワッチョイ 8201-BGGg)
垢版 |
2021/10/24(日) 09:22:52.30ID:1SVJ9Wvp0
>>558
> でも企業とか外部に情報出さないのが鉄則のように思うのですが
たいていの会社の多くのプロジェクトはそうだと思う
モノによっては特定の部屋から出しちゃダメとかすらあるしね
ただ逆に大学と共同研究開発とかでgithub使うとかもあったりする

> githubが多用されていることが素人には不思議です
多用されてるかどうか知らんけど使ってる奴の(ネット上の)声がでかいのは確かだと思う
0564デフォルトの名無しさん (ワッチョイ 895f-fwOn)
垢版 |
2021/10/24(日) 09:56:46.55ID:xkEpPvQL0
弊社クソデカJTCだけど、ソース管理サーバーはセルフホストしてるぞ。
社内システムも各種そういうクラウドもあるけど、国内でも仮想サーバー立ててそっち使ったりもしてる。
0565デフォルトの名無しさん (ワッチョイ 62eb-SH1g)
垢版 |
2021/10/24(日) 10:37:09.53ID:sJguVuMQ0
Azure導入してるところはAzureRepos使ってるんじゃないか
0566デフォルトの名無しさん (ラクッペペ MMe6-l3m0)
垢版 |
2021/10/24(日) 11:16:43.06ID:cSH7DcWrM
クラウド利用ならAzure DevOps Service
オンプレミスならAzure Devops Server
Expressは同時接続5ユーザまでだけど個人利用のライセンスは無償
WindowsServerでなくてもクライアントOSにもインストールできる
個人利用ならVisualStudioCommunity + SQL ServerExpress + DevOpsServerExpressを1台の開発マシンにインストールすればすべて無料で利用可能
0569デフォルトの名無しさん (ワッチョイ e124-TSw9)
垢版 |
2021/10/24(日) 13:15:47.96ID:FpGB46a40
ギフハブ以外に選択肢なんてほぼ無い時代に何言い争ってんねん
強いてギフハブ以外にあるとしたらBANされづらいギッラボがハッキングツール置き場として選択肢上がってくるくらいだわな
0572デフォルトの名無しさん (ワッチョイ 812d-kr9p)
垢版 |
2021/10/24(日) 14:04:22.98ID:kH6+iFBO0
>>558
今のVS(Ver.16.11)は既存のソリューションのローカルgitリポジトリを作るのは簡単だよ
gitメニューのgitリポジトリの作成でローカルのみを選んで作成するだけ
それを実行したらソリューションフォルダの中に.gitフォルダが作成される
0577デフォルトの名無しさん (ワッチョイ e102-8Piu)
垢版 |
2021/10/25(月) 03:37:56.42ID:B1mDILiv0
プログラムソースはgit、リソースはsvn管理が一般的だろ
githubとか使わないでも、ローカルのHDDにリモートリポジトリ作れるよ
gitクライアントはSourceTreeが使いやすくて好き
0578デフォルトの名無しさん (ワッチョイ 2101-a/fn)
垢版 |
2021/10/25(月) 04:39:51.46ID:OmnyYW+Y0
source treeはいいね
単体リポジトリだけならvsのgit機能で事足りるんだけど
vsで複数リポジトリを統合管理できたらsource treeからまるごと乗り換えられるんだよなぁ
0585デフォルトの名無しさん (ワッチョイ 895f-/PVD)
垢版 |
2021/10/25(月) 10:27:38.27ID:ZD0F2bR/0
素人が価値のないコードを必死に守ろうとするのは滑稽だな
そんなもん全公開でいい
0593デフォルトの名無しさん (ワッチョイ e102-8Piu)
垢版 |
2021/10/25(月) 13:33:24.90ID:B1mDILiv0
>>579
リソースはpngとかのいわゆるバイナリファイルかな

>>580 >>581
gitはバイナリファイルの差分管理ができないからsvnで管理する
そりゃgitで全部管理できたら楽だがプロジェクトが大きくなったらトラブるよ
個人開発レベルのサイズならgitで済むかもだが
svnとgitのバージョンのずれは運用で何とかするな(日時とか見てそれぞれ戻せば別に問題ない)
どうしても一緒に扱いたいなら別のバージョン管理システム使うかだね
(perforceとか)
0596デフォルトの名無しさん (ドコグロ MM15-BGGg)
垢版 |
2021/10/25(月) 15:51:29.41ID:TRf/J2SsM
>>593
> svnとgitのバージョンのずれは運用で何とかするな(日時とか見てそれぞれ戻せば別に問題ない)
個人的にはsvnの方が慣れてるのでいまだにsvn使ってる俺ですらそれには賛成できんわ
0599デフォルトの名無しさん (ワッチョイ e102-8Piu)
垢版 |
2021/10/25(月) 18:13:57.18ID:B1mDILiv0
git LFS は俺が選定した当時は問題ありそうだったから使わなかったね
今は良く分からんけど使えるなら使えばいいんでない?
使ってないのにググった結果で適当言ってるだけなら怖いけど
0601デフォルトの名無しさん (ワッチョイ eeb0-dcnK)
垢版 |
2021/10/25(月) 21:31:24.47ID:3IW01+t90
>そりゃgitで全部管理できたら楽だがプロジェクトが大きくなったらトラブるよ

とりあえずこれ、gitになにか問題があってトラブるって言ってる?どんな問題?
0602デフォルトの名無しさん (ワッチョイ 2973-RNtY)
垢版 |
2021/10/25(月) 21:42:12.82ID:JVD00Zwu0
まぁ、100Mのものが無いだろうと思ってたら、
100M超えてるのが2つあって手戻しとかはあるな。
個人でプライベートだと、コンパイル結果や中間ファイル消したりもしないし。

拡張子でざっくり消せればいいのだが、そうもいかず名指しでignore指定。
ほほ間違いなく後手対応になる。
0603デフォルトの名無しさん (ワッチョイ 3901-z4aL)
垢版 |
2021/10/25(月) 22:14:20.77ID:3O35Ls500
それはgitを使いこなせてないだけでは
0607デフォルトの名無しさん (ワッチョイ e102-8Piu)
垢版 |
2021/10/26(火) 09:53:38.01ID:nH/QWLAm0
gitとsvnを併用運用するのって良くある環境だと思ってたけどこんだけ突っ込み入るならそうでもないのかね
gitは大きなバイナリの扱いが苦手ってのはググれば分かるんだから、どれだけ問題あるかとかは自分で判断してくれ
単にリポジトリが大きくなるとかクローンに時間がかかるとか重すぎてタイムアウトするとかそういうのだよ
もちろんプロジェクトによっては問題ないだろうから自己判断だね
0609デフォルトの名無しさん (ワッチョイ 2101-fDtU)
垢版 |
2021/10/26(火) 11:22:27.27ID:M4zViq7X0
>>606
だいたいどの言語でもできると思うけど、使いたいサービスや前例がある言語を選べると良いとおもう。
それがわかんなかったら、好きな言語を学びながら作りたいものの完成を目指すといいよ。
「この機能は弾幕のここに使えるな…」みたいな感じで勉強していくとモチベも続くんじゃないかな
書籍はいらないよ、サイトで学習するだけで十分。
c#ならここでいい
https://ufcpp.net/
0611デフォルトの名無しさん (ワッチョイ 0610-ORQY)
垢版 |
2021/10/26(火) 12:45:54.68ID:QBPvv+qx0
>>606
それWinformsアプリケーションだよ、これから新しく学ぶには良い題材と思えないな
ちなみに需要があるなら、とっくに新しいソフトが作られていて、利用者もそっちへ移行してるものじゃないかな
古いものを仕方なく使う場合、それ相応の理由がある。で、それを確認できないと何とも言えないね
0613デフォルトの名無しさん (ワッチョイ 2973-RNtY)
垢版 |
2021/10/26(火) 13:26:21.73ID:oGvcWZ0b0
最初はWinformの4.8 frameworkの方が話しが単純だから学習に向いてるよ。

WPF使うにしても最初は前部ビヘイビアで書く方が理解も早い。
一人で5年と経験もない人がWVVMとかやっても
マイナスにしか働かないし。
0614デフォルトの名無しさん (ワッチョイ 0602-kr9p)
垢版 |
2021/10/26(火) 18:25:03.57ID:Cq2VKdsO0
>>609
ありがとうございます
C#の基礎的なコンソールの文法は覚えれたと思うのですが
どうやって弾幕アプリを作っていけばいいのか検討もつきません
アプリの本を読んでれば作れるようになるんでしょうか?
0626ニコニコ動画 (ワッチョイ 7e02-kr9p)
垢版 |
2021/10/27(水) 03:00:27.67ID:rdp8uLCI0
>>613
すいません
Amazonで.NET Framework 4.8 とかMVVMでググっても出ないんですけど
具体的にどういった本がそれに当たるのでしょうか?
Xamarin,VisualC#,WPF,ASP.Net,.NET5 といったものが多く出てきましたが
自分の目的にはどれがあってるのか…
0636デフォルトの名無しさん (アウアウウー Sa45-15yw)
垢版 |
2021/10/27(水) 21:52:40.16ID:D6YfKbcXa
WinFormの質問です
ラジオボタンはAppearanceボタンにした時、選択時のボタン色が薄い青?みたいな感じになるんですが、これを任意の色に変更することは可能でしょうか
可能であれば方法を教えていただきたいです
よろしくお願いいたします
0638デフォルトの名無しさん (アウアウウー Sa45-15yw)
垢版 |
2021/10/28(木) 07:27:49.03ID:W4bPGGQba
>>637
ありがとうございます!
今日試してみます
0639デフォルトの名無しさん (ワッチョイ e124-TSw9)
垢版 |
2021/10/28(木) 22:50:14.27ID:Qh3rpV2+0
HttpClientのメッセージロギングしてデバッグしたいんだけど、Chromeの通信デバッグ並に完全に読み取る事って簡単には出来ない?

HttpRequestMessage request = new(HttpMethod.Post, url);
Debug.WriteLine(request);

これだとその後にCookieContainer等からセットされるヘッダは読み取れない訳だけど、実際に送られるリクエストメッセージを完全に読み取る方法ってあったりする?
0643デフォルトの名無しさん (アウアウクー MM45-r3dn)
垢版 |
2021/11/02(火) 08:48:28.47ID:0cW+u2MrM
初歩的な質問ですいません
初めて非同期処理を書いてみたのですが、awaitを使用して非同期メソッドを呼び出してもその結果を待たずに処理が進んでしまいます

非同期メソッドを呼び出す側はasyncを付与しています
awaitを使用すると結果を待つ、いわゆる同期的な動作をすると解釈しているのですが認証が間違っているでしょうか?
またこのように処理が進んでしまう場合はどこ疑うべきでしょうか?
0646デフォルトの名無しさん (ワッチョイ 2b2d-h3eI)
垢版 |
2021/11/02(火) 10:18:48.97ID:NgYv9VNe0
>>643
> awaitを使用すると結果を待つ、いわゆる同期的な動作をすると解釈しているのですが認証が間違っているでしょうか?
間違ってます。awaitを使ってください。
awaitは非同期処理を同期処理の時と同じようなスタイルでコードを書くためのものです。
awaitより後のコードが現在実行してるタスクの後続タスクとして実行されます。
0650デフォルトの名無しさん (ワッチョイ 1301-ixow)
垢版 |
2021/11/03(水) 07:49:34.62ID:Mhdw9Pui0
static async Task Main(string[] args)
{
Console.WriteLine("a");
await TestFunc();
Console.WriteLine("f");
}

public static async Task TestFunc()
{
Console.WriteLine("b");
await Task.Run(() =>
{
Console.WriteLine("c");
string s = "";
for (var i = 0; i < 100000; i++)
{
s += "a";
}
Console.WriteLine("d");
});
Console.WriteLine("e");
}
>>650
0652デフォルトの名無しさん (ワッチョイ 1301-ixow)
垢版 |
2021/11/03(水) 13:33:54.93ID:Mhdw9Pui0
インデントないと見にくいかなーって思って。
JaneStyleで安価にマウスオーバーでインデント付き文字列が見えるけど
くろーむやfirefoxみたいな通常のブラウザだとインデントつかないね
0656デフォルトの名無しさん (ワッチョイ 9300-9pbp)
垢版 |
2021/11/03(水) 16:45:31.20ID:MjMXPsh40
そろそろWPFに手を出してみたくて最小コード書いてコンパイルしてみたんですが

System.Windows のアセンブリ参照が無い

という状況。そんなことある?
VisualStudioは入れて無いんですが、VS入れないとアセンブリ追加されないってこたぁ無いと思うんですが。

アセンブリ参照が
Windows\assembly
Windows\Microsoft.NET\assembly
ProgramFiles(x86)%\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.8
と3つあるのがよく分からんのですが、何をどうすればいいんですかね?
0657デフォルトの名無しさん (ワッチョイ 532c-hcYH)
垢版 |
2021/11/03(水) 18:34:35.70ID:qKSDioFA0
WPF以前に.NETの開発に手を出してこなかった方かな
そのコンパイル単位で何の外部DLLを必要としてるかコンパイラに教える必要がある
WPFはとりあえずWindowsBase.dll, PresentationCore.dll, PresentationFramework.dllの3つが必要
何でコンパイル/ビルドしてるかによるけど
csc.exeなら/r:WindowsBase.dll /r:(以下略)みたいに/rを並べる
dotnetコマンド使ってるならそもそもdotnet new wpfでWPFアプリのテンプレート使えばいい
0661デフォルトの名無しさん (ワッチョイ 9300-9pbp)
垢版 |
2021/11/04(木) 02:17:14.60ID:bpvG+88L0
外部…DLL…?
WPFって追加の参照設定が必要なんですかい
そーゆーのはコンパイラがなんかうまいことやってくれるもんだと思ってましたわい

しっかしこういう知識って皆どこで学ぶんですかね?MSDNは何処に何が書かれているかクッソ分かりづらいし
まぁ質問したら先に進めたんで質問するのが正解ですわ
0663デフォルトの名無しさん (テテンテンテン MMeb-YasX)
垢版 |
2021/11/04(木) 07:33:58.46ID:9O3WRacJM
MSDNって書いてる時点で何となく世代の想像がつくなあ

これから勉強するということであれば
CommunityEditionなら無料で使えるんだからおとなしく最新のVisualStudio2019を入れて
MicrosoftDocsのチュートリアルから手を付けるのが無難な気がするけどな
Webで適当に検索したところで引っかかるのはゴミみたいな古い情報ばっかりで656みたいな無駄なところで手間ばかりかかりそうだし
0666デフォルトの名無しさん (ワッチョイ fbda-sVK4)
垢版 |
2021/11/04(木) 23:59:47.06ID:KTqjH7U90
分からないことを1つずつ潰してから次に進みたいってのはプログラマの真理だと思うが、
最近は技術範囲が広すぎて(というかフレームワークとかライブラリの守備範囲が広すぎて)、1つ1つ追いかけてると時間が足りない。

なので最近は分からないことあっても先へ進めてる。
我慢してやってると段々線で繋がってくる。

最初はめちゃくちゃ辛いが・・
0667デフォルトの名無しさん (ワッチョイ a901-HMAG)
垢版 |
2021/11/05(金) 00:50:23.04ID:/BQjYuPF0
正直大前提となるdllの参照とか全然意識したことないヘボだけどvsが全部やってくれるから困ったことない
そもそもc#でvs使わないプロジェクトなんて聞いたことないので・・・
0668デフォルトの名無しさん (ワッチョイ 6e2d-TwtK)
垢版 |
2021/11/05(金) 01:09:17.93ID:x9FSSHOi0
VSでテンプレート選んでプロジェクトを作成したら最低限の参照は設定されているし
追加する必要があるものはDocsの各クラスの説明を見れば全部書いてあるからねぇ
0669デフォルトの名無しさん (スップ Sdb2-E93n)
垢版 |
2021/11/05(金) 01:25:04.81ID:0ONdwIqPd
.NET Core系の開発だと結構普通にプロジェクトファイルを手で弄る機会があるよ
最近はCI/CDのためにコマンドラインでビルドや実行をするケースも増えてる
もちろんプロジェクトファイルを1から手書きする必要はないけど、最低限dotnet コマンドくらいは使えて損はない
0670デフォルトの名無しさん (ワッチョイ a901-HMAG)
垢版 |
2021/11/05(金) 01:45:35.59ID:/BQjYuPF0
自動ビルド用にコマンド覚えようって話は同意なんですけど.net coreであってもコーディングはvsでやるほうが効率よくないですか?
よくわかってないんですが、サーバ上で開発するとかでvs使えないパターンがあるんでしょうか?
0671デフォルトの名無しさん (ワッチョイ 3610-4wM7)
垢版 |
2021/11/05(金) 03:18:53.73ID:oTBYBYGO0
効率を考えるんだったらテンプレからコピペしてきて必要な箇所を自分用に書き換えるだけで済む
生産性の高さをウリにするというのは、そういうものを指す
コマンドを暗記してる暇があるなら、気の利いたコードスニペットを作った方が即戦力になるだろう
0672デフォルトの名無しさん (アウアウウー Sacd-2US9)
垢版 |
2021/11/05(金) 04:51:29.47ID:sW1R9FCxa
口が悪い人が多いねw

>>656の人の「基礎から理解したい」という心構えは(俺自身は全然持ってないからw)
俺なんか評価しちゃうけどなあ。

ただ、やろうとしていることは「応用範囲の広い基礎の習得」というより、
文明の利器が使えない状況を強いられるほぼありえない状況を想定した
「無人島サバイバル術」に近い気はするけどねw

もちろんそれだって趣味なら全然ありだよね。
0673デフォルトの名無しさん (アウアウウー Sacd-2US9)
垢版 |
2021/11/05(金) 04:56:58.86ID:sW1R9FCxa
あるいはあれだね、サラリーマン的に言えば
自分の会社でしか通用しない(他所に転職したら役に立たない)細かいローカルルールを
基礎だと錯覚している印象はまあある。
0674デフォルトの名無しさん (アウアウウー Sacd-4MYJ)
垢版 |
2021/11/05(金) 07:30:08.22ID:ffJQa+Rya
VS使わせてもらえない会社には行きたくねー
0675デフォルトの名無しさん (ワッチョイ 5ea7-l4wS)
垢版 |
2021/11/05(金) 08:05:48.55ID:FAEOfd5a0
>>672
俺がはじめた20年ぐらい前でもウィンドウから作るって勉強法は無意味って言われてた気がする

実際、引数がクソ長えapiの使い方がわかる程度でやっぱり
だからそれでどうしてウィンドウができるんだよって
疑問を解消できるものではない

だってMicrosoftがそういうの用意したんだからそういうものじゃん
っていう以外ない
それってどの階層でも言えることで.netframeworkを掘って言っても最後にはwin32api的なものが待っていると思う
0676デフォルトの名無しさん (エムゾネ FFb2-2US9)
垢版 |
2021/11/05(金) 10:53:35.85ID:CgcDsDN+F
vsしか使えない香具師はいらん
0687デフォルトの名無しさん (ワッチョイ 6924-MNeM)
垢版 |
2021/11/09(火) 22:48:05.89ID:24WB74Rt0
面倒からサムネしか見てないけどメモリ弄ってチートをするって話?
であればC#は関係ないからリバースエンジニアリング関係の本じゃないかな
こういうのはWindowsならWin32多様するからC#よりもC++の方が楽
それにネイティブプログラミング力とリバースエンジニアリング力は比例するから普通にC++頑張るのが一番の学習になると思うよ
0688デフォルトの名無しさん (ワッチョイ 6924-MNeM)
垢版 |
2021/11/09(火) 22:53:12.64ID:24WB74Rt0
どうしてもC#でやりたいならDllImportでkernel32.dllのOpenProcessとかReadProcessMemory利用すれば出来る
それらをスムーズに利用するためにunsafeなポインタ型を理解することから始めよう
0689デフォルトの名無しさん (ワッチョイ d933-TwtK)
垢版 |
2021/11/09(火) 22:54:54.11ID:YSScyj9Q0
>>687
回答ありがとうございます。
やりたいことはそのとおりです。
C++とWin32APIの参考書は買ったのですが
覚えることの多さとWin32APIのコードが長すぎて全然読んでませんでした。
Win32C++に比べたら簡単そうなC#でやりたいのですが遠回りでしょうか?
0690デフォルトの名無しさん (ワッチョイ 6924-MNeM)
垢版 |
2021/11/09(火) 22:59:16.87ID:24WB74Rt0
>>689
プログラミング自体初心者であればC++はハードルが高すぎるから
チート用途としては多少不便なもののC++より難易度の低いC#から始めるのは良い選択
ただC#自体に他プロセスのメモリを読み取る機能は無いから結局Win32APIは避けて通れない道
0692デフォルトの名無しさん (ワッチョイ 6924-MNeM)
垢版 |
2021/11/09(火) 23:57:26.58ID:24WB74Rt0
>>691
こんな感じでWin32APIも使うこと自体はそんな難しくはないがC/C++の経験が無いとMSDNを呼んで引数等をC#の型に変換するのは難しいだろうな
とりあえずゲーム側のアドレスが既に分かってるならプログラミング自体はそんな難しくはないが、
こういうのはそもそもアドレスを解析したりする工程で7割くらい時間使う訳で、その解析力については>>687で言った通り


[DllImport("kernel32.dll")]
static extern bool ReadProcessMemory(IntPtr handle, nuint lpBaseAddress, void* lpBuffer, nint nSize, nint* lpNumberOfBytesRead);

static int ReadInt(IntPtr processHandle, nuint address)
{
int result = 0;
ReadProcessMemory(processHandle, address, &result, sizeof(int), null);
return result;
}

static byte[] ReadBytes(IntPtr processHandle, nuint address, int length)
{
byte[] result = new byte[length];
fixed (byte* p = &result[0]) return ReadProcessMemory(processHandle, address, p, length, null) ? result : null;
}

static bool TryReadVector4(IntPtr processHandle, nuint address, ref Vector4 vec4)
=> ReadProcessMemory(processHandle, address, Unsafe.AsPointer(ref vec4), sizeof(Vector4), null);
0693デフォルトの名無しさん (ワッチョイ 515f-1fFA)
垢版 |
2021/11/10(水) 16:30:41.62ID:63WV6EHr0
ウイルス、ハッキング・クラッキングを求めるような発言は禁止です。
0698デフォルトの名無しさん (ワッチョイ 23ad-p1Qq)
垢版 |
2021/11/14(日) 23:09:12.89ID:6FVLDefc0
いわゆるフォルダ表示みたいな物をやりたいんですが
そのままフォルダみたいなGUIのパーツはないのですか?
リスト表示でごちゃごちゃやるしかない?
jpgの縮小画像表示みたいのしたいのですが
0701デフォルトの名無しさん (ワッチョイ 4b63-aXXv)
垢版 |
2021/11/15(月) 03:15:53.30ID:x301xsWW0
そのままフォルダみたいなGUIのパーツは標準ではないな
サードのライブラリを漁ったらあるのかもしれんが, .NETのGUIライブラリとか紹介してくれる人って一切いないからよ
俺は聞いたことがない
0702デフォルトの名無しさん (ワッチョイ e32c-w/Dl)
垢版 |
2021/11/15(月) 12:19:23.67ID:5e0s5u8J0
自分は使ったことはないけど
Windows API Code PackにExplorerBrowserがある
Explorerのシェルをそのまま使うやつ
Windows API Code PackのMS公式配布は終わってるけど野良クローンがそこらに
0705デフォルトの名無しさん (ワッチョイ 4e66-Iq3b)
垢版 |
2021/11/23(火) 22:23:05.47ID:mktz4Vub0
実行されたらすぐに音を出す方法はありますでしょうか
SoundPlayerだと数秒遅れて音がするので遅いなーと
0709デフォルトの名無しさん (ワッチョイ 062c-C1KD)
垢版 |
2021/11/23(火) 23:33:32.53ID:Ln8GWMq+0
>>698
漏れは、Ruby で、selenium webdriver, nokogiri などを使って、

ローカルPC から画像ファイルを読み込んで、
それでHTML を作って、ブラウザを自動起動して表示している

# PCからランダムに、画像ファイルを10個取り出す
picture_paths = Dir.glob( 'C:/Users/Owner/Pictures/*' ).sample( 10 )

# 各画像の、img タグを作る。改行を削除する
picture_paths.each do | pict_path |
img_str = <<"EOT".gsub(/\n/, "")
<img src="#{ pict_path }">
EOT

img_node = Nokogiri::HTML::DocumentFragment.parse img_str # HTMLの断片を作る
puts img_node.to_html

出力は以下のように、10個のimgタグ
<img src="C:/Users/Owner/Pictures/a.gif">
<img src="C:/Users/Owner/Pictures/b.png">
<img src="C:/Users/Owner/Pictures/c.jpg">

これらをHTML内に入れて、スタイルを付けて、ブラウザで表示する。
Bootstrap でも何でも使える

driver.execute_script jsCode
で、JavaScript のソースコードも実行できる
0711デフォルトの名無しさん (ワッチョイ ef8e-1fs8)
垢版 |
2021/11/24(水) 01:12:22.68ID:LrWoqp0N0
>>709
死ねよ
0717デフォルトの名無しさん (ワッチョイ 86bb-Klv4)
垢版 |
2021/11/25(木) 08:51:17.22ID:gtvbwi7D0
どこかの言語は助成金タカリビジネスだって言うし、人々に忘れられて金が出なくなったら困るんだろう
0723デフォルトの名無しさん (ワッチョイ e7f9-9IQd)
垢版 |
2021/11/25(木) 17:04:18.60ID:Wf286/Al0
初心者です
Form1にtextBox1とbutton1のコントロールを貼りました これで実行してテキストボックスに文字を入力して
public void button1_Click(object sender, EventArgs e)
{
string st;
st = textBox1.Text;
}
ボタン押してこの部分は呼ばれるんですが st が空で入力した文字が入りません
テキストボックスのプロパティのTextに文字入力して実行してボタンを押すと
なぜかその文字だけは取得できます
この実行後の自己入力の文字だけ取得できないのはなぜなんでしょう?
0724デフォルトの名無しさん (ワッチョイ c633-16MD)
垢版 |
2021/11/25(木) 17:32:50.23ID:R31YPF5K0
>>723
>st が空で入力した文字が入りません
これ、どうやって確認していますか?

何をどうしたいのかがイマイチ読み取れないけど、エスパーすると変数のスコープ関係なんじゃなかろうか
0725デフォルトの名無しさん (ワッチョイ e7f9-9IQd)
垢版 |
2021/11/25(木) 17:39:46.30ID:Wf286/Al0
確認は
st = textBox1.Text;
のところにブレークポイント置いてステップ実行でstの中身を見ています
st のところをグローバル変数にしてもローカル変数にしても結果は同じでした
プロパティからのText入力の時はちゃんと取得できてるのでこの記述は間違ってないように思うのですが
実行時の入力がなぜか見た目通りに反映されてないというか
0726デフォルトの名無しさん (ワッチョイ e7f9-9IQd)
垢版 |
2021/11/25(木) 17:40:22.28ID:Wf286/Al0
確認は
st = textBox1.Text;
のところにブレークポイント置いてステップ実行でstの中身を見ています
st のところをグローバル変数にしてもローカル変数にしても結果は同じでした
プロパティからのText入力の時はちゃんと取得できてるのでこの記述は間違ってないように思うのですが
実行時の入力がなぜか見た目通りに反映されてないというか
0727デフォルトの名無しさん (ワッチョイ f748-9IQd)
垢版 |
2021/11/25(木) 17:43:58.82ID:fHUfm92Y0
確認は
st = textBox1.Text;
のところにブレークポイント置いてステップ実行でstの中身を見ています
st のところをグローバル変数にしてもローカル変数にしても結果は同じでした
プロパティからのText入力の時はちゃんと取得できてるのでこの記述は間違ってないように思うのですが
実行時の入力がなぜか見た目通りに反映されてないというか
0728デフォルトの名無しさん (オイコラミネオ MM67-9IQd)
垢版 |
2021/11/25(木) 17:44:42.92ID:UMVhykjjM
確認は
st = textBox1.Text;
のところにブレークポイント置いてステップ実行でstの中身を見ています
st のところをグローバル変数にしてもローカル変数にしても結果は同じでした
プロパティからのText入力の時はちゃんと取得できてるのでこの記述は間違ってないように思うのですが
実行時の入力がなぜか見た目通りに反映されてないというか
0730デフォルトの名無しさん (ワッチョイ c633-16MD)
垢版 |
2021/11/25(木) 18:00:06.75ID:R31YPF5K0
ブレークポイントで止まってるときに見えているのは代入される前の状態じゃなかったっけかな
例えば
private void button1_Click(object sender, EventArgs e)
{
string st;
st = textBox1.Text;
MessageBox.Show(st);
}
みたいなことをすれば、ちゃんとstに値が入っているのが分かると思う
0733デフォルトの名無しさん (ワッチョイ f748-9IQd)
垢版 |
2021/11/25(木) 18:33:11.43ID:fHUfm92Y0
もちろんステップ実行で通過させています
今新規でこの部分だけでやったら正常動作しました
元のプログラムはprivate void dispatchKeyEvent(int k, int ev) とかいろいろ入ってるので
どれかが邪魔してるんでしょうかね、どれであるかまだ見当はつきませんが
0740デフォルトの名無しさん (ワッチョイ e793-9IQd)
垢版 |
2021/11/25(木) 19:53:10.75ID:vpPwZGSJ0
原因がわかりました
private void Form1_Load(object sender, EventArgs e)
{
InitializeComponent();
}
この InitializeComponent(); を消したら直りました
うーんデフォルトにはないこれがなんで書かれてたんだろ…
0743デフォルトの名無しさん (ラクッペペ MM8f-aw+H)
垢版 |
2021/11/26(金) 09:09:16.14ID:LP8DajNXM
公式でだめな理由は?
0751デフォルトの名無しさん (ラクッペペ MM8f-aw+H)
垢版 |
2021/11/26(金) 15:10:53.78ID:LP8DajNXM
予想外の返事が来たな
つまりVSのポトペタを知った上で無ければ自分で作るとおっしゃるのか

素晴らしい、ぜひ頼む
0753デフォルトの名無しさん (ワッチョイ 5701-kQHb)
垢版 |
2021/11/26(金) 15:20:23.60ID:4MNCxtKQ0
俺も会社のPCでOS標準のcsc.exeとメモ帳でFormsアプリ作ってる
開発とは無関係な部署だからVisual Studio入れらんないけど、
仕事楽にしたくて自分や同僚用にアプリ作ってる
でも一番喜ばれるのはExcelのマクロだわ
0757デフォルトの名無しさん (アウアウウー Sa5b-ZQOw)
垢版 |
2021/11/26(金) 18:34:19.03ID:b37qsw15a
これも前も書いたけど、「道具(IDE)に依存したくない」って動機は理解できる部分もあるけど、
道具なしで何か作れるようになったところで何か潰しが利く汎用的なスキルが身につくわけじゃないことは
理解した方がいいよね。
0758デフォルトの名無しさん (ブーイモ MM8f-pluV)
垢版 |
2021/11/26(金) 18:46:29.22ID:jCnjnABkM
いやGUIビルダーをもし自前で作り切れたら、十分すぎるほどに潰しが利く汎用的なスキルが身についてると思うぞw
まあ成果物としてGUIビルダーそのものはほとんど無価値だから、同じ苦労をするならもっと評価されるようなものに労力を投資したほうが賢明だとは思うが
0760デフォルトの名無しさん (アウアウウー Sa5b-RZfR)
垢版 |
2021/11/26(金) 19:14:31.18ID:Hq7eoo6Pa
csc最強よ
0763デフォルトの名無しさん (ラクッペペ MM8f-aw+H)
垢版 |
2021/11/26(金) 19:30:30.99ID:OLQKN+EBM
外人の作ったツールはインストール出来るの?
0765デフォルトの名無しさん (ラクッペペ MM8f-aw+H)
垢版 |
2021/11/26(金) 19:37:01.63ID:OLQKN+EBM
exeならいいのかーい

どんな企業だ
0767デフォルトの名無しさん (ラクッペペ MM8f-aw+H)
垢版 |
2021/11/26(金) 19:51:17.82ID:OLQKN+EBM
Windows365で解決だな
ブラウザだけで何でも支えるぞ
0770デフォルトの名無しさん (ラクッペペ MM8f-aw+H)
垢版 |
2021/11/26(金) 20:12:14.73ID:OLQKN+EBM
>>768
VS2017エックスプレスがあるじゃない
0773デフォルトの名無しさん (ワッチョイ bfda-PzMz)
垢版 |
2021/11/27(土) 08:28:16.16ID:ijZYSH260
>>771
そういうときのためのC#のInterface言語機構じゃないのか?
つまり根本設計が悪い

あと基本的にUIコンポーネントを引数にとる設計も良くない。
>>772が言っているようにDataContextにぶちこんでいるデータを引数にとる設計にする。
ObservableCollectionのリストになっているのであれば、データクラスを追加するだけで
自動的にDataGridにも行が追加される。
0777デフォルトの名無しさん (ワッチョイ 9f79-QdP7)
垢版 |
2021/11/27(土) 10:12:23.04ID:jTZUbSpl0
今考えてるのはそんな高級なものじゃないので。
フォームと部品の位置取りをGUIでズリズリやりたいだけなので。
まず既定のフォームを表示する。実際には本物のフォームを表示。この時フォームにグリッド線とかそういうのが表示できたらいい。
貼り付けるコントロールは部品の種類を選んでからフォーム上でマウスで始点と終点を決めて適当に部品を配置する。
各フォームやコントロールのサイズやスタイルはいつでもいじれるようにする。
コンボボックスとかは仮データが入れられるとよい。
出力でC#やpowershellのコードが出てくる。
割と簡単そう。
0778デフォルトの名無しさん (ワッチョイ ffbb-Z91i)
垢版 |
2021/11/27(土) 11:13:15.88ID:9SYpyLpc0
GUIをテキストで直書きするのは、Windowsアプリを昔から作ってる人からしたら変に見えるのかも知らんが・・・・・
それを離れたら、Webでもスマホのアプリでも、どちらかというとメジャーな方法だろう
0789デフォルトの名無しさん (ワッチョイ f718-iG7x)
垢版 |
2021/11/27(土) 14:03:43.25ID:1K/bt2mK0
オブジェクト思考に反するよな。
インターフェースの使い方さえ分かりやすければ内部の実装なんてどうでもいい。
内部を自分で弄ることか前提のフレームワークなんて流行らないよ。
0794デフォルトの名無しさん (ワッチョイ b710-cp6m)
垢版 |
2021/11/27(土) 21:38:36.54ID:vNEPDJXe0
ここで文句言ってるやつが作ったWPFのアプリみてみたいわw
0796デフォルトの名無しさん (ワッチョイ f718-iG7x)
垢版 |
2021/11/27(土) 21:46:27.61ID:1K/bt2mK0
VB6、Delphi触ってればwinformは入門書すら読まんでも移行できる。
Excel覚えれば他のWindowsアプリはみなヘルプすら読まないのと同じ。

しかしWPFは明らかに毛色が違う。前時代的、古典的なUNIX文化を持ち込みすぎ。
0798デフォルトの名無しさん (ワッチョイ 9f7c-D8AZ)
垢版 |
2021/11/28(日) 21:38:47.37ID:3wuNZOM40
ツールとかデータ処理ぐらいにしか使ってないからWPFなんて使う事ないんだよなぁ
出た当初(もう10年以上も前)少し試しに作ってみたけどめんどくさいだけw
結局、見た目とかどうでもいいようなアプリでWPFにする理由が全く無いという結論に
WinFormsより作りやすいものいい加減作れよwって思う
0799デフォルトの名無しさん (ワッチョイ 1fbd-E3e6)
垢版 |
2021/11/28(日) 21:47:54.57ID:nPvqCxTT0
幅500長さ900固定のpictureboxに表示する図形倍率について質問です。表示図形幅長の中に大小様々な丸や四角等の図形があります。

@pbox四周50の余白を設ける。最大図形表示幅400長さ800。
A最大幅長さ以内はpbox中心とした位置へ描画
B最大を超える場合は幅長の比率計算して縮小表示

ここまでは行けたのですが当たり前ですがAの場合はいい感じで表示出来て納得なんですが、Bの場合だと図形幅長さが大きすぎると縮小によって格好悪いのですがいい方法等ありませんか?
出来るか分かりませんが、そのままの大きさで描画してスクロールバーとか、マウスで拡大縮小とかですかね?何が参考になるサイト等あれば教えて頂きたいです。
0803デフォルトの名無しさん (ワッチョイ 9f79-TeYZ)
垢版 |
2021/11/28(日) 22:42:52.70ID:fetzwBgk0
C#ってなにで勉強するのが効率良いの?参考書?
0805デフォルトの名無しさん (ワッチョイ 9f79-TeYZ)
垢版 |
2021/11/28(日) 23:08:22.34ID:fetzwBgk0
サンキュー!
でも文法くらいは勉強しといた方がいいんじゃないの?
0808デフォルトの名無しさん (ワッチョイ 9701-Z9No)
垢版 |
2021/11/28(日) 23:29:11.96ID:QHerQIRk0
文法もvsがインテリセンスで教えてくれるし、どこにどんなデータが詰まってるかもデバッグで覗けば推測できる
vsのおかげでテキストで調べる時間が地味に短縮できる
0809デフォルトの名無しさん (アウアウウー Sa5b-UL9W)
垢版 |
2021/11/28(日) 23:46:58.95ID:rti4oQQSa
昔formアプリ作るときにc#でやろうとしてイディオムがなんちゃらみたいなの本はお世話になった気がする
0810デフォルトの名無しさん (スッップ Sdbf-4SF7)
垢版 |
2021/11/29(月) 01:24:04.95ID:leVTYOqkd
>>806
車輪の再発明は(コーディングの)勉強中なら良いと思うけどね。
いざ物を造るって時にはやっぱり数多あるライブラリをどう使うかがコスト削減につながるから、欲しいものを見つける力、利用する力ってのは必要だけど
0812デフォルトの名無しさん (ワッチョイ 977c-+6Er)
垢版 |
2021/11/29(月) 11:16:06.45ID:BRD3cVdW0
>>810
ライブラリ程度ならまだしも、
極端な話でいえば条件分岐のelseを知らないから全部ifで書くって事が起こりうる
だから子細とは言わないまでも全容を把握する必要はあるってこと
0814デフォルトの名無しさん (ワッチョイ 977b-MeBs)
垢版 |
2021/11/29(月) 13:49:48.73ID:h6SrhnyS0
ビットマップ消去埋めで
pen.Color = Color.FromArgb(0, 0, 0, 0);
gr.FillRectangle(pen.Brush, 0, 0, 200, 100);
こうすると透明色は何も描画されません(Javaの場合は透明色で消されます)

pen.Color = Color.Black;
こうすると透明でない黒で消去されます
Javaのように透明色で消すにはどうすればよいですか?
0822デフォルトの名無しさん (アウアウウー Sa5b-ZQOw)
垢版 |
2021/11/29(月) 15:43:55.34ID:eIWrHApta
>>819
これがGraphicsのプロパティーなのは何か間違ってる気がする

まあすべての描画メソッドにいちいちこのオプションを指定する
オーバーロードを実装させるのは煩雑だって判断なんだろうけど
0823デフォルトの名無しさん (ワッチョイ 9748-MeBs)
垢版 |
2021/11/29(月) 16:34:12.32ID:/HK8Z1xK0
実はこのあとに次の文字描画が続くのですが
gr.DrawString("ABC", font, pen.Brush, x, y);
一度これをしてしまうと
gr.CompositingMode = System.Drawing.Drawing2D.CompositingMode.SourceCopy;

後でSourceOverに戻してもgr.Dispose();して新規作成しても
DrawStringが例外発生して文字が描画できないのです
これの原因がわかりません
0824デフォルトの名無しさん (ワッチョイ 9f2c-ol1Y)
垢版 |
2021/11/29(月) 17:42:32.66ID:daOVtdvf0
雑に作っただけだと再現しないねえ
GraphicsのSaveとRestore使ってみるとかどう?

var bmp = new Bitmap(128, 32, PixelFormat.Format32bppArgb);
var f = new Form() { BackgroundImage = bmp };
f.Click += (s, e) => {
var now = (int)DateTime.Now.Ticks;
using (var brush = new SolidBrush(Color.FromArgb((now >> 16) & 0xff, (now >> 8) & 0xff, now & 0xff)))
using (var g = Graphics.FromImage(bmp)) {
g.Clear(Color.Red);
g.CompositingMode = System.Drawing.Drawing2D.CompositingMode.SourceCopy;
g.FillRectangle(Brushes.Transparent, new Rectangle(32, 8, 64, 16));
g.CompositingMode = System.Drawing.Drawing2D.CompositingMode.SourceOver;
g.DrawString("あいうえお", new Font("メイリオ", 12f), brush, 0, 0);
}
f.Invalidate();
};
Application.Run(f);
0826デフォルトの名無しさん (ワッチョイ 5701-bVNF)
垢版 |
2021/11/29(月) 23:14:42.20ID:Vvd11AJl0
初めてC#でTaskを触りましたが、分からないことがあるため知っていたら教えてください。
ボタンをクリックしたイベント(1階層目)から3階層下の関数内でTask.Runをして4階層目の関数を実行して3階層目にawaitを付けました。
3階層目の関数は待っているのですが、2、1階層の関数は待たずに進んでしまいました。
原因分かる方いらっしゃいませんか?
イメージとしては↓の感じです。
void btnClick()
→void test1(←進んでしまう)
→→void test2(←進んでしまう)
→→→void test3(←ここでtest4をawait)
→→→→void test4
0830デフォルトの名無しさん (ワッチョイ 5701-bVNF)
垢版 |
2021/11/30(火) 05:27:43.45ID:YI8pY0990
ありがとうございます。
そうだったのですね、知らなかったです。
btnClickもtest4の処理が終わるまで後続処理はしないようにしたいので、btnClickまでreturn task?するようにしてみます。
0831デフォルトの名無しさん (ワッチョイ 178b-MeBs)
垢版 |
2021/11/30(火) 11:13:24.34ID:46JZSEzy0
タイマー定期処理を行いたいです
public Form1()のところで timer = new Timer();〜Interval〜EventHandler(Timer_Tick);の記述をしています
Timer_Tickの中でInvalidate();がありOnPaintで画面の更新描画がされるようにしています
Form1上のボタンを押すとtimer.Start();の記述があり
for(x++){}のループの中でビットマップへ線の連続描画がされるようにしています
予想では線が右にずれながら描画される姿が連続的に見えると思ってたのですが
forが終わるまで真っ暗で全部描き終わってから最後に描画の全貌が表示されてしまいます
forループで描画中はTimer_Tickが呼ばれてないようです
ループ中も定期で呼ばれるようにするにはどうすればよいでしょうか?
0832デフォルトの名無しさん (ワッチョイ 178b-MeBs)
垢版 |
2021/11/30(火) 11:21:49.74ID:46JZSEzy0
forの中というか実際はもっといろいろな処理が入っていて
全体が終わるまでは数秒かかるかんじになってます
Console.WriteLine("Timer_Tick呼ばれた"); でチェックしたのですがTimer_Tickは呼ばれてないようです
0834デフォルトの名無しさん (アウアウウー Sa5b-ZQOw)
垢版 |
2021/11/30(火) 13:53:17.77ID:c6SfutN/a
>>831
タイマーのイベントハンドラを実行するのはちっさいおじさん(UIスレッド)
の仕事なので、当然のことながらちっさいおじさんが別の仕事をしている
時には呼ばれない。

ちっさいおじさんは別の仕事(forのビジーループ)にかかりきりで忙しい。
だからTimer_Tickは実行されない。
0837デフォルトの名無しさん (ワッチョイ ffbb-Z91i)
垢版 |
2021/11/30(火) 14:58:37.89ID:OTX12hhF0
>>835
どっち道、UIスレッド上でfor文がループしてる途中なんだろ?
そのタイマーからUIを書き換えるのは、たまたまその時は動いていてもまずいだろう・・・・
C#の言語自体なんて出来ても何にもなんないんだし、先に情報科学の基礎を固めた方がいいんじゃないの
0844デフォルトの名無しさん (アウアウウー Sa5b-UL9W)
垢版 |
2021/12/01(水) 21:53:31.39ID:d+Yo+uULa
使い分けも何もUIのメインスレッドだけで処理してたら具合悪いとなれば別スレッドでやるしかないんじゃ?
普通に調べればinvokeやらなんやら色々出てくるでしょ
適当に調べて自分でデバッグしてみれば最適解見つかると思うけど
0845デフォルトの名無しさん (ワッチョイ bfe9-3PcT)
垢版 |
2021/12/01(水) 21:53:49.92ID:kCj+gN+70
Excelから実行ファイルを起動するとカレントディレクトリが起動したExcel基準になるようです
実行ファイルを直接動かすとカレントディレクトリが実行ファイル基準になるので困ってます
世間様ではどのように解決してるのでしょうか
0847デフォルトの名無しさん (ワッチョイ bfe9-3PcT)
垢版 |
2021/12/01(水) 22:43:33.38ID:kCj+gN+70
>>846
そうしたいですが
コンフィグでパス指定すると移動した時に動かなくなったりするんで何が良いのか悩んでます
0848デフォルトの名無しさん (ワッチョイ 9f47-mgIj)
垢版 |
2021/12/01(水) 22:54:45.65ID:K43krm2i0
>>847
コンフィグにはカレントディレクトリからの相対パスを記述しているのかな。
だとするとexeのあるディレクトリのパスとコンフィグにある相対パスを結合させた絶対パスを使うんだよ。
0854デフォルトの名無しさん (ワッチョイ 5701-3PcT)
垢版 |
2021/12/02(木) 07:18:07.12ID:HY05Xx580
ExcelのVBAと連携する小さいシステムなので伝統的なカレントディレクトリ使ってるんです
Excelと実行ファイルを同じフォルダに入れれば解決なのでしょうが実行ファイルのライブラリが多いのでExcelが埋もれて見難いなとそれはそれで困り
0856デフォルトの名無しさん (ワッチョイ d75f-BO5v)
垢版 |
2021/12/02(木) 11:49:27.62ID:7dnZygEt0
namespace System.Collections.Generic
{

public class List<T> : ICollection<T>,…の中にある、
public void Add(T item);の具体的な処理(リストの最後に加える)はどこに書いてあるのでしょうか?
0861デフォルトの名無しさん (ワッチョイ 9fe4-jwak)
垢版 |
2021/12/02(木) 18:17:26.30ID:7pZIqj+v0
>>845
そもそも論としてWindowsではカレントディレクトリの扱いが環境として定義
されるようになっているので、プログラミングしてアプリを作るときにカレント
ディレクトリっていう使い方をするならば自分で必要な設定を行えば良いんだよ

まぁお約束(嫌いな人ゴメンねw)でdobonだけど

https://dobon.net/vb/dotnet/file/currentdirectory.html
0864デフォルトの名無しさん (ワッチョイ d75f-BO5v)
垢版 |
2021/12/02(木) 21:56:32.95ID:7dnZygEt0
>>857
ありがとうございます。問題が解決しました。
次に湧いてくる疑問なのですが、

Visual StudioでList<T>を右クリックして、「定義へ移動」をすると。下のように書かれています。

//
// 概要:
// Adds an object to the end of the System.Collections.Generic.List`1.
//
// パラメーター:
// item:
// The object to be added to the end of the System.Collections.Generic.List`1. The
// value can be null for reference types.
public void Add(T item);

初心者としてはreferencesource.comにあるように↓こう書かれていたらわかるのですが

public void Add(T item) {
if (_size == _items.Length) EnsureCapacity(_size + 1);
_items[_size++] = item;
_version++;
}

なぜこれで動くのでしょうか? そしてどうして下のように処理を書いてないのでしょうか?
0865デフォルトの名無しさん (ワッチョイ 822c-xgq1)
垢版 |
2021/12/03(金) 00:14:41.65ID:QhpimBIa0
> なぜこれで動くのでしょうか?
mscorlib.dllの中にコンパイル済みのが入ってるから
> そしてどうして下のように処理を書いてないのでしょうか?
コンパイル済みのしか入ってなくてソースがないから
0867デフォルトの名無しさん (ワッチョイ a45f-tift)
垢版 |
2021/12/03(金) 20:46:41.26ID:9rfUUeSM0
>>865
ありがとうございました。スッキリしました。
なるほど、こんな感じで動いているのですね。

>>866
ILSpyを使ってみました。これは便利そうですね。
すごく勉強になりました、ありがとうございます。
0878デフォルトの名無しさん (ワッチョイ ce89-PP5C)
垢版 |
2021/12/05(日) 19:03:31.29ID:a+muEo/d0
ASP.net MVC 3.1を触り始めたんだが、これ、どんな些細な変更もいちいち発行しないと見れないのかな?
いままでのように「IIS Expressをプロジェクトのディレクトリ指定して起動しておいて、ビューは変更した都度リロード、ロジック変えたらビルドして確認」なんて気楽な開発が出来なくなってかなり面倒……
0881878 (ワッチョイ ce89-PP5C)
垢版 |
2021/12/06(月) 10:28:43.40ID:88ozVNfm0
>>879-880
ああ、なるほど。ASP.net MVC 3.1(というか、VisualStudio2019や2022)では、【デバッグしながら】ソースをいじって、それをすぐにブラウザで見れるんだ。
chtmlは今までも出来たけど、コードビハインド(と今は呼ばないかもしれないが)の変更も可能になってて、それを反映する「コード変更を適用」なんてボタンもVSに追加されてるんですな…。
これなら確かにわざわざIIS Expressを別に起動する手間は必要ありませんね。
例外が出た時にコマンドプロンプトからも確認できなくなったのがちょっと不便になったが、これも仕事で書くまともなコードならNLogなりを入れている筈だし。

アドバイスに感謝。いやはや、便利になったモノですなぁ…
0882デフォルトの名無しさん (ワッチョイ 56bd-QDcv)
垢版 |
2021/12/06(月) 20:25:20.35ID:kcw1evd50
文字と数値が入り混じるリストのソート掛けが分かりません。

[0]丸/B/30/40/B/60/0
[1]丸/B/70/20/B/20/0
[2]丸/B/30/5/B/60/0
[3]角/B/70/20/B/20/40
[4]丸/B/30/40/B/60/0
[5]角/B/20/20/B/20/100

1番左の丸、角等の文字でまとめ、
[0]の40の位置の数値を昇順、
[0]の30位置の数値の昇順に並び替えたいです。
丸角の順番はまとまってれば良くて、数値は小数点ありです。

どなたかコードを、教えて頂きたいです。
0883デフォルトの名無しさん (アウアウウー Sa83-PP5C)
垢版 |
2021/12/06(月) 20:41:57.32ID:Qbq2EdCDa
>>882
そのリストの要素(例えば「丸/B/30/40/B/60/0」)
は文字列なんだよね?

だったら要はスラッシュで区切られた文字列の中から
n番目の要素を取り出すメソッドが書ければ目的は達成できるのと違うの?
0886デフォルトの名無しさん (ワッチョイ 9b02-yt/O)
垢版 |
2021/12/07(火) 20:03:11.57ID:hXBXLlEy0
new object[][] { new object[] { "丸", "B", 30, 40, "B", 60, 0 } }
とかだったりね。

まあ 894 の言う通りだと思う。
data.OrderBy( a => (string)a[0] ).OrderBy( a => (int)a[3] ).OrderBy( a => (int)a[2] ) とかでも出来るかもしれないけど。
0888デフォルトの名無しさん (アウアウウー Sa83-PP5C)
垢版 |
2021/12/07(火) 21:47:55.35ID:cdrKb2eoa
この程度の話だったらどんな設計でも問題ないと思うけど、
>>882の人はそういう設計の問題で躓いているんじゃないでしょ。

恐らくいわゆる「分割統治」ができない人なんだと思う。
普通のプログラマなら当たり前のように自然に

デリミタで区切られた文字列の3番目の要素でソートしたい ⇒
(1) 3番目の要素を抜き出す
(2) 文字列を実数に変換
(3) 変換し数値を使ってソート

という風に大きな問題を小さな問題に分割して考えるけど、できない人にはこれができない
0892デフォルトの名無しさん (アウアウウー Sab5-JhWO)
垢版 |
2021/12/08(水) 00:07:29.07ID:JmKuL7Fea
新しくbyte[]配列を定義してコピーせずに、byte[]を文字列に直すのはどうしたらいいのでしょう?

byte[] data = new byte[] { 0x30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };  //末尾にnullがたくさんあるデータ
string text = Encoding.ASCII.GetString(data);
//string text = Encoding.ASCII.GetString((byte*)data,2); //こうしたいけどキャストできずエラー
Console.WriteLine(text); //「0???????????」が出力される
0893デフォルトの名無しさん (スップ Sd02-E64m)
垢版 |
2021/12/08(水) 00:19:57.85ID:8icXIUsNd
>>892
そんなことはできない
そのポインタを引数に取るGetStringのオーバーロードも結局コピーする
Stringのコンストラクタにもポインタを引数に取るのがあるけどそれもコピーする
0895デフォルトの名無しさん (スップ Sd02-E64m)
垢版 |
2021/12/08(水) 00:23:08.99ID:8icXIUsNd
ああ文字列化のときにコピーが走るのはよくて、前処理としてbyte配列からbyte配列にコピーするのは嫌ってことか?
GetStringに範囲を指定できるオーバーロードがあるだろ
0900デフォルトの名無しさん (アウアウウー Sa83-PP5C)
垢版 |
2021/12/08(水) 00:44:28.31ID:b+i+HzV1a
もう解決済みみたいだしもっといい方法がたぶんあると思うけど
いちいち手動で長さを指定せずにC文字列を文字列に変換したいってことならこれで出来た
var data = new byte[] { 0x30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
var sb = new StringBuilder();
sb.Append(Encoding.ASCII.GetChars(data));
var text = sb.ToString();
0902デフォルトの名無しさん (ワッチョイ 2f24-3BeG)
垢版 |
2021/12/08(水) 09:34:35.47ID:lj53vMC40
あんまり行儀は良くないけど1行で出来るしbyte[]じゃなくてSpanで受け取るときって往々にして変換先もReadOnlySpan<char>で済ませたいときだから標準で必要だとは思わないな
Span<char> stack = stackalloc char[u8.Length];
string str = stack.Slice(0, Encoding.UTF8.GetChars(u8, stack)).ToString();
0904デフォルトの名無しさん (ワッチョイ 0a8e-9fbA)
垢版 |
2021/12/09(木) 18:12:01.88ID:T9HnMcRs0
>>903
その質問をここでするくらいの人にはどちらにしろ無理だな
0906デフォルトの名無しさん (アウアウウー Saab-wFmK)
垢版 |
2021/12/09(木) 19:40:17.12ID:RDoYY/RSa
久しぶりにc#書くんだけど今VSって2022が最新と思っていいのかな?2019のほうがいい?
0908デフォルトの名無しさん (ワッチョイ 6e01-PP5C)
垢版 |
2021/12/09(木) 21:11:55.71ID://kyAdWZ0
NFTアートとNFTゲームとGameFiとブロックチェーンゲームに
提供する側・作る側として参入しよう。
(むりなら参加する側でもいい)
DAOとPlay-to-Earn(遊んで稼ぐ)が世界の未来になる
特にNFTアートとNFTゲームとGameFiは今なら先行者利益取れるぞ
NFTアートとNFTゲームとGameFiはこれから1000倍規模の市場になる
0915デフォルトの名無しさん (アウアウウー Sa6b-di0a)
垢版 |
2021/12/10(金) 16:53:42.58ID:uofk+Uw9a
>>914
まあそれは最初からそうなんだけどね

Windows XPが出た時に.NET Passportっていう認証サービスも
確か一緒に登場したんだけど、たぶんそれと同じ.NETだよね。

ちなみにこの.NET Passport、XP SP2の頃には早々消滅してた記憶があるw
0920デフォルトの名無しさん (アウアウウー Sa6b-di0a)
垢版 |
2021/12/10(金) 19:32:59.39ID:uofk+Uw9a
>>917
だからブランド名の話ね

というか、正直当時も今もあんまり感心ないんで勘違いしてるかもしれんが、
..NET Passportって今のGoogleやツイッターやYahooのIDみたいに
サードパーティーにも認証サービスを提供することを想定してたはずだよね確か。

今のMSアカウントはMSローカルのIDとしてしか使われてない気が
0925デフォルトの名無しさん (ラクッペペ MM8f-qDP+)
垢版 |
2021/12/11(土) 02:21:32.22ID:lM+tc9bnM
.NET Standardは他の様なフレームワークそのものではなくてフレームワーク構成のプロファイルなので位置づけが違う
.NET Frameworkと.NET Coreが共存していた過渡期の仕様なので.NET 5で統合された後はその役目を終えた
0927デフォルトの名無しさん (ラクッペペ MM8f-qDP+)
垢版 |
2021/12/11(土) 02:42:15.96ID:rKF6rMeBM
.NET Framework(Windows用)と.NET Core(Linuxメインのマルチプラットフォーム用)
の統合で作られたのが.NET 5
(CoreベースにFrameworkを吸収した形式)
更にXamarin(モバイル用)を統合して. NET 6というのが大筋の流れ
ただし現状はフレームワーク本体の統合に対してUIフレームワークの進捗が遅れているのでモバイル用はまだ完全に統合できていない
0928デフォルトの名無しさん (ワッチョイ 47e6-JWjg)
垢版 |
2021/12/11(土) 08:21:58.67ID:GfYv21Eg0
Standardで書けばFrameworkでもCoreでも動くのが売りじゃなかったっけ?

破棄されたということは.NET6では動かなくなったの?
0929デフォルトの名無しさん (ラクッペペ MM8f-qDP+)
垢版 |
2021/12/11(土) 08:55:50.76ID:QCKRPgtgM
4年前の記事
https://atmarkit.itmedia.co.jp/ait/articles/1707/28/news033.html

要するに3種類のフレームワークのクラスライブラリを相互利用できる様にPCL(プロファイル)を置き換えるものとして計画されていた

その後クラスライブラリを含むフレームワークそのものを統合する方向に方針転換したので今となってはもはや何の意味もない
0931デフォルトの名無しさん (ワッチョイ 7fcf-zDwW)
垢版 |
2021/12/11(土) 09:47:01.41ID:E/VsNyVn0
.NET 5が出たからといって世の中からFrameworkやCoreがすぐに消え去るわけじゃないし、
少なくとも4.8のサポートが切れる2030年までは.NET Standardの意味はあるんじゃないの。
0932デフォルトの名無しさん (ラクッペペ MM8f-qDP+)
垢版 |
2021/12/11(土) 10:01:45.69ID:5LGmTTMuM
開発中止されたものを無理に利用しても益はないよ
レガシー系を使うなら素直に元のライブラリ使った方が楽
おそらく手作業であちこち設定弄らないとまともに使えないと思う
0934デフォルトの名無しさん (ワッチョイ 8749-zDwW)
垢版 |
2021/12/11(土) 11:13:46.06ID:e3Orr6P80
こちらの足元を整える必要があると認識できた

あまり込み入ったことをしすぎたり、
マイナーなライブラリを使ってると、移行もつらくなる

ヘビーな業務アプリとかはなるべく言語の素に近い実装がいいと気付けた
少なくともMS付近のテクノロジーでは
0936デフォルトの名無しさん (スップ Sd7f-mLf8)
垢版 |
2021/12/11(土) 12:18:05.68ID:Ic21T4cQd
>>935
UI等に依存しない純粋なStandardのライブラリとしてロジックを切り出せる程度の能力のあるチームならとっくに本体を移行してるだろうし、
そもそも今時まだWebに行けなくてデスクトップアプリやってる時点でアレ
0938デフォルトの名無しさん (ワッチョイ a701-InJs)
垢版 |
2021/12/11(土) 12:34:25.02ID:s4WaAbfG0
普通に市販コンポーネントの対応状況だとかVSの機能で未実装とかさまざまに.netでのデスクトップアプリ作成を妨げる要因はあるでしょ
しかもどんなアプリにおいてもデスクトップよりWebの方が適しているなんてのも乱暴すぎて幼稚
0939デフォルトの名無しさん (ワッチョイ 7f8e-sCeO)
垢版 |
2021/12/11(土) 12:49:33.02ID:w9jtQY7u0
>>936
ブラウザやVisualStudio完全否定かよ
0944デフォルトの名無しさん (アウアウウー Sa6b-di0a)
垢版 |
2021/12/11(土) 14:06:47.47ID:s1sgTwO/a
>>939
web系技術の信奉者は現実をありのままに直視できないドリーマーが多いw
これは最近始まった話じゃなくてWindows 98の頃からそうw

Java界隈も昔はそうだったけど流石に10年ぐらい前に消えた。
Web界隈は相変わらず。

彼ら、もう15年ぐらい前からずっと「すべてはブラウザ上で実行されるようになって
デスクトップアプリは駆逐される」と言い続けているw
もう立派なカルトだねw
0946デフォルトの名無しさん (ワッチョイ 47e6-JWjg)
垢版 |
2021/12/11(土) 14:11:12.85ID:GfYv21Eg0
>>944
15年前のWEBアプリって駆逐されてね?
0956デフォルトの名無しさん (ブーイモ MMcf-mLf8)
垢版 |
2021/12/11(土) 18:23:21.96ID:NXk2eYATM
>>955
.NET5のサポート期限は来年4月
LTSである6ですら2024年に期限切れ
こんなもんWindowsにプリインなんて常識的に考えて不可能だ
Windowsのアップグレードで勝手にメジャーバージョン上がったりしたら3年毎に阿鼻叫喚だろうな
0959デフォルトの名無しさん (オイコラミネオ MM7b-8/hI)
垢版 |
2021/12/11(土) 19:33:02.18ID:fnzeFxcUM
以前.net framewarkのプロジェクトを簡単に.Net5に移行できるのかと思ったら無理だった
だったらソースをコピペしてと思ったらライブラリに互換性がないのが結構ある
シグネチャぐらいそろえてくれよと思ったがセキュリティ関連だからかなあ…
0962デフォルトの名無しさん (ワッチョイ 675f-yjVA)
垢版 |
2021/12/12(日) 00:06:29.93ID:gqLDOxIo0
移行するなら.NET 6でしょ
なんで今.NET 5なの
0963デフォルトの名無しさん (スップ Sd7f-mLf8)
垢版 |
2021/12/12(日) 01:06:08.00ID:zlKDeT/Ed
>>957
Core系の.NETでは実行環境に.NETをインストールする必要がないんだよ
.NETランタイムをアプリ自体に同梱できるから、ユーザーにとっては全く.NETを意識する必要がなく、環境も汚さない
まあ.NET Frameworkの運用に慣れてる客だったりすると、.NETセキュリティパッチどうやって当てるのとか言われた瞬間に詰むけどなw
0967デフォルトの名無しさん (ワッチョイ e701-p36F)
垢版 |
2021/12/12(日) 04:45:12.50ID:JkMSsZht0
ttps://ideone.com/oOrXBQ
現在プログラム練習中で、”なつ”と打ったら”今は夏です”と表示されるものを作っています。
「現在のコンテキストに”なつ”という名前は存在しません」
と表示されるのですがどのようにしたらいいでしょうか
0974デフォルトの名無しさん (ワッチョイ 47e6-JWjg)
垢版 |
2021/12/12(日) 12:26:56.12ID:Zq5QM1L+0
オマジナイで var なつ="なつ";
0976878 (ワッチョイ df89-p36F)
垢版 |
2021/12/12(日) 15:58:16.12ID:rM2H0Wnf0
失敬、別件で少々質問。
.net core 5/6で、Windowsサービスって作れるん?
ググると出来そうな感じなんだけど、Visual Studio 2019ではテンプレートが.net frameworkしか出てこない…
0980デフォルトの名無しさん (ラクッペペ MM8f-JWjg)
垢版 |
2021/12/13(月) 12:30:15.07ID:i+9asInOM
Regex.Match
0981980 (ラクッペペ MM8f-JWjg)
垢版 |
2021/12/13(月) 13:32:27.99ID:i+9asInOM
次スレお願いします
>>985
0984デフォルトの名無しさん (ワッチョイ c702-p36F)
垢版 |
2021/12/13(月) 21:08:47.76ID:7y8WpNWV0
List<Class>があるとして、List内のClass.nameに指定の文字列があるかを取得したいのですが
自作クラス内の要素でcontaintsってできませんか?
foreachで比較するのが正解?
0989デフォルトの名無しさん (ワッチョイ e701-p36F)
垢版 |
2021/12/14(火) 06:58:31.68ID:du0GZnIr0
ttps://dotnetfiddle.net/XLqfZT
ランダムでAかBかCを表示するプログラムを作りたいのですが、これくらいしか作れません
何かもっと簡単な方法があればご教授ください
0995デフォルトの名無しさん (ワッチョイ a724-C40i)
垢版 |
2021/12/14(火) 13:58:59.60ID:9+ODmT2J0
0〜9までの数値文字を作るときにも応用効くから990みたいな発想は覚えておいて損はない
'0' + rand.Next(0, 10)

'A'の内部は0x0041で'B'の内部は0x0042だから'A'に1を足せばBになるという仕組み('0'~'9'も同様に連続してる)
0996デフォルトの名無しさん (アウアウアー Sa4f-Iirw)
垢版 |
2021/12/14(火) 14:26:45.80ID:YieXxPy2a
netcore Blazorでwebアプリ作成を勉強中なのですが、ボタンを押すとExcelファイルを開く機能を作ろうとした際にエラーが出て以下の記事を見つけました

https://social.msdn.microsoft.com/Forums/ja-JP/052366e2-fbb4-4426-8a72-f25d99e67026/c12391excel12434258052031612377124272723133021123911249912523124?forum=csharpgeneralja

この記事内で「もし Excel アプリを立ち上げてそれにファイルを表示しユーザーが操作するというようなことでしたら、それは Web アプリでは無理です。」とコメントがあります

webアプリの知識が浅いので初歩的な質問だと思うのですが、これはどういう理由からなのでしょうか?
0997デフォルトの名無しさん (アウアウウー Sa6b-5lnE)
垢版 |
2021/12/14(火) 14:37:28.89ID:70QYvgE2a
エラーの理由と解決方法は一番下の人の投稿の通り、
WEBアプリでEXCELをっていうのは、エクセルのUIをweb経由でクライアントに送信するのが難しいから

COMでexcelを起動してファイル操作をすること自体はできるけど、それはUIがないからね
COM経由でやるならUIは全部自分で作らないといけないないし、
COMを使わずにエクセルの画面そのものでやるならリモートデスクトップのエクセル版を全部自分で作らないといけない
0998デフォルトの名無しさん (ワッチョイ 7f8e-sCeO)
垢版 |
2021/12/14(火) 14:49:24.22ID:XfsZssVB0
>>996
プログラムするのはやめとけ
0999デフォルトの名無しさん (ワッチョイ 7f2a-PFkU)
垢版 |
2021/12/14(火) 18:33:30.49ID:LorwhalJ0

Slot
🍜🎴👻
💣🎰🎴
🎰😜🍜
(LA: 1.86, 1.92, 1.82)
1000デフォルトの名無しさん (ワッチョイ 7f2a-PFkU)
垢版 |
2021/12/14(火) 18:33:34.98ID:LorwhalJ0

Slot
🌸🎴🌸
💰💰👻
🍒😜🎴
Win!! 4 pts.(LA: 2.11, 1.98, 1.84)
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
SLOT Results
🎰🎰🎰 Excellent!! 0
🎴🎴🎴 Gratz!! 0
🌸🌸🌸 OPPAI Ban!! 0
💣💣💣 Backingum!! 0
Win!! 1
Points 4 pts.

life time: 110日 22時間 49分 19秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。

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