VB初心者質問スレ Part8 (・∀・)
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNGPart 1 http://piza.2ch.net/tech/kako/968/968328471.html
Part 2 http://piza.2ch.net/tech/kako/990/990793224.html
Part 3 http://piza2.2ch.net/tech/kako/1000/10005/1000523122.html
Part 4 http://pc.2ch.net/tech/kako/1006/10069/1006922992.html
Part 5 http://pc.2ch.net/test/read.cgi/tech/1010624646/
Part 6 http://pc.2ch.net/test/read.cgi/tech/1013844542/
Part 7 http://pc.2ch.net/test/read.cgi/tech/1015836357/
Win32 API関連スレ
http://pc.2ch.net/test/read.cgi/tech/1017072275/
心得
壱.質問する前に過去ログにも目を通してみる。
弐.質問する前に MSDN などで調てみる。
参.VBScript もこのスレでOK。
四.インストーラーなどの質問もOK。
0153いちいちレスする男
NGNG0154Delフサギコ ◆zE1iiRdQ
NGNG∧,,∧ / ̄
@,,,ミ,,゚Д゚彡 < 動的にImage1かPicture1を生成して
⊂,,,,,,,,,つつ. \描いてファイルに書いて
破棄しちゃったりしたらよさそうなんだけど…
具体的なコードがかけないの…シクシク
0155127
NGNG改良しました。
デフォルトでコマンドボタンのCaptionは"停止中"、タイマーのIntervalは"500"、
Enabled="True"です。テキストボックスに「時時:分分」で時間を入れると、
停止にするまで5分間なり続けます。これ以上コードが長くなるとウザイですね。
すいません・・・。
Private Sub Command1_Click()
With Command1
If .Caption = "動作中" Then
.Caption = "停止中"
Else
.Caption = "動作中"
End If
End With
End Sub
Private Sub Timer1_Timer()
If Text1.Text <= DateAdd("n", 5, Format(Now, "hh:nn")) And _
Command1.Caption = "動作中" Then Beep
End Sub
0156デフォルトの名無しさん
NGNGデバイスコンテキストじゃん?
0157デフォルトの名無しさん
NGNGVBの範疇でやるには、PictureBoxをVisible=False、AutoRedraw=Trueで
生成して、それにLineとかで書き込み、SavePicture Picture1.Image,"hoge.bmp"
でファイルに保存すればok。
0158Delフサギコ ◆zE1iiRdQ
NGNGミ,,゚Д゚ミ < デバコンテ感じ。
ミ ミ \__
〜ミ,UU_ミ
http://www.aqube.pos.to/fly/vb/graphic2.html
ここ見て勉強中っす。
どやたら、これをメモリ上だけでファイル書き込みなどが出来ますの?
隠れたFormとかは使えないの…(使えるかもしれませんが…)
単なるActiveXDLLのメソッドとして画像ファイル生成処理を
ageなければならんもんでして…
0159デフォルトの名無しさん
NGNGCreateCompatibleDC
CreateCompatibleBitmap
SelectObject
GetDIBits
SetDIBits
BitBlt
DeleteObject
DeleteDC
とか使えばできるのでは?
0160Delフサギコ ◆zE1iiRdQ
NGNGミ;゚Д゚彡 < PictureBoxの生成コードがわからんでし…
,;゙ ミ \_____________
ミ. ミ ゴメンナサイゴメンナサイ
/゛゛゛゛
PictureBoxはFormに貼り付けないでも生成できますか?
ActiveXDLLで、ASPのVBSからコールしたいのです。
だから、普通のFormに依存することが出来なさそうな雰囲気。
(いや、実はよくわかりませんです)
0162デフォルトの名無しさん
NGNG0163デフォルトの名無しさん
NGNGForm必要だね。
Formが作れないなら、VBの範疇じゃ無理なので>>159に出てきてるAPI使って
やるしかない。API使えばできるよ。
0164_
NGNGVB6でWINDOWSに貼り付け、を実行させるにはどうすりゃいい?
つまり今Text1にフォーカスがあったら、そこにクリップボードの内容を貼り付けるっていう。
「SendKeys "^V"」とかやればできるか?
調べるの下手なもんで・・・誰か検索テク教えれw
0165デフォルトの名無しさん
NGNGMSDNライブラリをクリップボードで調べれ。
0166デフォルトの名無しさん
NGNGそれ、めちゃめちゃ簡単にできるぞ・・・・
0167デフォルトの名無しさん
NGNGむ、改良版はなんだか目覚ましと言うよりカップラーメンタイマーに近づいてるな。(笑)
目覚ましをつくるには指定の時間になると自動的にパソコンのボリュームをあげる機能も必須だがこの機能の実装もAPIでできるからお願いね。
0168デフォルトの名無しさん
NGNG初期設定ではプロポーショナルになってるけど、等幅の方が何かと便利な気がするのですが。
0169デフォルトの名無しさん
NGNG0170デフォルトの名無しさん
NGNG限りなく成功に近いプロジェクトには、そんなもん使わないでも、
それ以上に意味のある仕様書が存在しる。
それ系のツールで仕様書出すプロジェクトほどヘタってるって感
じするよ(w
で、使うときに限ってコーティングがタコで、ロクな仕様書吐い
てくんない(w仕様書出力のためのコーティング修正が始まる
始末・・・・(w
で、仕様書出力のためのコーティング修正時に致命的なバグが・・・(以下略
0171_
NGNGそこまで冷笑されながらわからなかったYo!
何だ!?何なんだ!?GetTextか?
いや、、、もしかしたら俺がやってることが特別なのかもしれん。
どういう事かっていうとだな、俺は今hotmailの垢取りツールを作ってんのよ。
もちろん練習兼ねてだけどな。
んで楽するためにWebBrowserコントロールを使ってる。
そんでWebBrowserの表示URLをhotmail登録のURLにするだろ。
これでWebBrowserコントロール内に登録フォームが表示されてる状態。
SendKeys "{TAB}"で最初の入力欄にフォーカスが行って、
そこであらかじめTextBoxからクリップボードに入れたテキストを
SendKeys "^V"とやって入力欄に貼り付けようとする。
失敗する。
0172_
NGNG0173デフォルトの名無しさん
NGNG仕様書作成ツールってさ。プログラム解析ツールと改名するべきだよな。
もしくは、仕様書捏造ツール。実際の用途はそのように使われているだろ。
仕様書ってなんだよ?
プログラムを作成するための仕様書を作成するためのプログラムを作成するための仕様書を作成するための・・・
0174_
NGNG・WebBrowserコントロール「自体」にSendKeyしてしまって、
入力フォームにキー入力されたことになってない?
って事だけ。
0175168
NGNGテキストボックスに決まった文字数の半角(or 全角)文字のみ入力させるような場合には
等幅にしておくと、Widthをギリギリに設定することが出来る、とかそんな感じですかね。
ラベルの文字とかはプロポーショナルの方が見た目がいいのかな?よくわかんないです。
0176デフォルトの名無しさん
NGNG(VBの)アプリで重い軽いってありますよね
あれって、どのようにしたら、重い軽い、ってなるのでしょうか?
軽いはおいといて
重いほうは、やたらLOOPしたり、&多用、重いファイル読み込んだりしたら重くなるけど
たとえばList20とかCommand40とか、コントロールをやたら増やしたら
重くなるのでしょうか?
お願いします
0177デフォルトの名無しさん
NGNG使い場所によって、等幅の方が利点があると考えたなら等幅をつかい、
プロポーショナルの方が利点があると考えたなら等幅をつかえばよい。
どっちでもいいなら、デフォルトで見た目がよいプロポーショナルを推奨する。
0178名無しさん@そうだ選挙にいこう
NGNGSendKeys "{TAB}",True
SendKeys "^(v)",True
でもダメ?
なんかvは小文字じゃなきゃダメだった記憶(経験)が・・・
0179_
NGNGサンクス178!何故かわからんけどそっちをコピペしたら出来た・・・!
感謝すぃます!
0180デフォルトの名無しさん
NGNG>>95
基本的な方法としては各ボタンにTBSTYLE_AUTOSIZE スタイルをセットしるだけ。
すると文字の幅に合わせてボタンの大きさが変わる。
よって、フラットスタイルにしてクリックしたときの処理を上手くまとめればOK。PopupMenuとか使って。
ただ、漏れにはボタンにスタイルをセットする方法がわからない。いろいろ試したんだけど、どうもうまくいかない。
どうすればいいんだ ヽ(`Д´)ノ ウワァァン
たれか教えてください。Delphiだと簡単なんだけどなぁ。
もしかして簡単だったりして。わるれてるだけかな?
0181デフォルトの名無しさん
NGNGあ、一応ツールバーコントロールをクールバーに載せるって事で。わるれてました。
0182デフォルトの名無しさん
NGNG元のデータはどこにあるんだ?
デバイスコンテキスト?自分のメモリ?PictureBox?
それによって処理が変わるぞ。
018395
NGNGIEの一番上のだよ TEXTだけのやつだよ
VBのツールバーエディタはバカでイメージがなくても、その分の余白つくって
しまう。結局ダミーの1x1のイメージでごまかす こんなの正当じゃないよ
それは 別として
まとれす 最近来ないねw (´∀` )
0184デフォルトの名無しさん
NGNGDelphiだとどーやるの?
0185デフォルトの名無しさん
NGNGツールバーでメニューを作るんだよ、頼ってばっかのバカちん!
0186デフォルトの名無しさん
NGNGんー。名前はどうかね。
しかし、仕様書生成ツールなんて、はっきり言って不要よ。
ツールでちゃんとした仕様書が出力されるように糞なコーティング
ルール作って強制するなら、んなもん使わんでも済むように設計時
にしっかりした仕様書作成するほうが絶対にイイ(・∀・)
まぁ、納品ドキュメントの「格好」として利用する場合もあるかも
しれんが、「格好」だけなんだから、製品を購入する必要はなし。
フリーも多数あるんだから、それで十分でしょ。
0187デフォルトの名無しさん
NGNGだからVBのじゃできないっていってんじゃん、アホチン!
ニッケイ良く読め
0188デフォルトの名無しさん
NGNGん?ツールバーでメニューできんか??
0189デフォルトの名無しさん
NGNGヤッテミナ
テキストだけだと 変だから
エディタの仕様が悪いらしいw
0190188
NGNG確かに、テキストだけは変
だから、ボタンのビトマップを、絵ぢゃなくってテキストにして
作成したりしてたんですが・・・・ダメ?
結論として、VBでもできる・・・・だと思うのだけど、ダメ?
>>187
それって何かの記事?
0191デフォルトの名無しさん
NGNGそれって何かの記事? <いや 意味はない(´Д`;)
0192デフォルトの名無しさん
NGNGttp://www.int21.co.jp/pcdn/vb/onepoint/knvol002.html
ttp://www.int21.co.jp/pcdn/vb/onepoint/knvol014.html
ttp://www.int21.co.jp/pcdn/vb/onepoint/knvol0811.html
この方法でいいのか?よくわからん。
0193デフォルトの名無しさん
NGNGOLEDragDropが有効なコントロールが2箇所あって、
その2箇所とも同じ作業を行いたいのですが、
その一方に
File1_OLEDragDrop
と書いてやっても引数がうまく渡せないので、うまくいきません。
今はコードをコピペしてるのですが、もっとうまい方法ないでしょうか?
0194即レス
NGNG出来るぞ。DataObject渡してるか?
自作の関数で引数にDataObject取ればすむ話だ。
同じコントロールならコントロール配列にするもよし。
0195でい
NGNG知識がついてきたので就職しようと思っているのですが、実はネットワークの知識が
殆どありません。これだとやばいですか?
0196即レス
NGNG就職先による。
時間があるなら勉強しとき。
0197へっぽこ野郎
NGNGプログラムを作りたいと思い、TAPIの資料をあさっているのですが
なかなかよいものがみつかりません。
何かよいサイトなどありましたらご教授おながいします。
0198デフォルトの名無しさん
NGNGネットワークの知識つーても広ぅございますので...
新人として入るなら、小規模LANが組める程度で十分じゃないか。
欲を言えば、セグメント分けたネットワーク構築まで出来るとイイ。
0199即レス(でもないか?)
NGNGhttp://allen-martin-inc.com/
お勧め本
http://216.239.33.100/search?q=cache:iGbWiEG2KPQC:mfc.acty-net.ne.jp/ml/mfc/logTop/logAll/00017027.shtml+TAPI+%8Eg%82%A2%95%FB&hl=ja&lr=lang_ja
俺は専門外なのでこれぐらいで。
0200デフォルトの名無しさん
NGNGTAPI系のコントロールを買ったほうが早くない?
http://www.google.co.jp/search?q=TAPI+OCX&hl=ja&btnG=Google+%8C%9F%8D%F5&lr=lang_ja
0202193
NGNG即レスありがとうございます。
自作の関数とは
Public Function DragDropList1(Data As DataObject)
という関数を作って中身をコピペすればいいんですよね?
結果は、うまくいきませんでした。
ありがとうございました。
0203Delフサギコ ◆zE1iiRdQ
NGNG〜′,,,,,,,,,,ミ,,゚Д゚彡 < もとデータは自前で描画するのです>>182
UU"""" U U \_______________
レスくれた方々、サンクスコ
とりあえず、
VBS >>呼ぶ>> VBのActiveXDLL >>呼ぶ>> BCBのDLL(描画する機能)
という、世界の終わりっぽい逃げで
一応作ってます…今のところ…
ああ、デスマーチデスマーチ
株価チャートみたいに
Webアクセスしたら動的に画像を見たいだけなのに…
0204デフォルトの名無しさん
NGNGうまくいかないのに、ありがとうございましたか。
なんか違和感あるな。もうどうでもいいのかな?
関数と自分の書いているコードの意味がわかればちゃんとできるはずだが。
0205元即レス
NGNGこーゆーことだ。
Function GetDrop(D As DataObject) As Long
Text3.Text = D.Files(1)
End Function
Private Sub Text1_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, X As Single, Y As Single)
GetDrop Data
End Sub
Private Sub Text2_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, X As Single, Y As Single)
GetDrop Data
End Sub
Text1,2,3を貼りつけてText1,2のOLEDropMode=1に。
>>204
嫌味なんじゃないか?
ちょっとワラタが。
0206193
NGNGレスありがとうございます。
うまくいきました。なるほど、こういう使い方をするのですか。
ところが、また問題が、MSFlexGridにドラッグしたいのですが
型がMSFlexGridLib.DataObjectとなっているのでListBoxと型が合いません。
むむむ、、、
ありがとうございました。
>>204
自分がうまくいかなくても、レスをもらったのだから、その意味で
ありがとうございました。です。まあ、読み返してみたら、確かに変ですが。
0208デフォルトの名無しさん
NGNG0209へっぽこ野郎
NGNGどうにかこうにかTAPIの制御はできて、ダイヤルまでは逝ったのですが
新たな問題が・・・・
Windows98SEの環境でTAPIを呼び出してコールを行うと電話に相手が
出るまで延々とコールし続けてくれるのですが、
Windows2000の環境でダイヤルを行うと3回目のコールあたりで
ブチっときれてしまいます。
98と2000では実装されているTAPIのVerも違うようなのでその当りが
問題なのかなとか思うのですが・・・
0210デフォルトの名無しさん
NGNG終了させてから、そのEXEファイルを
棄てたり移動させたりしようとすると、
「ウィンドウズが使用してます。」
と表示されます。
なにが原因だと思われますか?
0212145
NGNG自分自身で使用ならそれで事足りそうですが、できればVBのみで
netstatの結果を使用したいのです。
DOSコマンドなのでnetstat自信の使用は可能だったのですが、
情報を取得がうまくいかないので・・・
他の方法は何かご存知の方いらっしゃいましたら、ご教授願います。
0213193
NGNGおお、ありがとうございます。
うまくいけました。
これで中身をいじったあと、コピペすることがなくなりました。
うっかりミスもなくなりそうです。
ありがとうございました。
0214デフォルトの名無しさん
NGNG実は今、VBでサウンドプレイヤーを作成しているのですが
再生したい曲の、曲名や、アーチスト名、曲の長さ等を
取得するには、どうしたらいいでしょうか?
0215デフォルトの名無しさん
NGNG0216密男
NGNGどうしたら良いでしょうか?ライブラリーを探してみたのですが判りませんでした。。
又、sendkeysでWindowsロゴキーを送信する事は出来ないでしょうか?
0217デフォルトの名無しさん
NGNGAPIのCloseWindowを使う。
0218デフォルトの名無しさん
NGNG設定のフォームを普通のForm2で作ったんですけど、
普通、設定のフォームは普通のフォームじゃなく、何か別のフォームを使って作るのでしょうか?
おねがいします。
0219デフォルトの名無しさん
NGNG0220218
NGNGありがとうございます。サクっといけました。^^
0221三平
NGNG私が教えていただきたいのは、Formの見出し画面、(プログラムの名前を表示する)
例えば、Netscapeです、起動するときでる。読みこみ中ですとか言う!
を使うプログラムありますよね!
それで、見出し画面を表示して、タイマーを使って一定時間計って、
終わったら、プログラムが起動する、プログラムコード・・・・
よろしくお願いします。
0222デフォルトの名無しさん
NGNG別にタイマー使ってるわけじゃなくて、それだけ処理を実行してる。
進行表示には、時間がかかる処理の中でプログレスバーを使う。
0223デフォルトの名無しさん
NGNGBATファイルを書き出して、NETSTATの結果をファイルにリダイレクトし、
そのファイルを読み込む。あとは証拠隠滅。
ただし、Windowsによって、NETSTATの結果書式は異なるので注意。
0224デフォルトの名無しさん
NGNGタイマーコントロールの使い道?
それとも プログレス表示のアルゴリズム?
どっちが 知りたいねん?
てか タイマーって 聞いてるので こっちと判断
VBのタイマーコントロールは 厳密でないのは 有名
使い道は HELPにあるとおり
一定時間ごとに 何かさせるのに 使う
オレは グラフィック描画と組み合わせたときに 使うかな
わざと 部分的に 描いていって ゆっくり 見せるとき
ウエイト用に使うわけだ
特に ラインでタイマーイベントで1ラインごと描くのに いいだろ
遅い処理が わざと 必要なときだな あいまいで もちろんいいわけだ
タイマーコントロールで 何か正確な 時間を 量るのは ムリ
0225Name_Not_Found
NGNGVBscriptも仕様書を自動生成してくれるツールとかないですか?
0226デフォルトの名無しさん
NGNG0227デフォルトの名無しさん
NGNGそんなもん、扱うファイル形式による。
それぞれのファイルフォーマットについて研究せよ。
そもそも情報があるとは限らないよん。
0228デフォルトの名無しさん
NGNGゲームでは、ほとんど使う。
業務系ではあまり使われないが、無人=自動処理をするときは必要。
0229三平
NGNG他の方もよろしければいつでも書いてください
よろしくお願いします。
0230デフォルトの名無しさん
NGNGForm1のボタンで、
From2.Show vbModeless, Me
Form2のボタンで、
From3.Show vbModeledd, Me
From3.Hide
の後に、Form2を閉じると、Form1のウインドウが背面に移動してしまうのですが、
どうしてなのでしょうか?
0231密男216
NGNG有り難うございます。APIですか、、難しそうですね、、
VBを始めたばかりなのですが、避けられないですよね、API、(^^;
よく調べてみます。。
なんとかsendkeysで出来ないものでしょうか、、
0232デフォルトの名無しさん
NGNGVBSは
Vusual Studio6ファミリーの
Visual InterDev6で書けるぞ
JavaScriptももちろんできる
当然ながら今から買うのは お勧めしない
Studioプロ版以上はセットだが?
持ってないのか…
0233デフォルトの名無しさん
NGNGどっちみち起動してるアプリ名を取得するのにAPIが必要になるし、
そもそもSendKeysはWindowキーに対応してない。
IE4以降がインストされてる環境なら、次のコードでもいけるかな。
Dim objShell As Object
Set objShell = CreateObject("Shell.Application")
Call objShell.MinimizeAll
Set objShell = Nothing
RtlMoveMemory の使い方が悪いのか、どうしても WM_NCPAINT メッセージを拾うことができません。
lParam からメッセージを正しく取り出す方法をキボンヌ。
WM_NCPAINT メッセージが間違いなく流れていることは Spy++ を使って確認しています。
Private Type CWPSTRUCT
lParam As Long
wParam As Long
message As Long
hwnd As Long
End Type
Private cwps As CWPSTRUCT
Private Const WM_NCPAINT = &H85
Function CallWndProc(ByVal ncode As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Call RtlMoveMemory(cwps, lParam, Len(cwps))
If cwps.message = WM_NCPAINT Then
'ここに目的の処理
End If
CallWndProc = CallNextHookEx(HHook, ncode, wParam, lParam)
End Function
0235莇
NGNGフリーのDLLを呼ぶのはなしで自前のコードを書いてみたいです。
0236デフォルトの名無しさん
NGNGCRC16は、x^16 + x^12 + x^5 + 1 の剰余
CRC32は、長いので省略
VBでやるとたぶん激遅だけど、やってみるよろし。
0237莇
NGNG0238デフォルトの名無しさん
NGNG想像できない?
まず、1バイトのファイルを作って、CRCツールの結果と比較してみる。
次は、2バイトファイル。
そういう探求心が必要。人に質問する前に。
0239莇
NGNG0240デフォルトの名無しさん
NGNG「Documents and
Settings」
みたいに勝手に2行に分かれてしまって困ってます。
Labelにはマルチラインプロパティみたいなものも無いしどういうことですか。
0241デフォルトの名無しさん
NGNGAutoSizeとかWordWrapいじくってみたら?
0242デフォルトの名無しさん
NGNGそこで、プログラムそのものを効率良く・無駄なくしたという前提で、
さらに計算ににかかる時間を少なくしたいのですが、一般方法として
どのようなものがありますでしょうか?
ご教授いただければ幸いです。
0243デフォルトの名無しさん
NGNGC言語やアセンブラで書く
0244デフォルトの名無しさん
NGNGそれ以外で。
なんと言ってもEXCELは使いやすいもので。
業務ではEXCELは欠かせないのですよ。
0245デフォルトの名無しさん
NGNG0246デフォルトの名無しさん
NGNGEXCELでって言ってんだろーがー!!!
だからこうやってVBスレに書き込んでるんだよ。
ったく人が下手に出てりゃふざけやがってよ。
0247デフォルトの名無しさん
NGNG「プログラムそのものを効率良く・無駄なくしたという前提」なら
これ以上どうしようもないのでは?
本当に無駄がないのかはしらんが。
0248名無し募集中。。。
NGNG0249デフォルトの名無しさん
NGNGマイクロソフトに入社して、もっと効率のいいAPIを開発するか、
あんた自身のスキルアップのために大学院に入ってアルゴリズム
の研究をした方がいいよ。
0250デフォルトの名無しさん
NGNG2chに救いを求めるようなアフォに研究生活は無理だと思われ
0251デフォルトの名無しさん
NGNG無駄をなくす。最終的には速さはこれしか影響しない。
具体的な方法は、
○アルゴリズムの見直し
○Variantを使用しない
○APIが使えそうなら使う。
○ループの中の見直し
こんな感じ。(ホントはもっとあるけど割愛。)
上のものほど速くなる。
>246
2chのネタぐらいで切れるな。2ch初心者かい?
>>248
あれは自前で描画してるが。
どっかにそれ専用のコントロールでもあるかな?
0252デフォルトの名無しさん
NGNG今はどれくらいの時間がかかってんの?
■ このスレッドは過去ログ倉庫に格納されています