くだすれVB6.0以前(超初心者向け)at TECH
くだすれVB6.0以前(超初心者向け) - 暇つぶし2ch682:デフォルトの名無しさん
09/02/27 00:49:52
>>681
ハァ?
クラスメンバ変数は Public で作れる

683:デフォルトの名無しさん
09/02/27 00:57:34
VBのクラスもメンバ持てるぞ。

だが、>>675 を実現するにはちょっと細工が必要。
ActiveX DLL に1つクラスを設けて、そいつの Instancing を GlobaMultiUse に
すればいい。
そいつに Public 変数を置けば、いわゆるグローバル変数扱いになる。もちろんクラス。

ただ、利用側で Option Explicit とした場合、アーリーバインディングでないと
エラーになった気がする。
それと常識だと思うが、プロセスが異なれば参照先も異なる。

クラスである必要があるならこうするしかないが、
どう考えても標準モジュールで十分な希ガス。

684:デフォルトの名無しさん
09/02/27 17:07:49
イベント処理での質問です。

vb2008 webページの作成をしています。

コンボボックスから、氏名を選択したら、別のテキストにIDを表示するのですが。
コンボボックスから選択しただけじゃイベント処理は発生しませんか?

SelectedIndexChangedとかTextChangedとか試してるのですが上手くいきません。


685:デフォルトの名無しさん
09/02/27 17:30:06
>>684
スレ違いです。

686:デフォルトの名無しさん
09/02/27 19:47:20
>>682
持てません。
クラスメンバの意味わかって言ってる?w

687:デフォルトの名無しさん
09/03/02 14:53:22
vbのwinsockコントロールで、メッセージを送ってきた相手のIPアドレスって取得できますか?
最低でもLANかWANかだけでもわからないでしょうか?

688:デフォルトの名無しさん
09/03/02 14:57:30
もうすこし詳しく書かないと、やりたい事が伝わってこないぞ

689:デフォルトの名無しさん
09/03/02 15:02:48
詳しく書くと、たとえば
TCPでlistenしてるところにconnectしてきた相手のIPアドレスを取得したいんです。
IPアドレスがわからなくても、最低限、そのconnectメッセージがLAN経由かWAN経由かの接続だけでも取得したいのです。

690:デフォルトの名無しさん
09/03/02 15:10:47
ぜんぜん詳しくなってないが、相手のIPはわかるから一度プログラム作ってみなよ

691:デフォルトの名無しさん
09/03/02 15:32:21
>>690
見直してみたら、てっきりRemoteHostしかないと思ったらRemoteHostIPの存在に気づきました。
すいません、お手数をおかけしました。


692:デフォルトの名無しさん
09/03/04 10:41:06
質問ですが、標準のデータグリッドでマウスホイール回転時にスクロールさせる方法って
何が考えられますか?

693:デフォルトの名無しさん
09/03/04 11:20:11
ホイールスクロールを受け取って自力で動かす

694:デフォルトの名無しさん
09/03/04 11:26:17
URLリンク(support.microsoft.com)
こんな感じで

695:デフォルトの名無しさん
09/03/05 01:50:23
アクセス操作について教えてください。
エクセルのCellsみたいに列、行指定はできませんか?



696:デフォルトの名無しさん
09/03/05 02:09:37
もしかして: VBA?

697:デフォルトの名無しさん
09/03/05 02:20:33
つーか、DBってものを解ってないな
利口ならDBについて3日勉強して出直せ
馬鹿ならDBについて3年勉強して出直せ

698:692
09/03/05 11:31:12
ありがとうございます。
ホイールイベント時の処理でスクロールさせるしかないということですね。
イベントの受け取り方などもう少し調べてみようと思います。

699:デフォルトの名無しさん
09/03/05 19:57:12
>695
ADOならRecordsetオブジェクトとか調べて見るといいかも

700:デフォルトの名無しさん
09/03/07 17:35:54
VB5.0で作成されたアプリってVistaでも動く?

701:デフォルトの名無しさん
09/03/07 18:03:33
答えになってないが
VB6は何とか動いたけどODBC関連がだめだめだったね
使い物にならないぐらい遅い

Win7では動かなくなるソフト続出だとおもう

702:デフォルトの名無しさん
09/03/07 18:04:59
VB5 アプリはものによっては動く

703:デフォルトの名無しさん
09/03/07 22:06:49
リストボックスをマウスホイールでスクロールさせた時に
リアルタイムでリストボックスのTopIndexを取得したいのですが
リストボックスのScrollイベントが動かないので私のスキルでは
八方塞がりです。方法をご教授頂けないでしょうか?

704:デフォルトの名無しさん
09/03/07 22:10:51
>>703
サブクラス化

ググればいくらでもサンプルは出てくる
それでも解らなかったら諦めるよろし

705:デフォルトの名無しさん
09/03/07 22:15:50
C#やVB.NETなどで作れという神託だよ

706:デフォルトの名無しさん
09/03/07 22:38:24
>>704
ありがとうございます。
私の探し方が悪いんでしょう。
なかなか見つけられなくてココに来た次第です
諦めるわけには行かないので調べなおします。

>>705
業務で使うのでVB6を使うしかありません。
10年以上稼動する機器なんてざらにあるので・・・
こちらがリファクタリングしたくても
機能も仕様も変わらないのにお金出すところなんてありませんから

707:デフォルトの名無しさん
09/03/07 23:30:07
自力で動かすと、ちょっと上でも方法込みで出てるし。

708:デフォルトの名無しさん
09/03/07 23:32:36
業務で使うのに、サポート切れてるツールを使おう、ってのがわからん。
不具合があったって、MS は知らん顔だよ?

709:デフォルトの名無しさん
09/03/07 23:34:13
MSのサポートなんか受けたことないよ

710:デフォルトの名無しさん
09/03/07 23:38:51
>>706
厳密にTopIndexが一つ変化するごとに確実にイベントが欲しい、
とかで無ければタイマ使ってポーリングしたら?
こんな感じのクラスを作って検証してみたが、悪くないように思うけど。

[ListBoxWatcher Class]
Private WithEvents mListBox As ListBox
Private WithEvents mTimer As Timer
Private mTopIndex As Integer
Public Event TopIndexChanged()

Public Property Set ListBox(lb As ListBox)
Set mListBox = lb
Dim frm As Form
Set frm = mListBox.Parent
If mTimer Is Nothing Then
Set mTimer = frm.Controls.Add("VB.Timer", "pollingTimer")
mTimer.Interval = 200
End If
If frm.ActiveControl Is mListBox Then
StartPolling
End If
End Property

711:デフォルトの名無しさん
09/03/07 23:40:35
Private Sub StartPolling()
  mTimer.Enabled = True
  mTopIndex = mListBox.topIndex
End Sub

Private Sub mListBox_GotFocus()
  StartPolling
End Sub

Private Sub mListBox_LostFocus()
  mTimer.Enabled = False
End Sub

Private Sub mTimer_Timer()
  Dim currentTop As Integer
  currentTop = mListBox.topIndex
  If currentTop <> mTopIndex Then
    mTopIndex = currentTop
    RaiseEvent TopIndexChanged
  End If
End Sub

しかし、なんでそんなイベントでそんな値が必要なんだろう

712:デフォルトの名無しさん
09/03/07 23:44:28
VB6のサブクラス化って初めて見た
横から勉強になります

713:デフォルトの名無しさん
09/03/07 23:48:29
「VB6 のサブクラス化」は、違う意味を指すもんだけどな。

714:デフォルトの名無しさん
09/03/07 23:55:46
「ホイールで動かしたけりゃこのドライバ入れるかあのソフト入れろ」と言える俺は趣味グラマ

715:デフォルトの名無しさん
09/03/08 00:03:30
趣味グラマ以前にバカすぎ
動かしたいって話ではなく
動かすのは出来てる上で
そのイベントを取りたいって話なのに

716:デフォルトの名無しさん
09/03/08 15:06:15
FlexGridライクなグリッドツールで
使いやすくてフリーか安価な物ってありますか?

717:デフォルトの名無しさん
09/03/08 16:16:19
URLリンク(www.grapecity.com)

718:デフォルトの名無しさん
09/03/08 16:17:29
Windows7でもランタイム入ってるのか
あと5年はイけそうだぬ

719:デフォルトの名無しさん
09/03/08 16:25:32
>>718
ところが動かないソフト続出w

720:デフォルトの名無しさん
09/03/08 18:44:50
>>716
俺はMSHFlexGridを自作のクラスと組み合わせて使いやすくしてる
プログラマなら他人が作ったものを使うことばかり考えてないで
少しは自力で便利にしようって気になろうよ

721:デフォルトの名無しさん
09/03/08 19:10:59
DataGridView

722:デフォルトの名無しさん
09/03/09 00:37:17
DataGridViewって.NETのコントロールじゃないの?
VB6でも使えるのか?

723:716
09/03/09 00:46:37
自分で実装しても良いんですけど
自作にかかる費用と購入する費用を考えたときに
購入する方が安上がりかと思いまして

後、うちの会社レベルが低すぎてクラスの概念理解できる人がいないんです…

やっぱグレープシティ買って貰うのが一番手っ取り早いですかね
1週間分の人件費で買えますし…

724:デフォルトの名無しさん
09/03/10 22:18:45
何でもかんでも自分で作ろうとする奴は馬鹿なのか?
費用対効果とか生産性で一番効率品質ともに良いほうを選ぶだけのこと。
車輪の再発明なんぞ自宅でやれ。仕事でやるな。
再発明した低レベルの車輪を見せびらかすな。

725:デフォルトの名無しさん
09/03/10 22:25:08
たいていは、上の人が買ってくれないから、って理由じゃない?>自前で作る

726:デフォルトの名無しさん
09/03/10 22:33:08
FlexGridProの品質の悪さは異常

727:デフォルトの名無しさん
09/03/10 23:25:40
> 車輪の再発明なんぞ自宅でやれ。仕事でやるな。
そもそも最初の質問で仕事で使うとは一言も書いてない件について

個人で使うことを想定した回答を、後出しの仕事で使うという情報を理由に叩く奴は馬鹿なのか?

728:デフォルトの名無しさん
09/03/10 23:40:34
>>724の回答もどうかと思うが、
君のそれも話が噛み合ってないんじゃないの?

>>725の言うように724は勤め人にありがちな境遇がわかってない、
ってのなら同意するんだが。。

まあ、くだらんことで熱くなってもしょうがないだろ。

729:デフォルトの名無しさん
09/03/11 23:33:39
でも車輪の再発明って楽しいよな。

730:デフォルトの名無しさん
09/03/12 00:15:49
再発明ではなく
新発明に出来る可能性を秘めてるからな
再発明にすら届かない可能性も孕んではいるが

731:デフォルトの名無しさん
09/03/13 00:12:26
再発明ってやつは、意識して取り組めば、何らか得るものがあるが、
いかんせん時間効率がよくない。と思う

車輪の再発明は学生のうちにしとけ。とはよくいったもの
世の中そううまくいかん(実りある再発明行為が、学生のうちにできるわきゃない)わけだが

732:デフォルトの名無しさん
09/03/13 00:21:25
時間効率が重視される仕事に置いてまで
再開発でも自作しろなんて言ってる奴は皆無である件について

733:デフォルトの名無しさん
09/03/13 00:28:14
コスト計算できない上司が部品買ってくれないってのは、自作しろって事じゃないの?

734:デフォルトの名無しさん
09/03/13 00:43:24
それは上司の主張であって、このスレの住人の主張ではないだろ

735:デフォルトの名無しさん
09/03/13 00:45:13
なんで上司の主張は除外されるわけ?

736:デフォルトの名無しさん
09/03/13 02:50:12
ここが会社ではなく2chのスレだから

737:デフォルトの名無しさん
09/03/13 03:19:15
2chのスレだったら会社の話をしちゃいかんのか?

738:デフォルトの名無しさん
09/03/13 05:24:15
別にいいんじゃないの?
ただ会社の場合は「会社では」って付けてね
何も付けないと、名前空間上「このスレでは」って意味になるから

739:デフォルトの名無しさん
09/03/13 15:41:56
上司の話をするのに、いちいち会社の上司はと付けなければいけないのか?
いつからそんなルールになったんだ?

740:デフォルトの名無しさん
09/03/13 15:48:00
いや、そもそも「このスレの住人の(合意された)主張」なんてものが存在しません。

741:デフォルトの名無しさん
09/03/13 17:43:28
★印の ”A7” とこを Cells(y, x) とすると

「Rangeメソッドは失敗しました」

と文句言われますが、どうすればいいのでしょう!?

Range("A7:R120").Select
Application.CutCopyMode = False

Selection.Sort _
Key1:=Range("A7"), _   ★
Order1:=xlDescending, _
Header:=xlGuess, _
OrderCustom:=1, _
MatchCase:=False, _
Orientation:=xlTopToBottom, _
SortMethod:=xlPinYin

742:デフォルトの名無しさん
09/03/21 18:37:57
おしえてくだせえ。
frmMain 実行中に、フォームの右端をドラッグして大きさかえると、Resizeイベントが発生するまではいいんだが、
その後 frmMain.ScaleWidth や、frmMain.Width などを取得してみると大きさ変更前の値しか出てこないんだよ。

なにか足りない部分があるのでしょうか?

743:742
09/03/21 18:45:53
すんません。事故解決です。
VBのウイザードからある程度メニューやツールボックスが揃ったプロジェクトではじめていたので、

Set fMainForm = New frmMain

と標準モジュールからフォームオブジェクトが開かれてました。
初心者に意地悪なつくりでした。



最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch