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/ ※「まず自分で調べる」クセを身につけよう。
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 ] それって否定だろ?