VBプログラマ質問スレ(6.0以前) Part46
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2006/02/03(金) 22:58:330756デフォルトの名無しさん
2006/02/19(日) 12:48:19VBでは勿論、APIでも非表示には出来ない。
もしやるなら、タイトルバーなしのウィンドの上部を擬似的にタイトルバーにして、
[_][×]とかも全部自分で描画して、其処のマウスイベントを全部拾ってごにょごにょ
しないと。
0757748
2006/02/19(日) 14:38:44無事、解決できました。
日時分秒までの比較を行いたかったので
If DateDiff("d", objFile.DateLastModified, "1999/01/01") > 0 Then
で "s"を指定しました。
コードまで示して頂いて
本当にありがとうございました。
0758デフォルトの名無しさん
2006/02/19(日) 14:53:45良かったね。
今後は >>751 のせいで、二度とコードは貼られないから。
0759デフォルトの名無しさん
2006/02/19(日) 16:13:57落としてみたけど原因わかんないな
exitの解釈が違うんじゃない
0760デフォルトの名無しさん
2006/02/19(日) 19:51:02同じルーチンを2度通るからおかしくなってるんじゃないの
0761デフォルトの名無しさん
2006/02/19(日) 21:16:460762デフォルトの名無しさん
2006/02/19(日) 22:04:04DataTableのSelectメソッドで、抽出条件を記述して
DataRow[]を抽出できたのですが、
抽出したDataRowを新規のDataTableに格納したいのですが、
なかなかうまくいきませんでした。
試した方法は、
新規のDataTableのインスタンスを作成してdataTable.rows.addメソッドで
抽出したrowを追加する方法は間違っているのでしょうか。
0763デフォルトの名無しさん
2006/02/19(日) 22:46:07×やってる事の文章
○コピーペーストでそのまますぐ実行出来る、現象が再現する最小限コードの提示
0764デフォルトの名無しさん
2006/02/20(月) 01:34:49動作が速くなるとかそういうことでしょうか?
0765デフォルトの名無しさん
2006/02/20(月) 03:43:04速度は殆ど変わらないんじゃないかな。
MSXMLが存在しなければ全ての機能が動かないってんなら事前バインディングでいいと思う。
プラグインみたいに、あっても無くてもどっちでも動くようにするんならCreateObject
使うしかねーけど。
仕事じゃないんなら事前バインディングで適当に楽したいね。
0766デフォルトの名無しさん
2006/02/20(月) 09:01:51ちょっと前にそれに関する議論があった様な。
New だと色々不具合が出るよ。
0767デフォルトの名無しさん
2006/02/20(月) 12:25:30(あえて突っ込まれそうな言い方をするけど)参照変数にナニを使うかの問題であって、
インスタンスをどうやって生成するか、というのとは全く別問題だよ。
0768デフォルトの名無しさん
2006/02/20(月) 12:40:37つかそのProgIDだとせっかくMSXML4.0インスコしてあっても3.0のが適用されちゃうよ
0769デフォルトの名無しさん
2006/02/20(月) 12:47:04別のデータテーブルのRowのインスタンスを追加は出来ないんで無かった?
新規のデータテーブルに新規のRowを追加した後、それに抽出したRowのデータを流し込む様なコードにすると動くと思うよ
0770デフォルトの名無しさん
2006/02/20(月) 12:54:34kwsk
0771デフォルトの名無しさん
2006/02/20(月) 13:01:04変数の生成メカニズムが違ってくるんだが。
彼の主張が正しいとするなら、レイトバインドによる複数バージョンの互換が説明できないよ。
0772デフォルトの名無しさん
2006/02/20(月) 19:48:58つーかそんなもんちょっと調べりゃわかりそうなもんだが。
0773デフォルトの名無しさん
2006/02/20(月) 20:28:58WindowsXP SP2
目的
特殊なpngファイルを読込み、標準pngに変換する。
問題点
IHDR、PLTE、IDAT、IEND等の各チャンクと呼ばれるブロック単位から構成されてるとこまでは理解できたのですが
例えば、IHDRチャンクは実際どういう形式でデータ(色情報等)を保持しているのかといったpngの仕様を知りたいの。
質問
pngファイルの仕様を日本語訳にしてるサイトってありませんでしょうか。
または、pngファイルを扱ったサンプルソースを載せてるサイト、参考書でもおっけなのですが。。
せちからい話、当方、英語がまったくできないため、W3Cのpng仕様サイトを見てもさっぱりなのです。。
参考サイト(日本語サイト)、参考書などあれば教えてください。よろしくお願いします。
0774デフォルトの名無しさん
2006/02/20(月) 20:35:25VB関係ないじゃん。
で、Irfanview32 とか LEADTOOLS とかでやった方がいいんじゃないの?
出来るかどうかは知らないが。
0775デフォルトの名無しさん
2006/02/20(月) 20:42:36東京書籍の「NEW HORIZON」とかが良いんじゃない?
0776デフォルトの名無しさん
2006/02/20(月) 20:42:57VBで表示しないといけないんです。。
標準pngはフリーのDLLを使用してImageコントロールに表示できてるんで、
あとは標準pngへの変換だけなのです。
また、特殊pngは独自仕様なので、標準pngの仕様をまず知りたいとこなんです。
0777デフォルトの名無しさん
2006/02/20(月) 20:44:17ありがとうございます!
さっそく調べてみます!
0778デフォルトの名無しさん
2006/02/20(月) 20:47:44英語の勉強からってことですね。。
0779デフォルトの名無しさん
2006/02/20(月) 20:56:20LEADTOOLS を調べもせず書いてるでしょう?
0780デフォルトの名無しさん
2006/02/20(月) 21:02:44グレープシティーのソフトですよね。
LeadToolはバージョン12.0Jを実際に一部機能で使ってるんです。
ただ、特殊なpngファイルが独自仕様のため、外部ツールに頼ることができないのです。
0781繁蔵
2006/02/20(月) 21:04:060782デフォルトの名無しさん
2006/02/20(月) 21:05:51>>769
ご返答ありがとうございました。
Rowを抽出する前のDataTableのCloneメソッドで
テーブル構造が同じDataTableを作成して、このテーブルの
ImportRowメソッドでRowを取り込むことで解決できました。
0783デフォルトの名無しさん
2006/02/20(月) 21:15:15その特殊なPNGを勝手に作った所で、その非標準のPNGを
表示する方法とか標準に変換する方法を提供してないの?
普通はするけど。
0784デフォルトの名無しさん
2006/02/20(月) 21:19:42特殊pngを表示する方法はわかってるのですが、
標準pngに変換する方法はわからないんです。
0785デフォルトの名無しさん
2006/02/20(月) 21:26:11特殊PNGを作った会社(?)に聞けば。
または、表示出来るならクリップボードに入れてペーストすりゃいいじゃん。
0786デフォルトの名無しさん
2006/02/20(月) 21:29:31なるほど、クリップボードは思いつきませんでした。
ちょいと試してみます。
どうもありがとうです
0787デフォルトの名無しさん
2006/02/20(月) 22:03:200788デフォルトの名無しさん
2006/02/20(月) 22:13:56つMSDN
0789デフォルトの名無しさん
2006/02/21(火) 02:48:00漏れはInStrRevあたりグッとクるなぁ。
だって「後から検索」だぜ。タマラン。
0790デフォルトの名無しさん
2006/02/21(火) 16:13:56実行してもいつも同じ値しか得られず正しい温度でもありません.
CPU温度をリアルタイムにモニタする方法はないでしょうか?
Function ACPI_CPUTemp()
dim r, lu
set PFU = GetObject("winmgmts:{impersonationLevel=impersonate}!root\wmi").ExecQuery _
("SELECT CurrentTemperature FROM MSAcpi_ThermalZoneTemperature")
for each U in PFU
r = r&U.CurrentTemperature
Next
ACPI_CPUTemp = (r - 2732) / 10
set PFU=Nothing
End Function
0791デフォルトの名無しさん
2006/02/21(火) 17:21:54ttp://www2.noritz.co.jp/anchor/ashp/netmon/samples/wmi_hard.html
0792デフォルトの名無しさん
2006/02/21(火) 18:09:11そこで質問なのですが、自分自身のウィンドウハンドルを取得するにはどうすればよいのでしょうか?
フォームがある場合はMe.hWndで求めればよいと思うのですが、今回はフォームがありません。
下記の2通りの方法を考えましたが、もっとスマートな方法はありませんか?
・EnumWindows+GetWindowThreadProcessIdの返り値をApp.ThreadIDプロパティと比較する
・EnumWindows+GetWindowTextの第2引数とApp.Titleプロパティと比較する
0793デフォルトの名無しさん
2006/02/21(火) 18:14:48ウィンドを作成してないんだから hWnd はないけど。
Sub Main で Load Form1 とかしてその hWnd を使うとか。
0794デフォルトの名無しさん
2006/02/21(火) 18:41:420795デフォルトの名無しさん
2006/02/21(火) 18:53:44つ田代砲
0796あぼーん
NGNG0797デフォルトの名無しさん
2006/02/21(火) 22:02:46これは値を参照するだけにとどまりますか?
0798デフォルトの名無しさん
2006/02/21(火) 22:09:00こんなのがあぼーん?
単にURL貼ってあっただけだと思ったけど。
ずいぶんおかしな奴が削除人やってるんだな。
なんか2ch用語でいう「プロ市民」的な病理を感じるよ。
0799デフォルトの名無しさん
2006/02/21(火) 22:57:44何故?
0800デフォルトの名無しさん
2006/02/22(水) 00:12:480801デフォルトの名無しさん
2006/02/22(水) 01:08:100802デフォルトの名無しさん
2006/02/22(水) 01:10:14ある
0804デフォルトの名無しさん
2006/02/22(水) 01:16:10"アプリの検索ボックス"とやらの具体的な例を出したらな
何も分からないのなら、
SendKey()とかWinAPIのSendInput()とかkeybd_event()とか使ったり、
ウィンドウメッセージ送って(運良く)反応してくれるかもしれない。
とだけ言える
0805デフォルトの名無しさん
2006/02/22(水) 01:33:07調べてみます。ありがとうございました。
0806デフォルトの名無しさん
2006/02/22(水) 09:06:50そこのWin32_TemperatureProbeを試してみましたが,
For Eachの中が一度も実行されなくて,
何も表示されませんでした.
他のサンプルなら成功するのですが
温度が読めないのはどこに問題があるのでしょうか?
0807デフォルトの名無しさん
2006/02/22(水) 13:05:00ドライバが入ってないか、そもそも温度センサーが付いていない
0808デフォルトの名無しさん
2006/02/22(水) 13:15:49MobileMeterというソフトでは
(たぶん)正しい温度が読めているので
そういう問題ではないと思います.
逆にどのような環境では上のスクリプトで
リアルタイムに温度をモニタできるのでしょうか?
0809デフォルトの名無しさん
2006/02/22(水) 13:27:17っ [S.M.A.R.T機能(対応されているか確認しる)]
つか、製品わかってるなら参照しているDLLをDependencyWalkerなんかで調べればいいのでは?
0810デフォルトの名無しさん
2006/02/22(水) 13:47:54そのソフトはACPIとかのAPIを直接呼んでるんじゃないの?
0811デフォルトの名無しさん
2006/02/22(水) 14:19:14調べる前に確認したいのですが,
SMARTはHDDだけでなくCPU温度にも関係あるのでしょうか?
依存しているDLLは以下の通りです.
いずれも基本的なDLLばかりに見えますが
POWRPROF.dllあたりにそういう関数があるのでしょうか?
$ objdump -x mobmeter.exe | grep "DLL Name"
DLL Name: KERNEL32.DLL
DLL Name: ADVAPI32.dll
DLL Name: COMCTL32.dll
DLL Name: GDI32.dll
DLL Name: MSVCRT.dll
DLL Name: POWRPROF.dll
DLL Name: SETUPAPI.dll
DLL Name: SHELL32.dll
DLL Name: USER32.dll
>>810
MobileMeterはACPIを使っているようですが,
これは私の環境ではSMBIOSから読み取るWMIは使えなくて,
ACPIを直接呼ぶ必要があるという理解でよろしいでしょうか?
WindowsでのACPIをいじり方の解説などはないでしょうか?
0812pp
2006/02/22(水) 21:37:19どなたか、知恵をかしてください。初歩的な質問ですいません。
0813デフォルトの名無しさん
2006/02/22(水) 21:53:490814デフォルトの名無しさん
2006/02/23(木) 22:20:52VB6 sp5の環境で開発してるのですが、昨日まで使えてた
Right関数が今日になって 「配列がありません」 と、
未定義の配列であるかのようなエラーとともに使えなくなってしまいました。
VSの標準エディタで right と小文字で打って改行すると、
Right と変換されてるし、識別子カラーで表示されているのにです。
ちなみにLeft関数Mid関数は動きますが、
Right$関数だと、「型宣言文字と宣言されたデータ型が一致しません」と
エラーになってしまいます。
まったく謎な状態です。
どなたか対処方法を教えて下さい。
0815デフォルトの名無しさん
2006/02/23(木) 22:26:02気のせいですよ
0816デフォルトの名無しさん
2006/02/23(木) 22:29:45できない奴ほど真っ先に道具を疑う。
VBのバグを疑う前に自分のやってることを疑ってみた?
0817デフォルトの名無しさん
2006/02/23(木) 22:30:59なぁに、アフリカではよくある事。
それはそうとして、VB6にはSP6を当てましょうね。
0818デフォルトの名無しさん
2006/02/23(木) 23:36:34とりあえずStrings.Rightに改名する
0819デフォルトの名無しさん
2006/02/23(木) 23:38:01誰がVBのせいにしてるの?
>>814
標準モジュールでRightという名前の関数を定義していない?
標準関数と同じ名前の関数は作らないほうがいい。
まあ、標準モジュールでRightを定義しても、標準関数を
VBA.Strings.Rightと冗長な正式名で使用する方法もあるけどね。
ちなみに、標準モジュールのRightの正式名は、「標準モジュール名.Right」となる。
0820デフォルトの名無しさん
2006/02/23(木) 23:50:59814の彼はVBのせいにしてるんだよ。間接的に、ではあれ。
でなきゃこんなところで質問する前にリテラルの文字列でRight$が
正しく動作することを確認するはず。
ついでに言えば、814の彼みたいなのは自分の勘違いに気づいて
問題が解決しても絶対に何もレスしないよ。
0821デフォルトの名無しさん
2006/02/23(木) 23:53:420822デフォルトの名無しさん
2006/02/24(金) 11:25:16本当に参照設定がおかしい可能性もあるが、まず100%ソースのどこかにコンパイルエラーがある
0823デフォルトの名無しさん
2006/02/24(金) 12:51:170824デフォルトの名無しさん
2006/02/24(金) 15:39:15たまになったな。
Windows自体をリブートしたら直ったけど。
0825814
2006/02/24(金) 21:16:33参照設定で、「使用中のコントロールまたは参照を削除することはできません」って
怒られないものを全部外してみたら動くようになりました。
(何故か同じものが複数チェックされてたり謎な状態だった、、、)
0826デフォルトの名無しさん
2006/02/24(金) 21:47:59そのなぜか同じ物が複数チェックされているのがVB標準ライブラリだったりとか。
0827デフォルトの名無しさん
2006/02/24(金) 21:50:31ときどき起こります
参照をはずせない場合はvbpファイルを直接エディタで書き換えたりもします
(,,゚Д゚) ガンガレ!
0828デフォルトの名無しさん
2006/02/25(土) 00:48:330829デフォルトの名無しさん
2006/02/25(土) 01:33:44あります
0830デフォルトの名無しさん
2006/02/25(土) 02:01:281個必ず作られて、App.Titleプロパティはこのウィンドウの
GetWindowText()を返してるんじゃなかったっけな確か。だから逆に
App.TitleでFindWindow()すれば、そのウィンドウのハンドルは取れるよ。
ウィンドウクラスはvbNullStringでも取れるけど、開発環境だと
"ThunderMain"でexeだと"ThunderRT6Main"になる。
これで開発環境とexeの区別を付けてもいいかもしれん。
0831デフォルトの名無しさん
2006/02/25(土) 02:57:22なんでそんなあやふやな方法で、しかもわざわざAPI使ってやる必要があんのかと
0832デフォルトの名無しさん
2006/02/25(土) 10:00:11開発環境と実行環境を区別するプロパティ、何だっけ・・・?
0833デフォルトの名無しさん
2006/02/25(土) 11:00:28ttp://support.microsoft.com/default.aspx?scid=kb;ja;JP177636
0834デフォルトの名無しさん
2006/02/25(土) 11:31:47項目数、INDEXなど全く同一のTblに対し、VBからSQLを発行して検索した場合と
SqlPlusから検索した場合とで検索結果が違ってくるのですが、
どなたかこういう現象を見た、とか知っている方いらっしゃいませんか?
0835デフォルトの名無しさん
2006/02/25(土) 11:35:200836デフォルトの名無しさん
2006/02/25(土) 11:40:10件数が違うのです
件数にして5件VB側の方が少ないです。
他のPCではVBでもPlusでも検索結果が同じなのですが...
0837デフォルトの名無しさん
2006/02/25(土) 11:49:02長音oを含む場合母音を重ねないってとこが上手くいきません・・
0838831
2006/02/25(土) 12:38:58もともとそんなプロパティは用意されとらんよ
>>833 のEXE名変更は利用者にリネームされたら終わりなのでダメ
GetModuleFileName の方法もEXEをVB6.EXEにリネームされる危険があるんで、
レジストリキーからVB6のインストール先を取得するところまで考慮してなんとか使えるレベル
以下の方法が一番明快、かつ簡単だと思うぞ
Public Function IsIDE() As Boolean
Debug.Assert IDETest(IsIDE)
End Function
Private Function IDETest(ByRef bIsIDE As Boolean) As Long
bIsIDE = True
IDETest = True
End Function
API が使いたくて辛抱溜まらんなら、こういうトリッキーな方法もある
Public Function IsIDE() As Boolean
Debug.Assert lstrcpy(IsIDE, Chr(1))
End Function
0839831
2006/02/25(土) 12:41:43まあ分かるか
0840デフォルトの名無しさん
2006/02/25(土) 13:00:40まあギャグのつもりかもしれないが、普通の人はそれを「痛々しい」と見るんだよ。
ひとつ大人になったね坊ちゃん。
0841デフォルトの名無しさん
2006/02/25(土) 13:31:58痛々しい
0842デフォルトの名無しさん
2006/02/25(土) 13:37:17何やってるコードかさっぱり分からん・・・
0843デフォルトの名無しさん
2006/02/25(土) 14:37:33SQLの条件が違うとか?w
0844デフォルトの名無しさん
2006/02/25(土) 14:42:570845デフォルトの名無しさん
2006/02/25(土) 14:43:21ほとんどない。
0846デフォルトの名無しさん
2006/02/25(土) 14:58:07何で処理速度なんか気にするのか理解出来ない。
例え差があったって、1000億回位ループする中でやるとか以外、
何の問題もないだろうに。
そうじゃない処理を1msや2ms速くしたって何だと言うのか。
0847デフォルトの名無しさん
2006/02/25(土) 15:02:17OracleのOO4OのどっかのバージョンはFetchにバグがあって、ページまたぎのFetchを取りこぼすとか昔あったな〜
で、DBのバージョンとミドルウェアのバージョンは?
0848デフォルトの名無しさん
2006/02/25(土) 15:25:02SQL文が間違ってるんでしょう。
0849デフォルトの名無しさん
2006/02/25(土) 16:35:21ほかのPCが何を指してるのか
0851デフォルトの名無しさん
2006/02/25(土) 18:52:01http://www.vector.co.jp/soft/winnt/net/se392514.html
0852デフォルトの名無しさん
2006/02/25(土) 20:16:08> カナからローマ字のヘボン式に変換するソースありますか?
あるよ。
先に言っておくけど、呉とか言わないでね。
>>838
超有名な手法だね。
2ch以外でも掲示板でこの手の質問が出ると、必ず誰かがコレを書き出す。
まぁ関数名や引数名はちょっと違ったりするけどね。
個人サイトのVB Tipsなんかにも載ってたこと有るし。
0853デフォルトの名無しさん
2006/02/25(土) 20:56:23長音を含む母音のときどう書くのですか?
促音とかはできたのですが。。
0854デフォルトの名無しさん
2006/02/25(土) 22:12:53文字入力したいんですが・・・テキストボックスの指定の
仕方がわからない。どうやってかいたらいいのか・・・orz
わかる方教えてくださいm(_ _)m
0855デフォルトの名無しさん
2006/02/25(土) 22:30:17ああごめん、>>792を読んだもんだからちょっと思い出してみただけです。
アンカー付け忘れ。IDEとexeうんぬんは余談で。
■ このスレッドは過去ログ倉庫に格納されています