[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 2chのread.cgiへ]
Update time : 01/11 00:11 / Filesize : 159 KB / Number-of Response : 709
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

VB.NET質問スレ(Part29)



1 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 17:53:36 ]
前スレ

VB.NET質問スレ(Part28)
pc11.2ch.net/test/read.cgi/tech/1229695062/l50

テンプレは>>2

75 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 17:43:41 ]
まあいいんじゃないw
移植は結構鍛えられる

76 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 17:48:37 ]
だってVCもVBもわかってないってことでしょ
どっちかわかってないとつらいよなw

77 名前:72 mailto:sage [2009/02/26(木) 17:58:23 ]
>>73
おお、そういやそうだ。失敬。

78 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 19:02:56 ]
integerじゃなくshortをつかわければならない
CPUやメモリっていうのはどれぐらい?

79 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 19:45:08 ]
どれぐらい?って?

80 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 21:17:00 ]
あれぐらい

81 名前:デフォルトの名無しさん [2009/02/26(木) 21:35:23 ]
質問させて下さい。
WindowsServer2008上でアプリ(定期的にデータを変換するソフト)を動かしています。
ユーザーがダブルクリックで実行した場合には正常に動作しています。
しかし、VBで作った自動起動ツールから、そのソフトを起動させると、
外観は正常なのですが、動作ログや出力ファイルになにも書き込まれません。
どういった原因が考えられるのでしょうか?
お願いしますです。

82 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 21:43:58 ]
アクセス許可

83 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 21:44:24 ]
カレントディレクトリ



84 名前:デフォルトの名無しさん [2009/02/26(木) 22:46:21 ]
複数のstring にPadRightして、長さをそろえてMSゴシックでLABELに
表示したいのだが、全角文字や半角文字が混じっていると、長さが
微妙にずれるのを解消する方法を教えてくれ


85 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 22:52:36 ]
そういうのはPadRightじゃなくてTextAlign使おう

86 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 12:30:18 ]
失礼します。
VisualBasic 2008 Expressを使用しています。
参照アセンブリ '***.dll' は、アプリケーションとは異なるプロセッサをターゲットにしています
と、いう警告が出ています。
調べたところ

>対策方法ですが、32ビットOSだけを対象にするのであれば、[プロジェクトのプロパティ]を開き、[コンパイル]から[詳細コンパイルオプション]ボタンをクリックし、
>[ターゲットCPU]をAnyCPUからx86に変更すれば警告は出なくなると思われます。
social.msdn.microsoft.com/forums/ja-JP/csharpexpressja/thread/c0acb6a3-45e5-48b6-b68c-61cd6e26dcb2/

と、あるのですが2008Expressで詳細コンパイルオプションの中にはこの項目が見当たりません。
どこか他の場所にあるのでしょうか?それともExpressでは設定できないのでしょうか?
よろしくお願いします。

87 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 12:30:18 ]
複数フォルダの複数ファイルの更新状況を一つのスレッドで監視したいと考えています。

[FileSystemWatcher]のインスタンス一つを利用して、
一度に複数フォルダの複数ファイルを監視(イベント取得)する事は出来るのでしょうか?
出来るとしたらどの様な方法がありますか?

また、出来ないとしたら、フォルダ毎のインスタンスを用意してそれぞれのイベントを個々に監視する。
、スレッドで起動するなどの方法になるのでしょうか?

88 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 12:41:52 ]
>>84
ポイントサイズを3の倍数にするとかなんとかムニャムニャ

89 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 12:56:39 ]
>>87
ひとつのFileSystemWatcherにつき一つのディレクトリだが、
そもそもなんで複数のFileSystemWatcherを作りたくないんだ?

90 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 13:05:06 ]
>>86
Expressじゃ無理だったはず
.vbprojのPlatform要素書き換えればいけるかもしれんがどうだろうな

91 名前:87 mailto:sage [2009/02/27(金) 13:28:08 ]
>>89
監視するフォルダはDBで管理し継続的に増えます。

認識違いをしているかもしれませんが、
FileSystemWatcherのWatcher_Changed()は、複数インスタンス化したFileSystemWatcherに対し
それぞれに対応するWatcher_Changed()が必要だと思っています。
従って、可変的に作成する事が出来ないのではと考えた結果です。

もしかして、複数のFileSystemWatcherで指定するフォルダのイベントは、
一つのWatcher_Changed()で全て取得出来るのでしょうか?

92 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 13:30:14 ]
できるよ
AddHanderでイベントにイベントハンドラを追加できる

93 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 13:35:07 ]
>>91
君はオブジェクト指向脳ではないようだ。



94 名前:87 mailto:sage [2009/02/27(金) 13:51:12 ]
>>92
早速確認しました。出来ました。
AddHanderの意味を良く理解出来ていなかったみたいです。
ありがとうございます。

>>93
そのようです...orz
精進します。

95 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 16:13:17 ]
>>90
やはり無理でしたか。
動作はしているので、このままで様子を見てみます。
ありがとうございます。

96 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 20:38:43 ]
ちなみに64bit版WindowsでDLLのロードに失敗することになる

97 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 22:09:49 ]
リッチテキストボックスのどこらへんがリッチ?

98 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 22:13:15 ]
まあ君の脳がプアーなのは確かだ

99 名前:デフォルトの名無しさん [2009/02/28(土) 02:26:05 ]
Public Class Form1

End Class
で作ったForm1の中の関数が増えてきてコードが長くなってきたので、
その中のいくつかの関数を他のファイル(ClassとかModuleでいいのかな?)に
分離したいんですけれど、たとえばModuleに一部を移動してみたんですが、
そうするとForm1が宣言されていませんっていうようなエラーするんですが、
どうしたらいいでしょうか?良い方法を教えてください

100 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 02:45:21 ]
>>99
1.Partial Class を使う。

2.Form1の参照が不要な部分だけを切り出す。

3.Form1の参照を外部のSub/Functionに渡す。
sub Hoge(tform as Form1)
  tform.Text1.Text = "Hello"
end sub


101 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 03:30:26 ]
>>99-100
こういうVB脳の人はプログラミングか足洗った方がいいよ。

>>100は最後の3.とか真面目にアドバイスのつもりで言ってるようだが、
こんなスパゲチに何も疑問感じないのならプログラマの適性がないんだわ。

102 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 03:34:15 ]
貶すだけ貶して答えもしない、毎度毎度ご苦労なことで

2ちゃんで仕事の憂さ晴らしか

103 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 06:54:10 ]
MVCだよMVC



104 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 07:49:45 ]
>>101
お前、会社で浮いてるだろ

105 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 08:00:05 ]
自宅が会社です

106 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 09:16:08 ]
>>99
コード晒した方がいいかも

107 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 09:28:32 ]
>>101
1,2,3という選択肢を用意してるのに3の答えだけ叩くアホ。

108 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 10:25:45 ]
まあたしかに3はありえないな

109 名前:99 [2009/02/28(土) 11:56:57 ]
みさんさん、ひとつのクラスが1万行くらいのコードになった場合、
それをひとつのファイルのままで編集するのって、混乱しませんか?
私はどっちかというと、最大でも1000行以内くらいの複数のファイル
に分割するほうが何がどこにあるか把握しやすくて好きなんですが。

110 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 12:02:40 ]
まずは>>100の2にあるようにフォームに依存しないコードをクラスに切り出すのが
とっかかりとしては簡単
内部の処理とフォームへの入出力を分けて考えるんだ

111 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 12:14:58 ]
つかなにをどうやっても1万行とかならねぇよ

112 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 12:16:51 ]
フォームにコントロールが100個あって、それぞれイベントプロシージャが 100行あれば、
なんとか1万行か・・・

確かにありえないなw

113 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 12:42:21 ]
>>109
>ひとつのクラスが1万行くらいのコードになった場合、
そうなったら自分の無能さを呪うしか。



114 名前:99 [2009/02/28(土) 12:46:42 ]
>112
>フォームにコントロールが100個あって、
はい。そんな感じです。

115 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 12:51:02 ]
100個もあったらさすがに100通りの処理が必要なわけじゃないだろ?
ちょっとは頭使えよ

116 名前:99 [2009/02/28(土) 13:04:08 ]
では、一般的な質問として、皆さん、VB.NETでコード書いていて、合計行数が
1万行とか10万行とかなった場合、どのようにファイルを分割していますか?
お勧めの方法とかありますか?



117 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 13:06:08 ]
だからクラスで分ける
ファイルを分けるだけじゃなくて構造的に分ける

118 名前:99 [2009/02/28(土) 13:09:32 ]
ひとつのクラスが1万行とか10万行になるようなときにどうすればいいでしょうか?

119 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 13:10:49 ]
それは一般にダメな設計と呼ぶ

120 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 13:18:28 ]
1万行になったことはないね
コーディングする前(時)に切り分けしてる

でも、1万行のコードを把握できるって凄いね

121 名前:99 [2009/02/28(土) 13:33:17 ]
仕様書にFormの上に100個のコントロールを配置するGUIのデザインが書かれていた場合、
どうしたらいいんでしょうか?

122 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 13:33:54 ]
>>99
普通は少なくともFormのコードが数万行とかありえんと思うよ。
そりゃ根本的に考え方がおかしいんだよ。
Formに書いてよいのは

(1) オブジェクトからのイベントはハンドリングしてオブジェクトの情報を
 表示に反映するコード

(2) ユーザーの入力をオブジェクトに通知するコード

これだけ。これ以外のコードがあるのは設計以前の問題がある。

こういう普通の書き方をしてもFormのコードが肥大することは確かにあるけど、
そういう場合は俺ならカスタムコントロールとかユーザーコントロールに
切り分けることを考える。

123 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 13:41:23 ]
>>99 は「クラス=フォーム」と思ってる気がする。



124 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 13:43:44 ]
>>121
仕様がおかしい、って設計した奴に文句を言う

125 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 13:46:34 ]
>>123
ああなるほどそういうことか
VB使いにはよくあること

126 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 13:57:16 ]
なぁ、変数に"swk"ってのよく見るんだけど、
これ何か意味あるの?
i とかj みたいな感じ?

127 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 14:00:10 ]
見たことないな。書いた奴に聞けよ

128 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 14:16:53 ]
もしかして:star wars kid

129 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 14:19:10 ]
>>126
kwsk

130 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 16:04:52 ]
streamwrite a-zにきまってるだろシロウトめが

131 名前:デフォルトの名無しさん [2009/02/28(土) 16:28:21 ]
>123
違うのか?

132 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 17:00:46 ]
>>130
kはなに?

133 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 17:09:51 ]
>>132
きまってる のk



134 名前:デフォルトの名無しさん [2009/02/28(土) 19:06:40 ]
exeファイルのアイコンがウィンドウの絵柄のアイコンなのですが
これを別のものに指定してビルドする方法を教えてください。

135 名前:デフォルトの名無しさん [2009/02/28(土) 19:08:05 ]
>>134
すみませんできました。

136 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 23:51:14 ]
テキストボックスの背景の右上に画像を表示するにはどうしたら良いですか?


137 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 23:54:25 ]
テキストボックスとリッチテキストボックスの両方で出来る方法を探しています。

138 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 00:07:08 ]
プロパティの一覧ぐらい見てから聞けよ。
5分もあればあるか無いかぐらい目処が立つだろ

139 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 00:19:48 ]
いや、無いので、オーナードローなりで技術的に可能にする方法を聞いているんですが・・・
テクニカルな回答をお願いします

140 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 00:25:17 ]
backgroundimageではいけない理由があるってことかね

141 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 00:40:21 ]
WPFだと楽に出来そうだ

142 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 00:49:58 ]
テクニカルな回答って言い回しになんか笑ったw

>>139
TextBoxって背景画像指定できんかったっけ?

それはともかく、まあ、純粋に.NETの機能だけでは自前描画ができないのは
確かだ。OnPaint系のイベント来ないから。

でもWM_PAINT捕まえればもちろんできるよ。
たしかパパンVBとかいうとこにWM_PAINTで背景を描画するサンプルがあったと思うから
(ただしTextBoxじゃなくて、2003時代のComboBoxの枠を自前で描画するサンプルだと思ったが)
それあたり参考にしてみたら?

143 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 01:30:31 ]
フォームにコントロール100個は居なくなったか・・・
ボタンが可変で増えたり減ったりするのは作ったことがあるが
基本を一つ作れば実現できるよな
後はパネルにフォームをNewして貼り付けていって
スクロールバーをONにすればAccessのサブフォームみたいなのも出来るし



144 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 01:44:48 ]
いや彼のコードの書き方には恐らく問題ありだと思うが、
コントロール100コなんて分野によってはそう変でもなければ珍しくもないと思うが。

145 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 01:57:34 ]
確かに100個ってのはあまり珍しくはないな
特に顧客情報入力画面なんかは
基本情報に受注情報に購買履歴とか言い出したら100個じゃ済まなくなるし
各項目に検査コード入れたら確かにコードは膨れそうだが


146 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 02:01:32 ]
ないない。ユーザーコントロールとかにするし。

147 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 02:04:12 ]
今作ってるのはデータベースのフィールド数が50あるから
コントロールは各項目にラベルとテキストボックスORコンボボックスに
グルーピング用のコンテナ入れたら余裕で100個以上あるよ
ただし、ハンドル使い回すのでコードなんて30もないと思う

148 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 02:27:23 ]
>>147
>コードなんて30もないと思う
単位は何?行?

149 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 02:37:40 ]
ユーザーコントロールとかそれこそやらないな。

まずは各要素を動的に生成して、それぞれ処理を共通化出来ないかを摸索するな。


150 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 04:12:15 ]
ユーザーコントロールは使わないなあ
動的にコントロールを追加したり削除したりするときは
めんどくさいから必要なもんまとめとくのに使うことはあるけど
ただの入力フォームならポトペタの方が圧倒的に早いし
データソースウィンドウからドラッグすれば必要なコントロールが一発でそろうし
勝手にバインドしてくれるし

151 名前:デフォルトの名無しさん [2009/03/01(日) 11:29:34 ]
>100,122
どうもありがとうございました。
2.Form1の参照が不要な部分だけを切り出す。
という作戦を使って一つの長いファイルを複数のファイルに
分割できました。ありがとうございました。

152 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 14:07:51 ]
DotNetBar for Windows Forms って使ってる人います?
デモ版入れて少し触ってみた範囲では大丈夫でしたが、
実際に使っている人の話が聞ければと...


153 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 14:51:39 ]
おれは処理は全部モジュールに書いてフォーム側はそれを
呼び出すだけにしてるけどな
でないとあっち見てこっち見てが面倒なんで
でモジュール側はregionでまとめて



154 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 15:06:29 ]
もう>>151みたいな書き方とか標準モジュールとか使うVB脳の人はプログラマ辞めてw
気づいてないかもしれないけど周囲の迷惑だよ。

>122に書いたように最低限オーソドックスにOOPしてよ。

155 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 15:07:01 ]
クラスじゃなくてモジュール?

156 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 15:10:40 ]
しかし標準モジュールは便利でな・・・

157 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 15:11:25 ]
たとえばログイン画面があるとする
VB厨はフォームに全部書く。
ログイン処理はログインボタンのイベントハンドラに書く。

OO厨はユーザーIDプロパティとパスワードプロパティとログインメソッドを持つ
ログインクラス書く。
ログインフォームはログインクラスをインスタンス化して
ユーザーIDとパスワードをセットしてログインメソッドを呼ぶ。


158 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 15:24:56 ]
>>157
設計しだいだけどさ〜
ログインクラスにログインメソッドっておかしくね?


159 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 15:27:07 ]
Commandパターンとかなら

160 名前:デフォルトの名無しさん [2009/03/01(日) 22:29:29 ]
>154
オマイのコードをここに貼って見せてくれよ

161 名前:デフォルトの名無しさん mailto:sage [2009/03/02(月) 01:35:07 ]
OO厨って何よ?

わかる日本語で書いてくれ

162 名前:デフォルトの名無しさん mailto:sage [2009/03/02(月) 01:43:23 ]
>>154
おまえC#の初心者用でも初心者煽ってる奴だろ

163 名前:デフォルトの名無しさん mailto:sage [2009/03/02(月) 07:08:58 ]
OO厨とは
d.hatena.ne.jp/keyword/OO%BF%DF



164 名前:デフォルトの名無しさん [2009/03/02(月) 15:25:01 ]
.NET 全般、標準入出力に関する質問になるのですがよろしくお願いします。

ネットで調べて、「System.Diagnostics.Process」を使用し、
コンソールプロセスを起動し、標準出力用スレッド、標準入力スレッド
を立てて、通常のテキストのやり取りをするPGは作成できました。
そこで、コンソールにF1やF2などのファンクションキー押下を標準入力に
渡したいのですが方法が分かりません
p.StandardInput.WriteLine(Chr(Keys.F1)) ' F1を送る
などとやっても駄目でした。

ご回答、アドバイス、よろしくお願いいたします。

165 名前:デフォルトの名無しさん mailto:sage [2009/03/02(月) 16:33:02 ]
>>164
F1の「キーコード」はそれで送れると思うが。
だからってF1押したことにはならんけどな。
もしそういう目的なら、SendKeys.Send 使え。

166 名前:デフォルトの名無しさん mailto:sage [2009/03/02(月) 21:11:20 ]
>>165
>F1の「キーコード」はそれで送れると思うが。
>だからってF1押したことにはならんけどな。

そうです、そうなんです。

p.StandardInput.WriteLine



SendKeys.Send

みたいなことができないでしょうか?

167 名前:デフォルトの名無しさん mailto:sage [2009/03/02(月) 21:30:38 ]
できない

168 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 00:45:37 ]
ある文字列をWindowsファイル名に使っていい文字だけの文字列にする関数やプログラムは?

169 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 00:49:35 ]
んなもん、ヘルプ見て使っちゃいけない文字リスト見れば一発だろ。

170 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 01:01:29 ]
>>168
1文字ずつ作ってみれば?

171 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 03:15:47 ]
ランダムな値を返さない

dim i,iR as integer
For i = 1 To 10000
Dim Ra As New System.Random
iR = Ra.Next(1, 4)
S &= iR & " "
Next

リッチテキスト=S



172 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 10:59:00 ]
Randomクラスをループの中でインスタンス化するな
Randomのシードは時刻に依存してるのであまり短い間隔で新しく作るとシードが同じになる
何より毎回作ると遅い
ループの外で作って使い回せ

173 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 11:09:00 ]
>>168
path.IndexOfAny(IO.Path.GetInvalidPathChars())
または
filename.IndexOfAny(IO.Path.GetInvalidFileNameChars())
でチェックし、0以上の値が返ってきたら、その文字を変更。



174 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 12:21:26 ]
printlinetextbox1test.txtに保存するにはどうしたらいいでしょうか?

175 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 12:36:37 ]
>>174
いいから入門書買って来い無能者。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<159KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef