1read 100read
2011年11月2期プログラム25: VB.NET質問スレ(Part37) (597)
TOP カテ一覧 スレ一覧 2ch元 削除依頼 ▼
VB.NET質問スレ(Part37)
- 1 :11/10/01 〜 最終レス :11/11/24
- テンプレは>>2-4 あたり
※前スレ
VB.NET質問スレ(Part36)
http://hibari.2ch.net/test/read.cgi/tech/1301828549/
- 2 :
- 341
を134にならべかえるには
データテーブルをつくればいいの?
- 3 :
- >>2
ToCharArrayしてArray.SortかけてNew Stringで完成。
Stringに拘らないなら、From ch In "341" Order By ch とかも。
- 4 :
- ピクチャーボックスに星型の画像を入れると画像の部分だけクリックイベントが発生するようになりますか?
- 5 :
- >>4
そういうことか。
調べてないけど、たぶん無理っぽい。
画像の背景の色はプロパティで設定できたと思うから
フォームの背景と同じにしてごまかすとかしかできないかも
イベント自体はそこでも発生してしまうが。
もしくは、フォームのクリックイベント利用して
そこの座標がx,yだったらみたいな条件で処理に入るとかどうですか?
- 6 :
- >>4
WPFでそういうカスタムコントロール作るのはどうよ
- 7 :
- >>3
なるほろ
- 8 :
- 今から10枚のスク水を貼るぞ
For i = 0 to 10
TextBox1.Text = "http://image.space.rakuten.co.jp/lg01/22/0000773922/56/img58f90a27zikfzj.jpeg"
Next
- 9 :
- 11枚ありますけど
- 10 :
- >>8
もう少しガンバレ
For i as Integer = 0 to 9
TextBox1.Text = "http://image.space.rakuten.co.jp/lg01/22/0000773922/56/img58f90a27zikfzj.jpeg"
Next i
こうじゃね?
- 11 :
- 今回の場合、ループ内の処理はスルーするとして、
For i = 1 To 10 が読み易さ的には正解かな。
- 12 :
- でもループって配列とかのインデックスに使うことが多いから
0から始まるのが普通では?
- 13 :
- Cの世界ではね。停止条件に"i < 10;"って書くのが習慣になってるから。
VBで指定回数回す場合は>>11が普通。
- 14 :
- 回すだけならいいけどインデックス指定するときに
-1するのが面倒くさいからこうなる
For i = 0 to array.Length - 1
- 15 :
- 俺の場合
0〜 の変数は i
1〜 の変数はXxNo
みたいにして変数名で
分けてる。
- 16 :
- なんか来週.NETのプロみたいな人に俺がどれくらい
VB.NETができるかの尋問(w)を受ける予定なんだけど、
何を訊かれるんだろ?
LINQとかあとデリゲート絡みのクラス設計とか前もって
復習しておけばOKかな?
正直俺は既存システムの改修ばっかりやってて
一応VB.NET(C#)はできるが、なんか知識的には
器用貧乏w
プロの人は何を質問してきますかね?w
- 17 :
- 俺がその.NETのプロ(笑)なら、口頭で質問なんてしませんね。
人のスキルを見るにはそいつが書いたコードを見るのが一番。
2chもそうだけど、「妙に細かいことは知ってるけど、ちゃんとコード書けるのかなコイツ?」
って感じがする人、web上には大勢いるよねw
- 18 :
- >>17
その場でコード書けと言われたら、俺はアウトw
ググりまくってるところ見られないなら、なんとかw
- 19 :
- >>18
俺SEだけど
むしろググりまくってるほうがいい印象
どういう手段であれ実装できればそれでいい
- 20 :
- >>19
元COBOLERに多いんだけど
コピペして意味もわからず適当に修正して問いあえず動いたからいいや
みたいなソースが量産されるのは勘弁。無意味な行があったり。
SEならメンテも考えてくれよ
VBAマクロの自動記録の連結のようなやつとか
- 21 :
- >>19が言いたいのは、恐らく、webで情報を拾うのは別に減点材料にはならない、
ってことでしょ。
それはそうだよ。もちろん、程度問題ではあるが。
- 22 :
- >>16
俺ならとりあえずいままで書いたコードの
例外処理と、変数スコープ、メソッド切り出しのセンスを見るな。
winformならイベントまわり、
チェンジ、フォーカス、イネイブルあたり
がまともに制御できるか。
あとはオブジェクト指向の基本的なことが分かってればまあ任せて大丈夫って思う。
LINQやデリゲートは必須ではないかな。
- 23 :
- >>20
すまん
意味あいは>>21の言ってること
ソースは動きさえすれば適当でいいといっているわけではない
- 24 :
- いろいろ意見有難うございます。
一応、向こうはこちらが中級なのは当り前で、
あとはどれだけ上級に近いかを確認してくると
思います。
その人が書いたC#のベースのフォームクラスが
すげーややこしいLINQ、匿名メソッド、ラムダ式の塊
だったんで、それを踏まえた上でのクラスが作れるか
どうかなのか〜って思ったりで。
ただ結論がでない質問ですね。すいませんでした。
週末に浅く広くもう1回VB.NETについて勉強してみます。
- 25 :
- >>24
結論は特になにもする必要なない。
.NETのプロ(笑)ならややこしいことするなと言ってやれ。
- 26 :
- >>24
メンテナンス性って言葉教えてあげたほうがいいよ。
あんたもそいつもずっとメンテ出来るとは限らないんだからさ。
- 27 :
- 2,0が出た頃はいろんな機能実装してすげーフレームワーク作ったぞ
みたいなことを言ってたが
結局他人に渡したときに可読性が悪くて
渡す先のスキルや癖の差もあって理解できる出来ないってのがかなりあった
結局今はVBAが読める人レベルに落としてコーディングしてる
- 28 :
- そうそう。複雑なコーディングする為にフレームワークがあるんじゃなくて、
複雑な処理を簡単なコーディングで出来る
ようにすることがフレームワークの目的なんだからさ。
- 29 :
- そうなんですよね。
その人の作ったフレームワークがややこしすぎて、
理解してれば、確かに恐ろしいほど少ないコードでいろんなことを
実現してるんだけど、初めて見て手を加えようと思った時は
さっっぱり分からんかった。テキストボックス一つ増やすだけでも
いろんな準備やら何やら整えなくてはいけなかったりで
(ちなみに作った人は現場にはいないw)、普通に組めば簡単な
処理でも、フレームワークのロジックの深いところで出たエラーは
内容がさっぱりで進まなかったし。
確かにメンテナンス性を考えて、分かりやすいレベルにしておく
べきだよね。(って自分に都合のいい結論にしておくw)
- 30 :
- http://www.natswell.com/techcolumn/category/自社開発フレームワーク『niji』/
こんな感じですかね?
フレームワークが過度に出しゃばるシステムって、コーディングが楽しくないイメージが強いです。
- 31 :
- 無駄なフレームワークが多すぎる。
.Net Frameworkのバージョン上げるだけで解決出来るのにずるずる使い続けてるのも多すぎる。
- 32 :
- VBな人って、プログラミングテクニックといった面ではどうせ停滞した人たちなんだから、
もうVBの言語仕様を変えるのはやめてほしいよ
C#の進歩に波長を合わせる必要なんてないのに
やろうと思えばいろんな書き方ができるだけにつらいわ
馬鹿に合わせて、10年前からなんの進歩もないようなコードを書くのは苦痛
- 33 :
- >確かにメンテナンス性を考えて、分かりやすいレベルにしておく
>べきだよね。
おっしゃる通りで
匿名メソッドだのLINQだのを使いこなすより、そっちのが重要
- 34 :
- お前らのいうメンテナンス性
↓
VB6しかわからない人でも読んで理解できること
- 35 :
- 極論を言えばそうかもしれない。
少なくともパッと見で何してるか分からないようなソースコードは複数の人間が見なきゃいけない部分で書いちゃいかんというのは、経験則からくる業界の常識。
言語仕様上できる事全てがやっていいことではない。
- 36 :
- >>32
VBでやりたいこと自体が
10年前からたいして変わってないからな。
本当にハマる部分は言語が進化してもあまり有効な改善方法無いし。
- 37 :
- Outlook.Application、Outlook.MailItemクラスを使用して、
メールを作成しているのですが、差出人がOutlookの既定のアカウントになってしまいます。
Outlookに複数アカウント設定されている場合、差出人を指定することは可能でしょうか?
- 38 :
- 質問です
複数のイベントで同じ処理を行う場合
例えばTextBox_TextChangedとTextBox_LostForcusで同じ処理を行う時
その処理のメソッド作成して両方のイベントでそのメソッドに飛ばすのと
TextChangedイベントに処理を書いてLostForcusではCallを使ってTextChanegeに飛ばすのと
どちらが好ましいでしょう?
- 39 :
- >>38
好みによるんじゃないの?
どっちでもいいと思うけど。特に分かりにくい記述にもならないだろうし。
私の場合だと、Handlesが使える環境なら、
適当なSub名付けてHandlesにTextBox1.TextChanged,TextBox1.LostForcusを付けるかしら?
- 40 :
- イベントハンドラを明示的に呼び出すのは無いな
- 41 :
- >38
前者でいいんじゃね?
LostForcusイベントが発生してないのにイベントハンドラを呼び出すのってキモい
- 42 :
- 過去にVBやってた人間がVB.NET学習するのに
良さげな参考書ってありませんか?
- 43 :
- >>42
プログラミング未経験者じゃないんだから、自分に合った本ぐらい自分で選べよクズ
まあどうせ未経験者並のスキルしかないんだろうけど
はじめての〜とか、やさしい〜とかついてる本がお前向けかなw
- 44 :
- >>43
わかりました、ありがとうございます。
やさしいとかはじめてだとちょっと見つからなかったんで
入門で探して買ってみます。
- 45 :
- 煽り無視ワロタ
オレはネット上で.NETとVB6の差異が説明してあるところを
適当に回ってサンプルいじって移行した
オレ程度の初心者でも.NETの方が洗練されてると感じたな
substringとかスゲー便利だわーとかそんな感じでvb6には戻れなくなってく
- 46 :
- midに対する優位性は?
- 47 :
- よく考えると全く無い
right left midをひとつにまとめた感動?w
カウントが0から始まるのは良いと思う
vb6の何でも1から始めるのは分かりやすいけどなんか違うと思っていた
- 48 :
- そうかな?
lengthが1返すんだから1から始まるのが始まるのが自然だと
思うがねえ…
- 49 :
- substringはすぐ例外泊からなー
- 50 :
- .netのメリットとしてなにかひとつ例示するとして、substringなんて挙げるような奴の実力なんて
推して知るべしって感じだなw
- 51 :
- 案外そんなもんじゃね?
オレもコントロールがかっこよくなってる事が一番の理由だったりするし
- 52 :
- ネット上の情報総量が.net>vb6になったと感じた時点で乗り換えた
2006年くらいだったかなw
- 53 :
- 環境依存要素が大幅に減ったことが一番のメリットかな?
クライアントによってファイル選択ダイアログとかAPI呼び出しで動かなかったり、日本語パッチが当たってなくて文字化けしたりといった、しょうもないことに悩む必要がなくなった。
- 54 :
- >>53
それは違うでしょ。
例えば2.0に限っても無印とSP1,SP2では微妙に動作が違ったりバグが修正されてたりする。
まあそれは仕方がないが、セットアッププロジェクトではSP適用済の.NET Frameworkの
インストールを強制できない。
そもそもSPを頒布してよいのかどうか、はっきりしない。
このあたりVS6時代から何も進歩してないように思う。
っていうか、.NET移行(ってもう10年になるんだがw)のメリットは、
第一には.NET Frameworkそのものだろ。
後は完全なOOP言語であること。
VB6なんて名前空間も継承も使えない上に、例えばEnumのメンバー名が名前空間の閉じてない
(Enumのメンバー名と同じ名前はもう外では一切使えない)糞言語じゃん。
こんなので大きなプログラムは書けないよ。
- 55 :
- >>54
後半は異論ないが、
少なくともランタイム配布のあたりは、DLする正式な場所がMSから提供されてるんだから、VB6よか遥かに進歩したと思う。
VB6の時はランタイムの配布がカオス過ぎで何入れればちゃんと動くのかわからない状態も多かった。
- 56 :
- >>54
> セットアッププロジェクトではSP適用済の.NET Frameworkの
> インストールを強制できない。
ttp://blogs.msdn.com/b/astebner/archive/2009/03/03/9457968.aspx
これ使えばいいんじゃね?
- 57 :
- フォームの範囲外に画像を描画したい場合はどうすればいいんですか?
- 58 :
- GetDC使えばデスクトップのHDCが手に入るけど再描画の問題もあるから
RegionなりTransparencyKeyなりを使ったフォームの方が楽
- 59 :
- gifを一度だけ再生する方法を教えてください
- 60 :
- VB6時代の方が良かった、とか思うことってあんのか?
VB.NETの生産性最強じゃないか
- 61 :
- 適当なPG書いててもご飯が食えた良い時代
- 62 :
- >>60
固定長ファイルの扱いとか
- 63 :
- TextFieldParserの方がお手軽じゃね?
- 64 :
- いいえ
- 65 :
- チマチマチマチマReleaseComObjectとかやらなくてもいいのはVB6/VBAの利点
というか、.NETからOfficeを制御するのはなにを使うのが一般的なの?
Excelの制御に莫大な工数使うの馬鹿馬鹿しい
金払って済むならそっち使うよ
- 66 :
- プロセスが残ることさえどうでもいいと割り切れば
いちいちReleaseComObjectしなくていい
- 67 :
- Excelの制御って何年たってもめんどくさいのな
- 68 :
- Excelの操作だけvbscriptにやらせればいいのでは
- 69 :
- プロセスが残るなんて都市伝説みたいなもの。
普通にエクセルのUI表示して制御するだけなら、余程の下手でも打たないと
実際はそんな問題は起こらないでしょ。(少なくとも俺は全く経験なし)
その手のクレームを訴える人は、UI表示せずにワークブックのファイルを作成のために
エクセルのオートメーションを使う変則的な使い方してる人だけだと思うよ。
- 70 :
- Application.Quit直前に、
GC.Collect+GC.WaitForPendingFinalizersを呼ぶようにすれば、
他のExcel関係のオブジェクトはNothingにしておくだけで済むよ。
- 71 :
- EXCEL操作用の自動で開放処理までしてくれるクラス作っといて
必ずそれ経由で操作すれば問題起きないよ。
毎回、開放処理書くのはバグの元以外の何物でもない。
- 72 :
- >>69
いちいちExcel表示して操作してんのか?
OfficeTanakaあたりの糞コードでもそんなことやらんだろ
- 73 :
- >>72
いきなり喧嘩腰の奴って例外なく馬鹿だな。
もともとオートメーションは「いちいちExcel表示して操作」するための物。
だからそれ以外の使い方については、俺は変則的だと言っている訳。
変則的って日本語知らないのかよ。知らないのなら辞書を引け馬鹿。
- 74 :
- >>73
> オートメーションは「いちいちExcel表示して操作」するための物。
先生!堂々とホラを吹く前に↓にせめて目を通してください!
http://msdn.microsoft.com/ja-jp/library/y1xatbkd(v=vs.80).aspx
- 75 :
- ASPがOfficeファイルを生成する度、サーバではパカパカ画面が開きます。
って事か?
- 76 :
- パカパカ開くとかしょうもないことしてないで、これ買って使え
http://www.adv.co.jp/product/product_excelcreator2012.htm
安いし
- 77 :
- POIでいいじゃないか
- 78 :
- >>75
サポート外の使い方を例に出されても
- 79 :
- >>76
その手の製品で作ったファイルって
互換性がいまひとつだったりして、EXCELのバージョン上がると読めなくなったりするからな。
- 80 :
- どうしちゃったの?この流れは
- 81 :
- Javaでいうところと
ArrayList<Hoge> hoge = new ArrayList<Hoge>
のようにArrayListに型を持たせたいのですが
どのような記述にすればよいでしょうか?
- 82 :
- List(Of Hoge)
- 83 :
- フォームをリサイズした時に動的にTextBoxを一緒に伸び縮みさせたいのですが
SplitContainerを使わない方法ってありますか?
- 84 :
- >>82
ありがとうございます。できました。
- 85 :
- >>83
アンカー
- 86 :
- ああ、ただmultilineでないと縦には伸びないがな
- 87 :
- >>83
フォームのResizeイベントでTextBoxのサイズ変更するのは駄目なの?
- 88 :
- >>85
アンカーはTop,Leftにしていますが・・・
なるほど、右・下も設定できるんですね
解決しました
>>87
Sizeはデザイン時にしか変えられない仕様みたいですよ
VB6なら変えられたように思います
そこでつぼに
- 89 :
- え?
変えられるだろ?
- 90 :
- TPPってなに?
- 91 :
- >>90
http://en.wikipedia.org/wiki/TPP
好きなの選べ
- 92 :
- textboxの中身をとりあえず規則とか考えないでソートする時
↓にしたけど並び変わってくれません、何が悪いんでしょうか?
Array.Sort(TextBox.Lines)
- 93 :
- Linesを一旦変数にうけとって、Sortして、Linesに設定し直す
- 94 :
- >>88
少なくともGroupBox、DatagridView、ComboBoxではフォームのResizeイベントに合わせてサイズ変更はしてるよ
TextBoxでは使用してないのでわかりませんが
- 95 :
- >>93
ありがとうございます
配列同士の代入が一気にできるとは素晴らしいですね
- 96 :
- vsのインテリセンスみたいな候補がでるテキストボックスを作りたいんだけど、
可能かな?
- 97 :
- 余裕で
- 98 :
- どんな感じで?
- 99 :
- どんな感じと言われても俺の頭の中にはすでに出来てるし
- 100read 1read
- 1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼 ▲
-