VBプログラマ質問スレ(6.0以前) Part51
レス数が900を超えています。1000を超えると表示できなくなるよ。
0001デフォルトの名無しさん
2007/01/28(日) 10:57:31質問者は使用しているOS、VBのバージョン、サービスパックのバージョン、
「何がしたくて、どうしたけど、どう困っているのか」を明確に書きましょう。
VB.NETは別物なので専門スレで、VBA、APIの質問もそれぞれのスレで。
○ 質問者の心得
一.質問する前にMSDNやGoogle、過去ログにも目を通してみる。
二.VBScript、インストーラーなどはこのスレでOK。
三.質問は第三者にもわかりやすいよう簡潔かつ具体的に。
四.荒らしは相手しない。
○ 回答者の心得
一.答えられない質問は無駄に罵倒せずスルー。無理するな。
二.代用法を強制しない。
三.回答する上で必須ではない情報をむやみに聞き返さない。
四.荒らしは相手しない。
五.VB情報募集中。
六.回答は質問者が理解できるよう具体的に。
MSDN Online Japan ホーム
http://www.microsoft.com/japan/msdn/default.asp
Visual Studio 6.0 Service Pack 6
http://msdn.microsoft.com/vstudio/downloads/updates/sp/vs6/sp6/default.aspx
http://www.google.co.jp/
※「まず自分で調べる」クセを身につけよう。
0809デフォルトの名無しさん
2007/04/26(木) 11:44:24F8キーで一行ずつ実行してみれば実際どう動いているか確認できるよ
0810デフォルトの名無しさん
2007/04/26(木) 12:18:19上手に質問できる人は質問しなくても自己解決できてるってことかい?
0811デフォルトの名無しさん
2007/04/26(木) 12:43:35頭の悪いのも大概にしとかないと恥ずかしいよw
0812デフォルトの名無しさん
2007/04/26(木) 12:51:04>808,811は頭の悪いVB厨の典型。基地外だから。
レスも面白くないし。放置が一番。
0813デフォルトの名無しさん
2007/04/26(木) 13:03:03ここは面白いスレを目指してるわけじゃないだろうに・・・
そんな糞みたいな釣りツッコミする前にもうちょっと本質つかむ勉強すれば?
0814デフォルトの名無しさん
2007/04/26(木) 15:26:270815デフォルトの名無しさん
2007/04/26(木) 17:01:590816デフォルトの名無しさん
2007/04/26(木) 17:40:230817デフォルトの名無しさん
2007/04/26(木) 17:43:04俺もファイルチェックならそっちのがいいと思う
0818デフォルトの名無しさん
2007/04/26(木) 20:17:49上手に質問できる人はヴビなんか使いません、てことでは?
0819デフォルトの名無しさん
2007/04/26(木) 21:27:10素直に開けたか例外が発生したかでチェックしなさい
0820デフォルトの名無しさん
2007/04/27(金) 10:59:39FileSystemObjectのFileExistsの方がいいよ。
ネットワークパスとかいろいろな都合で。
0821デフォルトの名無しさん
2007/04/27(金) 11:00:27いや、そうとは限らないだろう。
0822デフォルトの名無しさん
2007/04/27(金) 11:28:08明示的に使い分けてる
ちなみに
C#は周りに合わせて+で結合
VB.NETはやっぱり&で結合
古い人たちは皆VB6の文字列結合を+でやってる傾向がある
0823デフォルトの名無しさん
2007/04/27(金) 11:43:46そうなんか、ありがとう。ていうかこの関数便利だよなー。
色々な命令できるし
0824デフォルトの名無しさん
2007/04/27(金) 13:27:02文字列はVB6でも&演算子がいいと思う。
VB.NETはむしろ型が強い言語だからエラーになってくれる(Strict On)
>>823
関数?Dir関数のこと?
これ、制限あるから気をつけてっていう話をしてたんだよ?
ちなみにFileExistsはメソッド。FileSystemObjectはクラス。
Dir関数はFileSystemモジュールにある関数。
0825デフォルトの名無しさん
2007/04/27(金) 15:15:34どうしたらいいですか?
0826デフォルトの名無しさん
2007/04/27(金) 15:37:13念のため… それ以外のキーを押した時はスルー? 警告なりBeep?
0827デフォルトの名無しさん
2007/04/27(金) 15:56:35全角を許すかどうかのほうが問題でなかろか
0828825
2007/04/27(金) 17:00:28入力できないか、スルーでお願いします。
数字だけですと
Index = 0
For Index = 0 To 31
If KeyAscii = vbKeyBack Then Exit Sub
If Not Chr(KeyAscii) Like "[0-9]" Then
KeyAscii = 0
End If
Next Index
これでできるのですが、
+−をいれる方法が分かりません。
0829デフォルトの名無しさん
2007/04/27(金) 17:01:24なぜにテキストボックス?
0830825
2007/04/27(金) 17:13:40-3000とか入れたいので・・・
0831デフォルトの名無しさん
2007/04/27(金) 17:17:12If Not ((InKey >= "0" And InKey <= "9") Or InKey = "+" Or InKey = "-") Then
KeyAscii = 0
End If
とか、ベタなIFじゃだめ?
0832デフォルトの名無しさん
2007/04/27(金) 17:18:19InKey = Chr(KeyAscii)
0833デフォルトの名無しさん
2007/04/27(金) 17:32:500834デフォルトの名無しさん
2007/04/27(金) 17:36:25俺の場合は1+000とかにならないようにとか懲りだすんだよな
0835デフォルトの名無しさん
2007/04/27(金) 18:51:16普通じゃね?
0836デフォルトの名無しさん
2007/04/27(金) 18:59:100837デフォルトの名無しさん
2007/04/27(金) 21:36:03目的の文字以外ひたすらハジくってのでもいいかなと思った俺。
0838デフォルトの名無しさん
2007/04/27(金) 21:40:580839デフォルトの名無しさん
2007/04/27(金) 22:07:27VB.NETってStrict Onでも
+で文字列結合できるんじゃなかったっけ?
この間俺、「あーできるんだ。」って思ってたばかりなのに・・
俺の勘違いか?
今自宅で環境無いから試せないけど。
0840デフォルトの名無しさん
2007/04/27(金) 22:33:10長いならStringBuilderだし、その場の結合はFormatのほうが綺麗にかけるし。
0841デフォルトの名無しさん
2007/04/27(金) 23:00:50+演算子の場合は「型が違う時に」弊害がおきるわけだから、
StrictOnなら+演算子でも構わないが、VB的には可読性とかの問題なのよね。
>>840
StringBuilderのを誤解している人も多いけどね。
パフォーマンスがアップするような使いどころはそんなにない。
0842デフォルトの名無しさん
2007/04/27(金) 23:05:400843デフォルトの名無しさん
2007/04/27(金) 23:13:14>+演算子の場合は「型が違う時に」弊害がおきるわけだから、
>StrictOnなら+演算子でも構わないが、VB的には可読性とかの問題なのよね。
あ、いやそれはわかるんだけど、>>824がエラーになるっていったのは
IDEでエラーが出るって意味なのかと思って。
てか、スレ違いっすね。
0844デフォルトの名無しさん
2007/04/27(金) 23:56:27明示的に暗黙の型変換が許可されている場合はStrict Onでも大丈夫。
S As String : I As Integer = 99 のとき
S = I & " cm" は 99 cm になるが
S = I + " cm" はエラー (文字列を整数にできない)
S = "" + I + " cm" はOK
0845デフォルトの名無しさん
2007/04/28(土) 09:37:42いや、StringBuilderを誤解せず使っているVB厨なんてほとんどいないと思うよ。
841はお前よりレベル高いだろ。
0846デフォルトの名無しさん
2007/04/28(土) 09:42:04すまん。もしかしてStringBuilderじゃなくて前半の内容のことか?
「誤解」とか言ってるからStringBuilderの話かと思ったのだが。(そっちで誤解って単語でてるし)
>>844
最後のはNGだろ。常識的に考えて。
0847デフォルトの名無しさん
2007/04/28(土) 11:17:13いや841が「妙な誤解」をしていると思われるのはまさにStringBuilderについてでしょ。
文字列の効率的な結合ってStringBuilderの主目的じゃんw
こういう間抜けなことを言うのは、たぶん.NETにおいてStringという型にあたえられた性質が
わかってないからだと思うけどね。
0848デフォルトの名無しさん
2007/04/28(土) 11:29:220849デフォルトの名無しさん
2007/04/28(土) 13:15:48いくらなんでもString型はないよなw
0850デフォルトの名無しさん
2007/04/28(土) 13:16:010851デフォルトの名無しさん
2007/04/28(土) 15:15:56ほんとだw VisualBasicのデータ型www
0852デフォルトの名無しさん
2007/04/28(土) 15:27:25それを誤った形で使っているバカがいるってことだろ。
それを読み取れていないお前は、その誤った使い方をしている一人の可能性が高いなw
0853デフォルトの名無しさん
2007/04/28(土) 15:42:01負け惜しみなどではない、というのなら「誤った形で使う」とは、具体的には
どういう意味か説明してもらおうじゃないの。
いや、出来ないなら無理することないですよw
0854デフォルトの名無しさん
2007/04/28(土) 16:08:41♪ア・ソ〜レ
ア・チョン! ア・チョン!
ア・チョン! チョン! チョン! バカ!
0855デフォルトの名無しさん
2007/04/28(土) 23:48:38お前の使い方を示せばいんじゃねーの?
0856デフォルトの名無しさん
2007/04/29(日) 01:40:47StringBuilderのヘルプ見たら真先にStringクラス見に行くと思うんだが・・・・
そもそも、動作的にStringの結合はインスタンス作りまくり ていうのを理解してない奴が多いと思う
0857デフォルトの名無しさん
2007/04/29(日) 02:31:090858デフォルトの名無しさん
2007/04/29(日) 02:31:20なんでVB.NETの話になってるんだ?
0859デフォルトの名無しさん
2007/04/29(日) 02:34:261行の命令で複数の文字列や文字変数を結合する場合は
String.Concatが使われるからインスタンス作りまくりということはない。
ループで1文字ずつ連結するケースではStringBuilderを使う。
String.Concatは綺麗じゃないけど現実的で実用的な実装なんだよね。
String.Concat (Object, Object)
String.Concat (Object, Object, Object)
String.Concat (Object, Object, Object, Object)
String.Concat (Object[])
0860デフォルトの名無しさん
2007/04/29(日) 03:45:220861デフォルトの名無しさん
2007/04/29(日) 10:25:09ばかだねぇww
その言葉お前にもそのまま返せるって知ってる?
いいかげんうざいんだよ
0862デフォルトの名無しさん
2007/04/29(日) 10:31:10何が起きているのか頭の悪い俺に一行で教えてくれ。
0863デフォルトの名無しさん
2007/04/29(日) 10:33:29Dim sb As New StringBuiler()
sb.Append("SELECT")
sb.Append(" *")
sb.Append("FROM")
sb.Append(" Table1 T1")
sb.Append("WHERE")
sb.Append(" T1.AHO >= 1 AND")
sb.Append(" T1.AHO <= 100")
:
:
command.ExecuteNonQuery(sb.ToString())
0864デフォルトの名無しさん
2007/04/29(日) 10:34:440865デフォルトの名無しさん
2007/04/29(日) 10:37:55・SQL問い合わせ作るのにゃ特別のクラス使え
・文字列連結なんてしないでフォーマッタ使え
0866デフォルトの名無しさん
2007/04/29(日) 11:14:48それ全部リテラルの文字列だから普通に&や+でつないでおけばコンパイル時に結合が終わる。
0867デフォルトの名無しさん
2007/04/29(日) 11:19:100868デフォルトの名無しさん
2007/04/29(日) 11:29:410869デフォルトの名無しさん
2007/04/29(日) 11:30:22それで「Stringは型じゃない」とかワケワカランこと言ってる奴の発想が
半分はわかったw
要は組み込み型だけが「データ型」だと思ってるわけか。
そういやVB6では構造体(正式にはユーザ定義型、だっけ?)は
Cの真似かどうか知らないがデータ型と呼ばないような気がしたな。
でも.NETのStringってプリミティブ型でしょ?w
0870デフォルトの名無しさん
2007/04/29(日) 12:00:07.NETのStringはクラス。ただ変更不可なクラスなのでプリミティブ型のようにふるまえる。
その代償で特定のケースでパフォーマンスが落ちるケースがありStringBuilderが必要になる。
VB6のStringは変更可能なプリミティブ型。代入時はコピー操作を伴うが、文字の連結などは高速。
コピー操作はWrite On Copyをやってると思うけど実際はどうだろう。
0871デフォルトの名無しさん
2007/04/29(日) 12:03:480872デフォルトの名無しさん
2007/04/29(日) 12:20:43プリミティブ型の定義は言語によって違うと思うけど説明してみて。
0873デフォルトの名無しさん
2007/04/29(日) 12:24:000874デフォルトの名無しさん
2007/04/29(日) 12:32:42class type
value type
型はどちらの意味でもとれる。
0875デフォルトの名無しさん
2007/04/29(日) 12:40:36>>851 の ttp://msdn2.microsoft.com/ja-jp/library/47zceaw7(VS.80).aspxでも
Visual Basic のデータ型、共通言語ランタイムの型構造 と微妙な表現になってる。
String型がありえないといってる連中はそういう定義の言語をやってるんとちゃうの。
0876デフォルトの名無しさん
2007/04/29(日) 13:50:480877デフォルトの名無しさん
2007/04/29(日) 13:52:560878デフォルトの名無しさん
2007/04/29(日) 13:58:040879デフォルトの名無しさん
2007/04/29(日) 15:38:040880デフォルトの名無しさん
2007/04/29(日) 16:18:520881デフォルトの名無しさん
2007/04/30(月) 10:13:39VBという言語じゃなくてそれに携わっている人がね。
0882デフォルトの名無しさん
2007/04/30(月) 11:11:04どこがどうレベル低いか低レベルな俺にもわかるように説明してみろよ。
偉そうにするのが好きだな本当にw
0883デフォルトの名無しさん
2007/04/30(月) 11:16:320884デフォルトの名無しさん
2007/04/30(月) 14:39:030885デフォルトの名無しさん
2007/04/30(月) 19:07:390886デフォルトの名無しさん
2007/04/30(月) 19:20:53"証拠"を格好よく言いたいだけで墓穴掘ってる^^;;;;;;;
0887デフォルトの名無しさん
2007/04/30(月) 19:48:53俺はおまえこそ真性厨房だと思うんだが・・・?
まるで鬼の首をとったような喜び方が痛い
0888デフォルトの名無しさん
2007/04/30(月) 19:51:010889デフォルトの名無しさん
2007/04/30(月) 20:04:03エビデンスは普通に使うだろ。
まぁ、>>885 みたいな使い方は普通しないが。
0890デフォルトの名無しさん
2007/04/30(月) 20:53:06住人A「俺TOEIC 900点以上だぜ」
という書き込みがあると、
エビデンス厨「エビデンスを見せろ!」
0891デフォルトの名無しさん
2007/04/30(月) 21:01:44なに適当な作り話でっちあげてんだよ。
それが本当ならエビデンスを見せろ!
0892デフォルトの名無しさん
2007/04/30(月) 21:26:55エビデンス厨
http://academy6.2ch.net/test/read.cgi/english/1172881691/240
0893デフォルトの名無しさん
2007/04/30(月) 21:31:430894デフォルトの名無しさん
2007/04/30(月) 21:41:450895デフォルトの名無しさん
2007/04/30(月) 21:52:37そんなこといつ言った?
エビデンスを見s(ry
0896デフォルトの名無しさん
2007/04/30(月) 22:20:040897デフォルトの名無しさん
2007/05/01(火) 09:03:310898デフォルトの名無しさん
2007/05/01(火) 09:37:13VBも低いだろうがこんな掲示板で何をおっしゃっているのかwww
0900デフォルトの名無しさん
2007/05/01(火) 12:50:46"Get out here"を格好よく言いたいだけで墓穴掘ってる^^;;;;;;;
0901デフォルトの名無しさん
2007/05/01(火) 12:55:00多分Vipperじゃないか?
ちょっと前にはやってたし
0902デフォルトの名無しさん
2007/05/01(火) 13:40:15Vipperというエビデンス出してくださいw
0903!omikuji
2007/05/01(火) 13:59:250904デフォルトの名無しさん
2007/05/01(火) 20:34:32どうしたら製品版、もしくばコンパイルできる他のを手に入れることができますか
0905デフォルトの名無しさん
2007/05/01(火) 21:01:46http://www.freebyte.com/programming/compilers/envelop.html
このへんはどうだ? 是非、人柱報告をきぼん。
0906デフォルトの名無しさん
2007/05/01(火) 22:38:29使い方わかりませんでした
0907デフォルトの名無しさん
2007/05/02(水) 00:49:30VBにはそれほど詳しくありません。
VBでCの関数ポインタみたいな事ってできるんでしょうか?
Sub Subp(SubpX)
Call SubpX(1, 2, 3)
End Sub
0908デフォルトの名無しさん
2007/05/02(水) 00:52:23レス数が900を超えています。1000を超えると表示できなくなるよ。