トップページ⇒tech
988コメント350KB

くだすれVB6.0以前(超初心者向け)

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2006/12/08(金) 19:36:45
このスレッドはVBについて、
他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
VB使いが優しくコメントを返しますが、
お礼はVBの布教はしなくてよいので、初心者の救済をお願いします。
0348デフォルトの名無しさん2007/05/15(火) 19:30:39
>>345
他スレでも見た気がするが…マルチか?

VMインスコ→VBインスコ→VMアンインスコ

こんな流れだったような
03493452007/05/15(火) 19:52:07
ありがとうございます。

>>346
探してみます。

>>348
いえ、初めての質問です。
その流れで試してみます。
「VMインスコ」というのは、"msjavx86.exe"を単体で実行する、という事でよろしいのでしょうか?

実機が今手元に無いもので、確認とれずすみません。。。
0350デフォルトの名無しさん2007/05/17(木) 22:18:55
テキストボックスにdoubleで宣言した値を入れると
2.33333333332673E-04
のようになるのを、
0.000233333のようにEで表記しない方法で貼り付ける方法はないでしょうか?
0351デフォルトの名無しさん2007/05/17(木) 22:20:30
Format
っていうか、VB6の初心者スレなんて意味あんのか?
現時点でVB6学び始めてどうするんだよw
0352デフォルトの名無しさん2007/05/17(木) 22:31:21
業務でしゃぁなしもいるんだよwwww
0353デフォルトの名無しさん2007/05/17(木) 23:04:58
MSChart使ってy=x^2+xの二次関数のグラフ書きたいんだが、
xは1〜50の領域で表示したいなら、

ChartType=VtChChartType2dLine

for x=1 to 50
y=x^2+x
next

何かけばええの?w
サンプル見ても棒グラフばっかで、チンプンカンプン
0354デフォルトの名無しさん2007/05/17(木) 23:13:49
>>352
VB厨は質問者がVBしか経験がないという前提で
書き込むよな。 >351とか正にそうだ。
0355デフォルトの名無しさん2007/05/17(木) 23:15:57
>>354
不思議な思考をする奴だな。
こういう非論理的な人間はプログラマ向かないよ。
0356デフォルトの名無しさん2007/05/17(木) 23:22:33
>>355
専用ブラのオマイw

キンタマに(ry
0357デフォルトの名無しさん2007/05/17(木) 23:26:51
>>355
まぁちょっと叩かれたからって
そう気張るなよ?な?肩の力抜いていこうぜ?
言語なんてしょせん方言だ
0358デフォルトの名無しさん2007/05/17(木) 23:36:16
     _____
   /::::::::::::::::::::::::::\〜プーン
  /:::::::::::::::::::::::::::::::::::::::\〜プーン
  |:::::::::::::;;;;;;|_|_|_|_|〜プーン
  |;;;;;;;;;;ノ∪  \,) ,,/ ヽ〜
  |::( 6∪ ー─◎─◎ )〜       >>355
  |ノ  (∵∴ ( o o)∴)〜      
  | ∪< ∵∵   3 ∵> ムッキー!    
  \        ⌒ ノ_____
    \_____/ |  | ̄ ̄\ \
___/      \   |  |    | ̄ ̄|
|:::::::/  \___ | \|  |    |__|
|:::::::| \____|つ⊂|__|__/ /
|:::::/        | ̄ ̄ ̄ ̄|  〔 ̄ ̄〕
0359デフォルトの名無しさん2007/05/19(土) 21:28:03
>>353なんですが、
もしかしてVBでこういう曲線のグラフって、pictureに描画するのが一般的なんですか?
MSchartをイジってたんだけど、中々エクセルでいうところの散布図みたいなのが出来ない。。。
0360デフォルトの名無しさん2007/05/19(土) 23:15:20
どこの一般を聞かれてるのかわからんが
日曜プログラマの俺は金が無いので自力で全部書いてる
もしかしたらExcelのコンポーネントで出来るかもしれないけど、取り扱いに気を使いそうだから全くしらない
0361デフォルトの名無しさん2007/05/20(日) 02:09:17
俺はExcelでできるかどうか調べる前に
自前(PictureBox)で実現しようとするかな・・・
0362デフォルトの名無しさん2007/05/20(日) 04:58:57
むしろエクセルに依存したりサードパーティにあんま頼りたくないので自前で
0363デフォルトの名無しさん2007/05/20(日) 21:27:46
Excelじゃ無くてMSChartで実現したいって言ってるから、

Dim x As Single, y As Single

With MSChart1
  .chartType = VtChChartType2dLine
  .ColumnCount = 1
  .RowCount = 50
  For x = 1 To 50
    y = x ^ 2 + x
    .Row = x
    .Data = y
  Next
End With
0364デフォルトの名無しさん2007/05/22(火) 10:27:35
質問させてください。
例えば、以下の内容のCSVファイルがあったとします。
ID,TEL
1,0344445555

これを開くと、
cnDB.ConnectionString = "Driver={Microsoft Text Driver (*.txt; *.csv)};DefaultDir=" & strDir & ""
cnDB.Open
rsDB.Source = "SELECT * FROM テーブル"
rsDB.Open , cnDB, adOpenStatic, adLockPessimistic

結果が、TEL=344445555となり、0が消えてしまいます。
2番目のフィールドを文字列として認識してテーブルを開く方法は無いでしょうか?
0365デフォルトの名無しさん2007/05/22(火) 10:41:11
CSVにアクセスする方法がなんでもいいなら別の方法をすすめるが
その方法じゃないとダメならSQLを変えてみてはどうでしょうか〜

rsDB.Source = "SELECT ID, STR(TEL) FROM テーブル"
0366デフォルトの名無しさん2007/05/22(火) 11:01:46
>>365
ありがとうございます。
やってみましたが、0がスペースに変わっただけで、やはり思い通りには
行きませんでした。
今後、フィールドの位置の変更や、追加削除がある可能性があるので
出来れば、この方法が便利なんですけど、、、
上手くいかないので、他の方法にした方が良さそうですね、、、
0367デフォルトの名無しさん2007/05/22(火) 20:34:52
タイマーって60秒までなんだw
どうしよう・・・
5分にしたければ60秒を5回繰り返せばいいか!
0368デフォルトの名無しさん2007/05/22(火) 20:40:53
>>367
1秒を300回繰り返してもいいんだぜ
0369デフォルトの名無しさん2007/05/22(火) 20:46:43
>>368
即レスサンクス!
0370デフォルトの名無しさん2007/05/23(水) 06:53:20
時刻を記憶してだいたい100ms間隔で比べて、5分前かどうか確かめればいいんだぜ
0371デフォルトの名無しさん2007/06/01(金) 16:35:06
CPU使用率を100%にして負荷を掛ける実験ツールを作ったんだ。
シングルコアでは100%の負荷が掛かるのだが、
デュアル・クアッドコアの場合は50%・25%前後にしかならないんだ・・・。

これって、マルチスレッド・クアッドスレッドにソースが最適化されてないって事だよね?


どこかにVB6.0でマルチスレッド最適化の方法が載ってるサイトって無いかな?
0372デフォルトの名無しさん2007/06/01(金) 16:41:45
>>371
・・・・・・・( ゚д゚)
0373デフォルトの名無しさん2007/06/01(金) 17:33:38
VB6.0はマルチスレッド不可能
0374デフォルトの名無しさん2007/06/01(金) 17:36:31
それは知らなかった。
VB6.0ではマルチスレッド出来ないのか・・・。

教えてくれてありがとうございました。
0375デフォルトの名無しさん2007/06/01(金) 18:05:48
仮に使えたとしても
このような輩が使うとデッドロックとかの防御かけずに使いそうで怖いな・・・・
0376デフォルトの名無しさん2007/06/01(金) 18:21:07
だからやっぱりVBでマルチスレッドはできないようにして正解だったということでは
0377デフォルトの名無しさん2007/06/01(金) 18:38:26
VB.NETは不正解
0378デフォルトの名無しさん2007/06/01(金) 18:48:09
そんなときはコレ!

つkill -9!
kill -9, no more CPU time!
kill -9, process is still running!
0379デフォルトの名無しさん2007/06/02(土) 09:39:02
コード画面でホイールころころしても画面が動かん。
何とかしてくれ。
0380デフォルトの名無しさん2007/06/02(土) 10:29:58
ググれカス
0381デフォルトの名無しさん2007/06/02(土) 11:27:44
thxこの野郎
0382デフォルトの名無しさん2007/06/02(土) 12:11:55
しかしvb6でもマルチスレッドは使える
0383デフォルトの名無しさん2007/06/02(土) 13:15:13
API叩いても無理なのにどうするんだ?
0384デフォルトの名無しさん2007/06/02(土) 13:24:39
VCでDLLつくるんだろ
0385デフォルトの名無しさん2007/06/02(土) 13:35:09
google先生に聞いてみな
0386デフォルトの名無しさん2007/06/02(土) 20:02:39
コード画面の背景色って変えれんのか?
ググったけどわかんね('A`)
教えてくれ〜。
0387デフォルトの名無しさん2007/06/02(土) 21:02:57
コード画面の背景色ってIDEのこといってるの?

VB6のエディタはOSのコンパネ(画面の設定)で設定された色をそのまま使ってるんだろう。
っていうか、こういうOSの使い方も知らん人がコード書けるのかなw
0388デフォルトの名無しさん2007/06/02(土) 21:25:18
�dクス出来ますた。
けど背景色ぐらいは設定で変えられるようにすべきだと思う(´・ω・`)
0389デフォルトの名無しさん2007/06/03(日) 00:48:04
>>386
「オプション」の「エディタの設定」の「コードの表示色」の「背景」
文字色を明るい色に変えて黒背景にも出来るお
0390デフォルトの名無しさん2007/06/03(日) 08:24:38
>>389
GJ!
0391デフォルトの名無しさん2007/06/03(日) 21:07:31
やっぱ背景は黒だな。絶対秀丸だな。
>>389お前とは上手い酒が飲めそうだ。
0392デフォルトの名無しさん2007/06/03(日) 21:08:57
>>389
俺も同意
目にやさしいしな
0393デフォルトの名無しさん2007/06/03(日) 21:42:32
そんな配色目に悪いと思うけどね。
まぶしいなら画面の輝度を調整すべきだと思うよ。
0394デフォルトの名無しさん2007/06/03(日) 21:53:38
( д )゚ ゚
0395デフォルトの名無しさん2007/06/03(日) 22:14:13
>>393
   、ミ川川川彡                 ,ィr彡'";;;;;;;;;;;;;;;
  ミ       彡              ,.ィi彡',.=从i、;;;;;;;;;;;;
 三  ギ  そ  三            ,ィ/イ,r'" .i!li,il i、ミ',:;;;;
 三.  ャ  れ  三    ,. -‐==- 、, /!li/'/   l'' l', ',ヾ,ヽ;
 三  グ  は  三  ,,__-=ニ三三ニヾヽl!/,_ ,_i 、,,.ィ'=-、_ヾヾ
 三  で       三,. ‐ニ三=,==‐ ''' `‐゛j,ェツ''''ー=5r‐ォ、, ヽ
 三.   言  ひ  三  .,,__/      . ,' ン′    ̄
 三   っ  ょ  三   /           i l,
 三.  て   っ  三  ノ ..::.:... ,_  i    !  `´'      J
 三   る  と  三  iェァメ`'7rェ、,ー'    i }エ=、
  三   の   し  三 ノ "'    ̄     ! '';;;;;;;
  三   か  て  三. iヽ,_ン     J   l
  三  !?    三  !し=、 ヽ         i         ,.
   彡      ミ   ! "'' `'′      ヽ、,,__,,..,_ィ,..r,',",
    彡川川川ミ.   l        _, ,   | ` ー、≡=,ン _,,,
              ヽ、 _,,,,,ィニ三"'"  ,,.'ヘ rー‐ ''''''"
                `, i'''ニ'" ,. -‐'"   `/
               ヽ !  i´       /
               ノレ'ー'!      / O
0396デフォルトの名無しさん2007/06/03(日) 22:41:00
いちいちAA貼り付けないと物が言えないガキを相手にしてもしょうがないけど、
そんなギャグがどこにある。

黒背景が目に悪い理由は、黒背景だと瞳孔が開きすぎるから。
というか、そんな理屈がわからなくても普通体感的に分かるだろう。
白地に黒と黒地に白でどちらが目がより疲れないか
0397デフォルトの名無しさん2007/06/04(月) 10:30:51
>>396
   、ミ川川川彡                 ,ィr彡'";;;;;;;;;;;;;;;
  ミ       彡              ,.ィi彡',.=从i、;;;;;;;;;;;;
 三  ギ  そ  三            ,ィ/イ,r'" .i!li,il i、ミ',:;;;;
 三.  ャ  れ  三    ,. -‐==- 、, /!li/'/   l'' l', ',ヾ,ヽ;
 三  グ  も  三  ,,__-=ニ三三ニヾヽl!/,_ ,_i 、,,.ィ'=-、_ヾヾ
 三  で       三,. ‐ニ三=,==‐ ''' `‐゛j,ェツ''''ー=5r‐ォ、, ヽ
 三.   言  ひ  三  .,,__/      . ,' ン′    ̄
 三   っ  ょ  三   /           i l,
 三.  て   っ  三  ノ ..::.:... ,_  i    !  `´'      J
 三   る  と  三  iェァメ`'7rェ、,ー'    i }エ=、
  三   の   し  三 ノ "'    ̄     ! '';;;;;;;
  三   か  て  三. iヽ,_ン     J   l
  三  !?    三  !し=、 ヽ         i         ,.
   彡      ミ   ! "'' `'′      ヽ、,,__,,..,_ィ,..r,',",
    彡川川川ミ.   l        _, ,   | ` ー、≡=,ン _,,,
              ヽ、 _,,,,,ィニ三"'"  ,,.'ヘ rー‐ ''''''"
                `, i'''ニ'" ,. -‐'"   `/
               ヽ !  i´       /
               ノレ'ー'!      / O
0398デフォルトの名無しさん2007/06/05(火) 00:08:03
ListBoxの中の数値をクリックして選択したものだけ配列に格納したいのですが書式が分かりません。
配列に数値を加えていくにはどうすればいいんですか?
0399デフォルトの名無しさん2007/06/05(火) 00:16:19
0400デフォルトの名無しさん2007/06/05(火) 09:03:32
>>398

dim i as integer
dim hoge() as integer

 '///最初に確保
 hoge(10)

 '///消す。
 erase hoge

 '///拡張しながら
 for i = 0 to 10
  redim preserve hoge(i)
 next i
0401デフォルトの名無しさん2007/06/05(火) 09:10:28
>>400
REDIMってパフォーマンスはどうなんだろ?
realloc繰り返すようなもんだろ。拡張のときに余分に確保してゆくとか必要ないだろうか。
04024002007/06/05(火) 09:27:48
肝心のredimがついてねーorz

realloc繰り返すよりは最初に余分に拡張した方がいいね。
0403デフォルトの名無しさん2007/06/05(火) 11:18:59
>>401
超悪い
なので先に配列の数がわかるならRedim一回だけにしたほうがいいと・・・
配列の数が増えれば増えるほど速度差が出るしさ
0404デフォルトの名無しさん2007/06/05(火) 11:28:33
春だな・・・
0405デフォルトの名無しさん2007/06/05(火) 11:35:28
夏だろ・・・
0406デフォルトの名無しさん2007/06/05(火) 15:09:50
「ファイルを展開する」の意味を教えてください。
0407デフォルトの名無しさん2007/06/05(火) 15:43:15
圧縮ファイルを解凍する意。
0408デフォルトの名無しさん2007/06/05(火) 15:56:47
ありがとうございます。助かります。
0409デフォルトの名無しさん2007/06/05(火) 18:37:16
>>406-407
VB以前の問題だろ・・・
0410デフォルトの名無しさん2007/06/09(土) 13:35:58
あるフォームから別のフォームの内容を変えるにはどうすればいいのでしょうか?
例えばform1とform2を開いておき
form2でボタンを押したりするとfrom1のテキストに書き込んだりform1のピクチャの表示を変えたりしたいのですが
0411デフォルトの名無しさん2007/06/09(土) 15:58:57
Form1.Text1
Form1.Picture1
0412410 2007/06/09(土) 16:41:43
ありがとうございます
やり方がわかりました
0413デフォルトの名無しさん2007/06/10(日) 22:14:38
質問です
例えばコマンドがクリックされるたびに
数字が一つ増えていき、ある時間が来たらその時間内に何回
それがクリックされたかを表示される機能を作りたくて
時間を計る昨日は作れたのですが、クリック回数を示す方が全くわからないので
ヒントを頂けると助かります
0414デフォルトの名無しさん2007/06/10(日) 22:40:01
>>413
どうしてあちこちで聞くの?
04154132007/06/10(日) 22:51:56
いや、このスレを教えてもらって
基礎的過ぎるのでこっちの方がいいのではないかと思って・・・
0416デフォルトの名無しさん2007/06/10(日) 22:53:13
>>413
スレ跨いでなかったら答えたんだけどな。
むかついたので教えない。
0417デフォルトの名無しさん2007/06/10(日) 22:58:19
こっちの方が親切に答えてくれるって言われたから
わざと不親切な奴を装ってるんだな
0418デフォルトの名無しさん2007/06/10(日) 23:02:57
両方親切に教えてますよ?
04194132007/06/10(日) 23:41:24
すいません、次から気をつけますのでヒントだけでも
教えてください・・・
0420デフォルトの名無しさん2007/06/10(日) 23:54:12
>>419
しょうがないな
モジュールレベルでDimしてクリックイベントで足せ
0421デフォルトの名無しさん2007/06/11(月) 00:19:51
教えたら教えたで無視か。
どこまで失礼な奴だ!!
0422デフォルトの名無しさん2007/06/11(月) 06:43:36
>>413
Label1.Caption = クリック回数
0423デフォルトの名無しさん2007/06/11(月) 06:52:08
>>413
a$ = "クリック"
b$ = "回数"
Label1.Caption = a$ & b$
0424デフォルトの名無しさん2007/06/11(月) 08:38:44
VB6.0どころか非常に初歩的なアルゴリズム(という表現すらおこがましいレベル)の問題だな
0425デフォルトの名無しさん2007/06/11(月) 08:43:16
Sub なんたらかんたら_Click()

dim intI as Integer

intI = CInt(Label1.Caption)
intI = intI + 1
Label1.Caption = Cstr(intI)

End Sub

おまえにはこの程度のソースでいいだろう
0426デフォルトの名無しさん2007/06/11(月) 09:11:51
週末は馬鹿がわくのかw
0427デフォルトの名無しさん2007/06/12(火) 01:39:11
MSCommのSettingsプロパティで教えて欲しいんですが

MSComm1.Settings = "a,b,c,d"

でa,b,c,dにはテキストボックスから任意の値を
入れれるようにしたいんですが・・。

これだとaという変数に"9800"という文字列が入ってても
これは"a"という文字列だということでエラーになってしまいますよね。
何かいい方法あります?
0428デフォルトの名無しさん2007/06/12(火) 02:36:51
囲むな。
方法はちょっと前のレスにもある。
0429デフォルトの名無しさん2007/06/12(火) 09:12:23
>>427
>>428の言うとおり2つほど前のレスにもヒントはある


しかし、全然言語・・というよりもPGそのものをまったく知らないでCOMM通信とか(ry
04304272007/06/12(火) 10:00:27
すいません。よくわかりません・・。
MSComm1.Settingsは文字列で指定しなきゃいけないんですよね?
囲まないと構文エラーになるんですか・・。

>>425がヒント・・。
CIntやCstrで文字を変換しろ という事ですか?
でも変換した値は結局変数に代入するのだから
同じ事のように思えるんですが・・。 すみません。
0431デフォルトの名無しさん2007/06/12(火) 10:04:03
>>430
うわぁ・・・こいつ絶対使えねぇ・・・・
自分で考えようとしてる不利だけの気がするな
絶対つりだと信じてるが・・・


dim a as string = textbox1.text
dim b as string = textbox2.text
dim c as string = textbox3.text

MSComm1.Settings = a & "," & b & "," & c

お前レベルにはこれで十分だ
0432デフォルトの名無しさん2007/06/12(火) 11:03:49
>>427
a$=text1
 ・
 ・
MSComm1.Settings = a$ & "," & b$ & "," & c$ & "," & d$

たしかに先はながいなぁ 私も通信は苦労しました。
04334272007/06/12(火) 12:18:44
>>431
>>432
あ・・なるほど。すみません。
確かに・・・自分の考える努力が不足してたようです。
ありがとうございました。
0434デフォルトの名無しさん2007/06/12(火) 19:44:52
テキストボックスからフォーカスを他へ移さないようにしたいのですが、どうしたらいいんですか?
後、カーソルを左端じゃなくて右端に固定したいのですが…
0435デフォルトの名無しさん2007/06/12(火) 19:50:50
するな。
04364342007/06/12(火) 20:55:11
VB6.0の話です。すいません。
0437デフォルトの名無しさん2007/06/12(火) 21:00:52
>>434
何のためにやりたいのか知らないがそういうプロパティはある
0438デフォルトの名無しさん2007/06/12(火) 22:04:21
ヒント:TabIndex
0439デフォルトの名無しさん2007/06/12(火) 22:53:32
GetAsyncKeyStateを使用し

タイマーから

Dim a%
a = GetAsyncKeyState(37)
If Not a = 0 Then ...

と、左を押したらifの処理が行われるとして
キーの左を押している間画像を移動するとしたいのですが
左を放しても画像が移動し一瞬置いてから止まり画像が滑ってしまいます

変数aの中身は毎回破棄されてますしそもそもGetAsyncKeyStateの時点で代入されてるから値を引き継ぐわけがありませんし
タイマーで呼び出された時点でキーを押してなければ0が入るはずで
GetAsyncKeyStateからifまでの間にaの値を変更するような事も行っていないので原因がまったくわかりません
タイマーのインターバルの感覚を長くしたり色々な箇所にsleepを入れてみても駄目でした
理由がわかる方どうか教えてください
0440デフォルトの名無しさん2007/06/12(火) 23:03:04
処理が追いついていないから。
0441デフォルトの名無しさん2007/06/12(火) 23:11:26
理由は知らんがインターバル長くするのは逆な気がするなw
まぁどっちにしろ

判定
↓
移動処理

の流れなかぎり多少のレスポンス遅れは出るだろうな
どんだけなのかしらんし、キー離したつもりでもキーストロークによっては一瞬遅れて とかんじるかもしれんし
0442デフォルトの名無しさん2007/06/12(火) 23:37:25
>>439
KeyStateの中に値が入っていてそれが消化されてないんだよ。
一回ごとにクリアするなどすればディレイは発生しない。

While
0443デフォルトの名無しさん2007/06/13(水) 00:06:10
ご冗談を。
04444392007/06/13(水) 22:08:58
ありがとうございます
参考になります

>>440
ためしにGetAsyncKeyStateの処理のとこだけのプログラムにしてみたら
滑らなくなったため処理が追いついていないのが原因のようですね
>>441
私には
判定
↓
移動処理
の方法しか思いつかないのですは他に方法はあるのでしょうか?
>>442
KeyStateの値をクリアとはどのようにすれば良いのでしょうか?
調べても見つからなかったため良ければ教えてください
0445デフォルトの名無しさん2007/06/14(木) 05:13:01
>が原因のようですね

そこで思考停止かよ
0446デフォルトの名無しさん2007/06/14(木) 06:14:53
>ためしにGetAsyncKeyStateの処理のとこだけのプログラムにしてみたら
>滑らなくなったため処理が追いついていないのが原因のようですね

なんだそんな間抜けな原因か
0447デフォルトの名無しさん2007/06/14(木) 10:01:01
>>444
While GetAsyncKeyState(37) <> 0
i = i + 1
Wend

if i > 1 then msgbox i

ためしにこれをかませてみろ
0448デフォルトの名無しさん2007/06/14(木) 11:58:51
>>447
それかますとキーを押しっぱなしでスクロールできないのでは
そもそも消化が原因じゃないわけだし
■ このスレッドは過去ログ倉庫に格納されています