VB初心者質問スレ Part4
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001デフォルトの名無しさん
NGNGhttp://pc.2ch.net/test/read.cgi/tech/1000523122/
0002デフォルトの名無しさん
NGNG0003デフォルトの名無しさん
NGNG0004デフォルトの名無しさん
NGNGVBマンセー
0005blue
NGNGただし、規格化しないで、同じのをとると1になるのを。
今こまっています
0006blue
NGNG0007デフォルトの名無しさん
NGNG他のマシンにインストールして実行すると
実行時に「DLL 卍??? が読み込めません」と出ます。
どうも「Set WrkODBC = CreateWorkspace("", "admin", "", dbUseODBC)」の
ところでひっかかてるみたいだからDAO関係だと思いますがDAO3.6.dllも
セットアップされているし・・・どなたか教えてください。
0008blue
NGNGお願いします
0009デフォルトの名無しさん
NGNGSub A
B
End Sub
Sub B
A
End Sub
見たいなやつのこと?
00107
NGNG0011デフォルトの名無しさん
NGNG読むほうがこまってます。
日本語歴が短いのはわかりますが、日本人に通じる日本語でお願いします。
0012前スレ955
NGNGレスありがとうございます。
ご指摘のとおり直してみたのですが、やはり上手くいきません。
すみません、ネタじゃなくて結構真剣に困ってます…
リッチテキスト内の文字列の検索・置換を行うにはどう直せばで良いでしょうか?
アドバイスお願いいたします。
'置換ボタンの処理
Private Sub cmdChange_Click()
If rtbFind.Text = "" Then
'何もせずに終了
Else
rtbText.Span rtbFind.Text
rtbText.SelRTF = rtbChange.TextRTF
rtbText.Span ""
End If
End Sub
'検索ボタンの処理
Private Sub cmdFind_Click()
If rtbFind.Text = "" Then
'何もせずに終了
Else
rtbText.Find rtbFind.Text
rtbText.UpTo rtbFind.Text
End If
End Sub
0013デフォルトの名無しさん
NGNG使用例なんてのまであるんだよ?
それと検索したらさ、それだけではだめじゃん?
見つけた位置にキャレットもっていくとか
選択するとか、どうしたいかは貴方次第なのよ〜
で、こんなんでどう?(手抜き警報発令中)
Private Sub cmdFind_Click()
Dim x&
x = rtbText.Find(rtbFind.Text)
If x <> -1 Then
rtbText.SelStart = x
rtbText.SelLength = Len(rtbFind.Text)
rtbText.SetFocus 'HideSelection=Falseなら不要かな
End If
End Sub
Private Sub cmdChange_Click()
Dim x&
x = rtbText.Find(rtbFind.Text)
If x <> -1 Then
rtbText.SelStart = x
rtbText.SelLength = Len(rtbFind.Text)
rtbText.SelText = rtbChange.Text
End If
End Sub
0014デフォルトの名無しさん
NGNG他のマシンにODBCのドライバが入っていないとか、、、
0016デフォルトの名無しさん
NGNG2個目の検索の時は、Findの第二引数に注意してね。
開始位置ってあるけど、VB標準の“文字数”で記載するとハマるよ。
ShiftJISでの文字数を入れなきゃいけない。
rtb.Find("hoge", LenB(StrConv(Left$(rtb.Text,rtb.SelStart),vbFromUnicode)+1)
みたいな感じ。(このコード間違ってるかも。確認してないので。)
0018デフォルトの名無しさん
NGNGVBからPingをうつにはどうしたらいいでしょうか?
目的は、送信なし状態が2分続くと接続が切れるモデムなので、
1分おきぐらいにPingをうちたいのです。。。
0019デフォルトの名無しさん
NGNGsystem("ping ....");
0020デフォルトの名無しさん
NGNGモデムの設定変えれば?
0021デフォルトの名無しさん
NGNGwinsockとかでping打つの面倒だから、
こんな感じにしたらどうでしょう。
'-------------------------
dblRet = Shell("CMD.EXE /C ping pc.2ch.net", vbHide)
'-------------------------
002218
NGNG単純にMS-DOSから
'-------------------------
dblRet = Shell("command.com /k ping 12.23.13.123", vbHide)
'-------------------------
とやって解決しました。
0023デフォルトの名無しさん
NGNGWINDOWS2000の環境で使用しているときに、
下記動作を行うと、テキストボックスのValidate処理が起きません
どうしてでしょうか
テキストボックスにて入力後(フォーカスは、テキストボックスのまま)マウスで、
タブ(SSTab)をクリックするとテキストボックスのValidate処理が発生しません。
環境
NT4.0 SP6、VB6.0SP3にてコンパイル
2000SP2 VB6.0 SP5 の環境にて実行
NT4.0 SP6、VB6.0SP3だと、テキストボックスのValidateイベントが発生します。
0024デフォルトの名無しさん
NGNG見苦しい全角英数文字をなんとかしろ。
0025デフォルトの名無しさん
NGNG教えてほしいことがあるのですが
a = 99999999999 Mod 7
とやったときに”オーバーフローしました”というエラーメッセージ
が帰ってきてしまうのですが何か回避方はありませんか?
よろしくお願いします。
0026デフォルトの名無しさん
NGNGお前が回線切る
0027デフォルトの名無しさん
NGNG「僕は困っています。どうすればいいでしょう?」
と言っているようなもの。条件をきちんと示しなさい。
質問する前に勉強するか、死ぬかしてください。
a = 99999999999 Mod 7 と打ったときに、
99999999999 の 右に # って出るだろ?
つまり、Double なわけ。Double は Mod 使えないよ。
無理やり Variant に型変換されるよ。
たまにはヘルプ見ようね。
0029デフォルトの名無しさん
NGNG使ってるのはVB6.0です。SP5ってヤツを雑誌付録CDから入れました。
Winのクリップボード内のデータが貼り付けに使われた事を
知るための良い方法はないでしょうか?
SetClipboardViewerってAPIで
クリップボードにデータが入ったコトは通知されるのですが。。。
必死で探しても、「貼り付け」された事を知る方法は見当たりません。
目的はリストに用意したテキストを
自アプリではないエディタに連続してペーストする事です。
「Ctrl+V」や「右クリック→貼り付け」の操作のたびに
クリップボードのデータを次のデータに入れ替えてやりたいのです。
良い方法を御存知の方、どうかお助けください。
0030デフォルトの名無しさん
NGNGttp://www.geocities.co.jp/SiliconValley/5634/t82B5_0018.html#76
0031デフォルトの名無しさん
NGNGカンマのキーコード定数は無いみたいなんです。
キーコードって自分で作れますか?
をたすけを・・・。
0032Kusakabe Youichi
NGNG> キーボードのカンマが押された事を取得したいんですが、
> カンマのキーコード定数は無いみたいなんです。
はつみみです。
003331
NGNGごめんなさい。
でも、日下部とからめてしやわせです。
友達に自慢します。
0034デフォルトの名無しさん
NGNGキーボードのカンマは VK_OEM_COMMA (&HBC)
0035Kusakabe Youichi
NGNG> すいません。解決しました。ASC�Uコードだったのですね・・・。
文字化けしてます。
003631
NGNG私からは文字化けして見えないので、OKです。問題無しです。
ご指摘ありがとう。
0037デフォルトの名無しさん
NGNGMacでも�Uは、文字化けするのですか?
0038デフォルトの名無しさん
NGNG0039デフォルトの名無しさん
NGNGエンタープライズエディションのVisualStudio6.0だけで用意する
ものはよいのでしょうか?
サーバのOSは指定(NT4.0 Server/2000Server)があるのでしょうか?
0040Kusakabe Youichi
NGNG>36 31 wrote:
> 私からは文字化けして見えないので、
そんなことは問題になっていません。
0041Kusakabe Youichi
NGNG> >>35
> Macでも�Uは、文字化けするのですか?
Macなるかは知りません。
0042初心者厨房
NGNG今日もまたドキュソな質問をさせてください。
Mo = CInt(Mid(Module1.C_Date, 5, 2)) ←この計算ではエラーになるんです。
えっと、CIntの計算をしているのに Mid関数での計算をしているからである
って言うのは分かっているのですがどのように修正したらいいか分かりません。
申し訳ありませんが教えてください。
004331
NGNG私の中では問題だったので、OKです。問題なしです。
ご指摘ありがとう。
0044Kusakabe Youichi
NGNG> 私の中では問題だったので、
そんなことはどうでもいいことです。
004531
NGNG先生、もうこれぐらいで勘弁してください。
私にも仕事があります。
0046初心者厨房
NGNGくだらない質問かも知れませんが本当に教えてください。
0047Kusakabe Youichi
NGNG> 先生、もうこれぐらいで勘弁してください。
何の話でしょうか?
で、文字化けしてましたよね?
004831
NGNG先生、そろそろみんなが自作自演であることに気づいちゃいます。
もう、あきらめましょう。オチはつきませんよ。潮時です。
それより、初心者厨房さんの質問に答えてあげてください。
彼はきっと先生の答えを待っていますよ。
0049デフォルトの名無しさん
NGNGエラーがコンパイルエラーなのか、
実行時エラーなのかがわからない
具体的に
Module1,C_Dateに入ってくる値が判らないと何とも答えようがない
本気で答えてもらいたいのはわかるが、
とりあえず、答えてもらうなりの説明が必要だと思われ
0050デフォルトの名無しさん
NGNGA=Mid(Module1.C_Date, 5, 2)
B = CInt(A)
どこでエラーになるか考えよう。
0051初心者厨房
NGNGda = Split(Date, "/")
L_DATE = da(0) & da(1) & da(2)
Module1.Shain_Clear
Label15.Caption = Module1.Shain_Code
Text1.Enabled = False
Module1.C_Date = L_DATE
Module1.Ki = da(0) - 2001 + 30
Ye = da(0)
ってなるそうです。
要するに、Mo = CInt(Mid(Module1.C_Date, 5, 2))の
Module1.C_Date に入る値はシステムデータの事らしいです。
0052初心者厨房
NGNG恐らく、僕が引っかかっているのは、CIntでは整数型の返り値、
Midでは文字型の返り値って言うところでエラーが出ているのではと
思っています。でも、どのようにしてこの問題を解決したらいいのか
分からないのです。
手を煩わして本当に申し訳ありませんがよろしくお願いいたします。
0053デフォルトの名無しさん
NGNGとりあえず、デバッグで調べてModule1に何が入ってるかを書け
0054デフォルトの名無しさん
NGNG0055デフォルトの名無しさん
NGNGModule1.C_Dateが数値型だからとか値が入ってないとか
そういうことだと思う。
原因はおそらくこの2行。
da = Split(Date, "/")
L_DATE = da(0) & da(1) & da(2)
システム日付を文字列に変換するなら、
Format(Date,"yyyymmdd")とか使ったほうが確実だよ。
あと「らしい」と書いてるってことは別の人に聞かれてるのかね?
本人に自分で聞くように言ってやんなさい。
0056デフォルトの名無しさん
NGNG0057tyubo
NGNG抑止したいのですができません。
MDIフォームにはKey_Downイベントもないし
サブクラス化してトラップしようとしてもなぜかWM_KEYDOWNが
取れません
どうしたらいいですか???
0058Kusakabe Youichi
NGNG> 先生、そろそろみんなが自作自演であることに気づいちゃいます。
はつみみです。
0059デフォルトの名無しさん
NGNGAPIのDrawTextを使えば勝手にやってくれますが
それじゃ駄目ですか?
0060デフォルトの名無しさん
NGNGDrawTextは禁則処理してくれるんですね。
今やろうとしてるのはPowerBuilderのデータウィンドウ内のカラムで
やりたいので、できればシンプルなアルゴリズムがあれば
まねしたいな、と思いまして。
PowerBuilderのサンプルなんてないと思ったのでVBスレで
聞いてみました。
006131
NGNG先生、文字化けの話から逸れましたが?
それはもういいんですか?
ふふふ。
0062Kusakabe Youichi
NGNG> 先生、文字化けの話から逸れましたが?
初耳です。
0063デフォルトの名無しさん
NGNGたぶん、Module1.C_Dateの中身が空なんだろう。
CInt("") を実行したような状態になってるんじゃない?
CInt(Val("")) ならエラーにならないけど、どっちみち
値が入ってないからプログラム総体としてはエラーな気が。
Moの値が0になっても構わないなら、
Mo = CInt(Val(Mid(Module1.C_Date, 5, 2)) )
とすれば当面エラーは出ないけど、逆にバグ混入させる気がするね。
>>55の言うとおり、da = Split(Date, "/")を止めてFormat使った
方がいい。そもそもDateがyyyy/mm/dd形式で返すっていう保証は無いし。
0064デフォルトの名無しさん
NGNGPowerBuilderは使ったことが無いので判らないですが、
基本的には、行頭の文字をチェックしてその文字が禁則文字なら前の行に移す
(もしくは前の行の行末文字をもってくる)といった処理を繰り返すしかな
いと思います。
0065初心者厨房
NGNGModule1の中身は何も入ってませんでした。。(汗)
とりあえず、今まで教えてもらった事を頑張ってやってみます。
ありがとうございます。
0066デフォルトの名無しさん
NGNGどうもです。
やってみます。バグが恐いですけど。
0067デフォルトの名無しさん
NGNG0068ヒッキー@プログラミング
NGNGワラタ。
ASCII→ASC�U
0069デフォルトの名無しさん
NGNG俺も NGワードの設定がしたいよ・・・(´Д`)
真面目にゾヌの導入検討しようかな・・・。
0070デフォルトの名無しさん
NGNG>>30さんに、初心者と名乗るようなヤツはダメ、手前で調べろボケ
というようなリンクを示されたので、かなりへこんでいます。
でも、どうしても自力では解決できません。ここ2ヶ月ずーっと悩んでます。
誰か少しでもヒントを下さい。
007269
NGNGというわけで導入してみた。いや、いいなこれ。
まだ全然使いこなせてないけどとりあえずNGワードを設定したら幸せになれたよ(´ー`)ノ
あと、俺にゾヌ導入のきっかけを与えてくれた先生に感謝するよ。ちょっとだけ(藁
0073デフォルトの名無しさん
NGNGVBの話でなくていいなら、制限付きで出来ます。
SetClipboardData でデータをクリップボードに置くとき、
データのハンドルに NULL を指定します。
そーすると、他のアプリケーションがクリップボードからデータを
読み出そうとしたとき、WM_RENDERFORMAT メッセージが届きます。
このメッセージが届いたら、クリップボードに SetClipboardData でデータを置きます。
制限付きとは、次のようなことです。
WM_RENDERFORMAT は、他のアプリケーションが
クリップボードからデータを取り出すと発生します。
それは、貼り付けのときとは限りません。
ただクリップボードの中身を確認するためだけかもしれないし、
例えばクリップボードビューアが内容を表示するために
読み出す場合もあります。区別は出来ません。
あまり使えない方法ですが、他の方法は知りません。
・・・こんなので良い?
007429です
NGNGまだ良く理解できてませんが、参考にさせていただきます。
Win32APIで可能なのかな???
いえ、ヒントはすでにいただきましたから、後は自分で調べて試して戦います。
とにかく頑張ってみます。ありがとうございました。
0075デフォルトの名無しさん
NGNG演奏する方法を教えてください
0076デフォルトの名無しさん
NGNGMP3の音楽を演奏するプログラムを書きます。
0077デフォルトの名無しさん
NGNG0078デフォルトの名無しさん
NGNGご存知の方がいらしたら、どうか教えてください。
VB6(SP5)でACCESS97にDataEnvironmentで接続するソフトをつくり、デイストリビューター
でキャビファイルにして、稼働環境にインストールすることにしました。
キャビファイル作りは問題が無かったのに、インストール中にエラーが発生しました。
ログを見ると
C:\WINDOWS\SYSTEM\msado25.tlb' 中に DllRegisterServer() のエントリポイントが見つかりません。
とのことです。
無視してインストールを続行し、出来たEXEを動かすと、
実行時エラー3706
ADOCE could not find the specified provider.
MSのHPでエラー情報を見てみましたが該当するものはありませんでした。
ソフトそのものは2年近く稼動しているもので、問題はないはずです。
ディストリビューターにかけたときに問題が発生したと思うのですが、
思い当たる方はいらっしゃいますでしょうか?
何卒よろしくお願いします。
0079デフォルトの名無しさん
NGNGよくわからんがSP5はADO2.5か?
008179
NGNGADO2.6以上のあったら参照設定をそれに戻してインストーラ
ー作りなおしてみれ。これで直ったら同じ原因かも。
間違ってたらゴメソ。
008379
NGNGージョンのADOに参照設定戻してVBP保存してEXE作ってイン
ストーラー作れば直ると思うが。
暇だから詳細書くとさ、SP4のマシンで開発(ADO2.5)で
開発しててEXE(�@)作って、一度SP3のマシンにソース持って
って保存して、そのソースをSP4のマシンに戻して�@のEXEでイ
ンストーラー作ったらさぁ、参照設定がSP3だからか知らんけどA
DO2.0になっててさ。でもEXEは2.5でコンパイルしてるや
ん?多分そんな原因かも。
※ナゼ暇かというと午前0時にクライアントが日付またぐ処理やる
か監視するまで帰れないんだよよよい (ToT
これも違ったらゴメソ
0084デフォルトの名無しさん
NGNGaをLongゃCurrencyなどの桁数の多い型で宣言するとよい。
「7」はInteger型と解釈されているので、「7&」などと表記してVBにLong型と解釈させるとよい。
>>29
ヘルプで「Clipboard オブジェクト」を調べるとよい。
0085デフォルトの名無しさん
NGNG0086デフォルトの名無しさん
NGNG標準EXEでつくって拡張子を.dllに変える。
0087デフォルトの名無しさん
NGNGVBでつくろうとするのが間違い。
おとなしくVC++でつくれ。
0088デフォルトの名無しさん
NGNG86はウソ。
VBで標準DLLは作れない。
ActiveXDLLで我慢してください。
0089デフォルトの名無しさん
NGNG0090デフォルトの名無しさん
NGNGありがとうございます。
009186
NGNGおいおい、ネタsageしたやつに礼を言うもんじゃないぞ。
0092デフォルトの名無しさん
NGNGほんとはC++で作ったんですけどねえ。やっぱり無理かあ。ちぇ。
009378
NGNGもう一度参照設定を確認してみました。
MS DataBinding Collection VB6.0
MS DataEnvironment Instance 1.0
MS DataFormatting Object Library 6.0
ここら辺が全部(SP4)になってました。
SP5は開発後に(今年になって)ダウンロードしてます。
開発時の環境は今確認できませんが、ご指摘が「図星」だったかもしれません。
どうもありがとうございました。
0095デフォルトの名無しさん
NGNG正直、その実装にどのような意味があるのかわからない。
俺だったら、必要なデータをテキストファイルに出力して、
それをエディタで読み込むが・・・。
ペーストとペーストの間に何か手入力したりするの?
やりたい事を実現する方法は、他にあったりしない?
それが仕様なら仕方無いけどね(^^;
0096デフォルトの名無しさん
NGNGa(0)
a(1)
a(2)
・
・
・
みたいな感じで配列の要素をa(0)から最後の要素まで1行ずつ
ファイルに書き出していくにはどうすれば宜しいでしょうか?
0097VB厨房
NGNGfor(0..100)a(i)=a(i)+1;
File open処理 #2 ’テキトー
for i =0 to 99
print a(i) & vbCrlf ’vbCrLFがポイント
next
close #1
0098デフォルトの名無しさん
NGNGDim a(100) as String '文字列型じゃないと駄目よん
.....
Open "hoge.txt" for output as #1
Print #1, Join(a,vbCrLf)
Close #1
…多分真似しない方が良いと思われ。
0099デフォルトの名無しさん
NGNG0100Kusakabe Youichi
NGNG> CSVファイルのデータを2次元配列に格納することはできないんでしょうか??
できますよ。
0101名無しさん@Emacs
NGNGということにしたいのですね。
0102デフォルトの名無しさん
NGNGデータの形式が分からないけど、
テキストファイルとして1行ずつ読み込んで、
一時格納用配列にSplitで入れて、
それから目的の配列に入れたら?
泥臭い?
0103
NGNG・Input
・Line Input後、自分でバラす
どっちが早いんでしょ?
0104デフォルトの名無しさん
NGNGベンチマークソフト組んでみたら?
0105デフォルトの名無しさん
NGNGLineInputじゃなくて全体(あるいはいくつかに分けて)を
一気に読みこんでバラした方が動作は「速い」かな。(作り方にもよるけど)
LineInputよりDB経由の方が速かったりもするよ。
0106103
NGNG>LineInputじゃなくて全体(あるいはいくつかに分けて)を
>一気に読みこんでバラした方が動作は「速い」かな。(作り方にもよるけど)
あー、そうですね。
チョト面倒臭いけど。
>LineInputよりDB経由の方が速かったりもするよ。
これどーゆー意味ですか?
最終的にはバラした後DBに登録するのが目的なんですが・
0107デフォルトの名無しさん
NGNGだいたいのDBはCSVを直に取り込んだりリンクしたりする機能があるから
そっち使った方が早い場合もあるって事だと思う。
細かい入力チェックがやりにくくなるけどな。
0108:デフォルトの名無しさん
NGNGどうすればよいのでしょうか。
あちこちのHPや本を調べて試してみましたが、どうしても上手くいきません。
ご存知の方がいらっしゃいましたら教えてやってください。
0109デフォルトの名無しさん
NGNGPrivate Sub Command1_Click
PlaySound "hoge.wav", 0&, SND_ASYNC
End Sub
0110デフォルトの名無しさん
NGNGありがとうございます。格納することはできたみたいです。
ただ、行数が未知のCSVファイル(Exel)のデータを
二次元配列に格納するには、どのようにすればよいでしょうか?
↓みたいにやっても上手くいかないみたいなんで…
For i = 0 To UBound(Book1.csv)
For j = 0 To 2
Line Input #1, vntBook1(i)(j)
Next
Next
0111110
NGNGFor i = 0 To UBound(Book1.csv)
For j = 0 To 2
Input #1, vntBook1(i, j)
Next
Next
です。
0112かをる
NGNGちなみにそれは、適当な数字をA列に積み上げ、途中で数字をポップしてC列に積んでいくというものなんです。
スタックは5回で良いのですが。
0113デフォルトの名無しさん
NGNGOpen "Hoge.csv" For Input as #1
Do Until EOF(1)
Input #1, vntBook(i,0), vntBook(i,1)
i = i + 1
Loop
Close #1
UBoundの引数は配列変数ね。
0114VB厨房@
NGNG俺の場合は、1行ずつ読み込んでから、","を
分解してそれを一旦dim buff as Stringに保存して、
あとから、一気に書き込むというやり方、(独学だけど)
それに君のそのソース、CSVのカンマ区切り文字が勝手に配列に入ってくるものと誤解してない?
For i = 0 To UBound(Book1.csv)
は、最後の行まで読み込むというのは分かるけど、
For j = 0 To 2
で、列のそれぞれの要素を読み込んでいないだろ。
>>112
PUSHと、POPって要するに、配列の移動でしょ?(あんましらん)
DIM A(10) as integer
DIM B(10) as integer
Static ai,bi as integer 'もしくはPublicでSUBの外に置く
PUSH 処理で
ai=ai+1
A(ai)=K
POP 処理で Bに積み上げ、Aは一つ省くので
bi=bi+1
B(bi)=A(ai)
ai=ai-1
タブン、君の場合、A,B,Cのスタックを積み上げている位置を
DIMとかで宣言して、位置を記憶してないかと思う。
Static及び、SUBの外側で、Public宣言するとよろしい。
0115デフォルトの名無しさん
NGNG最初に改行コードの数(=行数)を数えてから読み込むとか。
BinaryでOpenしてから数えればン万行でも瞬時に数えられるよ。
0116112
NGNG「データの格納と取り出しの分岐のプログラム」てのをやってまして、その前に
「inputbox関数を用いてデータをA列の1行目から5つ格納する。」
For num = 1 To 5
myval = InputBox("データを入力してください。")
Cells(num, 1) = myval
Next num
と言うのと、
「A列の1番下の行(5行目)のデータから1つずつ取り出してC列の1行目から順に移動する」
For num = 1 To 5
Cells(num, 3) = Cells(6 - num, 1)
Cells(6 - num, 1) = ""
Next num
と言うのをやったので、その延長のプログラミングと思われるのです。
まず、yourval = InputBox("データ格納の場合は1、データ取り出しの場合は2を入力してください。")
を出して、1か2を打ち、1の場合はmyvalでPUSHする数字を打つんです。
んで、PUSHはA列、POPした物ははC列に置くと言うのを5回やるのですが・・・。
難しいっす。
0117VB厨房@
NGNGちょっと見たかんじでは、配列の使い方おかしくない?
宣言は
Dim Cells(3,5)
こうしたら?君の場合おそらく
Dim Cells(5,3)
としてる。
Dim Cells(行、列)
と考えたら分かりやすいかと思うが、
For num = 1 To 5
Cells(num, 3) = Cells(6 - num, 1)
Cells(6 - num, 1) = ""
Next num
だと、
num=1
Cells(num, 3) = Cells(6 - num, 1) 、1行目の3列目に、5行目の1列目を代入
num=2
Cells(num, 3) = Cells(6 - num, 1) 、1行目の3列目に、4行目の1列目を代入
num=3
Cells(num, 3) = Cells(6 - num, 1) 、1行目の3列目に、3行目の1列目を代入
num=4
Cells(num, 3) = Cells(6 - num, 1) 、1行目の3列目に、2行目の1列目を代入
となっている、配列がおかしい。
0118VB厨房@
NGNGnum=1
Cells(num, 3) = Cells(6 - num, 1) 、1行目の3列目に、5行目の1列目を代入
num=2
Cells(num, 3) = Cells(6 - num, 1) 、2行目の3列目に、4行目の1列目を代入
num=3
Cells(num, 3) = Cells(6 - num, 1) 、3行目の3列目に、3行目の1列目を代入
num=4
Cells(num, 3) = Cells(6 - num, 1) 、4行目の3列目に、2行目の1列目を代入
0119VB厨房@
NGNG受け取った数字を判定して、PUSHかPOPするとしたら。
yourval = InputBox("データ格納の場合は1、データ取り出しの場合は2を入力してください。")
受け取った文字を
if yourval="1" then
処理
elseif yourval="2" then
処理
end if
とすればいいだけじゃないの?
0120デフォルトの名無しさん
NGNGjpgの画像をbmpに変換させたいのですが、
どうすればいいのでしょうか?
やさしく解説していただければと思います。
検索したのですが、よくわからなくて・・・
0121デフォルトの名無しさん
NGNGLoadPictureとSavePictureではいかんの?使い方はMSDN参照。
0122☆☆☆☆
NGNG3徹中です。目閉じたら寝ちゃいます。
クリスマスイヴあたりは
ロマンチックな神戸行って
ルミナリエとか行きたいなぁ
0123デフォルトの名無しさん
NGNG誤爆?
0124デフォルトの名無しさん
NGNG寂しいプログラマの夢じゃねーの?
疲れてるんだろ。寝かせておいてやろうぜ。
イイ夢見ろよ……。
0125120
NGNGありがとうございます。調べてみます。
0126ハムはむ
NGNG見つからずに困っております。
御存知でしたら教えて頂けないでしょうか。
0127デフォルトの名無しさん
NGNGSetMonitorPowerState()かな?
詳しくはMSDN参照。
0128ハムはむ
NGNG済みません、素人なので意味が分かってません。
また、MSDNで参照してみましたが、SetMonitorは「使用中のモニタタ
イプを設定する」となっておりました。
見ているところが根本的に違っているのでしょうか?
0129デフォルトの名無しさん
NGNGモニタの電源を切るのはOS側がACPIを管理してやってるっぽいので
ソフト側からは無理なのではないかな、と。うろ覚えですが。
あと、127はネタです。sageてるし。
そんなAPIあったら使ってみたい。
0130デフォルトの名無しさん
NGNGモニタの電源コードにスイッチつけて、
シリアルでもパラレルでもいいからスイッチを操作する。
0131デフォルトの名無しさん
NGNGいっそ仕様を拡張してモニタの電源 "も" 切るようにしたらどうだろう。
0132デフォルトの名無しさん
NGNG>画面の設定でモニタの能力を超える解像度設定を行えば、真っ黒になりますが
0133デフォルトの名無しさん
NGNGttp://www.vbvbvb.com/jp/gtips/0651/gSystemParametersInfoSpiSetPoweroffTimeout.html
0134デフォルトの名無しさん
NGNGttp://www.vbvbvb.com/jp/gtips/0651/gSystemParametersInfoSpiSetPoweroffActive.html
0135デフォルトの名無しさん
NGNGttp://www.vbvbvb.com/jp/gtips/0301/gSetSystemPowerState.html
0136デフォルトの名無しさん
NGNGTo turn off the monitor:
SendMessage(AnyForm.hwnd, WM_SYSCOMMAND, SC_MONITORPOWER, 2&)
Standby monitor:
SendMessage(AnyForm.hwnd, WM_SYSCOMMAND, SC_MONITORPOWER, 1&)
To turn on the monitor:
SendMessage(AnyForm.hwnd, WM_SYSCOMMAND, SC_MONITORPOWER, -1&)
Where
Const WM_SYSCOMMAND = &H112
Const SC_MONITORPOWER= &HF170
0137デフォルトの名無しさん
NGNG取ってくるデータが以下のようにあったとします。
AA
BB
CC
DD
カレントがDDの時にMoveNextすると、EOFがTrueになりますが
CCからMoveNextして、DDを表示した時点でEOFをTrueにしたいのですが
方法が分かりません。そもそも無理なのでしょうか?
0138デフォルトの名無しさん
NGNG================================================================================
モニタの電源を切る(モニタ省電力に対応した環境の場合のみ)
================================================================================
---------以下フォームモジュールへ記述
Option Explicit
Private Sub Form_Load()
Timer1.Interval = 3000
Timer1.Enabled = True
End Sub
Private Sub Timer1_Timer()
Timer1.Enabled = False
Call Y_PowerOffMonitor(Me.hWnd)
End Sub
---------以下標準モジュールへ記述
Option Explicit
'ウインドウにメッセージを送る
Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
(ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Public Const WM_SYSCOMMAND = &H112&
Public Const SC_MONITORPOWER = &HF170&
Public Sub Y_PowerOffMonitor(hWnd As Long)
'************************************************************
'機能 : モニターの電源を切る
'************************************************************
Dim sw As Long
' sw = 1 '省電力モード
sw = 2 '電源を切る
Call SendMessage(hWnd, WM_SYSCOMMAND, SC_MONITORPOWER, ByVal sw)
End Sub
0139デフォルトの名無しさん
NGNGその処理の必要性について詳細をキボンヌ。
どういうことを実現したいの?
0140デフォルトの名無しさん
NGNG処理前に SELECT COUNT(*) でレコード件数取得後、その件数分だけループすれば?
あえて提供されている方法を使わない意図は全く不明だが。
0141デフォルトの名無しさん
NGNGムリがどうかはともかく、EOFの使い方として間違っていると思います。
カレントレコードが最後のレコードかどうか調べるなら、
AbsolutePosition = RecordCount かを判定すればいいとかと。
ただし RecordCount はカーソルタイプによっては使用できないので要注意です
が。
0142137
NGNGAA
BB
CC
DD
CCからMoveNextし、DDを表示した時点で「次へ」ボタンの「Enabled = False」にしたいんです。
現状だとCCからMoveNextしてカレントがDDに移った時点では、「Enabled = True」なので
「次へ」ボタンが押せてしまいます。
カレントがDDの時に、「次へ」ボタンを押してやっとEOFになり
「Enabled = False」になるのですが、1タイミング遅いんです。
EOFで判定するのが間違いなのでしょうか。
0143デフォルトの名無しさん
NGNG了解。
データを取得してからもう一度MoveNextして、EOFで無ければそのまま。
EOFならボタンをEnable Falseする。
そのあとMovePreviousする。これで希望通りにはなる。
でも、非効率的な処理だしレコード開きっぱなしはよくないかも知れないので、
一度レコードの中身をすべてType型変数に格納してそれを表示するようにして、
最終データかどうかをメンバー変数に持たせるなり、レコード数を変数に保持しておいて
表示時にカウンタなどで判別するほうがいかも。
0144137
NGNGしかし、いきなりDDレコードが呼び出された時等に不具合がありましたので
>>141さんの「AbsolutePosition」で判定して「Enabled = False」に出来ました。
逆のMovePrevious場合も同じ考え方で出来ました。
ありがとうございました。
P.S. 143さんの「Type型変数に格納し〜〜」の部分なのですが
漏れには理解不能のため非効率な処理でいきました。
0145141
NGNG>141さんの「AbsolutePosition」で判定して「Enabled = False」に出来ました。
お役に立てて幸いです。
> P.S. 143さんの「Type型変数に格納し〜〜」の部分なのですが
> 漏れには理解不能のため非効率な処理でいきました。
ADO の recordset で処理するのではなく、ユーザー定義型の配列か何かに
すべて読み込んで、自前で処理しろということではないかと。
0146143
NGNGそのことです。
補足ありがとうございました。
0147デフォルトの名無しさん
NGNGお答えいただきありがとうございます。
上の方にCSVファイルの中身を二次元配列に入れる方法はおかげでわかったのですが、
今度はCSVファイルのデータをコレクションのプロパティに格納する方法について
アドバイス頂けないでしょうか。何度もすみません(汗
日にち 終了 開始
4 8 2
7 15 6
10 13 11
・
・
・
↑こんな感じの行数未知・列数3のCSVファイル(Scedule.csv)のデータを…
Public Date As Integer '番号の値が入る
Public Start As Integer '開始の値が入る
Public Length As Integer '長さ(終了−開始+1の値が入る)
↑のように作成したSceduleクラスの各プロパティに一行ずつ格納したいのです。
(1行目の「日にち」「終了」「開始」以外)
続きます
0148デフォルトの名無しさん
NGNGDim NewScedule As Scedule '新規作成した日程
Dim i As Integer '繰り返し処理用カウンタ変数
i = 1
Open "C:\WINDOWS\デスクトップ\Scedule.csv" For Input As #1
Do Until EOF(1)
'新規日程オブジェクト作成
Set NewScedule = New Scedule
'値をセット
Input #1, NewScedule.Date, ’この辺りの記述がわかりません。。
'コレクションへ新規日程を追加
Scedules.Add NewScedule
Loop
Close #1
↑このようにとりあえずコードを書いてみたのですが…
Scedules(0).Dateに4、
Scedules(0).Startに2、
Scedules(0).Lengthに7
Scedules(1).Dateに7、
Scedules(1).Startに6、
Scedules(1).Lengthに10…というようにCSVファイルの最後の行のデータまで
格納するにはどうすれば良いでしょうか。
長いうえに分かりにくくて済みませんが、どうか助言お願い致します。
0149”
NGNG文字「”」を参照するときはどう記述すればいいんでしたっけ?
if XXX = """" Then
でOK?
0150デフォルトの名無しさん
NGNGそのとーり。
0151”
NGNG0152デフォルトの名無しさん
NGNG>Public Date As Integer '番号の値が入る
>Public Start As Integer '開始の値が入る
>Public Length As Integer '長さ(終了−開始+1の値が入る)
と書きましたが
Public Date As Integer '日にち(番号じゃなかったですね)の値が入る
Public End As Integer '終了の値が入る
Public Start As Integer '開始の値が入る
のように単にCSVファイルのデータをそのまま1行ずつ格納していこうと思います。
(あと、i=1ではなく0からでした。済みません)
今まで試行錯誤を繰り返したのですがどうしても方法が分かりません。
どなたか知恵を貸して頂けないでしょうか。お願い致します
0153デフォルトの名無しさん
NGNGお前らにはRubyhampyttaimasufgitu!
0154au
NGNGただし、事前にMediaPlayerを起動して何らかのファイルを再生していれば真っ黒にならずに
コピーできます。これってなぜなんでしょう?またこんなことがおきない別の方法があればれ
レクチャーお願いします。
0155VB厨房@
NGNG任意の行数を得る方法を知りたいの?
自分の場合、すごく苦しいかもしれないけど、
一度ファイルを開いて、行数をカウンタ=kして
Redim hoge(k) as integer
と宣言しなおして行数を得ている。
もし、CSVを分解して代入する方法を聞いてるとしたら、
Mid 関数、Instr関数、を使えば十分分解格納できる。
0156デフォルトの名無しさん
NGNG長さ未定義の配列にsplit..ではダメ?
0157デフォルトの名無しさん
NGNG動的配列じゃね?
Dim intI Integer
Dim strA() String
intI = 0
Do While なんたらかんたら
ReDim Preserve strA(intI)
strA(intI) = "ほにゃらら"
intI = intI + 1
Loop
とかやりたいの?質問の意味が理解できんかった。。。ゴメソ
0158113
NGNGえと、DateとかEndは予約語なんでクラスのメンバ変数に使えないような。
あとInputステートメントはデータをObject変数に格納できなかったハズ(?)なんで
代入用の変数を用意しる。
Dim Scedules As New Collection
Dim newScedule As Scedule
Dim lintDate As Integer
Dim lintStart As Integer
Dim lintEnd As Integer
Open "Hoge.csv" For Input As #1
Do Until EOF(1)
Set newScedule = New Scedule
Input #1, lintDate, lintStart, lintEnd
newScedule.nDate = lintDate
newScedule.nStart = lintStart
newScedule.nEnd = lintEnd
Scedules.Add newScedule
Set newScedule = Nothing
Loop
Close #1
取り出すときは、Itemメソッド
Scedules.Item(n).nDate
もしくは、
' For Each newScedule In Scedules
' Debug.Print newScedule.nDate, newScedule.nStart, newScedule.nEnd
' Next
動くと思う。長くてスマソ。
0160名無資産
NGNGVBで GPIBの制御をしようと構築中です、
なにか良い雑誌や本などありましたら、教えていただけないでしょうか?
VBでGPIB制御するためには、やはりハード側の命令セットみたいなものも
理解する必要があるとおもうんですが、もし、その命令がわからないばあい
実際に試行錯誤を繰り返しながら、ためさないと いけないんですかねぇ
今 やろうとしているのは、簡単な移動装置です。
顕微鏡なんですが、この装置を遠隔的に、WINDOWSから
操作しようと思っております、
なにかご意見いただける方いらっしゃいますか?
メインから移動してきました よろしくお願いします
0161デフォルトの名無しさん
NGNGGPIB カード(高いよ〜〜)にドライバがついてねーか?
0162名無資産
NGNGその関数やらの使い方はなんとなーくわかるんですけど
結局のところハードに送信する命令自体がわかんないと
どうしようもないかもしれないんです。
GPIBの命令って統一されてるんですかねぇ〜
なんか装置のメーカに問い合わせても
いい反応なさそうだし・・・
(某光学装置orカメラメーカー)
0163デフォルトの名無しさん
NGNGttp://www2.gihyo.co.jp/books/bookinfo.asp?ID=4-7741-0940-1
この本見て計測器をコントロールするプログラムつくりましたが、
やはり命令の載っているマニュアルが提供されていないと辛いですね。
0164デフォルトの名無しさん
NGNG--ここから
はじめまして!この度本MLに登録させていただきました。よろしくお願いします。
で、私はまだ学生ですが勉強も兼ねてVB又はVCをいじっています。
今回はVBでMediaPlayerに表示される画像の静止画のキャプチャを考えていますが、
Bitbltでスクリーンコピーすると動画の部分だけが真っ黒になってしまいます。
また通常のメディアプレイヤーを起動し、何らかの動画を再生しておくと正常にキャ
プチャ
できます。メディアプレイヤーを起動しないでキャプチャする方法はありませんで
しょうか?
またBitblt以外でのキャプチャ法はありませんでしょうか?ご教授お願いいたしま
す。
--ここまで
0165161
NGNG>結局のところハードに送信する命令自体がわかんないと
>どうしようもないかもしれないんです。
どうしようもないす。
つか GPIB で制御出来る顕微鏡なんでしょ?
なのになんでコマンドリファレンスがついてないの?
0166152
NGNGどうもありがとうございました。
直接オブジェクト変数にではなく、変数に代入することでいけました。
あと予約語ばんばん使ってたり、ミスばっかでした…ご指摘ありがとうございます。
質問わかりにくくて済みません、勉強になりました。
0167156
NGNG動的配列やね。さんくす
Dim strHoge() As String
Dim CSVText As String
Do While EOF(1)
strHoge= Split(CSVText,",")
Loop
で、勝手にRedimされるから便利。一個ずつ変数宣言なんて面倒で好かん
まぁどうでもいいんだけど。
0168デフォルトの名無しさん
NGNGWinsockコントロールを使ってTCPやUDPでやり取りして
いるデータのヘッダから、IPなどの情報を取得するには
どうしたらいいのでしょうか。
ご教授のほど、よろしくお願いしますm(_ _)m
0169デフォルトの名無しさん
NGNGRemoteHost
RemoteHostIP
RemotePort
LocalHost
LocalHostIP
LocalPort
上記のプロパティを調べてみそ。
あと、GOOGLEで調べてみれば?サンプル一杯あるよ。
0170カズ
NGNG今、VB6で暗号化アプリを開発しています。そこで暗号化はできるのですが、
復号化がうまくできません。Advapi32.dllが原因ではないかといわれたのですが、
誰かその辺のことについて知ってる方がいらっしゃいましたら、ささいなことでも
かまわないのでおしえてください。よろしくお願いします。
0171aaaaa
NGNG0172デフォルトの名無しさん
NGNG今のところ、Input LineをEOFまでやって、そのカウントを取ることで実現していますが
もっとスマートな方法がありましたらお願いいたします。
0173デフォルトの名無しさん
NGNGInput Lineって改行コードを調べる関数?
だったらそれが一番スマートだと思うけど。
0174168
NGNG例えば、UDPでデータを受け取った時に発生する
DataAraivalイベント中に
RemoteHost
RemoteHostIP
RemotePort
LocalHost
LocalHostIP
LocalPort
これらのプロパティを参照すれば、データを送って
きた相手のIPなどがわかる、ということなのでしょう
か。。。重ねての質問ですいませんが、よろしく
お願いします!
0175デフォルトの名無しさん
NGNGファイルを全部読み込んで改行文字をカウント。
でも多分スマートじゃない。
0176デフォルトの名無しさん
NGNGこれなら元の方がマシだと思う。
いっそ wc 拾ってきてそいつに数えさせるとか。
0177デフォルトの名無しさん
NGNG0178デフォルトの名無しさん
NGNG今、以下のよう感じで「名前がwao かつ 年が10」のデータを抽出しています。
Set RS = DB.OpenRecordset(" SELECT * " & _
" FROM Hoge " & _
" WHERE Name = wao AND Age = 10;")
これを分解して、まず名前がwaoのデータを全部抽出して、そのデータベースから
年が10のデータを取り出したいのですが、どうやればいいのでしょうか。
0179デフォルトの名無しさん
NGNG任意の場所にDrag&Dropすることで、
そのコントロールの位置を移動させたいのですが、
FormのDragDropイベントで取得する X, Y を Top , Left に設定しても
見当違いのところに移動します。
どうすればマウスのDrag&Dropで思った場所に
コントロールを移動できるのでしょうか?
0180デフォルトの名無しさん
NGNGなんでそんな事したいか不明だが...
素直にワークテーブルに書出したら?
0181178
NGNGそもそもクエリーの意味を履き違えているんでしょうか。
Set QD = DB.CreateQueryDef("", " SELECT * " & _
" FROM Hoge " & _
" WHERE Name = wao;")
こうやってwaoのデータを抽出して
Set RS = QD.OpenRecordset(" SELECT * " & _
" FROM Hoge " & _
" WHERE Age = 10;")
さらに年が10を探す。
0182172
NGNGとにかく行数だけがわかればいいので、無駄に文字を取ってきているきがして
もっといい方法があるのかなと思ったんです。
0183デフォルトの名無しさん
NGNG固定長のファイルだったら簡単だけどねぇ。
0184新規
NGNGプレーヤーの左右の動かし方のプログラミングがわかんないんです。
わかる方教えていただきたい!!ちなみにプレーヤーはコアファイター
です。敵がザクちゃん
0185デフォルトの名無しさん
NGNG行数だけを調べたくても結局ファイルの中身は
全部調べないと駄目なんで何やっても同じ。
フォーマットを決めてるんなら別だけど。
気持ちは分かるが。(w
0186デフォルトの名無しさん
NGNGRecordsetのFilterプロパティ参照
あまりオススメしないけどね・・・
0187デフォルトの名無しさん
NGNGttp://www.sala.or.jp/~itagaki/vb/kouza.htm
0188デフォルトの名無しさん
NGNGもらえるんですか?
0189デフォルトの名無しさん
NGNGここにソースをUPしたので、どこを直したらよいかアドバイス
お願い致します。
http://www2.makani.to/akutoku/upload/index.html
0190169
NGNG亀レススマソ
>データを送って
>きた相手のIPなどがわかる、ということなのでしょう
RemoteHost → 接続先のホスト名
RemoteHostIP → 接続先のIP
RemotePort → 接続先のポート
だよ。もちろんこの値をDataAraivalイベントで拾えば
送信元の情報になるね。
Winsockコントロールを使ったUDP通信のサンプルは
ここを参考にしてみてくれ。
ttp://www.comel.or.jp/%7Eakira/soft/udp_s1/udp_s1.html
0191168
NGNGお教えいただいた事とサイトで、さらに
通信プログラムを勉強したいと思います。
ありがとうございました!
0192192
NGNGが、変更するたびにリストボックスの高さが縮んでしまいます。
リストボックスの高さを変えずに、画面上でフォントサイズを変える方法を
教えてください。
0193デフォルトの名無しさん
NGNGあんまり件数が増えると、取り出すのにえらい時間がかかって、
ハングしたかと思っちまいます。
そこで、よく市販アプリのインストール時に出るような、
残り処理時間ゲージを付けたいんですけど、
VBでできますでしょうか。
よろしくお願いします。
0194デフォルトの名無しさん
NGNGフォント変えるたびにリストボックスのサイズも設定しなおせば?
でもリストボックスだと勝手に補正されちゃうんだよね。
リストビューだとサイズはかわらんよ。
0195デフォルトの名無しさん
NGNGプログレスバーじゃ不満?
0196デフォルトの名無しさん
NGNGとりあえず、データベースからそこまで沢山のデータを
一気に取り出す必要があるのかという事から考えた方が
いいと思われ。
抽出条件つけるとかして件数を絞り込むとか...
0197デフォルトの名無しさん
NGNGMEの時までは使えてたソフトが使えなくなってしまって困ってます。
通常のバージョンアップでは使えていたんですが、
フォーマットして最初からインストールしたらランタイム系が
軒並みインストールできなくなってたんです。
0198193
NGNGレスありがとうございます。
データの抽出件数に関しては、仕事上、仕方ないのです。
これでも出来る限り不必要なデータ抽出げずったんですよ・・・。
あと、プログレスバーコントロールってのは、どこから
出すんでしょうか。参照設定にそれらしいの無いんですが・・・?
0199デフォルトの名無しさん
NGNG自分で見るだけならステータスバーの使用をお勧め。
SysCmdで文字とかステータスバーのプログレスの
表示を操作出来る。
んで一応、プログレスバーはフォームデザイン画面で
ツールバーのコントロールの選択→MicroSoft Progress Bar
を選んで配置すると使える。
VBAのフォームって個人的に好かんけど。
0200デフォルトの名無しさん
NGNGVBじゃなかったっけ?なら
Microsoft Windows Common Controls 6.0 (MSCOMCTL.OCX)
TextBoxやLabelのなかに一回り小さい色の付いたLabelを配置して
Widthを少しずつ増やしていくだけでも代用できますが。
そんなにレコード数多いの?
何分もかかる様なら%も表示したほうがよさげか
0201198
NGNGありがとうございます。
>んで一応、プログレスバーはフォームデザイン画面で
>ツールバーのコントロールの選択→MicroSoft Progress Bar
>を選んで配置すると使える。
ツールバーってのはツールボックスのことでしょうか(あの「TextBox」とか
のアイコンがある)。デフォルトでは、そのコントロールは無いっぽいです。
うう。
0202デフォルトの名無しさん
NGNGお、ありがとうございます!
>Microsoft Windows Common Controls 6.0 (MSCOMCTL.OCX)
これが何か分かりません。ヘルプでも出ないんですが?
レコード数もさることながら、仕事場のPCの性能がアレで
小一時間かかったりもします。マジでハングったりも。
0203199
NGNGそのツールボックスを右クリックしてコンポーネントをクリック。
もしくはいきなりCtrl+Tで出てくるYO。
インデックス張ったりSQL見直したりは・・したよね(w
>レコード数もさることながら、仕事場のPCの性能がアレで
うちはその点最低でもCerelon400だから助かってます。
0204203
NGNG鬱氏。
0205デフォルトの名無しさん
NGNGほんとうにくだらないことで申しわけないのですが、
Formの縁を無くすにはどうしたら良いのでしょうか。
FormのAppearanceを0にもしたのですが、
やはり外側に3Dっぽい縁が出来てしまうんです。
0206デフォルトの名無しさん
NGNGAppearanceでなくBorderStyle。
0207202
NGNGありました。ありがとうございます。
ちょっと研究してみます。
申し訳ないのですが、分からなかったらまた聞きに来ます。
あと、インデックスも張ってますし、SQLも改良しました。
実は、もともと、他人が作ったもので、その人に
「適当に使いやすくして使って」って言われているものなのです。
僕、初心者なのになー・・・。
0208199
NGNG>ツールバーってのはツールボックスのことでしょうか
>(あの「TextBox」とか のアイコンがある)。
コントロールの選択ってのはツールバーの中にある、
「TextBox」とか、「Label」とかと一緒に、
「コントロールの選択」ってのがあるんよ。
(一番右下。)
分かりにくかったかな?スマソ。
>>204
気にすんな。(w
0209205
NGNGありがとうございます。0にしたら無くなりました。
ちなみに、その状態でタイトルバーだけ表示って
無理ですか?
0210205
NGNGFormの出現位置を画面右上や、画面右下とかには
出来ないでしょうか?
0212デフォルトの名無しさん
NGNG無理。移動したいなら、WM_NCHITTESTを使いましょう。
0213箱入り息子
NGNGを作りたいのでありますが、どんなコントロールを
使えばいいのやら皆目見当もつきません!
ご教授ねがいます!以上っ!(敬礼)
0214デフォルトの名無しさん
NGNGVC か Delphi で「箱入り娘」コントロールを作ってもらって
それを VB に張れば1分で完成。
0215デフォルトの名無しさん
NGNGそれだけでは教えたくてもさっぱり分からん。
もうちょっとこんな感じでこうしたいとか・・・
詳しく書こうぜ。
0216デフォルトの名無しさん
NGNGないでしょうか?
0217箱入り息子
NGNG>>215
すみませんでした。
えーと、現状では、「娘」とか「父」とかいう文字を書いたimageコントロールを
フォーム上でマウスでドラッグアンドドロップで移動させることは
できたんです。でも、きちんと枠内でその一つ一つの「駒」を移動
させ、移動できない方向には移動させない、といった制御が難しくてできません。
でも、なにも制限がなかったらゲームにならない(当たり前ですが)ので、
そのimageコントロールの動きを制御しなければ「箱入り娘」になりません。
214さんの言うように、「箱入り娘」コントロールみたいなものはあれば、
簡単なんですけど・・・。
どうやったらいいのでしょうか?
0218デフォルトの名無しさん
NGNG一応、line inputで一行ずつtxtを文字変数として読み込んで
InStrで場所を特定して・・って感じで考えているのですが
0219215
NGNGその箱入り娘ってのがどんなのかは知らないけど
移動先の枠の座標は分かるよな?
で、移動できる枠と移動できない枠も分かるよな?
そしたら、移動完了の時に判定できるでしょ。
移動できないんなら元に戻す、みたいなかんじで。
0221デフォルトの名無しさん
NGNG将棋やオセロと同じで、マス目を配列変数で用意する。
何もいなければ0、何かいれば1にする。
1点の位置が決まれば、大きさや形にしたがって、
いくつかのマス目も1になる。
もし動き先が1なら、そこには動かせないということになる。
0222デフォルトの名無しさん
NGNGテキストボックスの色を変えたいです。
テキストボックスのMouseMoveイベントに色変えるの書いたのですが、
カーソルが外出た時に色戻すイベントの取り方がわかりません。
お願いしますー。
0223箱入り息子
NGNGどうもありがとうございました。
0224デフォルトの名無しさん
NGNGPictureBoxを使って自前で描画してはどうでしょう。
0225デフォルトの名無しさん
NGNG"Alt+R"を押したら、Retrunを押したというメッセージを送りたいのですが、
上手くゆきません。
keybd_event(vbKeyReturn,0,0,0)を使ってやってるのですが、
フルスクリーン化してしまいます。
どうすればよいでしょうか?
0226デフォルトの名無しさん
NGNG0227デフォルトの名無しさん
NGNG0228デフォルトの名無しさん
NGNGなどと入力してプログラムの起動時に引数を渡す処理を、
VBで行うには、どうすればいいのでしょうか?
0229ヒッキー@プログラミング
NGNGShell関数を使ってはどうでしょうか?
ヘルプで探してみてください。
0230ヒッキー@プログラミング
NGNG0231デフォルトの名無しさん
NGNGCommand()
0232228
NGNGVBで作ったアプリで、他のアプリに引数を渡す方法です。
ご指摘の通り、Shell関数で簡単に出来ました。(汗
ありがとうございます。
0233デフォルトの名無しさん
NGNGFormのMouseMoveイベントで色を戻す処理を書く。
0234デフォルトの名無しさん
NGNG0235ありゃ??
NGNGメニュー画面のフォームからコマンドボタンをクリックし、次のフォームを
表示させるには、どういうコーディングをすればいいのでしょうか??
メニュー画面も次の画面も用意してxxxx.showと指定しているのですが
(参考書にはこれで展開すると・・・)うまくいきません。
0236デフォルトの名無しさん
NGNGただそのときに既にALTが押されているので"Alt+Retrun"でフルスクリーン化
という動作になってしまっているのでしょう。
keybd_event(vbKeyReturn,0,0,0)
の前に
Public Const KEYEVENTF_KEYUP = &H2
keybd_event(vbKeyMenu,0,KEYEVENTF_KEYUP,0)
なんかやってみたらどうでしょう。
(試してませんがうまくいけばめっけものです。)
それかReturn押下時の処理を関数化し、"Alt+R"押下時に
その関数を呼ぶとか。(ベタですが...)
0237デフォルトの名無しさん
NGNGただそのときに既にALTが押されているので"Alt+Retrun"でフルスクリーン化
という動作になってしまっているのでしょう。
keybd_event(vbKeyReturn,0,0,0)
の前に
Public Const KEYEVENTF_KEYUP = &H2
keybd_event(vbKeyMenu,0,KEYEVENTF_KEYUP,0)
なんかやってみたらどうでしょう。
(試してませんがうまくいけばめっけものです。)
それかReturn押下時の処理を関数化し、"Alt+R"押下時に
その関数を呼ぶとか。(ベタですが...)
0238デフォルトの名無しさん
NGNG>xxxx.show
・xxxxの名前が違う。
・showが全角
0239perl2vb
NGNG$date = "2001/12/11";
@job = ("mail","meeting","test","coding","design");## PERLの配列
myfunction( $date, @job);
sub myfunction{
my ($str, @array) = @_;
## 以下省略
}
なんて形にするけど、VB だとどうなるのか教えてください。
ヘルプはたくさん書いてあるわりには検索に時間がかかるばかり
でぜんぜんわかんねー。
0240デフォルトの名無しさん
NGNG配列の先頭アドレスを渡す。
0241デフォルトの名無しさん
NGNGParamArray使う。
0242デフォルトの名無しさん
NGNGそろそろ手をつけるかとプロジェクトを読み込み、デバッガで走らせようとしたら
RDOの関係のモジュールがすべてエラーになってしまうのです。
参照設定では、MSRDO20.DLLはちゃんと指定してあるので困りました。
Win2K(SP2)+VB6(SP4)の環境です。渡された当初は当然ですが問題なかった。
最近やった大きいことはというと、IEを6.0にしたことと、Delphyパーソナルを
入れたことか。
助言を願います。馬鹿ですみません。
0243perl2vb
NGNG参照がわはaramArrayを使えばいいのはわかったけど、
参照元はハードコーディングでなく呼び出す方法はないの?
知ってる人、おしえてくださーい。
0244デフォルトの名無しさん
NGNGこんなんダメ?
private function Job(str() as string) as Variant
Job=str
end function
0245242
NGNGrdoErrorsやrdoConnectionのデータ定義からしてだめ。
オブジェクトブラウザーにRDOは見えているのに。
とりあえず、VisualStudioのSP5を落としながらWebサーチをします。
お心当たりあれば引き続きよろしくお願いします。
0246デフォルトの名無しさん
NGNGエラーNoと内容を見せれ
0247242
NGNGError$を評価すると、
"コンパイルエラーsubまたはFunctionが定義されていません。Error35"
が帰ってくる。
DLLの参照に関するエラーでしょうけど、MSRDO20.DLLは「ある」し「指定されている」
んですよ。悩む。
0250222
NGNGありがとうございます。
でも、すでに試してますが、それダメでした。。。
なんで戻らないんだろう。
てか、なんでMouseOutイベントが無いんだろう。
0251デフォルトの名無しさん
NGNG色がえ
end if
とかじゃだめ?
0252242
NGNG原因は不明ですが ^^;
急がば回れで、こういうときは、すんなりと開発環境のアンインストールと
再インストールをやってしまうのが時間のロスも神経をすり減らすのも少ないか。
知恵はつかないままだが。
0253デフォルトの名無しさん
NGNGNtQuerySystemInformationの宣言とか引数、戻り値を教えてくだされ
海外サイトで
NtQuerySystemInformation (SYSTEMINFOCLASS sic,
PVOID pData,
DWORD dSize,
PDWORD pdSize);
というのを見つけて、自分で書いてみたのがこれ
Public Declare Function NtQuerySystemInformation Lib "ntdll" _
( , pData As Any, ByVal dSize As Long, ByVal pdSize As Long) As Long
↑ここに入るのは分からん
VB自体始めて日も浅いし、上のも間違ってるかも
ダレか教えて下さい
0254225
NGNGありがとうございます。
ご指摘の通りやってみたのですが、なぜか上手くゆかないときがあります。
上手くゆくときもある、というのが謎なのですが、Altキーは押しっぱなし状態で
keybd_event(vbKeyMenu,0,KEYEVENTF_KEYUP,0) とやっても
次回のGetKeyState()呼び出しのとき、Altキーが押されていると認識
されているみたいなので、
keybd_event(vbKeyMenu,0,KEYEVENTF_KEYUP,0)
keybd_event(vbKeyReturn,0,0,0)
この2つの命令の間で、Altが押されたメッセージが送られるてるのでは
ないかと思ってます。
一気に、リターンだけしか押されていないという状態を送るような便利な
関数はないでしょうか?
0255222
NGNGありがとうございます。
しかし、それどこに書けば良いのですか?
つか、マウスオーバーでwidthが変わるんですか?
0256デフォルトの名無しさん
NGNGMouseMoveで、マウスの位置のxはテキストボックスの幅width
を超えることはありえるかなと思ったもので。
確かスプリットバーを作ったときは、できたような気がする。
0257デフォルトの名無しさん
NGNGそれって、ドラッグの最中だけじゃないですか?
>>222
タイマーでGetCursorPosして判定とかは。
0258デフォルトの名無しさん
NGNGForm2.Left = (Screen.Width - Form2.Width) / 2
Form2.Top = (Screen.Height - Form2.Height) / 2
とやってもうまくいかないんです。どうすればいいのでしょうか?
0259258
NGNGパスワードがない状態では利用できないようにしたいのですが
テキストファイルを読んでパスワードと一致するか比較して
違ったらExit subとする、ぐらいしか思いつかないのですが
もっとスマートな方法はあるのでしょうか?
0260デフォルトの名無しさん
NGNGFormのロードイベントの所にそのコードをコピペして試したけど、
きちんと動いたよ。
ところで、FormのStartUpPositionプロパティで「画面の中央」じゃ駄目なの?
0261デフォルトの名無しさん
NGNG基本的にはそれで良いかと思います。
パスワードを暗号化して保存するぐらいは
やったほうが良いかもしれませんが。
0262デフォルトの名無しさん
NGNGScaleModeはTwipにしてある?
0263クリスタルレポート
NGNG参照先のDB名を変更出来なくこまっています。
下記のコードのように幾つか試しているのですがうまくいきません。
ご存知の方がいらっしゃいましたら、是非教えて下さい。
バージョンは、VB6.0、Crystal Reports8.5
DBは、DB2、バージョン7で、RDO接続です。
初心者ではありませんが、どうかよろしくお願いします。
Dim Report As New CrystalReport1
Public rEn As rdoEngine
Public rEv As rdoEnvironment
Public rCn As rdoConnection
Public rRs As rdoResultset
Public sCnct As String
Public str_SQL As String
Private Sub test_Click()
sSQL = SQL_MAKE() 'SQL作成
sCnct = "DSN=DB2TEST2; UID=ADMINISTRATOR; PWD=******" ' システムDSN
Set rEn = rdoEngine
Set rEv = rEn.rdoEnvironments(0)
Set rCn = rEv.OpenConnection("", rdDriverNoPrompt, False, sCnct)
Set rRs = rCn.OpenResultset(sSQL)
'レコードセットを与える
Report.Database.SetDataSource rRs, 3, 1
'システムDSNを与える
Report.Application.OpenReport("Report1.rpt").Database.Tables.Item(1).SetLogOnInfo (sCnct)
CRViewer1.ReportSource = Report
CRViewer1.ViewReport
CRViewer1.Zoom (2)
End Sub
0264デフォルトの名無しさん
NGNGテキストボックスにマウスが入ったら
キャプチャーして、出て行ったら色直して
解放してやるのが一番無難ではないかと思われ。
0265デフォルトの名無しさん
NGNGPrivate Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Debug.Print "Form_KeyDown"; KeyCode; Shift; GetKeyState(vbKeyMenu)
If KeyCode = vbKeyR And (Shift And 4) = 4 Then
Debug.Print "Enterを押下したことにする"; KeyCode; Shift; GetKeyState(vbKeyMenu)
Call KIS_keybd_event(vbKeyMenu, 0, KEYEVENTF_KEYUP, 0)
Call KIS_keybd_event(vbKeyReturn, 0, 0, 0)
Call KIS_keybd_event(vbKeyMenu, 0, 0, 0)
ElseIf KeyCode = vbKeyReturn And (Shift And 4) = 4 Then
Debug.Print "フルスクリーン"; KeyCode; Shift; GetKeyState(vbKeyMenu)
ElseIf KeyCode = vbKeyReturn And (Shift And 4) <> 4 Then
Debug.Print "Enter押下時の処理"; KeyCode; Shift; GetKeyState(vbKeyMenu)
End If
Exit Sub
どうもGetKeyStateは254さんの思ったとおりの動作をしていないようです。
使用しないほうがよさげ。
0266デフォルトの名無しさん
NGNGScaleModeは関係ないかと
0267デフォルトの名無しさん
NGNG確かに。スマソ。鬱氏。
0268デフォルトの名無しさん
NGNG>ところで、FormのStartUpPositionプロパティで「画面の中央」じゃ駄目なの?
これで解決しました。勉強不足でした。
>>261
>パスワードを暗号化して保存するぐらいは
暗号化とはどういうことをするのでしょうか
初心者ですので、もしできれば詳しく説明してただければと思います
レスサンクスです
0269デフォルトの名無しさん
NGNG初心者だからと行って何でも許されるわけではない。
0270デフォルトの名無しさん
NGNGパスワードを逆にしたり全バイト1足したり
Xor使ったり色々。
要は暗号化後には暗号前が分からなくすれば良い。
どう実装するかは自分で考えようね。
0271デフォルトの名無しさん
NGNG接続しているデータベース・テーブルが更新・追加等された際の
イベントってあるんでしょうか?
これがわからない為に、ロード時にadodb.connectionを
バインドして、タイマー毎にadodb.commandでsp_whoやsp_lock、自前の
ストアドを走らせて確認し、イベントを発生させています。
ここが出来れば、ADO関係はActiveXDLLにして
実行プログラム自体にはraiseeventしてやるだけで
済むので大分楽になるなーっていう手抜きしたさのみでこれに
ついて調べています。
日本語が不自由ですみませんがこの辺実践してる方
いましたらご教示ください。お願いいたします。
0272271
NGNG0273268
NGNG暗号化の目的がよく理解できないんですが
例えばパスワードが1234としたら
テキストファイルには4321と書いて保存すると言うことですよね
1234と暗号化しないで書いても特に不都合はないように思うのですが
0274デフォルトの名無しさん
NGNGパスワードなんて物騒なもんが平文でその辺に置いてあることの
危険性が理解できない奴の作ったプログラムなんか使えねえよ。
0275デフォルトの名無しさん
NGNGXOR演算でやってみたけど、いまいちうまくいかないです。
日本語を暗号化するときも、表示可能な文字に暗号化したい。
暗号前の文字列が長さ0の時でも、暗号化ルーチンを見破られないようにしたい。
自前より、APIのCryptを使ったほうがいいのかな。
んじゃあ、オマエのインターネットのIDとパスワード教えろ(w
0277デフォルトの名無しさん
NGNG例えば、8bit×3をxorしたあと、6bit×4として取り出せば必ず表示可能な
範囲に収まる。
0278261
NGNGunixのパスワードなんかは暗号化して保存しているから
その辺を調べてみると参考になるかもしれません。
簡単なサンプル。
'復号化は自分で作ってね。
'パスワードが正しいか判定するだけなら、ユーザが入力したパスワードを
'暗号化して、ファイルに保存してある暗号化パスワードと比較すれば判定
'できるから、必ずしも復号化は必要じゃないけどね。
Function crypt(src As String) As String
Dim l As Long, i As Long, ret As String, c As Long
Rnd -123
l = Len(src)
For i = 1 To l
c = Asc(Mid$(src, i, 1)) Xor Int(Rnd * &H10000)
ret = ret & Right$("0000" & Hex$(c), 4)
Next
crypt = ret
End Function
0279デフォルトの名無しさん
NGNG>暗号前の文字列が長さ0の時でも、暗号化ルーチンを見破られないようにしたい。
長さが一定以下なら末尾にゴミを突っ込んでから暗号化するとか。
0280275
NGNGDB接続のユーザ名とパスワードをIniファイルに保存したかったもので。
0281265
NGNG正)keybd_event
ウツ...
0282263クリスタルレポート
NGNGお騒がせして申し訳ありませんでした。
0283デフォルトの名無しさん
NGNG文字列を比較してきたいんですけど、うまくいきません。
MidB$とかやっても内部でUniCodeしてるみたいなんで。
助けてください。
0284デフォルトの名無しさん
NGNGdim wk() as byte
wk()=Strconv( "文字列",vbFromUnicode )
後はバイト配列を一つづつ比べれ。
バイト配列の最大はubound(wk())とかやで。
0285デフォルトの名無しさん
NGNGファイルを読み込むにはInputかGetを普通使うが、
どちらを使うかでUnicodeとANSIに分かれる。
注意しようね。
0286デフォルトの名無しさん
NGNGVBでできますか?
0287デフォルトの名無しさん
NGNGできる。API必須。
0289286
NGNGできれば、モスウコ氏具体的にやり方など教えてくださいませんか・・・?
0290286
NGNG0291286
NGNG0292287
NGNGまず、タスクトレイにアイコンを登録するために
Shell_NotifyIconが必要。
次にタスクトレイのクリックを取得するために
サブクラス化が必要。
サブクラス化には
SetWindowLongとCallWindowProcが必要。
んで、最小化の時にタスクトレイのアイコンを表示。
タスクトレイのクリック時にフォームを表示。
・・・ってな感じで。
サブクラス化もタスクトレイのアイコンの登録の仕方も
ネットに山ほどサンプルあるからGoogleあたりで検索してみな。
あと、落ち着け。(w
0293デフォルトの名無しさん
NGNGキーボード入力を取得するにあたり、それが「確実に」
キーボードから入力されたかどうかを判定する方法はあるでしょうか?
仮想キーコードを独自に送出するツールなんかからの
入力は無視したいんですが。
GetKeyStateは試してみましたが、うまくいきませんでした。
なんかハードウェアを直接制御するしかないのかなぁとか思ってるんですが。
(そのやり方もよく分かってませんが・・)
0294デフォルトの名無しさん
NGNGマルチスレトにするには、どのAPIを使えばいいですか?
教えてくれたら人は、売れたらお金をあげます。
あと、デュアルCPUのAPiも教えてください。
0295268
NGNGサンプルまでありがとうございます
コピペして試しました
ただ、一つだけ
Rnd -123
これの意味がわからないです
あとは調べたら理解できました
0296261
NGNG乱数系列を初期化しています。
その行が有る時と無い時で
debug.print crypt("ABCDE") , crypt("ABCDE")
の出力を見比べると解ると思います。
0298ラーニング
NGNGアクセスで作成したDBを操作したいのですが、どうコーディングしたらよいのか
さっぱりわかりません。
参考書はBDグリットの使い方しか、載ってません。
具体的にしたいことは
1.ファイルをオープンし、データを追加する。
2.ファイルをオープンし、データを修正する。
3.ファイルをオープンし、データを削除する。
(なんそ命令が違うらしいと聞いたので)
4.クローズ
すいません、どなたか教えてください。
0299デフォルトの名無しさん
NGNGそのやりたい操作とDBGridに何の関係が...?
0300ラーニング
NGNGフォームでデータが関連付けできるから、楽なんです。
しかし、ラーニングではできない(プロフェッショナルならできるんだけど)
ので、教えてもらいたいんです。
0301デフォルトの名無しさん
NGNG0302ラーニング
NGNGDBグリッとがあれば、オープンもクローズもしないで
DBへ書き込んで、次のレコードへブックマークセットして・・・
みたいなコーディングで終わるんでしょうが、
1対NでN側のDBをDBグリッと無しで操作しようとする場合、
DBオープンして内容を操作してクローズするといった処理が必要になると
思うのですが、参考書はDBグリッとの使用方法しか載ってないんですよね。
だから、知っている人がいれば、教えてもらえたらなと・・。
0303ラーニング
NGNGアクティブXの機能は使えない。いたーいです。
0304デフォルトの名無しさん
NGNGちょっと感動。
0305
NGNGおいらも使ってるよ。金が無かったんだよ。激しく後悔。
0306デフォルトの名無しさん
NGNGLearningEditionって、ほんと何もできないのね…。
使ってても学習になるのかどうか疑問だ。
すまんね、ADOもDAOも使わずにDB操作したことないんで
役に立てそうにないわ。
0307301
NGNG...そうか。疑ってスマソね。
DBGridを使う場合、普通はデータコントロールを対にして使う。
折れはSQL鯖との組み合わせしか知らないけど一応参考にしてくれ。
まず、グリッドと対になるデータコントロール(ADODC)をフォームに貼り付ける。
んで、DBGridのDataSourceプロパティには連結するADODCを指定する。
ADODCには、接続するDBやテーブルに関するプロパティを設定してやる。
実行すると、ADODCの設定に応じてDBへのConnectなどが行われて
結果がGridに反映される。
こんな感じ。
0308デフォルトの名無しさん
NGNG●カスタムコントロールが使用不可
●ネイティブコンパイルが使用不可
●配布不可
だったっけ?
うーむ・・・確かにきついな。
んで、>>298
DAOは使っていいんだよね?
あと、参照設定って使えたっけ?
使えるんなら参照設定で
「Microsoft DAO 2.5/3.0・・・」
をチェックして、
Function a()
Dim DB as DAO.DataBase,RS as DAO.Recordset
Set DB=DAO.OpenDataBase("C:\Hoge.mdb")
Set RS=DB.OpenRecordSet("HogeHoge")'テーブル名
MsgBox(RS!HogeHogeHoge)'フィールド名
RS.Close
Set RS=Nothing
Set DB=Nothing
End Function
は駄目?
0309デフォルトの名無しさん
NGNGもらったのですが、どうもうまくいきません。
↓サンプル(JAVA)
http://hp.vector.co.jp/authors/VA006860/hako/sample1.html
サンプルはJAVAですが、どうしてもVBかVCで作りたいのです。
なにがうまくいかないか、というと、駒をマウスでドラッグアンドドロップで
動かす時に他の駒の上に重ならないようにしたいのです。
ドラッグアンドドロップ中のオブジェクトの動きって制限できるものなの
でしょうか?私はFormの上にImageコントロールを置いているのですが、
そのやり方自体、間違っているのでしょうか?
どなたかどうか教えてください。
0310ラーニング
NGNG正味8日。子供がいるので時間的にきつかった。
VB初めてだし。
どうしても、DBの直接操作の部分がうまくいかない。
オープンができても、フィールド名が取れなかったりと、
参考書もプロフェッショナル版の内容で書いてあるから、
どれが使えて、どれが使えないか判らない。
エラーがでても、自分が悪いのか、サービスされてないのか、
それを解明するのにかえって時間がかかりました。
しかし、プロフェッショナルは8万。ラーニングが2万4千。
う〜ん。価格の差があるだけのことはあると思いました。
0311ラーニング
NGNGありがとうございます。
オープンは何とかできるようになりました。
現在フィールド名が認識されないので、作業がストップしてます。
0312デフォルトの名無しさん
NGNGこないだレスした者ですが、そのやり方自体は間違ってないです。
置けるか置けないか判定するのに、XY座標の2次元配列を使います。
で、Masu(1 to 4, 1 to 5)だと、娘がMasu(2, 4)まで来たらゴール。
0313デフォルトの名無しさん
NGNGうーん・・・。
サンプル→http://hp.vector.co.jp/authors/VA006860/hako/sample1.html
みたいに、「移動できる方向」も判定したいのです。
ドラッグアンドドロップだと、とりあえず置けはしないけど、
どこにでも行けてしまう!(MouseDownイベントで座標取得、後ドラッグアンドドロップ)
サンプルのJAVA解析しろやゴルアって話もあるんですが、
あいにくJAVAを知らないので・・・。
これがVBの限界なんですかね・・・。
0314312
NGNG置けないところにいったん置いてから、「そこには置けません!」で
元に戻すのじゃなくて、最初からドラッグの方向を制限したいわけね。
DragOverイベントで、マウスの座標を監視するだけよ。
0315313
NGNGなるほど、そういう方法があったのかー・・・・。
勉強になりました!
0316301
NGNGちなみに、VBでゲーム製作なら、コントロールは何も使わずに
Formに直接Bltとかしてやったほうが細かく制御できるよ。
コーディング自体はちょっとメンドくなるけど。
0317309
NGNG>Formに直接Bltとかしてやったほうが
それってBitBlt関数のことですね。
今、MSDN見て初めて知りました。
確かに大変そうだけど、VBでやるなら
しょうがないか・・・・・。
0318デフォルトの名無しさん
NGNG0319192
NGNGすごく遅れましたが、ありがとうございました。
フォントを変えるたび値を設定しなおしてやりました。
それでも若干縮んでしまいますが・・・。なんでなんでしょうねえ
0320デフォルトの名無しさん
NGNG一応BitBltはWindowsの基本なんで。
慣れるとむしろそっちの方が簡単だよ。
今更コントロールでゲームを作れっていわれても
ピンとこない。(w
0321デフォルトの名無しさん
NGNG何を買うのがベスト?
Microsoft Visual Basic 6.0 Learning Edition
とか買おうかケソトウ中。
0323デフォルトの名無しさん
NGNG上でもLearning使って難儀してる人いたよ。最低でもProにしとけ。
高い!って思うなら、Delphiとかは?
Personalは確かに機能限定はあるけど、なにしろタダだし...
0324デフォルトの名無しさん
NGNGマウスカーソルの移動をさせる動作が、どうしても
うまくゆきません。
Call mouse_event(MOUSEEVENTF_MOVE, x, 0, 0, 0)
とやったら、Xピクセルほど移動してくれなくてなんか変な場所に
カーソルが行ってしまったりします。
ともかく、ディスプレイ上の(x,y)の座標にカーソルを移動させる方法
を誰かお願いします。
0325321
NGNG>323
サンクスコ
何か作ったらウプするよ。
0326314
NGNGドラッグで処理しようっていうこと自体がどうも間違いだったみたい(汗)。
MouseMoveは使わない方がいいよ。コードによってはスタック不足になりやすいから。
DragOverもふさわしくなかった。動けない方向へは動けないようにするために、
1ドットでもマウスの移動を検知したら、ドラッグを即キャンセルするんだけど、
斜めの場合、XY方向のどちらを重視するかとか、余計な処理が必要になる。
で、解決法だけど、Image上のクリックだけで空いてる方向に動かすのはどう?
スライドパズルの場合、動ける方向はほとんど決まってるわけだから。
ただし、1コマ大が左右または上下の2方向に動ける場合とかは、
そのつど、Imageのどちら半分がクリックされたか判定すればオッケー。
0327314
NGNGx座標と変な場所の法則性は?
xの型と値は?
ピクセル座標系に変換してるかな?
これが一番間違いやすいと思う。
0328箱入り娘作成中
NGNGImage上のクリック・・・・。
確かにBitBltを使いこなすのは初心者の私には
難しいかもしれない。
でもー、サンプルのJAVAのソース↓
http://hp.vector.co.jp/authors/VA006860/hako/HakoApplet.java
だと、MouseDownとかMouseDragとかいう関数が・・・。
JAVAアプレットだと作りやすいのかな?
よくよく考えたらWindowsアプリじゃないしー。
同じ方法でやろうとしてたって事が間違ってた・・・・。
うんうん、理解、理解。
0329箱入り娘作成中
NGNGImage上のクリック・・・。
そっかー、そのやり方がいまのところ
ベストかもしれないです。
BitBltはVB初心者の私には難しすぎるっ
でもー、サンプルのJAVA(アプレット?)は
mousedownとかmousedragとかあるんですけど、
やっぱり、全然作り方が違うのかなー。
よくよく考えるとJAVAのサンプルはWindowsアプリじゃないし、
やっぱりマウスの制御でやろうというのは方向性が
間違っていたんだー。うんうん、理解、理解。
0330デフォルトの名無しさん
NGNGText1に手打ちで「C:\Windows\aaa」などとパスを書いて、
そのフォルダが有るか無いか判断するにはどうしたら良いですか?
お願いします。
0331ヒッキー@プログラミング
NGNGDir関数を使われてはどうでしょう?
0332なつかしいね〜
NGNG私もVB6.0PROを買いたかったんだけど
アカデミックと通常版の値段を見て買う気
をなくした。
別に金が無かったわけじゃないけど、ムカツイテ
Delphi6.0PROを買ったよ。
0333デフォルトの名無しさん
NGNGあと7000円ほど出せばEntも買えましたけど。
0334デフォルトの名無しさん
NGNG0335デフォルトの名無しさん
NGNG安くしているんじゃなくて、それがコスト+儲けなんだよ。
商用利用に使えるやつ(通常版)は、そのソフトを使って儲けるわけだから高いんだよ。
0336ひどいよマイクロソフト
NGNG0337335
NGNG0338デフォルトの名無しさん
NGNGガキを洗脳するのが重要なんだよ。
将来の大事な金づるだ。
0339ひどいよマクロメディア
NGNG0340デフォルトの名無しさん
NGNG0341箱入り娘作成中
NGNGほとんど同じ内容でカキコしてしまった。
スマソ
0342ひどいよマイクロソフト
NGNG0343デフォルトの名無しさん
NGNGなんてMSがやるわけないだろゴルァ
金がある奴からは搾り取る
ガキはどうせ払えないんだから、他社より安くして洗脳する
そのうちアカデミックフリーとかやりだすかもな
0344VB使い
NGNG今日は休みなんでサンプル作ってみた。
フォームにコマンドボタン貼り付けて
フォームにこのコードを貼り付けること。
Private Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, _
ByVal DX As Long, ByVal dy As Long, ByVal cButtons As Long, _
ByVal dwExtraInfo As Long)
Private Const MOUSEEVENTF_ABSOLUTE = &H8000
Private Const MOUSEEVENTF_MOVE = &H1
Private Sub Command1_Click()
Dim x&, y&
x = 1200: y = 300 '移動したい座標
mouse_event MOUSEEVENTF_ABSOLUTE Or MOUSEEVENTF_MOVE, _
x * (65535 / (Screen.Width / Screen.TwipsPerPixelX)), _
y * (65535 / (Screen.Height / Screen.TwipsPerPixelY)), 0, 0
End Sub
もしかしたらもう解決済みか?(w
昨日の話だしなあ。
0345>
NGNG0347
NGNG2つのキャラクターとかがぶつかったときの
あたり判定とかってどうやって設定したらいいんですか?
0348デフォルトの名無しさん
NGNGhttp://www.microsoft.com/japan/developer/vstudio/
毎日チェックせれ。
0349314
NGNG自前ドラッグのサンプル。フォームにイメージを1個貼って実行。
右方向に1コマ分しか動かせないという条件です。
Dim DragX As Single, DragY As Single
Dim OrgX As Single, OrgY As Single
Dim MoveFlag As Boolean
Private Sub Form_Load()
Image1.Appearance = 0 '' フラット
Image1.BorderStyle = 1 '' 実線
OrgX = Image1.Left: OrgY = Image1.Top
MoveFlag = False
End Sub
Private Sub Image1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
MoveFlag = True '' ドラッグ開始
DragX = X: DragY = Y
End Sub
Private Sub Image1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim NowX As Single
If MoveFlag = True Then '' ドラッグ中?
NowX = Image1.Left + X - DragX
If NowX >= OrgX And NowX < OrgX + Image1.Width Then '' 範囲内?
Image1.Move NowX, OrgY
End If
End If
End Sub
Private Sub Image1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
MoveFlag = False '' ドラッグ終了
End Sub
0350VB使い
NGNG基本は矩形(四角形)処理。
APIにもそれ用の関数がある。
つまり、矩形1と矩形2とを比べて、
重なっていたらヒット。
重なってなかったらはずれ。ってな感じで。
キャラごとに矩形をいくつか設定すると
複雑なキャラでも結構それなりに使える。
格闘ゲーム系も同じやり方でやってる。はず。(w
0351デフォルトの名無しさん
NGNGHotTrackingプロパティの説明に
「マウスすプロパティ・・・」と書かれているんですけど、これが普通ですか?
Microsoftに言ったら何かもらえますか。
0353デフォルトの名無しさん
NGNGコンパイルする度に.obj生成してlinkしてcleanしてるような気がする
C2.exeとLink.exeの引数解ればnmake.exeで
コンパイルする事は可能ですかね?
教えてちょ
0354>345
NGNG0355デフォルトの名無しさん
NGNGデータへのアクセスというところででてきた、フレキシブルグリッドというコンポーネント
が使用できなくて困ってます。
プロフェッショナルをインストールしてあるのに、
フレキシブルグリッドを使用するためのライセンスがありませんといわれます。
なぜ??
0356314
NGNG2時間ぐらいで、例のJavaアプレットをVBに移植しました。遊べます。
コマはまだ色の四角形ですが、GIF画像ファイルを入手すれば
即置き換えられます。
マウス座標の取得がFormと別々になるので、Imageコントロールは使わず、
Formだけにして、非表示のPictureBoxからPaintPictureします。
Java固有のスレッドやイベントの制御コード部分は無視してかまいません。
ほか
1.あのままではマウス移動の判定が鈍いので、改良。
2.手数を表示。←これは必須
0357箱入り娘作成中
NGNGん?板チェックしに来たら、もう出来てる?!
私はまだ完成してません。
もしかしてImageコントロールをFormにペタペタ貼ってた
のが、ただでさえ初心者の私をさらに追い込んでたとか・・・。
そんな気がしてきた!
0358とて〜も初心者
NGNG私のパソコンでは(VAIOノートのPCG-FX33G/BP)DLLがないとか
言われたことはありません。
DLLを入れた記憶はないのですが、メーカー製のものってDLLとかが標準で
入ってるってことですか?
0359デフォルトの名無しさん
NGNG0360箱入り娘作成中
NGNG作ってる私も解けません。
0361箱入り娘作成中
NGNGファイルのパスは合ってるのに。なんで?
Private Sub Form_Load()
Dim Pic_Waku As Picture
Set Pic_Waku = LoadPicture("C:\〜省略〜\koma0.gif")
frmMain.PaintPicture Pic_Waku, 0, 0
End Sub
0362デフォルトの名無しさん
NGNGfrmMainにじかに書いているわけですね。
恐らくfrmMainのAutoRedrawがFalseになってるせいです。
この辺はWindowsの仕組みを理解していないとわからない所ですね。
0363箱入り娘作成中
NGNGくそー!!!
めちゃくちゃくやしい!
(と心の中で思い、太股をこぶしで殴打)
0364VB使い
NGNGVB6.0で作ったEXEをWindowsで動かすときに最低限
用意しなければいけないものはMSVBVM60.DLLだけです。
(一応VB6JP.DLLも。無くても文字化けしながら一応動く。)
標準でついているもの以外を使った場合はそれ用の
DLLやらOCXやらがいるけど、使ってないならいりません。
そしてMSVBVM60.DLLが標準でついているOSもあり、
WinMe,2000,XPです。(なぜかVB6JP.DLLはついてない。)
上記OS以外でDLLがないという文句を言われないメーカー製PCは
メーカーがトラブルを避けるために入れているのでしょう。
0365デフォルトの名無しさん
NGNG文字列として取り込みたいのですが、
VBヘルプをみるとダブルクォートしか文字列として対応してないみたいです。
何か良い方法がありますか?
レコードを一文字ずつばらしてカンマを検出し、
文字列の両端のシングルクォートを削るしか、VBでは方法がないのでしょうか?
0366デフォルトの名無しさん
NGNGSplit関数使ってみれ。
0367365
NGNGそんな便利な関数があったんですね。
ありがとう
0368366
NGNG低脳ワザと言われそうな ex...
データ 'TEST_1','TEST_2' ってなってたら
Dim strX() As String
strBuf = "'," & "'TEST_1','TEST_2'" & ",'"
strX = Split(strBuf, "','")
でどうよ?
0369366
NGNG添え字最低値、最大値はそれぞれLBound、UBound関数で判る。
但し、空要素の配列で何かしようとするとエラーが発生するので
自前で空配列を調べるような関数を作っておくべし。
0370デフォルトの名無しさん
NGNG[コンピュータの管理(ローカル)]-[システムツール]-[共有フォルダ]を右クリックして現れるメニューの
[すべてのタスク→]-[コンソールメッセージの送信...]をVBで制御する方法はありませんか?
これを使えれば、他のマシンと色々交信できて楽しそうなんですが。。。
0371ヒッキー@プログラミング
NGNGコマンドプロンプトから「net send」コマンドを
実行してはどうでしょうか。
使い方は、net /? で調べてみてください。
0372370
NGNGこれなら簡単にいじれますね。ありがとうございます。
0373デフォルトの名無しさん
NGNGどうしたらいいでしょうか。できればドメインごとに取得したいです。
0374デフォルトの名無しさん
NGNG全世界とかいうなら無理だと思うが、とりあえずやってみ
IPアドレスをしらみつぶしに調べる(当然特別なIPアドレスは省く)
0.0.0.0 〜 255.255.255.255
とりあえずpingでも飛ばしてみ。
http://www.geocities.co.jp/SiliconValley-SanJose/3279/scrap.html
http://w3.one.net/~kevinw/VB/s_modules.htm
IPアドレス→ホスト名は、このあたりを参考に。
http://www.mitene.or.jp/~sugisita/family/papa/vb/api_net.html
おまけのwhoisはこのあたりを参考に。
http://www.vbip.com/winsock/winsock_whois.asp
0375とて〜も初心者
NGNG0376デフォルトの名無しさん
NGNGとりあえず WinSock でもいじってみれ。
0377デフォルトの名無しさん
NGNG完全匿名“Freenet”のクローンでも作ってよ。
ソースも公開されているし。
「freenet0.4+frostスレ Key1」
http://tmp.2ch.net/test/read.cgi/download/1007824064/
0378箱入り娘作成中
NGNGすいませ〜ん!356さん
>1.あのままではマウス移動の判定が鈍いので、改良。
どんな風に改良したんですか?
まだ、完成してません・・・・。
0379デフォルトの名無しさん
NGNG1.移動ベクトルの傾きを計算して、XとYのどちらを優先するかをまず判断。
実際にはAbsで絶対値の大小比較をするだけ。
今度は敏感すぎて、2マス連続で移動しちゃう(笑)。
2.マウスボタンを離した点で判定してたのを押し始めの点で判定。
困ったこと。ふつうは1マスずつ移動させるのですが、それだと瞬間移動みたいだから、
あの作者はわざわざ半マス移動方式にしたんでしょうね。
でも、手数のカウントが面倒です。いまは単純に2で割ってるだけです。
ほか、改良点としては効果音をつけました。
0380デフォルトの名無しさん
NGNGGetGlyphOutline()でできるようなこと書いてあったのですが
1.APIビュワーからコピペしたものを使おうとしたら
「ユーザー定義型は定義されていません」となってしまいます。
("lpgm As GLYPHMETRICS"と"lpmat2 As MAT2"がひっかかってる?)
2.引数になにを入れたらいいかわかりません(汗
どなたかご教授お願いします。
0381箱入り娘作成中
NGNG移動ベクトルの傾き・・・
押し始めの点で判定・・・・
もうちょっと勉強してから出直してきますっ
0382デフォルトの名無しさん
NGNGむずかしく書いちゃったけど、ここのとこです。
If y - oldy > 32 Then Call DownKoma(x, y)
これを
If Abs(x - oldx) > Abs(y - oldy) Then でまず判定して、
If y > oldy Then Call DownKoma(oldx, oldy)
移動は1ドットでもオッケー(笑)。
ボタンを離した点と書いたのはカン違いで、ドラッグ中の点でした。
だから、そのままでもいいのかも。
GIF画像は、サイトにあったのを使いましたが、koma12.gifは
「You Win!」って大きく書いてあるだけなので、パス。
0383デフォルトの名無しさん
NGNG.wavファイルのループ再生を行うにはどうすればいいのでしょうか。
現在標準モジュールに
Declare Function sndPlaySound Lib "winmm.dll" _
Alias "sndPlaySoundA" (ByVal lpszSoundName As String, _
ByVal uFlags As Long) As Long
Public Const SND_SYNC = &H0
Public Const SND_ASYNC = &H1
Public Const SND_NODEFAULT = &H2
Public Const SND_LOOP = &H8
Public Const SND_NOSTOP = &H10
フォームに
Private Sub Command2_Click()
Call sndPlaySound("A:\中略\game.wav", SND_LOOP)
End Sub
と書いているのですが、エラー音しか出ないのです。
どこが間違っているのか教えてやってください。
0384デフォルトの名無しさん
NGNGヘルプから抜粋:
指定されたファイルが見つからなかった場合、PlaySound関数はデフォルトの
サウンド(一般の警告音)を鳴らそうとします。
pszSoundパラメータで指定したサウンドは、使用可能な物理メモリに収まる
サイズでなければなりません
この辺で引っかかってませんか?
0385373
NGNGネットワークに繋がっているとは、単にネットワークコンピュータで
表示されるパソコンのことです。
やりたいことは、たとえばWORKGROUPにぶら下がるPC名の一覧が欲しいのです。
それで、さらにWORKGROUP以外にもグループがあったとしたら、そちらの
PC名もほしいのです。
0386VB5
NGNG標準のコントロールでは何を使うのが一番いいんでしょうか?
0387ヒッキー@プログラミング
NGNGDataGridかDataBoundGridなんかはどうでしょうか。
0389デフォルトの名無しさん
NGNGMicrosoft DataGrid Control 6.0。
0390デフォルトの名無しさん
NGNGいつ出んだろ?
0392デフォルトの名無しさん
NGNGDataGridはVB6です。
VB5なら Data Bound Grid かな
0393デフォルトの名無しさん
NGNGWNetEnumResource()API、WNetOpenEnum()APIあたりで
昔やった記憶があるよ。
0395質問です。
NGNG今度、中途の就職活動のSEの求人先で、「意欲はあるのは分かるが
何か言語試して欲しい」と言われました。それでPC環境的にもてっと
り早いのがVBではないかと、言われたのです。基本は取りあえずわか
りそうなのですが、何か何でもいいから作って欲しいと言われた課題内
容をどうしたものかと考えています。
VBの初心者として最初に組めたら良い、メルクマール的な、プログラム
って何でしょうか?教えて下さい。
研修で良く初心者に課題として課される者でも良いのですが・・・。
よろしくお願いします。
0396デフォルトの名無しさん
NGNG連続で二回以上送信すると当然のようにうまくいきません。
画面を表示しない仕様のため、標準モジュールで処理を行っています。
(fromはVisibleをFalseにしています)
うまく一回ずつ間を空けるように出来ないでしょうか。
Win2000
0397396
NGNGWin2000のVB6.0を使ってます。
0398デフォルトの名無しさん
NGNGおめでてーな。
0399デフォルトの名無しさん
NGNG本気でそんな質問しないよね?
0400デフォルトの名無しさん
NGNG小・中学生、高校生、バカな大学生が対象なら、
とりあえず、「日付と時刻のプロパティ」のようなものを
標準のコントロールだけで作らせる。
0401デフォルトの名無しさん
NGNGようにするにはどうすればよいのでしょうか?
WindowStateを変更するとエラーが発生して、
標準にしか設定できません。
0402とて〜も初心者
NGNGそりゃー「HelloWorld」に決まりでしょ
0403デフォルトの名無しさん
NGNGなんかデータベースにつないでInsert/Update/Deleteなどを一通りやってみたら?
SEってことだから設計能力も問われると思われ。
はっ、マジレスしてしまった
0404質問です。
NGNG全く未経験という場合には課題を課しているそうです。
0405とて〜も初心者
NGNG課題ができないと落とされるってワケか?
0406質問です。
NGNG事らしいです。しかし、課題が何でも言いと言われても・・・。テキストには
時計プログラムとか載っていますが・・・。
0407デフォルトの名無しさん
NGNGネタかと思ったんだが・・・。
その会社はオープン系なんか?
じゃ、403さんの言うとおりのDBとの連携なんかが
いいんじゃネーノ?
IEコンポーネント貼ったブラウザもどきとかもいいかもな。
ちなみに俺が前受けた会社はBMP画像の拡大をするもの
とかが課題だったな。ゲーム系だが。
クソまじめにラグランジュ補完とかやったな。落ちたけど。
0408407
NGNGしかし、395さんよ、SEとして成功したいならさ、
提案能力も問われるわけだろ?
「そういう要求に対してどういう提案が出来るか」が
その会社の人間が見たいとこだろうと思うぞ。
ここで、聞いて参考にするのもいいけど、
やっぱさ、自分で考えることに意味があるんじゃないの?
0409デフォルトの名無しさん
NGNGdocファイル文章内すべて文字「XXX」検索して、置換するというプログラムを作ろうとしているのですが、
Findメソッドを使用し、Do loopで末尾までぐるぐる回そうとしたのですが、
文章の末尾どう取得してよいかわかりません。
Do loopで文章の先頭から末尾まで回すときは、どんな条件にするればいいでしょうか?
0410デフォルトの名無しさん
NGNGSelection.WholeStory
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = ""
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindAsk
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchByte = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = False
.MatchFuzzy = True
End With
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "キーワード1"
.Replacement.Text = "キーワード2"
.Forward = True
.Wrap = wdFindAsk
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchByte = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = False
.MatchFuzzy = True
End With
Selection.Find.Execute Replace:=wdReplaceAll
0411デフォルトの名無しさん
NGNGありがとうございます。
[XXXA1234]を[ZZZA1234]ではなく[ZZZ12A34]
というような置換をしたいのですが、この場合は
1.一行アクティブして、
2.INSTR関数で「XXX」を検索し
3.アクティブ行を置換
という順序で考えています。
説明不足ですいませんが、お願いします。
0412デフォルトの名無しさん
NGNGどうしてわざわざ1行ずつやるの?
INSTRで文書全体検索すればいいじゃん。
0が返ってくるまで。
0413デフォルトの名無しさん
NGNGな、なんといっていいか・・・
あ、ありがとうございます。
0414デフォルトの名無しさん
NGNGExcelのセル内改行はvbLfのようだけど 他はvbCrLfでなくても改行されます。
じゃあ vbNewLine じゃなくてもWindowsでは勝手に判断してくれるの?
0415デフォルトの名無しさん
NGNGttp://pc.2ch.net/test/read.cgi/tech/1000523122/193-197
0416デフォルトの名無しさん
NGNGレスありがとうございます。
リンク先の
>vbNewLine : 一応プラットホームに依存しない(事になってる)コードを書ける。
>まあ気休めだけどね。
は見ました。
聞きたかったのは
vbNewLine じゃなくてもWindowsでは勝手に判断してくれるの?
と書いたように、vbLf,vbCrを使用してもWindowsでは
改行してくれるので意識しなくてもようのかとか、vbLfでないとだめな場合とかをお聞きしたかった
のです。
0417416
NGNG意識しなくてもよいのか とか
0418デフォルトの名無しさん
NGNG勝手に判断はしてくれない。
有名なところでは、メモ帳はvbLfやvbCrで改行しない。
逆に、vbCrLfでダメな場合は例外的ケースで、そんなに多くないはず。
それだけ覚えておけばいい。
もちろん、いつかは仕様変更されると思う。
だから、vbNewLineを使っておけば、いちおう安心ってことね。
0419質問です。
NGNGまあ、営業力とか問われるのは分かっています。
そう言う業界だったんですが前職。
あからさまに聞けないことも2chなら、まあ聞いてもイイかなと思いまして。
結局決めるのは自分だってのは分かってます。
0420null
NGNGフリーのメール送信dll等も使わず、mapiを使わずに、
メール送信ってできますか?
0421デフォルトの名無しさん
NGNGできるっしょ
0422デフォルトの名無しさん
NGNGどうやってやるのか、是非教えて頂きたい。
0423デフォルトの名無しさん
NGNGmsgbox"bigin"
'たとえばここで一秒待ちたい
msgbox"end"
0424デフォルトの名無しさん
NGNGTimer関数使ってDo〜Loopとか。
0425デフォルトの名無しさん
NGNGDeclare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
して
Sleep 1000
とかでどうです
0426デフォルトの名無しさん
NGNG>>425
さんきゅです。試してみます。
0428デフォルトの名無しさん
NGNGWinsockコントロールを使うか、いやならAPIを使えばいい。
WSAStartup
socket
connect
send
recv
closesocket
WSACleanup
あたりを調べてみて
0429ヒッキー@プログラミング
NGNGTimer1.Enabled=True
か
Form1.TIMER1_TIMER
でどうでしょうか。
0430424
NGNG>>428-429
APIやTimerコントロール使いたくないなら
Sub main()
Dim ldblTimer As Double
MsgBox "Hoge"
ldblTimer = Timer
Do
If ldblTimer + 1# < Timer Then '1秒経過したら
Exit Do
End If
Loop
MsgBox "HogeHoge "
End Sub
正確ぢゃ無いけど。
0431ひよこ名無しさん
NGNGVBでテキストファイルを読み込む際、Tabも一緒に読み込むにはどうすればいいんでしょうか?
Open filename for input as #1からInputステートメントで読み込むと、
データに含まれるTabが無視されて困ってます・・・
0432デフォルトの名無しさん
NGNGline input
ttp://www02.so-net.ne.jp/~hat/mailer/rfc.ja.html (日本語訳)
ttp://ash.or.jp/ash/tips_prog/htm/telnet_smtp.htm
コードはこんな感じ。ものすごく単純化してあるし、まちがって
いるかもしれないので、このまま使わないでください。
あくまでも参考にということで。
------ここから
Private Sub Send()
Dim strHost As String
Dim strDomain As String
Dim strFrom As String
Dim strFromName As String
Dim strTo As String
Dim strSubject As String
Dim strData As String
With objWinsock
.RemoteHost = strHost
.RemotePort = 25
.Connect
Do While .State <> sckConnected Or Left$(mstrBuff, 3) <> "220"
DoEvents
Loop
.SendData "HELO " & strDomain & vbCrLf
Do While Left$(mstrBuff, 3) <> "250"
DoEvents
Loop
Do While Left$(mstrBuff, 3) <> "250"
DoEvents
Loop
.SendData "RCPT TO: " & strTo & vbCrLf
Do While Left$(mstrBuff, 3) <> "250"
DoEvents
Loop
.SendData "DATA" & vbCrLf
Do While Left$(mstrBuff, 3) <> "354"
DoEvents
Loop
.SendData "From: " & strFromName & " <" & strFrom & ">" & vbCrLf & _
"Date: " & Format(Now, "ddd, d mmm yyyy hh:mm:ss") & " +0900 (JST)" & vbCrLf & _
"To: " & strTo & vbCrLf & _
"Subject: " & strSubject & vbCrLf & _
vbCrLf & _
strData & vbCrLf & _
"." & vbCrLf
Do While Left$(mstrBuff, 3) <> "250"
DoEvents
Loop
.SendData "QUIT" & vbCrLf
Do While Left$(mstrBuff, 3) <> "221"
DoEvents
Loop
.Close
Do While .State <> sckClosed
DoEvents
Loop
End With
End Sub
------ここまで
0435431
NGNG解決しました、ありがとうございました!
重ね重ねで申し訳ないのですが、
テキストボックスの文字を、特定の部分だけ色替えしたり、
強調したりする方法ってありませんか?
0436デフォルトの名無しさん
NGNGRichTextBox使えばー
0438デフォルトの名無しさん
NGNGコードまで頂き、感涙であります。
早速、試してみます。
0440デフォルトの名無しさん
NGNG文字コードの変換もお忘れなく
0441デフォルトの名無しさん
NGNGまず、どっからやればいいんでしょうか?
教えてください
0442VBのことをまったく知らない初心者です
NGNGVBAではここまでしかできないけどVisualBasicとかではできるとか
ありますか?
0443VB使い
NGNGいっぱいあるけど・・・・主な所をあげると、
VBAよりVBが優れている所
・ネイティブコンパイル可能
・必要なランタイムが少ない
・APIやフォームなどが使いやすい
VBAがVBより優れている所
・Office系のデータを簡単にいじれる
てな感じ(細かい所は無視)
でもやっぱり一番の魅力はネイティブコンパイルだろうなあ。
ソフトとして発表できるし、何より速い。
0444416
NGNG>勝手に判断はしてくれない。
>有名なところでは、メモ帳はvbLfやvbCrで改行しない。
レスありがとうございます。また舌足らずでした。
VBのプログラム中に
MsgBox "AAA" & vbLf & "BBB"
MsgBox "AAA" & vbCr & "BBB"
と書いても改行してくれているということを言いたかったのです。
だからvbNewLineって?と思った訳で
WindowsのVBではと書くべきでした。(Mac版もVBAはあるよね)
>vbCrLfでダメな場合は例外的ケースで、そんなに多くないはず。
昔、ラベルのキャプションがvbLFだったと聞いたことがあります。
今はvbCrLfでもOKのようですが。
そういった使い分けが知りたかったのです。
>vbNewLineを使っておけば、いちおう安心ってことね。
そうですね(^^)
0445431
NGNGレスありがとうございます!
RichTextBoxはよく分からないんですが、頑張って勉強してみます。
>>437
自前で描画はやろうと思ったんですが、IMEが使えなくなったりと
こっとの方がトラブル多くて諦めました・・・
>>441
一例を挙げてみます。
使うコントロール:ピクチャボックス
ピクチャボックスを4×4に分割して考え、それぞれの升目にパネルを配置する。
キーボードの↓←↑→が押されたらイベントを呼び出し、空白升に隣接したパネルを動かす。
(マウスイベントでも可)
パネルがそろえば、ゲームクリア。
パネルの配置は2次元配列(4×4)を使うと良いでしょう。
あとは、パネルの配置が変わるごとに、ピクチャボックスを再描画する。
------------------------------------------------------------
[Declaration]
Option Explicit
<変数の定義>
[Form_Load()]
<乱数配列を初期化する(Randomize)>
<パネルを配置する(乱数使用)→パネルの配列(2次元)に格納>
<ピクチャボックスに描画>
[Picture1.KeyDown(...)]
select case keycode
case vbkeyleft:……
……
end select
<ピクチャボックスに描画>
<揃ったかどうかを判定>
画像を使う場合、BitBlt APIを使うと良いです。
分かりにくくてすみません・・・
0446441
NGNG親切にありがとうございました。
今度、これを参考に作りたいと思います。
0447デフォルトの名無しさん
NGNG0448デフォルトの名無しさん
NGNGまず、どっからやればいいんでしょうか?
教えてください
0451デフォルトの名無しさん
NGNG15パズルの局面数は、(16!/2)通り≒10 の13 乗。
まず、8パズルぐらいからやってみろ。 (9!/2)= 181440個
0452デフォルトの名無しさん
NGNG14⇔15パズル、しらない?
0453
NGNGhttp://www.incl.ne.jp/~hotcake/puzz15.htm
0454デフォルトの名無しさん
NGNG0455デフォルトの名無しさん
NGNG本とか見てもどうもサッパリなんです。
どなたかお教授を・・・
0456デフォルトの名無しさん
NGNG指定した容量の空のFILEなら知りません。
0458デフォルトの名無しさん
NGNG一度にすべてのデータをメモリに展開できないほど大きなデータがあったとして、
(たとえば100MBくらいで、中身は数値) これをソートするにはどうしたらいいのでしょうか。
少しずつ読み込んでソートしても、結局読み込んだ分の中でしかソートできず
全体としてのソートになりません。
そのような場合の考え方を教えていただければと思います。
0459デフォルトの名無しさん
NGNGたとえば、100MBのデータが50MBのデータ2個で、先頭の1バイトで比較できるなら…
100バイトのデータ1M個で、100バイト全部比較しないと順序が決まらないなら…
2バイトのデータ50M個で、数値として比較できるなら…
0461デフォルトの名無しさん
NGNG読めるだけ読んで -> ソート -> 一時ファイルに出力
を繰り返した後、一時ファイルをマージでどうでしょう?
#でかいデータならデータベースに格納した方がいいかもしれませんが。
0462デフォルトの名無しさん
NGNG【米TIME紙】田代を投票で世界一にしよう!!!
みんなそっち行ってるの?
0463デフォルトの名無しさん
NGNG固定長レコードのファイルなら、Putステートメント、Getステート
メントを使って隣り合った前後のレコードを読んで比較してシーク
して書き込んで・・・ってできないかい?バブルソートならロジッ
クはすこぶる簡単。
処理遅いけど。100Mだったら即死だな。DLLだけCで作ると
か・・・?
0464458
NGNGとりあえず今練習で使っているファイルには、ランダムな9桁までの正の整数が
1行に1つずつ格納しています。なので固定長ではありません。
あくまでデカ過ぎるファイルのソートについての勉強ですので、メモリではなく
HDに展開というのはダメなんです。100MBというのもたとえなので、1000GBの
データと考えてもいいです
やはりなかなか難しいものなんですね。
0465デフォルトの名無しさん
NGNGFuncB で起こった実行時エラーや Err.Raise で起こしたエラーを
FuncA の On Error GoTo 〜 で検出したいのですが、うまくいきません。
どうすればよいのでしょうか?
言い換えると、FuncB 内で起こったエラーを引数や戻り値で
検出するのではなく、On Error GoTo 〜 ですべて統一的に処理したいのです。
MSDN のガイドラインには引数、戻り値、On Error のどれかに統一すべきとあったので
可能だとは思うのですが・・
質問の真意、伝わったかちょっと心配ですが、
よろしくお願いします。
0467デフォルトの名無しさん
NGNG9桁の整数なら、1,000,000,000バイトのファイル作って、それをカウンタにするのがいいのかな。
もっと少ない、たとえば4桁とか5桁の整数なら、メモリに配列とってカウンタにしてもいいけど。
整数の場合、ソートするっつか、どの数字が何回出てきたかを数えるほうを考えてみては?
0468デフォルトの名無しさん
NGNG100Mくらいなら、よみこめるんじゃないの?
スワップしまくりだろうけど、とりあえず動くでしょ。
0469デフォルトの名無しさん
NGNGファイルを1行ずつ順に読んで一番小さなものを
ワークファイルに書き出し
また、ファイルを1行ずつ順によんで前回の一番小さい値より
大きくて、それ以外の中では一番小さい値を
ワークファイルに書き出し
あとは、繰り返し
遅いけど、できるね。
0470デフォルトの名無しさん
NGNG順序付けするときに比較するデータが小さい場合は、
メモリに比較するデータへのファイルポインタと比較するデータだけ
読み込んで、それをソートするっていう手もある。
0471デフォルトの名無しさん
NGNG>HDに展開というのはダメなんです
メモリに入らないんなら、HDD上でやるしかないと思うのですが。
0472デフォルトの名無しさん
NGNGふと気付いたことがあって、実験してみました。
Module1 と Class1 を用意して、
以下のコードを貼り付けて実行してみてください。
IsModule の値が True と False で結果が変わってしまいます。
なぜなんでしょうか?
0473デフォルトの名無しさん
NGNG+++Module1+++ココカラ
Private Const IsModule As Boolean = True
Sub Main()
FuncA
End Sub
Function FuncA()
Dim clsC As Class1
On Error GoTo ErrorHandler
Set clsC = New Class1
If IsModule Then
FuncB
Else
clsC.FuncC
End If
ErrorHandler:
MsgBox Err.Number & " " & Err.Source
End Function
Function FuncB()
Dim lngFoo As Long
On Error GoTo ErrorHandler
lngFoo = ""
ErrorHandler:
Err.Raise vbObjectError + 512, "FuncB"
End Function
---Module1---ココマデ
+++Class1+++ココカラ
Function FuncC()
Dim lngFoo As Long
On Error GoTo ErrorHandler
lngFoo = ""
ErrorHandler:
Err.Raise vbObjectError + 512, "FuncB"
End Function
---Class1---ココマデ
0474デフォルトの名無しさん
NGNG+++Module1+++ココカラ
Private Const IsModule As Boolean = True
Sub Main()
FuncA
End Sub
Function FuncA()
Dim clsC As Class1
On Error GoTo ErrorHandler
Set clsC = New Class1
If IsModule Then
FuncB
Else
clsC.FuncC
End If
ErrorHandler:
MsgBox Err.Number & " " & Err.Source
End Function
Function FuncB()
Dim lngFoo As Long
On Error GoTo ErrorHandler
lngFoo = ""
ErrorHandler:
Err.Raise vbObjectError + 512, "FuncB"
End Function
---Module1---ココマデ
+++Class1+++ココカラ
Function FuncC()
Dim lngFoo As Long
On Error GoTo ErrorHandler
lngFoo = ""
ErrorHandler:
Err.Raise vbObjectError + 512, "FuncB"
End Function
---Class1---ココマデ
0475デフォルトの名無しさん
NGNGこの2つをADO経由でグループ化させたいのですが
何か良い方法はないでしょうか?(VBAなら コンボ0.RowSource="SQL文" )
画面のコンボ1を選択すると
コンボ2には、あ1、あ2、あ3とグループ表示されます
コンボ1 あ
コンボ2 あ1
あ2
あ3
テーブルの定義は
フィールド1 フィールド2
あ あ1
あ あ2
あ あ3
い い1
い い2
い い3
となっています
0476475
NGNGコンボ2は×でした
Dim itm As Variant
Dim col As Collection
Dim SQL As String
Dim strTmp As String
'コンボボックス定義
SQL = "SELECT " & TBL_コンボ_フィールド1 & " FROM " & TBL_コンボ _
& " GROUP BY " & TBL_コンボ & "." & TBL_コンボ_フィールド1 _
& " ORDER BY " & TBL_コンボ & "." & TBL_コンボ_フィールド1 & " DESC"
Set col = pclsCLS_RSAccess.RS_CmbSetting(SQL, TBL_コンボ_フィールド1)
For Each itm In col
strTmp = itm("Strg")
Cmb_Name(0).AddItem strTmp
Next
Cmb_Name(0).ListIndex = 0 <−−− コンボ1
Public Function RS_CmbSetting(ByVal SQL As String, _
ByVal strName As String) As Collection
Dim rs_01 As Recordset
On Error GoTo RS_CmbSetting_Err
略
Do Until rs_01.EOF
RS_CmbSetting.Add AddItem(rs_01(strName))
rs_01.MoveNext
Loop
略
End Function
0477VB使い
NGNGまさかとは思うが、エラートラップの所「クラスモジュールで中断」のままにしてないよな?
「エラー処理対象外で中断」にしてるよな?
俺のとこはまったく同じになったけど。
0478デフォルトの名無しさん
NGNG>>472
オプションの[全般]タブの[エラートラップ]を
「エラー処理対象外のエラーで中断」に変更してみそ
0479478
NGNGもうあったのか・・・
0481デフォルトの名無しさん
NGNGText.SelText=& Chr(34) & "うわーん" & vblf & "うわーん" & Chr(34) &
だと、表示が
"うわーん・うわーん"
になってしまう
それを
"うわーん
うわーん"
にしたい。
0482480
NGNGFunc1 から Func2 を呼び、Func2 から Func3 を呼んでいるとき、
Func3 で起こった実行時エラーや Err.Raise で起こしたエラーを
Func1 の On Error GoTo 〜 で検出できるのでしょうか?
' 今、ちょうどエラー処理関係を作っている最中でして、
' エラー処理を最上位関数で一括処理をしたいと考えているのです。
' もしかすると無謀なことなんでしょうか?
0483ヒッキー@プログラミング
NGNG"うわーん" & vbCrLf & "うわーん"
0486デフォルトの名無しさん
NGNGちなみにわざわざ Chr(34) ってしなくてもダブルクォーテーション
重ねてもいいYO。見難くなくけど。。。
ex...
Text.SelText= """うわーん" & vbCrLf & "うわーん"""
0487VB使い
NGNGできるよー。
でも一括処理は細かいエラートラップがしづらいしAPIのエラー処理と
別のやり方になるんで俺はめんどくさいと思う。
あと、エラー処理について詳しく知りたいなら
MSDNの「プログラミングガイド」→「コードのデバッグおよびエラー処理」か
http://www.microsoft.com/japan/developer/library/vbcon98/vbcondebuggingyourcodehandlingerrors.htm
ここをご覧あれ。
0488デフォルトの名無しさん
NGNG0490デフォルトの名無しさん
NGNGvar型に変換できないYO〜
0491デフォルトの名無しさん
NGNG'全選択
wdApp.Selection.WholeStory
strBuf = wdApp.Selection.Text
というように、
Docファイルの中身を全選択し、Docファイルの中身を全て取得したいのですが。
テキストボックスの中身の値は取得できません。
どうすればできますか?
ActiveDocument.Shapes("Text Box 1").Select
をしてできなくはないのですが、
VBからDocファイルを非表示で開いているので、
使えないのです。
よろしくお願いします。
0492初心者
NGNG最初に問題数を自分で選択できるクイズ形式のプログラムを作ろうと
思っています。問題数を選んだ後、約20の問題(フォームはバラバラ)
からランダムに問題を抽出して、回答していき最後に結果出力をしよう
と思うのですが、全体の構成はどのようにしたらいいのでしょうか?
プロジェクトファイル
フォーム(トップ)
フォーム(選択画面)
フォーム(問題1)
フォーム(問題2)
・・・
フォーム(問題20)
フォーム(結果出力)
標準モジュール
という感じでいいのでしょうか?
それともフォルダ(?)のような役割を果たしてくれるものが
あるのでしょうか?あとランダムの発生の仕方も含めてわかりません。
0493初心者
NGNGトップから次のフォームに行くのに、前のフォームを消したいのですが
一つ目から二つ目にいくのに
Dim X As New Form2
X.Show
Form1.Visible = False
は、うまくいくのに次の
Dim X As New Form3
X.Show
Form2.Visible = False
は、うまくいきません。
フォーム2が消えません。
どうすればいいのでしょうか?
それとえ、そのようなケースの場合、最も一般的な
やり方をおしえてください。お願いします。
0494VB厨@入門約半年
NGNG何故フォーム20個なの?それはナゼなの??
クイズはテキストなの?絵が必要なの?どうなの?
ランダム(乱数発生)は Rnd関数 よ!
使う前にRandomize文が必要なのは
N88-BASIC(だったっけ?)を厨学生の時に見たのと同じだわ!
あと、このレベルの質問は「プロの人たち」が見ると痒いみたいだから
sage進行でこっそりやりましょ!
0495デフォルトの名無しさん
NGNGフォームは3個でいい。できれば1個にしとけ!
メモリ解放のやり方とか知らないだろうから、
メモリリークの元になる。
0496初心者
NGNGはい、画像使います。
20個いらないんですか?
どうやればいいのでしょう?
ちなみに参考書は
「新visual basic 入門」です。
メモリ解放というのは載っていませんでした。
あと、rnd関数というのもなかったです。
0497VB厨@入門約半年
NGNGフォームは1個目がイラッシャイで問題数設定で
2個目に、問題を入れ替えながら表示させて
3個目に成績を表示させる、って方針で3個が良さげ。
From2が表示される→第1問→回答ボタン押される→正誤の判定
→メッセージボックスで正誤表示→メッセージボックスOKでForm2に第2問を表示→
→回答ボタン押される→正誤の判定
っつー流れで、Form2だけで問題数の分だけ繰り返す。
あと、その本だけに頼るのはヨセ。VBのヘルプも見れ。
netの検索も良い。同じ目的のサンプルがあたったりして(゚д゚)ウマー
0498デフォルトの名無しさん
NGNGスタイルをチェックボックスにしたものを
自動でチェック付けたり消したりをしたいのです。
実際には、あるファイルのリスト一覧を表示して存在してるかを判断し、
存在してるものにはチェックを入れ、存在してないものはチェック無しとしたいのです。
List1.List(0).Checked = True みたいな感じなコマンド無いでしょうか?
0499デフォルトの名無しさん
NGNGList1.Selected(0) = True
0500デフォルトの名無しさん
NGNGDOSのバッチからvbsを呼び出しているのですが、
WScript.Quit (x)
でxに値を入れても、常に%ERRORLEVEL%が0になってしまいます。
vbsから%ERRORLEVEL%を0にする(バッチに何らかの値を返す)方法はないのでしょうか?
ちなみにvbs内部で環境変数としてERRORLEVELの値を変更してみたのですが、
DOSバッチには引き継がれないようです。
よろしくお願いします。
0501デフォルトの名無しさん
NGNG>>497
画像とかテキストボックスを一つ設定して、その中に
はじめはインビジブル設定にして
その都度、呼び出すということでよろしいのでしょうか?
画像は開発段階では乱立してしまうと思いますが
そういうことでしょうか?
あと、ヘルプがなんかみれません(><)
MSCD(みたいなの?)が必要って言われます。
取り合えず、今日の昼休みに本屋でいろいろ立ち
読んできます。
0502デフォルトの名無しさん
NGNG必要だって言われているんだから入れりゃ良いだろ。>ヘルプ
http://www.microsoft.com/japan/developer/library/default.asp
から辿っても良いが。
0503sage
NGNGMicrosoft Visual Basic6.0 ProfessionalステップバイステップVOL.1 日経BPソフトプレス 2500円
を勧めてやりました。
かくいう私自身がこれとVOL2の活用編の2冊でだいたいの事ができるようになったし
VBについてまったく何も知らなかった私にもわかるように書いてあったので
勧めたのですが友人はダメみたいでした。友人曰く「難しすぎるっ!」そうです。
こんな友人にはどうすればいいのでしょうか?もっとわかりやすい本を薦める(これ以上初心者向けの本はしりませんが…)
VBを諦めさせるのどちらかを考えてます。
どちらがいいと思いますか?
0504デフォルトの名無しさん
NGNG「読書百遍(ひゃっぺん)義(ぎ)自(おのずか)ら見る」 って言葉を送るとか(藁
ちなみに「読書百篇 意 自ずから通ず」って覚えてたけど間違ってたのか...
0505デフォルトの名無しさん
NGNGVB6でACCESS2000のDBを使用したかったので、SP5をインストールしようと
しているのですが、うまくいきません。
セットアップは正常終了するのですが、実際にはパッチがあたって
いないようです。
おそらくSETUP.STRをインストーラが見つけ出せないのが原因と思われます。
「sp598ent.stf を、本来 stf ファイルがあるべきディレクトリにコピーします。
次に、コピーしたファイルの名前を setup.stf に変更し、Service Pack 5 の
インストールプログラム (setupsp5.exe) を再び実行します。」
と、readmeに書かれているのですが、sp598ent.strというファイルが
ダウンロードした中に見当たりません。
環境はWindows2000(SP2)です。
初心者の質問ですいませんが、できれば教えてください。
0506デフォルトの名無しさん
NGNG0507デフォルトの名無しさん
NGNGあるとしたら雑誌の扱いだと思うんだけど
真黄色の表紙の「Visual Basic スーパービギナー」ってのが
インストール開発画面の操作から始まってる、超初心者対象の本。
でっかくて見やすそうだったし。1500¥と安いし。
本の最後に用語集とかあるし
パソコン初心者レベルから、ってのならよいかも。
#ガッコの書籍部に3ヶ月ほどず〜っとある。。。
0508デフォルトの名無しさん
NGNGVB以上に簡単な言語はない。
そういつが頭わりぃだけ。
殴っとけ。
0509デフォルトの名無しさん
NGNGどんな関数を使ったらいいのでしょうか?参考書籍とかあったら教え
てください。よろしくおねがいします
0510デフォルトの名無しさん
NGNGDim b As Integer
a = b = 0
-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
がなぜa = -1, b = 0になるんでしょうか?
わーからなぁーいぃー♪
0511デフォルトの名無しさん
NGNGネタでも答えてみるか。
まず b は宣言されて初期値が 0 だから b は 0 。
そんで a には b = 0 を評価した値 True (= -1) が入っている。
試しに a = b = 0 の前に b = 10 とかやってみれ。
0512VB使い
NGNGまあ、MCIが一番いいかと。
http://www.google.com/search?q=mci+api+Basic+%98%5E%89%B9&hl=ja
検索してみたんですきなものをどうぞ。
パワフルテクニック・・・が個人的に好き。VB6のやつもあったはず。
>>506
CSV使っとけ。
>>510
a=(b=0)
0513デフォルトの名無しさん
NGNGtrueって-1なのか!
にゃーるほーどねぇー。
0514デフォルトの名無しさん
NGNG0516デフォルトの名無しさん
NGNGネタでも答えてみるか。
必ずしも True = -1 ではない。
True は 0 以外ならなんでも True。逆に False は絶対 0。
ex...
CBool(1)
CBool(999)
CBool(-555)
これ全部 True 。
0517デフォルトの名無しさん
NGNG0518516
NGNGCInt(True)ってやると -1 が帰ってくるが、
これがVBでの True の デフォルト値?なだけ?
0519516
NGNG同意。軽はずみだったかも。
-1 は True、0 は False。それ以外は False 以外。
つまり Boolean型は True/False しか表せないので、
False 以外で True を返しちまえっていう
CBool関数の仕様なのかも。。。ゴメソ。
0520age
NGNG0521デフォルトの名無しさん
NGNGありがとうございます。
調べる力が欠けてました(汗
0522デフォルトの名無しさん
NGNGエンタープライズ版のVB6使ってる?
>518
ほかの言語だと、True=1だったりする。
たしかVBでもバージョンによって違ってたり。
0523関係ないけど
NGNGその時とても鬱な気分になりました。
私はHTMLでもやれば?と言ったら馬鹿にしてるのかっ!って逆ギレされました。
HTMLを言語というのかどうかは分かりませんが俺の中ではHTMLとVBの難しさは同レベルなのですが
VBより簡単な言語ってあります?
0524
NGNGひまわり
HTMLのLは言語のL
0526デフォルトの名無しさん
NGNGマシン語でも勧めてやれよ。
言語仕様はこれが一番簡単だよって(ワラ
0527デフォルトの名無しさん
NGNGファミリーベーシック
0528デフォルトの名無しさん
NGNG0530ひどいよマイクロソフト
NGNGフリーで試せるし。
0531俺だけじゃないよね
NGNG「君は本を見ないとプログラムもできんのかね?」
と言われた。
まさかコマンドを全て覚えるなんて不可能だろうし…
もしかしてみんなはプログラムとか組むときに本とか全然見ずに
書いてる?
0533デフォルトの名無しさん
NGNGまぁ本だとコピペとかできないし邪魔だから、基本的にオンラインヘルプ
だけど。
0534デフォルトの名無しさん
NGNG逆に覚えてる奴ってやばい気がする。
「こんなのがあったな」ってのを覚えておけば十分だろ
0535デフォルトの名無しさん
NGNG0536デフォルトの名無しさん
NGNG0537デフォルトの名無しさん
NGNGこんなのがあったなってのを覚えておいて
それを書籍なりMSDNあたりから探せる能力があればいい。
0538デフォルトの名無しさん
NGNG確かにな…
中途半端に覚えていて適当に無理だと判断するより
ちゃんと検索してさがせる能力があったほうがいいです
0539デフォルトの名無しさん
NGNGその人晒し上げ
0540デフォルトの名無しさん
NGNGどなたかおしえていただけないでしょうか?
0541デフォルトの名無しさん
NGNG重複していいの?
0542デフォルトの名無しさん
NGNG0543デフォルトの名無しさん
NGNGいくら初心者質問スレとは言っても検索くらいはしたよね?
0544デフォルトの名無しさん
NGNGこれだと、重複アリですよね?
ナシのときがちょっとわからなくて・・・
Rnd 関数の使用例
次の例は、Rnd 関数を使って、1 から 6 までの乱数整数を発生させます。
Dim MyValue
MyValue = Int((6 * Rnd) + 1) ' 1 から 6 までの乱数整数を発生させます。
--------------------------------------------------------------------------------
http://www.microsoft.com/JAPAN/developer/library/Vbenlr98/vafctrndx.htm
0545デフォルトの名無しさん
NGNGこう言うアルゴリズムを自分で考えることで力がつくんだと思うYO
どうでもいいけど。
0546デフォルトの名無しさん
NGNGfor(i = 1; i <= 15; i++){
if(乱数() < n/m){ // 乱数()は0から1を出力
// iを選択。
選択(i);
n = n - 1;
}
m = m - 1;
}
VBよく知らないけど、
C風に書けばこんな感じでできると思う。
0548デフォルトの名無しさん
NGNG1〜15をいったん配列に入れて、シャッフルすれば、重複しない。
0549デフォルトの名無しさん
NGNGシャッフルの回数は?
論理的な基準ありますか?
0550デフォルトの名無しさん
NGNGおれもそういう機会があったら使わせてもらうYO
0551デフォルトの名無しさん
NGNGおーい、はじめの配列に入れる順序と
シャッフルの回数はどうするんだよー
それでホントにちゃんとランダムになるのかよー
#540はランダムにしろとは言っていないが(^^;
0552492です
NGNGそれと、今>>497みたいな感じでプログラム組んでいるのですが、
問題のところで、コマンドを一つにして、回答と次の問題を同時に
こなすようにしています。
が、一問目ではテキストボックス等全部空なので、はじめは
空の状態でコマンドを押さなければなりません。
コマンド_クリック ではなくてはじめからプログラムが
実行されるようにするにはどうしたらいいのでしょうか?
フォーム_アクティベイト
フォーム_ロード
ではうまくいきませんでした。
どなたかお願いいたします。
0553デフォルトの名無しさん
NGNG乱数の質にもよるけど、要素数と同じ回数だけ入れ替えを行えば大丈夫。
経験的な基準ですが。
入れ替える要素の両方の添え字をランダムに選ぶんじゃなくて、片方は順番に選び、
もう片方はランダムに選ぶっていう方法もある。そっちのほうが確実にバラけると思われ。
言葉だとわかりにくいと思うのでコード例でどうぞ。
Dim Num(1 to 15) As Integer
Dim Tmp As Integer
Dim i As Integer
Dim j As Integer
For i = 1 To 15
Num(i) = i
Next i
For i = 1 To 15
j = Int(Rnd(1) * 15) + 1
Tmp = Num(i)
Num(i) = Num(j)
Num(j) = Tmp
Next j
0554デフォルトの名無しさん
NGNG要素数と同じ回数だと半分くらいの要素が
元の位置から動かないような気がします。
順番に配列に数字を入れてからシャフルして
はじめの5個とるとその中に1−5までの数が
動かずに2,3個残っていたりしませんか?
個人的には>>546の方法がお勧めだとおもいますけど…。
0556554
NGNGやっと理解しました。
すべての要素を別な要素と交換するんですね。
なんとなくバラけそうな気がしてきました。
0557デフォルトの名無しさん
NGNG理論的に出せる
順番に n (0<=n<要素数) 番目の値と Rnd*(n+1) 番目の値を入れ替えればいい
元の並びはどうでもいい
でも俺だったらそんな効率の悪いことはしないな。
普通に人間が15個の配列から5つ取り出すのと同じことをやればいい。
俺もVBわからんからC風に書くけど
n = 5; m = 15;
for( i=0; i<n; ++i )
{
j = (int)( Rnd()*m ); // 0<=rnd()<1 ってことで
ResultArray[i] = OriginalArray[j];
OriginalArray[j] = --m;
}
0558553
NGNG(正)すべての添え字位置の要素を
迂津柁嗣埜卯……
0559デフォルトの名無しさん
NGNG重複を防ぐ仕組みがないようですが?
0562557
NGNG選択した結果を保存するのに配列が必要では?
>>557 のやつは配列が規則正しく並んでるときの例ね。
規則正しく並んで無いときは
OriginalArray[j] = --m;
を
OriginalArray[j] = OriginalArray[--m];
にしておくれ。
0563561
NGNG>選択した結果を保存するのに配列が必要では?
>>546では15個中5個選択なら要素数5個の配列が必要です。
ただし、10万個中5個選択でも要素数5個の配列でできます。
シャフルする方法だと、もっとたくさん必要になりますよね?
0565557
NGNG>>557 は元の配列を破壊するから、そのコピーが必要。
10万個から5個取り出すには10万個のコピーを行う必要がある。
その代わりループ回数は5回
>>546 はもとの配列にはノータッチなのでコピーのオーバーヘッドは無い。
代わりに10万回ループしなければいけないから、10万回乱数を発生させて10万回除算をしないといけない。
0566553
NGNG(特に、選択元の要素数が極端に多い場合)
ヘタレな乱数ライブラリを使っているときは要注意です。
まあ、まずありえない事ですけど。
>>553 のやり方では、シャッフルにメモリは食いますが、処理が必ず終わる
(それもほぼ一定時間で)ことは保証できます。
0568デフォルトの名無しさん
NGNG乱数がちゃんと均一に発生するなら、元の要素数の2分の1の回数のループで十分です。
0569デフォルトの名無しさん
NGNG>ヘタレな乱数ライブラリを使っているときは要注意です。
お〜〜い。ここはVBのスレだよ。
なんか脱線して内科医?
0570557
NGNG・>>546
速度は落ちるがメモリを節約したいときに有効。
全体の個数と選ぶ個数が比較的近いとき。
・>>547
単純でわかりやすいが全体の個数と選ぶ個数が近いときには極端に時間がかかる。
(終わらない可能性もアリ)
・>>553
全体の個数と選ぶ個数が極めて近いときに有効。
ただしもっと最適化できる(For文を1つにまとめられる)
・>>557
全体の個数に比べて選ぶ個数が少ない時に有効。
元の配列を破棄してもかまわないときは得に効果アリ。
そうでなければ配列のコピーが行えない言語にはお勧めできない。
0571デフォルトの名無しさん
NGNGフォームをShowする時にフォームのオーナーを明示してみたら?
0572VB使い
NGNG最初の
Dim X As New Form2のForm2と
次の
Form2.Visible = FalseのForm2はまったく別物。
Xに入れたんならXで処理しなくちゃだめ。
0573492です
NGNG二つ目を別定義にして、やるってことしょうか?
以下のようにしてもダメでした。
それと「フォームのオーナーに明示」をもう少し
わかりやすくおしえて頂きたいのですが。。。
Dim X2 As New Form3
X2.Show
X.Visible = False
0574VB使い
NGNGまあ、要するにこういうことをやりたいんだよな?
Private Sub Form_Load()
Dim X As New Form2, X2 As New Form3
Form1.Show
Form1.Visible = False
X.Show
X.Visible = False
X2.Show
End Sub
>>492のコードってフォームに書いてそれぞれ別のファンクションに
してるか?だとしたら変数の有効範囲のせい。
標準モジュールに書くか、ひとつの関数にすれ。
0575厨房王
NGNG所定の場所にファイルを増やしたり、または実行した時に、所定の場所の
ファイルを消すコードはどうやってつくればいいの。
sub teach me()
msgbox "osiete"
end sub
0576VB使い
NGNGOpen,Close,Kill,App.Path等を使う。(Copy,Nameとかでもいい。)
ファイル処理全般を勉強するべし。
あと、ネタでも関数名にスペース入れるのはやめれ。
見てて落ちつかねえ。(w
0577擬人
NGNGhttp://www.puchiwara.com/hacking/
0578厨房王
NGNGすいません、なんせプログラムは最近始めたばかりなので、本は「十
日間のエクセルVBA」を使っています。一応VBでテキストファイ
ルのコピーを勉強しました。が、以下の「fso」どんな役割があるの
でしょうか。「Dim」は定義付けでした?
Private Sub Command1_Click()
Dim fso
Source = "c:\r.txt"
destination = "c:\r2.txt"
Set fso = CreateObject("scripting.filesystemobject")
Call fso.copyfile(Source, destination)
End Sub
ここから発展して、例えばCドライブのファイルをランダムに選択して、
コピーするという命令などはできるのでしょうか。よければ、教えてくだ
さい。
0579VB使い
NGNG流れとしてはCドライブにどのファイルがあるか調べて、好きなファイルを
コピーするといった形になる。Folderオブジェクトでファイルの一覧を
取得できるはずなんで確認してみれ。
俺はFSOが嫌いなんで使ってない。スマソ。
>Dim fso
はfsoという変数をVariant型で宣言する、ということ。
0580デフォルトの名無しさん
NGNG具体的に何やりたいの?
ランダムにファイル拾ってコピーすりゃいいの?
0581デフォルトの名無しさん
NGNGDimは変数を宣言するもので、fsoはそれで宣言された変数。
で、Set fso = CreateObject(〜)の行で
FileSystemObjectオブジェクトのインスタンスを作成して
そのオブジェクトへの参照をその変数に入れている。
どんな役割かというと、FileSystemObjectには
CopyFileというファイルをコピーするメソッドがある訳で
そのメソッドを使うためにオブジェクトを作成している訳だ。
まぁオブジェクトとか言われてもわからんだろうけど、
要はそういう道具を使えるようにしているわけだ。
scripting.filesystemobjectというのが道具の設計図の名称で
fso(という名前がつけられたもの)が実際の道具。
CreatObjectという命令でその道具を設計図から作り出している訳。
その道具のFileCopyという機能を使ってコピーしてるわけだな。
> ここから発展して、例えばCドライブのファイルをランダムに選択して、
> コピーするという命令などはできるのでしょうか。よければ、教えてくだ
まず何をしたいのか教えてくれ。
VBA+そういう怪しい動作=ウイルスとしか思いつかん。
0582デフォルトの名無しさん
NGNGWindowStateで最大化ではなくゲームとかであるようなフルスクリーンに
したいのですが可能でしょうか?
0583デフォルトの名無しさん
NGNG0584デフォルトの名無しさん
NGNG最大化や最小化のボタンのあるバーの部分を見えなくしたいのですが…
ボタン等をFalseにしても上部のバーの部分は残るのでバーを消したいのですが
DirectX関係じゃないと無理ですかね?
0586デフォルトの名無しさん
NGNGありがとうございます。
なにぶん初心者なものですいません。
これで目的は達成したのですが、この状態でマウスカーソルを上の方に持って
いくとメニューが出てくる(普段は見えないようになってる)ようにできますか?
0588デフォルトの名無しさん
NGNG500KBぐらいまで増やすことって出来ないですか?
0589デフォルトの名無しさん
NGNGRichTextBox使いなはれ。
0590
NGNGWindows Script
http://www.asia.microsoft.com/japan/developer/scripting/default.asp
[MSDN]-[プラットフォームSDKドキュメント]-
[ツールおよび開発言語]-[スクリプト]-[Windows スクリプト テクノロジ]-
[Script ランタイム]-[FileSystemObject オブジェクト]
http://www.microsoft.com/japan/developer/library/script56/fsooriscriptingrun-timereference.htm
0591厨房王
NGNGウイルスと作ってると言われれば、否定はしないです。でも、私のPCの
中を整理してくれるウイルスを作ろうと思っています。
例えば:ファイルがごちゃごちゃになった時、それらを拡張子毎に一つの
ファイルに入れる。という作業やランダムに語弊があったようですが、こ
れは、適当に選択という意味ではなく、まとまった物を選んでという意味
で使いました。あと、もう一つはウイルス系の核を取り除くために、ファ
イル探索した後に、それらを一気に消去するアプリをつくろうと思ってい
ます。
0592デフォルトの名無しさん
NGNG0593デフォルトの名無しさん
NGNG0594
NGNG0595
NGNG0596Cp.Alpha2
NGNG0597590
NGNG参考にしてみてください。以下をコピーして
delete.vbs として保存。ダブルクリックする。
邪魔くさいファイルを削除して、対象ファイルのパスを
C:\log.txt に書き出します。
使用はくれぐれも自己責任でお願いします。
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
コードの意味が分からなければ使用しないほうが
良いと思います。
'ここから--------------------------------------------------
'**Start Encode**
Dim FSO, TXT
Set FSO = CreateObject("Scripting.FileSystemObject")
Set TXT = FSO.CreateTextFile("C:\log.txt", True)
Call ShowFileList("C:\", FSO, TXT)
TXT.Close
MsgBox "complete"
Sub ShowFileList(folderspec, fso, txt)
Dim f, g, f1, f2, fc, fd
On Error Resume Next
Set f = fso.GetFolder(folderspec)
Set fc = f.Files
Set fd = f.SubFolders
For Each f1 in fc
If InStr(1, LCase(f1.Name), ".com") <> 0 Or _
InStr(1, LCase(f1.Name), ".exe") <> 0 Or _
InStr(1, LCase(f1.Name), ".bat") <> 0 Or _
InStr(1, LCase(f1.Name), ".sys") <> 0 then
txt.WriteLine(f1.Path & "\" & f1.Name)
Set g = fso.GetFile(f1.Path & "\" & f1.Name)
g.Delete
Set g = Nothing
End If
Next
For Each f2 in fd
txt.WriteLine(f2.Path & "\")
Call ShowFileList(f2.Path & "\", FSO, TXT)
Next
End Sub
'ここまで--------------------------------------------------
0598590
NGNGWindows Script Encoder を使うとスクリプトを暗号化できます。
配布するときは暗号化してみてはどうでしょうか。
Windows Script Encoder
http://www.microsoft.com/downloads/release.asp?ReleaseID=33261&area=search&ordinal=6
使い方
コマンドプロンプトで以下のコマンドを打ち込む
SRCENC delete.vbs "readme.txt .vbn"
新しく生成されたファイルを配布します。
これであなたもタイーホ
0599590
NGNGSRCENC delete.vbs "readme.txt .vbn"
0600590
NGNG0601ウルトラ初心者
NGNG0602Cp.Alpha2
NGNGプロフェッショナルはプログラマーに推奨。
ラーニングはやや機能が落ちますが、値段も得で初心者には推奨。
0603デフォルトの名無しさん
NGNGラーニングの低機能さには泣くぜ。あとで。
0604デフォルトの名無しさん
NGNGVBの低機能さには泣くぜ。あとで。
0605590
NGNGプロフェッショナルにしておくのが無難だと思われ。
0606デフォルトの名無しさん
NGNG2月にはVS.NETでるんだし。
現行のVBはきれいに消え去ってるよ。
0607デフォルトの名無しさん
NGNGVBの質問じゃないんだけど、
VBからVBSとかWHSとかでアドレス帳のデーターを取得できない?
0608デフォルトの名無しさん
NGNG素直にVBからアドレス帳にアクセスするか、
VBSやWHSを使うならVBはいらんちゃうか?
0609デフォルトの名無しさん
NGNGウィルスのソースを探すといいかも
0610デフォルトの名無しさん
NGNGそんなあなたにDelphi6 Personal http://www.borland.co.jp/delphi/
フリーだし、VB6のProfessionalぐらいのことはできますよ。
0611デフォルトの名無しさん
NGNGで、Public Test(1 To 9,1 To 9) as String
それに
Test(0,0) = "あ"
Test(0,1) = "い"
という感じでTest(9,9)まで文字を格納したいのですが、
いちいちTestとかかなくてよい方法ありませんか?
Arrayっていうの使えないみたいなのです。
0612デフォルトの名無しさん
NGNGArray ってVariant 型でしょ。
Dim varTest As Variant
Dim i As Long
varTest = Array("あ", "い", "う", "え", "お")
For i = 0 To 4
Debug.Print CStr(varTest(i))
Next i
0613デフォルトの名無しさん
NGNGヘルプよく分からなくて・・・。
0614デフォルトの名無しさん
NGNGただ、上記の方法ではたとえば
Debug.Print CStr(varTest(0,1))
とするとエラーになり二次元配列にならないのです。
verTest(i,j)とやったときに"あ"とか"う"とかが
でるよう対応したやつを作りたいのです。
0615デフォルトの名無しさん
NGNG解決しそうです
ちとイメージどおりのスマートさはないですが。
0616デフォルトの名無しさん
NGNGもっと良い方法があると思いますが。
Dim varTest As Variant
Dim strBuff As String
Dim i, j As Long
Dim m As Long: m = 4
Dim n As Long: n = 4
varTest = Array("あ", "い", "う", "え", "お", _
"あ", "い", "う", "え", "お", _
"あ", "い", "う", "え", "お", _
"あ", "い", "う", "え", "お", _
"あ", "い", "う", "え", "お")
For i = 0 To m
strBuff = vbNullString
For j = 0 To n
strBuff = strBuff & CStr(varTest((m + 1) * i + j))
Next j
Debug.Print strBuff
Next i
0617SENJU
NGNGコマンドをダブルクリックして「バッチファイル(〜.bat)」や
「実行ファイル(〜.exe)」を起動するときのコーディングを
教えてください。
0618デフォルトの名無しさん
NGNG0619デフォルトの名無しさん
NGNG言われますがどうしてWindowsには標準でDLLが入ってないんですか?
0620デフォルトの名無しさん
NGNG0621デフォルトの名無しさん
NGNG標準の DLL ではないから。
0622デフォルトの名無しさん
NGNGMSDN で調べた?
strConv
0623デフォルトの名無しさん
NGNGForm1とForm2を同時にアクティブにしておく方法はないでしょうか。
というのもメニューエディタで編集したやつはアクティブフォーム側の
やつが表示されますよね、だけどForm1とForm2のメニューは同じなので
両方にメニューエディタで作るのは二度手間になるのです。
もしくはForm1につくったメニューをForm2側にコピーする方法を教えてください。
0624デフォルトの名無しさん
NGNGいまさらだが、こっちの方がマシかも
Dim varTest As Variant
Dim strBuff As String
Dim i, j As Long
Dim m As Long: m = 4
Dim n As Long: n = 4
varTest = Array(Array("あ", "い", "う", "え", "お"), _
Array("あ", "い", "う", "え", "お"), _
Array("あ", "い", "う", "え", "お"), _
Array("あ", "い", "う", "え", "お"), _
Array("あ", "い", "う", "え", "お")) _
For i = 0 To m
strBuff = vbNullString
For j = 0 To n
strBuff = strBuff & CStr(varTest(i)(j))
Next j
Debug.Print strBuff
Next i
0625デフォルトの名無しさん
NGNGフォームを配列にしちまうか、
frmファイルをメモ帳で開いて、プロパティ部分をコピるか。
そーゆーのじゃダメ?
0626デフォルトの名無しさん
NGNGうむー
感謝です。
両方アクティブってのは実質無理なんでしょうか。
どこかのフリーウェアでなってたような。
なってるように見せる方法ってないですか。
0627デフォルトの名無しさん
NGNGMDIFormにメニューを付けて、ActiveFormを見て処理を分岐するんじゃ駄目?
0628デフォルトの名無しさん
NGNGプロポーショナルフォント(MSPゴシック)を使って帳票出力したいのですが、
表示領域の幅に合わせてプログラムで文字列を区切って改行させようとしています。
VBで、プロポーショナルフォントの文字列の幅を取得する方法ってあるでしょうか。
0629デフォルトの名無しさん
NGNGラベルを一つ作って、プロパティのAutosizeをTrueにし、
Captionに入れたい文字を入れ、そのwidthを取得する、と。
すこしダサいか・・・。
0630デフォルトの名無しさん
NGNG0631デフォルトの名無しさん
NGNG表示領域と同じフォント指定したPictureとか用意して
そこでTextWidth("出力したい文字列〜")で取得すればいいんちゃう?
0632バカかもしれん…
NGNGの機能を付けたいのですがどういった感じで組めばいいのでしょうか?
モザイクとかなら10ドット単位とかの正方形で区切ってそれぞれのRGB値を
操作するといった感じでできると思いますが、ぼかしの場合が
思いつきません。
どなたかアドバイスいただけないでしょうか。
0633デフォルトの名無しさん
NGNG目的によって使い分けられてる。
>632
ガウスぼかしなら、 g(x, y)=exp(-(x^2+y^2)/(2*s^2)
0634デフォルトの名無しさん
NGNG質問なんですが、
DatabaseとRecordSetのオブジェクトをつかうには,
どの参照設定を入れれば良いんでしょうか?
0635デフォルトの名無しさん
NGNGMicrosoft DAO x.xx Object Libraryかな。
怪しいのを参照設定してオブジェクトビューアで見てみ。
0636デフォルトの名無しさん
NGNGできました。ありがとうございます
0637630
NGNG・データベースとつなぎたいです。
・複数列表示できるリストボックスとして使いたいです。
・表示されてる項目をクリックして、そのアイテムを取得できるのが良いです。
できましたら、上記のに当てはまるGridを教えてください。
出来れば3番目のやり方も教えてもらえるとありがたいです。。
0638デフォルトの名無しさん
NGNG保存するにはどうすればよいのでしょうか?
保存する際に、ウインドウのタイトル、枠などを除いて
画像として保存したいです。
0639デフォルトの名無しさん
NGNGBOCのTrueDBGrid。
http://www.boc.co.jp/
コントロール系の情報集めるのならVBマガジンぐらい見る事を勧める。
0640デフォルトの名無しさん
NGNG画面を取り込んで印刷
http://www.microsoft.com/japan/support/kb/articles/J042/0/88.asp
画像の保存
http://www1.plala.or.jp/akis/bbslog/1000/401-450.html
これを組み合わせれば大丈夫だと思う。
0641デフォルトの名無しさん
NGNGsngWidth = Form1.TextWidth("AIUEO")
sngWidth = Printer.TextWidht("AIUEO")
のように、TextWidthメソッドでFontプロパティに設定されている
Fontの幅なら取れるよん
0642デフォルトの名無しさん
NGNGパソコン名とそのPCのログインユーザ名を取得する方法がありましたら教えてください
0643デフォルトの名無しさん
NGNG読みにくいのは勘弁な
--- 標準モジュールに
Option Explicit
'ユーザ名を取得する
Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" ( _
ByVal lpBuffer As String, _
nSize As Long _
) As Long
'コンピュータ名を取得する
Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" ( _
ByVal lpBuffer As String, _
nSize As Long _
) As Long
--- 標準モジュール ここまで
とやって
コマンドボタン1個とテキストボックス2個貼ったフォームを用意。
--- テスト用フォーム
Private Sub Command1_Click()
Dim lngRetAPI As Long
Dim tempX As String
tempX = String(256, Chr(0))
'ユーザ名(GetUserName)
lngRetAPI = GetUserName(tempX, 256)
Text1.Text = Left$(tempX, InStr(1, tempX, Chr(0)) - 1)
'コンピュータ名(GetComputerName)
lngRetAPI = GetComputerName(tempX, 255)
Text2.Text = Left$(tempX, InStr(1, tempX, Chr(0)) - 1)
End Sub
--- テスト用フォーム ここまで
で、ボタンを押す。
0644デフォルトの名無しさん
NGNGそんなこと聞いてないよ
0645デフォルトの名無しさん
NGNGゴメン間違えた(藁
0646デフォルトの名無しさん
NGNG常に最全面に表示されたままのフォームを作成したいのですが、
どうすればよいのでしょうか?
0647642
NGNGそれだと自分のパソコン名とログインユーザ名だけしか解らないと思います。
ネットワーク内のすべてのパソコン名と、そのログインユーザ名を調べたいのですが、
やはりこれは難しいのでしょうか
0648デフォルトの名無しさん
NGNGDebug.Print で出力してると残ったままになので、
クリアして使うには、毎回手作業で消してますが、面倒なので
0649早とちりの643
NGNG書籍情報でスマンが...
「Visual Basic6.0 300の技 ネットワーク+データベース編 」
http://www2.gihyo.co.jp/books/bookinfo.asp?ID=910
PC名一覧だけなら net view コマンドでも良いのかな?
0650デフォルトの名無しさん
NGNGhttp://jsvb.freewebspace.com/VBA/
0651( ゚д゚)
NGNGDriveListBoxとDirListBox使えばできるけど、チョト面倒臭い
ちなみにVBのバージョンは5です
0652デフォルトの名無しさん
NGNGVB5 で出来るかどうかはやったことないのでわからんけど、
Shell32.Shell(SHDOC401.DLL) オブジェクトの
BrowseForFolder メソッド使ってますです。
0653デフォルトの名無しさん
NGNGWORKGROUP 内のコンピュータのIPアドレス取得
http://www.mitene.or.jp/~sugisita/family/papa/vb/api_net.html
「現在接続しているIPネットワーク先のIPアドレスとMACアドレスの取得」
IPアドレス→ホスト名
http://www.mitene.or.jp/~sugisita/family/papa/vb/api_net.html
「IPアドレスよりホスト名の参照」
ユーザ名は分からん。
0654デフォルトの名無しさん
NGNG漏れはこんな感じでやってる。
Private Sub cmdPath_Click()
Dim typBrowseInfo As BROWSE_INFO
Dim lFoldPointer As Long
Dim sPathName As String
With typBrowseInfo
.hwOwner = frmMain.hWnd
.lRoot = CSIDL_DESKTOP
.sTitle = "フォルダを選択してください"
.lOptions = BIF_RETURNONLYFSDIRS Or BIF_DONTGOBELOWDOMAIN
End With
lFoldPointer = SHBrowseForFolder(typBrowseInfo)
sPathName = String$(256, vbNullChar)
Call SHGetPathFromIDList(lFoldPointer, sPathName)
CoTaskMemFree lFoldPointer
If Left(sPathName, 1) <> Chr(0) Then
Debug.Print LCase(sPathName)
End If
End Sub
0657デフォルトの名無しさん
NGNG具体的には...
DragModeを手動にし、MouseDows時にDragメソッド(引数 1)で
Drag&Dropを行うのですが、Drag&Drop後のMouseUpイベントが
取得できません。
フォーム外にDragされた場合に、イベントを取得できないので、
MouseUpであれば、フォーム外でもイベント取得できるので、
どうにかMouseUpを取得できれば良いのですが
0658デフォルトの名無しさん
NGNG開いたExcelファイルのセルにhtmlフォームのテキストボックスの内容を
反映させるようなVBAってありますでしょうか?
IE5.0 と Excel97です。
ヒントだけでもよいのでお願いできませんでしょうか?
HTML側
<FORM ACTION="***.cgi"> /* ここは適当 */
<INPUT TYPE="text" NAME="text">
<BR>
<A HREF = "xxx.xls">xxx.xls</A> /* このxlsにtextの内容を読ませたい */
</FORM>
EXCEL側
Private Sub Workbook_Open()
Call Read_text /* 起動時に関数呼び出し */
End Sub
Private Sub Read_text()
Dim txtField As String
/* ???? */
/* ここでテキストボックスの内容を取得したい */
ActiveCell.FormulaR1C1 = txtField
Range("A1").Select
End Sub
0659きょうすけ
NGNGだれか、復旧方法を教えてください。VB Editorから入っていき、フォームを作り、Propertyを見ると、
文字がイタリックのさらに崩したような状態になっていて、使えません。 だれか助けてください。
0660デフォルトの名無しさん
NGNG・電話番号欄があって、半角数字とハイフンしか入れられなくしたいのですが
IsNumeric使うとハイフンも受け付けなくなるので、なんとかなりませんか。
・Form_Loadで、セットフォーカス使うと参照がおかしいみたいな事
言われんですけど、無理なんですか?
0661デフォルトの名無しさん
NGNG上の解答(らしきもの)
「マスク エディット (MaskEdBox) コントロール」
0662デフォルトの名無しさん
NGNG>半角数字とハイフンしか入れられなくしたいのですが
Key Pressイベントで、Key Asciiを調べて、数字とハイフン以外は
KeyAsciiに0を設定すればいい。キーコードについてヘルプで検索すれ。
>Form_Loadで、セットフォーカス使うと参照がおかしいみたいな...
これだけじゃ何をしたいかわからん。
0663661
NGNGつまりこれを回避したいと言うことかな?
0664名無しさん ◆MZ2000oY
NGNG0665661
NGNG0666デフォルトの名無しさん
NGNGキャッシュのクリアか、再インストール (多分)
http://www.zdnet.co.jp/help/books/at_tb/ch04/ch04_07a.html
0667660
NGNGForm_Paintって初めて聞きました。
Form_Loadより後に起こるイベントってあるんですね。ビクリしました。
0668デフォルトの名無しさん
NGNGクリップボード経由だけど、それらしいことはできる。
「セキュリティの設定」で「スクリプトによる貼り付け処理の許可」を有効にする。
(セキュリティとしては大いに問題あり)
HTMLここから--------------------------------------------
<script language="vbscript">
Sub txtCopyToClipboard()
set rngText = frmText.txtTarget.createTextRange()
rngText.execCommand("copy")
End Sub
</script>
<form id="frmText">
<input id="txtTarget" type="text" name="txtTarget">
</form>
<a href="./xxx.xls" language="VBScript" onClick="txtCopyToClipboard()">xxx.xls</a>
HTMLここまで--------------------------------------------
EXCELここから--------------------------------------------
Private Sub Workbook_Open()
Call Read_text
End Sub
Private Sub Read_text()
Dim txtField As String
Dim objData As DataObject
Set objData = New DataObject
objData.GetFromClipboard
txtField = objData.GetText
ActiveCell.FormulaR1C1 = txtField
Range("A1").Select
End Sub
EXCELここまで--------------------------------------------
0669デフォルトの名無しさん
NGNG社内でパソコン詳しい人が居ないもので私が使わないといけないのです。
パソコン暦3年のプログラム初心者が初心者本片手に12時間みっちりやって
どこまで出来るようになりますか?
ちょっとしたプログラムぐらいは読めるようになれますか?
0670デフォルトの名無しさん
NGNGとりあえずテキストボックスやボタンなどを配置して
Windowsの標準的なインターフェースを作れるようになるでしょ。
後はどんな処理をさせるかだけど、Webで調べれば大抵解決するよ。
0671デフォルトの名無しさん
NGNG開発に行き詰まったらいつでもここに来ればいいさ(´∀`
0672デフォルトの名無しさん
NGNG仕事で使う時ってのは到達すべき目標が見えるから覚えるのも早いで。
WebでQ&Aできる掲示板でも見つけておけ!
0673デフォルトの名無しさん
NGNGとりあえずコメントだけは面倒でもキッチリかけよ。
後々メンテするときに非常に役に立つからな。
0674デフォルトの名無しさん
NGNGヘッダー取得できますか?OpenURLの後GetHeaderするとできますが
いっかい全部落としてから取得してしまうんで。
0675きょうすけ
NGNGレスありがとうございます。でも、まだ直りません。
Officeを再インストールしても駄目でした。まさか、Windowsを再インストールしなければならないのでしょうか?
画面をコピーしたものを参考で公開しますので、見てみてください。
http://kyosuketsuda.hoops.ne.jp/Images/Problem.gif
誰か、助けてください。
0676669
NGNGここはやさしい人も多いのね。
私がんばるよ。。
0677デフォルトの名無しさん
NGNGWindowsの再インストってそんなに難しいことじゃないよ。
ネットの設定だけは、しっかりメモっとけよ!
0678弧愚
NGNG0679 調べて欲しい
NGNGReceived: from [143.90.131.182] by hotmail.com (3.2) with ESMTP id MHotMailBCF5F31A005C400438A58F5A83B6B91B0; Sun Jun 17 05:52:43 2001
Received: from cfb87420 ([61.116.15.136]) by t-mta4.odn.ne.jp with SMTP id <[email protected]> for <[email protected]>; Sun, 17 Jun 2001 21:52:41 +0900
From [email protected] Sun Jun 17 05:53:01 2001
Message-ID: <000501c0f724$2beb5420$880f743d@cfb87420>
References: <[email protected]>
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 5.00.2314.1300
X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2314.1300
0680デフォルトの名無しさん
NGNG昔似たような現象になったことあったな。
そんときはセーフモードで上げれば直ったけど
すぐにまた同じ現象になってな。
結局再インストールしたよ。
入れなおした方が絶対早いと思うぞ。
0681デフォルトの名無しさん
NGNGOpenURLってのは細かい制御ができないかわりに楽なんだよね。
細かいことをしたいならば面倒でもExecuteでやらんと。
Content-Lengthとかのヘッダ取るだけならこんな感じかな。
Private Sub Command1_Click()
Inet1.Execute "http://アドレス", "GET"
End Sub
Private Sub Inet1_StateChanged(ByVal State As Integer)
Select Case State
Case 12
Debug.Print "Content-Type = "; Inet1.GetHeader("Content-type")
Debug.Print "Content-Length = "; Inet1.GetHeader("Content-Length")
Debug.Print "Last-modified = "; Inet1.GetHeader("Last-modified")
Inet1.Cancel '受信もしたいならここでGetChunk繰り返せ
End Select
End Sub
ヘッダ全部が欲しいならWinsock使った方がいいかもな。
0683デフォルトの名無しさん
NGNGCtrl+A→Del押すだけじゃん。
>660
Loadイベントの最後あたりで、Me.Showしてから、SetFocusする手もある。
ようは、見えないコントロールにフォーカスは当てられないってこと。
0684デフォルトの名無しさん
NGNGInStr関数がよくわかりません。
やりたいことの例↓
アボーン
アベーン
アブーン
と言う文章の「ーン」を検索して「〜ソ」に置換したいのです。
0685デフォルトの名無しさん
NGNGReplace("アブーン","ーン","〜ソ")
0686デフォルトの名無しさん
NGNGText1.Text = Replace(Text1.Text, "ーン", "〜ソ")
ほかの「ーン」が変換されたくなかったら、
各4字で計3回やればいい。
0688Nana
NGNG0689デフォルトの名無しさん
NGNGhttp://www.symantec.co.jp/region/jp/sarcj/data/w/w32.goner.a%40mm.html
0691デフォルトの名無しさん
NGNGこれってどうやって出すんですか?
0692デフォルトの名無しさん
NGNGキャプションに - を入れる。
0694デフォルトの名無しさん
NGNG「メニュー」をキーワードにすると、「メニュー エディタで作成」という
項目が見つかるはず。
0695デフォルトの名無しさん
NGNGMSDNライブラリ(ヘルプ)の「メニュー (Menu) コントロール」っていう
一番基本的なページに書いてあるじゃん。
全部読めとは言わないけど、ヘルプの目次ぐらいは目を通しておくといいよ。
ヘルプの引き方もプログラミング能力の一部だからね。
えらそうでスマソ。
0696デフォルトの名無しさん
NGNGコマンドボタンでも使うよ。
0697692
NGNGスマソ 区切り線と勘違いした。
「保存(&A)」にするとよろしいかと
0698デフォルトの名無しさん
NGNG0699デフォルトの名無しさん
NGNGもう質問してるね。
0700698
NGNGしまったっ!
0701デフォルトの名無しさん
NGNGあと、使用中のソケットの列挙方法を教えてくれ。
あと、複数のイベント(FD_WRITEとか)をハンドラしたいんだけど…。
0702Nana
NGNGサンクスレス
ウィルス作るためにVBマスターしてみます
0703名無しさん
NGNG0704デフォルトの名無しさん
NGNGrename();
0705デフォルトの名無しさん
NGNGなんか感謝してないみたい(w thanksless
0706( ゚д゚)
NGNGDBGRIDをデータと連結しないで使ってるサンプルどっかにない?
(なんだか訳わからんぞ、これ)
0707デフォルトの名無しさん
NGNG具体的にどういうもんを作りたいからそうしたいのん?
送受信データ監視ってそういうイベントとメソッドあるでしょ?
FTP関係?P2Pみたいなの作んの?
0708
NGNGVC++5エンタープライズが7000円で
売ってたけど買いですか?
ちなみ割れじゃなくて中古ソフトとして。
0709デフォルトの名無しさん
NGNGってか、意味あるんかソレ?
DataをBoundするGridだからGridなんであって...
0710デフォルトの名無しさん
NGNG0711デフォルトの名無しさん
NGNGそれでもいいし、Form で作ってもいい。
それよりも、「プロジェクト」-「フォームモジュール」-「バージョン情報」で
簡単にバージョン情報が追加できる。
0712デフォルトの名無しさん
NGNG0713(
NGNG0714712
NGNGできやした。Tnx。
0715デフォルトの名無しさん
NGNG他に何か設定しないといけないのでしょうか。
0716デフォルトの名無しさん
NGNG文字列の置き換え(Replace)で、「改行」を探知できますでしょうか
ある文章から「改行」を詰めたいんですけど
よろしくお願いします
0717デフォルトの名無しさん
NGNG改行を消したいって意味?
vbCrLfを指定するだけじゃ・・? 違った?
0718デフォルトの名無しさん
NGNG0719デフォルトの名無しさん
NGNG空行を無くしたいなら、vbCrLf & vbCrLf → vbCrLf でオッケー。
もしスペースだけの行があったら、先にそれを始末する必要があるけど。
0720デフォルトの名無しさん
NGNG0721デフォルトの名無しさん
NGNGここの過去ログだけでもそれなりのものは作れそうだが
0722デフォルトの名無しさん
NGNGでBMPファイルを開けるのですが
画像ファイル(BMP.JPG.GIF)
というように1つのフィルターで複数開けるようにしたいのですが
どのようにすればよいのでしょうか?
0723デフォルトの名無しさん
NGNGCommonDialog1.Filter = "ピクチャ (*.bmp;*.jpg;*.gif)|*.bmp;*.jpg;*.gif"
0725デフォルトの名無しさん
NGNGVBとどう違う???
VBはやっぱ難しい?
アホな質問でスマソ。
0726P061198129228.ppp.prin.ne.jp
NGNG追加したフォームなどをメニューエディタで作った項目から
開くにはどのようにしたらよろしいのでしょうか?
0727デフォルトの名無しさん
NGNGVBとVBAでは言語規則は殆ど同じ。
言語というよりコントロールの使い方がキモやね。
違うところといったらVBはコントロールとかが作れるってことかな。
(EXEが作れるかどうかという違いも当然あるけど)
その分難しいといえば難しいけど、
リンゴとミカン、どっちがおいしい?って聞いてるみたいなもんだよ。
好みや使い方でも変わってくる。
でもまぁ、VBAでできることは全部VBでできるけど
逆は無理なことがあるってかんじかな。
0728デフォルトの名無しさん
NGNGLoad frmSecond
frmSecond.Show
0729725
NGNGThanks!
0730デフォルトの名無しさん
NGNGCドライブのルートから、全ディレクトリ名とファイル名を
-----------
■C:\
[DIR]
Documents and Settings,Program Files,WINNT・・・
[FILE]
AUTOEXEC.BAT,CONFIG.SYS・・・
■C:\Documents and Settings\
[DIR]
Administrator,All Users,Default User・・・
■C:\Documents and Settings\Administrator\
[DIR]
Application Data,Cookies,Favorites・・・
[FILE]
NTUSER.DAT,ntuser.dat.LOG・・・
・
・
・
■C:\Program Files\
[DIR]
・・・
-----------
こんな風にTXTファイルに書き出したいんですけど、どうもループの
かけ方がうまく考えられません。どなたか上手い考え方あれば
ご教授ください。お願いします。
0732デフォルトの名無しさん
NGNG0734732
NGNG0736デフォルトの名無しさん
NGNGIf...Then Exit Do って書き方ってあまり良くないですか?
それとcontinueないから全然Do...Loop使えないんですけど。
0737デフォルトの名無しさん
NGNGいいんじゃないの?
continueないと不便だけど、Ifでなんとかできるでしょ。
0738デフォルトの名無しさん
NGNG0739デフォルトの名無しさん
NGNGLabel1.Caption = "AAA" & vbCrLf & "BBB"
0740デフォルトの名無しさん
NGNGData Environmentを追加したいのですが方法がわかりません。
プロジェクト→コンポーネント→デザイナタブ、の中にData Environmentチェックボックスが存在しません。
また、表示→データビューウィンドウ→DataEnvironmentの追加を選ぶと、
「ActiveXコンポーネントはオブジェクトを作成できません」というエラーになります。どなたか対処法を教えていただきたいのですが?
0741厨房王
NGNGプログラムは努力の末、完成しました。でもウイルスを作ろうと思
ったのでは決してありません。現在はデータベースを構築し、筆王
に近い形のアプリを作成したいと思っています。あれぐらいなら可
能だと思うのですが、みなさんはどう思われますか。
味噌を言えば、はがきの文面をどのようにして、VBで作成するかで
すが、まずはデータベースから。分からない事があったら、またお
願いします。
0742デフォルトの名無しさん
NGNGこんちわ。多分、貴方を以前ウイルス作成者ではないかと疑ったと
貴方が思っている者です。
心配しないでください。あれくらいの事がわからない奴に
ウイルス程度でも作れるとは思ってませんから。
市販アプリと同じようなものが作れると思ってしまうのは
初級後半〜中級者が陥りやすい罠ですが、誰もが通る道ですので
気にしないでがんばってくださいね。
まぁ俺も厨房っちゅうことだ(藁
俺でわかることなら答えるんでまたきーてくれや。
0743デフォルトの名無しさん
NGNGようには見えないモノも十分作れます。
ただし、そこまでしてVBを使う事に意味があるかどうかは各々
の価値観次第です。
0744デフォルトの名無しさん
NGNG繰り返し公式なんですけど
x2=a*x1+5*x1/(1+x*1^2)+y1,y2=-x1
におけるカオスを求めたら
アニメーションするプログラムであることがわかったんですけど
これだけではだめな見たいなんです
0745デフォルトの名無しさん
NGNG0746nks
NGNG変形する簡単な方法を、どなたかご存知ないでしょうか?
教えてください。
0747名無しさん
NGNGピクチャボックス自体は大きさしか変わらない。
描画したものを変形させるってことなら計算。
0748デフォルトの名無しさん
NGNGフォームの形なら比較的簡単に変えられますが、、、
ピクチャボックスは分かりません スマソ
0749デフォルトの名無しさん
NGNGPictureBoxの中に表示されてる画像もせっとで変形って事?
それとも、枠のみ変形(画像自体は変形しない)って事?
前者は難しい。
後者なら、簡単だじゅ。
0750744
NGNGわたし独りの力じゃどうにも。。。
0751nks
NGNG0752748
NGNGピクチャボックスだけならこんな感じかな? イカサマくさいけど
フォームにピクチャボックスを配置して、次のコードをコピペ
'標準モジュール
Option Explicit
Public Declare Function SetWindowRgn Lib "user32" ( _
ByVal hWnd As Long, _
ByVal hRgn As Long, _
ByVal bRedraw As Boolean) As Long
Public Declare Function CreatePolygonRgn Lib "gdi32" ( _
lpPoint As POINTAPI, _
ByVal nCount As Long, _
ByVal nPolyFillMode As Long) As Long
Public Declare Function DeleteObject Lib "gdi32" ( _
ByVal hObject As Long) As Long
Public Type POINTAPI
x As Long
y As Long
End Type
Public Const ALTERNATE = 1
Public Const WINDING = 2
0753748
NGNGOption Explicit
Private mlngRet As Long
Private mlngFormation As Long
Private Sub Deformation(lngFormation As Long)
Dim hRgn As Long
Dim lpPoint(1 To 4) As POINTAPI
Select Case lngFormation
Case 1
lpPoint(1).x = 100
lpPoint(1).y = Picture1.Top
lpPoint(2).x = Picture1.Width
lpPoint(2).y = Picture1.Top
lpPoint(3).x = Picture1.Width - 100
lpPoint(3).y = Picture1.Top + Picture1.Height
lpPoint(4).x = Picture1.Left
lpPoint(4).y = Picture1.Top + Picture1.Height
Case 2
lpPoint(1).x = 100
lpPoint(1).y = Picture1.Top
lpPoint(2).x = Picture1.Width - 100
lpPoint(2).y = Picture1.Top
lpPoint(3).x = Picture1.Width
lpPoint(3).y = Picture1.Top + Picture1.Height
lpPoint(4).x = Picture1.Left
lpPoint(4).y = Picture1.Top + Picture1.Height
0754748
NGNGlpPoint(1).x = Picture1.Width \ 2
lpPoint(1).y = Picture1.Top
lpPoint(2).x = Picture1.Width
lpPoint(2).y = Picture1.Top + Picture1.Height \ 2
lpPoint(3).x = Picture1.Width \ 2
lpPoint(3).y = Picture1.Top + Picture1.Height
lpPoint(4).x = Picture1.Left
lpPoint(4).y = Picture1.Top + Picture1.Height \ 2
Case 4
lpPoint(1).x = Picture1.Left
lpPoint(1).y = Picture1.Top
lpPoint(2).x = Picture1.Width
lpPoint(2).y = Picture1.Top
lpPoint(3).x = Picture1.Width
lpPoint(3).y = Picture1.Top + Picture1.Height
lpPoint(4).x = Picture1.Left
lpPoint(4).y = Picture1.Top + Picture1.Height
End Select
hRgn = CreatePolygonRgn(lpPoint(1), 4, WINDING)
Call DeleteObject(mlngRet)
mlngRet = SetWindowRgn(Picture1.hWnd, hRgn, True)
End Sub
0755748
NGNGmlngFormation = 1
With Picture1
.BorderStyle = 0
.Top = Me.ScaleTop
.Left = Me.ScaleLeft
.Height = Me.ScaleHeight
.Width = Me.ScaleWidth
End With
End Sub
Private Sub Form_Unload(Cancel As Integer)
Call DeleteObject(mlngRet)
End Sub
Private Sub Picture1_Click()
Call Deformation(mlngFormation)
mlngFormation = mlngFormation + 1
If mlngFormation > 4 Then mlngFormation = 1
End Sub
0756748
NGNGはずしてたらスマソ
画像の変形は面倒
0757748
NGNGスケールモードはピクセルにしてね
0758デフォルトの名無しさん
NGNG質問の要点が分からん
0759744
NGNGすみません返信ありがとうございます
この繰り返し公式のプログラムを実行すると、
アニメーションするんですが、
これ以外にも意味があるらしいんです
0760nks
NGNG0761デフォルトの名無しさん
NGNGデスクトップってインストールしている環境によってPATHが違うじゃないですかー。
これって、どうやって指定したら良いんですかい?
0762デフォルトの名無しさん
NGNGそのくらい自分で調べれ
http://www.google.com/search?num=100&hl=ja&q=%83f%83X%83N%83g%83b%83v%81@%83p%83X%81@%8E%E6%93%BE&lr=
0763デフォルトの名無しさん
NGNG何を聞きたいのか、それでは解りません。
0764761
NGNG0765デフォルトの名無しさん
NGNGオレのデスクトップに、ファイルやショートカットを
勝手に置くようなアプリは100回削除してやる!
0766デフォルトの名無しさん
NGNG成功してもバックグランドでEXCELが解放されなくて残っちゃうんですけどどうすれば
いいんしょうか?
ちなみにソースはこんな感じ
出先なんでスペルミスとかあるかもしれないけど起動と読み書きと閉じることは成功
してます。
誰か教えてください。
dim exl as object
dim wb as object
dim ws as object
set exl=createobject("excel.application")
set wb=exl.application.workbooks.open(既存のエクセルファイルのフルパス)
set ws=worksheets(上記エクセルファイルの参照するシート名)
ここから開いたエクセルファイルの読み書きをする
wb.save
wb.close
exl.Quiet
set ws=nothing
set wb=nothing
set exl=nothing
0767デフォルトの名無しさん
NGNG本質的なことではないかもしれないけど、
exl.Quiet → exl.Quit
ではないかと
0768デフォルトの名無しさん
NGNG0769766
NGNGただのスペルミスです、無視してください(恥
>>768
黙らせた後どうしたらよいのでしょうか?
0770767
NGNGSet ws = Worksheets("Sheet1")
↓
Set ws = wb.Worksheets("Sheet1")
exl.Quiet
↓
exl.Quit
0771766
NGNGありがとうございます、試してみます。
0772デフォルトの名無しさん
NGNGGetChunkにicByteArrayを渡した後の処理が分かりません。
こっち系のサンプルが乏しいものでよく分かりません。
0773デフォルトの名無しさん
NGNGなにをしたいの?
「GetChunkにicByteArrayを渡した後の処理」って
貴方がなにをしたいかによって変わってくるよ。
それともGetChunkをどこでやればいいのかとかがわからないとか?
それならヘルプみてみ。ばっちり書いてあるよ。
icByteArrayだろうがicStringだろうが流れはかわらんからね。
バイト配列の使い方がわからないならそれ以前の問題やね。
0774デフォルトの名無しさん
NGNG0775デフォルトの名無しさん
NGNGTextboxやLabelの左枠と文字の間隔って変えられないでしょうか。
-----------------
|←ココ→ああああ
-----------------
やっぱ無理すかね・・・?
0776名無しさん
NGNGスペース挿入、ってこんな簡単な事じゃないんだろうね
0777デフォルトの名無しさん
NGNGのってどうすればいいですか?
OLEコンテナとかで開けばいいんですか。
0778デフォルトの名無しさん
NGNG関連付けられたアプリならShellExecuteっていうのは既出だが
0779デフォルトの名無しさん
NGNGVBだけでやるなら、PictureBoxの中に
BorderStyle=0にしたTextBox置けばいいんでない?
(背景色を合わせれば見た目わからんよ)
いやならTextBoxにEM_SETRECTでも送ればできるんでないかな。
0781デフォルトの名無しさん
NGNGSendMessageとかのAPIでEM_SETRECTというメッセージを
TextBoxに送ると、上下左右のマージンを変えられるんよ。
(ただしMultiLine=Trueの場合ね)
コンテナにコントロールを入れて使うってのVBではよくやるよ。
Enabled=Falseにしたときにグレーにしたくない場合とか
PictureBoxやFrameとかのコンテナにTextBoxを入れて、
コンテナの方のEnabledを変えるんよ。
すると入力はできなけど見た目は変わらないってのができる。
Enabledを変更するコントロールが多いときなんかも便利。
Lockだとフォーカスが移っちゃうけどこれだと移らないしね。
ちなみにLock=TrueにしてもShift+Insで変更できちゃうんだよね。
このへんきちんとしてないプログラムって多いだろうな。
0782デフォルトの名無しさん
NGNG僕、>>780さんじゃないですが、初心者です。
ほんと勉強になります。
その「ちなみに」を回避するのって、
キーコード取って禁止するしかないんですか?
0783野口
NGNGWrite #1, #02/01/05#
↓
"02/01/05"
このダブルクォーテーションを付けない方法はないのかい?
0784777
NGNGすいません。
ヘルプで検索したら全部英語でした…
0785デフォルトの名無しさん
NGNGhttp://www.microsoft.com/JAPAN/developer/library/jpuipf/_win32_shellexecute.htm
0786デフォルトの名無しさん
NGNGWriteじゃなく、Printで書き出せばおっけー
0787777
NGNGThanx!
0789781
NGNGそれが一番楽なんでない?
KeyDownでKeyCode=0すれば無効にできるよ。
フォームのKeyPreview=Trueにできるならば
フォームのKeyDownイベントにかけばいいだけだし。
0790デフォルトの名無しさん
NGNG0791デフォルトの名無しさん
NGNG同意
0792トンガり
NGNGdim total as integer
dim i as integer
total=0
for i=1 to 10
total=total+1
next i
という書き方だとようするにtotal=total+1を10回おこなう
という意味なんですか?そして結果totalが10になるという事
ですか?
0793デフォルトの名無しさん
NGNG0794デフォルトの名無しさん
NGNGそろそろ流行語に選ばれても良いと思う。
0795デフォルトの名無しさん
NGNG0796デフォルトの名無しさん
NGNGHDDの中からテキストをロードするやり方をおしえてください。
Label3.Caption = loadtext("c:\file\index.txt")
みたいな感じではだめなのでしょうか?
0797767
NGNGOpen ステートメントを使うよろし
詳しくはMSDNで
0798デフォルトの名無しさん
NGNGLabel3.Caption に出したいのですがどうすればいいのでしょうか?
どうかおしえてください。お願いします。m(_ _)m
open (c:\file\index.text) for output
0799デフォルトの名無しさん
NGNGではダメみたいです。
どうすればいいのでしょうか・・・
0800デフォルトの名無しさん
NGNGDim strBuff as String
Dim intFileNum as Interger
intFileNum = FreeFile()
Open "C:\file\index.txt" For Input as #intFileNum
Line Input #intFileNum, strBuff
Close #intFileNum
Label3.Caption = strBuff
0801800
NGNG↓
Dim intFileNum As Integer
0802デフォルトの名無しさん
NGNG試してみるのが一番早いし身になるぞ。
>total=total+1を10回おこなう
ちょっと違う。
iが10になるまでtotal=total+1を繰り返し行うという意味。
んで、totalの値は毎回変化するから...
あとは自分で試してみてや。
0803デフォルトの名無しさん
NGNGありがとうございました。
もうひとつあるのですが、
ファイルが file(1).txt file(2).txt file(3).txt とたくさんあって
i番目の時にfile(i).txtを選ぶようにするにはどうしたらいいのでしょうか?
0804デフォルトの名無しさん
NGNGOpen "C:\file(" & i & ").txt" For Input as #intFileNum
0805デフォルトの名無しさん
NGNGDim strBuff_1 as String
Dim strBuff_2 as String
Dim intFileNum_1 as Interger
Dim intFileNum_2 as Interger
intFileNum_1 = FreeFile()
intFileNum_2 = FreeFile()
Open "C:\file\index_1.txt" For Input as #intFileNum_1
Line Input #intFileNum_1, strBuff_1
Close #intFileNum_1
Open "C:\file\index_2.txt" For Input as #intFileNum_2 ←ここ
Line Input #intFileNum_2, strBuff_2
Close #intFileNum_2
Label3.Caption = strBuff_1
Label4.Caption = strBuff_2
こんなふうにしたら矢印のとこでエラーがでてしまったのですが
freefile()がたぶん原因だと思うのですが、どうすればいいのでしょうか?
0806デフォルトの名無しさん
NGNGこれ定説。
0807デフォルトの名無しさん
NGNGこの文のおかしいところってわかりますか?
エラー候補でAsらしいんですけど・・・
>>804ってファイル名だけじゃなくてフォルダ名にも有効
なのでしょうか?
0808デフォルトの名無しさん
NGNG&の前後にスペースを入れる
ファイル名はドライブ名から指定する
例
Open "C:\tekisei\toi" & i & "\toi.txt" For Input As #intFileNum_toi
0809デフォルトの名無しさん
NGNGとだけでてヘルプが見れません。さらに、入力候補のウインドウも出てきません。
C++だと、「ファイルが見つかりません。インストしなおしてください」と出ました。
何回再インストールしなおしても同じ状況です。何か考えられる原因は無いでしょうか
0810驚くほど初心者…
NGNGIf Image2(0).Tag = "up" Then
Image2(0).Picture = Image2(2).Picture
Image2(0).Tag = "down"
Else
Image2(0).Picture = Image2(1).Picture
Image2(0).Tag = "up"
End If
ボタンを押すと押した時のボタンの画像にはなるんですが
他のボタンを押した時に前に押していたボタンの画像を元に戻したいのですが
何を加えればよいでしょうか?
なにぶん初心者なもので助言いただければと思います。
0811デフォルトの名無しさん
NGNGForですべてのグラフィカルボタンの画像をup画像に変更。
もしくは、静的変数で前押したボタンのindexを記憶させておく。
VB使いじゃないんで考え方の説明しかできないが。
0812デフォルトの名無しさん
NGNGその前にMSDNはインストールしたんかい?
0813デフォルトの名無しさん
NGNGVSの後にインストしました。
0814デフォルトの名無しさん
NGNG640*480にしたいのですが
どうしたらよいのですか?
ScaleMode 3にしても 0 に変わってしまうところが
いまいち。
0815トンガり
NGNGprivate sub comand1_click()
form1.forecolor=qbcolor(4)
form1.line (2000,1000)-(3000,1500)
end sub
だとちゃんとでるのですが、
private sub comand1_click
form1.line (2000,1000)-(3000,1500)
form1.forecolor=qbcolor(4)
end sub
だとでません。
これはプロパティーは先に書かなきゃいけないという決まりがあるんでしょうか?
0816デフォルトの名無しさん
NGNGうん。あくまで、指定した前景色で描かれるということで、後から
変更できるわけではないよ。
0817デフォルトの名無しさん
NGNGフォームサイズは、Twips単位じゃなかったっけ? だとすれば、
TwipsPerPixelX(Y)で計算してあげればおっけーでしょ。
WM_GETMINMAXINFOとかを使うまでもないやね。
0818デフォルトの名無しさん
NGNGなぜ、CommandButtonを使わない?
0820デフォルトの名無しさん
NGNGMSDNみてもわかりませんー
どうやったら640*480のウィンドウできますかー
0821デフォルトの名無しさん
NGNGこれくらいは検索しる!答え出とるやんか!
0822デフォルトの名無しさん
NGNGテキストボックス五個用意してコマンドボタンを押すと並べ替えられる奴。
お願いします。
0823デフォルトの名無しさん
NGNGソートとかで検索しる
0824デフォルトの名無しさん
NGNG計算式はわかりましたがScaleHeightが変わりませんー
これってどうしてなのですか??
WidthとHeightは変わるのに
ScaleHeightが変わってくれないとサイズが合いません。
APIつかってタイトルバーのサイズ取得しないとだめですか?
0825デフォルトの名無しさん
NGNGループさせる時に「配列の最後」ってどうやってとれば良いのですか?
0826デフォルトの名無しさん
NGNG検索して調べてみても良く分からないので…
Microsoft Visual Basic V6.0
Enterprise Edition アカデミック\20,500
Microsoft Visual Basic V6.0
Professional Edition アカデミック \13,000
0827デフォルトの名無しさん
NGNG0828825
NGNG動的配列というのに挑戦してるんです。
適当に配列増やしていたら、今、いくつあるのかが分からなくて
困っているのです・・・。
0829826
NGNG0830825
NGNGスレ汚しすみません。
0831デフォルトの名無しさん
NGNGVB以外にすれば? Delphiとかならフリー版もあるし。
0832デフォルトの名無しさん
NGNGwinMXに繋いで「Visual Basic V6.0」で検索して
「すいません、頂いてもよろしいでしょうか?」とかIM入れて
「そっちのリスト見せてくれる?」とか逝かれ犯罪者に言われて
「では、頂かせて頂きます」
とかすればロハで入手出来るよ
それがどう言う事かは分かるよね
0833トンガり
NGNGprivate sub form1_load
form1.forecolor=qbcolor(4)
form1.line (2000,2000)-(3000,1500)
end sub
だとでないのですが、これはプロシージャがcommand1等にしなきゃいけないのですか
0834デフォルトの名無しさん
NGNG0835826
NGNGファイルマネージャを作るのにはどの言語がイイのでしょう
持たせたい機能は
あるフォルダ以下からすべてのファイルを拡張子別に抽出
拡張子ごとにフォルダに分けるなどです。
0836デフォルトの名無しさん
NGNG謎。
0837>>835
NGNGくだらない質問スレにでも逝ってください
0838名無しさん@お腹いっぱい。
NGNGDim WSHShell
Set WSHShell = WScript.CreateObject("WScript.Shell")
WSHShell.Run "C:\Program Files\Windows Media Player\WMPLAYER.EXE"
メディアプレーヤ起動するだけなんだけど、ファイルが見つからないって
言われてしまいます.なんで???
0839デフォルトの名無しさん
NGNGとりあえず、ファイルの存在くらい確かめてみない?
0840名無しさん@お腹いっぱい。
NGNGレスありがと。ファイル名の両側にchr(34)付けて解決しました。
理由はわかんないけど
0841781
NGNG>計算式はわかりましたがScaleHeightが変わりませんー
>これってどうしてなのですか??
あんたがなにをやってるのかなんてわかんねーよ。
どうしてなのですか?ってこっちがききてーよ。
640*480のウィンドウってウィンドウサイズが640*480Pixel?
それともクライアント領域が640*480Pixel?
それによってやり方が変わってくるぞ。
ウィンドウサイズを640*480にするなら
Me.Width = wx + 640 * Screen.TwipsPerPixelX
Me.Height = wy + 480 * Screen.TwipsPerPixelY
クライアント領域を640*480にするなら
Dim wx&, wy&
Me.ScaleMode = 1
wx = Me.Width - Me.ScaleWidth
wy = Me.Height - Me.ScaleHeight
Me.Width = wx + 640 * Screen.TwipsPerPixelX
Me.Height = wy + 480 * Screen.TwipsPerPixelY
0842781
NGNGform1のAutoRedrawがfalseになってないか?
なぜそうなるのかがわからないうちは
とりあえずAutoRedraw=Trueにしておけば問題ないぞ。
ちっとメモリ食うけどな。
0843781
NGNG「"」chr(34)を両端につけないと、
「C:\Program」「Files\Windows」「Media」「Player\WMPLAYER.EXE」
という4つの引数が渡されたと勘違いしちまうんよ。
空白を含むファイル名のときはそうしないといけないんだな。
0844名無しさん@お腹いっぱい。
NGNG了解。そういう動きなんだから仕方ない。次の質問です。
起動したMPにコマンドを送ろうとしたんだけどACTIVATEの動きが変です。
WSHShell.AppActivate "Player"
この命令は対象が最小化されているときや別画面がACTIVEの時はうまく動かない。
どんな状況でも確実に画面をACTIVEにする方法はないかな
0845807
NGNG以下の質問どなたかご返答お願いします。
ファイルの読み込みの際、C:からではなく相対パスでの読み込みはできますか?
0846デフォルトの名無しさん
NGNGありがとう。
結局フォームのサイズを変えたいときは
「ScaleWidthとScaleHeightをいじる」のではなく
「WidthとHeightをいじる」でよいのだろうか。
ファイナルアンサー?
0847デフォルトの名無しさん
NGNG相対パス指定出来るよ。
カレントディレクトリを使うやり方は、
CurDrv と CurDir を変更すればよい。
普通は、App.PathでExeのパスを取得して、
sFileName = App.Path & "\Log\MyLogFile.Log"
などとしてフルパスにしちゃうかも。
0848デフォルトの名無しさん
NGNGどこにあるというのですか!
探すとないんですが。
0849仕様書無しさん
NGNG0850デフォルトの名無しさん
NGNGアスキーコードのことなら、MSDNヘルプに載ってるよ。
0851デフォルトの名無しさん
NGNG0852デフォルトの名無しさん
NGNG文句あるか?
0853デフォルトの名無しさん
NGNG乱数を発生させるにはどうしたらよかとですか??
0854デフォルトの名無しさん
NGNG0から50の間の乱数を発生させて、それに50を足す。
0855デフォルトの名無しさん
NGNGサイズを変更するにはWidthとHeightでOK。
WidthとHeightは親ウィンドウ(コンテナとか)のScaleModeに従う。
フォームだったらデスクトップになるわけや。
Scale〜ってのはクライアント領域の座標を指定するときのプロパティ。
ScaleModeでクライアント領域をどういう尺度で見るかを指定する。
ScaleMode=0,ScaleLeft=0,ScaleWidth=1ならば、
その中の座標は0〜1で指定することになるわけや。
(座標0.5のところに何か描画するってした場合、
そのウィンドウがどんなサイズのときも必ず中心に描画されるって訳)
0856デフォルトの名無しさん
NGNG任意の範囲の整数の乱数を生成するには、次の式を使ってください。
Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
0857807
NGNG>CurDrv と CurDir を変更すればよい。
この表記、MSDNで検索してもでてこなかったのですが、、、
>普通は、App.PathでExeのパスを取得して、
>sFileName = App.Path & "\Log\MyLogFile.Log"
>などとしてフルパスにしちゃうかも。
も含めて、>>800を使っておしえていただけないでしょうか?
0858デフォルトの名無しさん
NGNG"C:\Program Files\MyProg\file\index.txt"を開く場合
Dim strBuff As String
Dim intFileNum As Integer
Dim strFullPath As String 'フルパス
Dim strSoutaiPath As String '相対パス
strSoutaiPath = "\file\index.txt"
strFullPath = App.Path & strSoutaiPath
intFileNum = FreeFile()
Open strFullPath For Input as #intFileNum
Line Input #intFileNum, strBuff
Close #intFileNum
Label3.Caption = strBuff
0859デフォルトの名無しさん
NGNGこれ、俺も知りたいんだが、解決できた?
フォルダ内のavi、mpeg、rmとかの画像を抜いてリストを作り、
エロ動画CDRを整理したい・・・
susieプラグインで、aviをBMPが入った書庫のように扱うというのが
あったけど、プログラムから使えるのは
それくらいしかみつからないな・・・
他になんかあったら情報ぷりーず。
0860デフォルトの名無しさん
NGNG>>154 はマルチポストっぽかったので無視してた。
どうやら別のほうで回答してもらったようです。
この回答に対する返事もお礼もなかったようですが
>> 今回はVBでMediaPlayerに表示される画像の静止画のキャプチャを考えています
>が、
>> Bitbltでスクリーンコピーすると動画の部分だけが真っ黒になってしまいます。
>> またBitblt以外でのキャプチャ法はありませんでしょうか?ご教授お願いいたしま
>す。
>
>私はキャプチ映像をWindows Media Fileへ変換するツールを作成中です。
>私のほうは動画ですが。
>参考にならなかったらすみません。
>私の方法はWindows Media エンコーダのSDKを使用しています。
>http://www.microsoft.com/japan/windows/windowsmedia/wm7/encoder.asp
>
>マニュアルなどが英語のため理解に苦しんでいますが、
>キャプチ映像の動画・静止画へのエンコードは出来ました
0862デフォルトの名無しさん
NGNG一枚だけなら出るんだけど、ディレクトリ内の全てのをだしたいのよ。
0863デフォルトの名無しさん
NGNGkodakimg.exe で複数のサムネイル表示ってできる?
0864862
NGNG0865デフォルトの名無しさん
NGNG自動的に親フォームの中央にちらつきせず表示させるには
どうすればよいのでしょうか?
一応、以下のコードをLoadに記述してますが、
これだと移動前の位置で表示されるので画面がちらつきます。
frmy.Move (Screen.Width - frm.Width) \ 2, (Screen.Height - frm.Height) \ 2
何か良い方法はないでしょうか?
0866>>844
NGNGことで解決しました。
0867847
NGNGすまん、CurDir ChDrive ChDir だったよ。
正解は >>858が書いてくれたようだ。
古いやり方を説明すると、ドライブごとにカレントディレクトリを記憶しているので。
CurDir でカレントドライブとカレントディレクトリを取得。
ChDrive でカレントドライブを変更。
ChDir でカレントディレクトリを変更。
あとは、Openのファイル名でファイル名だけを指定すれば開ける。
ただし、UNC表記(\\Computer\Share\Fileなど)には対応できない。
0868デフォルトの名無しさん
NGNGありがとう。これ調べてみます。
しかし、俺にはちょっと難しそうだ。
0869始めて2週間
NGNGがないのでどうも身が入りません。
何かこんなの作ってみれば?みたいなのあれば教えてください。
0870デフォルトの名無しさん
NGNG日ごろ自分がコンピュータを使っていて、
面倒に感じること、誰かやってくれねーかな
と思うことを、プログラムにやらせる
0871P061198129176.ppp.prin.ne.jp
NGNGそういう奴に限って普段パソコンをメールとネットくらいにしか
使ってないんだよ。
0872デフォルトの名無しさん
NGNG晒してまで言うことじゃない。
0873デフォルトの名無しさん
NGNGひたすらドキュメント(MSDNとか)読み漁ってみるのはどうだろう。
「こんな機能あるんだ」→「こんなことできるな」
という思考展開がありうる。
0874デフォルトの名無しさん
NGNG1枚出るなら、それを繰り返せばいいのでは?
0875デフォルトの名無しさん
NGNG唯一、Resizeイベントで調節できましたが、切れた感じになってしまって使え
ないんです。どこをいじれば調節できるようになるんでしょうか。よろしくご教授
くださいm(_ _)m
0876デフォルトの名無しさん
NGNG0877VBマスター
NGNGDim objClass As Object
strClassName = "Class1"
Set objClass = New strClassName
という具合に任意のクラスのインスタンス化って可能ですか?
0878はははは
NGNGコレなんかかなり面白いかと。
0879デフォルトの名無しさん
NGNGCoolBarコントロールは初耳です。
>>876
実行中実行した場所に通るコード上に Columnsプロパティを変更
するコードを記述します。
>>877
実行したら判ります。
0880VBマスター
NGNGエラーが出ることはわかっています。
できる方法はないのでしょうか?
他のステートメントを利用(例えばCreateObject)しても
無理ですか?
0881879
NGNGこのプロパティを実行時に 0 に設定したり、0 からほかの値に変え
ることはできません。つまり、実行時に複数の列のリスト ボックス
コントロールを、1 列のリスト ボックス コントロールに変更した
り、その逆に変更することはできません。(from MSDN Jan 200)
0882デフォルトの名無しさん
NGNGVBでは実行時に変更できないと思います。
Windows Common Control の List View コントロールとかでは
だめなんですか?
0883デフォルトの名無しさん
NGNG貼り付けるグラフィックスの Height にしかなんねぇんじゃね?
0884ぶっちゃけ
NGNGあったら教えてほしいのですが.
0885デフォルトの名無しさん
NGNGMSDN。
このやりとりも結構多いね(w
0887デフォルトの名無しさん
NGNG更新日時だけを取得したいのです。
ファイル本体は読み込まずに更新日時だけを取得する方法があれば教えてください。
0888デフォルトの名無しさん
NGNG0889デフォルトの名無しさん
NGNG"HEAD”をリクエストして"Last-Modified”を取得
"Last-Modified”が返ってこない場合は知らん
Yahoo は返ってこなかったけど
Private Sub Command1_Click()
With Inet1
.Execute "http://pc.2ch.net/test/read.cgi/tech/1006922992/", "HEAD"
Do While .StillExecuting
DoEvents
Loop
End With
End Sub
Private Sub Inet1_StateChanged(ByVal State As Integer)
Select Case State
Case icResponseCompleted
Debug.Print Inet1.GetHeader("Last-Modified:")
Inet1.Cancel
End Select
End Sub
0890889
NGNG決まり文句だが、、、RFCを読みましょう
http://www.w3.org/Protocols/rfc2616/rfc2616.html
0891デフォルトの名無しさん
NGNGさっそくやってみます
0892名無しさん
NGNGpath = data.Files(1)
とした時、path(string型)に格納されたデータに
"c:\windows\***.exe"
てな具合にダブルコーテーションがつくのだが
付けない方法ってありますか?
一々Mid関数などを使って削除しないとダメ?
0893デフォルトの名無しさん
NGNG付いてないと、スペース入りのフォルダやファイル名で困ることになる。
両端をカットするぐらい、どってことないじゃん。
0894デフォルトの名無しさん
NGNG対象のコントロールが何かわからないけど、ピクチャボックスだと
ダブルコーテーション付かないね。
削除するなら Replace$ の方が楽かと
0895名無しさん
NGNG実はshell関数で立ち上げるアプリのパスにドラッグした
パスを付けたいのでドラッグした時点で付くダブルコー
テーションが邪魔だったわけです。
>>894
対象のコントールはコマンドボタンです。なるほど、ピクチャ
だと付かないのですか。Replace$は初めて聞きました。
MSDNで調べてみます。
0896デフォルトの名無しさん
NGNGコマンドボタンでも付かないような
「新規テキスト ドキュメント.txt」をドロップしても普通に開きますが
Private Sub Command1_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim strFile As String
strFile = Data.Files(1)
Debug.Print strFile
Shell "notepad.exe " & strFile, vbNormalFocus
End Sub
0897デフォルトの名無しさん
NGNGそもそも、何がしたいかわからんけど。
これは、出来るんじゃない?
Dim s As String
Dim o As Object
s = "ADODB.Connection"
Set o = CreateObject(s)
FactoryMethodみたいなことをしたいなら、
Select Case s
Case "CON"
Set o = New ADODB.Connection
Case "RS"
Set o = New ADODB.Recordset
End Select
とかかな。
0898デフォルトの名無しさん
NGNGReplaceは関数なので、$をつけないほうがいい。
"が付くのは、コマンドボタンじゃなくて、Command関数だろう。
つまり、起動前のアイコン状態でドロップされた時。
0899デフォルトの名無しさん
NGNGLeft$ Right$ Mid$ Chr$ 等も
やはり $ をつけない方がよいのでしょうか
0900デフォルトの名無しさん
NGNG$をつけたほうが良い、つけないとVariantで帰ってくるのでリソースの無駄。
$をつけようがつけまいが関数です。
0901デフォルトの名無しさん
NGNGそれはどっちでもいいんだけど、いちおう付けないほうが推奨されてるかな。
引数エラーでも、""とか返してくれるし。
ただ、Replaceだけは別格で、MSDNヘルプでも、Replace$の項目がない。
いちおう、正常に動作するけど。
0902デフォルトの名無しさん
NGNGつけない方がいいというか、Replace$なんて関数はないね。
>>899
$が付く関数はString型を対象とし、
つかない関数はVariant型を対象とする、
という違いがあるので、その違いを踏まえた使い分けをすべき。
あくまで文字列を対象にしたいんだって時には$を付けとくと、
As Integerな変数を放り込んだ時にコンパイルエラーがでるから、
それが幸せだと思える人は幸せになれる。
思えない人は付けないでおけばいい。
0903900
NGNG先日、↓を読んだもので過剰に反応してしまった。
実際に使うときは、そんなに気にするものでも無さそう。
「プログラミングVisualBasic6.0 Vol.1基礎編」p.247
> VBAドキュメンテーションでは、すべての文字列関数について、末尾の$文字が付
> かない新しい$のつかない関数を使用するように勧めている。しかし実行速度の観点
> からいえば、これはお勧めできる方法ではない。$の付かない関数は、文字列結果を含
> むバリアント型を返すので、バリアント型が文字列に再変換されてからでないと、式
> での再利用や文字列変数への割り当てが出来ない場合が多い。これは時間の浪費であ
> り、得るものが何もない。非公式のベンチマークによれば、Left$関数は$のつかない
> 関数の最高2倍の速さである。同様の論法が、両方のフォームに存在する別の関数、
> LCase、UCase、LTrim、RTrim、Trim、Chr、Format、Space、Stringなどにも
> あてはまる。
0904デフォルトの名無しさん
NGNGバリアントのほうがメモリ食うのは知ってたけど、速度的にそんなに差が出るかな。
数値型への変換ならともかく、もともと文字列型にゴミがついてるようなもんなんだし。
0905デフォルトの名無しさん
NGNGFor i = 0 To 10000000
strTest = "TEST"
strTest = Left$(strTest, 1)
Next i
For i = 0 To 10000000
strTest = "TEST"
strTest = Left(strTest, 1)
Next i
0906900
NGNGPrivate Sub Command1_Click()
Dim sngTimer As Single
Dim sTest As String
Dim s As String
Dim n As Long
Dim nLoopMax As Long
nLoopMax = 10000000
m_sTest = String(nLoopMax, "*")
sngTimer = Timer()
For n = 1 To nLoopMax
s = Left(sTest, n)
's = Left$(sTest, n)
Next
Debug.Print "Timer=" & (Timer() - sngTimer)
End Sub
結果
Left$のとき Timer=3.625
Leftのとき Timer=6.438477
0907しろうと
NGNG○下に示した10人の選手の名前、打数、安打数のデータを
配列に代入してから、各選手の打率を求め、
打率が高い順に並べ替えて、選手名、打数、安打数、打率を
リーグ別に表示するプログラムを作れ。
選手名 リーグ 打数 安打
小笠原 2 576 195
ペタジーニ 1 463 149
・・・・・・・・・・・・・・他八人
0908せんせい
NGNG0909892
NGNGサンクス。どうやら勘違いだったようです。スマソ。
下のでいけました(簡略化してますが)。
Dim strFile As String, Path As String
strFile = Data.Files(1)
Path = ********.exe(アプリケーションのパス)
Shell path & " " & strFile, vbNormalFocus
どうやらアプリのパスとファイルのパスの間に空白が
入っていなかったケアレスミスでした
他の皆さんお騒がせしました。でもおかげでReplace
や$について勉強になりました。
0910しろうと
NGNGそこを何とかお願いします。
授業聞いても教科書見てもよく分からないんです。
0911デフォルトの名無しさん
NGNGn次元の配列にデータ放り込んで、
割ったりソートしたり
0912デフォルトの名無しさん
NGNGとりあえずできたとこまでコード晒せ
0913しろうと
NGNGごめんなさい。よく分からないです。かなり深刻みたいです。
今VBのサイト一杯見てるんですが、どうも・・・
できたらもう少し詳しく具体的にお願いします。
0914デフォルトの名無しさん
NGNGバリアント型の配列を10人分作る
↓
varData(1) = Array("小笠原", 576, 195, 0, 2)
こんな感じにデータを放り込む
で良いのかな?
0915デフォルトの名無しさん
NGNGまさか今日提出とかじゃないよね
0916しろうと
NGNG本当にありがとうございます。
でもちょっと
>バリアント型の配列を10人分作る
というのがわからないんですが・・・たびたびすいません
0917しろうと
NGNGあ、ちなみに今日です。
0918デフォルトの名無しさん
NGNG配列の宣言の仕方しってるの?
バリアント型については?
0919デフォルトの名無しさん
NGNG何時まで?
それはつまり作ってコードを貼り付けてくれってことか?
0920しろうと
NGNG教科書に書いてあるので大体分かります。
一応十二時までなんですが。。。
>それはつまり作ってコードを貼り付けてくれってことか?
それが一番ありがたいんですけど、、
というよりいちいち質問に答えるよりそっちの方が早いかも・・・
分からないことだらけですいません。
0921900
NGNGsTest に直したら 1時間くらい終わらなかったのでやめた。
>>907 動けばいいや的なプログラム。
’Form1
Private Sub Form_Load()
Dim oPlayers As clsPlayers
Set oPlayers = New clsPlayers
With oPlayers
Call .SetTestData
Call .PrintIt
Debug.Print ""
Debug.Print "SortByBattingAverage"
Call .SortByBattingAverage
Call .PrintIt
Debug.Print ""
Debug.Print "SortByLeague"
Call .SortByLeague
Call .PrintIt
End With
End Sub
0922デフォルトの名無しさん
NGNG提出日まで何もやってこなかった厨に甘すぎやしないか?
0923900
NGNGOption Explicit
Private m_oCollection As Collection
Private Sub Class_Initialize()
Set m_oCollection = New Collection
End Sub
Public Sub SetTestData()
Call Me.AddNew("小笠", 2, 576, 195)
Call Me.AddNew("ペタ", 1, 463, 149)
Call Me.AddNew("山田", 1, 444, 150)
Call Me.AddNew("田中", 2, 555, 200)
Call Me.AddNew("渡辺", 2, 333, 120)
Call Me.AddNew("鈴木", 1, 200, 100)
Call Me.AddNew("吉田", 1, 500, 111)
Call Me.AddNew("安田", 2, 888, 88)
Call Me.AddNew("広田", 2, 456, 30)
Call Me.AddNew("中村", 1, 520, 200)
End Sub
Public Sub AddNew(sName As String, nLeague As Long, nTimesAtBat As Long, nHits As Long)
Dim oPlayer As clsPlayer
Set oPlayer = New clsPlayer
With oPlayer
.sName = sName
.nLeague = nLeague
.nTimesAtBat = nTimesAtBat
.nHits = nHits
End With
Call m_oCollection.Add(oPlayer)
End Sub
Public Sub PrintIt()
Dim oPlayer As clsPlayer
For Each oPlayer In m_oCollection
oPlayer.PrintIt
Next
End Sub
0924900
NGNGDim oNewCollection As Collection
Dim oPlayer As clsPlayer
Dim n As Long
Dim isInserted As Boolean
Set oNewCollection = New Collection
For Each oPlayer In m_oCollection
isInserted = False
For n = 1 To oNewCollection.Count
If (oPlayer.nLeague < oNewCollection.Item(n).nLeague) Then
Call oNewCollection.Add(oPlayer, , n)
isInserted = True
Exit For
End If
Next
If (isInserted = False) Then
Call oNewCollection.Add(oPlayer)
End If
Next
Set m_oCollection = oNewCollection
End Sub
Public Sub SortByBattingAverage()
Dim oNewCollection As Collection
Dim oPlayer As clsPlayer
Dim n As Long
Dim isInserted As Boolean
Set oNewCollection = New Collection
For Each oPlayer In m_oCollection
isInserted = False
For n = 1 To oNewCollection.Count
If (oPlayer.nBattingAverage < oNewCollection.Item(n).nBattingAverage) Then
Call oNewCollection.Add(oPlayer, , n)
isInserted = True
Exit For
End If
Next
If (isInserted = False) Then
Call oNewCollection.Add(oPlayer)
End If
Next
Set m_oCollection = oNewCollection
End Sub
0925900
NGNGOption Explicit
Public nLeague As Long 'リーグ
Public sName As String '選手名
Public nTimesAtBat As Long '打数
Public nHits As Long '案打数
Public Property Get nBattingAverage() As Double
nBattingAverage = Me.nHits / Me.nTimesAtBat
End Property
Public Sub PrintIt()
Debug.Print Me.sName & "," & Me.nLeague & "," & Format(Me.nBattingAverage, "0.########")
End Sub
0926デフォルトの名無しさん
NGNGこれコピペして提出したら間違いなく
パクったでばれるな
0927900
NGNG0928しろうと
NGNGなんといったらよいか・・本当にありがとうございます。
>>922
すいません。場違いですよね。すぐ消えます。
0929デフォルトの名無しさん
NGNGというよりも配列の宣言ができなさそうな
人間が書くレベルのコードではないと思われ
0930デフォルトの名無しさん
NGNGレベルじゃないと思う。
0931デフォルトの名無しさん
NGNG具体的にどういう感じで使うのか例を示していただけませんかな?
暇な方おられれば・・。
0932デフォルトの名無しさん
NGNG初めはネット上でサンプルなど探すといいかも
http://www1.harenet.ne.jp/~unaap/
http://www.galliver.co.jp/
http://www.codeguru.com/vb/index.shtml
多くの場合ネット上のサンプルだけでできると思いますが、
どうにもならない時は自力でどうにかする。
その時によく使うのは、
VCを入れたときについていたAPIリストのCSVファイルとか、
C のヘッダファイル、
API ビューア、
あとMSDN
http://msdn.microsoft.com/library/
http://www.microsoft.com/japan/developer/library/
0933デフォルトの名無しさん
NGNGそういった事ができる関数は、どうやって調べたらいいんでしょうか。
0934デフォルトの名無しさん
NGNGwinsockコントロールじゃダメなの?
0935デフォルトの名無しさん
NGNG江坂(えざか)と言います。
今回は、簡単に自己紹介させて頂きます。
私は、28歳で社会人5年目です。
現在、東京のコンピュータ会社でシステム・エンジニアとして
働いています。
私の趣味は、パソコンと音楽鑑賞です。
パソコンは、子供の頃から好きで仕事と趣味に使っています。
音楽は、洋楽、邦楽のどちらも好きです。
あと、自然が好きでよく山にピクニックやハイキングに
行ったりします。
また、近くの川や海に行ったりすることも好きです。
こんな私ですが、よかったらお返事ください。
最後に、私のプロフィールを書いておきます。
よろしくお願いします。
江坂より
☆プロフィール☆
■名前:江坂 博 ( えざか ひろし )
■年齢:28才
■身長:170cm
■体重:65kg
■血液型:A型
■誕生日:1973年12月19日生
■兄弟続柄:次男
■最終学歴:大学卒
■住所:東京都日野市
■出身地:三重県四日市市
■最寄駅:京王線・高幡不動駅
■職業:システム・エンジニア
■休日:土、日、祝日
■趣味:パソコン、音楽鑑賞
■タバコ:吸わない
■お酒:付き合い程度
■ギャンブル:しない
■宗教:特になし
■好きなタイプ:心のやさしい人、家庭的な人
p.s.今、付き合っている彼氏はいますか?
私は、今付き合っている彼女はいません。
0936VBマスター
NGNGレスどうもです。
前者はActiveXなのでできますが、普通のクラスはできないのです。
後者はクラスが増えるたびに追加しないといけないですね。
これが通常のやり方なら仕方ないですが。
0937デフォルトの名無しさん
NGNGネタはマ板で(略
0938デフォルトの名無しさん
NGNG0939デフォルトの名無しさん
NGNG0940デフォルトの名無しさん
NGNG出来上がったファイルの更新日付が、何故か不自然な日付になってしまうのです。
(1997年8月1日12時37分)
なんど作っても同じ日付になってしまいます。
ファイル作成日付はちゃんと作成された日付になっているのに。
これは何が悪いのでしょうか。
'**********************
Open strFilename For OUTPUT as #1
Print #1,strMessage
Close #1
'ほんとにこれだけの単純なソースなのですが。。。
0941デフォルトの素人
NGNGその時、フォントもインストールするようにしています。
しかし、インストールが終了したあとシステムを起動しても、なぜか
インストールしたはずのフォントが無効になっています。
インストールされてないのかな? と思ってコントロールパネルから
フォントを開いて見ると、ちゃんと追加されています。
その後、もう1回システムを起動したら、今度はフォントがしっかり表示
されていました。
インストールが終わったら、再起動しないといけないんでしょうか?
インストール終了後、自動で再起動させる方法があったら教えてください。
よろしくお願いします。
0942900
NGNGしまった打率の高い順になのに、低い順になってた。
For Each は Index 順とは限らないのに、依存しているし。
ソートのとこは、判断式のとこだけ関数にくくりだせばよかったのかな。
>>936
さすがに、クラスモジュールを文字列で生成するのは無理かと。
ひとつの関数の中に生成処理がまとまっているので、我慢するしか。
逆に、どういう状況でその処理が必要になるかに、興味あるなー。
>>940
違うファイルを見ていませんか?
0943デフォルトの名無しさん
NGNGついに彼のレポートの〆切時刻が来ましたね。
彼は巧いことしのいだのでしょうか。
0944940
NGNGいえ、そんなことはありません。
このプログラムで作られるすべてのファイルが同じ更新日付になってしまうのです。
VBの設定の方がおかしいとかなのでしょうか。
>>943
配列を使ってないから仕様的にはアウトになりません?上のソース
0945933
NGNGDelphiでは、APIを使ったサンプルを見かけたので、
VBでも同じ事ができないか・・・と。
それに、あまりコンポーネントに頼り過ぎてると進歩しませんし。
0948デフォルトの名無しさん
NGNGTEXTがないんです。
だれか教えてくれませんか?
0949デフォルトの名無しさん
NGNGソフトを分割するのですか?
0950デフォルトの名無しさん
NGNGBinary でオープンして適当に切り分けたら?
0951デフォルトの名無しさん
NGNGファイルを分割・結合するソフトです。
0952デフォルトの名無しさん
NGNGttp://www.vector.co.jp/soft/win95/prog/se167075.html
0953デフォルトの名無しさん
NGNGありがとうございます^^
参考にして勉強します。
0954デフォルトの名無しさん
NGNGVBScriptなのですが、
配列で、例えば 1,2,3,4 となっている所を、2の所にnull入れたら 1,,3,4
ってなりますよね。これを 1,3,4 って配列に変えたいのですが
若輩者ゆえどうしたらいいかわかりません。
簡単かもしれませんが教えてください。お願いします。
0955(-_-メ)
NGNG★重要告知★
『 OKWeb 』 及び 教えてGoo は最悪だ !
利用する奴ははっきり言って馬鹿の象徴 !!
馬鹿の証明しているに過ぎない !!
"OKWeb" を利用すると 頭が変になり、馬鹿になる !! 気をつけろ !!!
それにOKwebを利用するだけで『ウィルス』に感染してしまうから
絶対利用はするな !!
0956デフォルトの名無しさん
NGNGwhile(j<元配列のサイズ){
if(Src[j]==null)j=j+1;
Dest[i]=Src[j];
}
0957956
NGNGi=0;j=0;
while(j<元配列のサイズ){
// ↓配列からはみ出てないかの判定もして。
while(Src[j]==null){
j=j+1;
}
Dest[i]=Src[j];
}
0958デフォルトの名無しさん
NGNGVBSで書き直すとこんな感じかな
Dim Src
Dim Dest()
Dim i, j
Dim strBuff
Src = Array(1, vbNullString, 3, 4)
i = 0
j = 0
While i <= UBound(Src)
If Src(i) <> vbNullString Then
ReDim Preserve Dest(j)
Dest(UBound(Dest)) = Src(i)
j = j + 1
End If
i = i + 1
Wend
For i = 0 To UBound(Dest)
strBuff = strBuff & Dest(i)
Next
MsgBox strBuff
0959デフォルトの名無しさん
NGNGZOrderを使い、前面・背面移動を切り替えた場合に
各コントロール毎に表示されている重なり位置は取得できるのでしょうか?
0960デフォルトの名無しさん
NGNGでも2つ問題がある
1.null 入れてはダメ。
2.セパレイターが問題。
<script language="VBScript">
<!--
Dim A()
Dim B
Dim X
ReDim A(3)
A(0) = 1
A(1) = 2
A(2) = 3
A(3) = 4
A(3) = -1
X = Join(A, ",")
X = Replace(X, "-1", "")
If Right(X, 1) = "," Then X = Left(X, Len(X) - 1)
If Left(X, 1) = "," Then X = Right(X, Len(X) - 1)
X = Replace(X, ",,", ",")
B = Split(X, ",")
MsgBox UBound(B)
-->
</script>
0961959
NGNGコントロールはまったく同じではないのですが、
部分的に重なっているものとします。
最前面側
「コントロールC」
「コントロールA」
「コントロールB」
最下面側
上のような状態で重なっているものとして、
コントロールA = 1
コントロールB = 2
コントロールC = 0
の様な、ZOrderに対応した値を取得することは可能なのでしょうか?
m(_ _)m よろしくおねがいします
0962デフォルトの名無しさん
NGNGその番号を取得したい必要性は?
0963デフォルトの名無しさん
NGNG自前のコードでコントロールのZOrderを切り替えてるんだろ?
だったら、それでどういう順番になるか、わからないとおかしい。
0964デフォルトの名無しさん
NGNG誰かやんないと。
俺がやれって?(w
0965デフォルトの名無しさん
NGNGたとえばPC001・PC002・PC003の3台。
で、このネットワークに入れるユーザがいつくかあるとします。
たとえばHOGE・WOW・MAO・AFOなど
やりたいことは、各パソコンから相互に自分以外のパソコンにログインしている
ユーザ名がわかるようにしたいのです。
たとえば、PC001を使用している人は、PC002と3に今ログインしているユーザ名
を取得したい。
自分のパソコンにログインしているユーザ名は簡単に取得できますが、
ネットワークに繋がったパソコンの現ログインユーザ名は取得できないのでしょうか
よろしくお願いします。
0966959
NGNG画像やテキストを張り付けてレイアウトするソフトを
作成しているのですが、
Form上でZOrderを使い重なりを変更するには良いのですが、
そのデータを保存し、再度表示させる際に、
重なりの情報を取得しておかないと、元の状態に戻せないので・・・
0967959
NGNG自前のコードですけど、コントロールの重なりが実際は複雑なので・・・
実際は例として書いたように、単に重なるだけでなく、
各コントロールの移動、コントロールの追加、削除が発生するので、
移動元、移動先などでZOrderに対応する管理を行うことは難しいです。
簡単にZRoderに対応する値が取得できれば、
そういった管理を行う必要もないので、おたずねしました。
0968デフォルトの名無しさん
NGNGPart5に引っ越して続投中です。
http://pc.2ch.net/test/read.cgi/tech/1010624646/2
0970デフォルトの名無しさん
NGNG表示しないようにしたのですが、ボタンの存在した個所で右クリックでメニューが表示されてしまい、
そこから最小化、最大化が出来てしまいます。(ダブルクリックでもサイズ変更されてしまう)
どなたか無効にする方法をご存知であれば教えてください。
0971デフォルトの名無しさん
NGNG0972デフォルトの名無しさん
NGNG0973デフォルトの名無しさん
NGNGもうすぐ VB .NET がでるからそれまで待てば?
0974デフォルトの名無しさん
NGNGMSの新ソフトをさっそく買うほどバカではありません。
0975デフォルトの名無しさん
NGNGそれならいっそVBやめてKYLIXにしよう
0976デフォルトの名無しさん
NGNG私はVBがやりたいんです。
でもそのまえにHSPやるかも。
0977VB使い
NGNGマジならPro。急がないなら様子を見て.NET。金があるならVisualStudio。
お勧めはVC++。
>>972
マスク画像とカラーデータ作ってXorとAndで描画。
0978デフォルトの名無しさん
NGNG>WebClassデザイナでは、ブラウザーに依存しないHTMLベースのアプリケーションを作成でき、Webサーバーに対する優れた開発手法を提供します。
とか書いてある。だったら、MSのページでまっさきにやれ、って感じ(w
0979デフォルトの名無しさん
NGNG>なお、日本語版 VB で作成された実行ファイル (EXE) 等は、日本語 Windows 上でしか動作しません。英語環境で動作させるには英語版 VB でコンパイルしたものを使用する必要がありますのでご注意ください。
と書いてある。漏れは、英語圏の人にも自分のアプリを使ってもらいらので、英語版のVBを買う必要があるのだろう。
0980デフォルトの名無しさん
NGNGTransparentBlt()やAlphaBlend()でどう?
>>979
日本語版でまずいのは、一部のコンポーネントだけ。それらを
使わなければおっけーだよ。
0981デフォルトの名無しさん
NGNG0982デフォルトの名無しさん
NGNGVB6なら、国際対応キットがあるよ。
Microsoft Visual Basic 6.0 International Package and Deployment Kit
http://www.microsoft.com/japan/developer/vbasic/download/ipdk.htm
0983デフォルトの名無しさん
NGNG0984デフォルトの名無しさん
NGNG0986デフォルトの名無しさん
NGNGVBを触ってみたいだけで
ラーニング買ってバカにされても気にしないなら何も言わない。
色々と作りたいと思ってるならやめとけ。
安物はなぜ安いのか、理由があるからだ。
0987デフォルトの名無しさん
NGNGいま読んできました。プロって8万もするんですね。
ラーニングがうんこなのは理解できましたが、8万はちょっと検討しないとすぐには買えないなぁ。
0988デフォルトの名無しさん
NGNGアカデミックパック買えないの? 親戚の子とか使って。
それとここ前スレなんだけど、最初上げた犯人は誰?
0989デフォルトの名無しさん
NGNG新しいスレがだいぶ前にできています。
移動をお願いします。
◆VB初心者質問スレ Part5
http://pc.2ch.net/test/read.cgi/tech/1010624646/
0990デフォルトの名無しさん
NGNGMSの商品は売れているものほど(シェアが大きなものほど)値段が
高いからその点は留意すべし。VBはラーニングだと個人ユースでも
不便に思うことが多いように思う。
もしヴィジュアルな統合開発環境をさわってみたいだけならdelphiの
パーソナルをすすめます。買っても5千円前後だしダウンすればタダ。
0992デフォルトの名無しさん
NGNG992
0993デフォルトの名無しさん
NGNGレス数が950を超えています。1000を超えると書き込みができなくなります。