(*´д`*)アハァ… VB初心者質問スレ Part21
549 :
デフォルトの名無しさん :
03/02/19 15:02 あるステップでShell関数によってプログラムを起動し、それよって生成されるファイルを次のステップで開いて参照する場合、ファイルが生成するまで待機するにはどうすればよいのでしょうか? 次のようなコードでは、ファイルを参照できません。 MyPath="c:\中略\myprogram.exe" 'myresult.txtを生成するプログラム RetVal = 0 RetVal = Shell(MyPath, 1) For j=0 to 100000 'このように待機させても効果がありません Next MyPath="c:\中略\myresult.txt" If RetVal <> 0 Then Open MyPath For Input As #1 Line Input #1, MyText Close #1 MsgBox "MyText=" & MyText Else MsgBox "MyTextが生成できませんでした" End If しかしながら、myrogram.exeの実行結果としてmyresult.txtは生成されていて、イミディエートウィンドウではRetValは0以外の値になります。
>>549 WaitForSingleObject APIを調べて味噌
553 :
デフォルトの名無しさん :03/02/19 15:32
>>549 処理待ちの方法はたくさんあるけど、よりによって空ループとは。
コンパイルしたら空ループは削除される。
自前のアプリなら、DDE通信使えよ。
せっかくあるんだから。
>>553 > コンパイルしたら空ループは削除される。
そうなの?最適化のしかたに依存するような気もするけど?
(確認してないけど)
>>554 どっちにしろ、CPUのスピードが千差万別かつ十分高速である以上、その方法はエレガントではないと。
>>554 DDEについては何もふれず、空ループについて確認も
しないで疑ってかかるって何だよ?
確かめるのに1分もかからないだろ?
>550 この時点で あなたの希望金額に達しなかったということで、 ノ ー マ ネ ー で フ ィ ニ ッ シ ュ で す
558 :
デフォルトの名無しさん :03/02/19 17:20
>>549 Windows Script HostのRunメソッドが簡単だよ
559 :
デフォルトの名無しさん :03/02/19 17:34
どうしても分からないので・・・ VBからネットワーク上の別PCのHDD全容量/空き容量などを 取得することはできるのでしょうか?
>>559 そもそも他のPCのHDD容量って見れるの?
知らないんだけど。見れるならVBでもできそうだけど。
>>559 とりあえず ネットワークドライブの割り当て をやってみ
なるほど。割り当てると見れるのか・・・
ありがとうございます。 一時的に割り当てして容量チェックすればできそうですね。 ところでIPアドレスやMacアドレスがわかってる状態で可能なことって何があるでしょうか? Pingとかで該当PCが応答するかチェックするってのはすぐに思いついたんですけど 他に何かありますか?
564 :
デフォルトの名無しさん :03/02/19 17:54
>>564 なるほど。それはいいですね!
OS情報とか取得して詳細一覧作るってのもいいかも。
やれるか分からないですけど・・・
>>563 最低限はPINGも含めて何も出来ない。
できるのは相手が応答した場合のみ。
SMB?
559はそんなに上司のPCが覗きたいのか(藁
応答するという前提で考えれば色んなことができそうですね。 電源何かも切れるみたいですね。 上司のPCを覗くのは・・・ ヘ(゚∀゚ヘ)アヒャ
570 :
デフォルトの名無しさん :03/02/19 19:46
>>569 わざわざ中身のぞかなくても、パケットモニターで丸裸。
ソース公開されてるし。
Cだけど。
.NETはXPでしか動作しないのですか?
>>572 フレームワーク自体はWindows98以降でも動くよ。
>>549 >For j=0 to 100000 'このように待機させても効果がありません
>Next
>MyPath="c:\中略\myresult.txt"
Private Declare Sub Sleep Lib "kernel32" Alias "Sleep" (ByVal dwMilliseconds As Long)
Private Sub (略
(略
MyPath="c:\中略\myresult.txt"
Do While "" = Dir(MyPath)
Sleep 100
Loop
あまり綺麗な方法じゃないかもしれないが、一番簡単。
これよりも、起動させるプロセスを監視してそれが消滅するのをチェック
する方がいいかもしれないが…。
>>573 ではXP以外でも作業できるってことですか?
576 :
デフォルトの名無しさん :03/02/19 21:07
age
>>575 金が惜しいならMSのサイト言ってあんたの買いたいソフトは何をする物なのか確認してきなさい。
すまんが今の状態でプログラミングなんてちゃんちゃらおかしいよ。
578 :
デフォルトの名無しさん :03/02/19 21:46
>>574 そんなVB房みたいなやりかた提案するなよ
580 :
困ったチャン :03/02/19 22:15
すいませ〜ん。。必死なのです。excelVBAの質問なのですが、 (VBのスレで聞くな?) 困っているのです。あるフォルダに格納されている、 word excel ppt txt のファイルをVBAから開き、 MSGBOXでOK押されたときに、全部閉じたいのですが、うまくいきません。 期限がやばいのでとりあえずやっつけだ、と思い、無理やり shellコマンドで立ち上げ、落とすときは、sendkeyしてるのです。。。 (&FXN)ALTキー+Fキーでメニューのファイルを閉じるで、保存しないキーを SENDしてる予定。。。 しかし、なぜかワードだけうまくうけとってくれないのです。 他にいい方法があったら教えてください。 環境はOFFICE97。OSはWINDOWSです。(95〜2000、NT、XP) で、クライアントの処理なので、できれば他の実行ファイル は作りたくないのです。
どうでもいいけどAlt+F4で何でも閉じるよ。 保存していないとダイアログ出るが。
582 :
困ったチャン :03/02/19 22:38
>>581 うん。そうなんですけど、ファンクションキーたまに
落ちないときがある、と聞いたので。。
で、苦肉の策、そうなったのです。。。
できれば、SENDKEYでない方向でいきたいのです。。。
動きもいまいちなので。。。クスン
583 :
困ったチャン :03/02/19 22:54
みすてないでぇ〜〜〜〜〜
shellの戻り値でインスタンスハンドルが帰ってくるよねー それを元にウィンドウハンドルを取得して強制終了のメッセージを SendMessageすればよいのでは?
期末試験 設計 名前 困ったチャン 7点 ExcelVBAでWordファイルを操作するという点が間違いです。
586 :
困ったチャン :03/02/19 23:12
>>584 そうなのです。。。shellでハンドル持たせて、
それをappactive して、sendkeyしてるのです。
でも、なぜかワードだけうまくいかない。。。
カーソルのところにひたすら「XNXNXN・・・」
って書き続けてる状態。。。本当に困ったチャン。
確かに、excelVBAでファイル操作、きついんだけど、
元の設計はc++でほとんどクライアントで処理して、
サーバに投げてきてたんだけど、
それを仕様変更して、分散して、クライアントが
excelVBA(客先に配布)で、サーバはvbなのです。
最終的に仕上げるファイルフォーマットがexcelなので、
VBAでやってるのです。
その他のファイルは、タダ、いったんこれらでいいですか?
という意味合いで、単純に開いて、単純に確実に殺す、です。
★あなたのお悩み解決致します!!
●浮気素行調査
彼氏、彼女、妻、夫の浮気を調査致します!!
●盗聴器盗撮機発見
あなたの部屋に誰かが仕掛けているかも!!
●行方調査
行方不明になっている家族の消息を調査致します!!
●電話番号から住所割り出し
一般電話、携帯から住所を割り出し致します!!
●ストーカー対策
社会問題ともなっているストーカーを撃退致します!!
その他人生相談からどんなお悩みでも解決いたします!!
24時間受付 090−8505−3086
URL
http://www.h5.dion.ne.jp/~grobal/ メール
[email protected] グローバル探偵事務局
>>584 WORDだから良いもののウインドウ作らないアプリケーションならブルー。
>>588 ウィンドウを作らないアプリでこちらから終了させなければいけないというのは
どういったアプリケーションですか?
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _ (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long If MsgBox("やっちゃう?", vbYesNo) = vbYes Then Call SendMessage(&HFFFF&, &H2&, 0, 0)
591 :
困ったチャン :03/02/20 00:12
>>599 !ありがとうございます(^^)♪
lib使ったプログラム開発をしたことがないもんで。。。
いろいろHPあさって探しまくってたんだけど、いいのがなかったのです。
はぁ。たすかったぁ♪♪♪♪♪さっそくためさせていただきます。明日。
はぁ〜〜〜〜〜〜〜〜〜〜!
592 :
禁断のターミネータ :03/02/20 00:23
593 :
デフォルトの名無しさん :03/02/20 00:23
HIKEY_CURRENT_USERではなく HIKEY_LOCAL_MACHINEの中の値を取得したいです RegOpenKeyEx(API)を使って取得する方法は分かったのですが GetSettingのように、APIを使用せずに取得する方法は無いでしょうか? API使うの面倒臭いのよね 知ってたら教えてちょんまげ。
591に合掌・・
595 :
デフォルトの名無しさん :03/02/20 00:43
>>593 もしあったら、ハッキングし放題だと思わんの?
なんで制限つけてるか考えんの?
>>591 ごめんなさい。あのコードは大きなミスをしてました。
そのミスというのは、・・・だ、誰だ・・ぐは・・・ばたっ・・・。
597 :
デフォルトの名無しさん :03/02/20 00:54
>>595 それは、マクロウィルス使って悪さが出来るということ??
よく分からないけど、そういう機能があれば、595さんなら
ハッキング出来るわけですね
とにかく教えてくれてありがとうございます
明日はAPIの使い方調べて苦労することにします
では。
598 :
デフォルトの名無しさん :03/02/20 03:37
C++で作ったメソッド(ライブラリ)に、VBから配列を引数として放り込めば、 先頭アドレスを送ったことになる?
APIの使い方を知らんってことをWindows自体わかってないんでないの?大丈夫か?
>>598 ヘルプやMSDNに書かれていると思うけど・・・
配列の先頭の要素を参照渡し。
ユーザ定義型の配列の場合はまた別のルールがあったはず。
601 :
デフォルトの名無しさん :03/02/20 09:14
>>593 Dim WshShell As Object
Set WshShell = CreateObject("WScript.Shell")
MsgBox WshShell.RegRead("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\ProductId"), , "ProductId"
ばかばっか
>>601 あのー、おもいっきし出来たんですが・・・
ありがとうございます。
>>595 うんこちんちん
604 :
デフォルトの名無しさん :03/02/20 11:24
VB6 + ADO2.7 使っているのですが インストーラー作る時にMDAC_TYP.EXEは含めたほうが良いのでしょうか?
605 :
デフォルトの名無しさん :03/02/20 11:53
>>603 最初からProductIDって言ってたか?
>>605 言ってないですよん、ProductID以外の値も取れましたが、何か問題でも?
607 :
デフォルトの名無しさん :03/02/20 13:03
一人バカがHIKEY_LOCAL_MACHINEを読み取れないと思っているだけだ。ほっとけ。
610 :
デフォルトの名無しさん :03/02/20 14:01
test
HIKEY_LOCAL_MACHINEを読んだおかげで彼女ができますた!! HIKEY_LOCAL_MACHINEを読んだおかげで大金を手にしました!!
さて、もうそろそろ「HKEY_LOCAL_MACHINEだろ?」と揚げ足取りが出てくるわけだが。
(-_-) ヨンダ?
614 :
デフォルトの名無しさん :03/02/20 16:24
ヒッキー・ローカル・マシン
615 :
デフォルトの名無しさん :03/02/20 18:44
よろしくお願いします。 FileSystemObjectを使わずにファイルをコピーしようとしています。 FileCopyステートメントを使ったのですが、 コピー先に指定したファイルがない場合、「ファイルが見つかりません。」 とエラーが返されます。 FileSystemObjectのoverwrite=trueに該当する処理を実現するには どうしたらいいでしょうか?
>>615 ファイルがあるか、使用中でないか確認する。
なんでそんな質問すんだ。
>>615 On Error Goto でエラー捕まえりゃいいだろ。
619 :
デフォルトの名無しさん :03/02/20 19:11
>>616-618 あーもうホントすみません。
いろいろ考えたんですけど、On Error Gotoの後の処理
(存在しなかった場合の処理)が分からなかったんです。
指定した名前のファイルを指定した場所に作成する?関数なりステートメントが
MSDNで引いても見つからなくて・・・・
ヒントの単語だけでも教えていただけませんか?
てゆーか >指定した名前のファイル って何?何でもいいなら空っぽのテキストファイル作れば?
>>619 大体、何言ってるのかわからん。
>コピー先に指定したファイルがない場合、「ファイルが見つかりません。」
「コピー元」の間違いかと思えば、
>FileSystemObjectのoverwrite=trueに該当する処理を実現するには
上書きに失敗しないようにするには、とも読みとれる。
通常は上書きに失敗することはない。属性とか使用中とかなら別だが。
「ファイルが見つかりません」とは、コピーする元のファイルがないってことだ。
てことは、最初にファイルの有無を調べればよい。
if Dir(FileName)<>"" Then
FileCopy FileName, FileName2
end if
とでもすりゃあ済むのではないのか? 違うのなら、もう少し状況説明を詳しく。
622 :
デフォルトの名無しさん :03/02/20 20:10
一般的に省略ボタンってどこにあるのですか?
テキストボックスの幅より、テキストが長い、つまり表示が切れている場合に ヘルプテキストをポップアップさせたいのですが、 テキストボックスの幅より出ている、というのはどうやって判断するのでしょうか。 VBでは等幅フォントで文字数数えたりそんなのしか無理ですか。
>>623 TextWidthプロパティで長さ調べるのは?
重なり順序をなぜZOrderと言うのでしょうか?
Z軸の順序。
>>626 さん
おお!横、縦、がx,yだから、なるほどzですね。ありがとうございました。
中卒発見しますた。
>>623 大体の長さでいいなら、Textボックスの幅と、
Textボックスに入れた文字と同じ文字を入れたAutoリサイズしている
非表示のラベルの幅を比べる。
#手抜きだけど。
ディストリビューションウィザードで、フォルダをその中身ごと追加するにはどうするのでしょうか? ディストリビューションをつかっって見たところ、ファイルを追加するということはできてもフォルダが追加できませんでした。
>>630 1ファイルずつボチボチとマターリやるしかない。
プロジェクト名.PDM を直接編集すると若干楽かもしれない。
634 :
デフォルトの名無しさん :03/02/20 23:36
Shell "gta.exe", vbNormalFocus Shell "gta.exe", vbNormalFocus Shell "gta.exe", vbNormalFocus みたいな感じで一定の期間で終了するexeを多重起動したとして起動しているexeがすべて 終了してプロセスから無くなるまで待機させたいんだけど、どうしたらいいですか?
635 :
デフォルトの名無しさん :03/02/20 23:54
WshShellのRun使う
637 :
デフォルトの名無しさん :03/02/20 23:59
638 :
デフォルトの名無しさん :03/02/21 00:06
>>636 多重起動したexeをどのように処理するのか?
641 :
デフォルトの名無しさん :03/02/21 05:29
OCXのコントロールを動的に追加する方法はありますか? コマンドボタンとかを動的に追加する方法は見つかったんですが OCXの方が分かりません…
642 :
デフォルトの名無しさん :03/02/21 06:20
VB上でFSO使うのってもしかして嫌われてる? 重いのかな?
644 :
デフォルトの名無しさん :03/02/21 07:39
VBってどうして実行速度が遅いのですか? しかもJavaよりもさらに遅いことが多いんですけど。
645 :
デフォルトの名無しさん :03/02/21 08:48
646 :
デフォルトの名無しさん :03/02/21 08:53
>>645 いえ、実際Web上の実行速度の調査とかを読んでいても
良くてJavaの実行速度近くまで出るけど、
アルゴリズムによってはJavaの3倍ぐらいの速度がかかってるんだよね。
どうしてかなと思って。
647 :
デフォルトの名無しさん :03/02/21 08:54
↑ もちろんJavaもVBも同じアルゴリズムだよ。 書き方が悪いとかそう言う問題じゃないと思う。
>>647 実際のソースを見ないと、なんとも言えんとおもうんだが、どうだろう。
649 :
デフォルトの名無しさん :03/02/21 09:19
>>644 書き方が悪いに1000ヤマシャキ
クラス(COM)を使ったコーディングだとVBは遅くなりやすい。
Javaはよく知らんけどコンパイルの最適化ってある?
651 :
デフォルトの名無しさん :03/02/21 09:30
652 :
デフォルトの名無しさん :03/02/21 09:50
>>652 それ見る限りじゃ、むしろ最適化したVBのほうが速いような感じだね。
とりあえず、646が「Web上の実行速度の調査」とやらのURLを
出さない限り話にならないような。
そんな古いやつ…
参照設定で登録できなくて、regsvr32では、エントリポイントが見つかりませんでした といわれるDLLは、VBでは使えませんか? Borland Cで書かれてるそうで、関数仕様以外はよく分からないものなんですが…
657 :
デフォルトの名無しさん :03/02/21 17:00
pic.ScaleMode = 4 pic.Picture = LoadPicture() pic.ForeColor = vbBlack pic.CurrentX = 10: pic.CurrentY = 3: pic.Print "モナー" pic.CurrentX = 10: pic.CurrentY = 4: pic.Print "ギコ" pic.CurrentX = 10: pic.CurrentY = 5: pic.Print "しぃー" pic.CurrentX = 10: pic.CurrentY = 6: pic.Print "8頭身" などの場合に"モナー"だけ赤く表示させるにはどうしたら良いのでしょうか? 何方かご教授お願いします。
658 :
デフォルトの名無しさん :03/02/21 17:07
よろしくです。 ファイルが使用中であるか(別のプロセスが使用中で無いか)を調べる方法を 教えてください。関数でもあるのでしょうか。 MSDNおよびグーグルで"ファイル 使用中 Visual Basic"で検索しましたが 力が及びませんでした。
>>657 pic.ForeColor = vbRed
pic.CurrentX = 10: pic.CurrentY = 3: pic.Print "モナー"
pic.ForeColor = vbBlack
pic.CurrentX = 10: pic.CurrentY = 4: pic.Print "ギコ"
>>658 とりあえず(ロック付きで)開いてみるとか名前を変えてみるとか削除に挑戦するとかは?
>>656 ドーモ。解決しました。関数のシンボル名が間違ってただけでした…(´・ω・`)スマソ
WebBrowserコントロールの事で質問なんですが HTMLを読み込む時にキャッシュを使いたくないのですが、どうすれば良いでしょうか? Googleで検索してもあまり出てこないし・・・ よろしくお願いします・・・(´Д`;)
アプリケーションに、右クリックのショートカットメニューを付けるやり方を教えてください。
>663 レジストリ弄るしょぼい方法しか知らない…
>>663 メニューエディタで表示をOffにしたメニューを作成しておき、
MouseUpイベントで、右クリックを感知したら
PopupMenuメソッドで呼び出せばいい。
>>662 ピクチャボックスにpngファイルを読み込む方法を教えてくれたら教えてあげる。
>>662 WinsockかINetコントロールで、ローカルファイルに
URLの内容を取得した後、Webbrowserの
Navigateで先ほど取得したローカルファイルのURLを
設定してはどうでしょうか?
あげてみる
670 :
初心者1号 :03/02/21 22:56
あのう・・・・すいません、ちょっと教えてもらえると幸いなのですが。 VB6.0でRichTextBoxを利用しているのですが、IMEmodeプロパティがなくて困っています。 何か解決方法はないのでしょうか・・・・
アンインストールまで自作しようとしてるんですけど、 自exeを削除する技を教えて下さい。 batファイル作成→exeを削除→batが残る→マズー こんな具合です。。
Private Declare Function ImmSetOpenStatus Lib "imm32.dll" (ByVal himc As Long, ByVal b As Long) As Long Private Declare Function ImmGetContext Lib "imm32.dll" (ByVal hwnd As Long) As Long Private Sub Command1_Click() dim mContext as long mContext = ImmGetContext(RichTextBox1.hwnd) ImmSetOpenStatus mContext, 1 End Sub みたいな感じでIMEをONにできます。また Private Declare Function ImmGetOpenStatus Lib "imm32.dll" (ByVal himc As Long) As Long を使うとIMEの状態を取得できるようです
>667 おお、サンクスです! 早速試してみます
>>671 batファイルの最後に、
del [batファイルの名前].bat
を追加すれば解決できると思います
>>674 うーん、さっき自batファイル消そうと、やった時は消えませんでしたが、
今やったら消えました・・。なんでかなぁ。。
ありがとうございますた。
676 :
デフォルトの名無しさん :03/02/21 23:36
>>675 不思議ですねー。
batの頭に CD [App.Path] とか入れると確実になるかもしれません
678 :
初心者1号 :03/02/21 23:40
>672 マジサンクスです。 でも技が良く分からない・・・ 試してみますです。
>>666 別に何も教えてもらいたくないけど...
imgctl.dllでDIB取ってピクチャボックスに転送しる
>>677 さらに App.Path を ”で囲うとイイ
>>678 ImmSetOpenStatus、ImmGetOpenStatus、ImmGetContext
についてはMSDNを参照してください。
これは、Win32APIを使った技なので、VBのマニュアルの
APIを使う・・・みたいな章を読めば詳しく書かれています。
681 :
初心者1号 :03/02/22 00:45
>680 ひじょ〜にありがたいです。 うちの教官が貴方みたいな人なら神だ・・・
682 :
デフォルトの名無しさん :03/02/22 02:50
>643 に便乗させてください。 FileSystemObjectは環境に依存するというのは なんとなくわかってましたが、 具体的に必要な環境としてはどういう環境が必要なのでしょうか? 教えていただけませんか? よろしくお願いします。
>>682 初期バージョンのWindows95で動かないだけでしょ。
金出し渋るタイプの、企業や国の機関以外で使ってないだろうから気にすな。
WM_MOUSEACTIVATEメッセージをフックしたいのだが、 VBではできねーのかな? いやねえ、戻り値をMA_NOACTICATEに変えたいだけなんだが・・・・ (Delphiなら簡単だが)
688 :
デフォルトの名無しさん :03/02/22 13:41
VisualBasicで --- Dim a As Double Dim b As Double Dim c As Double a = &H8000 b = &HAED000 c = a + b --- こんなことしてやると計算結果 c は &HAE5000 になります。 a が signed 扱いにされているようですが、これを unsigned に する(計算結果を &HAF5000 にする)方法ないですか?
>>689 realという型はVBには無いようですが…
a = CLng("&H8000") で解決しますた
&H8000&の方がいいよ。
以前あった質問で、結局レスがなかったものの再質問です。 treeviewコントロールを用いてエクスプローラ風に見せたいのですが、ドラッグ・ドロップ をする時に詰まってしまいました。ドラッグ中のアイコンが32*32で表示されるのは 32*32のアイコンのなかに16*16のアイコンを描いて、それをドラッグする時に選択することで 回避できたのですが、アイテムの名前が表示されません。IEのエクスプローラバーでの お気に入りと同じになってしまいます。自分としては是非アイテム名を表示しながらドラッグ したいのですが…ご教示お願いします。
>>679 >imgctl.dllでDIB取る。
dllの呼び出し方やDIBという言葉も知らんよ。
サンプルコードきぼんぬ。
質問者がどんな言葉遣いでも答えてくれる神以外は来るな。
非常にガッカリだ。
フォームを 最小化ボタンと終了ボタンのみで ウィンドウサイズを変更できないような風にするにはどうしたらいいのですか?
BorderStyle = 固定 Minbutton = True
ありがとうございます めっちゃ初心者質問ですみませんでした
>>666 いや、喪前が来るな。
質問者として最低限必要なものが喪前には無い。
703 :
デフォルトの名無しさん :03/02/22 23:51
よろしくお願いします。 ウィンドウの最小化とか最大化のボタンの左に同じ様なボタンを1つ2つ 追加したいんですがどうしたらできますか?
704 :
デフォルトの名無しさん :03/02/23 00:10
「れ、冷二さん……」 「なんだ」 「家へ、家へ帰してください、お願い」 無駄だとわかっていても、夏子は哀願した。愛する子供は今ごろどうしているのだろう、夫は……。ボロボロにされた身体ではあっても、夏子はこのまま家庭を捨てることはできない。 「こ、子供のことが気になるんです……」 「帰してやってもいいが……」 はじめは、このまま夏子を自分の牝として囲ってしまうつもりだった。ヤクザに追われて殺されるなら、それまでとことん楽しんでおこうというヤケっぱちな気持ちだった。 だが今の冷二は、不安と恐怖はあるものの、ずっと落ちつきを取りもどしていた。三人よりも、真樹子と二人のほうが安全だと思う。 それに夏子が行方不明ということで、警察が動きだしでもしたら、かえってやっかいになる。 「いいだろう、帰してやるぜ。だが、奥さんはもう俺の女だってことを忘れるなよ」 夏子は小さくうなずいた。だが、夏子はうれしくはなかった。冷二からは逃げられるものの、もう夫に顔向けできない身体にされ、殺人にまで巻きこまれて、どうして心が晴れよう。 「そうと決まったら、帰る前に、朝のつとめだ」 冷二は布団のなかで夏子を抱きすくめたまま、朝立ちで硬くたくましくなった肉塊を双臀に押しつけた。 「尻の穴だぞ」 「……は、はい……」 うなずいた夏子はすすり泣いた。 数えきれないまでに犯してもなお、朝からおぞましい肛交を求める冷二の貪欲さに、眼もくらむ思いだった。 「前……ではいけませんか……お尻、ヒリヒリと痛いんです」 「だから尻の穴がいいんだ、フフフ」 「ああ……」 夏子の声に哀しみとあきらめがこもった。何度されても肛交はおぞましい。 それでなくとも夏子のアヌスは赤く腫れて、ヒリヒリとうずいていた。 このうえまた冷二の太いものを受け入れさせられたら……。夏子はおびえた。 だが、おずおずと冷二のほうへ双臀を突きだした。
>>693 での追加質問ですが、treeviewをエクスプローラ風に見せるソースはDLしてきたものを
使っているのですが、同じフォームに別のtreeviewを他のカスタマイズのソースを適用したいと
思っているのですが、出来ますでしょうか?現状ではエラーは出ないのですが2つ目のカスタマイズが
有効になりません。私見では、一つのコントロールに対して異なる2つのサブクラス化(言葉は正確
ではないかもしれません)は出来ないようにも思えるのですが…
あ…666が…
サブクラス化といえば、 自アプリに飛んでくる全てのメッセージを取得する事はできませんか? SetWindowLongの引数にウィンドウメッセージを拾いたいコントロールのハンドルを渡せば、 そのコントロールに飛んでくるウィンドウメッセージは取得できますけど、 フォームに大量のコントロールを張ってるとき、 どのコントロールとは限らず全てのコントロール(と、フォーム)に飛んでくるウィンドウメッセージを知りたいんです。
すいません。
>>705 に関しては自己解決しました。サブクラスを2つ作れば
良かったのですね。ただ…693については依然わかりません。よろしく
お願いします。
>>707 一つのウインドウプロシージャに全部の
コントロールの処理させてはどうですか?
hWndでどのコントロールか分かりそうだし
>>706 もう少し詳しく…どのメッセージにどんな対処をすればいいんですか?
712 :
デフォルトの名無しさん :03/02/23 18:09
インストールするときにシェアウエアのように IDキーを入力してからインストール開始するようにする インストーラの作り方を教えてください。 ディストリビューションウィザードではできないのでしょうか?
>>712 VisualStudioInstller
ディストリビューションウィザードのようには簡単ではないが、
使いこなせばそれなりに良いみたいよ。マイクロソフトのサイトに行ってゲットせよ。
>>713 ありがとうございます。
さっそく探してみます。
ファイルのMD5の算出をしたいのですが、、、 ソースとかありませんか?
GUIにペインを使いたいのですが、 どのコントロールを使って実現したらいいのでしょう?
718 :
デフォルトの名無しさん :03/02/23 21:07
コマンドボタンに自分で作ったアイコンを表示する方法を教えてください。 プロパティのPictureで指定するのではなく,アイコンを登録してある場所の ディレクトリを保存したテキストファイルから,必要な行を呼びだして コマンドボタンに表示する方法です。
(・∀・)チンポーッ!!
>素のOSそのままで むぅ? ∩∩ (゜x゜ )○
>>724 OSインスコした直後の、OS付属のAPIだけでやる方法は知らないって意味ー。
>>723 の場合は、ソフトを配布する場合はDLLも一緒に配布が必要、ってことね。
そりゃPNGの形式を理解して ヘッダーよんでふんにゃかふんにゃかするんでしょう。
>>726 ヘッダに関しては難しいアルゴリズムとかとは無縁だから楽チンだね。
PNGはZIPの解凍作業がいるみたいですよ この前拾ったサンプルにzlib.dllの機能使ってる箇所があったので
>>726-728 それも参考にするけど、
とにかくコピペしてそのままつかえるサンプルやPNGを読み込むためのActiveXコンポーネントをきぼんぬ。
リッチテキストボックスぐらい使いやすいのを。
732 :
デフォルトの名無しさん :03/02/24 09:57
666 グレープシティーより LEADTOOLSというのがでてる。 9万で買えるActiveXだ。君の望みのものがある
>>732 むむ9万とは。でもほしい。
だけどそれは我慢してVB.NETを買っっちゃうかも。
余力があったらLEADTOOLSも買ってみる。
>>668 のさんぷるぷろぐらむはVB英語版用のサンプルだからかどうかわからないけど
参照設定のところがうまくいかなかったので
>>722 のSusieプラグインを使う方法に挑戦中。
>>723 もそのあと試してみる。
722のlzhの解凍先フォルダにSusie32 plug-in libraryというスージープラグインを入れてから、 プロジェクトファイルを開いてからF5キーでプログラムを動かし、ファイルを開く、で画像を指定しても 画像が表示できなかったのでプラグインを使う方法はあきらめる。 つぎは723を試してみる。
hDCとか初耳だがもうちょっと723の取説.txtを試してみるか。 取説.txtにサンプルプログラムがありそれはファンクションプロシージャがつかってあり、 SUBプロシージャしか使えない初心者のオレには難しい話だが試行錯誤ちう。
取説.txtのサンプルプログラムを どうやって実際にVBのピクチャーボックスでpngを表示させるプログラムに改造したらいいのかわからず断念。 結局ピクチャーボックスがpngを読み込んでくれるVB.NETを買うときまでpngファイルの扱いはあきらめる。
739 :
+激しく初心者+ :03/02/24 12:40
ExcelVBAにBASP21 DLLを組み込んで、PCから携帯へのメール送信アプリを 作ったんですが、 (いや、迷惑メールとは無関係です。会員登録アドレスへの一斉送信に使います) しばしばエラーメールが返ってきます。 もちろん、相手の方は拒否設定はしておられません。 届くこともあれば届かないこともあるといったような状況です。 相手がPCなら何のトラブルもないのですが、携帯だととたんに確実性が落ちます。 よい解決策をご存知の方はいらっしゃいませんでしょうか?
>>738 Vectorのヤツは取説がバグっとる…。
http://www.akikuma.cx/lzh/transg32.lzh こっちの修正済み取説.txtを使え。
んで、取説末尾のプロシージャを適当な標準モジュールにコピペ。
更に、そのプロシージャの上の行に、
Public Declare Function DCReadPNG Lib "TransG32.DLL" (ByVal pngf As String, ByVal TargetDC As Long) As Integer
をコピペ。
んで、
Picture1.AutoRedraw = True
ReadPNGFile Picture1, "C:\hoge\hoe.png"
ってやるとあらびっくり。
AutoRedrawがFalseだと表示しないので注意だ。
AutoRedrawは上記のような実行時に設定する方法ではなく、
デザイン時にプロパティーで設定しておくのが普通。
つーわけでがんがれ。
お客様のおかけになった番号は、電波が届かな(ry
>739 いいかげん言い飽きたこのフレーズ。 そ の エ ラ ー メ ー ル の 内 容 を 書 け 携帯は迷惑メール対策の関係上、同一サーバからの同時多発送信を 弾くという対策を取っているケースが多いのも関係しているかもな。
743 :
+激しく初心者+ :03/02/24 13:15
>>741 自分の携帯でテストしてみても、届いたり届かなかったりなんですよね。
744 :
+激しく初心者+ :03/02/24 13:16
>>742 キャリアによって異なりますが、概ね User Unknown なんですよね。
むしろVBの問題と言うよりキャリアのもんだいという気がするんですよね
>>744 なんか、スレ違いな領域の問題じゃないの?
VBとして解決できることは無いと思うが。
通信関係の板で聞いた方が解決すると思う。
同報発信の量が多すぎるとか、送信者のホスト名が引けなかったとか、
そういうようなVBと関係ない領域の不具合だと思うよ。
おしえた側からすればいちいち報告してくれるのは教えがいがある。
>>749 それも分かるが、試してから結果も含めて書けばいいだけの話じゃん。
時間かかるなら、ひとまず「ありがとうございました、試してみます」と言うのも分かるが、
>>740 の内容なんてものの数分かせいぜい数十分あれば試せる話でしょ。
「実験開始」なんていちいち宣言するのはまったくの無駄。
その発言だけならともかく、
>>733-738 がひどすぎるので、ちょっとね。
まあ、こんなこと書くのもレスの無駄使いなのでこの辺にしておく。
666もこのレスに反応しなくていいから。
>>750 は報告不足で会社でトラブルをおこさなければいいが・・・
性格は悪いが才能はありそうな予感
ActiveReport2.0で、ユーザー定義サイズの用紙を指定したいのですが、 反映されません。 Private Sub ActiveReport_ReportStart() Me.PageSettings.PaperSize = vbPRPSUser Me.PageSettings.PaperWidth = 12 * 1440 Me.PageSettings.PaperHeight = 17 * 1440 End Sub プリンタのデバイス名をnullにすればプレビューではサイズが 反映されるのですが…これはプリンタが対応していないってことなんでしょうか。 一応、プリンタはユーザー定義サイズに対応していて、専用のホッパも あるのですが…。 どなたか原因をご存知の方、教えてください。よろしくお願いします。
NULLについての質問です。 BinaryのFile(c:\NULL.lif)の中のデータに、NULLを含めようとテストプログラムを作ったのですが、うまくいきません。 Open "c:\NULL.lif" for Binary as #1 for i = 0 to 9 step 1 put #1 , , NULL next i close #1 この LINK.lif をBinaryEditerで確認すると、NULLの箇所が、 『 01 00 』とされています。 NULLなので、『 00 00 』とずっと思っていたので、 今まで私が間違っていたのか、それともこのプログラムがいけないのか、 そんなところで詰まってしまいました。 皆さん教えてください。お願いします。
756 :
初心者1号 :03/02/24 19:40
またまたrichtextboxの質問なのですが・・・ ユーザーにRichTextBoxに文章を入力させ,保存させたのですが。 当然のようにテキストを取得するとRTF形式に・・・ うまいことテキストだけ保存はできないのでしょうか・・・
vbNullChar、vbNullString
758 :
デフォルトの名無しさん :03/02/24 19:53
>>756 SaveFileで rtfTextを指定すればいいのでは?
759 :
デフォルトの名無しさん :03/02/24 19:56
>>755 VBでNULLは不定値。
もともとNULLの概念は処理系に依存。
760 :
初心者1号 :03/02/24 19:58
>757 ヒントでしょうか・・調べてみます。 取っ掛かりすらないので非常に助かります。 >758 当初そうしようと思ってRichTextBoxにしたんですが・・・ 少し事情が変わりまして。 シーケンシャルファイルの1レコードとして保存しなければならなくなってしまって。
761 :
たすけてママン :03/02/24 19:58
vb6sp5でmovieplayerコントロールを使っていたのですが、 先日wm9プレイヤーをインストールしたあと、プログラムを修正していたら、 デバッグ実行時に、PG中のメディアプレイヤーコントローラーの外観がwm9のものになってしまいました。 デバッグ中は問題なかったんですが、コンパイルしたexeを実行すると 「msdxm.ocxからコントロール'MediaPlayer'をロードできませんでした。msdxm.ocxのバージョンが最新のものではありません。以下略」 といわれ、起動できなくなってしまいました。 コンポーネントを見てみると、msdxm.ocxなるものがあり、選択してみるとwm9のアイコンがツールボックスに表示されます。 嗚呼、まさかwm9プレイヤーを入れただけでこんなことになるとは。たすけてママン
762 :
たすけてママン :03/02/24 20:12
2連続ですまん。 msdxm.ocxのリンクを張ってみると、ツールボックスには真っ白なアイコンが・・・・。(なくなってる!? ためしにmsdxm.ocxにリンクを張って、オブジェクト名を以前のバージョンのコントロールの名前を同じにして実行してみたら、 サポートしていないメソッドが・・・・・。(これってソース書き直しじゃん!? wm9アンインストールしたら元に戻るとおもいますか?
コード出せって言われそうだけど VBだけでPNG画像を扱うモジュールを作ったことがある。 もちろんZIP圧縮/解凍もVBだけでやった。 ・・・が、笑える程遅くて使い物にならなかったよ・・・ PNGの全部の形式に対応してた訳ではなかったが、 PNGのRFCよりZIP関連のRFCと格闘してる方が長かったな。 DQNなんで英語は苦手なんよ。 JPEGをVBでやった「つわもの」(バカともいう)もどっかにいたな・・
>>763 VBは遅くないって結論出たわけだし、あんたもコード出せないわけだし、信用度低いな。
> JPEGをVBでやった「つわもの」(バカともいう)もどっかにいたな・・
お前はもっとバカだな(w
766 :
デフォルトの名無しさん :03/02/24 22:56
あるexeに対するショートカットを作るなんてことは可能でしょうか。 できそうなら手法を教えてください。
>>760 SelTextなどを使って、保存したい部分のテキストだけを
文字列変数に入れて、それをファイルに保存してはどうでしょうか。
一部分だけをうまく選択するのが難しいかも
>>762 Windowsのセットアップディスクからmsdxm.ocxの
古いバージョンを持ってきてアプリと同じフォルダに
入れたらいけるかも
>>763-764 deflate圧縮はビットシフトとか多用しそうな気がする。
だとしたら、VBは速度的にかなり辛いんじゃないかなぁ…。
漏れは作ったこと無いからわかんないけど。
deflateの前に1回差分取るみたいな感じの圧縮もあったよーな気がする。
一度挑戦してみたいけど、漏れのスキルじゃzlib弄るのがせいぜい…。勉強しよ。
>>760 単にNULL値として 0x00を出力したいなら、素直に CByte(0) でも出力するのが
いいんじゃないかな。 0x00 0x00 なら CInt(0)。
vbの“Null値”はCの“Null文字”とは別物なので注意だ。“vbNullChar"も
“vbNullString"もまたちょっと違うのだ。
RichTextBoxからプレーンテキストを得たいだけなら、
RichTextBox.Text とか、
RichTextBox.SelText とか。
…意味が違う?
>> JPEGをVBでやった「つわもの」(バカともいう)もどっかにいたな・・ >お前はもっとバカだな(w バカ系プログラマには最高の褒め言葉だ。ありがとうw PNGやったときは300MHzぐらいのときでVB4だったんよ。 今なら少しは使えるかもしれんけど、ビット演算が多いからね・・・ あとVBが遅いとはおいらも思ってないな。 2^1398269-1(メルセンヌ素数)を出力するプログラムは Pen3-400MHz/VB4で6時間かかったが、 Pen3-933GHz/VB6で25分だった。 ちなみに同じマシンでVC++では16分。Linux/gccでは17分。 VC++/gccはコンソールだし最適化とか考えてないロジックでだから、 バカみたいに遅いわけじゃないんでない? VB4まではバカみたいに遅かったと思うけど。
>Pen3-400MHz/VB4で6時間かかったが、 >Pen3-933GHz/VB6で25分だった。 CPUの速度にプログラムの速度が全然ついて行ってないが。特に下。
>>772 ??
単に、VB4でP-Codeの場合死ぬほど遅い、
VB6で最適化コンパイルかけるとCと比較して遜色ない(と言えないこともない)、
という結果が出てるだけのよーに見えるけど?
何が言いたいかサッパリわからん…。
そういや、みんなは最適化コンパイルかけるとき、PentiumのFDIVバグチェック
外してる? 今どきPentium60/66があるとも思えないので必ず外してるんだけど、
かなり速度やサイズに影響するよ…。
>>773 普段から単位書かないから肝心なときに単位を間違えて恥をかく。
776 :
デフォルトの名無しさん :03/02/25 01:34
VBからCなどで作ったDLLを呼び出して処理したいのですが、 DLL側から値がどんどん送られてくる場合VB側ではどのような処理でその値を 取り出したらいいか分かりません。 具体的にはDLLのタイマーイベントで何秒かごとに値がVBに送られてくるとして、 VBではその値を送られてきた順に処理するという感じです。 VB側でタイマーをコントロールするのではなく、送られてきた値をキューに入れて どうにかするという方法は無いでしょうか?よろしくお願いします。
コールバック使うとか
778 :
初心者1号 :03/02/25 02:04
なんかいけそうです。 みなさんありがとうございます。
あのう、今さっきVB6をはじめた、超素人ですけど、質問していいですか? ログ読んでも俺レベルよりはるかに上ばっかりで下は絶対いなさそうなのでサッパリわかりませんでした。 今安いぺらぺらの本買ってきて読みながら勉強してるんですけど、最初の方でつまづいてしまって・・ しかも答えとか載ってないから全然わかりません、いろいろと試行錯誤してるんですが・・ もし答えていただける方がいるなら質問させていただきます。
VBでチン子を大きくするにはどうしたらいいですか?
>>780 やったぁ、ありがとう。
テキストの文そのままうつします。
問題・ボーリングのスコアを2回分入力すると平均とランクを表示するプログラムをつくりなさい。
○処理条件○
・コマンドボタンを「開始」をクリックするとデータ入力用のダイアログボックスを表示し、1回目のスコアを表示する。
300を超えるデータを入力したら、メッセージ表示用のダイアログボックスを表示し、データエラーを警告し、プロシージャから抜け出す
ただし、999の場合はプログラムを終了する。
・1回目のスコアを正しく入力したら、2回目のスコアを1回目と同様の条件で入力する。
・2回目のスコアを正しく入力したら、平均とランクの判定を行って、その結果をラベルに表示する。
・ランクの判定基準は、スコアが2回とも250以上の場合は「超A級」、平均が200以上の場合は「A級」
100以上の場合は「B級」、100未満の場合は「C級」とする。
です。
それから、ラベルは4つでコマンドボタン1つです。
しょーもない問題かもしれませんが、本当に困ってるのでよろしくお願いします。
わかりにくかったら言ってください
781は絶対俺ではないです。
宿題じゃないんですよ〜。 休みの間になんか覚えたいと思ってはじめたんです。 だめですか?
全部聞いたら身につかないので やってみてつまづいたら聞くようにした方がよいと思います (いきなりつまづくのはなしで)
わかりました。 ではどーしてもわからないのを聞きます。 判定の出し方とかはわかったんですけど、2回値を入力するとこがうまくいかないんです。 ダイアログボックスは2回でるんですけど、2回入力してもなんにも表示されないんです。 そもそも1回目に入力した値がどこに記録されてるのかもわからないんです。
>>781 VBでプログラム作って、揉んでもらえるところに池。
変数を覚えよう
まず、どのような方法で入力用のダイアログボックスを 出していますか? それから、ダイアログボックスで入力した値は変数に保存する 必要があります。変数の概念が分からなければマニュアルを 読んでみてください
変数って言うのは最初に宣言するやつですよね?
SUKOA = InputBox("スコアを入力してください","スコア入力",0) です。
>>792 それと全く同じ文を2回呼び出しているんですか?
はい・・だめなんですか?
1回目の値は最初のInputBoxでSUKOAに入力されます。 2回目は別の場所にいれないとまずいです
なるほど〜、だからだめなのか〜。 じゃあSUKOA2とかにしたらいいんですか?
dim sukoa1,sukoa2,heikin sukoa1=inputbox("1回目") sukoa2=inputbox("2回目") label1=sukoa1 label2=sukoa2 heikin=Int((sukoa1+sukoa2) / 2) label3=heikin if sukoa1>=250 and sukoa2>=250 then label4="超A級" elseif heikin>=200 then label4="A級" elseif heikin>=100 then label4="B級" else label4="C級" end if
あれ?俺が今勉強してる範囲で出てきてないのとかある。 intってなんですか? それからdimですけど、そんな風にまとめてよかったんですね。 俺は1つ1つ分けて書いてました。 797さんわざわざありがとう。 でも自分なりのを書いてみます。
#include <stdio.h> void main(){ int ちんこ通常; int ちんこトランス; int ちんこ平均; printf("通常時の大きさをいれてください[mm]\n"); scanf("%d",&ちんこ通常); if(ちんこ通常=999){ printf("終了します\n"); return 0; } if(ちんこ通常>300){ printf("化け物かよ!\n"); return 0; } printf("大きくなっちゃった時の大きさをいれてください[mm]\n"); scanf("%d",&ちんこトランス); if(ちんこ通常=999){ printf("ちんこ測定終了\n"); return 0; }
if(ちんこトランス>300){ printf("それでもでかすぎ!\n"); return 0; } if(ちんこ通常>=250){ if(ちんこトランス>=250)printf("超ボブさっ布級"); return 0; } ちんこ平均=(ちんこ通常+ちんこトランス)/2 if(ちんこ平均>=200)printf("外国AV男優級\n"); elseprintf("ちちぇえ\n"); return 0; }
VBスレでわざわざCで作った781に敬礼!
なんとかできました。 でも797さんみたいに綺麗にまとまらなくてバカ長くなってしまいました。 こんな感じです↓ Option Explicit Private Sub Command1_Click() Dim SUKOA1 As Integer Dim SUKOA2 As Integer Dim HEIKIN As Integer Dim ERA As Integer SUKOA1 = InputBox("スコアを入力してください", "1回目", 0) Select Case SUKOA1 Case 999 End Case 0 To 300 Case Else ERA = MsgBox("エラー", vbOKOnly, "エラー") Exit Sub End Select
SUKOA2 = InputBox("スコアを入力してください", "2回目", 0) Select Case SUKOA2 Case 999 End Case 0 To 300 Case Else ERA = MsgBox("エラー", vbOKOnly, "エラー") Exit Sub End Select HEIKIN = Val((SUKOA1) + Val(SUKOA2)) / 2 Label3.Caption = HEIKIN If SUKOA1 >= 250 And SUKOA2 >= 250 Then Label4.Caption = "超A級" End If Select Case HEIKIN Case Is >= 200 Label4.Caption = "A級" Case Is >= 100 Label4.Caption = "B級" Case Else Label4.Caption = "C級" End Select End Sub ひきプロさんアドバイスありがとうございました。
後半直しました。 SUKOA2 = InputBox("スコアを入力してください", "2回目", 0) Select Case SUKOA2 Case 999 End Case 0 To 300 Case Else ERA = MsgBox("エラー", vbOKOnly, "エラー") Exit Sub End Select HEIKIN = Val((SUKOA1) + Val(SUKOA2)) / 2 Label3.Caption = HEIKIN If SUKOA1 >= 250 And SUKOA2 >= 250 Then Label4.Caption = "超A級" ElseIf HEIKIN >= 200 Then Label4.Caption = "A級" ElseIf HEIKIN >= 100 Then Label4.Caption = "B級" Else Label4.Caption = "C級" End If End Sub
>769 ありがとう。いろいろやってみました。ではその一部始終をご覧いただこう。 他のWM9インストール前のPCから取ってきてコピーしてみたがだめでした。 そもそも同じバージョンのファイルでした。あとサービスパックから古いバージョンのファイルを入れてみたがだめ。 どうだめかというと、一度リンクをはずしてあったので、ファイルをコピーしてもコンポーネントの一覧には表示されない。 おそらくレジストリをいじられてるとおもわれる。レジストリをどういじれば出てくるのかわからないっす。 方法としては事前にディストリビューションウィザードで作ってあったセットアップを実行すれば、このocxが登録される可能性大 とおもって、セットアップを実行。さっきコンパイルしてたexeを実行するが同じエラー。そこで再度IDEを開き、コンポーネントを見てみると、 予想通り、ocxが使える状態に。リンクを張ると、ツールボックスのアイコンもちゃんと表示される。その状態で再度コンパイル&実行。 うまくいきました。 結論 wm9player入れただけで、VBのコンポーネントから旧バージョンのocxへのリンクを消された。これはマイクロソフトが意図的にやったのか だとしたら何のためか。意図的じゃないなら修正してほしい。
>>806 >wm9player入れただけ
って・・・ (´д`;)
開発環境に、ましてやWMPコンポーネントを使ったアプリを作ってるところに
バックアップも取らずにホイホイ新しいものを入れちゃう君の姿勢が
一番問題だと思うんだが。
利用可能な用紙サイズの一覧を表示するには どうしたらいいでしょうか? Printer.PaperSizeだと現在の用紙サイズだけですよね。
>>808 API使え。
DeviceCapabilitiesとか。
VB6の標準EXEプログラムをコマンドプロンプトから起動して、同じカレントプロンプトに 対して文字を出力するにはどうすればいいんでしょうか? VBから新規にコマンドプロンプト立ち上げて出力は出来るんだけど・・・
>>810 標準出力へ出力するってこと?
API使っためんどくさいやり方しか漏れは知らない…。
>807 そういうものですか。以後気をつけます。
>>814 「どうしてもVBじゃなきゃ嫌」 と言うわけでもなければ
さっさと別の環境を使った方が早い。
817 :
デフォルトの名無しさん :03/02/25 13:45
DB接続に以下のようなソースで実行しています 'Oracle 接続用オブジェクト作成 Set gOraSession = CreateObject("OracleInProcServer.XOraSession") 'データベースOPEN Set gOraDB = gOraSession.DbOpenDatabase("GA", "GA/GA", 0) この、セッション接続が6〜10秒ほどかかります この速度を早くする方法はありますか? 環境はWin2000(sp1)+VB6.0(sp5)+oo4o+Ora8iです。 それともこれってこういうもの?
>>816 さん、で、出来ました…感謝です!
でも、editbinってVB6オンリーの開発環境だと入らないのでしょうか?
私は幸いにもVisualStudioだったので使えましたが…
>>819 やっぱりそうですか・・・
ありがとう・・・
>>818 link.exeを置き換えて、リンクオプションで subsystem を指定する方法が
過去ログにあったと思います。
この方法なら editbin がない環境でも対応できるでしょう
>>818 プロジェクト プロバティの実行形式ファイルの作成タブの
アプリケーション タイトルに
CONSOLE:hogehoge
としたらできなかったかなあ
(ちょっと自信ナシなので、バックアップをお忘れなく)
>>822 あ、間違った。822は無視してくだされ
>>821 ほほう、そんな技が。link.exeならVB6にもありますしね。
色々と参考になります。
.NETならConsole.WriteLineで一発なのになぁ…
>817 Oracle知らんのだが、名前解決に時間がかかってるって可能性は?
826 :
デフォルトの名無しさん :03/02/25 17:00
RichEditコントロールのOLEオブジェクト埋め込み機能を無効にしたいのです。 で、OLEDropModeを1にして、OLEDragDropイベントが発生した時に RichTextBox.SelText = Data.GetData(vbCFText) ってやったんですが、これだとOLEオブジェクトは弾けるものの、 テキストをドロップするときの動作がOLEDropModeが2のときと変わっちゃうんですね。 (ドラッグ中に挿入位置が変えられなくなる) 仕方がないんでこの方法は諦めてGoogleで検索しまくってみたら、 SendMessageとEM_GETOLEINTERFACEでこちょこちょやると行けるらしいと発見。 しかし、それ以上探しても何も出てきませんですた。。 ということで、おまいら助けてください。よろしく。 #錯乱中なので文がおかしいかも知らんが許して。。
>>817 それはローカルに置いてるのかい?間にルーターとか挟まってない?
828 :
デフォルトの名無しさん :03/02/25 17:17
SQL文でビット演算の結果を拾いたいんだけど 別の意味の論理演算子に取られてしまうよう 全部拾いVBで選別する以外でよい方法ある?
>>825 すいません、名前解決ってよくわからないです
ちっともOracleのチューニングとかしてないので
これを設定すると早くセクションがはれるのですか?
>>827 ルータやら専用線やらはさまっていまつ
でも、SQLPLUSは早く繋がるので(といっても3〜5秒はかかる)
回線は大丈夫かなーとおもいまつ
つーか、ググってみてもセクションの部分の速度に関しては
言及してるところが見つからなかったので
そんなものなのかなとチト諦め気味です。
(他人のサンプルとか見ても接続中ってメッセージ出して
時間をかせいでいるかんじだし)
VBってどこに売っているんですか? 近くの電巧堂に売っていますか?
>>830 VB6単体はすでに販売終了だったよーな気がする…。
まぁ、流通在庫が山とあるだろうけど。
ビジネスソフトのパッケージとかを沢山置いてある店ならあると思うよ。
書店で売ってることもあるな。文教堂に売ってたの見たことある…。
>>831 厨房扱いされると思いましたが、
すばやい回答ありがとうございます。
うちは超田舎なので、あちこち探しても無いんですよ。。
>>757 ありがとう!早速試してみます^^
>>759 処理系に依存、システムによってNULLの値が変わるということでしょうか?
検証してみます。ありがとうございました^^
>>829 いっぺんローカルで試してみろ。問題の切り分けはそれからだ。
SQL*Plusで5秒もかかるなら仕方ないんじゃない tnspingとかは?ためした?
838 :
デフォルトの名無しさん :03/02/25 19:27
VBインストール時じゃないと MSDNライブラリ関連づけつつインストール出来ないんじゃなかったっけ。
Dim a as ? a=10/3 のような場合にaは何型で宣言すればいいのでしょうか?
>>839 Doubleなどを使う場合浮動小数点についても勉強しておきましょう。
843 :
デフォルトの名無しさん :03/02/25 20:08
VB.NETでDelphiのTWebBrowserに相当するコントロールって何ですかね?
(*´д`*)アハァ…
スレ分けるほどドトネトーは違うのか・・・
>>799 > intってなんですか?
これは一番やってはいけない聞き方だ。
まずはヘルプを見る癖をつけろ。
その上でヘルプのどこがわからないかを聞く。
VB勉強しようと思ってます。 とりあえずHP作ろうと思ってるんですがVBでホームページって作れるんでしょうか? やり方とか書いた本とか知りませんか?
851 :
デフォルトの名無しさん :03/02/25 23:30
はじめまして。 最近VBを始めたのですがちょっと分からない事が出てきました。 例えばデスクトップ画面などでファイルを複数選択して、削除 する場合複数同時に削除できますよね。 これをコードで書く場合にはどういう風に書けばいいのでしょうか。 点線で囲んだ範囲のコントロールを複数同時に削除したいのですが ちょっと分かりません^^; どうかお助けお願いします。
>>848 すいませんでした。知らないことを調べもせずにすぐ聞くのは失礼でしたね。
以後気をつけます。
854 :
デフォルトの名無しさん :03/02/25 23:49
855 :
デフォルトの名無しさん :03/02/26 00:07
VB4スタンダードからVB6スタンダードにアップデートできますか?普通に買いなおさなきゃダメですかね、4で事足りるですか?
>>851 じゃないけど、要約すると、
フォルダ内の選択中の複数ファイルを順に取得するにはどうしたら良いのか、
ってことじゃない?
俺取得方法がわからんけど、ループはFor Eachかなぁ。
VB.NETって普及してるの? まったく聞かないんだけど。
860 :
デフォルトの名無しさん :03/02/26 10:37
>>858 違うと思う。
ふつうはSHIFTやCTRLキーで複数選択するけど、
マウスのラバーバンドで範囲指定して、その領域内に含まれる
ファイル(アイコン状態)をすべて選択したことにする方法。
これってListViewコントロールで出来たっけ?
あんまり使ったことないんだよな。
861 :
デフォルトの名無しさん :03/02/26 10:40
>>859 VB.NETスレ見たら?
ネット関係とか、ネットデータベースが楽になったみたい。
でも、それ以外はよくなってないみたいだし、遅そうだし。
>855 VB4に慣れてるならVB6を探して買う事をおすすめする。 私はVB4、5、6とつかってきて、.NETのあまりの変貌さに驚いた。 はっきり言ってアレはVBじゃない。 それと、スタンダードはアップデートは無かったと思うぞ。 プロ版以上しかなかったと思われ・・・。
>>861 VB.NETはアプリの起動は遅いが処理速度は上がったと思うよ
864 :
デフォルトの名無しさん :03/02/26 11:01
今からやるならドトネトーだね。 それなりに苦労はあるが、取っつきやすいが色々と制限のきついVB6よりは ドトネトーの方が少々知らないといけないことが多いが遙かに柔軟性があって いろんなことが簡単に出来てしまうからお奨めだね。 特にVB6の中途半端なオブジェクト指向もどきは糞だね。
でもWindows98じゃ動かないからダメ
>>865 「VB4の32ビット版を買うやつはアフォ
Windows 3.1じゃ動かないからダメ 」
って感じですか?
867 :
デフォルトの名無しさん :03/02/26 11:26
IN = 128 aaa = Right$("00" & Hex(IN), 2) このaaaをまた10進数の値として取り出すことは可能ですか?
ありがとうございましたー!
VB6SP5でADOを使いCSVを扱いたいのですが、CSVへの書き込み時にエラーが出てしまいました。 ODBCでmicrosoft Text Driverを使っています。 読み込みはできました。今度はその読み込めたCSVのデータを書き換えるために以下のようにしました。 adodc1.recordset.fields(1) = 1 adodc1.updateの行でmicrosoft text driverが以下のエラーを出しました。 このISAMではリンクテーブル内のデータを更新することができません。 このドライバーは読み込み専用なのでしょうか?
>871 訂正です。 adodc1.udpate × -> adodc1.recordset.update ○
>>863 そう?
どっかにVB6とVB.NETのベンチマークない?
VS.NETが800MHz以上推奨だったので、見送ってたんだけど、
VB.NETのパッケージ見たら、それほどではなかったのね。
買ってみようかな。
VB6で作ったソフトに自作アイコンをつかってみたいんですけど、 なにかいいアイコンエディターはありますでしょうか?
>>875 さん
ありがとうございます。
サイズは32ですか・・・。
ガンバッてアイコン作ってみます。
877 :
デフォルトの名無しさん :03/02/26 13:35
>>871 >このドライバーは読み込み専用なのでしょうか?
残念ながらそうです。ひょっとしてINSERT文だけ使えたかもしれませんが、どっ
ちにしろほとんど実用的ではないです。Recordset.GetRowsをうまく使ってファ
イルを作り直すか、
Recordset.Save "hogehoge.xml" , adPersistXML
でXML形式で保存するとか。
>877 ADOでCSVを扱う情報が少なくて大変でした。 やっぱり書き込みは無理でしたか。 仮にINSERTだけが使えてもDELETEが使えないときついですね。 更新があるたびに新規にテーブルを作るという荒業も考えられますが・・・。 実用的じゃないですね^^; >Recordset.GetRowsをうまく使ってファイルを作り直す いま作ってるアプリがたいしたものじゃないので、こういう感じでつくってもいいのですが、 それ以外のアプリでも使えるようにするため、 一般にADOをつかってCSVをデータベースとして直接扱える方法があるかいろいろ調べてました。 XMLはぜんぜん視野に入れてませんでした。 XMLも視野に入れていろいろ検討してみます。ありがとうございました。
879 :
デフォルトの名無しさん :03/02/26 14:38
>更新があるたびに新規にテーブルを作るという荒業も考えられますが・・・。 ヤメテー。・゚・(ノД`)・゚・。
>879 いやまだ見てません。 検索してみます。 教えていただいてありがとうございました。
>>834 やってみたよ・・・
やっぱりセッション接続に6〜10秒ほどかかる・・・
sqlplusでもSqlplus.exe GA/GA@GAって起動すると
やっぱり6秒くらいはかかるぅ・・・
(2回目の接続はどちらも2、3秒でいけるのに)
つか、もう原因はOracleっぽい感じなので
スレ違いだな
つか、VB+Oracleな事してる人って
この辺はあんまり気にならないのかなぁ
>879 CSVで検索してみました。 CSV形式へのコンバートといった使い方が目的のソースと、 レコードセットをCSVで書き出すやつ(書き出すレコードが指定できないので実質はコンバート目的)しかありませんでした。 あと何か会員にならないと手に入らないソースがあるみたいですが・・・・。 面白そうなのがCSVをADOのような感覚で使えるCSVDBSなるクラスを発見しましたが、SQL使えない。 ADOコントロールと違ってフレックスグリッドコントロールと連携できないので今作ってるアプリに組み込むには多少面倒ですが、 やっぱりADOから直接CSV扱うのはいろいろ制限あって実質使えないかな・・。
過去ログ見たり、MSDN見たりしたけどダメだったので質問。 Dim frmD As frmDocument Dim font Set frmD = New frmDocument font = frmD.rtfText.font lblFontName = font でオプションダイアログだしたらなんか新しい子フォームが出た。 どうしてでしょうか? 教えて君で非常にスマソ
>>885 よくわからんが
Dim font
font = frmDocument.rtfText.font
lblFontName = font
でいいとおもうが
887 :
デフォルトの名無しさん :03/02/26 16:19
886でいいと思うが、、 Formってのは、Classと似たようなもんです(というと突っ込まれそうだが Set frmD = New frmDocument を繰り返すたびに、フォームのインスタンスが出来ます。ただし、 Set frmD = Nothing としてもそのフォームが消える(Unloadされる)わけではない。
>>886-887 返信どうもです。
が、
>>886 のコードでやると
実行時エラー '91' :
オブジェクト変数または With ブロック変数が設定されていません。
と出るんですよねー。
改めて自分がヘタレだって知りました。
889 :
デフォルトの名無しさん :03/02/26 16:35
>885 何がしたいんか? ラベルにフォントを設定したいんか? フォント名を表示させたいんか?
>>889 アクティブな子フォームのRichTextのフォントを取得して、
ラベルにフォント名を表示させたいのです。
>>885 885のコードで、スタートアップモジュールを
frmDocument(.frm)からmain(.bas)へ変更する。
もちろんmain.basは新規に作成し、frmDocument.frm中にはコードを
書かない。書きたければInitialize,terminateでコンストラクタ・デストラクタ
を記述する。
結構こういう組み方は海外のサイトで見かける。
893 :
デフォルトの名無しさん :03/02/26 16:43
>>890 フォントはStdFontオブジェクト。
そのNameプロパティがフォント名
よって…
Dim frmD As frmDocument
Dim objFont As StdFont
Set frmD = New frmDocument
Set objFont = frmD.rtfText.font
lblFontName.Caption = objFont.Name
では駄目かな?
実際試して無いんで解らないが。
規定のプロパティを付けるところと、
暗黙Variantは止めなさい。
>>885 補足:
すべて標準モジュール内に処理コードを書き、フォームは設計のみで
クラス(のように)扱う。VBで擬似マルチを行う場合によくやる。
895 :
デフォルトの名無しさん :03/02/26 16:46
>894 ここではモジュールの層は関係ないだろ。
VBはVBらしく組みたいな〜
897 :
デフォルトの名無しさん :03/02/26 16:49
>891 設計の話はまた今度。 もしくは別スレ立ててやってくれや。 言いたいことや、やりたいことは推奨するし、 層の切り分けは大事だが、 こ こ は 初 心 者 ス レ
前から思ってたんだが、スレタイの「初心者」って必要なの? だって「上級者」スレってないじゃんw 単なる「VB質問スレ」でいいような気がするんだが・・・
899 :
デフォルトの名無しさん :03/02/26 16:53
900 :
そうだ選挙にいこう :03/02/26 16:58
>>987 仕切っているところを見ると2ch初心者ですか?
>>885 Dim ft As New FontDialog()
ft.Font = TextBox1.Font
ft.ShowDialog()
TextBox1.Font = ft.Font
質問 フォント名の表示と多層アーキテクチャはどのような関係があるのですか? 初心者の僕には関係が見出せません。 よろしくお願いします。
902 :
デフォルトの名無しさん :03/02/26 17:01
987踏んだ香具師は2ch初心者ケテーイ
>>901 1を聞くと10答える人なんじゃない。超ウザイよね。
904 :
デフォルトの名無しさん :03/02/26 17:07
905 :
デフォルトの名無しさん :03/02/26 17:08
>>885 アクティブな子フォームってMDI使ってるの?
>>893 このコード使ってもだめでした。
うーん、オープンソースアプリにしようかな?
>>906 なんか斜め読みしかしてないんだが、すでに開いてるフォームを
新たにインスタンス作成してるのが問題なのでは??
909 :
デフォルトの名無しさん :03/02/26 17:30
修正前と同じですた。 オプションダイアログ出すたびにフォームが出ます。
>>885 すまん、アクティブフォームのコントロールを拾うのね(^−^;
これでは新規にフォームのインスタンス作ってるから、
子フォームが増える罠。
だから、フォームのインスタンスを作ってるところ
Set frmD = New frmDocument
これを、アクティブフォームを拾うように変えればいいよ。
>>885 > Set frmD = New frmDocument
この行は何をしているつもりだい?
913 :
デフォルトの名無しさん :03/02/26 17:37
これでだめなのかなあ Dim objFont As StdFont Set objFont = frmDocument.rtfText.font lblFontName.Caption = objFont.Name
ActiveForm つかえ
アホくさ
>911 やってみますたが、「複数の MDIフォームは使用できません」 と怒られてしまいました。 レス遅れるかも知れません。
>>916 Set frmD = [MDIフォーム名].ActiveForm
でアクティブな子ウィンドウを取得できるよ。
ど素人がオープンソースって、丸投げの言い換え?
毎回教えて君ですいません。
>>913 それでもダメでした。
ご教授ありがとうございます。
>>917 やっぱり、ダメでした。
ご指摘ありがとうございます。
>>918 いえ。おかしいところを口で説明するのが難しいため、
ソースを公開すると言うことです。
921 :
デフォルトの名無しさん :03/02/26 18:38
直接プログラムとは関係ない質問でスマソのですが… 今Win2000にVB6.0(訳あってSPなし)を 導入して画面を作っているのですが、 今日急にVBのヘルプが使えなくなってしまいました。 (メニューからヘルプ選んだりF1押すと 「"0x00730076"の命令が"0x80004005"のメモリを参照しました。 メモリが"written"になることはできませんでした。」 というエラーが出て強制終了する) どなたか解決方法をご存知ないでしょうか? ちなみにVB6やMSDNを入れなおしても解決しませんでした。 OfficeやIEなどほかのアプリのヘルプは 正常に見れるのですが…。
924 :
デフォルトの名無しさん :03/02/26 18:51
>>885 886。それで、ちゃんとその
rtfText
rtfText.font
がoublicになってるかどうか。
oublicはPublicのまちがい rtfTextってコントロール?
>>885 まず、MDIフォームはModule1のSub Mainでインスタンスを生成している、
fMainFormがインスタンス名。
よって、frmOptionsのロードイベントでのMDIフォームには
frmMainじゃなく、fMainFormを使う
その上にあるDim frmD〜がコメントアウトされてるから、有効にしとくように。
さらに、ActiveControlプロパティなっているが、呼び出すのはActiveFormプロパティな。
おそらく、これでフォント名は表示するはず。
で、閉じるときなのだが、cmdOKのクリックボタンを例に出すと、
frmDocumentを直接触ろうとしているが、これが間違い。
実際に触るフォームはfMainForm.ActiveFormである。
frmDocumentを触ろうとすると、新規のフォームのインスタンスを生成してしまうよ。
(クラス的に言えばフォームはGlobalMultiUse属性なので)
だから、frmDocumentの部分をfMainForm.ActiveFormに変えたら、新たにフォームを開かずに動くだろう。
書き方としてはもっと整理しなければならないが、現状動くというレベルまでで。
ちょっと厨房が触るにはまだ早いような気がするよ。 もう少し、オブジェクトとインスタンスは理解しないと、しんどいよ。
Err.Numberはプロジェクト全体で使えるパブリックな価なんですかね? また、Error.Numberというのもありますか? たしか、ErrオブジェクトとErrorオブジェクト両方あったような気もするんですけど やっぱりこれは同じもので、ただ短い文を書きたいときはErrをつかえばいいんですよね?
複数行のテキストボックスtxtaaaの中の文字一文字ずつ検索したいんですけど、始まりはdo until EOF(txtaaa.text) 見たいな感じでいいんですかね?
>>930-931 ヘルプ見たか?
自分で試したか?
自分で調べることをしない奴にはプログラムは無理だろう
神と人間の違いはなんだろうか? そう、献身さだ。
猿と人間の違いはなんだろうか? そう、知識に対する貪欲さだ。
つまり、神が猿に教えを与えるスレ、っと…。
いや、猿と人間の違いは 自慰行為に対する貧欲さだ。
おーい山田君。 猿のAA張っといて〜
ErrオブジェクトとErrorオブジェクトの違いをキボンヌ
脊髄反射しないでヘルプ読めよ
しばらく放置ですいません。 やっぱり、漏れは厨でした。 ご指摘してくださったみなさん、ありがとうございました。
神は寝る暇をおしんでカキコんでくれる。 オレが寝てる間に答えがあることを期待する。
>>941 VBにErrorオブジェクトは無い。
ErrorステートメントとError関数ならある。
Errオブジェクトもある。
なにがしかのコントロール(例としてData Report デザイナ)が
Errorという名前のオブジェクトを持つことがあるが、VBのエラー
とは関係無い。
満足したか? 漏れはこれから寝る。
GetFormat
946 :
デフォルトの名無しさん :03/02/27 07:44
VBで[標準のブラウザ]を変更するにはどうしたら良いでしょうか。 HTML上でハイパーリンクをクリックした時に開くブラウザをボタンで変更したいのです。 おながいします。
Picture1.BackColor = &HFFFFFF でも Picture1.BackColor = "&HFFFFFF" でもどちらでもピクチャボックスの背景色を変えられましたが、 正しくはどちらなんでしょうかね?
彡川三三三ミ 川川 ::::::⌒ ⌒ヽ ハァハァ 川川::::::::ー◎-◎-) ← 川(6|:::::::: ( 。。)) / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ._川川;;;::∴ ノ 3 ノ < 漏れ? /;;;:::::::::::::::\_;;;;;;;;;;;;;;;;ノ \______________ /:::: /:::::::::::: |::::| (:::::::: (ξ:: ・ ノ::・/:::| \::::: \::::::: (::: | /:::\::::: \::: ヽ| /:::: \::::: \::: ヽ ) |::: \::  ̄ ̄⊇)__ 〜 |::::::: \;;;;;;;;;;;(__(;;;・) 〜 モワー \:::::::::: ξ(;;; );; ) 〜 \:::::::::::: ) ) )::::: // /::::::::: // /::::: (_(_ (;;;;;;;;;;;__っ)))つ))
,,,,-‐'" ̄ ̄ ̄ ̄"―-、. / \ / \ / ヽ / 神 ヽ | ヽ | ,,,,;;::'''''ヽ | ;;:::::::'''" .: ,,,,,, ヽ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ヽ... " ,,,,,,,,, .:: ;''“”` | < ハッハッハ!見ろ!人がゴミのようだ! .―. ;::''“”“~` ::::. .. |. \_____________ ..| | ̄.. ::::::: | .\{_ ( ,-、 ,:‐、 ) | \\/.. \\\\ | \_ヽ.| ヽ.__,-'ニ\\\\| ;": ..;.;".; `、ヽ ヾニ二.\\\\ ;": ..;.;".; ;".;"".;":ヽ\ ..\\\\;": ..;.;".; ;".;":;"." : `ー-::、_ ,,..'...\\\\ ;".;": .;".;: .;" `ー――''''' .\\\\ ;": ..;.;".; : ゴ オ ォ ォ …… ! !".;" \\\\ ;": ..;.;".;": ;" .;".;": _.;.;_".;": \\\\ ド カ ァ ン ! .;".;": ..;.;".; ζ /_.;_/| .;".;", _ \\\\ .;".;.;".;": .;".;": ..;.;".;": ;:'.;| ΓΓ | |;":从へ_/| . \\\\"_.;__..: 从へ从へへ从 ; ζ | Γ从 | |;:.. |从Γ | | 从へ从∠___/| ( ⌒( ⌒ ) ζ | 从Γ | |.:;. |从Γζ.;".. .;. \ |ΓΓΓ| |p
なんだよ? ( ( ,,.r'' ゛~~` ''ッ,, 何見てんだよ? ) ) 、 ゛ ,,,,,,,,,,,,,,,,,,,,, ヾ. 荒らすなよな! ,.、 / / ミ ミ゛,へ.__, ,_ノヽ i. .| |l l ,´ ミ ミ, ( ・) {・フ 〉 ミ. _-、i::| |ニニii ' 、,,,,ツi: ミ,`~´ ヽ~〈 .ミ /,‐ヽヽ`、|| 、シ`` i: ,ゞ 'n.inヽ. .ミ ( .〉〉/ シ // ミ` l.l ヽ"、 / ノ ミ/ シ 彡 ,=こ二=.{ ミ,, ,r'´ ,,、'゛ ミi. / / ' ! w、`~^' vwv '、 ミ 〃 .ミ .ミ / i: / `^^ \ ." 〃 ミ .ミ.:/ / / i: v ! ,, \ 、 〃 ミ :i; .i: w !! ミ!: ミ \\( ⌒ヽ :i; / i: !! .ミ キ , ⌒`、_ ) ) :il .i: ! w! ミ .:i. (_ ( _,ノ ) , :il ! i: ! ,〃゛ キ ゞ、 __, ノ , .:il ! /~~````` " '''' = ‐- 、ミ _,,,,_ミ, il ` ー ´ :il ´ ―  ̄ - ,,. -‐‐-、、 ヽ. ヾ、 ゞ、 ` 〃 ゝ、wx.mn.!!++ナ'~ ヾ~ヽ、 ヽ、 ,, ~^^}´ 彡 〃 〃 }} /〉.〉〉〉i''" 〃 彡、 {{ 〃,__!////l | 〃 X,, 》. ≪.__`‐'.' '´,Uwwvw'、...,,,___ ^^^^ !wニこ)こ)二)`) (_,,,..- 、...二⊃_).)
>946 レジストリ
952 :
デフォルトの名無しさん :03/02/27 10:02
ネットワークドライブに接続して、そこのフォルダにDIRしたら、 そのままつかんじゃって切断できません。なにかうまい方法はありますか?
>>947 ウソついた。上。
暗黙の型変換について調べることをオススメする。
>>954 VBの中で何かが起こってるんですね。ありがとうございます。
956 :
デフォルトの名無しさん :03/02/27 12:01
フォルダ階層を順に追っていって、あるフォルダの中にある すべてのフォルダ・ファイルにアクセスするにはどうしたらいいでしょうか。 色々試行錯誤してはみたのですが、どうもうまくいきません。
>>956 再起検索しる。
sub hoge(pathHoge)
a=Dir(pathHoge)
Do While a <> ""
aの値を配列にでも格納しる
a = Dir()
Loop
For 配列の中身
Call hoge(配列(i))
Next
End Sub
みたいな感じ。
間違っても、Dirで列挙している最中に再帰呼び出ししてはいけない。
Dir関数が腐るぞ(笑
>>884 マジデスカΣ(゜д゜|||)
Oracleスレはだれも反応しないし
ネット漁っても引っかからないし・・・
(´・ω・`)モ ウ ダ メ ポ
961 :
デフォルトの名無しさん :03/02/27 16:20
VBからCで作ったDLLのDllMainを呼び出すにはどうしたらいいのですか?
>>961 Declare か LoadLibrary
>>962 DllMain(HINSTANCE hDLL, DWORD dwReason, LPVOID lpReserved)
呼び出す時にこの引数の中に何も入れたくないんですけど無理ですか?
964 :
デフォルトの名無しさん :03/02/27 16:43
カンマ区切りの行ファイルがあって、そこからカンマを抜きにしたデータを 1つずつ取り出すにはどうしたらよいでしょうか?
>>963 どっかでみたような質問だな
引数に何も入れたくないってことは全部値0でってことか?
DllMainがエントリポイントである限り無理だと思われ。
何でそんなことがしたいわけ?
>>964 Dim arrayHoge() As String
arrayHoge = Split("hoge,hoe,hanyan", ",")
For i = 0 to Ubound(arrayHoge)
Debug.print arrayHoge(i)
Next
アドレスwww.uploader/forlder001/にファイルをアップしてみた。 というカキコミから www.uploader/forlder001/ だけを抜き出すにはどのような正規表現を使えばいいの? 当方InStr関数とかは使えるけど正規表現はサパーリ。
「www.uploader/forlder001/にファイルをアップしてみた。」 というアドレスだったらどうする?
>>969 全角文字列・/を含んだ半角文字列・全角文字列
という1行から/を含んだ半角文字列を抜き出すアルゴリズムがほしいのよ。
だから
「www.uploader/forlder001/にファイルをアップしてみた。」
というアドレスは無視。
ちなみに
upSHITEMITAYO----------KOKONI-----www.uploader/forlder001/
というようなのもupSHITE〜001/まで抜き出してしまってもかまわない。
とにかく/を含んだ半角文字列はアドレスである確立が高いのでそこを抜き出したい。
まぁ、普通はURLとして不正な文字があるかどうかチェックだな。 2バイトURLは見なかったことにする。 w+\...+\/.+[^!#-;=?-~] ってな感じかなぁ。試してないけど。
>>971 Dim myStr as String
myStr="www.uploader/forlder001/"
myStr2="アドレスwww.uploader/forlder001/にファイルをアップしてみた。"
'だとすると、
If myStr = (w+\...+\/.+[^!#-;=?-~](myStr2)) then
form1.caption="アドレス抽出しました。"
End if
'のように正規表現は使うわけ?
正規表現の書き方は今日教えてもらった
w+\...+\/.+[^!#-;=?-~]
をコピペして使ってみるけど
正規表現の使い方がわからないのだ。
つまり、 myStr2="アドレスwww.uploader/forlder001/にファイルをアップしてみた。" に対してどうやって正規表現を使ったら "www.uploader/forlder001/" が出てくるのだろうか?
「半角文字列を抜き出すアルゴリズム」 規定した文字列で連続するもの毎に配列に入れる処理 IN "つまりYouはこうEたい訳だ、「となりのuploader/forlder001/ってかっこEeeee」" OUT You E uploader/forlder001/ Eeeee 「アドレスかどうか判定する処理」 文字列 like "*.*/*" 程度でいいのかどうか・・
>>974 そんなことより速戦的な使い方のソースをクレよ。
たぶん
Set mySeiki = 正規表現オブジェクト
みたいな感じで宣言すると正規表現が使えると思うんだよね。
>>976 自分で探した方が早いなんてなんてスレだっ
>>968 「set 正規表現 オブジェクト」でgoogleしたら
すぐにヒットしたけど?
979 :
デフォルトの名無しさん :03/02/27 21:10
>>978 検索結果をこちらに貼り付けたまへーくるしゅうない
>>979 regexp
を見て、そうだ!そんな感じだった!と思い出した。
なかなかドキっとしたぞ。えらいえろい
最悪の質問者だな… 丸投げイクナイ
983 :
デフォルトの名無しさん :03/02/27 21:15
>>968 ◆HLRHHB4j46
思い出したんじゃなくて、今知ったんだろw
>>983 まったく知らなかったんなら正規表現という言葉自体知らないはずだろ。まあ多少の記憶のひっかかりはあった。
無事正規表現使用の見通しもたったところで、この話題はここでピタッと終了〜。
985 :
デフォルトの名無しさん :03/02/27 21:24
性器表現ってなんでしか?
なんで関数(FUNCTION)と手続き(PROCEDURE)に分けているんでしょうか・・・
988 :
デフォルトの名無しさん :03/02/27 22:27
フォルダの中にあるファイルを更新日時順にソートしてそのファイル名 をテキストファイルに書き出したいのですが、なにかいい方法はありま すでしょうか? よろしくおねがいします。
989 :
デフォルトの名無しさん :03/02/27 22:41
6.0のWebBrowserは.netでは何て言うのでしょうか?
>>990 どこにも6.0のスレとは書かれていない罠。
ところで次スレは?ないなら立てるけど。
992 :
デフォルトの名無しさん :03/02/27 22:49
>>988 ファイル一覧を取得し、ファイル名と更新日時を配列に突っ込む。
ユーザー定義型の配列か、二次元配列を使え。
んで、その配列をソートしる。
件数少ないならバブルソートでも充分だろ。
激しく手抜きしたいなら、Sorted = True にしたListBoxを用意して、
List1.AddItem Format(FileDateTime(ファイル名),"yyyymmddhhnnss") & ファイル名
っつー手も無いこともない。
書き出す時はForで回して、
Print #1, Mid(List1.List(i),15)
とかやる。
…ま、本気で手抜きする時以外は勧めないが。
や、少なくとも.netよりは近いだろうって事で。 ↓次スレよろ。
995 :
デフォルトの名無しさん :03/02/27 22:57
>>989 なんですが答えてもらえないのでしょうか?
Dim 1000() As Integer
Set 1000=ALL
1000か?
1000!
999!
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。