C#, C♯, C#相談室 Part91
at TECH
[前50を表示]
800:デフォルトの名無しさん
16/10/15 13:47:32.69 trxVi14T.net
あるフォームのボタンを押されたら、スレッドを作って
そのスレッドからフォーム内のラベルの読み書きをおこなう
というプログラムを書いているんだけど
スレッドを別クラスで書くにはどうしたらいいんでしょうか
スレッドを作るとき、そこにフォームのポインタを渡せばいい?
801:デフォルトの名無しさん
16/10/15 13:54:45.28 P+QAjsnw.net
>>776
.Start(Object)のObjectにフォームを入れる。
もちろんThreadのParameterizedThreadStartは引数にObjectが必要。
スレッド終了方法にコツがいるから注意な
802:デフォルトの名無しさん
16/10/15 13:56:21.00 P+QAjsnw.net
なお、Invokeで操作するだぞ
803:デフォルトの名無しさん
16/10/15 14:59:51.84 k370RUkX.net
今時Threadを直接使うとか時代錯誤甚だしい
続けて処理をするなら、メインスレッドからTaskを開始→メインスレッド上でawait→結果受け取ったらラベル更新→次のTaskを開始→…
って感じの流れにするのが今風
804:デフォルトの名無しさん
16/10/15 15:13:08.29 auQgHyKE.net
FW4.5以上必須だけど
805:デフォルトの名無しさん
16/10/15 15:16:20.18 trxVi14T.net
>>777
Start前に別スレッド用のクラスのメンバーに渡しました
ヘタレですみません
>>780
古い機械で動かす用なので今風にはできません
ヘタレですみません
806:デフォルトの名無しさん
16/10/15 16:47:54.95 P7MwN4Hv.net
>>779
意識高いねー
807:デフォルトの名無しさん
16/10/15 17:35:29.50 pMgLYSqA.net
最近は当たり前のことを意識高いと揶揄する若者が増えたよね
808:デフォルトの名無しさん
16/10/15 17:50:47.61 xaDriJeZ.net
ポーリングとかほぼ回しっぱなしの処理ならむしろ生スレッドでいいと思うけどね。
前も書いた気がするけど、デッドロックしやがるたちの悪い処理にも対応可能だし
809:デフォルトの名無しさん
16/10/15 18:44:32.46 uHGHKnNI.net
C#はC++よりも、
810:他人の書いたコードが分かりやすく、数年前のコードが読みやすい言語なのでしょうか?
811:デフォルトの名無しさん
16/10/15 18:47:09.72 I3OeS+b+.net
結論から言うとそんなものは書いた人によります
812:デフォルトの名無しさん
16/10/15 19:01:46.62 6v+uOgk1.net
少なくとも他人のC++の古い糞コードは読みたくない
C#は数年前でもあんま変わらんからそれほどでもない
813:デフォルトの名無しさん
16/10/15 19:41:54.19 UDl7k1b2.net
古い機械って、XPなのかなw
LINQ Task等の登場前後でC#のコードもだいぶ変わってきてきてる気がする。
C#7.0以降でも、どんどん変わって行く気配。
814:デフォルトの名無しさん
16/10/15 19:50:54.93 Gdu5DIb6.net
C#のformアプリで画面内にCADみたいな線を引っ張ったりするものって作ること可能?
815:デフォルトの名無しさん
16/10/15 20:14:30.17 lUEMvsqs.net
C#から勉強したから
C++気持ち悪くてしょうがない
本のサンプルコードに多いから
仕方なく勉強してるけど
816:デフォルトの名無しさん
16/10/15 20:28:52.91 Y5UYqbC9.net
>>789
CADみたいな、の意味がいまいちわからないが簡単な図形なら描ける
URLリンク(dobon.net)
上のページのはコードで座標を決めてしまっているが、マウスドラッグで指定した位置に描くものとかは簡単にできる
817:デフォルトの名無しさん
16/10/15 20:38:05.23 pX/A0T2U.net
>>791
サンガツ
白紙にエクセルのオートシェイプの機能とか文字を好きな位置に挿入する機能を持ったものかな
線のボタンを描画モード、文字ボタンを押せば文字モードみたいなの出来るかなーって
818:デフォルトの名無しさん
16/10/15 20:41:29.04 Y5UYqbC9.net
>>792
>線のボタンを描画モード、文字ボタンを押せば文字モードみたいなの出来るかなーって
そこまでの標準のライブラリは無いので頑張って自分で作ろうw
文字の描画もGDI+でできるからUIの実装だけだ
819:デフォルトの名無しさん
16/10/15 20:50:25.38 vyO0bokn.net
>>780
Microsoft.Bcl.Async使えば.NET Framework 4.0 でも使える
820:デフォルトの名無しさん
16/10/15 20:59:19.56 vyO0bokn.net
>>784
Task作成時にLongRunningオプション指定すれば専用スレッドが作成されるので、ずっと動き続ける処理も対応可能
外から無理やり強制終了させるのはTaskじゃ出来ないけど、それは最後の手段な気が
821:デフォルトの名無しさん
16/10/15 21:01:52.12 trxVi14T.net
ずっと裏で動いているスレッドが1つあって
そのために1つだけスレッドを作っているんだけど Threadじゃだめかな・・・
終了時、Invoke中にメイン死ぬと不正終了になるんだけど
こういうのもTaskとかだとなにもしなくても解決するのかな
822:デフォルトの名無しさん
16/10/15 21:04:09.39 pX/A0T2U.net
>>793
作成可能なのかぁ
よっしゃ頑張って調べてみる
ありがとう
823:デフォルトの名無しさん
16/10/15 23:28:16.70 f1QyDe2U.net
>>756
win32api 直たたきでやる
824:デフォルトの名無しさん
16/10/16 09:25:32.19 N3K1drKB.net
別にDeprecated表示が出るわけでもないのに
いちいち人の顔色確認しないと使えないのかよって感じ
825:デフォルトの名無しさん
16/10/16 09:47:25.93 FoYCot45.net
>>796
そもそもずっと動いてる必要があるのかっていう
スレッドが使われる大半のケースは非同期プログラミングが面倒だからで、
asyncのように継続を自然に記述できる十分優れたプログラミングモデルがあればそもそも必要ないことが多いよ
826:デフォルトの名無しさん
16/10/16 10:13:05.42 JeZKc2qD.net
結局、待ち合わせ処理を上手く書けなければ、非同期処理はドツボルだけだからな
827:デフォルトの名無しさん
16/10/16 10:17:44.05 6cPEMPfX.net
今はasync/awaitのせいでそれ意味あん?っての多いな
828:デフォルトの名無しさん
16/10/16 11:01:54.51 jn8AI4NK.net
IProgress<T>も追加されたし、Control.Invoke()とかBackgroundWorkerとか全然使わなくなったなぁ
829:デフォルトの名無しさん
16/10/16 11:26:09.74 LqkHCFhg.net
MSHTML?とかDOM?の話ってここでしても大丈夫?
id='hoge' なdivを探して、さらにその中に散らばっている class='piyo' なdivを
コレクションしたいんだけど、うまく書けない
830:デフォルトの名無しさん
16/10/16 11:27:43.38 jbRBUkYK.net
$('hoge').children('.piyo')
831:デフォルトの名無しさん
16/10/16 16:08:56.29 43exmUNo.net
MSHTMLはCOMコンポーネントスレだな
C#ではない
832:デフォルトの名無しさん
16/10/16 16:16:22.79 6cPEMPfX.net
ここよりもどこの方が答え出やすいだろってんならわかるが、C#でやりたいってんだからここでいいだろ
変なとこで聞くとC++とかjsでの例が返ってきて面倒
833:デフォルトの名無しさん
16/10/16 17:18:36.54 SvwLiUUm.net
一方このスレでは、使ってる人が居なくて回答がないってオチなんですけどね
ふふふ
834:デフォルトの名無しさん
16/10/16 17:25:57.62 FB+xb9yt.net
逆にnugetで使えるMSHTML的なライブラリを教えてあげたらどうですか
835:デフォルトの名無しさん
16/10/16 20:17:19.13 rLjB7sKS.net
>>804
上手く書けないってどういうこと?
classNameのことかもしれないなと思ったけど違うかな?
普通にdiv取ってクラス名をアトリビュート指定するとき'class'じゃダメ
'className'じゃないといけない
836:デフォルトの名無しさん
16/10/16 20:43:38.34 bkFW5Wdb.net
俺もさっき?ってなった
837:デフォルトの名無しさん
16/10/16 20:44:43.60 HptTw0AS.net
便利な定番ライブラリー教えてください
838:デフォルトの名無しさん
16/10/16 22:10:05.08 rLjB7sKS.net
nugetにも野良にもHTMLライブラリはあまりいいものがない
XPath指定しないといけなかったり単純じゃない
839:デフォルトの名無しさん
16/10/16 22:13:37.85 rLjB7sKS.net
jqueryみたいな使い勝手のものがいいのに全然そういうのは見当たらない
840:デフォルトの名無しさん
16/10/16 22:32:11.51 dK/+e+o+.net
か余計なことせずそのまま実績のあるjquery使えばいいのでは
841:デフォルトの名無しさん
16/10/16 22:55:35.24 Bi9cJ88q.net
>>812
定番かどうかは分からないけどHtmlAgilityPackはどう?
まぁ813が言っているようにXPath使わにゃならんから面倒だけど
842:デフォルトの名無しさん
16/10/17 00:41:57.54 gL0kaGzi.net
mshtmlつかうなら
URLリンク(msdn.microsoft.com)(v=vs.85).aspx
queryselectorが使える
843:デフォルトの名無しさん
16/10/17 21:53:10.29 vjQZXreA.net
HtmlAgilityPackかSGMLReaderあたりかなあ
844:デフォルトの名無しさん
16/10/18 16:42:09.62 7mpjJA7j.net
今動作してるIEの一覧を取得するのにSHDocVw.ShellWindows()を使うけど
IEかただのエクスプローラかそれとも何かのコンポーネントかを判別するのって
どうしたらいいの?
845:デフォルトの名無しさん
16/10/18 18:13:12.16 ewOaGiwG.net
そんなもの使うなとしか言えない
846:デフォルトの名無しさん
16/10/18 18:29:09.57 mq8BnqKZ.net
IE6のときならenumwindowで判断して、hwndからihtmldocumentに変換してたな
847:デフォルトの名無しさん
16/10/18 19:15:18.50 FlxOlnSe.net
>>820
無能だなー
848:デフォルトの名無しさん
16/10/18 20:46:41.52 ewOaGiwG.net
>今動作してるIEの一覧を取得するのにSHDocVw.ShellWindows()を使う
なぜこんなものを使う?
849:デフォルトの名無しさん
16/10/18 20:52:19.50 Gt7CC2vm.net
背後になんか面倒くさい理由を隠してるとしか思えんよな
850:デフォルトの名無しさん
16/10/19 12:11:35.27 LBA1+3Md.net
>>823
こんなもの以外の方法があるならおしえて
ほかの楽な方法があるなら知りたいわ
851:デフォルトの名無しさん
16/10/19 17:19:08.15 arYWyhLn.net
IEオートメーションじゃ実現できないのかな?
852:デフォルトの名無しさん
16/10/19 23:13:27.42 LBA1+3Md.net
MSHTML.IHTMLElement を MSHTML.IHTMLDocument3 にキャストできるの?
853:デフォルトの名無しさん
16/10/19 23:33:28.27 O7AcwVjM.net
documentプロパティから取れるんじゃないか?すくなくともihtmldocument2は取れる3は使ったことないから知らね
854:デフォルトの名無しさん
16/10/20 11:00:38.44 m/6IB2Ib.net
ベクトル使いたいからWPFのチュートリアルみてるけど
もう自分で実装してForm使った方が早い気がした
855:デフォルトの名無しさん
16/10/20 11:21:11.77 h44EP0Eo.net
標準のメッセージダイアログを継承して
おっきいダイアログ出せるようにできる?
856:デフォルトの名無しさん
16/10/20 11:52:28.07 h1aMlyOK.net
>>830
継承してもstaticメソッドの実装はオーバーライドできないよね。
ゼロベースで作っても大した手間でもないよ。
俺はモーダレスかつタイマーで自動で消えるメッセージボックスを自作して使ってる
857:デフォルトの名無しさん
16/10/20 12:16:12.40 h44EP0Eo.net
>>831
ありがとう。 自分で作った。
858:デフォルトの名無しさん
16/10/20 12:33:25.92 hy7ZxWJM.net
なんでたまに継承できないクラスあるのかな?
859:デフォルトの名無しさん
16/10/20 12:33:46.23 hy7ZxWJM.net
オーバーライドだった
860:デフォルトの名無しさん
16/10/21 22:58:40.56 qlDwM755.net
gcnewってなに? 今でも使っているの?
861:デフォルトの名無しさん
16/10/21 23:06:00.00 myg7EJ7B.net
>>835
c#にgcnewは無いよ。
C++/CLIでc#のnewに相当するのがgcnew。
マネージオブジェクトを割り当てるのに使う。
862:デフォルトの名無しさん
16/10/22 11:50:35.71 uYEAFNJ9.net
>>836
ありがとう
何かの記事でごっちゃに見たみたいだな
863:デフォルトの名無しさん
16/10/22 15:25:07.68 nST3ahFj.net
質問
LINQのクエリ/メソッド式って、どう使い分けるもんなん?
「こういう人はこう」でも「こういう状況ではこう」でもいい。
864:デフォルトの名無しさん
16/10/22 16:27:57.03 Hz0V4lr8.net
とりあえずLINQ to Objectsの場合
基本的にクエリ式は忘れていいと思うよ
SelectManyが出てくるときだけ思い出すことはある
865:デフォルトの名無しさん
16/10/22 16:39:49.89 nST3ahFj.net
ありがとう、あんまり気にしないことにする
866:デフォルトの名無しさん
16/10/22 17:43:18.97 29Li8We/.net
>>829
君の言うベクトルって何?
画像系の話?
867:デフォルトの名無しさん
16/10/22 18:08:09.54 O/1X83Cc.net
>>838
単純なクエリはメソッドの方が簡潔に書けるけど、複雑になると解読不能になるからクエリ式を使う
具体的にはネスト(SelectMany)やjoinやgroupbyを使う場合だな
クエリ式だとletでエイリアス作れるし
868:デフォルトの名無しさん
16/10/22 19:37:45.10 jUJZAwsX.net
管理者権限が必要な処理の書き方とか全然知識
869:がないんだけど、そういうの詳しく書いてある本ってあります?
870:デフォルトの名無しさん
16/10/22 23:36:47.33 AdTl/Wc+.net
class 社員 { public string 名前; }
class 部署 { public List<社員> 社員リスト; }
class 会社 { public List<部署> 部署リスト; }
static void Main()
{
var data = new List<string[]> {
new string[]{ "会社A", "営業部", "社員1"},
new string[]{ "会社A", "営業部", "社員2"},
new string[]{ "会社A", "営業部", "社員3"},
new string[]{ "会社A", "技術部", "社員4"},
new string[]{ "会社A", "技術部", "社員5"},
new string[]{ "会社A", "経理部", "社員6"},
};
var 会社A = new 会社();
// ここで date を 会社A の中に代入したい
}
こういう単純なクラスとデータがある場合に、dataを会社Aに代入したいのですが、forループでやろうとすると例えば営業部の部署名が複数回出てくるので
上手く出来ませんでした。上級者の人のテクニックを教えて下さい。
本当は会社B、会社CもあるdataをList<会社>に入れたいのですが、まずは会社Aのみで。
あるいは、より良いクラス定義のしかたやデータの持ち方などありましたら教えてください。
871:デフォルトの名無しさん
16/10/23 00:22:31.27 B5STCa/c.net
>>844
何がしたいのかよくわからんけど、そのコードだと
会社は会社名のプロパティを持ってないし部署も部署名のプロパティを持ってないから
"会社A"とか"営業部"とかいうデータは使われず捨てられちゃうと思うんだけど、そこはいいのかな?w
872:デフォルトの名無しさん
16/10/23 07:53:45.11 OxwAMa74.net
>>844
Listの操作でいけるだろ
コンストラクターの引数で
873:デフォルトの名無しさん
16/10/23 09:52:13.25 1pxdLQGB.net
部署クラスが部署名を持ってないってことは、その部署クラス(のインスタンス)をみても
どの部署かわからんってことだぞ
つまり、社員の部署が分かったとしても、その社員を
List中のどの部署インスタンスに設定してよいかわからんってことだ
874:デフォルトの名無しさん
16/10/23 10:49:08.80 sEyHovA2.net
class 会社{会社CD 会社名}
class 部署{会社CD 部署CD 部署名}
class 社員{社員CD 会社CD 部署CD 社員名}
個人的にはこんなイメージ
875:デフォルトの名無しさん
16/10/23 10:57:06.97 ZJ79iXt0.net
なんだそのCDって。
876:デフォルトの名無しさん
16/10/23 11:09:20.84 +n3OHrjP.net
「コード」の略として使われてるのを、帳簿やら流通やら管理やらで結構広く使われてるけど
プログラミング界隈に絞ると余り見ない気がする
877:デフォルトの名無しさん
16/10/23 11:14:50.63 hWrb1W5d.net
flagをflgにして1バイト削減するのとどちらがいい
878:デフォルトの名無しさん
16/10/23 11:18:19.73 KJ+MRgkM.net
省略がどうしても必要にならない限り
無意味な省略はしない
879:デフォルトの名無しさん
16/10/23 11:29:06.27 04VfEeFu.net
>>844
>営業部の部署名が複数回出てくるので
>上手く出来ませんでした
この部分の意味というかどうしたいかがわからん。"会社A"の要素の振り分けならContainsで確認するだけだが
880:デフォルトの名無しさん
16/10/23 11:39:54.27 hJuf8zeH.net
データ突っ込んでDBみたいに扱いたいならDataSetでも良いんじゃないの
速度求めるならオススメできんけどさ
881:デフォルトの名無しさん
16/10/23 12:00:39.55 0D6CiVY3.net
>>851
menuをmnu、userをusr、topをtpとか
何かの制御ボードのサンプルコードで見たけど
1バイト削ることに何の意味があるのか分からん
882:デフォルトの名無しさん
16/10/23 12:14:59.88 631/ZmCa.net
バーコードの最後の数字がC/Dって呼ばれてたな確か
check digitだったと思うけど
883:デフォルトの名無しさん
16/10/23 12:15:35.19 +n3OHrjP.net
大昔には削るメリットは結構あったらしい
変数名の長さに制限があるとか、エディタで扱いやすい長さだとか、そういうの。
884:デフォルトの名無しさん
16/10/23 12:18:54.25 XCFJNrSh.net
>>844
Dictionaryを使えばいいよ
class 社員 { public string 名前 {get;set; }
class 部署 { public Dictionary<string,社員> 所属社員 {get;} = new Dictionary<string,社員>(); }
class 会社 { public Dictionary<string,部署> 所属部署{ get;} =new Dictionary<string,部署>(); }
var 会社情報 = Dictionary<string,会社>();
foreach(var d in data) {
if(!会社情報.ContaintsKey(d[0])) 会社情報[d[0]] = new 会社();
if(!会社情報[d[0]].所属部署ContaintsKey(d[1])) 会社情報[d[0]].所属部署[d[1]] = new 部署();
会社情報[d[0]].所属部署[d[1]].所属社員[d[2]] = new 社員() { 名前 = d[2] }
}
885:デフォルトの名無しさん
16/10/23 12:19:09.90 sEyHovA2.net
未だに列名6バイトなクソDB使ってて
癖ついちゃってるんだすまない
886:デフォルトの名無しさん
16/10/23 12:24:08.02 LLV8Wwru.net
ジャップランドでは今なお80文字x24行の端末で開発もオペレーションもするマシンがバリバリ現役で山ほど稼働しており、
PGという名のライン工により日夜大量の糞コードが生産され続けているのです
887:デフォルトの名無しさん
16/10/23 12:25:50.86 XCFJNrSh.net
テーブル定義からDTO自動生成したら30文字以下の略式名称が沢山出てきてイラついた事ならよくある
どこの製品とは言わんが
888:デフォルトの名無しさん
16/10/23 12:29:06.93 8nXGysoS.net
>>858
分かりずらすぎ
889:デフォルトの名無しさん
16/10/23 12:51:39.85 XCFJNrSh.net
>>862
転職をお勧めするよ
890:デフォルトの名無しさん
16/10/23 13:03:17.86 8nXGysoS.net
Dictionaryなんて使わない。
891:デフォルトの名無しさん
16/10/23 13:10:06.70 Qt7KzQsX.net
今時はクラス名や変数名とかに日本語が使えるから分かりやすくていいよね
892:デフォルトの名無しさん
16/10/23 13:15:27.54 PYj3VGyg.net
>>864
自分の使わないものを「わかりづらい」って批判するのはただの思考停止だな
893:デフォルトの名無しさん
16/10/23 13:16:08.35 +n3OHrjP.net
>>865
あとはインテリセンスちゃんに頑張ってもらうだけ!
894:デフォルトの名無しさん
16/10/23 13:16:17.05 qVlUr/o9.net
フォームのボタンとかラベルの名前の付け方
何か命名規則やコーディング規約とかある?
labelHogeとかlbl_hogeとかルールあるの?
895:デフォルトの名無しさん
16/10/23 13:17:43.18 PYj3VGyg.net
>>868
そんなもの決まってないから
クラス名・変数名に迷ったら書き込むスレ。Part27
スレリンク(tech板)
気になるのなら上のスレに行け
896:デフォルトの名無しさん
16/10/23 13:18:39.73 YUghrMnK.net
会社の複数形…
会社達["会社A"].,["営業部"].["社員1"];
会社達.Select社員("会社A", "営業部", "社員1");
897:デフォルトの名無しさん
16/10/23 13:19:22.06 YUghrMnK.net
間違って . いれっぱだった
898:デフォルトの名無しさん
16/10/23 13:24:40.71 631/ZmCa.net
>>868
コントロール専用のルールはないけど、VB6みたいなハンガリアンはやめろってことにはなってたはず。
ただ実際はコントロールに限ってはハンガリアン使ってる人が多いと思う
899:デフォルトの名無しさん
16/10/23 13:43:56.51 7RJgAwd4.net
アプリケーションハンガリアンは普通に使う
インテリセンスがグループ化してくれて便利やろ
900:デフォルトの名無しさん
16/10/23 13:48:58.15 qVlUr/o9.net
>>869-873
ありがとう
とりあえずマイクロソフト推奨のルールは
ないってことやね
901:デフォルトの名無しさん
16/10/23 14:47:40.36 KJ+MRgkM.net
.NET Frameworkの記法に合わせる事にしてる
URLリンク(msdn.microsoft.com)(v=vs.100).aspx
902:デフォルトの名無しさん
16/10/23 14:52:56.32 Qt7KzQsX.net
分かりやすい日本語にしてる
903:デフォルトの名無しさん
16/10/23 15:22:39.08 LLV8Wwru.net
>>873
人それぞれだけど、俺は全てのラベルをラベルとしてグループ化するより
例えば会社名のフィールドならラベルとテキストボックスをまとめて会社名としてグループ化したい派
コントロールの種類でグループ化することにあまりメリットを感じない
904:デフォルトの名無しさん
16/10/24 11:24:49.66 l6YOm+ny.net
>>874
.NET前:MS「ハンガリアンを使え」
.NET後:MS「ハンガリアンを使うな」
URLリンク(msdn.microsoft.com)
905:デフォルトの名無しさん
16/10/24 11:33:54.68 ex01Zy3v.net
>>878
それ翻訳がおかしいだけでしょ
ちゃんと翻訳されてる方を見ろよ
URLリンク(msdn.microsoft.com)(v=vs.100).aspx
906:デフォルトの名無しさん
16/10/24 11:56:19.29 fiWgzVNs.net
規約と推奨をちゃんと切り分けて話してくれよ
質問者は最初に「規約」を聞いてきてその後に「MSの推奨」になっているけど話が全然別の物になるから
907:デフォルトの名無しさん
16/10/24 12:07:19.75 A1JDcDJD.net
>>880
規約があれば規約を教えてほしい。
規約はないが推奨はある というなら推奨でもいい。
推奨もないなら 「俺はこうしてる」 でもいい。
908:デフォルトの名無しさん
16/10/24 12:16:05.65 fiWgzVNs.net
>>881
推奨は>>878>>879でリンク貼ってもらっているだろ
そういったこと気にするのなら2chで聞くよりも適当に本何冊か買って書いてあるとおりにでもやればいい
職場なら職場のルールがあるし、趣味でやっているのならどうするかは個人の勝手なんだから
909:デフォルトの名無しさん
16/10/24 12:23:17.96 csInVVUs.net
どうでもいいことで妙な絡み方する奴だねw
910:デフォルトの名無しさん
16/10/24 12:25:46.22 TdMIMrel.net
あとMSの提示してる規則はあくまで不特定多数にAPIが参照される前提の「ライブラリ」に対してのみの提案
だから文中にもpublic/protectedに対するものしか出てこない
アプリ内の記述とか、ライブラリでもinternalやprivateなものは完全ノータッチ
911:デフォルトの名無しさん
16/10/24 16:07:18.44 SvgB/4J1.net
>>878
これは見事な糞機械翻訳だな
原文: [X DO NOT] use Hungarian notation.
機械: [X のしないで] ハンガリアン記法を使用します。
直訳: [×するな] ハンガリアン記法の使用。
意訳: ハンガリアン記法を使用するな。
912:デフォルトの名無しさん
16/10/24 16:40:04.52 qDj+nyPk.net
URLリンク(www.atmarkit.co.jp)
ここを参考に、オプションを指定して2個めを起動すると、起動中のアプリに独自メッセージを投げるようにしてみた。
ただ、アプリは複数のウィンドウを開いていて、探した Process オブジェクトの MainWindowHandle には
フォーカスがある (あった?) ウィンドウのハンドルが入ってるみたいで、目的のウィンドウじゃない場合がある。
全部のフォームの WndProc をオーバーライドするのも保守性がよくないし、どうしたらいいんでしょうか。
913:デフォルトの名無しさん
16/10/24 17:05:46.02 f1Oob2xq.net
>>886
FindWindow使うんじゃあかんの?
914:デフォルトの名無しさん
16/10/24 17:10:36.84 e0+jKQlJ.net
そのウィンドウの作りによるけど、親子関係を維持してるなら親をたどるとか
モードレスの場合は、、、どれがメインなのかを知る手段をお互いの約束事でみつける、かなあ
915:デフォルトの名無しさん
16/10/24 17:40:28.81 TdMIMrel.net
PostMessageでいいならIMessageFilter実装してApplication.AddFilterすれば
ちょっと構造的にやるならHWND_BROADCASTで問い合わせてみるとか
916:デフォルトの名無しさん
16/10/24 17:41:57.18 TdMIMrel.net
っていうかそんなんやるんだったらもうIPCチャネル使ったWCFでいいか…
917:デフォルトの名無しさん
16/10/24 20:50:12.21 qDj+nyPk.net
ご意見ありがとうございます。
タスクバーから表示を消している場合は API を使って探すしかないようなんで、それを参考にしようとしたけど、
できれば極力 API を使わない方法がないかなーと思いまして。
IPC も検討したけど、WndProc をオーバーライドした抽象クラスを作って、そこから派生させるようにしました。
まあでも IPC 使ったほうがスマートでしょうね。
918:デフォルトの名無しさん
16/10/27 16:31:51.10 NElj0+xs.net
整数型間のキャストについてちょっと質問
■ ビット幅大→ビット幅小
上位ビットの切り捨て
■ ビット幅小→ビット幅大
符号拡張後のビットイメージのコピー
■ 同じビット幅で符号の有無が違う型の間のキャスト
ビットイメージのコピー
こういう理解で合ってる?
919:デフォルトの名無しさん
16/10/27 17:49:24.66 K4rqOI65.net
整数間って、符号有から符号有への変換しか考慮しないのか?
920:デフォルトの名無しさん
16/10/27 19:04:56.45 Z8lrimsb.net
>>892
全然違う
はみ出るなら普通に例外飛んでくる
921:デフォルトの名無しさん
16/10/27 20:36:31.88 rC8yedLe.net
>>894
C#はアンチェックキャストも使える
>>892で合ってる
922:デフォルトの名無しさん
16/10/27 20:41:37.27 T6ck7IU9.net
質問書き込む間に試せば済むのにって思ったのは俺だけかな
923:デフォルトの名無しさん
16/10/27 20:59:04.81 u3THH1jN.net
あまりにも自分に自信が持てないと、自分で試したことすら信用できなくなる
そうすると、百聞は一見に勝ってしまう
924:デフォルトの名無しさん
16/10/27 21:23:24.66 5bnizB9y.net
uncheckedが前提ならそうかくだろ
キャストと言えば普通のキャストだろが
925:デフォルトの名無しさん
16/10/27 21:35:03.00 PfRUD0fJ.net
>>895
ありがとう
926:デフォルトの名無しさん
16/10/27 22:05:16.44 ILgHPkDG.net
>>898
カッカすんなよ
何が普通かは人によって違うんだよ
927:デフォルトの名無しさん
16/10/27 22:22:58.40 pbaR/VeE.net
>>898
変数だとuncheckedがデフォルト設定だから、省略されてもおかしくない。
928:デフォルトの名無しさん
16/10/28 08:40:14.47 AW+qEc2o.net
>>896
お前だけだよ。
929:デフォルトの名無しさん
16/10/29 19:08:46.81 dXKRRVDP.net
C#erはサードパーティ製のORMやEntity Frameworkを禁止された時は何を使うんですか?
今いる現場では代わりにADO.NET & 型指定DataSet(デザイナーで作るアレです)を使っていますが生産性がいまいちなので他の方法を探しています
この方法の全てが気に入らない訳ではなくプロパティが全てパブリックになってしまう、DBNullとnullの変換が面倒、Nullable使用不可、邪魔なパブリックメソッドが沢山あるといったポイントが不評です
特にパブリックプロパティの問題はオブジェクトに集中するべき振る舞いがシステム全体に分散してしまうので深刻です
930:デフォルトの名無しさん
16/10/29 19:29:57.79 ddj4bzvw.net
DAO手書きでいいよ
931:デフォルトの名無しさん
16/10/29 19:46:29.75 wsj9Hrl0.net
>>903
禁止する理由?
932:デフォルトの名無しさん
16/10/29 19:46:57.95 wsj9Hrl0.net
…は何
って打とうとした
933:デフォルトの名無しさん
16/10/29 20:03:24.68 3O/hAOpu.net
DataSetって産廃を未だに使っているところあるんだな
934:デフォルトの名無しさん
16/10/29 20:57:46.79 9ElojHns.net
EFを禁止する理由って一般的には何?
935:デフォルトの名無しさん
16/10/29 21:02:47.76 ZloojbFD.net
>>906
会社の決まりとかだろ
936:デフォルトの名無しさん
16/10/29 21:11:45.43 wsj9Hrl0.net
>>909
その理由を聞いてるんだろ
937:デフォルトの名無しさん
16/10/29 21:12:05.69 nUOhPXQV.net
もし、速度の問題ならDapper使うべきだろうがね
938:デフォルトの名無しさん
16/10/29 21:21:04.07 Xtl4N18Y.net
理由がなければ禁止されないと思ってるのが可愛い
939:デフォルトの名無しさん
16/10/29 21:31:13.29 ZloojbFD.net
>>910
そんなもん聞いてどうなるもんでもないし
940:デフォルトの名無しさん
16/10/29 22:29:40.91 3zUqMDSq.net
理解できずにトラブルが起きたときに思考停止する低能があまりに多いから
知らないところでメタ情報取得のためのSQL文を実行してるので
RDBMSのユーザーに本来不要な権限が必要になる場合があるから
941:デフォルトの名無しさん
16/10/29 22:50:05.69 dNFy3BfA.net
>>913
思考停止おつ
942:デフォルトの名無しさん
16/10/29 23:40:38.36 O0e58OxR.net
安い人足を使ってるのでついて来れない
943:デフォルトの名無しさん
16/10/30 03:55:02.62 POLtarGN.net
>>916 これ
944:デフォルトの名無しさん
16/10/30 08:47:00.01 2kQlDpFE.net
>>915
会社によって理由なんて様々だし
たいてい議論しても解決策なんて出ないし
そもそもここで議論すべき内容じゃないし
945:デフォルトの名無しさん
16/10/30 08:49:23.96 m4OftK0R.net
理論武装すれば会社がライブラリの使用を認めてくれるかって言ったら、そんな事ねーしなあ
946:デフォルトの名無しさん
16/10/30 08:55:44.96 qBBSmv5i.net
そらそうだ
変えられないことをあーだこーだ言っても時間の無駄
947:デフォルトの名無しさん
16/10/30 09:05:18.12 bey9pkjT.net
小さい会社だと文句言うと変更するか検討始めるからな。基地外が一人いるだけで開発がすげー滞るww
948:デフォルトの名無しさん
16/10/30 09:18:38.59 2kQlDpFE.net
>>919
会社の人が納得してくれても親会社からの通達でダメとかもあるし...
949:デフォルトの名無しさん
16/10/30 12:38:48.05 vWAd+Msy.net
そんな会社やめちまえよお前ら
950:デフォルトの名無しさん
16/10/30 12:41:42.06 CC/Nb3c5.net
スレ違いどころか板違い。マ板でやれ
951:デフォルトの名無しさん
16/10/30 22:32:58.24 YeZOi3cQ.net
結局のところORMを自作するほかないということでしょうか
952:デフォルトの名無しさん
16/10/30 23:25:09.40 asmRMmwq.net
君の質問に対しては、現場で許可されてる方法を使え、としか答えようがない
953:デフォルトの名無しさん
16/10/31 09:23:24.34 lW2bcIPg.net
[GeneratedCodeAttribute( "Gardens Point Parser Generator", "1.5.2")]
この[]で宣言されるのは何を意味するのだろう。
自分で書くことはないが生成されたコードではよく見かける。いままでコメント
くらいの意識で眺めていたが、気になる。
954:デフォルトの名無しさん
16/10/31 09:36:11.24 OqD2s4Cc.net
属性っていうメタデータ
シリアライズ用のデータとかネイティブAPI呼び出すとかDIとか
そういうのを書くときには使うことも出てくると思うぞ
955:デフォルトの名無しさん
16/10/31 09:40:21.62 iFh8Iutn.net
C#で便利になったもんのひとつが属性だな。Cでも同じように使えたらよかったのに
956:デフォルトの名無しさん
16/10/31 10:34:23.11 lW2bcIPg.net
そういう便利な機能があったとは。ありがとう
自分には無関係と思っていたが、例をみると
#ifの代わりに使えるね。
/// SHOW_INTERMEDIATE というシンボルが定義されているときのみ
/// 配列の内容をコンソールに表示する。
[Conditional("SHOW_INTERMEDIATE")]
static void IntermediateOutput(double[] array)
{
Output(array);
}
957:デフォルトの名無しさん
16/10/31 10:51:33.29 lW2bcIPg.net
>929
しかし普通にはあまり使うケースはないんではない?
どう便利なのかいまいちよくわからない。 Cで使えると何が便利になる?
#ifの代わりくらいになるのはわかるが、、
958:デフォルトの名無しさん
16/10/31 10:57:51.43 7o6spjkC.net
バージョンで処理を分けておいて
過去のバージョンの処理に戻したい場合は属性を変える
オープンソースだと後方互換性維持のためにそんな風にしてるね
959:デフォルトの名無しさん
16/10/31 11:01:23.63 P3Gvvomo.net
プロパティシートで使うやつ?
960:デフォルトの名無しさん
16/10/31 20:59:34.23 03zQ5mOK.net
属性はゴミ
そう思っていた時期が僕にもありました
961:デフォルトの名無しさん
16/10/31 22:23:39.25 iWkg1iMh.net
属性をうまく使いこなせればプログラムがかなりスッキリ書けるんだけど
なかなかうまく型にはまらなくて何度も作り直してるわ
962:デフォルトの名無しさん
16/10/31 22:33:33.79 PR8uOfdS.net
ちょっと凝ったことしようとしたら、DllImportAttributeとFlagsAttribute位は使うだろう。
963:デフォルトの名無しさん
16/10/31 22:52:52.13 T+jfS1R6.net
あとはUnityとかもバンバン使うイメージ
964:デフォルトの名無しさん
16/10/31 23:16:26.73 pApy3Eby.net
属性はSTAThreadとDllImportしか使った事ない
965:デフォルトの名無しさん
16/10/31 23:24:32.92 utslClq8.net
DataAnotationは良いぞ
まあガチ業務だとちょっと物足りなくて結局は自作する羽目になるんだけど
966:デフォルトの名無しさん
16/11/01 08:32:19.42 hFVadVBb.net
>>936
キャッ、それおまじないと思ってた。W
コピペしたコードの中にはよく混じってた。
967:デフォルトの名無しさん
16/11/01 08:42:26.93 iAfLjhk9.net
JSONにバインドするクラスに属性使いまくりだね
968:デフォルトの名無しさん
16/11/01 09:27:22.11 hFVadVBb.net
Unityってスクリプト言語みたいだね。これって属性なの? 面白そうだけど
どんな時に使う?
969:デフォルトの名無しさん
16/11/01 09:31:35.84 D+IVr+nD.net
ちょっと意味わからない
970:デフォルトの名無しさん
16/11/01 11:54:25.84 hFVadVBb.net
あっ、意味わかった。ごめん勘違いしていた。C#でUnity使うときの属性のことだね。
971:デフォルトの名無しさん
16/11/01 11:56:12.97 hFVadVBb.net
>JSONにバインドするクラスに属性使いまくりだね
なんで使うの? そういう必要を感じたことないんだけど。どういう場面でつかうの?
972:デフォルトの名無しさん
16/11/01 12:18:29.71 KGKMFPtk.net
>>945
天気予報データとかWeb Apiで返すデータにjson配信多いよね
973:デフォルトの名無しさん
16/11/01 13:51:57.28 bjN+4M8I.net
そういう意味じゃないと思うが
シリアライズ/デシリアライズ対象外のフィールドを指定したり
JSONとC#のクラスフィールドで名前が一致しない場合にそれらをマッピングしたりする
974:デフォルトの名無しさん
16/11/04 15:22:24.22 PH2+pS4C.net
VisualStudio2015起動中に出したらUnity生活終わるナリ・・・
あああ^〜ああああああぁ^〜〜〜!!!!起動遅せええええ!
ブリュブリュブリュブリュブリュゥゥゥウ!!!!ブッチッチブブッチブッチチ!!!
975:デフォルトの名無しさん
16/11/04 15:53:31.89 kQ8VEtHk.net
怪文書過ぎる
976:デフォルトの名無しさん
16/11/04 16:26:14.38 T8/2G1/9.net
>>946
天気予報に限らずapiが返すのはxmlかjsonだろ
977:デフォルトの名無しさん
16/11/04 16:54:25.27 22qUZxEG.net
>>950
「とか」
978:デフォルトの名無しさん
16/11/04 16:58:09.06 FRTndHrZ.net
天気はxmlの方が多いイメージだな
979:デフォルトの名無しさん
16/11/04 17:11:19.05 fW1GVoX0.net
じぃさんとかばぁさんはとしくってるいめーじ
980:デフォルトの名無しさん
16/11/04 17:17:22.17 pA+obtrY.net
そういうデータをcsvに変換するフィルタが大活躍します
981:デフォルトの名無しさん
16/11/04 17:54:23.34 V0keAHui.net
気象庁配信のデータはXMLとFORTRAN時代さながらの固定テキストだった
982:デフォルトの名無しさん
16/11/04 17:59:21.35 uJM5jI72.net
内部にコレクション持ってるなら固定テキストは向いてない
983:デフォルトの名無しさん
16/11/04 18:59:09.41 yE+rsN5M.net
>>948
これはいけない
984:デフォルトの名無しさん
16/11/04 21:48:57.57 eWOxJ5YA.net
コボルと非正規化データベースにどっぷり浸かって抜け出せないオジさんはCSVを愛している傾向が強い
985:デフォルトの名無しさん
16/11/04 21:52:44.37 EoXigf7J.net
あるある
まあ環境だから仕方ない
986:デフォルトの名無しさん
16/11/04 23:50:28.01 V0keAHui.net
職人としてCOBOL時代の技術に拘るなら潔く固定長レコードを使ってほしい
あれはあれで美しい一つの完成系だと思う
CSVは中途半端でオジさんの誇りが全く感じられない
987:デフォルトの名無しさん
16/11/05 00:02:53.11 DUzD1Vkt.net
固定長は正義
40年近くプログラミングやってるが固定長にまさるものはない
988:デフォルトの名無しさん
16/11/05 01:05:40.91 p62EnB4H.net
なーんでタブ区切りはやんないんだろーなー
トラブル減るのにいまいち認知度がない
989:デフォルトの名無しさん
16/11/05 01:49:06.12 /yzRKBKB.net
CSVと違ってエクセルが直接はサポートしてないからじゃないの?
っていうかCSV使う動機ってエクセルへのエクスポートぐらいしかないと思うけど
990:デフォルトの名無しさん
16/11/05 04:44:51.30 Mhx54Slb.net
科学技術系のソフトは割とCSV吐いたり要求したりが多い気がする
991:デフォルトの名無しさん
16/11/05 06:14:56.68 9ROCL4OX.net
>>963
直接サポートが何を指しているのか分からないが
タブ区切りインポートは「テキストファイルのインポート」機能
エクスポートは「テキストファイル(タブ区切り)」で保存
両方とも標準でサポートされている
992:デフォルトの名無しさん
16/11/05 06:15:16.00 Bnw8PuKo.net
Open XML SDK使ってXLSX直接読み書きすると捗るわ
993:デフォルトの名無しさん
16/11/05 06:50:20.50 HDT4XNAt.net
>>965
恐らく「タブは印刷すると見えない」が問題なんだろうが
それこそこっち側からは理解不能だ
994:デフォルトの名無しさん
16/11/05 07:01:16.64 Q0fi8pIF.net
Excel開いた状態からD&DでコピペするとTSVだよな確か
995:デフォルトの名無しさん
16/11/05 07:32:01.87 6wNzhQFs.net
>>966
知らない間にオープンソースになってたんだな
ちょっと使ってみるかな
996:デフォルトの名無しさん
16/11/05 11:00:50.75 p62EnB4H.net
生はつらくない?
ClosedXMLおすすめ
NPOIはバグ多い
997:デフォルトの名無しさん
16/11/05 11:01:17.28 oE61kQsA.net
namespace Calculator
{
public abstract class ScanBase : AbstractScanner<ValueType,LexLocation> {
}
public class Parser: ShiftReduceParser<ValueType, LexLocation>
{
static Parser() {
}
protected override void Initialize() {
}
省略
protected override string TerminalToString(int terminal)
{
}
Parser() : base(null) { }
public static void Calculate(string input)
{
Parser parser = new Parser();
Scanner scanner = new Scanner();
scanner.SetSource(input, 0);
parser.Scanner = scanner;
parser.Parse();
}
}
}
Parser() : base(null) { }
これは何をしてるのですか?
998:デフォルトの名無しさん
16/11/05 11:05:51.24 vG38OUAL.net
>>971
うんこ食べてる
999:デフォルトの名無しさん
16/11/05 11:17:20.70 N0pRKuvW.net
>>966
あれMSDNやそこらのサイトの例を鵜呑みにすると、複数フォント使っているセルは最初の単語しか取得出来ないんだよな
まあきっちり読めばいいだけなんだが
1000:デフォルトの名無しさん
16/11/05 11:17:22.49 93kgJ5Ii.net
>>965
分かれよw
それはTSVそサポートしてるんじゃないでしょ。
っていうか「テキストファイルのインポート」だって自分で書いてるじゃんw
>>969
プレーンテキストのデータはそうなってるだけでしょ。
そういやその逆の操作も可能だから、TSVでクリップボードにコピーして
スプレッドシートに貼り付け出来るようにしたソフトを昔作ったことがあったな
1001:デフォルトの名無しさん
16/11/05 11:18:47.90 u9ZZUUBm.net
>>971
そういうのは再帰下降パーサを手書きしてみればなんとなく分かるようになる
前知識なしでShift-Reduceは無謀
1002:デフォルトの名無しさん
16/11/05 11:22:21.39 oE61kQsA.net
ShiftReduceParserではなくて
Parser() : base(null) { } ここね。
1003:デフォルトの名無しさん
16/11/05 11:33:26.54 6wNzhQFs.net
>>974
> それはTSVそサポートしてるんじゃないでしょ。
> っていうか「テキストファイルのインポート」だって自分で書いてるじゃんw
正直何を言ってるのかわけわからん w
まあその前にアンカーぐらいまともにつけられるようになれよ
って話だな
1004:デフォルトの名無しさん
16/11/05 11:47:50.74 0A6bFhuE.net
>>966
何が捗るのさ?
1005:デフォルトの名無しさん
16/11/05 11:50:31.98 93kgJ5Ii.net
>>977
1006:arget="_blank">>>962 その答えが恐らく>>963だろうと。 そういう話
1007:デフォルトの名無しさん
16/11/05 11:51:10.92 Bnw8PuKo.net
>>969
設定ファイルをExcelで書きたいからCSVでって言ってくる客は多いから、XLSXで提案すると喜ばれるよね
1008:デフォルトの名無しさん
16/11/05 11:53:37.33 2n9hgzl5.net
CSVと違ってTSVは標準の拡張子がないだけだろ
それを「エクセルはTSVサポートしてない」って・・・www
1009:デフォルトの名無しさん
16/11/05 11:56:50.35 Bnw8PuKo.net
>>973
まあ動きがおかしいと思ったらXLSXの生データを確認するのが手っ取り早いね
1010:デフォルトの名無しさん
16/11/05 11:57:26.23 PXYcOtjJ.net
Open XML SDKってどの程度のことが出来るの?
数式セル、条件付き書式、マクロ、暗号化、PDF変換、画像挿入は対応してる?
1011:デフォルトの名無しさん
16/11/05 12:13:05.59 Qh4Pk2xF.net
いまだに「CSV?カンマで区切りゃいいんだろ?」的な認識の奴が多くて辟易する
1012:デフォルトの名無しさん
16/11/05 12:49:43.04 oE61kQsA.net
カンマで区切るだけだと思うが、、、
理由もなしに辟易するのもなんだよな。
例えば
Parser() : base(null) { }
これが何をいみするのかを調べるには、ある程度のキーワードがあれば検索できる。
baseはここでは特徴的なキーワードだからbaseで検索すればなにか手がかりが掴める
はずだ。
あるいはこの行をコメントアウトしてみるとか、トレースしてみるとかすると何か
手がかりがつかめるかもしれない。
1013:デフォルトの名無しさん
16/11/05 12:54:27.64 Bnw8PuKo.net
>>985
フィールドがダブルコーテーションで囲まれてることも考慮しないと
1014:デフォルトの名無しさん
16/11/05 12:56:50.22 pzDrzyW2.net
>>979
単体で直接読み書きできるのにサポートしてないってどう言うこと?
1015:デフォルトの名無しさん
16/11/05 12:57:59.54 pzDrzyW2.net
>>980
サーバー上で Excel ファイルを生成してダウンロードさせるとかの用途もあるしね
1016:デフォルトの名無しさん
16/11/05 12:58:49.61 Vdk40yXv.net
CSVならCsvHelperをNugetしてくれば解決さ
1017:デフォルトの名無しさん
16/11/05 13:00:04.39 pzDrzyW2.net
>>983
只で試せるんだから自分でやってみなよ
ここはそういう板ですよ
1018:デフォルトの名無しさん
16/11/05 13:02:33.65 pzDrzyW2.net
>>986
ダブルクォーテーションのエスケープはどうするとか、改行はどうするとか、やり出すとキリがないからなぁ
1019:デフォルトの名無しさん
16/11/05 13:13:48.58 93kgJ5Ii.net
>>987
上げ足取る気満々の奴に馬鹿正直に答える俺もどうかしてると思うが、
少なくとも読み込みに関してはサポートしているのは「任意のデリミタ区切りのテキストファイル」
であってTSVじゃない。
それに対してCSVはCSVとして直接扱える。
PCに必ずしも明るいとは限らない俺たちのエンドユーザーに対してどちらがよりフレンドリーか明らか。
っていうか、最初からそんなこと言われなくてもわかってるだろうにくっだらない。
1020:デフォルトの名無しさん
16/11/05 13:43:13.40 PXYcOtjJ.net
レポートファイルでもないのに内部保存形式意識させた時点で負けた気になる
設定変更はアプリ内でやりたい
1021:デフォルトの名無しさん
16/11/05 14:02:37.48 pzDrzyW2.net
>>992
プログラマーなら
> 「任意のデリミタ区切りのテキストファイル」
に TSV が含まれることに異議を唱える奴はそうそういないと思うけどねぇ
どっちが揚げ足とりなんだか w
1022:デフォルトの名無しさん
16/11/05 14:18:37.61 N0pRKuvW.net
DB入力にCSV指定されて軽くハマった覚えあるから出来る限りTSVにしているな
CSVは方言がキツイわ
1023:デフォルトの名無しさん
16/11/05 15:21:23.46 HDT4XNAt.net
いつものことながら、激しくどうでも良いことだなw
1024:デフォルトの名無しさん
16/11/05 16:08:18.72 oE61kQsA.net
push
1025:デフォルトの名無しさん
16/11/05 16:08:54.81 oE61kQsA.net
pop
1026:デフォルトの名無しさん
16/11/05 16:09:17.15 oE61kQsA.net
the
1027:デフォルトの名無しさん
16/11/05 16:11:24.95 oE61kQsA.net
end
sssp://o.8ch.net/irxl.png
1028:過去ログ ★
[過去ログ]
■ このスレッドは過去ログ倉庫に格納されています
最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
1958日前に更新/279 KB
担当:undef