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

レス数が900を超えています。1000を超えると表示できなくなるよ。
2019/07/16(火) 15:36:23.74ID:i1fbuZ/pM
!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)

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

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

■関連スレ
C#, C♯, C#相談室 Part95
https://mevius.5ch.net/test/read.cgi/tech/1508168482/

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

■情報源
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
2019/09/26(木) 23:38:48.19ID:QoSQSwcY0
なるほど参考になりました。
今思えば既にタブごとに部分クラスわけしてファイル別になってたような気がしないでもない……となると実質一クラス10万行か。笑えない
2019/09/27(金) 06:43:42.33ID:N2euUEC0M
>>800
1000行超える時点でオブジェクト指向できてない証拠
2019/09/27(金) 08:33:35.75ID:1dreLMG90
フォーム以外で使わない処理を
わざわざ外部のファイルやクラスに作る必要なんてある?
2019/09/27(金) 08:42:46.73ID:eAUqf5T9a
>>807
それで可読性が高まるならやる意味はある
2019/09/27(金) 09:06:13.84ID:ikgA/i06d
C#は1ファイルに全部書けるので必要ないです
2019/09/27(金) 10:07:45.04ID:NnPkuVhE0
再利用しないならそれでいいんじゃね?
2019/09/27(金) 22:47:27.06ID:uik+OEWH0
お前を含めた全人類が未来永劫そのコードに手を加えない保証があるなら好きにすればいい
2019/09/27(金) 23:28:58.48ID:MmWjZkvh0
ググったらタブ大量にあるような場合>>802がクラス分割のためのメジャーな手法なのね
2019/09/28(土) 08:43:54.27ID:uN9Z5b+x0
游ゴシックの英数文字をMeasureStringで取得した矩形を使ってDrawStringすると高さ不足で表示されない

矩形を使わなきゃ表示はできるから良いけどもやもやする
2019/09/28(土) 10:37:47.08ID:elJniuwU0
フォント周りおかしいのはMS伝統では
ないだろうか?

815デフォルトの名無しさん (アウアウウー Sa8b-dvEi)
垢版 |
2019/09/28(土) 14:09:54.66ID:51nJyp6ja
そんなざっくりした話じゃ、どうせお前自身のコードのバグだろって
反応しか返ってこないと思うw
2019/09/29(日) 01:52:26.51ID:sVRG+wNI0
インターフェイスと抽象クラスってどう使い分ければ良いのでしょう?

ググってもよくわかりません。
2019/09/29(日) 02:47:00.08ID:TNnn17Gh0
インターフェースなら継承関係のない複数のクラスのように
振る舞うことができる
2019/09/29(日) 02:49:22.44ID:HU0MDVmv0
大雑把言えば
プロパティとフィールド(値)を保持するのがクラス
クラスのメソッド(挙動)を公開するのがインターフェイス
2019/09/29(日) 02:54:07.57ID:TNnn17Gh0
それが抽象クラスとなにが違うのだ?と彼は聞いているわけで
2019/09/29(日) 03:01:23.20ID:HU0MDVmv0
インターフェイスは値を持たないし
原則として挙動の実装も持たせない
821デフォルトの名無しさん (アウアウウー Sa8b-dvEi)
垢版 |
2019/09/29(日) 03:20:49.12ID:m1n6jIU5a
>>816
使い分けで悩む必要はないと思うよ。
インターフェイスで目的が達成できるならあえて抽象クラスを使う理由はないのだから。

たぶん使い分けが分からないのではなく、インターフェイスの使いどころが分からないだけじゃないのか。
よくわからなくてもとにかく実際コードを書いて使ってみることが重要。
別に難しい話じゃないので使ってるうちに自ずと分かる。たぶん
2019/09/29(日) 03:35:49.46ID:TNnn17Gh0
多重継承的なことがしたくなったらインターフェースを使う
くらいな感じでいいのかもね
2019/09/29(日) 07:08:46.93ID:5VaVy3IA0
私もよくわからないんですが、インターフェースって実装内容は問わないけどこの名称のメソッドは用意しなさいよってコトですかね?
インターフェースでメソッドを定義しても、継承したクラスがそのメソッド名に合ってない実装をしてしまったらと考えるとインターフェースのメリットがイマイチピンときません
2019/09/29(日) 07:26:53.36ID:ehZkSMIn0
疎結合
2019/09/29(日) 08:56:25.44ID:qdFsd7WD0
>>823
継承したクラスで変にオーバーライドされたら…
なんて気にしたら何も書けなくなるよw
それはオーバーライドした奴の責任だから気にしてもしょうがない
2019/09/29(日) 09:00:39.96ID:TNnn17Gh0
それって抽象メソッドでも同じ事じゃないの
2019/09/29(日) 11:47:55.74ID:YvnTsZym0
多態で使うんだよ
用意しなさいってのは発想が逆で、インターフェースに定義されているプロパティなりメソッドなりが実装されていることが保障されていると考える
実際の実装は気にせずに呼ぶ側はインターフェースのメソッドを呼べばいい
2019/09/29(日) 11:59:54.10ID:J9ITXYeqp
抽象クラスは重複の排除で使う、インターフェイスはテストする時の視点で必要

クラスAがクラスBの機能を利用する時に
クラスAはインターフェイスに対して実装しとけば
クラスBの変更に影響を受けないし、
テストする時にクラスBの代わりを作るのがインターフェイス部分だけになる
これがもしクラスAがクラスBの抽象クラスに対して実装すると、
クラスAをテストするときに抽象クラスの不要な部分まで要求されてしまう

また複数人開発においてもインターフェイスを利用すれば各個人が独立に作業しやすくなる
829デフォルトの名無しさん (アウウィフ FF8b-yXpG)
垢版 |
2019/09/29(日) 12:01:49.30ID:3s0zt66kF
呼んだはずのメソッドが(インターフェースでは要求されてるのに)実装されてなかったら
コンパイルエラーじゃなくて実行時に例外吐くか
unknownmethod()みたいな呼び方してくれると便利
2019/09/29(日) 12:05:37.87ID:INBbqatbr
不便だろ
2019/09/29(日) 12:07:56.33ID:wmQ9rxKs0
クラスに由来しない振る舞いを定義するのがインターフェイスとも言えるね。

良く例示される「動物」クラスで考えると。
・「動物」は動くのだから「移動」メソッドに必然性がある
・だけど「移動」するのは動物だけではない
・いま「移動」と言うメソッドに着目して操作を行いたいとする
・「移動」は動物でも自動車でもロボットでも行う
・でも自動車もロボットも動物ではないのでいからそのメソッドの由来を「動物」クラスに求めるわけにはいかない
・加えて、動物や自動車やロボットに直系する(基底)クラスもない
・故に「移動」メソッドの由来を「動物」クラスにではなく「移動」インターフェイスに求めてみる
・・・的な。
2019/09/29(日) 12:08:06.40ID:INBbqatbr
実行時に例外吐くのはめちゃくちゃ恥ずかしい

コード書いたやつはバカですと言う証明
私はデバッグもできない馬鹿ですで表明してるようなもの
2019/09/29(日) 12:13:32.63ID:INBbqatbr
コンパイル時にエラー吐くならそこでデバッグできる

実行時エラーなら全ての場合でエラーがないことを実際に確認しなければならない

どちらが便利かわかるだろ
2019/09/29(日) 19:29:34.79ID:TNnn17Gh0
>>831
いい例えだね
俺も使わせてもらうわ
2019/09/29(日) 20:03:13.25ID:sVRG+wNI0
先日、マンガ村の運営者が著作権法違反の容疑で逮捕された。

c# プログラマもマンガ村と同様の共有システムgit等を利用し、マンガやソースをインターネットを通して共有している。
github など分散型のバージョン管理システムを利用している c#プログラマはマンガ村の管理者と同じ位置にいるといえる。単なる利用者ではない。

c# プログラマはマンガ村管理者と同一人物といえるので、著作権法違反の共同正犯として刑務所にぶち込むべき。
2019/09/29(日) 22:53:02.75ID:1CaVkali0
c#のインターフェイスにはプロパティも宣言できるよね
あれは実質的にはフィールドと同じ様な感覚で使えてしまう
2019/09/29(日) 23:37:43.33ID:uMWzDoEma
だって>>831のような解釈は時代遅れだし特にC#(というかMS系)では一般的ではないからな
今時は「動物」という一般的実在だろうが「移動できる」という抽象的性質だろうが区別せず、
実装を限定したくない場合は原則常にインターフェイスを使うのが一般的だ
特にMSの場合は顕著で、ほぼ全クラスの全メソッドをインターフェイスに定義するというスタイルを取ることが多いし、またそれを推奨してもいる
838デフォルトの名無しさん (アウアウウー Sa8b-dvEi)
垢版 |
2019/09/29(日) 23:56:27.42ID:8QPFQcOxa
ほんとかよそれwwwww
2019/09/29(日) 23:59:46.39ID:k4CvVXqN0
>>837
初心者スレで珍妙な独自理論を一般的だなんて教えるのはやめれ
2019/09/30(月) 00:22:33.73ID:LVz3OUV70
今年始めた初心者だが
クラスが大カテゴリ
メソッドが小カテゴリ
インターフェースが小カテゴリらの存在を保証する中カテゴリ
このくらいの認識しかなかったわ
2019/09/30(月) 00:32:45.02ID:C9eDYcBn0
宣教師と見た
次にスクリプト言語を薦めて来るぞ
2019/09/30(月) 00:57:12.69ID:PJtB8DfJ0
831 だけど。

複数のクラスインスタンスの動的読み込みとか始めるとそんな感じになることもあるよ。
プラグインとかの識別に便利だし。
そうだとしても、たぶん 831 の1行目と矛盾してないでしょ。

ただ初心者相手の説明にこんなこと言いだしたら収拾がつかなくなるし、
全メソッドをってのは、まあ頑張ってな、と返すしかないけど。
843デフォルトの名無しさん (ワッチョイ 7f2d-Jn7s)
垢版 |
2019/09/30(月) 01:48:44.79ID:dOfJdIlZ0
すまんが、エラーメッセージにあるカッコ内の行番号らしきものってさあ
片方は間違ってる行っぽいけど、もう片方は一体何なんだぜ?
2019/09/30(月) 02:02:42.92ID:zBUNKmmLa
>>843
その行の何文字目かって意味
例えばファイル先頭に「int a = "";」と書いたら(1,5,1,6)でエラーが出るけど
これは「1行目5文字目〜1行目6文字目」の箇所でエラーになっていることを表している
845デフォルトの名無しさん (ワッチョイ 7f2d-Jn7s)
垢版 |
2019/09/30(月) 02:09:52.87ID:dOfJdIlZ0
>>844
ありがとう!何文字目かなんて全然わかんなかったよ
2019/09/30(月) 08:08:24.00ID:fD1lXHN30
質問いいですか?
2019/09/30(月) 08:10:26.75ID:ws0x1Tjj0
>>846
駄目です
2019/09/30(月) 08:17:51.94ID:nNBu0V63d
>>847
その返しはこのスレではいかんだろ(笑)
2019/09/30(月) 08:41:05.60ID:bmAzH1750
トイレ行ってきていいですか?
2019/09/30(月) 08:55:42.37ID:BmNMZ9TsM
もう居るだろう
2019/09/30(月) 09:29:49.98ID:fD1lXHN30
では質問しますね
Timerコンポーネントで
Timer1.Interval = 5000;とすると、プログラム起動後5秒後に初めてTimer1_Tickが
実行されますよね、これを起動時に1度実行したいのですがどうしたらいのでしょうか

Form1_Loadに書けばいいような気がしますが引数がわからない
2019/09/30(月) 09:31:40.04ID:Q4pocwaT0
忘れたけどTimerってTimers.TimerもThreading.Timerも大体どんな種類の奴でも最初のディレイタイム指定できなかったっけ?
2019/09/30(月) 09:58:04.89ID:fD1lXHN30
>>852
レスサンクスです
Delayでぐぐってみましたが、プログラムを遅延させるほうのDelayばかりヒットして
なかなか見つかりません、Timerのプロパティにそういうなのがあればいいんですが
2019/09/30(月) 10:05:34.65ID:g7w6SBZq0
>>853
処理を関数化しておいて、コンストラクタから呼んだらいいんじゃね?
別にタイマーから呼ばなくてもいい
2019/09/30(月) 10:13:21.52ID:e45pyL0lM
>>851
最初100で、中で則5000書き換えじゃあかんかったっけ
2019/09/30(月) 10:40:02.13ID:fD1lXHN30
>>854
サンクスです
Timer1_Tickの中の処理をゴソっと別にうつすんですか、確かにうまくいきそうですね

>>855
さんくすです
Timer1.Interval = 100;からTimer1.Interval = 5000;に変更ですか
これもうまくいきそうですね、厳密な秒数は必要じゃないですし
857デフォルトの名無しさん (アウアウウー Sa8b-dvEi)
垢版 |
2019/09/30(月) 10:47:03.32ID:ZcJV4ZEKa
>>851
どんな方法使ってもいいけど後で読んだ時に何をやってるか
分かりやすいのが一番だね

public Form1()
{
  InitializeComponent();
  Form1.Load += (sender, e) => OnEvery5Seconds();
  Timer1.Tick += (sender, e) => OnEvery5Seconds();
}

void OnEvery5Seconds()
{
.....
}

こうやった場合、FormのLoadイベントより前にOnEvery5Secondsが呼ばれる可能性が
あることは注意する必要がある。(実際にはないと思うけど)
2019/09/30(月) 11:16:30.25ID:fD1lXHN30
>>857
れすさんくすです
なるほど、こんな書き方もできるのですね、うまくつかえばすっきりまとまりそうです
2019/09/30(月) 23:02:09.82ID:S0uOX3sP0
>>852
流れから推測するとたぶんWindows.Forms.Timerクラスだね
860デフォルトの名無しさん (ワッチョイ 7f2d-Jn7s)
垢版 |
2019/10/02(水) 01:49:10.77ID:4PgWnh+40
非同期メソッドでちょっとだけ同期処理するのにはどうすれはいいのですか?

async Task ABCasync(){
ABCasyncの呼び出し元には、終わるまで待っていてもらいたい処理();
//ここでtaskで呼び出し元に何かを返せたりするのかしら?
ABCasyncの呼び出し元には、待っていてもらう必要のない処理();
}
2019/10/02(水) 02:14:39.18ID:mDEdylW50
強引に実装することは可能だがメソッド分割すべき
2019/10/02(水) 07:28:12.15ID:YugGu4Uj0
クラスは知識
メソッドは機能
という認識は事のほか難しいんけ?
2019/10/02(水) 08:07:26.42ID:Vm3TcWW10
>>862
そういう一般的でもない訳のわからない解釈を出されても、普通の人には理解できないかおかしな理解のまま突き進むことになるだろう
2019/10/02(水) 08:15:53.12ID:gR9x9lAq0
クラスは学校とかのクラスって認識でいい
2019/10/02(水) 11:07:45.90ID:9X+f8gXkr
ゲームのクラスの方がわかりやすい気がする

戦士 魔法使い 僧侶 盗賊

それぞれできることが違う
2019/10/02(水) 11:18:19.95ID:VgxhRvTXp
あはは、まあ、学校のクラスだと対抗戦が出来るくらいに似たり寄ったりだから意味が分からないよな。
2019/10/02(水) 11:59:15.15ID:8UOZigmra
逆に、同一のクラスの異なるインスタンスなんてのもできないしね。
868デフォルトの名無しさん (ブーイモ MM0b-upKm)
垢版 |
2019/10/02(水) 12:12:09.33ID:VOEDuxVKM
>>865
じゃぁ男女別は?
どっちのクラスが上位なの?
それとも同格で、男戦士 女戦士ってなるの?

半魚人タイプとか4足系の戦士は?
2019/10/02(水) 12:26:49.61ID:9X+f8gXkr
出来ることが変わらないなら基本変えなくていいよ
設計次第だけど

質問の内容の男戦士と女戦士で何が違うのかはっきりしない
力などの属性値(プロパティ)だけが違うなら分ける必要はないわな
半漁人でも4足系の戦士でも数値しかかわらないなら同じ

コードが共通になるなら基本的に分けなくてもいい
2019/10/02(水) 19:59:53.93ID:dZRRj/1Z0
強引に何かに例えるよりコード書いてみた方がいいよ
2019/10/02(水) 20:20:25.32ID:IV023jBj0
C#はじめて最初の日に読み飛ばすところで議論しても不毛だよな
>>870に賛成
2019/10/03(木) 00:57:21.26ID:z1GHd6rla
質問です
工場とかインフラの制御ソフトモドキを成果物としてWindowsアプリケーションの形式でC#で作りたいんですが、この2冊終わった後にWindowsアプリケーション開発の本買うなら何が良いですか?
また、本が時間の無駄だとしたらどこのサイトを参照すれば良いですか?
上記の件よろしくお願いしますm(_ _)m

1冊目 なるほどなっとくC#入門
2冊目 C#プログラミングのイディオム/定石&パターン
2019/10/03(木) 01:02:05.17ID:t45ZyD0e0
そりゃ一番はMicrosoftのチュートリアルでしょ
https://docs.microsoft.com/ja-jp/visualstudio/ide/step-1-create-a-windows-forms-application-project?view=vs-2019
2019/10/03(木) 01:16:35.63ID:z1GHd6rla
>>873
ありがとうございますm(_ _)m
875デフォルトの名無しさん (アウアウウー Sa21-5zAY)
垢版 |
2019/10/03(木) 01:19:35.07ID:pRlPv1jza
>>872
FormならGUIの作り方は必用なことをググって調べながら実際に作ってみるのが一番。
本は1冊以上は読むだけたぶん時間の無駄。

何かを制御するなら、それが大企業の製品で.NET用のライブラリが用意されているのでない限り
たぶんアンマネージドの知識が必要になる。
これは多分本はないので自分でググって調べる

あと多分非同期処理は必須。
最初.NET1.x時代の生のThreadとか使う記事に軽く目を通して、
その後は今時のTPLや非同期メソッドの記事を読めばいい。
本もあるけどたぶんweb上の記事で十分
2019/10/03(木) 01:26:24.07ID:wBmuAStK0
非同期メソッドの実行自体は慣れたけど
win10のアップデート強制再起動時に
非同期処理中のタスクをきちんと終了させる方法がわからん

突然書き込み中のファイルがぶっ壊れそうで怖いわ
2019/10/03(木) 01:35:18.06ID:z1GHd6rla
>>875
ありがとうございますm(_ _)m
2019/10/03(木) 01:39:57.58ID:dygVDi5Yd
>>875
工場の制御ってRS-232CとかPLCとかGPIBとかやろ
別にアンマネージド必要ないだろ
879デフォルトの名無しさん (アウアウウー Sa21-5zAY)
垢版 |
2019/10/03(木) 01:45:45.89ID:pRlPv1jza
>>878
そうかもしれないけど拡張ボードの型式でライブラリはアンマネージドdllだけかもしれない。
USB接続でアンマネージドdllの可能性もある
何とも言えない
2019/10/03(木) 15:11:12.65ID:xDvwVpv4p
マネージドなドライバーが無いなら使わないって選択をだな。
2019/10/03(木) 18:33:07.86ID:65+5RZIm0
UI操作とawaitを使った非同期メソッドをまとめたasyncメソッドを別スレッドから呼び出すにはどうすればいいですか?
2019/10/03(木) 18:36:08.92ID:XDm3DYNpd
>>881
??何が聞きたいの?
2019/10/03(木) 18:42:35.24ID:65+5RZIm0
>>882
すみませんでした。
例えばこういう感じのメソッドを別スレッドから呼び出す方法を教えてください。

async Task DoSome()
{
label1.Text="処理中...";
await DoLong();
label1.Text="完了";
}
2019/10/03(木) 20:27:59.44ID:AKImZpfb0
正直設計を考え直した方がいいけど
メインスレッドで動作してる間に
TaskScheduler.FromCurrentSynchronizationContext()
でTaskScheduler確保しておいて、その"別スレッド"内で
new Task(() => DoSome()).RunSynchronously(taskScheduler)
する
2019/10/03(木) 20:48:28.97ID:Cd3mzBuJ0
こうじゃダメなの?
Invoke((MethodInvoker)(async () =>DoSome()));
2019/10/03(木) 22:23:35.99ID:Y5r0apvPr
呪文化しただけにも見える
2019/10/04(金) 00:31:32.74ID:hyuh0V300
メソッド側を修正する必要があるけど、
こういうことでは?

別スレッドからのUI操作
https://qiita.com/mounntainn/items/8a2b4f1cf47bd02657f3
888デフォルトの名無しさん (アウアウウー Sa21-5zAY)
垢版 |
2019/10/04(金) 01:26:24.02ID:oVLixzTMa
>>883
やっぱりそういうのは非UIスレッドからも呼び出せるようにする、ではなく、
逆に普通にUIスレッド専用のメソッドとして提供して、
もし必要ならXMLコメントとかで「UIスレッド以外からの呼び出し禁止」って
明示するのが筋なような気がするw
2019/10/04(金) 09:42:07.42ID:7JHQ1IR60
>>884
>>888
filesystemwatcherのハンドラから呼び出すと別スレッドからの呼び出し扱いになってしまいます。
2019/10/04(金) 09:50:12.44ID:K3mQ1Iatp
まあその用途ならやっぱコントロールのInvokeの中で呼べばいいだけの話しだな
DoLongの中でさらに入り組んでるとデッドロックしそうだけど
891デフォルトの名無しさん (アウアウウー Sa21-5zAY)
垢版 |
2019/10/04(金) 14:31:48.61ID:RxmXvWZXa
こんなの考えてみたが、あんまり便利でもないなw
private bool TryOnUIThread<T>(EventHandler<T> eh, object sender, T e) where T:EventArgs
{
  if (!InvokeRequired) return false;
  Invoke((Action)(() => eh(sender, e)));
  return true;
}

private void FileSystemWatcher_Changed(object sender, FileSystemEventArgs e)
{
  if (TryOnUIThread(FileSystemWatcher_Changed, sender, e)) return;
  var t = DoSome();  
}
2019/10/04(金) 15:21:51.76ID:5G6hsRzp0
FileSystemWatcherはSynchronizingObject持ってんじゃん
設定しとけば勝手にBeginInvokeでイベントハンドラ呼んでくれるよ
2019/10/05(土) 10:15:38.99ID:hjSAU91p0
質問なんですが
設定ってどこにどうやって保存してますか?
.configが今ならベストなんでしょうが、保存先が
C:\Documents and Settings\UserName\Local Settings\Application Data\
になり、.iniのように、アプリをコピーで2つの設定が使えるようになりません

.configはファイルの場所が遠くて変更しにくい、iniは古くてC#で扱いにくい
どうしてますか?
2019/10/05(土) 10:23:45.47ID:BObIlSOA0
>>893
インストールするアプリはユーザーデータフォルダのどっかに保存しないと駄目じゃん
どこでも置けるやつはexeと同じ階層に設定ファイルあったほうが使いやすいじゃん
ってだけしか気にしたことない
2019/10/05(土) 10:30:58.10ID:hjSAU91p0
>>894
れすさんくすです
確かにそのとおりだとおもいます

インストーラーではなく、ZIPとかで配布で、ちいさなアプリで、主にシングルユーザーで
ってなると.iniになるんでしょうか?
2019/10/05(土) 10:31:02.26ID:elsuYLim0
>>893
設定を保存するクラスを作って、xamlかjsonにシリアライズ
アプリのコピーで使い分けるなら、保存場所はアプリのexeと同じフォルダー
2019/10/05(土) 10:34:16.80ID:BObIlSOA0
>>896
xmlとjsonなんて編集できるツールあるの?
パンピーにインデント壊さないでねなんて無理よ
2019/10/05(土) 10:43:34.43ID:elsuYLim0
>>897
元の質問に設定ファイルを手動で編集したいなんて書いてないが
899デフォルトの名無しさん (ワッチョイ b67c-MsYi)
垢版 |
2019/10/05(土) 10:47:20.84ID:xk/GxZ7j0
jsonもxmlもインデント関係ないから自由にさせろ
強制したいならyaml使え
2019/10/05(土) 12:25:09.61ID:8Jk2Tveb0
>>897
インデントわろた
2019/10/05(土) 12:42:35.73ID:sqkLDT76d
>>897
インデントwwww
2019/10/05(土) 15:47:01.45ID:BObIlSOA0
インデントっていうかカッコの対応?
でもその一点でxmlとjsonっておよびじゃ無くない?
これらを使うなら設定ツールが必要になると思う
2019/10/05(土) 16:03:44.47ID:8Jk2Tveb0
よく出てこれたな
2019/10/05(土) 16:30:09.26ID:BObIlSOA0
>>903
何度でも言えるよ
xmlとjsonは設定ツールがないと使えないゴミ
レス数が900を超えています。1000を超えると表示できなくなるよ。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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