[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 03/12 18:38 / Filesize : 296 KB / Number-of Response : 987
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

VB.NET質問スレ (Part6)



1 名前:デフォルトの名無しさん [04/07/03 08:49]
VB.NETの質問全般です

過去スレ
VB.NET質問スレ (Part5)
pc5.2ch.net/test/read.cgi/tech/1078134703/
VB.NET質問スレ (Part4)
pc2.2ch.net/test/read.cgi/tech/1065269043/
【老若】VB.net質問スレ【男女】 (Part3)
pc2.2ch.net/test/read.cgi/tech/1056281084/
【老若】VB.net質問スレ【男女】 (Part2)
pc2.2ch.net/tech/kako/1043/10436/1043629429.html
【老若】VB.net質問スレ【男女】
pc2.2ch.net/tech/kako/1025/10258/1025848458.html


377 名前:デフォルトの名無しさん mailto:sage [04/08/03 09:46]
社会は大部分の論理的思考の足りない奴らで構成されている。
論理的に問題解決しようとする俺らのほうが ちょっとおかしい人間 なんだよ。

ところで Boolean型 って何のためにあるんだ?
いや、まじめなはなし。

378 名前:デフォルトの名無しさん mailto:sage [04/08/03 09:55]
イエス・ノーをはっきりさせたいアメリカ人のため

379 名前:デフォルトの名無しさん mailto:sage [04/08/03 10:32]
>>377
コンピーターの基本動作は何かを考える

380 名前:デフォルトの名無しさん mailto:sage [04/08/03 10:45]
>>379
コンピュータの基本動作は理解しているつもりだが。
いや、そう言う意味じゃなくて、昔の BASIC には
なかってでしょ。
CPUが特別に持っている型でもないし、
技術的に何の意味があるのかという ちょっとした疑問。

>>378 みたいな答えはまぁ、納得するしかないね。

381 名前:デフォルトの名無しさん mailto:sage [04/08/03 11:00]
>>380
CPUにはフラグレジスタがある。
昔のBASICでBoolean型がなかったのは、ON/OFFだけで
変数1個分のメモリ使うのはもったいなかったからじゃないかな。
数値のままならbit数分だけ使えるし。
まあ、文中で論理式という形ではあったと言えるかも。
X=X+(K$="4")-(K$="6")

この話題は、こっちのスレのほうがよかったか。
MicrosoftBASIC総合談話室
pc5.2ch.net/test/read.cgi/tech/1089798174/

382 名前:デフォルトの名無しさん mailto:sage [04/08/03 15:13]
例えばaという通信の受信オブジェクトとF1、F2、F3の3つのフォームがあります。

受信したデータの処理で、3つのフォームそれぞれにaを置けば全く問題は無いのですが、
aを1つだけにして、受信イベント時に受信データを見て、
それぞれのフォームに振り分けたいとしたら、
どんな方法が一般的なのでしょうか?

383 名前:デフォルトの名無しさん mailto:sage [04/08/03 16:15]
>>382
普通にイベントを起こせばいいんじゃない?

384 名前:デフォルトの名無しさん mailto:sage [04/08/03 17:35]
前々から気になってたことなんですが
新規にフォームモジュールを作成するときに
Option Explicit On などを自動的に付加することって出来ますか?
プロジェクトのプロパティではOnになってるんですが
反映されないんです・・・


385 名前:デフォルトの名無しさん mailto:sage [04/08/03 19:03]
>>384
Option Explicit On って変数宣言の必要になるやつだよね。
ぼくは、普通に常に On になってるけど。
ツールのオプションのプロジェクトのとこだよね? ふしぎー。



386 名前:デフォルトの名無しさん mailto:sage [04/08/03 19:17]
>>381
>CPUにはフラグレジスタがある。
まぁ、確かに。 レジスタの退避命令使えば一応メモリ上にも置けるしね。

>まあ、文中で論理式という形ではあったと言えるかも。
んと、それは論理演算子のことで、Boolean型ではないですね。
論理演算子の演算結果が、昔は 整数型 だったのが
VB では Boolean型 になってる。

>この話題は、こっちのスレのほうがよかったか。
>MicrosoftBASIC総合談話室
あっ、ごめんごめん。
みんな暇そうだったから、疑問に思ってたことを言ってみただけ。
(えっ? 暇じゃないって? もっと ごめんごめん。)

387 名前:デフォルトの名無しさん mailto:sage [04/08/03 19:27]
>377
規格統一じゃない?
プログラマによって、TRUEを1とするか-1とするか分かれたりするし。

388 名前:デフォルトの名無しさん mailto:sage [04/08/03 22:56]
>>386
>んと、それは論理演算子のことで、
間違えた。「比較演算子」だった。

>>387
BASICによって、比較演算の結果が 1 のやつと -1 のやつが
あったからね。 C言語だと 1 だね。

そろそろ 次の相談者登場の予感。

389 名前:デフォルトの名無しさん mailto:sage [04/08/03 23:55]
次の相談です。
ちょと過去ログにみつからなかったんですが、バルーンチップって
どうやって出したらいいんでしょうか。
ステータスバーのところに「バックグラウンド処理が終わりました」
みたいなのを吹き出しで表示したいので、だから
ツールチップみたいにオートで出る奴じゃなくて、任意のタイミングで
任意の場所に出せるツールチップが欲しいのです。
InputMan.netは「バルーンチップ付きコントロール」はあるけど
バルーンチップ単独のコントロールはなさそうだし。

昔は論理式の「真が-1」を利用して、テンキー移動の処理を
K$=INKEY$
X=X-(K$="4")*(X>0)+(K$="6")*(X<39)
みたいに1行で書いたりしたな。久しぶりに書いてみたから上のは
合ってるかどうか知らないけど。

390 名前:デフォルトの名無しさん mailto:sage [04/08/03 23:55]
ただ単にあいまい性をなくして厳密にするためのものでしょ。
コンピュータではなく人間にとって分かりやすくするためのもの。
バグを出しにくくするためというのも含んでる。

391 名前:デフォルトの名無しさん mailto:sage [04/08/04 00:21]
>>385
多分>>384は設定の意味を勘違いしてるだけと思われ。
プロジェクトの設定は、ソースに明示してないときのデフォルトを設定するもので、
ソースに自動出力させるものではない。

392 名前:384 mailto:sage [04/08/04 01:26]
>>385>>391
ありがとうございます
VB6やOfficeのVBAのように行頭に追加されるものだと思ってました<m(__)m>

393 名前:デフォルトの名無しさん mailto:sage [04/08/04 16:25]
>>389
>ステータスバーのところに「バックグラウンド処理が終わりました」
>みたいなのを吹き出しで表示したいので、

バルーンチップって使ったことがないから、今ヘルプとか
見たけど良くわからん。
ぼくなら、メッセージを表示して [OK] ボタンを押すか
時間がくると自分で .Close するフォームを作っちゃうけど、
そう言うのじゃだめかな?

394 名前:デフォルトの名無しさん mailto:sage [04/08/04 17:47]
>>389
バルーンのようなフォームを作ってみましたが、
コードはともかくデザインもあるし、どうやって渡せばいいものか。

395 名前:デフォルトの名無しさん [04/08/04 18:26]
VB.NET2003 + ADO.NETで初歩的質問です。

実行時のパスにおいてあるMDB(Access2000)に接続したいんですけど
ウィザード系使うと接続文字列が固定になっちゃいますよね

サーバーで動いてるような大きなDBならまだいいけど
環境変わったりDBのパスが変わるような、要は接続先を実行時に決定するような仕組みをつくるには
もうクラスの宣言から全てコードで記述するしかないっつーか、それが基本なんでしょうか?
DB関係のGUIは一切放棄でつか?

ADOに比べてものすごい多くのコード書かなきゃいけないんですけど・・・
めんどくさい・・・

なんかよい省力化方法ってありますか?



396 名前:デフォルトの名無しさん mailto:sage [04/08/04 20:48]
>>395
接続文字列だけ書き換えればいいじゃん


397 名前:395 mailto:sage [04/08/04 21:04]
>>396
Connectionオブジェクト以下につながる下層オブジェクト(AdaptorとかDatasetとかDatagridとか)は
フォームの初期化イベント内で”つながり”が設定されているらしく
LoadイベントでConnectionの接続文字列を書き換えると、その後エラーで止まってしまいます。
うまいことやる方法はあるんでしょうか・・・
”つながり”の初期化(Refresh?)の仕方とかあったら教えて下さいませm(_ _)m

398 名前:デフォルトの名無しさん mailto:sage [04/08/04 21:16]
それって「フォーム デザイナで生成されたコード」を書き換えにいってないか?


399 名前:395 mailto:sage [04/08/04 21:58]
いやいやいやw
さすがにそこまでおまぬけさんじゃないです('A`)

フォームのLoadイベントで接続文字列を書き換えた後(初期値はウィザードで作った値になっています)、
しなきゃいけない処理とか、こうすれば下層オブジェクトまでの”つながり”に反映できるってのがあればご教示下さい〜

400 名前:新人 [04/08/04 22:21]
あの、すみません。
現在社会人一年目のペーペーで、研修を終えてOJTに入ったばかりです。
環境はVB.net + Javascriptというものらしいです。(まだよくわかってません)

そこで与えられた作業なのですが、現在、
ボタンを押すとテーブルに一行を追加する、という処理で詰まっています。

<script type="text/javascript">
<!--
function add_row() {
table = document.getElementById('tab1');
new_row = table.insertRow(table.rows.length);
new_row.insertCell(0).appendChild(document.createTextNode(''));
new_row.insertCell(1).appendChild(document.createTextNode('b'));
new_row.insertCell(2).appendChild(document.createTextNode('c'));
new_row.insertCell(3).appendChild(document.createTextNode('d'));
new_row.insertCell(4).appendChild(document.createTextNode('e'));
new_row.insertCell(5).appendChild(document.createTextNode('f'));
new_row.insertCell(6).appendChild(document.createTextNode('g'));
}
// -->
</script>

という感じで書いて、行を追加するのですが、
createTextNode('')
のままでは、ただ文字列を表示するだけなんです。
これをテキストボックスにするやり方が、もうずっと考えているんですけど、
どうしても分かりません。
周りに聞ける人間が全然いなくて、メソッドの使い方もまだ全然です。
どうか、どなたか救っていただけませんでしょうか?

401 名前:デフォルトの名無しさん mailto:sage [04/08/04 22:28]
>>399
その後のエラーとやらの内容をちゃんと書け。
でも簡単にやる場合は普通はダイナミックプロパティを使うと思うが。

402 名前:デフォルトの名無しさん mailto:sage [04/08/05 03:51]
学校でVB6.0を使っているのですが
課題を家でやるためにspoke premiumを買っても問題ないでしょうか?

403 名前:デフォルトの名無しさん mailto:sage [04/08/05 08:52]
>>402
だめ
VB6スレにいけ

404 名前:デフォルトの名無しさん [04/08/05 10:11]
>>400
周りに聞けるものがいない会社ってどんな会社だよw

405 名前:395 mailto:sage [04/08/05 10:45]
解決しました・・・・orz
りっぱなおまぬけさんですた・・・・orz

というか、Loadイベントで接続文字列書き換えるだけで下層も勝手に追随してくれるんですねー
リフレッシュも何もいらないとは、便利というかブラックボックスというか・・・

結局昨日はなんでエラーになったかというと
ソースと同じパスにmdb置いてたせいだったんでした orz
VB.NETはexeがソース直下のbinフォルダにできるんでした・・・
VB6に慣れすぎてます(涙
お答えくださった方、ごめんなさいでした

>>401
ダイナミックプロパティは”実行時のパス”を設定できないのでこの場合使えませんでした。
でもoracleとかの固定DBには有効な手段ですね!サンクスです。



406 名前:デフォルトの名無しさん [04/08/05 14:06]
WebBrowserで新しいウィンドウを開かせても親ウィンドウを
閉じたら子ウィンドウも閉じてしまう現象を解決する方法は?
6.0なら何も指定しなくてもいけたんだが…。

With New Form1
.WebBrowser1.RegisterAsBrowser = True
e.ppDisp = .WebBrowser1.Application
.Visible = True
End With

407 名前:デフォルトの名無しさん [04/08/05 14:45]
DataGridで特定の列だけセルにフォーカスを受けないようにする方法はないでしょうか?
Tabキーを押していくとその列だけとばされるようなイメージで。



408 名前:デフォルトの名無しさん mailto:sage [04/08/05 18:14]
今、VB.net 2002を使用していますが
2003にアップするとどのような魅力がありますか?

どうせアップするならVIsual Studio.net 2003 Professionalの
ステップアップグレード買おうかと迷っとります。

けど2005もベータ版が発表されましたしもう少し様子見た方が良いですかね?


409 名前:デフォルトの名無しさん [04/08/05 22:52]
Visual Studio .NET theSpoke Premium Version 2003
って、ラーニングエディションみたいなもんですか?

410 名前:409 [04/08/05 22:55]
すいません、スレ違いでした
逝ってきます・・・

411 名前:デフォルトの名無しさん mailto:sage [04/08/06 07:02]
>>407
Private Sub DataGrid1_CurrentCellChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DataGrid1.CurrentCellChanged
    〜
End Sub
で該当の列だったら
DataGrid1.CurrentCell = New DataGridCell(RowNumber, 次のColumnNumber)

412 名前:407 mailto:sage [04/08/06 08:59]
>>411
早速教えていただきありがとうございます。
これ最後の列だったりするときは勝手に次の行に行きますかね?
ってとりあえず試してみます。
助かりました。

413 名前:407 mailto:sage [04/08/06 09:53]
うまく行きそうです。

質問続きで申し訳ないのですがDataGridを継承させてコントロール(myDataGrid)を作っているのですが
myDataGrid.TableStyle.Addメソッドが呼ばれたことをmyDataGrid側で知る方法はないでしょうか?

414 名前:デフォルトの名無しさん mailto:sage [04/08/06 14:28]
数字を漢字にしてくれる関数はなんでしょうか?

Ary(1)="一"
Ary(2)="二"
Ary(3)="三"
のように自作で数字漢字変換するしかないのでしょうか


415 名前:デフォルトの名無しさん [04/08/06 14:37]
>>414
そんな関数がライブラリで用意されてると期待すること自体が不思議。



416 名前:デフォルトの名無しさん mailto:sage [04/08/06 15:17]
>>414

ChangeNumericToJapaneseNumericChar()

417 名前:デフォルトの名無しさん mailto:sage [04/08/06 15:34]
>>414
漢字コードは順番に並んでるんだから、変換テーブルは必要ないと思うけど。

418 名前:414 mailto:sage [04/08/06 15:47]
みなさま了解です。

419 名前:デフォルトの名無しさん mailto:sage [04/08/06 16:28]
VB6で「アイコンなし、×ボタンだけなんだけどサイズ変更可能なダイアログ」
というのを実現するのに、BorderStyle=固定ダイアログ、Icon=なしにして、Form_Loadで
SetWindowLong WS_THICKFRAME して実現してますた。
これをVB.NETでもやりたいんですが、APIなしでできますか?それとも同じ方法が
ベストですか?
あとついでに、フォームの右下にサイズ変更ツマミ(斜線をドラッグできるやつ)って
任意に出せないですか?


420 名前:デフォルトの名無しさん mailto:sage [04/08/06 21:06]
>>419
書いてあること、フォームのプロパティウィンドウでいろいろ試すだけで
一分で全部できた。

正直、こういう人ってどういう根性してるのかねえ?不思議。
精神分析の対象だわホント。

421 名前:デフォルトの名無しさん [04/08/06 21:20]
>>420 うぜぇよ。消えな。

422 名前:デフォルトの名無しさん mailto:sage [04/08/06 22:28]
漢字を数字か。昔仕事でそんなコードを書いたな。
百五と百十五と百二十五とか腹立つんだよねぇ

423 名前:デフォルトの名無しさん mailto:sage [04/08/06 23:48]
>422
一、十、百、千、一万とかも嫌だね。

424 名前:デフォルトの名無しさん mailto:sage [04/08/07 00:10]
客が壱、弐、参も使いたいとかローマ数字T、U、Vとかも使いたいとか言ってきたら大変だな

425 名前:e [04/08/07 01:06]
ADO.NETでデザイナを使わないで、プログラミングする方法の解説とか
ごぞんじないでしょうか。

webで検索してみても、こういう結構基本的なもので終わってるのが
多いもんで。。。
www.atmarkit.co.jp/fdotnet/basics/adonet_index/index.html




426 名前:デフォルトの名無しさん mailto:sage [04/08/07 01:08]
白黒2色のマスク画像みたいなやつの黒の部分から
Regionオブジェクトを作る方法ってないでしょうか?

427 名前:DARK mailto:sage [04/08/07 01:32]
NoCD化パッチ作りたいのですが…教えて下さいm(_ _)m


428 名前:デフォルトの名無しさん mailto:sage [04/08/07 02:03]
>>425
黄色いADO.NETの本とかは?
でかくて高いヤツ
まぁあれも基本しか書いてないけど


429 名前:デフォルトの名無しさん mailto:sage [04/08/07 07:25]
やっぱ標準モジュールがあると便利だね。
C#が嫌になってきた。

430 名前:デフォルトの名無しさん mailto:sage [04/08/07 13:14]
c#が嫌なのは同意するが(VBに比べると、可読性が悪くてイライラしてくる)
標準モジュールなんてイラネ。

読みにくいキャメル形式の命名法もイラネ。

431 名前:ぷぷぷっ mailto:sage [04/08/07 17:11]
.NET(2002 or 2003)で作成したアプリを動かしたときに、
そのアプリはどの.NET Frameworkのバージョン(1.0 or 1.1)で動いているか
把握することはできないんかいのぉ。。。
そのアプリのフッター部分に表示とかしたいのじゃが。

432 名前:デフォルトの名無しさん mailto:sage [04/08/07 19:20]
ちょっと違うが、VB.NETで作ったプログラムで、フォームに
そのプログラムをコンパイルした日時を埋め込みたいのですが
なんか方法ありますか?


433 名前:デフォルトの名無しさん mailto:sage [04/08/07 22:58]
標準モジュール…ってあんたw

434 名前:419 mailto:sage [04/08/08 02:31]
>>420
出来なかったんですが、やり方教えてもらえませんか?


435 名前:419 mailto:sage [04/08/08 03:06]
>>434
当たり前なので書き忘れましたが、SizableToolWindowはなしでお願いします。
あれはダイアログボックスではなくプロパティインスペクタを作るための
もので、タイトルバーの高さが異なるものなので。



436 名前:419 mailto:sage [04/08/08 03:12]
>>435
あ、でもSizableToolWindowでプロパティをいじるだけでタイトルバーの
高さを通常のウィンドウと揃える方法があればそれでオーケーです。
連続カキコですみません。

437 名前:デフォルトの名無しさん mailto:sage [04/08/08 14:16]
自分でコントロール作った方が早くない?

438 名前:デフォルトの名無しさん mailto:sage [04/08/08 21:52]
>>435
重症だわこの人。。「当たり前なので書き忘れましたが、」だと。
なんで最近こういう「自分以外はみんなエスパー」と思ってるとしか思えない
病的な奴が多いんだろう。

420 :デフォルトの名無しさん :04/08/06 21:06
>>419
書いてあること、フォームのプロパティウィンドウでいろいろ試すだけで
一分で全部できた。

書いてあること、

書いてあること、

書いてあること、

439 名前:デフォルトの名無しさん mailto:sage [04/08/08 21:54]
>>438
自尊心を守るのに必死なんだよ。放っておいてやれ

440 名前:デフォルトの名無しさん mailto:sage [04/08/08 23:52]
変なヤツは放置しろよおまえら

441 名前:デフォルトの名無しさん mailto:sage [04/08/09 02:19]
>>432
.exe のタイムスタンプで代用じゃダメか?

442 名前:デフォルトの名無しさん [04/08/09 13:22]
>>441
あ、そうか。コロンブスの卵ですね。さんく


443 名前:デフォルトの名無しさん mailto:sage [04/08/10 01:59]
みなさ〜ん。自分は今日からプログラミング始めようとしている高校生です。
なんかいろいろ調べるとVBやらVB.NETやらC++やらC#やらいろいろな言語があることを知りました。
難易度的にはVBが一番簡単らしくVB.NETはVBの進化で少し複雑になっているとか。
C++やC#は難しいとか。。
自分としてはVBを覚えその次にVB.NETんでもってC++やC#やろうかなって思っていたのですが
どうやらVBとC#はまったく関連性がないとか。。。
フランス語覚えたから中国語得意になるってわけでないのと同じですかね?
将来は本格的なプログラマになりたいので、やっぱりC言語からはじめてC#やC++を学んだ方が
よいのでしょうかね?

444 名前:デフォルトの名無しさん mailto:sage [04/08/10 02:30]
ここはVB.NETの技術的な質問回答をする場所なので
どの言語が自分に適してるかを答えることはできないと思う
プログラマー板の方に行った方が適切な回答が得られると思われ

445 名前:デフォルトの名無しさん mailto:sage [04/08/10 04:39]
>>444サンクス ペコ



446 名前:デフォルトの名無しさん [04/08/10 09:48]
私だけ?何年もVBに触っているのに、
いまだにTreeViewの使い方が分からない・・・


447 名前:デフォルトの名無しさん mailto:sage [04/08/10 12:10]
>>446
いや・・俺もこないだ初めて知った人なのだが、それは質問なのか?

448 名前:デフォルトの名無しさん mailto:sage [04/08/10 19:34]
質問です。

フォームに、ボタン2つと、グループボックスを配置します。ボタン2を
グループボックスに乗っけます。そして、

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

If Me.GroupBox1.Enabled = True Then
Me.GroupBox1.Enabled = False
ElseIf Me.GroupBox1.Enabled = False Then
Me.GroupBox1.Enabled = True
End If

End Sub

とすると、グループボックスとボタン2をまとめて有効/無効を切り替え
出来るのですが、

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Me.Button2.Enabled = False
End Sub

として、ボタン2をクリックしてボタン2を無効にすると、ボタン1をクリックしても
グループボックスとボタン2をまとめて有効/無効を切り替え出来なくなります。
何故でしょう(;´Д`)

449 名前:最凶VB厨房 mailto:sage [04/08/10 20:21]
2箇所のEnd Subの前に
MessageBox.Show("Button2.Enabledは" & Button2.Enabled.ToString())
をつけてやっとーみ。

450 名前:デフォルトの名無しさん mailto:sage [04/08/10 21:13]
レスどうもです。
ひょっとしてEnabled = Falseになっているコントロールは、
グループボックスと連動してEnabled = Trueに出来ないのでしょうか?
そうならちょっと不便(;´Д`)

451 名前:最凶VB厨房 mailto:sage [04/08/10 21:18]
ボタン2が有効か無効かは
この場合グループボックスとボタン2の論理積(And)となる。

つまりはグループボックスのEnabledを操作すればいいだけ。

452 名前:デフォルトの名無しさん mailto:sage [04/08/10 21:42]
>>450
もう解が得られたようだけど、
>ひょっとしてEnabled = Falseになっているコントロールは、
>グループボックスと連動してEnabled = Trueに出来ないのでしょうか?

もしそういう感じの仕様になっていると、そのうち
「グループボックスやフォームなどのコンテナに入っているコントロールは、
 必ずコンテナと連動してEnable = True になってしまうのでしょうか。
 そうならかなり不便」
ということになると思う。

453 名前:450 mailto:sage [04/08/10 22:10]
グループボックス=ON  ボタン2=ON  ←真
グループボックス=OFF ボタン2=OFF ←真
グループボックス=ON  ボタン2=OFF ←偽
グループボックス=OFF ボタン2=ON  ←偽

弱い頭で考えますた。間違ってます?

454 名前:最凶VB厨房 mailto:sage [04/08/10 22:14]
知らんかったら論理積で検索して確かめな。

455 名前:デフォルトの名無しさん mailto:sage [04/08/10 22:20]
>>450
ええと、
・ウィンドウ(フォーム)が Enable = False の場合、中のコントロールは (Enableの値に関わらず) 全て無効
・グループボックスが Enable = False の場合、中のコントロールは (Enableの値に関わらず) 全て無効
ってことですよ。コンテナ側が無効だと、中身は無効。

喪前の学校が休みのときは、どのクラスも休み。
喪前のクラスが休みのときには、元気な奴も病気の奴も皆休み。
学校もクラスも休みじゃないときには、病気 (Enable = False) の奴だけが休み



456 名前:450 mailto:sage [04/08/10 22:44]
理解できました!
最凶VB厨房殿、デフォルトの名無しさん殿ありがとうでした(`・ω・´)

457 名前:デフォルトの名無しさん mailto:sage [04/08/11 00:02]
だれか突っ込んでやれよ。

>>450
>If Me.GroupBox1.Enabled = True Then
> Me.GroupBox1.Enabled = False
>ElseIf Me.GroupBox1.Enabled = False Then
> Me.GroupBox1.Enabled = True
>End If

このコードはあまりにひどいだろ。

Me.GroupBox1.Enabled = Not Me.GroupBox1.Enabled

か、せめて

If Me.GroupBox1.Enabled Then
Me.GroupBox1.Enabled = False
Else
Me.GroupBox1.Enabled = True
End If

だろ、普通。

458 名前:デフォルトの名無しさん mailto:sage [04/08/11 02:23]
>>457
スレ違いを承知で突っ込んでおくが、>>450の書き方が決して「良くない」
とは言えない場合もあるよ。

Boolean 型が何バイトか考えてごらん。VB.netでは2バイト(=8ビット)だ。
BOOL型が存在しないCなどでは
 #define BOOL char
 #define TRUE 0x01
 #define FALSE 0x00
とか書いてたりすることもある。こうなると
 BOOL HogeFlag=TRUE;
 if(HogeFlag==TRUE) wow(); // (1)
 if(HogeFlag) wow(); // (2)
と、(1)と(2)では挙動が同じでも違いが良くわからなかったりする。

大勢の人間が寄ってたかって複数の言語で開発するような現場の場合、
よほど速度チューニングが求められない限り、冗長でもいいから明示的に
誰でも解るように書くのが暗黙の了解だったりする。

とにかく、自分の主観だけで他人のコードを「あまりにひどい」などと
言うのは良くないよ。

459 名前:458 mailto:sage [04/08/11 02:24]
2バイト=16Bitだ。。。_| ̄|○

460 名前:デフォルトの名無しさん mailto:sage [04/08/11 11:02]
>>458
なんかフォーカスがずれたお人だね。そういうの「為にする議論」っていうんだよ。

「冗長でもいいから明示的に誰でも解るように」という要件は、
<.NETでは>Booleanという型が存在しそれを利用することで必要十分に満たされている。
Booleanってそもそも何だと思ってるの?(ついでに、Boolean=ワード、ってのは旧VBの仕様)
違う道具(C)の作法をそのまま適用して何になる。

一般論をしてるだけだって?
特殊なケースでの冗長なコードの効用を過剰に一般化してるだけじゃん。
そういうの「馬鹿の一つ覚え」とか「羹に懲りて膾を吹く」って言う。

461 名前:450 mailto:sage [04/08/11 11:53]
>>457
大変勉強になりました。ただ、あなたがプログラムに関して、
私以上に知識を有してる事は十分理解出来ますが、それを必要以上に
誇示したり、「あまりにひどい」「馬鹿の一つ覚え」「羹に懲りて膾を吹く」
と言う発言は、一社会人の会話として私には『冗長』に思えてなりません。

462 名前:457 mailto:sage [04/08/11 12:16]
>>461
私の 「あまりにひどい」 発言に批判があるようで、反省。。
なかったことにしてくれ。私がわるかった。

私が一番気になったのは、ElseIf で 成立しかしない条件を
判定しているところなんですよ。
個人的には、2つ目の例のほうがわかりやすいと思ってる。
他の処理を足せるしね。

>>460 は 私じゃないので知りません。

463 名前:457 mailto:sage [04/08/11 12:37]
>>458
>とにかく、自分の主観だけで他人のコードを「あまりにひどい」などと
>言うのは良くないよ。

そこは今反省中。
もちろん、(たぶん)意図通り正しく動くプログラムであることは
すばらしいことだと思ってます。
その範囲内での発言のつもりだったのですが、そんなことは
全然伝わるわけも無かったと反省中です。ごめんね。

じゃぁこうしよう。

If Me.GroupBox1.Enabled = True Then
Me.GroupBox1.Enabled = False
Else
Me.GroupBox1.Enabled = True
End If

これなら、私もそんなに気持ち悪くない。
って言うのも 主観 か、残念。

464 名前:デフォルトの名無しさん [04/08/11 14:13]
asp.netの質問ってここでもよいですか?

465 名前:デフォルトの名無しさん [04/08/11 15:06]
なぜか悪者にされているが>457は良い指摘だと思ったのは俺だけじゃないよな



466 名前:デフォルトの名無しさん mailto:sage [04/08/11 15:16]
if a = true then
b = false
else
b = true
end if

より

a = not b

のほうが断然いいよな。
値を反転してるって一目瞭然だし。

467 名前:デフォルトの名無しさん mailto:sage [04/08/11 20:18]
>458 の詭弁もあるが指摘自体はただしいだろ。
じっさい俺もひどいコードと思ったし。
>450 は教え方が悪いと言ってんじゃないの?

468 名前:デフォルトの名無しさん mailto:sage [04/08/11 21:13]
漏れなんかは VB (.Net) は、「動けば良し」的センスで使ってナンボ、みたいな先入観があるので、
457的突っ込みは思いつきもしなかった。まぁあれは確かに正論だし親切だと思うけど。
 ↑こう書くと荒れにくい。

 ↓こう書いてはいけない
>>457 どうせVBなんて厨坊言語なんだから、酷いコードでもちゃんと動きゃそれでいいんだよ。

469 名前:デフォルトの名無しさん mailto:sage [04/08/11 23:21]
マウスカーソルを乗せると浮き上がって、
押すと凹むツールバーのようなものってVBでは出来ないのでしょうか?
例えばLive2chのツールバーや、Winnyの「ノード情報」等で使われているものです。
C++やDelphiで作られているようですが・・



470 名前:デフォルトの名無しさん mailto:sage [04/08/12 00:43]
>>469
ToolBar.Appearance プロパティをFlatにすればできると思うけど・・・。

471 名前:デフォルトの名無しさん mailto:sage [04/08/12 03:24]
>>470
ありがとう、出来そうです。

472 名前:デフォルトの名無しさん mailto:sage [04/08/12 16:21]
>>468
このスレはそういうレベルなのか?
VBってバカにされがちだけど結構ちゃんとできてる。
醜いコードでもとりあえず動くものを作るのは重要だけど
それで終わらせるのも勿体無いと思う。
「こういう処理は こう書くときれい」とかも共有して行こうよ。

473 名前:デフォルトの名無しさん [04/08/12 18:15]
テキストボックスに商品の値段を入力したときに、数値に3桁区切りの","を付けたいのですが
入力したとたんに桁区切りをする方法というのはあるのでしょうか?

別のフォームで入力して、表示する際に桁区切りにするのは出来たのですが、入力したそのフ
ォームの中で桁区切りにする方法というのがどうしても判りません。

474 名前:デフォルトの名無しさん mailto:sage [04/08/12 18:37]
>>473
人間はエスパーじゃないことを忘れないようにしよう。
「入力したとたんに」とは具体的にどういうこと?
ひょっとして人に質問している自分自身が何がやりたいのか分ってないとか?

(3n+1)桁の数字のキーが押されたタイミングで、ということ?
あるいは、エンターキーが押されたタイミング?
それとも、他のコントロールにフォーカスが移ったとき?

一番最初のなら、そんな腐れUIは考え直すべきだと思う。
後の2つなら、単にそういうコード書くだけだと思うけど。

475 名前:デフォルトの名無しさん mailto:sage [04/08/12 19:06]
>>473
ひょっっっっとして、
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, \
       ByVal e As System.EventArgs) Handles TextBox1.TextChanged
というイベントメソッド名が解らん、とかそーいうハナシか?



476 名前:デフォルトの名無しさん [04/08/12 19:14]
>>466
b = not a


477 名前:デフォルトの名無しさん mailto:sage [04/08/12 19:51]
Vd:J/A>Dxqr-RJ"~{Ro*






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<296KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef