VBプログラマ質問スレ(6.0以前) Part39
2 :
デフォルトの名無しさん:04/12/14 21:10:35
間違えて39で立てちゃった。削除依頼しときます。
基、削除依頼しといてください。
新スレはここでよろしいでしょうか?
前スレの846で、VBからバッチファイルを起動したが、バッチファイルから呼び出す
exeがエラーを吐き出してうまく動かないと相談したものです。
レスもらったのに返答できなくて申し訳ありません。
あの後、ご教授通りにやってみたのですがやっぱりこれでも動きませんでした。
エラーの内容から、バッチから呼び出しているexeが、入力ファイルを
うまく認識していないことが判明しました。
実は、この入力ファイルはバッチファイル起動直前にVB内でリネーム処理
(正確には名前を変えてコピーして元ファイルを削除)をかけているのですが
このリネームの処理が何らかの原因を抱えているのではないかと
思います。
Dim o As Object
Dim in As String
Set o = CreateObject("Scripting.FileSystemObject")
o.CopyFile in, "INPUTFILE.dat"
o.DeleteFile in, True
Set o = Nothing
プログラムは大まかにこんな感じですが、これではリネーム処理が確定していないとか
あるのでしょうか?
前のスレでも注意されてたが、エラーの内容ってのを書かないと何とも答えられないぞ。
たぶんカレントパスにファイルが無いからエラーになってんだろうけど。
Debug.Print in
Debug.Print App.Path & "\" & in
Debug.Print App.Path & "\INPUTFILE.dat"
と出力して、パス確認してみれ。
実行中はDebug.Printだと確認できないか。
MsgBoxで確認して。
アホだ。App.Pathじゃ駄目だ。
CurDirだったかな。
欝だ寝よう。
>>5 エラーの内容は
入力ファイルがありません。 と怒られます。
単純にこれだけです。
debugとmsgboxで表示させてみましたが、2番目でC:\aaa\bbb\C:\aaa\bbb\1
となっていました。リネーム直後にバッチを起動するため
これが原因となるのでしょうか?
あと、1ついい忘れたことがありまして、
デバッグモードだとバッチが正常に動きます。
しかし、完全コンパイル(exe化など)してだと、バッチがうまく動きません。
>>9 INPUTFILE.datが目的通りの所に作成されたか確認した?
試しに
o.CopyFile in, App.Path & "\INPUTFILE.dat"
でフルパスで指定して実行してみてごらんなさいませ。
カレントディレクトリとモジュール置かれてるパスは別物って認識はOK?
11 :
デフォルトの名無しさん:04/12/15 02:34:44
しつもん
今日知合いがVB6.0でプログラミングをしていて、「処理がおそい」と言っていたので
ソースコードをみてみると、
(x - i) * (x - i) + (y - j) * (y - j) <= AA * AA
という式を見付けました。
そこで僕は
(x - i) ^ 2 + (y -j ) ^ 2 <= AA ^ 2
に書き換えて走らせてみたところ、実行速度が遅くなりました。
なんで????
ちなみに、(x-i)*(x-i)の時も(x-i)^2の時も、ネイティブコードにコンパイルせずに
再生ボタンのようなもので走らせていました。
最適化してコンパイルすれば(x-i)^2のほうが早くなったりしたんですか?
ちなみに、x, y は integer、 i, j はlong(かdouble)でした。
なんでなの?よくあることなの?
12 :
デフォルトの名無しさん:04/12/15 02:55:42
ウインドウを透過させたいのですが、どのようにすればいいでしょうか・・
それらしいプロパティもなく困っています。レスよろしくお願いします。
>>12 SetLayeredWindowAttributesでいけると思う。
質問です。
複数フォームにして、標準モジュールから命令して図形専用のフォームに図形を描きたいのですが、
グラフィックメソッドを標準モジュールから使用する方法はありませんか?
また、図形フォームから他モジュールの変数を呼び出して、その変数から線を描く方法はありませんか?
とにかく他モジュールのデータから図形フォームに図を描きたいのですが方法が分かりません。
お願いします
↑書き忘れ VB6です
16 :
デフォルトの名無しさん:04/12/15 09:42:16
>>14 1.他のフォームなりモジュールから直接参照する。
Form1.Picture1.hoge = hage
2.FormコントロールなりPictureコントロールなりを引数とする関数を作成する。
public sub xxx(Byref pic as PictureBox)
WinXP VB6 SP6 です。
ディストリビューション ウィザードで作成したセットアップファイルに
ライセンス等の同意確認画面を入れたいのですが、参考になる画面の
サンプルソースで、何か良いのありませんか?
よろしくお願いします。
>>17 基本的には18さんに同意で、グレープシティーなりから買ってしまったほうが楽。
あれには最初からついてるからウィザードだけで出来る。
で、そうじゃない場合、ディストリビューションウィザード自体のソースがVBで提供されてますよね。
デザインは見様見真似でそんなに難しくなく出来ると思うのですが。
20 :
デフォルトの名無しさん:04/12/15 11:40:11
すいません。ヒント、考え方だけでもいいので教えてください。
NT系ローカル端末内に複数 ログインユーザーが存在するのですが
Administratorでログインしレジストリにもっている全てのユーザー
セッティングに対して値を操作するツールをVBで作りたいとおもいます。
APIでこのあたりを操作するための関数があるそうですが
フローがよくわかりません VB6で作成予定です。
21 :
デフォルトの名無しさん:04/12/15 11:59:04
RegCreateKeyEX辺りから辿ってみる。
>>11 VBに限らず、かけ算よりべき乗のほうが内部処理が複雑で、実行速度も遅い。
23 :
デフォルトの名無しさん:04/12/15 12:46:32
>>22 えっまじで!?
いままで勘違いしてました。
ありがとう。
24 :
デフォルトの名無しさん:04/12/15 13:35:26
>>22 ちなみに、ネストされたループの中に何度も出てきた255という実数を
integer型の変数に入れたんですが、もしかしてこれも逆効果だったりしますか?
25 :
デフォルトの名無しさん:04/12/15 16:17:46
最小化ボタンを押した時タスクバーに表示させないで
右下の時間表示の横にアイコンとして置いておきたいのですけど、
VBでできますか?
はい。
>>26 どうやったらできるのでしょうか?
宜しければ教えていただけないでしょうか?
28 :
デフォルトの名無しさん:04/12/15 17:00:37
webbrowserコントロールの解説してるところないですか?
MSDN見てもないし、ぐぐっても個々の問題に対する問い合わせしかみつからないです・・・
できた。カレーにスルーってやつか
webbrowserコントロールってinetのexecuteみたいに非同期では動かせないんでしょうか?
VB6.0で作ったプログラムで、ユーザ定義のメッセージを受け取って
そのメッセージ用の処理をする、みたいなことって
できるのでしょうか。
特定のウィンドウを前面に出すにはどうすればよいのでしょうか。
FormAからFormBを呼び出すときに、関数呼び出すみたいにして、引数を与えることとか出来るのでしょうか?
>>18 解決法も書かずに否定されても・・・ここは質問スレでしょ?
>>19 グレープシティーは無理です。インストーラーは高すぎて・・・。
ディストリビューションウィザードのソースは解かります。
ライセンス同意確認画面の参考になるサンプルフォームって、
何処かにないですかねぇ・・・。
38 :
デフォルトの名無しさん:04/12/16 09:41:42
>>37 仕事だとしたら、あんたが悩んでる2日でもうインストーラーが買えてますが・・・。w
サンプルって、普通のOSとかOfficeのインストール画面真似ればいいだけじゃん。
どっかの段階の画面遷移で自分のその画面への経由を入れる。
Textがスクロールして、F8で同意とかその辺りまでサンプルが無いと作れないんでしょうか?
そうなら配布するプログラムなんて作れないと思うんですが。
>35
FindWindowあたりをキーワードにぐぐってみるってのはどうよ?
>36
Formの標準メソッドをオーバーライドする事は出来ない。
自作メソッドならご自由に。
>>38 えっ、日給2万なんですか?高給ですねぇ。
まだ、準備段階の資料集めなので、同意確認の文章の決まり事が
あるのかなっと、調べているとこなんです。
予算下りないんですよ〜〜調べて無いって証明できないと買ってくれないので。
何から何まで無能だな
42 :
デフォルトの名無しさん:04/12/16 10:23:32
>>40 まずちゃちゃから、会社として考えたとき会社があなたへ負担する額は給与の倍ぐらいです。
なのでツールとか買うときは、1日3万から5万ぐらいで計算して割りが合うか考えるもんです。
次に、最初の
>>17に対してなぜ
>>18みたいな回答が入るか(私は18じゃないが)指摘します。
17で出来るか?っていう曖昧な聞き方をするから、それに対して出来る。で終了でしょ。
で
>>40になって、じつはVBの問題ではなく、法律的な部分まで求めてるし。
で、何が問題点なの?
法律的に賄えてるかなんて、専門家じゃないと指摘できないし、最終的な責任判断はそれこそ自社ですよ。
2chで聞くなんて笑止です。
一応参考までに。
ttp://adminn.fc2web.com/houmu/houmu.html (こんなのぐぐればすぐにでるのに・・・・)
45 :
デフォルトの名無しさん:04/12/16 10:36:14
>>43 だから、VBの技術の問題なのか。
それともその画面で何を書いたらいいかわからないのか。
どっちかはっきりしてくれ。
40の話だと文書がかけないだけじゃないの?
それなら42に書いたサイトぐらい見てから書き込め。
ディストリビューションウィザードのソースが見れるっていう
>>37の話があるから
技術的に何が問題なのかさっぱりわかりません。
あのソースみてVBそのものなのに、作る上で何が問題なの?
>>42 誰が何時、「出来るか?」って聞いたの?
「サンプルありますか?」って聞いたら「使うな!」って返してきたんだよ?
法律的じゃなくて、あくまでもサンプル。
別にこれだけに2日も使うほど暇じゃないから・・・。
47 :
デフォルトの名無しさん:04/12/16 10:46:04
見た目のサンプル・・・市販アプリみれば判るだろ。
文書さんぷる・・・指摘したサイトの契約文書のつぼ
まったく41じゃないが、・・・だな。
サンプルソースって言われたらソースコードを連想するな
49 :
デフォルトの名無しさん:04/12/16 10:52:27
テキストスクロールして、F8を認識する画面にサンプルソースですか。w
なんか、荒れさせちゃいましたね、すいません。
同意確認画面って、よく使う画面だから、みんなが使う定番の
サンプルフォームがあるのかなっと、思ったので・・・。
フォームモジュールの追加ダイアログで「見出し画面」とかみたいな。
みなさん、それぞれのデザインで、作ってるみたいですね。
Win95、VB4.0 でAPIを使用して
ネットワーク関連の情報を取得しようとしているのですが、
バイト配列のポインタを取得することができずに頓挫しております。
VB6.0のVarPtrに該当するVB4.0の関数はありますでしょうか?
ご存知の方がいらっしゃったら教えていただけますでしょうか?
よろしくお願いします。
53 :
デフォルトの名無しさん:04/12/16 13:39:29
APIの定義の該当部分をAs Anyにして、
そこにByte型配列を渡してもダメ?
それでNGだったら、自作DLLでラップしたほうがすっきりしそう。
Stringから指定した正規表現に合致する文字列を取得できる便利なクラスかコントロールってどこかにありますかねぇ?
<B>世界情勢</B>から世界情勢を
<B>*</B>で検索して抜き取りたいなぁ・・。
>>54 VBScript.RegExpでいいんじゃない
Microsoft Windows Common Control 5.0 (SP2) のリストビューに
メッセージを送ってチェックボックスを付けるところまではできたのですが、
このリストビューにメッセージを送ってチェックボックスをチェックしたり
はずしたりする方法が分かりません。
おそらくLVM_SETITEMSTATEを送ればよいのだろうとというところまでは
分かったのですが、lParamに渡すLV_ITEM構造体のポインタを
どのように書いて渡せばよいのかが分かりません。
分かる方がおられましたらよろしくご教授お願い致します。
>>57 VarPtr(item)でいけるんじゃないかな。
それか、
Declare Function ListView_SetItemState Alias "SendMessageA" Lib "user32" _
(ByVal hWnd As Long, ByVal uMsg As Long, ByVal wParam As Long, _
ByRef lParam As LV_ITEM) As Long
のように第4引数をLV_ITEMへのポインタにするとか。
>58
VarPtrでできました!
すばやい回答どうもありがとうございました。
リストビューのスクロールバーを操作したいのですが、
メッセージか何かでできるのでしょうか。
>>60 listview.ListItems(key).EnsureVisible
これで、keyで指定したアイテムが表示される。
そのアイテムが見えない領域にあった場合は
見えるようにリストビューがスクロールする。
これを利用するのではだめ?
ちなみにメッセージだったら LVM_ENSUREVISIBLE。
62 :
デフォルトの名無しさん:04/12/18 10:00:09
つぎをVB6で記述するとどうなりますか?
プログラムスタート
E:\Forder1\memo.txt がもしあれば削除する。
E:\Forder1\udedamesi.exe を実行する。
30分経過したら、「時間切れ」と表示してE:\Forder1\udedamesi.exe を強制終了する
続いて、「ギブアップするなら10秒以内にGのキーを押せ」と表示する
10秒以内にGのキーが押されなかったらプログラムスタートに戻る
10秒以内にGのキーが押されたらプログラムを修了する。
プログラムエンド
え゛ー。こういうのはVBではできないんですかー
>>64 10秒ごとにudedamesi.exeが次々と起動する事になるぞ
66 :
デフォルトの名無しさん:04/12/18 10:31:25
こうでした。
プログラムスタート
E:\Forder1\memo.txt がもしあれば削除する。
E:\Forder1\udedamesi.exe を実行する。
30分経過したら、「時間切れ」と表示してE:\Forder1\udedamesi.exe を強制終了する
続いて、「ギブアップするなら10秒以内にGのキーを押せ」と表示する
10秒以内にGのキーが押されたらプログラムを修了する。
10秒以内にGのキーが押されなかったらプログラムスタートに戻る
プログラムエンド
>>66 10秒ごとにudedamesi.exeが次々と起動する事になるぞ
>>66 Do
If E:\Forder1\memo.txt がもしあれば Then
削除する。
End If
E:\Forder1\udedamesi.exe を実行する。
If 30分経過したら、 Then
「時間切れ」と表示して
E:\Forder1\udedamesi.exe を強制終了する
End If
If 10秒以内にGのキーが押されたら Then
プログラムを修了する。
Exit Do
End If
Loop
69 :
デフォルトの名無しさん:04/12/18 12:43:24
時間をカウントするとこがむずかしそう
あれば 削除する 強制終了する の命令語はありますか?
表示するは Print ですよね。
Printはどうかと思う
>>70 あれば:Dir
削除する:Kill
強制終了する:TerminateProcess (これだけは Windows API)
表示する:MsgBox
こんなとこかね。
ありがとうーっ
相手にもよるがTerminateProcessよりもPostThreadMessageでWM_QUITとか他の方法を考えた方がいいんじゃないか?
初心者の質問もここでよかですか?
Samurizeをいじるためだけに見ているので予備知識は
なにもありません。
Private Function TrimHTML(str)
pos_deb = InStr(1, str, "<")
Do Until pos_deb = 0
pos_fin = InStr(pos_deb, str, ">")
part_d = Mid(str, 1, pos_deb - 1)
part_f = Mid(str, pos_fin + 1, Len(str) - pos_fin)
str = part_d & part_f
pos_deb = InStr(1, str, "<")
Loop
TrimHTML = str
End Function
これはテキストデータからhtmlタグを消去するものらしいのですが、
htmlタグを実際の改行に置き換えるにはどうしたらよいのでしょうか。
元データはラジオ局の放送リストで、
「1.〜〜〜<br>2.〜〜〜<br>3.〜〜〜<br>」を抜き出すまではできました。
>>75 str2 = Replace(str,"<br>",vbCrLf)
適当にやればこんなんかな。
お恥ずかしい話ですが2つ質問させて下さい。
FormのTerminateイベントを通過すれば、そのFormオブジェクトは確実に破棄されて
いる(メモリ上のどこにもいない)と断言できますでしょうか?
あと、コンテナ(Frameとか)に乗っかっているオブジェクトの一覧を取得する事は
可能でしょうか?(Forms.Controlsみないな) 逆なら TextBox.Container で取得
出来るんですが・・・
#Form上の全てのコントロールについて、コンテナが何かを調べると言う方法以外で
テスツ
>>78 Form上の全てのコントロールについて、コンテナが何かを調べると言う方法
でできる
>80
オマエ、リアルでも( ゚,_ゝ゚)バカジャネーノって言われてるでしょ?
>>81 その方法しか用意されてない、ってことを皮肉っぽく言ってるだけでしょ。
VBでリストビューに10万件くらいのアイテムを表示させようとすると
結構時間がかかるのですが、例えばリストビューのハンドルを
VCで作ったDLLに渡して描画させたら速くなったりするのでしょうか。
>>83 一度 Visible = False にしてアイテムを追加し、
終わったら Visible = True にすれば速い
>84
一応その方法でやってるんですが、テキストファイル(10フィールドくらいのCSVファイル)
から10万件読み込んでレポートスタイルで表示させるのに
1分くらいかかります。こんなもんなのでしょうか。
86 :
デフォルトの名無しさん:04/12/19 20:23:06
>>85 それは仕様を変更するべきかと。
ファイルの読み込みに時間かかってるんでしょ。
VBでファイルのコピーってどうやればできますか?
>85
テキストファイルを変えられないならいっそ画面を
VCで作るとかは?w
>86
そ、そうですね。とりあえず読み込みにかかっている時間と
表示にかかっている時間を切り分けてみます。
>87
ググれ
>89
リストビューに10万件表示するという仕様をどうにかするほうが先なような気が
>90
>ググれ
え?まさか分からないんじゃ・・・
>>91 90じゃないが、ググればすぐ見つかることまでわかってると思う。
(ただ、今Googleおかしくなってねーか?俺だけ?)
っていうかヘルプで「ファイルをコピー」を検索すれば簡単に見つけられる。
ったく・・・ファイルをコピーって言ったらマジにそのままの
意味で受け取るんだもんなー。お前ら隠語とか使わねーの?
FileCopyでコピー先が読取専用だったときのエラーメッセージ
変じゃない?
96 :
デフォルトの名無しさん:04/12/20 13:04:56
VBScriptもこのスレでOKですか?
RecordSetオブジェクトの要素数を知りたいのですがどうしたらいいですか?
コレクションのメソッド一覧みたいなのがあればわかるような。
具体的には、DBにselectをかけて、ヒットしたレコード数を知りたいのです。
お知恵を拝借させてください。
お願いします。
97 :
デフォルトの名無しさん:04/12/20 13:14:13
プロパティリストは全て確認したの?
RecordCountとかRpwCountとかなかった?
ADOだかRDOだかDAOだか知らんが、使うときはきちんとヘルプ嫁。
DAOの場合はそれまでアクセスした件数だから、一端最後までカーソル移動しないと検索件数にならない。
その他の場合も注意書きあるかもしれんからね。
IDE使わずにエディタで書いてるんで、その辺の情報をどこから探していいのかわからなくて…。
何を見たらわかりますか?
MSDNオンライン、
>>1あたりに場所あるんじゃないの?
それにしても、何も調べる手立てを持たずに開発ですか
・・・オメデタイ人ですね。ある意味尊敬します。あ、いや、お気を悪くなさらないで下さいね。(右京さん風口調)
だってMSDNゴミなんだもん。
JavaのAPIリファレンスみたいに、ちゃんとまとまってる情報はないわけ?
調べろってばっかりいってないで、教えてやれよ。
漏れはわからんがなぁ(死
101 :
96=98:04/12/20 14:17:28
解決しました。
ありがとうございました。
元質問者じゃなければ、そういうことで口だすんじゃねーよ。
MSDNより君がまずゴミだ。
それに97の回答で大体答えてる。
それでわからないんじゃしょうがない。
103 :
20:04/12/20 14:20:59
20です。何とか個々のキーに対しては
レジストリ操作が出来るようになったのですが
存在するユーザーを列挙し、その中のキーを触わるには
どのようにするといいのでしょう?データファイル等を読むようにして
ユーザーを定義ファイルにかき出さないと駄目でしょうか?
104 :
sage:04/12/20 14:38:09
すみませぬ。質問です。
Windows2000 Visual Basic6.0 なんですが、
インターネットトランスファーコントロール(Inet)を使って
"HTTP"接続によるファイルのアップロードをしたいのですが、
どなたかご存知でしょうか?
"FTP"接続ならググればすぐに見つかるのですが、"HTTP"接続
だと、いいソースが見つかりません。。。
"Inet"を使って、"HTTP"接続で"アップロード"が出来るのが
条件なんです。。。よろしくお願いします。。。
ちなみに今書いてるソースが、こんな感じです。。。
Private Sub Command1_Click()
Inet1.URL = "
http://test.jp/test" 'これは任意のURLです。
Inet1.Protocol = icHTTP
Inet1.Execute , "PUT C:\test.html test.html" '任意のファイルです。
End Sub
あげちゃった
106 :
デフォルトの名無しさん:04/12/20 15:17:53
VBScriptで、C++でいうところのListとかVectorを使いたいのですが、コレクションがそれに当たります?
自分でコレクションを作るにはどうしたらいいですか?
107 :
デフォルトの名無しさん:04/12/20 15:44:28
VBSでは無理です。
BASICっていう時点で無理。
108 :
デフォルトの名無しさん:04/12/20 15:56:36
WinXP,Visual Basic 6.0 SP5 です。
コードエディタ上で,秀丸みたくカーソル位置に下線(秀丸の下線モード)って
できますか?自体に機能がなければ,アドインでもそれ以外でもOKです。
知っている人がいたら,教えて下さい。
109 :
初心者:04/12/20 17:04:50
すみませんお願いします。WinXP、VB6.0 です。WORD内の文字検索をするプログラムを作りうまく行ったのですが、
EXCEL内の文字検索をするプログラムに変更する際に詰まってしまって・・・。
.WholeStory
.MoveUp Unit:=xlLine, Count:=1
.Find.ClearFormatting
.Find.Text = Text1.Text
.Find.Forward = True
List1.Clear
この部分の変更のしかたが解りません><
110 :
初心者:04/12/20 17:05:15
Private Sub Command1_Click()
Dim xlApp As New Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Set xlBook = xlApp.Workbooks.Open("C:\Documents and Settings\tomohiro\デスクトップ\異常伝播シナリオ.xls")
Set xlSheet = xlApp.Worksheets
With xlSheet
.WholeStory
.MoveUp Unit:=xlLine, Count:=1
.Find.ClearFormatting
.Find.Text = Text1.Text
.Find.Forward = True
List1.Clear
Do
If .Find.Execute = False Then Exit Do
List1.AddItem .Range.Information(wdActiveEndAdjustedPageNumber) & "ページ "
' .Range.Information (wdEndOfRangeRowNumber) & "行目"
Loop
End With
xlBook.Close
xlApp.Quit
Set xlBook = Nothing
Set xlApp = Nothing
End Sub
お願いします。
>61
ご報告が遅くなりましたがLVM_ENSUREVISIBLEで
望み通りの動きを実装することができました。
どうもありがとうございました。
FileCopyのエラーをハンドリングするにはどうすればいいの?
>113
すいません。この質問は忘れてください。
あんた誰だ
バースト通信では無いな、近くにいるのか?
質問です。
Winsockでデータをやり取りする際に、
複数のデータをやり取りする時に、どうやって区別すればいいのでしょうか?
文字データと値のデータと分けたいのですが、
Senddataで送り、Getdataで送ると一緒になって区別できないんです・・・
>>117 socketプログラムの基礎を勉強して下さい
そしてプロトコルを自分で決めて下さい
119 :
デフォルトの名無しさん:04/12/21 09:42:20
VB 6.0 SP6.0
XP SP1
コマンドボタンクリック時に別プログラムを起動しようとしています
Shell関数で行うと思うのですが
そのプログラムのインストール先が特定できないためうまくいきません
EXEの名前だけを指定して起動できるようなことはできますでしょうか?
よろしくお願いします
>>117 -----
Const PACKET_HEADER_SYSTEM As String = "phSys"
Const PACKET_HEADER…
Const PACKET_FOOTER As String = "EOP"
-----
'送信時
wskTcp.SendData (PACKET_HEADER_SYSTEM & "/" & Message & "/" & PACKET_FOOTER & "/")
-----
'受信時(簡易版)
wskTcp.GetData strMes
strMesSplit() = Split(strMes, "/")
Select Case strMesSplit(0)
Case PACKET_HEADER_SYSTEM
…
Case PACKET_HEADER…
…
End Select
-----
俺はこんな感じで組んでるけど…。
>>118 このやり方ってあまり良くないかね?
>>119 同じ名前のファイルが複数存在した時はどうなるんだと
>>119 パスが通ってれば、EXE名だけでOKなはず。
そうじゃなければ、EXE名がわかってるんだから、探して起動する以外にない。
123 :
デフォルトの名無しさん:04/12/21 10:13:28
format関数で質問があります。
かなり初歩的なことを知らないだけかもしれないのですが、
format("100P","00000") ⇒ "100P " となるのですが
format("10P","00000") ⇒ "00001" となってしまいます。
"10P"が返ってくると思っていたので???です。
なにか分かりましたら教えていただきたいと思います。よろしくお願いします。
>>120 Message に / が絶対に入らないという仕様なら。
>>123 Pを入れると、AM、PMのPと解釈される
10Pだと夜の22時
"00000"の部分を"hh:nn:ss"に変えると意味がわかるよ
>>119 レジストリ等にEXEのインストール先を記録するってのはどうよ?
あとは
>>122みたいにパスを通すとか。
127 :
デフォルトの名無しさん:04/12/21 10:58:16
>>125 おーほんとだ
そんな変換し方があったんですね。
一般的には便利(普通)なんだろうけど、個人的には・・・
でもすっきりしました。ありがとうございました。
>>124 自分はヘッダとフッタの間の文字列をMessageとして認識して
/を補完するって言う仕様にしてあるので、
Messageに/が含まれても平気です。
129 :
デフォルトの名無しさん:04/12/21 14:05:13
WinXP SP1 VB6 SP6です。
A.exeでaボタン押されて、
すでに起動しているB.exeでA.exeのaが押されたよ〜って知りたいんですが、
どうすればいいのでしょうか。
A.exeとB.exeは親子関係ではなくまったく別のプログラムです。
よろしくお願いいたします。
130 :
129:04/12/21 14:08:22
すいません。VB6はSP5ですorz
SendMessageとかである程度は可能かもしれないけど。
B.EXEは自作?全く別?
それによって対応が全然変わると思う。
全く別のアプリだとしたら、完全に安定して他アプリを制御するのは不可能。
132 :
129:04/12/21 14:44:58
>>131 AもBもVB6の自作です。
SendMessageちょっと調べてみます。
ありがとうございました。
>>132 両方とも自作であれば・・・。同期・非同期によって実現手段はいっぱいありますよ。
1.SendMessage
受け側にメッセージループを作らないとダメ。
過去スレでサブクラス化を調べる。
2.ソケットなりパイプなりアプリ間通信
同期・非同期どちらでも対応可能。
それぞれヘルプ見れば判る。
その他、共有メモリとかCOMを使った方法とかいっくらでもできますよ。
>>129 SendMessage は メッセージループ通さずに直接ウィンドウプロシージャにメッセージ転送するんで
メッセージループは関係無いような...
1. B.exe の Form をサブクラス化
2. A.exe のaボタンを押した時 WM_MYMSG(自分で適当に定義) を SendMessage で
B.exe の Form に送信
3. B.exe の Form のウィンドウプロシージャで WM_MYMSG を受ける
でいいんでないの?(出来なかったらゴメン)
メッセージループ作る必要は無いけど、ウィンドプロシージャに直接メッセージ渡すわけでもないよ。
どこかの誰かさんが作ったループ通ってるし。
あと、自作のメッセージを定義する場合はWM_USER以上の番号を使うべし。
SetProp
GetProp
ドライブ制御関係なのですが、
現在自分のPCにはMOが接続してあります。
これをVB上でメディア排出は可能でしょうか?
DriveTypeでドライブの種類までは特定できるのですが
リムーバブルなメディア(FD除く)に対して
VB上でドライブの制御ができるか知りたいです。
ヒントだけでも結構ですのでよろしくお願い致します。
mciSendString
141 :
デフォルトの名無しさん:04/12/22 15:28:23
以下のような処理を行いたいんですが、どうにもわかりません・・
1.変数aが100-200まで2刻みで変動する。
2.aの値の、ある範囲の時に変数b(1-50まで)が決定される。
というものです。
selectとforを組み合わせるのだと思いますが下記のような力技しか思いつきません・・
select case a
100 to 102
b=1
103 to 104
b=2
・
・
アドバイスお願いします。
>>141 b = ((a - 100) / 2) + 1
等の数式じゃないか?
143 :
141:04/12/22 15:47:55
それだとa=102のときにb=2になってしまいます。
またそこで何かしら条件つければいいのかもしれませんが・・
あとcase 100 to 102でした。すみません
しょってから例外なだけじゃん。
100だけ最初に特別に処理してしまって、それ以外は100引いて2で割った商じゃないの?
まず日本語の勉強からって奴じゃないか?
ある範囲とかって仕様書きが曖昧で、サンプルが仕様になってるなんて最悪。
VB6でCPU温度って測れますか?
>145
できる。
147 :
デフォルトの名無しさん:04/12/24 10:28:32
環境 VB6.0 SP5 ・ oracle使用
DBGRIDにSQLを渡して、Oracleのテーブルデーターを表示させています。
データーは問題なく表示されてるんですが、列の見出し?が何故かデーターフィールド名になってしまいます。
例えば、列の名称に「番号」とつけ、「SeqNo」というフィールドを連携させてるんですが、
データーを表示させた瞬間に「番号」という見出しが「SeqNo」というものに変わります。
列の横幅とかもリセットされてしまっているようなんですが、これってどう設定すればいいのでしょう…。
148 :
デフォルトの名無しさん:04/12/24 11:05:55
スクロールバー両端と中央のボタンのサイズを変更することはできますか?
出来るようならご教授お願いします。
>>148 昔、サブクラス化して作ったことがある。ソースは出せん。
環境…VBE
Sheet1の1行目〜5行目のセルをそのままSheet2に出力するコードを作ってみたのだけど、
Dim sh1 As Worksheet
Dim sh2 As Worksheet
Dim k, t, As Integer
Set sh1 = Worksheets("Sheet1")
Set sh2 = Worksheets("Sheet2")
t = sh1.Range("A65536").End(xlToLeft).Column
For k = 1 To 5
sh2.Cells(k, t) = sh1.Cells(1, t)
t = t + 1
k = k + 1
Next k
でやってみたのだが、1行しか表示されない・・・
どっか間違っているんかな?
151 :
デフォルトの名無しさん:04/12/24 11:14:41
>>151 どこを修正すればいいでしょうか?アドバイスお願いします
>>150 そんな面倒くさい事しなくても
sh1.Rows("1:5").Copy Destination:=sh2.Range("A1")
という一文でコピーできるよ。
156 :
デフォルトの名無しさん:04/12/24 12:09:49
冬厨(←なぜか一発変換)の季節だな
157 :
デフォルトの名無しさん:04/12/24 13:44:57
VBで作成したActiveXについてです
クライアントにダウンロードさせたところ、PCの再起動がかかってしまいました
これを防止するようなはできないでしょうか?
環境は
VB 6.0 SP6
です
>>157 えすぱーじゃないんだから、それ聞いて何がわかるって思ってるんだ?
回答が欲しいならもう少し状況をきちんと説明しないとダメだろ。
まあ、とりあえず間違ってリセットボタン押したり、電源ボタン押したり、コンセント抜いてませんか?
すいません配列内でソート機能できないでしょうか?
たとえば構造体aをキーに指定とかcを指定にするといった具合です
typedef zzz
a as long
b as string
c as long
d as string
end type
Dim ppp(1000) as zzz
>160
もしかしたらと思ってお聞きしましたが無理ですね
レスありがとうございました
すいません、また教えてください
設定ファイルにtext.iniを使用していますがEXE自身に設定(記憶)させる
ことはできますでしょうか?
レジストリは使用したくないのですがこのようなことは可能でしょうか?
ほぼ不可能。
EXE自体を書き換えるのは、昔そういうソフトがあったけど・・・という程度。リスキーで高度です。
レジストリを汚したくない感覚、制約などは理解できるが、MSが推奨してるんだから従うのが吉。
そうじゃなければEXEと同一フォルダだけを汚すという制限で現状のINIで十分でしょ。
>163
>現状のINIで十分でしょ。
了解です、レスありがとうございました。
そういや最近、自己書き換えなんて滅多に聞かなくなったなぁ…
166 :
Orator:04/12/25 11:29:57
マルチストリームファイルにすれば簡単かも。FileSystemObjectで普通に扱えますし。
http://www.microsoft.com/japan/msdn/library/ja/jpdnw2k/htm/ntfs2000.asp サンプルとしては、こんな感じ。(要NTFS。FAT32では不可)
Private FSO As Object
Private Path As String
Private Sub Form_Load()
Set FSO = CreateObject("Scripting.FileSystemObject")
Path = FSO.BuildPath(App.Path, App.EXEName) & ":MyData" '自分自身のフルパス + ":" + 任意の名前
End Sub
Private Sub Form_Unload(Cancel As Integer)
Set FSO = Nothing
End Sub
Private Sub Command1_Click() '保存
Const ForWriting As Long = 2&
With FSO.OpenTextFile(Path, ForWriting, True)
.Write Text1.Text
.Close
End With
End Sub
Private Sub Command2_Click() '読込
Const ForReading As Long = 1&
With FSO.OpenTextFile(Path, ForReading, True)
If .AtEndOfStream Then
Text1.Text = ""
Else
Text1.Text = .ReadAll()
End If
.Close
End With
End Sub
167 :
デフォルトの名無しさん:04/12/25 13:42:06
しかしあえて自分自身に情報をRWする合理性ってなに?
偽装目的なら(偽装自体に合理性があるかどうかも興味があるが)
別に自分自身じゃなくてもダミーの.exeでもなんでも用意すりゃいいんだし
ユーザーの改変を避けたい(ただの意地悪じゃねえかこれ?)ってことなら
暗号化でもした方がよほど簡単かつ適切だと思うけど。
そこに山があるから、ってこと?
なら他にもっとチャレンジングかつ有意義な「山」がいくらでもあると思うが。
余計なファイル増やしたくないってことでしょ。
正規表現の問題かも知れませんが、RegExpで
タグ内の文字列を取得するとき、改行が含まれていると、取得できません。
検索キー <hoge>(.*)</hoge>
<hoge>ogeoge</hoge> の時は取得できる。
<hoge>oge
oge</hoge> こういうときは駄目。
MultiLine を Trueにしているのですが…判る人いますか。
VB6.0 SP5でVBscript5.5をつかってます。
>>170 MultiLineは全然関係ない。
たいていの場合、改行コードを全削除してから検索してると思う。
>171
平然とウソをつくなよ。「たいてい」の範囲を明確にしろ。
かなり狭いだろ。
textboxなら改行コード削除とかされなかった記憶が
>173
その前に君の示す証拠はどれ?
ありゃ、荒れちゃってすみません。
汎用性を持たせて作りたかったんだけど、良くわからなかったので、決め打ちで検索するようにしました。
ありがとうございます。
178 :
デフォルトの名無しさん:04/12/27 00:58:13
ちょっと質問なのですが
・VB6.0で、音声通話
を実現したいと思っています。
DirectPlayVoice等も選択肢にはあるのですが、出来れば、
・既存ソフトをコマンドラインから制御
・ActiveXコントロールを貼り付けるだけでOK
程度で実現できるフリーのものが良いのですが、そういったものはありますでしょうか?
メニューのイベントで質問があるのですが、
クリック以外のメッセージを拾うには
サブクラス化とかそういう手段しかないのでしょうか?
フォーカスを失った時にちょっとゴニョゴニョやりたいのですが。
180 :
デフォルトの名無しさん:04/12/27 16:16:53
すみません教えてください。
フォルダを開くダイアログを表示させたいです。
※『ファイルを開く』ではないです
VB5を使用しています。お願いいたします。
>180
SHBrowseForFolderでググればサンプルが山ほど見つかるよ。
182 :
デフォルトの名無しさん:04/12/27 16:28:22
181様
ありがとうございました。
いえいえ、私もここで教えてもらったことなんで。
184 :
デフォルトの名無しさん:04/12/27 21:38:40
使用OS WindowsXP
VBVer. VB6.30 SP6
始めまして、うまく作れない処理がありましてご質問に参りました。
現在ActiveXEXEと標準EXEの組み合わせでクライアント・サーバシステムを開発しております。
1つのActiveXEXEを常駐させ、他の標準EXEからそのクラスをインスタンスし使用する、と云うものなのですが、
実際に動かすと標準EXEでインスタンスする度にプロセス上に新しいActiveXEXEが立ち上がり、
ActiveXEXE内標準モジュールのグローバル変数見ようとすると、当然ながらそれぞれが全く同期が取れておりません。
"標準モジュール"・"共有"・"ActiveX"・"常駐"と云ったキーワードで検索してみたのですが、
解決法を見つける事は出来ませんでした。
どのようにすれば上記の不具合を解消出来ますでしょうか。
宜しくお願い致します。
それは不具合ではありません
186 :
デフォルトの名無しさん:04/12/27 21:44:17
>>185 すみません、書き方が悪かったです。
求める仕様を実現出来ていない、ですね。
Mutexとか色々でやったら?
>187
てっっっっっっっっっっっっっっっっっっっっっっっっっっっっっっっっっっっっっっっっ
っっっっっっっっっっっっっっっっっっっっっっっっっっっっっっっっっっっっっっっっっっっっっっっ
>187
きとうなアドバイスですなー
>185
どうして?
>189
どうして?
>191
質問者のレベルからして、「色々」をより具体的に書いて
あげないとダメそうだから。
>190
不具合だよな。
>185
不具合かどうかを判断するためには何か判断基準があるはず。
君の考えを聞かせてほしい。
>192
質問者のレベルを判断するたねには何か判断基準があるはず。
何故君はてきとうだと判断したのか聞かせてほしい。
VBの不具合ってわけじゃ無いだろ
>195
そうつっかかるなよ。マジで気に障っちゃったの?ごめんね。
>196
君は誰でどれに対してレスしてるの?
>198
お前は誰だよ
すみません、私の所為で荒れてしまって……
不具合と云う云い方は悪いです。
単純にそう作れない私が悪いだけです。
>200
全然悪くねーよ。君が作りたい仕様に対して正しくないのだから
立派な不具合だよ。もし不具合という言い方が悪いと本気で
思っているならそっちを改めるべきだ。
不具合と言っても色々ある。VBの不具合じゃなくても
ソフトウェアの不具合だろ。それも分からずに書いた
>185が基地外なだけ。
具合が悪くなったおじいちゃんを不具合と呼び捨てる。そんな人間に私はなりたい。
>>201 私の中で不具合ってWinとかVBに元からある問題みたいなイメージがあるのですよね。
何はともあれ了解しました。
それで、どなたかヘルプを……
共有メモリというキーワードも無いとダメだろうな。
207 :
デフォルトの名無しさん:04/12/28 02:41:58
ちょっと質問です。
VB6.0で右クリックのメニューを表示する場合
PopupMenu mnuFile
等すれば良いのは分かったのですが、この、mnuFileの部分は、
できれば、mnuFileの部分を動的に作成したいのですが
メニューエディタで作成しなければならないのでしょうか?
209 :
デフォルトの名無しさん:04/12/28 09:41:36
Mutexで検索して色色と調べてみたのですが、サンプルが見つからず困っています。
ヘルプにもありませんよね。
VB6でMutexって少ないんですか?
210 :
デフォルトの名無しさん:04/12/28 09:47:20
>>208 やっぱりサブクラス化しかないですか(´・ω・`)ガンバッテミマツ
情報どもどもなのでした。
Mutexって難しいか?VBの呼び出し的には普通のAPI呼び出しレベルだと思うけど。
そもそものMutexに関してはSDKのヘルプ読んだ?
212 :
デフォルトの名無しさん:04/12/28 10:27:20
>>211 CreateMutexって云うAPIだったんですね。
頑張ってみます。
213 :
デフォルトの名無しさん:04/12/28 11:32:26
すみません、別途質問をさせて下さい。
予め実行しておいたActiveXEXEのクラスを使ってオブジェクトをインスタンスしたいのですが、
起動する標準EXEはそれを全く使用せずに別のActiveXEXEを開いていってしまいます。
プロパティを弄っているのですが、一向にうまくいきません。
こう云う場合、どのような箇所が何が問題なのでしょうか。
>>213 ActiveXEXEのレジストの問題じゃないのか?
インストールか手動かしらんが、その動作環境でEXEが参照してるActiveXEXEがそっちを向いてる。
215 :
超初心者:04/12/28 11:57:22
Integer型の変数にNUllを代入するにはどうすればいいのですか?
要は、途中でStringに変えたいんですがどうすれば??
>>215 おぃ!こら!何がしたいんだ!こら!
まあ、APIにNULLを渡したいなら、数値0を渡す。
DBにNULL値突っ込みたいなら、SQL文でNULLを渡す。連結コントロールの場合は使わないから知らない。
217 :
超初心者:04/12/28 12:13:26
>>216
テキストボックスに年を入力させて
それをテキストファイルに書き出すんですが
空欄の場合NULLを書き出したいんです。
それで、年に数字以外の入力された場合エラーにするために
IsNumeric使うんで、Integerで宣言してるんです。
>>217 えーと、TextファイルにおけるEOFについて一般常識を勉強されたほうが・・・。
219 :
デフォルトの名無しさん:04/12/28 12:21:27
>215
Integer型は整数(-32,768〜32,767)しか入らない。
なので必要時に、普通にString型の変数へ入れ替えればいいよ。
流れ的には↓
―――――――――――――――――――――――――――
もしInteger型変数の内容が1未満だったら、
String型変数に、NULLを入れる
それ以外なら
String型変数に、Integer型変数の内容をそのまま入れる
―――――――――――――――――――――――――――
↑こんな感じ。
220 :
超初心者:04/12/28 12:54:12
みなさんありがとうでつ。
221 :
超初心者:04/12/28 13:35:50
もうひとつ質問です。
テキストボックスに、整数以外を入力
されないようにしたいのですがそうすれば?
おぃ!こら!そうすれば?ってなんだ?!こら!
吐いた日本語飲み込むなよこら!
で、KeyPressでやれば。
あと落ち着いて書け。それは初心者とか関係ない。
Mutexを駆使して色色やったら、実現出来ました。
荒れる原因を作ってしまってすみません&どうもありがとうございました。
KeyPressはダメだと何度(ry
>>224 質問スレなんだから、そう書くならリンク出すなり、簡単に書くなりしろよ。
フォームの起動位置について質問です
フォームプロパティのStartUpPositionをウィンドウズの規定値にすると
最小化の状態で起動することがありますが、これはどうしてですか?
すべてのプログラムがそうなるのではなく、
Shell関数から起動する
StartUpPositionを3にする
という条件でときどきおこります。
同じようなことがあった方がいましたらアドバイスお願いします
227 :
超初心者:04/12/28 15:22:04
スマソ、どうすれば?でした
ちなみにWindowStateの値は標準でした
個別でPGを起動すると画面のどこかに表示されます
ですがShell関数から起動するとある特定のPGだけ
最小化の状態で必ず出てきます ただのバグでしょうか///////
229 :
デフォルトの名無しさん:04/12/28 16:57:25
はじめまして。VB初日目でつ。
質問なのですが、テキストボックスに表示された文字列の中から
指定した行数番目の文字列を表示させたいのですが、どなたか
ご存知でしたら教えてくださいませ。。。
230 :
デフォルトの名無しさん:04/12/28 18:09:48
>>229 Splitで一旦配列に読み込んで、
後はゴニョゴニョと。
Split
232 :
デフォルトの名無しさん:04/12/28 18:15:59
>>221 コピペまでブロックするとなると
Changeイベントで蹴飛ばすしかないな。
>>221 イベントで止めようとしても、キーの連打で上手い事通ったりするから注意だね。
業務でやった時はみんなKeyPressとかKeyDownとかKeyUpとかChangeとか組み合わせて絡み合わせてやってたよ。
>>221 自前でコードを書いてもいいんだけど、ActiveXコントロールを使ったほうが
楽だし完成度が高い。
業務ではInputManを使われることが多いと思うけど、個人で使うには高い。
VB6のプロフェッショナルやエンタープライズならマスクエディットコントロールが付いてるから
お試しあれ。
>234
解雇していい?
>236
君に次にだって。
238 :
デフォルトの名無しさん:04/12/29 10:51:24
htmlファイルを別枠で表示させたいんですが
どのようにすればよいんでしょうか?
すみません、Part31と32の過去ログ持ってる方いらっしゃらないでしょうか・・・?
>>240 まじありがとうございますっ!
目的のもの見つかりました(つд`)
242 :
デフォルトの名無しさん:04/12/29 22:19:24
すみません質問です。
クリスタルレポートで帳票を出力したいのですが
制御はVB側で行いたいのです。(クリスタルレポートは項目を配置するだけ)
クリレポの項目にデータをセットすることは
出来たのですが改ページのコマンドが分かりません。
どなたか分かる方いませんか?
243 :
困った:04/12/30 05:38:06
どうしてもわからない事があります。賢い方教えてください。
VB6で、フォーム上のコントロールをドラッグして、位置を変えたいのです。
コントロールが1つのときは、xxx.drag でうまくいくのですが、複数のとき
どうしてもうまくいきません。なにかいい案、願いします。
>>242 まず、製品版かVBオマケ版か書く。
で、改ページはグループ毎にとかの指定しか出来ないと思った。
なんで、隠しでもいいからグループ化して、そこに適当なデータをいれて制御。
>>243 掴んだら、対象コントロールと別に枠だけのPictureなんかで移動を表現。
マウス移動にあわせてその枠を移動して、離したら移動用枠を消して、掴まれたはずのコントロールをそこに出す。
つまり、各コントロール自体を移動するのではなく、それっぽくみせるだけ。
245 :
デフォルトの名無しさん:04/12/30 13:00:58
>>244 後半のアドバイスはちょっと意味不明。まあ質問者の質問の仕方も悪いが。
>>243のようなUIで問題になるのは、
(1)複数のコントロールの選択をどのような操作で実現するか
(2)選択されているコントロールをどう表現するか
これだけのはず。
選択されているコントロールが規則正しく並んでいる保証はないから
「枠」というのは不適切だし、そもそもあえてコントロールそのものを移動しない
理由があるとは思えない。すくなくとも現在ではね。
246 :
デフォルトの名無しさん:04/12/30 13:52:44
質問です。VisualStudio6.0(Jet4.0)
(mdbは古いOffice(Office97)で作ったサンプルです。
そのサンプルではJet3.51でした。)
フォームにグリッドコントロール、データコントロール2個、テキストボックスがあります。
それぞれDataGrid1、Adodc1,Adodc2,Text1という名です。
Adodc2のプロパティにはConnectionStringとレコードソースが設定されています。
同じ内容をAdodc1にコードで設定します。
で、DataGrid1のデータソースをAdodc2にすると問題なく動きますが
Adodc1にするとデータが表示されず、グリッドの枠がデフォルトのまま
表示されるのみです。Refreshしてもうまくいきません。
レコードセットがちゃんと設定されてないのかと思ったのですが
Text1のデータソースをAdodc1にすると、ちゃんと取得していて
指定したデータフィールドを表示させることができます。
だからAdodc1のせいではないようです。
で、データコントロールを介せず、直接レコードセットをグリッドコントロールに
設定してもやはり同様に動きません。
何がいけないのでしょうか?
247 :
デフォルトの名無しさん:04/12/30 19:40:35
Excel Createrでエクセル・ブックを作製するようにしたのですが
その次にファイルをオープンする方法がわかりません。
Excel.Applicationは使いたくないのですが・・・。
よろしくお願いします。 m(_ _)m
248 :
デフォルトの名無しさん:04/12/30 20:42:52
>>どうもありがとう
クリレポは製品版です。
普通には改ページは出来ないのですね
記述方法で試してみます。
249 :
248:04/12/30 20:46:54
>>247 何のために開くの?
ユーザがExcelで編集するためなら
Shell関数か何かで開いてもいいんじゃない。
251 :
247:04/12/31 18:48:16
>>250 ありがとうございます。
ユーザーが作ったエクセル・ブックを確認するための機能です。
Shell関数ですね。
調べてきます。
253 :
デフォルトの名無しさん:04/12/31 20:23:36
ちょっと質問です
例えば、あるプロジェクトに、clsTestというクラスがあったとき
このclsTestのソースコードの文字列をプログラム実行中に取得することは可能でしょうか?
実際にやりたいことは、プログラム実行中にclsTestの全ソースコードを取得して
ScriptControlへ、ソースコードを追加することなので、最悪
クラスのソースコードをテキストファイルに保存しておけばいいのですが
もうちょっとスマートなやり方がないかな、と思っています
分からないから質問したのに、馬鹿とか言われてしまいました(´・ω・`) ホントニ シリタイヨ
とりあえず精進してきます・・・
256 :
デフォルトの名無しさん:04/12/31 21:24:19
>>255 コンパイルしたら、ソースは関係ないだろ。
257 :
デフォルトの名無しさん:04/12/31 21:25:17
258 :
デフォルトの名無しさん:05/01/01 13:55:23
>>256 ソース表示したいって言ってのに、回答が意味不明だな
ちなみに、俺はやり方しらんがなー
259 :
デフォルトの名無しさん:05/01/01 13:56:38
>258
じゃあ意味ないじゃん。
261 :
デフォルトの名無しさん:05/01/01 14:01:56
ソースコードがテキストなんだから、拡張子に気を付けてそのまま読めよ
>>261 拡張子の何を気をつけるんだ?
xlsを開くと勝手にセルの内容をチェックしてくれるのか?お前のVBは。
263 :
デフォルトの名無しさん:05/01/01 14:23:20
>262
チェックボックス1つチェックするだけでそうなるんだけどねぇ・・・
>>238 兎に角表示さえ出来ればいいってのであれば、ShellExecuteかなぁ?
265 :
246:05/01/01 19:02:13
>>246ですが、オイラのは壊れてんのかなぁ?>>VB
266 :
デフォルトの名無しさん:05/01/01 19:58:26
adodc1と2のプロパティ、どう違う。
>>267 殺さないでください・・・。怖い。
恐怖を感じたので警察行ってきます。
文字列配列の場合
Dim strarray() as String
strarray = SPilit("")
とやると初期化(UBoundが-1)で返るのですが、これをLongの配列や
構造体で実現する方法はありますか?
>269
「これ」が何を指しているのかよく分かりません。
SPilitなんて関数も知らないですし。
知りたいことは
・Longの配列の初期化
・構造体の初期化
の2点?
>270
そうです。
>・Longの配列の初期化
>・構造体の初期化
の方法が知りたいです。SPilitはSplitの間違いでした。すいません。
>271
どうやって初期化しようとしたらできなかったの?
説明が下手で申し訳ないんですが、
Dim strarray() as String
strarray = Split("")
For i = 0 to UBound(strarray)
//何かstrarrayに対する処理
Next i
とやるとFor文が一回も回らないで終了になります。
実際はForの前にIf等の条件で
Redim Preserved strarray(UBound(strarray) + 1)
で値をセットして、その場合のみFor内の処理を行いたいと。
If文に入らなかった場合にUBound(strarray)の部分でエラーとなるので
Long配列や構造体(ユーザ定義型)配列で
strarray = Split("")
と、やった場合のようにUBoundで-1が返るような配列初期化の方法がありますか?という質問です。
>どうやって初期化しようとしたらできなかったの?
lngarray = Split("")はコンパイルできないし、Array関数などをつかっても上手くいきませんでした。
Redim Preserved lngarray(0)
ではFor文に入ってしまうし。。。
>273
Preserved→Preserveの間違いです、こんなんだから駄目なんだなぁ。。。
>273
何も伝わってきません。一晩かけて文章を練り直してください。
特に なぜUBoundが-1を返すようにしたいのか、そこに至った
必然性を示すとよいと思います。
今のままではなぜそういうことをしたいのかが全く不明なので、
誰も回答意欲が湧かないでしょう。
>275
>特に なぜUBoundが-1を返すようにしたいのか
For文が一回も回らず、かつエラーとならないためです。(書いてますが)
277 :
デフォルトの名無しさん:05/01/02 07:40:55
ちょっと質問です
1.ユーザーコントロールの上にLabelを乗せる
2.LabelのCaptionを"あいう"等適当な文字に設定する
3.ユーザーコントロールとラベルのBackStyleを透明(0)に設定する
として、適当なフォームに、このユーザーコントロールを貼り付けると
Labelの文字列"あいう"の一部が欠けて表示されるのですが
これはVB6.0 SP5のバグなのでしょうか?
>276
>(書いてますが)
では誰も回答してくれないのはなぜでしょう。
伝わってないからです。
>For文が一回も回らず、かつエラーとならないためです。
なぜUBoundが-1を返すようにしたいのかの説明にはなっていません。
あなたのコードではたまたまそうだというだけです。
>278-279
相手にするな。
>276
かなり初心者のようなのでどこまでレベルを落とせばよいか分かりませんが・・・
>275さんが「必然性」という言葉を使っていますが、この意味は理解
できてますか?設計レビューやソースレビューで普通に使われると
思いますが。もしかしたらそういった経験がない方でしょうか。
UBoundが-1を返すようにしたいようですが、本当にそれしか方法がないの?
といった意味です。あなたがこれまでに考えた方法はこれとこれとこれで、
それぞれこういう理由でダメだった。最終的にUBoundが-1を返すように
しなくてはならないんだ、と考え至るまでの経緯を問われているわけです。
したがって、
>For文が一回も回らず、かつエラーとならないためです。(書いてますが)
書いてありませんよ。
>281
あのですね、他の方法(エラー処理で弾く・別にカウンタを持つ等)で回避することは可能だと思うのですよ。
ではなくてUBoundの値が-1で返ることでその処理は一番かどうかはわかりませんがシンプルに書けるじゃないですか。
273で
>UBoundで-1が返るような配列初期化の方法がありますか?
と聞いているのに
「なぜ-1が返したいの?」とか「その方法しかないの?」とか言われても。
やりかたがないなら「ない」というのが回答でOKです。
前述したように文字列配列では-1を返すことができます。それと同じことは他の配列ではできない。
それで良いと思いますよ。
>>281 必然性など状況で変わる。
VB専ごときが調子に乗るな。
284 :
277:05/01/02 10:04:20
(´・ω・`) ヘンナノニ マキコマレタ ...
>282
>回避することは可能だと思うのですよ。
じゃあ解決だな。
>シンプルに書けるじゃないですか。
知りません。
>やりかたがないなら「ない」というのが回答でOKです。
なぜ〜ときかれている時点で「ない」ことは察してくれ。
いまだに気付いてないとは知らなかった。
>それで良いと思いますよ。
お前はそんなことを言える立場じゃないな。
>283
>必然性など状況で変わる。
いいねー、分かったようなこと書いてるけど何の情報も
含まないこの書き込み。かっこいいねー。
うちのプロジェクトでは不要な人間。
>>285 お前がそんなこと言える立場とも思わない。
こんなことで自分の優越感をアピールしても仕方がないでしょう。
もっとレベルを上げて余所でも優越感を感じられる人間になりましょう。
努力をしないと何も始まりませんよ。
>282
>やりかたがないなら「ない」というのが回答でOKです。
すげーな、お前。ここで「ない」って言われたら納得するのか?
上司への調査報告で「2ちゃんでないと言われました」ってか?
>>286みたいなPLがいるプロジェクト以上のプロジェクトに必要とされているので問題ないですよ。
>287
>こんなことで自分の優越感をアピールしても仕方がないでしょう。
してませんが。
>もっとレベルを上げて余所でも優越感を感じられる人間になりましょう。
はい。
>努力をしないと何も始まりませんよ。
はい。
終わり。
291 :
デフォルトの名無しさん:05/01/02 10:09:44
>277
AutoSizeじゃないんだろ?サイズや位置変えてご覧。
>>288 罵倒とかやめて建設的な話をしませんか?
すべてにおいて効率が悪いです。
>289
>>286みたいなPLがいるプロジェクト以上のプロジェクトに必要とされているので問題ないですよ。
俺のプロジェクトに関わらないならそれでいい。
終わり。
>292
は?2ちゃんで?何夢見てんの、お前。
>292
すべてって何?
>>293 で、儲け出てんの?お前のプロジェクトやら。ちゃんとメンバー休ませてる?
>289
それは気のせいだろ。
2ちゃんで質問するレベルの奴だしなー
>>294 いいねー、分かったようなこと書いてるけど何の情報も
含まないこの書き込み。かっこいいねー。
うちのプロジェクトでは不要な人間。
>296
まあお前にもこのスレにも関係ないけど、儲けは普通。休みは普通。
別段誉められたプロジェクトではない。
>298
たしかに。
>>297 嫌なことあるなら相談乗るよ?
儲けも出ずに下からは侮蔑され上司からは期待されず客からは失笑を買ってるとかそんなとこだろうけど。
どうでもいいけど>273は解決したの?
回答が得られたなら得られたで、クローズしてくれ。
>301
まじ?ピンサロで一度もイッタことないんだけどどうすればいい?
>なぜ〜ときかれている時点で「ない」ことは察してくれ。
「なぜ」と聞いてません。聞いているのは回答者です。
さっきも書きましたが他の方法(UBoundをー1で返す以外)での回避方法は質問してません。
それに対しての解決でなくて、
「文字列配列以外の配列でUBoundを-1で返すような配列初期化方法はない」
で解決?(回答として)です。
ありがとうございました。
つうかさ、正月休みぐらいまったりしろ。
>305
分かりにくくてすまん。
「回答者が」なぜ〜と聞いている時点で って言いたかった。
>308
いや、待てよ。
「あなたが」なぜ〜と聞かれている時点で だから合ってんじゃん。
プロジェクトリーダーに大抜擢されて弔詞載ってるなんか訳分からん奴に言ってくれ。
PG以上の仕事は無理だとは思ったが見切り発車と言うことは伏せておいてやろう。
>>なぜ〜ときかれている時点で「ない」ことは察してくれ。
>「なぜ」と聞いてません。聞いているのは回答者です。
それはお前変じゃん。元書き込みと君のレスが食い違ってるよ。
いやみったらしく回りくどいこと言わんとさくっと回答してあげた方がよかったね。
>310
プロジェクトリーダーに大抜擢なんて言うか?
プロジェクトリーダーなんてフロアにたくさんいるだろ。
プロジェクトマネージャーに大抜擢くらいならわからんでもないが。
>313
言えてる。それは俺も悪かったよ。
「ない」の2文字で満足してくれたんだもんな。
一生PGの奴にとってはプロジェクトリーダくらいでも
夢の肩書きなんだろうな。
>>315 それで調子に乗ってるから始末に悪いんでしょう。
>305
おめでとう。祝賀会どこでやる?
ところで>309についてはどう?
>321
いやー、さりげなくスルーしてっけど実際どうなのかなーと
思ってさー
>321
その書き込み見た感じ、まあその通りでしたってとこだろうな。
>なぜ〜ときかれている時点で「ない」ことは察してくれ。
「なぜ」と聞いてません。聞いているのは回答者です。
うんうん、本人わかってるね。
>305
しかしこのレベルの質問が出るあたり、さすが2ちゃんって
感じだね。こんな質問他じゃ絶対開いてしてもらえないよ。
>325
うぉ、「開いて」→「相手」
>305の実家
>303は?マジなやんでるんだけど。
なんだか荒れさせてしまってすいません。
313さんのおっしゃる通り「ない」ならそれで満足だったんですよね。
自分なりに調べて最後にここで「ない」って言われれば他の方法で進める予定でした。
その他の方法まで考えてくれようとしていたなんて。
親切な方が多くて恐縮です。でわ。
>269-328は私の自演です。
新春一発目のネタでした。
こんな感じで今年もネタ投下していいですか?
>329
>309は?別に君が間違ってと責めたいわけじゃないんだけど、
このままじゃ俺が間違ってるみたいじゃん。
332 :
横槍:05/01/02 10:32:49
>331
ああああああーあああーあ、うぜーな。
お前の方が合ってるよ、みりゃ誰でもわかんだろうが。
お前こそ察してやれ。
333 :
デフォルトの名無しさん:05/01/02 10:33:17
AAのノバうさチャンちょうだい
>333
いくら?
335 :
デフォルトの名無しさん:05/01/02 10:36:20
>334
数の子。
>331
自分がアフォですいません。
>なぜ〜ときかれている時点で「(その方法は)ない」ことは察してくれ。
察しなければいけませんでした。。。
>335
ほとけのざ
>336
うむ。
しかし察しろってのも乱暴な回答だな。
>336
それはともかくさ、>282>287>289>296>301あたりって
お前?そうでないことを祈るね。
せっかく回答したのにこんな反応されたとあっちゃー
かなりショックだからな。他の奴の煽りであることを
祈るよ。
341 :
デフォルトの名無しさん:05/01/02 10:47:19
ノバうさ欲しいーー欲しいーーーー
>269
>271
>273
>274
>282
>305
>329
>336
が自分のレスです。
343 :
デフォルトの名無しさん:05/01/02 10:50:22
早くくれないと変なことしちゃうぞー
>342
>342
>282はヒットか。ややダメージありだな。まあいいけど。
>340
たいした回答じゃねーじゃん。「ない」って言うだけなのに嫌みったらしく初心者だとかレビュー経験がないとか。
煽ってんのはお前だろ。
>>325 しかしこのレベルの質問で煽りが出るあたり、さすが2ちゃんって
感じだね。こんな質問他じゃ絶対煽ってもらえないよ。
348 :
デフォルトの名無しさん:05/01/02 10:54:37
いっぱい聞けて〜♪
いっぱいしゃべれる〜♪
>>346 激しく同意。
て言うかやな環境で働いてますね。って感じ。
こんな人間がまかり通ってるんだろ?そのうち人死ぬよ。
350 :
デフォルトの名無しさん:05/01/02 10:57:51
AAのノバうさ絶対欲しーい。
てかSplit("")で-1になるのはシランカッタ
このレベルとか言うけど、ホントにみんな知ってたんかね?
>346-350は269
>>351 あまり興味がないというのが本音。
知識と技術と仕事って正比例しないというのが本音。
354 :
デフォルトの名無しさん:05/01/02 11:03:08
NOBAウサチャン、僕も欲しいよー。
>351
ヘルプに書いてありますけど。
>351
269はしつこいなー。
Split("")で-1になるのは偶然なんじゃないの?
MSDNにはSplit("")で空の配列が返るとは書いてあるけど、
UBoundで-1とは書いてない。
偶然てw
どうでもいいけどVBの配列のインデックスは0から
始まると決まっているわけじゃないのにUBoundだけ
使うのは好かんな。LBoundとUBoundのセットで
使ったほうがいいんじゃないの?
359 :
デフォルトの名無しさん:05/01/02 11:08:22
ね、そこのおにーちゃん、ねー、可愛いノバうさをね、もらって来てくれない?
>357
偶然っつーか、なんつーか、-1が返ってくることは
MSDNでは保証されていない、みたいな意味で。
>>358 お前のプロジェクトにはそんなことする変人がおるのか?
>361
しらねー。VB使ったことねーし。
>361
やっちゃだめなの?
>363
犯っちゃダメだよ。
>>363 可読性が落ちるから統一するのがベター。
367 :
デフォルトの名無しさん:05/01/02 11:15:18
みんな意地悪する〜。いいもん、自分で作るもん。い〜だ。
>366
>367
とりあえずスレ関係ないの続けてるから通報しといた。
調査されるよ。
>>370 いいねー、分かったようなこと書いてるけど何の情報も
含まないこの書き込み。かっこいいねー。
うちのプロジェクトでは不要な人間。
>371
不安なんだな。
l⌒l l⌒l
l l l l
l l l l
l∩l l∩l
ll ll____.ll ll
/ \
/ ⌒ ⌒ \
l U U l
l ω .l
l .l
\ ∈ / いっぱい聞けて♪いっぱい話せる
\ /
/ \
/ \
/ /l l\ \
/ / l l \ \
\ \ l l / /
\ \l l/ /
\ ⊃ ⊂ /
\⊃ ⊂/
/ / /
/ / /
/ / /
\ \ \
\ \ \
( ̄ ̄ ̄( ̄ ̄ ̄)
 ̄ ̄ ̄ ̄ ̄ ̄
374 :
デフォルトの名無しさん:05/01/02 11:18:37
>>291 AutoSizeではないです。
サイズや位置を変えても直りません。
で、気が付いたこと
ユーザーコントロールのBackColorを白にして、BackStyleを不透明にする
LabelのBackStyleを透明にする
とすると、文字の一部のドットが白くなります
ので、よくは分かりませんが、文字の一部の色が、ユーザーコントロールの方の色で書かれているみたいです
なんでだろう(´・ω・`)ワカラン
375 :
デフォルトの名無しさん:05/01/02 11:26:15
>374
メモリと処理効率のためにCS_OWNERDC使ってるんだょ。その辺りでバg、じゃなくて変わった仕様で動いてるんだろぅ。あまりきにすな
バg
377 :
デフォルトの名無しさん:05/01/02 11:49:58
プロキシ以外の方法で、Webから自分の身元(IP)を隠す方法教えて。
378 :
デフォルトの名無しさん:05/01/02 11:52:00
anonymizer
>>378 HTTPヘッダの偽装しかできないので無駄です。
381 :
デフォルトの名無しさん:05/01/02 12:03:33
VBのサブフォームで以下のようなことを実現したいのですが、
どのようにすればよろしいのでしょうか。
あるテキストが書いてある欄をクリックすると、その右側に▼が
表示され、そこをクリックすると、入力したいテキストの一覧が
表示される。
Accessのサブフォームでは、サブフォームの表示形式を
データシートにし、テキストボックスを削除して、
変わりにコンボボックスを配置することで実現できるのですが、
VBでの実現のしかたがわかりません。
どうぞよろしくおねがいいたします。
>>381 ただのコンボボックスでいいと思われます。
383 :
デフォルトの名無しさん:05/01/02 12:07:44
>>375 イロイロぐぐってみて、なんとなく分かったような分からないような・・・
とりあえず回避策でなんとかする方向で対応しまつ
どもどもでした
384 :
381:05/01/02 12:10:53
>>382 データグリッドのようなところで実現したいのです。
表示するデータ数を特定する場合は、コンボボックスを
その数だけ配置すればいいけど、データ数が特定されない場合は
データグリッドを使う必要がある。
しかし、データグリッドの中には、コンボボックスが配置できない。
(これがAccessならできる。)
だからどうしたらよいんだろうって。。。
385 :
デフォルトの名無しさん:05/01/02 12:17:37
コンボのparentをセットし、key入力時にコンボにfocus移動、位置移動し、コンボにkeyイベントを送る…
386 :
デフォルトの名無しさん:05/01/02 12:27:42
普段コンボを使ってない時はvisibleで隠す
387 :
デフォルトの名無しさん:05/01/02 12:29:41
う〜、マンボ!
388 :
デフォルトの名無しさん:05/01/02 12:33:55
誰か雇ってくれないかな
>>388 リーダがDQNでよければ上でメンバー募集してたぞ。
390 :
デフォルトの名無しさん:05/01/02 12:50:03
この店にはいいノバうさがないな。
>384
データグリッドにコンボは配置できますが。
正月から余裕のない奴ばっかだな。
酒でも飲んで休め、な。(俺は酒のめねーんだけどなw)
根本的に関数の返す値をそのままForループの終了値にするのっておいらは嫌だな。
その関数がエラーになる可能性あるわけじゃん?
(今回のUBoundは配列の「要素の最大値を返す」を返す関数だからね。)
そのエラー処理を考えたらとてもシンプルにはならんだろ。
だからUBoundで-1が返るなんて仕様はそのまま使わないで
ループの前にループの終了値を決める処理をちゃんと儲けて
別変数に終了値をセットする処理でチェックを行うべきだと思うんだよね。
まぁ、こういうのはプログラミングの「宗教」みたいなもんだから
どんな時も絶対正しいものなんてないで
それくらいの考えで他人の意見を聞いた方がいいよ。
>>392 お前は余裕とりすぎて終わってる話題になんかマジレスしてるぞ。
394 :
株板から来ました:05/01/02 13:54:46
RSSでエクセルに落とした株価が一定の条件に達したら
音を鳴らすためにはどのようにすれば良いでしょうか
今はそれが出来ないので、
書式→条件式書式でセルの値が次の値以上になったときに
セルの色を変更するというやり方で表示させています
スレ違いかどうかも解らない素人ですが
よろしくお願いします
396 :
株板から来ました:05/01/02 14:00:55
>>395 VBAでBEEPというプログラムを組めばよいのは
なんとなく解りました
BEEP・・・・・
IF文 条件式(例セルA1>250円)
今わかっているのはこれらを使えばいいのかな
ぐらいです
ググッて色々調べていますがどうも出来そうにありません
397 :
デフォルトの名無しさん:05/01/02 14:03:56
396
タイマー
>>397 ポーリングより割り込み反銅鑼の方がいいよ。
399 :
デフォルトの名無しさん:05/01/02 14:17:26
kabuト"ットコム証券
400 :
株板から来ました:05/01/02 14:18:54
>>397 レスありがとうございます
タイマーとは具体的にどういうことでしょうか
自分がやろうとしていることは
ブレイクアウト手法という取引方法です
例えば株価が過去40日間の高値を更新すると
買い圧力が弱まるまで一方向に動き易いという傾向があります
http://quote.yahoo.co.jp/q?s=1863.t&d=c&k=c4&z=m&t=1d 具体例 潟eトラ 12/30の動き(1/4には更新されて別なチャートになります)
過去40日間の高値は379円です
寄り付きで(一番最初の取引値)で高値を更新したあとは
ほぼ一方向に買われていることが解ります
1000株(38万円分)買えば、その20分後には44万円になっています
実際にはもっと早く売ってしまいますが・・・
401 :
デフォルトの名無しさん:05/01/02 14:27:49
кabu,com証券
>>400 あがったと思って買うバカが増える。と言う認識でしょうか。
更新と書くと理由無くPVが増えるみたいなもんですかね。
403 :
デフォルトの名無しさん:05/01/02 14:35:11
ガブどっとこむ商権
404 :
246:05/01/02 14:50:37
>>246です。
SP6もあてましたが状況変わらず。こんな基本的なことができないとは
先が思いやられます。
DataGrid1のプロパティはデフォルトです。
Adodc1のプロパティもデフォルトです。(ソースで設定します。)
Adodc2はConnectionStringがFILE NAME=C:\VB\練習\Book.UDLでRecordSourceが本です。
CommandTypeは2番のテーブルです。他はデフォルトです。
Text1のプロパティはデフォルトです。
Book.UDLの中身
[oledb]
; Everything after this line is an OLE DB initstring
Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=C:\VB\練習\Book.mdb
405 :
246:05/01/02 14:51:03
イカソース
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Private Sub Form_Load()
Set cn = New ADODB.Connection
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" _
& "Data Source=C:\VB\練習\Book.mdb;" _
& "Persist Security Info=False"
cn.Open
Set rs = New ADODB.Recordset
rs.Open "本", cn, adOpenStatic
Set Adodc1.Recordset = rs
'これでText1にはちゃんとデータが入ります。
'DataGrid1はAdodc2と変えればデータがちゃんと表示されます。
'しかし先々ソースで表示させるようにできないと行き詰るのが目に見えてます。
Set Me.DataGrid1.DataSource = Adodc1
Set Me.Text1.DataSource = Adodc1
Me.Text1.DataField = "題名"
End Sub
Private Sub Form_Unload(Cancel As Integer)
rs.Close
cn.Close
End Sub
>>404 >先が思いやられます。
お前のな。早く迂回方法考えた方がいいと思うぞ。
407 :
株板から来ました:05/01/02 15:24:22
408 :
株板から来ました:05/01/02 15:24:48
誤爆失礼
つうかさ、正月休みなのに質問とか馬鹿回答とかうざい。
わからないことなんて、休みの間に小人さんが解決してくれるのに。
>392
死ねば?
413 :
381:05/01/02 18:47:05
>>391 どうやればいいの?
グリッドはテキスト型と、bool型以外に配置できるの?
>413
そんな聞き方じゃ教えたくありませんね。
>>414 何も知らないお前には期待していないので大丈夫です。
>413
セルをダブルクリックしたら別のフォームが出るようにして
そっちでコンボ使ったら?
>415
あらら。君が>413本人だったらアホだねー。
次くらいで教えてあげようと思ってたのに。
>413
ヒントだけど、DBComboを上手く使うのよん。
拡張子がMD5のファイルってどう使えばいいの?
>>420 そんな聞き方じゃ教えたくありませんね。
>421
あ、悪い。もう解決したからいいよ。
このスレ、糞スレ大賞にエントリーする?
>>420 対象となるファイルのMD5を取って比較します。
同一になるなら改ざんされていない可能性大と言うことです。
>424
おいおい、聞いたの俺だけどマジレスしてんなよ。
お前らが釣りに乗らないかどうかのテストだったんだからさー。
426 :
デフォルトの名無しさん:05/01/02 21:19:37
VB6.0で開発したアプリの、特にラベルの文字が
文字化けするという話を聞いたのですが、本当ですか?
対処法はありますか?
また、ユニコードにVB6.0は対応していますか?
>426
そんな曖昧な情報で回答できる奴はエスパー
428 :
デフォルトの名無しさん:05/01/02 21:33:23
困っています。
ただ今、Win2000+VB6(SP6)で
・ファイルリストから.lzhファイルを選択(複数選択可)
・.lzhファイル解凍(解凍後は固定長のテキストファイル)
・データベース組込み
…といった流れの仕事をおこなうソフトを作成中です。
そのソフトの熟練者が使うぶんにはまったく問題ないでしょうが、初心者ユーザーが使用するとき、
誤ってまったく関係のない、組込みの対象外の.lzhファイルを選択してしまうことも考えられます。
そのような状況を考慮し、解凍時にはファイル展開用の TempFolderを作成するわけですが
選択ファイルに組込み対象外の.lzhファイルが含まれていた場合、一連の作業終了後、
FileSystemObjectオブジェクトの DeleteFolderメソッドを使って TempFolderを削除しようとすると、
書き込みできません。(Error70)
…というエラーがでます。
・選択されたファイルが組込み対象のファイルのみ
・.lzhを複数選択されたとき、組込み対象のファイルが、リストの1番最後であった場合
以上のような状況では、エラーは発生せず TempFolderは削除されます。
自分でVB本やネットで色々調べてみたところ、Closeされていないファイルを削除しようとした場合
このエラーが発生するらしいです。しかし、私のコードでは対象外ファイルの場合は Openしていません。
On Error Resume Next で回避することもできますが TempFolderは残されたまま終了してしまいます。
このエラーの原因は何なのでしょうか?解決方法はあるのでしょうか?
どうかご指導よろしくお願いいたします。
429 :
426:05/01/02 21:34:43
エスパー・・・・1960年代生まれの人ですね。
21世紀を生きる前途有望なプログラマは
「PSY(サイ)能力者」を使います。(サイキックでも可)←心霊能力者
WinXPデフォルトにVB5.0アプリをインストして動かすと←(5.0だよ!)
かなりの確率でラベルコントロールの文字が化けたのでランタイムを
調べたら、US版しか入っていない。でも、ある人は大丈夫だよという
コメントをいただいたので何だかな〜。
>429
ソースは?
>>428 LHAのライブラリ何を使ってるかしらんが、それの後始末してないんじゃないの?
>432
教えてくれた人に対して「なるほど」は無礼ですよ。
上司とかにも使ってるんですか?
>>433 1時間放置されただけあって大はしゃぎですね。
つうか、1人基地外が張り付いてるね。
多分、正月に保守かなんかで出勤なんだろうね。
下僕以下の階級。
>434
どういうこと?>433の指摘は合ってるよ。
>>436 そらお前の価値観から見てお前の発言は正しいだろう。
431だけど、別に2chなんだからどうでもいい。
いちいちこういう場で
>>433みたいな奴のほうが、一緒に仕事をしたくない奴だ。
__
_,、;;-;;;'': ヽ 、'';;-、、_,,,
-=ニニ` ._` ‐ミ ,、_、-、/ i L
-=ニ二´`- ヽ<` `'-'iノ
-=ニ,、ヽ 、ii/ `''-、_ , _!
`ヽ ! !゙ u ニ'ニ`<イ
_i_,ゝ;; u . )i
、'゙(~'、 !. 、──-/ u
_,、-;;;゙/ .i '、  ̄ ̄/
_、-'' '゙ / i ヽ, `'',,- -' u
,、 ' ゙ ゙ .、 / _ _.i、. /ニ::i.´!\ u
/ i ~,、- ' |ヽ,/i i !:::i丶
i i < .i ゙i i゙ `|、::ゞ ゙、
! ! ヽ, !. | | i ゙、 ヽ,
! | '、 .! | .| i ゚./ i ゙i
| i ゙、 .! | | .! / ! !
i ! ゙.、 i| |/ / i. |
┌‐────┐ ゙'、゙! /' / ! !
│ナルホド | ゙'.i|';/ 7 !
├───‐─┴─────────────────────────
440 :
デフォルトの名無しさん:05/01/02 22:20:33
証拠品
|-変なレス参照記号-|
| ○
>>100 . |
| × >100 .. |
|----------------..|
>>440 とりあえず回答したのに話聞いてくれなかったので。
>437
いや、国語辞典にも載ってるレベル
>441
どうしたの?
445 :
404:05/01/03 14:57:44
446 :
デフォルトの名無しさん:05/01/03 15:09:41
Adodc1の気になるプロパティをDebug.Printで吐かせて比べてご覧
>404
ConnectionとRecordsetオブジェクトを使わずに
Adodc1のみコードで設定した状態で開きませんか?
Private Sub Form_Load()
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" _
& "Data Source=C:\VB\練習\Book.mdb;" _
& "Persist Security Info=False"
Adodc1.RecordSource = "本"
Set Me.DataGrid1.DataSource = Adodc1
End Sub
質問させてください。
プログラマ暦1年以下の者です。
複数台のクライアント機のプログラムから
サーバの同一iniファイルを参照し、数値を得ます。
数値を得たらiniファイル内の数値をインクリメントするのですが、
複数のクライアントが同一の値を取得してしまわないように
する方法はどうすればいいのでしょうか。
Basicのバージョンは・・・よくわかりません。
某社の製品の動作をカスタマイズする方法が、
そのアプリケーション内で用意されたエントリポイントで
Basicを書くってことだけしかわかりません。
よろしくお願いします。
>448
それはプログラム暦1年以下じゃ無理ですよ。
最低でも1年2ヶ月の経験が必要です。
追記します。
Basicの仕様はよくわからないのですが、
そのアプリケーションが用意したBasicでは
・指定したiniファイルに指定セクションやキーが存在しない場合のReadIni
→例外を発生せず、空白を返す
・指定したiniファイルに指定セクションやキーが存在しない場合のWriteIni
→例外を発生せず、セクションやキーを作る
・iniが読み取り専用なのにWriteIni
→例外を発生せず、何も起こらず素通り
です。
質問のしかたもよくわからず申し訳ありません。
どうかお付き合いください。
>448
>Basicのバージョンは・・・よくわかりません。
じゃあVBの質問じゃないじゃん。はい、スレ違い。
>449
Σ(´Д`)ずがーん!
・・・・あかん・・・プロジェクトリーダーに叱られる・・・どうしよう・・・
453 :
デフォルトの名無しさん:05/01/03 17:28:26
排他処理とini関連のAPI、ファイル操作くらいを知ってたらできるんじゃないか。まあ、わからんことは近くの人に聞くんだな
>>404 cnとadodcがそれぞれ接続するので
複数同時にMDBが開けなくなる。
ちなみにSQLServer相手なら同じソースでも表示できる。
脱線すまない。
「なるほど」って言葉それ自体は目上の人間に対しても普通に使って問題ないよ。
ただ、確かにこういう傾向はあるだろう。
それはある種「卑屈な」メンタリティの人間はこの種の自分の心の動きを表現する
言葉を避ける傾向にあるということだ。
礼を尽くすことと卑屈になることの区別をつけましょう。子供じゃないならね。(ガキ臭いのが
何人かいるようだが)
大方の人間は質問者は(もちろん回答者も)最低限の礼儀は払うべきだと思ってるでしょ。
でも相手に卑屈になる必要はないんじゃないの?
なるほど【成る程・成程】
(副)
他人の主張や説などを聞いて△確かにそうだと同意する(そうであったかと納得する)ことを表わす。〔感動詞としても用いられる。ただし、目上の人に対しては言わない〕
Shin Meikai Kokugo Dictionary, 5th edition (C) Sanseido Co., Ltd. 1972,1974,1981,1989,1997
>456
なるほど
>455
いや、あなたは卑屈になってください。
>457
つまり、人に教えてもらっておいて「なるほど」は不遜であると
受け取られるということですな。
なるほど。
>455
お前みたいなクズは卑屈になれよ。
↓こういう書き方ってガキがよく使うよな。大人は使わん。
。(ガキ臭いのが
何人かいるようだが)
>455-456
激しくスレ違いであることにすら気付かないバカが
礼を語るな。
なるほど
>1-462
なるほど
>455
バカが終わった話題を蒸し返すから案の定荒れてるじゃねーか。
お前の身分晒せや。
>455
>脱線すまない。
なんで悪いと分かっていて書くの?どう見てもそれだけの
価値ある投稿じゃないのにさ。
>455-465は私の自演でした。すいません。
だれも見てなくても自分自身が見てる。
こんなことは普通10歳前後で悟ると思うが。。
正月早々わざわざ自己イメージを悪くしている君らは可哀想だわ。
なにかに追い込まれてそうなってるとしたら不幸なことですな。
>467
はいはい。スレ違いだから消えてくれる?
今年もVBの天下は続きますか?
470 :
株板から来ました:05/01/03 21:48:19
>>442 回答してくださった方には答えたつもりでしたが
抜けていたのかもしれません
>>398さんでしょうか?
プログラムの素人としては全く書いてある意味がわかりませんでした
471 :
404:05/01/03 22:48:07
>>446>>447>>454 ご回答ありがとうございました。おかげさまでできますた。
同時接続を避けるために
>>447みたいに迂回しろ、ということだったのですね。
確かにわたくしの先が思いやられます・・・
>>470 一行レスしてる奴はたいてい「知識はない、でも知ったかぶりたい」
って奴だから気にすることはない。
もっとも、君の質問の仕方も不適切だと思うけど。
「RSSでエクセルに落とした」これで意味分る人っているのかなあ…。
具体的にセルにデータを書き込む実体がエクセル自身のマクロなのか、それとも
エクセルの外部のアプリなのか。
特殊なキーボードエミュレータみたいなのもあるようだし。
どっちにしろ、出来合いのものに自分で手を加えるってのはあまり現実的で
ないような気がする。特に最初だったの場合、恐らくマクロの改変は禁止されてるだろうし。
まあ、俺もVBAはやったことないんでアレなんだけど。
VBAで解決できる問題だとしたら、WorksheetオブジェクトのChangedイベントの
イベントハンドラに目的の処理(条件を満たしていたら音を鳴らす?)を記述することに
なるのだろう。
ただし、長く書いても>472のような(←分かるね)書き込みもあるので注意。1行レス完。
474 :
株板から来ました:05/01/03 23:42:43
476 :
株板から来ました:05/01/04 00:03:31
>>475 ありがとう
かれこれ2ヶ月以上調べていますが解決しそうにありません
VBA覚えるのにも能力的に難しいかもしれません
買い取りますので、誰かプログラム組んでくれませんか?
未だにVBでhello,worldを出力できません。
買い取りますので、誰かプログラム組んでくれませんか?
なるほど。
478 :
デフォルトの名無しさん:05/01/04 00:53:30
リーダー絶好調だな。
>>476 もしセルへの参照の記述方法が分っているのならそんなに難しくないと思うよ。
基本的にはあなた自身が書いているようにIf文とBeepを組み合わせる。
それを
>>472に書いたようにワークシートのChangedイベントハンドラに
記述すればいい。具体的には、
(1) まずそのRSSを利用するときに使うブックを開いてVisual Basic(VB) Editorを開く。
VB Editorはエクセルのメニューのツール→マクロの中にある。
(2) VB Editorのプロジェクトエクスプローラ(通常ウィンドウの左にある、
プロジェクト- xxxxって書いてある子ウィンドウ)の中の、株価が表示される
ワークシートの名前が付いたアイコンをダブルクリックする。
(3) 現れたエディタ(ノートパッドみたいな中身が空っぽのウィンドウ)に
次のコードをコピーペーストする。
Private Sub Worksheet_Change(ByVal Target As Range)
End Sub
(4) このPrivate Sub〜の行とEnd Subの行の間が「WorksheetオブジェクトのChangedイベントの
イベントハンドラ」になるので、ここに目的の処理を記述する。
480 :
株板から来ました:05/01/04 07:52:07
>>479 お答え頂きありがとうございます
今日から仕事始めなので、少し時間がかかるかもしれませんが
(1)〜(4)を実行してみます
>>477 冬休み中初心者用の本で勉強したので
出来ると思います
>480
>冬休み中初心者用の本で勉強したので
>出来ると思います
本当ですか!!!見積もり出してもらえますか?
「なるほろ」なら見逃してもらえる確率が高いかもしれない・・・
>482
なるほど嫌いの俺も許す。
で、NOVAウサギまだぁ?
♪ いっぱい聞けて〜
♪いっぱいしゃべれる〜
NOVAならっ!
,.-、
/.n l /⌒ヽ
| l l | ,' /7 ,'
, '' ` ー ' '-' /
/ 、_, `ヽ
l , .-. 、`´ l
ヽ ヽ ̄フ /
丶、 ̄____,/
/ ,. - 、 )
(( ( n ([N],ハ_う
ゝ)ノ  ̄ ヽ
/ _ l ))
〈__ノ´ `(_ノ
486 :
デフォルトの名無しさん:05/01/04 14:15:45
はああ…俺は何て無駄な人生を送ってきたんだろう…。
もっと早くに気付いていれば…。
せめて20年前、いや10年前に戻りたい…。
戻って何もかもやり直したいよ…。はあ…。
俺って駄目な奴だよなぁ…。
∧_∧
∧_∧ (´<_` ) …………。
(;´_ゝ`) / ⌒i
/ \ | |
/ / ̄ ̄ ̄ ̄/ |
__(__ニつ/ FMV / .| .|____
\/____/ (u ⊃
∧_∧
∧_∧ (´<_` ) 兄者は十年後にはきっと、せめて十年でいいからもどってやり直したいと
煤i;´_ゝ`) / ⌒i 思っているのだろう。
/ \ | | 今やり直せよ。未来を。
/ / ̄ ̄ ̄ ̄/ | 十年後か、二十年後か、五十年後からもどってきたんだよ今。
__(__ニつ/ FMV / .| .|____
\/____/ (u ⊃
487 :
デフォルトの名無しさん:05/01/04 16:10:21
amazonでVB.NETのソフトを注文したんだけど間違ってアカデミック版を注文してしまった。
キャンセルしようとしたけどまもなく発送するってことでキャンセルできなかった。
社会人だけどそのままアカデミック版でつかえないのかな?どこで学生って確認するの?
>>487 学生証をMSに送付してアクティべーションします。
489 :
デフォルトの名無しさん:05/01/04 16:23:20
492 :
デフォルトの名無しさん:05/01/04 16:38:06
どうせアカデミックはバージョンアップできないから
返品したほうがいいと思われ。
494 :
デフォルトの名無しさん:05/01/05 10:54:19
お願いします
tblname = List1.List(List1.ListIndex)
List1に運輸が常にある場合と考えて、
tblname に運輸を常に代入する方法とかありますか?
tblname = "運輸"
496 :
デフォルトの名無しさん:05/01/05 11:29:46
>>495さん
そうですよね。。。(あ〜なんか難しく考えていた!!)
497 :
デフォルトの名無しさん:05/01/05 15:57:51
>>494〜496
意味不明なれど、質問者が納得しているからまあいいか
なるほろ
GDI+ Flat APIのリファレンス見てると頭痛い・・・
もう時代についてけない気がする鬱だ氏のう
vbAcceleratorにラッパーDLLあるけど依存関係が。
そういえば外人ってOCXとかActiveX DLL好きだよね。合理的ではあるけどさ。
500 :
デフォルトの名無しさん:05/01/06 04:32:02
WebBrowser1.Navigate "d:\txtOperation.html"
c = WebBrowser1.Document.Body.outerhtml
form_loadの中に上の二行を書いたのですが、この二行の間にdoeventsを入れないと
下の行でwithが設定されていないというエラーかあるいはオートメーションエラーが出ます。
しかもdoeventsを2つ入れると確実にエラーはでないのですがひとつだけだと出たりでなかったり・・・。
おそらく上の行の処理が完了していないのにしたにいってるからだとおもわれますが・・・
こういう場合どうするのがベストなのでしょうか・・
WebBrowser1.Navigate "d:\txtOperation.html"
on error goto err
err:
doevents
c = WebBrowser1.Document.Body.outerhtml
ってな感じにしてみました、問題ないみたいですがいかがでしょうか
>501
本人がいいならいいだろう。
503 :
デフォルトの名無しさん:05/01/06 07:52:44
>>501 こらこら、適当にやっちゃいかんな。
単に時間を稼いでいるだけで、環境が変われば又エラーだよ。
WebBrowser1.NavigateComplete2イベントを使いなさい。
6.0でフリーウェア作成、配布しようと思います。
.exe単体と、インストール用を二つを公開しておけばいいでしょうかね?
その他注意点などあれば・・・
506 :
デフォルトの名無しさん:05/01/06 12:48:01
>>505 .exeだけ公開して、「ランタイムは 『ベクター』から
ダウンロードしてね。」て書けば。
>>504 Webプログラミングの基礎を勉強した後で、VBのヘルプ見れば判ると思うよ。
基礎なしじゃ回答だけ書いても出来ないと思うので、基礎を勉強して出直したほうが良いと思う。
509 :
デフォルトの名無しさん:05/01/06 13:10:24
>>505 >その他注意点などあれば
「このソフトを使うことによって、ハードディスクの中が
めちゃくちゃになっても、当方は一切感知しません。」
なんて書けば完璧かな。
510 :
デフォルトの名無しさん:05/01/06 13:13:24
>>509 「このソフトを使用していると、時々全く期待しない、
動作をする事がありますが、これはバグではありません。」
なんてのもいるんじゃない。
513 :
lnk:05/01/06 19:14:12
CommonDialog.showopenで *.lnkをクリックした時抜け出さないで、
lnk先フォルダーに移動して表示するようにするにはどうするのですか?
OSはXpですが、以前win2000の時とかはlnk先へ
切り替わっていたような気がするのですが、、。
514 :
lnk:05/01/06 20:22:28
VSのSP6入れても解決しないなー。
XPのバグかなー。
Windows\sistem32のComdlg32.dllは 2002 8/31が最新でしょうか?
515 :
lnk:05/01/06 20:37:36
解決しました。
XPのバグでした。
517 :
デフォルトの名無しさん:05/01/06 22:03:21
floating paletteってVBでできますか?
518 :
lnk:05/01/06 23:17:33
>516
サンクス。
それにしても糞マイクロソフトやろう。まともな日本語かけんのか?
機械翻訳をやめろ!!!クソッタレ。
糞やろう。糞やろう。糞やろう。
はらがたつ。
>518
ここに書いてもマイクロソフトには届きませんよ?
むしろ自分が見ているスレにこういった書き込みをされる
ことが不快です。せっかくちょっとでも時間を割いて
回答してあげたのに。
バージョン管理とかDiffとかって、みなさんどうしてます?
>>520 CVS使ってるけど差分確認する時は不便だな。
VSSはIDE上で確認できるのかな。
変更履歴に「〜を改良」とか適当な書置きが残されていて、
仕方ないから、ソースをコピペして差分を取ったりしてると、悲しくなる。
リソース部はあきらめるとして、プロシージャの部分は
直接diffを取る手段があってもいいのに、と思う。
VSSでそれができるなら買うかも。
524 :
デフォルトの名無しさん:05/01/07 10:29:19
お願いします
Function Copy_Set()
Dim strDBNAME As String
strDBNAME = "D:\日報.mdb"
DoCmd.CopyObject strDBNAME, "日報_Org", acTable, "日報"
End Function
これで実行をかけるとコンパイルエラー変数が定義されてませんとacTableのところででるのですが?
エラーの対処がわかりません。よろしくお願いします。
えーと・・・まずすれ違い。VBAはそのすれあるから。
で文字通り、acTableってのが定義されてないんじゃないの?
VBAなりの定数の場合でもその参照がされていないとか。
526 :
524:05/01/07 11:03:11
>>525サン
ごめんなさい、そうなんです。
これはもとはVBAで作られたものなんですが、これをVBに移行させようとしているのですが
うまくできなくて困っています。
>>526 そうならば、きちんと書けと。何のVBAをどうしたいって。
多分AccessVBAとして、DoCmdはVBにはないから、その部分を別に書き換えるしかないと思います。
528 :
デフォルトの名無しさん:05/01/07 11:37:34
VBでは、Cのqsort()のように、関数の引数に関数を指定するといったことは
できないのでしょうか?
使用しているのはExcel2000のVBAです。
529 :
524:05/01/07 11:40:03
>>527さん
すみませんでした。
DoCmdの部分を書き換えないといけないまではわかりましたが。。。
それをどう書き換えるかが調べているのですがわからないです。。。
すみません。。。
>>528 Excelのセルにデータ並べてソートするのがExcelVBAってモノだろ。
>>529 AccessVBAをそこまで詳しくないんで、元の処理の該当部分がどういう処理か日本語で書いてくれるとふぉろーできます。
532 :
デフォルトの名無しさん:05/01/07 13:57:22
>>530さん
すみません、頼らせてください!
Function Copy_Set()
Dim strDBNAME As String 'strDBNAMEは文字列です
strDBNAME = "D:\日報.mdb" 'Dドライブの日報.mdbがデータベースの位置
DoCmd.CopyObject strDBNAME, "日報_Org", acTable, "日報"
’DoCmdはAccessアクションの実行 CopyObjectはオブジェクのコピー
’日報テーブルを 日報_Orgという名前でコピーします
End Function
フォローよろしくお願いします。。。
>532
とりあえず参照設定に 「MicroSoft ADO Ext 2.X for DDL and Security」 を
入れてみろ。で、実行してみろ。話はそれからだ。
534 :
デフォルトの名無しさん:05/01/07 15:48:35
初歩的な質問かも知れませんが…
MDIの背景に好きな画像を表示し
処理中にそれを切り替えたいのです。
ですが、MDIフォームにはAutoRedrawやRefreshなどが無いので
画像を読込んでも、背景が変わってくれません。
(読込はされているらしく、VisibleをFalse→Trueと連続で行うと画面はちらつくが
画像はちゃんと変わる)
MDIフォームを表示したまま再描画して、背景を切り替える事って出来ないのでしょうか?
inetコントロールを使って非同期通信してます。
同時に複数の接続をしたいとおもってますが、まずinetを複数持たせないとできないとおもうのです。
いくつか方法はでてくるんですが、どうするのがシンプルかつ楽なのでしょうか。
複数のinetコントロールをデザイン時においておく リソースがもったいないし、ダサイ
コントロール配列にする 追加Loadしたり削除Unlodalしたりすると歯抜けになるので、空き場所Indexをさがすのが大変かも・・・。
コントロールコレクションを使う? コントロール配列をMSDNで調べると出てくるけどつかえるのかどうかわからん・・・
同時に複数の接続を行うアプリ作っておられる方、アドヴァイスをお願いします。
536 :
デフォルトの名無しさん:05/01/07 16:41:23
htmlファイルを作って、そのファイルをブラウザで開きたいんですが
ブラウザってパソコン毎に異なるじゃないですか。
それで、ファイルの関連付けされてるアプリケーションで開きたいんですが
どうしたらいいのでしょうか?
よろしくお願いします。 m(_ _)m
>>532 席外していて回答おそくなりました。
FileCopyステートメントをMSDNで検索
>>535 なんとなく、ソケットサーバ側はVBで作らないほうが良いような・・・・。
コントロール配列で、その配列の参照を持つ構造体の配列で管理するつくりはやるけど。
やっぱりVBではやらないほうが・・・。
>>536 ShellExecuteEX
539 :
デフォルトの名無しさん:05/01/07 17:23:47
>>535 inetコントロールって好きじゃないけど、もう出来てるんじゃしゃないか。
コントロールの配列なんて簡単、はじめのinetコントロールのindexを、
プロパティで0にしておいてLoad Inet(1)とやれば次のが出来る。
接続したらInet(1).Tag=1とでもして、切断したら.Tag=0とでもする
こうすると使っているかいないか判るから、全部使ってたら、又新しく
Load Inet(2)などとして次のを作る。まあこんな感じで。
配列なんかにせず、必要に応じてnewしてやれば良い。
せっかくクラスって物があるんだから、
541 :
528:05/01/07 20:41:33
>530
やりたいことはソートではなく、関数に関数を渡すことなのです・・・
>531
どちらの関数も自前のVB関数です。
AddressOfのヘルプおよび関連項目も見たのですが。
それらしい記述は見つけられませんでした。
やはりVBでは無理なのでしょうか?
>528=541
普通に出来るはずなのだが。
やってみて、ダメだったのか?
ダメならソース晒せば?でないとレス付かん。
>>528 偽オブジェクト指向(w っぽくやると、
--------------------
'Class1
Public Function A()
A = "hoge"
End Function
--------------------
'Class2
Public Function A()
A = "foo"
End Function
--------------------
Dim obj
Set obj = New Class1
Debug.Print obj.A()
Set obj = New Class2
Debug.Print obj.A()
>528
またかよ。「できないのでしょうか?」って聞き方やめろよ。
>>528 ExcelVBAでもImplementsは使えるんでないかな。
様々な文字コードの日本語テキストファイルを
500mセコンドで監視して、新しい50行をタスクバーからのバルーンヒントで
表示したいのです
まずは高速でファイルを監視してその内容をtextboxに表示させているのですが
一つ一つのテキストファイルは最大3MBくらいのサイズが有ります
そのおかげか、それとも更新間隔が速すぎるのかLine Inputで上手い事いきません
InputBってのを使ってみたのですが、文字の入出力がどうなっているのかよくわからず文字が化けます
バルーン表示に関してはサンプルがあったので上手い事いきそうです
http://homepage1.nifty.com/MADIA/vb/vb_bbs2/200403_04030050.html
>>538 一番有力っぽい方法です。構造体の中にいろんな情報持たせられるので。
>>539 まだアプリ自体は作りかけです。ほかにいいのがあれば教えていただけませんか?
tagは知りませんでした。使えます。これは、一度loadしたコントロールはunloadしないということですね。そのほうがよさそうですね。
>>540 非同期通信なのでinetは最低モジュールレベルでnewしないとだめですよね・・・?
実行時にモジュールレベルでnewできますか?
うーん・・・コントロールコレクションにnewしたinetクラスをaddしろということでしょうか?
>>540 思い出しました。もうひとつ心配事が・・
イベントは
Private Sub Inet_StateChanged(ByVal State As Integer)
と書けば実行されるんでしょうか?
>549=535
だからぁ、その心配事とやらを自分で試してから質問した方がいいよ。
# ソース書く前から「〜できますか?」という質問は、このスレが荒れる
# 典型的な引き金になってしまっているので。
多分だけど、親切な人はその答えを出すためにわざわざソースを書いて
試して、回答してくれるんだよ。色々と頭で悩む前に極小サンプルで試す
ほうが早い場合が多いからね。
まずは質問者のあなた自身が、ごくごく簡単なサンプルでいいから、
とりあえず書いて動かしてみることを強く推奨いたします。
で、思い通りに動かなければ、そのソースを例に出して質問した方が
レスはとっても付きやすいし、あなた自身も分かりやすいと思います。
毎度のことながら、説教スレ汚しスマソ。ゴメン、悪かったってば。
>>550 ごめんなさい。できないでしょう?という意味で質問しました。
witheventsでイベント処理を書かないとだめなはず。
そうなると、同時に複数の(しかも何個生成されるかわからない)INETコントロールのstate_changeイベントを
どう処理するのか?ということになる。
>>551 できないでしょう?だと?
お前が馬鹿なだけだろ
ほら荒れた。っていうか、喧嘩まで買いそうな雰囲気だし。
>553=551=535
どこにNewするつもりなの?クラスモジュール内?
コントロールをクラス内にNewするの?出来るならそれでもいいけど。
で?Newする際に、Indexは?AddからでもNewでもいいけどIndexは
付けるよね?イベントはそのIndexを引数に入れとけばいいんでないの?
勘違いしてたらスマソ
>>554 いや別にバカでもいいよ。やり方あるなら教えてくれれば。バカじゃない552様にね。
絶対教えないだろうけどナ
クラスにnewとかまったく考えてないですよ。
イベントにindexを引数に入れればできるのか・・・・その辺やってみますわ
>555
プログラマやめた方がいいんじゃない?
>557
え?なんで?きっとみんなそう思ってるよ?
あらら?どうした?寝ちゃった?つまんねーなw
>559
え?なんで?きっとみんな君に対して「死ねよw」って思ってるよ。
563 :
デフォルトの名無しさん:05/01/08 17:24:40
次の質問ドゾー
>563
理由は?
566 :
デフォルトの名無しさん:05/01/08 18:22:08
あの、、、、msgboxみたいなのってどうやって作るんですか?
567 :
566:05/01/08 18:23:28
ダイアログボックスを表示して、選択した値を呼び出したモジュールに返すやり方です。
>>567 クラスやDLLでそーゆーモノを作ればいいよ
関数呼び出し>ダイヤログウインドウ作成表示>
値設定変更>return値設定
みたいな。
569 :
デフォルトの名無しさん:05/01/08 19:17:12
>>535 まあ熱くならないでやろうや。
>>550 先ず質問に答えてから説教しろ、ここは説教のスレじゃないんだから。
>>552 君の利口さを示してから人を馬鹿呼ばわりしろ。
だいたい535は始めにコントロールの配列が分からないといってるだろう、
これを踏まえて答えてやれ。
クラスなんて使う必要がどこにある、VBのコントロールは殆どクラスだろう。
InetやWinSockの配列を使った複数接続の例なんて五万と有るだろう。
>>548 >これは、一度loadしたコントロールはunloadしないということですね。
>そのほうがよさそうですね。
うんにゃ、配列をおけつから辿って、使っているコントロールが出るまで、
Unloadしようね。
>>551 > そうなると、同時に複数の(しかも何個生成されるかわからない)INETコントロールの
>state_changeイベントをどう処理するのか?ということになる。
Select Case Index を使うのよ。
ごまんとあるって漢字で書くと五万とあるなんだ。
知らなかった・・・サンクス
>569
Indexがなんのことだか分かりません。不親切ですね。
572 :
デフォルトの名無しさん:05/01/08 20:31:48
>ごまんとあるって漢字で書くと五万とあるなんだ
心で読め。
> Indexがなんのことだか分かりません。不親切ですね。
判らなかったらそのままコピペでやってみたら。
>572
「Select Case Index を使うのよ。」をコピペしてみたのですが、
うーん、コンパイルエラーですかねぇ。
さっきからウソ教えてくれてるんですか?そりゃどうも。
574 :
デフォルトの名無しさん:05/01/08 20:59:03
>574
自演おちゅ
576 :
569:05/01/08 21:43:41
あれめちゃくちゃになってる。
>そうなると、同時に複数の(しかも何個生成されるかわからない)INETコントロールの
>state_changeイベントをどう処理するのか?ということになる。
これはコントロールの配列にではなく、クラスに対する質問だな。
>さっきからウソ教えてくれてるんですか?そりゃどうも。
間違いでした、クラスに対する質問はあなた教えてやって。
540さん。
577 :
569:05/01/08 21:51:16
>>540 だいたい、コントロールの配列が分からない者にクラスを
教えるならもっと親切に教えた方がいいんでは。
> 配列なんかにせず、必要に応じてnewしてやれば良い。
>せっかくクラスって物があるんだから、
まあこの程度の回答からは大して期待できないけど。
さよなら。。
相手のレベルなんて知った事か。
579 :
デフォルトの名無しさん:05/01/08 22:05:35
>>578 問題は相手のレベルでなくて、あなたのレベルなの。
なんで俺へのレスの中で540と話してんの?
意味わかんねーんだけど。
>577
あーあ、最近捨て台詞で逃げる奴多すぎるよ。
自らダメ人間であることを認めちゃって・・・
577がこの後自殺でもしなきゃいいけどなぁ。
ほら、荒れた。
で?
>>535は、Indexを使ってできた?それともまだ意味分からん?
出来たか出来なかったかの結果だけでも教えて欲しいのだが。
>>581みたいなのがさっさと誰の手も汚さずこの世を去ってくれるのが一番いいな。
>>582 聞いてどうする?荒れるだけだ。
頭を使え。
いつも思うけどVBスレって不思議な荒れ方するよね
>>585 やってるのは
いつも同じ一人 + その場で釣られた人
なので傾向がかなりにか依ります。
いつからだろ。
2年前はこんなじゃなかった。
どうでもいいよ。そんな事。
>582
全然分かりませんね、不親切すぎて。
コピペするだけでコンパイル&動作が完璧なソースを
提示してください。
↑
いつも同じ一人
>591
当然です。私が質問したんですから。何か問題でも?
>>592 性格に問題がありますね。ただそれだけです。
>593
別に性格が悪くても私の問題なので、あなた方は
回答してくれればいいんですよ。
難しく考えないでください。
590は常駐釣り師、相当ヒマ人
>595
誰が見ても分かると思いますが、何を思って指摘しているのですか?
自分だけ気付いてえらいとほめてもらいたいのですか?
えらいえらい
597 :
デフォルトの名無しさん:05/01/09 10:33:21
>>590 あほか!
おまえに教えるくらいなら、猫に教えるわ。
あしたまでの我慢だな。
599 :
デフォルトの名無しさん:05/01/09 10:43:07
600 :
デフォルトの名無しさん:05/01/09 11:32:27
590放置決定。
以後無視。
>>600 >590放置決定。
と言いながら構ってしまっていることに気づきましょう。
それともなに?お前の一声で不特定多数の人間が一致団結するとでも?
>601
うんうん。だからそれは誰が見ても分かるよね。
それで?
>602
どっちもどっちだよ。他人を批判できるレベルの人間じゃない
ことを早く自覚してくれ。ちなみに俺は違うから。
>605
英検4級楽勝だったよ。
てか、協力会社とかを雇った経験がそれなりにあれば、
資格ほど当てにならないものはないと知っているはずだが。
ただのPGかな。
OracleのGOLD持ってるのにOracle触ったことない
奴とか本気でいるからな。
まぁ、客観的指標にはなるわけだ。
取らないと取れないとでは大きな差な訳で。
取らないのは取れないいいわけと判断されても仕方がないことだ。
どうだってイイ
儲けた椰子の勝ち
>608
うちの会社ではそういう判断はしません。
むしろ>607の奴は1か月分の金払わないでつっかえしたよ。
Oracleできるっていうから採用したのによ。
>609
確かに。
611 :
デフォルトの名無しさん:05/01/09 20:50:41
MBA持ってます!
>>610 >むしろ>607の奴は1か月分の金払わないでつっかえしたよ。
犯罪ですが。
>612
んなことねーよ。むしろその協力会社の方がOracle技術者と
称してただのPGを送り込んできたんだからな。
>>610 債務不履行だから、裁判所に支払督促出されたら
即負けだよ。
あたかもお前が採用権限持ってるような書き方してるが、
実際はただの派遣社員か、引きこもり野郎だろ。
>>615 裁判所から手紙がきたら払えばいいじゃん?
Windows2000pro、VB5で作ったアプリと、クリレポ6での帳票出力を行うプログラムなんだけども
あるPCでプリンタの設定をしたネットワーク上のレポートファイルを
別のPCから同じファイルを見ると設定が変わっているという現象が起きて困っています。
サーバのプロパティからの用紙の設定も行われていて、
プリンタ自体も同じように設定されているのですが
なぜこんな現象が起きるのでしょうか?
まず、変な略語は使わない。栗レポってなんだよ。wってなるよ。
設定って何の設定を指しているんでしょうか?
プリンタの設定であれば、基本的には個々のPCのプリンタ設定が優先に思います。
レポート出力時に明示していない場合はローカル設定が優先だったような。
>615
債務の意味分かってるか?
>615
いかにも俺は採用権限ない(派遣社員ではなく、引きこもり度合いは6割くらいだ)けど
そのOracle野郎に関しては、面接の段階でOracleのことは何でも分かるくらいのことを
吹いていたため、金を一部払えないという話もすんなりまとまったよ。
法律用語はよくしらねーけど、こっちが詐欺で訴えたら勝てるんじゃねーの?
まあそれ以前に面接で見抜けないうちの会社の技術力もダメなんだけどな。
>>610 > むしろ>607の奴は1か月分の金払わないでつっかえしたよ。
>>620 > 吹いていたため、金を一部払えないという話もすんなりまとまったよ。
「払わない」と「一部払えない」では全然違うぞ。
そういうところがうまく伝えられないようでは、プログラマとして失格だな。
>621
>そういうところがうまく伝えられないようでは、プログラマとして失格だな。
他人を批判するときは、同じ論法をまず自分に向けようね。
そうするとたいていの人間を許すことができるよ。
>621
>621
>「払わない」と「一部払えない」では全然違うぞ。
なんだ、そんなとこにひっかかってたのか。
なら「払わない」じゃなくて「一部払えない」の間違いじゃないの?
とでも指摘すればいいのに。視野が狭いから他人の間違いの
フォローもできないんだな。
まあ俺が最初に表現を間違えたのは謝るけど。
>622
2ちゃんねらーにそれは無理な要求。
一般人とは明らかに違う人種だからな、俺たち
>>618 >まず、変な略語は使わない。
その調子で変な略語全てにつっこめよな。
俺今から命令口調全部やめるよ。
628 :
デフォルトの名無しさん:05/01/10 11:25:43
PGは論理的で美しいプログラムが作れればそれで充分だよ。
629 :
デフォルトの名無しさん:05/01/10 11:57:09
>628
あなたのプロジェクトではそうなのかもしれませんが、
一般化するのはやめてください。
631 :
デフォルトの名無しさん:05/01/10 13:26:59
バージョン情報にURLのリンクが書いてあって、
それをクリックすると標準ブラウザで開くような画面を良く見るけど、
あれって簡単にできるものなんでしょうか?
Windows2000のVB6sp5です。
>>619 給料は債権で、労働者が債権者、会社が債務者。
で、これを未払いにすると債務不履行。
当然、未払い期間は利息も発生する。
これでOK?
633 :
デフォルトの名無しさん:05/01/10 13:43:58
634 :
デフォルトの名無しさん:05/01/10 13:56:24
>>615 相手が先に契約を履行していないので、『債務不履行』は成立しないな。
逆に『契約不履行』で訴えることは出来るかな。
まあ最初にどんな契約をしたかにも夜蛾な。
>>633 ありがとうございます。
できればやり方等を教えていただけるとありがたいのですが。
636 :
633:05/01/10 14:21:08
>>635 Shell "explorer " + "URL", vbNormalFocus
>>633 ありがとうございます。
ただ、上記の手法ですと、標準ブラウザではなくIEで開いてしまうため
APIのShellExecuteを使用することにしました。
Call ShellExecute(0, "open", lblURL.Caption, 0, 0, SW_SHOWNORMAL)
URLにカーソルを合わせたときに、Webのリンクのようにするには
やっぱり自分で書かないとだめなんですかねぇ。
そういうコントロールがあると楽なんですけど。
いろいろありがとうございました。
638 :
633:05/01/10 15:15:30
>>637 > そういうコントロールがあると楽なんですけど。
WebBrowserにリンクが書き込んであるHTMLテキストを
読み込ませると言う手は有りますが。
>634
分かりきった話。相手しなくていいよ。
藻前らマ板でやれ
マ板って何?
643 :
634:05/01/10 15:57:17
chr(&H3e)バカはいなくなりましたか?
645 :
いけめん太郎:05/01/10 16:35:32
こんにちは、Excel2000にて、セル範囲の各値を、
10項目(セル)ずつ、スペースを一つずつ空けてテキスト形式にて
保存する方法を探しています。
1 1 1 1 1 1 1 1 1 1 **項目
2 2 2 2 2 2 2 2 2 2 ** (値)
のように、右端に項目名を書き込みし、
その下の段の右端にその項目の値を書き込みたいと思っています。
セルの値のところ 1 1 1 1 の辺りは、一行の値を書き込み、
右端に一項目ずつ、見やすく記入したいと思っています。
Cells() で指定し、Print()にてファイルに書き込むと、
大きなタブが入ってしまいます。
セル範囲の参照は、ベタ打ちでもOKです。
ご意見よろしくお願い致します。
>>646 >とりあえず、VBとExcelのVBAは別物。←なぜかテンプレに書いてないけど。
ふぅん。
VB6で、スレッドを使ったプログラムを組もうとしています。
スレッド間の通信は、グローバル変数でやろうと考えているのですが
(邪道なのは、分かりますが)
最適化機構VBでは、どうなっているのでしょうか?
例えば
i=0
do while(i<>3)
何か処理
loop
というループで、iが別スレッドで操作された場合でも、
きちんとループは抜ける事ができるのでしょうか?
>>648 それ以前にスレッドって使えるんでしたっけ?
つうかさ、VBでスレッド使うつもりなら、それぐらい自分で調べると言いたい。
それを知べられない程度ならVBでのマルチスレッドなど百害在って一理なし。
普通にCとかDelとか使ってマルチスレッド実現するか、VBならタイマーとかDoeventsで代用しとけ。
煽るの飽きたからやめるわ。
654 :
デフォルトの名無しさん:05/01/10 20:28:20
VB6ではマルチスレッドは無理。
どうしてもと言うならVB5を使え。
>654
どうして?
>654
そんな話も聞いた気もするなぁ。
だが、確実なのは、VB6なら、DoEventsで誤魔化せ。
マジマルチスレッドをやるなら.NETにしろ。以上。
>656
どうして?
>657
VB6はマルチスレッドに対応していないから。
.NETから対応したから。
>1-999
どうして?
>658
おおおお、分かりやすい。ソースは?
>>654 VB6だけで(ActiveXを使わずに)マルチスレッドを行うのは
かんーり限定されたものなら可能だけど普通は無理。
ランタイムがそれ用に書かれてないんよ。
これはやってみればすぐわかると思う。
(開発環境上とかP-Codeでならある程度可能だけどね。
あとDirectX周りを使って行う方法もある。)
663 :
654:05/01/10 21:22:25
>>654 正確に言うと、VB6のネイティブコンパイラーに山のような制約が付いて
とてもまともなコードが書けなくなった、ただし開発環境とP-コードコンパイル
ではVB5と同じことが出来そう。
漏れも知らないで開発していざEXEにしたら、起動したとたんに落ちた。
仕方ないからP-コードで使ってるけど、気持ち割りー。
667 :
デフォルトの名無しさん:05/01/10 21:41:12
>>622 何を伝えたいのか全然わからん。
もっと具体的に書いたら ?
>>624 > まあ俺が最初に表現を間違えたのは謝るけど。
> なら「払わない」じゃなくて「一部払えない」の間違いじゃないの?
> とでも指摘すればいいのに。視野が狭いから他人の間違いの
> フォローもできないんだな。
全然謝ってないじゃん。
指摘されて逆切れ ?
>668
だから、マ板逝け。最早完全にスレ&板違い。
>>663 あんたの知識間違ってますよ。
VB6で出来る出来ないは出来る。VBマガジンの昔の号にもサンプルはあった。
EXEにしてだめなのは最適化を切らなかったとか、自分のソース内でメモリー周りのバグがあったかだと思いますよ。
672 :
663:05/01/11 07:53:43
定義されていないユーザ型がコードの中にあると
Ctrl+sで保存しようとするとチェックかかって保存できないんですが
なんか設定ないですか?
保存できないことは無いと思うが。
オプションの自動構文チェックのメッセージボックスが邪魔してるの?
メッセージの後でそのまま保存できるはずだけど。
自動構文チェックはoffにしないと、とりあえず適当書きが出来ないからOffにしとけば?
>647
再度確認してみましたが自動構文のチェックは外してしますので
ほかに設定が見当たらない状態です
よくよく見ると関数宣言にチェックがかかるみたいですprivate xxxx(a as arienaikata)
この状態でctrl+sを行うとチェックのメッセージがでて保存はできない結果でした
ローカルな現象なんでしょうかなんか不安です
なんてメッセージが出るの?
ちょこっとやってみたけど再現しない。
>なんてメッセージが出るの?
コンパイルエラー
ユーザ定義型は定義されていませんです
>ちょこっとやってみたけど再現しない。
もしやと思ってこちらでも新規にプロジェクトを作成して再現させようとしましたが
再現できませんでした。申し訳ないです
問題のプロジェクトでは面白いように何回も再現できるのですが、新規のほうでは
設定を見直したり、あらゆる文法でためしてみましたが再現できませんでした
また、ちゃんと再現できるようになったらカキコさせてもらいます。
678 :
デフォルトの名無しさん:05/01/11 13:14:19
再現しないんじゃ、しゃーないな。
>677
問題の出るプロジェクトをどっかにうpしてください。
>>678-679 すみません、再現方法がわかりました
ですが、たぶん使用するコントロールとローカル環境問題になると思います
ユーザコントロールのソースを読む技量がないのでもし、興味がありましたら解析お願いします。
ttp://www.mtecb.co.jp/versionup/src/classlibrary/enterorder/enterorder.htm 上のサイトからユーザコントロールをダウンロードして、そのコントロールを貼り付けた状態で問題が起こります
ユーザコントロールの内容はテキストボックス上でEnterキーを押すとTABキーとして認識してくれるものです
[再現方法]
上記のユーザコントロールを新規プロジェクトに追加してフォームにドロップしようとする、または
ドロップして貼り付けた状態でctrl+sをすると、宣言されていない型にチェックがかかるようです。
WindowsXP VS6.0 SP5
Option Explicit
Private Type STRUCT_GA
ww As String
zz As String
End Type
Dim aa As STRUCT_GA
関数です (aa)
End Sub
Private Sub 関数です(ByRef a As STRUCT_G)
'STRUCT_GA をSTRUCT_Gで使用した
With a
.ww = "aa"
.zz = "bb"
End With
End Sub
Windows2000pro、VB6で作業中です。
どなたかメールチェッカーのサンプルソース(プロジェクト)お持ちじゃないですか?
>>681 メールチェッカーのソースそのものなら持ってるがサンプルは持ってない。
_,,_
/´o ヽ
,.ィゝ l
 ̄ヽ l
l ヽ___
/ ,,...---`ニニニ==、,,__
l / ヽ ヽ ヽ ヽ ヽ ヽ ヽ l三三三>
| iヽ ヽ ヽ ヽ ヽ ヽ ヽ/三三/''ー- 、
ヽ. ヽ、ヽ ヽ ヽ ヽ ヽ.∠三=‐''´>‐--‐'
ヽ、`'''ー‐---‐'''´_,,...--‐'''´
`''ーッ--t_,r'''´
_/._/
.フ^ー フ^
ヌルッポーヌルッポー
>>682 どうかそのソースをご開示いただけませんかm(_ _)m
あれから調べたところ
要はフォーム上でテキストボックスがフォーカスにあたっているときは、EnterキーでTABキーに変換すれば
よいのですkら、サブクラスを考えてみましたが動作具合は安定するでしょうか?
テキストボックス上でEnter→タブキーに変換する一般的なやりかたがありましたらヒント尾根がします
>684
試したことないですが、POPをSOCKコントロールで
タイマーで発動かと思いました。ソースはないです。
まあ、あれだ。
ぬるぽ
>689
このスレでは
オブジェクト変数または With ブロック変数が設定されていません。 ぽ
だと思われ。
691 :
デフォルトの名無しさん:05/01/11 23:13:35
VB6のListViewで、ListBoxのTopIndexに
あたるものは、なんですか?
>692
見当違い過ぎてコメントしようもありません。
>>693 と言うコメントを残してくれたあなたにカンターツォ。
「開いた口がふさがらない」と口をぱくぱくさせながらおっしゃるようなものです。
696 :
デフォルトの名無しさん:05/01/12 03:43:03
キーフックする方法を教えてください。
押されたキーを取得するにはどうすればいいの?
MAPIがよくわかるサイト教えてください。
目的は、OutlookExpressのメールを読み込むことです。
よろしくお願いします。m(_ _)m
>694
つまらないですよ。
>>697 サンプルに PRJMAPI.VBP という物があるが?
>>699 ありがとうございます。m(_ _)m
でも読めない・・・orz
思いっきり初心者の質問ですいません
例えばモジュール側の関数
Function drawcircle()
circles 1000, 1000,100
End Function
から、
フォーム側の関数を呼び出せませんよね
Public Function drawcircle(x, y、r )
Form1.Circle (x, y), r
End Function
これは何故ですか?又、一般的には、
Form1.circles 1000, 1000,100のように書くものなんでしょうか?
>701
プロシージャのスコープについて勉強すれ
>>687
>KeyPress
フォーム上にのっかってるコントロールごとにKeyPressするってことですか???
>>701
呼び出せるはずですよ
>>703 テキストボックスをコントロール配列にして、KeyPressイベントで
エンターキーが押されたら、SendkeyでTabを送って
バッファをクリアする。
こんなかんじ。
705 :
デフォルトの名無しさん:05/01/12 11:54:31
FormのHelpContextIdを設定することで
F1キーをクリックした際に
そのIDに応じたHELPファイルのページを表示させています。
これをフォーム上のボタンをクリックしたときにも
同じヘルプを表示することはできますか?
APIを使うのでしょうか?
>>705 すんません。自己レスです
SendKeys "{F1}"
でできました
circles は Formのメンバーだから
もし circles 1000, 1000,100 で呼び出したら 何処に円を描きますか? ということ
OutlookExpressのアドレス帳にデータベースに入っているアドレスを
自動で登録しようとしてるんですが、登録の仕方がわからない。。。
よろしくお願いします。 m(_ _)m
>>704
それはつらいです、テキストボックスの1つ1つに名前がついているので
100子くらい
ところでVBってほいっすらーでても現役だよね???
bsenmを使ってvbからメール送りたいんだが、yahooメールのサーバでいける?
>710
いけます
まじっすか?
smtpサーバ名smtp.mail.yahoo.co.jpで接続できないんですが?
すべてのAPIを使えるタイプライプラリ知りませんか
>>713 全てのAPI・・・世の中にどれだけのAPIが存在するのかと。w
何のAPIをさしてるんでしょうか?w
>>714 やっぱヴいびーっていいや♪えたーなるっぽ
inetコントロールでとあるhtmlをダウンロードしていると
StateChanged イベントのログをとってみると
コントロールは、ホスト コンピュータからの応答を受信しています。icReceivingResponse
コントロールは、ホスト コンピュータからの応答を正常に受信しました。icResponseReceived
の部分を繰り返して最後に
icResponseCompleted 12 要求処理が完了し、すべてのデータが受信されました。
となるのですがこのicReceivingResponse->icResponseReceived1回の受信っていうのは
データサイズかなにか決まっているのでしょうか?
もし決まっているのならばある程度のダウンロード状況が取得可能ということになりますが・・・。
基礎を知らずに作れるのがコンポーネントの優位性とはいえ、基礎を調べずの質問が多いよな。
メールとかHTTPの仕組みって基本的にシンプルで1日あれば基礎は十分理解できるから勉強しろといいたい。
>>720 そんなことがたがた講釈たれる前にこたえてやれやタコ
じゃあ回答、きまってる、RFC嫁。
723 :
デフォルトの名無しさん:05/01/12 17:48:33
>>720 勉強の為に聞いているんだろ、イカ。
メールとHTTPの仕組みが簡単か、スルメ。
>>723 ”プログラマとして常識的”なネットワークの知識があれば、
メールもHTTPも元質問者が欲してる回答を得るための基礎知識なんて”普通”1日だろ?
メールもHTTPも基礎は簡単ですよ。アレのどこが難しいのかと・・・。
>>724 その"簡単"な答えをここで披露してはいかが?
講釈たれるより簡単ですが?
説明するのに長い文章が必要ならここ嫁はわかるが。
___
/ \
/ ∧ ∧ \
| ・ ・ |
| )●( |
\ ー ノ ┌─────────
\____/ < とりあえず回答のテンプレートはっとくぞ
\ < └───/|────
\.\______//
\ /
∪∪ ̄∪∪ (( ((
・ぐぐれ
・RFC嫁
729 :
デフォルトの名無しさん:05/01/12 18:10:30
ここはテンプレ嫁だけで回答が終わるスレですね。
い や あ 実 に い い ス レ だ
という訳で次ドゾー
732 :
ガッガッ(゚∀゚):05/01/12 18:31:56
仕事でVB使ってる人で、.NETを使う割合が増えた人、手を挙げて!
短時間でレスが増えてるからこたえてくれたのかと思いきや・・・orz
毎回getchankしてサイズ調べりゃいいだけの話ジャン
なにが「httpの仕組み知らないんですか」だ
ここはお前のオナニースレじゃねーんだ
サイズを返さないhttpサーバでも効くの?
736 :
ガッガッ(゚∀゚):05/01/12 19:23:42
>733=708
確か、ExpressはMAPIコントロール使えないんだったよね。
なので、レジストリから触ってデータファイルを開くしかないかも。
レジストリの位置は、
HKEY_CURRENT_USER\Identities\{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}\Software\Microsoft\Outlook Express\5.0
・・・の中にあるね。途中のXXXはユーザのIDみたい。
まずこの辺から調べてみたら?
>730
誰もテンプレ嫁とは言ってないよ?
RFCを読んだ方が早いし勉強になる、と言ってるんじゃない?
例えば
>>717みたいな質問は、httpプロトコルを知らないと
何度説明してもドツボにはまっていくだけだろうし。実際何度も
そういうやり取りから荒れてきた経歴もあるスレなんだし。
先に基礎となる粗筋を読んでからVBに当てはめて分からなければ
改めて質問してもらった方が、答え易いし、質問者も理解し易い。
ってか、
>>730も、RFC自体を知らないんでない?
でないと、こんな煽りは出てこないよ。まったく。ガッガッ(゚∀゚)
>>734 getchunkでした。
>>735 落ちたデータのサイズをとるんじゃないの?落ちる前?
739 :
ガッガッ(゚∀゚):05/01/12 19:30:38
740 :
デフォルトの名無しさん:05/01/12 19:48:24
>>740 ここまでのやりとりで、まだわからない人は異常ですよ
>>736 ググって調べてるんですけど、サイトの中には
OutlookExpressがMAPI準拠って書いてるんです。
これって間違いですよね?
>743=742=708
えと、間違いではないですよ。準拠らしいです。
んでも、確かMAPIコントロールでは使えなかったような・・ちょい調べます。スマソ
ExpressとOfficeのOutlookは全く別物のはず。
MAPIを使ってのアクセスは出来ないと思う。
2年ぐらい前に結構調べたような、詳細は忘れたけど。
あと、
>>740って
>>717じゃない単なる煽りでしょ?
馬鹿は黙ってたほうがいいよ。
>743=742=708
ごめん。的確なページが見つからん。やってみた方が早い。
当方OEが無いので試せない。OEの入ったPCでVB開いて、
MAPIコントロール(MAPIMessages)を貼り付けて名前を
MAPIMessages1にして、ボタンクリックにでも、
MAPIMessages1.Show
と書いて試してみてくれ。OEのアドレス帳が開けば成功。
昔どっかで調べたんだけどなぁ・・ゴメン。 結果教えてね。
通りすがりの者だが、普通に開けた。
748 :
デフォルトの名無しさん:05/01/12 20:50:57
要するにここで質問に答えてるやつは、初心者に対して適切に
答えられねえのよな、それで答える代わりに適当にググッてここにも
書いてあるあそこにも書いて有るって、ごまかすんだよな。
だいたい
>>717の質問とGetChunkと何の関係があるんだ、もう一回
質問をよく読んでみろ、アホ。
>>750 いえ、本当にアドレス帖は開けましたよ。少なくともうちの環境では。
Outlook無し&OEのみ。
開けないとはどんな状態ですか?どんなエラー?
>>751 えーっ、まじですか!?
僕の環境は、Outlook2000+OEです。
なんか、Outlookのアドレス帳が開くんですよ。。。
次の質問どうぞ
>>749 RFCのどこを見ればわかるの?
まじでおせーてw
755 :
デフォルトの名無しさん:05/01/12 21:43:35
しつけーな。
ここの住人じゃ説明できねえって言ってるだろ。
>754
2863
>752
そりゃ、通常使うメーラーがOutLookに設定されてるからだと思う。
OutLookExpressを通常使うメーラに設定してからもう一度やってみて。
>754
httpに関するのだったら↓
HTTP/1.0 → RFC-1945
HTTP/1.1 → RFC-2616
だと思う。
>>757 >>751 開けました!
よ、よ、よ、よ、よかったです!
たぶん、残りも大丈夫ですね。
ありがとうございました。m(_ _)m
分割して送られてくる(ように見える)のはsocketの仕様なわけだし
トータルのバイト数が先に送られてくるか否かはHTTPの仕様だし
何がわからなくて騒いでるんだろうか
httpでgetを一回しただけで
icReceivingResponse 7 コントロールは、ホスト コンピュータからの応答を受信しています。
icResponseReceived 8 コントロールは、ホスト コンピュータからの応答を正常に受信しました。
を数回繰り返すのはなぜ?わたしにゃわからん。
RWINのサイズごとかな?
>758=708
おぉ、開けたんだ。良かったね。古い記憶だけで決め付けて
しまってスマソ。アドレス帳に登録もできたら報告してもらえると
ありがたいかも。
>759
そうだよね。でも、「仕様です」だとまた荒れ(ry
>760
MTUじゃないのかな?
要は、データ受信の1パケット受信ごとにイベントが発生して
いるんじゃないかと解釈してるんだけど。。どうでしょ?(^^;)
半角のダブルコーテーションを全角にしたいのですが、ちょっと不明です。
Replace(text, """", "”")
だと大文字のダブルコーテーションを囲む文字と認識してエラーが出てしまいます。
Replace(text, """", "””")だとReplace(text, """", """")になってしまいます。
どうしたら良いのでしょうか?
VB6です。
ほな""”"では?
Text1.Text = Replace(Text1, Chr(34), ChrW(8221), , , vbBinaryCompare)
>>722 決まってる?
一般に、StateChanged イベントは、GetChunk メソッドを使用してデータを取得するかどうかを判断するために使用されます。
この判断を行うには、Select Case ステートメントを使用し、接続の状態が icResponseReceived (8) または icResponseCompleted (12) かどうかを調べます。
ただし、バッファにデータを格納しない操作が完了した場合でも icResponseReceived 状態になる場合があることに注意してください。
たとえば、FTP サイトとの接続の際、リモート サイトとの "ハンドシェイク" を行うだけで、データを転送していなくても、接続の状態は icResponseReceived になります。
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
MSDN引用
おおう、早速ありがとうございます。
なんとなく、キャラクタコードを使うのかなと思ってましたが、うまくいきました。
勉強になりました。
768 :
デフォルトの名無しさん:05/01/13 07:40:01
>>761 パケット毎ないんじゃないかな。
パケットはもっと下層の操作でinetコントロールでは完全にマスクされていると思われ。
パケットごとに
『 コントロールは、ホスト コンピュータからの応答を正常に受信しました』
なんていわれても困るしな。
ファイル毎かな。Inetコントロールのそこまでの細かい仕様は不明。
770 :
768:05/01/13 10:59:10
>>769 そうだよな、おいらInetコントロール使ったことないんだよ。(^^;
Wininet.dllでやってるもんんで、適当なレスつけてワリカッタ。
やっぱチャンク毎だよな、となるとInet.GetChunkをループで
回してるはず、自分でループ回してて、何で受信、応答が
パタパタするのがわかんねーんだ。
Win2k SP4+VB6.0 SP6で開発しています
ディストリビューション ウィザードで配布用の
パッケージを作ってインストールのテストを
やったところ
ファイルの更新をするのには再起動が必要ですと
表示されたので、ファイルの更新を行い
再度セットアップexeを走らせても
同じエラーが出ます
ググってsetup.lst書き換えたり
VB6.0 SP6のランタイムを入れてもだめです
他に何か対策方法は
無いでしょうか?
テストで使用したPCのOSは
WindowsXP PRO SP1
Windows2K SP3
です。
使用しているOCXは
InputMan Pro Ver.7.0J
SPREAD Ver.6.0J
です。
>771
経験上、ディストリビューションウィザードで作ったセットアップを
実行時に再起動を促されるので、多いのは「oleaut32.dll」か何か
のバージョンが関係していたことが多かったです。
開発機・使用機×2台、それぞれの「oleaut32.dll」のバージョンを
ココに書き出してください。
あと、CABファイルの中に「oleaut32.dll」は入っていますか?
oleaut32.dllのバージョンですが
開発機 2.40.4522.0
CABファイル内 2.40.4275.1(Supportの中のoleaut32.dllより)
2K 2.40.4518.0
XP 手元にないので不明
774 :
デフォルトの名無しさん:05/01/13 18:30:58
1つのシリアルポートRS232Cを使い、外部装置に2つのデータ(パルス「1/0」 )を送るプログラムを作ろうとしております。
汎用的に使う場合、各制御線を自由に使うことができるとのことで、
Googleで検索し、ポートに関する情報を元にRS232Cの通信ソフトウェアをいじってみたのですが、
どうしてもRS232Cをパルス送信用として設定することができません。
どなたかお知恵を拝借できないでしょうか?
よろしくおねがいします。
手違いであげてしまいました。ご迷惑をおかけしてすみません。
>>774 外部装置とは?二つのデータとは?制御線のみ?
どんな設定してる?パルスの間隔はどうやってやってる?
通信ソフトウェアとは?
>773
うーん。とりあえず手元にあるwin2kは、アドミンでログインしてる?
oleaut32.dllの入れ替えにはアドミン権限が必要だと思うので。
もしアドミンでも出るなら、再起動を促すメッセージに何かもっと
詳細なことは書いてない?書いてあるなら晒してみてください。
なぜVSIを使わないんだ!
>>776 説明不足ですみません。
ステッピングモータをパソコンで制御して回そうとしております
ステッピングモータを制御するためにA,A¬,B,B¬のパルス(1/0)が必要なのですが、
NOT回路を入れることでA,Bの2つのパルスで制御できるようにできました
この二つのパルスを1つのデータとしてRS232Cで送信した場合、受信側でそのデータをAとBに振り分ける新しい電子回路を作る必要があります
RS232Cについて調べた結果、汎用として使う場合、各ピンの制御線は普通のI/Oとして使えるという情報を得たわけです
そこで、制御線のピン1のDCDやピン4のDTRを使用しパルスを送れないかと考え、
Vectorで拾えるRS232C系のソフトウェア(Ex.Nakと言えない日本人)や「Vbと製作で学ぶ初めてのパソコン応用工作」に書いてある通信ソフトウェアをいじってみたのですが、
2つの制御線からそれぞれのパルスを出すことができません
HALCONというソフトウェアも使用していますが、説明書を見てもよくわからず、現在手におえないソフトウェアです
いろいろソフトウェアにはみましたが、汎用I/Oの仕方がわからなく
お知恵を拝借しにきたわけです。
パルスの間隔は、PC側でディレイをおいて送信することで指定した一定の間隔でパルスを出すことができると考えました
必要があれば1からでも作るつもりでなので、よろしくおねがいします
>>779 制御線のパルスが出ないというのはどうやって確認をしました?
781 :
デフォルトの名無しさん:05/01/13 20:49:06
PCIのI/Oボード使った方が速そうだな。
782 :
デフォルトの名無しさん:05/01/13 20:53:16
RS-232C使うのは、予算の関係なの。
>>777サソ
権限アドミン与えられています
メッセージには詳細なことが乗っておらず
「ファイル更新には再起動が必要ですファイルを入れますか?」
の一点張りです
ちなみに
「ファイル更新には再起動が必要ですファイルを入れますか?」で
ファイル更新をしてリブートかけて
exe走らせるとmfc42.dllを入れようとした後に
「ファイル更新には再起動しが必要です再起動しますか?」が出ます
>>780 まだ一つの制御線からパルスを出すところまでいっていないのが現状です
どの関数をいじり、どのようにしたら各制御線からパルスを出せるのか模索しております
もしこの問題が解決した場合、「シリアルエンペラー」というポートからの情報をチェックするソフトウェアで
チェックしようと考えておりました
>>781-782 I/Oボードというのは考えていませんでした
金額が高いものなので、上の方に相談したところ
「買ってもいいがRS232でがんばってみろ」とのことでした
ひとまず、RS232でがんばってみようとおもいますので
またお知恵をよろしければお願いいたします
>>785 模索も何も、、、
MSCOMM貼ってOpenして信号ON/OFFするだけじゃないのん?
プロパティやMSDN見ればどれをいじればいいかわかるだろうし、
232Cの信号線の電圧とモータの仕様書の電圧が合うかやリレー入れるかや(ry
XP VB6.0
webbrowserで起動させているswfのフラッシュ側で使われてる変数を
VBの方で使う事って出来ますか?
>787
経験からだけで回答させてもらうと、工夫すればやり取りはできます。
>788さんの通り、FSCommandを使ってVB<->SWFでイベント起こして
引数で渡してあげればいいです。
でも、Webbrowserコントロールを使うのなら、もう少し面倒になって、
MSHTML.TLBのHTMLBodyを使って、Webbrowserコントロールの
イベントを認識させてあげる必要があります(WithEvent付けてね)
要するに、
Form(Webbrowser)からFSCommandでSWFへ要求コマンド送信->
SWF側で要求された変数内容をWebbrowser側へ返信->
Form(Webbrowser)で受信ウマー
・・・と、なります。もしかしたらHTML内にスクリプト埋めた方がいいかも。
あ、HTML側で必ずSWFに名前(ID)付けてね。 かなり大雑把でスマソ
790 :
デフォルトの名無しさん:05/01/13 23:20:58
すみませんバージョンを書き忘れました
VB6 SP6です。
Vectorあたりで見たことあるような気もするけど
ただローソク足書くだけなら探してる時間でLineとかで書くの組めたんじゃねーの?
>>792 レスありがとうございます。
私もVectorで見つけてこれだ!と思ったのですが
.netのみ対応だったので泣けますた。
Lineで組めるんですか。。。
私には無理でつ・・・。
>790
Excelはめこんだら?
>>790 Excelのグラフで書いたことあるよ。
そのものずばりの機能もあるけど(株価チャート)
散布図のグラフを使ってゴリゴリやったな。
大抵はLineで事足りるとおもうけど
株価のチャートは見る人によって求められるのが違ってくるんで
なんでも書けるようなやつは有料になっちゃうのかもね。
796 :
デフォルトの名無しさん:05/01/14 07:45:10
>>785 プリンターポートを使った方が楽かも。
いずれにしてもVBだけでは無理、CのDLLは必要。
ON/OFFにはフォトトライアックを使うんだな。
>771
SPREADのCDにもともと入ってる古い
バージョンのmsvcrt.dll, mfc42.dllを
キットにいれて回避したことがあるよ。
SpreadのOCXがぎりぎり動作する
もっとも古いバージョンであれば
再起動かからないのかも。
>>797サソ
キットに入れて回避するときは
system32にインスコするように設定するんですか?
それともアプリが格納されるフォルダに格納するように
設定するんですか?
799 :
デフォルトの名無しさん:05/01/14 13:39:37
MSFlexGridを使用しています。
SelectionMode = 1 '行選択
にしています。
このとき3行目を行選択状態にしたい場合
どのようにコーディングすればよいでしょうか?
>>786,796さん
ありがとうございます。
皆様から頂いた情報を元に、一つ一つ試してみます
基となるMSCommについて知識が無かったので、MSDNからの情報を見て学んできます
皆様の手を煩わせる質問をすることがないよう努力しますが、
それでもまた躓いた時には御支援頂けるようお願い申しあげます
ToolHelp32のAPIを使って動作中のプロセスを取得し、そのプロセスIDを使って
以下のようなプログラムで指定メモリアドレスの内容を書き換えようとしているのですが
WriteProcessMemoryでFalseが返ってきてしまっています。
opPID = OpenProcess(PROCESS_VM_OPERATION Or PROCESS_VM_WRITE, 0, MainPID)
bool = WriteProcessMemory(opPID, MemAdd, 1024, 4, dwWrite)
CloseHandle (opPID)
一緒に使っているReadProcessMemoryは問題なく動いているのですが、Writeの方は
どこが間違っているのかすら判っていません。
どなたかご教授お願いできませんでしょうか?
当方、Win2k上で開発しています。
>>803 第3引数の1024って何だ?
第3引数は書き込むデータが格納されたバッファへのポインタだと思うが。
WindowsXPです。
Visual Basic6をインストールしようとすると
D:acmboot.exe 起動時のエラーです
と表示されてインストールできません。。。
もしやウイルスに冒されてるんでしょうか?・゚・( ノД`)・゚・
acmboot.exeというファイルがあるので直接起動
してください。
807 :
デフォルトの名無しさん:05/01/18 11:06:29
Private Sub Mandoxe()
On Error GoTo Err_section
Routine:
/*/*/本処理/*/*/
Err_section:
If Err = -2147467259 Then
/*/*/ちょろっと処理/*/*/
GoTo Routine
End If
End Sub
上のような感じでエラー発生したらあるエラーのときだけちょろっと処理してやり直させたいんですけど、
2回目のエラーでシステムからエラーダイアログが出てしまうんですが、On Error GoTo って1走行で2回は発動しないんですか?
>>807 On Error ステートメントのヘルプを熟読して下さい
あ、自己解決しますた。
Resumeなんていうのがあったんだ・・・。
>>808愚問勘弁です。
Type guha
foo as long
bar as long
zzz as string
End Type
Dim ct as guha
guha.foo = 0
構造体を初期化したいのだがいいこいっこやるのはまんどくさい
Memsetのような関数きぼんぬ
第8カラムから変数の宣言すんのやめてほすぃ
プロジェクトごとにデータディビジョン風な外部変数大量に宣言すんのやてめほすぃ
インデントを3、7、12の単位でとるのやめてほすぃ
うわぁぁ処理ごとにラベルがついているぞ
GOTOの嵐だ、だ、だ
変数全ぶおおもじだぁぁ
アドバイスありがとうございました。
で、関連のページをいろいろ見ててのShockwaveflashを使うらしいので
コンポーネントでこれを追加してフォーム上に配置しようとすると
すぐにwindowsのエラーが出て強制終了されるんですが...
何か環境がないとShockwaveflashをVB上で使えないのでしょうか?
815 :
デフォルトの名無しさん:05/01/18 16:07:44
質問です。
Winsockを使ってサーバーと通信するプログラムを作っています。
PCに複数のネットワークカードがある場合、どちらかを指定して
通信することはできるでしょうか?ルーティングテーブルが関係
していそうだということまではわかったのですが。。。
>>815 IPアドレスを指定した時点で選択してるでしょうか。
それが理解できてないなら、2枚差なんてしてはいけません。w
TCP/IPの基礎から勉強すること。
かくいう私もサッパリ分かっていないのですが。w
818 :
デフォルトの名無しさん:05/01/18 18:20:26
質問です。初心者です。
RetVal& = GetUserName(str, Len(str))
の、RetVal&ってどういう意味があるんですか?
サンプルをコピったんですが、戻り値だと思い、RetVal& =っての消し
たら実行エラーがでます。。
あと、RetVal& =を、Callとすると実行エラーなくなります。
このなぞを教えてください。
820 :
デフォルトの名無しさん:05/01/18 18:44:39
すみません。
ヘルプみたら分かりました、お騒がせしました。
戻り値を使わない場合は()つかっちゃだめなんですね。
821 :
818:05/01/18 18:45:53
820は818です。
WebBrowserコントロールをフォームに貼り付けて
.navigateメソッドでホームページを表示しようとしても
「ページを表示できません」になってしまいます(T▽T)
何が原因か教えてください。
お願いします。m(_ _)m
>>822 指定しているURLは、IEでは開けるURLですか?
開けますよ。。。
>>823 普通、IEで開いてるのをそのままコピーして
navigateすれば開きますよね?
そこで、navigate2 ですよ。
あーっ!失敗してる・・・
教えてください。 m(_ _)m
>>833 普通、こんなんでエラーでませんよね。。(T▽T:)
>>834 そのまま貼り付けたら動いたよ。てことで解決でいいね。
837 :
デフォルトの名無しさん:05/01/18 20:19:08
>>816 言葉が足りませんでした。ローカルのPCにネットワークカードが2枚ある場合、
そのどちらかを指定してConnectすることはできるでしょうか?
具体的には、無線LAN(192.168.0.4)と有線LAN(192.168.1.5)がローカルにあり、
有線LANがサーバーにつながっています。単純にConnectすると無線LANの
方を使用してしまいます。
>>817 てめー、かってに名乗るんじゃねーよ。
この板ID導入したほうがいいよな。
>>839 わるいわるい。でも内容は合ってるでしょ。
>>840 何が?
>>815の回答は816に1行目でかいてるじゃん。
理解できなかった?
最近阿呆な質問しておいて、茶化す馬鹿が多いからね。
>>841 ちっがうよー。なんでお前がキレるんだよー。
>841
そうじゃねぇだろ。よく読めよ。誰もお前には
からんでないぞ。
844 :
デフォルトの名無しさん:05/01/18 23:06:45
すみませんが誰か教えて下さい。
フォームにコマンドボタンを3つコントロール配列にして配置しました。
オブジェクト名はcmdEtcです。
このコントロール配列をプロシージャの引数として渡したくて
次のようなコードを書いたのですが、「型が一致しない」というエラーがでました。
sub form_load( )
call caption_set( cmdEtc )
end sub
sub caption_set( ByRef cmdEtc( ) As CommandButton )
Dim i As Long
For i = 0 To 2
cmdEtc(i).caption = Cstr(i)
Next i
End Sub
質問1:コントロール配列は、プロシージャの引数として指定できないのでしょうか?
質問2:もし引数に指定可能ならば、どのようにすれば良いのでしょうか?
どなたか教えて頂けないでしょうか?
845 :
デフォルトの名無しさん:05/01/18 23:15:25
>844
配列の添字(index)を渡せば?
846 :
デフォルトの名無しさん:05/01/18 23:17:46
>>845 配列の添え字(index)を指定して、どれかを特定するのではなく
ボタンのコントロール配列全体を渡したいんです。
どうかよろしくお願いします。
847 :
デフォルトの名無しさん:05/01/18 23:37:03
これだからVBは
ステキよね♪
cmdEtc As Control で
>>852 何をどうしたらいい・・・って、その質問の仕方だと叩かれちゃうよ。
今の状態だと、回答が得られてもそれを理解するのに苦労しそうだし、
もう少し具体的な質問が出来るようになるまで、
参考書を買うなりして基本的なことから勉強したらどうかな。
855 :
デフォルトの名無しさん:05/01/19 15:38:42
VB6.0をwinXPで使ってます
A÷B^2 という計算をさせたいのですが、
どうやって計算させればいいでしょうか?
B^2 だけなら B*BでOKですが、前に割り算があるので
A÷B*Bじゃダメですし、かといって
A÷(B*B) だと計算されませんでした
A÷B^2 でも無理でした
一旦、B*Bをやっておいてから
計算結果をCに入れて A÷Cって方法もあるでしょうけど、
手間が増えて重くなるか心配です
もっとスマートに計算する方法は無いでしょうか?
856 :
デフォルトの名無しさん:05/01/19 15:41:23
>855
全角文字使うな危険
857 :
855:05/01/19 15:45:14
>>856 (,,゚∀゚)エッ・・・
あっ
ソース内では半角で書いてますです
誤解するような書き込みスマソ
858 :
デフォルトの名無しさん:05/01/19 15:48:33
割り算の記号は/
859 :
855:05/01/19 15:50:36
補足;
(Text1.Text)がA
(Text2.Text)がB
picture1に表示したいんです
A÷B^2がしたいのですが、無理だったので
現在はA÷Bの状態
この状態でA÷Bに不具合は無いようです
Private Sub Command1_Click()
Picture1.Print Format((Val(Text1.Text) / Val(Text2.Text)), "###")
End Sub
860 :
デフォルトの名無しさん:05/01/19 15:56:05
Valの返値が0かもしれん。要チェック
とりあえず、各命令を分解することだろ?
言語の問題じゃなく、問題に対するアプローチというか・・・の問題。
文字列数値変換が上手くいってるのか?
割り算がOKか?
数値文字列変換はOKか?
文字列の画像表示はOK?
その4つを1行にしたままで、あんたは問題解決できるほど偉いんかと・・・。
862 :
855:05/01/19 16:08:17
(;´Д⊂ヽ
textには数字しか入らないようにしてあります
今の状態(
>>859)でA、Bに数字を入れてコマンドボタンをクリックすると
ちゃんと割り算の答えがpictureに出てくるのでVal関数で数値化されてると思われます
参考テキストに足し算の方法があったので
その通りに打ってちゃんと足し算されてることを確認してから、+を/にしただけです
割り算もちゃんとされてます
863 :
デフォルトの名無しさん:05/01/19 16:15:40
>862
カッコがたくさんあると見づらい。b*bをどこかに代入しろ
>>861 プログラムの話をしているのに、偉い・偉くないなんて
言葉を使ったのは喧嘩を売ってるから。
精神年齢が小学生並なんです。許してください。
>>863 やっぱりここは素直にCに代入すべきですか
インタープリタ型なので遅くなるかと思ってましたが
気にするほどではないですよね
ありがとございました
本物の861だが。B*Bはオーバーフローしないのは確認済みか?
この場合、変換後の型がVB任せで不明確なVAL関数ではなく、
CLngなりCDblを使うべきだと思うが。
それから。864は死ね。
ヽ(`Д´)ノ ウワァァァン
ゴッゴメンナサーイ(;´Д⊂ヽ
>>866 オーバーフローって
3 コンピューターで、四則演算の結果が、レジスターなどで取り扱う範囲の桁(けた)を超えること。桁あふれ。
ってことですよね
心配になって割り算結果が複数桁になるようにやったら無理だったので
format関数の表示書式指定文字列を弄ったりしたりしました
あと、Bに入れる数字が百で割るべきだったのに割らずに入力してるというミスも発覚です
もうどうしようもないミスで迷惑かけてスマソです
ごめんなさい
ありがとうございました
氏ね
>>868 861と866は私です、他はしらん。
オーバーフローはそれであってます。
VAL関数をヘルプで見てもらえば判りますが、任意の型への変換となっています。
この場合、BがIntegerになった場合、Integer同士の掛け算になるんですが、
その結果がIntegerの範囲を超えるとVBではオーバーフローだったような・・・。(うろ覚えです)
とりあえず、速度のことは考えずに分解してやるべきだと思います。
その上で速度を上げる為に少しずつ端折っていくのが手順ってものでしょ。
>>871 ありがとうございました
そうですね
BASICで打ってたときは一個一個やって
あとから理解にあわせて組み合わせたり端折ったりしてました
VBでいきなり端折って速度気にして焦って意味不明な状況になったので
初心に帰って一個一個確実に処理させてみます
お世話になりましたです
たいした回答もできないのでもう書き込むのやめます。
すいませんでした。
874 :
822:05/01/19 20:07:13
(´・ω・`)
VB5です。
クリップボードの文字列をGoogleで検索するようにしたいんだけど、
そこらのソース貼ってもUTF8に変換されない。。
何で仕様が変わったんだよ>Google
>>875 ここはあなたの独り言を投稿するところではありません。
WebBrowser1.Navigate "ht" + "tp://www.google.co.jp"
Do
DoEvents
Loop While WebBrowser1.Busy
With WebBrowser1.Document.forms("f")
.item("q").value = "ここはチラシの裏"
.submit
End With
880 :
デフォルトの名無しさん:05/01/20 01:36:34
アプリの偽ロード画面を作るためHDDを少々カリカリ言わせたり
HDDのアクセスランプを点滅させたりしたいのですが
どういう風にすればよいでしょうか?APIがあったら教えてください
>>880 ワロタw。モテモテになるAPIとかあったら教えてくださいw
ジョークソフトとかは技術とセンスの両方がそろってから作れ。
883 :
822:05/01/20 12:39:45
(´・ω・`)
884 :
デフォルトの名無しさん:05/01/20 13:31:37
VB5で作ったPJはVB5がインストールされているパソコンで開発して
VB6で作ったPJはVB6がインストールされているパソコンに席を移って開発している状態なんですけど
VB5とVB6の両方を同じパソコンにインストールできるのでしょうか?
また、別アプリとしてインストールできたとしてもランタイムに不具合が起こらないか心配です
神様、愚問ですが教えてください
885 :
デフォルトの名無しさん:05/01/20 13:39:07
>>880 FindFirstFileなんかで無いファイルを探させるとか。
886 :
デフォルトの名無しさん:05/01/20 13:43:12
>>884 ハードディスクをリムバブルにして開発環境によって入れ替えろ。
又はOSをデゥアルブートにして切り替える。
HDDを差し替えるにしてもOSライセンスは2ついるんで注意。
888 :
デフォルトの名無しさん:05/01/20 14:18:27
>>887 え!そうなの?
コンピューターが1台、使う人も一人ならいいんじゃない。
>822
まだ出来ないのか?
「ルータを使ってる」としか藻前が環境を晒さないので、
これ以上は、アドバイスしようがないと思う。
通常のブラウザはIEか?違うならコントロールの方で
最低限のプロクシ設定などをしなければならないのでは?
どーしても原因をハッキリさせたければ、そのPC自体で
IISでも、Apacheでもいいから動かして、VBからのURLを
localhostとか、127.0.0.1とかにしてみろ。
それで見れれば、デフォルトゲートウェイとか、プロクシの
設定が原因だ。やれ。とにかく色々試してみれ。
890 :
822:05/01/20 16:05:54
>>889 じつは・・・、パーソナルファイアウォールに邪魔されてました(T▽T)
マカフィーの野郎・・・。
本当にお世話になりましたです。
ありがとう!m(_ _)m
891 :
VB6@Win2k:05/01/20 19:25:25
VB6でシステム全体のCPU使用率を最低0.1秒間隔で拾う方法は無いでしょうか。
ググッてもVB.NET用とWin9x用の例しか見つからなんだとです…
複数のパソコンがほぼ使用する人数と同じ数ですので、かわりばんこに使用するっていう
状況で、あまっているHDDとかなくって貧乏なんです
>>892 ライセンスに関してはMicrosoftに直接聞け。ウザいからここで聞くな。
894 :
デフォルトの名無しさん:05/01/20 22:07:30
>>884 VB5で作ったプログラムは全てVB6でアップグレードしてしまえ。
貧しかったら、バイトで学生使って、アカデミアパックで開発させろ。
895 :
デフォルトの名無しさん:05/01/20 23:50:14
VB6で○×ゲームを作れって言う課題を出されたのですが、コンピューターと対戦する方がまったくできないです。
人間同士の対戦の方はなんとか作れましたが。
基本的にどういう処理をさせたらいいのでしょうか?
caseごとにわけてやればいいのでしょうか?
>>895 いわゆる Tic Tac Toe や三目並べですな。
C言語でのソースならいくらでも転がってるから、VBに移植なさい。
897 :
デフォルトの名無しさん:05/01/21 00:18:36
>>896 VBで調べてもなかったものですから。。。
Cですか?探してみます。ありがとうございました。
898 :
デフォルトの名無しさん:05/01/21 09:44:05
>891
QueryPerformanceCounter API
つかCPU側の思考アルゴリズムを考える事がこの課題の肝なんじゃねーかと
思ったんだけど黙ってた方がよい?
そうだね。アホ学生さんには言わない方がいいよ。
分かってて質問してるみたいだし。また荒れちゃうよ。
でも、宿題内容から学校は絞れるよね。
必死だな
オレがだけど
おれ漏れも
じゃ俺も
VB6でLineToを使って折れ線グラフを描くプログラムを作ってます。
Pictureの上ではなく、Formに直接グラフを描いてます。
ずっと何も問題はなかったのですが、ある時から折れ線が表示されなくなりました。
ただ、折れ線が描かれている部分を、他のウィンドウの後ろに一度隠して、
また見ると、描画されています。
折れ線が表示されていた時点のソースに戻すと、問題なく折れ線が表示されるので、
どの行を追加した時点で表示されなくなるか試したのですが、
どうやら特定の行ではなく、ある一定以上の量のソースを書くと
表示されなくなるようなのです。何かあるメモリの量を超えると起こるような…?
この状態を解決する方法、例えば描き終わったらDoEventsのような命令を入れるとか、
何かご存じの方がいましたらアドバイスをお願いします。
>>906 書き終わったらRefreshかけたら?
Refreshというメソッドがあるんですね(汗)。
会社のDBに繋げないとグラフを描くところまでいかないので、
今は試せませんが、これで上手くいきそうな感じがします。
ありがとうございました。
うぅー、業務でVBプログラム書くにはVB知らなすぎ…。
909 :
822:05/01/22 13:01:30
MAPIでOutlookExpressのメールを読むところまではうまくいったんです。
ですが、送信日が取得できません。。。orz
教えてください。
お願いします。m(_ _)m
>909=822
MAPIは 『受信日時』は取得できても、『送信日時』は得られません。
いや、マジです。独自でヘッダを分解するしか無いと思う。
911 :
822:05/01/22 15:19:43
>>910 いつもありがとうございます。m(_ _)m
つらい・・・(T▽T;)
912 :
822:05/01/22 18:08:33
>>910 すいません。
ヘッダってどうやってみるんですか?
913 :
デフォルトの名無しさん:05/01/23 20:27:00
あげぱん
VB6のフォームデザイナで使われているWidthとかHeightの
単位って何なのでしょうか。
すいません。自己解決しました。
しょぼい質問ですが・・・
文字列に " や タブ(\t)を入れる場合はどうするのでしょうか?
"\t\"あああ\""
という感じにしてもできませんでした
vb2005なのですが、質問スレも無いし多分勝手が一緒だと思うので
質問させてください
ユーザーコントロールに、窓の上にあるやつ(なんて言うんでしょうか…
左端にアイコンとタイトル、右端に最小化最大化終了が付いてるアレ)
は付けれるんでしょうか?
>>916 二重引用符は""""
タブはvbTab
919>>解決しました、ありがとう_(._.)_
921 :
822(909):05/01/24 11:58:41
ググってみてもわからないっす・・・orz
やっぱり、Outlookを使うしかないのか。。。
たしか、昔もいろいろ試行錯誤したあげく
OutlookExpress→Outlookにメールを移行したあとに
MDBにもってきたような気がします。
>921=909=822
むかし泥沼ループにはまったので関わりたくないのですが :p
OEのメールデータファイル(DBX)を自前でOpenして中から
取り出すしかないでしょう。
DBXファイルのフォーマットは、
ttp://www.wotsit.org/ で、キーワードに DBX と入れれば出てきますのでDLして
読んでください。各項目のアドレスまで書いてあります。
多分、あんまりレスが付かないと思うので、あとは自力でガンガレ
923 :
デフォルトの名無しさん:05/01/24 17:03:36
デザインライセンスについて教えてください
はじめ、あるパソコンにVBランタイムとプログラムがあって動いていましたが
そのパソコンでPGの修正をする必要がでてきて、VB5.0をインストールしたところ
基本的なコントロール(ボタンやテキストボックス)はツールボックスからフォームに貼り付け
できましたが、追加したSSTABコントロールやツリービューコントロールはデザインのライセンス
がありませんでした。さらの状態でパソコンにインストールするとデザインができないという
問題はないと思うのですがなにがいけないのでしょうか?
開発環境=NT4.0、VB5.0です
924 :
923:05/01/24 17:55:50
comctl.ocxやTabctl.ocxはVB5.0をアンインストールしてものこのっていましたので
手動でregsvr32で2つのコンポーネントを削除、登録しなおしてみたのですが効果は
ありませんでした。逆に動作が不安定になるばかり、あわててもとに戻せましたが
手動でコンポーネントをあれこれするのは怖いですね
頭ではVB5.0の開発環境をインストールしてしまえばランタイム?なるものは
上書きされてデザインもできると考えたのですがどうも勝手が違うようです
やさしい人教えてください
925 :
822(909):05/01/24 19:08:52
926 :
822(909):05/01/24 19:10:31
>>922 ありがとうございました。m(_ _)m
うーん、MAPIでは無理なんですね(とほほ・・・
他のメーラーにも使えると思ったんですが。。。
927 :
822(909):05/01/24 19:34:36
929 :
デフォルトの名無しさん:05/01/24 22:35:14
コントローラーの値の受け取り方を教えてください
↑わけわからん。
Mr.マッスルの「イマスグココキテホシイ」に匹敵する不可解さ。
どんなカタワが書いてるんだが。
Str関数を使うと何故か前にスペースが入ってしまいます
str(50) で " 50" ということなんですが
どうすればスペースを消せますか?
>>932 +50の+がスペースになっているからだ
Trimでも使えばいい
>932
Str関数の戻り値(文字列)の左に出る半角空白は、
「+」の意味だったと思う。不要ならLtrimすれば?
っていうか、普通にMSDNとかにも書いてあるよ。
ヘルプを読むクセをつけると作業効率も上がるし。オススメ
ありがとうございます
MSDNも読むんですが、なかなか見つからないし、よく分からないし・・・
へぼですいませんorz
936 :
デフォルトの名無しさん:05/01/25 00:52:29
一番目のラベルにAAAという名前をつけ、
コピーするとAAA(2)、AAA(3)、AAA(4)と名前がつきます。
このAAA(1)〜(4)に値をいれたあと、同時にクリアする方法がないでしょうか?
(AAA=””といれたら、(1)〜(4)が全部クリアされる感じのものです。)
for i = 1 to 4
AAA(i) = ""
next i
以下サンプル↓
Private Sub SetAAA(Str as String)
Dim I as Long
For I=1 To 4
AAA(I).Caption = Str
Next I
End Sub
で、
SetAAA ""
と書けば良い。Nullじゃなくても使えるし。
多分動くと思うよ。参考までに。
940 :
デフォルトの名無しさん:05/01/25 01:13:43
う〜ん、やっぱりForでまわすしかないですか…
ありがとうございました。がんばってつくります。
>コントローラーの値の受け取り方を教えてください
これで分かる方が神だと思うが。
あ、釣りか。
VB6.0で
他アプリケーションのリッチテキストボックスの中の文章を取得する事はできますか?
又、できるとしたらどのようにすれば取得できますか?
>>944 他アプリケーション側が中の文章を提供する機能(アプリケーション間通信)を
もっていないと無理。
おいおい
>>945 即レスありがとうございます。
対象となるアプリケーションにアプリケーション間通信は無いと思いますが、
定期的に内容を保存する機能がついているのでそれを定期的に読みだそうと思います。
APIのReadFileを利用してそのテキストを読もうと思いましたが、
ロックされたファイルはうまく読み込んでくれません。
ReadFileはそういう仕様なんでしょうか、それとも自分のやり方が悪いのでしょうか。
>>946 ?
SendMessage(Handle,WM_GETTEXT ・・・では取れなかったっけ?
ファイルコピッてから開けばイイ
>>948 調べてみました。
この方法で実装できそうです、ありがとうございました。
SendMessage(Handle,WM_GETTEXT…
でリッチテキストを読み込もうとしてもエラーが発生します。
やはりリッチテキストは無理なのでしょうか…?
何というエラーメッセージが出てるのかを書こうという気はないのですかな?
エラーメッセージは発生しません。
メモ帳やTextBoxではちゃんと取得できた文字がNullStringになりました。
954 :
>>29:05/01/25 22:19:26
ゲームパッドのボタンが押されたらイベントが起きるようにできないのでしょうか?
と言いたかったんですけど・・・
わかりにくくてすみません
本当に厨坊なんで・・・
スルーしていただいても結構です
>>954 わからにくすぎw
joyGet〜系のAPIでポーリングするか、
DirectInput使いな。