1 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 23:03:01 ] ここは Visual Basic 〜6.0 の質問スレです。 質問者は使用しているOS、VBのバージョン、サービスパックのバージョン、 「何がしたくて、どうしたけど、どう困っているのか」を明確に書きましょう。 VB.NETは別物なので専門スレで、VBA、APIの質問もそれぞれのスレで。 ○ 質問者の心得 一.質問する前にMSDNやGoogle、過去ログにも目を通してみる。 二.VBScript、インストーラーなどはこのスレでOK。 三.質問は第三者にもわかりやすいよう簡潔かつ具体的に。 四.荒らしは相手しない。 ○ 回答者の心得 一.答えられない質問は無駄に罵倒せずスルー。無理するな。 二.代用法を強制しない。 三.回答する上で必須ではない情報をむやみに聞き返さない。 四.荒らしは相手しない。 五.VB情報募集中。 六.回答は質問者が理解できるよう具体的に。 MSDN Online Japan ホーム www.microsoft.com/japan/msdn/default.asp Visual Studio 6.0 Service Pack 6 msdn.microsoft.com/vstudio/downloads/updates/sp/vs6/sp6/default.aspx Google www.google.co.jp/ ※「まず自分で調べる」クセを身につけよう。
237 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 14:02:43 ] 読み終わってからにしろよ早漏
238 名前:230 mailto:sage [2008/04/24(木) 14:33:54 ] なるほど。
239 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 10:12:47 ] 指定ファイル(テキストやCSV)の行数を取得する良い方法はありますか? Dim i As Integer = 0 Dim sr As New System.IO.StreamReader("C:\1.csv", System.Text.Encoding.Default) Do Until sr.Peek() = -1 sr.ReadLine() i+=1 Loop sr.Close() 今のところこの方法しか思い浮かびません もっと簡潔な方法があれば教えて下さい
240 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 10:31:59 ] 何を指して良い方法と言っているのだ? 時間?効率?ソースの短さ?exeのバイト数?
241 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 10:38:24 ] >>240 私が思う良い方法とはコードの短さです 今のところ>>239 以外には他に思いつかなくて
242 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 11:04:19 ] コードの短さか そんなクソの役にもたたねえ事にこだわるな!
243 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 13:16:01 ] >>239 とりあえずスレチだと思うのだが。 それ.NETだろ? まぁ行数取得ならFileSystemObjectだったかTextStreamだったか忘れたが 1行で取得する処理書くこと出来るよ。 ググってみ?
244 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 14:45:05 ] VB6(SP6)です OutBufferCountがしっかり送信バッファの値を返す設定って、何かあるでしょか? MSComm1.Output = txdatbuf$ Text1.Text = Format(MSComm1.OutBufferCount) このよーなコードを書いて、送信開始時のバッファを確認してみても0のままだったりして困っておりまする。 送信そのものは成功しています。 MSComm1 は DTREnable=False EOFEnable=False Handshaking=0 InputMode=0 OutBufferSize=512 RThreshold=1 SThreshold=0 RTSEnabled=False になってオリマす
245 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 14:46:39 ] ログをファイルを出力しているのですが 最新の1000行のみに維持したいのですが 何か良い方法はありますでしょうか?
246 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 15:17:27 ] 良い方法? 1000行固定というクソ仕様をやめてしまえ
247 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 15:23:28 ] 全部読んで1行捨てて書き出して、最後に今のログ1行書いたら駄目なのか?
248 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 02:44:34 ] WebBrowserコントロールを使って そのWebの書き込みテキストボックスから書き込みする方法ありますかね?
249 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 11:30:44 ] >247 内部バッファならともかく、ファイルでそれはないだろ。
250 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 11:59:13 ] >>249 ならどうしたらいいのか書けよカス
251 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 12:03:03 ] >250 >246
252 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 12:55:00 ] お前の能力では出来ないって事か
253 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 14:18:36 ] ↑こんな奴がいるから糞ソフトが無くならんのだよな
254 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 15:53:23 ] ↑その糞ソフトすら書く方法を知らないカス
255 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 16:03:32 ] 何が問題なのか理解してないようだ 中国人の外注のほうがマシに思える
256 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 16:06:07 ] >>249 お前というやつは・・・。 いきなり上書きしたら、 書き込みの途中でエラーが出たら ログが壊れるだろ・・・。
257 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 16:21:52 ] >>255 うむ 中国人に「最新の1000行のみに維持したい」って言えば ちゃんと作ってくれるだろうな
258 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 23:45:53 ] TextStream使えば? ・ReadAll()で全行読み込み(なかなか高速) ・Sprit()で改行文字をKeyに配列化 ・UBound(配列)>=999の場合は、配列にする前の文字列からInStrRevで改行文字探して見つかった位置-1までを取得 ・先頭に新しいログ文字列追加 ・で、書き出し みたいな
259 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 23:49:36 ] >>256 書き込みの途中って? 例えばどんなエラーがある?
260 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 23:57:19 ] >>256 じゃないが エラーも出ずにファイルごとぶっ壊された経験なら多々あるなあ ローテートの基準は行数にしないで日付や時間で新規ファイルに割って、 取得や表示時の処理で行数割りにすべきじゃねえの?
261 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 23:59:31 ] 1000行程度でエラーになった経験は無いからなあ
262 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 00:01:07 ] 壊れる事象が起こる原因が上書きなら、 新規作成→リネームでいい気がするが? 元のFileは消した状態で。
263 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 00:05:12 ] >>260 それはプログラマである質問者でなく、設計したアホに言えよって話にならね? もしくはそう注文してくる客に。 そういう仕様だって言われりゃマはそう作るしかないんだし だったら最善の策を考えた方が仕事も早く終わるだろ。
264 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 00:12:02 ] >>259 1. ディスクフル 2. 書き込みするデータを用意する際のエラー 3. メディアの部分的な破損 こんなところか?
265 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 00:25:26 ] ディスクフルは今回の場合関係なさそうじゃね? メディアの破損については今回のファイル書き出し云々関係無い気がする。 書き込みデータ準備のエラーは具体的には何がある?
266 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 00:26:09 ] >>263 だな、激しく同意 反論できる状況でなけりゃ、結局そう作るしかないんだよな
267 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 00:31:47 ] >>266 大体さ、設計について話すってのは、ぶっちゃけスレチな気がするんだよ。 ここはVBプログラマ質問スレだろ? プログラマからの質問に対して設計に文句言うのはおかしいと思うんだが 間違ってるか?
268 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 00:44:46 ] >>265 メディアが部分的に破損してて書き込み失敗したら、 上書きしてた場合はログが壊れて、 別ファイル作ってた場合は前のログは残る。
269 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 00:52:41 ] [方法その1(昔からある方法)] サイクリックファイルという概念を使う。 詳しくはググれ。 [方法その2] ログを全てオンメモリに持って、時々ファイルにflush。 プログラムが異常終了したときは、ログが失われる可能性がある。
270 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 00:59:42 ] ファイルの書き込みは実際にはセクタ単位で行われるから サイクリックファイルって万が一破損した場合の影響範囲は 1セクタ分になんのかね。
271 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 06:57:18 ] >>267 設計に触れなくていいと言うなら間違っている 与えられた事しかできないのは下郎の仕事だよ
272 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 08:51:52 ] ログファイルの行数制限ってそれ程アホな仕様とは思えないんだが
273 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 09:05:46 ] 馬鹿ですね。
274 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 11:10:24 ] >>271 そうでなくてスレチって意味だろ
275 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 15:05:31 ] フォームが非アクティブな時にクリップボードを監視して 文字があればフォーム上のテキストボックスにすぐ貼り付けるというプログラムを作っているのですが FormのLostFocusで処理させるとクリップボードに文字をコピーしたあと フォームをアクティブにしないとテキストボックスに内容が反映されません どのイベントで処理すればいいでしょうか?
276 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 15:19:39 ] >>275 監視って言いながら1回しか見てないの? Timer使って一定時間ごとにチェックするとかじゃなく?
277 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 20:49:19 ] >>272 うむ、組み込み系なら良くあること
278 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 22:19:51 ] 1行500byteで、50メガ程のテキストファイルをADOを使ってmdbに突っ込んでるんですが、 テキストファイルの改行コードがlfなんで、LineInputじゃ取れないんで、 一度バイナリで取り込みcrlfに変換後、保存してLineInputってのもスマートじゃないし、 stringで全部読み込み、midって取るのも後半重くなるし〜って事で、詰まってます。 何かいい方法はありませんでしょうか?
279 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 23:12:03 ] >>278 ADOのStreamオブジェクトを使うといいような気がする
280 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 10:48:11 ] >>249 1000行ぐらい内部バッファあけといて毎回読み書きしてもいいとおもたんだが もしかして一般的には不毛な設計なのか?
281 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 14:06:24 ] 無駄にHDDを劣化させることは無いだろ 単純なログにすれば何も問題ないのにCPUの無駄遣いするなよ Vistaを筆頭に、重かったりメモリ食いまくったりするのが流行なのかもしれないがな
282 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 14:15:14 ] バカは黙ってろよ
283 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 14:54:46 ] 車や電化製品でも、誰も使わない機能をつけるのがカッコイーんだよ。 自己満足の世界に口を出すなっつーの。
284 名前:デフォルトの名無しさん [2008/04/28(月) 16:06:17 ] 知的探求は必要 ソースをいかに短く書くか燃えなかった?
285 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 17:11:45 ] 行固定のログファイルとか良くやるけどね これだけ議論になるということは、あまりこういう仕様に直面したこと無いのか?
286 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 17:26:55 ] 通信アプリなどのようにリクエストが多かったりするログで1000行固定はクソ仕様かもしれない だが今回は1000行であり1起動で数回くらいの頻度だろ?騒ぐほどの事ではない でも俺もクソ仕様だとおもう
287 名前:デフォルトの名無しさん [2008/04/29(火) 11:12:32 ] VB6なんですが、 製作しているプログラムProgAではOpenでテキストファイル(1行のみ存在) を開いてInputのRead Sharedで1秒毎に読んでは閉じます。参照しかしません。 別のプログラムProgBからそのテキストファイルは 1秒毎に更新されています。内部の仕様はわかりませんがProgBから もしロックをかけて更新しているなら 同時にProgA側で開こうとすればエラーが出ると思います。 それは問題ありません。 ProgAでファイルを参照していてもProgBからそのファイルの更新さえ できていれば、ProgAとしては問題ないのですが、 今の状態では不都合が生じるでしょうか? ProgAでファイルを開いている状態(ブレークポイントでとめて)で 自分で作った外部アプリでファイルに更新をかけてみたのですが、 ファイルは普通に更新されたのですが、これで良いのかどうか。。。
288 名前:デフォルトの名無しさん mailto:sage [2008/04/29(火) 17:01:25 ] プログレスバーの上にColor.Transparentを設定したラベルをおいて ラベルの親コントロールをプログレスバーに再設定しても どうやらプログレスバーがColor.Transparentをサポートしていないようで ラベルの背景が半透明化されません プログレスバーのようなColor.Transparentをサポートしないコントロール上で 背景を半透明にさせるにはどうすればいいですか?
289 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 01:43:37 ] 文字をpadleft等で桁揃えして文字数が同じなのを確認して コンボボックスのフォントをMSPゴシック、MS UIゴシック等の等角フォントにして フォントが変更されたのも確認した後 それらの文字数が同じアイテムをコンボボックスに追加してリスト内のアイテムを確認すると どうやってもズレて表示されてしまいます 解決法ってありますか?
290 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 02:01:53 ] >>289 > コンボボックスのフォントをMSPゴシック、MS UIゴシック等の等角フォントにして 上記は等角フォントではないよ。 MSゴシックを使ったら?
291 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 04:34:26 ] >>290 MSゴシックにしたら改善されました、ありがとうござます フォントについて勘違いしてたみたいです プログラミング以前の話に答えていただいて助かりました
292 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 09:44:45 ] Join関数を使わないでMidステートメント(関数ではない)で文字列を連結する場合、MidとMid$ではどちらがいいの? 速度を計っても差がわからない。 どっちも同じなのかな? 関数ならもちろんMid$が少し速いが。
293 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 12:34:02 ] そんな知識もない奴がいまさらVB使ってどうするのかなw っていうか、mid$で文字列連結って意味不明な気がするが。 まあここでも散々既出だと思う(折れ自身複数回回答してるから)けど、 (っていうかググッてもすぐ回答が見つかるはずだとも思うが) $付き: 返り値の型がString $なし: 返り値の型がVariant Variant返す関数の存在理由は良く知らないが、普通は使う必要ないんじゃないのかな。
294 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 13:21:40 ] >>293 Mid$で連結が意味不明なら答えるなよ。 わかる人はすぐ分る。 そもそもオマイは関数と勘違いしてるし。 俺より初心者みたいだなw
295 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 13:53:06 ] >そんな知識もない奴がいまさらVB使ってどうするのかなw すぐこういう事を言い出す輩が多いな。 あとクソ仕様がどうとか。 学生か趣味でしか使わない奴らには一生理解できないんだろうけどね。
296 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 13:57:09 ] >>287 です 簡潔でなかったので、簡潔に書きます。 テキストファイルAをあるアプリAで OPENステートメントのRead Sharedで開いていた場合 別アプリBでファイルAを開いたり更新したりしようとすると 問題が生じるでしょうか?
297 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 18:35:54 ] 誰か>>294 の言ってる意味がわかる奴いる?w 俺は意味不明なこと言ってるとしか思えないが、 正直VBは年に1度触るか触らないかの状態なので自信もって否定はできない、と一応謙虚に言っておく。 ついでにまあどうでもいいが、「そんな知識もない奴がいまさらVB使ってどうする」 って指摘が不適切とは俺は思えないんだよねやっぱり。 初心者が今更VB使ってどうすんの。 まあそりゃ保守の需要とか学校の講義でたまたま使ってるとかあるのかもしれんが、 今更初心者にVBのコードを保守させる会社とか、今更VB6を使って教える学校ってのは如何なもんなのかねえw
298 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 18:51:23 ] いやいや。「お前が言うな」
299 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 19:04:12 ] >>297 恥ずかしい奴だな。 ttp://support.microsoft.com/kb/170964/
300 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 19:19:17 ] mid$で連結って、前スレあたりで話題になったよね
301 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 19:21:36 ] >>297 はMidステートメントは使ったことないんだよきっと。 &演算子で連結することしか知らなかったりしてw
302 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 19:23:40 ] 知らなかったのならググればよかったのにw
303 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 19:25:43 ] >>299 語るに落ちてるな。 サンプルコードをロクに理解せずにコピペして使ってるVB厨房の君自身をね。 そのサンプルコードの動作原理をちゃんと理解してる?w 理解してたら決して「Mid$で文字列を連結」などとは言わないよ。 そのコードでMid$が担ってる機能は「文字列の連結」じゃなくて「置換」だと思うけどね
304 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 19:30:40 ] >>303 では、件のURLの<title>がなぜそのようになっているか、説明してもらおうか。
305 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 19:32:16 ] >>303 なぁ、こんな所で戦っても、何も得るものないぞ? 匿名なんだからさ、おとなしく引きさがれよ。
306 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 19:33:35 ] 人に突っ込む前になぜ"pseudo-concatenation"と書いてあるか考えた? っていうかコード読め。読んで理解しろって。 人様に突っ込むのなんざその後だろうが。
307 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 19:36:44 ] >>303 とことん恥ずかしい奴だな。 お前は>>292 の内容が全く理解も想像もできなかったんだろ? 「文字列連結」と「Mid」というキーワードで連想するものを初めから知ってたらな、 最初の発言で「それは置換だろ」と指摘しとけよ。 もっともそんなこと指摘しても、>>292 の疑問には何の解決にもならんがな。 ちなみに、>>292 の回答は、「自分で計測して速い方を使え」だ。同じだったら、好きな方でかまわん。
308 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 19:42:50 ] >>307 その回答もどうかと そんな浅い事なら質問してないだろう。
309 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 19:43:03 ] 顔真っ赤で反論考え中w
310 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 19:45:23 ] そもそもMid$ステートメントなんてないのかもね。 Join関数をJoin$と書いても動くのと同じじゃねーの?
311 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 19:45:43 ] >>308 内部実装を知りたいなら、プロセスにアタッチして逆アセンブルされてるのを 眺めたらわかるかもね。 俺は興味無いけど。
312 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 19:46:56 ] >>307 何をいってるんだコイツ。 俺はエスパーじゃない。 >>292 の「Midステートメント(関数ではない)で文字列を連結」が>>299 の コードのことを指しているとして、そんなことが俺にわかるわけがない。
313 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 19:48:47 ] >>312 つ「知らないなら黙っとけ」
314 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 19:49:26 ] 普通Midステートメントと文字列の連結といったらわかるぞ? エスパーじゃないのはもともと分かってるw
315 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 19:53:43 ] >>312 わからないなら、何でレスしたんだ? おとなしく黙っとけば恥もかかずに済んだものを。
316 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 19:58:20 ] VBは年に一度触るかどうかレベルの奴が、何でこのスレ巡回してんだよw 教えたがりもたいがいにしとけよw
317 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 21:23:09 ] これはひどい・・・
318 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 22:02:02 ] ここではよくあること 気にするな
319 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 20:16:42 ] >>292 この間未だにVB5で稼動してるシステムにVB6と互換性あるJoin関数やReplace関数作ったんだけど そんときMidステートメント使ったのね。 最初はMidでやってたんだけど遅い気がしてMid$に変えたら早くなったよ。 VB5だからなのか、使ってるマシンが古いせいなのかは知らないけど、 Mid$の方が早いみたいだしMid$使ったらどうかな?
320 名前:292 mailto:sage [2008/05/03(土) 20:34:21 ] >>293 以外のみんなありがとね。 こちら何度やっても差が出なくて困ってる。 おれも>319のようにMid$の方が速かったことがたしかあったけど、どうも最近再現しない。 >>310 のJoin$みたいに、もしかしてつけなくていいものをつけてるとしたら馬鹿らしいし >>319 にはすまんけど付けないことにするかな?
321 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 22:23:53 ] >>320 ttp://officetanaka.net/excel/vba/speed/s12.htm
322 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 23:21:14 ] >>321 500万回でMidが5秒って、1回あたり1usじゃん。 +で文字列連結するのをMidに変えたときの恩恵に比べれば、差なんて無いも同じ。 ・・・まぁ、俺は常にMid$つかうけどね。
323 名前:292 mailto:sage [2008/05/03(土) 23:44:10 ] >>321 あまりラベルの低いサイトにリンク張らないように。 それってMid$関数だろ? 俺が言ってるのは関数じゃなくてステートメント。
324 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 23:49:57 ] いいかげん、うざくなってきたな
325 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 00:11:16 ] うむ
326 名前:319 mailto:sage [2008/05/04(日) 11:33:59 ] >>320 まあそれはお好きにどうぞw
327 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 17:03:11 ] なんか以前論争になったときは「変なこという奴だな」と思いつつも黙っていたが、 VBのような言語(つまりCのような設計思想の言語とは違う、と言いたいんだが)で 「組み込み関数」と「ステートメント」を峻別することに意味なんてあるんか?w 確かにMSDNライブラリ(俺の手元にあるのは2001年10月のもの)を見ると、 たとえばMid$ならMid$に関して、「Midステートメント」と「Mid関数」の二つのエントリーがあるが、 二つの説明を見比べれば、「Midステートメント」の方は明らかに「Mid関数」の返り値の型の仕様ついて 詳細な説明をスキップするための便宜上のもの(はっきり言えば煙に巻いて誤魔化している) に過ぎないように思われるが。
328 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 21:36:28 ] Dim s As String s = "1234567890" Mid$(s, 3) = "alpha" Mid(s, 3) = "beta" vb6でこーゆーコードをコンパイルして、逆汗したが、 結局両方とも同じように_vbaMidStmtBstr呼んでるだけだたよ。
329 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 05:46:33 ] ってことはMidで十分ってことだよな。 関数はMid$が常識だろうが。
330 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 09:28:20 ] フォーム タイトルバーのフォントサイズを変更するにはどうすればいいですか? フォーム プロパティのフォントサイズを指定すると 置かれている各コントロールのフォントサイズは変わりますが 肝心なタイトルバーのフォントサイズが変更されません
331 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 12:55:21 ] 画面のプロパティのデザインで決まっているので、個別のウィンドウで変更することはできません。
332 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 20:27:53 ] WebBrowser1でWebを読み込んで縦スクロールバーをコントロールする方法ないですか? 最初に一番下まで持っていきたいのですが。
333 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 12:10:56 ] Webを書き換えできる立場にいるなら<a name="hoge"></a>でアンカー付けて読み込む時にURL末尾に#hoge Webは書き換えられないならフォーカスをIEコンポにしてSendKesとか・・・
334 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 15:17:49 ] >>333 できました ありがとうございます。
335 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 00:06:54 ] midの話題に便乗して質問 replace関数とmidステートメントの使い分けって どういう風にしたらよろし? あとreplace関数で下のようにInStr関数を使って開始位置を設定するのは意味がない? strHoge = "...hoge" strFuga = Replace (strHoge, "hoge", "fuga", InStr(strHoge, "fuga", vbBinaryCompare))
336 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 00:36:52 ] >>335 使い分けって全然別物じゃんw っていうか、だからVBのような言語で関数とステートメントを「使い分け」ることこそ意味がないつーに。 mid: 与えられたBSTRのバイナリイメージを直接上書きする。 当然、置き換えられた部分の文字数も、文字列の長さも変わらない。(変えられない) replace: 与えられた文字列の中の特定の部分を別の文字列で置き換えた文字列を新たに作成する。 「置き換えられる」部分文字列の長さと「置き換える」部分文字列の長さは違っていてもかまわない。
337 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 02:50:02 ] vb6.0でフォームだけ透明化して、ラベルなどはそのまま表示させることって可能でしょうか? 方法があれば教えてください。