19/10/05 10:30:58.10 hjSAU91p0.net
>>894
れすさんくすです
確かにそのとおりだとおもいます
インストーラーではなく、ZIPとかで配布で、ちいさなアプリで、主にシングルユーザーで
ってなると.iniになるんでしょうか?
911:デフォルトの名無しさん
19/10/05 10:31:02.26 elsuYLim0.net
>>893
設定を保存するクラスを作って、xamlかjsonにシリアライズ
アプリのコピーで使い分けるなら、保存場所はアプリのexeと同じフォルダー
912:デフォルトの名無しさん
19/10/05 10:34:16.80 BObIlSOA0.net
>>896
xmlとjsonなんて編集できるツールあるの?
パンピーにインデント壊さないでねなんて無理よ
913:デフォルトの名無しさん
19/10/05 10:43:34.43 elsuYLim0.net
>>897
元の質問に設定ファイルを手動で編集したいなんて書いてないが
914:デフォルトの名無しさん
19/10/05 10:47:20.84 xk/GxZ7j0.net
jsonもxmlもインデント関係ないから自由にさせろ
強制したいならyaml使え
915:デフォルトの名無しさん
19/10/05 12:25:09.61 8Jk2Tveb0.net
>>897
インデントわろた
916:デフォルトの名無しさん
19/10/05 12:42:35.73 sqkLDT76d.net
>>897
インデントwwww
917:デフォルトの名無しさん
19/10/05 15:47:01.45 BObIlSOA0.net
インデントっていうかカッコの対応?
でもその一点でxmlとjsonっておよびじゃ無くない?
これらを使うなら設定ツールが必要になると思う
918:デフォルトの名無しさん
19/10/05 16:03:44.47 8Jk2Tveb0.net
よく出てこれたな
919:デフォルトの名無しさん
19/10/05 16:30:09.26 BObIlSOA0.net
>>903
何度でも言えるよ
xmlとjsonは設定ツールがないと使えないゴミ
920:デフォルトの名無しさん
19/10/05 16:44:26.62 LN1PiSPK0.net
設定画面ぐらい作れよ
921:デフォルトの名無しさん
19/10/05 17:02:10.69 8Jk2Tveb0.net
>>904
よおインデント
922:デフォルトの名無しさん
19/10/05 17:07:55.98 hjSAU91p0.net
>>896
れすさんくす
結構ハードなことやってるんだね、一度クラス作ったら一緒か
923:デフォルトの名無しさん
19/10/05 17:16:21.03 q6cvuv6U0.net
>>906
よおインシデント
924:デフォルトの名無しさん
19/10/05 17:17:03.15 JDr+zhso0.net
>>907
今どきならjson.netを使うだけ
ググればわかるけど呆れるほどかんたんだよ
925:デフォルトの名無しさん
19/10/05 18:01:24.61 vEDwovccd.net
インポテンツ
926:デフォルトの名無しさん
19/10/05 18:06:22.26 PVJcrjgV0.net
初心者スレやからね
927:デフォルトの名無しさん
19/10/05 19:34:08.92 hjSAU91p0.net
>>909
さんくす、ライブラリが公開されてるのか
みんなこれ使ってるの?
928:デフォルトの名無しさん
19/10/05 19:36:45.83 1kVSHcIG0.net
令和の時代の新規プロジェクトでiniファイルはありえんだろw
929:デフォルトの名無しさん
19/10/05 19:38:02.29 1kVSHcIG0.net
>>912
今のところデファクトスタンダードなライブラリだね
930:デフォルトの名無しさん
19/10/05 19:39:42.31 BObIlSOA0.net
>>913
設定ファイルをユーザにどうして欲しいの?
931:デフォルトの名無しさん
19/10/05 19:46:18.14 1kVSHcIG0.net
>>915
サンプルのjsonを添付してここを変更しろとドキュメント付けとけば問題ない
インデントが変わっても問題ないし
932:デフォルトの名無しさん
19/10/05 19:51:52.36 kB6gz2T/F.net
>>913
URLリンク(www6.uniovi.es)
values.c
933:デフォルトの名無しさん
19/10/05 19:56:00.01 8wZmV3QG0.net
>>912
俺はDataContractJsonSerializerだな
これなら標準ライブラリだからインストール不要
934:デフォルトの名無しさん
19/10/05 19:57:33.02 BObIlSOA0.net
>>916
jsonはカッコの対応で死ぬわ
っていうかxmlもjsonもiniファイル駆逐できるほど性能よくねーじゃん
っていうか用途が違うものを強引に適用しようとしてない?
設定ファイルに書いたコメントも消えちゃうしね
935:デフォルトの名無しさん
19/10/05 20:01:44.88 BObIlSOA0.net
iniファイルを時代遅れだと主張するなら
xmlやjsonで吐き出して設定ツールぐらい用意しろってことかな?
それなら理解できるけど
xmlとjsonのテキスト編集はキツイ
936:デフォルトの名無しさん
19/10/05 20:08:26.65 1O88xYRBd.net
ユーザーがやることはjsonの値をちょい変更するくらいなのになんでカッコ対応が問題になるんだよ
ユーザーがカッコを書く必要なんてないのに
937:デフォルトの名無しさん
19/10/05 20:11:42.09 BObIlSOA0.net
>>921
いや、だからそれどこよ?
ってのを見つけるのも結構骨が折れる作業よ
だから、コメントをjsonファイルに書いておくだろ?
ところが次のアプリの書き込みで消えてるんだなw
938:デフォルトの名無しさん
19/10/05 20:13:16.91 jRdA7zB80.net
話はよーわからんが、JSONに慣れれない人もそれがあんたの能力なんだから
しょうがないんじゃない
939:デフォルトの名無しさん
19/10/05 20:13:46.83 WowcC4IHr.net
>>922
ちゃんとしたエディターかIDE使えば?
VScode使えば対応簡単だけど
まさかメモ帳でやってんの?
940:デフォルトの名無しさん
19/10/05 20:16:05.57 BObIlSOA0.net
そもそもバグったときに凶悪であることは認めるだろ?
俺らだってxmlやjsonファイルでユーザーが編集したおかしな箇所を
プログラムでピンポイントで指摘できない
このファイルは完璧でないと読めない
そんなモノをユーザーに触らせるような運用は間違っている
客がいいって言うならいいけど
941:デフォルトの名無しさん
19/10/05 20:16:19.70 WowcC4IHr.net
vscodeとかtsとかnode.jsとか設定はjsonだけど
それで大問題にはなってない
みんな使いこなしてる
何故君だけ使えない?
iniファイルなんて実際死んでるよ?
942:デフォルトの名無しさん
19/10/05 20:16:43.74 BObIlSOA0.net
>>924
それを客に言うの?
趣味ならいいけど
943:デフォルトの名無しさん
19/10/05 20:17:55.69 WowcC4IHr.net
>>927
客がなんでjsonファイルいじって中にコメント書くのかが分からん
お前がいつまでボケ続けるのか興味があるが…
944:デフォルトの名無しさん
19/10/05 20:18:25.25 BObIlSOA0.net
>>928
え?開発者向けなん?
945:デフォルトの名無しさん
19/10/05 20:19:04.85 r/LR5Bg3d.net
iniファイルとかWin16の時代の化石だろ
946:デフォルトの名無しさん
19/10/05 20:19:40.75 WowcC4IHr.net
本当にいつまでボケ続けるのか
実務に携わってないんだろうなってのはわかる
空転を本人が気づいてない
947:デフォルトの名無しさん
19/10/05 20:20:51.17 jRdA7zB80.net
よく出てくくる、一本道コードのVisual Basicおじさんでしょ
948:デフォルトの名無しさん
19/10/05 20:21:03.98 BObIlSOA0.net
はっきりさせておくけど
・設定ファイルをテキスト編集でユーザに触らせたい
→xmlやjsonは向かないんじゃない?
・設定ファイルをユーザに触らせない
→なんでもいいんじゃない?
ってことな
949:デフォルトの名無しさん
19/10/05 20:22:45.53 BObIlSOA0.net
あともう一つ
・ユーザは開発者である
→なんでもいいんじゃない
って感じな
950:デフォルトの名無しさん
19/10/05 20:24:09.45 WowcC4IHr.net
・設定ファイルをテキスト編集でユーザに触らせたい
の時点で間違ってる
バックアップすら取るかどうかわからんやつらに編集させんな馬鹿
951:デフォルトの名無しさん
19/10/05 20:24:53.35 hjSAU91p0.net
>>914
なるほど、これはもうjson.netいれるしかないですね
>>918
MS謹製のJson、これはかなりとっつきやすそうさんくす
952:デフォルトの名無しさん
19/10/05 20:25:02.19 BObIlSOA0.net
>>935
じゃあ、俺と君の意見は一致してるね
953:デフォルトの名無しさん
19/10/05 20:25:51.75 WowcC4IHr.net
ボケた会社の~ボケた開発者が~ボケた客にボケたことをさせて~
メンテナンス費用だけとるつもりですか~
死ね糞ゴミ!
954:デフォルトの名無しさん
19/10/05 20:28:30.38 jRdA7zB80.net
でも、初心者なのに仕事を取ってくる勇気は大したもんだよね
955:デフォルトの名無しさん
19/10/05 20:38:04.30 8wZmV3QG0.net
>>933
俺なら
>・設定ファイルをテキスト編集でユーザに触らせたい
→そんな仕様にはしない
なぜならあらゆるフォーマットに対応する実装とテストなんてしたくないし
そもそも設定をテキスト編集するアプリとか使いにくい
>・設定ファイルをユーザに触らせない
→xmlにする
なぜなら実装が簡単だし、開発者(俺)ならテキスト編集できるから
956:デフォルトの名無しさん
19/10/05 20:51:43.64 RYV31rLj0.net
レガシーコードってなんかかっこいいから、どんどん増やすべき。
伝説の武器みたいなものでしょう。
957:デフォルトの名無しさん
19/10/05 21:28:22.83 Apziqq2fa.net
>>936
2chだとやたらとJSON推しの人が多いけど、.NET標準のシリアライザは他にもいろいろあるよw
JSONに固執する必要がないなら他を検討した方がいいと思うけど
958:デフォルトの名無しさん
19/10/05 21:40:37.42 kmFdI7ZBM.net
MSがJSON推しだからね
959:デフォルトの名無しさん
19/10/05 21:42:52.25 mrk3SroR0.net
JSONは連想配列に順序の保証がない
デバッグで差分比較するとかができない
960:デフォルトの名無しさん
19/10/05 21:45:37.47 ZEfzfdRr0.net
連想配列に順序ってそんな重要なんか
961:デフォルトの名無しさん
19/10/05 21:50:21.48 SzWcISg6d.net
>>942
.NET標準でjson以外にほかにいろいろシリアイザがあるって、XML以外何かある?
962:デフォルトの名無しさん
19/10/05 21:54:42.26 hjSAU91p0.net
>>942
なるべくネット上に解説とかサンプル多いと楽かなっと
多数派に流されるお
963:デフォルトの名無しさん
19/10/05 22:05:26.81 VWTAP42j0.net
json schema用意すればvscodeで補完効くし、間違いも指摘してくれるし、普通json使うわ
964:デフォルトの名無しさん
19/10/05 22:54:13.79 Apziqq2fa.net
DataContractJsonSerializer、使ったことなかったが調べた感じ
一通りの機能はあるし、バージョントーレラントみたいだし、別にこれでもいいねw
バージョントーレラントじゃないと思ってたが、勘違いだったみたいだ。
965:デフォルトの名無しさん
19/10/05 23:34:01.62 1i4Kj4Snd.net
トーレラントって何かググってみたけど中華鍋しか出てこない
966:デフォルトの名無しさん
19/10/06 01:39:32.41 z+z4mE1D0.net
確かにJsonはコメントが書けないか
コメント用の文字列メンバを予め確保すれば良いのかな
967:デフォルトの名無しさん
19/10/06 01:49:26.58 DPash9Py0.net
jsonのシリアライザ/デシリアライザは送受同じライブラリを使わないと、割とめんどい。
DateTimeの扱いとか。
あとライブラリによってはpublicクラスじゃないとダメとか変な制限があるものも・・
DataContractJsonSerializerは変換遅いし、いちいち[DataContract]や[DataMember]などのアノテーションがめんどい
968:デフォルトの名無しさん
19/10/06 02:10:45.36 uOvq13Pn0.net
以前REST APIを作ったときはVisual Studioがjson.netを利用するコードを自動生成してたけど、今はDataContractJsonSerializer化されてるのかな?
969:デフォルトの名無しさん
19/10/06 07:22:38.42 DbrcOQgy0.net
>>953
System.Text.Json
970:デフォルトの名無しさん
19/10/06 11:26:53.05 yc9LKsYB0.net
>>939
URLリンク(software.aufheben.info)
>936
cjson
971:デフォルトの名無しさん
19/10/06 12:18:55.28 jjEkd1/A0.net
windows formsアプリについての相談なんですけれど、ロジックと見た目を分けろって聞くじゃないですか。なのでそうしようと思ったんです
例えばユーザーコントロールを作って、そこに何かしらの処理を行うボタンを配置したとします
それで自分が考えたのは、計算をするクラスをユーザーコントロールクラスの内部クラスとして作る、ユーザーコントロールクラスのフィールドとしてその計算するクラスのインスタンスを持たせる
でボタンが押されるイベントで計算をするクラスのオブジェクト.calculate()みたいにする
設計としてはこんな感じでも大丈夫ですかね?アプリを作る時に内部のコードはこう実装するみたいなことを教えてくれる本が無くてどう設計していけばいいのかわからないんです
972:デフォルトの名無しさん
19/10/06 12:29:48.44 ofI4YMfJM.net
右も左もわからないうちから俺俺アーキテクチャとか考えないで
MVCやMVVMでも勉強したらいいと思うよ
それから最強のアーキテクチャを考えるのでも遅くない
973:デフォルトの名無しさん
19/10/06 12:31:03.82 U/2g+4lB0.net
>>956
>ロジックと見た目を分けろ
windows formsアプリじゃなくWPFやった方がいいんじゃない?
windows formsでそんな組み方するの逆にめんどくさい
974:デフォルトの名無しさん
19/10/06 13:48:38.81 wAV7A9/e0.net
>>955
cjsonはわかりやすいのかな、ちょっとしらべてみるさんくす
975:デフォルトの名無しさん
19/10/06 13:52:51.65 44yIwJmG0.net
>>956
そんなことしなくて良い
画面アプリなんて使い捨て上等
サーバーサイドと画面(クライアント)を分けろって話で
一つのアプリでそんなことやっても無意味
976:デフォルトの名無しさん
19/10/06 14:51:46.94 BLgAYnXt0.net
そんな訳は(規模にもよるけど)当然無い。
977:デフォルトの名無しさん
19/10/06 15:03:12.76 Ih3UpniZ0.net
「既存メソッドの処理なんですが?ちょっと時間かかっちゃうんですよねー
プログレスバーとかつかないですかね?
処理の進行状況も表示して」
こんな簡単な要望ですら
そいつはケツまくって逃げ出すよ
花京院の魂を10000個ぐらい
978:かけてもいい絶対だ 処理と表示は一見関係ないように見えて実は密接に関係していて 絶対に切り離せない 不可能なことを可能だと言う技術者を信用してはならない 何年もやっていてこの程度の因果関係もわからんような雑魚から 教えを請いてはならない
979:デフォルトの名無しさん
19/10/06 15:33:01.89 ZrFisUz2a.net
>>956
何でユーザーコントロールの話になるのかよく分からんけど、
>ユーザーコントロールクラスの内部クラスとして作る
この部分は変だけど(内部クラスにする必然性がない)、その後の部分はそういう認識でいいと思うよ。
FormでもUserControlでも、基本的に書いていいのは上に乗ってる
コントロールを操作するコードとイベントハンドラだけ。
980:デフォルトの名無しさん
19/10/06 18:11:15.25 SEX7i46w0.net
>>962
C#にはIProgress<T>というクラスもタスクも横断的に使える便利なIFがあるから
あんたが思っているようなことはない
つか、偉そうなのにこれ知らないのか?
981:デフォルトの名無しさん
19/10/06 18:45:20.34 pgF6GacOr.net
自分は頭が悪すぎてIProgress<T>のどこが便利なのかわからないので
違う仕組みでやってる
982:デフォルトの名無しさん
19/10/06 19:21:15.12 Ih3UpniZ0.net
>>964
はぁ?
既存の何も考えずに作ったメソッド(内部)のプログレスバー(表示)を分離したまま実装できないだろってのが俺のレスの主旨なんだけど
理解した上で反論しようとしてんの?
Mr.ドン・キホーテ?
983:デフォルトの名無しさん
19/10/06 19:26:16.12 SEX7i46w0.net
>>966
いや、簡単に実装できるよ
君が知らないだけで
984:デフォルトの名無しさん
19/10/06 19:36:10.31 Ih3UpniZ0.net
>>967
あっそ、絶対無理なのにバカだなお前
テメーはさっさと技術者やめて詐欺師に看板替えろ
985:デフォルトの名無しさん
19/10/06 19:38:07.20 fpn8B7qc0.net
昔はイベントハンドラで実装してたな
いまならObservablePropertyあたりでやるんかねRxとかどうも上手く使えてる気がしない
986:デフォルトの名無しさん
19/10/06 19:43:10.12 fpn8B7qc0.net
>>968
いやできるだろう
987:デフォルトの名無しさん
19/10/06 19:53:20.87 SEX7i46w0.net
>>969
確かにmvvmだとReactiveProperyを上位に伝搬するのが楽だし俺もそうやっている
でもFormsの話のようだからIProgress<T>を出しました
988:デフォルトの名無しさん
19/10/06 20:02:50.65 dGqjDCnwr.net
FormsだとしてもIProgressは不便だと思うよ
989:デフォルトの名無しさん
19/10/06 20:07:52.17 DbrcOQgy0.net
>>972
なぜ?
990:デフォルトの名無しさん
19/10/06 20:18:09.12 LuDxacSca.net
ID:Ih3UpniZ0って昨日iniファイル以外認めないって主張してた御仁か
15~20年くらい前のスキルしかもちあわせてない人でしょ
技術的なキャッチアップも人間性の向上も怠って年齢だけ重ねてる人だからこういう物言いしかできないんだろう
こういう人のいうことは表向きだけはいはいって聞いたふりして全部無視して問題ないよ
991:デフォルトの名無しさん
19/10/06 20:27:29.93 dGqjDCnwr.net
ほっとくとイベントの参照が残ってるのでひとりでに消えなくなってしまう
992:デフォルトの名無しさん
19/10/06 20:39:48.56 fpn8B7qc0.net
>>975
backgroundworkerを自前で作らずにformに貼って、イベントもデザイナから作るといいよ
993:デフォルトの名無しさん
19/10/06 20:40:18.92 DbrcOQgy0.net
>>975
ソース
994:デフォルトの名無しさん
19/10/06 23:21:15.76 zXgX+PCrr.net
ソースもくそもみんなそう
995:デフォルトの名無しさん
19/10/06 23:28:20.92 zXgX+PCrr.net
c# メモリリーク イベントハンドラ
996:デフォルトの名無しさん
19/10/07 00:20:35.80 ilJKwzD30.net
だからIProgressでメモリーリークするソース出せってば
997:デフォルトの名無しさん
19/10/07 07:55:39.68 PXpMNqVGd.net
IProgressはインターフェースなんだからそれ自体がリークってのはおかしいでしょ。使い方が悪いだけでは…?
998:デフォルトの名無しさん
19/10/07 08:49:33.99 jeQW+1qp0.net
オッペケは自殺して転生して自分の頭のバグ直してこいやボケ
999:デフォルトの名無しさん
19/10/07 18:13:25.65 jsaaj6Lxr.net
インターフェイスでメモリリークするわけがないはその通り
ただ単純なイベントハンドラベースだとうっかりメモリリークさせやすい
コンポジションなどで保持したままで寿命が違うと特にそう
c++だとメモリリークしやすいが使い方が悪い!ちゃんとつかえ!
という話で済まないので進化し続けてる
そのProgressというけど偽りでProgressと言う動作と何の関係もない
実際はどこからも使われないく自分で使うコードを書くだけなのでProgressである必要もない
どこが便利で使ってるのかさっぱりわからない
1000:デフォルトの名無しさん
19/10/07 18:17:14.49 jsaaj6Lxr.net
見返すとめちゃくちゃだけどIpregressは別にProgressに高度に特化されてないので
使う意味は薄いのではないか?
nさんがどう思うか知らないけど
1001:デフォルトの名無しさん
19/10/07 19:14:35.69 ilJKwzD30.net
ここまで具体的なコードは無し
1002:デフォルトの名無しさん
19/10/07 20:06:05.04 GbsEPSwo0.net
>処理と表示は一見関係ないように見えて実は密接に関係していて
>絶対に切り離せない
ちゃんと考えて設計してもそうなるなら、絶望的にセンスがないわ
おまえに不可能なことが技術的に不可能なこととは違うよ
1003:デフォルトの名無しさん
19/10/07 20:18:37.37 9eyAES450.net
次スレ
ふらっと C#,C♯,C#(初心者用) Part145
スレリンク(tech板)
ワッチョイ無しは
ふらっと C#,C♯,C#(初心者用) Part141
スレリンク(tech板)
1004:デフォルトの名無しさん
19/10/07 21:20:35.04 jsaaj6Lxr.net
>>985
理解できないなら無理にレスしなくてもよい
1005:デフォルトの名無しさん
19/10/07 21:45:53.70 /mGKDAACa.net
>>987
乙
1006:デフォルトの名無しさん
19/10/07 22:15:03.54 QEMDFqtE0.net
>>987
乙
1007:デフォルトの名無しさん
19/10/07 22:16:20.26 ilJKwzD30.net
>>988
はよ
1008:デフォルトの名無しさん
19/10/07 22:40:26.54 H1QHa3mL0.net
>>986
バカだろ
物理的に不可能だろ
既存処理にプログレスバー付けてみろよ
1009:デフォルトの名無しさん
19/10/07 22:42:41.65 d+4AHn7d0.net
IProgressというか、その実体のProgres<T>クラスは、普通に使えばメモリーリークなんか起こらないんだよな
イベントじゃなくてActionデリゲート使ってメンバ変数など使わずにローカル変数で定義して
処理を実行するたびにインスタンス作ればいいだけ
ラムダ使えない人はご愁傷さまとしか言えません
1010:デフォルトの名無しさん
19/10/07 22:50:14.57 jsaaj6Lxr.net
>>993
外から複数のハンドラ指定して実行したい場合どうすんの?
Actionにどうやって渡す?
1011:デフォルトの名無しさん
19/10/07 22:52:08.75 jsaaj6Lxr.net
それと
> 普通に使えばメモリーリークなんか起こらないんだよな
と
> イベントじゃなくてActionデリゲート使ってメンバ変数など使わずにローカル変数で定義して
> 処理を実行するたびにインスタンス作ればいいだけ
は矛盾してるよね?
1012:デフォルトの名無しさん
19/10/07 22:53:10.67 s9APxj2Ed.net
>>994
複数のアクションを実行するアクションを渡す
1013:デフォルトの名無しさん
19/10/07 22:59:52.41 d+4AHn7d0.net
>>995
サンプルぐぐっても、イベント使ったりクラスのメンバ変数にして使い回すって方が邪道じゃないかな?
1014:デフォルトの名無しさん
19/10/07 23:21:18.60 cpqLM3c60.net
>>986
多分切り離すとか分離するの意味を根本から間違えて捉えてるんだと思うので無駄だよ。関心の分離の基本がわかってない
1015:デフォルトの名無しさん
19/10/09 02:47:43.58 mpcY/05P0.net
ぅ
1016:デフォルトの名無しさん
19/10/09 02:47:58.78 mpcY/05P0.net
め
次スレ
ふらっと C#,C♯,C#(初心者用) Part145
URLリンク(mevius.2ch.net)
1017:1001
Over 1000 Thread.net
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 84日 11時間 11分 35秒
1018:1002
Over 1000 Thread.net
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
──────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
──────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
URLリンク(premium.5ch.net)
▼ 浪人ログインはこちら ▼
URLリンク(login.5ch.net)
1019:過去ログ ★
[過去ログ]
■ このスレッドは過去ログ倉庫に格納されています