VBプログラマ質問スレ(6.0以前) Part55
1 :
デフォルトの名無しさん :
2009/07/13(月) 21:12:36
しかし会社のソースの保守くらいしか使ってる人いないんだろうな 新人で6を覚えなきゃいけない人っているの?
半年前から使い始めた。苦痛だった。 もうつかわんけど。
もったいない
厨房の時に英単語を覚えるためのプログラムとか作って遊んでたよ。 なつかしい。
行番号もしらない若造がなにお
VB6ってたしか行番号つけられるんだっけ RENUMなどは無かった気がするけど
Z
いまだに.NET以降のよさがわからない
時代が変わっただけだ。 都合で他言語と統合しただけで良いとこなんてねぇよ。
11 :
デフォルトの名無しさん :2009/07/15(水) 21:09:10
VB.NETは失敗作 過去にしがみついた奴らのせいだ
VB6に変わるものってアルの? ってかVB6使わないとしたら何を使えばいいの?swing?
ABかC#だろJK
14 :
デフォルトの名無しさん :2009/07/15(水) 21:55:04
ABってなにあぼーん?
ActiveBasicだろJK
ABも終わった言語・・・
始まってすらいないが
18 :
デフォルトの名無しさん :2009/07/20(月) 00:37:44
VBスレも終わってしまいそうです・・・
19 :
デフォルトの名無しさん :2009/07/21(火) 17:01:14
20 :
デフォルトの名無しさん :2009/07/21(火) 18:40:07
VBScriptで質問があります。指定されたフォルダの中にある指定された拡張子のファイルのパスを取得する(1ファイル)処理を行いたいのですが、
==VBSファイル記述開始==
(略)
TSSearchFolder = "D:\"
(略)
FileList = Fso.GetFolder(TSSearchFolder)
For Each strFile In FileList.Files
strName = strFile.Name
outLogFile.WriteLine(Date&" "&Time&" "&strName&" をチェックしています")
If UCase(Right(strName, 3)) = ".TS" Then
SearchedTS = TSSearchFolder&strName
outLogFile.WriteLine(Date&" "&Time&" フォルダ検索によりtsを捕捉しますた(・∀・)")
outLogFile.WriteLine(Date&" "&Time&" → "&SearchedTS)
End If
Next
If SearchedTS = Nothing then
outLogFile.WriteLine(Date&" "&Time&" tsを捕捉できなかったお・・・(´;ω;`)ブワッ")
outLogFile.WriteLine(Date&" "&Time&" プログラム終了")
outLogFile.WriteLine(" ")
outLogFile.Close()
WScript.Quit
End If
(略)
==VBSファイル記述終了==
この作業でログファイルに書き込まれたのは、
2009/07/20 16:13:22 をチェックしています
2009/07/20 16:13:22 tsを捕捉できなかったお・・・(´;ω;`)ブワッ
2009/07/20 16:13:22 プログラム終了
のみ・・・orz
ttp://blog.livedoor.jp/akf0/archives/51369357.html のページやその他サイトをぐぐっても見あたらず
FileList = SearchFolder(TSSearchFolder) For Each strFile In FileList としても同じ結果でしたorz
どなたか解決策ご教授お願い致します・・・orz
>>20 適当にレス。
突っ込み1 &strName&" をチェックしています"
→「strName&」 は間違いかも(変数接辞や数値接辞の&はLong型の暗黙の宣言子)。正しくは「strName &」
突っ込み2 SearchedTS = Nothing then
→上で文字列を代入しているか何も入っていないのでObject型にはならないと思う。(期待する値も文字列型でしょうからそもそも間違い)
そのため比較式の答えは常にFalseになるでしょう。正しくは「SearchedTS = "" then」または「SearchedTS = vbNullString then」
突っ込み3 FileList = Fso.GetFolder(TSSearchFolder)
→先頭にSetが抜けてます。これだとデフォルトのプロパティであるNameの値つまり文字列型の"D:\"が入る気がする。
突っ込み4 ひとつ見つかればいいなら見つかったあとループを中断すべき。
→Exit For を追加。
22 :
20 :2009/07/22(水) 18:30:28
>>21 ありがとうございます!!
的確な即レス、痛み入ります。
ご指摘の通りでした。おかげで無事、人生初のプログラムが組むことがました。
初歩的な欠陥にもアドバイスいただけて感謝です。
いえいえ。 つか初のプログラムだったの?w ならレスの説明はちょっと省略しすぎてわかりにくかったね。 ごめんな。
酒井法子ファンの酒井法雄氏はどうしてるんでしょうか
25 :
デフォルトの名無しさん :2009/08/09(日) 13:19:35
VBで質問なのですが、 文字コードの変換ツールをVB作成しているのですが。 その文字が改行コードであるかどうか、という判定文を作りたいのですが、 どのようにすればよろしいのでしょうか。 よろしくお願いします。
26 :
デフォルトの名無しさん :2009/08/09(日) 14:08:45
元のファイルの仕様によるけど、CRLFかCRかLFであれば改行コードでいいんじゃない? アスキーモードで開けばCRLFとCRは自動で処理してくれるしLFの時だけバラせばOKかな
>>25 何をどうしたいのかよくわからん。
対象の文字コードは何で、どこから持ってきてどうしたいんだ。
相手はファイルなのか?どっかから得たデータなのか?
>>26 のレスで満足ならいいけど。
非アクティブの無題のメモ帳にコピーしたものを貼り付けるだけのスクリプト。 Set objWshShell = CreateObject("WScript.Shell") objWshShell.AppActivate "無題" objWshShell.SendKeys "^{V}",True objWshShell.SendKeys "{ENTER}",True たまに(5回に1回くらい)コピーされないことがあるんですが、 なんでかわかりますか? ご教授願いますm(__)m
29 :
デフォルトの名無しさん :2009/08/13(木) 20:24:32
貼り付けタイミング間に合わないことある なんとかウエイトを入れて試すよろし
30 :
28 :2009/08/13(木) 22:05:07
>>29 レスサンクス!
Sleep 10
をAppActivateとSendKeysの間に入れたら直りました!
AppActivateの検索が間に合ってなかったのかな?
ありがとうございましたm(__)m
vb6でmicrosoft tablet dialog control 6.0を導入したいのですがどうすれば良いでしょうか? SP6をインストールしたができませんでした
あとこのように書いてあるぞ。 > 注 Visual Basic 6 で PenInputPanel を参照して使用するには、 > Microsoft Windows XP Tablet PC Edition がインストールされたコンピュータで開発を行う必要があります。
34 :
デフォルトの名無しさん :2009/10/13(火) 01:38:08
ネタがねえなあ
フォームの大きさをデスクトップのフォントサイズの倍率を変えても固定にするにはどうしたら良いんですか?
>>35 >デスクトップのフォントサイズの倍率を変えても
ディスプレイの解像度を変えてもという事ですか?
なら元のフォームサイズ(最小の)に、
スクリーン毎の倍率を掛けたら良いと思います。
デスクトップのフォントサイズの倍率は、ディスプレイの解像度とは別ですよ
1倍時のサイズをコードに数値として埋め込んでおき、ForcCreate時にイメージを除く可視コントロール全てに倍率を掛ける。 forかwhileで可視コントロール総当たりでリサイズ。 で良いのかな。 本当はFormCreate部が勝手にリサイズするところをキャンセルさせるんだろうけど。 コードはよく判らない。
普通にScaleModeをpixelにしてデザインしたらダメだっけ? まあそれでも自動スケーリングが働くなら、ScaleModeをpixelにしてさえいれば Formのサイズの単位はピクセルではあるはずだから、コードでサイズを強制すれば いいだけのはずだと思うが。 もうVB触らなくなって久しいから自信ないけど。
ScaleModeを変えても設計の単位が変わるだけみたいですね
ちょっくらVBの勉強を始めようかと思い立ち本屋を数軒回ったんだけど 以前は結構置いてあったはずのVB関係の書籍期がほとんど消えていた。 代わりにC++の本が増えていた。 もしかしてVBって無くなるとか?これから勉強してもムダになる?
42 :
デフォルトの名無しさん :2009/10/22(木) 20:33:34
VB6はいまさら覚えるものではない やるんだったらC#かVB.NET
VB6って Visual Basic 6.0のこと? Visual Basic 2008はVB.NETでいいのかな? ASP.NETをちょこっとかじったので、Visual Basic 2008をきっちり勉強しようかと思って居るんだけど C# 3.0をやった方が役に立つのかな?
VB6だったら古本屋をあたったほうが早い
VB6ではなくて、Visual Basic 2008の勉強と言ってるのですが。 それで本屋さんを当たったら参考書が激減していたので、何か事情があるのかな? と思ったわけですが・・・
Visual Basic 2008ならスレタイを良く見直そう。
6.0以前ガ━━━( ゚д゚ ;)━━━ン
初心者スレから、移動してきました。 リストビューのカラムヘッダの区切り部分を ダブルクリックすると、オートフィットしますが、 これをプログラムから行うにはどうすればいいのでしょうか? HDN_ITEMDBLCLICK というのをを使うようですが、 それがなんなのか良くわかりません・・・。
>51 つ LVM_SETCOLUMNWIDTH、LVSCW_AUTOSIZE
54 :
デフォルトの名無しさん :2009/10/27(火) 21:21:51
Win7 pro 64bit版をインストールして色々VB6で作ったアプリを試していたのですが、 アプリAで「d:\test\」フォルダに大きいファイルを書き出し中に アプリBで一定間隔で「d:\test\」フォルダのサイズをfilesystemobjectまたはfilelenで 取得しようとしたところ、最新の正しいファイルサイズが取得できず困ってます。 アプリA・B実行中に「d:\test\」をエクスプローラで開き、F5を押すとその時だけ ファイルサイズが取得できました。 それとXPでは大丈夫でした。 何かいい方法ないでしょうか?
>>54 質問するときは情報は正確に書くのが基本。
問題が起こってるのは本当に"d:\test" ?
違うでしょ?
56 :
54 :2009/10/27(火) 21:49:04
>>55 「d:\test」以外のフォルダ、ドライブでも同様の現象がおきます。
57 :
デフォルトの名無しさん :2009/11/04(水) 15:30:29
質問です。知恵を貸していただきたいです。 visual basic 6.0で作られているプログラムを海外でも使用する事になり その際に日本語と外国語、両方表示できるように改修する事になったのですが visual basic 6.0の標準のオブジェクトでは外国を表示できないという事がわかり microsoft forms 2.0 object libraryのコンポーネントを使用して外国語を表示する事になりました。 そこで実際に上記のコンポーネントを使用してラベルを貼り付けてAutoSizeをTrue、WordWrapをTrueにして 外国語を表示させてみたのですが、表示は出来るのですが元のラベルの大きさからはみ出る文字数を表示させようとした 場合に表示がおかしく(文字を縮小して全体を表示させている?)なってしまいます。 これをなんとかVB6標準のラベルと同じような動きにする方法はないでしょうか? (はみ出る文字数が入力された場合は自動で横幅が増える)
質問です Commandボタンを押すとある作業を永遠にループするプログラムを 作ったのですがそのループをとめる方法が分かりません。 あるキー入力をする(例えばESCキー)を押すと作業を止めるように設定したいのですが 思いついたやり方がループの記述内にいくつもGETASYNCKEYSTATEで確認するという あまりにも汚いやり方だったので、別のやり方があるならば是非教えてください。 もちろんデバッグ中であればctrl+breakで止まりますがそれだとプログラムとしては全く 使い物にならないのでどなたかご教授お願いします。
doeventを適当なところにはさんでおいて、cancelボタンが押されたかどうか調べる。
>>59 ループが結構長いのですがそうするとかなり重くなってしまいませんか?
timerinterval1に設定してキー入力を確認させたりするよりはマシだとは思いますが
58ですが新たな問題が出ました フォームのkeydownでQuitChk = 1となるようにして ループのWait内にQuitChk = 1ならループを終了させるようにしたいのですが プロシージャーをまたいでEndSubに送る方法ってあるのでしょうか? 通常ならループ内に If QuitChk = 1 then goto End1 ....... End1: End Sub でいいはずなのですが、Ifをループ内のあちこちに大量に記述するのが気がひけるので すでに大量にあるWaitの中にループからEnd Subに飛ばすイベントを作ろうと 思ったのですがやり方がわかりません
あるわけねーだろハゲ
LabviewをVBに変換するソフトなどありませんか?
キー入力をフォームがアクティブウィンドウではないときでもフォームが 受け取ってくれるようにするにはどのように記述すればいいのでしょうか?
DXとかタイマー&APIとかサブクラスとか
ローレベルフック。って、VB6 でも使えたよな。
WebBrowserでVB側からActiveXやスプリクトの実行を止めるの はやはり無理ですか。Webで検索しても成功例もなさそうですし。 もし可能ならヒントだけでもお願いします。
にちゃんねるブラウザのように htmlを取ってくる->htmlを加工していらないとこは削除->WBで表示 って感じでできるんじゃない? めんどくさそうだしやったことないけど
Donut系のIEコンポブラウザは任意にスクリプトやActiveXコントロールの実行のオンオフを切り替える機能を持っている。 そいつらはC++製だけど、WebBrowserのインタフェースはC++にできてVBでできないことはないはずだから、可能だろうとは思う。
71 :
68 :2009/11/20(金) 03:13:05
72 :
デフォルトの名無しさん :2009/11/25(水) 00:01:40
質問をお願いします。 Setup.Lstの中で [.tlb]ファイルに対する操作として >$(TLBRegister) とありますが、これを手動で行う場合 どうすればいいんでしょうか? 配置先に配置して、レジストリに登録すればよい? その場合、どのようなレジストリになるのでしょうか。 どなたかご教示願います。
regsvr32 tlbファイル名
75 :
デフォルトの名無しさん :2009/11/30(月) 01:17:27
PCをWindows7に新調したんだがVB6(SP6)入れたら不可解な現象が。 コードエディタで特定のカタカナ入れると、勝手に削られる。 例 「フリガナ」→「フリガ」 「ナナナナ」→「ナナ」 なんだろう? 一応、互換モードは全部試してみたが症状同じ。 新規のプロジェクトでも起こる。 他のアプリでは発生しない。
XPモード使えよwww
IDEはすでにサポート終わってるし。
さすがに7までサポートしろと言うのは気が引ける
79 :
75 :2009/11/30(月) 03:17:16
互換性のトラシューいじくり倒したらなんか直った これでまた戦える・・・
vmware使えよ
>>79 明確な原因と対処法が分かってないのにそのまま進めると後で痛い目を見るから怖いと思うんだが…
VBってどこから開始するの?main()みたいな意味で。 自分が渡されたのってBASファイルしかないのです。 でも、インポートでDLL(画面らしい)を入れているので、 もしかするとそのDLLの画面の方にエントリポイントがあって、そこからコールバックされる 部分のソースをわたされてるだけかしらん? そんな事ってありえますか?? んなわけないか。。EXEにしているはずだし。。 ???わからん、たすけて~
設定があるでしょ?スタートの
>>83 そうだったのかーーー
ありがとうございます!!見てみますm(_ _)m
VB6.0のWinSockコントロールでIISにアクセスしているのですが 統合Windows認証のためが返ってきます。 HTTP/1.1 401 Unauthorized Content-Length: 1600 Content-Type: text/html Server: Microsoft-IIS/6.0 WWW-Authenticate: Negotiate WWW-Authenticate: NTLM そこで、Authorizationヘッダをつけたいのですが Authorization: Negotiate <Base64 encoded SPNEGO token> <Base64 encoded SPNEGO token>の部分はどうやって 生成すればよいでしょうか? よろしくお願いいたします。
あきらめろよ。 WebBrowser 使え。
あきらめて.net使います
質問です。 CreateObjectでIEのオブジェクトを作成して使用しているのですが、 IE6だったころは問題無く何年も動いていたソフトが、 先日IE8にしたところ、入れ替えの数日後から「オートメーションエラーです。」と エラーが発生するようになってしまいました。 IE6とIE8では何か使用方法が異なるのでしょうか? ご存知の方が居られましたらご教示願います。
テストはしたのかね
セキュリティ関連でいろいろ違う。
すいません マクロ初心者です。 ここの質問スレでいいいんでしょうか? 九九のマクロを組んだのですが、 バグがあるみたいです。 どこがおかしいのか教えていただけませんでしょうか? .Cells ~writeCol+1の間にバグがあるそうなのですが(汗) Sub macro1() Dim writeRow As Long: writeRow = 1 Dim writeCol As Long: writeCol = 1 With Worksheets("Sheet1") For writeRow = 1 To 9 writeCol = 1 Do While writeCol <= 9 .Cells(writeRow, writewCol).Value = writeRow * writeCol writeCol = writeCol + 1 Loop Next writeRow End With End Sub
バグがあるみたいです、じゃなくて、どうなるのか書けよ。
単に、 .Cells(writeRow, writewCol).Value の2つ目の引数が打ち間違ってるだけじゃねえか
>>93 気付かなかった
あいがとうございました
解決しました><
option explicitをつけましょう
>>88 です。
>>89-90 レスありがとうございます。
私自身が管理しているものではないので詳しくはわからないのですが、
おそらくテストなしで入れ替えたのではと思います。
セキュリティ関連も含め、実機での再現試験を行いたいと思います。
ありがとうございました。
VB6でAPIのMoveMemoryとCopyMemoryを使ったとき 引数で渡した変数をどう扱ってるのかさっぱりわからん コピー元の変数は中身をデータとして渡すのか中身のデータをコピーデータアドレスとして渡してるのか コピー先の変数の中身に直接データを書き込むのかコピーしたデータのアドレスを書き込むのか さっぱりわからん
void CopyMemory( __in PVOID Destination, __in const VOID* Source, __in SIZE_T Length ); なんだから、アドレスにデータを書き込むんだろ?
つまり Dim a as Integer Dim b as Integer b=20 CopyMemory a,b,2 ってすると aに20がコピーされるの?
APIビューワそのままだとAnyだから使いにくいな。 Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long) Integerの例ならこう書き換えると動く。 Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (ByRef Destination As Integer, ByRef Source As Integer, ByVal Length As Long) ... CopyMemory a,b,2
なるほど。ありがとう
例えば Dim a(1) as Byte Dim b as Integer b=&H1234 CopyMemory a, b,2 ってしたら a(0)は&h12 a(1)は&h34 というふうにできたりする? 逆に CopyMemory b,a,2として 逆bにコピーできたりするの?
できるよ~ ただし、X86はリトルエンディアンなので バイトの並びは逆になるけどね~
なるほど。ありがとうございます。勉強になります
シフト演算ってどうやるの? 論理右シフトとか論理左シフトとか
シフトは2倍、1/2倍、DLL呼び出しで代用すればOK
2倍、1/2倍だと符号ビットが計算できないっす DLL呼び出しって?シフト演算用のDLLがあるの?
昔作った記憶もあるし、速度を考えなければ符号ビットを別計算してもいい
>>100 書き換えずに、ByVal で渡せばいいんだよ。
CopyMemory ByVal a, ByVal b, 2
違った。ByVal で渡すときは、VarPtr() だな。
>>108 速度は欲しいです
CRCというのとかALDER32というのを計算したいんですが
なんでVBはIntegerもLongも符号付オンリーなんでしょ
いろんなアルゴリズム試してみたいのに
シフト演算できないし、APIビューアに無いAPIの宣言わからないし
APIをVBで使う際に気をつけなきゃならんこともわからないし
付属のMSDNのCDは欲しい情報の大半が英語
といってももう10年近くVB6しかやってないし.NETとか全然違ってわからんし
C言語系は入門書ばっかで未だに理解できんし
N88BASICのほうが楽しかった
やはりVB6にシフト演算の処理は存在しないのですね・・・・ 残念すぎますよ・・・
public function hidarisifuto(src as integer, sifuto as integer) as integer on error resume next hidarisifuto=src for i=1 to sifuto hidarisifuto=hidarisifuto*2 next i end function こんな感じで組めばいいよ
CRCなどなら尚更CでDLL作って呼べばいいだろ 無理してVB使う必要はまったくない
扱える言語がVB6とQBasicとN88BASICだけで VB6も10年近く使ってますが、プログラミングは小趣味でやってるだけでして未だに初心者レベルです・・orz どれもベーマガ読んだけで専門書とかまともに読んだことないですし Cは数年前にトライしてみましたが(LSI-C86だったかな?)古いC入門書でしたが途中で挫折 CへのトライはAPIを使いたいという感じで取り組んだのですが・・・ ちなみにVB6はラーニングエディっションでして機能制限が多くてAPIビューアも付属してないです(フリーソフトのAPIビューア使ってます) winsockコントロールも使えないのでAPIでwinsock使おうとして挫折。さっぱりわからんとです ですがもういいです。VBではシフト演算が絶望的ということがわかりましたので あきらめます
みなさんに色々とお答え頂きまことにありがとうございました。 シフト演算は諦めます。ご迷惑おかけしました。
ドケチで頭の固い馬鹿ジジイだな
warota
LSI-C86でWindowsのプログラムを組むのは九州から歩いて東京に行くようなものだよ せめてVisual C++ Express Editionとか
歩きが自転車くらいには成る
121 :
デフォルトの名無しさん :2009/12/11(金) 22:07:08
TimeofDayの書式で時間と分だけ出す方法を教えてください 秒はいらないです
TimeOfDayって何?
フォームにビットマップ画像を直接描画したいのですが どのような関数があるでしょうか? WINAPIでやる必要があるのでしょうか?
ゲーム作ったとき思ったんだが PaintPictureメソッド使うよりBitBltを使ったほうが描写処理が早いってことが分かった
何を今さら。
126 :
デフォルトの名無しさん :2009/12/12(土) 13:19:47
>>123 .NET以前のバージョンは絶望的だよ!
ビットマップファイルの構造を把握して
1バイトずつ読み込んで処理して1ドットずつ描いていくしかない!
.NETでビットマップファイルを扱える関数が出たときにはVBの大革命だ!って騒がれたんだぜ!?
DirectXコントロール
もう遅レスだろうがVBシフト演算できるだろ
Dim suuji as Long Dim suuji2 as Long suuji = 2 suuji2 = suuji << 3
へー。VB6 でそんなの使えるんだ。すごいね。
DirectXコントロールの使い方分かる人いる?
DirectX 7 for Visual Basic Type Library ( dx7vb.dll) DirectX 8 for Visual Basic Type Library ( dx8vb.dll) とかあるんだけど 使い方が分からない
昔持ってた本がこれ使わないで普通にAPIで記述してたからさ
135 :
デフォルトの名無しさん :2009/12/12(土) 15:23:41
最近、始めたんだけど 上司にボタンを押してocxの画面を出してと言われたのだが ocxって、フォームに貼り付けて使うんじゃないの? 出す方法があるなら、誰か教えて;;
VBのヴァージョンは?
ocx? OLEコントロールのことか?
ボタン押すたびにVisibleを変更すればよくね
139 :
デフォルトの名無しさん :2009/12/12(土) 16:19:23
やり方を上司に何故訊かないの?
ActiveXコントロール
141 :
デフォルトの名無しさん :2009/12/12(土) 16:29:04
135です バージョンは、6.0です ocxファイルを作成して ボタンをクリックしたら、その画面が出る様にしてよと言われて ocxを読み込む関数があるのかと思って調べたけど出てこない 別フォームに貼り付けて、単純にそのフォームを出せば良かったのだろうか? >139 確かに聞けば良いのだが その上司が軽く馬鹿にしてくるので 意地になってしまったんですよね^^;A
訊くは一時の端、訊かぬは一生の端ってね まぁ訊くタイミングの逃してしまったのなら仕方ないよね オイラもVB始めたばかりでわからんから そういうの分かるベテランの人が来るのを待つしかないね
OCX内でフォームのインスタンスを作成してShowするメソッドを作成し、 作ったOCXをフォームに配置し、そのメソッドを呼び出せばいいだけではないのか?
>>141 あんたの日本語だと、馬鹿にされるのも無理ないと思う。
145 :
デフォルトの名無しさん :2009/12/15(火) 00:30:22
146 :
デフォルトの名無しさん :2009/12/15(火) 17:14:13
スレチで誘導されてきました。 よろしくお願いします。 質問概要: 英語版VB6.0で、Shift_jis混じりのファイルを読み、表示させる手段について 環境: Win2K~Win7(NT系のみ。98系は考慮しない)の「英語版」。 Visual Basic6.0も「英語版」。 現状: 英語環境で日本語表示させる事は問題無いけれども、shift_jisで作成した テキストファイルを読み込ませると、文字が化けて認識される。 (日本語入力可能なグリッドに表示させると文字化けしている) VB6全盛の頃に、こんなときどうするというのが紹介されていた覚えがあるのだけど、 今になってググってみても全然ヒットしなくて困ってる。 作業自体は英語圏の人が行うため英語の技術文書でも全く問題ないので、 問題解決に資する資料を教えてください。
コードページをインストールする。
英語版VBのIDE上でShiftJISのファイル開きたいのか そのVBで作ったプログラム上でShiftJISのファイル開きたいのか どっちなんだ 後者ならShiftJISの仕様調べて自分で実装すりゃあええや
?
150 :
デフォルトの名無しさん :2009/12/17(木) 04:08:36
DirectX 7 for Visual Basic Type Library ( dx7vb.dll) DirectX 8 for Visual Basic Type Library ( dx8vb.dll) とかあるんだけど 使い方が分からない
あきらめろよ。
VB6って内部はunicodeじゃなかったっけ? そもそも英語版のOSに日本語のフォント入ってるのか?
すくなくともXP以降には入ってたな
NTや 98はどうだったか覚えてないが 2000以降なら、日本語 IME入れれば一緒に入る
ttp://iup.2ch-library.com/i/i0038800-1261115044.jpg 左の画像の(x,*)に何本の黒い線が通っているかというプログラムを作りたいと思ってます。
(右の画像の赤線が通る場所)
そこで、ネットで調べてまずは色判別のプログラムを組んでみたのですが、
Private Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long
Private Sub Command1_Click()
Dim Color As Long
Color = GetPixel(Form1.Picture1.hdc, 30, 30)
'試しに30,30のR値を出力するプログラムj
Dim R As Long
'色分解
R = Color Mod 256
Color = Color / 256
Text1.Text = R
End Sub
Text1.Textに0が出力されてしまうのですがどこか間違っているか教えていただけませんか
156 :
デフォルトの名無しさん :2009/12/18(金) 16:24:26
別にPictureBoxのPointメソッドでもよさそうなのに何故にAPI?
157 :
デフォルトの名無しさん :2009/12/18(金) 16:26:17
>>155 >Color = GetPixel(Form1.Picture1.hdc, 30, 30)
~~~~~~~
これだと常に(30,30)の位置の情報だけ調べることになるけど、これはどういうこと?
つまり(30,30)の位置に赤の色は無いってことだろJK
実はモノクロだったんじゃないか?
黒→ R=0 白→ R=255
>>156 Pointメソッドのほうが簡略化できたりするんですかね
>>157 すみません。
とりあえず、色判別ができているかどうかというプログラムを確認ために30.30という座標に指定してました。
本来は(x,30)などにしてFOR文などのループででxを0から端っこまでまわすつもりです。
162 :
デフォルトの名無しさん :2009/12/19(土) 12:12:01
Color=GetPixel(Form1.Picture1.hdc, 30, 30) Color=Picture1.Point(30,30) 同じようなものだから、API使わなくておk。使ってもまあ問題はないが。 座標値を30,30近辺で変えて、どこかで255になればおk
163 :
デフォルトの名無しさん :2009/12/22(火) 17:01:53
165 :
デフォルトの名無しさん :2009/12/22(火) 17:25:01
>>155 (30,30)の位置の色がわからんと、Rの値が正しいか分からないじゃないか
常にRが0とのことだが(30,30)の位置の色は赤の成分が無いのじゃないのか?
VB6やMS-Accessでmdbファイルのテーブルに、レコードの追加や削除や更新を する処理を、全部SQLステートメントで実行してたけど、本を見ると、Field オブジェクトに値を代入して、RecordsetオブジェクトにInsertやUpdateメソ ッドで追加や更新したり、Deleteメソッドで削除したりする方法があるのを 今更になって知った。 Oracleも同様に全部SQLで処理してたけど、同様のメソッドも用意されてるん だろうか。 何でもかんでもSQLで処理するものだとしか思い付かなかった俺は、恥か?
あっ、確かInsertではなくAddNewだったかな。
Oracleにもある。まぁ、気づかなかったのは仕方ないだろ。
170 :
デフォルトの名無しさん :2009/12/27(日) 02:06:40
DirectX 7 for Visual Basic Type Library ( dx7vb.dll) DirectX 8 for Visual Basic Type Library ( dx8vb.dll) とかあるんだけど 使い方教えて欲しいっす
いまさらそんなゴミを覚えてどうするの
172 :
デフォルトの名無しさん :2009/12/27(日) 02:27:41
せっかくあるんだから使いたいじゃん
せっかく新しく覚えるなら最新のものを学べよ 考古学者じゃあるまいし
133 名前:デフォルトの名無しさん[sage] 投稿日:2009/12/12(土) 14:18:10 DirectX 7 for Visual Basic Type Library ( dx7vb.dll) DirectX 8 for Visual Basic Type Library ( dx8vb.dll) とかあるんだけど 使い方が分からない 150 名前:デフォルトの名無しさん[] 投稿日:2009/12/17(木) 04:08:36 DirectX 7 for Visual Basic Type Library ( dx7vb.dll) DirectX 8 for Visual Basic Type Library ( dx8vb.dll) とかあるんだけど 使い方が分からない 170 名前:デフォルトの名無しさん[] 投稿日:2009/12/27(日) 02:06:40 DirectX 7 for Visual Basic Type Library ( dx7vb.dll) DirectX 8 for Visual Basic Type Library ( dx8vb.dll) とかあるんだけど 使い方教えて欲しいっす ヘルプ読めよ・・・。
ヘルプに書いてないから訊いてるんじゃん。 ヘルプにあるのはAPIとしてのDirectXの使い方しかなくって DirectX 7 for Visual Basic Type Library ( dx7vb.dll) DirectX 8 for Visual Basic Type Library ( dx8vb.dll) の使い方は書いてない もしかしてヘルプって付属CDのMSDNライブラリとは別物? だったらヘルプってのが何を指すのか俺には検討つかん・・・
Visual Basic 開発者用ドキュメントだろJK
>>176 ありが㌧クス
「Visual Basic 開発者用ドキュメント」でググったらトップに出てきた。
ダウンロードして読んでみるわ。感謝っす
178 :
デフォルトの名無しさん :2010/01/01(金) 19:13:37
VBScriptについての質問です ドライブの空き容量を取得するにはGetDriveを使えばできますが ドライブレターを割り当てずにフォルダにマウントしただけのパーティションの 空き容量を取得する方法はないでしょうか?
○ 質問者の心得 一.質問する前にMSDNやGoogle、過去ログにも目を通してみる。 二.VBScript、インストーラーなどはこのスレでOK。 ←←←←←←★ 三.質問は第三者にもわかりやすいよう簡潔かつ具体的に。 四.荒らしは相手しない。
無理じゃないかな。GetDiskFreeSpaceEx() とかでいけそうだけど。
182 :
178 :2010/01/04(月) 23:00:01
>>181 ありがとうございます。
結論から言うと GetDiskFreeSpaceEx に、ドライブレターを割り当てていない
パーティションをマウントしたフォルダ名を渡すことで、
そのパーティションの空き容量を取得できました。
VBScript ではそのままでは Windows API を呼び出せないようなので、
VB で確認しようと VB2008 をインストールしたのですが、
昔使った VB6 と変わっていて、DLLImport を使って宣言すればいいことに
辿り着くまで時間がかかってしまいました。
VBScript で API を呼び出すには、
SFC mini, DynamicWrapper, DynamicWrapperX などをインストールすればできるようですが、
DynamicWrapper を使って下のスクリプトを実行しても
表示されるメッセージはヌル文字列だけでした。
多分64bit整数値の受け渡しがうまくいってないんだと思うのですが
どう対処すべきかアドバイスいただけないでしょうか?
Set dw = CreateObject("DynamicWrapper")
dw.Register "kernel32.dll", "GetDiskFreeSpaceEx", "i=slll", "f=s", "r=l"
dw.GetDiskFreeSpaceEx "C:\\", x, y, z
WScript.Echo x
WScript.Echo y
WScript.Echo z
ByRef で 8バイト数値でしょ? 無理じゃない? DynamicWrapper のサイト見たけど、VT_REFは使えないとか書いてあるし。
質問です。 パスの通った実行ファイルなどをShellなどで呼び出した場合パスの指定無しで呼び出せますが、 このとき実際に実行されるファイルのフルパスを取得することは可能ですか? できれば実行前に取得したいです。
そのEXE名と環境変数PATHがわかってんだから、自分でも探せるでしょう
回答ありがとうございます。 それはそうですが、簡便に取得できないかと思いまして。 例えば、iexpror.exeのフルパスなどを決め打ち以外の方法で探したいのです。
最悪でも1時間もあれば作れるでしょう? 質問をはじめて1時間ほどたったけど、君はなにをしてたの?
関連づけられたファイルから実行ファイル名を取得する API はあるけど、 PATHのどこかを探すようなのはないんじゃないかな。 あんまり意味ないわけだし。
何がしたいんだろうね
実行するexe名を引数とした、環境変数PATHからフルパスを生成して確認する関数でも作れば?
しつこいんだよクソ野郎。
VB6.0とVB.NETのプログラム実行速度って違うんですか?
VB6.0のが速い
vb6の方が早いのはformの表示だけだってw そもそもvb6じゃどうがんばっても最適化できない処理とか、 そもそも記述ができない処理がいっぱいあるのに比較になるか
決め付け良くない
実にしょぼいソフトなのに起動時間だけは一人前X3ぐらい やたら長~いんだよなnet ぶん投げたくなるなw
その昔VB4からひとつとばしてVB6に変えたら、 めっっちゃ重くて、こんなの使えるかぁといってたのを思い出した。
IDEが重いって話だよね
C#がVB.NETの2倍くらい早いっていうからC#って遅いんだなと思った それとも.NETが遅いのかな
C#がVB.NETの2倍くらい早いっていうからC#って遅いんだなと思った それとも.NETが遅いのかな
なぜ二回いうたし なぜ二回いうたし
2回言う=大事なこと
2回言う=ふかわ ∴ ふかわ=大事
ただのむしろ痴呆症に近い。 ボケ老人とか見てみろ一日中繰言ばっかり言ってるから。
205 :
蝶蝶初心者 :2010/01/18(月) 00:57:48
蝶蝶初心者です。 6.0で画面に12個×4段=48個の色文字を規則的な配列にランダムな並びで呈示し体のですが・・・ テキストボックスを使えばいいのか、ラベルなのかさえまったくわかりません。。 ちなみに文字色は赤、青、緑、黄の4色です。これもランダムに色分けしたいのです。 だれかどう書けばいいのか教えてください。おねがいします!!
206 :
デフォルトの名無しさん :2010/01/18(月) 01:00:00
その文字表示して何したいの?どんなアプリなのそれ?
207 :
蝶蝶初心者 :2010/01/18(月) 01:03:54
認知心理の実験プログラムです。 このあともRT計測とかあるんですが、ひとつずつ理解しようと思って。 おねがいします。。。
初心者なら、VB6なんてやめて他の言語にしなさい
209 :
蝶蝶初心者 :2010/01/18(月) 01:09:40
残念ながらVB6で指定されてて。 困ってます
さよか・・・では、条件があまり指定されていないので、色数が平均すると仮定して ・48個の配列を作り、0~11は赤、12~23は青・・・と入れていく ・その配列をランダムにシャッフルする ・LABELを配置し色を変えながら文字を書く おわり
211 :
蝶蝶初心者 :2010/01/18(月) 01:18:30
ラベルは48個配置する必要があるんですね。 ありがとうございます!やってみます! また戻るのでお暇ならよろしくです。
212 :
蝶蝶初心者 :2010/01/18(月) 01:20:05
てか・・・・配列って何ですか?
そんな事まで教えてたらきりがないんだよ
214 :
蝶蝶初心者 :2010/01/18(月) 01:28:26
っですよね・・ 不躾ですが書いてもらったりできます?
ことわる
216 :
蝶蝶初心者 :2010/01/18(月) 01:31:19
何とかしてみます。 ありがとうございました。
217 :
おねがいちゃん :2010/01/22(金) 01:28:22
スリープというかウエイト処理を行いたいのですが、うまくいきません。 Sleep(500)の類はうまくいきません、例を載せてみます。 例) 作業A System.Threading.Thread.Sleep(500) 作業B System.Threading.Thread.Sleep(500) が結果 System.Threading.Thread.Sleep(500) System.Threading.Thread.Sleep(500) 作業A 作業B となってしまいます、具体的な作業は例えばシリアルからのデーター送信などでデーター送信とデーター送信の間などに使ってみたいです。 解りやすいデストとしてはブラウザ読み込み作業などの間に設置して テストしてみたいです(ブラウザ読み込み完了を待つは使用しないで) どうか宜しくお願いします。
まず君は、スレタイや
>>1 から読み直してもらおうか
219 :
おねがいちゃん :2010/01/22(金) 01:43:04
そんなこといわずに、わかってる範囲でいいので教えてください。 ほんとにお願いします。
221 :
デフォルトの名無しさん :2010/01/22(金) 02:50:55
わたし、VB6しか分からない。それ以外の言語知らない。
>>217 作業Aと作業Bがスレッド起こして実行してるからだよ
マ板でもさっき投稿見たぜ・・・ いまどきマルチとかどんだけ知らないんだよwwwww
225 :
デフォルトの名無しさん :2010/01/22(金) 16:25:31
マジレス乙
226 :
おねがいちゃん :2010/01/22(金) 16:34:31
マルチというのは大体意味はわかるのですが、そもそもウエイトってどうやってるんですか??
とりあえず板違いだから別の所でどうぞ
228 :
デフォルトの名無しさん :2010/01/23(土) 01:21:36
>>226 Dim time1 as Single
time1=Timer
Do
If Timer-time1>1000! Then
If CSng(&H7FFF)-time1+Timer>=500! Then
Exit Do
ElseIf Timer-time1>=500! Then
Exit Do
End If
Loop
>>226 Sub Sleep(WaitTime As Single)
Dim time1 As Single
time1=Timer
Do
If time1>Timer Then
If CSng(&H7FFF)-time1+Timer>=WaitTime Then
Exit Do
End If
ElseIf Timer-time1>=WaitTime Then
Exit Do
End If
Loop
End Sub
230 :
デフォルトの名無しさん :2010/01/24(日) 03:47:46
これは酷い
231 :
デフォルトの名無しさん :2010/01/25(月) 03:27:54
エラーが発生しました。
エラーは見なかったことにしました。
魔法の言葉 on error resume next
234 :
デフォルトの名無しさん :2010/01/25(月) 12:47:29
無視した結果 Windowsが強制終了しました。
それはOSが悪い
VB6で.NETのクラスを使うにはどうすれば
regasmでCOMとして登録するとVB6から使える。
238 :
デフォルトの名無しさん :2010/01/26(火) 00:56:56
VB6のラーニングエディションからWinSockコントロール使ったりする方法ってある?
>>236 CreateObjectでいくつか使える
たとえばStringBuilderとか
Set sb = CreateObject("System.Text.StringBuilder")
sb.Append_3 "hogehoge"
sHoge = sb.ToString()
VB6.0で任意のプログラムがタスクバーに表示されているかを確認できますか? タスクマネージャのプロセスで実行中かはAPIを使えば判断できそうですが、 タスクバーの状態を確認するAPIが見つからず質問に至りました。 よろしくお願いします。
ITaskbarList を使えばできる。
244 :
デフォルトの名無しさん :2010/02/02(火) 22:35:52
無理。
早速の回答有難うございます。 では、Vectorでダウンロードできるランタイムセットでは comdlg32.ocxは動きますでしょうか?
うん。"全部入り" みたいのがあるから、そっち使ってね。
素早い有難うございます! 調べてみてもマイクロソフトじゃなくVectorからしか書いていないわけがわかりました。 早速ダウンロードしてみます。
249 :
デフォルトの名無しさん :2010/02/03(水) 00:02:55
VB6.0でpng画像をimageに表示したいんですが、どうすればいいのでしょうか?
VBプログラマをバカにするスレはここでしょうか? 君たちメシ食えてるの???
まぁネタにマジレスもあれだが ほんとVB6使ってるだけで馬鹿にするやつまだいるんだな ほんとに無知でVBたたいてるやつもいるんだろうな
所詮は全角厨だしな
ドロップされたテキストファイルの内容からThunderbirdでメールを作成するスクリプトを作っているのですが いくつか詰まっている点があるので質問させてください。 Thunderbirdスレとマルチになって申し訳ありません。 ==VBSファイル記述開始== Set objFSO = WScript.CreateObject("Scripting.FileSystemObject") Set objArgs = WScript.Arguments strDroppedFileFullPath = objArgs(0) On Error Resume Next Set objFile = objFSO.OpenTextFile(strDroppedFileFullPath) ====略===== '本文 strBody = objFile.ReadAll Dim objWShell Set objWShell = CreateObject("WScript.Shell") 'Thunderbirdのメール作成画面の起動 objWShell.Run """C:\Program Files\Mozilla Thunderbird\thunderbird.exe""-compose to='" & strTo & "',cc='" & strCc &"',bcc='" & strBcc &"',subject=" & strSubject & ",body='" & strBody & "'" ,vbNormalFocus, False Set objWShell = Nothing ==VBSファイル記述ここまで== Thunderbirdが起動している状態で、このスクリプトを実行するとテキストの改行が反映されず困っています。 解決策があれば教えてください。 また、コマンドラインからの起動で送信アカウントを指定する方法があればこれもあわせて教えてください。
ちょっとスレ違いな気がするけど、 本文を一回トレースして、改行コードを %0d%0aにしないとダメなんじゃない? 送信アカウントの件はわからない
255 :
デフォルトの名無しさん :2010/02/09(火) 22:47:41
VB6って、ソースを難読化するツールってあるのでしょうか?
何のためにソースを難読化なんてするんだよw ドトネトの難読化ツールが何のために存在してるのか分かってる?
257 :
デフォルトの名無しさん :2010/02/09(火) 23:02:30
えーと、デコンパイルが容易だからだと思います VB6は、デコンパイルが難しいため、難読化ツールが WEB上に見当たらないのですが、存在するか、しないのか、 ちょっと理由があって、知りたいのです。 知ってます?
その理由を言ったほうが答えやすいだろ
259 :
デフォルトの名無しさん :2010/02/09(火) 23:13:05
いえ、ちょっと理由あって。。。 2chも誰が見てるかわかんないし。 すみません。 教えてくれませんか?
胡散臭い奴だな
261 :
デフォルトの名無しさん :2010/02/09(火) 23:19:22
しゅみません・・・ 胡散臭いですよね・・・ 最近、用心深くなってしまって。 失礼しました
VB6のバイナリには、COM関連以外はメソッド名もプロパティ名も変数名も入ってないんじゃないの? 一体全体何を難読化するんだ? しかもソースを難読化とか言ってるし。 訳がわからん。
263 :
デフォルトの名無しさん :2010/02/09(火) 23:28:23
訳わかんないでよね。。 もう忘れてください。。
VB6用の逆汗ツールはあるけどね。
265 :
デフォルトの名無しさん :2010/02/10(水) 00:27:36
パスワード付ZIPで保存すればおk
publicな変数は入ってるな。
VB6でもPコードだとソースに戻せるの?
DataGridViewを使っています。 フォームロード時にセルの高さをColumnHeaderの高さと同じにしたいと考えています。 ColumnHeader.Heightの値は'16'に設定しているのですが、 ShownイベントハンドラからColumnHeader.Heightを見ると'23'になっています。 さらにShownイベントハンドラ内で Me.DataGridView.ColumnHeadersHeight = 18 としても値が変わりません。 これはなぜなんでしょうか。
すみません、スレ違いでした それでは
ドライブリストボックスからドライブを指定したときに フロッピーのAドライブとかCD-ROMドライブとかを指定するとエラーはきます フロッピーやCDが入ってない状態で指定したときにフリーズしないようにしたいです 何でもよいのでコメください。 ヘルプではこんなのでた↓ >例外のトラブルシューティング : System.IO.IOException >IOException は、ファイルの読み取りまたは書き込みに失敗した場合など、 >I/O エラーが発生するとスローされます。
> 何でもよいのでコメください。 スレ違い。
ほんまやゴメン(´・ω・`)
しかも他のスレで答えを貰ってるのに
274 :
デフォルトの名無しさん :2010/02/11(木) 23:52:17
応用力が低い人がプログラミングすべきじゃないね
応用していくのが楽しいのにね
おうよ!
277 :
デフォルトの名無しさん :2010/02/19(金) 12:06:39
久々にVB6でコーディングしたら、FormイベントのQueryUnloadとUnloadの違いがわからない人間になってましたorz 両者の使い分けを詳しく教えて頂けますか。 QueryはUnloadをキャンセルできるのかと思ったけどUnloadでもキャンセル出来ますし。 正直Unloadイベントはいらない子という事なんでしょーか?(下位互換性のために残ってるとか) あるいはQueryUnloadとUnloadの間に何か他の事が起こりうるって事でしょうか? 私のググり能力が低いようで、探しても言及してる内容が見つけられませんでした。 MSDNの説明読んでも禅問答みたいな内容で・・・アハァ。
QueryUnload イベント フォームまたはアプリケーションが閉じられる直前に発生します。 MDIForm オブジェクトが閉じられる場合は、QueryUnload イベントはまずそのMDI フォームに対して発生し、次にすべてのMDI 子フォームに対して発生します。 QueryUnload イベントをキャンセルするフォームがなければ、Unload イベントがまず MDI フォーム以外のすべてのフォームに対して発生し、 次に MDI フォームに対して発生します。 子フォームまたは Form オブジェクトが閉じられる場合は、そのフォームに対して、QueryUnload イベント、Unload イベントの順にイベントが発生します。 通常、QueryUnload イベント プロシージャは、各フォームでのすべての処理を、アプリケーションが閉じられる前に確実に完了するために使用します。 たとえば、フォームに入力された新しいデータをユーザーがまだ保存していない場合、そのデータを保存するかどうかをユーザーに確認することができます。 アプリケーションが閉じられるときに、QueryUnload イベント プロシージャまたは Unload イベント プロシージャ内で Cancel プロパティを真 (True) に設定すると、 アプリケーションを閉じる処理を中止することができます。 QueryUnload イベントはすべてのフォームに対して、それらのフォームのアンロード処理が始まる前に発生します。 一方、Unload イベントは各フォームがアンロードされるたびに発生します。 MSDNライブラリより引用
Unload イベント フォームが画面から消去 (アンロード) されるときに発生します。アンロードされたフォームを再ロードすると、そのフォーム上にあるコントロールの内容はすべて初期化されます。 Unload イベントは、ユーザーがコントロール メニューの [閉じる] をクリックするか、Unload ステートメントが実行されると発生します。 引数 cancel に 0 以外の値を設定すると、フォームはアンロードされませんが、Microsoft Windows を終了するというような、ほかのイベントを停止することはありません。 Windows の終了を停止するためには、QueryUnload イベントを使います。 Unload イベント プロシージャは、フォームを閉じるときの確認処理を行ったり、フォームを閉じるときに実行する処理を記述するときに便利です。 フォームを閉じるときや、フォームのデータを保存するときの各フォーム単位での確認処理も、Unload イベント プロシージャの中で実行できます。 Unload イベントは、QueryUnload イベントが発生した後に発生します。Unload イベントの後に Terminate イベントが発生します。 次に、Unload イベントが発生する具体的な状況を示します。 Unload ステートメントが実行されたとき。 ユーザーが、フォームのコントロール メニューの [閉じる] をクリックしたとき。 Windows の [アプリケーションの切り替え] ウィンドウで [アプリケーションの終了] がクリックされ、アプリケーションが閉じられたとき。 現在のフォームが子フォームの場合に、その親であるMDI フォームが閉じられたとき。 アプリケーションの実行中に、Windows が終了したとき。 MSDNライブラリより引用
280 :
デフォルトの名無しさん :2010/02/19(金) 13:22:49
281 :
デフォルトの名無しさん :2010/02/19(金) 13:26:12
>>277 >>278-279 から抜粋
以下が特徴だろ。
QueryUnload イベント
MDIForm オブジェクトが閉じられる場合は、
QueryUnload イベントはまずそのMDI フォームに対して発生し、
次にすべてのMDI 子フォームに対して発生します。
QueryUnload イベントをキャンセルするフォームがなければ、
Unload イベントがまず MDI フォーム以外のすべてのフォームに対して発生し、
次に MDI フォームに対して発生します。
Unloadイベント
引数 cancel に 0 以外の値を設定すると、フォームはアンロードされませんが、
Microsoft Windows を終了するというような、ほかのイベントを停止することはありません。
Windows の終了を停止するためには、QueryUnload イベントを使います。
たとえばMDIFormを閉じようとしたとき 子フォームのどれかでもQueryUnloadでCancelするとMDIFormのアンロード自体がキャンセルになるけど 子フォームのどれでもUnloadでCancelしてもMDIFormのアンロードをキャンセルすることが出来ないってことだろ Windows終了の話もこれと同じだな。
VB6LEでSysInfoコントロールやWinsockコントロールを使う方法ってありますか?
エラーがでてコントロールを配置できないんです
285 :
277 :2010/02/19(金) 17:22:51
>>278-282 超ありがとうございました!
>>279 のMSDNは見つけてなくて助かりました。(
>>278 だけ読んで首ひねってました)
>>281-282 の要約や具体例おかげで話がよく見えました。
あとは実際に試して体感的に確かめようと思います。
どうもありがとうございました。
実際に試すのが先だろ!
>>270 魔法の言葉
On Error Resume Next
>>257 リストラされそうなんですね
わかります
289 :
デフォルトの名無しさん :2010/02/20(土) 17:12:47
Select CaseのCaseのって数値だけ指定できるのかと思ってた。式も指定できたんだね
290 :
デフォルトの名無しさん :2010/02/20(土) 17:16:19
Select CaseのIsって使ったことある人いる? 分岐ってSelect CaseとIf,ElseIfで内部の処理的にはどう違う? 処理の早さとかプログラムサイズ とか
たとえば if k<5 then elseif k>=5 and k<10 then else end if select case k case is<5 case 5 to 10 and is<10 case else end select とか
確かめたことはないが高機能のCASE文をサポートしている言語は、 if - else if - else if - else - 型の実装になってることが多い。 制限の多いCやC#のCASE文はジャンプテーブル式。
なるほど
>>291 のselect文あれじゃ動かないね
select case k
case is<5
case 5 to 10 and k10
case else
end select
ForNext文のNextって変数省略してる?
省略してる。その代わり、Next I, J は絶対やらない。
定回数ループにはやっぱForNext使うの? DoLoopとかWhileWendのほうが処理早かったりする?
その二つに差があるとして、10の何乗回ループしたら人間にわかるような差になるのかねw っていうか、既に終わってるVB6が全盛期だった時代ですら終わってる考え方だわそれ。 32bitのCPUがGHzで動いてる時代に、いい加減そういう80年代のインタプリターのBASIC脳の 発想止めたら?w
>>297 そんなに大差ないってことっすね
GosubReturnって使ってる人いる?
化石すぎる・・・
>>290 ollydbgで見ると
selectはジャンプテーブルで処理
elseif は順に判断してる
コード容量はselect>elseif
速度はselect<elseif
今のハードだと気にすることではないけどな
ありがとうございます
302 :
デフォルトの名無しさん :2010/02/22(月) 01:58:34
Windows95が未だ現役のうちは化石ってことか・・
>>302 企業ならまだありだなぁ・・・
うちも95,98やNT4.0初期のやつとかあるし
昔のPCはムダに物もちがいいから困るw
生産現場ではMS-DOSがナウい
FC-98?
うちで最古で動くPCは PC9821Cx、CDドライブいかれちまったのでWindows3.1が再セットアップできん ずっとMSDOSのまま。まぁN88BASICしか使わんから別に気にしてないけどな
うちのラインでは PC-9801UVがあってMS-DOSにQuickBasicで作られていて Cバスのボード使ってGPIB機器を動かしています 元気すぎて置き換えとか言い出せない
308 :
デフォルトの名無しさん :2010/02/25(木) 00:57:38
VB6でゲーム作ってる人いる? カードゲームみたいな静止ゲーじゃなくて、ブロック崩しとかみたいな動きのあるやつ。 そういうゲームでのメインループとかどうしてる? やっぱCやJAVAみたいにwhileみたいなループ内で処理してる? 俺Timerコントロールでループの代わりさせてんだけど VB6で作るのでもやっぱDoLoopとかでメインループ処理したほうがいいの? その場合、やっぱループ内にDoEventsとかいれるの?
309 :
デフォルトの名無しさん :2010/02/25(木) 00:58:35
メインループはやっぱりForm_Loadメソッド内に置くの? それとも標準モジュールでmainメソッド内に置くの?
afdadfad
MyYahooの表示コンテンツをマウスのドラッグでグラフィカルに位置替えできるけど あれみたいな感じに たとえばフォームに大量に配置したラベルコントロールとかを ユーザーがドラッグでグラフィカルに配置換えするみたいなことって どうすれば実現できる?
ドラッグアンドドロップでコントロールのロケーションいじったらええだけちゃいますのん?
ロケーション?
表示位置のことじゃないかと思う
>>308 Windowsなんだから常時ループとか
N88みたいなワンパスソフト作るなよ
もしかしてformloadで
Timer.Enabled=TRUE
DO
if Timer.Enabled=FALSE then
処理
Timer.Enabled=TRUE
endif
LOOP
こんな風にして
Timerで
Timer.Enabled=FALE
とかやってるのか?
無駄にCPU負荷かけるな
つかインターバルどれ位にするかでも組み方変わるからなんとも言えない
1mS単位が欲しいならTimeSetEventのAPI
100mS単位ならタイマーコントロール
317 :
308 :2010/02/26(金) 03:24:50
>>316 前半のその例のタイマーの使い方さっぱり理解できない・・・
俺はcやjavaでwhileループ内で処理することをTimerコントロールのTimerイベント内で処理してる
その方法が普通なのかあまりよくない方法なのか知りたかったから質問したのさ
なるほど、cやjavaみたいにループ回すみたいなことはVBではしないってことか・・・
インターバルの長さによって使い分けるのね・・・なるなる
あれだな やっぱCやJAVAできるやつがレベル高井ってわけじゃねぇなw
ゲームならタイマーイベントとかじゃなく CやJavaみたくゲームループ作って DoEventsだけいれといてあとは 時間はかってwait入れるんじゃないの いや、ゲーム作ったことないから知らないけどw
320 :
316 :2010/02/26(金) 11:15:37
>>317 >>319 負荷考えずにループで回しておいてやるなら参考に簡単なサンプル書いてみた
Private Declare Function GetTickCount Lib "kernel32" () As Long
Private Sub Command1_Click()
Dim l_starttime As Long '開始時間を現在の基準時間としてセット(mS単位)
Dim l_endtime As Long '終了時間を現在としてセット(mS単位)
Dim l_loopcount As Integer
For l_loopcount = 1 To 3 '3回やってみる
l_starttime = GetTickCount '現在時間を基準時間にする
MsgBox ("今止めてるよ")
l_endtime = GetTickCount 'OK押された後の時間を取得
MsgBox (l_endtime - l_starttime) '何mS停止したか表示
DoEvents 'OSに制御を戻す
Next l_loopcount
End Sub
フォームにコマンドボタン1個作って動かすとわかると思う
3回メッセージで止めていた時間をmS単位で表示される
時間でポーリングしたいならループ内でl_endtime - l_starttimeを時間で条件判断
>>318 適材適所じゃないけど用途によって扱いやすい言語があるから
レベルって言語の種類でなく経験じゃないかな
IO直接叩きたければVBよりCのビットフィールドのが楽だし
テーブル扱うならCOBOLのDATA DIVISIONが・・・(ry
最近だと
CREATE TABLE php_session ( sess_id text,sess_name text, sess_data text);
こっちのが楽かwww
>>312 ごめん。ドラッグドロップよくわかんない
>>315 ↓こんな感じ?一応動いた。ありがとう。これ何かまずい処理とかある?
Private Sub Label1_MouseMove(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
Static x1, y1
If Button = vbLeftButton Then
With Label1(Index)
.Left = .Left + X - x1
.Top = .Top + Y - y1
End With
Else
x1 = X
y1 = Y
End If
End Sub
323 :
デフォルトの名無しさん :2010/02/26(金) 23:33:34
VB5っていつ時代のものなの?
97年。
13年前か・・・古いね
その13年前から進歩してない人がいるんですよ そこのお前、そうだよな?手をあげろ
VB6は何年物?
VB6は98年。
VB6とかで2ch専用ブラウザって作れる? もちろん既存の2chブラウザと遜色ないレベルのもの。 古いVBではサポートされてない機能とかあるとかで無理ぽい?どう? VBでしかプログラム組めないってこと前提でヨロ
たった1年でVB5は不要になったわけか VB5に入れ替えた企業とか涙目だな
VB6でもAPI使えばいろいろできるし。 それなりのモノは作れるよ。
333 :
329 :2010/02/27(土) 00:23:11
>>331 それVB製だったのか知らんかったわ
>>332 つまりAPI駆使しないと作れないってわけか
ちなみに持ってるのラーニングエディションなんだけど大丈夫だよね?
その程度の人はいまさらVB6なんてやらないで.NETを覚えればいいじゃん
そのレベルなら無料なんだしね VB6なんて旧ソフトの保守くらいにしか使わないな かといってACTIVEX使いまくりで変に客側に使い勝手のいいソフトは移行がめんどくさい
336 :
329 :2010/02/27(土) 00:32:16
.NETって無償バージョンがあるんだっけ? .NETのソースコード、昔どっかで見たような気がするけど、VB6と全然違ってわけわかんなかった
337 :
329 :2010/02/27(土) 00:36:27
今更と言っても 初めて買ったプログラミングソフトのがVB6で(もう10年くらい前かな) 未だにWindows95で思いついたの作るの挑戦してるというわけで 今度は自分専用の2chブラウザでも作ってみようかと思ったわけですよ
338 :
329 :2010/02/27(土) 00:40:18
プログラミングのレベルが低いのは 6年位前までVB6関連の書籍が入手できなかったので(ネットも使えなかった) ベーシックマガジン頼りに掲載プログラム移植してみたりとかしてる程度だったのよ
, - ―‐ - 、 / \ / ∧ ∧ , ヽ ./ l\:/- ∨ -∨、! , ', さあみんな集まってー! / ハ.|/ ∨|,、ヘ 自分語りスレがはじまるよー!! |ヽ' ヽ ● ● ノ! l . 〈「!ヽハ._ __ _.lノ | く´ \.) ヽ. ノ (.ノ  ̄ \ `'ー-、 ___,_ - '´ ` - 、 ||V V|| \ | || || l\ ヽ
閉じた世界でならかまわないが、他人様のサーバにアクセスするには繊細な知識を持ってからやれよ?
341 :
329 :2010/02/27(土) 00:59:52
インターネットってそんなにハイレベルな技術なのか・・・難しそうだな
ブラウザコンポーネント貼り付ければ9割はできたようなものさ
はぁ?おまえ作ったことあんのか?単なるWEBブラウザの話をしてんのか?
344 :
329 :2010/02/27(土) 01:15:29
なるほど簡単そうな感じ
でも細かいことはこれから調べながらゆっくり自分のペースで作ってくつもり
VBの仕様的に作るの無理かどうか知りたかっただけだから
あとは自分でなんとかするよ
>>331 がVB製ってことだけで安心材料だ
345 :
329 :2010/02/27(土) 01:16:49
お礼言ってなかったので 最後に、 みなさん回答ありがとうございました
自分でなんとかするな! 2chブラウザには決まりがたくさんあるんだから、それを熟知してからにしろ! DAT経由じゃなくて単なる読み込みだけなら何もいわんけどさ
347 :
329 :2010/02/27(土) 01:34:26
なんかよくわからないけど 色々調べてからやりますんで安心してくださいな
よくわからないくせに大口たたくなクソ野郎
VBをやるのはVB.NETをインストールするハードディスクがないからなんでしょ?
Windows95だからって書いてあるような。 セキュリティ的にも問題のあるWin95はさすがに迷惑に思うが。 ネットでもVB6の情報は入手し難くなってるし、目先しか見えない阿呆に感じる。
マゾなんだろ。ほっとけよ。
変なのはほっとくのが一番だな
ここVB6の質問スレ
ネットで情報収集できなければ組めないエセが何言ってんだか
>>346 みたいな挫折のストレス解消したかったら他へ行け
>>347 のどこが挫折?
あれはどうのこれはどうの否定的なこと言って足を引っ張る馬鹿よりも俺は329を応援する。
否定的ってのはどれの事だろう 何に対しての否定?
ExcelのVBAってVB6なんだっけ?
JavaとJavaScriptが同じものと言うような人ならそうだろう
うん。VB6相当。
VB6で2chブラウザ作って自分で使ってる。今現在、別に問題なく読み書きできてるが 素人の自分でも大した知識もなくできてしまった。もう一年くらい前に作ったやつなので 細かい所はよく覚えてない。何で動いてるのか自分でも不思議だ。 もしかすると何かサーバーに迷惑かけてるかもしれんw
だからそれはDATを叩いたりしてるものじゃないんだろ? ただのブックマーク管理ソフトなら問題無いじゃん
普通にdat叩きしてるが何そんなに否定したいの??
具体的な注意事項書いてあげるでもなく作法があるだの
言っているのは人の足を引っ張りたいだけにしか見えない
VBある程度わかっていて専ブラやりたいなら
http://www.monazilla.org/ 次はこの辺りをみるといいよ
注意事項はもう出てるじゃん 馬鹿なの?
ソースどころかEXEも出せないんだから肯定できないな。 妄想はチラシの裏にでも書いてろと。
車の運転をしたことない奴が高速道路を走ると言われたら全力で阻止するよな
高速のほうが一般道より安全だよ
高速のほうが一般道より被害がでかいよ
教えて大丈夫そうな相手なら、さっさとリンク張ってるだろう。 誰も教えなかったって事は、そういう事だ。
この話はここまで。はい、次の質問どうぞ。
が、画面デザイン? デザインて......いや悪く言うつもりはないが
レイアウトって言った方がよかったか? 大体通じると思ったけど見た目とか操作性をそのまま拝借したと言いたかった
374 :
デフォルトの名無しさん :2010/03/03(水) 00:37:32
プロのプログラマーじゃなくて アマのプログラマーか
datを叩くって、いかにも中二病的な言い回しだな
まあ2ちゃんブラウザは誰もが一度は通る道さ セックスと同じ
ぼくのかんがえたさいきょうぶらうざ
>>371 自分の作ってみたい欲を満たすためだけのオナニー用ブラウザ
>>377 オナニーじゃなくて?セックスは通らない人もいるだろ。例えば俺とか
デリヘルでも呼べばいいのに 彼女作るよりよっぽど安上がりだぞ
当初の質問者はもういないのに(たぶん) まだ2ちゃんブラウザの話続いてたんか
デリヘルの話をしてるのに当初の質問者の話をするな
童貞と素人童貞のすくつでつね プログラマーに彼女とか恋人とか結婚とか無理ってか? ビッチ「VB?今時VBなんてダッサ~いw何それ~ww」
明示的な型変換ってどんなときに使えばいいの? CIntとかCStrってIntやStr使えばいいし
386 :
デフォルトの名無しさん :2010/03/03(水) 15:28:54
使わない
>>385 彼女がString欲しがってるのにByte配列無理やりねじ込む時とか、
Variant突きつけられても、文字列な僕を数字扱いして欲しい時とか?
どこでいるの?って思ってるなら、よっぽどの馬鹿か、暗黙的にもう理解しているかの二極だ。さぁ君はどっち?
ようは暗黙の型変換をちゃんと理解してればほとんど使わないんだよ。
いる時は相手の関数の仕様か、Variantが必要な時くらいでそ。(Variantが必要ってのも正直皆無だし)
>>385 CInt等を使うと処理が遅くなってしまうので使ってはいけません。
>>385 使うとソースコードが読みやすくなるので積極的に使いましょう。
>>385 ビッチはそんなこと言わない
そもそもVBを分かる女なんていねーよw
恋愛したいんなら出会い系逝け
Windows上で起動しているアプリケーションのタイトルの一覧取得する関数ってVBである? API使って取得するしかない? AppActivateで既に起動してるアプリを指定しようと思ったんだけど
ggrks
>>388 >彼女がString欲しがってるのにByte配列無理やりねじ込む時とか、
シリアルポートに0xf1辺り投げたいとき
396 :
392 :2010/03/05(金) 00:03:48
>>395 回答どーもです
やっぱ無いか・・・API使うしかないんだな・・・API使うの面倒だから嫌なんだよね
LEだからAPIビューワとかなくて自分で調べるしかなくってさ
まぁただの愚痴だけど
何のためにインターネットがあるのかね。ぐぐれば出てくる
ggrksの意味がわからないのでググってみましたが グーグル先生にググれカスと怒られてしまいました
>>399 おい!そのままほっとくとスタックあふれるぞw
VBは末尾再帰をループ化してくれないのか
402 :
デフォルトの名無しさん :2010/03/09(火) 03:50:24
くそう implements用の空クラス、イベントだめなんだな。共通イベントとか出来ないとか くそがああああああああああああああ
FormやUserControlでImplementsもできないし全体的に中途半端 別に管理用Classを作るしかない
VBってインターフェイスはイベント定義できなかったのか。 まあ、だとしてもVBの組み込みのイベント機能を使わずに、 Javaなんかのようにリスナを集約するようにすればいいんだよ。
一つのイベントを複数のクラスが受け取るためには イベントを受け取りたいクラス全部にリスナ的なものを作って そのイベント発生させるクラスに全部渡すと
with eventじゃだめなのか
イベントだけを羅列させたクラスを使いまわせばおk
>>405 >一つのイベントを複数のクラスが受け取るためには
そんなことはVBに組み込みのイベントで普通にできるでしょ。
何をいってんの。
>>409 ClassA.cls
Public Event MyEvent()
----------------------
ClassB.cls
Implements ClassA
Public sub Hoge()
RaiseEvent MyEvent
End Sub
----------------------
ClassC.cls
Public WithEvents classA1 As ClassA
Private Sub classA1_MyEvent()
Debug.Print "Hoge"
End Sub
----------------------
Form1.frm
Private Sub Form_Load()
Dim classB1 As New ClassB
Dim classC1 As New ClassC
Set classC1.classA1 = classB1
Call classB1.Hoge
End Sub
ClassCの必要性が全くない
>>411 ClassA.cls
Public Event MyEvent()
----------------------
ClassB.cls
Implements ClassA
Public sub Hoge()
RaiseEvent MyEvent
End Sub
----------------------
Form1.frm
Public WithEvents classA1 As ClassA
Private Sub classA1_MyEvent()
Debug.Print "Hoge"
End Sub
Private Sub Form_Load()
Dim classB1 As New ClassB
Set classA1 = classB1
Call classB1.Hoge
End Sub
classA1をPublicにするのはどうかと思う
>>413 ClassA.cls
Public Event MyEvent()
Public Sub RaiseMyEvent()
RaiseEvent MyEvent
End Sub
--------------------------
ClassB.cls
Public classA1 As New ClassA
Public Sub Hoge()
Call classA1.RaiseMyEvent
End Sub
-------------------------
Form1.frm
Private WithEvents classA1
Private Sub classA1_MyEvent()
Debug.Print "Hoge"
End Sub
Private Sub Form_Load()
Dim classB1 As New ClassB
Set classA1 = classB1.classA1
Call classB1.Hoge
End Sub
Implementsはどうした
組み込みのイベントを使えよ・・・無意味なコードで荒らすな
何がしたいのかサッパリわからんコードだなw
しかし、結局VBって
>>412 みたいにインターフェイスにイベント定義書けるんだっけ?
だったら
>>402 は何も悩む必要ないな最初から。
>>415-417 ClassA.cls
Public Property Set classC1(c As ClassC1)
End Property
----------------
ClassB.cls
Implements ClassA
Dim classC1 As ClassC
Public Sub Hoge()
Call classC1.RaiseMyEvent
End Sub
Private Property Set ClassA_classC1(c As ClassC1)
Set classC1 = c
End Property
----------------
ClassC.cls
Public Event MyEvent
Public Sub RaiseMyEvent()
RaiseEvent MyEvent
End Sub
----------------
Form1.frm
Private WithEvents classC1 as ClassC
Private Sub classC1_MyEvent()
Debug.Print "Hoge"
End Sub
Private Sub Form_Load()
Dim classA1 As ClassA, classB1 As New ClassB
Set classA1 = classB1: Set classC1 = New ClassC: Set classA1.classC1 = classC1
Call classB1.Hoge
End Sub
( ´,_ゝ`)プッ
┐(゚~゚)┌
・・・
422 :
デフォルトの名無しさん :2010/03/10(水) 13:52:16
>>419-421 ClassA.cls
Public Property Set classC1(c As ClassC)
End Property
---------------
ClassB.cls
Implements ClassA
Dim classC1 As ClassC
Public Sub Hoge()
Call classC1.RaiseMyEvent
End Sub
Private Property Set ClassA_classC1(c As ClassC)
Set classC1 = c
End Property
---------------
ClassC.cls
Public Event QueryMyEvent()
Public Sub RaiseMyEvent()
RaiseEvent QueryMyEvent
End Sub
---------------
423 :
デフォルトの名無しさん :2010/03/10(水) 13:53:45
ClassD.cls Public Event MyEvent() Private WithEvents classC1 As ClassC Dim mclassA1 As ClassA Public Property Set classA1(a As ClassA) If Not (mclassA Is Nothing) Then Set mclassA.classC1 = Nothing: Set mclassA = Nothing Set mclassA = a Set mclassA.classC1 = classC1 End Property Private Sub classC1_QueryMyEvent() RaiseEvent MyEvent End Sub Private Sub Class_Initialize() Set classC1 = New ClassC End SUb --------------- Form1.frm Private WithEvents classD1 As ClassD Private Sub classD1_MyEvent() Debug.Print "Hoge" End Sub Private Sub Form_Load() Set classD1 = New ClassD Dim classB1 As New ClassB Set classD1.classA1 = classB1 Call classB1.Hoge End Sub
424 :
デフォルトの名無しさん :2010/03/10(水) 14:07:27
ClassB.cls Implements ClassA Dim classC1 As ClassC Public Sub Hoge() If Not (classC1 Is Nothing) Then Call classC1.RaiseMyEvent End If End Sub Private Property Set ClassA_classC1(c As ClassC) Set classC1 = c End Property
425 :
デフォルトの名無しさん :2010/03/10(水) 14:13:22
ClassE.cls Implements ClassA Dim classC1 As ClassC Public Sub Hoge2() If Not (classC1 Is Nothing) Then Call classC1.RaiseMyEvent End If End Sub Private Property Set ClassA_classC1(c As ClassC) Set classC1 = c End Property --------------- Form1.frm Private WithEvents classD1 As ClassD Private Sub classD1_MyEvent() Debug.Print "Hoge" End Sub Private Sub Form_Load() Set classD1 = New ClassD Dim classB1 As New ClassB Set classD1.classA1 = classB1 Debug.Print "Test1": Call classB1.Hoge Dim classE1 As New ClassE Set classD1.classA1 = classE1 Debug.Print "Test2": Call classB1.Hoge Debug.Print "Test3": Call classE1.Hoge2 End Sub
荒すな
428 :
デフォルトの名無しさん :2010/03/10(水) 16:07:39
ClassD.cls Public Event MyEvent() Private WithEvents classC1 As ClassC Dim mclassA1 As ClassA Public Property Set classA1(a As ClassA) If Not (mclassA1 Is Nothing) Then Set mclassA1.classC1 = Nothing: Set mclassA1 = Nothing Set mclassA1 = a If Not (mclassA1 Is Nothing) Then Set mclassA1.classC1 = classC1 End Property Private Sub classC1_QueryMyEvent() RaiseEvent MyEvent End Sub Private Sub Class_Initialize() Set classC1 = New ClassC End Sub
429 :
デフォルトの名無しさん :2010/03/11(木) 00:14:19
ひどいな・・・
ひどすぎる
どうしてこうなった・・・
MSDN読まないのか VBドキュメントの Implements ステートメント インターフェイスのインプリメントによるポリモーフィズムの提供 インターフェイスの作成とインプリメント 標準インターフェイスのインプリメントと使用 この辺り
接続ポイントはややこしいからねぇ。 極力避けてコールバックオブジェクトを使うのが正解。
そうだね
混乱してきた
MSDNって機械翻訳で変な日本語多くて読みにくいんだよねぇ・・・でも英語だと全く読めないし・・・('A`)マンドクセ
>>437 スパゲッティソースより読みやすいと思うがwwwww
プログラマーって閉鎖的なヤツが多い
自明の理
MSDNはVB6の頃の奴はむしろ読みやすかった気がする .netになってから激しく読みにくい
ローカルにもインストールしてあるけど、検索がしづらくなったので、 site:msdn.microsoft.com を付けてぐぐってます。
webのは記憶ないけど、ローカルのは確実に今の奴の方がクオリティー高いだろw
ダメな奴ってすぐ自分の無能を道具のせいにするよな。
>>443 まあビューワは2003までの奴の方が現行の奴よりも使いやすい。
それでもVS98の時代よりは使いやすいと思うが。
いずれにせよ、2002以降のビューワーはカスタマイズした上でキーボードショートカットを
駆使して使うのが基本。
君が使いにくいと思うのなら、たぶんそういうことやってないんだろう。
>>445 言葉で説明するのは難しいよね。
まず俺は2008用のドキュメントもビュワは2003のを使って見てる。
それ前提で言うと、左側のペインは「検索」と「キーワード検索」で水平に二分して、
出しっぱなしの状態にしている。
残りの「検索結果」、「目次」、「お気に入り」はウィンドウの下側に、
それぞれ別個に、スライド表示(タブにマウスを乗せるとにょっと出てくるやつ)でドッキングさせてる。
隠れてるスライド表示のウィンドウを表示させるのは、キーボードショートカットを使うのが基本。
まあこんな感じ。
2005以降のビュワーの場合は「検索」ウィンドウがでかくなってしまって左側のペインに
収めるのは難しいから、こいつもウィンドウの下側にドッキングさせて、検索するときは
キーボードショートカットで表示するのが基本だろうね。
へー。2003のビューアで2008のドキュメントが見られるんだ。 さすがに、2010は無理だろうな・・・。
すいません Picture1.Picture.HandleってののHandleはこれなんなんですか?w Picture1.Hwndとはちがうし Picture1.hdcともちがう でもPicture1.Picture.Handleって指定しないといけないものが多い Handleって書いてるからハンドルなんだなーってのはわかりますが わけのわからんことをいってたらすんませんです(*´д`*)ハァハァ
Handle プロパティ Picture オブジェクト内のグラフィックスのハンドルを返します。 構文 object.Handle 「対象」一覧内のいずれかのオブジェクトを指すオブジェクト式です。 戻り値 Handle プロパティが返す値は、Type プロパティの設定値によって異なります。対応する戻り値は次のとおりです。 Type プロパティ 戻り値 1 (ビットマップ) HBITMAP ハンドル 2 (メタファイル) HMETAFILE ハンドル 3 (アイコン) HICON ハンドルまたは HCURSOR ハンドル 4 (拡張メタファイル) HENHMETAFILE ハンドル 解説 ダイナミック リンク ライブラリやWindows API で、関数呼び出しの一部としてグラフィックスにハンドルを渡す場合に有効です。 MSDNライブラリ-VisualBasicリファレンス Pictureオブジェト->プロパティ->Handleプロパティより引用
著作権法違反
明らかに”引用”の範囲を超えているな
男塾思い出した
そもそも引用の要件みたしてないだろ・・・
456 :
デフォルトの名無しさん :2010/03/12(金) 18:27:31
自分の言葉で説明できないと仕事やってけないだろう・・・ 博士号の人が就職難な理由のひとつに、自分の言葉で説明できず、全て引用で済ましているってとこにもある
なんだボク、学校の宿題に出たのか?
なんで本筋それたら盛り上がるんだよw せめてハンドルの話で盛り上がれw
俺、あのハンドル受け取ったら結婚するんだ
べつにいいんよ
新しいテキストドキュメントを作成して x~x.txt と名前を変え、VB6で作ったプログラム で削除しようとしたらvistaではうまくいくのですがxpではエラーになってしまいます。 仕様でしょうか?
ショートファイル名?
すみません間違えました。 X~X.txt です。どうやら~という記号が入ってるとエラーになるようです。
あれ?投稿すると文字が何故か変換されてしまいます。 asc値が 126 の記号です。
>>465 当たり前のことをちゃんとやってから質問してる?
当たり前のこと、というのは、例えば削除できない理由が本当にファイル名が原因なのか、
ちゃんと確認しましたかって意味だけど。
エラー番号とエラーメッセージくらい
>>466 >>467 >>462 ですがXPの入ってるPCの方を再起動してもう一度やったところ削除できました。その前は確かにそのファイル名
のテキストファイルだけが削除できなかったのですが、理由はわかりません。
あと、文字が勝手に変換されるのは自分で作った2chBrowserの仕様でしたw
大変お騒がせし申し訳ありませんでした。
利用中ファイルのアクセスのプロテクト系だろどうせ
いちいち何作ってるかまで言わんでよろしい
やっぱくやしかったんだねwwwwwww
(;´∀`)・・・・
VB6のリソースエディタによるストリングテーブルの一行に 格納できるテキストの最大サイズは32KB?
それ以前にストリングテーブルリソースの上限が4097文字
どんな長文をリソースに突っ込もうとしてるんだw
リソースのストリングって何に使うためにあるの? いや、他の言語でもそうだけど、リソースに文字列含ませる意味が未だにわからない
メニューの文字とか。 言語切り替えると全部切り替わる用。
つまり日本人以外にも使ってもらうためにってこと?
故意に必須原型ファイルを削除するようなアホが いないとも限らないのでその対策用にと。。
>>479 読み書き方法が決まってる世界共通のなんでもボックス。
ハードコーディングと違って製品化後も書き換えられるのが特徴。
それ以上の意味はない。
入れたきゃ2つに分割して入れればいい話だろう? そこまでしてリソースに収めたほうがいい理由なんてないが 入れちゃいけないって理由もない。
製品化後も書き換えられるってことは非圧縮になる?
プログラム起動中に動的にリソースの内容を書き換えるのって 絶対無理ですよね?アホな質問でスイマセン
リソースは書き換えられるでしょ。VB6に操作できる関数が用意されてるかどうかは別で。
リソース用DLLを作るとかってやってなかったっけ? 昔の事だから忘れたな
Windows7でもVB6って動く?7用のAPIとかって使えるの?
わざわざありがとんくす
うわ、ggrksって言ったら感謝されたでござる
みんなハッピーでよかった
VB6 で軽快な付箋のようなポップアップウィンドウを実現 するにはどうしたらいいのでしょうか? ヒントだけでも(APIとか)お願いします。
495 :
デフォルトの名無しさん :2010/03/19(金) 13:52:20
エスパー説明よろ
フォームウィンドウの枠線をなくして 付箋1枚で1フォーム表示 これでいいんじゃねぇか? 右下にNotifiIconとか適当に出しとけばいけると思うけど
コマンドボタン押すたびにポップアップウィンドウ? Form1.frm (CommandButton一つ配置) Private Sub Command1_Click() Dim f As New Form2 f.show End Sub ---------------------------- Form2.frm (BorderStyleを3に設定) Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Static dx, dy If Button > 0 Then Me.Left = Me.Left + X - dx Me.Top = Me.Top + Y - dy Else dx = X dy = Y End Sub
Module1.bas Private Const SWP_NOMOVE = 2, SWP_NOSIZE = 1, SWP_NOMOVE Or SWP_NOSIZE Private Const HWND_TOPMOST = -1, HWND_NOTOPMOST = -2 Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, _ ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long Public Function SetTopMostWindow(hwnd As Long, Topmost As Boolean) As Long If Topmost = True Then 'Make the window topmost SetTopMostWindow = SetWindowPos(hwnd, HWND_TOPMOST, 0, 0, 0, 0, FLAGS) Else SetTopMostWindow = SetWindowPos(hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, FLAGS) SetTopMostWindow = False End If End Function Form1.frm (CommandButton一つ配置) ----------------------- Private Sub Command1_Click() Dim f As New Form2 f.show: SetTopMostWindow f.hWnd, True End Sub Form2.frm (BorderStyleを0に設定) ----------------------- Private Sub Form_DblClick() Unload Me End Sub Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) SetTopMostWindow Me.hWnd, True End Sub Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Static dx, dy If Button > 0 Then Me.Left = Me.Left + X - dx: Me.Top = Me.Top + Y - dy Else dx = X: dy = Y End Sub
499 :
494 :2010/03/19(金) 14:30:23
すいません、分りにくかったですか。 VB6で出来るだけ高速に複数行のテキストをポップアップ表示させたいのです。 それには、やはりAPIを使った方がいいのかと
また2chブラウザか!
最近人気なのか? いまさら2chブラウザをなぜVBで・・・
どうせバレるんだからストレートに聞けばいいのにな だからブラウザ作ってる奴はウザがられる
504 :
499 :2010/03/19(金) 15:50:51
ありがとうございました。それでは早速、退散いたします。
出来るだけ高速にって言っても、んな目に見えるほどの差なんて出ないんじゃねーの? どんなもん求めてるのか知らんけど
506 :
デフォルトの名無しさん :2010/03/23(火) 01:16:02
低スペックパソコンなんだろう。おそらく。 既存の2chブラウザが動作しなくらいの旧式パソコンとか
507 :
デフォルトの名無しさん :2010/03/25(木) 22:06:33
print でcsvファイルに書き込みを行いたいのですが、 2003/12/15 14:50:30.01 と書き込みを行った場合、 csvファイルをエクセルで開くと、2003/12/15 14:50:30.01 とセルに表示されません。 エクセルのセルの表示設定で表示形式を変更してやれば、ちゃんと表示されます。 str = format(now, "yyyy/mm/dd hh:mm;ss") str = str & ".01" print #番号, str みたいな感じで書き込みを行っているのですが、 この段階でstr には "2003/12/15 14:50:30.01"が入っているのですが、 書き込みを行ってエクセルで開くと、そのように表示されません。 どうすればエクセルで書式設定の変更を行うことなく表示されるのでしょうか?
頭に ' を付けるとか。
CSVじゃ限界あるからエクセルファイルとして作成を
>>508 頭に'をつけることで効果もないような
ただの文字列扱いにするってことか
csvとxlsをvbから作成するのって何か違うんだっけ
うん。
xlsは、ExcelのCOMコンポーネントを使って作るのが一般的。 csvは単なるテキストファイルなので、そういうのいらん。
つまり、csvで作ると書式設定を行えないから表示がおもったとおりにいかないという?
csvをどう表示するかなんて、アプリ次第だしね~
びしっとした決まりが無かったからね RFCをちょびっと読んでそのまま捨てた
昔からcsvに統一規則がなかったからな。 csvは相手側をコントロール出来るもんじゃない。「相手側に配慮する」のが関の山だ。 相手側がcsvの読み方をユーザーに尋ねてコントロールするもんだ。 RFCも普及するやら。時代はxmlに突き進んでるし。
相手側ってのはVBじゃなくてエクセル?
相手がVBだろうがエクセルだろうがCSVになった時点で色々消えてるべ
電話番号の090が90になっちゃったり、ゼロ埋めのコード0001が1になっちゃったり色々あるわな ダブルクオォートで囲ったり、先頭に'つけても回避できない事例も結構あったよ 結局Excelオブジェクトぶん回してxls作るのが一番手っ取り早いというところに落ち着いた データ量が多いときは有償だけどExcelCreater使ってたわ
521 :
デフォルトの名無しさん :2010/03/26(金) 17:33:04
Function hoge() As Class1 Dim c1 As New Class1 c1.value=10 Set hoge=c1 End Function Sub Test() Dim c1 As Class1 Set c1=hoge() End Sub これって使い方正しい?こういう使い方って良く無い?
正しい。
523 :
デフォルトの名無しさん :2010/03/26(金) 17:41:23
ありがとう
Function hoge() As Class1 Dim c1 As New Class1 c1.value=10 Set hoge=c1 End Function ↓ Function hoge() As Class1 Set hoge = New Class1 hoge.value=10 End Function
デザパタでいうFactoryMethodパターンみたいなもんか
For Each って、Variantでしか取り出せないんでしたっけ?
mjd?
528 :
デフォルトの名無しさん :2010/03/29(月) 00:05:55
あ
ほ
>>526 俺は無知だと思い知らされたわ
すげぇよあんた
やぁ、
>>526 ですよ。なんですかこの冷たい反応わw
つかマジに質問したんやけどなぁ。
久々にEach文書いたらVariantじゃないと受け取れなくて「・・・え、嘘でしょ?」とか思って。
なんかVariant指定しないとエラー出たり、時々エラーも出ずに動いたりでよくわかんね。
でもコンパイルは通らないんで結局Variantじゃなきゃ嫌らしい。うそーん。
Dim aa As New Collection Dim temp As image aaにimage突っ込んだり・・・・ラジマンダリ For Each temp In aa Next まぁ言い方によるんじゃなかろうか たとえばCstr関数のヘルプより抜粋 バリアント型 (内部処理形式が文字列型 (String) の Variant) に変換して返します。
ごめん、何言ってるのかさっぱりわからない。
>>532 For Each element In group
[statements]
[Exit For]
[statements]
Next [element]
For Each...Next ステートメントの構文は、次の指定項目から構成されます。
指定項目 内容
element
必ず指定します。コレクションや配列の各要素を繰り返す変数を指定します。
コレクションの場合、
引数 element にはバリアント型 (Variant) 変数、総称オブジェクト型変数、
または任意の固有オブジェクト型のオブジェクトの変数を指定できます。
また、配列の場合は、引数 element にはバリアント型のみ指定できます。
group
必ず指定します。オブジェクト コレクション名または配列名 (ユーザー定義型の配列を除く) を指定します。
MSDNライブラリ Visual Basic リファレンス ステートメント For Each...Next より引用
MSDNライブラリのリファレンス・オブジェクトのCollectionのページで使用例を見たら MyClasses.Add Item:=Inst, Key:=CStr(Num) という記述があったんだけど := これって何?こんなの初めて見るんだけど
MSDN内を名前付き引数で検索
今年もVB6をやらされる新人がいるのか いいかげん会社たためや
もう入社したのか
俺の時代は会社がきまった瞬間からその会社に行ってたものだが、今は無いのかな
普通10月に入社式だもんな
新卒採用とかしてるIT企業なんてあんの?
あるよ
この不景気にやるねぇ
544 :
デフォルトの名無しさん :2010/04/01(木) 20:16:43
ランダムな3桁の数値の入った配列Hoge(n)を (重複した数値を除いた)ユニークな数値が何個あるのか数を数えたいのですが どうすればいいですか?
>>544 ソートしてからカウントすれば簡単じゃないの?
って、少しは頭使おうよw
dim kazu[0 to 999] dim i,kosuu for i = 0 to n step 1 kazu[hoge[i]]++ next for i = 0 to 999 step 1 if kazu[i] == 1 then kosuu++ next VBの文法はまったく忘れたけど、こんなもんじゃない?
ループで。
549 :
デフォルトの名無しさん :2010/04/01(木) 20:51:16
>>546 VB6以前にインクリメントは無い
配列は丸括弧
>>548 どっちがいいってもんでもなくて
nの個数とか速度とかメモリとかの状況によるでしょ
最後にゃ実際にやってみないとね
連想配列使えばいいのに
552 :
デフォルトの名無しさん :2010/04/01(木) 21:27:21
ここって需要まだあるの? ずいぶん前のじゃない?60
>>552 良いか悪いかは置いといて需要はまだまだ多いぞ
いまだに新規案件で採用されたりするからな
Windows7でも動くしな
新規案件で!!
>>544 ,548
まとめ
その状態から重複していない事を担保するにはどんな方法でも最低n-1回のループは必須。
「ユニーク数のカウント」を最高速化したいなら、はじめから重複しないように追加しておくか、
そもそもカウントを配列追加時に行っておくのが正しい。
>>546 の方法は、最大値の数だけ別配列を用意してバケツソート的手法でカウントしている。
このタイプの手法が使えるなら、これが概ね最速と考えられる。
だが
>>546 のコードはちょっと無駄が目立つ。ついでに999を越えても動作するようにしてみた。
Dim Huga() As long
Dim i As Long, Kosuu As Long
Redim Preserve Huga(999) '0~999決め打ち
OnError GoTo AryErr '用意したHuga()のサイズが足りなかった場合エラーをトラップ
For i = 0 To Ubound(Hoge)
If Huga(Hoge(i)) Then
Kosuu = Kosuu + 1 'カウントアップ
Else
Huga(Hoge(i)) = 1
End If
next
AryErr: Redim Preserve Huga(Hoge(i)): Resume 0 '999で足りなかった場合に増量して再処理
コーディング的には
>>551 の言うようにCollectionやDictionaryを活用するほうが手っ取り早い。(OnErrorが嫌ならDic)
数が少ない場合や、値が整数ではない(小数を含むなど)、または値の種類の範囲が大きい(0や999999999を含む)場合では
メモリ確保の時間的コストとメモリの量的コストが大きすぎる結果になり、
>>546 的手法は適さない。
結局のところ
>>550 。
set dic = createobject("scripting.dictionary") for each h in hoge dic(h) = dic(h) + 1 next debug.print dic.count
足す必要なかったw set dic = createobject("scripting.dictionary") for each h in hoge dic(h) = "hoge" next debug.print dic.count
ウインドウの×(閉じる)ボタンをおしても ctrl+ALT+DEL で起動中のプログラムとかをみたときに VBで作成したプログラムが残るのですが、どこが原因なのでしょうか? ちなみにフォームは見れません。スタートアップのモジュールも終了しています。
そんなことは無い
>>555 なにが偉そうにまとめだよw
そんなもの普通にソートしてやれ、ってのが常識だろ。
連想配列とか本気でいってるんか。
563 :
デフォルトの名無しさん :2010/04/02(金) 01:55:42
未だにVB6を新規案件ってことは その客は かなりショボイパソコンを使ってるってことか?
>>563 言ったろ
VB6.0はWindows7でも動くんだぜ
565 :
デフォルトの名無しさん :2010/04/02(金) 03:38:58
発注側は何でどうして言語指定するのかなぁ 古いパソコンでも無いのならわざわざVB6指定する意味が分からない VB6で作ったソフトウェアを商業目的に使うのに制約とかあるのかなぁ? それとも発注側が何か弄るってこと?孫請けとかで部分的なの作れってこと? いや、俺素人だから知らんのけどね
VB6で構築したシステムが現役で稼動していて、少なくともあと10年はそのまま稼動させる予定。 で、業務の変更・追加に伴うシステムの修正・新規案件がががが
既存システムへの追加とかならわかるけど 完全新規ではさすがに無いよね しばらくVB.NETできてたけどだんだんC#のほうが増えてきた
ここは、VBプログラマ質問スレというより職業VBプログラマ質問スレ
>>568 仕事が絡まなかったら、それこそ今更覚えようなんてする奴はいないだろうしなぁ
VBAには役立つけどね もしくは人が足りなくてVBAしかできない奴にやらせようとしてるとか・・・
Windows7以降のOSではVBAどうなる
どうにもならんだろ。
sage
>>569 ノシ
完全に趣味でVB6やってますお
10年くらい前にVB6LEを買って以来ずっとVB6しかやってないですお
今更新しい言語習得なんて億劫ですし
パソコンのスペック的にも最近の新しいVBはインストルでけませんですお
別にVB6だからって困ることは無いですお(LEはちょっと困ってますが)
当時学生で金も無かったのでLEしか買えなかったんですお
最初はN88BASICを趣味でやってたんですお そっからVB6へ変えたんですお ですがかなり苦労しましたですお 勝手が違いすぎましたお もうそんな苦労ゴメンですお なので今でもVB6使ってますお
プログラミングは僕の中の趣味のランキングでは4位か5位くらいに相当するのですお たまに気が向いた時だけプログラミングするだけなので未だにプログラミング能力は初心者に毛が生えた程度あるか無いかですお ベーシックマガジンという雑誌だけを頼りにN88BASICもVisualBasicも覚えたんですお
>>576 俺漏れも。学生時代に購入してアカデミック何とかが有効だったからプロフェッショナル版買った
確かLEとの差は数千円だったような気がしたから欲張ってこっち選んだと思った
>571 Officeがある限り安泰です
581 :
デフォルトの名無しさん :2010/04/06(火) 01:09:50
Microsof HTML Object Library (mshtml.dll)の Scriptletコントロールって何に使うコントロールなの? Microsoft Internet Controls (ieframe.dll)の WebBrowserコントロールと同じ?
そのWebBrowserのgetPropertyとかputPropertyの使い方がワカラン プロパティってどんなのがあるの? このプロパティ弄れば、個別にJavascriptをOFFにしたり、画像非表示にしたりとか出来るの?
>JavascriptをOFFにしたり VB6以前では何か無理みたいですよ。よく知りませんが, OnAmbientPropertyChangeメソッドを実装する必要があるようです。 VB界のあの大御所ですら完全には出来てないようですし。
>>583 あぁ、それ以前調べたけど、俺の拙い知識と技術じゃ全くむりぽかった。
JavaScriptと画像表示切りたかったんだけどなぁ・・・
VB6.0に付属してるWebBrowserコントロールは Trident(MSHTML.dll) HTMLレンダリングエンジンを使ってるんですよね。 ここで疑問なのは、VB6.0でWebBrowserコントロールを使う場合でも常に、systemフォルダにあるMSHTML.dllの最新の機能が使えてるのかということです。(まぁ、当然かな) MSHTML.dllのバージョン としては下記のようです。 / Trident MSHTML.dll IE / 4.0.x 4 / 5.0.x 5 / 5.5.x 5.5 / 6.0.x 6 / 3.1 7.0.x 7 / 4.0 8.0.x 8 <- Tridentとしては初めてAcid2テストを通過 ちなみに、自分のパソコンのmshtml.dllのバージョンを調べたところ ファイルバージョン 7.0.6000.17037(製品バージョン 7.00.6000.16386) 更新日時2010/03/10 1.52となってました。
既存のVB6プロジェクトに含まれるファイル(*.cls|*.bas|*.frm)を調べて、 使われていないクラスファイルを見つけたいと思います。 プロジェクトに含まれるファイル(*.cls|*.bas|*.frm)を開いて、 全てのファイルで「 As (クラス名)」という文字列が含まれていない クラスファイルは使われていないクラスファイルとして処理しようと していますが、「 As (クラス名)」以外でクラスファイルを参照する 方法があるでしょうか?
>>586 自己レスです。「 As (クラス名)」の他に「= New (クラス名)」もありますね。
他に見落としはないだろうか・・・
implements
TypeOf ... Is
CreateObject
CreateObjectがアリだと他にもいっぱい出てくるな・・・
CreateObject 関数 ActiveX オブジェクトへの参照を作成して、返します。
TypeName Controls.Add
594 :
デフォルトの名無しさん :2010/04/13(火) 00:47:40
リッチテキストボックスコントロールで プログラミングでよく使われるようなエディタ風(特定単語を色分けや字体変えたり、行番号表示したり) を作るのって 難しい?
とても難しいです
596 :
デフォルトの名無しさん :2010/04/13(火) 00:58:57
そうか、残念
テキストエディタってどういうデータ構造で持てばいいんだろうな 考えるだけでむずかしー
テキストで持てばいいんじゃね?
テキストファイルをFileSystemObjectのTextStreamで開く 一行ずつ読み出しては解析してRichTextBoxに追加&装飾 文末(EOF)まで繰り返す タブ記号や改行記号もなんとかして加える
そうかー 文字データと装飾データを別に持てば意外といけるかー
むしろリッチテキスト使わずに オリジナルコントロール作っちゃえばいい UserContorolにPictureBox配置して PictureBoxにテキストファイルを描写 カーソルや範囲指定、日本語入力と色々と頑張る必要はあるけどな
結論 古いVBではエディタは作れない
できた Dim x as Integer, y As Integer, sen as Boolean Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) Select Case KeyCode Case 39 : x = x + 1 Case 40 : y = y + 1 Case 37 : x = x - 1 Case 38 : y = y - 1 Case 13 y = y + 1 x = 0 End Select Me.Refresh End Sub Private Sub Form_Paint() Me.PSet (0, 0) Me.FontName = "MS ゴシック" Me.Font.Size = 16 Me.Font.Bold = True Print "あいうえお" Print "かきくけこ" Print "さしすせそ" If sen Then Line (x * 20, y * 20)-(x * 20, y * 20 + 20) End Sub Private Sub Timer1_Timer() If sen Then sen = False Else sen = True Me.Refresh End Sub
画面のチラつきを抑えるには PictureBoxコントロールを2つ用意し 一方はAutoRedrawをTrue、VisibleをFalseにして 毎度Clsして全て描写 そしてもう一方はAutoRedrawをFalseにして さきのPictureBoxの描写が終わったのを見計らって PaintPictureでさきのPictureBoxのImageを描写する これでチラつきが消える
うそつき
If sen Then Line (x * 20, y * 20)-(x * 20, y * 20 + 20) ↓ Dim w, h w = TextWidth("あ") h = TextHeight("は") If sen Then Line (x * w, y * h)-(x * w, y * h + h)
オブジェクトブラウザ眺めてりゃ結構便利なメソッドや関数や定数見つかる
(´・ω・`)
そういやオブジェクトブラウザ上のLineメソッドって Sub Line(Flags As Integer, X1 As Single, Y1 As Single, X2 As Single, Y2 As Single, Color As Long) ってなってるけど何でだろう?
APIのCreateThreadってVB6で扱える?
確か扱えたと思うけど、一時中断とかすると即死したような気がする。
IDEとの相性は最悪だったきがするな 以前、それも考慮に入れてつくればいいとかしつこく言ってた奴がいたが
ActiveXexeにしてマルチプロセスにしたほうがいいね
やはり無理か・・・マルチプロセスなら簡単そうだな。それにする
>>582-585 VBじゃないけど、
DonutとかいうTrident使ってるブラウザで
ページごとに個別に設定できるから
VBでも可能だと思うよ
DonutはうちのWin95のIE5.5で確認したから
MSHTML.dllはIE5.5以上なら出来るはず
Donutじゃなくて派生ソフトのDonutLってソフトだった。 先日VectorからWin95パソにDLったのよ
>>616-617 実現するためには引き渡すオブジェクトの定義が必要で、
大元の問題は、そのクラス定義がVB6だけでは書けないって事だったと思う。(もううろ覚え)
IE操作する機能のために、定義を他の方法で書いて用意しなきゃいけないくらいなら、
いっそ最初から外部DLLとして作って渡したほうが良いんじゃないかって感じで形骸化してる。
619 :
616 :2010/04/15(木) 04:34:08
俺、素人なのに生意気に意見してゴメンお
>>610 Line等は古代のBASICとの互換性のため特殊な文法になっている
COMオブジェクトレベルではそのパラメータに変換して呼び出されている
従ってCallByNameでLineメソッドを呼ぶ場合はFlagsが不詳だがこんな感じ
CallByName Me, "Line", VbMethod, CInt(32+8+2), CSng(15), CSng(30), CSng(40), CSng(40), CLng(vbRed)
なるほど
超初心者ですが、VB6で質問があります。 画面の無いモジュールのソースを見る必要があるのですが、標準モジュールとクラスモジュールがたくさんあり、実際にそのモジュールを使用する際にどのモジュールから処理が開始されるのかわかりません。 また、一つのモジュールの処理完了後に、どのモジュールに行くかもよくわかりません。 ご教授、もしくは参考サイトなど、お願い出来ますでしょうか?
sub main()からだよ
>>624 関数とかクラスというものは知っていますか?
>>626 関数はわかります。
SUBやFUNCTIONの後に定義し、引数が必要であれば与えてやり、FUNCTIONであれば帰り値があるんですよね。
クラスは今いちわかりません。イメージ的には変数やプロシージャをまとめた物で、他のモジュールで上手く流用してやるというイメージです。
初心者ならすぐにC#かJavaか最低でもVB.NETに乗り換えるんだ 会社でVB6を覚えなければならないなら、ご愁傷様だが
>>625 sub main()でプロジェクト内を検索してみれば良いのですね。ありがとうございます!
そこからそのモジュールを上から下に実行していき、最後のプロシージャで次にどのモジュールに行くか書いてある感じですかね。
なんかイケそうな気がします!頑張ってみます。
>>628 まさしくご愁傷様です。ですがC#も勉強していこうと思ってます。VB6をある程度わかるようになってから並行して勉強しようと、、。
>>629 モジュールに書かれているプロシージャを上から順番に
実行していく(1個目のプロシージャが終わったら
2個目のプロシージャを実行、…、どんどん順番に
実行していって、最後のプロシージャの実行が終わったら、
そのモジュールの実行が終わって、次のモジュールを
実行する)と思っているなら、それは間違いだよ。
>>631 のように思っているなら、関数というものが
理解できていない(関数はどのようにして実行される
のかが理解できていない)ということになるね。
>>631 なるほど、ではなくsub main()から始まるモジュールを上から下に処理していき、その中で他のモジュールを利用するという感じでしょうか?
そのほうがなんとなく納得出来る気がします。
>>632 多分そうです。ですが、なんか今までのソースの見方が意味不明だったのが解決出来そうな流れで、非常に興奮してます。
sub main()から始まり引数付きで他のモジュールのプロシージャを呼び出し、その帰り値を貰ったりして進んでいく感じですかね?
VBにはステップ実行があるから、一度やってみるといい
>>635 ありがとうございます。ネットでサンプルコードを拾って色々やってみます。
>>636 そういう意味ではなくて、[F8] を連打しろ、という意味だ。
>>638 うん、そういう認識です。
実際やってみたら割と思うように進んで納得しました。呼び出し元と呼び出し先、またそこが呼び出し元になって、さらに戻って~みたいな流れで最終的にはメインの最後で終わる感じですね。
あとはクラスモジュールやAPIの使用なんかは少し難しい感じがしますが、頑張ってみます。
VB6で質問です。 ListViewで上の要素をクリックするととりあえず降順にソートしてくれるけども、もう一回クリックで昇順とかは .NETなら見つかるんだけんども、VB6は無理なんでしょか?
>>642 じゃないけど、ListViewで安定ソート出来ないもんかしら?
やっぱソートを全部自前でやるしかない?
>>644 そもそもGUI部品にソート機能を持たせよう、
って発想が間違ってることにいい加減気がつこうよ。
表示の降順・昇順ソートは普通じゃないの? Explorerとかの日付ソートとか。 まあともかく… できなくはないけど安定しない、思想がよろしくない。で、いいのかしら?
ソート?エクセルにデータ渡してソートしてもらって再取得とかじゃダメなの?
は?
>>646 ソート機能を否定してるんじゃなくて、
ソート機能をGUI部品に担わせるのが間違ってるといってるんだよ。
どう違うんだ?
打っても響かないところがVBスレらしいところだなw
>>650 ソートする責任はListViewに表示しているアイテムを集約してるオブジェクトに
持たせるべき、ということ。
それって否定だろ?
これがVB脳の恐怖か....
ListViewは数字でのソートが・・・上位桁に0埋めて桁合わせないと数字の大きさ順にソートしてくれなかった
バブルソートでおk
>>652 「ListViewソート機能の否定」ならわかるんだが
単に「ソート機能の否定」ってと「ソートすんな」だよね?
ListViewじゃなくてオブジェクトで「ソートしよう」って言ってるのに、なんで「ソートすんな」なんだ?
>>651 しかし見た目を掌るListViewが見た目のソートを持たないというのも微妙な気が。
データそのものやその扱い自体のソートなら内部で持つべきだと思うけど。
ともかく。
ふつうにはやりにくい、でいいのかしら?
>>642 のひとの手法が知りたい…使い物になるのかはさておいて。
ListViewの昇順降順くらい Private Sub ListView1_ColumnClick (ByVal ColumnHeader as ColumnHeader) Let ListView1.SortKey = ColumnHeader.Index-1 Let ListView1.SortOrder = lvwAscending :Rem 昇順。降順ならlvwDescending Let ListView1.Sorted = True End Sub
すると、クリック毎に入れ替えると ListView1.SortKey = ColumnHeader.Index - 1 If ListView1.SortOrder = lvwAscending Then ListView1.SortOrder = lvwDescending Else ListView1.SortOrder = lvwAscending End If ListView1.Sorted = True かな
lvwAscendingとlvwDescendingの値は1と0だから ListView1.SortOrder=1-ListView1.SortOrder でおk
Withくらい使えよ・・
Withとかきめぇ
>>594 やってみた
RichTextBoxでjavaファイルをTeraPad風に色とボールドしてみた
ファイルを読み込んだ時だけ色・ボールドするので
中身編集すると・・・めちゃくちゃにはなる
やり方が悪いのかもしれんがファイル大きいと結構時間かかる
結論:RichTextBoxでやるのは無理がある
>>594 >>664 こんなんどう?
非表示でIEやリッチテキストに描画させて、それをPicture内に再描画して提供。
右クリックやドラッグなどの処理は透過的に処理する。
まぁ面倒くさい事に変わりはないな。
それだと文字位置などの管理が無理だな すべて自分で描画したほうがラクだろ
>>666 そうかね?
クリックも全部裏のコントロールに渡せばカーソル位置や文字の選択もそっちが勝手にやってくれるんじゃない?
実際に試して話してるわけじゃないけど。
実際試してみろよ そもそもそんな使い方ならピクチャに再描画する意味なんてないだろ
>>668 意味は、うーんあんまないかもなw
描画エンジンを自前で作りたくないし、リッチテキストの処理は非常にめんどくさいのでパスしたいのさ。
俺がやるなら内部にIE一匹飼ってHTMLで表示を作る。CSS使って自由度高いし。
で、入力はフックしてHTMLに変換して制御とか。
入力部(カーソルなど)が問題だってのになにいってんの
笑えない冗談だ
675 :
デフォルトの名無しさん :2010/04/24(土) 20:56:25
>>603 みたいなやり方だと
日本語入力とか出来ないよね?
KeyDownやKeyPressイベントじゃIMEとかの日本語入力使えないよね?
え?どこに入力が?
IMEの制御くらいAPIでいくらでもできますよ
だからみんな相手してないんじゃん
まあRitchTextBoxを使うのが一番簡単だとは思う。 入力した文字にシンタックスカラーがリアルタイムで適用されるような 応答性の高いものは難しいと思うけど、以下の方針で作ればそれなりに 実用的なものはできるんじゃないか。 - テキストの解析とシンタックスカラーの適用は、タイマーを使って一定時間ごとに一行ずつ行う。 - 上記タイマーは、Changeイベントで起動し、全行の解析が完了時点で停止する。 - 行の解析は、タイマー起動時の現在行か、またはその1行上の行から開始する。 - 行番号表示は、左側にもう一つ別の行番号専用のRitchTextBoxを置いて実現する。
VB厨はコントロールに頼りすぎる
>>680 そんなアホな事をする位だったら自作したほうがラクだろ?
>>682 (あと
>>681 )
またそういう寝ぼけた事を言う。
そう思うならやってみたら?
まあやってみなきゃ大変さが分からない時点で君がダメグラマなのは確実だな。
エディタの類はVBじゃなくても一から実装するのは難しい部類に入るプログラムなのに、
低レベルのコーディングにまったく向いてないVBでやったら気が狂うこと確実だわ。
しかし、エディタを書けるかって質問して舐めたこというかどうかで
ダメな奴を見分けられそうだよなw
682だけど、 以前やってみたから言ってんだよ。
やってるわけがない。
やってたら
>>682 みたいな戯言が言えるはずがない。
だからVB厨って言われる連中はダメなんだ。
ではお前が作ったRutchTextBoxを使ったエディタを見せてくれないか? 俺はリアルタイムの色変更とスクロール、文字位置制御で挫折したんだ えらそうに言うくらいだから、できたんだろうな?
>>680 些細なことだけど
×RitchTextBox
○RichTextBox
技術的な難易度を指摘してるだけなのに、いつのまに俺がRutchTextBox(笑) を使ったエディタを作ったことになってるんだろう。 訳がわからん。
>>687 些細なことだけど
×RutchTextBox
○RichTextBox
>>689 てめえが難癖つけてきたんじゃねえか糞野郎!!!!!
>>680 行番号表示って、編集してるほうのカーソル位置とかスクロールに合わせてスクロールさせるんだよね?
RitchTextBoxのスクロール量の取得・設定てどうやるの?
VB6のIDEだと編集中の行は色づけが解除されるよね
解除されるのでもいいから、リッチテキストでやってみろよ
>>692 ごめん、君の文章を少し読み間違えてたようだ。
でも
>>694 のサンプルにはそれも一応載ってるな
OS、Windows2000じゃないんですけど
めちゃくちゃ重いサイトだな
GWはテキストエディタつくろーっと
別にあなたが何しようとどうでもいんですけど・・・^^;
気になるくせにーw
反応早すぎだろうw 気にしてるのがどっちか丸分かりじゃねーかw
一日中2ちゃんしてるからw
VB6でデータベースの列を追加する方法か、その内容をひっかけられるMSDNの語句を教えていただけないでしょうか。 .NETやC#ならすんなり当たるのに…世の中つらい。
alter tableするだけじゃねーの?
扱いは追加じゃなくて変更なのか…㌧。 ググるとそこそこあたるので探ってみる。
つうか、SQLの知識のほうじゃねぇか…
>>708 ああ、そうか… って、VBでSQLなスレ見つけたけど、中身がわりと残念な進行してるねえ。
むこうで聞いて大丈夫だろうか?
DBはDB板へ
VB6付属のMSDNライブラリのVBのLogの項目で Static Function Log10(X) Log10 = Log(X) / Log(10#) End Function ってあったんだけど、これってStaticつけられてるけど何か意味があるの?
実行速度が遅くなる以外は違いがない気がするな
インスタンス無くてもアクセスできる
なぜインスタンスが?
C++とは意味が違う
717 :
デフォルトの名無しさん :2010/04/28(水) 19:20:06
Property Let とか Property Set は斬新だった
b() = Inet1.OpenURL(strURL, icByteArray) でバイト配列にデータを格納したら そのあとは どんなプログラムを書けばハードディスクに記憶できるのか
ファイルを作って書き込めばいい。
720 :
デフォルトの名無しさん :2010/04/29(木) 11:18:24
>>718 b = Inet1.OpenURL(strURL, icByteArray)
fn=FreeFile()
Open "File.txt" For Binary As #fn
Put #fn, , b
Close #fn
サンクス
723 :
デフォルトの名無しさん :2010/04/30(金) 02:19:34
>>720 この方法のヤバさと言ったら
File.txtが既に存在していて
書き込むbのサイズよりファイルサイズが大きい場合だよね
超ヤバイ
なにが?
引き出したい言葉を普通に質問すればいいのに
>>723 サンプルにエラー処理の事でつっこむとかバカなの?
>>722 60年代前半生まれだしな
つうかSAPて言語・・・なのか?w
728 :
デフォルトの名無しさん :2010/04/30(金) 17:33:14
729 :
デフォルトの名無しさん :2010/05/04(火) 00:24:00
つい最近、Trueの値が-1である理由に気づいた。 もう10年以上(まぁかなりの素人ではあるけれど)プログラミングに触れてきてるのにね。 2の補数のビットで表現してたって本当つい3日前に気づいた Falseがビットが全部0に対してTrueはビットが全部1 ビットが全部1だと2の補数だと-1になるという・・・ ずっと昔から、何で1じゃなく-1なんだろうと思ってた・・・その疑問がやっと解決した・・・
全部0とそれ以外 それだけだと思うんだ
Debug.Print "True="; CInt(True) ' -1 Debug.Print "False="; CInt(False) '0
CBool(1) さて・・・どっち?
誰もそんな話してないけどな。
Dim a,b a=10 b=20 Debug.Print CInt(a < b)
宇宙線の影響を考えると1ビット反転でコンピュータ障害がおきかねないな
736 :
デフォルトの名無しさん :2010/05/04(火) 23:28:37
原因不明のエラーはWindowsMeのせいじゃなくて、宇宙線のせいだったんだな。それなら仕方ないな。
ageてまで言うような事なのか?
そこはスルーしとけ
なんでもWindows Meのせいにするのは天江衣
顧客「おたくのアプリケーション、ちょくちょくエラーが出るんですけど 営業「宇宙線の影響なので仕方ありません 顧客「なんだ宇宙線のせいなのか。それならば仕方ないな。 使える!
ねーよwwww
なんのためのECCか
743 :
デフォルトの名無しさん :2010/05/08(土) 00:17:54
英語塾?
ECCで訂正できるのって1bitのミスだけで2bit以上は検出だけじゃなかったっけ
ミスるメモリだとわかる点だけでも価値はあったんだぜ
エラー検出訂正 (error detection and correction)?
クラスモジュールでグローバルな変数・定数・メソッドを使うのに抵抗があります
>>747 それは明らかにおかしい
必要ならば使うしかないだろ
俺は使いまくり。とても人に見せられるソースじゃない
グローバル変数は害悪 定数やメソッドは問題ない
>>750 そのへん含め.NETになったと聞いたけど、そうなのかしら? .NET触ったことないからよくわかんないけど。
ところで。
Windows7でMSCommがマトモに動いてくれないのだが、なにか情報出てたりしますか?
MSComm使って無さそうなソフトだと(ActiveX?)普通に受信するのに
MSComm32を使ったアプリだと、[ 通信デバイス読み取り時にエラーが発生しました(8020) ] を返してくる…。
USBtoシリアルとWindows7の組み合わせが悪いのか、Windows7だけの話なのか?
うちの環境で DELLノート Win7+エレコムのUSBシリアル でソフト書いても問題なかったけどなぁ VB6でもC#でも
APIで書き直せばおk
>>752 マジカ
おのれIOデータ
とりあえず、受信バッファに何かあるときに MSComm.Inputすると出るの。
それ以外は出ないし送信もできるのに…。
>>753 それは最終手段にしたい…。
まず本当にOSの問題かどうかの裏をとろうよ。 そんなこと言ってるからVB厨とか言われちゃうんだよ。
IOデータってOSなの?
おのれIOデータのUSBシリアルめ、という意味なんだろう
758 :
754 :2010/05/12(水) 22:38:13
IOデータのサポートに言ったら、他にそういう報告はないとのこと。
とりあえず1世代前の製品の最新ドライバ入れてみてという変なこといわれた。
やったら治った。
なんぞーっ
ドライバがこなれてないのかしら。
>>755 XPで起こらないのは確認済み。
自分に限界を感じた データベースというのがさっぱり理解できない データベースそのものもわけわからんのだが それを扱うメソッドもよくわからん VisDataもヘルプ読みながら使ってみたがよくわからん これは もう完全にセンスの問題だと思う。俺のプログラミングに関するセンスがダメなんだと思う 家計簿的なもの作ってやろうじゃんと思ったけど さっぱりだ。 そもそもデータベースの入門書みたいな本とかもまったく理解できなかった これは致命的だろう ああ、くそだ
バイナリアクセスモードでファイル開いて putやgetでstringの読み書きって半角や全角や制御コードとか全部2バイトデータかな dim s as string * 20 put #1, , s put #1, , n& ↓ get #1, , s get #1, , n& で取り出せるよね? sの内容にかかわらず
回答待つより自分で試したほうが早いか・・・やってみるお
>>759 こういう人が居ると安心する。
自分は頭がよくてよかった。
>>759 マジレスしたら
センスの有無はあるだろうけど
要は慣れだと思う
俺でもできるんだ
俺だって最初はまったく理解できなかった
>759 DBを使わず、自分でファイルの読み書きするプログラムを書いたことはある? まずはそれからだと思うが・・・」
>>759 その「入門書」のタイトルを教えてくれれば、
何かアドバイスできるかも知れないな。
(もっと適切な入門書を紹介するとか)
766 :
759 :2010/05/17(月) 01:47:04
なんかいっぱいレス下さって・・・意外です^^;
>>762 士農工商より下の位がいるみたいな感じっすかね
>>763 もう諦めの境地ですから、試行錯誤的にやってみてもエラーメッセージとか意味不明すぎて
MSDNの説明じゃ要領得なくて、ネット検索とかもう探すの面倒になりましたっす
>>764 当初は、DB使わず、データをLongやStringの配列で自前でデータ管理しようと試みたんすけど
データを表示する表みたいなコントロール?(DataGridとか)がイマイチ使い方が理解できなくって
そのコントロールってデータベースのデータ使ったほうがいいのかなって思って
データベースに挑んでみたですけど、まぁ忍耐の限界っす
>>765 書籍タイトルはちょっと分からんです、図書館で立ち読みでしたので
データベースの本はほとんどMicrosoftAccessの使い方の本ばっかでそれらは読んでないです
大学時代に一応データベースの授業受けたんですけど、ちんぷんかんぷんで、出席点だけで単位を貰った感じっす
まぁ趣味でやってる程度なんで、どうしても出来る必要ってないんで
でもみなさんの気持ちには感謝っす
あきらめろよ。
768 :
759 :2010/05/17(月) 02:08:47
>>767 書き損ねましたっすが、はい、あきらめてます
愚痴るだけとか士ねよ
家計簿程度ならエクセルで十分なキガス
初心者ならVBAでいいな
でもまぁ、集計とかその辺が入るしなぁ どうせやるならDBだろ と思うんだが
趣味で古いVB使うってどんな状況なんだ?
>>773 使わなくなったVBを貰ったとかいうのはどうか。
あとは昔からのBASICはよく知ってるんだが、.NETの具合にクラクラしたとかどうか。
776 :
デフォルトの名無しさん :2010/05/17(月) 21:29:52
質問させて下さい。 VBScriptを使用して開発を行う際、 何のエディタを使っていらっしゃいますか。 ASP(VBScript+HTML)で開発することになったのですが、 使用するエディタを何にしようか迷っています。 詳しい方がいらっしゃいましたら教えていただきたいです。 ※候補としてはVisual web developer 2008 expressを考えています。
趣味で家計簿みたいなのを作るならExcelVBAがいいと思うよ。 表みたいなやつはもともとデフォルトでついてるし(Excelだから) 結構いろんなこともできる。 VBで画面作ってデータベースに接続して・・・・となるとそりゃ 趣味の範囲としては難しいよ。
778 :
デフォルトの名無しさん :2010/05/19(水) 01:33:39
複数のテキストボックスをテキスト形式で保存するプログラムを作成しています。 なんとか「保存」「読み込み」のボタンを設置し異常なく作動しました。 ここまではいいのですが、よく考えたら起動時に自動で読み込んでくれると 便利だと思うのですが、検索してもなかなか出てきません。 お詳しい方ご教授頂けると嬉しいです。宜しくお願い致します。
Form_Loadで処理すればいいんじゃないの?いや、俺も初心者レベルだけど
Private Sub Form_Load() Dim f As New FileSystemObject Dim t As TextBox For Each t In Text1 t.Text = f.OpenTextStream("Data" & t.Index & ".txt").ReadAll() Next End Sub こんな感じ?
781 :
779 :2010/05/19(水) 01:55:47
782 :
778 :2010/05/19(水) 09:47:49
すいません追加事項を 起動時に自動で読み込み、なおかつ参照ファイルが存在しなければ 作成する。を追加でお願いします。
>>758 マジで? おれも数ヶ月前に同じようなこと聞いて同じような回答をもらったが、あきらめて
Ratocのやつに買い換えたよ。
もう一度試してみる価値ありかもな。
自分で考えるつもりはなくて 人に作って欲しいってことじゃね?w
MDIフォームで作ってんのか?
>>778 の言いたいことを少しずつみんなで推理していこう
まずこれ
>複数のテキストボックスをテキスト形式で保存するプログラムを作成しています
う~ん・・・
複数のテキストボックスをテキスト形式で保存???
これは・・・・テキストボックスの内容をテキスト形式のファイルに保存してるってことなのかな?
1つのテキストボックスに対してファイルを一つ用意するのかなぁ・・?
788 :
デフォルトの名無しさん :2010/05/20(木) 22:24:38
age
フォームロード時にファイルシステムオブジェクト使えば簡単に処理できます
strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\wmi") Set colitem = objWMIService.ExecQuery _ ("Select * from WmiMonitorID") For Each objitem in colitem Wscript.Echo Wscript.Echo "シリアル: "& objitem.SerialNumberID[] Next win7ですが、シリアル採集できるはずですが、ステートメントの末尾が不正エラー出ます。 YearOfManufactureとかは採集できますが、[]のなかになにかいれないとだめなんでしょうか。
791 :
デフォルトの名無しさん :2010/05/21(金) 17:03:55
角かっこを私は知らない
かっこわるい
ひとまずwinmgmtsでググってみたよ おれには分からない
795 :
デフォルトの名無しさん :2010/05/22(土) 01:32:42
VBでファイル分割・結合ソフト作るのって無謀かな?(特にAPI無しで)
64bit Fedora12で間違って /lib64 を中身ごと消しちゃったんだけど復旧できないのかな。 コマンドはcd以外通らないみたい。よろしくお願いします。諦めるしかないときは遠慮なく言ってください;;バックアップはないです;;
ごめん、誤爆
798 :
797 :2010/05/22(土) 01:40:59
誤爆コメントを誤爆。すまんこ
>795 そんなことすらわからんやつが今更VB6とかやめとけ。VB.netかC#でどうぞ。
MAX_PATH以上のパス 4G以上のファイルサイズ Unicodeファイル名
自分で調べない低脳に教えてやる義理はない
>795 迷わずやれよ、やればわかるさ
>>795 CUIで分割・結合できるツール見つけてそいつにコマンドぶん投げればあっという間に完成するよ
処理の完了を待たなくてもいいならAPIも使わなくてもできるはず
よく分かってないんだが、ファイル分割って、 ・入力ファイルをバイナリとして、バイト配列に読み込む ・適当な大きさで切って前半を出力ファイルA、後半をBとして書き出す 統合は ・ファイルAをバイナリとして、バイト配列に読み込む ・ファイルBも同様 ・その2つの配列を順番に、1つの出力ファイルCに書き出す じゃ駄目なの?
それでいいよ。
いいわけないだろ
何がダメなんだか具体的にかけよ。
806じゃないが、もし結合するファイルが巨大だったらどうするの? こんなだからVB厨って(以下略
プゲラ
プログラミングの超初心者ですが、昔のN88-BASICの命令の大部分は Visual Basic でも使えるのですか? 誰か、教えて下さい。
812 :
デフォルトの名無しさん :2010/05/23(日) 16:04:49
>>810 N88-BASICがわかれば、すんなり入れるよ。
「イベントドリブン」がちょっと厄介かな。
VBは、イベントドリブンといって、
たとえばチェックボックスとか、入力フォームとか、
そういうのが別々の小さいプログラム単位?で動いてるのね。
(昔のプログラムでいうサブルーチンみたいな感じ?)
ローカル変数とか、昔のN88-BASICにない新要素もあるよ。
プログラミングが好きなら、手を出してみたら?^^
locate とか gosub とか renum とかは VB じゃ無理だな
814 :
デフォルトの名無しさん :2010/05/23(日) 16:33:35
そうそう。 widthとかconsoleとかも
ABの話はもうやめてやってくれ 税金泥棒は政府のせいなんだよ
>808 MsgBox "メモリを増設してください"
メモリの増設とは無関係だな。
何が無関係なんだか具体的にかけよ。
VBが扱える文字列変数の大きさは2GBだと聞いた
プゲラ
回答としては「無茶するな」が妥当っぽい
ローカル変数は合計して64KBまで
Dim d() As Byte ReDim d(分割サイズ) f1=FreeFile() Open srcFile For Binary As #f1 While EOF(f1) Get #f1, n, d f2=FreeFile() Open outFiles(i) For Binary As #f2 Put #f2, , d Close #f2 i=i+1 Wend Close #f1 これでok
( ゚д゚)
VB でグラフィックを描くときは1画面で何色使えるのですか? 昔のN88-Basic では4096色の中の8色 or 16色だったけど・・・。
ディスプレイの解像度とOSによる
>>826 大体でいいですよ。1画面で何万色も使えるのですか?
1600万色じゃね?
>>828 ほんと? グラフィックスは写真じゃないんだから、そんなに必要ないよね。
絵を描く時だって、色鉛筆32色もあれば十分なのだから。
>>829 光の三原色の赤緑青をそれぞれ256段階で表示するんだ。
256*256*256=16777216
だから1600万色になるんだ。
831 :
デフォルトの名無しさん :2010/05/25(火) 19:04:43
RGB値で赤0-255,緑0-255,青0-255の組み合わせで一応扱えるけど 画面に表示されるのはWindowsの画面の色設定で指定されてる色数に落とされる さらに画面に表示してる画像をSavePictureとかで保存すると、落とされた色数で保存されてしまう Windowsの画面の色数を16万色にした状態でグラデーション描こうとしてもきれいに描けない
16万色ってなんだ?
833 :
デフォルトの名無しさん :2010/05/25(火) 19:28:53
誤植
834 :
デフォルトの名無しさん :2010/05/25(火) 19:29:35
16bitのHighColor
>>829 あえてマジレスしてみると
その32色の色鉛筆、完全に全部同じ力で描いて、絶対混ぜないの?
混ぜたり薄くしたり濃くしたりした時点で別の色ね。
今はあえて、「何色表示」とかは、言わないな。 普通に写真とかDVDとか見れるし。 まあ、総天然ショック!!!かな。
FM77AV
838 :
デフォルトの名無しさん :2010/05/25(火) 23:56:05
TrueColor以上の解像度ってあったんだっけ?
ないことはない 各色10bitというカラー空間もある ていうか解像度と色数は関係ない
「色の解像度」という表現なのでなかろうかという気もしたが、普通は言わないわな。 「同時発色」って「画面に全部の色を表示」でしょ?というネタを思い出した。 昔の解像度でフルカラー出すと全ピクセル使っても全然タリネーとかいう…
256色や4096色のときはパレットを意識してたけど、 それ以上の色数が標準になってからはパレットは意識しなくなったな。
>>835 確かにそうだね。
色鉛筆は絵の具のようには混ざらないけど、微妙に重ねることが出来るし、
薄く描いたり、濃く描いたりするから、実際にはかなりの色数を使ってるんだね。
ところで誰か、VBのグラフィックできれいなグラデーションの虹を描くソースコードを
教えてくれない? 作りたいんだけど、初心者だから僕には無理なんだよ。
なんというか気分の悪い 綺麗の定義が判らないけど出来る でもお前には教えたくない 勝手にググってサンプルコードでもコピペしてろ
その虹というのはどういう物なのか、例をあげてくれ 例の画像を用意する事くらいできるだろ?
ほい Private Sub Command1_Click() Me.ScaleMode = 1 Dim x As Integer Dim i As Integer For i = 0 To 255 Line (x, 0)-(x, Me.Height), RGB(0, i, 255 - i) x = x + 1 Next For i = 0 To 255 Line (x, 0)-(x, Me.Height), RGB(i, 255, 0) x = x + 1 Next For i = 0 To 255 Line (x, 0)-(x, Me.Height), RGB(255, 255 - i, 0) x = x + 1 Next End Sub
なんというなーなー口調…
VBの質問ではなくて「できあがりをクレ」といってもらえると思うのか。
って
>>845 ぉー……でもなんか「コレは虹じゃなくてただのグラデだ」とか言われそうな気がした
RGBだと赤と青で構成される紫が、虹だと赤の反対側にある不思議…ただ単に「紫の波長」があるだけだけどさ
できた Private Sub Command1_Click() Me.ScaleMode = 1 Dim x As Integer Dim i As Integer For i = 0 To 255 Circle (Me.Width / 2, Me.Height), 2000 + x / 2, RGB(0, i, 255 - i) x = x + 1 Next For i = 0 To 255 Circle (Me.Width / 2, Me.Height), 2000 + x / 2, RGB(i, 255, 0) x = x + 1 Next For i = 0 To 255 Circle (Me.Width / 2, Me.Height), 2000 + x / 2, RGB(255, 255 - i, 0) x = x + 1 Next End Sub
>>847 全くの初心者を繰り返されても、その、なんだ…困る
せめて入門書の1冊でも読まない?
で
一行目に
Private Sub Command1_Click()
ってあるから、ボタンひとつ要るなーぐらいは把握して
ディスプレイの設定で256色モードになってるので グラデーションとか不気味
そんなやつはいねえ
853 :
デフォルトの名無しさん :2010/05/26(水) 18:27:44
Meって必要?
Me使うと候補出るからタイプ量が減るってか そういうことか
>853 今から勉強するならVB.NETにしとけよ。なんでいまさらVB6なんてサポート切れで 潰しが利かないものを覚えようとすんの?
つぶしがきくってどういう意味の言葉?
>>857 「つぶしがきく」でググりゃ、一発目に解説出てくるだろう
なんでもイキナリ聞く姿勢はヤメれ
>857 VB6なんて覚えても他じゃ余り役に立たず、かえって変な癖がついちまう、ってこった。
>854 素直にXPにしとけ
>>856 VB6とVB.NETって、そんなに違うの?
次から次へと新しいのを出すMicroSoft社って腹黒いよね。
少し覚えかけると新しいのが出るから、お金もエネルギーも
ムダにかかるよね。 いい加減にすろ、ビル・ゲイ2!!
新しいの出さないとMSの社員が食いっぱぐれてしまうじゃないか
ビル・ゲイ2の儲け方は異常だよ。 良心の呵責のために、教会や社会福祉事業に莫大な寄付をしているが、 それによっても彼の生活はほんの少しでも切り詰める必要はないんだよね。 もともと有り余り過ぎてるんだから。
お前は、それを見習って奴の1/100程度の儲けで我慢して 残りはユーザー還元してくれよ。
コンピユーター業界はこれまでの家電業界の良心をかなぐり捨ててしまったんだね。 例えて言えば、カセットデッキやラジカセでモデルチェンジをする度に、カセットの大きさや 録音・再生速度などを変えて、以前のものが使えないようにするのと同じことをしているんだから。 昔からの家電業界もそうしていれば莫大な利益が上がったんだろうけど、それをしなかったのは 物つくり人間の良心というものがあったからだと思う。
VB.netを作るのは別にいいけどVBは保守していくべきだよねー いくらなんでも
コンピューター業界に限らず、耐震偽装の「姉歯」、消費期限切れ粉ミルクを牛乳に入れていた「雪印」、 別の客の食べ残しを使っていた「船場吉兆」、・・・等々、もう昔からの職業人としてのモラルなんかぶっ飛んで いるのが今の世の中なんだよ。 「儲かればいいおー!」って感じだね。
>>868 昔の腐ったソースなんで消してしまえばいい
どこかで一度ぶち壊して新しくしなければいけないのだよ
>>870 一度じゃないじゃん! 何度も何度もじゃん。
やつら、儲けが減ってくる度にぶち壊してるじゃん!
使わなきゃいいだけ。
超初心者です。 OS XP SP3 VB2010評価版 VBの勉強をしようと思って本を見ながら 伝票管理のサンプルプログラムを作っているんですが BindingNavigatorの保存ボタン(SaveItem)のコードを、サンプルの通り丸写してもエラーが出てしまいます DirectCast(e, FormClosedEventArgs).Cancel = True のCancelが System.Windows.Forms.FormClosedEventargsのメンバーではありません となります。 ヘルプで探してみたんですがClickイベントで保存する方法は見つかるんですが 「保存しない」とか「キャンセルする」とかのキーワードでは見つかりません。 Private Sub KooujimeiBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles KooujimeiBindingNavigatorSaveItem.Click, MyBase.FormClosing Me.Validate() '入力エラーがある場合は保存しない If HandleInputError() = False Then 'フォームを閉じる前の場合、閉じる処理をキャンセルする If TypeName(e) = "FormClosingEventArgs" Then DirectCast(e, FormClosedEventArgs).Cancel = True End If Return どなたか、参考になるヘルプ記事の場所だけでも、教えていただけませんでしょうか。 お願いします。
スレ違い
875 :
デフォルトの名無しさん :2010/05/29(土) 17:25:23
ごめんなさい。スレタイを確認したら ここは、VB6.0以前でした スレ汚してしまいました。 本当にすみません
私も鬼ではない 許してやろう
以前とはVB6.0を含むのか含まないのか
…わかった!
>>877 これを[以]て、それより[前]。 含むんじゃね?
未満の反対はなんていうの?
超過
おお、ちょうか!
>>877 >>879 「以上」 や 「以下」 を考えると含みそうだが、含まれないよ!
「大学に入学以前はパチンコをしなかった」 という場合で分かるように、
大学生になった時は 「以前」 ではなく、「以後」 に含まれる。
VB6.0以前とは、VB5までのことだよ。だから、このスレタイは、
(6.0まで)と書かなければいけなかったんだよ。
>>883 大学入学の4月はパチンコ未経験だから、以前は4月を含むよ。
Yahoo辞書で調べたところによると そんなに細かいこと気にしなくていいよ
本日の国語の勉強スレッドはここですか
そういうのは、もういいじゃん 新規懸案で6とか無いだろ 未だに6しかできないアホはいないだろ 時間は十分あっただろ
>>889 ネタか真面目かわからんけど、
数学用語の「以上・以下」の用法と、日常用語の「以○」の用法は違っていて、
>>884 の言ってることの方が正しいと俺も思うよ。
でないとすると、例えば「私は以前こちらに伺ったことがあります」みたいな
文章は無意味ってことになる。
それから、理数系(笑)では厳密さが大事ってのはその通りだけど、
だから「厳密に言葉を使え」なんてのは、学問の世界ならそれでもよいかもしれんが
一般社会ではそりゃ子供の論理だよ。
もし意図を厳密に伝えたいと思うなら、読み手に曖昧に解釈される可能性があるような
表現の言いっぱなしはダメ。
>>890 キミも理系タイプだね。
中学時代から国語はあまり得意じゃなかったでしょ。
このスレタイの (6.0以前) の使い方は誤りだよ。
6.0 を含めるつもりなら (6.0まで) としなければいけない。
文系にとってはアタリマエ過ぎることだよ。
以上・以下は日常会話では含んだり含まなかったりするけど 以前はどんなケースでも含まないと思う
い‐ぜん【以前・已前】 いぜん【以前・已前】 1 その時点を含み、それより前。また、その時点を含まないでいう場合もある。⇔以後。*令義解‐考課「八月卅日以前定」 2 現在からだいぶ隔たった過去のある時期。むかし。*大観本謡曲・七騎落「以前某に心をつくさせられ候、その返報に」 3 勅や太政官符などの文書で、事書(ことがき)の次の行の本文の書き出し部分に使われた文言。事書の内容が二か条以上にわたるときは「以前」、一か条の場合は「右」と書く習慣であった。 4 聞き手に対して、前に一度紹介した人や物事を再び述べるとき用いる。さっき。*平家‐九「以前になのっつる武蔵国住人、熊谷次郎直実」 5 ある事柄や範囲に達する前の段階。「文学以前の作品」 Kokugo Dai Jiten Dictionary. Shinsou-ban (Revised edition) ゥ Shogakukan 1988/国語大辞典(新装版)ゥ小学館 1988
へー、以前でも含むケースがあるんだ
>>891 以上と以下と未満は数学でも使う言葉で
ちゃんと教育を受けた人は含むか含まないか
きっちり理解しているが、
以前、以後は厳密な決まりは無い。
含む場合もあるし、含まない場合もあるあいまいな言葉なんだよ。
「含むか含まないかは決まっていない」つまり不定という定義なんだから
どっちでもありなんだよ。
なんできっちり決まっていると思ってるんかね。
辞書引けよ。
含まれないよ! Jiten に書かれているからと言って100パーセント信じるのも理系タイプだね。 国語辞典でも英和辞典でも100パーセント信じたら馬鹿を見るってことが 分かっているのが文系タイプだよ。
>>895 サル以下の知能だな
って言うときは普通サルを含まないだろ
日常会話と数学用語は別なんだよ
>>896 法律用語では「以前」は起点を含む
事実を調べる事も無く間違ってると断じるのは文系の愚かな所だ
日常会話と法律用語は別なんだよ ここは法律スレではない。
>>897 > サル以下の知能だな
> って言うときは普通サルを含まないだろ
含むよ。
お前はサル以下の知能だな。いやサル未満かwww
という言い方するだろ。
「含まれる」 こともある、と言うのなら、
<文学以前> のものが文学である場合もあるってことだよ。 あり得ないだろ!
文学とは呼べない代物で文学ではないから <文学以前> と呼ぶのだから。
文学と呼べる要素が少しでもあれば <文学以前> とは呼ばないのだから!!
>>897 「以上」、「以下」 ここでは関係ないの。
>>898 法律用語なんかで考える時点で、能力を疑われるお。
それぞれの専門分野では、日常用語についてトンデモナイ意味で定義されている
ことがあるからね。専門分野での用法は除外して考察するのが常識だよ。
日常会話では、含む場合も有るし含まない場合もある。 そのように日常会話の辞典には書いてある。 それが事実だよ。
個人的にはどっちの場合もあると思うんだが きっちり明記するからスレタイ案出してくれ 俺が立てられるとはかぎらんがな
(Ver.6.0 まで) だろうな。
OK 異論は無いね?今のうちだよ?
>>901 >「含まれる」 こともある、と言うのなら、
><文学以前> のものが文学である場合もあるってことだよ。
なんでそうなるんだよ
お前本当に日本語分かってんのか・・・
>>904 「まで」こそ含むケースと含まないケースの両方がよくあるだろう
「死ぬまで」は必ず「死ぬ」は含まないし
「今日まで」は「今日」を含む事もあるし含まない事もある
過去ログリストはすでに意味の無いものとなっている
異論をとなえるならば正しいとおもわれる案を出せ
.NET以前 でいいだろ
.net以前でいいだろ この文脈なら明らかに.netは含まないと想像できる
6.0は明記するものとする .NETを論じないのに.NETをつけるな
.netを論じないから.netをつけるんだろw このスレの特徴は何だ? 「.netを論じない事」だろ? ならそれをスレタイに含めるのが当然だろう
なにその後ろ向き 氏ねばいいのに
とくに有用な反論も無いようなので、次スレから 「VBプログラマ質問スレ(Ver.6.0 まで)」 に決定します
までは6.0を含むの?
黙れサル
新人教育でそういう曖昧な表現は使うなと言われたな
大人になるまで といったら、大人は含まれるのだろうか?
923 :
884 :2010/05/30(日) 21:42:23
二十歳になるまでタバコは吸うな。は、 二十歳の誕生日の00:00:00.01を含むだろ。
含まない そもそも年齢が増えるのは法律上誕生日前日か 2/29の場合は2/28が終わる瞬間
>>923 それは前提がおかしい
タバコは二十歳になってから
VB1~6 でいいよ。
明日までにやっとけよと言われたら いつまでにやればいいんだ?
反論があれば代案を出すんだな
明日を含むかどうか聞くか 今日中にやっておくかだな
.net以前でいいんじゃね
スレタイを検索するのに「.net以前」なんて打つかい? スレを探すのに「.net以前」なんて項目で探すかい? 常に下がってるこのスレを探すのに「.net以前」を意識して探すのかい? 日ごろから客が使うソフトを作ってるかい? 客が使いやすくと考えて作ってるかい? なに?いまだにそんなレベルなのかい?
そんな昔の代物をバージョンで検索して出てくると思わないから VBかBasicで検索するのが普通だろう
6.0で検索をするとは言ってないんだよ? VBやBasicで検索したとき、ぱっと見てわかりやすくという事だよ?
>スレタイを検索するのに「.net以前」なんて打つかい?
で?
6.0スレ探してて6.0以前があると 6.0スレを探してしまうな、俺は
937 :
884 :2010/05/30(日) 22:09:16
VB6.0プログラマ質問スレ(.net以前) は? あと黙る
6.0しかダメなのか きびしいスレだ
VB1.0~VB6.0スレ でいいよ。
Part55、実質それ以上の歴史の有るスレタイをそこまでばっさり変更する必要は無い 敬意を払いたまえ
どうでもいい 今までのをそのまま使えばいいじゃない
元気な言語のスレじゃないのでな 次回は一年以上後になるかもしれん やれるときに論議やっとけってもんだ
俺は今のままでいいや。
突然スレが伸びてると思ったら…変なのが湧いてたのか。 向こうの表現ならVB 6.0 or earlierだろうが、誤解を招かないってことなら>939か。
<= 6.0
【VB1.0~6.0対象】 旧VBプログラマ質問スレ Part55 【.net不可】
947 :
デフォルトの名無しさん :2010/05/31(月) 01:25:19
1日ぶりに開いたけど 何で伸びてんのwww
旧VBプログラマ質問スレ(~VB6.0対象) は?
MSBasicやQuickBasicも含まれるの?
それVB6.0以前ならなんでもあり VBじゃない
このスレを読んで、プログラミングに興味のある人たちの国語力がいかに低いかが 分かって愕然としたよ。 しかし同時に、こういう人たちの先輩たちが執筆しているの だから、コンピューター関係の本が読みにくいのも当然だな・・・と、妙に納得したよ。
プログラマとしての能力と日本語の能力は関係ないだろうしな。むしろ負の相関があるかもしれん。
>>951 国語力が強い人なら国語辞典にこのように書いてあることも知っているはず。
http://tangoya.blog95.fc2.com/blog-entry-280.html > い‐ぜん【以前】?名?
> (1)基準となる時点や期間を含んで、それより前。
> また、ある出来事などを境界として、それより前。「五日─に仕上げる予定だ」
> 「明治─からある風習」「役者になる─は教師だった」⇔以後
> 基準の数値を伴う場合は、それを含むと規定される。数値を伴わないでいうときは
> あいまい化しやすいが、「ルネサンス期─の作曲家」というと、それより前の
> 〈古代・中世の作曲家〉を指すことが多く、「ルネサンス期以後の作曲家」というと、
> それを含んで後の作曲家を指すのが一般的。
> (明鏡国語辞典)
もちろん、その上での発言だよな?
だから6.0以前でいいじゃん
数値を伴っている場合は含んで 数値を伴わないの場合は含まないのか 面白いなー。 つまり、「(6.0以前) VBプログラマ質問スレ (.NET以前)」 というのも成り立つわけか。
956 :
デフォルトの名無しさん :2010/06/01(火) 00:14:21
辞書なんてフィーリングで作ってるようなもんだからな 辞書作った人によって意味や解釈が異なってて使い物になるのか分からん つか辞書を調べて言葉を使う奴なんて稀すぎて だいたいの奴がフィーリングで言葉使ってるから どんな単語も意味が混沌としすぎてる
日本の総理大臣なんて、日本語っぽい言葉は発してるが、意味は誰にもわからない
本人もわかっていない
>>955 その用例だと、[.NET]ってバージョンてーか、ナンバリング扱いじゃね?
>>953 辞典に書かれていることを全て信じてしまうのが、理系脳の国語力の低さの表れなの!
多分キミは英語力も低いだろ。(それは英和辞書の使い方が分かっていないからだよ。)
あのね、言葉のセンスのない人達が、基点を 「以前」 に含めて使うことがよくあるから、
辞典では 「基点を含める場合もある」 と書かざるを得ないんだよ。
基点は 「以後」 に含めて、「以前」 には含めないのが常識なの!
分かりやすく書くと、
「以前」 = 「未満」 、「以後」 = 「以上」 なの!
>>904 VBプログラマ質問スレ(6.0まで) <== 2010から6.0まで?
VBプログラマ質問スレ(6.0時代まで)
いいかげん他所でやってほしいわ
963 :
デフォルトの名無しさん :2010/06/01(火) 21:57:39
もはや スレ立てたもん勝ちだな ちゃっちゃと次スレ立てちゃえば こんな議論続かないだろうに
立てるさ 950じゃ早すぎると思ったんで立てなかっただけ
>>956 だから?
辞書に書いてあるのが正しくないというのは勝手だが、
辞書以上に根拠があるものを出さずに、辞書に書いてあることと
反対のことが正しいといっても説得力皆無だよ。
現時点では辞書に書いてあることを信用するしかないだろ。
少なくとも2ちゃんねるの書き込みよりはましだ。
宣言してんのに邪魔すんなよ。
1.0の質問とかあるわけねえだろ。スレ立てるにも常識考えろ。答えられるのか?
仕事でやってるわけじゃなし。頭悪いの?
辞書にケチつける奴といい、立てると宣言した後に邪魔する奴といい 荒らしたいだけなのか?同一人物?
>>967 キミは笑われるだけだから、もうやめておいた方がいい。
小さい頃からマンガ本ぐらいしか読まないで育って来たことがバレるだけだよ!
もうスレチだから、これで終了にする。
>>972 それ捨て台詞?w
やめるならやめていいよ。
とにもかくにも、お前の言っていることは
信用に値しないというだけ。
辞書の方が信用できるのは言うまでも無い。
スレ違い。
すれ違いでも何でもいいよ。 ようは逃げたという事実だけw 辞書ぐらい嫁よなw
英語でも言葉をよく知らない外国人が辞書を使う。 ネイティブは分かっているから使わない。 日本人で分かりきった日本語を辞書で調べるのは言葉を知らない証拠! マンガばかり読んで大きくなった証拠!
だれかVBの質問しようぜ
>言葉のセンスのない人達が、基点を 「以前」 に含めて使うことがよくある 以て前なのに、基点を含まないのが正しいと思うやつが日本語のセンスを語るなと >分かりきった日本語を辞書で調べるのは言葉を知らない証拠 今まで辞書をちゃんと引いたことあるか?辞書で新しい発見をしたことはないのか? 疑問があるのに辞書で調べない奴は、わかったつもりになって日本語がわかってない奴 マンガばかりじゃなくてたまにはちゃんと辞書も引けよ
>>978 >以て前なのに、基点を含まないのが正しいと思うやつが日本語のセンスを語るなと
↑本気でそう思っているのなら、君は本当に国語ダメダメ人間だよ。
中学・高校の国語の成績は自分自身でよく分かっているだろ。
典型的な理系タイプなのかも知れないが、それにしてもひど過ぎる!!!
もう馬鹿らしくて相手に出来ないよ。 サイナラ~。
帰る前にちゃんと埋めてけよな
辞書に載ってたことがよっぽどショックだった見たいだなw
http://tangoya.blog95.fc2.com/blog-entry-280.html > い‐ぜん【以前】?名?
> (1)基準となる時点や期間を含んで、それより前。
> また、ある出来事などを境界として、それより前。「五日─に仕上げる予定だ」
> 「明治─からある風習」「役者になる─は教師だった」⇔以後
> 基準の数値を伴う場合は、それを含むと規定される。数値を伴わないでいうときは
> あいまい化しやすいが、「ルネサンス期─の作曲家」というと、それより前の
> 〈古代・中世の作曲家〉を指すことが多く、「ルネサンス期以後の作曲家」というと、
> それを含んで後の作曲家を指すのが一般的。
> (明鏡国語辞典)
基準の数値を伴う場合は、それを含むと規定される。
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
それを含むと
^^^^^^^^^^^^^^^
言葉は生き物なのです
だから?
続きは後続のスレで。
次スレにアホな話題を持ち越すな
986 :
デフォルトの名無しさん :2010/06/05(土) 14:41:13
だれかVBの質問しようぜ
↓それは楽しいものだ。
スピーカーから出力される音を調べる方法ってありますか? パソコンのスピーカーの音量をゼロにして メーターっていうかゲージっていうか 音が出力されてるってことを目視できるようにしたいんですよ
スレチ
VBだけじゃ無理だな。
機種依存のプログラムになるから パソコンのメーカースレで聞け
WindowsMediaPlayerの視覚スキンのようなもんだろうから、 API や COM を駆使することになるだろうけど、機種依存にはならんだろ… やり方までは知らない
スピーカー端子に電圧計をつなぐ ボリュームを0にしたら音を出なくしている
もうVBAオンリーのスレでよくね? 今後もVBAはエクセルとかで使われるみたいだけど VBやVBScriptを使ってるのは バカ経営の企業くらいだろ 何で古い言語指定して注文すんだよという
メンテとか色々あるんだおる
新規でVB6はさすがにないだろうけど、保守ではまだあるんでない? このご時勢、システムリプレースに予算を割くとこは、そうは多くないと思う。 それ以前に、新スレが立ったばっかのこのタイミングで言うのかよっていう率直な感想が。
うめ
梅
ウメ
1000
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。