VB.NET質問スレ(Part43) [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
やっぱみんな最新の使ってる?
俺は未だに2005だけど(新しいのにしなきゃいけない理由が見当たらない) VBの場合は新しい機能を使うと他の連中に理解できなくなる(というか理解しようとしてもらえなくなる)から、
実際新しいものを使う理由はないよ
VBは変化を拒否する人達のための拠り所なのだから VB2008以降は開発方針が変わって(格下げされて)C#の方言になっちゃったから、
変化を拒否する人達の味方としてのVBは2005まで
2008以降は機械的にC#に合わせるだけでVBerに見向きもされない虚しい機能拡張ばかり vb.netも今はしっかりした言語だと思うけどなぁ。
なんで嫌われちゃうかわからんから、理由が知りたいけど。
未だにオブジェクト指向って何??って人もいないと思うけど。 >>6
アプリを動かす環境の.NET Frameworkによっては新しいのじゃないとダメではなかろうか ライブラリ的な汎用性の高いものを作るときはC#のほうがいいし
実際にC#で書いてるけど、特定の客むけ業務アプリはVB使うなぁ
C#でガチガチに書くと保守できる人いなくなっちゃうし
客のファジーな要求仕様に対しては、きちんとクラス継承して設計するよりもコピペで実現したほうがいい場面も多い。 ラムダがもう少し書きやすければな
後は各種初期化子も短くしてほしい
他に不満はないかな >>14
C#でガチガチっていうと
凄く結合度が高いイメージがあるな >>14
今時の業務アプリをなんでVBで書いちゃうかなあ
保守できないのは言語のせいじゃねーだろ VBと比べてC#が圧倒的に勝っているポイントはλが書きやすいところかな
この他には明確な差はない VB関数がないとかMyがないとかデフォルトインスタンスがないとかOnErrorGotoがないとか色々あるだろ
まあ一番違うのはプログラマの平均品質だけど >>25
どっちみち使わない機能を差異としてカウントするのはナンセンスだよ
c#で日常的に使う機能とvbで日常的に使う機能ではλの書きやすさ以外に致命的な差はない >>27
C#目線ならそりゃ一緒だろうさ
VBしかやってなくて他に知ってる言語はCOBOLくらい、なんていう連中が
VBには腐る程いるんだぞ
仕事ならそういう連中がひねり出した糞の山をうんざりするほど見ることになる >>27
たとえばASP .NET CoreのテンプレをYeomanで作成し、Macで開発してAzureにデプロイするってのをわざわざVB.NETでやりたいとは思わんね。Referenceの差は致命的。 まぁたいして変わりゃしないんだから両方覚えておけばいいよ Reference見てるレベルの人なら使いやすい方使えばいいやん >>31
使いにくいって指摘が伝わってないなこいつ。第一.NET CoreにVB.NETはまだ対応してないし。C#との差は歴然としてる。 >>28
今は人の話も過去の資産の話もしてない
純粋に言語として比較したらどうなのという話な
そしてその決意はλ以外大差ねえなって事ね VB.NETとビジュアルスタジオつかってデスクトップアプリ作りたいのですが、
プルダウンから選択したり数値入力して、そんで出力ボタンおすと、
エクセルに計算結果とかもろもろ自動で入力したものが出るようなのを作りたいのですが、
こういうのに特化した参考書とかありませんか?
ネットで調べながらでもいいのですが、できれば本でやってみたいと思っています >>34
Excel単体、VBAだけで良いような… 最終的には、プルダウンで選んだ条件で出力する表のかたちと画像を代えたいんですけど、
エクセル単体でもできますかね?それならそれでいいですが・・・ >>36
EXCELのスレに来てた人?
たらい回しという言葉を知ってるかい? >>34
vb中学校っていうサイトが情報古いけどおすすめです。 中学校は執筆者自身のスキルに難があるからな
「初心者向け」を自分が理解してないことの免罪符にしてる印象
JavaやC#だと本人が完全に理解してる上で初心者向けにかいつまんでるのが多いんだけど、VBでとなると俺は知らないな VBAで初心者向けと言えば田中さんだと思うんだけどなぁ 未だにVB6使ってるし、vs2015でもVB.NET使ってるが
そろそろc#への移行どきかねぇ
今やネットでの情報はほとんどc#でのコーディングだし
そうなると初心者向けっていう利点が無くなるし できることは変わらないんだから無理に移行する必要はないような
移行というより選択肢を増やすという意味ではJavaやるのがいいんじゃないか?
Javaに慣れたら自然に.NETでもC#を使いたくなるだろう (純粋に技術的に可能か不可能かで言えば)できることは変わらない→せいかい
(プログラマの能力的に)できることは変わらない→まちがい >>47
ねえねえ、.NET Coreの開発をVB.NETでどうやったらできるの?まだ対応されてないよね? チェックボックスのFalse/Trueに対応してリストボックスが有効/無効になるイベントドリブンがあるんですが
コレが10コとか20コある場合、同じだけイベントプロシージャを作らないとダメですか?
もっとスッキリさせる方法があれば知りたいです。 どっかのブログでVB.NETは複数行のコメントが出来ないと書いてあったが、
#if 0 then
~
#endif
で出来るじゃん。 どこが痛いのかな?
デバッグ用のコードを埋め込むさいに
よく使われる手法なんだが・・・ お前らVB.Netなんかやってるの?
俺なんか今の仕事場VB6.0だぞ。
CPUはPen4でOSなんかまだXP。
XPはマズいので何か機会が有ったら通報してみようかと思ってる。 >>55
確か明治時代はみんなそうやってたんだっけ? >>58
教えてください
明治時代のVSのバージョンはいくつだったんですか?
Windowsのバージョンは?
CPUは何だったんですか?
ビル・ゲイツは生まれてなかったと思うんですがマイクロソフトはあったんですね? >>59
煽るならもうちょっと捻れよ
VBerの知能レベルが知れる >>58
VB6.0の時代、ベテランプログラマーがそう書いてたから真似した。
今もそのクセが抜けない。 >>60
じゃあ知能レベルの高い()煽りを御享受ネカ゜得るかな?
知能レベルが高いなら出来るよねw でもこれで>>60がやってるのがjava辺りだったらウケるよな フォームにボタン1つ設置して、そのボタンおすと新しいエクセルのファイルが作られるようにしたいのだけど、どうやればよいですか?
参照の追加から、ライブラリ?を追加することをしなければならないのはネットで理解したのですが、
さしあたりサンプルコードなどをコピペしてみても、エラーに泣てうまくいきません ファイル作るだけなら空のファイル用意しといて名前つけてコピーするだけじゃんw >>51
checkboxとlistboxがペアになってるならUseControl作るのが正解だろうね ASP.NETなんですが、
フォーム認証をやってますが、ログインフォームで、
System.Web.Security.FormsAuthentication.SetAuthCookie(userID, True)
という風に、永続化させたとします。
んで、次回からはクッキーが削除されない限り、ログインフォームに来ないで
前回のログイン情報が生きてるように見えます。(Context.Userに値が入ってきてる)
ここまでは全く問題ありませんが
ログインフォームでは、userIDに応じたユーザー名(漢字)もDBから取得していて
Session("userName") へ格納しています。
永続化させると次回からはログインフォームに飛んでこないようになるため
この仕組みが通らず、Context.User に値は入ってるけど、Session("userName")は空という事態が起きます。
永続化させた後にも、ログインと同等の処理がglobal.asaxの中のどっかを通ると思うんですが
Context.Userの値でDB検索して漢字名をSession("userName")にセットするにあたり
global.asaxのどこへ書くといいですか? Sessionが認証状態を超えるなら考えないといかんが
とりあえずSession_Startあたりで良いんじゃね ・商品がカテゴリ分けされていて階層で管理されている (例. カテゴリ1 → カテゴリ1-1 → カテゴリ1-1-1 → 商品A)
・商品管理画面にカテゴリの階層構造をツリーとして表示する(顧客からの要望)
・管理する商品件数は1000件程度
・ツリー内の好きな位置で新しい商品を追加したり、商品を削除したり、カテゴリ(ツリー構造)を変更したりする
・ツリー内容は全展開する(顧客からの要望)
上記のような機能を実装しているのですが、
1000件程度でもツリーにノード追加したり、階層構造を変更したりすると時間が掛かってしまいます。
BeginUpdateで描画更新をとめる処理を入れるのは既に試していますが、
レスポンスが悪いと感じております。
そこでTreeViewでBeginUpdate以外の方法で処理を早くする方法もしくは、
階層構造が表現できて1000件程度でも高速であるTreeView以外の代替コントロールはありますでしょうか? >>71
レスありがとうございます。
グリッド関連ででツリー構造をうまく表現できるものがあるか調査してみたいと思います。 パネルを敷いて、その上にボタンを貼り付けるとします。
ボタンの位置、上左を起点にして位置決めしたとします。
んで、ボタンの上と下の余白とが同じになるように
パネルの大きさを弄ってますが、これが極めて面倒
(プロパティウィンドウでサイズを数値で打ったほうが早いレベル)
デザイナでマウス使って、簡単に位置合わせできないもんでしょうか。 >>73
同じ物(パネルの中にボタンがある)が複数あるのならコピペすりゃいいんじゃないの?
そもそも本当にパネルの中にボタンが一つだけ(と言ってるように聞こえるけど)しかないなら
パネルが必要あるように思えないんだけど。 >>73
a) プロパティウインドウでサイズを打つ
b) デザイン時は適当に配置して実行時にサイズ変更する
c) VisualStudio のアドインを作る これから自作の業務ソフトを作る為に勉強始めようと思うのですが、まともなコーディング出来るまでどれくらい時間かかるもんでしょうか
VBAをちょこちょこやってるレベルです
会社に出来る人はいないので独学しかないです
いい勉強方法などあれば教えていただきたいです >>76
目的のものがあれば調べまくってとりあえず、動くものを作る。
ちゃんと動けば楽しくなって、更に深く調べる。
こんな繰り返しでだんだんと上達してくるんじゃない?
最初からキレイで無駄のないコードを書くのは難しいよね。
どのくらいの期間かは、本人の努力でいかようにも短くなるんじゃない? >>77>>78
ありがとうございます。
.NETで一通りコーディング出来たらC#で同じもの作ってみたいと思ってます
とりあえずやってみるしかないですよね。作りたいものは決まってるので頑張ってみます
クラス設計出来るようになるだろうか。。 VBは情報の質が低いから初心者は変な癖が付きやすい
まともにオブジェクト指向を解説してる書籍なども少ない
どうせC#もやるつもりなんだったら最初からC#でいくほうが近道だよ まぁC#でもjavaとかに比べるとObject指向の本とか少ないけどな。VBよりマシってくらいで。
C#もjavaも似たような構文してるから両方やっとくといい。
ついでにC#とVBも構文じゃなくて中身がそんなに変わるもんじゃないから一緒にやっとくといいよ。 VBはオープンソースプロジェクトがほぼ皆無だからなあ
「スキルの高い人が正しく使えばこうなる」というものに触れる機会が無いのは致命的 vbは構文が破綻しかけてるからこれからプログラミングを始める人がやるべき言語ではない .NETがとっつきやすそうだったのでクラスがどういったものがあるか勉強しながらC#に移行出来ればと考えてたんですが
.NETだとオブジェクト指向らしくないコーディングをする癖がついてしまうでしょうか
C#に移行すればそんなこともいってられないくらい矯正できますかね? いや、VBの方がC#より簡単とか今はないよw
宗教論争抜きでもうあえてVBを選択する理由はないから、素直にC#にした方がいいと思う。 ただVBはやっておくと結構いきなりVBAのコードが書けたりする FrameworkがC♯なんだから素直にC♯にしとけよ VBは大文字小文字の区別がないからパンチが雑になる
VBやったあとにC#触るとあれっ?てなる
かっこで条件をかかなくていいのはVBの唯一好きな点だな >>87
c#を選ぶ理由も無いのにc#をゴリ押しするのは宗教戦争でなくて何?
c系は見た目が嫌だから嫌いって俺みたいなのもいるんだが? >>92
気付いてないみたいだけど、まさにお前さんがやってるようなことが宗教論争なんだよw
見た目なんて慣れの問題だよ。多くの人がそう言ってるでしょ。
本当に致命的に欠点があるのならこんなにC#が支持されてるわけないじゃん。
そういう個人の好みは置いといて、今から始める人がどちらを選んだ方が得をするか、
そういう話でしょ。
ユーザー数や公表されるサンプルコードの数でC#が勝るのは客観的事実だし、.NETの標準がC#なのも事実。
要するにC#を選んだ方が圧倒的に得なのは動かしがたい事実だよ。 出たw
「多いから」
多いのが良けりゃトヨタ車が一番いいクルマだわなw 一番の違いはC#を覚えればVBは自動的に使えるようになるけど逆はそうでもないという点だな
そして初学者にとっての学習コストはC#のほうが低いんだからVBを選ぶ理由がない
C#使える人でVBにコンプレックス持ってる人はまずいない
その逆は見ての通りだ >>96
>C#を覚えればVBは自動的に使えるようになる
さすがにそれはないよw
っていうかその程度にはVBerもC#使えるでしょw まあ、ホントに全く新規で始めるのにVBかC#かってなら俺もC#を勧めるが
>初学者にとっての学習コストはC#のほうが低い
には同意できん
よい教材か、正しい指導者が居るなら同程度かVBが勝る
ただし、それに当たる確率はC#の方が多いけどな >>98
いやC#の方が覚えること少なくて初心者向きだと思うよw
VBはなまじ今となっては使わない方がいいレガシー機能とかあってとっつきづらいと思う。
WitheventsとHandlesでとりあえずデリゲートを理解しなくてもイベントが使えるとか、例外もあるけどねそりゃ。 覚えるのが少ないって
キーワード増やしたくないって結果が
+=でイベントハンドラ割り当てたり、拡張メソッドにthis指定しろとか言う言語だからなぁ
ちがう機能には違うキーワード割り当てる方が初心者むきだぞ
今となっては使わない方がいいレガシー機能とか初学者に教える必要ないし ■ このスレッドは過去ログ倉庫に格納されています