VBプログラマ質問スレ ..
229:デフォルトの名無しさん
10/01/23 01:24:46
>>226
Sub Sleep(WaitTime As Single)
Dim time1 As Single
time1=Timer
Do
If time1>Timer Then
If CSng(&H7FFF)-time1+Timer>=WaitTime Then
Exit Do
End If
ElseIf Timer-time1>=WaitTime Then
Exit Do
End If
Loop
End Sub
230:デフォルトの名無しさん
10/01/24 03:47:46
これは酷い
231:デフォルトの名無しさん
10/01/25 03:27:54
エラーが発生しました。
232:デフォルトの名無しさん
10/01/25 11:11:19
エラーは見なかったことにしました。
233:デフォルトの名無しさん
10/01/25 11:30:57
魔法の言葉
on error resume next
234:デフォルトの名無しさん
10/01/25 12:47:29
無視した結果
Windowsが強制終了しました。
235:デフォルトの名無しさん
10/01/25 23:07:31
それはOSが悪い
236:デフォルトの名無しさん
10/01/26 00:46:25
VB6で.NETのクラスを使うにはどうすれば
237:デフォルトの名無しさん
10/01/26 00:50:30
regasmでCOMとして登録するとVB6から使える。
238:デフォルトの名無しさん
10/01/26 00:56:56
VB6のラーニングエディションからWinSockコントロール使ったりする方法ってある?
239:デフォルトの名無しさん
10/01/26 01:19:34
>>236
CreateObjectでいくつか使える
たとえばStringBuilderとか
Set sb = CreateObject("System.Text.StringBuilder")
sb.Append_3 "hogehoge"
sHoge = sb.ToString()
240:デフォルトの名無しさん
10/01/26 06:30:08
>>237
>>239
d
241:デフォルトの名無しさん
10/01/27 10:48:25
VB6.0で任意のプログラムがタスクバーに表示されているかを確認できますか?
タスクマネージャのプロセスで実行中かはAPIを使えば判断できそうですが、
タスクバーの状態を確認するAPIが見つからず質問に至りました。
よろしくお願いします。
242:デフォルトの名無しさん
10/01/27 23:18:47
ITaskbarList を使えばできる。
243:デフォルトの名無しさん
10/01/28 00:41:23
Win32API質問箱 Build85
スレリンク(tech板)
244:デフォルトの名無しさん
10/02/02 22:35:52
マイクロソフトのHPにあるVB6.0SP6ランタイムでcomdlg.ocxを使用するツールは動作しますか?
URLリンク(www.microsoft.com)
245:デフォルトの名無しさん
10/02/02 22:38:46
無理。
246:デフォルトの名無しさん
10/02/02 22:43:13
早速の回答有難うございます。
では、Vectorでダウンロードできるランタイムセットでは
comdlg32.ocxは動きますでしょうか?
247:デフォルトの名無しさん
10/02/02 22:52:05
うん。"全部入り" みたいのがあるから、そっち使ってね。
248:デフォルトの名無しさん
10/02/02 22:59:28
素早い有難うございます!
調べてみてもマイクロソフトじゃなくVectorからしか書いていないわけがわかりました。
早速ダウンロードしてみます。
249:デフォルトの名無しさん
10/02/03 00:02:55
VB6.0でpng画像をimageに表示したいんですが、どうすればいいのでしょうか?
250:デフォルトの名無しさん
10/02/03 00:04:50
VBプログラマをバカにするスレはここでしょうか?
君たちメシ食えてるの???
251:デフォルトの名無しさん
10/02/05 13:13:31
まぁネタにマジレスもあれだが
ほんとVB6使ってるだけで馬鹿にするやつまだいるんだな
ほんとに無知でVBたたいてるやつもいるんだろうな
252:デフォルトの名無しさん
10/02/05 13:15:56
所詮は全角厨だしな
253:デフォルトの名無しさん
10/02/05 18:51:13
ドロップされたテキストファイルの内容からThunderbirdでメールを作成するスクリプトを作っているのですが
いくつか詰まっている点があるので質問させてください。
Thunderbirdスレとマルチになって申し訳ありません。
==VBSファイル記述開始==
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
Set objArgs = WScript.Arguments
strDroppedFileFullPath = objArgs(0)
On Error Resume Next
Set objFile = objFSO.OpenTextFile(strDroppedFileFullPath)
====略=====
'本文
strBody = objFile.ReadAll
Dim objWShell
Set objWShell = CreateObject("WScript.Shell")
'Thunderbirdのメール作成画面の起動
objWShell.Run """C:\Program Files\Mozilla Thunderbird\thunderbird.exe""-compose to='" & strTo & "',cc='" & strCc &"',bcc='" & strBcc &"',subject=" & strSubject & ",body='" & strBody & "'" ,vbNormalFocus, False
Set objWShell = Nothing
==VBSファイル記述ここまで==
Thunderbirdが起動している状態で、このスクリプトを実行するとテキストの改行が反映されず困っています。
解決策があれば教えてください。
また、コマンドラインからの起動で送信アカウントを指定する方法があればこれもあわせて教えてください。
254:デフォルトの名無しさん
10/02/05 21:54:40
ちょっとスレ違いな気がするけど、
本文を一回トレースして、改行コードを
%0d%0aにしないとダメなんじゃない?
送信アカウントの件はわからない
255:デフォルトの名無しさん
10/02/09 22:47:41
VB6って、ソースを難読化するツールってあるのでしょうか?
256:デフォルトの名無しさん
10/02/09 22:56:13
何のためにソースを難読化なんてするんだよw
ドトネトの難読化ツールが何のために存在してるのか分かってる?
257:デフォルトの名無しさん
10/02/09 23:02:30
えーと、デコンパイルが容易だからだと思います
VB6は、デコンパイルが難しいため、難読化ツールが
WEB上に見当たらないのですが、存在するか、しないのか、
ちょっと理由があって、知りたいのです。
知ってます?
258:デフォルトの名無しさん
10/02/09 23:09:37
その理由を言ったほうが答えやすいだろ
259:デフォルトの名無しさん
10/02/09 23:13:05
いえ、ちょっと理由あって。。。
2chも誰が見てるかわかんないし。
すみません。
教えてくれませんか?
260:デフォルトの名無しさん
10/02/09 23:15:07
胡散臭い奴だな
261:デフォルトの名無しさん
10/02/09 23:19:22
しゅみません・・・
胡散臭いですよね・・・
最近、用心深くなってしまって。
失礼しました
262:デフォルトの名無しさん
10/02/09 23:26:10
VB6のバイナリには、COM関連以外はメソッド名もプロパティ名も変数名も入ってないんじゃないの?
一体全体何を難読化するんだ?
しかもソースを難読化とか言ってるし。
訳がわからん。
263:デフォルトの名無しさん
10/02/09 23:28:23
訳わかんないでよね。。
もう忘れてください。。
264:デフォルトの名無しさん
10/02/09 23:35:10
VB6用の逆汗ツールはあるけどね。
265:デフォルトの名無しさん
10/02/10 00:27:36
パスワード付ZIPで保存すればおk
266:デフォルトの名無しさん
10/02/10 00:31:11
publicな変数は入ってるな。
267:デフォルトの名無しさん
10/02/10 08:19:46
VB6でもPコードだとソースに戻せるの?
268:デフォルトの名無しさん
10/02/10 12:51:52
DataGridViewを使っています。
フォームロード時にセルの高さをColumnHeaderの高さと同じにしたいと考えています。
ColumnHeader.Heightの値は'16'に設定しているのですが、
ShownイベントハンドラからColumnHeader.Heightを見ると'23'になっています。
さらにShownイベントハンドラ内で
Me.DataGridView.ColumnHeadersHeight = 18
としても値が変わりません。
これはなぜなんでしょうか。
269:デフォルトの名無しさん
10/02/10 18:03:15
すみません、スレ違いでした
それでは
270:デフォルトの名無しさん
10/02/11 16:46:08
ドライブリストボックスからドライブを指定したときに
フロッピーのAドライブとかCD−ROMドライブとかを指定するとエラーはきます
フロッピーやCDが入ってない状態で指定したときにフリーズしないようにしたいです
何でもよいのでコメください。
ヘルプではこんなのでた↓
>例外のトラブルシューティング : System.IO.IOException
>IOException は、ファイルの読み取りまたは書き込みに失敗した場合など、
>I/O エラーが発生するとスローされます。
271:デフォルトの名無しさん
10/02/11 16:52:56
> 何でもよいのでコメください。
スレ違い。
272:デフォルトの名無しさん
10/02/11 18:41:02
ほんまやゴメン(´・ω・`)
273:デフォルトの名無しさん
10/02/11 20:43:37
しかも他のスレで答えを貰ってるのに
274:デフォルトの名無しさん
10/02/11 23:52:17
応用力が低い人がプログラミングすべきじゃないね
275:デフォルトの名無しさん
10/02/12 12:56:13
応用していくのが楽しいのにね
276:デフォルトの名無しさん
10/02/12 19:00:44
おうよ!
277:デフォルトの名無しさん
10/02/19 12:06:39
久々にVB6でコーディングしたら、FormイベントのQueryUnloadとUnloadの違いがわからない人間になってましたorz
両者の使い分けを詳しく教えて頂けますか。
QueryはUnloadをキャンセルできるのかと思ったけどUnloadでもキャンセル出来ますし。
正直Unloadイベントはいらない子という事なんでしょーか?(下位互換性のために残ってるとか)
あるいはQueryUnloadとUnloadの間に何か他の事が起こりうるって事でしょうか?
私のググり能力が低いようで、探しても言及してる内容が見つけられませんでした。
MSDNの説明読んでも禅問答みたいな内容で・・・アハァ。
278:デフォルトの名無しさん
10/02/19 13:20:06
QueryUnload イベント
フォームまたはアプリケーションが閉じられる直前に発生します。
MDIForm オブジェクトが閉じられる場合は、QueryUnload イベントはまずそのMDI フォームに対して発生し、次にすべてのMDI 子フォームに対して発生します。
QueryUnload イベントをキャンセルするフォームがなければ、Unload イベントがまず MDI フォーム以外のすべてのフォームに対して発生し、
次に MDI フォームに対して発生します。
子フォームまたは Form オブジェクトが閉じられる場合は、そのフォームに対して、QueryUnload イベント、Unload イベントの順にイベントが発生します。
通常、QueryUnload イベント プロシージャは、各フォームでのすべての処理を、アプリケーションが閉じられる前に確実に完了するために使用します。
たとえば、フォームに入力された新しいデータをユーザーがまだ保存していない場合、そのデータを保存するかどうかをユーザーに確認することができます。
アプリケーションが閉じられるときに、QueryUnload イベント プロシージャまたは Unload イベント プロシージャ内で Cancel プロパティを真 (True) に設定すると、
アプリケーションを閉じる処理を中止することができます。
QueryUnload イベントはすべてのフォームに対して、それらのフォームのアンロード処理が始まる前に発生します。
一方、Unload イベントは各フォームがアンロードされるたびに発生します。
MSDNライブラリより引用
279:デフォルトの名無しさん
10/02/19 13:21:33
Unload イベント
フォームが画面から消去 (アンロード) されるときに発生します。アンロードされたフォームを再ロードすると、そのフォーム上にあるコントロールの内容はすべて初期化されます。
Unload イベントは、ユーザーがコントロール メニューの [閉じる] をクリックするか、Unload ステートメントが実行されると発生します。
引数 cancel に 0 以外の値を設定すると、フォームはアンロードされませんが、Microsoft Windows を終了するというような、ほかのイベントを停止することはありません。
Windows の終了を停止するためには、QueryUnload イベントを使います。
Unload イベント プロシージャは、フォームを閉じるときの確認処理を行ったり、フォームを閉じるときに実行する処理を記述するときに便利です。
フォームを閉じるときや、フォームのデータを保存するときの各フォーム単位での確認処理も、Unload イベント プロシージャの中で実行できます。
Unload イベントは、QueryUnload イベントが発生した後に発生します。Unload イベントの後に Terminate イベントが発生します。
次に、Unload イベントが発生する具体的な状況を示します。
Unload ステートメントが実行されたとき。
ユーザーが、フォームのコントロール メニューの [閉じる] をクリックしたとき。
Windows の [アプリケーションの切り替え] ウィンドウで [アプリケーションの終了] がクリックされ、アプリケーションが閉じられたとき。
現在のフォームが子フォームの場合に、その親であるMDI フォームが閉じられたとき。
アプリケーションの実行中に、Windows が終了したとき。
MSDNライブラリより引用
280:デフォルトの名無しさん
10/02/19 13:22:49
>>277
>>278-279
281:デフォルトの名無しさん
10/02/19 13:26:12
>>277
>>278-279から抜粋
以下が特徴だろ。
QueryUnload イベント
MDIForm オブジェクトが閉じられる場合は、
QueryUnload イベントはまずそのMDI フォームに対して発生し、
次にすべてのMDI 子フォームに対して発生します。
QueryUnload イベントをキャンセルするフォームがなければ、
Unload イベントがまず MDI フォーム以外のすべてのフォームに対して発生し、
次に MDI フォームに対して発生します。
Unloadイベント
引数 cancel に 0 以外の値を設定すると、フォームはアンロードされませんが、
Microsoft Windows を終了するというような、ほかのイベントを停止することはありません。
Windows の終了を停止するためには、QueryUnload イベントを使います。
282:デフォルトの名無しさん
10/02/19 13:33:20
たとえばMDIFormを閉じようとしたとき
子フォームのどれかでもQueryUnloadでCancelするとMDIFormのアンロード自体がキャンセルになるけど
子フォームのどれでもUnloadでCancelしてもMDIFormのアンロードをキャンセルすることが出来ないってことだろ
Windows終了の話もこれと同じだな。
283:デフォルトの名無しさん
10/02/19 14:06:13
VB6LEでSysInfoコントロールやWinsockコントロールを使う方法ってありますか?
284:デフォルトの名無しさん
10/02/19 14:06:56
エラーがでてコントロールを配置できないんです
285:277
10/02/19 17:22:51
>>278-282
超ありがとうございました!
>>279のMSDNは見つけてなくて助かりました。(>>278だけ読んで首ひねってました)
>>281-282の要約や具体例おかげで話がよく見えました。
あとは実際に試して体感的に確かめようと思います。
どうもありがとうございました。
286:デフォルトの名無しさん
10/02/19 18:22:04
実際に試すのが先だろ!
287:デフォルトの名無しさん
10/02/20 01:32:47
>>270
魔法の言葉
On Error Resume Next
288:デフォルトの名無しさん
10/02/20 01:35:03
>>257
リストラされそうなんですね
わかります
289:デフォルトの名無しさん
10/02/20 17:12:47
Select CaseのCaseのって数値だけ指定できるのかと思ってた。式も指定できたんだね
290:デフォルトの名無しさん
10/02/20 17:16:19
Select CaseのIsって使ったことある人いる?
分岐ってSelect CaseとIf,ElseIfで内部の処理的にはどう違う?
処理の早さとかプログラムサイズ
とか
291:デフォルトの名無しさん
10/02/20 17:19:09
たとえば
if k<5 then
elseif k>=5 and k<10 then
else
end if
select case k
case is<5
case 5 to 10 and is<10
case else
end select
とか
292:デフォルトの名無しさん
10/02/20 17:26:59
確かめたことはないが高機能のCASE文をサポートしている言語は、
if - else if - else if - else - 型の実装になってることが多い。
制限の多いCやC#のCASE文はジャンプテーブル式。
293:デフォルトの名無しさん
10/02/20 17:31:42
なるほど
>>291のselect文あれじゃ動かないね
select case k
case is<5
case 5 to 10 and k10
case else
end select
294:デフォルトの名無しさん
10/02/20 17:36:42
ForNext文のNextって変数省略してる?
295:デフォルトの名無しさん
10/02/20 17:39:11
省略してる。その代わり、Next I, J は絶対やらない。
296:デフォルトの名無しさん
10/02/20 17:56:02
定回数ループにはやっぱForNext使うの?
DoLoopとかWhileWendのほうが処理早かったりする?
297:デフォルトの名無しさん
10/02/20 18:04:02
その二つに差があるとして、10の何乗回ループしたら人間にわかるような差になるのかねw
っていうか、既に終わってるVB6が全盛期だった時代ですら終わってる考え方だわそれ。
32bitのCPUがGHzで動いてる時代に、いい加減そういう80年代のインタプリターのBASIC脳の
発想止めたら?w
298:デフォルトの名無しさん
10/02/20 18:07:59
>>297
そんなに大差ないってことっすね
GosubReturnって使ってる人いる?
299:デフォルトの名無しさん
10/02/20 20:41:26
化石すぎる・・・
300:デフォルトの名無しさん
10/02/20 22:24:44
>>290
ollydbgで見ると
selectはジャンプテーブルで処理
elseif は順に判断してる
コード容量はselect>elseif
速度はselect<elseif
今のハードだと気にすることではないけどな
301:デフォルトの名無しさん
10/02/21 00:54:50
ありがとうございます
302:デフォルトの名無しさん
10/02/22 01:58:34
Windows95が未だ現役のうちは化石ってことか・・
303:デフォルトの名無しさん
10/02/22 22:55:26
>>302
企業ならまだありだなぁ・・・
うちも95,98やNT4.0初期のやつとかあるし
昔のPCはムダに物もちがいいから困るw
304:デフォルトの名無しさん
10/02/22 23:18:47
生産現場ではMS-DOSがナウい
305:デフォルトの名無しさん
10/02/22 23:20:56
FC-98?
306:デフォルトの名無しさん
10/02/23 00:11:09
うちで最古で動くPCは
PC9821Cx、CDドライブいかれちまったのでWindows3.1が再セットアップできん
ずっとMSDOSのまま。まぁN88BASICしか使わんから別に気にしてないけどな
307:デフォルトの名無しさん
10/02/24 11:09:32
うちのラインでは
PC-9801UVがあってMS-DOSにQuickBasicで作られていて
Cバスのボード使ってGPIB機器を動かしています
元気すぎて置き換えとか言い出せない
308:デフォルトの名無しさん
10/02/25 00:57:38
VB6でゲーム作ってる人いる?
カードゲームみたいな静止ゲーじゃなくて、ブロック崩しとかみたいな動きのあるやつ。
そういうゲームでのメインループとかどうしてる?
やっぱCやJAVAみたいにwhileみたいなループ内で処理してる?
俺Timerコントロールでループの代わりさせてんだけど
VB6で作るのでもやっぱDoLoopとかでメインループ処理したほうがいいの?
その場合、やっぱループ内にDoEventsとかいれるの?
309:デフォルトの名無しさん
10/02/25 00:58:35
メインループはやっぱりForm_Loadメソッド内に置くの?
それとも標準モジュールでmainメソッド内に置くの?
310:fasasdfa
10/02/25 01:24:26
afdadfad
311:デフォルトの名無しさん
10/02/25 02:29:32
MyYahooの表示コンテンツをマウスのドラッグでグラフィカルに位置替えできるけど
あれみたいな感じに
たとえばフォームに大量に配置したラベルコントロールとかを
ユーザーがドラッグでグラフィカルに配置換えするみたいなことって
どうすれば実現できる?
312:デフォルトの名無しさん
10/02/25 09:12:01
ドラッグアンドドロップでコントロールのロケーションいじったらええだけちゃいますのん?
313:デフォルトの名無しさん
10/02/25 11:14:14
ロケーション?
314:デフォルトの名無しさん
10/02/25 15:26:27
表示位置のことじゃないかと思う
315:デフォルトの名無しさん
10/02/25 15:34:40
>>311
mousemoveイベントがあるよ
316:デフォルトの名無しさん
10/02/25 16:53:25
>>308
Windowsなんだから常時ループとか
N88みたいなワンパスソフト作るなよ
もしかしてformloadで
Timer.Enabled=TRUE
DO
if Timer.Enabled=FALSE then
処理
Timer.Enabled=TRUE
endif
LOOP
こんな風にして
Timerで
Timer.Enabled=FALE
とかやってるのか?
無駄にCPU負荷かけるな
つかインターバルどれ位にするかでも組み方変わるからなんとも言えない
1mS単位が欲しいならTimeSetEventのAPI
100mS単位ならタイマーコントロール
317:308
10/02/26 03:24:50
>>316
前半のその例のタイマーの使い方さっぱり理解できない・・・
俺はcやjavaでwhileループ内で処理することをTimerコントロールのTimerイベント内で処理してる
その方法が普通なのかあまりよくない方法なのか知りたかったから質問したのさ
なるほど、cやjavaみたいにループ回すみたいなことはVBではしないってことか・・・
インターバルの長さによって使い分けるのね・・・なるなる
318:デフォルトの名無しさん
10/02/26 09:06:06
あれだな やっぱCやJAVAできるやつがレベル高井ってわけじゃねぇなw
319:デフォルトの名無しさん
10/02/26 09:22:44
ゲームならタイマーイベントとかじゃなく
CやJavaみたくゲームループ作って
DoEventsだけいれといてあとは
時間はかってwait入れるんじゃないの
いや、ゲーム作ったことないから知らないけどw
320:316
10/02/26 11:15:37
>>317
>>319
負荷考えずにループで回しておいてやるなら参考に簡単なサンプル書いてみた
Private Declare Function GetTickCount Lib "kernel32" () As Long
Private Sub Command1_Click()
Dim l_starttime As Long '開始時間を現在の基準時間としてセット(mS単位)
Dim l_endtime As Long '終了時間を現在としてセット(mS単位)
Dim l_loopcount As Integer
For l_loopcount = 1 To 3 '3回やってみる
l_starttime = GetTickCount '現在時間を基準時間にする
MsgBox ("今止めてるよ")
l_endtime = GetTickCount 'OK押された後の時間を取得
MsgBox (l_endtime - l_starttime) '何mS停止したか表示
DoEvents 'OSに制御を戻す
Next l_loopcount
End Sub
フォームにコマンドボタン1個作って動かすとわかると思う
3回メッセージで止めていた時間をmS単位で表示される
時間でポーリングしたいならループ内でl_endtime - l_starttimeを時間で条件判断
>>318
適材適所じゃないけど用途によって扱いやすい言語があるから
レベルって言語の種類でなく経験じゃないかな
IO直接叩きたければVBよりCのビットフィールドのが楽だし
テーブル扱うならCOBOLのDATA DIVISIONが・・・(ry
最近だと
CREATE TABLE php_session ( sess_id text,sess_name text, sess_data text);
こっちのが楽かwww
321:デフォルトの名無しさん
10/02/26 16:24:19
>>312 ごめん。ドラッグドロップよくわかんない
>>315 ↓こんな感じ?一応動いた。ありがとう。これ何かまずい処理とかある?
Private Sub Label1_MouseMove(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
Static x1, y1
If Button = vbLeftButton Then
With Label1(Index)
.Left = .Left + X - x1
.Top = .Top + Y - y1
End With
Else
x1 = X
y1 = Y
End If
End Sub
322:デフォルトの名無しさん
10/02/26 19:23:37
練習用にどうぞ
☆Visual Basic Version 5.0(ActiveXコントロールの開発可能)
Visual Basic Version 5.0 Control Creation Edition SP2 日本語版
URLリンク(download.microsoft.com)
Visual Basic 5.0 Control Creation Edition: SP2 ヘルプ ファイル
URLリンク(www.microsoft.com)
URLリンク(download.microsoft.com)
Visual Basic Version 5.0 Control Creation Edition: レジストリ修正モジュール
URLリンク(www.microsoft.com)
URLリンク(download.microsoft.com)
Visual Basic 5.0: RecentFiles ツール
URLリンク(www.microsoft.com)
URLリンク(download.microsoft.com)
323:デフォルトの名無しさん
10/02/26 23:33:34
VB5っていつ時代のものなの?
324:デフォルトの名無しさん
10/02/26 23:35:19
97年。
325:デフォルトの名無しさん
10/02/26 23:38:50
13年前か・・・古いね
326:デフォルトの名無しさん
10/02/27 00:07:44
その13年前から進歩してない人がいるんですよ
そこのお前、そうだよな?手をあげろ
327:デフォルトの名無しさん
10/02/27 00:10:22
VB6は何年物?
328:デフォルトの名無しさん
10/02/27 00:12:03
VB6は98年。
329:デフォルトの名無しさん
10/02/27 00:14:07
VB6とかで2ch専用ブラウザって作れる?
もちろん既存の2chブラウザと遜色ないレベルのもの。
古いVBではサポートされてない機能とかあるとかで無理ぽい?どう?
VBでしかプログラム組めないってこと前提でヨロ
330:デフォルトの名無しさん
10/02/27 00:15:18
たった1年でVB5は不要になったわけか
VB5に入れ替えた企業とか涙目だな
331:デフォルトの名無しさん
10/02/27 00:16:15
>>329
これVB6じゃなかったか?
URLリンク(www8.plala.or.jp)
332:デフォルトの名無しさん
10/02/27 00:17:46
VB6でもAPI使えばいろいろできるし。
それなりのモノは作れるよ。
333:329
10/02/27 00:23:11
>>331
それVB製だったのか知らんかったわ
>>332
つまりAPI駆使しないと作れないってわけか
ちなみに持ってるのラーニングエディションなんだけど大丈夫だよね?
334:デフォルトの名無しさん
10/02/27 00:25:33
その程度の人はいまさらVB6なんてやらないで.NETを覚えればいいじゃん
335:デフォルトの名無しさん
10/02/27 00:31:06
そのレベルなら無料なんだしね
VB6なんて旧ソフトの保守くらいにしか使わないな
かといってACTIVEX使いまくりで変に客側に使い勝手のいいソフトは移行がめんどくさい
336:329
10/02/27 00:32:16
.NETって無償バージョンがあるんだっけ?
.NETのソースコード、昔どっかで見たような気がするけど、VB6と全然違ってわけわかんなかった
337:329
10/02/27 00:36:27
今更と言っても
初めて買ったプログラミングソフトのがVB6で(もう10年くらい前かな)
未だにWindows95で思いついたの作るの挑戦してるというわけで
今度は自分専用の2chブラウザでも作ってみようかと思ったわけですよ
338:329
10/02/27 00:40:18
プログラミングのレベルが低いのは
6年位前までVB6関連の書籍が入手できなかったので(ネットも使えなかった)
ベーシックマガジン頼りに掲載プログラム移植してみたりとかしてる程度だったのよ
339:デフォルトの名無しさん
10/02/27 00:46:45
, - ―‐ - 、
/ \
/ ∧ ∧ , ヽ
./ l\:/- ∨ -∨、! , ', さあみんな集まってー!
/ ハ.|/ ∨|,、ヘ 自分語りスレがはじまるよー!!
|ヽ' ヽ ● ● ノ! l
. 〈「!ヽハ._ __ _.lノ |
く´ \.) ヽ. ノ (.ノ  ̄
\ `'ー-、 ___,_ - '´
` - 、 ||V V|| \
| || || l\ ヽ
340:デフォルトの名無しさん
10/02/27 00:47:10
閉じた世界でならかまわないが、他人様のサーバにアクセスするには繊細な知識を持ってからやれよ?
341:329
10/02/27 00:59:52
インターネットってそんなにハイレベルな技術なのか・・・難しそうだな
342:デフォルトの名無しさん
10/02/27 01:05:09
ブラウザコンポーネント貼り付ければ9割はできたようなものさ
343:デフォルトの名無しさん
10/02/27 01:14:34
はぁ?おまえ作ったことあんのか?単なるWEBブラウザの話をしてんのか?
344:329
10/02/27 01:15:29
なるほど簡単そうな感じ
でも細かいことはこれから調べながらゆっくり自分のペースで作ってくつもり
VBの仕様的に作るの無理かどうか知りたかっただけだから
あとは自分でなんとかするよ
>>331がVB製ってことだけで安心材料だ
345:329
10/02/27 01:16:49
お礼言ってなかったので
最後に、
みなさん回答ありがとうございました
346:デフォルトの名無しさん
10/02/27 01:29:18
自分でなんとかするな!
2chブラウザには決まりがたくさんあるんだから、それを熟知してからにしろ!
DAT経由じゃなくて単なる読み込みだけなら何もいわんけどさ
347:329
10/02/27 01:34:26
なんかよくわからないけど
色々調べてからやりますんで安心してくださいな
348:デフォルトの名無しさん
10/02/27 01:39:54
よくわからないくせに大口たたくなクソ野郎
349:デフォルトの名無しさん
10/02/27 13:25:46
2chブラウザ作るならこの辺りのスレに情報ある。というかそこにいる
あと俺も自分用にVB6で作ってる途中。既存のブラウザと全く劣らないのは俺には無理だがえろい人ならやってくれるはず
monazilla Part 6
スレリンク(tech板)
2ch専用ブラウザの作り方
スレリンク(tech板)
350:デフォルトの名無しさん
10/02/27 14:57:42
VBをやるのはVB.NETをインストールするハードディスクがないからなんでしょ?
351:デフォルトの名無しさん
10/02/27 15:11:22
Windows95だからって書いてあるような。
セキュリティ的にも問題のあるWin95はさすがに迷惑に思うが。
ネットでもVB6の情報は入手し難くなってるし、目先しか見えない阿呆に感じる。
352:デフォルトの名無しさん
10/02/27 15:17:12
マゾなんだろ。ほっとけよ。
353:デフォルトの名無しさん
10/02/27 15:23:01
変なのはほっとくのが一番だな
354:デフォルトの名無しさん
10/02/28 00:56:16
ここVB6の質問スレ
ネットで情報収集できなければ組めないエセが何言ってんだか
>>346みたいな挫折のストレス解消したかったら他へ行け
355:デフォルトの名無しさん
10/02/28 01:01:56
安価ミス
>>346じゃなくて>>347な
356:デフォルトの名無しさん
10/02/28 01:09:53
>>347のどこが挫折?
あれはどうのこれはどうの否定的なこと言って足を引っ張る馬鹿よりも俺は329を応援する。
357:デフォルトの名無しさん
10/02/28 01:40:53
否定的ってのはどれの事だろう
何に対しての否定?
358:デフォルトの名無しさん
10/03/01 03:28:00
ExcelのVBAってVB6なんだっけ?
359:デフォルトの名無しさん
10/03/01 11:10:52
JavaとJavaScriptが同じものと言うような人ならそうだろう
360:デフォルトの名無しさん
10/03/01 11:17:10
うん。VB6相当。
361:デフォルトの名無しさん
10/03/01 12:44:32
VB6で2chブラウザ作って自分で使ってる。今現在、別に問題なく読み書きできてるが
素人の自分でも大した知識もなくできてしまった。もう一年くらい前に作ったやつなので
細かい所はよく覚えてない。何で動いてるのか自分でも不思議だ。
もしかすると何かサーバーに迷惑かけてるかもしれんw
362:デフォルトの名無しさん
10/03/01 13:20:45
だからそれはDATを叩いたりしてるものじゃないんだろ?
ただのブックマーク管理ソフトなら問題無いじゃん
363:デフォルトの名無しさん
10/03/01 21:07:28
普通にdat叩きしてるが何そんなに否定したいの??
具体的な注意事項書いてあげるでもなく作法があるだの
言っているのは人の足を引っ張りたいだけにしか見えない
VBある程度わかっていて専ブラやりたいなら
URLリンク(www.monazilla.org)
次はこの辺りをみるといいよ
364:デフォルトの名無しさん
10/03/01 21:38:58
注意事項はもう出てるじゃん
馬鹿なの?
365:デフォルトの名無しさん
10/03/01 21:43:37
ソースどころかEXEも出せないんだから肯定できないな。
妄想はチラシの裏にでも書いてろと。
366:デフォルトの名無しさん
10/03/01 21:50:40
車の運転をしたことない奴が高速道路を走ると言われたら全力で阻止するよな
367:デフォルトの名無しさん
10/03/01 21:59:49
高速のほうが一般道より安全だよ
368:デフォルトの名無しさん
10/03/01 22:05:12
高速のほうが一般道より被害がでかいよ
369:デフォルトの名無しさん
10/03/01 22:09:43
教えて大丈夫そうな相手なら、さっさとリンク張ってるだろう。
誰も教えなかったって事は、そういう事だ。
370:デフォルトの名無しさん
10/03/02 21:50:53
この話はここまで。はい、次の質問どうぞ。
371:デフォルトの名無しさん
10/03/02 23:37:41
exeもソースも出さないけど俺も作ってるよ
URLリンク(sageuploader.vs.land.to)
まだここまでしかできてない。画面デザインは某PDA向けブラウザから拝借した
昔も作ったけどあの頃は今より知識なくてめちゃくちゃになってたからまた最初から作ってる
多分これも完成しないまま放置されて数年後にまた最初から作り直してると思う
372:デフォルトの名無しさん
10/03/02 23:58:48
が、画面デザイン?
デザインて......いや悪く言うつもりはないが
373:デフォルトの名無しさん
10/03/03 00:03:02
レイアウトって言った方がよかったか?
大体通じると思ったけど見た目とか操作性をそのまま拝借したと言いたかった
374:デフォルトの名無しさん
10/03/03 00:37:32
プロのプログラマーじゃなくて
アマのプログラマーか
375:デフォルトの名無しさん
10/03/03 07:09:13
>>371
仕事中に2ちゃんするよう?
376:デフォルトの名無しさん
10/03/03 07:51:25
datを叩くって、いかにも中二病的な言い回しだな
377:デフォルトの名無しさん
10/03/03 08:05:15
まあ2ちゃんブラウザは誰もが一度は通る道さ
セックスと同じ
378:デフォルトの名無しさん
10/03/03 08:08:33
ぼくのかんがえたさいきょうぶらうざ
379:デフォルトの名無しさん
10/03/03 14:31:20
>>371
自分の作ってみたい欲を満たすためだけのオナニー用ブラウザ
>>377
オナニーじゃなくて?セックスは通らない人もいるだろ。例えば俺とか
380:デフォルトの名無しさん
10/03/03 14:35:33
デリヘルでも呼べばいいのに
彼女作るよりよっぽど安上がりだぞ
381:デフォルトの名無しさん
10/03/03 14:38:13
当初の質問者はもういないのに(たぶん)
まだ2ちゃんブラウザの話続いてたんか
382:デフォルトの名無しさん
10/03/03 14:46:27
デリヘルの話をしてるのに当初の質問者の話をするな
383:デフォルトの名無しさん
10/03/03 15:07:48
>>379
俺もだ。仲間が居て安心した。
384:デフォルトの名無しさん
10/03/03 15:12:10
童貞と素人童貞のすくつでつね
プログラマーに彼女とか恋人とか結婚とか無理ってか?
ビッチ「VB?今時VBなんてダッサ〜いw何それ〜ww」
385:デフォルトの名無しさん
10/03/03 15:24:48
明示的な型変換ってどんなときに使えばいいの?
CIntとかCStrってIntやStr使えばいいし
386:デフォルトの名無しさん
10/03/03 15:28:54
使わない
387:デフォルトの名無しさん
10/03/03 15:31:44
>>385
アホか
388:デフォルトの名無しさん
10/03/03 17:55:48
>>385
彼女がString欲しがってるのにByte配列無理やりねじ込む時とか、
Variant突きつけられても、文字列な僕を数字扱いして欲しい時とか?
どこでいるの?って思ってるなら、よっぽどの馬鹿か、暗黙的にもう理解しているかの二極だ。さぁ君はどっち?
ようは暗黙の型変換をちゃんと理解してればほとんど使わないんだよ。
いる時は相手の関数の仕様か、Variantが必要な時くらいでそ。(Variantが必要ってのも正直皆無だし)
389:デフォルトの名無しさん
10/03/03 18:22:43
>>385
CInt等を使うと処理が遅くなってしまうので使ってはいけません。
390:デフォルトの名無しさん
10/03/03 18:23:38
>>385
使うとソースコードが読みやすくなるので積極的に使いましょう。
391:デフォルトの名無しさん
10/03/03 18:30:01
>>385
ビッチはそんなこと言わない
そもそもVBを分かる女なんていねーよw
恋愛したいんなら出会い系逝け
392:デフォルトの名無しさん
10/03/04 14:51:48
Windows上で起動しているアプリケーションのタイトルの一覧取得する関数ってVBである?
API使って取得するしかない?
AppActivateで既に起動してるアプリを指定しようと思ったんだけど
393:デフォルトの名無しさん
10/03/04 14:59:37
ggrks
394:デフォルトの名無しさん
10/03/04 16:21:56
>>388
>彼女がString欲しがってるのにByte配列無理やりねじ込む時とか、
シリアルポートに0xf1辺り投げたいとき
395:デフォルトの名無しさん
10/03/04 20:41:34
>>392
ない。
396:392
10/03/05 00:03:48
>>395
回答どーもです
やっぱ無いか・・・API使うしかないんだな・・・API使うの面倒だから嫌なんだよね
LEだからAPIビューワとかなくて自分で調べるしかなくってさ
まぁただの愚痴だけど
397:デフォルトの名無しさん
10/03/05 13:27:17
何のためにインターネットがあるのかね。ぐぐれば出てくる
398:デフォルトの名無しさん
10/03/05 15:41:14
>>393
399:デフォルトの名無しさん
10/03/05 20:30:17
ggrksの意味がわからないのでググってみましたが
グーグル先生にググれカスと怒られてしまいました
400:デフォルトの名無しさん
10/03/08 16:23:13
>>399
おい!そのままほっとくとスタックあふれるぞw
401:デフォルトの名無しさん
10/03/08 16:36:44
VBは末尾再帰をループ化してくれないのか
402:デフォルトの名無しさん
10/03/09 03:50:24
くそう
implements用の空クラス、イベントだめなんだな。共通イベントとか出来ないとか
くそがああああああああああああああ
403:デフォルトの名無しさん
10/03/09 09:33:07
FormやUserControlでImplementsもできないし全体的に中途半端
別に管理用Classを作るしかない
404:デフォルトの名無しさん
10/03/09 19:41:06
VBってインターフェイスはイベント定義できなかったのか。
まあ、だとしてもVBの組み込みのイベント機能を使わずに、
Javaなんかのようにリスナを集約するようにすればいいんだよ。
405:デフォルトの名無しさん
10/03/09 22:18:00
一つのイベントを複数のクラスが受け取るためには
イベントを受け取りたいクラス全部にリスナ的なものを作って
そのイベント発生させるクラスに全部渡すと
406:デフォルトの名無しさん
10/03/09 22:19:17
with eventじゃだめなのか
407:デフォルトの名無しさん
10/03/09 22:23:03
イベントだけを羅列させたクラスを使いまわせばおk
408:デフォルトの名無しさん
10/03/09 22:26:11
>>405
>一つのイベントを複数のクラスが受け取るためには
そんなことはVBに組み込みのイベントで普通にできるでしょ。
何をいってんの。
409:デフォルトの名無しさん
10/03/10 00:08:07
>>408
具体的ソースで>>402の悩みを解決してあげて
410:デフォルトの名無しさん
10/03/10 00:31:58
>>409
ClassA.cls
Public Event MyEvent()
----------------------
ClassB.cls
Implements ClassA
Public sub Hoge()
RaiseEvent MyEvent
End Sub
----------------------
ClassC.cls
Public WithEvents classA1 As ClassA
Private Sub classA1_MyEvent()
Debug.Print "Hoge"
End Sub
----------------------
Form1.frm
Private Sub Form_Load()
Dim classB1 As New ClassB
Dim classC1 As New ClassC
Set classC1.classA1 = classB1
Call classB1.Hoge
End Sub
411:デフォルトの名無しさん
10/03/10 00:33:49
ClassCの必要性が全くない
412:デフォルトの名無しさん
10/03/10 00:36:15
>>411
ClassA.cls
Public Event MyEvent()
----------------------
ClassB.cls
Implements ClassA
Public sub Hoge()
RaiseEvent MyEvent
End Sub
----------------------
Form1.frm
Public WithEvents classA1 As ClassA
Private Sub classA1_MyEvent()
Debug.Print "Hoge"
End Sub
Private Sub Form_Load()
Dim classB1 As New ClassB
Set classA1 = classB1
Call classB1.Hoge
End Sub
413:デフォルトの名無しさん
10/03/10 00:37:10
classA1をPublicにするのはどうかと思う
414:デフォルトの名無しさん
10/03/10 00:45:14
>>413
ClassA.cls
Public Event MyEvent()
Public Sub RaiseMyEvent()
RaiseEvent MyEvent
End Sub
--------------------------
ClassB.cls
Public classA1 As New ClassA
Public Sub Hoge()
Call classA1.RaiseMyEvent
End Sub
-------------------------
Form1.frm
Private WithEvents classA1
Private Sub classA1_MyEvent()
Debug.Print "Hoge"
End Sub
Private Sub Form_Load()
Dim classB1 As New ClassB
Set classA1 = classB1.classA1
Call classB1.Hoge
End Sub
415:デフォルトの名無しさん
10/03/10 00:50:23
Implementsはどうした
416:デフォルトの名無しさん
10/03/10 01:01:09
組み込みのイベントを使えよ・・・無意味なコードで荒らすな
417:デフォルトの名無しさん
10/03/10 01:09:57
何がしたいのかサッパリわからんコードだなw
しかし、結局VBって>>412みたいにインターフェイスにイベント定義書けるんだっけ?
だったら>>402は何も悩む必要ないな最初から。
418:デフォルトの名無しさん
10/03/10 01:32:57
>>415-417
ClassA.cls
Public Property Set classC1(c As ClassC1)
End Property
----------------
ClassB.cls
Implements ClassA
Dim classC1 As ClassC
Public Sub Hoge()
Call classC1.RaiseMyEvent
End Sub
Private Property Set ClassA_classC1(c As ClassC1)
Set classC1 = c
End Property
----------------
ClassC.cls
Public Event MyEvent
Public Sub RaiseMyEvent()
RaiseEvent MyEvent
End Sub
----------------
Form1.frm
Private WithEvents classC1 as ClassC
Private Sub classC1_MyEvent()
Debug.Print "Hoge"
End Sub
Private Sub Form_Load()
Dim classA1 As ClassA, classB1 As New ClassB
Set classA1 = classB1: Set classC1 = New ClassC: Set classA1.classC1 = classC1
Call classB1.Hoge
End Sub
419:デフォルトの名無しさん
10/03/10 01:40:23
( ´,_ゝ`)プッ
420:デフォルトの名無しさん
10/03/10 01:47:14
┐(゚〜゚)┌
421:デフォルトの名無しさん
10/03/10 12:02:09
・・・
422:デフォルトの名無しさん
10/03/10 13:52:16
>>419-421
ClassA.cls
Public Property Set classC1(c As ClassC)
End Property
---------------
ClassB.cls
Implements ClassA
Dim classC1 As ClassC
Public Sub Hoge()
Call classC1.RaiseMyEvent
End Sub
Private Property Set ClassA_classC1(c As ClassC)
Set classC1 = c
End Property
---------------
ClassC.cls
Public Event QueryMyEvent()
Public Sub RaiseMyEvent()
RaiseEvent QueryMyEvent
End Sub
---------------
423:デフォルトの名無しさん
10/03/10 13:53:45
ClassD.cls
Public Event MyEvent()
Private WithEvents classC1 As ClassC
Dim mclassA1 As ClassA
Public Property Set classA1(a As ClassA)
If Not (mclassA Is Nothing) Then Set mclassA.classC1 = Nothing: Set mclassA = Nothing
Set mclassA = a
Set mclassA.classC1 = classC1
End Property
Private Sub classC1_QueryMyEvent()
RaiseEvent MyEvent
End Sub
Private Sub Class_Initialize()
Set classC1 = New ClassC
End SUb
---------------
Form1.frm
Private WithEvents classD1 As ClassD
Private Sub classD1_MyEvent()
Debug.Print "Hoge"
End Sub
Private Sub Form_Load()
Set classD1 = New ClassD
Dim classB1 As New ClassB
Set classD1.classA1 = classB1
Call classB1.Hoge
End Sub
424:デフォルトの名無しさん
10/03/10 14:07:27
ClassB.cls
Implements ClassA
Dim classC1 As ClassC
Public Sub Hoge()
If Not (classC1 Is Nothing) Then
Call classC1.RaiseMyEvent
End If
End Sub
Private Property Set ClassA_classC1(c As ClassC)
Set classC1 = c
End Property
425:デフォルトの名無しさん
10/03/10 14:13:22
ClassE.cls
Implements ClassA
Dim classC1 As ClassC
Public Sub Hoge2()
If Not (classC1 Is Nothing) Then
Call classC1.RaiseMyEvent
End If
End Sub
Private Property Set ClassA_classC1(c As ClassC)
Set classC1 = c
End Property
---------------
Form1.frm
Private WithEvents classD1 As ClassD
Private Sub classD1_MyEvent()
Debug.Print "Hoge"
End Sub
Private Sub Form_Load()
Set classD1 = New ClassD
Dim classB1 As New ClassB
Set classD1.classA1 = classB1
Debug.Print "Test1": Call classB1.Hoge
Dim classE1 As New ClassE
Set classD1.classA1 = classE1
Debug.Print "Test2": Call classB1.Hoge
Debug.Print "Test3": Call classE1.Hoge2
End Sub
426:デフォルトの名無しさん
10/03/10 15:20:19
荒すな
427:デフォルトの名無しさん
10/03/10 15:26:44
>>402がVBの仕様も調べずに設計したのが悪い
428:デフォルトの名無しさん
10/03/10 16:07:39
ClassD.cls
Public Event MyEvent()
Private WithEvents classC1 As ClassC
Dim mclassA1 As ClassA
Public Property Set classA1(a As ClassA)
If Not (mclassA1 Is Nothing) Then Set mclassA1.classC1 = Nothing: Set mclassA1 = Nothing
Set mclassA1 = a
If Not (mclassA1 Is Nothing) Then Set mclassA1.classC1 = classC1
End Property
Private Sub classC1_QueryMyEvent()
RaiseEvent MyEvent
End Sub
Private Sub Class_Initialize()
Set classC1 = New ClassC
End Sub
429:デフォルトの名無しさん
10/03/11 00:14:19
ひどいな・・・
430:デフォルトの名無しさん
10/03/11 01:21:17
ひどすぎる
431:デフォルトの名無しさん
10/03/11 01:47:40
どうしてこうなった・・・
432:デフォルトの名無しさん
10/03/11 11:59:58
MSDN読まないのか
VBドキュメントの
Implements ステートメント
インターフェイスのインプリメントによるポリモーフィズムの提供
インターフェイスの作成とインプリメント
標準インターフェイスのインプリメントと使用
この辺り
433:デフォルトの名無しさん
10/03/11 12:33:12
変なソースコード貼り付けた人と>>402は>>432のアドバイスを参考にするように
434:デフォルトの名無しさん
10/03/11 12:58:57
接続ポイントはややこしいからねぇ。
極力避けてコールバックオブジェクトを使うのが正解。
435:デフォルトの名無しさん
10/03/11 13:22:27
そうだね
436:デフォルトの名無しさん
10/03/11 13:30:53
混乱してきた
437:デフォルトの名無しさん
10/03/11 13:43:37
MSDNって機械翻訳で変な日本語多くて読みにくいんだよねぇ・・・でも英語だと全く読めないし・・・('A`)マンドクセ
438:デフォルトの名無しさん
10/03/11 15:56:20
>>436-437
プログラマ向いてない
転職をお勧めする
439:デフォルトの名無しさん
10/03/11 18:57:06
>>437
スパゲッティソースより読みやすいと思うがwwwww
440:デフォルトの名無しさん
10/03/11 21:11:49
プログラマーって閉鎖的なヤツが多い
441:デフォルトの名無しさん
10/03/11 21:15:41
自明の理
442:デフォルトの名無しさん
10/03/11 21:53:49
MSDNはVB6の頃の奴はむしろ読みやすかった気がする
.netになってから激しく読みにくい
443:デフォルトの名無しさん
10/03/11 22:00:01
ローカルにもインストールしてあるけど、検索がしづらくなったので、
site:msdn.microsoft.com を付けてぐぐってます。
444:デフォルトの名無しさん
10/03/11 23:14:45
webのは記憶ないけど、ローカルのは確実に今の奴の方がクオリティー高いだろw
ダメな奴ってすぐ自分の無能を道具のせいにするよな。
>>443
まあビューワは2003までの奴の方が現行の奴よりも使いやすい。
それでもVS98の時代よりは使いやすいと思うが。
いずれにせよ、2002以降のビューワーはカスタマイズした上でキーボードショートカットを
駆使して使うのが基本。
君が使いにくいと思うのなら、たぶんそういうことやってないんだろう。
445:デフォルトの名無しさん
10/03/11 23:20:12
>>444さんのカスタマって何をどうしてるの
446:デフォルトの名無しさん
10/03/11 23:44:26
>>445
言葉で説明するのは難しいよね。
まず俺は2008用のドキュメントもビュワは2003のを使って見てる。
それ前提で言うと、左側のペインは「検索」と「キーワード検索」で水平に二分して、
出しっぱなしの状態にしている。
残りの「検索結果」、「目次」、「お気に入り」はウィンドウの下側に、
それぞれ別個に、スライド表示(タブにマウスを乗せるとにょっと出てくるやつ)でドッキングさせてる。
隠れてるスライド表示のウィンドウを表示させるのは、キーボードショートカットを使うのが基本。
まあこんな感じ。
2005以降のビュワーの場合は「検索」ウィンドウがでかくなってしまって左側のペインに
収めるのは難しいから、こいつもウィンドウの下側にドッキングさせて、検索するときは
キーボードショートカットで表示するのが基本だろうね。
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5021日前に更新/172 KB
担当:undef