1 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 17:33:37 ] ここは Visual Basic 〜6.0 の質問スレです。 質問者は使用しているOS、VBのバージョン、サービスパックのバージョン、 「何がしたくて、どうしたけど、どう困っているのか」を明確に書きましょう。 VB.NETは別物なので専門スレで、VBA、APIの質問もそれぞれのスレで。 ○ 質問者の心得 一.質問する前にMSDNやGoogle、過去ログにも目を通してみる。 二.VBScript、インストーラーなどはこのスレでOK。 三.質問は第三者にもわかりやすいよう簡潔かつ具体的に。 四.荒らしは相手しない。 ○ 回答者の心得 一.答えられない質問は無駄に罵倒せずスルー。無理するな。 二.代用法を強制しない。 三.回答する上で必須ではない情報をむやみに聞き返さない。 四.荒らしは相手しない。 五.VB情報募集中。 六.回答は質問者が理解できるよう具体的に。 MSDN Online Japan ホーム www.microsoft.com/japan/msdn/default.asp Visual Studio 6.0 Service Pack 6 msdn.microsoft.com/vstudio/downloads/updates/sp/vs6/sp6/default.aspx Google www.google.co.jp/ ※「まず自分で調べる」クセを身につけよう。
159 名前:デフォルトの名無しさん [2007/06/09(土) 09:23:11 ] >>158 根本的に基礎を勉強しなきゃ話にならないとは思うけど ”イミディエイトウィンドウ”という所に文字を表示する機能がDebug.Print >>146 のソースの中にDebugPrintてあるのは確認用で実際のフォーム内には表示されない なので表示するためにはラベルやテキストボックスに表示させる必要がある ぶっちゃけどれ位かけるの? ボタン押してラベルの文字と色を変更することくらいはできるの?
160 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 11:19:36 ] むしろ今からVB6を「基礎から」勉強してどうする。
161 名前:デフォルトの名無しさん [2007/06/09(土) 14:50:50 ] >>160 会社によっては未だにVB5使ってるところもあるんだし、 勉強するのに時代遅れもなにもないんじゃない? 必要だから習得する。 必要なければ習得しない。 こんなもんでしょ?
162 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 15:13:25 ] むしろこのスレの住人なら もうバージョンアップしない「 完 成 さ れ た 」この言語を 一生使い続けるぐらいの気持ちで
163 名前:デフォルトの名無しさん [2007/06/09(土) 15:22:47 ] >>162 そこまでは愛せない俺ガイル
164 名前:125 [2007/06/09(土) 15:36:26 ] >>159 遅くなってすいません 下の二行に書かれていることはできると思います 本当に簡単なことは多分できるのですが、例えば Option Explicit Public Enum ELEVEL LV_PLS = 1 LV_MIN = 2 LV_MUL = 3 LV_DIV = 4 End Enum Public Type TMATH Level As ELEVEL Max As Long Min As Long Length As Integer Brackets As Byte End Type などのソースはいきなり見たことない書き方の連続で 何が何を意味してるとかが全く分からない状況です・・・
165 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 15:49:48 ] >>164 そんな事すらいちいち教えなきゃいけないのか? 自分で調べる気は毛頭ないのか? トイレまで他人が手伝ってもらわないといけないのか? ふざけんなこの野郎
166 名前:デフォルトの名無しさん [2007/06/09(土) 15:51:25 ] >>164 基礎を勉強してからアプリなり何なり作るといいと思うよ。 処理云々以前の問題。
167 名前:デフォルトの名無しさん [2007/06/09(土) 15:58:10 ] EnumもTypeも調べられない程度の人間にプログラムは向いてないんだってばっちゃが言ってた!
168 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 18:09:57 ] >正誤に関らず ・・ という部分が非常に気持ちわりいな 誰か、正誤判定出来るよう修正キボンヌ
169 名前:デフォルトの名無しさん [2007/06/10(日) 01:04:18 ] >>168 正誤判定はしてるんだろ? 指定された時間が経過したら正解率出すんだし。 答える度に毎回ヴィジュアル的に軽く表現させる程度なら 普通にやるもんだろーと思うが。 質問者が言ってるのは、 正解でも不正解でも次々と問題が表示されていくってことだと思うんだが。
170 名前:デフォルトの名無しさん [2007/06/10(日) 11:31:53 ] SMTPでメール受信するプログラムをVBで作成しようとかんがえているのですが、受信したメールをポップアップで表示するのは可能ですか?
171 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 11:42:18 ] >>170 SMTPでメールを受信とは、サーバを作りたいと言ってるの?
172 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 11:50:28 ] >>170 受信したメールは貴方がメールだと思っているだけで、実はタダの文字列なんじゃないか?
173 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 12:00:44 ] いい感じに荒れてきた
174 名前:デフォルトの名無しさん [2007/06/10(日) 12:50:39 ] BSMTPの話?
175 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 12:53:29 ] >>173 つ アロエ 肌にいいらしいぞ
176 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 13:14:50 ] このスレにSMTPは送信用のプロトコルだと勘違いしてるやつがいる。
177 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 14:03:02 ] あげあしとり出現w
178 名前:125 [2007/06/10(日) 16:15:19 ] 取りあえず今自分なりの書き方でプログラムを作っていて 一個一個順を追って152に書いたことに近づけていっている感じなんですが 取りあえずフォームが開いたらランダムで一つの数式を表示しようということを やろうとしていて Randomize Dim a As Integer Dim b As Integer a = 99 b = 10 Label1.Caption = CInt(Rnd(a) * 100) Label1.Caption = CInt(Rnd(b) * 100) Label1.Caption = CStr(a) & "+" & CStr(b) と書いたんですが、これだとaとbの値が変化せずに99+10と表示されてしまい 値が固定化されてしまいます・・・ ランダムの効果を利かせるには何かソースが足りないんでしょうか?
179 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 16:24:35 ] ワラタ なんかこうなってくると釣りクサイよなwww
180 名前:デフォルトの名無しさん [2007/06/10(日) 17:08:23 ] 初心者の俺でも分かる。 1行ずつ追っていけよww
181 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 17:10:27 ] 相手にするから付け上がる
182 名前:125 [2007/06/10(日) 17:23:20 ] いや142さんのをヒントにやってみたつもりだったんですが・・・ 2桁同士の加算にしたいから上限99、加減10に設定して その値をランダムかしてa+bのところに表示 みたなイメージで書いたつもりです
183 名前:デフォルトの名無しさん [2007/06/10(日) 17:29:48 ] うるさい だまれ
184 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 17:35:17 ] (´・ω・)
185 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 17:42:30 ] >その値をランダムかして ってランダム化表示してるだけだろ?aとbは元の値のままぢゃん
186 名前:125 [2007/06/10(日) 18:42:37 ] a = 99 b = 10 のすぐ下の Label1.Caption = CInt(Rnd(a) * 100) Label1.Caption = CInt(Rnd(b) * 100) でランダム化して、その下の Label1.Caption = CStr(a) & "+" & CStr(b) でランダム化したa、bをa+bの形式で出力できると思ったのですが どの辺がおかしいですか? プログラムを色々前後させてやっても値が0になったりしてしまいます・・・
187 名前:デフォルトの名無しさん [2007/06/10(日) 18:48:48 ] ヘルプ使えよカス Rnd()でググるなりしてもすぐ解決するだろうに いちいちその程度のことを人に聞くなよタコ助が
188 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 18:49:12 ] >>186 >>165
189 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 19:35:21 ] >ランダム化したa、bを ランダム化してねぇぇぇぇぇぇぇぇ! ...それともRnd()は呼び元で用意しているパラメータの値を書き換えるのか?
190 名前:125 [2007/06/10(日) 19:49:48 ] すいません、調べてもあまり出てこないし ヘルプも自分はインストールしてなかったし今手元にCDもないんです・・・ Dim a As Integer Dim b As Integer をDim arandom As Integer とか色々書き換えてみましたが違うみたいで Label1.Caption = CInt(Rnd(a) * 100) Label1.Caption = CInt(Rnd(b) * 100) でa、bをランダムかしてるのかなと思ったんですが Rnd(a)とかの表現がおかしいですか?
191 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 19:56:51 ] 質問は手元にCDがある状態になってからにしてくれ このままではお前のくだらない質問だらけでスレがいくつあっても足りない はっきりいって迷惑なんだよ
192 名前:デフォルトの名無しさん [2007/06/10(日) 20:13:14 ] くだらないはないんじゃないか? もともとVBに関する質問をするスレなんだから 初心者はホントに簡単なプログラムでも微妙なとこ どうすればいいとかわからんもんだよ お前も慣れるまではそうだっただろ? 何なら俺が125の実現したい機能全部書いてやってもいいけどね
193 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 20:17:01 ] > Rnd(a)とかの表現がおかしいですか? いいえ。 a,bの値を書き換えるようにしていないのがダメなだけです。
194 名前:デフォルトの名無しさん [2007/06/10(日) 20:18:56 ] >>192 125とあなたでメールでやり取りしてくれ せいぜい125の辞書にでもなればいい
195 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 20:32:38 ] とりあえずマニュアルを入手するのが第一。 これはVBScriptのだけど、VB6でも同じだからよく読んでみろ。 www.mhl.janis.or.jp/~winarrow/vbscript/htm/vbs176.htm
196 名前:デフォルトの名無しさん [2007/06/10(日) 20:33:34 ] だからF8キーで1行ずつやってどういう動きをするか見ればいいのに。 Label1.Caption = CInt(Rnd(a) * 100) で、 たとえばLabel1は55と出たとする。 その時のaの値は??? 99だろ? いい加減気づいてよ…。
197 名前:125 [2007/06/10(日) 20:48:58 ] すいません、193さんのコメントで数式はランダムで 上手く出てくるようになりました 明日以降からはしっかりとMSDNをインストールして来れると思うので 最後に今日中にもう一つだけ教えていただきたいのですが 2桁の整数同士を加算したいから142をヒントにして Ransuu = Int((hi - Lo + 1) * Rnd + Lo) をa、bに置き換えてみたんですが 一桁の整数がまだ出てきてしまいます 多分ここがポイントになってると思うんですが、この式は何を行うための 式なんですか?
198 名前:デフォルトの名無しさん [2007/06/10(日) 20:59:45 ] >>197 ステップ実行すりゃいくらでも分かるだろ 何故それをしない? >>142 の式はRansuuに1〜10の値をランダムに代入してるだけだ
199 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 21:01:03 ] 上限と下限の間の乱数を得る式
200 名前:125 [2007/06/10(日) 21:01:57 ] >>198 ステップ実行って何ですか?
201 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 21:03:58 ] やってみればわかる
202 名前:デフォルトの名無しさん [2007/06/10(日) 21:31:01 ] 例えばコマンドがクリックされるたびに 数字が一つ増えていくといったような機能は VBで作ることは可能ですか?
203 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 21:32:23 ] はい
204 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 21:46:41 ] Wubi - Ubuntu installer for Windows pc11.2ch.net/test/read.cgi/software/1181387720/l50
205 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 22:07:53 ] あまりにも初歩的な質問はこっちの方が親切に答えてくれるぞ くだすれVB6.0以前(超初心者向け) pc11.2ch.net/test/read.cgi/tech/1165574205/ 住人は共通化もしれんが
206 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 22:10:36 ] このスレだって、相手のためになるように親切に答えてるじゃないか。失礼だな。
207 名前:デフォルトの名無しさん [2007/06/11(月) 00:42:45 ] 1から全部教えるのは可能だが、 それじゃ人に教えられたことしか出来なくなるからな。 理解せずに"書き方"としてコードを覚えて貰っても意味がない。 同じことの繰り返しになるだけ。
208 名前:デフォルトの名無しさん [2007/06/11(月) 09:16:10 ] これ一度わんくまで質問してもらいたいな どんな素晴らしい回答が帰ってくるのか いや・・・それすらないかもしれんw >>125 現在全てのソースで現状何処までできて何処がどう理解できないのか 折角だからkwsk書いてみ? それの判らない事は教えないと思うけど調べる為の術はきっと優しいお兄さん方が教えてくれるかもしれないw でも・・・・判らない事を適切に調べることができるのもPGとしてのスキルだと思うぜ
209 名前:デフォルトの名無しさん [2007/06/12(火) 11:01:28 ] >>202 こんな感じか? このくらいVBでなくとも余裕だと思うが。 Private m_lCnt As Long Private Sub Command1_Click() m_lCnt = m_lCnt + 1& Label1.Caption = CStr(m_lCnt) End Sub Private Sub Form_Load() m_lCnt = 0& Label1.Caption = CStr(m_lCnt) End Sub
210 名前:デフォルトの名無しさん mailto:sage [2007/06/13(水) 14:24:13 ] VB6でテキストボックスからフォーカスを他へ移さないようにしたいのですが、どうしたらいいんですか? 後、カーソルを左端じゃなくて右端に固定したいのですが…
211 名前:デフォルトの名無しさん [2007/06/13(水) 15:41:21 ] なんのためのプロパティだ。
212 名前:デフォルトの名無しさん mailto:sage [2007/06/13(水) 15:54:20 ] どうして複数のスレで聞くんだろうな 答える人間は一緒なのに
213 名前:デフォルトの名無しさん mailto:sage [2007/06/13(水) 16:56:23 ] スペシャルヒント ろすとふぉーかす せっとふぉーかす あらいんめんと
214 名前:デフォルトの名無しさん mailto:sage [2007/06/13(水) 22:01:45 ] ご冗談を。
215 名前:デフォルトの名無しさん mailto:sage [2007/06/14(木) 08:29:36 ] validateでいいんでね
216 名前:デフォルトの名無しさん [2007/06/14(木) 19:37:29 ] エクセルのデータを読込むために以下のスクリプトを作りました。 Set pExlApp = CreateObject("Excel.Application") Set pExlBook = pExlApp.Workbooks.Open(strFileName) 1段目は正常に動くのですが 2段目が OfficeXP時は正常に動き Office2000時にエラーがでてしまいます。 どのような理由が考えられますか?
217 名前:デフォルトの名無しさん [2007/06/14(木) 20:41:52 ] 2つ質問です。 自作のActivX DLL を exe から呼んでるんですが、 1、プロジェクト→参照 でDLLを参照すると、DLLの配置ディレクトリを フルパスで設定しているように見えるんですが、この認識はあってますか? 2、他のマシンに自作プログラムを持っていくとき、exeとdllの配置場所を任意に したいのですが、どうしたら可能ですか?
218 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 00:09:41 ] >>217 1、ActiveXコンポーネントはレジストリ登録して使えるようになる訳だから、 当然場所はフルパスで設定されている。 2、ActiveX DLLはどんな場所にインストールしようと構わない。 インストーラでActiveXコンポーネントを登録をするようにするだけ。
219 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 00:36:15 ] >>218 なるほど、ありがとうございます。 うすうす勘付いてはいましたが、やっぱレジストリ登録するのか。 ということは、DLLの位置は気軽に移動することはできないってことですね? Win32APIのLoadLibrayEx だといくつかのサーチパス候補のどれかにあれば いい、・・・というようなやり方は無理と。
220 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 00:37:52 ] × いい、・・・というようなやり方は無理と。 ○ いいという仕様ですが、そういうやり方は無理と。
221 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 05:57:23 ] Msxml2.XMLHTTPとかWinHttp.WinHttpRequest.5.1などを使用して Webページをリクエストした時に 送られてくるクッキーを取得したいのですが これは可能なのでしょうか?
222 名前:デフォルトの名無しさん [2007/06/15(金) 09:56:07 ] 質問ですが 例えば、コマンドボタンが3つありそれをある規則に従って 順番にクリックしてもらった後に次の処理が実行される といったコードを書きたいんですが、 コマンドが1、2、3と順に押されたことの判定と 最後のコマンドが押された瞬間に行わせたい処理はどこに記述すればいいのでしょうか? コマンドが押される順番は毎回決まってないといった感じなので、 特定のコマンド内に書くやり方ではうまくいかないと思うのですが 何かやり方をご存知の方がいたらご教授よろしくお願いします
223 名前:デフォルトの名無しさん [2007/06/15(金) 10:35:08 ] >>222 こんないい加減なコードとかどうよ?www 動作は環境ないから試してないけど private m_ButtonFlag(1 to 3) as long private m_cnt as long private sub form_load m_cnt = 0 end sub private sub Button1_click m_ButtonFlag(1) = cnt+1 end sub private sub Button2_click m_ButtonFlag(2) = cnt+1 end sub private sub Button3_click m_ButtonFlag(3) = cnt+1 end sub private sub ButtonManage dim i as long for i = 1 to 3 if m_ButtonFlag(i) =0 then exit sub end if next i if m_ButtonFlag(1)= 1 and m_ButtonFlag(2) = 2 and m_ButtonFlag(3) = 3 then msgbox "ボタンが123の順に押されました" end if end sub private sub Button4_Click erase m_ButtonFlag:m_cnt=0 end sub
224 名前:デフォルトの名無しさん [2007/06/15(金) 10:37:42 ] 書き忘れてた ボタンのクリックで ButtonManage を最後に追加しないと判定しないわw
225 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 11:55:18 ] >216 エラーメッセージくらい書けよ
226 名前:デフォルトの名無しさん [2007/06/16(土) 02:40:44 ] >>223 変数cntが未定義&インクリされてない件について それじゃどの順番でボタン押しても、 配列の値はみんな同じじゃね?w
227 名前:デフォルトの名無しさん [2007/06/16(土) 02:43:19 ] m_cntにも0しか代入してねぇwwwワロタwwwww
228 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 04:59:00 ] 第三者が通知を受けてチェックすれば言いだけジャン。 Private m_IdQue As String Private m_ValidOrder As String Private Sub Form1_Load() m_IdPool = " " 'ダミーの3桁データを入れておく m_ValidOrder = "123" ' 最初の規則は123の順 End Sub Private Sub Button1_Clock AddEventToQue "1" End Sub Private Sub Button2_Clock AddEventToQue "2" End Sub Private Sub Button3_Clock AddEventToQue "3" End Sub Private Sub AddEventToQue(id As String) m_IdQue = Right(m_idQue, 2) & id If m_IdQue <> m_ValidOrder Then Exit Sub End If ' 規則の順に押された。 DoNextProc ' 次の処理 End Sub 規則を変えたくなったら、好きなタイミングでm_ValidOrder を変更すればいい。
229 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 05:05:38 ] ミスった、コードの中の m_IdPool は m_IdQue に置き換えて読んでくれ。 修正漏れがあった。
230 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 05:07:30 ] しかも、Clock になってた oRzz
231 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 11:57:16 ] >>222 クラス使ってステートマシン作るのがいいと思う。 実際書いてみたんで要望があれば言ってちょ。
232 名前:デフォルトの名無しさん [2007/06/16(土) 14:55:25 ] VBからAccessにデータを追加する場合 オートナンバーの項目はどうすればいいのでしょうか? wrkSql = wrkSql & "INSERT INTO MSTDB VALUES(" wrkSql = wrkSql & "" & & "," 'オートナンバー wrkSql = wrkSql & "" & wYear & "," '年 wrkSql = wrkSql & "" & wMonth & "," '月 wrkSql = wrkSql & "" & wDay & ")" '日 'クエリ実行 gConnDB.Execute wrkSql これの一番上のオートナンバーの追加がわかりません。
233 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 18:36:29 ] >>232 オートナンバーはINSERTの対象にしなけりゃいいんだよ。 勝手に値が入る。
234 名前:デフォルトの名無しさん [2007/06/16(土) 21:25:30 ] ありがとうございます
235 名前:222 [2007/06/17(日) 10:11:22 ] 遅くなってすいません、なぜか規制がずっとかかっていて書き込めませんでした・・・ みなさんいろいろありがとうございます >>228 buttonをcommandに変えてそのまま実行してみたんすが Private Sub AddEventToQue(id As String) というところの AddEventToQueでsubまたはfunctionが定義されていませんという表示が出てしまいます・・・ ここを変数宣言してみたり色々やってみたりしたんですが、まだうまくいかないので アドバイス頂けると助かります >>231 ありがとうございます クラス使ってステートマシンというのについてよろしければ もう少し具体的に教えていただけませんか? 取りあえず今はコマンドが3つ押されたことを認識したら 例えば画面上にあるラベル内の数値などが変更されるといったようなことを目指してます
236 名前:231 mailto:sage [2007/06/17(日) 12:39:24 ] >>235 こんな感じ '---- クラスモジュール CInputOrderValidator ---- Private mInputCount As Integer Private mValidInputOrder() As eInput Private mInivalidInputEntered As Boolean Public Event ValidationFinished(result As eValidationResult) Public Enum eState Initial = 0 DuringInput = 1 ValidationFinished = 2 End Enum Public Enum eInput Button1 = 1 Button2 = 2 Button3 = 3 End Enum Public Enum eValidationResult Indeterminate = 0 Invalid = 1 Valid = 2 End Enum Private Sub Class_Initialize() mValidInputOrder = GetDefaultValidInputOrder() Me.Reset End Sub
237 名前:231 mailto:sage [2007/06/17(日) 12:40:54 ] Private Function GetDefaultValidInputOrder() As eInput() Dim vValids() As Variant vValids = Array(eInput.Button1, eInput.Button2, eInput.Button3) Dim valids() As eInput Dim i As Integer Dim lastIdx As Integer lastIdx = UBound(vValids) ReDim valids(lastIdx) For i = 0 To lastIdx valids(i) = vValids(i) Next GetDefaultValidInputOrder = valids End Function Public Sub Reset() mInputCount = 0 mInivalidInputEntered = False End Sub Public Property Get State() As eState If mInputCount = 0 Then State = Initial ElseIf mInputCount >= Me.ValidInputLength Then State = ValidationFinished Else State = DuringInput End If End Property
238 名前:231 mailto:sage [2007/06/17(日) 12:42:08 ] Public Property Get ValidInputLength() As Integer ValidInputLength = UBound(mValidInputOrder) + 1 End Property Public Property Get ValidationResult() As eValidationResult If Me.State = ValidationFinished Then If mInivalidInputEntered Then ValidationResult = Invalid Else ValidationResult = Valid End If Else ValidationResult = Indeterminate End If End Property Public Sub SetNextInput(nextInput As eInput) If Me.State = ValidationFinished Then Exit Sub End If If mValidInputOrder(mInputCount) <> nextInput Then mInivalidInputEntered = True End If mInputCount = mInputCount + 1 If Me.State = ValidationFinished Then RaiseEvent ValidationFinished(Me.ValidationResult) End If End Sub
239 名前:231 mailto:sage [2007/06/17(日) 12:43:38 ] '---- Form1 ---- Private WithEvents mValidator As CInputOrderValidator Private Sub Form_Load() Set mValidator = New CInputOrderValidator End Sub Private Sub Command1_Click() mValidator.SetNextInput (Button1) End Sub Private Sub Command2_Click() mValidator.SetNextInput (Button2) End Sub Private Sub Command3_Click() mValidator.SetNextInput (Button3) End Sub Private Sub mValidator_ValidationFinished(result As eValidationResult) If result = Valid Then MsgBox ("OK !") Else MsgBox ("NG !") End If mValidator.Reset End Sub
240 名前:222 [2007/06/17(日) 14:30:34 ] ありがとうございます まだコードを実行してないんですが、これを実行する場合って Buttonのフォームが必要ですよね? 本を見た感じだと画面左のコマンドやらラベルやらを引っ張ってくる場所から ボタンも引っ張ってこれるようになってるっぽいんですが、自分のVB6.0には 入ってないっぽいんですよね・・・画面色々いじくって表示させられないか試したりもしたんですが・・・ あとこれを実行して上手く自分の目的の機能を実現するためには、コマンドやボタン 以外にもフォーム上に引っ張ってくるべきアイテムはありますか?
241 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 18:39:51 ] >>240 必要な操作は、 (1) プロジェクトにクラスモジュールを追加して、プロパティグリッドで名前を"CInputOrderValidator" に変更して>>236 以降のコードを貼り付ける。 (2) Form1にコマンドボタンを三つ(Command1、Command2、Command3)貼り付けて >>239 のコードを貼り付ける。 これだけだよ。
242 名前:デフォルトの名無しさん [2007/06/17(日) 19:04:45 ] >>235 まさかとは思うが、 DoNextProc これもコードとしてそのまま書いたのか?
243 名前:デフォルトの名無しさん [2007/06/17(日) 23:04:21 ] >>242 そのまま書いていました・・・ >>241 実行できましたありがとうございます この場合だとコマンド1、2、3の順で押された場合はAの処理 他の順で押される5通りの場合はBの処理が行われるといった感じになっていて これを全てバラバラに考えて(例えば、2、1,3の順で押されたらCの処理) といったようにしたいと思ってクラスモジュール内でこの機能を実現するために 関係してきそうな部分を探して考えてみたんですがいまいちどこをいじればいいかが分かりません・・・ 何度も申し訳ありませんが、これに関してアドバイスいただけると助かります よろしくお願いします
244 名前:デフォルトの名無しさん mailto:sage [2007/06/18(月) 09:09:47 ] >>243 一連の流れを眺めてみたけどさ、もっと本質を理解したほうが良いと思うよ VB6以前なら強力なデバッグ実行機能もあるんだしさ ・暗記すべき部分はきっちり暗記汁(VBの予約語等 ・エラーが出たら、メッセージ良く嫁 ・デバッグ実行でどんな処理がどこで行われているか調べるべし ・コードの全体をイメージ出来るまでひたすら読んだり書いたりデバッグ実行したり汁 ・つーか、ちっとは自分で考えろw
245 名前:デフォルトの名無しさん [2007/06/18(月) 17:16:16 ] >>243 Select Caseも知らんのか。 あと>>242 で言ってるのは要約すると、 サンプルとして挙げられたソースに記述してあるコメントくらい普通に理解しろってことなんだが… 分かるか?
246 名前:デフォルトの名無しさん mailto:sage [2007/06/18(月) 19:56:33 ] ここ1,2週間で聞いてきてるやつは全部同一人物っぽいな・・・
247 名前:デフォルトの名無しさん mailto:sage [2007/06/18(月) 19:59:25 ] 終わった言語をいまさらスタートする奴なんてそんなにいないしな
248 名前:デフォルトの名無しさん mailto:sage [2007/06/18(月) 22:03:55 ] 勝手に終わってろカオス
249 名前:デブオ [2007/06/19(火) 16:58:10 ] すみません。VB(6.0)で指定されたURLにファイルをPOSTする。 又、指定されたURLからファイルをダウンロードすことってできますか? できるとすればどのようにすればいいのでしょうか? どなたか教えてください。
250 名前:デフォルトの名無しさん [2007/06/19(火) 17:00:28 ] >>249 WEBBROWSERコントロールでも使ってろよw
251 名前:デブオ [2007/06/19(火) 17:16:19 ] WEBBROWSERコントロールというのは標準で入っていないようなのですが? MSWebDVDコントロールのことでしょうか?
252 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 17:24:11 ] マジレスすると メニュー>プロジェクト>コンポーネント>コントロールで 該当するやつのチェック外せばいいよ どのコントロールかぐらいは自分で調べろ
253 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 17:33:11 ] ×チェック外せば ○チェック入れれば
254 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 19:06:09 ] VB6のWebBrowserコントロールは ビスタでも問題なく使えますか?
255 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 21:20:25 ] 使えるかどうか自分で試して それをここに報告すれば良いのでは
256 名前:デフォルトの名無しさん mailto:sage [2007/06/20(水) 00:49:42 ] VBって遅いよな
257 名前:デフォルトの名無しさん mailto:sage [2007/06/20(水) 01:37:24 ] Cって速いよな でもC++って劇遅だよな
258 名前:デフォルトの名無しさん mailto:sage [2007/06/20(水) 02:09:20 ] >>256-257 つまんねえ釣りはVIPでやれ
259 名前:デフォルトの名無しさん [2007/06/20(水) 15:30:14 ] FlexGridの行選択についての質問です FormLoadに flexGrid.SelectionMode = flexSelectionByRow をいれることにより行選択は可能になりますが、 範囲指定を不可能にする方法はありますか? また選択している行の位置を求める方法はどうするのでしょうか?