(*´д`*)ウッ… VB初心者質問スレ Part15(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ちゃんねるは、このサーバを使っているです。

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

(*´д`*)ウッ… VB初心者質問スレ Part15
1 名前: エロチカセブン 投稿日: 02/09/22 23:54
  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/tech/kako/1022/10221/1022127528.html
  Part11 http://pc.2ch.net/tech/kako/1024/10243/1024380249.html
  Part12 http://pc3.2ch.net/test/read.cgi/tech/1026642565/
  Part13 http://pc3.2ch.net/test/read.cgi/tech/1029241786/l50
Win32 API関連スレ
  Win32API 質問箱 Build4
  http://pc.2ch.net/test/read.cgi/tech/1023361418/
心得
壱.質問する前に過去ログにも目を通してみる。
弐.質問する前に MSDN などで調べてみる。
参.VBScript もこのスレでOK。
4.インストーラーなどの質問もOK。
五.下ネタもたまにならOK


2 名前: デフォルトの名無しさん 投稿日: 02/09/22 23:57
(゚Д゚≡゚Д゚)


3 名前: デフォルトの名無しさん 投稿日: 02/09/23 00:03
ドピュ


4 名前: 前スレ990 投稿日: 02/09/23 00:03
もたもたしてる間に勃ってしまった……手を煩わせてスマソ>>1&モツカレー

一応前スレ
Part14 http://pc3.2ch.net/test/read.cgi/tech/1030947162/



5 名前: デフォルトの名無しさん 投稿日: 02/09/23 00:05

         |   |      \
         |   ̄| ̄    \
         |  _|_     |       \
         |/|/    / /  \    ̄|
                           /
              ∧             ∧
              / ・           / ';,
            . /  ';          ./  ';
            /   ;______/   ;
          /                  \
         /    /          \     \
        /´       |____|          |
        |  /////    |     |    /////    |
       |        .|     |           |
        |         |    |            |
        |        ';    /           /
         \        \/        .. /
           ヽ             ........:::::::<


6 名前: デフォルトの名無しさん 投稿日: 02/09/23 00:07
VBの小ネタとかTipsとかもOK。前スレ1000は綺麗に終わったね。


7 名前: 前スレ979 投稿日: 02/09/23 00:10
とりあえず、スレの最後だったので途中になってしまったみたいなので、
前スレでの質問を答えると同時に、もう一回載せます。
−−−−−−−−−−−−−−−−
A,B,C,Dという四つの変数(整数型)を作って、(1 ≦ A, B, C, D ≦ 100 )
それぞれを乱数にして
A>=B And A>=C And A>=D And A+B+C+D=100
の条件を満たすA,B,C,Dの値を作りたいのですが

Do While A>=B And A>=C And A>=D And A+B+C+D=100
A=int(rnd*100)+1
B=int(rnd*100)+1
C=int(rnd*100)+1
D=int(rnd*100)+1
loop
と書くと非常に効率が悪いです。
もっと効率のいいプログラムってあるでしょうか?
私にはどうしてもこれしか思いつきません…
−−−−−−−−−−−−−−−
是非とも知恵を貸してください


8 名前: デフォルトの名無しさん 投稿日: 02/09/23 00:15
(*´д`*)アハァ… のほうがよかった


9 名前: デフォルトの名無しさん 投稿日: 02/09/23 00:16
Winsockコントロールについて質問があります。
サーバと複数のクライアントとの間でデータのやり取りをしているのですが、
ループなどを使ってサーバから複数のクライアントに一気にデータを送りたい
のですが、どのような方法があるでしょう?
例えば、
For i = 0 To 5
  Winsock( i ).SendData "test"
Next i
みたいに書いても、最後のクライアント(5個目)には送られるのですが、
それ以前のクライアントには送られないのです。



10 名前: デフォルトの名無しさん 投稿日: 02/09/23 00:25
前スレ>>984
977ではないが、VBのCurrency型はかなり癖があるぞ。
VB5では「Int(100@/1@)」がP-Codeでは100,ネイティブでは99になったりする。
(開発環境か実行環境かの判断に使えたりするw)
ちなみにVB6ではどっちも100なんだよな。(まぁ仕様らしいが)
その他にもCurrency型の挙動不審はあったとおもう。(まぁ仕様だろうが)

・Currency型は保存と計算以外には使わない。
・Currency型以外と計算させない。(変換させるときは細心の注意)
・ネイティブできっちり検証する。
ってのがおいらの脳内ルールだな。
(Currencyに限らんがな。ヘルプに書いてあったと思うし)



11 名前: デフォルトの名無しさん 投稿日: 02/09/23 00:27
>>1
そのAAはアハァ…だろ。
文字変える余裕あるならAA変えてみせろ。


12 名前: デフォルトの名無しさん 投稿日: 02/09/23 00:27
>9
Winsock( i ).SendData "test"
の後にDoEventsいれたら?


13 名前: デフォルトの名無しさん 投稿日: 02/09/23 00:28
>>7
サンプルを作ってみた。

Private Sub Command1_Click()
Dim A As Integer
Dim B As Integer
Dim C As Integer
Dim D As Integer
Dim n As Integer

Dim datenow As Date

A = Int((100 - 0 + 1) * Rnd() + 0)
B = Int(((100 - A) - 0 + 1) * Rnd() + 0)
C = Int(((100 - (A + B)) - 0 + 1) * Rnd() + 0)
D = 100 - (A + B + C)

datenow = Now()

Debug.Print datenow; "A ="; A
Debug.Print datenow; "B ="; B
Debug.Print datenow; "C ="; C
Debug.Print datenow; "D ="; D
Debug.Print datenow; "A + B + C + D ="; A + B + C + D
End Sub

これじゃだめなのかな?


14 名前: 13 投稿日: 02/09/23 00:29
やべえ、nが意味ないよ・・・
Dim n As Integer
を脳内あぼーんして読んでください。
スマソ


15 名前: 前スレ977 投稿日: 02/09/23 00:31
前スレの978、984へ
>Currency型の変数をFor文の制御変数に使っちゃだめよん。
の理由は、正常にループできない範囲があるから。

214748辺りの値からおかしくなるらしい。(V友より)
以下のコードを試すと暴走します。

Dim i As Currency
For i = 214747 To 214748
Debug.Print i
Next



16 名前: デフォルトの名無しさん 投稿日: 02/09/23 00:31
前すれ >>999
> A,B,C,Dが自然数だったら、
> n = 100
> A = int( rnd * ( n - n / 4 -2 )) + n / 4
> B = int( rnd * iif( A >= n / 2 - 1, n - A - 2 , n / 2 - 1 )) + 1
> C = int( rnd * iif(( A + B ) >= n / 2, n - ( A + B ) - 1, n / 2 - 1 )) + 1
> D = n - A - B - C
> かな ?

ダメ。A = 25, B = 1, C = 1, D = 73 とかなるよ。B, C, D の下限値も必要。
A が決まっている時は、n = A + B + C + D ≦ 3A + B だから、n - 3A ≦ B が下限値となる。(もちろん 1 ≦ B も必要だよ。)
同様に、A, B が決まっている時は、n = A + B + C + D ≦ 2A + B + C だから n - 2A - B ≦ C が下限値。


17 名前: 前スレ978 投稿日: 02/09/23 00:45
>>10 >>15
ありがとう。(まず使わないけど)覚えとく。


18 名前: デフォルトの名無しさん 投稿日: 02/09/23 00:48
>>12
( ゚Д゚)お!出来ました。
ありがとうございます。


19 名前: デフォルトの名無しさん 投稿日: 02/09/23 01:45
>>15
おいおい今さら何を。


20 名前: デフォルトの名無しさん 投稿日: 02/09/23 01:49
>>19
>前スレの978、984へ
これ読める?


21 名前: 前スレ999 投稿日: 02/09/23 02:58
>16
n = 100
D = int(rnd * (n / 2 - 1)) + 1
C = int(rnd * ( n / 2 - D )) + 1
B = iif((D + C) =< (n + 2)/ 3, int(rnd * (int((n - (D + C))/ 2))) + 1, int(rnd * (n - 2 * (D + C) + 1)) + 1)
A = n - D - C - B
これでどう?
心配なので50000回ぐらい試してみたけど、一度も例外なしだった。



22 名前: デフォルトの名無しさん 投稿日: 02/09/23 11:12
前すれの

1000 名前:デフォルトの名無しさん 投稿日:02/09/23 00:00
次スレ
http://pc3.2ch.net/test/read.cgi/tech/1032706491/l50

なんかすげー


23 名前: 前すれの1000 投稿日: 02/09/23 11:16
ありがとう。でも、その話題はもういいよ。



24 名前: HAIRETU 投稿日: 02/09/23 12:41
dim add(16*32) as byte
sub Fget
for l=0 to 15
call Lget(l,add(l*32))
next
end sub
のように配列のN番目を引数にして、addのNからN+31にLgetで値を設定したいのですが
Lget(i,add())のように配列全体をわたすのはできますが、
配列の途中を渡すことができません。
Lget(i,add(),i*32)としてインデックスを別に引数として渡すことは
できますが、VBではこのような方法しかないのでしょうか?



25 名前: デフォルトの名無しさん 投稿日: 02/09/23 12:42
VB上からフォルダに共有をかけるっていうはいったいぜんたいどうすればいいんでしょうか?


26 名前: 17 投稿日: 02/09/23 13:00
ぐぐって一発検索>>25


27 名前: 25 投稿日: 02/09/23 13:06
>>26
いや、
http://vbvbvb.com/jp/gtips/0251/gNetShareAddFolder.html
これは見つけたんだが、NT以上対象らしく、
98で試したらだめだったんだ。


28 名前: デフォルトの名無しさん 投稿日: 02/09/23 13:24
>>27
> これは見つけたんだが、NT以上対象らしく、

MSDN では...

Import Library: Use netapi32.lib (Windows NT) or svrapi.lib (Windows 95).

ってなってるから、単に API 定義している Declare 文の Lib オペランドを "svrapi.dll" にするだけじゃないの ?


29 名前: デフォルトの名無しさん 投稿日: 02/09/23 13:34
新山(へろぱ)さんを抱きたい


30 名前: デフォルトの名無しさん 投稿日: 02/09/23 13:45
きしょ。


31 名前: デフォルトの名無しさん 投稿日: 02/09/23 14:26
VBで作ったアプリを、、NT系等のタスクマネージャのアプリケーションの
タブの所に表示しない様にするにはどうすれば良いのでしょうか?
(プロセスのタブには表示されるが、アプリケーションのタブの、
 タスクと状態の表示に、アイコンや実行中、等の表示が無い様に)

例えば、タスクトレイに常駐しているアプリがタスクマネージャに
表示されないのと同じ様にしたいのですが…
色々プロパティやAPIを試してみたのですが、上手くいきません。
どうか宜しくお願いします。



32 名前: 25 投稿日: 02/09/23 14:43
>>28
svrapi.dllに置き換えていろいろ試してるんだけど、全然成功しないです。
SHARE_INFO_2 の構造体の定義が、上のURLとMSDNでは違う気がして
そこの部分を変えたりしてるんですが一向にうまく行く気配を見せないです。


33 名前: デフォルトの名無しさん 投稿日: 02/09/23 15:20
>>32
> SHARE_INFO_2 の構造体の定義が、上のURLとMSDNでは違う気がして

確かに違うね。svrapi.h と lmcons.h では..

#define LM20_NNLEN 12 // LM 2.0 Net name length
#define SHPWLEN 8 // Share password length (bytes)

struct share_info_2 {
char shi2_netname[LM20_NNLEN+1];
char shi2_pad1;
unsigned short shi2_type;
char FAR * shi2_remark;
unsigned short shi2_permissions;
unsigned short shi2_max_uses;
unsigned short shi2_current_uses;
char FAR * shi2_path;
char shi2_passwd[SHPWLEN+1];
char shi2_pad2;
}; /* share_info_2 */

となってる。netname[] なんかは、Unicode か Ansi かよくわからないので、両方試す必要があるかも...。


34 名前: デフォルトの名無しさん 投稿日: 02/09/23 16:58
>>21
> これでどう?

単純に数値を求めるだけなら OK だと思うけど、これでは n = 100 の時に A = B = C = D = 25 とかはでてこなくなるよ。


35 名前: デフォルトの名無しさん 投稿日: 02/09/23 18:05
新山(へろぱ)さんのことを抱かずにはいられない


36 名前: デフォルトの名無しさん 投稿日: 02/09/23 18:48
Sin(0)は0
Cos(0)は1をちゃんと返してくれるんだけど
ほかの数だと値がおかしくなる
例えばsin(180)は0のはずなのに-0.801152...となる
角度からsin,cosを求めるにはSin,Cosじゃだめなのか?
どうしたら求められるか教えてくれる親切な人、教えてください


37 名前: デフォルトの名無しさん 投稿日: 02/09/23 18:50
ListViewコントロールで、アイテムを選択した時を検出したいのですがうまくできません。
エクスプローラーみたいに、ファイルを選択すると容量とか表示されるようにしたいです。
もちろん、マウスでドラッグしての複数選択や、Shift,Ctrlキー押しながらの複数選択も検出します。
どうやればよいでしょうか?


38 名前: デフォルトの名無しさん 投稿日: 02/09/23 18:55
>>36
> 例えばsin(180)は0のはずなのに-0.801152...となる

ねぇ、「ラジアン」って言う単位知ってる ?


39 名前: デフォルトの名無しさん 投稿日: 02/09/23 18:56
知らないから聞いてるんですよ、たぶん


40 名前: デフォルトの名無しさん 投稿日: 02/09/23 18:57
kanisawa.poti@nifty.com


41 名前: デフォルトの名無しさん 投稿日: 02/09/23 19:00
>>39
> 知らないから聞いてるんですよ、たぶん

知らないなら調べろ。


42 名前: デフォルトの名無しさん 投稿日: 02/09/23 19:02
ここに書き込んで調べてるんですよ、たぶん


43 名前: 39 投稿日: 02/09/23 19:03
「ラジアン」っていう言葉を知らなかったら調べようがないでしょう?


44 名前: デフォルトの名無しさん 投稿日: 02/09/23 19:05
>>43
> 「ラジアン」っていう言葉を知らなかったら調べようがないでしょう?

MSDN 読んだことないの ? Sin 関数の一番下に...

角度の単位を度からラジアンに変換するには、度にπ/180 を掛けます。ラジアンから度に変換するには、ラジアンに 180/πを掛けます。

と書いてある。これでわからないなら、プログラマー辞めたほうがいい。


45 名前: 39 投稿日: 02/09/23 19:10
>>44
私は37ではありませんよ、一応。


46 名前: nobukiti 投稿日: 02/09/23 19:49
VB6 + Oracle で本社と各拠点をOCNエコノミーの128kbpsで常時接続し
普通のクライアントサーバーシステムを作りたいのですが、問題点等は
ありますでしょうか?
本社にOracle Serverを置いて、各拠点からoo4oで繋いでデータの参照、
更新等するつもりです。データ件数的には1000件未満を想定しています。
速度面、パフォーマンス等で遅かったりするのでしょうか?
今までLANでの普通の10Base-Tで使用する事を前提とした開発しか経験した
ことがないので、128kbps程度の回線速度だとどうなるかよくわからないのです。
ご面倒でしょうが、お知りの方おられましたらお教え下さい。


47 名前: デフォルトの名無しさん 投稿日: 02/09/23 19:51
ADOでMDBにアクセスするVBアプリ作ってマス!
日付型の項目がNULLの場合のSQL文書いてるンですけど

WHERE 日付 = ##

ではないのですか?


48 名前: nobukiti 投稿日: 02/09/23 19:51
答えろオラ


49 名前: 46 投稿日: 02/09/23 19:54
>>48
名前がかぶってますよ。


50 名前: デフォルトの名無しさん 投稿日: 02/09/23 19:59
>>46
そりゃ、LANよりは遅いけど、気を配って作れば問題なし。


51 名前: nobukiti 投稿日: 02/09/23 20:01
>>50
ご返答ありがとうございます。
ちなみに 48は私じゃないです。

そうですか、、、
>気を配って作れば問題なし。
この、気を配ってというところはストアドとかを使って
できるだけネットワーク上のトラフィックを減らした
作り込みが必要という意味ですかね?
ストアドはあまり組んだことがないので不得意なので
どうしようか迷っています。


52 名前: デフォルトの名無しさん 投稿日: 02/09/23 20:04
>47
Is Nullじゃないの?


53 名前: nobukiti 投稿日: 02/09/23 20:06
私という戦うバディ♪


54 名前: デフォルトの名無しさん 投稿日: 02/09/23 20:15
質問があります。
VBSでGifヘッダーを取得したいのですが、セーフアレイなバイト配列を
どうしても文字列にする事が出来ません。
s(0)〜(5)までを6文字の文字列に変換したいのですが。

Set astImage = WScript.CreateObject("ADODB.Stream")
Set oFS = WScript.CreateObject("Scripting.FileSystemObject")
Const adTypeBinary = 1
astImage.Type = adTypeBinary
astImage.Open
WScript.CreateObject("WScript.Shell").CurrentDirectory = oFS.GetParentFolderName(WScript.ScriptFullName)
astImage.LoadFromFile ".\fileStock\test.gif"
Dim s()
ReDim s(12)
For i = 0 To 12
s(i) = astImage.Read(1) '←これ
Next



55 名前: デフォルトの名無しさん 投稿日: 02/09/23 20:24
>>51
もちろんストアドにするのも大事だ。
例えばOO4Oをよく理解してる?
ダイナセットひとつとってもいろいろパラメータあるでしょ?
あれも、最適なものを指定してやるとか。


56 名前: nobukiti 投稿日: 02/09/23 20:27
>>55
やはり、色々あるんですねー
パラメーターとか調べてみます。
ありがとうございました



57 名前: デフォルトの名無しさん 投稿日: 02/09/23 20:34
>56は苦労しそう


58 名前: デフォルトの名無しさん 投稿日: 02/09/23 21:05
>>54
一文字ずつ格納汁


59 名前: 25 投稿日: 02/09/23 21:13
ぎゃーだめだー。
バックアップはサーバ機のみで取れるという仕様にしよう!


60 名前: デフォルトの名無しさん 投稿日: 02/09/23 21:21
>58
ありがとうございます。
For i = 0 To 12
s(i) = AscB(astImage.Read(1))
Next
で、出来るようになりました。


61 名前: デフォルトの名無しさん 投稿日: 02/09/23 23:20
NULLで埋めるってどういうことですか?
NULLってなんですか?


62 名前: デフォルトの名無しさん 投稿日: 02/09/23 23:27
タクスバーのプロパティ「自動的に隠す」を切り替える、VB関数か、
APIを教えてください。見つからないよぅ(つд`)



63 名前: デフォルトの名無しさん 投稿日: 02/09/23 23:43
WINSHELLAPI UINT APIENTRY SHAppBarMessage(
DWORD dwMessage,
PAPPBARDATA pData
);

Parameters
ABM_ACTIVATENotifies the system that an appbar has been activated.
ABM_GETAUTOHIDEBARRetrieves the handle of the autohide appbar associated with a particular edge of the screen.
ABM_GETSTATERetrieves the autohide and always-on-top states of the Windows taskbar.
ABM_GETTASKBARPOSRetrieves the bounding rectangle of the Windows taskbar.
ABM_NEWRegisters a new appbar and specifies the message identifier that the system should use to send notification messages to the appbar.
ABM_QUERYPOSRequests a size and screen position for an appbar.
ABM_REMOVEUnregisters an appbar, removing bar from the system's internal list.
ABM_SETAUTOHIDEBARRegisters or unregisters an autohide appbar for an edge of the screen.
ABM_SETPOSSets the size and screen position of an appbar.
ABM_WINDOWPOSCHANGEDNotifies the system when an appbar's position has changed.



64 名前: デフォルトの名無しさん 投稿日: 02/09/23 23:56
>>63
キタ━(゚∀゚)━( ゚∀)━(  ゚)━(  )━(  )━(゚  )━(∀゚ )━(゚∀゚)━!!!!!
ありがとうございます。
現在実験中です、AppBarDataがちょと難しいです・・・がんばります。



65 名前: デフォルトの名無しさん 投稿日: 02/09/24 00:18
>>61
その文字列をすべてChr(0)の文字にする、ということだと思われ。


66 名前: デフォルトの名無しさん 投稿日: 02/09/24 00:27
>>63
君の資料は古いと思われ。

>>64
ABM_SETSTATUSを使う。ただし、WinXPでしか効かない。
Win95、98、NT4、2000でダメなことは確認済み。

それ以外の環境だと10個くらいのAPI駆使して、
無理やり設定ダイアログだして「自動的に隠す」を切り替える方法を
取ろうとしていた人もいたがうまくいったかどうかは知らない。



67 名前: デフォルトの名無しさん 投稿日: 02/09/24 00:27
>61
ttp://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=utf8&oe=utf8&q=NULL%E3%81%A8%E3%81%AF


68 名前: デフォルトの名無しさん 投稿日: 02/09/24 00:34
>>66
win98です、だめそうですね・・・
あきらめます、ありがとうございました。




69 名前: 投稿日: 02/09/24 08:59
VBってさ、メモリリークを 起こすかな?

配列とか 確保しても 解放しなくてもいいよね?

誰か 教えて。


70 名前: デフォルトの名無しさん 投稿日: 02/09/24 10:39
循環参照がだめなんじゃなかったっけか。



71 名前: 投稿日: 02/09/24 14:14
VB6のSP5を入れてます。

画面を作るときに、リストボックスの大きさをFORMの大きさにより
変更したいのですが、標準でそのようなコントロールは、あるのでしょうか?
教えてください。


72 名前: デフォルトの名無しさん 投稿日: 02/09/24 14:17
>>69
その配列を private で使用しているフォームのunload時に、
set frmXXX = Nothing
とすればそのfrm内の配列は開放される。
逆にこれを入れないとform内の全ての保持値がメモリに残ったままになっているので
(VBアプリを終了するともちろん解放されるが)
保持しておく必要がないなら入れるべきだろう。


73 名前: デフォルトの名無しさん 投稿日: 02/09/24 14:18
>>66
WinAPI使うたびに思うんだけど、なんでもっと便利関数にしないのかな。

TaskBarAutoHide(TRUE);

みたいなAPIを用意してくれればいいのに。


74 名前: 投稿日: 02/09/24 14:19
追記
フレームみたいに 二つのリストボックスの大きさを調整したいんです。



75 名前: 74 投稿日: 02/09/24 14:20
追記は 71に対してです。


76 名前: デフォルトの名無しさん 投稿日: 02/09/24 14:25
>>72
プ


77 名前: デフォルトの名無しさん 投稿日: 02/09/24 14:51
VB.Netでつくったアプリは、
Win98以下は対応にならないんですか?


78 名前: デフォルトの名無しさん 投稿日: 02/09/24 14:54
>>72
勝手に仕様を作るな


79 名前: デフォルトの名無しさん 投稿日: 02/09/24 14:55
>>71 >>74 >>75
何をやりたいのか意味不明です。

>画面を作るときに、
もしやデザイン時に、って事?

>リストボックスの大きさをFORMの大きさにより変更したいのですが、
普通に変更すればいいんじゃ・・・

>標準でそのようなコントロールは、あるのでしょうか?教えてください。
どのようなコントロールかわからないので答えられないです。

>フレームみたいに 二つのリストボックスの大きさを調整したいんです。
フレームもリストボックスもサイズ変更の仕方は同じでは。


80 名前: デフォルトの名無しさん 投稿日: 02/09/24 15:42
>>78
じゃあどういう仕様だよ。
教えれ.


81 名前: デフォルトの名無しさん 投稿日: 02/09/24 16:07
>>72 >>80
Unload時にNothingを代入しても配列は解放されていませんが何か?
ヒント Main関数のDim〜の行をコメントアウトすると解放されるけどね。

<Module1>
Sub Main()
  Dim Form1 As New Form1
  Form1.Show vbModal
  MsgBox Form1.arraysize
End Sub

<Form1>
Private m_a() As Long
Public Property Get arraysize() As Long
  On Error Resume Next
  arraysize = UBound(m_a)
End Property

Private Sub Form_Load()
  ReDim m_a(100)
End Sub

Private Sub Form_Unload(Cancel As Integer)
  Set Form1 = Nothing
End Sub


82 名前: デフォルトの名無しさん 投稿日: 02/09/24 16:16
誰か教えてください…
マウスの右クリックとctrlキーの使用が禁止されているアプリケーションから、
テキストデータをコピーするプログラムを作成中です。
しかし、上記の禁止事項の為に、クリップボードの中にテキストデータを持ってくることが
出来ません。
コピーを行いたいテキストを反転させる事までは可能です。

使用言語はVB6.0とVC++6。0です。


83 名前: デフォルトの名無しさん 投稿日: 02/09/24 16:22
上記の禁止事項に引っかからずにクリップボードの中にテキストデータを持ってくるような仕組みを作りなされ。



84 名前: 投稿日: 02/09/24 16:54
>>79

エクスプローラーとかで フォルダが出てる部分とファイルが出てる部分がありますよね。
そのフォルダのフレームの大きさとファイルのフレームの大きさは、
両方の真中にある区切りで調整できます。
また、エクスプロラー自体の大きさを変えても、
フォルダやファイルの部分の大きさが変わります。

こういうのをやりたいのですが、その真中の区切りみたいなのは
何かコントロールでできないかと いうことです。



85 名前: デフォルトの名無しさん 投稿日: 02/09/24 17:05
>>84
アプリケーションウィザードで、エクスプローラースタイルのを
作ってみてコード見てみ。やってること分かるから。


86 名前: デフォルトの名無しさん 投稿日: 02/09/24 17:08
>>84
真中の区切りというのは左右のコントロールの境い目という事ですね。理解しました。
左のコントロールのWidthプロパティ、右のコントロールのLeft及びWidthプロパティを調節すればOKです。

ちなみに「フレーム」というと通常VB組み込みのフレームコントロールの事を指すと思います。
混同するので>>74>>84のような意味では使わない方がよろしいかと。


87 名前: デフォルトの名無しさん 投稿日: 02/09/24 17:10
あぅ


88 名前: 82です 投稿日: 02/09/24 17:29
>>83
教えて貰えませんか?


89 名前: デフォルトの名無しさん 投稿日: 02/09/24 17:39
Split 関数のデリミタに2個以上の文字を指定する事は可能ですか?
1個ずつ指定した Split 関数を何回か呼ばないとダメかな?



90 名前: デフォルトの名無しさん 投稿日: 02/09/24 17:46
誰か教えてちょー。
画像をクリックしたりして移動させたり特定の場所にくると吸い付いたり
その他の場所だと元にもどたっりするようなソリティアみたいな感じの・・


91 名前: 83 投稿日: 02/09/24 18:21
>88
教えるもなにも、仕様の問題だから何ともいえないよ・・・
パッと思いつく方法としては、テキストを選択すると、その周辺にコピーボタンが表示されるとか。
Officeみたいな奴ね。



92 名前: デフォルトの名無しさん 投稿日: 02/09/24 18:24
>>91
他のアプリケーションって書いてあるだろ。ちゃんと読んでやれよ。


93 名前: デフォルトの名無しさん 投稿日: 02/09/24 18:32
Shift+Deleteの切り取りを使えるならそれ


94 名前: 投稿日: 02/09/24 18:50
>>89 一方の区切り文字をReplaceでもう一方の区切り文字に置き換えてからSplit


95 名前: 83 投稿日: 02/09/24 18:51
>92
取得元が他のアプリだと何か不都合でもあるの?
どっかのパッケージで中身が一切さわれません、ってならともかく。


96 名前: 89 投稿日: 02/09/24 18:55
>>94
おおっ! かしこい!
そんなやり方があったんだ。感謝。



97 名前: デフォルトの名無しさん 投稿日: 02/09/24 18:55
>>95
だからどっかのパッケージで中身が一切さわれないんだろ。


98 名前: デフォルトの名無しさん 投稿日: 02/09/24 18:57
プロージャ内で
Dim str as String
などと宣言しておいてからにまったく使用していなければ、
コンパイル時にこの str の領域をわざわざ確保しないようにしてくれますか?


99 名前: 82です 投稿日: 02/09/24 18:57
ええと、ctrlキーまたはshiftキーを押下げ、または
右クリックをすると、「そのキーは使えません」、
と言ったメッセージボックスが出るようになっていて、
コピーをすることが出来ません。今のところ、
clipboard.settext screen.activecontroll.seltext
でやってみようと思って居るのですけど、このままでは動かないみたいです。
フォーカスがあっていないみたいなのですが、それに関する記述が
必要なのでしょうか?



100 名前: 投稿日: 02/09/24 19:11
>>82 = 99
著作者がコピーさせたくないと思ってるであろうものをコピーしようとするのはどうなんでしょう・・・
てのは置いといて、パッと思いつくのは
そのアプリが使用しているデータファイルを直接読み込んでそのアプリの機能も統合したソフトを作る(w


101 名前: デフォルトの名無しさん 投稿日: 02/09/24 19:24
>ええと、ctrlキーまたはshiftキーを押下げ、または
>右クリックをすると、「そのキーは使えません」、
>と言ったメッセージボックスが出る

そのてのキーを無効にするってんならともかく、いちいちメッセージ出すあたり
そのへんの糞シェアウエア並みの仕様だなw


102 名前: デフォルトの名無しさん 投稿日: 02/09/24 19:26
>>101 別に普通の仕様じゃん。


103 名前: デフォルトの名無しさん 投稿日: 02/09/24 19:41
配列はEraceで消すんだよ


104 名前: デフォルトの名無しさん 投稿日: 02/09/24 19:42
× Erace
○ Erase


105 名前: デフォルトの名無しさん 投稿日: 02/09/24 20:05
37なんですが。
誰か教えて。。


106 名前: デフォルトの名無しさん 投稿日: 02/09/24 20:14
>>105
ヘルプみろ


107 名前: 37 投稿日: 02/09/24 20:28
とっくにみてますよぉ。


108 名前: デフォルトの名無しさん 投稿日: 02/09/24 20:39
>>107
リストボックス特有のイベントになにがあるか言えるか?
それを全部試せ。


109 名前: デフォルトの名無しさん 投稿日: 02/09/24 21:15
>>107
ListView_ItemClickかな。
罠があった気がするけど。


110 名前: デフォルトの名無しさん 投稿日: 02/09/24 21:25
>>81
> Unload時にNothingを代入しても配列は解放されていませんが何か?

ったく、VB 厨はいつまでたっても進歩しないな。
お前が、Form1 の Form_Unload() で代入している、Form1 は Module1 の Form1 じゃねーぞ、ヴァカ。


111 名前: 81 投稿日: 02/09/24 21:33
>>110
わかってるよ。お前は文章も読めないのか? 勝手に三行目を消すな。


112 名前: ヴァカはお前 投稿日: 02/09/24 21:40
>>110
( ´,_ゝ`)プッ


113 名前: 66 投稿日: 02/09/24 21:53
>>73
そうするとAPIの数が数十倍に膨れ上がる罠。


114 名前: デフォルトの名無しさん 投稿日: 02/09/24 22:06
>>77
>VB.Netでつくったアプリは、
>Win98以下は対応にならないんですか?

Win98は対応している。Win95が対象外。



115 名前: デフォルトの名無しさん 投稿日: 02/09/24 22:22
>>82
その糞ソフトの名前晒せ


116 名前: デフォルトの名無しさん 投稿日: 02/09/24 22:47
BorderStyleを可変や固定-実線にすると、
タスクバーに切り替えボタンが表示されますよね?
BorderStyleをなしにしてそのボタンを表示させたいのですが、
どうしたらいいでしょうか?


117 名前: デフォルトの名無しさん 投稿日: 02/09/24 23:26
>>111
> わかってるよ。お前は文章も読めないのか? 勝手に三行目を消すな。

真からヴァカだな。大体、VB 厨の >>81 が Set Form1 = New Form1 なんてことするから、わからなくなるんだよ。
Set FormX = New Form1 とかしてみれ、ヴォケ。
念のために言っとくけど、その下もちゃんと修正するんだぞ。その行だけ変えて、ププッとか書いてくるなよ。
(Form1 の Form_Unlaod の中をどう修正するのかが、楽しみだよ。)


118 名前: デフォルトの名無しさん 投稿日: 02/09/24 23:49
>>117
お前>>72読んでないだろ。だから文章読めないって言われるんだ。
>>81>>72に対する皮肉。わざと問題のある例をだしてるんだよ。
日本語から勉強しなおして来い。


119 名前: デフォルトの名無しさん 投稿日: 02/09/24 23:50
> その行だけ変えて、ププッとか書いてくるなよ。

( ´,_ゝ`) ププッ


120 名前: 118 投稿日: 02/09/24 23:53
皮肉というより問題定義と言った方がいいな。


121 名前: デフォルトの名無しさん 投稿日: 02/09/24 23:52
> 真からヴァカだな。大体、VB 厨の >>81
仲間割れですか?


122 名前: デフォルトの名無しさん 投稿日: 02/09/24 23:54
>>121
ヴァカは仲間ではありません。


123 名前: デフォルトの名無しさん 投稿日: 02/09/25 00:07
ていうか、Unload時にちゃんと = Nothing しても、
そのフォーム以外からの参照されるコーディングがあれば
= Nothing
の記述の時点では実は解放されていないだけ。
他から参照されるコーディングがなければちゃんと解放されてる。

formsコレクションでどういう場合にフォームが残っているか確認してみそ。


124 名前: 123じゃないけど 投稿日: 02/09/25 00:38
UnloadでSet FormX = NothingなんてしなくてもFormsコレクションを含め
参照しているものがなくなればフォーム内の配列なんかは自然と解放される。

自分のフォームがたまたまグローバルなFormXで作成されているときはUnload時に
グローバルな参照を解放することによりその時点でフォームが削除されるけど、
自分のフォームがグローバルなFormXじゃない時にグローバルなFormXにNothingを
代入するのは意味ない。むしろ関係ないものをNothingしているからバグといってもいい。

Set FormX = Nothingで万事解決みたいな言い方をするのはよくわかってない奴の言うことさ。


125 名前: デフォルトの名無しさん 投稿日: 02/09/25 00:47
>>72
1つ賢くなったね


126 名前: 37 投稿日: 02/09/25 01:51
ItemCheckだとそれらしい感じだけど
選択数を増やしていくのは問題ないけど減らしていくときイベントが起きないです。
あと、なんか選択している数分イベントが起きてしまいます。
MouseMoveでやろうとしたら、なんかドラッグしても最初しかイベントが起きなかったです


127 名前: デフォルトの名無しさん 投稿日: 02/09/25 02:04
VB.NETについて質問させてください。

.NET FrameworkのCLR上で動作する.NETアプリケーションでは、
VB6.0まではレジストリに記録していたパラメータを「メタデータ」
なるものに記録することで、レジストリの操作が不要になったと本で
読みました。これは、どのような手法によって実現するのでしょうか。
例えば、ウィンドウの位置や大きさなどを、レジストリに頼らずに
起動時などに読み込みたいのです。基本的な記述方法を教えて
いただけるとありがたいです。よろしくお願いします。


128 名前: デフォルトの名無しさん 投稿日: 02/09/25 02:37
>>126
とりあえず、Timerと組み合わせて誤魔化せ。漏れはそうした。


129 名前: 37 投稿日: 02/09/25 08:15
Timerはさけたいなぁ


130 名前: 投稿日: 02/09/25 09:19
>>129
要はやりたい事がListViewの仕様と合ってないんでしょ。
なら違うコントロール探すか、無ければ作るか、
または他のもので代用するか、やりたい事をある程度妥協するか。


131 名前: nobukiti 投稿日: 02/09/25 09:20
画面を常に最前面に表示ってSetWindowPos使うしかないんでしたっけ?
プロパティちょちょっといじってできませんでしたっけ?


132 名前: 投稿日: 02/09/25 09:28
>>130補足
B表形式のコントロールを使うに0.7票 Cに0.3票


133 名前: nobukiti 投稿日: 02/09/25 09:37
答えろオラ


134 名前: nobukiti 投稿日: 02/09/25 09:38
>>133は僕ではありません。


135 名前: デフォルトの名無しさん 投稿日: 02/09/25 09:39
自分で調べろオラ


136 名前: 投稿日: 02/09/25 09:53
>>98

先頭に ' をつけとけば 大丈夫(w


137 名前: デフォルトの名無しさん 投稿日: 02/09/25 10:04
>>131
何故SetWindowPosじゃダメなの


138 名前: 135 投稿日: 02/09/25 10:05
>>135は僕ではありません。


139 名前: デフォルトの名無しさん 投稿日: 02/09/25 10:46
∧             ∧
       /.::ヽ           /.:: ヽ
      /.::: ヽ          /.:::: ヽ
      /.:::  ヽ         /.::::  ヽ     このスレは一体
     /.::::::.  ヽ,,,,,,,,,,,,,,,,,,,,,,,,,,,/.::::::::.  ヽ
    /.:::::::::::                 ヽ       何なのですか         
    /.:::::::::   /        ヽ     ヽ
   /.:::::::   / ‐・‐     ‐・‐\     ヽ
   ヽ.::::::       .::::            /
    ヽ.:::::      .:::::            /
     ヽ.::::     \__/      /
      ヽ.::::      \/       /
       \.:::::            /



140 名前: デフォルトの名無しさん 投稿日: 02/09/25 10:48
>139
その耳のズレは一体何なのですか?


141 名前: 135 投稿日: 02/09/25 10:53
frm_呼び先.Show 1, frm_次画面

で最前面表示できるべヨ?



142 名前: 135 投稿日: 02/09/25 10:53
>>141
これ僕です。


143 名前: デフォルトの名無しさん 投稿日: 02/09/25 11:38
自分がつくってるソフトにいつのまにか
Microsoft Data Formatting Object Library( MSSTDFMT.DLL)
に参照設定がついてしました

ランタイムにはこれがはいってないものもあるらしくつかわないで済むなら
使いたくないのですが どのようなものに必要とするのでしょうか?
また参照設定をはずしても問題なさそうなのでそのままコンパイルしましたが
環境によって MSSTDFMT.DLL がないとエラーがでて起動しませんでした


144 名前: デフォルトの名無しさん 投稿日: 02/09/25 11:40
前なったことがあるけど普通に切った。なんとも無い。


145 名前: nobukiti 投稿日: 02/09/25 13:56
ちんこ


146 名前: 投稿日: 02/09/25 14:11
VBで作ったActiveXのDLLなんですが、VBでは使用するとちゃんと
DLL内でイベントを発生するんですが、ExcelのVBAで用いると
イベントが 発生しません。
どうしてか どなたか わかりますでしょうか?


147 名前: デフォルトの名無しさん 投稿日: 02/09/25 14:25
質問させてくださいませ。
chck_cntの値が◆の時点で消えちゃうんだけど、
原因は何なんですかね?こんな現象初めてで、
困ってます。。。

function checkbox()
   dim iDatLoop
   dim iDatArray
   dim chck_cnt
   chck_cnt = 0
   Response.Write chck_cnt▲
   iDatArray=session.Contents("GHERLST_Dat")
   for iDatLoop = 0 to session.Contents("GHERLST_Cnt")-1
      if request("ErrSend" & iDatLoop)="1" then
         iDatArray(iDatLoop,0)=1
         chck_cnt = chck_cnt + 1
         Response.Write chck_cnt◆
      else
         iDatArray(iDatLoop,0)=0
      end if
   next
   Response.Write chck_cnt○
   session.Contents("GHERLST_Dat")=iDatArray
   checkbox=chck_cnt
end function


148 名前: デフォルトの名無しさん 投稿日: 02/09/25 14:44
取り敢えずLongとか型宣言しろ


149 名前: 147 投稿日: 02/09/25 14:46
ASPなんですが・・・。


150 名前: デフォルトの名無しさん 投稿日: 02/09/25 14:48
「消えちゃう」ってスゲェよ。
次はハトが出そうだなヲイw


151 名前: nobukiti 投稿日: 02/09/25 14:51
>>147
?さんの登場を待て。
彼ならなんとかしてくれる


152 名前: デフォルトの名無しさん 投稿日: 02/09/25 14:56
ずびばぜん、
フォーム上でExcelのワークシートを表示したいのですが、
どういう方法で実現できるのでしょうか。。

Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Open("hogehoge.xls")
Set xlSheet = xlBook.Worksheets("Sheet1")
xlApp.Visible = True

↑これだと、Excelが起動してシートがひょうじされますが、
そうでなくて、フォーム上にグリッドのように表示したいのです。
全ての値をグリッドに放り込むしかないのでしょうか??


153 名前: 146 投稿日: 02/09/25 15:08
解決しました。
エクセル側での入力ミスでした〜〜

宣言した時に設定したオブジェクト名が 間違えてました。



154 名前: 投稿日: 02/09/25 15:27
>>147
消えちゃう、でなくてゼロになるとかNullになるとか具体的に言う癖付けたほうがいいかも。

で、こんな感じになってないかな?
Option Explicit
Dim flg As Boolean

Sub a()
  Dim cnt As Long
  cnt = 0
  If flg = 0 Then
    cnt = cnt + 1
    b cnt
  End If
  MsgBox cnt
End Sub

Sub b(cnt As Long)
  flg = 1
  a
End Sub


155 名前: 147 投稿日: 02/09/25 15:47
>>154
自己解決しますた(*´д`*)

IISの環境にデバッガが導入されてなかったから
見つけ出すのに苦労しました(*´д`*)

session.Contents("GHERLST_Dat")に代入する
変数のRedim時に値の入ってない変数を使ってた(*´д`*)
変えたの誰だよ!って感じです(*´д`*)


156 名前: 投稿日: 02/09/25 15:56
ODBC経由(DAO3.6)で AccessのMDBを使用しています。

この時、このMDBに含まれるテーブル名をすべて 取得するには
どうしたらいいのでしょうか?


157 名前: 37 投稿日: 02/09/25 15:58
う〜ん、そうか。
実現できないわけはない気がするけど。


158 名前: 投稿日: 02/09/25 16:00
ListBoxで リストに加えた文字列がリストボックスから はみ出すほど長い
場合、下に スクロールバーとか出ればいいなと思うのですが、出せないでしょうか?

また、このようなコントロールは ありますでしょうか?


159 名前: 37 投稿日: 02/09/25 16:31
>>158
わしが今悩んでるListView使えばいいんでないかいな?


160 名前: 教えて!! 投稿日: 02/09/25 16:37
ACEESSでフォームを開く時に最大化するモジュールを教えて!!


161 名前: デフォルトの名無しさん 投稿日: 02/09/25 16:50
>>158
SendMessage分かる?
ListBoxに「横スクロールバー表示しろやゴルァ!!」ってSendMessageすれば表示されるよ。


162 名前: 156 投稿日: 02/09/25 17:00
156の続き

オラクルで テーブル名を取得する場合、
select * from tab;
とかやります。
こういうの ないでしょうか?



163 名前: nobukiti 投稿日: 02/09/25 17:17
>>162
これちゃうのン?
http://www.google.co.jp/search?q=cache:Gj89wtoK65AC:www.accessclub.org/samplefile/samplefile_69.htm+ACCESS+%E5%85%A8%E3%83%86%E3%83%BC%E3%83%96%E3%83%AB%E5%90%8D&hl=ja&ie=UTF-8


164 名前: ぽん太 投稿日: 02/09/25 17:19
>>162
http://www.google.co.jp/search?q=cache:w1Mfjkp9pZoC:keep-on.com/~excelyou/1999lng4/199911/99110152.txt+ACCESS+%E5%85%A8%E3%83%86%E3%83%BC%E3%83%96%E3%83%AB%E5%90%8D&hl=ja&ie=UTF-8


165 名前: nobukiti 投稿日: 02/09/25 17:20
ぽん太氏ね


166 名前: 158 投稿日: 02/09/25 17:23
>>161
おおっ できた!
さんきゅ〜〜

http://www2.synapse.ne.jp/waka/Tequ02.htm


167 名前: 162 投稿日: 02/09/25 17:32
>>162

ADODB.ConnectionとADODB.Recordset を使っては 可能でしょうか?


168 名前: デフォルトの名無しさん 投稿日: 02/09/25 17:47
Windows2000とかXPだと、確か英語版のランタイムがインストールされていましたよね?
ときどき文字化けしますってメールとかくるので、英語版のランタイムが入っていたら
「日本語版にしろやゴルァ」ってメッセージをだしたいのですが、
どうやったら判断できるでしょうか?
表示先ですけど、MsgBoxなら化けないですよね?


169 名前: デフォルトの名無しさん 投稿日: 02/09/25 18:06
教えてください。
フレキシブルグリッドコントロールってMAX何行まで逝けるんですか?
12501行目に行を追加しようとするとあぼーんしてしまいす。



170 名前: のの太 投稿日: 02/09/25 18:12
12500件も一度に表示させる必要あるの?
表示件数の上限を超えましたとかメッセージだして
アプリ側で表示件数制御させたら?



171 名前: デフォルトの名無しさん 投稿日: 02/09/25 19:06
>>167
SELECT MSysObjects.Name FROM MsysObjects where type=1;
で出来ると思います。



172 名前: デフォルトの名無しさん 投稿日: 02/09/25 19:16
よ〜しらんけど、表示も遅くなりそうだし、
配列で保存しておいてある程度スクロールしたら書き換えるようにするもんじゃないの?
>フレキシブルグリッド


173 名前: 分かる人お願い 投稿日: 02/09/25 20:28
花見.bmpをPicture1.pictureにセット
"a"をかく
Picture1.ScaleMode = 3
Picture1.FontSize = 100
Picture1.CurrentX = 0
Picture1.CurrentY = 0
Picture1.Print "a"

'Picture2にPicture1をコピーする
Picture2.PaintPicture Picture1, 0, 0

このときPicture2には花見.bmpだけで、
プリントした"a"が表示されません。
どうしたら"a"も表示できるか教えてください。


174 名前: デフォルトの名無しさん 投稿日: 02/09/25 21:21
すいません、質問させて下さい。
test.mdbというMDBにTESTとTMP_TESTという2つのテーブルがあります。
(二つのテーブルはまったく同じ形です)
TESTには一件のレコードがあり、SELECT文の実行でrs_testに取得します。
rs_testに格納されたレコードをrs_test2にコピーして
TMP_TESTテーブルにINSERTを行いたいのですが、どうしたら良いのでしょう?
色々試行錯誤してみたのですが、駄目でした。
どなたかアドバイスお願いします



175 名前: 174 投稿日: 02/09/25 21:22
これがソースです。

Dim cnn As New ADODB.Connection ' ADOコネクションオブジェクト
Dim rs_test As ADODB.Recordset
Dim rs_test2 As ADODB.Recordset
Dim str_SQL As String

' 接続
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\test\test.mdb;"

Set rs_test = New ADODB.Recordset
Set rs_test2 = New ADODB.Recordset

str_SQL = ""
str_SQL = "SELECT * FROM TEST"

rs_test.Open str_SQL, cnn, adOpenStatic, adLockPessimistic
rs_test2.Open "TMP_TEST", cnn, adOpenStatic, adLockPessimistic

Set rs_test2 = rs_test.Clone

rs_test2.AddNew
rs_test2.Update

rs_test.Close
rs_test2.Close

' 切断
cnn.Close


176 名前: デフォルトの名無しさん 投稿日: 02/09/25 21:36
>>126
正直に言えよ。ホントはItemCheckじゃなくてItemClickなんだろ?


177 名前: デフォルトの名無しさん 投稿日: 02/09/25 21:38
>>127
VB.NETネタは専用スレにお願いしまふ。
でもって、マルチポスト先でレスついてまふ。


178 名前: 37 投稿日: 02/09/25 21:47
>>176
うぉ、ホントじゃん。その通りって言うかなんでItemCheckなんて書いたんだか全く分けわからんです


179 名前: デフォルトの名無しさん 投稿日: 02/09/25 21:54
>>178
何で書いたかわからないだと? ただの誤植だろ。heとliの違いしかないからな。
間違えても当然だ。それくらいわからんのか。


180 名前: 37 投稿日: 02/09/25 21:57
うむ、まぁそうではありますが。。


181 名前: デフォルトの名無しさん 投稿日: 02/09/25 22:38
>156 (= >162)
SQLDMOでも使ってくれい。


182 名前: 投稿日: 02/09/26 09:27
>>174
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\test\test.mdb;"
cnn.Execute "insert into TMP_TEST select * from TEST"
cnn.Close


183 名前: 162 投稿日: 02/09/26 09:31
>>171

これが 一番 妥当そうですね。
http://www.zenko3.com/tips/access_system_object.html
に 詳しくかかれてました。



184 名前: 投稿日: 02/09/26 10:09
[Access2000]

VBからMDBへADOで接続し、
MSysObjects内のNameプロパティ値を取得しようと思ったのですが、
「MSysObjectsの読み取り権限がない」
というエラーメッセージが表示されてしまいます。
全てのオブジェクト名(テーブル、レポート、モジュール)を取得したかったのですが、
なにかよい方法はありませんか?



185 名前: 投稿日: 02/09/26 10:52
テーブル名一覧取得

Dim cnnDB As ADODB.Connection
Dim rstList As ADODB.Recordset

Set cnnDB = New ADODB.Connection

' 接続を開きます。
With cnnDB
.Provider = "MSDASQL"
.Open "DSN=DSN名を書く"
End With

' テーブル スキーマ行セットを開きます。
Set rstList = cnnDB.OpenSchema(adSchemaTables)

' 結果をループして、イミディエイト ウィンドウ
' に名前と種類を出力します。
With rstList
Do While Not .EOF
If .Fields("TABLE_TYPE") <> "VIEW" Then
Debug.Print .Fields("TABLE_NAME") & vbTab _
& .Fields("TABLE_TYPE")
End If
.MoveNext
Loop
End With
cnnDB.Close
Set cnnDB = Nothing



186 名前: 184 投稿日: 02/09/26 10:59
答えろオラ


187 名前: デフォルトの名無しさん 投稿日: 02/09/26 11:05
DAOツカエ
DAO最強
DAOマンセー


188 名前: 投稿日: 02/09/26 11:32
>>184
Dim str As String
Dim ac As Access.Application
Dim ag As Object

Set ac = New Access.Application
ac.OpenCurrentDatabase "c:\db1.mdb"
For Each ag In ac.CurrentDb.TableDefs
  str = str & ag.Name & vbNewLine
Next
For Each ag In ac.CurrentProject.AllReports
  str = str & ag.Name & vbNewLine
Next
For Each ag In ac.CurrentProject.AllModules
  str = str & ag.Name & vbNewLine
Next
MsgBox str


189 名前: デフォルトの名無しさん 投稿日: 02/09/26 11:34
アクセスが入ってないとダメぽ?


190 名前: 投稿日: 02/09/26 11:59
>>189 = >>184
持ってないんですか?


191 名前: 184 投稿日: 02/09/26 12:48
>>189
>>190

オフィス2000が インストールしてあります。
あと、OSは XPです。



192 名前: デフォルトの名無しさん 投稿日: 02/09/26 13:09
DataGridの列数はどうやって増やすのですか?
プロパティ上にColumnなどのプロパティが見当たらないんです。
どなたかよろしくおねがします。


193 名前: デフォルトの名無しさん 投稿日: 02/09/26 13:53
TWAINを使ってしてスキャナーを操作したいのですが、どうしても上手くいきません。
プレビューは出来たのですが、パソに取り込む事が出来ません。
取込する前に関数から戻ってきてしまっているみたいです。
よろしくお願いします。

また、TWAINの操作方法のサンプル等が有りましたらこちらも教えて貰いたいのですが・・・


194 名前: うきくん 投稿日: 02/09/26 14:33
自分のPCのシステム秒が50になったときに、
実行させてる画面で、テキストボックスと
コンボボックスが消えちゃうんですけど。。。
visibleがfalseになる感覚です。

助けてください。


195 名前: 184 投稿日: 02/09/26 14:47
システム病ってなによ?


196 名前: デフォルトの名無しさん 投稿日: 02/09/26 14:49
いまさらですが...

>>120 :118 :02/09/24 23:53
>>皮肉というより問題定義と言った方がいいな。

問題提起の間違いですか?ププ


197 名前: 投稿日: 02/09/26 15:07
? len("3333123")
とやると
7が表示されます。

? lenb("3333123")
とやると
14となります。

実際、バイト数は11のはずなんですが、どうしたら11と取得できるのでしょうか?



198 名前: デフォルトの名無しさん 投稿日: 02/09/26 15:08
>>197
VBはUnicodeで文字を管理しているので半角も2バイトです。


199 名前: デフォルトの名無しさん 投稿日: 02/09/26 15:09
>>188
どうでもいいことだが、strという変数名はいやだなあ。


200 名前: デフォルトの名無しさん 投稿日: 02/09/26 15:11
>>197
FAQだけど
LenB(StrConv(文字列, vbFromUnicode))


201 名前: デフォルトの名無しさん 投稿日: 02/09/26 15:13
>>197
普通は LenB(StrConv("hogeほげ",vbFromUnicode)) かな。
他に方法あったかな?


202 名前: 投稿日: 02/09/26 16:19
ActiveXDLL側で、そのDLLを呼び出した側のウィンドウのハンドルを
取得できるのでしょうか?



203 名前: デフォルトの名無しさん 投稿日: 02/09/26 17:53
スタンダード版を買ってきてインストールしようとしたのですが、
最初の方のコンポーネントチェックでIE6でなと駄目と言われて
無理矢理インストールされそうになります。

2chのAAの関係でどうしても今使ってるIE5.01を残したいのですが、
IE6を入れてからIE5.01に戻すなんてことはできるのでしょうか?
ひょっとしてIE6を入れなくてもインストールできる方法があったりします?



204 名前: デフォルトの名無しさん 投稿日: 02/09/26 18:01
>>203
VMwareで解決!


205 名前: デフォルトの名無しさん 投稿日: 02/09/26 18:07
>>203
.NET?


206 名前: デフォルトの名無しさん 投稿日: 02/09/26 18:20
>>204
何のことか分からないので検索してみます。

>>205
はい、VisualBasic.net Standard です 


207 名前: デフォルトの名無しさん 投稿日: 02/09/26 18:27
>>203
.NETって事は、OSは2000かXP使うんだろ?
だったらIE6でも何もせずにフォント設定できるからAA問題なしじゃん。

仮に9x系でもズレを直すパッチってあるぞ。

つうわけで、IE6いれなされ。


208 名前: 203 投稿日: 02/09/26 18:37
え、IE6でもずれないんですか?
OSはWindows2000の英語版使ってます。
とりあえず試してみますね。
駄目だったらそれまでということで(^^;
みなさんありがとうございました。


209 名前: みやさん 投稿日: 02/09/26 19:07
VB(Access)ではNULLと空の文字列("")って同じですか?


210 名前: デフォルトの名無しさん 投稿日: 02/09/26 19:16
・オ・ヨ・ヘ・テ・ネ・゙・ケ・ッ、シ霹タ、ケ、、ヒ、マ、ノ、ヲ、キ、ソ、鬢、、、、ホ、ヌ、キ、遉ヲ、ォ。」


211 名前: デフォルトの名無しさん 投稿日: 02/09/26 20:16
>>209
 「VB(Access)では」っていう書き方が気になるが
 違うものだろ 普通 <NULLと空の文字列("")




212 名前: ふぅ 投稿日: 02/09/26 21:25
VBで、FlashGetや、Irvineにあるような
分割ダウンロードを実装するにはどうしたらいい?
ちなみにもう普通のダウンロード部分は出来てるんですが・・・。


213 名前: デフォルトの名無しさん 投稿日: 02/09/26 21:41
まず最初に普通にGET投げてContent-Lengthを得る。
その値を分割数で割り、
それぞれRangeヘッダ付けて分割数ぶんだけコネクション張りってな感じでは。


214 名前: ふぅ 投稿日: 02/09/26 22:03
>>213
あんたデキるナ?


215 名前: デフォルトの名無しさん 投稿日: 02/09/26 22:23
サブネットマスクを得るにはどうしたらよいのでしょうか。


216 名前: デフォルトの名無しさん 投稿日: 02/09/26 22:33
そりゃやろう思えばできるんじゃないかな。
でも既存のソフトに対抗できるクラスのものをVBで作ろうとしたら、
無謀とういうもので、やろうとは思わん。


217 名前: ふぅ 投稿日: 02/09/26 22:43
>>213
どうもです。
>Rangeヘッダ付けて分割数ぶんだけコネクション張り
ここが私が知りたかった核心部分でした。助かります。

ちなみに、こんなことしてる理由はといいますと、実は
ダウンロードツールを作ろうとしているのでは無いです。
とあるオンラインゲームを作ってるんですが、そういうのってソフト側から
自動でパッチ落としてきて適用しますよね。
そのパッチを落とすときに必要っぽいんですわ。


218 名前: 216 投稿日: 02/09/26 23:08
あ、>>214は「あんたデキるナ?」って書いてあったのか。
「あんたデキる?」って聞かれたのかとオモタ。


219 名前: デフォルトの名無しさん 投稿日: 02/09/27 01:03
>>217
なあVB初心者スレだぜ。


220 名前: デフォルトの名無しさん 投稿日: 02/09/27 01:07
>>219
だからなに?


221 名前: デフォルトの名無しさん 投稿日: 02/09/27 01:10
>>220
人工無能ですか?


222 名前: デフォルトの名無しさん 投稿日: 02/09/27 01:17
>>221
質問に答えるのを拒絶したか。答えられないなら別にそれでいいがね。


223 名前: デフォルトの名無しさん 投稿日: 02/09/27 01:47
>>222
コマンドまたはファイル名が違います.

C:\>


224 名前: デフォルトの名無しさん 投稿日: 02/09/27 02:15
VisualBasic6.0でクラスにMultiUseプロパティを定義してActiveXDLL
を作っています。

おもに、IIS上のASPからCreateObjectで関数を呼び出して使うた
めです。その関数は、別のWebサーバへHTTP通信をして値を取得
するという動作をします。

HTTP通信をするためにWinsockコントロールを使用しました。開発環境
(Windows2000)では動作しましたが、それをWindows2000Server上
で動かそうとするとWinsockのConnectでコケてしまうんです。

セットアップ媒体を作成したり、ocx周りの不足は散々確認したのですが
どうしても動きません。同じソースをNT4.0Server上で展開してステップ
実行して確認すると動作します。pingも通ります。他のコントロールは
使っていません。

なにか考えられることはありませんか・・・。


225 名前: 224 投稿日: 02/09/27 02:38
コケるというのは、間髪入れずに、接続エラー番号9を受信して
しまうと言うことです。


226 名前: 投稿日: 02/09/27 09:19
プログラムは ベテランですが VBは 最近、始めたので
初心者ですが、何か?


227 名前: デフォルトの名無しさん 投稿日: 02/09/27 09:28
>>226
お前、ふぅ?


228 名前: FIGHT 投稿日: 02/09/27 09:50
現在VB6.0SP5.0を使用しております。TreeViewコントロールでエクスプローラのような階層の
表示をさせております。
例)
+神奈川県
 +蒲生町
 +米五町
+東京都
 +安芸町
 +三輪町
のように上記のようなデータがあるとします。(100件ほど上記のデータが続きます)そこで検索
の画面をだして該当する場所を指定したいのです(カーソルが移る)「神奈川県」の「米五町」を指定
させた場合そこの階層が開いてわかるようにしたのです。何かよい方法はないでしょうか?
サンプルなどがあればそこのHPなども紹介して欲しいのですが・・・。
よろしくおねがいします。



229 名前: 投稿日: 02/09/27 10:12
>>228

町名が 複数ある場合は、どうするんだ?


230 名前: FIGHT 投稿日: 02/09/27 10:14
>229
ユーザー側に検索させる時は、「県」と「町名」を必ず指定させます。
町名の重複はあっても県名の重複はないですよね。



231 名前: 投稿日: 02/09/27 10:17
県のすぐ下が町ってのも変だに。

東京は
東京都なんとか区なんとか 1−1−1
というふうに 町名がつかない場合がある。
神奈川県なんとか市なんとか町 なんとか 1−1−1
というパターンもある。
また、田舎だと
なんとか県なんとか郡なんとか町なんとか大字なんとか小字なんとか 1
とかいうのもある。
つーか
配列に 階層に入ってるもの(入れるときに)別に入れてやって
その配列で、何番目か調べて 開けばいいじゃん。

っーか TreeViewの何番目を開けってのは知らん(爆)


232 名前: 投稿日: 02/09/27 10:17
>>230
ツリービューにノードを追加する時にキーを設定する。
キーは検索入力させるデータ("神奈川県米五町"など)と同じにする。
あとは検索画面(テキスト検索ならInputBoxでいいんじゃない)を表示して
その返り値をtre.SelectedItem = tre.Nodes("神奈川県米五町")って感じにすれば出来上がり。


233 名前: デフォルトの名無しさん 投稿日: 02/09/27 10:17
>>228は中島みゆきオタ


234 名前: FIGHT 投稿日: 02/09/27 10:23
>231
>232
なるほどそういう手もありますね。
早速参考にさせていただきます
ご教授ありがとうございます。
>233
えっと、中島みゆきの歌の「ファイト」ですかね?
ギリギリわかりました。ちょっとかんがえてしまいました。
結構古い歌ですね。なつかしい。ちなみにオタではありませんyo。




235 名前: 投稿日: 02/09/27 10:26
232補足
存在しないキーを指定した場合はエラーになるのでその対応も忘れずに。


236 名前: デフォルトの名無しさん 投稿日: 02/09/27 10:29
>>235に補足
キー文字列には罠があるので注意。勝手に文字の同一視したりする。
できればHexエンコードなどを行った方が安心。


237 名前: 投稿日: 02/09/27 10:29
>TreeViewの何番目を開け
TreeViewを追加すると自動的に追加された順番でインデックスが付加されます。
後は同様にtre.SelectedItem = tre.Nodes(インデックス)って感じです。


238 名前: 投稿日: 02/09/27 10:30
237訂正 TreeViewを追加→TreeViewにノードを追加


239 名前: 投稿日: 02/09/27 10:42
ループ処理で ListBoxにアイテムを追加しているんですが、
追加する件数が多いので、ListBoxの表面に出てる部分の数を追加した
時点で、一旦表示したいんですが、可能でしょうか?

なお、表示後、listbox1.AddItemを 続けます。


240 名前: 224 投稿日: 02/09/27 11:10
>>225の続きです・・・。

同じクラスをPrivateにしてexeを作成したら
アッサリ動作しました。ActiveXDLLではダメな
ようです・・・。


241 名前: デフォルトの名無しさん 投稿日: 02/09/27 12:19
VB6.0でWebBrowserを使いVBのフォームの中にページを表示させるようにしました。
それでなんですが表示されたページの懸賞などの入力フォームなんかに自動入力させたいのですが
教えてください、お願いします



242 名前: デフォルトの名無しさん 投稿日: 02/09/27 12:22
VisualBasic6での質問です。

コモンダイアログで選択した複数のファイルを、
1つずつ取り出したいのですが、うまくいきません。
実際、選択したファイル群は、

"パス ファイル名1 ファイル名2 ・・・"

のようにスペースで区切られた形で取れるのですが、
Split関数を使って以下のようにしたいのですが、だめでした。
(1番目の配列にすべて入っています・・・)

F() : 配列
Files : ファイル群

F=Split(Files," ")

Split関数の使い方の間違い、またはその他のよい方法がありましたら
お教え願います。



243 名前: デフォルトの名無しさん 投稿日: 02/09/27 12:36
>>242
それホントに半角スペース区切り? NULLだったりしない?
コモンダイアログコントロールは使ったこと無いから知らないけど、
APIならNULL区切りだから、Split(Files,vbNullChar)ってやらなと
駄目だと思うが。


244 名前: 投稿日: 02/09/27 12:38
>>242
スペース区切りだったら C:\My Documents や C:\Program Filesは
どうなる?



245 名前: デフォルトの名無しさん 投稿日: 02/09/27 12:41
>241
君の文章には「何を」という言葉がぬけているぞ。


246 名前: デフォルトの名無しさん 投稿日: 02/09/27 12:46
>>242
ロングファイル名を有効にするフラグを立てた場合はNULL区切り、
無効にする場合はスペース区切りだな。
ちゃんとコモンダイアログのヘルプ(Flags プロパティ)に載ってるよ。
APIの場合でも同様だな。


247 名前: 241 投稿日: 02/09/27 12:48
あ、すいません。
自動入力させたいのは、iniファイルから読み込んだデータです。
懸賞なんかであれば名前や住所などです。
では改めてお願いいたします。

>245さん、ご指摘ありがとうございます。今自分で文章読んでみてアホだなと思いました。


248 名前: 242 投稿日: 02/09/27 12:49
MSDNより
---
[ファイル名]ボックスで複数のファイルを選択できるようにします。
ユーザーは、実行時に Shift キーと上下の方向キーを使って複数の
ファイルを選択できます。
複数のファイルが選択されると、選択されたすべてのファイルの名前を
含む文字列が FileName プロパティに設定されます。
FileName プロパティの文字列内のファイル名は、スペースで区切られます。
---
のようになっています。
特にスペースとしかかかれていません。一応全角、半角、space(1)で
確認しましたがだめでした。

実際の戻り値は、debug.printしたところ、
C:\Documents and Settings test.txt test2.txt
のようになっています。

C:\Documents and Settingsの部分はどうなるんでしょう?


249 名前: 242 投稿日: 02/09/27 12:54
>>243 さん
>>246 さん

cdlOFNLongNamesを設定して、vbNullCharでSplitできました。
ありがとうございます。

>>244 さん

実際上記の方法で取得したときには、
1番目の配列 "C:\Document and Settings"
2番目の配列 test1.txt
・・・
となりました。



250 名前: デフォルトの名無しさん 投稿日: 02/09/27 12:57
>>249
>>248のMSDN、下の方の「解説」の部分にちゃんと書いてあるので読んでおくよーに。

もしかしたら、OSのバージョンなどでcdlOFNLongNamesかcdlOFNExplorer
あたりが勝手に立ってしまうことがあるのかもしれない。無いかもしれないが。


251 名前: 投稿日: 02/09/27 13:49
>>239
Refresh(かDoEvents)すればいいんじゃないかな。
でもひとつ追加するたびにRefreshするととても遅くなるので
ループカウンタがいくつになった時、とかにすればいい。
もしくはループを分割してしまえばループ内で分岐判定する必要も無くなる。
コード汚くなるけど。


252 名前: 投稿日: 02/09/27 13:55
>>251

そのボックスに表示できる数にいったら、一旦 Refreshさせてるけど
ダメなようです。
その後は、Refreshさせてませんが。



253 名前: デフォルトの名無しさん 投稿日: 02/09/27 14:06
DoEventsはよ。


254 名前: 投稿日: 02/09/27 14:26
>>253
ああ なるほど!

DoEventsでokだ。
さんくすこ



255 名前: 投稿日: 02/09/27 14:28
>>251
Refresh(かDoEvents)って 書いてあったらから 同じもんかと
思っちゃったヨ!

Delphiだったら どうやったらいいか知ってたんだけどね。
VBは あんましやってなかったからさ。
おかげで 表示が 速くなったヨ。


256 名前: デフォルトの名無しさん 投稿日: 02/09/27 14:28
Winsockコントロール使って、サーバアプリケーションを作っています。

ConnectionRequestイベントの中で、acceptしたあと、
すぐにErrorイベントが2回続けて発生することがあるんですけど。

エラーの内容は、エラーコード=10053 「タイムアウトまたは他の問題によって、接続が中断されます」。

具体的になにが原因なのでしょうか?




257 名前: デフォルトの名無しさん 投稿日: 02/09/27 14:47
LAN上にあるVB製exeを起動したら、
ランタイムやコンポーネント(ocx)などは、
そのLAN上のマシンから読みとられるんですか?
それとも起動したマシンから読みとられるんですか?


258 名前: 投稿日: 02/09/27 14:59
Dim lRtn As Long
lRtn = SetWindowPos(form1.hWnd, -1, 0, 0, 0, 0, &H40)

これで 最前面に表示させようとしてますが、
実行すると タスクバーにもうひとつバーが表示されて
ほかの画面をクリックすると それが 最前面になってしまいます。

常に 最前面にするには どうしたらいいのでしょうか?



259 名前: デフォルトの名無しさん 投稿日: 02/09/27 15:04
>>257
よみとられません。


260 名前: デフォルトの名無しさん 投稿日: 02/09/27 15:05
>>256
サーバーアプリはVBじゃないほうがいいと思う


261 名前: デフォルトの名無しさん 投稿日: 02/09/27 15:14
>>258
Private Const HWND_TOPMOST = -1
Private Const SWP_SHOWWINDOW = &H40
Private Const SWP_NOACTIVATE = &H10
Private Const SWP_NOMOVE = &H2
Private Const SWP_NOSIZE = &H1
SetWindowPos hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE Or SWP_NOMOVE Or SWP_NOSIZE

多分、SWP_NOMOVEとSWP_NOSIZEを入れてないせいでしょう。


262 名前: 258 投稿日: 02/09/27 15:20
lRtn = SetWindowPos(Me.hWnd, -1, 0, 0, 0, 0, &H43)
とやったら OKでした〜〜

ActiveX DLLだと Form1のハンドルという取得の仕方ができないらしい



263 名前: 秋山蓮 投稿日: 02/09/27 15:32
>>262
はしゃぐな!!


264 名前: デフォルトの名無しさん 投稿日: 02/09/27 15:37
VB画面(frmAA)上からコマンドボタンを押したら
MDBへのデータ登録を行い、
登録が上手く行ったら
その画面(frmAA)のForm_Load処理を通すようにしたいんですけど、
その場合、

unload me
frmAA.show

と書く以外に良い方法ありますか?




265 名前: デフォルトの名無しさん 投稿日: 02/09/27 15:43
>>264
単純にForm_Load呼び出したら?って言うかその仕様妙かも。


266 名前: デフォルトの名無しさん 投稿日: 02/09/27 17:04
VB6+ADOでアプリを組んでいます。

あるレコードのフィールドAが更新されたら、その値に応じてフィールドBを更新しようと、
FieldChangeComplete イベント内に
pRecordset.files("B").Value=hoge
と言うコードを書いたのですが、「コンシューマのイベントハンドラはプロバイダの再
入不可能なメソッドを呼び出しました」となりうまくいきません。WillChangeFieldイベ
ントでも同様でした。

いい解決方法があれば教えていただけませんか。

OLD DB Provider は ODBC 、サーバはPostgreSQLを使用しています。



267 名前: デフォルトの名無しさん 投稿日: 02/09/27 17:04
>>241
無視されてかわいそうだから教えてあげる。
でもその手の垢取りツールまがいのものはあんまり好まれないから
こういう場で堂々と質問するのはちょっとマズったね。

それで、質問についての回答だけど。
ずばり、良い方法は無いと思って良い。俺も前やったことあるので。
無理矢理やるなら、WebBrowserコントロールにフォーカスを当てて
SendKeysでTabキーを送ってやれば、WebBrowser内で次のフォームか何かにフォーカスが移る。
そうして{TAB}{TAB}{TAB}{TAB}とやっていって、入力欄にフォーカスが行ったら
これもスマートな方法じゃないが、一旦入力したい文字列をクリップボードにコピーし
SendkeysでCtrl+Vを送る。(貼り付け)
こうすることでWebBrowserのフォーカスのある項目に文字列をセットできる。
次の項目にまた文字列を入れたい場合は、一旦クリップボードの内容をClearしてから
その項目に入れたい文字列をクリップボードにまたコピー、SendKeysでCtrl+V。


268 名前: デフォルトの名無しさん 投稿日: 02/09/27 17:23
みんなよけろ あきやまれん だけは ゆるせない!


269 名前: デフォルトの名無しさん 投稿日: 02/09/27 17:30
VBでシステム時刻(通算秒)を取りたいのですがどうしたら良いでしょうか?
わかる方教えてください。お願いします。


270 名前: デフォルトの名無しさん 投稿日: 02/09/27 18:59
Time関数ちゃうのン?


271 名前: デフォルトの名無しさん 投稿日: 02/09/27 19:05
>>241
受け取ったHTMLのStringを解析し、
input タグ内の value プロパティを任意の文字列に入れかえたHTMLを表示ってのが好きそうなやりかただけど。

何に使うのかわからないけど、決まりきったフォーム内容なら
最初からPOSTメソッドを作成して送るほうが手っ取りばやいと思うけど。

その場で図書券のスリーマンモスの時はそれにしたなぁ(藁
クッキーデータも取得して作成しなければならなかったけけど。


272 名前: デフォルトの名無しさん 投稿日: 02/09/27 19:08
>>271
ユニックスタイムスタンプみたいに、
通算秒にできればいいんですけど。
TIME$ でふたつの時間さを求めるには、秒や分が60までしかなかったり、
23の次が0だったり、
2月が28や29だったり30や31の月があったりするところで大変なので。


273 名前: 271 投稿日: 02/09/27 19:11
つづき。
または、onLoad関数に、

document.forms[0].name.value='hoge'

とかいうのを付加してHTMLを表示させるとか。


274 名前: デフォルトの名無しさん 投稿日: 02/09/27 19:17
>>272
timerじゃだめなのか?


275 名前: デフォルトの名無しさん 投稿日: 02/09/27 21:23
ディスプレイの解像度を変更してフルスクリーン化するプログラムを作りたいです。
DirectXとか使わないと無理なんでしょうか?


276 名前: デフォルトの名無しさん 投稿日: 02/09/27 21:31
ChangeDisplaySettings?


277 名前: 241 投稿日: 02/09/27 21:33
>>267 >>271
お二方ありがとうございます!!
>でもその手の垢取りツールまがいのものはあんまり好まれないから
>こういう場で堂々と質問するのはちょっとマズったね。
なるほどそうだったんですか・・。大変勉強になりました。
では、早速両方の方法で試して見ます。本当にありがとうございました!!


278 名前: デフォルトの名無しさん 投稿日: 02/09/27 21:51
>>272
Time関数から時分秒がわかるから、後は掛け算足し算だけじゃん。


279 名前: デフォルトの名無しさん 投稿日: 02/09/27 21:55
サブネットマスクの取得はどうすればいいのでしょうか。


280 名前: デフォルトの名無しさん 投稿日: 02/09/27 21:58
サブネットマスクって洗濯機に入っているゴミを集めるあれですか?


281 名前:     投稿日: 02/09/27 22:02
>>280
煽りで程度がわかるな。


282 名前: デフォルトの名無しさん 投稿日: 02/09/27 22:09
ある絵の上にマウスポインタを持っていくと、別の画像に切り替えるようなことはできますか?


283 名前: デフォルトの名無しさん 投稿日: 02/09/27 22:24
>>282
できます。


284 名前: 初心者 投稿日: 02/09/27 23:02
質問させていただきます。

フォーム上にコントロールがいくつかある時、現在フォーカスを持っている
コントロールは Screen.ActiveControl で確認できますが、
「今現在の"一つ前"にアクティブだったコントロール」を取得するにはどうしたらよいですか?
グローバルな変数を用意して、全てのコントロールの LostFocus 時に
コントロール名を保存しておく……と、これくらいしか思い浮かびません。

よろしくお願いします。


285 名前: デフォルトの名無しさん 投稿日: 02/09/27 23:15
Window98なんだけど、どういうシリアルキーで登録したかみるにはどうしたらいいでしょうか?


286 名前: デフォルトの名無しさん 投稿日: 02/09/27 23:22
>>284
なんでそんなものを取得したいの?
何をやりたいのかわからんけど、
たぶん別のアプローチで解決できると思うよ。
どうしても!ってことなら、
サブクラス化とかで方法がない訳でもないだろうけど。(思いつき発言)

一つ前のアクティブコントロールなんて
普通必要がないから簡単に取得できないんだと思わない?



287 名前: 284 投稿日: 02/09/27 23:31
>>286
ありがとうございます。
一つ前のアクティブコントロールを取得したい訳は、
「あるボタンが押されるとある処理が走るが、それがエラーになった場合、
 フォーカスを元の位置(ボタンをクリックする前の位置)に戻したい」
という仕様にしたいのです。

別のアプローチとはどういうことでしょうか。



288 名前: デフォルトの名無しさん 投稿日: 02/09/27 23:39
>>287
「状態」を保存しておく変数をひとつ持ってそれをもとにアクティブにするコントロールを割り出すとか。
各コントロールの状態からアクティブにすべきコントロールを返す関数を用意しておくとか。
いろいろあるじゃん。


289 名前: デフォルトの名無しさん 投稿日: 02/09/27 23:47
>>287
タイマーコントロールでグローバル変数にアクティブコントロールを
保存しとくってのがVB房らしくていいぞ


290 名前: デフォルトの名無しさん 投稿日: 02/09/27 23:47
>>287
タイマーコントロールで1秒おきにグローバル変数にアクティブコントロールを
保存しとくってのがVB房らしくていいぞ




291 名前: 284 投稿日: 02/09/28 00:03
>>288
ありがとうございます。

>「状態」を保存しておく変数をひとつ持って〜
つまり、状態Aならこれ、状態Bならこれ……という感じですかね。
その状態の"変化"を感知するにはやはりすべてのコントロールのイベントプロシージャが
必要になってくるのかな、と思いますが、どうでしょうか。

>各コントロールの状態から〜関数を用意しておく
その関数内ですべてのコントロールを調べて該当のものを返す、と。
つまりコントロールになにかしらの目印(フラグ)が必要になってきますね。(Tagプロパティを使ったり)
だとするとやはり、各コントロールのイベントプロシージャを記述する必要が……(?)。



292 名前: 284 投稿日: 02/09/28 00:09
>>289 >>290
ありがとうございます。
タイマーを使うとは考えつかなかったです。
確かにこれで要件は満たせそうですが、極力無駄なイベントを発生させたくないのと、
タイマーコントロールは規約で使用不可だった気が……スイマセン。


293 名前: デフォルトの名無しさん 投稿日: 02/09/28 00:22
>>292
タイマーはおそらくネタだから無視しろ。


294 名前: 284 投稿日: 02/09/28 00:25
>>293
あっ、そうなんですか(笑)
失礼しました。
「そういう方法もあるな」とマジメに思ってしまいました(笑)



295 名前: デフォルトの名無しさん 投稿日: 02/09/28 00:34
>>269
UNIX時間が欲しいなら、
UnixTime = DateDiff("s", #1/1/1970#, dateVB) - 32400 'JST-9
で取れる。


296 名前: 投稿日: 02/09/28 04:47
>>291
フォーカスの移動自体を無くせばいいと思います。
イメージコントロールはフォーカスを取得しないので、
押されてない状態のボタンの絵と押された状態のボタンの絵を
イメージコントロールで切り替えてそれをコマンドボタンの代わりにすればよろしいかと。


297 名前: デフォルトの名無しさん 投稿日: 02/09/28 11:24
>>294
ネタじゃねーぞ


298 名前: デフォルトの名無しさん 投稿日: 02/09/28 11:45
キーボードで操作できないボタンってのも、VBらしくてス・テ・キ。


299 名前: デフォルトの名無しさん 投稿日: 02/09/28 11:52
>>297
マジだったのか。これだから VB 厨は...。


300 名前: デフォルトの名無しさん 投稿日: 02/09/28 15:26
VB初心者スレ
歴代1位の厨は誰ですか?


301 名前: デフォルトの名無しさん 投稿日: 02/09/28 15:43
?はドラマ板のロッカーの花子さんスレにも書き込んでたな



302 名前: デフォルトの名無しさん 投稿日: 02/09/28 16:45
VB6でFormのタイトルバーを独自のものにしたいです。(色とか)
どうやれば出来ますか?簡単には出来そうもないので質問してみます・・・


303 名前: デフォルトの名無しさん 投稿日: 02/09/28 17:21
>>300
お ま え


304 名前: デフォルトの名無しさん 投稿日: 02/09/28 17:22
>>302
タイトルバーなしにして、自分で描画すればー。


305 名前: 300 投稿日: 02/09/28 17:51
>>303
そんなバナナ


306 名前: 284 投稿日: 02/09/28 21:06
>>296
ありがとうございます。
イメージを使った「偽コマンドボタン」ですか。
おもしろいかもしれませんね。

結局、「一つ前のコントロールにフォーカスを移す」仕様はやめました(笑)。
そこまで要求されませんでした。
皆さんありがとうございました。


307 名前: デフォルトの名無しさん 投稿日: 02/09/29 00:59
すみませ〜ん。
ピクチャーボックスで文字を表示してるのですが、
ピクチャーボックスに自動改行機能を付けるには
どうしたらいいのでしょう?

それと、適当な文字が左から何ドット上から何ドットの
位置にあるか取得できたら、自動改行ができるような
気がするのですが、取得方法はありますか?



308 名前: デフォルトの名無しさん 投稿日: 02/09/29 01:06
>>307
プログラムしろよ!
なにかわからないところがあるならそれを質問しろ。


309 名前: 投稿日: 02/09/29 02:22
>>298
キーボード操作なんて簡単に実装できますよね?
>>299
タイマー使うのそんなに実害あるかな?そんな事より、
使う使わないはともかく、一番短いコードで実現できる点を評価したい。

自分じゃ何も思いつかない能無しが見当違いの煽りしてんじゃないよ。
とかたまには言ってみたりしていいですか?

>>301
別の人ですね。今のところ?はこのスレでしか使ってないです。
でもあのドラマは何回か見ましたよ。面白かった。


310 名前: デフォルトの名無しさん 投稿日: 02/09/29 04:10
>>307
TextWidthで文字幅がわかるから、文字の描画位置は自己管理しる。


311 名前: 310 投稿日: 02/09/29 04:12
APIのDrawText関数を利用する手もあるかな。


312 名前: 1 投稿日: 02/09/29 08:35
文末の vbCrLf を削りたいのですけど、どういった方法がいちばんスマートでしょうか。

たとえば、Foo = "ABC" & vbCrLf & "DEF" & vbCrLf の場合の、
Perl で言うところの chop Foo や、Foo =~ s/\n$// です。


313 名前: 312 投稿日: 02/09/29 08:36
すんまへん。あげます。


314 名前: デフォルトの名無しさん 投稿日: 02/09/29 08:39
>>312
hoge = Replace(hoge,vbCrLf,"")
じゃ駄目なの?


315 名前: 312 投稿日: 02/09/29 08:58
>>314
それだと文中の vbCrLf も削られます。


316 名前: デフォルトの名無しさん 投稿日: 02/09/29 09:12
>>315
あぁ、なるほど。
If Right$(hoge,2)=vbCrLf Then
  hoge = left$(hoge,Len(hoge)-2)
End If
ってやって地道にやるしかないよーな…。



317 名前: デフォルトの名無しさん 投稿日: 02/09/29 09:21
>315
hoge = Left(hoge, Len(hoge) - 2)& Replace(hoge, vbCrLf, "", Len(hoge) - 1, 2)
か?


318 名前: デフォルトの名無しさん 投稿日: 02/09/29 10:06
Perlと同じように正規表現使ってやればいいじゃん


319 名前: 312 投稿日: 02/09/29 10:15
>>316-317
うへえ。泥臭いことしなくちゃいけないんですね。

>>318
.NET ぢゃないんです。


320 名前: 318 投稿日: 02/09/29 10:17
>>319
> .NET ぢゃないんです。
わかってるって。


321 名前: デフォルトの名無しさん 投稿日: 02/09/29 10:58
>320
Microsoft VBScript Regular Expressions 5.5を参照設定しる。(WSH5.6必要)
でもたかだかそのためだけにって感じも無きにしも非ず。


322 名前: デフォルトの名無しさん 投稿日: 02/09/29 11:56
VBSってここで聞いていいでちゅか?


323 名前: デフォルトの名無しさん 投稿日: 02/09/29 12:00
>>307
マルチポストかよ。


324 名前: デフォルトの名無しさん 投稿日: 02/09/29 15:03
>>322
おっけ。


325 名前: デフォルトの名無しさん 投稿日: 02/09/29 21:32
>>309
実害以前に、耐えられない仕様だ。
1秒おきの場合、
最後にTimerの関数が実行された後、ボタンが押されるまでに、
フォーカスが複数移動したらどうするんだ?

ってことは思いつかなかったんでしょうか?

すなおに TabStop = True であるコントロールの GotFocus イベントに書くのが余計な負荷をかけない。


326 名前: デフォルトの名無しさん 投稿日: 02/09/29 21:36
>>325
まあまあ、VBだから許してあげてよ。


327 名前: デフォルトの名無しさん 投稿日: 02/09/29 21:39
GotFocusにイベントを書くとめんどくさいから、クラスを作って
コントロールごとインスタンスを割り当ててそこから、
フォームに通知した方がいいね。


328 名前: デフォルトの名無しさん 投稿日: 02/09/29 21:41
>327
サンプルきぼん


329 名前: デフォルトの名無しさん 投稿日: 02/09/29 22:12
>>328
適当に作ったけどこんな感じかな。
Formにいくらコマンドボタンを置いても共通のIAllGotFocus_AllGotFocusが発生する。
この例はコマンドボタンだけ対応。他のコントロールに対応したかったら、
それ専用のClass1を作成するか、Class1を改造したり、まぁ他にも色々工夫してくれ。

<Form1>
Implements IAllGotFocus
Private m_controls As New Collection

Private Sub IAllGotFocus_AllGotFocus(ByVal ctrl As Control)
  Debug.Print ctrl.Name
End Sub

Private Sub Form_Load()
  Dim ctrl As Control
  For Each ctrl In Controls
    If TypeOf ctrl Is CommandButton Then
      Dim c1 As Class1
      Set c1 = New Class1
      c1.SetControl ctrl, Me
      m_controls.Add c1
    End If
  Next ctrl
End Sub

Private Sub Form_Unload(Cancel As Integer)
  Set m_controls = Nothing
End Sub


330 名前: つづき 投稿日: 02/09/29 22:13
<Class1>
Private WithEvents m_cmd As CommandButton
Private m_AllGotFocus As IAllGotFocus

Public Sub SetControl(ByVal ctrl As Control, ByVal AllGotFocus As IAllGotFocus)
  Set m_cmd = ctrl
  Set m_AllGotFocus = AllGotFocus
End Sub

Private Sub m_cmd_GotFocus()
  m_AllGotFocus.AllGotFocus m_cmd
End Sub

<IAllGotFocus>
Public Sub AllGotFocus(ByVal ctrl As Control)

End Sub


331 名前: デフォルトの名無しさん 投稿日: 02/09/29 22:33
要するにDecoratorパターンだな。


332 名前: 328 投稿日: 02/09/29 23:08
>329
thx−
なるほど。たしかにスッキリしてていいすね

Implementsってこう使うのか。。


333 名前: デフォルトの名無しさん 投稿日: 02/09/30 06:54
へ〜そんなことができるんだ。
<IAllGotFocus>
↑ってどういうこと?モジュールかな?


334 名前: デフォルトの名無しさん 投稿日: 02/09/30 10:51
いちばん便利なのはGoToだ


335 名前: みのもんた 投稿日: 02/09/30 10:53
>>334
正解!


336 名前: 投稿日: 02/09/30 11:37
>>325
>実害以前に、耐えられない仕様だ。
つまり目立った実害は無いという事ですか?
タイマーイベント内もたった一行だし余計な負荷がかかると言ってもたかが知れてますしね。

>1秒おきの場合、最後にTimerの関数が実行された後、ボタンが押されるまでに、
>フォーカスが複数移動したらどうするんだ?ってことは思いつかなかったんでしょうか?
インターバルを調節すればいいってことは思いつかなかったんでしょうか?

>すなおに TabStop = True であるコントロールの GotFocus イベントに書くのが余計な負荷をかけない。
だったらそう書けばいいのになんで余計な煽りするんですか?
質問者が他に手段はないかと聞きに来てる時に手段の1つとして上げてる、適切なレスだと思いますが。

つまらない言い合いしてすみません。。。
でも自分的にはくだらない煽りより面白い意見を聞きたいと思うんです。

>>329
そんなことが出来るんですか。勉強してみます。


337 名前: デフォルトの名無しさん 投稿日: 02/09/30 13:56
>>336
> インターバルを調節すればいいってことは思いつかなかったんでしょうか?

インターバルを調整しても、本質的には解決しませんよ。
Timerは優先順位が低いので、負荷がかかるとイベントが後回しになり
取りこぼすことになります。



338 名前: デフォルトの名無しさん 投稿日: 02/09/30 15:05
date型の変数の初期化ってどうするのが最良ですか?



339 名前: デフォルトの名無しさん 投稿日: 02/09/30 15:11
ファンタジィと呼ばれるピンク色の汁を出すよ



340 名前: 338 投稿日: 02/09/30 15:17
Emptyを代入。それでいいのだな?


341 名前: 325 投稿日: 02/09/30 15:34
>>336
以上のような理由でネタもしくは、
質問者を混乱させようという悪意かと思っただけ。
なので、質問者が混乱しないようにネタだと注意をしておいただけ。
あおってはいない。

>>337にもあるとおり、実際取りこぼしのないようにインターバルを
を小さくすればするほど余計な負荷がかかる上に、
どれだけ小さくしても完全ということはない。

>質問者が他に手段はないかと聞きに来てる時に手段の1つとして上げてる、適切なレスだと思いますが。
質問を良く見てみろ。
この手法はすでに質問者が自分で言っていて、他にいい手段はないのかと問ういている。
だからわざわざ質問者に対して書くべきことでもなかったのだ。


342 名前: デフォルトの名無しさん 投稿日: 02/09/30 15:44
質問です。

Dim Date1 As Date
Dim Date2 As Date

Dim Min As Integer

Date1 = "2002/09/30 12:00:00"

で、Date2にDate1のMin分後の日時を入れたいんですが、
スマートな方法教えてください。
お願いします。


343 名前: デフォルトの名無しさん 投稿日: 02/09/30 15:47
>>342

DateAdd 関数



344 名前: デフォルトの名無しさん 投稿日: 02/09/30 15:51
>>343
ありましたね。
ありがとうございました。



345 名前: 327=329 投稿日: 02/09/30 16:43
>>333
あぁ、そうか。使ったことが無い人にはいきなり名前だけ書いてもわからんわな。

<Form1>はフォームモジュール、<Class1><IAllGotFocus>はクラスモジュール。
ちなみにIAllGotFocusのIはこれがインタフェースであることを表している。
VBはクラスもインタフェースも宣言が同じなので名前でわかりやすくしている。


346 名前: デフォルトの名無しさん 投稿日: 02/09/30 17:18
VB6.0初心者です。相談に乗ってもらいたくて来ました。モマー(;´Д⊂ 
MSDNのヘルプを見ながらTCPのサーバーを作ってます。
クライアントからの通信を、クライアントそれぞれに返したいのですが、
色々いじっても、1つのクライアントにしか返送できませんでした。
(最初に立ち上げたクライアントしか返らない、通信を送ったクライアントにしか
 返送しない。最後に立ち上げた〜以下略。下のソースは、最初に〜の一部です。)

Winsock1(Index).GetData strData
txtData(Index).Text = strData

For i = 1 To intMax Step 1
If Winsock1(i).State = sckConnected Then
Winsock1(i).SendData strData
End If
Next

通信が確立しているソケット全てに対して、データを送っているイメージで、
プログラミングしています。
ちなみにクライアントとサーバ間はどれも通信はできていました。
通信できる状態でも、sckConnected 以外の値を取ったりしているのでしょうか?
それとも何か根本的な間違いをしてるんでしょうか?
わかる方がいたら教えて下さい、お願いします。


347 名前: デフォルトの名無しさん 投稿日: 02/09/30 17:46
DeveloperとかProfessionalっていうのはどう違うんですか?
単語の意味はわかるがあらわそうとしているものがわからない。


348 名前: デフォルトの名無しさん 投稿日: 02/09/30 18:17
6.0Enterprise Edition に付属のMSDEは配布可能なんでそうか?


349 名前: 333 投稿日: 02/09/30 18:18
>>345
ヘ〜。
ありがと〜。


350 名前: デフォルトの名無しさん 投稿日: 02/09/30 18:30
>>347

ちゃんとパッケージに書いてあるよ。
(あなたがVBを不法な手段で手に入れたのでなければね)

メーカーのテクニカルサポートサイトにも明示されているはず。


351 名前: デフォルトの名無しさん 投稿日: 02/09/30 18:38
>>350
あんがと。
まだ買ってないので<パッケージ
どれがいいかなと。

microsoftのページみてるけど、書いてることがいまいち意味がわからなかったりする。

例:右記の製品インストール時の追加必要システム > Microsoft Data Engine

これがあらわしてることがわからない。


352 名前: デフォルトの名無しさん 投稿日: 02/09/30 18:44
それから、6.0にするか.NETにするかもなやみどころ。


353 名前: デフォルトの名無しさん 投稿日: 02/09/30 19:03
>327 (=>329 =>345)
合格です。このスレでコテハンになる許可が下りました。


354 名前: 346 投稿日: 02/09/30 19:40
http://support.microsoft.com/default.aspx?scid=kb;ja;JP409932
現在上記のページで、winsockをコントロール配列で使う時の制限事項で、
同様の問題の解決方法が載ってました。
Winsock1(i).SendData strData
DoEvents
このようにDoEventsが必要だ、との事です。お騒がせしますた。


355 名前: デフォルトの名無しさん 投稿日: 02/09/30 22:55
はじめまして。

RaiseEventを使ってイベントを発生させております。
イベント発生先の処理が終わるまではイベント発生元の処理は
進展しないのでしょうか?

スレッドのように処理を同時に行いたいのですが、
VBではどのような方法があるのでしょうか?

みなさま、宜しくお願いします。


356 名前: デフォルトの名無しさん 投稿日: 02/09/30 23:06
>>355

VBのバージョンを明記すべき。
VB6.0以前と.NETでは、答えが全然違うものと思われ。
(つうか、VB6.0以前では、スレッド並行処理は不可能では??)



357 名前: デフォルトの名無しさん 投稿日: 02/09/30 23:15
>>356
できることはできるがサポート外


358 名前: 355 投稿日: 02/09/30 23:17
申し訳ありません。
VBのバージョンは6.0です。



359 名前: デフォルトの名無しさん 投稿日: 02/09/30 23:18
>>357
それをできるというのはどうかと思うが


360 名前: デフォルトの名無しさん 投稿日: 02/09/30 23:18
皆さん、VBの検定は難しいのでしょうか??今年か来年に受けるのですが・・・・経験者の方いますか??


361 名前: デフォルトの名無しさん 投稿日: 02/09/30 23:24
>>360
そんなもんあるのか


362 名前: デフォルトの名無しさん 投稿日: 02/09/30 23:30
>>361
MSがやってるベンダー試験のことじゃないか?
VB以外にもNT ServerとかSQL Serverとか色々有った気がする。


363 名前: デフォルトの名無しさん 投稿日: 02/09/30 23:33
VC検定ってのも聞いたことがあったが本当にそんなのがあるのか。
MSぼろもうけだな。


364 名前: 360 投稿日: 02/09/30 23:41
学校でVBの授業があって、検定に向けて授業をやってるんですけど・・・
どのくらいの難易度なのか分からないんですよね・・3級だからそんなに難しくは
無いと思うけど・・・どうなんでしょう??


365 名前: 362 投稿日: 02/10/01 00:11
MSのベンダー試験じゃないようだ。
「VisualBasic技術者能力認定試験」っていうのがあるみたいだね。
初めて知った。難易度は知らん。

これの本試験対策講座をやってみたいのだがどうしたもんか(w
http://www.it-system-jp.com/vbkentei3.html


366 名前: デフォルトの名無しさん 投稿日: 02/10/01 00:32
始めまして。
WinXP,VisualBasic6.0-SP5でリッチテキストボックスを使ったテキストエディタもどきを作っています。

タブキーを押すと出る空白の長さを標準(半角スペース8コ分?)から変えようと思っています。
で、ここの過去スレッドに書いてあった「EM_SETTABSTOPSメッセージをSendMessage APIでテキストボックスに投げる」
を試してみたところ、普通のテキストボックスだと上手く行ったのですが、リッチテキストボックスだと動作しませんでした。
しかしMSDNにはテキストボックスでもリッチテキストボックスでも動作すると書いてあったので、
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/commctls/editcontrols/editcontrolreference/editcontrolmessages/em_settabstops.asp
私のコードが間違っているのかもしれませんけど。。(´Д⊂

ダメだったのでまた探したところ、同じくSendMessage APIでEM_SETPARAFORMATメッセージをリッチテキストボックスに送信して設定する方法というのが見つかりました。
ただ、肝心のパラメータの指定方法が分かりませんでした。それでいまこうして質問させていただいている次第です。

「ここはこうしたほうがいい」、「こういう方法でできる」でも結構ですので、よろしくお願いします。
長文すみませんでした。

以下その方法を使って私が書いたソースです。



367 名前: 366 投稿日: 02/10/01 00:33
文字数制限に引っかかったので分割しました。
'標準モジュールのコード---------------------
'-- API 定数
Public Const WM_USER = &H400 : Public Const EM_SETPARAFORMAT = (WM_USER + 71)
'-- API 関数
Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" ( _
  ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
'-- 構造体
Type PARAFORMAT2
  cbSize As Long : dwMask As Long : wNumbering As Integer : wEffects As Integer
  dxStartIndent As Long : dxRightIndent As Long : dxOffset As Long : wAlignment As Integer
  cTabCount As Integer : rgxTabs(31) As Long : dySpaceBefore As Long : dySpaceAfter As Long
  dyLineSpacing As Long : sStyle As Integer : bLineSpacingRule As Byte : bOutlineLevel As Byte
  wShadingWeight As Integer : wShadingStyle As Integer : wNumberingStart As Integer : wNumberingStyle As Integer
  wNumberingTab As Integer : wBorderSpace As Integer : wBorderWidth As Integer : wBorders As Integer
End Type

'フォームのコード---------------------------
'-- タブ幅設定
' パラメータをセット
Dim udtParaFormat As PARAFORMAT2
With udtParaFormat
  .dwMask = PFM_TABSTOPS
  .cTabCount = ? 'ここがわからない
  .rgxTabs(0) = ? 'ここがわからない
End With
'SendMessageでメッセージを投げる
Call SendMessage(RichTextBox1.hwnd, EM_SETPARAFORMAT, 0, udtParaFormat)
RichTextBox1.Refresh

'--ここまで-------------------------------


368 名前: デフォルトの名無しさん 投稿日: 02/10/01 01:05
テキストファイルを、任意の行から読み取りたい場合はどうすればいい?

一行のバイト数は不定です。

Line Inputを行分ループするしかないのかなー。
もっと高速に動作させたい。


369 名前: デフォルトの名無しさん 投稿日: 02/10/01 01:13
>>365
なんじゃそこは。
ソースにパスワードが書いてある。


370 名前: デフォルトの名無しさん 投稿日: 02/10/01 01:14
>>368
ファイルの最初にインデックスでも持たせたら。


371 名前: デフォルトの名無しさん 投稿日: 02/10/01 01:22
>>366
  .cbSize = Len(udtParaFormat) 'これを忘れずに
  .cTabCount = MAX_TAB_STOPS '=32
  for x=0 to .cTabCount-1
    .rgxTabs(x) = タブ幅 * (x + 1)
  next

タブ幅はtwipsで指定。
ちなみにヘルプにちゃんと書いてある。



372 名前: デフォルトの名無しさん 投稿日: 02/10/01 01:28
>>370
インデックスを持ってもこの場合は意味無くない?




373 名前: 366 投稿日: 02/10/01 01:28
>>371
ありがとうございます。
もうちょっとよくヘルプを見るようにします。。


374 名前: 362 投稿日: 02/10/01 01:30
サイト覗いてたらなんかむかついてきたな。
誰かがここに直接アドレスを貼り付けてそこから飛んだら
不正アクセスにはならんよな。
普通ならちゃんとしたアクセス制限かけてあるはずだし。普通なら。


375 名前: デフォルトの名無しさん 投稿日: 02/10/01 01:39
>>374
だよな。HTMLソース自体にパスワードが書いてあるものを、
ページ見たからといって不正アクセスだと言われても困る。


376 名前: デフォルトの名無しさん 投稿日: 02/10/01 04:01
>>372
Seek ステートメント使って読みたい位置まで移動すればいいじゃん。


377 名前: デフォルトの名無しさん 投稿日: 02/10/01 07:52
フォルダの判定とか、"\"で判定しています。
でも英語のソフトとかだと"/"のが多いですよね。
英語版Windowsで動かすとこの辺の仕様とか変わってくるのでしょうか?


378 名前: デフォルトの名無しさん 投稿日: 02/10/01 08:23
FileSystemObject使えよ


379 名前: 355 投稿日: 02/10/01 09:11
CreateThreadを使えばできるようなことを聞いたのですが、
VBでCreateThreadは使えるのでしょうか?


380 名前: デフォルトの名無しさん 投稿日: 02/10/01 09:36
>>379
CreateThreadできることはできるのだが、スレッド内で何か操作すると
途端にアプリが落ちる(w
他モジュールやフォームをいじると落ちるんだっけかな。
よって、実際は使えない。VB6の場合ね。
VB5の場合は一応使いようによってはOKらしい。


381 名前: 355 投稿日: 02/10/01 09:52
>>380
返答ありがとうございます。
スレッドではORACLEへのストアドコールを行います。
数分返答がないようなストアドをコールします。

スレッドが処理中(ストアドコール中)にGetExitCodeThread,
ExitThread等を行うとやはりエラーとなるのでしょうか?

自分で作成したDLL内部でスレッド生成を行いたいのですが、
重い処理をしてもEXEが返答待ち(固まらない)しない事を
実現したいと思っております。


382 名前: デフォルトの名無しさん 投稿日: 02/10/01 10:03
>>381
スレッドを使わなくてもストアドコールとかは非同期で実行できるんじゃないか?


383 名前: 355 投稿日: 02/10/01 10:06
>>382
本当ですか!
よろしければ実現方法を教えて頂けないでしょうか。


384 名前: デフォルトの名無しさん 投稿日: 02/10/01 10:09
>>355

VBでマルチスレッドにするならActiveX DLLにするしかないかと思います。

http://www.int21.co.jp/pcdn/vb/noriolib/vbmag/0008/com/



385 名前: 382 投稿日: 02/10/01 10:15
>>383
すまん。しらないんだ。ADOとかで非同期で実行するという引数やらなんやら
あって常識的に考えれば出来そうだなぁと思っているだけ。
今までやったこと無い。個人的にはやりたいんだがなんで要望でないかなぁ(w


386 名前: デフォルトの名無しさん 投稿日: 02/10/01 10:18
>>383
ADO をつかっているなら、 execute メソッドの options に adAsyncExecute
を指定すれば出来ると思います。

やったことないので、外してたらゴメン。



387 名前: デフォルトの名無しさん 投稿日: 02/10/01 11:59
すいません、超初歩的な質問なんですが…
ランダム関数で、1〜100までの乱数を発生させるのは

Int(Rnd() * 100) + 1

ですが、50〜100までの乱数が必要な場合はどの様に求めればいいのですか?



388 名前: ふなはすです(QOO) 投稿日: 02/10/01 12:00
横スクロールのシューティングゲームのソース
(VB) があるサイト教えて♪


389 名前: デフォルトの名無しさん 投稿日: 02/10/01 12:07
>>387
おまえのレスの
> Int(Rnd() * 100) + 1

Int(Rnd() * 100)  は乱数の範囲:0〜99
1 は乱数の最低値

あとは自分で考えてみ。



390 名前: デフォルトの名無しさん 投稿日: 02/10/01 12:14
>>389
あ!

Int(Rnd() * 100) + 50

ですよね!?
どうもありがとうございました!


391 名前: デフォルトの名無しさん 投稿日: 02/10/01 12:15
>>390
・・・自信満々で間違うなよw
ネタだよな?
焦っただけだよな?
そうだと言ってくれ!


392 名前: デフォルトの名無しさん 投稿日: 02/10/01 12:25
>>391
え!!
違うの…

かなり自身満々だったのに
ウチュ





393 名前: デフォルトの名無しさん 投稿日: 02/10/01 12:29
>>392

>>389の乱数の範囲:0〜99てのを0〜50にしないとな。


394 名前: デフォルトの名無しさん 投稿日: 02/10/01 12:31
>>392
次も自信満々で
Int(Rnd() * 50) + 50
とかやってくるんだろーなー


395 名前: デフォルトの名無しさん 投稿日: 02/10/01 12:37
>>393,394
まんまと394の様にしようと思ってたよ…。
('・ε・`)ショボーン



396 名前: デフォルトの名無しさん 投稿日: 02/10/01 12:37
+ 激しく偏り +
           + 激しく失敗 +

Int((Rnd() + Rnd()) * 51 / 2) + 50



397 名前: デフォルトの名無しさん 投稿日: 02/10/01 13:02
ゲッ!
俺Rnd関数、0〜1が返ると思ってた。


398 名前: デフォルトの名無しさん 投稿日: 02/10/01 13:18
>>396
これが正解なんですか?
ありがとうございます。
使ってみます!



399 名前: 秋山蓮 投稿日: 02/10/01 13:19
>>390
はしゃぐな!!


400 名前: デフォルトの名無しさん 投稿日: 02/10/01 13:20
Rnd 関数は 0 以上、1 未満の範囲の値を返します。
引数 number の値によって、Rnd 関数が返す乱数が決まります。
初期シード値が変わらない限り、一連の Rnd 関数が返す乱数系列は同じになります。
これは、連続する各 Rnd 関数が乱数系列の中の直前の乱数をシード値として、次の乱数を
それぞれ生成するためです。
システム タイマーから取得した新しいシード値を使って、乱数ジェネレータを初期化するには、
Rnd 関数を呼び出す前に、引数を指定せずに Randomize ステートメントを実行してください。
任意の範囲の整数の乱数を生成するには、次の式を使ってください。

Int((upperbound - lowerbound + 1) * Rnd + lowerbound)

この式では、変数 upperbound には範囲の上限の値を指定し、変数 lowerbound には
範囲の下限の値を指定します。


401 名前: デフォルトの名無しさん 投稿日: 02/10/01 13:22
>>387
おれならこうするな
do while true
r=int(rnd()*200)
if r>=50 and r<=100 then exit do
loop


402 名前: デフォルトの名無しさん 投稿日: 02/10/01 13:30
>>398

+ 激しく違う +


403 名前: デフォルトの名無しさん 投稿日: 02/10/01 13:40
>>400、401
どうもありがとうございます。
今、Accessでテストデータを1万件作るためのミニアプリ作成中なのです。
  For i = 1 To 10000
rs.AddNew
rs("Key") = Format(Int(Rnd() * 1000) + 1)
rs.Update
Next i

↑こんな感じでにRnd()はループの中にあるのでループはあまり使いたくなくて
質問しました。でも>>394の方法で上手くいきましたけど…
間違ってるのかな??ウーン、ワカラン。



404 名前: デフォルトの名無しさん 投稿日: 02/10/01 13:41
>>403
任意の範囲の整数の乱数を生成するには、次の式を使ってください。

Int((upperbound - lowerbound + 1) * Rnd + lowerbound)

この式では、変数 upperbound には範囲の上限の値を指定し、変数 lowerbound には
範囲の下限の値を指定します。


405 名前: デフォルトの名無しさん 投稿日: 02/10/01 13:42
これでも分かんなきゃ人間やめたほうがいいよ。マジで。


406 名前: デフォルトの名無しさん 投稿日: 02/10/01 13:49
>>404
ありがとうございます。
今、その方法で取組中です。
たくさんアドバイスいただけてホント感謝です。

>>405
大丈夫です!何とか理解できました(,,゚Д゚)ギリギセーフ

すいません、入社したばかりのヘタレ女性プログラマです。
どうもアリガトございました。





407 名前: デフォルトの名無しさん 投稿日: 02/10/01 13:52
>>406
(*´д`*)


408 名前: 投稿日: 02/10/01 14:52
>>406

これぐらい カンタンだとレスは たくさんくるよ(w
しかも 突込みどころ 満載だったし。


409 名前: デフォルトの名無しさん 投稿日: 02/10/01 15:57
 VB初めて3日の初心者です。
 過去スレで一応調べてみたのですが、訊かせてください。
 どうかよろしくお願いします。
 環境はVB7.0です。

 Module1.vbに構造体を以下のように定義したのですが、

Public Structure data
{
Public x As Double
Public y As Double
}
 
 ビルドすると、
「Public class 'Form1' の外にある Friend 型を公開できません。」
 のようなコンパイルエラーが出てしまうのです。」

 構造体を別モジュールで定義したくてこんなことをしているのですが、
外部Moduleで宣言されている構造体を使うには、どのようにしたら良いの
でしょうか?


410 名前: デフォルトの名無しさん 投稿日: 02/10/01 16:11
>>409
【老若】VB.net質問スレ【男女】
http://pc3.2ch.net/test/read.cgi/tech/1025848458/l50


411 名前: デフォルトの名無しさん 投稿日: 02/10/01 17:30
でもさ、Rnd使ってると、な〜んかいまいちランダムじゃないなぁと思うんだけども
どうでほ。


412 名前: デフォルトの名無しさん 投稿日: 02/10/01 17:32
カウントしてみ。ランダムさがよくわかる。
400回くらいまでは偏るけどね。(0から9までのとき)


413 名前: デフォルトの名無しさん 投稿日: 02/10/01 17:38
Randomizeしてないだけとか言うなよ。


414 名前: デフォルトの名無しさん 投稿日: 02/10/01 20:14
>>411
Randomizeしても同じ数値が連続したことがあった


415 名前: 409 投稿日: 02/10/01 21:10
>410
 ごめんなさいわかんないっす…
 (:A;)ハウー

 「作成したモジュールに、フォームのインスタンスを渡す」
 ってところなのでしょうか?


416 名前: デフォルトの名無しさん 投稿日: 02/10/01 22:44
shell関数とOpenProcess関数ではどちらの方が
起動時間がはやいんですか?


417 名前: デフォルトの名無しさん 投稿日: 02/10/01 22:50
自分でやってみるのもオツなものです


418 名前: デフォルトの名無しさん 投稿日: 02/10/01 22:59
>>414 何度もRandomizeしたとか言わないでね。


419 名前: デフォルトの名無しさん 投稿日: 02/10/01 23:19
>>414
100回振って、一度も同じ目が連続して出ないサイコロはイカサマです。


420 名前: デフォルトの名無しさん 投稿日: 02/10/02 03:29
美容室向けの予約システムを作っているのですが、
どうしてもスケジュール表(時間割)部分の作り方がわかりません。
Gridのコントロールだと時間軸の上に「10:00」というような表示ができないのでこまっています。
横が時間軸で縦にスタッフの名前でただ該当の時間がいろで塗りつぶせて
その上にお客さんの情報を書きたいのですが、
どなたかいいやり方教えていただけませんでしょうか。
よろしくお願いします。



421 名前: デフォルトの名無しさん 投稿日: 02/10/02 04:06
今どき
VB6で動作想定環境をWIN98にして開発するのは
VBSのHPを作るようなものでしょうか?w


422 名前: デフォルトの名無しさん 投稿日: 02/10/02 05:04
>>420
いろいろ方法がありすぎて、、、

>>421
VB6でWin98の何がおかしいのか?

.netでだったら問い詰めても良いけどね。


423 名前: 投稿日: 02/10/02 09:01
>>420
表示部は、ラベルを貼りまくってやれ。
表示する中身を管理して 表示しまくれ。

もしくは、文化オなんとか社が出してる スプレッドを使うんだな。


424 名前: デフォルトの名無しさん 投稿日: 02/10/02 09:31
ドラッグ&ドロップで質問したいです。
今、ファイル名を指定してそこにあるデータを配列に落としているんですが、
これをドラッグ&ドロップが行われた時にドロップされたファイルを
配列に落とすにはどうしたらいいんでしょうか?今、使っている命令は
こんな感じです。
Open "D:\data\all.txt" For Input As #1
For i = 1 To Ypixel
For j = 1 To Xpixel
Input #1, MOT(i, j)
Next
Next
Close #1

お願いします。


425 名前: デフォルトの名無しさん 投稿日: 02/10/02 09:41
Private Sub Form_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, X As Single, Y As Single)
Open Data.Files(1) For Input As #1
...
Close #1
End Sub

但しFormのOLEDropModeプロパティを1-手動にしとく。


426 名前: 424 投稿日: 02/10/02 10:29
ありがとうございます。試してみます。


427 名前: デフォルトの名無しさん 投稿日: 02/10/02 11:18
>>423
そういったOCX等使うと、msiインストーラー作るとき、
OCXやらDLLやらがたくさんアプリケーションフォルダにいれられてごっちゃになるんですがいいほうほうはないでしょうか?


428 名前: お茶丸 投稿日: 02/10/02 12:28
じつはiMode用のメール保存閲覧ソフトを作りたいと思うのですが、
有効な情報がなかなか得られません。
もしよろしかったら少しでも結構ですので作成のヒント、
関連する情報など教えていただけないでしょうか?
一方的ですみませんが何卒よろしくお願いします。


429 名前: デフォルトの名無しさん 投稿日: 02/10/02 12:43
>>428
一方的もなにも、わけわからんぞ。

・必要と思われる機能の定義
・利用しようと思っているOS、開発環境、アプリ

ぐらいは書け。なるべく具体的に。



430 名前: 598 投稿日: 02/10/02 14:35
まいった



431 名前: デフォルトの名無しさん 投稿日: 02/10/02 14:51
教えて下さい

double型の変数の小数点以下を切り捨てたいのですが
「¥」を使うと、以下の様な場合答えが4になってしまいます。

a=3.99
b = a \ 1

何か方法はありませんか?


432 名前: デフォルトの名無しさん 投稿日: 02/10/02 15:13
IntかFix


433 名前: デフォルトの名無しさん 投稿日: 02/10/02 15:18
>>432
たすかりました
ありがとうございます



434 名前: デフォルトの名無しさん 投稿日: 02/10/02 15:21
VB6 で、フォームの width と height をiniファイルに保存しておいて、
フォームを開くときに保存されていた値を読んでその値にフォームのサイズを変更しておこうとおもって、
Form_Load でiniファイルの値を読んでセットしているんですがうまくいきません。
なにか足りないことでもあるのでしょうか?


435 名前: 434 投稿日: 02/10/02 15:27
できた。


436 名前: デフォルトの名無しさん 投稿日: 02/10/02 15:32
>>432
Int(1.15*100) ではまる罠



437 名前: お茶丸 投稿日: 02/10/02 15:54
大変失礼しました(汗)
☆必要な機能
 携帯電話とPCをUSBにて接続し、ウインドウズアプリより携帯に対し、メールを送受信したい

☆希望する動作OS
 WindowsXP

☆開発環境
 Microsoft VisualStudio 6.0 のVBまたはVC、VJ

☆アプリ
 外部アプリは使用しない

以上です。すみません初投稿なもんで(汗)もしご存知でしたらよろしくおねがいします<(_ _)>


438 名前: お茶丸 投稿日: 02/10/02 15:59
追加です
現状として、携帯電話になんらかのコマンドを送出すると、対応した情報
(電話帳データ等)が返ってくるのはわかっています。
どんなコマンドを送出するとメール内容が取得できるのか、またクラスやAPI
が提供されているのか、当方では力不足で調べられませんでした。



439 名前: デフォルトの名無しさん 投稿日: 02/10/02 16:12
>>438
ここは初心者の館だよ。


440 名前: デフォルトの名無しさん 投稿日: 02/10/02 16:19
>>438
そんなの機種によって違うんじゃないの?一緒なの?


441 名前: 424 投稿日: 02/10/02 16:27
>>425
うまく取り込めました。ありがとうございました。


442 名前: デフォルトの名無しさん 投稿日: 02/10/02 17:25
ヘルプなんですけど、HTMLヘルプ使ってます。
FormとかにHelpContextIDってプロパティーがありますが、この項目は従来のヘルプにしかつかえないんでしょうか?


443 名前: デフォルトの名無しさん 投稿日: 02/10/02 18:04
ここってクリスタルレポートとかの質問もありですか?


444 名前: デフォルトの名無しさん 投稿日: 02/10/02 18:42
>>443
ありです。


445 名前: 443 投稿日: 02/10/02 18:52
それではすいません、質問させてもらいます。
詳細に10行だけ出力して改ページしたいんですが、
どこでどういう風にすればよいのかわからないんですが・・・。
ちなみにverは8.5です。


446 名前: 445 投稿日: 02/10/02 18:53
すいません何に関しての質問か抜けました。
クリスタルレポートに関してです。


447 名前: デフォルトの名無しさん 投稿日: 02/10/02 19:04
>>438
そいうものが公開されてないのにはそれなりの理由がある。
ネタじゃなければ今後気をつけなよ。


448 名前: デフォルトの名無しさん 投稿日: 02/10/02 19:07
MOVEFILE_WRITE_THROUGHという定数って値なんでしょう?
手持ちのAPI Viewerにのっていないんですが・・


449 名前: デフォルトの名無しさん 投稿日: 02/10/02 19:17
>>445
1.明細にサブレポートを使う。
2.10行印刷されるとちょうどページの縦の幅がなくなるように、ページヘッダ、ページフッタなどの高さを調節する。
3.印刷する前のレコードに、10件づつインクリメントする番号を振っておいて、それでグループ化。
など思いつきました。


450 名前: デフォルトの名無しさん 投稿日: 02/10/02 19:56
>>448
#define MOVEFILE_WRITE_THROUGH 0x00000008

WINBASE.Hにあった。


451 名前: 448 投稿日: 02/10/02 20:01
お、ありがとございます。
これってようするに8のことですよね?


452 名前: デフォルトの名無しさん 投稿日: 02/10/02 20:59
>>448
>手持ちのAPI Viewerにのっていないんですが・・
アホを晒してはいけない....載っていない定数なんていくらでもある
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/base/movefileex.asp

英語が読めない場合、首を括るなり辞書を引くなりしてくれ


453 名前: 448 投稿日: 02/10/02 21:17
>>452
おうっと。
ありがと。(w


454 名前: デフォルトの名無しさん 投稿日: 02/10/02 21:47
すごく大きな数(倍精度浮動小数点数型)が見にくいので
1.23456E+8
というような表示にして出力したいんですがどうしたらいいですか?


455 名前: デフォルトの名無しさん 投稿日: 02/10/02 21:59
>>454
Format関数で第二引数"Scientific"指定とかどうかね。


456 名前: 454 投稿日: 02/10/02 22:49
MSDNで調べたんですが
Format関数というのがどういうものかわかりませんでした。
具体的な使い方を教えてくれるとありがたいです。
使っているのはVB6.0です。


457 名前: デフォルトの名無しさん 投稿日: 02/10/02 23:01
>MSDNで調べたんですが
どんな風に調べたんさ。Format関数に辿り着けなかったのかい?
そんなあほな。

イミディエイトウィンドウで下のように打ってみ。
? Format(123.456789, "Scientific")


458 名前: 454 投稿日: 02/10/02 23:53
イミディエイトウィンドウでは確かにできましたが、
プログラムで出そうとしたらエラーが出てしまいました。
double型が入ったsumという変数の値を
Label2.caption = sum
で出したいんですがどうでしょう?

format関数は出てきたんですがc言語とか書いてあったので違うかなーと
思っちゃったんです。


459 名前: デフォルトの名無しさん 投稿日: 02/10/03 00:15
>>454
どうやったらエラーになるねん。
ヘルプには使用例まで載ってるのに
それでわからん奴にどうやって教えたらええんや?



460 名前: デフォルトの名無しさん 投稿日: 02/10/03 00:26
おいおい…


461 名前: デフォルトの名無しさん 投稿日: 02/10/03 00:27
>>458
エラーメッセージを正確に引用する。
必要最低限のコードは見せる。
変数に入れた値を示す。
これ質問者の基本。



462 名前: 454 投稿日: 02/10/03 01:24
エラーメッセージはコンパイル時にでて
  コンパイルエラー
  修正候補:式
関係しているコードは
  sum = ?Format(sum, "Scientific")
  Label2.Caption = sum
sum は変数で、整数部分が7〜8桁のdouble型が入っています
例えば 70840747.888806 が得られます。

コードの?部分をなくすとコンパイルはできるんですが
有効数字が3桁になっただけで指数表記にはなってくれません。
例えば 70800000 というようにです。


463 名前: デフォルトの名無しさん 投稿日: 02/10/03 01:31
>>462
format(num,"0.00E+00")
0の数は自分で好きなように。?ってなんだ?何を読んだ?


464 名前: 463 投稿日: 02/10/03 01:41
それからformatは文字列を返すんだからね。
気をつけて。


465 名前: デフォルトの名無しさん 投稿日: 02/10/03 01:42
うんこ


466 名前: 454 投稿日: 02/10/03 01:55
チェックのためにsumを一定にしました。コードは
  sum = 12345678.999999
  sum = Format(sum, "0.00E+01")
  Label2.Caption = sum
こんな感じです。

ここで""の中を"0.00E+00"とすると12300000が得られ
""の中を"0.00E+01"とすると1.23E+71が
""の中を"0.00E+03"とすると1.23E+73が
""の中を"0.00E+10"とすると「オーバーフローしました」とでます。
期待している数字は1.23E+07なんですけどどうしたら得られますか?


467 名前: デフォルトの名無しさん 投稿日: 02/10/03 02:04
>>466
だからformatは文字列を返すんだって。
dim sumStr as string
sumStr = Format(sum, "0.00E+00")
とかすればいい。
"0.00E+00" の0は桁数を表しているので
01とか10とかやっても意味がない。



468 名前: デフォルトの名無しさん 投稿日: 02/10/03 02:10
sum = Format$(sum, "#.##E+")
だと思う


469 名前: D 投稿日: 02/10/03 02:12
>>462
>sum = Format(sum, "Scientific")
このsumは両方ともDouble型なのでFormat関数で整形してもほぼ同じ値が入るだけです。
この場合左辺はString型で宣言された変数に代入した方がいいと思われます。
あとSumはSQLとData Reportでの予約語なので変数名に使うのもどうかと。
試しに新規のプロジェクトでDim sum as Doubleの宣言をせずに同じコードを
入力すると小文字で入力したはずの"s"が"S"に置換されるはずです。

Dim Total As Double
Dim sTotal As String

Total = 70840747.888806
sTotal = Format$(Total, "0.000000000000E+")
Label2.Caption = sTotal
こんなかんじで。
あ、ヘルプの”プロシージャの引数”でSum関数作ってますね。


470 名前: 454 投稿日: 02/10/03 02:13
>>467
デキターーーーー!!!
ありがとうございます!ものわかりが悪くてすいませんでした。


471 名前: デフォルトの名無しさん 投稿日: 02/10/03 02:14
●●●●●●●●「オセロさえ納期内に作れない=OO役立たず 」祭り●●●●●●●
/|         |  |_____ΦΦΦΦΦΦΦΦΦΦΦ||ΦΦΦ
  |         |  | ̄ ̄ ̄ /|                    ||
  |         |  |   / /|TTTTTT   TTTTTTTTTT||TTTTT
  |        /\ |  /|/|/|^^^^^^ |三三| ^^^^^^^^^^^||^^^^^^^
  |      /  / |// / /|
  |   /  / |_|/|/|/|/|
  |  /  /  |文|/ // /
  |/  /.  _.| ̄|/|/|/         Λ_Λ
/|\/  / /  |/ /           (___)
/|    / /  /ヽ            /〔 非OO 〕〕つ
  |   | ̄|  | |ヽ/l            `/二二ヽ
  |   |  |/| |__|/   Λ_Λ     / /(_)
  |   |/|  |/      ( ´∀`)   (_)    Λ_Λ
  |   |  |/      // /  ^ ̄]゚        (`   )
  |   |/        ゚/ ̄ ̄_ヽ         ⊂〔〔 非OO 〕



472 名前: 454 投稿日: 02/10/03 02:16
>>468 >>469
いろいろありがとうございます。助かりました。


473 名前: D 投稿日: 02/10/03 02:17
あ、ぼやっとしてたら答えてたのね。
遅すぎました


474 名前: 445 投稿日: 02/10/03 09:11
>449
返信遅れてすいません、ありがとうございました。
とりあえず今教えていただいたのを実行中です。


475 名前: デフォルトの名無しさん 投稿日: 02/10/03 09:35
>>442
使えますよ。


476 名前: 442 投稿日: 02/10/03 09:50
>>>475
お、そうですか。
なんか
HH_HELP_CONTEXT called without [MAP] section
って表示されたので。
HTMLヘルプの作り方が悪いんでしょうが・・
HTMLヘルプコンパイラみてもどこで設定するのかわからんです。


477 名前: 442 投稿日: 02/10/03 10:33
できました。
hファイルを作成するんですね。


478 名前: 投稿日: 02/10/03 10:45
ListBOX内の一行 一行 個別に 色を設定する方法を 教えてください。



479 名前: デフォルトの名無しさん 投稿日: 02/10/03 11:11
全く同レイアウトのテーブルAA,BBのレコードをAA→BBに移す時に
↓以外の書き方ありますか?レコード中の全ての項目を下記の様に
代入するように書かないと駄目なのでしょうか?

With rs_bbb
   .AddNew
   .Fields("field1").Value = rs_aaa.Fields("field1").Value
   .Fields("field2").Value = rs_aaa.Fields("field2").Value
   .Fields("field3").Value = rs_aaa.Fields("field3").Value
End With


480 名前: デフォルトの名無しさん 投稿日: 02/10/03 11:16
>>479
for i=0 to rs_aaa.fields.count -1
.Fields(i).Value = rs_aaa.Fields(i).Value
next


481 名前: 479 投稿日: 02/10/03 11:21
>>480
ありがとうございます。
そういうやりかたもありましたか


482 名前: デフォルトの名無しさん 投稿日: 02/10/03 15:25
テキストをHTMLのタグ形式に変換したいのですが、
「http」or「ttp」or「www」の文字列を発見すると自動的に<a href〜>のように
変換する関数のようなものは、ありませんでしょうか?
どなたか、そういったものを公開している情報知りませんか?
環境はVB6.0 SP5です。

例:
【変換前のテキスト】猫のページhttp://www.neko.com

【変換後のテキスト】猫のページ<a href="http://www.neko.com" target="_blank">http://www.neko.com</a>


483 名前: デフォルトの名無しさん 投稿日: 02/10/03 15:31
windows media player コントロールを使っているのですが、
alt+enterを押すとfullscreenで見れるのですが、
キーを使わずプログラムからfullscreenにする方法はないでしょうか?
また
windows media player コントロールのヘルプや解説が見つからないのですが、
どこにあるのでしょうか。


484 名前: デフォルトの名無しさん 投稿日: 02/10/03 15:55
ASP.NETでWebUserControlを使用した汎用的なツールを作りたいと思っています。
そこで、Webフォームから同画面上のWebUserControlに対して値をわたしたいのですが
どうしたらいいでしょうか?



485 名前: 483 投稿日: 02/10/03 16:22
自己解決しました。
ヘルプはないのですが、
オブジェクトブラウザでそれらしきものをみつけたので、いけました。
コンポーネントに以下の文を入れました。

MediaPlayer1.DisplaySize = mpFullScreen


486 名前: 442 投稿日: 02/10/03 16:23
>>482
自分が使ってる奴。あんまよくないかも。
aStr=元の文字列
nTarget=変換したい元の文字列
nChangeTo=返還後の文字列
nOpt=おぷしょん。
Public Function fReplace(ByVal aStr As String, ByVal nTarget As String, nChangeTo As String, Optional nOpt As Integer) As String
Dim oStr As String
Dim nStr As String
Dim nCurPos As Long
oStr = aStr
If Len(oStr) > 0 And Len(nTarget) > 0 Then
Do
nCurPos = InStr(1, oStr, nTarget)
If nCurPos = 0 Then Exit Do
nCurPos = nCurPos - 1
If Not Mid(oStr, nCurPos + Len(nTarget) + 1, Len(nTarget)) = nTarget Or nOpt = 0 Then
nStr = nStr & Mid(oStr, 1, nCurPos) & nChangeTo
Else '改行文字が重なっていたら、改行文字自信に置き換える(nOpt=1の場合)
nStr = nStr & Mid(oStr, 1, nCurPos + Len(nTarget))
nCurPos = nCurPos + Len(nTarget)
End If
oStr = Right(oStr, Len(oStr) - nCurPos - Len(nTarget))
Loop
nStr = nStr & oStr
End If
fReplace = nStr
End Function


487 名前: デフォルトの名無しさん 投稿日: 02/10/03 16:29
VB初心者ですが、どなたか教えて下さい。
プログレスバーを使ってファイルの保存状況を表示したいのですが
Label1.Caption = "保存中"
ProgressBar1.Min = 0
ProgressBar1.Max = List1.ListCount
For LoopCnt = 0 To List1.ListCount - 1
SavData = SavData & List1.List(LoopCnt) & vbNewLine
ProgressBar1.Value = LoopCnt
Next
とするとプログレスバーが100%になってから「保存中」と表示されて
しまいます。処理の優先順位みたいなのがあるのでしょうか?
このような場合、どういう風にするのがよいのでしょうか?
環境はVB6 Win2000 です。よろしくお願いします。


488 名前: デフォルトの名無しさん 投稿日: 02/10/03 16:31
>>487
Refresh DoEventsあたりか?


489 名前: デフォルトの名無しさん 投稿日: 02/10/03 16:40
>>488
できました。
ありがとうございました!(感謝)



490 名前: print() 投稿日: 02/10/03 17:16
VBでダウンロード完了のイベントがとれるらしいのだけど、いまいち実装の仕方がわからん

ttp://www2.hos.co.jp/DemoV7/ViewCtrl/c7htmv15.htm#downloaded

に載ってるのだが・・・。どうやるでしょうか?


491 名前: 478 投稿日: 02/10/03 17:19
ListBOX内の一行 一行に個別に 色を設定するのは Delphi
などでしか できんのかなぁ〜〜〜


492 名前: デフォルトの名無しさん 投稿日: 02/10/03 17:26
>>479
Insert Into BB Select * From AA

というのが一番理想。


493 名前: デフォルトの名無しさん 投稿日: 02/10/03 17:27
すいません、ちょっとクリスタルレポートに関してお聞きしたいんですが。
グループヘッダの下にページヘッダを表示したいんだけど、なにか方法はありますか?
イメージ的にはこんな感じにしたいんですけど・・・↓

【グループヘッダー】

 請求先 ○○商事
  請求商品金額      消費税      請求合計額
  100,000 5,000 105,000

【明細見出し】

 日付        品名 数量    単価 金額

【ディテール】

2001/01/01      ○○○○ 1 100,000 100,000



494 名前: 482 投稿日: 02/10/03 17:40
>>486
お返事ありがとうございます。
>>482の書き込み内容と例が悪かったのですが、
http等の頭から問題は最後の文字です。

どこまでをURLとして認識するかが問題でした・・・。
感じとしては、2ちゃんねるの書き込みにURLを含む場合、
あああhttp://www.neko.comいいい
と書き込むと「いいい」の前でURLの認識としては止まりますよね?
他に"("カッコやスペースなんかでもURLの認識が止まると思います。

それをどうやって判断するのか・・・・。
1コずつ全角文字やスペースやカッコがあるかを判断するしかないでしょうか?
それだと、どんな文字でURLの認識が止まるのかを全て把握できなきゃいけないし・・・





495 名前: デフォルトの名無しさん 投稿日: 02/10/03 17:49
>>494
URLには絶対に含まれない文字がある(日本語対応とかで多少状況は変わってきつつあるけど)。
単にその文字移行を認識しなければいい。


496 名前: デフォルトの名無しさん 投稿日: 02/10/03 17:51
>>494
>それだと、どんな文字でURLの認識が止まるのかを全て把握できなきゃいけないし・・・
RFC読んでね。

どうでも良いけど使用できる文字の集合とできない集合を把握するなら明らかに前者の方が楽だと思うが。


497 名前: 482 投稿日: 02/10/03 17:59
>>495様 >>496
お返事ありがとうございます。

とりあえず、これからRFCを検索して調べてみます。

ただ・・・使用できる文字の集合を把握したら、仮に1000文字だとして、
1000回分、Loop なり If なりで見ていかないとダメですよね?
かなり、厨プログラミング的な質問かもしれませんが・・・


498 名前: 442 投稿日: 02/10/03 18:08
おっと、ごめんよ。
全然文章読んでなかった(w
文字の比較はLike演算子を使えば楽勝です。多分。
ってかどうやったら1000文字もあるんだ(w


499 名前: デフォルトの名無しさん 投稿日: 02/10/03 18:13
>>497
httpから1文字ずつループを回しながらLikeでチェック。
Likeなら範囲指定できるから幾分楽だよ。
  chrHoge Like "[#-)+-;=?-~]"
って具合かな?
範囲がこれで正しいかは不明(^^; とりあえず実用上は支障無いと思うけど、
RFCをちゃんと調べた方がいいね…。


500 名前: デフォルトの名無しさん 投稿日: 02/10/03 22:16
どなたか教えてくだされ〜
SetステートメントのHelpに

>Set ステートメントを使って、オブジェクトへの参照を変数に代入します
と書いてあるのですが、ここで言う"参照"ってメモリのアドレスの事を言っ
ているのですか?それとも他のことですか?
教えてくだされ〜!


501 名前: ◆LqTM395pfM 投稿日: 02/10/03 22:20
VBでOCR技術みたいなのを実装したいです。
無茶なのは100も1000も承知なんですが・・・。
どうにか出来ませんかねぇ?
そもそもフリーソフトでOCRなんて使ってるソフト無いような。
ヤパーリ技術的に相当レベル高いのでしょうか。


502 名前: デフォルトの名無しさん 投稿日: 02/10/03 22:39
>>500
ポインタだけど、直接メモリ操作はするなってことだろ。


503 名前: デフォルトの名無しさん 投稿日: 02/10/03 23:05
>>501
不可能じゃないだろうけど、遅くて無茶だと思われ。


504 名前: デフォルトの名無しさん 投稿日: 02/10/03 23:08
>>501
VBだから無茶なわけでないよ。

自分の技術の無さを言語の所為にすんなよ。


505 名前: デフォルトの名無しさん 投稿日: 02/10/03 23:31
>>502
やっぱポインタですよね!って事は
-------------------------------------
1:Dim A As Object
2:Dim B As Object
3:
4:Set A = New ClassObject
5:Set B = A
6:Set A=Nothing
7:Set B=Nothing
-------------------------------------
5行目ではAのインスタンスのコピーが作成されるのでは無く、Aに代入された
Objectインスタンスの参照がBに代入される。

したがって、6行目ではClassObjectのインスタンスは削除されずに
7行目でClassObjectのインスタンスが削除されると言う事でよろしいのでしょうか?


506 名前: デフォルトの名無しさん 投稿日: 02/10/03 23:31
グラスには、いくつかの氷が音も鳴くたたずんでいる。
喧騒が過ぎ去り、優雅な時を過ごした証のみが、そこにはあった。
琥珀色の液体と、懐かしい歌声が、少しの間忘れていた感覚を呼び覚ます。
少しの間・・・いや、何年も忘れていたのかも知れない。
夜の空白を埋めるために、ずっと探していた。
今となっては既に過去だが、そんな時の感覚を不意に思い出した。
楽しい未来の夢を見ていたわけではなく、ただ思いを受け取って欲しかった。


507 名前: デフォルトの名無しさん 投稿日: 02/10/03 23:34
ここか
http://www2.cds.ne.jp/~catty/planet/


508 名前: デフォルトの名無しさん 投稿日: 02/10/04 00:19
>>505
あってるよ。


509 名前: デフォルトの名無しさん 投稿日: 02/10/04 00:27
>>508
レスありがと〜
今日会社の先輩に>>505の事が全否定されたので、
激しく動揺していましたが、ぐっすり眠れそうです。


510 名前: デフォルトの名無しさん 投稿日: 02/10/04 00:52
VBのスクロールバーに関する質問ですが
MAX値が32767になっているのですが
これをもっと増やすことってできるのですか?
どなたかよろしくお願いします。


511 名前: デフォルトの名無しさん 投稿日: 02/10/04 01:01
増やさなくてもn倍すればいいじゃん


512 名前: デフォルトの名無しさん 投稿日: 02/10/04 01:51
>>510
マッピング、マッピングやっほ〜やっほ〜。


513 名前: デフォルトの名無しさん 投稿日: 02/10/04 02:13
>>512
本当に初心者質問ですいません。
マッピングとは具体的にどのように
やればいいのですか?
よろしくお願いします。


514 名前: 投稿日: 02/10/04 04:44
株価のデータ集計ソフトを作っています。
株価は単位株でしか買えないので1000株単位なら
10260株−>10000株
10830株−>11000株
のようにある単位で四捨五入したいのですが、FORMAT関数の使い方がわかりません。
今のコードは
KABUSU = Format$(KABUSU, "#.")
とやっていますが何も変わらないのです。上の方の書き込みをみて色々試したのですが。。
vb6.0を使ってます。

KABUSUの値は10526.3157...
という数字が入っており 結果は11000になってほしいのですが。
ある桁数で四捨五入はできないのでしょうか?


515 名前: デフォルトの名無しさん 投稿日: 02/10/04 05:05
>>514
そのままでは出来ないから、1000で割ってあとで1000を掛ける。



516 名前: デフォルトの名無しさん 投稿日: 02/10/04 06:17
そうかー全然気づかなかった。
どうもありがとうございます。
四捨五入ってできないんですね。EXCELとかはRound関数とかでできたような
気がしたので頑張ってやろうとしていました。


517 名前: デフォルトの名無しさん 投稿日: 02/10/04 07:47
>>510
増やしても意味ないよ。
たいてい32767より小さくして使ってる。




518 名前: デフォルトの名無しさん 投稿日: 02/10/04 10:14
>516
Excelの関数と同機能のVB用関数はいっぱい公開されてるよ。
ぐぐってみなはれ。


519 名前: デフォルトの名無しさん 投稿日: 02/10/04 13:21
VBからCOBOLを呼ぶことできるの?
VBを部品にしてCOBOLで制御したいんだけど。


520 名前: デフォルトの名無しさん 投稿日: 02/10/04 13:54
>>519
VBからCOBOLを使いたいの?
COBOLからVBを使いたいの?


521 名前: デフォルトの名無しさん 投稿日: 02/10/04 14:06
ExcelのVBAでデータ処理をしているのですが、Excel or VBAだからか
やたら処理が遅い。VCがあるので、これをCに変換したらもっとサクサク
動くかなと思うのだが、VB自体よく分かんない。
ということで、VBからCとかJavaにコードを変換してくるフリーのソフトって
ないですかね?



522 名前: デフォルトの名無しさん 投稿日: 02/10/04 14:11
>>521
ない。あったとしてもコードの問題の可能性が大きいからどっちみち速くならないだろう。


523 名前: 投稿日: 02/10/04 14:18
>>521

VBでDLL化などして使ったら エクセルよりは 速いよ。


524 名前: 519 投稿日: 02/10/04 14:25
説明不足でした。
COBOLから、VB(画面制御部品P)を呼んで、
COBOLに値を返したいんですけど。


525 名前: D 投稿日: 02/10/04 15:00
>>514
四捨五入のソースは結構公開されてるんですが、あえてFormat関数を使うなら
Dim D As Double
D = 10830
D = Format(D / 1000, "#0") * 1000
Debug.Print D

という手もあります。ただFormat関数は文字列を返すはずなのであまり誉められた方法では
ありませんが。(cDbl()で変換した方がよいかも)


526 名前: D 投稿日: 02/10/04 15:10
>>510
元々プログレスバーは進捗状態を表すのでパーセントに変換してます。


527 名前: D 投稿日: 02/10/04 15:23
>>524
どんな種類のCOBOLを使ってるか分からないけどBPCなんかだとCOBOLからプログラムを
実行できたはず。状態によって少し違いますが、
最初に起動するのがCOBOL以外の場合
COBOLランタイムのコマンドラインにexeを指定して起動する必要があります。

COBOLからexeを呼び出すShell関数はあったはず(メーカーによってまちまち)

値を渡すにはファイル経由orDB経由で渡してたと思います。



528 名前: デフォルトの名無しさん 投稿日: 02/10/04 15:58
>521
やたら処理が遅いって、まず何処が遅いのかハッキリさせんと何もできんぞ。
どうせExcelのオブジェクトをムダにグリグリ弄繰り回してるだけだろうけど。



529 名前: デフォルトの名無しさん 投稿日: 02/10/04 16:20
>>525
とあるOS(たしかXP)ではFormatは四捨五入じゃないから気をつけてな。


530 名前: デフォルトの名無しさん 投稿日: 02/10/04 17:11
>>514
KABUSU=((KABUSU+500)\1000)*1000


531 名前: デフォルトの名無しさん 投稿日: 02/10/04 17:27
浮動小数点の丸め誤差にも気をつけよう


532 名前: デフォルトの名無しさん 投稿日: 02/10/04 17:35
VB5CCE試用中なんですが、
Freeで .EXE 作成ソフトってありますか?


533 名前: デフォルトの名無しさん 投稿日: 02/10/04 17:38
>>532
ほえぇ?


534 名前: 521 投稿日: 02/10/04 19:00
実験データの解析用VBAで、先輩の置き土産です。
データ数が多いのと統計解析があるので、どうしても計算量が多いので
遅くなるのです。うーむ、VBからCへの変換ソフトってのは無いようですね。
Cへ変換できたら、計測からそのまま解析に繋げられて楽だなと思ったのですが。。。
BASICと名がつくものはN88BASIC以来さわってなかったが、VB勉強して
処理の流れを把握してから移植するしかないかな。



535 名前: デフォルトの名無しさん 投稿日: 02/10/04 19:56
>>534
コードの最適化と、Professional以上でネイティブコンパイル、
CPUのアップグレード

なんてところがいいんじゃない?


536 名前: デフォルトの名無しさん 投稿日: 02/10/04 21:47
>>534
なんかしたり顔で言っているけど、処理速度向上にJAVAを上げているようじゃ
全然分かってないだろ。


537 名前: デフォルトの名無しさん 投稿日: 02/10/04 22:33
(°Д°)<言ってません。書き込んでるだけです。(プ
       お前は何か?PCの前でひとりでしゃべってんのか?あ?


538 名前: デフォルトの名無しさん 投稿日: 02/10/04 22:54
>>537はまともに会話すら出来ないわけですな...


539 名前: デフォルトの名無しさん 投稿日: 02/10/04 22:55
>534
実際にVBA使った経験で演算は困るほど遅くなかったから、
セルからデータの取得、またはその逆の個所を見直して
配列を使って範囲を一気にって言う風に変えれば見違えるほど早くなったよ。


540 名前: 521 投稿日: 02/10/04 23:41
#とりあえず521≠537です(念のため)。
>>536
書き方が悪かったですね。Javaを上げたのは処理速度向上のためではなく、
VBよりはJavaの方が読めるので、Javaからなら自分でCに直せるなという
ことで、あのように書きました。誤解するような文章で申し訳ないです。
>>539
なるほど。まずそちらから検討してみます。


541 名前: D 投稿日: 02/10/05 01:05
>>529
まじで。今使ってるのがWin2Kやからできたんか。使ってなくてよかった〜
そのうちやりかねんからな。でも何で今頃...調べてみよ。
大変ありがとー


542 名前: デフォルトの名無しさん 投稿日: 02/10/05 01:56
Set fs = CreateObject("Scripting.FileSystemObject")
これのScriptingって、なんのことでしょう?VBScriptのことでしょうか?
古いOSだと使えないとかありますか?


543 名前: デフォルトの名無しさん 投稿日: 02/10/05 02:20
>>542
http://www.microsoft.com/japan/developer/scripting/



544 名前: 542 投稿日: 02/10/05 08:36
>>543
ありがと。
今みれないから後でみてみるよ


545 名前: デフォルトの名無しさん 投稿日: 02/10/05 11:20
>>529はネタ


546 名前: 542 投稿日: 02/10/05 14:03
む、みてみたけど微妙。
とりあえずWin98以降なら標準でいけるようですね。


547 名前: デフォルトの名無しさん 投稿日: 02/10/05 21:06
デスクトップとか、送るメニュー(SendTo)にショートカットを作りたいのですが
たいていST4KIT.DLLだったかを使う物ばかりです
VBではむりなんでしょうか?


548 名前: デフォルトの名無しさん 投稿日: 02/10/05 21:19
どう言ったらいいのかわからないんですが、
電卓を作りたいです。
そこでウィンドウがアクティブな時に
キーダウンイベントに反応できるようにしたいのですが、
上手くいきません。
ウィンドウに送られるキーダウン全てに反応するには
どこに記述したらいいのでしょうか?
つまりウィンドウのどこにフォーカスがあっても
キーダウンをキャッチしたいわけです。
どうすればいいでしょうか?
よろしくお願いします。


549 名前: デフォルトの名無しさん 投稿日: 02/10/05 21:27
>>547
Delphiなら.lnkの作成もパスの取得も簡単ですよ♪

>>548
DelphiならKeyPreviewプロパティをtrueにするだけだよ♪


550 名前: デフォルトの名無しさん 投稿日: 02/10/05 21:38
>>547
IShellLinkインタフェースを実装するとか。ぐぐって。


>>548
コマンドボタン上にあるときの←キーとかは取れないが、
KeyPreview=Trueで。


551 名前: 548 投稿日: 02/10/05 21:46
>550
助かりました、無事成功しました。
ありがとうございました。


552 名前: デフォルトの名無しさん 投稿日: 02/10/05 22:49
VB未経験者ですが、下記のソースをビルドしたいと思ってます。
http://www.yecc.gr.jp/vb/prog/pricla/primain.html

開発環境を持ってないので、これからVBを購入するつもりです。
現在最新のVB用開発環境はVB.NETだと思うのですが、
上記のソースがVB.NETでビルドできるか知りたいです。
お願いします。


553 名前: デフォルトの名無しさん 投稿日: 02/10/05 23:09
>>552
なんで、作者に聞かんの ? 掲示板みたいな奴もあったよ。(あまり活発そうじゃないけど...。)


554 名前: デフォルトの名無しさん 投稿日: 02/10/05 23:10
>>552
ビルドできない。
さらに、このソースコードはVB.NET用に直すのにも手間がかかるパターン。
VB6までのVBとVB.NETは別の言語と思ってもらった方がいい。

VB.NETで一から勉強して作るがよろしかろう。



555 名前: 547 投稿日: 02/10/05 23:33
お〜WindowsScriptオブジェクト使えばショートカット作れるんじゃん
と思ってやったら

Norton先生が反応しますた。

いや、つくれたんですけどね。これじゃだみだ。


556 名前: 543 投稿日: 02/10/05 23:40
>>546
世話が焼けるなあ。

プリインストされてるWSHのバージョン
Windows95 なし
WindowsNT4.0 なし
Windows98  WSH1.0
Windows2000  WSH2.0
WindowsME  WSH5.5
WindowsXP  WSH5.6

98や2Kはバージョン古すぎるから、最新版をインスト。
95やNTは新規インストすればいいだけ。



557 名前: 552 投稿日: 02/10/05 23:50
レスありがたう。

>>553
そうなんです、BBSあまりにもアレだったんで、
こちらでお聞きした次第です。

>>554
流用は無理ですか。。。
VB.NETって、VBと同じことができるんでしょうか。
他にUSBカメラからの画像キャプチャもしたいんです。

実は、簡易プリクラを作ろうと思ってるんですが、
そんな用途にもVB.NETは向いてますか?

どっちかというと、VB6の方がいいような。。。
ご意見をお願いします。


558 名前: デフォルトの名無しさん 投稿日: 02/10/06 00:35
>>529 >>541 >>545
WinXPではFormat関数が内部で利用しているAPIの仕様変更の影響で
動作が四捨五入じゃなくなった。MSはそれを仕様だと逃げようとしたが、
苦情殺到のため、SP1で元の仕様に戻した。

SP1を入れないWinXPへの対応として、そのFormat関数を四捨五入する
仕様に戻すパッチも単独で提供されている。




559 名前: 542 投稿日: 02/10/06 05:19
>>556
なるほど、全然バージョンが違いますね
オンラインソフトにはむかないかなぁ?
今のところFileSystemObjectしかつかってないけど

やっぱりWinAPI使った方がいいかな


560 名前: デフォルトの名無しさん 投稿日: 02/10/06 07:57
.iniファイルに書き込もうと思って調べたら
WritePrivateProfileSection
などを使用することがわかったのですが、
うまくいきません。
VB6.0で書くと構文エラーで赤字で表示されます。
これはなぜでしょうか?
よろしくお願いします。


561 名前: デフォルトの名無しさん 投稿日: 02/10/06 09:56
>>560
構文エラーだからです。それ以上でもそれ以下でもありません。


562 名前: 新実 投稿日: 02/10/06 10:07
お前等お前等お前等お前等お前等お前等お前等お前等
ヽ( ・∀・)ノ < filnbhlmbcfilnbh
http://genie.gaiax.com/home/nakatai
お前等お前等お前等お前等お前等お前等お前等お前等


563 名前: デフォルトの名無しさん 投稿日: 02/10/06 10:26
>>560
> .iniファイルに書き込もうと思って調べたら
> WritePrivateProfileSection
> などを使用することがわかったのですが、
> うまくいきません。

何で、.ini ファイルなんか使うの ?
GetSetting() / GetAllSettings() / SageSetting() / DeleteSetting() じゃダメなん ?


564 名前: デフォルトの名無しさん 投稿日: 02/10/06 10:44
編集しやすいから


565 名前: デフォルトの名無しさん 投稿日: 02/10/06 11:03
俺はiniを読むときはAPI使うが書くときは普通に開いて整形しながら書き込み


566 名前: デフォルトの名無しさん 投稿日: 02/10/06 11:06
ファイルのopenについて聞きたいんですが、ファイルのopenに失敗した時
エラーのメッセージボックスを出したいと思っています。でもどうやって
ファイルのopenに失敗したことを知ればいいのか分かりません。
どうすればいいでしょうか?

今は実行されると同時に次のようにしてファイルを読み込んでいます。

Public Sub Form_Load()
Open "C:\AtomCount\M.txt" For Input As #1
  For i = 1 To Ypixel
    For j = 1 To Xpixel
     Input #1, A(i, j)
  Next
  Next
Close #1   'これと同じような動作を後2回します。


567 名前: デフォルトの名無しさん 投稿日: 02/10/06 11:09
>>564
ならしょうがないね。>>560 には declare 文を勉強してもらうしかないみたいね。

>>565
> 俺はiniを読むときはAPI使うが書くときは普通に開いて整形しながら書き込み

なんでそんなことを... ?


568 名前: デフォルトの名無しさん 投稿日: 02/10/06 11:32
>>566
On Error Goto ...
を使う。これを使ってファイルが存在するか調べるって方法があったっけ。


569 名前: 566 投稿日: 02/10/06 11:46
ありがとうございます。使い方を調べてみます。


570 名前: デフォルトの名無しさん 投稿日: 02/10/06 11:46
>>567
ごめん、俺の勘違い。


571 名前: デフォルトの名無しさん 投稿日: 02/10/06 11:48
存在チェックならdir関数で充分だぽ
入力用で開くならエラーはこんくらいか


572 名前: デフォルトの名無しさん 投稿日: 02/10/06 11:51
存在チェックならFindFirstFile()


573 名前: 566 投稿日: 02/10/06 11:59
ファイルを開く時の失敗を検出したいんです。On Error Gotoでは
エラーナンバーが必要なようですが、ファイルを開くのに失敗した時
エラーナンバーは何になるんでしょうか?


574 名前: デフォルトの名無しさん 投稿日: 02/10/06 12:06
Err.Numberでエラーナンバー取得しる


575 名前: 536 投稿日: 02/10/06 12:09
>>573
> ファイルを開くのに失敗した時エラーナンバーは何になるんでしょうか?

試せばいいと思うが ?

全部のエラーを知りたいなら、ヘルプで「トラップできるエラー」を調べるべし。


576 名前: 542 投稿日: 02/10/06 12:09
mk:@MSITStore:C:\Program%20Files\Microsoft%20Visual%20Studio\MSDN98\98VS\1041\vbenlr98.chm::/HTML/vamsgtrappableerrors.htm
ここみれ。
(インストールフォルダ違ったらなおして)
というか読みとりエラーが発生するなんてファイルが存在しないときぐらいしかないんじゃないの?
なら
If Dir("C:\AtomCount\M.txt")="" then
  MSGBOX "エラーなのですです。。"
Else
  Open〜〜〜
End If
みたいなのじゃだめ?


577 名前: デフォルトの名無しさん 投稿日: 02/10/06 12:21
VBでBase64エンコードしたいんだけど
いいサンプル載ってるページ知ってる人いませんか?
Googleでいくつかは見つけたんだけどいまいち。
いつもはVCでやってるんだけど久しぶりにVBに手ぇ出したら引っかかった。


578 名前: 566 投稿日: 02/10/06 12:22
>>576
ありがとうございます。見てみます。開くファイルは
データ数が指定されたテキスト形式の数字の羅列なので 
簡単に「読み込みできない」状態にできるんではないかと思い、
できればファイルオープン時のエラーにしたいんです。


579 名前: 542 投稿日: 02/10/06 12:31
>データ数が指定されたテキスト形式の数字の羅列なので 
>簡単に「読み込みできない」状態にできるんではないかと思い
ごめん俺には意味が分からない


580 名前: 566 投稿日: 02/10/06 12:32
>>575
試してみたら分かりました53でした。ありがとうございます。


581 名前: 542 投稿日: 02/10/06 12:41
53だとDirでやったのと同じじゃない?


582 名前: 566 投稿日: 02/10/06 12:48
>>542
ほんとだ。53ではないですね。でもデータを変えたらそれなりのメッセージが
出るように始めからなっているんですね。VB賢いなー

データの形式が
11,12,13,14,15
21,22,23,24,25
31,32,33,34,35
みたいな感じのテキストファイルということです。


583 名前: デフォルトの名無しさん 投稿日: 02/10/06 12:53
>>576
ちゃんとやるならダメだろ。Dir() と Open の間にファイルが消されてるかもしれないしね。
つーか、Open でエラーとラップできるんだからそうすりゃいいと思う。

On Error Goto Next
Open "C:\AtomCount\M.txt" For ...
If Err.Number <> 0 Then
 MsgBox "エラーなのですです。"
 ...
End If




584 名前: 542 投稿日: 02/10/06 12:54
ひょっとして
For j = 1 To Xpixel
     Input #1, A(i, j)
  Next
でエラーがおきるってこと?
読み込み回数を指定しているようだけど

そうだと仮定して書くけど
Do Until EOF(#1) = True
Input #1, A(i, j)
Loop
こういう風にやるもんだよ。


585 名前: デフォルトの名無しさん 投稿日: 02/10/06 13:04
>>577
VB.NETならいいんだが・・・。だめくさいな。
http://dobon2.tripod.co.jp/dotnet/string.html#base64


586 名前: デフォルトの名無しさん 投稿日: 02/10/06 13:13
>>577
http://www.geocities.co.jp/SiliconValley/4334/unibon/asp/base64.html
http://www.take-c.com/soft0006.aspx


587 名前: 566 投稿日: 02/10/06 13:13
>>584
行列の行数と列数の違うデータも後々取り込みたいので行数と列数
を指定していたほうがいいかな・・・・と思いました。


588 名前: デフォルトの名無しさん 投稿日: 02/10/06 13:41
VisualBasic本体はどうやって手に入れるのですか?


589 名前: 577 投稿日: 02/10/06 13:43
>>585,586
ありがとー


590 名前: デフォルトの名無しさん 投稿日: 02/10/06 13:46
>>588
> VisualBasic本体はどうやって手に入れるのですか?

お金もって、近所のヤ○ダ電機か LA○X にでも逝けよ。


591 名前: デフォルトの名無しさん 投稿日: 02/10/06 13:52
>>590
いくらくらいですかね?


592 名前: 552 投稿日: 02/10/06 13:54
便乗質問です。
これから秋葉行ってVB買ってこようと思ってます。
1万円のVB Standard版でもアプリケーションの配布ってできるもの?
教えてくだされ


593 名前: デフォルトの名無しさん 投稿日: 02/10/06 13:54
>>558
笑える対応だね。仕様をコロコロ変えるのは、ほんとにみっともない。


594 名前: デフォルトの名無しさん 投稿日: 02/10/06 14:01
>>558

> 苦情殺到のため、SP1で元の仕様に戻した。
>
> SP1を入れないWinXPへの対応として、そのFormat関数を四捨五入する
> 仕様に戻すパッチも単独で提供されている。



ttp://support.microsoft.com/default.aspx?scid=kb;ja;JP418691

↑仕様を元に戻したとは書いてないが?(ネタ??)


595 名前: デフォルトの名無しさん 投稿日: 02/10/06 14:03
>>594

ごめん、SP1へのリンクがあるね。(見落としてた)

逝ってきます・・・。


596 名前: デフォルトの名無しさん 投稿日: 02/10/06 14:29
>>591
> いくらくらいですかね?

お店の Web ページ見るとか、お店に電話するとか考えつかないの ?


597 名前: デフォルトの名無しさん 投稿日: 02/10/06 14:52
視野が狭くて考えられないんでしょ


598 名前: 547 投稿日: 02/10/06 17:56
>>550さん
IShellLinkは、どうもProfessional以上じゃないとダメのようです
Leaningでは使えないらしいです。
Cで作られたDLLを利用するぐらいしかないでしょうか


599 名前: ピンポロ 投稿日: 02/10/06 18:22
Access2000でテーブル中の何も無い項目には
NULLを入れたいと考えています。


>dim str as string
>str = vbNullChar
>
>lrs.Open "testtbl", cnn, adOpenForwardOnly, adLockPessimistic
>
>With rs
>.AddNew
>.Fields("aaa") = "01"
>.Fields("bbb") = str
>.Update
>End With


の様な形でtesttblというテーブルにレコードをINSERTして

"select * from testtbl where bbb is NULL"

というようなSQL文でSQLを発行しても
レコードはヒットしませんでした。
上記の様なSQL文でレコードを引っ張ってこれるようにするには
どうしたらいいでしょうか?



600 名前: ピンポロ 投稿日: 02/10/06 18:24
あ〜朝から〜
朝からステーキ食べたら笑顔もドカンと世界一!!(ヨイショ!)



601 名前: デフォルトの名無しさん 投稿日: 02/10/06 18:25
>>599
いいかげん、vbNullChar と vbNullString の違いを覚えれ。


602 名前: デフォルトの名無しさん 投稿日: 02/10/06 18:36
>>601
お前こそいいかげん、vbNullString と Null の違いを覚えれ。


603 名前: デフォルトの名無しさん 投稿日: 02/10/06 18:40
>>599
悪いことは言わないから(w)、転職、または他部門への異動を真剣に
検討して頂きたい。技術のない技術者(言葉が矛盾しているが w)の
存在は、顧客にとっても、同業者にとっても、迷惑(足手纏い)以外の
何者でもない。



604 名前: 542 投稿日: 02/10/06 18:41
デスクトップのフォルダーと、SendToのフォルダーってどうやって調べます?
これまたWindowsScriptオブジェクトならわかったんですが、WinAPIでどうやるのか
GetSystemDirectoryあたりとEnvironつかうっぽいですが


605 名前: 542 投稿日: 02/10/06 18:49
さっさと答えろよオラ


606 名前: デフォルトの名無しさん 投稿日: 02/10/06 18:51
じゃヒントね。
名前がSHから始まる関数。


607 名前: デフォルトの名無しさん 投稿日: 02/10/06 18:53
SHIT


608 名前: デフォルトの名無しさん 投稿日: 02/10/06 18:54
SHOP


609 名前: デフォルトの名無しさん 投稿日: 02/10/06 18:55
Get


610 名前: デフォルトの名無しさん 投稿日: 02/10/06 18:55
SP


611 名前: デフォルトの名無しさん 投稿日: 02/10/06 18:56
Path


612 名前: 550 投稿日: 02/10/06 18:58
>>598
>IShellLinkは、どうもProfessional以上じゃないとダメのようです
なんで?エディションは関係ないぞ。
http://www.geocities.co.jp/SilkRoad/4511/vb/shlink.htm
このURLを見たのかな?このサイトのDLLを使わせてもらうのでもいいが、
MkTypLib.ExeがなくてもODLの知識がなくても
要はタイプライブラリを手に入れればいいわけで。
http://www.domaindlx.com/e_morcillo/
例えばここにタイプライブラリあるよ。「Type Libraries」ページな。






613 名前: デフォルトの名無しさん 投稿日: 02/10/06 19:02
ちなみにinfファイルを使う方法もあるぞ


614 名前: ピンポロ 投稿日: 02/10/06 19:03
僕は学生です。


615 名前: デフォルトの名無しさん 投稿日: 02/10/06 19:06
僕も学生だよ。


616 名前: デフォルトの名無しさん 投稿日: 02/10/06 19:08
無職をバカにすんな


617 名前: デフォルトの名無しさん 投稿日: 02/10/06 19:09
俺は留年中です。


618 名前: デフォルトの名無しさん 投稿日: 02/10/06 19:13
vbNullChar・・・Chr(0)と同じ。いわゆるヌル文字。C言語では(Windows的にはLPSTRでは)文字列の終端を表す。
vbNullString・・・String型の初期値。アドレスが0で値が""。APIに渡すときの(文字列型の)ヌルポインタとして利用する。
          InputBox関数でキャンセルされたときの戻り値もこれ。
Null・・・Variant型の値の1つで有効な値が設定されていないことを示す。
DBから取得した値がNullのときはこれが返る。



619 名前: デフォルトの名無しさん 投稿日: 02/10/06 19:16
>>618
丁寧な説明は大いに結構だが、肝心の>>599氏が理解できるかどうか、
甚だ疑問と思われ。
無駄な努力(猫に小判、豚に真珠に値する行為)は放棄すべし。w

・・・他のROM者にはプラスになるのかもしれないが・・・。


620 名前: デフォルトの名無しさん 投稿日: 02/10/06 19:18
>>619
だから599宛てにしてないんだろうな。


621 名前: デフォルトの名無しさん 投稿日: 02/10/06 19:18
>>619
答えるかどうかはお前の知ったことじゃない。


622 名前: 601 投稿日: 02/10/06 19:21
>>602
> お前こそいいかげん、vbNullString と Null の違いを覚えれ。

すまん、勘違いしてた。


623 名前: 602 投稿日: 02/10/06 19:25
>>622
了解。今のお前は男の中の男。


624 名前: デフォルトの名無しさん 投稿日: 02/10/06 19:30
>>618
>>619 がぐちゃぐちゃ言ってるけど、気にすることはないと思うよ。
役に立つ情報だしね。


625 名前: 619 投稿日: 02/10/06 19:32
>>620 >>621 >>624
うるせーよ。お前ら。



626 名前: デフォルトの名無しさん 投稿日: 02/10/06 19:33
逆切れですかな?


627 名前: デフォルトの名無しさん 投稿日: 02/10/06 19:45
そんな基本中の基本でもめるな。
もしプログラムを職業としてるなら>>603が正しい。


628 名前: デフォルトの名無しさん 投稿日: 02/10/06 19:47
>>627=619=603
今度は自作自演ですかな?


629 名前: デフォルトの名無しさん 投稿日: 02/10/06 19:59
ネットワークにつながったマシンのCDトレイをOPENすることは
できますか?


630 名前: 542 投稿日: 02/10/06 20:02
>>605
ここまで露骨な偽物は2ch初めて以来初めてだ(w
>>606
あ〜これがIShellLinkってやつですね。
う〜んわりとめんどくさそう

正直WindowsScript使いたいけど、ダメかな?
95とNTは切り捨てるってことで
98,2000,Me,XPのバージョンの違いで挙動がどう違うか心配だけども。


631 名前: 606 投稿日: 02/10/06 20:11
>>630
SHGetSpecialFolderLocation+SHGetPathFromIDList
のことだったんだが。IShellLinkとは無関係。

98でもインストールオプションによってはWSHが
入ってない可能性がある。
どうせ95とNTを捨てるならShellオブジェクトを
実行時バインディングで利用した方がいい。
(95とNTでもIE4が入っていれば使える)


632 名前: デフォルトの名無しさん 投稿日: 02/10/06 20:13
>>629
できる。
そのマシンの前に行って、CD-ROM ドライブのボタンを押しな。


633 名前: デフォルトの名無しさん 投稿日: 02/10/06 20:14
なぜVBにはまともなスレがないですか?
マジ質問なんですけど。だれかたてて。



634 名前: デフォルトの名無しさん 投稿日: 02/10/06 20:18
>>633
お前が立てろ。


635 名前: 633 投稿日: 02/10/06 20:27
勃てますた
ttp://love.2ch.net/test/read.cgi/gay/1032259496/l50


636 名前: デフォルトの名無しさん 投稿日: 02/10/06 20:29
↑【ゲイ】オナニー用おかず画像ver.11【専用】


637 名前: デフォルトの名無しさん 投稿日: 02/10/06 21:44
>>619


638 名前: デフォルトの名無しさん 投稿日: 02/10/06 22:03
ある朝、ふと不安な夢から目覚めた>>619


639 名前: 577 投稿日: 02/10/06 22:31
昼間はどーも。
base64は力ずくで何とかしました。

ところでopen "hoge.txt" for input as #1ってしたときに
カレントフォルダのファイルを読みに行かないようなんだけど
俺のopenに関する知識が間違ってる?
"実行時エラー 53 ファイルが見つかりません"
泣きそう。


640 名前: デフォルトの名無しさん 投稿日: 02/10/06 22:32
> 俺のopenに関する知識が間違ってる?

多分、お前のカレントフォルダに関する知識が
間違ってるんだろうよ。


641 名前: デフォルトの名無しさん 投稿日: 02/10/06 22:32
>>639
一度保存しろ。


642 名前: 577 投稿日: 02/10/06 22:50
ども。
exe作って c:\testに入れて
c:\test\hoge.txt作って
Open "hoge.txt" For Input As #1
で実行時エラー。
何でなんだろ。
あ、一応フルパス指定なら読めます。


643 名前: デフォルトの名無しさん 投稿日: 02/10/06 22:51
>>642
> 何でなんだろ。

お前のカレントフォルダに関する知識が
間違ってるんだろうよ。


644 名前: デフォルトの名無しさん 投稿日: 02/10/06 22:52
>>642
カレントフォルダがわかるようにデバッグすれば?
メッセージボックスだすとか。


645 名前: デフォルトの名無しさん 投稿日: 02/10/06 22:52
>>619は短小包茎でモーヲタ


646 名前: デフォルトの名無しさん 投稿日: 02/10/06 23:05
>>642
exeで実行した時のエラーメッセージって何?


647 名前: 577 投稿日: 02/10/06 23:08
>>646
何度も同じことを書かせるな。


648 名前: デフォルトの名無しさん 投稿日: 02/10/06 23:15
AccessでADO使ってんですが、これを会社の端末に持っていきたいのです。
で、
・VBをインストールしていない。
・VBランタイムは上書きしてはいけない。
という端末の為、ADOの参照ファイルのみ持って逝きたいのですが、
msado21.tlb(ADO2.1の場合)というファイルのみ持って逝けば動くのでしょうか。

他にもあるのであれば、どれとどれをというのを教えていただきたいのですが。。。
あ、特殊なコントロールは使っていません。Accessのバージョンは同じです。


649 名前: デフォルトの名無しさん 投稿日: 02/10/06 23:16
>>647
exeで実行してそういうメッセージなら、そりゃファイルがないんだろうな。
ファイル名チェックしろよ。


650 名前: 577本物 ◆XlX2jv26Qo 投稿日: 02/10/06 23:17
初めて騙られますた。
---------------------------
pdxsend
---------------------------
実行時エラー '53':

ファイルが見つかりません。
---------------------------
OK
---------------------------
です。


651 名前: デフォルトの名無しさん 投稿日: 02/10/06 23:18
>>648
「バージョン同じです」って、おまえバージョン書いてないじゃん。



652 名前: 577本物 ◆XlX2jv26Qo 投稿日: 02/10/06 23:20
あーごめん。
3つぐらい開くファイルあって一個だけ間違ってた。
すべて俺が悪かった。
お手数かけました。



653 名前: デフォルトの名無しさん 投稿日: 02/10/06 23:20
>>650
まあ経験。

ファイル名の確認した? フォルダの表示オプションとかは?
dos窓開いて確認してみ。



654 名前: デフォルトの名無しさん 投稿日: 02/10/06 23:20
>>650
なんべん同じこと書かせりゃ気が済むんだ?


お 前 の カ レ ン ト フ ォ ル ダ に 関 す る 知 識 が
間 違 っ て る ん だ ろ う よ



655 名前: デフォルトの名無しさん 投稿日: 02/10/06 23:21
>>651
97です。
それに関して、何も必要なファイルは無いです、という意味で
「バージョンは同じです」と書いたつもりっす。
必要なファイル、ご存じですか?


656 名前: デフォルトの名無しさん 投稿日: 02/10/06 23:24
>>655
そもそもその端末ではVBE(ビジュアルベーシックエディター)は
インストールされてないのか? 普通access97と一緒にインストール
されるはずだが。


657 名前: デフォルトの名無しさん 投稿日: 02/10/06 23:28
MDACいれろやチンカス


658 名前: 542 投稿日: 02/10/06 23:28
>>642
chdir app.path


659 名前: デフォルトの名無しさん 投稿日: 02/10/06 23:34
チンカスとはご挨拶だなチキン野郎。


660 名前: 648 投稿日: 02/10/06 23:35
>>656
Accessだけなら他に何もファイルを入れなくても当然動きます。
ADOを使っているので、それ系の参照ファイルを入れないといけないのです(多分)。
>>657
MDACってVBランタイム系のファイルは何も入っていないのでしょうか。
細かく書いていなくて申し訳ないのですが、会社にはVB5ランタイムが
入っていて、VB6ランタイムで上書きすることが許されないのです。
ADO入りのVBランタイムは大概VB6ランタイムなので。。。
ランタイムに入っているファイルが上書きされやしないかと実験も
あまり出来ていない状況なのです。。。


661 名前: 648 投稿日: 02/10/06 23:37
>>659
騙り師、ごくろうさまです。そろそろ飽きようね。


662 名前: デフォルトの名無しさん 投稿日: 02/10/06 23:38
だったら最初からDAOでもブン回す仕様にしとけやハナ汁娘が


663 名前: デフォルトの名無しさん 投稿日: 02/10/06 23:40
>>662
俺はハナ汁娘じゃないぞこのマントヒヒが。


664 名前: デフォルトの名無しさん 投稿日: 02/10/06 23:43
>>660
あのさ、どっちにしてもコード(モジュール)書かなきゃADOでアクセスできないだろ?
で、普通そのためのVBEがインストールされてると思うんだよ。
で、そのメニューの「ツール]「参照設定」でActiveX Data Object が参照
されてるはずなのね。
どうなの、そのへん?


665 名前: デフォルトの名無しさん 投稿日: 02/10/06 23:45
誰がマントヒヒだこの野郎。そんなお前はモヤシ組のカイワレ君だろうが。


666 名前: デフォルトの名無しさん 投稿日: 02/10/06 23:46
>>664
ていうか、もって行きたいって書いてるから当然モジュールあるはずだな。
そのmdbファイル。


667 名前: デフォルトの名無しさん 投稿日: 02/10/06 23:49
なんでMDACがVB6のランタイムなんだこの野郎。関係ないだろダボハゼ野郎。
しかも2.1だろこの野郎。IE5でも入ってりゃ充分だこのバカ野郎。


668 名前: デフォルトの名無しさん 投稿日: 02/10/06 23:49
ほんとVBって駄目だな


669 名前: 648 投稿日: 02/10/06 23:50
>>662
すみません、最近、本見て始めたもので、ADOしかよく分からないのですよ。
JETの場合はDAOの方が効率良いみたいなのをよく見るので、
いずれ勉強しようとは思うのですが。
>>664
AccessのVBEから参照設定してますよ。
Accessインストールだけじゃ、多分、ActiveX Data Objectは入らないと思うのです。
VBをインストールしているから参照設定の項目にも並ぶってもんで。
で、会社にはVBはインストールされていない。
すると、ADO関係の所でエラーが出るでしょう?
まさか、最近のバージョンではAccessだけでActiveX Data Objectも入るんですか?


670 名前: 648 投稿日: 02/10/06 23:51
あらあら、書き込むの遅いからすごいレス付いてるな。
IE5入れればActiveX Data Object2.1入るんすか。。。
ちょっとやってみることにします。
ありがとうございます。


671 名前: デフォルトの名無しさん 投稿日: 02/10/06 23:54
>>669
> まさか、最近のバージョンではAccessだけでActiveX Data Objectも入るんですか?
入るよ。
逆にDAOは入らんよ。


672 名前: 648 投稿日: 02/10/06 23:56
>>671
そうだったのか…。
まだ97しか触ったことないんすよ。勉強になります。。。


673 名前: ついでに 投稿日: 02/10/06 23:59
>>665
ママのおっぱいでも吸ってろ包茎野郎。


674 名前: デフォルトの名無しさん 投稿日: 02/10/07 00:02
>670
ちがうよ。MDAC2.1入れるのに、IE5の環境が必要なだけだよ
MDACは分かるよな MDACTYP.EXEとかそんな感じのファイルだよ


675 名前: デフォルトの名無しさん 投稿日: 02/10/07 09:11
>>648
質問を読む限り、VBとは ぜんぜん関係ないようだが。



676 名前: デフォルトの名無しさん 投稿日: 02/10/07 10:13
なぜVBにはまともなスレがないですか?
なぜVBにはまともなスレがないですか?


677 名前: 投稿日: 02/10/07 10:22
>>676
スレがないんじゃなくて まともじゃないレスがあるだけ(w


678 名前: デフォルトの名無しさん 投稿日: 02/10/07 14:23
>>619はカントン包茎


679 名前: -- 投稿日: 02/10/07 16:12
ステートメント1
ステートメント2
があって、
1を実行し終わって少し時間を置いてから2を実行したい場合はどうするのでしょうか?
ステートメント1
timer1_timer
ステートメント2
としてtimerを割り込ませてもすぐにステートメント2が実行されてしまいました。



680 名前: -- 投稿日: 02/10/07 16:16
Option Explicit
Dim i, t As Integer
'----------------------------------
Private Sub Form_Load()

Form1.Caption = "始まり" '(ステートメント1)

Timer1.Interval = 1000
t = 5
Timer1.Enabled = True

Timer1_Timer

Form1.Caption = "終わり" '(ステートメント2)

End Sub
'-----------------------------------
Private Sub Timer1_Timer()
i = i + 1
If i > t Then Timer1.Enabled = False: Exit Sub
End Sub
'-----------------------------------
これを実行すると
本当は5秒後にキャプションを"終わり"にしたいのに
実行開始直後に"終わり"と表示されてしまいました。


681 名前: デフォルトの名無しさん 投稿日: 02/10/07 16:32
>>679-680
悪いことは言わないから(w)、転職、または他部門への異動を真剣に
検討して頂きたい。技術のない技術者(言葉が矛盾しているが w)の
存在は、顧客にとっても、同業者にとっても、迷惑(足手纏い)以外の
何者でもない。



682 名前: デフォルトの名無しさん 投稿日: 02/10/07 16:38
>>681
何様のつもりなんだ?コイツは



683 名前: デフォルトの名無しさん 投稿日: 02/10/07 17:06
>>682
貴様のつもりだろ(w



684 名前: デフォルトの名無しさん 投稿日: 02/10/07 17:09
(w
(w
(w
ダサッ


685 名前: デフォルトの名無しさん 投稿日: 02/10/07 17:21
>670-680が職業プログラマだとは限らんだろうに。


686 名前: デフォルトの名無しさん 投稿日: 02/10/07 17:33
>>680

タイマーの使い方を知らないみたいだな。

タイマーは インターバルに指定した時間がたったら、実行されるイベントだ。

正解はこれ。

Option Explicit
Public i, t As Integer
'----------------------------------
Private Sub Form_Load()

Form1.Caption = "始まり" '(ステートメント1)
Timer1.Interval = 1000
t = 5
i = 0
Timer1.Enabled = True

End Sub

'-----------------------------------
Private Sub Timer1_Timer()
i = i + 1

If i > t Then
Timer1.Enabled = False
Form1.Caption = "終わり" '(ステートメント2)
End If
End Sub
'-----------------------------------



687 名前: デフォルトの名無しさん 投稿日: 02/10/07 17:44
タスクバーに表示されている他のウィンドウの
アイコンとキャプションを変えるには?
なおウィンドウのハンドルは取得してます


688 名前: デフォルトの名無しさん 投稿日: 02/10/07 17:50
>>687
悪いことは言わないから(w)、転職、または他部門への異動を真剣に
検討して頂きたい。技術のない技術者(言葉が矛盾しているが w)の
存在は、顧客にとっても、同業者にとっても、迷惑(足手纏い)以外の
何者でもない。


689 名前: デフォルトの名無しさん 投稿日: 02/10/07 18:04
>>688
悪いことは言わないから(w)、他のスレ、または他の板への異動を真剣に
検討して頂きたい。答える気のない技術者の存在は、このスレの住人にとっても、
同業者にとっても、迷惑(足手纏い)以外の何者でもない。


690 名前: -- 投稿日: 02/10/07 18:06
>>686さんありがとうございました。
なるほどぉ。
timer1_timerの中にステートメント2を入れるんですね。
i=0も言われて気づきましたが必要ですね。

>>682さん
かばってくれてありがとうございます。

>>685さん
たとえ肉体労働でもいいのでアルバイト探し中です。


691 名前: デフォルトの名無しさん 投稿日: 02/10/07 18:11
つうか初心者質問スレで「転職しろ」はねえだろよ糞が。


692 名前: デフォルトの名無しさん 投稿日: 02/10/07 18:22
おまいら、しょせん似た者同士なんだから喧嘩なんかするなよ。


693 名前: デフォルトの名無しさん 投稿日: 02/10/07 18:27
初心者っていっても少しは本読んで勉強しる


694 名前: デフォルトの名無しさん 投稿日: 02/10/07 18:29
いやだから皆が皆職業プログラマだとは鍵乱打朗に。


695 名前: デフォルトの名無しさん 投稿日: 02/10/07 18:29
限らんだろうに。


696 名前: デフォルトの名無しさん 投稿日: 02/10/07 18:30
>>692-693
自己弁護必死だな


697 名前: -- 投稿日: 02/10/07 18:32
僕は学生で、趣味でプログラミングをやっています。
それなのにいきなり転職だ迷惑だ言われてしまっては
面食らってしまいます。
もう少し柔らか頭で行きませんか?
微笑を絶やさぬ人はときめきを絶やさぬ人
という詩もあります。
いつも喧嘩腰じゃ駄目ですって!



698 名前: -- 投稿日: 02/10/07 18:38
>>697
これ僕じゃないです


699 名前: --679 ◆ExGQrDul2E 投稿日: 02/10/07 18:38
あのー
>>697
わたしじゃないです。トリップつけてみました。


700 名前: --679 ◆ExGQrDul2E 投稿日: 02/10/07 18:41
これ僕じゃないと言ってる
>>698
も僕じゃないです。というより僕の書き込みを予想して先に698のようなカキコをしたんでしょうね。
だいぶ前のスレの伝説の177さんもだいぶにせものにやられてたようですが。


701 名前: デフォルトの名無しさん 投稿日: 02/10/07 18:43
いやどうでもいいし。


702 名前: デフォルトの名無しさん 投稿日: 02/10/07 19:32
っていうかコテハン いらないよ。
名前書かなくてもいいしね。
誰が どの発言でもいいのだ。
問題が 解決されれば。



703 名前: 687 投稿日: 02/10/07 19:34
解決して


704 名前: デフォルトの名無しさん 投稿日: 02/10/07 19:55
>>687
SetWindowText


705 名前: デフォルトの名無しさん 投稿日: 02/10/07 20:03
>>687
WM_SETICON


706 名前: デフォルトの名無しさん 投稿日: 02/10/07 20:23
友達いない君がここにも出没しているようだね。


707 名前: 687 投稿日: 02/10/07 20:30
>>704-705
と私も思ったんですがダメでした

申し遅れましたが変えたいアプリとはかちゅ〜しゃです
どうもかちゅだとタイトルバーは変わるもタスクバーがそのままみたい
フツーのアプリだとちゃんと変わりますのでご回答としはバッチリなのですが
ホント申し訳ないです

つーワケでよろしくおながいします


708 名前: 687 投稿日: 02/10/07 20:31
あっ!かちゅ〜しゃのクラス名はこれでいいと思います
TKatjushaMainForm


709 名前: デフォルトの名無しさん 投稿日: 02/10/07 20:35
みんな会社や学校でかちゅ〜しゃ使おうと必死だな(w


710 名前: 687 投稿日: 02/10/07 20:35
>>709
その通りです (w


711 名前: デフォルトの名無しさん 投稿日: 02/10/07 20:41
興味津々デスワ。
是非やり方教えて下され。(w >かちゅ〜しゃ


712 名前: デフォルトの名無しさん 投稿日: 02/10/07 21:21
>>711
悪いことは言わないから(w)、転職、または他部門への異動を真剣に
検討して頂きたい。技術のない技術者(言葉が矛盾しているが w)の
存在は、顧客にとっても、同業者にとっても、迷惑(足手纏い)以外の
何者でもない。


713 名前: デフォルトの名無しさん 投稿日: 02/10/07 21:30
>>712
そのコピペうざい。


が、このスレ見ているとその意見自体に当てはまる人は腐るほどいる。
そういった人たちが、職業がプログラマでないことを切に願う。


714 名前: デフォルトの名無しさん 投稿日: 02/10/07 21:39
>>707
> どうもかちゅだとタイトルバーは変わるもタスクバーがそのままみたい

タスクトレイのことではないよね?
WM_SETICONでは大小両方のアイコンを変えてみた?


715 名前: デフォルトの名無しさん 投稿日: 02/10/07 21:42
>>707
VCL製のアプリケーションではアプリケーションウィンドウというサイズ0の見えないウィンドウが存在している。
タスクバーの文字はこのアプリケーションウィンドウのタイトルなのでそれを変えればよい。


716 名前: デフォルトの名無しさん 投稿日: 02/10/07 22:14
ご教授賜りたく。

フォーム上でのマウスの右クリックメニューを作りたいのですが
サパーリ分かりません。
MSDNで引いても分かりませんでした。
(検索語が悪いのかな?)

教えていただけないでしょうか。


717 名前: 687 投稿日: 02/10/07 22:18
>>714
スマソ
後述の通り解決しますた

>>715
できました!確かにありました
クラス名:TApplication
タイトルバーのテキスト:かちゅ〜しゃ
ナルホド目からうろこです
どうもでした


718 名前: デフォルトの名無しさん 投稿日: 02/10/07 22:20
>>716
検索が悪い。


右クリックのイベントのとり方が分からないのか、メニューの作り方が分からないのか。
どちらにしろVBなら5分もあれば実装可能だな。


719 名前: デフォルトの名無しさん 投稿日: 02/10/07 22:24
>>718
はい、メニューの作り方すら分かりません。
イベントのとり方はマウスクリックのイベントを追えばいいんでしょうか?


720 名前: デフォルトの名無しさん 投稿日: 02/10/07 22:29
>>719
はい MouseDown ででも
検索なら 'PopupMenu メソッド' で探してみてください
てーかその程度ならMSDNでなくぐぐれば一発かと


721 名前: デフォルトの名無しさん 投稿日: 02/10/07 22:35
>>720
(゚д゚)肛門から宿便が出ますた。
ありがとうございますた。



メニューエディタで作れんのかよ・・・・・・・


722 名前: デフォルトの名無しさん 投稿日: 02/10/07 22:38
かちゅ〜しゃといえば、二重起動防止してあるけどこれ解除する方法はないの?


723 名前: デフォルトの名無しさん 投稿日: 02/10/07 22:48
ソースいじれよ


724 名前: デフォルトの名無しさん 投稿日: 02/10/07 23:33
質問させてください。
VBコマンドボタンを押すと選択したPDF文章を印刷する方法を教えてください。



725 名前: デフォルトの名無しさん 投稿日: 02/10/07 23:39
>>724
こりゃまた豪快な質問だな。


726 名前: デフォルトの名無しさん 投稿日: 02/10/08 00:05
質問させてください。
VBコマンドボタンを押すとネット上からエッチな写真を収集する方法を教えてください。


727 名前: デフォルトの名無しさん 投稿日: 02/10/08 00:33
フォームに自爆ボタンを付けてください。


728 名前: デフォルトの名無しさん 投稿日: 02/10/08 01:23
こんなスレがあったとわっ

ということで、早速質問させて頂きます
今、Inetコントロールを使ってHTTPでアクセスするツールを作っているのですが
その際、User-AgentやRefferを変えることは可能なのでしょうか?
それらしきものは全く見当たらないのですが・・・


729 名前: デフォルトの名無しさん 投稿日: 02/10/08 01:39
こんばんは。初めまして。
いきなりですが、質問させてください。

動作中のVBアプリがタスクマネージャのアプリケーションの項目に表示されないようにしたいのですが、可能でしょうか?
可能でしたら、方法を教えてもらえないでしょうか?ヒントだけでもありがたいです。
過去ログにあるようでしたらあると言って貰えると助かります。
よろしくお願いします。


730 名前: デフォルトの名無しさん 投稿日: 02/10/08 01:49
こんばんわ

Webbrowserコントロールをでブラウザを作ろうとしてるのですが
Ctrl + Nを押すとIEが立ち上がってしまいます。
IEが立ち上がらないようにするにはどうすればいいのでしょうか。
よろしくお願いします。


731 名前: デフォルトの名無しさん 投稿日: 02/10/08 01:51
こんばんは

ばーか


732 名前: デフォルトの名無しさん 投稿日: 02/10/08 02:09
こんばんわんこ


733 名前: デフォルトの名無しさん 投稿日: 02/10/08 02:10
こんばんま


734 名前: デフォルトの名無しさん 投稿日: 02/10/08 07:47
10 input "suuji ..... ",suuji
20 print suuji
30 end

これをVBで書いたらどうなるの?教えて偉い人!


735 名前: デフォルトの名無しさん 投稿日: 02/10/08 09:01
>>734
VBに inputに なるものは ない。
代わりに テキストボックスがある。

まず コマンドボタンと テキストボックスを貼り付けて
コマンドボタンをダブルクリックして 出てきたところに
msgbox text1.text

と 書けば よい。


736 名前: デフォルトの名無しさん 投稿日: 02/10/08 09:03
あ もちろん 734に 書かれている 意味合いのinputが ないということだよ。

VBにあるinputは ファイル等から読みこむものだ。


737 名前: デフォルトの名無しさん 投稿日: 02/10/08 09:24
これでいいだろ? (w
10: suuji = InputBox("suuji ..... ")
20: MsgBox suuji
30: End


738 名前: デフォルトの名無しさん 投稿日: 02/10/08 10:50
Len(vbCrLf)を実行するとなんと2が返ってくるけど1じゃないのはなぜ?
改行コードの長さを求めると1が帰ってくる関数はあるの?


739 名前: デフォルトの名無しさん 投稿日: 02/10/08 10:59
>>738
悪いことは言わないから(w)、転職、または他部門への異動を真剣に
検討して頂きたい。技術のない技術者(言葉が矛盾しているが w)の
存在は、顧客にとっても、同業者にとっても、迷惑(足手纏い)以外の
何者でもない。


740 名前: デフォルトの名無しさん 投稿日: 02/10/08 11:02
>>738
CRで1バイト、LFで1バイトだが。
CRLFの改行は2バイトであってる。
メモ帳で改行一個のファイル作ってサイズ見て見れ?
2バイトだろ。


741 名前: デフォルトの名無しさん 投稿日: 02/10/08 11:05
>>739 コピペウザイ


742 名前: 738 投稿日: 02/10/08 11:18
>>740
うおーそうだったのか。1+1で2バイトだったなんて。
ありがとうございます。感激。


743 名前: 738 投稿日: 02/10/08 11:19
>>740さんですた


744 名前: デフォルトの名無しさん 投稿日: 02/10/08 11:20
>>740 間違ってるよ
バイトじゃなく単に文字数ですよ


745 名前: 738 投稿日: 02/10/08 11:26
>>740さん >>744さん
1文字+1文字で2が返ってくるということですね。了解っす。


746 名前: 738 投稿日: 02/10/08 12:02
Pcture1(i)のようにピクチャーボックスが配列になってたら
For i=0 to 100
picture1.visible=false
next
のようにたくさんのピクチャボクスvisibleをいっぺんにfalseにできるけど、
picture1
picture2
picture3
のように独立したピクチャをいっぺんにいじりたい場合はどするの?
For i=0 to 100
(picture & i).visible=false
next
だとエラーがでる・・


747 名前: 738 投稿日: 02/10/08 12:04
>>746
3行目
picture1(i).visible=false
ですた



748 名前: デフォルトの名無しさん 投稿日: 02/10/08 12:44
>>746-747
Controls("Picture" & i).Visible = False
くだらん質問ばかりすんなよ


749 名前: デフォルトの名無しさん 投稿日: 02/10/08 12:46
くだらなくねえだろ


750 名前: 738 投稿日: 02/10/08 12:59
>>748さん
VB極めた気配がしまつ。。
ちょっとやってみて報告します。
>>749さん
私は初心者に超がつくのかもしれません。超初心者スレができないかな。


751 名前: デフォルトの名無しさん 投稿日: 02/10/08 13:01
>>748
くだらないのはお前自身


752 名前: デフォルトの名無しさん 投稿日: 02/10/08 13:02
>>751
オマエモナー


753 名前: 738 投稿日: 02/10/08 13:09
みなさん、私なんかの為にけんかしないでください。
気持ちはとても嬉しいですから(*^ _ ^*)


754 名前: デフォルトの名無しさん 投稿日: 02/10/08 13:13
>>748
便乗質問ですが、

strTmp1
strTmp2

という変数があり、
For lngCnt = 1 To 2
strTmp & CStr(lngCnt) = ""
Next lngCnt

みたいなのをやりたいんですが、この場合はどうしたらいいんでしょうか?


755 名前: デフォルトの名無しさん 投稿日: 02/10/08 13:17
>>754
配列にするのがベストかと。



756 名前: デフォルトの名無しさん 投稿日: 02/10/08 13:20
質問です。
シングルコーテーションで囲まれた
CSV形式のテキストファイルを作りたいのですが
どうやればいいのでしょうか?
お願いします。


757 名前: デフォルトの名無しさん 投稿日: 02/10/08 13:21
>>756
やってみて分からない個所だけ聞けよ
丸投げはヤメレ


758 名前: デフォルトの名無しさん 投稿日: 02/10/08 13:21
>>728
可能

>>739
同様の質問が過去ログにある


759 名前: 754 投稿日: 02/10/08 13:23
>>755
もちろん普通は配列にするのはわかってますが、
こういうのもできるのかなと思っての質問です。


760 名前: 746、738 投稿日: 02/10/08 13:24
Dim i As Integer
For i = 1 To 2
Controls("Picture" & i).Visible = False 'いったん消して
Next

Dim Str1 As String
Str1 = "Picture" 'こんなこともできるのか?
For i = 1 To 2
Controls(Str1 & i).Visible = True '再び表示
Next

ありがとうございました。
見事にできました。
Contorolsも知らなかったので検索キーワードも思いつきませんでした。
やはり分厚い本を最初から最後まで読まないとこういったことは覚えられないか。


761 名前: デフォルトの名無しさん 投稿日: 02/10/08 13:31
>>756
Printで一行分の文字列書けばいいんじゃ


762 名前: 756 投稿日: 02/10/08 13:49
Print #1,"'" & Test1 & "','" & Test2 & "'"
ってこと?


763 名前: デフォルトの名無しさん 投稿日: 02/10/08 13:50
>>759
パブリックな変数なら CallByName で出来るかも。
試してないのであくまでも「かも」ですが。


764 名前: デフォルトの名無しさん 投稿日: 02/10/08 13:50
>>762
それでダメなのか?


765 名前: デフォルトの名無しさん 投稿日: 02/10/08 13:53
>>728
object.Execute [url[, operation[, data[, requestHeaders]]]]
MSDEのここのページを見ると詳しく書いてある。
requestHeaders の部分に必要なHttpヘッダを入れる。


766 名前: デフォルトの名無しさん 投稿日: 02/10/08 13:54
>>764
文字列中にシングルクォーテションが入っていた場合が考慮されていない。

どのみち、CSVに書き出すのは簡単だが、取り出すのがめんどい。


767 名前: 756 投稿日: 02/10/08 13:56
>>764
なんか簡単な方法あるのかなと思ったのよ
長くなると面倒くさくて
ありがとう


768 名前: 765 投稿日: 02/10/08 14:12
そぉりぃ。MSDNでした。
Inet1.Execute , , , "Referer: maeno.page" & vbCrLf & _
"User-Agent: Mybz/1.00" & vbCrLf


769 名前: デフォルトの名無しさん 投稿日: 02/10/08 14:25
>>758
すいません、できれば、User-Agentとかを変える方法の
ヒントとかお願いできないでしょうか


770 名前: 738、746 投稿日: 02/10/08 14:27
オレが738の書き込み時間から今の時間までに試したり思ったりしたこと。
-------------------------------------------------
実験1
Dim i As Integer
Dim Ary() As Integer
i = 1
ReDim Ary(i) '動的配列のサイズ指定に変数iを使うことができた。
Dim sAry(i) As Integer '静的配列の宣言にはこの便利な方法は使えなかった。
------------------------------------
実験2
Dim j=5 '変数の宣言と同時に値を代入することはできなかった。
------------------------------------
思ったこと1
>>754のようなかんじのプログラム。
For i=1 to 10
Dim BaseName & i as integer'たぶんエラーがでるけど、こんなかんじで変数を宣言できたら便利
Next

754やこのようなことは配列やコレクションでないとできないのかも。
---------------------------------------
初心者がほえてるのは見苦しいが
まあ勝手にムカついてくれ


771 名前: デフォルトの名無しさん 投稿日: 02/10/08 15:50
>>770
10時50分から 14時27分まで 考えてたのか。
ヒマだね〜〜〜。


772 名前: デフォルトの名無しさん 投稿日: 02/10/08 15:56
>>771
暇そうだな。お前。


773 名前: デフォルトの名無しさん 投稿日: 02/10/08 16:02
VB使うくらいならDelphi使いたいよな


774 名前: デフォルトの名無しさん 投稿日: 02/10/08 16:05
>>773 使えばいいだろ


775 名前:  デフォルトの名無しさん 投稿日: 02/10/08 16:13
いいよね


776 名前: デフォルトの名無しさん 投稿日: 02/10/08 16:17
>>773
使う言語の指定が なければ Delphiを使いたいぜーーー。

ホント VBしか しらねぇやつばっかで 困っちまうぜ。


777 名前: デフォルトの名無しさん 投稿日: 02/10/08 16:18
こまるよね


778 名前: 738 投稿日: 02/10/08 16:22
そうでもないよ


779 名前: ◆ExGQrDul2E 投稿日: 02/10/08 16:26
↑にせものをにせものと見抜けないとレスを返すのも難しい。


780 名前: 777 投稿日: 02/10/08 16:26
そうだよ


781 名前: 776.5 投稿日: 02/10/08 16:37
そうかな


782 名前: デフォルトの名無しさん 投稿日: 02/10/08 16:50
DataGridコントロールにRecordSetを連結させたあと、
DataGridをクリックした場合、その行のレコードの内容を取得したいのですが、
どうしたらいいのか教えてください。


783 名前: >782 投稿日: 02/10/08 17:11
Private Const SELECT_STRING As String = _
"SELECT * FROM Contacts ORDER BY LastName, FirstName"
Private Const CONNECT_STRING As String = _
"Data Source=Bender\NETSDK;Initial " & _
"Catalog=Contacts;User Id=sa"

Private m_DataSet As DataSet
Private Sub Form1_Load(ByVal sender As Object, ByVal e As _
System.EventArgs) Handles MyBase.Load
Dim data_adapter As SqlDataAdapter

data_adapter = New SqlDataAdapter(SELECT_STRING, _
CONNECT_STRING)

data_adapter.TableMappings.Add("Table", "Contacts")

m_DataSet = New DataSet()
data_adapter.Fill(m_DataSet)

dgContacts.DataSource = m_DataSet.Tables("Contacts")
End Sub


784 名前: デフォルトの名無しさん 投稿日: 02/10/08 17:29
>>783みたいに
本当のプロもいるのよね


785 名前: デフォルトの名無しさん 投稿日: 02/10/08 17:32
この程度でプロなら自称素人の私はプロ中のプロだな


786 名前: デフォルトの名無しさん 投稿日: 02/10/08 17:50
>>784
マジレス。どの辺がプロ?


787 名前: デフォルトの名無しさん 投稿日: 02/10/08 17:50
弱い犬ほどよく吠える


788 名前: デフォルトの名無しさん 投稿日: 02/10/08 17:55
>>786
データベースをやってるとプロの気配がただようんだ。


789 名前: 769 投稿日: 02/10/08 18:03
ぼけぼけですた

>>765
めっちゃどうもありがd


790 名前: デフォルトの名無しさん 投稿日: 02/10/08 18:04
>>786
VBって、とっつきやすいから他言語を使っている人から見れば想像を
絶するような初心者が多い。

このスレの趣旨であり大部分を占める初心者質問からみれば十分まと
もなコードだと思うよ。


791 名前: デフォルトの名無しさん 投稿日: 02/10/08 18:18
>783
つーかこれあきらかにMS系のサンプルコードだと思うんだが。


792 名前: デフォルトの名無しさん 投稿日: 02/10/08 18:20
>>782
DataGridコントロールにRecordSetを連結しているという事は、
そのレコードの内容は既にグリッドに表示されてると思うのだが。


793 名前: デフォルトの名無しさん 投稿日: 02/10/08 19:17
たぶんこのスレ、気が弱い人は質問できない。


794 名前: VB信者 投稿日: 02/10/08 19:24
>>793がイイ事逝った


795 名前: デフォルトの名無しさん 投稿日: 02/10/08 19:24
そもそも気の弱い人は2ちゃんに来ない。


796 名前: デフォルトの名無しさん 投稿日: 02/10/08 19:26
ひろゆきが好きでないと2ちゃんに来れない


797 名前: デフォルトの名無しさん 投稿日: 02/10/08 19:36
vb6のdirlistboxやfilelistbox等を使用して
ftp接続したサーバー(linux)のディレクトリを
表示することはできますか?



798 名前: デフォルトの名無しさん 投稿日: 02/10/08 19:43
正直VBを全くのド素人の状態から初めて1ヶ月チョット。
このままVBを頑張るか、他の言語へ乗り換えるか・・・。

なんか色んなスレROMってると、
VBでは難しいこと出来ないみたいなことばっかかいてあったし。
どうなんでしょう?


799 名前: デフォルトの名無しさん 投稿日: 02/10/08 19:45
自分が何作りたいかによるだろ。


800 名前: デフォルトの名無しさん 投稿日: 02/10/08 19:47
そもそも難しいことが何かわからない。


VBで出来ないことも実際あるけどそれが難しいこととは別の話しだし。


801 名前: デフォルトの名無しさん 投稿日: 02/10/08 19:49
VisualBasic6.0上では、隠しファイル(フォルダも含む)を参照することが出来ません。
そこで、getattr関数を使って、ファイルの属性を調べ、隠しファイルであれば
setattr関数を使って属性を変更してまた戻しています。

で、質問なのですが、
「最近使ったファイル」を調べたいのですが、これは「隠しフォルダ」になっています。
MSDNで調べてみると。setattr関数って、ファイルしか属性変更できないみたいなんですけど、
どのように、フォルダの属性を変更すればよいのでしょうか?

あるいは、属性変更せずに隠しフォルダの中身を参照することはできるのでしょうか?

どなたか分かる方ご教授願います。


802 名前: デフォルトの名無しさん 投稿日: 02/10/08 19:52
>>801
参照ってなにで参照してんのよ?

> そこで、getattr関数を使って、ファイルの属性を調べ、隠しファイルであれば
> setattr関数を使って属性を変更してまた戻しています。
つか、やめれ。



803 名前: 801 投稿日: 02/10/08 20:02
802様
>参照ってなにで参照してんのよ?
フォルダの中身を調べて、中のファイルのパス名を取り出したいのです。

>> そこで、getattr関数を使って、ファイルの属性を調べ、隠しファイルであれば
>> setattr関数を使って属性を変更してまた戻しています。
>つか、やめれ。
申し訳ございませんが、なぜ駄目なのか教えていただけないでしょうか?


804 名前: 追記@801 投稿日: 02/10/08 20:05
質問の回答にはなってませんでした。
>参照ってなにで参照してんのよ?
フォルダの中身を調べて、中のファイルのパス名を取り出したいのです。
ですから、Dir関数を使おうかなと


805 名前: デフォルトの名無しさん 投稿日: 02/10/08 20:06
>>798
ハードウェアよりのことはCやアセンブラ。
データベース系はVB。
VBやってるとVBscriptが使えるASPの習得も楽で、
ASP + SQL Server を運営して2ちゃんのようなサイトを作ることもできる。


806 名前: デフォルトの名無しさん 投稿日: 02/10/08 20:23
( ´_ゝ`)フーン  


807 名前: デフォルトの名無しさん 投稿日: 02/10/08 20:28
駄目だこりゃ


808 名前: デフォルトの名無しさん 投稿日: 02/10/08 20:30
>>805
なるほど、これはもう少し慎重に選択してみたいと思います。
ありがとうございました。


809 名前: デフォルトの名無しさん 投稿日: 02/10/08 20:36
ここはとても温和で気軽にカキコめるスレだと思うがな
他に比べれば


810 名前: デフォルトの名無しさん 投稿日: 02/10/08 20:42
>>804
ヘルプでDir関数の第2引数を調べろ


811 名前: デフォルトの名無しさん 投稿日: 02/10/08 20:57
なんでも知ってる人は聞かれなくても自分からどんどん教えたくなるもんさ


812 名前: デフォルトの名無しさん 投稿日: 02/10/08 21:01
>>797
不可能。


813 名前: デフォルトの名無しさん 投稿日: 02/10/08 22:03
>>797
そn二つで出来るかは知らないが、普通のリストボックスじゃダメなん?

FTP接続は、アップロード、ダウンロード、ディレクトリ表示などどれも超簡単。


814 名前: デフォルトの名無しさん 投稿日: 02/10/08 22:07
>>801-803
801のプログラムが実行中に、OSが落ちようとも電源が落ちようとも
どんな事態が起きようとも絶対に、ファイルの属性を元に戻す自信があれば、
別にそのように作ってもいいんじゃない。




815 名前: デフォルトの名無しさん 投稿日: 02/10/08 22:12
>>798
VBを一ヶ月ちょっとやって、まだまともに出来ないのであれば、
他の言語に移るのは止めておいた方がいい。

かつ、難しいといわれるプログラムもしない方がいい。


816 名前: デフォルトの名無しさん 投稿日: 02/10/08 22:23
>>814
マルチタスクって知ってるか?


817 名前: デフォルトの名無しさん 投稿日: 02/10/08 22:49
814 名前:デフォルトの名無しさん[sage] 投稿日:02/10/08 22:07
>>801-803
801のプログラムが実行中に、OSが落ちようとも電源が落ちようとも
どんな事態が起きようとも絶対に、ファイルの属性を元に戻す自信があれば、
別にそのように作ってもいいんじゃない。

816 名前:デフォルトの名無しさん[sage] 投稿日:02/10/08 22:23
>>814
マルチタスクって知ってるか?


818 名前: 801 投稿日: 02/10/08 23:29
810様 レスありがとうございます。
ヘルプを調べました。フォルダに関する記述は「vbDirectory」のみです。
これはつまり、「隠しフォルダ」については、
普通のフォルダに属性を変更することができない、ということをあらわしているのでしょうか?

814、817様レスありがとうございます。
よく分かりました。なぜ隠しフォルダなのか分からないまま
突発的なエラーが出たときにきちんと対処できるか
どうかという問題ですね。




819 名前: デフォルトの名無しさん 投稿日: 02/10/08 23:32
VBで出来ないことって何━━(゚∀゚)━━ッ??


820 名前: デフォルトの名無しさん 投稿日: 02/10/08 23:40
816は何が言いたいのか?


821 名前: デフォルトの名無しさん 投稿日: 02/10/08 23:54
>>818
んーと、そろそろアレなので解答というか…。
「vbDirectory or vbHiddon」とか。
罠があるのでgetattrしてチェックした方がいいとか、そのgetattrには罠があるとか。
こそらへん調べるといいかな。


822 名前: デフォルトの名無しさん 投稿日: 02/10/08 23:57
>>819
大抵のことはできるでしょ。
VBの基本コンポーネントだけでAPI使用禁止、とか言われたらかなり無理が
出るけど…。
ただ、APIを大量に使い出すとVBである意味がなくなる罠。
まぁ、VBにも他の言語にも向き不向きがあるってこった。


823 名前: デフォルトの名無しさん 投稿日: 02/10/09 00:06
>>819
OSがWindows以外で動作させる事。
つまり、最高精度でWindowsだからあんまり精度を求める処理は無理。
また、高速なスピードを要求する処理。

マルチスレッドは無理すれば何とか。



824 名前: 801 投稿日: 02/10/09 00:09
821様。レスありがとうございます。
どうやら私的にもう少しヘルプの熟読と、VisualBasic解説HPの検索が必要みたいです。
第2引数の複数選択が出来るみたいですね。
getattr関数、dir関数ともに勉強し直してきます。

ここのスレの皆様、ご教授大変ありがとうございました。
またどうしても分からないことがありましたら、
よろしくお願いいたします。


825 名前: 816 投稿日: 02/10/09 00:42
>>820
そのプログラムが属性変更して動いている最中でも
別のプロセスが動く可能性があるということですが。

これでもまだ理解できませんでしょうか?


826 名前: デフォルトの名無しさん 投稿日: 02/10/09 00:51
排他ロックが必要か


827 名前: デフォルトの名無しさん 投稿日: 02/10/09 01:15
ファイルリストボックスやコモンダイアログでファイルを複数選択して、同じ操作を
させたいのですが、どのような記述をすればいいでしょうか?
内容は、バイナリデータをデコードして、CSVファイルにして出力させるというものなのですが。
よろしくお願いします。


828 名前: 729 投稿日: 02/10/09 01:21
>動作中のVBアプリがタスクマネージャのアプリケーションの項目に表示されないようにしたいのですが、可能でしょうか?

自己レスです。
過去ログにShowWindowで出来るようなことが書かれていたので試してみました。
hWnd = FindWindow(vbNullString, "キャプション")
ShowWindow hWnd, SW_HIDE
で、"キャプション"に自分以外のアプリのキャプションを指定するとそのアプリはタスクマネージャに表示されなくなりました。
しかし、自分自身のキャプションを指定すると、画面上には表示されなくなるのですがタスクマネージャには相変わらず表示されていました。
これはこういうものなのでしょうか?ご存知の方教えて頂けないでしょうか。よろしくお願いします。


829 名前: デフォルトの名無しさん 投稿日: 02/10/09 01:30
>>828
オーナーウィンドウの方を操作すればできそうだが。


830 名前: 729 投稿日: 02/10/09 03:23
>>829 さま
アドバイスありがとうございます。
オーナーウィンドウのハンドルを取得してShowWindowしたところ、願っていた動作をするようになりました。
ほんとに助かりました。やっと眠れます。
オーナーウィンドウの意味がまだよく分かっていませんが、ぼちぼち勉強していきたいと思います。
ありがとうございました。


831 名前: デフォルトの名無しさん 投稿日: 02/10/09 05:45
>>798
むずかしいことをすれば、むずかしいこともできる。

>>811
能ある鷹はチンコを隠す


832 名前: デフォルトの名無しさん 投稿日: 02/10/09 09:29
ちんこみたい


833 名前: デフォルトの名無しさん 投稿日: 02/10/09 11:14
クラスに開始メソッドと停止メソッドを追加したいんですが
予約語で命名出来ません。この場合何てつけますか?

ダメな例 start stop, start end, begin end, open close


834 名前: デフォルトの名無しさん 投稿日: 02/10/09 12:27
質問です。
ダイヤルアップ環境で、オフライン中にインターネットに接続しようとすると
ダイヤルアップのウィンドウが表示されますが、
これを画面に表示させないでWebアクセスなどを試みることは可能でしょうか?
(バックグラウンドで無理やりダイヤルアップ接続する方法とかではありません。)
繋がっていなかった場合はなんらかのエラー検出が出来る方法であればありがたいです。
どなたかご存知でしたら教えてもらえないでしょうか。よろしくお願いします。


835 名前: デフォルトの名無しさん 投稿日: 02/10/09 12:31
ダイヤルアップのプロパティで「ダイヤルしない」にすれ。


836 名前: デフォルトの名無しさん 投稿日: 02/10/09 13:02
>>833
start too stop, start too end, begin too end, open too close

start stoped, start ending, begin ending, open closed



837 名前: 834 投稿日: 02/10/09 13:22
>>835 さん
情報ありがとうございます。
ちょっと手元にダイヤルアップ環境がないので調べられなかったのですが、
VBアプリでそのプロパティの項目を「ダイヤルしない」に変更してしまえばよいということですかね?
で、終わったら元に戻してやればいいと。変更の仕方を調べてみます。(分かるかなぁ?)
どなたか他にも情報ありましたらよろしくお願いします。


838 名前: デフォルトの名無しさん 投稿日: 02/10/09 14:51
>>835
丁寧な説明は大いに結構だが、肝心の>>834氏が理解できるかどうか、
甚だ疑問と思われ。
無駄な努力(猫に小判、豚に真珠に値する行為)は放棄すべし。w

・・・他のROM者にはプラスになるのかもしれないが・・・。



839 名前: 834 投稿日: 02/10/09 15:11
>>838
そこまで言う事無いでしょう?
なんなんだ?あんたは


840 名前: デフォルトの名無しさん 投稿日: 02/10/09 15:14
「この板はプログラムを作る人のための板です。」


841 名前: デフォルトの名無しさん 投稿日: 02/10/09 15:15
>>839
ダイアルアップ接続中かどうかを調べるAPIならいろいろあるよ
対象のOSは何?


842 名前: デフォルトの名無しさん 投稿日: 02/10/09 15:15
>>839
コピペにマジレスカッコ(・∀・)イイ!!
って どこでみたんだったかな>>838の文章。。


843 名前: デフォルトの名無しさん 投稿日: 02/10/09 15:15
838は コピペ

そんなこと言うなら、 838が 834が理解できるように 説明しろ。
説明できないのに 否定だけするな。


844 名前: 834 投稿日: 02/10/09 15:21
すみません、言葉が足りませんでした。
「VBアプリ」でWebアクセスなどを行う場合にダイヤルアップのウィンドウを表示させない方法を探していました。

>>840 さん
そうなんですか!
対象OSはWindows95OSR2以降、WindowsNT4ServicePack3以降のWindowsです。
(幅広くてすみません。)よろしくお願いします。



845 名前: デフォルトの名無しさん 投稿日: 02/10/09 15:23
「このスレは初心者のためのスレです。」
ですが、とりあえず勉強してる、調査したなどの努力は みせましょうね。


846 名前: 834 投稿日: 02/10/09 15:32
まことにすみません、>>840 さんではなく>>841 さまでした。



847 名前: 834 投稿日: 02/10/09 15:52
>>845 さん
ご忠告ありがとうございます。
ダイヤルアップ関連については初めてでしたので、つい何も考えずに質問してしまいました。
これからは気をつけたいと思います。

少し調べたところRASというAPIがなにやら使えそうなので、もう少し調べてみようと思います。


848 名前: 834 投稿日: 02/10/09 15:53
ホントすいません。


849 名前: デフォルトの名無しさん 投稿日: 02/10/09 18:00
VBScriptですが

フォームのドロップダウンリストの値を取得するには
form.name.options.value

では、ラジオボタンの値を取得する場合はどうすれば良いですか?



850 名前: デフォルトの名無しさん 投稿日: 02/10/09 21:45
>>849
それは質問ではなく、問題ですか?


851 名前: デフォルトの名無しさん 投稿日: 02/10/09 23:07
よろしくお願いします。

1.ListBox上で、項目が選択されていない状態で右クリックしたとき、
項目が選択されて、かつ右クリックメニューが表示されるようにするのはどうしたら言いのでしょうか。
(右クリックメニュー表示は実装しています。)

ListBoxのクリックイベントと、MouseDownのイベントどちらかに記述するのでしょうか。

MSDNで引いても、ググってもわかりませんですた。
ご教授よろしくおながいします。


852 名前: デフォルトの名無しさん 投稿日: 02/10/09 23:10
ふつう右クリックのメニューがポップアップするのはMouseUp時だろ。


853 名前: >>851 投稿日: 02/10/09 23:14
>>852
>>718-720
だったもんで・・・・・

すみませんね。

引き続き回答おまちしております。


854 名前: デフォルトの名無しさん 投稿日: 02/10/09 23:22
すみません、型の違いがよくわからないので教えてください。


855 名前: デフォルトの名無しさん 投稿日: 02/10/09 23:28
>>864
それぞれの型によって入れられる値の種類が違います。


856 名前: デフォルトの名無しさん 投稿日: 02/10/09 23:34
ふつうWM_CONTEXTMENUが来たときだろ。


857 名前: デフォルトの名無しさん 投稿日: 02/10/10 00:10
>>856
わざわざコンテキストメニューを出すためにサブクラス化したりするの?


858 名前: デフォルトの名無しさん 投稿日: 02/10/10 00:17
うわVBってこんなのもできないんだ


859 名前: デフォルトの名無しさん 投稿日: 02/10/10 00:20
>>858
何を出来ないと思っているかC言語を用いて述べよ。


860 名前: デフォルトの名無しさん 投稿日: 02/10/10 00:21
>>833
>クラスに開始メソッドと停止メソッドを追加したいんですが
>予約語で命名出来ません。この場合何てつけますか?

旧VBの楽しいところだね。

>ダメな例 start stop, start end, begin end, open close
Prev(ious)とNextとか、ReadとWriteとかもあるね。

例えば、時間を扱うクラスとして、
StartTime、StopTimeとかにしてるよ。
オブジェクト指向的には冗長かつ邪道なネーミングだけど。


861 名前: デフォルトの名無しさん 投稿日: 02/10/10 00:54
VBでゲームソフトを作っていて、ヘルプの所に
自分のホームページへのリンクを貼りたいのですが、
こういう場合にはどのようにすれば良いのでしょうか?


862 名前: デフォルトの名無しさん 投稿日: 02/10/10 01:14
ShellExecute


863 名前: デフォルトの名無しさん 投稿日: 02/10/10 09:10
>>862
ありがとうございます。調べてみたら使う事が出来ました。

もう一つお伺いしたいのですが、Labelの上にマウスカーソルが来た時、
マウスカーソルを手の形にし(ブラウザのハイパーリンクのように)、
Labelの上から離れたら元に戻したいのですが、
これはどのような処理をしたら良いのでしょうか。
Screen.MousePointer = vbなんとか でカーソルの形を変えられることは分かったのですが、
どんなイベントの所でこれを書けばいいのか分からず困っています。


864 名前: デフォルトの名無しさん 投稿日: 02/10/10 09:27
>>863

Formのマウス ムーブのイベントで ラベルのところに x,y が 入ったら ポインタを手に変えたら
いいんじゃないのか?
それで、それ以外は、元に戻すとかする。


865 名前: デフォルトの名無しさん 投稿日: 02/10/10 09:29
>>863
ラベルのプロパティをデザイン時に変えるだけ。


866 名前: デフォルトの名無しさん 投稿日: 02/10/10 09:37
ああ それが 一番 カンタンだった。
label1.MousePointer = 15
とか Form Load時に やっとけ。



867 名前: デフォルトの名無しさん 投稿日: 02/10/10 11:41
WritePrivateProfileString を使ってINIファイルに書き込むと、
空白が入ってしまいます。

回避方法を、教えてください。



868 名前: デフォルトの名無しさん 投稿日: 02/10/10 11:45
>>867
すみません、自己解決しました。m(_ _)m


869 名前: デフォルトの名無しさん 投稿日: 02/10/10 12:34
>>867
Nothingで書き込んで、セクションを削除してから
再度書き込む。



870 名前: デフォルトの名無しさん 投稿日: 02/10/10 12:40
>>867
Killステートメントでファイルまるごとあぼーん。


871 名前: 超初心者かも 投稿日: 02/10/10 15:43
VisuualBasic6.0で質問です。

DoEvents以外ウィンドウズに制御を渡すってどうするんでしょうか?
DoEventsは遅い気がするので。


872 名前: デフォルトの名無しさん 投稿日: 02/10/10 17:03
制御を渡すって、具体的に何がしたいの?


873 名前: デフォルトの名無しさん 投稿日: 02/10/10 17:12
>>871
if (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)){
TranslateMessage(&msg);
DispatchMessage(&msg);
}



874 名前: デフォルトの名無しさん 投稿日: 02/10/10 17:16
VBで実行中のアプリケーションがアクティブかどうかって
どうやって判断するのですか?
アクティブじゃない時は処理を中断させたいのですが。


875 名前: デフォルトの名無しさん 投稿日: 02/10/10 17:19
>>873
85点。


876 名前: デフォルトの名無しさん 投稿日: 02/10/10 18:02
>>874
GetForegroundWindow()


877 名前: デフォルトの名無しさん 投稿日: 02/10/10 18:07
>>875
100点の回答を 教えてくれ。


878 名前: デフォルトの名無しさん 投稿日: 02/10/10 19:03
>>875
教えを乞う態度とは思えん
(答えを求めておいて、結果を採点か?)


879 名前: デフォルトの名無しさん 投稿日: 02/10/10 19:09
>>878
5/100点


880 名前: デフォルトの名無しさん 投稿日: 02/10/10 19:49
よくVB製ソフトはダサイとか遅いとか糞とかVB製と知ったら落とすきダウンロードする気無くすとか言われてるけどどう思う?


881 名前: デフォルトの名無しさん 投稿日: 02/10/10 19:54
>>880
お前の日本語のほうが糞だと思う


882 名前: デフォルトの名無しさん 投稿日: 02/10/10 19:54
>>880
仕方ないと思う


883 名前: デフォルトの名無しさん 投稿日: 02/10/10 20:10
俺の場合は(オンラインソフトね)セットアップ形式だとダウンロードしようか迷うな
いや、落とすのが決まってる場合はいいけど、Vectorでいろいろ探す場合ね。


884 名前: デフォルトの名無しさん 投稿日: 02/10/10 20:43
(゚Д゚≡゚Д゚)


885 名前: ◆5VLaSsH.hA 投稿日: 02/10/10 21:21
InetでGetChunkしてるんですけど(VB6)
1024バイトごとに取得しているので丁度区切りの所に漢字が来ると
化けてしまいます。
これどうにかならないんですか?


886 名前: ◆5VLaSsH.hA 投稿日: 02/10/10 21:24
age


887 名前: デフォルトの名無しさん 投稿日: 02/10/10 21:28
>>880
VB製は糞の割合がかなり高いと思う。
つまり、Vectorで同一カテゴリで手当たり次第DLして試してみる時、
VB製だとなんじゃこりゃ、というレベルのまで掲載されている可能性が高い。

しかし、そのような糞ソフトを除けば、特にVBが重いとかダサいとかいうことは無いかと。
つまりそれなりに定評があるなら言語は何だって関係ないというか。
糞が多すぎるからVB全体のイメージが糞に引っ張られるのだろうな。


888 名前: デフォルトの名無しさん 投稿日: 02/10/10 21:31
>>885
第2引数をicByteArrayにしてバイト配列として取得し、
あとから結合するなりするといいんでないかい?
1024バイトごとにデコードしたいなら、最後の文字が2バイト文字か
どうか判別するルーチン作ってなんとかするとか。


889 名前: デフォルトの名無しさん 投稿日: 02/10/10 22:23
>>885
もしかしてこれ?

' 最初のチャンクを取得します。
vtData = Inet1.GetChunk(1024, icString)
DoEvents
Do While Not bDone
DoEvents
strData = strData & vtData
DoEvents
' 次のチャンクを取得します。
vtData = Inet1.GetChunk(1024, icString)
If Len(vtData) = 0 Then
bDone = True
End If
Loop

txtData.Text = Replace$(strData, vbLf, vbCrLf)

私も今までこのまま(MSDNどおり)にやってたけど、そんなだとは気づかなかったよ。


890 名前: デフォルトの名無しさん 投稿日: 02/10/10 22:54
>>889
あちらさんは2バイトコードなんて
地球外言語だと思ってるよ(藁



891 名前: デフォルトの名無しさん 投稿日: 02/10/10 23:06
バイナリで取得してくっつけてStrConvすれ。


892 名前: デフォルトの名無しさん 投稿日: 02/10/10 23:52
>>889
私なら、
Do While 1
にして、
If Len(vtData) = 0 Then Exit Do
にするけど、上記のMSDNに書いてあるやりかたの方が効率いいの?


893 名前: デフォルトの名無しさん 投稿日: 02/10/10 23:54
>>892
If Len(vtData) = 0をWhileの条件文にしないのはなんか意味あるの?



894 名前: デフォルトの名無しさん 投稿日: 02/10/11 00:18
>>863ですが、>>865さんのやり方で思い通りの結果が得られました。
ありがとうございました。


895 名前: デフォルトの名無しさん 投稿日: 02/10/11 00:25
>>893
その方がよかった。
では変えます。
そうしないでMSDNではああいう記述にしているのはなにかその方が効率がよかったりするのでしょうか?


896 名前: デフォルトの名無しさん 投稿日: 02/10/11 00:31
>>895
MSDNは見てないけど、もしも変数bDoneが
静的な変数(モジュールレベル or Static)だったら
893のコードとは意味が違ってくるわな。


897 名前: デフォルトの名無しさん 投稿日: 02/10/11 00:32
ボタンとかを自分で作りたいと思います
とりあえずPictureコントロールにLineを描画しているんですがどうでしょうか?
もっとスマートな方法があるんでしょうか?


898 名前: デフォルトの名無しさん 投稿日: 02/10/11 00:35
>>897
なんでそんな事したいの?
ユーザーが画面デザインの設定で見た目かえてても同じボタンになっちゃうじゃん。
そんなの不親切でしかないと思うけど・・。


899 名前: デフォルトの名無しさん 投稿日: 02/10/11 00:38
>>898
まぁいいじゃないですか。
オリジナルデザインのソフトっていくつかあると思いますし。


900 名前: デフォルトの名無しさん 投稿日: 02/10/11 00:39
送られてきたデータを画面に表示させる場合に
(例1)Winsock.GetData strData
Text1.Text = Text1.Text & strData & vbNewLine

(例2)Winsock.GetData strData
Picture.ForeColor = RGB(0,0,255)
Picture.Print = strData

(例3)Winsock.GetData strData
List.AddItem strData
List.ListIndex = List.CountIndex - 1 'データが下に隠れないように

出力する場所(テキストボックスなど)、出力方法、知識が足りないためか以下でや
りたいことができません。
まず、例1、例3だと送られてきたデータごとにフォントカラーが変更できない。
例1、例2ともに最後に送られてきたデータを画面内に表示させたいのです
が、古いデータがたまると、新しい行はスクロールバーで下に行かないと文
字が見れなくなる。
データごとにフォントが変更でき、最後に表示するデータがスクロールバー
で隠れることがないようにする方法教えてください。




901 名前: デフォルトの名無しさん 投稿日: 02/10/11 00:39
だからVBのソフトはグロテスクな見た目とか言われるんだよな。


902 名前: デフォルトの名無しさん 投稿日: 02/10/11 01:01
>>897
俺も同じような方法を使ってまつ。


903 名前: デフォルトの名無しさん 投稿日: 02/10/11 01:12
>>897
Pictureコントロールならそのまま画像はればいいじゃん。


904 名前: 897 投稿日: 02/10/11 01:18
>>903
いえ、picture1.paintで真ん中にテキストを表示させて、
周りをラインを描画させてるんです。
あとMouseDownの時の描画とかも

と、ここまでは出来たんですが、上の動作をモジュール化させたいのですが
その辺がよくわかりません


905 名前: D 投稿日: 02/10/11 02:43
>>900
最新の状況を表示するログのようなものならRichTextBox使って

Dim Buff As String
For i = 0 To 100
Buff = CStr(i)
Me.RichTextBox1.SelStart = 0
Me.RichTextBox1.SelText = Buff & vbCrLf
Me.RichTextBox1.SelStart = 0 '保存したテキストの選択
Me.RichTextBox1.SelLength = Len(Buff) ’同上
Me.RichTextBox1.SelFontSize = i    ’フォントサイズの変更
Next i

こんな感じでいいんじゃない?
保存も簡単だし


906 名前: D 投稿日: 02/10/11 02:52
>>904
コントロール自作しちゃえば?


907 名前: 仕事でVB不幸者 投稿日: 02/10/11 02:54
おそろしく初心者質問だということはわかっているのですが
検索しても出てこなかったので質問させてください。

2次元配列の宣言と初期化はVBではどのように記述したらいいのでしょうか?
C言語でいうところの

int PosArray[5][5] = {
{1,2},
{2,3},
...
};

このようなものです。


908 名前: デフォルトの名無しさん 投稿日: 02/10/11 03:02
>>907
宣言時の初期化はできません。


909 名前: デフォルトの名無しさん 投稿日: 02/10/11 03:22
>>907
昔のbasicならdata文とかあったけどねえ。
関数作って代入させるとかかな。

sub setArray(,array, x, y, val) とかしてなかで代入。


910 名前: D 投稿日: 02/10/11 03:31
>>909
READ〜DATAナツカシー。無くなったのが大変痛い。
&Bも使えませんねえ。


911 名前: 897 投稿日: 02/10/11 08:22
>>906
ActiveXコントロールですか?
配布時に面倒なので・・・
クラス化とかいうのやればよいのでしょうか。
クラスって一度も作ったこと無いけれども


912 名前: デフォルトの名無しさん 投稿日: 02/10/11 08:25
>>911
その前にお前作れんのかと。


913 名前: デフォルトの名無しさん 投稿日: 02/10/11 08:27
>>911
なぁ、自分の趣味で他人のアドバイス蹴りまくるのなら自分の力で解決すれば?
人に迷惑かけてまでやることでもあるまいて。
用語はわかってるみたいだから後は検索するだけだろ打て。



914 名前: 897 投稿日: 02/10/11 08:32
は〜いわかりますたよぶぅ〜。


915 名前: デフォルトの名無しさん 投稿日: 02/10/11 08:43
>897
ユーザーコントロールって知ってるか?
あと氏ねよ


916 名前: 897 投稿日: 02/10/11 08:45
ああこれなら配布時問題ないのね。
ありあと〜。


917 名前: デフォルトの名無しさん 投稿日: 02/10/11 09:41
>>860
レスありがとうございます。参考になりました。
自分の場合待ち受け開始、停止ということで
StartWaiting, StopWaiting
と名付けることにします。


918 名前: 897 投稿日: 02/10/11 11:07
>>915
言うに事欠いて
氏ねはないでしょ?
キモオタ風情がいきがりやがって。



919 名前: エロチカセヴン 投稿日: 02/10/11 11:16
おまいら新スレ

(*´д`*)ハウァッ… VB初心者質問スレ Part16
http://pc3.2ch.net/test/read.cgi/tech/1034302532/l50


920 名前: デフォルトの名無しさん 投稿日: 02/10/11 11:20
[氏ね]

悪名高い掲示板サイト「2ちゃんねる」内でよく使用される用語。
語源は単純に「死ね」だが、あいさつや相槌など、コミュニケーション
の潤滑油として使用される事も多い。
例 つーか氏ねよおめーら


921 名前: デフォルトの名無しさん 投稿日: 02/10/11 11:42
オタク用語みたいなもんだな。だせぇ。


922 名前: デフォルトの名無しさん 投稿日: 02/10/11 13:49
>>921
なにか勘違いしてるようだね。初心者君。


923 名前: デフォルトの名無しさん 投稿日: 02/10/11 14:00
これってどうよ? マジ?

http://www.dream-express-web.com/space-trust.htm



924 名前: 897 投稿日: 02/10/11 15:02
>>918
偽者いるし(w


925 名前: 投稿日: 02/10/13 18:41
漏れら極悪非道のageブラザーズ!
今日もネタもないのにageてやるからな!
 ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ∧_∧   ∧_∧    age
 (・∀・∩)(∩・∀・)    age
 (つ  丿 (   ⊂)  age
  ( ヽノ   ヽ/  )   age
  し(_)   (_)J



926 名前: デフォルトの名無しさん 投稿日: 02/10/13 19:10
潤滑油だったっけか
↓氏ねよザーコ


927 名前: 926 投稿日: 02/10/13 19:26
あ、↑失敗


928 名前: デフォルトの名無しさん 投稿日: 02/10/13 20:50
↑氏ねよザーコ(^o^)
氏ねよザーコ(^o^)↓


929 名前: デフォルトの名無しさん 投稿日: 02/10/13 21:55
┏━━━━━━━━━━━━┓
┃       マホカンタ      ┃
┗━━━━━━━━━━━━┛


930 名前: デフォルトの名無しさん 投稿日: 02/10/13 22:52
>>929
あなあいてる。


931 名前: VB房 投稿日: 02/10/16 19:52
もしよかったら教えて下さい。
質問です〜。

内側のIF文で外側のIF文を抜けたいんですYO!
そんな命令ありますか?

a = 0
b = 0

If a = 0 Then '外側

If b = 0 Then ’内側
'ココから外に抜ける
  'なんか脱出する命令。
End If

MsgBox ("NG")
End
End If

MsgBox("OK")
End



932 名前: デフォルトの名無しさん 投稿日: 02/10/16 20:05
>>931
goto


933 名前: デフォルトの名無しさん 投稿日: 02/10/16 20:06
>>931

> 内側のIF文で外側のIF文を抜けたいんですYO!
> そんな命令ありますか?

End


934 名前: VB房 投稿日: 02/10/16 20:07
>932
すんません…

お客様がGOTO恐怖症なんですYO〜。
GOTO以外でお願いしやす〜。


935 名前: デフォルトの名無しさん 投稿日: 02/10/16 20:11
>>934

GoSub 〜 Return


936 名前: デフォルトの名無しさん 投稿日: 02/10/16 20:32
>>934
関数にする


937 名前: VB房 投稿日: 02/10/16 20:35
>933
>935
>936
なるほど…。
やはり、一つ外側のIF文の外に出る命令は
ないんですね…。

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



938 名前: デフォルトの名無しさん 投稿日: 02/10/16 21:36
>>931
goto がイヤなら関数にして

exit sub(function) をうまく使う。



>お客様がGOTO恐怖症なんですYO〜。
金取ってるのか?このレベルで


939 名前: デフォルトの名無しさん 投稿日: 02/10/16 21:45
現在ログインいているユーザのグループ名を取得するには
どのようにしたらよいでしょうか?


940 名前: デフォルトの名無しさん 投稿日: 02/10/16 22:14
つーか、旧スレageるなよ


941 名前: デフォルトの名無しさん 投稿日: 02/10/16 22:35
>>931
仕事で使ってる?
だとしたら、かなりレベル低いよ。
Else使えばそんな作りにならないって。


942 名前: デフォルトの名無しさん 投稿日: 02/10/16 23:13
そんなコード書くのがそもそもの間違い。


943 名前: デフォルトの名無しさん 投稿日: 02/10/16 23:48
その通り。If文から抜け出さないと・・・という考えが既に間違い。


944 名前: デフォルトの名無しさん 投稿日: 02/10/17 00:23
ご存知のかたがいましたら、教えてください。

VBのImageにTIFF画像を読み込みたいのですが、
直接読み込めないので、TIFF画像を選択したら、
裏でJPEGに変換して変換したJPEGファイルを表示
しようと思っています。
TIFFからJPEG変換の方法はどのようにしたらよいですか?




945 名前: デフォルトの名無しさん 投稿日: 02/10/17 01:03
>>944
Imaging使えば、TIFF読み込めるよ。(WinXPを除く)


946 名前: デフォルトの名無しさん 投稿日: 02/10/17 07:53
SUSIEプラグイン使ったら?


947 名前: 931 投稿日: 02/10/17 14:56
馬鹿にするんじゃねえよ!!クソ虫どもが!!!


948 名前: デフォルトの名無しさん 投稿日: 02/10/17 15:15
DOにしるっ!

a = 0
b = 0

do while a = 0 '外側

If b = 0 Then ’内側
'ココから外に抜ける
  'なんか脱出する命令。
exit do
End If

MsgBox ("NG")
End
loop

MsgBox("OK")
End





949 名前: デフォルトの名無しさん 投稿日: 02/10/17 15:16
あ、
最後のloopの手前にも Exit do が 必要だに。


950 名前: デフォルトの名無しさん 投稿日: 02/10/17 15:18
a = 0
b = 0

If a = 0 AND b <> 0 Then '外側

MsgBox ("NG")
End
End If

ここに処理

MsgBox("OK")
End


951 名前: デフォルトの名無しさん 投稿日: 02/10/17 15:20
>>948-949
本来の目的以外に制御構文使うなよ・・・


952 名前: デフォルトの名無しさん 投稿日: 02/10/17 15:24
見にくいコードだな。
VBばかり使ってるからこんなコード書くようになるんだ。


953 名前: デフォルトの名無しさん 投稿日: 02/10/17 17:05
>>951

条件に見合ったら、一回だけループさせる。

本来の目的に沿ってるが(w

ループの回数が 1回だけでは 本来の目的に 沿わないというのか?
ならば、Exit Doするときに a=1 とか してやればいいだけの話。


954 名前: デフォルトの名無しさん 投稿日: 02/10/17 17:17
>>953
まぁ、アホに反論した俺もたいがいアホなんだが。
絶対に0〜1回しか実行されないと言うのは反復ではなく選択だと思うが。



955 名前: デフォルトの名無しさん 投稿日: 02/10/17 17:23
VB厨を象徴する糞コード


956 名前: VB 投稿日: 02/10/17 18:00
VB一人で勉強中の者です。
トグルを利用したいのですが、VBで使用することは可能でしょうか?
今のところofficeのトグルボタンを参照して使用してますが、
officeがインストされてない環境だともちろんエラーがでてしまうので。
どうかご回答のほどよろしくお願いします。



957 名前: デフォルトの名無しさん 投稿日: 02/10/17 18:03
トグルって何だっけ?
チェックボックスのプロパティ変えるとできるやつ?


958 名前: デフォルトの名無しさん 投稿日: 02/10/17 18:07
トグルボタン=へこんだり、もどったりするボタン。


959 名前: デフォルト名無しさん 投稿日: 02/10/17 18:31
ACCESS VBAをやってる奴にはなじみのコントロール。


960 名前: デフォルトの名無しさん 投稿日: 02/10/17 18:44
>>958
やっぱそれやね。チェックボックスのStyleプロパティを
1-グラフィックスにすればできるよ>>956


961 名前: VB 投稿日: 02/10/17 19:30
>>960
大感謝!!ありがとうございます。
でもこれいざやってみると基本中の基本みたいっすね。
確認能力不足、痛切に感じます


962 名前: デフォルトの名無しさん 投稿日: 02/10/18 02:17
>> 944
で書き込んだ、TIFFを変換するという内容なのですが、
レスいただいた内容のSusieプラグインでピクチャーボックス内に
表示することはできたのですが、
結局、JPEGに変換する必要がでてきました・・・

どうにかして、変換できないものでしょうか?
(市販のOCXなどでできそうなのですが、高いので・・・)

また、レスいただいている内容でImagingとありますが、
環境がXPなので使えそうにありません。

お願いします。



963 名前: デフォルトの名無しさん 投稿日: 02/10/18 09:10
Imagingって XPで 使えないのかなぁ?


964 名前: モモ様 投稿日: 02/10/19 01:39
助けてください
データフォームウィザードを使ってアクセスのデータベースに接続したい
のですがデータベースファイルを選択するとき、ファイルの名前をいれても
「認識できません」ってでます。私はどうすれば、、、

ソフトはvb6、アスセス2002です。



965 名前: デフォルトの名無しさん 投稿日: 02/10/19 01:46
>>964
一人称に「様」、普通にむかつきました。


966 名前: モモ 投稿日: 02/10/19 01:49
ごめんなさい。
訂正してお詫びします



967 名前: デフォルトの名無しさん 投稿日: 02/10/19 02:01
>>962
ImageMagick の convert を使って変換するとか。
Windows 版もあるし。
http://www.melt.kyutech.ac.jp/~ueno/HowTo/imagemagick.html
ftp://ftp.eos.hokudai.ac.jp/pub/graphics/ImageMagick/windows


968 名前: デフォルトの名無しさん 投稿日: 02/10/19 02:15
旧スレあげんな。>モモモ


969 名前: デフォルトの名無しさん 投稿日: 02/10/19 06:29
1000ゲットしるまでは あげまくるぞ!


970 名前: デフォルトの名無しさん 投稿日: 02/10/19 07:53
1000予約。


971 名前: デフォルトの名無しさん 投稿日: 02/10/19 10:31
>>970
Err.Number = 17
Err.Description = "要求された操作は実行できません。"


972 名前: デフォルトの名無しさん 投稿日: 02/10/21 23:43
(´・ω・`)999予約


973 名前: デフォルトの名無しさん 投稿日: 02/10/22 16:39
973 げっとぉっ〜〜


974 名前: デフォルトの名無しさん 投稿日: 02/10/22 16:47
次スレの1000予約


975 名前: デフォルトの名無しさん 投稿日: 02/10/22 21:23
インターネットの履歴を完全に消したいんだけど
インターネットのお気に入りとかの横にある履歴を消したただけで
インターネットの履歴は完全にけせますか?


976 名前: デフォルトの名無しさん 投稿日: 02/10/22 21:31
>>975
無理


977 名前: デフォルトの名無しさん 投稿日: 02/10/22 21:33
「インターネットの履歴」


978 名前: デフォルトの名無しさん 投稿日: 02/10/22 21:40
え?無理なの。じゃあ後どこを消せばいいの?


979 名前: デフォルトの名無しさん 投稿日: 02/10/22 21:48
履歴消したつもりのやつのPC見るの楽しい。


980 名前: デフォルトの名無しさん 投稿日: 02/10/22 21:50
どっかにのこってんの?>>979


981 名前: デフォルトの名無しさん 投稿日: 02/10/22 21:59
のこってるよ


982 名前: デフォルトの名無しさん 投稿日: 02/10/22 22:00
どこにのこってますか?


983 名前: デフォルトの名無しさん 投稿日: 02/10/22 22:06
そんなPC見て どこが 楽しいんや?

どこか ちゃんと 言え(w


984 名前: デフォルトの名無しさん 投稿日: 02/10/22 22:09

        まもなくここは 乂1000取り合戦場乂 となります。

      \∧_ヘ     / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ,,、,、,,, / \〇ノゝ∩ < 1000取り合戦、いくぞゴルァ!!       ,,、,、,,,
    /三√ ゚Д゚) /   \____________  ,,、,、,,,
     /三/| ゚U゚|\      ,,、,、,,,                       ,,、,、,,,
 ,,、,、,,, U (:::::::::::)  ,,、,、,,,         \オーーーーーーーッ!!/
      //三/|三|\     ∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
      ∪  ∪       (    )    (     )   (    )    )
 ,,、,、,,,       ,,、,、,,,  ∧_∧∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
      ,,、,、,,,       (    )    (    )    (    )    (    )




985 名前: デフォルトの名無しさん 投稿日: 02/10/22 22:13

        まもなくここは 乂1000取り合戦場乂 となります。

      \∧_ヘ     / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ,,、,、,,, / \〇ノゝ∩ < 1000取り合戦、いくぞゴルァ!!       ,,、,、,,,
    /三√ ゚Д゚) /   \____________  ,,、,、,,,
     /三/| ゚U゚|\      ,,、,、,,,                       ,,、,、,,,
 ,,、,、,,, U (:::1000::::)  ,,、,、,,,         \オーーーーーーーッ!!/
      //三/|三|\     ∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
      ∪  ∪       (  992 )    (  993  )   (  994 ) 995 )
 ,,、,、,,,       ,,、,、,,,  ∧_∧∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
      ,,、,、,,,       (  996 )    (  997 )    (  998 )    (  999 )



986 名前: デフォルトの名無しさん 投稿日: 02/10/22 23:07

        まもなくここは 乂1000取り合戦場乂 となります。

      \∧_ヘ     / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ,,、,、,,, / \〇ノゝ∩ < 1000取り合戦、いくぞゴルァ!!       ,,、,、,,,
    /三√ ゚Д゚) /   \____________  ,,、,、,,,
     /三/| ゚U゚|\      ,,、,、,,,                       ,,、,、,,,
 ,,、,、,,, U (:::1000::::)  ,,、,、,,,         \オーーーーーーーッ!!/
      //三/|三|\     ∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
      ∪  ∪       (  992 )    (  993  )   (  994 ) 995 )
 ,,、,、,,,       ,,、,、,,,  ∧_∧∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
      ,,、,、,,,       (  996 )    (  997 )    (  998 )    (  999 )




987 名前: デフォルトの名無しさん 投稿日: 02/10/22 23:21
おまえらこのスレタイトル恥ずかしくありませんでしょうか?


988 名前: デフォルトの名無しさん 投稿日: 02/10/23 00:04
オチケツ
http://ime.nu/homepage2.nifty.com/rohizuka/ka/pa_003_a.htm


989 名前: デフォルトの名無しさん 投稿日: 02/10/23 00:08
>>988
おまいは最低なやし。ぼけ。


990 名前: デフォルトの名無しさん 投稿日: 02/10/23 09:56
いまいち もリア柄ーんの王(w


991 名前: デフォルトの名無しさん 投稿日: 02/10/23 10:21
よいしょ


992 名前: デフォルトの名無しさん 投稿日: 02/10/23 10:22
えいさ


993 名前: デフォルトの名無しさん 投稿日: 02/10/23 10:22
ハッ


994 名前: デフォルトの名無しさん 投稿日: 02/10/23 10:23
・・・・・・


995 名前: デフォルトの名無しさん 投稿日: 02/10/23 10:23
ヽ(`Д´)ノ


996 名前: デフォルトの名無しさん 投稿日: 02/10/23 10:24
996


997 名前: デフォルトの名無しさん 投稿日: 02/10/23 10:24
997


998 名前: デフォルトの名無しさん 投稿日: 02/10/23 10:25
998


999 名前: デフォルトの名無しさん 投稿日: 02/10/23 10:26
↓1000


1000 名前: デフォルトの名無しさん 投稿日: 02/10/23 10:26
・・・・・・・・・1000


1001 名前: 1001 投稿日: Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。



2ちゃんねるは、ここのサーバを使ってるです。。。