(´-`).。oO(VB初心者質問スレ Part11)
1 :
デフォルトの名無しさん :
02/06/18 15:04
2 :
デフォルトの名無しさん :02/06/18 15:09
スレ立て乙〜
3 :
デフォルトの名無しさん :02/06/18 15:13
凹カレー
5 :
デフォルトの名無しさん :02/06/18 16:36
,,. -‐''''''''''''''''''''''‐- 、 , ‐'":::::::::::::::::::::::::::::::::::::::::::`'‐、 /:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::ヽ / :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ヽ / ::::::::::::ri:::::::::::::::::::::::::::::..........,,,,,,,,,,,,', /:::::::::::;::::::/::::/! i:::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;i i::::|::::::;i:::::/l:::/ | ';:::::ト;::::::::::::::::::::::::::;;;;;;;;;;;;;;;;i |:::|:::::/|::/ |:/. | ヽ;::l ヽ:::i丶::::';:::::::;;;;;;;;;;;;;;;;;i |:::|::/ !/ _レ=@ v、::i ヽ:', \::i丶:;;;;;;;;;;;;;;;;;;| |::::i:;', '''''" ヽ ̄ ヾ''''\:::::;;;;;;;;;;;;;;;;;;| |:::::::;;', -─‐- -──-- i::::::;;;;;;;;;;;;;;;;;;| |:::::::;;;i | l l | |::::::;;;;;;;;;;;;;;;;;;| |::::::::;;;l.| | l | |::::::;;;;;;;;;;;;;;;;;;| |::::::::;;;;i| | l | !:::::;;;;;;;;;;;;;;;;;;;| |:::::::::;;;;;:ヽ ,| r───、| |-'|::::;::;;;;;;;;;;;;;;;;;;| 2ゲットできへんかった |:::::::::;;;;;;;;;;;;;`''- ニ,─--,' ‐='"''"|::::;;:;;;;;;;;;;;;;;;;;;;| |::::;;:::;;;ri;;;;;;||::/ `i ̄i.:.:.|:.:.:.:i:.:|::::;;;;;;;;;;;;;;;;;;;;;;;| |:::;;;;::;;;l.';;;;;y' '':.:.:.:.:.:.:''' |::::;;;;;;;;;;i`ヽ;;;;;;| |:::;;;;;;;;;| '/、 |:::;;;;;;i;;;/_,. へ;| ';:|';;;;;;;l i、 ``''ー---------‐,l::;;;;;/リ _,,..ヘ '! ヽ;;V. `|''ー-- ....,,,,,,,,,,,,,,..../:;/-‐''''" '、 i'ゝ‐|-...,,,_ i/ l_,,. -‐''"´ |i l |/| l ハ  ̄ハ''''''''''''r、""ヽ |/ \| ', l | V ヽ./ \ / ヽ /ヽ ',
6 :
デフォルトの名無しさん :02/06/18 16:45
VB.netで作成したアプリケーションは、どのOSで実行可能 なのでしょうか? XP、2000、NT4.0、98あたりは大丈夫だと 思うのですが、95はサポートされないのでしょうか? MSサイトを見ましたが、開発環境の必要システムの記述は ありましたが、実行環境がわかりませんですた。
>>6 それとFreeBSD
それぞれのOSに依存するライブラリがあるので注意。
8 :
デフォルトの名無しさん :02/06/18 17:36
msgboxのダイアログが表示されたとき、 IMEが利用不可(右下で、ツールバーが消えるか、禁止マークがかかる。) となりますが、これはどうやるんですか? 単にIMEモードをOn, Off する方法はわかったんですが、 これが出来ません。
〜oノノハヽo〜 ( ^▽^)/⌒\ , −- ((ニ[二=( 新スレおめでとうございま−−==≡≡す♪ )) /∧=:|| \_/ `ー‐‐' じ/___/
10 :
デフォルトの名無しさん :02/06/18 19:09
/) 、2)Y⌒ ⌒フ + ッ-i'´ ⌒フ (´ ,.-゙ー-、 ろ、 * シ彡ノ"ミVv ) * ノノノノ"ヽヽヽミ シ / ̄ ̄ ̄ ̄ ̄ . ,l')∩ ∩ |)|ヾ ミ <新スレおめ!! ,○)、 ▽ ノjl| YY゙ \_____ {_∃ `l____/⌒'i|  ̄ Yl"゙⌒lY | + ,ト|__/ハ i、 ,iニiニiニユ ゙h,,) ノtYTYヾ\ /''フ''''ー<"ヽ、 /__ノ \ノヽ、 (__) ゞ__)
11 :
デフォルトの名無しさん :02/06/18 21:19
新スレおめでとうございます。 さっそくなんですが、テキストの改行について、ちと教えてもらいたいことが。。。 複数行をオンにしてあるテキストボックスにテキストを入力し、それを複数行をオフにしてあるテキストボックスに表示させると、「○○○・・○○」というふうになるでしょ? これを、「○○<BR>○○」などという風にしたいのですが、どうすればいいのでしょうか?
キタ━━( ´∀`)・ω・) ゚Д゚)・∀・) ̄ー ̄)´_ゝ`)`Д´)-_-)冫、 )ノД`)=゚ω゚)━━!!!!
>>8 TextBox使ってるならIMEMode。
いつでもどこでも自由に変更したいなら
ImmDisableIME(API)かな。
>>11 TextBox2.Text=Replace(TextBox1.Text,vbCrLf,"<BR">)
>>13 ありがとうございます。
MsgBox風なので、TextBox 等はありません。
でもImmDisableIMEというのはMSDNにはあったんですが、
Win32Api.txt にはなくてこまってしまいました。
新スレになったのですか。オメデトウゴザイマス 質問というのは ListViewのカラム部分をクリックしたときに Windowsのエクスプローラーの 「サイズ」のカラムをクリックしたらサイズで降順、昇順にソートする 「ファイルの種類」をクリックしたら種類で降順、昇順ににソートする みたいなのをやりたいんですけど、 これはどうやれば実現できますかね? ちなみにソート処理は独自のものでなくていいです。
新スレ、新スレって 新スレがそんなにめでてーんでせうか!
>>14 そういう時はCの宣言をVBに直して使う。
>>15 SortOrderdを使う。
カラムをクリックしたら
SortOrder反転、てな感じで。
18 :
質問というか人捜しです。 :02/06/19 01:16
M.A.D.D.I.S. stands for Masqueraded, Anonymous, Decentralized,
Dynamic Information Sharing. The goal is to create a peer-2-peer
system which is more advanced than other implementations.
Highlights: Decentral, MD5s, Masqueraded, Chunk-D/Ls [...]
http://ctrl-alt-elite.com/index.php?content_id=156 http://sourceforge.net/projects/maddis/ >It is difficult for me to fix the problems with japanese files. I will
>post a job at sourceforge to fix these problems for some japanese
> people.
>Also, if you know somebody japanese who can write programs in
> Visual Basic 6, please tell him to take a look at MADDIS and fix
> these problems.
ってことで、オープンソースの中央サーバを必要としない匿名ファイル共有
ソフトの開発者が「私には日本語名ファイルが取り扱えるようにすることは
出来へん!」とサジを投げてます(w。
VB6のプログラミングに「腕に覚え」がある人は開発者名に名を連ねてみま
せんか?
20 :
デフォルトの名無しさん :02/06/19 08:48
質問 プリンタで縦横の解像度が違う場合 Printer.DrawWidth = 10 Printer.Line (100, 100)-(1000, 1000), , B こうやると線の太さは縦横違うの?
>>20 プリンタに依るけどアスペクト値調べるのが確実。
22 :
デフォルトの名無しさん :02/06/19 09:23
配列がNothingなのかどうか調べる方法は無いのでしょうか?
26 :
デフォルトの名無しさん :02/06/19 09:47
>>23 どうもありがとうございました。
うまい具合にプログラムが流れました
27 :
デフォルトの名無しさん :02/06/19 11:52
>>17 ありがとうございます。
でも、「そういう時はCの宣言をVBに直して使う。」
という意味がわかりません。
28 :
デフォルトの名無しさん :02/06/19 11:54
WinXP で、CAB32.DLL を用いてcabを解凍しようとしたんですが、解凍でません。 HPでは、対応は2000までとなってるんですが、 XPでやって出来た方はいないでしょうか?
>>28 どうできないか書かない奴は猫のクロスケにた(略
BOOL ImmDisableIME(
DWORD idThread // IME を無効にするスレッド
);
↓
public declare function ImmDisableIME(byval idTHread as long) as long'0=true 1=false
こういうこと。(直打ちなので未確認)
>>28 使ったこと無いがCAB解凍ルーチンで
2000で使えたんならXPでも多分使える。
自分のコードのほうが間違ってる可能性が高いな。
>>31 9X, 2000では正常に動作したexeをXPで試したらできなかったんです。
具体的には、-x のコマンドを入れた cab関数の返り値が0以外(0が正常)
となっており、DLL内でのことなのでわからないです。
34 :
デフォルトの初心者 :02/06/19 13:48
文字列。いらない文字列を指定してどんどん引っこ抜いて いるのだけ残していくっていうコードはどうすればいいの?
strtokとか
やべ。VBだ。ゴメン。無し。
マシンを殴ったら正常に動きました。 ありがとうございました。
>>37 殴ったら正常に動いただと?
斜め45度チョップじゃないのか?
40 :
デフォルトの名無しさん :02/06/19 15:08
ラベル部分に、▽△を表示されてソート出来るコントロールはありませんか?
41 :
デフォルトの名無しさん :02/06/19 15:50
文字列をファイルに出力する処理について質問です。(6.0、win2000) 出力先のファイル(txt形式)に ==== A B C D ==== …ってな感じで見出しが振られていた場合、 文字列の挿入場所を「見出しAの下」「見出しBとCの間」なんて風に 指定することはできるのでしょうか? どなたかご存知の方、よろしくお願いします。
mid使えう゛ぁ?
>>41 > 文字列の挿入場所を「見出しAの下」「見出しBとCの間」なんて風に
> 指定することはできるのでしょうか?
できません。つか、ファイル入出力に「挿入」は用意されてない。
「RAGNAROK」というゲームのアーカイブを展開後、グラフィックデータを
BMPに変換するツールを海外で発見、使用してみたんですが、エラー
を吐いてしまいます。
幸い、ソースが公開されていたので自分なりにFixしてみようと覗いて
みたんですが、当方超が付くほどの初心者なので原因がサッパリわかり
ませんでした…どなたか教えてください〜。
ttp://treds.co.uk/ragfiles/ro_files/files.htm ↑ここの「Grf Extractor」でゲームフォルダにあるdata.grf展開し、
「SprWiz」でBMPに変換するらしいのですが…。
一応、grfの展開は完了しているようです。
47 :
ImmDisableIME :02/06/19 18:44
>>31 お返事ありがとうございます。
BOOL ImmDisableIME(
DWORD idThread // IME を無効にするスレッド
);
↓
public declare function ImmDisableIME(byval idTHread as long) as long'0=true 1=false
下の、public 以下を貼り付けただけで構文エラーが生じてしまいます。
Lib が無いという怒られかたです。
かってに "imm32"を入れて関数を呼び出したところ、
エラーは起きませんが、正常に動作しませんでした。
48 :
ImmDisableIME :02/06/19 18:57
そーりー。 正常に動作します。 ちゃんとDisableになりました。 でも、赤い禁止マークがつかないし、 Ableに戻せなくなりました。
49 :
デフォルトの名無しさん :02/06/20 00:58
ヘルプで「フォームへのイベントの追加」のところを読んでいて思ったんですが、 フォームで発生したイベントを受け取るClass1のpropertyで Public Property Set Form1(ByVal NewForm1 As Form1) Set mForm1 = NewForm1 End Property とnewForm1がByValで渡されているのはなぜですか? byValはコピーで渡されると思うのですが、 コピーを渡されても、もとのフォームから何も受け取れない気がするんですが・・。 Set Form1は Set mc1.Form1 = Me と呼ばれていたので、コピーでもいいなら Set mc1.Form1 = new Form1 でもいけるかなと試したらだめでした。 自分はまだイベントやオブジェクトについてよく分かっていないので 激しく勘違いをしてるのかもしれませんが・・。
50 :
デフォルトの名無しさん :02/06/20 02:19
>>46 ソース見た。
英語Windows+英語VBじゃないと正常に動作しない。
日本語環境に移植するのはけっこう面倒。
ソース汚いし。
51 :
デフォルトの名無しさん :02/06/20 11:12
質問です。 データコンボ (DataCombo)とDB コンボ(DBCombo) の違いは?
53 :
デフォルトの名無しさん :02/06/20 11:52
質問します。 WebBrowserコントロールでproxyチェッカーまがいのことをやろうとしています。 (本当はInetコントロールで作りたいのですが、postとその結果の取得を上手く行えなかったのでWebBrowserコントロール使用) proxyの変更はレジストリ書換えしないと不可能でしょうか? その場合、WebBrowserコントロールをサブのフォームに貼って、 レジストリ書換え=>フォーム新成=>Navigate=>フォーム破棄 の繰り返しで行くしかないのでしょうか。
WebBrowser とかって、 編集したhtmlソースは、 一度、ローカル等にhtmlファイルを作成してそのファイルを与えなきゃめなんですか? htmlソースを、stringにいれて、そして表示することはできないんですか?
>>54 WebBrowser1.Navigate "about:<HTML><BODY>(●´ー`●)<長過ぎるとダメかも</BODY></HTML>"
56 :
デフォルトの名無しさん :02/06/20 15:26
comct232.ocxってどのヴァージョンのWinから標準で入ってるんですか? 調べたけど見つかりませんでした。 9x系とNT系両方教えて下さい。 こういうのって使わない方がいいんでしょうかね? 使ってるのはUPDOWNコントロールだけなのでコマンドボタンで置き換えられないこともないですし。
57 :
デフォルトの名無しさん :02/06/20 15:49
mdbのあるテーブルの全データを、別のmdbの同一定義のテーブルにそっくり上書きしたいんですが、 どういう方法が効率的でしょうか? 一行ずつよんで、一行づつ登録と言うのしかおもいつかなくて、これは巧いやりかたっぽくないです。
もちろんVBアプリ上からです。 一行づつ読むのは、ADOでやってました。
片方からリンクテーブル張れば一発INSERTできるよ。
リンクテーブルというのは、VB上から晴れるんですか?
61 :
デフォルトの名無しさん :02/06/20 17:09
Set dbMain = wsMyWS.OpenDatabase("C:\tmp.mdb", , ,"ODBC; PWD=TMP") パスワードが設定されているmdbをワークスペースで開きたいんですが、 上記で行ってもうまくいきません。 なにかおかしいでしょうか?
VBでソケットの質問です サーバプログラム: sock.localport = 7777 sock.listen このあと 接続要求を行い、一通りの通信を終えます。 次のリッスン状態にするにはどうすればよろしいでしょうか?
>60 できます。 DAOのTableDefオブジェクトあたりを調べてみると吉。 Accessのヘルプにサンプルもあるよ。 リンクした後は同じデータベース内のテーブルとして扱えるので、 SQLで好きに料理してくれたまへ。
64 :
デフォルトの名無しさん :02/06/20 19:19
悪・質・問 ですか?
>62 MSDNにサンプルあるから読んでみ。 WinSockコントロールを配列にしておくサンプルが載ってるよ。
>>6 >VB.netで作成したアプリケーションは、どのOSで実行可能
>なのでしょうか? XP、2000、NT4.0、98あたりは大丈夫だと
とMe、Windows .NET Server family。
>思うのですが、95はサポートされないのでしょうか?
サポートされません。
>>49 >byValはコピーで渡されると思うのですが、
>コピーを渡されても、もとのフォームから何も受け取れない気がするんですが・・。
「ByValだったら、そのフォームに対して影響を与えないはずでは?」
という疑問ではないのか?
本体でもコピーでも受け取るだけだったらできるでしょ。
Dim f As Form
Set f = New Form1
のときのfはForm1オブジェクト(B)を保持してるんじゃなくて、
Form1オブジェクトのありかを示す値(A)を保持している。
なので、そのありかを示す値(A)はByValで渡した先でも活きてくる。
A(Form1のありか)は宝の地図、B(Form1オブジェクト)は宝。
おれが君に直接B(Form1オブジェクト、宝)を渡さなくても、
A(Form1のありか、地図)を渡せば、君は地図を見て、宝に辿り着ける。
>>67 Cでポインタを値渡しで関数に渡して実体にアクセスするのと一緒ですか?
69 :
デフォルトの名無しさん :02/06/21 14:01
VCで作成したDLLで DATE型を引数に渡す関数を作ったのですが、 VBからその関数を呼び出すときに、 DATE型はどのように指定したらよいですか?
>>69 すんません VB,VCどちらに書いてよいかわからなかったので・・・
逝ってきます。。。
format関数で文字列にして渡せば
73 :
デフォルトの名無しさん :02/06/21 17:35
VBScriptでフラッシュのファイルを起動することは出来るのですが、 一定時間経過後にファイルを強制的に閉じることが出来ません。 ネット上で調べてみると、exeファイルの実行方法は見つかるのですが どのページもそれを終了(ウィンドウを閉じる)させる方法については記述 してないようなのです。 元からそのような方法は無いのでしょうか? どなたか手ほどきをお願いします。 ちなみにソースは以下の通りです。 Dim WSHShell Set WSHShell = WScript.CreateObject("WScript.Shell") WSHShell.Run "C:\share\フラッシュのファイル.exe" , 3 , False
74 :
VB初心者A :02/06/22 00:43
配列の要素の数を取得したいのですが どうすればよいのでしょうか?
>>74 UBound(), LBoun() を調べよ。
>>75 とちった。
LBoun() → LBound()
78 :
デフォルトの名無しさん :02/06/22 08:07
ほんとに初心者ですんません。 プログラムを作ったんですがほかの端末に移すと 動きません。そこでsetup.exeを作りたいんですが どうすればいいんでしょうか。
79 :
デフォルトの名無しさん :02/06/22 08:10
>>78 ファイルと言うところにhoge.exeの作成という項目があるだろ。
>>78 ランタイムが入っていないだけとか?
インストーラーは
ディストリビューションウィザードで作れる
81 :
デフォルトの名無しさん :02/06/22 10:07
>79 exeファイルは作ったんですがそれがほかの端末で動きません。 >80 ディストリビューションって見当たらないんですが・・・。 ほんとに初心者なものですいません。
82 :
デフォルトの名無しさん :02/06/22 10:27
>>81 スタートアップから、MicrosoftVisualStudio→ツール→ディストリビューションウィザード
っていうか、VBランタイムを入れたほうが楽かもしれない。俺ならそうするかな
85 :
デフォルトの名無しさん :02/06/22 13:42
簡単な質問で申し訳ないのですが,update と updatebatch の違いは どういうとこなのですか?
ファイルの更新日時順にソートしたいのですが ListBoxのソートとかを使うと 9:10:50 12:20:21 12:22:52 と、実際の時間は12時の方が最近なのに、 9>1と、先頭の数字の大小で判断されてしまうが為に ↑のような変なソートになってしまいます。 何か上手い方法で更新日時順ソートできないでしょうか?
>>86 09:10:50 のように頭に 0 をつけて桁数を揃えるのが簡単だよ。
88 :
デフォルトの名無しさん :02/06/22 19:22
テキストボックスに数字だけを入れて欲しいんですが 文字が入っているとエラーになるので。 どうにかして上手くチェックする方法はないでしょうか?
89 :
デフォルトの名無しさん :02/06/22 19:55
>82 >83 できました。 ありがとうございました。
>>88 キーボード押すごとにチェック(クソ迷惑)
処理実行時にチェック(現実的)
>>88 KeyPress() 中で KeyAscii を 0 にしていいかドキュメントには書いて
ないけどとりあえず VB6 ではそれらしく動いた。
Private Sub Text1_KeyPress(KeyAscii As Integer)
If 0 < InStr("0123456789", Chr$(KeyAscii)) Then Exit Sub
If KeyAscii = 8 Or KeyAscii = 13 Then Exit Sub
KeyAscii = 0
End Sub
92 :
デフォルトの名無しさん :02/06/22 20:06
>>90 いや、その数字かどうかのチェック方法がわからないんです・・・・
一文字づつMidで取り出して、それが0〜9であるかチェックするとか
そんな方法しかないんでしょうか。
>92 ValしたのをStr$したのと元のを比較するとか。
>>90 なんでキーボード押す毎にチェックが糞迷惑なんだ?
>>91 みたいな方法でやれば、普通に入力できてアルファベットや記号だと入力できないテキストボックスが出来るだけだろ。
何が迷惑かわからん。
むしろ、処理時にチェックの方がウザイと思うが。
処理時にチェックって事は、処理開始時に数字だけかアルファベットが入ってるかをチェックして、
入ってたら警告出すならエラー出すなりすることになるわけで。
それを見たらユーザーは設定しなおさないとならない。
だったらハナっから数字以外入力できないテキストボックスを用意するほうが親切だと思う。
>>95 たまーに、キーボード押す毎にチェックして、エラーなら警告出すと言う
想像を絶する糞プログラムがあるから、それを指してんじゃないのか ?
つまり、90のスキルでは「数字以外は入力できないTextBox」をコーディングできずに、 文字入力のたびにチェックしてメッセージボックスを出す想像を絶する糞プログラムしか作れない、 という事ですな。
100 :
デフォルトの名無しさん :02/06/23 13:18
+- フレーム -----------------------------------+ | | +- ラベル (0) -+ +- ラベル ( | | | | … | +------------+ +-------- +---------------------------------------------+ というような感じで、ラベル(n)にマウスカーソルが入ったら ラベル(n)の背景色を変え、他のラベルの背景色は元(デフォルト)に 戻し、どのラベルにもマウスカーソルが入っていない場合は全て デフォルトにしたいんですが、どうやるのがスマートでしょうか? いま考えたのが、ラベル(n)_MouseMoveとForm_MouseMouveを つくり、Private変数InLabelを用意して、ラベル(n)_MouseMoveでは InLabelをTrueに設定して背景色を変え、Form_MouseMoveでは InLabelをFalseに設定して全てのラベルの背景色を元に戻す、という ものです。
>>100 なんかそれ、センス悪いなあ。
気にさわったらごめんね。
おまえら、製品の出荷を6月末で中止します。 Visual Studio 6.0 Professional Edition Visual Basic 6.0 Enterprise Edition Visual Basic 6.0 Professional Edition Visual Basic 6.0 Learning Edition Visual C++ 6.0 Enterprise Edition Visual C++ 6.0 Professional Edition Visual C++ 6.0 Learning Edition Visual InterDev 6.0 Visual J++ 6.0 Professional Edition Visual J++ 6.0 Standard Edition
>>102 .NETがこけたらどうするんだろう・・・。
104 :
デフォルトの名無しさん :02/06/23 16:23
質問させてください WinXPなのですがVB6でアプリケーション作っていて 常駐するようなものなのですが問題点が2つあります。 1)タスクバーにFormの表示が出る、出ないを動的に変更したいが なぜかShowInTaskBarでは出来ない・・・。 2)常駐している際に、タスクマネージャを開くと、 「アプリケーション」の欄に常駐しているのが出てしまう。 そこらへんで見かける常駐プログラムだと、「プロセス」の方にしか 表示されていない模様。これはどうやってやればいいのか・・・。 この2つです。よろしければ教えてください・・・。
105 :
デフォルトの名無しさん :02/06/23 16:25
簡単な質問で申し訳ないのですが,update と updatebatch の違いは どういうとこなのですか?
106 :
デフォルトの名無しさん :02/06/23 16:28
107 :
デフォルトの名無しさん :02/06/23 16:52
MMCでメディアプレイヤーを作成したのですが、再生できないファイルがいくつかあります。普通のメディアプレイヤーでは再生できるので、ファイルが破損しているとは思えないのですが、なぜでしょうか?
110 :
デフォルトの名無しさん :02/06/23 17:02
>>109 それ言って良いのはPC初心者板に来る素人のみ。
>>100 一応それでできるけど、(Private 変数は不要だと思うが...) 実際やると、
あるラベルからいきなり他のコントロールにマウスをすばやく動かすとフォームに
対して Form_MouseMove() イベント発生しない時があるから、ラベルの色が残っ
てしまったりする。これをきちんとやるのは、なかなか厄介。
>>104 ヘルプ読んでる ?
> なぜかShowInTaskBarでは出来ない・・・。
ShowInTaskbar プロパティ
(中略)
実行時には値の取得のみ可能です。
115 :
PERFECT-CRIME ◆2chGGGsY :02/06/23 18:15
VB6 Learning Editionて使える?
116 :
デフォルトの名無しさん :02/06/23 18:31
複数のテキストボックスに対して同一テキストを表示させたい。 条件は以下のとおりです。 ・それぞれのテキストボックスは異なるオブジェクト名(つまり配列になっていない) ・なるべく簡単にかつ保守しやすい方法で うまい方法はないでしょうか?よろしくおねがいします。
>>116 > 複数のテキストボックスに対して同一テキストを表示させたい。
> つまり配列になっていない
設計を見直せ。
118 :
デフォルトの名無しさん :02/06/23 19:19
>>117 つまりいい方法は「設計を見直す以外ない」ということでしょうか?
>>118 良い方法というか設計悪けりゃ全部わろし。
b.Text=a.Text じゃだめなん?
>>120 b が更新された時も a を更新したいのかなぁ...。だとすると Change
イベントの連鎖にならないようにする必要あるからちょっと面倒。
122 :
デフォルトの名無しさん :02/06/23 19:53
>>120-121 複数というのはえっと、だいたい100から200ぐらいのテキストボックスが
対象となります。なかには配列になっているものもありますが。。。。。
あるマスタのメンテナンス画面です。
それぞれの項目すべてに違った入力チェックがあるため。
すべてを同一名の配列にするのはナンセンスな状態です。
テーブルの設計から見直すのは無理です。
というかそういう権限はありません。
>>116 ってか、何のためにそれをしたいのか、理由を説明せよ。
124 :
>>122 :02/06/23 19:56
さしあたってすっきりさせたいロジックは画面のクリア処理です。 すべての項目をクリアさせる非常に美しいロジックはないでしょうか?
>>122 100〜200のテキストに同じ値を入れたいというその状況はなんだ?
クリアしたいのか?
Controlsコレクションでコントロールを列挙して、
TextBoxコントロールだけを拾い出せ。
こんな感じ? Dim hoge As Object For Each hoge In Form1.Controls If Left(hoge.Name, 4) = "Text" Then hoge.Text = "" End If Next
>>126 のTextBoxは全部TextAみたいな名前になってるのか?:-)
If hoge Is TextBox Then
だ。
128 :
>>122 :02/06/23 20:17
なるほど!ありがとうございました。
130 :
>>122 :02/06/23 20:27
えっと。 Dim hoge As Object For Each hoge In Form1.Controls If TypeOf hoge = TextBox Then hoge.Text = "" End If Next ですね。これでうまくいきました。
>>122 > 100から200ぐらいのテキストボックス
なんちゅーセンスのない設計だ...。
>>131 表計算ソフトでも作るんでしょう。それにしても問題外かw
すまそ。TypeOf抜けてた。
134 :
デフォルトの名無しさん :02/06/23 21:14
簡単な質問で申し訳ないのですが,update と updatebatch の違いは どういうとこなのですか?
ちつこいな、つみは
136 :
デフォルトの名無しさん :02/06/23 22:08
>>134 update 行為
updatebatch ファイル
137 :
デフォルトの名無しさん :02/06/23 22:32
おまいら、騙されるな。 134をよ〜く読んでみろ。 「どういうとこなのですか?」 どういう「とこ」なのですか? こいつは場所を聞いてるんだよ!
どういう「ところ」なのですか?
「ところ」が差すのは物理的なポイントだけでないので問題なし。
>>137 貴方の不注意ですので、お尻を出してください。
139 :
デフォルトの名無しさん :02/06/23 22:44
137は言語障害ですか?(ワラ
141 :
仕様書無しさん :02/06/23 22:48
142 :
デフォルトの名無しさん :02/06/23 23:06
初心者にちょっと毛が生えた程度の奴が初心者スレで 発言の揚げ足とりとか設計なんて出来もしないのに設計について 言及したりとか笑えるね。
言及もできないので、1人つぶやく君が一番笑えるよ。
すみません。在日でしたのでちょっとわかってませんでした。 もうちょっと日本語勉強していきます。
145 :
デフォルトの名無しさん :02/06/24 00:18
質問させてください。 VBの標準EXEを作りそれをアプリケーションから呼び出すのですが そので呼び出し元に戻り値を返却する方法は有りますでしょうか?
>>145 標準EXEじゃなくActiveX Exeにすれば?
147 :
デフォルトの名無しさん :02/06/24 01:28
>>145 まず、そのアプリはどうやって受け取るの?
それ次第だわ。
148 :
デフォルトの名無しさん :02/06/24 10:50
アクティブX を使ってデータベースコンボ(dbcombo)を使用した時 dbcombo.boundtext と dbcombo.text ではどう違うのですか?
149 :
デフォルトの名無しさん :02/06/24 17:20
質問です。 プログラムからEXCELを起動して、ログファイルを作成(もしくは読込)エラー 情報を出力してEXCELを終了するという風にしたいのですが、ログファイルを 作成したあとEXCELが正しくし終了されません。 EXCEL自体は画面上からなくなるのですがプロセスに残ってしまっていて 再度ログファイルを出力しに行くとエラーで終了してしまいます。 どうしたらEXCELが正しく終了するようになるでしょうか?
>150 ご忠告ありがとうございました
このソースのどの変がバグですか? Private Sub log_file() Dim xlApp As Object Set xlApp = CreateObject("Excel.Application") xlApp.Cells(ActiveSheet.Rows.Count, 1).End(xlUp).Offset(1, 0).value="XXXX" xlApp.ActiveWorkbook.SaveAs FileName:=log_path_true xlApp.Quit Set xlApp = Nothing end sub
>149 生成したオブジェクトのClose、Quit、Nothingはちゃんとやっとるけ? 関係ないけどログ出力にExcel使うと重くない?
>>149 ActiveWorkbookが含まれるExcel.Applicationは何か? xlAppだ。
ActiveSheetが含まれるExcel.Applicationは何か? グローバルのExcel.Applicationだ。
このソースではExcel.Applicationを二つ使っている。
しかし、一つしか解放していない。だから終了しない。
直すにはActiveSheetをxlApp.ActiveSheetとすればよい。
あってればいいなぁ。Excelあんまり使ってないんから自信ないんだよなぁ。
これで直ったらちゃんと教えてね。
155 :
デフォルトの名無しさん :02/06/24 18:29
msgboxでダイアログだしてやるのはOKなんだが あれって勝手に画面の中央に表示されちゃうよな・・・? そうじゃなくて、ダイアログを表示する位置を指定したいんだけど これってできるのかな?
>>156 うむぅ。やっぱそうなるんでしょうか。
msgbox多用してるんで、ひとつひとつFormを作ると大変・・・
と思ったけど Formを新規にRoadしてそこに表示させたいものを表示して
表示する際に位置まで指定できるような関数を自作すればいいわけだ。
閃いたよ、、、ありがとん。
158 :
質問です ◆r56FZRgM :02/06/24 19:08
質問させてください。 Win98のVB6です。 ListViewコントロールで、横列の各カラムの位置は、Leftプロパティで取れるんですが 縦列の各アイテムのTop位置がどうやって取ったらいいのかわかりません。 まさか横列の各カラムと違って、間隔が同じなので 自力で一マスが何ドットか調べ、それを掛けて各アイテムの位置を出せ! なんてことは無いと思って調べていたんですがなかなか答えが見つからず。 ここで質問してダメならきっぱり諦めます・・・ どうにかして各アイテムのTopを調べれないでしょうか。 よろしくおながいします。
>>155 CBTフックを使って(デスクトップの中央ではなく)ウィンドウの中央に
メッセージボックスを表示させるVBのサンプルをどこかのページで見たことがあるぞ。
>>158 ListView.ListItems(Index).Top
でいいんじゃないの?
161 :
デフォルトの名無しさん :02/06/25 07:36
教えてください unicodeを文字コードを元にテキストboxに表示したいのですが表示されません。 例えば、 text1.text=AscW(&HAC00) とすると、?が表示されてしまいます。 厨房な質問で申し訳ありませんが教えてください。
>>161 (VBだかWindowsだかが)Unicode対応して無いので無理です
Win98、VB6ですが、どちらに原因があるのですか?
>154 なるほどそうゆうことだったのですね。 わかりやすい説明ありがとうございます。 ちゃんと動くようになりました、ありがとうございました。
>>163 どっちもだろ。
9xはunicode非対応。
>>163 UnicodeとSJIS痴漢するAPIあるからそれつかえ。
MultiByteToWideChar
WideCharToMultiByte
だっけ?つづりが…
MSDNかGOOGLEでサガスヨロシ。
168 :
デフォルトの名無しさん :02/06/25 10:02
アクティブX を使ってデータベースコンボ(dbcombo)を使用した時 dbcombo.boundtext と dbcombo.text ではどう違うのですか?
>168 ヘルプ読め。明確に書いてあるぞ。
>>161 > text1.text=AscW(&HAC00)
AscW は ChrW の typo として、&HAC00ってハングルですよね。
出ないのはそのせいじゃないですか。
日本語ならChrW$()で出ますし。
>170 すいません。ChrWです(^^;ご指摘のように&hAC00はハングルです。 日本語のユニコードはtextに表示できるのですが、ハングルは表示できません。 EXCELのVBAで実行すると、セルにはハングルが表示されるのですが textには表示できません。 厨房ですいませんが、具体的にはどうすれば良いのでしょうか?
172 :
デフォルトの名無しさん :02/06/25 14:20
VB5よりShell関数を使用してExcelを起動かけようとし、 Shell("Excelまでのフルパス\Excel.exe /CMD 引き渡しファイル名(フルパス)") で送っているのですが、ExcelXPの時のみ、Excelが強制終了になってしまいます。 ExcelXPではコマンドラインの使い方が違うのでしょうか? 御存知の方いらっしゃいましたら、教えて下さいm(__)m
テキストボックスに長い文字列を入れると全部入らないのはなぜですか?
長いってどれくらいよ。 64K超えてるなら、どうあがこうと無理。 RichTextBoxつかへ。
フォントをハングルにする
176 :
デフォルトの名無しさん :02/06/25 15:21
9xのメモ帳が32KB制限なのは半分アンドゥバッファだからですか?
177 :
デフォルトの名無しさん :02/06/25 15:55
! と . の違いって何でしょうか? 例えば Call Me.Controls.Add("VB.TextBox", "txt", Me) などとやって Me.txt.Visible = True などとやるとエラーになるのですが、 Me!txt.Visible = True ではエラーになりません。 チェックを動的にやるか静的にやるかの違いですか?
Me!txt.Visible=Me("txt").Visible=Me.Controls("txt").Visible
なるほど。
180 :
デフォルトの名無しさん :02/06/25 16:11
アクティブX を使ってデータベースコンボ(dbcombo)を使用した時 dbcombo.boundtext と dbcombo.text ではどう違うのですか? ごめんなさい。ヘルプみてもど素人の自分にはさっぱりわかりません ので分かりやすく教えて下さい.
BoundText BoundColumn プロパティに指定されたフィールドのテキストの値です。リストの項目が選択された場合、この値が返され、DataSource プロパティと DataField プロパティで指定された Recordset オブジェクトのフィールドを更新します。 Text リスト内の選択された項目のテキストの値です。
>>174 5000文字とかぜんぜんはいりません。
>>174 text1.text = text1.text & str
という具合に分けて入れるとはいるんですが
text1.text = str
みたいに一気に入れるとだめです。
>>171 どうも、VB内部のunicode <-> sjis 変換で弾かれているみたい。
とりあえず、次のようにしたら表示はされた。
Private Declare Function SetWindowText Lib "user32" Alias "SetWindowTextA" (ByVal hwnd As Long, ByRef lpString As Any) As Long
Private Sub Form_Load()
Dim tmp() As Byte
tmp = StrConv(ChrB(0) & ChrB(&HAC), vbFromUnicode, &H412)
ReDim Preserve tmp(0 To 2) As Byte
tmp(2) = 0
SetWindowText Text1.hwnd, tmp(0)
End Sub
185 :
デフォルトの名無しさん :02/06/25 16:49
型が一致しません...........................。 どうすリャいいんだ?
型を一致させる。
VB側でREDIMで大きなエリアを確保して、そのエリアのアドレスをByRef でDLL (VCで作成)に渡してDLL側で書き込もうと思っています。(VBの64KB制限対応) VB側でREDIMして確保したエリアはリニアなエリアが確保されていると考えて 良いのでしょうか? 周りからは何か変と言われてちょっとへこんでいます。 変じゃないですよね?
まじですか? Cのmallocと同じイメージでREDIMをつかうと駄目ってこと?
190 :
デフォルトの名無しさん :02/06/25 18:44
>>188 私も知りたい。配列の動的確保なんてVBでは所詮無理か?
>>190 無理なのはVBでの配列の動的確保じゃないでしょ。
>>187 MSDNで「Declare 配列」で検索したらこんなん出ました
<引用>
数値配列は、その配列の先頭の要素を参照渡しで渡すと、配列全体が渡されます。
これは、数値配列のデータが常にメモリ上で連続した領域に配置されるためです
</引用>
>>187 ところで、「VBの64KB制限」って何ですか?
>>187 俺もどれのことを言ってるのかわからん>VBの64KB制限
195 :
デフォルトの名無しさん :02/06/25 20:10
"型が一致しません"で悩んでいるのですが、ここの 個所でエラーに飛んでしまいます。 On Error GoTo errorhandler1 Line Input #1, Msg TypAA.Time = Left(Msg, 20) IMAX = CInt(Mid(Msg, 21, 5)) ←ココ JMAX = CInt(Mid(Msg, 26, 5)) 読み込むデータの先頭部分は time=0 445 31 5 27 1 1 19690.631 6395.402 24.312 1 2 19687.809 6387.525 20.685 1 3 19684.986 6379.648 20.473 1 4 19682.166 6371.771 18.633 とこういう感じなのですが、どうも上手くいきません。 どなたかお助けを。
>>195 Msgってどんな型?
エラーが出たときのMsgの内容は?
OnError外してエラーが出て止まったら、Mid(Msg,32,5)はうまくいく?
同様にCInt(〜)はうまくいく?(イミディエイトウィンドウで試す)
Midという変数とか関数とか定義してない?
同様にCIntという関数とか定義していない?
IMAXはどう?
とりあえず思いついたのはこんなもんかな。
あと、おいらだったらMidで取り出したりしないで、
Splitで分割して調べるなぁ。VB6ならだけど。
>>195 そのコードでそのデータのどこを読みたいんだよ!
どこの行を読みたいのかさっぱりわからんが、どの行であっても読み込めん。
IMaxもJMaxも変なところを切り出してるように見えるが?
とりあえず正しく切り出せてないから、Integerに変換できないデータを
切り出した上で、CIntにかましてアウト!
198 :
デフォルトの名無しさん :02/06/25 23:45
リストボックスにある項目全部をある配列に入れたいのですが どうすればいいのでしょうか?
>>198 Dim A() As String
ReDim A(0 To List1.ListCount)
Dim i As Integer
For i = 0 To List1.ListCount
A(i) = List1.List(i)
Next
201 :
デフォルトの名無しさん :02/06/26 00:42
>>200 List1.ListCount - 1 だろ?
>>196 >>197 ありがとうございます。なにせまったくの初心者でいきなり
仕様書も無いコードの機能追加というおそろしいことをやら
されていまして。(言語はCしか知らない..........。)
ちなみにMsgはStringです。VB6です。
ご意見を参考にあれからいろいろやってみると、どうやら
データファイルの改行コードが"Lf"だとデータの読み込みが
出来ることがわかりました。
"Ctr+Lf"だと"型が一致しません"とでます。
とりあえず、サンプルデータを読み込めればクリアな
のでエディタでデータファイルを"Lf"に変換してからテスト
出来るようになりました。
しかし"Ctr+Lf"で駄目なのは何故なのか謎です.....。
ちなみにイミディエイトウインドウの使い方もよくわか らない”ド素人”です。ブレークポイントの設定の使い かたがやっとわかって処理を追っていました。 (データはFortranで吐き出されたデータファイルです。 Fortranではハンカクも一文字に数えていますが、VBはど うなんだろう?) 関数の冒頭部分は Public Sub DRead() Dim I As Integer, J As Integer, K As Integer Dim X As Single, Y As Single Dim Msg As String, Str As String * 256 Dim Xmin As Single, Xmax As Single Dim Ymin As Single, Ymax As Single Dim Val As Single Xmin = 1E+20: Ymin = Xmin Xmax = -1E+20: Ymax = Xmax On Error GoTo errorhandler1 Line Input #1, Msg TypAA.Time = Left(Msg, 20) IMAX = CInt(Mid(Msg, 21, 5)) JMAX = CInt(Mid(Msg, 26, 5)) If IMAX < 2 Or JMAX < 2 Then GoTo errorhandler2 _________________________________________________ それでエラーの部分は '-----ファイルオープン時のエラー errorhandler1: Msg = "データ読込み中にエラーが発生しました。" & Chr(13) & Chr(10) Msg = Msg & "ファイル名:" & TypAA.DataFile & Chr(13) & Chr(10) Msg = Msg & Error(Err.Number) MsgBox Msg, vbExclamation, "データ読込み時のエラー" Close #1 Exit Sub
>195 MSDNより。 >Line Input # ステートメントは、ファイルからキャリッジ リターン (Chr(13)) >または改行コード (Chr(13)) + Chr(10)) の直前までのすべての文字を読み込みます。 >キャリッジ リターンと改行コードは、変数に読み込まれる文字列に追加されるのではなく、 >読み飛ばされます。 つまり、Cr+Lfで改行されている元のデータを読むと1行目(time=0)しか読み込まれない。 で、その6文字しかない文字データの21文字目からをMidで取り出しIntへ変換しようとしている。 だから、型が違うというエラーが発生。
>>193 ,194
VBって、普通にDIM文で変数を宣言すると、64KBを超える変数ってNGですよね。
Type文なんかで結構大き目の構造体の配列をSTATICにとりたいなぁなんて時、
結構がっくしします。(VBらしくない考え方なんでしょうけど)
>>192 「Declare 配列」 調べてみます。THX
>>207 64KBを超える配列も普通に使えますけど
dim a(0 to &H100000) as byte
とか普通に使用できます。
それともユーザー定義型の制限のことでしょうか?
type hoge
a(0 to &H10000) as byte
end type
とかの。
(激しく既出くさくてとても申し訳ないんですけど いちおう探しましたが、見つかりませんでした。) 自分のうちでヤフーBBにした場合の速度を計るHPを教えて下さい。 これから導入予定なので、住所を入力する感じの所きぼんぬです。
>>208 >>>それともユーザー定義型の制限のことでしょうか?
それです、それです。まさしくそれです。
そんなに大きなエリアではないんですけど、64KBは超えているリニアな
エリアをVB側で確保して、VCで作ったDLL側でちょっとした計算を
して、その結果をVBで確保したエリアに書き出すということが
やりたいんです。
全部Cで書くのであれば、全く問題ないんですが、VB+VCでやろうと
するとエリアの受け渡しがうまくいかないという話を聞いたんです。
こういう時ってどうしてます? >皆さん。
211 :
デフォルトの名無しさん :02/06/26 15:02
突然すいません!教えてください。 If (Val(a.txt) >= 1) And (Val(b.Text) <= 999999999999#) Then ここで使われている#の意味を教えてください.
//void dst(char * p); Private Declare Sub dst(byval p) lib "dst.dll" Private Ary(0 to (64 * 1024) - 1) As Byte Private Sub Src() Call dst(VarPtr(Ary(0))) End Sub これで駄目かなあ
あ、dst(ByVal p As Long)
>>212 > Private Ary(0 to (64 * 1024) - 1) As Byte
のByteが自分で作った型(Type文でね)になっていて、かつ
Ary全体のサイズが64KBを超えていても(数MB程度)大丈夫?
Aryを自分で作った型の配列変数として宣言すると、宣言自体が
NGって言われたような気が.....
>>211 桁があまりにも大きいので,VBは怒っているぞ
という意味。
どんな数字でもその桁数を指示すると怒り出します。
>211 焦げ目ですが、なにか?
>>214 それは大丈夫です。
もしかして、ユーザー定義型のサイズ制限と、ユーザー定義型の配列の
サイズ制限がごっちゃになっていませんか?
>> 217 >>>もしかして、ユーザー定義型のサイズ制限と、ユーザー定義型の配列の >>>サイズ制限がごっちゃになっていませんか? むむむ、もしかして、私の作ったユーザー定義型の配列変数がNGなのは Type文で作った型が64KB以上あるから駄目っていわれてるんであって、 1レコードのサイズが64KB以下の型であればそれを配列にして、そのトータルが 64KBを超えてもOKってことですか。 うーん、結構いろんな制限があるなぁ>VB ついでに、Type文ぐらいネストできるようにしてくれー>これもVB
>>205 重ね重ねありがとう。
なんとか突破できました。
>>219 ん。Type文ぐらいネストできるようにしてくれってこれのことか?
Type t1
a As Integer
b As Integer
End Type
Type t2
c As Integer
d As t1
End Type
>>219 > 1レコードのサイズが64KB以下の型であればそれを配列にして、そのトータルが
> 64KBを超えてもOKってことですか。
そういうことです。
そのほかにも32KBの制限もあるみたいです。
#MSDNで「制限 32K」で検索すると出てきた。
>221 ちょっと、誤解を招く書きかたでしたね。 Type A a as Integer b as Integer Type B c as Integer EndType EndType って感じで記述したいです。
>>222 あーほんとだ。
こういう制限って、結構きついなぁ。
おいら、いつもUNIXでプログラム作ってるから、
こういう事あんまり気にしたことないんだよなぁ。
>>223 VBなのでTypeのネストは出来ますがCと同じ書き方は出来ません。
>>224 UNIXでも気にしなさい。UNIXなら何も制限が無いとでも思っているのですか?
2chのdatを読み込んで、
type dat2ch
namae as string
mail as string
date as string
message as string
end type
dim dat() as dat2ch
みたいな構造体に格納したい場合、どうやって解析するのがもっとも高速でしょうか。
ちなみに2chのdatは、各レスがLF区切りで、レスは名前、メール、本文等が<>で区切られています。
http://pc.2ch.net/tech/dat/1024380249.dat こんな感じで。
全部読み込んでvbLfでsplitして区切られた分だけループ回して、
ループの中で<>でsplitして構造体に入れてってみました。
これよりもっと上手い方法あるでしょうか。
228 :
デフォルトの名無しさん :02/06/26 19:03
VB6(SP3)とAccess2000で作ったMDBファイルを使って プログラムをつくろうとしています。 データコントロールが使えないんですけど、 どうしたらいいのでしょうか?
229 :
デフォルトの名無しさん :02/06/26 19:09
proxyをとっかえひっかえ掲示板に投稿して使えるproxyを探そうとしています。 INETのポストがよくわからないので、WebBrowserにSendkeysで文字列入力と投稿します。 proxyの変更はレジストリを書き換えて行っています。 WebBrowserは別フォームに貼り付け、毎度々々Dim frm As New Form2で作り、投稿完了後にunloadしてます。 これらをループでまわしてます。 ところが実態はproxyが切り替わらず、キャッシュを削除しようがcookeyを削除しようが効果ありません。 どういった原因でproxyが切り替わらないのでしょうか。 指針・助言を頂戴できれば幸いです。
231 :
デフォルトの名無しさん :02/06/26 19:23
すみません。エクスプローラのツリービューでフォルダをつかんでドラッグするとフォルダアイコンと一緒にフォルダのテキストもドラッグ時にマウスでつかめて移動できますよね。そんな風にツリービューのノードをつかんで他にドロップしたいのですが,どうするのかな? TreeView.DragIcon プロパティだと違うみたいだし…
>>226 なにも制限が無いとは思ってないけど、変数使うのに
サイズの制限を気にしたことってあんまり無いような。
AUTO変数なんかだと、スタック足りないってケースは
あるけど、それも数MBとか数十MBの話ですよね。
たかだか、数十KB程度でだめって言われると、
ちょっとめげます。(最近のプログラムの実行環境って
メモリいっぱいあるし。)
VB初心者友の会ってなんか雰囲気悪いから嫌い。
>>233 こんなとこで今話題の愚痴をするバカハケーン。
>>234 雰囲気悪いのは、2chのヤシがもぐりこんで煽ってるからだろ。
今度は"ファイルにこれ以上データがありません"です...。 ______________________________________________________________ For I = 1 To IMAX For J = 1 To JMAX Line Input #1, Msg ←ココでエラーに飛んでゆく。 Mid(Str, 1, Len(Msg) - 1) = Msg ______________________________________________________________ MSDNを見ると、 Input # ステートメントまたは Line Input # ステートメントで、 すべてのデータが読み込まれたファイルまたは空のファイルから読 み込もうとしています。 Input # ステートメントの直前で EOF 関数を使用し、ファイルの 末尾を検出します。 (なんのこっちゃ...........。) EOF関数の使い方を調べているのですが。 ベテランの方々お助けくだされ。
>>236 Do Until EOF(ファイル番号)
この中で行読み込み
Loop
236のようにForの2重ループで処理してるんなら、
IMAX x JMAX 行データがなけりゃエラーだ。
データファイルのフォーマットをちゃんと理解した方がいいぞ。
が基本パターン
Do Until EOF(ファイル番号) この中で行読み込み Loop が基本パターン 236のようにForの2重ループで処理してるんなら、 IMAX x JMAX 行データがなけりゃエラーだ。 データファイルのフォーマットをちゃんと理解した方がいいぞ。 -------- 237は↑の間違い(変なところに「基本パターン」が(^^;;
REDIMで確保したエリアの連続性か確認出来ました。 変数のアライメントにさえ気をつけておけば 大丈夫みたいです。 THX > 皆の衆
>>237 =238
即レスありがとうございます。
そうですデータファイルのフォーマットが
解かっていませんでした。小さめのサンプル
データ作って試してみます。
基本的なことで申し訳ないのですが…… コマンドボタンの表面の色と キャプションの色は変えられますか? あと、BackColor プロパティはどこの色を指すのですか? よろしくお願いします。
>>241 >あと、BackColor プロパティはどこの色を指すのですか?
試せ。
>>230 その考えには賛成ですが、仮に私のやろうとしていることを2ch荒らしツールと決め付けているというのなら、
それは言いがかりというものです。
このような言いがかりとか実の無いレスは要りません。
実のあるレスをお願いします。
>>243 2ちゃんねる荒らしじゃないとしても、まともなことに使うものだとは誰も考えない罠
>>244 だから、実の無いレスはいらないと言っているのに。
ご自分のものさしで他人を推し量るのはやめていただきたい。
>>245 ウザイ。そんなに言うならなんに使うものか書いてみろよ。
>>246 なんでそんなことをあなたに言わなくちゃいけないんですか!
身のあるレスしかもうレスしませんよ!!!
と、言われるのかなぁ、俺。わくわく。
それを教えたら、あなた方は荒しに殺到するでしょ?
>>241 試すなら、Styleプロパティをグラフィックにしてから試すべし。
252 :
デフォルトの名無しさん :02/06/26 22:51
スマソ、漏れのも実が無いな。 実はワカラソ。他のヤシラもワカラソ
(それを教えたら、あなた方は荒しに殺到するでしょ?) V ∧_∧ ( ´∀`) むぅ? ( ) | | | ∩∩ (__)_) (゜x゜ )○
255 :
デフォルトの名無しさん :02/06/26 22:57
>>229 馬鹿なら馬鹿らしくおとなしくしていたらどうだ?
256 :
デフォルトの名無しさん :02/06/26 22:58
いいんだよ、わからないんだよ、それでいいだろ?
>>255 >proxyをとっかえひっかえ掲示板に投稿して使えるproxyを探そうとしています。
こいつが探しているのは妙な機能のあるプロキシな罠。
>>229 解決方法がわかりましたので、本当の利用方法とフリーメイルではない
メールアドレスを教えてください。メールにてお知らせします。
>>257 よく気づいたなー、感心
そこまで読んでなかったよ。
>>258 乗ってもらえない方に10ディナール
>>258 では、あなたのメアド(ISPの)を教えてください。
メールにて私のメアドを連絡致します。
電話番号を教えていただいても構いません。(w
>>243 2chで「実のあるレス」を「要求」しているとこが笑える。若いねキミw
出来れば客観的に自分の書いた文章を読み直してみてほしいところだが、
なんとなく匂ってくるニュアンスから推測すれば、
HTTPってものを理解すれば、
多分あんたがとっている手段よりよっぽど楽にやりたいことができると思うよ。
とりあえずProxyってのがどういうものなのかを理解した方がやけどしないぞ。
まぁ、パクられない程度でがんばれや。
>261 229のような大馬鹿も珍しいね。脳が悪いんだろうな。
263 :
デフォルトの名無しさん :02/06/27 08:40
>>260 おばか?
教えてもらうんだから、自分からメールアドレス書き込んだら?
VBうんぬん、というまえに常識までないのか、、、
264 :
デフォルトの名無しさん :02/06/27 09:42
>181さんありがとうございます。 という事はデータコンボコントロール(dbcombo)を使った時 recordsetオブジェクトをrsとすると rs!商品名=dbcombo.boundtext と rs!商品名=dbcombo.textでは同じ意味になるという事ですか?
>>260 メアドを2chで書き込まないほうがいいって聞いたんだけど。
>>265 メールでやり取りするのにメアドを書かないでどーする?
268 :
デフォルトの名無しさん :02/06/27 10:06
>>266 >>258 で「フリーメイルではないメールアドレスを」なんて書いてあって、
乗るヤシはいないと思うぞ
>264 こういうのはね、試してみりゃ一発でわかるよ。
>>229 結論を言えば、理由はともかく君に助言できる奴はいないということだ。
俺も助言できない。理由は目的が怪しいから。
↑いつまでもウザい
WebBrowserなんか使わないで作ればいいじゃん。
>271 解決策=回線切って首吊れ
この殺伐とした空気の中で親切君してマジに解決策を書くのは無謀と思われ
>proxyをとっかえひっかえ掲示板に投稿して使えるproxyを >探そうとしています。 この時点でやってる事はまともじゃねえんだから,気づけよ。クソ厨が
277 :
おながいします :02/06/27 14:39
Inputman5.0から6.0へバージョンアップしたいと思います。 バージョン(5.0)が張られた既存のフォームは 全て張り直さなければならないのでしょうか?
278 :
デフォルトの名無しさん :02/06/27 15:02
行き詰まっていることがありましてご教授頂きたいです。 一部欧州環境(小数点区切りが「,」の地域)にて、英語環境用に作成したexeがval関数で型エラーを起こします。 コレを防ぐ為に、PG起動時に強制的に地域設定の小数点区切りを「.」に、変更し、終了時に「,」に戻したいのですが、よい方法がわかりません。どなたか教えて頂けないでしょうか? 宜しくお願いします。
>>278 valじゃなくて通貨型で処理
=> See HELP
13tes200206271520
33tes200206271523
04tes200206271524
解決したようじゃないか。
>>277 frmファイルをテキストで開いて5.0から6.0にかえれば
いいんじゃないの。
>277 変換ツールついてくるだろ それ使え
286 :
デフォルトの名無しさん :02/06/27 16:02
>>279 レス感謝。
記述不足でした。一部型変換で改善してあるのですが、
既存プロジェクトの修正量が膨大にて、暫定的に上記対応となったのです
が、ロケール変更で行き詰まった。
というわけです、ロケール側の操作法をご存知でしたらお教えください。
287 :
デフォルトの名無しさん :02/06/27 16:10
>>285 ありがとうございますた。
変換ツール探してみます。
>>286 検索/置換ではだめなのですか.
ロケールというか,Windowsのカレントの言語関連設定は
Declare Function GetUserDefaultLCID Lib "kernel32" () As Long
で取得できますが.
関連APIを見てみてください.
289 :
デフォルトの名無しさん :02/06/27 17:21
>>288 私も置換が良いのですけどね・・・
変更点が全てテスト項目になるという落とし穴がありますので・・・
SetLocaleInfo(DefLCID, LOCALE_SDecimal, '.')
こんな感じでなんとかなりそうですね。
がんばってみます、レスありがとうございます。
290 :
デフォルトの名無しさん :02/06/27 18:42
13桁のバーコードをVBで使いたいのですが、 dim a as ? a = 2000000000000 とするとなぜか a = 2000000000000# と最後に#がつきます。 なぜでしょうか? ?は通貨型やDOBLEを使いました。 (またこれが原因かわかりませんが、Aをレコードセットに代入するとエラーが出ます。) また13桁の整数を扱うのにいいデータ型を教えてください。 SQLサーバーではバーコードをdecimal型で宣言しました。 もしかして13桁整数のバーコード型というのを定義するといいんでしょうか?
291 :
デフォルトの名無しさん :02/06/27 20:43
Constってこれ何の意味ですか。 普通にセットしたのとどう違うのですか。 つか、利用価値あります?
リードオンリーなんじゃネーノ?
>>291 292のとおりデース
Const a = 100
a = 0
なんて代入が出来なくなりマース
プロジェクトにアホが入るとConstとByValを付けまくりマース
>>293 ConstもByValもアホの為につけるもんじゃないだろ。
>>276 ,278
おい、こんなとこでマルチすんな。
漏れのレスが・・・(以下略)
>>290 #の理由なぞ、超最近にあったぞ。
言ってやんない。
Imoって。
>>295 俺は276だがマルチしてないぞ
>>290 腸細菌のレスは俺もしてやってるぞ。
言ってやんない。
298 :
デフォルトの名無しさん :02/06/27 23:29
2ちゃん風のHPってどのように作れば よいのですか?
>>296 芋だろ。スキルは低いし偉そうだし書き方へただし、
リアル厨房(?)だからしかたないと思って我慢してるよ。
兄ちゃん風のHP
>>297 276→289
276よ、すまん誤爆。
>>298 おもっくそ、スレ違い。
ヽ(`Д´)ノゴルァ
とか書いてオケばOK。
後、ゴメソとかヤシとか漏れとか。
303 :
出張 ◆dAHCh4a. :02/06/28 00:48
質問です。 文字数を調べるにはLenを使いますが 半角何文字かってのを今調べたい状況です。 文字が半角なら1文字換算、全角なら2文字換算で 合計何文字以下だったら、と判定させたいんですが 入力されているテキストが半角何文字分なのかはどうやったら 調べることができるのでしょうか。
LenB関数とStrConv関数を併用する。 ポイントはUNICODEからSJISに変換して数えることだ。 ぐぐれ。
>>304 できますた。
案外FAQに載ってるほどメジャーな質問だったんすね(w
ありがdございますぃた!
800レスに一回ずつくらい出現する質問な気がする。
先にFAQで調べろよ。
VB.NET の質問です。 クラス内にコールバック関数を宣言して、それを SetTimer とかで呼び出すと 60〜100 回目あたりで処理が停止してしまうのですが、その対処法ってどなたかご存知でしょうか?
うむ.自分の論理のまずさを言語処理系のせいにしてはいかん.
312 :
デフォルトの名無しさん :02/06/28 09:43
>>295 ねえよ。
お前に聞かない。
勘違いしてるようだな
>>309 以前にVB.NETでAPIなんぞ叩いてやるな。
314 :
デフォルトの名無しさん :02/06/28 10:43
update と updatebatch の区別の仕方が未だにわかりません。 updatebatchにできてupdate に出来ない事,あるいはupdateにできてupdatebatchで 出来ない事ってどんな事がありますか? ヘルプをみても漠然としか分からないのです.
315 :
デフォルトの名無しさん :02/06/28 10:58
いまVBの勉強をはじめたばかりで、参考書で在庫管理のプログラムを作って います。しかしID番号を保持する為にパラメーターファイルを利用すると書いて おりこれによって番号の再使用を防ぐらしいのですが、肝心のパラメ-ターファイルの 作り方などが書いていないのです.これの作り方と使用の方法を教えて下さい.
データをなんとか読み込み、描画させる段階で ________________________________ Public Sub PlLine(X1 As Single, Y1 As Single, X2 As Single, Y2 As Single, PColor As Long, Dest As Object) Dim X3 As Single, Y3 As Single Dim X4 As Single, Y4 As Single Dim Sfx As Single, Sfy As Single '------左下隅を原点とした(mm)で受け取る----- Sfx = Dest.ScaleWidth / TypPF.Width Sfy = Dest.ScaleHeight / TypPF.Height X3 = X1 * TWPM * Sfx X4 = X2 * TWPM * Sfx Y3 = Dest.ScaleHeight - Y1 * TWPM * Sfy Y4 = Dest.ScaleHeight - Y2 * TWPM * Sfy Dest.Line (X3, Y3)-(X4, Y4), PColor ←※ココ。 End Sub __________________________________ ※からエラーメッセージに飛んでいきます。 ________________________________________________________________ errorhandler1: Msg = "メッシュの描画中にエラーが発生しました。" & Err.Description MsgBox Msg, vbExclamation, "メッシュ描画中のエラー" ________________________________________________________________ ”メッシュの描画中にエラーが発生しました。オーバーフローしました。” "Dest.Line"ってプログラムのどっかに無いか探したんですが どこにも無いところをみるとVBのライブラリなのか?とおもい いろいろ資料をあさっているのですが。 たびたび相すみませぬがどなたかご助力を。
質問させていただいているのに、メアドも入れていないことに 気付いたので入れておきました。
319 :
デフォルトの名無しさん :02/06/28 11:34
>>318 非常に難しい問題だ。
簡単には答えは出ないね。
>>319 うう、そうなんですか。
destは
Dest as Object
と定義されていました。Object型ってなんだ?という
ところから調べているのですが。
>>310 必要最低限のことしか記述してないのにそうなってしまうんです。
>>313 .NET Flamework に高精度タイマーってありますか?
>>321 そう言うクリティカルな物を作る場合.NETは激しく不適当です。
Winsock関係を解説してるサイトってありませんか?
324 :
デフォルトの名無しさん :02/06/28 12:25
>>322 マジっすか…。C++ に逝ってきます…。
たかだかコールバックごときと思っていたが クリチカルなものだったとは知らなんだ
>>317 > Dest.Line (X3, Y3)-(X4, Y4), PColor ←※ココ。
ここよりも、直前の計算式の方が怪しい気もしますが、
まずは、X3, Y3, X4, Y4, PColor の値を確認してみてください。
>314 ヘルプ読んでサンプル試せば理解できると思うんだけどな〜 とりあえずRecordsetオブジェクトの部分から抜粋。 >Recordset オブジェクトは、即時更新とバッチ更新の 2 種類の更新方法をサポートできます。 >即時更新では、Update メソッドを呼び出すとデータへのすべての変更がすぐに基になる >データ ソースに書き込まれます。 > >プロバイダがバッチ更新をサポートする場合、UpdateBatch メソッドを使ってデータベースへの >一度の呼び出しを行うだけで、プロバイダで 1 つ以上のレコードへの変更がキャッシュされ >転送できます。
>317 Object型ってのはオブジェクトへの参照を収める型。 どっかでSet Dset = なんちゃら、ってやってるっしょ。 Dset.Lineってのは、そのなんちゃらのLineメソッドを呼び出してるだけ。 たぶん、FormかPicturBoxあたりだと思うけど。
>195 つか、会社のメアドを2chで晒すのは激しくリスキーだと思いますが。 大丈夫か?
333 :
デフォルトの名無しさん :02/06/28 14:19
あるプログラムで、ファイルへログを出力したいと思っています。 普通にOpenして書き込んでいくのは既に出来ました。 次はログファイルのサイズや行数に制限をつけ、その制限を越えたら 古いものから消していくという動作を実装したいのです。 サイズ制限を越えたら、制限に収まる部分のみを別ファイルに書き出し ↓ 古いファイルを削除 ↓ 新ファイルをリネーム とすれば出来たのですが、これだとなんだか効率が悪いような気がします。 普通こういった処理を行う場合、どうやるのでしょうか?
フォーム上にHTMLドキュメントを表示させたいのですが、 そんなことは可能なんでしょうか? それらしいオブジェクトは見つかったんですが、 Microsoft Internet Controls Microsoft HTML Object Library ヘルプを見ても書き方がよく分かりません。 どなたか教えてください。
>>333 どのような形態かは分かりませんが、サイズ制限ではなく
ファイル数制限の方がいいのと思います。
ログそれぞれに番号を付け、上限に達したらはじめの番号に戻す。
と言うのではどうでしょうか。
336 :
デフォルトの名無しさん :02/06/28 14:40
>335 なるほど、その手がありましたか。 たしかにそのほうが管理もしやすいし、プログラムも楽ですね。 さっそく組み込んでみます。ありがとうございました。
素早いレスをありがとうございます。
>>331 Formの方を探してみます。いままでModuleばかり
いらっていました。
>>332 ああ、いくらなんでもそうですね。
フリーのに変えました。
忘れてください(無理か)
>334 Webブラウザコントロールじゃダメなのかな。
ドキュメントをダンプしたいのかな レンダリングしたいっちゅうことなんかな
補足です。 >338 >Webブラウザコントロール いろいろ試しましたけど、無理でした。 プロパティはなにを使えばいいんですか? >339 >ダンプ ではなくブラウザで見ているように表示させたいんです。 つまり内部でURLを指定するような形でHTMLファイルを表示させたいんですが。
ちくと自己レスです。PictureBoxの使い方を調べて
《コントロール》.Line (横位置1, 縦位置1)-(横位置2, 縦位置2)
というのがあったので
Dest.Line のDestはコントロールということになるのだと理解
しましたが、それにしてもなぜにオーバー風呂??読み込んでる
データは
x y y
19190.631 5895.402 24.312
19187.809 5887.525 20.685
なだけなんだけどなあ。
>>328 のいうとおり、どっか式がおかいしのだろうか??
343 :
デフォルトの名無しさん :02/06/28 16:34
>330さん 有難う御座います。 ところでバッチ更新って何ですか?すみません何度も・・。
>>341 X3, Y3, X4, Y4の値は確認した?
lineの引数に大きな値(1e+10とか)を渡すとオーバーフローになるようだから、
それじゃないですか?
>>342 実数駄目なんですか?
どっか前のほうで整数に戻してないか
見てみます。
ううっ、このプログラム、ホントに動いてたんだろうか(;_;)
>>344 Debug.Printを挿入してやればいい、と
ありますが、
Debug.Print X3
Debug.Print X4
Debug.Print Y4
Debug.Print Y4
としてもどこにも値が出てきません。
途中の変数の値を簡単に表示させるには
何を使えばいいのでしょうか?
つくづくタコで......。
(嗚呼、Cならprintf()だけでたいがいデバッグ
出来るのに.........。)
>>346 ステップインで実行して、該当の箇所で該当の変数の上にマウスポインタ
>>347 わかりました。ウォッチウインドウってやつですね。
ありがとうございます。
>>346 debug.printの出力先はイミディエイトウィンドウですよ。
ちゃんと開いてますか?
ただ、この場合だとdebug.printより、適当なところにブレイクポイントを設定して
ローカルウィンドウで値を参照した方が早いですが。
350 :
クソ厨@229 :02/06/28 17:49
244 名前:デフォルトの名無しさん 投稿日:02/06/26 22:26
>>243 2ちゃんねる荒らしじゃないとしても、まともなことに使うものだとは誰も考えない罠
246 名前:デフォルトの名無しさん 投稿日:02/06/26 22:41
>>245 じゃあ、使用目的を教えて下さい。
247 名前:デフォルトの名無しさん 投稿日:02/06/26 22:41
>>245 ウザイ。そんなに言うならなんに使うものか書いてみろよ。
248 名前:229 投稿日:02/06/26 22:42
>>246 なんでそんなことをあなたに言わなくちゃいけないんですか!
身のあるレスしかもうレスしませんよ!!!
と、言われるのかなぁ、俺。わくわく。
252 名前:デフォルトの名無しさん 投稿日:02/06/26 22:51
>>250 2chで聞くのが間違いと思われ
253 名前:252 投稿日:02/06/26 22:53
スマソ、漏れのも実が無いな。
実はワカラソ。他のヤシラもワカラソ
351 :
クソ厨@229 :02/06/28 17:50
254 名前:むぅ-01Fb ◆Muu/FbRQ 投稿日:02/06/26 22:53
(それを教えたら、あなた方は荒しに殺到するでしょ?)
V
∧_∧
( ´∀`) むぅ?
( )
| | | ∩∩
(__)_) (゜x゜ )○
255 名前:デフォルトの名無しさん 投稿日:02/06/26 22:57
>>229 馬鹿なら馬鹿らしくおとなしくしていたらどうだ?
256 名前:デフォルトの名無しさん 投稿日:02/06/26 22:58
いいんだよ、わからないんだよ、それでいいだろ?
257 名前:デフォルトの名無しさん 投稿日:02/06/26 23:03
>>255 >proxyをとっかえひっかえ掲示板に投稿して使えるproxyを探そうとしています。
こいつが探しているのは妙な機能のあるプロキシな罠。
258 名前:デフォルトの名無しさん 投稿日:02/06/26 23:06
>>229 解決方法がわかりましたので、本当の利用方法とフリーメイルではない
メールアドレスを教えてください。メールにてお知らせします。
352 :
クソ厨@229 :02/06/28 17:53
259 名前:デフォルトの名無しさん 投稿日:02/06/26 23:17
>>257 よく気づいたなー、感心
そこまで読んでなかったよ。
>>258 乗ってもらえない方に10ディナール
261 名前:デフォルトの名無しさん 投稿日:02/06/26 23:21
>>243 2chで「実のあるレス」を「要求」しているとこが笑える。若いねキミw
出来れば客観的に自分の書いた文章を読み直してみてほしいところだが、
なんとなく匂ってくるニュアンスから推測すれば、
HTTPってものを理解すれば、
多分あんたがとっている手段よりよっぽど楽にやりたいことができると思うよ。
とりあえずProxyってのがどういうものなのかを理解した方がやけどしないぞ。
まぁ、パクられない程度でがんばれや。
262 名前:仕様書無しさん 投稿日:02/06/26 23:36
>261
229のような大馬鹿も珍しいね。脳が悪いんだろうな。
263 名前:デフォルトの名無しさん 投稿日:02/06/27 08:40
>>260 おばか?
教えてもらうんだから、自分からメールアドレス書き込んだら?
VBうんぬん、というまえに常識までないのか、、、
久しぶりにVBやろうとおもったら、いつの間にか「Version Up」や「Visual Basic増強作戦」 がなくなってたのね。(気付くの遅すぎ?)
354 :
クソ厨@229 :02/06/28 17:55
そんなわけで、以上の皆さん、おなくなりになってください。
355 :
クソ厨@229 :02/06/28 17:55
そんなわけで、以上の皆さん、おなくなりになってください。
356 :
クソ厨@229 :02/06/28 17:56
そんなわけで、以上の皆さん、おなくなりになってください。 ってこれじゃー短くて荒らしにならんなー
357 :
クソ厨@229 :02/06/28 17:57
そんなわけで、以上の皆さん、おなくなりになってください。 ってこれじゃー短くて荒らしにならんなー
358 :
クソ厨@229 :02/06/28 17:57
そんなわけで、以上の皆さん、おなくなりになってください。 ってこれじゃー短くて荒らしにならんなー
359 :
クソ厨@229 :02/06/28 17:58
そんなわけで、以上の皆さん、おなくなりになってください。 ってこれじゃー短くて荒らしにならんなー w
終り? 意外と根性ってーか根気無かったね。
>>349 たびたびありがとうございます。
なんとか値を追っています。
(仕様書どころかコメントもロクに
ないのにどうすりゃいんや。
こりゃ土日も仕事だなあ。ふぅ)
>>361 > なんとか値を追っています。
もしかして、ステップ実行でちまちまと追ってます?
こういう場合は、
1) ツール -> オプション -> 全般 -> エラートラップ -> エラー発生時に中断 を設定
2) 実行
3) エラーが発生した行で止まるので ローカルウィンドウで変数確認。
とすると一発で該当箇所の値がわかりますよ。
>>362 ああ、助かります。Visualツール自体使うのはじめてで
....。プログラム以前にツールの使い方も知らないとい
うタコでして。
いきなりModule 5000行、Form 2000行からなるコード
の機能追加なんて、ううぅ。
364 :
デフォルトの名無しさん :02/06/28 19:35
Webページを標準のブラウザで表示させたいんですが DOSのSTARTを使う、という手以外で何かいい方法ないでしょうか。
うえー!なんか値がおかしいし....こりゃもっとさかのぼって 調べないとだめだなぁ。 Watch : : X3 : -1.886008E+20 : Single : Module1.PlLine Watch : : X4 : -1.886008E+20 : Single : Module1.PlLine Watch : : Y3 : 1.898718E+20 : Single : Module1.PlLine Watch : : Y4 : 1.898718E+20 : Single : Module1.PlLine でもかなりデバグ楽になりました。感謝。
366 :
デフォルトの名無しさん :02/06/28 19:46
>>364 APIのShellExecute使え。
Call ShellExecute(Me.hwnd, "open", "
http:// 〜〜〜〜", vbNullString, vbNullString, 5)
367 :
質問れす ◆XlLllllI :02/06/28 21:14
質問です。いろいろ調べたのですがわからんかったので ここでお願いしてみます。VB6 WindowsXPです。 Web上にあるファイルが存在するかしないかを取得したいです。 htmなどのファイルだけではなくて、ZIPとか、jpgとか アドレスを指定してやると、そのアドレスに当たるファイルが 存在するかしないかってのを調べたいってこと。 それも出来れば速くその作業を行いたい・・・。 何を使ってやればできるんでしょうか。 最初WebBrowserコントロールを使っていたんですが これだと色々まずいことがあったので・・・。 よろしくおねがいします。
>>367 HTTPでHEADメソッド投げればいい。
無ければ404が飛んでくる。
369 :
質問れす ◆XlLllllI :02/06/28 21:51
うっ 言われている意味がいまいちわからん・・・。 WinsockかなにかでHTTPプロトコルの HEADメソッドを送ってやって、 それの反応であるか無いかを判定しろ、みたいなことでしょうか?
>>309 >>321 APIの宣言はどうやってる?
呼び出し部分は?
>.NET Flamework に高精度タイマーってありますか?
どれくらいの精度?
System.Windows.Forms.Timer
System.Threads.Timer
System.Timers.Timer
があるけどそれぞれ試してみては?
ぐふっ Winsockかよぉ HTTPプロトコルとか知らねぇよぉ せめてInetで出来ると腹くくってた俺がヴァカだったのか。 う〜む.....
>>372 >せめてInetで出来る
出来るだろ。GETだろうがPOSTだろうが状況は同じ。
出来るのかよ(やり方わからんけど) どんどん自分のアフォさが現れてくるな・・・ InetでもHEADメソッドとか送れるんだろうか。 だったらそれに越したことはないんだけど。
>>374 知らないなら知ろうと思わないのかな
そのあたりがVB房たる所以なんだろうな。ほんと情けないよ
376 :
デフォルトの名無しさん :02/06/28 23:11
>>374 Inetコントロールのメソッドを全部調べなさい!
ちゃんとヒントくれてるんだから。
そのものずばりのがある。
377 :
デフォルトの名無しさん :02/06/28 23:14
しかしコテハンがいなくなったなー、マトレスといい即レスといい
さてはGetHeaderだな! とやってみました。確かにそれらしき動きをかもし出してました。 でも「最後の処理が要求中です」とか言って 落ちてしまうことがかなりあります。 ウェイトを3秒挿入しても10秒にしても起きます。 あらかじめ Inet.Cancel も入れてあるのに、、、 これが何でなのかわからないと実用できないべ
380 :
デフォルトの名無しさん :02/06/29 01:08
VB6.0です。 exeを起動し、フォームに対してエクスプローラ等からファイルをドラッグ&ドロップ(以下D&D)して そのパスを取得するにはどのようにしたらよいのでしょうか。 現状ではD&Dしてくると、いわゆる駐車禁止マークがでてしまいます。 DragIconとかいうプロパティにアイコンを設定してみたのですがかわりません。 いや、アイコンは別にどうでもいいんです、試してみただけです。パスが取得したいです。
おいおい。
すいません、VB5.0使いたいんですが・どうすればいいんですか?
買う
MX
買う以外にありませんか? 誰か親切な方ご教授ください
エムエクースで取ってくる どうせならVB6か.NET取って故意
mxってサイトですか?ありがとうございます。探してきますね。
mxで取って来たのを起動してHDDふっとんでも知らないよ。
見つけましたがDLするソフト?ですか VBとどう関係あるのでしょうか・・・
眠いんであきらめます。学校ですることにします。
>381-382 ありがとうございます。 OLEっていうのがなんだかよくわかってないので勉強します。
>>392 騙されるなMXはおとり捜査に使われるソフトだ。
使うとつかまるぞ。学校なんかで使うと確実に退学だ。
学校には最初からVBあるんで平気です。 家で課題したかっただけです。
ごめんなさい
400?
トリップ訂正。
404 :
デフォルトの名無しさん :02/06/29 11:27
キーコード定数に無い気がしますが、ミ田キーってどうやって取るんでしょうか。 無理?
>>404 応用力無いのがVBオタの欠点か。
イベントで送られてくるキーコードをメッセージボックスに表示するプログラム書け。
>>403 8月には暇になるといいなあ、って感じ。
でもそれ過ぎるとVC6メインになりそうなヨカーン
たまには顔だすよん。
>>404 あら、ホントだ。一応コードは91だたよ。
MSDNで調べてみた。左と右で違うみたいだよ。 VK_LWIN 5B VK_RWIN 5C VK_APPS 5D
>>404 91と92だ。大昔に実験済み。
他にも面白いことがわかるから、KeyAsciiとKeyCodeは実験しる。
VKってくらいだからマシン間で同じだよね。 cygwinだとPC98キーボードでキーマップが違ってたような・・・
横レス申し訳ないですが、「半角/全角」キーのキーコードも 教えていただけるとありがたいです。 てゆーか皆さん、ヘルプに載ってないコードはどうやって調べてるのでしょうか。
ネタとしか考えられない。
あーなるへそ。
415 :
デフォルトの名無しさん :02/06/29 19:07
昨日D&Dについて質問したものです、その節はどうもです。 質問なのですが、PictureBoxのPictureに文字を描くには どうしたら良いのでしょう。 pictureに文字を書く方法があるのでしょうか。 それとも、LabelやTextBoxの表示内容を画像として扱う方法があって、 PaintPictureメソッドで貼り付けるのでしょうか。
>>415 TextOut
ヘ ル プ 読 む 気 も な い ん か い。 お 前 ら は。
>416 あれ、そんなのありましたっけ。 ありがとうございます。 もっとよくヘルプ読みます。 探し方が厨房なんだろうか。
Picture1.Print "表示したい文字"
>>416 ここがヘルプがわりですが、何か?
最強の自然言語検索マンセー
>>420 まさか本気でいってるんじゃないだろうな。
>>421 まぁいいじゃん、旧VBとともにこういうバカも仕事を失う。
>>412 やってみたけど、ミ田キーを押した時に、
そのコードをKeyasciiに取る方法が分かりません。
処理がそのフォームを離れてWindowsに取られてしまうのですが…。
「半角/全角」もダメぽ。
フックでもすれば?(藁
フック?
427 :
デフォルトの名無しさん :02/06/29 22:59
データベースを処理するACTIVEX.EXE(サーバー)を作り それを呼ぶ子プログラムも作りました。 A:ユーザによってショートカットで子プログラムを呼び出します。 B:周期的に呼び出す為に市販のアプリケーションを使って子プログラムを叩きます。 A→AやB→Bは起動中のACTIVEX.EXEが正常に動作しますが A→BやB→Aとすると新たにACTIVEX.EXEが起動してしまいます。 無条件にCreateobjectdだけしてるのが問題だと思いますが 起動中のACTIVEX.EXEの情報をどう取得すればいいのでしょうか? getobjectは違うのか上手くいきません。 お解りになる方よろしくお願いします。
子プログラムの二重起動防止じゃダメ?
MDIフォームをアンロードして終了する際、 表示中の子フォームも明示的にアンロードさせた方がいいですか? しなくて平気?
>>423 KeyAsciiで取れるわけないだろうが。あれが文字コードだから。
文字じゃないキーは・・・以下略。
>>424 以前調べたら、
「半角/全角」キーは押すたびに交互に243、244がKeyCodeに入った
・・・んだけど、だめだIMEがMS-IMEの場合、「半角/全角」キーでIMEの切り替えに
なるから、漢字入力中を表す229しか拾えない。
>>428 子はすぐに死んでしまうので重複しないのです。
今のところ対処を何も思いつかない・・・
>>431 ACTIVEX.EXEの方でミューテックスでもつくって対処とか。
433 :
デフォルトの名無しさん :02/06/30 04:09
VB6で出来る半透明処理で一番高速な書き方はなんでしょうか? GDI、DirectXは可。でもCなど他言語で作ったDLL等を使用する方法は不可で) GetDIBits SetDIBitsを使った方法かなー。 ◆条件 ブレンドは BMP × BMP (640×480のカラーは16bit以上) 対応OSは95〜
MMX使うと速いぞ。 VBから直接は使えないだろうけど。
「VBで出来る」「DLL等を使用する方法は不可」って言ってるじゃねえかゴルァ
>>427 432の通り、MUTEX使うのが手っ取り早いんでない?
GUID使えば名前の重複も避けられるしね。
>>429 Unloadしないと終了しないぞ。
>>433 DirectXの2Dポリゴンが一番早いだろうな。まだやったことないけど。
次に早いのはDirectXでビデオメモリにアクセスしてMMXかな。
その次が9x系ならCreateDIBSectionでMMX、
んでからGetDIBitsやGetBitmapSection。
ちなみにMMXだけならVBでも無理矢理使えるぞ。
機械語コードバイト配列で持ってCallWindowFuncや
DispCallFuncでそこのポインタ呼び出すんだけど。
(お勧めはしないよん。)
お前らbitbltを無視しないで下さい。
>>425 どしろうとのアホに変なことを吹き込まないように。
(デバッグがたいへんなんだから・・・)
>>439 つぅかVBでフックなんぞ可能なんですか?
441 :
AAA AMERICA AUTOMATIC ASOCIATION :02/06/30 11:59
デジタル、インターネット等IT関連は使い方次第で、個の力を何倍もの力に変えることが可能です。
費用対効果で他の媒体にこれより優れたものは無いでしょう。
それを船井幸雄やハーバード大学での講義さえある21世紀型流通の姿ともいわれるMLM
に活用してみましょう。それは長い目で見ても、素晴らしいネットワークビジネスといえます。
最先端のITを駆使するネットワークビジネスは、在庫をもつ必要がなく、
製造メーカーの製品を直接広める形態をとるものです。
製造会社の製品であると同時にIT部門を持ち、面倒なことはすべてお任せです。
HPを通じて、興味のある人がメールで問い合わせてくるので、
低価格、高品質な製品に関することなどを説明すれば済むのです。
何人かの識者が書籍等で発言しているように、
流通コストを消費者に還元して製品を広めるというこのシステムは、
人間的かつ将来有効なシステムを創っていける可能性の大きいものだと感じます。
実際、アメリカでは、全商品の30%がMLMです。
有名な大会社AT&T、GM、マスターカードなども採用しだしています。
興味のある人は、ぜひ以下のホームページを御覧ください。
http://ailove22.fc2web.com/lpd/index.html
>>440 VB5.0以上、Access2000以上なら、できる。
AddressOf演算子をヘルプで調べるよろし。
>>440 グローバルフックじゃなきゃ出来るだろう。
>>443 グローバルって・・・・他のプロセスのメッセージも監視するってことですか?
>>444 うん。
あれ?グローバルフックもDLLにすればいいだけだから、ActiveX DLLを
作れるVBでもできるか?
>>445 素の関数が定義できない以上コールバックとしては使用できないかと。
>>446 そう? ActiveX DLLにフックする関数もコールバックもすべて入れてもダメ?
でなきゃ。素の関数のポインタ(AddressOfでとれるやつ)をLong型変数に
いれて、EXE - DLL間を移動させてもダメ?
>>438 BitBltじゃアルファブレンドは出来ないからね。
>>445 出来ないよ。ActiveXDLLとDLLは別もんだし。
昔試してみたけど。
>>449 ふっふっふ、ラスタオペレーション駆使?すればある程度はデキルのだw
452 :
デフォルトの名無しさん :02/06/30 13:29
あのー、BMP以外を出力する方法はありますか? っていうのは過去ログみたほうがいいですか。 10個も過去ログがあるとちょっと見る気が・・・。
>>436-437 うぉぉ!
MMX使えるのかー。
>>437 のサンプルGetDIBits SetDIBitsを使った方法より
断然はえー。<当たり前か
API部にCreateDIBSection使われているけど9x系とは関係無さそう。
まだあんまり見てないからよく分からないけど・・・。
DirectXの2Dポリゴンは、これよりも早い可能性があるのかー。
2DポリゴンってDirectDrawですか?DirectX Graphics?
>>452 出力って画面に表示の事?それともファイルに保存って事ですか?
>>452 ファイルに保存、ってことなら無い。(NETはあるらしい)
自前か余所のコードで保存するしかないな。
>>453 Direct3Dでポリゴン作ってDirectDrawで作った
サーフェスに表示、だったかな。
CreateDIBSectionは2000,XPだと
BitBltで転送した時に異常に遅くなる
環境があるのだよ。
455 :
デフォルトの名無しさん :02/06/30 15:26
長くなります。すいません。
>>371 遅れてごめんなさい。
Delegate Sub TimeProcDelegate(ByVal uID As Integer, ByVal uMsg As Integer, ByVal dwUser As Integer, ByVal dw1 As Integer, ByVal dw2 As Integer)
Declare Function timeSetEvent Lib "winmm.dll" (ByVal uDelay As Integer, ByVal uResolution As Integer, ByVal lpFunction As TimeProcDelegate, ByVal dwUser As Integer, ByVal uFlags As Integer) As Integer
Declare Function timeKillEvent Lib "winmm.dll" (ByVal uID As Integer) As Integer
Declare Function timeBeginPeriod Lib "winmm.dll" (ByVal uPeriod As Integer) As Integer
Declare Function timeEndPeriod Lib "winmm.dll" (ByVal uPeriod As Integer) As Integer
Public Const TIMERR_BASE = 96 ' was 128, changed to match Win 31 Sonic
Public Const TIMERR_NOERROR = (0) ' no error
Public Const TIMERR_NOCANDO = (TIMERR_BASE + 1) ' request not completed
Public Const TIMERR_STRUCT = (TIMERR_BASE + 33) ' time struct size
Public Event Tick()
Dim m_TimerID As Integer
Dim m_Interval As Integer
Dim Ret As Integer
Ret = timeBeginPeriod(1)
If Not Ret = TIMERR_NOCANDO Then
m_TimerID = timeSetEvent(Interval, 1, AddressOf TimeProc, 0, 1)
Else
MsgBox("timeBeginPeriod に失敗しました。") ' 暫定
End If
Public Sub TimeProc(ByVal uID As Integer, ByVal uMsg As Integer, ByVal dwUser As Integer, ByVal dw1 As Integer, ByVal dw2 As Integer)
RaiseEvent Tick()
End Sub
です。
456 :
デフォルトの名無しさん :02/06/30 15:43
>452 制限がかかってないときに落として、検索するだけでは?
すいません、ファイルに保存のことです。 やはりどうしてもやりたければ、 なにか人のものを利用させていただくか、 自前でデータ解析して変換するしかないですか。 レスどうもでした。 >456氏 レス番間違いですよね。
>>457 JpegやPNGならVBでも結構多いよ。
Trans32Jpg(だっけ?)なんかは有名だね。
>レス番間違いですよね。
んにゃ、あってるんじゃない?つまり
「過去ログ全部htmlでファイルに保存して文字列で検索すれ」
ってことでしょ。
#俺は2chの過去ログ全部落とすぐらいならGoogle使うけどさ。
漏れのかちゅのログは500MB越えてますが何か?
べつになにも
VCL(某乱土のライブラリ)をVBで使うことはできますか?
>>461 VBごときのクソ言語に扱える代物ではありません。
身の程を知れ。
464 :
デフォルトの名無しさん :02/06/30 21:15
>>463 彼は初心者スレでいきがるのが唯一のストレス解消法というかわいそうな
人なので、レスをつけずに生暖かい目で見守るのが吉でしょう。
465 :
デフォルトの名無しさん :02/06/30 21:20
>>461 BCBとVBを両方使いますが、その様にクロスオーバーすることは考えてませんでした。
でも、無理じゃない?
VCLラップしてActiveXにするとか。
VCLってBCB/Delphi以外で使えるのか?
VB × Direct3Dに関しての良いHPありますか? 結構探したんだけどなかなか良いのが見つからなひ。 今のところマイクソのページが一番良かったんだけど・・・。
470 :
ななし@461です :02/06/30 21:58
やっぱり荒れちゃったか。(反省) COMベースのライブラリなら、言語に依存せず、どのクライアントからでも 使えるのかと思ったんだけど、虫が良過ぎ?(^-^;;
VCLってCOMだったのか?
472 :
ななし@461です :02/06/30 22:01
>>471 あれ、違います?
でも、MS製品だけがCOM仕様って訳じゃないですよね?
473 :
デフォルトの名無しさん :02/06/30 22:03
>>469 …ごめんなさい…。
13行目からです。
Private Sub StartTimer(ByVal Interval As Integer)
Dim m_TimerID As Integer
Dim m_Interval As Integer
Dim Ret As Integer
Ret = timeBeginPeriod(1)
If Not Ret = TIMERR_NOCANDO Then
m_TimerID = timeSetEvent(Interval, 1, AddressOf TimeProc, 0, 1)
Else
MsgBox("timeBeginPeriod に失敗しました。") ' 暫定
End If
End Sub
です。
475 :
ななし@461です :02/06/30 22:10
>>474 てゆーことは、VBで使うにはラッパーにするしかない、と?
(そこまでやるのもアホいような気が・・・(-_-;)
>>475 >ラッパーにする
ちぇけら!
わけわからん
みんなしらん
用語を使ってご機嫌KAI?
ラッパーは俺
DJ TOMY
クラスはラッピングするもんSA!
477 :
デフォルトの名無しさん :02/06/30 23:19
vbでunicode形式のファイルって作れるんですか? ファイル出力したらjisかs-jisに変わるって聞いたことあるんだけど。 知ってる人いたら教えてください。
>>477 バイナリファイルとして書き出せば表現できない物は何もないよ。
>>455 455の示したコードをベースにプログラム組んで実行したら、
こちらでは140〜170回くらいで落ちた。(Win2KSP2,.NET Framework SDK(SP1))
いろいろいじってみて、回数は後伸ばしになったが390回くらいでやはり落ちた。。
.NET側でないところで落ちている。
ドキュメントを読んだ限りでは、Delegateオブジェクトが
ガベージコレクションに抹殺されてしまってるのが原因っぽい。
ちゅうことで以下のように組んでみた(DelegateなオブジェクトをPrivateで持ってるところがポイント)。
とりあえず落ちないっぽいが自信なし。
「相互運用マーシャリング」「各種のマーシャリングのサンプル」
あたりのヘルプを読んでみてくれ。
4000回超えても落ちないので、投稿してみる。
Imports System Imports System.Drawing Imports System.Windows.Forms Imports System.ComponentModel Public Class TimerTest Inherits Form Private mCount As Integer Friend WithEvents aTimer As MyTimer Public Sub New() aTimer = New MyTimer() End Sub Public Sub Form_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load aTimer.Start(100) End Sub Public Sub Form_Closing(ByVal sender As Object, ByVal e As CancelEventArgs) Handles MyBase.Closing aTimer.Stop() End Sub Public Sub Timer_Tick() Handles aTimer.Tick mCount+=1 Me.Invalidate() End Sub Protected Overrides Sub OnPaintBackground(e As PaintEventArgs) MyBase.OnPaintBackground(e) e.Graphics.Clear(Color.White) e.Graphics.DrawString(CStr(mCount), Me.Font, New SolidBrush(Color.Black),New PointF(0,0)) End Sub Public Shared Sub Main() Application.Run(New TimerTest()) End Sub End Class
Public Delegate Sub TimeProcDelegate(ByVal uID As Integer, ByVal uMsg As Integer, ByVal dwUser As Integer, ByVal dw1 As Integer, ByVal dw2 As Integer) Public Class MyTimer Public Declare Function timeSetEvent Lib "winmm.dll" (ByVal uDelay As Integer, ByVal uResolution As Integer, ByVal lpFunction As TimeProcDelegate, ByVal dwUser As Integer, ByVal uFlags As Integer) As Integer Public Declare Function timeKillEvent Lib "winmm.dll" (ByVal uID As Integer) As Integer Public Declare Function timeBeginPeriod Lib "winmm.dll" (ByVal uPeriod As Integer) As Integer Public Declare Function timeEndPeriod Lib "winmm.dll" (ByVal uPeriod As Integer) As Integer Public Const TIMERR_BASE As Integer = 96 ' was 128, changed to match Win 31 Sonic Public Const TIMERR_NOERROR As Integer = (0) ' no error Public Const TIMERR_NOCANDO As Integer = (TIMERR_BASE + 1) ' request not completed Public Const TIMERR_STRUCT As Integer = (TIMERR_BASE + 33) ' time struct size Public Event Tick() Private m_TimerID As Integer Private m_Interval As Integer Private m_Delegate As TimeProcDelegate Public Sub New() Dim Ret As Integer = timeBeginPeriod(1) m_Delegate = New TimeProcDelegate(AddressOf TimeProc) If Ret = TIMERR_NOCANDO Then MessageBox.Show("timeBeginPeriod に失敗しました。") ' 暫定 End If End Sub Public Sub Start(ByVal Interval As Integer) m_TimerID = timeSetEvent(Interval, 1, m_Delegate, 0, 1) End Sub Public Sub [Stop]() timeKillEvent(m_TimerID) End Sub Protected Overrides Sub Finalize() timeEndPeriod(1) End Sub Public Sub TimeProc(ByVal uID As Integer, ByVal uMsg As Integer, ByVal dwUser As Integer, ByVal dw1 As Integer, ByVal dw2 As Integer) RaiseEvent Tick() End Sub End Class これ全部をTimerTest.vbファイル1ファイルに記述して、 vbc /t:winexe /out:Timer.exe /r:System.dll,System.Drawing.dll,System.Windows.Forms.dll TimerTest.vb /optionstrict+ /debug+ でコマンドラインからコンパイル。
>コマンドラインからコンパイル。
なのは、漏れがSDKでやってるから、IDEを使ってるやしはその辺適当にやってくれ。
>>477 Dim b() As Byte
Dim s As String
s = "あいう123えおABC"
b = s
とかやって、bをバイナリーモードで書き出すべし。
>458 レスどもです〜。
484 :
デフォルトの名無しさん :02/07/01 01:27
Collection型の使い方を教えてください。 具体例とかあるとありがたいです。
486 :
デフォルトの名無しさん :02/07/01 01:30
かちゅ〜しゃなどのプログラムはVBで作成されたプログラムですか? プログラムは公開されてますか?
かちゅクローンのソース(Del)が公開されて他と思うから それを翻訳すれ。
>485 ありがとうございます。
僕の入った会社では、VBで作ったDLLを 他の端末で使う場合、レジストリに書込/消去する ツールを起動することになっているのですが、 (聞いた話ではレジストリ登録/削除の処理) 共同開発する場合は、皆さんしているものなのでしょうか。 初心者の質問で申しわけありません、VBほとんど 分かっていません。
>>490 共同開発と作られた機能を再利用する事がなんぜ一緒に語られるのか
分かりませんが、共同開発の時に便利なのはVSSです。
レジストリに登録云々はライセンスの問題じゃねーかな?
>>490 >> 491
レジストリに登録するのは、そうしなきゃ動かないからだよ。
VBで作れるDLLはActiveX DLLだからね。
ActiveXの作成に関連するヘルプに目を通すべし。
493 :
デフォルトの名無しさん :02/07/01 02:33
>>490 AvtiveXはレジストリに登録しないと使えないから。
>>492 いや、レジストリに登録しなければ使えないのは当たり前なわけで、
他の端末で使う時にわざわざもともと使ってた端末のレジストリを削除するのは、
他に何か理由があるからじゃね?
>>494 >他の端末で使う時にわざわざもともと使ってた端末のレジストリを削除するのは、
>>490 の「他の端末で使う場合、レジストリに書込/消去する」
を読んでそう捉えたなら、想像力ありすぎでは?
ツールとして書き込むものと消去するものとがあるとは書いてあるけど、
元の端末で消去するツールを実行するとはないと思うが。
他の端末で実行するのに、登録したら、後で消しとけよってことじゃない?
>>495 すまん、意味不明な文章に・・・。
>元の端末で消去するツールを実行するとはないと思うが。
「元の端末で「消去するツール」を実行するとは書いてないと思うが。」
に訂正。
レジストリに書込/消去するツールが何のことを言ってるか気になるのは俺だけだろうか?
まあおれも環境が汚れるのはいや
499 :
デフォルトの名無しさん :02/07/01 08:17
VN.netの質問なんですが、誰か知ってたら教えて頂けませんか? 現在ソケット通信するサーバアプリを作っています。 TcpListenerクラスを使って、クライアントと接続して、 Socket = TcpListener.AcceptSocket でソケットを作成しています。 このSocketを利用して Socket.Connected プロパティで、接続状況を確認しているのですが、 クライアントアプリを停止したりしても、 Socket.Connected プロパティが常にTrueになってしまいます。 クライアントはVB6、VB.netで作成しましたが、結果は同じです。 上手く接続状況を確認できる方法はないでしょうか??
501 :
デフォルトの名無しさん :02/07/01 13:07
vb6.0で座標をピクチャーボックスの中心にもっていきたい場合は どうしたらよろしいんでしょうか? どなたか教えてください?
すみません ×VN.netの質問 ○VB.netの質問 です
>501 何がやりたいんだかサッパリです
>>503 おそらく「座標の原点を」と言いたいのでは?
レスとしては、「んなもん、自前で関数作れ」でいい?
505 :
デフォルトの名無しさん :02/07/01 13:52
VBのエディタ上で使えるGrepツールってありますか? 探したけど、見つけられませんでした。。。
506 :
デフォルトの名無しさん :02/07/01 14:46
関数はどう作るんですか?
>500 タイムアウト処理を組み込んでおくってのは?
>>506 写像関数でもつくれば?
ってか、あなたがやりたいことを最もよく知っているのはあなたなんだから、
あなたがロジックを考えなさい。
他人にヒントを貰おうと思ったら、環境・状況・目的等をピシッと書いてくれないと、助言できねっす。
マサカと思うけど、"Private Function"とキーを打ったことが無いとは言わないよね。
しまった、
>>506 はネタだったのか?
ハメラレタ・・・鬱
>>507 接続の確認をしてからソケットからデータをSendしようと
しているんですが、実際には接続が切れていても一回目のみSocket.Sendコマンドは
出来てしまうんです。
(もちろんクライアントは存在しないので、送信バッファか何かに保持されている
だけみたいですが)
そして、2度Sendイベントを行うと、エラーで落ちます...
511 :
デフォルトの名無しさん :02/07/01 17:05
バッチ更新ってなんですか?
ごめんなさい。出来ますた
513 :
デフォルトの名無しさん :02/07/01 23:07
>501 ユーザ座標で、(-1,-1)-(1,1)とかに設定するだけ。 関数作る方が勉強になるけどね。
514 :
デフォルトの名無しさん :02/07/01 23:44
>478 解決しました。ありがとー!
VBって、環境設定しだいでしょうけど、 オブジェクト名のあとに","を打つとメソッドとか出るじゃないですか。 で、なんで>418の".Print"は出てきてくれないんですか?
516 :
デフォルトの名無しさん :02/07/02 05:18
>>515 他のメソッドと扱いが違うから、かな?
構文も特殊だし。
>>501 意味不明だが、中心に描画する時は
親のサイズをpw,ph、子のサイズをcw,chとすると
((pw-cw)\2,(ph-ch)\2)に描画すればいいぞ。
>>505 そう言えばVBのコントロールではあんまり無いな。
自前で作ったほうが早いんじゃないか?
>>506 Function Hoge()
End Function
>>515 もともとVBではPrintメソッドはサポートされないが、
昔からBASICを使ってきた人用にわざわざ対応した、
という話を聞いたことがあるような。
519 :
デフォルトの名無しさん :02/07/02 10:10
Line Input #1,d をつかってデータファイルらしきもの(一部テキスト)から読みこんでいるのですが、 文字として読めないのか、ところどころしか読みこめません。化けるし。 うまく読める方法はないでしょうか。お願いします。
早速ありがdやってみます
522 :
デフォルトの名無しさん :02/07/02 16:08
それでバッチ更新ってなんですか?
523 :
デフォルトの名無しさん :02/07/02 17:41
厨な質問ですが、お願いします。 現在VB.NETでDataGridを継承したコントロールを作りたいと思って挑戦してるのですが、うまくいきません。 DataGridのソースがどこかにあると、聞いた気がしたので、そこを参照にしたいのですが、 どこにありますでしょうか?
524 :
◆5glB3gAo :02/07/02 18:36
VB6なんですが 外部プログラムでの「閉じる」を検出して 閉じる操作をキャンセル(VBでいうとQueryUnloadでCancelを1にするように) したいんですが、これは実現できますでしょうか。 そんなことするならウィンドウハンドル取って閉じるボタン無効にすれば? といわれそうですが、そうしないでやらないとマズイことがあるので・・・。 おながいします。
525 :
デフォルトの名無しさん :02/07/02 20:42
>516-518 レスどもです。 あまりおすすめではないのですか。 CallやGosubが昔のなごりだってのは本で見ました。 じゃあ、話がPrintに限定されますが、 pictureに文字を出すスマートなやり方が他にあるんですか?
>>526 .Printでいいと思うけどね。
他の方法ならTextOutとか。
528 :
デフォルトの名無しさん :02/07/03 08:37
初めてVB(6.0LerningEdition)を買ってきました。 「プロジェクト」-「コンポーネント」で”Microsoft Internet Transfer Control6.0(SP4)” にチェックを入れ、フォームに”Inet”を貼りつけると 「このコンポーネントのライセンス情報が見つかりません。デザイン環境で この機能を使うために必要なライセンスがありません」と出ます。 SP5にはしました。VBを再インストールしても同じです。 ヘルプを見ても(Error429)「ActiveXコントロールをサイドセットアップするか コントロールの発売元にお問い合わせください」としかありません。 困ってます。よろしくお願いします。
LerningEditionだからだろ。
>>529 ありがとうございます。
マジっすか。それならそれで、極めて単純な理由なので納得できます。
ProfessionalEdition買ってきます。
しかし、「使えねぇよ」ぐらいのメッセージ出てもいいですよね。
あるいは「Professional買えよ」とか。
>>530 >ProfessionalEdition買ってきます。
ラーニング買った金がモタイナーイ
.NETは?
532 :
デフォルトの名無しさん :02/07/03 09:21
つか、.NETにしろよ。いっそC#とか。
>>531-532 悲しいかなWindows98なんですよ。98だとダメですよね?<.NET
つーか、今Professionalネット購入しようとMSから紹介されてるショップ探したけど
どこも売ってない。.NETばっか。パソコン買わなきゃダメってこと?
>>534 98年モデルで、メモリだって目一杯増設してても128MBだし
買い換える方向で考えます。出費痛すぎ。(涙
みんなありがとう。
じゃあラーニングエディションでがんばれば? コンポーネントに頼らずAPIでゴリゴリ実装。
質問です CreateProcessでアプリを起動して、アプリが起動中かどうか 判定したいのですが、メモ帳、電卓、エクセル、ワードなどは うまくいくのですが、ワードパッドだけうまくいきません。 どうもワードパッドだけprocess_end_code_に違う値が返ってくるの ですがこれは仕様ですか?それともバグですか? 以下ソース Public process_info As Boolean Public Const STATUS_PENDING = &H103& Public Const STILL_ACTIVE = STATUS_PENDING CreateProcess_ = CreateProcess(vbNullString, path_app, _ ByVal 0&, ByVal 0&, 1&, &H200, _ ByVal 0&, vbNullString, startupinfo_, process_information_) GetExitCodeProcess_ = GetExitCodeProcess(process_information_.hProcess, process_end_code_) If process_end_code_ = STILL_ACTIVE Then process_info = True '起動中 else process_info = False '起動していない End If
>>537 そんなもん同じ値返せなんてどこにも規定されてない。
バグとか軽々しくほざくな。
>>538 なんか私の書き方が悪かったようで。
確認したかったことは
ワードパッドがこの値を返してくるのが仕様なのか?
それとも私のソースにおかしい所があってワードパッドが
正しい値を返していないのか?
また、ワードパッドがこういうものならば
何か別の方法でチェックできないか?
と聞きたかったのです。
だからここでいってるバグって言うのは私のソースのことであって
ワードパッドにバグが!!と言いたかったわけではないんです。
540 :
デフォルトの名無しさん :02/07/03 11:43
質問です。 いまVBで日本語打とうとしたら、”A”付近のキーに触ってしまい、 それから日本語を打つと、 ■■■■■■■■■■ のように黒く表示されてしまいます。Enterを押せば一応読めるのですが、 どうやら、アンダーラインが■になってしまったようです。 ほかのアプリは影響ありません。 どうしたら直るでしょうか?おねがいします。
541 :
デフォルトの名無しさん :02/07/03 12:18
拡張子exeをzipに変換ってどうやるんでしょうか?
>>541 それは純粋に拡張子を変換する方法を聞いてるのか?
それともzipに圧縮するソフトを作りたくて聞いてるのか?
まさか自分で作ったexeをzipで配布したいという事じゃないだろうな?
>>541 下記のどれかを選べ
1.renameする。
2.統合アーカイバを見に行く
3.ベクターへ行く
544 :
デフォルトの名無しさん :02/07/03 13:25
バイナリ値変更→保存について 既存のファイルに改行コードを付加したり 取り除いたりする場合、 バイナリ形式でファイルを開くのは分かるのですが、 その後の対応方法が分かりません(改行コードを付加、削除→保存まで) あと、指定アドレスの場所を参照したい場合は どのようにしたら良いのでしょうか?
Cで書いたプログラムをVBで実行するにはどのように記述したら良いんで消化? 分からない・・・
>546 shellすりゃいいじゃん
誰かVC++で足し算のできるWINDOWS application作っていただけませんか? 初心者なので意味がわかりません。お願いします。
>>522 各場面で微妙に意味は違うが、
基本的に一括でデータを更新すること。
もしくはその為のプログラム。
>>524 VBだけじゃ無理っぽいな。
C使えるならフックが使えるが。
>>526 無いよ。
>>537 起動直後にExitCodeを取得しようと
してるからじゃないか?
WaitForInputIdleつかってみれ。
(その場合は他のアプリでも
STILL_ACTIVE以外が返ってくるんだが。)
>>541 ?
>>544 バイナリデータなら、
Redimでサイズ変更、位置ずらして追加。
Killで削除、Open~Putで保存。
>指定アドレスの場所を参照
Seekのことか?
>>546 ?
>>549 VC++で電卓作れ、ってことでしょ。
>作っていただけませんか?
やだ。
552 :
デフォルトの名無しさん :02/07/03 15:53
Windows2000でVB6.0をインストールして使おうとしたら 実行>>開始 とすると、突然画面が真っ暗になって再起動がかかります。 あるいはスレ違いかも知れませんが、VB6.0をつかっていて こういった症状を経験したことのある方、ご助言賜りたく。
>552 とりあえずSP5当てれ。
554 :
デフォルトの名無しさん :02/07/03 16:23
>>555 マジです!
おまけにOffice2000でフォントを切り替えようとすると
再起動がかかるという不具合も直りました。
(これはWindows2000スレで質問出していたのですが)
いやぁ〜助かりました。
だれかー
>>540 もお願いします。
似たような症状の人いませんか?
>>540 情報不足すぎw。
即効で確実な方法だけ知りたいなら、マシンごと買い換えろ。
それでもだめなら宗教かえてみたら?
>>558 私も情報不足ですか?
真言宗から他宗派へ逝くべき?
560 :
デフォルトの名無しさん :02/07/03 22:16
ACCESSデータベースを使って複数プログラム(プロジェクト)を作成 しましたが、プログラムが十数本になったため、これらを起動する メニュー画面を作りました。しかし、shell関数で各々のEXEを実行 しているため、使っていて動きが不自然です。 このような複数プロジェクトをスムーズに動かすメニューの作り方 にどのような方法があるか教えてください。 ちなみに一つのプロジェクトで複数のフォーム、データレポートを 使っています。
>>540 WindowsフォルダにttfCacheってのがあったら
それ削除して再起動してみたら?
あまりにも有名な対処方なんでもうやってるかもしれんけど。
>>500 VB.NETはまだ使ったことがないからTcpListenerクラスはよく知らないけど
Connectedってのは「接続できた」っていう情報しかとれないんじゃない?
「接続されている」という意味ではないと思うんだけど。
TCPだと接続されているかどうかを「確実に」確認するのは
原理的に無理だと思うし。
TCPだとクライアントの方は終了するときちゃんとしてる?
クライアントがCloseしてすぐ終了したりすると
サーバ側は切れたことを確認できないで。
(クラ「切断するで〜」→サバ「ほいな。じゃ切るでー」→クラ「ほいな」で
TCPは終了するからさぁ。最後の「ほいな」がないと切れないんよね)
通信がなければタイムアウトで切っちゃうか、
送ってみてダメだったらダメって判断するしかないと思うなぁ。
まぁ詳しいことは池田さんあたりに聞いてみてよ。
たぶん救ってくれるw
>>540 フォントの設定日本語以外になってるんじゃないか?
この前どうしてもフォームに日本語が出せなくて
さんざん悩んだ結果、フォームの日本語設定が
バルト語になってたことがあるぞ。
一人で笑っちゃったよ。バルト語って何国の言葉なんだ。
>>500 NETはやってないのでパス。
>>561 あらかじめ表示させずに起動しておいて、
必要な時に表示するとか。
ただプロセスは起動するだけでかなりのリソースを使う。
Accessなんか十数個も起動したら不自然になるの
当たり前だぞ。
>バルト語 リトアニア・ラトビアなどバルト海沿岸部諸語
>>560 さん
>>562 さん即レスさんレスありがとうございます
ttfcache消しました、でもなおらず。
フォント、ってMSゴシックとかですよね、
MS明朝とかにしてもうまくいかず、、、
パスワード入力時のように、入力しても見えない、でも、漢字に変換せずに
エンターを押して、漢字変換候補を決定すれば見えるようになる、
しかもほかのアプリは正常に漢字変換できる、、、
かなーり変な感じです。
とりあえず、仕方ないので再インストールします
ありがとうございました。
568 :
デフォルトの名無しさん :02/07/04 10:08
この仕様、どうよ!?
過去に書いたソース、全部チェックしなくちゃならん。
VBをWin95,98,2000から使ってた人は要注意です。
この仕様のどこが一般的なのか小一時間(以下略)。
ttp://support.microsoft.com/default.aspx?scid=http%3a%2f%2fwww.microsoft.com%2fJAPAN%2fsupport%2fkb%2farticles%2fjp418%2f6%2f91.asp 【抜粋】
Windows XP に含まれているオートメーション ライブラリ 3.50 環境では、Format 関数は、
丸めの対象となる数値が 5 の 場合、最も一般的である 「丸めの対象とな る一桁前の数
値が偶数であれば繰り下げ、奇数であれば繰り上げる」 という方法で数値の丸めの処理
を行います。 Windows XP 環境において Format 関数は以下のように動作します。
例:
Format("0.5", "#,##0") '0 が返ります
Format("1.5", "#,##0") '2 が返ります
Format("2.5", "#,##0") '2 が返ります
Format("3.5", "#,##0") '4 が返ります
>>567 んにゃ、フォントの文字セットのこと。
>>568 ありゃ、ほんとだ。
まあCLngとかでは一般的な処理だからねえ。
四捨五入する時はint(x+0.5)ってやってたしなあ。
570 :
デフォルトの名無しさん :02/07/04 10:39
Visual Basic 6.0 Windows2000 でUnicodeファイルを作成しようしているんですが、 下のように、全角文字をファイルに出力すると どうしても、文字化けしてしまいます。 Dim strUNICODE As String Dim byteCHAR() As Byte strUNICODE = "3042" '←「あ」 Open "output.txt" For Binary As #1 byteCHAR = ChrW("&H" & strUNICODE) Debug.Print byteCHAR 'デバッグしてみると「あ」とちゃんと表示される Put #1, , byteCHAR 'ファイルの出力「BO」と表示される Close #1 全角文字をUnicodeでファイルに出力する方法ってあるんでしょうか? 知っている方いましたら、教えてください。 よろしくお願いします。
>>570 Dim strUNICODE As String
Dim byteCHAR() As Byte
Dim UnicodeHead(1) As Byte'ここと
UnicodeHead(0) = &HFF'ここ
UnicodeHead(1) = &HFE'ここ
strUNICODE = "3042" '←「あ」
Open "c:\output.txt" For Binary As #1
byteCHAR = ChrW("&H" & strUNICODE)
Debug.Print byteCHAR 'デバッグしてみると「あ」とちゃんと表示される
Put #1, , UnicodeHead'ここを追加
Put #1, , byteCHAR 'ファイルの出力「BO」と表示される
Close #1
Rndで、0〜10まで、小数点第2位以下を消して乱数を発生させたいです。 (0,1などOK。0,01はだめ。) こうやってもできないのですが、どうやればいいのでしょうか? cur = Rnd * 10 Label3(uma).Caption = cur - (cur Mod 0,1)
>>572 Dim RndValue As Double
RndValue = Int(Rnd * 100) / 10
MsgBox RndValue
名前入れ忘れ。 そろそろ2chブラウザでも使うかなあ。 でも使うと2ch止められないんだよなあ。
>>573 サンキューです。
ついでにもう一つやることができたのですが、上のパターンで、1〜10までの乱数を発生させるにはどうすればいいのでしょうか?
つまり0〜0.9までは、省きたいのです。
あ、+1すればいいですね。 変な質問申し訳ありませんでした。
577 :
デフォルトの名無しさん :02/07/04 11:51
VBに引数をつけて、起動した場合、 引数は、どうやって参照するですか?
>577 Command$
ケコーン
581 :
デフォルトの名無しさん :02/07/04 11:54
>578>579 ありがとう、さっそくやってみます。
>>563 書込みありがとうございます!
Socket.Connected
の解説によると
「プロパティ値
Socket がリモート リソースに接続されている場合は true 。
それ以外の場合は false 。
解説
Socket の接続状態を取得します。このプロパティは Socket の
最新の既知の状態を返します。
false を返す場合、 Socket は一度も接続されていないか、接続が切断されています。
true を返す場合、 Socket は前回の I/O 操作時に接続されていました。
メモ Connected が true を返した場合でも、 Socket がまだ Connected である保証はありません。」
となってます。
最新の既知の情報、ということだったんで、確認できるのかなぁと思ってたんですが...
クライアントの切断は、VB6で作ったプログラムでWinsock.closeで
切断処理しとります。
やっぱポーリングとかで対処するしかないんでしょうか??
ちなみに池田氏とは??
583 :
デフォルトの名無しさん :02/07/04 12:50
VisualBasic.netの認証ってOfficeXPやWindowsXPと同じようなかんじですか? 認証自体面倒くさくていやなのですが、都合上、PCの中身(CPUなど)をよく取り替えるので、 WindowsXPのような認証だと非常に困るのです・・・。 そこの所どうなっているのかご教授ください。 また、認証を回避する方法が、すでに存在しているのかどうか教えてください。 お願いいたします。
>>571 ありがとうございます。
それでやったらうまくいきました。
Byte Order Markってやつなんですね・・・。
勉強しなおします。
分かりにくくてスマソ・・・ えーとですねVC++でタイピングプログラムを作ったんですが、 それをVBを使って動かせるようにしなさいと先生に言われたのです。 が、 VBで画面レイアウトを作って、 それから個々にCのプログラムから機能分担させる所でお手上げです・・・ もう、何が何やら/(´Д`;)?
>>585 そんなん自動でバシッとやってくれるような方法なんてありゃせん。
コツコツ移植しなされ。
>>585 その状態ならなんか本を買うならWebなりで簡単にでも
VBの基礎を勉強した方がいいと思われ。
>>585 なら、VBのShellでそのVCのアプリを起動するってのは?
一応「VBを使って動かせるようにしなさい」を守ってるぞ。(w
まじめに移植するんならどれぐらい複雑に作ってあるかにもよるが
一から作り直したほうが早いだろうな。
まあとりあえずVBの初心者本ぐらいは読んだらどうだ?
>586 いや、逐一書きこまなきゃ逝けないことは分かるんですが・・・ >587 ですね、いきなり言われて、ただがむしゃらに突っ走ってるんですが、 VBの知識が無さすぎです。 唯一自力で書けるのがunload me・・・ 逝ってきます 586さん587さんご迷惑おかけしました。 教科書でも読んでがむばります。
>588 ありがd shellは駄目っていわれました・・・ はぁ、なんでグループ開発の授業なのに私しかプログラム組んでないんだろう 愚痴っても仕方ないですけど 一人は辛い
>>590 じゃあCreateProcess...キリないから止めよ。
VBはPGの達人にも素人さんにも敷居が低いのが
いい所だからな。すぐに出来るようになるさ。
ま、がんばれ。
VBでバイナリエディタを開発するときに必要な知識を得るにはどうしたら良いでしょう? サンプルソースがあれば手っ取り早いのですが…
バイナリファイルのリード/ライトでええやん? あと文字コードくらいか... もちろん、一般的なVBの知識はあるという前提の上でだけど。
>>593 複雑な機能はいらないです。
バイナリファイルのリード/ライトの構造は分かるのですが、
出回っているバイナリエディタに、望んでいる機能が無くて困っています。
文字コードは分かりません。
>>594 望んでる機能がわかってるのならそれを作れば?
もう来んなボケカス
596 :
デフォルトの名無しさん :02/07/04 19:43
VBからExcelのシートをいじってるのですが、 Excelの選択範囲を扱う、 「Selection.○○」 ってのが使えないので難儀しています。 多分、どのシートを選択しとんねん、みたいなことだろうと思うのですが、 「Workbook.Worksheets("Sheet1").Selection」 って出来ないので指定する方法が分かりません。 無理なんでしょうか。 おながいします。
>>596 それ、多分あんたが思ってる機能と違うから。
詳しい事はヘルプにもろ出てるからそれ見ろコンチクショウ
そんでVBじゃなくてVBA
>>597 すみません、書き方悪かったですね。
ええと、VB6からExcelの参照設定入れてやってるのです。
ExcelからAlt+F11のVBEで書けば、自らのSheetなので、
Selectionで選択範囲を参照出来るのですが、
VB6からだと、外部からの参照というせいか、
Selectionで選択範囲を取得できないのです。
>>598 VBからExcelを操作する方法は知らないが、WorkSheetオブジェクトには
Selectionメソッドはない。
まずは600!っと。
>>599 ごめん、それ忘れて下さい。
そういう感じにどのSheetのものか指定できると出来るのにな、ってことです。
Selectionはプロパティだった。訂正しとく。
>>600 それはよくわからん。スマソ。
リテラルに指定するのじゃなくて、いったんバリアントに参照を 放り込んでその変数に対してSelectionを指定 それでできなければ 名前じゃなくてインデックスか性吸う痴で指定するとできるかもしらん。 できんかもしらん。ようわからん。
SelectionはExcelのApplicationオブジェクトのプロパティなので、 Set ex = New Excel.Application ってやった後なら ex.Selection って感じで参照できるにょ。 アプリケーション中でSelectできるのは1箇所だけだから、 どのシートってのは指定する必要無し。
604 :
デフォルトの名無しさん :02/07/04 23:31
上司に 「VBでドキュメントビューアーキテクチャ」 しろっていわれました。 VCにはあるみたいだけど VBでやろうと思ったら ちゃんとドキュメントクラス作って・・・ ってやらんとだめなんですか? 何かいい案ありませんか?
>>604 まずはドキュメントビューアーキテクチャがなんなのかを勉強しろ
なぜ vb やの
>>605 それにコントローラを加えれば
DCV?
>>605 C/SでDBと接続するシステムなんだけど
つまり必要な情報をDBから取ってきて
フォームとは別にクラスかなんかに保持しておくんだよね。
フォーム(ビュー)→クラス(ドキュメント)→DB
こんなかんじであってる?
ドキュメントビューアーキテクチャはプログラムの方法論。 言語は関係ないだろ
>>608 要はロジックとビューを切り離せって事だろ。
最近良くやるよ。
でも、それやるとユーザインターフェース作るのが面倒になる罠。
フォームモジュールにダラダラSQL書くなっつー事でおけ?
その上司が単にDocument-View言ってみたかっただけちゃうんかと(
>>611 それだけじゃ足りないような・・・
とりあえずやろうとしてるのは
Form1.frm,Form1.bas,Form1_DOC.cls,DBAccess.dsr
をつかって
1.DataEnvironment(DBAccess.dsr)を使ってDBからデータ取得
2.ドキュメントクラス(Form1_DOC.cls)にデータを保持
3.Form1.basで、ドキュメントクラスから
表示するデータを取り出し、Form1.frmに表示
こんなかんじだと認識したんだけど・・・
DB使うのに、データをクラスで保持するんじゃDBの機能半減だな 端末がデータが欲しい時に、クラスのデータとDBのデータが違ってしまう場合が 考えられるし、データ更新時のロックとかは? DBへのインタフェースがクラスである事は良いと思うけど、 C/S型のシステムでデータの保持にクラスを使うのは・・・。 検索や抽出はすべてクラスのデータから行うの?
>>615 画面を表示したり、更新ボタンを押すたびに
DBに接続するつもりだから・・・
DBの内容をフォームに表示する時に
一緒にクラスに保存しておく
そうすれば、更新するときに
元の値と違うものだけを更新すればよくなる。
>データ更新時のロックとかは?
これは結局更新日時見たりせんといかんと思うけど。
>検索や抽出はすべてクラスのデータから行うの?
検索はDBからしてそのたびにクラスの内容を書き換えるかんじ
抽出はクラスからする。
>>615 > DB使うのに、データをクラスで保持するんじゃDBの機能半減だな
>
> 端末がデータが欲しい時に、クラスのデータとDBのデータが違ってしまう場合が
> 考えられるし、データ更新時のロックとかは?
クラスで保持するかしないに関係なく、問題点・解決策は同じだと思うが。
>>595 >必要な知識を得るにはどうしたら
って聞いてるだろ
日本語の勉強してるのか???
頭大丈夫か?
>>618 ヘルプ読むなりネット検索するなり人に聞くなりすりゃいいじゃん。
んな事もわからんとは君もちょっと大丈夫かって感じだな。
>>595 はいきなりキレすぎだけど。
つーか望んでいる機能が無くて困ってるなら、それについて聞けばいいのに。
>>619 >ヘルプ読むなりネット検索するなり人に聞くなり
もちろんやっている
>望んでいる機能
先に基礎知識を入れたい
>>592 バイナリエディタは俺も作ったことがあるが
別に何も特別な知識は必要無いぞ。
>>594 その望んでる機能が何か言わんと返事のしようが無い。
>>620 "もちろんやっている"なら基礎知識は当然わかってるものだと思うのだけれども。
まあ"必要な知識を得るにはどうしたらいいか"もわかってるようなので
これで解決だね。
>>621 お願いします。
1.指定アドレスから○○h毎にデータを取得し修正。<−−複数操作可
尚、入力データチェック機能付加
2.変更データを別画面にて複数入力しておき、
変更前内容が現データと同じか比較、同じ内容なら変更値を入れる
一括変換と個別変換の機能付加
3.指定アドレス範囲をBMP化(サイズ指定可、予測サイズ表示)
4.変更データのライブラリ化
バイナリエディタの機能は1部作成しました
1.テキストボックス上に00〜0Fx00〜0Fのデータ配置
2.値(00)をダブルクリックすると別画面が表示され値変更可
3.ファイル読込、保存
4.ファイルサイズ表示
↑のを少し変更したいと思っています。
1.アドレス位置表示
00000000
00000001
00000002
と表示される部分をテキストボックスで作成しましたが、
これのアドレス管理方法が分かりません。<−−画面スクロール時の対応不明
00〜0Fx00〜0Fのデータとの連同(画面スクロール)方法も分かりません。
2.00〜0Fx00〜0Fのデータ
現在テキストボックスで
00 01 02 〜 0F
00 01 02 〜 0F
と表示させているのですが
値を編集するには値(00)をダブルクリックしなければ変更できません。
これを値(00)を直接変更できるようにしたいのと
00 01のスペース部分は選択できないようにしたい。
>623 まずこのうんこを食え。話はそれからだ。
>>621 むう、難解な文章だな。よく分からん。
とりあえずVBの基礎は大体知ってると仮定するぞ。
んで、表示部分はテキストボックスなんだな?
では。
1.Get,Put
2.入力部(テキストボックスなど)、Get,Put
3.GetDC,BitBlt,ピクチャボックス,SavePicture
4.それ用のデータを持っとく。ReDimとかで。
あと普通バイナリエディタなんかの表示部分は
PictureBoxかFormに直接描くんだが。
現在アクセス2000を使用しております そこでクエリについてのしつもんですが、 2つクエリをつかって結果をもとめています。 ひとつめのクエリはクロス集計クエリを使用しており 2つ目は選択クエリを使用しています。 そこで一つ目のクロス集計の内容をクエリ2に反映させているわ けですが、 クエリ2で 「1: IIf(IsNull([クエリ1のクエリ名].[1]), 0,([クエリ1のクエリ名].[1]))」 上記構文でクエリ1の「1」というフィールドが NULLの場合は0を配置しております。 そこでそのクエリ1の「1」というフィールドが無い場合も0を既定で配置したいのですが、 なにか良い方法はないのでしょうか? クエリ1のフィールドは「1」から「10」まであり クロス集計でその値をもとめています。しかしもしクロス集計で集計でフィールドがある場合はいいのですが、無い場合もあるのです。 そのときの処理をおこないたいのですが・・・・ アドバイスの方宜しくお願いします。
VB6.0SP5.0についての質問ですが、 VB6.0からテキストファイルにADOまたは DAOを仕様してあたかもアクセスを仕様するかのように データをあつかいたいのですが、なにかいい方法はありませんか? 宜しくお願いします
>>623 よく意味が理解できないのだけれども
2のテキスト編集処理はSelStart等を使えばなんとかなりそうな予感。
たとえばテキストChange時に
ss = txt.SelStart
Select Case ss Mod 3
Case 0
txt.Text = Left$(txt.Text, ss - 1) & " " & Mid$(txt.Text, ss + 2)
txt.SelStart = ss
・
・
てな感じで。再帰防止とSelLengthを常に0にするのも忘れずに。
631 :
デフォルトの名無しさん :02/07/05 16:03
Delphiみたいに使用してない変数を警告でだしてはくれないでしょうか? 地道に検索かけて消すしかないんでしょうか?
>>631 メニュー>ツール>オプション
「編集」タグ 「変数の宣言を強制する」にチェックを入れる。
>>632 そうじゃなくて・・・宣言されてるけど使用されてない変数の
事なんですが・・・
>>629 テキストファイルを読み込む
↓
ACCESSに書き出す
↓
ACCESSを読み込む
↓
ADO、DAOで扱える
↓
(゚д゚)ウマー
636 :
デフォルトの名無しさん :02/07/05 17:27
こんばんは! WMIクラスを使って、CPUの温度とパケットの流れなどを監視したいのですが、 CIM、WIMをMSDNで探して見て実際にデータを取得したりしましたが うまくできません。 クラスとプロパティ どなたか知っている方おられませんか?
637 :
デフォルトの名無しさん :02/07/05 18:30
新しいフォームを動的に生成したいんです。 どうやればいいですか? 毎回フォームの内容はほぼ同じで 一部のLabelとかだけの表示が変わるのですが。 同時に2つ3つと開かれる場合もあります。
638 :
デフォルトの名無しさん :02/07/05 18:58
テキスト形式のデータファイルを一行ずつ配列に読み込んでゆくには どうしたら良いのでしょうか? たとえばこんな x y z 1 2 4 4 4 7 5 6 8 9 7 8 2 7 9 ...... ど素人なものでどなたかお教え願います。m(_ _)m
>>636 は
データ取得がうまくできないのか
データを取得したりしたけど他のことがうまくいかないのか
どっちなんだろう。
640 :
デフォルトの名無しさん :02/07/05 18:59
>>637 Private Sub Command1_Click()
Dim a As Form2
Set a = New Form2
a.Show
後は自分で。
>>638 Dim FileNo As Long
Dim i As Long
Dim a() As String
FileNo = FreeFile
Open ファイルパス For Input As #FileNo
i = 0
While Not EOF(FileNo)
ReDim Preserve a(i) As String
Input #FileNo, a(i)
i = i + 1
Wend
1行毎にReDim Preserveしちゃうの? 巨大ファイルだとやばそうな。 改行コードでSplitしたほうがよくないかな。 しらんけど。
644 :
636です。 :02/07/05 21:23
スレくれたみなさんありがとう。
>>639 データの読み込み自体がうまくいきません。
>>638 >While Not EOF(FileNo)
ということは、改行コードをデータファイル
から無くしてつかうんですね。
>>643 データ数は3*4000ぐらいなのですが....まずいでしょうか?
>>641 わざわざコードまで出してくれてマジサンクス。
あとはそれを動的配列にして
Redimしてやってからそれで新規フォーム呼び出せばいいのかな?
と聞く前に試せ、だったっけ。やってみます。
これ、↓いったい何やっているかわかる方いませんか? (ああ、わけわからん....) For I = 1 To 256 Mid(Str, I, 1) = " " Next I For I = 10 To 250 Step 10 Mid(Str, I - 2, 3) = "0.0" Next I
While...Wend と Do While...Loop との違いって何ですか?
>>646 固定長ファイルの1レコードを編集しているのかな?
>>646 それの1〜3行目を書いた奴にString関数の存在を教えてやれ。
話はそれからだ。
>>646 >>650 の言う事に非常に同意なのだが、仮にマジ知らなかったとしても
こうすりゃいいじゃん
Str = Space( 9 )
For I = 1 to 25
Str = Str + Space( 7 ) + "0.0" //あるいは Str = Str + Format( " 0.0" , 0# )
Next I
上のFormatのスペースは7個
なんで最初の数値の前にスペースが9なのかはしらんが。
Form1とForm2があって Form1からForm2を呼び出してやるんですが Form2にはタイマーコントロールがあって、 Form2がunloadされた後でもまだタイマーが働いてしまっています。 Form2を消す際にはちゃんと Timer1.Enabled = False Timer1.Interval = 0 Unload Form2 とやっているんですが。こんなもんですか。対処法ありますか?
あげあす
>>653 unloadあれた後、
Form2をロードしちゃってない?
Form2.xxx=○○○ とか。
>>652 たしか、文字列を確保してMIDで代入した方が速いってのがなかったっけ?
どれくらい効果があるか知らんが。
それに振り回されてわかりにくいコードを書いてるんじゃない。
657 :
デフォルトの名無しさん :02/07/06 03:07
ある変数にフルパスを入れるのですが それがファイルかディレクトリかを 調べるにはどうしたらよいでしょうか? Perlでいう if (-d $name){〜} という処理がしたいんです
Dir(name & "\.") とか。
fso
>>656 初期化処理のようであり、それだと多分処理の開始時に一回しか通らないから
ほとんど効果無いと思うけど。
>>652 String() 知らない奴は多分 Space() も知らないと思うけど...。
662 :
デフォルトの名無しさん :02/07/06 09:34
フォームにpictureを貼るとき、普通に貼ると、その絵が画面左上にだけ表示されます。 このとき、同じpictureを同じ大きさで、画面全体に複数貼るにはどうすればいいのでしょうか?
>>662 そう言うこと言うからVBがバカにされる。
実行したときにユーザが画面のサイズを変更できなくする方法はありますか?
画面サイズを変えるとは。 1.自分で作ったソフトのウインドウのサイズを変える 2.ディスプレイの解像度を変える 3.15インチモニタを17インチモニタに変える どれだ。
>>662 PictureBoxをコントロール配列にして
Loadで読みこんでVisible=true。
お勧めはしない。
>>667 むう、難しいな。
確かに難しいな・・・
670 :
デフォルトの名無しさん :02/07/06 14:29
ちょっと前にフォームを動的に生成したいと質問した奴です。 あれで確かにフォームを動的に生成できたんですが なぜかデバッグ時にはちゃんとなってるのに EXEを作ってそれを実行すると不具合がでます。 詳しく言うと、動的にフォームを生成して、 それを縦に並べるように位置をそれぞれずらしてやってるんですが デバッグ時にはちゃんとそれぞれが並び、完璧な動作なのですが、 EXEを作って実行するとどうしても位置が変更されずに 全てのフォームが同じ位置に来て、並べ替えられてません・・・。 コードは全く同じものなのですが。何故こんなことに??
コードを書いてみ>670
672 :
デフォルトの名無しさん :02/07/06 14:50
(.frm) Private Sub Command1_Click() Dim a As Form2 Set a = New Form2 a.Top = H a.Left = 50 a.Show H = H + 500 End Sub (.bas) Public H As Long
>>672 は私ではないですが
かなり似てます。ほとんど同じで、数字とかが違うだけ。
672さんがこれを予測してきたってことはこれだとダメな要因があるのかな?
674 :
デフォルトの名無しさん :02/07/06 15:27
>>673 タイミングの問題かも知れんが、
試しに↓こうしてみ。
(Form1)
Private Sub Command1_Click()
Dim a As Form2
Set a = New Form2
XL=50
YL=H
a.Show
H=H+50
End Sub
(Form2)
Private Sub Form2_Load
Me.left=XL
Me.top=YL
End Sub
(..bas)
Public H As Long
Public XL As Long
Public YL As Long
>>674 う〜む・・・
それも今試してみましたが、
やはりデバッグではちゃんと位置が設定されるのに
実行ファイルを作ってそれを実行した場合は同じ位置に複数が来ちゃいます。
どういうことなんだろう・・・(;´Д`)
676 :
デフォルトの名無しさん :02/07/06 16:29
>>675 VB6とVB.NET
両方デバック環境と実行ファイル両方試したけど
ちゃんと縦に並ぶけどな・・・
677 :
デフォルトの名無しさん :02/07/06 16:32
VB+オラクルが出来るとかよく聴きますが、これはようするに実務では どんな事が出来るのですか?
678 :
デフォルトの名無しさん :02/07/06 16:56
buroburo
あ〜、わかったわかった(w デバッグ時とテスト時ではWindowのClassが違うのね・・・。 そのせいでうまく行ってなかったんみたいで、 今試しに直したのやってみたらちゃんと動いたです。
WindowClassがデバッグ時と本実行時とでは違うのが原因でした・・・ いろいろと手間かけさせてすみませんでした。 どうもありがとうございました。
WindowClassが本実行時とデバッグ時とでは違うのが原因 だったみたいです。ありがとうございました。
WindowClassがアレだったみたいです。
WindowClassです。
WC。
(w
v
。
どこから「VB+オラクル」なんて質問考えたの? 沢山あり過ぎて答えようがないが。。。
求人広告だろ
Formの上にマウスカーソルがあるときだけ Formの色を変えたいです。MouseMoveでやってみたんですが そうするとFormの上に乗ったときっていうのは判定できるんだけど Formの上からカーソルが離れたときに元の色にもどすっていうのは どうやってやればいいんでしょう? VB6 w2kです。
きもちわりぃインターフェースだな。
>>691 あんまり言うとお前がVB厨をバカにしていると思われちゃうぞ。
>>691-692 センスが悪いのはわかってます・・・
そういうの以前にどうやればできるのかなぁって
ただそれだけなんですよ。ご教授お願いします
>>690 WindowFromPoint使え。でもそのインターフェースはおすすめできない。
どうせ、面倒くさがりユーザーの要望じゃ? VBなら簡単に色々試せるからやってみるのも勉強!
>>697 >VBなら簡単に色々試せるからやってみるのも
異様に制限があると思うが。
>>695 日本語じゃないのでわかりません。と言ってみるテスト。
キャプチャーで出きる?
>>699 張ったの俺なんだけどアレ何語・・・?
って言うかコード部分は普通に参考になる罠。
>>702 ドイツ語だろ。読めなくても何語かぐらい分かれよ!
704 :
デフォルトの名無しさん :02/07/06 20:04
VBで2〜3秒処理止めたいのですが、どのAPI使えば良いのでしょうか。
Sleep
710 :
デフォルトの名無しさん :02/07/06 20:47
このスレは、VBヲタ罵り合いスレになりました。
711 :
デフォルトの名無しさん :02/07/06 20:48
質問のグローバルすぎに喧嘩売りましょう・!
まぁ、こういうのは定期的にあるイベントみたいなもんだ。
713 :
デフォルトの名無しさん :02/07/06 20:57
714 :
デフォルトの名無しさん :02/07/06 21:07
俺もたいしたPGじゃないからなんとなく分るよ 質問の押えるポイントで悩むから。
dim N as Long
For N = 0 to 500000 step 1 Next N これで2〜3秒とまると思うが(w どうしてもAPIキボンなら、こういう関数作って見れば? まず Declare Function GetTickCount Lib "kernel32" () As Long を 宣言しておけよ。んで↓ Public Function Wait(ByVal t As Long) Dim At_0 As Long, At_1 As Long At_0 = GetTickCount At_1 = At_0 While ((At_1 - At_0) < t) At_1 = GetTickCount DoEvents Wend End Function Sleepとほぼ同じことするWait関数が自作でできあがり〜。 よかったね。VB5だとSleepないから実用的です。
でもあれだよねSleepくらいVBならステートメントとして取り込んでもよさそうなものなのにね。
>VBならステートメントとして取り込んで こんな発想しなくちゃ逝けないのがVBの問題。
>>720 ただバカにしたいだけなら、恥かくからやめとけ。
ステートメントなんて言葉ずいぶん久しぶりに聞いたような気がする
>>722 VBでもCでも普通に使われていますが何か?
724 :
デフォルトの名無しさん :02/07/06 23:06
>>716 ネイティブコンパイル時、空ループは削除されるのでは?
Pコードでコンパイルするのかな。
>>724 「整数の桁あふれチェックを削除」が無効な場合(デフォルト)
空ループでも削除されない。一回ごとに桁あふれチェックをするから。
「整数の桁あふれチェックを削除」(他にもいるかも知れん)が有効なら削除される。
たぶんな。昔軽く調べたときはそうだった。
実行したときに、ユーザがソフトのウインドウのサイズを変えることができないようにするにはどうすればいいのでしょうか?
>728 Windowメッセージを実行しないようにする。
>>729 それはどうやればいいのでしょうか?
調べたんですが・・・
>>728 固定ダイアログとかにすればいいじゃん。
732 :
デフォルトの名無しさん :02/07/07 01:27
宗男に相談すればいいじゃん。
734 :
デフォルトの名無しさん :02/07/07 02:26
735 :
チョットよろしいでしょうか? :02/07/07 02:36
私はプログラムについて
知識はありません。
それで皆さんにお尋ねしたいのですが
次の板のスレッドでアンチウイルスソフトが
反応しました。
http://news.2ch.net/test/read.cgi/newsplus/1025949937/l50 の833に次の一文
c.Copy(dirsystem&”¥りゅうすけ.TXT.vbs”)
とあり、それが原因らしいのです(念のため大文字にしました)
つまり掲示板をブラウザが読み込んだだけで感染すみたいです。
ILOVEYOUウイルスの一文らしいのですが、
これはどう作動してしまうのでしょうか?
詳しい方お願いします。
>>736 ↑釣られるバカが一人頭悪いとわめいてもなぁ
クックック
738 :
デフォルトの名無しさん :02/07/07 05:13
a2という数値を入れる変数があります。 su0という数値を入れる変数、(今は2が入ってるとする)があります。 aというただの文字があります。 su0とaを使ってa2の中に入ってる数値を表したいのですが、できるのでしょうか? "a" & su0とやっても、a2とでて、a2の中身がでません。
配列使え
740 :
デフォルトの名無しさん :02/07/07 12:52
VB6.0を使ってます。 Labelに自分のホームページへのリンクを張りたいのですが どのようにすればよいのでしょうか?
>>738 >aというただの文字があります。
ただの文字って何?
>>738 Script Control使うとか。
でも、普通はそんなの必要ない。
>>745 リフレクションって使えるの?VBで。
>>738 君の才能はすごい。その辺のVB厨とは比較にならない。
君はすぐにでもC言語の勉強を始めた方が良い。
期待しているよ。
747 :
デフォルトの名無しさん :02/07/07 15:46
顧客管理システム等をVB等で作るには、それを必要としている会社まで出向いて 作らなきゃいけないのですか? あと顧客管理システムを作る為の知識はどんな事を知ってなければ いけませんか?
>>747 PGには人権がないので出向して作らなければなりません。
ご愁傷様です。
749 :
デフォルトの名無しさん :02/07/07 16:18
VBの否定演算子ってありますか? !=じゃ無理ですよね。 「VB・否定演算子」で検索してもでないのですが・・・
<>
NOTは?
752 :
デフォルトの名無しさん :02/07/07 16:58
>>738 a2をa(2)と宣言したら、多分やりたことはできるとおもう。
>>720 むしろVBのいいところだと思うが。
>>728 1.リサイズ時のメッセージ(WM_GETMINMAXINFO)を取って
ウィンドウリサイズ可能領域を指定する(サブクラス化)
2.固定ウィンドウにする
2が楽。
>>735 誤作動らしいな。
>>738 言いたいことをそのままやるのは無理。
(俺もガキの頃同じ事で1週間ぐらい
悩んだ覚えがある。あれはBASICだったが。)
普通は配列なりユーザー定義型なり使う。
>>747 会社と自分の立場によるが基本的に客との
やり取りは必須なのでそちらの方が早い、
となればその可能性もあるかもな。
>どんな事を知ってなければ
DB系。
a=1 for i 0 To 5 next i forを使うときに、たとえばaが1なら next i a=0なら iをi+1しないで、もう一度同じiを繰り返すようにはできないでしょうか?
よくない書きかただが dim a&,i& a=1 for i=0 to 5 if a=1 then i=i-1 next i って感じになる。
>>755 なるほど、凄くよくわかりました。
どうもです。
757 :
デフォルトの名無しさん :02/07/07 19:51
cで言うscanf見たいなものはありますか? a=10000として、 ユーザから1000って入力されたら、a-1000するようなプログラムを作りたいのですが・・・
758 :
デフォルトの名無しさん :02/07/07 19:55
>>747 出向しないで出来るなら世話ないよな・・
客先と請負側がちゃんと仕様出しでかみ合ってれば
可能だけど、それでも問い合わせはかなり多くなる
と思うよ!
完全な請負(持ち帰りってやつ)ってリスキーだと思ってる。。。
>>757 >ユーザから1000って入力されたら
やり方に激しく依存。
>>754 For文の原則から離れるループの仕方をしたいならDo〜Loopを使え。
>>757 コンソールアプリじゃないんだからTextBoxとか使え。
VBとは?から勉強しなおすべし。
inputboxとか。
>>754 aがその他の値のときはどうするんかい?
>>762 ハァ?
突っ込んでるつもりかもしらんがボケてるぞ
764 :
デフォルトの名無しさん :02/07/07 22:33
つっこみぼけ
>>757 どういう環境でやりたいのか分からんが
コンソールアプリならVBでは作れないので無い。
普通のアプリならInputBoxかTextBoxだな。
>>764 それを言うならノリツッコミだろう。
>>746 TypeLib Informationを参照設定すればリフレクションと同じようなことができる。
もちろん、この場合は配列やコレクション等を使用したほうがいいのは言うまでもないがな。
やりたいことがありますがどうしても出来ないので質問です。 環境:VB6pro windowsXP 外部アプリケーションの中で、取得したい文字列があります。 それが標準のラベルとかなら、ウィンドウハンドルを取得して Gettextでしたっけ?そんなんで文字列を取得できますよね。 ですがそれがWindowハンドルを持っていない、 つまり表面的に文字をそこに絵のように書かれている場合は その文字列を取得できません。 ちなみにその文字列は動的に変わるのであらかじめ画像が用意されている などということではありません。 多分内部で いろんな処理 結果がでる 結果の文字列をプリントアウト で、そのプリントアウトされた文字列がWindowに表示されている とやっているんでしょう。その「結果の文字列」を VBアプリ上から取得したいんですよ。ムズカシイでしょうか。 それとも根本的に無理でしょうか。その別アプリのメモリ内を探る とかで出来るのでしょうか。よろしくおねがいします。
768 :
デフォルトの名無しさん :02/07/08 07:09
>767 画像というのは確実? Spyツールで調べてみた? その場合、もしその文字列のフォントがわかってたら、 それで解析するほうが他アプリのメモリを探るよりはずっと楽。
>>767 そりゃ無理だろうと思ったけど、無理でもないのか?
VBのLabelなんかはWindows標準じゃないから、ウィンドウハンドルもないし、
RoboWordでも取れないだろうと思ったら、普通に広えた。
>>768 画像というかPaintPictureで書いたような感じでしょうか。
Spy++使って調べてみても対象にならないので確実かと。
フォントは標準のゴシックでサイズ9っぽいです。
それで解析も出来るハズですけど
そうすると画面内にその文字部分が表示されてないと無理だしなぁ。
当然最小化されてたりしても出来ないわけだし・・・。
>>769 そうなんですよね。でもあの文字列(数字なんですけど)が
どうしても拾えない・・・Spy++が糞だとは思えないし。
やっぱムズいのか(;´Д`) 別の方法考えようかな。
ロボはどうやって取ってんだろうな
ロボ・・・?
ListViewにAddすると当然追加、されますよね。 追加ではなく、一番最初に挿入して項目を追加したいんですけど どうやればいいでしょう?
774 :
デフォルトの名無しさん :02/07/08 15:28
遅いレスですが
>>652 >>656 >>656 >>661 ありがとうございます。
STRING()もSPACE()も解りませぬ.....。
ぶっちゃけ、Fortranで生成したデータ
ファイルを読み込むのですが、Fortran
データは半角スペースを1文字としてい
るのです。それでややこしくなっている
のだと思うのですが.....。
time=0
^^^^2^^^31^^^^5^^^^27
^^^^1^^^^1^19190.631^^5895.402^^^^24.312
("^"は半角スペースのつもり)
というデータを読み込むのに
Line Input #1, Msg
TypAA.Time = Left(Msg, 6)
IMAX = CInt(Mid(Msg, 5, 5))
JMAX = CInt(Mid(Msg, 10, 5))
としているとIMAXとJMAXが読み込めず"型が一致しません"
となります。
775 :
デフォルトの名無しさん :02/07/08 15:53
VBでデータベース系の仕事しようとしたら、どんな事勉強したらいいの?
776 :
デフォルトの名無しさん :02/07/08 16:01
c
>775 VBでデータベースを扱う方法を勉強すれ。 VBで○○データベース、みたいな本はゴマソと出版されている。
778 :
横レスすまんが :02/07/08 16:28
VBでデータベース処理するのにもデータベース設計の知識は持っていなければ いけませんか?
>>774 MSG = "^^^^2^^^31^^^^5^^^^27"の時、
Mid(Msg, 5, 5)は"2^^^3"になります。
これでおわかり?
>>779 ありがとうございます。
解りました。
なんかすごくアフォなことやってました......。
>778 正規化の方法とか、適切なインデックスとか、 その辺は知っておいた方が良いでせぅ。
ふふっふ
書ける・・・書けるぞぉぉおぉぉぉ
さらに書けるようになったな!しかし、...書かせん!
コマンドとテキストボックスとラベルとイメージとタイマーを使ってできる なにかおもしろいプログラムを教えてください 発想力がないので もしよかったらコードもおながいします
おぅ
788 :
デフォルトの名無しさん :02/07/08 20:11
トランプのスピードを作りたい 教えれ
>>788 まずはトランプの画像からかな?
コンピュータ相手に勝てそうにないな。(w
791 :
デフォルトの名無しさん :02/07/08 20:21
>>789 俺もよく知らん
「作れ」と言われただけなのだ
とりあえず、誰かルール教えれ
>>790 画像はできた。
793 :
デフォルトの名無しさん :02/07/08 20:25
795 :
デフォルトの名無しさん :02/07/08 20:39
ルールは理解した これから作ってこようと思う 者供、達者でな
mazu 733 ni kotaete agete.
Oops! my miss take. 733 -> 773
>>773 ListVIew.ListItems.Add 0, ...
>>798 Thank you. I do not forget your thing.
800 :
デフォルトの名無しさん :02/07/08 23:03
>>800 正直、わからんので無理(;´Д`)
むずいよー助けてママン〜。
>>798 できねぇじゃねぇかYO!
範囲外とかイワレチャウゾ!
最初は項目がない状態でそうなるのかと思って
0の場合以外って条件にして、確かにその条件だけど
範囲外とでるぞ!ヽ(`Д´)ノウワァァァン!!
>>799 >I do not forget your thing.
「あなたのことは忘れない。」といいたいのだろうが、
~~~~
your thingじゃなくyouでいいんだぞ。
ブロックげーむをつくったけどキー操作がなんかうまくいかない。 スタートボタン(コマンド)を押してからはじめるので、フォーカス(?) がピクチャーにないからピクチャーのキーダウンがうまく動かないんですけど どうしたらいいです
>>802 悪り、1だった。
>>804 PictureBox.SetFocus
ただ、ゲームなら普通はGetKeyStateとかで
フォーカスやイベントが関係ない取得の仕方をする。
806 :
デフォルトの名無しさん :02/07/09 01:37
VBで2重配列ってできますか? またはそれに近いことはできますか?
>>804 即レスのいうように
コマンドボタン押したときにピクチャボックスにSetFocusだな。
コマンドボタンにフォーカスあってもOKだったっけ?>GetKeyState
>>806 ジャグ配列(配列の配列)のことなら、
Array関数を使うか、Collectionを使う。
>>808 だいじょぶ
>>806 ユーザー定義型で配列入れてそのユーザー定義型を
配列で宣言する、とか。
810 :
デフォルトの名無しさん :02/07/09 11:00
ListViewコントロールで右クリックをしたアイテムを 選択されているアイテム(SelectedItem)になる様に したいのですが、どうすれば良いのでしょうか? ListView_MouseDownでx,y座標は取れる様ですが、 ここからアイテムのindexを取る方法がわからなくて・・・
811 :
☆おながいモナ :02/07/09 11:22
Windows98se、VB5、office97、IE5 という環境です。 Dir()関数なんですが、 Dir("C:\WINDOWS\Favorites", vbDirectory) とするとフォルダを見つけることが出来ません。 その他いろいろとやってみたのですが、システムフォルダ関係で 見つけることの出来ないフォルダがいくつかありました。 これにはなにか訳があるのでしょうか? 仕様としては入力されたパスのフォルダの存在チェックをしています。 おながいします。
812 :
デフォルトの名無しさん :02/07/09 11:26
Win2000、VB6SP5、OFFICE97環境です。 EXCELのグラフでデータポイントにマウスを重ねるとToolTipが 表示されますが、MSChartコントロールでそれを実現するには どうすればいいのでしょうか。
>>811 ファイルを調べるAPIがあるからそっちを使ってみたら?
>>812 ToolTipText プロパティを調べてみれ
814 :
☆おながいモナ :02/07/09 12:00
>>813 はい。API調べてみます。
でも何でパス取れないんでしょう?
Dir("C:\WINDOWS\Favorites\Program", vbDirectory)はOK。
Dir("C:\WINDOWS\Temporary Internet Files", vbDirectory)はダメ。
ん〜。。。
Dir("C:\WINDOWS\Favorites¥*.*", vbDirectory + vbHidden + vbSystem)
816 :
悩み大学生 :02/07/09 13:07
先日、講義で下記の質問に答えるよう当てられてしまいました。 本日13:30より講義があります。 そこでどなたかお助けください。 (DATA1) * 5 を (DATA2) に入れる (シフト命令を使うこと) という問題なのですが ”SLAを使えばいいのですか?” と先生に聞いたら ”もっと簡単な方法があるよ” とのこと。僕の知識では見当が付きません。 そなたかヒントをお願いします。 いっぱいいっぱいです。
817 :
悩み大学生 :02/07/09 13:10
↑Z80CPU のアセンブリ言語です
>816 スレ違いだボケ
>>816 x*5というのは、(x*10)/2であって、
/2はシフトすればいいって、そういうことではない?
二つ左シフトしたものともとのを足せば5倍
>>813 以下で解決しました。ありがとうございました。
Private Sub MSChart1_PointSelected(Series As Integer, DataPoint As Integer, MouseFlags As Integer, Cancel As Integer)
With MSChart1
.Column = Series
.Row = DataPoint
.ToolTipText = .Plot.SeriesCollection(Series).LegendText & " " & .Data
End With
End Sub
もう1つ、このときのX軸のラベルの値を取得するにはどうすればいいですか?
ToolTipTextプロパティにその情報も付加したいと考えています。
>>810 Set ListView1.SelectedItem = ListView1.ListItems(1)
じゃ駄目なのか?
>>816 Pentiumなら
lea eax,[eax*4+eax]
が一番簡単だろうがz80は知らん。
勉強の為、現在、エクスプローラ ライクな物を作ってみようと TreeViewコントロールに挑んでいるのですが、 コントロールがIndentationプロパティを全く認識してくれません。 このプロパティは各ノードにおけるインデント幅の事ですよね? デザイン時に設定しても動的に設定してもダメでした。 どなたか解決法をご教授お願いします 開発環境は、VB6.0、Win98se、Office2000 ocxは、common controls 6.0(sp4) です
>>821 ColumnLabel プロパティを調べてみれ
つうか、コントロールのプロパティをもっとよく見よう。
>>824 例えばX軸が日付、Y軸が0〜100%のグラフがあるとします。
7月が80%だった場合、その部分のDataPointをクリックしたら
ToolTipTextプロパティに"7月 80%"というように設定したい
のです。
ColumnLabelプロパティではこの”7月”って情報は取れませんよね。
826 :
☆おながいモナ :02/07/09 15:12
>>815 !!!
いけましたよっ!
コピペしたらダメだったから?と思ってたら¥でしたよ。
ありがと〜!ありがと〜!
名も無き貴方よありがと〜
>>823 新しくTreeViewを追加して、そのIndentationが変えられるかやってみて。
>>826 全角だったか。ごめん(~~;
828 :
☆おながいモナ :02/07/09 15:35
折角なのでもうひとつお伺いしたいです。 あるフォルダをコピーする(配下のフォルダもファイルも全部)処理って簡単にできないでしょうか? 今のままだと配下のフォルダを検索して、作成して、その配下を検索して・・・・ ってなんか大変な事になりそうなのです。 おね(な)がいします。
830 :
☆おながいモナ :02/07/09 15:45
>>822 すみません。ListView1.ListItems(1) の"1"の部分をどうやって
取ればよいのか分からないのです。。。
832 :
☆おながいモナ :02/07/09 16:28
できましたぁ〜。 'ファイルシステムオブジェクトの参照 Set mobjFileSystem = CreateObject("Scripting.FileSystemObject") 'フォルダのコピー mobjFileSystem.CopyFile mstrLoclPath & "\*.*", mstrServPath & "\" '全ファイルコピー mobjFileSystem.CopyFolder mstrLoclPath & "\*.*", mstrServPath & "\" '全フォルダコピー こんなんでうまくいけました。 よかったよかった。
833 :
デフォルトの名無しさん :02/07/09 18:06
KeyPressでウインドウズボタン(スタート起動ボタン)がイベントとしてとれないのですが、 どうすればこのボタンが押されたときのイベントをとることができますか? それかこのウインドウズボタンを一時的に使用不可にしたいんですがどうすればいいのでしょうぱ?
>>833 とりあえずKeyPressじゃだめだろうなぁ。せめてKeyDownとか。
でも、キーボードフックとかも考えないといけないのかも。
Winキーが無いパソコンを使ってるので試せないけど。
>>827 新たなプロジェクトを作成しTreeViewを追加したところ、きちんと利きました。
そしてその後、先程まで開発していたプロジェクトに戻ってみたら、
何故かIndentationが利くようになっていました(直っていました)…
原因不明です。 何らかの細かいトラブルだったのでしょうか?
疑問は残るものの、それ以降に同じ現象は再発しませんでしたので解決です!
>>827 さん、ありがとうございました!!
>>833 VBの範囲にあらず。
VBでイベントが発生する時点では、
Windowsの処理としては当にWindowsキーの処理は済んでいるからね。
>>833 >>834 Ctrl+Escもあるぞ。
837 :
デフォルトの名無しさん :02/07/09 20:32
>>834 >>836 レスありがとうございます。
結局のところVBではWindowsキーを押したことによってスタートを表示させないような
処理は無理のようですね。
なんとかならんかなーこのWindowssボタン。
>>837 窓使いの憂鬱とかそれに類するソフト使えばいいじゃん。
>>833 =837
KeyDown
KeyCode = 91
Shift = 0
---
KeyUp
KeyCode = 91
KeyUp = 0
---
KeyDown
KeyCode = 92
Shift = 0
---
KeyUp
KeyCode = 92
KeyUp = 0
---
FormのKeyDown、KeyUpならイベント取れるみたいだよ。
91が左側、92が右側のWindowsキー
>>839 補足。ただそれからWindowsキーを無効に出来るかどうかは知らない。
842 :
デフォルトの名無しさん :02/07/09 21:06
おお!露骨にあるじゃないすか! みなさんどうもありがとうございました。 試してみますデス。
strcomp 関数の使い道は? 等号、不等号で比較・判定しちゃイカンの?
845 :
デフォルトの名無しさん :02/07/09 21:27
>>843 ありがとうございます。
>>844 大文字・小文字を区別しない比較ができる。
847 :
デフォルトの名無しさん :02/07/09 22:09
すみません、質問させてください。DBGridを使っているのですが、 ClearFields メソッドというのがどういうものなのかよく分かりません 一度表示させたデータ内容を規定値(初期値?)に戻す… というようなヘルプを読んだのですが、 Object.ClearFieldsとコーディングしても表示内容に変化がありません。 使い方自体が間違っているのでしょうか… どのような場合に有効なメソッドなのか、ご存知の方教えてください。 よろしくお願いします。 環境はVB6.0+Oracle8iです
849 :
まぐ ◆M3nDnyr2 :02/07/09 22:14
今あるフォームをアクティブにしたまま 新しいFormをLoadしたいです。 Loadすると勝手に新しいWindowにフォーカスが移るので・・・。 どうやったらいいでしょうか。 移らないようにするのでもOKですし、 実質もとのWindowがアクティブに瞬間的に戻るのでもOKです。 VB6 Win2K おねがいします。
>>848 はい、したんですけどわからなかったのです。
検索の仕方がなってないんでしょうかね?
>>850 検索しても見つからなかったのか、読んでも理解できなかったのか。
>>850 両方です。
ヘルプを読んでもいまいち理解できず、検索しても。
適切かと思われるページをヒットさせることができませんでした。ウチュ。
>>849 やりたいことと違うかもしれないが、
新しいFormのActivateイベントで元のFormにフォーカス移動とか
>>852 なんでわからないものを使おうとするんだ?
>>831 ああ、x,yからListViewのIndexを取得したいのか。
悪い、何が言いたいのか解らんかった。
んじゃSendMessageでLVM_GETITEMPOSITIONだ。
>>844 LikeをOptionに関係なく使用したい時に
使うと認識してたが。
>>847 「ClearFields メソッドは、グリッドを既定のレイアウトに復元します。」
By MSDN
ということらしいな。使ったこと無いので詳しくは解らんが。
>>849 Load 新しいForm
ShowWindow 新しいForm.hWnd, SW_SHOWNA
もうちょい楽な方法があるかも。ないかも。
>>854 DBGridの内容をクリアする方法を探しています。
で、ClearFieldsって名前からして使えそうなメソッドかと思ったので
調べてみたんですがわからず、悲しくなってここに来ました…
自分の能力に余ることはしないほうが良いですね。
ありがとうございました…
>>857 そういう意味で言ったんじゃないけどね。やめてすむのなら
それはそれでいいかもしれないけど。
結論から言えばClearFieldsではあなたのやりたいことはできないと思うよ。
VB6で開発はwin2000でおこなぃ、配布先はwin98以降となります。 テキストファイルのREAD、WRITE処理について質問です オブジェクト(FileSystemObject)を生成して処理する方法と Open/読み込み/書き込み命令を使用する方法の2通りあるようですが どちらを使用すべきでしょうか?
>846 >855 サンクス。 もっと勉強せなアカンね、俺。
>819 >820 アドバイスありがとうます。 すみません、スレ違いでVBのスレでZ80の事を 聞いてしまったのに答えていただいて... >822 カリキュラムが古いのでZ80の講義や実習が 未だに存在してます。
862 :
VB頑張ろう :02/07/09 23:48
VBの質問なんですが、Timer関数でストップウォッチを作ったとします。 経過時間を表示する時に、60秒で1分に繰り上げる表示の仕方が分かりません。 Formatを使って表示形式を変えると思うのですが、どのようにすれば良いのか が分かりません。 ご教授お願いしますm(_ _) 違うスレで質問してしまった・・鬱だ・・
864 :
VB頑張ろう :02/07/09 23:58
あっ、なるほど!
>>863 マジで感謝です。本当にありがとうございますm(_ _)m
初々しいねぇ
866 :
デフォルトの名無しさん :02/07/10 00:10
>>865 俺もそう思った。
「余りってどうやって求めるんですか?」
とか聞いてこないかな・・・
とすら思った。w
つうかこれはVB以前の問題・・・。
>>857 DBGridって通常データコントロールでデータベースとコネクトして使用する場合が
多いと思うんだけど、データは何なの?
データベースでないデータでグリッドを使用したい場合、FlexGridとかの方が
使いやすいと思われます。
>>859 自分が使いやすい方を選ぶべし。
そして俺ならOpenを選ぶ。
>>849 簡単なのは新しいフォームをShowした時に、元のウィンドウへSetFocus。
この時元のウィンドウを保証しておかないと、無い場合エラーになる予感。
もちろんだがモーダルなら無理だ。
オレもopen binary access 変なコードが入ってると(00-10のどれか)シーケンシャルで読んでたら テキストファイルが終わりだと勘違いされて困ったことになったこと あったヨ。ファイルサイズもチェックしたほうが良いみたい。
>>868 Oracleです。接続は・・・すみません、ちょっと今わからないのですが
SQL文の結果Setを表示させる形で使用しているのですが、
SELECT結果が取得されない場合にGrid部分をフィールド名だけ残して
クリアするような処理にしたいのです。
なにぶん不勉強なので思うように行かず行き詰まってます。
大分的外れを突き進んでいるのかと…。
明日にでも、もう一度処理を見直して見ます。
>>858 さんも、ありがとうございました。
おやすみなさいです。
>>871 OracleだったらODBCとかでコネクトしているんだろう。
そいでもって、確かDBGridは、データベースとの連結モードではフィールドだけの表示は
出来なかったはず。
FlexGridなら簡単に出来るけど。。。
なんで出来ないかは正確には知りません。
DBGridはカレントレコードを外すことが出来ないためなのかな?
だもんでDataModeをBoundからUnBoundにすればレコード行は表示されないはず。
しかし、このDataModeはプログラム実行時に設定の変更はできなかったはず。
なのでどうするか?
簡単なのは、DataModeがUnBoundのDBGridを普段非表示で置いておき、
SELECTの結果が取得されない時にはDataModeがBoundのDBGridと
入れ替えて表示するとか・・・。
DBGridの縦幅をフィールド分の大きさに縮めてしまうとか・・・。
もっと正攻法のやり方が実は隠されているかも知れませんので、
まだあきらめずに探すのも良いかもねー。
875 :
デフォルトの名無しさん :02/07/10 11:52
VBScriptで時間の比較をしたいんだけど たとえば「5:00」というデータがあって その時間を現在のシステムの時間と比較して 当日か翌日かを判別したい。 例えば現在のシステム時間が「2002/07/10 11:40」とすると データが00:00〜11:39の間は翌日(2002/07/11) データが11:40〜23:59の間は当日(2002/07/10) なので「5:00」は翌日です、みたいな。
877 :
デフォルトの名無しさん :02/07/10 12:11
えーと、質問したいんですが ひとつのコマンドボタンで2つのプログラム を動かすことはできるんでしょか?スタートボタンで信号と車を同時に動かすように したいんです ストップボタンで両方がとまるように すんません リア房なんでぜんぜんわかんないっす・・・ プログラムおしえてくださいましーー
信号は電気関連、車は機械工学関連かな。
line input としているのに、改行コードで次の行へ移らず、そのまま 何もデータの無い領域を読み込んでいってしまうのですが、どうしたら いいのでしょうか?
883 :
デフォルトの名無しさん :02/07/10 12:30
>>882 オブジェクトはつくりました。コードがぜんぜんわからないんです・・・
タイマー2つつくったりはしたんですが 信号は動いても一つのボタンで車まで
うごかなくてこまってるんです・・
886 :
デフォルトの名無しさん :02/07/10 12:55
>>875 "05:00"<"11:40"でも
#05:00#<#11:40#でも
判断できるはずだが。
>>877 信号と車を動かすオブジェクトを作ってそっちを呼び出すか
一つのタイマーイベントで両方動かす。
>>880 改行コードが間違ってるんじゃないか?
>>886 マルチはよくないですね。:-)
Dateから11:40のように時間を抜くのはどうするのでしょうか。
>>888 Format$(MyDate,"nn:ss")
とか、
(MyDate-Int(MyDate))*24*60*60で秒、とか。
>>即レスさん 出来ました 助かりました ありがとう 俳句で感謝ですっ!!
892 :
デフォルトの名無しさん :02/07/10 15:10
Denpyoman1.5で質問あるんだが DataMatrix使って値をいれるとメモリリークしない? こちらの環境は VB6Pro SP5 Windows2000 SP2 'こんなことやると '一回で200KB近くリークするんだが…。 For i = 0 To 9999 DpDenpyo1.DataMatrix("hoge", 0) = i Next i
893 :
デフォルトの名無しさん :02/07/10 15:10
VB6なんですが最近 "0x04246c81" の命令が "0x04246c81" のメモリを参照しました。メモリが "read" になることはできませんでした。 プログラムを終了するには [OK] をクリックしてください" と怒られます。私のプログラムの問題でなく VB自体の問題のようなのですが、再インスコ必至ですか?
>893 サービスパックは? あとOSは?
>895 そもそもVS6ってXPが正式動作環境に入ってたっけ?
>>896 Σ(゚д゚lll)
ドトネト買えってか・・・。
899 :
デフォルトの名無しさん :02/07/10 16:55
DataComboの8行表示を変更することはできますか? データが8件未満のときは、その件数に行数を合わせたいのですが・・・。
>898 VB6も動くの知ってるけど、正式動作環境ではないから 何が起きても文句は言えないという罠
VB6動かしたくらいで怒られるようじゃXPにしてもあんまりだろ。
>>893 何の処理をしているとこで、出てるか検討つく?
サードパーティーのコントロールとか使ってませんか?
>>893 俺も前に同じ事があった気がする(W2Kにて)
最近ってことは前は動いてたんでしょ?
ならXPだからって訳ではないんじゃ
とりあえずVB入れ直してみればいいじゃん
悩んでるよりその方が早いと思フ
すいません質問です。 学校の課題でVB0.5でカレンダー作るのが出たんですが日付を7×6に張ったラベルに 表示する方法がまったく分かりません。教えてくんですみませんが誰か教えてもらえると光栄至極です。
すみません5.0の間違いです。
>>904 カレンダーコントロールが存在する罠。反則か? (w
ラベルをコントロール配列にすれ
>>906 それは6.0から登場です。
コントロール配列にしてコードはどうすればいいんですか?
関数を呼ぶ時にformを引数に設定する事は出来ないのでしょうか? いっぱいあるtextやらcomboboxやらを引数に設定するしかない?
909 :
デフォルトの名無しさん :02/07/10 20:37
>>907 あれ?そうだったっけ。
色々方法はあるだろうけど、Weekday関数とか使って工夫すれば良いでしょ。
レスくれたみなさんありがとう。 なんとか要求は満たしました。 (はぁ〜帰って寝よ)
>>912 Σ(゚д゚lll)ガーン
6/25から家に帰ってないのか!!
914 :
デフォルトの名無しさん :02/07/10 22:45
Windows2000質問スレッド Part28 にて質問したのですが 内容がこちらの方がよいと指示されましたので書き込み致します。 向こうとの2重書き込みお許しください。 ロボット型サーチエンジンにてサイトを検索してみたのですが CTRL+Zでのヒット率が高いのと私の絞込みが悪いせいで どうも目的の情報にたどりつけません。 現象 95・98でVBで作成したアプリケーションにて リッチテキスト部分での編集時のCTRL+Zの動きは 【一文字ずつ復帰した】のですが 2000に同アプリケーションをインストールすると 【操作内容がごっそり復帰する】のです。 文字を AAAAAAAAAAAAAAAAA と入力してバックスペースで一文字づつ消した場合に 【バックスペースを操作してる単位?】でごっそり戻る場合と 【一文字づつ】戻る場合と 2種類あると思うのです。 アプリケーションによってCTRL+Zの動きが違うのであれば 最悪、レジストリ等の編集にて【一文字単位】の復帰にしたいのですが。 (WORDとメモ帳では動きが違う等) 「これは!」と思う方がいらっしゃいましたらご教授願いたいのです。 説明不足・文章力不足等の不手際がございますがよろしくお願いいたします
質問でーす VBで自分と接続されているIPを一覧表示したいのですが どうやればいいですか?感じとしては コマンドラインで「netstat/n」したみたいなm感じに。 接続されているIPが取れればあとはそれをリストに追加してけば いいと思うんですが、まず接続されているIPを調べるってのがわからない・・・ Vb6SP5 Win98seです。お願いします
>>904 一、ラベルなどという軟弱なものは使うでない。
FormのLineメソッドとPrintメソッドでフォーム自身に描け。
一、WeekDay関数などという軟弱なものを使うでない。Zellerの公式をまずは導きだせ。
公式で1日の曜日を求めたならば後は並べるだけだ。
一、並べるときは余りを求めるのがコツだ。
わかっていると思うが、余りを求めるのにMod演算子などという軟弱なものを使うでないぞ。
割られる数から割る数を引きまくれ。最後に割る数より割られる数が小さくなったらそれが余りだ。
一、月末を求めるには、DateSerial関数でDateSerial(2002,7+1,0)などと
する軟弱なことはするな。計算式によって求めるもよし、古来より伝統の
「にしむくさむらい」に習うもよし。
一、うるう年の求めるのに、IsDate("2002" & "/02/29")などとするのはもってのほかだ。
「神武天皇即位紀元年数ノ四ヲ以テ整除シ得ヘキ年ヲ閏年トス
但シ紀元年数ヨリ六百六十ヲ減シテ百ヲ以テ整除シ得ヘキモノノ中
更ニ四ヲ以テ其ノ商ヲ整除シ得サル年ハ平年トス」
に従って求めよ。
では、検討を祈る。
>>916 学校の課題でそうしろって言われたんだったら
勝手に変えるのは拙いだろ。
>>914 テキストチェンジイベント時、変更内容を変数等に保存。
Ctrl+Z押下時、変更内容を元に戻す。
919 :
デフォルトの名無しさん :02/07/11 14:30
前スレがあがってるのでage
今高校の授業でVBやってるのですが、 先生自体が素人で、何をやっているのかサッパリな状況です。 それで、来週までの課題なんですが テキストボックスに誕生日を入力して、 別のテキストボックスに何座かを表示させろというものなんです。 If文を多用した原始的なプログラムならできたのですが、 もっと効率のいいやり方はないでしょうか。
>>920 あげる。漏れが昔作ったソース。汚いけど。
Function getZodiac(m As Long, d As Long)
Const Cap As String = "磨羯宮(山羊座: Capricorn)"
Const Aqu As String = "宝瓶宮(水瓶座: Aquairus)"
Const Pis As String = "双魚宮(魚座: Pisces)"
Const Ari As String = "白羊宮(牡羊座: Aries)"
Const Tau As String = "金牛宮(牡牛座: Taurus)"
Const Gem As String = "双子宮(双子座: Gemini)"
Const Cen As String = "巨蟹宮(蟹座: Cencer)"
Const Leo As String = "獅子宮(獅子座: Leo)"
Const Vir As String = "処女宮(乙女座: Virgo)"
Const Lib As String = "天秤宮(天秤座: Libra)"
Const Sco As String = "天蝎宮(蠍座: Scorpio)"
Const Sag As String = "人馬宮(射手座: Sagittarius)"
Select Case m
Case 1: If d < 20 Then getZodiac = Cap Else getZodiac = Aqu
Case 2: If d < 19 Then getZodiac = Aqu Else getZodiac = Pis
Case 3: If d < 21 Then getZodiac = Pis Else getZodiac = Ari
Case 4: If d < 20 Then getZodiac = Ari Else getZodiac = Tau
Case 5: If d < 21 Then getZodiac = Tau Else getZodiac = Gem
Case 6: If d < 22 Then getZodiac = Gem Else getZodiac = Cen
Case 7: If d < 23 Then getZodiac = Cen Else getZodiac = Leo
Case 8: If d < 12 Then getZodiac = Leo Else getZodiac = Vir
Case 9: If d < 23 Then getZodiac = Vir Else getZodiac = Lib
Case 10: If d < 24 Then getZodiac = Lib Else getZodiac = Sco
Case 11: If d < 23 Then getZodiac = Sco Else getZodiac = Sag
Case 12: If d < 22 Then getZodiac = Sag Else getZodiac = Cap
End Select
End Function
924 :
デフォルトの名無しさん :02/07/11 18:58
プロジェクトエクスプローラの中をネスト状にしたいんだけど どうしたらいいの フォームや標準モジュール単位でしかフォルダが生成されない状況です 教えてアミーゴ
>>920 こ〜ゆ〜パターンもあるぞ
このままでも動くけど、エラー処理とかしておくともっと便利になる
Option Explicit
'info
'txt誕生日………入力値 例:10/01 "/"は自動表示の設定を入れておく
'txt星座…………出力値
'
'入力規制はしていないので、テキストボックスに設定しておく。
'Formの右クリック表示も解除
'間違った入力はエラーメッセージを出す
Private Sub 誕生日ボタン_Click()
Dim date_select As Long
date_select = DateValue(txt誕生日)
Select Case date_select
Case 37336 To 37365
txt星座 = "おひつじ座"
Case 37366 To 37396
txt星座 = "おうし座"
Case 37397 To 37428
txt星座 = "ふたご座"
Case 37429 To 37459
txt星座 = "かに座"
Case 37460 To 37490
txt星座 = "しし座"
Case 37491 To 37521
txt星座 = "おとめ座"
Case 37522 To 37552
txt星座 = "てんびん座"
Case 37553 To 37581
txt星座 = "さそり座"
Case 37582 To 37611
txt星座 = "いて座"
Case 37612 To 37621, 37257 To 37275
txt星座 = "やぎ座"
Case 37276 To 37305
txt星座 = "みずがめ座"
Case 37306 To 37335, 47150
txt星座 = "うお座"
End Select
End Sub
でもさ、何月の何日までが何座かなんて 毎年微妙に違うだろ。天文年鑑のたぐいを読むまでも無く。 そこまで計算するプログラムならたいしたもんだ。 占いの本なんかはいい加減で毎年不変だが。
1〜9の数をエンドレスに回転させる方法ってありますか? スロットのような感じで タイマーをどのように使えばできるか知りたいです 簡単にでいいので教えてくださいです^^
N=N+1 Label1.Caption = N if N = 10 then N=0
↑をタイマーで。 Nはちゃんと宣言してからな。
この為のStatic
頼むから土下座するからだれかヒントでもくれ・・・。 あれからもずっと探しつつ検索しつつ放浪しつつ試しつつ漁りつつ がんがってみたけどいまだに不明。もうちっとがんばるけど。
932 :
デフォルトの名無しさん :02/07/11 22:30
933 :
デフォルトの名無しさん :02/07/11 23:05
>>931 netstat > app.path & "\temp.txt"
とかってやって、そのテキスト読み込めばいいだろ。
934 :
デフォルトの名無しさん :02/07/11 23:05
土下座わすれんなヨw
>>933 出来そうでそれ出来なさそうだがどうやるつもり?
そもそもプロンプトで出た結果をVBで取得できたっけ??
shellでもって起動してテキストに出力させてるだけだろ。 それを読み込めば結果が得られるじゃねえか。 なんだ「プロンプトで出た結果をVBで取得できたっけ?? 」って。 わからんならやってみれ。 DOMプロンプト開いて netstat > c:\temp.txt ってやってみれや。 netstatの結果が書かれたテキストがc:\temp.txtに出来るだろうが。 それを読み込めばプロンプトの結果が得られたのと同じだろ? それらの処理をVB上でやればいいだけだろうが。 netstatの終了監視をわすれんなよっと。
あ、、、なるほど。盲点だった。 「VBの機能、コードでプロンプトの結果をファイルに書き出す」 のではなく 「VBによってDOSを開いて、そのDOSの機能でファイルに結果を書き出す」 のね。ちょっと気づかなかった。 改めて938を尊敬。
>>915 IP Helper APIで取得できるんじゃない?
942 :
デフォルトの名無しさん :02/07/12 10:46
VB5なんですけど、テキストボックスのAlignmentプロパティを実行時に変更しなければ ならない要求をされました。 (半角数字の場合右寄せ、その他の場合左寄せ) で、Alignmentは実行時に変えられないらしいので、SetWindowLongを使って変えてみ たのですが、反映されません。 このやり方じゃだめなのでしょうか? なにかいい方法知ってる方がいらっしゃったらよろしくお願いします。
>>942 テキストボックスを2個重ねてVisibleを切り替える。
944 :
デフォルトの名無しさん :02/07/12 11:12
>>943 それも考えたのですが、ちょっとよろしくない事情があるのと、スマートではないので、
他の手段を探したのです。
でも、それしかないんだったらそうするしかなさそうですね・・・
いずれにしてもありがとうございました。
指定したフォルダ(ドライブ)及びその全サブフォルダのうち、 指定した拡張子(複数指定可)のファイルが存在するフォルダ(ドライブ)を 列挙するにはどうするのが良い(速い)のでしょうか。 よろしくお願いします。
( ´_ゝ`)フーン
? VarType(Array(1, 1.0, "1")(0)) vbInteger ? VarType(Array(1, 1.0, "1")(1)) vbDouble ? VarType(Array(1, 1.0, "1")(2)) vbString
>>945 Dir使うしかない。
Dirは再帰的に使えないから
一時的に変数にでもぶちこんでから
それを再起で使えばOK。
一度関数つくっちゃえばそれの使いまわしなので楽勝。
っていうかそういう関数自体がそこらへんでコード配布されてる。
再起 → 再帰
VB5です。 Dir()関数なんですが、ネットワーク上のフォルダ参照で躓いています。 Win98ならちゃんとフォルダ名が帰ってくるのに、 2000やNTでは「パスがみつかりません。」というエラーになります。 administrator権限でログインしてます。 対象フォルダには権限がかけられていません。 助けてあげてください。お願いします。
953 :
デフォルトの名無しさん :02/07/12 22:54
VB初心者本でおすすめってありますか? いまさら6.0の本を探しているんですけど。 初級シスアドは持ってるけどプログラムは初めてってレベルです。
>>949 これはなにか言いたいのだろうか・・・? 誰かへのレス?
>>953 俺の場合は図書館で手当たり次第に借りてきて読んだ。
買った本もあるけど、この手の本は使わなくなるのでもったいない。
956 :
デフォルトの名無しさん :02/07/13 01:04
>>953 誰にもベストって本はないのよ。
本屋で立ち読みして、自分で決めるべし。
サンプルコードが自分の好みに合ってるのがいいと思う。
漏れ的には星座盤とかが好きだったけど、これは万人向きではない。
>956に同意。 んで、本の後半を見て、どこまでやっているかを確認するといい。 ゲーム作りたいのにテキストファイル操作で終わってるんじゃ役に立たない。
>>893 VBが終了した時に出るならAPIで範囲外の所を
少し(その瞬間にアクセス違反が出ない程度に)
読み書きした時に出ることがある。
>>899 SetWindowPosで高さを指定してやれば
ComboBoxは調節出来る。DataComboも出来るはず。
>>908 普通に
function hoge(frmParam as form1)とか
function hoge(frmParam as Object)とかでできるはずだが。
>>926 そうなのか。知らんかった。
>>942 MultiLine=Trueにしろ、と書いてあったが
ちょっとやってみたら普通に設定できたぞ。
VB6だからか?
>>949 面白い使い方だな。
>>952 Explorerその他では見れるのか?
959 :
デフォルトの名無しさん :02/07/13 21:36
VB6です。 VBのインストールされていない仕事場の端末に、 家で作ったVBのexe(まだ完成してないですが)を入れようと思うのですが、 ちまたで配布されているVB6ランタイムと、 使った参照設定、コンポーネントの下に表示されるOCXを exeと同じフォルダに全部ブチこめば動くのですか? ディストリビューションウィザードは使わない方向でおながいします。
960 :
ななし@ネタです。 :02/07/13 21:45
StrConv("始", vbWide) = "女台" にならないのはどうしてでしょうか?(^^; 「ヒネリが足らない」、「座布団没収」等、手厳しいご意見を お待ちしておりマス。m(_ _;;)m
961 :
デフォルトの名無しさん :02/07/13 21:47
VBScriptでCSVからファイル名を読み込みサーバーにFTPするプログラムを教えてください。 そん時にディレクトリが無い場合にディレクトリ作成ロジックも加えて欲しいです。 お願いします。
>>959 ・VB6ランタイムはMSVBVM60.dllとvb6jp.dllがいる。
(vb6jpはMSVBVM60と同じフォルダにないといけない)
・OCXはregsvr32で登録しないといけない。
・DLLやOCXがなんか参照してたら当然それもいる。
ぐらいかな。
965 :
デフォルトの名無しさん :02/07/13 22:00
CSVからファイルを読み込むまでは出来たのですが。 そこからサーバーへFTPするロジックが解りません。 ついでにFTPしたさいにサーバー側にディレクトリが無い場合どうすれば? javaでやろうとしたら大変なことになりました。。。
サーバーへFTPするロジック (´ー`)y-~~~ (´Д`)y─┛~~ (゚д゚) ・・・。 (゚−゚) ・・・。 (´ー`) ・・・ぅ ( ´,_ゝ`)プッ
>>963 詰まるところ、ディストリビューションウィザードを使えということですか。
>>965 Inetコントロール使っとき。
使い方はMSDN参照。
>>967 それが一番無難かな。
別に自前でも作れるけど。
>>968 趣味ならともかく、仕事なら、インストーラの自作は手間が掛かり過ぎて
割に合わないんじゃないでしょうか?
レジストリが汚れるからVB嫌い!ってのは、今更・・・・だし、板違いだし、
荒れるし、Del厨呼ばわりされかねないので、自粛しますが。(^^;;
>>969 一人〜数人ぐらいで作ったアプリなら大した手間ではないよ。
やるこたファイルコピーとショートカット作成、ログの保存
ぐらいだからな。
>レジストリが汚れるからVB嫌い
いじらんでも使えるぞ。
971 :
ななし@自己ツッコミ :02/07/13 23:20
> レジストリが汚れるからVB嫌い! COMを否定してるようにも読み取れたり・・・。
>>970 俺にもそれ教えておくれ。
・例えば、元々あるコントロールとFlexGridだけ使ったアプリの場合、
ベクターで配布されてるランタイムに入ってるDLL,OCXと
MSFLXGRD.OCXだけ%SystemRoot%に入れたら良いのか。
・レジストリの書き換えはどういう時に必要なのか。
>>972 OCXを使う場合は登録しないと使えない。
=OCXファイルの追加とレジストリへの登録が必要。
いじらんでも使えるぞ、ってのは標準の
コントロールだけ使ったら、って事ね。
※)Win95OSR2以降の話。Win95はOLEのバージョンが
古いのでOLEAUT32やらなんやらも書き換える必要がある。
Win95時代はPC触ってなかったのでよく分からんが。
974 :
ななし@自己ツッコミ :02/07/13 23:44
> いじらんでも使えるぞ、ってのは標準の > コントロールだけ使ったら、って事ね。 VB5.0で作った、標準コントロールのみのアプリ(バイナリファイルをFDサイズに 分割するだけのもの)を95OSR1(Office4.Xがインストールされている)環境に コピペしたら、問題なく動いた記憶があります。 ただし、TextBoxのAlignment = Rigtht が無視されて、左寄せになってました。(W
975 :
デフォルトの名無しさん :02/07/13 23:49
まったく初心者で悪いんですが、どなたか教えて頂きたいです。 ディレクトリリストボックスを選択させて そのディレクトリ内にある画像をサムネイルで別の新しいFormで表示させたいのですが、 それだと、Formがloadされた時にある程度の数のサムネイルを表示、 さらに縦のスクロールバーでページを切り替えて次のサムネイルの表示を 表示、って方法しか思いつかないんですが、 これだとフォームをロードした時、スクロールバーを移動させたとき、 の二回コードを書かないといけないんですが、 これを一回に収める方法無いんでしょうか? もしくは、これ以外に簡単な方法あればぜひ教えて頂きたいです。 本当に困ってるので、親切な方よろしくお願いします・・・。
>>974 ああ、俺のはVB6の話だわ。
>>975 サムネイル表示をサブルーチンにして
引数で表示位置やファイル名を渡す、とか。
977 :
デフォルトの名無しさん :02/07/14 00:53
凄く単純な質問で悪いんですが、ファイルの絶対パスをStringで持っているとき、そのファイル を削除するにはどうすればいいんでしょうか?
kill ファイルの絶対パスが入ってるstring型変数
979 :
デフォルトの名無しさん :02/07/14 00:57
>>974 >ただし、TextBoxのAlignment = Rigtht が無視されて、左寄せになってました。(W
Win95のときは、MultiLine=Trueにしとかないと無視されるからねぇ。
OS限定しない場合は、MultiLine=TrueとEnter無視の処理は入れんとね。
あれ?新スレどこ?
音楽のコードを空欄に記入して ボタンを押したら その音符が出てくるような プログラムを作りたいんですが どうしても出来ません。 教えていただけませんでしょうか。
>>982 まず貴方が何処の部分で躓いているのかが解らないので
レスのしようがありません
>>982 ○投げなら金だせ
>>ALL おまえらいい加減VB6やめたら?VB.net安いんだからさ。
俺はVBやってないよ。 ここに来るおヴァカさんな質問の数々を眺めて 「下には下がいるもんだな」と自分を慰めるために来てる。
>>985 勉強・趣味ははVB.net(or C#)でいいだろう。
でも仕事じゃVB6をすぐにやめるわけにはいかない。
>>982 流れとしては楽譜の絵を作って、コードを解析して音符にして、
音符の種類と楽譜に対する位置を計算して描画、って感じになる。
Me以前っつったら、2000も入らないか? まぁ、微妙な言い回しであるが。 しかも、使えないわけじゃないだろう。 使えるけど機能が制限されるのであって。
次スレは?
992 :
デフォルトの名無しさん :02/07/14 18:56
ListBoxのStyleをCheckBoxにして使っています。 チェックがついているかついていないかは Selectedプロパティで取得できるのですが、 設定ができません。 (設定できません=SelectedプロパティをTrueにしても、選択されるだけでチェックがつきません) チェックを付けるようにするにはどのようにコードを書けばいいのでしょうか。
早く新スレ立てろよぶび厨。
995 :
デフォルトの名無しさん :02/07/14 19:20
>>994 ListBoxにはcheckedプロパティないです。
ListViewにはあるんですが。
久しぶりにVB5立ち上げたよ。懐かしい
999 :
デフォルトの名無しさん :02/07/14 19:28
valueプロパティもないような・・・。
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。