(´-`).。oO(VB初心者質問スレ Part12)(2ちゃんねる)

FTP、CGI、SSI、telnetが自由に使える超高速レンタルサーバ。
工夫しだいで、楽しさ100倍。 www.binboserver.com
月額千円サーバ | サブドメインコース | BIGなサーバ

サブドメインコース:CGIやFTPが使いたい・お金を掛けたくない人のために。
 *****.syo-ten.com *****.gasuki.com *****.zansu.com
 お好きな名前を無料で使えます。早い者勝ち。

人気サイト 月額千円サーバ:.com .net .org で取得できます。.JPドメイン大歓迎!
 超高速・高機能サーバを1000円で!使ってみれば、分かります。

BIGなサーバ:Big なBig なサーバー。充実したサポートをお求めの方へ。
 インターネットでご活躍の皆様へ、そしてご活躍予定の皆様へ。
2ちゃんねるは、このサーバを使っているです。

■掲示板に戻る■ ■過去ログ倉庫めにゅーに戻る■

(´-`).。oO(VB初心者質問スレ Part12)
1 名前: デフォルトの名無しさん 投稿日: 02/07/14 19:29
前スレはこちら
  Part 1 http://piza.2ch.net/tech/kako/968/968328471.html
  Part 2 http://piza.2ch.net/tech/kako/990/990793224.html
  Part 3 http://piza2.2ch.net/tech/kako/1000/10005/1000523122.html
  Part 4 http://pc.2ch.net/tech/kako/1006/10069/1006922992.html
  Part 5 http://pc.2ch.net/tech/kako/1010/10106/1010624646.html
  Part 6 http://pc.2ch.net/tech/kako/1013/10138/1013844542.html
  Part 7 http://pc.2ch.net/tech/kako/1015/10158/1015836357.html
  Part 8 http://pc.2ch.net/tech/kako/1018/10187/1018794901.html
  Part 9 http://pc.2ch.net/tech/kako/1020/10208/1020830472.html
  Part10 http://pc.2ch.net/test/read.cgi/tech/1022127528/
  Part11 http://pc.2ch.net/test/read.cgi/tech/1024380249/

Win32 API関連スレ
  Win32API 質問箱 Build4
  http://pc.2ch.net/test/read.cgi/tech/1023361418/

心得
壱.質問する前に過去ログにも目を通してみる。
弐.質問する前に MSDN などで調べてみる。
参.VBScript もこのスレでOK。
四.インストーラーなどの質問もOK。


2 名前: デフォルトの名無しさん 投稿日: 02/07/14 19:33
http://pc.2ch.net/test/read.cgi/tech/1024380249/992-1000n
どなたかこの続きご教授願います・・・。


3 名前: デフォルトの名無しさん 投稿日: 02/07/14 19:33
2ゲットにだー


4 名前: デフォルトの名無しさん 投稿日: 02/07/14 19:35
>>2
Selectedプロパティでなったよ。


5 名前: デフォルトの名無しさん 投稿日: 02/07/14 19:37
いまだに1のテンプレ変わらんの?ブビィ


6 名前: デフォルトの名無しさん 投稿日: 02/07/14 19:41
>>4
ListBoxに5個登録して、

For i = 0 To lstItem.ListCount - 1
lstItem.Selected(i) = True
Next i

ってやってみましたが、なんか一番上のチェックしかつきませんでした。


7 名前: デフォルトの名無しさん 投稿日: 02/07/14 19:46
>>6
全部できるけど?

Private Sub Command1_Click()
For i = 0 To List1.ListCount - 1
List1.Selected(i) = True
Next i
End Sub

Private Sub Form_Load()
List1.AddItem "0"
List1.AddItem "1"
List1.AddItem "2"
List1.AddItem "3"
End Sub



8 名前: 4 投稿日: 02/07/14 19:54
7ではない。

>>6
それでなったよ。なんか選択状態がちょっとおかしいみたいだけど。
OSとかサービスパックとかのせいかな?ちなみに俺はwin2000SP2、VB6SP5


9 名前: デフォルトの名無しさん 投稿日: 02/07/14 19:56
>>7
それでやってもなりません。
えっと、一回コマンドボタンを押すと、
一番上が選択され(反転表示)、
チェックがつきます。
もう一度押すと、1番上が選択されたまま上から2番目も選択され、
2番目にチェックがつきます。
もう一度押すと、1番目、2番目が選択されたまま、更に3番目も選択され、
3番目にチェックがつきます。
5回押すとようやく全部チェックがつき、
すべてが選択された状態になります。
当然styleプロパティが1-チェックボックスになってるので、
マルチセレクトはできないはずなんですが、なぜかマルチセレクトされちゃってます。


10 名前: デフォルトの名無しさん 投稿日: 02/07/14 19:57
えっと、Windows98se,VB6sp5です。


11 名前: デフォルトの名無しさん 投稿日: 02/07/14 20:02
>>9
マルチセレクトっぽくは俺ん所もなる。実行後4と5行目が選択状態になってる。
選択状態がおかしいってのはそういうこと。
最後にlstItem.Refreshしたらどうなる?


12 名前: デフォルトの名無しさん 投稿日: 02/07/14 20:12
うわ。
すんません。
Clickイベントの中でチェックされてる項目を調べてるコードがあったんですが、
それを外してみたらちゃんと動きました。
(MouseDownに引っ越し)
これが悪さしてたんですね・・。
アホですんません。
色々ありがとうございました。


13 名前: デフォルトの名無しさん 投稿日: 02/07/14 20:39
textに文字を入れさせ、if文によって、文字が9文字以下ならOK。
10文字以上ならダメって感じにしたいのですが、文字の量を判断するにはどうすればいいのでしょうか?



14 名前: デフォルトの名無しさん 投稿日: 02/07/14 20:43
>>13
length


15 名前: デフォルトの名無しさん 投稿日: 02/07/14 20:45
Lenだろ?


16 名前: デフォルトの名無しさん 投稿日: 02/07/14 20:48
VB厨は氏ね!


17 名前: デフォルトの名無しさん 投稿日: 02/07/14 21:26
心配しなくともそのうち絶滅する


18 名前: デフォルトの名無しさん 投稿日: 02/07/14 21:35
>>13
脊髄反射でここ来ないで少しはヘルプ読めよ


19 名前: 初心 投稿日: 02/07/15 00:11
すいません。SQL文の話になるんですが、文字列の中にシングルコーテーションを含む
検索はシングルコーテーション2こ並べてクリアできますよね。でも%_を検索
したいときってどうすればいいですか?


20 名前: デフォルトの名無しさん 投稿日: 02/07/15 01:13
マルチポストカコ(・∀・)イイ!


21 名前: デフォルトの名無しさん 投稿日: 02/07/15 01:14
と思ったら誘導されてたのか


22 名前: 初心 投稿日: 02/07/15 01:23
>>21 で教えてください・・・。


23 名前: デフォルトの名無しさん 投稿日: 02/07/15 01:26
>>22
あちこちのスレで浮気しちゃ駄目よ。
みんなもう寝てるから、時間を開けてまた来たら?



24 名前: 初心 投稿日: 02/07/15 01:30
>>23 hai-


25 名前: デフォルトの名無しさん 投稿日: 02/07/15 01:49
strName = "名無しさん"
とかしたときに、この変数のアドレスを取得できないでしょうか。Cみたいに。
関数のアドレスだとAddressOfみたいので取得できるみたいですけども・・・
先生助けて。


26 名前: デフォルトの名無しさん 投稿日: 02/07/15 08:56
>>25
何のために取得したいのか知らんが隠し関数のStrPtrで取得できる


27 名前: 前スレ952 投稿日: 02/07/15 10:10
http://pc.2ch.net/test/read.cgi/tech/1024380249/952 です。
引き続き宜しくお願いします。

958:即レス◆POP.SOKU:02/07/13 17:24
 >>952
 Explorerその他では見れるのか?

見れてます。
Explorerではちゃんとアクセスもできています。



28 名前: デフォルトの名無しさん 投稿日: 02/07/15 10:15
>>27
とりあえずソース出したら?


29 名前: デフォルトの名無しさん 投稿日: 02/07/15 11:11
ListViewを詳細表示にして表の用に使ってるのですが、
ListView.ListItems(index).ListSubItems(key) = "書き換える文字"
という感じにリストビューの中身を書き換えると、
ListView全体に再描画がかかってチラつきます。
チラつかせないようにListViewを書き換えるにはどうしたらいいですか?


30 名前: 27(前スレ952) 投稿日: 02/07/15 11:30
>>28 出してみます。物凄く単純なんですけど。。。

Dir("パス", vbDirectory + vbHidden + vbSystem)
"パス"のところにはネットワーク上のフォルダのフルパスが入ってます。

Win98seで実行すると"."が返ってきます。
Win2000で実行するとエラーになってerr.Descriptionは「Bad file name or number」です。
WinNT で実行すると""(空文字列)が返ってきます。

2000・NTはいづれもadministrator権限ユーザーで実行しています。
対象フォルダはエクスプローラーではアクセスする事が出来ています。



31 名前: コギャル&中高生 投稿日: 02/07/15 11:46
http://book-i.net/derr/
コギャルとH出来るサイトはここ
ヌキヌキ部屋へ直行便

http://kado7.ug.to/wowo/



32 名前: デフォルトの名無しさん 投稿日: 02/07/15 16:11
あのう、VBでテキスト入力された値が小数以下(**.*とか)かどうかを
スマートに判定するにはどうしたらよいでしょか。
Midでピリオドを探すしかないのですかね?教えてください。


33 名前: デフォルトの名無しさん 投稿日: 02/07/15 16:16
>>30
それではソース出したとは言わんと思われ。


34 名前: デフォルトの名無しさん 投稿日: 02/07/15 16:19
MidよりはInStrのほうが


35 名前: デフォルトの名無しさん 投稿日: 02/07/15 16:23
>>32
ヒント:小数を整数化したらどうなるか。それを使ってできないか。

わかるまで考えれ。パズルと同じだ。


36 名前: デフォルトの名無しさん 投稿日: 02/07/15 16:24
>>34
それだったら25.0等と入力して期待を裏切ってやる。


37 名前: デフォルトの名無しさん 投稿日: 02/07/15 16:25
>>32
valで数値化するのはダメ?



38 名前: デフォルトの名無しさん 投稿日: 02/07/15 16:34
個人的には小数点がピリオドじゃない場合もあるから
ピリオドを使うのは好きじゃないんだよな。


39 名前: デフォルトの名無しさん 投稿日: 02/07/15 16:39
>>36 StrConv使うも〜ん


40 名前: デフォルトの名無しさん 投稿日: 02/07/15 16:47
>>35
せ、整数化…?(汗


41 名前: デフォルトの名無しさん 投稿日: 02/07/15 16:48
少数点以下何桁かって整数何桁をlog使って出すように計算で求められんのかな?


42 名前: デフォルトの名無しさん 投稿日: 02/07/15 16:54
>>41
やって見れ、できるから。
但し最小桁以外は0にしないと…


43 名前: デフォルトの名無しさん 投稿日: 02/07/15 16:56
小数以下つうのは,どういうこと?
小数点以下に意味のある数字が連なっているということ?
それとも1より小さいつうこと?
前者なら >>35
後者なら1と比較しれ


44 名前: デフォルトの名無しさん 投稿日: 02/07/15 16:58
「小数を整数化」という言い方が間違ってると思われ。
単に「整数化」する。
それと元の数値を比較すると・・・
って事じゃないの?>>35サン


45 名前: デフォルトの名無しさん 投稿日: 02/07/15 16:58
てか、束胃腸演算を知らないのか?


46 名前: デフォルトの名無しさん 投稿日: 02/07/15 17:03
キーフックをしたいんですけど、やりかたを教えてもらえませんか?


47 名前: デフォルトの名無しさん 投稿日: 02/07/15 17:03
>>46
sethook


48 名前: 32 投稿日: 02/07/15 17:03
すみません。言葉が足らない、というか間違ってました
入力値として受けたいのは整数で(金額や、数量など)
その項目に、25.5などといった少数以下を使用した不正な値が渡されたかを
チェックしたいのです。
ですが申し訳ないことに、>>35氏の整数化の意味がわかりません
すみません。すみません。


49 名前: デフォルトの名無しさん 投稿日: 02/07/15 17:04
整数化した物を リアルに変えて 元の値と比較、ですよね?


50 名前: デフォルトの名無しさん 投稿日: 02/07/15 17:05
>>49
そうよん。だからカーディナルな変数でやっちゃ駄目。


51 名前: デフォルトの名無しさん 投稿日: 02/07/15 17:08
>>42
いや、最小桁以外が0の時はわかるんだが、そうじゃない場合。


52 名前: 46 投稿日: 02/07/15 17:08
>>47
わからないです〜


53 名前: デフォルトの名無しさん 投稿日: 02/07/15 17:22
ComboBoxでリスト内容を選択したときに上がるイベントは
もしくは変更された事を検知する方法はどうすればいいの?

リストにあるデータを選択するだけではChange イベントが
発生しないようだし。


54 名前: デフォルトの名無しさん 投稿日: 02/07/15 17:29
>>30
パスの部分は "\\サーバー\共有" の形ですか?
だとしたら、"\\サーバー\共有\" とするとうまくいくかも。



55 名前: 27(前スレ952) 投稿日: 02/07/15 17:29
>>33 ん。こんなもんですよ。
   ホントはDirの戻り値を変数に入れてるくらいです。

この質問はもうダメっすかね?
レスもないし没という事にしておいてください。
続はどうにかしてみます。
ありがとう。


56 名前: 27(前スレ952) 投稿日: 02/07/15 17:34
>>54 諦めた直後にレスがっ!

現在は "\\サーバー\共有" の形です。
"\\サーバー\共有\" で試してみました。

WinNTでは値が戻りました!
おそらく2000もいける事でしょう。(現在2000マシン使用中でテストができません。)

ありがとう!ほんとにありがとう!



57 名前: デフォルトの名無しさん 投稿日: 02/07/15 17:59
>>51
んなものいったん文字列処理かけるとか、negative処理かけるとか、なんとでもやりようはあるじゃん


58 名前: デフォルトの名無しさん 投稿日: 02/07/15 23:13
Winsockコントロールを使ってサーバー上にあるテキストを読み取りたいのですが、どうすればいいでしょう。
ローカルや、microsoft.comに接続して Get /index.html ってやったのは成功しました。
どうやら www.***.**.** みたいなページは出来るみたいです。
wwwでは無いページが駄目みたいです。具体的に言うと

ttp://members13.tsukaeru.net/nasumi/index.html みたいな感じのページがDLできません。どうやったらいいですか?


59 名前: デフォルトの名無しさん 投稿日: 02/07/15 23:19
>>58
members13.tsukaeru.net
に接続しろ!


60 名前: デフォルトの名無しさん 投稿日: 02/07/15 23:32
一応接続はしてる。

Private Sub Command1_Click()
If sckMain.State <> sckClosed Then
sckMain.Close
DoEvents
End If

sckMain.RemotePort = 80
sckMain.RemoteHost = "members13.tsukaeru.net"
sckMain.Connect
End Sub

Private Sub sckMain_Connect()
sckMain.SendData "GET /nasumi/index.html" & vbCrLf & vbCrLf
End Sub
Private Sub Command2_Click()
sckMain.Close
sckMain.LocalPort = 0
End
End Sub

Private Sub sckMain_DataArrival(ByVal bytesTotal As Long)
Dim strBuff As String
sckMain.GetData strBuff
txtHTML.Text = txtHTML.Text & strBuff & vbCrLf
End Sub



61 名前: デフォルトの名無しさん 投稿日: 02/07/15 23:44
>>60
できたよ。
Option Explicit

Private Sub Command1_Click()
Winsock1.RemoteHost = "members13.tsukaeru.net"
Winsock1.RemotePort = 80
Winsock1.LocalPort = 0
Winsock1.Connect
End Sub

Private Sub Winsock1_Connect()

Winsock1.SendData "GET /nasumi/index.html HTTP/1.0" & vbCrLf
Winsock1.SendData "Host: members13.tsukaeru.net" & vbCrLf
Winsock1.SendData vbCrLf

End Sub

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)

Dim strData As String
Winsock1.GetData strData
MsgBox strData

End Sub



62 名前: デフォルトの名無しさん 投稿日: 02/07/15 23:47
>>61 ありがとうございますた!
接続した後にhost: 〜.net みたいなのをおくらにゃならんのですか。送らなくても出来るとこがあるんでわけわかめです。
どうやら俺はhttpプロトコルを勉強しないと駄目のようですネ。



63 名前: デフォルトの名無しさん 投稿日: 02/07/15 23:50
>>29ですが、不可能ですか?
分かる方ご教授願います。


64 名前: デフォルトの名無しさん 投稿日: 02/07/16 02:15
ある変数の中身が数値であるか否かの判定方法キボンヌw


65 名前: デフォルトの名無しさん 投稿日: 02/07/16 02:18
>>64
If Isnumeric(変数) Then
ここ来る前にヘルプ読もうな。


66 名前: 厨房 投稿日: 02/07/16 02:53
ペイントソフト作ってるんですが
マウスダウンしたところからマウスアップまでの大きさの円を描く方法と
描画したものの中身を塗りつぶす方法がわかりません。


67 名前: デフォルトの名無しさん 投稿日: 02/07/16 08:06
推薦図書スレとこちらで迷ったのですが、あちらはあまりVBの話題が出ていないようなので。

現在Cでプログラムを書いてコンソールで動かしているアプリがあるのですが、
これをGUI化しなければならなくなりました。

GUI作るのは
VC++→面倒
VB→簡単
と聞きましたので、今のプログラムをVC++でDLL化し、VBで作ったGUIから利用しようかと思っています。
こういう用途でVBを利用する場合、お勧めの書籍はありますでしょうか?
VBは全く触ったことがありません。

webで調べてみたのですが、
http://www2.gihyo.co.jp/books/bookinfo.asp?ID=4-7741-0802-2
こういう感じの、VB寄りの本があればいいなぁ、と思っています。


68 名前: デフォルトの名無しさん 投稿日: 02/07/16 08:15
>>67
そういう人は、迷わずC#にしとけ。
VBと同じ様にGUIが構築できて、かつ、コードはほとんどCと同じ
感覚で使えるぞ。



69 名前: デフォルトの名無しさん 投稿日: 02/07/16 09:39
>>67
Borland C++ Builder という選択肢もあるよ
とか書くとM$マンセーな皆様に袋叩きにされる罠


70 名前: デフォルトの名無しさん 投稿日: 02/07/16 09:42
>>67
いや、この人は業務か何かで、C#もBCBも無い環境で事を成さねばならないのでは?
素直にVB本を漁るのが吉。


71 名前: デフォルトの名無しさん 投稿日: 02/07/16 10:11
VB本といってもCとのデータ連携を詳しく紹介したのなんてあるかあ?

下手すりゃネット上の情報の方が豊富かも。


72 名前: デフォルトの名無しさん 投稿日: 02/07/16 10:41
もともとのメイン処理がCで書いてあって、それをDLL化して
VBで画面つくるんだよね。
VBって構造体の記述もネストできないし、
スタティックな変数も64KB未満でないと駄目だし、
VBで確保したエリアをDLLに渡す部分も、ちゃんと
リニアなエリアが確保されてるのかどうか良くわからんし、
VB使ったことが無いんだったらお勧めしません。


73 名前: デフォルトの名無しさん 投稿日: 02/07/16 10:52
VBって考えてる以上にクソだよ。

妙な幻想は抱かないのが吉


74 名前: デフォルトの名無しさん 投稿日: 02/07/16 11:19
>>71
dllから呼ぶのだから、API使うのと変わりないでしょ。
漏れはそういうふうにdllの方を作ったけどね。

>下手すりゃネット上の情報の方が豊富かも。
この部分は納得、同意。


75 名前: デフォルトの名無しさん 投稿日: 02/07/16 11:24
>>72
> VBって構造体の記述もネストできないし、
たいした問題ではないと思いますが。同等のことは出来ますし。

> リニアなエリアが確保されてるのかどうか良くわからんし、
数値配列は連続した領域に割り当てられることが保証されてますけど、
それじゃ不十分って意味ですか?

> VB使ったことが無いんだったらお勧めしません。
これには同意します。



76 名前: デフォルトの名無しさん 投稿日: 02/07/16 11:26
>>72
構造体はネストできます。
64KB未満でなくていけないのは構造体内の固定長配列/固定長文字列の合計サイズです。
VBで確保したエリアについてはMSDNに書いてあるので良くわかってから使ってください。


77 名前: デフォルトの名無しさん 投稿日: 02/07/16 11:41
>>75
同等のことはできますね。
でも、見通しが悪くないですか?
VBで画面を作って、処理は、DLL側でっていう
作りにするとおそらくVB側とDLL側で同じデータ構造を
定義する必要が出てくると思うんですよ。
で、もともとはCで書いてあるんだからC用の構造体の定義は
すでにある。それを元にVB用の構造体の定義をつくる。
そのとき、もともとのC用の定義は、構造体をネストしてって記述に
なっている。VB用の定義上はそれが許されない。

ぱっと2つの定義を見て同じだってみれないんです。


>リニア...
最初VB+DLLでプログラム作ったとき、
自分で構造体を定義してそれをREDIMで
エリアを確保して、そのエリアのアドレスをDLLに渡して
DLL側でそこに書き込むってことをやろうとしたとき、
大丈夫かなぁって不安になりました。
VBって変数に初期値をセットしないとメモリが割り当てられない
とか(本当?)、String型は単純なバイト並びじゃないとか、

ちょっと支離滅裂ですが、C言語しか使ったこと無い人が
VB+DLLという形でプログラムを作ろうとすると、
予想以上にデータの受け渡しに戸惑うと思う、という事が
言いたいだけですはい。
>>もしかして漏れだけ?



78 名前: デフォルトの名無しさん 投稿日: 02/07/16 12:04
>>77
構造体定義の中に構造体定義をネストするほうが見通しが
悪いと俺は思うのだが。
まあ,他でネスト内部の構造を参照しないような、その場所だけの
定義だけだったらそれでもかまわんだろうけど。



79 名前: 57 投稿日: 02/07/16 12:31
>>77
もしかして、前スレで ユーザー定義型の配列をDLLに渡そうとして、
はまってた人ですか?

> 同等のことはできますね。
> でも、見通しが悪くないですか?

あんまり気にならないですけど。
というか、私が構造体のネストを使わないだけか。

> VBって変数に初期値をセットしないとメモリが割り当てられない
> とか(本当?)、

そんなことは無いです。
少なくとも参照した時点(つまりDLLに渡した時点)では初期化されてます。

> 予想以上にデータの受け渡しに戸惑うと思う、という事が
> 言いたいだけですはい。
> >>もしかして漏れだけ?

いや、私も最初はその辺で戸惑いましたよ。



80 名前: デフォルトの名無しさん 投稿日: 02/07/16 13:51
唐突ですいません。
VBで作成したEXEで戻り値を返すにはどいしたらいいのでしょうか?
どなたかおながいします・・・。



81 名前: デフォルトの名無しさん 投稿日: 02/07/16 14:24
質問です
label1.label2.label3の中の数字が一致したとき
label4の数字が1増えるっていう風にするには
どうすればいいでしょうか?
ちなみにlabel1.label2.label3にはそれぞれ違うタイマーの数字が入ります
なんか意味わかんない文章ですがよかったら教えてほしいです
お願いします



82 名前: デフォルトの名無しさん 投稿日: 02/07/16 14:35
if文って知ってるか?


83 名前: デフォルトの名無しさん 投稿日: 02/07/16 15:13
>>80
気になったので調べてみました。

結論:ムリ



84 名前: 愛本 投稿日: 02/07/16 16:00
.dllでかかれた部分をモジュールへ変更してるんですが
ハンドルデータの取扱いがよく分かりません。

Cのソースで
theHogeP = GlobalLock(theHogeH);
theHogeP->*** = XXX;
GlobalUnlock(theHogeH);

のtheHogeP->***の部分をどうVBへ変換したらよいのか
だれか教えてください


85 名前: デフォルトの名無しさん 投稿日: 02/07/16 16:18
>>84
それはVBが分からないというよりCが分かって無いのでは。


86 名前: デフォルトの名無しさん 投稿日: 02/07/16 16:48
>>85
VBとCの両方判ってないと思われ。


87 名前: デフォルトの名無しさん 投稿日: 02/07/16 17:11
>>84
CopyMemory theHogeP + オフセット , XXX , 長さ

かな?もしくは、ユーザー定義型を作って、いったんそっちに移すって手もあります。

dim hoge as ユーザー定義型
CopyMemory hoge,theHogeP,長さ
hoge.*** = XXX
CopyMemory theHogeP,hoge,長さ



88 名前: 愛本 投稿日: 02/07/16 17:13
>>85-86
一応Cは理解してるつもりだが。
Cで書いた自作.dll(動作確認済み)をモジュールへ変更してる
とこなんでVB<->Cの変換部分がよくわかんないんだよ。

具体的にはPRINTDLGのなかのDEVMODEの値を変更したいんだけど

#ACCESS2000のPrinterオブジェクトがつかえない対策


89 名前: 愛本 投稿日: 02/07/16 17:30
>>87
Thanx!!!

追加でもうひとつ質問なんだけど
この場合のCopyMemoryみたいにAPIに構造体をわたす時は
ポインタ渡しになるの?値渡しになるの?

#単純にVBだと考えれば参照渡し(≒ポインタ渡し?)と考えて
#いいんだろうか…


90 名前: 87 投稿日: 02/07/16 17:46
>>89
> この場合のCopyMemoryみたいにAPIに構造体をわたす時は
> ポインタ渡しになるの?値渡しになるの?

Declare 宣言でByRefを指定すればポインタ渡し、ByValを指定すれば値渡しになります。
どちらも指定しなければ、ByRef(ポインタ渡し)です。

詳しくは MSDN の 「DLL および Windows API へのアクセス」 を参照してください。



91 名前: 87 投稿日: 02/07/16 17:49
>>89
追記
ユーザー定義型の値渡しは出来ません。



92 名前: 愛本 投稿日: 02/07/16 17:58
>>87
重ね重ねどうもありがとう


93 名前: デフォルトの名無しさん 投稿日: 02/07/16 18:35
>>79
その節はどうもお世話になりました。
最近 C# を買ってみました。
私には、こっちのほうが全然わかりやすいです。



94 名前: デフォルトの名無しさん 投稿日: 02/07/16 20:41
質問なのですが、よろしく御願いします

ttp://www.microsoft.com/JAPAN/developer/library/jpwinpf/_win32_terminateprocess.htm

BOOL TerminateProcess(
HANDLE hProcess, // プロセスのハンドル
UINT uExitCode // プロセスの終了コード
);
なんですが、w2kで使用する際、具体的にどういう風に書けば良いんでしょうか

宜しく御願いします


95 名前: デフォルトの名無しさん 投稿日: 02/07/16 21:10
WAVE使いたい
教えれ


96 名前: デフォルトの名無しさん 投稿日: 02/07/16 21:20
>>77
VBのStringはBSTRです。
先頭に文字列長 + その後に実際の文字列(終端文字なし)


97 名前: ななし 投稿日: 02/07/16 21:55
>>80

ActiveX EXEにすれば、メソッドの戻り値を返せますが?
(そーゆー意味ぢゃない?)

標準EXEでやるなら、終了処理で、結果コードをINIファイルに吐くとか?
(インチキ臭いというか、ルール違反というか・・・)

>>94

基本的に、C / C++ 向けに書かれたAPIサンプルコードをVB用に書き直すのは、
C、VBの両方の知識がないとむずかしいような気がする。
(それとも、APIビューアーか、WEB検索で探すか)

この例は、たまたま知ってる(仕事で使ったことはないけど)ので、サンプルが
掲載されているサイトを紹介しときます。

Win 2000 なら、NTとおなじコードで動くはず。(未確認)

しかし、TerminateProcess って使っていいもんかね?
「強制終了」だから、望ましくないと思うのだけど。
(終了処理が正常に行われない、リソースのリーク等の問題があるのでは?)


98 名前: デフォルトの名無しさん 投稿日: 02/07/16 21:57
>>80
ExitProcessでOK


99 名前: ななし 投稿日: 02/07/16 22:06

>>97

> この例は、たまたま知ってる(仕事で使ったことはないけど)ので、サンプルが
掲載されているサイトを紹介しときます。

肝心のアドレスを書き忘れた。(W

ttp://www.geocities.co.jp/SiliconValley-Bay/4535/Program/011.html

(直リンク失礼。m(_ _)m  )






100 名前: デフォルトの名無しさん 投稿日: 02/07/16 23:29
VBでコンソールアプリケーションつくるにはどうすれば良いのでしょうか?


101 名前: コギャル&中高生 投稿日: 02/07/16 23:30
http://go.iclub.to/ddiooc/

お役立ちリンク集
必ず役立ちます

コギャルとH出来るサイトはここ
ヌキヌキ部屋へ直行便

http://kado7.ug.to/wowo/


102 名前: 80 投稿日: 02/07/16 23:37
>>98 ありがとう うまくいきました!

これってデバッグで動かすとVB自体も終了しちゃうんですね。



103 名前: 初心者 投稿日: 02/07/17 00:14
コモンダイアログについての質問です。
ShowSave等で前回保存した場所を記録している様なのですが、
その情報はレジストリのどの部分に書き込まれているのでしょうか?

環境はWindows2000, VB6.0です。


104 名前: デフォルトの名無しさん 投稿日: 02/07/17 01:55
>>100
VB.netにしる。



105 名前: ななし@車輪の再発明野郎 投稿日: 02/07/17 04:38
>>103

知らないけど・・・同等機能を独自に実装するんじゃダメなの?
調べるより作った方が早いと思うんだけど。


106 名前: 94 投稿日: 02/07/17 05:53
>97氏
有難う御座います
助かりました


107 名前: デフォルトの名無しさん 投稿日: 02/07/17 07:50
カップヌードル食べてるときにさ、ふと魔がさして
発泡スチロールの容器を横からフォークでブスリと
差してみたんだよね。そしたら3つの穴からスープが
ピューッと出てきて止まらないんだ。
あわてて穴に口を付けてスープを吸ったけど全然
止まらないんだ。熱くて火傷しそうだったし、そのまま
流しに持っていった。ようやく落ちついてカップの中を
見たら麺がまだ残ってた。我ながらアフォだと思った。


108 名前: デフォルトの名無しさん 投稿日: 02/07/17 09:39
>>103
そこまで見当ついててなんでレジストリ検索しないかなー


109 名前: デフォルトの名無しさん 投稿日: 02/07/17 10:42
>>107
ヘルプをよめ


110 名前: デフォルトの名無しさん 投稿日: 02/07/17 11:15
>>109
それヘルプで解決できるのかよw


111 名前: デフォルトの名無しさん 投稿日: 02/07/17 12:11
>>110
109はヘルプで解決できると思われ


112 名前: デフォルトの名無しさん 投稿日: 02/07/17 12:15
>>110
つーかFAQだろ。検索しる!


113 名前: デフォルトの名無しさん 投稿日: 02/07/17 12:30
>>112
マジか?


114 名前: デフォルトの名無しさん 投稿日: 02/07/17 13:11
>>107
どこを縦読みすればいいの?


115 名前: 81 投稿日: 02/07/17 15:21
みなさんにとってはくだらない質問だと思いますが
もう一度質問します
どうしてもif文の使い方がいまいちわかりません
もしlabel1とlabel2とlabel3の数が一緒ならlabel4が1増えるっていうのができない

a=a+1
if label1=label2=label3 then label4="" & a & ""

ってやると、どうしてもlabel1とlabel2の数が一緒になるだけで1増えてしまいます
何が間違ってるんでしょうか?
お願いしますm(__)m


116 名前: デフォルトの名無しさん 投稿日: 02/07/17 15:28
なぜlabel1とlabel2の値がlabel3になってしまうのか
よーく考えてみること。


117 名前: デフォルトの名無しさん 投稿日: 02/07/17 15:32
>>115
自分の書いたソースをとことん見つめ直すのも勉強だと思われ・・・。


118 名前: デフォルトの名無しさん 投稿日: 02/07/17 15:38
VBはヨクワカランガ
if($label1 eq $label2 && $label1 eq $label3){
 $label4++;
}
っということが必要であるかと。


119 名前: デフォルトの名無しさん 投稿日: 02/07/17 16:17
>>115
label1=label2=label3
これをandつかってばらしてみる、label1=label2 and label2=label3
そうか、IF文を2つ書いてやってみる
だけど、こんなんでうまくいくのか?


120 名前: デフォルトの名無しさん 投稿日: 02/07/17 16:24
115を読んだら「数」だな
if ($label1 == $label2 && $label1== $label3){$label4++}
に訂正。


121 名前: デフォルトの名無しさん 投稿日: 02/07/17 16:24
>>115
分からないのであれば、分かるようにかけ。
例えば君なら下記のようになるんじゃね。

if label1 = label2 then
if label1 = label3 then
if label2 = label1 then
if label2 = label3 then
if label3 = label1 then
if label3 = label2 then
a=a+1
label4="" & a & ""
endif
endif
endif
endif
endif
endif
endif


122 名前: 115 投稿日: 02/07/17 16:50
>>116-121
やっと理解できましたw
ありがとうございますm(__)m



123 名前: デフォルトの名無しさん 投稿日: 02/07/17 23:50
>>115
「label1=label2」という比較式は、
label1とlabel2が等しければTrueを返す、そうでなければFalseを返す。

つまり、label1とlabel2が等しいときは、
>if label1=label2=label3 then label4="" & a & ""
この文は、
If True = label3 Then
という文と同じだ。
label3の値が"1"など0以外を意味する数字の文字列であったり、
"True"だったり、数値の-1だったりするとこの式は成り立つ。

そういう理由で、
>ってやると、どうしてもlabel1とlabel2の数が一緒になるだけで1増えてしまいます
となる。


124 名前: 名無し 投稿日: 02/07/18 00:01
実行時エラー484のおこしかたってわかる人いないでしょうか?
何が原因で出てるのかをつかみたいのですが、再現性がなくって。。。


125 名前: デフォルトの名無しさん 投稿日: 02/07/18 01:29
Err.Raise 484

VB標準のエラーじゃない。


126 名前: デフォルトの名無しさん 投稿日: 02/07/18 07:39
(´-`).。oO(Label.Captionってなってないと、見てて気持ち悪い・・・)


127 名前: デフォルトの名無しさん 投稿日: 02/07/18 07:41
>>124
480 AutoRedraw イメージを作成できません。
481 ピクチャが不正です。
482 プリンタ エラーです。
483 プリンタ ドライバは指定されたプロパティをサポートしていません。
484 システムからプリンタ情報を受けるときに問題が発生しました。プリンタが正しく設定されているかを確かめてください。
485 ピクチャの形式が不正です。
486 フォームのイメージをこのプリンターで印刷することはできません。



128 名前: Name_Not_Found 投稿日: 02/07/18 09:29
Dim qry As QueryDef
Dim qRs As DAO.Recordset
Set qry = qmDb.QueryDefs("クエリーX")
Set qRs = qry.OpenRecordset(dbOpenDynaset)
を実行すると
 qRs.RecordCount = 1 になっていた。(実際は1500件)

Set qry = qmDb.QueryDefs("クエリーX")
Set qRs = qry.OpenRecordset(dbOpenDynaset)
qRs.MoveFirst
qRs.MoveLast
とするとqRs.RecordCount = 1500 でOK
なんでか? わかる人 手をあげて




129 名前: デフォルトの名無しさん 投稿日: 02/07/18 10:10
>>128
レコードセットは一度MoveLastで最終桁まで取らないと
RecordCountでは総数が取れないんだよ。


130 名前: 128 投稿日: 02/07/18 10:33
>129
MoveLastしなくても取れる場合があるから、そうとは限らないしょ。




131 名前: 129 投稿日: 02/07/18 11:07
>>130
ちゃんとヘルプに書いてあるよ。
そりゃRecordSetにデータが1つしか無いなら
MoveLastしなくても確実に取れるよ。
結局、カーソルでレコード総なめするような
コードは書くなって事だよ。だってパフォーマンス悪いだろ?


132 名前: デフォルトの名無しさん 投稿日: 02/07/18 11:08
>>131
ループさせるとしても初期値と比較の分だけしか違わないかと。


133 名前: デフォルトの名無しさん 投稿日: 02/07/18 11:28
ヘルプ読んだ?

>Recordset オブジェクトでアクセスされたレコード数、またはテーブル タイプの
> Recordset オブジェクトか TableDef オブジェクトのレコード総数を返します。

ってある。必ずしもレコード数が返る訳では無い事に注意だ。

つまり、
取れる場合がある→取れない場合もある→取れる事が保証されていない→取れない
って考えとく方が痛い目を見ないで済むかと。


134 名前: デフォルトの名無しさん 投稿日: 02/07/18 11:35
>132
クラサバでそれやったら、場合によっては絞め殺されるぞ...



135 名前: 128 投稿日: 02/07/18 11:40
>133
なるほど
「MoveLastしときなさい」ってことですね。
arigatou



136 名前: デフォルトの名無しさん 投稿日: 02/07/18 11:50
>>135
MoveLastは遅い


137 名前: 131 投稿日: 02/07/18 11:54
>>132
んー・・イマイチ意味がワカランが。スマン。
何の初期値の事かな?
パフォーマンスが悪いって所の事をつっこまれてるとしての返答だが、
この場合、データ量が1500件程度ならいいが
10万件や30万件のデータ量になるとカーソルタイプにもよるが
極端にパフォーマンスが悪化するって事が言いたかったんだな。


138 名前: 129 投稿日: 02/07/18 12:18
>>135
なんだよ。
やさしくヘルプの引用してやらないと礼も言ってくれないのか。
クッソーーーっ グレてやる!!
世知辛い世の中やな。 (TーT)


139 名前: デフォルトの名無しさん 投稿日: 02/07/18 12:30
>>138
PC初心者板にはそういう人間たくさんいるぞ。
まぁ、所詮はVB厨だとあきらめるのが吉。


140 名前: コギャル&中高生 投稿日: 02/07/18 12:35
http://go.iclub.to/ddiooc/

お役立ちリンク集
必ず役立ちます

コギャルとH出来るサイトはここ
ヌキヌキ部屋へ直行便

http://kado7.ug.to/wowo/

http://kado7.ug.to/wowo/-a.htm


141 名前: 129 投稿日: 02/07/18 12:42
知ってる。ちょっと逝ってみたかっただけ。ヾy( ̄ー ̄)


142 名前: デフォルトの名無しさん 投稿日: 02/07/18 12:47
>>139
ここにいる奴は皆VB厨です。


143 名前: デフォルトの名無しさん 投稿日: 02/07/18 12:51
>>142
この場合は信者って意味じゃないぞ?


144 名前: デフォルトの名無しさん 投稿日: 02/07/18 13:08
SQLで件数取得すればええやん。


145 名前: デフォルトの名無しさん 投稿日: 02/07/18 13:11
>>144
SQL使えなかったら無理だろ。


146 名前: デフォルトの名無しさん 投稿日: 02/07/18 13:11
>>138
NO付け忘れでし!気分を害してスマソ。
で、MoveLastは遅い(>>136)
とあるけど他に方法ありますか?
次はきっちり礼をしますのでヨロシク


147 名前: ななし 投稿日: 02/07/18 13:12
>>128-136

ADOレコードセットなら、MoveLastしなくてもRecordCountは取れる。
パフォーマンス面でお奨めできないのは、DAOの場合と同様。
SELECT COUNT(*) しなさい。(件数が返る)



148 名前: デフォルトの名無しさん 投稿日: 02/07/18 13:41
ADOやめてoo4oにしる!


149 名前: デフォルトの名無しさん 投稿日: 02/07/18 14:12
ADOでやると-1が帰ってきて困る時があるYO
素直にCOUNT(*)。これ定説。


150 名前: デフォルトの名無しさん 投稿日: 02/07/18 18:43
COUNT(*)の後で1件追加されたら困るYO!


151 名前: デフォルトの名無しさん 投稿日: 02/07/18 19:12
RecordCountで取得した後で一件追加されても困る


152 名前: デフォルトの名無しさん 投稿日: 02/07/18 19:15
どうすりゃいいのさ


153 名前: ななし 投稿日: 02/07/18 19:40
>>148

>>128 のどこにOracle使ってますと書いてあるのか、小1億年間問い詰めたい。


154 名前: デフォルトの名無しさん 投稿日: 02/07/19 09:31
ロックすれ(w


155 名前: デフォルトの名無しさん 投稿日: 02/07/19 17:28
>>154
そんなチミにロックヲン


156 名前: デフォルトの名無しさん 投稿日: 02/07/19 17:29
割り込みで呼び出された処理の最中に,ほかの割り込みが呼び出されることはありますか?
それとも割り込み処理中は,暗黙的にほかの割り込みがdisableされているのでしょうか。

または,割り込み処理中に,自分と同じ割り込みが呼び出されることはありますか?
たとえば,0.01秒に1回のTimer割り込みの処理が0.01秒以内で終わらなかった場合,
同じ割り込みが2度パラレルに処理されることはありえるのでしょうか。


157 名前: デフォルトの名無しさん 投稿日: 02/07/19 17:32
ファイル処理(だと思うのですが)について質問です。
複数の画像が入っている1つのTIFファイルを複数のBMPファイルに変換する事は可能なのでしょうか?



158 名前: デフォルトの名無しさん 投稿日: 02/07/19 17:45
>>157
可能


159 名前: デフォルトの名無しさん 投稿日: 02/07/19 17:57
みなさん、こんにちは

VB6.0からOracle8.0.5にoo4oを使用して接続しているのですが、
処理が長いストアドを実行した場合に、タイムアウトさせたいのですが、
どのようにすればよいのでしょうか?

現在、処理が長いとVB側は延々と待ち続けるので、
これを10秒越えるとタイムアウトエラーで終わるようにしたいのですが

m(__)m よろしくおねがいします


160 名前: デフォルトの名無しさん 投稿日: 02/07/19 17:59
>>156
DoEventsを呼ぶか、イベント発生のきっかけとなるような処理(TextBoxのTextプロパティを変更する、
FormのRefreshメソッドを呼ぶなど)をしない限り、イベントプロシージャ実行中にイベントは発生しません。



161 名前: デフォルトの名無しさん 投稿日: 02/07/19 18:02
>>157
自前でそういうコードを書くか、そういったライブラリを用意すれば可能です。
VB自体にはTIFFを扱う機能は無かったと思います。


162 名前: デフォルトの名無しさん 投稿日: 02/07/19 18:16
>>160
ご回答ありがとうございました。
重ねて質問なのですが,「イベント処理中に別のイベントは呼び出されない」というのは
「別のイベントは受け付けられるが,呼び出しの順番待ちがかかる」ということでしょうか?
その場合,処理中のイベントが終了したときに,待機中だった別のイベントがまとめて
次々に呼び出されるということでしょうか。
また,たとえば0.01秒に1回のTimerイベントがあった場合に,別のイベントの処理に
1秒かかっていた場合は,その1秒の処理が終わったときに0.01秒のイベントが100個
呼び出し待ち状態になっているということでしょうか?

どうかよろしくおねがいいたします。


163 名前: デフォルトの名無しさん 投稿日: 02/07/19 19:34
WM_TIMERと同じで、メッセージキューの中にWM_TIMERとか
WM_PAINT以外のメッセージが無い限り呼び出されないはず
>Timerイベント


164 名前: 157 投稿日: 02/07/19 20:48
>>161
ライブラリも考えたんですが、自分で作った方が色々と面倒が無くていいかな
と思ってはいました。
一度TIFファイルをバイナリエディタで開いてみたんですが、ヘッダ部分の
フォーマットが理解できませんでした。
BMPファイルのフォーマットはなんとか理解できたんですが、TIFからBMPに
にどの様に変えるのかが解らなくて・・・・


165 名前: デフォルトの名無しさん 投稿日: 02/07/19 21:33
ライブラリのソースをみればいい。


166 名前: デフォルトの名無しさん 投稿日: 02/07/19 21:34
>>162
基本的に順番待ちだが、Timerイベントはすっぽかします。


167 名前: デフォルトの名無しさん 投稿日: 02/07/19 21:35
>>163


Sub Command1_Click()
 Dim StartTime As Double
 StartTime = Timer()
 Do While ((Timer() - StartTime) < 10.0)
 Loop
End Sub

Sub Timer1_Timer()
 Debug.Print ".";
End Sub

Timer1.Interval = 100 にして実行すると、Command1を押してる間は
Timer イベント がきてないみたい


168 名前: デフォルトの名無しさん 投稿日: 02/07/19 23:16
>>162
1回だけ。

つまり、Timer処理ルーチンに入ったとき、設定時間をすぎていれば、
実行して、経過時間を0にリセットするだけ。

しかも、最小単位がWin9x系では90ms、NT系では55ms。
インターバルをこれ以上小さくしても意味がない。



169 名前: デフォルトの名無しさん 投稿日: 02/07/19 23:45
ストアドプロシジャが時間喰ってるとしたら、
ストアドプロシジャの中で何か手を打たないとVB側からは
何もしようがないみたいな。


170 名前: 超ド級初心者 投稿日: 02/07/20 00:17
プログラムって何ですか?いろいろ知識をつけていきたいのですが
何から聞けばイイのか分からないくらいアレなので、
とりあえずこんなクサレ質問から。マジです。お願いします。


171 名前: デフォルトの名無しさん 投稿日: 02/07/20 00:22
>>170
この板で見かけたカタカナを片端からサーチエンジンにかけて、
その意味がわかるようになれば、立派にやっていけます。


172 名前: 超ド級初心者 投稿日: 02/07/20 00:25
>171
ありがとうございます!ではとりあえず単語をメモって
それぞれの意味を憶えてきます。


173 名前: デフォルトの名無しさん 投稿日: 02/07/20 00:33
>>172
その心意気やよし! とりあえず

 ちょうどきゅう
 ぷろぐらむ
 いい
 あれ
 くされ
 まじ
 でふぉると
 かたかな
 さーちえんじん
 めも

からだ!

# マ板あたりにスレ立ててやってね。



174 名前: デフォルトの名無しさん 投稿日: 02/07/20 02:45
ウィンドウのサイズを変えた時に、そこにくっつけたオブジェクトのサイズも
全体に合わせて変化するようにするにはどうしたらいいですか。


175 名前: デフォルトの名無しさん 投稿日: 02/07/20 02:49
>>174
http://www.grapecity.com/japan/support/database/P1_22.htm
ほい


176 名前: 174 投稿日: 02/07/20 02:52
>>175
高くて買えない
と思ったけど、用語が分かって助かりました。
ありがとうございます。



177 名前: デフォルトの名無しさん 投稿日: 02/07/20 02:57
>>175
なんかスゲー投げ遣りなレスだな。しかもBOC・・・。

>>174
マジレスすると変化前と変化後のフォームのサイズの割合を計算して
Dim objControl As Object
For Each objControl In Me.Controls 〜 Next
でフォーム上のコントロールコレクションをループして、高さと横幅をその割合で
変化させたらいいと思う。


178 名前: デフォルトの名無しさん 投稿日: 02/07/20 02:57
>>177
追加、位置もな。


179 名前: デフォルトの名無しさん 投稿日: 02/07/20 03:20
TextboxのmultilineをTrueにしてカーソルの行の位置と列の位置を取得するにはどうすればいいですか?
ご教授お願いします


180 名前: デフォルトの名無しさん 投稿日: 02/07/20 03:27
>>179
SelStartプロパティで何文字目にカーソルがあるかわかる。

これは改行コード込みなので、
・そこまでのCR LFコードの数を数えたら行がわかる
・CR LFコードからどのくらい後ろなのかを数えたら列がわかる


181 名前: デフォルトの名無しさん 投稿日: 02/07/20 03:32
>180
ヒントありがとうございます。頑張ってやってみます


182 名前: 174 投稿日: 02/07/20 10:05
>>177-178
ありがとうございます。買わないでも、できる人はできるってことですね。
やってみます。


183 名前: デフォルトの名無しさん 投稿日: 02/07/20 14:51
>>179
Private Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer)
    Dim lngRow As Long
    Dim lngCol As Long

    Call subGetTextRowCol(Text1.Text, Text1.SelStart, lngRow, lngCol)
    Debug.Print CStr(lngRow) & " - " & CStr(lngCol)

End Sub

Private Sub subGetTextRowCol(ByVal strTarget As String, _
                ByVal lngSelStart As Long, _
                ByRef lngRow As Long, _
                ByRef lngCol As Long, _
                Optional ByVal strDemiliter As String = vbCrLf)
    Dim strArray() As String
    Dim strStartToSel As String

    lngRow = 0
    lngCol = 0

    strStartToSel = Left$(strTarget, lngSelStart)
    strArray() = Split(strStartToSel, strDemiliter)

    On Error Resume Next
    lngRow = UBound(strArray()) - LBound(strArray())
    lngCol = Len(strArray(UBound(strArray())))
    On Error GoTo 0

    If lngRow = -1 Then
        lngRow = 0
    End If

    If Err.Number <> 0 Then
        Err.Clear
        lngCol = 0
    End If

    Erase strArray()

End Sub



184 名前: デフォルトの名無しさん 投稿日: 02/07/20 15:08
>>182
下のプログラムみたいにやってみたけど、元のコントロール位置を保存してないと、
精度落ちから、かなりずれてくるね。特に押しつぶしたあと元の大きさに広げてみると悲惨。

Private mlngFormHeight As Long
Private mlngFormWidth As Long

Private Sub Form_Load()
    mlngFormHeight = Me.Height
    mlngFormWidth = Me.Width
End Sub

Private Sub Form_Resize()
    Dim dblChangedSizeH As Double
    Dim dblChangedSizeW As Double
    Dim objControl As Control

    dblChangedSizeH = CDbl(Me.Height / mlngFormHeight)
    dblChangedSizeW = CDbl(Me.Width / mlngFormWidth)

    For Each objControl In Me.Controls
        With objControl
            .Height = CLng(.Height * dblChangedSizeH)
            .Top = CLng(.Top * dblChangedSizeH)
            .Width = CLng(.Width * dblChangedSizeW)
            .Left = CLng(.Left * dblChangedSizeW)
        End With
    Next

    mlngFormHeight = Me.Height
    mlngFormWidth = Me.Width
End Sub



185 名前: デフォルトの名無しさん 投稿日: 02/07/20 15:54
>183
コードを書いていただきありがとうございます。理想のうごきができました。

あともうひとつ質問ですがツールバーにテキストボックスやオプションボタンをつけることはできるのでしょうか?


186 名前: デフォルトの名無しさん 投稿日: 02/07/20 16:01
>>185
配置したいコントロールをCtrl + Xで切り取ってから、ツールバーをクリックして選択し
Ctrl + Vで貼り付ければOKかも


187 名前: デフォルトの名無しさん 投稿日: 02/07/20 16:41
申し訳ありません、どうかお教えいただきたく書き込みしております

VBScriptで「名前を付けて保存」のダイアログボックスが
どうしても作れません
コモンダイアログコントロール (Comdlg32.ocx)を
インストールするところまではわかったのですが

皆様どうかお願いします。


188 名前:   投稿日: 02/07/20 17:45
>皆様どうかお願いします。

ふ。


189 名前: デフォルトの名無しさん 投稿日: 02/07/20 18:02
>>187
インストールできたら
[プロジェクト]メニューの[コンポーネント]クリックして
リストの中から[Microsoft Common Dialog Control 6.0]選んでOKね。
フォームに貼り付けて
CommonDialog1.ShowSave で実行。



190 名前: デフォルトの名無しさん 投稿日: 02/07/20 18:19
VBSですが何か。


191 名前: デフォルトの名無しさん 投稿日: 02/07/20 18:23
       ∧         ∧
        / ヽ        ./ .∧
     /   `、     /   ∧
    /       ̄ ̄ ̄    ヽ
    l:::::::::              .l
   |::::::::::  -=・=-    -=・=-  |
   .|:::::::::::::::::   \___/    |
    ヽ:::::::::::::::::::  \/     ノ   VBSだとぉ〜〜〜?


192 名前: デフォルトの名無しさん 投稿日: 02/07/20 18:26
MsgBox "名前を付けて保存"



193 名前: デフォルトの名無しさん 投稿日: 02/07/20 19:51
VB6.0で、ディレクトリが存在するか確かめるにはどうしたらいいですか?



194 名前: デフォルトの名無しさん 投稿日: 02/07/20 19:59
MkDir "ディレクトリ"
MsgBox "ディレクトリは存在します"



195 名前: デフォルトの名無しさん 投稿日: 02/07/20 20:00
RmDir "ディレクトリ"
MsgBox "ディレクトリは存在しません"


196 名前: 193 投稿日: 02/07/20 20:04
過去ログ(Part6)で解決しました。気をつけます。


197 名前: デフォルトの名無しさん 投稿日: 02/07/20 21:38
>>196
いやいい。おこっているわけじゃない。


198 名前: デフォルトの名無しさん 投稿日: 02/07/20 21:52
bregexp.dllを使って"hoge"を"boke"に変換したい時

lngRtn = Replace("s/hoge/boke/g", strTarget)

こんな感じにするみたいなんですが、bokeのところを変数にしたい時は
どうしたらいいんでしょうか?
このReplaceと普通のReplaceと同時に使えるようにする方法でもいいです。


199 名前: デフォルトの名無しさん 投稿日: 02/07/20 21:55
>>198

馬鹿ですか?馬鹿だよね、きっと。

>bokeのところを変数にしたい時
よくこんなことも分からんで金もらってるなあ、あんた。


200 名前: デフォルトの名無しさん 投稿日: 02/07/20 22:03
$bokeが変数とすると
lngRtn = Replace("s/hoge/$boke/g", strTarget)



201 名前: デフォルトの名無しさん 投稿日: 02/07/20 22:10
>>199
金なんかもらってないですよ。真面目に使い出したのは昨日なんです。
買ったのはずっと昔なんですが。

>>200
↓のようにやると、2個目のMsgBoxは$strNew$strNewと表示されます。

Private Declare Function Replace Lib "bregexp" _
  (szRegstr As String, szTarget As String) As String

Private Sub Form_Load()
  Dim strTarget As String
  Dim strNew As String
  
  strTarget = "hogehoge"
  strNew = "boke"
  MsgBox Replace("s/hoge/boke/g", strTarget)
  MsgBox Replace("s/hoge/$strNew/g", strTarget)
End Sub


202 名前: 198 投稿日: 02/07/20 22:12
×bokeのところを変数にしたい時は
○bokeのところに変数を使いたい時は


203 名前: デフォルトの名無しさん 投稿日: 02/07/20 22:12
>>201
VBならVBらしくbregexpなんか使わないでRegExpオブジェクトを使え。


204 名前: デフォルトの名無しさん 投稿日: 02/07/20 22:13
200は激烈馬鹿だな。馬鹿さが凄いよ。

>>>200
>↓のようにやると、2個目のMsgBoxは$strNew$strNewと表示されます。

当たり前だろ。どこに変数がある?眼はみえてるか?


205 名前: 198 投稿日: 02/07/20 22:13
>>203
どうもです。さっそくそのRegExp探してみます。


206 名前: デフォルトの名無しさん 投稿日: 02/07/20 22:15
何を使おうが一緒だよ。>>198

200のミスに気付かないと。


207 名前: 198 投稿日: 02/07/20 22:17
201は自分です。
200ってもしかしてネタなんですか。


208 名前: ネタとは何事か 投稿日: 02/07/20 22:27
動いてるぞ
$_='198はhoge';$boke='馬鹿';
s/hoge/$boke/g;
print $_;



209 名前: 198 投稿日: 02/07/20 22:30
>>208
動いたって言うのは、Perlの話だったりしますか?


210 名前: デフォルトの名無しさん 投稿日: 02/07/20 22:31
>>208
perlネタはスレ違い。


211 名前: スレ違いとは何事か 投稿日: 02/07/20 22:35
ShellExecute("perl hoge.pl")


212 名前: デフォルトの名無しさん 投稿日: 02/07/20 22:37
"s/hoge/" & strNew & "/g"


213 名前: 198 投稿日: 02/07/20 22:43
>>212
ありがとうございます!ホント助かりました!


214 名前: デフォルトの名無しさん 投稿日: 02/07/20 23:03
>>198
200のアホさが分かった?お前もひどいけど。


215 名前: デフォルトの名無しさん 投稿日: 02/07/20 23:08
>>214
>>200はネタで引っ張りすぎだからイヤだが
偉そうにネタにマジレスしているお前は馬鹿だ。


216 名前: 58 投稿日: 02/07/20 23:12
>>215
ふーん、俺にはあんたが一番偉そうに見えるけど。


217 名前: デフォルトの名無しさん 投稿日: 02/07/20 23:20
>>216
馬鹿に見えないならどうでもいいよ。


218 名前: デフォルトの名無しさん 投稿日: 02/07/20 23:33
わざわざ >>217 書いた時点で、大馬鹿にしか見えなくなったね。


219 名前: 本気の名無しさん 投稿日: 02/07/21 00:41
Wpeというツールは起動させたソフトに送られてきているパケットのデータを見たり、そのソフトからパケットを送ったりしているようにみせたりすることができるんですが、
これはVBでは作れないんですか?
もし作れるとしたらなにか参考になるソースまたはページはありませんか?



220 名前: デフォルトの名無しさん 投稿日: 02/07/21 00:47
>>219
取りあえず少しでも大それたことしたいと思ってるならはじめからVBなんぞ選ぶな。


221 名前: デフォルトの名無しさん 投稿日: 02/07/21 00:51
>219
VBオンリーでは作れないと思ったほうがいい。



222 名前: デフォルトの名無しさん 投稿日: 02/07/21 01:19
>>218
自分のことを言っているのか。


223 名前: デフォルトの名無しさん 投稿日: 02/07/21 08:09
>>222
VBスレ専門の煽りですか?


224 名前: 本気の名無しさん 投稿日: 02/07/21 10:26
>220
>221
ご返事ありがとうございます。
やっぱり所詮はVB
Wpeのようなソフトは作れないのですか
がっくり


225 名前: デフォルトの名無しさん 投稿日: 02/07/21 11:38
パケットモニタってやっぱりAPI呼び出しだけでは無理なんでしょうね?
デバドラが作れるくらいじゃないと無理ですよね。



226 名前: デフォルトの名無しさん 投稿日: 02/07/21 11:40
>>225
しかも最近は自分宛のパケットしか飛んでこない罠。


227 名前: デフォルトの名無しさん 投稿日: 02/07/21 11:43
>>226
いやいや、盗聴目的ではないのでそれはいいんですが。


228 名前: デフォルトの名無しさん 投稿日: 02/07/21 13:43
ロケットマウスのようにマウスを自動で移動させてクリックさせたりとか
させてみたいんですが、
これはVisualBasicではできるのですか?


229 名前: デフォルトの名無しさん 投稿日: 02/07/21 13:44
>>228
マルチやめろ
http://pc.2ch.net/test/read.cgi/hack/1026482652/


230 名前:    投稿日: 02/07/21 13:46
>VisualBasicでは

VBはなんだって可能です。でも、VBでAPIやポインタを扱えない
お前には無理です。


231 名前: 投稿日: 02/07/21 13:49
>>230
           / ̄ ̄ ̄ ̄\
          (____人  )
          (-◎-◎一  ヽミ|
            ( (_ _)     9)
          ( ε   (∴  |_           ズ・・・・ザ・・ザァ
       ____ヽ______/ヽ___)( ̄( ̄ ̄ ̄|)
     (ミ_|__( (ミ_|____) ヽ. ヽ:::::ヽ:::::::ヽ
           (           ⌒ヽ:/::::::::丿
            ヽ          |  ‖:::::::丿   (´⌒(´⌒
                  \        |  ‖::::ノ  (´⌒  (´⌒
                   ゝ____丿__‖ノ_(´⌒ (´⌒


232 名前: デフォルトの名無しさん 投稿日: 02/07/21 14:58
ニューラルネットワークを使った
簡単な文字認識を行うプログラムどこかに公開されていませんか?


233 名前: デフォルトの名無しさん 投稿日: 02/07/21 15:11
この中にあるかは知らない。
http://www.google.co.jp/search?num=100&hl=ja&inlang=ja&ie=Shift_JIS&q=%22character+recognition%22+%22neural+network%22+%22source+code%22&lr=


234 名前: デフォルトの名無しさん 投稿日: 02/07/21 15:32
>>230
> VBはなんだって可能です。
なら、マルチスレッドで複数のフォームを並行的に更新するアプリを書い
てみな。


235 名前: デフォルトの名無しさん 投稿日: 02/07/21 15:58
>>234
ほっとけ。VB厨は所詮井の中の蛙。


236 名前: デフォルトの名無しさん 投稿日: 02/07/21 16:09
>>234
マルチスレッドを使わないで複数のフォームを並行的に更新するアプリは書けるけどな。


237 名前: デフォルトの名無しさん 投稿日: 02/07/21 16:49
>>236
タイマーでも使うのか(藁


238 名前: デフォルトの名無しさん 投稿日: 02/07/21 16:55
>>237
ほら。君にも作る方法わかってるじゃん。


239 名前: デフォルトの名無しさん 投稿日: 02/07/21 17:41
>>238
で、スレッドは一般的にどう実装されてるか知ってるかい?

スレッド以外って言うから期待しちゃったよ。



240 名前: デフォルトの名無しさん 投稿日: 02/07/21 18:10
>>239
マルチスレッドは手段であって目的じゃないよ。


241 名前: 即レス ◆POP.SOKU 投稿日: 02/07/21 19:32
久しぶりに来てみたらなんか荒れ気味だな。

>234
VC++使ってもいいしActiveXEXEでも出来るぞ。


242 名前: デフォルトの名無しさん 投稿日: 02/07/21 20:44
>>238
何するかと思ったら精度の悪いTSS。
それをスレッドの代わりになるとかいっちゃあ。


243 名前: 87 投稿日: 02/07/21 20:51
>>241
おいおい、前提見てねーのか ?

>>230
> VBはなんだって可能です。


244 名前: デフォルトの名無しさん 投稿日: 02/07/21 21:16
VBを使い始めて二ヶ月になるんですが
行き詰まってしまいました。

Form1で計算して出た結果(数字)を
Form2で使いたいときってどうしたら良いですか。

教えていただけませんか?


245 名前: デフォルトの名無しさん 投稿日: 02/07/21 21:29
初心者による実験結果報告。

Form1で
 Public hensu As Long
とやって、Form2で
 MsgBox Form1.hensu
とやると表示できた。
ホントのところは知らない。


246 名前: デフォルトの名無しさん 投稿日: 02/07/21 21:32
>>244
なんてフォームのなんていう変数ってかんじで指定してやる。
それが、>>245のいう
Form1.hensu


247 名前: デフォルトの名無しさん 投稿日: 02/07/21 21:33


V B 厨 。 オ ブ ジ ェ ク ト 指 向 全 然 わ か っ て お り ま せ ん。




248 名前: 244 投稿日: 02/07/21 21:36
>>245,246
ありがとうございます。
Dim でなく Public で宣言するのと
表示させる時の指定の仕方(Form1.hensu ってふうに)を
変えればいいみたいですね。

うまく表示されました。
感謝です!!


249 名前: デフォルトの名無しさん 投稿日: 02/07/21 22:09
>>247
ちょっと恥ずかしかったねぇ。


250 名前: 230 投稿日: 02/07/21 22:58
>>234
>なら、マルチスレッドで複数のフォームを並行的に更新するアプリを書い
>てみな。

だから言ってるだろ?
VBでAPIやポインタを扱えない
お前には無理です。って。
脳みそあんのか?



251 名前: デフォルトの名無しさん 投稿日: 02/07/21 23:11
>>250
ほう、API でできるとな。ちなみに、VB のコントロールがマルチスレッ
ドに対応してねー事ぐらいは知ってるよな。

いきがるのは止めたら ? 今時恥ずかしいだけだよ。

まっ、VB 厨だからしょうがないか...。


252 名前: 230 投稿日: 02/07/21 23:13
アホの234についでに言っとくがIDEでの実行は無理だからな。
exeにしてからじゃないとIDEが落ちるからな。


253 名前: 230 投稿日: 02/07/21 23:14
>251
アホまるだしだな。専門卒か?


254 名前: デフォルトの名無しさん 投稿日: 02/07/21 23:18
自分自身(アプリ自身)をアウトプロセスサーバとしてレジストリに登録して
自分自身を呼び出せば出来るよ(海外では常識なんですが)

>>251
COM知りませんって言ってるようなもんだよ。



255 名前: デフォルトの名無しさん 投稿日: 02/07/21 23:20
>>252
プププ、まだ言ってら。ヴァッカじゃねーの。IDE なんて関係ないよ。
「VB のコントロール」と書いてあんのに、脳みそ腐ってない ?

まあ、マルチスレッドプログラムなんて書いたことないんだろーね。
君には、一生無理だろうから、おとなしく、VB で API とポインタ
(もどき) 使ってな。その方が、君も君の回りも幸せだよ。


256 名前: デフォルトの名無しさん 投稿日: 02/07/21 23:21
>>254
Createthreadとは大違いな大袈裟な処理だな。


257 名前: デフォルトの名無しさん 投稿日: 02/07/21 23:22
>>256
アフォ?


258 名前: デフォルトの名無しさん 投稿日: 02/07/21 23:24
>>254
頭悪いなぁ。
> アウトプロセスサーバ
どこが、マルチスレッドなんだよ。

これだから、VB 厨は...。


259 名前: デフォルトの名無しさん 投稿日: 02/07/21 23:25
Public Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hwnd As Long, lpdwProcessId As Long) As Long
Public Declare Function GetCurrentProcessId Lib "kernel32" () As Long
Public Declare Function GetClassName Lib "user32" Alias "GetClassNameA" (ByVal hwnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long) As Long
Public Declare Function GetProp Lib "user32" Alias "GetPropA" (ByVal hwnd As Long, ByVal lpString As String) As Long
Public Declare Function SetProp Lib "user32" Alias "SetPropA" (ByVal hwnd As Long, ByVal lpString As String, ByVal hData As Long) As Long
Public Declare Function GetNextWindow Lib "user32" Alias "GetWindow" (ByVal hwnd As Long, ByVal wFlag As Long) As Long
Public Declare Function RemoveProp Lib "user32" Alias "RemovePropA" (ByVal hwnd As Long, ByVal lpString As String) As Long
Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long



ObjPtr関数 で可能

つーか、
「VBじゃマルチスレッドできないだろアフォ」つーのは昔から低脳VC厨と決まっておる。


260 名前: デフォルトの名無しさん 投稿日: 02/07/21 23:28
正直、VBでマルチスレッドは可能。
Createthreadで実現できる。でも252にあるように
開発中にデバッグしたらあぼーんする。




261 名前: デフォルトの名無しさん 投稿日: 02/07/21 23:29
ところで皆さんはVB.NETへの頭の切り替えはできましたか?
僕は急に難しくなったので困っています。


262 名前: デフォルトの名無しさん 投稿日: 02/07/21 23:29
あぼーんするなら使えねえジャン


263 名前: デフォルトの名無しさん 投稿日: 02/07/21 23:30
オブジェクト指向も分からん厨は死ねよ>>261


264 名前: デフォルトの名無しさん 投稿日: 02/07/21 23:37
>>261
VB6でクラスやらインタフェース継承やらをやってないから
そういうことになる。自業自得だ。


265 名前: デフォルトの名無しさん 投稿日: 02/07/21 23:38
254の方法は確かにマルチスレッドの生成ではないように見えるが
実際実行してカレントプロセスIDと生成させたスレッドのIDをとると
カレントプロセスは同一でスレッドIDが違うフォームを生成し、
別々に更新などが出来る。VBでマルチスレッドを行う有名な方法。

例えばこれ
http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=24672&lngWId=1

230は説明が下手。


266 名前: デフォルトの名無しさん 投稿日: 02/07/21 23:39
>>264
オーバーライドと多態がわかりません。


267 名前: デフォルトの名無しさん 投稿日: 02/07/21 23:39
>自業自得だ。
あははー>>261



268 名前: デフォルトの名無しさん 投稿日: 02/07/21 23:40
ポリモーフィズムが分からんのは悲惨だよ。マジで。




269 名前: デフォルトの名無しさん 投稿日: 02/07/21 23:41
>>268
>ポリモーフィズム
そもそも名前が覚えられん。
だから多態で一生通す。


270 名前: デフォルトの名無しさん 投稿日: 02/07/21 23:55
>>266
いきなりVB.NETで多態をやるのが難しいのならVB6で練習しとけ。


271 名前: ごみレス ◆WuzDVM0M 投稿日: 02/07/21 23:56
みなさーん
ここは初心者質問スレですよー。


272 名前: デフォルトの名無しさん 投稿日: 02/07/21 23:56
>>266
270は無視しとけ、.NETで出来なければ無理


273 名前: デフォルトの名無しさん 投稿日: 02/07/21 23:58
VB初心者スレを覗くVC厨っていつもアフォ臭いことばっか言うな


274 名前: デフォルトの名無しさん 投稿日: 02/07/22 00:00
>>272
なんでやねん。概念さえ理解すれば.NETでも簡単にできるだろ。


275 名前: デフォルトの名無しさん 投稿日: 02/07/22 00:01
>>271
付いていけない方が一人。


276 名前: デフォルトの名無しさん 投稿日: 02/07/22 02:18
IEとかで、表示されてる文字列の上でダブルクリックすると
単語(日本語の場合は、必ずしも単語となるとは限らないですが)
が選択されますよね。それと同じようなことをカーソル(マウスカーソルじゃなくて)
があるところでやるにはどうしたらよいのでしょう。


277 名前: 276 投稿日: 02/07/22 02:23
InStrRev, InStrを使って、カーソルがあるところから前方、後方に、境目を探すように
すればいいんでしょうか?


278 名前: デフォルトの名無しさん 投稿日: 02/07/22 09:48
>>277
境目ってスペース?


279 名前: ななし 投稿日: 02/07/22 10:44
>>279

実装ではなく、設計レベルでの質問。(VB6.0 Or VB.NET)
(開発チームにスキルの低い糞メンバーが多数紛れ込んでいるという前提で)
API関数はラッピングすべきでしょうか?
私的には、ある程度以上のスキルがあれば、APIだからといって隠蔽する必要は
ないと思ってますが、一般論としてどうでしょうか。

ラップするということは、多かれ少なかれ、クラス設計を考えない訳には行かず、
設計コストを上回る利点(再利用性、保守コストの軽減)がなければ意味がない
と思ってますが、実際のところ、APIのラッパー化で大きな成果(品質面、コスト
面で)を挙げた経験のある方、いらっしゃいますか?



280 名前: デフォルトの名無しさん 投稿日: 02/07/22 11:20
>>279
>(開発チームにスキルの低い糞メンバーが多数紛れ込んでいるという前提で)

>ある程度以上のスキルがあれば

言ってることが矛盾してるので答えようがない。以上。


281 名前: デフォルトの名無しさん 投稿日: 02/07/22 11:38
>278
文字コードの範囲でグループ分けしているんじゃないか?
例えば、「表示されてる文字列の上でダブルクリックすると 」だと、

[表示] [されてる] [文字列] [の] [上] [で] [ダブルクリック] [すると ]

みたいなかんじ。


282 名前: デフォルトの名無しさん 投稿日: 02/07/22 12:27
>>279
あくまで俺の意見だがAPIだからという理由だけでラッピングするのはお勧めしない。
たとえばAPIのSleep。これをラッピングしても利点はほぼないといえる。

しかし、ファイル入出力APIなどはVBのファイル入出力ステートメントより
FileSystemObjectの方が使いやすいようにラッピングする利点がある。
(もっともファイル入出力APIを直接使う理由はあまりないだろうが)

また文字列を扱うAPIの場合、APIの呼び出しの前後に文字列領域の確保・
vbNullCharの削除が毎回発生するのでこれもラッピングした方がいいかもしれない。
ただクラスではなく標準モジュールとしてラッピングでも良いと思う。

繰り返すが、APIと言う理由だけでラッピングする必要はないだろう。
APIも宣言が違うだけであってただの関数と同じとみなす。
単純なAPIはそのまま使い、クラスの方が良い場合はクラスとし、VBで使うのが
少しだけ面倒な場合は標準(or クラス)モジュールで軽くラッピングすればよいだろう。

なおクラスの方が良い場合は、クラスとはなにか?どんなときに使用すればよいかが
わかっていれば、簡単にわかるだろう。あとクラスにする場合も全体的な設計こそやるが、
使うと決まってない機能まで実装する必要はない。拡張性さえあればよい。


283 名前: ななし 投稿日: 02/07/22 12:38
>>282

コメント感謝。参考とさせて頂きます。

> あとクラスにする場合も全体的な設計こそやるが、
> 使うと決まってない機能まで実装する必要はない。拡張性さえあればよい。

確かにそれが最大の利点ですね。


284 名前: ななし 投稿日: 02/07/22 13:03
用語についての質問です。

例えば、TextBox.Textプロパティを変更すると、TextBox_Changeイベントが
発生しますが、これって、「トリガ」という表現でよいのでしょうか?
(「トリガ」だと、なんだか、RDBの用語のような気がしますが?)


285 名前: デフォルトの名無しさん 投稿日: 02/07/22 13:31
メッセージハンドら?


286 名前: デフォルトの名無しさん 投稿日: 02/07/22 13:56
イベントハンドラ?


287 名前: デフォルトの名無しさん 投稿日: 02/07/22 14:02
単純に「イベント」でええやん。


288 名前: ななし 投稿日: 02/07/22 14:07
>>285-287

メッセージ(イベント)を発生させる「原因」を何と呼ぶのかと疑問に
思ったのですが・・・。


289 名前: デフォルトの名無しさん 投稿日: 02/07/22 14:55
>>288
原因はさまざまでしょ。
その場合は「テキストボックスへの入力」では。。。
一般的な言い方は知らん


290 名前: 即レス ◆r/lgIxxc 投稿日: 02/07/22 15:26
>288
意味が通じるならなんでもいいと思うぞ。


291 名前: 即レス ◆POP.SOKU 投稿日: 02/07/22 15:27
てーせー


292 名前: デフォルトの名無しさん 投稿日: 02/07/22 20:51
Visual Basicは簡単ですか?


293 名前: デフォルトの名無しさん 投稿日: 02/07/22 20:57
ちゃんとやろうとすると簡単ではない。
ただし、VC等のように最初の一歩が極端に難しいわけでもない。


294 名前: デフォルトの名無しさん 投稿日: 02/07/22 21:07
>>292
敷居は低いが次の敷居がさらに高くなる。


295 名前: 即レス ◆POP.SOKU 投稿日: 02/07/22 21:43
>292
最初は簡単。後になると難しいっていうか辛い。


296 名前: デフォルトの名無しさん 投稿日: 02/07/22 23:40
>>279
>実装ではなく、設計レベルでの質問。(VB6.0 Or VB.NET)
>(開発チームにスキルの低い糞メンバーが多数紛れ込んでいるという前提で)

設計以前の問題。
プロジェクト立ち上げる奴のスキル、見る目、人望がないだけ。

>API関数はラッピングすべきでしょうか?
要求仕様から仕様決定、言語選定を間違っていると思われ。
業務アプリでVB使うときにAPIの使用はほとんどの場合不要。
コストベースで考えれば自明。


297 名前: デフォルトの名無しさん 投稿日: 02/07/22 23:48
あのさ、インターフェイス継承っていうのかしらん♪
implementsってありますよね!
これはメンバを明示的するという意味があるだけですか?
Dim なら変数を使いますよっと明示するわけですが!
implementsはベースクラスのメンバと同じ名前のを使いますよっと
明示するために使うだけなのですか!?



298 名前: デフォルトの名無しさん 投稿日: 02/07/23 00:42
>>297
Implementsの本来の役割はCOMインタフェースの実装のためにあります。


299 名前: デフォルトの名無しさん 投稿日: 02/07/23 00:44
>>297
しつこいな・・・。


300 名前: デフォルトの名無しさん 投稿日: 02/07/23 01:01
おまえら、なんかココの雰囲気が殺伐としてるぞ。
なんぞイヤな事でもあったか?


301 名前: デフォルトの名無しさん 投稿日: 02/07/23 01:03
暑くてみんな汗だらだら。


302 名前: デフォルトの名無しさん 投稿日: 02/07/23 04:01
>>300
いい事言った。


303 名前: ななし 投稿日: 02/07/23 13:44
>>296

ずいぶんな言われようだが、別に、俺がプロジェクトを立ち挙げた訳じゃない。
こんなメンバーでは無理だと内心おもっているが、上の人間が、今のメンバーで
やり繰りすることしか考えてない。
自分は、もうすぐよその部署に異動になるので、はっきり言ってもうどうでもよい
(てめえら、後は勝手にやれ、という心境)のだが、一応、設計ドキュメントとか
標準化規約(今頃VBのコーディング規約なんて・・・)は残していくことになってる
ので、どうしたものかと思案してるところです。

> 業務アプリでVB使うときにAPIの使用はほとんどの場合不要。
> コストベースで考えれば自明。

極論過ぎ。
INIファイルの読み書きひとつとっても、標準入出力関数では、生産性が上がらないし、
ShellExecuteやプロセスの監視なんかはAPI使わずにどうやって実装するというのだろうか・・・?
(「C++使え」とかいうのはなしね。VB使うという前提なんだから)


304 名前: ななし 投稿日: 02/07/23 13:48

激しく板違いですが、自社の開発メンバーが糞ばかりでまともなコードが書けない状況で、
外注要員を上手く使うことで、プロジェクトを成功(品質面でも、コストパフォーマンス面
でも)させた経験のある方、いらっしゃいますか?

(外注メンバーのコントロールって、自社開発以上にむずかしいと思うのだが・・・)


305 名前: 初心者 投稿日: 02/07/23 14:28
あるテキストファイルの中から指定したキーワードの数を出力するプログラムを作りたいのですが、
数を出力するにはどのようにすればいいのでしょうか?
キーワードの頭の位置を帰す関数しか見当たらなくて困っています。
ご教授ください。



306 名前: 即レス ◆POP.SOKU 投稿日: 02/07/23 14:31
>305
(len(srcstr)-len(Replace(srcStr,SearchStr,"")))/len(searchstr)
とか。


307 名前: デフォルトの名無しさん 投稿日: 02/07/23 14:45
>>304
それはある意味曲芸だが。


308 名前: ななし 投稿日: 02/07/23 15:00
>>307

あ、やっぱり。
でも、うちの会社、てめーらに技術がないなら、外注に○投げしさえすれば
すべてが解決すると思い込んでるバカが多い。(上も、下も)

受け入れ検証や、完成後のPG保守をどうするつもり(たぶん、目先のこと以外
何も考えていないと思うが)なんだと、小一時間(以下、略)


309 名前: ななし 投稿日: 02/07/23 15:12
>>306

その手があったか。
InStr関数をループで回すのは、文字列が大きいと遅いし、RegExpの
マッチオブジェクトを使う方法しか思いつかなかった。


310 名前: デフォルトの名無しさん 投稿日: 02/07/23 17:18
bmpからpngに変換するDLL、またはサンプルソースありませんか?


311 名前: デフォルトの名無しさん 投稿日: 02/07/23 17:19
libpng


312 名前: デフォルトの名無しさん 投稿日: 02/07/23 17:25
>>311
さんくすです


313 名前: デフォルトの名無しさん 投稿日: 02/07/23 19:19
メニューエディタにあるショートカット以外のキーの組み合わせを使いたいと思い、
ttp://www.geocities.co.jp/SiliconValley/4805/vbtips/vbtips092.htm
を参考にしたのですが、作ったアプリを複数起動してると、
後から起動した奴を使っていても一番初めに起動した奴が反応してしまいます。
どうしたら良いのでしょうか?


314 名前: だめだめさん 投稿日: 02/07/23 19:40
DBGridで引っ張ってきたアクセスのテーブルのフィールドの値を
取得してほかのオブジェクト(たとえばテキストボックス)
に出力することってできますかねぇ?



315 名前: 即レス ◆POP.SOKU 投稿日: 02/07/23 19:44
>313
グローバルだから当たり前なんだが。
アトムを使い続けたいならフォアグラウンドか
どうかで判定してもいい。

ただ、ホットキーならフォームのKeyPreview=trueにして
KeyPressとかで判定した方が楽で確実だぞ。


316 名前: 即レス ◆POP.SOKU 投稿日: 02/07/23 19:47
>314
普通に出来るはずだが。


317 名前: だめだめさん 投稿日: 02/07/23 20:19
フィールドの指定の仕方がわかりませんです。
やりたいことは分かっててもコードがさっぱりです。


318 名前: 313 投稿日: 02/07/23 20:37
>>315
ありがとうございます。
一番最初の奴がForegroundにある奴を操作するようにすればいいんだ
というところまで分かったのですが、その先が分かりません。
これからKeyPressでやる方を勉強してみます。


319 名前: デフォルトの名無しさん 投稿日: 02/07/23 21:27
>>219
Winsock2ならVBでもできそうだよ


320 名前: デフォルトの名無しさん 投稿日: 02/07/23 22:11
別ウィンドウにマウスのクリックイベントを
取得、送信する方法がわかりません。
どのようにしたら可能でしょうか?


321 名前: デフォルトの名無しさん 投稿日: 02/07/23 22:16
>>320
フック。まぁVB厨には荷が重い。


322 名前: デフォルトの名無しさん 投稿日: 02/07/23 22:18
>>316
だから、314は「だめだめさん」だってばよ。


323 名前: デフォルトの名無しさん 投稿日: 02/07/23 22:22
>>320
 質問です
 @別ウィンドウっていうのは、別exeなんでしょうか?
 Aそれとも同一プロジェクト内のサブフォームなんでしょうか?

 @なら、別ウィンドウにプロパティを持たして、クリックイベント時に
  プロパティの値を設定すればいいのでは?
 Aなら@と同様にするか、グローバル変数で値を設定するのでは
  だめでしょうか?



324 名前: デフォルトの名無しさん 投稿日: 02/07/23 22:24
>>323
質問です。

機種依存文字って知ってますか?


325 名前: 323 投稿日: 02/07/23 22:37
>>324
 失礼しました ついうっかりです
 1.別ウィンドウ・・・・
 2.それとも・・・

 1.なら、・・・
 2.なら1.と同様に・・・

 と、読み直して下さい 


326 名前: 320 投稿日: 02/07/23 22:39
>>321、323
SendKeysのようなものがあればと思ったのですが
やはりフックするしかないですかね。
なんとか頑張ってみます。



327 名前: eibu ◆c61exE6E 投稿日: 02/07/23 23:00
>>314
手元にVBがないから確認できないけど
DBGridのRowColChangeイベントに(他のChangeイベントでもいいぞ。)
Text1.Text=DbGrid.カレントフィールド(どんなメソッドか忘れた。)
みたいにしてみぃ。
後は自分で調べるのも勉強。


328 名前: 即レス ◆POP.SOKU 投稿日: 02/07/23 23:04
>>320
取得はフックしないと無理。
・・・でもなんかいけそうな方法が
浮かんだので今度試して見よ。

送信はSendMessageを使う。
コマンドボタンならBM_CLICKでいい。
通常のウィンドウならLBUTTONDOWN&LBUTTONUP。
VB製のクリックイベントを発生させたい時は
マウスをキャプチャしてないといけないので注意。


329 名前: デフォルトの名無しさん 投稿日: 02/07/24 01:22
つーか、マジでVBでグローバルフックができない理由がわからん。
ActiveX DLLも普通のDLLの一種だろ。


330 名前: 即レス ◆POP.SOKU 投稿日: 02/07/24 01:32
>>329
ActiveXDLLはCOMを使ったOCXの一種で
普通のDLLとは全然違うぞ。


331 名前: デフォルトの名無しさん 投稿日: 02/07/24 01:58
>>330
でもActiveX DLLもLoadLibraryできるぞ。


332 名前: デフォルトの名無しさん 投稿日: 02/07/24 07:30
グローバルフックはDLLじゃなくてもできるらしいぞ。どこかのHPで見た


333 名前: デフォルトの名無しさん 投稿日: 02/07/24 07:53
333げとーっズサー

>331
マジ?xxxObject関連じゃない


334 名前: ななし 投稿日: 02/07/24 08:28
>>330

ちょっとだけ、ツッコミ。

OCXはコンテナが必要。また、コンテナがロードされている間は破棄できない。

上記2点で、OCXとActiveXDLLとは異なります。
(COMに詳しくないので、これ以上の説明はボロが出そうだが・・・)



335 名前: デフォルトの名無しさん 投稿日: 02/07/24 10:07
VBで標準入出力を扱うコードがGoogleはたくさん見つかるのですが、
うまく行きません。やり方を教えてください。


336 名前: ななし 投稿日: 02/07/24 10:33

>>335

> うまく行きません。やり方を教えてください。

具体的で回答しやすい質問の典型ですね。(嫌味)

やり方、ということですが、「うまく行くように」コーディング
すれば、「うまく行きます」。
(投げやり)


337 名前: デフォルトの名無しさん 投稿日: 02/07/24 10:59
>>336
嫌味を嫌味と書いた時点からそれは嫌味ではないかと。


338 名前: 335 投稿日: 02/07/24 11:11
おさわがせしております。どうもすみません。

http://tokyo.cool.ne.jp/taquino/vbcgi/stdio.shtml
のは、
 実行ファイル.exe > 出力ファイル.txt
でうまくいきました。
 実行ファイル.exe | more
はだめでした。
てっきり、コンソール画面(というか、MS-DOS プロンプト)
に出てくるのだと思ってました。


339 名前: 335 投稿日: 02/07/24 11:22
>>80
標準出力の話だったら

結論:(厳密な話は知らないが)できる


340 名前: 335 投稿日: 02/07/24 11:25
>>104
VB.netだと簡単になるんですか?


341 名前: デフォルトの名無しさん 投稿日: 02/07/24 12:37
>>340
お前には無理だろう。


342 名前: デフォルトの名無しさん 投稿日: 02/07/24 13:08
VB6 プロジェクトを VS .NET で開いてアップグレードしようとしても
'状態 : Form1...プリプロセッサ処理を実行しています。' で失敗するんだが。。。
VB6 のプロジェクトがどんな内容であろうと結果は同じ
最初のモジュールで引っかかるよう
どうすりゃいい?


343 名前: デフォルトの名無しさん 投稿日: 02/07/24 13:50
多分とても簡単な質問だと思うのですがコマンドボタンを押したときに自分のホームページの中にファイルを作成する方法を教えてください。
まだVB歴が短く右も左も分からないような状態なので詳しく教えていただけると助かります。お願いします。


344 名前: デフォルトの名無しさん 投稿日: 02/07/24 14:21
>>343
ぜんぜん簡単な質問じゃない上に
丸投げは(・A・)イクナイ


345 名前: ぷらねっと 投稿日: 02/07/24 14:36
INET コントロールでPROXY認証(!)を経由して通信(HTTP)を
行うにはどうすればよいですか。INET コントロールでなくても何か方法が
あれば教えてほしいです。よろしくお願いします。


346 名前: デフォルトの名無しさん 投稿日: 02/07/24 14:41
>>343
つぅか用語もまともに知らないくせにプログラミングなんぞ5億年早い。


347 名前: デフォルトの名無しさん 投稿日: 02/07/24 15:28
>>345
inet1.Proxy = "串名"
inet1.AccessType = icNamedProxy


348 名前: ぷらねっと 投稿日: 02/07/24 15:41
347さん、ありがとう。
しかしユーザ名とパスワードを要求するような PROXY には、それでは
対応できないのです(345は説明不足でした)。
他の方もご存知でしたらぜひ教えてください。よろしくお願いします。


349 名前: デフォルトの名無しさん 投稿日: 02/07/24 16:50
VB6からXMLファイルを読み込むことになったのですが、
どのようにして行うのが一般的な手段なんでしょうか?
サイト検索などもしてみましたが事例がほとんど見当たりませんでした。
ポインタだけでも示してもらえれば幸いです。


350 名前: デフォルトの名無しさん 投稿日: 02/07/24 17:54
>>349
SAX


351 名前: 343 投稿日: 02/07/24 18:55
あらら。やっぱり甘かったですかね。出直します。


352 名前: デフォルトの名無しさん 投稿日: 02/07/24 21:07
リッチテキストエディットボックスコントロールで、Textプロパティを使って、
例えば
frmMain.rtfMain.Text = frmMain.rtfMain.Text & "hogehoge"
などとすると、設定されていた書式情報が消えて、デフォルトになってしまいますよね。
これをなくして(=現在までの書式情報を消さないで)文字列を追加するには
どうすればいいのでしょうか?

Visual Basic 6.0 Service Pack 5
Rich TextBox Control 6.0 SP4
です。


353 名前: 初心者 投稿日: 02/07/25 07:08
>>343
こういうのですか?
http://www.microsoft.com/JAPAN/support/kb/articles/JP175/1/79.HTM


354 名前: デフォルトの名無しさん 投稿日: 02/07/25 09:13
フレキシブルグリッドで、scrollbarsプロパティを3にしておくと、表を表示しきれなくなると自動的にスクロールバーが出現しますが、
スクロールバーが水平・垂直それぞれ、出ているかどうかって判定はできますか?
スクロールバーが出るとグリッドの表示領域がそのぶん狭くなりますが、その正確なサイズを知りたいのです。
よい方法はないものでしょうか。


355 名前: デフォルトの名無しさん 投稿日: 02/07/25 09:25
フレキシブルグリッドていうかVBしらないけど、GetWindowLongで
WindowStyleを調べるとか。



356 名前: デフォルトの名無しさん 投稿日: 02/07/25 09:30
>>354
グリッドが固定なら表の縦横数で
水平、垂直になる数は把握できるけど
それじゃだめなの?



357 名前: デフォルトの名無しさん 投稿日: 02/07/25 10:37
>>355
Windowstyleに、スクロールバーに関するものはありますでしょうか?
ネットで調でてもイマイチ要領を得ません…。

>>356
はい。表全体のサイズではなくて、グリッドのスクロールバーに隠れずに表示可能な領域のサイズが知りたいんです。
スクロールバーが出現している時は、width又はheightプロパティ - 約16ピクセルであり、
スクロールバーが出ていなければ、width又はheightプロパティほぼそのままの値となるのですが、
スクロールバーが出現しているかどうかを判定する方法が判らないんです。



358 名前: デフォルトの名無しさん 投稿日: 02/07/25 10:44
ASPもちょいと混ざるけど質問させてください。

標準EXE⇔ActiveXEXE⇔ASPファイル→クライアントPCへ表示

てなかんじで標準EXEで生成されるデータをVBで作成したActiveXEXEでメモリ受け渡し。
ASPでCreateObjectしてクライントにデータ渡しをしようとおもっています。

とりあえず今作成しているActiveXEXEでローカル環境内での複数プロセスでのメモリ
私は行えてるんですが、ASPを経由したときにメモリが全く取得できませぬ…

ASPやIISの設定を触ってみるもどうにもならず、メモリの共有を行うActiveXEXE自体を
作り直したほうがいいのかなぁ・・・と思って書込みした次第であります。
いろいろ調べてるうちにCreateFileMappingとかいうAPIを使えばできるとかできないとか
いう情報もでてきたのですが・・・

どなたかよろしくおねがいします。


359 名前: デフォルトの名無しさん 投稿日: 02/07/25 11:15
>>357
スクロールバーが出現しているかどうかの判定はこれでいけると思います。

Public Const 水平スクロールバーに収まる値 as Long = "事前に調べた値(-16済)"

if 水平スクロールバーに収まる値 > 1個のセル.Width * 横セル数(項目数) then
msgbox "グリッドに収まってる"
else
msgbox "水平スクロールバー表示"
endif




360 名前: デフォルトの名無しさん 投稿日: 02/07/25 11:46
訂正
×Public Const 水平スクロールバーに収まる値 as Long = "事前に調べた値(-16済)"
○Public Const 水平スクロールバーに収まる値 as Long = "事前に調べた値"

水平スクロールバーに収まる値 = グリッド.Width



361 名前: miki 投稿日: 02/07/25 13:04
VB4を使って、エクセルで選択しているシートをすべて印刷するにはどのようにコードを書いたらいいのでしょうか?
わかる方がいらしたら教えてください。よろしくお願いします。


362 名前: デフォルトの名無しさん 投稿日: 02/07/25 13:13
>361
Excelで「マクロの記録」を使用し、実現したい操作をマクロ化する。
記録されたVBAコードを参考に、VBからExcelObjectを操作するコードを書く。

以上。


363 名前: デフォルトの名無しさん 投稿日: 02/07/25 13:19
>>359
なるほど、自分で計算してスクロールバーが出現してるかどうか判断するわけですね。
水平・垂直のカラミで少々面倒ですが、とりあえずしその方法で実現できました。
ありがとうございました。


364 名前: 358 投稿日: 02/07/25 14:56
自己レス

COMの構成の設定をちょっといじってみたら、現段階のActiveXEXEでも動作しました。
お手数おかけしました。


365 名前: ななし 投稿日: 02/07/25 14:58
ファイル(*.VBP、その他)の命名について質問です。
昔のDOS形式(8.3)に収める必要(LongFileNameになると、何らかの問題が発生する、
等)はありますか?
8文字以内に収めると、機能に対応した命名がむずかしく、わかりにくくなると思う
のですが、どうでしょうか?



366 名前: デフォルトの名無しさん 投稿日: 02/07/25 15:33
古いOSで動かさない限り問題ないハズ


367 名前: ななし 投稿日: 02/07/25 16:08

>>366

NT4.0(SP3以上), 2000(SP2以上)限定なら問題ないでしょうか?
あとは、インストーラ作成ツール(グレープシティ製等)のバグ等で
問題が出ないかどうかですが・・・。



368 名前: デフォルトの名無しさん 投稿日: 02/07/25 16:56
>>367
なぜインストーラーにソースファイルの
ファイル名が関係すると思うのか小一時間(略


369 名前: ななし 投稿日: 02/07/25 17:00
>>368

ソースファイルはともかく、実行ファイル名はふつう、プロジェクト(*VBP)
名と同名にするでしょ?


370 名前: デフォルトの名無しさん 投稿日: 02/07/25 17:02
>>369
んなこたーない
それは単なるあなたの習慣でしょ


371 名前: デフォルトの名無しさん 投稿日: 02/07/25 17:28
>>369
実行ファイル名と同じ名前の.vbpを作りますが何か?


372 名前: ななし 投稿日: 02/07/25 17:42
>>371

ですよね、ふつう。
わざわざ変更したら、作業ミスの原因になりかねないと思うんだけど。


373 名前: デフォルトの名無しさん 投稿日: 02/07/25 17:42
人それぞれってことだね


374 名前: デフォルトの名無しさん 投稿日: 02/07/25 17:44
>>372
老婆心ながら、余計な反感買うような書き方はしないほうがいいかと。
上にもそうじゃないって書いてる人いるし、なにが普通かは
その人によるでしょう。自分の基準だけで決めつけたような書き方は
しないほうがいいと思いますよ。


375 名前: デフォルトの名無しさん 投稿日: 02/07/25 18:35
>>371追記
漏れは是が非でも8文字以内に抑えます。


376 名前: ななし 投稿日: 02/07/25 18:50
>>374
ご忠告感謝。m(_ _)m

人それぞれ、ということは、プロジェクトとしてのルールを決めないと、
統一性が取れなくなる恐れがある、ということですね。

>>375
参考になります。


377 名前: デフォルトの名無しさん 投稿日: 02/07/25 21:36
>>423
それはVB6では無理。VB.NET買えよ。


378 名前: デフォルトの名無しさん 投稿日: 02/07/25 21:45
>>423はどんな質問をしてくるのだろう。


379 名前: 名無しさん 投稿日: 02/07/25 22:10
>378
ワラタ


380 名前: デフォルトの名無しさん 投稿日: 02/07/25 22:27
>>377,378
 思わず423を探したよ〜〜
 


381 名前: デフォルトの名無しさん 投稿日: 02/07/25 22:51
クラスって具体的にどういう時に使うものですか。
例を挙げて貰えると嬉しいです。

(つか、もしかして無くても困らないのでしょうか…)


382 名前: デフォルトの名無しさん 投稿日: 02/07/25 22:52
>>381
まぁ、いいんじゃない?
VBのはあってもなくても大して変わらないだろうし。


383 名前: デフォルトの名無しさん 投稿日: 02/07/25 23:13
>>352と同じことが起きて、困っているのですがどうにかして、解決できませんか?



384 名前: デフォルトの名無しさん 投稿日: 02/07/26 00:11
>>383
で、付いたレスは読まない。死ぬ?


385 名前: デフォルトの名無しさん 投稿日: 02/07/26 00:12
>>383 >>352
 with frmMain.rtfMain
  .SelStart=Len(.Text)
  .SelText="ぼけ"
end with
ってやればいいだけじゃないの?
あまりにも当たり前すぎるのでオイラ勘違いしてる?



386 名前: デフォルトの名無しさん 投稿日: 02/07/26 00:14
>>382
VB以外でもクラス使ってませんね。


387 名前: 352 投稿日: 02/07/26 02:09
>>385
ありがとうございます。なるほど、カーソル位置に挿入という考え方が
あったのですね。
助かりました。


388 名前: ななし 投稿日: 02/07/26 08:43
>>381
標準モジュールのみの実装に(生産性の)限界や、人生の不条理を感じたときに
使います。したがって、非効率な作業に何の疑問も感じないおめでたい人には
一生ご縁がありません。


389 名前: デフォルトの名無しさん 投稿日: 02/07/26 08:56
>>388
>標準モジュールのみの実装に(生産性の)限界や、人生の不条理を感じたときに使います。

そして己の伴侶の無能さを再確認し、絶望へと。


390 名前: デフォルトの名無しさん 投稿日: 02/07/26 09:13
>381
このへんでも読んでみるといい。
ttp://homepage1.nifty.com/CavalierLab/lab/vb/clsmdl/index.html


391 名前: デフォルトの名無しさん 投稿日: 02/07/26 09:39
VB6とJAVAを組み合わせてプログラムできますか?
JAVAで行ったイベントを、VB6のほうで受け取れるカンジで・・・。


392 名前: デフォルトの名無しさん 投稿日: 02/07/26 10:07
質問厨ですみません。
いま、VB6.0とWinXPを使っているのですが、
Graph32.ocxがうまくレジストリに登録できないのです。
登録にはRegsvr32を使いました。
Win98の時は問題無かったのですが...。

#Graph32.ocxなんてタコなコントロールを使っているのが悪いのは
#わかっているのです。ただ、他の人が書いたソースを修正している
#ので...。



393 名前: デフォルトの名無しさん 投稿日: 02/07/26 10:13
>>392
・うまくレジストリに登録できない だけではなにが起きてるか分からない
・Graph32.ocx って何? どっかの製品? それとも標準でそんなのあったっけ?

どっちにしてももう少し詳しく書いたほうがいいと思われ。
勘では、関連DLLかなにかが不足してるんだと思うけども。


394 名前: デフォルトの名無しさん 投稿日: 02/07/26 10:23
Graph32.ocx…
Copyright _ 1994, 1995 Bits Per Second Ltd

(´-`).。oO(XPで使えるのかなぁ)


395 名前: デフォルトの名無しさん 投稿日: 02/07/26 10:52
>>393
どうもLoadLibraryに失敗しているようです。そう言う意味で関連DLLが
不足しているというのは当たっていると思います。
とりあえず、バイナリでのぞいてなにが足りないのかチェックしてみます...。

Graph.ocxは昔のVBとの互換用にいまでもVBのメディアには収録されてい
ます。新規に使うのはお勧めしないとMSは言っております...。

とりあえず力づくでインストールする方法も試してみるとして、
「こうやってインストールしたら使えたよ」ってな方おられませんかね。

>>394
そうですよね...。個人的にはこんなocx使いたくないんですがね...。



396 名前: デフォルトの名無しさん 投稿日: 02/07/26 11:16
VB6→ADO接続→Accessの勉強をしています。
リレーショナルデータベースの更新の仕方について教えて頂きたいのですが、
例)
→tbl社員
 コード 支社コード 部署コード 氏名
 01   01      01      モナー
 02   01      02      モララー
 03   01      03      ギコ
 04   02      03      しぃ
→tbl支社
 支社コード 支社
 01      東京
 02      大阪
 03      神奈川
→tbl部署
 部署コード 部署
 01      総務課
 02      経理課
 03      庶務課
安易ですがこうなっているとして、それぞれ対応しているコードにリレーションが
はってあるとします。ここに新しく「大阪/庶務課/シラネーヨ」が入社した時のtbl社員の
更新の仕方が分からないのです。
ユーザから「大阪」「庶務課」「シラネーヨ」と入力を受けたら、RecordSetで一つ一つの
テーブルから「大阪」に対応したコードを確認→tbl社員を更新としていくのですか?
テーブル数が増えると手間がかかって仕方ない気がして、何か正しい方法があるのでは
と思った次第です。
長文スマソです。よろしくおながいします。


397 名前: 392 投稿日: 02/07/26 11:32
というわけで、バイナリを覗いてgsw32.exeとgswdll.dllが必要なことがわかりました。
と思ったら、英語のReadme.txtにこの2つもいっしょにコピーしとけ!と書いてありました。

まとめると、

1.graph32.ocx, gsw32.exe, gswdll.dllをしかるべきフォルダにコピー
2.regsvr32 で graph32.ocxを登録
3.ウマー

でした。

いろいろアドバイスありがとうございます。

#インストーラもチェックしとかんといかんな...。



398 名前: デフォルトの名無しさん 投稿日: 02/07/26 16:00
>>396
クエリーを使え


399 名前: デフォルトの名無しさん 投稿日: 02/07/26 16:07
>>396
つーかコンボボックスか何かで選ばれた時点で
そのもの(たとえば大阪)のコードは取得できるはずでしょ
そのように組むのが吉


400 名前: 396 投稿日: 02/07/26 16:29
>>398-399
ああ、なるほど。
やはり、一つずつコードを取得するのが正解でしたか(面倒)。
>>399さんがおっしゃられる様にコンボ選択時に取得するっていうのは
思いつきませんでした。グローバル変数ってヤシですよね。
やってみます。ありがとうございました。


401 名前: デフォルトの名無しさん 投稿日: 02/07/26 16:46
>>400
コンボで選択時に取得までは合ってるけど、
それとグローバル変数は全然関係ないぞ!!
まあ、がんがれ


402 名前: 396 投稿日: 02/07/26 16:53
>>401
Privateの変数にでも格納しておくのではないのでしょうか。
グローバル変数ってこの事じゃないのですか…ああ、僕、恥ずかしいなぁ。
すみません…。調べます。


403 名前: デフォルトの名無しさん 投稿日: 02/07/26 19:30
コンボ選択時に取得・・・ほんとにみんなそうやってんの?
選択するたびにいちいちDB読みに行くのか。
ユーザーにストレス溜まりそうって思うの俺だけ?


404 名前: デフォルトの名無しさん 投稿日: 02/07/26 20:30
>>403
>>399だけだろ。


405 名前: デフォルトの名無しさん 投稿日: 02/07/26 20:34
>>403
 同意です。
 私達の場合はフォームのロード時にコンボボックスを作成するのですが、
 そのときに、コンボボックスのItemdataプロパティにマスタのコードを
 格納しておいて参照します。
 これだと選択→DB検索なんて事をしなくていいですよね!
 


406 名前: デフォルトの名無しさん 投稿日: 02/07/26 22:16
ごめん。寒気がした。


407 名前: デフォルトの名無しさん 投稿日: 02/07/26 22:30
>>406 どういう意味?


408 名前: デフォルトの名無しさん 投稿日: 02/07/27 01:05
まあAccessMDBですからありなんじゃないでしょうか。


409 名前: デフォルトの名無しさん 投稿日: 02/07/27 01:23
桁数指定ってどうやるんですか?
例えば99っていう数値を3桁指定で099って表示させたいんですが。


410 名前: デフォルトの名無しさん 投稿日: 02/07/27 01:27
>>409
 FORMAT関数です


411 名前: デフォルトの名無しさん 投稿日: 02/07/27 01:34
>>410
ごめんなさい、調べたんですが使い方がわかりません(´Д`;)
教えてください


412 名前: eibu ◆c61exE6E 投稿日: 02/07/27 01:48
>>396
データベースの更新にはエラーチェックが不可欠。
たとえば大阪を大坂と入力されていたらtbl支社にアクセスして
大坂という支社が存在するのか、間違いなのかを確認する訳だな。
だから手間の事を言ったらデータベースプログラムは書けない。
>399が言うようにコンボなり、リストなりにしておけば
エラートラップのコード量の節約になる。

しかし>400で変数って書いてるけど、コンボの表示に
02:大阪
としといてLeft関数で前2桁を取った方が簡単だぞ。


413 名前: デフォルトの名無しさん 投稿日: 02/07/27 02:07
>>411
例えば、

Dim strWord as string
strWord = Format("99",000)

strWordの中身は、"099"になっているはずです


414 名前: デフォルトの名無しさん 投稿日: 02/07/27 02:11
VBでDOSコマンドもどき(例、dirやtype)はどうやって作るの?
既存DOSプロンプトで、aaaaa.exeってやると出力がダイアログで
なく既存プロントに文字列で表示されるようにしたいのだが。
参考になるトコあったら教えてください。


415 名前: デフォルトの名無しさん 投稿日: 02/07/27 02:53
おい、コラぁ!VBって簡単なんだから414の質問に答えろ!


416 名前: デフォルトの名無しさん 投稿日: 02/07/27 04:29
>>414 >>415
できねぇよ。
VCで作れ。



417 名前: デフォルトの名無しさん 投稿日: 02/07/27 04:34
>>413
× Format("99",000)
○ Format(99,"000")




418 名前: デフォルトの名無しさん 投稿日: 02/07/27 04:34
>>414
APIを使って標準出力に出力するようなコードを書いてから、
EDITBIN.EXEでSUBSYSTEMをCONSOLEにすればいい。
もしくはリンカに細工をする。


419 名前: デフォルトの名無しさん 投稿日: 02/07/27 06:44
>>414-415
>>418も言ってるがリンカに細工するのが楽。
色々弄れて楽しい。最小で5KBのexeも作れたりする。


420 名前: デフォルトの名無しさん 投稿日: 02/07/27 09:59
ADOのprepareプロパティーでSQLステートメントをプリコンパイルすることで
実行速度を稼ごうと思っていますが、プリコンパイルされたSQLのWhere区を
書き換えたりとか出来ますか?
(JDBCだとことも無くやってのけるようですけど)


421 名前: デフォルトの名無しさん 投稿日: 02/07/27 10:09
>418、419
ありがとう!調べているが意味がさっぱりわからん。
とりあえずこれから勉強する。



422 名前: デフォルトの名無しさん 投稿日: 02/07/27 11:28
VBのコントロールで、多角形を描くコントロールは
ありますか?


423 名前: デフォルトの名無しさん 投稿日: 02/07/27 13:17
>>422
Shapeコントロール。四角形という多角形が描けるぞ。
三角形以下や五角形以上はサポートしていないので注意が必要だ。

要はPictureBoxで自分で描け。


424 名前: デフォルトの名無しさん 投稿日: 02/07/27 19:04
ツリービューの背景色を変えたいのですが、プロパティーないし
インターネットで検索してみましたがそれらしいのが
ありませんでした。アドバイスおねがいします〜m(_ _)m


425 名前: デフォルトの名無しさん 投稿日: 02/07/27 19:30
>>420
そんなレベルの人間はここにいない。
ADOって言われてもコントロールのことだと思ってるヤツが半分いるぜ、きっと。

>>424
http://www.vbthunder.com/source/treeview/tvbkgnd.htm
これでわからね〜なら下の買いな
http://www.grapecity.com/Japan/support/database/P1_80.htm



426 名前: デフォルトの名無しさん 投稿日: 02/07/27 20:04
>>424
サブクラス化。


427 名前: デフォルトの名無しさん 投稿日: 02/07/27 20:09
>>425
流石です、ありがとうございました。ソースおってみます。(^^)
ありがとうございました。m(_ _)m


428 名前: デフォルトの名無しさん 投稿日: 02/07/27 20:22
>>420
よく知らんけどParametersを使えばいいんじゃないの?
MSDNの「ADOの高度な機能」に次のように書いてあるよ。

> Preparedプロパティは、複数のパラメータ セットを使って実行を行うときにも使用できます。
> アプリケーションは、パラメータ セットが変わるたびにクエリー文字列を再構築するのではなく、
> 実行のたびに異なるパラメータ セットを指定することで、パラメータ化されたクエリー文字列を
> 何度も実行することができます。ただし、パラメータ化されたクエリー文字列を1回しか
> 実行しないのであれば、クエリー文字列を準備する必要はありません。

>>425
自分のことを言っているの? よくいるよね。自分が何も知らないから
他人も知らないと勘違いして、しかも偉そうにしている人。レスするなら何かかけよ。


429 名前: ななし 投稿日: 02/07/27 20:31
>>426

サブクラス化、とか、SendMessageだけでは、答えになっていない罠。
どのメッセージをパクって、どう弄るのか、どのメッセージを送るのか、がわからないと、
調べようがない罠。

横ツッコミ、失礼。m(_ _)m



430 名前: デフォルトの名無しさん 投稿日: 02/07/27 21:12
>>428
なんとな〜く、それっぽいんですが絶望的なほどサンプルも資料も
ないので、光が見えてきません・・・。

CommandオブジェクトにあらかじめセットしておくSQLの
パラメータ入力を受けたい部分は、どう記述しておくのかが、
全然わからない、調べても見つからない、本当に出来るのか?オイ
って感じです。

素直にストアドプロシージャ使えってことなんですかね。

とりあえず検索のキーワードが増えました。有難うございます。


431 名前: デフォルトの名無しさん 投稿日: 02/07/27 23:26
>>430
つーか、MSDNみた? サンプルもちゃんとのってるよ。


432 名前: デフォルトの名無しさん 投稿日: 02/07/28 09:44
>>431
MSDNは読みました。乗ってるサンプルは、「何度も全く同じSQLを投げる場合」の
実行時間の測定をする方法で、Where区など、若干内容が変わる方法については
記述がありませんでした(TДT)



433 名前: デフォルトの名無しさん 投稿日: 02/07/28 10:14
>>432
実はJDBCでのやり方も知らない?


434 名前: デフォルトの名無しさん 投稿日: 02/07/28 12:59
>>433
JDBCと同じ方法でいけるんですか?!!


435 名前: デフォルトの名無しさん 投稿日: 02/07/28 22:13
>>432
不思議だなぁ。なんでちゃんと記述してあるのに気づかないんだろう?
プログラマの適性ないんじゃない。


436 名前: デフォルトの名無しさん 投稿日: 02/07/28 22:41
(Excelのユーザフォームのタブインデックス変更ウィザードにあったと思うのですが)
リストボックス(グリッドかもしれない)の順番をドラッグで変えるやり方が
知りたいです。例えばリスト3番目を掴み、4番目と5番目の間にドロップすると
そのアイテムが4番目にくる、みたいな。
アイテムを掴む(選択する)ことは容易ですが、落とした位置に入れるというのが
出来ません。
何のコントロールを使うかも含めておながいします。

あ、環境はVB6です。


437 名前: デフォルトの名無しさん 投稿日: 02/07/28 23:14
>>436
コントロールはリストボックスだけ。
ドラッグ&ドロップは自前コードで書く。
そんなにむずかしくない。
これが書けないようなら、VBあきらめたほうがいい。



438 名前: デフォルトの名無しさん 投稿日: 02/07/29 09:28
>>437
て、手厳しいですね。まぁ夏ですしね。
分かりますた。頑張ってみます。


439 名前: 436 投稿日: 02/07/29 10:17
申し訳ないのですが、どなたかヒントだけくださいませんか?
Dragした所の「順番」(リストの4番目など)を取得することは出来るのでしょうか。
もしかして、MouseUpイベントなどのX,Yみたいな座標を使うのですか?
座標から順番を割り出すなんて初級レベルの僕に出来るのかな…。


440 名前: 436 投稿日: 02/07/29 10:23
sageちゃったのでageさせてもらいます。


441 名前: デフォルトの名無しさん 投稿日: 02/07/29 10:28
ドロップダウソリストにしたコンボボックスのアイテムをコード上から
変えるにはどうしたら良いですか。.Textが読みとり専用になってしまって。


442 名前: デフォルトの名無しさん 投稿日: 02/07/29 11:43
a = 0
b = 0

If a = b = 0 then
Label1.caption = Zero
Else
Lavel1.caption = Value
End if

と、した場合、「Value」が表示されて、aやbに値を入力した場合は「Zero」が表示されます。
「a = b = 0」って表現の仕方が悪いからだと思うのですが・・・どうしてでしょう?
よろしくおねがいします。



443 名前: デフォルトの名無しさん 投稿日: 02/07/29 11:46
ちょいと前のレスに書いてあった気がするが
a = b = 0 は b = 0 が a に格納される(b=0なので"True")
0はFalse(だったよね(;´Д`))なので上記のとおりコードが実行される。
If a = 0 and b= 0 Then
とか
If a = 0 Then If b = 0 Then
とやるべし。


444 名前: デフォルトの名無しさん 投稿日: 02/07/29 12:02
>>443

>>116-121に書いてありましたね、すいませんでした。
にもかかわらず丁寧に解説していただき、ありがとうございます。



445 名前: ななし 投稿日: 02/07/29 12:59
>>443

> a = b = 0 は b = 0 が a に格納される(b=0なので"True")

その書き方は、可読性に難があるので、私なら、

a = (b = 0)

としますが。


446 名前: デフォルトの名無しさん 投稿日: 02/07/29 13:22
ていうかBooleanとIntegerを混ぜて使うなよ
話はそこからだ


447 名前: デフォルトの名無しさん 投稿日: 02/07/29 13:29
0と0以外という使い方で普通に混ぜますが?
Byte型で。


448 名前: デフォルトの名無しさん 投稿日: 02/07/29 15:49
タスクトレイに格納させたあと、右クリックでポップアップメニューを出るようにしたのですが、
ポップアップメニューを出すと、メニュー内でのクリックでしかメニューが消えません。
(メニューを出した後、デスクトップなどをクリックしてもメニューが出たまま)
どうやったらメニュー内クリック以外で消せるでしょうか?

タスクトレイへの格納は「ブイビーラボ」のサンプルを使用させて頂いてます。
ttp://www.remus.dti.ne.jp/~y-mac/index.html

検索してみて下記の記事を見つけましたが、自分には理解できませんでした。
ttp://www.users.gr.jp/ml/archive/vb/3045.asp
ttp://www.users.gr.jp/ml/archive/vb/3049.asp


449 名前: デフォルトの名無しさん 投稿日: 02/07/29 16:01
質問です。
現在パールで掲示板(日記)を作って稼動させているのですが
vbの方から日記に書き込みをすることは可能でしょうか?

通常通り送信フォームから送信してもいいのですが
日記なので出来れば送信フォームは無しの方向で行きたいと思っているのでお願いします。

もし出来るようであれば具体的にどのような事について勉強すれば出来るようになるか教えていただけると助かります。


450 名前: デフォルトの名無しさん 投稿日: 02/07/29 17:13
>>447
そんなクセつけちゃ駄目だい


451 名前: デフォルトの名無しさん 投稿日: 02/07/29 17:19
文字列を実行するようなプログラムを書きたいのですが、うまくいきません。
気持ちとしては、

dim a as long

dim mystring as string

mystring = "a = 2"

という感じの気持ちでぜひmystringを実行したいのですが、どなたか方法をご存知のかたはいませんでしょうか。


もしくは、stringとしてのaを何らかの方法で変数として値を与えるというのでも良いのですが。
できれば、配列にも対応していればよりベターです。

よろしくお願いします。



452 名前: デフォルトの名無しさん 投稿日: 02/07/29 17:47
>>451
何をやりたいのか分からない。


453 名前: デフォルトの名無しさん 投稿日: 02/07/29 17:51
特に「文字列を実行する」が謎。


454 名前: 448 投稿日: 02/07/29 17:52
>>451
上に同じく・・・

もしかしてこういうこと?

Private Sub Command1_Click()
Dim a As Long
Dim b As Long

x = mystring(a, 3)
x = mystring(b, 5)

Text1.Text = a & "," & b

End Sub

Public Function mystring(ByRef a As Long, ByRef b As Long)
a = b

End Function


455 名前: デフォルトの名無しさん 投稿日: 02/07/29 19:03
>>449
perlで掲示板ってことはWEBだよね。
あんたWEBの仕組みわかってるの?
ひょっとしてパクッたソース動かしただけでしょ。だったら作ったとかいうな。


456 名前: デフォルトの名無しさん 投稿日: 02/07/29 19:05
>>435
結局やりたいことはMSDNで見つからなかったけど、試行錯誤の上出来るようになりました。
皆さんどうもです。


457 名前: デフォルトの名無しさん 投稿日: 02/07/29 19:06
>>449
winsock


458 名前: デフォルトの名無しさん 投稿日: 02/07/29 19:11
>>451
452-454には難しすぎて理解できなかったようだな。さすがVBスレ
VBScriptならExecute/Eval
VBなら不可能。


459 名前: 436=439 投稿日: 02/07/29 19:14
>>436=>>439です。
誰か、こんな危篤な僕に救いの手をさしのべてはもらえませんか…。
>>437さん曰く「そんなむずかしくない」そうですが、全く糸口がつかめません…。


460 名前: デフォルトの名無しさん 投稿日: 02/07/29 19:19
>>459
流し読みだが
そのリストボックスの先頭が何番目かとひとつのアイテムの高さがわかれば
位置がわかるよね。簡単ジャン


461 名前: デフォルトの名無しさん 投稿日: 02/07/29 19:25
あ!439に書いてあった。やっぱり流し読みはやめよう


462 名前: 436=439 投稿日: 02/07/29 19:27
>>460
レスありがとうございます。
先頭の割り出し方が全然分からないのです。
スクロールされると先頭が変わるってのは分かるんですが…。
位置はピクセル計ってみます。


463 名前: デフォルトの名無しさん 投稿日: 02/07/29 19:30
>>462
TopIndexっていうプロパティがあるじゃん


464 名前: 436=439 投稿日: 02/07/29 19:34
>>463
ホントだ!
あとはピクセルを計れば…。
頑張ってみます!ありがとうです。


465 名前: デフォルトの名無しさん 投稿日: 02/07/29 19:37
>>464
アイテムの高さも取得できるんだがね。ちょっと今サンプルがないけど


466 名前: 436=439 投稿日: 02/07/29 19:39
>>465
プロパティで、っすか?
ちょっと探してみます。


467 名前: デフォルトの名無しさん 投稿日: 02/07/29 19:43
>>466
それはプロパティじゃなかった気がしないでもない


468 名前: 436=439 投稿日: 02/07/29 19:44
>>466
うう…。
APIなんかの知識はまったくありません…。
素直にピクセル計った方が良いでしょうか。


469 名前: デフォルトの名無しさん 投稿日: 02/07/29 19:45
>>468
とりあえず、はかっといたら


470 名前: 436=439 投稿日: 02/07/29 20:02
はい。はかります。ありがとうございました。


471 名前: デフォルトの名無しさん 投稿日: 02/07/29 20:13
>>470
わかったTextHeightだ。APIじゃないよ


472 名前: デフォルトの名無しさん 投稿日: 02/07/29 20:45
>>458

451です。私の気持ちを理解していただいてありがとうございました!?
なんか、うわさによるとEvaluateというのがExcel4(?)時代にあったらしいのですが、(私の実験によると)もはやexcel2000ではdim等で定義した変数には使えないようです。
後は、Run で別のサブモジュールを呼ぶということも考えたのですが、あんまりうまくいかなかったので。(runの場合は、引数を許さないのでしょうか?)

たとえば、Excelのワークシートに変数名を書き込んだ状態でマクロを流せばその横のセルに吐き出すみたいな感じのことができたらきれいなプログラムが書けるかなぁなどと思った次第なので質問させていただきました。
では。


473 名前: デフォルトの名無しさん 投稿日: 02/07/29 20:50
>>472
で、何がしたいの?


474 名前: デフォルトの名無しさん 投稿日: 02/07/29 21:50
で、Evaluateじゃ不満なのか?


475 名前: デフォルトの名無しさん 投稿日: 02/07/29 22:06
>>472
適度に改行しろよ。


476 名前: デフォルトの名無しさん 投稿日: 02/07/29 22:11
>>472
何がしたいのか早く言え!


477 名前: ななし 投稿日: 02/07/29 22:39
>>475

"_" 使って改行してますが、何か?(違


478 名前: デフォルトの名無しさん 投稿日: 02/07/29 23:06
>>477
あんまり面白くない。


479 名前: デフォルトの名無しさん 投稿日: 02/07/29 23:45
>>478
いや、全然面白くない。



480 名前: デフォルトの名無しさん 投稿日: 02/07/29 23:48
>>479
これっぽっちも面白くない。やれやれだぜ。


481 名前: デフォルトの名無しさん 投稿日: 02/07/30 00:24
¥n


482 名前: デフォルトの名無しさん 投稿日: 02/07/30 00:27
>>480
477は本来、面白さを含んだものじゃないだろう?


483 名前: デフォルトの名無しさん 投稿日: 02/07/30 00:55
悲惨な477と482が居るスレはここですか?


484 名前: デフォルトの名無しさん 投稿日: 02/07/30 01:11
VBから、perl機能を使いたいのですが出来るので使用か?

perlから、WIN32APIが使用できるようなので、できそうかな?
と調べてみたのですが、よくわからないので、質問してみました。


485 名前: デフォルトの名無しさん 投稿日: 02/07/30 01:19
>>484
どういう考えからそんな発想に!?


486 名前: デフォルトの名無しさん 投稿日: 02/07/30 01:21
>>perlから、WIN32APIが使用できるようなので、できそうかな?
他の人に言うなよ。お前のためだ。

shellexecで*****.plを実行



487 名前: 484 投稿日: 02/07/30 01:30
そんなに遅れぎみか?俺の発想。
>shellexecで*****.plを実行
ありがとう。






488 名前: デフォルトの名無しさん 投稿日: 02/07/30 01:43
>>484
VS.NET買ってから、Perl.NET買えばいいよ


489 名前: デフォルトの名無しさん 投稿日: 02/07/30 07:55
なんでWin32APIがPerlで使えることがVBでperlの機能を使えることになるんだ。
perlでVBの機能が使えるってならわかるが


490 名前: デフォルトの名無しさん 投稿日: 02/07/30 09:31
インターネットコントロール使ってブラウザの作成した場合、リンク先のアドレスはどうやって表示するんですか?


491 名前: デフォルトの名無しさん 投稿日: 02/07/30 10:31
472です。

適度に改行しないといけないことを知りませんでした。
ごめんなさい。

やりたいことを具体的に書くために例をあげます。

(例)
VBA内で変数を以下のように定義します。

Dim ZZZ1 as long
Dim ZZZ2 as long
………
Dim ZZZ1000 as long

何でもいいのですが、せっかくなので数字を与えてあげます。
ZZZ1=1
ZZZ2=2
………
ZZZ1000=1000

そこでワークシートのA1にZZZmと文字列で書くと
ワークシートのB1にm (=ZZZmにセットされた値)が返されるような
マクロが書きたいのですが。

ちなみに(上とは別件ですが)以下のようなモジュールはうまく流れてくれないのですが、
やはりEvaluateの使い方が間違っているのでしょうか。
Sub test()

Dim ZZZ As Long

Evaluate("ZZZ") = 5

Cells(1, 1) = ZZZ


End Sub



492 名前: デフォルトの名無しさん 投稿日: 02/07/30 11:07
>>491
Excel の質問だったんか?板違いだろがヴォゲ!

ZZZm -> m ならなんとでもできるぞ(W
=SUBSTITUTE(A1,"ZZZ","")
=REPLACE(A1,1,3,"")
=MID(A1,4,LEN(A1)-3)
・・・

さもなくば名前の定義でも使え!


493 名前: デフォルトの名無しさん 投稿日: 02/07/30 11:13
>>491
暑いからってそんなに声を荒げなくてもよかろう。
これまでの流れからして、VBAに関しても識者から
返答が得られてるようだしね。
貴方もきちんと返答してるようだし。この照れ屋さんめー。

もっとマターリしませう。


494 名前: デフォルトの名無しさん 投稿日: 02/07/30 11:24
変数名を文字列で与えて、その名前の変数を参照する
とか、そういう話でしょ?

これ、どうやるんですか?知りたい。


495 名前: 494 投稿日: 02/07/30 11:39
こういうのですか?

Sub SriptingDictionaryTest()
Dim Dic As Object

Set Dic = CreateObject("Scripting.Dictionary")
Dic.Add "ZZZ1", "1"
Dic.Add "ZZZ2", "2"
' ....
Dic.Add "ZZZ1000", "1000"

Cells(1, 2).Value = Dic.Item(Cells(1, 1))
End Sub

VB 連想配列で検索しました。


496 名前: 494 投稿日: 02/07/30 11:54
>>495
訂正
Sub ScriptingDictionaryTest()

Cells(1, 2).Value = Dic.Item(Cells(1, 1).Value)


497 名前: ななし 投稿日: 02/07/30 12:51
>>491
変数名が宇宙語で定義されているため、凡人には解毒不能です。



498 名前: フルーツチンポ 投稿日: 02/07/30 13:36
VBで女の子にモテモテになるにはどうすればいいですか?

よろしくお願いします。



499 名前: デフォルトの名無しさん 投稿日: 02/07/30 13:48
>>498
それなりにカコイイ動作をするゲームを作る。

保証はしない。


500 名前: デフォルトの名無しさん 投稿日: 02/07/30 14:10
>>498
ヴァーチャルボーイを装着して電車にでものってなさい。


501 名前: デフォルトの名無しさん 投稿日: 02/07/30 14:36
>>491
みんなが「何をやりたいの」って聞いてるのは手段じゃなく目的を聞いてるんだよ。
その手段を実現することが目的?んなわけないよね。
目的がわかんなきゃEvaluateを利用できるかどうかもわからん。
とりあえずEvaluateの使用法は間違ってる


502 名前: デフォルトの名無しさん 投稿日: 02/07/30 14:38
>>498
VBを知らないことが一番だ。


503 名前: デフォルトの名無しさん 投稿日: 02/07/30 14:41
教えてください。
今ADOでSQLServer2000を使った仕事をしているのですが、
INDEXとSEEKがうまくいきません。
実行時エラー3251
現在のプロバイダはIndex機能に必要なインターフェイスをサポートしていません。
と出てしまいます。
ソースはこんな感じなのですが、何がいけないのでしょうか。

Dim MyRs As ADODB.Recordset
Dim SetFlg%, i&
Dim SQLKEY As String

Set MyRs = New ADODB.Recordset

SQLKEY = "SELECT * from T_Communication"
MyRs.Open SQLKEY, PobjSQLSession, adOpenKeyset, , adCmdText
MyRs.Index = "PlimaryKey"
MyRs.Seek Array(SetsubiType, SetsubiCd), adSeekFirstEQ


504 名前: デフォルトの名無しさん 投稿日: 02/07/30 14:58
>>498
フルーツチンポでは不可能じゃよ


505 名前: デフォルトの名無しさん 投稿日: 02/07/30 15:02
>498
マヂレスすると、VBAでExcelやWordのマクロを極めなさい。
事務系の職場ではモテモテでしょう。たぶん。


506 名前: koyukoto 投稿日: 02/07/30 15:03
>174
 カリフ・ムスタァスィムがフレグ汗に処刑されたのは間違いないのですが、
これはムスタァスィムが頑迷に抵抗したためだそうで、
その処刑にムスリム側の一部に神罰を恐れる声があったようです。

これに対してフレグの西征軍にクーヒスタン占領後従軍していた
当代イスラム世界最高の大碩学ナスィールッディーン・トゥースィーが
正統カリフ、ウスマーンやアリーが殺害されたときも
天変地異は一切起こらなかったことを例に挙げてカリフの処刑に何ら問題ないと解答しています。

ただカリフの処刑は皇帝モンケの聖勅(ヤルリグ)に基づいたものであったかどうかは
確認していないのでご存じの方はお教えいただきたいのですが・・・

ちなみに『集史』の日本語訳は「フレグ・ハン紀」と「アバカ・ハン紀」が
矢島洋一先生のHPでみることが出来ます。ご参照のほどを。↓↓

http://www.bun.kyoto-u.ac.jp/~yyajima/index.html



507 名前: koyukoto 投稿日: 02/07/30 15:04
あっ。。。。。


508 名前: デフォルトの名無しさん 投稿日: 02/07/30 15:04
>>506
壮大な誤爆?


509 名前: デフォルトの名無しさん 投稿日: 02/07/30 15:06
>>503
Seekって使ったこと無い。
全件引っ張ってきてSeekで探すより
最初から条件に合うものだけ引っ張ってきた方が速くないか?

という話は置いといて、エラーメッセージ内容からすれば
使ってるOLE DBプロバイダがIndex機能に必要なインターフェイスを
サポートしているかどうかを調べるのが先だと思うがどうよ?


510 名前: デフォルトの名無しさん 投稿日: 02/07/30 15:12
>>505
尊敬はされるかも知れんがモテはしない。
人によっては逆にキモがられる。
いいように使われる=モテるって意味なら話は別だが


511 名前: 472 投稿日: 02/07/30 15:13
バカバッカリ


512 名前: デフォルトの名無しさん 投稿日: 02/07/30 15:13
>>509
レスありがとうございます。
Supportsメソッドで調べたところFalseでした。
サポートしてないと言うことですよね。

Seek使わない方が良いのかな。というか使えないのか。

ありがとうございました。



513 名前: デフォルトの名無しさん 投稿日: 02/07/30 16:38
>>491

if cell(A1) = "ZZZ1" then cell(B1) = ZZZ1
if cell(A1) = "ZZZ2" then cell(B1) = ZZZ2
          :
          :
          :

でよいのでは?



514 名前: デフォルトの名無しさん 投稿日: 02/07/30 16:44
>>513
それを可変的にやるにはどうしたら?ってことなんじゃない?


515 名前: デフォルトの名無しさん 投稿日: 02/07/30 16:48
VBAで(VBでも可),DLLから関数或いはサブルーチンを呼び出したいんだけど
,public declare 〜・・・だと,どうしてもDLLの名前を入れるところは,
固定文字列でなければならない.そこで,C言語でDLLを呼び出すときに使う
LoadLibraryを使いたいんだけど,うまくいかない.誰か教えてくださーぁい!
(願わくは)簡単な例を示して欲しいんだけど・・・


516 名前: ななし 投稿日: 02/07/30 16:52
>>509
私も使ったことはないので、憶測ですが、

(1) 全体のレコード件数が比較的少ない(数千〜1万件程度のオーダー)
(2) DBがJetである。
(3) SQLで問い合せると、条件が複雑すぎて、パフォーマンスが低下。

といった特殊な状況なら、Seekメソッドが威力を発揮するかもしれない。


517 名前: デフォルトの名無しさん 投稿日: 02/07/30 16:53
>>511
不明瞭な質問に明確な答えを期待されてもねえ。
せめて日本語ぐらいちゃんと書けってこった。
ましてそれが糞仕様だとまともに答える気も失せる。
その結果が>>492なんだろうな。


518 名前: デフォルトの名無しさん 投稿日: 02/07/30 16:55
>>514
可変といっても変数は可変じゃないからさー


519 名前: デフォルトの名無しさん 投稿日: 02/07/30 18:28
VBには夢がある


520 名前: ななし 投稿日: 02/07/30 18:30
>>519
どこが?
ネタにしても、つまらなすぎ。(30点)


521 名前: デフォルトの名無しさん 投稿日: 02/07/30 20:25
VBとVBAって何が違うんですか?
調べたんですが、違いがよく分かりません。
よろしくお願いします。


522 名前: デフォルトの名無しさん 投稿日: 02/07/30 20:37
0〜99999999のある数値が、8桁日付(yyyymmdd)として有効かどうか判定するには
どう書くのが良いでしょうか。ちなみに今はこんな風に書いてます(aaa=ある数値)。
If Len(CStr(aaa)) = 8 And IsDate(Left$(aaa, 4) & "/" & Mid$(aaa, 5, 2) & "/" & Right$(aaa, 2)) Then
もうちょっとシンプルに書けないかなーと思って。よろしくお願いします。


523 名前: デフォルトの名無しさん 投稿日: 02/07/30 20:51
>>522
それを関数にしとけばよし


524 名前: デフォルトの名無しさん 投稿日: 02/07/30 21:17
Ifの条件にAnd入れるくらいならIf二つ使え


525 名前: 522 投稿日: 02/07/30 21:27
>>523 >>524
ありがとうございます。
もとはIF2つです。ここでの質問用に1つにしてみました。
そのほうが見やすいかな、と思って。余計なことしました。
こんな書き方もあるよ、っていうのは無いでしょうか?


526 名前: デフォルトの名無しさん 投稿日: 02/07/30 22:16
>>511
バカガッカリだったらかわいかったのに。

>>498
VB売ってまずは金を作れ。
次それを漏れに渡せ。そうすりゃ、きみをモテモテにしちゃろ。


527 名前: デフォルトの名無しさん 投稿日: 02/07/30 22:18
>>526
100万でモテモテにしてくれる?


528 名前: デフォルトの名無しさん 投稿日: 02/07/30 23:16
ADOのRecordsetで取得したデータをサブルーチンに渡したいのですが
サブルーチン側の引数の型をどうして良いか分かりません。

例えば、「Recordset!社員名」を渡したい時、サブルーチン側の
Private Sub Test(RecordsetData as ○○○)
↑○の所を何にすりゃあ良いのでしょうか。

おながいします。



529 名前: デフォルトの名無しさん 投稿日: 02/07/30 23:23
>>528
variant


530 名前: 528 投稿日: 02/07/30 23:28
>>529
tnksです。
Recordsetごと渡して、Recordset側に物を入れたいのですが…。

Private Sub Test(RecordsetData as ○○○)
RecordsetData = "Koizumi"

みたいに。無理言ってますか。


531 名前: デフォルトの名無しさん 投稿日: 02/07/31 00:13
Objectじゃだめでしょうか?


532 名前: デフォルトの名無しさん 投稿日: 02/07/31 00:16
普通Recordsetだろ。


533 名前: デフォルトの名無しさん 投稿日: 02/07/31 00:18
ADOを参照設定してるのならADODB.Recordset
でなければObject
つーかそのレコードセット宣言時と同じ型


534 名前: eibu ◆c61exE6E 投稿日: 02/07/31 00:54
>>522
IsDate(Format(aaa,"####/##/##"))

>>530
無理言ってないよ。
しかしコードの方にムリがありそうだな。


535 名前: デフォルトの名無しさん 投稿日: 02/07/31 06:15
プログラムでキーボードを打ったような操作をするにはどうしたらいいんでしょうか?



536 名前: デフォルトの名無しさん 投稿日: 02/07/31 06:48
SendKeys


537 名前: デフォルトの名無しさん 投稿日: 02/07/31 07:05
Aだったらsendkeys(a)でOKなんでしょうか?
ちなみにnumpadのときはどうすればいいんでしょうか?


538 名前: デフォルトの名無しさん 投稿日: 02/07/31 07:49
ヘルプくらい嫁


539 名前: デフォルトの名無しさん 投稿日: 02/07/31 08:28
>530
Recordsetを渡しゃいいじゃん。
Private Sub Test(RecordsetData as Recordset)
って。


540 名前: デフォルトの名無しさん 投稿日: 02/07/31 08:41
最近VBを始めた初心者なんですが、
VSの統合環境がなじめず、使い慣れたエディターを使いたいのですが、
状況は、エディターでソースを保存しても、VSがソースファイルが更新された事を
認識してくれず、変更が反映されず困ってます。
プロジェクトの保存と読み込み繰り返せば可能ですが、
もっとよい方法無いでしょうか。



541 名前: 522 投稿日: 02/07/31 09:44
>>534 :eibu
ありがとうございます!
Format$(aaa,"yyyy/mm/dd"))とかやってエラー食らってたんですよ。アホだー


542 名前: ななし 投稿日: 02/07/31 10:43
>>522

Public Function IsDateEx(ByVal strArg As String) As Boolean
IsDateEx = IsDate(Format$(strArg,"@@@@/@@/@@"))
End Function

(>>534とほぼ同内容)


>>535-536
キーコード送信に頼る実装は問題が多い。
SendKeysには、かの有名なNumLock問題があるし、keybd_event (API)を使った
としても、ターゲットのWindowがActiveになっていなければ、意図とは別のWindow
にキーコードが送信されてしまう恐れがある。

という訳で、別の実装を検討した方が無難です。



543 名前: 522 投稿日: 02/07/31 13:10
>>542 ありがとうございます。
こちらは文字列&文字数固定ですね。
試してみたのですがIsDateはスペースを含んでてもTrue返すんですね。
これでFalseが返ってくればLen(CStr(aaa)) = 8 も要らなくなる!と思ったのに残念!
Formatが任意の文字で文字数固定できればIsDateでFalse返せるのになー。


544 名前: デフォルトの名無しさん 投稿日: 02/07/31 13:15
>>543
んな小さいことでなやんでないで次に行け


545 名前: デフォルトの名無しさん 投稿日: 02/07/31 13:36
バイナリファイルについての質問です。
ファイルを削除せずに中身をput,get,inputBなどを使っていじる事によって
そのファイルのファイルサイズを減らす事は出来ますか?
それともバイナリファイルを小さくするには必要な部分だけバイト配列などで
一度格納してファイルを削除し、同じファイル名で書き出すんでしょうか?


546 名前: デフォルトの名無しさん 投稿日: 02/07/31 13:38
Validateイベントを使って入力チェックをしているのですが、
Labelをクリックしたときも、フォーカスは移動しないにもかかわらず、
Validateイベントが発生してしまいます。
CausesValidateを指定したコントロールのみでイベントを発生させる方法か、
LabelがクリックされたことによるValidateだと見分ける方法はないでしょうか?

タッチパネルでLabelClick時にKeyCodeを送信しているので、
値を入力してる最中にValidateが発生して難儀しております。


547 名前: 投稿日: 02/07/31 13:45
>>545
APIのSetEndOfFileを使うしかないと思います。

# APIを使わずにやる方法があれば私も知りたい。



548 名前: 545 投稿日: 02/07/31 14:27
>>547
あら、そんなAPIがあったのか・・・
ファイル関連のAPIで何か便利そうなものがあるかもしれないので探します。
レスサンキュー。


549 名前: デフォルトの名無しさん 投稿日: 02/07/31 14:56
フォームを開く時にデータベースからコンボボックスにデータを流し込み、
入力できないようにStyleをVbComboDrop-DownListにしてるのですが、
フォームが開ききった時にそのコンボボックスのTextが空っぽなのが
気になります。初めからTextに1番目の項目を選択させておくには
どうしたら良いのでしょうか。


550 名前: デフォルトの名無しさん 投稿日: 02/07/31 15:08
メインフレームにファイル転送(エクスポート)する命令ってない?


551 名前: デフォルトの名無しさん 投稿日: 02/07/31 15:09
>>550
ftpならあるよ


552 名前: デフォルトの名無しさん 投稿日: 02/07/31 15:46
>>550
メインフレームて一口に言ってもたくさん種類があるが...



553 名前: デフォルトの名無しさん 投稿日: 02/07/31 15:49
>>550
サンクス

6680エミュレータのインポート・エクスポートってFtp処理なの?



554 名前: 553 投稿日: 02/07/31 15:53
富士通GS-8400&GS-8900だけど…


555 名前: デフォルトの名無しさん 投稿日: 02/07/31 16:16
>549
コンボボックスのListIndexプロパティに表示したい項目のインデックスを代入すれ。


556 名前: デフォルトの名無しさん 投稿日: 02/07/31 16:28
>>555
できますた!ありがとう!


557 名前: デフォルトの名無しさん 投稿日: 02/07/31 17:41
>>546
CausesValidate プロパティを持つ他のコントロールで代用すれば
つーかそもそも Validate イベントなんかに頼らんほうがいいかと

どうしてもやりたけりゃフックすれば
Validate の直前に Label だけ WM_*BUTTONDOWN がとれるっしょ


558 名前: デフォルトの名無しさん 投稿日: 02/07/31 18:23
>>546
タッチパネル部を別フォームで作成する。


559 名前: 546 投稿日: 02/07/31 19:14
>>557
LostFocus時にチェックするよりは、Validateを使ったほうが
スマートかなあと思いまして。
WM_LBUTTONDOWNがValidateの前に取得できるか試してみます。

>>558
一度別フォームで作ったのですが、TextBoxのLostFocusイベントが
発生してしまったので、Labelにしました。
そしたら今度はValidateが、、、

タッチパネルをソフトウェアキーボード風にしてしまったのが間違いだったか。
ありがとうございます。もう少し試してみます。


560 名前: デフォルトの名無しさん 投稿日: 02/07/31 21:22
VBでDataEnvironmentを使って、
フォームにデータを表示させたのですが、
テキストボックスに値を入力するだけで
Updateを呼んでいないのに値が更新されてしまうみたいなんです。
Updateを呼ばないと更新されなくするにはどうすればいいのでしょうか。


561 名前: デフォルトの名無しさん 投稿日: 02/08/01 09:52
VB6のディストリヴューションウィザードで
MSXML4.DLLを含めたら、セットアップ時に登録できないって
エラーが出てしまったんだが、ほかに何のファイルを登録
すればいいんだろう。ご存知の方、よろしくおねがいします。


562 名前: デフォルトの名無しさん 投稿日: 02/08/01 15:27
がいしゅつ(既出)?

VB.NETは今までとずいぶん違うらしいよ。


563 名前: デフォルトの名無しさん 投稿日: 02/08/01 15:34
未だに「がいしゅつ」という語を使っているのは2ch初心者です。
最近知った言葉なので使ってみたく、自慢したくて仕方が無いようです。
そういう人間に有意な相関として知ったかぶりの厨房が挙げられます。
つまり「がいしゅつ」というという語を使っている人間は
厨房です。
わざわざカッコ付で既出と書いてるのも
いかにも厨房らしくて笑えます。


564 名前: フー 投稿日: 02/08/01 15:41
未だに「ちゅうぼう」という語を使っているのは2ch初心者です。
最近知った言葉なので使ってみたく、他人にそれを知っていることを
自慢したくて仕方が無いようです。
そういう人間に有意な相関として知ったかぶりのアホが挙げられます。
つまり「ちゅうぼう」というという語を使っている人間は
アホです。
わざわざsageないのも
いかにも低能らしくて笑えます。



565 名前: デフォルトの名無しさん 投稿日: 02/08/01 15:45
コピペは低脳な証拠だにょ。そんな感じでは明らかにあなたがあほですねん。


566 名前: フルーツチンポ 投稿日: 02/08/01 15:46
とにかくスレと関係ないことを話題にしている奴が全員アホです。


567 名前: フルーツチンポ 投稿日: 02/08/01 15:47
あ、でもどちらかといえば奴らよりも俺の方が世界一のアホです。





568 名前: デフォルトの名無しさん 投稿日: 02/08/01 16:09
>>567
激しく同意


569 名前: デフォルトの名無しさん 投稿日: 02/08/01 17:03
お聞きしたいのですが、コンボボックスでドロップダウンしたときに、リスト部だけ
幅を広げたいのですが、可能でしょうか?
できるようであればご教授願います。


570 名前: デフォルトの名無しさん 投稿日: 02/08/01 17:20
>>569
未だに「コンボボックス」という語を使っているのはVB初心者です。
最近知った言葉なので使ってみたく、自慢したくて仕方が無いようです。
そういう人間に有意な相関として知ったかぶりの厨房が挙げられます。
つまり「コンボボックス」というという語を使っている人間は
厨房です。
いかにも厨房らしくて笑えます。



571 名前: デフォルトの名無しさん 投稿日: 02/08/01 17:21
>>570
面白くない。


572 名前: デフォルトの名無しさん 投稿日: 02/08/01 17:25
>>569
wParam にピクセルで幅を指定します
下のサンプルは 500 になってます

Private Const CB_SETDROPPEDWIDTH = &H160
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal Msg As Long, ByVal wParam As Long, lParam As Any) As Long

Private Sub Form_Load()

SendMessage Combo1.hWnd, CB_SETDROPPEDWIDTH, 500, ByVal 0

End Sub


573 名前: VB厨 投稿日: 02/08/01 17:26
>>570
じゃーなんて言うんですヵ?先生


574 名前: デフォルトの名無しさん 投稿日: 02/08/01 17:43
>>572
ありがとうございます。ここで引っかかっていたので大変助かりました。


575 名前: デフォルトの名無しさん 投稿日: 02/08/01 18:24
VBはプロレルみたいだな(藁


576 名前: デフォルトの名無しさん 投稿日: 02/08/01 19:03
ACCESS内にクエリを作成したのですが、
そのクエリをVBから実行させることはできるのでしょうか?
たとえばクエリ名を指定するだけなど、

のクエリ名をopenstringにしても実行されず
”PROCEDURE クエリ名”を使うのかなとおもたけどちがったので、

あればその方法を教えてください


577 名前: デフォルトの名無しさん 投稿日: 02/08/01 19:04
ミスしました。
のクエリ名をopenstring −> クエリ名をopenstring


578 名前: デフォルトの名無しさん 投稿日: 02/08/01 19:09
Windows の音量を弄るには、どうすればいいですか?


579 名前: 576 投稿日: 02/08/01 19:21
すいません。
openするときに以下のどれかを指定してrecordsorceにクエリ名を入れると実行されないでしょうか
MSDE引用
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
定数 説明
adCmdText プロバイダが Source をコマンド文字列による定義として評価することを指定します。
adCmdTable ADO が Source に名前を付けられたテーブルからすべての行を返す SQL クエリを生成することを指定します。
adCmdTableDirect プロバイダが Source に名前を付けられたテーブルからすべての行を返すことを指定します。
adCmdStoredProc プロバイダが Source をストアド プロシージャとして評価することを指定します。
adCmdUnknown Source 引数に指定されたコマンド タイプが不明であることを指定ます。
adCmdFile Source 引数に指名されたファイルから永続化 (保存) された Recordset を復元することを指定します。
adAsyncExecute Source 引数を非同期実行することを指定します。
adAsyncFetch Initial Fetch Size プロパティに指定された初期量の残りの行を非同期でフェッチすることを指定します。フェッチされたことがない行が要求された場合は、要求された行が利用可能になるまでは、メイン スレッドはブロックされます。
adAsyncFetchNonBlocking フェッチ中にブロックされたことのないメイン スレッドを指定します。要求された行がフェッチされたことのない場合は、現在の行が自動的にファイルの最後に移動します。
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\


580 名前: 576 投稿日: 02/08/01 19:25
すいません・・・・・
adcmdstoredprocでrecordsorceをクエリ名にしてみたら、うまくいきました。


581 名前: デフォルトの名無しさん 投稿日: 02/08/01 19:57
リアル初心者ですみませんs。
WinsockをつかいTCPで接続しあった場合、

倉→SendData "<返信ください>"
鯖←GetData "<返信く"
鯖←GetData "ださい>"

みたいに、データがぶつ切りになって送信(受信)してしまうことはありますか?
ためしにHTTPサーバーで適当なものをGETしてみたら、ぶつ切りでデータが送られてきました。
簡単なサーバーを作りたいんですが、"LOGIN"(例)コマンドがぶつ切りで送られた場合の処理をしてないので、
しなくてはならないのかな、って思い書き込みしました。


582 名前: 576 投稿日: 02/08/01 20:21
>>581
データの受け取りはステートの監視が必要じゃなかったけ?
まだ受け取ってる最中じゃないの?


583 名前: デフォルトの名無しさん 投稿日: 02/08/01 23:46
>>581
Winsockで例えば100バイトの塊を2回SendDataしたとしても
相手側でDataArrivalイベントが2回おきて
100バイトづつ2回GetDataできる訳ではない。
50バイトづつの4回になるかもしれんし、200バイトの1回かもしれん。

タイミングにもよるし、間にどんな機器/回線が入るかわからんから
データの区切りはアプリ側で制御してやらんといかんぞ。
ひとつの塊の終わりは改行にするとか、
送るデータの先頭にバイト数を入れておくとか
受信データはバッファリングしてそういう制御をせにゃあかん。
あとタイムアウトの処理と切断時の処理もきちんとやらんと泣きみるで。
まぁ要するに回線は信用しちゃいけねぇってこった。

なんか偉そうでスマンな。



584 名前: デフォルトの名無しさん 投稿日: 02/08/02 00:17
>>582
一括で受信することはありえないっぽいです。
1MBとかのデータを送信した場合、
受信側は1つの変数に1MBの情報をつめなきゃならんぽいので。

>>583 やっぱりそうですか…。
つーことは、例えば倉から鯖にコマンドを送るときは
送られてきたデータに改行が無ければ改行が来るまで待って、
改行が来たら前来た奴とくっ付けて1つのコマンドとして理解する…
というわけですね。
先頭にバイト数の奴は、そのバイト数のデータがぶつ切りで来たら欝なんで、
改行でやってみようとおもいます。
さっそくその処理の方法でも考えます…。


585 名前: デフォルトの名無しさん 投稿日: 02/08/02 01:18
複数のクラスで、構造体を共有したいんだけど、
どすればいいの?



586 名前: デフォルトの名無しさん 投稿日: 02/08/02 02:21
許す


587 名前: デフォルトの名無しさん 投稿日: 02/08/02 10:40
>>585
標準モジュールで定義するんじゃダメ?


588 名前: ななし 投稿日: 02/08/02 10:47
>>585
「定義」を共有したいのか、実体(「インスタンス」という表現でいいのかな?)を
共有したいのか、文面からイマイチ読み取れません。


589 名前: デフォルトの名無しさん 投稿日: 02/08/02 13:11
ディレクトリのサイズを取得するにはどうすればいいですか?


590 名前: デフォルトの名無しさん 投稿日: 02/08/02 13:33
再帰的に全部足す。


591 名前: デフォルトの名無しさん 投稿日: 02/08/02 13:45
いや、一気に。


592 名前: デフォルトの名無しさん 投稿日: 02/08/02 13:46
フォルダをつかんでプロパティを見る


593 名前: デフォルトの名無しさん 投稿日: 02/08/02 13:55
なるほど。ありがとうございました。


594 名前: んわんん 投稿日: 02/08/02 14:06
秋葉原の交通博物館でもぼやがあったそうな
こりゃ、ぼやぼやできませんね・・・


595 名前: デフォルトの名無しさん 投稿日: 02/08/02 14:06
ある拡張子について、関連づけられてるアプリケーションが
あるかないかはどうやって判断すればいいでしょうか
たとえば doc であればWordが関連づけられている、
xxx には何も関連づけられていない などのように。


596 名前: デフォルトの名無しさん 投稿日: 02/08/02 14:14
>>594
( ゚Д゚)ポカーン


597 名前: デフォルトの名無しさん 投稿日: 02/08/02 14:56
>>595
レジストリHKEY_CLASSES_ROOT内にあるかないか


598 名前: デフォルトの名無しさん 投稿日: 02/08/02 15:05
>>595
FindExecutable


599 名前: デフォルトの名無しさん 投稿日: 02/08/02 15:41
>>597,598
サンクス!
FindExecutable APIを使うのがスマートなやりかた
みたいですね。


600 名前: デフォルトの名無しさん 投稿日: 02/08/02 19:54
度忘れしてしまったので、ここでお聞きしたいのですが

str = 1,2,3,4
配列=関数(str , ",")

結果↓

配列1=1
配列2=2
配列3=3
配列4=4

となるような関数あった気がするんですが、どなたかおしえていただけないでしょうか?


601 名前: デフォルトの名無しさん 投稿日: 02/08/02 20:11
>>600
Split関数?その方法ならArray関数でもいいと思うが。



600げとおめ。


602 名前: デフォルトの名無しさん 投稿日: 02/08/02 20:24
>>601
はう
そうでした。
split関数でした。

ふむむ
いざ使いたいと思ってもこの関数は忘れてしまうと、メモってたファイルを検索することもできなかった。f(^_^)ぽりぽり

どうもありがとうございました。



603 名前: デフォルトの名無しさん 投稿日: 02/08/03 02:21
IEで現在表示中の内容をユーザーに1クリックで印刷させたくて
いろいろ検索した結果

<html>
<head>

<!-- ブラウザオブジェクトを宣言する -->
<OBJECT ID="thebrowser" WIDTH=0 HEIGHT=0
CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2">
</OBJECT>

<SCRIPT LANGUAGE="VBScript">
<!--
'--- 印刷ルーチン
On Error Resume Next
Sub EnlivenPrint
On Error Resume Next
thebrowser.ExecWB 6, 2
End sub
-->
</SCRIPT>
</head>

<body>
<FORM>
<INPUT TYPE="BUTTON" VALUE="印刷" ONCLICK="EnlivenPrint()">
</body>
</html>

の様な形で実現できそう(たしか動作報告もあった)なのですが、
.ExecWBの引数に関わらず印刷ダイアログが出てしまいます。


ttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/com/oen_a2z_5k38.asp

によれば、.ExecWBメソッドはolecmdexecoptの値として

OLECMDEXECOPT_DODEFAULT = 0,
OLECMDEXECOPT_PROMPTUSER = 1,
OLECMDEXECOPT_DONTPROMPTUSER = 2,
OLECMDEXECOPT_SHOWHELP = 3

を取れるようになっていて、実際VBでフォーム上のWebBrowserコントロールに対し

Private Sub Command1_Click
WebBrowser1.ExecWB 6, 2
(もしくは WebBrowser1.ExecWB olecmdid_print, olecmdexecopt_dontpromptuser )
End Sub

とすると印刷ダイアログを出さずに印刷を実行できます。

この.ExecWBメソッドの振る舞いの違いに頭を悩ませているのですが
何か解決方法はありますでしょうか?。




604 名前: デフォルトの名無しさん 投稿日: 02/08/03 02:24
((;゚Д゚)ガクガクブルブル


605 名前: デフォルトの名無しさん 投稿日: 02/08/03 02:33
>>603
   nn
   | |||        新型ブラクラ誕生のヨカーン
  (;゚Д゚)
  (●●ドキドキ
 ⊂| ))
  .∪∪


606 名前: デフォルトの名無しさん 投稿日: 02/08/03 02:54
グロ画像大量印刷on職場の予感



607 名前: デフォルトの名無しさん 投稿日: 02/08/03 04:14
>>606
(((((((( ;゚Д゚)))))))ガクガクブルブルガタガタブルガタガクガクガクガクガク


608 名前: 603 sage 投稿日: 02/08/03 04:26
覚悟はしてたけどブラクラされますよね、やっぱり。

やりたいことはスタンドアロンのPCとタッチパネル使って
WEBベースの情報端末を作りたい、と。
PCになれてないじっちゃん、ばっちゃんに印刷ダイアログ触らせたくない
だけなんだけどな。


609 名前: 603 投稿日: 02/08/03 04:28
>覚悟はしてたけどブラクラされますよね、やっぱり

ブラクラされてどうすんだよ(泣)。ブラクラ扱いを覚悟してたって事で。


610 名前: 教えてですみません 投稿日: 02/08/03 11:17
b1 = a Mod 2 'aを2で割った余り
c1 = Int(a / 2) 'aを2で割った整数値
b2 = c1 Mod 2 'aを2で割った整数値を更に2で割った余り
c2 = Int(c1 / 2) 'aを2で割った整数値を更に2で割った整数値
b3 = c2 Mod 2 '以下同様
c3 = Int(c2 / 2)
b4 = c3 Mod 2
c4 = Int(c3 / 2)
b5 = c4 Mod 2
c5 = Int(c4 / 2)
b6 = c5 Mod 2
c6 = Int(c5 / 2)
b7 = c6 Mod 2
c7 = Int(c6 / 2)
b8 = c7 Mod 2
c8 = Int(c7 / 2)

上記の処理をですね。。


611 名前: 教えてですみません 投稿日: 02/08/03 11:18
b1 = a Mod 2 'aを2で割った余り
c1 = Int(a / 2) 'aを2で割った整数値

For p = 1 To 7
b(p + 1) = c(p) Mod 2 'aを2で割った整数値を更に2で割った余り
c(p + 1) = Int(c(p) / 2) '以下同様

Next p

ってやってもうまくいかないんですが・・どこがおかしいんでしょう・・
VBは昨日から触り始めたすP−初心者なんですが・・


612 名前: デフォルトの名無しさん 投稿日: 02/08/03 12:45
>>611
c(0)に初期値を入れてないとか。。。
5000円、2000円を除いた金種計算あたりかな?


613 名前: 612 投稿日: 02/08/03 12:47
金種計算じゃないな。2進数へ変換とかか。
Int(c(p) / 2)は
(c(p) - b(p+1) ) \ 2でもいいな。


614 名前: 教えてですみません 投稿日: 02/08/03 13:12
ありがとうございます。
何とかうまくいきました〜!


615 名前: 教えて・・ 投稿日: 02/08/03 19:04
すいません、vb初心者です。教えてください。
VBからCで作ったDLLに、二次元配列を参照渡しで渡すことって可能ですか?
下のようにすると、違った数値が返ってきてしまうんです。

****VB側****
Declare Function SearchChar Lib "HOGEHOGE.dll" (ByRef lngTABLE As Long, _
ByVal lngREF As Long) As Long

Dim lngTABLE(10, 2) As Long
Dim i As Long
Dim lngREF As Long
lngREF = 4

For i = 0 To 9

lngTABLE(i, 0) = i
lngTABLE(i, 1) = 10

Next
MsgBox lngTABLE(lngREF, 1) '←10と表示される
MsgBox SearchChar(lngTABLE(0, 0), lngREF) '←違う数値が返ってくる

****DLL側****
HOGEHOGE_API int _stdcall SearchChar(int lngTABLE[][2],int intREF)
{
int i;

i = lngTABLE[intREF][1];

return i;

}

知っている方いたら教えてください。


616 名前: ListViewコントロールのソートについて 投稿日: 02/08/03 21:09
ListViewコントロールのソートについて質問があります。
コントロール付属の機能でソートはできるようになったのですが、
数値項目も文字列としてソートされてしまいます。
数値としてソートさせるにはどうしたらよいのでしょうか?

これをソートすると
20
100
5

以下のようにソートされてしまう
100
20
5

できれば以下のようにソートさせたい
5
20
100


617 名前: デフォルトの名無しさん 投稿日: 02/08/03 22:55
質問なんですが、
テキストボックスにAccessのデータを連結させて表示させ、
そのテキストボックスの値を書き換えた後、Updateさせずに、
データをMoveで動かすと、”操作はキャンセルされました”
とエラーが出てしまうのですが、
エラーが出ないようにするにはどうすればよいのでしょうか。



618 名前: デフォルトの名無しさん 投稿日: 02/08/03 23:37
>>617
On Error Resume Next


619 名前: デフォルトの名無しさん 投稿日: 02/08/03 23:52
>>616
たぶん、数値ではソートできんので、前0で埋めて桁を揃えた文字列の隠し列を
作ってそれでソートする。


620 名前: デフォルトの名無しさん 投稿日: 02/08/03 23:53
>>615
配列のインデックスの順番がたぶん違う。


621 名前: 603 投稿日: 02/08/04 01:22
とりあえず解決したです。
できてみればなんて事ない理由でしたが、プログラム経験とかなかったもんで。
とりあえずマイクロソフトのことはきらいになったけどな(笑)。

ブラクラ扱いされたことだし、ちょっといじくり廻したら(自分みたいな低能でも)
解決できる程度のことなんで、解決方法は書かないよ。


622 名前: ListViewコントロールのソートについて 投稿日: 02/08/04 01:44
>>619
なるほど・・・やはりそうですかー
エクスプローラとかはファイルサイズとかでソートしてるんで
できないかなぁと思ったんですが甘かったですね^^;

どうもありがとうございました〜。


623 名前: VB君 投稿日: 02/08/04 18:09
VBAの質問です。
本気で悩んでいるので出来れば助けてください。

FormAからFormAのサブフォーム(FormA_S)を呼びだしたいんだけど、
FormAにどうやったら「君のサブフォームはFormA_Sだよ」と
教えてあげられるのですか?

また、
変数 = CurrentDB()
でカレントDBを変数に入れてるんだけど、カレントDBは
どこできまっているのですか?




624 名前: デフォルトの名無しさん 投稿日: 02/08/04 18:10
>>623
スレ違い


625 名前: デフォルトの名無しさん 投稿日: 02/08/04 19:45
>>622
APIとか使えば出来る。調べるのがめんどくさいから検索してくれ。


626 名前: デフォルトの名無しさん 投稿日: 02/08/04 20:34
>>623
意味がわかりません。


627 名前: デフォルトの名無しさん 投稿日: 02/08/05 00:04
>>616
それ出来るコンポーネント、昔作りましたが、あげましょうか?

Delだけど


628 名前: デフォルトの名無しさん 投稿日: 02/08/05 11:28
>>627
616じゃないけどほしい。
VBで使えるコンポーネントですよね?delで開発した。

いままでフレキシブルデータグリッドコントロール使ってたけど、
format関数使うのもいいかとおもうけど


629 名前: デフォルトの名無しさん 投稿日: 02/08/05 11:42
>>628
それくらいどうして作れないの?
と言う皮肉かと。


630 名前: デフォルトの名無しさん 投稿日: 02/08/05 12:15
>>629
soudattanoka



631 名前: デフォルトの名無しさん 投稿日: 02/08/05 12:52
>>605
日の丸掲揚などが学校などで義務付けられた時、反対派の方が圧倒的に多かっ
たし、卒業式か何かを受けない人も多くいました。

アジアの国は、中東をみても解るように引きずってしまうものだと思います。
泥沼化しないためにも関係国が歩み寄らないといけないと思います。
個人だって先祖の恨みみたいなものありますし。。。

何が真実で何が嘘なのか完全にはわからない。
マスコミはまったく信用できないですしね。
韓国などが隔たった歴史教育を行ってるのも知ってますよ。
日本でも最近になって歴史を美化した教科書がでましたし。。。



632 名前: デフォルトの名無しさん 投稿日: 02/08/05 12:53
>>631
で、それと滅び行くVBとなんの関係が?


633 名前: デフォルトの名無しさん 投稿日: 02/08/05 13:19
コンボボックスを2D表示する術をご教授下さい。
Appearanceを0-フラットに設定しても3Dで表示されるのです。


634 名前: 鳩料理大好き 投稿日: 02/08/05 14:17
>>633
ドライブの準備ができているかどうかを調べるには、Drive オブジェクトの IsReady プロパティ


635 名前: 633 投稿日: 02/08/05 14:26
>>634
ええっ!?


636 名前: 鳩料理大好き 投稿日: 02/08/05 14:39
失礼
スレ間違えました。


637 名前: デフォルトの名無しさん 投稿日: 02/08/05 14:49
ワラタ


638 名前: デフォルトの名無しさん 投稿日: 02/08/05 15:55
>631へのレスなら更にナイスだったな


639 名前: デフォルトの名無しさん 投稿日: 02/08/05 16:01
>>635のリアクションの妙だな。


640 名前: デフォルトの名無しさん 投稿日: 02/08/05 16:04
>635が、「できました!!ありがとう!!」だったら更に(略


641 名前: 633 投稿日: 02/08/05 16:26
皆さん、そんなことで論議せず、>>633の質問をおながいしたいのですが…(w;


642 名前: デフォルトの名無しさん 投稿日: 02/08/05 16:28
owner draw


643 名前: デフォルトの名無しさん 投稿日: 02/08/05 16:29
マウスの消し方教えてください。
環境:Win2000
   VB 6.0
こんな感じです。


644 名前: デフォルトの名無しさん 投稿日: 02/08/05 16:30
マウスをはずす


645 名前: デフォルトの名無しさん 投稿日: 02/08/05 16:30
>>644
ありがとう


646 名前: デフォルトの名無しさん 投稿日: 02/08/05 16:32
マターリしててイイ板だね。


647 名前: 633 投稿日: 02/08/05 16:41
>>642
ありがとう。グラフィックかー。
よく分からないけど、研究してみます。


648 名前: デフォルトの名無しさん 投稿日: 02/08/05 16:55
>643
Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
入れて
Do Until ShowCursor(False) < 0
Loop
>644のOSはWin3.2?


649 名前: デフォルトの名無しさん 投稿日: 02/08/05 17:53
>>643-645
ワラタ


650 名前: デフォルトの名無しさん 投稿日: 02/08/06 09:24
>>644
まずパソコン本体の後ろに刺さってると思うので抜いてください。
そして強酸の中にほおりこんでみてください。
マウスが消えます。


651 名前: デフォルトの名無しさん 投稿日: 02/08/06 09:26
>>650
それはつまんない


652 名前: デフォルトの名無しさん 投稿日: 02/08/06 09:39
猫を飼えばいいんじゃないでしょうか


653 名前: デフォルトの名無しさん 投稿日: 02/08/06 09:48
>>652
まじめな顔と古典的のギャップがすばらしい。


654 名前: デフォルトの名無しさん 投稿日: 02/08/06 10:10
>652
ですよね。


655 名前: デフォルトの名無しさん 投稿日: 02/08/06 10:25
>>643
つまんねーネタが続いてるのでマジレスすると、
何も描いてないアイコンを用意して、それをマウスポインタに
割り当てるのが一番手っ取り早くて安全。
API使わなくていいし。


656 名前: デフォルトの名無しさん 投稿日: 02/08/06 12:06
確かに一番手っ取り早くマウスポインタは見えなくなるけど
クリックとかは出来ちゃうよね?それでいいのかどうか。
何にせよ>>643の聞き方は稚拙。遊ばれてもしょうがない。


657 名前: デフォルトの名無しさん 投稿日: 02/08/06 13:12
強酸にほりこめば、何でも溶けると思っている>>650
むしろおめでたい


658 名前: デフォルトの名無しさん 投稿日: 02/08/06 13:37
溶鉱炉の中に放り込めば溶けるよ。>>マウス


659 名前: デフォルトの名無しさん 投稿日: 02/08/06 13:42
もうそれ関係のネタ、つまんないからやめていいよ マジで。


660 名前: デフォルトの名無しさん 投稿日: 02/08/06 14:58
Accessなんですが、ADOのエラーなのでこちらに投稿させて下さい。
家で作った、Accessのフォームを会社で開こうとするとエラーが出て開けないのです。
家では問題無く開けるのですが。

ADOで接続していて、Connection.Openの時に、
「プロバイダが見つかりません。正しくインストールされていない可能性があります」
というエラーが出ています。
環境はAccess97を完全インストールでインストールし、
Microsoft ActiveX Data Objects 2.0 Libraryを参照設定に入れてます。

おわかりの方、おながいします。


661 名前: デフォルトの名無しさん 投稿日: 02/08/06 15:37
>>660
Provider=Microsoft.Jet.OLEDB.4.0 -> 3.51


662 名前: デフォルトの名無しさん 投稿日: 02/08/06 15:41
>>661サン
激しく3.51にしています。
Provider=Microsoft.Jet.OLEDB.3.51;


663 名前: デフォルトの名無しさん 投稿日: 02/08/06 15:44
>>662
んじゃ 4.0 だとどうなんの?


664 名前: デフォルトの名無しさん 投稿日: 02/08/06 15:49
>>660-663
マジレスすると、
日本国内では韓国の通貨ウォンの両替、再換金が出来る場所はほとんどありません。



665 名前: デフォルトの名無しさん 投稿日: 02/08/06 15:52
>>664
ありがとう


666 名前: デフォルトの名無しさん 投稿日: 02/08/06 15:53
>>664
不便なんですね。


667 名前: デフォルトの名無しさん 投稿日: 02/08/06 15:54
>>664
でもそうすると、牛乳を麦茶で割るとコーヒーになるぞ!


668 名前: 達人 投稿日: 02/08/06 15:58
>>667
いや正しい麦茶の作り方はこうだ。

1..まず水出しは絶対止めろ、お湯だしが基本だ
2.水も出来れば市販の天然水を使え
3.水道水を使う場合はよく沸騰させカルキを飛ばしておく事
4.その際ヤカンの蓋は取っておかないとカルキは飛ばないので注意しろ
5.水の量も多すぎては当然薄くなるのでキチンとチェックしろ
6.濃くしたいからと言ってパックを長時間いれておくと苦味が強くなるぞ
7.煮出す時間は量や自分の好みもあるのでここは馴れしかない、何回も試すことが重要だ

 これだけでもかなり味が変わってくるが、更に美味い麦茶を求めるんだったら麦自体にも
 こだわるといいぞ、ただこの時は高いのを選ぶと言うわけではなく安くても自分の口に合う
 ものを探すのが重要だ

以上、単純なように見える麦茶道も実はかなり深いぞ


669 名前: デフォルトの名無しさん 投稿日: 02/08/06 15:59
>>663
4.0だと通りました。
なんだ、これ。
スレ汚し申し訳ないっす。
>>664
ほほう、興味深い。



670 名前: デフォルトの名無しさん 投稿日: 02/08/06 19:48
Visual Basic 6.0について質問したいんですが、
下記のプログラム(変なコードですが試行錯誤の途中なんです)を実行して
コマンド1をクリックしたところ、テキストボックスには
「1900/01/07 19:27:52」
と出てきました。ほかに「qq」を使っているところもなく、
プログラム自体を下記だけにして実行しても同じ結果になりました。
osはwin2000、SPは当てていません。
よろしければ原因をお教え願えないでしょうか。

Private Sub Command1_Click()
Dim qq As String
qq = Len(Time)
Text1.Text = Time + Str(qq)
End Sub



671 名前: デフォルトの名無しさん 投稿日: 02/08/06 19:52
>>670
なにをしたいん?


672 名前: デフォルトの名無しさん 投稿日: 02/08/06 20:17
>>670
何故Date型にDate型のサイズをを追加しとるのだ?
わけ分からん。


673 名前: デフォルトの名無しさん 投稿日: 02/08/06 20:19
>>672
ぎゃくあせんぶる


674 名前: デフォルトの名無しさん 投稿日: 02/08/06 20:25
>>671
今回は目的とかなくて、色々やってみただけなんです。
ファイルの保存とか一からやりなおそうと思いまして。
で、今の時間の文字数を文字列として付け加えて、とか
気が向くままに作ってみたらこうなったんです。

それで見たこともない動作をされたので質問に来た、
というわけです。
なんか全体的にわかりにくくてごめんなさい。


675 名前: デフォルトの名無しさん 投稿日: 02/08/06 20:30
>>670のを一部変更
Text1.Text = Time + 1
でコマンド1をクリック→テキストに「1899年12月31日」と表示された。
謎。


676 名前: デフォルトの名無しさん 投稿日: 02/08/06 20:31
文字列追加は&だろ


677 名前: デフォルトの名無しさん 投稿日: 02/08/06 20:33
>>670
Timeの戻り値の型のことをよく調べるんだな。


678 名前: デフォルトの名無しさん 投稿日: 02/08/06 20:36
         ∧_∧       / ̄ ̄ ̄ ̄ ̄
        (  ´Д`)   <  VB 命!
      /      \    \_____
     /ノl     ,ヘ \
   ⊂/ |     \ \⊃
       |  /⌒> _)
        | .|  く_っ
  __.  | |
  \   ̄⊂ノ ̄ ̄ ̄ ̄ \
  ||\             \
  ||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄
  ||  || ̄ ̄ ̄ ̄ ̄ ̄ ̄||
     .||              ||




679 名前: デフォルトの名無しさん 投稿日: 02/08/06 20:37
            ∫    _____
   ∧,,∧    ∬   /
   ミ,,゚Д゚彡っc□  <  ま、ヘルプ見ろや。
_と~,,  ~,,,ノ_.      \
    ミ,,,,/~), │ ━┳━   ̄ ̄ ̄ ̄ ̄
 ̄ ̄ ̄ .じ'J ̄ ̄| ┃
 ̄ ̄ ̄ ̄ ̄ ̄ ̄  ┻


680 名前: 670 投稿日: 02/08/06 20:45
>>671-679
「&」と「+」間違えてました。まじですんません。
勘違い(゜Δ゜:)コワー
逝ってきます…


681 名前: デフォルトの名無しさん 投稿日: 02/08/06 21:14
>>680
何でそういう結果が出てくるかは調べたのか?
調べれば謎でもなんでもない事がわかるはずだ。
てかデータ型ぐらい理解してからプログラム作りなよ。まじで。


682 名前: デフォルトの名無しさん 投稿日: 02/08/06 21:20
もしかして>>670のプログラムの変数は全部宣言無しのVariant?


683 名前: デフォルトの名無しさん 投稿日: 02/08/06 21:23
>>682
宣言してんじゃん。Variantじゃないじゃん。もしかして理由わからないの?


684 名前: デフォルトの名無しさん 投稿日: 02/08/06 21:26
アホか
全部Variantで何が悪い


685 名前: デフォルトの名無しさん 投稿日: 02/08/06 21:26
>>683
あ、宣言してたね。見落としてた


686 名前: デフォルトの名無しさん 投稿日: 02/08/06 21:35
>>684
型無いとクラス型のオブジェクト指向が死ぬほどややこしくなるぞ。 by PHPユーザ


687 名前: デフォルトの名無しさん 投稿日: 02/08/06 21:41
アホか
Variantを自在に使いこなしてこそ真のVB使い。PHPなんかと一緒にするな


688 名前: デフォルトの名無しさん 投稿日: 02/08/06 21:44
>>687
まぁ、同意。
どんどん他の言語への敷居が高くなっていくな。


689 名前: デフォルトの名無しさん 投稿日: 02/08/06 21:45
>>686
PHP使いが型がどうこうなんて語るなや.


690 名前: デフォルトの名無しさん 投稿日: 02/08/06 21:47
>>689
訂正。

型無いとクラス型のオブジェクト指向が死ぬほどややこしくなるぞ。 by CとC++とC#とDelphiとJavaとPerlとPHPのユーザ



691 名前: デフォルトの名無しさん 投稿日: 02/08/06 21:50
>>687
一応同意。だが
Variant型ばかり使うのは使いこなしているとはいっえなーい。


692 名前: デフォルトの名無しさん 投稿日: 02/08/06 21:51
>>687
概ね同意。>>684はどうかと思うが


693 名前: 689 投稿日: 02/08/06 21:53
>>690
なるほど、そういうことか. 理解した.


694 名前: デフォルトの名無しさん 投稿日: 02/08/06 22:20
アホか
全部Variantで何が悪い
アホか
全部Variantで何が悪い
アホか
全部Variantで何が悪い
アホか
全部Variantで何が悪い
アホか
全部Variantで何が悪い


695 名前: デフォルトの名無しさん 投稿日: 02/08/06 23:04
>>690
VBは仲間だ by COBOLer


696 名前: デフォルトの名無しさん 投稿日: 02/08/06 23:17
686=690はあほです。
PHPの変数はVariant型そのものじゃねーか。




697 名前: デフォルトの名無しさん 投稿日: 02/08/07 01:33
初歩的なことなんだけど、

Sub aaa( prm1 As Long )
End Sub

Sub bbb( prm1 As Long , prm2 As Long )
End Sub

aaa (1)
aaa 1

bbb( 1,1) 'これだけが構文エラーになる、なんで???
bbb 1, 1



698 名前: デフォルトの名無しさん 投稿日: 02/08/07 01:42
call


699 名前: デフォルトの名無しさん 投稿日: 02/08/07 01:47
解説

プロシージャを呼び出すとき、キーワード Call は省略できます。
キーワード Call を使って、引数が必要なプロシージャを呼び出す場合は、
引数リスト (引数 argumentlist) をかっこで囲む必要があります。
キーワード Call を省略するときは、引数リストを囲むかっこも省略しなければなりません。
Call 構文で組み込み関数またはユーザー定義型関数を呼び出す場合、
その関数の戻り値を取得することはできません。

配列全体を引数として渡す場合は、配列名の後ろに空のかっこを付けてください。



700 名前: デフォルトの名無しさん 投稿日: 02/08/07 01:54
つまりヘルプ読めと。


701 名前: 697 投稿日: 02/08/07 01:59
ありがと!
ん〜、理解は出来たけど・・・
すっきりしない!
早くVBの仕事終らしたい。



702 名前: デフォルトの名無しさん 投稿日: 02/08/07 03:13
正規表現扱えるのないすか?



703 名前: デフォルトの名無しさん 投稿日: 02/08/07 03:19
>>702
VBSのRegExpを無理やり使う。


704 名前: デフォルトの名無しさん 投稿日: 02/08/07 06:42
formに図形処理をあつかったプログラムを作るとき
処理毎にclsとかやってるんだけど
ちかちかしちゃって困ります。
どうしたらいいでふか?


705 名前: デフォルトの名無しさん 投稿日: 02/08/07 07:58
>>704
out &h31,0
これでVRAM表示が消えてグラフィックのアクセスが高速になるので、
この間にcls
で、消したところで、
out &h31,8
でVRAM表示の復活。



706 名前: デフォルトの名無しさん 投稿日: 02/08/07 10:04
初心者で申し訳ありません。
どうかご教授願います。
VBのリッチテキストBoxでマウスの右メニュー
(元に戻す、切り取り、コピー、貼り付け・・)
は出せないのでしょうか。
テキストBoxは可能なのですが・・。
どうかよろしくお願いします。



707 名前: デフォルトの名無しさん 投稿日: 02/08/07 10:12
>>704
ダブルバッファリング


708 名前: デフォルトの名無しさん 投稿日: 02/08/07 10:16
>>706
喜怒哀楽の様々な感情で、大声で Ahhhhh!




709 名前: デフォルトの名無しさん 投稿日: 02/08/07 10:35
>>706
同じVB使いとして情けないよ。MSDN読めヴァカ。


710 名前: デフォルトの名無しさん 投稿日: 02/08/07 10:49
>>29無理ですか?
可能でしたらご教授願います。


711 名前: 投稿日: 02/08/07 15:38
今はテキストボックスに文字を書いてコマンドボタンを押して実行って感じに
してるんだけどそれだと何かと不便でして
テキストボックスに文字を書いてEnterを押すと実行するようにしたいんだけど
どの関数使えばいいの?



712 名前: デフォルトの名無しさん 投稿日: 02/08/07 15:48
VB6のディストリビューションウィザードでパッケージ化されたものを
インストールしようとすると
「Path or File Not Found」って出て、OKを押すと
「セットアップするファイル'C:\××××\Package\\@○○○.exe'が見つかりません。」
って出て、インストールできないんですけどどうすれば良いですか?
OSはWinXPHomeです。
家にあるWin98のマシンではちゃんとインストールできました。



713 名前: デフォルトの名無しさん 投稿日: 02/08/07 15:52
>>712
日本だから。


714 名前: デフォルトの名無しさん 投稿日: 02/08/07 15:54
>>712
ユーザー名が全角日本語だから。
対策方法も真っ黒ソフトのKB調べれば出てるよ。


715 名前: デフォルトの名無しさん 投稿日: 02/08/07 15:54
>>711
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Select Case KeyCode
Case vbKeyReturn
'ここに処理を記述
End Select
End Sub
あとFormのプロパティKeyPreviewをTrueにするんだっけ?



716 名前: デフォルトの名無しさん 投稿日: 02/08/07 15:58
>>711
コマンドボタンのDefaultプロパティをTrueにするだけでOK。


717 名前: デフォルトの名無しさん 投稿日: 02/08/07 15:59
>>712
http://www.microsoft.com/japan/support/kb/articles/JP416/5/85.asp


718 名前: デフォルトの名無しさん 投稿日: 02/08/07 16:01
>>714
KBってなんですか。スミマセン



719 名前: デフォルトの名無しさん 投稿日: 02/08/07 16:04
>>718
knowledge base
それより>>717でそのものズバリの答えがもらえてるね まさにKBの。


720 名前: 712 投稿日: 02/08/07 16:06
>>713,714,717,719
ありがとうございます



721 名前: デフォルトの名無しさん 投稿日: 02/08/07 16:08
キロバイト


722 名前: デフォルトの名無しさん 投稿日: 02/08/07 17:13
テキストボックスでEnterを押すと、次のコントロールに
フォーカスを移したいのですが、以下の様にすると、
漢字変換の際の「決定のEnter」を取得してしまって困ってます。
どうにかならんでしょうか。

Private Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer)

If KeyCode = vbKeyReturn Then SendKeys "{Tab}"

End Sub


723 名前: デフォルトの名無しさん 投稿日: 02/08/07 17:19
>>722
それ以前に、SendKeysでTAB移動すると
Win9x系ではしょっちゅうハングるからやめたほうがいい
keybd_event API使うのが吉。


724 名前: デフォルトの名無しさん 投稿日: 02/08/07 17:24
>>722 KeyUpでなくKeyDownに記述


725 名前: デフォルトの名無しさん 投稿日: 02/08/07 17:24
If FN_NumST > 0 Then
'既にナンバリングしたファイルがある場合
FN_NumEND = InStrRev(str_List(cnt), ")", -1, vbBinaryCompare)
FN_Num = CInt(Mid(str_List(cnt), FN_NumST + 1, (FN_NumEND - 1) - FN_NumST)) + 1
FSO.CopyFile FN_Path & str_List(cnt), FN_Path & Mid(str_List(cnt), 1, FN_NumST) & FN_Num & ").xls"
FSO.DeleteFile FN_Path & str_List(cnt)
str_List(cnt) = Mid(str_List(cnt), 1, FN_NumST) & FN_Num & ").xls"
Else
'初めてナンバリングファイルを作る場合
FSO.CopyFile FN_Path & str_List(cnt), FN_Path & Left(str_List(cnt), Len(str_List(cnt)) - 4) & "(2).xls"
FSO.DeleteFile FN_Path & str_List(cnt)
str_List(cnt) = Left(str_List(cnt), Len(str_List(cnt)) - 4) & "(2).xls"
End If



726 名前: デフォルトの名無しさん 投稿日: 02/08/07 17:31
>>725
「この会社辞めようと思ったソースコード」はこちら
http://pc.2ch.net/test/read.cgi/prog/1021560641/l50


727 名前: とにかくガンバ 投稿日: 02/08/07 17:38
>>725
これで何すんの?


728 名前: 722 投稿日: 02/08/07 17:40
>>723
ども。SendKeyではどうして98はハングするのでしょうか。
APIって使ったことないですが、これを期に勉強してみます。
>>724
できますた。ありがとうございます!
こんな事でハマってたのが馬鹿みたいです…。トホホ。


729 名前: デフォルトの名無しさん 投稿日: 02/08/07 17:48
>>728
どうしてと言われたら、SendKeysのバグ、としか言いようがない
知らないとはまるので要注意だよ


730 名前: ◆q8rtQUwY 投稿日: 02/08/07 17:49



731 名前: デフォルトの名無しさん 投稿日: 02/08/07 18:04
つーかその理由なら次にフォーカスを移したいコントロールにSetFocusすりゃいいじゃん。


732 名前: デフォルトの名無しさん 投稿日: 02/08/07 18:05
>>731
実戦経験が低い奴のセリフだな。


733 名前: デフォルトの名無しさん 投稿日: 02/08/07 18:14
そうか?別に悪くないだろ。
いや、それ以前にそんなインターフェースはWindowsで動くソフトとして間違ってると思うけどな。
間違っててもクライアントからそうしろって言われてるんだからしょうがないだろってか。


734 名前: デフォルトの名無しさん 投稿日: 02/08/07 20:03
>>731
そのコントロールが配列で、IndexとTabIndexがきれいに揃ってる時には有効だけど
そうでない場合にはかなーり面倒なことになると思われる。
>>732
理由を書こうよ。
>>733
その認識はおかしいと思う。ユーザーの操作性が良くなるんだから間違っちゃいないでしょ。
Enter押下時や文字数がある数に達した時フォーカスを移すのは基幹系ではよく行なわれている。
セットアップ時のシリアルNo入力とかもそうなってるよね。


735 名前: デフォルトの名無しさん 投稿日: 02/08/07 20:21
SetFocusで移動するとValidateイベントが発生しない。


736 名前: デフォルトの名無しさん 投稿日: 02/08/07 20:37
>>734
いやエンターでフォーカス移動はおかしいだろ。
俺も仕方なくすることあるけど、気持ち悪い。
普通tabキーでするもんだ。


737 名前: デフォルトの名無しさん 投稿日: 02/08/07 21:06
>>736
確かにWindows標準ではない。でもまるっきり否定するのはおかしい。
例えば金額を次々に入力するプログラムで、Enterでフォーカス移動すれば
片手で入力できる。理にかなってると思わない?
どちらが優れていて多くの人に支持されるか、一目瞭然だと思うけど。


738 名前: デフォルトの名無しさん 投稿日: 02/08/07 21:06
>>731
それだとコントロールのフォーカスの移動する順番までコードで
管理しないといけなくなるから大変さ。

>>736
>いやエンターでフォーカス移動はおかしいだろ。
おかしいおかしくないの問題とは別かと。

例えば、
携帯電話の数字ボタンの配置逆順にしますとか
言われたら不便でかなわんな。NTTがそれが標準だといいきったらどうするで。
J-Phoneがうちは従いません。従来どおりでいきますと。

そういうことさ。
慣れりゃ、数字ボタンが逆順だろうが誰も問題ないが、慣れるまでが大変だ。
慣れさせるのがいいか、機械を合わせるのがいいか、
どっちがいいの悪いのという問題とは違う。


739 名前: デフォルトの名無しさん 投稿日: 02/08/07 21:35
>>735 なるほど。心に留めておきます。


740 名前: へろっぴゅ 投稿日: 02/08/07 21:43
Labelにメールアドレスを書いたのですが
このメールアドレスの部分をクリックするとウェブ上のアドレスを
クリックした時みたいにメッセージの作成などができるように
するにはどうすればよいのでしょうか?


741 名前: デフォルトの名無しさん 投稿日: 02/08/07 21:55
formにラベルとかのコントロールを動的に貼り付けてるんだけど、
????_clink()
とかのメソッドはどういうふうに、動的に実装したらいんだべか?



742 名前: デフォルトの名無しさん 投稿日: 02/08/07 22:00
>>741
WithEvents


743 名前: デフォルトの名無しさん 投稿日: 02/08/07 22:04
正直TABでフォーカス移動は直感的じゃない。
始めてWindowsを触ったときTABでフォーカス移動するのを素直に納得できたか?
TABを入力できるコントロールでフォーカス移動するときめんどいし。

俺的には、テンキーやカーソルの所にフォーカス移動キーがほしい。
つーか、tab shift-tabと同じ働きのキーをつけるだけなんだから
マルチメディアキーなんかつけずにフォーカス移動キーをつけてくれ。


744 名前: デフォルトの名無しさん 投稿日: 02/08/07 22:07
>>740
超、適当だけど
Option Explicit
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long


Private Sub Command1_Click()

Call ShellExecute(Me.hwnd, "open", "mailto:xxx@yyy.ne.jp", "", "", 1)

End Sub



745 名前: デフォルトの名無しさん 投稿日: 02/08/07 22:16
そりゃ確かにとっつきにくいかもしれんよ、Tabは。

でもWindowsはインターフェースを統一化させ、
初めて触れるアプリでも直感的操作ができる事を目指したOSでしょ?
だからインターフェースガイドラインなんてのもあるわけで。

Tabキーでフォーカス移動ってのは当たり前。
エンターキーで移動は確かに使いやすいかもしれないけど、当たり前ではない。
他のアプリと統一化させる事は重要だと思うよ。


746 名前: デフォルトの名無しさん 投稿日: 02/08/07 22:41
レベル低くなったなぁ


747 名前: じゃ、俺は対抗して。 投稿日: 02/08/07 22:50
レベル高くなったなぁ


748 名前: デフォルトの名無しさん 投稿日: 02/08/07 22:52
>>745
使いにくいのを当たり前と思うのは良くないよ。
UI操作を統一させるのは同意。
ただフォーカス移動としてtabを使用したのは間違いに近いと思う。
とはいってもEnterを含め他に使えるキーがないのも事実。
だからキーボードに新たにキーを追加するのがいいと思うのだが。
これはUI操作を統一させることの障害にはならないだろう。



749 名前: デフォルトの名無しさん 投稿日: 02/08/07 23:07
点Aと点Bの角度を求める時とかってどうしてます?
僕は
If (bx - ax)> 0 Then siita = Atn((by - ay) / (bx - ax))
If (bx - ax)< 0 Then siita = Atn((by - ay) / (bx - ax)) + 3.14159
とかやってるんですが
ほかに効率のいい方法知りませんか?



750 名前: デフォルトの名無しさん 投稿日: 02/08/07 23:13
あ〜くたんじぇんと


751 名前: 741 投稿日: 02/08/07 23:23
Obj.Controls.Addでコントロールオブジェクトフォームに貼り付けた時の
表示の優先順位はどやって設定したらいいでしょう?

>>742
まさに「それ!」
ありがとうぉぅ〜



752 名前: デフォルトの名無しさん 投稿日: 02/08/07 23:26
>>751
自分で研究しようよ。一番奥にもってきたい順で表示。

ところでなに作るの?掟破り?


753 名前: デフォルトの名無しさん 投稿日: 02/08/07 23:27
>>750
atnって書いてあるじゃん


754 名前: デフォルトの名無しさん 投稿日: 02/08/07 23:30
>>749
siita = Atn((by - ay) / (bx - ax))
If (bx - ax)< 0 Then siita = siita + 3.14159



755 名前: デフォルトの名無しさん 投稿日: 02/08/07 23:49
picture1に描かれている物をpicture2にそのままコピーするにはどうすればいいですか?
厨房ですいません。


756 名前: デフォルトの名無しさん 投稿日: 02/08/07 23:52
>>755
まずはヘルプ読む!

次!


757 名前: 755 投稿日: 02/08/07 23:57
>>756
ソフトそのものがコピーだからヘルプはありません


758 名前: 741 投稿日: 02/08/07 23:57
>>752
>自分で研究しようよ。一番奥にもってきたい順で表示。
コントロールオブジェクトを、追加、削除を繰り返すので、
順番では対応できないんですよ。
自分なりに調べてはいるんですが、今のとこ解決方法が見つからず、
質問させてもらったんすけど、どうでしょう?

>ところでなに作るの?掟破り?
B2B向けの情報管理ツールですけど。



759 名前: デフォルトの名無しさん 投稿日: 02/08/07 23:58
>>745
>他のアプリと統一化させる事は重要だと思うよ。

ある意味、そのせいでEnterキーでフォーカス移動しなくちゃならなくなる罠。
#そういう要求がでるところは、他アプリも全部Enterキー操作だから。

おれは、なるべくTabキーを薦めはするが、
最終的に客の要望にあうように作る。
コストとWindows標準でないことと操作性との天秤で客が決めることだしな。



760 名前: デフォルトの名無しさん 投稿日: 02/08/07 23:59
>>757
ネタはいらん。


761 名前: デフォルトの名無しさん 投稿日: 02/08/08 00:01
>>758
先に言え。情報小出しはよろしくない。


762 名前: デフォルトの名無しさん 投稿日: 02/08/08 00:03
>>759
> コストとWindows標準でないことと操作性との天秤で客が決めることだしな。
同意。だがWindows標準でないことのコストを知らないというか無関心な奴が多すぎ。
0からユーザインタフェース作るよりWindows標準ユーザインタフェースを
踏まえて(Windowsを使う以上逃れられん)作るほうがコスト高いんだぞ。
Windows標準ユーザインタフェースを熟知せにゃならんし。


763 名前: デフォルトの名無しさん 投稿日: 02/08/08 00:04
Webでフォームを埋める時だってtabじゃん。
この2chの書き込みでも、名前メール本文とtabで移るぜ。
enterではない。
enterでフォーカス移動するブラウザってあるのかな?

やっぱり標準はtabでenterはイレギュラーだろ。
でも>>759の言うように、仕事で作るんであれば客の要望は絶対だから、
そんな我が儘通せないけどな。


764 名前: 755 投稿日: 02/08/08 00:09
>>760
そんなこといわずおしえてくらはい


765 名前: デフォルトの名無しさん 投稿日: 02/08/08 00:11
>>764
うるさい


766 名前: デフォルトの名無しさん 投稿日: 02/08/08 00:13
>>763
イレギュラーなのは承知のこと。
そのイレギュラーなことの問題点、解決策を考えるのは
イレギュラーで終わらすより、よっぽど意味がある。


767 名前: デフォルトの名無しさん 投稿日: 02/08/08 00:31
ENTERはコボラーにとって神聖なキーでございまふ


768 名前: デフォルトの名無しさん 投稿日: 02/08/08 01:42
>>763
Webなんてほんとの最近じゃん。
Win上での話しならそりゃ汎用アプリだから当たり前だと思うが。
UNIXユーザならTabキーとCtrlキー入れ替えてる罠。

そんなことより、Enterでデフォルトボタンが働いてポストされたり、
Escでキャンセルが働いてリセットされるのが最悪だぞ。



769 名前: デフォルトの名無しさん 投稿日: 02/08/08 04:05
VectorにそんなDLLがあった気がするな>Enterでフォーカス移動
基本的には勧めないし、客にも説明するけど、他との兼ね合い等で
問題なければ一応実現はさせるけどな。


770 名前: デフォルトの名無しさん 投稿日: 02/08/08 06:53
>769
わざわざDLLなんて使わなくても、簡単に書けるのに。


771 名前: デフォルトの名無しさん 投稿日: 02/08/08 07:27
>>768
別にWebに限定したわけでなく、例の一つとしてあげただけだろう。


772 名前: デフォルトの名無しさん 投稿日: 02/08/08 09:22
VBユーザの人に質問なんすけど、VBでbtreeのようなデータ構造を
書く時ってどうやってるの?


773 名前: 734=737 投稿日: 02/08/08 09:39
VBでプログラム作れば意識して作りこまなくてもTabでフォーカス移動になる。
それはそれでWindows標準ということでよろしい。
インターフェースの統一は守られてるじゃん。なにを言ってんだか。
で、その他に操作性を考慮してEnterでフォーカス移動の機能をつける。
そうすればユーザーはTabでもEnterでも好きな方を使える。それの何が悪いのか。
ブラウザは例の一つとしてあげただけと言うがEnterでフォーカス移動も例の一つじゃん。
ブラウザはEnterでリンク先に飛ぶ。あるプログラムはEnterで次のテキストボックスに飛ぶ。
それぞれ使いやすいようにそうしてるわけでしょ。
何も全てのプログラムにEnterでフォーカス移動の機能をつけろと言ってるわけじゃない。


774 名前: デフォルトの名無しさん 投稿日: 02/08/08 09:58
テキストボックスの入力欄が複数あり、
下の方にOKボタンとキャンセルボタンがある場合、
エンターはデフォルトボタンに設定されてるOKボタンを押すのと同じ動きをするのが
標準ではないのかな。
Wordの設定画面もVisual Basicの設定画面も、
テキストボックスにフォーカスがある状態でエンター押せば、
OKボタンを押したのと同じで確定されダイアログが閉じる。
それ標準。

そうやってユーザーが覚えてるのに、
テキストボックスでエンター押したら確定されずに
次のテキストボックスへフォーカスが移ったってのは、
標準から外れたインターフェースになっちゃわないか?
タブで移動ができればいいだけでなく、エンターの動きだって考慮しないとだめだろう。


775 名前: デフォルトの名無しさん 投稿日: 02/08/08 10:39
>>774
しかも逆パターンも発生するしな。
enterでフォーカス移動を覚えたユーザーが、
Windows標準であるインターフェースに触ったとき、
フォーカス移動しようと思ってテキストボックスでenter押したら、
OKボタンが押されちゃった〜とか。
>>773はそこらへんの考え方が欠落してる。


776 名前: デフォルトの名無しさん 投稿日: 02/08/08 11:08
>>772
クラス使え。


777 名前: デフォルトの名無しさん 投稿日: 02/08/08 11:23
type treenode
 parent as long
 left as long
 right as long
 value as variant
end type



778 名前: デフォルトの名無しさん 投稿日: 02/08/08 11:24
>>774
ダイアログではenterを押せばOKボタンを押したことになるがダイアログ以外ではどうかな?
AccessアプリもExcelもenterでフォーカス移動する。

>>775
それはたいして問題にならない。enterでフォーカス移動を要求する所は
大抵そのアプリ専用としてPCを使う。Windowsなどと意識しないで。
ゲームでもtabでフォーカス移動を使用しないのは普通だしな。

ただゲームとは違い通常のGUIコントロールを使用するので
Windows標準と矛盾しないように考慮しなければいけないがな。


779 名前: デフォルトの名無しさん 投稿日: 02/08/08 11:41
>>774
言ってることはもっともだ。でもそれだとまずい、そうじゃない方がいいってものもある。
例えば全項目入力必須のプログラムなら全項目埋まった時に初めてデフォルトTrueにした方がいいだろう。
でもそれで終わるのではなく、入力がされてないテキストボックスがあればEnterで自動的にそこに飛ぶようにすれば
操作性は格段に向上するとは思わない?
それとユーザーの大多数はWindowsの標準操作なんてものは知らないし興味も持って無い。
Ctrl+SやメッセージボックスをEnterで閉じれる事を知らないユーザーが多数いるのを知ってる?
確かに初めて使う時は標準操作のほうがとっつきやすい。標準操作を知ってた場合に限ってだけど。
でも良く使うソフトは操作なんてすぐ覚える。その時標準操作のみって事が効率の足かせになる事はないかな。
標準を考慮する事は大切。だけどそれが絶対、それしか許さないと考えるのはどうだろうか。
世間一般に出すソフトは標準入力の方がいいと思うけど、限られた所で頻繁に使われるものは
標準以外の操作も考慮するのもいいと思う。
俺は基本的には標準以外の操作はつけないけどね。ユーザーに標準操作を覚えて欲しいし、めんどくさいし。
でも操作性を考慮したものを触ると、親切だな、使いやすいな、って思うよ。
それと聞きたいんだが、自分個人で使うものも標準操作絶対で作るの? 長文スマソ>ALL


780 名前: デフォルトの名無しさん 投稿日: 02/08/08 11:59
アフォばっかだな
余計な機能の実現に苦悩する >>722 もそれを肯定する連中モナー


781 名前: デフォルトの名無しさん 投稿日: 02/08/08 12:37
>>780は自分で考える事ができない、言われた事しかできないアフォなんだろうな・・・


782 名前: デフォルトの名無しさん 投稿日: 02/08/08 12:40
どう見ても>>780が一番アフォ。


783 名前: デフォルトの名無しさん 投稿日: 02/08/08 12:50
苦悩するから成長する。>>780は人に教えてもらうまで成長しないんだろうな。


784 名前: デフォルトの名無しさん 投稿日: 02/08/08 12:50
どうみてもアフォなのに放置できないアフォ(俺含


785 名前: デフォルトの名無しさん 投稿日: 02/08/08 13:02
VBでおかしいなとおおもったことに、

sub command1_click()
command1.enabled = false
いろんな処理
command1.enabled = ture
end sub

とやっても実際、ボタンコントロールが使える状態に戻ってないことがあるんですが私だけかな?
こんなときはcommand1.enabled = tureを連続で2行書くとうまくいくんですが。
doeventsをはさんでみてもなおったりなおらなかったりする。

sub command1_click()
command1.enabled = false
いろんな処理
command1.enabled = ture
command1.enabled = ture
end sub


786 名前: デフォルトの名無しさん 投稿日: 02/08/08 13:06
>>785
キミ、tureって何よ?


787 名前: デフォルトの名無しさん 投稿日: 02/08/08 13:14
ワラタ


788 名前: デフォルトの名無しさん 投稿日: 02/08/08 13:19
オモロw

つーか=入力した時点で候補がでるだろ。


789 名前: デフォルトの名無しさん 投稿日: 02/08/08 13:20
ツレーんだろ、色々と。


790 名前: デフォルトの名無しさん 投稿日: 02/08/08 13:20
(゚∀゚)テュァ!!


791 名前: デフォルトの名無しさん 投稿日: 02/08/08 13:39
釣られ


792 名前: 785 投稿日: 02/08/08 14:15
ture = 釣れ
ですよ。












タイプ早いからtrueがtureになっただけだよ。
あとはぜんぶこぴぺ。
みんなそんなにかんたんにつられないでください


793 名前: デフォルトの名無しさん 投稿日: 02/08/08 14:53
うわっ
寒っ



794 名前: デフォルトの名無しさん 投稿日: 02/08/08 15:28
負け惜しみにしても寒いな。

はい次の方ー


795 名前: デフォルトの名無しさん 投稿日: 02/08/08 15:45
知らないの?
VB2まではtureで通るよ





これくらい言っとけ>792


796 名前: デフォルトの名無しさん 投稿日: 02/08/08 15:48
>>794 同意。しかも>>791の二番煎じ。もうちょっと面白いこと言えよ>>792


797 名前: 758 投稿日: 02/08/08 15:49
一昨日から、Controls.Addで動的貼り付けで、
表示の優先順位を変更する方法探してるんだけど
ん〜、もうダメポ。
そもそも、そんな事出来ない?
ヒントでもいんで、情報あったらよろしくぅ



798 名前: デフォルトの名無しさん 投稿日: 02/08/08 15:53
>>797
表示の優先順位がなんのことかよく分からんがZOrderメソッドじゃだめか?


799 名前: 785 投稿日: 02/08/08 16:14
ていうかあげ足取りどもうっさいんだよ


800 名前: デフォルトの名無しさん 投稿日: 02/08/08 16:16
わかったからもう帰って良いよ。
心配しなくても5分後にはみんな忘れてるんだから。


801 名前: 785 投稿日: 02/08/08 16:31
>>800
おいそろそろママのおっぱいの時間だぞ?
ため口はいてないで、早く学校かえれや


802 名前: デフォルトの名無しさん 投稿日: 02/08/08 16:33
>>801
釣れた(w


803 名前: 785 投稿日: 02/08/08 16:39
>>802
>>>801
> 釣れた(w

ってへぼいやつだな?
しょんべたらしてびびってんじゃねーのか?
ってびびってんじゃねーぞ?こら


804 名前: デフォルトの名無しさん 投稿日: 02/08/08 16:47
>>803
釣れた釣れた(w



805 名前: 797 投稿日: 02/08/08 17:01
>>798
れすどうも。
オブジェクトがFormなら、それでOKなんだけど、
Labelとか、TextBoxとかだと、そのメソッドが無い
もれも、見っけたとき「おぉ、これは使えるか?!」と思ったけど、
だめやった。



806 名前: デフォルトの名無しさん 投稿日: 02/08/08 17:02
799-804
わかったから、大人しくしててくれ、な。



807 名前: 785 投稿日: 02/08/08 17:19
>>806

なに上からものいってんだよ?
ないてあやまれや!

手震わしながらキーボードうってんじゃねーのか?


808 名前: デフォルトの名無しさん 投稿日: 02/08/08 17:27
>手震わしながらキーボードうってんじゃねーのか?
自分の実況?


809 名前: デフォルトの名無しさん 投稿日: 02/08/08 17:30
2chだな〜〜、結構結構。


810 名前: 785 投稿日: 02/08/08 17:32
>>808

煽りの分際がよ

いっちょまえの口きいてんじゃねえよ
はよあやまってみろや

ちびってできねぇんだろが?


811 名前: デフォルトの名無しさん 投稿日: 02/08/08 17:32
>>805
もう一度よくたしかめろ。



812 名前: 本物の785 投稿日: 02/08/08 17:38
なんか偽者が荒らしてるけど無視してください。785と私以外偽者です。

tureはtrueのtypoだとして一回じゃ元に戻らないことってありませんか?


813 名前: 785 投稿日: 02/08/08 17:49
>>812
ahoga

お前と俺しかいねぇよたこが!
てめえが一番わかってんだろうが。
かわいいことやってんじゃねぇぞ?

ほらほら
お前こそ5分後には忘れてやるから消えろや


814 名前: デフォルトの名無しさん 投稿日: 02/08/08 17:53
VBのソフト買ったんですが、難しいですね…

プログラマーになりたい。なんて思っているのですが、
数字、計算、数学、グラフなどが苦手だし嫌いです。

適性がないとだめですか。


815 名前: デフォルトの名無しさん 投稿日: 02/08/08 17:55
>>812
俺の所ではならないが。
ロジック的におかしい所がないか調べてみては。


816 名前: デフォルトの名無しさん 投稿日: 02/08/08 17:56
>>814
大丈夫、VBしか使えない人はプログラマじゃありません。



817 名前: デフォルトの名無しさん 投稿日: 02/08/08 17:58
>>816
答えになってない。お前プログラマに向いてないんじゃない。


818 名前: 785 投稿日: 02/08/08 18:11
>>816

煽りしてんじゃねぇぞこら

バンしてまうぞ?


819 名前: デフォルトの名無しさん 投稿日: 02/08/08 18:13
おもろいなーw


820 名前: 805 投稿日: 02/08/08 18:26
>>798
>>811
てへぇ!
でけましたぁ〜。
ありがとうございます。
これからは、見落としが無いようによく確認します。



821 名前: デフォルトの名無しさん 投稿日: 02/08/08 18:28
816,817,818
だから、しゃべんなって。



822 名前: デフォルトの名無しさん 投稿日: 02/08/08 18:32
どーでもいいが、ZOrderがメソッドなのが気になる。
名前からプロパティでZ位置を取得・設定するのかと思った。


823 名前: デフォルトの名無しさん 投稿日: 02/08/08 18:37
microsoft Visual Studio 6.0SP5ってのが雑誌についてたんですけど
これをインストールしたらVBが使えるんでしょうか?
これはいわゆる「評価版」ってやつですか?


824 名前: デフォルトの名無しさん 投稿日: 02/08/08 18:40
>>823
一応マジレス・・・・
それはバグを修正するためのもの。Visual Studio6.0がインストールされていないと使えない。


825 名前: 785 投稿日: 02/08/08 18:42
>>815
偽者にマジレスしてるぞ


826 名前: 823 投稿日: 02/08/08 18:45
>>824 あーそうですか 評価版ってもう手に入らないんでしょうか?


827 名前: 785 投稿日: 02/08/08 18:47
>>821
お前マジであれだろ

煽りしたいだけだろ

お前はマジバン!


828 名前: 本物の785 投稿日: 02/08/08 18:55
>>815
そうですか。もう少し調べてみます。ありがとうございます。

>>825
そういうことにしたいんですね。


829 名前: 785 投稿日: 02/08/08 18:57
>>828
おたくっておもしろいな

必死こいて仲間を引き入れたい気持ちがあらわれてるな


830 名前: デフォルトの名無しさん 投稿日: 02/08/08 19:02
>>829
激しく同意。特に>>829とか必死で笑える。



831 名前: デフォルトの名無しさん 投稿日: 02/08/08 19:03
>>826
VBの参考書(?)にはついているものがあるみたいだけど。


832 名前: 785 投稿日: 02/08/08 19:18
>>830
あーあもうあきたな。
ロボットと話してる気分だ。
毎度毎度同じパターンでよぉ

こんなきもいやつが2CHにいるわけだな・・・・・・。
心病んでるぞお前(藁


833 名前: デフォルトの名無しさん 投稿日: 02/08/08 19:20
>>832
同意。>>832とかほんと見ててかわいそうになってくるよ。


834 名前: デフォルトの名無しさん 投稿日: 02/08/08 19:29
>>833
涙の禿同


835 名前: デフォルトの名無しさん 投稿日: 02/08/08 19:38
>>814
買ってからそのセリフは正直どーかと。


836 名前: デフォルトの名無しさん 投稿日: 02/08/08 20:11
>>832
ねぇねぇ、ちょうど一年ぐらい前になんかやらかさなかった?
物凄く似てるんだけど(w


837 名前: デフォルトの名無しさん 投稿日: 02/08/08 20:26
馬鹿はこうやって放置しろ
http://corn.2ch.net/entrance/kako/994/994927164.html


838 名前: デフォルトの名無しさん 投稿日: 02/08/08 20:32
785ってあほちん?ばかちん?


839 名前: デフォルトの名無しさん 投稿日: 02/08/08 20:33
>>837
ワラタ


840 名前: デフォルトの名無しさん 投稿日: 02/08/08 21:48
初心者質問です(^O^)/変数Aに"?,?,?,?"と入れたいんですが、 A="?,?,?,?" では"?"がきちんと代入出来ませぬ〜(T_T) どーしたもんか教えてやって下さいm(__)m


841 名前: デフォルトの名無しさん 投稿日: 02/08/08 21:50
>>840
改行いれてから出直せ


842 名前: デフォルトの名無しさん 投稿日: 02/08/08 22:04
その顔文字はここでは叩かれる元だからやめておけ


843 名前: デフォルトの名無しさん 投稿日: 02/08/08 22:10
初心者
質問
です
(^O^)/
変数
Aに
"?,?,?,?"と
入れたいん
ですが、
A="?,?,?,?"では
"?"が
きちんと
代入
出来ませ
ぬ〜
(T_T)
どーした
もんか
教えて
やって
下さい
m(__)m


844 名前: デフォルトの名無しさん 投稿日: 02/08/08 22:12
>>843
改行は3回までにしてから出直せ


845 名前: デフォルトの名無しさん 投稿日: 02/08/08 22:17
>>841 携帯からなんで改行の仕方が分かりませんでした(涙) >>843 ぷーんだ。           ちょっぴし凹んださ。


846 名前: デフォルトの名無しさん 投稿日: 02/08/08 22:17
初心者
質問
です
(^O^)/変数Aに"?,?,?,?"と入れたいんですが、 A="?,?,?,?" では"?"がきちんと代入出来ませぬ〜(T_T) どーしたもんか教えてやって下さいm(__)m


847 名前: デフォルトの名無しさん 投稿日: 02/08/08 22:21
>>846
お前女か?
だったら、漏れが優しくおしえてやる
へへへ



848 名前: 846 投稿日: 02/08/08 22:24
>>847
俺は男。840はしらん。


849 名前: デフォルトの名無しさん 投稿日: 02/08/08 22:28
で、質問の意味が分からん


850 名前: デフォルトの名無しさん 投稿日: 02/08/08 23:24
>>846
まず、どういう方法で変数Aの中身を確認したのか、書け!



851 名前: デフォルトの名無しさん 投稿日: 02/08/08 23:34
/* これに代わるの無い?
*/

#if 0
 これでもいいけど。
#endif



852 名前: デフォルトの名無しさん 投稿日: 02/08/08 23:38
ブロックでコメントアウトすりゃぁいいだろ


853 名前: デフォルトの名無しさん 投稿日: 02/08/08 23:40
>>847
女だから
はやく優しく教えてやれ


854 名前: デフォルトの名無しさん 投稿日: 02/08/09 01:06
>851
'あるよ。
#if aa = 0 then
' これでもいいけど。
#end if

ん?


855 名前: デフォルトの名無しさん 投稿日: 02/08/09 01:09
#If False Thenの方がいいと思うが。


856 名前: デフォルトの名無しさん 投稿日: 02/08/09 01:53
>>846 ちょっと面白かった。


857 名前: デフォルトの名無しさん 投稿日: 02/08/09 11:19
If KeyAscii = 48 〜 57 Then

上のように48〜57の間の時、みたいに範囲を指定することって
できないのでしょうか。一つずつIf Then ElseIfしていくのは
超面倒なんですけど。


858 名前: デフォルトの名無しさん 投稿日: 02/08/09 11:23
>>857
? 単にAND使えばいいだけでは?


859 名前: デフォルトの名無しさん 投稿日: 02/08/09 11:29
>>857
Case使え


860 名前: デフォルトの名無しさん 投稿日: 02/08/09 11:30
48 ≦ KeyAscii ≦ 57 だったら

If 48 <= KeyAsci And KeyAscii <= 57 Then


861 名前: デフォルトの名無しさん 投稿日: 02/08/09 11:51
If (KeyAscii - 8) \ 10 = 4 Then


862 名前: デフォルトの名無しさん 投稿日: 02/08/09 12:01
>>857 俺なら
Select Case KeyCode
Case 48 To 57
End Select
だな。
キー制御が複数ある場合はSelect文使った方が
見やすいし、内容によっては速くなるよ。
>>861 頭イイ!



863 名前: 857 投稿日: 02/08/09 12:16
皆さん、ありがとうございます。
>>861さんのは、アフォなので理解できませんでした…。
分かりやすいので>>862さんのを使いたいと思います。
本当にありがとうございました。


864 名前: デフォルトの名無しさん 投稿日: 02/08/09 12:59
>>840ってなんだったの?A="?,?,?,?" て普通に出来るよね?



865 名前: デフォルトの名無しさん 投稿日: 02/08/09 13:10
>>861
感動した!それ使わせてもらうよ!


866 名前: デフォルトの名無しさん 投稿日: 02/08/09 13:19
>>865
やめとけ。


867 名前: デフォルトの名無しさん 投稿日: 02/08/09 13:32
>>865
きょうび、トリッキーなコードはいいコードとは言わないよ
よほどクリティカルな個所に使う場合を除いて。


868 名前: 857 投稿日: 02/08/09 13:33
連続で申し訳ないのですが、
Select Case KeyAscii
Case 48 To 57

このCase文を否定形にしたいのですが、やり方が分からないです。
Case Not 48 To 57
としても駄目でした…。


869 名前: デフォルトの名無しさん 投稿日: 02/08/09 13:35
>>868
case else


870 名前: デフォルトの名無しさん 投稿日: 02/08/09 13:38
Select Caseもやめとけ。
If 48 <= KeyAsci And KeyAscii <= 57 Then
を関数にしろ。


871 名前: デフォルトの名無しさん 投稿日: 02/08/09 13:38
VB5がただで配布されていると聞きましたが、どこでしょうか?

MSのダウンロードページを探したのですが、よくわかりませんでした。


872 名前: デフォルトの名無しさん 投稿日: 02/08/09 13:39
(´-`).。oO(なんでこんな下らない質問が尾を引いてるんだろ・・・)


873 名前: デフォルトの名無しさん 投稿日: 02/08/09 13:40
>>870
関数化するにしても
Select Caseのがいいよ。


874 名前: デフォルトの名無しさん 投稿日: 02/08/09 13:41
>>872
・低レベルな話題なので誰でも話題に入れる。
・しかしこういう基本テクニックすら知らないVBユーザ多いから。


875 名前: デフォルトの名無しさん 投稿日: 02/08/09 13:48
>>873
>>870が言いたいのはこういう関数だと思うよ。

Public Function IsNumericKey(iKeyAscii AS Integer) As Boolean
  If (&h30 <= iKeyAsci And iKeyAscii <= &h39) Then
    IsNumericrKey = True
  Else
    IsNumericKey = False
  End If
End Function

Select Caseはテーブルに展開されるから速いってのは
本当だろうか?


876 名前: デフォルトの名無しさん 投稿日: 02/08/09 13:54
>>875
ついでに(ByVal iKeyAscii AS Integer)にしておけ。

> Select Caseはテーブルに展開されるから速いってのは本当だろうか
ジャンプテーブルに展開されるのは確かめた。
でも今回のようにCase 48 To 57じゃたぶんダメ。
Caseの後が数値で不等号とかがない時だけだと思う。
C/C++でジャンプテーブルに展開されるときの条件と同じと考えていいんじゃないかな。


877 名前: 857 投稿日: 02/08/09 13:56
なんだか僕のせいでスミマセン。
初心者スレって言葉に甘えてしまって…

Ifが良いのかSelectCaseが良いのか分かりませんが、
関数化して使い回せるようにしてみます。
ありがとうでした。


878 名前: 873 投稿日: 02/08/09 13:58
>>875
いや、それは理解してるが・・・Selectでいんでないの?という話。

Public Function IsNumericKey(iKeyAscii AS Integer) As Boolean
    Select Case iKeyAscii
    Case &h30 To &h39
        IsNumericrKey = True
    Case Else
        IsNumericKey = False
    End Select
End Function

>Select Caseはテーブルに展開されるから速いってのは
>本当だろうか?

微々たるもんだから、速度で判断するのはどうかと。
↓速度実験してるページ。
http://homepage2.nifty.com/yk2yk2/mn/tips/index.htm


879 名前: デフォルトの名無しさん 投稿日: 02/08/09 14:11
>>876
いやByValにすると変数をコピーする時間がもったいないから
ByRefでいいのさ。きっと。


880 名前: デフォルトの名無しさん 投稿日: 02/08/09 14:38
>>878
そのページは正確じゃないな。たしかにあの通りだとIfが速いが
比較の個数を増やすとSelect Caseが速くなる。

Sub Main()
  Dim i As Long, s As Single, tmp As Long
  s = Timer
  For i = 0 To 50000000
    If tmp = 1 Then
      tmp = tmp + 1
    ElseIf tmp = 2 Then
      tmp = tmp + 1
    ElseIf tmp = 3 Then
      tmp = tmp + 1
    ElseIf tmp = 4 Then
      tmp = tmp + 1
    ElseIf tmp = 5 Then
      tmp = tmp + 1
    ElseIf tmp = 6 Then
      tmp = tmp + 1
    ElseIf tmp = 7 Then
      tmp = tmp + 1
    ElseIf tmp = 8 Then
      tmp = tmp + 1
    ElseIf tmp = 9 Then
      tmp = 0
    Else
      tmp = 1
    End If
    
'    Select Case tmp
'    Case 1
'      tmp = tmp + 1
'    Case 2
'      tmp = tmp + 1
'    Case 3
'      tmp = tmp + 1
'    Case 4
'      tmp = tmp + 1
'    Case 5
'      tmp = tmp + 1
'    Case 6
'      tmp = tmp + 1
'    Case 7
'      tmp = tmp + 1
'    Case 8
'      tmp = tmp + 1
'    Case 9
'      tmp = 0
'    Case Else
'      tmp = 1
'    End Select
  Next i
  MsgBox Timer - s
End Sub


881 名前: 857 投稿日: 02/08/09 14:41
何度も本当にすみません。ラスト教えて下さい。

先程の数字以外の入力防止コードを実行し、普通に数字以外の
入力が出来なくなったのですが、
数字→それ以外と連続押しした際にまれに入力できてしまう
ことがあるようです。例えば「4R」とポポン!とほぼ同時押しした際、
「4R」と入力出来てしまいました。
どうやら、KeyPressイベントが起きていないようです。

しかし、WindowsのIP入力する欄で同様の操作を行っても、
「R」は入力されません。
これを防止する術はあるのでしょうか。
つか、この操作が出来るのって、もしかして僕の端末だけですか?


882 名前: デフォルトの名無しさん 投稿日: 02/08/09 14:44
>>881
CTRL+Vで貼り付けてもいい? SHIFT+INSERTで貼り付けてもいい? マウスで貼り付けてもいい?


883 名前: デフォルトの名無しさん 投稿日: 02/08/09 14:52
>881
KeyUpかKeyDownにしてみれば?


884 名前: 862 投稿日: 02/08/09 14:53
Case 48 To 57 にする理由は見やすいからです。
Select文が、内容によっては速くなるというのは、例えば
if i = 1 or i = 3 or i = 5 or i = 7 or i = 11 then 
select case i
case 1,3,5,7,11
という分岐があってiが1だったとします。この場合
select文はi = 1を判定した時点で判定が終了しますが
if文はi = 1,i = 3,i = 5,i = 7,i = 11全ての判定を行うからです。
**************************************************
524 :デフォルトの名無しさん :02/07/30 21:17
Ifの条件にAnd入れるくらいならIf二つ使え
**************************************************
と言ってるのもおそらくこの理由からじゃないでしょうか。
今回の質問は48 To 57だけですが、キー制御時は結構↑こういう状況多いので。
キー制御時ぐらいでは微々たる差ですがループ時には結構効果が出るのでは。


885 名前: 857 投稿日: 02/08/09 14:56
>>882
いや、ペーストは別途、防止しています。
そうじゃなくて、>>881に書いたような現象を防げるかということです。
KeyPressをクリアしてしまうような。
(できれば、どなたか同じように実験していただけるとありがたいのですが…)

>>883
KeyUp、KeyDownもクリアしてしまうようです。
イベント自体起こりません。



886 名前: デフォルトの名無しさん 投稿日: 02/08/09 15:01
>(できれば、どなたか同じように実験していただけるとありがたいのですが…)
ならまずコード出そうよ。


887 名前: デフォルトの名無しさん 投稿日: 02/08/09 15:02
>>885
きっとChangeイベントは発生するはず。


それでどうすればいいかは知らん。


888 名前: デフォルトの名無しさん 投稿日: 02/08/09 15:04
質問!
VBでミリセカンド単位の時間を計算するのに、何か良い方法あるかな。
例えば、2002080912315977っていう(yyyymmddhhmmss**)Stringを元に、
差を計算する場合…、Dateだと秒までしか扱えないし…。


889 名前: 857 投稿日: 02/08/09 15:12
>>886
すみません…。
テキストボックスのKeyPressイベントで
>>878さんのコードを呼んでいただくだけです。
で、テキストボックス上でポポン!とほぼ同時押しで
「4」→「R」と押して下さい。

>>887
どうもです。何か考えてみます。


890 名前: 投稿日: 02/08/09 15:21
APIを使ってもVBはぱっとしない・・・


891 名前: 886 投稿日: 02/08/09 15:21
>>889 ならなかったよ。ちなみにW2K


892 名前: デフォルトの名無しさん 投稿日: 02/08/09 15:32
>>888
QueryPerformanceCounter


893 名前: デフォルトの名無しさん 投稿日: 02/08/09 15:33
API使ったらVBじゃないだろ
見えないとこで使うなら許可


894 名前: デフォルトの名無しさん 投稿日: 02/08/09 15:33
890がぱっとしない。


895 名前: 857 投稿日: 02/08/09 15:39
>>891
ええっ!?
Windows98+VB6です…。なんでだろう。

うーん…いろいろ考えてみます。
すみませんでした…。


896 名前: 888 投稿日: 02/08/09 16:00
>892さん
あーっと、精度の良い実行速度測定法ではなくて、単純に
ふたつのミリセコンドを含む時間を演算するのに適したデータ型は何か?
ということを聞きたかったのです。解りづらかったですね。
(計算対象の時間は文字列として既にある状態からの計算)

でも、QueryPerformanceCounterで戻り値に使われている型を調べればヒント
になるかもしれないですね、ちょっと調べてみます。


897 名前: デフォルトの名無しさん 投稿日: 02/08/09 16:35
>>896
基本的に日付や時刻の差を求めるときは、数値で行います。
VBのDate型も1899/12/30 00:00:00からの経過時間を
日数を整数とした浮動小数点で保持しているはずです。

ミリ秒を含む文字型で比較する場合は、
ミリ秒を含まない文字列を取り出して、DateDiffしたものに1000を乗じ、
ミリ秒だけの差をそれに足してやればいいのでは?


898 名前: デフォルトの名無しさん 投稿日: 02/08/09 17:37
C、もしくは、JavaのステートメントとVBのステートメント対応表みたいの
どっかに無いですか?
「Cプログラマーの為のVBの部屋」みたいな。



899 名前: 865 投稿日: 02/08/09 18:36
あの後すぐ席外したんだが…
>>866-867
やめときます…ありがd


900 名前: デフォルトの名無しさん 投稿日: 02/08/09 19:06
言語仕様すっくりしない。
はぁ〜鬱。



901 名前: デフォルトの名無しさん 投稿日: 02/08/09 22:45

>>840
変数の宣言ってしてる?ってーかしってる?

private sub form_load()
dim A as string    ←変数の宣言
A=?,?,?,?
end sub

Private Sub Command1_Click()
text1.text=A
End Sub

ってやればコマンドボタン押すとテキストボックスに
「?,?,?,?」って出てくるけど。
ちなみに俺が始めて作ったプログラム。どうでもいいか。


902 名前: デフォルトの名無しさん 投稿日: 02/08/09 22:52
>>901
あのころが一番楽しかったかも試練。
俺もほとんど同じコードから始めたよ。


903 名前: デフォルトの名無しさん 投稿日: 02/08/09 22:53
>>898
そういうページを俺が作ってる。でも最近停滞中。
気が向いたら出来てるかもしれん。


904 名前: 通りすがり 投稿日: 02/08/09 23:17
>>901
ちょっと待て。恐ろしく糞なツールだな。>VB
そんなんで動くのか・・・


905 名前: デフォルトの名無しさん 投稿日: 02/08/09 23:19
>>904
お前ヴァカ?
他の言語でも同じだろ。


906 名前: 通りすがり 投稿日: 02/08/09 23:20
((;゚Д゚)ガクガクブルブル
お前らある意味神だ


907 名前: デフォルトの名無しさん 投稿日: 02/08/09 23:24
>>904
今時RADも知らん奴はプログラマ辞めたら。


908 名前: デフォルトの名無しさん 投稿日: 02/08/09 23:30
>>901
それだと、テキストボックスには何も表示されないと言ってみる。


909 名前: デフォルトの名無しさん 投稿日: 02/08/09 23:35
>>907
どーゆー文脈でRADが出てくるんだ??


910 名前: デフォルトの名無しさん 投稿日: 02/08/09 23:38
VBが糞じゃなくて>>901が糞ということが判明しました。
>>901のバグに気づかない奴も糞。


911 名前: デフォルトの名無しさん 投稿日: 02/08/09 23:48
Dimの位置がちがーう


912 名前: 通りすがり 投稿日: 02/08/09 23:58
        ∧_∧        / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
       ( ´_ゝ`)  √| < なんだ、やっぱりクズ共の吹き溜まりかよ
      /    |\/ ノ   \
  __ / ム  / ̄\__     \_______
  \ ( 丿  \  /\ )
  ||\ ̄     ̄\  ̄)\
  ||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄||
  ||  || ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄||
期待して損したぜ


913 名前: デフォルトの名無しさん 投稿日: 02/08/10 00:03
通りすがりは早く通りすがっていただきたい


914 名前: デフォルトの名無しさん 投稿日: 02/08/10 00:17
>>912
お前がクズだろうが。


915 名前: デフォルトの名無しさん 投稿日: 02/08/10 00:19
>>913
「通りすぎていただきたい」だろ


916 名前: デフォルトの名無しさん 投稿日: 02/08/10 00:23
>>915
確かに縋られちゃ困るな


917 名前: デフォルトの名無しさん 投稿日: 02/08/10 00:25
すがられてもなぁ…


918 名前: デフォルトの名無しさん 投稿日: 02/08/10 01:16
へへへ
ちんこ?



919 名前: デフォルトの名無しさん 投稿日: 02/08/10 01:55
""でもくくられてないので、そもそも実行できない罠。


920 名前: デフォルトの名無しさん 投稿日: 02/08/10 04:17
VBユーザって文法の時点で崩壊してる人間がいるのか。


921 名前: デフォルトの名無しさん 投稿日: 02/08/10 05:02
一部を取り上げてそれを全体と見るヤシがいますね


922 名前: デフォルトの名無しさん 投稿日: 02/08/10 05:15
>>901>>905
オモロイな
>>901が今更過ぎるレスつけてるし恐らくわざとやっているんでしょ。
よってバカは>>905のみ、と思いますがいかがか。


923 名前: デフォルトの名無しさん 投稿日: 02/08/10 05:23
>>902のレスにある「ほとんど」とはそういう意味か


924 名前: デフォルトの名無しさん 投稿日: 02/08/10 05:40
>>922
そう見ると楽しいね


925 名前: デフォルトの名無しさん 投稿日: 02/08/10 06:23
しょうもない質問ですみません。VB6で、
1. コードが書いてある窓をマウスを使わずに最大化して表示する方法
2. ツールボックス等をマウスを使わずに閉じる方法
を教えてください。


926 名前: デフォルトの名無しさん 投稿日: 02/08/10 07:59
角度を求めるときアークタンジェントを使って角度を求めると
とてもめんどくさい式になります。
どうにかしてください。


927 名前: デフォルトの名無しさん 投稿日: 02/08/10 08:37
>>926
そのめんどくさい式を出せ


928 名前: 926 投稿日: 02/08/10 08:48
>>927

siita=atn(y/x)
if x<0 then siita=siita+3.14159
if siita<0 then siita=siita+3.14159*2


929 名前: デフォルトの名無しさん 投稿日: 02/08/10 08:50
rnd(1)この関数の(1)って何ですか?


930 名前: デフォルトの名無しさん 投稿日: 02/08/10 09:55
>>921
特に積分しても問題ないと判断しました。


931 名前: デフォルトの名無しさん 投稿日: 02/08/10 10:39
>>928
VB には atan2 とかないし
それが一番カンタンなのでは
関数にすれば呼び出し側は1行ですむ
ぜんぜんめんどくさくないと思うが


932 名前: デフォルトの名無しさん 投稿日: 02/08/10 11:11
>>925
1. [Alt]+[-] , [X]
2. [Shift]+[F10], [H] または [App], [H]


933 名前: 925 投稿日: 02/08/10 11:51
>>932
ありがとうございます!
2の方は、なんかできないのですが、1の方だけでもだいぶ助かりました。


934 名前: デフォルトの名無しさん 投稿日: 02/08/11 23:14
ADOを使用してAccess2000に接続したいのですがどう書けばよいのでしょう?
お願いします。


935 名前: デフォルトの名無しさん 投稿日: 02/08/12 00:39
ageとく


936 名前: デフォルトの名無しさん 投稿日: 02/08/12 06:29
Hello World について聞きたいんですが、

Private Sub Command1_Click()
Msgbox "Hello world"
End Sub

こんな感じのプログラムのことですか?


937 名前: デフォルトの名無しさん 投稿日: 02/08/12 06:39
http://isweb44.infoseek.co.jp/diary/wyn/pokemon.exe
著作権無視してポケモンゲーム作ってみますた


938 名前: デフォルトの名無しさん 投稿日: 02/08/12 06:47
>>934
ODBCであらかじめ設定しとくか、MDBをダイレクトに指定しよう。


939 名前: デフォルトの名無しさん 投稿日: 02/08/12 08:00
>>937
ウィルスかブラクラっぽい。インフォシークはブラクラが多い気がする


940 名前: デフォルトの名無しさん 投稿日: 02/08/12 08:13
>>937
ワロタ


941 名前: デフォルトの名無しさん 投稿日: 02/08/12 08:59
>>939
ニューソクにもコピペあったよ、怖すぎる


942 名前: デフォルトの名無しさん 投稿日: 02/08/12 09:42
        ∧_∧        / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
       ( ´_ゝ`)  √| < まあここは厨がかなり多いからな
      /    |\/ ノ   \
  __ / ム  / ̄\__     \_______
  \ ( 丿  \  /\ )
  ||\ ̄     ̄\  ̄)\
  ||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄||
  ||  || ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄||
期待して損したぜ


943 名前: デフォルトの名無しさん 投稿日: 02/08/12 09:44
>>926
関数にしたほうが。グッド。

>>939
ポケモン現象だと思われ。漏れも大昔作った。

1000getしたい


944 名前: デフォルトの名無しさん 投稿日: 02/08/12 14:04
構造体の配列を効率よくファイルに読み書きする方法伝授して下さい。



945 名前: デフォルトの名無しさん 投稿日: 02/08/12 15:17
>>944
素直に先頭ポインタ指定してfwrite


946 名前: デフォルトの名無しさん 投稿日: 02/08/12 15:53
ダイアログを出さずにフロッピーディスクを
クイックフォーマットする方法はないでしょうか?


947 名前: 888 投稿日: 02/08/12 15:54
897さんres遅れましたが、thanksです。
1000を乗じ…ってのが良くわかりませんでしたが、
なんとかなりそうです。


948 名前: デフォルトの名無しさん 投稿日: 02/08/12 16:17
VB6でメールソフトを試作しているのですが
MAPISession、MAPIMessageコントロールを使用して
添付ファイル付きのメールを送信する方法がわかりません
又、受信側の添付ファイルの取り出し方も同様です
過去ログにも一応目を通したのですが、それらしい記述は見つけることが出来ませんでした
何かアドバイスなどありましたらお願いします


949 名前: デフォルトの名無しさん 投稿日: 02/08/12 16:19
>>948
RFC読めや。
これだからVB厨は・・・。

次はBASE64コントロールはどこにありますか?だろうな。


950 名前: デフォルトの名無しさん 投稿日: 02/08/12 17:01
>>949
お前単に叩きたいだけだろ。よかったな初心者が出てきて(プ


951 名前: 946 投稿日: 02/08/12 17:14
解決・・はしてませんが、いろいろ調べたところ、
かなり高度なようなので、他の方法を考えたいと思います。


952 名前: デフォルトの名無しさん 投稿日: 02/08/12 17:14
>>946
format /q


953 名前: デフォルトの名無しさん 投稿日: 02/08/12 17:15
>>951
今レスしたところだが高度では無いぞ


954 名前: 946 投稿日: 02/08/12 17:22
>>953
「VBからダイアログ出さずに」だと難しいと書いてありましたが、
そうでもないんですか?


955 名前: デフォルトの名無しさん 投稿日: 02/08/12 17:23
>>953
946じゃないけど、formatコマンドだと確かに
ダイアログは出ないけど、結局キーインは求められるのでは?
サイレンスフォーマットしたいってのが質問の意図のように思われ。


956 名前: デフォルトの名無しさん 投稿日: 02/08/12 17:24
952だが
申し訳ない。よく考えずにレスしてもうた。

echo |format a: /q
とかやってもラベル入力求められちゃうな。ごめん


957 名前: デフォルトの名無しさん 投稿日: 02/08/12 18:49
If Int(r / 2) = r / 2 Then r = r + 1 より
r = r + (Not r And 1) の方が早いと知った夏の日



958 名前: デフォルトの名無しさん 投稿日: 02/08/12 21:08
 r = r or 1  ?



959 名前: デフォルトの名無しさん 投稿日: 02/08/12 21:24
>>958
ごめんその方が単純でした。俺何やってんだろ…逝ってくる


960 名前: デフォルトの名無しさん 投稿日: 02/08/12 22:19
>>957
元のやつも普通、
If r Mod 2 = 0 Then r = r + 1
と書かない?



961 名前: 960 投稿日: 02/08/12 22:22
ところでrが整数の場合の話だよね?
そうでないと958も960も957の1行目の互換とはなりえない。


962 名前: デフォルトの名無しさん 投稿日: 02/08/12 22:29
>>961
rは整数。しかもMod使えないくらい大きな数。


963 名前: デフォルトの名無しさん 投稿日: 02/08/13 00:34
初歩的な質問だと思うのだけど、
イニシャライザーについてだけど、
Dim NumOfWord As Long = 100
とか、
Dim NumOfWord( 3 ) As Long = {1,2,3}
みたいな事したいんだけど、イイ方法おしえて。



964 名前: デフォルトの名無しさん 投稿日: 02/08/13 00:36
>>957>>960>>962
わかった、その話題もういいや。



965 名前: デフォルトの名無しさん 投稿日: 02/08/13 00:52
>>963
上のは
Const NumOfWord As Long = 100
でできる。下のは知らん


966 名前: 963 投稿日: 02/08/13 02:31
>>965
もれも最初、Constの記述を見つけたから
そのまま、
Dim NumOfWord As Long = 100
これが通ると思ったんだけど、通らない。
ガクリ!



967 名前: デフォルトの名無しさん 投稿日: 02/08/13 02:54
俺の技を伝授しる。
漏れは、いつもエディータはWZを使ってるので、統合環境は苦痛だったのだが、
この技を身に付けてから、快適だ!

[ALT]+[F] [R]
[ALT]+[F] [1]

伝授してやる、使ってみろ。



968 名前: デフォルトの名無しさん 投稿日: 02/08/13 03:09
そろそろ新スレ頼む>1



969 名前: デフォルトの名無しさん 投稿日: 02/08/13 03:16
>>954
なんで?


970 名前: デフォルトの名無しさん 投稿日: 02/08/13 06:14
>>975次スレ頼むわ


971 名前: デフォルトの名無しさん 投稿日: 02/08/13 09:20
>963
宣言直後に代入文を書く以外の方法は無かったと思われ。
言語仕様っつー事であきらめて。


972 名前: ななし 投稿日: 02/08/13 10:49
>>963
>>971
VB.NETなら初期化できますが。(As New 宣言の意味が従来とは違います)

だから、質問する人は、バージョンを書いてね。


973 名前: デフォルトの名無しさん 投稿日: 02/08/13 10:53
次スレはちゃんとタイトルのAA変えろよ


974 名前: デフォルトの名無しさん 投稿日: 02/08/13 11:01
ADO初心者でデータベースの勉強をしているのですが、
レコードセットを取得する段階で本を見ながらSQLというのを書いています。
このSQLについて教えて下さい。

データベースの各レコードに「コード」を振っていて、
「指定したコードの次のコード」のレコードを取ってきたいのですが、
WHEREの所に何と書けば良いか分かりません。

例えば、コードを25と指定して、その次のコードの物(順当に行けば26)を
取ってきたい訳ですが、レコードを削除すると、26が欠番になる可能性が
あるので、+1と指定することができません。

これは何かやりようがあるのでしょうか。
お願いします。


975 名前: デフォルトの名無しさん 投稿日: 02/08/13 11:26
(*´д`*)アハァ… VB初心者質問スレ Part13

↑これで。


976 名前: デフォルトの名無しさん 投稿日: 02/08/13 11:26
>>972
VB.NET質問スレは別にあるんだから、ここは基本的には
VB6以前のの質問と思っていいのではないかな?
もちろん、環境くわしく書くに越したことないけど。


977 名前: デフォルトの名無しさん 投稿日: 02/08/13 11:32
>97
コードを昇順に並べて全件取得。
んで、25番の次にあるデータを取得すればよろし。
WHEREはいらない。


978 名前: デフォルトの名無しさん 投稿日: 02/08/13 11:52
>>975
新スレよろ

>>974
WHERE コード>25 ORDER BY コード
で最初の一件ひろってくればいい


979 名前: デフォルトの名無しさん 投稿日: 02/08/13 12:11
>>977-978
どうもありがとです。
レコードセットとSQLの使い方が今一つ分かっていませんでした。
勉強します。

>>975
(*´д`*)アハァ… VB初心者質問スレ Part13
↑これ賛成。



980 名前: 投稿日: 02/08/13 12:18
ClientHeight , ClientWidth

ScaleHeight , ScaleWidth
の違いは?


981 名前: デフォルトの名無しさん 投稿日: 02/08/13 13:25
>>980
裏技教えてやるよ。
<F1キーでヘルプが出る>


982 名前: デフォルトの名無しさん 投稿日: 02/08/13 14:24
>>979
SQL文の質問ならデータベーススレに行った方がいいよ。
専門スレの方が質が高い、って>>977-978見て思った。


983 名前: デフォルトの名無しさん 投稿日: 02/08/13 19:29
VB6のMSHFlexGridで
SelectionMode=1(flexSelectionByRow)
に設定しているんですが、このときに
選択している(複数の)行はどのようにしたら
わかるのでしょうか?


984 名前: デフォルトの名無しさん 投稿日: 02/08/13 19:31
☆ チン     マチクタビレタ〜
                         マチクタビレタ〜
        ☆ チン  〃  Λ_Λ   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
          ヽ ___\(\・∀・) <  新スレまだ〜?
             \_/⊂ ⊂_ )   \_____________
           / ̄ ̄ ̄ ̄ ̄ ̄ /|
        | ̄ ̄ ̄ ̄ ̄ ̄ ̄|  |


985 名前: デフォルトの名無しさん 投稿日: 02/08/13 19:32
(´-`).。oO(新スレまだ?)


986 名前: デフォルトの名無しさん 投稿日: 02/08/13 19:32
新スレ立ってなくても(゚ε゚)キニシナイ!!


987 名前: デフォルトの名無しさん 投稿日: 02/08/13 19:33
まだかまだか


988 名前: デフォルメの名無しさん 投稿日: 02/08/13 19:33
987


989 名前: デフォルトの名無しさん 投稿日: 02/08/13 19:34

まもなくここは 乂1000取り合戦場乂 となります。

      \∧_ヘ     / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ,,、,、,,, / \〇ノゝ∩ < 1000取り合戦、いくぞゴルァ!!       ,,、,、,,,
    /三√ ゚Д゚) /   \____________  ,,、,、,,,
     /三/| ゚U゚|\      ,,、,、,,,                       ,,、,、,,,
 ,,、,、,,, U (:::::::::::)  ,,、,、,,,         \オーーーーーーーッ!!/
      //三/|三|\     ∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
      ∪  ∪       (    )    (     )   (    )    )
 ,,、,、,,,       ,,、,、,,,  ∧_∧∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
      ,,、,、,,,       (    )    (    )    (    )    (    )


990 名前: デフォルトの名無しさん 投稿日: 02/08/13 19:35
990


991 名前: 1000 投稿日: 02/08/13 19:36
1000


992 名前: デフォルトの名無しさん 投稿日: 02/08/13 19:36

               ∩)  (´´ (´⌒(´
            ∧∧ノ  つ ズザーーーーーッ(´⌒(´
         ⊂(゚Д゚⊂ ノ ∧∧≡≡)ズザーーッ(´⌒;;;≡≡
              ∧∧(゚Д゚⊂⌒`つ∧∧≡(´⌒;;;≡≡≡
        ∩) ⊂(゚Д゚⊂⌒`つ≡⊂(゚Д゚⊂⌒∧∧≡≡)(´⌒;;;≡≡
     ∧∧ノ  つ ズザーーーーッ∧∧(´⌒(´ ⊂(゚Д゚⊂⌒`つ≡(´´ (´⌒(´
  ⊂(゚Д゚⊂ ノ ∧∧≡≡)⊂(゚Д゚⊂⌒`つズザーーッ(´⌒;;;≡≡
       ∧∧(゚Д゚⊂⌒`つ∧∧≡(´⌒;;;≡≡≡
    ⊂(゚Д゚⊂⌒`つ≡⊂(゚Д゚⊂⌒`つ≡(´⌒;;;≡≡≡
          ̄(´⌒(⌒;;∩)  (´´ ∧∧(´⌒)ズザーーーーッ
            ∧∧ノ  つ ⊂(゚Д゚⊂⌒`つズザーーーーーッ(´⌒(´
         ⊂(゚Д゚⊂ ノ ∧∧≡≡)ズザーーッ(´⌒;;;≡≡
              ∧∧(゚Д゚⊂⌒`つ≡≡≡(´⌒;;;≡≡≡
           ⊂(゚Д゚⊂⌒`つ≡≡≡(´⌒;;;≡≡≡
                 ̄ ̄  (´⌒(´⌒;;   ズザーーーーッ


993 名前: デフォルトの名無しさん 投稿日: 02/08/13 19:36
キタ━━━━━━(゚∀゚)━━━━━━ !!!!!


994 名前: デフォルトの名無しさん 投稿日: 02/08/13 19:37
995?


995 名前: デフォルトの名無しさん 投稿日: 02/08/13 19:37
☆ チン     マチクタビレタ〜
                         マチクタビレタ〜
        ☆ チン  〃  Λ_Λ   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
          ヽ ___\(\・∀・) <  チンスレまだ〜?
             \_/⊂ ⊂_ )   \_____________
           / ̄ ̄ ̄ ̄ ̄ ̄ /|
        | ̄ ̄ ̄ ̄ ̄ ̄ ̄|  |



996 名前: デフォルトの名無しさん 投稿日: 02/08/13 19:39
カチャ
( ゚д゚)   ;y=ー( ゚д゚)・∵. ターン
.| y |.\/   | y |


997 名前: デフォルトの名無しさん 投稿日: 02/08/13 19:40

   ∧_∧  / ̄ ̄ ̄ ̄ ̄
  ( ´_ゝ`)< 1000ゲット
  (    )  \_____
  | | |
  (__)_)


998 名前: デフォルトの名無しさん 投稿日: 02/08/13 19:40
(゚∀゚≡゚∀゚)


999 名前: デフォルトの名無しさん 投稿日: 02/08/13 19:40
(´・ω・`)


1000 名前: デフォルトの名無しさん 投稿日: 02/08/13 19:41
             わ          ,..-―-、           今
              |         /:::::::::::::::::l       1000 や
                 ∩  /::::::::::::::::::::|      ,、 番 !
      -―-、        |⌒ヽ/::::::::::::::::::::::|    _/|ノ ゲ
   /´Y    (´ヽ  ,、    l: : : i::::::::::::::::::::::::|-―'´: :丿  ッ
 ,、 _し' l     lヽJ/|ノ   \: |∧/l/|ノレ : : : :/   ト
 Y: : `ー`ー-―'´一': : |     /: : : : : : : : : : ::i-‐'′   や
  \: : : : : : : : : : : : /      /: : : : : : : : : : : |         |
   Y: : : : : : : : :r'´      /: : : : : : : : : : : :|
   /: : : : : : : : : :|       /: : : : : : : : : : : : |
  /:: : : : : : : : : ::|      / : : : : : : : : : : : : |
  /: : : : : : : : : : : |      /: ::_: : : : : : : : : :|
  `77ー--┬r一'       ̄/ / ̄`ー-┬r-'
  l'´)   ├|           l'´)     |~|
  し'    (ニ⊃        し'      (ニ⊃


             __
                /〃 ┼‐┼〃__
             /\    ノ                __
                      __  , -――-、  /\ノ
                      ヽ/\l::::::::::::::::::::\ /: : /
         ,..-―-、/)       |: : :|::::::::::::::::::::::/: : /
     /⌒Y    (_ノ  /)       |: : :|:::::::::::::::::::::|: : : /
      ̄l ̄l、     ) /`〉     ヽ:: :|::::::::::::::::::::l: : :/
         l: : :`ー--‐'‐'´: :/        \|∧ハ/l/: ::〈
       \: : : : : : : : : :く         |: : : : : : : : : : `ー-┐  ,.、
         l: : : : : : : : : :`ー―┐ ,、   |: : : : : : : : : : : : : : |二lニノ
         ヽ.: : : : : : : : : : : : : :|ニノ   |: : : : : : : : : : : : : : |
           ヽ: : : : : : : : : : : : :|      ヽ: : : : : : : : : : : /
           \: : : : : : : : :/       \ : : : : : : /
              ̄ ̄ ̄ ̄    ノ|      ̄ ̄ ̄       ノ)
                   ノしノ  し'(           ノ)__ノ (ノ(
                   '――――-'′         '-――一-'′



1001 名前: 1001 投稿日: Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。



2ちゃんねるは、ここのサーバを使ってるです。。。