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

レス数が1000を超えています。これ以上書き込みはできません。
2019/05/16(木) 19:28:06.27ID:s+6oZKe00
!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)

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

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

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

■情報源
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
http://referencesource.microsoft.com/
-
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
2019/05/16(木) 19:28:59.30ID:s+6oZKe00
・Insider.NET > .NET TIPS - @IT
https://www.atmarkit.co.jp/ait/subtop/features/dotnet/dotnettips_index.html
・DOBON.NET .NET Tips
https://dobon.net/vb/dotnet/index.html
2019/05/16(木) 19:29:16.32ID:s+6oZKe00
C# のガイド
https://docs.microsoft.com/ja-jp/dotnet/csharp/index

Microsoft Docs
https://docs.microsoft.com/en-us/

.NET Documentation
https://docs.microsoft.com/en-us/dotnet/
https://referencesource.microsoft.com/
2019/05/16(木) 21:27:50.86ID:ZoVvvxluM
DataTableにSelectを使うとき、

dt.Select("Value = '" + value + "'");

なんて行うと、valueにシングルクォートが含まれた時にエラーになります。
もしシングルクォートだけが問題ならこの文字だけエスケープすればいいのですが、
SQLインジェクションと同じことができそうで、なんかSelectの中の文を
作成してくれるなんとかBuilderみたいなものがありそうな気がしたのですが
探しても出てきません。valueは外部から与えられるとき、安全でエラーなく
dt.Selectを実行するなんか対策方法はないでしょうか。
5デフォルトの名無しさん (ワッチョイ ef4f-rckI)
垢版 |
2019/05/17(金) 06:38:03.53ID:pevdljBD0
いつからかは定かではないけど気付いたのは2週間ほど前
埋め込んだPMG画像のX軸方向の表示比率が狂ってフォームのレイアウトがずれる現象が起こった
「あれ−プロパティの設定間違えたままビルドしたのかな?確認しなきゃー」と思っていたら
今朝見ると元に戻ってた
なんで???こんなこと起こる物?
Windowsのアップデートに関係あるのかな?
2019/05/17(金) 07:11:50.30ID:GiXqVPbm0
e.Data.GetData(DataFormats.FileDrop)
ドラッグエンターされたファイルのファイル名を取得したいのですが、
wpfだとfiledropのインテリセンスが出ません
方法が変わっているとしたら、参考ページを教えてください
エクスプローラのような表示がしたいのです
2019/05/17(金) 07:20:19.39ID:9MJvTMs2M
ダッセw
2019/05/17(金) 07:44:53.08ID:YBOnmRBMd
>>5
あるよ
2019/05/17(金) 08:11:02.59ID:gZLbXhzCd
>>5
winupdate関連ならこういうのとか?
https://qiita.com/CodeOne/items/22004635d3c7cc533e5e
10デフォルトの名無しさん (ワッチョイ ef4f-rckI)
垢版 |
2019/05/17(金) 08:20:13.62ID:pevdljBD0
>>9
あーなんかコレっぽいな
PNGがずれたんじゃなくてフォーム自体が横伸びしたのか
ありがとう
2019/05/17(金) 08:44:00.43ID:65sULU0k0
>>4
SQLインジェクションはエスケープされないクォートを混ぜてやるものだから
あんたの思い過ごしだよ
2019/05/17(金) 11:39:10.48ID:8VLhbVxR0
>>4
Ruby, PHP などのフレームワークで使う、
place holder みたいに、値だけを安全にはめ込むやつだろ

SQL インジェクションでは、; で一旦、文を終わらせてから、
また違う文をつなげてくる奴もいる
2019/05/17(金) 12:08:51.26ID:GiXqVPbm0
wpfのリファレンスってどこにあるんですか?
特にないのですか?
14デフォルトの名無しさん (ワッチョイ f82d-Q2B8)
垢版 |
2019/05/17(金) 15:30:49.88ID:JF+UKpuC0
>>13
ちょうど専用スレが立ったっぽいから、そっち行ったほうがいいんじゃない?
http://mevius.5ch.net/test/read.cgi/tech/1557960752/l50
2019/05/17(金) 16:22:19.88ID:GiXqVPbm0
↑どうも 了解です
2019/05/18(土) 06:49:02.88ID:M6x4drXG0
イベントというのはすべて
mainwindow.xaml.cs
に追加されるんですか?

自分で作ってcsファイルなどに分けないとコードでごっちゃになるんじゃないでしょうか
イベントは
mainwindow.xaml.cs
に置いて、
処理部分は他から呼び出すというセオリーなんですかね
2019/05/18(土) 09:42:52.47ID:GEx07AN40
設定用のクラスを XmlSerializer を使ってファイルに保存しています。
デシリアライズ時に例外が起きた時、とりあえず今はあきらめて新たにクラスを初期値で生成するようにしています。
このとき、せめて例外が発生した変数だけ初期値にするとかの対処をしたいのですが、どのようにすればいいのでしょうか。

そんなにはないのですが、書き出した設定ファイルを人が編集するのにある程度耐性を持たせたいと思っています。
特に enum は綴り間違うとすべてがパーになるので。
2019/05/18(土) 10:39:13.87ID:7Pnn73GQ0
>>17
だったら設定値編集するツールでも作れ

パンピーにxmlの編集はできそうで無理
すぐに階層ぶっ壊す
どこでエラーが出たのかわからない
せめて読み込んだときに○行目でエラーですよとか
括弧の対応付が腐ってますよとか
出れば・・・それが直せる人間ならエラー出さん気もするが
2019/05/18(土) 10:54:32.86ID:oTYVhQug0
>>17
それC#というか設計の問題に見える
要素ごとにチェックして例外を検出したところだけ差し替えるって泥臭い方法しか無いんじゃね
2019/05/18(土) 11:06:09.13ID:tLFT43eQM
まあSAX系のParser使えば済むだろ
XmlSerializerはガタガタ文句を言わない奴が使うもんだ
2019/05/18(土) 11:37:15.79ID:fYyO/h33F
設定ファイルとして使うならJSONの方がユーザーが扱いやすいよ
2019/05/18(土) 11:38:53.24ID:7Pnn73GQ0
>>21
あれ、編集できる猛者はバイナリでもやってくれそう
2019/05/18(土) 12:00:07.41ID:R06AaKeM0
jsonもxmlも手作業で編集させない前提じゃないと無理だと思う
あえてやる人は自己責任で放置
24デフォルトの名無しさん (ワッチョイ 6502-qY1O)
垢版 |
2019/05/18(土) 12:42:19.98ID:OQYrbR790
>>17
適当だけどシリアライズする時にいじられる可能性があるファイルとは別にバックアップファイルも作っておけば?
失敗したらバックアップファイルから読み込むとか
2019/05/18(土) 15:49:30.00ID:GEx07AN40
どうも、色々有り難うございます。
やっぱりかゆいところに手が届くようにするには全部自分でヤるしかないんですねえ。

>>24
一応それだけはやってます。

まあ、XML 形式は人間がいじるには不便なので、昔ながらの ini ファイル形式の処理なども検討してみます。
2019/05/18(土) 17:42:36.41ID:eMzBQbdsd
>>25
ini使うんだったらJSONの方が使い勝手いいよ
JSON.NETで簡単にシリアライズできるし
2019/05/18(土) 18:00:47.70ID:GtOtQ7tSd
結局、key valueだったらjsonだわな。
2019/05/18(土) 19:40:41.40ID:7Pnn73GQ0
CSVならエクセルで開けんで?
2019/05/18(土) 22:05:43.33ID:XXYGI5ia0
ini ファイルは古い。
XML, JSON, YAML, CSV

Vagrant, Chef ではRuby、Gradle ではGroovy など、
プログラミング言語そのものが設定ファイルになるのが、間違いが少ない
2019/05/18(土) 22:16:44.23ID:AjHoo0DiM
ini (プロファイル)よりCSVの方が古い
件について小一時間

SuperCalc形式だものね
2019/05/19(日) 14:54:54.80ID:Tz3mdNYZ0
jsonってコメント書けるの?
2019/05/19(日) 15:18:17.73ID:ZizjC4JWp
書けないンゴ
2019/05/19(日) 15:31:02.10ID:gLWKrV0ia
今更だけど>>17はすげえ面白い発想だなw
この発想はなかった

他の人も書いてるけど、「手動で編集して壊してももそれなりによきに計らうようにしたい」
って発想がそもそも合理的じゃないね。
労力の使い方が間違ってる。

編集させたいなら編集できるツールを提供するのが筋でしょう普通に
2019/05/19(日) 15:43:58.11ID:5QEI0n2d0
>>4
亀だがLINQ使えば?
2019/05/19(日) 16:58:39.64ID:Sq+osQsS0
てかxmlって俺らは読みやすいけどパンピーには編集不能だし
xmlって客の利点は1つもないよ
お客に「え?そのフォーマットって俺等になんの利益があるの?」
って言われてはじめて気づいたけどな
コメントもかけないし
書いても次の出力で消えるし
2019/05/19(日) 17:36:13.38ID:rIeXrTmo0
>>35
> コメントもかけないし
<!-- え? -->
2019/05/19(日) 18:02:37.75ID:Sq+osQsS0
>>36
ん?ユーザが書き込んだコメントを
次の出力で出せるの?
2019/05/19(日) 18:03:37.96ID:d2+mGljV0
別にxmlになったから読みやすいとか無いけど
プログラムとかライブラリが読みやすいでは?
2019/05/19(日) 18:03:41.06ID:W8L8TXY00
>>35
読みやすいかな?
そりゃ意味はわかるけど、読みやすくはないなあ。
2019/05/19(日) 18:05:20.48ID:Sq+osQsS0
>>39
プログラムから読み込み易いってこと
2019/05/19(日) 18:08:33.90ID:QuCKjtMQd
>>35
コメントは書けるだろ
2019/05/19(日) 18:11:37.65ID:Sq+osQsS0
>>41
書いたコメントを読み込めない
2019/05/19(日) 18:13:57.67ID:QuCKjtMQd
>>42
DOM使えば読み込めるよ
2019/05/19(日) 18:14:01.15ID:Tz3mdNYZ0
>>42
c# - XmlDocument reading XML Document comment Issue - Stack Overflow
https://stackoverflow.com/questions/6468994/xmldocument-reading-xml-document-comment-issue
2019/05/19(日) 19:01:25.29ID:QuCKjtMQd
xmlよりもjsonの方がかなりデータサイズが小さいからファイル保存にしても通信文にしても最近はjsonの方を使ってるわ
2019/05/19(日) 19:18:03.58ID:PMIzDMsea
xmlといえば@ITのC#記事でのこき下ろし方が
まるでxmlに親でも殺されたかのような書きっぷりで笑えた記憶が
2019/05/19(日) 19:19:08.50ID:rIeXrTmo0
>>37
出力が何を示すのか知らんけどコメントのためのクラスもあるから適切に処理すればコメントも扱えるよ
https://docs.microsoft.com/ja-jp/dotnet/api/system.xml.xmlcomment?view=netframework-4.8
2019/05/20(月) 01:15:28.17ID:ee7ewuKV0
データの一時保存のためにXMLエディタみたいな機能積むのは嫌だ。
自己データの保存用のXMLなんだから不必要なタグや属性は無視したいよ。
ただ、どんな保存形式であれ不正データの発生は防ぎきれないから質問主の方針には賛成する。
不正データな時点で内容が信用できないと判断してオール初期化するのも悪手ではない。
2019/05/20(月) 01:26:07.42ID:K7mtfUzra
質問内容は不正データを排除する方法じゃなくて、
手動で編集されて(あるいは別の理由で)「壊れた」データからでも読める部分だけでも読めないかって話だから
2019/05/20(月) 03:34:53.02ID:ittsRsgU0
手っ取り早いのはシリアライズするenum型のプロパティをstring型に変更して想定値以外に編集されてもExeceptionが発生しないようにすることでしょうな
2019/05/20(月) 07:13:37.85ID:h4Os3XI/M
不正データを排除って言っても
> 特に enum は綴り間違うとすべてがパーになるので。
ぐらいだけなら>>50とかの対処療法でなんとかなるけどタグ名の間違いとか文字列のダブルクォーテーションの抜けとかまで言い出したらパーサーを作り直すに近いことになるからそんな所で苦労するなら>>33の言うようにツールなりを提供した方が楽
2019/05/20(月) 08:04:55.23ID:WRHDTme5a
属性を持たせたいならxml一択
2019/05/20(月) 08:07:45.04ID:MXQiPVhxM
そもそもxmlを編集する有名なツール自体がない
あってもとても一般人には触れない代物

人に編集させたいくせにあえてこのフォーマットにする意味がそもそも皆無
エクセルでも読めないし
一体どうして欲しいのか?
別の設定ツールを作るときにプログラムから読み書きがしやすいってただそれだけだろ
んでツールの提供も嫌だって言うんじゃ
メリット皆無
そもそもxmlを選択した時点で担当者は無能で死刑
2019/05/20(月) 09:18:28.49ID:1dspVVtJd
えくせるwww
55デフォルトの名無しさん (ワッチョイ 6e7c-Q2B8)
垢版 |
2019/05/20(月) 11:20:58.13ID:g1Dx2x5o0
xml は糞
2019/05/20(月) 15:53:54.65ID:IYtfHjiI0
以下のように非async関数proc1から、awaitが必要な関数proc3を呼び出すのに async void の関数proc2を挟んでいます。
この時、proc3/proc2のすべての処理が終わってからproc1に返ってきてほしいのですが、ログを確認すると

Enter proc2⇒Enter proc3⇒proc3 start⇒Exit proc2⇒proc3 end⇒Exit proc3
となってしまいます。

Enter proc2⇒Enter proc3⇒proc3 start⇒proc3 end⇒Exit proc3⇒Exit proc2
という順序で実行させるにはどうすれば良いのでしょうか。

private void proc1()
{
  Debug.Write("Enter proc2");
  proc2();
  Debug.Write("Exit proc2");
}
private async void proc2()
{
  Debug.Write("Enter proc3");
  if(await proc3())
  {
    foo();
  }
  Debug.Write("Exit proc3");
}
private async Task<bool> proc3()
{
  Debug.Write("proc3 start");
  await bar();
  Debug.Write("proc3 end");
  return true;
}
2019/05/20(月) 16:29:27.47ID:UpaSmFYv0
>>56
proc1でproc2をawait
2019/05/20(月) 16:48:17.44ID:IYtfHjiI0
>>57
proc1は同期メソッドなので、await proc2(); はできません。
2019/05/20(月) 17:25:01.51ID:UpaSmFYv0
>>58
なら、proc2.Wait()
2019/05/20(月) 17:25:01.60ID:wrDP3R9n0
async Task proc2()
にして
proc2().GetAwaiter().GetResult();
とか
2019/05/20(月) 17:58:04.54ID:IYtfHjiI0
>>59
そんなやり方があったんですね。

ただ、async void proc2() だとエラーになったので async Task proc2() に変更して希望の動作になりました。

ありがとうございます。
2019/05/20(月) 18:13:28.96ID:yAZ6lWg7a
イベントハンドラーなど戻り値をvoidにするしかない場所でだけ、async voidを使うべき
それ以外はasync Taskかasync Task<T>を使おう
http://neue.cc/2013/10/10_429.html
2019/05/20(月) 19:47:30.75ID:NntmuTz60
>>62
そんなのは設計や仕様、ポリシー次第。
なんでもかんでも型にはめるな
2019/05/20(月) 19:53:39.19ID:Ea6E7La1r
初心者スレだから自己判断しろというのは難しいかもしれんが、
有用なノウハウや定石ってのはあるんだよ
2019/05/20(月) 19:57:11.89ID:yAZ6lWg7a
>>63
イベントハンドラー以外に戻り値voidが必須な場面があるなら
具体例を挙げていってもらったほうがためになるんだが
2019/05/20(月) 20:06:27.69ID:hMek9ucfM
上級者様は自殺するか死ね
2019/05/20(月) 20:14:59.41ID:NntmuTz60
>>65
非同期タスクを管理する処理が別にあるとか、
サーバ間でデータ同期するけどリアルタイム性は求めず、整合性チェックも後でやるとか
俺はいろんなとこで経験したぞ。

時間のかかる処理はとにかく後回しでfire&forgetして、
目の前の処理を最優先にしたいことだってある。

「必須」とは言ってない。
状況「次第」と言っている。

実績のあるサイトがそう言ってるからと思考停止するのはやめてくれ
2019/05/20(月) 20:27:56.33ID:bliI8bxJ0
jpgを読み込んだbyte配列をUTF8で文字列化し、それをbyte配列に戻すと正しく復元できません

System.Text.Encoding.GetBytes(System.Text.Encoding.UTF8.GetString(bytes));

何故でしょうか
2019/05/20(月) 20:33:41.61ID:nUCZI9rN0
>>68
C#以前の問題
UTF-8を使ってすべてのバイナリを文字列に対応させて変換することはできない
2019/05/20(月) 20:43:52.08ID:yAZ6lWg7a
>>67
状況次第でasync voidを使う場合があるんだな、知らなかったありがとう

>>68
https://docs.microsoft.com/en-us/dotnet/standard/base-types/character-encoding#choosing-a-fallback-strategy
https://docs.microsoft.com/en-us/dotnet/api/system.text.utf8encoding#remarks
Encodingインスタンスには、文字列化出来ない場合にどうするのかを扱うDecoderFallbackプロパティがあって
Encoding.UTF8の場合はReplacement fallbackを使ってREPLACEMENT CHARACTER (U+FFFD)に変換する
だからGetString()時点でjpg中のutf-8でない部分はU+FFFDに変わるのでGetBytes()しても復元できない
2019/05/20(月) 20:48:37.77ID:xhf1KGbK0
>>70
最近Blazorのソース内でもasync voidを使うべきかって話をSteven先生らがしてたね
PRとそのディスカッション追っかけてみるとおもしろいよ
72デフォルトの名無しさん (ワッチョイ 9602-HOgd)
垢版 |
2019/05/20(月) 21:09:30.64ID:bliI8bxJ0
>>69 >>70
Replacement Character に変換された時点で不可逆になるってことか
助かった。ありがとう
73デフォルトの名無しさん (スップ Sd02-rzGG)
垢版 |
2019/05/20(月) 21:15:12.88ID:UR9kN7had
どうしても文字列にしたいならbase64
74sdfasdfasdfsd (ワッチョイ 3570-EbOW)
垢版 |
2019/05/20(月) 21:22:49.73ID:VWEIYE4F0
Visual Studio(C#)のプログラミングに関する質問です。

インクルードする2ファイルが、双方のクラスを互いに必要とするケースにおいて、
コンパイルが通らなくて困っています。(当たり前なのですが…)

【Aファイル】
クラスAの定義{
クラスBの使用(インスタンス作成、メソッド利用)
}

【Bファイル】
クラスBの定義{
クラスAの使用(インスタンス作成、メソッド利用)
}

【全体インクルードファイル】
#include Aファイル
#include Bファイル

【コンパイル結果】
Bクラスが存在しません(Aファイルにて)

【質問】
お互いにクラス定義を必要とする場合、
★具体的に★どのような実装をすれば良いのでしょうか?
2019/05/20(月) 21:29:41.06ID:Bu5yaqN9a
C#でインクルード?
VisualStudio/C#のバージョンはなに?
2019/05/20(月) 21:34:07.81ID:CFJtADgh0
>>74
とりあえず言っておくと#includeはc#じゃない
一般論で言えばAとBの機能が両方必要な部分でCを作って処理するべきだな
2019/05/20(月) 21:38:58.17ID:zvO9BMGmp
C++ならImplパターン的なのになりそう
78デフォルトの名無しさん (アウアウカー Sa0a-qY1O)
垢版 |
2019/05/20(月) 22:15:36.37ID:4rJ56KmUa
>>74
どういう場合にそんな設計しないといけないのかが気になる
79デフォルトの名無しさん (ワッチョイ 3570-EbOW)
垢版 |
2019/05/20(月) 22:38:26.25ID:VWEIYE4F0
>>75
本当はC++ cliですけど、C#の方がみなさんに馴染みがあると思うので
言語差異は私が吸収するのでC#として教えてください
80デフォルトの名無しさん (ワッチョイ 3570-EbOW)
垢版 |
2019/05/20(月) 22:39:43.45ID:VWEIYE4F0
>>76

一般論で言えばAとBの機能が両方必要な部分でCを作って処理するべきだな

ご教授ありがとうございます。これだと実装がきたなくなります。
未解決です
81デフォルトの名無しさん (ワッチョイ 3570-EbOW)
垢版 |
2019/05/20(月) 22:41:01.38ID:VWEIYE4F0
>>77
知識不足で教習ですがImplパターンとはなんでしょうか。
ぐぐっても出てきませんでした、
2019/05/20(月) 22:49:57.98ID:Bu5yaqN9a
条件の後出し、質問文に虚偽か

>>80の回答でもダメなんでしょ
「C#にはincludeがないから言語仕様として>>74のようなクラスの書き方をしてもコンパイルエラーにならない」
という回答にしかならないから、貴方の知識と頑張りでC++CLIに読み替えてくれ
2019/05/20(月) 22:53:46.69ID:RwQcJLUy0
実装が汚いって>>74の時点で汚物まみれやんけwww
2019/05/20(月) 22:56:25.44ID:5mAsU23+0
私は貴方のお母さんではありません
2019/05/20(月) 23:04:19.27ID:XzV4NN/g0
頭の中もさぞかしゲロまみれであろう
2019/05/20(月) 23:05:45.37ID:Cm4lSS/q0
マルチポストで上から目線ってすげーな
全体インクルードファイルとかいうもん作るのになんで実装が汚いなんて拘るのかも意味不明
君の思う綺麗な実装なんてなんで他の誰かが気にしなきゃいけないのw
2019/05/20(月) 23:11:16.82ID:0XbNrzL70
どっちの画面からも
お互いの画面を呼び出す仕様を素直に作っちゃうとそうなるな
今は無意識にそういうの避けてるだけで
あるはあると思う
辻褄が合うように頑張るしかない
2019/05/21(火) 00:21:42.93ID:7ZZvuA7z0
インターフェース使えばできると思うが、オススメはしないな
2019/05/21(火) 01:09:08.10ID:M9GsAJ+k0
C++の方にはすぐ回答出てたけど前方参照するだけの話
トリッキーでも何でもなくちょっとした規模の開発なら余裕で出てくる基礎的な内容
C++ 相互 参照 あたりでググればいくらでも記事は出てくる
そんな基礎的な内容を知らないのになぜか上から目線
2019/05/21(火) 01:39:01.98ID:CAN2Js5F0
>>89
それで回避していいならc#も同じじゃねっけ?
2019/05/21(火) 01:40:43.20ID:CAN2Js5F0
ただ、一部の人間からはウンコ認定されるってだけ
2019/05/21(火) 06:42:05.09ID:tdstqwiHM
そういう経験ない人からの認定なんてどうでもよくね?
2019/05/21(火) 07:08:14.10ID:meTEBfC3M
組み方によって回避できるよ多分
2019/05/22(水) 00:05:54.67ID:uN3Dm6wF0
普通にC#のプロジェクトならそのAクラスもBクラスもコンパイルエラーにはならんのじゃねえの?
言語差異を吸収するってなら、全体インクルードファイルってのをC#に置き換えてから質問しろよ
2019/05/22(水) 01:20:47.85ID:rbGbzH6ha
率直に思ったこと。

少なくとも俺には件の質問者が上から目線で物を言っているようには聞こえない
むしろ質問に正面から答えずに言い掛かりをつけてる連中の方がよほど上から目線で頭がオカシイ
2019/05/22(水) 02:15:27.63ID:HqRLK9QX0
そうか、そういうのはママにお話してあげてな生ゴミくん
2019/05/22(水) 03:42:23.27ID:sEhyUb960
>>95
俺もそう思う
2019/05/22(水) 06:16:41.31ID:t1pLQv560
>>95
>>79辺りは人によっては上から目線と取る人がいるかもな
あと>>86が書いてるようにマルチポストだしそもそも言語(C++/CLI)を後出しするとか質問のしかたも色々おかしいとは思う
2019/05/22(水) 08:35:59.17ID:PRmXlAdaa
上から目線で、というのは>>96みたいなのを指すんだろ
2019/05/22(水) 09:45:56.54ID:4WKngIFH0
レスが真矢みきの声で再生されるから、
痛いとも思わん。

むしろご褒美
2019/05/25(土) 01:29:08.07ID:6oktqQ9W0
お前らいっつも喧嘩してんな
2019/05/25(土) 01:49:47.06ID:b/i4jST30
私のために喧嘩するのはやめて!
103デフォルトの名無しさん (ワッチョイ 6768-W1Ja)
垢版 |
2019/05/26(日) 18:26:18.96ID:NZfOTj1K0
xmlファイルをdll化することってメリットありますか?
何故かxmlのdllが出来てたのですが、理由はなんでしょうか?
2019/05/26(日) 19:00:10.18ID:68ZlmbT30
>>103
フォーマット違うんだけどな。dllに埋め込まれたxmlリソースが見えただけじゃないの?
もしくはxmlファイルを間違ってdllにリネームしてしまったか
「何故か」の過程が分からないと難しいしC#に関係あるかすらわからない
2019/05/26(日) 19:03:01.37ID:kiCcEgc2M
ユーザー定義リソースなら何でも書けるよ
2019/05/26(日) 19:14:38.59ID:gL51xVlRd
日本語でよろしく
2019/05/26(日) 20:51:40.86ID:KIe0CODm0
visual studioではcsファイル単体でのテストは可能ですか?
デバッグしたいです
wpfです
2019/05/26(日) 20:58:26.81ID:68ZlmbT30
>>107
プロジェクトが無いとデバッグできないしWPFはcsファイル単体では成り立たないんじゃないの
https://docs.microsoft.com/ja-jp/dotnet/framework/wpf/getting-started/walkthrough-my-first-wpf-desktop-application
これ以上はWPFスレで聞いてください
WPF(.NET4.x, .NET Core) GUIプログラミング Part23
https://mevius.5ch.net/test/read.cgi/tech/1557960752/
2019/05/26(日) 21:02:25.57ID:KIe0CODm0
すみません じゃあvs code使いますです
2019/05/27(月) 15:50:03.21ID:akjP+mMa0
githubで他人のコードを見て勉強しているのですが、

Action OnInit { get;set;}
というプロパティに対して

OnInit?.Invoke();
というコードは何をしているのでしょうか?
2019/05/27(月) 16:02:02.29ID:gRTKnRKQ0
if ( OnInit != null )
{
 OnInit();
}
2019/05/27(月) 16:48:18.03ID:akjP+mMa0
>>111
ありがとうございます、C#6からの機能なんですね、新しい書き方についていかなければ。
113デフォルトの名無しさん (ブーイモ MMcb-WFXE)
垢版 |
2019/05/27(月) 19:42:02.15ID:at7F4ASBM
>>112
単純に短く書けるってだけじゃ無いからな。
>>111だとマルチスレッド時に1つ目の{でスレッドが切り替わって
OnInitにnullがセットされてしまう可能性があるが
Invokeにはそれが無い
114デフォルトの名無しさん (オッペケ Sr5b-ySD8)
垢版 |
2019/05/27(月) 19:54:29.22ID:jyj66Likr
>>113
Invokeにじゃなくて?. の仕様な
2019/05/27(月) 19:54:39.07ID:lwWgLhFv0
Ruby にも、&. という、null(nil)許容演算子が出来た

Swift から来た、流行か
2019/05/27(月) 20:35:27.77ID:5pJw+KKe0
今、一からデータベースプログラミングの勉強するなら、
@型付きDataSet A型なしDataSet BEF
のどれがよいでしょうか?
2019/05/27(月) 20:40:41.26ID:uloK3O7ha
DataSetなんて15年以上前の技術なんか今更触っちゃダメ
Web上の情報でもDataSetを扱ってるようなページは問答無用で無視してよい

EFと言いたいところなんだけど・・・・個人的にはSQLの勉強も兼ねてDapperを推したい
データベースの基礎共用として手書きSQLがひととおり書けるようになっておいたほうがいい
2019/05/27(月) 20:48:22.48ID:LNS8v7+tM
>>116
上の人も言ってるが、CSQL
DBを自在に操れるようになるまでC#はしばらく封印しなさい
2019/05/27(月) 22:32:39.99ID:5pJw+KKe0
>>117-118
ありがとうございます。
DataSetとDapperをちょっとだけ試してみました。

DataSetはGUIで簡単にクエリを生成して実行もしてくれますが、DapperはSQLをソースコード内に直に書いて、Connectionも作る必要がありました。
こういうものでしょうか?それともDapperのGUIのSQLビルダー機能を見落としているのでしょうか?
2019/05/27(月) 22:55:14.89ID:N+biQgtua
SQL書けない奴はプログラマを名乗るな
2019/05/27(月) 23:02:35.44ID:dknccbkiM
>>120
ニヤニヤ
2019/05/27(月) 23:26:39.44ID:bCVUGNm+a
>>119
そういうものだよ
GUIでコーディングをラップしたようなツールは決まって生産性が低い
2019/05/27(月) 23:42:07.71ID:uloK3O7ha
>>119
DapperでSQLを書かずに済ませたい場合は、Dapper用クエリビルダを別途導入
nugetパッケージが多数公開されてるから合いそうなのを選ぶ・・・んだけど、デファクトスタンダードなものがないんだよね
単純なCRUDができれば十分でSQLを手書きせずに済ませたいならDapperよりもEFを使うほうが良いと思う
>>116さんならカンもよさそうだしとりあえずEFでCodeFirst⇒CRUDひととおりできればさほど困らないかも

ただそれでもSQLは別途学習したほうがいい
集計とかパフォーマンスを考慮したデータ検索とかをやろうとするとどうしても自前でSQLを書く必要が出てくる
2019/05/28(火) 00:13:06.87ID:n5bJXWyL0
とりあえずdapperでPostgresqlからデータを取得して、Entityクラスのインスタンスを作って、DataGridViewのDataSourceに指定したのですが、
asでカラムの別名を指定しても、プロパティ名もその別名にしないと、指定した別名になってくれないですね。

//Entityクラスのプロパティ名を、"名前","有効","備考"にしないと機能しない。
var sql = "select pkey, name as 名前, enabled as 有効, memo as 備考 from m_tbl_department;";
var result = con.Query<Entity.Department>(sql).ToList<Entity.Department>();
view.DataSource = result;

回避策がすぐに思いつかないので、EFも触ってみたいと思います。
2019/05/28(火) 08:55:21.94ID:WAihcsXB0
列ヘッダの表示なら、クエリでasでやるんじゃなくて
class Department {
[DisplayName("名前")]
public string name { get; set; }
2019/05/28(火) 09:38:11.91ID:tpS8MDSU0
C# のフレームワークには、Ruby on Rails みたいな、O/R マッパーが無いのか?
今時、文字列で、SQL を書く人なんて、いるのか?

SQL インジェクションもされるから、今は、O/R マッパーのメソッドを使う。
placement に値を入れるだけで、SQLインジェクションをエラーにできる
2019/05/28(火) 10:09:05.63ID:OLBGotQQ0
>>126
EFを知らないのか
それと上で出ているDapperもその一種だ
2019/05/28(火) 10:29:03.95ID:nGxfAzB2a
>>126
お前はRubyスレから出てくるな
2019/05/28(火) 10:35:26.92ID:FiHQa1DK0
A言語のスレで「A言語にはB言語でいうCみたいな機能は無いのか?」って聞いても、B言語を知らない、詳しくない人には「Cみたいな機能」がどんな機能かわからん。
B言語のスレなら少なくとも「Cみたいな機能」がどういう機能かはわかるんだから、聞くならB言語のスレで聞けばいいんじゃね?

今回ならRubuのスレでね。
2019/05/28(火) 10:35:51.99ID:FiHQa1DK0
あ・・ Typo・・・
2019/05/28(火) 10:43:26.90ID:4asTXY3/d
>>129
そのレベルの問題じゃない
2019/05/28(火) 11:33:20.74ID:MzojxIZTM
>>126
それRubyスレで言ってみ?
意識高い系Rubyist(笑)達からも嵐のようにマサカリ飛んでくるよw
2019/05/28(火) 11:57:04.06ID:4xq1FFDVM
>>126
ストアド叩けばええんちゃう?
2019/05/29(水) 11:04:17.50ID:8l8j4cjm0
昔は、C#での帳票にはクリスタルレポートを使っていました。
最近は、C#(Windowsアプリ)で一番多く使われているのは何でしょうか?

一番多く使われているものを教えてください。
2019/05/29(水) 12:37:48.69ID:GnXFyo5ZM
>>134
多分、データを帳票の枠の入ったExcelファイルに書き込んで表示or印刷的なのが多いかと
っていうかクリレポってそんなに多かったですかね?
昔から私の周りではこっちのが主流でしたw
2019/05/29(水) 12:49:27.29ID:2L2FZYjAM
>>134
JasperReports
2019/05/29(水) 16:20:00.76ID:SMQO8msKF
>>134
グレープシティのなんか。
2019/05/29(水) 18:07:30.21ID:xcggW8D+a
よく知らんけど帳票って専用のライブラリ使わなきゃいけないほど複雑な分野なのかな。

よっぽど凝ったデザインとかじゃなきゃ自分でゴリゴリ書いても
たいした手間じゃないと思うんだけど

WPFのDocumentは触ったことないけどGDI+なんか全然簡単よ
2019/05/29(水) 18:09:50.31ID:mJlxjjN/0
情シスで未経験ながら一人開発してるんですけどSQLをクラスに書きながら世間様ではどうしているのか気になりました
クエリ専用クラスとか作ってるのでしょうか?
神クラスにまとめているのでしょうか?
ドメイン駆動設計独学してる限りではSQLは対象の知識に閉じ込めておくべきかなと考えておりますが、ベテラン様のご意見を伺いたいです
140デフォルトの名無しさん (ブーイモ MMcb-WFXE)
垢版 |
2019/05/29(水) 18:27:22.97ID:xRp200EqM
WPFなら帳票もxamlで作る
外部ライブラリは要らない
MVVMでちゃんと分離出来てれば、チャチャっとデザイン屋に頼めば良い。
FixedDocument作ってプリンタに送る部分だけちょっとめんどいかな
2019/05/29(水) 20:30:50.69ID:RpTtWZkWd
Open Xml SDK使ってxlsxファイルに流し込んでる
2019/05/29(水) 20:47:27.03ID:8l8j4cjm0
>>135 >.136 >>137 >>138
昔はクリスタルレポートを使ってWindowsアプリでは、帳票出力していました。
確かにExcelで印刷時のテンプレートのデザインをざっくり作っておいて
C#から特定のセルに値を転記して、印刷した方が早いと思います。

ただ、このやり方ってどうなんだろうな〜と思いまして。動けばいいんですけど。

はまった時に解決するのが大変なので
できるだけ世間一般で多く採用されている手法を取りたいと考えています。
2019/05/29(水) 22:40:18.15ID:ZESC3voLd
iTextSharp使ってPDFのテンプレートに流し込むのというのも作ったことある
2019/05/29(水) 23:07:18.43ID:3nSVS9eo0
今はライセンス料必要だけどね
2019/05/30(木) 12:47:28.06ID:NTWA4E5yM
>>113-114
えっ?
そんな余計な機能がついてるんだ…
性能劣化するのはちょっと嫌かも
2019/05/30(木) 12:51:13.14ID:NTWA4E5yM
>>138
プリンタによって細い罫線がでないとかに真面目に対処しようとすると結構大変だからその手のライブラリに丸投げする
プリンタが固定なら自前で作ってもいいけど
2019/05/30(木) 14:46:36.95ID:6LmM0VYIM
>>145
フィールドの場合は一度ローカル変数に読み出してから分岐とメンバアクセスをするだけだろ
フィールドへのアクセスはローカル変数に比べて遅いから、繰り返しフィールドを読むのに比べてむしろ速くなる可能性がある
さすがにフィールドにvolatileが付いてない限りは繰り返しのフィールドアクセスは一度ローカル変数に読むのと同じ動作になるように最適化されるだろうけど
2019/05/30(木) 15:39:26.40ID:v6SxCCrXa
>>146
そんなトラブル聞いたことないよw

っていうかそれが起こるとしたらプリンタドライバまたはプリンタそのものの問題なので、
ユーザーコードレベルで回避なんかできるはずがない

だいたいインクリボンの時代じゃあるまいし、目視できる範囲の細い線が消えるって
どんなプリンターよwww
2019/05/30(木) 15:55:37.74ID:2VoqWsrK0
9600dpiの帳票で1dot幅の線を引いたりしてるんじゃないの。
プリンタドライバの縮小アルゴリズムが単純間引きに近い動きをすると
線が消えるので、プリンタの解像度を取得して自分で最適なアルゴリズムで
戦を残すように細工する必要がある場合がある。
2019/05/30(木) 16:33:56.92ID:cDWpvGTkM
ピクチャーボックスに描画したやつは消えたな
文字はジャギってた
2019/05/30(木) 16:57:21.42ID:v6SxCCrXa
>>149
白抜き以外の普通の描画ならピクセル幅より狭い線の描画は
ピクセル幅になる(つまり指定した幅より太くなる)だけで消えることはないはず。
だからプリンタの設定でdpiがやたら大きな値になってるから細い線が消える、
というのは考えづらい

ピクセル幅より狭い間隔の平行線は引けないはずなので、
ピクセル幅より狭い白抜きの線が消えるというのなら話としては一応筋は通るけど、
現実的にはプリンタのピクセル幅の線なんかどっちにしろ少なくとも裸眼で目視できないでしょうw
2019/05/30(木) 19:30:06.92ID:faqOodUI0
>>148
運が良いね
仕事で色々なメーカー触る機会があると遭遇するぞ
2019/05/30(木) 19:56:58.26ID:NTWA4E5yM
>>148
そりゃ普通の人はめったにそんな目に合わないからね
さすがに単純な罫線でおかしくなるなんてことは大手メーカーだとあまりないけど罫線に微妙な色がついてるとか他の図形の下にある(もちろんその図形は透明)とかいろいろな条件が重なると出ないことがあるんだよ
帳票って見栄えにこだわる人が多いからちゃんと出すのは結構大変なんだよ

>>151
だからそういう論理的には出るはず
なんて言うのを言ってもしょうがない
2019/05/30(木) 20:55:03.88ID:L2fORM+za
>>153
だからこの話のキモは、そんなことがあるとしたらプリンタ側(デバドラ and/ or ハードウェア)の不具合なので、
ユーザーコードで回避できるはずがないと。普通に考えたらそうでしょう。

クリレポの類の開発者だけが使える「特別の魔法」なんかあるはずがない。
2019/05/30(木) 21:18:45.95ID:Y+sVy9qF0
帳票開発はこんなのもあるみたい
試したことないけど

https://docurain.jp/
2019/05/31(金) 05:23:38.20ID:6gUA7KH4M
>>154
君、プリンタ関係のことよく知らないでしょ?
アプリケーションからの出力方法って1つじゃないんだよ
罫線だってGDI命令として出力することもあるし図形として出力することもある
同じ内容でも出力する順序によって挙動が変わるなんてことすらある(まあどう見てもドライバとかのバグだと思うが…)
そういうのをちまちま回避するってことなの
2019/05/31(金) 10:02:32.84ID:yuizSVlIa
>>156
だから何を言ってるのかね。
論点はそんな話じゃなく、ユーザーコード側でワークアラウンドを打てるかどうかだから。

クリレポのベンダーさんは、世界中の全メーカーの全プリンタの全部のHWリビジョンと全部のドライバーバージョンを
チェックして、個別に問題回避コードを書いて、かつそれをメンテナンスしてるとか思ってるわけ?

できるわけないだろそんなことw
アホちゃうかマジで
2019/05/31(金) 10:07:46.89ID:yuizSVlIa
何度も書いてるけど、そもそもユーザーコード側で問題を回避できるケースなんて
幸運なケースだけのはずで、バグに起因する問題なんかそもそもどうやっても回避できない
ケースの方が多いはずだ。

クリレポのプログラマはスーパーギークだから不可能を可能にしちゃうの?w
ありえません。
2019/05/31(金) 10:28:17.88ID:M/SlBIow0
>>154
消えるよ。
それで、いっそ…でRPDLで打つ羽目になったりするんだよ。令和の時代に。
ビットマップで描いてるんだろうなぁ…には先回りして手作業で回避したりしとくもんだよ。
変倍で出力されたら3ラインに1ラインは描画されないことがある、とかザラにあるんだから。
業務系をもう少し知ったほうが良いと思う。
2019/05/31(金) 10:32:10.36ID:M/SlBIow0
>>158
クリレポの良いところは、すっごい帳票も出せないけど、最小限はきっちり出すところで、
変倍のサーマルラベルプリンタにバーコード出したりきちんとしよるよ。
スーパーギークだからではなく、バグレポートがクソほど溜まってるからじゃないかな。
俺も送ったことあるもん。

自分が踏まなくても誰かが踏んで、その回避コードが埋まってると考えると、
売り物のライブラリも悪くはないんよ。

チェックをクリレポさんがしてるわけじゃなくて、チェックは自分たちがやらされてるけど、ワークアラウンドはクリレポ側に溜まってるし、ちゃんと契約してたら教えてくれるしパッチもくれるぞ。

あんまり業務で使った事無いんでしょ。
2019/05/31(金) 12:26:53.84ID:LXc8d8ErM
>>157-158
> クリレポのベンダーさんは、世界中の全メーカーの全プリンタの全部のHWリビジョンと全部のドライバーバージョンを
すぐに「世界中」とか「全プリンタ」とか言い出すとか子供かよw
メジャーなプリンタのメジャーなバージョンにまずは対応して後は>>160が言うように利用者からの申告に個別対応するんだよ
そのために保守契約を結んだりするわけ

> アホちゃうかマジで
お前がなw
世の中こういう泥臭い仕事があることも知っておいた方が恥をかかなくて済むと思うぞ
2019/05/31(金) 12:48:00.17ID:4cN9QpXUd
確かにプリンターは鬼門
だからxlsxやPDFに吐いて印刷は他のアプリに投げるのが楽なんだよ
2019/05/31(金) 14:20:53.01ID:eC5Mq3IeM
一旦Excelに吐くとどうしても出ないときの最後の手段で手で修正できるから
結構こっちのが好きなお客さん多いよね
帳票ライブラリだとプログラマが根性出すしかない
テンプレートファイルが別になってればワンチャンあるけど
それもこのファイルだけ折り返して欲しいとかはまあ無理だよね
2019/05/31(金) 14:37:35.21ID:M/SlBIow0
>>163
excelのライセンスが許すときは俺もexcel出力好きだなぁ。
ホントに運用でなんとかなる最後の砦だと思う。

特にPDF出力はexcelのライセンスが無くてもLibreOffice使って出す方が安心できる。
最悪の場合手作業で直して貰って出力できるし、これが標準テンプレートエディタでござい、って出しても平気だからな、LibreOffice。
2019/05/31(金) 15:18:52.47ID:yuizSVlIa
>>161
常識的に考えて、そんな計約を結ぶよりプリンタを買い替えた方が経済的。
そもそもそれなりのメーカーのそれなりの価格の業務用のプリンタにそんな不具合なんてありません。
2019/05/31(金) 15:23:36.16ID:yuizSVlIa
もちろんエンドユーザーにプリンタ買い替えろなんて言えないけどね
2019/05/31(金) 16:48:25.79ID:M/SlBIow0
単純な経済性なんかでプロジェクト回ってるわけ無かろうが。
どこの資本が強いか次第じゃねえの?

それなりのプリンターでも地雷は踏んだことあるし、
特定のプリンタしかサポートしないって言ってても当たるときには当たるんだこれが。

だからみんなリコーでRPDLでこれぐらいのやつ、とか、どこのPSプリンタ、とかメーカーと言語を指定するんであって。

ちなみにリコーのそれなりの価格の業務用機で拾ったからな。俺は。
ありました。が正しいわ。
2019/05/31(金) 16:51:48.73ID:M/SlBIow0
なんか自分でゴリゴリ書くことを否定されたのがよっぽど悔しいのかな。
それも悪くはないよ。ちゃんとサポートするなら。

普通の規模のパッケージ製品とか、数出るカスタマイズ製品とか作ってたら、普通はライブラリ使うってだけで。
2019/05/31(金) 17:09:01.28ID:yuizSVlIa
>>168
>よっぽど悔しいのかな。
こちらからは君がそう見えている。
思った通りやっぱりこういう思考回路の人だよね。


プリンタでは聞いたことないが、Win95の頃はOfficeに特定の環境向けの不具合回避コードが
入ってるとか、そういう話は確かに聞いた記憶がある。

2019年にはそんなものないよ。そんな牧歌的な時代じゃないんだから。
だいたい帳票なんかより余程複雑な図形を印刷するアプリなんていくらでもあるのに
(例えばCAD)それらにも特定のプリンタの不具合回避コードが入ってて、エンドユーザーの
フィードバック聞いて保守してるのかね。

そんな話聞いたことないよ。
CADで図形が欠けるなんてことがあれば致命的なことで大騒ぎになるはずだけど。
2019/05/31(金) 17:19:05.57ID:M/SlBIow0
>>169
いやいや、悔しかないよ。
そう見ているから、そういう思考回路の人ってちょっとヤバくない?

あ、CADはあるよ。
俺今ユーザ系だけど、普通に印字欠けはベンダと調査して結局対応してもらった事ある。
プロッターをプリンタに入れていいならめちゃくちゃあるよ。
だからみんなCADのバージョンアップも、OSのバージョンアップもしたくないんだよ。
2019/05/31(金) 17:21:53.80ID:M/SlBIow0
AutoCADとHPの相性の悪さはFAQの記事にもなっとるな。
https://knowledge.autodesk.com/ja/support/autocad/troubleshooting/caas/sfdcarticles/sfdcarticles/JPN/HP-printers-do-not-work-with-AutoCAD-2015-on-Windows-8.html

あと、何故か特定のプリンターつないでたらクラッシュするとかそういう恐ろしいのもあったぞ、過去。
2019/05/31(金) 17:23:52.91ID:M/SlBIow0
汎用ドライバ、とか、専用ドライバとかも聞いた事無いんだろうか。
2019/05/31(金) 18:37:00.29ID:6h827xBta
紙文化、帳票文化の人は大変そうだね
この能力、労力を他に回せてたら、日本も少しは良くなってたのかな
2019/05/31(金) 19:21:41.37ID:M/SlBIow0
大変っちゃ大変だけど、仕事だしな。
紙に出したものを正とする業界だと余計に仕方ないと思うよ。
JIS Z8114通りに「出図とは登録された図面を発行する行為」であると定義してる所も少なくないだろうし、
JIS Z8114守りたければCADで描いた線がCADで描いた通りに出ないことがどれだけ問題か解ると思うが。

規格守って図面描いてるから日本は町工場でもきちんとしたモノが作れると思ってっけどなぁ。
悪くは無いと思うぞ。
2019/05/31(金) 20:31:19.27ID:LXc8d8ErM
>>165-166, >>169
マジで恥ずかしすぎる…
世の中が経済性だけで回ってるわけじゃないしプリンタ買い替えてから気付くなんて普通にあるだろ
その度毎にアプリ改修するより保守料払ってもミドルベンダーに対応してもらった方が普通は安いぞ
よほどの中小かブラックでもない限りw
2019/05/31(金) 20:35:59.56ID:LXc8d8ErM
>>171
Windows NT4 + Epson MJ500でくらったわw
もう四半世紀前の話なんだな…
2019/05/31(金) 21:10:42.43ID:QCfDprfqa
想像だけでそんなはずないだろうと決めつける人と、実際に業務で経験していて経験談として語れる人。どちらが説得力があるかは明白だな。
178デフォルトの名無しさん (アウアウカー Sa7b-+r4I)
垢版 |
2019/05/31(金) 21:38:28.85ID:emoSvWMQa
GUIアプリでちょっとデザインにこだわらないといけなくなったんですが、formアプリでそういった場合工夫でなんとかなるもんですかね?
WPFを覚えたほうがいいですか?
2019/05/31(金) 21:51:19.62ID:QYEqsHXk0
>>178
「ちょっと」の内容が分からないと「デザイン重視ならWPFの方がいいだろうね」って答えしかできない気がする
2019/05/31(金) 22:16:02.24ID:2x3aymDv0
WPFは無駄な苦労が多すぎでせっかくできても動作がもっさり
2019/05/31(金) 22:31:02.04ID:F4dMJYTFa
>>175
恥ずかしいのは君の方。
企業にとっては経済性は最重要問題だ。

そもそもこういう話は実例を挙げられない時点で「存在する」と言ってる方が負けている。

だいたい2019年にもなってそんな間抜けなプリンタなんかあるかw
ねえよ馬鹿臭い。

レーザーだってインクジェットだってコモディティー化してからいったい何十年経ってるんだよ。
2019/05/31(金) 22:34:16.90ID:F4dMJYTFa
それに筋論から言えばプリンタに不具合があればプリンタメーカに
対応しろと言うのが筋だ。

その方が安心で確実だし、餅は餅屋で問題解決までの時間だって短いだろう。
何度も言うように、そもそもユーザーコードで本当にプリンタの問題を回避できるの?
2019/05/31(金) 22:37:10.83ID:6h827xBta
まあ確かに社内で課題は共有してるがプリンタ固有のバグとかここ10年は1個も見てないな
そんなに苦労してるなら懐古厨か極端に運が悪いかのどっちかじゃないか?
2019/05/31(金) 22:58:41.40ID:M/SlBIow0
挙げたじゃん。AutoCADの例。
2019/05/31(金) 23:04:12.84ID:M/SlBIow0
ちなみに>>171の件は、一部のプリンタはHPのサイトにはドライバ無くて、Autodeskのサイトの該当のQ&Aに載ってるドライバ入れないとうまく動かなかったり、
ホントに「ソフトウエアベンダーがわざわざ特定のプリンターにドライバを提供してる」例だからね。
2019/05/31(金) 23:22:30.43ID:724uYZRf0
>>181-182
まだ言ってるのかよ…
恥の上塗りにしかなってないぞ

> 企業にとっては経済性は最重要問題だ。
意味わからん、いちいち社内の人間が対応するほうが安いのか?
上にも書いたけどそれ相当のブラックじゃね?w

> そもそもこういう話は実例を挙げられない時点で「存在する」と言ってる方が負けている。
例えばこれをどう説明する?
スプールするのと直接印刷するので結果が違うんだよ?
https://www.lifedesignedit.com/solve_print_problem_specific_part_not_appearing
お前が思ってるほど印刷関係は単純じゃないんだよ

> それに筋論から言えばプリンタに不具合があればプリンタメーカに
> 対応しろと言うのが筋だ。
そうだね
対応してくれるまで帳票印刷しなくていいなら俺もそうするよw

>>183
普通のユーザーはそんな色々なプリンタ使わないんだけど数機程度のプリンタ使っただけで語ってないよね?
2019/05/31(金) 23:23:39.97ID:QYEqsHXk0
何のスレだよここ。日曜まで引っ張りそうだな
2019/05/31(金) 23:37:28.13ID:o2jVU7xt0
初心者スレだぞwww
2019/05/31(金) 23:42:10.44ID:M/SlBIow0
初心者スレって事すっかり忘れてた。すまん。
いっぱい反対の証左が上がったことは素直に認めたほうがいいぞって例だったことにしといて。
2019/05/31(金) 23:59:11.93ID:sMdSlTfK0
>>164
ライセンスが許す時とは?
2019/06/01(土) 00:14:55.56ID:ZvFYhi5ud
>>190
例えばサーバーでオフィス動かしたらライセンス違反か高いライセンス料じゃなかったっけ確か
うちはライセンス考えるのが面倒だからOpen Xml SDKでxlsx生成してる
2019/06/01(土) 00:26:25.73ID:AyUs9JF+M
僕はClosedXMLも使いますが、
面倒な時は、.NPOIも使います
2019/06/01(土) 02:48:46.20ID:K47xKOLF0
>>191
なぜサーバーでOffice?
いまどき直でSDK触るのなんてめんどくさくない?
2019/06/01(土) 02:50:03.79ID:K47xKOLF0
>>192
こないだのBuildでは、D.RothがEPPlus使ってたね
2019/06/01(土) 06:18:22.95ID:iD7nGhF+0
>>190
概ね>>191の通りだよ。
2019/06/01(土) 07:04:55.13ID:Spf5VD38a
>>186
俺だけじゃなく社内で10年の蓄積だからなぁ
プリンタ機種数という観点で統計出したことないから数字はわからないが少ないってことはないよ

つうか普通のユーザーなんて書いてる時点で君もうすうす気付いてるようだけど
普通のユーザーには縁がない障害ってことでしょ
特殊事例を熱心に語られても共感は得られないと思うぞ
2019/06/01(土) 07:41:12.68ID:oq8Hkx220
>>196
だからいつまで続けるんだよ粘着
2019/06/01(土) 07:58:39.37ID:bisdSzOZM
>>196
また恥の上塗りかよ…

> 俺だけじゃなく社内で10年の蓄積だからなぁ
君の会社は印刷関係の不具合あったらいちいち君に報告することになってるの?w

> プリンタ機種数という観点で統計出したことないから数字はわからないが少ないってことはないよ
具体的な数字を出せない時点で語られてもなぁ

> 普通のユーザーには縁がない障害ってことでしょ
リスク管理とか聞いたことないの?

> 特殊事例を熱心に語られても共感は得られないと思うぞ
上の方に何件も事例上げられてるのに馬鹿丸出し過ぎるw
2019/06/01(土) 08:01:00.37ID:Spf5VD38a
>>198
報告つうか共有してるって書いてんじゃん
プリンタのバグじゃなくて君の目がバグってんじゃねえの?
2019/06/01(土) 08:11:19.40ID:K47xKOLF0
>>195
>>193
2019/06/01(土) 08:22:41.39ID:Spf5VD38a
>>198
具体的な数を計測しなくても意義のある議論なんてのは世の中にいくらでもあるのだがね
数学って知ってる?変数や定数って見たことある?
とまあそれはおいといて
うちは年20件前後の案件で10年だから役200案件分の蓄積がある
現場の重複と客のプリンタ複数持ちがどう相殺されるかは読めないが
まあ控えめに言っても数十機種は見てるだろ
それだけやって障害に出会ってないならレアケースとしか言いようが無い

リスク管理は確率統計の世界だよね
滅多に発生しない被害の小さいプリンタ固有のバグに真剣に取り組む人はリスク計算ができない人なのだろね

何件って規模じゃまったく足りないわな
世界中で使われてるプリンタ機種数のスケール考えろよ
そんなケースも極稀にあるんだねとしか言えんわ
2019/06/01(土) 08:29:24.18ID:Fdt5DU0xM
プリンタの模範的な出力方法が知りたい
2019/06/01(土) 08:35:37.95ID:4C6V+Hcu0
普通の帳票ならExcelで作っておけばほぼ問題は起こらない
あと、あまり新しい機能は使わない
プリンタの会社はExcelぐらいテストしているからね
2019/06/01(土) 08:41:38.64ID:Fdt5DU0xM
いや、今、c#からやってるけど
dobonのサンプルだと
これグラフィックオブジェクトに描いて画像として印刷してんじゃん?
これだとやっぱり用紙サイズと解像度が合わないとき
線って消えるよね?
ベクトル描画的な指定方法って別にあったりする?
2019/06/01(土) 09:26:51.71ID:Fdt5DU0xM
@用紙サイズ
Aプリンタの解像度
Bアプリの印刷描画バッファ
Cアプリの仮想描画バッファ

C→Bに描画するとき解像度が合わないときに余白が必要
B→Aはなんか微妙にうまく合わない

グリッドを印刷したいんだけど
結構大変じゃね?これ
2019/06/01(土) 09:43:08.53ID:+tM+iBjia
dobonのサンプルってことは自前でGDIをいじるようなやり方だと思うんだけどまあ苦行でしかないよなあ
その時代、00年代前半の模範的なやり方としては、
まともな印刷物を出したいならそれこそクリレポやそれに類する有料の帳票ツールを使わざるを得なかった
(文化オリエント⇒グレープシティのとか、翼システム⇒ウィングアークのとか)

いまさらGDIを使うくらいならWPFのFixedDocumentを使うほうがよっぽど楽だと思うけど
2019/06/01(土) 09:49:21.88ID:Fdt5DU0xM
いや、別にどっちでもいいんだけど

用紙サイズ
プリンタ解像度
アプリ印刷描画バッファ
アプリ仮想描画バッファ

の4つをつなげる方法さえあれば
誰も困らんと思うよ
ただ、うまくいかないね
線も消えるし(多分どこかの解像度があってない)
2019/06/01(土) 10:31:36.33ID:Spf5VD38a
余計な事して自滅してただけってオチか
2019/06/01(土) 10:34:13.81ID:w9UetZ9K0
>>196
普通のユーザーじゃなく自分に縁がないかもしれない事例でも、そういうことがあるってのは有用な情報だと思ったよ。
自分が経験したことがないからそんなのは存在しないなんて主張していたお前さんの意見の方が共感できないよ。
2019/06/01(土) 10:37:46.45ID:HEgsU4H0d
>>193
Web APIでxlsx生成して返すとか普通にあるでしょ
2019/06/01(土) 10:38:24.33ID:Spf5VD38a
>>209
存在しないとは言ってないがね
そんな稀なケースしかもぶち当たっても大したリスクはないくだらない問題を大げさに語りすぎじゃねえかと言ってる
2019/06/01(土) 10:54:49.93ID:uvuK6mvN0
>>201
数十機種で語られてもなぁ…
しかも不具合を君が全部把握してるの?
っていう部分はガン無視w
まあおまえがどう思おうとそういう世界がある事実は変えられない

>>211
> ぶち当たっても大したリスクはないくだらない問題
CADで線が消えるのをくだらない問題とかアホすぎるw
2019/06/01(土) 10:56:58.21ID:Spf5VD38a
つかプリンタ固有のバグが再現するサンプルコード出してくれよ
どんな書き方したらそうなるのか興味あるわ
プリンタ機種とミドルウェアは市販されてるならなんでもいいけど普通の企業が普通に採用するものがいいな
マイナーレアケースじゃない事を示したいわけだからな
言語はC#スレだからC#で
2019/06/01(土) 11:06:46.85ID:Spf5VD38a
>>212
不具合はほぼ目を通してるぞ
調査まではしないがこういうバグあったな程度の記憶が役に立つ事は多い

逆に言うとおまえがなんと言おうと
世界はプリンタでそんなに困ってない

くだらねえな
さっさとメーカーに直させておわり
2019/06/01(土) 11:19:06.71ID:Spf5VD38a
>>186で印刷マニア自身も言ってるが普通のユーザーはそんな色々なプリンタは使わない
印刷マニアが何百機もプリンタを王道から外れた手段で弄り倒した経験をもとに「プリンタにはバグがよくあるんですよ」なんて言われても普通のユーザーは「へえそうなんだうちのプリンタは正常に動いてるけどね」としか思えないわな
マニアとマニア以外で頻度とリスクの感覚がかけ離れてるんだよ
2019/06/01(土) 11:22:32.05ID:sr9CupPy0
そりゃそうだ。。。だから、こういった場所でリスクを教えてもらえるのはすごく貴重。
お前馬鹿だろ^^;
2019/06/01(土) 11:26:59.05ID:Spf5VD38a
>>216
縁のないリスクをいちいち気にするのが真のバカ
放射脳みたいなもんだ
2019/06/01(土) 11:29:39.19ID:sr9CupPy0
縁がある人が縁のある人に質問したのがきっかけなの理解してる?
2019/06/01(土) 11:50:14.13ID:w9UetZ9K0
>>217
別に縁のないリスクを気にしてる訳じゃなく、そういうことがあるのね、って知識を得たというだけのことだよ。

今は君だけがヒートアップして振り上げた拳を下ろせずに困っているだけのように見えるぞ。
2019/06/01(土) 11:51:22.31ID:vZ26xbX80
>>218
個々のハードウェアやドライバに関わる相性問題でC#に関係ないのはわかる?
模範的に問題なく使えるライブラリはない、で普通は終了
2019/06/01(土) 11:53:40.25ID:N3ql+Pnzd
ついこないだのイヤホンと同じ流れ
あるだの無いだのどうでも良い
2019/06/01(土) 11:57:32.14ID:K47xKOLF0
>>210
Officeなんてインストールする必要ないってツッコミやろw
2019/06/01(土) 11:59:41.65ID:uvuK6mvN0
>>214
> 調査まではしないがこういうバグあったな程度の記憶が役に立つ事は多い
あれ?
> まあ確かに社内で課題は共有してるがプリンタ固有のバグとかここ10年は1個も見てないな
って言ってたんじゃなかったのか?
追い込まれすぎだろw
2019/06/01(土) 12:01:14.11ID:HEgsU4H0d
>>222
だからOffice使ってないと言ってんじゃん
2019/06/01(土) 12:02:45.19ID:uvuK6mvN0
>>215
おまえのリスクの感覚がおかしいだけ
上に上げた事例見ればわかる
知らないこと自体は別におかしくないけど知らないなら黙ってろよ
2019/06/01(土) 12:02:59.63ID:K47xKOLF0
>>224
俺もOfficeなんて使わないって言ってんだけど日本語通じてる?
2019/06/01(土) 12:06:55.97ID:5PS3x2eY0
>>226
こいつはいったい何に対して文句付けてんだろう
2019/06/01(土) 12:07:09.83ID:sr9CupPy0
>>220
> 個々のハードウェアやドライバに関わる相性問題でC#に関係ないのはわかる?
だから、発生しちゃうとすごくいらんコストがかかるってことでしょ。
それをリスクと考え、回避したいと考える人達がいてそういうことが必要な世界がある。
リスクを知らんと理解出来ない話ししてるんだわ。

おれは縁のない方の世界の人だけど、今回の話はかなり面白かったぞ。
あほなお前にも感謝してる!
2019/06/01(土) 12:10:16.28ID:K47xKOLF0
>>227
ここにも日本語の通じない人が一人
2019/06/01(土) 12:11:46.11ID:5PS3x2eY0
ID:K47xKOLF0
イチャモン付けてスレ荒らしたいだけだろ
2019/06/01(土) 12:14:18.89ID:K47xKOLF0
>>230
Excelファイル生成するためにサーバーにOfficeなんてインストールする必要ないから、>>191は何を勘違いしてんの?

…って丁寧に説明してあげても理解できない?
2019/06/01(土) 12:32:18.99ID:5PS3x2eY0
>>231
>>191>>190の質問に答えてExcelのライセンスが問題になる例を挙げてるだけじゃん
2019/06/01(土) 12:51:42.56ID:K47xKOLF0
>>232
Web APIでxlsx返すとき、とも言っとるけど、そんなのライセンス考慮する必要ないやろ
2019/06/01(土) 13:04:28.91ID:5PS3x2eY0
だからもしWeb APIでExcel使ってxlsx生成するならライセンスが問題になるかもねってことだよ
>>190の話の続き
2019/06/01(土) 13:09:03.70ID:5PS3x2eY0
https://support.microsoft.com/ja-jp/help/257757/considerations-for-server-side-automation-of-office
現在のライセンス ガイドラインでは、クライアントにライセンス認証済みの Office がインストールされている場合を除き、クライアント要求を処理するサーバー上で Office アプリケーションを使用することは禁じられています。
サーバーサイド オートメーションを使用して、ライセンス認証されていないワークステーションに Office 機能を提供することは、ソフトウェア ライセンス条項 (EULA) では認められていません。
2019/06/01(土) 13:21:51.18ID:K47xKOLF0
>>234
だからWeb APIでExcel使う必要ないよねって話なんだが
COMオブジェクトしか使えない時代からタイムスリップしてきたの?
2019/06/01(土) 13:27:46.02ID:5PS3x2eY0
>>236
だからExcelのライセンスが問題になる「一例」として挙げてるだけじゃんw
>>190の話の続きだよ
2019/06/01(土) 13:42:20.94ID:hoSI63knd
webAPIでexcel使う必要なんて客の要件次第だろ。
excelで図形合成してさらにオブジェクトのロックをかけて、
かつすでに描かれていた図形や文字列と合わせてpdfを生成して
ブックにパスワードつけてからダウンロードする口を作ってくれ

みたいな無茶振りを
「ちょっとそれ要件から揉みましょうや…まずpdf作るってところですけど
多分その使い方はExcelの証跡として残したいんですよね。互換ソフトじゃ実際問題ダメじゃないですか。
使用者みなさんにExcelのライセンスがあることを証明してもらえたらなんとかしようがありますけどそれ以外は無理です」
って返した事あるぞ。
2019/06/01(土) 13:51:11.77ID:K47xKOLF0
>>237
使う必要なんてないから問題にはならないよ?
2019/06/01(土) 13:52:31.25ID:K47xKOLF0
もともとExcelを使う必要がある特殊な要件なら、それは「問題」にはならんやろ
2019/06/01(土) 13:55:55.93ID:5PS3x2eY0
サーバーサイドでExcel使うのはライセンス的に問題あるって話なのに何が気に入らないんだろう
2019/06/01(土) 14:00:15.15ID:AyUs9JF+M
薬物洗脳でもしないと納得しないんじゃね?
2019/06/01(土) 14:14:43.16ID:PqDqKgvpa
>>207の人
なんかGraphicsはビットマップみたいなピクセル前提になってると思い込んでるように
聞こえるけどそれは勘違い

何がしたいのかよく分からないけどプリンタの解像度なんか意識する必要はない。
GDI+の印刷関係でちょっとトリッキーなのは印刷可能領域の扱いぐらい(用紙の左上じゃなく、
印刷可能領域の左上が原点になってる)であとは全然難しくない。

mmなりinchなり好きな物理単位を選択してその単位で位置やサイズを指定して描画するだけ。
2019/06/01(土) 15:13:41.52ID:YEbnM+a5M
>>243
じゃあ、dpiってどこで設定するの?
とりあえずプリンタが許す範囲で綺麗に印刷したいんだけど
得に文字がジャギるのをなんとかしたい

用紙サイズと
こちらの内部で扱う解像度は
どうやってマッチングさせればよいのか?
2019/06/01(土) 15:29:29.06ID:PJqPF6UZ0
日曜もやるなら
プリンタスレでよろ
2019/06/01(土) 16:23:51.35ID:iVO4qD1ea
>>244
プリンタのdpi(というか印刷品質)はプリンタ側の設定であってプログラムとは
無関係のはずだけど、いずれにしても今時ビットマップフォントでも使わない限り
ジャギーが出るとは考えにくい。

ひょっとしてビットマップに描画してそれを印刷してない?
dobonさんのところのサンプル見たけどそんな変なことしてないと思うんだけど。
2019/06/01(土) 16:48:58.97ID:QdCh0app0
ハードウェア板いけよ
2019/06/01(土) 17:41:21.50ID:iVO4qD1ea
>>247
話の中身をちゃんと読みましょう
そういう「交通整理」が一番無駄
2019/06/01(土) 17:58:01.95ID:7R64DLa3M
>>246
無関係じゃなくね?
dpiゼロって設定したらドットすら打てないのに無関係はなくね?

用紙サイズとdpiが決まって初めて印刷に必要な解像度が決まるんじゃね?
2019/06/01(土) 17:59:31.64ID:7R64DLa3M
>>246
dobonさんのってdpi設定してる?
2019/06/01(土) 18:30:53.40ID:iVO4qD1ea
>>249
君が紙の上にコンパスを使って円を描く時、
「俺のdpiっていくつだっけ?」なんて考えるだろうか?

考慮する情報は円の中心の位置と半径とペンの太さだけでは?
Graphicsに描画する時も同じこと
2019/06/01(土) 18:42:09.62ID:THO/EPeNd
線の太さ指定するのにDPIを考慮する事あるね
2019/06/01(土) 18:46:02.83ID:iVO4qD1ea
例えばオーディオの品質はスピーカーやアンプの性能に依存するわけだけど、
それはプログラムから変更可能なパラメータじゃない。

dpiだって同じでしょ
無関係ってのはそういう意味
2019/06/01(土) 19:27:06.06ID:4n3QP96w0
音だってサンプリング周波数は気にするだろ。
2019/06/01(土) 19:58:02.42ID:oq8Hkx220
とりあえずお前らは>>1のテンプレを読め
>「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
>なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
>C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください
256デフォルトの名無しさん (アウアウカー Sa7b-+r4I)
垢版 |
2019/06/01(土) 20:25:18.71ID:Lkf//U1fa
C#とv Visual C#の使いわけってどういうのが正しいの?
2019/06/01(土) 20:30:00.92ID:PRAPBnxH0
>>256
C#は言語で、Visual C#はかつてのC#単体のIDE(開発環境)
Visual C#はVisual Studioに統合されたから忘れて良いよ
2019/06/01(土) 20:45:29.99ID:AyUs9JF+M
CSCコマンドで不謹慎なプログラムを
作るゆうくんみたいな人がいるから

基本的には言語のスレかな
2019/06/01(土) 23:20:47.14ID:QdCh0app0
>>248
はいはい。Rubyスレにでも行って熱く議論してね
2019/06/02(日) 02:20:41.28ID:RpZopSul0
VC#はC#のMS実装という意味も含んでるんだと思ってた。
って、C#って外部団体で標準化されてたよね。

プリンタは細線が印刷されない経験が俺にもいくつか有る。
VB(not .net)全盛の時代だったから今もそうなのかは分からんが、
画面に線が表示されない現象が残ってる以上は印刷でも有り得るとは思う。
最初から考慮しとく必要は無いけど、現象にぶち当たった時に小手先の対応を求められるかも知れん。
APIやドライバに不備が合ったとしても最終納品物の品質に届いてないのだから。
2019/06/02(日) 03:05:37.66ID:Ur8Ia+9na
基本的にググって同じ例が見つからない「不具合」はリアルな不具合ではなく、
単純にコードのバグだと思った方がいいと思います。

ダメな奴ほど自分のコードを疑う前にシステム側の不具合だと思いたがるのは鉄板の法則です。
2019/06/02(日) 06:25:49.41ID:VOFsXmY20
>>261
まだやってたのか。
まず自分のコードを疑うのは言わずもがなで、そこは誰も否定していないだろう。その上で、そういうシステムの不具合の可能性もあるという話をしているだけだろう。お前だけが頑なにシステムの不具合の可能性を否定しているだけで。
2019/06/02(日) 07:12:42.38ID:LTngafh+a
>>260
対応する前に切り分けしなよ
複数のプリンタで同じ不具合が出るならプログラムを直すべきだが
そうでないなら運用の問題だからプログラムを直しちゃダメだ
それはプリンタの修理か買い替えで対処すべき問題
2019/06/02(日) 07:15:59.02ID:aKjmCqfpM
まだするのか?
2019/06/02(日) 07:22:28.51ID:LiI7xu6KM
>>263
まだいたのかw
2019/06/02(日) 07:40:24.50ID:LTngafh+a
>>265
ストーカーか?
2019/06/02(日) 08:42:21.96ID:LiI7xu6KM
専ブラも知らんアフォ?w
2019/06/02(日) 08:58:05.34ID:LTngafh+a
>>267
専ブラを使ったストーキング行為ってことか?
2019/06/02(日) 11:22:31.70ID:caoNnds2a
>>262
ちょっと被害妄想激しすぎないか。
>>261はあくまで一般論。

ついでに言わせてもらうけど、前にも書いたがやっぱり「こういうタイプ」の思考回路の人だよね。
「まだやってる」のは少なくとも君自身も同じじゃないのか?

「こういうタイプ」というのは、要するに自分を客観的に見る(少なくとも見ようとする)
もう一人の自分を持ってないタイプの人のことね。
2019/06/02(日) 13:59:29.33ID:RszfEHjQ0
>>269
> もう一人の自分を持ってないタイプの人のことね。
お前が言うなよ…w
2019/06/02(日) 16:42:31.41ID:vrlrWPYK0
>>269
日曜までプリンタの話題を引きずりたくはないが、
一般論として、自分がハマった経験も回避した経験もあって、かつ関連する記事も出せて、CADなら?みたいな無茶振りにも(たまたま俺の分野にヒットしたからだけど)答えてるのに、
「それを客観的に見る君」はなぜどこにも居なかったのかが一番疑問。

少なくとも知らなかったことは勉強になったぐらい言っときつつ、初心者に嘘ついちゃったことは反省したほうが良いと思うよ。

CADはプリンタどころか、環境に対するパッチも出てる。
ちなみにAutoCADはC#のSDKがあってとても便利。
2019/06/02(日) 17:05:52.35ID:9gx2Q+LYM
だからRubyスレ行けって
2019/06/02(日) 17:52:11.75ID:p6Dnlml40
お前らいっつも同じ争いしてんな
2019/06/02(日) 19:27:35.27ID:YyssyKgv0
毎回同じ奴らが騒いでいるだけだぞ
2019/06/02(日) 20:30:48.86ID:TlH6VNHL0
>>248
お前毎回悪質
知らないのにいきなりレスで罵倒したり
2019/06/03(月) 00:09:53.43ID:onOW6rqi0
MVVMについて学びたいんですけどどういうルートで学ぶのがいいんですかね
少し古くてもWPFや.NET MVCあたりの本を読むのがいい?
おすすめの書籍とかあれば教えてください
2019/06/03(月) 00:34:48.53ID:D/nGT1NT0
githubに転がってるチュートリアルを一通り触る
小さな機能のアプリをめんどくさがらず作法に則って作る
2019/06/03(月) 12:46:16.15ID:E+jaCPkn0
質問です。
iPhoneアプリしかでていないゲームで

例えば
「戦う」ボタンを一定間隔でクリックする方法ってありますか???
Androidならできると思います.

詳しい人教えてください!
2019/06/03(月) 12:48:42.27ID:KnjAO8isM
pythonが実行できると聞いたがそんなとこまでいじれるだろうか?

ってスレ違いやん
2019/06/03(月) 12:53:29.17ID:E+jaCPkn0
とあるiPhoneのゲームで最強になりたいんだよね。
PCゲームなら自動化はできるけど、iPhoneアプリの操縦となるときついかな〜。

誰か変態的にスキルの高い人教えてください。
2019/06/03(月) 12:56:31.64ID:FQNT6/jdd
スレ違い言われてるでしょ
282デフォルトの名無しさん (ワッチョイ 6a7d-2ZOZ)
垢版 |
2019/06/03(月) 13:01:47.44ID:E+jaCPkn0
板違いとは言われてません
2019/06/03(月) 13:15:49.41ID:KnjAO8isM
仮にできても潰してくる類の処理だから探す気になれんな
2019/06/03(月) 13:25:21.39ID:km43TpLN0
>>278
「ユーザー入力の記録・再生」なるものが、iOSでもできるようになっているなら、
その「再生」のやり方を使えばできる可能性はある。
Windowsなら、マウスやキーボードのイベントの WM_LBUTTONDOWN, WM_KEYDOWN
などを ゲームの Window に PostMessage() してやれば良いだけなんだけど。
2019/06/03(月) 13:26:10.65ID:FQNT6/jdd
こういうの作れ
不正検知がかなり難しい部類でbanの危険性下げれる
https://youtu.be/gMySGU0J7Ss
2019/06/03(月) 13:39:34.81ID:yo5xl/l60
同じ場所をタップするだけならソレノイド使えば簡単にできるよ。
C#にこだわるなら、UWPを組んでラズパイ+Win10 IOT Coreとかね。
287デフォルトの名無しさん (ワッチョイ 6a7d-2ZOZ)
垢版 |
2019/06/03(月) 14:41:32.88ID:E+jaCPkn0
>>283
日本語しゃべってくれ

>>284
iPhoneアプリをWindows上でエミュレートしつつ
Windows APIを使えばできるかな〜と思ってます。

>>285 >>286
できれば、ソフトだけで完結させたいです。

走り回って敵が出てきたら戦闘、HPが減ったら回復→無限ループ
2019/06/03(月) 14:45:41.67ID:2YPOAxrwa
>>282
それなら、この板で適切なスレを見つけてそちらで聞いてきな
2019/06/03(月) 14:46:24.90ID:FQNT6/jdd
>>287
iOSアプリのエミュレートをWinでって時点でかなりハードル高い
普通は前提条件としてMacになる
そしてそんな前提条件すら把握できてないならまず無理だから諦めて
せめてMac関連のスレに行って
2019/06/03(月) 14:48:09.12ID:yo5xl/l60
>>287
iPhoneのエミュを作るの?
頑張ってね。
291デフォルトの名無しさん (アウウィフ FF1f-5O4J)
垢版 |
2019/06/03(月) 15:00:10.18ID:ZJy6OnVgF
ワン切りとかチケット予約とか電話しまくるアプリの場合
ソフトでなんとかしても規制かかるよな

やっぱソレノイド最強
292デフォルトの名無しさん (ワッチョイ 6a7d-2ZOZ)
垢版 |
2019/06/03(月) 15:39:53.42ID:E+jaCPkn0
>>289
なるほどですね。
iOSとObjectiveCを勉強しなくちゃならなそうですね。
2019/06/03(月) 18:06:39.53ID:KkdWK1BJ0
【速報】クオカード五百円分とすかいらーく優待券をすぐ貰える   
https://pbs.twimg.com/media/D8H96MlUcAA23Qr.jpg  
   
@ スマホでたいむばんくを入手     
A 会員登録を済ませる   
B マイページへ移動する。  
C 招待コード→招待コードを入力する [Rirz Tu](スペース抜き)     
 
今なら更に4日18時までの登録でクオカードとすかいらーく優待券を両方ゲットできます    
     
数分で出来ますのでご利用下さい。    
2019/06/04(火) 09:38:16.84ID:lHE5izfja
デザイン画面のtoolStripMenuItemの項目をダブルクリックして、メソッド作ったのだけど、
仕様変更してるうちにこのメソッドは要らなくなったのでできればコードから削除したいのだけど
ただ削除してもどこからも呼び出してないのになんかエラー出るし、どうすれば安全に削除できるのでしょうか
2019/06/04(火) 10:05:48.18ID:DtXMrPXEp
C#ってさ、分かりやすくしようとして、より複雑化してるよな?
2019/06/04(火) 10:08:49.20ID:JKFFUl2mM
>>295
毛ほどもわかりやすくしようなんて気は見られない
僕の考えた変態言語仕様ドヤァ!
しか知らんが
2019/06/04(火) 11:32:40.61ID:cZr1QjOu0
まだC++よりわかりやすい
機能追加していけば互換性維持のため複雑になるのは仕方ない
また1から設計されたいい感じの言語が出てきてそいつが広まりそうなら乗り換えれば良いやって思ってる
2019/06/04(火) 12:42:08.03ID:G0aIjPgkd
>>295
たとえば?
2019/06/04(火) 12:59:39.35ID:yXylbBOB0
#ifで定義済みプリプロセッサ シンボルの"NET40"をチェックしたいのですが
定義されていないようで思うような挙動になりません。
他にNET20〜NET48も定義されていないようでした。
これらは特定のバージョン以降で使用できるのでしょうか。
また定義済みプリプロセッサ シンボルの一覧を見る方法はあるのでしょうか。

環境 VisualStudio2015
ターゲットフレームワーク .Net Framework4
記述例 #if NET40
2019/06/04(火) 13:45:05.95ID:g1r7g3uN0
>>293
ええな
301デフォルトの名無しさん (ワッチョイ 6a7d-2ZOZ)
垢版 |
2019/06/04(火) 14:55:33.26ID:RHX3fbho0
とあるゲーム

アプリを自動化したいと思ってる
2019/06/04(火) 14:59:29.30ID:q65K6viWM
>>301
すでに規約に反してそうw
犯罪の片棒は担げない
2019/06/04(火) 15:51:11.85ID:pUkZSDGpa
>>299
確かにダメだね何でだろう
試しにVS2010でもやってみたが同じだった
ググると普通に使ってるサンプルが出てくるのに変だな...
2019/06/04(火) 17:35:15.70ID:kLacA/8P0
https://ufcpp.net/blog/2017/5/newcsproj/
この話かな…
確かにVS2017で普通に作った.NET Frameworkのプロジェクトだと定義されてなくて
こっちのcsprojを手書きしたら定義されてる
.NET Coreとか.NET Standard向けのプロジェクトはデフォルトで新しいcsprojが作られてNETCORE2_1とかが有効になってる
2019/06/04(火) 18:08:11.74ID:DtXMrPXEp
>>298
タスク視点じゃ無いからコンテキストがわかりにくいんだよ。
同じクラス内に書いてるのに呼び出せなかったり書き込めなかったりさ。
デリゲートなんてもん導入しなくても解決出来るだろうにとかさ?
2019/06/04(火) 18:08:53.29ID:VzoYb92wd
>>305
具体的に
2019/06/04(火) 18:33:03.72ID:pUkZSDGpa
>>304
単純にそんな理由だったのかw
確かに古いドキュメントにはそんなものが定義されているって記述がないなあ
https://web.archive.org/web/20150118103549/http://msdn.microsoft.com/ja-jp/library/4y6tbswk.aspx
308デフォルトの名無しさん (ワッチョイ 6a7d-2ZOZ)
垢版 |
2019/06/04(火) 18:46:41.77ID:RHX3fbho0
>>302
単純なレベル上げを自動化したい、
犯罪じゃないでしょ。
2019/06/04(火) 19:13:07.32ID:v8Exozc80
>>308
いいや、お前は犯罪者だ
さっさとキエロ
2019/06/04(火) 20:03:01.76ID:yXylbBOB0
>>303,304,307
なるほど。納得しました。
ありがとうございました。
311デフォルトの名無しさん (アウアウカー Sa7b-ob9i)
垢版 |
2019/06/04(火) 21:39:13.84ID:XspZZE0fa
WPFってデザインがいいっていうイメージなんだけど
formよりもどういったところがデザイン性に優れてるの?
ブートストラップのxaml版みたいなテンプレートってないよね?
2019/06/04(火) 22:00:23.11ID:qyJua2Fm0
WPFはスケール出来るし
2019/06/04(火) 22:51:19.52ID:JzGIG0UPd
>>295
そんなことないよ
分かりやすくて単純でいろいろできて快適だよ
2019/06/05(水) 06:00:31.88ID:zagML6/E0
>>311
デザインの自由度は非常に高く、見た目をがらりと変えるのも比較的簡単に出来る。
ただし、出来合いのテーマとかはほとんど無い。標準のは古すぎるし。
標準でスケールするので、最低限の高DPI対応は何もする必要が無い。
2019/06/05(水) 06:44:41.46ID:vfWMaWlM0
ライブラリをstaticでusingしてるコードを見たのですが、静的にusingするってよく使われるやり方なのでしょうか?
あまり考えた事が無かったので
2019/06/05(水) 07:12:31.52ID:5J+xpv5ma
>>313
お世辞にも単純ではないわ
言語仕様の大きさでいうと現役のメジャーな言語の中じゃC++に次ぐくらいだよ
2019/06/05(水) 07:34:20.65ID:YfXCXcb80
static using を質問した者ですが、静的メソッドをクラス省略して呼び出す方法なのですね
自己解決か解りませんが、クラスをいちいち書くのが大変な時に便利な機能だと理解しました
2019/06/05(水) 08:12:16.71ID:8Q4nOq27d
>>316
ソース
2019/06/05(水) 09:09:32.49ID:DllhRP4m0
>>308
犯罪ではないが規約違反だな。
あと、初心者が作れるようなものでもない。
つまりはスレ違い。
2019/06/05(水) 09:13:04.00ID:cY5QBS5fa
c++に次ぐかはどうかは知らないけど言語仕様的には肥大し続けてるのは間違いないよ
確実にjavaよりは言語仕様が大きい
最近のメジャーな小さな言語仕様とは真逆の方向性
2019/06/05(水) 09:16:17.04ID:cY5QBS5fa
c++もどんどん新しい仕様を組み込み続けてる
それで安全に楽に書けるようになって来てる
ただ古い書き方もできるので楽な書き方で入門した人にはそういうソースが非常に読みにくい
2019/06/05(水) 09:19:05.78ID:56z2teCB0
MFCの場合、Command Routing なる概念があり、MDI で複数の子 Window を
出している場合に、Main Window のMenuから選んだメニュー項目を、
現在 Active な子 Window に対して「伝達」することができて、
CView::OnXxxx() のようなメソッドで受け取ることができました。
Xxxx の部分には、Menu項目の名前に関係した関数名が入ります。
MENU 項目には、IDM_XXXX のような定数値を関連付けておいて、
「メッセージマップ」なる場所に、
ON_COMMAND(IDM_XXXX, OnXxxx)
と書いておいて、ID 値とメソッド名を対応させます。
重要なのは、実行段階でその時にActiveになっているCViewにメッセージを伝達
することで、複数の子ウィンドウが有った場合、どの子ウィンドウがActive
になっているかによって、伝達されるCViewは変化します。
あと、このIDM_XXXとメソッドの関数定義、メッセージマップの項目は、全てIDEが
自動生成する機能があります。

C#でも同様のことはできますか?
2019/06/05(水) 09:27:44.31ID:cY5QBS5fa
何のことを言ってるかわからないけど
アクティブな子windowにメッセージは送れるよ
子ウィンドウによって処理を変えるのはそのように書けばいいだけで専用の仕組みはないと思う
2019/06/05(水) 09:29:46.05ID:DllhRP4m0
>>322
MFCはVCで使うライブラリ。C#は言語。比べる対象が間違っている。
つか、ぐちゃぐちゃ書かれていて何をしたいのかが良くわからない。
マルチフォームで、親のメニューから選んだ動作を、複数の子フォームがある中、アクティブなフォームに対してイベントを発生させることができるかって事ならWPF/UWPともに可能。
2019/06/05(水) 10:10:34.69ID:on5LrBrya
>>322
たぶんないのでは

でもそもそもActiveなMDI子に連動してイベントハンドラが切り替わるコードというのは
保守しづらいのでは?

MDI子のメニューは親のメニューにマージできたはずなので、
そっちを使った方がよいんじゃないかなあ
https://dobon.net/vb/dotnet/form/mdimergemenu.html
326デフォルトの名無しさん (ワッチョイ 6a7d-2ZOZ)
垢版 |
2019/06/05(水) 10:32:52.53ID:lB0CTQ9/0
>>319
あんたはつくれんの?
2019/06/05(水) 10:43:39.28ID:aCuLxY/Qa
>>326
ここで粘着していてもお前さんの求めるものは得られないから、さっさと適切な場所に移動しな
2019/06/05(水) 10:48:56.78ID:lB0CTQ9/0
誘導するなら案内しろ
2019/06/05(水) 10:49:34.68ID:DllhRP4m0
>>326
Windowsでまともに動くiOSエミュがあるか?
それが答え。
2019/06/05(水) 12:40:57.59ID:lOa/gLJfr
最初>>301を書いた人物だとしたら脳が死んでそうだからその人には無理でしょ?
外人なのか馬鹿なのかどちらか
2019/06/05(水) 13:03:15.97ID:lOa/gLJfr
[RPA]PC自動化技術総合スレ[効率化] Part.4
2019/06/05(水) 13:04:06.56ID:lB0CTQ9/0
>>330
脳死なのにタイピングはできるんだね。お前
2019/06/05(水) 13:05:08.86ID:lOa/gLJfr
ここは願望を書くスレじゃないぞw
バカかw
2019/06/05(水) 13:09:17.91ID:TKKYwlvh0
その脳死より頭が悪いとか君はゴミか何か?
2019/06/05(水) 13:10:56.81ID:lOa/gLJfr
> とあるゲーム
> 
> アプリを自動化したいと思ってる

味わい深いwwwwwwww
336デフォルトの名無しさん (ワッチョイ da2d-bUoT)
垢版 |
2019/06/05(水) 13:22:45.31ID:HUq/2QFD0
どうせアフィブログ転載用の質問でしょ
2019/06/05(水) 13:24:53.87ID:56z2teCB0
>>323
>アクティブな子windowにメッセージは送れるよ
>>324
>マルチフォームで、親のメニューから選んだ動作を、複数の子フォームがある中、
>アクティブなフォームに対してイベントを発生させることができるかって事なら
>WPF/UWPともに可能。

どうやるんでしょうか?
2019/06/05(水) 13:27:21.19ID:56z2teCB0
>>325
>MDI子のメニューは親のメニューにマージできたはずなので、
>そっちを使った方がよいんじゃないかなあ
なるほど。
ならば、編集メニューのコピー・ペーストなどの場合は、子ウィンドウ
それぞれが自前でメニューを持っていて、それを親にマージするんで
しょうか?
2019/06/05(水) 13:55:27.85ID:on5LrBrya
>>338
そうじゃないですか。

Formも派生させることができるしイベントハンドラもvirtualにできるので、
必ずしも馬鹿正直に全部のMDI子にTextが同じメニューアイテムを持たせる必要はないと思う。たぶん。
2019/06/05(水) 16:17:26.11ID:4nYErmG50
どうでもいいことだが、UWPは画面は常に一つってのが基本だから
アクティブなフォームにイベントで通知って概念が間違っている
2019/06/05(水) 16:32:23.33ID:DllhRP4m0
>>340
つ MasterDetail
342デフォルトの名無しさん (ワイエディ MM36-pVhm)
垢版 |
2019/06/05(水) 18:27:29.26ID:cGG6I1H4M
メソッド化してコードを見やすくすることについて質問させてください

僕にC#を教えてくれている人に「現状のコードだと見づらいから同じ処理はメソッド化して見やすくしなさい」と言われたのですが、
同じ処理をメソッド化すると、その処理内で使われていた変数が後ろのほうのコードでも使われてまして、
結局メソッド化した処理の中で使われている変数をまた宣言しないといけないハメになってしまっているのですが、どうすればいいのでしょうか?

プログラミング初心者なのと、文章が下手で凄くわからづらいかもしれませんが、どうかよろしくお願いします
2019/06/05(水) 18:34:52.52ID:QfSKspk80
いやまずその教えてくれる人に聞けばいいじゃん
2019/06/05(水) 18:49:27.84ID:Y52bWe2XM
>>342
引数で渡すのが王道
そうすることで読み手にメソッドの呼び出し順が固定できる
2019/06/05(水) 19:40:07.54ID:0jYbMqQia
>>342
メソッドとして切り出した箇所の後ろの方で使っていたという部分について、同じ名前の変数を宣言し直して新たな値(メソッド化した範囲で使っていた内容とは無関係)を設定し直しているということだとしたら、それで問題ないよ。
もともと独立した内容に同じ変数を使用していたというだけだから。
2019/06/05(水) 20:16:57.88ID:cGG6I1H4M
>>344
引数について再度よく調べてみます

>>345
ということはメソッド化しても再度変数を宣言し直さないといけないということですか?
それだとメソッド化する意味がないような……

質問に答えていただきありがとうございます
2019/06/05(水) 21:20:18.71ID:UHR6+GQga
>>346
変数の宣言をし直すことは何らデメリットではないぞ。
変数を使用するスコープを小さくしてその都度宣言できるようなら、むしろそうした方が良いくらいだよ。

具体的なコードを見てみないと何を問題視しているのか分からんが...
2019/06/05(水) 21:52:08.97ID:U9r1UeN50
エスパーすると
メソッド化してもメソッド側と呼び出し元に同じ変数宣言するけど良いの?
って感じか

引数やら戻り値で済みそうな話ではあるが

ローカル関数なんてのも使えるけどね
2019/06/05(水) 22:12:43.65ID:wGVmv/E80
グローバル変数的なものをやりたいんじゃないの?
例えば int i を宣言したら色々なメソッドのループ処理でそれを使いたいとか
2019/06/05(水) 22:34:27.36ID:Ut2vcZyxd
え…
2019/06/06(木) 03:57:36.08ID:icdwfxAZ0
>>346
変数のスコープ、有効範囲について勉強すると良いよ。
2019/06/06(木) 07:30:22.90ID:hsoM7R9V0
100以上の広域変数の状態を自由に扱えるようになったらそのプロジェクトは君が囲い込める
2019/06/06(木) 08:38:25.78ID:FUDF17OO0
>>352
レビューの時点でダメ出しくらうだけ
2019/06/06(木) 09:18:31.73ID:pf3DvXcp0
>>339
なんとなく分かってきました。
みなさん有難うございました。
355デフォルトの名無しさん (ワッチョイ 472d-DQMn)
垢版 |
2019/06/07(金) 02:17:34.41ID:82+Qy1ow0
DIコンテナに登録したオブジェクトをインスタンス化する際、コンストラクタに引数を渡すことってできないのですか?
ライブラリはMicrosoft.Extensions.DependencyInjectionを使用しています
2019/06/07(金) 02:33:56.03ID:kuDYI/kq0
できるよ
2019/06/07(金) 14:30:40.52ID:ZpgeSWQ/0
FormLoad時に、DataGridViewに何もDataSoureを割り当てていませんが
からの1行が表示されてしまっています。

これは、何が原因でしょうか?

画像とボタンの列があります。初めて使うのですが、これが原因でしょうか???
2019/06/07(金) 14:43:54.47ID:ZpgeSWQ/0
自己解決しました。
2019/06/07(金) 18:39:19.47ID:zRuFxC25M
私にはすべてが見えていました
2019/06/08(土) 09:09:33.88ID:ctcrb20I0
var list = new List<int>
list.Max();
のようなnullデータにリンクメソッドをチェーンするとエラーになりますが、nullデータの場合は無視するという記述は出来るでしょうか
2019/06/08(土) 09:12:48.20ID:rnAwjmmK0
>>360
>>110-114
2019/06/08(土) 09:30:34.63ID:ctcrb20I0
>>361
同スレで既出と気付きませんでした
参考になります
ありがとうございます
2019/06/08(土) 09:44:30.27ID:2mGSrtdCa
>>360
nullデータというよりも空リスト、空シーケンスなどと表現したほうがいいかな
Max()メソッドそのものが空リストの場合はInvalidOperationExceptionをthrowするんだけど
Nullable版のMax()を使えば空リストの場合はthrowするのでなくnullを返すようになる
var list = new List<int>();
int? elem = list.Cast<int?>().Max();
if (elem == null) { Console.WriteLine("空"); }
else { Console.WriteLine(elem.Value); }
2019/06/09(日) 23:07:07.34ID:xU4n/JWt0
ガッツリ動作が仕様に絡むとこまでお手軽に記述したがる感覚ってわからんな
2019/06/09(日) 23:21:14.22ID:1L6M6LAR0
#me too
2019/06/10(月) 02:33:24.81ID:c/9rL5aT0
独立性拡張性が失われちゃう
2019/06/10(月) 10:46:09.39ID:tveaGfmTp
なんだっけ、MVCモデルだっけ?
あんなん崇拝するから日本人の作るアプリは操作性最悪なんだけどね。
2019/06/10(月) 11:09:25.95ID:QmsKOsl+0
レッテル貼り乙
2019/06/10(月) 11:24:14.99ID:qkVPdWMn0
やっぱMVVMだよね
2019/06/10(月) 11:42:49.78ID:PIG+DB1Sd
設計モデルとユーザー操作性に因果関係あんの?
2019/06/10(月) 12:16:49.56ID:PMN6sAhZa
昔はよくウィザードが例に出されたけど、
設計が伴わないと実現が難しいUIというのは確かにあると思うよ
2019/06/10(月) 12:30:25.19ID:VMXLuCX0d
>>367
日本人はむしろMVCすら使えないやつが多いんじゃね?知らんけど
2019/06/10(月) 12:46:04.73ID:OnQgNCpHp
>>367
こういう設計思想もろくにしらん馬鹿がITにかかわるから操作性が無視されたアプリができるんだと思う
2019/06/10(月) 16:25:53.91ID:0NZRWrrl0
>>373
禿銅
2019/06/10(月) 18:16:01.01ID:j15NsR7HM
共通部分を増やせば増やすほど
コピペが難しくなって工数が増大していく
画面数300とか行くとさ
画面をまたいだ共通箇所って邪魔で邪魔で
しかたねーよ
2019/06/10(月) 19:30:29.84ID:0NZRWrrl0
抽象化しろや
2019/06/10(月) 19:41:59.07ID:MrgpB0NP0
>>376
一番邪魔なやつだそれ
実際の処理がソースで追えなくて
実行してブレークポイントで止めてステップ実行しないと
本当の処理がわからない欠陥品
ぶっ飛ばしてやりてぇ
2019/06/10(月) 19:43:24.33ID:+AzPxr5na
追わなくてよくなるんだよ
追うなテストしろ
2019/06/10(月) 19:46:43.72ID:MrgpB0NP0
>>378
意味わからん
コピペするのにどの処理持ってくりゃいいんだよ
こっちの処理は分岐なんかしねーんだよ
2019/06/10(月) 19:47:25.12ID:aFtuMg1K0
DataGridViewの中にボタン列を追加しました。
ぐぐってますが、DataGridView上のボタンを非活性に
する事はできないのでしょか?

Visual Studio2017を使用しています。
2019/06/10(月) 19:48:38.10ID:bMUfCd/90
だから手でテストしてんだろw

この涼しいのに沸いてるのw?
2019/06/10(月) 19:50:13.10ID:bMUfCd/90
>>380
https://docs.microsoft.com/ja-jp/dotnet/framework/winforms/controls/disable-buttons-in-a-button-column-in-the-datagrid
2019/06/10(月) 19:52:29.65ID:MrgpB0NP0
>>381
テストまでいってねっつのアホなん?
2019/06/10(月) 19:55:32.78ID:MrgpB0NP0
抽象化されたソースから追えないゴミカスコードをどうやってコピペしたらいいですか?

インターフェース同じやつ片っ端から貼りまくればいいですか?
36っこありますね
→ウンコですね New!
2019/06/10(月) 19:59:23.27ID:+AzPxr5na
コピペできないって悩むってことはやっぱり抽象化が正解なのか
いかに下っ端コーダーにコピペをさせないかがプロジェクト成功の鍵だからな
2019/06/10(月) 20:07:55.28ID:MrgpB0NP0
>>385
バカじゃん
まるごとコピペして名前だけ変えて放置だっつの
こんなキタネェコード付き合ってらんねーよ
1クラス1ファイルで書いてあるけどこんなゴミにこんなファイル数いらねーよ
Xxx.csに全部ツッコんでやった
まとめてゴミ箱だw
アンチパターン「マトリョーシカ」「たけのこの皮」「玉ねぎの皮」「マズイミルフィーユ」とか名付けたい
くだんねー薄皮クラス全部いんねっつーの
2019/06/10(月) 20:09:50.35ID:+AzPxr5na
>>386
はいリジェクト
ばいばい
2019/06/10(月) 20:37:44.89ID:MrgpB0NP0
逃げたか
2019/06/10(月) 22:36:29.43ID:aFtuMg1K0
>>382
そこまでしないと実装できないんですね。
Enabled=False
でできればよかったのですが、うーんどうしよう。
2019/06/10(月) 23:01:39.91ID:mjEnv2YNd
>>389
サンプルの
DataGridViewDisableButtonCell
をコピペで持ってきたらいいだけじゃん
2019/06/10(月) 23:28:43.62ID:MrgpB0NP0
でも正直なんでこんな面倒臭いの?ってぐらい作ったやつのセンスが悪いよね
2019/06/10(月) 23:40:05.50ID:ZWxvLRT60
C#は Visual Studio のサポート機能が無いと、コード書ける気しないわな。
2019/06/10(月) 23:57:56.14ID:aFtuMg1K0
>>390
それすら面倒だけどやってみます。

MSが普通にEnable実装しておけば、俺たちは True Falseの設定だけでできたのに。
2019/06/10(月) 23:58:17.24ID:s/X+Cj/I0
>>392
最近よくVisual Studio Codeで書いてるよ
2019/06/11(火) 00:20:18.49ID:eYjHCkmz0
>>393
お前が何を必要としてるかまでMSは知らないから仕方なくね
2019/06/11(火) 00:27:16.57ID:KO5Z5H7da
WinFormsのコントロール全般だけど、MSとしては>>390程度のことは
自前で継承して作り込んで使ってくれっていうスタンスだからなあ
(MSDNのドキュメントもそれ前提の書かれ方だし)
作りこむのが面倒であればGrapeCityとかが売ってる高機能なコンポーネントを使えばいいわけだし
2019/06/11(火) 00:29:30.86ID:VMcLTapW0
>>395
ちょっとでも使われ方の検討したのかよ
ってレベルじゃね?これ
2019/06/11(火) 01:03:45.60ID:8NPGWhvc0
>>395
そういう問題じゃなくて、ボタンにEnable False True入れるなんて常識だろ。
それ位実装しとけよ。くそMSって話。
2019/06/11(火) 01:12:02.27ID:fTJbh9kM0
>>398
こいつWebアプリ開発させられたら発狂しそう
400デフォルトの名無しさん (アウアウエー Sa93-dZrz)
垢版 |
2019/06/11(火) 01:38:08.73ID:ogrGMDt8a
今日のNGはこれか
VMcLTapW0
真っ赤にして待ってろ
2019/06/11(火) 01:45:34.19ID:VMcLTapW0
なんか普通のことが普通にできなくなって開発者からそっぽ向かれてない?

wpfなんかこんなののオンパレードだし俺ら工場のおっさん向けアプリ作ってるだけなんに
必要のない変な機能多すぎ
その割にこんな簡単な機能は未実装って
未完成ってレベルじゃないよね
2019/06/11(火) 01:48:32.42ID:p0Xp2yNy0
>>401
そんなに同意して欲しいなら同意してやるからもう寝なよ
2019/06/11(火) 01:51:14.95ID:VMcLTapW0
>>402
むしろお前こそ言いたいことがあるならハッキリ言うべき
無言でユーザだけ減ってる状態に苦労してると思うぞmsは
2019/06/11(火) 02:17:35.18ID:FGV57sZTd
>>403
言いたいことはお前が無能ってことだよ
2019/06/11(火) 02:19:21.88ID:AmszXiFy0
お前みたいな馬鹿が尻の穴嘗めてくれるからウハウハだぞバカ
2019/06/11(火) 02:28:30.43ID:VMcLTapW0
多分、日本はwindowsで作った資産があるけど
そうでない国はお金がないからわざわざWindowsを使わない
そんな状態が続いたもんだからlinuxの資産が貯まってしまって
お金を持っても今度はWindowsには移行できない
そんな事情のある最近のlinuxに寄り添ってる理由だろ
昔はその作りやすさから王者だったけど
最近そーでもねーのが致命的になってんじゃねーのか?と
2019/06/11(火) 02:33:30.92ID:mh1wU8omM
クソ長文書いてねえで寝ろクズ
2019/06/11(火) 03:14:41.06ID:aZcuYhl50
HTML のボタンには、disabled 属性もある
2019/06/11(火) 07:09:30.30ID:nARElikq0
もうwebオンリーで行くかなと思ったけどバーコード使いたいと言われるとFormeアプリ使わんとダメだよね
XAMLは流行る予感がしないから触る事ないな
2019/06/11(火) 08:52:13.44ID:eYjHCkmz0
Webでバーコード扱えるけど
2019/06/11(火) 10:34:45.11ID:q+xysia0d
Shape Detection APIな。
PCのChromeでも動けば動作検証楽なのになぁ、あれ。
2019/06/11(火) 14:05:54.20ID:6dm7scj8M
リーダーをUSBに差せばWebでも使えるやで
2019/06/11(火) 14:08:24.54ID:8NPGWhvc0
ふぅーDataGridViewのボタンの非活性できた。

MSはその程度実装しておけよ
2019/06/11(火) 14:27:25.63ID:irqLdUAC0
CheckBox も同様だけど、Visible と Enable くらいは実装しとけよ、って思うよなぁ
WinForms に対しては全くやる気ないみたいだけど
2019/06/11(火) 14:41:17.27ID:8NPGWhvc0
>>414
実装もそこまで時間かかるとは思えないんだよな
なんか詰めが甘いというか・・・

しかもVS2017になっても未実装って
2019/06/11(火) 15:25:57.49ID:irqLdUAC0
x64 のときは Form_Load の中での例外はスルーするバグも絶賛放置
(x86 だったら、ちゃんと例外を捕捉する)
2019/06/11(火) 15:57:17.26ID:dpi3ASg30
Windows Formなんてとっくに見捨てられてるからね。メンテナンスフェーズかも知れん。WPFですら10年前だし。ということでUPF使え。
…ってMSは思ってるかもだが、Formなにかと楽なんだよなあ
2019/06/11(火) 16:23:20.80ID:8NPGWhvc0
俺がゲイツなら首にするわ
2019/06/11(火) 18:42:14.00ID:a3rgTFI7d
.NET Core3.0リリース後にちゃちゃっとPR書けば?そんなに簡単なら
2019/06/11(火) 20:32:19.05ID:3Y+SR7BCM
悪いけど、FullFx版のWinFormsとの互換性を損なうようなコミットは全部リジェクトだと思うよ
forkして弄るのは勝手だけど
2019/06/11(火) 20:58:05.88ID:fTJbh9kM0
>>420
.NET Core3.0後にどうなるかはまだ不透明
現状はそうだけどね
2019/06/11(火) 21:10:59.72ID:HH9jnqHSa
どのみちMS自身が今後WinFormsに機能追加をすることはありえないんだから、縛りのきつい公式リポジトリに拘る意味がないでしょ
WinFormsをクロスプラットフォーム化するコミュニティプロジェクトは必ず立ち上がるから、それに参加したらいい
2019/06/11(火) 21:15:40.32ID:GAHoXfWar
>>422
WinFormsのクソな部分がそのまま移植されるとは思わないから別物になると思う

汎用的な部分だけ移植なら整合性が合わなくなるからそもそも新しいの作るだろ
2019/06/11(火) 21:40:49.66ID:HH9jnqHSa
>>423
残念ながらベタ移植だよ
ほとんどのソースはオリジナルからコピーしてきてヘッダコメントを変えただけ
WinFormsをCoreでビルドできるように手直ししただけの代物だ
WPFなんかC++/CLIにべったり依存してるからもっと酷くて、
WPFをビルドするためだけにVCのコンパイラに限定的なCoreサポートを追加して無理矢理ビルドしてる
そんな不毛なことするくらいならネイティブ部分を書き直せと批判されてしばしばissueが炎上してるが、MSはガン無視
2019/06/12(水) 09:44:54.85ID:jI3pneRO0
DataGridView_hoge.AllowUserToResizeColumns = false;

列幅変更出来ない様にしたつもりですが、普通にドラッグしてサイズ変更出来てしまいます。
何が原因でしょうか???
2019/06/12(水) 10:24:07.46ID:0xThtXZC0
行ヘッダ列はAllowUserToResizeColumnsじゃなくてRowHeadersWidthSizeModeで設定しないといけないけど
それ以外の列ってことなら何か変なことやってるんじゃないのとしか言えないなぁ
2019/06/12(水) 10:29:24.57ID:jI3pneRO0
>>426
RowHeadersWidthSizeMode
ためしてみます。
2019/06/12(水) 21:10:32.82ID:MR/XkF+FM
なんかWindowsアップデートで動かなくなったりするから
Windowsやめようぜって方向になってるぞ
2019/06/12(水) 21:27:03.90ID:1sqooHn/0
どうぞ
2019/06/12(水) 23:03:21.43ID:AKIxT99i0
どうぞどうぞ
2019/06/12(水) 23:30:47.47ID:uj0EyW6pd
バイバーイ(^.^)/~~~
2019/06/13(木) 12:45:58.94ID:jjdzM/JQd
WPFの将来性ってどうですか?
今から勉強する価値ありますかね
2019/06/13(木) 15:02:14.86ID:5cAqIW1CM
>>432
将来性はない
勉強する価値もない
2019/06/13(木) 17:22:47.41ID:7q1+HOWFa
たぶん現状のまま放置されるって意味では将来性ないけど
Silverlightみたいに事実上使えなくなることは恐らくないから
勉強して無駄になることもないと思うよ

そいうや、何年か前にWin32を廃止する計画を読んだ記憶があるけど
例によって軌道に乗ってるように思えんねw
2019/06/13(木) 18:14:02.25ID:EM2pYCLsp
>>434
win32廃止したら、Windowsじゃ無くなるじゃん
2019/06/13(木) 22:23:06.18ID:tGgsvZyOd
>>435
win64 APIのみにするってことでしょ
2019/06/13(木) 22:27:30.58ID:dTdyRg7kM
ARM使い「そうか」
2019/06/14(金) 09:46:05.42ID:v6Wc7xsI0
>>436
Windowsから互換性取ったらMacとの優位性が崩れてしまうわ。
2019/06/14(金) 10:19:55.42ID:Qm4arTEGM
う互換性
2019/06/14(金) 13:28:36.75ID:Js4PARtC0
GDIとかいつまで残ってんだろ
2019/06/14(金) 13:36:31.53ID:Io9qelQj0
APIとしてはWindowsがある限り残るだろ
内部的に別の仕組みの描画フレームワークに渡すだけになる将来はあるかもしれんが
2019/06/14(金) 19:05:00.84ID:B1OfNWTta
独自OSはやめてLinux M$ディストリになったら最高なんだけどね
443デフォルトの名無しさん (ワッチョイ f368-hVo2)
垢版 |
2019/06/15(土) 00:33:09.29ID:8CcGi59t0
while(i<=1000000)
{
i++;
}

こういうお手製のループって結局invokeと同じ機能なんですかね?
待つという意味では
444デフォルトの名無しさん (ワッチョイ be05-/zb+)
垢版 |
2019/06/15(土) 02:59:58.42ID:h/MXyyEj0
質問です。
JSONシリアライズなんですけど
{ "foo": "bar" }
としたいのに、DataContractJsonSerializerに
Dictionaryをシリアライズさせると
{ "key": "foo", "value":"bar" }
となってしまいます。
何かいい方法ないですか?
どういうキーワードでググればいいかも分からなくて。
2019/06/15(土) 06:29:12.34ID:izWNJzhX0
>>443
何のinvokeの話なのか知らないけど
ほとんどのInvokeメソッドとは全く違うんじゃないかな

>444
DataContractJsonSerializerSettings.UseSimpleDictionaryFormat
2019/06/15(土) 07:12:02.05ID:+UtdpkHU0
ConcurrentDictionary<Guid, ConcurrentDictionary<int, string>>
のようなデータ構造で、Value部の付け外しにlock機構って必要ですか??

var cd = new ConcurrentDictionary<Guid, ConcurrentDictionary<int, string>>();

lock(_lockObj)
{
 if(!cd.TryGetValue ・・・)
 {
  var child = ConcurrentDictionary<int, string>();
  cd.TryAdd(Guid.NewGuid(), child);
 }
}

2つのスレッドがほぼ同時にアクセスしたとき、
最初に追加したValue部(ConcurrentDictionary<int, string>)を潰したくないです。

lock使うなら、普通にDictionaryでいいんですかね・・ 👀
Rock54: Caution(BBR-MD5:1341adc37120578f18dba9451e6c8c3b)
2019/06/15(土) 07:35:12.58ID:IMLKv0k+0
getとaddが不可分操作じゃないから要る
2019/06/15(土) 09:17:07.61ID:6PSH/Imja
>>446
TryAddがfalseを返したら処理を最初からやり直せばいい
それならロックは不要
楽観的排他制御ってやつだ
2019/06/15(土) 14:37:59.48ID:qro2r2SGM
HttpClientもWebClientもHttpWebRequestもまともじゃないのは一体なんなんだ
2019/06/15(土) 14:47:05.46ID:hWID9DJjM
>>449
具体的には?
2019/06/15(土) 14:49:08.14ID:2Fwz82J/0
>>449
HttpClientはstaticなインスタンスでセッション使い回し。
このくらいの注意点は知ってるけどどう駄目なのか参考に教えてよ
2019/06/15(土) 15:37:24.10ID:CD9ImjzWM
>>449
KWSK
453デフォルトの名無しさん (ワッチョイ be05-bHsE)
垢版 |
2019/06/15(土) 15:42:35.91ID:h/MXyyEj0
>>445
ありがとうございます!
2019/06/15(土) 18:51:55.25ID:Tm2el/yWa
>>449
これを使っている限りバグが出る可能性が排除できない
まともな設計で作り直してほしい
2019/06/15(土) 19:28:03.88ID:hWID9DJjM
>>454
具体的には?
2019/06/15(土) 19:39:46.98ID:2Fwz82J/0
具体的なことは言えないレベルでなんとなく否定してるに1票
2019/06/15(土) 20:17:44.79ID:p9QrGiGS0
まあHttpClientFactory使えってなるよね、最近は
2019/06/15(土) 20:49:10.87ID:Tm2el/yWa
HttpWebRequestやWebClientは確実にゴミ

例えば非同期でいろんなサイトからダウンロードするアプリを作ろうとしても
実インスタンスが一つなので各サイトに合わせて設定できない

HttpClientはまともにusingできない使いまわし前提で管理が面倒でバグりやすい
2019/06/15(土) 21:25:13.03ID:p9QrGiGS0
>>458
>>457
2019/06/15(土) 21:28:36.81ID:403fYel+0
いや知ってりゃ使えるだろってのはわかるんだが
なんでどれもこれも罠が満載なの? っていう話ね
2019/06/15(土) 23:31:09.76ID:2Fwz82J/0
>>457
なにこれ?ナウなやつ??
462デフォルトの名無しさん (ワッチョイ 8a2d-9Zao)
垢版 |
2019/06/15(土) 23:31:12.45ID:TLpy9Lqp0
MacのCore2.1でデリゲートのシリアライズを試してるんだけどさあ、これって動くプラットフォームもあるってことなの?
class Program
{
static void Main(string[] args)
{
Func<int, int> A = i => i + 1;
BinaryFormatter formatter = new BinaryFormatter();
var tempStream = new MemoryStream();
formatter.Serialize(tempStream, A);
//System.Runtime.Serialization.SerializationException がスローされました
//"Serializing delegates is not supported on this platform."
}
}
レファレンスだとMacで動かないとか特に書いてはいなさそうだけど、どこを見たらそういう情報ってわかるんだぜ?
https://docs.microsoft.com/ja-jp/dotnet/api/system.runtime.serialization.formatters.binary.binaryformatter.serialize?view=netframework-4.8
2019/06/15(土) 23:37:24.81ID:eE+hzs3Oa
>>462
ないでしょ
だってそれ、変数を一切キャプチャしないラムダ式以外では問題が起こるんじゃない?
2019/06/15(土) 23:54:10.26ID:ioIpgNFD0
デリゲートをシリアライズするっていう発想がそもそもなかったわ
465デフォルトの名無しさん (ワッチョイ 8a2d-9Zao)
垢版 |
2019/06/16(日) 00:04:36.79ID:IRiSsL3Z0
ダメか、ありがとう
2019/06/16(日) 00:06:06.77ID:j15M4OK0a
デリゲートのシリアライズはFullFWなら可能
.NET Remotingで通信先からRPCするために使う機能だ
.NET Coreでは.NET Remotingが廃止されたから、.NET Coreで使えないのは当然
そもそもBinaryFormatterはそれ自体が廃止された.NET Remotingの一部であり、互換性のためだけに残されてる遺物
今更新規に使っちゃダメ
2019/06/16(日) 00:12:52.39ID:G7NVDdhd0
>>461
うん、HttpClientのイケてないとこをラップして使いやすく(間違いを犯しにくいように)したやつ
468デフォルトの名無しさん (ワッチョイ 8a2d-9Zao)
垢版 |
2019/06/16(日) 00:22:01.61ID:IRiSsL3Z0
>>466
正直、これが出来るとリモートプロシージャコールの受け側がif/switch羅列になるのを避けられると思っていました
しかし、これはもろに時代に逆行していたんですね・・・・
廃れたと言うことは今流のやり方もあるんですか?
2019/06/16(日) 00:27:11.51ID:j15M4OK0a
.NET CoreでRPCしたいならRESTかgRPC使えとMS様は仰ってるね
470デフォルトの名無しさん (ワッチョイ 8a2d-9Zao)
垢版 |
2019/06/16(日) 01:01:25.28ID:IRiSsL3Z0
gRPCを使用する場合でも、サーバからグローバルIPを持たないクライアントのメソッドを呼びたい場合にデリゲートシリアライズ化は有用なように思えてしまいます
接続を切らずにStreamで独自形式の命令を送り続けることになり、クライアント側では送られてきた命令を解析するためのswitch/if文だらけのコードになってしまうからです
でもif文羅列で正しいのかな・・・・どうなんだろう・・・・
2019/06/16(日) 01:18:24.92ID:WGBivVxV0
プログラミング未経験からC#を勉強して1週間程の者です
疑問に思うことがふたつあるのでよかったら教えてください
ひとつめは配列の宣言について、宣言は省略せずにきちんとしたほうがいいのでしょうか?
また宣言する場合に
string[] array = new string[3];
と変数名を最初にstringで指定しているはずなのに、配列の数をstringで再び書くのはなぜでしょうか?

ふたつめは、
Console.Write("a は {0}, b は {1}", a, b);
と書くのは
Console.Write("a は " + a + ", bは " + b);
と書くより見やすいためでしょうか?
2019/06/16(日) 01:25:53.37ID:G7NVDdhd0
>>471
ひとつめ:varが使える場所ならvarを使った方がいい
ふたつめ:前者だと、文字列をconstやリソースファイルで保持してパラメーターだけ入れ替えられる(=使いまわしできる)。
ただ、最近はよほどパフォーマンスにシビアだったりリソースを再利用したい箇所でなければstring interpolationを使うことの方が多い(圧倒的に見やすいしバグも発生しにくいから)。
2019/06/16(日) 01:27:37.22ID:G7NVDdhd0
Console.Write($"a は {a}, b は {b}");
こうすると読みやすいしパラメーターの位置を間違える可能性が減る
2019/06/16(日) 01:52:02.63ID:z9IiVZ7F0
C# は、面倒だな

Ruby の式展開(interpolation)では、
ダブルクォート文字列内に、#{式} で書くと、式の結果を文字列に変換してくれる

puts "a は #{ a }, b は #{ b }"
2019/06/16(日) 02:00:09.86ID:yJ9OuDHU0
>>474
C#にもあるだろ。直ぐ上でも出てる。
$"a は {a}, b は {b}"
2019/06/16(日) 02:05:52.16ID:G7NVDdhd0
1つ上のレスくらい読んでくれよ…
2019/06/16(日) 02:12:46.91ID:WGBivVxV0
string interpolationは参考にしておいたサイトでは見たことがなく初めて知りました
確かに圧倒的に見やすいですね
varを使うことで必然的に型を指定して初期化することになるので、その辺りの宣言はしっかりしようと思います
ありがとうございました
2019/06/16(日) 02:40:38.10ID:G+0AwVAf0
Rubyの人 おかえりはこちらです
2019/06/16(日) 02:49:49.58ID:U3MUj56p0
>>467
いいね!使ってみる。
2019/06/16(日) 05:00:17.20ID:wxDeKJDL0
interpolation 略して inpo
2019/06/16(日) 08:33:51.55ID:59NNwAx00
>>470
WebSocketとかSignalRとか使ったらサーバーからの通知対してにライブラリが適切なメソッドを呼んでくれるのでは
2019/06/16(日) 08:38:40.27ID:xspDtD2o0
>>458
httpClientをusingする方が間違いでは?

接続先ごとに作るもんだと思ってた。ヘッダとか共通にしたい粒度と同じ粒度で。
2019/06/16(日) 09:55:00.36ID:X9An2SCta
>>482
だから…
usingするのは間違いだがじゃあどうやって使いまわすかでバグりやすい

使いまわすのをどこかに任せて使う側は自由に使えるようにしてないと
本当に使いにくい
484デフォルトの名無しさん (ワッチョイ 3e7c-jEB4)
垢版 |
2019/06/16(日) 12:12:22.08ID:NdAq/MEw0
>>480
+1
2019/06/16(日) 12:20:15.94ID:xspDtD2o0
>>483
そう?APIアクセスにはこのHttpClient、リソースにはこのHttpClientって別けてると結構便利だけど。
デフォルトヘッダーつけたり、デフォルトのタイムアウトとかをそれ用に設定したりして。

URIなんかで適当に使い回されるのはちょっと使いづらくなるな。
2019/06/16(日) 12:29:55.12ID:+FeN72guM
staticなインスタンスを持つという行為がオブジェクト指向にそぐわないのだろう
2019/06/16(日) 12:35:21.44ID:WIm6t9KAd
じゃあDIによるシングルトンで
2019/06/16(日) 16:29:01.69ID:xspDtD2o0
>>486
それも変な話だけどなー。
staticなインスタンスなわけではなくて、環境に対してインスタンスがあるんじゃないのかな。
使い回すって、もしかして何もかものHttpClientを1つのインスタンスや、いくつか作って適当に余ってるインスタンスで賄ってるの?
少なくとも1ホスト1HttpClientで扱わないとよろしくなかったはず。

そういう意味では、完全にstaticな訳ではなくて、多分MVCならコントローラごとに、宛先ホストやデフォルトヘッダー別のHttpClientを持てば充分なので、特に長寿命になる訳でも、広範囲に露出する訳でも無いんじゃないかな。

毎回作るようなusingで囲む事をするのはよろしくないだけであって、適宜作ってDisposeする分には問題ないっしょ。

だからデストラクタでDisposeできるようにIDisposableなんじゃ?
2019/06/16(日) 17:56:30.01ID:yX0oMZwqa
Disposeは要らんかった
惑わされる
490デフォルトの名無しさん (ワッチョイ 8a2d-9Zao)
垢版 |
2019/06/16(日) 17:59:45.19ID:IRiSsL3Z0
デリゲートのシリアライズについて色々試したところ、WindowsやUbuntuのCore.2.2ではデリゲートのシリアライズは可能でした
まさかMac版だけ違うとは・・・・

>>481
WebSocketについては全くわからないのですみませんが、Signalrは良さそうですね
2019/06/16(日) 18:56:40.91ID:ikomc5kEr
>>488
絶対に一つのホストに対して非同期で複数接続しない?
変だろそれは?
普通に非同期処理やマルチスレッドなどを多用したところで複数接続することがあるだろ
ちゃんと管理しないとおかしなことになる
2019/06/16(日) 19:03:24.48ID:xspDtD2o0
>>491
xxxxAsyncはだいたいスレッドセーフだよ。
2019/06/16(日) 19:13:58.14ID:6Ugz9fj30
httpClientの設計がまずいのは周知の事実だろ
オプションとしてならいいけどさ
まともな通信用のクラスをなぜ作れんのだ
2019/06/16(日) 19:20:45.53ID:xspDtD2o0
んー、なんか俺の返事がズレてる気がする。
1つのホストの1つ用途に対して使い回すのは良いんだけど、
別のホストや別の用途に対して使い回すのは良くないんじゃないかな、って話で、

1つのホストの1つの用途に対して複数のHttpClientを使うのも、悪かないんじゃないの?限度があるけど。
そもそもHttpClientを毎回作ってはいけない理由が、インスタンスを立てるとソケットをopenしに行って、CloseしてもTIME_WAIT以降を待ってソケットがcloseするから、パフォーマンス的にもまずいしソケットが枯渇するって問題なんだし、
捨てないとDNSの変更が反映されない問題も避けれないんだから、LBとか考えると同一ホスト対象でもずっと使い回すより、処理粒度に合わせてインスタンス持つようにした方がいいんでないの、って要旨だった。
2019/06/16(日) 19:22:37.45ID:xspDtD2o0
>>493
結構まともな設計だと思うけどなぁ。
MSDN読んでない奴が安易にusingしたり、安易にずっと使い回すからいかんのでは?
そんなどうhttp接続を使うかみたいなビジネスロジック層の問題をフレームワークに求めるのは酷じゃ無いかな。
あくまでWindowsのソケットの実装としてはね。
2019/06/16(日) 19:24:29.05ID:ikomc5kEr
その管理を誰がやるのか?
低級プログラマがそれを考えて使えるのか?

使えないなら管理をどこかでちゃんとやる仕組みを作れ
2019/06/16(日) 19:27:19.28ID:ikomc5kEr
そもそもの仕組みは簡素なつもりなんだろうけど
結局考えてコーディングしなければバグってしまってアプリを使ってる人にはその理由がわからない
2019/06/16(日) 19:36:40.16ID:G7NVDdhd0
>>496
だからHttpClientFactoryなんだろ何回も言わせんな…
2019/06/16(日) 19:51:24.02ID:ikomc5kEr
.NET Frameworkは?
2019/06/16(日) 19:58:59.39ID:xspDtD2o0
>>496
そんな字が書けなくても小説が書けるノートを寄越せみたいな事言って何になるの?
2019/06/16(日) 20:01:51.47ID:ikomc5kEr
.net core 3.0でWPFサポートはいるけど
それまではWPFなどで作る場合.NET Frameworkだろ
ずっと放置しといて.net coreで入ったからいいなんて思うなよ
2019/06/16(日) 20:02:01.46ID:xspDtD2o0
>>497
簡単な事だと思うんだけど、考えてコーディングすれば良いだけでは?
考えずにコーディングする方がどうかしてるんじゃないの?
くもんのドリルとか、早指しの将棋じゃねえんだから。
2019/06/16(日) 20:24:08.68ID:+fU13JTma
>>490
へー
もちろん、ラムダ式で変数キャプチャーやメソッドやプロパティーにアクセスしたり、
そもそもデリゲートがメソッドを参照してる場合はNGだよね?
2019/06/16(日) 21:07:08.31ID:6Ugz9fj30
まず通信のためのインスタンスを保持しておく必要があるって点が意味不明
なんで一通信毎に一インスタンスを使い捨てさせてくれないんだ?
2019/06/16(日) 21:11:11.53ID:2a6zi2hA0
ないなら作ればとしか思わんけど
2019/06/16(日) 21:15:37.29ID:0NEzhhkla
Keep Aliveの為に必要なんですよ
2019/06/16(日) 21:27:28.53ID:2mY5Onwd0
HttpClientに関連して、NetworkCredentialのダイジェスト認証バグもどうにかしろよって感じです。
GETにクエリパラメータ付いてると認証失敗したり、ところどころRFCに従ってなかったりとか。

散々ググって、どうやら解決方法が自前実装しかないと辿り着くまでに時間かかった。。

今どきダイジェスト認証って感じで放置されてるのかもですが、
Webサーバ積んでるIoT機器なんかでは結構使われてるので、ちょっとしたツール作るのもダルくなります
2019/06/16(日) 21:35:16.94ID:WJsnIQ8z0
半端なライブラリはこれだから
Javaみたいに産廃レベルだと「じゃあ俺が最強のHttpClientを作ってやる」ってのが出てくるのにね
2019/06/16(日) 21:41:01.31ID:+fU13JTma
web系は仕事で触ったことないからまったく分かんないやw
どっかにいいチュートリアルとかある?
でも話聞いてるとweb系って今でもバッドノウハウの塊みたいでストレス度高そうだなw
2019/06/16(日) 22:05:12.05ID:6Ugz9fj30
>>507
そんなんあるんかよ…
つまりヘッダを自分で組み立てるしかないってこと?
511デフォルトの名無しさん (アウアウカー Sac3-d9tj)
垢版 |
2019/06/16(日) 22:20:27.61ID:gEahNK3la
結局MSはWPFをどうしていくんだろうか
2019/06/16(日) 22:25:47.52ID:wD0NHooaM
C#プログラミング初心者です
Form実行時の各イベントの発生順序について質問させてください

Form実行時にどういう順番でどういうプログラムが処理されていくのかよくわかりません
Formを実行したときFormのコンストラクタが設定されイニシャライズ内の各コントロールが配置されるという認識で合ってますか?

あと実行時に一番最初に処理されるのはProgram.csですか?

コンストラクタとイニシャライズの意味がよくわかっていないかもしれません
よろしくお願いします
2019/06/16(日) 22:33:03.04ID:gLoRAJ8t0
>>512
もう十年やってる俺の認識と一致してんじゃん
後は強く生`
2019/06/16(日) 22:47:40.58ID:Qo3kD6WQ0
>>512
コンストラクタはFormもそうだけどクラスのインスタンス生成時に最初に呼び出される
InitializeComponent()は単なるVisualStudioが用意しているデザイナのためのメソッド
コンストラクタ内などで自分で用意してもいい
一番最初に処理されるのはProgram.csでなくその中に書いてあるclass ProgramのMain(エントリポイント)
とりあえずこの辺から読んでみたら。特に理解しなくてもコードは書けるけども
[雑記] エントリーポイント https://ufcpp.net/study/csharp/structured/miscentrypoint/
[基礎] C#のプログラムの基本構造 https://ufcpp.net/study/csharp/st_basis.html
2019/06/16(日) 22:58:44.87ID:wD0NHooaM
>>514
親切にURLまで貼っていただきありがとうございます
とてもわかりやすかったです
助かりました
2019/06/17(月) 11:09:57.31ID:aKGiWlYO0
なんかメモリーがどんどん減ってくんですが。
2019/06/17(月) 11:41:26.98ID:KqnEIU5BM
それは痴呆だよ
2019/06/17(月) 11:45:08.07ID:d6mw/rQbp
観測した途端にメモリーが足りなくなる不思議
2019/06/17(月) 12:01:39.02ID:KqnEIU5BM
記憶がだんだん遠くなる
2019/06/17(月) 13:56:49.50ID:JXiMVUT0M
観測しなければいいじゃん
2019/06/17(月) 14:00:02.92ID:i1zZ44t70
足りないのに無くならない不思議
2019/06/17(月) 14:07:34.68ID:fWv+7syLd
WPFデビューしようと思って色々調べてるんだけど情報少なすぎない?
Prismが便利らしいけど公式サンプルがちょこっとあるだけだし全然使えなさそう
2019/06/17(月) 14:20:39.66ID:a0UOupWUd
それはWPFじゃなくてPrismの問題だろw
2019/06/17(月) 17:13:19.75ID:d6mw/rQbp
WPFはFormと同じ名前のまんまのメソッドやプロパティ使えたら不人気にならなかったはず。
微妙に違ったりするから混乱するんだよな。
525デフォルトの名無しさん (ワッチョイ 1aca-271n)
垢版 |
2019/06/17(月) 23:14:24.82ID:js38FdP50
class test
{
byte i = new byte();

public void calc() {
...
}
...
}

こんな感じのnewの使い方をみたのですが、こういうのc#だけですよね?
どこかに解説はありませんか?
2019/06/17(月) 23:24:08.75ID:qS39OOn20
>>525
書き方として有効でも普通はそんなことやらない
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/keywords/new-operator
>new 演算子は値型のパラメーターなしのコンストラクターの呼び出しにも使用します
2019/06/17(月) 23:54:16.01ID:dLLbEhJJM
構造体の引数無しのnewはdefaultと同じ
newだとユーザー定義の初期化処理が走っているように見えてしまうから、最近だとdefaultのほうが好まれる傾向がある
フィールドの場合は明示的に初期化しなくても勝手に既定値で初期化されるから不要なんだけど
528デフォルトの名無しさん (ワッチョイ 33da-L2mO)
垢版 |
2019/06/18(火) 05:55:07.37ID:LmNIdt8j0
C# でDB勉強中なんですが、以下のケースでは、更新/挿入/削除するべきレコードの判定はどうすればよいでしょうか?

元テーブル
--------------------------
id | item_name | item_location |
--------------------------
1   item1       1
2   item2       1
3   item3       2
--------------------------

これをDataGridViewに読み込んで、以下のように修正するとします。
--------------------------
id | item_name | item_location |
--------------------------
1   item3       2     ← item1がitem3に変更
2   item1       3     ← item2がitem1に変更されてlocationも変更
3   item4       1     ← item4 追加
4   item5       1     ← item5 追加
--------------------------  ※item2は削除

この処理の場合、insert・update・deleteするべきレコードの判定はどうやって行ったらよいでしょうか?
2019/06/18(火) 06:10:50.02ID:+H1sBCCVM
キー項目は何?無ければ作る
2019/06/18(火) 06:12:13.77ID:d6M+0/F+0
洗い替えがいいんじゃない?
元テーブルを裏で保持してて対象レコードを全部削除する
修正後を全部INSERT
531デフォルトの名無しさん (ワッチョイ 1ab0-bbbA)
垢版 |
2019/06/18(火) 06:13:19.34ID:3nOE2mBA0
プログラム板にキチガイ降臨中!botに一晩も反応する異常さ
一般人(学校恩師)に殺害予告をしているのでスレ建て通報してください。
https://mevius.5ch.net/test/read.cgi/tech/1559872586/

142 名前:a4 ◆700L1Efzuv 投稿日:2019/06/18(火) 05:29:55 ID://qVkzO
>>141
名古屋の人な 俺ね、君の問題を大橋先生と混ぜないことにする。つまりね、
片桐孝洋のことをボコろうと思う。普通に顎の骨を折る。これくらいで警察来るか?
一般市民とかさ、普通にさ、俺らの秘密なんだけどさ、日本人なんて復活ねーから。
2019/06/18(火) 07:41:47.49ID:HGOf7fkO0
WPFが流行らないまま時代はスマホアプリに
2019/06/18(火) 10:24:27.14ID:MvE0vXDO0
>>528
件数にもよるけど全体より修正が少なければ、最初にトラン作っておいて、編集がかかるたびにupdate/insert/delete。
確定時にコミット。
そうでなければ>>530
2019/06/18(火) 12:27:38.88ID:LmNIdt8j0
>>530 >>533
神様!ありがとうございます!!
2019/06/18(火) 14:34:26.70ID:H7tttB9U0
C# でセレニウム(Chrome)を操作しています。
この時に

ページを復元しますか?
Chromeは正しく終了しまsんでした
障害レポートと使用統計データ・・・


というメッセージが出て邪魔です。
これを出ない様に出来ないでしょうか?
2019/06/18(火) 15:07:21.28ID:6gzOVRYwd
>>535
再現可能な必要最小限のプロジェクトを共有して
2019/06/18(火) 16:06:35.49ID:H7tttB9U0
>>536
再現しないですかね?
普通にC#+ChromeDriverです。
2019/06/18(火) 16:35:19.94ID:6gzOVRYwd
しないよ
2019/06/18(火) 18:08:04.60ID:WG6tLdsV0
ずーっとセレニウムと格闘してんねw
540デフォルトの名無しさん (ワッチョイ 337b-FOz1)
垢版 |
2019/06/18(火) 18:35:30.59ID:lLW7uP7d0
>>537
ChromeDriverのことはChromeDriverのForumで聞けよ
https://groups.google.com/forum/#!forum/chromedriver-users
2019/06/18(火) 19:51:09.93ID:9LNNY8IFM
C#でDB操作時かつトランザクション使用時のコミットやロールバックを書く場所と、例外発生時の処理の止め方について質問させてください

DB内のデータをC#のDataGridViewにバインドし編集したのち登録や削除を行う課題をしているのですが、
コミットやロールバックを書く場所や、例外発生時に処理を止める方法がよくわかりません
今までメソッドの処理を中断するときはreturnを使えば良いと思っていたのですが、私に課題を出していただいてる方にそのやり方ではないと言われました
どうやらthrowを使うパターンもあるらしいのですが調べてもよくわかりません

わかりにくい文章で申し訳ありませんがヒントだけでもいただけたら嬉しいです
どうかよろしくお願いします
2019/06/18(火) 20:01:43.07ID:z/sE9uve0
>>541
throwはこれ。例外を投げて場合によってはメッセージを入れるなどして呼び出し元でcatchさせたりする
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/keywords/throw
2019/06/18(火) 23:02:13.66ID:PmBejiWq0
Ruby で、Selenium WebDriver を使えば?

Chrome Driver は、ちょくちょく変わるよ。
それに、Chrome も、知らない間に、バージョンアップされてる!

自分のChromeが、バージョンアップされた時に、
新しいChrome Driverにしていないと、バージョンの不一致により、エラーで落ちる!

自分のChromeのバージョンを見て、もしバージョンアップされていれば、
そのバージョンに合った、Chrome Driverに変えてください!
2019/06/18(火) 23:13:17.82ID:PmBejiWq0
それと、5ch みたいに、空のHTML を送ってきてから、
Ajax で内容を取得するようなサイトは、
30秒ぐらい待たないと、内容が取得できないこともある

それと、5chはバグが多いから、ある日、突然動かなくなる。
IE では、フリーズするし

サイトのバグで動かなくなることも多いから、
example.com とか、色々なサイトで、使ってみる事!
2019/06/18(火) 23:17:03.81ID:H7tttB9U0
>>543 >>544
Chromeがマスト条件なんですよね。。。
2019/06/19(水) 00:25:52.80ID:SHnWP/2E0
>>545
そいつは自分の言いたいことを言うだけだから、会話しようとしても無駄だぞ
2019/06/19(水) 00:43:45.23ID:cBT9gst5a
chromeコンテナ使えよ
2019/06/21(金) 10:51:14.98ID:+Ex9QBom0
DataGridViewの列にDataGridViewImageColumnを設けています。
ネットからダウンロードしたエロ画像をローカルに保存して
DataGridViewのその列に1.jpg〜5.jpを一覧表示します。

DataGRidView.DataSource = ero_DataTable;

参照している画像
c:\dat\downloaded_files\1.jpg 〜 2.jpg

再び別の画像をダウンロードし
DataGridViewにレンダリングする為に、まず最初にローカル画像を削除しようとすると

「別のプロセスで使用されているため、プロセスはファイル '1.jpg' にアクセスできません。」

というエラーメッセージが表示されてしまいます。

ローカルの画像を削除した後で、新しい画像をネットからダウンロードしてローカルに保存し
1〜***.jpgとして保存し、DataGridViewから参照したいのですが、何か良い方法はないでしょうか?
2019/06/21(金) 10:52:25.51ID:LVq54M8sp
とりあえずcloseだな。
2019/06/21(金) 11:05:23.63ID:+Ex9QBom0
>>549
Closeはインテリセンスにいずれも出ませんでした。。。

困ってます。教えてくださいm(_)m
2019/06/21(金) 11:11:30.32ID:LVq54M8sp
じゃあ、usingで括る
2019/06/21(金) 11:23:43.41ID:kqcCd+WN0
DataTableの画像列をtypeof(Image)とかtypeof(Bitmap)でやってるなら、
代わりにtypeof(byte[])にして、
行を追加するときにBitmapオブジェクトを追加するんじゃなくて
File.ReadAllBytesしたバイト配列を追加するようにする
2019/06/21(金) 11:46:36.87ID:+Ex9QBom0
ありがとうございます。
試してみます!


因みに現在は、こういう感じのコードでDataGridViewには画像を表示しています。

int i_data_count = 5;
for (int i = 1; i <= i_data_count; i++)
{
dgv_erogazou["ERO_IMAGE", i - 1].Value = new Bitmap("C\data\" + i.ToString() + ".jpg");
}
2019/06/21(金) 12:56:06.44ID:LVq54M8sp
C#あるあるだな。
いつファイルを解放して良いのか分からないからいつまでもファイルを開いたままなんじゃね?
関数が中でなんとかすれば良いのに融通がきかなよなw
2019/06/21(金) 13:31:59.07ID:+Ex9QBom0
>>554
はい。
しゃーないので、アプリ起動時にすべてのローカルファイルを削除する処理を入れることにしました。

再取得時には、 ファイル名をプラス1インクリメントしてローカルに保存しまくります。
2019/06/21(金) 14:05:44.74ID:oHxDGzCo0
いや、不要になった時点でファイルをちゃんと閉じればええやん
2019/06/21(金) 16:12:50.06ID:g5FK/rwid
>>554
横着せずに不要になったら自分で閉じろよ
2019/06/21(金) 21:14:35.05ID:41J0QDC70
>>553
DataSourceにするのなら>>552が適切な回答だけど補足しておくとImageクラス(下位クラスのBitmapも)の面倒な仕様のせい
表示中の画像ファイルが削除できない問題の解決法
https://dobon.net/vb/dotnet/graphics/drawpicture2.html
他の解決法としてはインスタンスの内容をコピーして元の(ファイルをつかんでいる方の)インスタンスをDisposeしたりImageConverter経由で画像を取得したりする
2019/06/21(金) 21:53:59.45ID:LVq54M8sp
ファイル操作とbitmap操作を別々にやればいいんだろ?
分かってるよめんどくさいんだよ。
2019/06/21(金) 21:55:05.08ID:LVq54M8sp
むしろ取り出したら閉じてくれよ糞仕様だよな。
2019/06/21(金) 22:09:21.22ID:+Ex9QBom0
>>558
DataGridViewの中のImageColumnだからそれだとできないのでは?
2019/06/21(金) 23:28:05.29ID:JQSabSWL0
その後使うのに勝手に閉じるほうがクソ仕様じゃん
用途理解せず間違った使い方して仕様に文句言うってw
2019/06/21(金) 23:32:45.71ID:fAAfMpwpa
>>560
お前さんの思うようにならないこの世の中は、糞仕様の最たる物だろうね
2019/06/21(金) 23:50:02.71ID:r7op1kHj0
使うのは画像データで、読み取ったファイルは要らないから閉じてよ。
って話だろ?
2019/06/22(土) 00:10:22.86ID:0zozUz1q0
>>561
Bitmapを入れるだけだからできないってのはありえない
例えばImageConverter経由で直に入れる場合
dgv_erogazou["ERO_IMAGE", i - 1].Value = (Bitmap)new ImageConverter().ConvertFrom((byte[])System.IO.File.ReadAllBytes("C:\data\" + i.ToString() + ".jpg"));
2019/06/22(土) 00:22:05.59ID:RCotbW9/0
>>565
詳しいですね。試してみます。
2019/06/22(土) 09:51:37.11ID:sRxgpvPlM
>>564
画像データ変更してSaveするかも知れんだろ
SaveとかしないんならFileStream作ってコンストラクタに渡せばいいだけ
もちろんFileStreamは自分で閉じろよ
2019/06/22(土) 20:13:32.14ID:RCotbW9/0
>>565
ありがとうございます!!!出来ました!!
すばらしい!!そういう方法があったのですね!!!
しっかり画像の削除できました!!!
2019/06/22(土) 20:22:58.28ID:kyoGZvmZ0
えっちな奴め
2019/06/22(土) 20:25:30.34ID:oSCB+4xW0
えっち駆動開発の何が悪いんですか
2019/06/22(土) 20:36:08.91ID:Ox8nDO+0M
直ぐにdefunctになる事
2019/06/22(土) 21:32:06.83ID:q0mPajE40
我がエロは永久に不滅です
2019/06/22(土) 21:36:35.73ID:RCotbW9/0
よしこれでエロ画像クローラーできる
2019/06/23(日) 15:09:33.41ID:4oGZ8zjy0
WEBのエロ画像収集のためのエロボット作るのにC#は向いてますか?
向いていないなら何言語や何のフレームワークがオススメですか?
2019/06/23(日) 15:41:05.03ID:4589uE1UM
>>574
エロは偉大だからな。
当然C#で可能。
2019/06/23(日) 19:50:32.93ID:XYuZEt+Z0
>>574
AngleSharpっていう便利なライブラリを使うと色々と捗るよ
2019/06/24(月) 07:04:12.89ID:INU2Nep40
>>576
こんなエロボットフレームワークがあるんですね
もう爆発寸前なので助かります
さー調査と設計だ
2019/06/25(火) 00:07:05.16ID:UHHkgEL+0
Guid構造体はなぜnullと比較可能なんでしょうか?
2019/06/25(火) 01:31:20.19ID:KoYuAQ6u0
>>578
nullの比較できるというのは気のせいだね
2019/06/25(火) 03:29:25.92ID:4JR3abKur
どの値型でもnullと比較する式は書けるが
Nullable以外だと結果は常に非null、じゃなかったっけ
2019/06/25(火) 10:31:07.49ID:6gRatuk7p
構造体なんて無いから。
常に実体がやり取りされているんだからnullの状態なんか無いよ。
2019/06/25(火) 11:54:15.85ID:M3mY4uqKd
構造体はあるやろ
2019/06/25(火) 11:56:21.92ID:S47SJWtZM
ガイジに話しかけるな
2019/06/25(火) 12:24:38.17ID:hYWx9HjQ0
なつくぞ
585デフォルトの名無しさん (アウアウカー Sa5d-okmR)
垢版 |
2019/06/25(火) 12:26:46.14ID:fHxE1RgIa
WPFちょっとやってみたけどクソめんどくさく感じるんだけど慣れるとformアプリではもうやらないってなるもん?
2019/06/25(火) 12:59:02.90ID:dhEdiy5y0
そこまでではないけどFormsでListViewにバインディングできないことにうんざりするぐらいには
2019/06/25(火) 13:05:18.68ID:kPWnGZLKM
>>585
やればやるほど新たに面倒臭い概念が出てきて余計に面倒臭くなるよ
コントロールテンプレート、依存関係プロパティ、ルーティングコマンド、ルーティングイベント、デコレータ、エフェクト、VSM、色空間、Drawing系API、等々、WPFの魔境は果てしなく続く
現代における典型的なセカンドシステム症候群の事例としては貴重だから、どんな概念があるかを一通り眺めてみる分には損はない
一つ一つのアイデア自体は非常にスマートなもので、なるほどと感心するようなものが多く、フロントエンド設計の勉強にもなるしね
2019/06/25(火) 19:00:07.49ID:jHEFOU5uM
>>587
ちょっと書きづらいよね
あとから見る時も見辛いし
プリプロセッサでも作ろうかな
2019/06/25(火) 19:02:33.37ID:vtQg0q3N0
.NET Standardの中で.NET Coreから呼び出されたかどうか判断できます?
Environment.GetCommandLineArgs().First()の拡張子で判断くらいしか思いつかず
明確な方法があれば助かります
2019/06/25(火) 19:26:07.17ID:zsZioWuM0
>>589
なんでそんなことがしたいの?
2019/06/25(火) 19:46:04.41ID:vtQg0q3N0
>>590
HttpWebRequestの実装が恐ろしいので何かしら対策しようとしています
2019/06/25(火) 20:18:45.64ID:H0q3OQVA0
https://docs.microsoft.com/en-us/dotnet/api/system.runtime.interopservices.runtimeinformation.frameworkdescription?view=netframework-4.8
これでどう?
2019/06/25(火) 20:28:52.74ID:vtQg0q3N0
>>592
ありがとうございます
Assemblyを辿ってそれっぽいのも見つかったのですが、こちらの方が簡単なので
参考にさせてもらいます
2019/06/26(水) 04:29:08.46ID:eFojmlDc0
>>585
慣れても仕事とかだと普通にwinform使う
なんだかんだとwpfはめんどくさく
学習コスト高いから
習熟した開発者が少なくて安易に使えない
595デフォルトの名無しさん (アウアウカー Sa5d-okmR)
垢版 |
2019/06/26(水) 08:07:26.56ID:u3TFQ+4na
>>587
>>594
ありがとう
開発手法としては理にかなってて割と好きではあるんだけども勉強してみて学習コストが高いと言われるているのはよくわかった。。
もう少し書籍なり充実してて将来性も有望なら頑張れそうだけど早くも心折れかけてる
2019/06/26(水) 08:16:17.91ID:PhRSMRl5d
仕事だとテストのしやすさが重要なファクターだからWPF一択だな
テストしなくていいよってとこならWinforms
2019/06/26(水) 09:16:39.11ID:xtHmKE3cM
WPFとMVVMを採用したからといってビューをテストしなくてよくなるわけじゃない
それWinFormsじゃ難しいッスwwサーセンww
が通用しなくなってビューの仕様が膨張しがちな分だけ、まず例外なくテスト工数は増えるよ
Passive Viewのような設計パターンを学べばWinFormsでもビューロジックの単体テストは可能
2019/06/26(水) 09:26:06.98ID:QHgmuWluM
ズレた会話を補正できるフレームワークをください
2019/06/26(水) 09:26:37.90ID:PhRSMRl5d
「テストのしやすさ」な
2019/06/26(水) 09:27:18.92ID:PhRSMRl5d
別にWinformsはテスト不可って言ってるわけじゃない
2019/06/26(水) 09:48:33.88ID:HSzkoapr0
.mobi もしくは .azw .azw3 のファイルを解凍?するライブラリってありませんか?
2019/06/26(水) 10:08:27.28ID:RqqyhRb10
nugetで検索してみればmobiはいくつか見つかるな
2019/06/26(水) 18:48:22.15ID:mLhKuAUca
言うほどお前らテスト書いておらんやろ
2019/06/26(水) 19:20:20.18ID:PhRSMRl5d
書いとるよー
2019/06/26(水) 19:22:39.39ID:UJGyHIPed
ビューのテストって何をテストするの?テキストがはみ出さないかとか?
2019/06/26(水) 19:25:49.92ID:sx0u8G1v0
asp.netのSQLServerアクセス部分でユーザーのアクセスが重なるとどうもDBアクセスに失敗するみたいなのですが、DBアクセス処理をstaticメソッドで書くのは悪手だったりするでしょうか?
607デフォルトの名無しさん (エムゾネ FFb3-br4T)
垢版 |
2019/06/26(水) 19:31:19.63ID:fmXddalaF
lock と retry 汁
2019/06/26(水) 19:40:03.93ID:PhRSMRl5d
>>606
コード晒してみ
2019/06/26(水) 19:46:46.69ID:sx0u8G1v0
>>608
会社かつ前任者のコードなので晒すのは難しいのですが、ASP.NETのようなwebアプリでstaticメソッドとか大丈夫かなと思いつつもダメな理由は説明できず
メモリ領域共有するんじゃなかったかな程度の認識です
2019/06/26(水) 19:52:43.34ID:sx0u8G1v0
ASPの者ですが、問題のメソッドが抱えるSQLはSELECTしかないのでデッドロックは無いと思います
呼び出し先のターゲットでエラーをキャッチしました
程度のログしか残って無いので、現象再現が難しく困っております
2019/06/26(水) 19:52:48.15ID:bHDlLtN30
アメリカ製品を著作権で保護する義務は無い。プロテクトをはずしたコピー
の流布を何人たりとも妨げてはならない。

福島原発爆発させたアメリカ人は、日本人に慰謝料を払え。
日本人は大切な農地を失った。一兆円の一億倍の金額を日本人に払う義務がある。
2019/06/26(水) 19:53:56.64ID:bHDlLtN30
頭がいい日本人は、プロテクトをはずし、流布できる。
アメリカ人に金を払う義務も義理も無い。
2019/06/26(水) 19:58:15.93ID:Yg3jjeyya
コピペマン参上!!!まで読んだ
2019/06/26(水) 19:58:53.91ID:PhRSMRl5d
>>609
どうやってDBにクエリ投げてるかも見ずに判断はできないよ
2019/06/26(水) 20:03:19.28ID:U8omILn4p
>>606
コネクションのクローズしとる?
2019/06/26(水) 20:04:01.32ID:Ah/Hy021a
Connectionインスタンスも共有してるというオチだろ
2019/06/26(水) 23:23:25.13ID:PXDML4haa
コネクション自体がstaticとか、コネクションがSessionに突っ込まれてるとかありそう
Librahack事件みたいなクソソースになってるんじゃなかろうか
2019/06/27(木) 07:00:32.10ID:nNrp6UFx0
エラーメッセージを取得して、それで検索すれば?
DB の実行計画を見るとか

一方が読み取りでも、他方が同時に書き込みしていれば、その間ロックされる

特定の時間帯に、時間の掛かるバッチ処理で、
長時間に渡って、表を更新しているかも知れないし
2019/06/27(木) 07:07:10.17ID:C3eSzJbL0
>>618
楽観的排他制御なら読み込みは出来るかなと思ってましたが色々確認しないとダメなのですね
2019/06/27(木) 08:45:24.16ID:v58kjs08M
レコードロックとテーブルロックを機能ごと指定させられたことあるけど
落ちないだけで本当に適切な仕様は自分で考えてねって設計書に書いてあった
フィールドに全体の件数と合計から算出する要素があって明らかに徒労なのに頑張った
2019/06/27(木) 08:49:39.03ID:S3Pv/OFX0
>>602
無かったのでKindleUnpackのPythonソースを読みながら自分でコード書いた。
画像データの取り出しだけなら簡単だったよ。
622デフォルトの名無しさん (エムゾネ FFea-RNYM)
垢版 |
2019/06/27(木) 11:02:50.04ID:te5kXF0fF
>問題のメソッドが抱えるSQLはSELECTしかないのでデッドロックは無いと思います

史上稀に観るアホ
触っちゃいけないレヴェル
2019/06/27(木) 12:10:15.36ID:8RLu6j/60
string str_url_test = "https://www.rarara.co.jp/xasdfs333ad/code/abcdefg/ref=112&;number=555";

//正規表現を定義
string anchor = "https://www.rarara.co.jp/.*/code/(?<code>.*?)/.*";

code の後の abcdefg

を抽出する正規表現を定義しました。

一応動いていますが、この正規表現の定義はスマートでない気がします。


Regex re = new Regex(anchor, RegexOptions.IgnoreCase | RegexOptions.Singleline);

for (Match m = re.Match(str_url_test); m.Success; m = m.NextMatch())
{
  string str_test = m.Groups["asin"].Value;
  Console.WriteLine(str_test);
}

スマートな定義を教えてください。
2019/06/27(木) 12:32:07.51ID:cRVxwV8ZM
まずスマートの定義をくれ
2019/06/27(木) 14:09:30.43ID:Q2Oxmr0fM
>>624
あーウゼー
2019/06/27(木) 14:20:45.08ID:nNrp6UFx0
Ruby で作った

[^/]+ は、/ 以外の文字が、1つ以上続く。
正規表現のスレで、聞いた方がよいかも

# 正規表現を、%r!〜! で囲むことで、/ を、\/ と、自動的にエスケープする。
re = %r!^http://www.rarara.co.jp/[^/]+/code/([^/]+)!

str = "http://www.rarara.co.jp/xasdfs333ad/code/abcdefg/ref=112&;number=555"

md = str.match( re )
puts md[ 1 ] #=> abcdefg。md[ 1 ] は、capture 部分
2019/06/27(木) 14:27:06.21ID:2+uL3o0i0
¥エスケープは@で
初心者を困らせる輩はrubyスレに消えて
628デフォルトの名無しさん (エムゾネ FFea-a57L)
垢版 |
2019/06/27(木) 14:45:42.13ID:A3w8sjPHF
仕様を小出しにするなカス
死ね
2019/06/27(木) 14:54:33.49ID:8RLu6j/60
>>626
ありがとうございます。
正規表現がシンプルでいいですね!
私も正規表現を極めたいものです。
2019/06/27(木) 14:57:15.00ID:8RLu6j/60
正規表現は苦手なんだよな。
いろいろなパターンで試して勉強するしかないかな。

効率的に勉強する方法はある?
2019/06/27(木) 15:07:03.52ID:nNrp6UFx0
Ruby, JavaScript あたりの正規表現のページを読めば、十分じゃないの?

先読み・後読みは、難しいから無視する。
その代わりに、[^a]+ みたいな、a以外の文字が、1つ以上続くなどの表現を使って避ける
2019/06/27(木) 22:42:48.18ID:EN7VAxwO0
DataGridViewなんですが、Win10で描画がものすごく遅いのは何とかなりませんか?
もちろんオンボのおんぼろノートなのが悪いのですが
Win10上のゲストXPのほうが断然早いのは納得できません
2019/06/27(木) 23:12:47.92ID:oiNM/LxL0
>>632
DoubleBufferedプロパティをtrueにする
2019/06/28(金) 00:28:54.58ID:DioESCVe0
C# +Selenium で headless でブラウザを開くと遅くないですか???
2019/06/28(金) 06:58:11.47ID:D2ExxOf/0
Windows10, Ruby, Selenium WebDriver で、どのブラウザでも、

最初の起動には、10秒ぐらい掛かる。
2回目以降は、5秒ぐらい
2019/06/28(金) 07:27:31.58ID:+Ee2NvDr0
DataGridView触る仕事とかしたくねーなー
近々消される運命のものを覚える程のキャパは無いぜ
2019/06/28(金) 08:12:54.55ID:l8i4Vkx00
>>636
だったら何ならいいんだよって話

今更どうこうされるとも思わない
javaのspringあたりが実はいいのかもしれん?
2019/06/28(金) 11:24:55.63ID:NfHf96pi0
そもそも消されるというのは何を言ってるのか
わざわざ.NET Standardにぶちこんだのに
今更改善はされんだろうが
2019/06/28(金) 11:52:47.07ID:DioESCVe0
セレニウムでヘッドレスモードで
Ajaxを使っているページを取得しようとすると
xpathが見つからないです。

また、ヘッドレスモードだとデータ取得がブラウザを表示する場合と比べて遅くないですか?
2019/06/28(金) 12:44:42.09ID:lDUutk93d
>>637
Springわろた
2019/06/28(金) 14:44:09.62ID:MTNOQapr0
>>639
C#関係ないから別スレで聞いてね
2019/06/28(金) 14:51:29.52ID:DioESCVe0
>>641
URLはって
そいたら移動する
2019/06/28(金) 15:05:19.30ID:NRtGoyzNp
そんな事書いてると、ウィルスサイトに誘導されるだけだぞ。
2019/06/28(金) 17:21:43.81ID:a5iu9xEpM
>>640
でも絶対消えないだろ
VMあるし動き続けるぞ
2019/06/28(金) 17:58:15.08ID:lioMzEvpd
Springはおっさん達にはいい反面、これからの人材育成のコストが高い。この事実により減ってく気がする。
2019/06/28(金) 18:05:48.87ID:jvOF1fHl0
スレタイとテンプレ読めないのおまえら
2019/06/28(金) 22:23:15.24ID:9V6DEbDgM
愚問だな
たぶん愚問も読めないぞ
2019/06/28(金) 23:46:40.47ID:kc3OO/mk0
おろかもん?
2019/06/29(土) 02:04:31.50ID:CfES0TXk0
char * を引数にとるdllの関数に対して、stringを渡しているのですがこの時エンコードはどうなってしまっているのでしょうか?
2019/06/29(土) 02:41:22.49ID:U4J3X9fn0
>>649
https://ufcpp.net/blog/2016/12/tipsstringmarshal/
651デフォルトの名無しさん (ワッチョイ 158f-a57L)
垢版 |
2019/06/29(土) 02:43:08.25ID:CfES0TXk0
>>649ですが自己解決しました。(質問した時点では自分の悩みも理解できていませんでしたが…)

まずstringで渡る文字列のエンコードは
ansi or unicode(utf-16)になる。どちらになるかはDllimport文で指定する。
でした。

ところで結局自分が渡したかったのはutf-8だったので困ってしまったのですが
stringstringではなくbytes[]を引数にすれば好きなエンコードで渡せるので解決しました。
652デフォルトの名無しさん (ワッチョイ 158f-a57L)
垢版 |
2019/06/29(土) 02:44:55.06ID:CfES0TXk0
>>650
入れ違いになってしまいましたがありがとうございます。
質問する前の粘りが少し足りてませんでした、すみません。
2019/06/29(土) 12:00:26.90ID:hssGSTafa
>>651
.NET Framework4.7以降が対象なら
UnmanagedType.LPUTF8Str もある
2019/06/29(土) 13:09:26.51ID:SmRBL5H90
でもC#はByte型やByte[]型配列の機能弱いからなぁ
何か加工しようと思ったらフルスクラッチするか、
String型にイチイチ変換するしか無いんだよなぁ
655デフォルトの名無しさん (ワッチョイ d67c-a57L)
垢版 |
2019/06/29(土) 13:22:08.44ID:TBOm/90P0
unsafe
656デフォルトの名無しさん (ワッチョイ 6d68-rkTX)
垢版 |
2019/06/29(土) 16:56:21.59ID:eBTnp91s0
c#で枠のないフォームっていうのが簡単に作れるけど
これって歴史的に言えば、10年前からできたんですかね?
技術的にとてつもないことだと思うんですが、こういう事まで機能として
提供して大丈夫なんですかね
2019/06/29(土) 17:29:11.42ID:ptlXP7M80
>>656
何か大丈夫じゃなくなることってあるの?
枠無しどころかフォームの形も自由に作れるけど
https://dobon.net/vb/dotnet/form/formregion.html
https://dobon.net/vb/dotnet/form/transparencykey.html#shape
2019/06/29(土) 17:30:51.20ID:dztqrfzza
>>656
20年前にはできてたな
2019/06/29(土) 17:33:57.14ID:hssGSTafa
>>656
Win32APIのCreateWindow()でdwStyleを変えれば枠なしウィンドウを簡単に作れるし
そのAPIはMicrosoft DocsによるとWindows 2000時代にはサポートされていたわけだが
2019/06/29(土) 17:48:17.59ID:18j8PEbp0
>>656
技術的にはタイトルバーと枠を省くだけだから
とてくもないことということはないと思うけどな

描画的にはタイトルバーと枠を描画しないだけだし
動作的にはそれらが機能しないだけだし
2019/06/29(土) 17:53:44.15ID:AOeCR8Fo0
>>656
何を心配しているの?
2019/06/29(土) 17:55:17.63ID:FzKXrugu0
Xの目玉とか、伺かとか知らない世代か…
663デフォルトの名無しさん (ワッチョイ d902-a57L)
垢版 |
2019/06/29(土) 18:04:14.38ID:rlA57Q8P0
webbrowserコントロール使ってページ遷移してる時に
ページによってはアラートのメッセージボックス出してくるとこがあるんですが
そうなるとプログラムの制御がそこで固まってしまい進めません。
アラートをプログラムで自動的に閉じるにはどうしたらいいんでしょうか?
メッセージボックスつかまえてEnterキーが押された感じにするとかですかね?
664デフォルトの名無しさん (ワッチョイ 8663-Ij2G)
垢版 |
2019/06/29(土) 18:20:19.05ID:18j8PEbp0
>>663
webbrowserのIEのバージョンを最新のIE11Edgeモードにすると
余計なアラートが出て来なくなったと思う

レジストリに設定しないといけないのが面倒だが
デフォルトだとIE7バージョンでレンダリングになり
たびたびアラートが出てくる

何年か前に使った時の記憶でスマン
詳しくはググってみて
2019/06/29(土) 18:24:09.63ID:hssGSTafa
>>663
WebBrowserのScriptErrorsSuppressedプロパティにtrueを設定すれば
(このプロパティ名であるにもかかわらず)全てのポップアップ系統を表示させないように出来るんだけど
これで要件満たせるならどう?
666デフォルトの名無しさん (ワッチョイ 6d68-rkTX)
垢版 |
2019/06/29(土) 19:36:33.60ID:eBTnp91s0
>>658-661
20年前って本当?
何が怖いかって、デスクトップの背景に紛れたら
わからなくなるじゃないですか、それが怖い
こんな機能問題ないのかなって思うんだよね
2019/06/29(土) 19:59:02.78ID:H6Ncr62l0
>>666
ウインドウズには昔からフォームを表示しないプロセスすら当たり前にあるんだから
プログラムの前にPCの基本知識から勉強したほうがいいよ
2019/06/29(土) 20:09:37.55ID:rlA57Q8P0
>>664 >>665
すみません。説明が悪かったかもしれません。
その種のエラーアラートではなくてサイトにアクセスした時に
サイト側のスクリプトが確認のメッセージボックスを出したりして
それで動きが止まってしまうので、自動でOKボタンをクリックするなどして
メッセージを閉じたいってことなんです。

ウェブブラウザコントロールのScriptErrorsSuppressedはOFFにしてますね。
確かにこれOFFにしてないと大量のエラーがでますよね。
2019/06/29(土) 21:34:15.51ID:FVFUaXhq0
ポインタって現役のころから考えても
業務で使うことはほぼなかったな〜
2019/06/29(土) 21:35:50.78ID:B3n0CVhg0
>>669
デカい画像を扱うときって必須じゃね?
まあ、アクセス用の関数も作るけどさ
2019/06/29(土) 21:41:55.57ID:FVFUaXhq0
ポインタなんて使わなくても必要な機能は
幾らでも実装出来る。

無駄な機能だよな。ポインタって。初めてポインタと出会った時はすんげー混乱させられて
プログラム嫌になりそうだったw
2019/06/29(土) 21:59:39.78ID:KuifYO5q0
アセンブラやってたらインクリメントを有効に使いたくなっちゃうじゃないですか!
配列のアクセスに毎回アドレス計算するなんて無駄じゃないですか!
2019/06/29(土) 22:07:30.42ID:FVFUaXhq0
アセンブラなんて全案件の1%にもみたないだろ
2019/06/29(土) 22:08:51.59ID:kjDvto4M0
>>666
20年前と言えばWindows98の時代だよな。
余裕であったぞ。

というかWindows3.1の時で既にあったと思うが。
2019/06/29(土) 22:12:57.86ID:5rmy1SGLa
Windowsのコントロールはそれ自体独立したウィンドウなんですよ、
ってWindowsプログラミングで最初に覚えることだよねw
2019/06/29(土) 22:28:44.63ID:KuifYO5q0
つーか、簡単に作れない言語って何?
2019/06/29(土) 22:30:06.98ID:kjDvto4M0
>>676
何が?
2019/06/29(土) 22:37:21.27ID:KuifYO5q0
タイトルバーと枠を省く
2019/06/29(土) 22:42:33.28ID:kjDvto4M0
>>678
Win32API使えない言語なら出来ないかもしれないけど。
殆どの言語で簡単に出来るんじゃね?
2019/06/29(土) 22:54:55.71ID:/qzOxQgj0
>>676
>>656にとっては)C# 以外
2019/06/29(土) 23:13:33.63ID:71VA6rcX0
>>675
WPFは違うけどね
2019/06/30(日) 03:06:57.70ID:0m2pCA80a
自分で作ったアプリのデバッグファイルを実行しようとすると
WindowsDefenderから「Program:Win32/Bearfoos.A!mlが検出されました」と表示されて削除されてしまうのですが
全然心当たりがないのだけど誤検出でしょうか?
2019/06/30(日) 03:28:32.51ID:0m2pCA80a
インデントしたらなぜかウイルス検出されなくなりました
不思議ですね
2019/06/30(日) 06:51:24.27ID:8pd04p7x0
最近のブラウザなんかでよくあるタイトルバーとタブコントロールの耳が一緒になったやつは
やっぱり簡単には作れないんでしょうか
685デフォルトの名無しさん (ワッチョイ 6d68-rkTX)
垢版 |
2019/06/30(日) 09:47:08.97ID:FNFqG6N10
>>674
そうなんですね
高級な機能を公開することってメリットあるんですかね?
誰でも難しいことができたらプログラミングのありがたみがなくなるというか
でもなんでこんな機能が豊富すぎるC#ってプログラミング教育に普及しないんでしょうかね
まだ凄さがばれてないだけでしょうかね?
686デフォルトの名無しさん (ワッチョイ 6d68-rkTX)
垢版 |
2019/06/30(日) 09:55:02.73ID:FNFqG6N10
なんか怖くなってきた
小学生が全員C#に興味持ち始めたら仕事奪われないか…
20年間もこんな便利な言語が学生にばれない理由はなんだ…
2019/06/30(日) 09:55:32.27ID:RF81+/n00
>>684
それはC#の機能としては無いので自分で作らなければならない
タイトルバー部分を自分で描画する(これもC#の機能としては無い)か本来のタイトルバーを非表示にして自分で代替になるものを用意するか
>>685
C#のプログラムの質問じゃなければ相談室あたりでやって
2019/06/30(日) 09:56:01.29ID:q5qKi1vt0
何言ってんだコイツ
2019/06/30(日) 09:56:57.70ID:q5qKi1vt0
>>687
相談室に来られても厄介者扱いでしょ
2019/06/30(日) 09:59:02.48ID:KTHcpQ7y0
>>686
あんまり自由が効かない
みんながよく使ってるスマホアプリも
c#ですんなり作れるわけじゃないし
親からiphone渡されてるお坊ちゃんの
対象からは外れちゃうだろ
2019/06/30(日) 09:59:46.59ID:VDp+hLNV0
>>685
いや、高級でも何でも無いし難しくもない。
それにC#の話じゃなくてライブラリの問題でしょ。
枠のないフォームを作れるようにライブラリに機能を含めるかどうかの問題。
692デフォルトの名無しさん (ワッチョイ 6d68-rkTX)
垢版 |
2019/06/30(日) 10:05:08.56ID:FNFqG6N10
>>690
でもC#からjavaやphpへの変換ってとても簡単なわけじゃないですか
小学生の大半がプログラミングできるようになったらどうなるんだろうか…
プログラマが工場並の自給になるとか??
2019/06/30(日) 10:10:59.47ID:KTHcpQ7y0
>>692
なるね
っていうか義務教育でできるレベルにしないと
現場の業務改善がシステムがいじれないと自分じゃ何もできんしね
2019/06/30(日) 10:20:26.50ID:VDp+hLNV0
ならね―と思うぞ。
昔、シグマプロジェクトというのがあってだな...

とっても笑えるから調べてみることを勧める。
2019/06/30(日) 10:35:29.86ID:KTHcpQ7y0
>>694
いや、そうじゃなくてプログラム組めないと業務改善できんから邪魔なんだよ
それにエンドが気づいてきてる
2019/06/30(日) 10:39:39.86ID:VDp+hLNV0
>>695
プログラマーが工場並の時給にはならね―と言ってる。
2019/06/30(日) 10:40:12.23ID:7SgHXn8q0
荒しはプロバイダー一括NGでも、やむをえない
2019/06/30(日) 10:43:10.19ID:KTHcpQ7y0
>>696
え?工場のが高いよ
っていうか工場って高いじゃん
2019/06/30(日) 10:47:20.73ID:7bkM+Qgs0
>>688
安心しろ
多分どこもデスマだらけだから
2019/06/30(日) 11:00:24.44ID:qr5fQsK40
>>692
小学生が授業で習ってできるようになる程度のことしかできないなら仕事奪われても仕方ないな。
ウィンドウの枠が消せるだけで高機能だなんて、いったいこれまでどんなプログラムを書いてたんだ? コピペ定型文の切り貼りしかできないなら、それこそやる気のある小学生の方が将来性があるだけ価値が高いよ。
2019/06/30(日) 11:04:08.71ID:VDp+hLNV0
>>700
切り貼りでOKと思ったからシグマプロジェクトが計画されたわけ。

プログラミングはそんなもんじゃね―から失敗したわけだ。
2019/06/30(日) 11:49:19.06ID:KTHcpQ7y0
>>701
いや、切り貼りでおkよ
なんで切り貼りでできんの?
2019/06/30(日) 11:50:28.34ID:KTHcpQ7y0
現にdobonのコピペで大抵のモンが作れるっしょ?
2019/06/30(日) 11:59:22.77ID:EwrgGmh50
もともとプログラミング自体は別に難しいことじゃない。天才に作らせたって凡才に作らせたって同じようなものができる。ちゃんとした設計が用意されてれば頭を使う必要も少ない。
IT業界でもうかるのはプログラマーじゃなくて例えばシステムコンサルとかでしょ。
2019/06/30(日) 12:09:11.51ID:zyEEOjR60
>>704
要件定義・仕様書作成、メンテナンスもな
2019/06/30(日) 12:48:03.77ID:7bkM+Qgs0
デスマだらけで現場去りたい人間の方が多いから
全然ウェルカムでしょ
707デフォルトの名無しさん (エムゾネ FFea-a57L)
垢版 |
2019/06/30(日) 12:56:26.01ID:mVPaCc77F
X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*
708デフォルトの名無しさん (エムゾネ FFea-a57L)
垢版 |
2019/06/30(日) 12:58:19.90ID:mVPaCc77F
https://www.eicar.org/?page_id=3950
ここの
eicar.com.txt
ダウンロード
709デフォルトの名無しさん (エムゾネ FFea-a57L)
垢版 |
2019/06/30(日) 13:04:10.30ID:mVPaCc77F
import urllib2
a='http://www.eicar.org/download/eicar.com.txt'
b=urllib2.urlopen(a).read()
open('EICAR_COM.txt', 'wb').write(b)
2019/06/30(日) 13:31:58.71ID:VDp+hLNV0
>>702
部品を切り貼りでプログラム組むというのはレベル低すぎでしょ。
寧ろ創造的なセンス無いとダメでしょ。
711デフォルトの名無しさん (ワッチョイ a97c-a57L)
垢版 |
2019/06/30(日) 14:03:06.81ID:3lNMnNY50
>>694
有賀d
勉強になった
https://mevius.5ch.net/test/read.cgi/tech/1558002486/
ここのが一番うまくまとめてると思う
712デフォルトの名無しさん (ワッチョイ a97c-a57L)
垢版 |
2019/06/30(日) 14:04:32.41ID:3lNMnNY50
貼り間違えたω
http://www.pro.or.jp/~fuji/mybooks/okite/okite.9.1.html
2019/06/30(日) 14:04:43.61ID:e6YddI/ba
>>685
大勢が保守的だからだろうね。
少し勉強すれば便利な道具が手に入るのに面倒がるし目先の時間を惜しむ。
些細な欠点を挙げつらって全体の利便性を大きく損なっているのに気がつかない。

今の社会の問題点でもあるのかな。
2019/06/30(日) 14:11:13.91ID:KdxwvvZva
何そのネットde真実みたいな謎の思考回路ww
2019/06/30(日) 16:40:30.93ID:KTHcpQ7y0
>>712
え?たった250億円で引いちゃうの?
ITの投資にしては安すぎるんちゃうの?
桁が2つは足りん気がした
2019/06/30(日) 16:42:04.87ID:KTHcpQ7y0
日本株に毎年7兆入れる前にもっと必要なもんあるっしょ
717デフォルトの名無しさん (ワッチョイ d67c-RNYM)
垢版 |
2019/06/30(日) 16:42:31.43ID:QU2Ls1X60
30年前ならそんなもんかもな
718デフォルトの名無しさん (ワッチョイ d67c-RNYM)
垢版 |
2019/06/30(日) 16:44:40.48ID:QU2Ls1X60
NTTの電話加入者設備設置負担金の踏み倒しは犯罪レベル
単純に一世帯4人でも2500万件x7万円で
会社の回線とか入れたら1億件で済まんと思うが
仮に1億として少なく見積もっても1億件x7万円だ
7兆円どころかおそらく数十兆円をNTTはネコババしやがった
2019/06/30(日) 16:49:39.92ID:VDp+hLNV0
そもそも、部品の切り貼りで誰でも作れるようにするって所に無理がある。
その上、誰でも作れるようにして安くするための部品を今収入を得ているプログラマーに作らせるなんて、自分の首を絞めるようなことを皆がやると思ってるあたり本当に笑える。
2019/06/30(日) 16:50:17.77ID:OdVPY/Nu0
「C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください」
雑談したいならマ板とか他でやれ
2019/06/30(日) 19:52:37.97ID:QC0zonMJ0
その注意書きの問題点として馬鹿ほど読めないことを忘れてる
722デフォルトの名無しさん (ワッチョイ d62d-TCuK)
垢版 |
2019/07/01(月) 05:55:39.89ID:ruCUwUIS0
C#のインターフェイスにデフォルトのメソッドを実装できるようにしてほしいんだけど・・・・
なんでそういう機能をつけてくれないの?
2019/07/01(月) 06:21:17.99ID:5cohzUkGa
>>722
9月予定のVisualStudio2019アップデートでC#8が使えるようになる予定だけど
その中にまさに Default Interface Methods がある
2019/07/01(月) 08:21:58.47ID:Dtbq/zM3a
ところが default interfafe implementations は .NET Core のみの機能で、.NET Framework では利用できないんだ。
そして、.NET Framework は 4.x が最後のバージョンとなり、今後フィーチャーアップデートは提供されないことが決定している。
つまり君達ドカタグラマには永遠に利用できない機能なんだ。残念ながら。
2019/07/01(月) 09:04:55.02ID:Zsrv75FU0
そもそも言語に機能欲しけりゃ提案すればいい
2019/07/01(月) 14:51:03.28ID:DDYeQXuRd
xUnitでテストしようとすると、NuGetアダプターを参照しろとかな何とかってメッセージが出てテスト出来ないんですけど何が原因ですか?
MSTestは普通にできました
2019/07/01(月) 18:11:06.57ID:DDYeQXuRd
自己解決しました
2019/07/01(月) 22:13:22.48ID:n69WBZRQ0
>>725
もう提案しても.NET Frameworkには反映されない
2019/07/01(月) 22:37:00.61ID:mdlnYL3Ka
>>728
.NET Frameworkで動くILを出力する範囲なら
C#の新機能は使えるんじゃないの
RangeやIndexなど、.NET Frameworkには入らないだろう型に依存する機能でも
ポーティングすればおそらく動くだろうし
過去の例: https://ufcpp.net/study/csharp/cheatsheet/listfxlangversion/
2019/07/01(月) 22:45:08.02ID:mQ8xp1mF0
ランタイムに修正が必要ないものなら動くよ
2019/07/01(月) 22:56:47.38ID:YzHO/9WRd
タプルとかawait/asyncみたいに古いFramework向けの拡張ライブラリがnugetでインストールできるようになるでしょ
2019/07/01(月) 23:30:00.86ID:n69WBZRQ0
言われてみれば、大抵のものはコンパイラーやライブラリで実現出来るな
ただ、個人的に楽しみにしてたfast Spanとインターフェースのデフォルト実装は来ないこと確定…
2019/07/02(火) 12:06:26.19ID:L8oVJAH90
C#+Slenium(Chrome)の操作に詳しい方に質問があります。

Chromeを user_test1 〜 user_test5 の5アカウントで立ち上げているとします。
この時に user_test3 のChromeブラウザだけ終了させるにはどういうコードをかけばいいでしょうか?

Chromeの Process を落とすと、全てのブラウザが落ちてしまうので困っています。
何か方法はありませんか?
734デフォルトの名無しさん (ワッチョイ a97c-a57L)
垢版 |
2019/07/02(火) 12:20:36.47ID:dJ0Zw08U0
https://rooter.jp/web-crawling/introduce-pranium/
2019/07/02(火) 15:04:09.04ID:uMGeffjZ0
Ruby, Selenium Webdriver では、user_test3 は、配列要素の0〜4 の内の、2

all_handles = driver.window_handles
driver.switch_to.window( all_handles[ 2 ] ) # user_test3 へ移動する

例えば、user_test3 がタイトル名で、タイトル名でタブを探すとすると、

driver.switch_to.window で、all_handles[ 0 ]から[ 4 ]へ移動しながら、
1つずつタイトル名をチェックしていく

すべてのタブのタイトル名を、もっと簡単に取得できれば良いのだが、漏れにはわからない。
ひょっとしたら、JavaScript で出来るのかも知れないけど

Get title of window without switching in selenium webdriver
https://stackoverflow.com/questions/25760357/get-title-of-window-without-switching-in-selenium-webdriver
2019/07/02(火) 15:23:20.29ID:P7MFIbDwM
>>733
ユーザー3のChromeだけ落とすコードを書けばいいよ
2019/07/02(火) 16:12:44.30ID:L8oVJAH90
>>734
そんなサイトがあったのですね。

>>735 >>736
ありがとうございます!試してみます!!
2019/07/02(火) 22:16:11.23ID:xi5lZ2zRp
C#のnewってヒープからの領域取得じゃないんだな。
初めて知ったわ。
2019/07/02(火) 23:17:46.06ID:e51j6PrD0
毎日が驚きに満ち溢れて楽しそうですね
2019/07/03(水) 20:51:00.97ID:6un8tUOF0
外注したプログラムがTSQLにトランザクション実行してSELECTのクエリ投げた後にコミットもロールバックもしてないんですけど動いてます
C#というか.NETって意外と大丈夫なものなのでしょうか?
2019/07/03(水) 21:00:39.77ID:U7SsagsLM
DBへのアクセスが少ないんだろ
2019/07/03(水) 21:18:25.14ID:T6bVi6sl0
>>740
SqlTransactionをusingで宣言しているならロールバック要らないってのは聞くけど、流石にコミットしないとDisposeするときにロールバックされちゃうんじゃね?
2019/07/03(水) 21:28:32.02ID:6p0CwbrbM
デフォルトでauto commit動作じゃなかったっけ
2019/07/03(水) 21:35:54.76ID:s7Y0K0er0
SELECTならそりゃコミットはいらんだろ
2019/07/03(水) 22:05:25.53ID:6un8tUOF0
トランザクションでコミットも何もせずメソッド抜けたらトランザクションはロールバックされて後腐れも無いという認識で良いのでしょうか?
SELECTなんでコミットも何も無いですがトランザクション握ったままになったら嫌だなと
TSQLはSELECTでもロックかける仕様みたいなので
まあ世間様では動けば正義って事なのかなとも
2019/07/03(水) 22:10:51.80ID:6un8tUOF0
>>742
usingで宣言してないです
感覚的には大丈夫かなこれと思うのですが相手は職業プログラマなのでコミットやロールバック書かなくてもデフォルト動作を熟知しているのかとも思い
2019/07/03(水) 22:47:52.37ID:IwG6dpwN0
そのコネクションがどうつかわれてんるんだよ。毎回、DBに接続、切断してるならそうだけど、コネクションプールでプールされてると、SELECTでもコミットまたはロールバックしたほうが
2019/07/03(水) 23:46:17.32ID:X0TLjV3N0
明示的にトランザクション開始してるのに、
コミットもロールバックもしないようなプログラム書くとこに外注だしたくないなぁ
2019/07/03(水) 23:53:24.09ID:6un8tUOF0
>>747
そこなんですよね
一応TSQLからSELECTのデータは取ってくるんでトランザクション開始は影響無いのかなと思いつつトランザクション開始して放置はベテランでもしないんじゃないかと
.netの挙動を知ってても普通はDisposeしてトランザクションスコープ閉じますよね?
2019/07/03(水) 23:56:25.28ID:NXyYtUg70
DBの方にログ残ってないの?
751デフォルトの名無しさん (ワッチョイ 5dda-yqtz)
垢版 |
2019/07/03(水) 23:58:25.40ID:B4HM9g9a0
Dapperを使って、DBから取得したデータをDataGridViewにバインドする時、
カラムを表示するかどうか、エンティティクラスのプロパティに[Browsable]属性で設定しているのですが、
あるDataGridViewには表示しつつ、他のDataGridViewには表示しないようにするにはどうしたらいいでしょうか?
2019/07/04(木) 06:56:40.86ID:nGzhEqIv0
DataBindingCompleteイベントあたりで
DataGridViewColumnのVisibleをfalseにすればいいんじゃね
2019/07/04(木) 09:16:27.38ID:OSueiLpI0
TransactionScopeって普通 using で使うだろ。
正常更新時の最後にComplateするだけで、破棄やロールバックはコードで書くようなものでもないだろ。
2019/07/04(木) 09:39:18.60ID:CbIr34BpM
VS2013でWebアプリを作りたいのですが、新規作成-新しいプロジェクト でASP.NET Webアプリケーションを選択、
Web Forms がチェックされた状態でOK押すと
The EntityFramework package is not installed on project 〜??
とダイアログが出ます。Webフォームを作ってみると「参照コンポーネント 'EntityFramework' が見つかりませんでした。」を始めとした大量の警告が出ます。
何が原因なのでしょうか?
2019/07/04(木) 10:03:57.54ID:OSueiLpI0
>>754
エラーメッセージ通りだと EntityFramework が見つからないんだろ。
パッケージマネージャコンソールで Find-Package EntityFramework を実行して、EntityFramework があるか確認してみれば?
2019/07/04(木) 10:08:47.88ID:0dZ/RZkup
初心者ぽいのにvs2013でwebformなのはなぜ?
2019/07/04(木) 10:25:55.16ID:NpxPtDKt0
なんかの参考書をなぞってるんじゃないかな?
環境を合わせるのは大事なことだから良いことだと思うけどできればその参考書も提示してほしいところ
2019/07/04(木) 11:22:00.63ID:CbIr34BpM
レスありがとうございます。>>754 です。確認したところEntityFrameworkはありませんでした。
VS2013でWebフォームなのは参考書をなぞっているのではなく業務のためです。この環境が最新の環境なもので。
後だしになりますが、以前この環境でWebフォームのプロジェクトを作っています。その時は特に問題なかったです。
以前のプロジェクトと比較するとpackagesフォルダが明らかに不足していたのでまるっとコピーしたら警告はなくなりました。
なぜデフォルトで作って不足するようになったのか心当たりがありません。VS2013自体はずっと使い続けていますが環境に関わるような事と言えばoracle.manageddataaccessのNugetを追加した程度なのですが。
なぜpackageが不足するような状態になったのかヒントを頂けないでしょうか。
2019/07/04(木) 12:38:46.18ID:r2jeGxth0
これから初めるならMVCにすべきでしょ
webformは古いからもう役に立たないよ
2019/07/04(木) 12:39:48.68ID:FtqoorSCd
すみません、質問させてください。

app.configで
<probing privatePath="dll">
のようにしてライブラリーパスを追加しているのですが、
DllImport(hoge.dll,~)
で読み込む際の探し先には追加されていないようです。
※DllImport(dll/hoge.dll,~)とすると動きます。

一応動かせているので問題ないと言えばないのですが、DllImportの参照先をapp.configで増やす方法ってないでしょうか?
2019/07/04(木) 12:43:09.37ID:DHFz0gCtd
Web Developer Tools 2013はこないだもうサポート切れたよ
https://dotnet.microsoft.com/platform/support/policy/aspnet
2019/07/04(木) 12:49:43.93ID:Ut059rUO0
DataGridViewで右側のスライダーの色ってカスタマイズできますか?
2019/07/04(木) 12:55:51.54ID:k+s0abOB0
>>760
直接は無い マネージDLLとネイティブDLLは扱いが全く別
Windows APIのAddDllDirectoryでネイティブDLLの検索パスは追加できるから
Settingsとかに検索パス記述させて
プログラム起動時に自前でAddDllDirectory/SetDefaultDllDirectoriesするとか
2019/07/04(木) 13:04:39.42ID:FtqoorSCd
>>763
教えていただきありがとうございます!
そしてAddDllDirectoryで望み通りに行きました!
765デフォルトの名無しさん (ワッチョイ 8f2d-dJ7S)
垢版 |
2019/07/05(金) 04:33:51.11ID:kt3B04SY0
多言語によくあるmapって、C#のLinqとほぼ一緒なんですか?
2019/07/05(金) 05:26:41.28ID:LTjUSP3p0
一番近いのはDICTIONARYでないかしら?
2019/07/05(金) 06:10:35.08ID:FgZsIfsBa
関数型言語などのmapはLinqのSelectと似たようなもので
C++のmapはDictionaryと似たようなもの
2019/07/05(金) 13:26:34.71ID:imex3OYJ0
map には、2つの意味がある

関数型のmap は、射影。
map, hash などは、辞書
769デフォルトの名無しさん (ワッチョイ 8f7c-8SCj)
垢版 |
2019/07/05(金) 13:36:22.82ID:Faw4Vm9D0
どちらかと言うと hash は射影やで
770デフォルトの名無しさん (アウアウカー Sac7-ac/h)
垢版 |
2019/07/05(金) 20:16:12.35ID:LfW16KURa
WPFのWindowのバツボタンを非表示または無効にするのはどうしたらいいのですか?G先生に聞いてもいまいちいい方法が出てきません
別のボタンでアプリの終了を取るだけにしたいのですが
2019/07/05(金) 20:35:34.75ID:7L1lh/w+a
>>770
・G先生に聞いて出てきた方法はどういったものか
・その方法の良くない点は何か
を書いてくれないと何とも言えない
2019/07/05(金) 20:36:36.01ID:yrF41opj0
>>770
こんなんかの
https://stackoverflow.com/questions/17962429/disable-close-button-in-title-bar-of-a-wpf-window-c
2019/07/05(金) 20:41:13.26ID:cjl7UwcZ0
>>770
WindowStyle="None"
774デフォルトの名無しさん (アウアウカー Sac7-ac/h)
垢版 |
2019/07/05(金) 21:37:48.26ID:cpg+9phSa
>>771-773
ありがとうございます
G先生の回答はほぼほぼ>>772のやり方で、うーんとなっていました
全消しで>>773の案でもいいかなと思いました
2019/07/05(金) 22:03:52.95ID:Gz4SaY1k0
>>774
なんで772の方法だといまいちだと感じてどういうのが理想なのかを挙げないと提案のしようもないよ
2019/07/05(金) 22:26:30.44ID:vIMC/KGUd
Win32 API呼ぶのが邪道と感じるとか?
777デフォルトの名無しさん (アウアウカー Sac7-ac/h)
垢版 |
2019/07/05(金) 23:22:38.10ID:QClxBoOta
>>775
WindowのスタイルなのでXAMLでなんとか出来ないものなのか?と思ってましたが、調べても自作で色々とこねくりまわしてる感じで簡単にはいかないんだなと思いました
>>776
その通りですはい
778デフォルトの名無しさん (ワッチョイ 2368-ZIIo)
垢版 |
2019/07/06(土) 00:47:15.09ID:KLew9H9+0
プログラミング言語は完璧だけど
環境設定が絶望的に苦手なんですが才能ないですか?
DLLとかサービスパックとか理解できません
PDBとか
779デフォルトの名無しさん (アウアウエー Sadf-T0Pq)
垢版 |
2019/07/06(土) 01:41:41.25ID:NBFH+gRaa
エアギターは完璧だけどギターは弾けません(キリっ
2019/07/06(土) 02:27:50.64ID:SK3357Vs0
>>778
そういうのは知識
つまり、環境構築しまくって色んなパターンを学習すればよい
大抵分野ごといくつかパターンはある
2019/07/06(土) 02:41:28.29ID:qsEvUMHi0
>>777
枠の部分はOSが提供してくれてる部分だからプログラムから弄りようがない。
できることはWin32APIで消すことだけだよ。
2019/07/06(土) 02:44:47.11ID:SK3357Vs0
付箋(アプリ)みたいなの作ればえーんか?
2019/07/06(土) 03:34:47.51ID:qsEvUMHi0
>>778
PDBはプログラムが完璧な人には必要ないから安心するんだw
冗談はさておき、調べても理解できないというのであればコンピューターの中で何が起きているかイメージする力がないということでエンジニアの才能はないと言えるかもしれん。
ただ情報系出身じゃない人がエンジニアになった場合に、OSとかプログラムのベーシックな知識が不足しててプログラム以外の部分で苦戦するってケースは多いと思う。
784デフォルトの名無しさん (ワッチョイ 2368-ZIIo)
垢版 |
2019/07/06(土) 09:11:38.52ID:KLew9H9+0
>>783
分かりました…
でもやるしかないんですよね
どのファイルが必要でとかいうのがまったく分からないんです
たとえばGitHubに落ちてるソース郡とかで、ファイルがいっぱいあったら、
ダウンロードしてどこまでプロジェクトに含めたらいいかとかまったく分からないんです。
2019/07/06(土) 09:43:31.90ID:SK3357Vs0
>>784
だから他の似たような環境構築ではこんな手順があったはず→もしかして・・・

ってのは大抵当たる
ファイルの有無も同様
2019/07/06(土) 10:14:19.01ID:M31YLsTxd
プログラム板で質問するとなかなか丁寧に教えてもらえることが多いから、例えばgithubのあるプロジェクトの使い方が知りたいときはそのURLをはって質問してみるといい。
具体的な使い方から基本的な仕組みまで教えてもらえると思う。
2019/07/06(土) 10:21:42.05ID:/V3j92xQ0
そんな状態でプログラミング言語が完璧なわけないだろ…
2019/07/06(土) 10:24:12.45ID:yL7WV1XtM
一体みんな何の話をしているんだ
2019/07/06(土) 10:44:20.41ID:M31YLsTxd
スレタイ通りにC#で開発する際の初心者の悩みだと仮定している
790デフォルトの名無しさん (ワッチョイ 2368-ZIIo)
垢版 |
2019/07/06(土) 10:47:22.15ID:KLew9H9+0
>>787
いやdelegateとかeventとか難しい機能も全て把握してますよ
環境設定が苦手なんです

例えばvisual studioのプロパティを開いてどこにチェックしたらいいかとか
わからないんです。項目が多すぎて。
2019/07/06(土) 10:48:05.34ID:MhitVE0da
>>787
自分の知っている範囲は完璧のつもり、自分が理解していない可能性や自分の知らないことがある可能性には思い至らない、ということだろう。
安易に完璧なんて言葉を使う人は、かえって「こいつ大丈夫か?」と思われるね。
792デフォルトの名無しさん (ワッチョイ 2368-ZIIo)
垢版 |
2019/07/06(土) 10:53:12.66ID:KLew9H9+0
構成プロパティっていう言葉がすごい苦手です。
項目が多すぎて理解できなくて分からなくてチェックするのが怖い…

文法の参考書はすいすい進むんだけど、環境設定分かりません
793デフォルトの名無しさん (ワッチョイ 2368-ZIIo)
垢版 |
2019/07/06(土) 10:57:41.63ID:KLew9H9+0
ちなみに競技プログラミングが大好きです
なんなんでしょうね
2019/07/06(土) 11:18:39.46ID:S0DSTC7aM
うんうん
自称実務経験者でも、コードは書けるけどインフラは知識も興味もさっぱりな君みたいな人たまにいるよね
まず例外なく、単純に頭悪くて使えない奴
2019/07/06(土) 11:22:40.69ID:yL7WV1XtM
一体なんであおり始めたんだ
2019/07/06(土) 11:25:18.81ID:V/pFZUdq0
別にCSCコマンドで開発しても良いのよ
797デフォルトの名無しさん (ワッチョイ 2368-ZIIo)
垢版 |
2019/07/06(土) 12:06:07.06ID:KLew9H9+0
>>794
どうしたんですか急に
頭が悪い人嫌いですか?
2019/07/06(土) 12:16:26.88ID:SK3357Vs0
そいつ64bitでビルドできなくてイライラしてるだけだからほっとけ
2019/07/06(土) 12:26:35.58ID:qsEvUMHi0
原因がなんであれ5chで頭に血がのぼってしまった時は2日くらいスレをのぞかないようにしましょう。他の人に迷惑がかかってしまいます。
800デフォルトの名無しさん (ワッチョイ f37c-T0Pq)
垢版 |
2019/07/06(土) 13:10:09.85ID:iAyv1LJ60
頭が悪い上に活動的な香具師が一番の敵
2019/07/06(土) 13:21:59.73ID:VyNuchF5a
>>790
delegateやeventを「難しい機能」と表現されると本当に完璧なのか疑ってしまう
参考書で勉強しているみたいだけど、その内容がC#1時代の本だったりしない?

VisualStudioやプロジェクトの設定が分からないなら
「○○とはなんですか?」と具体的に質問してみればいいよ
2019/07/06(土) 13:26:01.66ID:xenIxHSqp
別プロセスを同じ構文内に記述できちゃう変態言語だしなぁ
803デフォルトの名無しさん (ワッチョイ 2368-ZIIo)
垢版 |
2019/07/06(土) 13:43:40.16ID:KLew9H9+0
まずVisualStudioが何か分からない
VisualStudioで作ったソフトがVisualStudioの入ってないソフトで動くのは何故?
何も考えず編集画面にテキストを打ち込んでるだけです。
一応プログラマです。
804デフォルトの名無しさん (ワッチョイ 2368-ZIIo)
垢版 |
2019/07/06(土) 13:45:23.04ID:KLew9H9+0
後、C#が出始めた頃でプログラミングが滅茶苦茶出来る人っていうのは
VisualStudioなどが無くても自力コンパイルできたんでしょうか?
これ答えて欲しい

なんかみんなVisualStudio使っててちょっと気恥ずかしいです。
自分は特別になりたい、プログラマーとして
2019/07/06(土) 13:52:59.65ID:qsEvUMHi0
>>804
https://qiita.com/asterisk9101/items/4f0e8da6d1e2e9df8e14
2019/07/06(土) 13:54:36.01ID:GxnR+B/l0
>>804
特別になりたいなんて思う前に、誰もが当たり前にできることをできるようにならんと、いくら自己評価が高くても周囲から見たら「ただの変わった人」で終わるぞ。

いったんC#から離れて、linux環境でCやアセンブラ辺りをやった方が理解が早いんじゃね?
あとは情報処理技術者試験を下から順に取っていくとか。
2019/07/06(土) 13:55:39.62ID:qsEvUMHi0
visual studioを使わずにC#の開発してみればvisual studioを使うべきか否かがわかると思うから挑戦してみ
2019/07/06(土) 13:59:33.05ID:NPkITZNc0
>>802
えっ?
最近はそんなこともできるのか、すげーなC#
2019/07/06(土) 14:02:14.63ID:qsEvUMHi0
各言語の特徴やIDEの機能ってツール使わずにCで開発した場合に生じる苦労を解決するためにある、といっても間違ってない気がする。

>>806の言うとおりCでツール使わずに開発する修行積めばいろんなことが理解できるようになるはず。
2019/07/06(土) 14:09:35.57ID:qsEvUMHi0
あと、確かにVisualStudioのようなビルド設定をGUIで選択するタイプは使いこなすの大変ってのはよくわかる。
実際に最近はビルド設定をスクリプトとして記述するビルドツールの方が人気だと思う。
2019/07/06(土) 14:10:01.01ID:xYydejqq0
元の質問が板違いなんだよ。どれだけひっぱるつもり
おまえらまとめてマ板でやれ
2019/07/06(土) 15:10:26.57ID:6I0IcNLpM
暇人がバカのふりしてスレ住人をからかってるんでしょ。
まぁつきあってる住人も暇人だから。
2019/07/06(土) 16:12:01.37ID:r9tUIF43d
某言語で少し前にあった話だが、開発チームで集まった時には俺は経歴からプログラムメインではなくテストとかの要員扱いされて少し落ち込んだんだが、いざ開発開始してみたら俺以外全員初心者でびっくり。

自分のスキル評価が甘い人は多い。
2019/07/06(土) 16:20:54.21ID:fMYuNbiVM
隙自語
2019/07/06(土) 16:40:44.14ID:NPkITZNc0
>>813
派遣の経歴なんて当てにならないなんて当たり前
むしろそんなことをいちいち書くお前が心配になるレベル
2019/07/06(土) 18:29:28.54ID:PdmrH1Mz0
素人ほど自分の力量わからないのは
どの分野でも同じだからね
2019/07/06(土) 19:38:28.24ID:r9tUIF43d
>>815
単に経歴の話じゃね―よ。
経歴なんて最初から当てにしてないし。
でも集まった時に自信満々だった奴らが何にも分かってなくて驚いたという話。
2019/07/06(土) 19:41:03.84ID:r9tUIF43d
っていうか、初めて会った時って相手の力量が分からないから、多少自信があっても控えめにするもんじゃね?
2019/07/06(土) 19:58:03.95ID:VeSQOako0
マでやれ
2019/07/06(土) 23:06:51.55ID:DCGSSE0h0
>>818
達人は一目(5分の会話)で見抜く
821デフォルトの名無しさん (アウアウエー Sadf-T0Pq)
垢版 |
2019/07/07(日) 00:47:00.43ID:ibboI0jYa
5分もかからん
顔観たら判る
2019/07/07(日) 09:48:17.84ID:hDpH6KWgd
>>820
そりゃ、面接とかの話。
実際、俺も面接する方になったことが何度かあるが10分も話せばだいたいわかる。

それに、相手に力量が無さそうと思うのはすぐでも、自分のアピールは別だろ。
2019/07/07(日) 10:15:11.78ID:j2KZDgbi0
>>820-822
スレタイとテンプレを100回読め
2019/07/07(日) 11:16:58.28ID:jS7WTg4AM
>>823
これが厳格に型付けされた言語の堅牢性というやつか
825デフォルトの名無しさん (アウウィフ FF67-8SCj)
垢版 |
2019/07/07(日) 11:45:01.15ID:L+nDH+YyF
面接なら学歴で判るやろ
書類審査で落とせよω
2019/07/07(日) 13:16:21.46ID:hDpH6KWgd
>>825
だから、面接じゃない。
2019/07/07(日) 13:18:36.13ID:RiANTxc00
>>824
2019/07/07(日) 14:49:06.33ID:BJpXuyXB0
今更だけど正規表現って便利だよな
2019/07/07(日) 15:35:03.89ID:lzm3aSge0
>>828
ケン・トンプソンに足を向けて寝られないな
で、幾ら寄付した
2019/07/07(日) 16:14:12.50ID:RiANTxc00
正規表現だけは義務教育で必修科目にした方がいいレベル。
2019/07/07(日) 16:19:18.76ID:HW54Zi3hr
そんな化石じゃなくて、Spracheくらい使いこなして欲しい
2019/07/07(日) 17:03:29.81ID:RiANTxc00
>>831
聞いたことなかったから調べてみたけどパーサコンビネータなんてものがあるんだな。あるんだな、としか言えないが…
833デフォルトの名無しさん (アウアウエー Sadf-T0Pq)
垢版 |
2019/07/07(日) 23:39:01.62ID:bDhdwGYba
「正規表現」という日本語は誤訳だな
もっとセンスの良い名前にして欲しかった
2019/07/08(月) 01:02:49.46ID:cNkXgaMY0
IT用語は基本的に直訳だからわかりにくいよな。
まあ一人の日本人代表がいてその人が訳す、ってわけにはいかないから直訳にならざるを得ないんだろうけど。
2019/07/08(月) 01:19:52.33ID:hibKRezs0
変換する時に性器表現ってなって恥ずかしいです
2019/07/08(月) 01:22:48.04ID:PMnHK5x30
普段から打ってる文字が出てくるからな
2019/07/08(月) 03:01:04.74ID:elBPLT9ba
>>833
全然誤訳でも何でもないと思うけどw
838デフォルトの名無しさん (ワッチョイ 63da-T0Pq)
垢版 |
2019/07/08(月) 04:59:48.66ID:RkH5/lfh0
DBからDataGridViewにデータを読み込む際、今はDataSourceプロパティでバインドしてるんですが、
読み込み時に別のカラムを追加して表示させたい場合、バインディングを維持しつつ追加する方法はありますか?

それとも、バインディングはやめてカラムを手動設定したほうが無難ですか?
839デフォルトの名無しさん (ワッチョイ 63da-T0Pq)
垢版 |
2019/07/08(月) 04:59:49.08ID:RkH5/lfh0
DBからDataGridViewにデータを読み込む際、今はDataSourceプロパティでバインドしてるんですが、
読み込み時に別のカラムを追加して表示させたい場合、バインディングを維持しつつ追加する方法はありますか?

それとも、バインディングはやめてカラムを手動設定したほうが無難ですか?
2019/07/08(月) 06:07:05.98ID:1ZIC0qck0
大事な事なので二度聞いてみました
2019/07/08(月) 06:08:30.23ID:FkSdV/QQM
linqかませれば普通にいける
2019/07/08(月) 08:34:05.86ID:2W9WZX0zr
>>839
> 読み込み時に別のカラムを追加して表示させたい場合
読み込みの関数の中でカラムを追加するのだけは止めよう
2019/07/08(月) 10:00:42.88ID:LgG8YOFq0
性器表現とか、性的解析とか、やらしい。
2019/07/08(月) 18:56:24.14ID:JxcTzaD5M
全く別の話題だけど
バインドってなんか利点あるんかな?
全部つながってることを確認しにくいっつーか
重くて欠点しかない

正直、制御しにくい
テストも容易じゃねーし
845デフォルトの名無しさん (ワッチョイ ffad-T0Pq)
垢版 |
2019/07/08(月) 21:40:08.92ID:hY1MiSUP0
C#の初心者以前の何も知らない素人です
どうか教えてください

xmlDataProviderを継承して、
System.Windows.Input.RoutedCommand 型のオブジェクトを公開プロパティ(あとからセット可能)に持つ
カスタムクラスはC#でどう書くのでしょうか
2019/07/08(月) 21:47:33.85ID:Ng6ihs+br
しょしんしゃいぜんのひとがきくないようじゃない
847デフォルトの名無しさん (ワッチョイ ffad-T0Pq)
垢版 |
2019/07/08(月) 22:00:45.38ID:hY1MiSUP0
>>846
powershellでその型を参照したいだけで、本当にC#はさっぱりなんです・・・
848デフォルトの名無しさん (ワッチョイ ffad-T0Pq)
垢版 |
2019/07/08(月) 22:08:07.08ID:hY1MiSUP0
とりあえず適当にそれっぽく書いたら、

using System.Windows.Data;
using System.Windows.Input;
ここで

型または名前空間名 'Data' は名前空間 'System.Windows' に存在しません。アセンブリ参照が不足しています。
って怒られています・・・
2019/07/08(月) 22:09:28.84ID:pSGSFVOB0
System.Refrection
this.GetType().InvokeMember
辺りが近いかな
2019/07/08(月) 22:26:24.45ID:wng3miJE0
>>844
画面とバインドされるデータとのつながりを単純にして
バインドされるデータは画面なしでもテストできるようにしておく

のが理想なんじゃね?
2019/07/08(月) 22:34:22.81ID:G1DtFXg80
Ruby では、< が継承(C is-a B)。
一方、A は包含(B has-a A)なので、Cも、Aを持つ

initialize はコンストラクタで、インスタンス構築時に呼ばれる

class A
end

class B
def initialize
@obj = A.new
end
end

class C < B
end

p C.new
#<C @obj=#<A> >
2019/07/08(月) 22:36:19.15ID:TL3re6KN0
NG:ワッチョイ ff2c-NenP
853デフォルトの名無しさん (アウアウエー Sadf-T0Pq)
垢版 |
2019/07/08(月) 22:40:59.43ID:k/SnQUmGa
うびー禁止
2019/07/08(月) 22:41:02.31ID:j+3NiuIXa
>>848
XmlDataProviderはPresentationFramework.dllで
RoutedCommandはPresentationCore.dllで定義されているから
これらのDLLを参照に追加すればいい: https://dobon.net/vb/dotnet/help/addreference.html
2019/07/08(月) 22:42:16.02ID:3/h7Av580
もう「Ruby」をNGワードにしてもいいんじゃね?こいついろんなスレにわきすぎだろ。
856デフォルトの名無しさん (ワッチョイ ffad-T0Pq)
垢版 |
2019/07/08(月) 22:46:40.42ID:hY1MiSUP0
>>854
なるほど・・・
困りました
実行環境がpowershell ISEなので参照設定的なものがありません
コード上でアセンブリを動的にロードしたり、なにか迂回策をご存知ないでしょうか?
857デフォルトの名無しさん (ワッチョイ ffad-T0Pq)
垢版 |
2019/07/08(月) 22:49:16.25ID:hY1MiSUP0
ああ、それで >>849 さんのヒントっぽい何かが必要なんですね
まださっぱり理解していませんが・・
2019/07/08(月) 22:55:28.21ID:j+3NiuIXa
>>856
動的にアセンブリをロードするにはAssembly.Load()があるけどリフレクションを多用することになるし
powershell上でそれが適切な方法かは知らないからpowershellのスレで聞いてみたら?
PowerShell -Part 3
https://mevius.5ch.net/test/read.cgi/tech/1539074808/l50
2019/07/08(月) 22:59:52.24ID:+Z+rEOeQ0
System.Data.dll, netstandard.dll, System.Data.Common.dll
この辺add-typeすりゃ良いんじゃとは思うけどもうC#の質問じゃないよ
860デフォルトの名無しさん (ワッチョイ ffad-T0Pq)
垢版 |
2019/07/08(月) 23:17:43.83ID:hY1MiSUP0
>>858
難易度がかなり高そうなことはわかりました!

パワーシェルの本体コード側ではpresentationCoreを参照できているんですが、
バージョン問題でパワーシェルで完結できずに、一旦C#でクラスを記述して、パワーシェルで型として読み込みという手順を踏まなければならず、
肝心のC#のなかでpresentationCore参照できない罠にはまりました

ちょっと別のアプローチを考えてみます
ありがとうございました!
2019/07/08(月) 23:41:05.05ID:+Z+rEOeQ0
add-typeにアセンブリ参照のオプションあるから
頼むでスレチは勘弁して
862デフォルトの名無しさん (ワッチョイ ffad-T0Pq)
垢版 |
2019/07/09(火) 00:03:22.38ID:3HHcm2eY0
>>861
すみませんでした
パワーシェル側からC#コードに参照追加できました!!
※パワーシェルも初心者です

本当にありがとうございました
2019/07/09(火) 00:13:09.80ID:0VeokVre0
>>860
>肝心のC#のなかで、presentationCore参照できない罠にはまりました
包含(has-a)だろ。
属性に設定する、メソッドを定義して、引数で渡せば?

Ruby では、これで後から、属性に設定できる

class D
end

class E
def set_d ( d )
@obj = d
end
end

d = D.new
e = E.new
e.set_d( d )

p e
# <E @obj=#<D> >
2019/07/09(火) 01:10:47.36ID:5NAVk8tL0
>>863
参考にならない
2019/07/09(火) 01:56:21.69ID:td6qAd7k0
>>863
お前は人の邪魔にしかならないのだから消えろ
2019/07/09(火) 13:19:31.64ID:PNVKPq2+0
クラス内クラスを作りましたが、内包してる外側のクラスだけが初期化できるようにできませんか。

public class A {
  public class B {
    int data;
    public B(int data) {
     this.data = data;
    }
  }

  public B get(int data) {
    return new B(data);
  }
}

という風にすると、A の外から
var b = new A.B(5);
とかみたいに出来てしまいます。

new B() できるのは A の中だけにしたいのですが。
2019/07/09(火) 13:22:52.92ID:XVpwvTsb0
>>866
B のコンストラクタを protected 属性にして、コンパイルしてみてAから
も new B 出来なくなってしまった場合は、class B の中で、firend class A;
などとすればよいはず。
2019/07/09(火) 13:31:17.01ID:4DQi0zm30
friendとかC++じゃないんだから

Bはインターフェイスで公開するのがまあ基本かな
interface IB { }
class A {
private class B : IB { }
pubilc B Get() { return new B(); }
}
2019/07/09(火) 13:31:57.06ID:4DQi0zm30
しまったミス
public IB Get() { return new B(); }
2019/07/09(火) 13:52:20.92ID:PNVKPq2+0
public IB Get() { return new B(); }

のところでアクセスビリティが低いと叱られてしまいましたが
2019/07/09(火) 14:01:28.14ID:9fSmOQgfa
>>870
classやinterfaceのデフォルトのアクセス修飾子はinternalだからエラーになっている
IBのアクセス修飾子をpublicにすればいい
2019/07/09(火) 17:12:06.90ID:XVpwvTsb0
C++スレと間違えてた。
2019/07/09(火) 21:57:22.42ID:FuCJaqnQa
>>866
(1) Bのコンストラクタをprotectedに

(2) Aの中にBを派生したprivateなクラスBBを作る(実装は空っぽでも構わない)

(3) BBをnewしてBとして返す

まあでも、そこはあんまりこだわる必要ない気が
2019/07/10(水) 02:47:30.04ID:qnddezc/0
private async void btn_test_Click(object sender, EventArgs e)
{
  for (int i_time = 0; i_time < 1000 ; i_time++)
  {
    await Task.Delay(1 * 1000);
    Debug.WriteLine(i_time.ToString() + "本だ!");
  }
}

というコードを書いています。

ただ、ループを途中でやめたい場合があります。
ループ(待機中)に他のボタン btn_stop をクリックする事により
btn_test の待機処理を停止させる事は出来ないでしょうか?
2019/07/10(水) 03:04:19.12ID:J5NG6fJu0
>>874
CancellationTokenを使う
2019/07/10(水) 03:05:20.71ID:b4vpo7xg0
http://hensa40.cutegirl.jp/archives/3971
Task.Delayのオーバーロードを使うのが正解かと
2019/07/10(水) 03:18:13.49ID:bAZEwl9Ua
>>874
private async void btn_test_Click(object sender, EventArgs e)
{
  var continuesLoop = true;
  EventHandler eh = (snd,ea) => continuesLoop = false;
  btn_stop.Click += eh;
  for (int i_time = 0; i_time < 1000 && continuesLoop; i_time++)
  {
    await Task.Delay(1 * 1000);
    Debug.WriteLine(i_time.ToString() + "本だ!");
  }
  btn_stop.Click -= eh;
}
878デフォルトの名無しさん (ワッチョイ 8f2d-dJ7S)
垢版 |
2019/07/10(水) 04:56:00.89ID:I28sYrGn0
CarクラスにDoorとTireをつけたいと思っています
しかし、これらを2つのフィールドとした場合ICarインターフェイスにかけずに困ったしまいます
こういう場合、普通はどのように書くのが正しい方法なのですか?

(個別クラスへの依存性が高い点は無視してください)
class Door:IDoor{}
class Tire:ITire{}
interface IDoor{}
interface ITire{}
interface ICar{
// doorとtireがあることを記述したいが書けない。プロパティにするのも何か違う気がしてしまう。
}

class Car:ICar{//本当ならIDoor, ITireを実装したいが、クラスの方を多重承継できない
IDoor door = new Door();
ITire tire = new Tire();
}
2019/07/10(水) 05:11:40.64ID:kxJIAy2u0
class Car : ICar, IDoor, ITire
{
}

と書けない状況ってこと?
2019/07/10(水) 07:42:46.96ID:lKfqdkKor
interfaceは動作を表す
2019/07/10(水) 11:47:28.74ID:lfKLpD5h0
いつからそう錯覚していた?
2019/07/10(水) 13:42:25.86ID:DYVwrjjtM
COMを勉強した頃からかな
verb=動詞
2019/07/10(水) 15:04:43.19ID:UQq7+8i/M
ASP.NETのWebフォームを作っています。bluetoothで接続したバーコードリーダで読み取ったデータをサーバで受け取りたいのですが、どのようにするのがベストでしょうか。
バーコードリーダはHIDプロトコルで接続しターミネータは<CR>です。
TextBoxにフォーカスを当てて受け取ろうと試しましたが入力だけはOnTextChangedイベントが発生しないのでフォーカスの移動等のアクションが必要になります。
読み取るだけで文字列を処理したいです。さらに言えばフォーカスを意識せず取得できればベストなのですが。
2019/07/10(水) 18:56:02.39ID:N35iChMPd
文字入力を勝手に奪うページってこと?セキュリティとかマナー的にありなんだろうか?
2019/07/10(水) 18:56:38.37ID:N35iChMPd
回答になってないですね、ごめんなさい。
2019/07/10(水) 19:42:55.22ID:Tg8SA/BfM
>>883
なんでバーコードリーダーの型名とかを書かないんだろう…
とりあえずこの辺りを読んでみて
https://sakapon.wordpress.com/2010/06/22/barcodereader/
2019/07/10(水) 20:43:46.51ID:eYkR45a20
業務システム作る現場に飛ばされているのですが、コンボボックスの項目をわざわざデータベースに項目作ってそこからいちいち引っ張るような構造にしてるんです
プロパティで設定するなりaddするなりすればいいじゃん……と思うんですけど、こういう作りにして何か特になることってあります?
2019/07/10(水) 20:48:24.28ID:Pc5iw8Z80
それを作った奴に聞け
2019/07/10(水) 21:00:02.47ID:b4vpo7xg0
難読化の一環だろ(適当)
2019/07/10(水) 21:12:03.05ID:meJrmJ710
>>887
コンボボックスの中身が頻繁に変わるならDBに持つのもわからんでもないけど、ただの固定値なら・・・
2019/07/10(水) 21:22:53.18ID:+MeP9mdJ0
データベースならいじれる人間が変更かける可能性があったんじゃない?
一応、再ビルドはいらないわけだし
2019/07/10(水) 21:28:09.53ID:b4vpo7xg0
客にDB直接弄らせるとか設計的に論外でしょ…
それならXMLで定義するとかにすべきだな
2019/07/10(水) 22:13:16.64ID:yNv9Oz8Z0
要件次第だろ
例えば部署名とかなら社員情報から流し込んだ方が楽で確実だろうし
2019/07/10(水) 22:16:46.33ID:eupZ9wWw0
「税込み」を「内税」に直せとか言われた時簡単に直せるだろ

社内方言は多いぞ
895デフォルトの名無しさん (ワッチョイ 2368-ZIIo)
垢版 |
2019/07/10(水) 23:49:26.61ID:4sKxlb560
double型は64ビットだから2^64までの数字しか表現できないのに
0...........................98999とかなりの桁数まで表示されるのは何故ですか?
2019/07/10(水) 23:51:49.65ID:eupZ9wWw0
double型は64ビットだから300桁以上いけるよ
2019/07/11(木) 00:12:58.86ID:jLO7Qpeya
>>895
倍精度浮動小数点数でググってこい
2019/07/11(木) 00:14:56.74ID:slALBnwOa
>>895
C#いっこも関係ないよwww
https://ja.wikipedia.org/wiki/%E5%80%8D%E7%B2%BE%E5%BA%A6%E6%B5%AE%E5%8B%95%E5%B0%8F%E6%95%B0%E7%82%B9%E6%95%B0
2019/07/11(木) 02:04:20.88ID:AsB2X0JQ0
弟子丸使えよ
2019/07/11(木) 02:05:49.77ID:j5kiUrVb0
>>895
そんなあなたにITパスポート
2019/07/11(木) 06:37:54.14ID:PGdrFCZv0
dt.Columns.Add("テスト")←この方法でDataTableに列を追加し、

C#でデバッグ中に先ほど追加した列を一時的に削除することは可能でしょうか?

デバッグ中にローカル項目を確認し、列名を削除してみたりしたのですが、列を完全に削除できませんでした

もしデバッグ中にローカル画面などからDataTable内の列を一時的に削除する方法がありましたら教えてください

よろしくお願いします
2019/07/11(木) 09:12:10.91ID:0ZIf3fQR0
イミディエイトウィンドウで
dt.Columns.Remove("テスト");
すればいいという話でいいのかな
2019/07/11(木) 10:04:42.07ID:+ZnUKM8Wp
有効桁でググれ。
904デフォルトの名無しさん (ワッチョイ 3e7c-htnh)
垢版 |
2019/07/11(木) 14:01:32.91ID:6M1lAbxH0
おまいらやん
http://www.pro.or.jp/~fuji/mybooks/okite/okite.9.4.html
2019/07/11(木) 14:54:26.62ID:xAACxOAS0
全部読んでないけどC#に限ったらググってトップに出てくる学習サイトが一番マシなんだから本は一切不要だろう
C#に限ったらっていったけど今時どんな分野でも下手な本よりグーグルランキグン上位のサイトの方が質高いからな
906デフォルトの名無しさん (ワッチョイ 3e7c-htnh)
垢版 |
2019/07/11(木) 15:00:57.91ID:6M1lAbxH0
20世紀の話だった
2019/07/11(木) 20:27:30.70ID:O97KaPiLp
>>905
侍エンジニア塾というのがあってだな…
2019/07/11(木) 20:37:17.03ID:xCkJ5LaR0
侍エンジニア塾は、マンツーマンだから高い!

70〜80万円かかる!
2019/07/11(木) 20:48:11.97ID:tSRqKlWG0
++C++だけでじゅうぶん
910デフォルトの名無しさん (ワッチョイ b3da-YtL5)
垢版 |
2019/07/11(木) 22:35:54.58ID:BgPDMp8z0
dapperでupdateクエリを実行する時、変更された箇所を自動的に判別して更新してくれる機能はありますか?
イメージ的には以下のような感じです。

//読み込み
var model = con.Query<Model>("SELECT * FROM table");

//ここでmodelが持ってるプロパティを編集

//編集されたプロパティのみを自動判別してupdateしてくれる。
con.Execute("UPDATE table *");
911デフォルトの名無しさん (アウアウカー Sa43-snXu)
垢版 |
2019/07/11(木) 22:41:20.48ID:MabNatKwa
WPFのMaterial Design Tool Kitを使ってみたのですが、このコントロールの例えばボタンの大きさとかを変えたりすることは出来たりするのでしょうか
912デフォルトの名無しさん (ドコグロ MM92-vN/E)
垢版 |
2019/07/11(木) 22:46:41.40ID:vUv4mdDMM
>>910
そんなものは無い
贅沢な機能が欲しいならEF使え
まあDapperで全カラムを更新するのとEFで一部だけ更新するのとでは、殆どの場合において圧倒的に前者の方が速いだろうけどね
2019/07/11(木) 22:48:21.28ID:BgPDMp8z0
>>912
ありがとうございます!スッキリしました!
2019/07/11(木) 22:52:23.88ID:Y+auxo+p0
>>911
普通にコントロールのサイズを変えるだけでは?
2019/07/11(木) 23:27:09.99ID:D+McUDWk0
リアクティブなプロパティを使ってゴニョればできるけど
EF使う方が楽
2019/07/12(金) 00:37:29.52ID:Qe/C8AfS0
別にsetのときに何か判定してるでもないのにプロパティ全部getsetいちいち書いて1000行とか使ってるコードに出会った
ぜ、全部消したい……客先のコードじゃなかったら……
2019/07/12(金) 00:39:59.43ID:XU4SChRd0
稀に見るJava土方の臭いがするコード
918デフォルトの名無しさん (ワッチョイ a75f-sqJi)
垢版 |
2019/07/12(金) 06:36:27.03ID:l82xLe+v0
C#の#ってどれ使えばいいんですか
2019/07/12(金) 08:54:37.42ID:wF3EiDpw0
>>916
Bindingも無し?
2019/07/12(金) 10:04:54.95ID:1Y9Zea5/M
そんな悪いか?
自動プロパティ使ってないってことでしょ?
921デフォルトの名無しさん (ワッチョイ b3da-YtL5)
垢版 |
2019/07/13(土) 01:01:25.85ID:WXtjREf70
datagridviewのカラムヘッダーをクリックすると、勝手に1行目のレコードが選択されてしまうのですが、
これを防ぐにはどうすればよいでしょうか。

また、可能であれば、カラムヘッダーのMouseDownイベント自体をキャンセルしたいのですが、どうすればよいでしょうか。
922デフォルトの名無しさん (アウアウカー Sa43-snXu)
垢版 |
2019/07/13(土) 01:06:34.80ID:iqubl+0xa
>>914
ありがとう
調べてみた結果、出来ないっぽいから自作のコントロールでなんとかそれらしくしようと思います
2019/07/13(土) 01:14:28.07ID:QBUcodiM0
>>887
これ逆にDBから取得しない方がいいケースってあるん?
DBから取得するパターンしかしらんわ
2019/07/13(土) 01:16:55.65ID:snyK+LfD0
>>922
質問内容を俺が理解できてないのかな?
↓のページではサイズの異なるボタンが表示されてるけどそういうことではない?
http://neue.cc/2015/09/10_515.html
2019/07/13(土) 01:22:16.58ID:snyK+LfD0
>>923
xml、json等のテキストファイルやxlsxで設定ファイルみたいなの作るとか?
変更することが無いような項目ならコード内に埋め込むとか
要件次第で何が良いかは変わると思うからDB一択とはならんと思うけど
2019/07/13(土) 01:38:48.66ID:Zpl1rRtL0
>>921
ヘッダの位置に透明なパネルを置くのが一番早いかもしれない
勝手に一番目のCellが選択されるのはCurrentCell=nullのときにはFirstDisplayedCellで示されたCellが必ず選択されるから
あとはDataGridViewを継承してMouseDownイベントを無くしたものを作れるかもしれないけどそっちはわからない
927デフォルトの名無しさん (アウアウカー Sa43-snXu)
垢版 |
2019/07/13(土) 01:41:03.71ID:iqubl+0xa
>>924
ありがとう
ツールで提供されてる丸ボタンとかを使いたいんだけど、それらは提供されたボタンのスタイルで決まってて領域を広げてもボタン自体のサイズは変更出来ないような感じなんだけど
実際はアニメーションを使った丸型のトグルボタンを丸ボタンのサイズと同じにしたかったので似たようなことを考えた人がいればと思い質問してみました
2019/07/13(土) 07:48:45.74ID:4NawiDim0
>>926
透明なパネルって作れたっけ?
やるんならDrawToBitmapでヘッダ部分をキャプチャして
グリッドのヘッダに重ねたコントロールに描画するのがいいと思う
2019/07/13(土) 13:12:36.40ID:NDmMB+Lma
いい手法とはまったく思えないけど透明で常に最前面のトップレベルウィンドウなら作れるね
2019/07/13(土) 17:42:32.06ID:4NawiDim0
>>921
http://ideone.com/iCo8sd
DataGridViewのソースを覗いてみたけどWndProcをいじる以外に方法が無さげ
2019/07/13(土) 18:11:32.06ID:k49AlHPTp
透明なパネルなんて詐欺サイトかチートツールじゃ重宝されそうだな。
2019/07/13(土) 18:42:46.89ID:tImovYMga
意味不明すぎるw
2019/07/13(土) 19:50:41.36ID:qsxihLOz0
>>921
覆うのは良くないなと思ってはいたけど継承でできたわ
public class DataGridViewEX : System.Windows.Forms.DataGridView
{
protected override void OnMouseDown(System.Windows.Forms.MouseEventArgs e)
{//列ヘッダでのMouseDownで勝手に先頭のCellが選択されないようにする。ResizeとSort可
bool b = this.CurrentCell == null && this.HitTest(e.Location.X, e.Location.Y).Type == System.Windows.Forms.DataGridViewHitTestType.ColumnHeader;
base.OnMouseDown(e);
if (b) this.CurrentCell = null;
}
}
または
public class DataGridViewEX : System.Windows.Forms.DataGridView
{
protected override void OnMouseDown(System.Windows.Forms.MouseEventArgs e)
{//列ヘッダでのMouseDownを全て無効にする
if (this.HitTest(e.Location.X, e.Location.Y).Type == System.Windows.Forms.DataGridViewHitTestType.ColumnHeader) return;
base.OnMouseDown(e);
}
}
下は>>930と同じような使い勝手になるはず。MouseEventArgsだからクリックボタンによる処理もメソッドの中に組み込める
勝手に先頭のCellが選択されるのはFocus()やSelect()実行しても起こるけど、まず使わないだろうしそのあとにDataGridView.CurrentCell = nullを入れてもいい
列のResizeでCell選択されるの前に悩んでいてFirstDisplayedCellとFocusまで調べていたけど見た目だけの問題だし面倒だから諦めていた
その質問のおかげで改めて調べる気になったから逆に感謝w
>>928
例えばDataGridViewの子コントロールとして用意して(datagridview.Controls.Add(panel))、BackColorをTransparentにするだけ。特別なことはいらなかったはず
2019/07/13(土) 21:21:56.19ID:J0SpyLLfa
>>933
子コントロールの背景色を透明にしても
最上位のコンテナ(つまりForm)の背景が透けて見えるだけじゃなかったかと
2019/07/13(土) 21:32:23.61ID:qsxihLOz0
>>934
じゃあ気が付いてない何か特別なことが必要なのかな
DataGridViewじゃなければ過去に何度もやっているしDataGridViewに重ねるのも確認してから書き込んだのだけど
936デフォルトの名無しさん (ワッチョイ 3e2d-PPDc)
垢版 |
2019/07/14(日) 10:27:51.44ID:/gKQotNU0
メソッド定義の場面でメソッド名の後にコロンが付いているのを初めて見ました
>protected PizzaStore() : this(new BaseIngredients()){} // 動画内24行目 https://youtu.be/agkWYPUcLpg?t=1678
このコロンはどういう意味の文法なんですか?
2019/07/14(日) 10:43:27.29ID:1ykVpntz0
>>936
それコンストラクタだぞ
引数なしのコンストラクタが引数付きのコンストラクタに引数を付けて呼び出してる
938デフォルトの名無しさん (ワッチョイ 3e2d-PPDc)
垢版 |
2019/07/14(日) 10:50:14.89ID:/gKQotNU0
>>937
そういうことなんですか、一見パッとわかりませんでした
ありがとうございます
2019/07/14(日) 11:29:43.66ID:1V0xuz/f0
string str_test = ""aaaaaaaaaaaaa;
txt_word.Text = str_test; // ←デバッグをすすめるとこのコードの実行になぜかフリーズします。

これは何が原因なのでしょうか?
2019/07/14(日) 12:20:15.77ID:67ABvZrhM
txt_wordクラスのTextプロパティのセッターが
文字列セットするとフリーズする実装になってるんでしょ
2019/07/14(日) 12:22:02.89ID:BItK59/l0
>>939
""aaaaaaaaaって何が入るの?
2019/07/14(日) 12:25:09.72ID:cixPwHFXp
そりゃ転記ミスやろ。
コンテクスト違うってエラーが出てるんじゃね?
2019/07/14(日) 12:27:14.57ID:VKB+2jBS0
>>939
TextChangedイベントを確認しましょ
2019/07/14(日) 13:09:01.62ID:1V0xuz/f0
>>941
"aaaaaa" です。


>>940 >>943 
TextChangeイベントも設定されていません。
もともとこのプロジェクトは、VS2010で作ったものです。
現在は、それをVS2017でメンテナンスをしようとしています。

アップグレードに伴う、VS側のバグでしょうかね???
一から作り直すのめんどくさいし・・・あーあー

VS2017で作成した新規プロジェクトでは、Textboxへの値の設定では
当然フリーズしません。
2019/07/14(日) 13:31:47.51ID:TL4T/r3+a
>>944
そもそもtxt_wordの型が書かれてないんだけどTextBox型なの?
デバッグ実行中にフリーズする箇所で「一時停止」したら
コールスタックに実行中のメソッドが出るけどどこでフリーズする?
2019/07/14(日) 13:36:10.50ID:1ykVpntz0
>>944
VS2017のバージョンは、最新(15.9.14)になってる?
947デフォルトの名無しさん (エムゾネ FFba-YtL5)
垢版 |
2019/07/14(日) 13:56:27.70ID:KJvjECGRF
最初の質問観ただけで
面倒臭い人(質問じゃなくて人)だと判る
2019/07/14(日) 14:15:44.45ID:1V0xuz/f0
>>945
間違いなくTextbox型です。

>>946
Version 15.9.14
になっています。
念の為にVSをアップデートしました。
2019/07/14(日) 14:22:56.02ID:1V0xuz/f0
呼び出し元でTextboxに値を入れる分はすぐでした。

呼び出し先のメソッドの中でのデバッグでだけ
遅くなっている様です。

解決できそうです!
2019/07/14(日) 14:25:17.32ID:vFmjWtsga
解決したらどういうことだったか残しといて
2019/07/14(日) 16:50:39.75ID:1V0xuz/f0
原因はわかりませんが、とりあえずスムーズに流れる方法が
わかったのでメモしておきます。

もともと@でしたがAに変えたらフリーズしなくなりました。。。
なぜだろう。。。


入っている文字列ですが正確には

string str_test = "aaa\r\nbbb\r\nccc\r\nddd\r\neee\r\n";

でした。

@
txt_word.Text = str_test.TrimEnd('\r').TrimEnd('\n');

A
txt_word.Text = str_test;
2019/07/14(日) 17:21:41.77ID:eBBABYSj0
末尾の改行消したいなら str_test.TrimEnd('\r', '\n'); か str_test.TrimEnd('\n').TrimEnd('\r'); じゃ?
2019/07/14(日) 17:22:25.76ID:7jVc1wv20
確実に利用者側の問題なのにVS側の不具合を疑う時点でどうかと思う
そもそもフリーズってどんな状況よ
不正確な単語使われて情報も部分的にしか出さないでなんでも解決できると思わないでね
IDE使ってんだからbreakしてステップ実行しなよ
2019/07/14(日) 19:13:36.27ID:REnBzl1eM
俺みたいにおちょくっておくのが正解だと言うのに
2019/07/14(日) 19:24:25.41ID:1V0xuz/f0
>>954
お前ははなから相手にしてない
雑魚が
2019/07/14(日) 20:16:20.63ID:FOkW4A9fr
>>955
>>1 も読めない人はもう来ないでね
2019/07/14(日) 20:31:52.63ID:REnBzl1eM
生ゴミに雑魚とか言われちゃったよ(苦笑)
2019/07/15(月) 00:13:59.24ID:Pf4bLsx9a
アカン質問者なのはわかってたけど豹変面白すぎ
2019/07/15(月) 15:45:33.24ID:RYqQ15uW0
Dapperでクエリを書く時、SetParameterと補間文字列、どっちがいいですか?
SetParameterが普通っぽいんですが、下のように、補間文字列でもそう不便しなさそうなんですが・・・

string sql = $"INSERT INTO table(name, chk) VALUES('{textBox1.Text}', '{checkBox1.Checked}')";
2019/07/15(月) 15:55:18.36ID:/B6zOkBad
>>959
SQLインジェクション
2019/07/15(月) 16:08:29.30ID:0Vwmqj+cM
>>959
もしあなたが職業プログラマで、信頼できない人間がアクセスする可能性のあるソフトウェアの開発に携わったことがあるなら、
今すぐ関係者に連絡してSQLインジェクション脆弱性がないか確認してもらいなさい
誇張ではなくマジで危険
2019/07/15(月) 16:52:51.84ID:BwPtgrfc0
最近自分で私事でサーバー運営の練習してるんだけど、外部からのアタックってけっこうくるのね。大量の謎のアクセスがあって片っ端からURI試されてる。

>>959
ということでセキュリティには絶対気を付けるべき
963デフォルトの名無しさん (エムゾネ FFba-YtL5)
垢版 |
2019/07/15(月) 16:59:54.96ID:3kssHGHNF
アタックに対して堅牢性があっても
糞アクセスのせいでログファイル肥大化して
disk full でシステムダウンとか
DOS攻撃でネットワーク飽和してダウンとか
セキュリティ対策と言っても奥が深い
糞アクセスがあっても安全だからって放置せずに
糞アクセスしてくる相手は片っ端からフィルタで切断した方が良い
2019/07/15(月) 17:28:08.54ID:BwPtgrfc0
とりあえずアタックというものは本当にあるんだ、ということが伝えたかった。
2019/07/15(月) 17:46:03.68ID:eJKhhqkr0
>>962
つ Nikto
先ずはチェックを
2019/07/15(月) 18:08:26.88ID:lZwtcGpud
結構アタックあるよね。アクセスログ見る習慣もつけたほうが良いと思う。
2019/07/15(月) 18:45:14.20ID:AVRTCka/0
ホワイトハウスにクラックするスーパークラッカーが世の中にいるんだよ
なので攻撃されたら絶対防げないからあきらめな。


なのでWEB系の基幹システムの開発だけは現役のころは
すべてさけてきた。

Windowsシステムなら最悪ローカルで被害がすむ
2019/07/15(月) 18:45:44.19ID:l/0rJj1+0
おじいちゃんこんにちは
2019/07/15(月) 18:52:00.43ID:jhuzVcKVM
>>962
SSHくらいやってるんだろうね?
2019/07/15(月) 20:59:32.14ID:BwPtgrfc0
>>965
丁度脆弱性診断の本買って勉強中です、Niktoというのも調べてみます。

>>969
むしろSSHかさくらの管理コンソール以外からのログインの仕方がわかりませぬ。
2019/07/15(月) 21:01:10.84ID:BwPtgrfc0
>>966
ある日を境にアクセス数グラフが爆発的に増えてビックリこきました。アクセスログ見たらそれっぽいURI叩かれまくってて感心してしまった。
2019/07/15(月) 21:32:51.08ID:eJKhhqkr0
>>970
Niktoは脆弱性診断ツール
良く知られている攻撃方法は一通りカバー
しているかと。

日本語の説明はあちこちにあるけど例えばコレとか
https://qiita.com/bezeklik/items/12643654dc0c45f4eb29
2019/07/15(月) 22:05:37.33ID:BwPtgrfc0
>>972
ありがとうございます!
完全にスレチになってしまうのでこの辺にしておきます
2019/07/16(火) 09:21:03.27ID:X0DP0wW10
>>952
つまり、
txt_word.Text = str_test.TrimEnd('\r').TrimEnd('\n');
の右辺の最初の str_test.TrimEnd('\r') の部分で str_test の末尾に '\r' が
無いのでエラーが生じて例外が throw されていたという落ちですかね。
2019/07/16(火) 09:23:45.90ID:X0DP0wW10
>>974
仕様を見てみたらそういうわけでもないようですね。
2019/07/16(火) 09:25:36.76ID:TC9tlVhv0
そもそも例外出たってフリーズはせんだろ
何のためのIDEだ
2019/07/16(火) 09:30:32.77ID:X0DP0wW10
VSのバグだったら楽しいなwww
2019/07/16(火) 11:44:57.75ID:9jUYV4m+0
>>974 >>775
ほんと不思議な事象でした。
tyr catchでかこってもエラーには落ちてきませんでした。
ただ、時間がやたらかかるだけ
2019/07/16(火) 12:01:20.00ID:TC9tlVhv0
例外とエラーと処理に時間がかかるは全部別の事象
そら処理に時間がかかってるところにtry書いたって何の意味もないよ
一番不思議なのはそんな技術力でVSを疑う君だよ
2019/07/16(火) 12:47:20.40ID:i1fbuZ/pM
まあ自分以外を疑うのは初心者あるあるやね
2019/07/16(火) 14:07:27.08ID:cyuVEim50
改行されて文字が見えなくなってて、フリーズしたと思い込んでたんじゃない?
2019/07/16(火) 15:02:04.77ID:p80ojOpj0
画像ファイルを相対アドレスで指定してもデザイナが勝手にカレントディレクトリをWindows直下だと思ってフォルダが無いって言ってるのって何とかならないの?
2019/07/16(火) 15:21:01.19ID:CH30lzXT0
>>980
次スレはよ
2019/07/16(火) 15:37:30.60ID:i1fbuZ/pM
>>983
すまん、うっかりしてたわ
立てたのでよろしく

ふらっと C#,C♯,C#(初心者用) Part144
https://mevius.5ch.net/test/read.cgi/tech/1563258983/
985デフォルトの名無しさん (ワッチョイ 1a61-mVAd)
垢版 |
2019/07/16(火) 16:06:39.66ID:X0DP0wW10
VSにバグが有るだけじゃないんですかいな。
実際、手元でVS 2019で C++ を試していたら、メニュー・エディタが
ハングアップしたりシングルコアでのCPUが100%になって一分以上待たされたり
何回もした。
2019/07/16(火) 16:08:57.60ID:9jUYV4m+0
多分vsのバグだと思う

だけど、このスレッドでは初心者に問題がある、と押し付けるdqnがいるのです。
2019/07/16(火) 16:09:42.20ID:X0DP0wW10
昔からMSはバグが多いことで知られていて、Win95でもすぐにおかしくなっていた。VSだけは割りと安定していたのだが、最近はVSもMS標準品質になっただけかもしれない。
別に Win95 時代じゃなくても、Officeだっておかしくなるし。
ページ番号がずれてめちゃくちゃに成って直せなく成ったりとか、表を編集中にキャレットが別のカラムに勝手に移って何度やっても思ったカラムに入力できないとか、そんなん物凄くあった。
2019/07/16(火) 16:13:10.50ID:X0DP0wW10
>>986
昔のVC++のころのVSは、問題になるような重大バグは気付かなかったんだけど、今のVSはそんな重大バグがあるんだろうか。
遅いことだけは間違いない。自分の環境だと起動に何十秒(1分?)もかかる。
2019/07/16(火) 16:54:27.52ID:9jUYV4m+0
>>988
もっといいマシンかおうぜ
2019/07/16(火) 17:16:52.20ID:X0DP0wW10
>>989
速いマシンっていうが、どの程度のマシンでどの程度の速度で起動する?
5秒以下になるか?
2019/07/16(火) 17:25:07.83ID:HGJeyF2e0
vs2010を2008R2で動かすと高確率で
ハングして閉口したよ
2019/07/16(火) 17:38:23.73ID:SYYZ7oiM0
>>939
こんな再現できないコード貼って他人が解決できるって発想が理解できない
ミニマムコード要求すらせずに相手する方もおかしい
>>982
C#じゃないOSの仕様で、Windows直下に設定したのはお前じゃね
>>984
たておつ
2019/07/16(火) 19:28:02.88ID:CUl4yCEGa
>>984
スレ建て乙
2019/07/16(火) 22:16:31.67ID:9jUYV4m+0
>>990
Corei7-8700CPU 3.20Ghz 3.19Ghz
48GB

G-GEAR eX.computer Gaming Service

ゲーミングマシン使ってるから早い。
2019/07/16(火) 23:05:46.24ID:NtL9T2Il0
なんだよ48GBって。
中途半端に買い足さないで男らしく64GBいけや
2019/07/16(火) 23:24:36.19ID:DnEfEKUpF
>>995
どうでもいい難癖乙
2019/07/16(火) 23:26:05.36ID:9jUYV4m+0
なんくせやな。
動画編集しながら、VS立ち上げながら、ゲームしても余裕っす

もちろんVSごときサクサクっすわ
2019/07/17(水) 01:18:46.85ID:ANbj1oMn0
今どきシングルコアのPCで開発ってある?
5年前のPCでもそんなの無い気がすんだけど
2019/07/17(水) 01:20:25.68ID:fz/PHEHW0
VM上で開発してるのかもしれない
2019/07/17(水) 01:56:35.78ID:rBzTe21k0
ふんっ1000ゲット
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 61日 6時間 28分 29秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


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

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

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

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