「どんなにくだらない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/1533466544/
■コードを貼る場合は↓を使いましょう。
http://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
http://referencesource.microsoft.com/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
探検
ふらっと C#,C♯,C#(初心者用) Part140
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 9e9f-LwdJ)
2018/10/04(木) 18:56:38.41ID:JnxMNCXd0196デフォルトの名無しさん (スププ Sd8a-Etlc)
2018/10/22(月) 16:42:10.00ID:NGaoO2J9d サブクラス化でダブルクリックのメッセージを盗む
197デフォルトの名無しさん (アウアウエー Sae2-hgbC)
2018/10/22(月) 16:49:58.28ID:PhEYlXMOa >>195
簡単だろ...と思ったけどそうでもないみたいね
CreateParamsオーバーライドしても出来なかった
https://bytes.com/topic/c-sharp/answers/492805-enable-trackbar-doubleclick-event
ダブルクリックの成立条件がOSの設定と別になるのは諦めて
自分でダブルクリックを実装するしかない気がする。知らんけど
private Stopwatch mStopWatch = new Stopwatch();
protected override void OnClick(EventArgs e)
{
base.OnClick(e);
const int maxDoubleClickInterval = 500;
if (mStopWatch.IsRunning && mStopWatch.ElapsedMilliseconds <= maxDoubleClickInterval)
{
OnDoubleClick(e);
mStopWatch.Stop();
}
else mStopWatch.Restart();
}
簡単だろ...と思ったけどそうでもないみたいね
CreateParamsオーバーライドしても出来なかった
https://bytes.com/topic/c-sharp/answers/492805-enable-trackbar-doubleclick-event
ダブルクリックの成立条件がOSの設定と別になるのは諦めて
自分でダブルクリックを実装するしかない気がする。知らんけど
private Stopwatch mStopWatch = new Stopwatch();
protected override void OnClick(EventArgs e)
{
base.OnClick(e);
const int maxDoubleClickInterval = 500;
if (mStopWatch.IsRunning && mStopWatch.ElapsedMilliseconds <= maxDoubleClickInterval)
{
OnDoubleClick(e);
mStopWatch.Stop();
}
else mStopWatch.Restart();
}
198デフォルトの名無しさん (アウアウエー Sae2-hgbC)
2018/10/22(月) 16:50:32.09ID:PhEYlXMOa >>196
メッセージ自体が飛んでこないのよ
メッセージ自体が飛んでこないのよ
199デフォルトの名無しさん (ワッチョイ 1f9f-ypm2)
2018/10/22(月) 17:10:21.59ID:z/eoCJYy0200デフォルトの名無しさん (ワッチョイ f3a5-Fc6z)
2018/10/23(火) 08:10:29.01ID:WlOKeoDJ0 素人のボヤキで恐縮ですが
何度も書いては直しを繰り返し書き足したコードが
最後の最後、どうしてもデバッグが通らなくなりまして
いくら調べても動かない原因か分からず
もう考えるの面倒くさくなって
新規のFormに一から同じコード書き直してみたら・・・動くじゃん!
たぶん何度もトライ&エラーしたから何処かで操作間違えて
IDEが自動で生成したコードにゴミが混じったんじゃないかと思ったのですが
この動くコードと動かないコードの違いを簡単に発見できませんかね?
今、全ての.csファイルを一行ずつ比較してますが・・・もう飽きましたwww
メインのコードは全く同じでした
ちなみにデバッグで出るエラーは、あるクラスのメソッドの定義が無いというやつです
何度も書いては直しを繰り返し書き足したコードが
最後の最後、どうしてもデバッグが通らなくなりまして
いくら調べても動かない原因か分からず
もう考えるの面倒くさくなって
新規のFormに一から同じコード書き直してみたら・・・動くじゃん!
たぶん何度もトライ&エラーしたから何処かで操作間違えて
IDEが自動で生成したコードにゴミが混じったんじゃないかと思ったのですが
この動くコードと動かないコードの違いを簡単に発見できませんかね?
今、全ての.csファイルを一行ずつ比較してますが・・・もう飽きましたwww
メインのコードは全く同じでした
ちなみにデバッグで出るエラーは、あるクラスのメソッドの定義が無いというやつです
201デフォルトの名無しさん (ワッチョイ 1f9f-ypm2)
2018/10/23(火) 08:58:05.56ID:4KRTdb+90 定義がなくてエラーを吐くところまで分かるなら
動くほうのコードをその定義名で検索してコピペすればいいのでは……?
動くほうのコードをその定義名で検索してコピペすればいいのでは……?
202デフォルトの名無しさん (ワッチョイ f3a5-Fc6z)
2018/10/23(火) 09:16:11.92ID:WlOKeoDJ0 自作のメソッドじゃないのです
usingでちゃんとクラス指定してますし
少なくとも手で入力したコードは同じなので
usingでちゃんとクラス指定してますし
少なくとも手で入力したコードは同じなので
203デフォルトの名無しさん (ワッチョイ 1f9f-ypm2)
2018/10/23(火) 09:37:53.24ID:4KRTdb+90 いや、だから自動生成のコードも比較してるんだよね
普通にそこにヤマ当てて検索すればいいのでは…………???
普通にそこにヤマ当てて検索すればいいのでは…………???
204デフォルトの名無しさん (スプッッ Sd2a-w2rH)
2018/10/23(火) 10:00:22.54ID:XCdCnqpbd List<int>型をカンマ区切りの文字列にしたいんだけども一個ずつforeachで要素取り出して繋げるしかないかな?
205デフォルトの名無しさん (スプッッ Sd2a-w2rH)
2018/10/23(火) 10:03:28.47ID:XCdCnqpbd joinをレスかいた後に見つけました!
すみません
すみません
206デフォルトの名無しさん (ワッチョイ afe3-usPd)
2018/10/23(火) 10:43:05.65ID:IN4ounIY0 質問した直後に答えが見つかるのはありがちである
207デフォルトの名無しさん (ブーイモ MMd6-tSmu)
2018/10/23(火) 10:55:13.88ID:cDc5Fd7gM 質問する際に文字に起こすことによって頭が整理されるためである
208デフォルトの名無しさん (スップ Sd8a-YMLY)
2018/10/23(火) 11:08:35.71ID:mgVace2od staring[] strLine = system.IO.File.ReadAllLines(tarTxtPath,System.Text.・・・)
strLine = strLine[0].Split(chrCut)
return strLine;
フォーム1で一回通ったあとフォーム2で2回目通るときにエラーで別のプロセスで使用されているって出るんですがどういったエラーですか?
ファイル開いてるってことですか?
strLine = strLine[0].Split(chrCut)
return strLine;
フォーム1で一回通ったあとフォーム2で2回目通るときにエラーで別のプロセスで使用されているって出るんですがどういったエラーですか?
ファイル開いてるってことですか?
209デフォルトの名無しさん (ワッチョイ bee8-nBLa)
2018/10/23(火) 11:14:39.42ID:Vkutn+dk0 >>207
あるある
あるある
210デフォルトの名無しさん (ワッチョイ afe3-usPd)
2018/10/23(火) 11:29:22.32ID:IN4ounIY0 探すのをやめたとき見つかることもよくある話で
211デフォルトの名無しさん (ワッチョイ 2e23-agwd)
2018/10/23(火) 14:06:54.25ID:GxUzOGox0 >>208
そう
ただFile.ReadAllLinesはオープンからクローズまでやってくれるので普通は発生しない
他でそのファイルを触ってない?
あと自プログラム上はクローズしたけどアンチウィルスソフトがまだ触ってるってケースがある
そう
ただFile.ReadAllLinesはオープンからクローズまでやってくれるので普通は発生しない
他でそのファイルを触ってない?
あと自プログラム上はクローズしたけどアンチウィルスソフトがまだ触ってるってケースがある
212デフォルトの名無しさん (ワッチョイ 2a9b-YMLY)
2018/10/23(火) 21:57:42.31ID:H4AFqJh00 >>211
原因を探る方法ってなんかあります?
原因を探る方法ってなんかあります?
213デフォルトの名無しさん (ワッチョイ be9a-ypm2)
2018/10/23(火) 22:47:02.21ID:beMFeyu90 >>208
Readだとそもそも他でロックしていても別のプロセスで使用されているってエラーにならないはずなんだけど
書き込みモードで開いたままとかよっぽど変なことしていないか?
>>212
とりあえずダミーで
string[] strLine = system.IO.File.ReadAllLines(tarTxtPath,System.Text.・・・)
のすぐ下に別の配列への読込み
string[] strLine2 = system.IO.File.ReadAllLines(tarTxtPath,System.Text.・・・)
を入れて見てエラーになるかならないか確認してエラーが出たらお手上げ
エラーが出ないのならstring[] strLine = system.IO.File.ReadAllLines(tarTxtPath,System.Text.・・・)から2回目の実行時にエラーの原因がある
Readだとそもそも他でロックしていても別のプロセスで使用されているってエラーにならないはずなんだけど
書き込みモードで開いたままとかよっぽど変なことしていないか?
>>212
とりあえずダミーで
string[] strLine = system.IO.File.ReadAllLines(tarTxtPath,System.Text.・・・)
のすぐ下に別の配列への読込み
string[] strLine2 = system.IO.File.ReadAllLines(tarTxtPath,System.Text.・・・)
を入れて見てエラーになるかならないか確認してエラーが出たらお手上げ
エラーが出ないのならstring[] strLine = system.IO.File.ReadAllLines(tarTxtPath,System.Text.・・・)から2回目の実行時にエラーの原因がある
214デフォルトの名無しさん (ワッチョイ ea68-7PZ0)
2018/10/23(火) 22:54:16.72ID:t0pM1C750 Windowsで簡単なデスクトップアプリ、コマンドプロンプトアプリを作るのが目的で
無料のVisual Studio 2013 for Desktopをインストールしている
最近調べたらVisual Studio 2017 Community版なるものが無料でリリースされてるようだけど
2013 for Desktopから乗り換える価値あると思う?
それとも2013 for Desktopをそのまま使い続けていた方がいい?
無料のVisual Studio 2013 for Desktopをインストールしている
最近調べたらVisual Studio 2017 Community版なるものが無料でリリースされてるようだけど
2013 for Desktopから乗り換える価値あると思う?
それとも2013 for Desktopをそのまま使い続けていた方がいい?
215デフォルトの名無しさん (ワッチョイ be9a-ypm2)
2018/10/23(火) 23:19:13.87ID:beMFeyu90 >>214
2013だと最新のC#や.NetFrameWorkwpターゲットにしたものが作れないと思うけどVisualStudioのスレで聞いて
メリットとデメリット詳細に説明するのは難しいと思うから
2013だと最新のC#や.NetFrameWorkwpターゲットにしたものが作れないと思うけどVisualStudioのスレで聞いて
メリットとデメリット詳細に説明するのは難しいと思うから
216デフォルトの名無しさん (ラクッペ MMc3-xfgi)
2018/10/23(火) 23:37:40.87ID:EnOD72ofM >>214
VS communityは商用利用に制約が有ります。
Express 2017 for Windows Desktopを利用しましょう。
Express 2017 for webはないのでwebはVSCODEに移行しました。
VS communityは商用利用に制約が有ります。
Express 2017 for Windows Desktopを利用しましょう。
Express 2017 for webはないのでwebはVSCODEに移行しました。
217デフォルトの名無しさん (ワッチョイ ea68-7PZ0)
2018/10/24(水) 00:13:22.70ID:mtZGy2HS0 dd
2017 for Windows Desktopに乗り換えまつ
2017 for Windows Desktopに乗り換えまつ
218デフォルトの名無しさん (アウアウウー Sa9f-tSmu)
2018/10/24(水) 00:29:43.28ID:XKgg3tJUa >>216は間違い
VS Communityは組織の規模に制限があるが用途に制限はない
VS Communityは組織の規模に制限があるが用途に制限はない
219デフォルトの名無しさん (スップ Sd2a-YMLY)
2018/10/24(水) 07:44:57.85ID:s6gpcYwid220デフォルトの名無しさん (スプッッ Sd2a-w2rH)
2018/10/24(水) 10:07:14.94ID:3/mFq1HRd >>216
5人以上での開発からじゃなかったっけ
5人以上での開発からじゃなかったっけ
221デフォルトの名無しさん (ワッチョイ 2aad-7PZ0)
2018/10/24(水) 13:09:57.36ID:AbQuJmTL0 プログラマーとして転職するにはどんな本までマスターしてれば大丈夫ですか?
ゴールからはじめるC#は読めました。
ゴールからはじめるC#は読めました。
222デフォルトの名無しさん (アウアウカー Safb-dUTK)
2018/10/24(水) 13:24:18.69ID:pa4PW987a 基礎としては入門で十分。
読んでから作るのではなく、作りながら読む。
必要だと感じないと頭に入らない。
読んでから作るのではなく、作りながら読む。
必要だと感じないと頭に入らない。
223デフォルトの名無しさん (ブーイモ MMbf-tSmu)
2018/10/24(水) 13:34:18.54ID:KNarJnl6M C#ってあんまり未経験OKの仕事ないからJavaから入るのがいいと思うよ
JavaならFizBuz書ければ十分仕事できる
JavaならFizBuz書ければ十分仕事できる
224デフォルトの名無しさん (オッペケ Srb3-zYpp)
2018/10/24(水) 13:46:07.47ID:uTlH1PNGr まじかよ
225デフォルトの名無しさん (ワッチョイ 7bea-j6wj)
2018/10/24(水) 13:53:12.06ID:8s24r2uo0226デフォルトの名無しさん (ワンミングク MMda-szOx)
2018/10/24(水) 18:41:34.40ID:HJod1vGPM VS2013でweb formを作っています。
以前VS2008の時代、AjaxControlToolkitのModalPopupExtenderを使って設定用のポップアップを作っていました。
今回同じような事をしたいのですが、VS2013の環境で、同等の事を簡単にできるよい方法はありませんか。
以前VS2008の時代、AjaxControlToolkitのModalPopupExtenderを使って設定用のポップアップを作っていました。
今回同じような事をしたいのですが、VS2013の環境で、同等の事を簡単にできるよい方法はありませんか。
227デフォルトの名無しさん (ブーイモ MMbf-tSmu)
2018/10/24(水) 19:08:39.26ID:KNarJnl6M >>226
WebFormsに頼るのはやめてBootstrapを使ってください
WebFormsに頼るのはやめてBootstrapを使ってください
228デフォルトの名無しさん (ドコグロ MM3b-b3y3)
2018/10/24(水) 20:20:05.07ID:a4OXlgOjM >>220
開発者の数じゃない
でかい企業は開発者の人数関係なく使っちゃダメ
小さい企業は5人までならいいってこと
なので会社が小さくても3人の開発者が2チームいたらアウト
■個人開発者
あらゆる個人開発者は Visual Studio Community を利用でき、無償または有償のアプリケーションを作成できます。
■ 組織
以下のシナリオでは Visual Studio Community を利用者数に制限なく利用することができます: 教室の研修環境、学術的調査、オープン ソース プロジェクトへの貢献
■その他のすべての利用シナリオ:
●エンタープライズではない組織において 5 ユーザーまでは Visual Studio Community を利用できます。
●エンタープライズ組織 (PC 台数 250 台以上または年商 100 万ドル以上) は上記の教室の研修環境、学術的調査、オープン ソース プロジェクトへの貢献以外では従業員や請負契約者ともに利用を認められません。
https://visualstudio.microsoft.com/wp-content/uploads/2017/05/Visual-Studio-2017-Licensing-Whitepaper-March-2017_Japanese.pdf
開発者の数じゃない
でかい企業は開発者の人数関係なく使っちゃダメ
小さい企業は5人までならいいってこと
なので会社が小さくても3人の開発者が2チームいたらアウト
■個人開発者
あらゆる個人開発者は Visual Studio Community を利用でき、無償または有償のアプリケーションを作成できます。
■ 組織
以下のシナリオでは Visual Studio Community を利用者数に制限なく利用することができます: 教室の研修環境、学術的調査、オープン ソース プロジェクトへの貢献
■その他のすべての利用シナリオ:
●エンタープライズではない組織において 5 ユーザーまでは Visual Studio Community を利用できます。
●エンタープライズ組織 (PC 台数 250 台以上または年商 100 万ドル以上) は上記の教室の研修環境、学術的調査、オープン ソース プロジェクトへの貢献以外では従業員や請負契約者ともに利用を認められません。
https://visualstudio.microsoft.com/wp-content/uploads/2017/05/Visual-Studio-2017-Licensing-Whitepaper-March-2017_Japanese.pdf
229デフォルトの名無しさん (ワッチョイ afe3-Ub1+)
2018/10/24(水) 20:23:21.79ID:pUZreFeO0 リリース用のビルドマシンは1台で
他は全部expressや
ってやったらどうなるの?
他は全部expressや
ってやったらどうなるの?
230デフォルトの名無しさん (JP 0H2b-etxE)
2018/10/24(水) 20:24:41.18ID:j9WcSB4FH 年商1億って結構安いよな
ケチ
ケチ
231デフォルトの名無しさん (ワッチョイ 5f17-usPd)
2018/10/24(水) 20:28:06.50ID:mBAz6liX0 >オープン ソース プロジェクトへの貢献
ってすごい曖昧な定義だよな
ってすごい曖昧な定義だよな
232デフォルトの名無しさん (ワッチョイ 2e9f-Dk9W)
2018/10/24(水) 20:43:45.15ID:lYnaZc560 Javaは設定ファイル多すぎて挫折したけどdotnet new mvcですぐ始められるのは良いね
サーバーもいらないし
サーバーもいらないし
233デフォルトの名無しさん (アウアウウー Sa9f-tSmu)
2018/10/24(水) 20:45:46.94ID:FS+T0WbLa234デフォルトの名無しさん (オッペケ Srb3-zYpp)
2018/10/24(水) 21:02:31.52ID:uTlH1PNGr MSが委託請負が開発したCommunityでビルドしたアプリまで特定できるの?
235デフォルトの名無しさん (スプッッ Sd2a-w2rH)
2018/10/24(水) 21:04:15.38ID:3/mFq1HRd tiff画像をBitmapクラスを使って読み込みたい
読み込みはできたのだけど、1ピクセル辺りに要するバイト数が想定と違って困ってます
Bitmap b = new Bitmap(file)
BitmapData d = b.LockBits(new Rectangle(0,0,b.width,b.height),ImageLockMode.ReadWrite,b.PixelFormat)
b.pixelFormatがどうやらサイズが間違っているようなんだけども
ここってどう指定すべきなのでしょうか
2バイトのところ4バイトのARGBが入ってるのでサイズがめちゃことなってしまって
読み込みはできたのだけど、1ピクセル辺りに要するバイト数が想定と違って困ってます
Bitmap b = new Bitmap(file)
BitmapData d = b.LockBits(new Rectangle(0,0,b.width,b.height),ImageLockMode.ReadWrite,b.PixelFormat)
b.pixelFormatがどうやらサイズが間違っているようなんだけども
ここってどう指定すべきなのでしょうか
2バイトのところ4バイトのARGBが入ってるのでサイズがめちゃことなってしまって
236デフォルトの名無しさん (ワッチョイ afe3-Ub1+)
2018/10/24(水) 21:39:43.47ID:pUZreFeO0237デフォルトの名無しさん (アウアウウー Sa9f-w+1b)
2018/10/24(水) 21:55:47.42ID:0ETaBBAFa238デフォルトの名無しさん (アウアウウー Sa9f-tSmu)
2018/10/24(水) 22:47:55.18ID:FS+T0WbLa >>236
ビルドだけが目的ならVSなんか全く必要ないよ
ビルドだけが目的ならVSなんか全く必要ないよ
239デフォルトの名無しさん (スプッッ Sdc3-w2rH)
2018/10/24(水) 23:48:44.98ID:sUnPoBu6d240デフォルトの名無しさん (ワッチョイ 4fe3-4eGK)
2018/10/25(木) 00:00:10.59ID:6CwUNa2j0 >>238
じゃ、Visualstudioって実質金出さんでもいいの?
じゃ、Visualstudioって実質金出さんでもいいの?
241デフォルトの名無しさん (ブーイモ MM5b-az0l)
2018/10/25(木) 00:02:26.32ID:bJEmGRRpM >>240
開発生産性を度外視するならその通り
開発生産性を度外視するならその通り
242デフォルトの名無しさん (ワッチョイ 3bd2-2TN5)
2018/10/25(木) 02:14:51.71ID:LTnIM1RR0 最近ほぼVisualStudioCodeしか使ってないわ
243デフォルトの名無しさん (ワッチョイ d323-4x81)
2018/10/25(木) 09:35:23.68ID:BG3PZmBX0 >>235
まずその想定してるっていうPixelFormatは正しいのかExplorerからプロパティ>詳細のビットの深さ見て確認する
> 2バイトのところ4バイトのARGBが入ってる
想定とBitmapDataでどっちがどっちなのか読み取れないけど1ピクセル2バイトってRGB565とかその辺なの?
まずその想定してるっていうPixelFormatは正しいのかExplorerからプロパティ>詳細のビットの深さ見て確認する
> 2バイトのところ4バイトのARGBが入ってる
想定とBitmapDataでどっちがどっちなのか読み取れないけど1ピクセル2バイトってRGB565とかその辺なの?
244デフォルトの名無しさん (アウアウエー Sa93-hBDZ)
2018/10/25(木) 11:59:33.09ID:dYjhTuUoa たぶん直接の原因は>>237にある通りじゃないのかな
文面を見る限り質問者はあまり注意深い人に思えないしw
文面を見る限り質問者はあまり注意深い人に思えないしw
245デフォルトの名無しさん (アウアウエー Sa93-hBDZ)
2018/10/25(木) 12:11:30.07ID:dYjhTuUoa ところで、LockBitsってインスタンスメソッドなのに何で自分自身のPixelFormatを
引数で要求するんだろう。
引数で要求するんだろう。
246デフォルトの名無しさん (ブーイモ MM5b-az0l)
2018/10/25(木) 13:07:15.03ID:r31i+JfIM GDI+のAPIがそうなっているから、それを何も考えずに猿のようにラップしてそうなっただけ
247デフォルトの名無しさん (ワッチョイ ebd3-o90R)
2018/10/25(木) 19:40:29.60ID:gTpJa4iN0 >>246
Q. では何故GDI+のAPIはそうなっているのですか?
A. The pixel format of the temporary buffer does not have to be the same as the pixel format of this Bitmap object.
[https://docs.microsoft.com/en-us/windows/desktop/api/gdiplusheaders/nf-gdiplusheaders-bitmap-lockbits]
Q. では何故GDI+のAPIはそうなっているのですか?
A. The pixel format of the temporary buffer does not have to be the same as the pixel format of this Bitmap object.
[https://docs.microsoft.com/en-us/windows/desktop/api/gdiplusheaders/nf-gdiplusheaders-bitmap-lockbits]
248デフォルトの名無しさん (アウアウエー Sa93-hBDZ)
2018/10/25(木) 20:44:40.21ID:n3Rz+F82a >>247
フルカラーをトゥルーカラーにしたり、アルファーチャンネルを付け加えたり、
そういうフォーマットの変換機能も兼ねてるってことなのかな
MSDNのLockBitsの解説にはそんなこと書いてないけど。
不細工な設計だねw
フルカラーをトゥルーカラーにしたり、アルファーチャンネルを付け加えたり、
そういうフォーマットの変換機能も兼ねてるってことなのかな
MSDNのLockBitsの解説にはそんなこと書いてないけど。
不細工な設計だねw
249デフォルトの名無しさん (ササクッテロル Sp1f-g4wS)
2018/10/25(木) 21:41:33.94ID:JIQ6DfsAp250デフォルトの名無しさん (アウアウエー Sa93-hBDZ)
2018/10/25(木) 22:26:50.74ID:n3Rz+F82a >>248
フォーマットの変換機能は別に持たせた方がスマートでしょ
(現にCloneでできるみたいだし)
少なくともLockBitsにPixelFormatを引数にとらないバージョンがあってしかるべき。
GDI+はやっつけで作ったのかこういう不条理な実装他でも見た記憶があるなあ
フォーマットの変換機能は別に持たせた方がスマートでしょ
(現にCloneでできるみたいだし)
少なくともLockBitsにPixelFormatを引数にとらないバージョンがあってしかるべき。
GDI+はやっつけで作ったのかこういう不条理な実装他でも見た記憶があるなあ
251デフォルトの名無しさん (ワッチョイ c7a1-JHIh)
2018/10/25(木) 22:33:36.48ID:mF3BZxvh0 GDI+は処理の遅さが致命的
252デフォルトの名無しさん (ササクッテロル Sp1f-g4wS)
2018/10/25(木) 23:29:37.31ID:JIQ6DfsAp >>250
ソース元のフォーマットに制限されず指定のフォーマットで読み書きできた方が普通に便利でしょ
別のビットマップが欲しいわけじゃないのにCloneを仲介する方が意味わからん
(LockBits自体は自動的に複製を作るようなもんだけどね)
ソース元のフォーマットに制限されず指定のフォーマットで読み書きできた方が普通に便利でしょ
別のビットマップが欲しいわけじゃないのにCloneを仲介する方が意味わからん
(LockBits自体は自動的に複製を作るようなもんだけどね)
253デフォルトの名無しさん (ワッチョイ 579b-42fi)
2018/10/25(木) 23:30:45.76ID:oh52xQKG0 cbo1のテキストと同じものを3行目の3列目から右に同じものを見つかるまで探し、見つかったセルから下へループし、「※」印がある場合のみ「※」印の行の1列目の氏名を配列に入れ、cbo2にADD。
注)入れる際に同一氏名がすでに配列にある場合除外。
これをやるために、closedxmlで書いて見ましたがちょっと処理が遅い。
コードの書き方的には右にforで最終列までループ処理→ifで一致
forで一致した列の最終行まで下へループ処理→ifで一致したら配列に詰め込む。
現在ここで重複排除のやり方が分からないのでとりあえず全て配列にいれてます。
どうやって、書くのが最善ですか?
https://i.imgur.com/hEMt9ir.jpg
注)入れる際に同一氏名がすでに配列にある場合除外。
これをやるために、closedxmlで書いて見ましたがちょっと処理が遅い。
コードの書き方的には右にforで最終列までループ処理→ifで一致
forで一致した列の最終行まで下へループ処理→ifで一致したら配列に詰め込む。
現在ここで重複排除のやり方が分からないのでとりあえず全て配列にいれてます。
どうやって、書くのが最善ですか?
https://i.imgur.com/hEMt9ir.jpg
254デフォルトの名無しさん (ワッチョイ 4fe3-4eGK)
2018/10/26(金) 00:14:26.87ID:mydHUNdj0 >>253
格納するときに現在あるやつ全部とダブリチェックでいーじゃん
格納するときに現在あるやつ全部とダブリチェックでいーじゃん
255デフォルトの名無しさん (アウアウウー Sa1f-az0l)
2018/10/26(金) 00:36:10.18ID:pE8f1AMra >>253
低い抽象度でものを考えすぎている
お前がやりたいのはExcelの操作を自動することではなくて目的とする結果を得ることだろ?
まず要件を明確にし、それをそのままコードに落とすだけだ
カーソルだのセルだのは最後の最後に出てくるどうでもいい瑣末な部分だ
低い抽象度でものを考えすぎている
お前がやりたいのはExcelの操作を自動することではなくて目的とする結果を得ることだろ?
まず要件を明確にし、それをそのままコードに落とすだけだ
カーソルだのセルだのは最後の最後に出てくるどうでもいい瑣末な部分だ
256デフォルトの名無しさん (ワッチョイ a141-uqH6)
2018/10/27(土) 08:30:41.59ID:F8L6v78S0 複数の.csvファイルを一つの.xlsxファイルに簡単に纏められる?
257デフォルトの名無しさん (ブーイモ MMf3-DBFP)
2018/10/27(土) 08:55:21.44ID:BNqfM2zkM VBAでできることはC#でも全く同じ方法でできる
C#ではなく "VBA CSV 複数 結合" でググったら一発でサンプルは出てくる
そして "C# Excel 操作" でググって出てきたサンプルを真似してC#に機械的に書き直せ
それ以上細かいことはスレ違い
C#ではなく "VBA CSV 複数 結合" でググったら一発でサンプルは出てくる
そして "C# Excel 操作" でググって出てきたサンプルを真似してC#に機械的に書き直せ
それ以上細かいことはスレ違い
258デフォルトの名無しさん (ワッチョイ 4fe3-4eGK)
2018/10/27(土) 09:14:14.56ID:if75aWaZ0 >>256
できる
できる
259デフォルトの名無しさん (ブーイモ MMbf-QYDm)
2018/10/27(土) 11:23:15.72ID:AkygrdAXM >>256
やればできる
やればできる
260デフォルトの名無しさん (オッペケ Sr59-uqH6)
2018/10/27(土) 15:22:42.49ID:GAIyH11Qr やれば出来るだろうが、手間は掛けられん。
簡単に出来るなら、ちょっと考えてみるかな。
ありがとう。
簡単に出来るなら、ちょっと考えてみるかな。
ありがとう。
261デフォルトの名無しさん (ワッチョイ 5b9f-3knh)
2018/10/27(土) 15:42:55.29ID:QwPOuwmq0262デフォルトの名無しさん (ワッチョイ 4fe3-4eGK)
2018/10/27(土) 15:57:45.83ID:if75aWaZ0 >>260
普通にc#からエクセルファイル操作できるから
普通にc#からエクセルファイル操作できるから
263デフォルトの名無しさん (アウアウウー Sa1f-DBFP)
2018/10/27(土) 15:58:58.91ID:ntx2HiKDa 便所掃除ができることをドヤ顔で言わなくてよろしい
264デフォルトの名無しさん (ワッチョイ cdeb-7TBo)
2018/10/27(土) 22:41:19.36ID:Qgr0BHqv0265デフォルトの名無しさん (ワッチョイ 35ad-JHIh)
2018/10/27(土) 23:31:57.17ID:/aRXu6mM0 VBEでC#書けたりするの?
266デフォルトの名無しさん (ワッチョイ 8b8a-cxcD)
2018/10/27(土) 23:56:23.88ID:cqzal98J0 C#のクラスを考えるときにテストのことを考えるとさ
privateの関数や変数は持たない方が望ましいと聞いたんだがそこまで意識してプログラミングしてる?
役割を逸脱してる可能性が高いと言われてるのだがコード的にそうはさせない方法とかあるのだろうか
privateの関数や変数は持たない方が望ましいと聞いたんだがそこまで意識してプログラミングしてる?
役割を逸脱してる可能性が高いと言われてるのだがコード的にそうはさせない方法とかあるのだろうか
267デフォルトの名無しさん (ワッチョイ eb8a-o90R)
2018/10/28(日) 00:27:12.07ID:hf5/u8050 えなにそれ
publicな変数にしろってこと?
publicな変数にしろってこと?
268デフォルトの名無しさん (ワッチョイ 8b8a-cxcD)
2018/10/28(日) 01:01:32.10ID:sLs9tkqy0 >>267
全部パブリックにしろって話ではないと思うのだが、
クラスとしてちゃんと機能してるかをテストしやすくするものとして確認しやすいように設計をするようにと言われた
アクセッサを準備しろってことなのか
、protectedで作って継承してテストをしやすくしろってことなのかはわかってない
全部パブリックにしろって話ではないと思うのだが、
クラスとしてちゃんと機能してるかをテストしやすくするものとして確認しやすいように設計をするようにと言われた
アクセッサを準備しろってことなのか
、protectedで作って継承してテストをしやすくしろってことなのかはわかってない
269デフォルトの名無しさん (ワッチョイ 3bd2-2TN5)
2018/10/28(日) 01:01:48.04ID:z9u8vCUJ0 >>266
なにそのキチガイ発言
なにそのキチガイ発言
270デフォルトの名無しさん (ワッチョイ 8b8a-cxcD)
2018/10/28(日) 01:05:59.90ID:sLs9tkqy0 >>269
たぶん本質は内部所持して扱う変数を極力減らしましょうってことなんかなって思ってる
クラスを使うのにA・B・Cを事前に呼び出して内部変数の設定をしないと使えないですとかだと
バグのもととかになるから条件縛りを減らしましょうとかってことなんじゃないかと
たぶん本質は内部所持して扱う変数を極力減らしましょうってことなんかなって思ってる
クラスを使うのにA・B・Cを事前に呼び出して内部変数の設定をしないと使えないですとかだと
バグのもととかになるから条件縛りを減らしましょうとかってことなんじゃないかと
271デフォルトの名無しさん (ワッチョイ 4fe3-QYDm)
2018/10/28(日) 06:10:51.67ID:e0hkCJOP0 全部public staticにしろ
272デフォルトの名無しさん (ワッチョイ f7a5-Az/2)
2018/10/28(日) 08:05:20.34ID:3RT+wTpd0 日曜プログラマです
理屈に疎いので教えてください
Win32APIをマーシャリングしてプログラムを作成中なのですが
コールバックをデリゲートでやってるので
これは必然的にFormとは別のスレッド(マルチスレッド)という理解で正しいでしょうか?
このコールバックからの信号をトリガーにForm上のコントロールを触ると
「別スレッドからアクセスした」と怒られます
これを回避するために別のデリゲートを挟んでコントロールを触っていますが
これ以外に方法ないでしょうか?
デリゲート挟むと時々信号取りこぼすみたいで
上手くコントロールが反応しないことがあるんで改良したいのです
理屈に疎いので教えてください
Win32APIをマーシャリングしてプログラムを作成中なのですが
コールバックをデリゲートでやってるので
これは必然的にFormとは別のスレッド(マルチスレッド)という理解で正しいでしょうか?
このコールバックからの信号をトリガーにForm上のコントロールを触ると
「別スレッドからアクセスした」と怒られます
これを回避するために別のデリゲートを挟んでコントロールを触っていますが
これ以外に方法ないでしょうか?
デリゲート挟むと時々信号取りこぼすみたいで
上手くコントロールが反応しないことがあるんで改良したいのです
273デフォルトの名無しさん (ワッチョイ 81a5-E7Ae)
2018/10/28(日) 08:25:18.25ID:SibvNmKY0 どうでもいいけどココって本当に初心者用スレなのかね
274デフォルトの名無しさん (ワッチョイ ebd3-o90R)
2018/10/28(日) 08:56:08.45ID:kvhoQsiz0 >>272
> コールバックをデリゲートでやってるので
> これは必然的にFormとは別のスレッド(マルチスレッド)という理解で正しいでしょうか?
どこのなんのコールバックなのかこっちは知らんのだが
「別スレッドからアクセスした」と怒られるんならそうなんでそ
> これを回避するために別のデリゲートを挟んでコントロールを触っていますが
デリゲートを挟んでとあるけど、前提としてコントロールを触る処理はInvokeメソッドにちゃんと投げてる?
> コールバックをデリゲートでやってるので
> これは必然的にFormとは別のスレッド(マルチスレッド)という理解で正しいでしょうか?
どこのなんのコールバックなのかこっちは知らんのだが
「別スレッドからアクセスした」と怒られるんならそうなんでそ
> これを回避するために別のデリゲートを挟んでコントロールを触っていますが
デリゲートを挟んでとあるけど、前提としてコントロールを触る処理はInvokeメソッドにちゃんと投げてる?
275デフォルトの名無しさん (ワッチョイ bbb3-QdD5)
2018/10/28(日) 10:44:38.69ID:zjm6bfwn0 すみません、c#の初心者です。UnityでRPGを製作しているのですが、質問があります。
if (条件式1) {
条件式1が真の時のダメージ処理;
...;
}else if(条件式2) {
条件式1が偽で条件式2が真の時のダメージ処理;
...;
これに、ダメージを999以下に抑えたいので<=999を入れたいのですが、どこに入れればいいのでしょうか?
簡単な質問で申し訳ありませんがよろしくお願いします。
if (条件式1) {
条件式1が真の時のダメージ処理;
...;
}else if(条件式2) {
条件式1が偽で条件式2が真の時のダメージ処理;
...;
これに、ダメージを999以下に抑えたいので<=999を入れたいのですが、どこに入れればいいのでしょうか?
簡単な質問で申し訳ありませんがよろしくお願いします。
276デフォルトの名無しさん (ワッチョイ ff9a-wZW4)
2018/10/28(日) 10:51:17.84ID:JM6DGBKw0 >>275
ダメージ処理終わった最後
int dmg=0;
if (条件式1) {
条件式1が真の時のダメージ処理;dmg+=a;
...;
}
}else if(条件式2) {
条件式1が偽で条件式2が真の時のダメージ処理;dmg+=b;
...;
}
dmg=dmg>999?999:dmg;//またはif (dmg>999) dmg=999;
ダメージ処理終わった最後
int dmg=0;
if (条件式1) {
条件式1が真の時のダメージ処理;dmg+=a;
...;
}
}else if(条件式2) {
条件式1が偽で条件式2が真の時のダメージ処理;dmg+=b;
...;
}
dmg=dmg>999?999:dmg;//またはif (dmg>999) dmg=999;
277デフォルトの名無しさん (ワッチョイ bbb3-QdD5)
2018/10/28(日) 10:59:20.84ID:zjm6bfwn0 >>276
早速のご回答ありがとうございます!やってみます!
早速のご回答ありがとうございます!やってみます!
278デフォルトの名無しさん (ワッチョイ bbb3-QdD5)
2018/10/28(日) 11:20:25.94ID:zjm6bfwn0 無事反映されました!ありがとうございます。
279デフォルトの名無しさん (ワッチョイ f7a5-Az/2)
2018/10/28(日) 11:48:33.54ID:3RT+wTpd0 >>274
Invokeメソッドに投げるとはこういうことでしょうか?
private void _TS()
{
TextShowDelegate dlgTS = new TextShowDelegate(TextShow);
IAsyncResult ar1 = BeginInvoke(dlgTS, null);
}
Tipsの寄せ集めでやってるので理屈はあまりよくわかってませんwww
Invokeメソッドに投げるとはこういうことでしょうか?
private void _TS()
{
TextShowDelegate dlgTS = new TextShowDelegate(TextShow);
IAsyncResult ar1 = BeginInvoke(dlgTS, null);
}
Tipsの寄せ集めでやってるので理屈はあまりよくわかってませんwww
280デフォルトの名無しさん (ワッチョイ 6bb8-3KA+)
2018/10/28(日) 11:54:36.96ID:Lzmpvi1g0281デフォルトの名無しさん (ワッチョイ 8b8a-cxcD)
2018/10/28(日) 13:12:56.47ID:sLs9tkqy0 >>271
クラス化してる意味がほぼ無さそう....
コンストラクタで引数渡してメンバ変数にデータを覚えさせて使うのと
ことあるごとに内部関数の引数にデータを渡すのってどちらのが良いのだろう?
影響範囲とか小さくすることを考えると後者なのかなって思うけども
クラス化してる意味がほぼ無さそう....
コンストラクタで引数渡してメンバ変数にデータを覚えさせて使うのと
ことあるごとに内部関数の引数にデータを渡すのってどちらのが良いのだろう?
影響範囲とか小さくすることを考えると後者なのかなって思うけども
282デフォルトの名無しさん (ワッチョイ 8f9f-cwcA)
2018/10/28(日) 16:02:02.80ID:gvAysy2V0 >>281
あるメソッドで使うからコンストラクタで渡すって考え方自体おかしいかな
メンバはそのクラスが持つ必要があるから持っているわけでメソッドで使うから持っている訳では無い
例えば体クラスでBMIを計算するときは体重、身長は体情報だからクラスのメンバで持たせる
身長クラスでBMI計算するときは身長はメンバで持って体重はメソッドの引数で渡す
あるメソッドで使うからコンストラクタで渡すって考え方自体おかしいかな
メンバはそのクラスが持つ必要があるから持っているわけでメソッドで使うから持っている訳では無い
例えば体クラスでBMIを計算するときは体重、身長は体情報だからクラスのメンバで持たせる
身長クラスでBMI計算するときは身長はメンバで持って体重はメソッドの引数で渡す
283デフォルトの名無しさん (ワッチョイ 8b8a-cxcD)
2018/10/28(日) 17:25:54.20ID:sLs9tkqy0284デフォルトの名無しさん (ブーイモ MM5b-DBFP)
2018/10/28(日) 17:38:11.82ID:ISWax1KhM 何か正しいかはユースケース次第
クラス単独での設計の正解なんか存在しない
クラス単独での設計の正解なんか存在しない
285デフォルトの名無しさん (ワッチョイ c92b-7TBo)
2018/10/28(日) 18:47:58.26ID:VnMv7Anc0 身長クラスではなくBMI計算機クラスがいいのかな
286デフォルトの名無しさん (ワッチョイ 3b76-7TBo)
2018/10/28(日) 20:53:14.99ID:c1Io2A4L0 >>279
https://qiita.com/mounntainn/items/8a2b4f1cf47bd02657f3
自分は上のに近いのでやってる
InvokeRequiedで判定してスレッドセーフにするのが定石みたいだね
https://qiita.com/mounntainn/items/8a2b4f1cf47bd02657f3
自分は上のに近いのでやってる
InvokeRequiedで判定してスレッドセーフにするのが定石みたいだね
287デフォルトの名無しさん (ワッチョイ 05a5-Az/2)
2018/10/29(月) 11:51:55.81ID:IQ5w1AIM0288デフォルトの名無しさん (ワッチョイ 5781-dYvX)
2018/10/29(月) 13:34:23.83ID:09l7CDuO0 C#ではnumpy.randomみたいにSeed値を指定するようなことってできるんでしょうか?
289デフォルトの名無しさん (ブーイモ MM5b-DBFP)
2018/10/29(月) 13:36:55.22ID:f3zS/OjjM できる
290デフォルトの名無しさん (スップ Sd37-eYkk)
2018/10/29(月) 14:41:55.61ID:xwSUZkbbd とても初歩的な質問なんですが
protected AbBb _abbb;
こんな感じのプログラムってなんていいますか?
protected AbBb _abbb;
こんな感じのプログラムってなんていいますか?
291デフォルトの名無しさん (ブーイモ MM5b-DBFP)
2018/10/29(月) 14:44:34.42ID:f3zS/OjjM クソコードというんじゃない?
フィールドをprotectedにしているプログラムはC#では一般的にはそう呼ばれる
フィールドをprotectedにしているプログラムはC#では一般的にはそう呼ばれる
292デフォルトの名無しさん (スップ Sd37-eYkk)
2018/10/29(月) 14:47:11.97ID:xwSUZkbbd >>291
なんていうか、_と書くことで別のところから持ってこれるようになる方法のことです
なんていうか、_と書くことで別のところから持ってこれるようになる方法のことです
293デフォルトの名無しさん (ワッチョイ d323-4x81)
2018/10/29(月) 14:52:04.17ID:oAZGLoeZ0 _から始まろうがそうでなかろうがC#では普通の識別子であって言語的に意味の違いはない
メタ的に意味はあるかもしれんがそれは文脈次第
なのでもうちょっと文脈を示してもらわないと意味分らん
メタ的に意味はあるかもしれんがそれは文脈次第
なのでもうちょっと文脈を示してもらわないと意味分らん
294デフォルトの名無しさん (ワッチョイ d3eb-o1DS)
2018/10/29(月) 14:52:15.80ID:ZsrJ9icq0 >>292
DIっていうんだよ
DIっていうんだよ
295デフォルトの名無しさん (ワッチョイ c9c3-9OwH)
2018/10/29(月) 20:42:23.22ID:1yFXm6Bf0 >>294
初心者相手なんだから略してない名称も書いてあげたら
初心者相手なんだから略してない名称も書いてあげたら
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【地震速報】青森県で震度6強 沿岸部に津波警報 ★6 [ぐれ★]
- 「日の丸にバツ印」掲げた大学生 あいまいな国旗損壊罪に「怖い」 The Mainichi [少考さん★]
- 【音楽】BARBEE BOYS・KONTAが事故で四肢麻痺を公表、新体制で活動は継続 [少考さん★]
- 【野球】野球の未来に危機感「マイナースポーツになる」 宮本慎也氏が開催…学童大会 [尺アジ★]
- 中国「捜索レーダー起動は各国の通常の手法」 火器管制用か回答せず [蚤の市★]
- 【訃報】声優・西村知道さん死去 「SLAM DUNK」安西先生役 9月に体調不良のため一時休業 [少考さん★]
- 三角形はカッコいい
- 【画像】大人気Vtuber宝鐘マリンさん、115円…
- ぺこーら、地震で同僚が次々配信を止めるなか強行し続けるので悪目立ちするwww [268244553]
- ロボット展に中国企業80社以上が出展。日本は逆転不可能かも
- 俺はヤンキーだから
- 【速報】高市早苗、起床 [779938112]
