トップページ⇒tech
1001コメント316KB

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

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさんNGNG
ここは Visual Basic 〜6.0 の質問スレです。
質問者は使用しているOS、VBのバージョン、サービスパック
何がしたくでどうしたけどどう困っているのかを明確に書きましょう。

○関連スレッド
VB.NETは別物なので、基本的に質問はこちらへ
VB.NET質問スレ (Part6)
http://pc5.2ch.net/test/read.cgi/tech/1088812165/

API関連の質問はこちらへ
Win32API質問箱 Build20
http://pc5.2ch.net/test/read.cgi/tech/1088140233/

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
API 技術関連 - VBでのWin32APIのサンプル
http://homepage1.nifty.com/MADIA/vb/VBKANREN.htm
Google
http://www.google.co.jp/
※「まず自分で調べる」を身につけよう。

○VB以外の質問スレ
C++相談室 part33
http://pc5.2ch.net/test/read.cgi/tech/1090180012/
C++Builder相談室 Part10
http://pc5.2ch.net/test/read.cgi/tech/1089299158/
★初心者にVisual C++を教えるスレ★ Part13
http://pc5.2ch.net/test/read.cgi/tech/1089011118/
0002デフォルトの名無しさんNGNG
3
0003デフォルトの名無しさんNGNG
>>1
乙

>>2
馬鹿(w
0004デフォルトの名無しさんNGNG
新スレオメコ
0005デフォルトの名無しさんNGNG
質問です。
String型の文字のユニコード番号はどうやったら分かるのでしょうか。
番号<->文字の変換をやりたいと思っています。
0006デフォルトの名無しさんNGNG
>>5
strconv
0007デフォルトの名無しさんNGNG
http://page8.auctions.yahoo.co.jp/jp/auction/h17411636
0008デフォルトの名無しさんNGNG
>>5
AscW
0009デフォルトの名無しさんNGNG
>>8
ありがとう!!
Text1 = Hex(AscW("漢"))
とやったら"6F22"と出ました。
0010デフォルトの名無しさんNGNG
ちょこっとアンケート。

Debug.Print
って その時のデバッグが 終わった後、どうする?
1.コメントにする。
2.削除する。
3.そのままにしておく。
0011デフォルトの名無しさんNGNG
debug.printなんて使わないよ
0012デフォルトの名無しさんNGNG
>>10
3.そのままにしておく。

だって、コンパイルするときに関係なくなるじゃん。
0013デフォルトの名無しさんNGNG
EXEに対しては12さんの言うとおり。
実行モジュールの挙動には一切関係なし。

配布後の障害対応を考えたら残しておいたほうがいい。
はさむ場所ってのは、挟んだ理由があるんだから。
ソースの可読性は下がるかもしれないが、最初に何を調べてたとか証拠が残ると助かるときはある。
0014天才男前バカボンNGNG
質問です。
同じフォームに、テキストボックスと
oracleに連結されているDateGrid があります。

テキストボックスに入力した値を、DateGridのセルに
入力したいのですが、どのようにしたらいいのですか?
DateGridのセルはDBと直接全て連結しています。

お願いなのだ、レレレのレ♪


 
0015天才男前バカボンNGNG
上記と関連した質問ですが、
DBに連結されているDateGridの各列のデータ型を
分かる方法はあるのでしょうか?
0016デフォルトの名無しさんNGNG
>>10
1.コメントにする
条件コンパイルという手もあるけど、コメント化なら1行ですむ。
全置換で一発だし。
0017デフォルトの名無しさんNGNG
Debug.Printって便利なんだけど悩むんだよねぇ。
いろいろ出力しすぎると わかんなくなるし、コメントにするとソースが
みずらくなるしさ。
0018デフォルトの名無しさんNGNG
みづらく
0019デフォルトの名無しさんNGNG
ついらく
0020デフォルトの名無しさんNGNG
>>16
それは良くないと思う。
(基本的にはありえないが・・・)置換ミスに対する試験が必要になるじゃない。
デバッカでテストしたモノと出力するEXEのソースが異なるってのは頂けない。
条件付コンパイルしなくてもDebugの部分は除外してくれるんだから、それに頼ればいい。

もし、コメントアウトしたり、Debug文を削るならば、厳密にはその後のソースで一度テスト必要ですね。
0021デフォルトの名無しさんNGNG
すみません初歩的な事ですが教えてください。
VB5.0(97)なのですが、客先の環境にて開発環境では発生しない
エラーが出ていまして、解析の為、VB5.0をインストールさせてもらいました。
インストールが完了し、問題のプロジェクトを立ちあげると
フォームにてエラーログが発生し、コモンコントロール(ACTIVE X)
コンポーネントのライセンスがありません とおこられています。
デザインモードのライセンスが見つからないとの事なのですが
正常にプロジェクトがあがらず、再インストールしても改善されません
どなたかこのトラブル解決の糸口をご存知の方いらっしゃらないでしょうか?
おねがいします。
0022デフォルトの名無しさんNGNG
>21
エラーメッセージでぐぐれば類似事例多数
0023デフォルトの名無しさんNGNG
>>21
ヲイヲイ、客先のPCにインストールしちゃったの?
0024デフォルトの名無しさんNGNG
フォームのイベント(またフォーム上のコントロールのイベント)で起きる例外を一括で処理したいのですが ON ERROR はどこに書けば良いですか?
フォームを Show する前に Sub Main で書いてもダメでした。(事前にロードしたりはしてません。)
フォームは Modal です。
0025デフォルトの名無しさんNGNG
>>21
よくあるパターンだな
0026デフォルトの名無しさんNGNG
>>21
何か別に使ってるソフトをインストールしないとダメなんだな。
ま、そのためにログなどを出力する設計になってればいいのだが・・・。

>>20
やはり、そのまんまがいいのかねぇ。
デバッグの出力が多すぎると イミディエイトの画面がみづらくならない?
って それは出力のさせ方の問題かな。
0027デフォルトの名無しさんNGNG
>>24
多分できない。
あなたの目指しているのがつくり的に最悪なので、調べたり考えたりしたこともない。
MSDNでみる限り、エラー処理のスコープの説明から出来ないと思う。
0028デフォルトの名無しさんNGNG
>>26
不要になったDebugはコメントアウトしていいんじゃないの?

でも、その作業って他のDebug文でデバックしてるときだから、
まあ言えばそのコメントアウトのテストも兼ねられるじゃないですか。

>>20で指摘したのは、テスト完了時点でわざわざ外す必要はないということ。
0029デフォルトの名無しさんNGNG
うむ
0030デフォルトの名無しさんNGNG
>>21
これでしょ
http://support.microsoft.com/default.aspx?scid=kb;JA;411156
003121NGNG
ありがとうございます!!解決しました。サービスパックやランタイムのインストールで
既存のファイルがある場合、インストーラが上書きをしない仕組みだったのですね。
パッチツールでライセンスを書き込めそうです。ありがとうございました。
0032デフォルトの名無しさんNGNG
MSFlexGridで一度選択した場所の色(クリック時)が反転して
青色にかわりますよね?そのあとフォーカスが他へ飛んだら
どこのデータが選択されていたかわからなくなるので
フォーカスが戻った時に反転していたデータの場所の色を
青色にしたいのですが、そういうセレクト状態の命令を出す
プロパティってありますか?
0033デフォルトの名無しさんNGNG
>>32
HighLightをねばーじゃだめなの?
0034デフォルトの名無しさんNGNG
85 名前: デフォルトの名無しさん 投稿日: 02/11/25 23:17
Debug.Print MsgBox("Msg")
これをEXEで実行してみそ。
http://pc3.2ch.net/tech/kako/1038/10381/1038103769.html
0035デフォルトの名無しさんNGNG
VB6.0でタスクバーにドッキングさせるプログラムを作成する方法などを教えてくださいな。

BIGLOBEツールバーV3のタスクバー常駐機能みたいな感じのヤツ。
0036デフォルトの名無しさんNGNG
>>35
自力で何とかしてくださいな。
0037デフォルトの名無しさんNGNG
ウェブ上で個人情報などを入力するフォームがあって
それに数十人分を打ち込まなくてはならなくて、どうにか自動化できないかと思ったのですが、
webページにアクセスして、フォームに自動的にテキストやエクセルのデータを
入力していくようなものをVBで作りたいと考えています。
どのようにすれば、フォームに自動入力できるでしょうか?アドバイスをお願いします
0038デフォルトの名無しさんNGNG
>>35
個人を晒し上げてるようで気が引けるんだが、
http://intre.net/?ClockBar
の作者が過去に
http://www.google.co.jp/search?q=cache:zqtQdny4qOsJ:forums.belution.com/ja/vc/000/051/42s.shtml+%E3%82%BF%E3%82%B9%E3%82%AF%E3%83%90%E3%83%BC%E3%80%80%E4%B9%97%E3%81%9B%E3%82%8B&hl=ja
という質問をしています。(ただしリンク先は404
0039デフォルトの名無しさんNGNG
現在有効になっているシリアル通信ポートを知る方法ってあります?

コンパネ→システム→ハードウェア→デバイスマネージャ(Win2000Pro)を開いた時に

ポート
- ECPプリンタポート (LPT1)
- 通信ポート (COM1)
- 通信ポート (COM2)
- 通信ポート (COM4)

とか出ますよね?
これだと、COM1、COM2、COM4が有効になってるわけですが

このCOM1、COM2、COM4が有効になっているのを取得したいわけです。
何か方法あります?
0040デフォルトの名無しさんNGNG
ウインドウを2つ以上同時に
アクティブにする方法をおしえてください。
0041デフォルトの名無しさんNGNG
できません。
0042デフォルトの名無しさんNGNG
>>40
PCを二台以上使って下さい。
0043デフォルトの名無しさんNGNG
質問です。

16進数を10進数に直すにはどうした処理をしたらよいでしょうか?
分かる方宜しくお願いします。
VBは6.0です。
0044デフォルトの名無しさんNGNG
>>43
Hex
0045デフォルトの名無しさんNGNG
>>44
Hexって10進数を16進数に変換するものじゃないですか?
その逆も出来ます?
0046デフォルトの名無しさんNGNG
>>43
16進表記された文字列を数値に変換したいなら
Val("&H" & Unko)
でもやってれば?
0047デフォルトの名無しさんNGNG
>>45
CLng("&h" & HexNum)

46のやり方だと3バイト以上対応していない。
0048デフォルトの名無しさんNGNG
質問です。説明うまくできませんがよろしくお願いします。

Format(A(I), "0.###0")
のようにすると、A(I)が小数点以下4桁で表されます。
しかし 例えば13.2と、1.32という数字があったとして、これを表示させるようにすると
13.2000
1.3200
と桁数がずれてしまいます。
これを
12.3000
1.2300
と1.23の前に空白を入れるようにはできませんか?

文字数を取得したりめんどくさいことしなきゃ無理なんでしょうか?

0049デフォルトの名無しさんNGNG
すいません 反角空白が省略されてうまく表示できませんでした・・・
0050デフォルトの名無しさんNGNG
>>37
WebBrowserコントロールを使って、
WebBrowser1.Document.forms("xxx").item("yyy").value = "zzz"

すでに開かれているIEの画面を使いたいならShDocVw.ShellWindowsを使え。
0051デフォルトの名無しさんNGNG
>>48
http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/vb_k06.htm
http://www.mitene.or.jp/~rnk/TIPS_VB_FUNC.htm
0052デフォルトの名無しさんNGNG
VB6って中国語の入力とか表示って無理なのかな?
テキストボックスとかフォントを中国語に指定しても、入力すると文字確定した時点で化けてしまう
しまうのですけど。
0053デフォルトの名無しさんNGNG
プログラム上で、Imageに画像を読み込ませるには、どうしたらいいのでしょうか?
0054デフォルトの名無しさんNGNG
指定した文字列のファイルが存在するかどうか調べるには、どうしたらいいのでしょうか?
005537NGNG
>>50
ご指導ありがとうございます!
0056デフォルトの名無しさんNGNG
>>53
LoadPicture

>>54
Dir / FileAttr / FileLen / etc..
0057デフォルトの名無しさんNGNG
>>56
ご指導ありがとうございます!
0058デフォルトの名無しさんNGNG
リソースとして、JPEGファイルを取り込んだんですが
そのサイズが、250kBあるんです。

LoadResData関数では、64KBまでしかロードできないらしいのですが
どうしたらいいのでしょう。。。
よろしくお願いします。
0059デフォルトの名無しさんNGNG
VB6でのclassの作り方が乗ってるページありませんか?
もしかして.NETでないとできません?
0060デフォルトの名無しさんNGNG
画像加工してサイズ落としたら?
0061デフォルトの名無しさんNGNG
>>60
ええーっ、そんな・・・。
画像、40枚あるんですよ。。。
0062デフォルトの名無しさんNGNG
イミディエイトってどういう意味でえいと?
0063デフォルトの名無しさんNGNG
>>60
http://homepage3.nifty.com/metis/contents/soft/chibisna/index.html
このソフトを使えば、一発で 40枚できるぞ。
0064デフォルトの名無しさんNGNG
ProgressBarの真ん中に現在の経過を % で表示してるヤツが作りたいんだけど...

TextOutで直接 文字を描画して出来たのですが
出来れば 反転色で文字を描画したいです

反転色の文字描画って どぉやんの?

環境
OS Win XP Home
VB6 Pro
0065デフォルトの名無しさんNGNG
>>64
自作してください
0066デフォルトの名無しさんNGNG
>>64
むかーしむかし、VB 2.0で自作した時は、BitBlt使った記憶があるが・・・
0067デフォルトの名無しさんNGNG
SetROP2 とか何とかあった気が…
006837NGNG
またまた質問なのですが、
以前教わったWebBrowserコントロールでいろいろ作ってみてます。
が、FormやらInputやらのあるWebページを開いたまではいいのですが、
うまく任意のテキストフィールドを選び出せません。
WebBrowser1.Decument.のあとのFormsやらItemやらElementやらの組み合わせがいまいち
うまくいきません。このあたりの指定方法が詳しく載っているサイトなどはないでしょうか?
もしくは簡単なご指導願えませんでしょうか?
0069デフォルトの名無しさんNGNG
>>68
ttp://tohoho.wakusei.ne.jp/html/form.htm
ttp://tohoho.wakusei.ne.jp/js/form.htm
007037NGNG
>>69
ありがとうございます! 参考にさせていただきます〜
0071デフォルトの名無しさんNGNG
なんか(時期的にも)夏休みの宿題教えてクンが涌いてきてる様な気がするのだが。
0072デフォルトの名無しさんNGNG
久しぶりにメモ帳(vbs)でプログラム作ったんだけど実行早々「エラー 行1 文字1 ステートメント
がありません。コード800A0400」と出ます。
今までこんな事無かった・・・誰か助けて
0073デフォルトの名無しさんNGNG
そういう時はね、質問するときに1行目とその付近のソースも一緒に提示するもんなんだよ。
0074デフォルトの名無しさんNGNG
>>72
http://www.google.co.jp/search?hl=ja&ie=UTF-8&c2coff=1&q=800A0400&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=
0075デフォルトの名無しさんNGNG
スクリーン座標をクライアント座標に変換する方法を教えてください
Public Sub HotKeyProc()

ret = GetCursorPos(CurPos)
ret = ScreenToClient(Form1.hWnd, CurPos)
Text1.Text = "マウスの位置:" & _
Str(CurPos.x) & "," & Str(CurPos.y)

で上手くいきません。
スケール幅が3000に設定してあるんですが
x座標がフォームの左端で0,右端で250になってしまいます。
ご教授お願いします
0076デフォルトの名無しさんNGNG
>>75
PixelとTwipで比較してるとかいうオチじゃないか?
0077デフォルトの名無しさんNGNG
>>76
そうかもしれません^^;
Twipで表示させるにはどうすればいいですか?
007876NGNG
>>77
TwipX = CurPos.x * Screen.TwipsPerPixelX
TwipY = CurPos.y * Screen.TwipsPerPixelY
007975NGNG
>>76 >>78
!!!!!!
出来ました。ご親切にありがとうございます。
0080デフォルトの名無しさんNGNG
マウスの移動領域が制限されてるアプリケーションで
制限無しにしたいんですが
別のアプリケーションから"制限領域を指定しなおすor制限なしにする"ことはできますでしょうか?
方法を教えてください。
0081デフォルトの名無しさんNGNG
>>73
すいません 最初の二行です
<script language="VBSscript">
<!--
0082デフォルトの名無しさんNGNG
>>81
修正
<script language="VBScript">
<!--
です。
0083p2113-ipad04sasajima.aichi.ocn.ne.jpNGNG
219.162.213.113
008482NGNG
すいません 解決しました
最後に質問
INPUTBOXで入力情報を入れる場所を二箇所以上作ることは出来ますか?
0085デフォルトの名無しさんNGNG
>>84
できない、自作でダイアログを作れば?
0086デフォルトの名無しさんNGNG
他の言語でよくある、メイン関数の戻り値ってどうするんでしょう?
例えば、
foo.exe arg1
の実行結果が0なら正常、マイナスだったら異常とかってしたいのですが
可能でしょうか?
0087デフォルトの名無しさんNGNG
ExitProcess
008886NGNG
>>87
ありがとうございます!
ExitProcessで検索したら下のが出てきました。

http://oshiete1.goo.ne.jp/kotaeru.php3?q=893097
0089デフォルトの名無しさんNGNG
F12で消去したいのですが、、、、
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)

If KeyCode = vbKeyF12 Then
Text1.Text = ""

End Sub

なぜか消えてくれません。教えてください

0090デフォルトの名無しさんNGNG
>>89
Me.KeyPreview=Trueであるかどうか確認
009189NGNG
その通りでした。
ありがとうございます。
0092デフォルトの名無しさんNGNG
>>64
文字単位で反転するのは簡単だけど、ドット単位で反転させるのは面倒。
サンプルソースが見あたらなかったので、自作したことがある。
0093デフォルトの名無しさんNGNG
>>64
いまさらかもしれんけど、
文字を書いた上にShapeコントロールを反転(Xor)でおいてみたらうまくいかんか?
0094デフォルトの名無しさんNGNG
ちょっと質問

例えばチャットソフトを作ったとして、Pluginみたいな感じで
お絵かき機能とか追加してみたいんだけど、やっぱ、そういうのって無謀?

よくPluginっていうと、DLLとかで、対応ファイルが増える
とか、そういう感じだと思うんだけど、機能まるごとの追加は無理かな?
0095デフォルトの名無しさんNGNG
>>94
できなくはない。
0096デフォルトの名無しさんNGNG
>>94
あたりまえの話だが、そのソフトの設計によるだろ。
無謀ではないと思うけど、VBでやるとめんどうだろうね>プラグインの部分
結局の話、データがどういう構造していて、どう流れるかってのがきちんと
定義されていれば、ソフトの作りは後でからどうにでもなると思う。
0097デフォルトの名無しさんNGNG
Apacheみたいに全く新しい機能をプラグイン形式で追加できるものもあるから不可能じゃないな。
でもきちんとチャットソフトの方を設計しないと。
0098デフォルトの名無しさんNGNG
VBは動的なDLLの読み込みが難しいな
0099デフォルトの名無しさんNGNG
>>98
CreateObjectをうまく使えばVBだけで本体とプラグインの実現もできなくはない。
0100デフォルトの名無しさんNGNG
http://www.mentalis.org/apilist/BFE74A1901430F2637D60129E2B3C775.html
けっこう普通に動的にいけてるやん
0101デフォルトの名無しさんNGNG
>>100
工エエェェ(´д`)ェェエエ工
こんなん大丈夫なの?
WndProc渡すべきところにSetWindowTextA渡してるじゃん。
こんな使い方初めて見た。
0102デフォルトの名無しさんNGNG
>>101
それは SetWindowTextA の引数次第でしょ。
一般的な WndProc とコンパチブルなら問題無いワケで。
0103デフォルトの名無しさんNGNG
俺も>>101がなにをそんなに驚いているのかわからなかった。
010439NGNG
誰も答えてくれてない・・・シクシク。

こんなサイトを見つけました。
ttp://homepage1.nifty.com/MADIA/vb/vb_bbs2/200208_02080004.html
順次COMポートを開きエラーが起きればそのポートは無効、
無事開ければそのポートは有効にする方法で上手くいくみたいです。

さっき検索して自己解決しました。
それにしてもResume Nextを使うのか・・・もっとスマートな方法はないものか。
0105デフォルトの名無しさんNGNG
VB6で、MDIフォームを使っています。
作ったアプリのメニューバーを操作するときに左右の矢印キーを押していくと、
MDIフォームのメニューの「元のサイズに戻す」、「移動」、「最小化」、「閉じる」
が表示されます。
それを表示しない方法ってありますか?
OutlookExpressや他のアプリではならないのに・・・。
かっこ悪いです。
0106デフォルトの名無しさんNGNG
>>105
OutlookExplessはそもそもMDIじゃねぇ。
正真正銘MDIのExcelやAcrobat Readerはそういう挙動をするから試してみな。
0107デフォルトの名無しさんNGNG
>>105
MDIに限らず普通のメニューバー使っているアプリだったら、
全部そうなっているっぽいぞ。
むしろこれができないと、キーボード操作だけでウィンドウの位置を
変えたりができなくなるんじゃないの?
0108デフォルトの名無しさんNGNG
>>107
Alt + Space
0109デフォルトの名無しさんNGNG
>>108 そうか...

>>105
多分これって、Windowsの標準の動作なんじゃないの?
やるとすれば、サブクラス化してWM_MENUSELECTあたりのメッセージで
何とかするとか。
ただ、タスクバーボタンの右クリックで出したシステムメニューと区別できるのか
知らんけど。

あとOutlook ExpressとかIEのメニューって
Spy++で見ればわかるけど、実はツールバーなので、
http://www.kumei.ne.jp/c_lang/sdk4/sdk_311.htm
みたいに頑張ってつくるか、
市販のコントロールを探して買うとかすればいいと思う。
0110デフォルトの名無しさんNGNG
Functionがたくさんあるのですが、その中で Function名をそれぞれ出したいのですが、
いちいちFunction名をそれぞれに書いていくのが大変なので、Function内で
そのFunctionのFunction名を取得できるものがあったら教えて下さい。
0111質問3回目NGNG
フォームを移動させたときに
ピクチャーの中心の位置を表示させたいのですが

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
TwipX = Form1.Left + Picture1.Left + Picture1.Width / 2
TwipY = Form1.Left + Picture1.Top + Picture1.Height / 2
Label3.Caption = Val(TwipX) & " , " & Val(TwipY)
End Sub

でうまくいきません。(ドラッグアンドドロップした瞬間に表示がかわらない)
他に方法はありませんか?教えてくださいorz
0112デフォルトの名無しさんNGNG
>>106-109
今の自分には難しそうですね。 orz
完成したあと、実装を考えてみます。
ありがとうございました。 m(_ _)m
0113デフォルトの名無しさんNGNG
ダイアログのボタンにマウスカーソルが自動的に飛ぶ機能が
インテリポイントとかにあるけど
VBで自前で作ったダイアログだとカーソルが飛ばないんだけど
どうしたら飛ぶようになるかなぁ?
0114デフォルトの名無しさんNGNG
>>111
Timerコントロールを使う。
> TwipY = Form1.Left + Picture1.Top + Picture1.Height / 2
の行を修正する。
0115111NGNG
>114
ありがとうございます。うまくいきました
が、なぜか微妙に位置がずれてしまいます。
クライアント座標とスクリーン座標、twipsとpixel、Scale付きと無し
この辺の問題なんでしょうか?
教えてください。。。。
0116デフォルトの名無しさんNGNG
>>110
アドイン(アドオン)で半自動的にコードを挿入させて対応するしか。
またはマクロが使えるエディタを使ってみるとか。
0117デフォルトの名無しさんNGNG
>>113
その機能がどうやって動いているかを考える。
  1.アクティブなウィンドウのハンドルを得る
  2.そのウィンドウの子ウィンドウを検索
  3.クラス名が"Button"でテキストが"OK"、かつ非表示でないか評価
きっとこんな感じかと。Spy++で確認すれば分かるように、
VBで作られるボタンのクラス名は"ThunderCommandButton"(プ
なのできっとカーソルが飛ばないんだと思うよ。漏れの手には負えないから、あとは自分で考えてネ(はぁと
0118デフォルトの名無しさんNGNG
>>115
こんなんでどうかな?
理屈はソース見て考えておくれ。
Dim TwipX As Single
Dim TwipY As Single
Dim MarginLeft As Single
Dim MarginTop As Single
MarginLeft = (Me.Width - Me.ScaleWidth) / 2
MarginTop = Me.Height - Me.ScaleHeight - MarginLeft
TwipX = Me.Left + MarginLeft + Picture1.Left + (Picture1.Width - Screen.TwipsPerPixelX) / 2
TwipY = Me.Top + MarginTop + Picture1.Top + (Picture1.Height - Screen.TwipsPerPixelY) / 2
0119111NGNG
説明不足でした。
ずれるというのは
  ret = GetCursorPos(CurPos)
TwipX = CurPos.x * Screen.TwipsPerPixelX
TwipY = CurPos.y * Screen.TwipsPerPixelY
Label3.Caption = TwipX & " , " & TwipY

でpicture中央にカーソルを合わせたときと

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
TwipX = Form1.Left + Picture1.Left + Picture1.Width / 2
TwipY = Form1.Top + Picture1.Top + Picture1.Height / 2
Label3.Caption = TwipX & " , " & TwipY
End Sub

で300くらい縦にずれるということです
0120111NGNG
>>118
凄い!!!!
助かりました。理屈はわからないけど・・・w
0121デフォルトの名無しさんNGNG
>>117
手に負える神はおらぬか?(漏れの手にもおえない
0122デフォルトの名無しさんNGNG
>>113
ダイアログの Form_Activate イベント中に SetCursorPos (API)でマウスをボタンの上に移動すれば良いだけじゃ?
ボタンの中心位置の取得は>>118を参考。
0123デフォルトの名無しさんNGNG
VB6でHTTPチェックツールを作っています。HTMLファイルはあるが、移転したと予想されるHPの判別をするにはどうすればいいでしょうか?よろしくお願いし
ます。
0124デフォルトの名無しさんNGNG
>>122
いやいや、ええと、インテリポイントのオプションで自動移動をチェックしてる人だけ
インテリポイントの機能で移動するようにしたいの。
というのも、MsgBoxでボタンが2つ以上あるときは自動移動するんだよね。
だから、なんかボタンに設定すれば反応してくれるのかなって思ったんだけど
DefaultButtonとかじゃ何にもならないしなぁ。
いろんなダイアログボックスでボタンに自動移動してくれるんだけど
自作のフォームはちゃんとフォームを固定ダイアログにしてるのに行かないなぁ。
0125デフォルトの名無しさんNGNG
別スレからこちらへ誘導されました。宜しくお願いします。

VisualBasic6.0でExcelブックの内容を読み込む処理をしているのですが、
Excelブックを開くときに、
「オートメーション操作中にファイル名またはクラス名を見つけられませんでした。(Error 432)」
というエラーが出ます。
デバッグで1行ずつ実行すると上記のようなメッセージは出ないのですが、
exeファイルを実行するとメッセージが出ます。
原因と対応策を有識者の方、お願いします。
0126デフォルトの名無しさんNGNG
>>123

そのHTMLファイルを取得して、その中に移転関係の単語がないか
調べる。あれば、移転とみなす。
0127デフォルトの名無しさんNGNG
MSFlexGridで、セルの内容が更新されたかどうか調べるには、どうしたらいいのでしょうか?
0128デフォルトの名無しさんNGNG
>>125
参照設定で、Microsoft Excel 9.0 Object Library を入れて

Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Set xlApp = CreateObject("Excel.Application")

'この状態で起動した場合マクロの警告は表示されません。
'以下の2行が(その1)との相違部分です
Set xlBook = xlApp.Workbooks.Open("file.xls") 'オープンするファイル名
Set xlSheet = xlBook.Worksheets(1) '最初のシートに書き込み
'          Worksheets(Sheet1等のシート名でも可)

xlApp.Visible = False 'Excelを表示

' たて よこ
xlSheet.Cells(5, 5).Value = Left(Now, 10) 'セルに値を入力
xlSheet.Cells(6, 5).Value = "34"
xlSheet.SaveAs "file.xls" 'ファイルを保存
' xlApp.Workbooks("file.xls").Close SaveChanges:=True
'終了処理
xlApp.Quit
Set xlSheet = Nothing
Set xlBook = Nothing
Set xlApp = Nothing

とかやってもダメ?
0129会社からNGNG
こんばんは。
VBで明細行を作成しています。
VBでスクロールバーとIndexを使って、無限に明細を発生させる方法(ACCESSの明細行)
をご存知の方、よろしければ教えてください。
0130デフォルトの名無しさんNGNG
>>102-103

引数が違うものをコールバックすると意図しない個所が破壊されると思い込んでたんだけど、
もしかしてそんなこと無いのか?
______________________________________
            .   。oO
           (´-`)
0131デフォルトの名無しさんNGNG
>>129

意味がわかんねぇ。
発生させるって何だ?
無限って何だ? 無限に発生させて あふれないのか?
0132125NGNG
自己解決しました。
ありがとうございました。
0133デフォルトの名無しさんNGNG
>>132
で、理由は何でした?
0134125NGNG
>>128
レスしてくださり、ありがとうございます。
リロードしないで書き込んでしまいました_| ̄|○
すみません。
開きたいエクセルファイルの格納場所を
ネットワーク経由で設定してしまっていました。

あと、開こうとするファイルにマクロが含まれている場合、
メッセージボックスが表示されていました。
(感)参考にさせていただきます(謝)
013564NGNG
>>93 できた サンクス
0136デフォルトの名無しさんNGNG
Dim i as integer
と
Private i as integer
は
どうやって使い分ければいいでしょうか?
0137デフォルトの名無しさんNGNG
>>136
オブジェクトとかインターフェースとかキーワードに調べてみればなんとなく分かるかも。
あとはiというグローバル変数を作ってないのを祈るのみ。
0138デフォルトの名無しさんNGNG
>>130
CallWindowProcで関数呼び出すってテクはかなり昔からあるよ。
配列とかに(機械語の)コードを入れて、それを実行するときにも使える。
まぁ行儀のいいもんじゃないけど、ファームとかやってると
そっちの方が解りやすかったりするんだよなw
0139デフォルトの名無しさんNGNG
>>138
( ゚-゚).。oO(情報サンクス。そんなことが出来るんですか。世界は広いな)
0140デフォルトの名無しさんNGNG
>>138
Athlon64とXPSP2で動かなくなりそう
0141質問4回目NGNG
他のアプリケーション上で
一定間隔で特定のキーを入力するような命令はかけますでしょうか
教えてください。
0142デフォルトの名無しさんNGNG
keybd_event
0143質問4回目NGNG
Private Sub Text1_GotFocus()

Call keybd_event(CByte(A), 0, 0, 0)
Call keybd_event(CByte(A), 0, KEYEVENTF_KEYUP, 0)

End Sub

win32APIは宣言してあります。
調べて書いてみたんですが、文字が書き込まれません。
どこがまずいのでしょうか?
0144質問4回目NGNG
143解決しました
VK_Aなどとするんですね。
ところで他アプリケーションにキーを送りたいのですが
メモ帳などには送れるんですが
目的のゲームには送れないです。
遠隔的にキー操作ができないような仕様になってるのでしょうか。。。
何か方法があったら教えていただきたいです。
0145デフォルトの名無しさんNGNG
↑こういう人の神経って理解できんわ本当。
そんなもん浜の真砂ほどもあるVBのTips系のサイトには
たいてい出てると思うんだけど。

ここは2chにしか繋がらないインターネットですね、って環境なら納得するが。(嫌味
0146デフォルトの名無しさんNGNG
>>144
最近のゲームは大概DirectInputを使っています。
0147デフォルトの名無しさんNGNG
VB6.0でAPIを使おうとしているのですが、
APIを呼ぶときに引数の最終文字をNullにしたいのですが
どうしたらいいのでしょうか?


Public Declare Function APIName Lib "DLLname" _
(Param As string) As Long

こんな感じでAPINameというAPIを呼び出したい場合に
引数のParamの最終文字をNullにする必要があるのですが
どうしてもうまくいきません。
0148デフォルトの名無しさんNGNG
Param = Param & chr(0)

'テキトー
0149デフォルトの名無しさんNGNG
>>147
別にナル文字を自分つけなくてもVBが勝手にやってくれる。
うまくいかないのはたぶんByValがないから。
0150デフォルトの名無しさんNGNG
>>148

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

>>149
回答ありがとうございます。
せっかくですが
この引数はアドレス渡しだったので
うまくいきませんでした。
0151デフォルトの名無しさんNGNG
>>150
Declare宣言したプロシージャに文字列渡すときはByValで文字列へのポインタ渡すはずなんだけど…?
ポポインタを渡す関数かな?
0152デフォルトの名無しさんNGNG
MDIを用いてるのですが、中で表示しているMDI Formの位置やサイズにより
ツールバーが表示されなくなる場合があります。
どうしたら、常に表示するようにできるのでしょうか?
0153デフォルトの名無しさんNGNG
>>151
BSTRで受け撮る場合はByRef、char* で受け取る場合はByVal。
0154デフォルトの名無しさんNGNG
>>150

>>148と同じだが
Param = Param & vbNullChar
でもOK。
定数vbNullCharとChr(0)は等価
0155デフォルトの名無しさんNGNG
VB6でプログラムを作っています。
急にフォームの左上隅に画像が表示されるようになってしまいました。orz
http://sterdust.net/upload/upload.cgi?page=Download&dir=&sort=date&filename=aak.jpg
どうしたら、消えるでしょうか?
よろしくお願いします。
0156デフォルトの名無しさんNGNG
塩を四隅に置くとか、オフダをCRTの裏に張るとか・・・
0157155NGNG
>>156
マジレスきぼんぬです。。。
0158デフォルトの名無しさんNGNG
>>155
なんか起動したときにこのアイコンがクリップボード占領しやがるんだよね。VBだっけか。
ま、きっとプロパティシート上のFormオブジェクトのPictureプロパティの欄でDelete押せば直るさ
0159155NGNG
>>158
き、き、き、き、消えました!
本当に泣きそうだったんですよ。
ありがとうございました。 m(_ _)m
0160デフォルトの名無しさんNGNG
CのDLLからVBのEXEにPostMessageを送る場合
VBのEXEがアクティブになっている場合は正常なんですが
アクティブでない場合にPostMessageを受け取れないようなんですが
なにかここらへんの事を詳しく書いてあるHPとかありませんか?
0161デフォルトの名無しさんNGNG
教えてください。

ACCESSに直結してるテキストボックスなのですが
AとBの入力項目があり(それぞれ時間を入力)
テーブルにはA〜Bと1つにまとまって落ちる仕組みになっています。
これを別のフォームにAとB、別々に表示させるにはどうしたら良いでしょうか?
0162デフォルトの名無しさんNGNG
ASPでDoeventsみたいなloopを軽くする工夫はどうやるのでしょうか?
ASPスレでは何年も回答が現れてません
0163デフォルトの名無しさんNGNG
>162
DoEvents的な手法はない。
ASP(つーかサーバサイドVBScript)の仕組みを理解すれば分かる。
Loop系の負荷を軽減するには設計かアルゴリズムで何とかするしかない。
ASP.NETがどうだかは知らん。
0164デフォルトの名無しさんNGNG
VBプログラムの中から、ファイルをCVSにコミットしたりする方法しりません?
0165デフォルトの名無しさんNGNG
>>164
Shell関数とか
0166164NGNG
やっぱしShellかー
0167デフォルトの名無しさんNGNG
SellExecuteとかSendMessageとか
0168デフォルトの名無しさんNGNG
VB6で使えるHTMLパーサーを誰かご存知でしたら教えてください。
HTMLの解析だけ行いたいのでIEコンポーネントは使いたくないのです。
0169デフォルトの名無しさんNGNG
質問です。
ピクチャボックス等にraw画像を表示させたいのですが、
買ってきたVB本をみても、サポートされてないことが分かるだけで
どのように表示させればいいのか分かりません。
ググったところ、rawでなくTIFFについては書いてあったのですが…。

もしかしたら基本的なことすぎてどこにも書いてないのでしょうか?
サポートされていない画像形式の表示はどのようにするのかどなたか教えてください。
0170デフォルトの名無しさんNGNG
>>168
http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=9336&lngWId=1
探せばもっとあるかも。
0171デフォルトの名無しさんNGNG
>>169
・・・RAW画像ねぇ・・・はつみみです:)
VBが対応していないのならご自分で読み込み->表示の処理を書くほかありません。
もしくはコンバータがすでに存在するのであれば、バックグラウンドで走らせて読み込むなりしましょう。
0172デフォルトの名無しさんNGNG
>>171
レスありがとうございます。

Raw画像というのは結局のところ、バイナリの8ビット輝度値がずらっと並んでいる
全く加工されていないデータなので、
1pixelごとバイナリで読み込んで書かせるようにしようとすればできないことはないんですが、
Pset()メソッド?でやると、描画に時間がかかりすぎたり、ハングアップしたりして
使い物にならないんです(やってみたところハングアップしました)。何かほかの記述法はないでしょうか
0173デフォルトの名無しさんNGNG
>>172
描画はAPIで書くと速度が速くなるし、DIBでやるもよし。
0174デフォルトの名無しさんNGNG
>>173
ありがとうございます!
APIですか?
今検索かけたところ、GetPixel,SetPixelというのがありました。
とりあえず、これでやってみてみます。

助かりました。ありがとうございました。
0175デフォルトの名無しさんNGNG
DIB操作はこのページが分かりやすかったな。絵はアレだけど。ただしソースが一部間違ってた気がしたんで、要注意。
別に速度を求めないのなら、GetPixel,SetPixelVでもいいけどね。
ttp://www.mhl.janis.or.jp/~imai/Old/documents/getpx.html
0176デフォルトの名無しさんNGNG
>>174
SetPixelだと状況あんまり変わらないと思う。
RAWをDIBに変換してから描画のほうが確実で応用利くよ。
VBでやるとめんどくさいと思うが。

ttp://black.sakura.ne.jp/~third/system/winapi/win121.html
0177デフォルトの名無しさんNGNG
MDIフォームの中の一つのフォームの画面をキャプチャするには、どうしたらいいのでしょうか?
0178デフォルトの名無しさんNGNG
>>175-176
続けて検索かけてたら、setpixelは激遅という記述をみつけて
がっかりしてました。。

DIBにします。
ご丁寧にURLまで教えていただき感謝します。
rawをDIBに変換してから描画というのは、つまりビットマップに変換してから
ということですよね。それにチャレンジしたいと思います。
0179デフォルトの名無しさんNGNG
>>177
form.hwnd
0180デフォルトの名無しさんNGNG
vbでキーストロークとか感知できる?
0181デフォルトの名無しさんNGNG
ちょっと質問

例えば実行時にリストボックスをリサイズしたい場合
(フォームに合わせてサイズ変更じゃなくて、フォーム上でリストボックスだけリサイズ場合)
やっぱり、自分でカリカリコードを書かないとだめでしょうか?

細長いピクチャボックスのMouseMoveイベント使って
無理矢理実現することはできたんですが
もっとスマートな方法があったら知りたいです。
0182デフォルトの名無しさんNGNG
>>181
フォームに配置すれば自動的にサイズ変更してくれるようになるコントロールでも
探してるのかと思うけど、たしかそういうのは無かったはず。

スプリットバーのサンプルを参考に作ったんだよね?その処理をクラスに押し込んで、
フォームに1〜2行程度の初期化処理書いて終りにさせることはできるけど。部品の参照
もらってWithEventsで色々やる方法で。
まあ、これだと自分でコードをカリカリ書くのには変わりないんだが、使いまわしはできる
ようにはなるかな。

それか、既製品を買ってくるか、フリーのコントロール探すか、自分でコントロール作るか。
http://www.roguewave.com/products/stingray/
0183デフォルトの名無しさんNGNG
>>180
KeyDown ?

>>181
ウインドウスタイルをいじったりWM_NCHITTESTメッセージでごにょごにょすればできたような気もする
0184152NGNG
MDIの中に 3つほど子のFormを表示したとき、そのうちの一つをアクティブにすると
親のFormのツールバーが表示されることが わかりました。

他の子のFormをアクティブにすると ツールバーが消えてしまいます。
どうしたら、消えないようにできるでしょうか?
0185デフォルトの名無しさんNGNG
>>152
再現できないなぁ、環境も書いてくれ。
こっちは
Windows Xp
Visual Basic 6.0
ツールバー Microsoft Windows Common Controls 6.0 (SP4)

ちなみに、ツールバーはMDIに張ってあるんだよね?
0186デフォルトの名無しさんNGNG
>>184
NegotiateToolbars とかそのへんはどうなってる?
0187152NGNG
>>185,186

ツールバーが表示されない画面は、右クリック用にメニューが
設定されていたのが わかりました。

この場合、どうしたら表示されるのでしょうか?

>NegotiateToolbars とかそのへんはどうなってる?
Trueです。
0188デフォルトの名無しさんNGNG
VBで通常使用するプリンタの設定チェックを制御したいんですが。
可能でしょうか?
方法のヒントを教えてください。
0189152NGNG
NegotiateMenus を False にしても 親のツールバーが表示されませんでした。
0190デフォルトの名無しさんNGNG
なんだ勘違い。
消えるのはメニューバーね?
その場合はポップアップメニューをMDI側に置き、
子MDIフォームでそれを呼び出すようにすれば良い。
子MDIにはメニューの設定をしない。
0191デフォルトの名無しさんNGNG
Ver:VB6 保存データをエクセルとして住所録を作ろうと思っています。データコントロールを使って検索機能を付けるとしたら、エクセルを読み込んで各項目づつ検索するしかないでしょうか?アドバイスお願いします。
0192152NGNG
>>190

サンクス。
親にすべてメニューを持たせれば よかったんですね。
思いつかなかった。
0193デフォルトの名無しさんNGNG
Private Sub Form_Unload(Cancel As Integer)

ここの Cancelの値の内容を どなたか教えて下さい。
0194デフォルトの名無しさんNGNG
>>193
Cancel に 0 以外の値値を入れてサブルーチンを終了するとアンロードがキャンセルされます。
0195177NGNG
画面のキャプチャ自体どすうればいいのでしょうか?

あと、そのキャプチャしたある範囲だけ白黒を反転させたいのですが、
そのようなことはできるのでしょうか?
0196デフォルトの名無しさんNGNG
bmpファイルを印刷するには、どうしたらいいのでしょうか?
また、ヘッダーとかフッターとかつけられるのでしょうか?

プリンタドライバがインストールされていないとかは
どうしたらわかるのでしょうか?
また、プリンタの状態(電源が入ってないとか、用紙切れとか)は
わかるのでしょうか?
0197177NGNG
白黒反転は、別のところでやるのでいいです。

MDIの子フォームだけをキャプチャする方法を教えて下さい。
0198177NGNG
PrintScreenなどのキーを押すことにより
キャプチャすると 不要な個所までキャプチャされてしまいます。

それは 避けたいのです。
0199デフォルトの名無しさんNGNG
別のフォームのテキストボックスから値(文字列)を取得する際、

(フォーム名)!(テキストボックス名)

とソースにあったのですが、この”!”にはどういう意味があるのですか?

(フォーム名).(テキストボックス名)

でもいいと思うのですが、知っている方がおられましたら教えてください。
0200デフォルトの名無しさんNGNG
VB6買ったんですけど何をすれば分かりません。
誰か教えてください
0201デフォルトの名無しさんNGNG
>>200
次にする事は、VB.NETを買いにいけ。
0202デフォルトの名無しさんNGNG
>>199
16bit時代のVBの名残かと。当時フォーム部品の参照には"."ではなく"!"を使うようにMSが奨励していた.。(うろおぼえ)
REMとかLet A=B(ただの代入式)とかも最近は見かけないね。
>>200
インストール、はがきを送る
0203デフォルトの名無しさんNGNG
>>202
そういうことですか。ありがとうございましたm(_ _)m 実はVB4のソースで、"."となっていた為にメモリ不足となって
意味がわからず困っていたのでした。
0204デフォルトの名無しさんNGNG
>>195
CreateCompatibleDC, CreateCompatibleBitmap, SelectObject, BitBlt
InvertRect, InvertRgn

>>197
GetWindowPos, ClientToScreen

このあたりのAPIをいろいろやればできるはず。

>>198
Alt+PrintScreen
0205デフォルトの名無しさんNGNG
>>204
> Alt+PrintScreen
はMDIフォームも一緒にコピーされるやん。
0206デフォルトの名無しさんNGNG
>>204

それだけでは わからん。
0207デフォルトの名無しさんNGNG
>>206
ならばあきらめろ。
0208デフォルトの名無しさんNGNG
http://support.microsoft.com/default.aspx?scid=kb;ja;161299
を参考にやってみて、単体だとうまくいくのですが、

自分で作ったアプリに組み込むと

Set CreateBitmapPicture = IPic

の個所で型が一致しませんとか エラーが出ます。
なぜなんでしょうか?
0209デフォルトの名無しさんNGNG
アプリケーションプロセスメッセージってどうやって出すんですか?
0210デフォルトの名無しさんNGNG
>>208
どっかで失敗してるんだろ。
0211デフォルトの名無しさんNGNG
As Picture
って型宣言しているけど そんなのあるの?
0212デフォルトの名無しさんNGNG
>>211
LoadPictureの戻り値なんかがそれだ。
普通にヘルプに載ってるぞ。
0213デフォルトの名無しさんNGNG
あ、As IPicture のほうだな。
こっちは どういうの?
0214デフォルトの名無しさんNGNG
VBでoffice文書をmht形式に変換って可能?
もしくはOffice文書→htm→mhtの流れ。

エロいひと教えてください。
0215デフォルトの名無しさんNGNG
ファイルをオフィスで開いて、保存するときに htmとすると
htmとなるかも。
0216デフォルトの名無しさんNGNG
>>215
ただし中身はとてもHTMLとは思えない罠。
0217デフォルトの名無しさんNGNG
>>216
一応、中身もHTMLだぞ。
見られたもんじゃないけどな(w
0218デフォルトの名無しさんNGNG
初歩的な質問ですいません。

 VBでプロシージャ内で宣言するローカルな静的変数の初期値を
 設定する方法を教えて下さい。
0219デフォルトの名無しさんNGNG
>>217
例えばWordでgifとか貼り付けたときに、「ファイル名.file」ができる。
Office2kとかだと、mhtmlにしても、「ファイル名.file」フォルダを包括できない。
だから「ファイル名.file」消しちゃうとmhtmlがちゃんと表示できない。

これが解決できる人はいませんか?
0220デフォルトの名無しさんNGNG
消さなければいい
0221デフォルトの名無しさんNGNG
age
0222デフォルトの名無しさんNGNG
>>218

Dim A as String
A = ""

か
Dim A as String : A = ""

の好きなほうを選べw

0223デフォルトの名無しさんNGNG
>>222
ありがとうございます。

静的変数の初期値の設定なのですが、これだとプロシージャを呼ぶたびに
初期化してしまいませんか?
0224デフォルトの名無しさんNGNG
Static Initialized As Boolean
Dim Hoge As String

If Not Initialized Then
 Hoge = "HAGE"
 Initialized = True
End If
0225デフォルトの名無しさんNGNG
>>224
Dim Hage で宣言してどうするんだよとセルフツッコミ
0226デフォルトの名無しさんNGNG
>静的変数の初期値の設定なのですが、これだとプロシージャを呼ぶたびに
初期化してしまいませんか?

あ〜た〜り〜ま〜え〜じ〜ゃ
0227デフォルトの名無しさんNGNG
>>220
使えねぇヤシだな
0228デフォルトの名無しさんNGNG
>>227

そんな使えないやつを使うのではなく、オマエがやればいい。
0229デフォルトの名無しさんNGNG
>>228
ハァ?なに言ってんだおまえ
0230デフォルトの名無しさんNGNG
時間待ちをしたいのですが、

Public Sub Wait(Interval As Long) 'ウェイト処理
Dim stime As Single, ntime As Single
stime = Timer '開始時刻
ntime = stime + Interval / 1000 '終了時刻
Do While Timer < ntime
DoEvents 'ウィンドウズに制御を返す
If Timer < stime Then Exit Do '時刻リセットへの対処
Loop
End Sub

というふうにすると 0時を はさむとき、おかしくなります。
0時をはさんでも大丈夫なようにするには、どうしたらいいでしょうか?
0231デフォルトの名無しさんNGNG
If ntime > 86400 Then
0232デフォルトの名無しさんNGNG
Private Sub Wait(Interval As Long) 'ウェイト処理
Dim stime As Single, ntime As Single
Dim dtime As Single
stime = Timer '開始時刻
ntime = stime + Interval / 1000 '終了時刻
Do
DoEvents 'ウィンドウズに制御を返す
dtime = ntime - Timer
If (dtime >= 86400) Then
dtime = dtime - 86400
End If
Loop While (dtime >= 0)
End Sub
0233デフォルトの名無しさんNGNG
>>232

Time = "23:59:59"
Call Wait(50000)

こうすると 一日ループする。
残念ながら失格!
0234デフォルトの名無しさんNGNG
>>232

dtime = dtime - 86400 を
ntime = dtime - 86400 に変えればOK
0235デフォルトの名無しさんNGNG
>>230
おいおい、そんなことの解決法って自分のこと振り返って考えても
小学校4年生ぐらいでも思いつきそうなもんだが。。

釣りじゃないならかなり惨めだと思われる。
0236デフォルトの名無しさんNGNG
VBで指定ファイルからDBテーブルにレコード追加するプログラム(Insert.exe)を作りました。
このプログラムは引数にファイルパスをつけて起動し、フォームにはファイル名と
プログレスバーを表示して、コントロールは一切ありません。
ファイル中の全てのデータを登録したら自動的に終了します。

次に別のVBプログラム(oya.exe)からこのInsert.exeをshell関数で起動させると、
Insert.exeの処理が全て終わるまで次の処理に進みません。

いろいろいじって調べると、Insert.exeのForm_Loadを抜けないとoya.exe中のshell関数
へ処理が戻ってこないようです。
今はForm_Loadの中で登録処理ルーチンをコールしてますが、Form_Loadを抜けて自動的に
登録処理ルーチンを走らせるにはどうしたらいいでしょうか?ボタンイベント等の人の手による作業は
発生させたくありません。

Win2000 VB6.0 です。
0237デフォルトの名無しさんNGNG
WinSockコントロールを使って不安定になることとかって普通ないよね?
なんか、下みたいなソース書いたら、たまーに不安定になることがあって
現象をうまく再現することができず、原因を特定できませぬorz

送信側
 ・コマンドを送る
 ・コマンドは、コマンド番号(2byte) パケット長(2byte) データ(nbyte)

受信側

Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
Private mTcpBuf() As Byte
Private mTcpBufPos As Long
Private mPacketSize() As Long

Private Sub tcpWinSock_DataArrival(ByVal bytesTotal As Long)

Dim ReceivePacket As clsPacket
Dim Buf() As Byte, PacketSize As Long

tcpWinSock.GetData Buf, vbByte

0238デフォルトの名無しさんNGNG
ReDim Preserve mTcpBuf(mTcpBufPos + UBound(Buf))
CopyMemory mTcpBuf(mTcpBufPos), Buf(0), UBound(Buf) + 1
mTcpBufPos = mTcpBufPos + UBound(Buf) + 1

Do While mTcpBufPos > 2
PacketSize = mTcpBuf(2) + mTcpBuf(3) * &H100
If PacketSize <= mTcpBufPos Then

ReDim Buf(PacketSize - 1)
CopyMemory Buf(0), mTcpBuf(0), PacketSize
If mTcpBufPos <> PacketSize Then
CopyMemory mTcpBuf(0), mTcpBuf(PacketSize), mTcpBufPos - PacketSize
End If
mTcpBufPos = mTcpBufPos - PacketSize
ReDim Preserve mTcpBuf(mTcpBufPos)

Set ReceivePacket = New clsPacket
ReceivePacket.SetPacket Buf
'ReceivePacketに関する処理
Erase Buf
Else
Exit Do
End If
Loop

End Sub

さーっと見て、おかしいところがあったら教えて欲しいなり
0239デフォルトの名無しさんNGNG
>>237
不安定の明細は無しかよ
0240デフォルトの名無しさんNGNG
バッファにどんどん溜まってるときがあるような気がする。
つまり、mTcpBufの先頭が、パケットの先頭でなくなってしまうときがあって
それで、そのあとがずっと処理されない、みたいなときがあるきがします。

他の原因もあるかもしれないんですけど。
0241デフォルトの名無しさんNGNG
&書かなきゃいけないところに+書いてるとか?
全然わかんね。
0242デフォルトの名無しさんNGNG
>>236

Private Sub Form_Load()
 Timer1.Enabled = True
End Sub

Private Sub Timer1_Timer()
 Timer1.Enabled = False
 Call 登録処理ルーチン()
End Sub
0243デフォルトの名無しさんNGNG
VB6とWin2kを使っています。
どうにもイミディエイトウィンドウが使いにくいのでdebug.printの内容を別ウィンドウに表示したいです。
そういうツールか方法をご存じありませんか?
お願いします。
0244236NGNG
>>242

なるほど、タイマーですね。ありがとうございます。

でも、VBってForm_Loadで長時間働いていても、
そこを抜けない限りシステムに「起動したよ」って知らせ
ないんですかね。ちょっと不思議。
0245デフォルトの名無しさんNGNG
>>243
Appオブジェクトにログ出力の機能があったような。
あとは自分で別フォームなりテキストファイルなりメモ帳なりに出力させる。

>>244
WaitForInputIdleで待っているんだろうか。
最初のForm_Loadが終わるまで初期化が完了していない扱いなんじゃないかと。
0246236NGNG
例えば、今回のケースや解凍ツール等の全自動処理のプログラムでは
フォームの初期化を一旦終わらせてからメイン処理に移るときに、
タイマーイベントを使うのは常套手段なんでしょうか?

ただ、処理をして終わるだけのプログラムの構造としては
なんだか回りくどい印象を受けます。
イベント駆動型の言語だから仕方ないのかな。

興味を持ったのでネットで調べても、そのようなテクニックは
見つけられませんでした。皆さんもそうやって作っているんでしょうか。

0247デフォルトの名無しさんNGNG
WinXP VB5.0

AというフォルダをコピーしてBというフォルダを作ります。
Bフォルダのプロジェクトを開いてプログラムを作成したあと
プロジェクトの上書き保存をします。
このとき変更したフォームがBフォルダ内では更新されずAフォルダ
のみで更新されます。
しかし、Bフォルダのプロジェクトを開いてコンパイルしても正常に
されるのですが、何故なのでしょうか?
0248デフォルトの名無しさんNGNG
>>246
Form_Activateで処理すれば?
0249デフォルトの名無しさんNGNG
>>247
.vbpファイルをテキストエディタで開いて
フルパスで指定されているところを直しましょう。
0250デフォルトの名無しさんNGNG
>>246
試してはいないけど、Sub Mainをスタートアップにして
その中でフォームを表示してから処理するようにしたらどうだろう?
0251246NGNG
>>248
これだと何回も処理が発生するのでは?
そか、フラグで判断して最初だけ処理すればいけますね。
今度試してみます。

>>250
実はそれも試したのですが、Sub Mainが終わらないと
呼び出し元のshell関数には処理が戻ってきませんでした。
Sub Mainも初期化扱いなのかも知れません。
0252247NGNG
質問の続きなのですが、
Bフォルダのプロジェクトを開きプロジェクトエクスプローラ上で
すべてのフォームとモジュールをBフォルダに上書き保存し、
プロジェクトに保存しました。
その後Bフォルダのプロジェクトを開くとエラーが出てしまい、
VBが落ちます。これは何故なのでしょうか?
パスを直せばなおるのでしょうか?
0253デフォルトの名無しさんNGNG
>>252
エラーの内容もかかずに
0254247NGNG
申し訳ありません。
エラーの内容ですが、「問題が発生したために終了します」と
出てエラー内容を送信する画面がでます。
0255デフォルトの名無しさんNGNG
>>251
プロジェクト内の別フォームだと何回もActivateが発生するけど、
この場合は大丈夫だと思う。
0256デフォルトの名無しさんNGNG
>>247
たぶんこの中に対策が見つかると思う。
いや、単純に答えを教えるのは簡単だが、今後のこともあるだろうから。
http://www.vbasekai.com/mssp/vb5-6.html
0257デフォルトの名無しさんNGNG
>>251
VBだとあまり無いかもしれないが、WM_USERなんかを使ってPostMessageで
処理を登録する(溜まっているメッセージを処理させた後に目的の処理を起動する)
のはよくある話だと思う。
VBだとサブクラス化しないとWM_USER使えなかったはずだから、Timerで代用する
という手段は、けっこう常套手段じゃないかな。
0258デフォルトの名無しさんNGNG
Shell関数だけで非同期で起動させるのは諦めた。
ShellExecuteEXに頼るよ・・・
0259デフォルトの名無しさんNGNG
VBを起動したときクリップボードがクリアされちゃうのはなぜ?
0260デフォルトの名無しさんNGNG
>>259
VBのIDEのメニューのアイコンをクリップボード経由でしか設定できないから?
0261デフォルトの名無しさんNGNG
結論から言うと、C言語の方が優れてるわけ?
・・・でもVBしかわからん
0262デフォルトの名無しさんNGNG
>>246
"Insert.exe"をActiveX Exeで作成して、oya.exeから呼び出すのはどう?
0263デフォルトの名無しさんNGNG
>>261
用途によって使い分けるのが普通。
C/C++ならなんでもできるけど、面倒な部分もあるからVBでやったほうが早い
って場合も多い。
VBに限らずだけど、言語の長所と短所を知るのが大切。
まあ、VB6は終わりかけだから、使い続ける気は無いけどね。
0264デフォルトの名無しさんNGNG
これからはVB2005ですかそうですか。
0265デフォルトの名無しさんNGNG
>>264
2005なんて出るんだw

てかVBでホームページとか作れますか?ちょっと凝った感じの
0266デフォルトの名無しさんNGNG
>>265
やってやれないことはないけど適材適所にはほど遠いと思う。
0267OratorNGNG
>>10
自分はたまに 1.、基本は2.です。(テスト完了物は、仕方ないので3)

コンパイル後のログ出力が必要な時は、Debug.Printの代わりに
245氏も書いてる App.LogEventで代用してます。稀ですけど。

>>12
変数の表示程度なら良いですが、限定条件下では、
コンパイル後の動作に影響を与える事もあります。

Option Explicit
Private m As Integer
Public Function Test() As Integer
  m = m + 1
  Test = m
End Function
Private Sub Form_Load()
  m = 123
  Debug.Print Test() / 0
  MsgBox CStr(m)
End Sub

のようなコードの場合、
  開発時: 0除算エラー
  EXE時: エラーにはならない(※)けど、mは124に。
という結果になるので、コメントにしちゃうと結果が変わります。

(※) ただしTest()内でエラーが起きた場合、EXE時でもエラー。

なので、他人のソースを修正している場合は注意が必要かも。
0268デフォルトの名無しさんNGNG
ちょっと質問なんだけど、クラスでWinsockコントロールって使えないの?

Private WithEvents mTcpSocket As Winsock

Private Sub Class_Initialize()

  Set mTcpSocket = New Winsock

End Sub

みたいなコードを書こうと思ったんだけど、どうやってもNewできない。
Winsockコントロールは、フォームに貼り付けるの限定ですか?
0269268NGNG
ごめん、半分だけ自己解決した
「コンポーネント」じゃなくて「参照設定」すればいいのか。

ただ、この方法は、タイマーコントロールには使えない気がするんだけど
タイマーコントロールは、やっぱりフォームに貼り付けるの限定?
0270デフォルトの名無しさんNGNG
SetTimer
0271デフォルトの名無しさんNGNG
>>270
APIを使えば良いということですよね?
それなら実現できるかと思うのですが、出来ればおき楽に実現したいと思っています。
何か良い方法がありましたら、アドバイスをよろしくお願いいたします
0272OratorNGNG
>>269
Timerコントロールに限らず、標準コントロールは無理かと。
(ActiveXコントロールなら、物によっては使える事もありますけど)

ActiveXだと、IETimerコントロールってのがありますけど、
CreateObject("Internet.Timer") だとイベントが起きないかも…。
http://activex.microsoft.com/controls/iexplorer/x86/ietimer.cab


で、代用案としては、DHTMLのsetIntervalメソッドなどが使えます。

Set mobjClass = New Class1
Set mdocObject = GetObject(App.Path, "htmlfile")
Do Until mdocObject.readyState = "complete"
  DoEvents
Loop
mlngClearInterval = mdocObject.parentWindow.setInterval(CVar(mobjClass), 400, "VBScript")

こうすると、Class1の「規定のメソッド」が、400ミリ秒間隔で呼ばれます。
止めるときは、『mdocObject.parentWindow.clearInterval CVar(mlngClearInterval)』。

ただし、「規定のメソッドを持ったオブジェクト」を用意しないといけないのが難点。
0273デフォルトの名無しさんNGNG
ううむ、やっぱり方法はあるけど、結構厳しいのですね。
どもどもありがとうございました。
何か手を考えてがんばろうと思います。
0274デフォルトの名無しさんNGNG
>>271
最初の苦労を厭わないのであれば自分でそんなコンポーネントを作る。


別に探してきてもいいんだけど。
0275246NGNG
>>262
ActiveX Exeを使ったことが無いというのもあるのですが、
今回は非同期起動できるだけでいいのでタイマーイベント
で解決しました。どうもです。
0276デフォルトの名無しさんNGNG
>268
GUI上に表現されるわけではないのに、フォームに貼り付けないとダメっていうコントロール多いよ。
そういう時は、フォームモジュールに貼り付けてクラスモジュール代わりに。
フォームモジュールもGUIがくっついてるだけで実体はクラスモジュールだから、LoadだけしてShow
しないという使い方をすればまあ、クラスとして使えなくも無い。
0277デフォルトの名無しさんNGNG
>>267
へー Debug.Print って コンパイル時にコンパイルされないのかと
思ってたら、ちゃんとコンパイルされるのね。
で、エラーが出ないのはどうして?
0278デフォルトの名無しさんNGNG
開発環境:IIS5.0 + SQLServer2000 + ASP(VBScript)

某サイトの管理システムの一部なのですが、画像アップローダを作成することです。
アップロード操作画面に遷移したら、画像ファイルディレクトリ(アップロードする場所もここ)を参照し、
アップロードした(もしくはしてある)ファイルが5ファイルまで、一覧表示され、削除もできます。
というYahooオークションでのUI・改です。
http://up.isp.2ch.net/up/a4df3ce4ef4a.lzh
を参照願います。

途中までサンプルを作ったのですが、ちょっとよくわからないので教えて下さい。

詳細は添付の、基本設計.txtを見てもらえればわかると思います。

<何がわからなくて、何が教えて欲しいか>
・アップロードするディレクトリからファイル参照して、画像ファイルだけローカル変数に、格納して操作したい。
・自作設計なのでもっといい方法があれば教えていただきたい。
・できれば削除する際のポイントを教えていただきたい。

ASPでなくても「VBSならこうする」でも良いので、
よろしくお願いします。
0279デフォルトの名無しさんNGNG
実は何が分からないか、分かってないんじゃない?よーするに、FileSystemObjectの扱い方でしょ。
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/script56/html/jsfsotutor.asp
ググればワンサカひっかかるさ。
0280278NGNG
>>279
ありがとうございます。
しっかり勉強してきます。
0281デフォルトの名無しさんNGNG
初心者です。画像と画像を合わせて、新たに画像をつくりたいとき、どーすればいいんでしょうか。
二つの画像の一点をとり足し合わせていけばいいんですか?その時の色の指定はどうーすればいいんでしょうか。
すいません、おしえてください。

0282デフォルトの名無しさんNGNG
>>281
合わせるとはαブレンドのようにしたいのかスプライトのようにしたいのかいろいろあるが
××のソフトの××のような事をしたいという風にきけばイメージわくんだがな
0283デフォルトの名無しさんNGNG
>>281
簡単に済ませたいならPaintPicture。
凝った処理したいならDIB使って
>二つの画像の一点をとり足し合わせていけばいいんですか?
みたいなことをする。
分からないことが出たら、ここで聞くより「画像処理」でググッたほうが早い。
0284デフォルトの名無しさんNGNG
ゲームでも作ってみたよー
アクション系でジャンプとか無くてひたすらパンチ
奥行きの無いファイナルファイトって感じ
自分で作ったから自分なりに楽しいよー
でも最後まで作るのマンドクセかったから一面で終わりだよー

って言うかVBはやはり他の言語に劣るのかなー
あんな機能使いたいとか思ってたら結局API?に頼ってるし
でもがんばれば無限大だよね?????
0285VB太郎NGNG
サービスパックってのを当てたいんだがそれって何処にあるんですか?
マイクロソフトとかのホームページで無料でダウソロードできるもの
なんですか?
0286VB太郎NGNG
>>284
そのゲームやりてぇ!
うぷして〜
0287デフォルトの名無しさんNGNG
>>285
お前は何のために>>1に色々リンク張ってると思ってるんだ?
0288デフォルトの名無しさんNGNG
>>287
馬鹿野郎!!
285はServicePackがサービスパックと分からない子供かもしれないだろっ
こういう奴が将来ドカプルグラマになってくれるんだぞっ

つまりあれだ、寝る前にひとネタ、と
0289デフォルトの名無しさんNGNG
F1〜F10キーの押しっぱなしツールを作ろうと思ったんだけど
キーを押下状態か押上状態かをコントロールする方法がわからなかった。
そこでSendKeysとループ使って、下記の様に押しっぱなし風に作ってみたんだけど
無限ループで固まってしまった。(押しっぱ解除ボタンを作ったのだが、固まるため押せない)
キーの押下、押上状態をコントロールする方法を教えてください。

OS:WindowsXP VBver:VB6.0
_________________
Do While BleStop = False         ’BleStopは解除ボタン押されたかどうか判断する変数
If M_Opt_F1.Value = True Then     ’M_O_F1はオプションボタン
SendKeys "{F1}"
ElseIf M_Opt_F2.Value = True Then
SendKeys "{F2}"
ElseIf M_Opt_F3.Value = True Then
SendKeys "{F3}"
ElseIf M_Opt_F4.Value = True Then
SendKeys "{F4}"
ElseIf M_Opt_F5.Value = True Then
SendKeys "{F5}"
ElseIf M_Opt_F6.Value = True Then
SendKeys "{F6}"
ElseIf M_Opt_F7.Value = True Then
SendKeys "{F7}"
ElseIf M_Opt_F8.Value = True Then
SendKeys "{F8}"
ElseIf M_Opt_F9.Value = True Then
SendKeys "{F9}"
Else
SendKeys "{F10}"
End If
Loop
0290デフォルトの名無しさんNGNG
>>289
Sendkeysの代わりにAPIのkeybd_eventを使えばコントロールできます
んでそのループの間にDoeventsをはさんであげれば解除ボタンがきっと押せることでしょう
0291VB太郎NGNG
どっちダウソすればいいの?
ボク小学生だから英語読めないんだ。

Download Service Pack 6 for Visual Basic 6.0
Full Version - Single Download
Full Version - Multiple Part Download
0292VB太郎NGNG
一回で全部ダウソと何回かに分けてダウソ。
内容は同じって意味なのかな?
あと、これダウソしたら英語になっちゃったりしない?
0293デフォルトの名無しさんNGNG
>>291
じゃあ日本語のサイトから探せよ
0294デフォルトの名無しさんNGNG
VB6.0 (SP6)をつかってるんですが。ListViewで一行ごとに色を変えたい(文字じゃない)
のですがどうやればできますか?
なんだかオーナードローって言うのを使うのまではわかったんですが、
お願いします。

WIndowsXPです
0295VB太郎NGNG
>>293
日本語のサイトあるの?
英語のサービスパック当てたら英語になっちゃうの?
0296デフォルトの名無しさんNGNG
ま、英語のサイトにあるものを入れても
日本語が出てくるとは、誰も思わないわな。
0297名ありNGNG
N88BASICやれ!!!!
0298デフォルトの名無しさんNGNG
>>294
オーナードローねぇ・・・
ListViewに似たものを作ったほうがラクだな
0299デフォルトの名無しさんNGNG
N88BASICで何をやるんだ?
0300VB太郎NGNG
>>294
グリッドを使えば?

ところで、サービスパックの日本語版何処でダウソするの〜?
0301デフォルトの名無しさんNGNG
質問です。VBで漢字をカナでソートしたいのですが、できますかね?
0302デフォルトの名無しさんNGNG
>300
MSのサイトトップ→ダウンロード→製品にVBを選択して検索
0303デフォルトの名無しさんNGNG
できません。
0304VB太郎NGNG
>>302
ありがとう
0305デフォルトの名無しさんNGNG
>>301
データ構造として、カナフィールドを内部で持てないとできっこない。
で、漢字に対するカナ情報を何らかの手段で与えられればできるんじゃないの?
でも、これってVBとかによらずに、漢字に対するカナを誰が決めるか次第でしょ。
同じ漢字でも複数の読みがあるし。(じゅうふく・ちょうふく、など)
0306VB太郎NGNG
ええっとぉ、ダウソした後、exeファイルをダブルクリックしたら、
なんかいっぱいファイルが出てきたんだけどその中の、acmsetup.exe
をダブルクリックしてもエラーになるだけなんだけど、どうすればいいの?
0307デフォルトの名無しさんNGNG
ダウンロードページの注意事項をよく読んでみよう。
0308デフォルトの名無しさんNGNG
>>305
やっぱ無理ですかね。ありがとうございました。
0309デフォルトの名無しさんNGNG
>>306
いいかげんに氏ね
0310VB太郎NGNG
出来た。
0311デフォルトの名無しさんNGNG
つうか、相手にするなよ。
過去見ても定期的にくる嵐だよ。
0312302NGNG
餌を与えた俺の罪だ・・・
0313デフォルトの名無しさんNGNG
画面のレイアウトするときに、Labelを貼り付けるとき
AutoSaizeをTrueで貼り付けられないでしょうか?
いちいち Trueに変えるのが面倒なので。
0314デフォルトの名無しさんNGNG
>>313
Autosize=Trueに設定したラベルをコピペする。
もしくはFor...EachでクルリとループをまわしてForm_Loadですべてのラベルについて設定する
0315デフォルトの名無しさんNGNG
Private WithEvents mIE As InternetExplorer
Private doc As HTMLDocument

Private Sub Form_Load()
'Set mIE = New InternetExplorer
Set mIE = CreateObject("InternetExplorer.Application")
Set doc = mIE.Document
End Sub

すみません、教えてください。これで、
Set doc = mIE.Document
がオートメーションエラーになるのは何故でしょうか?
0316デフォルトの名無しさんNGNG
俺は、
Public WithEvents ie As SHDocVw.InternetExplorer
で
Set .ie = New SHDocVw.InternetExplorer
って風にしてるけど。
理由は、本に載ってたから(笑)
0317316NGNG
SHDocVw.InternetExplorer が重要だと思う。
0318316NGNG
ちがうな。
参照設定してる?>315
0319316NGNG
あかん、わかってなかったみたいだ・゚・(ノД`)・゚・
0320316NGNG
>>315
質問なんですが、
 if mIe Is Nothing Then
  Set mIe = New SHDocVw.InternetExplorer
 End If
のようにしないのは、なぜですか?
0321デフォルトの名無しさんNGNG
>>318
はい。
参照設定されていなければ宣言でエラーでますよね?
0322デフォルトの名無しさんNGNG
>>318
1新規作成
2標準EXE
3参照設定 追加 Microsoft HTML Object Library
4参照設定 追加 Microsoft Internet Controls
5以下をForm1にペースト
---
Option Explicit

Private WithEvents mIE As InternetExplorer
Private doc As HTMLDocument

Private Sub Form_Load()
 'Set mIE = New InternetExplorer
 Set mIE = CreateObject("InternetExplorer.Application")
 Set doc = mIE.Document
End Sub
---
6実行
7エラー発生
---
実行時エラー '-2147467259 (80004005)':

オートメーション エラーです。
エラーを特定できません
継続(&C)終了(&E)デバッグ(&D)ヘルプ(&H)
---

という感じです。
#参照設定がおかしいのかなあ・・・
0323デフォルトの名無しさんNGNG
>>320
そうしても、同じでした。なぜ、なぜといわれるとこれでもいいんじゃないかなぁと思ったからというか。


IEのオブジェクトは取得できてて
Visible = True すれば、IEは立ち上がっています。
でも、Documentが見れません。ウォッチすると、こんなふうです。

: Document : <アプリケーション定義またはオブジェクト定義のエラーです。> : Object : Form1.Form_Load
0324316NGNG
Private doc As HTMLDocument
って
Private WithEvents doc As HTMLDocument
じゃないの?
0325316NGNG
参照設定だから、WithEventsってことかな?
0326デフォルトの名無しさんNGNG
>>324
Option Explicit

Private WithEvents mIE As SHDocVw.InternetExplorer
Private WithEvents doc As HTMLDocument

Private Sub Form_Load()
If mIE Is Nothing Then
Set mIE = New SHDocVw.InternetExplorer
End If
Set doc = mIE.Document
End Sub

でも同じエラーがでます。そちらでは動くのでしょうか?
0327316NGNG
>>326
mIE.Navigate "http://www.yahoo.co.jp/"
とか指定したら、エラーでませんね。

0328316NGNG
>>326
http://homepage1.nifty.com/MADIA/vb/vb_bbs/200401_04010013.html
を見たらよくわかりますよ。
0329デフォルトの名無しさんNGNG
>>328
わぁありがとう御座いました。
まだドキュメントを開いていないからオブジェクトが無いってことだったんですね。
やっとわかりました。
0330デフォルトの名無しさんNGNG
VB 5.0で、全角文字の変数名、プロシージャ名を使うのってどうなのよ?

最近派遣で出入りするようになった某プロジェクトで、当たり前のように使いまくってるのを見て目が点になりますた。
さらに、リーダー殿がこれから先のプロジェクトもそうしていくと力強く申しておりますた。





こんなのはほんの一例なわけだが,、
なんだか、逃げ出したくなってきた・・・orz
0331デフォルトの名無しさんNGNG
>>330
いいんじゃない?そこのレヴェルが一目でわかるから。
0332デフォルトの名無しさんNGNG
(俺もそうだが)弱い奴ほど自分より弱い奴を探して叩きたがる。

>>330
別に問題ないでしょ。

vb5だとプロジェクトのパスに全角つかってると問題がある場合があった気がするが、
変数名とかは全然問題なかったはず。

要するに本人たちがよければそれでいいことじゃん。
俺自身は変換する手間とインテリセンスが使えない(?)のが引っかかるけど、
それさえなければ日本文の変数名・関数名の方が可読性が高い場合は多いと思う。

自分と違う「流儀」を合理的な理由もなく叩く奴ってどこでもいるけど、
はっきりいって傍目には
 
 弱いもの達が夕暮れ さらに弱いものを叩く

にしか見えない。
0333デフォルトの名無しさんNGNG
・・・コーディングの効率とソースの保守性が上がるのならそれもまた一考の余地があるかと。
まぁ(ry
0334デフォルトの名無しさんNGNG
個人的には変数に全角使って文字入力するのがまんどくさい
0335デフォルトの名無しさんNGNG
データベースのカラムに全角使うのは結構普通になってきた。
0336デフォルトの名無しさんNGNG
桐はステートメントも全て漢字うわ何をする
0337デフォルトの名無しさんNGNG
↑懐かしいな(w

つか、漢字変数でハンガリアン記法てのも見てる分には面白いかもな。
自分でやるのはヤだけど。
0338デフォルトの名無しさんNGNG
>>334
同意。あと生理的に漢字は受け入れがたい。
0339デフォルトの名無しさんNGNG
http://pc5.2ch.net/test/read.cgi/tech/1087209526/
ローマ字よりは潔くていいし、辞書使ってまでアルファベットにこだわるのもめんどくさい。
けど、結論、粋じゃない。
0340デフォルトの名無しさんNGNG
>330
MSは「変数名等に日本語を使った際の動作は保証しない」というサポート文書出してる。
でもこの文書、かなり後だしだった気が・・・
それを踏まえて使うなら勝手にしろと。
0341デフォルトの名無しさんNGNG
とかなんとか言いながら、全角の文章しか書かない(w
英語で 文章を書くと まず 叩かれるな(w
0342デフォルトの名無しさんNGNG
ActiveXコントロールでUserControlを(1)のように関数の引数として
渡したいのですがコンパイルエラーになってしまいます。
Formでの(2)のようなかんじで行いたいのですが・・・。
よろしくお願いいたします。

(1)
Private Sub UserControl_Initialize()
Call fn(UserControl)
End Sub
Private Sub fn(oUesr As UserControl)
End Sub

(2)
Private Sub Form_Load()
Call fn(me)
End Sub
Private Sub fn(oForm As Form)
End Sub
0343デフォルトの名無しさんNGNG
UserControlって定義されてないってことだろ?
0344デフォルトの名無しさんNGNG
Oracle9のテーブルから、あるフィールドがNullでも文字数0でもないレコードを
抽出したいと思い下記のようにSQL文を作成したのですが上手くいきません。どこ
がおかしいのでしょうか?

SQL:
SqlStr = "Select * From A Where XX <> '' And XX Is Not Null"
0345デフォルトの名無しさんNGNG
かっこでくるむとか・・・。
0346デフォルトの名無しさんNGNG
TabletPC+VB6(SP6)+SDK1.5の環境で
Textコントロールにフォーカスが当たったら
PenInputPanaelを表示するって事をやりたいのですが方法がわかりません。
VB.NET(やC#)のサンプルはあるのですが...
どなたか教えていただけないでしょうか?
0347デフォルトの名無しさんNGNG
とりあえず張っとく
ttp://support.microsoft.com/default.aspx?scid=kb;ja;418924&Product=vbJPN
0348デフォルトの名無しさんNGNG
>>347
5.0はたしかにそうだったな。
0349デフォルトの名無しさんNGNG
>>346
そのサンプル晒せば?
0350デフォルトの名無しさんNGNG
>347
6.0では大丈夫なのか?
いや純粋な疑問。
0351デフォルトの名無しさん NGNG
こんにちは。

VBのver2で保存されたバイナリー形式のソースファイルを、
VB6.0でテキスト形式で開きたいのですが、
開けなくて途方にくれています。
コンバートする方法などあったらよいのですが。。。

どうしたらよいのでしょう・・・・・・。
0352デフォルトの名無しさんNGNG
borderstyleをダイアログにした画面でメッセージボックスを出すと
ダイアログが隠れて変わりにメッセージボックスが出てくるんですが
ダイアログの上に出すにはどうしたらいいでしょうか?
0353346NGNG
>>349
ttp://www.microsoft.com/japan/windowsxp/tabletpc/using/devtips/tip_pip.asp
です(VB.NET)。
SDKの説明によるとVB6ではInkObj.dll,InkDiv.dllへ参照設定を行い
InkConstants.basをプロジェクトに追加。
これだけではPenInputPanelオブジェクトは使えなかったので
PIPanel.dllも参照設定に加えました。
で、
Dim PIP1 As PenInputPanelと宣言して
Form_Loadイベントで
Set PIP1 = New PenInputPanel
とまでは書けるのですが
先のVB.NETサンプルのように
PIP1 = new PenInputPanel(textBox1)
とは書けませんでした。(というかコントロールの指定がそもそもできない?)
で、困っているという具合です。

0354デフォルトの名無しさんNGNG
#If False Then



#Else

#End If

↑のifとかの前の#ってどういう意味?
0355デフォルトの名無しさんNGNG
Dim A As String
Dim B As String
Dim C As String
とあったとき

A = B & C
と
A = B + C
は、どう違うのでしょうか?

0356デフォルトの名無しさんNGNG
>>354
コンパイラで処理するかどうかの違い
0357351NGNG
ちなみにOSは、
win2000になります。

宜しくお願いします。
0358デフォルトの名無しさんNGNG
>>351
VB2でテキストに保存し直す。

多分、それが一番楽。
0359デフォルトの名無しさんNGNG
VB3をゲットするのはどう?
0360351NGNG
>>358
レスありがとうございます。

今、VB2などの古いヴァージョンを持っていなく、
VB6しか持ってないのです。

この場合は、打つ手なしでしょうか。
0361デフォルトの名無しさんNGNG
ここの例文(左上の腕試し)を取得するにはどうすればいいでしょうか?
VB6
http://www.e-typing.ne.jp/training/training.asp
0362346NGNG
自己レス
とりあえず以下のサンプルでPenInputPanelの表示は確認できました。

Private pip As PenInputPanel
Private Sub Form_Load()
 Set pip = New PenInputPanel
 pip.AttachedEditWindow = Text1.hWnd
End Sub

Private Sub Command1_Click()
 Dim oTIP As Object
 Set oTIP = CreateObject("TabletTip.UIHost")
 oTIP.ShowWnd (True)
End Sub

でも素直に.NET系に移行すべきなんだろうなぁ。
0363デフォルトの名無しさんNGNG
>>344
Nullのチェックを先にやったらいいんじゃないかな?
0364デフォルトの名無しさんNGNG
WIN2000Pro、VB6
常駐アプリ作ってるんですけど、
タスクトレイに常駐させた状態で、
WINDOWSをシャットダウンしても、
WINDOWSが終了してくれません。
どうすればいいのでしょうか?

いろいろ調べてみて、
クエリーアンロードのイベントが走るらしいけど、
そんな様子もない...。
0365デフォルトの名無しさんNGNG
>>344
 Oracleでは、長さ0の文字列はNULLになります
 だから、NULLチェックだけしとけばok

よく見ると、SQL自体もおかしい気がするが…
敢えて書くなら↓かな
Select * From A Where (XX <> '') OR (XX Is Not Null)

よく考えたらスレ違いな気もするが…
0366デフォルトの名無しさんNGNG
>>364
Form_QueryUnload
Form_Unload

晒せ
0367354NGNG
>>356
意味が良く分からないのですが・・
下記の場合必偽になるってこと?

#If False Then



#Else

#End If
0368デフォルトの名無しさんNGNG
>>344
>>365
仕事場じゃ、AirH規制で書き込めないからもどかしい。

長さはLengthでチェックでいいんじゃないの?
NULLの場合にLENGTHが何を返すかはマニュアル確認してください。
NVLと組み合わせれば大丈夫だと思うけど。

あと、長さ0の文字列はNULLとは限らないはずです。
VarcharとCharでちがわなかったっけ?
0369デフォルトの名無しさんNGNG
>>364
そもそも、自分のアプリがWindowsに制御戻しているのか?
Windowsからの終了メッセージをキューに溜めっぱなしにしているような状態じゃないの?
0370デフォルトの名無しさんNGNG
『form.show』で表示されたフォームのオーナーフォームの
名前を取得するにはどうすればよいのでしょうか?
0371デフォルトの名無しさんNGNG
>>354
プリプロセッサとかで検索

>>355
数字同士の場合下は計算される。
0372デフォルトの名無しさんNGNG
>>367
プリプロセッサでググれ。
その条件の場合、

#If False Then

  ここに書かれた処理がコンパイルされないで

#Else

  ここに書かれた処理がコンパイルされる

#End If
0373デフォルトの名無しさんNGNG
>>371
> >>355
> 数字同士の場合下は計算される。

計算されるかな?数値演算はされないと思いますが。
0374デフォルトの名無しさんNGNG
>>373
手元にVBないから断言できないけど、私もされないと思う。

ただ、元の変数がバリアントだと微妙なので、
新規につくるならば、文字連結は&にしとけ。
(そもそもバリアントを必要以外で使うなと)
0375デフォルトの名無しさんNGNG
>>355
この場合は全部 As String と宣言されているから
数値演算はされない。動作確認しました。
でも>>374さんの言うとおり、
Dim A As Variant, B As Variant
A=1 : B=2
のときは A + B は 3、A & B は "12" になる。
だから文字連結のときは & を使う癖をつけたほうがいい。
0376デフォルトの名無しさんNGNG
最近VB6をやり始めました。
ちょこちょこいろんなサイトのソースを見てるんですがクラスモジュールを使ってるのを見ません。
(ほとんど全てフォームモジュールと標準モジュールです)
どうしてですか?
0377デフォルトの名無しさんNGNG
小さいものだからじゃない?
おらは使いまくりだよ
0378デフォルトの名無しさんNGNG
OS:wimdows全般(開発環境XP)
VBのバージョン、サービスパック:最新
やりたいこと:
他人が作ったアプリがあるのですが、
そのアプリを人が操作する一連の作業(同じ作業を何回も繰り返すのが面倒なので)を自動化したいと思っています。
操作とは、ボタンを押して、グラフが出てくるのを待って、
その後Excel出力ボタン押して、保存して、
という作業です。

プログラムの仕方(アプリのボタンを押す時のオブジェクトの取得方法?など)、
もしくはそのようなソフトがあれば
ご教授ください。よろしくお願いいたします。
0379デフォルトの名無しさんNGNG
>>378
こう言った事がしたいのかな?
ttp://www.vector.co.jp/soft/win95/util/se074062.html
0380デフォルトの名無しさんNGNG
>>354
必偽になるのは見たとおりだけど、
「#」がついてるやつはディレクティブっていって
コンパイラに指示を出す命令なの。
「#if」で偽となる部分は「コンパイルされない」訳。
「実行されない」じゃなくて「コンパイルされない」この違いが解るかな?
試しに適当なモジュールに
#if false then
給料上げろ。やってられねーぜ。クライアントあほすぎ。
#end if
とか入れてごらん。コンパイルエラーすらならないよ。
0381デフォルトの名無しさんNGNG
Winsockについて教えて下さい。
VB6.0(SP6)
W2k(SP4)(両方)
のTCPを使った通信をするプログラムを作ったんですが
ホストが何個かありクライアントがそれぞれのホストと
通信する感じになります。
で、どのホストから返って来たかを知りたいので
ホスト側にホストのグローバルIPを付加させて
クライアント側に返信したいのですが
NICが2枚有る為か、ローカルIPしか取ってきません。
どーやって取ればよいのでしょうか?
0382デフォルトの名無しさんNGNG
>>381
外からならわかります
0383デフォルトの名無しさんNGNG
>>382
それはクライアント側からremotehostipを使って取得すると言う事でしょうか?
0384376NGNG
>>377
どこかにそれなりの規模のVBプログラムソースが落ちてたり書き方のコラムがあったりしないかな?
どうにもコピー&ペーストばかりで自分のソースが汚いorz
再利用性が低いというか、他人が読みにくいというか・・・。
本でも英語ページでもおっけーっす。

>>378
SetWindowshookExとSpy++でぐぐる。
0385デフォルトの名無しさんNGNG
>>384
ttp://homepage1.nifty.com/CavalierLab/lab/vb/clsmdl/
他人が読みにくい=自分も読みにくい
0386デフォルトの名無しさんNGNG
>>384
ありきたりだが、オブジェクト指向とかデザインパターンについて調べてみてはどうだろうか。
コピペ多用する人は、データや処理を分けないで考たりする場合が多い。(機能分類が苦手で
使いまわしできる単位で切り分けできない人が多い)
それらの考え方はVB使ってても有用だし、クラスとはどういうものなのかも分かるし。

VBのクラスを知るには、ActiveXで小さなライブラリを作ってみるのが一番手っ取り早いと思う。
胃が痛い思いをしながらVB特有の匂いが分かるようになると思うよ。

それなりの規模のVBプログラムソースは見たこと無いので知らないが、クラスを使っていて
且つ有用なサンプルは、やはりActiveXを使った物に多いと思う。
0387デフォルトの名無しさんNGNG
こんにちわ。教えてください。m(_ _;)m

いまだにVB4を使っています。
エディタの中の行が長くなると横スクロールするのが面倒です。
この長くなった行をプログラムの動作に影響を与えないように
行を分けるにはどうやるのでしょうか?

昔、_(アンダーバー)を使って分けるようなことを聞きましたが・・・?

よろしくです。

0388デフォルトの名無しさんNGNG
>>387
すんません、自己解決しました。
「行継続」って言うんですね・・・

行の継続は改行の前に" _"(半角スペース+アンダーバー)

どうもでした
0389デフォルトの名無しさんNGNG
メニューエディタについて質問します。
メニューの背景色は変更できますか?
0390デフォルトの名無しさんNGNG
>>389
いいえ
0391デフォルトの名無しさんNGNG
>>390
どうもです。
0392デフォルトの名無しさんNGNG
コンソール出力ってどうやるんですか?
Debug.Printみたいに。
0393デフォルトの名無しさんNGNG
>>392
VBでコンソールアプリを作るってこと?それとも開いているコンソールに?
もしくはどっかに出力すればいいの?
0394デフォルトの名無しさんNGNG
>392
この辺は参考にならんかね?
ttp://homepage2.nifty.com/nihon-nouen/programming-stdinout.htm
0395デフォルトの名無しさんNGNG
>>393
VBでコンソールアプリを作りたかったのです。
>>394
VBのみでは無理なんですね。
そのページを参考にしてみます。
0396デフォルトの名無しさんNGNG
すいません、VBSなんですが
コンピューターのシャットダウン時に処理をさせたいのですが
どうやってコンピューターの終了イベントを捉えたらいいのか分かりません
教えてくださいませ
0397デフォルトの名無しさんNGNG
>>395
GetStdHandleとWriteConsole/ReadConsoleのAPIを使えばVBだけでもできるはず。
0398デフォルトの名無しさんNGNG
OSはWIN2000,VB(VER.6.0)です。
質問なのですが、プログラムを実行中に8007000Eというエラーがでます。
いろいろ調べてみるとメモリ不足とありましたが、実際
メモリ不足なのでしょうか。メモリ使用量はまだ十分
残っていますが、何が原因なのでしょうか。
すみませんが、教えていただけないでしょうか。
どうかよろしくお願いします。
0399デフォルトの名無しさんNGNG
>>398
エスパーでないので状況がさっぱりわかりませんが
・そのプログラムの特定の機能を使った時にそのエラーは出る
  →特定機能がメモリを食い潰している?
・そのプログラム以外でも使用中にエラーが出る
  →やっぱり足りないのでは?
・そのプログラムをしばらく使っているとエラーが出る
  →リソース等の開放し忘れ?

あとエスパーな人続きよろしく

0400デフォルトの名無しさんNGNG
>>398
漏れの念視によると、4番目に開かれるフォームの67行目にバグがある。
0401デフォルトの名無しさんNGNG
とりあえずメモリを空けるためノートンをアンインストールして再度チャレンジだ。
0402デフォルトの名無しさんNGNG
>>398
EXEを作製してそれを実行してなるの?
0403デフォルトの名無しさんNGNG
>>392

Private std_Hdl As Long 'コンソールのHANDLE

Public Function fOpenConsole() As Boolean
'コンソールの生成
fOpenConsole = False

Dim lRtn As Long

lRtn = AllocConsole()
std_Hdl = GetStdHandle(STDOUT_HANDLE)

If std_Hdl <> -1 Then
'改行を行っていく場合に最初の行の位置が合わなくなるので、1行空打ちする
Dim Buffer As String
Dim Written_Bytes As Long
Dim StdOut_Length As Long

Buffer = vbCrLf
StdOut_Length = LenB(StrConv(Buffer, vbFromUnicode)) + 2
lRtn = FlushConsoleInputBuffer(std_Hdl)
lRtn = WriteFile(std_Hdl, Buffer, StdOut_Length, Written_Bytes, ByVal
0&)
fOpenConsole = True
End If

End Function
0404デフォルトの名無しさんNGNG
Public Function fCloseConsole() As Boolean
'コンソールの終了

Dim lRtn As Long
Dim Read_Bytes As Long
Dim StdIn_Length As Long
Dim rBuf(254) As Byte

'コンソールの終了待ち状態の作成
fWriteConsole ("Push Enter Key")

StdIn_Length = UBound(rBuf) + 2

std_Hdl = GetStdHandle(STDIN_HANDLE)
lRtn = ReadFile(std_Hdl, rBuf, StdIn_Length, Read_Bytes, ByVal 0&)

'コンソールの廃棄
lRtn = FreeConsole

fCloseConsole = True

End Function
0405デフォルトの名無しさんNGNG

Public Function fWriteConsole(sMsg As String) As Boolean
'コンソールへの文字列出力

Dim lRtn As Long
Dim Buffer As String
Dim Written_Bytes As Long
Dim StdOut_Length As Long

Buffer = Format(Now, "hh:nn:ss") & Space(2) & sMsg & vbCrLf
StdOut_Length = LenB(StrConv(Buffer, vbFromUnicode)) + 2
lRtn = WriteFile(std_Hdl, Buffer, StdOut_Length, Written_Bytes, ByVal 0&)

fWriteConsole = True

End Function

・・・でSubMainから以上の関数を呼び出してみて。
一定時間Sleepしてループして出してみれば判ると思う。

コンソール内をマウス選択すると、出力は止まってしまいます。
0406デフォルトの名無しさんNGNG
>>396
シャットダウンをスタートメニューの終了からさせず、スクリプトからさせればいい。
そのスクリプトの前半に、やりたいことを並べればいい。
0407デフォルトの名無しさんNGNG
>>396
http://www.atmarkit.co.jp/fwin2k/win2ktips/455cexec/cexec.html
とか、あるけど。

うろ覚えだけど、終了時にコマンドを実行することは可能だったと思う。
Vectorとかで捜してみて参考にしては?
0408デフォルトの名無しさんNGNG
>>368 長さ0の文字列は、NULL扱いだよ オラクルのリファレンス見れ!
0409デフォルトの名無しさんNGNG
>>408
そうでしたね。ORACLEの糞仕様を思い出しました。
不定値と空文字列は違うだろって。w
この部分の仕様はSQLServerとかDB2が正しいと思う。
0410デフォルトの名無しさんNGNG
仕様に正しいもクソもあるかよ!
0411デフォルトの名無しさんNGNG
>>410
MS見たいな奴だな。w

でもさ、NULL値って不定値でしょ?
長さ0の文字を入れて不貞にされてもおかしいじゃん。
ORACLEを使ってる間は糞仕様でも従うってのは正しいけど、
その仕様が一般論として正しいかどうかは言ってもいいんじゃないか?

そもそも、長さ0の文字列をNULL扱いする仕様自体、
ORACLEが変える可能性ありって言及していたはずだし。
(OTNかなにかで読んだ記憶有。)
0412デフォルトの名無しさんNGNG
>>411
現実を見つめるほうが大切じゃないのかなぁ
一般論がどうとかここで言って、どうこうなる問題でもないわけだし
正式にきまっている仕様が間違っているとか糞とかいうのは勝手だが、
オラクルに直接言ってくれって感じだよなぁ
0413デフォルトの名無しさんNGNG
で、元質問の>>344はそうするとなぜダメなんだ?

Select * From A Where XX <> '' And XX Is Not Null

の前の部分の条件が、NULL値との比較で結果がNULLになるから、検索されないでいいのかな?

Select * From A Where XX Is Not Null

ならOKでしょうかね?
0414378NGNG
>>379
ちょっと違いますw
>>384
おー、そんなものがあるんですね。
具具って見ます。
ありがとうございました。
0415378NGNG
>>384
具具りましたが。。。あまりひっかかりませんでした。
書籍か何かお勧めがありましたら教えていただけないでしょうか?
0416デフォルトの名無しさんNGNG
エクセルのファイルが無かったら、新規作成する方法を教えてください。
filename = "c:\foo.xls"
if dir(filename) = "" then
新規ファイル作成(filename)
end
こんな感じで使いたいのですが。
0417デフォルトの名無しさんNGNG
Excelのクラス使え
0418デフォルトの名無しさんNGNG
>>416
元となるファイルを持っておき、作成のかわりにコピーすりゃラク
0419OratorNGNG
>> 416
DAO + Excel IISAM、もしくは ADO + Microsoft.Jet.OLEDB.4.0 を
使うことで、Excelファイルを作れます。(Excel本体は不要)

とりあえずVBScriptだけど、こんな感じで作れました。

Set Cn=CreateObject("ADODB.Connection")
Cn.Provider="Microsoft.Jet.OLEDB.4.0"
Cn.Properties("Extended Properties").Value="Excel 8.0"
Cn.Open "C:\2ch.xls"
Cn.Execute "CREATE TABLE [Sheet1] ( A1 INTEGER, B1 TEXT)"
Cn.Execute "INSERT INTO [Sheet1] ( A1, B1) VALUES (123, 'はげ')"
Cn.Execute "INSERT INTO [Sheet1] ( A1, B1) VALUES (456, 'ひげ')"
Cn.Execute "INSERT INTO [Sheet1] ( A1, B1) VALUES (789, 'まげ')"
Set Rs=CreateObject("ADODB.Recordset")
Rs.Open "SELECT * FROM [Sheet1]", Cn
MsgBox RS.GetString()
Rs.Close
Cn.Close

が、書式設定の調整などは、Excel本体あるいはExcel Creator等が
必要になるので、個人的には >>418 氏の案を推奨。
(*.xls 形式にこだわらないなら、SYLKとかHTML形式という手もあるけど、面倒だし)
0420デフォルトの名無しさんNGNG
優秀なプログラマの皆さん教えてください。
VB6.0でActiveDLLを作成し,COM+アプリケーションを作り,
ましたが、DLLを更新した際に、「型が一致しません!」と
表示されて、使用できなくなりました。
バイナリ互換でしているのですが、できません。
DLLは全部で4つで、3つがDB処理COM,1つがクライアント
との通信処理をするものです。
教えてください。宜しくお願いします。
0421デフォルトの名無しさんNGNG
バイナリ互換でコンパイルできてないんじゃないの?
コンパイルするとき警告表示されない?
メソッドの引数変えたり削除してない?
>バイナリ互換でしているのですが、できません。
警告も無くすんなりコンパイルできるけど使えないのか、
バイナリ互換でコンパイルできないのか曖昧。
主語無しで「できない」なんて言うとインポだと思われちゃうぞ。
0422デフォルトの名無しさんNGNG
>>406 >>407
ありがとうございます、こんなのがあるんですね
うちはホームエディションだからベクターでツールを探しに行ってきます
たすかりました。
0423デフォルトの名無しさんNGNG
>>421
どーもしーましぇん。確かに引数を変える!メソッドを追加しています。
削除はしてません。コンパイルするときは警告がでてます。�@互換の解除
と�A互換性の維持です。ぽちは�Aを選択しています。
すると、メソッドを追加したクラスのみ「型が一致しません」と表示され、
引数を変えたクラスはエラーが発生します。
よろしくお願いします。
0424デフォルトの名無しさんNGNG
ちょっと質問

よくメニューアイコンに何を表示させるか設定できるUIとかあるけど
あれって、似たのばっかりだけど、そういうコントロールがあるのですか?
それとも、リストとボタンで自力で作ってる感じ?
0425デフォルトの名無しさんNGNG
toolbarコントロールについて聞きたいんだけど
全部のボタンの幅が、一番長いcaptionの幅に設定されてしまうのはそういう仕様?
0426デフォルトの名無しさんNGNG
標準モジュールを複数作って
それぞれに同じ名前のパブリックプロシージャを書いてしまうと
そのプロシージャを呼び出したときにどのような動作になってしまうでしょうか
0427デフォルトの名無しさんNGNG
>標準モジュールを複数作って
それぞれに同じ名前のパブリックプロシージャを書いてしまうと
そのプロシージャを呼び出したときにどのような動作になってしまうでしょうか

こんだけ書き込みする間に実験できる。
というか、そうする。普通の神経してればね。
0428デフォルトの名無しさんNGNG
2chねらーに答えてもらうところに意味があるんです
0429デフォルトの名無しさんNGNG
>>428
427が標準的な2ちゃんねらーの回答でしょう。
まぁ学校の先生でもなければ、同じ回答だろうな。
0430デフォルトの名無しさんNGNG
>>423
そのまんまやんw
本来は全部が使えなくなるだが、
VBが小手先の業で問題ない部分は使えるように(努力)してくれるんよ。
で、あんたのやったことは問題のある行動な訳だ。
どんなときでもできるんなら警告いらんだろ。
0431デフォルトの名無しさんNGNG
昔同じ症状になった時、
一旦バイナリを削除して「互換なし」で作った。
0432デフォルトの名無しさんNGNG
やってみた。
プロシージャ名だけだと「コンパイル エラー: 名前が適切ではありません」
モジュール名.プロシージャ名だと問題なし。
0433デフォルトの名無しさんNGNG
>>424
あれはメニューをオーナードローしてます。もちろんVBが標準で扱えないメッセージを
フックしなきゃいけない->厄介だから、
http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=49985&lngWId=1
でも使わせていただきましょう。へんな依存もなく、■で終了させてもIDE落ちないです。正しくぶりりあんと。
>>425
仕様です
VBのツールバーは贋物(顧問コントロールでない)なのかな。BTNS_AUTOSIZE(あってる?)というスタイルを
各ボタンにセットすればピシッと来るはずなんだけど、うまく反映されません。>>424の話もちょっと関係するけど、
一般的にメニューをクールバーに乗せるときは、ツールバーを使うのですが、キャプションの長さにあわせて
ボタンがリサイズされないとなると、ブカッコで困るわけです。
0434デフォルトの名無しさんNGNG
ファイル一つ開くのでもコンポーネントを全く使わずにわざわざAPIで書いてる人いるけど
あれって何か理由あるの?
0435デフォルトの名無しさんNGNG
>>434
コピペだとAPIで書いたほうが早い。
0436デフォルトの名無しさんNGNG
Sub Temp()
| ←カーソル



End Sub
プロシージャの先頭にカーソルを持っていくのは何キーをおすでしたっけ?
0437434NGNG
>>435
そんな理由だったのかorz
0438デフォルトの名無しさんNGNG
>>436
←キーを数回
0439デフォルトの名無しさんNGNG
どなかた教えてください。
VBで作成したDLLで不要なものがたくさん,「参照設定」に
表示されています。昔、開発していたときに何度もコンパイルした
のでいらないDLLで同じ名前のものがたくさんあます。
消すにはどうしたらいいんですか??
0440デフォルトの名無しさんNGNG
>>439
レジストリいじるしかない。
0441デフォルトの名無しさんNGNG
>>439
http://support.microsoft.com/default.aspx?scid=kb;ja;183771
たぶんこのへん。
0442デフォルトの名無しさんNGNG
質問させていただきます。
VB6で、VBSのExecuteGlobalのように、状況を引き継いでユーザ指定のコードを実行させることはできないでしょうか。

駄目もとでの質問なので、出来ないなら出来ないで構いません。ご存じの方居りましたら、どうかご教授願います。
0443デフォルトの名無しさんNGNG
>>442
そのまんまとは言えないが、VB6でもScript使えるし。がんばればやれると思う。
0444デフォルトの名無しさんNGNG
実行すると オフィスのCDを要求される場合があります。
何のファイルが必要なのでしょうか?
0445デフォルトの名無しさんNGNG
正直、プログラミングの前に小学校の国語からやり直すべき奴が多すぎる。
説明能力が欠如してる奴がデスクワークやってちゃ周りが迷惑。
今すぐ辞職してガテン系にでも転職すべきだろう。
0446デフォルトの名無しさんNGNG
ガテン系なめんなよ!周囲とのコミュニケーションも取れない奴がやっていけるワケねーだろ!
0447デフォルトの名無しさんNGNG
ダメな奴は何(ry
0448デフォルトの名無しさんNGNG
あるformから別formを開いた時に、開かれた側のformのkeydownプロシージャを
開いたformから呼び出す事は可能でしょうか?
0449デフォルトの名無しさんNGNG
>>448
聞くより、やってみたら?
開かれたformのイベントプロシージャを呼び出すだけじゃん。
0450デフォルトの名無しさんNGNG
>>449
FormAからFormBのformを開いた時に下記のコードを書いてみたのですが
プロパティエラーで中断してしまいました。

Call FormB.Code_KeyDown(13, 0)

調べてみて、Form名を指定してからプロシージャ名を記述すればいいの
だと思ったのですが
0451デフォルトの名無しさんNGNG
VBが勝手に作るイベント関数もあくまで関数です。
関数は変数とかと同じでスコープ指定に従います。

VBのForm自体がクラスで、Formレベルの変数はクラスのメンバー、
関数はクラスのメソッドと理解できれば、後は自明なんだけどね。
0452デフォルトの名無しさんNGNG
>>450
それは、イベント関数はデフォルトで作ったらPrivateだから。
そこをPublicに変更するか、別のPublic関数を呼び出しインターフェース用に作成してそれを通してみれば?
0453デフォルトの名無しさんNGNG
>>451
>>452
理解できました。ありがとうございました。
0454デフォルトの名無しさんNGNG
Windows2000 SP4
VB6.0 SP5

Microsoft Tabbed Dialog Control 6.0をチェックしてSSTabを使用しています。
同環境の他端末で試すと、SSTabが激しくズレて表示されてしまいました。
そこで、コンポーネントの内容を見てみると、

[開発機]
Microsoft Tabbed Dialog Control 6.0
C:\Program Files\Support Tools\tabclt32.ocx

[他端末]
Microsoft Tabbed Dialog Control 6.0 (SP5)
C:\WINNT\system32\Tabclt32.OCX

こんな違いがありました。
できれば、開発機に表示を合わせたいんですが・・・
なにがマズイんでしょうか・・・アドバイスお願いします。
0455454NGNG
追記
先週までは、他端末のほうでも開発機と同様の表示が為されていました。
開発機・他端末ともに、先週から環境はいじっていません。
今日、いきなり現象が発生しました。
0456デフォルトの名無しさんNGNG
自分の使うOCXを兎に角上書きコピーしてしまう、お行儀の悪いインストーラーを作成し、
再インストールして頂く。

典型的なDLLヘルだと思うけど。
0457デフォルトの名無しさんNGNG
コントロールの問題の可能性は低いと思うが。。

というか、
>同環境の他端末で試すと、SSTabが激しくズレて表示されてしまいました。

これで自分の問題を他人に伝達できたと思う言語感覚からまず何とかすべき。
0458デフォルトの名無しさんNGNG
自分の使用している環境にほかのマシンのDLLを入れたほうがいい?
0459454NGNG
レスありがとうございます。

>>456、>>458
そのあたりは最終手段にしたいと思います。原因がわかれば、一番いいのですが・・・

>>457
すみませんでした。
原因をコントロールの問題だと思い込んで、表層よりもプロセスを詳しく伝えようと思って書いていました。

SSTabのズレかたですが、開発機側でこう見えているとすると(太線はハンドル)、
┏──────┓
┗──────┛
他端末ではこんな感じに、幅が短くなっています。
┏─────┐┓
┗─────┘┛
ただし、見た目の幅は短くはなっているものの、
コントロールのwidth値はそのまま、ハンドルの位置もそのままです。
0460デフォルトの名無しさんNGNG
>>459
たとえば、デスクトップの設定(画面のプロパティ)で、使用する文字の大きさが違うと 画面の
表示が違う場合が出てくる。

0461デフォルトの名無しさんNGNG
>>461
俺も画面設計してるときに、画面のプロパティのデザインを
いじると画面が違ってくることに気付いて、
Windowsスタンダードを固定にすることにしました。
0462454NGNG
>>460
デスクトップ設定を確認したところ、共にWindowsスタンダードでしたが、
開発機は各フォントサイズ8なのに対し、他端末は9でした。
フォントサイズをあわせても、現象改善しませんでした。

また、高さ・heightも、widthと同様にズレていました。
┏──────┓
│        . │
┗──────┛
     ↓
┏─────┐┓
└─────┘
┗        . ┛
0463デフォルトの名無しさんNGNG
>>462
OCXのバージョンはどう?
0464454NGNG
さらに確認してみたところ、ズレが起こるのは、ひとつの端末のみでした。
OSも環境もバラバラの複数台の端末で試してみましたが、現象再現しません。

ズレ端末とその他の端末で、コントロールの参照先を確認すると、同じsystem32で、
ocxの更新日付もサイズも全く同じでした。

その中でocxの場所と更新日付が、開発機のみ他と違っています。
0465デフォルトの名無しさんNGNG
これだからVBってやーね
0466デフォルトの名無しさんNGNG
そのマシンに怪しいソフトがインストールされている可能性が高そうだ。
0467デフォルトの名無しさんNGNG
怪しいソフトって具体的に何のことですか?
0468デフォルトの名無しさんNGNG
Delphi
0469454NGNG
解決しました。

ズレが起こる端末の、画面のプロパティ→詳細にあるフォントサイズが、
通常「小さいフォント」のところ、別のサイズに変更されていました。
これを「小さいフォント」に戻したところ、正常に表示されるようになりました。

レス下さったかた、ありがとうございました。
これから端末使用者たたっ頃してきます。
0470デフォルトの名無しさんNGNG
>>469
俺はあんたを(ry
0471デフォルトの名無しさんNGNG
あいたたたたたたたたたた
0472デフォルトの名無しさんNGNG
>>469

Windowsの設定は、個人の好みで自由に変更できるもの。
そんなんで殺しにいってたら、使用するユーザー すべて殺さないといけなくなってくる。
ま、フォントサイズの変更による影響を考慮したソフトは 少ないけどね。

ちなみに 460がその指摘だった。
0473デフォルトの名無しさんNGNG
結局おまえがうんこなだけじゃん
0474デフォルトの名無しさんNGNG
まあ、あなたの確認不足ですね。
>>455で、環境はいじっていないと書いてるわけですから。

ユーザーさんにとって、いじったうちに入っていないくても、こっちにとっては・・・ってのは幾らでもあります。
その辺りを含めて聞き取れることも、問題解決能力だと思う。
0475454NGNG
>>469は私じゃないんですが・・・端末使用者って私ですし・・・。

ちなみにまだ直ってません・・・
>>460でご指摘いただいた際、>>469の箇所も確認していますが、「小さいフォント」になっていました。
他、OSやSPのバージョン等とっかえひっかえやってみた結果、現象はその端末でしか起こらないってことで、
今回は無視する方針になったみたいです。
環境変えていないつもりでも、複数人で使う端末なので、過去に変に触られてしまっているのかもしれません。

なんかお騒がせしてすみませんでした。
みなさんほんとにありがとう。
0476デフォルトの名無しさんNGNG
mukatukusine
0477デフォルトの名無しさんNGNG
文字列の変数が数値のみか判断したい場合、どのようにするのが一番いいでしょうか?

たとえば 以下の値は数値としたいのです。

-1.00003

次の場合は 逆に数値ではないと したいのです。

-1.00003E
0478442NGNG
亀レスですが…>>443
回答ありがとうございます。素直にCallByNameで応用させてみます。
0479デフォルトの名無しさんNGNG
>>477
Life使ったらどうでしょう
0480デフォルトの名無しさんNGNG
>>479
Lifeって何?
初めて聞いた。
0481デフォルトの名無しさんNGNG
>>477
isNumericが、あなたの求めてる動作をするならそれでOK。
そうじゃなければ、ベタに許可文字チェック関数を作るに限る。
0482デフォルトの名無しさんNGNG
>>480
ごめんなさLikeでした。
isNumericは十六進数表記やカンマを許したりするので気をつけてください。

このページとか読むと良いです。
ttp://homepage1.nifty.com/rucio/main/technique/InputChk2.htm
0483477NGNG
>>482

ああ それ。
3E
とか入れてもisNumericだと エラーにならないんだよね。
0484デフォルトの名無しさんNGNG
すいません、プログラマ以前の質問なのですが…

今度大学でVB使うことになるので少し勉強したいのですが、VB6.0または5.0の
体験版ってどこかダウンロードできる場所とかご存知ないですか?
(本買ってから体験版付いている本があることに気づいたorz)
0485デフォルトの名無しさんNGNG
Dim c As Double
Dim s As String
Dim d As String

とあったときに dをチェックする文字列として
c = d
s = c

If s <> d Then
'数値じゃないよ。
End If

としたらどう?
0486デフォルトの名無しさんNGNG
>>484
VB5.0 CCEならMicrosoftから手に入る。

>>485
浮動少数を<>や=で比べるな。
0487デフォルトの名無しさんNGNG
Text1のコントロール内で、数値のみ入力させたいのですが
文字とか入ったら、LostFocusできないようにするには、どうしたらいいのでしょうか?
0488デフォルトの名無しさんNGNG
>>487
他のコントロールを殺す
0489デフォルトの名無しさんNGNG
>>485
それの何処がチェックとしての妥当性があるのかと・・・。
本当にそれでチェックしてるの?そのソースを論理的に妥当だと説明できる?

>>487
バージョンを書かないと、5と6で答えが違ってくる。
入力自体を防ぐなら、KeyPressとかで要らない入力をはじいてしまえばOK。
(IMEが絡むと厳密じゃないんだけどね。)

6の場合はValidateイベント。
0490デフォルトの名無しさんNGNG
Private Sub Text1_Validate(Cancel As Boolean)

Cancel = Not IsNumeric(Text1.Text)

End Sub

この場合、すべての textボックスにあわせて
Cancel = Not IsNumeric(Text1.Text)
のコントロール名を変更しないといけない。

これが どのコントロールにもっていっても同じように できる方法は
あるのでしょうか?

つまり
Cancel = Not IsNumeric(なんとか.Text)
のなんとかを 変更しなくていいものに変えたいということです。

0491デフォルトの名無しさんNGNG
>>490
だからIsNumeric使うなと。
me.text
0492デフォルトの名無しさんNGNG
>>490
コントロール配列にする。
VB6の場合はそれしかないはず。
Delとか.netなら、オブジェクトに対して自分で関数割り当てられるんだけどね。
0493デフォルトの名無しさんNGNG
>>484
Visual Basic 2005 Express Edition日本語ベータ版
http://www.microsoft.com/japan/msdn/vstudio/2005/express/vbasic/
0494デフォルトの名無しさんNGNG
VB6.0または5.0の
0495デフォルトの名無しさんNGNG
>>490
はやく.NETに移行しなさい
0496デフォルトの名無しさんNGNG
>>490
ユーザーコントロールを作れ
0497484NGNG
>>486
ちょっと昔はあったみたいだけど今日探したらなかったーよ。残念。

>>493
とりあえずこっちダウンロードしてみます。VB6.0の予習にならなそう
だったらあきらめて評価版付きの本買います。


みなさん親切にレスありがと。
0498デフォルトの名無しさんNGNG
初心者です。マウスダウンイベントってあるじゃないですか。これって一回だけ有効にすることって出来るんですか?
0499デフォルトの名無しさんNGNG
>>498
いっそVBらしくグローバル変数で管理すれば?
0500デフォルトの名無しさんNGNG
>>498
プロシージャ内でStatic変数使うとか
プロシージャ内でEnabled=Falseとか



で、なんのためにそんなことをしたいのかな?
0501デフォルトの名無しさんNGNG
そのまんま書いてあると思うが
0502デフォルトの名無しさんNGNG
多分VBの質問じゃないと思うんですが、どこで質問して良いのか
わからなかったので、ここで質問させてください。
もしくは妥当なスレがあったら教えてください、すみません。


Set objShell = CreateObject("Shell.Application")

'フォルダー参照に設定
Const lngRef = &H1
'ルートフォルダーをデスクトップに設定
'5でMy Documents、6でFavoritesなど
Const fldRoot = &H0

Set objFolder = _
objShell.BrowseForFolder(0, _
strTitle, lngRef, fldRoot)

みたいな感じでフォルダ参照ダイやログを出しています。

上記の流れだと「新規フォルダ作成」ってボタンが出てくるのですが
これを出なくするにはどうしたら良いんでしょう?
かなりググってみてるんですけど、どうしてもわかりません。

良かったら教えてください、お願いします。
0503デフォルトの名無しさんNGNG
MSDNライブラリのデータをサーバに置くような事ってできますか?
開発マシンのスペックがショボいので・・・

#マシン買い替えって話は無しのほうこうでおながいします
0504デフォルトの名無しさんNGNG
age忘れました
0505デフォルトの名無しさんNGNG
>>502
MKDIR
0506デフォルトの名無しさんNGNG
>>503
CDの中身をすべて サーバのHDDにおけばいいのでは?
0507デフォルトの名無しさんNGNG
通報するよ
0508503NGNG
>506
MSDNをよく読んでみたら、サーバにデータ置く方法が書いてありました。
CDの中身をコピーするだけでなく、複数ディスクを一つのフォルダ内にまとめる必要がありました。
クライアントのHDDも空いたし、随分快適になりますた!
0509デフォルトの名無しさんNGNG
コントロールを配列として用いてるのですが、たまに どういうわけか
Indexの1がないと エラーが出ます。
しかし、Indexは 1から5まであります。
Indexを変更もしていません。
どうしてエラーとなるのでしょうか?
0510デフォルトの名無しさんNGNG
>>509
どうしてだろうね?
0511デフォルトの名無しさんNGNG
まず、問題点を他人にきちんと知らせる、普通の情報伝達能力を身につけてくれ。
>>509の文書だけじゃ、
 何をしていて、
 何のエラーが出ていて、
 どのように困ってるか
わかりません。

たまに、どういうわけか、エラーがでます。
社内だったら、しるかボケ!ってところだよ。
0512デフォルトの名無しさんNGNG
その たまに の状態が 把握できないため、たまに としかかけないのです。
ま、似たような現象の解決策を知ってる方がいたら、教えてください程度の質問です。
0513デフォルトの名無しさんNGNG
>>511
素人相手にそう熱くならんでも・・・
0514デフォルトの名無しさんNGNG
>>513
素人もプロも関係無いと思うな
0515デフォルトの名無しさんNGNG
人として、他人にモノを尋ねる時の最低限の条件だと思うけどね。
まあ、ああいう質問の仕方じゃ回答のしようがないから、お蔵入りでしょ?

本人が全く状況を把握できていなくて、それを質問しても、聞いてるほうも何を言ってるのか理解できんよ。
最低限、自分が試行したこと、発生する正確なエラーメッセージとかは伝えないと。
0516デフォルトの名無しさんNGNG
>>514-515
0517デフォルトの名無しさんNGNG
ある長方形の範囲内にこれ以下の様々なサイズの平面を詰め込めるだけ詰め込みたい
詰め込む平面の条件はこう
・ランダムではなく番号があり1番から順に詰め込む (範囲内での配置は自由)
・正方形、長方形、直角三角形、直角台形の四種 (なんとか長方形だけでも...)
・向きは問わない

どの番号まで詰め込めるかとその際の実際に必要な縦横のサイズを求める方法を教えて
0518デフォルトの名無しさんNGNG
結局理解できない奴の言い訳だろ。
0519デフォルトの名無しさんNGNG
>>518
そうそう。分からないなら黙っていればいいのにね。
0520デフォルトの名無しさんNGNG
>>519
すこしでも答えようとしての質問なんだけどね。
まあ、それすらウザイというのであれば、もっと殺伐としたスレになるだけだし。
あの文面でかれの状況を理解できる人がいるなら、私は尊敬するけど。
0521デフォルトの名無しさんNGNG
期待してるわけじゃないからいいよ。
0522デフォルトの名無しさんNGNG
>>520
理解できる人がいるかもしれないんだから理解できないあんたは黙ってれば良いじゃん。
別にあんたに答えて欲しい訳じゃないし。
0523デフォルトの名無しさんNGNG
回答できないんなら、黙ってろっつーの。小言厨ウザすぎ。
0524おこちゃまむけNGNG
>>509
> コントロールを配列として用いてるのですが、たまに どういうわけか
> Indexの1がないと エラーが出ます。

エラーが出るのはどのタイミングですか?
VBでプロジェクトを開いたときですか?デバッカー実行時ですか?
実行時でも何時でますか?即でしょうか、それらのオブジェクトにアクセスしたときでしょうか?

> しかし、Indexは 1から5まであります。
> Indexを変更もしていません。

それはどのように確認したのでしょうか?
デザインモードのプロパティを参照したのでしょうか?
0525デフォルトの名無しさんNGNG
>>524
シラネーヨ
0526デフォルトの名無しさんNGNG
>>509
あり得るのは

Private Sub ...
...
DoEvents ' <- ここでフォームを閉じてしまう。
...
Text1(1) = ""
...
End Sub

こんな状態か。
0527デフォルトの名無しさんNGNG
>>526
興味本位で試してみたけど再現しないよ。

Option Explicit

Private flg As Boolean

Private Sub Command1_Click()

Do
If flg Then
Exit Do
End If
DoEvents
Loop

Text1(0).Text = ""

End Sub

Private Sub Command2_Click()

Unload Me

End Sub

Private Sub Form_Unload(Cancel As Integer)

flg = True

End Sub
0528デフォルトの名無しさんNGNG
ある文字列に ある文字が 何文字含まれているかを知ることができる関数とかありますでしょうか?

たとえば

"asdfghsjko" の中に "d"は ひとつだけとか。
"s"は ふたつとか d や s を指定すると その数が わかるようなのがいいです。
0529デフォルトの名無しさんNGNG
>>528
自力でコーディングせよ。For...NextとInStr$とIf...End Ifと足し算を使えばできる
0530デフォルトの名無しさんNGNG
ま、そういう関数があるなら それを利用したほうが便利だから質問してるだけだよ。
instr とかもあるんだし。
0531デフォルトの名無しさんNGNG
>>530
飽きた。�A点。
0532デフォルトの名無しさんNGNG
DAO(3.5)を使用してアクセスMDBに接続する処理を作成しています
情報の取り出しを行う端末は複数ありまして、データを格納している
アクセスMDBはネットワーク上においているWInサーバの共有フォルダ(パスワードなし)に格納しています
最近顧客より要望があり、誰でもパスワード無しで見れる環境はマズイ
と指摘をうけ、共有フォルダをパスワード設定に変更しようと検討しています。
この際、端末からMDBにアタッチするアプリの起動時にログイン系の処理を
組み、ユーザーに入力してもらうように作りたいんですが
MDB接続方式をODBCに変更せずにDAOのままで実装する方法ありませんか?
開発環境はNT4 VB5.0となっております。
0533デフォルトの名無しさんNGNG
質問です
指定ポートからのパケットをテキストに記録しようと思っております
それをVBでしたいのですが、パケットを指定して記録って言うのが
出来ません。
そのようなツールを作る考え方、もしくは近いツールがありましたら
教えてください
0534デフォルトの名無しさんNGNG
>>533
それはTCP/IPのパケットモニタを作りたいってこと?
'COMポートの可能性もあるが、、、
network snifferのような感じ?
0535デフォルトの名無しさんNGNG
TCP/IPなら
http://homepage2.nifty.com/spw/tips/PacketDump.html
0536デフォルトの名無しさんNGNG
>>534
そうです。パケットモニターを作りたいと思っております
>>535
ありがとうございます。参考に見てみます

後、VBでexeファイルにパケットを送る方法も調べています
何がしたいかと言いますと、チャットのメッセージを
自作ツールにて送信したいのです
例えばmsnのメッセージを自分のツールから文字を打てば
msnからのメッセージとして文字が送られるようなものです
別にそんな物を作らなくてもmsnに直接文字を打てばいいのですが
プログラムの通信に対する勉強がしたいので調べています
まだまだ未熟なので流れしかわからず、どのような順序で出来るのかなど
基礎的なことがわかりません
よろしくお願いします
0537デフォルトの名無しさんNGNG
>>536
MSNはその程度のレベルの人がトライするような教材では無い。
0538デフォルトの名無しさんNGNG
>>536
本当に知りたいのであれば
ttp://regnessem.sourceforge.jp/
を見ろ。そして自力で内容を理解せよ。
くれぐれもあちらで教えてクンになるのはやめろよ。
0539デフォルトの名無しさんNGNG
>>538
Delphiかよ。プ
0540デフォルトの名無しさんNGNG
>>536
まずはHTTPから勉強しろ
0541デフォルトの名無しさんNGNG
>>528
N = Len( HOGE ) - Len( Replace( HOGE, Ch, "" ) )
0542デフォルトの名無しさんNGNG
>>540
HTTPはあなたがしててください

>>537
内容を理解してないみたいなので言っても仕方ないですが
別にmsnを解析してから作り変えるなんていってません
IATパッチングって方法(名前が確かではないですが)
その方法がどのような物か調べています
わかる人よろしくです
0543デフォルトの名無しさんNGNG
┐(´∀`)┌
0544デフォルトの名無しさんNGNG
VB5.0 WinXP

別のパソコンからソースを取ってきて自分のパソコンに入れました。
プロジェクトを開くとComdlg32.ocxがロードできないと表示されました。
その後コンボダイアログをツールバーに表示させてフォームに付けようと
思ったのですが、ライセンスがないため付けられないと出ました。

これはどのようにしたらいいのでしょうか?
0545デフォルトの名無しさんNGNG
>>542
知っているがお前の態度が気に入らない
0546デフォルトの名無しさんNGNG
>>532
まず、よくMDBの共有なんてできるな。
過去の数多の事例を知ってれば、その構成の怖さは・・・。

まず、MDBをMSDEに移行、MDBの接続をODBCに変えるのなんて、
接続時のパラメータかえるだけだから1行直しでしょ?
0547デフォルトの名無しさんNGNG
>>544
これでしょ。きっと。激しく既出
[VB] ライセンス情報が書き込まれない場合の対処方法
http://support.microsoft.com/default.aspx?scid=kb;JA;411156
0548デフォルトの名無しさんNGNG
>>547

ありがとうございます!!
ダウンロードして修正してみます。
0549デフォルトの名無しさんNGNG
>>542
IATパッチングってのは聞いたことないな。

ちなみに俺だったらMSNメッセンジャの
メッセージ送信部分に割り込むようなものにするな。
ネトゲーのチートツールとか作ったときの経験からして
パケットなんかをみて解析するより、
APIコールあたりから呼び出し元を
逆アセンブルしてみてった方が手っ取りはやいし。

余計なことかもしれんがいきなり「EXEにパケットを送る」なんて表現は
どーみても使えない初心者チックな表現なんでしない方がいいぞ。
解っている者同士なら別だけどな。
0550デフォルトの名無しさんNGNG
他APのIAT書き換えの仕組み自体は apihijack とか見ればすぐ分かると思うけど、
VBではフック関数の実装が無理なんじゃないかな。C++ に切り替えたほうが良いよ。
0551デフォルトの名無しさんNGNG
IATパッチングってAPIフックの事か。それならVBじゃ難しいね。
MSDNのPlatformSDKのWindows Base Serviceあたりを見ればわかるよ。
あれの覚えたては楽しいぞw
0552デフォルトの名無しさんNGNG
>>549
調べ方の意見ありがとうです
それとexeファイルにパケットを送るって表現改めます

>>550
C++の方がと言う意見ですが、実際のところVBでは辛いよって感じで
先輩から言われたことがありまして、それに反発もあり
VBで出来ないものかと思っておりました。
けど、VBではIATに関しては少し私の技術では出来ないみたいですね
もう少しVBに対して勉強しなおしてきます
C++でまず完成させてからVBで出来るかを検討したほうがいいようですね
色々単発的な質問に対して意見をいただきありがとうございました
0553デフォルトの名無しさんNGNG
>>551
ありがとうございます。早速見てみます

書き込み中にレスがあり
2つに書き込みが別れてしまい、すいませんでした
0554デフォルトの名無しさんNGNG
VisualBasic6.0SP5、VB歴は1週間とちょっとです。

実行ファイル内に画像(16bitBMPとicon)を埋め込みたいのですが、可能なのでしょうか。
教えて頂けると幸いです。
0555デフォルトの名無しさんNGNG
>>554
リソースとして可能だがあまり大きいものは入らない
0556554NGNG
>>555
ご返答ありがとうございました。
日が浅いので、暗中模索ですが、出来ると分かったので色々やってみます。
0557デフォルトの名無しさんNGNG
ベクトルの計算をしようと思うのですが、質問でごわす。
外積() : 外積=Aベクトル×Bベクトル の関数を作りたいのですが、
ベクトルは3次元でx方向とy方向とz方向の大きさがパラメータとなっていて
外積には各パラメータが必要なのです。
すかも、外積してもベクトルのままなので、
外積(1)、外積(2)、外積(3)というような変数を作らないとだめです。
さらに、その各々を求めたいがために関数が1個でなく3個必要になってすまいます。
これはなんというか非常にエレガントではありません。

長くなってしまいましたが要はベクトル計算の方法を教えてください。
一個の変数に3つのパラメータを保管するようなテクはないものでしょうか?
Cベクトル=外積(Aベクトル×Bベクトル)
ってなかんじにスマートに書きたいんですが・・・


0558557NGNG
ん〜 なんかベクトル計算するようの命令があればいいんだけど、たぶん無いだろうし、
自分で何とかやりたいこと出来る解決策が浮かんだんで自己解決です。
しかし、なんというかやっぱり無理矢理なので、
ベクトル変数 みたいなのがあるなら教えてください。
0559デフォルトの名無しさんNGNG
>>557
なんか釣り臭いような気もするけど。。
「ベクトル変数」って発想はまさに構造体(VBだと「ユーザー定義型」、だったか?)
の発想そのもの。

そして「ベクトル変数の操作(内積、外積、……)」って発想はクラスの
発想そのもの。

つまりクラスモジュールの使い方を調べましょうってことだね。
目から鱗が落ちたように感じること間違いなし。
0560517NGNG
皆様どうか>>517をお願い致します
0561デフォルトの名無しさんNGNG
>>560
VBの問題じゃなくて、不変的なロジックの問題でしょ?
宿題は宿題スレへ。
0562517NGNG
>>561
品物を梱包する際の配置です
確かにVBの問題ではないのですが
いったいどこへ質問してよいやら...
0563デフォルトの名無しさんNGNG
>>562
元の問題の条件が少し曖昧なので質問。

箱は決まっていて、その中に商品を順番に入れた場合に何番まで入れられるか?でしょうか。
それとも、商品を全て入れるにために一番小さい箱はなんでしょうか?でしょうか。
0564デフォルトの名無しさんNGNG
まあ、もろオペレーションリサーチの領域な気がするから、このスレで回答求めても無理だと思う。
0565デフォルトの名無しさんNGNG
参考までに、似たような問題。

特定の材料からいろんな形を切り出すのに最適な切り出しは?って問題・・・だと思う。w
考え方は一緒だと思うけど。

ttp://www.ifcomputer.co.jp/IFProlog/Applications/RollCutting/home_jp.html
0566デフォルトの名無しさんNGNG
>>546
解答ありがとうございます。製造、開発の依頼を受けた時に
データ管理をACCSESS97でされていました。フォームとかレポートを
駆使して複雑な仕組みをつくられていたためMDBのサイズが膨大な
量になっており、アプリ部分をVBとVCで作成し
テーブルとクエリーは稼動軽減の為、そのまま使いまわししてきた次第です
DBのワクとデータを別のDBアプリに載せかえるのも考えてみます。
テーブル単位でアタッチする昨日をDLL分割しているので
一個所でDB定義しておらず、全体を踏まえて接続方式を変更すると
かなりの試験項目が出るのでちょっと辛いとおもいました。
パスワード式に変更の場合ODBC接続は必須になりますよね?
ありがとうございました。
0567デフォルトの名無しさんNGNG
>>566
ソースの流用率という観点では、AccessからSQLServer(MSDE)ならばそれほど損はないはず。
(MSの資料で移行手順があるはず)

>>546で問題にしてるのは、MDB自体が複数ユーザーによる同時使用に対して脆い点。

あと、DLL毎にテーブルにアクセスしてると書いていますが、DBのオープンもDLL内で行ってるのでしょうか?
そうだとすると、毎回接続・切断って非常に遅そうに思えます。

パスワード云々は正直わからん。
Access2000でもデータベースパスワードの設定はあるけど、どの程度使えるのかやったことありません。

AccessはあくまでパーソナルユースのDBであると認識し、複数ユーザの同時使用には考えないほうがいいですよ。
0568517NGNG
>>563
前者です
最終的に詰め込んだときのサイズが欲しいのは
あまりにもスカスカな場合にだけ連番を崩して
別のパターンを適用させるためです

>>564
。゚(゚´Д`゚)゚。

>>565
ありがとうございます
まだよく見ていませんがとても参考になりそうです
0569デフォルトの名無しさんNGNG
>>568
正直、オペレーションリサーチは難しいですよ。
上記をキーワードにしてGoogleで引っ掛けて、良さそうな事例を探してみてください。
>>565はそれで引っかかった最初のほうの奴なので、もっといいのあるかもしれませんし。

唯一の解を探すのではなく、最適解を探す形になるはずなので、
あとは処理速度とか結果の按配でバランスを取っていくことになると思います。

探査数が単純に多くなる場合、そういう計算はVBは不向きかもしれません。
万単位で繰り返し計算とかループがあると、流石に最近のCPUでもVBの遅さは出ると思う。
0570デフォルトの名無しさんNGNG
そこですかさず客にハード増強の見積提出ですよ
0571デフォルトの名無しさんNGNG
>>570
まず、客が納得する解を得られるプログラムの見通しが先だと思うが。

プログラムが数分かけて出した結論を、
現場でいつも詰め込みをやってるパートのおばちゃんに引っ繰り返されたら・・・。
こういう場合の人の感というか、按配は強敵だぞ。
0572デフォルトの名無しさんNGNG
そこでDelphiですよ
0573デフォルトの名無しさんNGNG
デルファイとかCとか、演算速度は速いけど、
こういう場合の演算回数って、そもそもの考え方が間違ってると平気で0が増えたり、何乗になったりするから。w
やっぱ、おばちゃんの脳の電子化ツール作成が・・・。

大体さ、真面目に1つめをどのあたりに置いたらいいかなんて、わかりっこないじゃん。
人だと次を置いていくうちに、”てきとうに”動かして按配決めるけど、プログラムでこれをやるのって、本当に大変。

明らかに不要な探査を削るのがORの使い道だけど。
0574デフォルトの名無しさんNGNG
正五角形が中心を軸に回転するプログラムを教えてください
0575デフォルトの名無しさんNGNG
>>574
画像を回転する単位毎に用意し、はりかえていく
0576574NGNG
五角形の始点を中心にもってくることができないのでこまってます
0577デフォルトの名無しさんNGNG
五角形の始点?中心点じゃないの?
0578デフォルトの名無しさんNGNG
>>576
元の五角形をどうやって描画してるかによるでしょ?

ある点を中心と決めて、自分で60度毎に等距離の点を計算してそれらを結んでいるならば、
そのある点を決める際の基準からの角度を変えて計算するだけだと思うけど。

ある点が決まった場合、五角形の他の点は三角関数で出せるでしょ?
同じように、最初のある点を1度ずらして、それを元に5点を出していけば。
0579517NGNG
>>569-573
皆様ありがとうございます
ヒントをいろいろ頂戴できて視野が広がります
とはいっても困難なことに変わりありませんが。。。
これらを参考にがんばってみます
0580デフォルトの名無しさんNGNG
あのー、別に文字列操作するわけじゃない、純粋に数値の演算だけなら
VBで書こうがCで書こうが演算速度なんて大差ないと思うが。。

というか、VBのコンパイルオプションの数値演算関係のエラーチェック外せば
演算速度に違いを生じさせるようなメカニズムは何も存在していないわけで。。
0581デフォルトの名無しさんNGNG
>>580
ごめん、頭がPコード前提でした。
ネイティブコンパイルがあるんだよね。それなら大差なしのはずですね。
(MFCを使用したVCの同じようなプログラムに対してですが)
0582デフォルトの名無しさんNGNG
>>578
すいません、ズバリそれが知りたいんです。
0583デフォルトの名無しさんNGNG
60度じゃなくて72度じゃねーか?
0584デフォルトの名無しさんNGNG
sinとかcosとか弧度法とかは知っているか?角度とか。
知らないなら諦めろ。

まず頭の中にアナログ時計を思い浮かべて
0分、12分、24分、36分、48分の5つの点を結べ。
正五角形が出来たか?

次は1分、13分、25分、37分、49分の(ry
0585デフォルトの名無しさんNGNG
>>557
どういう用途なんだかしらんけど、
作るのが目的じゃないならDirectX使ったら?
外積の関数も用意されてるし、そこそこ速いぞ。
0586デフォルトの名無しさんNGNG
VB6で作ったソフトの国際化対応(主に日本語と英語)をすることになったのですが、
何か便利なコンポーネントとかクラスとか無いですかね。
とりあえずキャプションと表示テキストとフォントの情報を
ファイルで持たせておけばいいかと思うんですが。
0587デフォルトの名無しさんNGNG
>>586
まず、ヘルプの国際化(多言語)対応を熟読しろ。
全く・・・。
0588557NGNG
>>559
ただいま帰宅してチェックしてみたところです。
はい、まさに目からうろこでした。
どうも入門書が基本的すぎることしか載ってなかったかな・・・
大学の工学系で解析プログラム作ろうとしてるんですけど、
ろくに組んだこともないと辛いですね。
何はともあれありがとうございました。
今日作ったの全部無駄になりましたが・・・めげずに頑張ります。
0589デフォルトの名無しさんNGNG
質問なんですが、
VBからFlash、FlashからVBへと値を渡す事は可能なんでしょうか?
もし可能だとしたら、どのようにすればよいのでしょうか?
0590デフォルトの名無しさんNGNG
>>589
何種類か考えられるが、どんな環境で?
0591589NGNG
>>590
環境はVB6.0、Flash2004MXで、
サーバに接続せずにローカルで動かせる事が出来るのであれば
基本的にどのような方法でも構いません。

現在色々と調べてはいるのですが、
FlashからVBへはFSCommandというものを使えば値を送ることが出来るような気がするのですが、
いまいちよくわかっていません・・・
そもそも、どうやってVB上でswfを再生させるかもわからないレベルですので・・・
0592デフォルトの名無しさんNGNG
>>591
では
ttp://www.macromedia.com/devnet/mx/flash/activex.html
PDF
ttp://www.macromedia.com/devnet/mx/flash/articles/flash_vb.pdf
0593589NGNG
>>592
どうもありがとうございます。
そのpdfを見ながらいろいろ試してみたいと思います。
0594デフォルトの名無しさんNGNG
SQLを使ってある値より大きいデータを1レコード(次のレコード)だけ抽出する
方法は何かないでしょうか?
今現在は値の大きいデータを全て抽出して先頭のレコードを使用する方法なので
すが、レコード数が多くなってきていて処理に時間がかかるので時間の短縮をで
きるようにしようとしています。
0595デフォルトの名無しさんNGNG
いきなりなんだけどさぁ。

前々から考えてた事なんだけど、I-mode用サイトとか、
PCでIEなどを使い開こうとすると、携帯用サイトです。
PCからの閲覧は出来ない〜的な事を言われる事ってあるよね?

それを、閲覧可能なブラウザを考えてるんだけど自分の技術じゃ無理だ・・・
誰か試みてくれないですか?

ちなみに、板違いだろーからドコに持ち込むのが良い??
0596デフォルトの名無しさんNGNG
>>595
仕組み上できねえよ
0597デフォルトの名無しさんNGNG
>>595
よくわかんねーけど、使ってる回線自体違うんちゃう?

アイモードは携帯電波やろ。
0598デフォルトの名無しさんNGNG
>>595
UA詐称で見られるところなんて限られてるからねー
IPアドレス詐称は難しいし
0599デフォルトの名無しさんNGNG
>>597
わかってないならレスしないほうがw
0600デフォルトの名無しさんNGNG
>>594
select top 1 from 〜

※SQL Server 限定
0601デフォルトの名無しさんNGNG
>>597
言ってる事は合ってると思うよw
0602デフォルトの名無しさんNGNG
>>601
そうか?
0603デフォルトの名無しさんNGNG
>>594
ストアドを使う
0604デフォルトの名無しさんNGNG
>>602
ドコモのなんかで読んだけど、携帯でサイト開く場合はwwwにしても
ドコモのサーバを経由して携帯に送られるはずなんだよね。

だから携帯は直接wwwを閲覧できる機能を持っている訳ではないわけ。
だから、いくら外部からi-modeを閲覧しようとしても接続してる回線自体
別物だから無理なはず。どっかで繋がりがあるなら別だけどね。
0605デフォルトの名無しさんNGNG
>>604
それはそうだけど。
今回の話は勝手サイトの話でしょ?
まさか公式サイトを見たいっていってるんじゃないよね。
0606デフォルトの名無しさんNGNG
>>600
レスありがとうございます。OracleのDBなのでTopは使えないのですが、そこから
検索してRownumというのを見つける事ができました。

>>603
ストアドをよく理解していないので調べてみます。
0607デフォルトの名無しさんNGNG
>>605
・・・・勝手サイトってなに??(´д`)
0608デフォルトの名無しさんNGNG
>>607
ぐぐってくれ
0609デフォルトの名無しさんNGNG
>>606
where rownum = 1 ...
としてもあなたの期待する結果は得られないでしょう。
0610デフォルトの名無しさんNGNG
>>609
本当にそうでした。他の条件をつけようとすると上手く次のレコードを抽出できま
せんでした。う〜ん
0611デフォルトの名無しさんNGNG
SELECT *
FROM (SELECT 〜 FROM 〜 ORDER BY 〜)
WHERE rownum=1
0612デフォルトの名無しさんNGNG
できるんじゃない?
select * from (select * from hoge where hage > 100 order by hage)
where rownum = 1;
0613デフォルトの名無しさんNGNG
激しくかぶった
0614デフォルトの名無しさんNGNG
>>611 >>612
はい。その方法を使えば正しいレコードが抽出できたのですが、Fromの後の()内
の「where hage > 100」の部分のせいなのか速度に全く変化がありませんでし
た。
0615デフォルトの名無しさんNGNG
ホケーイ野郎ハケーン!
0616デフォルトの名無しさんNGNG
>>614
その条件は複雑なん?
単純ならインデックスそこにはってソートして取り出したキーで
ゲットすればよさそうだけど。
0617デフォルトの名無しさんNGNG
>>616
複雑ではなく下記のような感じです。

State = "Select * From TBL Where Code > '" + fCode.Text + "' order by Code"

TBLのレコード件数が4万を超えていて、使わないレコードを削除するという案が
出たのですが、消さなくても少しでも速度を上げれる方法はないかと探していま
した。
0618デフォルトの名無しさんNGNG
このページを参考にしては?
夜の酔ってる頭なので、びんごかはよく見てないけど。

ttp://homepage1.nifty.com/kojama/works/rdbms/oracle/sql.html#term09

ここで出てるSQLですが、感じとしては、ORDERBYがいけないようなきが。
そこの部分で、検索された全件をORACLEさんがTEMPに広げてソートしちゃいますよね。
それが致命傷だと思う。

インデックスを使われて有効にするにはMAX関数で、大将となる最大のレコードを
実データに触らずにインデックスのみで探査させる工夫が必要で、それが上のリンクのはず。
0619デフォルトの名無しさんNGNG
マージ作業(共同で開発しててソースを合体させる作業)をするのにいいソフトってありますか?
windiffやら、いろいろありますが、いいソフトがあれば教えてください。
0620デフォルトの名無しさんNGNG
>>619
えぇぇぇぇええぇぇえ?!
ソースを合体?!?!1つのファイルに?!?!
0621デフォルトの名無しさんNGNG
>>620
例えば、バージョンが5.1の時に、新機能を3つ追加したいときに
同時に開発を行って、後で追加部分を合体させるってこと。
速度が速いやつとか、使い勝手がいいツールって知りませんか?
0622デフォルトの名無しさんNGNG
>>619
コピペ
0623デフォルトの名無しさんNGNG
別ファイルに分ければいいだけじゃん
0624デフォルトの名無しさんNGNG
Formにコードを長々と書くようなしょぼい
やり方やっているのだと別ファイルは難しいな
0625デフォルトの名無しさんNGNG
T4Mergeというものを使っています。
比較しながら編集できるというものなのですが、
毎回編集するたびに比較しているみたいで。。。
速度が遅いんです。
0626デフォルトの名無しさんNGNG
そんなツールを使わずにすむ開発したほうが効率が良いだろうに…
0627デフォルトの名無しさんNGNG
>>626
私だけが開発しているなら、それでいけますが、
多人数で開発しているので。。。
0628デフォルトの名無しさんNGNG
>>627
我々はプログラマだ!
必要ならば作ってしまえ!
オレは必要無いから作らないがな!
0629デフォルトの名無しさんNGNG
VBのプログラムを書かなくてはならなくなりしょうがなく文法を勉強したけど
なんでこんな気持ち悪いの?配列が()とか関数と見分けつかないじゃん。あほかと。
0630デフォルトの名無しさんNGNG
>>629
気持ちはわかる。
でもそれは「C は for 文を for( ) と書くから
関数と見分けがつかない」と文句言うようなもの。
まあ慣れてくれ。

ちょっと違うけど、俺は C の癖で
Select Case n
Case 1
Case 2
' なんかの処理
End Select
とやってしまったことがある。
本当は Case 1, 2 のつもりだったんだよ(馬鹿)
0631デフォルトの名無しさんNGNG
>>630
でもCでその書き方する場合でも、コメントでわざとブレークしないんだよーって書いて欲しい罠。
0632デフォルトの名無しさんNGNG
>>619
Visual SourceSafeにそんな風なことができるようなことを書いてあったような気がする。
0633デフォルトの名無しさんNGNG
>619
普通にVSS使えばよいだけの話だと思うのだが、違うの?
0634デフォルトの名無しさんNGNG
正直、同じ人間の書くコードならVBのソースはc系統のソースより
可読性、というより可視性(?)は高いと思う。

あとでソース見たときに、「えっとこの}に対応してるのは……」って
ネストの対応関係を追跡する非生産的な作業が発生する頻度が高すぎるんだよな
c系統の言語は。

おまけに人によってネストの記述の流儀が違うのがさらにこれに追い討ちを掛けるわけで。
0635デフォルトの名無しさんNGNG
>>634
おいらは逆にC系のほうが読みやすい。

End If Next Loop etc etc...
これらで処理を括られると見難い。
VBは書き方C言語ほど自由にはできないから、みんな似たような
感じになって読みやすいと言えるような気はするが。

ネストが深い書き方するやつは、どの言語であろうと最悪だが、
インデント無しで書いたり、ネストが深くなったりすると、
{}のほうが見やすいと感じる。
0636デフォルトの名無しさんNGNG
あと、ifや関数で括弧付けないで書けるのが嫌。
変数だと思ってたら関数だったというコードを見た時に
こいつマジで死んでほしいと思った。
0637デフォルトの名無しさんNGNG
デルファイがいいよ
0638デフォルトの名無しさんNGNG
WINSOCKコントロールってフォームに張らないと使えないのでしょうか?
Dim skt As Winsock
Set skt = New Winsock
とすると、Newキーワードの使用法が不正ですと怒られます
0639デフォルトの名無しさんNGNG
>>637
begin endを{ } に変更したら考えてやるよ。
0640デフォルトの名無しさんNGNG
逆パターンだが、>639みたいな奴が
ttp://www.pro.or.jp/~fuji/mybooks/cdiag/cdiag.8.2.html
のようなコード書くんだろうな。
0641デフォルトの名無しさんNGNG
>>638
参照設定で使えるはずだが?
0642デフォルトの名無しさんNGNG
>>639
なれればどうってことないよ
0643デフォルトの名無しさんNGNG
>>595
それって環境変数を読み取ってからPCからか携帯からかを
判別してると思うので、それを偽装するしかないと思いますよ
結構前に公開してた(今もあると思うけど)人の名前みたいな
ツールで環境変数を偽装するってゆうのがありましたよね
今は使えるかどうかはわかりませんけど
それをブラウザに混ぜ込んだような物を作るとなると
かなり難しいと思いますよ
逆に言うと環境変数さえ偽装出来れば出来るので
ツールで偽装するプログラムを作ればいいと思います
ブラウザは触らなくても、それさえ出来れば閲覧できそうですね
やったことないので確信はないですけど
0644デフォルトの名無しさんNGNG
>>643
想像でというより妄想だな
嘘ばかり並べ立てて何がやりたいのやら
最低なやつだ
0645デフォルトの名無しさんNGNG
嘘を嘘と見抜けない人には、掲示板の利用は難しい
0646デフォルトの名無しさんNGNG
>>645
技術系のまじめなスレで嘘をつく奴はおかしいよ。
間違った知識ならまだしも、意図をもっての嘘つきは最低。
0647デフォルトの名無しさんNGNG
>>643
だからー
環境変数ってUAのことでしょ?
ここの人間はそんなこともしらないのかぁ
さすがVB房だな。
UAで判断してるところなんてわずかなんだよ。
ほとんどIPアドレスで弾いてる
DOCOMOのIPアドレスの範囲は公開されてるんだから
UA書き換えるプロキシなんていくらでもある。
マジで無知だな。おまえら。
0648デフォルトの名無しさんNGNG
>>647
一緒にするなぁぁ
0649デフォルトの名無しさんNGNG
>>647
> 環境変数ってUAのことでしょ?

これは飛躍しすぎてないか?
・・のことでしょ?って同一視できるもんじゃないだろ。
説明の前提が全然ちがってくるじゃん。
0650デフォルトの名無しさんNGNG
全然飛躍してないよ。
0651デフォルトの名無しさんNGNG
飛躍してない。
ってか説明の前提てなんだ?

>>643があほなだけ。
っていうか環境変数が先にあると思っとるな、しかもブラウザ側に…
0652デフォルトの名無しさんNGNG
初心者な質問ですみません。
VisualBasic6.0で、ListBoxの項目にCheckBoxをつけることってできますよね。
この場合、そのリスト項目一つ一つのCheckBoxの活性/非活性って制御できないものでしょうか?

表示したリストのうち、
絶対チェックしていないといけないものは、チェック状態にしてCheckBoxの状態を変更不可に。
どちらでもよいものは変更可能に。
という風にしたいのですが…。
0653デフォルトの名無しさんNGNG
>>652
その程度なら自作しては?
0654デフォルトの名無しさんNGNG
グリッドでそれっぽいものを作るって手もあると思う。
0655652NGNG
>>653サソ、>>654サソ
ありがとうございます。
ということは、ListBoxの標準的な機能ではできないということなのですね。

私は下っ端で、いま、先輩が先に少しだけ作ったプログラムを
完成させなければいけないのですが、
自作したり、使用するコントロールを変えたりすると怒られてしまいます(´;ω;`)

今回、
「このボタンを押したとき、○○という条件の時に、ココとココとココにチェックが入ってなかったらエラーにして」
と言われただけなのですが、それだとなんとなくモサモサした感じの動きになりますし、
それでは他の画面の制御と少し違う感じなんですね。
最初から変更不可の方がやっぱりスッキリするのではないかなー、
もし、標準の機能のままで対応可能だったら提案できるのになーと。
先輩に、
「自作orコントロール変更変えるくらいだったら、別に最初に言ったとおりでいいでしょっ!
 (ホント面倒臭い子ねーという雰囲気で)」
って怒られそうだけど、聞いてみようかな…。
0656デフォルトの名無しさんNGNG
>>655
自作に関しては、先輩のいうことに一理あると思う。
その自作を納品するなら、誰がその保障をするのかと・・・。

まあ、先輩が求めてるのがそのもさもさした動きならば、まずそれを提示すればよしと。
それ以上が必要かってのは、エンドユーザーの問題(業務アプリの場合)だからね。

ただ、提案をするのはいいことだと思う
・・・けど提案するからには、夢を語るのではなく、あなたのやろうとしていたように実がないよね。
0657652NGNG
>>656サソ
確かにそうですよね。
一度自作で失敗した過去を思い出されます…orz

モサモサしてるような気がしますが、とりあえず今のままで進んでみますね。
エンドユーザ今はいない(テクノフェアに出品するためのものを作っているのです)のですが、
先輩自身が私の画面を叩いている最中に言ってきそうな気もします。(今までもそうだったので。)
でも、その時は、上のように提案してみますね。

本当にありがとうございました(ペコリ
0658デフォルトの名無しさんNGNG
いつも思うんだけど「参照設定」と「コンポーネント」って何が違うの?
0659デフォルトの名無しさんNGNG
>>658
ライブラリーかコントロールかの違いじゃないの?
0660デフォルトの名無しさんNGNG
システムに常駐してシステムを監視するプログラム
をVBで作る事は可能なのですか?
0661デフォルトの名無しさんNGNG
>>660
その「システム」とは何を指しているの?
0662デフォルトの名無しさんNGNG
>>661
だよな。

タスクマネージャーを作りたいのか、自分のシステム用のプログラムランチャーを作りたいのか?
監視って何を監視したいのか。生きてることか、何かログをリアルタイムで集中管理したいのか?
0663デフォルトの名無しさんNGNG
>>662
あなたが述べた事柄は全て可能と言う事ですか?
0664デフォルトの名無しさんNGNG
>>663
662ではないがVBで可能
0665デフォルトの名無しさんNGNG
>>663
厳密なタスクマネージャは難しいと思う。

プログラムランチャーは楽勝でしょ?ShellでもCreateProcessでも。

生きてることなら、上記で起動したプロセスの状態を監視してればOK。
(EXEの終了待ちプログラムなんて検索すれば幾らでもあり、それがそのまま使える)

ログの集中管理は情報の持ち方とかはいろいろあるけど、(普通にファイルとかDBとかその他)
ログが発生したことを通知したり云々はメッセージのやり取りでできるっしょ?
VBならサブクラス化してメッセージを処理するだけ。
0666デフォルトの名無しさんNGNG
> C#は絶対にC++は超えらんないと思うよ

それはそうなんだ、言語の汎用性という意味からするとあなたの言ってる事は
非常に正しいんだ。

> C#って実質Windowsでしかつかえねーじゃん

これもまさしくそうなんだ。

でも、仕事って、まぁ俺の場合はそうなんだけど、9割方Win絡みなんだよね。
でもって、次の世代のWindowsが06年に出るかどうかは別として何時か、近い
将来は必ず出るんだよね。で、そのWindowsからはWin32Apiはネイティブじゃなくて
WinFXでエミュレートされるんだよね。となると、これから始める人があえてwin32api
に精通する必要はなくなるんだよなぁ。むしろ、今は.NETのクラスライブラリの使い方
に精通した方が良いと言える。

> WindowsではVC++&MFCこれ最強
> ま ち が い な い!

現行ではね。Win32Apiがその存在意義を失うであろう、ここ2〜3年の間わって話し
だよな。OSのネイティブAPIがWinFXのクラスライブラリになれば話しはがらっと変わるよ。

まぁ、ハードに近い分野をMSがどうやってクラスライブラリにのっけてくるか、お手並み
拝見だけど、.NETの最適化も1.1→2.0βで大幅に進んでるからね。画像処理のコードを
1.1と2.0βで同じようにコンパイルしたら5倍ほど速度アップしてた。1.1上で約16秒
要してた処理がコンパイルし直すだけで3秒程で終わるようになってたからね。

ただ、間口を広げるという観点からは他のプラットフォームでも使えるC&C++を知っとく
ってのは悪くないとは思うけどね。
0667デフォルトの名無しさんNGNG
>>666
ご苦労。下がってよいぞ。
0668デフォルトの名無しさんNGNG
おむつの取り替えもVBで可能って聞いたが・・・
0669デフォルトの名無しさんNGNG
>>668
LEGO/MindStorm
0670デフォルトの名無しさんNGNG
>>647
IPだけではじいてるわけないだろw
VB房馬鹿にする暇があったら少しは勉強しろよw

>UAで判断してるところなんてわずかなんだよ。
わずかな物の中に何を取ってるのかわかっていってるのか?w
0671デフォルトの名無しさんNGNG
第三者だが
>>670あなたも人の事言えないから。もうその話はやめにしてくれないか。
0672デフォルトの名無しさんNGNG
上の方でベクトルの質問をした者なんですが、もういっちょ初心者的な質問でごんす。
標準モジュールで定数を宣言するときに、
構造体(ユーザ定義型)の変数で定数宣言するときはどうしたらいいのでしょう?
0673デフォルトの名無しさんNGNG
できません
0674デフォルトの名無しさんNGNG
質問読み返したら分かりにくかったので具体例。
Const ってどこにかくべ!?

'構造体の定義
Public Type Vector
    X As Single
    Y As Single
    Z As Single
End Type

'定数宣言
Public vec_reverse As Vector
With vec_ez
    .X = -1
    .Y = -1
    .Z = -1
End With
0675デフォルトの名無しさんNGNG
>>673 まままじですか。

もしかしたらですねWith使わなかったらでける?

実験してくる。 
0676デフォルトの名無しさんNGNG
ででできねぇ・・・
0677デフォルトの名無しさんNGNG
ということは いちいちプロシージャ内に作って、
そっち飛ぶように仕掛けないと構造体の各々に定数を割り当てるのは無理ってことですか?
なんかださいですね・・・
0678デフォルトの名無しさんNGNG
あ・・・ちなみに With vec_ez になってるのはミスです。
連続書き込みすんまそん。
0679デフォルトの名無しさんNGNG
クラスで書けば?
0680デフォルトの名無しさんNGNG
なんか クラスのHP見てみたけど、理解できませんで・・・
分かりやすい本ないかなぁと本屋いっても本見つかりませんで・・・
クラスを理解するのがめんどくなってやめました。
プログラムは式がいっぱいあるだけなんで、
標準モジュールに式いっぱいつくるだけでいいかなぁと・・・・
それでも初心者な私は
ユーザ定義型とモジュール名同じにしてしまって原因発見に3時間もかかってしまったです はい。
0681デフォルトの名無しさんNGNG
クラス覚えるんならVBじゃなくてJavaやC++等をかじったほうが早道
0682デフォルトの名無しさんNGNG
m_Constって作ってSub Const()の中に定数作ってfrmLoadのときに飛ぶようにしときまっす
0683デフォルトの名無しさんNGNG
すごい 便利で覚えたら武器になるって言われてる割には
VBでクラスについて書かれてる初心者向きの本無いですな・・・・
と思った今日この頃
0684デフォルトの名無しさんNGNG
ふと思ったんだがEnumのことじゃないのか?
いや、念のためだ。
0685デフォルトの名無しさんNGNG
>>683
>>385は読んだ?
0686デフォルトの名無しさんNGNG
確定申告もvbでできるんだって??
0687デフォルトの名無しさんNGNG
>>686
いいかげん、そのつまらん書き込み繰り返すな。
0688デフォルトの名無しさんNGNG
へっVaital Bombとはこの事か
0689デフォルトの名無しさんNGNG
>>666って誤爆?ネタ?
しかしこれ誰かに対するレスみたいだが、レスしてる方もされてる方も
実際には自分で何にも書いたことない言語厨臭いな。

いまどき、っていうか昔からだけど、言語そのものの仕様なんぞの習得に
アップアップしてるような奴は話にならんだろ。
言語そのものの習得なんて必要事項の一割にも満たないと思うけどねえ。。

なんだよ、C#はWinだけとかC++なら他のプラットフォームでも使えるとか。
WinでC++でコーディングできる奴がただちにMacでも同じように出来るとでも
思ってんのかね?
0690デフォルトの名無しさんNGNG
漏れには >>689 がネタに見える
0691デフォルトの名無しさんNGNG
コマンドボタンをクリックするごとに
ラベルに、10ずつ加算させたいんですけど
どうやればいいいのですか?
0692デフォルトの名無しさんNGNG
>>691

Private Sub Command1_Click()
Label1.Caption = Label1.Caption + 10
End Sub

デザイン時か、最初に Label1.Caption を 0にしてやればOK

0693デフォルトの名無しさんNGNG
VB6のサポート期間っていつまでか解りますか?
MSのサイトずっと探してるのですが見つからないです・・・
0694デフォルトの名無しさんNGNG
>>693
MSの基本姿勢は2バージョン出たら終わり。
なので、.net2005?が出たらサポート終了のはず。

まあ、そもそもMSのサポートって・・・。
0695デフォルトの名無しさんNGNG
まだサポートしてるのか・・・。
0696デフォルトの名無しさんNGNG
>>695
一応、今年サービスパック出てたじゃない。(SP6)

ただ、対応OSとかは、VB6より後に出たものは基本的に対応しないから、
あまりよろしくない状態だと思うけどね。

XPとかは動作保証なしのはず。
まあ、そもそもMSの動作保証って・・・。
0697デフォルトの名無しさんNGNG
>>670
ちゃんと読めよ
この先走り汁めがw
0698デフォルトの名無しさんNGNG
>694
そんなあいまいな回答しかできないからVB厨って呼ばれるんだよ。
ttp://support.microsoft.com/default.aspx?scid=fh;JA;lifeDevToolFam
0699デフォルトの名無しさんNGNG
延長サポート終了日までを サポート期間とみなしていいわけ?
だったら 2008/03/31 となるね。
0700デフォルトの名無しさんNGNG
>>698
言い訳させてもらえば、そんなサポートなんて当てにしようと思ったことないから。
0701デフォルトの名無しさんNGNG
VBが走るOSが新規で売られなくなるのが実質的な死亡日になるのであ
0702デフォルトの名無しさんNGNG
>>701
OSの入手ルートはともかく、Windows2000のサポート切れだな?>VBの終わり
とか言いそうだよ、今の職場

しかも次はDelphi(.Netに非ず)とか言っている奴がいる...orz

0703デフォルトの名無しさんNGNG
VB6ってWinXPと2003ServerもOKじゃなかったっけか?
0704デフォルトの名無しさんNGNG
>>703
根拠は?
0705デフォルトの名無しさんNGNG
>>703
MSの基本姿勢は、その開発環境の箱なりに書かれたOSのみですよ。
後でSPなどで対応される場合も若干ありますが、基本的にはOSでたら新しいコンパイラー買えです。
0706デフォルトの名無しさんNGNG
VBだけでぺーぺーこいてる人に言わせてくれ。(中にはかしこい人もいるけど)
あんたらにとってC言語などは超かしこい大学みたいなもんだろ。
素人相手に偉そうぶってんじゃないの、こら!
0707デフォルトの名無しさんNGNG
>>706
精神病院へ行け
0708デフォルトの名無しさんNGNG
>703-705
推測でばっか語らずに公式サイトくらい見れ
ttp://www.microsoft.com/japan/msdn/vs_previous/vstudio/techinfo/toolos.htm
0709デフォルトの名無しさんNGNG
>706にとって、Cはものすごく敷居が高く苦労している事だけはわかったよ。
0710デフォルトの名無しさんNGNG
>>708
ここは知っている。あえて根拠は?と聞いたんだよ。
0711デフォルトの名無しさんNGNG
質問です。
VB6.0で16進数を日本語に変換するプログラムを作りたいのですが、
どのような関数・方法で可能でしょうか?以下例です。

82 b1 82 f1 82 c9 82 bf 82 cd → こんにちは

進数同士の変換ならグーグルに山ほど資料がありましたが、これについては分かりませんでした。
0712デフォルトの名無しさんNGNG
>>711
その16進数とやらはどんな状態で入ってる?
0713デフォルトの名無しさんNGNG
SJISとかEUCとかUNICODEとかね
0714711NGNG
状態というのはどう意味でしょう?
手入力でTextBoxに例で書いた通りに16進数を入力し、変換後Labelに表示させたいと思っています。
0715711NGNG
あ、16進数にもいくつかタイプがあったのですね。
シフトJISがSJISのことだと思いますから、状態はSJISです。
0716デフォルトの名無しさんNGNG
>>715
Dim a As Variant
Dim s() As Byte
a = Split(Text1.Text)
ReDim s(UBound(a))
For i = 0 To UBound(a)
s(i) = "&h" & a(i)
Next
Text2.Text = StrConv(s, vbUnicode)
0717デフォルトの名無しさんNGNG
いかりや長介ならここで

  ダメだこりゃっ

って呟くところだな。
0718デフォルトの名無しさんNGNG
>>717
あぁ?ちゃんと表示できてるだろ?なにが駄目だてめえ
0719711NGNG
>>716
すごいです。ちゃんと表示できてます。
感動しました・・。
厚くお礼申し上げます。

>>712
解決いたしました。712様もありがとうございました。
0720デフォルトの名無しさんNGNG
>>719
716と712は中の人が同じだ。
0721デフォルトの名無しさんNGNG
いや、ダメだこりゃってのは質問者のことね。
こんなのは人に聞くようなことじゃないだろ。
ヘルプちゃんと読めば猿でも分かることじゃないか。

まあそれでも、「読んでみたが分からない」というのならまあ仕方がない。
しかし質問の仕方からして、少しも自分で調べた形跡が感じられない。
0722711NGNG
>>720
ああ、それは失礼しました。
今後また質問する場合がありましたらよろしくお願い致します。
0723デフォルトの名無しさんNGNG
っていうかVB辞めろよ もう時代終わってるぞ
見苦しいわ
0724デフォルトの名無しさんNGNG
>>723
これからはDelphiか?w
0725711NGNG
>>721
調べ方がまだまだ未熟ですみません。
ヘルプとはMSDN ライブラリのことですね。
そのライブラリ、グーグル、参考書2冊使ったのですが探し方が悪かったようです。
精進します。
0726デフォルトの名無しさんNGNG
VBのヘルプってわかりにくくていらいらしてくる。
0727デフォルトの名無しさんNGNG
VB6関係の本も手に入りづらくなってきたしなぁ
0728デフォルトの名無しさんNGNG
>>727
なんで?
0729デフォルトの名無しさんNGNG
質問です。
ループで演算させると、長い計算だと結果が反映されるまでにものすごい時間がかかりますよね。
それってずっと待ってればちゃんと計算されますか?
計算数増やすとあんまり長いもんで途中でALT+Ctrl+Deleteすると、応答なしって出てるんですけど・・・
0730デフォルトの名無しさんNGNG
>>729
反応なしと出るのは暴走しているわけじゃない
ループによってOSのイベントをソフトが受けられないだけ
ループ内にDoEventsを入れると反応なしではなくなるが、処理が遅くなる
0731デフォルトの名無しさんNGNG
ループ回るたびに画面に変化起こさせれば動いてるかどうか分かるか・・・・
そのせいでちょっと遅くなるのかな?微々たるもの?
まぁ何はともあれちょっと気になったんで質問してみました。
730さんありがとうございました
0732デフォルトの名無しさんNGNG
>>731
何十万回も回す場合は微々たる物ではないよ。
1000回に1回とか呼ぶと、まあ、許容範囲かなって思う。
この辺は泥臭い方法で調整するしかないんかもなあ。
上手い方法ってあるんだろうか。
0733デフォルトの名無しさんNGNG
Doeventsで割り込むのではなく、特定のラベルだけをリフレッシュして状態表示をするほうがリーズナブル。
0734デフォルトの名無しさんNGNG
反応無しの解決には・・・なるのかな
0735デフォルトの名無しさんNGNG
>>734
反応なしの解決をするなら、DoEventsじゃ解決にならんよ。
マルチスレッドプログラムでやらないと。
0736デフォルトの名無しさんNGNG
>>735
知ったかぶってそういうこと書く奴がいるからVB厨って言葉ができるんだよなあ。。
0737デフォルトの名無しさんNGNG
>734
お手軽にDoEvents入れるのもいいだろうし、DLL使ってやるのもいいのでぁ。
そのアプリにどれだけの物が求められるかで決めてくだちぃ
0738デフォルトの名無しさん NGNG
質問です。

時間を計算させるための入力部を考えているのですが、
テキストボックスの初期値を「00:00:00」(時:分:秒)として、
「1」を入力すると「00:00:01」、次に「2」を入力すると「00:00:12」、
次に「3」を入力すると「00:01:23」・・・・となるようにしたいのですが、
参考になるサンプルが見つかりません。
ご教授いただけないでしょうか?
0739デフォルトの名無しさんNGNG
ttp://tohoho.wakusei.ne.jp/lng/b200005/00050058.htm

VB厨ってこんなDQNばっかなんですか?
0740デフォルトの名無しさんNGNG
普通に答えてくれてる人以外全部頭おかしいですね
0741デフォルトの名無しさんNGNG
>>738
1)「サンプルコード」が必要になるレベルの問題とは思えない。
  もし必要というなら、そういう人はプログラマ辞めるべき。

2)そのようなUIを採用しようとするあなたのセンスは悪すぎる。
  例えばそんなUIで、分の値を入力したあと時間を修正したいと思ったらどうするの?
  Windowsの「日付と時刻のプロパティ」以下の操作性だと思うけど。
0742デフォルトの名無しさんNGNG
それも最低だが(w
0743デフォルトの名無しさんNGNG
>>738
Form Load
  TextBox1.Text = "00:00:00"
EndSub
 Command1Click
  TextBox1.Text = "00:00:01"
 EndSub
  Command2Click
   TextBox1.Text = "00:00:12"
  EndSub
   Command3Click
    TextBox1.Text = "00:01:23"
   EndSub
0744デフォルトの名無しさんNGNG
>>738
該当のTextBoxのKeyPressにStatic変数で文字列を保持。
数値として認識できるキーが押された場合は、上記変数にその文字を追加。

文字保持変数 = Right("000000" & 文字保持変数 & CStr(KeyAscii),6)

で、TextBox.Text = Mid(文字保持変数,1,2) & ":" Mid(文字保持変数,3,2) & ":" Mid(文字保持変数,5,2)

VBのない状態でかいてるのであれですが。
0745デフォルトの名無しさんNGNG
DataGridで
選択された行の2列目を
取りたいのですがどうすればいいでしょうか?
もしろんデータソースと連結してます。

よとしくおねがいします。


0746デフォルトの名無しさんNGNG
>>745
DataGrid1.Columns(1).Text
0747デフォルトの名無しさんNGNG
VB6.0です

ttp://homepage1.nifty.com/MADIA/vb/API/GetOpenFileName.htm
このサンプルを使って「ファイルを開く」を作りました

で、「ファイルを開く」を選んで最初に開いているパスを変更する方法ってありますかね?
デスクトップに設定したいのです
0748デフォルトの名無しさんNGNG
当方VB6.0の環境がないのですが案件が入ってしまいどうしても使わなければなりません。
そこで6.0を購入しようと思ったのですがどこにも6.0って売ってないんですよね。
.NET以上の環境での開発は互換性などの問題が出そうで怖いんです。

今からVB6.0買えるところってどこかありますか?
0749デフォルトの名無しさんNGNG
>747
GetOpenFileNameでぐぐればいくらでもサンプル出てくるだろ。
理解できないなら素直にOCX使っとけってこった。

>748
それ以前に、VBの6.0と.NETは非互換。
売ってる所は・・・ヤフオクとか?
コピ品だったりユーザ登録済みだったりと色々めんどくさそう。
0750748NGNG
>>749
ヤフオクですか?!
会社的に辛いもんがありますね
0751デフォルトの名無しさんNGNG
>>747
サンプルに
.lpstrInitialDir = 開きたいフォルダ
を追加
0752デフォルトの名無しさんNGNG
たまげた!
0753デフォルトの名無しさんNGNG
MSHTML のHTMLDocument.createDocumentFromUrl で、エラーの種類を知る方法はありますか?
ホストが無かったとか、404だったとか。
0754デフォルトの名無しさんNGNG
自分で作った関数のヘルプをVBのヘルプで探せるようにしたいんだけど
そういうことってどうやるの?
ぐぐるキーワードぷりーず。
0755デフォルトの名無しさんNGNG
HTML Help chm
0756754NGNG
>>755
thanx
0757デフォルトの名無しさんNGNG
>>754
アドインの機能になるのかな?
それともOCXとかのほうかな?

アドインもOCXも確かにF1キーでヘルプ出せるから、そのあたりから突っついてみては?
0758デフォルトの名無しさんNGNG
VB6です。
ソースの自動整形をOFFにしたいのですが

どうすればできますか?
0759デフォルトの名無しさんNGNG
できません
0760デフォルトの名無しさんNGNG
オプションの自動インデントのチェックをはずせばいいんじゃないの?
0761デフォルトの名無しさんNGNG
VB6です。
テキストボックスなどでIME入力中変換中の文字があるとき、IMEの変換決定前にマウスでコマンドボタンを押されると、
入力中の文字が消えてしまいます。
これを確定させてやりたいのですが、どうしたら良いでしょうか。
validateでsendkeys の{ENTER}してみたりしましたが、駄目でした。その時にはすでに消えているようです。
また、IME フォーカス 変換 などでぐぐって見ましたが、見つかりませんでした。
よろしくお願いいたします。
0762デフォルトの名無しさんNGNG
MSHTML のHTMLDocument.createDocumentFromUrl で、エラーの種類を知る方法はありますか?
ホストが無かったとか、404だったとか。
0763デフォルトの名無しさんNGNG
>>761
ttp://www.cisnet.or.jp/home/tsuneoka/win32tech/7.html
こっちなんじゃない?
0764デフォルトの名無しさんNGNG
>>761
他の一般的なアプリでもそれが普通の動作ですよね。
なので、無理だと思いますよ。
(そもそもIMEでの変換確定まではアプリとは関係のない処理だし。)
0765758NGNG
>>759
がっでむ
0766デフォルトの名無しさんNGNG
? typeName(a)
Byte()
? typeName(b)
Byte
? typeName(MidB$(a, 1, 1))
String
b = MidB$(a, 1, 1)

↑エラーにならないときと型が違うといわれる時とあるのですが、なぜでしょう?
0767デフォルトの名無しさんNGNG
>>758
VBのIDEを使わない。



もしかするとアドインでコードエディタをごにょごにょすればできるかもしれない。
0768デフォルトの名無しさんNGNG
>>766
エラー名くらい書けないのか?
0769デフォルトの名無しさんNGNG
>>768
な、なんだって(ry
0770デフォルトの名無しさんNGNG
Dim a() As Byte
Dim b As Byte

a = StrConv("0123", vbFromUnicode)
b = MidB$(a, 3, 1) ' エラーにならない
a(2) = 65
b = MidB$(a, 3, 1) ' エラーになる

どう理解したらいいのでしょうか?>エロいひと
0771デフォルトの名無しさんNGNG
>>768
型が違う、じゃなくて、型が一致しません、だった。

? err.Number
13
? err.Description
型が一致しません。
0772デフォルトの名無しさんNGNG
>>771
暗黙の変換のため。
"2"は数字にできるが"A"は文字。
0773デフォルトの名無しさんNGNG
型宣言以外に、保持しているデータも型のチェックに影響するということですかね
0774デフォルトの名無しさんNGNG
>>772
ああ、そういうことかあ
0775デフォルトの名無しさんNGNG
>>773
違う。ちゃんとトレースしてどんな数字が入ってるか見なさい。
0776デフォルトの名無しさんNGNG
>>775
どうもありがとうございました。
0777デフォルトの名無しさんNGNG
>>763
ありがとうございます。難しそうですがなんとか頑張ってみます。

>>764
Outlook Expressなどでは実現しているんですよ。
0778デフォルトの名無しさんNGNG
マイクロソフトの製品は、除外しないとね。
裏で何をやっているのか わからん。
0779デフォルトの名無しさんNGNG
VB6なんですが、
アプリが終了するとき(×ボタンおされたとき)に
実行される関数ってどこに書けばよいのでしょうか?
0780デフォルトの名無しさんNGNG
Form_Unload
0781デフォルトの名無しさんNGNG
From_Unloadつかうと
全てのFormに同じコード書くことになるので
それを避けたいのですが・・・
アプリが終了したとき、
DBのコネクションをきったりしたいんです。
0782デフォルトの名無しさんNGNG
メインフォームなしで全ての画面がモードレスで動くアプリでしょうか?
(そんなUIやだな・・・落ち着きがない)

MSDNのSubMainの項目、Formsコレクションなど読んだ上で、それらを駆使するしかないと思います。
各フォームUnload時に、Formsコレクションに他がいないか?いなきゃ終わるぞ関数を追加。
0783デフォルトの名無しさんNGNG
>>781
補足。
同じコードを書きたくない場合、VBではFormの派生はできないけど、テンプレはある。
お約束を書いたコードをVBインストール先のテンプレのしたのフォームにおけば、新規作成で
そのフォームのコピーを追加できる。
0784デフォルトの名無しさんNGNG
メインとなるFormを閉じたときに すべて終了とすればいいじゃん。
0785デフォルトの名無しさんNGNG
??メインファームとはなんぞや?
0786デフォルトの名無しさんNGNG
>>785
基本的にはスタートアップフォームに指定したもの。
そのアプリの入り口・出口となる基本画面。
そういう形の画面遷移なら、メイン画面の開始でDBOpen、終了でCloseでOKなわけで。

どの画面もぽこぽこ開いて、順不同で閉じるんでしょ?元質問者のアプリ。
0787デフォルトの名無しさんNGNG
Endステートメントを使ってアヒャヒャヒャヒャ
0788デフォルトの名無しさんNGNG
これからVB覚えたいんですが、おすすめの書籍があれば教えてください。
0789デフォルトの名無しさんNGNG
VB自体が あまりおすすめではry
0790デフォルトの名無しさんNGNG
>>788
VB.NETにすれば?
0791デフォルトの名無しさんNGNG
書籍ではないけれど、
「MSDNライブラリ」
マジオススメ。ちょっと無駄な情報量が多くて検索機能が弱いけど。
0792デフォルトの名無しさんNGNG
どどねとだったらC#にしたほうがいい。あれならJAVAへもすんなりいけるし。
0793デフォルトの名無しさんNGNG
参考書やネットで調べようと悪戦苦闘していたのですが、どうしてもわからない
ので教えてください。

データベース:Oracle9i プログラム:VB6.0
使うテーブル:マスタ、累積1、累積2
やりたい事:SQL。マスタのAフィールドに"1225"のデータが入っていて、尚且
つ累積1か累積2のどちらかに主キー(Code)で連結しているレコードを抽出した
い。
累積1・2の両方にCodeというマスタと連結させるためのフィールドを持たせてい
ます。

自分がやっていた方法だと累積1・2に同じCodeを持つレコードがあると、そのレ
コード分複数のレコードを抽出してしまっていました。Aに"1225"の値が入って
いて、累積1か累積2に連結データが入っているレコードを抽出したかったのです
が上手くできませんでした。どなたか是非教えてください。説明がわかりづらい
と思いますので、不明な点はどんどんつっこんできてください。
0794デフォルトの名無しさんNGNG
>>793
不明な点・・・全て。w

1・2双方に同時に存在した場合、どっちのレコードを取るのが仕様なの?
0795793NGNG
追記。自分が作ってみたのは下記のSQLです。

Select *
From (Select マスタ.* From マスタ, 累積1, 累積2
Where (マスタ.Code = 累積1.Code Or マスタ.Code = 累積2.Code))
Where A = '1225' Order By Code

です。間違ってる点はご指摘ください。
0796793NGNG
>>794
レスありがとうございます。
1・2のどちらかに連結データのあるマスタのレコードを抽出したいと思って
います。
0797デフォルトの名無しさんNGNG
Select *
From (Select マスタ.* From マスタ, 累積1, 累積2
Where (マスタ.Code = 累積1.Code and マスタ.Code = 累積2.Code))
Where マスタ.A = '1225' Order By マスタ.Code
0798デフォルトの名無しさんNGNG
って よくよく見たら 違うな(w
こんな変なSQLは 理解できん(w
0799デフォルトの名無しさんNGNG
Select * From マスタ Where Code=
(Select マスタ.Code From マスタ, 累積1, 累積2
Where (マスタ.Code = 累積1.Code or マスタ.Code = 累積2.Code)
Where A = '1225' Order By Code )

テキトー
0800デフォルトの名無しさんNGNG
あっ カッコの位置が・・・。
って カッコいるのかな?
0801793NGNG
>>799
早速試してみましたが、
「単一行副問い合わせにより二つ以上の行が戻されます。」
というエラーメッセージが表示されてしまいました。
1・2のどちらかに連結データのあるマスタのレコードを抽出したいといのは
SQLでは不可能なのでしょうか?
0802デフォルトの名無しさんNGNG
>>793
マスタと累積1、マスタと累積2をそれぞれ結合して取得するSQLを
"UNION"でくっつけるといいのでは?

Select マスタ.*
From マスタ, 累積1
Where マスタ.Code = 累積1.Code
AND マスタ.A = '1225'
UNION
Select マスタ.*
From マスタ, 累積2
Where マスタ.Code = 累積2.Code
AND マスタ.A = '1225'
Order By マスタ.Code

手元にオラクルがないからテストできないが、たぶんいけるかな…

関係無いが、マスタがスマタに見えてしまう _| ̄|○
0803802NGNG
>>793
よく考えたら、>>795のSQLに
GROUP BY句 か DISTINCTを指定すれば、
いいんではないのか?
0804デフォルトの名無しさんNGNG
単純には、INでかけるじゃん。

SELECT マスタの* FROM M
WHERE コード IN (SELECT コード FROM 塁1 UNION SELECT こーど FROM 類2)
AND コード = ’ほげ’

で、いんは効率悪いから、EXISTSに書き換えるだけ。
0805デフォルトの名無しさんNGNG
そのへんの入門書に書いてあります。
ネットで検索してもでてきます。
余裕で見つかります。
0806デフォルトの名無しさんNGNG
すまん誤爆。
0807デフォルトの名無しさんNGNG
>>805さんよ、804だけどさ。
確かにその通りだけど、いざ言われるとどきっとしちゃうだろ。w
0808デフォルトの名無しさんNGNG
バイト配列Aに、バイト配列Bの任意の位置から後ろの部分を
くっつけたいんですが、どうやればいいでしょうか?
ループで回す以外に早い方法があればご教授ください。
RtlMoveMemoryでできるんでしょうか?いまいちどうすればいいのかわかりません。。
0809デフォルトの名無しさんNGNG
>>808
ループ回してください。
0810808NGNG
>>809
う〜んそう言わずになんとか…!
要素数も100万超えてくるとループでは苦しいんです。。
0811デフォルトの名無しさんNGNG
Windows XP使ってんだが、Excel使ってたら怪しいファイルらしきもの
が出てきたんだが、これってウイルス?
だれか教えてクレー

「Visual Basic Editor」ってのがあったんでクリックしたら、知らない
意味不明の英文びっしり出てきたんだが、オブジェクトとか。。。
「Microsoft Script Editor」−Updat.csvってのもでてきて
数字がならんでんだ
いろいろクリックしてたらソースみたいのが超でてきた
VBって入力しなきゃでてこないもんだよな?
最初からインストールされてんものか?
教えてクレー
0812デフォルトの名無しさんNGNG
>>811
PC初心者板へGO
0813デフォルトの名無しさんNGNG
二つ以上ってことは、重複行があるのか。

重複をなくすやつ やればいいのね。
0814793NGNG
みなさんレスありがとうございました。早速試してみたいと思います。
0815デフォルトの名無しさんNGNG
VB6から移行するならVB2005待ちが良いでしか?
0816デフォルトの名無しさんNGNG
VBから移行するならDelphiだな(w
0817デフォルトの名無しさんNGNG
釣れますか?
0818デフォルトの名無しさんNGNG

VBの配列処理で、値の重複チェックをして、さらに詰める
という処理をしたいのですが、簡単に可能なのでしょうか?

例えば、
Dim a(5) As Integer
a(0) = 1
a(1) = 2
a(2) = 1
というように値が入っている配列を
圧縮されて、
ReDim Preserve a(1) As Integer
a(0)の値1
a(1)の値2
という風にしたいのです。
ご教授お願い致します。

0819デフォルトの名無しさんNGNG
>>818
自作したほうが早いんじゃないの?
標準機能内にはないでしょ。
0820デフォルトの名無しさんNGNG
>818
コード書けば可能。簡単かどうかは本人のレベルによる。
ただ、俺なら素直にCollection使うな。
0821デフォルトの名無しさんNGNG
DataGrid
で選択された、行のValueを全て取得
したいのです.ループを使わずに。
できればValuesコレクションで取得したいのですが
どうやればいいでしょうか?
ご教授おねがいします。
0822デフォルトの名無しさんNGNG
>818
そういう場合は*原則として*値を入れる時にちゃんとしておく。
0823デフォルトの名無しさんNGNG
質問です

エクセルの範囲指定のコピー&ペーストってVB6から使用できますでしょうか?

VBからファイルを開く(データ登録済み)範囲をコピーし集計用エクセルにペースト
ということをやりたいんですが。
VBAでは出来るのは判るのですが
いろいろ事情がありVBAでは不可とのこと

やっぱりセルを一つづつ読むしかないんでしょうか?
0824デフォルトの名無しさんNGNG
>>823
できるでしょ?
手元にない&うろ覚えなのであれだけど、SheetのRangeとかで出来ない?
0825デフォルトの名無しさんNGNG
VBとVBAとVB.NETの違いを教えてください。
0826デフォルトの名無しさんNGNG
>>825
VB:
文字通りVisualBasicの統合開発環境及びそこで使用される言語の総称

VBA:
VB言語(って表現はなんだが)によるマクロ開発環境
VB言語を使用して、Excel等のマクロ開発が行える

VB.NET:
.NETフレームワーク上で動作するアプリを開発する統合開発環境のVB版。
既存VBとは言語的にほぼ別物。
.netアプリであれば、どの言語で作っても実行ファイルの性能差はないので、別にVBじゃなくても
0827デフォルトの名無しさんNGNG
VB.NET:
の1行目と2行目で開発環境の話から言語の話に変わってるのはなぜだ。
0828デフォルトの名無しさんNGNG
ありがとうございました。なんとなくわかりました。
0829デフォルトの名無しさんNGNG
>>827
書いてるうちに疲れたから、持久力が無いんですよ。
0830デフォルトの名無しさんNGNG
質問なんですが、
複数の画像ファイルを読み込んで、それぞれの画像の位置を指定した後、
それらを一つの画像ファイルとして書き出すことは出来るのでしょうか?
出来るとしたらどのようにしたらいいのでしょうか?
0831デフォルトの名無しさんNGNG
画像編集ツールを使えば簡単じゃないかなっ
0832デフォルトの名無しさんNGNG
セルの空欄をシート全体から検出する方法で、高速な方法を
教えてください。
1000行×10列セルくらいのデータを想定しています。
0833デフォルトの名無しさんNGNG
>>830
LoadPictureしてPaintPictureしてSavePictureすれば簡単にできるかも。
試してないので本当にできるかわからんが。
俺なら32ビットのDIBに変換してメモリ上で合成するけどな。
0834デフォルトの名無しさんNGNG
>>830
833のやり方でできるけど、保存形式はbmpだけ。
bmp以外の画像形式はdllを使うか、WinXP限定で話題のGDI+を使う。
0835デフォルトの名無しさんNGNG
>832
勝手にExcelと判断して、その範囲をFor〜Each〜Next。
0836デフォルトの名無しさんNGNG
ComboBoxやListBoxのListにアイテムをまとめて追加したいのですけど、
List1.AddItem("あ")
List1.AddItem("い")
List1.AddItem("う")
…
というようなことをやりたいとき、
一度にまとめて代入する方法はないでしょうか。
( "あ" , "い" , "う" )
とか、このような感じでまとめて渡したいのですけど…
0837デフォルトの名無しさんNGNG
>>836
そういうプログラムを書きなさい
0838デフォルトの名無しさんNGNG
VBってバッチ処理系のプログラムに向いてるのかのう?
0839デフォルトの名無しさんNGNG
>>838
やりたい事柄によりますな。
0840デフォルトの名無しさんNGNG
For Each x In Array("あ", "い", "う")
0841デフォルトの名無しさんNGNG
>>838
向いていない。
バッチってサーバ上とかで動くでしょ?
サーバなんかにVB入れたくないし。

例えばDBにアクセスするのにミドルウェア使う分遅いし。
Oracleだったら、サーバだけで完結できるPLSQLとかProCアプリとか。
0842デフォルトの名無しさんNGNG
ヤレヤレ
0843デフォルトの名無しさんNGNG
>841
やった事無いならそう言えばいいのに。
0844デフォルトの名無しさんNGNG
>向いていない。
>バッチってサーバ上とかで動くでしょ?
>サーバなんかにVB入れたくないし。
向いてない理由が「入れたくないし」って
0845デフォルトの名無しさんNGNG
>>841って真性?
0846デフォルトの名無しさんNGNG
残暑がきびしいからねぇ
0847830NGNG
>>833>>834
ありがとうございます。
SavePictureで書き出してみようと思ったんですが、
PaintPictureで画像を組み合わせた後ですと
「実行時エラー380 プロパティの値が不正です」
と言われてしまいます。

32ビットのDIBについても調べてみたのですが、
読み込んだ画像をどのように扱えばいいのかがわかりませんでした。

また、書き忘れてしまいましたが、VBのバージョンは6.0なので、
GDI+というものは使えないようでした。

dllを使えばbmp以外のデータを書き出すことが出来るそうですが、
具体的にどのようなdllを使用すればいいのでしょうか?
0848デフォルトの名無しさんNGNG
>>847
プロパティの値を変えればいい。

どれも調べればわかる。
もっと自分で努力しないと。
0849デフォルトの名無しさんNGNG
そんなおかしいこと書きましたでしょうか?

まず、バッチ自体クリティカルな処理が多く、DB系の場合大量データの処理がメインなので
VBなどミドルウェアを経由して処理するものは向いていない。

次にサーバにVBランタイムを入れることには多大な抵抗がある。
ランタイムが変わることによる他のアプリへの悪影響(特にIIS)
逆にサーバにOSの修正パッチを適用したときの自VBアプリへの影響。
それらを考えた場合、クリティカルな処理に用いるべきではない。

0850デフォルトの名無しさんNGNG
>>849
イカレてやがる。
ああ、釣りか。本気じゃないよな。
0851デフォルトの名無しさんNGNG
>>850
だからさ、きちんと反論してくれよ。
変なレスいらないから。
0852デフォルトの名無しさんNGNG
>>849
DBサーバーとWebサーバーを一緒にするような案件で
そんな心配するほうがアフォ
0853デフォルトの名無しさんNGNG
>>851
日頃、頭が固いとか想像で語るなとか知識が古いとか言われてないですか?
0854デフォルトの名無しさんNGNG
ミドルウェアやランタイムの影響より
オマエのプログラムの問題のほうが多いに決まってるだろw
0855デフォルトの名無しさんNGNG
>>849
ランタイムが変わるとか言ってる時点で知識の古さがわかる。
0856デフォルトの名無しさんNGNG
ID変わらないから連カキもOKですね。
まあ、同じ人が大勢いらっしゃる。

で、クリティカルな要件で不定要素を外すべきという考えのどこが間違ってるのでしょうか?
0857デフォルトの名無しさんNGNG
>>856
そうだな。例えるなら、地球環境に悪いから全ての車を電気自動車にしろ!
というようなもんだよ。
0858デフォルトの名無しさんNGNG
>>857
じゃあ、どっちがいいかはあんたもわかってるんじゃん。
それでも必要悪として使うならいいけどさ。
選択の余地があるなら、わざわざバッチ処理をVBで書くのか?
0859デフォルトの名無しさんNGNG
>>858
処理が複雑であり、VBで作ったほうがラクなら書くよ。
処理といってもDB操作の事じゃないよ?
0860デフォルトの名無しさんNGNG
処理が複雑って具体的にどんな状態?
そんなのこそ、それこそ普通にCとかでシンプルに構成すればいいじゃん。
わざわざVBを使って書くものでもない。
0861デフォルトの名無しさんNGNG
>>858
あなたも自分の発言におかしい所があるのは理解できたかな?
0862デフォルトの名無しさんNGNG
>>860
じゃあお前はC使えばいいじゃないか。なにを吠えてるんだ?
大体、バッチ処理=DBって考えも馬鹿っぽい
0863デフォルトの名無しさんNGNG
あのさ、多分反論書いてる人2人いるとおもうんだけどさ。
具体的に反論できないで、馬鹿っぽいとか言ってる奴は黙ってろよ。
0864デフォルトの名無しさんNGNG
>>862
元質問がVBがバッチ処理に向いてるか?でしょ。
だから向いていないと書いてるんだよ。

わざわざバッチ処理内に不定要素となるようなことを持ち込むべきじゃない。
構成をシンプルにすべきだと。

で、逆にVBじゃないとできないバッチ処理ってあるの?
対象者がVBしか使えないという理由以外で。
0865デフォルトの名無しさんNGNG
自分は正しい、そう思い込みたいんですね。
0866デフォルトの名無しさんNGNG
>>864
向いていないと断言するから反論も出てくるんだよ
0867デフォルトの名無しさんNGNG
頭が化石の人に何を言っても・・・
0868デフォルトの名無しさんNGNG
>>866
じゃあ、向いてるとでも思ってるのか?
どういう場合に向いてる場面があるの?本当に。
VBしか使えない奴しかいないというなら判るけど。
0869デフォルトの名無しさんNGNG
>>868
視野が狭いなぁ
バッチ処理のスピードに関してVBが使えないほど遅いとか言わないよな?
オレはVCやVBその他色々やるが、客が使いやすいソフト作る時は
VBで作ったりするぞ?ラクだし
0870デフォルトの名無しさんNGNG
>>869
私は安定性と構成のシンプルさを求めるだけだけど。
バッチ処理で客が使いやすい?どういう場面でしょうか?
0871デフォルトの名無しさんNGNG
batch処理だろ?そのくらいVBでぱぱっと作れよ
0872デフォルトの名無しさんNGNG
>>870
あなたはVBでは安定性も構成も満足いくものが作れないのですね。
0873デフォルトの名無しさんNGNG
もういいよ。自分の好きなようにやれ。
0874デフォルトの名無しさんNGNG
>>872
揚げ足とりばっか。
構成のシンプルさって理解できてないでしょ?
VBが必要じゃない場面で、VBのモジュールをよぶことのほうが嫌だよ。

0875デフォルトの名無しさんNGNG
みなさま 真性 は放置で
頭が固い潔癖症になに言っても無駄だ
0876デフォルトの名無しさんNGNG
じゃあ、私は頭の固い潔癖症でいいわ。
そういう業務やってるわけだし。
やってる世界が違うから、話は合わないよ。

VBが画面を作るのに向いているとは思うけど、バッチに向いてるなんて言う奴は理解できん。
0877デフォルトの名無しさんNGNG
こんな真性がプロジェクトにいたら( ;´Д`)いやぁぁぁぁぁー!
0878デフォルトの名無しさんNGNG
バッチ処理はVVBScriptだろ?
0879デフォルトの名無しさんNGNG
新しい言語キターー
0880デフォルトの名無しさんNGNG
すまん。ちょっと酔ってる。
0881デフォルトの名無しさんNGNG
バッチに向いてるなんて誰か言ったっけ?
向いていない、に反論した人はいるけど。
目の前の0か100かしか考えられない頭の(ry
0882デフォルトの名無しさんNGNG
こういう奴が将来COBOLerと呼ばれるようになるんだなぁ
0883デフォルトの名無しさんNGNG
だからさ、
>>859
>処理が複雑であり、VBで作ったほうがラクなら書くよ。

>>869
>オレはVCやVBその他色々やるが、客が使いやすいソフト作る時は
>VBで作ったりするぞ?ラクだし

に対して質問出してるのに、返事ないじゃん。

処理が複雑でVBで作るのが楽って自分都合でしょ?
バッチ処理で客が使いやすいってどういう場面?
0884デフォルトの名無しさんNGNG
今、バッチもVBで組むのが流行ってるのしらないんだね( ´,_ゝ`)プッ
0885デフォルトの名無しさんNGNG
少なくともPL/SQLやPro*Cよりは分かりやすく書けるな。
0886デフォルトの名無しさんNGNG
あのさ、元質問はVBが向いてるか向いていないかでしょ?
それに対してグレーな回答を返せるほど、VBでバッチを組んだらいい場面ってあるの?

他の選択肢が幾らでもある状態で、VBでバッチを組むべき!
と推せる要素があるなら書いてくれよ。
変な反論とか技術に関係ない揶揄ばっかりじゃ話にならない。
0887デフォルトの名無しさんNGNG
実は俺も昔、バッチはPro*Cで書くという信念があった。
今は間違いだったことに気づいたが時既に遅し
0888デフォルトの名無しさんNGNG
>>885
それはあんたに技術がないだけだし、PL/SQLのみで出来る処理なら
PL./SQLとORACLEのスケジュール機能だけで完結させればいいじゃん。
その中にわざわざVBとかOO4Oを入れる理由が判らない。
0889デフォルトの名無しさんNGNG
実は、さらにその昔、OCIで組むべきという信念もあった。
0890デフォルトの名無しさんNGNG
>>886
もう話するな。邪魔だ。
0891デフォルトの名無しさんNGNG
>>888
いうと思った。
オマエ、若いだろ
0892デフォルトの名無しさんNGNG
VB嫌いになに言ってもむだじゃん
0893デフォルトの名無しさんNGNG
>>891
で?内容には反論できないのですか?
0894デフォルトの名無しさんNGNG
>>888
じゃあ、すべてCで書けば?って思うよ。
さらにアセンブリ言語でもいいよ( ´,_ゝ`)プッ
0895デフォルトの名無しさんNGNG
>>893
オマエ、真性のバカだな。
0896デフォルトの名無しさんNGNG
だからさ、誰もVBでバッチを書く優位性を書いてないんだよね。
他の選択肢よりVBでバッチを書く優位性を誰か書けよ。
0897デフォルトの名無しさんNGNG
だからVBの方が容易に書けるだろって逝ってるだろ
そしたら技術力がないとか言うだけだし。
0898デフォルトの名無しさんNGNG
VBだろうがCだろうが、お前がこだわるほどの優位性の差が無いんだよ
0899デフォルトの名無しさんNGNG
>>898
いいこといった!
0900デフォルトの名無しさんNGNG
100と99なら100しか使ってはだめなんだ!!
という頭の(
0901デフォルトの名無しさんNGNG
まあ、一番いいのはDelphiだけどな
0902デフォルトの名無しさんNGNG
>>900
100と99を選択できるなら100を選ぶよな。普通。
なんで99を選ぶの?99で妥協を許される仕事ですか。
他に選択肢がないならしょうがないけどさ。

>>898
VBの場合、実行時に最低でもVBのランタイムをロードするもの嫌だ。
VBじゃなければできない処理ってのがあるなら別だけど、他に選択肢があるならVBはバッチからは除外だ。
0903デフォルトの名無しさんNGNG
>>902
100じゃなきゃ許されない仕事って何よ?
0904デフォルトの名無しさんNGNG
>>902
だからお前はVBつかわなきゃいいだろ。もう消えろ。
0905デフォルトの名無しさんNGNG
>>903
普通に仕事していて、100と99の選択があって99を選ぶ仕事って何?

>>904
だから、画面を作るのとかはVBでやるのは好きだし、生産性がいいと思うよ。
あんたこそAllorNothingで語ってるんじゃないの?
0906デフォルトの名無しさんNGNG
VBのバグよりオマエのコードのバグの方が心配だっていってるだろw
0907デフォルトの名無しさんNGNG
なんで画面は99でいいんだよ?
0908デフォルトの名無しさんNGNG
100で高い値段と遅い納期なら99の安い値段と早い納期選ぶな
0909デフォルトの名無しさんNGNG
>>907
あのさ、VBが全てで劣ってるなんてだれも言ってないでしょ?
画面作るときはVBの生産性はいいと思うよ。
だけど、バッチ処理をVBで作るべきと推せないだけ。

>>908
そういうのを含めて100か99かの評価でしょ?普通。
なんでそういう極論で、しかも前提を曲げるかな?
0910デフォルトの名無しさんNGNG
バッチだってVBのほうが生産性いいじゃん
0911デフォルトの名無しさんNGNG
>>909
お前が極論なんだよ。馬鹿。
0912デフォルトの名無しさんNGNG
>>911
いいこといった。
0913デフォルトの名無しさんNGNG
>>910
画面のイベント処理を抜いて、VBを純粋に言語として抜き出した場合、
他の言語とそんなに生産性の要素に差がある?
0914デフォルトの名無しさんNGNG
>>909
やれやれ。質問に答えたら前提を曲げるだの言い出すか。
0915デフォルトの名無しさんNGNG
ここの人はVBしかできないとでも思ってるんじゃないの?
アホかっつーの
0916デフォルトの名無しさんNGNG
俺はPL/SQLもOCIもPro*Cもやってきたが
やはりVBは楽でよい。
0917デフォルトの名無しさんNGNG
ちなみに俺の公開している超有名フリーソフトは
C++で作っているがな
0918デフォルトの名無しさんNGNG
VBをバッチ処理でつかったほうが良い点は、
1.(若干疑問はあるが)生産性が高い
2.楽
でOKでしょうか?
0919デフォルトの名無しさんNGNG
3.バグが入りにくい
0920デフォルトの名無しさんNGNG
>>917
なんか、子供の喧嘩のときに、訳わかんない自慢してるみたいで笑った。
0921デフォルトの名無しさんNGNG
下記のようにコーディングして、テキストファイルを読み込むと、
当然読み込んだデータの末端に余計な改行が入るのですけど、
不要な改行を付加することなく、スマートに
テキストファイルを読み込む方法はないでしょうか?

Open TextFilePath For Input As #1
Do Until EOF(1)
Line Input #1, Temp
ReadData = ReadData & Temp & Chr(13) & Chr(10)
Loop
Close #1
Text1.Text = ReadData
0922デフォルトの名無しさんNGNG
>>921
LineInput使わずにまるごと全部一度に読め
0923デフォルトの名無しさんNGNG
つ〜か>>921みたいなヘルプ見れば直ぐ解決するようなこと質問する奴の
神経が知れん。

>>922みたいにそれに答える人間の神経もそれ以上に理解できん。
どちらも端的に狂ってる。
0924デフォルトの名無しさんNGNG
それ以上に>>923みたいにくだらん書き込みする人間の神経も理解できん。狂ってる。
0925デフォルトの名無しさんNGNG
全部一度に読めって言う答えも間違ってるし。
0926デフォルトの名無しさんNGNG
>>925
オレは間違いとは思わんが、理由は?
0927デフォルトの名無しさんNGNG
そもそもLine Inputで改行コードなんて付加されんからでしょ
0928デフォルトの名無しさんNGNG
全部読む事と上のみたいなやりかたでLineInputで読むのと、
最後の改行の扱いに関してどういう違いがあるんだ?
# っていうか、解決策としては全然意味ないだろ?
0929デフォルトの名無しさんNGNG
>>928
大馬鹿は去れ。
0930デフォルトの名無しさんNGNG
ファイルサイズが限定されていない状態で全部読めってのはありえない。
0931デフォルトの名無しさんNGNG
そんな大きなテキストをテキストボックスで扱うのかwww
0932デフォルトの名無しさんNGNG
>921
2例考えられるから分けて書くよ。

1.
各行ごとに余分な改行が付加されるのかな?
その場合、元のtext fileの改行コードはどうなってるかチェックしてみて。

2.
最終的にText1.Textに表示されるデータの最後に余分な改行が入る、
具体的に言うと、Iビームカーソルはデータの最後の文字の直後にいて欲しいのに
最後の文字の次の行の先頭にいる、って事かな?
だったら当たり前。自分でChr(13) & Chr(10)を付加してるんだから(w
最後にReadDataの末端を2byte切り飛ばしましょう。
0933デフォルトの名無しさんNGNG
>>931
じゃあ、あんたも元質問者と同レベルだ。
0934デフォルトの名無しさんNGNG
>>933
だだっこだな、仕様をまげるなよwwwww
0935デフォルトの名無しさんNGNG
>>932
2のパターンは不味く無いか?
手元にVBないからあれだけど、ファイルの最終が・・・

xxxxx(改行)
(EOF)
ならOKだが
xxxxx(EOF)
だと実でーたを切り飛ばしちゃうでしょ?

INPUTで読むことはあってるんだが、一定サイズ毎っていう指定が入るよな。
全部読めとかっていうのは答えとして乱暴すぎ。
0936デフォルトの名無しさんNGNG
訂正、切り飛ばさないわな。
逆だ、改行があった場合に、その改行を削ってしまうね。
上記例だと上のパターンも下のように表示されてしまうかな?
0937デフォルトの名無しさんNGNG
いやどっちにもならんと思うが…
思うがLineInputの仕様は忘れてるので間違ってるかもしれん。
0938デフォルトの名無しさんNGNG
>>929
どこが大馬鹿か言ってくれ。

LineInputの方が自分で改行足してるだろとか言うなよ。
だからわざわざ
「上のみたいなやりかたで」LineInputで読むのと、
と書いたんだからな。

それとも「全部読むのが解決策になる」と言いたいのならどう解決するのか言ってみろ。
最後の改行削除とか言うなよ、全部読む事と何の関係もないんだからな。
0939デフォルトの名無しさんNGNG
くそう、バチ祭りに乗り遅れた・・・
0940932NGNG
>935
あー悪い。俺は「まず絶対に改行(他スペースやtabやカンマの場合有)があるであろう」って
場合も必ずIf文でチェックしてから処理してるんだわ。自分の中じゃ当たり前になり過ぎて
書くの忘れてた(w
ので、事故防止のためにそのようにね>921
0941デフォルトの名無しさんNGNG
最後に改行ある場合はちがうのとちゃうか?
0942デフォルトの名無しさんNGNG
>>938
それにしても読みにくい日本語だ。主題が判りにくい。

INPUTは改行コードを含めて読み込みだったような。
なので、最終行に改行が入ってるか否かは自ずからわかるよね。
0943デフォルトの名無しさんNGNG
ああ、話がごちゃごちゃに…
0944デフォルトの名無しさんNGNG
一発がそんなに難しいかなあ
Dim fn As Integer
Dim s() As Byte
fn = FreeFile
Open "hoge.txt" For Binary As fn
ReDim s(LOF(fn))
Get fn, 1, s
Close fn
Text1.Text = StrConv(s, vbUnicode)
0945デフォルトの名無しさんNGNG
>>940
チェックするってどうやって?
LineInputで読み込んだ場合、その終端がEOFかCRLFかの判断って付かないよね。
Inputで読み込むことを前提に話していますか?
0946デフォルトの名無しさんNGNG
VBってそもそも全部を文字列で読み込む機能がないんだっけ?
いずれにしても誰も一発で読むのが難しいという話はしてないと思うが…
0947デフォルトの名無しさんNGNG
Line Input # ステートメントは、ファイルからキャリッジ リターン
(Chr(13)) または改行コード (Chr(13)) + Chr(10)) の直前までの
すべての文字を読み込みます。
キャリッジ リターンと改行コードは、変数に読み込まれる文字列に
追加されるのではなく、読み飛ばされます。
0948デフォルトの名無しさんNGNG
しかしこんな低レベルな話題で盛り上がってる連中と
同じ開発ツール使ってるかと思うと悲しくなってくるな、リアルで。。

俺のレスが単なる煽りにしか見えない人、要するに>>921に端を発する
一連のレスの流れが低レベルだと思えない人は危機感持ったほうがいいよ。
0949932NGNG
>945
再び悪ぃ(w
>921のソースの場合、絶対に1行ごとに改行が付加されるわな。
故に終端にのみ改行が付加する、という場合、俺が最初に書いた
2.でいいんだわ。
どうにかしてるな(w
0950デフォルトの名無しさんNGNG
実際には1レスで終わってるのにねぇ
0951デフォルトの名無しさんNGNG
9月はみんないらつく時期なのかねぇ
0952デフォルトの名無しさんNGNG
ミスターちんはvisual basicの達人
mister chin ha visual basic no tatsujin
ちんさんはvisual basicの勃つ人
chinsan ha visual basic no tatsu hito
ちんさん派 visual basic NO経つ日と
mr.chin group day which passes visual basic NO
0953デフォルトの名無しさんNGNG
VBのソースをHTMLに整形してくれるツールない?
web日記に書くときに使いたいねんけど。
0954デフォルトの名無しさんNGNG
そのくらい作れ
0955デフォルトの名無しさんNGNG
どう整形したいなんて、自分しかわからんだろうから、自作したほうがいいっしょ?
自分でソースをブラウザ上でどう出したかって考えればそんなに難しくないでしょ。
0956デフォルトの名無しさんNGNG
1時間もあればかなり応用範囲の広いもの作れますけどね
0957デフォルトの名無しさんNGNG
最近、心の狭い人が紛れ込んでいるような気がするのは気のせいでしょうか。
0958デフォルトの名無しさんNGNG
>>953
具ぐるとこれがトップに来ました。
http://santamartadotnet.hp.infoseek.co.jp/releases/freewares/codetohtml.html

>>963あたりで使用感の報告をよろしくお願いします。
あなたは本当に良い>>963ですね。
<(_ _)>
0959デフォルトの名無しさんNGNG
<CODE>
0960デフォルトの名無しさんNGNG
デザインモードに貼り付ければ普通にHTMLになるじゃん。
何で外部のツールに頼ろうとするの??





という夢を見たんだ!
0961デフォルトの名無しさんNGNG
VBのソースに入れてもいいなと思うAA(アスキーアート)を教えてください。
0962デフォルトの名無しさんNGNG
        __
    /三ミミ、y;)ヽ
   /三 ミミ、ソノノ、ヾ、} アンタ、ワタシを誰だと思ってんのヨ!
   ,':,' __  `´ __ `Y:}  ワタシはエライのヨ!
   }::! { : :`、 ,´: : j !:!
   {:|  `・、 i ! ,・;'  |:} アンタ、地獄に送ってやるワ!   
  r(   / しヘ、  )j   
  g !  ` !-=‐!´ ,ノg    ヒヒヒ
    \._ヽ _´_ノ ソ
  __,/ ヽー ,/\___
  |.:::::.《  ヽー/  》.::.〈

0963デフォルトの名無しさんNGNG
>>962
ワロタ
しかし等幅フォントのAAでなきゃ意味ないだろ(w
0964デフォルトの名無しさんNGNG
          ┏━━━━━━┓
          ┃   問題   ┃
          ┗━━━━━━┛
        ┏━━┓     ┏━━┓
        ┃ ○ ┃     ┃ × ┃
        ┗━━┛     ┗━━┛
      
こんな感じで問題を出して最終的に正解数を出したいんですが
どういうコード書けばいいのかご教授ください。
当方ボタンの配置はできますがコード書けません。
VB始めて2日目です。本も高くて買えません。
0965デフォルトの名無しさんNGNG
>964
最良の方法を伝授する。

寝ろ。
で、明後日は「宿題が出来ませんでした」と正直に先生に言え。
0966デフォルトの名無しさんNGNG
釣れませんね?
0967デフォルトの名無しさんNGNG
宿題じゃないですよ。簿記の簡単なソフトを作ってみたいと
思いまして。もっと簡単な方法があればそれでもいいんですが。
0968デフォルトの名無しさんNGNG
>>964
釣りだろうがプログラミング舐めすぎ。
まあ、キミがこの掲示板のスペースのみで、中国人と意思疎通をするには
「どういう中国語を書けばいいかご教授」いただけるなら教えてもいいよ。
0969デフォルトの名無しさんNGNG
釣れましたね!
0970デフォルトの名無しさんNGNG
if text1.text = "ぱすぱす"then
msgbox"正しいパスワードです"
els
msgbox"間違ったパスワードです"
end sub

0971デフォルトの名無しさんNGNG
釣りじゃないっす。↑のプログラミングがサクっと出来たので
964くらいのソフトなら簡単かな?と思ったのが間違いでした。
やはり本を立ち読みしてきます。お金入ったらもちろん買います。
なぜならプログラミングを学びたいから。
0972デフォルトの名無しさんNGNG
またまたご謙遜を。
こんどはもっと大物を期待しております。
0973デフォルトの名無しさんNGNG
>>970
Msgbox "間違ったプログラムです"
0974デフォルトの名無しさんNGNG
elseだけでしょ
0975デフォルトの名無しさんNGNG
t1=timeGettime
t2=timeGettime

でt2-t1を測定すると、だいたい0ですが、
何度も繰り返すうちに、たまに11とか飛びます。
これはなんですか。避ける方法はありますか。
0976デフォルトの名無しさんNGNG
馬鹿じゃん。
0977デフォルトの名無しさんNGNG
1行目と2行目の間に時がながれてるのだから当然じゃないか。w
大体、何のために時間の差が0なことを計りたいの?
0978デフォルトの名無しさんNGNG
まるちたすく?
0979デフォルトの名無しさんNGNG
>>978
それをいうならマルチスレッドじゃないのか?
0980デフォルトの名無しさんNGNG
>>979
いやTSSだろ
0981デフォルトの名無しさんNGNG
時分割多重?
0982デフォルトの名無しさんNGNG
それをゼロにする事にどういう意味が…
単に精度の話ならtimeBeginPeriodとかだっけか?
0983溝田 千壽喜NGNG
a
0984溝田 千壽喜NGNG
String文字列に入った改行コードを取らないと、殺されるんですけど、
なんか、そんなかんすうないですか?

マジで。
0985デフォルトの名無しさんNGNG
>>984
氏ねよ
0986デフォルトの名無しさんNGNG
replace
0987デフォルトの名無しさんNGNG
VBを学べるサイトでお勧めなのありませんか?
初級〜中級に進むくらいのレベルがいいです。
↓は見ました。
ttp://www.sakai.zaq.ne.jp/hide/vbbook.htm
ttp://tuk.t.u-tokyo.ac.jp/~hosoyama/vb/
0988デフォルトの名無しさんNGNG
説教臭いが、そういうのを捜す作業自体が学習だと思うけどね。
0989デフォルトの名無しさんNGNG
説教クサイ
0990デフォルトの名無しさんNGNG
http://www2.famille.ne.jp/~akio1998/l_vb.html
こういうリンク集やグーグルでも探してみたんですけど
イマイチしっくりくるのがないんです。
中級者以上対象が多いのです
0991デフォルトの名無しさんNGNG
PCDN逝って来れば?
0992デフォルトの名無しさんNGNG
初心者は本買ったほうがいいかもめ
0993デフォルトの名無しさんNGNG
>>977
例えば、時間間隔を計測するとかのときに、
そういう飛びがあると、結局、どういう精度で計測してるのか
わかんないんじゃないかと。
0994デフォルトの名無しさんNGNG
>>993
その精度をWindowsOS上でもとめてはいけません。
プロセスの切り替えを管理するのはOSなんだから。
0995溝田 千壽喜NGNG
>>985
おまえが死ね

>>986
replace
↑
ん?
これなんですか?

0996デフォルトの名無しさんNGNG
>>995
MSDNぐらい引いてから再質問しろよ。
0997溝田 千壽喜NGNG
>>996
解決した。
たったこんだけのヒントで解決できるなんて俺って天才だね^^;


それはそうと、スプレッドシートについて語るすれとないですか?
0998デフォルトの名無しさんNGNG
馬鹿がスレ消費したから次スレ誰かよろしくお願いします。
ヒントが必要なんて・・・。w
0999デフォルトの名無しさんNGNG
やってみますね
1000デフォルトの名無しさんNGNG
1000!
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。