1 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 10:57:16 ] このスレッドは 「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。 ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、 勇気をもって書き込んでください。 内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。 >>980 を踏んだ人は新スレを建てて下さい。 >>980 が無理な場合、話し合って新スレを建てる人を決めて下さい。 前スレ ふらっとC#,C♯,C#(初心者用) Part45 pc12.2ch.net/test/read.cgi/tech/1253522504/
331 名前:デフォルトの名無しさん mailto:sage [2009/10/21(水) 20:08:55 ] 別にアプリケーションはゲームだけじゃないしな
332 名前:デフォルトの名無しさん mailto:sage [2009/10/21(水) 20:27:00 ] ゲームじゃないソフトってほとんどvectorであるしな 今更斬新なものってなかなかないような せいぜい、最新OS対応させるぐらいだろうけど あの頃はプログラミング楽しかったなー >>330 後学のためにソース公開してよ。無理なら実行ファイルだけでもいいから
333 名前:デフォルトの名無しさん mailto:sage [2009/10/21(水) 20:27:20 ] namespace TestP { public partial class Form1 : Form { static public Bitmap[] Picmap = new Bitmap[128]; ←ここ public Form1() { InitializeComponent(); } なんたらかんたら } } この場合どこで Dispose(); するの?
334 名前:デフォルトの名無しさん mailto:sage [2009/10/21(水) 20:32:39 ] いらなくなったとき 判断できないなら放置するしかないが
335 名前:デフォルトの名無しさん mailto:sage [2009/10/21(水) 20:53:36 ] これってusingつかえんかったかな?
336 名前:デフォルトの名無しさん mailto:sage [2009/10/21(水) 20:56:17 ] >>d 放置することにします。
337 名前:デフォルトの名無しさん mailto:sage [2009/10/21(水) 20:56:33 ] つかえねえよw
338 名前:デフォルトの名無しさん mailto:sage [2009/10/21(水) 20:57:36 ] レス番わすれた>>334
339 名前:デフォルトの名無しさん mailto:sage [2009/10/21(水) 20:58:41 ] ショボンとなった
340 名前:デフォルトの名無しさん mailto:sage [2009/10/21(水) 21:02:23 ] 最近初めてプログラムの本を買って読んでるんだけど、C#エッセンシャルズ2版がなんかしっくりくる。 本の分厚さも2センチいないで持ちやすい! でも、.Net 2.0とか古そうだしできれば3.5のを読みたい。 何か2センチ以内で.Net3.0~を対象としていて大体のことを網羅している本ってない?
341 名前:デフォルトの名無しさん mailto:sage [2009/10/21(水) 21:07:21 ] .NET 3.0/3.5は2.0への機能追加なので、2.0の知識がそのまま使える。 というわけで、古いとか心配しなくても大丈夫。まずはその本で基礎を固めるのがいいと思うよ。
342 名前:デフォルトの名無しさん mailto:sage [2009/10/21(水) 21:13:45 ] プログラム経験は4年! C,C++,C#,VB,Javaは大方勘でかける! だがいまだにオブジェクト指向のこと聞かれても答えられない! 意味もわからない! うふう、うふふふふふふっ
343 名前:デフォルトの名無しさん mailto:sage [2009/10/21(水) 21:29:48 ] >>333 次にいつ使うか分からないけど、生成コストが高いので残しときたい。でも、メモリ使用量が多いので開放したい。 こんな時の妥協案に、"弱い参照(System.WeakReference)で保持してGCの対象にする"なんて方法もある。 多用する類の物ではないけど、使いどころによっては効果的。
344 名前:デフォルトの名無しさん mailto:sage [2009/10/21(水) 21:35:05 ] >static public Bitmap[] Picmap = new Bitmap[128]; ←ここ 生成したのは配列だけで、Bitmapは生成されてないとか言う落ちだったりして
345 名前:デフォルトの名無しさん mailto:sage [2009/10/21(水) 21:38:39 ] ありそうなのが怖い
346 名前:デフォルトの名無しさん mailto:sage [2009/10/21(水) 21:39:22 ] WeakReferenceは結構すぐ解放されちゃうからそういう意図のキャッシュには使いづらいよ static Dictionary<WeakReference, Bitmap>みたいにキャッシュのキーとして使ったりすることが多い
347 名前:デフォルトの名無しさん mailto:sage [2009/10/21(水) 21:41:07 ] あれ?IDisposableだからってGCに任せちゃ駄目なんじゃなかった?
348 名前:デフォルトの名無しさん mailto:sage [2009/10/21(水) 21:45:16 ] リークという意味では別にGC任せでも構わん 早くリソースを回収したいからDisposeを使うだけ
349 名前:デフォルトの名無しさん mailto:sage [2009/10/21(水) 21:51:18 ] ファイナライザくらい実装してるだろ。
350 名前:デフォルトの名無しさん mailto:sage [2009/10/21(水) 21:52:22 ] using(static public Bitmap[] Picmap = new Bitmap[128]) { }
351 名前:335 mailto:sage [2009/10/21(水) 21:58:55 ] >>350 は俺じゃないよ、しらねーよ
352 名前:デフォルトの名無しさん mailto:sage [2009/10/21(水) 23:12:01 ] //myclassクラス宣言 public myclass[] mc = new myclass[10]; これってクラスの配列みたいなんですけどC#でこれが普通なんですか 入門書には出てない書き方なんで・・・・
353 名前:デフォルトの名無しさん mailto:sage [2009/10/21(水) 23:13:22 ] >>332 www.nicovideo.jp/watch/sm8517855 ほれ、テトリス
354 名前:デフォルトの名無しさん mailto:sage [2009/10/21(水) 23:18:11 ] >>352 new myclass[10]のところ? これは 「myclassのインスタンスを格納する要素数10の空の配列を作る」 という意味 最も基本的な配列の作り方なのでほんとにその本に出てないなら今すぐ焼き捨てるべき
355 名前:デフォルトの名無しさん mailto:sage [2009/10/21(水) 23:18:19 ] >>352 入門書にはどう書いてあったの?
356 名前:デフォルトの名無しさん mailto:sage [2009/10/21(水) 23:42:18 ] >>354 >>355 ネットみていたら //myclassクラス宣言 public myclass[] mc = new myclass[10]; って書いてあったんですけど んこれって配列じゃね? int []a = new int[100]; あった配列だな・・・ class宣言は myclass mc = new myclass(); 丸括弧だよ!! じゃあなんだ これは、public myclass[] mc = new myclass[10];意味は何となくわかるけど みたことないぞ ググって例がみてもあまりないなあ よし聞いてみよーとという展開です
357 名前:デフォルトの名無しさん mailto:sage [2009/10/21(水) 23:46:36 ] 配列のインスタンス化とクラスのインスタンス化を区別しろよ
358 名前:デフォルトの名無しさん mailto:sage [2009/10/21(水) 23:48:38 ] int[] → intのインスタンスの配列 string[] → stringのインスタンスの配列 myclass[] → ○の△の□ わかるでしょ?これだけのこと
359 名前:デフォルトの名無しさん mailto:sage [2009/10/21(水) 23:50:04 ] >>353 過去にタイムスリップして作ったのか? すごいじゃないな
360 名前:デフォルトの名無しさん mailto:sage [2009/10/21(水) 23:56:46 ] >>357 >>358 おっしゃる通りです mc[1]〜mc[10]のインスタンスができたー でもやってみないと半信半疑ですね 両名さんありがとうです
361 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 00:00:47 ] >>353 音切ってたから イキナリフリーズかと思ってみてた 休みの日見るからとっておいてくださいねって あんた一時間って天才か
362 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 00:10:43 ] オブジェクト参照がオブジェクト インスタンスに設定されていません。 lbl.Text = mc[1].myno.ToString(); と思ったら落ちた 明日に続く
363 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 00:10:58 ] 30歳ぐらいになったらプログラミング作業速度って落ちるのかな?
364 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 00:23:48 ] 落ちない。むしろ上昇する。
365 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 00:25:02 ] >>363 普通はそれはないよw 年齢をいい訳にしてる人は、本当は若いときから単に無能だっただけ。
366 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 00:25:07 ] そんなに頭使わないから平気じゃない? 経験もある程度重要な分野だし。 脳の老化は始まってるだろうけど その歳から影響を受けるのって数学者とか特殊な人たちでしょ
367 名前:363 mailto:sage [2009/10/22(木) 00:28:11 ] 安心しました 30なんですが、プログラミングを趣味でやろうと思ってて 今から覚えられるか不安だったけどがんばってみます
368 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 00:31:22 ] 30から趣味で始めるなんて随分と奇特な人もいるもんだな まあプログラムに定年はないし、やる気と能力さえあればおじいちゃんでも小学生でも出来るからな
369 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 00:33:30 ] マ板へ誘導 pc11.2ch.net/prog/
370 名前:330 mailto:sage [2009/10/22(木) 00:45:25 ] >>353 実はその動画に触発されて作ったw といっても実際に書いたコードはIronPythonで、 C#ですでに構築している自作のゲームエンジン上で動かしている。 (IronPythonでゲームが実装できるような仕組みにしている) ソースコードは公開できない。スマン。
371 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 00:51:54 ] この1時間の人はすごいよな 俺、IDEないとバグ出まくる気がする
372 名前:363 mailto:sage [2009/10/22(木) 00:58:58 ] win3.1のころはって言ってるからまだ20代かな MS-DOSのころにQuick CやHigh Cコンパイラとか当時やってた
373 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 01:11:33 ] 結局、同じものをいろんな処理系で何度も構築するのが一番勉強になるからなぁ。 1回目より2回目、2回目より3回目、 確実に無駄が減ってくる。
374 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 01:31:02 ] でも1年もやってないとその知識が0に戻ってしまうんだけど・・・ またオブジェクト指向はなんたるかを覚え直し
375 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 01:35:41 ] それはないわ
376 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 01:40:31 ] そりゃわかったつもりになってるだけだからだ 要するに元から知識0
377 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 01:40:54 ] 分かったような分からないようなって言ってるいる奴は間違いなく分かってない
378 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 06:22:31 ] 「身につく」とか「理解する」ものであって、覚えるものではないし。
379 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 07:51:27 ] 結構腰を据えて勉強しないとわからんのもあるよね。 とりあえず組んでみるだけだとわかった気になっておわること多い。
380 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 09:28:33 ] オブジェクト指向を全く知らない頃にCでオブジェクト指向のプログラムを 苦労して作ってたから、オブジェクト指向という概念と それをサポートする言語を知ったとき感動したっていうか 最初からこっちでやればよかったって思ったよ。
381 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 09:32:11 ] 言語は新しいものに限るって見知らぬ老人が言ってた
382 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 09:55:26 ] CopyFromScreenで、デスクトップの画面をキャプチャーできるじゃん。 これって自分自身のフォームもキャプチャされるけど、 自分自身はキャプチャされない方法ってあるの?
383 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 10:01:29 ] 自分自身を非表示にすれば良いんじゃね
384 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 11:31:34 ] 表示されてる場合、その裏側に何が書かれてるのかは誰も知らないからな
385 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 11:58:20 ] 誕生日を入力すると、その人の現在の年齢を表示するプログラムを作っています。 DateTime birthday;として誕生日を格納して、現在の日付との差分をTimeSpan ts;に代入するところまではできました。 ただtsは時間の差を最大で日付単位でしか得られないので困っています。 単純に ts.Days / 365とするとうるう年などの関係で年齢がずれることがあります。 なにかうまくやる方法はないでしょうか
386 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 12:03:25 ] >>385 君はググったことがあるかい?
387 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 12:43:37 ] ないから聞いているんです
388 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 12:49:11 ] まず年を計算して月日が前か後かで判断すればいいだけじゃね?
389 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 12:51:38 ] >>387 宿題ご苦労さん でも自分で調べてみるくらいしような いつも誰かが教えてくれるわけじゃないぞ s.luna.tv/search.aspx?client=lunascape&s=0&gl=jp&hl=ja&q=C%23 %E5%B9%B4%E9%BD%A2%E3%80%80%E8%A8%88%E7%AE%97 ここの一番上でも見てろカス
390 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 12:52:31 ] ミスったw www.google.co.jp/search?hl=ja&lr=lang_ja&um=1&q=C%23%20%E5%B9%B4%E9%BD%A2%E3%80%80%E8%A8%88%E7%AE%97&ie=UTF-8&sa=N&tab=iw
391 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 13:03:52 ] 初歩的な質問ですいません あるファイルがロックされているかどうかを調べる方法が分かりません ロックされていなければ同名で上書きさせたいのですが 上書き失敗したら無視のループ、書き込めたらbreakで対処しています 上書きを実行する前にロックされているかどうかを調べたいのですが 良い方法はありませんでしょうか? 環境は windows xp、visualstudio10b、言語は.NET c#です
392 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 13:09:57 ] 事前チェックじゃなくてtry-catchでやる
393 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 13:14:59 ] 387は誰か知りませんが、バカのふりして煽って楽しいかな >>388 やっぱそういう方法でチマチマするしかないんですね、どうもです。 VBのDateDiffみたいに汎用の方法があるのかと思ったんですが・・・
394 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 13:17:40 ] >>393 時刻サイトからまんまパクる
395 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 13:27:03 ] DateDiffって年齢計算に使えたっけ
396 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 13:29:56 ] VBのDateDiffを使いたいのならC#からでも使えるけど、そういうことじゃないんだろうな
397 名前:391 mailto:sage [2009/10/22(木) 13:31:51 ] >392 レス有り難うございます、、ただ、try-catchだと、ロックされてない時に上書きが実行されてしまいます 説明不足でした、最低1度ロックされ、そのロックが解除された事を確認した上で 上書き実行したいので、ロックされているかどうかを監視したいのです 監視ループでFile.Openを試みるのも考えたのですが、もっとスマートに ファイルの状態を返す様な物は無いのかと思い、質問した次第です
398 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 13:35:20 ] >最低1度ロックされ、そのロックが解除された事を確認した上で >上書き実行したいので 確認したときアンロックだったとしても 実行するまでにロックされたらどうすんだろ
399 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 13:35:42 ] >>397 追記オープンでいいのでは?
400 名前:391 mailto:sage [2009/10/22(木) 13:50:43 ] アンロックされているかどうかは確認しません ロックされているかどうかだけを確認して ロックされていれば、過去にロックされたというフラグを立てます フラグが立っている状態なら、ロックされてるか確認はせず、上書き実行を試みます その時に再ロックされていても書き込めないだけで 上書きが成功すればフラグを下ろし、またロックされたかどうかをチェック開始する感じです この一連の流れで「ロックされているかどうか」をチェックする方法が分からないんですorz
401 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 13:52:56 ] ふ〜ん
402 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 14:01:09 ] 汎用的なクラスを作って、別のプロジェクトを作った時に利用しようと思っても どのプロジェクトでそのクラスを作ったかわからなくなり、また新しく作ったりするんですが そうならないように汎用的なクラスをまとめておきたいんですけどどうすればいいでしょうか?
403 名前:391 mailto:sage [2009/10/22(木) 14:02:21 ] 現状こんな感じなんですが・・・ Boolean bgmfilelock = false; private void Timer_Tick(object sender, EventArgs e) { // ファイルが開けるか確認する try { File.Open("aaa.txt", FileMode.Open, FileAccess.Read); // 開けなかったらフラグを立てる } catch( System.IO.IOException ){ bgmfilelock = true; } // 過去に一度でもファイルが開けなくなったら(ロックされた事があれば) if( bgmfilelock ){ // ファイルの上書きを試みる try { File.Copy("aaa.txt", "bbb.txt", true); bgmfilelock = false; } catch( System.IO.IOException ) { } } } 一度ロックがかからないと上書きされない、という動作は達成してるんですが チェックの為だけにOpenはどうかなぁと思って、もっと単純に出来ない物かと ファイルの状態を知る方法は無いんでしょうか?
404 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 14:04:48 ] ファイルロックにも色々あるけどな
405 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 14:06:49 ] >>404 だからなんだよカスw
406 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 14:11:20 ] 何がしたいんだかわかんね
407 名前:406 mailto:sage [2009/10/22(木) 14:13:13 ] 「一度ロックがかからないと上書きされないという動作」 をしたいんです
408 名前:391 mailto:sage [2009/10/22(木) 14:14:17 ] ↑の391です、すいません
409 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 14:17:13 ] その場合 ・ロック確認 ・別プロセスがロック ・別プロセスがアンロック ・ロック確認 こういった時にロックかかったか検出できなくない
410 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 14:17:34 ] というよりもっと上位のレベルの「何がしたいのか」を説明したほうがいいような・・・ なんかもっと良い解決法がありそうな気がするそれ
411 名前:391 mailto:sage [2009/10/22(木) 14:28:48 ] はい、では具体的に書きます 定期的に別プロセスで再生されるmp3ファイルが有るのですが このままでは同じ曲を延々とループしてしまいます。 そこでタイマー1のイベントで10秒毎に、別のmp3を同名で上書きさせています ただ、常に上書きではどんどん曲が変わってしまうので タイマー2により最低3分しないとタイマー1が作動しないようにし 3分経ったら、タイマー2を停止させて、タイマー1を作動、10秒毎に上書きに挑戦し 書き込み成功したらタイマー1を停止し、タイマー2を作動させています その仕組みを「上書きされて3分以上経ち、かつ最低1回再生されたら、別の曲を上書き」 にしたいんです、再生している間はファイルがロックされますので ロックされたかどうかを検知すればいいかなと
412 名前:391 mailto:sage [2009/10/22(木) 14:34:54 ] そのmp3は、10秒以上絶対に再生されるので 10秒毎にファイルがロックされているかどうかを検知し 一度ロックがかかったら、それ以降は上書きを試み続け ロックが解放され次第上書きして、成功したら3分待つ とすれば3分後でも、一度も再生されていない場合は上書きされないので やはり、ロックされているかどうかのチェックは必要だと思うんですが
413 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 14:44:06 ] 他アプリで再生中かどうかを検出したいって事?
414 名前:391 mailto:sage [2009/10/22(木) 14:50:20 ] >413 そうですね ただプレイヤーによっては再生中にバッファを作ったりして、ロックしない物もあるので その場合は3分以上経っていれば直ちに上書きしたいので再生中かどうかと言うより 上書きできる状態かどうか、を検出したいんです
415 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 14:51:44 ] 再生してるソフトを改造すれば
416 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 14:53:48 ] プレイヤーによってロックしない物もあるということは、、、 プレイヤーによってループ再生中ずっとロックしっぱなしものもある?
417 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 14:54:21 ] なるほど これのことか・・・ ttp://msdn.microsoft.com/ja-jp/magazine/cc163450.aspx
418 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 14:57:16 ] ある
419 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 15:00:02 ] >>417 違うんじゃないか?
420 名前:391 mailto:sage [2009/10/22(木) 15:02:38 ] >415 他の人が作ったプレイヤーを改造するほど技術がありません^^; >416 ロックしっぱなしは有りますが、その場合同じ曲が何度も再生されるのは仕方ないと思ってます 「定期的に再生される」と書きましたが「再生されない時間」も有るため そのタイミングで曲の変更を行っています >417 そんなに難しい事じゃないです^^;;; ロックしているプロセスが何であれ構いません、秀丸で排他制御させてmp3を開いてても同じです 単純にファイルがロックされているかどうかを知りたいだけなんですが・・・
421 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 15:04:47 ] だからその確認には実際に開いてみるのが一番手っ取り早いっていってるじゃんか
422 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 15:08:45 ] そのプレイヤーはそのMP3ファイルが無いとどうなる?
423 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 15:15:00 ] System.IO.FileMode.Appendで開く
424 名前:391 mailto:sage [2009/10/22(木) 15:33:49 ] 私の知らない File.Status() みたいな物がもしかしたらあって ファイルのロック状態を取得する方法があればと思って聞いたんですが やっぱり、>403で書いた様な方法しか無いと言うことですね みなさん有り難うございました><
425 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 15:42:57 ] >>424 その手続きが面倒でも、クラスにしてしまえば利用する分には楽じゃん?
426 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 20:52:26 ] >>402 クラスライブラリを作る そこまでするほどでもないようなくだらないものは共有しないでコピーした方がいい
427 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 21:04:03 ] ここの住人には心病んでるやつもいたんだな
428 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 21:24:19 ] 自己紹介乙
429 名前:402 mailto:sage [2009/10/22(木) 21:25:18 ] >>426 忘れ去られてるかと思いました。ありがとうございます。 そのやり方だとやっぱりどこに何があるか忘れてしまうし DLLにするほどでもないし ファイルをどこかのフォルダにまとめてコピーして使うという感じがいいのかな? みなさんはどうしてるのか気になります
430 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 21:28:18 ] >>429 >そのやり方だとやっぱりどこに何があるか忘れてしまうし もうどういうやり方にしてもダメだろそれ・・・
431 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 21:29:07 ] もう全部コードスニペットにしちゃえよ