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

VBプログラマ質問スレ(6.0以前) Part51

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2007/01/28(日) 10:57:31
ここは Visual Basic 〜6.0 の質問スレです。
質問者は使用している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
Google
 http://www.google.co.jp/

※「まず自分で調べる」クセを身につけよう。
0449デフォルトの名無しさん2007/03/03(土) 20:50:23
>>448
お前さんいい加減にしといたほうがいいと思う
ここまで答えでてるんだし自分で考えるって事はしないわけ?

>>445でも言われてるけど自分で考えてわからに所をピンポイントで聞けばいいと思う
そんなんだからVB房は とか言われるんじゃね?

別にVBだからそういうわけじゃないけど確かに比率は多いと思う

これ以上はスレ違いになるから言わない
0450デフォルトの名無しさん2007/03/03(土) 20:50:47
>>448
いつもはCの宿題スレでROMってるオレは個々使ってる
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm?
0451黒幕2007/03/03(土) 21:40:04
質問者の言ってる意味は判らなかったが
>>446のソース見て初めて理解できた。

>テキストから読み込んで極大値を調べて…
これを一気にコードにして詰め込んでいくから、結局ごちゃごちゃになってわからなくなるわけ。
部分ぶぶんを理解しながら完成指せて、最後にまとめて合体とかしたほうがいいかもしれん。

>>428,429 の書いてあることは難しいかもしれないが、かなり重要なところなのでチェックしといたほうがいい
0452デフォルトの名無しさん2007/03/03(土) 21:55:34
みんなってもしかして一流のSE?
ずっと見てたけど普通にすごいんだけど
0453デフォルトの名無しさん2007/03/03(土) 22:00:38
そんなに凄い内容か…?

ちなみに俺は趣味レベルの四流PG。
質問をしたり答えたりすることで知識や能力になるから、見てる。
暇つぶしになるし。
0454デフォルトの名無しさん2007/03/03(土) 22:08:18
プログラマに流派と段位はないっす
0455デフォルトの名無しさん2007/03/03(土) 22:27:25
VBでアセンブラは使えるでしょうか?
インラインアセンブラがベストですが
何らかの方法でリンクする方法があればそれでもOKです
よろしくお願いします。
0456デフォルトの名無しさん2007/03/03(土) 22:30:55
一応vbcはオブジェクトファイル作るから、ゴリ押しすれば何とかなるかも。

・・・そういえば昔VBのソースコード中にCを埋め込めるアドインがあったよーな・・・
0457デフォルトの名無しさん2007/03/03(土) 22:33:59
>>456
vbcじゃなくてc2.exeだな

というか結構ムチャな話だな
0458デフォルトの名無しさん2007/03/03(土) 22:39:18
アセンブラでDLL作って呼ぶしかないとおもう
0459デフォルトの名無しさん2007/03/03(土) 22:45:31
>>456-458
わかりました。素直にDelphi使うことにします。
ありがとうございました。
0460デフォルトの名無しさん2007/03/03(土) 23:13:15
釣り・・・ですね。
04614352007/03/04(日) 00:09:40
なんとか教えていただいたものを元に自分の目的の処理ができるように
少し修正を加えて完成させることができました

明日の夜までに完成させなきゃいけないから焦ってて
色々聞いてしまってすいませんでした
アドバイス下さったみなさん本当にありがとうございます
自分で基礎をもっとしっかりさせて目的のコードを自力で
かけるようになるくらい頑張ります
0462デフォルトの名無しさん2007/03/04(日) 00:19:02
いつまで基礎やってんだよ
成長できないならやめてしまえ
0463デフォルトの名無しさん2007/03/04(日) 00:26:42
>>462
ひでぇ

基礎がしっかりできていればアプリは動く。
VBに応用など必要ない。


>>461
がんがれよ
判らんことがあれば遠慮せず戻って来い
0464デフォルトの名無しさん2007/03/04(日) 00:38:43
できない人間に続けさせるほうがひどいよ
0465デフォルトの名無しさん2007/03/04(日) 02:15:46
>>463
でも、この程度のロジックで頭悩ますってどんな応用力の無い職業PGなんだよwwww
所詮基礎の組み合わせが応用だけどさ、>>461とかあまりにもひどすぎないか?

あせってりゃ他人に仕事でじゃんじゃか質問して悩まなくていいのかよwww


と、PG兼SEの俺が職場で半泣きになりながら言ってみるテスツ
0466デフォルトの名無しさん2007/03/04(日) 02:18:51
>>明日の夜までに完成させなきゃいけない

宿題では、ないだろうか?
0467デフォルトの名無しさん2007/03/04(日) 03:47:26
どうみても学生です
0468デフォルトの名無しさん2007/03/04(日) 10:25:52
>>465
PGSE乙 おまい仕事に追われすぎ

学生にしてもひどい( ‘∀‘)ガナー
0469デフォルトの名無しさん2007/03/04(日) 10:45:42
>>465
発言から底がしれてるぞ。

今頃はお顔が真っ赤っかの学生。
0470デフォルトの名無しさん2007/03/04(日) 11:04:54
>>465
465のソース、コメントの書き方が汚そうで見たくないな
0471デフォルトの名無しさん2007/03/04(日) 12:26:12
>>465
おまえさん・・・きっと疲れてるんだよ
せめてもちついて文章くらい書けw
0472デフォルトの名無しさん2007/03/04(日) 21:27:37
すみません、プログラミング最近はじめた超初心者です。
変数と引数という言葉がよくわからずネットで調べて
なんとなく理解はできたのですが、まず変数として
データを一時的に記憶しておいて、そのあと処理する
ときに引数に受け渡して処理を実行する、
という考えは間違ってないですか?
0473デフォルトの名無しさん2007/03/04(日) 21:28:34
合ってるとは言い難いな
0474デフォルトの名無しさん2007/03/04(日) 21:30:30
>>473
どう間違ってるんですかね?
0475デフォルトの名無しさん2007/03/04(日) 21:31:17
>>472
まずはアセンブラから学ぶといい
CASLの練習問題でも探しなさい
0476デフォルトの名無しさん2007/03/04(日) 21:44:45
>>475
ありがとうございます。何しろはじめたばかりなのでアセンブラもCASLも
今はよくわかってないですがVBはそちらから勉強したほうがよいのですね!
勉強します!ありがとうございました
0477デフォルトの名無しさん2007/03/04(日) 21:44:58
>>472
変数は方程式のxとかyみたいなもん
引数はy=f(x)のxみたいなもん

0478デフォルトの名無しさん2007/03/04(日) 21:46:23
>>472
http://d.hatena.ne.jp/keyword/%CA%D1%BF%F4
http://d.hatena.ne.jp/keyword/%B0%FA%BF%F4
0479デフォルトの名無しさん2007/03/04(日) 21:49:12
>>474
流れ作業的に羅列している点と、引数に関する根本的な勘違い
それ以外は適当じゃないかと

・変数
 :データを記憶するもの
・引数
 ・実引数
 :メソッド/関数に与えるデータ
 ・仮引数
 :メソッド/引数に与えられたデータ
0480デフォルトの名無しさん2007/03/04(日) 22:17:40
>>477>>478>>479
皆さんありがとうございます!皆さんの意見を聞いて自分なりに
考えてみたのですが、ネットであった例題をパクっていうと、
オブジェクトが「テレビ」でメソッドが「画面を映す」「チャンネルを変える」
という操作で、「チャンネルの番号」や「いろんな番組の画面」が引数になるのですか?
もし全然違うことを言ってたらすみません。。。
※変数は完璧分かりました!ありがとうございます!
0481デフォルトの名無しさん2007/03/04(日) 22:29:33
>>480
オブジェクト指向の表面をなぞった理解だと、猫とかイヌとか人とか出てきて抽象化だとか多様化だとかが織り交ぜられるだけ
もっと単純で奇怪だよ

現実問題を片付けられるほど"オブジェクト指向"プログラミングに馴れた人間はそう居ないし、実際オレも良く説明できない
(クラスベース-OOPとメッセージベース-OOPなんて区別がつく?)

ってな分けで、無理やり現実問題を引っ張り出して頭を回すよりも、もっと単純で分かりやすい方法を教えるよ

           コーディングしてろ。
0482デフォルトの名無しさん2007/03/04(日) 23:32:52
>>481
ありがとうございます。例えを探すよりまずコーティングしてみようと思います。
落ち着いてみると考えすぎて露点がずれていました。
あの、引数って()内に書かれているものですか?
すみません。よろしくお願いします。
0483デフォルトの名無しさん2007/03/05(月) 07:52:28
>>482
で、コードはどこいった?
0484デフォルトの名無しさん2007/03/05(月) 15:00:55
引き算の答えをラベルに入力しようとすると
文字型になってしまい、引き算の答えが入力できません。

ラベルを数値型にするにはどうしたらいいですか?
0485デフォルトの名無しさん2007/03/05(月) 15:05:29
a = int(text)
0486デフォルトの名無しさん2007/03/05(月) 15:19:50
>>484
演算の時だけCIntなりCDblなりValなりで数値にしろwww
0487デフォルトの名無しさん2007/03/05(月) 18:23:42
VB6とVBSで実装できて、文字列配列を安定ソートできる一番速いアルゴリズムって何ですか?
配列は二次元配列ですが、ソートのキーとなるのは一次元のみです。

とりあえず一次元配列用のマージソートサンプルを拾ってきて、二次元で使えるように書き換えてみたのですが
もっと高速なソートアルゴリズムがあったら、名前だけでもいいので教えてください。
0488デフォルトの名無しさん2007/03/05(月) 18:30:20
日本語でオッケって書かれるよw
なんだよ、二次元配列のソートって。
四角形の中でどこが始点(終点)か答えよ、ってのと同じ愚問にしか思えんけどw
0489デフォルトの名無しさん2007/03/05(月) 18:56:03
>>488
先にも書いた通り、キーは一次元です。
あなたの例えは、二次元配列の全要素を同列のキーとした場合の話ですね。
二次元配列の全要素をキーとする場合でも、軸と優先順を決めればきちんとソート出来ますし。
0490デフォルトの名無しさん2007/03/05(月) 18:58:36
>>487
クイックソートは?
0491デフォルトの名無しさん2007/03/05(月) 19:05:53
>>487
>>490の言うようにクイックソートが安定ソートのうち定評高いもの
ただ文字列ソートの場合ネックになるのは文字列の大小判定じゃないのか?
そっちはどうでもいい?
0492デフォルトの名無しさん2007/03/05(月) 19:07:21
>>489
だからそれが日本語でオッケだってのw
こういう自分以外はエスパーだと思ってるおめでたい奴って救い難いな。
0493デフォルトの名無しさん2007/03/05(月) 19:10:51
>>492
そこは突っ込まないでやろうぜ
彼なりに考えがあるんだよ(´・ω・`
0494デフォルトの名無しさん2007/03/05(月) 19:15:19
クイックソートって安定だっけ?
0495デフォルトの名無しさん2007/03/05(月) 19:16:53
>>490-491
伝わる人には伝わってるようで良かったです。
しかしクイックソートは安定ソートではないという記述があるのですが。アルゴリズム的に見ても、不安定ソートっぽいですし。
それと大小文字判定は無視していただいて結構です。文字列と言ってもキーに使われてる文字種は数字と英大文字と記号なので。

ttp://ja.wikipedia.org/wiki/%E3%82%AF%E3%82%A4%E3%83%83%E3%82%AF%E3%82%BD%E3%83%BC%E3%83%88
> 安定ソートではない。
ttp://www.th.cs.meiji.ac.jp/2005/omoto/quicksort.html
> 安定ソートではない、といったデメリットもある。
ttp://user.ecc.u-tokyo.ac.jp/~tt37103/tips/f90/macro_quick_sort_primitive.html
> 不安定ソートです。
0496デフォルトの名無しさん2007/03/05(月) 19:20:39
とりあえずwikiだよ(´・ω・`つ http://ja.wikipedia.org/wiki/Category:%E3%82%BD%E3%83%BC%E3%83%88

>>495
wikiにも載ってるけど安定ソートにする方法はあるよ
シェーカーソートとかいう面白いのもあるから試してみるのもいいかもね
0497デフォルトの名無しさん2007/03/05(月) 20:32:53
>>495
いや絶対伝わってないからw
その証拠に誰も抽象的にソートというアルゴリズム一般にしか触れてないじゃん。
0498デフォルトの名無しさん2007/03/05(月) 20:36:12
>>497
いやだからそっとしておいてあげて
  ∧_∧ 
  ((.;.;)ω;)=つ≡つ 
  (っ ≡lヽ,,lヽ 
  /   (    )
 ( / ̄と.、   i 
      しーJ 
0499デフォルトの名無しさん2007/03/05(月) 20:40:25
>>497
アルゴリズム一般の名前だけでいいって書いてるからねぇ
0500デフォルトの名無しさん2007/03/05(月) 21:01:52
速度求めるのにVBで実装しようとしてる時点で痛い。

COMなりCなりタイプライブラリなり勉強しろ。
0501デフォルトの名無しさん2007/03/05(月) 21:18:45
>>500
さようなら
0502デフォルトの名無しさん2007/03/05(月) 21:36:35
クイックソートって変態的に速いよな。
なんであんな方法で結果的にソートされていくのか不思議だ。

>>500
コボルや機械語で組めばCOM使ったりCで書くより比べもんにならないほど速くなるぜ
0503デフォルトの名無しさん2007/03/05(月) 21:44:31
この前おいらが機械語で組んだときなんか、無限ループを5秒で抜けたぜ。
0504デフォルトの名無しさん2007/03/05(月) 21:47:23
さすが機械語はファジーだな
0505デフォルトの名無しさん2007/03/05(月) 21:49:04
ハッカー精神があるならObjPtr()でオブジェクトのアドレス引っ張ってそこから目的の関数のメモリ領域を機械語で侵食する
とかいう記事を昔読んだことがある
0506デフォルトの名無しさん2007/03/05(月) 21:57:05
なぜVBで組むのか?

そこにVBがあるから
0507デフォルトの名無しさん2007/03/05(月) 21:58:12
>なんであんな方法で結果的にソートされていくのか不思議だ。
おいおい本気か。
かなり直観的に動作が理解できるアルゴリズムじゃん。
0508デフォルトの名無しさん2007/03/05(月) 22:01:43
いやね、今wiki見て勉強してるんだけど

>初期データ: 8 4 3 7 6 5 2 1
>
>中央付近に位置する7をピボットとする。左から7以上を探索して8を発見。右から7以下を探索して1を発見。前者が左にあるため入れ替え。
>1 4 3 7 6 5 2 8

ここまでは分かるんだけど

>次の位置から探索を継続。7と2を発見して入れ替え。
>1 4 3 2 6 5 7 8

ここがちょっとわかんなくて。

�@ピボットとして一つ選びそれをPとする。
�A左から順に値を調べ、P以上のものを見つけたらその位置をiとする。
�B右から順に値を調べ、P以下のものを見つけたらその位置をjとする。
�Ciがjより左にあるのならばその二つの位置を入れ替え、2に戻る。ただし、次の2での探索はiの一つ右、次の3での探索はjの一つ左から行う。

i = 1, j = 8 だから、
次は4と2がソートされるんじゃないの・・?  ってとこで悩んでる
0509デフォルトの名無しさん2007/03/05(月) 22:07:39
機械語でコード組むプログラムをVBで作ればいいじゃないか。
05105082007/03/05(月) 22:10:09
左からはピボット以上の数か。
ごめん理解した。
0511デフォルトの名無しさん2007/03/05(月) 22:24:59
VBでやるならデータベースに接続するのが一番スマートなやりかた
0512デフォルトの名無しさん2007/03/05(月) 22:32:09
つ リストボックス
0513デフォルトの名無しさん2007/03/05(月) 22:42:35
一方、ODBCやリストボックスはバブルソートを使った。
0514デフォルトの名無しさん2007/03/05(月) 23:04:26
元の順番を第二キーとして保持して、第一キーが同じなら第二キーで
比較判断すればクイックソートでも安定させられるやん。
0515デフォルトの名無しさん2007/03/05(月) 23:06:35
>>514
で?
0516デフォルトの名無しさん2007/03/05(月) 23:07:58
いえなにも
0517デフォルトの名無しさん2007/03/05(月) 23:10:17
いやそんな無駄なことしなくても一つの列を2つの列に分割・再構成する時に
スキャンした順番で再構成するだけだよ
0518デフォルトの名無しさん2007/03/05(月) 23:13:51
で?
0519デフォルトの名無しさん2007/03/06(火) 00:15:35
コメントの自動挿入やウインドウのタブ化など
めっさ当たり前のように使われているアドインツールですが、
くっと作業効率がうpする皆様お勧めのアドイン、ありませんか?
ええのがあったら教えてください。
0520デフォルトの名無しさん2007/03/06(火) 12:15:54
バブルソート大好きな俺が来ましたよ〜〜〜
0521デフォルトの名無しさん2007/03/06(火) 12:17:38
バブルソート大好きな俺は帰りますね〜〜〜
0522デフォルトの名無しさん2007/03/06(火) 17:17:42
そういえば再帰ソートは、非再帰にしてやると大抵いくらか速くなるよな。
0523デフォルトの名無しさん2007/03/06(火) 21:14:52
泡風呂大好きなオレがきましたよ〜
0524デフォルトの名無しさん2007/03/06(火) 21:26:50
泡姫大好きです!
0525デフォルトの名無しさん2007/03/06(火) 21:54:30
だから6.0ユーザはレベルが低いっていわれるんだよ…
0526デフォルトの名無しさん2007/03/06(火) 21:56:22
>>525
よくいう。レベルの高い講義を示せ。
0527デフォルトの名無しさん2007/03/06(火) 22:07:12
>>1
0528デフォルトの名無しさん2007/03/06(火) 22:23:06
>>525
なんという釣り m9(^Д^)
0529デフォルトの名無しさん2007/03/06(火) 22:26:50
すいません,質問よろしいでしょうか?
今,VB6.0を使っています.
picturebox内にグラフを描いた後に,
SavePicture Picture1.Image, FileName & ".bmp"
の文を使って,pictureboxの画像を保存しようとしているのですが,
グラフの線は残らず背景のみが保存されてしまいます.
保存の仕方が悪いのでしょうか?どのように変更すればグラフの線も保存されるようになるでしょうか?
よろしくお願いします.
0530デフォルトの名無しさん2007/03/06(火) 22:44:40
グラフの線がバックグラウンドとか?

あれ・・関係なかったっけ?
要はImageオブジェクトに描画されてないって事だと思うんだけど・・・
0531デフォルトの名無しさん2007/03/06(火) 22:52:07
>>530
529です.回答ありがとうございます.
今,いろいろ試していたのですが,Pictureboxのプロパティで
AutoredrawをTrueにすることで線も保存する事ができるようになりました.
ありがとうございました.
0532デフォルトの名無しさん2007/03/06(火) 22:54:33
AutoRedraw = Trueでないと絵画されたことにならんよ
ためしにFalseの状態で絵画→ウインドウを最小化→元に戻してみるといい
0533デフォルトの名無しさん2007/03/07(水) 00:44:09
フォルダ選択ダイアログを使用したくて、SHBrowseForFolderの使い方を調べて
一応、動くものが出来たのですが、ダイアログの表示位置をどうやって指定すれ
ばよいかわかりません。
どなたかご存じの方、いませんか?
0534デフォルトの名無しさん2007/03/07(水) 00:55:25
起動時の表示位置は指定できないから
表示させてから移動させれば良いのさ
0535デフォルトの名無しさん2007/03/07(水) 01:57:53
>>534
すみません。
それは、コールバック関数の中で処理をするということになりますか?
0536デフォルトの名無しさん2007/03/07(水) 02:19:32
6.0ってサブスクライバで無料DLできるのか?
0537デフォルトの名無しさん2007/03/07(水) 02:30:25
http://www.microsoft.com/japan/msdn/subscriptions/topics/VB6.aspx
0538デフォルトの名無しさん2007/03/07(水) 02:38:09
>>537
ログインしてもどこからDLするのか分からん
URLキボン
0539デフォルトの名無しさん2007/03/07(水) 02:47:56
おいらサブスクライバじゃねーからログインできないヨ。
0540デフォルトの名無しさん2007/03/07(水) 02:53:37
サブスクライバって有料会員じゃねーの?
0541デフォルトの名無しさん2007/03/07(水) 10:48:39
>>319
0542デフォルトの名無しさん2007/03/07(水) 11:55:39
MSDN 会員 (マイクロソフト認定パートナー、プレミアサポートご契約者含む) の内、「ユニバーサル」、「エンタープライズ」、「プロフェッショナル」、「オペーレーティング システム」の各サブスクリプション レベルに該当する MSDN 会員のみがご利用いただけます

これってどうやって登録するの?LiveIDじゃないよね?
0543デフォルトの名無しさん2007/03/07(水) 12:00:01
>>542
年間百万単位のお金を寄付すると会員になれます
0544デフォルトの名無しさん2007/03/07(水) 12:12:53
電話しないと会員IDもらえないんじゃなかったっけ?
0545デフォルトの名無しさん2007/03/07(水) 12:30:23
>>543
そんなにしないプランもあるよw
まあ開発ツールもダウン可能なエディションはフツーの人が手を出しにくい
価格なのは間違いないけど。
0546デフォルトの名無しさん2007/03/07(水) 13:40:58
MSDNは会社に買わせるものと相場が決まっておる
0547デフォルトの名無しさん2007/03/07(水) 14:31:01
Visual Basic 2005 Express Editionを無償公開してるのにVB6.0を一般公開しないのも意味不明だな
0548デフォルトの名無しさん2007/03/07(水) 14:48:36
>>547
わかりやすいと思うけどw>VB2005への誘導
■ このスレッドは過去ログ倉庫に格納されています