X



ふらっと C#,C♯,C#(初心者用) Part143
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん (ワッチョイ 8861-gZI7)
垢版 |
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
0004デフォルトの名無しさん (アウアウクー MMd2-+HTC)
垢版 |
2019/05/16(木) 21:27:50.86ID:ZoVvvxluM
DataTableにSelectを使うとき、

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

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

SQL インジェクションでは、; で一旦、文を終わらせてから、
また違う文をつなげてくる奴もいる
0016デフォルトの名無しさん (ワッチョイ e2fc-TfzP)
垢版 |
2019/05/18(土) 06:49:02.88ID:M6x4drXG0
イベントというのはすべて
mainwindow.xaml.cs
に追加されるんですか?

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

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

パンピーにxmlの編集はできそうで無理
すぐに階層ぶっ壊す
どこでエラーが出たのかわからない
せめて読み込んだときに○行目でエラーですよとか
括弧の対応付が腐ってますよとか
出れば・・・それが直せる人間ならエラー出さん気もするが
0024デフォルトの名無しさん (ワッチョイ 6502-qY1O)
垢版 |
2019/05/18(土) 12:42:19.98ID:OQYrbR790
>>17
適当だけどシリアライズする時にいじられる可能性があるファイルとは別にバックアップファイルも作っておけば?
失敗したらバックアップファイルから読み込むとか
0025デフォルトの名無しさん (ワッチョイ 6e7c-2hqA)
垢版 |
2019/05/18(土) 15:49:30.00ID:GEx07AN40
どうも、色々有り難うございます。
やっぱりかゆいところに手が届くようにするには全部自分でヤるしかないんですねえ。

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

まあ、XML 形式は人間がいじるには不便なので、昔ながらの ini ファイル形式の処理なども検討してみます。
0033デフォルトの名無しさん (アウアウエー Sa6a-Fe5F)
垢版 |
2019/05/19(日) 15:31:02.10ID:gLWKrV0ia
今更だけど>>17はすげえ面白い発想だなw
この発想はなかった

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

編集させたいなら編集できるツールを提供するのが筋でしょう普通に
0035デフォルトの名無しさん (ワッチョイ c461-gZI7)
垢版 |
2019/05/19(日) 16:58:39.64ID:Sq+osQsS0
てかxmlって俺らは読みやすいけどパンピーには編集不能だし
xmlって客の利点は1つもないよ
お客に「え?そのフォーマットって俺等になんの利益があるの?」
って言われてはじめて気づいたけどな
コメントもかけないし
書いても次の出力で消えるし
0048デフォルトの名無しさん (ワッチョイ ce01-027X)
垢版 |
2019/05/20(月) 01:15:28.17ID:ee7ewuKV0
データの一時保存のためにXMLエディタみたいな機能積むのは嫌だ。
自己データの保存用のXMLなんだから不必要なタグや属性は無視したいよ。
ただ、どんな保存形式であれ不正データの発生は防ぎきれないから質問主の方針には賛成する。
不正データな時点で内容が信用できないと判断してオール初期化するのも悪手ではない。
0051デフォルトの名無しさん (ドコグロ MM85-A+mh)
垢版 |
2019/05/20(月) 07:13:37.85ID:h4Os3XI/M
不正データを排除って言っても
> 特に enum は綴り間違うとすべてがパーになるので。
ぐらいだけなら>>50とかの対処療法でなんとかなるけどタグ名の間違いとか文字列のダブルクォーテーションの抜けとかまで言い出したらパーサーを作り直すに近いことになるからそんな所で苦労するなら>>33の言うようにツールなりを提供した方が楽
0053デフォルトの名無しさん (ドコグロ MM36-gZI7)
垢版 |
2019/05/20(月) 08:07:45.04ID:MXQiPVhxM
そもそもxmlを編集する有名なツール自体がない
あってもとても一般人には触れない代物

人に編集させたいくせにあえてこのフォーマットにする意味がそもそも皆無
エクセルでも読めないし
一体どうして欲しいのか?
別の設定ツールを作るときにプログラムから読み書きがしやすいってただそれだけだろ
んでツールの提供も嫌だって言うんじゃ
メリット皆無
そもそもxmlを選択した時点で担当者は無能で死刑
0055デフォルトの名無しさん (ワッチョイ 6e7c-Q2B8)
垢版 |
2019/05/20(月) 11:20:58.13ID:g1Dx2x5o0
xml は糞
0056デフォルトの名無しさん (ワッチョイ de4b-Uw8s)
垢版 |
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;
}
0067デフォルトの名無しさん (ワッチョイ ceda-EL+e)
垢版 |
2019/05/20(月) 20:14:59.41ID:NntmuTz60
>>65
非同期タスクを管理する処理が別にあるとか、
サーバ間でデータ同期するけどリアルタイム性は求めず、整合性チェックも後でやるとか
俺はいろんなとこで経験したぞ。

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

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

実績のあるサイトがそう言ってるからと思考停止するのはやめてくれ
0068デフォルトの名無しさん (ワッチョイ 9602-HOgd)
垢版 |
2019/05/20(月) 20:27:56.33ID:bliI8bxJ0
jpgを読み込んだbyte配列をUTF8で文字列化し、それをbyte配列に戻すと正しく復元できません

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

何故でしょうか
0070デフォルトの名無しさん (アウアウエー Sa6a-AgTJ)
垢版 |
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()しても復元できない
0072デフォルトの名無しさん (ワッチョイ 9602-HOgd)
垢版 |
2019/05/20(月) 21:09:30.64ID:bliI8bxJ0
>>69 >>70
Replacement Character に変換された時点で不可逆になるってことか
助かった。ありがとう
0073デフォルトの名無しさん (スップ Sd02-rzGG)
垢版 |
2019/05/20(月) 21:15:12.88ID:UR9kN7had
どうしても文字列にしたいならbase64
0074sdfasdfasdfsd (ワッチョイ 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ファイルにて)

【質問】
お互いにクラス定義を必要とする場合、
★具体的に★どのような実装をすれば良いのでしょうか?
0078デフォルトの名無しさん (アウアウカー Sa0a-qY1O)
垢版 |
2019/05/20(月) 22:15:36.37ID:4rJ56KmUa
>>74
どういう場合にそんな設計しないといけないのかが気になる
0079デフォルトの名無しさん (ワッチョイ 3570-EbOW)
垢版 |
2019/05/20(月) 22:38:26.25ID:VWEIYE4F0
>>75
本当はC++ cliですけど、C#の方がみなさんに馴染みがあると思うので
言語差異は私が吸収するのでC#として教えてください
0080デフォルトの名無しさん (ワッチョイ 3570-EbOW)
垢版 |
2019/05/20(月) 22:39:43.45ID:VWEIYE4F0
>>76

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

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

>>80の回答でもダメなんでしょ
「C#にはincludeがないから言語仕様として>>74のようなクラスの書き方をしてもコンパイルエラーにならない」
という回答にしかならないから、貴方の知識と頑張りでC++CLIに読み替えてくれ
0086デフォルトの名無しさん (ワッチョイ df63-USkf)
垢版 |
2019/05/20(月) 23:05:45.37ID:Cm4lSS/q0
マルチポストで上から目線ってすげーな
全体インクルードファイルとかいうもん作るのになんで実装が汚いなんて拘るのかも意味不明
君の思う綺麗な実装なんてなんで他の誰かが気にしなきゃいけないのw
0087デフォルトの名無しさん (ワッチョイ c461-gZI7)
垢版 |
2019/05/20(月) 23:11:16.82ID:0XbNrzL70
どっちの画面からも
お互いの画面を呼び出す仕様を素直に作っちゃうとそうなるな
今は無意識にそういうの避けてるだけで
あるはあると思う
辻褄が合うように頑張るしかない
0089デフォルトの名無しさん (ワッチョイ df63-USkf)
垢版 |
2019/05/21(火) 01:09:08.10ID:M9GsAJ+k0
C++の方にはすぐ回答出てたけど前方参照するだけの話
トリッキーでも何でもなくちょっとした規模の開発なら余裕で出てくる基礎的な内容
C++ 相互 参照 あたりでググればいくらでも記事は出てくる
そんな基礎的な内容を知らないのになぜか上から目線
0094デフォルトの名無しさん (ワッチョイ dc2f-rckI)
垢版 |
2019/05/22(水) 00:05:54.67ID:uN3Dm6wF0
普通にC#のプロジェクトならそのAクラスもBクラスもコンパイルエラーにはならんのじゃねえの?
言語差異を吸収するってなら、全体インクルードファイルってのをC#に置き換えてから質問しろよ
0095デフォルトの名無しさん (アウアウエー Sa6a-Fe5F)
垢版 |
2019/05/22(水) 01:20:47.85ID:rbGbzH6ha
率直に思ったこと。

少なくとも俺には件の質問者が上から目線で物を言っているようには聞こえない
むしろ質問に正面から答えずに言い掛かりをつけてる連中の方がよほど上から目線で頭がオカシイ
0103デフォルトの名無しさん (ワッチョイ 6768-W1Ja)
垢版 |
2019/05/26(日) 18:26:18.96ID:NZfOTj1K0
xmlファイルをdll化することってメリットありますか?
何故かxmlのdllが出来てたのですが、理由はなんでしょうか?
0104デフォルトの名無しさん (ワッチョイ 7f7b-MPhm)
垢版 |
2019/05/26(日) 19:00:10.18ID:68ZlmbT30
>>103
フォーマット違うんだけどな。dllに埋め込まれたxmlリソースが見えただけじゃないの?
もしくはxmlファイルを間違ってdllにリネームしてしまったか
「何故か」の過程が分からないと難しいしC#に関係あるかすらわからない
0108デフォルトの名無しさん (ワッチョイ 7f7b-MPhm)
垢版 |
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/
0113デフォルトの名無しさん (ブーイモ MMcb-WFXE)
垢版 |
2019/05/27(月) 19:42:02.15ID:at7F4ASBM
>>112
単純に短く書けるってだけじゃ無いからな。
>>111だとマルチスレッド時に1つ目の{でスレッドが切り替わって
OnInitにnullがセットされてしまう可能性があるが
Invokeにはそれが無い
0114デフォルトの名無しさん (オッペケ Sr5b-ySD8)
垢版 |
2019/05/27(月) 19:54:29.22ID:jyj66Likr
>>113
Invokeにじゃなくて?. の仕様な
0117デフォルトの名無しさん (アウアウエー Sa9f-h/tS)
垢版 |
2019/05/27(月) 20:40:41.26ID:uloK3O7ha
DataSetなんて15年以上前の技術なんか今更触っちゃダメ
Web上の情報でもDataSetを扱ってるようなページは問答無用で無視してよい

EFと言いたいところなんだけど・・・・個人的にはSQLの勉強も兼ねてDapperを推したい
データベースの基礎共用として手書きSQLがひととおり書けるようになっておいたほうがいい
0119116 (ワッチョイ 67da-rlEE)
垢版 |
2019/05/27(月) 22:32:39.99ID:5pJw+KKe0
>>117-118
ありがとうございます。
DataSetとDapperをちょっとだけ試してみました。

DataSetはGUIで簡単にクエリを生成して実行もしてくれますが、DapperはSQLをソースコード内に直に書いて、Connectionも作る必要がありました。
こういうものでしょうか?それともDapperのGUIのSQLビルダー機能を見落としているのでしょうか?
0123デフォルトの名無しさん (アウアウエー Sa9f-h/tS)
垢版 |
2019/05/27(月) 23:42:07.71ID:uloK3O7ha
>>119
DapperでSQLを書かずに済ませたい場合は、Dapper用クエリビルダを別途導入
nugetパッケージが多数公開されてるから合いそうなのを選ぶ・・・んだけど、デファクトスタンダードなものがないんだよね
単純なCRUDができれば十分でSQLを手書きせずに済ませたいならDapperよりもEFを使うほうが良いと思う
>>116さんならカンもよさそうだしとりあえずEFでCodeFirst⇒CRUDひととおりできればさほど困らないかも

ただそれでもSQLは別途学習したほうがいい
集計とかパフォーマンスを考慮したデータ検索とかをやろうとするとどうしても自前でSQLを書く必要が出てくる
0124116 (ワッチョイ 67da-rlEE)
垢版 |
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も触ってみたいと思います。
0126デフォルトの名無しさん (ワッチョイ df2c-IeET)
垢版 |
2019/05/28(火) 09:38:11.91ID:tpS8MDSU0
C# のフレームワークには、Ruby on Rails みたいな、O/R マッパーが無いのか?
今時、文字列で、SQL を書く人なんて、いるのか?

SQL インジェクションもされるから、今は、O/R マッパーのメソッドを使う。
placement に値を入れるだけで、SQLインジェクションをエラーにできる
0129デフォルトの名無しさん (ワッチョイ df4b-pwRx)
垢版 |
2019/05/28(火) 10:35:26.92ID:FiHQa1DK0
A言語のスレで「A言語にはB言語でいうCみたいな機能は無いのか?」って聞いても、B言語を知らない、詳しくない人には「Cみたいな機能」がどんな機能かわからん。
B言語のスレなら少なくとも「Cみたいな機能」がどういう機能かはわかるんだから、聞くならB言語のスレで聞けばいいんじゃね?

今回ならRubuのスレでね。
0134デフォルトの名無しさん (ワッチョイ df7d-dCWx)
垢版 |
2019/05/29(水) 11:04:17.50ID:8l8j4cjm0
昔は、C#での帳票にはクリスタルレポートを使っていました。
最近は、C#(Windowsアプリ)で一番多く使われているのは何でしょうか?

一番多く使われているものを教えてください。
0135デフォルトの名無しさん (ドコグロ MMeb-cspy)
垢版 |
2019/05/29(水) 12:37:48.69ID:GnXFyo5ZM
>>134
多分、データを帳票の枠の入ったExcelファイルに書き込んで表示or印刷的なのが多いかと
っていうかクリレポってそんなに多かったですかね?
昔から私の周りではこっちのが主流でしたw
0138デフォルトの名無しさん (アウアウエー Sa9f-B7xJ)
垢版 |
2019/05/29(水) 18:07:30.21ID:xcggW8D+a
よく知らんけど帳票って専用のライブラリ使わなきゃいけないほど複雑な分野なのかな。

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

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

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

はまった時に解決するのが大変なので
できるだけ世間一般で多く採用されている手法を取りたいと考えています。
0147デフォルトの名無しさん (ドコグロ MM22-3QJd)
垢版 |
2019/05/30(木) 14:46:36.95ID:6LmM0VYIM
>>145
フィールドの場合は一度ローカル変数に読み出してから分岐とメンバアクセスをするだけだろ
フィールドへのアクセスはローカル変数に比べて遅いから、繰り返しフィールドを読むのに比べてむしろ速くなる可能性がある
さすがにフィールドにvolatileが付いてない限りは繰り返しのフィールドアクセスは一度ローカル変数に読むのと同じ動作になるように最適化されるだろうけど
0148デフォルトの名無しさん (アウアウエー Sae2-dn6T)
垢版 |
2019/05/30(木) 15:39:26.40ID:v6SxCCrXa
>>146
そんなトラブル聞いたことないよw

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

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

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

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

クリレポの類の開発者だけが使える「特別の魔法」なんかあるはずがない。
0156デフォルトの名無しさん (ドコグロ MM22-RdrM)
垢版 |
2019/05/31(金) 05:23:38.20ID:6gUA7KH4M
>>154
君、プリンタ関係のことよく知らないでしょ?
アプリケーションからの出力方法って1つじゃないんだよ
罫線だってGDI命令として出力することもあるし図形として出力することもある
同じ内容でも出力する順序によって挙動が変わるなんてことすらある(まあどう見てもドライバとかのバグだと思うが…)
そういうのをちまちま回避するってことなの
0157デフォルトの名無しさん (アウアウエー Sae2-dn6T)
垢版 |
2019/05/31(金) 10:02:32.84ID:yuizSVlIa
>>156
だから何を言ってるのかね。
論点はそんな話じゃなく、ユーザーコード側でワークアラウンドを打てるかどうかだから。

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

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

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

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

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

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

> アホちゃうかマジで
お前がなw
世の中こういう泥臭い仕事があることも知っておいた方が恥をかかなくて済むと思うぞ
0163デフォルトの名無しさん (ドコグロ MM8a-ERtf)
垢版 |
2019/05/31(金) 14:20:53.01ID:eC5Mq3IeM
一旦Excelに吐くとどうしても出ないときの最後の手段で手で修正できるから
結構こっちのが好きなお客さん多いよね
帳票ライブラリだとプログラマが根性出すしかない
テンプレートファイルが別になってればワンチャンあるけど
それもこのファイルだけ折り返して欲しいとかはまあ無理だよね
0164デフォルトの名無しさん (ワッチョイ 661c-tPNx)
垢版 |
2019/05/31(金) 14:37:35.21ID:M/SlBIow0
>>163
excelのライセンスが許すときは俺もexcel出力好きだなぁ。
ホントに運用でなんとかなる最後の砦だと思う。

特にPDF出力はexcelのライセンスが無くてもLibreOffice使って出す方が安心できる。
最悪の場合手作業で直して貰って出力できるし、これが標準テンプレートエディタでござい、って出しても平気だからな、LibreOffice。
0167デフォルトの名無しさん (ワッチョイ 661c-tPNx)
垢版 |
2019/05/31(金) 16:48:25.79ID:M/SlBIow0
単純な経済性なんかでプロジェクト回ってるわけ無かろうが。
どこの資本が強いか次第じゃねえの?

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

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

ちなみにリコーのそれなりの価格の業務用機で拾ったからな。俺は。
ありました。が正しいわ。
0168デフォルトの名無しさん (ワッチョイ 661c-tPNx)
垢版 |
2019/05/31(金) 16:51:48.73ID:M/SlBIow0
なんか自分でゴリゴリ書くことを否定されたのがよっぽど悔しいのかな。
それも悪くはないよ。ちゃんとサポートするなら。

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


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

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

そんな話聞いたことないよ。
CADで図形が欠けるなんてことがあれば致命的なことで大騒ぎになるはずだけど。
0170デフォルトの名無しさん (ワッチョイ 661c-tPNx)
垢版 |
2019/05/31(金) 17:19:05.57ID:M/SlBIow0
>>169
いやいや、悔しかないよ。
そう見ているから、そういう思考回路の人ってちょっとヤバくない?

あ、CADはあるよ。
俺今ユーザ系だけど、普通に印字欠けはベンダと調査して結局対応してもらった事ある。
プロッターをプリンタに入れていいならめちゃくちゃあるよ。
だからみんなCADのバージョンアップも、OSのバージョンアップもしたくないんだよ。
0174デフォルトの名無しさん (ワッチョイ 661c-tPNx)
垢版 |
2019/05/31(金) 19:21:41.37ID:M/SlBIow0
大変っちゃ大変だけど、仕事だしな。
紙に出したものを正とする業界だと余計に仕方ないと思うよ。
JIS Z8114通りに「出図とは登録された図面を発行する行為」であると定義してる所も少なくないだろうし、
JIS Z8114守りたければCADで描いた線がCADで描いた通りに出ないことがどれだけ問題か解ると思うが。

規格守って図面描いてるから日本は町工場でもきちんとしたモノが作れると思ってっけどなぁ。
悪くは無いと思うぞ。
0175デフォルトの名無しさん (ドコグロ MM22-RdrM)
垢版 |
2019/05/31(金) 20:31:19.27ID:LXc8d8ErM
>>165-166, >>169
マジで恥ずかしすぎる…
世の中が経済性だけで回ってるわけじゃないしプリンタ買い替えてから気付くなんて普通にあるだろ
その度毎にアプリ改修するより保守料払ってもミドルベンダーに対応してもらった方が普通は安いぞ
よほどの中小かブラックでもない限りw
0178デフォルトの名無しさん (アウアウカー Sa7b-+r4I)
垢版 |
2019/05/31(金) 21:38:28.85ID:emoSvWMQa
GUIアプリでちょっとデザインにこだわらないといけなくなったんですが、formアプリでそういった場合工夫でなんとかなるもんですかね?
WPFを覚えたほうがいいですか?
0181デフォルトの名無しさん (アウアウエー Sae2-dn6T)
垢版 |
2019/05/31(金) 22:31:02.04ID:F4dMJYTFa
>>175
恥ずかしいのは君の方。
企業にとっては経済性は最重要問題だ。

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

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

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

その方が安心で確実だし、餅は餅屋で問題解決までの時間だって短いだろう。
何度も言うように、そもそもユーザーコードで本当にプリンタの問題を回避できるの?
0185デフォルトの名無しさん (ワッチョイ 661c-tPNx)
垢版 |
2019/05/31(金) 23:04:12.84ID:M/SlBIow0
ちなみに>>171の件は、一部のプリンタはHPのサイトにはドライバ無くて、Autodeskのサイトの該当のQ&Aに載ってるドライバ入れないとうまく動かなかったり、
ホントに「ソフトウエアベンダーがわざわざ特定のプリンターにドライバを提供してる」例だからね。
0186デフォルトの名無しさん (ワッチョイ 6a01-RdrM)
垢版 |
2019/05/31(金) 23:22:30.43ID:724uYZRf0
>>181-182
まだ言ってるのかよ…
恥の上塗りにしかなってないぞ

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

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

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

>>183
普通のユーザーはそんな色々なプリンタ使わないんだけど数機程度のプリンタ使っただけで語ってないよね?
0196デフォルトの名無しさん (アウアウエー Sae2-3Kiq)
垢版 |
2019/06/01(土) 07:04:55.13ID:Spf5VD38a
>>186
俺だけじゃなく社内で10年の蓄積だからなぁ
プリンタ機種数という観点で統計出したことないから数字はわからないが少ないってことはないよ

つうか普通のユーザーなんて書いてる時点で君もうすうす気付いてるようだけど
普通のユーザーには縁がない障害ってことでしょ
特殊事例を熱心に語られても共感は得られないと思うぞ
0198デフォルトの名無しさん (ドコグロ MM22-RdrM)
垢版 |
2019/06/01(土) 07:58:39.37ID:bisdSzOZM
>>196
また恥の上塗りかよ…

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

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

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

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

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

何件って規模じゃまったく足りないわな
世界中で使われてるプリンタ機種数のスケール考えろよ
そんなケースも極稀にあるんだねとしか言えんわ
0204デフォルトの名無しさん (ドコグロ MM22-ViZH)
垢版 |
2019/06/01(土) 08:41:38.64ID:Fdt5DU0xM
いや、今、c#からやってるけど
dobonのサンプルだと
これグラフィックオブジェクトに描いて画像として印刷してんじゃん?
これだとやっぱり用紙サイズと解像度が合わないとき
線って消えるよね?
ベクトル描画的な指定方法って別にあったりする?
0205デフォルトの名無しさん (ドコグロ MM22-ViZH)
垢版 |
2019/06/01(土) 09:26:51.71ID:Fdt5DU0xM
@用紙サイズ
Aプリンタの解像度
Bアプリの印刷描画バッファ
Cアプリの仮想描画バッファ

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

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

いまさらGDIを使うくらいならWPFのFixedDocumentを使うほうがよっぽど楽だと思うけど
0207デフォルトの名無しさん (ドコグロ MM22-ViZH)
垢版 |
2019/06/01(土) 09:49:21.88ID:Fdt5DU0xM
いや、別にどっちでもいいんだけど

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

の4つをつなげる方法さえあれば
誰も困らんと思うよ
ただ、うまくいかないね
線も消えるし(多分どこかの解像度があってない)
0209デフォルトの名無しさん (ワッチョイ 8a52-gkx+)
垢版 |
2019/06/01(土) 10:34:13.81ID:w9UetZ9K0
>>196
普通のユーザーじゃなく自分に縁がないかもしれない事例でも、そういうことがあるってのは有用な情報だと思ったよ。
自分が経験したことがないからそんなのは存在しないなんて主張していたお前さんの意見の方が共感できないよ。
0212デフォルトの名無しさん (ワッチョイ 6a01-RdrM)
垢版 |
2019/06/01(土) 10:54:49.93ID:uvuK6mvN0
>>201
数十機種で語られてもなぁ…
しかも不具合を君が全部把握してるの?
っていう部分はガン無視w
まあおまえがどう思おうとそういう世界がある事実は変えられない

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

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

くだらねえな
さっさとメーカーに直させておわり
0215デフォルトの名無しさん (アウアウエー Sae2-3Kiq)
垢版 |
2019/06/01(土) 11:19:06.71ID:Spf5VD38a
>>186で印刷マニア自身も言ってるが普通のユーザーはそんな色々なプリンタは使わない
印刷マニアが何百機もプリンタを王道から外れた手段で弄り倒した経験をもとに「プリンタにはバグがよくあるんですよ」なんて言われても普通のユーザーは「へえそうなんだうちのプリンタは正常に動いてるけどね」としか思えないわな
マニアとマニア以外で頻度とリスクの感覚がかけ離れてるんだよ
0219デフォルトの名無しさん (ワッチョイ 8a52-gkx+)
垢版 |
2019/06/01(土) 11:50:14.13ID:w9UetZ9K0
>>217
別に縁のないリスクを気にしてる訳じゃなく、そういうことがあるのね、って知識を得たというだけのことだよ。

今は君だけがヒートアップして振り上げた拳を下ろせずに困っているだけのように見えるぞ。
0223デフォルトの名無しさん (ワッチョイ 6a01-RdrM)
垢版 |
2019/06/01(土) 11:59:41.65ID:uvuK6mvN0
>>214
> 調査まではしないがこういうバグあったな程度の記憶が役に立つ事は多い
あれ?
> まあ確かに社内で課題は共有してるがプリンタ固有のバグとかここ10年は1個も見てないな
って言ってたんじゃなかったのか?
追い込まれすぎだろw
0228デフォルトの名無しさん (ワッチョイ bb01-pBKr)
垢版 |
2019/06/01(土) 12:07:09.83ID:sr9CupPy0
>>220
> 個々のハードウェアやドライバに関わる相性問題でC#に関係ないのはわかる?
だから、発生しちゃうとすごくいらんコストがかかるってことでしょ。
それをリスクと考え、回避したいと考える人達がいてそういうことが必要な世界がある。
リスクを知らんと理解出来ない話ししてるんだわ。

おれは縁のない方の世界の人だけど、今回の話はかなり面白かったぞ。
あほなお前にも感謝してる!
0235デフォルトの名無しさん (ワッチョイ 8a47-uEbE)
垢版 |
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) では認められていません。
0238デフォルトの名無しさん (スププ Sd8a-tPNx)
垢版 |
2019/06/01(土) 13:42:20.94ID:hoSI63knd
webAPIでexcel使う必要なんて客の要件次第だろ。
excelで図形合成してさらにオブジェクトのロックをかけて、
かつすでに描かれていた図形や文字列と合わせてpdfを生成して
ブックにパスワードつけてからダウンロードする口を作ってくれ

みたいな無茶振りを
「ちょっとそれ要件から揉みましょうや…まずpdf作るってところですけど
多分その使い方はExcelの証跡として残したいんですよね。互換ソフトじゃ実際問題ダメじゃないですか。
使用者みなさんにExcelのライセンスがあることを証明してもらえたらなんとかしようがありますけどそれ以外は無理です」
って返した事あるぞ。
0243デフォルトの名無しさん (アウアウエー Sae2-dn6T)
垢版 |
2019/06/01(土) 14:14:43.16ID:PqDqKgvpa
>>207の人
なんかGraphicsはビットマップみたいなピクセル前提になってると思い込んでるように
聞こえるけどそれは勘違い

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

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

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

ひょっとしてビットマップに描画してそれを印刷してない?
dobonさんのところのサンプル見たけどそんな変なことしてないと思うんだけど。
0251デフォルトの名無しさん (アウアウエー Sae2-dn6T)
垢版 |
2019/06/01(土) 18:30:53.40ID:iVO4qD1ea
>>249
君が紙の上にコンパスを使って円を描く時、
「俺のdpiっていくつだっけ?」なんて考えるだろうか?

考慮する情報は円の中心の位置と半径とペンの太さだけでは?
Graphicsに描画する時も同じこと
0253デフォルトの名無しさん (アウアウエー Sae2-dn6T)
垢版 |
2019/06/01(土) 18:46:02.83ID:iVO4qD1ea
例えばオーディオの品質はスピーカーやアンプの性能に依存するわけだけど、
それはプログラムから変更可能なパラメータじゃない。

dpiだって同じでしょ
無関係ってのはそういう意味
0255デフォルトの名無しさん (ワッチョイ df17-2ZOZ)
垢版 |
2019/06/01(土) 19:58:02.42ID:oq8Hkx220
とりあえずお前らは>>1のテンプレを読め
>「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
>なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
>C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください
0256デフォルトの名無しさん (アウアウカー Sa7b-+r4I)
垢版 |
2019/06/01(土) 20:25:18.71ID:Lkf//U1fa
C#とv Visual C#の使いわけってどういうのが正しいの?
0260デフォルトの名無しさん (ワッチョイ 2301-o4CG)
垢版 |
2019/06/02(日) 02:20:41.28ID:RpZopSul0
VC#はC#のMS実装という意味も含んでるんだと思ってた。
って、C#って外部団体で標準化されてたよね。

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

ダメな奴ほど自分のコードを疑う前にシステム側の不具合だと思いたがるのは鉄板の法則です。
0262デフォルトの名無しさん (ワッチョイ 8a52-gkx+)
垢版 |
2019/06/02(日) 06:25:49.41ID:VOFsXmY20
>>261
まだやってたのか。
まず自分のコードを疑うのは言わずもがなで、そこは誰も否定していないだろう。その上で、そういうシステムの不具合の可能性もあるという話をしているだけだろう。お前だけが頑なにシステムの不具合の可能性を否定しているだけで。
0263デフォルトの名無しさん (アウアウエー Sae2-3Kiq)
垢版 |
2019/06/02(日) 07:12:42.38ID:LTngafh+a
>>260
対応する前に切り分けしなよ
複数のプリンタで同じ不具合が出るならプログラムを直すべきだが
そうでないなら運用の問題だからプログラムを直しちゃダメだ
それはプリンタの修理か買い替えで対処すべき問題
0269デフォルトの名無しさん (アウアウエー Sae2-dn6T)
垢版 |
2019/06/02(日) 11:22:31.70ID:caoNnds2a
>>262
ちょっと被害妄想激しすぎないか。
>>261はあくまで一般論。

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

「こういうタイプ」というのは、要するに自分を客観的に見る(少なくとも見ようとする)
もう一人の自分を持ってないタイプの人のことね。
0271デフォルトの名無しさん (ワッチョイ 661c-tPNx)
垢版 |
2019/06/02(日) 16:42:31.41ID:vrlrWPYK0
>>269
日曜までプリンタの話題を引きずりたくはないが、
一般論として、自分がハマった経験も回避した経験もあって、かつ関連する記事も出せて、CADなら?みたいな無茶振りにも(たまたま俺の分野にヒットしたからだけど)答えてるのに、
「それを客観的に見る君」はなぜどこにも居なかったのかが一番疑問。

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

CADはプリンタどころか、環境に対するパッチも出てる。
ちなみにAutoCADはC#のSDKがあってとても便利。
0276デフォルトの名無しさん (ワッチョイ 267d-nwRe)
垢版 |
2019/06/03(月) 00:09:53.43ID:onOW6rqi0
MVVMについて学びたいんですけどどういうルートで学ぶのがいいんですかね
少し古くてもWPFや.NET MVCあたりの本を読むのがいい?
おすすめの書籍とかあれば教えてください
0278デフォルトの名無しさん (ワッチョイ 6a7d-2ZOZ)
垢版 |
2019/06/03(月) 12:46:16.15ID:E+jaCPkn0
質問です。
iPhoneアプリしかでていないゲームで

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

詳しい人教えてください!
0280デフォルトの名無しさん (ワッチョイ 6a7d-2ZOZ)
垢版 |
2019/06/03(月) 12:53:29.17ID:E+jaCPkn0
とあるiPhoneのゲームで最強になりたいんだよね。
PCゲームなら自動化はできるけど、iPhoneアプリの操縦となるときついかな〜。

誰か変態的にスキルの高い人教えてください。
0282デフォルトの名無しさん (ワッチョイ 6a7d-2ZOZ)
垢版 |
2019/06/03(月) 13:01:47.44ID:E+jaCPkn0
板違いとは言われてません
0284デフォルトの名無しさん (ワッチョイ 2fe3-qmTP)
垢版 |
2019/06/03(月) 13:25:21.39ID:km43TpLN0
>>278
「ユーザー入力の記録・再生」なるものが、iOSでもできるようになっているなら、
その「再生」のやり方を使えばできる可能性はある。
Windowsなら、マウスやキーボードのイベントの WM_LBUTTONDOWN, WM_KEYDOWN
などを ゲームの Window に PostMessage() してやれば良いだけなんだけど。
0287デフォルトの名無しさん (ワッチョイ 6a7d-2ZOZ)
垢版 |
2019/06/03(月) 14:41:32.88ID:E+jaCPkn0
>>283
日本語しゃべってくれ

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

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

走り回って敵が出てきたら戦闘、HPが減ったら回復→無限ループ
0289デフォルトの名無しさん (スプッッ Sd2a-GD/4)
垢版 |
2019/06/03(月) 14:46:24.90ID:FQNT6/jdd
>>287
iOSアプリのエミュレートをWinでって時点でかなりハードル高い
普通は前提条件としてMacになる
そしてそんな前提条件すら把握できてないならまず無理だから諦めて
せめてMac関連のスレに行って
0291デフォルトの名無しさん (アウウィフ FF1f-5O4J)
垢版 |
2019/06/03(月) 15:00:10.18ID:ZJy6OnVgF
ワン切りとかチケット予約とか電話しまくるアプリの場合
ソフトでなんとかしても規制かかるよな

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

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

アプリを自動化したいと思ってる
0305デフォルトの名無しさん (ササクッテロ Sp33-vz+r)
垢版 |
2019/06/04(火) 18:08:11.74ID:DtXMrPXEp
>>298
タスク視点じゃ無いからコンテキストがわかりにくいんだよ。
同じクラス内に書いてるのに呼び出せなかったり書き込めなかったりさ。
デリゲートなんてもん導入しなくても解決出来るだろうにとかさ?
0308デフォルトの名無しさん (ワッチョイ 6a7d-2ZOZ)
垢版 |
2019/06/04(火) 18:46:41.77ID:RHX3fbho0
>>302
単純なレベル上げを自動化したい、
犯罪じゃないでしょ。
0311デフォルトの名無しさん (アウアウカー Sa7b-ob9i)
垢版 |
2019/06/04(火) 21:39:13.84ID:XspZZE0fa
WPFってデザインがいいっていうイメージなんだけど
formよりもどういったところがデザイン性に優れてるの?
ブートストラップのxaml版みたいなテンプレートってないよね?
0314デフォルトの名無しさん (ワッチョイ 9f5f-lXPh)
垢版 |
2019/06/05(水) 06:00:31.88ID:zagML6/E0
>>311
デザインの自由度は非常に高く、見た目をがらりと変えるのも比較的簡単に出来る。
ただし、出来合いのテーマとかはほとんど無い。標準のは古すぎるし。
標準でスケールするので、最低限の高DPI対応は何もする必要が無い。
0317デフォルトの名無しさん (ワッチョイ 2301-2gPp)
垢版 |
2019/06/05(水) 07:34:20.65ID:YfXCXcb80
static using を質問した者ですが、静的メソッドをクラス省略して呼び出す方法なのですね
自己解決か解りませんが、クラスをいちいち書くのが大変な時に便利な機能だと理解しました
0320デフォルトの名無しさん (アウアウウー Sa1f-yed5)
垢版 |
2019/06/05(水) 09:13:04.00ID:cY5QBS5fa
c++に次ぐかはどうかは知らないけど言語仕様的には肥大し続けてるのは間違いないよ
確実にjavaよりは言語仕様が大きい
最近のメジャーな小さな言語仕様とは真逆の方向性
0321デフォルトの名無しさん (アウアウウー Sa1f-yed5)
垢版 |
2019/06/05(水) 09:16:17.04ID:cY5QBS5fa
c++もどんどん新しい仕様を組み込み続けてる
それで安全に楽に書けるようになって来てる
ただ古い書き方もできるので楽な書き方で入門した人にはそういうソースが非常に読みにくい
0322デフォルトの名無しさん (ワッチョイ 2f61-qmTP)
垢版 |
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#でも同様のことはできますか?
0323デフォルトの名無しさん (アウアウウー Sa1f-yed5)
垢版 |
2019/06/05(水) 09:27:44.31ID:cY5QBS5fa
何のことを言ってるかわからないけど
アクティブな子windowにメッセージは送れるよ
子ウィンドウによって処理を変えるのはそのように書けばいいだけで専用の仕組みはないと思う
0324デフォルトの名無しさん (ワッチョイ 6a4b-yyum)
垢版 |
2019/06/05(水) 09:29:46.05ID:DllhRP4m0
>>322
MFCはVCで使うライブラリ。C#は言語。比べる対象が間違っている。
つか、ぐちゃぐちゃ書かれていて何をしたいのかが良くわからない。
マルチフォームで、親のメニューから選んだ動作を、複数の子フォームがある中、アクティブなフォームに対してイベントを発生させることができるかって事ならWPF/UWPともに可能。
0326デフォルトの名無しさん (ワッチョイ 6a7d-2ZOZ)
垢版 |
2019/06/05(水) 10:32:52.53ID:lB0CTQ9/0
>>319
あんたはつくれんの?
0336デフォルトの名無しさん (ワッチョイ da2d-bUoT)
垢版 |
2019/06/05(水) 13:22:45.31ID:HUq/2QFD0
どうせアフィブログ転載用の質問でしょ
0337デフォルトの名無しさん (ワッチョイ 2f61-qmTP)
垢版 |
2019/06/05(水) 13:24:53.87ID:56z2teCB0
>>323
>アクティブな子windowにメッセージは送れるよ
>>324
>マルチフォームで、親のメニューから選んだ動作を、複数の子フォームがある中、
>アクティブなフォームに対してイベントを発生させることができるかって事なら
>WPF/UWPともに可能。

どうやるんでしょうか?
0338デフォルトの名無しさん (ワッチョイ 2f61-qmTP)
垢版 |
2019/06/05(水) 13:27:21.19ID:56z2teCB0
>>325
>MDI子のメニューは親のメニューにマージできたはずなので、
>そっちを使った方がよいんじゃないかなあ
なるほど。
ならば、編集メニューのコピー・ペーストなどの場合は、子ウィンドウ
それぞれが自前でメニューを持っていて、それを親にマージするんで
しょうか?
0339デフォルトの名無しさん (アウアウエー Sae2-dn6T)
垢版 |
2019/06/05(水) 13:55:27.85ID:on5LrBrya
>>338
そうじゃないですか。

Formも派生させることができるしイベントハンドラもvirtualにできるので、
必ずしも馬鹿正直に全部のMDI子にTextが同じメニューアイテムを持たせる必要はないと思う。たぶん。
0342デフォルトの名無しさん (ワイエディ MM36-pVhm)
垢版 |
2019/06/05(水) 18:27:29.26ID:cGG6I1H4M
メソッド化してコードを見やすくすることについて質問させてください

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

プログラミング初心者なのと、文章が下手で凄くわからづらいかもしれませんが、どうかよろしくお願いします
0345デフォルトの名無しさん (アウアウウー Sa1f-gkx+)
垢版 |
2019/06/05(水) 19:40:07.54ID:0jYbMqQia
>>342
メソッドとして切り出した箇所の後ろの方で使っていたという部分について、同じ名前の変数を宣言し直して新たな値(メソッド化した範囲で使っていた内容とは無関係)を設定し直しているということだとしたら、それで問題ないよ。
もともと独立した内容に同じ変数を使用していたというだけだから。
0346デフォルトの名無しさん (ワイエディ MM36-pVhm)
垢版 |
2019/06/05(水) 20:16:57.88ID:cGG6I1H4M
>>344
引数について再度よく調べてみます

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

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

具体的なコードを見てみないと何を問題視しているのか分からんが...
0348デフォルトの名無しさん (ワッチョイ 8f38-QFq1)
垢版 |
2019/06/05(水) 21:52:08.97ID:U9r1UeN50
エスパーすると
メソッド化してもメソッド側と呼び出し元に同じ変数宣言するけど良いの?
って感じか

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

ローカル関数なんてのも使えるけどね
0355デフォルトの名無しさん (ワッチョイ 472d-DQMn)
垢版 |
2019/06/07(金) 02:17:34.41ID:82+Qy1ow0
DIコンテナに登録したオブジェクトをインスタンス化する際、コンストラクタに引数を渡すことってできないのですか?
ライブラリはMicrosoft.Extensions.DependencyInjectionを使用しています
0357デフォルトの名無しさん (ワッチョイ e37d-to8s)
垢版 |
2019/06/07(金) 14:30:40.52ID:ZpgeSWQ/0
FormLoad時に、DataGridViewに何もDataSoureを割り当てていませんが
からの1行が表示されてしまっています。

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

画像とボタンの列があります。初めて使うのですが、これが原因でしょうか???
0360デフォルトの名無しさん (ワッチョイ 4f01-joCs)
垢版 |
2019/06/08(土) 09:09:33.88ID:ctcrb20I0
var list = new List<int>
list.Max();
のようなnullデータにリンクメソッドをチェーンするとエラーになりますが、nullデータの場合は無視するという記述は出来るでしょうか
0363デフォルトの名無しさん (アウアウエー Sa93-jeKa)
垢版 |
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); }
0384デフォルトの名無しさん (ワッチョイ cf61-o4u/)
垢版 |
2019/06/10(月) 19:55:32.78ID:MrgpB0NP0
抽象化されたソースから追えないゴミカスコードをどうやってコピペしたらいいですか?

インターフェース同じやつ片っ端から貼りまくればいいですか?
36っこありますね
→ウンコですね New!
0386デフォルトの名無しさん (ワッチョイ cf61-o4u/)
垢版 |
2019/06/10(月) 20:07:55.28ID:MrgpB0NP0
>>385
バカじゃん
まるごとコピペして名前だけ変えて放置だっつの
こんなキタネェコード付き合ってらんねーよ
1クラス1ファイルで書いてあるけどこんなゴミにこんなファイル数いらねーよ
Xxx.csに全部ツッコんでやった
まとめてゴミ箱だw
アンチパターン「マトリョーシカ」「たけのこの皮」「玉ねぎの皮」「マズイミルフィーユ」とか名付けたい
くだんねー薄皮クラス全部いんねっつーの
0396デフォルトの名無しさん (アウアウエー Sa93-Yhjd)
垢版 |
2019/06/11(火) 00:27:16.57ID:KO5Z5H7da
WinFormsのコントロール全般だけど、MSとしては>>390程度のことは
自前で継承して作り込んで使ってくれっていうスタンスだからなあ
(MSDNのドキュメントもそれ前提の書かれ方だし)
作りこむのが面倒であればGrapeCityとかが売ってる高機能なコンポーネントを使えばいいわけだし
0400デフォルトの名無しさん (アウアウエー Sa93-dZrz)
垢版 |
2019/06/11(火) 01:38:08.73ID:ogrGMDt8a
今日のNGはこれか
VMcLTapW0
真っ赤にして待ってろ
0401デフォルトの名無しさん (ワッチョイ cf61-o4u/)
垢版 |
2019/06/11(火) 01:45:34.19ID:VMcLTapW0
なんか普通のことが普通にできなくなって開発者からそっぽ向かれてない?

wpfなんかこんなののオンパレードだし俺ら工場のおっさん向けアプリ作ってるだけなんに
必要のない変な機能多すぎ
その割にこんな簡単な機能は未実装って
未完成ってレベルじゃないよね
0406デフォルトの名無しさん (ワッチョイ cf61-o4u/)
垢版 |
2019/06/11(火) 02:28:30.43ID:VMcLTapW0
多分、日本はwindowsで作った資産があるけど
そうでない国はお金がないからわざわざWindowsを使わない
そんな状態が続いたもんだからlinuxの資産が貯まってしまって
お金を持っても今度はWindowsには移行できない
そんな事情のある最近のlinuxに寄り添ってる理由だろ
昔はその作りやすさから王者だったけど
最近そーでもねーのが致命的になってんじゃねーのか?と
0417デフォルトの名無しさん (ワッチョイ f101-xQwa)
垢版 |
2019/06/11(火) 15:57:17.26ID:dpi3ASg30
Windows Formなんてとっくに見捨てられてるからね。メンテナンスフェーズかも知れん。WPFですら10年前だし。ということでUPF使え。
…ってMSは思ってるかもだが、Formなにかと楽なんだよなあ
0422デフォルトの名無しさん (アウアウエー Sa93-2DaB)
垢版 |
2019/06/11(火) 21:10:59.72ID:HH9jnqHSa
どのみちMS自身が今後WinFormsに機能追加をすることはありえないんだから、縛りのきつい公式リポジトリに拘る意味がないでしょ
WinFormsをクロスプラットフォーム化するコミュニティプロジェクトは必ず立ち上がるから、それに参加したらいい
0424デフォルトの名無しさん (アウアウエー Sa93-2DaB)
垢版 |
2019/06/11(火) 21:40:49.66ID:HH9jnqHSa
>>423
残念ながらベタ移植だよ
ほとんどのソースはオリジナルからコピーしてきてヘッダコメントを変えただけ
WinFormsをCoreでビルドできるように手直ししただけの代物だ
WPFなんかC++/CLIにべったり依存してるからもっと酷くて、
WPFをビルドするためだけにVCのコンパイラに限定的なCoreサポートを追加して無理矢理ビルドしてる
そんな不毛なことするくらいならネイティブ部分を書き直せと批判されてしばしばissueが炎上してるが、MSはガン無視
0425デフォルトの名無しさん (ワッチョイ e37d-to8s)
垢版 |
2019/06/12(水) 09:44:54.85ID:jI3pneRO0
DataGridView_hoge.AllowUserToResizeColumns = false;

列幅変更出来ない様にしたつもりですが、普通にドラッグしてサイズ変更出来てしまいます。
何が原因でしょうか???
0426デフォルトの名無しさん (ワッチョイ d37c-m4My)
垢版 |
2019/06/12(水) 10:24:07.46ID:0xThtXZC0
行ヘッダ列はAllowUserToResizeColumnsじゃなくてRowHeadersWidthSizeModeで設定しないといけないけど
それ以外の列ってことなら何か変なことやってるんじゃないのとしか言えないなぁ
0434デフォルトの名無しさん (アウアウエー Sa52-euJK)
垢版 |
2019/06/13(木) 17:22:47.41ID:7q1+HOWFa
たぶん現状のまま放置されるって意味では将来性ないけど
Silverlightみたいに事実上使えなくなることは恐らくないから
勉強して無駄になることもないと思うよ

そいうや、何年か前にWin32を廃止する計画を読んだ記憶があるけど
例によって軌道に乗ってるように思えんねw
0443デフォルトの名無しさん (ワッチョイ f368-hVo2)
垢版 |
2019/06/15(土) 00:33:09.29ID:8CcGi59t0
while(i<=1000000)
{
i++;
}

こういうお手製のループって結局invokeと同じ機能なんですかね?
待つという意味では
0444デフォルトの名無しさん (ワッチョイ be05-/zb+)
垢版 |
2019/06/15(土) 02:59:58.42ID:h/MXyyEj0
質問です。
JSONシリアライズなんですけど
{ "foo": "bar" }
としたいのに、DataContractJsonSerializerに
Dictionaryをシリアライズさせると
{ "key": "foo", "value":"bar" }
となってしまいます。
何かいい方法ないですか?
どういうキーワードでググればいいかも分からなくて。
0446デフォルトの名無しさん (ワッチョイ 0eda-2qry)
垢版 |
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)
0453デフォルトの名無しさん (ワッチョイ be05-bHsE)
垢版 |
2019/06/15(土) 15:42:35.91ID:h/MXyyEj0
>>445
ありがとうございます!
0458デフォルトの名無しさん (アウアウウー Sac7-vI2o)
垢版 |
2019/06/15(土) 20:49:10.87ID:Tm2el/yWa
HttpWebRequestやWebClientは確実にゴミ

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

HttpClientはまともにusingできない使いまわし前提で管理が面倒でバグりやすい
0462デフォルトの名無しさん (ワッチョイ 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
0465デフォルトの名無しさん (ワッチョイ 8a2d-9Zao)
垢版 |
2019/06/16(日) 00:04:36.79ID:IRiSsL3Z0
ダメか、ありがとう
0466デフォルトの名無しさん (アウアウウー Sac7-FH5+)
垢版 |
2019/06/16(日) 00:06:06.77ID:j15M4OK0a
デリゲートのシリアライズはFullFWなら可能
.NET Remotingで通信先からRPCするために使う機能だ
.NET Coreでは.NET Remotingが廃止されたから、.NET Coreで使えないのは当然
そもそもBinaryFormatterはそれ自体が廃止された.NET Remotingの一部であり、互換性のためだけに残されてる遺物
今更新規に使っちゃダメ
0468デフォルトの名無しさん (ワッチョイ 8a2d-9Zao)
垢版 |
2019/06/16(日) 00:22:01.61ID:IRiSsL3Z0
>>466
正直、これが出来るとリモートプロシージャコールの受け側がif/switch羅列になるのを避けられると思っていました
しかし、これはもろに時代に逆行していたんですね・・・・
廃れたと言うことは今流のやり方もあるんですか?
0470デフォルトの名無しさん (ワッチョイ 8a2d-9Zao)
垢版 |
2019/06/16(日) 01:01:25.28ID:IRiSsL3Z0
gRPCを使用する場合でも、サーバからグローバルIPを持たないクライアントのメソッドを呼びたい場合にデリゲートシリアライズ化は有用なように思えてしまいます
接続を切らずにStreamで独自形式の命令を送り続けることになり、クライアント側では送られてきた命令を解析するためのswitch/if文だらけのコードになってしまうからです
でもif文羅列で正しいのかな・・・・どうなんだろう・・・・
0471デフォルトの名無しさん (ワッチョイ 5b1a-vI2o)
垢版 |
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);
と書くより見やすいためでしょうか?
0472デフォルトの名無しさん (ワッチョイ 1aad-7FmS)
垢版 |
2019/06/16(日) 01:25:53.37ID:G7NVDdhd0
>>471
ひとつめ:varが使える場所ならvarを使った方がいい
ふたつめ:前者だと、文字列をconstやリソースファイルで保持してパラメーターだけ入れ替えられる(=使いまわしできる)。
ただ、最近はよほどパフォーマンスにシビアだったりリソースを再利用したい箇所でなければstring interpolationを使うことの方が多い(圧倒的に見やすいしバグも発生しにくいから)。
0477デフォルトの名無しさん (ワッチョイ 5b1a-vI2o)
垢版 |
2019/06/16(日) 02:12:46.91ID:WGBivVxV0
string interpolationは参考にしておいたサイトでは見たことがなく初めて知りました
確かに圧倒的に見やすいですね
varを使うことで必然的に型を指定して初期化することになるので、その辺りの宣言はしっかりしようと思います
ありがとうございました
0484デフォルトの名無しさん (ワッチョイ 3e7c-jEB4)
垢版 |
2019/06/16(日) 12:12:22.08ID:NdAq/MEw0
>>480
+1
0485デフォルトの名無しさん (ワッチョイ b61c-3SBU)
垢版 |
2019/06/16(日) 12:20:15.94ID:xspDtD2o0
>>483
そう?APIアクセスにはこのHttpClient、リソースにはこのHttpClientって別けてると結構便利だけど。
デフォルトヘッダーつけたり、デフォルトのタイムアウトとかをそれ用に設定したりして。

URIなんかで適当に使い回されるのはちょっと使いづらくなるな。
0488デフォルトの名無しさん (ワッチョイ b61c-3SBU)
垢版 |
2019/06/16(日) 16:29:01.69ID:xspDtD2o0
>>486
それも変な話だけどなー。
staticなインスタンスなわけではなくて、環境に対してインスタンスがあるんじゃないのかな。
使い回すって、もしかして何もかものHttpClientを1つのインスタンスや、いくつか作って適当に余ってるインスタンスで賄ってるの?
少なくとも1ホスト1HttpClientで扱わないとよろしくなかったはず。

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

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

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

>>481
WebSocketについては全くわからないのですみませんが、Signalrは良さそうですね
0491デフォルトの名無しさん (オッペケ Srbb-vI2o)
垢版 |
2019/06/16(日) 18:56:40.91ID:ikomc5kEr
>>488
絶対に一つのホストに対して非同期で複数接続しない?
変だろそれは?
普通に非同期処理やマルチスレッドなどを多用したところで複数接続することがあるだろ
ちゃんと管理しないとおかしなことになる
0494デフォルトの名無しさん (ワッチョイ b61c-3SBU)
垢版 |
2019/06/16(日) 19:20:45.53ID:xspDtD2o0
んー、なんか俺の返事がズレてる気がする。
1つのホストの1つ用途に対して使い回すのは良いんだけど、
別のホストや別の用途に対して使い回すのは良くないんじゃないかな、って話で、

1つのホストの1つの用途に対して複数のHttpClientを使うのも、悪かないんじゃないの?限度があるけど。
そもそもHttpClientを毎回作ってはいけない理由が、インスタンスを立てるとソケットをopenしに行って、CloseしてもTIME_WAIT以降を待ってソケットがcloseするから、パフォーマンス的にもまずいしソケットが枯渇するって問題なんだし、
捨てないとDNSの変更が反映されない問題も避けれないんだから、LBとか考えると同一ホスト対象でもずっと使い回すより、処理粒度に合わせてインスタンス持つようにした方がいいんでないの、って要旨だった。
0495デフォルトの名無しさん (ワッチョイ b61c-3SBU)
垢版 |
2019/06/16(日) 19:22:37.45ID:xspDtD2o0
>>493
結構まともな設計だと思うけどなぁ。
MSDN読んでない奴が安易にusingしたり、安易にずっと使い回すからいかんのでは?
そんなどうhttp接続を使うかみたいなビジネスロジック層の問題をフレームワークに求めるのは酷じゃ無いかな。
あくまでWindowsのソケットの実装としてはね。
0502デフォルトの名無しさん (ワッチョイ b61c-3SBU)
垢版 |
2019/06/16(日) 20:02:01.46ID:xspDtD2o0
>>497
簡単な事だと思うんだけど、考えてコーディングすれば良いだけでは?
考えずにコーディングする方がどうかしてるんじゃないの?
くもんのドリルとか、早指しの将棋じゃねえんだから。
0507デフォルトの名無しさん (ワッチョイ 0eda-2qry)
垢版 |
2019/06/16(日) 21:27:28.53ID:2mY5Onwd0
HttpClientに関連して、NetworkCredentialのダイジェスト認証バグもどうにかしろよって感じです。
GETにクエリパラメータ付いてると認証失敗したり、ところどころRFCに従ってなかったりとか。

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

今どきダイジェスト認証って感じで放置されてるのかもですが、
Webサーバ積んでるIoT機器なんかでは結構使われてるので、ちょっとしたツール作るのもダルくなります
0509デフォルトの名無しさん (アウアウウー Sac7-euJK)
垢版 |
2019/06/16(日) 21:41:01.31ID:+fU13JTma
web系は仕事で触ったことないからまったく分かんないやw
どっかにいいチュートリアルとかある?
でも話聞いてるとweb系って今でもバッドノウハウの塊みたいでストレス度高そうだなw
0511デフォルトの名無しさん (アウアウカー Sac3-d9tj)
垢版 |
2019/06/16(日) 22:20:27.61ID:gEahNK3la
結局MSはWPFをどうしていくんだろうか
0512デフォルトの名無しさん (ワイエディ MM86-2qry)
垢版 |
2019/06/16(日) 22:25:47.52ID:wD0NHooaM
C#プログラミング初心者です
Form実行時の各イベントの発生順序について質問させてください

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

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

コンストラクタとイニシャライズの意味がよくわかっていないかもしれません
よろしくお願いします
0514デフォルトの名無しさん (ワッチョイ 4e7b-p7Vn)
垢版 |
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
0525デフォルトの名無しさん (ワッチョイ 1aca-271n)
垢版 |
2019/06/17(月) 23:14:24.82ID:js38FdP50
class test
{
byte i = new byte();

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

こんな感じのnewの使い方をみたのですが、こういうのc#だけですよね?
どこかに解説はありませんか?
0527デフォルトの名無しさん (ドコグロ MMf7-FH5+)
垢版 |
2019/06/17(月) 23:54:16.01ID:dLLbEhJJM
構造体の引数無しのnewはdefaultと同じ
newだとユーザー定義の初期化処理が走っているように見えてしまうから、最近だとdefaultのほうが好まれる傾向がある
フィールドの場合は明示的に初期化しなくても勝手に既定値で初期化されるから不要なんだけど
0528デフォルトの名無しさん (ワッチョイ 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するべきレコードの判定はどうやって行ったらよいでしょうか?
0531デフォルトの名無しさん (ワッチョイ 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
名古屋の人な 俺ね、君の問題を大橋先生と混ぜないことにする。つまりね、
片桐孝洋のことをボコろうと思う。普通に顎の骨を折る。これくらいで警察来るか?
一般市民とかさ、普通にさ、俺らの秘密なんだけどさ、日本人なんて復活ねーから。
0535デフォルトの名無しさん (ワッチョイ 9a7d-2qry)
垢版 |
2019/06/18(火) 14:34:26.70ID:H7tttB9U0
C# でセレニウム(Chrome)を操作しています。
この時に

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


というメッセージが出て邪魔です。
これを出ない様に出来ないでしょうか?
0541デフォルトの名無しさん (ワイエディ MM92-2qry)
垢版 |
2019/06/18(火) 19:51:09.93ID:9LNNY8IFM
C#でDB操作時かつトランザクション使用時のコミットやロールバックを書く場所と、例外発生時の処理の止め方について質問させてください

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

わかりにくい文章で申し訳ありませんがヒントだけでもいただけたら嬉しいです
どうかよろしくお願いします
0543デフォルトの名無しさん (ワッチョイ 9a2c-oZrO)
垢版 |
2019/06/18(火) 23:02:13.66ID:PmBejiWq0
Ruby で、Selenium WebDriver を使えば?

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

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

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

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

サイトのバグで動かなくなることも多いから、
example.com とか、色々なサイトで、使ってみる事!
0548デフォルトの名無しさん (ワッチョイ 937d-Im5L)
垢版 |
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から参照したいのですが、何か良い方法はないでしょうか?
0552デフォルトの名無しさん (ワッチョイ 4b7c-hqo7)
垢版 |
2019/06/21(金) 11:23:43.41ID:kqcCd+WN0
DataTableの画像列をtypeof(Image)とかtypeof(Bitmap)でやってるなら、
代わりにtypeof(byte[])にして、
行を追加するときにBitmapオブジェクトを追加するんじゃなくて
File.ReadAllBytesしたバイト配列を追加するようにする
0553デフォルトの名無しさん (ワッチョイ 937d-Im5L)
垢版 |
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");
}
0554デフォルトの名無しさん (ササクッテロ Sp8d-nmwH)
垢版 |
2019/06/21(金) 12:56:06.44ID:LVq54M8sp
C#あるあるだな。
いつファイルを解放して良いのか分からないからいつまでもファイルを開いたままなんじゃね?
関数が中でなんとかすれば良いのに融通がきかなよなw
0555デフォルトの名無しさん (ワッチョイ 937d-Im5L)
垢版 |
2019/06/21(金) 13:31:59.07ID:+Ex9QBom0
>>554
はい。
しゃーないので、アプリ起動時にすべてのローカルファイルを削除する処理を入れることにしました。

再取得時には、 ファイル名をプラス1インクリメントしてローカルに保存しまくります。
0558デフォルトの名無しさん (ワッチョイ a17b-oYnd)
垢版 |
2019/06/21(金) 21:14:35.05ID:41J0QDC70
>>553
DataSourceにするのなら>>552が適切な回答だけど補足しておくとImageクラス(下位クラスのBitmapも)の面倒な仕様のせい
表示中の画像ファイルが削除できない問題の解決法
https://dobon.net/vb/dotnet/graphics/drawpicture2.html
他の解決法としてはインスタンスの内容をコピーして元の(ファイルをつかんでいる方の)インスタンスをDisposeしたりImageConverter経由で画像を取得したりする
0565デフォルトの名無しさん (ワッチョイ a17b-oYnd)
垢版 |
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"));
0585デフォルトの名無しさん (アウアウカー Sa5d-okmR)
垢版 |
2019/06/25(火) 12:26:46.14ID:fHxE1RgIa
WPFちょっとやってみたけどクソめんどくさく感じるんだけど慣れるとformアプリではもうやらないってなるもん?
0587デフォルトの名無しさん (ドコグロ MMa3-yJKF)
垢版 |
2019/06/25(火) 13:05:18.68ID:kPWnGZLKM
>>585
やればやるほど新たに面倒臭い概念が出てきて余計に面倒臭くなるよ
コントロールテンプレート、依存関係プロパティ、ルーティングコマンド、ルーティングイベント、デコレータ、エフェクト、VSM、色空間、Drawing系API、等々、WPFの魔境は果てしなく続く
現代における典型的なセカンドシステム症候群の事例としては貴重だから、どんな概念があるかを一通り眺めてみる分には損はない
一つ一つのアイデア自体は非常にスマートなもので、なるほどと感心するようなものが多く、フロントエンド設計の勉強にもなるしね
0589デフォルトの名無しさん (ワッチョイ db02-fpSC)
垢版 |
2019/06/25(火) 19:02:33.37ID:vtQg0q3N0
.NET Standardの中で.NET Coreから呼び出されたかどうか判断できます?
Environment.GetCommandLineArgs().First()の拡張子で判断くらいしか思いつかず
明確な方法があれば助かります
0595デフォルトの名無しさん (アウアウカー Sa5d-okmR)
垢版 |
2019/06/26(水) 08:07:26.56ID:u3TFQ+4na
>>587
>>594
ありがとう
開発手法としては理にかなってて割と好きではあるんだけども勉強してみて学習コストが高いと言われるているのはよくわかった。。
もう少し書籍なり充実してて将来性も有望なら頑張れそうだけど早くも心折れかけてる
0597デフォルトの名無しさん (ドコグロ MMdd-yJKF)
垢版 |
2019/06/26(水) 09:16:39.11ID:xtHmKE3cM
WPFとMVVMを採用したからといってビューをテストしなくてよくなるわけじゃない
それWinFormsじゃ難しいッスwwサーセンww
が通用しなくなってビューの仕様が膨張しがちな分だけ、まず例外なくテスト工数は増えるよ
Passive Viewのような設計パターンを学べばWinFormsでもビューロジックの単体テストは可能
0606デフォルトの名無しさん (ワッチョイ f101-4gXx)
垢版 |
2019/06/26(水) 19:25:49.92ID:sx0u8G1v0
asp.netのSQLServerアクセス部分でユーザーのアクセスが重なるとどうもDBアクセスに失敗するみたいなのですが、DBアクセス処理をstaticメソッドで書くのは悪手だったりするでしょうか?
0607デフォルトの名無しさん (エムゾネ FFb3-br4T)
垢版 |
2019/06/26(水) 19:31:19.63ID:fmXddalaF
lock と retry 汁
0609デフォルトの名無しさん (ワッチョイ f101-4gXx)
垢版 |
2019/06/26(水) 19:46:46.69ID:sx0u8G1v0
>>608
会社かつ前任者のコードなので晒すのは難しいのですが、ASP.NETのようなwebアプリでstaticメソッドとか大丈夫かなと思いつつもダメな理由は説明できず
メモリ領域共有するんじゃなかったかな程度の認識です
0610デフォルトの名無しさん (ワッチョイ f101-4gXx)
垢版 |
2019/06/26(水) 19:52:43.34ID:sx0u8G1v0
ASPの者ですが、問題のメソッドが抱えるSQLはSELECTしかないのでデッドロックは無いと思います
呼び出し先のターゲットでエラーをキャッチしました
程度のログしか残って無いので、現象再現が難しく困っております
0611デフォルトの名無しさん (ワッチョイ 9961-MRln)
垢版 |
2019/06/26(水) 19:52:48.15ID:bHDlLtN30
アメリカ製品を著作権で保護する義務は無い。プロテクトをはずしたコピー
の流布を何人たりとも妨げてはならない。

福島原発爆発させたアメリカ人は、日本人に慰謝料を払え。
日本人は大切な農地を失った。一兆円の一億倍の金額を日本人に払う義務がある。
0618デフォルトの名無しさん (ワッチョイ ca2c-fjwL)
垢版 |
2019/06/27(木) 07:00:32.10ID:nNrp6UFx0
エラーメッセージを取得して、それで検索すれば?
DB の実行計画を見るとか

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

特定の時間帯に、時間の掛かるバッチ処理で、
長時間に渡って、表を更新しているかも知れないし
0620デフォルトの名無しさん (ドコグロ MMc5-2vRW)
垢版 |
2019/06/27(木) 08:45:24.16ID:v58kjs08M
レコードロックとテーブルロックを機能ごと指定させられたことあるけど
落ちないだけで本当に適切な仕様は自分で考えてねって設計書に書いてあった
フィールドに全体の件数と合計から算出する要素があって明らかに徒労なのに頑張った
0622デフォルトの名無しさん (エムゾネ FFea-RNYM)
垢版 |
2019/06/27(木) 11:02:50.04ID:te5kXF0fF
>問題のメソッドが抱えるSQLはSELECTしかないのでデッドロックは無いと思います

史上稀に観るアホ
触っちゃいけないレヴェル
0623デフォルトの名無しさん (ワッチョイ ca7d-bYGp)
垢版 |
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);
}

スマートな定義を教えてください。
0626デフォルトの名無しさん (ワッチョイ ca2c-fjwL)
垢版 |
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 部分
0628デフォルトの名無しさん (エムゾネ FFea-a57L)
垢版 |
2019/06/27(木) 14:45:42.13ID:A3w8sjPHF
仕様を小出しにするなカス
死ね
0631626 (ワッチョイ ca2c-fjwL)
垢版 |
2019/06/27(木) 15:07:03.52ID:nNrp6UFx0
Ruby, JavaScript あたりの正規表現のページを読めば、十分じゃないの?

先読み・後読みは、難しいから無視する。
その代わりに、[^a]+ みたいな、a以外の文字が、1つ以上続くなどの表現を使って避ける
0632デフォルトの名無しさん (ワッチョイ 69e6-3te8)
垢版 |
2019/06/27(木) 22:42:48.18ID:EN7VAxwO0
DataGridViewなんですが、Win10で描画がものすごく遅いのは何とかなりませんか?
もちろんオンボのおんぼろノートなのが悪いのですが
Win10上のゲストXPのほうが断然早いのは納得できません
0639デフォルトの名無しさん (ワッチョイ ca7d-bYGp)
垢版 |
2019/06/28(金) 11:52:47.07ID:DioESCVe0
セレニウムでヘッドレスモードで
Ajaxを使っているページを取得しようとすると
xpathが見つからないです。

また、ヘッドレスモードだとデータ取得がブラウザを表示する場合と比べて遅くないですか?
0651デフォルトの名無しさん (ワッチョイ 158f-a57L)
垢版 |
2019/06/29(土) 02:43:08.25ID:CfES0TXk0
>>649ですが自己解決しました。(質問した時点では自分の悩みも理解できていませんでしたが…)

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

ところで結局自分が渡したかったのはutf-8だったので困ってしまったのですが
stringstringではなくbytes[]を引数にすれば好きなエンコードで渡せるので解決しました。
0652デフォルトの名無しさん (ワッチョイ 158f-a57L)
垢版 |
2019/06/29(土) 02:44:55.06ID:CfES0TXk0
>>650
入れ違いになってしまいましたがありがとうございます。
質問する前の粘りが少し足りてませんでした、すみません。
0655デフォルトの名無しさん (ワッチョイ d67c-a57L)
垢版 |
2019/06/29(土) 13:22:08.44ID:TBOm/90P0
unsafe
0656デフォルトの名無しさん (ワッチョイ 6d68-rkTX)
垢版 |
2019/06/29(土) 16:56:21.59ID:eBTnp91s0
c#で枠のないフォームっていうのが簡単に作れるけど
これって歴史的に言えば、10年前からできたんですかね?
技術的にとてつもないことだと思うんですが、こういう事まで機能として
提供して大丈夫なんですかね
0660デフォルトの名無しさん (ワッチョイ 8663-Ij2G)
垢版 |
2019/06/29(土) 17:48:17.59ID:18j8PEbp0
>>656
技術的にはタイトルバーと枠を省くだけだから
とてくもないことということはないと思うけどな

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

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

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

ウェブブラウザコントロールのScriptErrorsSuppressedはOFFにしてますね。
確かにこれOFFにしてないと大量のエラーがでますよね。
0671デフォルトの名無しさん (ワッチョイ ca7d-bYGp)
垢版 |
2019/06/29(土) 21:41:55.57ID:FVFUaXhq0
ポインタなんて使わなくても必要な機能は
幾らでも実装出来る。

無駄な機能だよな。ポインタって。初めてポインタと出会った時はすんげー混乱させられて
プログラム嫌になりそうだったw
0682デフォルトの名無しさん (アウアウエー Sab2-5hf/)
垢版 |
2019/06/30(日) 03:06:57.70ID:0m2pCA80a
自分で作ったアプリのデバッグファイルを実行しようとすると
WindowsDefenderから「Program:Win32/Bearfoos.A!mlが検出されました」と表示されて削除されてしまうのですが
全然心当たりがないのだけど誤検出でしょうか?
0685デフォルトの名無しさん (ワッチョイ 6d68-rkTX)
垢版 |
2019/06/30(日) 09:47:08.97ID:FNFqG6N10
>>674
そうなんですね
高級な機能を公開することってメリットあるんですかね?
誰でも難しいことができたらプログラミングのありがたみがなくなるというか
でもなんでこんな機能が豊富すぎるC#ってプログラミング教育に普及しないんでしょうかね
まだ凄さがばれてないだけでしょうかね?
0686デフォルトの名無しさん (ワッチョイ 6d68-rkTX)
垢版 |
2019/06/30(日) 09:55:02.73ID:FNFqG6N10
なんか怖くなってきた
小学生が全員C#に興味持ち始めたら仕事奪われないか…
20年間もこんな便利な言語が学生にばれない理由はなんだ…
0687デフォルトの名無しさん (ワッチョイ 867b-zD22)
垢版 |
2019/06/30(日) 09:55:32.27ID:RF81+/n00
>>684
それはC#の機能としては無いので自分で作らなければならない
タイトルバー部分を自分で描画する(これもC#の機能としては無い)か本来のタイトルバーを非表示にして自分で代替になるものを用意するか
>>685
C#のプログラムの質問じゃなければ相談室あたりでやって
0691デフォルトの名無しさん (ワッチョイ a991-afcP)
垢版 |
2019/06/30(日) 09:59:46.59ID:VDp+hLNV0
>>685
いや、高級でも何でも無いし難しくもない。
それにC#の話じゃなくてライブラリの問題でしょ。
枠のないフォームを作れるようにライブラリに機能を含めるかどうかの問題。
0692デフォルトの名無しさん (ワッチョイ 6d68-rkTX)
垢版 |
2019/06/30(日) 10:05:08.56ID:FNFqG6N10
>>690
でもC#からjavaやphpへの変換ってとても簡単なわけじゃないですか
小学生の大半がプログラミングできるようになったらどうなるんだろうか…
プログラマが工場並の自給になるとか??
0700デフォルトの名無しさん (ワッチョイ 2a52-ebfw)
垢版 |
2019/06/30(日) 11:00:24.44ID:qr5fQsK40
>>692
小学生が授業で習ってできるようになる程度のことしかできないなら仕事奪われても仕方ないな。
ウィンドウの枠が消せるだけで高機能だなんて、いったいこれまでどんなプログラムを書いてたんだ? コピペ定型文の切り貼りしかできないなら、それこそやる気のある小学生の方が将来性があるだけ価値が高いよ。
0704デフォルトの名無しさん (ワッチョイ 158f-73lR)
垢版 |
2019/06/30(日) 11:59:22.77ID:EwrgGmh50
もともとプログラミング自体は別に難しいことじゃない。天才に作らせたって凡才に作らせたって同じようなものができる。ちゃんとした設計が用意されてれば頭を使う必要も少ない。
IT業界でもうかるのはプログラマーじゃなくて例えばシステムコンサルとかでしょ。
0707デフォルトの名無しさん (エムゾネ 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*
0712デフォルトの名無しさん (ワッチョイ a97c-a57L)
垢版 |
2019/06/30(日) 14:04:32.41ID:3lNMnNY50
貼り間違えたω
http://www.pro.or.jp/~fuji/mybooks/okite/okite.9.1.html
0713デフォルトの名無しさん (アウアウウー Sa11-9zjL)
垢版 |
2019/06/30(日) 14:04:43.61ID:e6YddI/ba
>>685
大勢が保守的だからだろうね。
少し勉強すれば便利な道具が手に入るのに面倒がるし目先の時間を惜しむ。
些細な欠点を挙げつらって全体の利便性を大きく損なっているのに気がつかない。

今の社会の問題点でもあるのかな。
0717デフォルトの名無しさん (ワッチョイ d67c-RNYM)
垢版 |
2019/06/30(日) 16:42:31.43ID:QU2Ls1X60
30年前ならそんなもんかもな
0718デフォルトの名無しさん (ワッチョイ d67c-RNYM)
垢版 |
2019/06/30(日) 16:44:40.48ID:QU2Ls1X60
NTTの電話加入者設備設置負担金の踏み倒しは犯罪レベル
単純に一世帯4人でも2500万件x7万円で
会社の回線とか入れたら1億件で済まんと思うが
仮に1億として少なく見積もっても1億件x7万円だ
7兆円どころかおそらく数十兆円をNTTはネコババしやがった
0719デフォルトの名無しさん (ワッチョイ a991-afcP)
垢版 |
2019/06/30(日) 16:49:39.92ID:VDp+hLNV0
そもそも、部品の切り貼りで誰でも作れるようにするって所に無理がある。
その上、誰でも作れるようにして安くするための部品を今収入を得ているプログラマーに作らせるなんて、自分の首を絞めるようなことを皆がやると思ってるあたり本当に笑える。
0722デフォルトの名無しさん (ワッチョイ d62d-TCuK)
垢版 |
2019/07/01(月) 05:55:39.89ID:ruCUwUIS0
C#のインターフェイスにデフォルトのメソッドを実装できるようにしてほしいんだけど・・・・
なんでそういう機能をつけてくれないの?
0724デフォルトの名無しさん (アウアウウー Sa11-jK3L)
垢版 |
2019/07/01(月) 08:21:58.47ID:Dtbq/zM3a
ところが default interfafe implementations は .NET Core のみの機能で、.NET Framework では利用できないんだ。
そして、.NET Framework は 4.x が最後のバージョンとなり、今後フィーチャーアップデートは提供されないことが決定している。
つまり君達ドカタグラマには永遠に利用できない機能なんだ。残念ながら。
0726デフォルトの名無しさん (スプッッ Sdca-XVsj)
垢版 |
2019/07/01(月) 14:51:03.28ID:DDYeQXuRd
xUnitでテストしようとすると、NuGetアダプターを参照しろとかな何とかってメッセージが出てテスト出来ないんですけど何が原因ですか?
MSTestは普通にできました
0732デフォルトの名無しさん (ワッチョイ d95f-Ij2G)
垢版 |
2019/07/01(月) 23:30:00.86ID:n69WBZRQ0
言われてみれば、大抵のものはコンパイラーやライブラリで実現出来るな
ただ、個人的に楽しみにしてたfast Spanとインターフェースのデフォルト実装は来ないこと確定…
0733デフォルトの名無しさん (ワッチョイ ca7d-bYGp)
垢版 |
2019/07/02(火) 12:06:26.19ID:L8oVJAH90
C#+Slenium(Chrome)の操作に詳しい方に質問があります。

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

Chromeの Process を落とすと、全てのブラウザが落ちてしまうので困っています。
何か方法はありませんか?
0735デフォルトの名無しさん (ワッチョイ ca2c-fjwL)
垢版 |
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
0740デフォルトの名無しさん (ワッチョイ 95e5-BveT)
垢版 |
2019/07/03(水) 20:51:00.97ID:6un8tUOF0
外注したプログラムがTSQLにトランザクション実行してSELECTのクエリ投げた後にコミットもロールバックもしてないんですけど動いてます
C#というか.NETって意外と大丈夫なものなのでしょうか?
0745デフォルトの名無しさん (ワッチョイ 95e5-BveT)
垢版 |
2019/07/03(水) 22:05:25.53ID:6un8tUOF0
トランザクションでコミットも何もせずメソッド抜けたらトランザクションはロールバックされて後腐れも無いという認識で良いのでしょうか?
SELECTなんでコミットも何も無いですがトランザクション握ったままになったら嫌だなと
TSQLはSELECTでもロックかける仕様みたいなので
まあ世間様では動けば正義って事なのかなとも
0746デフォルトの名無しさん (ワッチョイ 95e5-BveT)
垢版 |
2019/07/03(水) 22:10:51.80ID:6un8tUOF0
>>742
usingで宣言してないです
感覚的には大丈夫かなこれと思うのですが相手は職業プログラマなのでコミットやロールバック書かなくてもデフォルト動作を熟知しているのかとも思い
0747デフォルトの名無しさん (ワッチョイ fe90-uAY+)
垢版 |
2019/07/03(水) 22:47:52.37ID:IwG6dpwN0
そのコネクションがどうつかわれてんるんだよ。毎回、DBに接続、切断してるならそうだけど、コネクションプールでプールされてると、SELECTでもコミットまたはロールバックしたほうが
0749デフォルトの名無しさん (ワッチョイ 95e5-BveT)
垢版 |
2019/07/03(水) 23:53:24.09ID:6un8tUOF0
>>747
そこなんですよね
一応TSQLからSELECTのデータは取ってくるんでトランザクション開始は影響無いのかなと思いつつトランザクション開始して放置はベテランでもしないんじゃないかと
.netの挙動を知ってても普通はDisposeしてトランザクションスコープ閉じますよね?
0751デフォルトの名無しさん (ワッチョイ 5dda-yqtz)
垢版 |
2019/07/03(水) 23:58:25.40ID:B4HM9g9a0
Dapperを使って、DBから取得したデータをDataGridViewにバインドする時、
カラムを表示するかどうか、エンティティクラスのプロパティに[Browsable]属性で設定しているのですが、
あるDataGridViewには表示しつつ、他のDataGridViewには表示しないようにするにはどうしたらいいでしょうか?
0754デフォルトの名無しさん (ワンミングク MM9f-cmV7)
垢版 |
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' が見つかりませんでした。」を始めとした大量の警告が出ます。
何が原因なのでしょうか?
0755デフォルトの名無しさん (ワッチョイ ff4b-zYa2)
垢版 |
2019/07/04(木) 10:03:57.54ID:OSueiLpI0
>>754
エラーメッセージ通りだと EntityFramework が見つからないんだろ。
パッケージマネージャコンソールで Find-Package EntityFramework を実行して、EntityFramework があるか確認してみれば?
0758デフォルトの名無しさん (ワンミングク MM9f-cmV7)
垢版 |
2019/07/04(木) 11:22:00.63ID:CbIr34BpM
レスありがとうございます。>>754 です。確認したところEntityFrameworkはありませんでした。
VS2013でWebフォームなのは参考書をなぞっているのではなく業務のためです。この環境が最新の環境なもので。
後だしになりますが、以前この環境でWebフォームのプロジェクトを作っています。その時は特に問題なかったです。
以前のプロジェクトと比較するとpackagesフォルダが明らかに不足していたのでまるっとコピーしたら警告はなくなりました。
なぜデフォルトで作って不足するようになったのか心当たりがありません。VS2013自体はずっと使い続けていますが環境に関わるような事と言えばoracle.manageddataaccessのNugetを追加した程度なのですが。
なぜpackageが不足するような状態になったのかヒントを頂けないでしょうか。
0760デフォルトの名無しさん (スップ Sd1f-Tdf6)
垢版 |
2019/07/04(木) 12:39:48.68ID:FtqoorSCd
すみません、質問させてください。

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

一応動かせているので問題ないと言えばないのですが、DllImportの参照先をapp.configで増やす方法ってないでしょうか?
0763デフォルトの名無しさん (ワッチョイ 8f7c-80lA)
垢版 |
2019/07/04(木) 12:55:51.54ID:k+s0abOB0
>>760
直接は無い マネージDLLとネイティブDLLは扱いが全く別
Windows APIのAddDllDirectoryでネイティブDLLの検索パスは追加できるから
Settingsとかに検索パス記述させて
プログラム起動時に自前でAddDllDirectory/SetDefaultDllDirectoriesするとか
0765デフォルトの名無しさん (ワッチョイ 8f2d-dJ7S)
垢版 |
2019/07/05(金) 04:33:51.11ID:kt3B04SY0
多言語によくあるmapって、C#のLinqとほぼ一緒なんですか?
0769デフォルトの名無しさん (ワッチョイ 8f7c-8SCj)
垢版 |
2019/07/05(金) 13:36:22.82ID:Faw4Vm9D0
どちらかと言うと hash は射影やで
0770デフォルトの名無しさん (アウアウカー Sac7-ac/h)
垢版 |
2019/07/05(金) 20:16:12.35ID:LfW16KURa
WPFのWindowのバツボタンを非表示または無効にするのはどうしたらいいのですか?G先生に聞いてもいまいちいい方法が出てきません
別のボタンでアプリの終了を取るだけにしたいのですが
0774デフォルトの名無しさん (アウアウカー Sac7-ac/h)
垢版 |
2019/07/05(金) 21:37:48.26ID:cpg+9phSa
>>771-773
ありがとうございます
G先生の回答はほぼほぼ>>772のやり方で、うーんとなっていました
全消しで>>773の案でもいいかなと思いました
0777デフォルトの名無しさん (アウアウカー Sac7-ac/h)
垢版 |
2019/07/05(金) 23:22:38.10ID:QClxBoOta
>>775
WindowのスタイルなのでXAMLでなんとか出来ないものなのか?と思ってましたが、調べても自作で色々とこねくりまわしてる感じで簡単にはいかないんだなと思いました
>>776
その通りですはい
0778デフォルトの名無しさん (ワッチョイ 2368-ZIIo)
垢版 |
2019/07/06(土) 00:47:15.09ID:KLew9H9+0
プログラミング言語は完璧だけど
環境設定が絶望的に苦手なんですが才能ないですか?
DLLとかサービスパックとか理解できません
PDBとか
0779デフォルトの名無しさん (アウアウエー Sadf-T0Pq)
垢版 |
2019/07/06(土) 01:41:41.25ID:NBFH+gRaa
エアギターは完璧だけどギターは弾けません(キリっ
0783デフォルトの名無しさん (ワッチョイ 038f-Tdf6)
垢版 |
2019/07/06(土) 03:34:47.51ID:qsEvUMHi0
>>778
PDBはプログラムが完璧な人には必要ないから安心するんだw
冗談はさておき、調べても理解できないというのであればコンピューターの中で何が起きているかイメージする力がないということでエンジニアの才能はないと言えるかもしれん。
ただ情報系出身じゃない人がエンジニアになった場合に、OSとかプログラムのベーシックな知識が不足しててプログラム以外の部分で苦戦するってケースは多いと思う。
0784デフォルトの名無しさん (ワッチョイ 2368-ZIIo)
垢版 |
2019/07/06(土) 09:11:38.52ID:KLew9H9+0
>>783
分かりました…
でもやるしかないんですよね
どのファイルが必要でとかいうのがまったく分からないんです
たとえばGitHubに落ちてるソース郡とかで、ファイルがいっぱいあったら、
ダウンロードしてどこまでプロジェクトに含めたらいいかとかまったく分からないんです。
0786デフォルトの名無しさん (スップ Sd1f-5hFt)
垢版 |
2019/07/06(土) 10:14:19.01ID:M31YLsTxd
プログラム板で質問するとなかなか丁寧に教えてもらえることが多いから、例えばgithubのあるプロジェクトの使い方が知りたいときはそのURLをはって質問してみるといい。
具体的な使い方から基本的な仕組みまで教えてもらえると思う。
0790デフォルトの名無しさん (ワッチョイ 2368-ZIIo)
垢版 |
2019/07/06(土) 10:47:22.15ID:KLew9H9+0
>>787
いやdelegateとかeventとか難しい機能も全て把握してますよ
環境設定が苦手なんです

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

文法の参考書はすいすい進むんだけど、環境設定分かりません
0793デフォルトの名無しさん (ワッチョイ 2368-ZIIo)
垢版 |
2019/07/06(土) 10:57:41.63ID:KLew9H9+0
ちなみに競技プログラミングが大好きです
なんなんでしょうね
0797デフォルトの名無しさん (ワッチョイ 2368-ZIIo)
垢版 |
2019/07/06(土) 12:06:07.06ID:KLew9H9+0
>>794
どうしたんですか急に
頭が悪い人嫌いですか?
0800デフォルトの名無しさん (ワッチョイ f37c-T0Pq)
垢版 |
2019/07/06(土) 13:10:09.85ID:iAyv1LJ60
頭が悪い上に活動的な香具師が一番の敵
0801デフォルトの名無しさん (アウアウウー Sa67-80lA)
垢版 |
2019/07/06(土) 13:21:59.73ID:VyNuchF5a
>>790
delegateやeventを「難しい機能」と表現されると本当に完璧なのか疑ってしまう
参考書で勉強しているみたいだけど、その内容がC#1時代の本だったりしない?

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

なんかみんなVisualStudio使っててちょっと気恥ずかしいです。
自分は特別になりたい、プログラマーとして
0806デフォルトの名無しさん (ワッチョイ 7f52-KlLC)
垢版 |
2019/07/06(土) 13:54:36.01ID:GxnR+B/l0
>>804
特別になりたいなんて思う前に、誰もが当たり前にできることをできるようにならんと、いくら自己評価が高くても周囲から見たら「ただの変わった人」で終わるぞ。

いったんC#から離れて、linux環境でCやアセンブラ辺りをやった方が理解が早いんじゃね?
あとは情報処理技術者試験を下から順に取っていくとか。
0809デフォルトの名無しさん (ワッチョイ 038f-Tdf6)
垢版 |
2019/07/06(土) 14:02:14.63ID:qsEvUMHi0
各言語の特徴やIDEの機能ってツール使わずにCで開発した場合に生じる苦労を解決するためにある、といっても間違ってない気がする。

>>806の言うとおりCでツール使わずに開発する修行積めばいろんなことが理解できるようになるはず。
0810デフォルトの名無しさん (ワッチョイ 038f-Tdf6)
垢版 |
2019/07/06(土) 14:09:35.57ID:qsEvUMHi0
あと、確かにVisualStudioのようなビルド設定をGUIで選択するタイプは使いこなすの大変ってのはよくわかる。
実際に最近はビルド設定をスクリプトとして記述するビルドツールの方が人気だと思う。
0813デフォルトの名無しさん (スップ Sd1f-+B7N)
垢版 |
2019/07/06(土) 16:12:01.37ID:r9tUIF43d
某言語で少し前にあった話だが、開発チームで集まった時には俺は経歴からプログラムメインではなくテストとかの要員扱いされて少し落ち込んだんだが、いざ開発開始してみたら俺以外全員初心者でびっくり。

自分のスキル評価が甘い人は多い。
0821デフォルトの名無しさん (アウアウエー Sadf-T0Pq)
垢版 |
2019/07/07(日) 00:47:00.43ID:ibboI0jYa
5分もかからん
顔観たら判る
0822デフォルトの名無しさん (スップ Sd1f-+B7N)
垢版 |
2019/07/07(日) 09:48:17.84ID:hDpH6KWgd
>>820
そりゃ、面接とかの話。
実際、俺も面接する方になったことが何度かあるが10分も話せばだいたいわかる。

それに、相手に力量が無さそうと思うのはすぐでも、自分のアピールは別だろ。
0825デフォルトの名無しさん (アウウィフ FF67-8SCj)
垢版 |
2019/07/07(日) 11:45:01.15ID:L+nDH+YyF
面接なら学歴で判るやろ
書類審査で落とせよω
0833デフォルトの名無しさん (アウアウエー Sadf-T0Pq)
垢版 |
2019/07/07(日) 23:39:01.62ID:bDhdwGYba
「正規表現」という日本語は誤訳だな
もっとセンスの良い名前にして欲しかった
0834デフォルトの名無しさん (ワッチョイ 038f-Tdf6)
垢版 |
2019/07/08(月) 01:02:49.46ID:cNkXgaMY0
IT用語は基本的に直訳だからわかりにくいよな。
まあ一人の日本人代表がいてその人が訳す、ってわけにはいかないから直訳にならざるを得ないんだろうけど。
0838デフォルトの名無しさん (ワッチョイ 63da-T0Pq)
垢版 |
2019/07/08(月) 04:59:48.66ID:RkH5/lfh0
DBからDataGridViewにデータを読み込む際、今はDataSourceプロパティでバインドしてるんですが、
読み込み時に別のカラムを追加して表示させたい場合、バインディングを維持しつつ追加する方法はありますか?

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

それとも、バインディングはやめてカラムを手動設定したほうが無難ですか?
0844デフォルトの名無しさん (ドコグロ MMdf-y2yo)
垢版 |
2019/07/08(月) 18:56:24.14ID:JxcTzaD5M
全く別の話題だけど
バインドってなんか利点あるんかな?
全部つながってることを確認しにくいっつーか
重くて欠点しかない

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

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

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

型または名前空間名 'Data' は名前空間 'System.Windows' に存在しません。アセンブリ参照が不足しています。
って怒られています・・・
0851デフォルトの名無しさん (ワッチョイ ff2c-NenP)
垢版 |
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> >
0853デフォルトの名無しさん (アウアウエー Sadf-T0Pq)
垢版 |
2019/07/08(月) 22:40:59.43ID:k/SnQUmGa
うびー禁止
0856デフォルトの名無しさん (ワッチョイ ffad-T0Pq)
垢版 |
2019/07/08(月) 22:46:40.42ID:hY1MiSUP0
>>854
なるほど・・・
困りました
実行環境がpowershell ISEなので参照設定的なものがありません
コード上でアセンブリを動的にロードしたり、なにか迂回策をご存知ないでしょうか?
0857デフォルトの名無しさん (ワッチョイ ffad-T0Pq)
垢版 |
2019/07/08(月) 22:49:16.25ID:hY1MiSUP0
ああ、それで >>849 さんのヒントっぽい何かが必要なんですね
まださっぱり理解していませんが・・
0860デフォルトの名無しさん (ワッチョイ ffad-T0Pq)
垢版 |
2019/07/08(月) 23:17:43.83ID:hY1MiSUP0
>>858
難易度がかなり高そうなことはわかりました!

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

ちょっと別のアプローチを考えてみます
ありがとうございました!
0862デフォルトの名無しさん (ワッチョイ ffad-T0Pq)
垢版 |
2019/07/09(火) 00:03:22.38ID:3HHcm2eY0
>>861
すみませんでした
パワーシェル側からC#コードに参照追加できました!!
※パワーシェルも初心者です

本当にありがとうございました
0863851 (ワッチョイ ff2c-NenP)
垢版 |
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> >
0866デフォルトの名無しさん (ワッチョイ bf2d-nrcS)
垢版 |
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 の中だけにしたいのですが。
0873デフォルトの名無しさん (アウアウウー Sa67-qaaK)
垢版 |
2019/07/09(火) 21:57:22.42ID:FuCJaqnQa
>>866
(1) Bのコンストラクタをprotectedに

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

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

まあでも、そこはあんまりこだわる必要ない気が
0874デフォルトの名無しさん (ワッチョイ ff7d-tOvn)
垢版 |
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 の待機処理を停止させる事は出来ないでしょうか?
0877デフォルトの名無しさん (アウアウウー Sa67-qaaK)
垢版 |
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;
}
0878デフォルトの名無しさん (ワッチョイ 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();
}
0883デフォルトの名無しさん (ワントンキン MM9f-cmV7)
垢版 |
2019/07/10(水) 15:04:43.19ID:UQq7+8i/M
ASP.NETのWebフォームを作っています。bluetoothで接続したバーコードリーダで読み取ったデータをサーバで受け取りたいのですが、どのようにするのがベストでしょうか。
バーコードリーダはHIDプロトコルで接続しターミネータは<CR>です。
TextBoxにフォーカスを当てて受け取ろうと試しましたが入力だけはOnTextChangedイベントが発生しないのでフォーカスの移動等のアクションが必要になります。
読み取るだけで文字列を処理したいです。さらに言えばフォーカスを意識せず取得できればベストなのですが。
0887デフォルトの名無しさん (ワッチョイ 236e-BTRT)
垢版 |
2019/07/10(水) 20:43:46.51ID:eYkR45a20
業務システム作る現場に飛ばされているのですが、コンボボックスの項目をわざわざデータベースに項目作ってそこからいちいち引っ張るような構造にしてるんです
プロパティで設定するなりaddするなりすればいいじゃん……と思うんですけど、こういう作りにして何か特になることってあります?
0895デフォルトの名無しさん (ワッチョイ 2368-ZIIo)
垢版 |
2019/07/10(水) 23:49:26.61ID:4sKxlb560
double型は64ビットだから2^64までの数字しか表現できないのに
0...........................98999とかなりの桁数まで表示されるのは何故ですか?
0901デフォルトの名無しさん (ワッチョイ 573c-AvHN)
垢版 |
2019/07/11(木) 06:37:54.14ID:PGdrFCZv0
dt.Columns.Add("テスト")←この方法でDataTableに列を追加し、

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

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

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

よろしくお願いします
0904デフォルトの名無しさん (ワッチョイ 3e7c-htnh)
垢版 |
2019/07/11(木) 14:01:32.91ID:6M1lAbxH0
おまいらやん
http://www.pro.or.jp/~fuji/mybooks/okite/okite.9.4.html
0905デフォルトの名無しさん (ワッチョイ db24-q5pO)
垢版 |
2019/07/11(木) 14:54:26.62ID:xAACxOAS0
全部読んでないけどC#に限ったらググってトップに出てくる学習サイトが一番マシなんだから本は一切不要だろう
C#に限ったらっていったけど今時どんな分野でも下手な本よりグーグルランキグン上位のサイトの方が質高いからな
0906デフォルトの名無しさん (ワッチョイ 3e7c-htnh)
垢版 |
2019/07/11(木) 15:00:57.91ID:6M1lAbxH0
20世紀の話だった
0910デフォルトの名無しさん (ワッチョイ 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 *");
0911デフォルトの名無しさん (アウアウカー Sa43-snXu)
垢版 |
2019/07/11(木) 22:41:20.48ID:MabNatKwa
WPFのMaterial Design Tool Kitを使ってみたのですが、このコントロールの例えばボタンの大きさとかを変えたりすることは出来たりするのでしょうか
0912デフォルトの名無しさん (ドコグロ MM92-vN/E)
垢版 |
2019/07/11(木) 22:46:41.40ID:vUv4mdDMM
>>910
そんなものは無い
贅沢な機能が欲しいならEF使え
まあDapperで全カラムを更新するのとEFで一部だけ更新するのとでは、殆どの場合において圧倒的に前者の方が速いだろうけどね
0916デフォルトの名無しさん (ワッチョイ 236e-+R1B)
垢版 |
2019/07/12(金) 00:37:29.52ID:Qe/C8AfS0
別にsetのときに何か判定してるでもないのにプロパティ全部getsetいちいち書いて1000行とか使ってるコードに出会った
ぜ、全部消したい……客先のコードじゃなかったら……
0918デフォルトの名無しさん (ワッチョイ a75f-sqJi)
垢版 |
2019/07/12(金) 06:36:27.03ID:l82xLe+v0
C#の#ってどれ使えばいいんですか
0921デフォルトの名無しさん (ワッチョイ b3da-YtL5)
垢版 |
2019/07/13(土) 01:01:25.85ID:WXtjREf70
datagridviewのカラムヘッダーをクリックすると、勝手に1行目のレコードが選択されてしまうのですが、
これを防ぐにはどうすればよいでしょうか。

また、可能であれば、カラムヘッダーのMouseDownイベント自体をキャンセルしたいのですが、どうすればよいでしょうか。
0922デフォルトの名無しさん (アウアウカー Sa43-snXu)
垢版 |
2019/07/13(土) 01:06:34.80ID:iqubl+0xa
>>914
ありがとう
調べてみた結果、出来ないっぽいから自作のコントロールでなんとかそれらしくしようと思います
0925デフォルトの名無しさん (ワッチョイ 5f63-GBi1)
垢版 |
2019/07/13(土) 01:22:16.58ID:snyK+LfD0
>>923
xml、json等のテキストファイルやxlsxで設定ファイルみたいなの作るとか?
変更することが無いような項目ならコード内に埋め込むとか
要件次第で何が良いかは変わると思うからDB一択とはならんと思うけど
0926デフォルトの名無しさん (ワッチョイ 237b-B5kB)
垢版 |
2019/07/13(土) 01:38:48.66ID:Zpl1rRtL0
>>921
ヘッダの位置に透明なパネルを置くのが一番早いかもしれない
勝手に一番目のCellが選択されるのはCurrentCell=nullのときにはFirstDisplayedCellで示されたCellが必ず選択されるから
あとはDataGridViewを継承してMouseDownイベントを無くしたものを作れるかもしれないけどそっちはわからない
0927デフォルトの名無しさん (アウアウカー Sa43-snXu)
垢版 |
2019/07/13(土) 01:41:03.71ID:iqubl+0xa
>>924
ありがとう
ツールで提供されてる丸ボタンとかを使いたいんだけど、それらは提供されたボタンのスタイルで決まってて領域を広げてもボタン自体のサイズは変更出来ないような感じなんだけど
実際はアニメーションを使った丸型のトグルボタンを丸ボタンのサイズと同じにしたかったので似たようなことを考えた人がいればと思い質問してみました
0933>>926 (ワッチョイ 4e7b-MWwc)
垢版 |
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にするだけ。特別なことはいらなかったはず
0936デフォルトの名無しさん (ワッチョイ 3e2d-PPDc)
垢版 |
2019/07/14(日) 10:27:51.44ID:/gKQotNU0
メソッド定義の場面でメソッド名の後にコロンが付いているのを初めて見ました
>protected PizzaStore() : this(new BaseIngredients()){} // 動画内24行目 https://youtu.be/agkWYPUcLpg?t=1678
このコロンはどういう意味の文法なんですか?
0938デフォルトの名無しさん (ワッチョイ 3e2d-PPDc)
垢版 |
2019/07/14(日) 10:50:14.89ID:/gKQotNU0
>>937
そういうことなんですか、一見パッとわかりませんでした
ありがとうございます
0944デフォルトの名無しさん (ワッチョイ 9a7d-AvHN)
垢版 |
2019/07/14(日) 13:09:01.62ID:1V0xuz/f0
>>941
"aaaaaa" です。


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

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

VS2017で作成した新規プロジェクトでは、Textboxへの値の設定では
当然フリーズしません。
0945デフォルトの名無しさん (アウアウウー Sa47-15bI)
垢版 |
2019/07/14(日) 13:31:47.51ID:TL4T/r3+a
>>944
そもそもtxt_wordの型が書かれてないんだけどTextBox型なの?
デバッグ実行中にフリーズする箇所で「一時停止」したら
コールスタックに実行中のメソッドが出るけどどこでフリーズする?
0947デフォルトの名無しさん (エムゾネ FFba-YtL5)
垢版 |
2019/07/14(日) 13:56:27.70ID:KJvjECGRF
最初の質問観ただけで
面倒臭い人(質問じゃなくて人)だと判る
0951デフォルトの名無しさん (ワッチョイ 9a7d-AvHN)
垢版 |
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;
0953デフォルトの名無しさん (ワッチョイ 5f63-GBi1)
垢版 |
2019/07/14(日) 17:22:25.76ID:7jVc1wv20
確実に利用者側の問題なのにVS側の不具合を疑う時点でどうかと思う
そもそもフリーズってどんな状況よ
不正確な単語使われて情報も部分的にしか出さないでなんでも解決できると思わないでね
IDE使ってんだからbreakしてステップ実行しなよ
0959デフォルトの名無しさん (ワッチョイ e3da-YtL5)
垢版 |
2019/07/15(月) 15:45:33.24ID:RYqQ15uW0
Dapperでクエリを書く時、SetParameterと補間文字列、どっちがいいですか?
SetParameterが普通っぽいんですが、下のように、補間文字列でもそう不便しなさそうなんですが・・・

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

>>959
ということでセキュリティには絶対気を付けるべき
0963デフォルトの名無しさん (エムゾネ FFba-YtL5)
垢版 |
2019/07/15(月) 16:59:54.96ID:3kssHGHNF
アタックに対して堅牢性があっても
糞アクセスのせいでログファイル肥大化して
disk full でシステムダウンとか
DOS攻撃でネットワーク飽和してダウンとか
セキュリティ対策と言っても奥が深い
糞アクセスがあっても安全だからって放置せずに
糞アクセスしてくる相手は片っ端からフィルタで切断した方が良い
0967デフォルトの名無しさん (ワッチョイ 9a7d-AvHN)
垢版 |
2019/07/15(月) 18:45:14.20ID:AVRTCka/0
ホワイトハウスにクラックするスーパークラッカーが世の中にいるんだよ
なので攻撃されたら絶対防げないからあきらめな。


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

Windowsシステムなら最悪ローカルで被害がすむ
0974デフォルトの名無しさん (ワッチョイ 1a61-mVAd)
垢版 |
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 されていたという落ちですかね。
0979デフォルトの名無しさん (ワッチョイ 1388-GBi1)
垢版 |
2019/07/16(火) 12:01:20.00ID:TC9tlVhv0
例外とエラーと処理に時間がかかるは全部別の事象
そら処理に時間がかかってるところにtry書いたって何の意味もないよ
一番不思議なのはそんな技術力でVSを疑う君だよ
0982デフォルトの名無しさん (ワッチョイ 0b01-dDlq)
垢版 |
2019/07/16(火) 15:02:04.77ID:p80ojOpj0
画像ファイルを相対アドレスで指定してもデザイナが勝手にカレントディレクトリをWindows直下だと思ってフォルダが無いって言ってるのって何とかならないの?
0985デフォルトの名無しさん (ワッチョイ 1a61-mVAd)
垢版 |
2019/07/16(火) 16:06:39.66ID:X0DP0wW10
VSにバグが有るだけじゃないんですかいな。
実際、手元でVS 2019で C++ を試していたら、メニュー・エディタが
ハングアップしたりシングルコアでのCPUが100%になって一分以上待たされたり
何回もした。
0987デフォルトの名無しさん (ワッチョイ 1a61-mVAd)
垢版 |
2019/07/16(火) 16:09:42.20ID:X0DP0wW10
昔からMSはバグが多いことで知られていて、Win95でもすぐにおかしくなっていた。VSだけは割りと安定していたのだが、最近はVSもMS標準品質になっただけかもしれない。
別に Win95 時代じゃなくても、Officeだっておかしくなるし。
ページ番号がずれてめちゃくちゃに成って直せなく成ったりとか、表を編集中にキャレットが別のカラムに勝手に移って何度やっても思ったカラムに入力できないとか、そんなん物凄くあった。
0988デフォルトの名無しさん (ワッチョイ 1a61-mVAd)
垢版 |
2019/07/16(火) 16:13:10.50ID:X0DP0wW10
>>986
昔のVC++のころのVSは、問題になるような重大バグは気付かなかったんだけど、今のVSはそんな重大バグがあるんだろうか。
遅いことだけは間違いない。自分の環境だと起動に何十秒(1分?)もかかる。
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を超えています。これ以上書き込みはできません。

ニューススポーツなんでも実況