- 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
- 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
日本語で 何を言ってるのかさっぱり分からんよマジで
|

|