(*´д`*)アハァ… VB初心者質問スレ Part22
■ このスレッドは過去ログ倉庫に格納されています
0001HTML化チェック済み
NGNGPart12 http://pc3.2ch.net/tech/kako/1026/10266/1026642565.html
Part13 http://pc3.2ch.net/tech/kako/1029/10292/1029241786.html
Part14 http://pc3.2ch.net/tech/kako/1030/10309/1030947162.html
Part15 http://pc3.2ch.net/tech/kako/1032/10327/1032706491.html
Part16 http://pc3.2ch.net/tech/kako/1034/10343/1034302532.html
Part17 http://pc3.2ch.net/tech/kako/1036/10361/1036154952.html
Part18 http://pc3.2ch.net/tech/kako/1038/10381/1038103769.html
Part19 http://pc3.2ch.net/tech/kako/1039/10398/1039859691.html
Part20 http://pc2.2ch.net/tech/kako/1041/10418/1041879465.html
Part21 http://pc2.2ch.net/test/read.cgi/tech/1044028945/
VB.net関連スレ
【老若】VB.net質問スレ【男女】 (Part2)
http://pc2.2ch.net/test/read.cgi/tech/1043629429/
心得
壱.質問する前に過去ログにも目を通してみる。
弐.質問する前に MSDN などで調べてみる。
参.VBScript もこのスレでOK。
四.インストーラーなどの質問もOK。
五.下ネタもたまにならOK。
0175デフォルトの名無しさん
NGNG過去ログみてから発言しましょうね。
心得
壱.質問する前に過去ログにも目を通してみる。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
弐.質問する前に MSDN などで調べてみる。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
参.VBScript もこのスレでOK。
四.インストーラーなどの質問もOK。
五.下ネタもたまにならOK。
0176デフォルトの名無しさん
NGNGロジックはともかく、GUIをメモ帳でコーディングするのは生産性が恐ろしく低い罠・・・。
0177デフォルトの名無しさん
NGNGだったらCレベルの生産性は維持できるだろ。
0178デフォルトの名無しさん
NGNG0179デフォルトの名無しさん
NGNGイベント通知だとイベント処理メソッドの処理が終わらないと一方が止まってしまうので
困ってしまってね。Coffeeサンプルは複雑で漏れにはわからん。
ヘルプ嫁・・・・はいはい
0180デフォルトの名無しさん
NGNGPrint Picture1 "aiueo"
だと失敗したんだけど・・・正解をキボンヌ。
0181ひきプロ
NGNG0183デフォルトの名無しさん
NGNG見た目は微妙だが、
考え方は180度間違っている。
0184105
NGNGUDPを使って、お互いのIPをRemoteHostに設定して
ユニキャストで文字列のやりとりはできるし、
マルチキャストを使っての送信はできる(確認は受信側でVC製の別のマルチキャスト受信ソフトで行った)のですが…
>>105の設定だけではだめなんでしょうか?
0186デフォルトの名無しさん
NGNGプログラムを作ったのですが、windows2000とXPで、実行しようとすると
「コンポーネントMSWLESS.OCXまたはその依存関係のひとつが適切に
登録されていません。ファイルが存在しないか、あるいは不正です。」
とエラーが出て実行できなかったらしいです。
どうすれば解決できるでしょうか?
0187デフォルトの名無しさん
NGNGAccessのテーブルデータと連携した画面を作っています。
MSHFlexGridにDetaSourxeを設定してデータを表示させるまでは
できるのですが、その中からユーザに選択させるために
左側にチェックボックスを並べたいのです。
普通に並べても、FlexGridのデータをスクロールバーで上下させてしまうと
チェックボックスの選択と同期が取れなくなってしまうし、
かといってテーブルに選択の列を追加しても
DBデータと連携できるチェックボックスコンポーネントなんてないし。
理想は、FlexGridの横一列とチェックボックスを対応付けて
スクロールバーに連携させ、かつ離れた列の複数選択を可能にすることです。
どうにか方法ないものでしょうか?
素直にFlexGridのセルをクリックして選択させたほうが楽でしょうか?
0188デフォルトの名無しさん
NGNGスマソ、ブロードキャストと勘違いしてた…。
マルチキャストを受信するには、アプリケーションからOSにその旨登録しないと
駄目みたいな様子なので、API使うか何かする必要があるような感じ?
IGMPがどうたらこうたら…。
漏れにはお手上げ(ρ_;)
0189189 ◆7WYWM3doQ.
NGNG0190デフォルトの名無しさん
NGNGそれを公言するのは人間としてなんか間違っていると思う
0191デフォルトの名無しさん
NGNG(・A・)イクナイ!
0192デフォルトの名無しさん
NGNG0193デフォルトの名無しさん
NGNG0194デフォルトの名無しさん
NGNG少なくともVB使ってたら思わないな...
0195デフォルトの名無しさん
NGNGアレだろ、ごつごつしたタイヤのオートバイで天高くジャンプしたりする競技?
0196デフォルトの名無しさん
NGNGCallWindowProcは引数が4つ余計です。他に良いAPIはありませんか?
Option Explicit
Public Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Sub main()
Dim adr(2) As Long
adr(0) = AddPtr(AddressOf func0)
adr(1) = AddPtr(AddressOf func1)
adr(2) = AddPtr(AddressOf func2)
Dim i As Long
For i = 0 To 2
Call CallWindowProc(adr(i), 0, 0, 0, 0)
Next i
End Sub
Public Function AddPtr(ByVal Address As Long) As Long
AddPtr = Address
End Function
Public Function func0(ByVal hwnd As Long, ByVal uMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Debug.Print "func0"
End Function
Public Function func1(ByVal hwnd As Long, ByVal uMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Debug.Print "func1"
End Function
Public Function func2(ByVal hwnd As Long, ByVal uMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Debug.Print "func2"
End Function
0197デフォルトの名無しさん
NGNGEnumWindowとか、SetTimerとか試してみたら?
つーか、なんでパラメータを無視するんだよぅ(笑
0198デフォルトの名無しさん
NGNGEnumWindowで出来ます? SetTimerはタイムラグがありそうだし、
TIMERPROC型がWNDPROCと同じ個数の引数なので意味なさそうです。
> つーか、なんでパラメータを無視するんだよぅ(笑
だって、この場合必要ないし。
たいした問題じゃないんですが、名前を変更してみました。
これで一見、「どうやってるんだ?」って思わせられるはず(w
Option Explicit
Public Declare Function CallFunc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal Param1 As Long, ByVal Param2 As Long, ByVal Param3 As Long, ByVal Param4 As Long) As Long
Sub main()
Dim adr As Long
adr = FuncPtr(AddressOf func)
Debug.Print "ret:" & CallFunc(adr, 0, 0, 0, 0)
End Sub
Public Function FuncPtr(ByVal Address As Long) As Long
FuncPtr = Address
End Function
Public Function func(ByVal Param1 As Long, ByVal Param2 As Long, ByVal Param3 As Long, ByVal Param4 As Long) As Long
Debug.Print "func"
func = 1
End Function
0199名無しさんだよもん ◆ZAYX.QGihc
NGNG(引数がSendMessageと同じところに注目)
例えば func(param1 As String, param2 As Object) の様な引数を持った関数はVBでは呼べません
言い切ってしまえば VB で関数ポインタは扱えません
関数ポインタを呼び出す部分をCでDLLするしか方法は...(以下省略
0200デフォルトの名無しさん
NGNGいまいち意図がつかみにくいけど、要するに関数のポインタを変数に入れて、
コールバックで扱いたい、ってこと?
こんな感じかい?
Option Explicit
Public Declare Function SetTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long
Public Declare Function KillTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long) As Long
Sub main()
Dim ptrFunc As Long
ptrFunc = FuncPtr(AddressOf TimerProc)
Call SetTimer(0, 0, 1000, ptrFunc) ' AddressOf TimerProc)'本来はこっちの書き方
End Sub
Function FuncPtr(ByVal AddressOfFunc As Long) As Long
FuncPtr = AddressOfFunc
End Function
Public Sub TimerProc(ByVal hwnd&, ByVal uMsg&, ByVal idEvent&, ByVal dwTime&)
Call KillTimer(0, idEvent)
Debug.Print dwTime
End Sub
0201デフォルトの名無しさん
NGNG> 例えば func(param1 As String, param2 As Object) の様な引数を持った関数はVBでは呼べません
そういう時はね、StrPtrやObjPtrでアドレス値に変換してから
呼び出し先でアドレスをローカル変数に代入すればいいんだよ。
0202デフォルトの名無しさん
NGNG0203デフォルトの名無しさん
NGNGほれ。
http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&oe=UTF-8&q=%E3%82%BF%E3%82%A4%E3%83%97%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA%E3%81%A8%E3%81%AF
0204デフォルトの名無しさん
NGNG:::::::::::/ ヽ::::::::::::
:::::::::::| ば じ き i::::::::::::
:::::::::::.ゝ か つ み ノ:::::::::::
:::::::::::/ だ に は イ:::::::::::::
::::: | な。 ゙i ::::::
\_ ,,-'
――--、..,ヽ__ _,,-''
:::::::,-‐、,‐、ヽ. )ノ _,,...-
:::::_|/ 。|。ヽ|-i、 ∠_:::::::::
/. ` ' ● ' ニ 、 ,-、ヽ|:::::::::
ニ __l___ノ |・ | |, -、::
/ ̄ _ | i ゚r ー' 6 |:: ←>202
|( ̄`' )/ / ,.. i '-
`ー---―' / '(__ ) ヽ 、
====( i)==::::/ ,/ニニニ
:/ ヽ:::i /;;;;;;;;;;;;;;;;
0205名無しさんだよもん ◆ZAYX.QGihc
NGNGフックとStrPtr思い出したんだが
過去に『TextBoxにタブが入力されたら半角スペースに変換』たる機能を作ろうとした
ペーストされた時・外部アプリからの変更も考えて フックし
�@ コールバックの引数(ペーストされる文字列のアドレス)をStringに MoveMemory
↓
�A String のタブを半角スペースに置換
↓
�B �Aの結果を�@のアドレスに入れる(StrPtrを使って)
という方法でやってみたのだが
文字列のサイズが小さいと成功し大きいと失敗(異常終了)します
違うやり方があったら教えてくれ
『入力されたら半角スペースに変換』は簡単なのだが...
0206デフォルトの名無しさん
NGNGその方法ってAPI呼び出すときに使ってるだろ。
0207デフォルトの名無しさん
NGNGexeファイルのアイコンがForm1のアイコンになっちゃうんだけど、
Form2のアイコンをexeに表示させるにはどうすればいいの?
エクスプローラでexeを見てみるとForm1のアイコンしかexeのアイコンとしては表示できないみたい。
0208ひきプロ
NGNGオプション → アプリケーション → アイコン
で変更
0209デフォルトの名無しさん
NGNGもう入手困難?
昔の会社でVB6使ってたけど、転職した会社になかったので
(ソフトハウスではないですので当然ですが)
どーせなら、VB6を買って、アップ版のVS.NETを買おうと
思ってるので。
もし、通販できるサイトがあれば教えてくださいませ
0211デフォルトの名無しさん
NGNG0212もう一度書かせて下さい。
NGNGプログラムを作ったのですが、windows2000とXPで、実行しようとすると
「コンポーネントMSWLESS.OCXまたはその依存関係のひとつが適切に
登録されていません。ファイルが存在しないか、あるいは不正です。」
とエラーが出て実行できなかったらしいです。
どうすれば解決できるでしょうか?
0213デフォルトの名無しさん
NGNGどうもありがとう!
0214デフォルトの名無しさん
NGNG0215デフォルトの名無しさん
NGNG統合アーカイバプロジェクトに行け(´ー`)
サンプルがたくさん落ちてるぞ。
inflateまで自前で実装したいなら茨の道っていうか漏前には無理。
0216ひきプロ
NGNGアプリのフォルダにMSWLESS.OCXを開発環境からコピーすれば
動くようになると思います。
>>214
http://www.google.co.jp/search?q=zip%E8%A7%A3%E5%87%8DVB&ie=UTF-8&oe=UTF-8&hl=ja&lr=
0219デフォルトの名無しさん
NGNG0220デフォルトの名無しさん
NGNG0221デフォルトの名無しさん
NGNG0222214 zip ◆IKup9Hv/8E
NGNGzip解凍先フォルダの指定がこのときは解凍できずになやみになやんだ。
Outdir = App.Path
だがしかし、unzip32.dllで大事なのは、解凍先フォルダの指定でフォルダ文字列の最後に\をつけることだ。
Outdir = App.Path & "\"
とすれば見事に解凍できる。
覚えておくといいぞ、これからVBでzipを扱うのに興味を持ったヤシは。
0223デフォルトの名無しさん
NGNGそのソースだとダメな場合がある(だろう)ってのを覚えておいたほうがいいぞ。
どういう場合にダメなのかは自分で考えるように。
0226デフォルトの名無しさん
NGNGまともなプログラマはそんなソース書かないから大丈夫だw
自分で考えろって言ってるのに2分で即レスとはすげーヤシだな。
ちなみにRight関数は”あまり”関係ない。
0228デフォルトの名無しさん
NGNGいちいち面倒だってば。
0230デフォルトの名無しさん
NGNG断る
>>228
たしかに・・・
俺は最近は手抜きして、その手の処理にはFSO使うことが多い。何かと便利だし。
0231デフォルトの名無しさん
NGNG0232214 zip ◆IKup9Hv/8E
NGNGいいソフトにも拒否反応を示すというのは事実だ。
0233デフォルトの名無しさん
NGNGC:\hoge\ で実行すると、App.Path は C:\hoge になる。
ルートで実行するやつなんかシラネ、って考えなら問題なし。
0234デフォルトの名無しさん
NGNG*い ろ ん な と こ ろ で* App.Path
以上。
0235234
NGNGぎゃふん
0236214 zip ◆IKup9Hv/8E
NGNGおれはApp.Pathの戻り値の右端に\があるかどうかを求めればいい。
という考えで上記事にRight関数の名を出したわけだから、なにげにもうこちらも解決してたってわけだな。
0238デフォルトの名無しさん
NGNG∧_∧
.:' ': :..,, .( ´A` ) 、_,..ノ⌒ヽ、,
゙::...::゙" (ヾ.,,三,.彡'_,,... -‐、.,, 彡
ヽ くV > ヽ、 \ ゙"
ヽ<iゝ l> )
〉・ ・ / ./
/ ・ ・ \イ 、
∧ 'i, 〈キ〉
/ 人 'i, `'
,/ / /'i, ヽ
l' i'ヽ( ヽ >
/ ,|⌒l |'i, /
ヽノ l ! レ''. ,-、,
| | く_ツ
| .|
_/ l
,.-'l (___/
ゝ '
0239デフォルトの名無しさん
NGNGまだ間違ってるようだが、本人納得してるようなので放置しよう・・・
0240デフォルトの名無しさん
NGNGいくつか重要な事実をおしえてくれてるね。おれは感謝してるよ。
0241デフォルトの名無しさん
NGNGIf Right$(strPath, 1) <> "\" Then strPath = strPath & "\"
AddBackSlash = strPath
End Function
0242デフォルトの名無しさん
NGNG0244デフォルトの名無しさん
NGNG0245デフォルトの名無しさん
NGNG>238
この流れで話はおわりとおもたのに・・・・。
0246214再び ◆IKup9Hv/8E
NGNGみんなもそうだろうか?
0247214 ◆IKup9Hv/8E
NGNGUnzipするときにパラメータを渡すが、パラメータはスペースで区切っていたな。
つまりパラメータ用デリミッタのスペースとフォルダ名のスペースが混ざったいると。
さてどうしたものか。
0248214 ◆IKup9Hv/8E
NGNG0249214 ◆IKup9Hv/8E
NGNG0251214 ◆IKup9Hv/8E
NGNG0252デフォルトの名無しさん
NGNG同一人物か?
0253デフォルトの名無しさん
NGNGある文字列○○○の右から数個目のアルファベットを
アルファベットよって任意の数字をあたえる
プログラムってどうすればいいんですか?
例
○○○○○(単語)の右から3つ目のアルファベットが
A、b、c…1
d、e、f…2
その他…3
にしたい場合
本当お手数かけてすみません
0254デフォルトの名無しさん
NGNGrightOne = Left(Right(str, 3), 1)
あとはてめえでやれ。
0255デフォルトの名無しさん
NGNG0256デフォルトの名無しさん
NGNG素直にコードにするとこうなるわけだが
Select Case Mid$("ここに対象となる文字列", 3, 1)
Case "A", "b", "c"
hoge = 1
Case "d", "e", "f"
hoge = 2
Case Else
hoge = 3
End Select
0258デフォルトの名無しさん
NGNG性器表現と同じお方のようだ
0259デフォルトの名無しさん
NGNG0260デフォルトの名無しさん
NGNGトイレでブツがぼっとんすればはねかえりがある、それがイベントだ
0261デフォルトの名無しさん
NGNG余計意味がわからなくなりそうなのですが・・・。
0262デフォルトの名無しさん
NGNGForm1 が 表示 された
Command1 が クリック された
こういうのがイベント
0263デフォルトの名無しさん
NGNGお前が「トイレでブツがぼっとん」しても
俺には「はねかえり」を感知できない。
よってそれはイベントではない。
0264デフォルトの名無しさん
NGNGオブジェクトでクライアントに有益な事象が発生したときに、クラスからクライアントへ通知する方法のこと
0265デフォルトの名無しさん
NGNG0266デフォルトの名無しさん
NGNG0267デフォルトの名無しさん
NGNGアキュームレータがインクリメントされるのもイベントが?
0268デフォルトの名無しさん
NGNG0270デフォルトの名無しさん
NGNG0271253
NGNGある単語(例えば「opendata」)という言葉から
あるアルファベット(例えば「o、a」)の数の合計を数えるプログラムってどうすればいいんですか?
本当2回もすみません!!
0272デフォルトの名無しさん
NGNG0273デフォルトの名無しさん
NGNGあなたの近くに何十人もわかる人がいるが、回答者は、自分以外の誰かが答えるだろうと思って自分では回答を見合わせている状態なのだ。
0274デフォルトの名無しさん
NGNG本当簡単な質問ですみません
独学でプログラム作り始めたんですけど
参考書のここまでのってなく詰まってしまって…
■ このスレッドは過去ログ倉庫に格納されています