1 名前:d mailto:age [2008/03/30(日) 09:01:59 ] このスレッドはVBについて、 他のスレッドでは書き込めない超低レベル、 もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。 VB使いが優しくコメントを返しますが、 お礼はVBの布教はしなくてよいので、初心者の救済をお願いします 前スレ くだすれVB6.0以前(超初心者向け) pc11.2ch.net/test/read.cgi/tech/1165574205/
357 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 09:07:18 ] >>354 ボク、何か嫌なことでもあったの?
358 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 11:14:38 ] 使用するosをXPからVistaに移行したところ、矢印の「dumst」部分で インデックスが有効範囲にない、というエラーが出てしまいます。 アドバイスお願いします。 Private Sub Form_Load() Const DataFile1 As String = "emadr.txt" noTA = 0: noID = 0: noFA = 0: noSMTP = 0 fileNum = FreeFile Open DataFile1 For Input As #fileNum Do Until EOF(fileNum) Line Input #fileNum, dummy → dumst = Split(dummy, ",") If (dumst(0) = "TA") Then noTA = noTA + 1 emTA(noTA) = dumst(1) End If Loop Close #fileNum
359 名前:デフォルトの名無しさん [2008/11/27(木) 18:13:33 ] >>356 普通にいけました… 消したと思っていた変数定義が消えておらず、変数がリセットされていただけでした お騒がせしました
360 名前:デフォルトの名無しさん [2008/11/28(金) 22:55:15 ] VB6でFTPでの転送結果(スループット等)を取得する関数とかあるのでしょうか?
361 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 23:27:26 ] あると思うほうが不思議だが?
362 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 23:32:46 ] 絶対に無いと確信するほうが不思議
363 名前:360 mailto:sage [2008/11/28(金) 23:50:40 ] >>361-362 回答ありがとうございます。 やはり無いんですね・・・ ファイル転送量/時間で出そうと思います。 ありがとうございました。
364 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 12:43:32 ] >362 んなこたぁない。FTP(クライアント)はVBの機能じゃないんだぜ?エスパーすればINet系関数だろうが、 あれは腐ってるからな。
365 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 14:59:29 ] VB用のコンポーネントにあったって不思議じゃない
366 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 17:01:16 ] コンポーネントなら関数とかいわんだろ。
367 名前:デフォルトの名無しさん [2008/11/29(土) 18:20:45 ] お願いします。 構造体の入れ子を作りたいのですが、下記ではエラーになってしまいます。 Private Type ABC i As Integer j() As ABC End Type 動的なツリー構造を作りたいのですが、可能でしょうか。
368 名前:デフォルトの名無しさん [2008/11/29(土) 19:39:41 ] 皆さんよろしくお願いします。 upp.dip.jp/01/img/13337.jpg 実は↑のような流れのスクリプトを組みたいと思っているのですが if を使っての簡単なサンプルを書いていただけませんでしょうか? 本当に簡単なもので結構ですので・・・。
369 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 19:49:37 ] ttp://blogs.yahoo.co.jp/naojuv/51637042.html
370 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 19:49:50 ] >>368 何だこのフローチャート もう少しルールに従って書けよw
371 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 19:53:05 ] フローチャートと呼んでいいのかww まあ>368がんばれ
372 名前:368 mailto:sage [2008/11/29(土) 19:59:04 ] た、たしかに 酷いことになってますね・・・ すいません・・・
373 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 21:31:00 ] むしろ状態遷移図だな。
374 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 21:47:21 ] 無限ループ
375 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 22:23:29 ] start: if (isExist(a)) { goto start; } second: if (isExist(b)) goto start; else { goto second; }
376 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 23:22:22 ] VB4で作られたソフトウェアが動きません。 VB40032.dll、MCI32.ocx、grid32.ocx、comdlg32.ocxが必要なソフトなんですがXPでは入れても動かないんです。 「ファイルの読み込み中にエラーが発生しました」と出てしまいます・・・ MEでは正常に動きました。 上記4つのファイルはME、XP共に同じバージョンでした。 解決方法知っていたら教えて下さい。お願いします。
377 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 23:27:06 ] >>376 スレ違い
378 名前:デフォルトの名無しさん mailto:sage [2008/12/04(木) 10:59:01 ] >>367 循環参照できないんですよねー。ケチケチしやがって。 可変長配列なら無限ループにならないから許可してほしいところです。 等価ではないがクラスモジュールでこう (CLASS ABC) Public I As Integer Public J As Collection あくまで等価ではないので使えなさそうですが。
379 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 08:21:48 ] >>367 すまん、どんな場合それを使うのか教えてくれ・・・
380 名前:デフォルトの名無しさん [2008/12/07(日) 13:33:33 ] いわゆる「自己参照構造体」ってやつを作りたいんだろうけど、 だったらVBの場合ユーザー定義型じゃないくてクラスを使わないと駄目だね。 仮にユーザー定義型に循環参照(余談ながら、この用語の使い方は本来不適切だと 思うんだが、MSDNがそうなってるんだね)が可能だとしても、ユーザー定義型は ドトネトでいう値型になるから無駄が多すぎる。
381 名前:デフォルトの名無しさん [2008/12/07(日) 13:57:04 ] Private Type ABC i As Integer j() As ABC* End Type Dim udtABC As ABC udtABC.j = &udtABC 夢のようだが、() は誰が実装すんのかね。 j() が自己参照にしては自己が配列であることは保障されてないし。 まぁ蛇足でしかないけど。
382 名前:デフォルトの名無しさん [2008/12/08(月) 03:32:56 ] >>381 そこまでなくても… 循環参照はメモリ確保がどこまでも終わらないから禁止なんだろうけど、 JはREDIMするまで要素数ゼロだから、それは許されるようにしてくれていても いいのにと思うんだが。 理解が違っていたらすまん。 早く寝なきゃ…
383 名前:デフォルトの名無しさん [2008/12/08(月) 03:36:40 ] そういえば>>377 スレ違いだっけ?
384 名前:デフォルトの名無しさん [2008/12/11(木) 23:35:25 ] 30Hex + 30Hex + 30Hex + 30Hex + 30Hex + 33Hex + 30Hex + 30Hex +35Hex + 33Hex + 30Hex +30Hex +31Hex + 03Hex = 37Hex (+は排他的論理和、Hexは16進数) とオムロンのマニュアルに書いてあるんですが これをVBで計算すると37なんて数字が出てきません。 val(hex(30)) xor val(hex(30)) xor ・・・ とかじゃぁ 根本的に何か間違ってるのかな。。
385 名前:デフォルトの名無しさん mailto:sage [2008/12/11(木) 23:41:40 ] 間違っています
386 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 00:08:30 ] 30h
387 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 00:13:39 ] &h30 xor &h30 xor …
388 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 00:14:36 ] 00h+33h+00h+02h+00h+02h
389 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 00:17:42 ] 00h+33h+00h+06h+00h+02h
390 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 00:43:38 ] Private Sub hoge() Const hexList As String _ = "30, 30, 30, 30, 30, 33, 30, 30, 35, 33, 30, 30, 31, 03" Dim hexText As Variant Dim result As Integer result = 0 For Each hexText In Split(hexList, ",") result = result Xor CInt("&h" & Trim(hexText)) Next MsgBox (hex$(result)) End Sub
391 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 01:02:04 ] リストボックスには、複数の学生の名前、教科、点数と その合計、平均などが表示されていて、 ボタンを押すと、ひとりひとりの学生の点数の合計と点数の表示をする プログラムを作成したいのですが、教えて下さい。
392 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 01:13:35 ] どんな表示されてんだよ
393 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 01:28:50 ] ああ、悪い。 氏名 国語 英語 合計 平均 A 50 60 110 55 B 60 70 130 65 C 70 70 140 70 合計 180 210 平均 60 70 こんな感じに表示されています。 ボタンの名前を「縦計 横計」と表示させ、 押すと、ひとりひとりの合計と平均を表示し、 最後に国語と英語の合計、ならびに平均を表示させたいのです。
394 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 01:31:18 ] >ああ、悪い。 なんだその態度は 氏ねばいいのに
395 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 01:33:29 ] select case end select
396 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 01:58:37 ] 悪い印象を与えてしまったのなら謝るよ。 日本語って難しいな… 例えば「ああ、スマソ」って言ったらまた印象は違うだろうしね。
397 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 02:04:34 ] ドシロウトはエクセルでも使っとけ
398 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 02:19:54 ] 在日は国へ帰れ
399 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 06:28:24 ] >>396 他人に物を聞く態度じゃない ここにいるのは親しい友人じゃない
400 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 06:34:12 ] で、何がわからんの? 足し算して割り算するだけだろ?
401 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 09:14:50 ] >>393 excelのVBAで充分 そこで人間性を磨いて来い
402 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 22:03:09 ] >>391 ですが、今日までの課題だったので 情報科の人に教えてもらい、無事解決しました。 基礎なのでさすがに学校で聞くのは気が引けました。
403 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 22:04:35 ] 何も解決してないだろw
404 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 22:17:35 ] continueがない!!gotoで代用した。
405 名前:デフォルトの名無しさん [2008/12/13(土) 01:30:41 ] >>404 お前はVBを知ってるのかと小一時間(ry
406 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 01:57:10 ] >>405 whileとかforのループのcontinueね。あんの?
407 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 02:44:13 ] Continue Forとかのこと?
408 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 03:31:59 ] 日本 日本語でおk 英 please in Japnese 独 bitte auf japanisch 仏 veuillez dans le Japonais イタリア . prego nel giapponese ポルトガル . por favor no japones スペイン . por favor en japones オランダ ..Japanner gelieve in スウェーデン behaga i japan ギリシア .παρακαλ? στα ιαπωνικ ロシア пожалуйста в японце トルコ . Japoncata tamam. 中国 請在日文 沖縄 やまとぅぐちっしいい アイヌ . sisam itak ani ukoitak yan. 大阪民国 日本語でおkや
409 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 09:34:26 ] >>408 日本語でおk
410 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 13:23:33 ] フイタ
411 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 13:25:30 ] >>405 いやおまえの方がVB知らなさ過ぎる。 .NET以後にVBはじめた情報弱者のにわかは消えろよ。
412 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 15:11:55 ] .NET以降にVBはじめたら情報弱者!うは
413 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 15:20:02 ] いやまあ、スレがスレだからね。 TPOを考えれば>>411 のように罵倒されてもまあ仕方がない面はある。
414 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 15:24:00 ] このスレ時々スレタイの意味が理解できてないやつが混じるんだよな。
415 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 15:27:20 ] >>412 これは正解。普通C#選ぶ。あえてVBを選ぶ理由がない。
416 名前:デフォルトの名無しさん [2008/12/13(土) 16:14:52 ] 405 はVB6でgoto使うのはスパゲティの始まりだから continueのためだけにgotoに逃げるんじゃねぇ!って事を 言いたかったんジャマイカ? わからんけど。
417 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 17:21:49 ] でもifのネストが深くなるよりわかりやすいんじゃね。
418 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 09:43:20 ] 日頃はVC使い。今更VB6始めたが、(VCもそうだが)仕事とかではない VB6でdllexportするっていったら、基本的にはOCX化するのみ? あと、簡潔に、通常の.objファイルをスタティックリンクする方法とかある? ついでに参加 >>415 最近、VB6で書かれたマルウェアが増えてきて、ちょっと勉強しとこうと思ったのが、 いまさらVB6やろうと思ったきっかけ どう考えてもVCで書いた方が楽なような処理を ごりごりVB6で書いてあるようで、もしかすると、難読化のつもりもあるのかもしれん あと、IDE軽かったから、遊ぶ分にはいいかなとw
419 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 10:49:40 ] 恥ずかしいにもほどがある
420 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 11:13:14 ] OCX化というよりActiveX(COM)化、EXE, DLL, OCX 形式のCOM。 ものすごい裏技でVBの関数を直接呼び出す方法もあるちゃあるが現実的ではない。 >最近、VB6で書かれたマルウェアが増えてきて VBSなどで書かれてるその手のスクリプトをそのまま流用できるからじゃないのかね。 COMの扱いは簡単だしランタイムも大概入っている。
421 名前:デフォルトの名無しさん [2008/12/17(水) 13:53:25 ] 流れぶった切って申し訳ない。 vbは余り馴染みがなく今から記述することが出来るかどうかお教え頂きたい。 VBで作成したアプリに中国語を表示したい。 OSの設定ロケールは日本語。 vb6jp.dllはインストール済み。 OSのロケールが中国の場合は上手く中国語が表示出来ました。 日本ロケールだと文字化けしてしまいます。 SetThreadLocaleを使いロケールを変更してみましたが効果ありませんでした。 SetLocaleInfoは使い方が解りませんでした…。 ロケール変更にて文字化けを直すことは可能なのでしょうか? お教え願います。
422 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 16:01:54 ] あきらめるか、.netにする。
423 名前:デフォルトの名無しさん [2008/12/17(水) 20:05:59 ] >>421 中国語版のVB6.0で開発すればできるよ。
424 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 20:26:15 ] 似たような質問 ttp://www.biz.kotaete-net.net/Default.aspx?pgid=14&qid=160648281686
425 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 01:44:45 ] >>422-424 回答ありがとうございます。 自分で調査したうえでそのような予感はしてましたが・・・。 特に424さんありがとうございました。 何故ダメなのか?という理由までわかったのですっきり諦められます。 別の方法で処理を回避、またはオペレーション誘導などで 問題を回避したいと思います。 皆さんありがとうございました。
426 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 12:13:42 ] VB6にての質問。 ファイル名が文字化けしているファイルを、コモンダイアログで指定して読み込みたいんだけど、 読み込んだ段階でパス名が変わってしまって、読み込みが出来ない。 解決策はありますか?
427 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 13:40:42 ] 文字は化けてなどいない
428 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 20:41:41 ] リネームしたら
429 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 12:19:15 ] >>427 一般的に文字化けと言うと思う。 >>428 リネームしたら確かに読み込めるけど、そのままいける方法が無いかなとね。
430 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 13:23:25 ] >>429 何がどう化けたと思ってるんだ?
431 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 14:19:53 ] UNICODEのファイル名を読んで化けたとか言うオチじゃあるまいな
432 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 15:07:57 ] VB6でMDBからデータを引っ張りクリスタルレポートに出力しています。 最初はクリスタルレポート8.5を使っていたのですが使いにくいので前使っていた4.7を入れなおしました。 プリンターとプレビューの出力は上手く行くのですがテキストファイルやCSVの外部ファイルにエクスポートの際に 実行時エラー20540 エクスポート DLL がないかまたは古いです。 というエラーメッセージが出ます。 散々ぐぐりましたが解決策が見つかりません。 何かコンポーネートか参照をし忘れてるのでしょうか?
433 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 16:12:02 ] OSのクリーンインストールからやり直して、やっぱりエラーが出てから文句言え
434 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 18:40:38 ] リネームできるんだからよめるだろ
435 名前:デフォルトの名無しさん [2008/12/20(土) 09:45:58 ] 根本的に変な質問かもしれませんが教えて下さい。 VBで作られたEXEはデバッグというかコードを 読むことができるんでしょうか? Visual Studio 6.0は入ってます。 正直なところ、EXEはアセンブラで読むしかない みたいなイメージがあるんですが・・・
436 名前:デフォルトの名無しさん mailto:sage [2008/12/20(土) 10:16:52 ] 読めない
437 名前:デフォルトの名無しさん mailto:sage [2008/12/20(土) 11:24:20 ] VB用の逆アセツールもあるけどね
438 名前:デフォルトの名無しさん [2008/12/20(土) 11:29:25 ] >>435 www.watahiki.info/vbsvp98/q_and_a/vbprog/vbdecomp.html
439 名前:デフォルトの名無しさん [2008/12/20(土) 19:20:56 ] Dynamic HTML Editing Control SDK を入手できるWebサイトは? まあ無くても、もう持ってるから別に困りませんが。
440 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 08:23:22 ] >>439 MSDN
441 名前:デフォルトの名無しさん [2008/12/24(水) 00:03:19 ] VB6.0でエクセルのAVERAGEみたいな計算できませんか? | 10| 20| |=AVERAGE(A1:C1)
442 名前:デフォルトの名無しさん mailto:sage [2008/12/24(水) 00:11:07 ] (10+20)/2
443 名前:デフォルトの名無しさん mailto:sage [2008/12/24(水) 00:13:39 ] >>441 スレタイどおりで乙
444 名前:デフォルトの名無しさん mailto:sage [2008/12/24(水) 01:27:17 ] (10+20)/3だろ
445 名前:デフォルトの名無しさん mailto:sage [2008/12/24(水) 08:44:14 ] C1のnullをどう扱うかだな
446 名前:441 [2008/12/24(水) 10:56:17 ] >>445 そうなんです。nullをどう処理するかなんです。 IF 文でだらだら書くのがちょっと思い書きました。 >>444 10ではなく15の答えが欲しいのです。
447 名前:デフォルトの名無しさん mailto:sage [2008/12/24(水) 11:21:18 ] FlexGridか何かでやってるのかな /nのnの数を セルの値がisnumericでTrueになったらインクリメントしていくとか
448 名前:デフォルトの名無しさん mailto:sage [2008/12/24(水) 12:25:59 ] >>446 次は最初からそう書こうね 後出しはじゃんけんでも嫌われるだろ?
449 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 06:44:52 ] まだいるかな >>435 Pコードだと、Pコード逆アセンブラがいる >>438 ネイティブコードなら、デバッグシンボル吐かせれば、お好きなように clでいう、/Faみたいなものは、ラベルが大幅に置き換わってしまうため、 ろくな内容にならない exeを直接逆汗したほうがまし
450 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 11:05:47 ] VB5.0のツリービューのノードのテキストは 一部分を色を変えることはできるでしょうか? 例えば hoge (100) という文字列の場合(100)だけ青にするといったことが 可能でしょうか?
451 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 20:49:55 ] たぶん無理。カスタムドローできないよね?
452 名前:デフォルトの名無しさん [2008/12/30(火) 20:41:11 ] vb6.0でImageListコントロールを表示するにはどうしたらいいのでしょうか?
453 名前:デフォルトの名無しさん [2008/12/30(火) 20:47:59 ] 自己解決しました
454 名前:デフォルトの名無しさん [2009/01/01(木) 00:03:49 ] あけおめ
455 名前: 【だん吉】 【1371円】 mailto:chinge [2009/01/01(木) 01:13:05 ] С Новым Годом!
456 名前:デフォルトの名無しさん mailto:age [2009/01/01(木) 03:33:22 ] 質問お願いします。 3種類の商品をi(i=1,2,3)として、 それぞれの発注プログラムを構築したいと思っています。 計算方法は同じなので、iが3になるまでのFor〜Next処理でやりたいのですが、 それぞれのパラメータ(例えば需要INVi)のiのなかに数値を代入して あらかじめ決めておいたINV1からINV3の数値を利用して作りたいと思っています。 この場合はINViのiの中に数値i=1〜3を代入してINV1〜INV3とするにはどのようなコードを書けばよいのでしょうか? また、そうしたらそれ以前に決めておいたINV1〜INV3の数値を参照できるのでしょうか? 初心者の質問で申し訳ないですが、どうかご教授お願い致します。
457 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 10:24:52 ] 何をしたいのかまったくわからん・・・ とりあえず、配列ではだめなんかい?