トップページ⇒tech
1001コメント310KB

(*´д`*)アハァ… VB初心者質問スレ Part22

■ このスレッドは過去ログ倉庫に格納されています
0001HTML化チェック済みNGNG

  Part12 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。
0423デフォルトの名無しさんNGNG
叩かれているのは>390ではなく>391と>405だと思われ。
0424デフォルトの名無しさんNGNG
>>422
パブリック変数にしても外部からのインタフェースを変えることなく
プロパティに変更できる便利さ。
0425デフォルトの名無しさんNGNG
もうその話はいいじゃん。
結局それぞれのポリシーの問題だし。
それにこれ以上いじくると荒らしに変貌しかねん。
0426デフォルトの名無しさんNGNG
何回>>390を読み直しても、正論だと思うが、なんでこんなに荒れるのだ?
0427デフォルトの名無しさんNGNG
質問でつ。
デバッガでスタックトレースを見るにはどうすればいいんでしょうか。
0428デフォルトの名無しさんNGNG
>426
>385の質問に
>390が正論を言ったのだが、>391が反論。
最初は>391が叩かれていたのだが、
で>405あたりのオブジェクト指向狂信者が暴れだした。

ってところだろ。
0429デフォルトの名無しさんNGNG
質問です。

Int()関数と同じ働きをするREALbasic用の関数をご存じですか?
REALbasicにはFloor()とRound()とCeil()というものがあるのですが
どれも微妙に違うみたいなんです。
0430デフォルトの名無しさんNGNG
>>402
>ところで、Javaにもプロパティって考え方あるの?
Beanではクラスに

Get〜
Set〜

と言うメソッドを〜というプロパティと見なしたりする。
0431デフォルトの名無しさんNGNG
classA.B というパブリック変数かプロパティーがあって、

sub hoge(byref fuga)
  fuga = hage
end sub
という参照渡しで値をいじる関数があった時、

  hoge classA.B

ってやると結果が腐る、ってのなかったっけ?
パブリック変数の時はclassA.Bはhageになるが、プロパティーの時は
変更されないとかそんな感じの。
そんなことするなヴォケ、って思うけど(笑
0432デフォルトの名無しさんNGNG
>>431
そりゃそうだ。パブリック変数=プロパティGET=メンバ変数とかからの
メソッドの戻り値を変更してもメンバ変数自体が代わることはない。
ようするにhoge Val(a)とやってもaの内容が変わらないのと一緒。
0433432NGNG
> パブリック変数の時はclassA.Bはhageになるが、プロパティーの時は
> 変更されないとかそんな感じの。
ちょっとここ見落としていた。
パブリック変数の場合はクラス内から(Meをつけずに)アクセスした場合は
メンバ変数と同等。クラス外もしくはMeをつけた場合はプロパティ経由と同等。
なのでそういう結果になる。
0434デフォルトの名無しさんNGNG
VB6で実験してみた結果、クラスのパブリック変数を外部から呼ぶ時は
Property Let/Getと同じ動作になると分かったよ。

というわけで、クラスの外部から見た場合はパブリック変数とLet/Getの
違いは全くないということでいいかな。
0435デフォルトの名無しさんNGNG
クラスモジュールにパブリック変数を宣言して、
そのクラスを別のクラスでImplementsすると、
パブリック変数をProperty Let/Get扱いになるでしょ。
0436デフォルトの名無しさんNGNG
容易に理由はわかると思うけどクラスにパブリック変数を置いてクラス内から
MeつきとMeなしアクセスしたときの速度を比べるとMeなしの方が速い。
もちろんフォームもクラスの一種なのでMeなしでアクセスした方が速いのだが、
面白いことにフォーム内のコントロールに限っては同じ。
コントロールは特殊な扱いなのだろう。
0437デフォルトの名無しさんNGNG
>>346
動作確認できました。
おかげさまで、解決・・・・のはずが、今度は本文に改行をいれる方法が
わからなくて、悩んでたりする。(w
vbCrLfとか、<BR>とか試してみたんですが・・・。

ご存知の方、コメントください。
0438デフォルトの名無しさんNGNG
>>437

>>331氏が提示してくれたURLに

「改行する際には、「%0D%0A」を指定してください。」と書いてありました。

申し訳ない。m(_ _)m

これで、OEについては完全解決。
あとは、Becky!等での動作確認だけです。
0439デフォルトの名無しさんNGNG
リストボックスとチェックボタンが一つずつあったとする。
リストボックスのMultiselectは2の拡張スタイルにしており、
リストボックスには複数のリストが登録されていて、
チェックボタンにチェックを入れたときに、そのリストボックスの
全ての項目が青色に反転するようにしたい(つまり、全ての項目を
選択したと同じに)。


どなたかご教授おねがいします。
0440デフォルトの名無しさんNGNG
>>439

Dim i As Long

For i = 0 To ListBox.ListCount - 1
ListBox.Selected(i) = True
Next

あまり説教じみたことは言いたくないのだが、とにかく、ヘルプとオブジェクトブラウザと
インテリセンス(入力補完)機能を使いこなすことを心がけよう。
(せっかくの便利な機能を使わないのでは、RADツールを使う意味がない)
慣れれば、新しいことをやるときにも戸惑わず、迅速に対応できる。

それでは、がんばってね。
0441デフォルトの名無しさんNGNG
>>440
>インテリセンス(入力補完)機能を使いこなすことを心がけよう。

若いうちから何言ってんだ。
0442デフォルトの名無しさんNGNG
>>440
教えてもらってこんなことを言うのもなんだが、、、
俺の言っていることをよく読め。
そして自分で書いたプログラムを一度実行してから
人に言え。
この低脳が。マジで頭にきたぜ。
0443デフォルトの名無しさんNGNG
偽者が煽りだした(藁
0444デフォルトの名無しさんNGNG
>>427
停止中にCtrl+L
もっと細かいレベルで見たいならネイティブコードコンパイル時にデバッグ情報を生成してVCとかを使ってみる。
0445デフォルトの名無しさんNGNG
>>444
なぁなぁ。VBのデバッグ情報上手く使えないような気がするのは気のせい?
0446デフォルトの名無しさんNGNG
>>445
うまく使いこなせない?
0447デフォルトの名無しさんNGNG
>>446
VCで読み込んでも行がずれたりしない?
つーかファイル名とかのせいで素直に読み込んでくれなくなかった?
0448デフォルトの名無しさんNGNG
>>444
おぉthanx
0449Not 440NGNG
(439)442 が怒っている理由を考えてみた。
おそらくリストが4万項目あると見た。
0450デフォルトの名無しさんNGNG
VBでnetstatコマンドみたいに、ネット接続してるプロセス一覧を取得する事って
可能ですか?
ファイアーウォールもどきみたいに任意のプロセスの接続を停止させたりしたいんですが...
0451デフォルトの名無しさんNGNG
Visual Basic 6.0 SP3 Professional Edition のディストリビューションウィザードで
「予期せぬエラー457 このキーは既にコレクションの要素に割り当てられています」と
表示され、パッケージができません。
どなたか対処法もしくは原因しりませんか?
0452デフォルトの名無しさんNGNG
VB.NETで、ポインタ変数があり、そのアドレスが示す先に取り出したい8バイト
の値があるのですが、どうやれば取り出すことができますか?
0453デフォルトの名無しさんNGNG
>>452
>VB.NETで、ポインタ変数があり

ありません。
0454デフォルトの名無しさんNGNG
>>453
あったよ!!??
0455デフォルトの名無しさんNGNG
>>452
ここは.Net以外のVBスレなので、ここで聞いてもCopyMemory dst(0),byval srcPtr しれ、
としか返ってこないと思われ。
>>1のリンクからVB.Netスレでドゾ。
0456439NGNG
俺は全ての項目が選択され、青色に反転している状態にしたいのだ。
0457デフォルトの名無しさんNGNG
変なヤシが居るみたいだが、>>440のコードちゃんと動くよなぁ…。
まさか、List1.ListIndexが複数になる方法を探してるとかか?

つーか、偽物に反応してもしゃーないか…。
0458デフォルトの名無しさんNGNG
俺は全ての駄レスが削除され、質問・回答のみの状態にしたいのだ。
0459439NGNG
俺は変な日本語を書いているのか???

変な奴らが多い・・・・・。
0460デフォルトの名無しさんNGNG
>>458
無理。なぜなら2chだから。
0461デフォルトの名無しさんNGNG
オプションボタンをクリックしたときに、Shiftキーを
押したことにすることって出来るのかな?
0462444NGNG
>>445
普通に使えていたけど?
ビルド後にソースコードいじったりしてないよね?
あとコンパイルするときは最適化は当然はずしていると。
0463デフォルトの名無しさん NGNG
VB開発者は

アメリカでは、VBはプロ用
ジャパンでは、VBは素人用

という地位だそーです(.net magazine 4月号より)。
0464デフォルトの名無しさんNGNG
>>463
その勘違いが日本のVBユーザの技術不足を招いているんだろうね。
0465デフォルトの名無しさんNGNG
どの勘違いが?
0466デフォルトの名無しさんNGNG
>>464
素人が使う−>バカなので技術の積み重ねがない−>素人のまま−>どんどん素人が増える

悪循環だな。
0467デフォルトの名無しさんNGNG
まぁ、全角で「−>」こう書くほど馬鹿じゃないだろうがな。
糞見づらい。
0468デフォルトの名無しさんNGNG
>>467
慣れれば楽。
0469デフォルトの名無しさんNGNG
>>466
ちょっと違うよ。
馬鹿が使いやすい−>バカなので技術の積み重ねがない−>馬鹿のまま−>VBをかじった馬鹿がどんどん増える

やはり悪循環だな。
0470デフォルトの名無しさんNGNG
ここでは同じ質問を3回してようやく本当に知りたいんだなとわかる
0471デフォルトの名無しさんNGNG
すいません、いま仕事で各PCからプリンターに出力した件数を格納するソフトを作成しています。
それで、その出力したもののなかで、特定のソフトのものだけを抽出したいのですが、
これをジョブ名で特定しようとしたら他のソフトとジョブ名がかぶっちゃってたのです。
2ちゃんねらーのみなさま
なんとかして特定のソフトのみから打ち出したもののみをカウントする方法はありませんでしょうか?
0472デフォルトの名無しさんNGNG
>>461
SendKeys
0473デフォルトの名無しさんNGNG
Sub AAA()
Dim i
BBB
End Sub
-------------
Sub BBB()
Dim i
End Sub
------------
というように、あるプロシージャが別のプロシージャを呼ぶときに、両方で同じ名前の変数を使っちゃっても大丈夫なようなんだけど気のせい?
つまりAAAのiとBBBのiが独立に働いてくれてるような気がする。
0474デフォルトの名無しさんNGNG
>>473
変数の宣言レベルについて勉強しる。
0475デフォルトの名無しさんNGNG
>>474
スコープって言った方がいいと思う
0476473NGNG
>>474-475
スコープといってもダブっているiは気になるもの。
AAAのiの期限が切れてないうちにBBBのiを使えるということは、
VBはAAA.iとBBB.iという感じで複数箇所のiを分けて使っていてくれているようだ。
0477デフォルトの名無しさんNGNG
i++
のところでエラーが出た。
0478デフォルトの名無しさんNGNG
このスレには30歳以上が多いと見た
0479デフォルトの名無しさんNGNG
>>476
N88BASICでも使え
0480476NGNG
>>479
もういい。
0481デフォルトの名無しさんNGNG
>>476
スコープの意味を 100 万回調べれ。
0482デフォルトの名無しさんNGNG
>>476
山口さんちのツトム君と関口さんちのツトム君は別人ということだ。
0483476 ◆0d6Ohf/jLo NGNG
>>481-482
ローカルスコープの意味を知るのは簡単だ。
問題は
Call BBB
が単なるインクルードでないことだな。現在の位置にある情報を置いてけぼりにして別の場所にジャンプする、という感じだ。
0484デフォルトの名無しさんNGNG
一体誰が

Call BBB

をインクルードだと言ったの?
0485476 ◆0d6Ohf/jLo NGNG
>>484
だれもイワンが。
勝手にそう思い込むヤツがここにいただけの話。
0486デフォルトの名無しさんNGNG
>>472
初心者にSendKeysを奨めるのって、親切そうに見えてウラに悪意が感じられる(w

# keybd_event じゃダメ?
0487デフォルトの名無しさんNGNG
>>485
凄い勢いで馬鹿
0488476 ◆0d6Ohf/jLo NGNG
>>485
ひょっとしたらオレみたいのがいろんなソフトのバグを発見できるんだな。
0489476 訂正 ◆0d6Ohf/jLo NGNG
>>487へ
0490 NGNG
プロジェクトを削除したいんだけどさ、〜.vbpと 〜.vbwを削除すればいいの?
0491デフォルトの名無しさんNGNG
なんかいきなりトリップつけ出した偽476が煽っているみたいだが無視するがよろし。
0492デフォルトの名無しさんNGNG
>>490
意味不明。
Formだけ取り出したいなら.frmだけ隔離しる。
0493デフォルトの名無しさんNGNG
>>490
何がやりたいのかいまいちわからないけど、プロジェクトファイルを消したいのなら
それでいいんじゃないの?
0494デフォルトの名無しさんNGNG
もうすっかり春です
0495 NGNG
>>493
あんがと
0496476 ◆0d6Ohf/jLo NGNG
たくさんの大麻コントロールやDoEventsを使うとシングルスレッドのVBをマルチスレッドのような感じにできるみたいだがどうよ?
0497デフォルトの名無しさんNGNG
>>496
そら、マルチタスクってタイマー割り込みが元だからなぁ。
0498デフォルトの名無しさんNGNG
VB1.0でマターリと勉強してるんですが、なんか使いにくいです
もうこんな馬鹿らしいことは止めにします
0499476 ◆0d6Ohf/jLo NGNG
>>497
その裏技的割り込みで、
Timer1イベント。Inet1.OpenURLでjpgをダウンロードしつつ、
Timer2イベント。Inet2.OpenURLでzipをダウソできたりできそう。
0500デフォルトの名無しさんNGNG
>>498 ずいぶんと古いOS使ってるな(プ
0501デフォルトの名無しさんNGNG
>>499
でも、問題は非プリエンティブって事だな。

どこかで時間のかかる処理を入れると他のタイマーイベントの発生が遅れる。
まぁ、そのためのDoEventsか。

そう言えば、DoEventsした後に同じタイマーのイベントが発生したらややこしい気もするなぁ・・・。
再入可能をしっかり頭に入れて設計しないとはまりそう。
0502邪神476 ◆0d6Ohf/jLo NGNG
>>501
オレもややこしくなるとは思ってた。

またあとであばれる。
〜476さん外出中〜
0503デフォルトの名無しさんNGNG
リアルタイムシステムをVBで作るなよな〜
Windows自体もあやしいのに。
0504デフォルトの名無しさんNGNG
>>503
>リアルタイムシステムをVBで作るなよな〜

普通にそんな奴はいない。
0505デフォルトの名無しさんNGNG
>>504
ごめんなさい。
自分の思ったとおりに、見せようと思えばリアルタイムではなく、
台本を作って映画のようにプログラムを作らなければいきません。
と言いたかったのです。
0506デフォルトの名無しさんNGNG
>>505
>Windows自体もあやしいのに。

より、彼はハードリアルタイムかかなりシビアなソフトリアルタイムなシステムのことを言ってるんだと思われ。

騙ってまで設計の話に持って行こうとする理由がわからん。
0507471NGNG
だれか>>471の質問を答えることのできるかた教えてください(><
0508世直し一揆(コピペ推奨)NGNG
<血液型A型の一般的な特徴>(見せかけのもっともらしさ(偽善)に騙されるな!!)
●とにかく気が小さい(神経質、臆病、二言目には「世間」(「世間」と言っても、同じA型を中心とした一部の人間の動向に過ぎないのだが・・・)、了見が狭い)
●他人に異常に干渉し、しかも好戦的でファイト満々(キモイ、自己中心、硬直的でデリカシーがない)
●妙に気位が高く、自分が馬鹿にされると怒るくせに平気で他人を馬鹿にしようとする
(ただし、相手を表面的・形式的にしか判断できず(早合点・誤解の名人)、実際にはた
いてい、内面的・実質的に負けている)
●本音は、ものすごく幼稚で倫理意識が異常に低い(人にばれさえしなければOK!)
●権力、強者(警察、暴走族…etc)に弱く、弱者には威張り散らす(強い者にはへつらい、弱い者に対してはいじめる)
●あら探しだけは名人級でウザイ(例え10の長所があってもほめることをせず、たった1つの短所を見つけてはけなす)
●基本的に悲観主義でマイナス思考に支配されているため性格がうっとうしい(根暗)
●単独では何もできない(群れでしか行動できないヘタレ)
●少数派の異質、異文化を排斥する(差別主義者、狭量)
●集団によるいじめのパイオニア&天才(陰湿&陰険)
●悪口、陰口が大好き(A型が3人寄れば他人の悪口、裏表が激しい)
●他人からどう見られているか、人の目を異常に気にする(「〜みたい」とよく言う、
世間体命)
●自分の感情をうまく表現できず、コミュニケーション能力に乏しい(同じことを何度
も言ってキモイ)
●表面上協調・意気投合しているようでも、腹は各自バラバラで融通が利かず、頑固(本当は個性・アク強い)
●人を信じられず、疑い深い(自分自身裏表が激しいため、他人に対してもそう思う)
●自ら好んでストイックな生活をしストレスを溜めておきながら、他人に猛烈に嫉妬
する(不合理な馬鹿)  
●後で自分の誤りに気づいても、強引に筋を通し素直に謝れない(切腹するしかない!)●自分に甘く他人に厳しい(自分のことは棚に上げてまず他人を責める。包容力がなく冷酷)
●男は、女々しいあるいは女の腐ったみたいな考えのやつが多い(例:「俺のほうが男
前やのに、なんでや!(あの野郎の足を引っ張ってやる!!)」)
0509デフォルトの名無しさんNGNG
あまりにもタイマーにこだわっているもので、
ごめんなさい。
spawnすればいいな。
0510デフォルトの名無しさんNGNG
VBのタイマーは、割り込みではないから再入処理は考えなくても可。
コードの実行中には、タイマーは起動すらしません。

リアルタイム処理をやりたい場合は、Interval値を少なめにしておいて、
(たとえばInterval=10)
以下のように自前で実行タイミングを管理すればOK。


'一秒に1回の割合で動く処理の場合
Sub Timer1_Timer()
  Static Old as String

  If Time$ <> Old Then
    Old = Time$
    'ここに目的の処理を書く
  End If
End Sub
0511デフォルトの名無しさんNGNG
>>510
いや、途中でdoeventしたときのお話。
0512デフォルトの名無しさんNGNG
IEみたいな移動できるツールバーってできないんですか?
どなたかお願いします
0513デフォルトの名無しさんNGNG
>>512
こもんこんとろーるず-3のCoolBarのことですか?
0514デフォルトの名無しさんNGNG
>513
どうもありがとうございます
でも使い方が
0515デフォルトの名無しさんNGNG
Google逝k
0516デフォルトの名無しさんNGNG
"aaa + bbb" と言う文字列入力に対して、
変数aaaと変数bbbを合計した数値を出力する方法は無いでしょうか?
ただし、変数名(aaaやbbb)は、
別途に初期化された内、どの変数が指定されてくるか判らないとして。
(aaa + ccc とかもありえる)
よろしくお願いします。
0517デフォルトの名無しさんNGNG
>>516
よく分からないが、別途サブルーチン作って引数として渡せばいいんじゃん?
0518デフォルトの名無しさんNGNG
>>516
直接可能なやり方は知らぬが。
CallByName と Property を使って誤魔化せるかな
めんどくさいが。
0519デフォルトの名無しさんNGNG
>>516
文字列がかならずaaa+bbbという7文字で、さらに数字部分が001のような3桁表示と決まってるなら、Left関数とRight関数を使って、左から3文字、右から3文字抜き出すのが一番簡単だ。
0520516NGNG
レスありがとうございます。

>>517
そうです。引数などで渡して、その内容を判別させたいのです

>>518
CallByName・・
どうするにしてもクラスとかを一つ作ってからかぁ、たしかにめんどそうですねぇ
使った事無いのでてさぐりですが。

>>519
いえ、aaaなどは数字では無く、
正に英字の"aaa"などの文字列が来ます。
それを読み、aaaならば、
実際にプログラム内に持ってる変数「aaa」の内容を参照して……
とかしたいので、文字列とを内部変数と結びつける・・というかなんというか、そういう風なやり方知りませんでしょうか?


やはり、変数名を決めて、全てのパターンでif〜とかしかないんでしょうか・・
0521デフォルトの名無しさんNGNG
というか、そんな仕様でいいのかと。
0522ひきプロNGNG
>>520
type VAR_T
  name as string
  var as long
end type
みたいな構造体を作って、
Dim a(100) as VAR_T
で変数作成、実際にいじる時はループでnameを探すとか
■ このスレッドは過去ログ倉庫に格納されています