VBプログラマ質問スレ(6.0以前) Part51
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2007/01/28(日) 10:57:31質問者は使用しているOS、VBのバージョン、サービスパックのバージョン、
「何がしたくて、どうしたけど、どう困っているのか」を明確に書きましょう。
VB.NETは別物なので専門スレで、VBA、APIの質問もそれぞれのスレで。
○ 質問者の心得
一.質問する前にMSDNやGoogle、過去ログにも目を通してみる。
二.VBScript、インストーラーなどはこのスレでOK。
三.質問は第三者にもわかりやすいよう簡潔かつ具体的に。
四.荒らしは相手しない。
○ 回答者の心得
一.答えられない質問は無駄に罵倒せずスルー。無理するな。
二.代用法を強制しない。
三.回答する上で必須ではない情報をむやみに聞き返さない。
四.荒らしは相手しない。
五.VB情報募集中。
六.回答は質問者が理解できるよう具体的に。
MSDN Online Japan ホーム
http://www.microsoft.com/japan/msdn/default.asp
Visual Studio 6.0 Service Pack 6
http://msdn.microsoft.com/vstudio/downloads/updates/sp/vs6/sp6/default.aspx
http://www.google.co.jp/
※「まず自分で調べる」クセを身につけよう。
0116デフォルトの名無しさん
2007/02/12(月) 15:40:25その文章では君が何をしたいのか、誰にも伝わらないと思う。
0117デフォルトの名無しさん
2007/02/12(月) 15:51:03CDateはロケール依存だから、
ロケールに依存せず解釈してくれる
日付リテラルである#(Month)/(Day)/(Year)#を使うか、
ロケールに準じた日付リテラルを使うしかない。
0118デフォルトの名無しさん
2007/02/12(月) 15:51:54つか、そもそも自作関数で取り回しているなら、
その方向性を維持した方が幸せになれる。
0119デフォルトの名無しさん
2007/02/12(月) 16:00:03サッパリわからん文章を自分の頭で勝手に補完して回答する奴はもっとオカシイと思う
0120デフォルトの名無しさん
2007/02/12(月) 17:50:350121デフォルトの名無しさん
2007/02/12(月) 18:21:17サッパリわかってないのは全体の数パーセントという落ちだよコレは
0122デフォルトの名無しさん
2007/02/12(月) 18:49:48一.答えられない質問は無駄に罵倒せずスルー。無理するな。
って書くやつ最近見ないな
そういってるやつに限って変な回答してそう
0123デフォルトの名無しさん
2007/02/12(月) 20:54:17csvファイルのA、B、C、D、E、F、G列の各最大値、最小値、平均値を
抜き出して新しいcsvファイルに
A列の最大値、最小値、平均値、B列の最大値、最小値、平均値、C列の最大値、最小値、平均値、D列の・・・・・・
というように書き出したいのですが、どうすればいいでしょうか?
よろしくお願いします
0124デフォルトの名無しさん
2007/02/12(月) 22:15:12別に煽りじゃなく、それを実現するコードを書く、としか言いようがないと思うけど。
0125123
2007/02/12(月) 22:20:48最大値、最小値、平均値の求め方が聞きたかったのですが・・・
どうすればいいのでしょうか?
0126デフォルトの名無しさん
2007/02/12(月) 22:36:12で、その「自分でやったこと」を「コンピュータにやらせる」ことを考えてみれば?
0127デフォルトの名無しさん
2007/02/12(月) 22:46:32少なくとも小学6年生の俺は間違いなく平均値の出し方知ってたw
0128123
2007/02/12(月) 22:51:14そこまで簡単に言うのならソース書いてくれないですかね?
0129デフォルトの名無しさん
2007/02/12(月) 23:18:01| ノ\ ヽ |
/ ●゛ ● | |
| ∪ ( _●_) ミ j
彡、 |∪| | J
/ ∩ノ ⊃ ヽ
( \ / _ノ | |
.\ “ /__| |
\ /___ /
0130デフォルトの名無しさん
2007/02/12(月) 23:22:38|
∩___∩ |
| ノ _, ,_ ヽ (( | プラプラ
/ ● ● | (=)
| ( _●_) ミ _ (⌒) J ))
彡、 |∪| ノ
⊂⌒ヽ / ヽノ ヽ /⌒つ
\ ヽ / ヽ /
\_,,ノ |、_ノ
0131デフォルトの名無しさん
2007/02/12(月) 23:41:13誰かお願いします。
0132デフォルトの名無しさん
2007/02/12(月) 23:45:22>126
0133Hough
2007/02/13(火) 00:59:320134デフォルトの名無しさん
2007/02/13(火) 02:02:320135デフォルトの名無しさん
2007/02/13(火) 05:49:510136デフォルトの名無しさん
2007/02/13(火) 11:04:180137デフォルトの名無しさん
2007/02/14(水) 01:02:090138デフォルトの名無しさん
2007/02/14(水) 14:18:54VB6でCollectionを使っているのですが、関数の戻り値として複数のCollectin値を
受け取るにはどのようにしたらよいのでしょう。
一つだけなら出来るんですが、二つ以上の書き方がわからなくて困ってます。
ぐぐってはみたのですが、思うようなサンプル等も見あたら無くって。
0139デフォルトの名無しさん
2007/02/14(水) 14:28:25現在VB6.0+Accessで開発しているのですが。
VBで名前を入力すると自動的にふりがなも入力されるような処理を実現しようとしてるのですが、うまくいかなく困っています。
Accessのふりがな機能を使ってみたのですが、VB側から書き込むとふりがなが入りませんでした。
わかる方がいらっしゃったらお願いします。
0140デフォルトの名無しさん
2007/02/14(水) 14:28:44CollectionのItemにコレクションをAddするとか
Private Hoge() AS Collection()
という配列の関数にするとか。
漏れは前者がお勧め。
0141デフォルトの名無しさん
2007/02/14(水) 14:36:37Collectionの値をCollectionにするんですか。
なるほど、ありがとうございます。さっそくやってみます。感謝!
0142デフォルトの名無しさん
2007/02/14(水) 14:48:41出来ました。
ありがとうございました。
0143デフォルトの名無しさん
2007/02/14(水) 14:53:25ん〜・・・、入れたいデータの種類や数が決まってるのなら、
Collectionなんかにするより専用のクラス作ったほうが
処理も早いし、消費メモリーも少なくて済むし
コードの分かりやすさ的にも優れてるんじゃないだろうか
クラスの作り方わかんねってんならPublicで使いたいデータ分、変数宣言しとけということで
0144デフォルトの名無しさん
2007/02/14(水) 15:03:21まだクラスにまでたどり着けない初心者です><
最初はtypeで宣言してたんですけど、削除や挿入がめんどうで。。。
おいおい勉強しますorz
0145デフォルトの名無しさん
2007/02/14(水) 15:54:11ちょっと古畑のかほりがしたw
0146デフォルトの名無しさん
2007/02/14(水) 23:19:06ん〜 だけじゃねぇかw
0147デフォルトの名無しさん
2007/02/15(木) 17:43:38は何を入れたらいいのですか?
0148デフォルトの名無しさん
2007/02/15(木) 19:47:36例えば
携帯
充電
二つの項目があり現状はどちらか一方しか選べないんですがこれを
CTRLキーを押して二つ選択したいのですがどうしたらいいのかわかりません
どなたかわかる方いらっしゃいましたら教えていただけますか
お願いします
0149C ◆wG1CV58ydQ
2007/02/15(木) 20:04:07例: float CTRL;
このように。
0150デフォルトの名無しさん
2007/02/15(木) 20:56:16Declare Function JChrType% Lib "QPRO300.DLL" (Source$, ByVal X%)
このように宣言してあるJChrTypeを呼ぼうとするとQPRO300.DLLが見つかりませんと
エラーメッセージがでます。
QPRO300.DLLはc:\winnt\systemの下にあって、VB4のほうでは問題なく動いています。
・QPRO300.DLLをsystem32にコピーする。
・QPRO300.DLLをカレントディレクトリ(vbpファイルのあるディレクトリ)にコピーする
・Declare Function JChrType% Lib "c:\winnt\system\QPRO300.DLL"
(Source$, ByVal X%)
とフルパスで指定する
・Declare Function JChrType% Lib "QPRO300" (Source$, ByVal X%)
と.DLLをとる
と試してみましたが、どれもダメでした。
どうすればVB6がDLLを見つけられるようにできますか?
0151デフォルトの名無しさん
2007/02/15(木) 22:44:420152デフォルトの名無しさん
2007/02/15(木) 22:51:08そうかもしれませんけど、エラーメッセージが「みつかりません」だから、
文字通り見つからないのかな、と。
やっぱり16bitDLLだから読めない→見えない→見つからないってことでしょうかね。
0153デフォルトの名無しさん
2007/02/16(金) 11:22:49その中から名前に”東”が付く人の名前だけを、
自動的にVBで作ったラベルに、アイウエオ順に入れていかなければなりません。
(ラベルは100個作ってあります)
どのような方法がありますか?
0154デフォルトの名無しさん
2007/02/16(金) 12:21:430155デフォルトの名無しさん
2007/02/16(金) 12:33:50dim wrstwrk as Recordset
wstrsql = "SELECT * FROM MSTJUSYO WHERE NAME = '" & 東 & "'"
Set wrstwrk = gConnDB.OpenRecordset(wstrsql, dbOpenDynaset)
こんな感じでデーターベースにアクセスするんだと思います。
この続きが分からなくて・・・
お願いします。
0156デフォルトの名無しさん
2007/02/16(金) 12:58:57おまww
ttp://www.accessclub.jp/dao/index.html
コレでも見て来い
0157デフォルトの名無しさん
2007/02/16(金) 13:28:11ありがとう
すんげー助かりました
0158デフォルトの名無しさん
2007/02/16(金) 13:28:14Dim obj As Class
Set obj = New Class
If obj <> Null Then
Debug.Print "success!!!"
End If
End Sub
こんな感じのことがやりたいんだけど、Newに失敗したのはどうやって検出すればいいのでしょうか?
obj <> Nullのところでエラーが出ます。
0159デフォルトの名無しさん
2007/02/16(金) 15:24:390160デフォルトの名無しさん
2007/02/16(金) 16:37:58サンクスコ
0161デフォルトの名無しさん
2007/02/16(金) 18:26:37オプションボタンをグラフィックにして使っているのですが、
ダイアログの大きさを変えたときに(最大、最小化含む)
ほんの少し、一番下の影の部分だけ再描画されていないのか、
黒い点などが表示されてしまいます。
デスクトップの壁紙が青かったりすると
青いスジが出たりします。
これを解決する方法はありませんでしょうか。
Resizeの最後でオプションボタンすべてをRefreshしましたがだめでした。
0162デフォルトの名無しさん
2007/02/16(金) 18:36:18他のハードウェア構成のPCでも同じ事が起こるかチェックしました?
0163デフォルトの名無しさん
2007/02/16(金) 18:50:15していません。確認してみます。
0164161
2007/02/16(金) 19:32:09一応、他のPCでも同じ状況は起こりました。
ちょっと前のバージョンではこの現象がみられなかったので
相違点を洗い出しながらチェックしました。
オプションボタンの位置をResizeで可変にしてあって、
オプションボタンのTopの計算をいじったら直りました・・・
なんでだろう・・・
とりあえずありがとうございました・・・
0165デフォルトの名無しさん
2007/02/16(金) 23:42:45Loadの逆はUnload、Visible = Trueの逆はVisible = Falseですが
ではShowの反対は何ですか
0166デフォルトの名無しさん
2007/02/16(金) 23:59:150167デフォルトの名無しさん
2007/02/16(金) 23:59:34Hide
0168デフォルトの名無しさん
2007/02/17(土) 00:00:04カッコワルス。
0169デフォルトの名無しさん
2007/02/17(土) 00:06:220170デフォルトの名無しさん
2007/02/17(土) 00:07:57俺様が見ている間なら即座に返答をやろう
0171デフォルトの名無しさん
2007/02/17(土) 00:19:05MSDNライブラリで全部みても5分かからないよw
っていうか、メソッドのリスト見るだけでも語感で普通わかる。
0172デフォルトの名無しさん
2007/02/17(土) 00:21:580173デフォルトの名無しさん
2007/02/17(土) 00:24:32プログラミングどころか、日本語の読解能力ももとるなんて、他人ながら哀れだよ
>>172
0174デフォルトの名無しさん
2007/02/17(土) 00:32:29ここに来る方は感性の優れたエリート達ですか?
あなたが他人に伝わるように書けばいいだけの話さ。
0175デフォルトの名無しさん
2007/02/17(土) 00:35:54回答するのもVB厨、たかが知れてる。俺を除いてな。
0176デフォルトの名無しさん
2007/02/17(土) 00:45:16結局質問なしか
0177デフォルトの名無しさん
2007/02/17(土) 11:58:51このゲームにあるような制限時間のバーのようなものを作りたいんですが
分かる人いますか?
あとデジタルタイマーみたいな
20:00から段々減ってくようなタイマーの作り方も分かる人いたら
教えて下さい
0178177
2007/02/17(土) 11:59:43よろしくお願いします
0179デフォルトの名無しさん
2007/02/17(土) 12:10:09>制限時間のバー
プログレッシブバーでググれ
>20:00
タイマー貼って値を-1していく
20:00→19:59
19:59→19:57
…
19:00→18:59
となるようなロジックつくればおk
0180デフォルトの名無しさん
2007/02/17(土) 12:20:46作れるの?
やり方分かる人いたら教えて
0181デフォルトの名無しさん
2007/02/17(土) 12:22:25KeyPreviewプロパティ
KeyPressイベント
0182180
2007/02/17(土) 12:26:40画面を左右に分けて
左側にタイプさせたい文字を表示
右側にそれをタイプさせていき、打ち間違えがあったら
そこが検出できるようなものを作りたいんですが
そのようなものの作り方はわかりますか?
0183デフォルトの名無しさん
2007/02/17(土) 12:31:47コントロールの使い方がわからないとかなら説明するが
プログラミングの醍醐味であるコードを俺がかいてもしょうがないし。
ヒント?
テキストボックスに入力させて、入力時にChangeイベントを発生させるとか
KeyPressイベントで文字一致を確認させるとか
方法はたくさんある
0184180
2007/02/17(土) 12:37:23試行錯誤しながら考えてみます
0185デフォルトの名無しさん
2007/02/17(土) 13:13:15>読解能力ももとるなんて
「おとる」のtypoなのか、「もとる」の誤用なのか
気になって夜も眠れません。
0186デフォルトの名無しさん
2007/02/17(土) 13:15:010187デフォルトの名無しさん
2007/02/17(土) 14:39:460188デフォルトの名無しさん
2007/02/18(日) 17:03:31VB6.0で3Dグラフを描画するのに適した
フリーのコンポーネントって何がありますか?
目的としては、縦100点×横100点前後の微妙にデコボコしている
矩形の素材を、立体的に表示し視覚的に認識することです。
MSChartだと綺麗に表示できなかったり、プロット数が多く
なると時間がかかってしまい困っています。
0189デフォルトの名無しさん
2007/02/18(日) 17:18:170190デフォルトの名無しさん
2007/02/18(日) 20:12:57クラスごとAddするとクラス内の値は変更できる
なんで?
クラスのアドレスを参照してるから?
0191デフォルトの名無しさん
2007/02/18(日) 20:29:470192180
2007/02/18(日) 20:42:12作り方が全く分かりません・・・
どなたか作り方分かる人いませんか?
例えば残り30分からスタートしてゲージが段々減っていくような
感じのものを作りたいんですが
0193デフォルトの名無しさん
2007/02/18(日) 21:58:16値を変更出来ないのは、クラスの場合も一緒でしょ。
クラスを格納しても、コレクションにとっての値であるクラスそのものを
別のクラスに変更することは出来ず、ただ割り当てたキーでそのクラスを返すだけ。
そして返されたクラスは、クラスとして当たり前の操作が出来る。
グローバルなモジュールレベル変数やLetプロパティを用意していれば、
当たり前にその値の変更が出来る。ただそれだけのこと。
0194デフォルトの名無しさん
2007/02/18(日) 22:22:10>クラスのアドレスを参照してるから?
それで正解。
コレクションが保持してるのはクラスのインスタンスアドレスであって
メンバ変数の値を保持してる訳ではない。
だからAdd元のクラスのメンバ変数の値を変更すると
コレクションからとり出したクラスも同じアドレスを参照しているので
メンバ変数の値が変更されたように見える。
0195デフォルトの名無しさん
2007/02/18(日) 23:31:29そのゲームにあるような滑らかなゲージが欲しいなら
ピクチャーボックスを配置してLineメソッドでお絵かきしましょう
0196180
2007/02/18(日) 23:49:12中のソースはどのようにすればいいんですか?
VB初めてまだ数日で基礎の基礎もよく分かってない
状態なんで、ホントすいません・・・
0197デフォルトの名無しさん
2007/02/19(月) 00:01:07プログラマってのは、初心者であっても自分でコードを書く奴のことで
間違っても物乞いソース収集屋のことじゃないぞ
0198デフォルトの名無しさん
2007/02/19(月) 00:08:02初めにフォームとピクチャーボックスのScaleModeをピクセルにしておく
座標X=0、Y=0から座標X=10、Y=10を対角線とする長方形を黒で中身を塗りつぶして描く
Picture1.Line (0, 0)-(10, 10), vbBlack, BF
あとはMSDN見て頑張って
0199デフォルトの名無しさん
2007/02/19(月) 00:19:58これから沈んでく泥舟なんだぞw
0200デフォルトの名無しさん
2007/02/19(月) 00:42:470201デフォルトの名無しさん
2007/02/19(月) 05:19:25つうかいまさら6.0憶えてどーするんだよw
0202デフォルトの名無しさん
2007/02/19(月) 09:05:280203デフォルトの名無しさん
2007/02/19(月) 09:11:020204デフォルトの名無しさん
2007/02/19(月) 09:12:32m9(^Д^)プギャー
0205190
2007/02/19(月) 09:19:40ありがとうございます。勉強になりました。
(質問の日本語が変でスイマセン。)
やはりコレクションでAddするのはクラスのアドレスだけで、
クラスメンバは別なんですね。
昔から気になってたので、一つ謎が解けました。ありがとう
0206デフォルトの名無しさん
2007/02/19(月) 09:34:560207デフォルトの名無しさん
2007/02/19(月) 16:48:38RichTextボックスに
Call RichTextBox.OLEObjects.Add(, , App.Path & "\pic.bmp")
でビットマップを貼り付けると、裏でmspaint.exeが起動しちゃうんですけど、、、
mspaint.exeの起動を抑制する方法ってあります???
0209デフォルトの名無しさん
2007/02/19(月) 20:58:56別のオブジェクト(IE)とかを貼り付けたらどうだろう?
うろ覚えですまん。
0210デフォルトの名無しさん
2007/02/19(月) 21:03:02ObjPtr
StrPtr
VarPtr
今時VB使うならこの辺は必須だろ
0211デフォルトの名無しさん
2007/02/19(月) 21:09:43俺なら自分でそういうクラスを作るね。
内部実装がブラックボックスのVBでそんなもん怖くて使えるかよ。
これがまともなPGの感覚だと思うけど
0212デフォルトの名無しさん
2007/02/19(月) 21:17:08どこかのサイトで「バイナリを開いたらユーザー名がわかる」っていうのを見た気がするんですが、
自分で開くとプロジェクト名やモジュールは見つかりましたが、ユーザー名はのってませんでした。
アプリ公開するなら、再インストールしてユーザー名変えてからのほうがいいですか?
ネイティブコンパイルなら大丈夫ですか・・?
0213デフォルトの名無しさん
2007/02/19(月) 21:34:350214デフォルトの名無しさん
2007/02/19(月) 21:43:12アプリがずっと後まで残ることを考えたら、やっぱり恥ずかしいのもありますし。
友人ならいいけど、知らないところで詩子の名前が調べられて広まったらやっぱり嫌なので。。。
0215デフォルトの名無しさん
2007/02/19(月) 22:49:56■ このスレッドは過去ログ倉庫に格納されています