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


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

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



1 名前:名無C mailto:sage [2019/03/07(木) 06:35:41.12 ID:6L3KEJfe0.net]
!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)

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

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

■関連スレ
C#, C♯, C#相談室 Part93
mevius.5ch.net/test/read.cgi/tech/1492818720/
■前スレ
ふらっと C#,C♯,C#(初心者用) Part141
mevius.5ch.net/test/read.cgi/tech/1544839627/
■コードを貼る場合は↓を使いましょう。
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/index
https://docs.microsoft.com/en-us/dotnet/standard/class-libraries
referencesource.microsoft.com/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured

736 名前:デフォルトの名無しさん mailto:sage [2019/05/05(日) 18:53:42.23 ID:IBoHsNppa.net]
>>724
調子のんなよ重箱の隅つつきマン

737 名前:デフォルトの名無しさん mailto:sage [2019/05/05(日) 18:55:47.24 ID:Q2loWuJOM.net]
>>726
lockとMutexのパフォーマンスのベンチ比較して
結果を出せよ
それまで書き込みするな

738 名前:デフォルトの名無しさん mailto:sage [2019/05/05(日) 19:00:35.89 ID:IBoHsNppa.net]
>>727
はぁ?
言い出しっぺのてめーがパフォーマンス一番良いミューテックスのベンチ出せや
一番ってんならロックと比較なんてケチくせえこと言わんで他の排他制御機構とも比較しろよ?

739 名前:デフォルトの名無しさん mailto:sage [2019/05/05(日) 19:00:46.75 ID:Q2loWuJOM.net]
どう見ても間違っている内容で煽られると人はどう思うのか
どう考えても仕組み上Mutexのほうが遅い

740 名前:デフォルトの名無しさん [2019/05/05(日) 19:07:06.98 ID:1Pm7tIcB0.net]
>>725
普通に取得できるのを待ってるな
まあ、ロックが取得できるまで制御を戻したりはしておらんわ

741 名前:デフォルトの名無しさん mailto:sage [2019/05/05(日) 19:12:25.48 ID:uudMW5nw0.net]
>>730
だよね
ちょっと調べてるけど
普通の排他処理組んでおきたくて

lock
ReaderWriterLockSlim
UpgradeableReadLock

なんか普通の排他処理したいだけなのに
たくさん出てきちゃったぞ
これ全部使っても
ん?排他処理できてんのか?
って疑問が晴れない
この言語非同期処理の対応手薄なんだよねまだ
時期尚早として触らんことにしたw

742 名前:デフォルトの名無しさん [2019/05/05(日) 19:21:47.99 ID:1Pm7tIcB0.net]
LockやMutexは初心者本の範囲内だからしらんのはまずいよ

743 名前:デフォルトの名無しさん mailto:sage [2019/05/05(日) 19:45:53.31 ID:VmrJwxHQM.net]
非同期のチートシートないの?

744 名前:デフォルトの名無しさん mailto:sage [2019/05/05(日) 19:57:32.38 ID:LYwUBfu90.net]
https://qiita.com/tadokoro/items/28b3623a5ec58517d431
測った人によると
nterlocked > lock > SemaphoreSlim > Semaphore > Mutexだってさ



745 名前:デフォルトの名無しさん [2019/05/06(月) 02:20:35.00 ID:wkmj+bF20.net]
並列処理なら.netなんだからF#でSTM使え。
何で関数型言語が注目されたんだよ。
並列処理に有利だからだろ。

746 名前:デフォルトの名無しさん mailto:sage [2019/05/06(月) 04:59:30.75 ID:wr9bFPpT0.net]
マルチスレッドなんか無理!
だから、Ruby の人は、Elixir を使う

作るのに何百年も掛かる、人類の成果、Erlang VM + Ruby = Elixir。
ErlangVMを、Rubyでラップしたもの

Elixirの小プロセスなら、10万プロセスも余裕!
パイプラインと同じ

関数型だから状態を持たない。
ただ、データを変換していく関数をつなげていくだけ!

747 名前:デフォルトの名無しさん mailto:sage [2019/05/06(月) 07:40:48.06 ID:WDjCowqB0.net]
>>736
Rubyにマルチスレッドは、無理!
RubyはいわゆるGILといって、同時に複数のスレッドが走らないような排他制御がVMレベルでかかっている
これはVM自体がスレッドセーフでないクソ実装であることに起因する制約である
もちろんC#にはそんなものはないし、ベンチマークだとErlangより速い

748 名前:デフォルトの名無しさん mailto:sage [2019/05/06(月) 12:19:36.88 ID:zGa1jTsu0.net]
Windows8.1/10の令和対応アップデートでWinFormsの画面レイアウトが崩れるらしいね

749 名前:デフォルトの名無しさん mailto:sage [2019/05/06(月) 12:48:42.80 ID:w2Z6VwVJ0.net]
お前んとこのWinformsいつもレイアウト崩れてんな

750 名前:デフォルトの名無しさん mailto:sage [2019/05/06(月) 12:59:34.99 ID:rtkPFZMSd.net]
>>738
俺のとこも昨日発生した
AutoScaleModeをNoneにして対応できたから令和のせいではないと思う

751 名前:デフォルトの名無しさん mailto:sage [2019/05/06(月) 13:02:49.51 ID:4h7Vjk7HM.net]
>>739
は?崩れてねーし
OKボタンが画面外にいって押せないだ

752 名前:けだ []
[ここ壊れてます]

753 名前:デフォルトの名無しさん [2019/05/06(月) 21:06:24.34 ID:Gi+4ls7q0.net]
画面レイアウトがクソみたいに崩れたぞ死ねや

754 名前:デフォルトの名無しさん mailto:sage [2019/05/06(月) 21:19:39.33 ID:Gi+4ls7q0.net]
>>740
どうやってやるのそれ?
visual studio開いた時点ですでに崩れてて手動で戻すしかなさそうなんだが。

【警鐘】[改元][Windows][.NET] 「令和」対応パッチで画面が横に伸びる、文字が見切れる ― Windows Update 手動更新はちょっと待った方がいい
https://qiita.com/CodeOne/items/22004635d3c7cc533e5e



755 名前:デフォルトの名無しさん mailto:sage [2019/05/06(月) 21:32:21.57 ID:lj/6a9HB0.net]
>>743
デザイナ表示壊れてんのなら.Designer.csの中身書き換えるしかないんじゃね
AutoScaleMode.FontをAutoScaleMode.Noneに全部置換したらいい

756 名前:デフォルトの名無しさん [2019/05/06(月) 21:39:51.78 ID:Gi+4ls7q0.net]
>>744
ありがとう
form1.csのデザインのAutoScaleModeをNoneにしたけど何も起こらなかったからあきらめてたけど、そっちを修正したら解決したわ。

757 名前:デフォルトの名無しさん mailto:sage [2019/05/07(火) 00:11:46.09 ID:HkLoI6gC0.net]
>>740
令和を1文字で表すやつのために、フォントをいじったんだが、そのときに既存の文字の幅が変わったらしい
なのでまあ、令和対応のせいだと言えばそうなんじゃね

つか明日からどれだけ影響出てるか考えると鬱だわ

758 名前:デフォルトの名無しさん mailto:sage [2019/05/07(火) 01:24:56.82 ID:A2KlUElc0.net]
納期直前でGW返上してる最中にこの不具合対応しなきゃいけなくなってかなりイラッとした

759 名前:デフォルトの名無しさん mailto:sage [2019/05/07(火) 08:16:44.51 ID:h85TWq9Qa.net]
https://devblogs.microsoft.com/dotnet/introducing-net-5/
.NET Framework 終了のお知らせ
Coreへ移行できないドカタは永遠に4.xに取り残されることが決定したようだ

760 名前:デフォルトの名無しさん mailto:sage [2019/05/07(火) 08:55:31.55 ID:H2EGG+st0.net]
>>748
すげーな。20年以降毎年バージョン上がる予定か
2020 .net5
2021 .net6
2022 .net7
2023 .net8

.net4で停滞した10年とは一体

761 名前:デフォルトの名無しさん mailto:sage [2019/05/07(火) 08:58:10.52 ID:Q8AOfbVkd.net]
Java interoperabilityって何なんだよ…

762 名前:デフォルトの名無しさん mailto:sage [2019/05/07(火) 09:30:59.37 ID:n4vre8LhM.net]
>>748
出来損ないは過去に葬った方が世の中のためだぁ

763 名前:デフォルトの名無しさん mailto:sage [2019/05/07(火) 10:21:58.95 ID:vw5zJnlq0.net]
バージョンを頻繁に上げるのは、
成熟していないってことでは?

764 名前:デフォルトの名無しさん mailto:sage [2019/05/07(火) 11:33:46.06 ID:4Mlb2ms50.net]
FrameworkからCoreに移行できないのはどういう場合ですか?



765 名前:デフォルトの名無しさん mailto:sage [2019/05/07(火) 11:59:10.66 ID:25JpTCOf0.net]
え、winformはどうなるの??

766 名前:デフォルトの名無しさん mailto:sage [2019/05/07(火) 12:06:04.60 ID:b+Ix+FO0a.net]
最近のmicrosoftかなり攻めてるな

767 名前:デフォルトの名無しさん mailto:sage [2019/05/07(火) 13:10:26.59 ID:eYh/lhy30.net]
.net frameworkからcoreなんてどこかちょろっといじったらいいだけじゃないの?
VB6からVB.netほどの変化はないんだろ?

768 名前:デフォルトの名無しさん mailto:sage [2019/05/07(火) 13:37:50.62 ID:9iRY6hHtM.net]
>>753
そんなワケのわからんもん使こて何かあったらどないすんねん!責任取れるんかい!
わりとこれ

769 名前:デフォルトの名無しさん mailto:sage [2019/05/07(火) 13:46:35.16 ID:9CwYXDcE0.net]
別に移行しなくてもいいですけど保守には特別料金いただきまっせ

770 名前:デフォルトの名無しさん mailto:sage [2019/05/07(火) 13:47:55.21 ID:Q8AOfbVkd.net]
>>756
Web FormsはほぼUI作り直し

771 名前:デフォルトの名無しさん mailto:sage [2019/05/07(火) 13:50:03.67 ID:9iRY6hHtM.net]
あと技術的な最大の障害はWebFormsだろう
WebFormsは.NET Coreではサポートされてないし、される気配もない
既存資産の移行もさることながら、.NETドカタはWebForms頼りで標準的なWeb開発のスキルを持たない奴も多い
彼らはWebアプリケーションの開発が不可能になり、路頭に迷うことになる

772 名前:デフォルトの名無しさん [2019/05/07(火) 17:00:19.52 ID:1tK/VkfG0.net]
すまんが、Stream型って前の方だけメモリを解放するとか器用なことは出来ないの?

773 名前:デフォルトの名無しさん mailto:sage [2019/05/07(火) 19:17:09.01 ID:9iRY6hHtM.net]
>>761
意味不明
お前の考えはどうでもいいから具体的に何が問題になっているのか、もしくは何が気になっているのか書け

774 名前:デフォルトの名無しさん mailto:sage [2019/05/07(火) 19:23:08.04 ID:VnMa5nf90.net]
Stream型ってなんか確保してんの?



775 名前:デフォルトの名無しさん mailto:sage [2019/05/07(火) 19:29:05.20 ID:n4vre8LhM.net]
Streamの実装によるだろ

776 名前:デフォルトの名無しさん mailto:sage [2019/05/07(火) 21:03:30.48 ID:FJj2rymy0.net]
>>761
Streamクラスは抽象クラスだけど、MemoryStreamクラスを想定してるのかな。
何となくMemoryMappedFileクラスが要望に合ってるような気がする。

777 名前:デフォルトの名無しさん [2019/05/08(水) 21:27:25.44 ID:4kxgmlsqa.net]
C#でwindowsPCのマイク音量設定を設けたアプリを作りたいんですが情報がいまいち出てきません
今現在どのような方法が推奨として使われているのでしょうか

778 名前:デフォルトの名無しさん mailto:sage [2019/05/08(水) 21:33:29.28 ID:UPhx/0uCM.net]
おとなしくNAudioと言うのを使いなさい

779 名前:デフォルトの名無しさん [2019/05/09(木) 20:00:37.76 ID:25KQckNoa.net]
>>767
ありがとうございます
調べてみます!

780 名前:デフォルトの名無しさん [2019/05/10(金) 07:09:33.41 ID:8h0VP8xa0.net]
RPgエディタみたいなタイルマップを配置する機能を作る場合、画像を配置するフォームは何が適切でしょうか?
前にも聞いた気がするんですが、レスを忘れてしまって、、、

781 名前:デフォルトの名無しさん mailto:sage [2019/05/10(金) 07:45:25.60 ID:guXEw79XM.net]
モデリングソフトに決まってんじゃん
2Dでもプラグインあるからプロならモデリングソフト

個人製作ならエクセルで代用しとけ

ってスレ違うやん

782 名前:デフォルトの名無しさん mailto:sage [2019/05/10(金) 07:46:35.31 ID:guXEw79XM.net]
いや、すまん、質問内容取り違えてたw
ピクチャーボックスで

783 名前:デフォルトの名無しさん mailto:sage [2019/05/10(金) 08:14:45.00 ID:uov0WiW1d.net]
>>769
Panelを継承したカスタムコントロールのOnPaint内で描画する事だな

784 名前:デフォルトの名無しさん [2019/05/10(金) 12:26:08.70 ID:8h0VP8xa0.net]
>>771
ピクチャボックスですね
毎回忘れちゃうです



785 名前:デフォルトの名無しさん mailto:sage [2019/05/10(金) 17:41:55.34 ID:ZtjlRqB/0.net]
質問するだけで自分でやらないから忘れるんだよ
>>772
継承させる意味が分からないしOnPaintならPanelでなくてもいい

786 名前:デフォルトの名無しさん [2019/05/10(金) 18:53:28.94 ID:8h0VP8xa0.net]
visual studioのhddへのアクセスは制限できますか?
激重です
SSDにしろって話ですけどね

787 名前:デフォルトの名無しさん [2019/05/10(金) 19:04:05.18 ID:8h0VP8xa0.net]
>>774
picturebox自体を何個も並べるんですか?
picturebox1つの中に複数の画像を並べるですか?

788 名前:デフォルトの名無しさん mailto:sage [2019/05/10(金) 19:28:03.03 ID:tfYAY6pzM.net]
>>776
どっちでもいいよ
どのみち今の君のレベルで作ってもまともに使い物になるようなものにはならないから、うだうだ考えるより手の届く範囲で経験値を積んだ方がいい
行き詰まる頃にはだいぶレベルが上がってるはずだから、また作り直す
三周目くらいになればまともに作れるようになってるよ

789 名前:デフォルトの名無しさん mailto:sage [2019/05/10(金) 19:30:30.41 ID:uRQk/IXU0.net]
3週でいけるのだろうか?

790 名前:デフォルトの名無しさん [2019/05/11(土) 12:14:17.95 ID:kDrnBD/r0.net]
低レベルな質問で申し訳ないのですが、循環バッファって凄い便利だから
全ての配列は循環バッファで実装すればいいと思うのですが、デメリットはあるんでしょうか?
Delete
Insert
Add
が全てO(1)で出来るって凄くないですか?

791 名前:デフォルトの名無しさん mailto:sage [2019/05/11(土) 12:25:39.14 ID:E3skkYkSM.net]
>>779
俺は必要になったことないよ
どんなときにいいの?

792 名前:デフォルトの名無しさん mailto:sage [2019/05/11(土) 12:30:42.30 ID:qR2J3ArJM.net]
下手の考えなんとかつってなー
高レベルになってから言ってくれ

793 名前:デフォルトの名無しさん [2019/05/11(土) 12:39:31.51 ID:td9YBJ3L0.net]
>>779
>***全ての配列は***循環バッファで実装

配列のままの方が良い場合もあるが
そうしたいならそうすればいい

ただし配列以外の構造が必要になるケースでは使えないぞ

794 名前:デフォルトの名無しさん mailto:sage [2019/05/11(土) 12:56:33.31 ID:4CcYolMU0.net]
>>779
トークンリングとイーサネットの
違いを理解してから再度質問を



795 名前:デフォルトの名無しさん mailto:sage [2019/05/11(土) 12:59:31.48 ID:aDjFJI/sa.net]
>>779
Addは、reallocationを考慮しても償却定数時間で出来そうだが
Delete, InsertがO(1)だというソースをくれ、「末尾」という指定がない以上任意位置だよな?
途中要素をDelete,Insertしたら要素の詰め直しが必要でO(N)になると思うんだが
O(N)になるならList<T>で十分という話になる

796 名前:デフォルトの名無しさん [2019/05/11(土) 13:05:46.01 ID:DR+jkhoz0.net]
続きはこちらでどうぞ

【O(n)】計算量の評価方法について【O(log n)】
https://mevius.5ch.net/test/read.cgi/tech/1363854937/

797 名前:デフォルトの名無しさん mailto:sage [2019/05/11(土) 13:06:24.02 ID:aDjFJI/sa.net]
考え直したらQueueやStackのことを言っている気がしてきた
それらのデータ構造がもうあるんだからそれ使えば良いんじゃね

798 名前:デフォルトの名無しさん mailto:sage [2019/05/11(土) 15:39:49.17 ID:8cYUuN//0.net]
すべての配列は〜というのが考え方が
そもそも乱暴で

目的に合わせてデータ構造を選ぶものじゃ

799 名前:デフォルトの名無しさん mailto:sage [2019/05/11(土) 16:14:40.10 ID:MBpEq5nf0.net]
Visual C#で電卓を作ってます。
ある数字ボタンをクリックしたとき、(Button)sender).TextでTextran欄の文字を取得できますが
クリックではなく、キーボード入力で同様にしたいのですが、どうすればできますか?

800 名前:デフォルトの名無しさん mailto:sage [2019/05/11(土) 16:26:29.83 ID:VR7g318H0.net]
>>788
KeyPressやKeyDownなどのイベント
ただし該当するコントロールにFocusされてないと反応しないのでフォームで全部受けるようにするとはかどる
https://dobon.net/vb/dotnet/form/keypreview.html

801 名前:デフォルトの名無しさん [2019/05/11(土) 17:24:06.36 ID:qy13k0f30.net]
System.Drawing.Bitmap bmp = new System.Drawing.Bitmap(@"C:\Users\◎◎\Desktop\volly.gif");
this.pictureBox1.Image = bmp;

パスについてなのですが、相対パスは使えないということがあるんでしょうか。相対パスだとパラメータが違うというエラーが出ます。
フォームアプリケーションなので、form1.csにコードを書いています
form1.cs
img(フォルダ)
└volly.gif
という構造になっています

しかし、img\volly.gif
だとエラーになります
何が悪いでしょうか。

802 名前:デフォルトの名無しさん mailto:sage [2019/05/11(土) 17:26:35.03 ID:Q2bK8ZXg0.net]
>>790
.\img\volly.gifじゃね?

803 名前:デフォルトの名無しさん mailto:sage [2019/05/11(土) 17:31:33.00 ID:vfaLavs00.net]
実行時のカレントフォルダーが合ってないと思う

804 名前:デフォルトの名無しさん mailto:sage [2019/05/11(土) 17:56:52.10 ID:lpN0Lm9o0.net]
デバッガでブレイクしてイミディエイトウィンドウとかで
Environment.CurrentDirectory確認すると良いよ



805 名前:デフォルトの名無しさん mailto:sage [2019/05/11(土) 18:25:33.06 ID:dxU2Wm5sa.net]
>>790
相対パスとかの以前の問題

実際の環境にimgフォルダが作られているか?
*.exeと言った実行ファイルのある場所を見てみたらいい

多分作られてないしその

806 名前:にgifファイルも作られてない []
[ここ壊れてます]

807 名前:デフォルトの名無しさん mailto:sage [2019/05/11(土) 18:56:38.28 ID:VR7g318H0.net]
>>790
>>794を参考にするべきだけどパスの位置を確認したいのなら読み込む前のところで
MessageBox.Show(System.IO.Path.GetFullPath(@"img\volly.gif"));//指定しようとしているパスを入れる
とでも入れとけばその相対パスがどこを指しているのか絶対パスが表示される
相対パスはソースファイルの位置からじゃなく実行ファイルの位置から作られる

808 名前:デフォルトの名無しさん mailto:sage [2019/05/11(土) 19:09:02.07 ID:vfaLavs00.net]
>>795
> 相対パスはソースファイルの位置からじゃなく実行ファイルの位置から作られる
これは正しくないよ。その時のカレントフォルダが基準。
何もしていなければ多くの場合は実行ファイルの場所と一致するから、結果としてそうなることが多いけど。

809 名前:デフォルトの名無しさん mailto:sage [2019/05/11(土) 19:52:49.57 ID:VR7g318H0.net]
>>796
それならexeと同じディレクトリのところから使うには
System.IO.Path.GetDirectoryName(Application.ExecutablePath)とか使って必ず絶対パスに直さないと危ないってことか

810 名前:デフォルトの名無しさん [2019/05/12(日) 10:29:51.59 ID:zQc98Y8H0.net]
Console.WriteLine(System.Environment.CurrentDirectory);
としても出力には何も出てこないのですか?
出てこないです
作業フォルダっていうのはform1.csとは別のファイルのことなんですね

811 名前:デフォルトの名無しさん mailto:sage [2019/05/12(日) 10:48:00.86 ID:NzWVi3Qm0.net]
console覗くか
traceあたりに出力しないとでは

812 名前:デフォルトの名無しさん [2019/05/12(日) 10:52:27.58 ID:zQc98Y8H0.net]
おっ いけました
'2d_engine.exe' (CLR v4.0.30319: 2d_engine.exe): 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\mscorlib.resources\v4.0_4.0.0.0_ja_b77a5c561934e089\mscorlib.resources.dll' が読み込まれました。モジュールがシンボルなしでビルドされました。
これで正しいのかわからないですが、なんで実行ファイルがこんな場所にあるんでしょうか。プロジェクト内にあるのかと思ってましたが

813 名前:デフォルトの名無しさん mailto:sage [2019/05/12(日) 10:53:02.25 ID:M17KJIhd0.net]
>>798
WinFormsアプリはそのままではConsoleを使用できない
Consoleを自分で準備すれば使えるが、通常は使わないかな

フォルダ(≒ディレクトリ)とファイルは違うぞ

814 名前:デフォルトの名無しさん mailto:sage [2019/05/12(日) 11:02:52.23 ID:NzWVi3Qm0.net]
謎は解けた



815 名前:デフォルトの名無しさん mailto:sage [2019/05/12(日) 11:03:02.94 ID:PIRDu/CH0.net]
>>800
その絶対パスは実行ファイルじゃない
その表示されているところにConsole.WriteLineで書き込んだ内容出てくるはず

816 名前:デフォルトの名無しさん mailto:sage [2019/05/12(日) 11:04:19.53 ID:JwWGS0EoM.net]
空のコンソールアプリ作ってそこで実行して

817 名前:デフォルトの名無しさん mailto:sage [2019/05/12(日) 11:06:21.31 ID:JwWGS0EoM.net]
そのgifファイルは実行ファイルが作られた場所に自動でコピーされてないので
コピーされるようにgifファイルの設定帰るしかない

818 名前:デフォルトの名無しさん mailto:sage [2019/05/12(日) 11:08:55.17 ID:M17KJIhd0.net]
>>800
勘違いしてる。Console使わず、
MessageBox.Show( System.Environment.CurrentDirectory );
ってやってみてよ。

819 名前:デフォルトの名無しさん mailto:sage [2019/05/12(日) 11:35:01.56 ID:1UlYWsgm0.net]
>>800
カレントディレクトリはexeのあるディレクトリとは別物だからです
System.AppDomain.CurrentDomain.BaseDirectory
を使ってください

820 名前:デフォルトの名無しさん mailto:sage [2019/05/12(日) 11:42:27.50 ID:Zs5BDDrj0.net]
AllocConsole() してみなされ

821 名前:デフォルトの名無しさん mailto:sage [2019/05/12(日) 11:46:33.54 ID:7nn+3/Jt0.net]
>>800
プログラムの実行ファイルがある場所とは別に、プログラムの実行時に「どのフォルダでプログラムを実行するか」という概念があるのは分かる?

822 名前:デフォルトの名無しさん mailto:sage [2019/05/12(日) 11:49:29.62 ID:PIRDu/CH0.net]
先生多すぎて混乱してそうw

823 名前:デフォルトの名無しさん [2019/05/12(日) 13:55:38.46 ID:zQc98Y8H0.net]
混乱してるんで一度整理します

824 名前:デフォルトの名無しさん mailto:sage [2019/05/12(日) 14:13:47.11 ID:PIRDu/CH0.net]
そもそもカレントディレクトリを表示させる必要があるのか?
画像をPictureBoxに表示するのが目的じゃなかったのか



825 名前:デフォルトの名無しさん [2019/05/12(日) 15:18:28.27 ID:zQc98Y8H0.net]
そうなんですが、そのために相対パスを設定したいんです
絶対パスでも別に不自由しないですが、ソフトを作るときは相対パスも使う

826 名前:ニ思うので []
[ここ壊れてます]

827 名前:デフォルトの名無しさん mailto:sage [2019/05/12(日) 15:40:46.00 ID:Q+XtJRAz0.net]
>>790
VisualStudioでF5実行やデバッグをすると(何も設定を変えてなければ)ビルド出力先がカレントディレクトリになる
相対パスでエラーになる原因はビルド出力先にimg\volly.gifが存在しないから
なのでimg\volly.gifをビルド出力先にコピーしてやれば相対パスで読み込めるようになる

プロジェクトエクスプローラーでimg\volly.gifを右クリックしてプロパティを開いて
「ビルド時のアクション」を「なし」に変更
「出力ディレクトリにコピー」を「新しい場合はコピーする」に変更
これでビルドすると出力先フォルダにimg\volly.gifがコピーされるようになる

828 名前:デフォルトの名無しさん mailto:sage [2019/05/12(日) 15:41:40.00 ID:CayLEbz10.net]
>>813
実は業務ではカレントディレクトリをあてにした動作はさせない
なぜなら制御できないから
なので相対パスをプログラムで取得したら
自分が基準とするディレクトリパスと自力で連結させて絶対パスにして使う

829 名前:デフォルトの名無しさん mailto:sage [2019/05/12(日) 15:43:12.88 ID:Q+XtJRAz0.net]
画像ファイルがたくさんあって1こ1こ設定するのがめんどくさい場合は
imgフォルダを右クリックして同じようにコピーの設定をする
そうすれば1つの設定でフォルダごとまるごとコピーしてくれる

830 名前:デフォルトの名無しさん mailto:sage [2019/05/12(日) 15:54:06.76 ID:0iYfvooEa.net]
まあ、そもそも特に理由がなければ画像ファイルはリソースに突っ込むべきだね。

どうしても生の画像ファイルを使いたいならソリューションエクスプローラーからプロジェクトに追加して
プロパティウィンドウの「出力ディレクトリにコピー」の値を「常にコピーする」にすれば
ビルトすると自動的に実行ファイルと同じディレクトリにコピーされるようになる。

ディレクトリの階層を作りたいならソリューションエクスプローラ上で階層を作れば
それがそのまま反映されてコピーされる。

実行ファイルのディレクトリはこれで
https://docs.microsoft.com/ja-jp/dotnet/api/system.windows.forms.application.startuppath

831 名前:デフォルトの名無しさん mailto:sage [2019/05/12(日) 16:00:55.91 ID:xH15WcK+a.net]
OpenFileDialogなどを使うだけでカレントディレクトリは変わるし
EXEのショートカット経由で起動する場合は任意のカレントディレクトリ位置に出来るし
他プロセスからWorkingDirectory設定無しで起動される場合も考えたりすると
プログラム中で内部的に相対パスを保持するのは構わないけど
IO系APIを呼び出す時は、AppDomain.BaseDirectoryなどと結合して絶対パスにしてから渡したほうがいい

832 名前:デフォルトの名無しさん [2019/05/12(日) 16:17:07.77 ID:zQc98Y8H0.net]
なるほど
自分で絶対パスを1つ決めて、そこを起点にすると

833 名前:デフォルトの名無しさん [2019/05/12(日) 17:07:03.34 ID:zQc98Y8H0.net]
関係ないんですけど、コードってどこに保存してますか?
普通にテキストエディタに保存してますけど

834 名前:デフォルトの名無しさん mailto:sage [2019/05/12(日) 17:15:13.31 ID:Zs5BDDrj0.net]
大事な物は心の中に



835 名前:デフォルトの名無しさん mailto:sage [2019/05/12(日) 17:22:08.37 ID:O1RPDIWFM.net]
>>820
一般的にはGitを使ってGitHubで管理する
だけど今の君のレベルではそんなのは必要ない
今の君のレベルで書いたコードなんて一ヶ月後にはゴミであり、大切に保存する価値などない
一ヶ月後のレベルの上がった君から見ればゴミだという意味であり、決して悪い意味じゃないから勘違いするなよ

836 名前:デフォルトの名無しさん [2019/05/12(日) 17:25:13.38 ID:zQc98Y8H0.net]
自分の環境の場合、プロジェクトフォルダ\bin\debug\hoge.exe
という場所に実行ファイルが作られるようです
Cフォルダの直下あたりに作られるという説明がされちえますが、何か間違ってますかね
//カレントディレクトリの取得
MessageBox.Show(System.IO.Directory.GetCurrentDirectory());
場所ってのは自動的に決まる感じですか

837 名前:デフォルトの名無しさん mailto:sage [2019/05/12(日) 18:06:37.88 ID:hmzYcUWua.net]
>>823
日本語で
何を言ってるのかさっぱり分からんよマジで

838 名前:デフォルトの名無しさん mailto:sage [2019/05/12(日) 18:42:19.48 ID:Mxa5Iz6jd.net]
>>822
gitサーバーはいろいろ使われてるのにGitHubが一般的は言いすぎだろw

839 名前:デフォルトの名無しさん mailto:sage [2019/05/12(日) 18:49:55.29 ID:JwWGS0EoM.net]
この人はソースをテキストエディタに保存していると言ってるから
iOS使いなんだろうなと思う

840 名前:デフォルトの名無しさん mailto:sage [2019/05/12(日) 19:28:54.08 ID:eC5ErjVyd.net]
壮大な計画立てて時間だけがかかって何も完成させられない典型的な例

841 名前:デフォルトの名無しさん [2019/05/12(日) 19:36:30.99 ID:zQc98Y8H0.net]
すみません
がんばります

842 名前:デフォルトの名無しさん mailto:sage [2019/05/12(日) 22:05:40.63 ID:TmkC4DiT0.net]
LINQ勉強しててよくわかんないんですけど範囲変数ってあれ事前に宣言しなくていいんですか?
マイクロソフトのサンプルとか見ても例えばselect score in scoresとか出てきてscoreどこから出てきたってなるんですけど
全体的な印象ですけど、SQLはちょろっとかじったので列名無いのにSQLっぽく書いてるLINQってなんかしっくりこないんですよね……

843 名前:デフォルトの名無しさん mailto:sage [2019/05/12(日) 22:31:12.34 ID:RcOwQ/d80.net]
>>829

Linqはクエリ式よりメソッド構文の方がとっつきやすい。
クエリ式はSQLに似てるけど、C#の文法に照らすと異質だしな

scores.Select(score => ・・・);

scoreはどこから出てきたの?ってことならまずはラムダ式からじゃないかな

844 名前:デフォルトの名無しさん mailto:sage [2019/05/12(日) 22:31:33.06 ID:5S2KiOuR0.net]
まずLINQとクエリ構文は別物だぞ
> select score in scores
select句はクエリ構文の最後に抽出するものを指定するんだからこんなのはあり得ない
select句じゃなくてfrom句だろう
scoreはそのクエリ構文内で使うローカル変数的なものなんだからクエリ構文内で出てくるのが当たり前

列名が無いってのは単に数値の配列とか相手にしてるからじゃね
SQLは二次元相手にしか使わないがLINQ/クエリ構文は1次元相手にも使えるからな
scoresがclass Score { public string Name; public int Value; }の配列とかなら
from score in scores
select score.Value
みたいに「列名」が出てくる

あと重要なことだが、クエリ構文は使いどころがあんまり無い
基本的にLINQには拡張メソッドを使う



845 名前:デフォルトの名無しさん mailto:sage [2019/05/12(日) 22:32:12.36 ID:tDx5/mlf0.net]
>>829
メソッド式使えよ

846 名前:デフォルトの名無しさん mailto:sage [2019/05/12(日) 22:33:30.63 ID:tDx5/mlf0.net]
SQLでもテーブルの別名使ったりするやろ

847 名前:入門者 mailto:sage [2019/05/13(月) 07:59:49.56 ID:W1wujo120.net]
https://ideone.com/mKdtnM
独習C#のコードなんですが170行目のshapes[i].Nameは何故実行出来てるのでしょうか?
Nameプロパティには何も記述がないのですが・・

848 名前:デフォルトの名無しさん mailto:sage [2019/05/13(月) 08:25:11.57 ID:mnyzhKg9a.net]
>>834
https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/classes-and-structs/auto-implemented-properties

849 名前:デフォルトの名無しさん mailto:sage [2019/05/13(月) 08:29:59.30 ID:V/EVdZRD0.net]
>>834
それを学ぶのがその章の目的じゃないの?

Nameプロパティの定義は71行目

163行目のshapes[0].Nameは引数で指定された"right"がセットされる。
164行目のshapes[1].Nameは省略時引数により139行目のコンストラクタを経由して"rectangle"がセットされる。
165行目のshapes[2].Nameは省略時引数により134行目のコンストラクタを経由して"rectangle"がセットされる。
166行目のshapes[3].Nameは省略時引数により106行目のコンストラクタを経由して"trizngle"がセットされる。

850 名前:入門者 mailto:sage [2019/05/13(月) 08:34:33.58 ID:W1wujo120.net]
>>836
そうなのですが
でもvalueで代入してないのに何故Nameプロパティが機能してるのか分からなくて…
setとgetの中身を記述しなくてもプロパティは機能するのですか?

851 名前:デフォルトの名無しさん mailto:sage [2019/05/13(月) 08:52:41.32 ID:VAfV6Qs50.net]
public string Hoge { get; set; }

private string _Hoge;
public string Hoge { get { return this._Hoge; } set { this._Hoge = value; } }
の省略構文みたいな感じになる
(実際にはこの_HogeはC#からアクセスできない名前にコンパイルされる)

852 名前:デフォルトの名無しさん mailto:sage [2019/05/13(月) 08:57:28.04 ID:WhpQbL/L0.net]
>>837
string Hoge { get; set; } は自動実装プロパティと呼ばれるもので、
内容は>>838の通り。

853 名前:デフォルトの名無しさん mailto:sage [2019/05/13(月) 10:05:53.21 ID:yzhNtOt8H.net]
ありがとうございました

>>831
https://docs.microsoft.com/ja-jp/dotnet/csharp/linq/query-expression-basics
そうですねfromの間違いでした失礼しました
「scoreはそのクエリ構文内で使うローカル変数的なもの」ってのは割としっくり来ました
「LINQ/クエリ構文は1次元相手にも使える」SQLとは全くの別物と考えて頭からっぽにして勉強しなおしたほうがよさそうですね

854 名前:デフォルトの名無しさん [2019/05/13(月) 15:49:43.81 ID:d2gOVbtC0.net]
vsを軽くするセッティングはないでしょうか?
重くなる原因はhddへのアクセスが100になってしまうからです
SSDはないです



855 名前:デフォルトの名無しさん mailto:sage [2019/05/13(月) 16:02:30.23 ID:UKQBojaO0.net]
object 型の変数 x に int 型にキャストできる型(short 型や byte 型など)の値が代入されているときに
その値を int 型にキャストしたいのですが、(int)x とすると InvalidCastException が投げられてしまいます。
x に代入されている値が例えば short 型だと分かっているなら (int)(short)x でうまくいくのですが、
この方法だといちいち値の型を調べる必要があるのでもっとスマートな方法があれば教えていただきたいです。
一応自分でも考えてみたところ int.Parse(x.ToString()) なら x の型によらずうまくいったのですが、
値の変換をするだけなのに文字列を経由するのはすごく無駄なことをしているような気がします。
よろしくお願いいたします。

856 名前:デフォルトの名無しさん [2019/05/13(月) 16:05:08.31 ID:d2gOVbtC0.net]
private void Form1_Load(object sender, EventArgs e)
{
var but = new System.Windows.Forms.Button();
but.Name = "button1";
but.Text = "押せ";
but.Location = new Point(0, 0);
but.Size = new System.Drawing.Size(80, 20);
Controls.Add(but);
}
コードでコントロールを追加したいのですが、ボタンは追加されませんでした
エラーでも出てくれればいいんですが、エラーは出ません
エラーは出ないけど、思い通りに動かない場合、何をヒントにしたらいいでしょうか

857 名前:デフォルトの名無しさん mailto:sage [2019/05/13(月) 16:07:12.88 ID:XGLfyuuud.net]
ググりゃいくらでも記事出てくるやんけ
そいつらは試したの?
自身の環境も書かない、何を試したかも書かない、知識不足なのに勝手に要因を決めつける
初めて質問するならまだしも散々してきといてそれ?

858 名前:デフォルトの名無しさん mailto:sage [2019/05/13(月) 16:08:41.09 ID:XGLfyuuud.net]
>>844
841に対して

859 名前:デフォルトの名無しさん [2019/05/13(月) 16:14:20.97 ID:d2gOVbtC0.net]
出てきました
場所が悪かったようです
ごめんなさい

860 名前:デフォルトの名無しさん mailto:sage [2019/05/13(月) 16:14:45.92 ID:UKQBojaO0.net]
>>843
そのコードをコピペして試してみたら私の方では問題なく表示されました。
そちらでうまくいかない原因は
・Form1_Load が呼び出されていない
・追加したボタンの上に別のコントロールが重なってしまっている
あたりではないでしょうか。

とりあえず Form1_Load が呼び出されているかどうかを確認するために
Form1_Load の最後に
MessageBox.Show("呼び出されてるよ"); を追加してみて、
メッセージボックスが表示されるかどうかを確認されてみてはいかがでしょうか。

861 名前:デフォルトの名無しさん [2019/05/13(月) 16:15:55.94 ID:d2gOVbtC0.net]
>>844
問題はhddへのアクセスです
これは公式のサイトでは、SSDへの交換を推奨しています
それ以外の手段はないかなと思って質問しました

862 名前:デフォルトの名無しさん [2019/05/13(月) 16:16:41.14 ID:d2gOVbtC0.net]
>>847
ありがとうございます
位置が0 0だと左側に隠れてしまうようでした

863 名前:デフォルトの名無しさん mailto:sage [2019/05/13(月) 16:23:36.93 ID:UKQBojaO0.net]
>>849
解決したようでよかったです。
私も勉強中の身なのでお互い頑張りましょう。

864 名前:デフォルトの名無しさん [2019/05/13(月) 16:31:17.78 ID:fb9Hu3lu0.net]
ついでに聞きたいんだけど、このボタンの描画ってUIスレッドで実行されることは保証されてるの?



865 名前:デフォルトの名無しさん mailto:sage [2019/05/13(月) 16:34:35.11 ID:VAfV6Qs50.net]
>>842
Convert.ToInt32

>>851
それがUIスレッドの仕事なんだけど、何を心配してるの?

866 名前:デフォルトの名無しさん mailto:sage [2019/05/13(月) 16:51:55.46 ID:UKQBojaO0.net]
>>852
まさに探していたものです!
最悪の場合、型ごとに場合分けしてキャストするメソッドでも
作ろうかと思っていたのですが、実にスッキリ解決できました。
どうもありがとうございました。

867 名前:デフォルトの名無しさん mailto:sage [2019/05/13(月) 17:46:32.42 ID:W1wujo120.net]
>>838-839
詳しくありがとうございます。
前の章にも書いてありました。自分の勉強不足でした…

868 名前:デフォルトの名無しさん [2019/05/13(月) 18:45:40.09 ID:cAHvDA7yF.net]
PCからのサウンド出力をイヤホンが刺さっている刺さっていないに関わらず、内部スピーカーかイヤホンか選択して出すにはどうしたらいいでしょう
NAudioを使っていろいろ試してるんですがうまくいきません

OS Windows10
サウンドデバイスがSpeakers/Headphones Realtek
だとサウンドデバイスがスピーカーとヘッドホンに分かれていませんが、これだと無理なのでしょうか

869 名前:デフォルトの名無しさん mailto:sage [2019/05/13(月) 19:00:08.34 ID:rRpVq2UzM.net]
それは間違った機能だから出来たとしても実装するな

イヤホンが刺さってたら絶対イヤホンで出せ

870 名前:デフォルトの名無しさん [2019/05/13(月) 20:12:51.62 ID:d2gOVbtC0.net]
public Form1()
{
MessageBox.Show("form1");
}

private void Form1_Load(object sender, EventArgs e)
{
MessageBox.Show("form2");
}

フォームアプリについてなんですが、この2つ関数の違いはなんですか?
タイミング的にはform1関数が先なんですが、どう使い分けるんでしょうか?

871 名前:デフォルトの名無しさん mailto:sage [2019/05/13(月) 20:22:07.84 ID:zDycstDZa.net]
>>857
先に言語の入門本やサイトなどを読むべき
そうすればクラス名と同一名のメソッドには特別な意味があることが分かるし
そのキーワードと一緒にイベント名で検索すれば関連する話題も出てくる

872 名前:デフォルトの名無しさん mailto:sage [2019/05/13(月) 20:29:22.69 ID:XGLfyuuud.net]
何度も何度も基礎からやれって言われてもずっとやらんのだからもう無理だと思う
こういうのが才能とかセンスみたいなもんなのかね

873 名前:デフォルトの名無しさん [2019/05/13(月) 20:29:39.44 ID:d2gOVbtC0.net]
調べた限りでは
フォームが作られるときと、作られて読み込まれたとき
という差でしょうか

874 名前:デフォルトの名無しさん mailto:sage [2019/05/13(月) 20:38:07.48 ID:jADcqpCya.net]
>>855
普通は物理的に切り替えている(ジャックにプラグを差し込むとSP出力が物理的に切断される)から無理でしょうww
恐らくソフトウェアでそれをやってるマシンはないと思うよ



875 名前:デフォルトの名無しさん mailto:sage [2019/05/13(月) 20:47:37.18 ID:XlJDR9UI0.net]
>>855
その機器のドライバにAPIでも無ければ少なくともC#では無理
ハードウェアの方から調べることでここで質問して答えられるようなものではないと思う
>>860
bbs.wankuma.com/index.cgi?mode=al2&namber=38433&KLOG=66
コンストラクタはクラスで必ずはじめに実行されるもの
イベントメソッドと分けて考えないと

876 名前:デフォルトの名無しさん mailto:sage [2019/05/13(月) 21:05:00.08 ID:0/Wah16u0.net]
>>857
だから入門用の本を読めと何度も言ってんだろうが

877 名前:デフォルトの名無しさん [2019/05/13(月) 21:38:52.34 ID:ZJ4TG7EAa.net]
>>856>>861>>862
ありがとうございます

無理ですか。。
Audio Switcherなるものがあるのでソフトウェアからの制御もなんとか出来るかと思ったのですが

878 名前:デフォルトの名無しさん mailto:sage [2019/05/13(月) 22:32:05.56 ID:jADcqpCya.net]
>>864
ハードウェア的にスプリッターを使ってライン出力かヘッドフォン出力を
二股で取り出せるようにする方が賢明でしょうね

100均で売ってるよ

879 名前:デフォルトの名無しさん mailto:sage [2019/05/13(月) 22:38:16.41 ID:lwKqLD9e0.net]
>>864
いや昔やったこと有るからできるんだが、昔過ぎてやり方思い出せんわ
Vistaからマスターオーディオの制御ができるAPIがWindows標準になっていて
当時見たソースの跡地だけ発見したわ
https://www.codeproject.com/Articles/18520/Vista-Core-Audio-API-Master-Volume-Control

880 名前:デフォルトの名無しさん mailto:sage [2019/05/13(月) 22:41:01.01 ID:lwKqLD9e0.net]
>>864
ググったらそれらしきもの在ったから、あとは自分で頑張ってくれ
mikeo410.minim.ne.jp/cms/~programmingcoreaudiointerface

881 名前:デフォルトの名無しさん mailto:sage [2019/05/13(月) 23:02:15.55 ID:jADcqpCya.net]
いやいやいやw
https://ja.wikipedia.org/wiki/%E3%83%95%E3%82%A9%E3%83%BC%E3%83%B3%E3%83%97%E3%83%A9%E3%82%B0
↑に説明付きの画像が出てるけど、要するにプラグが差し込まれると物理的にSP出力がオープンになる
構造に普通はなってるんで無理ですw

その辺テレビとかと何も違わないよ

882 名前:デフォルトの名無しさん mailto:sage [2019/05/13(月) 23:05:51.31 ID:0pB96hJZ0.net]
プラグが刺されるとオープンになるジャック使ってるのは、プラグが刺されたらスピーカーから音が鳴らなくて良いものだけだろ。
テレビでも最近のはそんなジャック使ってないわw
ジャックにプラグ刺されてるか判定してるだけ。

お前はどんなラジカセで書き込みしてるんだ?

883 名前:デフォルトの名無しさん mailto:sage [2019/05/13(月) 23:08:05.97 ID:jADcqpCya.net]
>>869
確認してから書いた方がいいよ。

特殊な業務用とかフィリップスみたいなところが作ってる超高級品は知らんけど、
大概のTVはそんなもったいぶったことしてないの。する意味がないでしょ

884 名前:デフォルトの名無しさん mailto:sage [2019/05/13(月) 23:16:14.24 ID:lwKqLD9e0.net]
>>870
WindowsだとUSB経由とかS/PDIDとか有るし、そこに必ずSPが繋がっているとも限らないから
音声の切り替えはソフトでやっているのよ
イヤフォンの切り替え機能って俺の記憶だとWindows10 が最初だよ



885 名前:デフォルトの名無しさん mailto:sage [2019/05/13(月) 23:26:37.35 ID:lwKqLD9e0.net]
>>870
あと、Windowsの機能で切り替えるのは標準の出力先だけだが、当然APIで標準以外の出力先に音声流すことも可能だ

886 名前:デフォルトの名無しさん mailto:sage [2019/05/13(月) 23:28:52.35 ID:jADcqpCya.net]
>>871
それはオーディオデバイスが複数ある時にどれを有効にするかって話と違うの?

あと、高級品のサウンドカードだと複数系統の出力があってそれぞれボリュームコントロールが
ついていたりするかもしれないが、そういうの使ってるならこんな質問してないと思うよ。

普通に考えてオンボードのサウンドしかついてない普通のPC前提の質問じゃないの?

887 名前:デフォルトの名無しさん mailto:sage [2019/05/13(月) 23:31:41.38 ID:jADcqpCya.net]
なんかググるとM/BによってヘッドホンとSP(ライン出力)が排他になってるのと
そうでないのがあるみたいだけど、質問者みたいに排他になってる場合は普通は
物理的に切り替えてるはずなんで、ソフトじゃどうにもならんと思うよ

888 名前:デフォルトの名無しさん mailto:sage [2019/05/13(月) 23:32:56.12 ID:lwKqLD9e0.net]
>>873
普通のパソコンだってUSBのデコーダー付けられるだろ
それがどうやって物理的に切り替えられるのか考えてくれよ
それと俺は音楽プレーヤーソフト作ったこと有るから、恐らくあんたよりは詳しい

889 名前:デフォルトの名無しさん mailto:sage [2019/05/13(月) 23:38:00.03 ID:jADcqpCya.net]
>>875
USB接続のオーディオデバイスを使ったら
M/Bのヘッドホンからはそもそも音が出ないと思うんだけどね普通は

複数のオーディオデバイスを同時に有効にして同じ音を出す、
なんて芸当できるんだっけ?

890 名前:デフォルトの名無しさん mailto:sage [2019/05/13(月) 23:40:11.66 ID:jADcqpCya.net]
光出力が付いてる場合は排他にできるわけないね確かに。
でも質問者がそういう環境ならこんな質問してないわな

891 名前:デフォルトの名無しさん mailto:sage [2019/05/13(月) 23:41:57.51 ID:lwKqLD9e0.net]
>>876
Windows10は普通にイアフォンとその他が切り替わるように仕様変更されている
勿論それがHDMI経由だろうがSP端子だろうが光出力だろうが

892 名前:デフォルトの名無しさん mailto:sage [2019/05/13(月) 23:43:53.50 ID:lwKqLD9e0.net]
>>877
つかWindows95の頃から、音声出力はソフトで切り替えるのが常識だよ
ハード的に変えるほうが寧ろ珍しい

893 名前:デフォルトの名無しさん mailto:sage [2019/05/13(月) 23:51:07.37 ID:jADcqpCya.net]
>>878
いやちょっと何を言ってるのか分からないんだけど、
ハードウェアがそうなってなきゃソフトがいくら頑張っても手も足も出ないのよ

質問者の環境はSP出力とヘッドフォン出力が排他的になってる環境で、
その切り替えは普通はメカ接点で物理的に行われるものだから、ソフトじゃどうしようもないよ

894 名前:デフォルトの名無しさん mailto:sage [2019/05/13(月) 23:55:36.69 ID:lwKqLD9e0.net]
>>880
少なくとも今はHDMI経由でテレビから音声流す機能は標準搭載されているから
年代物のパソコンを除けばデジタル音声出力機能は標準搭載だよ
それをどうやってイヤフォンと物理的に切り替えるのか考えたら無理だと判るでしょ
Windows10から自動切り替えはできるようになっているけど、当然ソフトで制御しているし
それをVista以降はAPIとしてプログラマーが簡単に触れるようになっている



895 名前:デフォルトの名無しさん [2019/05/13(月) 23:55:59.16 ID:ec7a7a6ia.net]
いやちょっと何を言ってるのか分からないんだけど、
メカ接点で物理的に行われるが、
SP出力とヘッドフォン出力が排他的になってるのは今時はソフトの設定でしょ?

896 名前:デフォルトの名無しさん mailto:sage [2019/05/13(月) 23:58:20.52 ID:jADcqpCya.net]
>>881
だーから、その場合は普通はM/Bのヘッドホンからは音出ませんよ。
M/Bのヘッドホン端子はオンボードのオーディオデバイスに繋がってるだから

>>882
今時も糞もないってだからw
M/Bのヘッドホン端子はオンボードのオーディオデバイスに繋がってて、メカスイッチでそれを
ライン出力(スピーカー)と切り替えてるだけなので

897 名前:デフォルトの名無しさん [2019/05/14(火) 00:00:01.39 ID:/tIovtjDa.net]
Mixer使えって話でしょ

898 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 00:04:48.16 ID:vkfPDW5o0.net]
>>882
サウンドミキサーってのがWindows95には既に付いていて、それで音声の切り替えとかマスターボリュームを制御していたから
XPまでのソフトでは大本の切り替えとか不可能だった
しかしVISTAから全てソフトから見えるようになって、ソフトごとにどの出力から出すなどの指定ができるようになった
同じパソコンでイヤフォンとスピーカーから違う曲を流すことさえやろうと思えばできるんだよ

899 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 00:06:27.49 ID:vkfPDW5o0.net]
>>884
Mixerを制御するAPIがVISTA以降に公開されたんだよ
C#から制御したことも有るし

900 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 00:14:28.54 ID:94a7CpYNa.net]
>>885
えーっとですねえ、だからそんな芸当はHWが対応してなきゃできないんだってw

標準的なPCのオンボードのオーディオデバイスはオーディオ出力が一つしかないので、
そんな芸当は逆立ちしても不可能ですw

物理的な出力端子の数 = オーディオ出力の数
ではないのよ。

901 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 00:14:35.14 ID:KlvEEe7u0.net]
win32apiスレにでも行ってくれ

902 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 00:15:52.53 ID:vkfPDW5o0.net]
UWPのMediaPlayerでもオーディオ出力先は好きなように変えることができる
https://docs.microsoft.com/ja-jp/windows/uwp/audio-video-camera/play-audio-and-video-with-mediaplayer

このページ内の「特定のオーディオ エンドポイントへの出力」ってのがピンポイントでは有るが、これはUWPのモジュールで最近WinFormsから使えるようになったが
まだ未完成な部分もあって割と面倒

ただ、同じことはAPIつかって地道に作ることもできるよ

903 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 00:20:22.84 ID:vkfPDW5o0.net]
>>>887
Windows10なら右下のスピーカーマーク押して「サウンド」ってのを選択すると出てくるダイアログで
「再生」ってタブを押せば、そのパソコンで使える音声出力先が出てくるが
出力が1つしか無いなんて化石のようなパソコンは見たことないわ
最低限スピーカーとイヤフォンとHDMIぐらいは付いている

904 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 00:22:45.62 ID:94a7CpYNa.net]
>>889
まあどっちにしろそれは質問してる人が聞きたいことと違うと思うよ。
質問者はアプリごとに別々のチャンネルに音を出したいって言ってるんじゃないからね。



905 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 00:25:02.63 ID:94a7CpYNa.net]
>>890
だから何度も同じことを言わせないで。
既定のオーディオデバイスは一つしか選択できない
だからHDMIのモニターから音を出すと普通は同じ音をM/Bのヘッドホン端子から
出力することはできないの

906 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 00:25:05.36 ID:vkfPDW5o0.net]
>>891
いや、889はイヤフォンが繋がっていてもスピーカーから音声を流す機能そのものだ
何も読んでいないだろ

907 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 00:26:26.04 ID:vkfPDW5o0.net]
>>892
HDIMIとパソコンのイヤフォン端子をどうやって物理的に切り替えるんだよ
普通にソフトで切り替える機能が標準でついているんだよ

908 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 00:27:34.01 ID:94a7CpYNa.net]
>>893
どこをどう読んだらそうなるのw
だから、何度も言うけどHW的に排他的になってたらソフトじゃどうにもならないってw

909 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 00:29:20.12 ID:94a7CpYNa.net]
>>894
ソフトで切り替える?
何を言ってるのか分からないよ。

単純な質問だ。
君のPCではHDMIのモニタを既定のサウンドデバイスに選択している時に、
同じ音をM/Bのヘッドフォン端子からも聞くことができるのかい?

できないってw
今まで知らなかったのか

910 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 00:30:46.74 ID:vkfPDW5o0.net]
>>895
string audioSelector = MediaDevice.GetAudioRenderSelector();
var outputDevices = await DeviceInformation.FindAllAsync(audioSelector);
foreach (var device in outputDevices)
{
var deviceItem = new ComboBoxItem();
deviceItem.Content = device.Name;
deviceItem.Tag = device;
_audioDeviceComboBox.Items.Add(deviceItem);
}

コンボボックスで指定した出力先に音声を切り替えているだろ
頭弱いねぇ

911 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 00:30:55.58 ID:94a7CpYNa.net]
もう寝るんで消えますおやすみ

912 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 00:32:36.55 ID:94a7CpYNa.net]
>>897
何を言ってるんだこの人。
その出力先っていうのはオーディオ出力のことであって
物理的な出力端子じゃないんだってば

どんだけメカ音痴なのマジで

913 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 00:33:11.08 ID:vkfPDW5o0.net]
>>896
それは質問と違うこと言っているよね
音声出力を標準以外からソフト制御で切り替えられるんだよ
VISTAからね

914 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 00:34:46.05 ID:94a7CpYNa.net]
もうボケ老人の繰り言だけど、だから普通のPCのオーディオ出力端子っていうのは
ヘッドホンとライン出力と2系統あるように見えるけど、実態は1つなんだよw

2つの別々のADCに繋がってるわけじゃないの。同じものをアナログ的に分配してるだけなの



915 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 00:35:23.50 ID:94a7CpYNa.net]
>>900
だからね、質問者はそんなこと聞いてないのよ

916 名前:Hルトの名無しさん mailto:sage [2019/05/14(火) 00:35:25.68 ID:vkfPDW5o0.net]
>>899
そこのdevice.Nameってのが「ヘッドフォン」だったり「HDMI」だったりするんだよ
あんたが知らないだけで10年前からソフトで切り替えられる

917 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 00:36:25.52 ID:++GJZRWf0.net]
Realtekのオーディオデバイスならイヤホン端子とスピーカー端子はH/Wで排他になってないわな
設定で排他にするか切り替えられたはず

918 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 00:41:10.69 ID:KlvEEe7u0.net]
話し合ってるレイヤーが違うんだよ
いい加減気付いて質問者のためになるレスをしてくれ
質問内容が不明瞭なら明確になる質問を返せ
想像で質問内容を決めつけて延々と罵り合ってるだけで肝心の質問は何一つ進展してないぞ

919 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 00:41:44.61 ID:94a7CpYNa.net]
>>903
もうダメだなこの人。

だから何度も言うけど、それはHWが対応してないとできないのよ。
何度も言うけど、普通のPCのスピーカーとヘッドホン端子は同一のオーディオ出力に繋がってるの。
別々のオーディオ出力に繋がってるんじゃないの。わかる?

次いでいうと、これも何度も書いてるが、それ質問者の質問と全然関係ないの。
質問者さんの質問はスピーカーとヘッドホンが排他的に切り替わるのが気に入らないから
ソフトで何とかできないか、だから。

何度もいうけど、普通のPCではHWで物理的に切り替えてるので不可能です

920 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 00:47:57.18 ID:vkfPDW5o0.net]
>>906
パソコンにHDMIは最低限付いているから、音声出力が1系統しか無いパソコンなど滅多にお目にかかれません
しかもUSBとかBluetoothとか音声を出す場所はいくらでもあるんだから、

921 名前:最低限ソフトでオフに出来ないと問題になる

つか1系統でイヤフォンとスピーカーが物理的に切り替わるだけしか出来ないパソコンって存在するのか?
例えば何ていうパソコンのことか具体的に名前出してくれ
[]
[ここ壊れてます]

922 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 00:49:56.17 ID:BJB1D/ui0.net]
落ち着け。どっちも正しい。
イヤホンジャックの接続を確認して他のサウンドデバイスを黙らせるハードウェアも有る。
時々出力先間違えるドライバが有るな。
再生デバイスの先でイヤホンジャックが物理的にスピーカー出力を切る装置も有る。

後者はソフトではどうしようも無い。

923 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 00:52:31.92 ID:94a7CpYNa.net]
>>907
何がいいたいの?
まったく意味が分からん
質問者さんが何を聞いてるか、もう一度落ち着いてよく考えてよ

924 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 00:58:48.14 ID:vkfPDW5o0.net]
>>909
イヤフォンつなげたままスピーカーから音声を流すAPIは存在するってことね
SPとHPが共有だったとしても、他に出力する先は色々有る
何故物理的に不可能だと言い切っちまうの?APIが存在するのにさ



925 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 01:06:05.42 ID:94a7CpYNa.net]
>>910
意味が分からないよ。
だから、誰も最初からそんな話してないって

何で一人で「アプリごとに個別の出力先に音声出力が可能か?」なんて
誰も問題にしてない話をしてるのよ

926 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 01:06:49.56 ID:94a7CpYNa.net]
どっからそんな話が出てくるのマジでw
ほんと意味わからんよ

927 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 01:18:14.50 ID:AtdtzVQx0.net]
読解力がないってパターン?

928 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 02:01:08.24 ID:mmoBBtY10.net]
ワロ

929 名前:デフォルトの名無しさん [2019/05/14(火) 05:43:28.06 ID:fttRH1Ml0.net]
>>862
関数とは言わないんですね

930 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 07:21:30.35 ID:es4OQUhe0.net]
>>870
たいがいのテレビもそうなってるよ。
確認してみた?自分ちのテレビ。

931 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 07:23:05.19 ID:es4OQUhe0.net]
>>876
それをやるのがオーディオミキサーじゃん?
昔ならsndvol32とか。

932 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 12:22:39.22 ID:HKF8AKPGa.net]
>>916
なってないよ。
そういや思い出したけど、大昔のテレビはイヤホンジャックが2つあったんだよな
で一つはSPの音を消さない仕様になっていた
普通に考えてその方が単純明快で親切だ

ヘッドをンを差し込んでも音を消さないためには、何とかボタン押して設定画面出して
この項目のアレを....
なんてまどろっこしいしヲタしか使えないしソフトもハードもコストがかかる

>>917
何か根本的に勘違いしてるんじゃないの?
それは同一のオーディオデバイスの複数の音源のボリュームを調整するんだよ。
複数のオーディオデバイスの音量を調整するんじゃないの。わかる?

他の人も書いてたと思うけど、ウィンドウズは複数のオーディオデバイスを持てるが、
既定のデバイスに設定できるのは一つだけだ(当たり前だけど)

933 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 13:04:21.56 ID:sprIIWlUd.net]
>>918
そんな安物使ってるのか。
普通はジャックの状態で選択してるだけで、物理的に切断はよほどローテクな機械しかやらんよ。
スマホにイヤホン刺してもスピーカーからも音鳴るっしょ。
PCでもそうなってるよ。普通は。
刺したら切り替わるだけ。排他ではない。
https://pcrepair.w-pickup.com/post-6263/
とか、
逆に、両方から鳴って困る事のQAもある。
https://www.fmworld.net/cs/azbyclub/qanavi/jsp/qacontents.jsp?PID=3908-4397

sndvol32はそのとおりだな、間違ってた、すまん。
出力デバイスを選ばにゃならんが、直接叩くなら別個に出力できたと思うけど。
具体的にはKernel Streamingで。

934 名前:デフォルトの名無しさん [2019/05/14(火) 13:29:10.73 ID:HHew+yI/0.net]
>>918
それイヤホンジャックじゃなくてLINE出力のことだろ?



935 名前:デフォルトの名無しさん [2019/05/14(火) 14:01:03.60 ID:xGjK1aQt0.net]
こんなところまでLINEが進出してるとは、韓国もやるな

936 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 15:22:49.71 ID:HKF8AKPGa.net]
>>919
TVはどうだか知らんけど、なるほどPCではソフトでヘッドフォン接続を検出して
SP出力を制御してるタイプもあるんだな。

これは素直に知らなかった。
自作用M/Bだとリアパネルの端子の接続をソフトで検出するタイプは昔から結構あったけど。

質問した人のPCがこういうタイプならドライバのユーティリティーで設定変えたら解決するね。
ノート含めメーカー製のPCの大半はこういうタイプじゃないと思うけど

937 名前:デフォルトの名無しさん [2019/05/14(火) 18:33:42.83 ID:fttRH1Ml0.net]
wpfとwinformどちらがいいのですか?
C#で検索するとほとんどはwinform向けのコードのような気がします
大部分は同じですけども

938 名前:デフォルトの名無しさん [2019/05/14(火) 18:50:04.03 ID:gmflVafJ0.net]
>>855です
色々と議論頂いて申し訳ないでした
しかしとても参考になりました
ありがとうございました

まさに>>919がやりたいことなんですが、自分がサウンドデバイスとAPIの関係性がいまいち理解不足な気がしますのでもう一度しっかり見直してみたいと思います

939 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 18:50:39.47 ID:rq13d1wo0.net]
>>923
絶対winform
wpfは資料なさすぎて辛いよ

940 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 18:51:24.71 ID:xTv9RSlG0.net]
>>923
どっちでもいいけどまあとっつきやすいのはWinFormじゃない

941 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 18:56:25.88 ID:zLBAV05La.net]
>>923
シンプルな画面ならwinformsかwpfどっちでもいい
複雑な画面ならwpf一択

942 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 19:02:22.19 ID:gEF4/DH4M.net]
>>923
デスクトップアプリ自体が時代遅れだから、基本的にはどちらもお勧めはできない。
しかしちょっとしたツールなんかで便利なことはあるから、覚えておいて損はないだろう。
その意味では断然WinFormsがお勧めだ。
WPFは習得コストが高く、デスクトップアプリという死んだ技術に対しては割に合わない。

943 名前:デフォルトの名無しさん [2019/05/14(火) 19:04:08.39 ID:fttRH1Ml0.net]
確かに調べた限りではwinformのほうがサンプルが圧倒的に多いですね
wpfは初学者にはきついかも、、

>>928
デスクトップアプリが時代遅れとはなんのことでしょうか
毎日使ってますが

944 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 21:07:11.88 ID:0h207dTD0.net]
横で申し訳ないのだけど、WinFormsが枯れて次に学習すべきは何がおすすめ?
とりあえず簡単な業務用アプリくらいは作ってますが(データベースと連携あり)
ASP.NETとかWebアプリに進むと、セキュリティの面でまた何かと面倒なのかなと躊躇しちゃう



945 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 21:23:53.52 ID:0tHpu3UbM.net]
時代はデータサイエンティストを求めてる

946 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 22:43:21.70 ID:++GJZRWf0.net]
>>924
Realtek HDオーディオマネージャーでやってるのは、
おそらくOSのAPIではなく
Realtekのドライバーの独自機能を直接呼び出してると思う

947 名前:デフォルトの名無しさん [2019/05/15(水) 00:23:39.11 ID:HTdksHae0.net]
C#関係ないな

948 名前:デフォルトの名無しさん [2019/05/15(水) 16:32:56.09 ID:VEpWlxZJ0.net]
wpf始めたんですが、画像の表示について教えてください
コントロールに紐付ける方法がわかりません

private void Window_Loaded(object sender, RoutedEventArgs e)
{

var bt = new BitmapImage();
bt.BeginInit();
bt.UriSource = new Uri(@"C:\Users\◎◎\Desktop\programing\vs_project\0_practice_project\tilemap_wpf\tilemap_wpf\img\1.png");
bt.EndInit();

}
ここまでは調べられたんですが、コントロールに紐付ける方法がわかりません
コントロールの種類はimageで名前はimage_mです。

資料少なめですね

949 名前:デフォルトの名無しさん [2019/05/15(水) 17:07:43.75 ID:VEpWlxZJ0.net]
できたです
ごめんなさい

950 名前:デフォルトの名無しさん [2019/05/15(水) 17:14:40.06 ID:VEpWlxZJ0.net]
>>934
このbegininitで初期化をコントロールの初期化をするという説明がされていますが、なぜこの作業が必要なんですか?
winformにはなかった手順なので、存在する意味がわかりません

951 名前:デフォルトの名無しさん mailto:sage [2019/05/15(水) 17:39:10.29 ID:tK1Lgxrc0.net]
自己解決したなら解決手法を書きましょう
winformとwpfは異なるものなので手順も異なります

952 名前:デフォルトの名無しさん mailto:sage [2019/05/15(水) 17:58:43.55 ID:WnxQfHPj0.net]
忠告されているのにわざと自分から沼にはまって助けを求める人

953 名前:デフォルトの名無しさん mailto:sage [2019/05/15(水) 18:44:30.38 ID:SVWj/8FLM.net]
自分が描いた迷路で迷うのもまた人生さ

954 名前:デフォルトの名無しさん mailto:sage [2019/05/15(水) 19:13:20.58 ID:le9v9LR70.net]
>>934
URL指定するだけで良いならnew BitmapImage(URL);でいいよ
ロード前に色々プロパティ設定したいならBeginInit使う
固定の画像ならXAMLで<Image Source="URL"/>だけでもいい



955 名前:デフォルトの名無しさん [2019/05/15(水) 19:58:30.74 ID:I+StC2Kj0.net]
>>932
ありがとうございます
引き続き色々と調べてますが未だ出来ていません

NAudioを使ってオーディオデバイスの取得をしていて、自分のイメージでは
オーディオデバイスをスピーカーとヘッドホンのそれぞれで取得して、どちらかを既定のデバイスとして設定してあげれば出来るのかな?と考えてたんですが
デバイスがSpeakers/Headphonesの一つしか取得できないのでPC側の出力状態になっているものしか制御できないのです
この辺りがHWの制約によるものなのかドライバの設定でなんとかなるのかを現在調査中です

956 名前:デフォルトの名無しさん [2019/05/15(水) 21:08:20.12 ID:VEpWlxZJ0.net]
>>940
引数 1: は 'string' から 'System.Uri' へ変換することはできません。
new BitmapImage(url)
で指定するとこのエラーが出ますが、参考ページありますか?

957 名前:デフォルトの名無しさん [2019/05/15(水) 21:28:23.64 ID:4Ta36StR0.net]
>>942
あなたは逆引き本を買って、コードをコピペしなはれ
それがええで

958 名前:デフォルトの名無しさん mailto:sage [2019/05/15(水) 21:50:05.54 ID:4NWqR2j00.net]
もう誰か雇って書いてもらえよ

959 名前:デフォルトの名無しさん mailto:sage [2019/05/15(水) 22:16:07.15 ID:QUEiJBNt0.net]
>>942
関係ないこと聞くけどググれない理由でもあるの?
System.Uriってキーワードは出ているし自分でも>>934でnew Uriのインスタンス作っているのに
BitmapImage
https://docs.microsoft.com/ja-jp/dotnet/api/system.windows.media.imaging.bitmapimage
System.Uri
https://docs.microsoft.com/en-us/dotnet/api/system.uri

960 名前:デフォルトの名無しさん [2019/05/16(木) 05:04:31.88 ID:lb5/XXvB0.net]
なんで一度uri変数に入れないといけないのですか?

961 名前:デフォルトの名無しさん mailto:sage [2019/05/16(木) 05:07:05.20 ID:fJS0gkuhM.net]
文句はMSに言っとくれ

962 名前:デフォルトの名無しさん [2019/05/16(木) 05:37:02.96 ID:lb5/XXvB0.net]
treeviewのノードなくなってますけどどうやってノード追加するんですかね

963 名前:デフォルトの名無しさん mailto:sage [2019/05/16(木) 06:42:10.65 ID:BUJhrwgQ0.net]
Ruby でも文字列から、URI オブジェクトを作る。
たぶん、他の言語でも同じだろ

require 'uri'

site = URI( "example.org/test.cgi?a=b&c=d" )

p [ site.scheme, site.host, site.port, site.path, site.query ]
#=> ["http", "example.org", 80, "/test.cgi", "a=b&c=d"]

# URL を抜き出す。
p URI.extract( "abc example.net/ xyz" )
#=> ["example.net/"]

964 名前:デフォルトの名無しさん mailto:sage [2019/05/16(木) 06:53:52.06 ID:teItWolR0.net]
URIとやらに便利なメソッドがいっぱいあるんだろう。知らんけど。



965 名前:デフォルトの名無しさん [2019/05/16(木) 07:06:03.55 ID:lb5/XXvB0.net]
>>949
そういうものなんですね
型を適切なものにしないといけないと
uriオブジェクトを作るという表現で少しわかった気がします

966 名前:デフォルトの名無しさん [2019/05/16(木) 08:42:14.73 ID:lb5/XXvB0.net]
>>949
例えば、urlが文字列とご認識されないようにこういう宣言をするってことでしょうか?

967 名前:デフォルトの名無しさん mailto:sage [2019/05/16(木) 09:09:54.35 ID:Ja6m86QIM.net]
>>952
突然Rubyを持ち出すこいつはこの板の名物キチガイだから触っちゃだめ
ちなみにRubyはゆるふわ言語だからURIを受け取る引数に文字列を渡してもだいたいなんとなく動くようになっている(そして後になって予期せぬ不具合の原因になる)場合が多い

968 名前:949 mailto:sage [2019/05/16(木) 09:11:37.63 ID:BUJhrwgQ0.net]
オブジェクト指向では、何らかのクラスのオブジェクトを作って、操作するのが基本

例えば、URI オブジェクトを作っておけば、
そのクラスに定義されている、便利なメソッド・プロパティなどが使える

それと、C# みたいな静的言語では、
引数・戻り値などに型が指定されていたら、その型を使わないと型エラーになる!

969 名前:デフォルトの名無しさん mailto:sage [2019/05/16(木) 09:19:26.89 ID:MP5x1HVo0.net]
websoket通信でデータを受信して、それを別プロセスに渡すような処理をしたいのですが、MemoryMappedFileを使って共有メモリを見に行く方法は悪手でしょうか?
推奨されるプロセス間のデータのやり取り方法を教えてください。

970 名前:デフォルトの名無しさん mailto:sage [2019/05/16(木) 09:34:38.83 ID:Qeg0MHQbM.net]
WCFが推奨

971 名前:デフォルトの名無しさん mailto:sage [2019/05/16(木) 10:29:56.16 ID:8QhWJQ3wd.net]
WCFもどうなることやらな気はするけど。
俺は微妙だと思ってるから、よくembedioでhttpサーバ立てる。

972 名前:デフォルトの名無しさん mailto:sage [2019/05/16(木) 10:33:24.75 ID:MP5x1HVo0.net]
WCFですか、調べてみます。

973 名前:デフォルトの名無しさん mailto:sage [2019/05/16(木) 10:50:26.05 ID:Ja6m86QIM.net]
WCFはやめとけ
今のところWCFサービスに.NET Coreが対応する予定はないから、このままいけば.NET 5では消滅する

974 名前:デフォルトの名無しさん mailto:sage [2019/05/16(木) 10:57:28.97 ID:7z6DTwj00.net]
gRPCかwebapi
条件次第で玉葱かな



975 名前:デフォルトの名無しさん [2019/05/16(木) 10:58:05.89 ID:lb5/XXvB0.net]
>>954
例えばurlの場合整形したりしやすいってことですね

976 名前:デフォルトの名無しさん mailto:sage [2019/05/16(木) 11:05:39.44 ID:MP5x1HVo0.net]
>>959
ということは
>>960
のgrpcが良さそうですか?

玉葱とはなんでしょうか

977 名前:デフォルトの名無しさん mailto:sage [2019/05/16(木) 11:32:13.27 ID:z4KGy0Nb0.net]
ローカルのRPCにhttpを使うの嫌なんだよな

978 名前:デフォルトの名無しさん [2019/05/16(木) 11:54:44.97 ID:lb5/XXvB0.net]
ツリービューに小要素を追加したいのですが、wpfでは
rootNode.Nodes.Add(childNode1)
のように、nodeプロパティでの追加は出来ないようです
何を使うか教えてください

あとマイクロソフトのリファレンスでwpfのリファレンスってあるんでしょうか?
調べてるんですが、情報がごっちゃな気がします

979 名前:デフォルトの名無しさん mailto:sage [2019/05/16(木) 12:05:27.24 ID:8QhWJQ3wd.net]
embedioならwebsocket鯖にもなる。
他の言語から叩きたくなったときに超ラク。

>>963
なんで?
クライアントがイケてないから?

>>962
magiconionでは?

980 名前:デフォルトの名無しさん [2019/05/16(木) 12:06:43.82 ID:lb5/XXvB0.net]
>>964
解決したました
英語サイトで調べたほうが遥かにわかりやすいですねw

981 名前:デフォルトの名無しさん mailto:sage [2019/05/16(木) 12:12:11.19 ID:MP5x1HVo0.net]
そもそもプロセス間通信をしようと思ったのは、websoketでデータ受信が忙しいからなんですが、マルチスレッドでも問題ないでしょうか?

982 名前:デフォルトの名無しさん [2019/05/16(木) 12:31:50.76 ID:9YitK9mS0.net]
>>967
掲示板だと質問に向かない側面もあるしさ、やっぱStackOverflowに行って質問しようぜ
https://ja.stackoverflow.com/

983 名前:デフォルトの名無しさん mailto:sage [2019/05/16(木) 12:40:43.39 ID:/ttOpUx30.net]
パソコン内でのプロセス間通信ならIPCがお手軽かと思いますわ

984 名前:デフォルトの名無しさん [2019/05/16(木) 14:11:05.64 ID:Ox4fjiQE0.net]
>>944
ほんそれ



985 名前:デフォルトの名無しさん mailto:sage [2019/05/16(木) 14:19:12.14 ID:8QhWJQ3wd.net]
>>967
それなら普通にマルチスレッド(というかTask)で良いと思うけど。

986 名前:デフォルトの名無しさん [2019/05/16(木) 17:09:13.22 ID:lb5/XXvB0.net]
wpfでpcのルートフォルダを取得して、そのサブフォルダも取得したいのですが、参考ページ教えてください。
https://dobon.net/vb/dotnet/file/driveinfo.html
このページを参考にやっているのですが、ルートフォルダを取得というよりCを自分で指定してませんか?

どのPCだろうがルートはCだから、それを基準にして、サブフォルダを取得するってことですか?

987 名前:デフォルトの名無しさん mailto:sage [2019/05/16(木) 17:21:42.09 ID:PZtMCMcM0.net]
>>972
利用可能なドライブの一覧を取得するには?
https://www.atmarkit.co.jp/fdotnet/dotnettips/272getdrives/getdrives.html

988 名前:デフォルトの名無しさん mailto:sage [2019/05/16(木) 17:25:25.98 ID:knSiwbWya.net]
>>972
PCのルートフォルダってのがちょっと何を言ってるのか...
システムドライブ(OSのインストールされているパーティション)(のルートディレクトリ)って意味ならこれ?
https://www.atmarkit.co.jp/fdotnet/dotnettips/190windir/windir.html

989 名前:デフォルトの名無しさん mailto:sage [2019/05/16(木) 17:32:00.72 ID:knSiwbWya.net]
あ、話題のどちて坊やだったのか...

質問スレだから質問するのは全然OKだと思うけど、
何言ってるのか他人が理解できない質問とか、少しも自分で調べた形跡が感じられない
質問とかはちょっとマナー違反だよね

990 名前:デフォルトの名無しさん [2019/05/16(木) 17:39:45.70 ID:lb5/XXvB0.net]
>>974
そうですね
エクスプローラのツリーのように、フォルダを表示したいので

991 名前:デフォルトの名無しさん mailto:sage [2019/05/16(木) 17:45:46.63 ID:8QhWJQ3wd.net]
ドライブはフォルダじゃない。それだけでは?

992 名前:デフォルトの名無しさん [2019/05/16(木) 18:14:45.95 ID:lb5/XXvB0.net]
フォルダに割り当てるパスを取得するにはドライブの情報が必要ですよね?

993 名前:デフォルトの名無しさん mailto:sage [2019/05/16(木) 18:24:44.89 ID:mlG6Koyx0.net]
>>978
「フォルダに割り当てるパス」
言っている意味が分からない。何がしたいのか具体的に書いて
ドライブの情報は>https://dobon.net/vb/dotnet/file/driveinfo.htmlの内容で取得できる
ファイルパスもツリービューに割り当てる要素だとしてもそのドライブの情報とは関係ない

994 名前:デフォルトの名無しさん mailto:sage [2019/05/16(木) 18:30:23.23 ID:qEdn/tfrM.net]
>>975
彼はおそらく調べようと思えば調べられるし
一人で進めようと思えばおそらくできるんだろう

ただ、ものづくりに必要な孤独を楽しむ能力がないんだろう
これまでたどってきた人生に依存する
人によっては精神を病んでしまうのでさっさと辞めることをオススメする

俺らの何がパンピーと違うかといえばおそらくそこ



995 名前:デフォルトの名無しさん mailto:sage [2019/05/16(木) 18:34:23.01 ID:3A9ftzQu0.net]
転載制限が明示されないfreeは著作隣接権の放棄だと思っていました

コメント機能まで考えなかったのでサーバー管理者の立場になることは考えが至りませんでした
ファイル倉庫ではつまらないですよね
他人の著作物を基本にサイトを作ることは悩ましいですね

解説とリンクを書くだけならば問題が無いはず、と…

いろいろ参考になりました
ありがとうございます

996 名前:デフォルトの名無しさん mailto:sage [2019/05/16(木) 18:34:57.02 ID:3A9ftzQu0.net]
誤爆しました
すみません

997 名前:デフォルトの名無しさん [2019/05/16(木) 18:45:39.21 ID:lb5/XXvB0.net]
>>979
何がしたいかですが、「エクスプローラのようなフォルダツリーの機能を作りたい」です

998 名前:デフォルトの名無しさん mailto:sage [2019/05/16(木) 18:50:20.66 ID:mlG6Koyx0.net]
>>983
それならツリーに必要な情報はそれぞれのディレクトリパスやファイルパスでドライブの情報じゃないのはわかる?
エクスプローラーもそうなっているはず

999 名前:デフォルトの名無しさん mailto:sage [2019/05/16(木) 19:20:17.44 ID:zVFyB/Pfa.net]
>>980
次スレ頼んだ

1000 名前:デフォルトの名無しさん mailto:sage [2019/05/16(木) 19:29:44.17 ID:s+6oZKe00.net]
>>985
ふらっと C#,C♯,C#(初心者用) Part143
https://mevius.5ch.net/test/read.cgi/tech/1558002486/

1001 名前:デフォルトの名無しさん mailto:sage [2019/05/16(木) 19:35:38.53 ID:zVFyB/Pfa.net]
>>986


1002 名前:デフォルトの名無しさん [2019/05/16(木) 20:21:22.17 ID:lb5/XXvB0.net]
>>984
どうやら見当違いなことをしていたみたいですね
ディレクトリパスで調べてみます

1003 名前:デフォルトの名無しさん mailto:sage [2019/05/16(木) 21:13:53.08 ID:/ttOpUx30.net]
>>988
Windows API Code Packって拡張をプロジェクトにインストールすると幸せになれると思うんだ
あなたのやる気次第だが

1004 名前:デフォルトの名無しさん mailto:sage [2019/05/16(木) 22:47:17.86 ID:/89StDtwd.net]
>>978
>>973にドライブの一覧を取る方法が示されてるのになんで無視するんだろう



1005 名前:デフォルトの名無しさん mailto:sage [2019/05/17(金) 12:01:15.42 ID:8VLhbVxR0.net]
PowerShell のGet-PSDrive だろ

1006 名前:デフォルトの名無しさん mailto:sage [2019/05/17(金) 18:20:58.23 ID:vi5zDanMM.net]
PowerShell信者()

1007 名前:デフォルトの名無しさん mailto:sage [2019/05/17(金) 19:43:49.75 ID:zp36Ii500.net]
>>986
乙。そしてこっちはもう埋めよう
docsはもうテンプレに入れた方がいいな。ただし英語の方w
日本語版は翻訳酷いだけじゃなく情報抜けてるの見たことある

1008 名前:デフォルトの名無しさん mailto:sage [2019/05/19(日) 11:16:06.52 ID:K7DGtrEf0.net]
u

1009 名前:デフォルトの名無しさん mailto:sage [2019/05/19(日) 11:16:26.24 ID:K7DGtrEf0.net]
u

1010 名前:デフォルトの名無しさん mailto:sage [2019/05/19(日) 13:46:29.54 ID:grGIhInBa.net]
u

1011 名前:デフォルトの名無しさん mailto:sage [2019/05/19(日) 14:18:54.84 ID:rGWK4TSn0.net]
n

1012 名前:デフォルトの名無しさん mailto:sage [2019/05/19(日) 14:39:21.39 ID:BJEduilX0.net]
u

1013 名前:デフォルトの名無しさん mailto:sage [2019/05/19(日) 14:39:40.73 ID:BJEduilX0.net]
l

1014 名前:デフォルトの名無しさん mailto:sage [2019/05/19(日) 14:39:54.01 ID:BJEduilX0.net]
l



1015 名前:1001 [Over 1000 Thread.net]
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 73日 8時間 4分 13秒

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






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

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

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