(*´д`*)アハァ… 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。
0263デフォルトの名無しさん
NGNGお前が「トイレでブツがぼっとん」しても
俺には「はねかえり」を感知できない。
よってそれはイベントではない。
0264デフォルトの名無しさん
NGNGオブジェクトでクライアントに有益な事象が発生したときに、クラスからクライアントへ通知する方法のこと
0265デフォルトの名無しさん
NGNG0266デフォルトの名無しさん
NGNG0267デフォルトの名無しさん
NGNGアキュームレータがインクリメントされるのもイベントが?
0268デフォルトの名無しさん
NGNG0270デフォルトの名無しさん
NGNG0271253
NGNGある単語(例えば「opendata」)という言葉から
あるアルファベット(例えば「o、a」)の数の合計を数えるプログラムってどうすればいいんですか?
本当2回もすみません!!
0272デフォルトの名無しさん
NGNG0273デフォルトの名無しさん
NGNGあなたの近くに何十人もわかる人がいるが、回答者は、自分以外の誰かが答えるだろうと思って自分では回答を見合わせている状態なのだ。
0274デフォルトの名無しさん
NGNG本当簡単な質問ですみません
独学でプログラム作り始めたんですけど
参考書のここまでのってなく詰まってしまって…
0276デフォルトの名無しさん
NGNG>FSOはノートンに実行許可を与えないと使えないぜ。
というのは、VB6.0で作った標準EXEの中で
FSO使うのもダメですか?
それともVBSの話でしょうか?
0277232
NGNGコンパイル後のexeファイルに関しては、
exeのバイナリパターンをノートンが危険だと感じたときだけ反応する。
vbsなんかだと
Dim FS
Set FS = CreateObject("Scripting.FileSystemObject")
FS.deletefile "aaa.txt"
これだけで警告画面が出ちゃうけど、
スクリプトでなくコンパイルしたファイルシステムオブジェクトならよっぽどのプログラム以外は反応しない。
何しろ頻繁に反応するのはノートンのオプションのスクリプト遮断機能だからコンパイルしたファイルは
DeleteFileメソッド程度では反応しない。
0278デフォルトの名無しさん
NGNG'Len関数をつかって単語の文字数を求める Len("opendata") = 8 この8を単語内の一文字ずつを比較するときのループプログラムで使う。
'o p e n d a t a
'のそれぞれの文字がoまたはaに一致するかどうかを比較する。
Dim i As Integer 'ループカウンタ
Dim n As Integer 'opendataに含まれているoとaの合計数
Dim S As String '一時的に文字を入れておく文字用変数
'Mid関数で一文字ずつ取り出していく。
'Mid("opendata",a,b)というのはopendataのa文字目からb文字取り出すという意味。
'だからMid("opendata",1,1)はopendataの1文字目から1文字だけ取り出すという意味で、1文字目から1文字目だけ取り出すとそれはoという文字になる。
'したがってS=Mid("opendata",1,1)となっているときは文字列変数Sにはoという文字が入っている。
'変数Sがoまたはaであるかどうかは
'If UCase(S)="o" or UCase(S)="a" then
'n=n+1
'End if
'のようにIF文を使って文字が同じかどうかを比較する。
'LCaseは大文字を小文字に変換する関数で、OpenDataというような大文字小文字が混じっている場合に対処する。
'大文字のAと小文字のaは違うものだからだ。
'大文字小文字の区別をつけたいときはLCace関数やUCase関数は使わないようにする。全角文字対処については省略。
For i = 1 To Len("opendata")
S = Mid("opendata", i, 1)
If LCase(S) = "o" Or LCase(S) = "a" Then
n = n + 1
End If
Next
Form1.Caption = n
'この方法のほかにInStr関数を使ったり正規表現を使ったりする方法がある。
0279276
NGNG返答どうもありがとうございます。
これで安心して寝れます。
(ちょうど最近仕事で、FSOを使ったプログラムを書いたので。)
0281105
NGNGWinsock.dllのAPIをコールする必要があるということですね。
それがわかっただけでも大収穫です。ありがとうございました。
0284デフォルトの名無しさん
NGNGVB6.0のData Reportですが自分のマシンでレポート込みのEXEを作成し
配布しようとした所別のマシン(VBはインストールされていません)で
「実行時エラー713
アプリケーション定義、またはオブジェクト定義のエラーです。」
と表示されたのですが、
Runtimeか何かをインストールしなくてはいけないのでしょうか。
すみませんが教えて頂けないでしょうか。
0285デフォルトの名無しさん
NGNG初心者は余計。
ちゃんとディストリビューションウィザードとか使ってセットアップした?
EXEだけ持っていっても、そりゃ動かんよ。
0286デフォルトの名無しさん
NGNGEnableWindowってのだとキーボードもだめになっちまう
0287デフォルトの名無しさん
NGNGサブクラス化でマウス関係のメッセージを全部握りつぶす
0289デフォルトの名無しさん
NGNGそれでできると思ってたなら最初から手間を惜しまずに書きんさい。
無駄な解答しなくて済むから。
0291デフォルトの名無しさん
NGNGスクリーンセーバアみたいにマウスポインタ消す。じゃだめかな
0292デフォルトの名無しさん
NGNGマウスを抜け
0295284
NGNGありがとうございます!試してみます。
0296デフォルトの名無しさん
NGNG0297デフォルトの名無しさん
NGNG0298デフォルトの名無しさん
NGNG「パブリックオブジェクトモジュールで定義されたパブリックユーザー定義型に限り、
クラスモジュール内のパブリックプロシージャの引数または戻り値、
またはパブリックユーザー定義型の要素として使用することができます。」と
エラーメッセージが出てしまいました。
今は標準モジュール内にPublicで構造体を定義しているのですが、
クラス内に定義しても
「プライベートオブジェクトモジュール内ではパブリックのユーザー定義型は
定義できません」
とエラーが出てしまいます。
クラスのPublicなプロシージャの引数に構造体を使うのは無理なのでしょうか?
0299デフォルトの名無しさん
NGNG標準モジュールのOption Explicitのすぐ下あたりに記述してみ
0300デフォルトの名無しさん
NGNGActiveXのパブリッククラスに記述してみ
0301デフォルトの名無しさん
NGNGFriendキーワードを調べよ。
0302298
NGNG今現在その状態でした。
「プライベートオブジェクトモジュール内ではパブリックのユーザー定義型は
定義できません」 のエラーが出てしまいます。
>>300
プロジェクトのタイプをActiveX EXE、クラスをPublicにして、
スタートモードを独立型にしたらエラーが出なくなりました。
ありがとうございました。
0304304
NGNG0305デフォルトの名無しさん
NGNG1.適当なフォルダにあるEXEファイルを右クリック→[スタート]メニューにアイコンを追加を選択
2.先ほどのEXEファイルがあるフォルダ自身の名前を変更する
3.スタートメニューを開いて上記の手順で追加したリンクを右クリック→プロパティを選択
4.無効なリンクになっているので、[変更]ボタンを押す
5.該当ファイルの変更後の正しい場所を指定する
6.・・・なにぃ!!
感想きぼんぬ
※ 一人でニヤニヤした後は設定を元に戻しておきましょう
0306デフォルトの名無しさん
NGNG試すのめんどくさい。
オチだけ教えて。
0307デフォルトの名無しさん
NGNG0308デフォルトの名無しさん
NGNG頭が痛くなってくるな
0309デフォルトの名無しさん
NGNGできますでしょうか?
もしできるなら参考になりそうなHPを知ってたら教えていただけないでしょうか?
0310ひきプロ
NGNGhttp://www.roy.hi-ho.ne.jp/mutaguchi/wsh/refer/lesson15.htm
こういうのはどうでしょ
0311309
NGNGありがとうございまーす。勉強してみます。
0312デフォルトの名無しさん
NGNG友達のいないオレにどうしろと?
0313デフォルトの名無しさん
NGNGMSDNには
「フォーム モジュールで引数をユーザー定義型として渡す場合、引数を渡されるプロシージャはプライベートである必要があります。」
とかいてあります。
この場合皆さんどうされますか?
1.ユーザー定義型をパブリックにしてしまう。
2.標準モジュールから呼ぶのをあきらめて、ユーザー定義型をフォーム内でモジュールレベルOrローカルレベルで定義し、フォーム内からそのプロシジャーを呼び出す。
3.ほかに方法があるぞこら!教えてやるよしかたねぇなぁ
どれですか?
0314デフォルトの名無しさん
NGNGクラスを使う
0315デフォルトの名無しさん
NGNGな・・・なるほど・・・・。
しかしユーザー定義型は何でこういう制限があるのだろうか・・・。
ユーザー定義型の使うところがなくなる・・・。
0316デフォルトの名無しさん
NGNGちょっと前にFriendって話が出てる訳なのだが。
0317デフォルトの名無しさん
NGNGCOM絡みだと思う。ユーザー定義型は特殊な型だからね。
ちなみにクラスはすべてオブジェクト型
0318デフォルトの名無しさん
NGNGいや、あれはクラスにユーザー定義型が渡せないっていってるんでしょ?
私がいってるのはフォームにユーザー定義型が渡せないといってる。
MSDNに書いてある制限だ。
MSDNには
「フォーム モジュールで引数をユーザー定義型として渡す場合、引数を渡されるプロシージャはプライベートである必要があります。」
って書いてるんだぞ?
フレンド使えるなんてどこに書いてる?「フォームは一種のクラスみたいなもんだ」見たいな中途な知識でいってるんじゃないのか?
ああ?ああ?ああ?
>317
それはCの構造体とも若干違うところがあるからということでしょうか・・・。
0319デフォルトの名無しさん
NGNG極普通の知識じゃん。
0320デフォルトの名無しさん
NGNGそこにフォーム内のプロシジャーにユーザー定義型を渡させないという知識がないから>316の発言になる
これが中途な知識からくる>316の発言ということだろ?
文章読解能力乏しいやつがいるな。
しったか君もいるしw
とんだ大恥かいちゃったなw
0321デフォルトの名無しさん
NGNGクリスタルレポート7を使ってレポート印刷しているのですが
mdb形式のODEC接続から、SQLServerのADO接続に変更
する際、できるだけクリスタルレポート自体はさわらずに
VBのソース内で変更する方法はあるのでしょうか?
今とりあえず
CReport1.Connect = "DSN=" & DBNAME & ";UID=" & USER & ";PWD=" & PASS
で接続はできてるようなんですが、クエリの抽出結果のレコードセットなどは
当然ながら反映されていません。
Datasourceを使ってみましたが、うまくいきませんでした。
どうすれば変更できるでしょうか?
0322デフォルトの名無しさん
NGNGレポート側変えないと無理かと。
0323309
NGNG0324デフォルトの名無しさん
NGNGコンボボックスはHTMLタグでつくり、コンボボックスの内容はVBScriptで出力できる。
0325309
NGNGわかりやした。ども。
0326デフォルトの名無しさん
NGNGここにも貼ってるのか。
↓解決法
http://pc2.2ch.net/test/read.cgi/win/1043764586/l50
0327デフォルトの名無しさん
NGNG一応、APIのMessageBoxA の第1引数(HWnd)をゼロにしたら、それっぽいように
見えるのですが、なんかインチキくさくて正しいコーディングとは思えないし、
常に最前面に表示させることができず、オーナーWindow(メモ帳です)をクリック
すると背後に隠れてしまいます。
0328デフォルトの名無しさん
NGNG補足です。イメージとしては、メモ帳の「検索」画面のような感じです。
要するに、常にオーナーWindowの前面に表示されるが、表示されている
間もオーナーの操作は可能・・・。
0329デフォルトの名無しさん
NGNG宛先と標題が記入済みの状態で起動できますが、本文にもテンプレートを初期値で
設定した状態で起動することは可能でしょうか?
特定のメーラ(OEとか)限定なら、SendMessageを駆使してできそうな気もするんです
が、「どのメールソフトでも」対応できる方法が可能かどうかわかりません。
ご存知の方、コメントください。
0330デフォルトの名無しさん
NGNG独自のフォームでいいの?
それなら、
Form2.Show , Form1
みたいな感じでok。Form2は常にForm1より前面に表示されるはず。
MsgBoxでやる方法はシラネ。
MessageBoxのhWnd=NULLで問題無しならそれでいいんじゃない?
0331ひきプロ
NGNGhttp://www5e.biglobe.ne.jp/~access_r/hp/html/html_016.html
どうでしょか?OEならできそうな予感
0332デフォルトの名無しさん
NGNGOEならbodyでできるね。
でも、Shellでできたっけ? APIのShellExecuteじゃないと駄目じゃない?
0334デフォルトの名無しさん
NGNGShell "start mailto:Address?Subject=Title"
で動いたかも
0335デフォルトの名無しさん
NGNGでファイルは開けるわけ?
0336デフォルトの名無しさん
NGNG0337あ
NGNG半年前から仕事場で使い出した。
こっからどう話しが展開するの?
0338デフォルトの名無しさん
NGNGひらかない
0339316
NGNGたしかにMSDNには
「フォーム モジュールで引数をユーザー定義型として渡す場合、引数を渡される
プロシージャはプライベートである必要があります。」
と書いてあるが、
「Friendであってはいけません」
と書いてはいない。
で、「フォームは一種のクラスみたいなもん」ではなく、明確にクラスだよ。
当然、Friendでプロシージャを定義することも出来る。
俺が中途半端な知識で物を言っているかどうか、試してみればすぐに分かるだろうに・・・
0341329
NGNGコメントありがとうございます。
自アプリではなく、外部アプリ(メモ帳)をオーナーとするメッセージボックスを
出したいのです。(しかも、事情があって、VBではなく、AccessのVBAで)
>>331-332
ありがとうございます。後で調べてみます。(結果は後日・・・)
>>334
9x系ならそれで正解。
NT系ではStartコマンドが内部コマンドなので、
Shell(Environ("ComSpec") & " /C mailto:Address?Subject=Title", vbHide)
としないといけません。
0342329
NGNGブラウザの A href ........ タグからは起動できるんですが、Shellからだと、
body以下を有効なコマンドとして認識しないようです。
(メールソフトは起動するが、本文が入らない)
でも、タグで実行できるなら、何か別の方法がありそう。
土日にでもゆっくり考えて見ます。
0343デフォルトの名無しさん
NGNGテキストボックスにH2O等の化学記号の数字を小さくし入力、
表示させる事は可能でしょうか?
簡単に出来そうで難しいのですが・・・。
0344デフォルトの名無しさん
NGNGテキストボックスだと普通は無理
小さい文字を表示できるフォントを使うか
リッチテキストあたりをつかえ
0345デフォルトの名無しさん
NGNGありがとうございます。
0348デフォルトの名無しさん
NGNG||
||
∧||∧
( / ⌒ヽ
| | |
∪ / ノ
| ||
∪∪
0349デフォルトの名無しさん
NGNG0350デフォルトの名無しさん
NGNG友達。
0351デフォルトの名無しさん
NGNGここ↓を読めばわかるかも(w
ttp://www.hyuki.com/dp/cat_Memento.html
0352デフォルトの名無しさん
NGNG幼児にチェーンソーを持たせるような感覚だ。
0353デフォルトの名無しさん
NGNG0354デフォルトの名無しさん
NGNG幼児である率は高い。
0355デフォルトの名無しさん
NGNG説明なしにいつまでもチェーンソーを取り上げること。
ナイフはキケンだからと取りあげナイフを使えない子供を
育てる親にならないようにしよう。
0356デフォルトの名無しさん
NGNG0357デフォルトの名無しさん
NGNGその通りだ。でも、多分腕なくなるぞ。初めはハサミから、次はカッターナイフと教え方にもいくつか方法があると思うんだ。
0358デフォルトの名無しさん
NGNGText3 = Text1 + Text2
このようにすると
123 + 456 = 123456
と言うように数値を足すのではなく、文字を繋ぎ合わせる形になってしまいます。
Text3 = Text1 * 1 + Text2 * 1
このように * や / を式の中に入れれば
123 + 456 = 579
とちゃんと計算してくれるのですが、+のみでやるにはどうすればいいでしょうか?
0359デフォルトの名無しさん
NGNG「型」について勉強。
0360デフォルトの名無しさん
NGNGその通りだ。だが単に取り上げるだけじゃいつまでも使えるようにはならない。
問題があるならまず何が問題かを説明し納得させ、一番良い方法を提示するのが一番大事だ。
自分の基準で決め、結論だけを言い、それに従わせようとする奴が多すぎる。
目標は使えるようになる事だということを忘れてはならない。
0361デフォルトの名無しさん
NGNGうむ、言いたいことはよくわかる。
>説明し納得させ
しかし、ここでの問題は物の切り方を尋ねる子供にチェーンソーを提示したと言うことではないだろうか?
刃物の特性を示すにはあまりにも強力で熟練を要する道具ではないか。
0362デフォルトの名無しさん
NGNG初心者には、まずはサブクラス化を習得させるべき、という結論でよろしいでつか?(禿違
■ このスレッドは過去ログ倉庫に格納されています