2ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

VBプログラマ質問スレ(6.0以前) Part49

1 :デフォルトの名無しさん:2006/07/12(水) 10:32:33
ここは Visual Basic 〜6.0 の質問スレです。
質問者は使用しているOS、VBのバージョン、サービスパックのバージョン、
「何がしたくて、どうしたけど、どう困っているのか」を明確に書きましょう。

VB.NETは別物なので専門スレで、VBA、APIの質問もそれぞれのスレで。

○ 質問者の心得
 一.質問する前に過去ログにも目を通してみる。
 二.質問する前に MSDN などで調べてみる。
 三.VBScript はこのスレでOK。
 四.インストーラーなどの質問もOK。
 五.荒らしは相手しない。
 六.VB.NETの話題はできるだけひかえる。
 七.質問は第三者にもわかりやすいよう簡潔かつ具体的に。

○ 回答者の心得
 一.答えられない質問は無駄に罵倒せずスルー。
 二.代用法を強制しない。
 三.回答する上で必須ではない情報をむやみに聞き返さない。
 四.荒らしは相手しない。
 五.VB情報募集中。
 六.VB.NETの話題はできるだけひかえる。
 七.回答は質問者が理解できるよう具体的に。

MSDN Online Japan ホーム
http://www.microsoft.com/japan/msdn/default.asp
Visual Studio 6.0 Service Pack 6
http://msdn.microsoft.com/vstudio/downloads/updates/sp/vs6/sp6/default.aspx
Google
http://www.google.co.jp/
※「まず自分で調べる」クセを身につけよう。

2 :デフォルトの名無しさん:2006/07/12(水) 10:33:28
過去ログ
  Part 1 http://piza2.2ch.net/tech/kako/968/968328471.html
  Part 2 http://piza2.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/tech/kako/1026/10266/1026642565.html
  Part13 http://pc3.2ch.net/tech/kako/1029/10292/1029241786.html
  Part14 http://pc3.2ch.net/tech/kako/1030/10309/1030947162.html
  Part15 http://pc3.2ch.net/tech/kako/1032/10327/1032706491.html

3 :デフォルトの名無しさん:2006/07/12(水) 10:34:36
  Part16 http://pc3.2ch.net/tech/kako/1034/10343/1034302532.html
  Part17 http://pc3.2ch.net/tech/kako/1036/10361/1036154952.html
  Part18 http://pc3.2ch.net/tech/kako/1038/10381/1038103769.html
  Part19 http://pc3.2ch.net/tech/kako/1039/10398/1039859691.html
  Part20 http://pc5.2ch.net/tech/kako/1041/10418/1041879465.html
  Part21 http://pc5.2ch.net/tech/kako/1044/10440/1044028945.html
  Part22 http://pc5.2ch.net/tech/kako/1046/10463/1046354784.html
  Part23 http://pc5.2ch.net/tech/kako/1047/10477/1047743187.html
  Part24 http://pc5.2ch.net/tech/kako/1050/10501/1050151126.html
  Part25 http://pc5.2ch.net/tech/kako/1052/10526/1052627913.html
  Part26 http://pc5.2ch.net/tech/kako/1055/10551/1055145106.html
  Part27 http://pc5.2ch.net/tech/kako/1058/10586/1058674927.html
  Part28 http://pc5.2ch.net/tech/kako/1061/10612/1061296197.html
  Part29 http://pc5.2ch.net/tech/kako/1065/10654/1065446334.html
  Part30 http://pc5.2ch.net/test/read.cgi/tech/1069160036/

4 :デフォルトの名無しさん:2006/07/12(水) 10:35:18
  Part31 http://pc5.2ch.net/test/read.cgi/tech/1073732636/
  Part32 http://pc5.2ch.net/test/read.cgi/tech/1077216109/
  Part33 http://pc5.2ch.net/test/read.cgi/tech/1080606445/
  Part34 http://pc5.2ch.net/test/read.cgi/tech/1084544243/
  Part35 http://pc5.2ch.net/test/read.cgi/tech/1087519251/
  Part36 http://pc5.2ch.net/test/read.cgi/tech/1092906058/
  Part37 http://pc5.2ch.net/test/read.cgi/tech/1090286450/
  Part38 http://pc5.2ch.net/test/read.cgi/tech/1095673000/
  Part39 http://pc5.2ch.net/test/read.cgi/tech/1099737063/
  Part40 http://pc5.2ch.net/test/read.cgi/tech/1106748775/
  Part41 http://pc8.2ch.net/test/read.cgi/tech/1112414085/
  Part42 http://pc8.2ch.net/test/read.cgi/tech/1116924129/
  Part43 http://pc8.2ch.net/test/read.cgi/tech/1123952677/
  Part44 http://pc8.2ch.net/test/read.cgi/tech/1130231657/
  Part45 http://pc8.2ch.net/test/read.cgi/tech/1133977286/

5 :デフォルトの名無しさん:2006/07/12(水) 10:36:18
  Part46 http://pc8.2ch.net/test/read.cgi/tech/1138975113/
  Part47 http://pc8.2ch.net/test/read.cgi/tech/1141320612/
  Part48 http://pc8.2ch.net/test/read.cgi/tech/1146678926/

6 :デフォルトの名無しさん:2006/07/12(水) 10:37:16
http://www.microsoft.com/japan/msdn/vbasic/support/vistasupport.aspx
Visual Basic チームは、Visual Basic 6.0 アプリケーションが WindowsR Vista? でも
"そのまま" 動作する互換性を提供することを表明します。」

Visual Basic チームは、Windows XP で実行できる Visual Basic 6.0 アプリケーションが
Windows Vista でも実行できるようにすることを目標としています。
また、Windows Vista で実行できる Visual Basic 6.0 の開発環境を提供するための取り組みも行っています。
このドキュメントで説明するように、Visual Basic 6.0 ランタイムは、Windows Vista のライフサイクルをとおして
サポートされます (メインストリーム サポートが 5 年、延長サポートが 5 年の合計 10 年になります)。
マイクロソフト プロダクト サポート ライフサイクルの詳細については、http://support.microsoft.com/gp/lifepolicy (英語) を参照してください。

マイクロソフトでは、ユーザーが Windows Vista で Visual Basic 6.0 アプリケーションを実行できるようにするため、
Windows Vista に Visual Basic 6.0 ランタイムの主要コンポーネントを同梱する予定です。
Visual Basic 6.0 ランタイムを使用するように記述されたアプリケーションが Windows XP と Windows Vista の両方で
同様に動作する互換性を確保するため、一連のアプリケーションを使用してテストを行いました。

Visual Basic 6.0 IDE は、延長サポートの一環として、2008 年 3 月まで Windows Vista でサポートされます。
Windows Vista チームと Visual Basic チームでは、Windows Vista で Visual Basic 6.0 IDE のテストを行い、
IDE が以前のオペレーティング システムと同様に機能するようにしています。

7 :デフォルトの名無しさん:2006/07/12(水) 11:14:43
>>6
Vista って、Virtual PC は同梱されてるんだっけか?

8 :デフォルトの名無しさん:2006/07/12(水) 11:47:12
>>1

9 :デフォルトの名無しさん:2006/07/12(水) 17:24:51
>>1

10 :デフォルトの名無しさん:2006/07/12(水) 21:43:25
DB接続に関する質問です。
VB6.0でOracleにoo4o接続していて
VBからAPを起動すると問題なく動くんだけど
コンパイル後の実行ファイルから起動させると
ORA-12154: TNS: サービス名を解決できませんでした。
と表示され実行時エラーで落ちちゃいます。
SQLplusではちゃんとDB接続できるんだけど
誰かわかる方教えてください

11 :デフォルトの名無しさん:2006/07/12(水) 22:07:12
>>10
どのタイミングで落ちてるの?
まずはメッセージボックスでも挟んでどの場所で落ちているか調べるだけでも特定すれば絞れると思うよ


12 :デフォルトの名無しさん:2006/07/12(水) 22:11:10
>>10
TNS名はINIファイルとかから取得してるのでしょうか?
きちんとTNS名が取得されているかメッセージボックスで
表示させてみてはどうでしょう。

13 :10:2006/07/12(水) 23:04:00
Public OraSS As Object
Public OraDB As Object
Set OraSS = CreateObject("OracleInProcServer.XOraSession")

Set OraDB = OraSS.OpenDatabase("TNS名", "UsrID/Pass", ORADB_DEFAULT)
↑ここで落ちてます。
TNS名とUsrID/Passをイミディエイトに表示させて合ってるのは確認してます
TNS UsrID Pass 3つともConst定義で固定値にしてあります

14 :デフォルトの名無しさん:2006/07/12(水) 23:40:50
> Set OraDB = OraSS.OpenDatabase("TNS名", "UsrID/Pass", ORADB_DEFAULT)
> TNS UsrID Pass 3つともConst定義で固定値にしてあります

直書きしてるの? Const 定義してるの?

> TNS名とUsrID/Passをイミディエイトに表示させて合ってるのは確認してます

イミディエイトって IDE の?

VB から実行するとうまくいくんでしょ?

なんで >>12

> メッセージボックスで表示させてみてはどうでしょう。

と言うアドバイスを実施しないの?

15 :デフォルトの名無しさん:2006/07/13(木) 00:28:33
EXEもVBと同じマシンで起動していますか?
それか、もしかして違うEXEを実行してたりしてませんか?
(自分は寝ぼけてるとコピーした古いEXEを実行してる時があるんで)

16 :デフォルトの名無しさん:2006/07/13(木) 02:25:08
いやおまえそれは寝ぼけすぎだw

17 :デフォルトの名無しさん:2006/07/13(木) 03:04:10
cで作られたDLLをVBで呼び出す時に
VB6のデバッグでは動かないんですか?
コンパイルしたexeだと問題なく動くんだが、VB6のIDEで動かすと実行時エラー49になります。
http://support.microsoft.com/default.aspx?scid=kb;ja;410837
↑には「実行する場合は必ず Exe ファイルを作成して、エクスプローラ などから Exe ファイル を実行します。 DLL は Exe ファイルと同じディレクトリに配置します。」
って書いてあるけどその理由が書いてないですね。


18 :デフォルトの名無しさん:2006/07/13(木) 03:13:30
>>17
IDEのexeのあるフォルダがカレントになるからじゃないかい?
DLLをVB本体のあるフォルダに入れるか、
システムドライブのルートとかどこからでも参照できる場所に置くか、
環境変数のPATHに追加するとかすればいけると思うよ。


19 :デフォルトの名無しさん:2006/07/13(木) 03:39:44
>>18
そうですか。動かないはずが無いわけですね。てことはこちらに問題ありそうです。
一応考えられるフォルダにDLLを入れても駄目だったので、もう少し調べてみます。

20 :デフォルトの名無しさん:2006/07/13(木) 10:12:59
>>17
単に「動かない」じゃなくて、どんなエラーが出たのか位示せないの?

21 :デフォルトの名無しさん:2006/07/13(木) 10:15:17
エラー番号ではなく

22 :17:2006/07/13(木) 12:45:14
>>20
どうもです。
http://hpcgi1.nifty.com/MADIA/VBBBS/wwwlng.cgi?print+200501/05010016.txt
の方とまったく同じ症状です。
どうやら呼び出し規約の問題で、__stdcallを付けて作成されたDLLなら問題ないらしい。
しかしその場合DLLをリビルドしなければいけないのですが、
大問題として、使おうとしているDLLはサードパーティ製でソースコードが無いのです。
DLL本体と、C言語用のhファイルとlibファイルのみしかありません。
どうしたものか悩み中

23 :デフォルトの名無しさん:2006/07/13(木) 12:55:26
>>22
それはVBから呼ばれる事を一切考えてないDLLなので、どうしようもない。
なので、そのDLLをコールするだけのDLLを書き、そのDLLをVBから呼べ。

24 :17:2006/07/13(木) 13:09:05
>>23
やはりですか。ではそのようにします。ありがとうございました。

25 :デフォルトの名無しさん:2006/07/13(木) 13:33:57
「VB+CのDLL」っつー開発は厭って程やったけど、
特に意識せず普通にDLLを書いて、
VBからコール出来なかった事なんて一度もないな。
何か特殊な事して、わざと呼べなくするのか?

26 :デフォルトの名無しさん:2006/07/13(木) 13:51:13
>>25
どうゆう部分をDLLにするの?
どんなメリットあった?

27 :デフォルトの名無しさん:2006/07/13(木) 14:07:59
>>26
どんな部分と聞かれても・・・
相手がCのインターフェイスしか用意してないとか
低レベルの処理をするとか
ソケット通信関係でVBで処理するより簡単になるとか
まぁ色々あるけど。

28 :デフォルトの名無しさん:2006/07/13(木) 14:58:31
はじめまして、VBをはじめて2週間程度の初心者です。よろしくお願いします。
早速ですが質問させていただきます。

環境は VB6.0 SP6、OSはWindous2000 SP4 です。

VBのフォーム上にExcelのデータを出力し
それをフォーム上で編集・保存するには、どのようにしたら良いのでしょうか?

わかりにくい質問かと思いますが
OLEで出力した場合、編集する場合Excelが立ち上がってしまうのですが
私はExcelを立ち上げずに編集保存を行いたいと思っております。

このような場合は、何かしら外部ソフトを使用したほうが良いのでしょうか?
もしその場合、どのような物があるか教えていただけたら幸いです。

長文乱文失礼いたしました。解答よろしくお願いいたします。

29 :sage:2006/07/13(木) 16:21:14
複数のテキスト2つ以上を1つのテキストに同時に書き込むことって
できるのでしょうか

a.txt b.txt c.txt
aaa ddd ggg
bbb eee hhh
ccc fff iii

d.txt
aaa ddd ggg
bbb eee hhh
ccc fff iii
見たいな感じで



30 :デフォルトの名無しさん:2006/07/13(木) 16:21:14
VB6.0のWinsockコントロールについての質問です。
Winsockコントロールを使って、
TCP/IPクライアントを作っているのですが、
Winsockコントロールでは、
同期送受信はできないのでしょうか?

Winsock1.SendData buffer
した後に、
Winsock1.GetDataを回して待っていてもデータは取れません。

また、
Do
DoEvents
Loop
で待って、DataArrivalイベントでグローバル変数に受信データを突っ込もうとしても、
DataArrivalイベントが起きません。

同期送受信を実現するためには、
Winsockコントロールではなく、Win32APIの方でやらないといけないのでしょうか?

31 :デフォルトの名無しさん:2006/07/13(木) 16:42:32
>>29
出来ない。

32 :デフォルトの名無しさん:2006/07/13(木) 16:44:29
>>29
できる

33 :デフォルトの名無しさん:2006/07/13(木) 16:47:20
>>30
同期通信も非同期通信も、ヘルプに載ってなかったっけ?

34 :30:2006/07/13(木) 16:55:35
>>30
MSDNを見た限りでは、DataArrivalイベントでデータを取得する方法しかないようです。

35 :30:2006/07/13(木) 17:01:33
orz…。
>>33 さん でした。

36 :デフォルトの名無しさん:2006/07/13(木) 17:08:10
>>34
昔どっちも書いた筈なんだけど、今VBが動かない環境なので試せない・・・

37 :30:2006/07/13(木) 17:12:05
>>36 さん。
もしよければ、ソースをペタリと m(_ _)m

38 :デフォルトの名無しさん:2006/07/13(木) 20:36:17
>>37
こぴぺPG?

39 :デフォルトの名無しさん:2006/07/13(木) 23:09:17
かとちゃんぺ?

40 :デフォルトの名無しさん:2006/07/14(金) 00:05:55
>>31>>32
どっちだよwwwwwwwwwww

>>29
そのままマージするのは無理だけど、1レコードごとに連結して書き込めばいける。
それが気色悪かったら適当なレコードクラスを書いてとりあえずコレクションにでも格納すれば良いんじゃないかと

41 :デフォルトの名無しさん:2006/07/14(金) 00:30:26
しかし>>29みたいな意味不明な質問によくみんな回答できるもんだな。
エスパーの素質があるのか?

複数のテキストを同時に書き込むってどういう意味だよw
同時って何だよw

42 :デフォルトの名無しさん:2006/07/14(金) 00:38:41
○ 回答者の心得
 一.答えられない質問は無駄に罵倒せずスルー。


43 :デフォルトの名無しさん:2006/07/14(金) 00:43:36
アンタはそうすれば?
俺は俺のやり方で通させてもらうから悪いけど

44 :デフォルトの名無しさん:2006/07/14(金) 01:07:13
これだからお子様は。

45 :デフォルトの名無しさん:2006/07/14(金) 01:15:09
プログラム板は堅いやつとかプライド厨自慢厨のかたまり

46 :デフォルトの名無しさん:2006/07/14(金) 01:57:20
>>45
ただの馬鹿が抜けてる

47 :デフォルトの名無しさん:2006/07/14(金) 02:11:50
私はただの事務屋なのですが、仕事で.ctlをいじってくれと言われました。
VBは初めてなのでググってはみたのですが、よくわかりません。

ユーザーコントロールというのは、つまり実行ファイルを経由する外部スクリプトなのでしょうか?
だとすると仕様がわからないとどうしようもないですよね・・・

48 :デフォルトの名無しさん:2006/07/14(金) 02:20:39
>>47
まずは仕事を依頼した人に詳しく聞いてください

49 :デフォルトの名無しさん:2006/07/14(金) 02:29:04
ボケ質問を見るともっとボケた回答をしたくなるという関西人の性

50 :デフォルトの名無しさん:2006/07/14(金) 02:34:01
>>48
「君、パソコン得意なんでしょ。このアプリ、以前いた人が残していったものだけど、使いにくいからなんとかして」
「は?」
「その人が、.ctlというのを変更すれば何とでもなると言っていたから、何とかなるでしょ」
「いや、意味がわかんないんですけど」
「だからね、送られてくるデータの形式が変更になったから、こっちも直さなくちゃならんの。
でも、誰も直せないから君がやってみて」
「(フィルタみたいなものなのかな?)えっと、では、変更前の送られてくるデータの様式と、変換後のデータの様式を見せてください」
「ない」
「・・・じゃあ、このプログラムに仕様書とか説明書とか最悪ソースってないんですか?」
「パソコンが得意なくせに、コントロールデータも知らないの? そんな複雑なもんじゃないからちゃちゃっと直してね」
上司、去る


タッチタイプできるだけでパソコンが得意ですか・・・そうですか。
でも頭に来たので何とかしたくなったのです。

51 :デフォルトの名無しさん:2006/07/14(金) 02:37:39
やったらやったで上司の思う壺だ。

そんな会社上司をブン殴って  辞  め  ち  ま  え

52 :デフォルトの名無しさん:2006/07/14(金) 04:03:32
VBはExcelのマクロには元から入ってても
VBだけを立ち上げるには購入しないと無理?

53 :デフォルトの名無しさん:2006/07/14(金) 07:16:09
>>51
さすがニート様

54 :デフォルトの名無しさん:2006/07/14(金) 10:42:20
>>52
VBAでも初心者がVBでつくる程度のことならできる

55 :デフォルトの名無しさん:2006/07/14(金) 11:08:25
>>28
Excelのデータ形式で保存したい(罫線、数式なども保存したい)と言う場合はExcelを使うのが無難
ただし、その場合はExcelのバージョン違いなどに気を使う必要が出る。
データだけを扱うならCSVファイルなどで連携するのが楽


56 :デフォルトの名無しさん:2006/07/14(金) 11:35:28
>>28
SPREADつかえ

エクセルからのインポート/エクスポート機能ある

まあ、表示にしろ操作にしろ保存結果にしろ全く同じとは思わんけど

57 :デフォルトの名無しさん:2006/07/14(金) 11:49:42
ねえねえWindowsで動かすのだったら一番楽なのってVB?

58 :デフォルトの名無しさん:2006/07/14(金) 11:51:53
>>57
メモ帳か電卓かねぇ。うちの上司はマインスイーパしか使えないけど。

59 :デフォルトの名無しさん:2006/07/14(金) 11:58:10
>>58
違う違う
そういう意味じゃあない
Windowsで動かすシステムつくるのに
最も楽できる言語はVBですか?

という意味なのである

60 :デフォルトの名無しさん:2006/07/14(金) 12:33:24
>>59
どの言語でも同じだよ。
ちゃんと設計して、コード書いて、テストしてデバッグして。
VBは、UIが簡単に作れる、ってだけ。

61 :デフォルトの名無しさん:2006/07/14(金) 12:38:40
>>60
はぁ?
君VBしってるの?
もしくはVBしかしらない?

62 :デフォルトの名無しさん:2006/07/14(金) 12:41:19
>>61
異論があるなら、ちゃんと文章で表現しようね。

63 :デフォルトの名無しさん:2006/07/14(金) 12:49:26
>>60
>>61
にょおおおお
県下はやめなはれ

私の質問にわかりやすく答えればいいだけなのである。
以上。

64 :デフォルトの名無しさん:2006/07/14(金) 12:51:01
>>60
オレも同じ意見だな
システムって話なら言語はあんまり関係ないね
要員の集めやすさとか集まる要員のスキルの差とか工期の長さとか顧客の用意する資金の多寡ってのに差が出てくるけど



65 :デフォルトの名無しさん:2006/07/14(金) 12:58:05
>>61
アセンブラ、C、VB、VBS、VBA、Fortran、Basic、
PL/M、PL/I、COBOL、C#.NET、VB.NET、PASCAL等、
その他幾つかのマイナーな独自言語での開発経験があるけどそれが何か?

66 :デフォルトの名無しさん:2006/07/14(金) 13:02:28
>>65
おっさん。

67 :65:2006/07/14(金) 13:05:30
本当は日本語プログラム言語「ひまわり」とVBAです。
嘘ついてごめんなさい。

68 :デフォルトの名無しさん:2006/07/14(金) 13:06:19
>>63
答えてるだろ。

69 :65:2006/07/14(金) 13:06:42
64も私の書込みです。
自作自演してごめんなさい。

70 :デフォルトの名無しさん:2006/07/14(金) 13:07:26
>>66
正解。

71 :デフォルトの名無しさん:2006/07/14(金) 13:12:34
>>70
おいおっさん

習得しやすい言語おしえろや。

72 :テスト中 :2006/07/14(金) 13:29:50
変数n に記憶されている数値327を整数327として画面に出力するには、
printf ( ) と書けばよい。


( )  を教えてください><


17 名前:テスト中 2 :2006/07/14(金) 13:20:21
2、
変数n に記憶されている数値327を変動少数点数327.0として画面に出力するには、
printf ( ) と書けばよい。


( )  を教えてください><


18 名前:テスト中 2 :2006/07/14(金) 13:21:50
変数n に記憶されている数値56.351を小数点以下第2位まで画面に出力するには、
printf ( ) と書けばよい。


( )  を教えてください><


19 名前:テスト中 4 :2006/07/14(金) 13:25:06
4、
変数n に記憶されている十進数値97を printf ( "%c",n) で入力すると画面には ( )が出力される。


( )  を教えてください><

73 :デフォルトの名無しさん:2006/07/14(金) 13:31:42
>>72
その位自分でやれと言うかスレ違い

74 :デフォルトの名無しさん:2006/07/14(金) 13:32:26
>>71
VB

75 :デフォルトの名無しさん:2006/07/14(金) 13:54:22
>>72
printf (int(n));
printf (floor(n));

>>74
根拠を示しなさい。

76 :デフォルトの名無しさん:2006/07/14(金) 13:55:50
>>71
日本語

77 :デフォルトの名無しさん:2006/07/14(金) 13:57:02
>>75
ネタ…だよな?

78 :デフォルトの名無しさん:2006/07/14(金) 14:16:04
>>77
え?違う?.3f
ああCか・・
 printf("%d\n", num1);
 printf("%d.1f\n", num1);

かな

79 :デフォルトの名無しさん:2006/07/14(金) 15:40:24
・・・

80 :デフォルトの名無しさん:2006/07/14(金) 16:25:55
・・

81 :デフォルトの名無しさん:2006/07/14(金) 17:31:38


82 :デフォルトの名無しさん:2006/07/14(金) 18:31:20
アムロ逝きます

83 :デフォルトの名無しさん:2006/07/14(金) 20:17:37
みなさん、こんばんは

Btrieve(データベース)にWbtrv32.dllを使ってアクセスしているのですが、
VBアプリでは問題ないのに、
同じ機能をDLL化させてIIS+ASPから実行させると、
Btrieveのオープンエラーが発生します。

アクセス権、実行権限などを変えてみましたが、
効果ありませんでした。

ご存知の方がいらっしゃれば、宜しくお願い致します。

84 :デフォルトの名無しさん:2006/07/15(土) 00:54:06
VBAじゃPictureとかTimerは絶対使えませんよね?
VBAのみを立ち上げることはできるんですか?

85 :デフォルトの名無しさん:2006/07/15(土) 02:23:50
?

86 :デフォルトの名無しさん:2006/07/18(火) 07:29:42
ある画面がアクティブになったら
イベント起こしたいんですが
タイマーでウィンドウハンドル見続ける以外に
何かいい方法ないですか?

87 :デフォルトの名無しさん:2006/07/18(火) 09:59:27
>>86
今VBが動かない環境なんだけど、Form_Active とかのイベントなかったっけか。

88 :86:2006/07/18(火) 10:09:22
>>87
VB上から別ウィンドウを監視したいんです。
ごめんなさい 説明不足でした。

89 :デフォルトの名無しさん:2006/07/18(火) 10:17:30
>>88
別のExeって事?
なら SetWindowsHookEx でおk。

90 :デフォルトの名無しさん:2006/07/18(火) 15:58:53
アクションゲームを作っているものですが、人がブロックや壁(フォームの端)に行ったらそこで止まるという行き止まり判定がわかりません。
あと、どこに入れて良いのかもわかりません。
すみませんが誰か教えては頂けませんでしょうか?
人はHito(Imageを使っています。)
ブロックはBlock(こちらもImageを使っています。)
です。
よろしくお願い致します。

ちなみに今私が書いているコードは
If Hito.Width> Block.Width And_
   Hito.Height>Block.Height And_
   Hito.Width <Block.Width And_
   Hito.Height<Block.Height Then
   Hito.Width=Block.Width−1
   Hito.Height=Block.Height+1
というコードです。


91 :デフォルトの名無しさん:2006/07/18(火) 16:39:18
ウィンドウ操作について教えてください。
ttp://www.microsoft.com/japan/msdn/vbasic/migration/tips/windowsapp.aspx
↑このページに書いてあることをそのままやりたいのですが、自身のフォームがアクティブ化
されてしまって、文字の入力ができません。
VB6.0で、windowsMeなんですけど、環境が悪いでしょうか。

92 :デフォルトの名無しさん:2006/07/18(火) 16:56:27
>>91
サンプルをダウンロードしてみれば、ソースがそのままあります。
exeで実行しないと結果はわかんないかも。
俺はXPだから、Meは知らんけど。

93 :デフォルトの名無しさん:2006/07/18(火) 17:19:31
>>90
おぬしはVBを使うな。

94 :デフォルトの名無しさん:2006/07/18(火) 18:04:21
>>92
exeを実行したところ、やはりこのフォーム自体がアクティブになり、対象ウィンドウに
文字入力できませんでした。
XPが手元に無いのですが、いつか試してみることができたら、その時にまた
実行してみようと思います。
お答えいただいてありがとうございました。

95 :デフォルトの名無しさん:2006/07/18(火) 21:59:15
SQLについて
複数の前方一致(LIKE)のやり方をしたいのですが、どなたか教えてください。

'A'と'B'が先頭にあるデータを取得したいのですが・・・

よろしくお願いします。


96 :デフォルトの名無しさん:2006/07/18(火) 22:00:31
DB板。

97 :デフォルトの名無しさん:2006/07/18(火) 23:16:00
>>95
DAO LIKE (A* OR B*)
ADO / RDO LIKE (A% OR B%)

98 :デフォルトの名無しさん:2006/07/19(水) 13:39:48
MAKECAB.EXEを使用してフォルダ圧縮をしたいのですが、
どこを探してもファイルの圧縮方法しか書かれていません。
フォルダを指定しての圧縮は出来ないのでしょうか?

99 :デフォルトの名無しさん:2006/07/19(水) 14:20:54
>>98
ディストリビューションウィザードでインストーラー作ると、
Supportのフォルダの中に、
MAKECAB.EXEを使って圧縮するバッチがあるけど?
あれって、フォルダつきじゃなかったっけか。

100 :デフォルトの名無しさん:2006/07/19(水) 15:34:51
>>98
今時CABて。

101 :デフォルトの名無しさん:2006/07/19(水) 16:46:45
(´・ω・`) やあ
君たちには一生セックスできない呪いをかけた。
しかし君たちは運がいい。

http://game9.2ch.net/test/read.cgi/gal/1152287141/l50

↑このスレに


「このタイプのスレは常時age進行だった」


と書き込めば呪いは解ける。
では、健闘を祈る。


102 :デフォルトの名無しさん:2006/07/19(水) 17:12:55
このタイプのスレは常時age進行だった

103 :デフォルトの名無しさん:2006/07/20(木) 00:50:29
 Open ●● For Binary Lock Read As #1
でファイルを開いた後に
 Get #1, , ●●
を何度も使って読み進めていきます。
次読もうとしている位置を取得する方法はありますでしょうか?

途中まで読んで判定分で少し戻るような仕組みにしたいのです

104 :デフォルトの名無しさん:2006/07/20(木) 09:12:05
>>103
Seekは?

105 :sage:2006/07/20(木) 10:33:28
テキストファイルの文字列を一括変換させるという基本的なことなのですが
RichTextBoxつかってできるのでしょうか。オブジェクトがありませんと
いわれてしまうのですが…。

106 :デフォルトの名無しさん:2006/07/20(木) 11:02:22
>>105
下手な釣りだな。

107 :デフォルトの名無しさん:2006/07/21(金) 12:27:54
Win2000で開発したVB6アプリをXPSP2で動かすと
発行元が確認できない(デジタル認証がない)と
怒られたのですが、理由が分からず困ってます。
前に作ったアプリはそんなことなかったのですが
どなたか原因を教えていただけないでしょうか?

108 :デフォルトの名無しさん:2006/07/21(金) 13:07:37
>>107
「Win2000で開発したVB6アプリをXPSP2で動か」したのが原因だろ。
VBの場合、開発環境と実行環境を完全に同一にするのは、常識以前の話。

109 :デフォルトの名無しさん:2006/07/21(金) 20:02:21
>>108
おまいのPCはWin98か?w
いつの時代の話だよ
常識見直したほうがいいぞ

110 :デフォルトの名無しさん:2006/07/22(土) 12:19:14
WinMeで作ったVB6アプリをXPSP2で動かしても問題なかったけどな。
vb6jp.dllだかを持ってこないと一部文字化けはするけど。

111 :デフォルトの名無しさん:2006/07/22(土) 12:46:03
>>110
問題あるじゃん。

112 :デフォルトの名無しさん:2006/07/22(土) 13:17:45
>>107
IEでWebやftpからダウンロードしたり zipで圧縮してXP標準のツールで展開した場合は、
ネットからダウンロードしてきたものとしてファイル(ファイルフォーク)に情報が付加される。
これを実行しようとした場合はデジタル署名の検証ダイアログが出る。
もしこれのことならVBは関係ない。

113 :107:2006/07/22(土) 15:15:39
まさしく>>112さんの書いてあることをやっていました。
FFFTPで落としたら出なくなりました。
勉強になりました。ありがとうございます。

114 :デフォルトの名無しさん:2006/07/22(土) 22:05:04
突然失礼します...
VB5 でアプリケーションウィザードを使って簡単なソフトを作っていました.テキスト見ながらですが...
"開く"でつまずいてしまいました 一応テキスト通りに記述してテスト起動させて開くをクリックすると"実行時エラー426複数のMDIは使用出来ません"となり開く事すら出来ません テキストに回避方載ってなかったのですがどうしたら回避出来ますかご教授お願いしますm(__)m

115 :デフォルトの名無しさん:2006/07/22(土) 22:54:17
テキストを窓から捨てる

116 :デフォルトの名無しさん:2006/07/23(日) 00:48:49
VB4.0を購入しXPにインストールしたんですが…
VBA6.0は元から入ってたみたいで
まさかVBは元から入ってることはないですよね?
6.0にわざわざ4.0を上書きしちゃったのか
すごく不安になったので書き込みました。
ちなみに家庭用のXPです。

117 :デフォルトの名無しさん:2006/07/23(日) 01:01:47
>116
つりは、もっと、じょうずに、やろうね。

118 :デフォルトの名無しさん:2006/07/23(日) 09:25:05
>>116
今時VB4なんて何処で買えるんだよ。

119 :デフォルトの名無しさん:2006/07/23(日) 09:45:32
>>118
MSから。

120 :デフォルトの名無しさん:2006/07/23(日) 10:36:27
>>119
URLは?

121 :デフォルトの名無しさん:2006/07/23(日) 10:56:53
>>120
MSDNで旧バージョンが手に入る

122 :114です:2006/07/23(日) 11:40:33
本当にご教授お願いしますm(__)m

123 :デフォルトの名無しさん:2006/07/23(日) 11:55:28
>>118
友人、ヤフオク etc...

124 :デフォルトの名無しさん:2006/07/23(日) 12:05:12
>>114
なぜテキスト書いたやつに聞かないのか

125 :デフォルトの名無しさん:2006/07/23(日) 12:58:22
>124
テキストと言うのは買ったやつで簡単プログラミング VB6応用とか言うやつでして...
言うの忘れてましたが..
開くの所は同じですが多少変えて(そのままじゃ面白くないから)WMPにしましただからテキストエリアの分を全てWMPになるように変えましたが開くだけは上手くいかないのです(泣 お願いします 対処方が本当にわからないので...

126 :デフォルトの名無しさん:2006/07/23(日) 13:29:05
>>125
テキスト通りじゃねえじゃんか

127 :デフォルトの名無しさん:2006/07/23(日) 14:03:36
>126
開く部分は同じだったから
すいませんでしたm(__)m

128 :デフォルトの名無しさん:2006/07/23(日) 15:16:48
著者に謝罪は無いのか。

129 :デフォルトの名無しさん:2006/07/23(日) 15:27:25
貴様はいい!そうやって本のせいにすれば気分も晴れるのだからな!

130 :デフォルトの名無しさん:2006/07/23(日) 16:30:26
VB6なんですけど、ファイルからバイナリデータを読み込むのですが、
INPUTBで1バイトづつ読み込んでバイト型変数に格納してます。

その際、c=inputB、b()=inputBの二つの方法があるのですが、どっちを使えばよいのか分かりません。
どっちでも良いわけではなくて、間違うと「実行時エラー13 型が一致しません」が出ます。
同じプロシジャー内で、続けて一バイト読むのに、例えば、最初はc=、次はb()=、じゃないとエラーになる、
という状況で、使い分けの理由が分からないので、Try&Errorで凌いでます。

この使い分けをご存知の方、教えて下さい。
サンプルコード

Dim c, b() as byte

Let c=inputb(1,#1)
Let b()=inputb(1,#1)

ちなみに、VB6SP3、XPHomeSP2です。

131 :デフォルトの名無しさん:2006/07/23(日) 16:43:26
>>130
上記の場合少なくとも 変数c はバリアント型になるから気をつけたほうがいい

Dim c as byte, b() as byte

132 :110:2006/07/23(日) 16:50:33
>>111
動作に問題はない。表示に問題がある。DLL持ってくれば問題ない。

133 :デフォルトの名無しさん:2006/07/23(日) 17:49:09
表示って結構重要な「動作」だと思うけど…。

ものによって重要度が低いと言うことはあるけど。

134 :デフォルトの名無しさん:2006/07/23(日) 19:19:18
>>133
VBの基本すら分かってない莫迦なんだから放っておけ。

135 :130:2006/07/23(日) 19:51:32
>131
それは迂闊でした。byteなら配列で、ということのようです。
ありがとうございました。

136 :デフォルトの名無しさん:2006/07/24(月) 08:59:39
リストビューを使って表形式のデータを表示しています。
リストビューのある特定の列と行のデータ(Excelのセルのようなものと言った
方が分かりやすいかもしれません)がある条件を満たすと
リストビューの先頭のアイコンを変更してデータがある条件を満たしていることが
分かるようにプログラムしていますが、本当はそのある条件を満たした行と列のみ
背景色または文字の色を変えたいのです。アイコンだけ替えた場合どの部分の列,行のデータが
条件も満たしたのか一目で分かりにくいからです。グリッド系のコントロールなら
たやすくできそうですがリストビューでは背景色すべてを変えるサンプルを見たことがありますが
ある特定の行と列だけ変更するものは残念ながら見たことがありません。(私が知らないだけかとも
思いますが・・・)事情があってグリッド系のコントロールは使用できませんのでリストビューで
実現したいのです。どなたか詳しい方がおられましたら教えてください

137 :デフォルトの名無しさん:2006/07/24(月) 09:13:39
>>136
オーナードローじゃね?

138 :137:2006/07/24(月) 09:54:57
>>137
> >>136
> オーナードローじゃね?

レスありがとうございます。私はまだ未熟者なので詳しく教えていただければ助かるのですが


139 :デフォルトの名無しさん:2006/07/24(月) 10:34:24
>>138
ググれよ。

140 :デフォルトの名無しさん:2006/07/24(月) 12:33:30
テキストボックスで文字列を縦に表示するにはどうしたらいいですか?

141 :デフォルトの名無しさん:2006/07/24(月) 12:33:35
ウィンドウの表示状態の質問なのですが
最小化されてるウィンドウのタスクアイコンをクリックすると
最大化→最小化とされたものは最大化状態で表示され
通常サイズ→最小化されたものは通常サイズで表示されますよね。
つまり、最小化される前の状態に復帰するわけですが、それをコードで行う方法を教えてください。

WindowStateでは最大化か通常サイズのどちらかを明示的に選択しなくてはなりませんし
APIのShowWindowでは第二引数を1か9以外にすると最小化から復帰しないし
1か9だと、最小化前が最大化状態だろうと、通常サイズで表示されてしまいます。
SetForegroundWindowも最小化からは復帰しません。
最小化される前の状態を変数に取得しておくとかの逃げ道もありますが、
ちゃんと最小化からの復帰のみを行うような方法があれば教えてください。宜しくお願いします。

142 :デフォルトの名無しさん:2006/07/24(月) 14:00:24
>>140
テキストボックスを縦スクロールバーのみにして縦長にするとか。

>>141
WM_SYSCOMMAND の SC_RESTORE を SendMessage じゃ駄目?

143 :デフォルトの名無しさん:2006/07/25(火) 13:54:47
ユーザコントロールにメニューを追加したいのですが、どのようにしたら出来るのでしょうか?
メニューエディタで作成しても表示されません。しかし、ショートカットキーを割り当てると、動作するので、メニューは存在するようなのですが。
どうしたら表示されるのでしょうか?
よろしくお願いします。

144 :デフォルトの名無しさん:2006/07/25(火) 14:48:40
>>143
coolbarでも貼ればいいんじゃない?

145 :デフォルトの名無しさん:2006/07/26(水) 11:00:55
VB6(SP3)、XPHomeEd(SP2)です。

画像の上に文字を重ねて表示させたいと思っています。カラオケの歌詞字幕みたいなあんな感じです。
画像は一枚ではなく、コントロール配列にして動的に画面上に並べています(概ね20枚程度)
一枚の画像上に表示する文字列は10個程度、全画像に同じように重ねます。

そこでうまく行かず躓いています。アドバイスがあればよろしくお願いします。
実際はLEADTOOLSを使ってますが、基本は同じかと思いますので
PictureBoxコントロールという設定で質問します。

PictureBoxの上にLabelを重ねたのですが、
LabelはPictureBoxの下にもぐってしまい、見えなくなってしまいます。
(ヘルプでは、どちらも中間層に属するのでLabelを上に出せると思ったのですが・・・)

PictureBoxの中にLabelを配置したら(PictureBoxをLabelのコンテナにしたら)、
Labelはうまく表示されました。が、新しいPictureBoxをロードしたときに難があります。
新しいPictureBoxの中にはLabelがありません。Labelも新しくロードすると、
それは古いPictureBoxの中にロードされてしまい、新しいPictureBox上では使えません。

TextBoxはPictureBoxの上に持ってこれますが、背景を透明にできません。
仕上がりがダサすぎるので、何としても避けたいです。
文字列は画像の左上、右上と振り分けて表示したいので、PictureBox.Printも避けたいです。

コンテナの下位のものを全てひっくるめてロードする方法とか、
ロードした後、コンテナを指定する方法とか、あるいはそれ以外でも、
何か方法がありましたがアドバイスお願いしたします。

146 :デフォルトの名無しさん:2006/07/26(水) 11:22:19
>>145
普通に Picture1.Print "文字列" で描画出来なかったっけ?
今VB動かない環境だけど。

147 :デフォルトの名無しさん:2006/07/26(水) 11:34:40
>>145
Containerとかユーザコントロールとかあるやん?

148 :デフォルトの名無しさん:2006/07/26(水) 11:45:07
>146
回答ありがとうございます。

画像の上に配置したい文字列は10個程度あります。
それを左詰めで上から順番に並べると画像の邪魔になるので、
上下左右に振り分けで配置したいと思っています。
当然、右側は右寄せにするので、左上に配置する文字列の後ろに
スペースを挟んで表示になります。
長い文字列は折り返して複数行になるので、かなり煩雑になります。

なので、なるべく避けたいと思っています。

149 :デフォルトの名無しさん:2006/07/26(水) 11:51:18
無視かよ!

150 :デフォルトの名無しさん:2006/07/26(水) 11:56:30
>147
いや、あるんですけどぉ・・・
と思いきや、Containers コレクションばっかり調べていて、
Contanerプロパティは見落としていました。

これで望むことができそうです。本当にありがとうございました。
また、これを機会にユーザーズオブジェクトについても
勉強させていただきます。

151 :デフォルトの名無しさん:2006/07/26(水) 11:59:25
>149
147さんですか?申し訳ありません。
1レスごとに内容を確認して、ヘルプを調べ直したり、
テストプログラムを動かしたりしておりますので、
時間がかかってしまいました。お詫び申し上げます。

152 :116:2006/07/26(水) 12:01:25
>>117
>>118
いや、マジな質問XPに最初からVBが入ってる
ってことはあるんですか?

153 :デフォルトの名無しさん:2006/07/26(水) 12:11:19
>>152
仕事用のPCで
「これにVB4入れて開発してくれ」
って渡された場合はありえなくはない

>>148
Picture1.CurrentX = 10
Picture1.CurrentY = 10
Picture1.Print "test"

で任意の座標に文字を出力できる
ScaleModeは3のピクセルでな

154 :デフォルトの名無しさん:2006/07/26(水) 12:12:55
そうだね、プロテインだね。

155 :デフォルトの名無しさん:2006/07/26(水) 12:14:24
>>153
Printは複数行の折り返し処理が面倒って話では

156 :デフォルトの名無しさん:2006/07/26(水) 12:28:19
>>155
その部分見落としてたわ
それぐらい文字列の長さで判定してCurrentYの値に
フォントサイズ足せば良いだけな気がする・・・

157 :デフォルトの名無しさん:2006/07/26(水) 12:33:28
>>156
とんでもない

158 :デフォルトの名無しさん:2006/07/26(水) 13:55:46
>>150で解決しているけど、ユーザーコントロールを利用するのが結果的には1番楽になると思う。

159 :デフォルトの名無しさん:2006/07/26(水) 15:32:17
>>158
つーか、LEADTOOLS 使ってるならそんな事簡単だと思うが・・・
サンプルも幾らでもあるし。

160 :デフォルトの名無しさん:2006/07/26(水) 16:01:27
VB6とVBScript(WSH)にまたがる質問なのですが、
VB6からWScript.exe・cscript.exeが実行しているスクリプト(.vbs、.js、.wsf等)の
フルパスを取得したいのですが、どのようにすれば良いでしょうか?

やりたいことは実行中の永久ループのスクリプトを一覧し、任意の物を終了させたりしたいのです。
これが実行ファイル相手なら、WMIのWin32_Processクラスを利用して、実行ファイル名を指定してプロセスコレクションを取得し
その中からExecutablePathの値を調べれば済むのですが、実行ファイルのフルパスを調べる方法はわかっても
実行中のスクリプトパスを取得する方法がわからないのです。
後付けで取得するのではなく、スクリプトの実行自体を、作成したアプリで管理すれば簡単なのですが
それにはレジストリの関連付けを弄らなくてはならず、今回はこういった方法は使えません。
ちなみに今は外部にフラグを置き、それを定期監視する事で実行継続と終了を分岐するようにしています。
しかしそれが煩わしい為、今回のようなものを作ろうと思い立ちました。

VBScriptは有る程度わかるのですが、VB6はまだ始めたばかりでAPIとかVBScriptに無いものはよく分からないので
具体的なサンプルを書いていただけると嬉しいです。

161 :デフォルトの名無しさん:2006/07/27(木) 01:59:46
>任意の物を終了させたりしたいのです。

なんで、「スクリプトのフルパス」なんかいるんだ?

162 :160:2006/07/27(木) 10:12:07
例えば
Do
  WScript.Sleep 1000
Loop
と書いたスクリプトが3つあるとします。
それぞれのパスはc:\aaa.vbs、c:\bbb.vbs、c:\ccc\aaa.vbsだとして
この3つを全て実行します。
見ての通りこのスクリプトは勝手に終了する事はないのでタスクマネージャには
@WScript.exe
AWScript.exe
BWScript.exe
という3プロセスが存在することになります。
このうちc:\aaa.vbsを実行してるものだけを終了したい場合に、このままでは@ABのどれを終了させれば良いかが解りません。
また、現在どのスクリプトが稼動中かも、タスクマネージャからは判断出来ないのです。
そこで@ABのWScript.exeプロセスそれぞれに対して、実行しているスクリプトのフルパスを取得したいというわけです。
スクリプトのフルパスがわからなくてもWScript.exeのプロセスを終了させることは出来ますが、
「任意の物」だけを終了させることは出来ません。

それとハッキリと書いてませんでしたが、システムディレクトリ内のファイルやレジストリを弄る方法は事情があって使えません。
使用環境はWindowsXP pro/home、Windows2000 proで、WSHはver5.6、開発環境はVB6.0 SP6です。

163 :デフォルトの名無しさん:2006/07/27(木) 10:23:36
>>162
「システムディレクトリ内のファイルやレジストリを弄る方法」で、
スクリプトのパスが取得出来るの?
その方法を教えて!

164 :160:2006/07/27(木) 11:40:01
>>163
単純な方法です。
>>160でもちょっと書きましたが、スクリプトを直接WScript.exeに渡すのではなく自作のアプリを介して
WScript.exeに渡すようにします。WScript.ShellのExecメソッドで実行すれば、実行中か終了したかは
Statusプロパティで判断出来ますしTerminateメソッドで終了させることも出来ます。
Execオブジェクトを配列やコレクションで保持しStatusプロパティが0を返す物のみリストボックスなどに表示、
1を返す物を破棄すれば、実行中の物の一覧が出来ますし、選択した物のキーからオブジェクトを辿り
Terminateメソッドを実行すれば任意の物のみを終了出来ます。
つまり、スクリプトのパスが取得出来るようになるのではなく、パスが解るような形で実行するということです。

但しコレを漏れなく行うには、.vbsの関連付けをそのアプリに変えるか、
c:\windows\system32\wscript.exeを置き換えなければなりません。
そのアプリを標準関連付けにしなければ、直でWScript.exeで実行してしまう可能性がありますから。
あと、これはどうしてもと言うわけではないのですが、出来れば常駐はさせたくないので
上記の方法は最低でもスクリプトが1つ以上実行されているときは常駐必須となり、あまり好ましくありません。

165 :デフォルトの名無しさん:2006/07/27(木) 11:50:41
>>164
いやあの・・・
自分以外の人が実行したスクリプトのパスが欲しいんじゃないの?
自分が実行した物なら、パスなんか自分が知ってるじゃん。
別に何にもしなくても。

166 :デフォルトの名無しさん:2006/07/27(木) 12:00:01
突然ですが、お聞きしたいことがあります。
VBscriptで1〜50までの間で3と5で割れる数字をリストできるように
プログラミングしたいのですが、どのようにすればよいでしょうか?

167 :デフォルトの名無しさん:2006/07/27(木) 12:24:04
>>166
Dim i
For i = 1 to 50
If (i Mod 3) = 0 Then
If (i Mod 5) = 0 Then
MsgBox i
End If
End If
Next

168 :160:2006/07/27(木) 12:31:56
>>165
> 自分が実行した物なら、パスなんか自分が知ってるじゃん。
> 別に何にもしなくても。
はい、大抵は知ってます。
でも>>162で書いた@ABのWScript.exeプロセスのどれがc:\aaa.vbsを実行してるプロセスだかは知りません。
また、実行してから2〜3日経つ物とかもあり、何を実行してるか一部忘れてることもあります。
まあだいたいは覚えてますが、曖昧な記憶より、確実な情報が欲しいところですし。

169 :デフォルトの名無しさん:2006/07/27(木) 12:39:18
aaa.vbs実行
WScript.exeのプロセスID取得
bbb.vbs実行
WScript.exeのプロセスID取得
2個取得して1個目と違うのを取得
ccc.vbs実行
3個取得して1,2個目と違うのを取得

で良いんじゃない?
API使えばプロセスIDぐらい取得できるでしょ、たぶん

170 :160:2006/07/27(木) 13:24:02
>>169
その方法だと、常駐してWScript.exeプロセスの数を監視することになると思いますが、
手動実行する場合はいいとしても、スクリプトから別のスクリプトを実行する場合、
また、スクリプトから実行した別のスクリプトが終了直後に再実行する場合など、
監視間隔を狭めても上手くいかないことが有るでしょうし、あまり監視間隔を狭くすると余計な負荷も増えそうです。
再実行の場合だけなら、再実行前にSleepを取ることで対応出来なくも無いですが
既存のスクリプトを全部読み返して該当個所を書き換えるのは大変ですし
再実行ではなく普通に呼び出す場合に、aaa.vbsがccc.vbsを実行するタイミングと
bbb.vbsがddd.vbs実行するタイミングが近くなりすぎないように制御するのは困難です。
プロセスIDを取得する方法くらいは解りますが、プロセスIDからスクリプトパスを割り出すような方法が知りたいところです。

171 :デフォルトの名無しさん:2006/07/27(木) 14:06:46
VBSとVB6でデータのやり取りが出来る前提で書きますが
(できるかどうか知らないですが・・・)
VBSからVBSの実行をさせず
VBSからVBSを実行させたいパスを
VB6に渡して、VB6からそのVBSを実行させて
>>169の処理をすれば良いんじゃないかな

あとVBSを無限ループで実行させ
終了する(終了させたい)かもしれないのに
自身に終了手段がないのも問題だと思う・・・

書かれてるのはCだけど原理は同じだと思う
VBSでウィンドウタイトルを指定できるのならこれでいけるような気がする
ttp://forums.belution.com/ja/vc/000/298/59s.shtml

172 :デフォルトの名無しさん:2006/07/27(木) 15:45:58
>>170
てゆーかさ、起動時にプロセスID戻らないの?
常駐やならファイルに書いて記憶しておけばいいんじゃ?


173 :デフォルトの名無しさん:2006/07/27(木) 16:11:59
VB6.0で作ったアプリケーションをXPHomeで動かしているのですが、日本語が一部、文字化けしてしまいます。
開発機のXPHomeでは文字化けしないのですが…
なぜなのでしょうか?
どなたかご教授下さい。よろしくお願い致します。


174 :デフォルトの名無しさん:2006/07/27(木) 16:17:20
>>173
EXEだけコピーして実行してない?

175 :デフォルトの名無しさん:2006/07/27(木) 16:37:31
>>174
はいそうです。

176 :デフォルトの名無しさん:2006/07/27(木) 16:38:55
>>175
じゃあそれが原因です。

177 :デフォルトの名無しさん:2006/07/27(木) 16:48:01
>>176
インストーラを作成しないで文字化けしないようにすることは可能ですか?

178 :デフォルトの名無しさん:2006/07/27(木) 16:50:09
>>177
インストーラと同じ事を実行すれば可能です。

179 :160:2006/07/27(木) 17:41:22
>>172
> てゆーかさ、起動時にプロセスID戻らないの?
スクリプトから実行した場合はまだしも、普通に実行した場合は戻りません。
というか戻ったところでそれをテキストに書き出す機能なんて無いですよね。
実行時にプロセスIDを取得してテキストに書き出す方法では、
関連付け変えるかWScript.exeを置き換えるかして、起動時にプロセスID取得して
それを書き出すようなアプリやスクリプトを噛ませなくちゃなりませんし、
プロセスが死んだ場合にそのテキストから除外する手段が無いと問題なので
結局常駐は必要になります。まあ常駐は絶対に不可というわけでは無いですが。
優先度で言うと「目的を達成する方法 >>> 非常駐」です。
目的を達成する方法が常駐と非常駐の両方で存在するなら、非常駐を選びますが
常駐でなければ目的を達成する方法が無いというなら、目的を達成する方法を破棄するよりは
常駐でも目的を達成する方法を取ります。

180 :デフォルトの名無しさん:2006/07/27(木) 17:51:11
>>179
「実行中の永久ループ」はどうやって判断するの?

スクリプトはいじれないの?

スクリプト自身にループ中にファイルの有無とかで終了判定する処理書けば?


181 :デフォルトの名無しさん:2006/07/27(木) 19:16:15
なんでそんな管理が必要なものをVBSでかくわけ?


182 :デフォルトの名無しさん:2006/07/27(木) 20:36:32
「やりたい事」と「やる方法」を完全に間違えてるな。

183 :デフォルトの名無しさん:2006/07/28(金) 01:59:22
>160
ごめん。チャチャじゃないけど興味本位w
そもそも何でそんなもんを作らなきゃならん羽目になったの?
SEとしてはちょっと興味ある。
よかったら差し支えない範囲で教えてよ。

184 :デフォルトの名無しさん:2006/07/28(金) 05:33:30
ここって回答出来ない質問が来ると、なんで必要なのか
とか、そんなやり方は間違ってるとか言う奴が多いよね。

そういう回答以外の意見は、回答に添えるだけでいいのに。
「こうすると、君のやりたいことは出来るよ。でもこの方法は
効率悪いから、俺はこうやったほうがいいと思うけどね」
って感じでさ。

質問者が律儀に構ってやるもんだからつけあがってるけど
ここは方法論に意見を付けるスレではなく、回答を求めて
質問するスレなんだから、回答以外の意見は、回答した
上で言え。回答出来ないのに意見だけ言いたい子は
控えめに言え。

質問者も回答に必要な情報の聞き返しとかならまだしも、
単なる野次に反応するな。

185 :デフォルトの名無しさん:2006/07/28(金) 06:00:51
>>184
君、技術板に向いてないよ。

186 :デフォルトの名無しさん:2006/07/28(金) 08:22:07
100m先のコンビニにいくのに、
一旦、ロケットに乗って成層圏を経由して行きたいと思います。
どうやったら成層圏に到達するロケットが作れるでしょうか?

この類の質問にも184みたいのは、きっと黙っているかあるいは真面目に
回答するんでしょうなw

187 :デフォルトの名無しさん:2006/07/28(金) 08:59:35
当然だろ?
目的は「コンビニに行く」だけではなく「成層圏を経由」と
「コンビニに行く」の二つなんだから。
効率よく「コンビニに行く」方法を聞いてるのではなく、
どういう経路・方法で「コンビニに行く」のかを指定されてる
なら、効率悪いと感じても指定された方法以外の回答は
基本的に無意味だぜ。質問者が「成層圏を経由するのが
一番近道だと思うので」とか言ってるなら、蘊蓄たれてやるのも
いいが、効率以外の何かを求めて成層圏を経由したいと
言ってるなら、その意向に従うまでだ。

186の例えは極端なものだが、逆の意味で極端な例を挙げる
なら、醤油ラーメンを注文した客に対して、「うちは豚骨ラーメン
がオススメなんで」と言って注文と違うものを出すラーメン屋。
客がオススメは何かと聞いてるなら、豚骨ラーメンを勧めるのは
一向に構わないが、例え店のオススメが何だろうと、客が注文
したものに逆らっちゃダメだろw

職業プログラマだと、この手のことは良くあるんだよ。
効率よい方法をアドバイスしてみたものの受け入れられず
決定権は顧客側にあるから、「なんでこんな糞ルーチンを」とか
思いながらコーディングするなんて日常チャ飯事だぜ?
もちろんアドバイスを素直に受け入れる客も居るし、初めから
結果が得られるならあとはこっち任せってのもあるけどな。

188 :デフォルトの名無しさん:2006/07/28(金) 09:25:38
>>184
じゃぁこれからは全部お前が質問者の希望通りの回答を付けろ。

189 :デフォルトの名無しさん:2006/07/28(金) 09:28:00
おまえが成層圏に行け

190 :デフォルトの名無しさん:2006/07/28(金) 09:45:35
逆ギレm9(^Д^)プギャー

191 :デフォルトの名無しさん:2006/07/28(金) 10:10:37
他の人の回答に難癖付ける奴って何なんだろうね。
自分が最適と思う回答を書き込めばいいだけなのに。

192 :デフォルトの名無しさん:2006/07/28(金) 10:21:41
難癖付けられてるのは回答に対してじゃないし

193 :デフォルトの名無しさん:2006/07/28(金) 10:58:30
>>182
なら提示してみろよ

194 :デフォルトの名無しさん:2006/07/28(金) 11:06:46
>>186
例えが悪い。

  100m先のコンビニに行きたいのですが、
  コンビニの周りには水の満たされた堀があるので、歩いては行けません。

  そこで、ロケットに乗って成層圏を経由して行ってみようと思っているのですが、
  どうやったら成層圏に到達するロケットが作れるでしょうか?

みたいなのならどうよ?

回答する人は律義にロケットの作り方説明。

意見?する人は「橋ねーの?ないなら作ったらいいんじゃね?」「泳いだらどーよ?」「船は?」「別の店じゃだめなの?」とか言う。

厨は馬鹿にしたり冷やかしたりする。



195 :デフォルトの名無しさん:2006/07/28(金) 11:26:31
色々な回答が出るのは良い事じゃん。
質問者がその中から一番気に入ったのを選べばいいんだし。

196 :デフォルトの名無しさん:2006/07/28(金) 11:37:33
>>194
その例えだと、出来れば歩いていきたいという希望が伺えるから、橋を造れば歩いていけるとアドバイスし
その方法で質問者が納得すれば橋の作り方を教えればいいし、それでも成層圏を経由したいと言えば
ロケットの作り方教えればいい
ここの奴らがしてることは橋を造れば歩いていけることを教えるでもなくましてや橋の作り方を教える出もなく
単にそんなことにロケット使うのはバカだと罵倒してるだけで、何とも卑しい限り
確かに成層圏を経由するのが目的ではなく、単に堀の先のコンビニに行くための手段だとするならバカな発想だろうが
質問者ってのは無知故に質問に来るんだから、バカなことやってると思うなら罵倒するのではなく
具体的なより良い代替手段を提示してやればいいのさ
代替手段を提示した上でそれを拒否されたら、最初の要望に適う方法を教えてやれば良い
ロケット作るのと違って莫大な資金が必要なわけでもないんだから、バカなことやってみるのも経験ってね

197 :デフォルトの名無しさん:2006/07/28(金) 12:19:52
>>196
うんだからお前が提示してあげればいい。

198 :デフォルトの名無しさん:2006/07/28(金) 12:43:32
いつも来る荒らしだからほっとけ

199 :デフォルトの名無しさん:2006/07/28(金) 12:54:02
こんなスレ荒らして何が楽しいんだろ・・・

200 :デフォルトの名無しさん:2006/07/28(金) 13:25:26
>>197
たしかに。
なんでそこまで言ってて提示しないのだろうか

>>196は冷やかし厨かね

201 :デフォルトの名無しさん:2006/07/28(金) 13:40:13
>>200
自分に回答出来る質問が一つもないからでは。

202 :デフォルトの名無しさん:2006/07/28(金) 13:43:54
最近見かけなくなったキチガイ復活?
それとも新人か?

203 :デフォルトの名無しさん:2006/07/28(金) 14:02:50
夏休みという事にしておけ
無駄にスレ増やすなよ

204 :デフォルトの名無しさん:2006/07/28(金) 15:45:23
質問です
VBAなんですがスレ違いだったらスイマセン
ユーザーフォームにtextbox1,2とcommandbutton1の3つのコントロールを
配置して
textbox1に下記のコードを記入しました

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If TextBox1 > 99 Then
CommandButton1.SetFocus
Else
TextBox2.SetFocus
End If
End Sub

ステップインで実行して
100以上の数値を入力した時に同じトコを2度通ってるのですが理由が解りません
どなたか原因の解る方いますか?

205 :デフォルトの名無しさん:2006/07/28(金) 16:03:07
VBAスレがあるじゃん

206 :デフォルトの名無しさん:2006/07/28(金) 16:07:48
>>204
とりあえず誘導
VBA総合質問スレッド
http://pc8.2ch.net/test/read.cgi/tech/1151412015/

ソースを部分的に出して質問するよりファイルをうpして質問した方が確実かも。

207 :204:2006/07/28(金) 16:10:12
誘導ありがとうございます

208 :デフォルトの名無しさん:2006/07/28(金) 17:29:47
きっとキチガイ君は自分に回答出来ない質問が来ることが気に入らないんだろうな。
だから回答出来ない質問がくると、その質問者がやろうとしてること自体を否定して誤魔化す、と。

209 :デフォルトの名無しさん:2006/07/28(金) 17:53:50
>>208
お前、キチガイ君を間違えてるぞ。

210 :デフォルトの名無しさん:2006/07/28(金) 19:52:52
相手にするな

211 :デフォルトの名無しさん:2006/07/28(金) 20:35:46
>>210
ごめんなさい。

212 :デフォルトの名無しさん:2006/07/29(土) 05:43:19
>>209
ハズレ

213 :160:2006/07/29(土) 19:40:08
なんか荒れちゃってるようですが、馬鹿な方法だと思われても効率悪くてもいいので、
とりあえず今回はこちらの要望を満たせる方法を教えてください。
ベテランの方々が思い描くような完璧な方法は今後勉強していきますから。

214 :デフォルトの名無しさん:2006/07/29(土) 20:08:24
>>213
>>171はできないの?コレの変じないけど

215 :160:2006/07/29(土) 21:06:59
>>214
他のアプリを経由する方法は既に拒否済みの方法なので返信しなかっただけです。
VBSからVBSを呼ぶ場合だけなら他のアプリを経由するのは問題ないのですけど。ついでに
> あとVBSを無限ループで実行させ
> 終了する(終了させたい)かもしれないのに
> 自身に終了手段がないのも問題だと思う・・・
にも返信すると、VBSには任意の(人間の意志を条件にした)タイミングで終了させる手段そのものがありません。
終了方法は、全ての処理を完了するか、何らかの条件を満たしたときにQuitで終了させるか
プロセスを切るかくらいしかありませんが、今回想定しているスクリプトはこちらから終了命令を出さない限り
永久実行するものだから、完了での終了はありえません。そして条件分岐での終了ですが、
任意のタイミングでと言ってる通り終了の条件は自分の脳内にあるので、スクリプトでの取得は不可能。
脳内の意志をスクリプトで取得できる形(フラグ)にする方法は最初に書いたとおり煩わしいので避けたい。
そしてプロセスを切る方法を使いたいが、プロセスから実行しているスクリプトを調べる方法が解らないので
教えて欲しいというのが今回の質問です。
つまり終了手段が無いのでなく、自分好みの終了手段を用意したいが為の質問であり、
最初にも「ちなみに今は外部にフラグを」と書いたとおり、現在でも終了手段はきちんと用意しています。

みなさん、いろんな代案などを出してくれてますが、まずは最初の考え通りのものを作ってみたいので
@VB6アプリ起動
AWScript.exeのプロセスを全列挙
Bプロセスの固有情報(プロセスIDなど)から、そのプロセスが実行しているスクリプトパスを取得
のBの具体的な方法を教えてください。代案などはまた後日に検討してみます。

216 :デフォルトの名無しさん:2006/07/29(土) 21:17:49
どとねとならできるっぽいんで、逆汗してみそ。

217 :デフォルトの名無しさん:2006/07/29(土) 22:04:06
>>215
ない。いいかげんあきらめたら?

218 :デフォルトの名無しさん:2006/07/29(土) 22:14:59
>>160
「WScript.exe・cscript.exeが実行しているスクリプト(.vbs、.js、.wsf等)のフルパスを取得」する方法はない。
フルパスを知っているのは WScript、CScript だけだが、それを外部から知るのは不可能。

219 :デフォルトの名無しさん:2006/07/29(土) 22:18:35
どうでもいいけど、人に読んでもらえる文章が書けるように修行しろ。

220 :デフォルトの名無しさん:2006/07/29(土) 22:33:18
>>219
どうしたの?

221 :デフォルトの名無しさん:2006/07/29(土) 23:35:48
各フォルダのスクリプト名称をワザと変えて、
taskmgr.exe で見れば、どのフォルダのスクリプトかわかる。

222 :デフォルトの名無しさん:2006/07/30(日) 00:30:38
>>219
>>215のことなら俺も三行読んでやめた

223 :デフォルトの名無しさん:2006/07/30(日) 04:01:29
アメリカのNASAは、宇宙飛行士を最初に宇宙に送り込んだとき、
無重力状態ではボールペンで文字を書くことができないのを発見した。
これではボールペンを持って行っても役に立たない!
NASAの科学者たちはこの問題に立ち向かうべく、10年の歳月と120億ドルの開発費をかけて研究を重ねた。
その結果ついに、無重力でも上下逆にしても水の中でも氷点下でも摂氏300度でも、
どんな状況下でもどんな表面にでも書けるボールペンを開発した!!


一方、ソ連は鉛筆を使った。

224 :デフォルトの名無しさん:2006/07/30(日) 07:43:07
>>219>>222
君らみたいな子はこういうスレに来ない方がいいよ
こんなスレで回答したって一文の得にもならないんだから
そんなカリカリしないでもっとゆったりと構えられる大人だけが残ればいい
読みづらい文でもちゃんと読んじゃうお人よしや
読みづらい文は、文句付けるのではなくスルーするスキルのある大人じゃないと
こういうとこじゃやってけないw

225 :デフォルトの名無しさん:2006/07/30(日) 07:48:22
なんか「ケチつけられる」のを異常に怖がってる奴がいるけど、
読みづらい文章を「読みづらい」と指摘されるだけでも、当人に
とってプラスになるかもしれないなんて、考えもしないんだろう。

226 :デフォルトの名無しさん:2006/07/30(日) 08:09:45
別プロセスのコマンドラインがとりたい、ってことでいいんだろ?

なら、http://www.powerbasic.com/support/forums/Forum7/HTML/001087.html でどう?

227 :デフォルトの名無しさん:2006/07/30(日) 08:11:39
>>224
きみ、いろんなスレで頓珍漢なこと言ってるよね。

#キティガイ復活?

228 :デフォルトの名無しさん:2006/07/30(日) 10:25:05
>>215
>>171なんだが
3つ目のウィンドウタイトルでプロセスID取得の方法はできないの?
VBSでもウィンドウタイトルぐらい指定できるでしょ?
終了させたいVBSのウィンドウタイトルの名前を
すべてVB6に登録しておいて管理できないかい?

取得できたらプロセスIDから強制終了させるAPI発動させればOKだと思うんだけど・・・

229 :デフォルトの名無しさん:2006/07/30(日) 17:29:41
>>223
つまんね。
朝日の受け売りだろ。

230 :デフォルトの名無しさん:2006/07/30(日) 20:23:13
っていうか、2chで定型の文句みたいのコピペして喜んでる奴の気がしれんよね。
冗談抜きで精神分析の対象だと思うよ。

231 :デフォルトの名無しさん:2006/07/31(月) 02:24:16

すいません、会社の仕事で、

ボタン1を押したらLANケーブルを抜いた状態(ネットが出来ない状態)

ボタン2を押したらLANケーブルを挿した上体(ネットが出来る状態)

というのを実現する必要が出たのですが、
これってVBで可能なんでしょうか?
わたしVB経験もう5年ありますが、とても出来るとは思えないのですが、
もし実現する方法を知ってらっしゃる方いらっしゃいましたら教えていただけませんか?


232 :デフォルトの名無しさん:2006/07/31(月) 04:18:14
WNet系のAPI使えばいいんでは

233 :デフォルトの名無しさん:2006/07/31(月) 11:32:21
>>231
IPConfig /Release、IPConfig /ReNew とか。

234 :デフォルトの名無しさん:2006/08/02(水) 16:58:03
> LANケーブルを抜いた状態(ネットが出来ない状態)
って具体的に、どういう状態が一番ふさわしいんだろうな?

IPアドレスをリリースした状態?
LANアダプタが停止した状態?

235 :デフォルトの名無しさん:2006/08/03(木) 11:58:46
>>215
MachineDebugManagerを使えばできた
OSや環境によってはMachineDebugManager自体が稼動していないが

236 :デフォルトの名無しさん:2006/08/03(木) 22:15:58
VB6.0を使って電卓を作っているのですが、
末尾の一桁だけを削除する(と言うより、1つ前に戻る)機能って、
どうやったら実現できますか?
(Windowsのアクセサリの電卓で言う「Back」のボタンです)

237 :デフォルトの名無しさん:2006/08/03(木) 22:22:04
>>236
Commandパターン

238 :デフォルトの名無しさん:2006/08/03(木) 22:28:08
非常に初歩的なことなのですが質問をさせてください。

VB6.0でADOコントロールを使わずにオラクルからデータベースを
読み込み、データグリットに表示することは出来るでしょうか?

一日半試行錯誤しながらソースを書いたのですが、まったく出来ません。

どなたかお願いします<(_ _)>



239 :236:2006/08/03(木) 22:33:41
>>237
具体的にはどういうことなのでしょうか?
すいません。基本的に初心者なのでよく判らなくて…。

240 :デフォルトの名無しさん:2006/08/03(木) 22:57:09
あんたの質問の仕方がなってないってこと。237も馬鹿だが。
具体的には、ってお前さんの質問がそもそも具体的じゃないんだよ。
そんな質問、エスパーでもなければ回答しようがない。

241 :デフォルトの名無しさん:2006/08/03(木) 23:05:10
>>236
Mid$

>>237
オラクルには、普通 oo4o でアクセスします。

242 :デフォルトの名無しさん:2006/08/03(木) 23:23:58
文字列の中身が半角数字か全角数字か判定する方法はありますか?
VB6.0です。

243 :デフォルトの名無しさん:2006/08/03(木) 23:43:21
>>242
文字数と文字容量を比較すればいいんじゃない?

244 :デフォルトの名無しさん:2006/08/04(金) 15:04:08
VBで表を作りたいのですが、どのように実現しようか困っております。
まず、以下が前提条件となっています。
・セルの折り返し表示
・アクティブセルの常時入力モード
・セルの文字列はリッチテキストで出力
・セルの内容に対するイベントの取得(カーソル位置の指定、取得等)
・表計算機能は求めない
・外部コンポーネントの使用可

イメージ的には、Wordでの表でしょうか。
グリッドだと、リッチテキストが実現できないし、
リッチテキストボックスだと、罫線が実現できません。
外部コンポーネントでも、いまいちベストな物が見つかりません。
何かいい方法はありませんか?


245 :デフォルトの名無しさん:2006/08/04(金) 16:13:40
GrapeCityのSPREADとか、TrueDBGridは今も手に入るんだっけ?
あとは、WordやExcelを貼り付けるとかその辺

246 :デフォルトの名無しさん:2006/08/04(金) 17:04:08
>>245
SPREADやTrueDBGridはすでに検証済みで、
共にリッチテキストが実現できません。
SPREADはなかなかいい感じだったのですが…。

Word、Excel貼り付けは無しですね。
実行するマシンにWord、Excelをインストールしなければ
ならないですし。


247 :デフォルトの名無しさん:2006/08/04(金) 20:28:08
Windowsの電卓のようなフォーカスの振る舞い、
イベントの処理はVBで可能でしょうか?

ラベルをテキストボックスのように見せていると考えたのですが、
電卓を起動して、[Shift]+[F10]を押すと出てくるメニューから、
表示部分はラベルではなくてテキストボックスだと推測しています。

テキストボックスのキャレットの点滅は無くせないのでしょうか。

248 :デフォルトの名無しさん:2006/08/04(金) 20:40:08
>>247
質問の意味が良く分からないけど、電卓のアレはEditクラスだよ

249 :デフォルトの名無しさん:2006/08/04(金) 20:44:59
>>247
やろうと思えば出来る。
実際に電卓がやってるんだから。

250 :デフォルトの名無しさん:2006/08/04(金) 21:39:36
つーか、電卓のサンプルあるだろが

251 :デフォルトの名無しさん:2006/08/04(金) 21:50:26
いちばん知りたいのは、
あなたがWindowsの電卓のマネをするなら、どうフォーカスを処理しますか?
ということです。

252 :デフォルトの名無しさん:2006/08/04(金) 21:51:19
236と私は別人ですよ。

253 :デフォルトの名無しさん:2006/08/04(金) 22:21:46
こんな回答者にエスパーであることを要求するドアホが
そうそういるとも思えませんけどねw

しかもどう考えても関連のありそうな質問してるし。

254 :デフォルトの名無しさん:2006/08/04(金) 23:05:34
>>251
フォーカス処理なんて何もする必要ないが。
電卓なんてラベルとボタンだけで出来るだろ。

255 :デフォルトの名無しさん:2006/08/04(金) 23:15:03
>>247
> 電卓を起動して、[Shift]+[F10]を押すと出てくるメニューから、
> 表示部分はラベルではなくてテキストボックスだと推測しています。

どうやったらそんなアフォな推測ができるんだ?

テクストボックスなくたってメニューぐらいいくらでも出せると思うけど。

256 :デフォルトの名無しさん:2006/08/04(金) 23:51:42
>>255
はは。

コンテキストメニューの座標がぴったり表示部にマッチしてるじゃないですか。
あと、"Unicode制御文字……"ってありますよね。



257 :デフォルトの名無しさん:2006/08/05(土) 01:24:36
Windows電卓は
表示部はEditクラス
ボタン・チェックボックス・ラジオボタンはButtonクラス
(Spy++調べ)

電卓のボタンにVB.CommandButtonを使うとキーボードフォーカスを持つが、
Windows電卓だとボタンがキーボードフォーカスを持たない。

表示部にVB.TextBoxを使うとキャレットが表示されるが、
Windows電卓だと表示部にキャレットは表示されない。また、事前に
カーソルキーを連打してキャレットを移動させたつもりになっても、
その後の数字の入力は必ず右端に挿入される。

VBでどうやったら真似できるかは、俺は馬鹿だからわからないので
教えてエロい人



258 :デフォルトの名無しさん:2006/08/05(土) 03:46:08
>>257
既存のコントロールを一切使わずに、
全てAPIなどを使って自前で実装する、これ最強。

259 :デフォルトの名無しさん:2006/08/05(土) 04:32:55
電卓のボタン
1.ユーザーコントロールに フォーカス描画を持たない  ボタンの様なモノ  を描画
2.VB.CommandButton をオーナードロー
3.VB.CommandButton のフォーカスを User32::DrawFocusRect で打ち消す

電卓の数値表示領域
1.VB.Labelで 枠表示 背景白 右揃え マウスポインタをIビーム
2.VB.TextBox をサブクラス化し マウスメッセージ・キー入力メッセージ握りつぶし キャレットを消すには User32::HideCaret


こんだけ思いついたけど… どっちも1.で十分可能でしょ
なんでもかんでも Win32API に頼るヤツは 鼻高くしてC++でもやってろ
電卓は ボタンをオーナードローしてる様な気がする Caption に色付いてるし


>また、事前に
>カーソルキーを連打してキャレットを移動させたつもりになっても、
>その後の数字の入力は必ず右端に挿入される。
つーか 実際に 電卓の表示部をウィンドウハンドル指定で書き換えても 正しく処理されるし
変数に 表示データ持ってんだろ 電卓は

260 :デフォルトの名無しさん:2006/08/06(日) 00:21:30
親フォームのボタンを押すと、親の上に子フォームを出します。
(以下、質問です)
親フォームを動かすと、一緒に子フォームを動かしたいのですが、
どうしたらいいでしょうか?
(マウスでPCの画面上を動かす事を言ってます)

261 :デフォルトの名無しさん:2006/08/06(日) 01:19:27
>>260
サブクラス化でイベント受け取って連動させればできるんだろうけど
そんなに見た目にこだわる事も無いと思うぞ

262 :デフォルトの名無しさん:2006/08/06(日) 13:14:01
>>260
子の Top / Left を弄ればいいのでは。

263 :260:2006/08/06(日) 15:25:24
ありがとうございます。
ユーザの依頼なので、面倒な事になってます。
正直、よくわからないですが、イベントや子Top/Leftあたりで探してみます。

後、タイトルバーもいらないといわれてます。
フォームの上にある、青いバーの事です。
これは、出来ないですよね?

264 :デフォルトの名無しさん:2006/08/06(日) 17:04:39
>>263
簡単に出来る。

265 :デフォルトの名無しさん:2006/08/06(日) 22:31:05
>>264
どうすれば、よろしいですか?
ヒントだけでも・・・・

266 :デフォルトの名無しさん:2006/08/06(日) 22:40:43
ヒント:基礎の基礎を勉強し直す

267 :デフォルトの名無しさん:2006/08/06(日) 22:44:29
>>264,266
死ね、クズ

268 :デフォルトの名無しさん:2006/08/06(日) 22:54:09
各種ボタンを「なし」にして、で出来なかったっけか?
どとねとなら、ボーダーを「なし」にすれば出来る。

269 :デフォルトの名無しさん:2006/08/06(日) 22:56:01
>>268
ここまでヒントくれれば、何とかなりそうです。
ありがとうございます。

270 :デフォルトの名無しさん:2006/08/06(日) 23:00:04
>>266は本当のクズ野郎だな。

271 :デフォルトの名無しさん:2006/08/06(日) 23:06:33
>>267 >>270
クズはお前ら。

272 :デフォルトの名無しさん:2006/08/07(月) 12:01:24
どっちもどっちだが、無知すぎるのも。
プログラム以前にWindowsしかも初心者レベルを知らないのにプログラムって。


273 :デフォルトの名無しさん:2006/08/07(月) 12:10:42
まぁ、下っ端は仕事は選んでられないしな。

ただ、このスレはやさしくないぜ。

274 :デフォルトの名無しさん:2006/08/07(月) 12:26:39
やさしくしてくれる所を探してそっちへ行け

275 :デフォルトの名無しさん:2006/08/07(月) 13:13:41
お前らが優しくないだけだ

俺は優しい

276 :デフォルトの名無しさん:2006/08/07(月) 13:24:56
人をクズ呼ばわりする奴に優しく出来るのは余程のお人よしさん。w

277 :デフォルトの名無しさん:2006/08/07(月) 13:59:20
しかし、このスレに限らないが、何で他人の回答に難癖付ける奴が後を絶たんかね。
他人への文句じゃなくて、自分がベストだと思う書き込みをすればいいだけなのに。

278 :デフォルトの名無しさん:2006/08/07(月) 17:21:44
ピクチャボックスの画像を回転させたいのですが
下のように書くと幅が短くなってしまいます
どこが悪いのでしょうか?


Picture2.PaintPicture Picture1.Picture, 0, Picture1.ScaleHeight, Picture1.ScaleWidth, -Picture1.ScaleHeight



279 :278:2006/08/07(月) 18:14:39
出来ました!
正直すまんかった

280 :デフォルトの名無しさん:2006/08/07(月) 18:22:41
意地悪な突込みだと思うが回転じゃなくて反転じゃないか?まぁ出来たなら良いかスマソ

281 :278:2006/08/07(月) 19:24:38
279は偽者です
>>280
気付かなかった

282 :278:2006/08/07(月) 19:56:58
Picture2.PaintPicture Picture1.Picture, 100, Picture1.ScaleHeight, Picture1.ScaleWidth

ごめんこれでやってみたけどまったく表示されない

283 :デフォルトの名無しさん:2006/08/07(月) 23:36:05
VBのIDEのことなんですがコード用のウインドウやオブジェクト用のウインドウが
完全に分離しちゃってるんですがどうやったら戻せるのでしょうか?
教えてください、お願いします。

完全に分離っていうのは例えばコード用のウインドウを最大化すると
画面がそのウインドウだけになってしまうといった状態です。

284 :デフォルトの名無しさん:2006/08/08(火) 00:09:02
>>283
ツール - 詳細設定 - SDI開発環境
かな?


285 :283:2006/08/08(火) 00:53:32
>>284
ありがとうございます。
これで落ち着いて作業できます。

286 :デフォルトの名無しさん:2006/08/08(火) 08:54:29
>>278
画像を回転、反転する命令は無いです。
1ドットづつ置換えるしかない。

287 :デフォルトの名無しさん:2006/08/08(火) 10:13:30
ほい
Call Picture1.PaintPicture(Picture2.Picture, 0, Picture2.ScaleHeight, Picture2.ScaleWidth, -Picture2.ScaleHeight, 0, 0, Picture2.ScaleWidth, Picture2.ScaleHeight, vbSrcCopy)

288 :デフォルトの名無しさん:2006/08/08(火) 19:19:45
WebBrowserコントロールの事を知りたいのですが、役に立ちそうなHP知っていれば教えてもらえませんか?

289 :デフォルトの名無しさん:2006/08/08(火) 19:38:48
>>288
MSDN

290 :デフォルトの名無しさん:2006/08/08(火) 19:51:09
>>288
google

291 :デフォルトの名無しさん:2006/08/08(火) 19:53:26
>>290
寒いんだよ、クソ餓鬼

292 :デフォルトの名無しさん:2006/08/09(水) 09:35:25
>>291
お前が馬鹿、今のプログラマ能力の3割ぐらいは適切なぐぐる様とのチャネリング能力だよ。


293 :デフォルトの名無しさん:2006/08/09(水) 10:23:36
>>292
3割?もっとだろ(w

294 :デフォルトの名無しさん:2006/08/09(水) 10:30:14
プログラマーの場合は3割が正解、
コーダーの場合は7割。

295 :278:2006/08/09(水) 13:27:02
>>287
エラーになる

296 :デフォルトの名無しさん:2006/08/09(水) 13:37:05
>>295
実際動かして確認して
そのコード張ったんだけどな・・・
エラーになると言われても内容わからなけりゃ答えよう無いです


297 :デフォルトの名無しさん:2006/08/09(水) 13:38:18
>>295
別に一方的な報告はしなくていいよ。
君がどんなエラー出そうと俺等は全く困らないから。

吐き捨ての報告ではなく、現状を報告しての再質問なら、詳しく書こうね。
どういう環境で、どういうコードを実行して
(これは>>287だろうが、全く変更してないのか、何か変更した部分があるのかは明確に)
どういうエラーが出て、どういう試行錯誤をしたのか。
ちゃんと書かなきゃ答えられないし、答える気にもならん。

298 :デフォルトの名無しさん:2006/08/09(水) 13:44:30
>>297
全く困らないなら、スルーすればいいのに。

299 :デフォルトの名無しさん:2006/08/09(水) 14:00:04
>>298
何言ってるんだ?

300 :デフォルトの名無しさん:2006/08/09(水) 14:03:59
>>299
わからないのか?

301 :デフォルトの名無しさん:2006/08/09(水) 14:14:27
297はただ困らないと言ってるわけじゃないよね

一方的な報告なら、オマエがどんな状況だろうと俺等は困らないし知ったこっちゃないからするな
質問ならしてもいいが、状況情報はきちんと書け

と言ってるわけだが、298は「困らない」の一言だけに何故か過敏に反応しちゃんえるんだよね
やっぱ暑いから熱くなりやすいのかw


302 :デフォルトの名無しさん:2006/08/09(水) 14:27:05
>>301
どうみても、熱くなってるのはお前の方だが

303 :デフォルトの名無しさん:2006/08/09(水) 14:29:49
>>302
何か嫌なことでもあったの?

304 :デフォルトの名無しさん:2006/08/09(水) 14:30:21
雨に濡れた

305 :デフォルトの名無しさん:2006/08/09(水) 14:33:03
>>301
「質問ならしてもいいが」って、お前何様なわけ?

306 :デフォルトの名無しさん:2006/08/09(水) 14:40:41
>>301
状況情報を添えた質問をしたとしても、「俺等」は困らないはずだけど。

困るの?

307 :デフォルトの名無しさん:2006/08/09(水) 14:46:41
妻がMP3プレイヤーを買った。
しかし、CDも数枚しか持ってないし、
MP3ファイルなんて一曲も持ってない。
何故購入したんだろ・・・

308 :デフォルトの名無しさん:2006/08/09(水) 14:50:52
>>307
聞けばいいじゃん。

309 :デフォルトの名無しさん:2006/08/09(水) 19:44:29
レンタル屋に行けば置いてあるじゃん

310 :デフォルトの名無しさん:2006/08/09(水) 19:44:31
>>307
MP3 はこれからダウンロードで買いまくるに違いない。

311 :デフォルトの名無しさん:2006/08/09(水) 19:49:15
>>307
何故お前はこのスレにその質問をしたんだろ・・・

312 :デフォルトの名無しさん:2006/08/09(水) 21:19:45
>>307
誤爆した・・・_| ̄|○スマン

313 :デフォルトの名無しさん:2006/08/09(水) 21:28:23
>>307
つ【百度】

314 :デフォルトの名無しさん:2006/08/10(木) 03:45:28
VB6.0でFFT(高速フーリエ変換)の
実装を考えています。

どなたかプログラムのある場所等ご存知の方います?

315 :デフォルトの名無しさん:2006/08/10(木) 07:55:59
>>314
実装するんじゃないのか?
意味不明だ

316 :デフォルトの名無しさん:2006/08/10(木) 07:59:26
×実装を考えています。
○パクリを考えてます。

×どなたかプログラムのある場所等ご存知の方います?
○どなたかソースのある場所等ご存知の方います?

と予測。

317 :デフォルトの名無しさん:2006/08/10(木) 08:46:09
>>314
ググれば幾らでもある。

318 :デフォルトの名無しさん:2006/08/10(木) 09:51:46
>>314
> どなたかプログラムのある場所等ご存知の方います?

ここにはいないようです

319 :デフォルトの名無しさん:2006/08/10(木) 11:33:37
そりゃいないだろ
当然アセンブラで書いてDLLにするだろうから

320 :デフォルトの名無しさん:2006/08/10(木) 11:38:59
VBからSSHを使用したいのですが
dllが見つからなかったので
現在はPuttyをキックしています。

今の課題は、接続エラーなどのエラー処理なのですが
Putty(というかシェル)で発生したエラー情報
を取得する方法がわからなくて困っています。

どなたかご存知であればお教えください。
お願いいたします。

321 :デフォルトの名無しさん:2006/08/10(木) 12:38:18
puttyって微妙に厨房臭い恥ずかしい感じw

322 :デフォルトの名無しさん:2006/08/10(木) 12:59:42
puttyを別アプリとして起動しているならログ解析するしかないんじゃないか

323 :デフォルトの名無しさん:2006/08/10(木) 14:29:23
フーリエ変換って何につかうの?

324 :デフォルトの名無しさん:2006/08/10(木) 14:31:19
変換

325 :デフォルトの名無しさん:2006/08/10(木) 14:37:08
>>323
ttp://ja.wikipedia.org/wiki/%E9%9B%A2%E6%95%A3%E3%83%95%E3%83%BC%E3%83%AA%E3%82%A8%E5%A4%89%E6%8F%9B

326 :320:2006/08/10(木) 17:26:03
出来ました
ありがとうございました

327 :デフォルトの名無しさん:2006/08/10(木) 19:45:32
>>326
で、どうやって実現したかは書く気全くなしと。

328 :デフォルトの名無しさん:2006/08/10(木) 19:46:25
>>327
知りたいの?

329 :デフォルトの名無しさん:2006/08/10(木) 21:25:44
>>328
お前、こういうQ&Aの場が何の為にあるのか
全く理解してないんだな。

330 :デフォルトの名無しさん:2006/08/10(木) 21:35:49
>>329
ここ2chだよ?

331 :デフォルトの名無しさん:2006/08/11(金) 00:16:40
>>330
2chとか関係ないな

332 :デフォルトの名無しさん:2006/08/11(金) 03:48:46
>>329
何のためにあるの?

333 :デフォルトの名無しさん:2006/08/11(金) 12:32:49
くだらんレスは俺のも含めてスルーしろ。

334 :320:2006/08/11(金) 14:16:10
>>326は偽者
まだできてません。

レスくれた人トンクス。

335 :デフォルトの名無しさん:2006/08/11(金) 15:23:08
VB6.0のMCIコントロールで.wmvファイルは再生可能でしょうか?

336 :デフォルトの名無しさん:2006/08/11(金) 15:37:39
>>335
人に聞く前に自分でやれよ

337 :デフォルトの名無しさん:2006/08/11(金) 15:38:41
>>336
そんなこと言わないで教えて下さいよ。

338 :デフォルトの名無しさん:2006/08/11(金) 15:40:25
できません

339 :デフォルトの名無しさん:2006/08/11(金) 15:41:34
可能。

340 :デフォルトの名無しさん:2006/08/11(金) 15:51:58
>>335
少なくとも君には無理。

341 :デフォルトの名無しさん:2006/08/11(金) 16:12:46
VBのIDEで、ファイルメニューの"***.exeの作成"がグレーアウトして
コンパイルできないんですが、どなたか同じ現象になった人 or 原因分かる方いますか?
1ヶ月ぐらいまではメニューからコンパイル出来ていたんですが。
環境はXP SP1、VB6SP6、OCXはスプレッドぐらいです。

その間やったことといえば、Windows Updateと.Net FrameWork2.0のインストールです。

宜しくお願いします。 

342 :デフォルトの名無しさん:2006/08/11(金) 16:33:46
>>341
そういう現象に遭遇した事無いのでわからないが、
とりあえず新規作成で別のActiveXコントロールのプロジェクトを作成し、それでコンパイルできるなら、
それぞれのプロジェクトファイル(*.vbp)をテキストエディタで比較してどこが違うのか比較するぐらいしか思いつかないなぁ。

343 :デフォルトの名無しさん:2006/08/11(金) 17:08:25
>>342
レスありがとうございます。

書き漏れてて申し訳ないんですが、新規で立ち上げても"project1.exe 作成"やら
"Project1.dll 作成"がグレーアウトしてコンパイルできないんです...orz
IDEを終了させてから、エクスプローラからvbpファイルを右クリックして
"実行ファイルの作成"はできるんですが。

上記のグレーアウト以外はIDEは正常に使えてます。




344 :デフォルトの名無しさん:2006/08/11(金) 18:43:13
VBスクリプトネタで申し訳ないのですが、
VBスクリプトからCOM+の呼び出しはどのように実装すればよいでしょうか?

345 :341:2006/08/11(金) 19:10:09
>>343
原因はいまだ不明ですが、一応解決したので自己レスです。

別ユーザーにて試した結果、グレーアウトされていなかったので、
VB部分のレジストリ[HKEY_CURRENT_USER\Software\Microsoft\Visual Basic\6.0]
をコピって、該当ユーザーに突っ込んだところ復活しました。
調べてみたらどうやら上記キーの"UI"ってとこの値のようです。
中身はバイナリなんでよくわかりませんでしたが。


346 :デフォルトの名無しさん:2006/08/12(土) 06:45:52
>>344
MSDNに書いてあるからそっち読んで。

347 :デフォルトの名無しさん:2006/08/17(木) 02:22:41
うんこ

348 :デフォルトの名無しさん:2006/08/17(木) 04:50:46
トイレ行きなさい

349 :デフォルトの名無しさん:2006/08/17(木) 04:58:07
まにあいませんでした
間に合いませんでした
マニア居ませんでした

350 :デフォルトの名無しさん:2006/08/17(木) 11:30:46
画面サイズぎりぎりの大きなFormを作った場合ですが、
1.Win2kで作ったプロジェクトをWinXPで開くとFormのTopが-120とかになったりする。
2.Win2kでビルド→WinXPで実行だと画面におさまるがWinXPでビルドすると画面からはみ出す。

Win2kとWinXPはタイトルバーの太さが違うからはみ出すのが当然だと思うけど、
「Win2kでビルド→WinXPで実行だと画面におさまる」という現象が腑に落ちない。
WinXPにはWin2k以前でビルドされたアプリをうまく画面におさめる仕組みがあるのかな?

351 :デフォルトの名無しさん:2006/08/17(木) 12:20:00
>>350
Win2000 で実行する物は Win2000 で開発。
WinXP で実行する物は WinXP で開発。
これ常識。

352 :デフォルトの名無しさん:2006/08/17(木) 13:12:33
どんな常識だよそれw
>>350が何か勘違いしているだけでしょそんなの。

デザイナ上のフォームのプロパティーグリッドやMSDNライブラリとにらめっこしながら
いろいろやってみろよ。

どうせろくに知らべもせず、試行錯誤もせず、いきなり質問してるんでしょ。
根性なさ過ぎるんだよ。

353 :デフォルトの名無しさん:2006/08/17(木) 15:17:39
>>352
>>351じゃないが、死屍累々の上にある生活の知恵。


354 :デフォルトの名無しさん:2006/08/17(木) 16:24:54
>>353
具体的に

355 :デフォルトの名無しさん:2006/08/17(木) 16:31:15
>>354
具体的も何も、実務で作ったものをいろんなOSに入れてれば、散々喰らったと思うんだが。
それこそ見た目の違いから、動作の違い、インストーラー自体が上手く動かないなど。

そういうことがあるから、開発時は良いが、テスト時は全ての対応OSテストだし、インストーラーも分けたほうが安全。
インストーラーが取得するDLLなどが基本的にはインストーラーを作ったOSに入ってるものだから。


356 :デフォルトの名無しさん:2006/08/17(木) 16:39:18
私も>>351ではないが
大抵は開発環境と動作環境はそろえるべきなんだけどね・・・
クロス開発じゃなければ

Win2000で開発したのがWinXPで動くと言い切れるのか?
Win2000で開発したのがWin98で動くと言い切れるのか?
環境が違うから動くとは絶対言い切れないよ

VBのウィンドウサイズ指定で
Lunaスタイルと昔のスタイルではズレるのは当たり前
環境が違うからね

>>350でXPでクラシックスタイルで開発してビルド→2000で実行
ならたぶん希望通りに収まると思う

XPクラシックで開発しててユーザからLunaだと
ウィンドウサイズがずれて端の文字が読めないって言われたことある

357 :デフォルトの名無しさん:2006/08/17(木) 16:39:45
開発わければ安全だって?へえ。
OSごとにこれをダウンロードして下さいって言ってまわってるのか。ほぅ。
リリース時に何個作ってるんですか?

358 :デフォルトの名無しさん:2006/08/17(木) 16:55:18
>>352
VBアプリを開発する上での常識以前の大前提の話なんだが?
まさかそれで飯喰ってるプロなのに知らないの?

>>357
まさか、趣味で配布するフリーソフトと、受注生産のシステムを
一緒くたに考えてるのか?
後者の場合、稼動OSも指定されるに決まってるだろうが。
何処迄レベルが低いんだ一体。

で、例えば Win 98 と Win 2000 で動かす、って事なら、当然の事ながら
2つの環境を用意し、それぞれでテスト、デバッグ、ビルド、
インストーラ作成等をして、二種類リリースするんだけど?
まさか、仕事で開発しるのに全部一緒にやってなんて事ないよね?

359 :デフォルトの名無しさん:2006/08/17(木) 16:59:44
つうかね、不特定OS対応でまくアプリはスタティックリンクできない、サイド倍サイド実行できないVB6では作らんって。
それ以外の条件は>>358の通り。

お客様がこれとこれのOSを使ってるといったら、それのテスト。


360 :デフォルトの名無しさん:2006/08/17(木) 17:10:18
あなたの脳内の大前提は受注生産システムかもしれないが、
こちらとしては何言ってんだこの火病はって感じですね

361 :デフォルトの名無しさん:2006/08/17(木) 17:13:59
>>360
じゃあさ、VB6でのアプリを汎用的に販売したの?
そのときどうやったの?

無能な私に教えてくださいな。
世の中の大半の人があきらめてることを、貴方は成し遂げたみたいだから。


362 :デフォルトの名無しさん:2006/08/17(木) 17:15:08
>>361
何が問題なんです?

363 :デフォルトの名無しさん:2006/08/17(木) 17:18:36
>>360
ここ迄読解力がない奴も珍しいな。
(´・ω・) カワイソス

364 :デフォルトの名無しさん:2006/08/17(木) 17:19:58
>>361
君、MSDN知らないの?
OSのバックアップ・リストアソフト知らないの?
仕事なのに、テスト用PCもないの?
テスト工数を削減する工夫(自動テスト化)もしないの?
VMWare, VirtualPC知らないの?
情報収集してないの?

365 :デフォルトの名無しさん:2006/08/17(木) 17:22:37
>>364
それはテストでしょ、しかも複数OSごとに環境つくってるじゃん。
>>360は、VB6のアプリのテスト、配布にOSを考慮しなくて良いと言ってるんだが。


366 :デフォルトの名無しさん:2006/08/17(木) 17:25:40
どう読めば360がそう言ってると思えるんだろう。
縦?横?斜め?右から読むのかな。

367 :デフォルトの名無しさん:2006/08/17(木) 17:30:44
>>365
>それはテストでしょ、しかも複数OSごとに環境つくってるじゃん。

はぁ?何言ってんの?
複数のOS・SPの組み合わせで動くかどうかのテストは、それぞれ環境を作るに決まってるでしょ。
脳内プロですか?

368 :デフォルトの名無しさん:2006/08/17(木) 17:31:10
>>366
>>360>>357からの流れだろ?
そこまで言わないと読めないの?


369 :デフォルトの名無しさん:2006/08/17(木) 17:33:25
どう読めば357がそう言ってると思えるんだろう。
縦?横?斜め?右から読むのかな。

370 :デフォルトの名無しさん:2006/08/17(木) 17:33:56
現在の話の大本は>>357でしょ
VBのソフトでOSごとに作る必要あるの?
って読めるけどこれはどうなのよ?

371 :デフォルトの名無しさん:2006/08/17(木) 17:46:31
まぁ人のアドバイスなんか無視して、
自分の思う通りに勝手に作ればいいよ。
苦労するのは自分なんだし。

372 :デフォルトの名無しさん:2006/08/17(木) 17:50:37
うなぎとうめぼしは、食い合わせが悪いですからね。

373 :デフォルトの名無しさん:2006/08/17(木) 17:52:36
>>372
ただの迷信。

374 :デフォルトの名無しさん:2006/08/17(木) 17:53:59
>>370
現在メインストリームであると思われる、Windows 2000 SP3以降のOSで、VB6が
支障なく動くことを考えれば、答えは自ずと導かれる。

375 :デフォルトの名無しさん:2006/08/17(木) 17:59:28
>>374
どう考えれば支障なく動くと言えるのかわからないな・・・
「思われる」て仮定だし
勝手に2000SP3以降と定義したら「どのOSでも」とは言えないよ

376 :デフォルトの名無しさん:2006/08/17(木) 18:01:05
>>375
ミス
「どのOSでも」じゃないね
「OSごとに作る必要」かどうかの答えになってない

377 :デフォルトの名無しさん:2006/08/17(木) 18:03:38
>>375
君は一体何番で、何を主張したいの?
それから、MSのサポートポリシー知らないの?

378 :デフォルトの名無しさん:2006/08/17(木) 18:09:25
>>377
空気読め

379 :デフォルトの名無しさん:2006/08/17(木) 18:10:52
どの言語でも同じことだが、
自分で作ったものが、どのOSで動くかは作り方しだい。

動くように作ったら動くし、
動かないように作ったら動かない。

動くことを保証したいのなら、自分でテストする必要がある。

380 :デフォルトの名無しさん:2006/08/17(木) 18:25:59
VB付属のコントロールと、VB本来の命令しかつかわなければ、大抵動くよ。

381 :デフォルトの名無しさん:2006/08/17(木) 18:51:36
>>379
> どの言語でも同じことだが、

この意見が素人っぽいね。

VB と VC なら、明らかに VB の方が動かない確率が高いし、
そのときの対処にも苦労する。

対応するOSがある程度決まっている受託開発なら、テストを
しっかりやると言う力技で対応できるけど一般にばら撒くとな
ると VB はかなり大変。

と言うのが俺の実感。

382 :デフォルトの名無しさん:2006/08/17(木) 18:57:33
チラシの裏にでも書いてろ

383 :デフォルトの名無しさん:2006/08/17(木) 19:02:24
VB6が動かない例だが
VB6のコンボボックスはかなりリソースを食う
NT系じゃリソース管理するから大丈夫だけど
9X系はリソース管理しないからコンボボックスの個数が多いと起動できない
って症状がある
これの対処はかなり面倒だったよ
VB6ランタイムの欠陥だけどいまだに修正されずじまい

384 :デフォルトの名無しさん:2006/08/17(木) 19:09:11
>>383
お前は一体何を主張したいのだ?

385 :デフォルトの名無しさん:2006/08/17(木) 19:09:21
>>383
それはOSごとにコンパイルして
インストーラー作れば治るんですか?

386 :デフォルトの名無しさん:2006/08/17(木) 19:12:47
>>383
9x系で動かなくなるほど、リソース食いまくりの画面設計するお前がタコ

387 :デフォルトの名無しさん:2006/08/17(木) 19:21:20
>>384
>>380-381
の大抵動く、動かない確率が高い
って発言について書いただけ
で、あんたはさっきから主張主張と
安っぽい文句しか書いてないけどどうしたの?
顔真っ赤にして

>>383
コンパイルしなおしても直らないから
ソース自体を修正した

>>386
まぁ設計が悪かったのはわかってるよ
実装時にそんなにリソース食うとは知らなかったし
しかしそれだけ使う必要があった

388 :デフォルトの名無しさん:2006/08/17(木) 19:24:48
>>387
どう見ても、お前の方が必死なんだけど。

389 :デフォルトの名無しさん:2006/08/17(木) 19:26:48
9x系ではリソースに制限があることくらい誰でも知ってると思ったが。

390 :デフォルトの名無しさん:2006/08/17(木) 19:30:08
>>387
9x系で一番やばそうな所つついてるのに、プロトタイプを作って検証しなかったの?

391 :デフォルトの名無しさん:2006/08/17(木) 19:40:36
フリーでベータ版の頃に指摘があった
コンボ一個でリソース2.5%も消費するとは思いもしなかったからね


392 :デフォルトの名無しさん:2006/08/17(木) 19:44:04
>>391
つチラシの裏

393 :デフォルトの名無しさん:2006/08/17(木) 20:17:09
何だかんだ言っても、VBは最高ですよ。

394 :デフォルトの名無しさん:2006/08/17(木) 23:23:18
>>393
うん。
だけどこのスレがそのよさを引き出せないでいるんだ。


395 :デフォルトの名無しさん:2006/08/17(木) 23:42:29
レベルの低い質問だと思うんですが
VBからマクロ入りのexcelファイルを開いて
excelの中のマクロを実行させたい場合
どうすればいいのでしょうか?
vbからcallでマクロ名を指定してもうまくいきませんでした。

396 :デフォルトの名無しさん:2006/08/17(木) 23:46:26
>>395
Excelでマクロの記録を行って、そのマクロを実行したマクロを見れば?

397 :デフォルトの名無しさん:2006/08/17(木) 23:50:06
>>394
別にこのスレに引き出して貰わなくても、
既に十分知ってるでしょ?

398 :デフォルトの名無しさん:2006/08/17(木) 23:54:45
>>396
何を頓珍漢なことを。

>>395
「CreateObject("Excel.Application")」あたりでググればわかる。

399 :359:2006/08/17(木) 23:56:38
>>356
ありがとうございます。
その考えは思いつきませんでした。
うまくいきました

あとエクセルを開くときに
マクロを無効にするか有効にするか選択を迫られるのですが
これを有効にするにはどうしたらよいですか?
よろしくお願いいたします

400 :デフォルトの名無しさん:2006/08/17(木) 23:59:33
ググらんでもマイクロソフトのサイトで検索すればええやん。

401 :デフォルトの名無しさん:2006/08/18(金) 01:07:21
ぐぐる=検索

402 :デフォルトの名無しさん:2006/08/18(金) 03:58:24
ぐぐる=googleで検索する

403 :デフォルトの名無しさん:2006/08/18(金) 04:25:28
google someone は禁止だそうです。ぐぐるにも飛び火するか!?

404 :395:2006/08/18(金) 06:26:47
どうもありがとうございます
色々調べて何とかなりました。

VBでマクロ入りエクセルを開いて
マクロを実行させるというプログラムはできてとりあえず動くのですが

エクセルのマクロでソルバーを使っている場合

エクセルで
ソルバー : 内部エラーが発生しました。またはメモリ不足です。

というエラーが出て

VB側で

実行時エラー '440':
オートメーションエラーです。

というメッセージが出て止まってしまいます。

エクセルのマクロ単体で動かした場合はエラーは出ませんし
ソルバーを使ってないエクセルファイルの場合プログラムはうまく動きます。

どうしたら回避できるか分かる人がいたら教えてください
よろしくお願いいたします


405 :デフォルトの名無しさん:2006/08/18(金) 08:08:14
失礼します。
VB6.0で他のプログラムのレジスタの値を読み取ることは可能なのでしょうか?
もし可能でしたら、使うAPIか何かだけでも構いませんので教えていただけませんでしょうか。

406 :デフォルトの名無しさん:2006/08/18(金) 09:38:12
>>405
どの言語でも不可能のような気がする・・・
自プロセスのレジスタでさえも

407 :デフォルトの名無しさん:2006/08/18(金) 09:51:21
「レジスタ」って何を指してるの?
CPUのレジスタ?

408 :デフォルトの名無しさん:2006/08/18(金) 09:55:32
GetThreadContext

409 :デフォルトの名無しさん:2006/08/18(金) 10:04:45
返信ありがとうございます。

>>406
レジスタの値自体はデバッグツールで表示されていたので、読み取れるのではないかと思います。
そのツールはC++で書かれてたので、VBで可能なのかが気になって質問させていただきました。

>>407
はい、CPUのレジスタです。変な書き方をして分かりにくくしてしまって申し訳ないです。

410 :デフォルトの名無しさん:2006/08/18(金) 10:09:45
>>408
まだ試したわけではないですが、検索してみたところ上手くできそうです。
ありがとうございます。

411 :350:2006/08/18(金) 11:19:32
Win2kで作ったプロジェクトを

1.Win2kでビルドしてWinXPで実行→画面におさまる
2.WinXPでビルドしてWinXPで実行→画面からはみ出す

不思議な現象だなーと思っただけだす。みんなそう思わない?

412 :デフォルトの名無しさん:2006/08/18(金) 11:25:44
どうでもいい

413 :デフォルトの名無しさん:2006/08/18(金) 11:27:40
たしかにどうでもいいことだな。

414 :デフォルトの名無しさん:2006/08/18(金) 11:30:46
だがどうでもいい

415 :352:2006/08/18(金) 12:26:27
>>411
だからプロパティーグリッドを穴があくまでよく見た?
どうせこうまで煽られてもろくに見てもないんだろこういう奴は。
なんか「臭い」プロパティーがあるだろ。

416 :デフォルトの名無しさん:2006/08/18(金) 16:24:38
>>411
結果はどうあれ、「Win2kでビルドしてWinXPで実行」←これがそもそもおかしい。

417 :デフォルトの名無しさん:2006/08/18(金) 16:35:20
>>416
どこがどういう風におかしくて、それはなぜですか?

418 :デフォルトの名無しさん:2006/08/18(金) 17:39:22
vbscript(IIS5.0)での質問なのですが、
クラス内定数を記述する方法はありますでしょうか
(C++でのstatic、Javaでのfinalみたいな)。

419 :デフォルトの名無しさん:2006/08/18(金) 17:52:22
XP以降では固定ピッチフォントの扱いが仕様変更されたため、また、テーマによってはタイトルバーの高さが増えてしまい、その分クライアント領域の高さが少なくなってしまうため。
Javaのレイアウトマネージャーみたいなのがあればいいんだけどねえ。

参考:
ttp://www.microsoft.com/japan/msdn/windows/windowsxp/FixedPitchFont.asp


420 :デフォルトの名無しさん:2006/08/18(金) 17:54:36
>>418
Private Const, Private Enumじゃないの?

421 :デフォルトの名無しさん:2006/08/18(金) 17:56:37
>>417
このスレをちゃんと読め。

422 :418:2006/08/18(金) 18:05:59
>>418 様、回答ありがとうございます。
いずれも構文エラーとなってしまいました。
やっぱムリなのだろうか…
ちなみにC++でのstatic、という例はちょっと外れてましたね。
厳密にはstatic const、でしょうか。
理想的には、ひとまとまりの定数群をまとめたクラスを
静的参照したいのですが

class TestClass
const A = 123
const B = 456
const C = 789
end class

MsgBox TestClass.A

そもそも、vbscriptで自作class作ってるサンプルって
あんまり見ないなぁ…

423 :418:2006/08/18(金) 18:06:54
レス先ミス
>>420
でした

424 :デフォルトの名無しさん:2006/08/18(金) 18:12:59
>>421
説明できないんだ。

425 :デフォルトの名無しさん:2006/08/18(金) 18:28:06
説明できるわけ無いじゃん。
単なる本人の思い込みだからw

なんでコンパイラが同じソースから吐くコードがOSに依存するんだよ。
絶対にありえんそんなことw

こういう人の書くコードって、本人にもよくわからない「おまじない」が
いたる所に書いてあったりするんだよね。

426 :デフォルトの名無しさん:2006/08/18(金) 18:44:06
>>422
VBS で Class なんて作れたっけ?

427 :418:2006/08/18(金) 18:53:29
>>426
できますよ〜
ttp://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/script56/html/vsstmclass.asp
Property Set/Get も実装できるみたいです(使ったことないですが)

428 :デフォルトの名無しさん:2006/08/18(金) 18:54:39
Microsoft® Visual Studio® .NET™ 2003 Service Pack 1
http://www.microsoft.com/downloads/details.aspx?FamilyID=69d2219f-ce82-46a5-8aec-072bd4bb955e&DisplayLang=ja

429 :デフォルトの名無しさん:2006/08/18(金) 19:33:27
>>428
無料で使えるのが VS.NET 2003 なんだっけ?

430 :デフォルトの名無しさん:2006/08/18(金) 19:34:34
>>422,427
Public Property Get A()
  A = 123
End Property

Constでの宣言は使えないが、これで結果は同じになる。
というかクラスのメンバに定数があるってのがおかしいし
そもそも定数群をクラスにするってのが間違ってる。
俺もVBSでクラスをよく使うが、定数はClassステートメント外で宣言する。

例えばFSOでファイルを作成する場合、
objFso.OpenTextFile(path, objFso.ForWriting, objFso.True)
なんてやらないだろ。定数ってのは条件であってメンバじゃないからな。

431 :デフォルトの名無しさん:2006/08/18(金) 19:40:06
>>430
> というかクラスのメンバに定数があるってのがおかしいし

全くおかしくないけど。

432 :デフォルトの名無しさん:2006/08/18(金) 19:45:45
>>430
いやVB以外じゃクラスの名前空間に定数閉じ込めるって普通だから。


433 :418:2006/08/18(金) 19:51:03
>>430
回答ありがとうございます。
それも一つの解法ですね、参考にさせていただきます。

確かにvbscriptの組み込み定数は全てグローバルですが、
MFCだと
objFile.Open(szFileName, CFile::modeRead);
といったクラス定数によるオプション指定や、
Javaでも Math.PI があるように、
体系立てて定数を管理できたらいいなと思った次第です。

434 :デフォルトの名無しさん:2006/08/18(金) 20:17:14
>>432
おまえ、何か勘違いしてる

435 :デフォルトの名無しさん:2006/08/18(金) 21:07:59
>>434
ほう、面白いw
具体的にどうぞ

436 :デフォルトの名無しさん:2006/08/18(金) 21:42:57
>>434
あのさあ、「何か」なんて書かずに、具体的に指摘しようや

437 :デフォルトの名無しさん:2006/08/18(金) 22:05:51
クラスにパブリックな定数が公開されている。
プロパティとして一定値を返すものがある。
クラスが列挙を公開してる。

すべて普通だけど。クラスに属する定数ならば、クラスに従属させるのが自然。
別のところに定義したら、単なる別ものを使ってるだけで、その定数とクラスの結合が蜜で設計がおかしくなる。


438 :デフォルトの名無しさん:2006/08/18(金) 22:07:18
>>437
はぁ?何のこっちゃw

439 :デフォルトの名無しさん:2006/08/18(金) 22:54:09
>>438
理解できんならだまっとれ。

440 :デフォルトの名無しさん:2006/08/18(金) 23:11:13
>>438
それなら433の例はどうよ。
まあMath.PIはJavaの仕様上の都合もあるけどね。

441 :デフォルトの名無しさん:2006/08/18(金) 23:27:07
>>439
滑稽だなw

442 :デフォルトの名無しさん:2006/08/19(土) 09:15:15
>>425
何をもって絶対なんて豪語してるのか知らんけど、
動作環境によってコンパイルオプションの既定値を
変えるコンパイラはいくらでもあるぞ。

443 :デフォルトの名無しさん:2006/08/19(土) 09:25:27
>>442
で、VB6はどうなの?
2000とXPで違うコード吐くの?
2000で作ったアプリをXPで動作させちゃいけないの?

444 :デフォルトの名無しさん:2006/08/19(土) 09:45:00
>>443
自分でビルドしてバイナリコンペアでもしてろ。

445 :デフォルトの名無しさん:2006/08/19(土) 10:40:33
425は浅いね。理解できないものに浅い知識で折合いをつけようとする、
そんな行為こそ思い込みと言われるんだよ。反省しなさい。

446 :デフォルトの名無しさん:2006/08/19(土) 10:45:22
C/C++で作ればどのOSでも動く。

VBのランタイムライブラリはC/C++で作られているので
どのOSでも同じように動く。

だから同じように動くランタイムライブラリを使う
VBもどのOSで同じように動く。


結論。
んなわけない。どのOSで動くかは言語に関係なく
作り方しだい。動くように作れば動くし、そうでなければ動かない。

447 :デフォルトの名無しさん:2006/08/19(土) 10:50:46
動くけどちょっとだけはみ出ちゃう。そこにいやーんってなってるわけだが。

448 :デフォルトの名無しさん:2006/08/19(土) 12:27:14
>>444
答えられないんですね。

449 :デフォルトの名無しさん:2006/08/19(土) 12:39:36
うん。馬鹿なんだよ。

450 :デフォルトの名無しさん:2006/08/19(土) 16:41:34
>446
> VBのランタイムライブラリはC/C++で作られているので
> どのOSでも同じように動く。
ここに認識の誤りがある。それにVBはVBのEXEとVBのRTだけで動作するものではない。

451 :デフォルトの名無しさん:2006/08/19(土) 16:49:39
で?

452 :デフォルトの名無しさん:2006/08/19(土) 19:05:36
>>451
そうだね。
プロテインだね。

453 :デフォルトの名無しさん:2006/08/19(土) 19:16:29
KeyDownイベントを使ってaviファイルを再生させたいのですが
(「A」押す→aviファイル@再生、「B」押す→aviファイルA再生)
どのようなコードを書けばいいですか??
教えて下さい。

454 :デフォルトの名無しさん:2006/08/19(土) 19:28:26
>>453
それはとても難しい質問です
きっとここの読者にとってはベリースペシャル
あなた入門本やサイト読んで角にがんばる

455 :デフォルトの名無しさん:2006/08/19(土) 20:07:02
>>450
とりあえず、お前が下手な日本語でがんばって詭弁を言おうとしているのだけはわかったw

456 :デフォルトの名無しさん:2006/08/19(土) 21:49:13
>455
別に詭弁のつもりはないけど、まぁVBなんてもう終わってるんだからどうでもいいや。
というかいまだにVB6ものの改造を発注するうちのお客さん、そろそろ勘弁してください。

457 :デフォルトの名無しさん:2006/08/19(土) 22:35:13
そうだね。詭弁だね。

458 :デフォルトの名無しさん:2006/08/19(土) 22:38:10
そうだね、詭弁負けちゃったね(ToT)/

459 :デフォルトの名無しさん:2006/08/20(日) 07:56:43
>>453
指定したファイルを再生するというのを関数化して
あとは条件分岐させるだけじゃん。

というか、自分で出来た部分のコードも貼らずに
> どのようなコードを書けばいいですか??
とか言う奴って、「俺のために一から全部コード書けよ」って意味だろ。
なめてるとしか思えない。

460 :デフォルトの名無しさん:2006/08/22(火) 01:16:20
納品後にDLLのイン、アウトが変更になるかもしれないんですけど、
あらかじめ引数増やしとくのって、有りなのでしょうか?

と、いうか、普通はそういうのがちゃんと決まってからDLL作るものだって、
どっかで聞いた事があるような…。

461 :460:2006/08/22(火) 01:48:41
問題なさそうですね
ありがとうございました

462 :デフォルトの名無しさん:2006/08/22(火) 08:38:54
>>461
問題有るだろ(w

463 :デフォルトの名無しさん:2006/08/22(火) 13:39:37
CSVファイルをメールで送受信しようとしています。
環境はvb6.0で、MAPIコントロールを使用するつもりです。

メールを受信した際に、添付されたCSVファイルを指定したフォルダに
コピーすることは可能でしょうか?



464 :デフォルトの名無しさん:2006/08/22(火) 14:09:24
>>463
可能

465 :デフォルトの名無しさん:2006/08/22(火) 18:48:46
ナイアル厨は無視するアル

466 :デフォルトの名無しさん:2006/08/22(火) 21:09:51
質問です

VBSを使用してイベントログ(AppEvent.Evt)から指定した日付以前のログだけを削除することは可能でしょうか

全て削除してしまうならClearEventlogでできるのですが日付指定で削除する方法がわかりません

eventquery.vbsを使用すれば日付指定してログを読むことが可能なので削除も日付指定でする方法があるのではないかと考えているのですが…

467 :デフォルトの名無しさん:2006/08/22(火) 21:39:59
>>466
はい

可能です。

解析すればいいだけです。

方法はありますが、自分で実装しなくてはなりません。

頑張ってください。

468 :460:2006/08/22(火) 22:28:30
>>461
不覚にもワラタw
誰だよお前ww

>>462
ですよね。

469 :デフォルトの名無しさん:2006/08/23(水) 10:39:36
ここでいいのか解らないけど、
linux用VBの無料版てどこで落とせますか?

470 :デフォルトの名無しさん:2006/08/23(水) 12:15:17
>>469
そんな物はない。

471 :デフォルトの名無しさん:2006/08/23(水) 12:47:01
>>470
ttp://www.gnome.org/projects/gb/

472 :デフォルトの名無しさん:2006/08/23(水) 13:01:46
monoのmbasとか

473 :デフォルトの名無しさん:2006/08/24(木) 14:35:39
VBAじゃなくてVBからエクセルを開いてソルバーアドインを使って計算できる?
ex.AddIns.Add ("C:\Program Files\Microsoft Office\Office10\Library\Solver\SOLVER.XLA")
っていう一行を入れただけではうまくいかないのだけれど・・・

コンパイルエラー
SubまたはFunctionが定義されていません。

というエラーメッセージが出る

474 :デフォルトの名無しさん:2006/08/24(木) 18:37:21
MAPIを使用してメールを受信する場合、受信できるメールは、
受信トレイ直下のメールしか参照できないのですか?

例えばOutLook Expressでメッセージルールが設定されていて、
指定したフォルダへ移動されたメールは、参照できないのですか?

475 :デフォルトの名無しさん:2006/08/24(木) 19:27:41
ListBox1 (Style-標準)
ListBox2 (Style-チェックボックス)

この二つを並べたときに、高さがうまく揃わないときがあるんですが、
綺麗に揃える方法ご存知ですか?


476 :475:2006/08/24(木) 21:26:30
あっ、分かりました

477 :デフォルトの名無しさん:2006/08/24(木) 21:27:38
>>474
そもそも、MAPIではOEのメイルは受信出来ないが。
OEはPOP3なので。

>>475
Height

478 :デフォルトの名無しさん:2006/08/24(木) 22:43:07
>>477
Heightを揃えても、揃わないときがあるのですが
その場合はそうしたら良いでしょうか?

479 :デフォルトの名無しさん:2006/08/24(木) 22:51:01
>>478
IntegralHoge

480 :デフォルトの名無しさん:2006/08/25(金) 00:26:06
>>479
申し訳ないです
色々調べてみたんですが、それはAPIか何かでしょうか?

481 :デフォルトの名無しさん:2006/08/25(金) 00:37:02
IntegralHaightプロパティだろ・・・

482 :デフォルトの名無しさん:2006/08/25(金) 00:46:28
IntegralHaightプロパティだろ・・・に該当するページが見つかりませんでした。

検索のヒント
キーワードに誤字・脱字がないか確かめてください。
違うキーワードを使ってみてください。
より一般的な言葉を使ってみてください。
キーワードの数を少なくしてみてください。

483 :デフォルトの名無しさん:2006/08/25(金) 02:47:02
VB6で、Webページのような画面デザインに挑戦した方はおられますか?
GrapeCityのActiveX製品に、おもしろそうなコントロールがありますが、
そのほか、いろいろテクニックがあれば、教えてください。
よろしくお願いします。


484 :デフォルトの名無しさん:2006/08/25(金) 04:50:16
断る。

485 :デフォルトの名無しさん:2006/08/25(金) 09:16:42
やなこった。

486 :デフォルトの名無しさん:2006/08/25(金) 11:45:42
>>483
「Webページのような画面デザイン」が何を意味するのかサッパリ分からん。

487 :デフォルトの名無しさん:2006/08/25(金) 16:29:30
VB6.0で画像の拡大縮小ってどうやるのか教えてください
プログラムが組めなくて困っています

488 :デフォルトの名無しさん:2006/08/25(金) 17:03:04
>>487
イメージコントロールに読み込めばいいのでは。

489 :デフォルトの名無しさん:2006/08/28(月) 01:08:30
ちょっと困ってるので教えてください

VBのprint関数で

たとえば
bbb = 1.2345678215

print #1 "aaa"; bbb

としてファイルに書き出すと
aaaとbbbの間とbbbの後に空白が入ってしまいます
どうすればこれを回避できますか?


490 :デフォルトの名無しさん:2006/08/28(月) 01:18:18
>>489
print #1 "aaa" & bbb

print #1 "aaa"; cstr(bbb)
など色々。

491 :489:2006/08/28(月) 01:33:30
>>490
出来ました
助かりました。ありがとうございます

492 :デフォルトの名無しさん:2006/08/29(火) 00:09:36
現在時刻をマイクロ秒まで取得する方法を教えてください。
→YYYYMMDD.HHNNSS.uuuuuu

QueryPerformanceFrequencyや
QueryPerformanceCounterあたりを使えば
マイクロ秒単位での計測は可能のようですが、
現在時刻となるとわかりません…
SYSTEMTIME構造体にはミリ秒までしかないので
FILETIME構造体の値から自力で計算するしかないのでしょうか?


493 :デフォルトの名無しさん:2006/08/29(火) 00:51:02
PCのタイマーがミリまでなのに。

494 :デフォルトの名無しさん:2006/08/29(火) 09:20:35
そもそものOSの仕組みも・・・。
そこまで正確な時間が欲しければ、ハードでやらんと駄目でしょ。

絶対時間じゃなく相対時間を測るにしても、間に噛んでるOSとか負荷で間隔が変わったら相対にならないし。


495 :デフォルトの名無しさん:2006/08/29(火) 09:54:38
VB6.0です。

「ョ」「ッ」「ャ」などを、それぞれ「ヨ」「ツ」「ヤ」のように、大文字にする関数はありますか?

496 :デフォルトの名無しさん:2006/08/29(火) 10:02:18
ヵッォ ォャッョ

497 :デフォルトの名無しさん:2006/08/29(火) 17:18:18
>>495
今VB動かない環境なので確かめられないけど、UCase$ は駄目だっけ?

498 :495:2006/08/29(火) 18:47:19
>>497
Ucase$じゃ、ダメみたいなんです。
アルファベットだけのようですねぇ;

499 :デフォルトの名無しさん:2006/08/29(火) 21:26:49
>>498
s="ョッャ"
s=replace(s,"ョ","ヨ")
s=replace(s,"ッ","ツ")
s=replace(s,"ャ","ヤ")

500 :デフォルトの名無しさん:2006/08/29(火) 21:59:14
何度も使うとなると、恐ろしく無駄なコードだな

501 :デフォルトの名無しさん:2006/08/29(火) 22:14:49
>>500
すべてを標準で済まそうとするとこうなるはず

よって>>495は頭を使って考えるべき
逆に全てを自足で済まそうとされても困るがな

502 :デフォルトの名無しさん:2006/08/29(火) 22:46:15
>>501
アホだろお前さんw
アホに似合わない尊大な口調がまた笑いを誘う。

>>495
パフォーマンスを気にしないなら>>499式にやるのがシンプルでいいと思う。
気にするならまずStringをIntegerの配列に変換しておいてから置換を行って、
再びIntegerの配列をStringに戻すコードを書けばいいと思うよ。

503 :デフォルトの名無しさん:2006/08/29(火) 22:52:53
ほんの数文字しかないんだから、
自分で関数にすればいいじゃん。

504 :デフォルトの名無しさん:2006/08/29(火) 23:26:25
>>502
ちょっとまて

> StringをIntegerの配列に変換して
(゚д゚) この発現は初耳だ

505 :デフォルトの名無しさん:2006/08/29(火) 23:40:38
>>504
なにも難しくないでしょ。
VBはバイト配列に文字列ぶち込めるのは知ってるよね?
だったら後は言うまでもないでしょ。

もっとも、わざわざIntegerの配列にしなくても、多少可読性は落ちてもバイト配列のまま
処理するのも一つの方法かも知れないけど。

506 :デフォルトの名無しさん:2006/08/29(火) 23:43:41
>>505
(´д`;;
もう何も言ってあげない

507 :492:2006/08/30(水) 00:04:19
>>493-494
有難うございます。
厳密な時刻が知りたいわけではなくて
システムで作成するファイルの名前に含めるだけなので、
正確性はさほど重視してないです。
とりあえず擬似ファイルの作成日時から
自力で計算する方向でがんばってみます。

508 :デフォルトの名無しさん:2006/08/30(水) 00:05:58
>>507
生成時に必ず別の値になるような文字列を作りたいのなら、
1ファイルごとにカウントアップするようにすればいいのでは?
(その値の管理にはMediatorパターンを使うといいかも)

509 :492:2006/08/30(水) 00:16:42
>>508
有難うございます、
マイクロ秒までをファイル名に含める仕様上の目的はたぶん
ご指摘のようにファイル名の重複を防ぐという意味合いだと思います。
なのでファイルごとに一ずつ(もしくはランダムに)インクリメントしていく動きでも
いいかなとは思ったのですが、
取得できるのであれば正確ではないにしろそのほうが望ましいので
模索している次第です。

510 :デフォルトの名無しさん:2006/08/30(水) 00:23:02
>>509
望ましくありません
ふざけてるの?

511 :デフォルトの名無しさん:2006/08/30(水) 00:24:47
>>510
いや望ましいだろ
仕様まで決めているのに、「少し難しいので別の方法で、似たような意味を実現しました」なんてことになったら問題大だ?

512 :デフォルトの名無しさん:2006/08/30(水) 00:26:49
>>509
「起動時からのミリ秒」で十分ユニークじゃん。

513 :デフォルトの名無しさん:2006/08/30(水) 00:30:19
>>511
仕様がおかしければ仕様作ったボケを殴るのも下っ端の役目だぞ

514 :デフォルトの名無しさん:2006/08/30(水) 00:31:10
>>512
mjd?1ms以下の周期だと、ファイルを新しく作れないのか・・・

515 :デフォルトの名無しさん:2006/08/30(水) 00:33:23
>>513
そのボケに一言も言わずに仕様を逸脱するのは望ましく無いだろ?ってことじゃね?

516 :デフォルトの名無しさん:2006/08/30(水) 00:35:16
妄想?

517 :デフォルトの名無しさん:2006/08/30(水) 08:38:10
Private Declare Function timeGetTime Lib "winmm.dll" () As Long
Private Function timeGetNanoTime() As Long
   Static bNanoTime As Long
   Dim NanoTime As Long
   NanoTime = timeGetTime * 100
   If NanoTime <= bNanoTime Then
      NanoTime = bNanoTime + 1
   End If
   timeGetNanoTime = NanoTime
   bNanoTime = NanoTime
End Function
ダブったら1〜100までの連番を付けることでユニークな数字を
吐き出すことは出来るが、さて.........

518 :デフォルトの名無しさん:2006/08/30(水) 09:18:54
時間が後退して重複しそうだな

519 :デフォルトの名無しさん:2006/08/30(水) 10:15:32
GUIDでも使えばいいんじゃないの?

520 :デフォルトの名無しさん:2006/08/30(水) 10:50:46
別プロセスで動作しているアプリケーションに
表示されている文字列を取得するには、
どのAPIを組み合わせればいいんでしょうか?

メモリ監視で文字列ぶっこ抜こうとしたのですが
何故か表示されている文字列が特定のアドレスに入る場合と入らない場合
(入らない場合はメモリ検索したがどこにも見つからない)がありまして・・・

521 :デフォルトの名無しさん:2006/08/30(水) 11:00:17
もっと具体的にやりたい事を書くほうがいいのかな?

ぶっちゃけると、spy++で特定のアプリケーション(ダイアログ)内に表示されている
特定の表示文字列の情報を取りたいということです。

プロセスID取れていれば、そこから引っ張れるのかな?

522 :デフォルトの名無しさん:2006/08/30(水) 11:27:28
>>521
アプリケーションなのかダイアログなのかプロセスなのかくらいはそちらで判断してください。

ところで、ラベルの様な画像が貼られていたりした場合はどうするんでしょうね?
対象となるのを限定しないと答えようがありませんが

523 :デフォルトの名無しさん:2006/08/30(水) 11:28:20
すみません、自己解決しました orz
FindWindowA
GetWindowTextA
GetClassNameA
FindWindowExA
だけであっさりと・・・メモリ監視のほうがむずかしーじゃんyp



524 :デフォルトの名無しさん:2006/08/30(水) 11:39:54
>>521
その hWnd を取得して GetWindowText とか。

525 :デフォルトの名無しさん:2006/08/30(水) 18:57:05
おまいらスレ違いですよ。

Win32API質問箱 Build45
http://pc8.2ch.net/test/read.cgi/tech/1156032806/

526 :デフォルトの名無しさん:2006/08/31(木) 13:17:32
VBS、WinXP
ランダムの数値を当てるようなゲームを作っているのですが、
うまくいきません。
入力ボックスに何を入れてもBのほうが大きいと判定されます。
キャンセルの場合、Aのほうが大きいと判定されます。
どこが悪いのでしょうか。ソースを書いておきます。
よろしくお願いします。

randomize
dim a,b
a=int(rnd*1000)
b=inputbox("A=" & a & " B=?")
If a=b Then
MsgBox("AとBは同じ。\n\nA=" & a & " B=" & b )
ElseIf a < b Then
MsgBox("Bのほうが大きい。 A=" & a & " B=" & b)
ElseIf a > b Then
MsgBox("Aのほうが大きい。 A=" & a & " B=" & b)
Else
MsgBox("それ以外")
End If

527 :デフォルトの名無しさん:2006/08/31(木) 13:24:12
>>526
b が文字列のまま。 整数変換は b = CInt(b) だっけ

528 :デフォルトの名無しさん:2006/08/31(木) 13:26:05
>>526
b = Int(InputBox("A=" & a & " B=?"))

529 :デフォルトの名無しさん:2006/08/31(木) 13:29:17
>>527
素早い回答ありがとうございます。
それでうまくいきそうです。

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

530 :デフォルトの名無しさん:2006/08/31(木) 13:53:07
>>526
解決したからもう見てないかもしれないけど、
変数の型は明示的に・・つまりちゃんとつけるほうがいいよ

Dim a as Integer とかね

あと関数コールで戻り値見ない場合、Call つけておくほうがすっきりする。

531 :デフォルトの名無しさん:2006/08/31(木) 14:00:03
VBAは型付けできない。
CALL については意見が分かれるところだねぇ。おれは付けない派だ。

532 :デフォルトの名無しさん:2006/08/31(木) 14:30:40
代入式の前に律儀にLet使ってるプログラムを一度だけ見たことがある。
こういうの
Let a=int(rnd*1000)


533 :デフォルトの名無しさん:2006/08/31(木) 14:40:21
それがどうした

534 :デフォルトの名無しさん:2006/08/31(木) 14:41:00
>>532
書いた奴はJIS原理主義者かも知れず。

535 :デフォルトの名無しさん:2006/08/31(木) 14:53:09
>>531
VBAじゃなくてVBS

536 :デフォルトの名無しさん:2006/08/31(木) 15:06:47
命令は必ずステートメントからはじまるという原則があれば継続行はいらない。
予約語のステートメントで命令の区切りがわかる。COBOLやTransact-SQLなどがこのタイプ。
継続行をつかっているのはFORTRANやMS BASIC系統。
CALLやLETは継続行無しの書式を目指していたんだろうなと思ったわけさ。

537 :530:2006/08/31(木) 15:26:18
>>531
すまんっす、VBsのSが見えてまえんでした。
ごめんなあい

538 :デフォルトの名無しさん:2006/08/31(木) 21:14:58
>>536
> 命令は必ずステートメントからはじまる

言っている意味がちーともわからん。

539 :デフォルトの名無しさん:2006/09/01(金) 09:20:12
_ なしで改行入れてもおkってこと?

540 :デフォルトの名無しさん:2006/09/01(金) 09:25:16
>>538
命令は予約語から始まるの方が妥当だね。具体的な例を挙げると
Private Function Hoge() As Integer
  Debug.Print "func Hoge" ' 関数の作用
    Hoge = 999         ' 戻値
End Function
という関数があったとして、
(A) Debug.Print _
     Hoge

(B) Debug.Print Hoge
は同じ意味だが
(C) Debug.Print
     Hoge
は別の意味になる。
継続行を廃止した場合(C)が1命令なのか2命令なのか区別が付かなくなる。
ここをCall Hogeと書くことを強制することで2命令ということがわかるようになる。

541 :デフォルトの名無しさん:2006/09/01(金) 09:27:18
続き、同様に
Debug.Print A = 12 + 5   ' => TrueかFalseがかえる。
を基本パターンにして次の記述があった場合も1命令か2命令か区別が付かない。
Debug.Print
A = 12 + 5
Letを使うことで2命令だとわかる。
Debug.Print
Let A = 12 + 5

542 :デフォルトの名無しさん:2006/09/06(水) 16:16:10
VB6.0を使用しています。
テキスト(CSV)ファイルをロックした状態で読み書き
またはロックの状態でリネームや移動させたいのですが
どのような方法があるでしょうか。

ファイルシステムオブジェクトだとロックできないようですので
わかりかねています。

よろしくお願いします。

543 :デフォルトの名無しさん:2006/09/06(水) 16:25:55
人生はロックだ

544 :デフォルトの名無しさん:2006/09/06(水) 16:34:16
>>542
VB6にそのような機能は無い。
だからAPI使ってね。
ちなみにAPIに関しては向こうで聞いて。

545 :デフォルトの名無しさん:2006/09/06(水) 18:30:16
>>544
おいおいw
半端な知識しかないVb厨のくせに適当なこと言うなよ

546 :デフォルトの名無しさん:2006/09/06(水) 18:35:21
545=542 ハァ 屁も出ねぇ

547 :デフォルトの名無しさん:2006/09/06(水) 18:40:38
>>545
そう言うからには、VBの組込機能で542の要望を実現する方法を知ってるんだよね?
だったはそれをまずは披露しないと、「半端な知識」という指摘に説得力が全然無いよ。
または546の言うとおりだったりして。

548 :デフォルトの名無しさん:2006/09/06(水) 18:42:22
釣れたw

549 :デフォルトの名無しさん:2006/09/06(水) 18:47:14
ファイルシステムオブジェクトの
ファイル開く関数の引数でロックできる。

550 :デフォルトの名無しさん:2006/09/06(水) 18:50:03
>>547
まあまずはこれでもよく読んでくれ。
重ね重ね恥ずかしい奴
http://www.microsoft.com/japan/developer/library/vbenlr98/vastmOpen.htm

551 :デフォルトの名無しさん:2006/09/06(水) 18:57:24
>>550
質問を理解してないの?
openステートメントの使用を理解してないの?
どっちかな?

552 :デフォルトの名無しさん:2006/09/06(水) 18:59:25
>>551
いいから具体的に反論してみ
いや、できたらでいいよ無理しなくてもw

553 :デフォルトの名無しさん:2006/09/06(水) 19:27:12
あのー、ご自分は具体的に回答してるおつもりなのですか?
だとしたらどうやら>>551は前者のようだね
まあ後者の方も理解しているという根拠は無いから両方かも知れないけど

554 :551:2006/09/06(水) 20:35:46
先にいっとくがこれはロックじゃないからな。

> lock 省略可能です。開くファイルに対する、他のプロセスからのアクセスを制御する、次のいずれかのキーワードを指定します。
> Shared、Lock Read、Lock Write、または Lock Read Write。

555 :デフォルトの名無しさん:2006/09/06(水) 20:42:51
>>554
どこまでも恥ずかしい奴。
恥の上塗りとはまさにこういうことか
っていうか、君みたいな性格の奴はプログラマ向いてないよ。

556 :542:2006/09/06(水) 22:37:39
お返事ありがとうございます。

>>549
どのようにすればいいでしょうか。
MSDNは何度か確認しているのですが「読み取り専用」
などの設定は見つかったものの
ロックに関しての引数がみつからなかったもので

>>550
そちらも試してみたのですが
開いたファイルに対して読み書きどちらか一方しかできないようでした。
読み書きを行える開き方があるのでしたら教えていただけないでしょうか。

私なりに、MSDNはじめネットや書籍にて調べてみたのですが見当たりません。
申し訳ないですがよろしくお願いいたします。

557 :デフォルトの名無しさん:2006/09/06(水) 23:21:41
>>556
そもそも、「ロック」って何がやりたいんだ?
排他的に Open すればいいだけなんじゃないの?

558 :デフォルトの名無しさん:2006/09/06(水) 23:35:06
>>556
>開いたファイルに対して読み書きどちらか一方しかできないようでした。
テキストファイルってそういうもんだよ。
そもそもランダムアクセスができない(シーケンシャルなアクセスしかできない)
んだから「読み書き」なんて意味ないでしょ。
そんなのMSDNちょっと読めばわかると思うけど。

csvとか言っているから、多分テキストエディタで修正するイメージで
ファイルの文字列の一部分だけを修正したいとか思ってるんだろうけど、
そんなことはベタにはできんのよ。

面倒でも一旦別の一時ファイルに修正した内容を書き出しておいて、
次に元のファイルを殺して、最後に一時ファイルを元のファイルの名前にリネームする、
といったような手順を行う必要がある。

559 :デフォルトの名無しさん:2006/09/06(水) 23:41:40
>>558
VBプログラマらしい意見だね。

560 :デフォルトの名無しさん:2006/09/06(水) 23:45:50
>>559
まあ多分オマエガナーだと思うよw
知ったかぶってバイナリファイルとして開く、なんてことを言い出す予感w

561 :デフォルトの名無しさん:2006/09/06(水) 23:50:07
>>560
VBプログラマらしい意見だね。

562 :デフォルトの名無しさん:2006/09/07(木) 01:28:09
>>558 って頭悪いのに偉そうだな。

普通に open / get / put / close するだけなんだが。

Option Explicit

Private Sub Test()
  Dim F As Integer
  Dim C As Byte
  Dim L As Long
  Dim I As Long

  L = FileLen("c:\Test.txt")
  F = FreeFile
  Open "c:\test.txt" For Random Access Read Write Lock Read Write _
   As #F Len = 1
  For I = 1 To L
    Get #F, I, C
    If C = &H31 Then
      C = &H41
      Put #F, I, C
    End If
  Next
  Close #F
End Sub

563 :デフォルトの名無しさん:2006/09/07(木) 08:16:13
>>562
アホだろお前さんw

564 :デフォルトの名無しさん:2006/09/07(木) 09:49:17
どっちにしろロックしたままリネームや移動は無理だろ

565 :デフォルトの名無しさん:2006/09/07(木) 10:02:07
(゚д゚)・・・

566 :デフォルトの名無しさん:2006/09/07(木) 10:49:45
freefileの戻り値はvariantじゃなかったっけ

567 :デフォルトの名無しさん:2006/09/07(木) 10:58:22
>>566
MSDN には Integer で返すと書いてあるね。

568 :デフォルトの名無しさん:2006/09/07(木) 12:03:28
構文

FreeFile[(rangenumber)]

引数 rangenumber には、ファイル番号の範囲をバリアント型 (Variant) で指定します。指定した範囲から次に使用可能なファイル番号を返します。この引数は省略可能です。



ガ━━━━━━(゚д゚;)━━━━━━ ン!!


5年以上認識間違ってますた。ずっと戻り値がvariantだと思ってコードかいてた・・・

569 :542:2006/09/07(木) 20:15:14
みなさんありがとうございます。

OPEN、FSO、Win32APIなど試してみましたが一長一短でした。
やりたいことは、既存システム(VB)が吐き出すファイルを
別ファイルに退避したいのですが、既存VBとファイルアクセス
がかち合ったときの為にロックしたいのです。

みなさまのお知恵をお借りできればと願います。
よろしくお願いします。

570 :デフォルトの名無しさん:2006/09/07(木) 20:21:50
>>569
ファイル名改変じゃなくて、コピーして削除はだめ?

571 :デフォルトの名無しさん:2006/09/07(木) 21:23:28
>>569
そんな事しなくても、退避したい時に普通に退避すればいいだけ。
誰かが使ってたら退避作業は出来ないし、自分が使ってたら
誰かは使えないから。

572 :デフォルトの名無しさん:2006/09/07(木) 22:24:12
>>569
> やりたいことは、既存システム(VB)が吐き出すファイルを...

何でそれを最初に書かないの?

読み出し側がロックしてて、既存システム (VB) はエラーにならないの?

そもそも既存システム側がファイルオープンしっぱなしならどうしようも
ないが、そこは大丈夫か?

>>571
ファイル共有についてもう少し勉強しましょうね。

573 :デフォルトの名無しさん:2006/09/07(木) 22:56:26
>>569
頭悪い奴だなあ本当。。
だから答えはとっくに出てる。
なにがどれも一長一短だよ馬鹿。お前さんの知恵が足りないだけ。

だから言ってるだろ?
ロックして読み込んでそのまま別名のファイルに同じ内容を書いた後、
オリジナルを殺して新規に作ったファイルをオリジナルの名前にリネームしろよ。

こんなの人に教えてもらわなきゃできないって、はっきり言ってセンスなさ過ぎる。
プログラマ向いてないよ君。

574 :デフォルトの名無しさん:2006/09/07(木) 22:58:24
自分が言われて嫌なことを人にすると…
・・・まぁ後々苦労するだけなので別に構いませんね

575 :デフォルトの名無しさん:2006/09/07(木) 23:00:41
ん?ああ今日は昨日言ったことと違って、オリジナルをロックして編集したいのではなく
単にロックしといて別のファイルにコピーしたいって言ってるのか。

こんなの一体何を悩む必要があるんだ?
わけが分からんよまったく。

576 :デフォルトの名無しさん:2006/09/07(木) 23:04:04
>>572
君は実に莫迦だな。(AA略

577 :デフォルトの名無しさん:2006/09/07(木) 23:29:29
>>573
>ロックして読み込んでそのまま別名のファイルに同じ内容を書いた後、
>オリジナルを殺して新規に作ったファイルをオリジナルの名前にリネームしろよ。

なにいってんのおまえ?

578 :デフォルトの名無しさん:2006/09/08(金) 05:03:20
アプリケーションにAPIのkeybd_eventでキーを送信したいんですが、
今のところアクティブなウインドウにしかキーを送れません。

非アクティブの対象のアプリケーションにアクティブにすることなく送信することって出来ないのでしょうか?

579 :デフォルトの名無しさん:2006/09/08(金) 05:04:20
>>578
SendMessage
PostMessage

580 :デフォルトの名無しさん:2006/09/08(金) 06:33:42
簡単なサンプルは無いですか?

581 :デフォルトの名無しさん:2006/09/08(金) 06:37:36
>>580
簡単すぎるのでサンプル必要有りません。
対象ウィンドウのハンドル取得したら、あとは1行で終わりだし。

サンプルだのソースだのをよこせと言う前に自分で調べようぜ。

582 :デフォルトの名無しさん:2006/09/08(金) 10:24:44
ある大きな画像中に、任意の小さな画像と等しい部分が存在するかどうかを判定
(あるならその座標を取得)するようなことはできますか。

たとえば、次のような画像があるとし、
            .ィ/~~~' 、 
           、_/ /  ̄`ヽ}  
           ,》@i(ノ_ハ从))  
           ||ヽ|| ^ ー゚ノ| || 
           || 〈iミ''介ミi〉||  
           ≦ ノ,ノハヽ、≧
           テ ` -tッァ-' テ

この中に、^ ー゚ が含まれているかどうかを判定する方法が知りたいです。

583 :デフォルトの名無しさん:2006/09/08(金) 10:29:39
>>582
つ pointメソッド

584 :デフォルトの名無しさん:2006/09/08(金) 10:34:35
>>583
ありがとうございます。
それは、例えば左上から、小画像の幅を残す幅まで右に1ドットずつ、
小画像の左上と同じRGBのドットがあるかを捜索しつつ、
存在すればそこから1ドットずつ小画像と大画像のドットを比較していく。

という方法を取るしかないのでしょうか。

585 :デフォルトの名無しさん:2006/09/08(金) 10:34:49
>>582
ゴリゴリ実装するなら
元画像も検索対象画像も単純なビット列になるから、文字列検索のやりかたでも応用したら?
高度なものは画像工学でも勉強しれ

586 :デフォルトの名無しさん:2006/09/08(金) 10:58:52
>>584
画像がBMPの様な無圧縮ならそのまま比較
JPEGの様な不可逆圧縮ならパターンマッチングでおk

587 :デフォルトの名無しさん:2006/09/08(金) 11:02:01
>>586
パターンマッチングというのがよくわかりません。

588 :デフォルトの名無しさん:2006/09/08(金) 18:23:07
>>587
つ [検索]

589 :デフォルトの名無しさん:2006/09/08(金) 19:04:33
上のほうで書いてあるキー送信って

ウインドウハンドル番号を取得が
Handle = FindWindow(vbNullString, "無題 - terapad")

で送信部分は
PostMessage(Handle,WM_KEYDOWN,仮想キーコード,0)

であってますよね?

590 :デフォルトの名無しさん:2006/09/08(金) 19:35:37
>>589
それは、そのコードで動かなかったから聞いているのか、
それとも、動かす前に心配で聞いているのかどっちだ?

どう考えても返答待っている間に動かすほうが早いんだがな・・・

591 :デフォルトの名無しさん:2006/09/08(金) 19:44:12
>>590
試してみたんんですが、動きませんね。
ウインドウハンドルを取得するところまでは動きましたけど、メッセージは送信されませんでした。



592 :デフォルトの名無しさん:2006/09/08(金) 22:39:04
>>589,591
その場合、キーを送るのはフォームではなくエディタコントロールだろ。

593 :デフォルトの名無しさん:2006/09/09(土) 03:19:46
>>582
マルチレゾリューションという画像処理アルゴリズムがある
英語論文しかないけど検索すればいっぱい見つかるよ
段階的にモザイクをかけて、一致するパターンをあいまいに探す
画像処理スレのほうが詳しい人多いからそっちで聞いてみたら?

594 :デフォルトの名無しさん:2006/09/10(日) 21:19:21
>>582
OpenCV使ってみたら?
ttp://www-cv.mech.eng.osaka-u.ac.jp/~hamada/openCV/#sample15
VB6からだとちと面倒かもしれんけど、ゴリゴリ書くよりは楽だと思う。

画像処理の基礎ぐらいは必要かもしれんけど、
それくらいの能力は必要とされる問題で、
見た目より難しいっていうか面倒な問題だってことです。


595 :デフォルトの名無しさん:2006/09/10(日) 23:13:41
VB6.0とACCESSをADOで接続して、
データベース内のaviファイルを
WindowsMediaPlayerコントロール」に再生する方法を教えて下さい。

596 :デフォルトの名無しさん:2006/09/10(日) 23:23:16
MDBなんかにそんな巨大なファイル入れたくないね。
ファイルパスかファイル番号だけ書いて、ファイル実態は別に管理じゃないの?


597 :デフォルトの名無しさん:2006/09/10(日) 23:53:34
質問に答えて下さい。
あんたの意見なんていらない。

598 :デフォルトの名無しさん:2006/09/10(日) 23:55:44
>>595
はいはいマルチマルチ
ttp://oshiete1.goo.ne.jp/kotaeru.php3?q=2395862
バイバイ

599 :デフォルトの名無しさん:2006/09/11(月) 00:02:57
ファイル名とファイルの中身についての説明も
一緒に管理していまして、それらもラベルに表示させたいのですが、
MDBというのは無理があるのでしょうか?

600 :デフォルトの名無しさん:2006/09/11(月) 00:07:11
>>599
おまえはもう帰った方がいい

601 :デフォルトの名無しさん:2006/09/11(月) 00:09:59
○ 回答者の心得
 一.答えられない質問は無駄に罵倒せずスルー。

602 :デフォルトの名無しさん:2006/09/11(月) 00:13:16
>>597
回答してるじゃん。
間違ってる奴の典型って、自分の作り方が正しいと思って、
無い知識でこねくり回した結果を、絶対の前提条件として質問すること。
柔軟性が一切無い。


603 :デフォルトの名無しさん:2006/09/11(月) 00:17:48
バイナリデータを扱うならPostgleSQLがおぬぬめ

604 :595:2006/09/11(月) 00:28:26
597は私ではありません (TдT)
助けてください。

605 :デフォルトの名無しさん:2006/09/11(月) 00:32:08
>>604
だから、MDB内にOLEオブジェクトで持つのは必須条件なのか?
そうじゃなければ、それ以外の情報はMDBで、ファイルは別に持てばいいじゃん。
MDBなんて破損が多いし性能悪いんだから。
ファイルを別にしておけば、最悪でも実ファイルは助かるわけだし。


606 :デフォルトの名無しさん:2006/09/11(月) 18:48:35
>>605
ありがとうございます。
MDBについて無知でした。 (TдT)

607 :デフォルトの名無しさん:2006/09/14(木) 00:49:39
>お待たせしました ! MSDN サブスクライバ ダウンロードサイトより 日本語版 Visual Basic 6.0 提供再開 ! 
http://www.microsoft.com/japan/msdn/subscriptions/MSJVM/VB6.aspx

よかったね。


608 :デフォルトの名無しさん:2006/09/14(木) 01:02:28
過去のWindows群とVC++も再開して欲しいな。

609 :デフォルトの名無しさん:2006/09/14(木) 02:39:53
VB6環境を造らなければならなくなったのですが、
VB6(pro以上)をまだ販売しているショップってあるんですかねぇ・・
中古でも、領収書切れなくても良いんですけど・・

610 :デフォルトの名無しさん:2006/09/14(木) 09:04:13
>>607
サブスクライバってなに?

611 :デフォルトの名無しさん:2006/09/14(木) 10:55:52
>>607
無料提供じゃないじゃん・・・
VS.NETの一番下のグレード(?)みたく、
自由にダウンロードさせろよ・・・

612 :デフォルトの名無しさん:2006/09/14(木) 11:19:31
ちゃんと年貢を納めないと駄目ですよ。

613 :デフォルトの名無しさん:2006/09/14(木) 15:35:27
eMbedded VB をタダ配りしたのは WinCE のシェアを拡げるためだが
VB 6.0 をタダ配りしてもメリットがない。

614 :デフォルトの名無しさん:2006/09/14(木) 15:49:03
TurboCのように、いつか配る時代が来るんじゃないかな

MSが潰れたら。

615 :デフォルトの名無しさん:2006/09/14(木) 16:00:14
>>613
VB6はVistaでもサポートするよ、ってアナウンスしたんだから、
無料配布は、Visitaの普及に役立つと思うけど。

616 :デフォルトの名無しさん:2006/09/14(木) 16:47:53
>>615
VB2005普及の壁になるダロ?

617 :デフォルトの名無しさん:2006/09/14(木) 20:11:53
>>616
多分VB200xやった後からじゃ戻れないとおもふ

618 :デフォルトの名無しさん:2006/09/14(木) 21:54:25
>>616
全くならない。
担当する分野が全然違うから。

619 :デフォルトの名無しさん:2006/09/14(木) 22:11:24
VB6で、MsFlexGlidを使っているのですが
行を選択していない状態にはできないのでしょうか?
リストボックスなら
Listindexを-1にすればできるんですが…

620 :デフォルトの名無しさん:2006/09/15(金) 02:21:52
Set RadioButtons = WebBrowser1.Document.getElementsByName("fu_contp_x")
RadioButtons(1).Checked = True

これを1行にしたいのですがやり方がわかりません。
誰かお教え願います。


621 :デフォルトの名無しさん:2006/09/15(金) 02:32:57
620
すいません自己解決しました。

622 :デフォルトの名無しさん:2006/09/15(金) 08:12:51
初心者です
VB6からSQLサーバーに接続して
データベースのテーブルを
操作する方法教えて下さい

623 :デフォルトの名無しさん:2006/09/15(金) 09:11:36
>>622
つ「google」

624 :デフォルトの名無しさん:2006/09/15(金) 10:08:18
>>618
いやー、ある面では壁になりうると思うぞ。
VB6までで大量生産されたいわゆるVB厨は、
.netのOOPになじめないっつー現象が、俺の周辺でも散見されたし。
ここでVB6を無償で配ったりしたら、VB厨がVB6に引きこもるようになる。
M$としてはVB6サポートを終了して嫌々でも新ツールを買わせる方が商売になるわけだし、
あくまで年貢の見返りとしてってのは、ある意味賢明な判断だと思われw

625 :デフォルトの名無しさん:2006/09/15(金) 10:30:44
>>619
FlexGridとListBoxは完全に別物だし

プロパティでフォーカスが外れたら非選択にする、ってなかったか?


626 :デフォルトの名無しさん:2006/09/15(金) 11:36:20
>>621
自己解決した奴がどうやって解決したかを書き込むのは何万年後かね。

627 :デフォルトの名無しさん:2006/09/15(金) 12:29:29
>>626
いつも思うんだがなんらかのレスをしたやつが、自分も知りたいと質問してる状態で
自己解決をした結果を知りたいとかならまだわかるんだが、なんでいっしょに調べもしないやつに
教えてやらないといけないのだ?
そんな上からの物言いじゃなく一質問者として教えを請う立場だろお前は

628 :デフォルトの名無しさん:2006/09/15(金) 12:52:55
>>627
100%同意。

629 :デフォルトの名無しさん:2006/09/15(金) 13:07:55
>>627
俺はここで質問した事等一度もないが。
回答は数回してるけど。
それに、根本的にお前は間違ってるんだよ。
説明しても理解出来ないだろうがね。
こういう莫迦が増えたから、何処のQ&Aの場も廃れるんだよな。

630 :627:2006/09/15(金) 13:38:39
俺は>>621とは別人で回答者ばかりしてるぞ

631 :630:2006/09/15(金) 14:12:04
「俺は>>621とは別人」とも、「回答者ばかりしてるぞ」とも、書くだけなら誰にでも出来る。
例えば俺は630とは別人だが、名前欄に630と入れて、

   俺は630です。

ってなもんだ。ついでに

   このスレでは、part1から、1スレ当たり50回答はしてるぜ。

なんて法螺さえ書ける。本当は通算で50行くかどうかも怪しいし、←さえ真実という保証なんて何処にもない。
書くだけなら嘘でもなんでもいくらでも。

632 :デフォルトの名無しさん:2006/09/15(金) 14:23:02
ここまでこのスレすべてジサクジエンでした

633 :デフォルトの名無しさん:2006/09/15(金) 15:50:25
>>629
知りたいなら素直に教えを請えよ。

634 :デフォルトの名無しさん:2006/09/15(金) 16:06:08
>>629
「俺道徳」だから、説得できる説明が出来ないだけでしょ。

635 :デフォルトの名無しさん:2006/09/15(金) 16:38:34
ゆとり教育の弊害か・・・

636 :デフォルトの名無しさん:2006/09/15(金) 17:52:25
まとコメする奴なんかほとんどいない2chが盛況なのを見れば、そんなのいらないってわかるよね。

637 :デフォルトの名無しさん:2006/09/15(金) 20:40:22
ネットワーク上にserverが二台あって
vbからそれぞれのディスクサイズってどうやれば取得できますか?
ネットワークドライブ割り当てないと駄目なんでしょうか?

638 :デフォルトの名無しさん:2006/09/15(金) 20:42:31
VB6とVB8のライセンスがあれば
VB6の機能をVB8で追加して作ったものを
配布しても構わないょね?(´д`)ょね?

639 :627:2006/09/15(金) 20:54:08
>>637
snmp

640 :デフォルトの名無しさん:2006/09/16(土) 00:40:10
>>627
なにいらいらしてるんだ?

>>620 は質問スレに質問してきたんだろ?

ボランティアの回答を期待するなら、なれる時は自分がボランティア
になってもいいんじゃないか?

実態はともかく、この手のスレは相互扶助の意識がないと成り立たな
いよ。

641 :デフォルトの名無しさん:2006/09/16(土) 00:53:10
マウスを操作するプログラム書いたのですが、
GetCursorPos APIを宣言するときに引数をByValで指定しないと
どんな座標を指定してもマウスが画面の一番右下に移動します。
VB6はデフォルトではByRefらしいですが、座標なんて値渡しだろうが
参照渡しだろうが同じ気がするのですが、なぜこのようになりますか?
ご教授お願いします。
Private Declare Function SetCursorPos Lib "user32" _
(ByVal x As Long, ByVal y As Long) As Long

642 :デフォルトの名無しさん:2006/09/16(土) 00:54:59
>>641
そういう風に定義されてるから。

643 :641:2006/09/16(土) 00:55:11
2行目間違えました。SetCursorPosです。

644 :デフォルトの名無しさん:2006/09/16(土) 00:56:53
ByRefにするとC言語形式の関数にはメモリ上のアドレスが渡るんじゃないか?

645 :641:2006/09/16(土) 01:01:27
あっそうか。参照の値が座標値として処理されるのか。
自己解決すみませんでした。

646 :641:2006/09/16(土) 01:04:24
>>644
レスありがとです。
書き込んでちょっと考えて自己解決してしまいました。
連続投稿すみません。

647 :デフォルトの名無しさん:2006/09/16(土) 23:35:05
CDOを使ってメールを送ろうと思っています。
宛先がPCのアドレス(@bb.excite.co.jp)の時は成功するのですが
携帯のアドレス(@docomo.ne.jp)の場合、

ERROR:サーバーによって1つまたは複数の受信者アドレスが拒否されました。
サーバーからの応答は次の通りです。
553 sorry.that domain isnt in my list allowed rcpthosts(#5.7.1)

のエラーが発生します。宛先がPC,携帯の時のSMTPは smtp.bb.excite.co.jp を指定しています
なぜ、携帯の時にはエラーが発生知るのでしょうか?
#なぜかデバッグのときに数回成功したこともあります・・・・

648 :デフォルトの名無しさん:2006/09/17(日) 11:14:17
>>647
理由→sorry.that domain isnt in my list allowed rcpthosts(#5.7.1)

649 :647:2006/09/17(日) 14:57:26
で、それはどういう意味なんですが?
サーバ側で処理できない(許可していない?)、ってことは渡し方が間違っているのでしょうか?
普通のメーラーでは携帯のアドレスへメールを送ることは出来ているのですが

ネタ元はこのページの
ttp://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub05_800_080.html
SendMailByCDOをそのまま使っています。

650 :デフォルトの名無しさん:2006/09/17(日) 15:03:09
まぁこれでも見てろ

ttp://support.netfirms.com/idx.php/36/672/article/What-does-a-Reason-553-sorry-that-domain-isnt-in-my-list-of-allowed-rcpthosts-571-error-mean-when-an-email-message-bounces-back-to-the-sender.html

651 :647:2006/09/17(日) 17:20:40
やっぱりワカンネorz

652 :デフォルトの名無しさん:2006/09/17(日) 17:30:59
着信拒否してないか、拒否られるような設定(送信元のドメインが逆引きできないとか)に
なってないかを詩らぁsj負ぁコロン@絵rが「Atgqa

653 :デフォルトの名無しさん:2006/09/17(日) 17:45:02
>>651
わからんならbsap使えば?

654 :デフォルトの名無しさん:2006/09/17(日) 17:52:34
馬鹿は放置すれば?

655 :かか:2006/09/18(月) 14:38:08
VB6.0でWin32のwritefileでファイルに文字列を書き込みたいのです。
Byte型の文字列は、構造体のメンバとしてByte型の変数を宣言しておき、構造体を配列で宣言して、構造体に(0)を付けて、Writefileに渡す事でファイル書き込みが正常に行われました。
しかし、String型は構造体のメンバとして宣言していたにもかかわらず、WriteFileしても文字が化けて出力されます。

Unicodeとか関係しているのでしょうか・・・・

ぜひ、皆さん教えてください。
宜しくお願いいたします。


656 :デフォルトの名無しさん:2006/09/18(月) 14:43:58
>>655
関係してる、StrConvして、Stringじゃなく、Byte配列として扱う。
つうか、使う必要がほとんどないんだから使わないのが正しい姿勢。
もし、それでもわからんなら、WriteFileをラップするDLLを自作したほうが良い。

657 :かか:2006/09/18(月) 15:42:53
はい、すみません言葉足らずで・・・・

全角文字(unicode)をstring型で持っていて、その文字列をbyte型に変換したいのです。

すみません・・・・
説明が下手で・・・
通じましたでしょうか???

WriteFileをラップするDLLを自作するのはいいのですが、VBのSTRING型の全角文字をCHAR型に変換して、WriteFileに渡すことは簡単なのですか?


658 :デフォルトの名無しさん:2006/09/18(月) 15:46:31
だからさ、StrConvをMSDNで見た?ぐぐった?


659 :かか:2006/09/18(月) 16:08:12
strconvはそもそも知っているつもりなのですが・・・・
単純にbyteの配列に、strconvの戻り値を入れることはできませんよね?

ですので、strconvを使用してbyte配列に入れるには、midbだの何だのを使用して、1文字ずつ入れていくのですか?



660 :かか:2006/09/18(月) 16:21:04
strconvはそもそも知っているつもりなのですが・・・・
単純にbyteの配列に、strconvの戻り値を入れることはできませんよね?

ですので、strconvを使用してbyte配列に入れるには、midbだの何だのを使用して、1文字ずつ入れていくのですか?



661 :デフォルトの名無しさん:2006/09/18(月) 16:28:45
できる。


662 :デフォルトの名無しさん:2006/09/18(月) 16:31:06
インプレスの本のタイトルみたい

663 :デフォルトの名無しさん:2006/09/18(月) 16:47:42
>>659
”つもり”なら誰でもつもりだよなwwwww

664 :デフォルトの名無しさん:2006/09/18(月) 16:59:53
>>660
vbNarrowでいけるんちゃう?

665 :デフォルトの名無しさん:2006/09/18(月) 17:19:12
それは違うだろ?
fromUnicodeとUnicodeがいったりきたり。

666 :かか:2006/09/18(月) 17:52:08

下記の方法でByte型に入れることは出来ましたが、何か他に効率よく書けないも
のですかねぇー。
ぐるぐる回すのがダサいです。


Dim aaa(100) As Byte
Dim str As String

str = "ぼく どらえもん"

For i = 0 To 15
aaa(i) = AscB(MidB(StrConv(str, vbFromUnicode), (i + 1), 1))
Next i


そもそもは、FlushFileBuffersが使用したくて、VBでWriteFileを使用してファイ
ル書込みしています。

というのも、VBのOpenステートメントで開いて、書込みをしている最中にエディタ
などから、該当のファイルを開いたりすると、文字が途中できれてしまいます。
それを無くすために、FlushFileBuffersが使えるのではないかと思いました。


667 :デフォルトの名無しさん:2006/09/18(月) 18:32:20
ダサくてもお前の実力がそこまでなんだから、我慢しろ。

668 :デフォルトの名無しさん:2006/09/18(月) 18:32:56
だからさ、可変バイト配列を受けるStrConvを書いて試したんかい?

書き込み中に開かれたくなかったら、ロックかければ良いだけだし、
任意のタイミングで確定させたいなら、そこで一度開きなおせばいいのに。


669 :デフォルトの名無しさん:2006/09/18(月) 18:39:18
aaa = StrConv(str, vbFromUnicode)ってできなかったっけ?

670 :デフォルトの名無しさん:2006/09/19(火) 02:12:55
>>666
flushするなら
openしてcloseしちまえば?

671 :デフォルトの名無しさん:2006/09/19(火) 19:41:55
VB6.0 windowsXPを使用しています。

CSVファイルをDaoを使って読み込み、ソートしたいのですが可能でしょうか?
たとえば、以下のtest.csvを読み込みたいです。(1行目のF1,F2はヘッダです)

F1,F2
2,bb
3,cc
1,aa

これを以下のように読み込んでF1列の昇順で並べ替えたいのですが、
Set ws = DBEngine.Workspaces(0)
Set db = ws.OpenDatabase("C:\test.csv", False, False, "TEXT;HDR=YES;")

テキストファイルをdaoで読み込んだ場合、ソートをすることはできないのでしょうか?


672 :デフォルトの名無しさん:2006/09/19(火) 21:49:46
>>671
そもそも、お前DBを根本的に勘違いしてるだろ。

673 :デフォルトの名無しさん:2006/09/19(火) 23:14:48
>>671
DBってのは、>>672が突っ込んでるように、ソート参照はしても
ソートして格納という概念は無いんだぞ。
>>671がやりたいことってエクセルで済んじゃうんじゃね?

674 :デフォルトの名無しさん:2006/09/19(火) 23:17:16
DBってのはRDBだけじゃないんだぞ
ISAMやVSAMなんかもDBだぞ

まあ、INDEX参照すればソートする必要ないんじゃないの?って事は有るがな

675 :デフォルトの名無しさん:2006/09/20(水) 10:33:15
>>671
ヒント:ORDER BY

676 :デフォルトの名無しさん:2006/09/20(水) 11:52:41
>>672-674
お前らの方がわかってない。

677 :デフォルトの名無しさん:2006/09/20(水) 12:07:23
この流れワロタ

>>672-674
おまえら頭固すぎw

678 :671です:2006/09/20(水) 12:32:59
下記のソースでやってみたら、1回目は
”エラー:3228 CollatingSequenceはOSでサポートされていません”
とエラーがでるのですが、2回目はうまくソートできます。
ただ、エラーの内容の意味がわかりません。

Private Sub Command1_Click()
Dim ws As DAO.Workspace
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim strPath As String
Dim strSQL As String

On Error GoTo ErrHandle
strPath = "C:\"
Set ws = DBEngine.Workspaces(0)
Set db = ws.OpenDatabase(strPath, False, False, "TEXT;HDR=YES;")
strSQL = "Select * FROM test.csv order by F1"
Set rs = db.OpenRecordset(strSQL, dbOpenDynaset)

Do Until rs.EOF
Debug.Print rs.Fields(0).Value & rs.Fields(1).Value
rs.MoveNext
Loop

Exit Sub
ErrHandle:
MsgBox Err.Number & Err.Description
End Sub

679 :デフォルトの名無しさん:2006/09/20(水) 12:39:49
indexが出来てないからソートに失敗したんだな
2回やって上手く行くなら2回やればよい

680 :デフォルトの名無しさん:2006/09/21(木) 12:52:39
ここって、VBS の質問も良いのでしょうか?

681 :デフォルトの名無しさん:2006/09/21(木) 13:22:08
なにそれ?

682 :デフォルトの名無しさん:2006/09/21(木) 13:25:48
>>680

>>1よめ

>○ 質問者の心得
> 三.VBScript はこのスレでOK。

683 :デフォルトの名無しさん:2006/09/21(木) 13:58:52
>>682
では、VBSで Debug.Print みたいな事をするにはどうすれば良いのでしょうか?

684 :デフォルトの名無しさん:2006/09/21(木) 14:07:47
>>683
「みたいな」ってどういうのだろ・・・
まぁ、文字列を出力するならmsgboxでいいんでないかな

685 :デフォルトの名無しさん:2006/09/21(木) 14:15:37
>>684
それだと其処で処理が止まってしまうので、
止まらない方法が良いです。

686 :1 ◆qRy0pp8F66 :2006/09/21(木) 14:48:15
>>685
じゃぁファイルにでも書き出すか?
コンソールで動いてるなら、ttp://www.atmarkit.co.jp/fwin2k/operation/wsh03/wsh03_03.html

687 :デフォルトの名無しさん:2006/09/21(木) 14:48:47
……ごめん、コテハンつけっぱなしだった(orz

688 :デフォルトの名無しさん:2006/09/21(木) 15:54:20
>>686
有難う御座います。
WScript.StdOut.WriteLine とか WScript.Echo が、
求めていた物の様です。


689 :デフォルトの名無しさん:2006/09/21(木) 20:38:35
つーか、デバッグモードで動かして、スクリプトデバッガで…

690 :647:2006/09/23(土) 21:50:53
参照設定が間違ってたからだった・・・
すまん>>リンク先の人

691 :デフォルトの名無しさん:2006/09/24(日) 01:49:19
上のほうで文字列処理でアレな人がいるから、せっかくなのでまとめとく。
APIに値渡しでString型を渡すと->自動的にANSIに変換されてポインタが渡される
String型を引数にとってStrPtrを呼ぶと->ANSIに変換された文字列へのポインタが返ってくる
String型を引数にとってVarPtrを呼ぶと->Unicodeの文字列へのポインタが返ってくる
Byte型の動的配列にString型を代入すると->配列にUnicodeで文字列が格納される
ANSIな文字列が入ったByte型配列をString型に代入したいときは->StrConv()を使う
Unicodeな文字列が入ったByte型配列をString型に代入したいときは->そのまま代入する

692 :デフォルトの名無しさん:2006/09/24(日) 01:53:32
>>691
> String型を引数にとってStrPtrを呼ぶと->ANSIに変換された文字列へのポインタが返ってくる 
いまからしらべてくる!!

693 :デフォルトの名無しさん:2006/09/24(日) 02:06:42
つ http://support.microsoft.com/?scid=kb;en;199824&spid=2971&sid=118
なんか StrPtr - Returns the address of the UNICODE string buffer
って書いて有るんだけど

とりあえずVarPtr(String)はBSTR構造体のアドレスを返して、StrPtr(String)はBSTRの示す文字列の先頭アドレスを返すのではないかと思った



694 :デフォルトの名無しさん:2006/09/24(日) 02:11:54
http://www.microsoft.com/japan/msdn/vs_previous/vbasic/docs/dll/#10
タイプライブラリを使えば文字列をUnicodeのままAPI関数にも渡せるという話がある。
試したことはないが。

695 :デフォルトの名無しさん:2006/09/24(日) 02:30:33
>>693
ああああ、訂正トン。
正直StrPtrは使う機会がないので適当に書いた
ムシャクシャしてやった 今は反省している

696 :デフォルトの名無しさん:2006/09/24(日) 02:56:18
お前、最低だな

697 :デフォルトの名無しさん:2006/09/24(日) 09:55:37
VBScriptの質問です。
VBSでWebサイトをマルチページmht形式で保存する方法を教えてください。
因みに単一ページを普通のmhtで保存する方法は解ってるので、その部分の解説は不要です。
「マルチページmht」という名前自体間違ってるかも知れませんが、EcoBoxUというソフトの
「マルチページ取り込み」という機能で作成される形式を望みます。

EcoBoxU(mht形式スクラップツール)
ttp://www.geocities.jp/eco21426/
ttp://www.geocities.jp/eco21426/FreeSoft/EcoBox2.htm

698 :デフォルトの名無しさん:2006/09/24(日) 17:27:34
>>696
たしかに漏れは最低かもしれないけど、MSがこんなに判りにくい仕様にしたせいでもある。
ま、諦めて.NETになったわけだけど。標準の文字列型がWCHARなのは扱いやすくて良いけど、
バイナリを突っ込むと化けるから、そこで何日もはまったりする。

699 :デフォルトの名無しさん:2006/09/24(日) 17:30:31
>>698
横レスでスマンが
System.Text.Encoding クラス
とかじゃだめなのか?

700 :デフォルトの名無しさん:2006/09/24(日) 18:46:56
>>699
あぁ、そんなクラス群がVB6.0にもあったら便利なのにな・・・(遠い目

701 :デフォルトの名無しさん:2006/09/24(日) 19:07:15
>>700
ADODB.Stream

702 :デフォルトの名無しさん:2006/09/25(月) 16:52:56
VBScriptでのご質問です。
テーブルで正しく表示する方法を教えてください。DBからデータを受け取り表示させております。
<%Set ObjRS = Server.CreateObject("ADODB.Recordset")
StrSQL = "select * from abc order by id Asc"
ObjRS.Open StrSQL, Conn
Do Until ObjRS.EOF%>
<table width="210" border="0" cellspacing="0" cellpadding="0">
<tr><td width="100"><font size=-2>
<%if ObjRS("category")="A" then
response.write(ObjRS("name"))
end if%></font></td><td width="100"><font size=-2>
<%if ObjRS("category")="B" then
response.write(ObjRS("name"))
end if%>
</font></td><td width="100"><font size=-2>
<%if ObjRS("category")="C" then
response.write(ObjRS("name"))
end if%></font></td></tr></table>
<%ObjRS.MoveNext
Loop
ObjRS.Close%>
見事に、テーブルがずれてしまいます。
A
A
B
B
C
C
当方ASP+VBscriptを始めて10日ほどなのでお目汚しでしたらすみません。

703 :デフォルトの名無しさん:2006/09/25(月) 16:53:42
A
A
 B
 B
  C
  C
ですスペース記載ミスです><

704 :デフォルトの名無しさん:2006/09/25(月) 17:49:57
なにが「正しく表示」なのかさっぱりわからん

希望する表示状態をベタなHTMLで手書きしてみて、ASPから出力される内容と比べてみれ

705 :デフォルトの名無しさん:2006/09/26(火) 16:50:43
<TABLE>
<TR>
<TD>A</TD>
<TD>B</TD>
<TD>C</TD>
</TR>
</TABLE>
です。

706 :デフォルトの名無しさん:2006/09/26(火) 17:32:48
<table>
<tr>
<td>A<./td><td></td><td></td>
</tr>
</table>
<table>
<tr>
<td><./td><td>B</td><td></td>
</tr>
</table>
<table>
<tr>
<td><./td><td></td><td>B</td>
</tr>
</table>

それこうなるわな

707 :デフォルトの名無しさん:2006/09/27(水) 11:33:11
DateDiff見たいな使い方で日付の差分を
実数で戻してくれる関数って無いでしょうか?

目的は任意の日からnヶ月(n週,n時間)後の日を判定することで、
下記の例だとFix()で小数点以下を切り捨てた場合に
6→7に変わった時点と7→8に変わった時点が、
nヶ月後に該当するという判定を行っています。

DateDiffの戻り値(月を間隔として指定)では、
2006/04/10と2006/11/09の差分が7
2006/04/10と2006/11/10の差分が7
2006/04/10と2006/11/11の差分が7
2006/04/10と2006/12/09の差分が8
2006/04/10と2006/12/10の差分が8
2006/04/10と2006/12/11の差分が8
と戻ってきてしまい、月を跨いだ時点で
差分が増えてしまいます。

これを
2006/04/10と2006/11/09の差分が6.967
2006/04/10と2006/11/10の差分が7.000
2006/04/10と2006/11/11の差分が7.033
2006/04/10と2006/12/09の差分が7.967
2006/04/10と2006/12/10の差分が8.000
2006/04/10と2006/12/11の差分が8.033
と戻ってくる関数があれば良いのですが・・・

ご存じの方はご教示頂きたく存じます。


708 :デフォルトの名無しさん:2006/09/27(水) 11:46:01
age忘れたorz


709 :デフォルトの名無しさん:2006/09/27(水) 12:00:08
>>707
それぐらい関数自作すればいいんじゃないのか?

>>>708
あげる必要あるのか?

710 :デフォルトの名無しさん:2006/09/27(水) 12:03:39
dllを登録する方法と
登録されたdllの一覧を出す方法を教えてください。
よろしくお願いします。

711 :707:2006/09/27(水) 12:11:22
>>709
うぃ、自作するwww


712 :デフォルトの名無しさん:2006/09/27(水) 13:02:12
>>710
regsvr32 xx.dll

713 :デフォルトの名無しさん:2006/09/27(水) 13:04:06
>>712
さんくす。

これて、既存の登録されているDLLの一覧を出すことはできますか。
ぐぐってみましたが、それらしいオプションは見当たりませんでした。

714 :デフォルトの名無しさん:2006/09/27(水) 14:37:42
それは無い。
レジストリを眺めるぐらいしか無いんじゃないかな、

715 :デフォルトの名無しさん:2006/09/27(水) 15:01:25
ありがとうございます。

何度も質問申し訳ないですが
レジストリのどのあたりに登録されるか
教えていただけないでしょうか。

716 :デフォルトの名無しさん:2006/09/27(水) 16:06:37
HKEY_CLASSES_ROOT

717 :デフォルトの名無しさん:2006/09/27(水) 16:11:39
VB6ならOLE Viewってツール付属してない?
それで一覧見られる

718 :デフォルトの名無しさん:2006/09/27(水) 16:35:45
確認できました。
ありがとうございます。

719 :デフォルトの名無しさん:2006/09/27(水) 21:06:30
どうしても分からないので教えてください
MOD関数をつかい計算したいのですがうまく答えが出ません
例えば1から5の数字のときは答えを1
   6から10の数字のときは答えを2
   11から15の数字のときの答えは3
という風に答えを出したいのですがわかりません
すみませんが教えていただけませんか

720 :名無しですがナニか?:2006/09/27(水) 21:09:06
Pwクラッカーって作ってもらえますか?

または作り方教えてくらさい

721 :デフォルトの名無しさん:2006/09/27(水) 22:01:21
>>719
プラスのドライバーでマイナスのねじを閉めるのは労力の無駄だよ

722 :デフォルトの名無しさん:2006/09/27(水) 22:06:20
>>719
for i=1 to 15:? (i-1)\5+1:next

723 :デフォルトの名無しさん:2006/09/27(水) 22:10:55
>>720
まずはその何たらクラッカーを書け
くだらなければ完全スルーの刑に処す

724 :デフォルトの名無しさん:2006/09/28(木) 03:05:47
((i + 4) \ 5)

725 :デフォルトの名無しさん:2006/09/28(木) 10:27:49
>>719
ans = int(num/5)

726 :デフォルトの名無しさん:2006/09/28(木) 15:21:00
当たり前田のクラッカーにみえた

727 :697:2006/09/28(木) 21:35:50
>>697をお願いします。

728 :デフォルトの名無しさん:2006/09/28(木) 22:21:34
>>727
あてずっぽうで言うけど、たぶん

(1) リンク先のページをmhtに変換してローカルに一時保存する

(2) 元のページをHTMLで保存した後、リンクのURLをローカルに保存したmhtの
パスに置き換える。

(3) HTML => mht

この手順でとりあえずは作れない?
こういう泥臭いのがいやならmhtの書式を調べて自分でエンコードするような
コード書くしかないんじゃないか。

729 :VB6で:2006/09/29(金) 11:19:18
簡単な計算機を作っているのですが
オブジェクトA.caption=オブジェクトB.text 
と入力して、プログラムを実行でオブジェクトBに5と入力しても
コンパイルエラーとなってしまいます(´;ω;`)
戻ると.caption=の部分がおかしいですよ、みたいな指示になるんですが
どうしてでしょうか?  分かりにくい文で・・・orz

730 :デフォルトの名無しさん:2006/09/29(金) 11:35:43
>>729
オブジェクトAはLabelなのか
オブジェクトBはTextBoxなのかわからないよ

それにそのA、BにCaption、Textがあるのか?

>>オブジェクトBに5と入力しても
実行中に手作業で入力か、プログラムで入力なのかもわからんよ

もう少し詳しく書きな

731 :VB6で:2006/09/29(金) 12:04:05
オブジェクトAはLabelです
オブジェクトBはTextBoxです

ちなみに オブジェクトA.まで入力してもCaptioonが出てきませんでした。
Count Item LBound UBoundと言った、見慣れないのが出てきます。

オブジェクトBに5と入力するのは、実行中の手作業での入力です。

このぐらいの情報でOKでしょうか?


732 :デフォルトの名無しさん:2006/09/29(金) 12:34:10
コントロール配列になっとるやん

733 :デフォルトの名無しさん:2006/09/29(金) 20:32:14
LabelのIndexプロパティになんか値が入ってるはずなので消しておくこと

734 :デフォルトの名無しさん:2006/09/29(金) 22:38:48
消せばいいとは限らないぞ。
オブジェクト一つでIndexが設定されているだけなら、消せばいいだけだが
オブジェクトが複数なら、先に重複しない名前と取ってやらないと。

質問者はラベルが一つだとは言ってないんだから、
いろんな可能性を思慮できるようにならなきゃダメだよ。
初心者なら、コントロール配列にする必要無くても、オブジェクトをコピペした故に
意図せずコントロール配列にしてしまったなんてこともあるかもしれないし。

735 :VB6で:2006/09/29(金) 22:50:47
ご回答ありがとうございますm( )m

なぜか分かりませんが、Indexプロパティに3が入力されていて
消したらバッチリ直りました。

とっても助かりましたぁ><

736 :デフォルトの名無しさん:2006/09/29(金) 22:53:14
こうして小手先の人間がふえていくんだよな・・・

737 :デフォルトの名無しさん:2006/09/29(金) 23:13:42
だがそれがいい。

738 :デフォルトの名無しさん:2006/09/30(土) 01:10:17
でも、コントロール配列が必要になる場面ってそんなにある?

739 :デフォルトの名無しさん:2006/09/30(土) 01:34:20
コントロール数に制限あるから
それ超えた時はコントロール配列で対応。。。

740 :デフォルトの名無しさん:2006/09/30(土) 01:41:29
>>738
そんなにないけどないわけじゃないから、必要

>>739
増やしすぎwwww

741 :デフォルトの名無しさん:2006/09/30(土) 10:02:55
アリの巣コロリってあるじゃん
蟻の行列にポンと置くと一瞬ビックリして列が乱れる
邪魔だなと言わんばかりに迂回する列が出来る
そのうち好奇心旺盛な一匹がアリの巣コロリに入る
そいつをマネして何匹も入る
毒とも知らずにツブツブを運び出す
一匹が一粒づつ
いつのまにか行列はアリの巣コロリが折り返し地点になる
黄色い粒と黒い蟻が作り出す模様は綺麗で見てて楽しい
一匹が一粒づつ丁寧にせっせと毒の粒を運ぶ
せっせとせっせとせっせとせっせと
蟻さんって働き者だなと思う
俺も頑張らなきゃなと思う
次の日あれほど沢山いて俺を困らせた蟻が一匹もいない
ほんとにいない
探してもいない
泣きたくなった


このレスを見た人は4日後にあなたの大切な人がいなくなるでしょう
それが嫌ならこのレスを5つの板にコピペしてください
信じるか信じないかはあなた次第です




742 :デフォルトの名無しさん:2006/10/01(日) 02:52:29
VBでイメージやピクチャーコントロール以外に、
画像を表示できるコントロールってありますか?
標準コントロールでなくても構いません。

743 :デフォルトの名無しさん:2006/10/01(日) 02:53:55
>>742
パッと思いつくのが
Image、Form、WebBrowser、Button、ShockWaveも出たかなぁ

744 :デフォルトの名無しさん:2006/10/01(日) 13:13:34
722.724.725さんありがとうございました ううまくできました

745 :デフォルトの名無しさん:2006/10/01(日) 13:18:49
すみませんが再度質問させてください。
1のときに答えが0と10と20
2のときに答えが1と11と21
3のときに答えが2と12と22
という風にFOR NEXTで処理をしたいのですがうまくいけません
初心者なんでこんな質問ですみませんがどなたか教えてください

746 :デフォルトの名無しさん:2006/10/01(日) 13:23:45
>>745
いろいろいろいろいろいろいろ言いたい事があるけど、とりあえず置いといて
こんなの?
dim i as long
for i=0 to 2
debug.? i+1"のときに答えが"i"と"10+i"と"20+i
next

747 :742:2006/10/01(日) 21:03:25
>>743
ありがとうございました。

748 :デフォルトの名無しさん:2006/10/01(日) 21:21:44
最近VBをはじめたものです。
VB6.0(sp6) WinXp

クラスやオブジェクトの使い方を調べるときは
皆さん何をつかってますか?教えてください。

私はVBの「オブジェクトブラウザ」や「MSDN」で調べて
いるのですが、説明がわかりにくい上に資料が十分でないと感じています。
あの説明だけで実装できるものなんでしょうか・・・

書籍、サイト、こんな風に調べてみたら?など
アドバイスを頂けないでしょうか。
よろしくお願いします。



749 :デフォルトの名無しさん:2006/10/01(日) 21:29:06
>>748
・オブジェクトの使い方はもう作ったところ(本家)に行って資料を集めるのが一番
・資料がなければ有志のサイトに行ってサンプルでも落とす
大抵はこの2点で解決できるはず

…まさかだとは思うが、文法が分からない、じゃないよな?
もし文法が分からなくて「クラスやオブジェクトの使い方を調べよう」としているのなら、それはMSDNだぉ

750 :748:2006/10/01(日) 21:58:08
>>749さん、ありがとうございます。

文法がわかっているとはとてもいえないレベルですが
そちらの方は書籍にあたれば大抵の場合、調べがついているので
問題ないと思っています。

ただ、オブジェクトの使い方に関しては私の調べ方が未熟なためか
「MSDN」にあたっても概要程度の情報しか情報を得ることができず
困っております。

現状はグーグル先生にオブジェクト名で検索して
実装したい処理に類似するサンプルを探すことでどうにか
こうにかしておりまが、この状況を改善したいとおもい
質問させていただきました。

>・オブジェクトの使い方はもう作ったところ(本家)に行って資料を集めるのが一番
(本家)とは「MSDN」ということでしょうか? それとも別の資料をさしているのでしょうか。
よろしくお願いします。




751 :デフォルトの名無しさん:2006/10/01(日) 22:13:37
もちろん本家とはMSDNにほかならない。
グーグルで使い方を探すこと自体は悪くないと思うよ。
んで引数の詳しい説明とかをMSDNに求めるという感じ。

752 :デフォルトの名無しさん:2006/10/01(日) 22:14:46
>>750
ググってみるのが一番だよ
出来れば作った会社(みたいな組織)と共にググった方がいいです

> >・オブジェクトの使い方はもう作ったところ(本家)に行って資料を集めるのが一番
> (本家)とは「MSDN」ということでしょうか? それとも別の資料をさしているのでしょうか。
> よろしくお願いします。
本家=作ったところ です
(たとえばWMIとかならMSで、など)

とりあえず部品とヘルプは一緒に拾ってくるのが原則なので、その部分で横着はできません

753 :748:2006/10/01(日) 22:56:40
>>750さん, 751さん ありがとうございます。

当面はMSのオブジェクトだけを使う予定ですので
「MSDN」根気よくしらべていきます。

お付き合いいただきましてありがとうございました。



754 :デフォルトの名無しさん:2006/10/02(月) 16:17:08
( ^ิิ౪^ิ)

755 :デフォルトの名無しさん:2006/10/02(月) 18:35:18
log4netってVB6から利用できない?



756 :デフォルトの名無しさん:2006/10/02(月) 19:48:48
VBでエクセルにデータを展開するプログラムを作成しています
ユーザーの環境のエクセルが2000とXPと2003と様々
コンパイル環境と実行環境で「Microsoft Excel XX.X Object Library」
あたりでエラーがでてるようなんですが汎用性を持たせる方法はあるのでしょうか?
コンパイル環境を変えないと無理なのかな?

教えてください

757 :デフォルトの名無しさん:2006/10/02(月) 19:51:22
×コンパイル環境と実行環境で「Microsoft Excel XX.X Object Library」
○コンパイル環境と実行環境の違いで「Microsoft Excel XX.X Object Library」

今のところコンパイル環境はExcel2000の端末です

758 :デフォルトの名無しさん:2006/10/02(月) 19:58:22
そんなのググればいくらでも出てこないか?

結論から言えばレイトバインディングオンリーでコーディングすれば大丈夫でしょ。
具体的にはIDEで参照設定なんてせずCreateObjectでExcel.Application生成して、
すべてのオブジェクトをObjectにぶっこむ。

インテリセンスのメソッドテンプレートが使えないけどそこはぐっと我慢

759 :デフォルトの名無しさん:2006/10/02(月) 21:20:17
参照設定した状態で開発した後で参照設定をはずしてCreateObjectなんかの書き方に変えるってのは一般常識だと思っていたがそうでもないらしい



760 :デフォルトの名無しさん:2006/10/02(月) 22:40:40
758が知らないだけ。
我慢などせず便利なものは利用し、不都合だけ回避するのが当たり前。

761 :デフォルトの名無しさん:2006/10/02(月) 23:12:29
話がずれていると思うけどね。。
言っちゃ悪いけど、その程度のことサルでも当然思いつくでしょ。
そんな得意げにいうようなことかw

俺も最初にコード書き始めるときはそうしてたよ。
ただ、メンテする時にはそうもいかないからね。

762 :デフォルトの名無しさん:2006/10/02(月) 23:20:09
>>758さん、今更フォローしても遅いですw

763 :デフォルトの名無しさん:2006/10/02(月) 23:28:17
ついでに言うとバージョン互換性の無いメンバが存在するので、レイトバインドにしただけで安心してはなりませぬ

764 :デフォルトの名無しさん:2006/10/02(月) 23:37:02
csvではき出せよwww

765 :デフォルトの名無しさん:2006/10/02(月) 23:41:57
低レベル同士の煽りあい

766 :©ε ©:2006/10/02(月) 23:55:28
 

767 :デフォルトの名無しさん:2006/10/03(火) 00:07:17
>>761
参照設定出来るPCでメンテすりゃいいじゃん。

768 :デフォルトの名無しさん:2006/10/03(火) 00:33:28
>>767
うーんとわかってないようだけど、インテリセンスにテンプレートが表示されるかどうかは
参照設定は必要条件ではあるが直接関係はないんだよ。

そういうこと書くとVB厨って言われまっせw

769 :デフォルトの名無しさん:2006/10/03(火) 00:58:15
しかし、MicrosoftってのはCOMの基本思想すら無視しているのか
普通、一番古いバージョンのExcelで開発すれば
同じGUIDを持つなら新しいExcelでも当たり前のように動くんじゃないのか?

770 :デフォルトの名無しさん:2006/10/03(火) 01:57:36
動かない理由はアプリ作る側が馬鹿だから特定のバージョンにあわせて作っちゃうだけなんだけどw
OfficeのデベロッパーエディションなんかについてるOffice開発者ガイドはまず最初に目を通しておけって思うよ

771 :デフォルトの名無しさん:2006/10/03(火) 11:36:13
>>768
だから必要だ、って事を言ってるんだろ。
阿呆か?

772 :VB6で:2006/10/03(火) 11:53:34
もちょっと穏やかに・・・・

773 :デフォルトの名無しさん:2006/10/03(火) 12:39:59
>>771
痛々しいな
まあ君が思っていることが実際に可能かどうか試してみろよw
そもそも何の話をしてるのか理解してるのかな?

774 :デフォルトの名無しさん:2006/10/03(火) 13:25:17
プログラム初心者で、簡単な質問かもしれないですがお願いします。

VB.NETの質問で申し訳ありませんが、イメージを貼り付ける時に
ImageBox1.Image = Image.FromFile("gazou.gif")
ImageBox2.Image = Image.FromFile("gazou.gif")
ImageBox3.Image = Image.FromFile("gazou.gif")
ImageBox4.Image = Image.FromFile("gazou.gif")
ImageBox5.Image = Image.FromFile("gazou.gif")
というプログラムを、IfやForを使ってもっと簡潔にまとめられないでしょうか?
いろいろと試してみましたが、エラーばかりでうまくいかなくて…よろしくお願いします。

775 :デフォルトの名無しさん:2006/10/03(火) 14:16:36
>>759の「ってのは一般常識だと思っていたがそうでもないらしい」が全面的に悪い。


776 :デフォルトの名無しさん:2006/10/03(火) 14:32:33
>>774
 >>1
 > VB.NETは別物なので専門スレで、VBA、APIの質問もそれぞれのスレで。

777 :デフォルトの名無しさん:2006/10/03(火) 14:43:53
>>776
今専用スレを見つけて書き込みました
スレ汚しすみません、丁寧にありがとうございます

778 :デフォルトの名無しさん:2006/10/03(火) 17:31:32
すみません。初歩的な質問なのですが、VB6.0でピクチャーボックスに円柱と球を描きたいのですがコードがわかりません。
すみませんが、誰か教えてください。
オブジェクト名はピクチャーボックスはPicture1です。

779 :デフォルトの名無しさん:2006/10/03(火) 17:53:33
>>778
これは3Dで描画したいと受け取れるけど・・・
3Dで書きたいのならDirectXにするか、3D用ライブラリを自作しなきゃね
2Dならcircleとline命令で出来ると思うよ

780 :デフォルトの名無しさん:2006/10/03(火) 17:57:18
>>779
わかりました。ありがとうございます。早速実行してみたいと思います。

781 :デフォルトの名無しさん:2006/10/03(火) 19:03:39
Picture1.LoadFile("円柱の絵.bmp")

782 :デフォルトの名無しさん:2006/10/03(火) 21:05:47
>>781
ソレダ

783 :デフォルトの名無しさん:2006/10/03(火) 21:07:48
しかしVB6のPictureBoxクラスはLoadFileメソッドを持たない!
まあどうでもいいが

784 :デフォルトの名無しさん:2006/10/03(火) 21:10:11
質問です。
VB6でサーバーを介して多人数チャットができるツールを作っています。
普段は普通に受信・表示できるんですが
同時に受信すると、うまく改行されません(↓のコード参照)。

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim dat As String, data() As Byte, Message As String
Winsock1.GetData data()
dat = data()
Message = strconv(dat, vbUnicode)
FORM.Text1.SelStart = Len(FORM.Text1.Text)
FORM.Text1.SelText = Format(Now, "hh:mm") & " " & Message & vbCrLf
End Sub

FORMというフォームのText1というテキストボックスに表示しています。

10個ぐらい同時に受信すると、10個全部を表示することもできないし
(3,4個しか表示されない上にちゃんと改行されない場合がある)・・・・。

どうしたらちゃんと改行されて、受信した分全てを表示することが
できるでしょうか?
教えてください。

785 :デフォルトの名無しさん:2006/10/03(火) 21:12:10
>>784
TCPか?
TCPはストリームソケットだから、「あいうえおかきくけこ」って送って「あいうえ」「お」「かきくけ」「こ」と受信されることが間々あるぞ
つまり 送信したもの≠受信できたもの が時々起こる

786 :デフォルトの名無しさん:2006/10/03(火) 21:19:38
>>785
TCPです。
でも、例えば「あいうえお」と送って仮に「あいう」しかMessageに
入らなかったとしても、
FORM.Text1.SelText = Format(Now, "hh:mm") & " " & Message & vbCrLf
の「vbCrLf」で改行されるはずですよね・・・?
同時に受信することで、このイベントプロシージャの処理中に
また同じイベントが起こっている気がするんですが・・・。


787 :デフォルトの名無しさん:2006/10/03(火) 21:21:32
>>786
そこはもう文字列のお話なので

msgbox "abc" & vbnullchar & vbcrlf & "def"

などと実行してみると嬉しく慣れるかも

788 :デフォルトの名無しさん:2006/10/03(火) 21:24:37
>>786
あと
> 同時に受信することで、このイベントプロシージャの処理中に
> また同じイベントが起こっている気がするんですが・・・。
DoEventsを挟まない限り起こらないと思います
(そして絶対にDoEventsは挟まないでください)
下層のWinsockで受信が起こってすぐさまArrivalイベントが起こる保証はないです

※Winsockでのイベントプロシージャによる通達は微妙に表現しづらいので割愛します


789 :デフォルトの名無しさん:2006/10/03(火) 21:36:49
>絶対にDoEventsは挟まないでください
そうか?

790 :デフォルトの名無しさん:2006/10/03(火) 21:38:27
>>787=788?
わかりました!
受信した際に最後の一文字が2バイト文字なのに
前半1バイト分しか受信できてない状態でこのコードが
実行されると「vbcrlF」以降が表示されなくなっちゃってるって
ことですね!
>DoEventsを挟まない限り起こらないと思います
そうなんですか。
その心配がないことが解ってちょっと安心しました^^

791 :デフォルトの名無しさん:2006/10/03(火) 21:41:41
>>789イベントプロシージャの呼び出しが再帰的に成ったら、気づかないぞ
Winsockコントロールの中身がどうなってるかわからないけど、俺がWinsockをラップしたときはそうならざるを得なかったス

>>790
ガンガレ

792 :デフォルトの名無しさん:2006/10/03(火) 22:34:35
コレなに?
つい最近もどこかで見たことあるんだけど
ttp://128.177.3.80:4078

793 :769:2006/10/03(火) 23:38:19
>>770
そこまでレベル低い話なのか・・・・
まさか、Office2000対応ってうたって、Office2000で使えないメソッドとかプロパティを
呼び出してるってことは・・・・ありえないと思ったよ

794 :デフォルトの名無しさん:2006/10/04(水) 00:10:01
Excelでデータファイルを保存するタイミングでデータを暗号化
したいのですが保存のイベントハンドラのようなものはあるのでしょうか?

ファイルメニュー⇒「上書き保存」からの保存時にはCOMアドインの接続時に
イベントを紐付けることで対応できたのですが、この方法では
ctr + sなどのショートカットキーでの保存時に素通りしてしまいました。

よろしくお願いします。

環境
VB6.0(sp6)
Excel(2000, 2003)
winXp sp2



795 :デフォルトの名無しさん:2006/10/04(水) 09:49:47
マウスを画面の端に持っていくと表示される
ランチャーを作りたいのですが、
画面の端でFormを表示させるには、どのようにすればいいのでしょうか?

環境
VB6.0(SP6)
WindowsXp Pro SP2


796 :デフォルトの名無しさん:2006/10/04(水) 09:59:54
>>795
サブクラス化

で理解できないなら君にはまだ早い。
もう少し基礎を積んでから出直しな。
まあ、今からVB6の基礎を勉強するのも無駄が多いとは思うが
VB6でやりたきゃ、VB6を勉強するしかないわな。

797 :795:2006/10/04(水) 10:20:06
サブクラスでOSのマウスイベントを取得する方法はわかりますが、
画面の端で表示させる方法がわかりません
><

798 :デフォルトの名無しさん:2006/10/04(水) 10:32:24
VB6(SP6)で作成されたアプリをVB.NETにアップグレードする作業中なんですが、
VB6のフォームに設定されたToolTipTextが全て移行されたのか確かめるために
VB6のプロジェクト内のToolTipTextの一覧を出力したいのです。

1つのフォームに対してなら
For Each x In Form_1.Controls
Debug.Print x.name & "," & x.ToolTipText
Next

みたいな感じで出せると思うのですが
プロジェクト内の全フォームに対して行う方法がわかりません。

最初は
For i = 0 To Forms.Count - 1
For Each x In Forms(i).Controls

という感じで試してみましたが、Formsコレクションはロードされているフォームだけが対象のようでうまく行きませんでした。

良い方法はないでしょうか。

799 :デフォルトの名無しさん:2006/10/04(水) 10:37:06
プロジェクト内にあるフォームを実行時に列挙する方法は分かりません(無いと思う)が、
プロパティウィンドウを使って静的に設定されているなら、.Frmファイルにその値が書かれているはずです
同様にプロジェクトファイル( .prj )を開き、Formの項目を調べてみてください、そうすれば使っているFormが分かるはずです

800 :デフォルトの名無しさん:2006/10/04(水) 10:38:01
>>797
冗談だよね?

801 :デフォルトの名無しさん:2006/10/04(水) 11:52:52
VBでサブクラス化とか言ってる奴キモイ

802 :798:2006/10/04(水) 11:59:17
>>799
列挙する方法はありませんか…

しかし、ファイルを読み込むという発送はありませんでした。
その方向で試してみようと思います。
ありがとうございました。

803 :たけし:2006/10/04(水) 12:44:51
Excel VBAのフォームなんですが…
ComboBoxを選択しないでOKした場合、「選択していないです。」みたいなエラーを表示させる方法を教えて下さい。

804 :デフォルトの名無しさん:2006/10/04(水) 12:57:30
>>803
SelectIndexみたいなのなかったっけか?
何も選択してないなら-1がはいるとかみたいな

805 :デフォルトの名無しさん:2006/10/05(木) 03:23:58
>>796
横スレで申し訳ないが
サブクラス化するだけで、ウインドウ外のマウスイベント取得ってどうやるのよ?
まさかマウスキャプチャするわけにもいかんだろうし
この程度のことでグローバルフックって事も無いだろうし
タイマーまわしてgetcursorposでマウスの座標を取得〜って方法が楽で良いと思う
>>797
画面の端に表示って普通に考えると
Formプロパティのtop,leftを変えれば良いだけじゃないか?
アニメーションさせたいってことか?それだってタイマーまわして、top,left変えながら
だんだんポップしてるように見せれば良いだけだと思うけど

806 :デフォルトの名無しさん:2006/10/05(木) 09:35:16
>>805
で、どうやって自アプリ領域以外のマウス位置を取るのよ。


807 :デフォルトの名無しさん:2006/10/05(木) 11:08:28
getcursorpos

808 :デフォルトの名無しさん:2006/10/05(木) 13:20:43
>>805
> この程度のことでグローバルフックって事も無いだろうし
そういう事をする為のフックだろ。
マウスは共通リソースなんだし。

809 :デフォルトの名無しさん:2006/10/06(金) 00:07:06
>>808
いや、だからマウスイベント取得だったらグローバルフックが必要だろうけど
グローバルフックはVBだとレベル高すぎだろ
つーか、ActiveXDLLでグローバルフックDLLって作れるのか?



810 :デフォルトの名無しさん:2006/10/06(金) 00:11:35
>>809
マウスのグローバルフックは関数をインジェクションしないからOKなんじゃなかったっけ?

Timerでやれないことはないけれど、少々なぁ…
フックじゃないから、「カクカク」すると思われる

811 :デフォルトの名無しさん:2006/10/06(金) 00:22:10
>>810
>マウスのグローバルフックは関数をインジェクションしない〜
そうなのか?グローバルフックは全部DLL化が当たり前だと思っていたので知らなかった

Timerで100msecごとにマウス位置取得、ウインドウをポップさせる領域に居たら、ウインドウ
ポップアップ、マウスがウインドウ外に移動したらウインドウを消すってかんじで
795のやりたい事は事足りるような気がするんだけどなぁ

812 :デフォルトの名無しさん:2006/10/06(金) 00:46:35
>>811
多分他のアプリケーションが非道な高コスト作業をしてると…
まぁ、べつに俺たちが悩むことでも無いし
Timerでも出来ないことないからいいかな、とも思ってる

813 :デフォルトの名無しさん:2006/10/06(金) 01:12:32
他のアプリがどうこうで、タイマーとフックの違いが目に見えてわかるのか?

814 :デフォルトの名無しさん:2006/10/06(金) 09:46:15
Timerでは不要にPCのリソースを使い続けることになる。
一定周期以上は保証されるが、一定周期が保証されるわけではない。


815 :デフォルトの名無しさん:2006/10/06(金) 09:54:34
で、タイマーとフックの違いが目に見えてわかるのか?

816 :デフォルトの名無しさん:2006/10/06(金) 10:23:39
初めて質問させて頂きます。

環境:WindowsXP(SP2) VB6(SP3) InputManPro6.5J を使用して開発しています。

2つのプロジェクト(Hontai.vbpとControl.vbp)を1つのグループ(Hanbai)にまとめています。

Control.vbpではInputManという市販のコントロールを参照設定して
テキストボックス(InputMan)をいくつかならべたActiveXコントロール(Control.ocx)を作っています。

Hontai.vbpではフォームにテキストボックス(InputMan)とDataRepeaterを貼り付け
そのDataRepeaterでControl.vbpで作ったコントロールを使用しており、データベースのテーブルの内容を表示しています。

ここからが問題なのですが、Hontai.vbpでディストリビューション ウィザードを実行し
「Control.ocxの依存情報がありません」と言うメッセージを無視してパッケージを作成し
InputManがインストールされていないPCでパッケージをインストール後、Hontai.exeを実行しますと
Inputmanのライセンスキーの入力を求められます。
求められるのはControl.ocxを使用しているフォームのみです。
そのままInputmanのコントロールを使用しているフォームは問題なく動作しています。

Hontai.vbpで使用しているテキストボックス(InputMan)はパッケージにText60.ocx(InputManで使用するActiveXコントロール)があるので問題ないのですが
Control.ocxでもテキストボックス(InputMan)を使用しているので、Control.ocxの依存情報ファイル(Control.DEP)が必要と思い
先にControl.vbpでディストリビューション ウィザードを実行し、Control.DEPを作成後、Hontai.vbpのパッケージ作成を行ってみると
「Control.ocxの依存情報がありません」というメッセージがでなくなりました。

ですが、やはりそれでもInputmanが入っていないPCにインストールすると、Control.ocxを使っているフォームを開くとライセンスキーの入力を求められます。
どなたか同じ経験をお持ちの方がいらっしゃいましたら、ご助言を頂きたいです。

参考にInputMan7.0の登録についてのアドレスを貼らしていただきます。
ttp://ftp.grapecity.com/Trial/InputMan70ReleaseNote.htm

817 :デフォルトの名無しさん:2006/10/06(金) 10:36:03
>>816
それであれば、文化オリエント(現在はぶどう社?)に直接聞けばいいじゃないかよw

818 :デフォルトの名無しさん:2006/10/06(金) 10:53:01
>>816
> 「Control.ocxの依存情報がありません」と言うメッセージを無視してパッケージを作成し
何で無視するんだよ。

819 :デフォルトの名無しさん:2006/10/06(金) 11:47:06
>>815
まぁまぁ、もういいじゃないかw
ぶっちゃ毛、100msecでGetCursorPosをするcpuリソースと、グローバルフックを1つ挿入する
リソースの差は多分、後者のほうが重いけどそんなのどうでもいいよ

820 :デフォルトの名無しさん:2006/10/06(金) 11:51:06
157 :夢見る名無しさん :2006/07/10(月) 22:53:34 O
時々目にする「竹石圭佑」という奴をまとめてみました…

@両親が在日(中国人)。名古屋在中?
A顔が出目金or宇宙人そっくり。
B新成人だが、知能が小学生程度(理由は下記の事項より)。
C「自分より力の弱い」女子生徒や女子教師をイジメの格好の的としていた。
D意中の女子には例外なく「ちょっかい」を出して気を引こうとしていた。
E万引きで数回捕まり、長期停学を検討していた(らしい)校長や他職員に大声で泣きながら謝罪。廊下まで泣き声が響いたらしい。
F自分は一般人とは違うと思っており、異常なほどの目立ちたがり屋で注目される為なら何でもする。
Gあまりにも女子に相手にされないことから気が触れ(?)、後輩や仲の良い男子生徒にも手を出す。噂だが注意が必要。
…ちなみにこれらは竹石圭佑の一部にすぎないらしく、
詳しく知りたいならば本人に直接聞くのが一番手っ取り早いそうです。


821 :デフォルトの名無しさん:2006/10/06(金) 11:55:11
>>820
MSDNで調べるといいぞ

822 :デフォルトの名無しさん:2006/10/06(金) 12:42:29
まぁまぁ、819が勘違いしているけど、もういいじゃないかw

823 :デフォルトの名無しさん:2006/10/06(金) 12:46:24
>>819
パソコンが放置された状態の場合、って考えないの?


824 :デフォルトの名無しさん:2006/10/06(金) 15:09:34
フックなんて簡単だろ。
そういうOCXが幾らでも売ってるんだから。

825 :816:2006/10/06(金) 17:41:00
>>817
サポート期間は既に終了していました。

>>818
ディストリビューション ウィザードを使うのは初めてだったので「依存情報」という意味が分からず、そのまま進めてしまいました。
現在は「依存情報」については問題ないです。

追記
Hontai.vbpで使用しているDataRepeaterがControl.vbpにあるユーザーコントロール(Inputmanを使用)を使用しているために、コンパイル後DataRepeaterがあるフォームを開くとInputmanのライセンスIDの入力を求められます。
Hontai.vbpでDataRepeaterを介せずにControl.vbpにあるユーザーコントロール(Inputmanを使用)を使用してテストしたところ、問題ありませんでした。

826 :デフォルトの名無しさん:2006/10/06(金) 17:44:31
PSC見れば、インラインアセンブラでIDEが落ちないサブクラス/フックを実現してる
サンプルがあるぜ?海の向こうは凄いぞ。ま、それでもうっかり不完全なコードの
まま実行するととんでもないことになるけど。

827 :デフォルトの名無しさん:2006/10/07(土) 19:05:39
WebBrowserに表示されているデータを取得したいと思っています。
テキストボックスやラジオボタンの類ではなく、
javaアプレットで表示されているデータ(数字)なのですが、どのようにすれば取得できるでしょうか?
ヒントだけでも結構です。
よろしくお願いいたします。

828 :デフォルトの名無しさん:2006/10/07(土) 19:23:35
ヒント:パケットキャプチャ

829 :デフォルトの名無しさん:2006/10/07(土) 22:12:44
第二ヒント:OCR

830 :デフォルトの名無しさん:2006/10/07(土) 22:40:11
NetAdvantage使っていてグレープシティにメールで質問すると

上記の問題点については、開発元へ連絡をとり、今後の対応を検討
させていただきます。ただ、本件が、不具合として確実に修正され
るものであるのか、仕様上の制限であるのか、現時点で申し上げる
ことができません。また、修正により製品の安定性が損なわれると
判断した場合、またはその他の理由で修正が困難だと判明した場合
には、修正を見送ることがございます。
将来もし修正版がリリースされました際には、弊社Webサイトにて
情報を公開させていただきます。
何卒、ご寛容をもちましてご了承くださいますようお願い申し上げ
ます。

って回答が返ってきます。
暴れてもいいですか?

831 :デフォルトの名無しさん:2006/10/07(土) 22:57:44
>>830
グレープシティは日本語化してるだけだから。

832 :デフォルトの名無しさん:2006/10/08(日) 00:51:35
OS WindowsXP
バージョン6.0
伝票番号を作りたいのですが、OKボタンを押したら指定したセルに
伝票番号が001となって、それ以降OKボタンを押すたびに
一つずつ増やしていくプログラムを組みたいのですがどうすれば出来ますか?
始めたばかりの初心者なのでよろしくおねがいします。

833 :デフォルトの名無しさん:2006/10/08(日) 01:09:21
>>832
値を保持できる変数使って、実行の度に
変数=変数+1
をやればよい。1→"001"はFormat関数や文字列関数で。
再起動後もまた1からではなく前回の続きからやりたいなら
iniやxmlなりレジストリなりに値を保持すればよし。
あとはとりあえずやってみて、解らなかったら次は出来たところまでコードを貼ること。

834 :デフォルトの名無しさん:2006/10/08(日) 02:58:56
>>833
全然わからないので教えてください
ちなみに再起動後は続きから出来なくてもいいです。

dim y as string
y = Format(1, "000")
range("J5") =y+1

今出来てるのはこれですが2回目以降実行しても伝票番号が変わりません、それと表示も1となって00がつきません

835 :デフォルトの名無しさん:2006/10/08(日) 03:11:56
変えたいものを変数にしなくてどうする。

Dim y As Integer
Sub increase()
y = y + 1
Range("A1") = Format(y, "000")
End Sub
Private Sub CommandButton1_Click()
Call increase
End Sub


836 :デフォルトの名無しさん:2006/10/08(日) 03:17:36
> 全然わからない
「全然わかろうとしてない」の間違いでは?
833が教えてくれた
> 変数=変数+1
を全然使ってないじゃん。
変数自体は使ってるので、「変数」の意味は分かってるはずなのに
教えられたことをやろうともせず「入力先 = 変数 + 1」をやってるってのはどーよ?

837 :835:2006/10/08(日) 03:20:04
それと、
>それと表示も1となって00がつきません
これは、書き込み先のセルの表示属性が文字列じゃなくて数値になってるから、
先頭の0が消えているとみた。

838 :デフォルトの名無しさん:2006/10/08(日) 06:03:55
それ以前に値が数値型でっせ。

839 :デフォルトの名無しさん:2006/10/08(日) 11:04:54
みなさんありがとうございます、001になるようになりました。
しかし、2回目以降数字が増えません、どうすればいいんですか?

840 :デフォルトの名無しさん:2006/10/08(日) 11:27:41
>>839
Private Sub CommandButton1_Click()
Dim y As Integer ←ここにDimを入れてない?
y = y + 1
Range("A1") = Format(y, "000")
End Sub


Dim y As Integer ←一番上の行に入れてみ。
Private Sub CommandButton1_Click()
y = y + 1
Range("A1") = Format(y, "000")
End Sub


841 :デフォルトの名無しさん:2006/10/08(日) 11:58:36
>>840
そこにいれるとエラーがでます

842 :デフォルトの名無しさん:2006/10/08(日) 12:07:49
840には「一番上の行」って書いてあるが

sub hogehoge()
 〜〜〜
end sub

Dim y As Integer
Private Sub CommandButton1_Click()
y = y + 1
Range("A1") = Format(y, "000")
End Sub

とかやってないか?

843 :デフォルトの名無しさん:2006/10/08(日) 12:45:01
>>841
エラーの内容書いてくれないと状況がわからないよ。
>>842さんの言うように、中途半端な行に入れてない?

Dim y As Integer ←ここに入れる

sub hogehoge()
 〜〜〜
end sub

Dim y As Integer  ←ここじゃないよ
Private Sub CommandButton1_Click()
y = y + 1
Range("A1") = Format(y, "000")
End Sub

844 :デフォルトの名無しさん:2006/10/08(日) 12:52:48
そもそもそれVBAでスレ違い。

845 :デフォルトの名無しさん:2006/10/08(日) 12:53:38
ついでに
----------------------
| Option Explicit
| private y as integer
|
| 〜いろんなコード〜
----------------------

みたいな形にすれ

846 :デフォルトの名無しさん:2006/10/08(日) 13:38:27
>>845

Option Explicit

Dim y As Integer '変数yの宣言
------------------------------
Sub increase()
y = y + 1
Range("J5") = Format(y, "000")
End Sub
------------------------------
Private Sub Ok_click()
Call increase

今プログラムはこうなっています。

847 :デフォルトの名無しさん:2006/10/08(日) 14:03:19
Private Sub Ok_click()に対するEnd Subは?

848 :デフォルトの名無しさん:2006/10/08(日) 14:13:51
>>846
だからエラーの状況がわからんって。
エラーメッセージでてない?
どこでつまづいているのかがわからない。

849 :デフォルトの名無しさん:2006/10/08(日) 14:34:02
>>847
call increase
End Sub
でした。

>>848
エラーはもう発生してません、番号が変わらないだけになりました

850 :デフォルトの名無しさん:2006/10/08(日) 15:17:11
>>849
Ok_click() が原因じゃないの。
CommandButton1_Click() にしてみたら。

CommandButton1_Click()はコマンドボタンが押下された時に実行される処理。
Ok_click()はただのsubなので、コマンドボタンを押下しても無視される。
コマンドボタンが複数あったら、必ずしもCommandButton1_Click()ではなく、
CommandButton2_Click()とかCommandButton3_Click()の場合があるから適切な場所にプログラム書いてね。

851 :デフォルトの名無しさん:2006/10/09(月) 15:19:00
数式を消さずに値だけ消したいときはどうプログラムすればいいんですか?

852 :デフォルトの名無しさん:2006/10/09(月) 16:03:40
>>851
何の話?

853 :デフォルトの名無しさん:2006/10/09(月) 16:08:38
自分のグローバルIPアドレスを表示したいときはどんな命令を出せばいいんですか?

854 :デフォルトの名無しさん:2006/10/09(月) 16:09:50
>>852
例えばエクセルのA1からA10までのセルにIFなどの関数を設定していて、ボタンを押すと前の値を消して数式だけはそのままにしときたいんです。
Range("A1:A10").clearcontentsにしたら数式も値も消えてしまうので他の方法があれば教えてください。

855 :デフォルトの名無しさん:2006/10/09(月) 16:12:14
その行動をマクロで記録してみたら?

856 :デフォルトの名無しさん:2006/10/09(月) 16:27:10
>>854
表示を消したい(""を返したい)なら、数式が""を返すような条件を作ってやれば良い。例えば
A1=1
A2=IF(A1=0,"",A1)
だったとすると、A1に0を代入することで数式の表示を""に出来る。
現在数式がそういう作りでないなら、IFを一つ追加して、その条件となる部分をボタンで操作しろ。

数式は存在する限り、式に沿った値を返し続ける。それを見えなくしたいなら、""を返すとか
表示形式で「;;;」を設定するとかで、返された値が目にはいらないようにするしかない。

857 :デフォルトの名無しさん:2006/10/09(月) 20:38:39
>>854
消すボタンと、関数を書き込むボタンを作ってみては。

Range("A1")="=if(論理式,真の場合,偽の場合)
Range("A2")="=if(論理式,真の場合,偽の場合)

858 :デフォルトの名無しさん:2006/10/09(月) 21:54:39
>>828
パケットキャプチャの事調べてみました。
中級者以上のプログラミングですね。

パケットが取得できたとして、必要な情報が手に入るまで道のりが長そうですね・・・
現実的に可能なのでしょうか・・・

>>829
OCRは決められた書式でしか読み込めないので無理ぽいです。

859 :デフォルトの名無しさん:2006/10/10(火) 10:19:07
>>853
IPCONFIGで得られるので良いならそれで

860 :デフォルトの名無しさん:2006/10/10(火) 19:13:01
グローバルIPアドレスを取得する手段というのはありません
大抵はルータが管理しているからです
パケットキャプチャなんて言ってるのは馬鹿です
一番現実的な方法は外部サーバにダミーのメッセージを送り、相手サーバに
送信者のIPアドレスをそのまま送り返してもらう方法です
専用サーバがどうしても立てられないということであれば
HTTPサーバを利用することもできます
REMOTE_HOSTを吐くだけのCGIをリモートサーバにアップロードしておき
そこにHTTPリクエストを発行するだけです

861 :デフォルトの名無しさん:2006/10/10(火) 19:18:35
パケットキャプチャは別の話題か
Javaアプレットの数字を取り出すにはアプレットに取り出すための口を作っておかないと出来ません
キャプチャしようが無理です

862 :デフォルトの名無しさん:2006/10/10(火) 19:53:14
>>861
そうなんですか?!
地道にパケットキャプチャのお勉強をしていたのですが・・・
無駄足を踏まずにすみました。ありがとうございます。

863 :デフォルトの名無しさん:2006/10/10(火) 20:22:27
>>860
ルータなしで直に繋がってる場合は?

864 :デフォルトの名無しさん:2006/10/10(火) 20:45:57
>>863
いちいち環境を調べてから手法を変えるのはコストの面で非現実的です
外部サーバを利用する方法はどんな環境にも対応できます

865 :デフォルトの名無しさん:2006/10/10(火) 22:20:47
>>864
外部サーバを使わなければならない方が非現実的だろ。
自分だけで完結出来ないし。

866 :デフォルトの名無しさん:2006/10/10(火) 22:28:53
>>865
じゃあグローバルIPを得る方法はどうやんの?

867 :デフォルトの名無しさん:2006/10/10(火) 22:32:00
>>865
グローバルIPって外部とつながってなきゃ意味ないし
それならサーバに依存したってかまわないんじゃ?

868 :デフォルトの名無しさん:2006/10/10(火) 22:42:26
どうしてかまわんということになるのか、理解不能

869 :デフォルトの名無しさん:2006/10/10(火) 22:47:14
>>868
どうしろと言うんだよ

870 :デフォルトの名無しさん:2006/10/10(火) 22:47:33
馬鹿はほっとけ

871 :デフォルトの名無しさん:2006/10/10(火) 22:52:24
ルータ通して繋がってるなら、グローバルアドレスは存在しないだろ

872 :デフォルトの名無しさん:2006/10/10(火) 22:58:46
>>871
馬 鹿

873 :デフォルトの名無しさん:2006/10/10(火) 23:00:25
>>872
は?
じゃ、ルータ使ってるときのグローバルIPを取得する方法を教えてやれよ

874 :デフォルトの名無しさん:2006/10/10(火) 23:01:48
>>873
馬鹿は文字読めないのか。氏ねよ。

875 :デフォルトの名無しさん:2006/10/10(火) 23:03:53
>>874
お前が死ね

876 :デフォルトの名無しさん:2006/10/10(火) 23:06:22
なんですでに方法が出てるのに>873のような馬鹿発言が出てくるんだろう

あぁ、馬鹿だからか

877 :デフォルトの名無しさん:2006/10/10(火) 23:07:11
あいかわらずブビ厨はレベル低すwww

878 :デフォルトの名無しさん:2006/10/10(火) 23:08:14
>>876
ネットワークの勉強しろアホ

879 :デフォルトの名無しさん:2006/10/10(火) 23:09:33
>>878
それがネット関係のハード&ソフトのプログラマに言うせりふかね

880 :デフォルトの名無しさん:2006/10/10(火) 23:18:34
グローバルIPはルータに問い合わせればいいじゃない。

881 :デフォルトの名無しさん:2006/10/10(火) 23:31:59
ここはVBのスレだけど、自作ソフトでグローバルIPを表示させたいの?

882 :デフォルトの名無しさん:2006/10/11(水) 00:08:25
>>866
参照設定で、Microsoft Winsock Control x.x すれば、

Debug.Print Createobject("MSWinsock.Winsock").LocalIP

とか、

Debug.Print Createobject("MSWinsock.Winsock").LocalHostName

883 :デフォルトの名無しさん:2006/10/11(水) 00:15:00
>>882
馬鹿はすっこんでろ

884 :デフォルトの名無しさん:2006/10/11(水) 00:16:50
ていうか、腹かかえてワロタ。

885 :デフォルトの名無しさん:2006/10/11(水) 00:27:34
>>882
ずっとグローバルIPを自PCのみで取得しなきゃだめだって言ってたやつか?
おもいっきり「LocalIP」と書いてあるんだが・・・

>853 が発端
>860 現実的な回答出す
>863 ルータ無い場合は?
>864 ルータのあるなしの判別する処理を実装するより、>>860の方法が統一されて楽でわかりやすく現実的
>865 ここでなぜか自己解決できなきゃだめだろと意見出る
>867 ネットワーク無いとグローバルIP意味ないし、サーバ依存でいいんじゃね?
>868 理解不能と言い出す
>871 なぜかルータ使用するとグローバルIPは存在しないと言い出すw
>873 ルータ使用時のグローバルIP取得方法はすでに>>860で出てるのになぜか聞く
>878 ネットワークのことを知らずにネットワーク勉強しろと言い出すw
>880 私の主観ですがこの方法もありだけどルータのアドレスとか取得しなきゃならないし
     >>860よりはちょっとめんどいと思うけど一応LAN内で完結する、自PCのみで解決はできてないけどな

と適当なこと書いてみる


886 :デフォルトの名無しさん:2006/10/11(水) 00:35:58
どうやって問い合わせるつもり?

887 :デフォルトの名無しさん:2006/10/11(水) 00:43:22
UPnP対応限定じゃね?

888 :デフォルトの名無しさん:2006/10/11(水) 01:05:39
ともかく、「あっちから見て、自分はどう見えるか」という意味でグローバルIPとほざいてるなら、
やっぱりあっちから見てもらわないとダメ
proxy噛んでたらもうそれで目的達成できないけどな

889 :デフォルトの名無しさん:2006/10/11(水) 01:07:37
>>888
proxyなんてまったく関係無いんだが。

890 :デフォルトの名無しさん:2006/10/11(水) 01:08:04
>>886
問い合わせる方法ってのはたとえば、ルータの設定をブラウザで管理できるならやりようはある
仮想DNSとかを使ってるやつはそういうスクリプトで
GIPの変化を数分ごとにチェックして登録しなおししてるよな
ただし、ルータの機種ごとにフォーマットが違いがあるから汎用なものにはならないな
あと、WAN上にサーバー立てられるならほかのやりようもあるな

ツーか、853は何がやりたくてGIPを取得したいのかを書けばいいのに・・・・

891 :デフォルトの名無しさん:2006/10/11(水) 01:26:11
>>885
なるほど、上の文章ほとんど読まずにレスしたしまったが
TCP/IPの知識ないやつが暴れまくってただけか
退散しよ

892 :デフォルトの名無しさん:2006/10/11(水) 02:24:00
したしまった

893 :デフォルトの名無しさん:2006/10/11(水) 02:53:21
なんだかこのスレッドにあまりそぐわない流れにワラタ

Javaのアプレットに表示されたある文字列を拾ってくるっていう話は、
きっとその文字列が可変なんだろうね。もしかしたら、Fiddlerあたりで
パケットを調べてみれば、あるURLにリクエストを投げてる可能性も稀に
あるから、そうなればもう占めたもんだけど、そう上手くはいかないかもね。

894 :デフォルトの名無しさん:2006/10/11(水) 07:37:07
>>885
所々全く読めてないから
確かに適当だな。

895 :デフォルトの名無しさん:2006/10/11(水) 07:48:37
校正してあげて

896 :デフォルトの名無しさん:2006/10/11(水) 12:37:39
MSComm32.OCX 等は再配布しても良いのでしょーか
調べるとダメそうなのですが、Vectorでは再配布してます
どうなんでしょう

897 :デフォルトの名無しさん:2006/10/11(水) 12:47:36
アプリ配布するならOKでしょ。
単体はNGだけど。

898 :デフォルトの名無しさん:2006/10/11(水) 13:32:03
どうもです。
Editionによっても異なるみたいですね。
Stdは×だけどProは○のようでした。

899 :デフォルトの名無しさん:2006/10/11(水) 16:21:20
質問させてください。

ある関数の引数に1次元配列を渡そうと思います。
Sub foo(iHogeArray() As Integer)
'処理
End Sub

使用側で多次元配列でデータを管理しているのですが
Dim iHogeHogeArray(5, 5) As Integer

Call foo(iHogeHogeArray(i))
のように2次元配列のある1次元部分を引数に指定することは出来ないのでしょうか。
C言語では出来るのですが、そもそもVBにはこの概念は無いのでしょうか。

900 :デフォルトの名無しさん:2006/10/11(水) 16:33:05
>>899
多分無理。
どうしてもやりたければVariantの配列に突っ込むか、コレクションクラスを作れば?

ちなみにC言語のarray[index]って表記法はarray + indexのシンタックスシュガーだとか。

901 :デフォルトの名無しさん:2006/10/11(水) 16:36:59
>>900
なるほど。1次元配列を返却する関数でも作ってみます。
ありがとうございました。

902 :デフォルトの名無しさん:2006/10/11(水) 20:04:10
>>885
>おもいっきり「LocalIP」と書いてあるんだが・・・

インターネットへ直結(>>863)であれば、グローバルIP = LocalIP

よって、>>882 でモーマンタイ。

903 :デフォルトの名無しさん:2006/10/11(水) 20:11:55
>>902
また繰り返したいわけ?進歩がないねぇ

904 :デフォルトの名無しさん:2006/10/11(水) 22:33:16
>>902
もうね、一辺本屋でも行ってきてそれのおかしいところを3個くらい挙げるといいと思うよ
しかしネタが無いのも事実

905 :デフォルトの名無しさん:2006/10/11(水) 22:41:51
釣り?

906 :デフォルトの名無しさん:2006/10/11(水) 22:57:11
ログ吐くとき、ログ出力用の汎用クラスとか作って使ってる?


907 :デフォルトの名無しさん:2006/10/12(木) 22:05:51
はじめて質問させていただきます。
VB6 SP6で簡単なFTPクライアントをすることになり、
サンプルなどをググったりしていろいろ探していますが
Microsoft Interner Transfer Controlコンポーネントか
WinINet APIのどちらかを使用したものを見かけますが
どちらのほうが作りやすいでしょうか?
またMicrosoft Interner Transfer Controlを使用した
ソースを公開しているサイトの殆どは
接続・切断・アップロード・ダウンロードの記述はありますが
リストを出力してTreeView、またはDirListBox、FileListBoxに
表示させる記述が無いのですが・・・
できないのでしょうか?
できるのでしたらどう記述したらよいのでしょうか?

908 :デフォルトの名無しさん:2006/10/12(木) 23:52:14
>>907

> どちらのほうが作りやすいでしょうか?
使いやすいのはINETコントロール
バグがあるのもINETコントロール(気づかないでハマるケース多数)
Wininetは使ったこと無いけれど、慣れれば楽
というわけで俺なら五分五分

> ソースを公開しているサイトの殆どは
> 接続・切断・アップロード・ダウンロードの記述はありますが
> リストを出力してTreeView、またはDirListBox、FileListBoxに
> 表示させる記述が無いのですが・・・
> できないのでしょうか?
そういうUIは後乗せサクサクだから今から不安になる必要は無い
UIはUIだけに責任を負えばいい
最悪テキストボックス&リストボックスだけでもいい市ね

> できるのでしたらどう記述したらよいのでしょうか?
設計を満足できるように記述すればいいだけ
…としかいえない

909 :デフォルトの名無しさん:2006/10/13(金) 06:48:25
>>906
作ってる
使ってる

910 :デフォルトの名無しさん:2006/10/13(金) 07:28:23
>>908
ありがとうございます。
早速Inetコントロールで作ってみました。
リストの出力は
lsコマンドをexecuteで投げて
プロパティのGetChunkで実行結果が返ってくると
MSDNに記載していたのでGetChunkを使ってとりあえず
テキストボックスに結果が出力されるように
しました。
できればFileListBoxみたいに
1行全選択させて選択したものをDLボタンで
DLするようにしたいのですが・・・


911 :デフォルトの名無しさん:2006/10/13(金) 07:49:54
>>910
> lsコマンドをexecuteで投げて
FTP鯖の違いでLSの結果が違う場合もあるから、単純に一般化はできないので注意するように

> できればFileListBoxみたいに
> 1行全選択させて選択したものをDLボタンで
> DLするようにしたいのですが・・・
やればいいじゃん
テキストボックスに表示されたんだろ?
リストボックスに表示すればそれなりになるだろ

912 :デフォルトの名無しさん:2006/10/13(金) 19:11:17
WinXPSP2、VB6.0での質問です。
時系列順に1行ずつ文字が並ぶログファイルを読み込み、整形し直して吐き出すというプログラムを組んでいるのですが、
その読み込むログファイルに文字化けした文字が入っていることがありまして、
場所によっては整形時にファイル名に当てる部分だったりするので、エラーを吐いてしまいます。
また、そうでない場所のものも出来れば出力されるのは避けたいです。
ただ、ログファイルは別ツールからの出力で、私がいじれる範囲外のものなので、文字化け自体を出さないようにするという解決法は取れません。
なので、文字化けしたものが混ざっている行があったら別ファイルへ捨てる、というような処理を追加したいと考えています。

そこで質問なのですが、その文字が文字化けしているかどうかを判別することは可能でしょうか?
可能ならばその方法を教えていただけませんでしょうか。
よろしくお願いします。

913 :デフォルトの名無しさん:2006/10/13(金) 19:22:32
0がBに変わっているのを、その文字だけを見て判断しろと言うなら不可能。

例えば数字しか含まれて居ないとわかっているなら、
0がBに文字化けしていると判断できるだろう。

結局は、何を持って文字化けしていると見なすのか、そのルールしだい。
ルールを決めたなら、その通りに実装すればよい。

914 :デフォルトの名無しさん:2006/10/13(金) 19:30:24
>>913
なるほど。
とすると、この場合はShift-JISとして見れるかどうか、が判断基準となるかと思います。
これを判断することは可能でしょうか?

915 :デフォルトの名無しさん:2006/10/13(金) 19:37:14
>>913
VBの文字列ファイルI/OはShiftJIS以外のコードを正常に扱えない。
ShiftJIS以外のコードを正常に読込みたいなら、バイト配列に読込むことになる。
その後、ShiftJISのルールに従っているか、1バイトづつ判定すればよい。

漏れならファイル生成時にエラーにするで納得するけどな。
ShiftJISの全ての文字がファイル名に使える分けじゃないし・・・。

916 :デフォルトの名無しさん:2006/10/13(金) 21:20:04
>>914
可能だよ。
最初から1バイト1バイト取り出して判断すればいい。
シフトJISは、
第一バイト &H81〜&H9F と &HE0〜&HFC
第二バイト &H40〜&H7E と &H80〜&HFC
です。

917 :デフォルトの名無しさん:2006/10/13(金) 21:53:07
>>915
>>916
その方法で何とかなりそうです。
ありがとうございました。

>>915
生成物にはなるべくゴミを残したくなかったので、ファイル名に使用しない部分の物も取り除きたかったのです。
確かにファイル名の部分だけなら、On Errorでスルーでよかったんですけどね……
文字化け以外のファイル名として使えない文字は変換かけるようになってますので、そこはたぶん問題ないと思います。

918 :デフォルトの名無しさん:2006/10/13(金) 23:03:51
Form1のボタンクリックイベントで、Form2をモードレスで表示して、
モーダル表示した場合のようにForm2が閉じるまで待機をしたいのですが、
ループをまわす以外の待機方法はないでしょうか?

919 :デフォルトの名無しさん:2006/10/13(金) 23:11:23
はぁ?

920 :デフォルトの名無しさん:2006/10/13(金) 23:12:52
>>918
Form1.Enabled = False

921 :デフォルトの名無しさん:2006/10/13(金) 23:32:27
>>918
どうしてそういう状況が生まれるのか聞きたいところだなぁ

922 :デフォルトの名無しさん:2006/10/14(土) 00:30:53
親ウィンドウと子ウィンドウの両方をいじれるようにしといて
子が閉じたら親の表示内容を更新するとかか?
親にイベント通知すりゃいいだろ

923 :918:2006/10/14(土) 01:07:21
すまそ。。。下記のようなことをやりたかったんですが、
印刷ダイアログから呼出元ダイアログを特定する方法が判らず、
モーダルじゃなくてモードレスにして、呼出元でループをまわして
監視するとか、手探りで色々試してます。。。
enabled設定の挙動については確認してみます。レスありがとうございます。

(1)親ダイアログ(メニュー画面)から子ダイアログをモーダル表示。
(2)子ダイアログから、印刷画面(複数ダイアログで共通)をモーダル表示。
子ダイアログをHide。
(3)印刷画面にて閉じるボタンで、自分と呼出元をUnload。
  戻るボタンで呼出元ダイアログをshow、自分をUnload。

924 :デフォルトの名無しさん:2006/10/14(土) 01:43:15
印刷画面が呼び出し元にイベントで通知すればいいでしょ。
なんのための「イベント」だよ。

っていうか、ウンコUIの雰囲気アリアリだねそれw

925 :たける:2006/10/15(日) 06:23:18
初歩的な質問だと思いますが…
ComboBoxに直接書き込んだ時にその言葉がRowSource内にあるかないかを判断させるにはどのようなプログラムにすればいいのでしょうか?
わかる人いません?

926 :デフォルトの名無しさん:2006/10/15(日) 06:32:50
>>925
ループ回してチェック
これで解らなきゃ使うのやめろ

927 :デフォルトの名無しさん:2006/10/15(日) 11:16:24
オプションボタンを動的に作りたいのですが
StyleをvbButtonGraphicalにしたいです。
しかしStyleは実行時には変更できないです。
なにか設定できる方法はあるのでしょうか?

あと、Contorls.Add で作成していますが、
コントロールを配列にする方法がいまいちよくわかりません。

928 :デフォルトの名無しさん:2006/10/15(日) 11:49:18
聞きたいんですが
先に作ったボタン、Label、その他を
あとから作ったFrameやPicture等の中に
納めるにはどうしたら良いよいのでしょうか。

FrameやPicture等の裏に隠れてしまうのですが。

929 :デフォルトの名無しさん:2006/10/15(日) 12:15:07
>>927
Winsock コントロールの使い方のような感じでええんやない?

>>928
作成時なら
C-x Pic選択 C-v
など。実行時ならコンテナかいな?

930 :デフォルトの名無しさん:2006/10/15(日) 12:44:16
>>929
すいません、C-x Pic選択 C-v
の-xと-vって何を指すのでしょうか?

931 :デフォルトの名無しさん:2006/10/15(日) 12:45:59
>>930
かっとあんどぺーすと

932 :デフォルトの名無しさん:2006/10/15(日) 12:50:43
>>931
すいません、かっとあんどぺーすとって何でしょうか?

933 :928:2006/10/15(日) 12:51:55
>>929さん
わかりました、
最前、再背ですね
ありがとうございました。


934 :デフォルトの名無しさん:2006/10/15(日) 12:56:34
本人がそれでいいのならなんともないぜ

935 :デフォルトの名無しさん:2006/10/15(日) 14:01:33
927です。
とりあえず何とかなりました。ありがとうございました。
かならずひとつはボタンが存在するので、
Loadで増やしてしまいました。


936 :デフォルトの名無しさん:2006/10/16(月) 11:25:59
>>927
オプション数の最大限度が決まっているのなら、
最初から配置しておき、
visible と enable を False にしとくといいかも。

937 :デフォルトの名無しさん:2006/10/16(月) 11:29:28
英語版Windowsで○とか●を表示する方法ってある?
どんな方法使えばいいのかご教示下さい。


938 :デフォルトの名無しさん:2006/10/16(月) 11:36:58
>>937
webdingとか wingdingsとか使えば記号できるだろうけど、
上手い具合に○はないようだなぁ

939 :デフォルトの名無しさん:2006/10/16(月) 12:35:41
oとxで良いんじゃない?

940 :デフォルトの名無しさん:2006/10/16(月) 13:45:36
 ∧∧
o(・x・)o

941 :デフォルトの名無しさん:2006/10/16(月) 14:26:36
ここで聞いていいのかな?

ADOでDB取得する際なんですが、例えば以下のような文があったとします。

sql = "select data1,data2,data3,data4,...,data20 from table1;"
Set RS conn.Execute(sql)

If RS.EOF = FALSE then
  data1 = RS!data1
  data2 = RS!data2
  :
End If

とまあこんな感じなんですが、これを

if RS.EOF = FALSE then
  For i = 1 to 20
    data(i) = RS!data(i)
  Next i
end if

こういう感じで実現って出来ますか?要するにRS!の後に変数を代入するって感じです。


942 :デフォルトの名無しさん:2006/10/16(月) 14:29:47
>>941
そんな感じに出来るが、RS!data のように ! を使わない。

943 :デフォルトの名無しさん:2006/10/16(月) 14:31:25
カラム(1)見たいにやるんじゃなかったかな

944 :デフォルトの名無しさん:2006/10/16(月) 14:36:38
rs.Field(i)

945 :941:2006/10/16(月) 14:39:35
>>942-944
どうもありがとうございます。
それでやってみます。

946 :デフォルトの名無しさん:2006/10/16(月) 15:58:42
>>937
APIのTextOutWを使えば……。
問題はフォントがあるかどうかだが、Arialは●○の両方を一応持っている。
他の欧文フォントも●は持っていることが多いような感じがする。

947 :デフォルトの名無しさん:2006/10/16(月) 20:38:14
>>946
そのフォントの話だとなぜ気づかなかった・・・?

948 :デフォルトの名無しさん:2006/10/17(火) 06:47:11
>>937
Ellipse

949 :937:2006/10/17(火) 14:37:45
>>938
英文フォントで代替出来る文字がないか検討してみます。

>>939
●(ベタ塗りの丸)が欲しかったんで
o/xではちと代替効かないんですよ。

>>946
TextOutWは知らなかったので調査してみます。

>>948
スマソ TextBoxなんでEllipseで描画したくないw
それを書いておかなかったのが悪かったですね。
申し訳ない。


950 :デフォルトの名無しさん:2006/10/17(火) 21:18:35
初めてご質問致します。

VB6.0でFTPを使って画像をサーバーにアップロードするソフトを作って
普通に使っていたのですが、ある日実行させると突然
「問題が発生したため・・・」という画面が表示され、ソフトが
起動できなくなりました。
 OSはXP SP2です。これまでもXP SP2で普通に起動できていたのですが、
突然ソフトが起動できなくなりました。新しいソフトなどのインストール
は一切行っておりませんが、XPにある更新を最近してから動作できなく
なりました。
自動的にインストールされる更新によって何かFTPの制約が増えたの
でしょうか。

951 :デフォルトの名無しさん:2006/10/17(火) 21:31:38
FTPの会話にゃ何つことるん?

952 :デフォルトの名無しさん:2006/10/17(火) 21:37:45
>FTPの会話にゃ何つことるん?

Inetコントロールを使用しております。
With Inet1
'URLを指定
.URL = ftpServerName

.Execute , "CD " & sCookieVal & "/"
'ビジーの間待つ
Do While Inet1.StillExecuting = True
DoEvents
Loop

'ファイルのコピー
.Execute , "PUT " & フルパス & "\" & "temp.jpg " & FtpFilename

'ビジーの間待つ
Do While Inet1.StillExecuting = True
DoEvents
Loop
End With

Inet1.Execute , "QUIT"

このような感じです。
宜しくお願いします。

953 :デフォルトの名無しさん:2006/10/17(火) 21:50:35
んじゃぁ、とりあえずIDE上でステップ実行してみてょ

954 :デフォルトの名無しさん:2006/10/17(火) 22:27:08
>んじゃぁ、とりあえずIDE上でステップ実行してみてょ

お世話になります。
ステップ実行させた上ではとくにエラーも無く動作するのですが、exeにして
exeをクリックして起動した場合に、kernel32.dll,ntdll.dllに関連した
エラーとして「問題が発生したため・・・」という画面が表示され、ソフトが
起動できなくなってしまいます。

デバッグして見ているのですが、IDE上で実行できてexeにしたとたん実行
できなくなるという現象がよくわかりません・・・。

宜しくお願い致します。

955 :デフォルトの名無しさん:2006/10/17(火) 22:38:42
>>954
>>IDE上で実行できてexeにしたとたん実行できなくなる
良くある。
IDE上でインタプリタで実行するのと、ネィテブコードで実行するのは全然違うからな。
そういう時はネィテブデバッガで追いかける。

956 :デフォルトの名無しさん:2006/10/18(水) 00:02:49
しかし今回はダメかもね
デバッグ情報の残ってない部分で逝っちゃってるように見えるから
まぁ、StillExecutingをポーリングするんじゃなくて、ちゃんとStateChangeイベントで処理してやってみてよ
Inetコントロールはとことん根性が曲がってるから、普段はお勧めしないんだけどね・・・

つ p-codeっつー手もあるにゃある

957 :デフォルトの名無しさん:2006/10/18(水) 00:14:31
>しかし今回はダメかもね
>デバッグ情報の残ってない部分で逝っちゃってるように見えるから
>まぁ、StillExecutingをポーリングするんじゃなくて、ちゃんとStateChangeイベントで処理してやってみてよ
>Inetコントロールはとことん根性が曲がってるから、普段はお勧めしないんだけどね・・・
>
>つ p-codeっつー手もあるにゃある

956さん、ありがとうございます!
助かりました。まだエラーは直らないのですが、
1つ1つコメントアウトしながらexe化してログ取りながらどこでエラーが
発生しているか確認してやっています。多分Inetのputタイミングと次のInetの
コマンドタイミングがタイマーイベントをとってやっていますので、どこかでかちあって
しまっているのかもしれません。
StateChangeにも変更してみます。


958 :デフォルトの名無しさん:2006/10/18(水) 12:00:55
質問があります。
.basファイルや.clsファイルをプロジェクトエクスプローラにD&Dしたり、
「追加>ファイルの追加」から追加すると、現在編集中のプロジェクトに既存のモジュールを追加出来ますが、
この際に任意の参照設定を自動で追加するにはどうすれば良いのでしょうか?

今は参照設定を含むモジュールの追加は、プロジェクトを閉じた状態で、
.vbpを直接書き換えるツールを作ることで対応していますが、出来ればVBE上でやりたいので。
もちろん「プロジェクト>参照設定」から手動で行う方法は知っていますが、追加するモジュール側で、
追加する参照設定を定義して、モジュールの追加と同時に自動で参照設定が行われるようにしたいです。
バージョンは6.0Proです。

959 :デフォルトの名無しさん:2006/10/18(水) 12:36:01
IDEの機能にないことをIDEにやらせようってそういうの「横車を押す」っていうんだよね。

もうよくVB6覚えてないけど、そういう場合はコンパイル済みのコンポーネントに
しとけばいいんでないかい?


960 :デフォルトの名無しさん:2006/10/18(水) 12:41:45
あ、でもそのコンポーネントを参照設定しないといけないんだよなw


961 :デフォルトの名無しさん:2006/10/18(水) 13:57:59
>>950
×ご質問
○質問

962 :デフォルトの名無しさん:2006/10/18(水) 18:22:10
質問させてください。

PC:pen4 2.8GHz + メモリ1G
OS:winXP
VB:ver6

にて計測ソフトをくんでいます。
計測ソフトの通信には CONTECのGPIBおよびRS232Cをつかっています。

いま計測器との通信を10s間隔でおこなっていると、
タスクモニタで10s間隔にCPU負荷が100%に到達しています。

プログラムのどの部分が一番おおきなボトルネックかを判断するための
方法はなにかないでしょうか?



963 :デフォルトの名無しさん:2006/10/18(水) 19:37:00
ちゃんと動いてるんならいいじゃん

964 :デフォルトの名無しさん:2006/10/18(水) 20:26:35
そこは「お前さんの能力」って突っ込んで欲しかったw

965 :デフォルトの名無しさん:2006/10/19(木) 00:42:21
せんせー、しつもんさせてください。

Integer型の配列、Array()があります。
このArrayの要素が、[1][2][3][2][4][5][5][5][4]…と入っていた際に、
[1][2][3][4][5]…と、被ってるキーを除いてユニークなキーのみ残したいと考えています。
この処理を関数一発で行うことは可能でしょうか。

全探索などの探索アルゴリズムを使用すれば可能だとは思いますが、
如何せん、何万件ものデータ処理を行う為、(時間のかかる)ループを使用する処理は
なるべく避けたいと考えております。

非常に眠い為、日本語が変でしたらすみません。
以上宜しくお願いいたします。


966 :デフォルトの名無しさん:2006/10/19(木) 00:51:29
関数一発で可能かどうかは関数のリファレンスを見ればわかるでしょ。
こういう当たり前のことをしようともしない人間はPG向かないよ。

967 :デフォルトの名無しさん:2006/10/19(木) 00:59:33
リファレンスは諸事情により現在見ることが出来ません。
Google先生にも聞いてみましたが(キーワード : VB6 配列 ユニーク GroupBy など使用)、
それらしき文書が見つかりませんでした。

明日出社してからもう少し自分で考えてみます。
有難うございました。>>965は解決とさせていただきます。

968 :デフォルトの名無しさん:2006/10/19(木) 08:31:41
>>965
> 如何せん、何万件ものデータ処理を行う為、(時間のかかる)ループを使用する処理は
その程度の処理、たった数万件で一体どれだけ時間が掛かるというのか。
実際にベタな処理で実行してみろよ。
メモリで比較するだけなんだから一瞬だろが。
本当にこういう「時間が掛かるから別の方法で」って言う奴が多いな。

969 :デフォルトの名無しさん:2006/10/19(木) 09:07:15
>>965
よし、ためしに
・あります
・避けられません
・視ね


970 :デフォルトの名無しさん:2006/10/19(木) 09:54:59
50000要素のLong型配列で、値を0〜9の乱数で作ってループで重複除外処理してみた。
結果、処理時間は0.015625秒だった。そもそもプログラミングにおいて関数ってのは
探す物ではなく作る物なんだからあとはこれを関数化すれば問題なし。

つーか普通にやって時間の掛かる処理は、組込関数になったって時間がかかるものだよ。
重複検査だのソートだのと、ループ回さなきゃならないものは、例え組込の関数になろうと
コントロールのメソッドになろうと、内部でループ回しているので、ループで処理してるか否かではなく
ループが見えるか否かの違いだけ。まあ内部処理の方がちょっとは速いけど、そこまで拘るなら
今後も速度の不満は尽きないだろうから、言語を替えることをお奨めする。

971 :デフォルトの名無しさん:2006/10/19(木) 12:33:30
必死で叩く奴って自分も痛々しいことに気づいてなさげだね
まあおれも966なんで偉そうな事言えんがw

ところで>>965みたいなのって一般にどうやるんだろうか?
既出キーをソートしならがリストに追加していけば、既出かどうかの検査は
二分法で素早くできそうだが。

972 :デフォルトの名無しさん:2006/10/19(木) 13:10:54
はいはい乙乙
質問する人は番号くらい書いてね

973 :デフォルトの名無しさん:2006/10/19(木) 14:15:42
こういうものこそハッシュの出番では?
CreateObject("Scripting.Dictionary")


974 :デフォルトの名無しさん:2006/10/19(木) 14:28:32
>>937
o/xなどの和の感覚は洋ではx/-になったりして合わないから、y/nとかにして注記を付けたほうがよいのでは。


975 :デフォルトの名無しさん:2006/10/21(土) 08:51:23
簡単なブロック崩しをつくりたいのですが何から初めていいのか分かりません。どなたか、詳しく教えてください。

976 :デフォルトの名無しさん:2006/10/21(土) 09:34:03
>>975
まずはとことん悩んで、質問文を書けるレベルまで自分を持って池

977 :デフォルトの名無しさん:2006/10/21(土) 09:38:03
>>975
まず画像や文字を表示してアニメできるようにする。
次にキー入力によって自機などを自由に動かせるようにする。
最後に当たり判定などゲーム内状態を変化させられるようにする。

こんなとこかな。
別の言い方をすれば出力→入力→自律動作の順に学習してみるといい。

978 :デフォルトの名無しさん:2006/10/21(土) 10:08:54
(;´д`) 俺のメンツをよくも・・・

979 :デフォルトの名無しさん:2006/10/21(土) 12:21:02
このスレはEXCEL VBAの質問もアリでしょうか?

980 :デフォルトの名無しさん:2006/10/21(土) 12:31:38
>>979
なしです。VBA総合質問スレッド に逝って下さい。
http://pc8.2ch.net/test/read.cgi/tech/1151412015/l50

981 :デフォルトの名無しさん:2006/10/21(土) 14:33:15
どなたかここの暗号化処理をVB6.0に移植してくれませんか?
http://dobon.net/vb/dotnet/string/encryptstring.html


982 :デフォルトの名無しさん:2006/10/21(土) 14:41:24
>>981
CryptAPI呼ぶだけだろうが。
移植する必要なんて無い。

983 :デフォルトの名無しさん:2006/10/21(土) 15:13:57
cryptAPIってOSに標準で入ってますか?

984 :デフォルトの名無しさん:2006/10/22(日) 00:00:25
VB6でスペースボタンを連打するソフトを作ろうと思うのですが、
キーボードの特定のキーを押すコードを教えてもらえませんか?

ネットで検索しても分かりませんでした。

985 :デフォルトの名無しさん:2006/10/22(日) 00:36:30
>>984
色々ツッコみたいけど、おいといて

Windows上のキーでのスペースキー(×スペースボタン)に対応するイベントなら、
keybd_ev()とかSendInput()とか、VB6に閉じるならSendKeysとか(バグ有注意)

986 :デフォルトの名無しさん:2006/10/22(日) 10:33:44
>>984
んなもんformのプロパティのKeypreviewをtrueにして
form_KeyPress()で拾えばよくね?

987 :デフォルトの名無しさん:2006/10/22(日) 10:42:55
Private Sub Form_Load()
Form1.KeyPreview = True
End Sub

Private Sub Form_KeyPress(KeyAscii As Integer)

Select Case KeyAscii
Case vbKeySpace
MsgBox "Spaceキーが押された"
Case vbKeyReturn
MsgBox "Returnキーが押された"
Case Else
End Select
End Sub


988 :デフォルトの名無しさん:2006/10/22(日) 11:00:08
>>986
ちょwwwwwwwwww
目的が違ってるwwww

989 :デフォルトの名無しさん:2006/10/22(日) 11:13:32
思うに、>>984

『高橋名人をメールで召還するコード書け』

みたいな突っ込みを期待してたんだと思う。

990 :デフォルトの名無しさん:2006/10/22(日) 11:47:33
984です。

>>985-989
どうもありがとうございました。
SendInput()でいけました。

991 :デフォルトの名無しさん:2006/10/22(日) 11:59:09
>>985
keybd_event

992 :デフォルトの名無しさん:2006/10/22(日) 15:01:30
次スレ立てろやカス共

993 :デフォルトの名無しさん:2006/10/22(日) 17:27:37
>>962

debug.print 文で
たとえば

debug.print "Time:" & Time$
を関数ごとに入れてどこが遅いか調べます。

計測系では
Time$ をAPI のmilisesondS あたりに置き換えると
よいでしょう。



994 :デフォルトの名無しさん:2006/10/22(日) 20:45:52
http://pc8.2ch.net/test/read.cgi/tech/1161517193/
次スレ

995 :デフォルトの名無しさん:2006/10/22(日) 22:47:47
>>994
サンクソ

996 :デフォルトの名無しさん:2006/10/23(月) 10:23:19
   ε= (゚∀゚*)
(無修正)ノヽノ |
       < <

997 :デフォルトの名無しさん:2006/10/23(月) 10:24:06
                 ε= (゚∀゚*)
(無修正)女子高生エロ動画.avi ノヽノ |
                     < <

998 :デフォルトの名無しさん:2006/10/23(月) 10:25:12
                                 ( ゚д゚ )
(無修正)女子高生エロ動画.avi          .exeノヽノ |
                                < <

999 :デフォルトの名無しさん:2006/10/23(月) 10:25:51
日テレはルパンにひどいことをしたよね(´・ω・`)

1000 :デフォルトの名無しさん:2006/10/23(月) 10:26:37
           _  _
  NINTEND□|[[¨ヾ(⊂
          .■|L ノ'r⊃)   _  -‐――-
           ̄   ̄ ,  ´: : : : : : : : : : : : : :.`丶
              /: : : : : : : : : : : : : : : : : : : : \
                /: :/: : : : : : : : : : : : : : : : :
                ,′  /: /.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.: /.:.:.:.:.: ',
            l /.:. ,'.:.:.l .:.:.:./ .:.:.:/.:.:.:.:/.:.:.:./ヽ :!.:.:.:.:i
            |.:.l.:.:.:l.:.:.:|.:.:.:/.:.:.:_/_, :.〃.:.:.:/   }:!.:.:.:.:|
            |.:.l.:.:.jl.:.:.:i.:.:7丁.:/.:.//.:.:/ \/.:|.:.:.j.:|
            |.:.|.:./l:.:.:.:i.: j斗=< //   /ヽl.:.:/.:l
            |.:.|.:{!.|.:.:.: l"{r'_:::::j    /テ< /.:/.:/
             j.:.l.:ヽ|.:.:.:.:! xxx      ヾ_:/ '/.:イ/
           ノl.:.|.:.:.:|.:.:.:.:|        , xxx. /.:. i
            i.:.l.:.:.:j.:.:.:. lヽ、   rっ     イ .:.:.: |
            ',.:ヽ.:.ヘ.:.:.:.|  > 、 __  イ .:.! :.:.l.:.|
            \{\{\:l      |∧:./.:.:/|.:.:/j/
           /  ̄ ¨丶ヾ`ーs一'´__ ¨ ´ ̄`ヽ
          /       ` 〃 '´        ヽ
         ,′        / l!            ;
          |  j       |D|!                !
         !  /      |S|!.        、/   |
         l  ! :2:.     └ '      .:c::   !    |
            l//"                "    }    !
 ,ィー─--- 、//l                ,′  !
〃  ,〉ー‐ァ'´/ l |                  イ   .'
.  /Y/ 〃勺 l |                l   i
  {__,{ヽ/  ,/ │ !                  |   |

1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

270 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.02.02 2014/06/23 Mango Mangüé ★
FOX ★ DSO(Dynamic Shared Object)