(*´д`*)ウッ… VB初心者質問スレ Part15
■ このスレッドは過去ログ倉庫に格納されています
0001エロチカセブン
NGNGPart 2 http://piza.2ch.net/tech/kako/990/990793224.html
Part 3 http://piza2.2ch.net/tech/kako/1000/10005/1000523122.html
Part 4 http://pc.2ch.net/tech/kako/1006/10069/1006922992.html
Part 5 http://pc.2ch.net/tech/kako/1010/10106/1010624646.html
Part 6 http://pc.2ch.net/tech/kako/1013/10138/1013844542.html
Part 7 http://pc.2ch.net/tech/kako/1015/10158/1015836357.html
Part 8 http://pc.2ch.net/tech/kako/1018/10187/1018794901.html
Part 9 http://pc.2ch.net/tech/kako/1020/10208/1020830472.html
Part10 http://pc.2ch.net/tech/kako/1022/10221/1022127528.html
Part11 http://pc.2ch.net/tech/kako/1024/10243/1024380249.html
Part12 http://pc3.2ch.net/test/read.cgi/tech/1026642565/
Part13 http://pc3.2ch.net/test/read.cgi/tech/1029241786/l50
Win32 API関連スレ
Win32API 質問箱 Build4
http://pc.2ch.net/test/read.cgi/tech/1023361418/
心得
壱.質問する前に過去ログにも目を通してみる。
弐.質問する前に MSDN などで調べてみる。
参.VBScript もこのスレでOK。
4.インストーラーなどの質問もOK。
五.下ネタもたまにならOK
0467デフォルトの名無しさん
NGNGだからformatは文字列を返すんだって。
dim sumStr as string
sumStr = Format(sum, "0.00E+00")
とかすればいい。
"0.00E+00" の0は桁数を表しているので
01とか10とかやっても意味がない。
0468デフォルトの名無しさん
NGNGだと思う
0469D
NGNG>sum = Format(sum, "Scientific")
このsumは両方ともDouble型なのでFormat関数で整形してもほぼ同じ値が入るだけです。
この場合左辺はString型で宣言された変数に代入した方がいいと思われます。
あとSumはSQLとData Reportでの予約語なので変数名に使うのもどうかと。
試しに新規のプロジェクトでDim sum as Doubleの宣言をせずに同じコードを
入力すると小文字で入力したはずの"s"が"S"に置換されるはずです。
Dim Total As Double
Dim sTotal As String
Total = 70840747.888806
sTotal = Format$(Total, "0.000000000000E+")
Label2.Caption = sTotal
こんなかんじで。
あ、ヘルプの”プロシージャの引数”でSum関数作ってますね。
0470454
NGNGデキターーーーー!!!
ありがとうございます!ものわかりが悪くてすいませんでした。
0471デフォルトの名無しさん
NGNG/| | |_____ΦΦΦΦΦΦΦΦΦΦΦ||ΦΦΦ
| | | ̄ ̄ ̄ /| ||
| | | / /|TTTTTT TTTTTTTTTT||TTTTT
| /\ | /|/|/|^^^^^^ |三三| ^^^^^^^^^^^||^^^^^^^
| / / |// / /|
| / / |_|/|/|/|/|
| / / |文|/ // /
|/ /. _.| ̄|/|/|/ Λ_Λ
/|\/ / / |/ / (___)
/| / / /ヽ /〔 非OO 〕〕つ
| | ̄| | |ヽ/l `/二二ヽ
| | |/| |__|/ Λ_Λ / /(_)
| |/| |/ ( ´∀`) (_) Λ_Λ
| | |/ // / ^ ̄]゚ (` )
| |/ ゚/ ̄ ̄_ヽ ⊂〔〔 非OO 〕
0473D
NGNG遅すぎました
0474445
NGNG返信遅れてすいません、ありがとうございました。
とりあえず今教えていただいたのを実行中です。
0475デフォルトの名無しさん
NGNG使えますよ。
0476442
NGNGお、そうですか。
なんか
HH_HELP_CONTEXT called without [MAP] section
って表示されたので。
HTMLヘルプの作り方が悪いんでしょうが・・
HTMLヘルプコンパイラみてもどこで設定するのかわからんです。
0477442
NGNGhファイルを作成するんですね。
0478
NGNG0479デフォルトの名無しさん
NGNG↓以外の書き方ありますか?レコード中の全ての項目を下記の様に
代入するように書かないと駄目なのでしょうか?
With rs_bbb
.AddNew
.Fields("field1").Value = rs_aaa.Fields("field1").Value
.Fields("field2").Value = rs_aaa.Fields("field2").Value
.Fields("field3").Value = rs_aaa.Fields("field3").Value
End With
0480デフォルトの名無しさん
NGNGfor i=0 to rs_aaa.fields.count -1
.Fields(i).Value = rs_aaa.Fields(i).Value
next
0482デフォルトの名無しさん
NGNG「http」or「ttp」or「www」の文字列を発見すると自動的に<a href〜>のように
変換する関数のようなものは、ありませんでしょうか?
どなたか、そういったものを公開している情報知りませんか?
環境はVB6.0 SP5です。
例:
【変換前のテキスト】猫のページhttp://www.neko.com
↓
【変換後のテキスト】猫のページ<a href="http://www.neko.com" target="_blank">http://www.neko.com</a>
0483デフォルトの名無しさん
NGNGalt+enterを押すとfullscreenで見れるのですが、
キーを使わずプログラムからfullscreenにする方法はないでしょうか?
また
windows media player コントロールのヘルプや解説が見つからないのですが、
どこにあるのでしょうか。
0484デフォルトの名無しさん
NGNGそこで、Webフォームから同画面上のWebUserControlに対して値をわたしたいのですが
どうしたらいいでしょうか?
0485483
NGNGヘルプはないのですが、
オブジェクトブラウザでそれらしきものをみつけたので、いけました。
コンポーネントに以下の文を入れました。
MediaPlayer1.DisplaySize = mpFullScreen
0486442
NGNG自分が使ってる奴。あんまよくないかも。
aStr=元の文字列
nTarget=変換したい元の文字列
nChangeTo=返還後の文字列
nOpt=おぷしょん。
Public Function fReplace(ByVal aStr As String, ByVal nTarget As String, nChangeTo As String, Optional nOpt As Integer) As String
Dim oStr As String
Dim nStr As String
Dim nCurPos As Long
oStr = aStr
If Len(oStr) > 0 And Len(nTarget) > 0 Then
Do
nCurPos = InStr(1, oStr, nTarget)
If nCurPos = 0 Then Exit Do
nCurPos = nCurPos - 1
If Not Mid(oStr, nCurPos + Len(nTarget) + 1, Len(nTarget)) = nTarget Or nOpt = 0 Then
nStr = nStr & Mid(oStr, 1, nCurPos) & nChangeTo
Else '改行文字が重なっていたら、改行文字自信に置き換える(nOpt=1の場合)
nStr = nStr & Mid(oStr, 1, nCurPos + Len(nTarget))
nCurPos = nCurPos + Len(nTarget)
End If
oStr = Right(oStr, Len(oStr) - nCurPos - Len(nTarget))
Loop
nStr = nStr & oStr
End If
fReplace = nStr
End Function
0487デフォルトの名無しさん
NGNGプログレスバーを使ってファイルの保存状況を表示したいのですが
Label1.Caption = "保存中"
ProgressBar1.Min = 0
ProgressBar1.Max = List1.ListCount
For LoopCnt = 0 To List1.ListCount - 1
SavData = SavData & List1.List(LoopCnt) & vbNewLine
ProgressBar1.Value = LoopCnt
Next
とするとプログレスバーが100%になってから「保存中」と表示されて
しまいます。処理の優先順位みたいなのがあるのでしょうか?
このような場合、どういう風にするのがよいのでしょうか?
環境はVB6 Win2000 です。よろしくお願いします。
0488デフォルトの名無しさん
NGNGRefresh DoEventsあたりか?
0489デフォルトの名無しさん
NGNGできました。
ありがとうございました!(感謝)
0490print()
NGNGttp://www2.hos.co.jp/DemoV7/ViewCtrl/c7htmv15.htm#downloaded
に載ってるのだが・・・。どうやるでしょうか?
0491478
NGNGなどでしか できんのかなぁ〜〜〜
0492デフォルトの名無しさん
NGNGInsert Into BB Select * From AA
というのが一番理想。
0493デフォルトの名無しさん
NGNGグループヘッダの下にページヘッダを表示したいんだけど、なにか方法はありますか?
イメージ的にはこんな感じにしたいんですけど・・・↓
【グループヘッダー】
請求先 ○○商事
請求商品金額 消費税 請求合計額
100,000 5,000 105,000
【明細見出し】
日付 品名 数量 単価 金額
【ディテール】
2001/01/01 ○○○○ 1 100,000 100,000
0494482
NGNGお返事ありがとうございます。
>>482の書き込み内容と例が悪かったのですが、
http等の頭から問題は最後の文字です。
どこまでをURLとして認識するかが問題でした・・・。
感じとしては、2ちゃんねるの書き込みにURLを含む場合、
あああhttp://www.neko.comいいい
と書き込むと「いいい」の前でURLの認識としては止まりますよね?
他に"("カッコやスペースなんかでもURLの認識が止まると思います。
それをどうやって判断するのか・・・・。
1コずつ全角文字やスペースやカッコがあるかを判断するしかないでしょうか?
それだと、どんな文字でURLの認識が止まるのかを全て把握できなきゃいけないし・・・
0495デフォルトの名無しさん
NGNGURLには絶対に含まれない文字がある(日本語対応とかで多少状況は変わってきつつあるけど)。
単にその文字移行を認識しなければいい。
0496デフォルトの名無しさん
NGNG>それだと、どんな文字でURLの認識が止まるのかを全て把握できなきゃいけないし・・・
RFC読んでね。
どうでも良いけど使用できる文字の集合とできない集合を把握するなら明らかに前者の方が楽だと思うが。
0497482
NGNGお返事ありがとうございます。
とりあえず、これからRFCを検索して調べてみます。
ただ・・・使用できる文字の集合を把握したら、仮に1000文字だとして、
1000回分、Loop なり If なりで見ていかないとダメですよね?
かなり、厨プログラミング的な質問かもしれませんが・・・
0498442
NGNG全然文章読んでなかった(w
文字の比較はLike演算子を使えば楽勝です。多分。
ってかどうやったら1000文字もあるんだ(w
0499デフォルトの名無しさん
NGNGhttpから1文字ずつループを回しながらLikeでチェック。
Likeなら範囲指定できるから幾分楽だよ。
chrHoge Like "[#-)+-;=?-~]"
って具合かな?
範囲がこれで正しいかは不明(^^; とりあえず実用上は支障無いと思うけど、
RFCをちゃんと調べた方がいいね…。
0500デフォルトの名無しさん
NGNGSetステートメントのHelpに
>Set ステートメントを使って、オブジェクトへの参照を変数に代入します
と書いてあるのですが、ここで言う"参照"ってメモリのアドレスの事を言っ
ているのですか?それとも他のことですか?
教えてくだされ〜!
無茶なのは100も1000も承知なんですが・・・。
どうにか出来ませんかねぇ?
そもそもフリーソフトでOCRなんて使ってるソフト無いような。
ヤパーリ技術的に相当レベル高いのでしょうか。
0502デフォルトの名無しさん
NGNGポインタだけど、直接メモリ操作はするなってことだろ。
0503デフォルトの名無しさん
NGNG不可能じゃないだろうけど、遅くて無茶だと思われ。
0504デフォルトの名無しさん
NGNGVBだから無茶なわけでないよ。
自分の技術の無さを言語の所為にすんなよ。
0505デフォルトの名無しさん
NGNGやっぱポインタですよね!って事は
-------------------------------------
1:Dim A As Object
2:Dim B As Object
3:
4:Set A = New ClassObject
5:Set B = A
6:Set A=Nothing
7:Set B=Nothing
-------------------------------------
5行目ではAのインスタンスのコピーが作成されるのでは無く、Aに代入された
Objectインスタンスの参照がBに代入される。
したがって、6行目ではClassObjectのインスタンスは削除されずに
7行目でClassObjectのインスタンスが削除されると言う事でよろしいのでしょうか?
0506デフォルトの名無しさん
NGNG喧騒が過ぎ去り、優雅な時を過ごした証のみが、そこにはあった。
琥珀色の液体と、懐かしい歌声が、少しの間忘れていた感覚を呼び覚ます。
少しの間・・・いや、何年も忘れていたのかも知れない。
夜の空白を埋めるために、ずっと探していた。
今となっては既に過去だが、そんな時の感覚を不意に思い出した。
楽しい未来の夢を見ていたわけではなく、ただ思いを受け取って欲しかった。
0507デフォルトの名無しさん
NGNGhttp://www2.cds.ne.jp/~catty/planet/
0508デフォルトの名無しさん
NGNGあってるよ。
0509デフォルトの名無しさん
NGNGレスありがと〜
今日会社の先輩に>>505の事が全否定されたので、
激しく動揺していましたが、ぐっすり眠れそうです。
0510デフォルトの名無しさん
NGNGMAX値が32767になっているのですが
これをもっと増やすことってできるのですか?
どなたかよろしくお願いします。
0511デフォルトの名無しさん
NGNG0512デフォルトの名無しさん
NGNGマッピング、マッピングやっほ〜やっほ〜。
0513デフォルトの名無しさん
NGNG本当に初心者質問ですいません。
マッピングとは具体的にどのように
やればいいのですか?
よろしくお願いします。
0514
NGNG株価は単位株でしか買えないので1000株単位なら
10260株−>10000株
10830株−>11000株
のようにある単位で四捨五入したいのですが、FORMAT関数の使い方がわかりません。
今のコードは
KABUSU = Format$(KABUSU, "#.")
とやっていますが何も変わらないのです。上の方の書き込みをみて色々試したのですが。。
vb6.0を使ってます。
KABUSUの値は10526.3157...
という数字が入っており 結果は11000になってほしいのですが。
ある桁数で四捨五入はできないのでしょうか?
0515デフォルトの名無しさん
NGNGそのままでは出来ないから、1000で割ってあとで1000を掛ける。
0516デフォルトの名無しさん
NGNGどうもありがとうございます。
四捨五入ってできないんですね。EXCELとかはRound関数とかでできたような
気がしたので頑張ってやろうとしていました。
0517デフォルトの名無しさん
NGNG増やしても意味ないよ。
たいてい32767より小さくして使ってる。
0518デフォルトの名無しさん
NGNGExcelの関数と同機能のVB用関数はいっぱい公開されてるよ。
ぐぐってみなはれ。
0519デフォルトの名無しさん
NGNGVBを部品にしてCOBOLで制御したいんだけど。
0520デフォルトの名無しさん
NGNGVBからCOBOLを使いたいの?
COBOLからVBを使いたいの?
0521デフォルトの名無しさん
NGNGやたら処理が遅い。VCがあるので、これをCに変換したらもっとサクサク
動くかなと思うのだが、VB自体よく分かんない。
ということで、VBからCとかJavaにコードを変換してくるフリーのソフトって
ないですかね?
0522デフォルトの名無しさん
NGNGない。あったとしてもコードの問題の可能性が大きいからどっちみち速くならないだろう。
0523
NGNGVBでDLL化などして使ったら エクセルよりは 速いよ。
0524519
NGNGCOBOLから、VB(画面制御部品P)を呼んで、
COBOLに値を返したいんですけど。
0525D
NGNG四捨五入のソースは結構公開されてるんですが、あえてFormat関数を使うなら
Dim D As Double
D = 10830
D = Format(D / 1000, "#0") * 1000
Debug.Print D
という手もあります。ただFormat関数は文字列を返すはずなのであまり誉められた方法では
ありませんが。(cDbl()で変換した方がよいかも)
0526D
NGNG元々プログレスバーは進捗状態を表すのでパーセントに変換してます。
0527D
NGNGどんな種類のCOBOLを使ってるか分からないけどBPCなんかだとCOBOLからプログラムを
実行できたはず。状態によって少し違いますが、
最初に起動するのがCOBOL以外の場合
COBOLランタイムのコマンドラインにexeを指定して起動する必要があります。
COBOLからexeを呼び出すShell関数はあったはず(メーカーによってまちまち)
値を渡すにはファイル経由orDB経由で渡してたと思います。
0528デフォルトの名無しさん
NGNGやたら処理が遅いって、まず何処が遅いのかハッキリさせんと何もできんぞ。
どうせExcelのオブジェクトをムダにグリグリ弄繰り回してるだけだろうけど。
0529デフォルトの名無しさん
NGNGとあるOS(たしかXP)ではFormatは四捨五入じゃないから気をつけてな。
0530デフォルトの名無しさん
NGNGKABUSU=((KABUSU+500)\1000)*1000
0531デフォルトの名無しさん
NGNG0532デフォルトの名無しさん
NGNGFreeで .EXE 作成ソフトってありますか?
0533デフォルトの名無しさん
NGNGほえぇ?
0534521
NGNGデータ数が多いのと統計解析があるので、どうしても計算量が多いので
遅くなるのです。うーむ、VBからCへの変換ソフトってのは無いようですね。
Cへ変換できたら、計測からそのまま解析に繋げられて楽だなと思ったのですが。。。
BASICと名がつくものはN88BASIC以来さわってなかったが、VB勉強して
処理の流れを把握してから移植するしかないかな。
0535デフォルトの名無しさん
NGNGコードの最適化と、Professional以上でネイティブコンパイル、
CPUのアップグレード
なんてところがいいんじゃない?
0536デフォルトの名無しさん
NGNGなんかしたり顔で言っているけど、処理速度向上にJAVAを上げているようじゃ
全然分かってないだろ。
0537デフォルトの名無しさん
NGNGお前は何か?PCの前でひとりでしゃべってんのか?あ?
0538デフォルトの名無しさん
NGNG0539デフォルトの名無しさん
NGNG実際にVBA使った経験で演算は困るほど遅くなかったから、
セルからデータの取得、またはその逆の個所を見直して
配列を使って範囲を一気にって言う風に変えれば見違えるほど早くなったよ。
0540521
NGNG>>536
書き方が悪かったですね。Javaを上げたのは処理速度向上のためではなく、
VBよりはJavaの方が読めるので、Javaからなら自分でCに直せるなという
ことで、あのように書きました。誤解するような文章で申し訳ないです。
>>539
なるほど。まずそちらから検討してみます。
0541D
NGNGまじで。今使ってるのがWin2Kやからできたんか。使ってなくてよかった〜
そのうちやりかねんからな。でも何で今頃...調べてみよ。
大変ありがとー
0542デフォルトの名無しさん
NGNGこれのScriptingって、なんのことでしょう?VBScriptのことでしょうか?
古いOSだと使えないとかありますか?
0543デフォルトの名無しさん
NGNGhttp://www.microsoft.com/japan/developer/scripting/
0545デフォルトの名無しさん
NGNG0546542
NGNGとりあえずWin98以降なら標準でいけるようですね。
0547デフォルトの名無しさん
NGNGたいていST4KIT.DLLだったかを使う物ばかりです
VBではむりなんでしょうか?
0548デフォルトの名無しさん
NGNG電卓を作りたいです。
そこでウィンドウがアクティブな時に
キーダウンイベントに反応できるようにしたいのですが、
上手くいきません。
ウィンドウに送られるキーダウン全てに反応するには
どこに記述したらいいのでしょうか?
つまりウィンドウのどこにフォーカスがあっても
キーダウンをキャッチしたいわけです。
どうすればいいでしょうか?
よろしくお願いします。
0549デフォルトの名無しさん
NGNGDelphiなら.lnkの作成もパスの取得も簡単ですよ♪
>>548
DelphiならKeyPreviewプロパティをtrueにするだけだよ♪
0550デフォルトの名無しさん
NGNGIShellLinkインタフェースを実装するとか。ぐぐって。
>>548
コマンドボタン上にあるときの←キーとかは取れないが、
KeyPreview=Trueで。
0551548
NGNG助かりました、無事成功しました。
ありがとうございました。
0552デフォルトの名無しさん
NGNGhttp://www.yecc.gr.jp/vb/prog/pricla/primain.html
開発環境を持ってないので、これからVBを購入するつもりです。
現在最新のVB用開発環境はVB.NETだと思うのですが、
上記のソースがVB.NETでビルドできるか知りたいです。
お願いします。
0553デフォルトの名無しさん
NGNGなんで、作者に聞かんの ? 掲示板みたいな奴もあったよ。(あまり活発そうじゃないけど...。)
0554デフォルトの名無しさん
NGNGビルドできない。
さらに、このソースコードはVB.NET用に直すのにも手間がかかるパターン。
VB6までのVBとVB.NETは別の言語と思ってもらった方がいい。
VB.NETで一から勉強して作るがよろしかろう。
0555547
NGNGと思ってやったら
Norton先生が反応しますた。
いや、つくれたんですけどね。これじゃだみだ。
0556543
NGNG世話が焼けるなあ。
プリインストされてるWSHのバージョン
Windows95 なし
WindowsNT4.0 なし
Windows98 WSH1.0
Windows2000 WSH2.0
WindowsME WSH5.5
WindowsXP WSH5.6
98や2Kはバージョン古すぎるから、最新版をインスト。
95やNTは新規インストすればいいだけ。
0557552
NGNG>>553
そうなんです、BBSあまりにもアレだったんで、
こちらでお聞きした次第です。
>>554
流用は無理ですか。。。
VB.NETって、VBと同じことができるんでしょうか。
他にUSBカメラからの画像キャプチャもしたいんです。
実は、簡易プリクラを作ろうと思ってるんですが、
そんな用途にもVB.NETは向いてますか?
どっちかというと、VB6の方がいいような。。。
ご意見をお願いします。
0558デフォルトの名無しさん
NGNGWinXPではFormat関数が内部で利用しているAPIの仕様変更の影響で
動作が四捨五入じゃなくなった。MSはそれを仕様だと逃げようとしたが、
苦情殺到のため、SP1で元の仕様に戻した。
SP1を入れないWinXPへの対応として、そのFormat関数を四捨五入する
仕様に戻すパッチも単独で提供されている。
0559542
NGNGなるほど、全然バージョンが違いますね
オンラインソフトにはむかないかなぁ?
今のところFileSystemObjectしかつかってないけど
やっぱりWinAPI使った方がいいかな
0560デフォルトの名無しさん
NGNGWritePrivateProfileSection
などを使用することがわかったのですが、
うまくいきません。
VB6.0で書くと構文エラーで赤字で表示されます。
これはなぜでしょうか?
よろしくお願いします。
0561デフォルトの名無しさん
NGNG構文エラーだからです。それ以上でもそれ以下でもありません。
0562新実
NGNGヽ( ・∀・)ノ < filnbhlmbcfilnbh
http://genie.gaiax.com/home/nakatai
お前等お前等お前等お前等お前等お前等お前等お前等
0563デフォルトの名無しさん
NGNG> .iniファイルに書き込もうと思って調べたら
> WritePrivateProfileSection
> などを使用することがわかったのですが、
> うまくいきません。
何で、.ini ファイルなんか使うの ?
GetSetting() / GetAllSettings() / SageSetting() / DeleteSetting() じゃダメなん ?
0564デフォルトの名無しさん
NGNG0565デフォルトの名無しさん
NGNG0566デフォルトの名無しさん
NGNGエラーのメッセージボックスを出したいと思っています。でもどうやって
ファイルのopenに失敗したことを知ればいいのか分かりません。
どうすればいいでしょうか?
今は実行されると同時に次のようにしてファイルを読み込んでいます。
Public Sub Form_Load()
Open "C:\AtomCount\M.txt" For Input As #1
For i = 1 To Ypixel
For j = 1 To Xpixel
Input #1, A(i, j)
Next
Next
Close #1 'これと同じような動作を後2回します。
■ このスレッドは過去ログ倉庫に格納されています