1 名前:デフォルトの名無しさん [2009/07/13(月) 21:12:36 ] ここは Visual Basic 〜6.0 の質問スレです。 質問者は使用しているOS、VBのバージョン、サービスパックのバージョン、 「何がしたくて、どうしたけど、どう困っているのか」を明確に書きましょう。 VB.NETは別物なので専門スレで、VBA、APIの質問もそれぞれのスレで。 ○ 質問者の心得 一.質問する前にMSDNやGoogle、過去ログにも目を通してみる。 二.VBScript、インストーラーなどはこのスレでOK。 三.質問は第三者にもわかりやすいよう簡潔かつ具体的に。 四.荒らしは相手しない。 ○ 回答者の心得 一.答えられない質問は無駄に罵倒せずスルー。無理するな。 二.代用法を強制しない。 三.回答する上で必須ではない情報をむやみに聞き返さない。 四.荒らしは相手しない。 五.VB情報募集中。 六.回答は質問者が理解できるよう具体的に。 MSDN Online Japan ホーム www.microsoft.com/japan/msdn/default.asp Visual Studio 6.0 Service Pack 6 msdn.microsoft.com/vstudio/downloads/updates/sp/vs6/sp6/default.aspx Google www.google.co.jp/ ※「まず自分で調べる」クセを身につけよう。
413 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 00:37:10 ] classA1をPublicにするのはどうかと思う
414 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 00:45:14 ] >>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
415 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 00:50:23 ] Implementsはどうした
416 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 01:01:09 ] 組み込みのイベントを使えよ・・・無意味なコードで荒らすな
417 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 01:09:57 ] 何がしたいのかサッパリわからんコードだなw しかし、結局VBって>>412 みたいにインターフェイスにイベント定義書けるんだっけ? だったら>>402 は何も悩む必要ないな最初から。
418 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 01:32:57 ] >>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
419 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 01:40:23 ] ( ´,_ゝ`)プッ
420 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 01:47:14 ] ┐(゚〜゚)┌
421 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 12:02:09 ] ・・・
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
426 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 15:20:19 ] 荒すな
427 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 15:26:44 ] >>402 がVBの仕様も調べずに設計したのが悪い
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 ] ひどいな・・・
430 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 01:21:17 ] ひどすぎる
431 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 01:47:40 ] どうしてこうなった・・・
432 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 11:59:58 ] MSDN読まないのか VBドキュメントの Implements ステートメント インターフェイスのインプリメントによるポリモーフィズムの提供 インターフェイスの作成とインプリメント 標準インターフェイスのインプリメントと使用 この辺り
433 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 12:33:12 ] 変なソースコード貼り付けた人と>>402 は>>432 のアドバイスを参考にするように
434 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 12:58:57 ] 接続ポイントはややこしいからねぇ。 極力避けてコールバックオブジェクトを使うのが正解。
435 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 13:22:27 ] そうだね
436 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 13:30:53 ] 混乱してきた
437 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 13:43:37 ] MSDNって機械翻訳で変な日本語多くて読みにくいんだよねぇ・・・でも英語だと全く読めないし・・・('A`)マンドクセ
438 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 15:56:20 ] >>436-437 プログラマ向いてない 転職をお勧めする
439 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 18:57:06 ] >>437 スパゲッティソースより読みやすいと思うがwwwww
440 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 21:11:49 ] プログラマーって閉鎖的なヤツが多い
441 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 21:15:41 ] 自明の理
442 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 21:53:49 ] MSDNはVB6の頃の奴はむしろ読みやすかった気がする .netになってから激しく読みにくい
443 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 22:00:01 ] ローカルにもインストールしてあるけど、検索がしづらくなったので、 site:msdn.microsoft.com を付けてぐぐってます。
444 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 23:14:45 ] webのは記憶ないけど、ローカルのは確実に今の奴の方がクオリティー高いだろw ダメな奴ってすぐ自分の無能を道具のせいにするよな。 >>443 まあビューワは2003までの奴の方が現行の奴よりも使いやすい。 それでもVS98の時代よりは使いやすいと思うが。 いずれにせよ、2002以降のビューワーはカスタマイズした上でキーボードショートカットを 駆使して使うのが基本。 君が使いにくいと思うのなら、たぶんそういうことやってないんだろう。
445 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 23:20:12 ] >>444 さんのカスタマって何をどうしてるの
446 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 23:44:26 ] >>445 言葉で説明するのは難しいよね。 まず俺は2008用のドキュメントもビュワは2003のを使って見てる。 それ前提で言うと、左側のペインは「検索」と「キーワード検索」で水平に二分して、 出しっぱなしの状態にしている。 残りの「検索結果」、「目次」、「お気に入り」はウィンドウの下側に、 それぞれ別個に、スライド表示(タブにマウスを乗せるとにょっと出てくるやつ)でドッキングさせてる。 隠れてるスライド表示のウィンドウを表示させるのは、キーボードショートカットを使うのが基本。 まあこんな感じ。 2005以降のビュワーの場合は「検索」ウィンドウがでかくなってしまって左側のペインに 収めるのは難しいから、こいつもウィンドウの下側にドッキングさせて、検索するときは キーボードショートカットで表示するのが基本だろうね。
447 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 00:07:08 ] へー。2003のビューアで2008のドキュメントが見られるんだ。 さすがに、2010は無理だろうな・・・。
448 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 14:59:35 ] すいません Picture1.Picture.HandleってののHandleはこれなんなんですか?w Picture1.Hwndとはちがうし Picture1.hdcともちがう でもPicture1.Picture.Handleって指定しないといけないものが多い Handleって書いてるからハンドルなんだなーってのはわかりますが わけのわからんことをいってたらすんませんです(*´д`*)ハァハァ
449 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 17:05:06 ] Handle プロパティ Picture オブジェクト内のグラフィックスのハンドルを返します。 構文 object.Handle 「対象」一覧内のいずれかのオブジェクトを指すオブジェクト式です。 戻り値 Handle プロパティが返す値は、Type プロパティの設定値によって異なります。対応する戻り値は次のとおりです。 Type プロパティ 戻り値 1 (ビットマップ) HBITMAP ハンドル 2 (メタファイル) HMETAFILE ハンドル 3 (アイコン) HICON ハンドルまたは HCURSOR ハンドル 4 (拡張メタファイル) HENHMETAFILE ハンドル 解説 ダイナミック リンク ライブラリやWindows API で、関数呼び出しの一部としてグラフィックスにハンドルを渡す場合に有効です。 MSDNライブラリ-VisualBasicリファレンス Pictureオブジェト->プロパティ->Handleプロパティより引用
450 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 17:08:26 ] 著作権法違反
451 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 17:11:10 ] >>450 固いこというなよw^^;;;;;;
452 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 17:40:23 ] 明らかに”引用”の範囲を超えているな
453 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 17:44:46 ] 男塾思い出した
454 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 17:54:01 ] そもそも引用の要件みたしてないだろ・・・
455 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 18:01:29 ] >>278-279 もな
456 名前:デフォルトの名無しさん [2010/03/12(金) 18:27:31 ] 自分の言葉で説明できないと仕事やってけないだろう・・・ 博士号の人が就職難な理由のひとつに、自分の言葉で説明できず、全て引用で済ましているってとこにもある
457 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 18:35:39 ] なんだボク、学校の宿題に出たのか?
458 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 21:43:34 ] なんで本筋それたら盛り上がるんだよw せめてハンドルの話で盛り上がれw
459 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 00:14:25 ] 俺、あのハンドル受け取ったら結婚するんだ
460 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 00:36:25 ] >>449 のハンドルってどんなAPIで使うのよ?
461 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 01:50:19 ] べつにいいんよ
462 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 10:21:02 ] 新しいテキストドキュメントを作成して x~x.txt と名前を変え、VB6で作ったプログラム で削除しようとしたらvistaではうまくいくのですがxpではエラーになってしまいます。 仕様でしょうか?
463 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 10:27:29 ] ショートファイル名?
464 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 10:43:09 ] すみません間違えました。 X~X.txt です。どうやら~という記号が入ってるとエラーになるようです。
465 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 10:52:12 ] あれ?投稿すると文字が何故か変換されてしまいます。 asc値が 126 の記号です。
466 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 11:46:54 ] >>465 当たり前のことをちゃんとやってから質問してる? 当たり前のこと、というのは、例えば削除できない理由が本当にファイル名が原因なのか、 ちゃんと確認しましたかって意味だけど。
467 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 12:16:06 ] エラー番号とエラーメッセージくらい
468 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 12:18:52 ] >>466 >>467 >>462 ですがXPの入ってるPCの方を再起動してもう一度やったところ削除できました。その前は確かにそのファイル名 のテキストファイルだけが削除できなかったのですが、理由はわかりません。 あと、文字が勝手に変換されるのは自分で作った2chBrowserの仕様でしたw 大変お騒がせし申し訳ありませんでした。
469 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 12:29:20 ] 利用中ファイルのアクセスのプロテクト系だろどうせ
470 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 14:57:53 ] いちいち何作ってるかまで言わんでよろしい
471 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 15:03:01 ] やっぱくやしかったんだねwwwwwww
472 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 18:31:42 ] (;´∀`)・・・・
473 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 11:31:34 ] VB6のリソースエディタによるストリングテーブルの一行に 格納できるテキストの最大サイズは32KB?
474 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 11:57:11 ] それ以前にストリングテーブルリソースの上限が4097文字
475 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 12:04:27 ] >>474 トンクス あまり使えないなぁ〜orz
476 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 13:04:28 ] どんな長文をリソースに突っ込もうとしてるんだw
477 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 13:22:34 ] リソースのストリングって何に使うためにあるの? いや、他の言語でもそうだけど、リソースに文字列含ませる意味が未だにわからない
478 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 13:40:55 ] メニューの文字とか。 言語切り替えると全部切り替わる用。
479 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 14:05:12 ] つまり日本人以外にも使ってもらうためにってこと?
480 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 14:33:59 ] 故意に必須原型ファイルを削除するようなアホが いないとも限らないのでその対策用にと。。
481 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 14:54:01 ] >>479 読み書き方法が決まってる世界共通のなんでもボックス。 ハードコーディングと違って製品化後も書き換えられるのが特徴。 それ以上の意味はない。
482 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 17:24:57 ] >>476 シェアウェアの課金コード
483 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 17:59:33 ] 入れたきゃ2つに分割して入れればいい話だろう? そこまでしてリソースに収めたほうがいい理由なんてないが 入れちゃいけないって理由もない。
484 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 20:45:40 ] 製品化後も書き換えられるってことは非圧縮になる?
485 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 21:04:55 ] >>484 なんで圧縮されるの?
486 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 21:27:04 ] プログラム起動中に動的にリソースの内容を書き換えるのって 絶対無理ですよね?アホな質問でスイマセン
487 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 21:57:03 ] リソースは書き換えられるでしょ。VB6に操作できる関数が用意されてるかどうかは別で。
488 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 22:11:48 ] リソース用DLLを作るとかってやってなかったっけ? 昔の事だから忘れたな
489 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 00:02:46 ] Windows7でもVB6って動く?7用のAPIとかって使えるの?
490 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 02:23:48 ] >>489 www.google.co.jp/search?hl=ja&q=windows7+vb6&sourceid=navclient-ff&rlz=1B3GGGL_jaJP292JP292&ie=UTF-8
491 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 02:34:36 ] わざわざありがとんくす
492 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 02:46:29 ] うわ、ggrksって言ったら感謝されたでござる
493 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 03:09:09 ] みんなハッピーでよかった
494 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 12:36:32 ] VB6 で軽快な付箋のようなポップアップウィンドウを実現 するにはどうしたらいいのでしょうか? ヒントだけでも(APIとか)お願いします。
495 名前:デフォルトの名無しさん [2010/03/19(金) 13:52:20 ] エスパー説明よろ
496 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 14:08:05 ] フォームウィンドウの枠線をなくして 付箋1枚で1フォーム表示 これでいいんじゃねぇか? 右下にNotifiIconとか適当に出しとけばいけると思うけど
497 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 14:10:32 ] コマンドボタン押すたびにポップアップウィンドウ? 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
498 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 14:29:58 ] 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 mailto:sage [2010/03/19(金) 14:30:23 ] すいません、分りにくかったですか。 VB6で出来るだけ高速に複数行のテキストをポップアップ表示させたいのです。 それには、やはりAPIを使った方がいいのかと
500 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 14:32:26 ] また2chブラウザか!
501 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 14:34:23 ] 最近人気なのか? いまさら2chブラウザをなぜVBで・・・
502 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 14:37:37 ] どうせバレるんだからストレートに聞けばいいのにな だからブラウザ作ってる奴はウザがられる
503 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 14:40:39 ] >>499 APIのほうが早いに決まっているだろ Win32API質問箱 Build86 pc12.2ch.net/test/read.cgi/tech/1265350980/
504 名前:499 mailto:sage [2010/03/19(金) 15:50:51 ] ありがとうございました。それでは早速、退散いたします。
505 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 07:59:36 ] 出来るだけ高速にって言っても、んな目に見えるほどの差なんて出ないんじゃねーの? どんなもん求めてるのか知らんけど
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"が入っているのですが、 書き込みを行ってエクセルで開くと、そのように表示されません。 どうすればエクセルで書式設定の変更を行うことなく表示されるのでしょうか?
508 名前:デフォルトの名無しさん mailto:sage [2010/03/25(木) 22:07:33 ] 頭に ' を付けるとか。
509 名前:デフォルトの名無しさん mailto:sage [2010/03/25(木) 22:19:03 ] CSVじゃ限界あるからエクセルファイルとして作成を
510 名前:デフォルトの名無しさん mailto:sage [2010/03/25(木) 22:56:11 ] >>508 頭に'をつけることで効果もないような ただの文字列扱いにするってことか
511 名前:デフォルトの名無しさん mailto:sage [2010/03/25(木) 23:04:46 ] csvとxlsをvbから作成するのって何か違うんだっけ
512 名前:デフォルトの名無しさん mailto:sage [2010/03/25(木) 23:04:49 ] うん。
513 名前:デフォルトの名無しさん mailto:sage [2010/03/25(木) 23:05:40 ] xlsは、ExcelのCOMコンポーネントを使って作るのが一般的。 csvは単なるテキストファイルなので、そういうのいらん。
514 名前:デフォルトの名無しさん mailto:sage [2010/03/25(木) 23:11:10 ] つまり、csvで作ると書式設定を行えないから表示がおもったとおりにいかないという?
515 名前:デフォルトの名無しさん mailto:sage [2010/03/25(木) 23:12:47 ] csvをどう表示するかなんて、アプリ次第だしね〜
516 名前:デフォルトの名無しさん mailto:sage [2010/03/25(木) 23:15:42 ] びしっとした決まりが無かったからね RFCをちょびっと読んでそのまま捨てた
517 名前:デフォルトの名無しさん mailto:sage [2010/03/25(木) 23:44:01 ] 昔からcsvに統一規則がなかったからな。 csvは相手側をコントロール出来るもんじゃない。「相手側に配慮する」のが関の山だ。 相手側がcsvの読み方をユーザーに尋ねてコントロールするもんだ。 RFCも普及するやら。時代はxmlに突き進んでるし。
518 名前:デフォルトの名無しさん mailto:sage [2010/03/25(木) 23:49:46 ] 相手側ってのはVBじゃなくてエクセル?
519 名前:デフォルトの名無しさん mailto:sage [2010/03/25(木) 23:52:16 ] 相手がVBだろうがエクセルだろうがCSVになった時点で色々消えてるべ
520 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 01:33:12 ] 電話番号の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 これって使い方正しい?こういう使い方って良く無い?
522 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 17:35:05 ] 正しい。
523 名前:デフォルトの名無しさん [2010/03/26(金) 17:41:23 ] ありがとう
524 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 17:42:29 ] 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
525 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 17:53:59 ] デザパタでいうFactoryMethodパターンみたいなもんか
526 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 23:09:34 ] For Each って、Variantでしか取り出せないんでしたっけ?
527 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 05:15:50 ] mjd?
528 名前:デフォルトの名無しさん [2010/03/29(月) 00:05:55 ] あ
529 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 00:35:06 ] ほ
530 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 13:49:31 ] >>526 俺は無知だと思い知らされたわ すげぇよあんた
531 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 14:08:17 ] やぁ、>>526 ですよ。なんですかこの冷たい反応わw つかマジに質問したんやけどなぁ。 久々にEach文書いたらVariantじゃないと受け取れなくて「・・・え、嘘でしょ?」とか思って。 なんかVariant指定しないとエラー出たり、時々エラーも出ずに動いたりでよくわかんね。 でもコンパイルは通らないんで結局Variantじゃなきゃ嫌らしい。うそーん。
532 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 14:20:50 ] Dim aa As New Collection Dim temp As image aaにimage突っ込んだり・・・・ラジマンダリ For Each temp In aa Next まぁ言い方によるんじゃなかろうか たとえばCstr関数のヘルプより抜粋 バリアント型 (内部処理形式が文字列型 (String) の Variant) に変換して返します。
533 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 15:32:44 ] ごめん、何言ってるのかさっぱりわからない。
534 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 16:31:11 ] >>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 より引用
535 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 16:45:37 ] MSDNライブラリのリファレンス・オブジェクトのCollectionのページで使用例を見たら MyClasses.Add Item:=Inst, Key:=CStr(Num) という記述があったんだけど := これって何?こんなの初めて見るんだけど
536 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 16:50:17 ] MSDN内を名前付き引数で検索
537 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 16:57:33 ] 今年もVB6をやらされる新人がいるのか いいかげん会社たためや
538 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 17:04:09 ] もう入社したのか
539 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 17:10:27 ] 俺の時代は会社がきまった瞬間からその会社に行ってたものだが、今は無いのかな
540 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 17:14:48 ] 普通10月に入社式だもんな
541 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 17:15:39 ] 新卒採用とかしてるIT企業なんてあんの?
542 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 00:24:43 ] あるよ
543 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 01:11:24 ] この不景気にやるねぇ
544 名前:デフォルトの名無しさん [2010/04/01(木) 20:16:43 ] ランダムな3桁の数値の入った配列Hoge(n)を (重複した数値を除いた)ユニークな数値が何個あるのか数を数えたいのですが どうすればいいですか?
545 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 20:22:38 ] >>544 ソートしてからカウントすれば簡単じゃないの? って、少しは頭使おうよw
546 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 20:24:21 ] 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の文法はまったく忘れたけど、こんなもんじゃない?
547 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 20:25:51 ] ループで。
548 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 20:50:23 ] >>545 と>>546 の方法 どちらのほうがよいのか
549 名前:デフォルトの名無しさん [2010/04/01(木) 20:51:16 ] >>546 VB6以前にインクリメントは無い 配列は丸括弧
550 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 20:57:27 ] >>548 どっちがいいってもんでもなくて nの個数とか速度とかメモリとかの状況によるでしょ 最後にゃ実際にやってみないとね
551 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 21:00:47 ] 連想配列使えばいいのに
552 名前:デフォルトの名無しさん [2010/04/01(木) 21:27:21 ] ここって需要まだあるの? ずいぶん前のじゃない?60
553 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 22:36:43 ] >>552 良いか悪いかは置いといて需要はまだまだ多いぞ いまだに新規案件で採用されたりするからな Windows7でも動くしな
554 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 22:40:40 ] 新規案件で!!
555 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 22:48:30 ] >>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 。
556 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 22:57:50 ] set dic = createobject("scripting.dictionary") for each h in hoge dic(h) = dic(h) + 1 next debug.print dic.count
557 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 22:58:51 ] 足す必要なかったw set dic = createobject("scripting.dictionary") for each h in hoge dic(h) = "hoge" next debug.print dic.count
558 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 23:22:20 ] ウインドウの×(閉じる)ボタンをおしても ctrl+ALT+DEL で起動中のプログラムとかをみたときに VBで作成したプログラムが残るのですが、どこが原因なのでしょうか? ちなみにフォームは見れません。スタートアップのモジュールも終了しています。
559 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 23:24:46 ] そんなことは無い
560 名前:デフォルトの名無しさん mailto:sage [2010/04/02(金) 00:01:48 ] >>555 なにが偉そうにまとめだよw そんなもの普通にソートしてやれ、ってのが常識だろ。 連想配列とか本気でいってるんか。
561 名前:デフォルトの名無しさん mailto:sage [2010/04/02(金) 00:34:43 ] >558 このへんじゃねーの ttp://questionbox.jp.msn.com/qa633567.html
562 名前:デフォルトの名無しさん mailto:sage [2010/04/02(金) 01:30:24 ] >>560 古い人は皆そう言うな。
563 名前:デフォルトの名無しさん [2010/04/02(金) 01:55:42 ] 未だにVB6を新規案件ってことは その客は かなりショボイパソコンを使ってるってことか?
564 名前:デフォルトの名無しさん mailto:sage [2010/04/02(金) 03:14:52 ] >>563 言ったろ VB6.0はWindows7でも動くんだぜ
565 名前:デフォルトの名無しさん [2010/04/02(金) 03:38:58 ] 発注側は何でどうして言語指定するのかなぁ 古いパソコンでも無いのならわざわざVB6指定する意味が分からない VB6で作ったソフトウェアを商業目的に使うのに制約とかあるのかなぁ? それとも発注側が何か弄るってこと?孫請けとかで部分的なの作れってこと? いや、俺素人だから知らんのけどね
566 名前:デフォルトの名無しさん mailto:sage [2010/04/02(金) 05:17:16 ] VB6で構築したシステムが現役で稼動していて、少なくともあと10年はそのまま稼動させる予定。 で、業務の変更・追加に伴うシステムの修正・新規案件がががが
567 名前:デフォルトの名無しさん mailto:sage [2010/04/02(金) 07:12:49 ] 既存システムへの追加とかならわかるけど 完全新規ではさすがに無いよね しばらくVB.NETできてたけどだんだんC#のほうが増えてきた
568 名前:デフォルトの名無しさん mailto:sage [2010/04/02(金) 07:23:39 ] ここは、VBプログラマ質問スレというより職業VBプログラマ質問スレ
569 名前:デフォルトの名無しさん mailto:sage [2010/04/02(金) 08:12:44 ] >>568 仕事が絡まなかったら、それこそ今更覚えようなんてする奴はいないだろうしなぁ
570 名前:デフォルトの名無しさん mailto:sage [2010/04/02(金) 09:22:45 ] VBAには役立つけどね もしくは人が足りなくてVBAしかできない奴にやらせようとしてるとか・・・
571 名前:デフォルトの名無しさん mailto:sage [2010/04/02(金) 09:29:50 ] Windows7以降のOSではVBAどうなる
572 名前:デフォルトの名無しさん mailto:sage [2010/04/02(金) 10:01:20 ] どうにもならんだろ。
573 名前:デフォルトの名無しさん mailto:sage [2010/04/02(金) 21:06:46 ] sage
574 名前:デフォルトの名無しさん mailto:sage [2010/04/02(金) 21:08:30 ] >>560 なんか典型的なVB厨の発想だなそれ
575 名前:デフォルトの名無しさん mailto:sage [2010/04/02(金) 21:11:33 ] アンカーミスったw 上のは>>560 じゃなくて>>562 ね。
576 名前:デフォルトの名無しさん mailto:sage [2010/04/03(土) 02:55:32 ] >>569 ノシ 完全に趣味でVB6やってますお 10年くらい前にVB6LEを買って以来ずっとVB6しかやってないですお 今更新しい言語習得なんて億劫ですし パソコンのスペック的にも最近の新しいVBはインストルでけませんですお 別にVB6だからって困ることは無いですお(LEはちょっと困ってますが) 当時学生で金も無かったのでLEしか買えなかったんですお
577 名前:デフォルトの名無しさん mailto:sage [2010/04/03(土) 02:59:24 ] 最初はN88BASICを趣味でやってたんですお そっからVB6へ変えたんですお ですがかなり苦労しましたですお 勝手が違いすぎましたお もうそんな苦労ゴメンですお なので今でもVB6使ってますお
578 名前:デフォルトの名無しさん mailto:sage [2010/04/03(土) 03:03:22 ] プログラミングは僕の中の趣味のランキングでは4位か5位くらいに相当するのですお たまに気が向いた時だけプログラミングするだけなので未だにプログラミング能力は初心者に毛が生えた程度あるか無いかですお ベーシックマガジンという雑誌だけを頼りにN88BASICもVisualBasicも覚えたんですお
579 名前:デフォルトの名無しさん mailto:sage [2010/04/03(土) 10:29:24 ] >>576 俺漏れも。学生時代に購入してアカデミック何とかが有効だったからプロフェッショナル版買った 確かLEとの差は数千円だったような気がしたから欲張ってこっち選んだと思った
580 名前:デフォルトの名無しさん mailto:sage [2010/04/03(土) 21:43:33 ] >571 Officeがある限り安泰です
581 名前:デフォルトの名無しさん [2010/04/06(火) 01:09:50 ] Microsof HTML Object Library (mshtml.dll)の Scriptletコントロールって何に使うコントロールなの? Microsoft Internet Controls (ieframe.dll)の WebBrowserコントロールと同じ?
582 名前:デフォルトの名無しさん mailto:sage [2010/04/09(金) 01:38:02 ] そのWebBrowserのgetPropertyとかputPropertyの使い方がワカラン プロパティってどんなのがあるの? このプロパティ弄れば、個別にJavascriptをOFFにしたり、画像非表示にしたりとか出来るの?
583 名前:デフォルトの名無しさん mailto:sage [2010/04/09(金) 21:41:03 ] >JavascriptをOFFにしたり VB6以前では何か無理みたいですよ。よく知りませんが, OnAmbientPropertyChangeメソッドを実装する必要があるようです。 VB界のあの大御所ですら完全には出来てないようですし。
584 名前:デフォルトの名無しさん mailto:sage [2010/04/11(日) 05:19:02 ] >>583 あぁ、それ以前調べたけど、俺の拙い知識と技術じゃ全くむりぽかった。 JavaScriptと画像表示切りたかったんだけどなぁ・・・
585 名前:デフォルトの名無しさん mailto:sage [2010/04/11(日) 18:31:16 ] 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となってました。
586 名前:デフォルトの名無しさん mailto:sage [2010/04/12(月) 11:02:08 ] 既存のVB6プロジェクトに含まれるファイル(*.cls|*.bas|*.frm)を調べて、 使われていないクラスファイルを見つけたいと思います。 プロジェクトに含まれるファイル(*.cls|*.bas|*.frm)を開いて、 全てのファイルで「 As (クラス名)」という文字列が含まれていない クラスファイルは使われていないクラスファイルとして処理しようと していますが、「 As (クラス名)」以外でクラスファイルを参照する 方法があるでしょうか?
587 名前:デフォルトの名無しさん mailto:sage [2010/04/12(月) 13:08:53 ] >>586 自己レスです。「 As (クラス名)」の他に「= New (クラス名)」もありますね。 他に見落としはないだろうか・・・
588 名前:デフォルトの名無しさん mailto:sage [2010/04/12(月) 13:26:54 ] implements
589 名前:デフォルトの名無しさん mailto:sage [2010/04/12(月) 13:52:20 ] TypeOf ... Is
590 名前:デフォルトの名無しさん mailto:sage [2010/04/12(月) 14:40:53 ] CreateObject
591 名前:デフォルトの名無しさん mailto:sage [2010/04/12(月) 15:01:55 ] CreateObjectがアリだと他にもいっぱい出てくるな・・・
592 名前:デフォルトの名無しさん mailto:sage [2010/04/12(月) 15:11:07 ] CreateObject 関数 ActiveX オブジェクトへの参照を作成して、返します。
593 名前:デフォルトの名無しさん mailto:sage [2010/04/12(月) 15:31:25 ] TypeName Controls.Add
594 名前:デフォルトの名無しさん [2010/04/13(火) 00:47:40 ] リッチテキストボックスコントロールで プログラミングでよく使われるようなエディタ風(特定単語を色分けや字体変えたり、行番号表示したり) を作るのって 難しい?
595 名前:デフォルトの名無しさん mailto:sage [2010/04/13(火) 00:57:57 ] とても難しいです
596 名前:デフォルトの名無しさん [2010/04/13(火) 00:58:57 ] そうか、残念
597 名前:デフォルトの名無しさん mailto:sage [2010/04/13(火) 07:05:56 ] テキストエディタってどういうデータ構造で持てばいいんだろうな 考えるだけでむずかしー
598 名前:デフォルトの名無しさん mailto:sage [2010/04/13(火) 07:11:49 ] テキストで持てばいいんじゃね?
599 名前:デフォルトの名無しさん mailto:sage [2010/04/13(火) 14:09:43 ] テキストファイルをFileSystemObjectのTextStreamで開く 一行ずつ読み出しては解析してRichTextBoxに追加&装飾 文末(EOF)まで繰り返す タブ記号や改行記号もなんとかして加える
600 名前:デフォルトの名無しさん mailto:sage [2010/04/13(火) 14:27:41 ] そうかー 文字データと装飾データを別に持てば意外といけるかー
601 名前:デフォルトの名無しさん mailto:sage [2010/04/13(火) 14:33:24 ] むしろリッチテキスト使わずに オリジナルコントロール作っちゃえばいい UserContorolにPictureBox配置して PictureBoxにテキストファイルを描写 カーソルや範囲指定、日本語入力と色々と頑張る必要はあるけどな
602 名前:デフォルトの名無しさん mailto:sage [2010/04/13(火) 14:42:27 ] 結論 古いVBではエディタは作れない
603 名前:デフォルトの名無しさん mailto:sage [2010/04/13(火) 14:56:59 ] できた 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
604 名前:デフォルトの名無しさん mailto:sage [2010/04/13(火) 15:04:13 ] 画面のチラつきを抑えるには PictureBoxコントロールを2つ用意し 一方はAutoRedrawをTrue、VisibleをFalseにして 毎度Clsして全て描写 そしてもう一方はAutoRedrawをFalseにして さきのPictureBoxの描写が終わったのを見計らって PaintPictureでさきのPictureBoxのImageを描写する これでチラつきが消える
605 名前:デフォルトの名無しさん mailto:sage [2010/04/13(火) 15:06:49 ] うそつき
606 名前:デフォルトの名無しさん mailto:sage [2010/04/13(火) 15:10:25 ] 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)
607 名前:デフォルトの名無しさん mailto:sage [2010/04/13(火) 15:19:59 ] >>606 おお 便利そう
608 名前:デフォルトの名無しさん mailto:sage [2010/04/13(火) 15:25:19 ] オブジェクトブラウザ眺めてりゃ結構便利なメソッドや関数や定数見つかる
609 名前:デフォルトの名無しさん mailto:sage [2010/04/13(火) 15:28:15 ] (´・ω・`)
610 名前:デフォルトの名無しさん mailto:sage [2010/04/13(火) 15:30:40 ] そういやオブジェクトブラウザ上のLineメソッドって Sub Line(Flags As Integer, X1 As Single, Y1 As Single, X2 As Single, Y2 As Single, Color As Long) ってなってるけど何でだろう?
611 名前:デフォルトの名無しさん mailto:sage [2010/04/13(火) 16:03:09 ] APIのCreateThreadってVB6で扱える?
612 名前:デフォルトの名無しさん mailto:sage [2010/04/13(火) 16:21:28 ] 確か扱えたと思うけど、一時中断とかすると即死したような気がする。
613 名前:デフォルトの名無しさん mailto:sage [2010/04/13(火) 17:09:40 ] IDEとの相性は最悪だったきがするな 以前、それも考慮に入れてつくればいいとかしつこく言ってた奴がいたが
614 名前:デフォルトの名無しさん mailto:sage [2010/04/13(火) 17:11:30 ] ActiveXexeにしてマルチプロセスにしたほうがいいね
615 名前:デフォルトの名無しさん mailto:sage [2010/04/13(火) 17:30:06 ] やはり無理か・・・マルチプロセスなら簡単そうだな。それにする
616 名前:デフォルトの名無しさん mailto:sage [2010/04/15(木) 02:51:36 ] >>582-585 VBじゃないけど、 DonutとかいうTrident使ってるブラウザで ページごとに個別に設定できるから VBでも可能だと思うよ DonutはうちのWin95のIE5.5で確認したから MSHTML.dllはIE5.5以上なら出来るはず
617 名前:デフォルトの名無しさん mailto:sage [2010/04/15(木) 02:52:37 ] Donutじゃなくて派生ソフトのDonutLってソフトだった。 先日VectorからWin95パソにDLったのよ
618 名前:デフォルトの名無しさん mailto:sage [2010/04/15(木) 03:06:58 ] >>616-617 実現するためには引き渡すオブジェクトの定義が必要で、 大元の問題は、そのクラス定義がVB6だけでは書けないって事だったと思う。(もううろ覚え) IE操作する機能のために、定義を他の方法で書いて用意しなきゃいけないくらいなら、 いっそ最初から外部DLLとして作って渡したほうが良いんじゃないかって感じで形骸化してる。
619 名前:616 mailto:sage [2010/04/15(木) 04:34:08 ] 俺、素人なのに生意気に意見してゴメンお
620 名前:デフォルトの名無しさん mailto:sage [2010/04/15(木) 15:10:23 ] VBで関数ポインタを呼び出す ttp://nienie.com/~masapico/doc_FuncPtr.html これってどうなの?
621 名前:デフォルトの名無しさん mailto:sage [2010/04/15(木) 15:35:01 ] >>620 DEPで落ちるんじゃないか
622 名前:デフォルトの名無しさん mailto:sage [2010/04/15(木) 16:22:46 ] >>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)
623 名前:デフォルトの名無しさん mailto:sage [2010/04/15(木) 16:46:40 ] なるほど
624 名前:デフォルトの名無しさん mailto:sage [2010/04/15(木) 20:38:36 ] 超初心者ですが、VB6で質問があります。 画面の無いモジュールのソースを見る必要があるのですが、標準モジュールとクラスモジュールがたくさんあり、実際にそのモジュールを使用する際にどのモジュールから処理が開始されるのかわかりません。 また、一つのモジュールの処理完了後に、どのモジュールに行くかもよくわかりません。 ご教授、もしくは参考サイトなど、お願い出来ますでしょうか?
625 名前:デフォルトの名無しさん mailto:sage [2010/04/15(木) 20:47:39 ] sub main()からだよ
626 名前:デフォルトの名無しさん mailto:sage [2010/04/15(木) 20:49:28 ] >>624 関数とかクラスというものは知っていますか?
627 名前:デフォルトの名無しさん mailto:sage [2010/04/15(木) 21:18:07 ] >>626 関数はわかります。 SUBやFUNCTIONの後に定義し、引数が必要であれば与えてやり、FUNCTIONであれば帰り値があるんですよね。 クラスは今いちわかりません。イメージ的には変数やプロシージャをまとめた物で、他のモジュールで上手く流用してやるというイメージです。
628 名前:デフォルトの名無しさん mailto:sage [2010/04/15(木) 21:21:24 ] 初心者ならすぐにC#かJavaか最低でもVB.NETに乗り換えるんだ 会社でVB6を覚えなければならないなら、ご愁傷様だが
629 名前:デフォルトの名無しさん mailto:sage [2010/04/15(木) 21:23:21 ] >>625 sub main()でプロジェクト内を検索してみれば良いのですね。ありがとうございます! そこからそのモジュールを上から下に実行していき、最後のプロシージャで次にどのモジュールに行くか書いてある感じですかね。 なんかイケそうな気がします!頑張ってみます。
630 名前:デフォルトの名無しさん mailto:sage [2010/04/15(木) 21:26:19 ] >>628 まさしくご愁傷様です。ですがC#も勉強していこうと思ってます。VB6をある程度わかるようになってから並行して勉強しようと、、。
631 名前:デフォルトの名無しさん mailto:sage [2010/04/15(木) 21:30:37 ] >>629 モジュールに書かれているプロシージャを上から順番に 実行していく(1個目のプロシージャが終わったら 2個目のプロシージャを実行、…、どんどん順番に 実行していって、最後のプロシージャの実行が終わったら、 そのモジュールの実行が終わって、次のモジュールを 実行する)と思っているなら、それは間違いだよ。
632 名前:デフォルトの名無しさん mailto:sage [2010/04/15(木) 21:32:20 ] >>631 のように思っているなら、関数というものが 理解できていない(関数はどのようにして実行される のかが理解できていない)ということになるね。
633 名前:デフォルトの名無しさん mailto:sage [2010/04/15(木) 21:35:08 ] >>631 なるほど、ではなくsub main()から始まるモジュールを上から下に処理していき、その中で他のモジュールを利用するという感じでしょうか? そのほうがなんとなく納得出来る気がします。
634 名前:デフォルトの名無しさん mailto:sage [2010/04/15(木) 21:38:54 ] >>632 多分そうです。ですが、なんか今までのソースの見方が意味不明だったのが解決出来そうな流れで、非常に興奮してます。 sub main()から始まり引数付きで他のモジュールのプロシージャを呼び出し、その帰り値を貰ったりして進んでいく感じですかね?
635 名前:デフォルトの名無しさん mailto:sage [2010/04/15(木) 21:47:22 ] VBにはステップ実行があるから、一度やってみるといい
636 名前:デフォルトの名無しさん mailto:sage [2010/04/15(木) 22:05:48 ] >>635 ありがとうございます。ネットでサンプルコードを拾って色々やってみます。
637 名前:デフォルトの名無しさん mailto:sage [2010/04/15(木) 22:16:10 ] >>634 だいたいあってる
638 名前:デフォルトの名無しさん mailto:sage [2010/04/15(木) 22:17:28 ] >>636 そういう意味ではなくて、[F8] を連打しろ、という意味だ。
639 名前:デフォルトの名無しさん mailto:sage [2010/04/15(木) 23:23:53 ] >>638 うん、そういう認識です。 実際やってみたら割と思うように進んで納得しました。呼び出し元と呼び出し先、またそこが呼び出し元になって、さらに戻って〜みたいな流れで最終的にはメインの最後で終わる感じですね。 あとはクラスモジュールやAPIの使用なんかは少し難しい感じがしますが、頑張ってみます。
640 名前:デフォルトの名無しさん mailto:sage [2010/04/17(土) 15:20:50 ] >>585 ちなみに、IE8のMSHTML.DLLはそのまま使うとIE7互換モードになることに注意。 blogs.msdn.com/ie/archive/2009/03/10/more-ie8-extensibility-improvements.aspx
641 名前:デフォルトの名無しさん mailto:sage [2010/04/17(土) 15:50:42 ] >>640 そうでしたか。 トン
642 名前:デフォルトの名無しさん mailto:sage [2010/04/21(水) 18:12:28 ] VB6で質問です。 ListViewで上の要素をクリックするととりあえず降順にソートしてくれるけども、もう一回クリックで昇順とかは .NETなら見つかるんだけんども、VB6は無理なんでしょか?
643 名前:デフォルトの名無しさん mailto:sage [2010/04/21(水) 19:43:27 ] >>642 できるよ。
644 名前:デフォルトの名無しさん mailto:sage [2010/04/21(水) 22:51:36 ] >>642 じゃないけど、ListViewで安定ソート出来ないもんかしら? やっぱソートを全部自前でやるしかない?
645 名前:デフォルトの名無しさん mailto:sage [2010/04/21(水) 23:35:21 ] >>644 そもそもGUI部品にソート機能を持たせよう、 って発想が間違ってることにいい加減気がつこうよ。
646 名前:デフォルトの名無しさん mailto:sage [2010/04/21(水) 23:58:33 ] 表示の降順・昇順ソートは普通じゃないの? Explorerとかの日付ソートとか。 まあともかく… できなくはないけど安定しない、思想がよろしくない。で、いいのかしら?
647 名前:デフォルトの名無しさん mailto:sage [2010/04/22(木) 00:17:04 ] ソート?エクセルにデータ渡してソートしてもらって再取得とかじゃダメなの?
648 名前:デフォルトの名無しさん mailto:sage [2010/04/22(木) 00:18:14 ] は?
649 名前:デフォルトの名無しさん mailto:sage [2010/04/22(木) 00:32:42 ] >>646 ソート機能を否定してるんじゃなくて、 ソート機能をGUI部品に担わせるのが間違ってるといってるんだよ。
650 名前:デフォルトの名無しさん mailto:sage [2010/04/22(木) 00:36:29 ] どう違うんだ?
651 名前:デフォルトの名無しさん mailto:sage [2010/04/22(木) 00:40:03 ] 打っても響かないところがVBスレらしいところだなw >>650 ソートする責任はListViewに表示しているアイテムを集約してるオブジェクトに 持たせるべき、ということ。
652 名前:デフォルトの名無しさん mailto:sage [2010/04/22(木) 00:43:37 ] それって否定だろ?
653 名前:デフォルトの名無しさん mailto:sage [2010/04/22(木) 01:00:29 ] これがVB脳の恐怖か....
654 名前:デフォルトの名無しさん mailto:sage [2010/04/22(木) 01:08:15 ] ListViewは数字でのソートが・・・上位桁に0埋めて桁合わせないと数字の大きさ順にソートしてくれなかった
655 名前:デフォルトの名無しさん mailto:sage [2010/04/22(木) 01:09:28 ] >>653 おまえは鳩山か?
656 名前:デフォルトの名無しさん mailto:sage [2010/04/22(木) 07:08:37 ] バブルソートでおk
657 名前:デフォルトの名無しさん mailto:sage [2010/04/22(木) 10:38:20 ] >>652 「ListViewソート機能の否定」ならわかるんだが 単に「ソート機能の否定」ってと「ソートすんな」だよね? ListViewじゃなくてオブジェクトで「ソートしよう」って言ってるのに、なんで「ソートすんな」なんだ?
658 名前:デフォルトの名無しさん mailto:sage [2010/04/22(木) 16:05:16 ] >>651 しかし見た目を掌るListViewが見た目のソートを持たないというのも微妙な気が。 データそのものやその扱い自体のソートなら内部で持つべきだと思うけど。 ともかく。 ふつうにはやりにくい、でいいのかしら? >>642 のひとの手法が知りたい…使い物になるのかはさておいて。
659 名前:デフォルトの名無しさん mailto:sage [2010/04/22(木) 16:14:21 ] 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
660 名前:デフォルトの名無しさん mailto:sage [2010/04/22(木) 17:28:33 ] すると、クリック毎に入れ替えると ListView1.SortKey = ColumnHeader.Index - 1 If ListView1.SortOrder = lvwAscending Then ListView1.SortOrder = lvwDescending Else ListView1.SortOrder = lvwAscending End If ListView1.Sorted = True かな
661 名前:デフォルトの名無しさん mailto:sage [2010/04/22(木) 17:53:22 ] lvwAscendingとlvwDescendingの値は1と0だから ListView1.SortOrder=1-ListView1.SortOrder でおk
662 名前:デフォルトの名無しさん mailto:sage [2010/04/22(木) 17:55:01 ] Withくらい使えよ・・
663 名前:デフォルトの名無しさん mailto:sage [2010/04/22(木) 18:13:32 ] Withとかきめぇ
664 名前:デフォルトの名無しさん mailto:sage [2010/04/23(金) 17:57:51 ] >>594 やってみた RichTextBoxでjavaファイルをTeraPad風に色とボールドしてみた ファイルを読み込んだ時だけ色・ボールドするので 中身編集すると・・・めちゃくちゃにはなる やり方が悪いのかもしれんがファイル大きいと結構時間かかる 結論:RichTextBoxでやるのは無理がある
665 名前:デフォルトの名無しさん mailto:sage [2010/04/24(土) 07:09:38 ] >>594 >>664 こんなんどう? 非表示でIEやリッチテキストに描画させて、それをPicture内に再描画して提供。 右クリックやドラッグなどの処理は透過的に処理する。 まぁ面倒くさい事に変わりはないな。
666 名前:デフォルトの名無しさん mailto:sage [2010/04/24(土) 07:25:57 ] それだと文字位置などの管理が無理だな すべて自分で描画したほうがラクだろ
667 名前:デフォルトの名無しさん mailto:sage [2010/04/24(土) 08:11:32 ] >>666 そうかね? クリックも全部裏のコントロールに渡せばカーソル位置や文字の選択もそっちが勝手にやってくれるんじゃない? 実際に試して話してるわけじゃないけど。
668 名前:デフォルトの名無しさん mailto:sage [2010/04/24(土) 08:22:24 ] 実際試してみろよ そもそもそんな使い方ならピクチャに再描画する意味なんてないだろ
669 名前:デフォルトの名無しさん mailto:sage [2010/04/24(土) 08:36:17 ] >>668 意味は、うーんあんまないかもなw 描画エンジンを自前で作りたくないし、リッチテキストの処理は非常にめんどくさいのでパスしたいのさ。 俺がやるなら内部にIE一匹飼ってHTMLで表示を作る。CSS使って自由度高いし。 で、入力はフックしてHTMLに変換して制御とか。
670 名前:デフォルトの名無しさん mailto:sage [2010/04/24(土) 09:05:00 ] 入力部(カーソルなど)が問題だってのになにいってんの
671 名前:デフォルトの名無しさん mailto:sage [2010/04/24(土) 09:18:24 ] >>603 がすばらしいじゃん
672 名前:デフォルトの名無しさん mailto:sage [2010/04/24(土) 09:23:00 ] 笑えない冗談だ
673 名前:デフォルトの名無しさん mailto:sage [2010/04/24(土) 09:26:10 ] www7a.biglobe.ne.jp/~sigotnin/delphi.htm これ使えない?
674 名前:デフォルトの名無しさん mailto:sage [2010/04/24(土) 09:29:08 ] まあ>>603 にはかなわないか
675 名前:デフォルトの名無しさん [2010/04/24(土) 20:56:25 ] >>603 みたいなやり方だと 日本語入力とか出来ないよね? KeyDownやKeyPressイベントじゃIMEとかの日本語入力使えないよね?
676 名前:デフォルトの名無しさん mailto:sage [2010/04/24(土) 21:29:22 ] え?どこに入力が?
677 名前:デフォルトの名無しさん mailto:sage [2010/04/24(土) 21:33:29 ] IMEの制御くらいAPIでいくらでもできますよ
678 名前:デフォルトの名無しさん mailto:sage [2010/04/24(土) 23:26:26 ] >>594 のってエディタ作るんでしょ?>>603 のってエディタになってなくね?
679 名前:デフォルトの名無しさん mailto:sage [2010/04/24(土) 23:48:22 ] だからみんな相手してないんじゃん
680 名前:デフォルトの名無しさん mailto:sage [2010/04/25(日) 00:54:56 ] まあRitchTextBoxを使うのが一番簡単だとは思う。 入力した文字にシンタックスカラーがリアルタイムで適用されるような 応答性の高いものは難しいと思うけど、以下の方針で作ればそれなりに 実用的なものはできるんじゃないか。 - テキストの解析とシンタックスカラーの適用は、タイマーを使って一定時間ごとに一行ずつ行う。 - 上記タイマーは、Changeイベントで起動し、全行の解析が完了時点で停止する。 - 行の解析は、タイマー起動時の現在行か、またはその1行上の行から開始する。 - 行番号表示は、左側にもう一つ別の行番号専用のRitchTextBoxを置いて実現する。
681 名前:デフォルトの名無しさん mailto:sage [2010/04/25(日) 00:59:51 ] VB厨はコントロールに頼りすぎる
682 名前:デフォルトの名無しさん mailto:sage [2010/04/25(日) 01:22:40 ] >>680 そんなアホな事をする位だったら自作したほうがラクだろ?
683 名前:デフォルトの名無しさん mailto:sage [2010/04/25(日) 01:34:19 ] >>682 (あと>>681 ) またそういう寝ぼけた事を言う。 そう思うならやってみたら? まあやってみなきゃ大変さが分からない時点で君がダメグラマなのは確実だな。 エディタの類はVBじゃなくても一から実装するのは難しい部類に入るプログラムなのに、 低レベルのコーディングにまったく向いてないVBでやったら気が狂うこと確実だわ。 しかし、エディタを書けるかって質問して舐めたこというかどうかで ダメな奴を見分けられそうだよなw
684 名前:デフォルトの名無しさん mailto:sage [2010/04/25(日) 01:43:30 ] 寝ぼけた事を言ってるのは>>680 (あと>>683 )だが
685 名前:デフォルトの名無しさん mailto:sage [2010/04/25(日) 01:46:04 ] 682だけど、 以前やってみたから言ってんだよ。
686 名前:デフォルトの名無しさん mailto:sage [2010/04/25(日) 02:37:31 ] やってるわけがない。 やってたら>>682 みたいな戯言が言えるはずがない。 だからVB厨って言われる連中はダメなんだ。
687 名前:デフォルトの名無しさん mailto:sage [2010/04/25(日) 02:42:33 ] ではお前が作ったRutchTextBoxを使ったエディタを見せてくれないか? 俺はリアルタイムの色変更とスクロール、文字位置制御で挫折したんだ えらそうに言うくらいだから、できたんだろうな?
688 名前:デフォルトの名無しさん mailto:sage [2010/04/25(日) 02:44:34 ] >>680 些細なことだけど ×RitchTextBox ○RichTextBox
689 名前:デフォルトの名無しさん mailto:sage [2010/04/25(日) 02:44:38 ] 技術的な難易度を指摘してるだけなのに、いつのまに俺がRutchTextBox(笑) を使ったエディタを作ったことになってるんだろう。 訳がわからん。
690 名前:デフォルトの名無しさん mailto:sage [2010/04/25(日) 02:45:22 ] >>687 些細なことだけど ×RutchTextBox ○RichTextBox
691 名前:デフォルトの名無しさん mailto:sage [2010/04/25(日) 02:46:30 ] >>689 てめえが難癖つけてきたんじゃねえか糞野郎!!!!!
692 名前:デフォルトの名無しさん mailto:sage [2010/04/25(日) 02:47:09 ] >>680 行番号表示って、編集してるほうのカーソル位置とかスクロールに合わせてスクロールさせるんだよね? RitchTextBoxのスクロール量の取得・設定てどうやるの?
693 名前:デフォルトの名無しさん mailto:sage [2010/04/25(日) 02:52:34 ] VB6のIDEだと編集中の行は色づけが解除されるよね
694 名前:デフォルトの名無しさん mailto:sage [2010/04/25(日) 02:53:12 ] >>692 ↓の454のサンプルの方法で可能なはずだと思った。 もう長いことVB6使ってないんで記憶が確かなら、だけど。 web.archive.org/web/20030110071501/www.vbvbvb.com/jp/gtips/index0451.html
695 名前:デフォルトの名無しさん mailto:sage [2010/04/25(日) 02:53:44 ] 解除されるのでもいいから、リッチテキストでやってみろよ
696 名前:デフォルトの名無しさん mailto:sage [2010/04/25(日) 03:07:47 ] >>692 ごめん、君の文章を少し読み間違えてたようだ。 でも>>694 のサンプルにはそれも一応載ってるな
697 名前:デフォルトの名無しさん mailto:sage [2010/04/25(日) 04:06:19 ] OS、Windows2000じゃないんですけど
698 名前:デフォルトの名無しさん mailto:sage [2010/04/25(日) 04:07:02 ] めちゃくちゃ重いサイトだな
699 名前:デフォルトの名無しさん mailto:sage [2010/04/25(日) 04:33:29 ] >>692 API
700 名前:デフォルトの名無しさん mailto:sage [2010/04/25(日) 07:27:25 ] GWはテキストエディタつくろーっと
701 名前:デフォルトの名無しさん mailto:sage [2010/04/25(日) 23:25:04 ] 別にあなたが何しようとどうでもいんですけど・・・^^;
702 名前:デフォルトの名無しさん mailto:sage [2010/04/25(日) 23:30:53 ] 気になるくせにーw
703 名前:デフォルトの名無しさん mailto:sage [2010/04/25(日) 23:44:19 ] 反応早すぎだろうw 気にしてるのがどっちか丸分かりじゃねーかw
704 名前:デフォルトの名無しさん mailto:sage [2010/04/25(日) 23:52:19 ] 一日中2ちゃんしてるからw
705 名前:デフォルトの名無しさん mailto:sage [2010/04/26(月) 14:15:51 ] VB6でデータベースの列を追加する方法か、その内容をひっかけられるMSDNの語句を教えていただけないでしょうか。 .NETやC#ならすんなり当たるのに…世の中つらい。
706 名前:デフォルトの名無しさん mailto:sage [2010/04/26(月) 14:17:14 ] alter tableするだけじゃねーの?
707 名前:デフォルトの名無しさん mailto:sage [2010/04/26(月) 14:31:02 ] 扱いは追加じゃなくて変更なのか…d。 ググるとそこそこあたるので探ってみる。
708 名前:デフォルトの名無しさん mailto:sage [2010/04/26(月) 17:31:07 ] つうか、SQLの知識のほうじゃねぇか…
709 名前:デフォルトの名無しさん mailto:sage [2010/04/26(月) 20:55:03 ] >>708 ああ、そうか… って、VBでSQLなスレ見つけたけど、中身がわりと残念な進行してるねえ。 むこうで聞いて大丈夫だろうか?
710 名前:デフォルトの名無しさん mailto:sage [2010/04/26(月) 21:29:41 ] DBはDB板へ
711 名前:デフォルトの名無しさん mailto:sage [2010/04/27(火) 02:33:05 ] >>705 まずどうやってデータベースに接続してるのか? まあ、DAO.TableDefかADOXを調べてみろ つかここ見れば解決 msdn.microsoft.com/ja-jp/library/cc948693 (v=msdn.10).aspx
712 名前:デフォルトの名無しさん mailto:sage [2010/04/27(火) 18:50:25 ] VB6付属のMSDNライブラリのVBのLogの項目で Static Function Log10(X) Log10 = Log(X) / Log(10#) End Function ってあったんだけど、これってStaticつけられてるけど何か意味があるの?
713 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 12:07:17 ] 実行速度が遅くなる以外は違いがない気がするな
714 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 13:22:42 ] インスタンス無くてもアクセスできる
715 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 14:01:46 ] なぜインスタンスが?
716 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 14:16:03 ] C++とは意味が違う
717 名前:デフォルトの名無しさん [2010/04/28(水) 19:20:06 ] Property Let とか Property Set は斬新だった
718 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 09:35:43 ] b() = Inet1.OpenURL(strURL, icByteArray) でバイト配列にデータを格納したら そのあとは どんなプログラムを書けばハードディスクに記憶できるのか
719 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 10:30:15 ] ファイルを作って書き込めばいい。
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
721 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 11:32:29 ] サンクス
722 名前:デフォルトの名無しさん mailto:sage [2010/04/30(金) 01:06:10 ] またVB厨か el.jibun.atmarkit.co.jp/minagawa/2010/04/post-ebc4.html
723 名前:デフォルトの名無しさん [2010/04/30(金) 02:19:34 ] >>720 この方法のヤバさと言ったら File.txtが既に存在していて 書き込むbのサイズよりファイルサイズが大きい場合だよね 超ヤバイ
724 名前:デフォルトの名無しさん mailto:sage [2010/04/30(金) 05:57:50 ] なにが?
725 名前:デフォルトの名無しさん mailto:sage [2010/04/30(金) 09:58:29 ] 引き出したい言葉を普通に質問すればいいのに
726 名前:デフォルトの名無しさん mailto:sage [2010/04/30(金) 15:25:44 ] >>723 サンプルにエラー処理の事でつっこむとかバカなの?
727 名前:デフォルトの名無しさん mailto:sage [2010/04/30(金) 15:27:14 ] >>722 60年代前半生まれだしな つうかSAPて言語・・・なのか?w
728 名前:デフォルトの名無しさん [2010/04/30(金) 17:33:14 ] >>726 エラー?
729 名前:デフォルトの名無しさん [2010/05/04(火) 00:24:00 ] つい最近、Trueの値が-1である理由に気づいた。 もう10年以上(まぁかなりの素人ではあるけれど)プログラミングに触れてきてるのにね。 2の補数のビットで表現してたって本当つい3日前に気づいた Falseがビットが全部0に対してTrueはビットが全部1 ビットが全部1だと2の補数だと-1になるという・・・ ずっと昔から、何で1じゃなく-1なんだろうと思ってた・・・その疑問がやっと解決した・・・
730 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 00:39:23 ] 全部0とそれ以外 それだけだと思うんだ
731 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 00:43:18 ] Debug.Print "True="; CInt(True) ' -1 Debug.Print "False="; CInt(False) '0
732 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 00:44:56 ] CBool(1) さて・・・どっち?
733 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 00:46:46 ] 誰もそんな話してないけどな。
734 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 00:46:47 ] Dim a,b a=10 b=20 Debug.Print CInt(a < b)
735 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 12:02:02 ] 宇宙線の影響を考えると1ビット反転でコンピュータ障害がおきかねないな
736 名前:デフォルトの名無しさん [2010/05/04(火) 23:28:37 ] 原因不明のエラーはWindowsMeのせいじゃなくて、宇宙線のせいだったんだな。それなら仕方ないな。
737 名前:デフォルトの名無しさん mailto:sage [2010/05/05(水) 00:40:56 ] ageてまで言うような事なのか?
738 名前:デフォルトの名無しさん mailto:sage [2010/05/05(水) 01:01:06 ] そこはスルーしとけ
739 名前:デフォルトの名無しさん mailto:sage [2010/05/05(水) 10:32:50 ] なんでもWindows Meのせいにするのは天江衣
740 名前:デフォルトの名無しさん mailto:sage [2010/05/06(木) 00:59:32 ] 顧客「おたくのアプリケーション、ちょくちょくエラーが出るんですけど 営業「宇宙線の影響なので仕方ありません 顧客「なんだ宇宙線のせいなのか。それならば仕方ないな。 使える!
741 名前:デフォルトの名無しさん mailto:sage [2010/05/06(木) 10:00:50 ] ねーよwwww
742 名前:デフォルトの名無しさん mailto:sage [2010/05/07(金) 23:52:26 ] なんのためのECCか
743 名前:デフォルトの名無しさん [2010/05/08(土) 00:17:54 ] 英語塾?
744 名前:デフォルトの名無しさん mailto:sage [2010/05/09(日) 00:23:58 ] ECCで訂正できるのって1bitのミスだけで2bit以上は検出だけじゃなかったっけ
745 名前:デフォルトの名無しさん mailto:sage [2010/05/09(日) 00:28:41 ] ミスるメモリだとわかる点だけでも価値はあったんだぜ
746 名前:デフォルトの名無しさん mailto:sage [2010/05/09(日) 00:31:56 ] エラー検出訂正 (error detection and correction)?
747 名前:デフォルトの名無しさん mailto:sage [2010/05/09(日) 02:32:50 ] クラスモジュールでグローバルな変数・定数・メソッドを使うのに抵抗があります
748 名前:デフォルトの名無しさん mailto:sage [2010/05/10(月) 10:01:21 ] >>747 それは明らかにおかしい 必要ならば使うしかないだろ
749 名前:デフォルトの名無しさん mailto:sage [2010/05/10(月) 14:40:47 ] 俺は使いまくり。とても人に見せられるソースじゃない
750 名前:デフォルトの名無しさん mailto:sage [2010/05/10(月) 19:30:36 ] グローバル変数は害悪 定数やメソッドは問題ない
751 名前:デフォルトの名無しさん mailto:sage [2010/05/12(水) 14:03:49 ] >>750 そのへん含め.NETになったと聞いたけど、そうなのかしら? .NET触ったことないからよくわかんないけど。 ところで。 Windows7でMSCommがマトモに動いてくれないのだが、なにか情報出てたりしますか? MSComm使って無さそうなソフトだと(ActiveX?)普通に受信するのに MSComm32を使ったアプリだと、[ 通信デバイス読み取り時にエラーが発生しました(8020) ] を返してくる…。 USBtoシリアルとWindows7の組み合わせが悪いのか、Windows7だけの話なのか?
752 名前:デフォルトの名無しさん mailto:sage [2010/05/12(水) 14:13:30 ] うちの環境で DELLノート Win7+エレコムのUSBシリアル でソフト書いても問題なかったけどなぁ VB6でもC#でも
753 名前:デフォルトの名無しさん mailto:sage [2010/05/12(水) 14:21:08 ] APIで書き直せばおk
754 名前:デフォルトの名無しさん mailto:sage [2010/05/12(水) 14:36:04 ] >>752 マジカ おのれIOデータ とりあえず、受信バッファに何かあるときに MSComm.Inputすると出るの。 それ以外は出ないし送信もできるのに…。 >>753 それは最終手段にしたい…。
755 名前:デフォルトの名無しさん mailto:sage [2010/05/12(水) 19:53:45 ] まず本当にOSの問題かどうかの裏をとろうよ。 そんなこと言ってるからVB厨とか言われちゃうんだよ。
756 名前:デフォルトの名無しさん mailto:sage [2010/05/12(水) 20:03:34 ] IOデータってOSなの?
757 名前:デフォルトの名無しさん mailto:sage [2010/05/12(水) 20:09:54 ] おのれIOデータのUSBシリアルめ、という意味なんだろう
758 名前:754 mailto:sage [2010/05/12(水) 22:38:13 ] IOデータのサポートに言ったら、他にそういう報告はないとのこと。 とりあえず1世代前の製品の最新ドライバ入れてみてという変なこといわれた。 やったら治った。 なんぞーっ ドライバがこなれてないのかしら。 >>755 XPで起こらないのは確認済み。
759 名前:デフォルトの名無しさん mailto:sage [2010/05/15(土) 01:44:06 ] 自分に限界を感じた データベースというのがさっぱり理解できない データベースそのものもわけわからんのだが それを扱うメソッドもよくわからん VisDataもヘルプ読みながら使ってみたがよくわからん これは もう完全にセンスの問題だと思う。俺のプログラミングに関するセンスがダメなんだと思う 家計簿的なもの作ってやろうじゃんと思ったけど さっぱりだ。 そもそもデータベースの入門書みたいな本とかもまったく理解できなかった これは致命的だろう ああ、くそだ
760 名前:デフォルトの名無しさん mailto:sage [2010/05/15(土) 02:30:57 ] バイナリアクセスモードでファイル開いて putやgetでstringの読み書きって半角や全角や制御コードとか全部2バイトデータかな dim s as string * 20 put #1, , s put #1, , n& ↓ get #1, , s get #1, , n& で取り出せるよね? sの内容にかかわらず
761 名前:デフォルトの名無しさん mailto:sage [2010/05/15(土) 02:31:58 ] 回答待つより自分で試したほうが早いか・・・やってみるお
762 名前:デフォルトの名無しさん mailto:sage [2010/05/15(土) 08:23:17 ] >>759 こういう人が居ると安心する。 自分は頭がよくてよかった。
763 名前:デフォルトの名無しさん mailto:sage [2010/05/16(日) 12:49:35 ] >>759 マジレスしたら センスの有無はあるだろうけど 要は慣れだと思う 俺でもできるんだ 俺だって最初はまったく理解できなかった
764 名前:デフォルトの名無しさん mailto:sage [2010/05/16(日) 21:18:53 ] >759 DBを使わず、自分でファイルの読み書きするプログラムを書いたことはある? まずはそれからだと思うが・・・」
765 名前:デフォルトの名無しさん mailto:sage [2010/05/17(月) 01:29:14 ] >>759 その「入門書」のタイトルを教えてくれれば、 何かアドバイスできるかも知れないな。 (もっと適切な入門書を紹介するとか)
766 名前:759 mailto:sage [2010/05/17(月) 01:47:04 ] なんかいっぱいレス下さって・・・意外です^^; >>762 士農工商より下の位がいるみたいな感じっすかね >>763 もう諦めの境地ですから、試行錯誤的にやってみてもエラーメッセージとか意味不明すぎて MSDNの説明じゃ要領得なくて、ネット検索とかもう探すの面倒になりましたっす >>764 当初は、DB使わず、データをLongやStringの配列で自前でデータ管理しようと試みたんすけど データを表示する表みたいなコントロール?(DataGridとか)がイマイチ使い方が理解できなくって そのコントロールってデータベースのデータ使ったほうがいいのかなって思って データベースに挑んでみたですけど、まぁ忍耐の限界っす >>765 書籍タイトルはちょっと分からんです、図書館で立ち読みでしたので データベースの本はほとんどMicrosoftAccessの使い方の本ばっかでそれらは読んでないです 大学時代に一応データベースの授業受けたんですけど、ちんぷんかんぷんで、出席点だけで単位を貰った感じっす まぁ趣味でやってる程度なんで、どうしても出来る必要ってないんで でもみなさんの気持ちには感謝っす
767 名前:デフォルトの名無しさん mailto:sage [2010/05/17(月) 02:00:26 ] あきらめろよ。
768 名前:759 mailto:sage [2010/05/17(月) 02:08:47 ] >>767 書き損ねましたっすが、はい、あきらめてます
769 名前:デフォルトの名無しさん mailto:sage [2010/05/17(月) 02:27:49 ] 愚痴るだけとか士ねよ
770 名前:デフォルトの名無しさん mailto:sage [2010/05/17(月) 02:33:17 ] 家計簿程度ならエクセルで十分なキガス
771 名前:デフォルトの名無しさん mailto:sage [2010/05/17(月) 15:42:08 ] 初心者ならVBAでいいな
772 名前:デフォルトの名無しさん mailto:sage [2010/05/17(月) 17:51:52 ] でもまぁ、集計とかその辺が入るしなぁ どうせやるならDBだろ と思うんだが
773 名前:デフォルトの名無しさん mailto:sage [2010/05/17(月) 18:03:02 ] 趣味で古いVB使うってどんな状況なんだ?
774 名前:デフォルトの名無しさん mailto:sage [2010/05/17(月) 20:02:03 ] >>773 使わなくなったVBを貰ったとかいうのはどうか。 あとは昔からのBASICはよく知ってるんだが、.NETの具合にクラクラしたとかどうか。
775 名前:デフォルトの名無しさん mailto:sage [2010/05/17(月) 20:35:32 ] >>576 >>579
776 名前:デフォルトの名無しさん [2010/05/17(月) 21:29:52 ] 質問させて下さい。 VBScriptを使用して開発を行う際、 何のエディタを使っていらっしゃいますか。 ASP(VBScript+HTML)で開発することになったのですが、 使用するエディタを何にしようか迷っています。 詳しい方がいらっしゃいましたら教えていただきたいです。 ※候補としてはVisual web developer 2008 expressを考えています。
777 名前:デフォルトの名無しさん mailto:sage [2010/05/17(月) 22:12:39 ] 趣味で家計簿みたいなのを作るならExcelVBAがいいと思うよ。 表みたいなやつはもともとデフォルトでついてるし(Excelだから) 結構いろんなこともできる。 VBで画面作ってデータベースに接続して・・・・となるとそりゃ 趣味の範囲としては難しいよ。
778 名前:デフォルトの名無しさん [2010/05/19(水) 01:33:39 ] 複数のテキストボックスをテキスト形式で保存するプログラムを作成しています。 なんとか「保存」「読み込み」のボタンを設置し異常なく作動しました。 ここまではいいのですが、よく考えたら起動時に自動で読み込んでくれると 便利だと思うのですが、検索してもなかなか出てきません。 お詳しい方ご教授頂けると嬉しいです。宜しくお願い致します。
779 名前:デフォルトの名無しさん mailto:sage [2010/05/19(水) 01:36:24 ] Form_Loadで処理すればいいんじゃないの?いや、俺も初心者レベルだけど
780 名前:デフォルトの名無しさん mailto:sage [2010/05/19(水) 01:47:47 ] 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 mailto:sage [2010/05/19(水) 01:55:47 ] >>780 も俺のレスだけど、>>779 ,780は無かったことにして欲しい。俺の勘違いだった
782 名前:778 [2010/05/19(水) 09:47:49 ] すいません追加事項を 起動時に自動で読み込み、なおかつ参照ファイルが存在しなければ 作成する。を追加でお願いします。
783 名前:デフォルトの名無しさん mailto:sage [2010/05/19(水) 15:18:27 ] >>758 マジで? おれも数ヶ月前に同じようなこと聞いて同じような回答をもらったが、あきらめて Ratocのやつに買い換えたよ。 もう一度試してみる価値ありかもな。
784 名前:デフォルトの名無しさん mailto:sage [2010/05/20(木) 00:30:58 ] >>782 よくわからんけど、どういうことなの?
785 名前:デフォルトの名無しさん mailto:sage [2010/05/20(木) 00:38:19 ] 自分で考えるつもりはなくて 人に作って欲しいってことじゃね?w
786 名前:デフォルトの名無しさん mailto:sage [2010/05/20(木) 00:46:35 ] MDIフォームで作ってんのか?
787 名前:デフォルトの名無しさん mailto:sage [2010/05/20(木) 00:54:11 ] >>778 の言いたいことを少しずつみんなで推理していこう まずこれ >複数のテキストボックスをテキスト形式で保存するプログラムを作成しています う〜ん・・・ 複数のテキストボックスをテキスト形式で保存??? これは・・・・テキストボックスの内容をテキスト形式のファイルに保存してるってことなのかな? 1つのテキストボックスに対してファイルを一つ用意するのかなぁ・・?
788 名前:デフォルトの名無しさん [2010/05/20(木) 22:24:38 ] age
789 名前:デフォルトの名無しさん mailto:sage [2010/05/21(金) 00:50:30 ] フォームロード時にファイルシステムオブジェクト使えば簡単に処理できます
790 名前:デフォルトの名無しさん mailto:sage [2010/05/21(金) 16:01:21 ] 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 ] 角かっこを私は知らない
792 名前:デフォルトの名無しさん mailto:sage [2010/05/21(金) 17:17:07 ] かっこわるい
793 名前:デフォルトの名無しさん mailto:sage [2010/05/21(金) 17:22:47 ] ひとまずwinmgmtsでググってみたよ おれには分からない