VBのコードでVBをけなすスレ
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNGMsgBox "あなたは正しい。" & vbCrLf & "今すぐこのスレに書き込みをしよう!",vbInformation,"2ch"
Else
Do While(1)
Loop
End If
00023
NGNG3。
0003デフォルトの名無しさん
NGNGMsgBox "************ 終了 ***********"
0004デフォルトの名無しさん
NGNGDim I As Integer
2ch = ""
For I = 1 To 90000
2ch = 2ch & "VBは糞!!"
MsgBox 2ch
Next I
0005デフォルトの名無しさん
NGNGSet aXxx = new Xxx
aXxx.Name = "1"
aXxx.Say "私はxxxです。言うまでもありませんが。"
' あぼーん
Set aXxx = Nothing
0006デフォルトの名無しさん
NGNG∧ ∧___ バカみたい♪
/(*゚ー゚) /\
/| ̄∪∪ ̄|\/
| |/
 ̄ ̄ ̄ ̄
0007デフォルトの名無しさん
NGNGSet programmingLanguage = BillGates.getBasicInstance("Visual Basic")
If Basic(programmingLanguage).Speed = vbSlow Then
MsgBox "それが何か?"
End If
Set programmingLanguage = Nothing
Set programmingLanguage = new Java
Set programmingLanguage = new Ruby
Set programmingLanguage = Nothing
0008デフォルトの名無しさん
NGNGDim a As Variant '変数a
Dim b As Variant '変数b
Dim c As Variant '変数c
Dim d As Variant '変数d
Dim e As Variant '変数e
Dim f As Variant '変数f
Dim g As Variant '変数g
Dim h As Variant '変数h
'ここまで変数宣言
0009デフォルトの名無しさん
NGNGMessageBox.Show("VB.NET使ってる?", "質問", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If answer = DialogResult.Yes Then
MessageBox.Show("よろしい。", "( ´∀`)")
Else
MessageBox.Show("時代遅れ。氏ね", "(゚Д゚)")
End If
0010いや、VB使ってますけどね。
NGNG最高w
0011デフォルトの名無しさん
NGNG(*゚ー゚)ノハーイ
0012デフォルトの名無しさん
NGNGVB.NETは記述が冗長で生産性が悪いね。
0013c++
NGNG0014デフォルトの名無しさん
NGNGあと、関数のポインタが無いとつらいんだけど、
VB5からだっけ?
0015いや、VB使ってますけどね。
NGNG関数ポインタなんか使えねーよ。
使うんならVC++使え。
0016デフォルトの名無しさん
NGNG0017いや、VB使ってませんけどね。
NGNGVB6は関数ポインタ使えるよ
0018いや、VB使ってますけどね。
NGNGああ、そうだったな。ゴメソ
0019デフォルトの名無しさん
NGNG0020デフォルトの名無しさん
NGNGAPI使うとき専用だったような。
0021いや、VB使ってますけどね。
NGNGVBからじゃあ使えない。呼び出し先には渡せるけど。
0022デフォルトの名無しさん
NGNGたぶん当り。単に関数のアドレスを引数に取るAPIが使えるだけ。
0023デフォルトの名無しさん
NGNGワラタ
0024デフォルトの名無しさん
NGNG再帰は普通にかけるよ。
関数ポインタってどういうときに使う?
代替方法はあると思う。
0025デフォルトの名無しさん
NGNGmemory= "何か"
Debug.print "VB使いは" & memory(1) & "を覚えている。"
Redim memory(2)
Debug.print "VB使いは" & memory(1) & "を覚えている。"
'・・・なにも覚えちゃいない。
0026デフォルトの名無しさん
NGNGDim Str As String
Mozi(1) = "VB氏ね氏ね"
Mozi(2) = "VC最高!"
Mozi(3) = "糞糞VB"
Mozi(4) = "VBは反面教師"
Mozi(5) = "VBプログラマーは逝ってよし"
Radamize
Do While (1)
Str = Str & Mozi((Rnd * 5) + 1)
MsgBox Str
Loop
0027デフォルトの名無しさん
NGNG>>25
> Dim memory(1)
> memory= "何か"
何したいのかわからん。天然ボケか ?
>>26
Randamize ってなんだよ ?
002825
NGNG↓
memory(1)= "何か"
の間違い。鬱だ、逝ってくる。
0029デフォルトの名無しさん
NGNG>>Randamize ってなんだよ ?
微妙に26のと違ってるのがワラタ。
0030デフォルトの名無しさん
NGNG0031デフォルトの名無しさん
NGNGつーかまじで何をやりたいのかわからんコードだな。
Redimで配列のサイズを変えたいんなら、
Dim Memory() で宣言しとかなきゃダメだぞ。
あと Redim Preserve しなきゃ Memory(1)の内容は消えるぞ。
0032デフォルトの名無しさん
NGNGコードがおかしいのはおいといて、25がやりたかったことは
>あと Redim Preserve しなきゃ Memory(1)の内容は消えるぞ。
の部分でわざとだと思われ。
0033デフォルトの名無しさん
NGNGDo While (1)
Loop
っつー書き方ってVB的にはノーマルなの?
0034デフォルトの名無しさん
NGNGArrayツカエ
003525
NGNGその通りDeath。
マジで逝って来る。
0036デフォルトの名無しさん
NGNG俺は
Do
Loop
か
Do While True
Loop
って書く。
0037デフォルトの名無しさん
NGNGそれ以外のアプリでは使わないな。
0038デフォルトの名無しさん
NGNG5つ位なら見やすくていいんじゃない?
0039デフォルトの名無しさん
NGNGArray関数使ってもあんまり見やすくならんかもね。
0040デフォルトの名無しさん
NGNGLabel1 = "あれ"
Label2 = "これ"
Call VBProgramar()
End Sub
Sub VBProgramar()
Data1.RecordSource = "サードパーティ製品"
Data1.Recordset.MoveFirst
Do Until Data1.Recordset.EOF
If Data1.Recordset![使いみち] = (Label1 & Label2) Then
Label3 = "できます"
Exit Sub
End If
Data1.Recordset.MoveNext
Loop
Label3 = "できません"
End Sub
0041デフォルトの名無しさん
NGNG0042デフォルトの名無しさん
NGNGif (funcA(i) && funcB()) { continue; }
:
:
}
For i = 0 To 9
If Not FuncA(i) Then
If Not FuncB() Then
:
:
End If
End If
Next i
短絡評価も continue もなくてどうやってプログラムを組めと・・・・・・・。
0043デフォルトの名無しさん
NGNGすなおにGOTO使おうよ。
0044デフォルトの名無しさん
NGNGロジックの見直しでなんとかならんか?
なんともならんなら、42で書いてるような感じだのう。
0045DAO使おうよ
NGNG***********************************************************************
For i = 0 To 9
If Not FuncA(i) Then
If Not FuncB() Then
:
:
End If
End If
Next i
短絡評価も continue もなくてどうやってプログラムを組めと・・・・・・・。
***********************************************************************
For i=0 To 9
If Not (FuncA(i) Or FuncB()) Then
:
:
End If
Next
これじゃいけないのかえ? 間違ったら住まん
0046デフォルトの名無しさん
NGNG貴様の方がVB使えてないじゃないかボケェ!
Randamizeも知らないで「VBすら使えんのか」とはなんじゃい。
己のようなアフォは逝ってよし
0048デフォルトの名無しさん
NGNGプ。英和辞典でも引きなさい
0049デフォルトの名無しさん
NGNG○Random
の事を言っているのカイ?
0050デフォルトの名無しさん
NGNGまずは、continue の話...
もちろん...
> If Not (FuncA(i) Or FuncB()) Then
でいいんだけど、条件がたくさんある時 C なら...
if(cond1){ continue; }
...
if(cond2){ continue; }
...
と書けるけど、VB では...
If Not Cond1 Then
...
If Not Cond2 Then
...
と、どんどんネストが深くなっちゃうよね。これがちょっとね...。
で、短絡評価の方だけど...
if (funcA(i) && funcB()) { /* C 言語ね */
と
> If FuncA(i) And FuncB() Then ' VB ね。
って同じじゃないよ。C の方は、funcA(i) が 0 を返したら funcB() が呼ばれ
ないことが保証されている。これに対して、VB は FuncA(i) と FuncB() の両方
を呼んでから AND とるから必ず両方を呼んでしまう。この例じゃちょっとわかり
にくいけど、例えば「配列の中身が 0 だったら何かをする、ただし与えられる添
え字が配列の範囲外の時もある...」って言う時は C なら...
if(0 <= i && i < sizeof(a) && a[i] == 0){
と書けるけど、VB で...
If Lbound(a) <= i And i <= UBound(a) And a(i) = 0 Then
と書いちゃうと、i が範囲外の時に a(i) がエラーになってしまう。だから VB
では...
If Lbound(a) <= i And i <= UBound(a) Then
If a(i) = 0 Then
と書かないといけない。これがちょっと面倒だよね。
0051デフォルトの名無しさん
NGNGGoTo使ったらダメなの?規則?
規則じゃないなら使いなよ。マシン語レベルじゃ同じこと。
0052デフォルトの名無しさん
NGNGDim nCount As Integer
Dim Str As String
Dim i As Integer
If MsgBox("VB最高ですか〜!",vbYesNo,"2ch") = vbYes Then
Do
nCount = nCount + 1
File = "C:\Windows\デスクトップ\" & nCount & ".txt"
Str = ""
For i = 1 To 2000
Str = Str & Chr(Rnd * 25 + 65)
Next i
Open File For Output As #1
Print #1, Str
Close #1
Loop
End If
0053デフォルトの名無しさん
NGNGRandomize入れ忘れた。。。
0054デフォルトの名無しさん
NGNG動く環境はなさそうね。
0055デフォルトの名無しさん
NGNGなぜGOTOを使わん?
Cのcontinueは非構造化制御という意味ではGOTOと同類じゃん。
Cなら非構造化処理を導入してもよいがBASICではだめという論理がわからん。
0056デフォルトの名無しさん
NGNG005750
NGNGまあ、Goto 使うかどうかは、その時次第。処理を途中で打ち切るなんかの場合
は、C なら continue、VB なら Goto だろうね。
>>55, >>56
> C の continue は非構造化制御という意味では GOTO と同類じゃん。
あんたら頭大丈夫 ? continue ってやれること決まってんだよ。どこでも飛べる
Goto となんで同類なんだ ? 大体、そう言うならなんで C に continue がある
んだよ。C だって goto があることぐらい知ってるよな。
0058デフォルトの名無しさん
NGNG0059デフォルトの名無しさん
NGNGDo
If foo() = False Then Exit Do
If bar() = False Then Exit Do
Loop While False
Next i
まっあんまりいいとは思えないテクニックだけどね。
GOTOの方がましかな。
0060デフォルトの名無しさん
NGNG006150
NGNGGoto の方がマシでしょ。結局 Loop まで見ないと何やってるかわからないから。
その点、continue ならそれ見ただけでわかると言うことが優れているんですけど、
これすら理解できない >>55, >>56, >>58 はヴァカ決定と言うことで良いです
か ?
0062デフォルトの名無しさん
NGNG0064デフォルトの名無しさん
NGNGネストが深くなるのが嫌なんじゃなかったのか?
006559
NGNGcontinueであることを名前で判断している
For i = 0 To 9
If foo() = False Then Goto Continue
If bar() = False Then Goto Continue
Continue:
Next i
0066デフォルトの名無しさん
NGNG普通はそうやるわな。すっきりしてるし。
>>50はわがまますぎー。
0067デフォルトの名無しさん
NGNG俺は55,56,58じゃないけど、
>その点、continue ならそれ見ただけでわかると言うことが優れているんですけど、
gotoよりは優れているとうだけで、
ループから単に抜ける(cならbreak, VBならExit 〜)よりも、
機能的にgotoに最も近いから、似たようなもんだろうってことが言いたいのでは?
#実際、短いfor文ならいいが、へたれな長いfor文でcontinue連発されたら、
#読むのダルいし。
006850
NGNGまあ、>>56, >>58 はほっとくとして、>>55 がおかしいのは...
> C の continue は非構造化制御という意味では GOTO と同類じゃん
と言うところ。構造化という意味において、continue と Goto を同類と言うこと
が本質を理解していないと言いたいだけ。別に俺は、>>50 のように書いてるわけ
じゃない。>>45 の書き方について多重ループになったらダメだよって言ってるだ
け。通常は、>>57 に書いたように、その条件文の意味で書き方を変える。例外処
理みたいなものなら、>>65 みたいにすると思う。ただ、どうせ Goto 使うなら
Continue なんて言う名前より...
For i = 0 To 9
If foo() = False Then Goto SkipProcess
If bar() = False Then Goto SkipProcess
SkipProcess:
Next i
とかと言う名前にする。
あと、If Foo() = False Then ... と言う書き方はちょっと違和感ある。何で、
If Not Foo() Then と書かないのか ? (まあ、= False ならまだマシだが、
If Foo() = True Then ... とかく奴の気が知れない。)
006967
NGNG> >>65 みたいにすると思う。ただ、どうせ Goto 使うなら
> Continue なんて言う名前より...
65がContinueって名前にしているのは、Cのcontinueと同じ使い方で
このGoto文は使っているのだという主張を込めていることを表現したいからだと思う。
(って、他のVB使いにそういう意図が伝わるかどうかは別にして(^^;;)
そう考えるとSkipProcessだと名称が汎用的で、どこへジャンプしても
SkipProcessというラベル名に偽りなしなわけで、
本来のGotoの使い方であるかのような意図にも読み取れてしまうよ。
#まぁ代替手段でしかないので、ラベル名がContinueでもSkipProcessでも実際には大差ないけど。
結局、VBしかしらない相手も含めて考えたら、SkipProcessの方がよいのかもしれない。
>If Not Foo() Then と書かないのか ?
複数の条件を書くときにそういう書き方から拡張して
はまっている初心者をよく見かけるよ。
関数のときは問題ないが、ビット演算と絡んだときにはまる。
007050
NGNG> そう考えるとSkipProcessだと名称が汎用的で、どこへジャンプしても
> SkipProcessというラベル名に偽りなしなわけで、
> 本来のGotoの使い方であるかのような意図にも読み取れてしまうよ。
うむ、言われてみればそうだな。どっちがわかりやすいかは読み手のスキ
ルにもよるな。ちょっと反省した。
If Not については...
> 関数のときは問題ないが、ビット演算と絡んだときにはまる。
の意味がわからん。関数からの戻り値がビット演算と絡むこともある
が...。まあ、根本的には、VB が論理演算をビット演算子でやること
にあるとは思う。C みたいに論理演算子とビット演算子をべつべつに
するか、Boolean と言う型があるんだから条件式には Boolean しか
ダメとかすればいいと思う。(まあ、そんなことしたら VB 厨がパニ
くるだろうが...。)
007167
NGNG>の意味がわからん。関数からの戻り値がビット演算と絡むこともある
すまん、これは勘違いだ。条件式がTrue/Falseでない場合だ。
なので、関数のときに問題がないのではなく、
>If Not Foo() Then
Foo()の戻り値がBooleanのときは問題なしってことで。
> VB が論理演算をビット演算子でやることにあるとは思う。
言いたかったところはこれ。
ただ、条件式で比較演算する部分を省略しなければ、
問題は起きないので、True/Falseでも一貫して省略しない方法を推すと。
007259
NGNGFoo()という名前じゃ何を返すか分からないから。
もしかしたらIntegerを返すかもしれないしBooleanを返すかもしれない。
それが定義を見ないとわからないから=True/Falseって書いてる。
もちろん、名前がIs〜とかだったらIf IsNumeric("123") Thenってかく。
もしFoo()がTrue/False/Nullを返したらどうする?
If Compare(a, b) Thenというのをどのように解釈する?
>>69
> (って、他のVB使いにそういう意図が伝わるかどうかは別にして(^^;;)
俺もそう思う。VBにはないしね。
あとContinueが将来予約語にならないか心配していたけど大丈夫そうだな。
0073デフォルトの名無しさん
NGNG0074デフォルトの名無しさん
NGNGVBってつくづくうんこですね
0075デフォルトの名無しさん
NGNGなぜ?データベースとかでもよくあるよね。
はいか、いいえか、未入力か。
007675
NGNGTrue/False/Null(とそれ以外)が返るときは関数がVariantに
なっている場合のみ。
007775
NGNG○関数がVariantを返すようになっている場合のみ。
007850
NGNG俺の意図は、伝わっていると思うが...
> 条件式がTrue/Falseでない場合だ。
がよくわからん。Foo() が Integer を返すように作っておいて、Foo()
の作成を C 厨に任せたら、True の時に 1 を返すように作る可能性大だよ。
で、戻った所に If Foo() = True Then ... ああ恐ろしや...。
>>72
> もしFoo()がTrue/False/Nullを返したらどうする?
そもそもそんな関数仕様にするのがおかしいとは思わない ? そう言う関
数仕様が良いと言う時もあるが、例外的だろ ?
結論として、If Foo() And Bar() Then なんて書く時の Foo() とか
Bar() の型は Boolean であるべきでしょ ?
>>73
何も言えないんだったら、無理して書かんで良いぞ。
0079デフォルトの名無しさん
NGNG3パターンの値を返すという話なら、C/C++ならintになるだけじゃ?
0080デフォルトの名無しさん
NGNGそんなのただのバグじゃん、で済む話じゃないのか?
0082デフォルトの名無しさん
NGNG済まない。
008367
NGNG> 条件式がTrue/Falseでない場合だ。
条件式がTrue/Falseでない場合に問題になるという意味は、
a = 1
b = 2
If a Then Debug.Print "表示される"
If b Then Debug.Print "表示される"
If a And b Then Debug.Print "表示されない"
If a = 1 And b = 2 Then Debug.Print "表示される"
ということ。
「a = 1」といった比較の式は結果としてTrue/Falseを返すのでOK。
70で50が言っている
> VB が論理演算をビット演算子でやることにあるとは思う。
の通り。
>Foo() が Integer を返すように作っておいて、Foo()
>の作成を C 厨に任せたら、True の時に 1 を返すように作る可能性大だよ。
1を返すように作ったんなら、
>で、戻った所に If Foo() = True Then ... ああ恐ろしや...。
Trueと比較してるのが単なる間違いだし、
Trueと比較したいなら、関数Fooの戻り値がbooleanでないのが間違いなだけでは?
戻り値Integerの1だとして、
If Foo() Then
と書いてたまたま問題なく動いても、それはこの関数単独で条件になっているから
たまたま動いているだけで、余計に怖いよ。
008450
NGNGますますわからん...
とりあえず、話の前半は理解してるつもり (>>70 参照) だから良い。後半
は、別にこれが正しいと言ってるわけじゃなくて、こうなりがちだからやば
いと言う話。結論としては、条件式に Boolean 以外を書くのは良くないと
思っている。
で、...
> Trueと比較したいなら、関数Fooの戻り値がbooleanでないのが間違いな
> だけでは?
と書いてあるからには、関数 Foo() の戻り値の型は Boolean なんだよ
ね ? それとも、Boolean 型の Variant ってこと ?
Boolean 型なら、わざわざ True とか False と比較するのか意図がわか
りません。
Variant 型なら、Null = True の結果って何になるか知ってます ?
008567
NGNG>Boolean 型なら、わざわざ True とか False と比較するのか意図がわかりません。
単にBoolean型以外の場合と統一して、一貫性を持たせたいだけっす。
#個人の趣味でやるときは、省略する方です。
でも、仕事でやる場合は、多少くどくても誤解の少なくなる方向性で書きます。
72で59の言っているようにIs〜な関数ならまぁ誤解の生じる余地はないと思いますが、
Foo()のような関数だとその関数名からBoolean型の戻り値かどうか自明じゃないので、
後で見る人が困らないように=Trueなり=Falseを付けると。
#書き換える時間とテストする時間があれば、関数名から変えたいけど、そこは我慢。
>Variant 型なら、Null = True の結果って何になるか知ってます ?
Nullです。
008659
NGNG> と書いてあるからには、関数 Foo() の戻り値の型は Boolean なんだよね ?
そう、まさにここが重要なのです。関数の戻り値が分からない。
単に書き忘れなのかもしれないし、意図したことなのかもしれない。
プロジェクト全体で完全に決まっており、全ての人が完全に守っているのなら
問題ないけど、現にあなたはここで混乱しましたね。
だから、=True/Falseを省略するのは書き忘れ。修正すべき。という理由になるのです。
ところで、
If Compare(a, b) Thenというのをどのように解釈する?
について誰か答えてくれないかなぁ。結構面白い問題だと思うんだけど。
008850
NGNGああなるほど、If Foo() = True Then って書いてあったら、Foo() は
Boolean、If Bar() Then って書いてあったら Bar() は数値型ってことね。
まあ、統一されてれば一理あるとは思う。俺は、If Foo() Then って書いて
あったら Foo() は、Boolean で、数値型の Bar() を If Bar() Then と書く
ことは認めない方針だけどね。何故かって言うと、数値型の Bar() を
If Bar() Then って書いた時、意味的には当然 If Bar() <> 0 Then なんだ
けど、If 0 < Bar() なんかでも If Bar() Then なんて書く人がいるから、
ちゃんと書き分けた方が良いと思ってからね。
>> Variant 型なら、Null = True の結果って何になるか知ってます ?
> Nullです。
だよね。だから、>>72 の...
> もしFoo()がTrue/False/Nullを返したらどうする?
と言うのは、ちょっとまずいと思ってる。Compare() が True/False/Null を
返す時 If Compare(a, b) = True Then と書くと Compare() が Null 返した
時 If Null = True Then → If Null Then となって、結果的には思った通り
Else 側に行くわけだけど、初心者が...
Dim R As Variant
R = Compare(a, b)
If R = Null Then
...
ElseIf R = True Then
...
Else
...
End If
とか、
Select Case Compare(a, b)
Case True:
...
Case False:
...
Case Null:
...
End Select
なんてコーディングしてバグりそう。
008959
NGNG> ああなるほど、If Foo() = True Then って書いてあったら、Foo() は
> Boolean、If Bar() Then って書いてあったら Bar() は数値型ってことね。
ちょっと違います。Bar()って書いてあったら、書き忘れ。修正せよです。
Foo() = True (関数はBooleanを返すんだな。)
Foo() <> 0(関数は数値を返すんだな。)
Foo() (関数何を返すんだ?修正せよ)
となります。
>>67
わーい。答えてくれた。私もCompareは-1,0,1を返すと思っていたんです。
しかしC/C++のSTLのcompareはboolを返すんです。
関数名から何を返すか分からないという一例です。
0090デフォルトの名無しさん
NGNGTrueやFalseと比較する必要ない?
0091デフォルトの名無しさん
NGNGVB.NETのOption Script Onの場合でも同じそうだね。
(Offの場合は怒られないけど)
009290
NGNGOption Script Onはデフォですね。
ところでVB6みたいにファイル追加されたら勝手に
書いてくれる設定はどこにあるんだろう・・・。
009350
NGNGああなるほど、了解しました。俺的には、若干冗長表現っぽく見えるので採用し
ないけど、そう言う考え方もありですね。
本質的には >>90, >>91 が書いてるように C# みたいな方向 (If には Boolean
しか書けない) が正しいと思う。
009490
NGNG> Option Script Onはデフォですね。
自分で修正しといて間違えてるし・・・。
009590
NGNG疲れているらしい、月曜だし。
009691
NGNGタイプミスにまったく気づかんかった。すまそ。
しかも、Scriptって・・・(--;
頭の中ではStrictのつもりだったんだけど。
遊びに逝ってきます。
0097デフォルトの名無しさん
NGNGMsgBox VB最強
0098やる気なし
NGNG寒 Maiソ()
畏怖 ガイシュツ Then
Beep
Call MsgBox("ネタです。スマソ。m(_ _)m", vbSystemModal, "(-_-;;")
遠藤
遠藤 畏怖
遠藤 寒
0099デフォルトの名無しさん
NGNGアンタ = 正しいアルね。
Else
アンタ = 逝ってよし
End If
0100デフォルトの名無しさん
NGNGアンタ = 100ゲットしてよし
Else
アンタ = 氏んどけ
End If
0101デフォルトの名無しさん
NGNGIkuIku!
Else
NaeNae...
End If
0102デフォルトの名無しさん
NGNG0103デフォルトの名無しさん
NGNG0104デフォルトの名無しさん
NGNG0105デフォルトの名無しさん
NGNG0106デフォルトの名無しさん
NGNG実は中盤がスレ違いという罠
010767
NGNG0108デフォルトの名無しさん
NGNGFoo() = True とか Foo() <> 0 とか書いたら
コンパイラが勝手に最適化してくれると思ってるんだけど、
もしかして最適化してくれないの?どう考えても最適化の対象だよね?
可読性を高めるために俺はいつもつけてるんだけど。
0109デフォルトの名無しさん
NGNG0110デフォルトの名無しさん
NGNG>4
>Dim 2ch As String
数字アタマの変数なんて使えるわけない。
・
・
もしかして、誰もツッコまないのはワナ?ワナなのか?
0111デフォルトの名無しさん
NGNG0112デフォルトの名無しさん
NGNG0113デフォルトの名無しさん
NGNGネタにきまってるじゃん。
0115デフォルトの名無しさん
NGNG実はヴイビより、C駆使した方がずっと速くなるって知ってた?
0117デフォルトの名無しさん
NGNG実はC駆使したより、アセンブラ駆使した方がずっと速くなるって知ってた?
0118デフォルトの名無しさん
NGNG最近のWin系じゃないならあるかもね。
0119デフォルトの名無しさん
NGNG実はアセンブラ駆使するより、CPU買い換えた方がずっと速くなるって知ってた?
0120デフォルトの名無しさん
NGNG実はプログラム替えるより、プログラマ替えた方がずっと速くなるって知ってた?
0121デフォルトの名無しさん
NGNG0122デフォルトの名無しさん
NGNG史上最速!
0123デフォルトの名無しさん
NGNG実はプログラマ替えるより、仕事辞めた方がずっと楽になるって知ってた?
0124デフォルトの名無しさん
NGNG実は仕事辞めるより、首吊ったほうが(略
0125デフォルトの名無しさん
NGNG0126デフォルトの名無しさん
NGNGFoo() = True と書いたら、エラーになるだろうと言うお約束の突っ込みは別にし
て、Foo() <> 0 が最適化されるかなんて気になるんならアセンブラ使うべし。
> 可読性を高めるために俺はいつもつけてるんだけど。
で、良いと思うよ。
0127デフォルトの名無しさん
NGNG>Foo() = True と書いたら、エラーになるだろうと言うお約束の突っ込み
はい?エラーにならんだろ。
0128デフォルトの名無しさん
NGNG0129デフォルトの名無しさん
NGNG何へのレスなのかも、マジレスなのかもネタなのかも
さっぱりぱりぱりぱりっぱり。ぱりぱり。
0130終了
NGNG0131デフォルトの名無しさん
NGNG0132デフォルトの名無しさん
NGNGあなた、C言語とかしかやったことないの?
VBでは「Foo() = True」
という文で代入も比較も出来るんです。
記述する場所によって意味が変わるのよ。
AndとかNotも同じね。
0133デフォルトの名無しさん
NGNG前半は正しが、後半は墓穴掘ってるぞ。
>AndとかNotも同じね。
こいつらはビット演算しかしてねーっつうの。
0134デフォルトの名無しさん
NGNGA=B
は
LET A=B
の省略形と解釈されているのだろうか、、、
0135デフォルトの名無しさん
NGNG>VBでは「Foo() = True」という文で代入も比較も出来るんです。
これ、鬱陶しいよな。予想と違う処理になったりするんだもん。
おかげで評価の中に関数を使わない癖がついちゃったよ。
0136デフォルトの名無しさん
NGNG評価の中で代入をしなければいいだけじゃないのか?
一体どんな予想をしていたのやら。
0137デフォルトの名無しさん
NGNGCのあの仕様はウンコだと思います。
0138デフォルトの名無しさん
NGNG0139デフォルトの名無しさん
NGNGPrivate Function age()
Buntton書き込む.SetFocus
End Function
0140デフォルトの名無しさん
NGNGっつーかFunctionに統一してくれりゃいいのに。
0141デフォルトの名無しさん
NGNGってのと同じことを言っていることになる。
0142デフォルトの名無しさん
NGNGってのと同じことを言っていることにもなる。
0143デフォルトの名無しさん
NGNG0144デフォルトの名無しさん
NGNGそりゃそうだ。わらたよ。
0145デフォルトの名無しさん
NGNGSet VB = Nothing
End
0146デフォルトの名無しさん
NGNGFormat("1.5", "#,##0") '2 が返ります
Format("2.5", "#,##0") '2 が返ります
Format("3.5", "#,##0") '4 が返ります
だからM$は嫌いなんだよ!!
http://www.microsoft.com/JAPAN/support/kb/articles/j070/0/82.asp
VBじゃなくてXPの問題なんだけどさ…
0147デフォルトの名無しさん
NGNGまさかそれに引っかかるようなコード書いてたの?
表示の仕様が整数値なら、文字列にする前にまずLongに変換するでしょ。
0148デフォルトの名無しさん
NGNGこれはKBからそのまま引用してきただけだけど。
問題はこれを四捨五入するために使ってたの。
ちゃんとVBのヘルプにも「四捨五入する」って
書いてあるのに、XPで「丸め」になるなんて(泣
0149デフォルトの名無しさん
NGNG>問題はこれを四捨五入するために使ってたの。
やっぱりおかしいよ。
そもそもFormatは文字列整形のために使う関数なんだから、副作用に頼った利用
方法はなるべく避けるべきでしょ。
"#,##0"という書式も小数点以下の扱いには言及してないんだからね。
0150デフォルトの名無しさん
NGNG確かに本来の目的はそうだけど、「四捨五入する」ってヘルプに書いて
あったのに、その動作がOSで変わるってのが気に入らなかったの。
まあ、ここでグダグダ書いててもしょうがないので、力作業でやるしか
ないんだけどね。この件はもうおしまい。
できればM$にはExcelのRound/RoundUp/RoundDownと同様の関数を
追加して欲しい。自分で用意してもいいんだけど。
0151デフォルトの名無しさん
NGNG0152デフォルトの名無しさん
NGNG0153デフォルトの名無しさん
NGNG∧_∧ / ̄ ̄ ̄ ̄ ̄
( ´∀`)< オマエヨリは全員マシだがな(w
( ) \_____
| | |
(__)_)
0154デフォルトの名無しさん
NGNG0155デフォルトの名無しさん
NGNG0156デフォルトの名無しさん
NGNG0157デフォルトの名無しさん
NGNGVBスレ上げてるやつ死ね
0158デフォルトの名無しさん
NGNG∧_∧ / ̄ ̄ ̄ ̄ ̄
( ´∀`)< オマエガ氏ね(w
( ) \_____
| | |
(__)_)
0159デフォルトの名無しさん
NGNG0160デフォルトの名無しさん
NGNG( ´∀`)< ヒトリで氏ね(w
( ) \_____
| | |
(__)_)
■ このスレッドは過去ログ倉庫に格納されています