X



C#, C♯, C#相談室 Part95
■ このスレッドは過去ログ倉庫に格納されています
0303デフォルトの名無しさん
垢版 |
2018/01/25(木) 07:27:02.04ID:sgwDXLm5
自分はPHPとJavaScriptしかやったことがないので、WindowsのGUIアプリ開発は初めてです。
WindowsフォームとWPFをちょっといじりましたが、
WindowsフォームはUIをマウスで配置して動作を与え、
WPFはHTMLのようにUIはMLで記述する感じであとはフォームとやることは同じかなって思ったのですが、
この両者の違いはフレームワークの違いだと思いますが、
自分的にはWebからきたのでWPFのほうがしっくりくるのですが、
調べると重いとかで流行ってないらしいので、情報量的にもフォームのほうがいいのでしょうか?
UWPはインストールが面倒だったのでスルーしましたが、今からならUWPがいいですか?
あとC#ではC++にあるらしいWin32プロジェクトは出来ないのでしょうか?
どれ選べばいいのかわからなくて困っています。
0305デフォルトの名無しさん
垢版 |
2018/01/25(木) 09:56:25.38ID:NsBjyJ7C
Webの経験あるんならElectronでいいんじゃない?
WinFormsもWPFもとっくの昔に開発終了してるから今更新しく入るのはお勧めできないな
0307デフォルトの名無しさん
垢版 |
2018/01/25(木) 11:29:45.90ID:sgwDXLm5
レスありがとうございます。
>WinFormsもWPFもとっくの昔に開発終了してるから
それは衝撃です。
ビルドしてテストした感じ前者はビルド速度もリソース消費も良く、UIも期待通りで、
後者はビルドが遅くて、UIも表示通りにならなかったり、テストするのは面倒だなという印象でしたが、
もう改善が見込めないんですね。
UWPはWPFよりっぽいので、心配ですが、UWPをインストールして触ってみます。
いずれXamarinやUnity使ってみたいのもあって、C#の勉強をしてるので、
しばらくはVSでWindows用のアプリケーション作りながら頑張ってみます。
0308デフォルトの名無しさん
垢版 |
2018/01/25(木) 11:55:18.40ID:Fo/ckcIY
割と最近になってWinformsにHiDPI対応強化やWPFもスタイラス対応強化が入ったりしてるから
とっくの昔に開発終了は語弊があるけどね
とはいえMS自身の都合による突発的な更新という意味合いが強く
積極的にフィードバックを受けての修正や強化というフェーズはUWP以外終えてる感はある

.NETという基盤やIDEは優れているのに肝要のGUIフレームワーク選びでgdgdになるのマジうんこ
0309デフォルトの名無しさん
垢版 |
2018/01/25(木) 16:45:28.98ID:89fISl4P
UWPとWPFは似たようなものだから、どっちから学習しても問題なし。
覚えたことは簡単にUWPからWPFまたはWPFからUWPに移行できる。
そりゃ、コントロールとか微妙に違ったりすりけど、大きな問題にならんだろう。

xamlの機能に違いがあったりと、高度な事をやろうとすると差がでてくるけど。

だから、学習フェーズの普通の事する分にはどっちから入っても問題なし。
0310デフォルトの名無しさん
垢版 |
2018/01/25(木) 16:51:20.84ID:89fISl4P
>WinFormsもWPFもとっくの昔に開発終了してるから
後、WPFにもFluent Design対応ぐらいはくるんじゃないの?
0311デフォルトの名無しさん
垢版 |
2018/01/25(木) 17:40:23.41ID:wJAGA7/R
>>310
そういうお仕着せ的なものを持ち込むのはWPFの思想にそぐわないからそれはないよ
WPF的には、開発者が望むならFluent Designを実装できるだけの機能を備えている、で十分
そういうDIYな思想こそがWPFが使い辛いと言われる最大の原因でもある
0312デフォルトの名無しさん
垢版 |
2018/01/25(木) 19:10:14.30ID:89fISl4P
去年のBuild2017のセッションの資料に明言じゃないけど、それをにおわせる
ような事が書いてあったんだけどね
0313デフォルトの名無しさん
垢版 |
2018/01/25(木) 20:47:58.93ID:4wfdsI+N
>>311
備えているならせめてForm時代と同じことさせてくれよ
なんでListViewの罫線自分で描かなきゃいけないんだよ
0314デフォルトの名無しさん
垢版 |
2018/01/26(金) 09:47:56.58ID:fiAB4bjj
WPFはおわったんだ
それをまた何十人〜何百人のチームを作ってわざわざ新しいものを実装するだろうか?
0315デフォルトの名無しさん
垢版 |
2018/01/26(金) 21:19:07.38ID:WiPs5FQl
.Net Frameworkのバージョンアップの内容追うと、WPFも地味に改良されてるけどね。
0316デフォルトの名無しさん
垢版 |
2018/01/28(日) 22:51:48.28ID:EAfEAz/a
開発が終わったとか時代が終わったとか言われても趣味でやる分にはWinFormが一番楽
仕事でやる人は逆に何でも対応しなきゃならないだろうし
0319デフォルトの名無しさん
垢版 |
2018/02/01(木) 10:15:12.44ID:Odjas+cj
コマンドラインのオプションを解析・パースするエレガントなLinqを教えてください

例えば、
-i "hoge.txt" -i "fuga.txt" -o "hogefuga.txt"
というコマンドを受け取った時、
{
 "i" : [ "hoge.txt", "fuga.txt" ],
 "o": [ "hogefuga.txt" ]
}
こんな結果に変換したいです
GroupBy()を使えば出来そうな気がするのですが上手くいきませんでした
0321デフォルトの名無しさん
垢版 |
2018/02/01(木) 11:32:56.22ID:jtx9E0YE
標準Linqだと辛いので拡張書くかな

少なくともコマンドラインオプションとオプションの引数をひとまとめにするやつは欲しい感ある
0322デフォルトの名無しさん
垢版 |
2018/02/01(木) 11:39:56.90ID:DhFBeVpN
クラス使わないと非常に汚いことになるし
オプションの設定を渡さないといけないのでlinqだけでは不可

たとえば-sがオプション必須かどうかがパーサーにはわからない

a.exe -s a.txtが

(a.exe)(-s a.txt)か
(a.exe)(-s )(a.txt)か
0323デフォルトの名無しさん
垢版 |
2018/02/01(木) 11:50:41.19ID:DhFBeVpN
c#ができたころからコマンドラインオプションの話はずっと言われてる
昔から独自実装したものはあちこちにある
0326デフォルトの名無しさん
垢版 |
2018/02/02(金) 06:35:27.68ID:Ppc5wcU7
初歩的なことなのですが・・・
ドット(.)を使って他所のメソッドやクラスを引用?してくるのをよく見かけますが
それがメソッドなのかクラスなのか見分けるにはどうすれば良いですか?

(クラス).(メソッド) の場合もあれば
(メソッド).(変数) の場合もあるのですよね・・・?
0331デフォルトの名無しさん
垢版 |
2018/02/02(金) 22:33:25.08ID:Ppc5wcU7
>>327
すみません ()の有無でどう判断が付くのでしょうか・・・?

>>328-330
そうだったのですね・・・
見分ける必要がないのですか 難しいです
プロパティなのですね 気を付けます
教えて頂きありがとうございます!
0334デフォルトの名無しさん
垢版 |
2018/02/02(金) 22:44:04.39ID:Ppc5wcU7
>>332
>>333
そういうことだったのですね
勉強になりました これで少し先に進めます・・・
ありがとうございます! 精進します
0336デフォルトの名無しさん
垢版 |
2018/02/03(土) 05:49:32.16ID:aLwGqXOU
>>335
そういったスレッドがあったのですね;
ありがとうございます 次からそちらで質問をします
0337デフォルトの名無しさん
垢版 |
2018/02/04(日) 00:03:18.19ID:zMXPgQ7i
>>324
.NET Core 2.1ではビルドのパフォーマンスが大幅に改善されてるらしい
OrchardCoreのビルドで70秒かかってたのが7秒弱に
0338デフォルトの名無しさん
垢版 |
2018/02/04(日) 13:04:59.39ID:ORFvnFl0
>>337
.NET Core SDKをv2.1.4にして
早くなった…ような気もする

ソースを何も変更してなくても変更をスキャンするのは無くならないんだろうか?
本家.NET Framework+Visual Studioだと
何も変更が無い場合はほぼ一瞬だったのに
0343デフォルトの名無しさん
垢版 |
2018/02/05(月) 22:58:44.51ID:NyyXMpDu
C#のアプリからエクセルのシートのような罫線や文字が書かれたものをプリンターで印刷したいのですが、プリントオブジェクトで一つ一つ座標を確認して描画しながら印刷するしかないでしょうか
何かいい方法などあればご教示下さい
オフィスが入ってない環境でも実施出来るようにしたいのでエクセルは使えません
0345デフォルトの名無しさん
垢版 |
2018/02/05(月) 23:34:01.06ID:SQrOQm2p
>>343
WPFは知らないけどGDI+でちょっとした表を印刷するなんて
たぶん思ってるより簡単だから自分で書いた方が早いよきっと
0347デフォルトの名無しさん
垢版 |
2018/02/05(月) 23:44:05.24ID:ny8aWquH
>>343
どんな表を想定しているのかわからない。DataGridViewとかはだめなの?
フリーの表計算ソフトインストールしたほうが確実だと思うよ
どっちにしても画面出力ならともかくプリンタ出力はC#だと信用できない
0348デフォルトの名無しさん
垢版 |
2018/02/05(月) 23:59:26.55ID:SQrOQm2p
ライセンス関係がどうだか知らんけど、まだクリレポもあるみたいだね
でもまあ、余程こった印刷するんじゃなきゃ、自分でゴリゴリ書いた方が早いし応用も利く
0350デフォルトの名無しさん
垢版 |
2018/02/06(火) 00:44:49.14ID:l8gmJN+/
今のHTMLって物理単位で座標やサイズ指定できるの?
俺はまったくいい案だと思わんね
0351デフォルトの名無しさん
垢版 |
2018/02/06(火) 00:51:18.50ID:oHH9MXTk
HTMLで帳票出力するアプリなんか世の中いくらでもあるだろ
帳票にミリ単位の精度を要求される高度なお仕事お疲れ様です笑としか
0352デフォルトの名無しさん
垢版 |
2018/02/06(火) 00:56:31.42ID:l8gmJN+/
倒錯してるね
A4ならA4に綺麗に収まるようにレイアウトするなんて最低条件。
子供の遊びじゃないんだから
0354デフォルトの名無しさん
垢版 |
2018/02/06(火) 01:55:56.74ID:ZfaRyY6g
あるフォルダにexe配置して、複数人で同時起動する場合log吐き出し等、PC事に吐き出せますか?
0356デフォルトの名無しさん
垢版 |
2018/02/06(火) 06:38:37.96ID:cOwJgUBz
>>343です
レス頂いた方ありがとうございます
基本的には地道にやるしかないんですかね
GDI+はもう少し調べてみます
html+cssは確かにかなり使えそうなので今後の引き出し用兼ねて、じっくり試してみてみます
0357デフォルトの名無しさん
垢版 |
2018/02/06(火) 12:42:53.23ID:ulWyhWyT
Excelをテンプレートにして値を埋め込んで印刷できるツールなら(金を出せば)あるよ
0359デフォルトの名無しさん
垢版 |
2018/02/08(木) 23:07:17.93ID:+IVP5b8H
帳票のデータをDBにぶち込むアプリ作ってるんだけど動的なSQL文作成って普通はどういう作り方をするもの?
今は列が2個とか3個だから@"insert〜"ってベタ書きしてsqlparameterで値入れてるけど
元データがファイルならSQLインジェクションは考えなくていいはずだからSQLparameter使う必要はないはずだし
列の数が増えたら改造が大変になるから改修作業が楽になるような作りにしたい
今はSQL文作成部分をDBごとに別々のメソッドで書いてるけどこれも共通化できるもん?
0361デフォルトの名無しさん
垢版 |
2018/02/08(木) 23:31:11.72ID:rH5InDMM
パラメーター渡すだけで普通はSQL文はいじらないと思う
テストに困る
SQL専門家がいるところではそんな感じ
0366デフォルトの名無しさん
垢版 |
2018/02/09(金) 21:41:45.33ID:MBw5inWy
>>365
私の会社は運送業界なので荷札とか直接紙で出しています。excelやaccessで帳票出せるのですが、荷札に綺麗に印刷するには各端末の設定に依存していて、変更する度にその設定作業で禿げそうなのです。
あとExcelとかはバージョン管理ソフトで差分見れないのもストレスです。
0370デフォルトの名無しさん
垢版 |
2018/02/12(月) 12:09:33.30ID:1LSHehib
Null非許容型自体は悪くない

標準のclassをNull非許容型にする必要はない
Null許容前提で設計されてるものをなぜ急にNull非許容にする?

クラスをまともに設計してないのか?
0371デフォルトの名無しさん
垢版 |
2018/02/12(月) 12:14:21.55ID:1LSHehib
意識高い系の人達が標準のclassをNull非許容型にしたいだけ


null非許容にするとこれまでロジックミスでnullになってたものが意図しない初期値になってるだけで
不具合自体が見つかりにくくなる
今までは止まってたからわかったけどそれがわからなくなる

動いてるけど何かおかしい状態が増える
0372デフォルトの名無しさん
垢版 |
2018/02/12(月) 12:20:49.47ID:1LSHehib
普通だったら今までのを標準にして新しい機能を拡張とする
それが今度は逆でさらっと破壊的変更が入りましたで終わり
0373デフォルトの名無しさん
垢版 |
2018/02/12(月) 12:24:08.69ID:1LSHehib
>Null非許容型を前提としたものかどうかAssembly単位でも設定できる

アセンブリ単位だと言うことが問題だと思うけど
既存コードはそのまま通せないということ
0374デフォルトの名無しさん
垢版 |
2018/02/12(月) 12:25:31.74ID:1LSHehib
> >>401
> 大方どっかのチュートリアル通りの手順を踏んだだけで、現在のproposalなんか確認してないんだろうな
> そんなん猿でもできるわ

そちらの猿はやった?
それとも猿以下?
0375デフォルトの名無しさん
垢版 |
2018/02/12(月) 12:29:13.80ID:1LSHehib
WPF使えないやつは馬鹿
MVVM使えないやつは馬鹿
Rx使えないやつは馬鹿

とか言ってるけど全然普及してない
使えないんじゃなくて使ってないだけ
0377デフォルトの名無しさん
垢版 |
2018/02/12(月) 12:31:07.00ID:1LSHehib
ソース単位で見てこれはどっちの仕様のソースなんだろうかと考えないといけない時点でおかしい
0396デフォルトの名無しさん
垢版 |
2018/02/12(月) 13:00:24.72ID:1LSHehib
>defaultのclassを非Null許容型に変えるのは破壊的変更ではないのですか?
これにすら答えられないんだから言っても無駄か
0399デフォルトの名無しさん
垢版 |
2018/02/12(月) 13:05:59.25ID:JscGAjhj
俺は最先端(笑)追いかけるの興味ないんで実際にはどうだか知らないけど、
常識的に考えればMSが既存のコードに重大な影響がでるような破壊的変更を許容するはずがない。

杞憂を通り越して被害妄想にしか聞こえんなあ
0400デフォルトの名無しさん
垢版 |
2018/02/12(月) 13:13:51.10ID:zF+PsA7+
>>399
今のMSはVSのマイナーアップデートに平気で破壊的変更ブチ込んでくるぞ
C#7.1も正式リリースでバグ出しまくって破壊的変更で修正入れてる
リリースに客のお伺い立てないといけないような連中はもう相手にしてないんだよ
■ このスレッドは過去ログ倉庫に格納されています

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