トップページ⇒tech
1001コメント310KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2010/12/16(木) 18:23:33
このスレッドは
「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。
ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からない場合など、勇気をもって書き込んでください。
内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。

なお、テンプレ2行目が読めない回答者は邪魔なので後述のC#相談室に移動して下さい。

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

■前スレ
ふらっとC#,C♯,C#(初心者用) Part66
http://hibari.2ch.net/test/read.cgi/tech/1290854247/

■関連スレ
C#, C♯, C#相談室 Part63
http://hibari.2ch.net/test/read.cgi/tech/1289733048/
VB.NET質問スレ(Part35)
http://hibari.2ch.net/test/read.cgi/tech/1284423653/
くだすれC++/CLI(初心者用)part2
http://pc12.2ch.net/test/read.cgi/tech/1268613679/

■備考
コードの量が多い場合は下記サイトを使うなどしたほうがいいかも
http://ideone.com/
コードを貼り付けてRun codeのチェックをはずしてsubmitボタンを押すと
コードを鯖側にアップして専用のアドレスが発行されます。

直接貼る場合は下記サイトなどを利用してhtmlエンコードした方が
インデントも残って見やすいです
http://kawama.jp/php/encode_html.php
0669デフォルトの名無しさん2011/01/07(金) 13:06:02
>>668
active reportはあるけど6.0ではないので縦書きができないという罠
まぁ、改行とか駆使してやればいいんだろうけど・・・・
もちっと楽に縦書きをやってみたかった
0670デフォルトの名無しさん2011/01/07(金) 13:20:40
WORD本体の差し込みで十分だろ
0671デフォルトの名無しさん2011/01/07(金) 13:37:14
>>670
まぁどちらにしろある程度の自動化はさせたい
ちょっと挿し込みやる方法調べてみるかな
0672妖犬 ◆youkenkF9Y 2011/01/07(金) 15:52:30
例外処理の使い方が正しいか教えろ
try
{
int a = Int32.Parse(Console.ReadLine());
int b = Int32.Parse(Console.ReadLine());
Console.WriteLine(a + b);
}
catch (Exception)
{
Console.WriteLine("例外");
}
finally
{
Console.WriteLine("終了");
}
0673デフォルトの名無しさん2011/01/07(金) 15:57:41
okotowarisimasu
0674デフォルトの名無しさん2011/01/07(金) 16:01:09
PropertyGridの扱いについての質問です

class Test
{
  object obj { set; get }
}
上記クラスをPropertyGridにセットし、objにセットされている型に応じた操作を行いたいのですが読み取り専用となってしまいます
当たり前と言えば当たり前なのですが、現在の型に応じてセット出来るようにするにはどうしたらいいのでしょうか

TypeConverterあたりで出来そうな気がしますがなかなかうまくいきません
0675デフォルトの名無しさん2011/01/07(金) 16:16:08
objの型に応じて何に何をセットするのさ
0676デフォルトの名無しさん2011/01/07(金) 16:56:49
age
0677デフォルトの名無しさん2011/01/07(金) 17:12:01
省略してすみません
PropertyGridにTestをセットすると、PropertyGridのプロパティリストにobjが現れるのですが読み取り専用になってしまいます。

このときたとえばobjにstringが代入されていればPropertyGrid上で文字列操作を
objにboolが代入されていればtrue、falseの選択を
列挙型が代入されていれば対応する各値の選択を行いたいのです

現状はProeprtyGrid上で読み取り専用となってしまい、変更が出来ないんです
0678デフォルトの名無しさん2011/01/07(金) 17:28:12
無理
そんなもん何に使うの? PropertyGridって開発者向けのツール作るためのもんだよ?
0679デフォルトの名無しさん2011/01/07(金) 19:09:23
プロセスAからプロセスBを起動し、プロセスBはプロセスCを起動するのですが
このプロセスCのPIDをプロセスAは直接的な方法で取得することは可能でしょうか?
プロセスCは複数起動されることがあるため、プロセス名だけでは判断できなくて困っています
0680デフォルトの名無しさん2011/01/07(金) 19:11:45
>>679
AがCを直接しるのは無理じゃないの?

BがCを管理してAからの要求に答えるかCを起動の度に
デリゲートでAの通知用メソッドを呼び出すようにするとか
0681デフォルトの名無しさん2011/01/07(金) 19:43:39
プロセス超えてデリゲートは無理
リモーティングかパイプで通信
0682デフォルトの名無しさん2011/01/07(金) 20:27:02
API CodePackのShellObjectWatcherなんですが、うちの環境(Win7 64)だと
起動したらプログラム終了しなくなるけど他はどうですか?

もし使える物ならFileSystemWatcherの代わりに使いたいんですが
0683デフォルトの名無しさん2011/01/07(金) 22:36:36
Janeのポップアップみたいに、親フォームをアクティブにしたまま新しいウィンドウを操作する(または子ウィンドウを非アクティブのまま操作?)方法を知りたいんですが
どなたかご存知ありませんか?

ShowWithoutActivationでtrueを返したり
CreateParamsでcp.ExStyle |= (int)(WS_EX_NOACTIVATE | WS_EX_TOOLWINDOW)したりしましたが
クリックするとアクティブってしまいました
どなたかこの卑しい豚に助言という名のえさをお与えください

0684デフォルトの名無しさん2011/01/07(金) 22:42:01
>どなたかこの卑しい豚に助言という名のえさをお与えください
  ∧_∧
  (´・ω・) いやどす
  ハ∨/~丶
  ノ[三ノ |
 (L|く_ノ
  |* |
  ハ、__|
""~""""""~""~""~""
0685デフォルトの名無しさん2011/01/07(金) 23:03:08
>>680-681
ありがとうございました
やはりBやCに何らかの手を加えない限り無理みたいですね

とりあえずは最新に起動された物がどれか判別できればいいのでProcess.StartTimeを比較することで実現できました
0686デフォルトの名無しさん2011/01/08(土) 00:42:13
>>683
単純に「親フォーム」とやらをオーナーにするだけじゃダメなの?
0687デフォルトの名無しさん2011/01/08(土) 01:46:01
>>686
常に手前に表示されるようになるだけで、触れるとアクティブになってしまう
0688デフォルトの名無しさん2011/01/08(土) 02:00:18
ToolTipクラスみたいなものを作りたいの?
0689デフォルトの名無しさん2011/01/08(土) 02:05:02
>どなたかこの卑しい豚に助言という名のえさをお与えください
こういういかにも下手にでましたので教えろや!!って本音が見えるような書き込みがなければ教えたんだが・・・
0690デフォルトの名無しさん2011/01/08(土) 02:08:46
あとあのご教授・・・のパターンも気持ち悪い
そこまで気を使う場所じゃないし、かえって不気味
0691デフォルトの名無しさん2011/01/08(土) 02:11:34
じゃあ何ならいいんだよ
0692デフォルトの名無しさん2011/01/08(土) 02:11:46
気を使わずに済む場所だってんならそういうのも気にせず教えてやれよw
0693デフォルトの名無しさん2011/01/08(土) 02:13:15
普通に聞けばいいだろ

アクティブにしたくないFormとそのFormに貼り付けるコントロールにもコードを追加しないとだめだよ
サンプル
http://cs2ch.blog123.fc2.com/blog-entry-85.html
0694デフォルトの名無しさん2011/01/08(土) 02:16:55
いまいちやりたい事がわからん
どなたかこの貴い豚に追加情報という名のえさをお与えください
0695デフォルトの名無しさん2011/01/08(土) 02:20:02
それは聞き方の問題じゃなく無能すぎだろ
0696デフォルトの名無しさん2011/01/08(土) 02:29:44
このスレはネタすら許されないスレなんですね
怖い

>>693
それはすでに試したけど動かなかったよ
後これもなぜかアクティブになってしまった
ttp://d.hatena.ne.jp/ku__ra__ge/20080612/p1
本当に動くのかな


>>694
大元のウィンドウをアクティブにしたままFormにwebbrowserはっつけて作ったポップアップウィンドウにhtml表示したいだけ
0697デフォルトの名無しさん2011/01/08(土) 02:39:50
>>696
ホントにやったのか?

アクティブにしたくないFormに対策するのと
そのFormに貼るコントロールにも対策するだぞ
0698デフォルトの名無しさん2011/01/08(土) 02:44:09
>>697
昨日の時点で既になんだ
そして挫折し、放浪し、ここに至る
0699デフォルトの名無しさん2011/01/08(土) 02:45:11
問題なく動くじゃないか
どうせコピペした際にFormのイベントとかちゃんと動くようにしてないんだろ
0700デフォルトの名無しさん2011/01/08(土) 02:52:46
>>699
イベントまでコピーしてどうすんだ
0701デフォルトの名無しさん2011/01/08(土) 02:58:07
よくわかってないのであれば人のプログラムをとりあえず全部移植して動かしてみて動くことを確認するのが普通だろ

関連するポイント無視してコピーして動きませんってそりゃあまりにもボケナスすぎだろ
0702デフォルトの名無しさん2011/01/08(土) 03:08:31
>>701
勝手に解釈して当たり前の話ばかりするんじゃない
鬱陶しいからもういい
0703デフォルトの名無しさん2011/01/08(土) 03:30:03
よくわからんが動かんとかいうコードを晒せよ
どうせミスってるんだろうし
0704デフォルトの名無しさん2011/01/08(土) 04:21:33
>>696
こういうこと?
http://www.dotup.org/uploda/www.dotup.org1346606.zip
0705デフォルトの名無しさん2011/01/08(土) 04:31:50
AxWebBrowserで表示したページのタイトルを取得するにはどうしたらいいのでしょうか?
0706デフォルトの名無しさん2011/01/08(土) 04:38:21
>>705
ドキュメントからタイトルタグ探せばいいんじゃね?
0707デフォルトの名無しさん2011/01/08(土) 05:09:55
解決しました
ありがとです
0708デフォルトの名無しさん2011/01/08(土) 08:38:35
質問です。
整数の範囲をチェックするには、
0 < a && a < 100
とか書けば良いと思いますが、これをビット演算等でやる方法はあるでしょうか?
0709デフォルトの名無しさん2011/01/08(土) 10:04:32
宿題なら他でやれ
0710デフォルトの名無しさん2011/01/08(土) 10:11:48
宿題ではないです
0711デフォルトの名無しさん2011/01/08(土) 10:13:25
宿題です
私が断定しました
お引取りください
0712デフォルトの名無しさん2011/01/08(土) 10:23:00
ビット演算等でやる方法はありません
0713デフォルトの名無しさん2011/01/08(土) 10:59:17
マジで!?
0714デフォルトの名無しさん2011/01/08(土) 11:02:25
マジかも
0715デフォルトの名無しさん2011/01/08(土) 11:03:38
あるだろw

だが、なんでビット演算なんだよ>宿題以外考えられないな。
0716デフォルトの名無しさん2011/01/08(土) 11:08:13
100って2進数で1100100だろ?
こんな歯抜けをビット演算だけでやるくらいならifで大小比較した方が速いわ
0717デフォルトの名無しさん2011/01/08(土) 11:09:28
宿題なんだろ
0718デフォルトの名無しさん2011/01/08(土) 11:10:40
>>716
特定のビットがあるかどうかのチェックならビット演算する意味あるけど
そのくらいなら普通に計算した方がいいよね

というかいまどきビット演算を使うことなんてそうそうねーだろ
0719デフォルトの名無しさん2011/01/08(土) 11:11:38
>>717
宿題にしても無駄すぎる
出題する教師がバカなのか教師ゆえに時代遅れで化石なのか
0720デフォルトの名無しさん2011/01/08(土) 11:52:54
宿題なら考えることに意義があると思うが
0721デフォルトの名無しさん2011/01/08(土) 11:54:38
この問題を宿題で出すなら俺は値の範囲を0〜127って出題するな
無駄ってそのことだろ
0722デフォルトの名無しさん2011/01/08(土) 11:58:47
[Flags]のせいで結構ビット演算使う気がする
0723デフォルトの名無しさん2011/01/08(土) 12:13:27
しかし良く使う演算は拡張メソッドにしてしまうし
0724デフォルトの名無しさん2011/01/08(土) 12:14:27
722を書き込んでから気づいたわ
0725デフォルトの名無しさん2011/01/08(土) 12:56:59
型制約にEnum入れられるようにして欲しいなー
public static bool Contains<T,V>(this T e, V flag) where T : Enum {
}

これ書けりゃ汎用化できて最高なのに
0726デフォルトの名無しさん2011/01/08(土) 12:59:57
.NET4にはEnum.HasFlagがある
リフレクションなので糞遅いけど、ジェネリック使ったからといってもリフレクション使って実装するしかないはず
0727デフォルトの名無しさん2011/01/08(土) 13:05:08
WeakRefでしばらく取っとけよ
0728デフォルトの名無しさん2011/01/08(土) 13:17:25
WeakReferenceって参照先が不要になったときにGCを邪魔したくない場合に使うもんで
後でまた使うかもしれないからとりあえずキャッシュをしばらく置いときたいようなときには
WeakReferenceではすぐ消えてしまってあんまり役に立たないよ
型ごとにキャッシュを持つなら際限なくリークするようなことはないはずだから
普通にstatic Dictionary<Type, キャッシュ>とかでいいと思う
0729デフォルトの名無しさん2011/01/08(土) 13:33:45
>>726
ExpressionTreeで式作る
0730デフォルトの名無しさん2011/01/08(土) 14:12:34
ダウンロードサイトなどでよく使われる画像認証を解析するようなライブラリってありませんか?
0731デフォルトの名無しさん2011/01/08(土) 14:41:24
BinaryReaderで読み取ったByte[]って、
floatとかstring型にそのままぶち込むことが可能ですか?
0732デフォルトの名無しさん2011/01/08(土) 14:44:45
>>731
BitConverterとかEncodingとか使うと良いよ。
0733デフォルトの名無しさん2011/01/08(土) 14:45:34
BitConverterってのがあるけどfloatはねーな
あるのはToDoubleだ

stringはBitConverter.ToStringでいけると思う
0734デフォルトの名無しさん2011/01/08(土) 14:50:38
>>733
floatはToSingle
0735デフォルトの名無しさん2011/01/08(土) 14:51:06
>>734
ほうw
サンクスw
0736デフォルトの名無しさん2011/01/08(土) 15:01:05
>>734
一瞬ToStringleかと思った
0737デフォルトの名無しさん2011/01/08(土) 15:03:36
BinaryReader使ってるんだったらBinaryReader.ReadSingleとかすればいいんじゃ…
Stringはどういう形式をどういう形式にしたいのか分からんとなんとも言えんけど
0738デフォルトの名無しさん2011/01/08(土) 15:28:16
くは〜w
0739デフォルトの名無しさん2011/01/08(土) 18:34:09
くこ:ミ w
0740デフォルトの名無しさん2011/01/08(土) 20:51:35
if ((○ && □) || △)
のような条件式のとき、○がfalseだと□を飛ばして△が評価されるという動作であってます?
0741デフォルトの名無しさん2011/01/08(土) 20:59:15
string x = null;
string y = string.Empty;

if ((x != null && x.Length > 0) || (y.Length > 0))
{
//
}

でも試してみたら
例外が出たら□は評価される
0742デフォルトの名無しさん2011/01/08(土) 21:31:24
>>704
いや、こういうこと
ポッパーイ4の動きを実装したかったんだ
大元がアクティブなままなところが重要なんだ
ttp://kineko.dyndns.org/~touhou/up/source/up7513.zip


違うアプリがアクティブになったことを検知する方法調べなきゃ
自分が非アクティブな状態でできるのかそんなこと
あるいは自分のプロセスが非アクティブになる瞬間を検知できるのか
めんこくせ(´・ω・`)
0743デフォルトの名無しさん2011/01/08(土) 21:35:19
>>742
リンクできないや
アゲナオシタ
ttp://aryarya.net/up/img/5007.zip
0744デフォルトの名無しさん2011/01/08(土) 21:35:33
>>742
いい加減なアドレスはるな
0745デフォルトの名無しさん2011/01/08(土) 21:38:04
>>683と要求してることが違うじゃん
0746デフォルトの名無しさん2011/01/08(土) 21:54:15
(´・ω・`)…
0747デフォルトの名無しさん2011/01/08(土) 22:02:11
アドバイスくれた人をごちゃごちゃ・・・とか書いちゃうやつなんでこういうテストはしてないだろうな・・・

確かに親Formから呼び出したFormとしてはダメだけど
Program.csをこんな感じで書き換えて直接3を実行すると上で紹介されてる動きするけど・・・

using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;

namespace DoraemonPopup
{
    static class Program
    {
        /// <summary>
        /// アプリケーションのメイン エントリ ポイントです。
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            //Application.Run(new Form1());
            Application.Run(new Form_Popup3());
        }
    }
}
0748デフォルトの名無しさん2011/01/08(土) 22:15:10
>>747の話を考慮にいれると別exeにして起動すればいけそうだな
0749デフォルトの名無しさん2011/01/08(土) 22:16:23
>>745
え、一緒だよ

>>747
それはわかってるよ
その動き方じゃ駄目だったから質問したんだ
0750デフォルトの名無しさん2011/01/08(土) 22:22:52
>>748
同じプロセスなのが駄目なら、違うプロセスで動かせばいいんだと思ったが
やり方を全く知らないし、調べるのがめんどくさそうなので放置した
いま、「一応」動いてるし、一応・・・
0751デフォルトの名無しさん2011/01/08(土) 22:24:49
うーん求めるものがよくわからんが
Form_Popup3にActivatedイベントを追加してそこへ

this.Owner.Activate();

と追加すれば>>747に近い動きしたよ
>>747と違ってウインドウの移動もスムーズだし
0752デフォルトの名無しさん2011/01/08(土) 22:39:31
>>751
ありがとう
Janeのポップアップと同じもの作ろうとしてるようなものなんだ
それだと常にオーナーがアクティブになるのでポップアップが操作を受け付けなくなってしまう
あと一瞬フォーカスが移るからタイトルバーが微妙に点滅してる
ありがとう、後は自分で何とかするよ
俺は煽られると煽り返すタイプだからいないほうがいいし
0753デフォルトの名無しさん2011/01/08(土) 22:45:15
http://ideone.com/m3QBZ

隣接するマスに地雷が置かれていないとき自動で開ける方法を教えろ
0754デフォルトの名無しさん2011/01/08(土) 22:48:01
そもそもJaneのポップアップってどれのこと言ってるんだ?
0755デフォルトの名無しさん2011/01/08(土) 23:02:08
>>741
なるほどそうやって確かめるのか。
結果はちゃんと□を飛ばしてくれました。
0756デフォルトの名無しさん2011/01/08(土) 23:04:18
>>753
詳しくはないけど迷路探索のあたりの考えが使えるんじゃないかな?
0757デフォルトの名無しさん2011/01/08(土) 23:11:45
>>753
aとbだけじゃマスが開いてるかどうかわからないからboolの配列を増やす
そうするとaはbが決まれば変わらないので、ループの外で計算する
c,d入力後にaが0で開いているマスの隣接マスを開く、これを開けなくなるまで繰り返す
0758デフォルトの名無しさん2011/01/08(土) 23:12:23
void 自動で開ける(int x, int y) {
if (範囲外(x, y) || もう開いてる(x, y) || チェック済み(x, y)) { return; }
if (!隣接するマスに地雷がある(x, y)) { 開ける(x, y); }
自動で開ける(x - 1, y);自動で開ける(x + 1, y);自動で開ける(x, y - 1);自動で開ける(x, y + 1);
チェック済みにする(x, y);
}
こん感じじゃないの
0759デフォルトの名無しさん2011/01/08(土) 23:13:18
>>753
つ足し算、引き算
0760作本2011/01/09(日) 05:39:01
Windows Form アプリケーションを作成しています。

�@ 複数の端末でその日の記録を入力する。
�A シャットダウン時に、ネットワークの共有フォルダにその内容をテキスト出力
�B 起動時には、その共有フォルダ内のテキスト全件を読み込み、他端末の入力情報も取り込む

以上の仕組みを作っていますが、
どの端末も毎日起動しているので、当然の結果として、
共有フォルダにテキストデータが1000件近く溜まってきました。
なので起動時に重たくなってきています。

共有サーバにデータベースを置けないのでそうしたのですが、

(1)
このようなテキストデータがある程度の件数蓄積されてきたら、
自動でフォルダを生成し、一定の過去データを移動し自動で圧縮をかける

ことはC#でできますでしょうか。

また、
(2)圧縮フォルダを解凍する

ことも可能でしょうか。

お手数ですがよろしくお願いいたします。
0761デフォルトの名無しさん2011/01/09(日) 05:55:16
>(1)
>このようなテキストデータがある程度の件数蓄積されてきたら、
>自動でフォルダを生成し、一定の過去データを移動し自動で圧縮をかける
できない

>(2)圧縮フォルダを解凍する
できない

両方とも自動でなんてのは無理

それより各端末のファイルをたとえば

yyyymmdd_hhmmss_ID.txt

とかファイルでわければいいんじゃないの?

で読み込む範囲を日付で絞るとかすればいいだけだろうし
0762デフォルトの名無しさん2011/01/09(日) 06:57:01
両方出来るだろw
ファイルのみで扱えるデータベースもある
(SQLSever CompactやSQLiteとか、MDBはやめとけよ)
0763作本2011/01/09(日) 08:36:40
>>761さん
>>762さん
ご返信くださりありがとうございます。

>>761さん
日付で読み込むファイルを絞る方法、大変参考になりました。
かなり所要時間が短縮されると思います。
あとは、30,000件ほどにファイルが増大した場合に、日付判定を含めてどれくらいの負荷があるか、
試験したいと思います。

>>762さん
圧縮・解凍方法は、dobonさんのページにあるF#の機能を使用する方法でしょうか。
また、ファイルのみで扱えるデータベースとはどういうものでしょうか。

よろしくお願いいたします。
0764デフォルトの名無しさん2011/01/09(日) 08:48:28
2ch ヘッドラインニュースBBY(一覧性が秀逸)http://headline.2ch.net/bbynews/

どんな難解ニュースでも掲示板の書き込みを読んで簡単に理解。
ニュースを勢い順にカテゴリー別で表示する"2NN"(2ちゃんねるニュース速報+ナビゲーター)もどうぞ。
0765デフォルトの名無しさん2011/01/09(日) 08:57:24
>>763
ネットなんだからリンクを貼れよ
これでいいんじゃね?
DotNetZip(Ionic Zip Library)を使ってZIP書庫を作成する - DoboWiki
http://wiki.dobon.net/index.php?.NET%A5%D7%A5%ED%A5%B0%A5%E9%A5%DF%A5%F3%A5%B0%B8%A6%B5%E6%2F93
0766デフォルトの名無しさん2011/01/09(日) 10:15:49
>>763
SQLite等は、DBMSのプログラム一式がクライアントソフト内に取り込めるタイプのデータベースです
だから共有サーバーには一切プログラムインストールしなくてもデータファイルを置いておくだけで使えます
C#ならhttp://sqlite.phxsoftware.com/をインストールするだけで使えます

ただし一度に書き込めるのは一人だけなので、それをケアできるようにプログラムしないといけません
0767デフォルトの名無しさん2011/01/09(日) 10:35:40
>ただし一度に書き込めるのは一人だけなので、それをケアできるようにプログラムしないといけません
管理とか面倒だから>>761を提案してるのに・・・・
他の端末と排他制御したりとデータの整合性を取らないといけないとかあほらしい

>>763
まあ日付跨ぐようなブラックな企業かどうかわからんけど
日付跨がないのであればその日の年月日(yyyymmdd)でフォルダを作ってそこへ出力すればいいのとちゃう?
0768作本2011/01/09(日) 10:42:55
>>765さん
ありがとうございます。

dobonさんの紹介サイトは
http://dobon.net/vb/dotnet/links/createzipfile.html
です。
ただ、難易度や長所短所などは分かりません。

教えていただいた内容を踏まえ、

規定期間内のデータを取り込み、一定期間をさかのぼる過去のものは圧縮していき、
月日が経つごとに、過去のものになったデータも圧縮ファイルに納めていく…
という方法も効率てきかなと思っています。
■ このスレッドは過去ログ倉庫に格納されています