[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 04/08 11:46 / Filesize : 273 KB / Number-of Response : 1029
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:デフォルトの名無しさん [2018/12/15(土) 11:07:07.89 ID:0aSEF/I+0.net]
!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)

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

>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。

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

■情報源
https://msdn.microsoft.com/ja-jp/library/gg145045.aspx
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/index
https://msdn.microsoft.com/en-us/library/gg145045.aspx
referencesource.microsoft.com/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured

545 名前:デフォルトの名無しさん mailto:sage [2019/02/05(火) 18:20:58.39 ID:C5l7MRqld.net]
>>525
メジャーなのはZXing

546 名前:デフォルトの名無しさん mailto:sage [2019/02/05(火) 21:05:22.94 ID:XsUhL+1b0.net]
何かライブラリ無いかなと思ったらまずNuGet見てみる

547 名前:デフォルトの名無しさん mailto:sage [2019/02/06(水) 12:34:37.03 ID:ymLQaaTBd.net]
C#で書いたコードをVBAから呼び出す際のC#でのやり方を教えてください。

例えば、MessageBoxで「Hello!」と表示するには何をどうすれば出来ますか?
使ってるのはVisualStudio2017です。

548 名前:デフォルトの名無しさん mailto:sage [2019/02/06(水) 12:38:03.13 ID:ymLQaaTBd.net]
>>530
引数でHelloを持ちかえる方法です。

549 名前:デフォルトの名無しさん mailto:sage [2019/02/06(水) 13:05:34.43 ID:pq3DhSMgM.net]
日本語でOK!

550 名前:デフォルトの名無しさん mailto:sage [2019/02/06(水) 13:11:17.81 ID:/72vyC150.net]
>>530
ググレカス

C#で実装したコードをVBAとかVBから使う方法 : 実験ぶろぐ(仮)試供品
https://needtec.exblog.jp/21522702/

551 名前:デフォルトの名無しさん mailto:sage [2019/02/06(水) 16:15:23.61 ID:sqv9vum40.net]
https://gist.github.com/katabamisan/5231237

上記サイトのIniFileクラスでBufferExpandingSizeを小さくしてから
GetSectionNamesを呼び出すとループ2回目のGetPrivateProfileString呼び出しのタイミングで
例外も発生せずにプログラムが異常終了してしまうのですが何が問題なんでしょうか?

552 名前:デフォルトの名無しさん mailto:sage [2019/02/06(水) 18:20:24.61 ID:ymLQaaTBd.net]
>>533
書いてるコードの意味がよくわからないので単純なコードが知りたいんです。

553 名前:デフォルトの名無しさん mailto:sage [2019/02/06(水) 18:30:37.80 ID:1DcU3Gnhp.net]
コードコピペして自分の使ってるクラスに直せば出来ると思うけど
インターフェース作ってなければクラスから作って置き換えればサンプルコード通りに動くはず



554 名前:デフォルトの名無しさん mailto:sage [2019/02/06(水) 18:54:31.06 ID:cXGNS95ra.net]
>>535
C# メインルーチンからメッセージボックスを表示
VBA shellを使って↑を起動

555 名前:デフォルトの名無しさん mailto:sage [2019/02/06(水) 21:20:24.24 ID:SSakxrcH0.net]
>>534
GetPrivateProfileStringの定義がCharSet.Unicode指定してるから
第5引数のnSizeはwchar_tの個数を指すことになる
wchar_tは2バイトだからnSizeに16指定したらlpReturnedStringは32バイトあることになる
でも実際にはその半分の16バイトしか確保してないから
GetPrivateProfileStringが17バイト目以降に書き込もうとしてヒープ破損する

556 名前:デフォルトの名無しさん mailto:sage [2019/02/07(木) 10:39:20.42 ID:BTY8+ybz0.net]
>>538
文字セットのことがすっかり頭から抜けてました
WinAPIを使うなら真っ先に気を付けないといけない部分なのになあ

・ReAllocCoTaskMemで確保するサイズをlength*2に

557 名前:変更
・GetPrivateStringのCharSetをAnsiに変更、文字列への変換をPtrToStringAnsiに変更

上記2通りの修正でどちらも正常動作することが確認できました
回答ありがとうございました
[]
[ここ壊れてます]

558 名前:デフォルトの名無しさん mailto:sage [2019/02/07(木) 18:21:29.96 ID:yK9ubdQXd.net]
VS2017使用。
ADOを使ってエクセルのシート名を読んだりセルのデータを読み取りたい。
対象エクセルブックは〇〇.xlsのみ

ネットのサンプルコードをコピペして使ってもエラーでさっぱりです。
何かインストールが必要なんですか?それとも参照設定とか必要なんですかね?

なんか雛形のコードでもあればいただけませんか?

559 名前:デフォルトの名無しさん mailto:sage [2019/02/07(木) 19:01:48.27 ID:l2uiBAtS0.net]
具体的にどのサイトのコードを試したら
どんなエラーメッセージが出たのかを書いてくれ

560 名前:デフォルトの名無しさん mailto:sage [2019/02/07(木) 19:28:54.09 ID:yK9ubdQXd.net]
https://qiita.com/OneK/items/c3077aea595635f40ee5
このサイトの下のコードです。

adp.Fill(dt);←ここでエラーです。

return dt;
}

今パソコンから離れたのでエラー内容は忘れましたが何かがないぞみたいな感じでした。

561 名前:デフォルトの名無しさん mailto:sage [2019/02/07(木) 20:24:29.71 ID:3NiqE0/P0.net]
>>540
https://csharp.keicode.com/topics/how-to-use-exceldatareader.php
これじゃあかんの?

562 名前:デフォルトの名無しさん mailto:sage [2019/02/07(木) 21:34:46.19 ID:FLUWNW3J0.net]
>>543
これも明日試してみます。
でもいろいろとコードの引き出しがあったらいいなって

563 名前:デフォルトの名無しさん mailto:sage [2019/02/07(木) 21:37:56.26 ID:FLUWNW3J0.net]
>>543
速度はどうなんですか?早いですか?



564 名前:デフォルトの名無しさん mailto:sage [2019/02/07(木) 22:02:28.76 ID:O0GaOve00.net]
>>545
ウゼェ、やる気がねーなら
エロゲでもやってろ

565 名前:デフォルトの名無しさん mailto:sage [2019/02/07(木) 22:23:39.18 ID:iyj2o48P0.net]
こんばんはよければ教えてください
c#で社内用のソフトをしこしこ作っているものなのですが、同じ境遇の方ヘルプファイルはどの形式で
作っていますか? chmファイルは今時便利なツールもないので作りにくいのですが、pdfではなんか味気ない

今回新たなソフトを社内でリリースするので悩んでいます。

あ、ちっちゃい会社です。

566 名前:デフォルトの名無しさん mailto:sage [2019/02/07(木) 22:28:55.73 ID:CKGjxJfq0.net]
もしかしてc#全く関係ない話?

567 名前:デフォルトの名無しさん mailto:sage [2019/02/07(木) 22:35:04.98 ID:VZhzokSX0.net]
> pdfではなんか味気ない

その謎の価値観を改めればすべて解決です

568 名前:デフォルトの名無しさん mailto:sage [2019/02/07(木) 23:39:26.83 ID:Q7Nq6LQdd.net]
>>547
sandcastleでchmやHTMLのヘルプを簡単に生成できるよ

569 名前:デフォルトの名無しさん mailto:sage [2019/02/07(木) 23:40:23.99 ID:Q7Nq6LQdd.net]
>>548
C#のコメントからヘルプを生成する話だよ

570 名前:デフォルトの名無しさん mailto:sage [2019/02/07(木) 23:47:55.01 ID:O0GaOve00.net]
doxygen的なのって新しいの出た?

571 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 00:00:34.72 ID:JeOi55qM0.net]
sandcastleなつかしい

572 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 00:09:17.11 ID:yxq5pHtX0.net]
>>553
今でもメンテしてる人いるし!
https://github.com/EWSoftware/SHFB

573 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 00:42:26.66 ID:zMW+eOHy0.net]
markdownで書いてhtml出力



574 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 00:59:36.44 ID:wLiZux8Md.net]
>>555
ソースコードから生成しないのは非効率でしょ

575 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 01:02:48.69 ID:kZW3St4e0.net]
ソースコードから設計書出すならわかるけど、今回の質問はヘルプファイルでしょ?

576 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 01:18:59.44 ID:e7pcoQvna.net]
社内ならConfluenceみたいなwiki的なサービス使えば?
ファイルで配ると後でメンテに苦労することになるよ

577 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 01:22:13.31 ID:yxq5pHtX0.net]
>>557
C#のスレなんだからヘルプと言えばクラスリファレンスだろ

578 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 01:45:40.32 ID:NCJ1sppLp.net]
ユーザー向けのヘルプファイルだろ
質問した本人出てこないから結論出ないけど

579 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 06:02:12.24 ID:86VvLP3ma.net]
簡単なゲーム作ってみたのだけど仮にこれを配布するとしたら
動作環境は何を基準にして明記したらいいのでしょうか

Windowsの人なら特になにか入れてもらわなくてもだいたい動くってことでしょうか

580 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 07:19:45.32 ID:en2thcC6M.net]
>>555に一票
俺はAsciiDocだけど

581 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 07:20:35.11 ID:Weq4zX9xd.net]
対処にした.netでしょう。

win7はデフォだと3.5
win8がデフォだと4.5
win10はデフォ4.6がはいってる。
win8とwin10は3.5系はデフォでは入ってない。
一般的には、4.5で作っておけばトラブルは少ない。
async awaitも使えるし、入ってることが期待できる。

.net coreは開発者でないと、入れてることは期待できないので、入れてもらう形かね。
一般の非開発者は、.net framework と .net coreの二系統に大きく別れてるとか
知らないので、coreは注意が必要かもねぇ

582 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 07:33:47.03 ID:JXgoNARF0.net]
むしろCoreはランタイムをSelf-containedにできるから実行環境の状況を気にせず済むでしょ
(まだデスクトップアプリの開発環境として整ってるとは言えないけどそれはそれ)

583 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 07:37:27.34 ID:N+zrhIiBd.net]
>>563
4.5はもうサポート切れだからだめやろ



584 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 14:02:16.37 ID:wLzz2paeM.net]
今更新規でFull .NET使うのはお勧めできないな
結局.NET standardはMSが早くも投げ出して崩壊し、今後は.NET Coreに一本化される
既存の.NETアプリは全てレガシーの産廃だ

585 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 14:09:17.61 ID:N+zrhIiBd.net]
>>566
ASP.NET Coreも、3.0からは.NET StandardじゃなくてCore3.0だけをターゲットにするしねw

586 名前:デフォルトの名無しさん [2019/02/08(金) 16:42:05.01 ID:DCBa2RJt0.net]
指定のdatetimeまで待つ処理はどのように書けばよいでしょうか?
GUIアプリケーションで出来れば待っている間も操作可能
なるべくcpuの負担が軽くなる方法が良いです
よろしくお願い致します。

587 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 16:47:22.48 ID:xI0+6qTx0.net]
>>568
それは、まず、タイマーを起動して、1秒間に一回程度、自前の関数が
呼び出されるようにしておく。そして、その自前の関数で現在の日時を
取得して、条件に合う日時になっているか調べる。そして、条件に合って
いれば、好きな処理をする。そうすればいい。

588 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 16:58:08.14 ID:hTn4Mfg30.net]
>>569
Thread.Sleepの方がいいんじゃね?

589 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 17:08:32.00 ID:wLzz2paeM.net]
>>568
タスクスケジューラ

590 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 17:20:02.58 ID:xI0+6qTx0.net]
>>570
それだと GUI の処理がほぼ完全に止まってしまい、アプリがほとんど操作不能
になるハズ。

591 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 17:23:59.58 ID:T5iT/olM0.net]
>>568
アプリが起動しっぱなしなら指定日時から現在日時を引いて
await Task.Delay()等でタイムアウト待つとか、他は>>571かね

592 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 17:28:55.52 ID:1w1isakW0.net]
do-whileもいいと思う

593 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 17:33:15.83 ID:hTn4Mfg30.net]
>>572
待つロジックをThreadにすればいいだけじゃね?



594 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 17:48:48.00 ID:xI0+6qTx0.net]
マルチ・スレッドというのは、プログラミング経験を沢山積んだ人が使うもので、
非常に原因の特定が難しいバグを引き起こすことがあるので、初心者には
お勧めできない。同期オブジェクトや atomic アクセス、volatile などを
正しく

595 名前:理解してからでないと危険を伴うことがある。

async も独特で複雑なことをやっているので、プログラミング初心者が、何が起きて
いるのかを理解するのは難しい。なんとなく動くかもしれないがうかつに使うのは
やめたほうがいいと思う。
[]
[ここ壊れてます]

596 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 17:50:59.48 ID:xI0+6qTx0.net]
async は、↓のような複雑な control flow になる。
それを全部理解してから出ないと危険。

https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/async/media/navigationtrace.png
https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/async/

597 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 18:11:51.00 ID:JXgoNARF0.net]
GUIちゅーてんだから普通にWinforms/WPFのTimer/DispatcherTimerを紹介すりゃええんでないの
数日間待機させたいとかになるとまた話が違ってくるしもうちょい質問の要件をハッキリさせて欲しいけど

598 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 18:25:10.33 ID:ccTwL3cjM.net]
指定日時後の起動はタスクスケジューラに任せた方が良いと思う
GIU側の仕事はスケジューラヘの登録と指定日時にスケジューラが起動したプロセスとの通信

599 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 18:28:22.25 ID:xI0+6qTx0.net]
C#も汚い言語になってきたなー

600 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 18:32:16.25 ID:xI0+6qTx0.net]
なんか、JavaScript そっくりになってきる。JavaScript は汚いのにな・・・。

601 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 18:49:11.69 ID:5c9t7/Awd.net]
汚いとは?

602 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 18:56:00.90 ID:wLzz2paeM.net]
JavaScriptそっくりもクソも、JavaScriptのasync/awaitはC#が発祥だぞ
それをJavaScriptもPythonもKotlinもそっくりそのまま真似した
汚い機能だと感じる君の感覚は否定しないが、好みは別にして非同期プログラミングのデファクトスタンダードであるのは事実だ

603 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 19:49:11.94 ID:lL88DpXz0.net]
割り込んですまない。
SolrNet を使ったことあるヤツがいたら知恵を貸して欲しい。

SolrNet を使ってこんなことをやってみた。

Startup.Init<[適当なモデルクラス]>( [SolrのサーバーURL] );
var solr = ServiceLocator.Current.GetInstance<ISolrOperations< [適当なモデルクラス] >>();

まあごく当たり前の初期処理なのだが、実行すると2行目の Current の中身が null でヌルポエラーになる。

原因がわからなくてしばらく悩んで、GitHub にあるサンプルコードをダウンロードしてきてコピペしても同じだったのだが、
ダウンロードしたソリューションをビルドして実行するとこの部分を問題なく通過する。
またしばらく悩んで、nuget でダウンロードしてくる SolrNet のバージョンに違いがあることに気がついた。
どうやらバージョンが 0.5 以下だと通過し、それ以降のバージョンだとヌルポエラーになるようだ。

最新のは 1.0.1 だったか、このバージョンで上の部分を通過させるに必要な事はなんだろう。心当たりがあったら教えて欲しい。
0.5 の辺りって、その辺りを境に他のパッケージを参照するようになってるぽいのだけど関係があるだろうか。
これを使えってご指定なんだよな。。



604 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 20:41:31.54 ID:OM4aCJGta.net]
>>568
一応これでできるけど、これがベストかどうかは知らん
private static async Task WaitTillAsync(DateTime dt)
{
  var now = DateTime.Now;
  var span = dt > now ? dt - now : TimeSpan.Zero;
  await Task.Delay(span);
}

private async void button1_Click(object sender, EventArgs e)
{
  await WaitTillAsync(DateTime.Now.AddSeconds(10));
  MessageBox.Show("10秒後にこんにちは");
}

>>566
マジですかw

605 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 2 ]
[ここ壊れてます]

606 名前:1:46:41.47 ID:tTA+g4g80.net mailto: >>585
それだとNTPで時計合わせが発生したらズレる
素直にSystem.Timers.Timerで500ms位ごとにElapsedさせて、
指定時刻を過ぎてないか見るのが簡単。

マイクロ秒まで精度出したいっていうのなら、そもそも使うOS間違ってる。
[]
[ここ壊れてます]

607 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 22:17:53.01 ID:uDI35RTx0.net]
>>583
Rustは結局どうなったんだっけ?

608 名前:デフォルトの名無しさん [2019/02/08(金) 22:27:25.20 ID:DCBa2RJt0.net]
みなさんありがとうございます。
一応自分で書いていたのは>>585さんに近くて設定時刻前ならそのまま、設定時刻を過ぎてたら一日足して現在時刻との差をawait Task.Delayしました。
タイマーの精度はそんなに必要なく1分間隔で大丈夫で、24時間起動で毎日朝8時から夕方17時までプログラムを止めるみたいな感じです。
同じプログラムを大量に起動するので処理はなるべく軽いのが希望で
ループ処理で毎分チェックするようなのは重いイメージがあるのですが大丈夫でしょうか?
また、時計合わせが発生したらズレるというのはどういうことでしょう?

609 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 22:30:54.02 ID:wLzz2paeM.net]
>>588
ポーリングが嫌ならタスクスケジューラを使えばいい
プログラムから簡単に登録できる

610 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 22:53:24.62 ID:OM4aCJGta.net]
>>586
えらい重箱の隅だけどまあそうだねw
private static async Task WaitTillAsync(DateTime dt)
{
  await Task.Run
  (
    () => { while (dt > DateTime.Now) Thread.Sleep(500); }
  );
}

611 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 23:23:03.92 ID:wLzz2paeM.net]
>>590
プロセスが落ちることを想定せよ
NTPなんかより遥かに影響を受ける可能性の高い事象である
やり直し

612 名前:デフォルトの名無しさん [2019/02/08(金) 23:32:28.45 ID:Waqd0NNdr.net]
どのへんでプロセス落ちるの?

613 名前:デフォルトの名無しさん [2019/02/08(金) 23:33:09.16 ID:DCBa2RJt0.net]
>>590
Thread.Sleepの所Task.Delayにしても大丈夫でしょうか?



614 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 23:42:34.81 ID:wLzz2paeM.net]
>>592
どこでも
質問者は24時間起動って言ってるんだから当然想定すべきだよ

615 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 00:44:22.99 ID:jhOjUKEBa.net]
>>593
もちろんいいと思うけど、

() => { while (dt > DateTime.Now) Thread.Sleep(500); }

async () => { while (dt > DateTime.Now) await Task.Delay(500); }

に文字数が増えて、使うTaskも増えて、かといってメリット無いような気が

616 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 00:46:47.47 ID:3dJvh84X0.net]
await, async は、簡単なことを難しくしてしまう。

617 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 00:52:22.81 ID:8aikkfMy0.net]
C#は、もはや、C++やCとは似ても似つかなくなってしまってる。
control flow がめちゃくちゃ複雑で、何をやってるのかわからなくて
生ポインタの1,000倍危険。

618 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 00:58:38.23 ID:jhOjUKEBa.net]
() => { while (dt > DateTime.Now) Task.Delay(500).Wait(); }
の方が素直か。
何かTask.Delay使った方がいい理由ってあるかな

619 名前:デフォルトの名無しさん [2019/02/09(土) 01:13:05.43 ID:dvMZ7Shb0.net]
PDFファイルからテキストを抽出する方法でオススメはありますか?
調べたところiTextSharpとPDFBoxは見つかりましたが、たまに読めないPDFがあるのが残念です。

620 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 01:45:47.26 ID:8aikkfMy0.net]
C# の async, await を開発したのはこんな人。写真付き:

https://www.orioninc.com/c-async-and-await-programming-model-from-scratch-introduction/

621 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 01:49:31.12 ID:kYloXoqBd.net]
>>599
一番確実なのは製品版のAcrobatを使うことではないでしょうか

622 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 01:49:48.79 ID:U3ljW3xz0.net]
>>598
この流れでもう二回書かれてるけどawaitしないとその間メッセージキュー処理できないでしょ
あとTimer使えば済むロジックを自分で書かないの

623 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 01:55:33.22 ID:dvMZ7Shb0.net]
>>601
私の技術力が低いので初心者用スレで質問させていただいたのですが、それを購入したとして初心者でもネットで調べる程度で可能ですか?
上に書いたiTextSharpとPDFBoxは、ネットに転がってたソースを丸パクリでやりました。



624 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 02:16:09.35 ID:UMSUoHVI0.net]
>>595
後者はTask.Run()が不要だから、むしろタイプ量は減るよ。

await Task.Run( () => { while (dt > DateTime.Now) Thread.Sleep(500); } );

while ( dt > DateTime.Now ) { await Task.Delay(500 ); }

625 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 02:39:48.15 ID:U3ljW3xz0.net]
ん? Task建ててる部分見てなかった、俺のレスのは忘れて

626 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 02:40:17.09 ID:UMSUoHVI0.net]
後、細かいことを言うと、
Task.Run()でThread.Sleep()だとSleep()してる間もThreadPoolのThreadを1つ占有してしまうが、
Task.Delay()ならその間はThreadPoolのThreadが開放される。

627 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 02:47:07.48 ID:jhOjUKEBa.net]
>>602
スリープするのはUIスレッドじゃないのでそれはありませんよw

これ、ちょっと前にも書いたけど、Timerを使った方が可読的になる場合ももちろんあるし、
そうでない場合もある。

つまり、別に車輪を再発明してるんじゃありません。

質問者がどっちのケースかは分からない

628 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 02:54:59.91 ID:jhOjUKEBa.net]
>>604
ああ、なるほど。
正直非同期メソッドって書きなれてないから目からうろこ

629 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 03:02:23.38 ID:zy9w8qc80.net]
>>603
SDKは自由にダウンロードできるからドキュメント見て自分で判断しておくれ
https://helpx.adobe.com/jp/acrobat/kb/2558.html

630 名前:デフォルトの名無しさん [2019/02/09(土) 07:11:19.34 ID:Bzu1ndzH0.net]
待つだけの処理で1スレッド消費しちゃうのは良くないな
かといって単純にAwaitを使っただけのコードだと、どこかでデッドロックが生まれる可能性が増えたり、待てずにメインスレッドが抜けてしまったりする危険が出てくる
ここはコルーチンしか無いでしょ!!コルーチン最高!!!!

631 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 07:16:35.24 ID:rkd3w/wq0.net]
タスクスケジューラにしとけよ

632 名前:デフォルトの名無しさん [2019/02/09(土) 07:35:28.00 ID:Bzu1ndzH0.net]
タスクスケジューラはC#自体の機能じゃないからな、漢は黙ってコルーチン!!!

633 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 07:42:48.42 ID:onf/I33CM.net]
私、待つわ〜何時までも待つわ〜
例え対象スレッドが落ちていても〜



634 名前:デフォルトの名無しさん [2019/02/09(土) 08:32:22.73 ID:6iVlgEPUr.net]
>>594
それ非同期関係なくない?

635 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 08:45:27.49 ID:O6W3Dl2k0.net]
>>583
kotlinはそっくりそのままと言えるものではなく
奇怪な何かになってる

636 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 08:47:26.04 ID:O6W3Dl2k0.net]
>>614
次はWindowsが落ちることを想定しよう

637 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 11:10:00.80 ID:YnD8XTKW0.net]
c++はc#の何倍難しいですか?

638 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 11:13:22.03 ID:onf/I33CM.net]
C# → C++/MFC なら大して変わらないかも

639 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 11:13:26.70 ID:902JN4xl0.net]
256バイ

640 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 11:17:48.96 ID:k8PbCSORM.net]
言うほど難しくはない
同じものを作るために3倍程度の工数がかかるだけ

641 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 11:24:28.88 ID:YnD8XTKW0.net]
個人で使うものではない感じですか?
openglを扱うためには裂けては通れないようですが

642 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 11:31:34.31 ID:k4TwxJVN0.net]
>>621
opengl c# でググったらいろいろヒットするが
DllImportがめんどくさいのはわかるが避けて通れない理由があるのか?
C++でやらなきゃって思うのならC++のスレへどうぞ

643 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 11:35:32.77 ID:YnD8XTKW0.net]
ラッパーのほうが情報すくなくて難しそうなので



644 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 11:39:46.24 ID:U3ljW3xz0.net]
>>621,623
> 個人で使うものではない感じですか?
個人で使うのになんら障害はない

> openglを扱うためには裂けては通れないようですが
OpenTKとかあるし別に必須じゃない

> ラッパーのほうが情報すくなくて難しそうなので
じゃあC++で学習すれば?

645 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 11:41:56.63 ID:O6W3Dl2k0.net]
このレベルでOpenCVに手を出して何ができるんだって感じもある
チュートリアルを通してやるのがせいぜいか

646 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 12:15:17.08 ID:yiDYsHnZ0.net]
>>625
OpenCVとOpenGLは別物だよ

647 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 12:25:47.28 ID:6TG0Gkwea.net]
>>617
テンプレートの深みにはまらなければC++のほうが素朴で簡単

648 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 12:37:08.87 ID:PsW6cRYq0.net]
この人3ヶ月前からこういう質問ばっかしてる
一体いつになったら手を動かすんだろう

649 名前:デフォルトの名無しさん [2019/02/09(土) 13:27:48.74 ID:Bzu1ndzH0.net]
やっぱコルーチンだわ
コルーチン質問がいくらあっても全くロックが起きとらん!スレッドを丸々潰してもいない!最強!!

650 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 14:30:31.24 ID:8aikkfMy0.net]
>>620
そんなかからん。せいぜい 2割り増し程度。
でも、ブラックボックスが少なくて何やってるのか分かりやすいので、
はまりにくいかも。

C#のasync, awaitなんて初心者が理解できるものではない。

651 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 14:37:30.48 ID:O6W3Dl2k0.net]
>>626
ごめん
俺の目が悪かった

652 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 15:30:22.75 ID:zy9w8qc80.net]
C#はクラスライブラリも簡単に逆アセンブルできるからブラックボックスは少ないよな

653 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 16:47:05.41 ID:dvMZ7Shb0.net]
>>609
ありがとうございます。



654 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 22:52:17.77 ID:5t5ZiBxh0.net]
WPF, Windows Form の二種類があったり、Xamarineを使うかどうかが
あったり、C#も複雑極まりないんだね。GDI がセンスがない関数群だったので
嫌われたこと、MFCが汚かったこと、Direct3Dが汚かったこと、COMが
汚かったこと、ActiveX がさらに訳分からなかったこと、の再来を感じる。
「非同期処理」もスレッドをいくつでも起こすタイプや、Poolみたいな
ことをやるタイプ、以外にいくつもあって、さらに最後に async, await
が Synax Suger になっているんだね。なんという複雑さ・・・。
また、スレッドを起こすのに 1MB もメモリが必要・・・・。
なんという無駄使い。

655 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 22:54:12.95 ID:5t5ZiBxh0.net]
結局、.Net Standard が破棄されて、.Net Core だけが残るといううわさを聞いた
けど、やっぱり Xamarine が捨てられていくのかな。買収時点で最初から
予想されたことだけど。

656 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 22:59:09.93 ID:VPSQr41Ud.net]
またC#嫌いのお前か

657 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 23:07:49.24 ID:HZrCyM150.net]
>>634
> 「非同期処理」もスレッドをいくつでも起こすタイプや、Poolみたいな
> ことをやるタイプ、以外にいくつもあって
具体的には?
いくつもあるなら2,3挙げてみてよ

658 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 00:07:00.86 ID:P1Q5YmOJ0.net]
>>637
↓ ここを読んでくれ
www.atmarkit.co.jp/fdotnet/chushin/masterasync_01/masterasync_01_02.html

数え方にもよるが、恐らく6〜8種類くらいあると思う。

659 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 00:09:30.45 ID:P1Q5YmOJ0.net]
多分、
1. Thread
2. ThreadPool
3. Event-based
4. Async Programming Model
5. Reactive Extensions
6. Task-based
7. async/await

の 7種類だと思う。もっとあるかも知れないけど。

660 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 00:09:35.84 ID:XpZrG1uz0.net]
APM、EAP、TAPなんかを言ってるのかね? 単に時代の流れじゃないの
レガシーをタスクにする方法もあるし、.NETはネイティブスレッドではなかろう
開始元へ差し戻しが多いからawaitがあるだけで結局Task推奨になってると思うけど

議論が活発なのは結構だが、ぽこぽこ増えていく言語

661 名前:バージョンを見てると不安は抱く []
[ここ壊れてます]

662 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 00:32:53.23 ID:c9rRoNSM0.net]
時代の流れだねぇ。
今ならTaskとasync/awaitだけ覚えておけば事足りる。
Rxも場合によってはあれば便利だけど。

663 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 00:46:35.13 ID:P1Q5YmOJ0.net]
それは言い訳で、見通しが悪かったって事なんだ。



664 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 00:53:56.42 ID:Mw20IJUM0.net]
まあXamarin用済みなのは確か

665 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 00:58:27.31 ID:AzzfBWDja.net]
async/awaitの効率は最近は大幅に改善されつつあるよ
ただし.NET Coreに限る

666 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 01:03:53.77 ID:P1Q5YmOJ0.net]
効率以前に、訳分からん。
設計した人が実は能力が足りないんだって。

667 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 01:05:47.39 ID:P1Q5YmOJ0.net]
アメリカ人はなめ過ぎてる。
独占的地位を利用して。
こんなくそ設計しやがって。

668 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 01:12:55.80 ID:ys0otiK+0.net]
(ワッチョイ 8261-VUEs)
この人、年中非同期処理が理解できないと繰り返し言ってんな
いい加減理解しろよw

669 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 01:25:57.34 ID:bwecUq1Z0.net]
良かったな
訳わからんものが他の言語にも波及したぞ


※非同期プログラミングの次回作にご期待ください

670 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 01:38:14.50 ID:P1Q5YmOJ0.net]
C# は VB と似ており、C++ とは似ても似つかない。

671 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 01:38:53.56 ID:c9rRoNSM0.net]
>>642
17年の歴史があって、技術的トレンドを比較的積極的に取り込んできてる言語に
それを言うのは言いがかりというかお門違いだろうw

672 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 02:34:19.06 ID:98Upnegk0.net]
>>647
そいつにとっては、ぼくの理解できないもの=設計が悪い、だからな。
自分がバカだとは認められないんだろう。

673 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 02:52:23.04 ID:LkwxzeRxd.net]
>>635
破棄される?ソースは?



674 名前:デフォルトの名無しさん [2019/02/10(日) 08:46:39.23 ID:uz05qYWIr.net]
c#にはあってVBにはないものってないんだよな
.net CoreでもVB採用されてるし

675 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 08:54:49.60 ID:fHBGeROaM.net]
for文の挙動が違うだろ

676 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 09:08:02.67 ID:YTe/5aEc0.net]
>>651
スパゲッティーなアルゴリズムを作ってしまっただけなのに気付いてない。
理解できないのではなく、馬鹿馬鹿しくて腹が立つだけ。
頭のいい人は、もっと良い方法がすぐにひらめくから。

677 名前:デフォルトの名無しさん [2019/02/10(日) 09:09:03.29 ID:o5rWkmWO0.net]
>>653
unsafe

678 名前:デフォルトの名無しさん [2019/02/10(日) 09:21:34.97 ID:0K2cdDeF0.net]
>>655
君は「高卒の天才」ってやつかい?

679 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 09:24:33.66 ID:YTe/5aEc0.net]
C# のこの書き方は、35年前の Microsofot の N88-BASIC の
def fn にそっくり

[C#]
int f(int n) => n >= 1 ? n * f(n - 1) : 1;

[N88-BASIC]
DEF FN名前 [ ( 引数名 { , 引数名 } ) ] =式

10 DEF FNZEIKOMI(P)=P*1.08
20 INPUT "zeinuki kakaku";KAKAKU
30 PRINT "zeikomi kakaku";FNZEIKOMI(KAKAKU)

680 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 09:51:24.70 ID:Ah0fiaOg0.net]
ま、作ったアプリではなくソースコードを自慢するようになったらプログラマは引退したほうが良い

681 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 12:59:28.51 ID:7jl+t3as0.net]
キブハブとかいう謎の団体に監視されてるからソースのエレガントさにも気が抜けない時代

682 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 13:18:41.19 ID:YTe/5aEc0.net]
アメリカって、バイナリだと信用されないんだろうか。
アメリカは悪い人だらけなので武器を持たなきゃならないのが、それが安全な日本にまで波及していて、
セキュリティーソフトのせいでPCの能力は結構落ちるし、自作プログラムが誤検出されて
風評被害は出るしでいやな時代になったな。

683 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 13:20:59.07 ID:YTe/5aEc0.net]
アメリカじゃ、大手企業から以外はバイナリが信用できないから、
無料ソフトのバイナリが入手できない。それで日本まで生産性が下がって来た。
いつのまにか、そんな必要のない日本まで巻き添えになってる。
それに日本人は気づいてない。



684 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 13:24:11.85 ID:HlV4ZEIt0.net]
頭やべぇのが居るぞ

685 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 13:24:46.11 ID:O8DkeQeoM.net]
バイナラ

686 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 14:04:14.11 ID:AojW1eCFa.net]
何作るか思い浮かばん
こんなときどうすれば

687 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 14:11:09.31 ID:ys0otiK+0.net]
>>665
寝たらいい

688 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 14:13:22.67 ID:T7WkpnKgM.net]
>>665
持ってる技術に対して歩んできた人生がクソ過ぎてバランスが悪い

689 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 14:17:09.65 ID:0+1G/wKUa.net]
>>659
ソースの綺麗さはプロダクトの品質、価値に大きな影響を与える
君はなにもわかってない

690 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 14:22:24.87 ID:T7WkpnKgM.net]
>>668
具体的な数字あるんですか?

691 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 14:31:40.45 ID:0+1G/wKUa.net]
>>669
ありますがどこの企業も社外秘でしょう
あなたの会社のコードを計測してみてください
話はそれからです

692 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 14:36:01.60 ID:T7WkpnKgM.net]
>>670
そうですか?
じゃあ、有名なオープンソースとか参考にしてやってみますね

693 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 16:14:54.28 ID:98Upnegk0.net]
>>670
ソースの綺麗さを計測する定量的な評価方法を示してくれ。話はそれからだ。



694 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 16:17:08.69 ID:0+1G/wKUa.net]
>>672
ググれ
コードメトリクスを測定する手段は無数にある

695 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 16:45:07.74 ID:VHz3VazZ0.net]
>>672
品質=(売上-コスト)÷行数

696 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 18:17:02.13 ID:6Yt6QBhU0.net]
ツリーを表示する部分はtreeviewですが、treeviewの中身を表示する領域はどのツールを使う運でしょうか
エクスプローラのメイン画面のことですね

697 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 18:42:16.76 ID:96GWWqq3M.net]
>>675
そんなものはない
何を表示したいかなんてアプリ次第だろ
要件に応じて自分で作るんだよ

698 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 19:41:33.15 ID:ys0otiK+0.net]
>>675
エクスプローラのメイン側はリストビューだよ

699 名前:デフォルトの名無しさん mailto:sage [2019/02/11(月) 05:09:40.45 ID:Q8pHabNH0.net]
回答有り難うございます。
wpfテンプレートを使っているのですが、リストビューというツールは存在しないようですが、wpfにありましたか?

700 名前:デフォルトの名無しさん mailto:sage [2019/02/11(月) 05:15:04.04 ID:Q8pHabNH0.net]
ありました
ごめんなさい

701 名前:デフォルトの名無しさん mailto:sage [2019/02/11(月) 08:30:23.01 ID:sPHRyGkO0.net]
textBoxコントロールでスクロールバーが表示されている状態で
スクロールバー上で右クリックするとスクロールバーのコンテキストメニューが出ますが
richTextBoxコントロールだと出ません。textBoxでは出る標準の右クリックメニューも同様に出ません。
どうすればrichTextBoxで標準コンテキストメニューとスクロールバーのコンテキストメニューを出せるでしょうか

702 名前:デフォルトの名無しさん mailto:sage [2019/02/11(月) 11:37:16.74 ID:XJjA7d5g0.net]
サーバサイドで使えるword操作用ライブラリってありますか?
ExcelにはPOIとかあるのですがwordは探しきれず

703 名前:デフォルトの名無しさん mailto:sage [2019/02/11(月) 11:45:15.95 ID:uhV1eG5ea.net]
Google Docsで作ってWordにエクスポートしたら



704 名前:デフォルトの名無しさん mailto:sage [2019/02/11(月) 12:49:33.20 ID:MkFOBvt90.net]
>>681
Apache POIはExcel専用じゃないけど?
https://qiita.com/mine820/items/e1022ac51466bb34186d

705 名前:デフォルトの名無しさん mailto:sage [2019/02/11(月) 20:34:36.03 ID:Q8pHabNH0.net]
listviewの使い方について、超初心者向けに解説してるサイトを教えてください
vs2017を使用しています
いろんなサイトやyoutubeで調べてたんですが、わからないです

706 名前:デフォルトの名無しさん mailto:sage [2019/02/11(月) 20:50:22.35 ID:Y0EVtjJ+0.net]
>>684
ナンシークラッツ本を買うべし

707 名前:デフォルトの名無しさん mailto:sage [2019/02/11(月) 21:09:13.65 ID:+GND3QEg0.net]
>>684
知りたいのこの辺りじゃない?
ListViewコントロールへ項目を追加するには?
www.atmarkit.co.jp/ait/articles/0502/04/news121.html
ListViewのアイテムがポイントで選択、シングルクリックでアクティブにできるようにする
https://dobon.net/vb/dotnet/control/lvpointselection.html
Drag drop ListView Item from one listView to another
https://stackoverflow.com/questions/38162479/drag-drop-listview-item-from-one-listview-to-another

708 名前:デフォルトの名無しさん mailto:sage [2019/02/11(月) 22:18:17.86 ID:tPbyrG7A0.net]
Q8pHabNH0がやってるのは多分WPFだよ〜

709 名前:デフォルトの名無しさん mailto:sage [2019/02/11(月) 22:29:40.86 ID:sHYekHyG0.net]
いつも思う
そんなクソみたいな動作しかしない
コントロールなんてやめて
いい感じに動作するもん自分で作ればいいのに

710 名前:デフォルトの名無しさん mailto:sage [2019/02/11(月) 22:33:23.81 ID:TJZlmbA+0.net]
WPFは最低でも標準でWinFormと同等のコントロール用意しておけよと

711 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 01:11:37.33 ID:VJfrEW+T0.net]
>>688
いつも思う
初心者用スレで初心者向けではないアドバイスなんてやめて
適切なスレで持論を展開すればいいのに

712 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 01:22:15.30 ID:B1oV2gIZ0.net]
>>690
それがそーでもねーと思うんだよね
使いにくいコントロールを客に納品できるレベルに持っていくって
割りと無理ゲーじゃね?

713 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 03:08:49.84 ID:0nHRi8Dw0.net]
>>690
いつも思う
バカをスルーできる耐性がいつになったら身に付くのかと



714 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 03:12:17.30 ID:VJfrEW+T0.net]
>>691
標準コントロールで実現困難なことをそれで無理に実現しようとしてるならそのアドバイスでいいだろうが、
今回の質問者は(今のところの情報では)標識コントロールで不足している訳ではなく、ありものを使うことすらやっとのレベルなのだから、自分で作れというのは無茶な要求だろう。

715 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 03:12:52.20 ID:VJfrEW+T0.net]
>>691ではなく>>692でした

716 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 05:53:58.40 ID:DAeR3Vqi0.net]
そうです、wpfです
これってwinformよりも良くないんでしょうか?
見た目が良くて新しいものというイメージなんですが

717 名前:デフォルトの名無しさん [2019/02/12(火) 05:58:34.55 ID:SvKCMiwAa.net]
めくそはなくそ

718 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 06:07:05.14 ID:DAeR3Vqi0.net]
var.blog.jp/archives/69202816.html
どのテンプレートを選べばいいんでしょうか
wpf使われているソフトはほぼないと書いてあります

719 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 06:33:52.77 ID:0tNvI9Ip0.net]
WPFは専用スレがあるよ

WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part22
https://mevius.5ch.net/test/read.cgi/tech/1513175747/

720 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 06:43:57.01 ID:0tNvI9Ip0.net]
さくっと作りたいならWinForm
見た目にこだわって、今後も続けていきたいならWPF

まぁ今からやるならWPFだと思うよ。
DPIスケーリングとか今どきの地味でめんどくさい部分の対応はやってくれている。
WinFormはさくっと作れるけど、自分でUIの部品画像つくれないなら見た目は古臭くなるし、
UIとビジネスロジックの分離も大変。

721 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 06:50:44.92 ID:n9nKxlWwM.net]
一年で600レスしかつかない専用スレ

722 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 06:55:56.97 ID:wGJ5rzVe0.net]
C#がニッチだからな
プレイヤーはjavaと一桁違うんじゃね

723 名前:デフォルトの名無しさん [2019/02/12(火) 07:07:37.35 ID:IZHpfaFj0.net]
数倍は違っても桁は違わないんじゃないのかな



724 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 07:43:09.55 ID:HQcd2HqP0.net]
5chのWPFスレとSwingスレを比較すればええのか? ええのんか?

725 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 10:49:53.10 ID:dWGWBM0h0.net]
C#で書いていると、急にLinuxみたいなのが流行りだした場合、手間が増える
だろう。この業界は、今後どうなるか分からん。

726 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 11:03:40.30 ID:GttB/eDsd.net]
>>704
そんなこと言ってたらどんな言語でもリスクあるだろwww

727 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 11:09:45.74 ID:LAva8DO10.net]
C++だと大丈夫だろうよ。

728 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 11:11:43.96 ID:DAeR3Vqi0.net]
>>699
速度も遅くて使い物にならないと効いたのですが、そんなこともないですか?

729 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 11:41:24.36 ID:VerJGrBEM.net]
>>707
それ以前に、WPFは未完成のまま既にメンテナンスモード入りしたから新規での利用はお勧めできない
MS自身がVSの開発に使うためだけにメンテされてるフレームワークだよ

730 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 11:44:21.97 ID:DAeR3Vqi0.net]
>>708
そうなんですね、c#の場合、選択肢はwindowsフォームアプリケーションしかない感じですか?
これはwin32といわれているものでしょうか?

731 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 12:22:47.98 ID:9UpkeXwQa.net]
WPFの問題点は

(1) 学習コストが高い
(2) 即時モードの描画が使えない

だと思うので、これらを気にしなきゃ、相対的に新しいWPFの方がいいんだろうけどね。
レイアウトやバインディングの柔軟性が魅力的なのは否定できない。
これは意見が分かれるけど、

(3) イベントハンドラだらけになってコードが読みづらいWindows Formの問題点の
解消を目指したはずなのに、結局かえってWPFのコードの方が分かりづらい

これもWPFが好きになれない大きな理由

732 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 12:53:00.05 ID:IcQdq56o0.net]
WPF敷居高いのは初めてづくしだからだろ。
データバインディングからレイアウトをxmlで書いて(デザイナーも使えるが)で、更にMVVMのお勉強。
だから、しんどい。

733 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 12:59:12.71 ID:IcQdq56o0.net]
wpfでもmvvmとバインディング使わなくてもいけるけど、listviewの仮想化とか使えなくなったりするが、mvvmとかも強制見たいな風潮がwpfの敷居を上げてる



734 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 13:02:29.67 ID:DAeR3Vqi0.net]
winformでやってみます

735 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 13:02:49.08 ID:IcQdq56o0.net]
androidは最初標準でデータバインディングとかなく途中で登場してMVVMっぽく作れるようになったが、
こういう風に段階を踏んで1個ずつ学び安い環境があったから良かった。

その違いだな。

736 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 13:47:31.84 ID:BXjjeidx0.net]
>>709
UWPってのもある

737 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 13:58:06.30 ID:FIdhys7p0.net]
>>689
UWP「せやな」

738 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 15:41:39.27 ID:rOtwyWX5d.net]
Xamarin.Forms+UWPならついでにiOSやAndroidにまあまあ対応できたりする

739 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 17:33:01.90 ID:DAeR3Vqi0.net]
>>715
formでやってみます
もうc++のほうがいいですか?

740 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 18:14:08.19 ID:3x+OYT1Q0.net]
好きにしろ

741 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 19:10:05.32 ID:B1oV2gIZ0.net]
>>704
c#、linuxで動くらしいぞ

742 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 19:11:51.93 ID:B1oV2gIZ0.net]
winformもlinuxで動くみたいなことも誰か言ってなかったっけ?

743 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 19:20:48.95 ID:a/nbvL/tM.net]
WPFでしんどい



744 名前:のはMVVMという宗教。
自分で新しい宗派を名のる位のずうずうしさか他人の教義にひれ伏すか
[]
[ここ壊れてます]

745 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 19:21:39.94 ID:KFZGfstbM.net]
ザマリンで鬱陶しいのは信者

746 名前: mailto:sage [2019/02/12(火) 22:02:44.11 ID:afakhEje0.net]
>>715-716
UWP のいい教科書/チュートリアルはありませんか?

747 名前:デフォルトの名無しさん [2019/02/12(火) 23:28:53.73 ID:TGYKDn8Ur.net]
UWPアプリなんて誰も使ってないのに

748 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 23:39:52.22 ID:HQcd2HqP0.net]
>>724
o https://github.com/Microsoft/Windows-universal-samples
o Windows Template Studioの吐いたひな形を眺める
o ストアにあるXAML Control Gallery

749 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 23:48:41.39 ID:mBIHBqGr0.net]
>>725
嘘をおっしゃい

750 名前:デフォルトの名無しさん [2019/02/13(水) 00:04:01.52 ID:sgtLrhrBr.net]
>>727
いやマジでしょ

751 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 00:08:16.61 ID:C9BSnIId0.net]
>>725
俺は使ってるが

752 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 00:26:20.99 ID:VGvE+KfY0.net]
>>728
Windows10使ってる人は全員使ってるやろ

753 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 04:20:16.35 ID:9xiZOSOZ0.net]
wpf使うとエディタ自体重くならないですかね



754 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 08:22:31.97 ID:9xiZOSOZ0.net]
win form=win 32ということなんでしょうか
また、これは見た目はきれいにできないんですか?

755 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 08:35:14.74 ID:9xiZOSOZ0.net]
winformってデザイナー画面のズームできないんですか


756 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 08:37:37.78 ID:hwjiROfk0.net]
>>732
WinFormでファイラー作ると、XPのエクスプローラーもどき程度しか作れないのが問題だな
見た目のカスタマイズが困難だからね

ただWin32のコンポーネントを直に使うように作れば速度は本物と遜色ない物ができる
リストビューとか使わずにエクスプローラーの部品を引っ張ってくるなら

757 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 08:45:15.81 ID:9xiZOSOZ0.net]
>>734
見た目まで自由に作る場合はC++のほうがいいのでしょうか?
面倒そうではありますが
c++でもインターフェースは何らかのライブラリを使うと聞きますが

758 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 08:57:22.13 ID:hwjiROfk0.net]
>>735
C++でもWinFormsでも頑張れば見た目を変更できないこともない
ただ、素人が一人で片手間でやる作業量じゃすまないんだわな

簡単に見た目を変えたいのならWPFがお薦め

759 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 09:06:36.72 ID:9xiZOSOZ0.net]
↑わかりました

760 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 11:27:04.45 ID:9xiZOSOZ0.net]
>>736
それなりに使いこなせるように慣れば見た目を変えるのは容易ですか?

761 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 11:44:42.10 ID:l4vsLjs90.net]
スレチだけど、WPFはMahApps.Metroがあるからな。
メトロデザイン風なら楽できる

762 名前:デフォルトの名無しさん [2019/02/13(水) 11:49:24.81 ID:sgtLrhrBr.net]
>>730
画像ビューワとか?
ExcelとかWinFormで作られているじゃん

763 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 12:08:48.71 ID:ARXdU5axd.net]
>>740
設定アプリ



764 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 12:17:19.46 ID:C9BSnIId0.net]
>>740
電卓

765 名前:デフォルトの名無しさん [2019/02/13(水) 12:19:31.62 ID:sgtLrhrBr.net]
>>741
>>742
そういうのはさ、Windows10に標準でインストールされてるやつだけど
自分で作ったUWPアプリなんか誰にも使われることはないよね
そもそもアプリストアなんか見ることは一切ないし

766 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 12:24:36.18 ID:tFsdkf9td.net]
>>743
ストア見てるよ
Ubuntuとかダウンロードしたもん

767 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 12:26:05.04 ID:e0d6KWciM.net]
ダウンロードをストアから行うことはあるが、ストアでアプリを探すことは一度もやったことないな

768 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 12:33:48.97 ID:EW0X8toeF.net]
当初のUWPアプリなんて誰も使ってないという主張からどんどん特定条件が増えていくなw

769 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 12:34:12.66 ID:2XDMMrj30.net]
>>740
スタート画面

770 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 12:41:07.09 ID:ARXdU5axd.net]
>>743
>>725

771 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 14:03:56.48 ID:jF7nIOB90.net]
>>739
っMaterial Design In XAML Toolkit
マテリアルデザイン風もあるよ
MahApps.Metroとの連携も用意されてる

772 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 18:31:28.53 ID:OfMy+HAU0.net]
派遣先の組込上がりのPMがWinFormでタブレット対応アプリ作れと言ってくる

せめてWPFと言ったんだけどオナニーエンジニアうぜーと言われた

773 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 19:00:57.32 ID:ixNjFQqZ0.net]
説得できないんなら諦めろ



774 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 19:09:55.36 ID:e0d6KWciM.net]
>>750
勘違いするな
お前の仕事はモノを完成させることではなく労働力の提供なんだから黙って従えばよい
お前だって成果物責任を負う立場になれば多少なりとも保守的になるさ

775 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 20:02:03.05 ID:NZaXG+jY0.net]
>>750
俺にもお前がオナニーエンジニアにしか見えないんだが。

776 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 20:19:25.70 ID:T+klQ57Ga.net]
>>750
変な言い掛かりつけてる奴は恐らくWPFだけが
今時のタッチ操作をサポートしていることも知らないだけだから相手にすることない

777 名前:デフォルトの名無しさん [2019/02/13(水) 21:17:02.96 ID:sgtLrhrBr.net]
前も言ったけどさ、ガワはブラウザで作ればいいじゃん
WinFormもWPFもUWPもいらん

Windowsアプリだがブラウザで操作する
ASP.Net Coreでもできそうだが

778 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 22:08:44.72 ID:kXEWJhMu0.net]
web cad な OSSのlibってあるのけ?

779 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 22:33:58.03 ID:luVawDgcd.net]
>>755
オナニー書き込みやめろ

780 名前:デフォルトの名無しさん [2019/02/14(木) 05:20:39.39 ID:MlsuSDTjr.net]
エレクトロンみたいな感じでいいんだよ
裏側はc#、表側はhtml, css, js
.Net CoreならMacでもLinuxでも動くし
これが一番いい

781 名前:デフォルトの名無しさん mailto:sage [2019/02/14(木) 07:46:22.81 ID:Dp0xuhxW0.net]
( ´_ゝ`)フーン
好きにすれば

782 名前:デフォルトの名無しさん mailto:sage [2019/02/14(木) 08:16:35.34 ID:GFNptSHh0.net]
>>758
エレクチオンみたいな感じ?

783 名前:デフォルトの名無しさん [2019/02/14(木) 11:28:10.10 ID:MlsuSDTjr.net]
バカどもには理解できないらしい



784 名前:デフォルトの名無しさん mailto:sage [2019/02/14(木) 11:37:55.91 ID:SFw402Pv0.net]
ファイラを作成しているのですが、ツリービューでPC内のフォルダを検出する方法について、
どのあたりを調べたらいいか教えてください

785 名前:デフォルトの名無しさん mailto:sage [2019/02/14(木) 12:34:57.27 ID:tlcLfILV0.net]
>>762
SYSTEM.IO

786 名前:デフォルトの名無しさん mailto:sage [2019/02/14(木) 15:12:27.60 ID:Q59BY7+Wp.net]
>>760
こういうレスすごい好き
どうしてエレクチオンしないんだろうな

787 名前:デフォルトの名無しさん mailto:sage [2019/02/14(木) 16:05:20.61 ID:SFw402Pv0.net]
>>763
ありがとぅ

788 名前:デフォルトの名無しさん mailto:sage [2019/02/14(木) 20:27:11.25 ID:SFw402Pv0.net]
ソフト上でファイルにアクセスして、フォルダの中身などを表示したいのですが、まず何のフォームを使えばいいんでしょうか?

789 名前:デフォルトの名無しさん mailto:sage [2019/02/14(木) 20:28:26.38 ID:e1Z71hhf0.net]
>>766
picturebox

790 名前:デフォルトの名無しさん mailto:sage [2019/02/14(木) 20:37:17.42 ID:SFw402Pv0.net]
↑ありがとうございます
表示を切り替えたい場合などは、listviewなど別のものを使う感じですね

791 名前:デフォルトの名無しさん mailto:sage [2019/02/14(木) 20:54:47.71 ID:KyyLfHej0.net]
質問があやふやで回答が無茶苦茶なの続いているけど遊んでいるのか?

792 名前:デフォルトの名無しさん mailto:sage [2019/02/14(木) 21:19:13.61 ID:m8w/NK2F0.net]
あ?ころころすっぞ

793 名前:デフォルトの名無しさん mailto:sage [2019/02/14(木) 21:27:08.41 ID:4V+YrcT70.net]
ワッチョイ変わったけど同一人物っぽいね
ソフト完成するまでずっと質問してそう



794 名前:デフォルトの名無しさん mailto:sage [2019/02/14(木) 23:37:18.13 ID:Dp0xuhxW0.net]
>>771
そういうスレでしょ?

795 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 02:03:45.64 ID:olENi3qW0.net]
ある要素の中で2番目に高い数値を選ぶエレガントなlinqを教えて下さい

796 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 03:00:48.77 ID:ehpwnyaM0.net]
sortedData[1]

797 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 04:23:42.06 ID:lsxqATYQ0.net]
Distinct().OrderBy().Skip(1)
とか?
全部同じ値の可能性があるなら知らん。

798 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 04:28:01.15 ID:lsxqATYQ0.net]
エレガントとは言えない上に間違ってたorz

799 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 05:03:20.06 ID:a5xYZsMx0.net]
Distinct().OrderByDescending().ElementAt(1)
でしょ

800 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 07:02:27.81 ID:olENi3qW0.net]
>>774
その2番じぁねーw

801 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 07:03:18.02 ID:olENi3qW0.net]
>>777
ありがとうございます。

802 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 09:07:12.92 ID:joZk3VJy0.net]
>>777
だいたい良いと思うが、データが2個以上無いと落ちるよね

803 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 10:33:16.88 ID:QcXsKv+O0.net]
2番じゃ駄目なんですか



804 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 11:41:11.71 ID:a5xYZsMx0.net]
>>780
そんなもん例外キャッチすればいいでしょ

805 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 12:42:08.68 ID:VCl1o3iCa.net]
>>782
ArgumentException系をcatchするのは悪手だと思う

.Distinct().OrderByDescending(x => x).Cast<int?>().ElementAtOrDefault(1)
とするのはどうだろう

806 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 12:53:25.53 ID:Qph8FA2WM.net]
>>780
そういう状態を想定するならそもそも2番目が無い時の要件書いてないやつが悪い

807 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 12:56:57.66 ID:dZvrqvyod.net]
>>780
ちょっとしたQAにあらゆる異常系処理にまで対応したコードまで求めるのは違うと思う

808 名前:デフォルトの名無しさん [2019/02/15(金) 13:01:49.14 ID:tYLxs8Yjr.net]
みんなLinkつこてるの?

809 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 13:02:20.42 ID:juddEHEPp.net]
二番目に高い要素を取得っちゅーてんのに二番目が無い場合に
例外じゃなく勝手に既定値を返す方がよほど悪手じゃね?

810 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 13:04:27.67 ID:Ayyf6Kdi0.net]
c#で作られているソフトって何があるのですか

811 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 13:18:02.81 ID:VCl1o3iCa.net]
>>787
強調し忘れてたから念の為書いておくと
Null許容型にしているから「二番目に高い要素が0」の場合と「二番目が無い場合」は区別できる
それを踏まえた上で指摘してくれているなら……Null許容型使ってたらnullチェックしてくれると信じてるんだがどうだろう

812 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 13:44:54.78 ID:juddEHEPp.net]
>>789
正直そのへんは踏まえずケチつけたけど
結局エラー分岐が戻り値か例外かって話になるなら
質問者そっちのけでどちらがスマートか殴りっこしても不毛だなあ

813 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 17:22:07.61 ID:Ayyf6Kdi0.net]
vs2017でただの波括弧で特定部分を囲うと、インデントされますが、これはどのような意味を持ちますか?



814 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 17:37:00.14 ID:l6xRE0dp0.net]
超かっこいい

815 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 17:54:08.50 ID:VXffwVEC0.net]
>>791
ブロックという意味です

816 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 18:14:31.02 ID:Ayyf6Kdi0.net]
>>793
if{}
みたいな条件がない
{}
だけの状態でもエラーとはなりませんが、何の意味があるのですか?
見た目を整えるだけですか?

817 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 18:34:36.59 ID:QcXsKv+O0.net]
>>788
nikon の現像ソフト

818 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 18:35:17.81 ID:T7xyRbUnM.net]
>>794
一時変数を何度も使うときに便利

819 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 18:54:51.21 ID:Qph8FA2WM.net]
>>794
C# ブロックスコープ
でぐぐれ

820 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 18:57:50.87 ID:Ayyf6Kdi0.net]
↑ありがとう

821 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 19:10:43.29 ID:A45VNw280.net]
>>794
スコープを制限するからその中で宣言したローカル変数は外

822 名前:ナ使えない
たぶん、それ以外に違いはない
[]
[ここ壊れてます]

823 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 20:08:29.07 ID:Ayyf6Kdi0.net]
c#のwinformのmenustripの背景というのは変更できないのでしょうか
この辺はそれぞれのPCに依存してるのかなーと思います



824 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 20:12:53.72 ID:gfFuWLI70.net]
>>800
BackgroundImageのプロパティに設定

825 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 21:35:27.37 ID:jCkiam8S0.net]
>>792
俺の事か?

826 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 05:07:55.77 ID:d5pUUzr/0.net]
>>801
ありがつぅ

827 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 05:57:51.57 ID:d5pUUzr/0.net]
c#でスクリーンショット撮影するソフトは不可能ですか?

828 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 07:29:21.89 ID:+4z8MAVsd.net]
いいえ

829 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 11:13:44.16 ID:I7KLi1I90.net]
>>804
検索すればすぐわかる

830 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 11:55:58.09 ID:mmBt6tnL0.net]
>>804
MessageBox.Show("PrintScreenボタンを押せろください");

831 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 16:07:58.46 ID:n2t8JUOl0.net]
Cでは数値型変数を複数の場所から参照するためには、変数のポインタ得てそれを使いますが
C#ではポインタ無いんで、数値フィールド持つクラスを作って
そのインスタンスから参照するしか無いんですか?

832 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 17:01:04.63 ID:dfsqwbBrd.net]
別にポインタはあるぞ。
行儀わるいから、使うべきかよくかんがえたほうがいいだけ。

833 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 17:01:47.04 ID:mSWYdTC80.net]
>>808
スカラー型なら直接読み書きすれば良いのでは無いかと思いますが…配列なら参照型です
変数参照を扱うなら強化されたrefやoutを使えます、またunsafeだとポインタも使えます
TypedReferenceというのも有りますがコレを扱うための__makerefなどは些かアレなので…

.NETには値参照用のSystem.Runtime.CompilerServices.StrongBox<T>などジェネリック既存型も有ります



834 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 17:09:27.87 ID:eqms90yHd.net]
定数参照的な話?

835 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 17:11:36.23 ID:PR5Tb5Rba.net]
>>808
Cでもスコープ内の変数は普通に読み書き可能。
スコープ外の変数でもその値を引数として関数に渡すことができる
ポインタが必用になるのは変数を書き換える汎用的な関数を書く場合だけ
C#の場合、同じことはrefやout付きの引数で実現できる

836 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 17:20:05.45 ID:d5pUUzr/0.net]
nn-hokuson.hatenablog.com/entry/2017/08/17/200918#%E3%83%9C%E3%83%BC%E3%83%AB%E3%82%92%E8%A1%A8%E7%A4%BA%E3%81%99%E3%82%8B
個々のサンプル通りにゲームを作成中なのですが、paintイベントハンドラってなんでしょうか
paintというイベントは何によって発生するのかよくわかりません

837 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 17:27:37.84 ID:NXeshUsvp.net]
>>813
> paintイベントハンドラってなんでしょうか
描画をするためのハンドラです

> paintというイベントは何によって発生するのかよくわかりません
描画をしたい時に発生します

838 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 17:31:08.38 ID:d5pUUzr/0.net]
↑描画とはどういう操作のことでしょうか?
フォームがロードされた時点で実行されます

839 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 17:37:19.60 ID:NXeshUsvp.net]
>>815
ゲームの場合は勝手に描画が実行され続けます

840 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 18:16:49.35 ID:d5pUUzr/0.net]
↑自動的にですか
ありがとうございます

841 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 12:34:21.09 ID:Cn2cXppc0.net]
using System;
public class Hello{
public static void Main(){
// Your code here!

private void myfunction(){
Console.WriteLine("jfo

842 名前:asd");
}

myfunction();

}
}

paizaでC#を入力するとエラーが出るのですが、どこがおかしいですか?
private voidの部分が予期されていないというエラーが出ますね
https://paiza.io/ja
[]
[ここ壊れてます]

843 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 12:38:27.42 ID:51VRzV3m0.net]
staticな関数から動的な関数を呼び出してるんじゃない?



844 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 12:59:41.60 ID:j6Gi9YSR0.net]
ローカル関数をサポートしてないだけでしょ

845 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 13:00:14.76 ID:I+dbukVsp.net]
>>818
private voidの部分がおかしいですね

846 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 14:31:14.74 ID:cAaLtQSp0.net]
>>818
まずこういう質問はpaizaの問題でC#のスレでやられても混乱するからVisualStudioでの話以外はやめてくれ
コード書けるサイトが間違っていないって保証が無い。実際動くコード転載してもエラーって何度も経験しているからな
VisualStudioで書くのならターゲットフレームワークを.Net4.7以上にしてprivate void myfunction()からprivate外してvoid myfunction()で動く

847 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 16:38:09.76 ID:Agaj4T0x0.net]
たすけて!これ何が違うの?
どっちも普通に使えるよね?
ちな初心者
@List<T> list = new List<T>();
AList<T> list;

848 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 16:55:04.91 ID:2ynU5zYy0.net]
後者は中身が無いからそのままじゃ使えない

849 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 17:04:55.99 ID:KqlDIF5Pa.net]
>>823
1はlistという変数の定義と同時にList型のインスタンスで初期化している、普通に使える
2はlistという変数を定義しただけの状態
ローカル変数の場合は後で初期化する必要がある、未初期化のまま使おうとするとコンパイルエラー
クラスや構造体のフィールドの場合は暗黙でnullで初期化される、「普通に使う」ためには後でList型インスタンスを代入してやる必要がある

850 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 17:07:18.00 ID:naWxhgEk0.net]
>>823
> @List<T> list = new List<T>();

List<T> list;
list = new List<T>();
と同じ

> AList<T> list;
はlistの実体が設定されてないからそのままlist.Add(…)とかやると例外が発生する

851 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 17:07:30.92 ID:B/nvmulQd.net]
>>822
.NETのバージョンなにか関係あるか?

852 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 17:12:13.37 ID:tKx1WgvG0.net]
>>823
C++と違ってクラスは強制的に参照型で変数宣言がポインタと同等なのよ
宣言だけではコンストラクタはもちろんインスタンスも割り当てられない

853 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 17:26:45.23 ID:Cn2cXppc0.net]
>>822
paiza だと挙動が少し違うようです
このサイトはやめときます



854 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 17:35:39.94 ID:Cn2cXppc0.net]
ちょっとコードを確認したいというときに、使えるツールありますか?
わざわざプロジェクト作るほどではないときですね
python のidleのようなものです

855 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 17:38:44.31 ID:Ox4HquXb0.net]
>>830
C#インタラクティブ

856 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 17:41:30.40 ID:0sFVNd3o0.net]
cscは標準で入っているでしょ

857 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 17:54:52.02 ID:B/nvmulQd.net]
>>830
LINQPad

858 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 18:01:37.03 ID:/k3HmPSI0.net]
csiだな

859 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 18:03:11.00 ID:owh3i+7dM.net]
スクリプトみたいに対話型でできる?

860 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 18:18:26.04 ID:Cn2cXppc0.net]
↑ありがとうございました

861 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 18:21:23.19 ID:naWxhgEk0.net]
>>830
notepad.exe + csc.exe

862 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 18:28:37.10 ID:Agaj4T0x0.net]
>>825
>>826
>>828
NEWはしなきゃいけないのね
有難う御座います

863 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 18:29:26.69 ID:Cn2cXppc0.net]
>>833
これいいっすね
初心者なのでしばらく練習します



864 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 20:45:16.60 ID:Cn2cXppc0.net]
vs codeもちょっとしたコードの確認に使うものなんでしょうか?

865 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 21:29:49.15 ID:I+dbukVsp.net]
>>840
使うひともいれば使わないひともいますね

866 名前:デフォルトの名無しさん mailto:sage [2019/02/18(月) 01:50:55.38 ID:pxm+KTrW0.net]
入力項目が沢山ある画面で、変更を保存せず画面を閉じようとしたときは警告を出したいです。
何も変更せず画面を閉じる場合は警告を出さずに閉じたいです。

この場合の変更チェックは入力項目に紐づく変数1個1個をチェックする以外に、スマートな方法は無いでしょうか?
入力項目に紐づく変数はデータクラスとして用意しているので、画面開く直前にハッシュのようなものを計算し退避しておき、
画面を閉じる直前にハッシュを再計算し比較すれば行けると思うのですが、オブジェクトのハッシュを求めるのは
GetHashCodeでいいのでしょうか?

867 名前:デフォルトの名無しさん mailto:sage [2019/02/18(月) 01:58:21.05 ID:0Vx/m/dz0.net]
ないね
上に1dot
下に1dot
って動かされて終了したときは
出したくないんでしょ?
何か妥協点がない限り全部比較するしかないよ

868 名前:デフォルトの名無しさん mailto:sage [2019/02/18(月) 02:13:28.99 ID:Y8U6L+e90.net]
>>842
データクラスとして纏めてあるなら、GetProperties()やGetFilelds()で抽出した各変数を
ループで比較すればそこそこスマートなんじゃない。

869 名前:デフォルトの名無しさん mailto:sage [2019/02/18(月) 02:29:46.98 ID:GC8vaMYY0.net]
俺ならデータクラスにINotifyPropertyChangedを実装するかな

870 名前:デフォルトの名無しさん mailto:sage [2019/02/18(月) 02:53:09.62 ID:+SQV8UeVa.net]
>>842
直接の回答でなくてごめん。

そういうMSにありがちなUIはたぶん

(1) 変更をキャンセル可能であること
(2) OKボタンをクリックした時点で初めて変更が反映されること

が要件になってるからそういう仕様になるんだと思うけど、こんな要件が必用ないなら
画面の入力項目の変更を変更があった時点でその都度対応するオブジェクトの
プロパティーに反映させてしまえば、「変更を保存せず画面を閉じようとしたときは警告を出」す
必用自体がなくなる

まあ一種の手抜きだけど、場合によっては許容される手抜きだと思う

871 名前:デフォルトの名無しさん mailto:sage [2019/02/18(月) 03:23:01.21 ID:pxm+KTrW0.net]
>>845
いいアイデアですね。
プロパティ1つ1つに
if(beforeValue!=afterValue)
 OnPropertyChanged();
みたいな実装が必要なのが若干だるい気がしますが。

>>846
つまり変更した瞬間に即確定って意味でしょうか?
後出し情報で申し訳ないですが、最終保存先がDBで
アプリにとって比較的重要な情報の更新をしようとしています。
なるべく意図しない変更を防ぎたいです。

872 名前:デフォルトの名無しさん mailto:sage [2019/02/18(月) 08:27:54.30 ID:GC8vaMYY0.net]
>>847
データクラスのベースクラスをPrism.MvvmのBindableBaseにするとまあまあタイプ量減らせたりするよ

873 名前:デフォルトの名無しさん mailto:sage [2019/02/18(月) 11:29:03.32 ID:huM3ZKfN0.net]
https://i.imgur.com/2rpwFqg.jpg
vs codeを使っているのですが、どこから実行できるんでしょうか?
言語はc#で、マイクロソフトのc#のアドオンを入れました
ctr shift pでrunというコマンド?が出てくるので、それをクリックしたのですが、outputには何も出ません

また、ヴィジュアルスタジオの場合はイベントハンドラーがありますが、常に実行させるようなイベントというのはただのC#にあるんでしょうか?



874 名前:デフォルトの名無しさん mailto:sage [2019/02/18(月) 11:34:39.00 ID:FChOt/Xad.net]
>>849
チュートリアルくらいやれよ

875 名前:デフォルトの名無しさん mailto:sage [2019/02/18(月) 12:06:26.29 ID:RBxZ7FEaM.net]
>>849
ターミナルでdotnet runと打ち込んでEnterや

876 名前:デフォルトの名無しさん mailto:sage [2019/02/18(月) 12:13:35.54 ID:vM1YVHVQd.net]
>>842
そう言うの割とダルいから、データをクラスにまとめといて、開いた時点でシリアライズして文字列で持っちゃう。
保存時にシリアライズして文字列一致しなかったら、変更されてる

877 名前:ニ言うことにする。
一個ずつ比較したら改修で漏れるよ。
[]
[ここ壊れてます]

878 名前:デフォルトの名無しさん mailto:sage [2019/02/18(月) 12:41:30.31 ID:huM3ZKfN0.net]
>>851
ありがとうございます
そうやって実行するんですね
visual studioよりむずいです

ただ、Program.csという自動生成されたファイルが実行されます
同じフォルダに自分で作ったsample.csがあるんですが、こっちを実行させる設定はどこからするんでしょうか?
パスを指定してからdotnet runしてもエラーになるます

879 名前:デフォルトの名無しさん mailto:sage [2019/02/18(月) 12:42:32.67 ID:OjJXAwBNd.net]
>>853
いやだからチュートリアルくらいやれって

880 名前:デフォルトの名無しさん [2019/02/18(月) 12:59:06.77 ID:pxm+KTrW0.net]
>>852
それもいい考えですね。
メンバ変数に[DataMember]とアノテーションを
つければいいだけですね

881 名前:デフォルトの名無しさん mailto:sage [2019/02/18(月) 13:05:27.38 ID:99WFuefSa.net]
まあ一度変更があった時点で実際には等価でも別物と見なす実装が一番簡単だねたぶん。
実際そういうソフト結構あるよね。

そういう手抜きが気に入らないなら素直にEquals実装するのが結局シンプルじゃないのかな。
フィールドが全部値型の構造体ならデフォルト実装で済むと思ったし

...と思って調べてみたけど、なんかドキュメントによって書いてるこが微妙に違うなw

https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/statements-expressions-operators/how-to-define-value-equality-for-a-type
↑には「リフレクションを使用して、型のフィールドとプロパティをすべて調べます。」と書いてあるが

https://docs.microsoft.com/en-us/dotnet/api/system.valuetype.equals?view=netframework-4.7.2
↑には単純にビットイメージの比較と書いてある

となってる。どっちが正しいんだ?w

882 名前:デフォルトの名無しさん mailto:sage [2019/02/18(月) 18:49:02.00 ID:L0NbuPbAa.net]
>>856
> https://docs.microsoft.com/en-us/dotnet/api/system.valuetype.equals?view=netframework-4.7.2
のRemarksには、thisとobjの全フィールドが参照型でなければbyte単位の比較、そうでなければリフレクションを使うとある
https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2231-overload-operator-equals-on-overriding-valuetype-equals
他に知っているもので↑では、リフレクションを使うとだけある

https://referencesource.microsoft.com/#mscorlib/system/valuetype.cs
少なくとも.NET Framework 4.7.2では、ビット比較だけしていそうなFastEqualsCheckを呼ぶパスが存在する
そのパスを通るか判定しているCanCompareBits関数はexternなので詳細不明

883 名前:デフォルトの名無しさん mailto:sage [2019/02/18(月) 19:16:27.32 ID:L0NbuPbAa.net]
ごめん「他に知っているもの」に貼るURL間違えた
https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1815-override-equals-and-operator-equals-on-value-types



884 名前:デフォルトの名無しさん mailto:sage [2019/02/19(火) 11:05:06.64 ID:t+ZZI+Uh0.net]
vs codeのproblemの欄なんですが、間違ったコードを入力しても自動で更新されないようです
デバッグを実行しないとだめなようですが、リアルタイムにエラーを表示してくれる設定はできますか?
以前はできたんですが

885 名前:デフォルトの名無しさん mailto:sage [2019/02/19(火) 12:03:57.65 ID:IsM0ebyqd.net]
日本語でよろしく

886 名前:デフォルトの名無しさん mailto:sage [2019/02/19(火) 12:33:41.44 ID:efthhon4M.net]
そいつは難しいproblemだな

887 名前:デフォルトの名無しさん mailto:sage [2019/02/19(火) 17:38:20.55 ID:JJR46+B00.net]
>>859
vs codeのことは専用スレで聞け、スレ違い
Visual Studio Code / VSCode Part5
https://mevius.5ch.net/test/read.cgi/tech/1541649564/

888 名前:デフォルトの名無しさん mailto:sage [2019/02/19(火) 19:41:44.24 ID:t+ZZI+Uh0.net]
なぜmain関数の中に処理を書かないといけないのですか?
そういうルールだからってことですか?
pythonだとどこに書いてもいいと思うんですが

889 名前:デフォルトの名無しさん mailto:sage [2019/02/19(火) 19:46:47.41 ID:+t+aP4snM.net]
そういう設計思想だから

890 名前:デフォルトの名無しさん mailto:sage [2019/02/19(火) 19:54:09.61 ID:zirjw7Cj0.net]
main以外をエントリポイントにできるけどな
win32apiからの慣習

891 名前:デフォルトの名無しさん mailto:sage [2019/02/19(火) 21:39:52.76 ID:eXSGnhOj0.net]
>>865
C#で出来るの?
どうやって?

892 名前:デフォルトの名無しさん mailto:sage [2019/02/19(火) 22:33:06.53 ID:MriKnXlj0.net]
>>866
なくはない
https://ufcpp.net/study/csharp/cheatsheet/apscripting/

893 名前:デフォルトの名無しさん mailto:sage [2019/02/20(水) 01:09:59.10 ID:WG18KXuW0.net]
助けて!!
Parallel.Forを使ってそれぞれで別の演算アプリを起動して
4スレッドで演算処理してるんだけど
アプリ強制終了してもスレッド(演算アプリ)はずっと処理し続けてるの!お願い止まって!!

親スレッド(UIスレッド)が死んだら子スレッドも死ぬみたいなお作法ありますか?
演算アプリはSystem.Diagnostics.Process使って起動してます



894 名前:デフォルトの名無しさん mailto:sage [2019/02/20(水) 01:46:34.63 ID:3QCW37aG0.net]
Process.Kill()でしょ

895 名前:デフォルトの名無しさん [2019/02/20(水) 02:03:55.40 ID:/GvzZ744d.net]
>>868
それはC#的にスレッドとは言わない。
別プロセスだ

896 名前:デフォルトの名無しさん mailto:sage [2019/02/20(水) 07:56:23.82 ID:Jfh2EJBjr.net]
電源off

897 名前:デフォルトの名無しさん mailto:sage [2019/02/20(水) 09:16:30.41 ID:JdxivbIi0.net]
>>868
CancellationTokenSourceを使ってみれば?

898 名前:デフォルトの名無しさん mailto:sage [2019/02/20(水) 16:01:28.63 ID:qtZmd9yJa.net]
form1にsplit container をverticalで貼り付けて左右に2分割してその中にボタンとかコンポーネントいろいろ置いてて、
あとから上にmenu stlipを追加したくなってツールボックスからmenu stripコンポーネントをドラッグ&ドロップすると
splitcontanerのpanel1かpanel2のどっちかにしか貼り付けられないのだけどform1にmenuStripを表示するようにするにはどう操作すればいいのでしょうか

899 名前:デフォルトの名無しさん mailto:sage [2019/02/20(水) 16:10:46.41 ID:YXUL7WNb0.net]
一旦張り付けてから
ドキュメントアウトライン表示させてForm直下に移動させる

900 名前:デフォルトの名無しさん mailto:sage [2019/02/20(水) 16:31:00.95 ID:ThCTwK+Ha.net]
>>873
前も書いたけど、
[ctrl] + [alt] + t

901 名前:デフォルトの名無しさん mailto:sage [2019/02/20(水) 16:42:16.67 ID:qtZmd9yJa.net]
>>874
ありがとうございます

902 名前:デフォルトの名無しさん mailto:sage [2019/02/20(水) 16:43:52.95 ID:qtZmd9yJa.net]
>>875
ありがとうございます

配置していたテキストボックスがめり込んでしまいましたがなんとか修正してみます

903 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 12:23:38.43 ID:A65FK9eD0.net]
目のかすみ
>>872
>>869
神!トークン付けてスレッド実行して
キャンセル時にスレッド内でIsCancellationRequestedで拾って
Process.Kill()すればいいのか
行けそうな気がしてきた



904 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 12:51:17.47 ID:Nj5ihKJg0.net]
それでいいのか
アプリ強制終了っていうからタスクマネージャから落とす時のことを想像してた

905 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 13:02:04.01 ID:A65FK9eD0.net]
>>879
それもあるよ!今はキャンセル機能ないから強制終了させて
この問題発せしたんよ
ちなみに強制終了の場合はなんか手法ある?
別プロセスもタスクマネージャーで落とすしかない?

906 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 13:15:26.35 ID:Nj5ihKJg0.net]
基本的にはそうじゃないかね
ちょっと凝った風にするならプロセス間通信でハートビート送って応答なけりゃ自死するとかあるけど

907 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 16:20:57.98 ID:+4fiWh+W0.net]
すみません、コルーチンの使い方について教えてください。
例えばRPGなどのゲームで、キャラクターAに話しかけると、数秒待って反応が返ってくるという処理をしたいと思っています。

まず、数秒待つというコルーチンを作り
private IEnumerator waitforsecond(float sec) {
yield return new WaitForSeconds(sec);
}

次にAに話しかけた時の処理を作りました。

public void Sample(){
 //50%の確率で無視される
 if(Probability.DetectFromPercent(50)){
MainText.text = “Aに話しかけてみた・・・”;
StartCoroutine(waitforsecond(2));
 MainText.text = "なんとAから無視された!”;
 
 //50%の確率で殴られる
  }else {
MainText.text = “Aに話しかけてみた・・・”;
StartCoroutine(waitforsecond(2));
MainText.text = "なんとAから蹴られた!”;

908 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 16:24:21.78 ID:+4fiWh+W0.net]
これで、話しかけたあと2秒時待機して反応がある、という処理になるかと思ったのですが、うまく行きません。

あと登場キャラクターもA、B、C‥‥とたくさんいるのであれば、話しかけると数秒待って反応するという関数を作ってあげたほうがスッキリするのでしょうが、やり方がイマイチわかりません。

909 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 16:42:20.49 ID:VKoyYoRjM.net]
>>883
非同期や

910 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 17:11:57.24 ID:+4fiWh+W0.net]
>>884
非同期・・ググりました。
「非同期」とは重い処理があった場合は終わるのを待たないこと。とありますが、、

911 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 19:03:38.92 ID:+XWUccMjM.net]
Wait前にthis.Refresh()って無意味だっけ

912 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 19:53:42.96 ID:5v/pkJgQa.net]
>>882
何で待つのにイテレーターを使うのかちょっと意味がわかんないねw

913 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 20:08:47.12 ID:c4smrZlO0.net]
yieldでコルーチンという一昔前の一発芸がUnityで幅を利かせているから仕方ないのねー



914 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 20:11:16.75 ID:969mh7640.net]
俺もあいまいな理解だから偉そうには言えないけど
>>882
ここのサンプルが分かりやすいかも
developer.wonderpla.net/entry/blog/engineer/Unity_Co-routine/
>>885
private IEnumerator waitforsecond(float sec) とpublic void Sample()が非同期(違う時間軸での動作)になるので待ち時間になっていない
>>887の言う通り待ち時間には他の物を使わないと

915 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 20:17:45.84 ID:mRRRBv2X0.net]
>>878
その演算アプリがどういう物かわからんが
そもそもそれ別プロセスじゃないとダメなのか?

916 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 22:25:20.57 ID:+4fiWh+W0.net]
>>889
ありがとうございます。
他の物とは具体的にどんな関数を使えばいいのでしょうか?

917 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 23:14:15.44 ID:5v/pkJgQa.net]
>>891
思ったより面倒臭い
https://ideone.com/Sf85HN

918 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 23:22:50.38 ID:5v/pkJgQa.net]
>>892
これ書いてて一つ疑問に思ったのが、
MessagingTask = MessagingTask.ContinueWith(t => job.Action());
これを以下のように、
MessagingTask.ContinueWith(t => job.Action());
こう変えると期待した動きにならない。
ContinueWithってキューになってて先に入ってるタスクの完了を待って次を実行すると思ったけど違うのか

919 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 23:42:43.30 ID:aABnGI350.net]
>>893
重箱の隅…だが。
Task.Run(() => { })の代わりにTask.CompletedTaskってあるよ。
後、Task.Delay(Pause).Wait()ってThread.Sleep(Pause)で良いんでない。

920 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 23:44:55.38 ID:e6A24yU10.net]
>>893
継続タスクが1つとは限らない。複数あったらパラって実行される。

921 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 23:48:25.54 ID:5v/pkJgQa.net]
>>894
うん、知ってたけど今使ってるのがVS2015なのよ...

922 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 23:49:35.07 ID:5v/pkJgQa.net]
>>895
やっぱり俺が誤解して理解してたんだなありがと

923 名前:デフォルトの名無しさん mailto:sage [2019/02/23(土) 14:44:05.16 ID:3cOSTboLa.net]
MenuStripコンポーネントでItemを選択した時にその左にチェックを入れるようにしてるのだけど
選択した時点でメニュー閉じちゃって若干不便なのだけど
ひらいたままにする設定にはできないのでしょうか



924 名前:デフォルトの名無しさん mailto:sage [2019/02/23(土) 19:07:18.92 ID:gzY/wSmba.net]
>>898
ルートのアイテムの直下ならClickか何かで親のShowDropDown()を呼べば一応実現できるっぽい。
入れ子になってる場合は、

....

ToolStripMenuItem1.Click += (sender, e) =>
{
  RecursiveShowDropDown(((ToolStripMenuItem)sender));
};

....

void RecursiveShowDropDown(ToolStripMenuItem item)
{
  if (item == null) return;
  var parent = item.OwnerItem as ToolStripMenuItem;
  RecursiveShowDropDown(parent);
  parent?.ShowDropDown();
}

たぶんこれでいける。
でもエンターキーでクリックした場合の操作性に問題が残るけど

925 名前:デフォルトの名無しさん mailto:sage [2019/02/23(土) 19:24:23.57 ID:gzY/wSmba.net]
こっちの方がいいか
EventHandler eh = (sender, e) =>
{
  Action<ToolStripMenuItem> a = null;
  a = item =>
  {
    if (item == null) return;
    var parent = item.OwnerItem as ToolStripMenuItem;
    a(parent);
    parent?.ShowDropDown();
  };
  a((ToolStripMenuItem)sender);
};
ToolStripMenuItem1.Click += eh;

926 名前:デフォルトの名無しさん mailto:sage [2019/02/24(日) 03:15:52.41 ID:pRL7US30a.net]
>>899
無事できました
ありがとうございます!

927 名前:デフォルトの名無しさん mailto:sage [2019/02/24(日) 11:47:42.69 ID:L3+XvQB40.net]
質問です
現在、以下のように一つの非同期処理(時間のかかるディスクの書き込み)
を実行しています。

private async void button1_Click(object sender, EventArgs e)
{
 await DoSomethingAsync();
 MessageBox.Show("完了");
}

これを実行中にUIを操作して、次の処理の準備ができたら(実行する内容はDoSomethingAsync)
button1を押して予約し、実行中の処理が終わったら引き続き実行させたいです。(並列ではなく)
また、「完了」は登録されたタスクが全て終わったときに出したいです。
どのように書くのが一般的なのでしょうか?


初回実行時にすべての実行すべきタスクがわかっている場合は
そのタスクのリストを作ってWhenAllする みたいなのはググったら出てきたんですが

ContinueWithを使うのかなと思ったのですが、書き方がわかりませんでした

928 名前:デフォルトの名無しさん mailto:sage [2019/02/24(日) 11:58:25.65 ID:u2ta9zSf0.net]
Queue<T>を使えば良いんじゃね

929 名前:デフォルトの名無しさん mailto:sage [2019/02/24(日) 12:36:22.83 ID:cR8EPyISM.net]
>>902
最後に追加したTaskを覚えておいてContinueWithで繋ぐとかできなくはないけど、
そんな変なハックをするくらいなら素直に別スレッド立てて順番にバックグラウンド実行したほうがいい
Producer-Consumerでググれ

930 名前:デフォルトの名無しさん mailto:sage [2019/02/25(月) 11:09:41.10 ID:a5srEHrc0.net]
c#のフォームで、タイルマップエディタのようなものを作りたいのですが、どのような情報を調べたらいいでしょうか
また、そのような目的に適したフォームはありますか?

そもそもC#が適切なのかわからないのですが

931 名前:デフォルトの名無しさん mailto:sage [2019/02/25(月) 11:41:19.60 ID:2iFL+VGx0.net]
>>90結局Unityになるんやろなあ

932 名前:デフォルトの名無しさん mailto:sage [2019/02/25(月) 12:13:30.45 ID:kHS+5sOB0.net]
VisualStudioでデバッグ実行した時だけプログラムがフリーズしてしまうのですがこういう時はどういった原因が考えられるでしょうか?
WinFormを使用していてフォームが立ち上がったらバックグラウンドで色々するって感じの処理なのでどこかでUIスレッドをブロックしているのかとも思いましたがConfigureAwait(false)の設定し忘れは無さそうでした
VisualStudioを通さずに直接実行した場合は正常に動作しています

933 名前:デフォルトの名無しさん mailto:sage [2019/02/25(月) 13:05:26.46 ID:fW706uYI0.net]
とりあえずフリーズした時に「すべて中断」して
どこでブレイクされるか確認
ついでにスレッド一覧を見てみる



934 名前:デフォルトの名無しさん mailto:sage [2019/02/25(月) 13:15:34.63 ID:O8+i9ARHp.net]
>>908
それを試そうとしたのですが全て中断しても中断出来ない状況です
中断押すとVS自体もフリーズしてタスクマネージャーからプログラムを終了しないと復帰出来なくなります

935 名前:デフォルトの名無しさん [2019/02/25(月) 15:41:31.91 ID:stIKiSPsF.net]
最前面じゃなくて後ろ面にアクティブウィンドウがポップアップされてるんじゃね

936 名前:デフォルトの名無しさん mailto:sage [2019/02/25(月) 19:11:52.07 ID:ERkCIkZda.net]
>>902
単純にボタンをクリックした回数だけ非同期メソッドを実行したいだけなら
これでいいような気が

private bool mBusy = false;
private int mRepeatCount = 0;

private async void button1_Click(object sender, EventArgs e)
{
  mRepeatCount += 1;
  if (mBusy) return;
  mBusy = true;
  for (int i = 0; i < mRepeatCount; i++)
    await DoSomethingAsync();
  mBusy = false; mRepeatCount = 0;
  MessageBox.Show("全部終わった");
}

937 名前:デフォルトの名無しさん mailto:sage [2019/02/25(月) 19:17:48.39 ID:61uBElrFd.net]
>>907
俺はエディタでヒント表示させただけで落ちるけど。Blendなら使えてる。

938 名前:デフォルトの名無しさん mailto:sage [2019/02/26(火) 06:14:33.14 ID:hTJo4mxi0.net]
https://i.imgur.com/NCB8nLP.jpg
c#をデバッグするとこのようなエラーが出るのですが、どこを改善すればいいかヒントをください

939 名前:デフォルトの名無しさん mailto:sage [2019/02/26(火) 06:21:28.31 ID:byKZhMZS0.net]
>>913
dllのパス

940 名前:デフォルトの名無しさん mailto:sage [2019/02/26(火) 07:34:07.95 ID:hTJo4mxi0.net]
↑ありがとうございます
.NET Core Launch (console)
というデバッガを使っているので、
"program": "${workspaceFolder}/bin/Debug/<insert-target-framework-here>/<insert-project-name-here>.dll",
という部分を修正するのだと思いますが、どう修正するんでしょうか?
実行したいプログラムを{workspaceFolder}/Program.csと指定してもエラーになります

941 名前:デフォルトの名無しさん mailto:sage [2019/02/26(火) 07:53:17.80 ID:U5FDQ2yTd.net]
>>915
いやだからcsじゃなくてdllだってば

942 名前:デフォルトの名無しさん mailto:sage [2019/02/26(火) 07:54:10.15 ID:U5FDQ2yTd.net]
ログにもちゃんと出てるはず

943 名前:デフォルトの名無しさん mailto:sage [2019/02/26(火) 08:00:35.55 ID:H+xdnOpD0.net]
>>915
プログラミングするなら英語は必須だから、「何だか分からないこと言ってる!」とか思わずにちゃんと読みな。



944 名前:デフォルトの名無しさん mailto:sage [2019/02/26(火) 08:41:24.11 ID:hTJo4mxi0.net]
>>916
c#なのにDLLなんですか?
このDLLのパスは何をしてるんですか?

945 名前:デフォルトの名無しさん mailto:sage [2019/02/26(火) 08:50:05.00 ID:UlQR9ttEM.net]
普通にVisualStudio(Codeじゃないやつ)ダウンロードして知識付けてから挑戦しろよ
邪魔だよ

946 名前:デフォルトの名無しさん mailto:sage [2019/02/26(火) 09:40:46.12 ID:7RJrl9MrM.net]
小学校でプログラミング教育でも受けてろ

947 名前:デフォルトの名無しさん mailto:sage [2019/02/26(火) 09:54:59.60 ID:s7Q5fSFO0.net]
>>909
そうなるともう新しいプロジェクトに今のを段階的に移していってどこで再現するか確認するかなぁ

948 名前:デフォルトの名無しさん mailto:sage [2019/02/26(火) 10:57:10.09 ID:s7Q5fSFO0.net]
>>919
とりあえずエクスプローラなりコンソールなりvscodeとは別に開いて
プロジェクトフォルダのbinフォルダの配下を確認
どこかにビルド結果のdllが作られてるから

うちはいつの間にかPlatformって環境変数が定義されてたせいで
HPDとかいうフォルダが1個挟まってたぞ

949 名前:デフォルトの名無しさん mailto:sage [2019/02/26(火) 10:58:52.43 ID:RV1beKRS0.net]
こっちへどうぞ
Visual Studio Code / VSCode Part5
https://mevius.5ch.net/test/read.cgi/tech/1541649564/

950 名前:デフォルトの名無しさん mailto:sage [2019/02/26(火) 11:47:10.27 ID:7Gbx8Ae00.net]
>>922
ありがとうございます
とりあえず特定のメソッドを呼ばなければ大丈夫ということがわかったのでデバッグモードでは呼ばないようにして対策することにしました

951 名前:デフォルトの名無しさん mailto:sage [2019/02/26(火) 11:58:57.74 ID:hTJo4mxi0.net]
>>923
デバッグできました 余計なフォルダが挟まっていました
指定してやらないといけないんですね ありがとうございました

952 名前:デフォルトの名無しさん mailto:sage [2019/02/26(火) 12:16:54.99 ID:vuJi7+izd.net]
どういたしまして

953 名前:デフォルトの名無しさん mailto:sage [2019/02/26(火) 12:29:03.14 ID:CYrridvRd.net]
>>923
それDELLやろ



954 名前:デフォルトの名無しさん mailto:sage [2019/02/26(火) 12:29:38.62 ID:CYrridvRd.net]
>>924
そっちはスレチ

955 名前:デフォルトの名無しさん [2019/02/28(木) 00:37:24.74 ID:weUa1N+o0.net]
setterメソッドで文字列が8文字以下ならname変数に引数を代入する文を書きたいんですけど
どのように書けばいいんでしょうか?

956 名前:デフォルトの名無しさん mailto:sage [2019/02/28(木) 00:51:58.07 ID:ucEMLrR20.net]
private string name;
public void SetName( string name )
{
 if ( name.Length <= 8 )
 {
  this.name = name;
 }
}

957 名前:デフォルトの名無しさん mailto:sage [2019/02/28(木) 00:55:51.76 ID:ucEMLrR20.net]
セッターよりもプロパティで良い気がする

private string name;
public string Name
{
 set
 {
  if ( value.Length <= 8 )
  {
   this.name = value;
  }
 }

 get
 {
  return this.name;
 }
}

958 名前:デフォルトの名無しさん mailto:sage [2019/02/28(木) 01:05:38.31 ID:weUa1N+o0.net]
>>931
ありがとうございますー
lengthを使うとint型とstringをオペランドに比較が使えるんですね
覚えておきます

959 名前:デフォルトの名無しさん mailto:sage [2019/02/28(木) 08:14:05.87 ID:3CdGs56rM.net]
>>933
> lengthを使うとint型とstringをオペランドに比較が使えるんですね
言いたいことはなんとなくわかるけどほんとに理解してるのか不安になる文章だな

960 名前:デフォルトの名無しさん mailto:sage [2019/02/28(木) 12:10:16.83 ID:2lomOid8M.net]
8文字越えた場合や
検証属性の話をと思ったけど自重

961 名前:デフォルトの名無しさん [2019/02/28(木) 19:23:03.02 ID:owSMuOWF0.net]
Windows.Forms の質問です。
TextBox 数個と MenuStrip に サブメニューのない MenuItem を追加したFormで
Altキーでメニューを選択すると、
カーソルキーの上下でTextBoxのフォーカスが移動するのですが
どういった理由でしょうか?

962 名前:デフォルトの名無しさん mailto:sage [2019/02/28(木) 20:29:09.92 ID:1IHH1hzPa.net]
>>936
Menuに反応してるのでは?

963 名前:936 mailto:sage [2019/02/28(木) 20:50:40.99 ID:DAgKUWMjM.net]
うーん
ショートカットキーの設定ができるので
ツールバーの代わりに使おうと思ったんですが
予想外のキモい動きで躊躇してます



964 名前:デフォルトの名無しさん mailto:sage [2019/02/28(木) 21:20:30.71 ID:560qka060.net]
ドロップダウンしないのは想定してないだろう

965 名前:デフォルトの名無しさん [2019/03/01(金) 12:58:28.41 ID:ozM8zBQ90.net]
この本おすすめですか?
https://www.amazon.co.jp/dp/4774187585

966 名前:デフォルトの名無しさん mailto:sage [2019/03/01(金) 19:45:05.46 ID:MA7hbDcR0.net]
JS
hoge([[1,2,3], [4,5,6]]);

C#
hoge(new int[,] {{ 1,2,3 }, { 4,5,6 }});

javascriptみたいにnew付けないで渡せないですか?
paramでは2次元がだめでした。

967 名前:デフォルトの名無しさん mailto:sage [2019/03/01(金) 21:07:24.70 ID:tVNocw1h0.net]
サイドバーについてなんですが、例えばgimpというソフトがあるのですが、両サイドにツールやレイヤーが表示されています
このように領域を分けるコントロールを教えてください
win form c#です

これはもう1つフォームを追加してるんでしょうか?

968 名前:デフォルトの名無しさん mailto:sage [2019/03/01(金) 21:59:18.22 ID:ORsij5/P0.net]
>>942
フォームの枠の中に配置・移動させるのならVisual Studioでデザイナ画面+ツールボックスの「コンテナー」のカテゴリの好きなものを
フォームの枠の外やはみ出して使いたいものには別のフォームを割り当て、というのが基本じゃないかな
GimpはCだからどうやっているかは知らないけど

969 名前:デフォルトの名無しさん mailto:sage [2019/03/02(土) 05:28:46.45 ID:QccNqZJQ0.net]
別フォーム使った場合でもドッギングなど可能ですか?
だとすれば分けたほうが作業しやすそうですが

970 名前:デフォルトの名無しさん mailto:sage [2019/03/02(土) 10:41:05.28 ID:29oPzrI/0.net]
GTKでやればいいじゃない

971 名前:デフォルトの名無しさん [2019/03/02(土) 11:00:56.30 ID:+L4gK20KF.net]
>>940
超初心者か池沼向け

普通の人はwebで充分

972 名前:デフォルトの名無しさん [2019/03/02(土) 11:02:23.80 ID:+L4gK20KF.net]
GTKは糞

973 名前:デフォルトの名無しさん mailto:sage [2019/03/02(土) 11:07:40.19 ID:QccNqZJQ0.net]
>>945
win formではドッギングや分離はできないのですか?
また、別フォームと同じフォームでやるのとではどちらが都合がよいでしょうか



974 名前:デフォルトの名無しさん mailto:sage [2019/03/02(土) 11:11:23.26 ID:PVVyhIVEM.net]
>>948
出来るよ。

975 名前:デフォルトの名無しさん mailto:sage [2019/03/02(土) 11:12:34.80 ID:PVVyhIVEM.net]
>>948
ttps://dobon.net/vb/dotnet/links/dockingwindow.html

976 名前:デフォルトの名無しさん mailto:sage [2019/03/02(土) 11:22:59.87 ID:Flko+1Y10.net]
市販のinfragisticsのドッキングウインドウが楽チンだったわ

977 名前:デフォルトの名無しさん mailto:sage [2019/03/02(土) 18:42:16.44 ID:QccNqZJQ0.net]
Form1からForm2を呼び出すとき、こういう記述をしますが、変数の型がどうしてForm2なんでしょか?varじゃエラーです
Form2 form2 = new Form2();
form2.Show();

978 名前:デフォルトの名無しさん mailto:sage [2019/03/02(土) 19:06:17.17 ID:QSGa9wbhp.net]
そのform2クラスは君が作ったんじゃないのか?

979 名前:デフォルトの名無しさん mailto:sage [2019/03/02(土) 19:09:49.50 ID:euLZafKS0.net]
取り敢えずエラーの内容を読めよ

980 名前:デフォルトの名無しさん [2019/03/02(土) 23:01:13.05 ID:XIaahVa70.net]
学習のために、確保した変数がスタックかヒープかどっちにあるのか知りたいんだけどさあ
簡単にチェックする手段ってないんかな?

981 名前:デフォルトの名無しさん mailto:sage [2019/03/02(土) 23:08:52.67 ID:20MtSIx6a.net]
メモリダンプ系のツール使えばいいよ
昔の話だがメモリ上のオブジェクトグラフを可視化してGC絡みのバグをデバッグした事がある

982 名前:デフォルトの名無しさん mailto:sage [2019/03/02(土) 23:10:49.78 ID:nONug4XP0.net]
"変数が"ってことなら変数の型が参照型か値型か
要はコンパイルの時点で判断できる
IntelliSenseでclassかstructを見れば良い話に思えるが

983 名前:デフォルトの名無しさん mailto:sage [2019/03/02(土) 23:19:19.07 ID:20MtSIx6a.net]
box



984 名前:デフォルトの名無しさん mailto:sage [2019/03/02(土) 23:33:08.46 ID:D0+5Vwwl0.net]
>>953
ワロタ

985 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 02:27:49.98 ID:6iGgKGSXa.net]
>>957
それは違うと思うw

986 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 03:54:21.90 ID:uu9okAeO0.net]
>>953
Form2というプロジェクトを作りましたが、これがクラスになるんですか?
この変数型はどういう意味ですが

987 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 07:00:37.71 ID:cg06QXcyM.net]
>>957
w

988 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 07:50:47.21 ID:+cu7OMqU0.net]
>>961
一回チュートリアルなり
入門書とか入門サイトなりやってみろと

989 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 08:42:41.37 ID:uu9okAeO0.net]
winformでノードエディタは作れますか

990 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 08:49:23.89 ID:+cu7OMqU0.net]
>>964
いいからForm2わかったのかよ []
[ここ壊れてます]

992 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 08:57:36.29 ID:2YvY5qRC0.net]
>>964
クラスがなんなのかわかっていないお前には無理
上にも同じ事書かれてるけどまず入門書を読め

993 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 09:55:03.51 ID:uu9okAeO0.net]
↑入門サイトで勉強してます



994 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 11:33:30.33 ID:lodoh91K0.net]
>>967
もしかして、ろくに経験もなく基礎も理解しないまま作りたいものを作り始めて、わからないときだけサイトで情報拾ってどうにかなると思ってないか?
ある程度基礎ができているか理解力のある奴ならそれでもいいが、君には無理だ。
ちゃんと金出して真っ当な入門書を買って、面倒がらずに順を追って基礎から身に付けてこい。

995 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 12:00:57.01 ID:fal7gHDn0.net]
質問した人は回答にフィードバックくらいしろよ
質問スレでフィードバックせずに次の質問って論外

996 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 12:07:11.30 ID:+cu7OMqU0.net]
いいや
そいつのクソレスなどいらん
入門サイトやら入門書を1ページでも前へ進めろ

997 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 13:48:10.30 ID:Nfj27eon0.net]
そうだな。独習3版でも一回読み切る事をお勧めするよ

998 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 18:14:45.95 ID:7I/UY/410.net]
>>964
ファイラー作るとか言ってた人だよね
コピペ以外で何か作ることはできたの?
作れずに諦めて次できそうなもの見つけて質問するの繰り返しでしょ

999 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 23:49:50.24 ID:DRmEmwqA0.net]
君の作ったプロジェクトの内容なんて分からんよ。
プロジェクト内のソースを探せばForm2クラスを宣言してるんじゃないの?

Visual Studioは色々自動生成して、色々隠蔽してるからオプジェクト指向が理解し難い。
一旦動いたら、全てのソースファイルをメモ帳で開いて動きを解析してみる。
全ては一度には理解できないから、オプジェクト指向の説明本を読む。
やっぱり理解できないけど、ソースを読み解くって繰り返すと段々理解できてくる。

1000 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 23:50:45.69 ID:DRmEmwqA0.net]
アンカー忘れた。
>>961さんへ

1001 名前:デフォルトの名無しさん mailto:sage [2019/03/04(月) 19:07:44.29 ID:RIX3InQp0.net]
WinXPのスタートメニューのように、ContextMenuStripのToolStripItemにDrag&Dropって出来ますか?
ToolStripItemのAllowDropをTrueにしても、ToolStripItemのDragEnterイベントが発生しないのですが。
VC++2008を使用しているのですが、ToolStripItemのプロパティ窓にはAllowDropもDrag関連のイベントも 表示されていないので、コードで記述しているのですが、もともとサポートしていない?

1002 名前:デフォルトの名無しさん mailto:sage [2019/03/04(月) 20:54:01.14 ID:+WeHVjLY0.net]
>>975
試してないけどdocsには
https://docs.microsoft.com/ja-jp/dotnet/api/system.windows.forms.toolstripmenuitem?view=netframework-4.7.2
DragDrop ユーザーが項目をドラッグし、マウス ボタンを離したとき (つまり、項目がドロップされたとき) に発生します。 (Inherited from ToolStripItem)
https://docs.microsoft.com/ja-jp/dotnet/api/system.windows.forms.contextmenustrip?view=netframework-4.7.2
DragDrop ドラッグ アンド ドロップ操作が完了したときに発生します。 (Inherited from Control)

ってなっているからContextMenuStripのは期待通り動作しそうだけどToolStripItemのは項目自体のものだから単独では無理かと
どうしてもやるのならContextMenuStripのほう使ってMouseMoveか何かでカーソルと項目の位置確認しながらやるとか
その前にContextMenuStripがFocusの移動とかで閉じないようにClosingのイベントの設定なども当然必要
もう一回書くけど試してないし試す気もないので責任も取らないw

1003 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 20:50:34.30 ID:nLVidvZ50.net]
来月からASP.Net初めて触るんだけど
何から始めればいいの?
MVCとかそういう単語と理論とか??



1004 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 21:09:43.18 ID:oLv4eGw30.net]
>>977
ASP.NETにもいろいろあるんだけど…
とりあえずテンプレートをビルドして動かしてみるところから

1005 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 21:11:48.41 ID:1+PBsWw4M.net]
>>977
君が業務ドカタなら、たぶん君がやることになるのはASP.NET MVCでもASP.NET CoreでもなくClassic ASP.NET(WebForms)
Webの知識皆無でも最低限形だけでもWebアプリを作れるようにしたフレームワークで、
WinFormsでメモ帳モドキくらい作ったことがあれば楽勝だから何も心配いらない

1006 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 21:15:44.81 ID:oLv4eGw30.net]
>>979
ASP.NET MVCなんじゃね?
知らんけど

1007 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 21:26:05.38 ID:1+PBsWw4M.net]
>>980
MVCの意味も知らない子が投入されるような現場でASP.NET MVCなんか使ってるかねえ
まあ物好きな前任者が一人で作ってたシステムだったりするとあるかもね

1008 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 21:26:41.18 ID:D2mtoqngM.net]
逃げる心配はしてもいいかも

1009 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 21:43:37.08 ID:xU8Jrq3Z0.net]
>>981
前やった40画面くらいの小規模プロジェクトがMVCでしたわ
メンバーのほとんどがjs?css?c#?LINQ?な素人で激アツだった

1010 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 21:52:08.74 ID:MehlFqwY0.net]
Webは覚えることが多すぎて禿げちゃうから
学習コストが低いらしいBlazorに期待してる

1011 名前:デフォルトの名無しさん [2019/03/06(水) 23:01:29.39 ID:wF9IXRdCr.net]
asp.net core使って開発したいがまだまだ実用レベルではないんだろうな
そう思うと開発頓挫しそうで使えない

1012 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 23:15:31.66 ID:b1gJEqu2a.net]
普通に使えるよ
英語読めないジャップにとっては永遠に実用にはならないだろうけど

1013 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 23:19:16.57 ID:07omsi5cM.net]
〇〇Coreはバージョンアップで平気で互換性切ってくるから、受託開発では使っちゃいけない代物
ソースを手放さずいつでも自己責任で弄れる事業形態向け



1014 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 01:08:41.43 ID:tnYmqFtJ0.net]
>>985
もう既に実運用してるけど
そろそろ3年だしさすがにね

1015 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 01:09:12.20 ID:tnYmqFtJ0.net]
>>987
おじいちゃんはずっとCOBOL使ってればいいと思うよ

1016 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 01:28:00.03 ID:rQAOToBLM.net]
>>989
こればっかりは老害とかそういう話じゃなくて業界構造の問題だからね
米国のシステム開発は内製が主流であり、基本的に自己責任だから改修のハードルが低いの
それに合わせてMSの開発者向けプロダクトも変化を許容する方向へ変わってきていて、
もはや日本のSIには全く適さないものになってしまってるんだよ

1017 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 01:59:57.04 ID:1eeIEHnS0.net]
OSSとか向こうから来るもんは全部そうだね
人身売買なんかやってたら理解できない文化ばっかり

1018 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 05:24:03.06 ID:rQAOToBLM.net]
OSSに対する考え方は顕著な例だね
受託開発においてOSSのライセンスを受ける主体は開発会社じゃなくてユーザー会社だから、
当然、開発会社が使用したOSSは全てユーザー会社に把握させてユーザー会社自身が承認しなければならない
これは事業形態上完全に正当で必須なプロセスであり、時代遅れとかそういう問題ではない
NuGetやNPMなどのパッケージマネージャで依存関係として勝手に入ってくるOSS全てに対してこのプロセスを適用するのは事実上不可能

1019 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 06:32:35.38 ID:6L3KEJfe0.net]
次スレが立ってないようなので立ててくる

1020 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 06:36:57.49 ID:6L3KEJfe0.net]
次スレ
mevius.5ch.net/test/read.cgi/tech/1551908141/
msdnのリンクはdocsに変更しといた

1021 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 07:20:20.11 ID:Zl7f22uA0.net]
>>986
日本に住んでるなら日本語使えや、英語なんて翻訳すりゃあいいんだよ。フランス人を見習え

1022 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 07:51:25.69 ID:KDtWvu+2a.net]
>>995
英語出来ない言い訳ww

1023 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 08:33:12.38 ID:AIEkzJHxd.net]
>>990
Googleと比べてみ



1024 名前:デフォルトの名無しさん [2019/03/07(木) 08:51:22.28 ID:p9S7AU5B0.net]
インターネット創世記の頃は情報共有とか甘い言葉が飛び交ったが
最近ではやっぱスキルやノウハウといった知的財産情報は
対価を払って手に入れるべきだと思うようになった
ネットでただで手に入れたいなら英語くらい読めよって話だな

1025 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 09:10:26.28 ID:0euQyoSb0.net]
1000

1026 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 09:10:41.65 ID:0euQyoSb0.net]
1000!

1027 名前:1001 [Over 1000 Thread.net]
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 81日 22時間 3分 34秒

1028 名前:過去ログ ★ [[過去ログ]]
■ このスレッドは過去ログ倉庫に格納されています






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<273KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef