[表示 : 全て 最新50 1-99 101- 201- 301- 2chのread.cgiへ]
Update time : 03/26 13:45 / Filesize : 90 KB / Number-of Response : 326
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


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

VB.NET質問スレ(Part32)



1 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 10:06:09 ]
前スレ

VB.NET質問スレ(Part31)
pc12.2ch.net/test/read.cgi/tech/1250930696/l50

テンプレは >>2-4 あたり

175 名前:361 mailto:sage [2009/11/25(水) 16:20:34 ]
>>174
スレ違い
C# の質問スレの方がいい答えがかえってくるはず

176 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 17:24:17 ]
現在オセロ作っていまして
石を置くときにクルッと一回転させてから置くような感じの効果を付けたいのですが
どのように考えればいいんでしょうか?
よろしくお願いします

177 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 17:27:24 ]
3Dでモデリングとか考えてないなら、
何枚か回転途中の絵を用意しといてタイマで絵を切り替えながら描画する

178 名前:176 mailto:sage [2009/11/25(水) 17:29:18 ]
あ、石は単純に円で表現してます
本当は円柱で描きたかったのですがそちらの方もやり方がわかりませんでしたので・・・
では改めてよろしくお願いします

179 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 17:29:42 ]
>>176
石の横幅を小さくしてから大きくする

180 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 17:31:23 ]
>>178
黒と白の石をずらして重ねてみるとか

181 名前:176 mailto:sage [2009/11/25(水) 17:32:24 ]
補足書いてある間に回答がきててすれ違いになってしまいました
>>177>>179
両方のやり方で作ってみて見た目が良かった方でいこうと思います
どうもありがとうございました

182 名前:176 mailto:sage [2009/11/25(水) 17:35:03 ]
これまたすれ違いに・・
>>180
早速取り入れてみます
ありがとうございました

183 名前:デフォルトの名無しさん mailto:sage [2009/11/26(木) 00:32:02 ]
WebRequestとWebResponseクラスを使ってサイトにアクセスしているのですが、
HTMLソースをString変数に読み込んで、内容を正規表現で調べているのですが、
mshtmlクラスのように、GetElementByTagNameなどのメソッドで
データの取得や設定が簡単に扱えるようにするにはどんな方法でやれば良いでしょうか?



184 名前:デフォルトの名無しさん mailto:sage [2009/11/26(木) 00:37:25 ]
標準では用意されてない

185 名前:デフォルトの名無しさん mailto:sage [2009/11/26(木) 00:51:58 ]
DOM やりたいなら、mshtml で読み込めよ。

186 名前:デフォルトの名無しさん mailto:sage [2009/11/26(木) 00:59:56 ]
レスありがとうございます。
DOMというのですか。この方法はAxWebBrowserを使う時の方法しか知らないのですが、
WebRequestとWebResponseクラスを使った方法でも使うことが出来るでしょうか?
ヒントでも良いので方法を教えて頂けると助かります。

187 名前:デフォルトの名無しさん mailto:sage [2009/11/26(木) 01:06:38 ]
msdn.microsoft.com/en-us/library/aa752047(VS.85).aspx

こーゆーやつ。

188 名前:デフォルトの名無しさん mailto:sage [2009/11/26(木) 07:22:24 ]
すいません、質問です。
(VB.NETというよりも、IDEに関係する話かもしれませんが)
プロジェクトを作成し、プログラムを実行すると、ディフォルトでは
Debugにexeが格納されますが、このexeのみを別のPCへコピーして
実行してみる事に問題はありますか?

基本は、インストーラーを作成して・・・となるのでしょうが、
私が作っているプログラムの規模が小さいのもあり、この操作方法で
今のところうまく行っているのですが、これによってどういった不具合が
予測されるかが良く分からない状況です。
どういう問題や不具合が起きると考えられるのかを教えて下さい。お願いします。

189 名前:174 [2009/11/26(木) 07:44:24 ]
>>175
了解しました。
ありがとうございます。


190 名前:デフォルトの名無しさん mailto:sage [2009/11/26(木) 07:44:33 ]
それで動くんなら問題ない。

マナーとして、debug ビルド版じゃなくて、release ビルド版の方を
配布した方がいいかもしれんが。

191 名前:デフォルトの名無しさん mailto:sage [2009/11/26(木) 09:37:07 ]
どっかに、汎用の「遺伝的アルゴリズム」のソース落ちてないですか?

192 名前:デフォルトの名無しさん mailto:sage [2009/11/26(木) 09:51:45 ]
>>188
Debug版は配布すべきでない。
単にDebug.WriteLineなどのログ情報が必要なだけなら、
ReleaseビルドでDEBUG定数の定義を追加すればよい。


193 名前:デフォルトの名無しさん mailto:sage [2009/11/26(木) 10:21:12 ]
>>188
外部ツール使ってなければ
気にするのはFrameworkのバージョン位だな

3.xが入ってれば
明示的に2.0入れなくても動くんだっけ?




194 名前:デフォルトの名無しさん mailto:sage [2009/11/26(木) 14:47:31 ]
>>188
Debugビルドの方が、Releaseビルドより容量が大きくなることがあるんじゃなかったっけ?
Debug用の情報が含まれるとかなんとかで。



195 名前:デフォルトの名無しさん mailto:sage [2009/11/26(木) 15:02:02 ]
ほとんど変わらんかったと思う。
でかいのはあくまでpdb。


196 名前:デフォルトの名無しさん mailto:sage [2009/11/26(木) 15:38:26 ]
pdbって何なの?
ちょこっとプログラム組んだだけで、
ものすごいサイズのpdbファイルができることがあるんだけど・・・

197 名前:デフォルトの名無しさん mailto:sage [2009/11/26(木) 17:45:10 ]
どうやってデバッガがソースファイルや行位置やその他諸々を理解してると思う?


198 名前:デフォルトの名無しさん mailto:sage [2009/11/26(木) 18:10:26 ]
>>197
???

199 名前:デフォルトの名無しさん mailto:sage [2009/11/26(木) 18:32:07 ]
「pdbファイル」というキーワードを自ら出しておきながら
ググれないとか、もうね。

200 名前:デフォルトの名無しさん mailto:sage [2009/11/26(木) 21:03:01 ]
>>199
すいません >>198は誤爆なので質問者じゃありません

201 名前:デフォルトの名無しさん mailto:sage [2009/11/26(木) 21:27:37 ]
>>187
ありがとうございます。
ほとんど意味がわかりませんがまた調べてみたいと思います。

202 名前:デフォルトの名無しさん mailto:sage [2009/11/26(木) 22:22:57 ]
VBはDebug.Break()ないのけ?

203 名前:デフォルトの名無しさん mailto:sage [2009/11/26(木) 22:43:32 ]
System.Diagnostics.Debugger.Break()



204 名前:デフォルトの名無しさん mailto:sage [2009/11/26(木) 22:59:35 ]
なんか俺みたいな初級者が「開発」なんて言葉こっぱずかしくて使えない

205 名前:デフォルトの名無しさん mailto:sage [2009/11/26(木) 23:59:44 ]
関数の戻り値で配列をReturnで返すには1行で書くにはどう書いたら良いですか?

Function Hoge(hoge As String) As String()
Dim res(1) As String
res(0)="hoge"
res(1)="hoge2"
Return res
End Function

と書かずに
Return {hoge,hoge2}

のように書きたいです。

206 名前:デフォルトの名無しさん mailto:sage [2009/11/27(金) 00:00:57 ]
Return New String() { hoge, hoge2 }

207 名前:デフォルトの名無しさん mailto:sage [2009/11/27(金) 00:06:39 ]
>>206さんありがとうござます。

208 名前:デフォルトの名無しさん mailto:sage [2009/11/27(金) 02:10:18 ]
新規フォーム作成時の赤黄青のデフォルトアイコン↓
dobon.net/vb/dotnet/form/img/formborderstyle_single.png
これを実行ファイルのアイコンにも使用したいと思っているのですが
どこに存在するか分かる方いますか?

209 名前:デフォルトの名無しさん mailto:sage [2009/11/27(金) 03:31:48 ]
Standard以上ならVisualStudioのImageLibraryにあるかもしれんが
そうでなければ勝手に使うのはライセンス違反になる気がする

210 名前:188 mailto:sage [2009/11/27(金) 07:51:56 ]
debugのexeの質問へのレスをしていただいた方々、ありがとうございました。
なにやら、別の方が割り込んできている様子でしたので念のために断って
おきますが、私は質問の投稿しかしていませんでしたので、それ以外の質問は
別の方だと思われます。

今のところ、特に凝ったものを使ったりはしていないのと、細かいレベルで
プログラムの修正がある関係から、とりあえずは release ビルド版の配布を
行うようにしておきたいと思います。
ありがとうございました。

211 名前:デフォルトの名無しさん mailto:sage [2009/11/27(金) 08:09:19 ]
別にdebugビルドをリリースしてもええよ
細かすぎんだよプログラマは

212 名前:デフォルトの名無しさん mailto:sage [2009/11/28(土) 09:40:45 ]
質問です。
私はやっと、VB.NET Express Edition をある程度使いこなせるように
なった者です。
このエディションだと印刷機能が低く、Line関数で座標を数値で
指定しながら程度しか帳票を作ることが出来ないようですが、
コストもある程度考えながら、保守性や生産効率性を考えた上で
帳票を作りたい場合は、どのような方法を取るケースが多いのでしょうか?
上位エディションや、Grapeなどのサードパーティー、Accessを使う方法など
いろいろあるようですが、それらをそろえるには資金的な壁がありましたので、
ちょっとここで聞いてみたいと思いました。

213 名前:デフォルトの名無しさん mailto:sage [2009/11/28(土) 13:05:15 ]
ActiveReportsとかCrystalReportsとかが一般的だが要は金がないんだろ
WordやExcelをCOM使って帳票の代わりにするとか検討してみれば
小規模であれば差込印刷とかで、アプリ側はCSVだけ作成して
帳票の印字調整はあらかじめWordに設定しておくとかすれば工数も掛からんだろ
後は時間と知識があるなら帳票コントロールの自作とかかね



214 名前:デフォルトの名無しさん mailto:sage [2009/11/28(土) 13:17:12 ]
iText.netがいいよ

215 名前:212 mailto:sage [2009/11/28(土) 19:15:06 ]
>>213>>214
情報提供ありがとうございます。
出していただいたキーワードをもとに調べてみます。

216 名前:デフォルトの名無しさん mailto:sage [2009/11/28(土) 19:26:23 ]
自アプリのメッセージボックスをプログラムで消す(キャンセルを押す)にはAPIでハンドルを調べてAPIでメッセージを
送るという方法しかありませんか?

217 名前:デフォルトの名無しさん mailto:sage [2009/11/28(土) 19:31:40 ]
MessageBoxTimeOutA/W

218 名前:デフォルトの名無しさん mailto:sage [2009/11/28(土) 19:33:28 ]
プログラム側で勝手に「消す」ようなメッセジーボックスなら
最初から表示しなけりゃいいのに。

時限で自動的に閉じる、みたいなことがしたいのかもしれないが、
それならそういうメッセージボックスクラスを自分で作ればいい。
少なくとも俺はそうした。
別にたいした手間じゃない。

219 名前:デフォルトの名無しさん mailto:sage [2009/11/28(土) 22:17:07 ]
レスありがとうございます。
MessageBoxTimeOut
で検索したらサンプルが出てきたので今回はそれを使ってみます。

220 名前:デフォルトの名無しさん mailto:sage [2009/11/30(月) 11:38:00 ]
Dim gyo As String
Dim moji As Char
Dim sr As New System.IO.StreamReader(Opendonfile.FileName, System.Text.Encoding.Default) '読込みモードでオープン
Do Until sr.Peek = -1 '最終行が終わるまで繰り返す
gyo = sr.ReadLine 'gyoに行を読み込ませる
mojisu = gyo.Length '行の文字数をmojisuに代入
For count = 0 To mojisu Step 1
moji = gyo.Chars(count)
MsgBox(moji)
Next
Loop

1行目までは行くんですが2行目に行くときに
moji = gyo.char...の文で「IndexOutOfRangeExceptionはハンドルされませんでした」と出るのですがどうすればよいのでしょうか?

221 名前:デフォルトの名無しさん mailto:sage [2009/11/30(月) 11:44:48 ]
Lengthは文字数を返す
ForはToで指定された値まで繰り返す
例えばLength=3だったとして、For 0 To 3 は何回繰り返す?

222 名前:デフォルトの名無しさん mailto:sage [2009/11/30(月) 11:51:51 ]
なるほど、文字数より1つ大きい値まで指定してしまったんですね。
ありがとうございました。

223 名前:デフォルトの名無しさん mailto:sage [2009/11/30(月) 18:27:02 ]
すみません、質問です。
クラス(DataBox)をコーディングにおいて、そのクラスの設定状況によって
別の値を取得できるかどうか、変更可能かどうか、などの動作を行うように
したいと思っています。
このような動きにする場合は、プロパティでは不可能で、メソッドにて
行うということでよろしいのでしょか?

イメージ的にはこんな感じです。
IF mSettei = 1 Then
 return mColor;
Else
 return False;
 ' もしくは例外を返すとか
End IF



224 名前:デフォルトの名無しさん mailto:sage [2009/11/30(月) 18:30:44 ]
プロパティでは「不可能」ではなく、「不適切」でした。
質問したいのは、プロパティとメソッドの使い分けの考え方の部分です。

225 名前:デフォルトの名無しさん mailto:sage [2009/11/30(月) 18:56:22 ]
よくわからんが…状況によって、どういう型を返すか解らんよ、ってこと?

226 名前:デフォルトの名無しさん mailto:sage [2009/11/30(月) 19:19:11 ]
>>225
ある状況であると、値をちゃんとかえす。
べつな状況であると、値を返さない。
という動きにしようと思っているのです。
箱が閉じて鍵がかかってデータが取れない状態と、
空いていて、データが取れる状態の二つの動作を
持たせようと思っているのです。

もしかすると、このような設計をすること自体が
間違いなのかもしれません。
箱が空いていてデータが取れるかどうかの区別は
DataBoxを使用する側の方が制御するべきなのかな?

227 名前:デフォルトの名無しさん mailto:sage [2009/11/30(月) 20:10:58 ]
1. 値を返せるかどうか
2. 値そのもの
の2つを同時に戻したいなら、
A. 「Function Get〜(ByRef 戻り値) as Boolean」として
  戻り値へ値をセットしたかどうかを返す。
B. 「Property 〜() as Nullable(Of 型)」として、返せないときは
  Nothing を戻す。
C. 戻り値の型が参照型なら Nothing を、値型なら
   (もしあれば) その型の Empty 値を戻す。
D. (プロパティだろうとメソッドだろうと構わないが) 別々に戻す。

228 名前:デフォルトの名無しさん mailto:sage [2009/11/30(月) 21:09:56 ]
>>226
それはダメ
Getで失敗させるのはMSのガイドラインに違反する

229 名前:デフォルトの名無しさん mailto:sage [2009/11/30(月) 22:25:37 ]
処理に時間がかかる大きな変数を関数に渡して
その後すぐにその変数を書き換えた場合おかしな動作になりますか?

230 名前:デフォルトの名無しさん mailto:sage [2009/11/30(月) 22:27:24 ]
ならんよ。

231 名前:デフォルトの名無しさん mailto:sage [2009/11/30(月) 22:52:59 ]
了解です。

232 名前:デフォルトの名無しさん mailto:sage [2009/11/30(月) 23:34:07 ]
>>226
値を返さない仕様では無く、nullpoを返すとか0や有り得ない数値(時間の分なら59以上とかマイナスの値)を返す様にするんじゃないかな。

233 名前:デフォルトの名無しさん mailto:sage [2009/12/01(火) 01:24:22 ]
For Each Str As String In ?????
で、ListViewのSubItem(3)をStrに入れるにはどのように書けば良いでしょうか?



234 名前:デフォルトの名無しさん mailto:sage [2009/12/01(火) 01:52:11 ]
> ListViewのSubItem(3)
とかいう謎の言葉は良くない
ListViewの各アイテムの4列目を列挙したいってこと?
ならListView.ItemsをFor EachつかってListViewItem列挙して
それのSubItems(3).Textを取得する

235 名前:226 mailto:sage [2009/12/01(火) 11:21:31 ]
みなさん、親切にご回答ありがとうございました。

>>227
「値を返せるかどうか」と「値そのもの」を、同時に一つのもの
として処理をするように考えるのではなく、別のものとして
処理するように考えれば良いのですね。

>>228
Getで失敗させてはいけないという設計は知りませんでしたが、
納得はいきました。Getを使用する際は、いちいち Try 〜 Catch 〜 は
使用しませんしね。

>>232
「値が返せない」状況の場合は、例外よりも、0などを返す
方向で設計するとよさそうですね。
そのクラスを使うプログラムの方は、例外を取得するのではなく、
ちゃんとした値だったら・・・0だったら・・・という
プログラムになるのですね。

236 名前:デフォルトの名無しさん mailto:sage [2009/12/01(火) 15:06:10 ]
>>235
エラーコード返すんだったら例外と変わらん
プロパティはあくまでフィールドのように振舞うべき
素直にGetHogeみたいなメソッドにしたほうがいい

237 名前:デフォルトの名無しさん mailto:sage [2009/12/01(火) 15:18:54 ]
>>236
レスありがとうございます。
クラス設計を行う場合、カプセル化の実現の為、必ずSetter/Getterを設定し、
外部のプログラムは、フィールドを直接操作しないような方向で考えるべきと
されていますが、VB.NETでは、そのあたりの必要機能すべてをプロパティにて
網羅している、と解釈してしまっていたところで、間違った解釈につながって
しまったようです。

純粋にフィールドの値を代入したり取得したりする場合のみ、プロパティを
使用する。そして、(オブジェクトの状態により振る舞いが変わるなど)
条件付きでデータを取得したり設定したりする場合は、メソッドを作る。
という考えでいるべきなのだなと思いました。

238 名前:デフォルトの名無しさん mailto:sage [2009/12/01(火) 18:15:50 ]
外からフィールドのように見えればいいんであって、
中身は自由に実装していいんだぞ。でないとプロパティの意味がない。
返す値が無いからNothingなのはかまわないが、そのNothingは取得操作が失敗したから
Nothingをエラーコードとして返しているのではなく、そのプロパティの値自体がNothingという意味でなければいけない。

239 名前:デフォルトの名無しさん mailto:sage [2009/12/01(火) 20:41:49 ]
こういうセオリーだ、とか、これはバッドノウハウだ、とかってのは置いといて、
好きに作ってみればいいじゃん。で、ダメだったらやり直せばいいんだし。

240 名前:デフォルトの名無しさん mailto:sage [2009/12/01(火) 21:33:42 ]
1の位や10の位で切り上げや切り捨ては行えますか?

241 名前:デフォルトの名無しさん mailto:sage [2009/12/01(火) 21:38:46 ]
>>240
除余を引いてください。
っていうか、小学生でも思いつく知恵だと思うけど・・・

242 名前:デフォルトの名無しさん mailto:sage [2009/12/01(火) 21:38:55 ]
足して割って掛ければいいよ

243 名前:デフォルトの名無しさん mailto:sage [2009/12/01(火) 21:42:10 ]
int型なら10で割ると切捨てなので1の位が消滅する

105/10→10 これにまた10をかける



244 名前:デフォルトの名無しさん mailto:sage [2009/12/01(火) 23:34:39 ]
>>243
Dim val1, val2 As Integer
val1 = 99999 / 100
val2 = val1 * 100
Console.WriteLine(val2)
( ゚Д゚)

Math.Floor()
( ゚Д゚ )

245 名前:デフォルトの名無しさん mailto:sage [2009/12/01(火) 23:43:53 ]
\

246 名前:デフォルトの名無しさん mailto:sage [2009/12/01(火) 23:44:54 ]
/じゃなくて\ね。
っていうか、だから除余を使おうよ。

247 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 00:42:24 ]
っていうか、馬鹿相手にレスするなよ。

248 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 15:03:59 ]
初心者な質問ですが宜しくお願いします。

Button1をクリックしたら、Do While〜Loopを使ってi=1から10まで加算して
初回ループ
・Console.WriteLineで標準出力ストリームに「i = 1」
・Form1のLabel1にも「i = 1」
n回目ループ
・Console.WriteLineで標準出力ストリームに「i = n」
・Form1のLabel1にも「i =n」
と表示させる。ということをイメージして書いたのが

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
 Dim i As Integer = 1
 Do While i <= 10
  Console.WriteLine("i = {0}", i)
  Label1.Text = "i = " & i
  i += 1
 Loop
End Sub

Button1をクリックした実行結果は
・標準出力ストリームは1度も表示されない。
・Form1のLabel1には1回だけ「i = 10」と表示される。
・ループが回っていることはステップインで確認。

何が問題なのかアドバイスお願いします。

249 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 15:19:13 ]
フォームアプリケーションだとそもそも標準出力先が用意されてない
デバッガの出力に表示させたいならDebug.WriteLineとか使う

そのループも画面更新も同じスレッドで行われるので、ループが回ってる間画面更新できない
定期的な処理ならタイマを使う
重い処理ならBackgroundWorker辺りを使う
Refreshで強制的に再描画させられるけど普通ではないしそんなループ程度じゃ視認できないだろ

250 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 16:35:33 ]
>>249
回答有り難うございます。

>フォームアプリケーションだとそもそも標準出力先が用意されてない
>デバッガの出力に表示させたいならDebug.WriteLineとか使う
フォームだと窓表示ができないのですね。なるほど!

>そのループも画面更新も同じスレッドで行われるので、ループが回ってる間画面更新できない
>定期的な処理ならタイマを使う
実行結果を見ると確かにPrivate Sub Button1_Clickを抜けて初めてLabel表示が更新されるので
そうかなあと思ってましたが納得です。

251 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 16:53:40 ]
Labelに値をセットすることと、フォームを更新することが
異なるタイミングで行われるということなので、
Update()などで更新してやれば実現できる。

Label1.Text = "i = " & i 
Label1.Update()

これでも処理中に画面が張り付いてしまうのは変わらないから、
本格的なアプリならTimerやBackgroundworkerをすすめる。

252 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 17:21:05 ]
質問です。

以前C++で、構造体配列を宣言するために、

typedef struct tagA
{
CString strName;
int iCount;
} tagA;

CArray< tagA, tagA > tagArray;
というように宣言し、構造体要素をAddしたりDeleteしたりしていました。
tagArray.Add(...) のように。

VB.NETではどのように宣言してやればいいのでしょうか?


253 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 17:32:23 ]
List(Of T)とか使う



254 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 17:53:03 ]
>> 253
ほんとありがとー。
Cだけしかやったことないっていうのはほんとダメだねぇ・・・
たすかりました。

255 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 19:35:30 ]
そういう教科書に載ってるようなのはたいがいあらかじめ用意されてるから
自分で書こうとしてはいけない

256 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 19:38:22 ]
整数の数があるとして、
11個の連続した整数を取り出したいのに
60-50=10なのに
でも50から60には11個の整数がある。
この矛盾はなに?

257 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 19:43:13 ]
つれますか?

258 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 19:50:32 ]
>>252
CArray 使うとか…いや、まあいい。

>>255
でもツリーとかグラフはないんだよねえ。

>>256
しょうがっこうの べんきょうは むずかしいですか?
すうじを 5 と 3 にしてみるとわかりますよ。

259 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 19:51:57 ]
>>256
1-1=0なのに
1から1までは1という1個の整数がある!ふしぎ!

260 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 20:10:08 ]
マジレスヨクナイ

261 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 07:36:33 ]
>>238>>239
レスありがとうございます。
とりあえず手を動かしていろいろやってみたいと思います。

262 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 08:12:54 ]
すいません、もう一つだけ質問です。
メンテナンス目的時のみに使用するメソッドを設定する場合の
命名規則やルールはあるのでしょうか?
コーディング規約ではそういうものは見たことがないので、
質問してみました。
_(アンダーバー)で始まる名前にするなど、適当な考えで
やっておくといいのかな?

細かい事を気にしすぎだという意見が出るかもしれませんが、
多くの人が必ず関係するような事だと思ったので確認しておきたいと
思いました。

263 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 08:21:45 ]
さすがにメンテ云々までMSのガイドラインは無いんじゃないかな?
もし、あったらごめんね



264 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 09:28:19 ]
VB.NETっていきなりWindowsアプリじゃなく
C言語が一番最初コマンドプロンプトでprintfだのから始まったように初歩の初歩から学べないの?

265 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 09:35:51 ]
>>264
プロジェクト作成時に、コンソールアプリケーションを選べばいいと思います。

場合によっては、VB.NETから離れて、BASICを学ぶという選択肢で考えた方が
いいかもしれません。

266 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 09:45:00 ]
そもそも Visual なのだから、基本はフォームにコマンドボタンと
テキストボックスを配置して、コマンドボタンクリック時のイベントに
コードを書いていくというのが、初歩という考え方でもあると思う。
(GUIを作るまでの過程がマウスによる操作で出来るので簡単っていう
意味合いで、Visualです。)

267 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 10:07:59 ]
とりあえずこれで
' save hello.vb
module Program
 sub main
   Console.WriteLine("Hello World !")
 end sub
end module

vbc hello.vb
hello


268 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 10:39:07 ]
デバッグはドM作業っていうのがよくわかったよ
2時間悩んでもわからなかったのに寝て起きたらあっさり見つかったり

269 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 11:57:53 ]
俺はシャワーのとき解決策を思いつくよ

270 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 12:05:12 ]
俺はいつも丑三つ時に閃くな

271 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 14:40:33 ]
正規表現難しいな
数字の桁数が定まってないのは\dでは探せないしなぁ

272 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 14:44:14 ]
いつからここは愚痴をいうスレになり下がったんだ?w

273 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 15:20:31 ]
オレは、トイレ入ってる時だな。。 一番思いつくのは



274 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 15:56:25 ]
>>271
+とか*の量子指定じゃ駄目なの?
せっかくの質スレなんだから聞いてみろよw


275 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 17:08:18 ]
質問
homepage1.nifty.com/rucio/main/kiso/Scope.htm
このサイトを読んでいたのですが、「2.適用範囲」の Friend を
使う場合はどんなケースであるのがいまいちわかりませんでした。
同じプロジェクトであればということですが、基本的にモジュールは
自分が今作成しているプロジェクトに組み込んで使うものではないの
でしょうか。

例えば、AさんがJisakuクラスを作成し、Jisaku.vbファイルに保存。
それをBさんが、新規プロジェクトを作成し、Jisaku.vbファイルをその
プロジェクトフォルダの中にコピーしてForm.vbを記述。
Cさんが自分のPCにて、それとは別に新規プロジェクトを作成し、
Jisaku.vbファイルをそのプロジェクトフォルダの中にコピーして
Form.vbを記述。

という感じにやるのだと思っていたのですが、この考え方が間違いなのでしょうか。

276 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 17:40:01 ]
>>275
プロジェクト内でも間違いではないが、同一アセンブリ内というのが正確だな。
アセンブリが異なれば例え同じ名前のクラスでも別のクラスという扱いになる。
.NETでは基本的にソースレベルでコピーや共有はしない。

277 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 19:01:37 ]
>>263
レスありがとうございます。
使う人が使い方を間違えないような感じの名前をつけておきたいと思います。

278 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 19:18:40 ]
現在VB.NET2005にて
データベースの接続及びSQL文発行を行う
DLLを作成しており、
接続には『SqlDataReader』を使用しています。

Transactionを指定しない場合に
排他制御がどのように行われているのか、がわかりません。
一切排他が行われないのでしょうか?

また、排他制御を実装する場合はどのようにすれば良いのでしょうか?
行いたい制御としては、
@データ取得中(SELECT)にデータ更新を抑止する
Aデータ更新中(INSERT/UPDATE/DELETE)にはデータの取得/更新を抑止する 
です。

279 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 19:42:34 ]
データベースによる

280 名前:278 mailto:sage [2009/12/03(木) 19:47:40 ]
>>279
すみません、書き忘れました。
使用するデータベースは
『SQLServer2005 Workgroup Edition』です。

281 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 19:49:24 ]
その質問の答えは回答者による。


282 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 19:52:59 ]
SqlDataReader では接続できないんだが
(SqlDataConnection だろ、ってのは置いといて)
MS SQL Server の Isolation Level の設定次第。

283 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 20:04:11 ]
select * from tab with(xlock)




284 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 20:04:14 ]
>>278
とりあえず元スレに移動したことを書いとけよ。
マルチとかいわれんぞ。

285 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 21:19:35 ]
皆プログラミングになんのエディタ使ってる?
俺はPCがカスだから動作が重いけど楽で便利だからVBの統合開発環境をそのまま使ってるんだけど

286 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 21:21:43 ]
VBでVB使わないとかただのアホかマゾ

287 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 21:24:04 ]
メモ帳でやりたいけどやり方わからんから仕方なくVisual Basic 2008 Express使ってる

288 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 21:26:29 ]
edlin

289 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 21:35:22 ]
.NETのクラスライブラリの糞長い型名やメンバ名なんかいちいちタイプしてられるか
もともとインテリセンス前提で作られてるんであってPythonみたいな書きやすさ重視の言語とはわけが違う

290 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 07:50:49 ]
>>276
レスありがとうございます。
分かりやすい説明でした。

291 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 09:34:54 ]
ランダム関数についての質問です。
ランダムに数字を取得する方法は、googleで検索するとすぐに
出てきたりしますが、(例えば以下のサイトなど)
www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=21547&forum=7
ある数字の幅を指定して、その範囲で数字を1回ずつ重複せずに取得する
ことはできないのでしょうか?
(同じ数字であるかのチェックを行うプログラムを書いて工夫をする
しかないのでしょうか)

(例)0〜5の数字をランダムに取得する
1回目:2
2回目:1
3回目:4
4回目:0
5回目:3
6回目:5
このような感じに数字が取得でき、6回目の数字の取得まで、
一度出た数字が重複することが無い。

292 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 09:45:05 ]
dobon.net/vb/dotnet/programing/arrayshuffle.html
「シャッフル」というキーワードで調べてみるとよかったようですね。
自己解決しました。

293 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 09:49:11 ]
年末ジャンボシミュレータ作る気ですね?
解ります。(゚ー゚ )(。_。)(゚ー゚ )(。_。)ウンウン
私も考えたのですが、どっかにメモしておくしか考えつかないです。
数学板かアルゴリズムのスレで聞いてみようかと思ってました。



294 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 14:17:31 ]
質問です。
VB.NETの変数には、値型と参照型がありますが、変数にこういう二つの
概念を持たせて、プログラミングの際に使い分けをさせたりするメリット
とはどういうものがあるのでしょうか?
homepage1.nifty.com/rucio/main/dotnet/shokyu/standard34.htm
実際にプログラミングをする際に感じるものがいまいち見えませんでしたので
質問をしてみました。こういうプログラミングをしてみるとわかるよという
ものの紹介でも結構です。よろしくお願い致します。

295 名前:デフォルトの名無しさん [2009/12/04(金) 14:22:59 ]
未定のType変数を用意し、それを後から必要に応じてセットしてから
後でそれを使ってオブジェクトを設定したい場合、

たとえば

Dim TypeA as Type = GetType(Integer)
 ・・・
Dim ObjectA as TypeA = CType(obj, TypeA) ・・・・・(*)

このようにすると(*)でエラーします。こういう使い方はNGのようで、
どういう仕方で行なうものか教えてください。


296 名前:295 [2009/12/04(金) 14:25:05 ]
(*)ではコーディング状態で「TypeAは定義されていない」となります。


297 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 14:32:16 ]
>>294
値型の理由は主にパフォーマンス ただし分かって使わないと却って悪化する
自分で定義する分には値型を作ることは(列挙体以外)まずないよ

>>295
Dim ObjectAのところでTypeAはプログラム上確定してないんだろ? 実行時に初めて確定する
ならTypeAにキャストしてどうするの? 何もできないじゃん?

298 名前:295 [2009/12/04(金) 14:43:11 ]
>>297
>Dim ObjectAのところでTypeAはプログラム上確定してないんだろ?

そうなんですが、たとえば、親のオブジェクトからプロパティで型を受け取って
それを使ってキャストしたいと思いました。それで元々定義されたメソッドを
子の方で叩くなどしたいと。こういうのは無理なものですか?

299 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 14:55:25 ]
だからさ、TypeAが何型かコーディング時に分からないのに、
どうキャストすんのよ?

VBならレイトバインドでも使っとけ。
おすすめしないけど。

何がしたいか具体的に書けばもっと真っ当な方法がある可能性が高い。

300 名前:295 [2009/12/04(金) 15:23:55 ]
>>299
コーディング時には実はわかっているのですが、クラス型は親の方で宣言して
おきたく、子の方はいろんな種類があって実行時に型を受け取りたいということ
でした。

ただ、どうも(*)という方法自体が不可能なような感じですかね?Type型のもので
オブジェクトを宣言したりキャストすること自体が間違いなのかなあ・・・


301 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 16:12:35 ]
親が分かってるからとかそういう問題じゃないんだ。
コーディング時にってのは子のコーディング部分で分かってるかって意味だ。


302 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 16:19:09 ]
マウスカーソルがフォーム上の指定した座標上に移動したときに
その座標にグラフィックが描画されるようにしたいのですが、
そのようなイベント(?)はあるのでしょうか?
どのようにすればいいのでしょうか?

現在はピクチャーボックスとマウスエンターイベントで実現しているのですが、
たくさんのピクチャーボックスを使うとものすごく重くなってしまうそうで
ダメと言われてしまいました。

303 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 16:20:26 ]
ひとつのピクチャーボックスでいいだろ
なんでたくさん使うの



304 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 16:28:33 ]
ポトペタ脳ってうざいよね

305 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 16:30:37 ]
>>303
レスありがとうございます
現在はフォームにフォームのクライアント領域と同じ大きさのピクチャーボックスをすでに貼り付けていて
その上に一個ずつ麻雀牌のピクチャーボックスを貼り付けている形になっています。
麻雀パイにマウスエンターすると牌が浮き上がって見えるようにしたいのですが、
これもひとつのピクチャーボックスで実現できますか?

306 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 16:32:37 ]
>>302
こんな感じで領域を指定するんじゃないの?
If MousePosition.X > 250 And MousePosition.Y > 250 Then
Me.PictureBox1.BackColor = Color.Aqua
Else
Me.PictureBox1.BackColor = Color.Blue
End If

307 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 16:37:10 ]
データとビューはわけろよー

308 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 16:44:26 ]
>>300
CType や DirectCast は「型名」を指定するものであって、
Type型で指定するわけじゃない。
>キャストすること自体が
動的な型変換は面倒だぞ。
つ[TypeDescriptor.GetConverter]

309 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 16:48:26 ]
>>305
MouseEnter と MouseLeave のときだけ捕まえて描画したらええやん。

310 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 16:49:29 ]
>>308
たぶん型変換したいわけではなくてどっちかというとレイトバインディングの方だと思う

311 名前:295 [2009/12/04(金) 16:55:31 ]
>>308
>CType や DirectCast は「型名」を指定するものであって、
>Type型で指定するわけじゃない。

やっぱりそうだったのですか。わかりました。ありがとうございます。

>動的な型変換
>TypeDescriptor.GetConverter

こういうものがあったのですね。勉強します、またよろしくです。



312 名前:295 [2009/12/04(金) 17:00:55 ]
>>301
>>310
>レイトバインディング

子のコーディング時にも親を見ているのでわかっているのですが、
子の方ではそのクラスを宣言できないので、クラスの宣言自体をオブジェクト
にして受け取りたいということなのでした。しかしそういうことは簡単では
なさそうな感じので、とりあえず別の方法も考えてみます。


313 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 17:01:39 ]
>>305がイメージしていることって、例えて言うと、ホームページで
Flashでデザインされたメニューのようなものか?
マウスを動かすとリアルタイムでボタンの色や形が若干変わるという。



314 名前:デフォルトの名無しさん [2009/12/04(金) 17:30:16 ]
あるイベントに対して、すでになんらかのハンドラが AddHandler
されていることを知るにはどうすればよいでしょう?それらを全て
列挙することはできるでしょうか。

315 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 17:35:57 ]
できないと言っていい
そもそもそんなのが必要になるのってどんなときよ

316 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 17:44:26 ]
ListBox を Form に貼り付けてプログラミングする場合の質問です。
ListBox は、1行につき1件のデータしか表示出来ないのでしょうか?
Access の場合は、ListBox に対してテーブルそのものを貼り付けることが
出来、さらに1件目のデータを非表示にしておいて、クリックした時に
そのデータを取得するということもできたりしたのですが、
そういったことができなさそうなので確認のため、書き込みました。

317 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 17:47:51 ]
[質問]
Panel の中に複数の RadioButton を貼り付けた場合、
現在、どの RadioButton が選択されているかをチェックするには、
Panel のプロパティからでは確認は出来ない?
貼り付けているすべての RadioButtion において
If Me.RadioButton1.Checked = True Then
みたいなコードを書いてチェックするしかない?

318 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 17:51:00 ]
>>316
標準のListBoxはそう
まあListBoxだってDataTableをDataSourceにして
DisplayMemberとValueMemberを指定するぐらいならできる
それで不満ならネットでMultiColumnListBoxでも探せば

319 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 17:53:40 ]
>>317
うん
まあ関数化しとけば便利だね

>>316
ListViewとかDataGridViewとか使うのは?

320 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 17:54:11 ]
>>318
すばやい回答ありがとうございました。
とりあえずは DisplayMember と ValueMember を使う方法でやってみます。
それでうまくできない場合は、紹介していただいたコントロールや
Grid を使うなど別な方法を検討してみます。

321 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 17:57:26 ]
>>319
回答ありがとうございます。
紹介していただいた ListView とか DataGridView の機能について
詳しく調べてみます。
初心者にも親切にありがとうございました。

322 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 17:58:58 ]
arraylist(listbox.listindex)でいいじゃん

323 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 18:07:24 ]
>>322
arraylist を工夫して使えば、 listbox でクリックした名前に相当する
数値データを取得することが出来るっていう意味かな?
ちょっと私の頭がついていけてなくてどういうコードを書いていけば
いいのかのイメージはついていませんが、いろいろとやってみます。
ありがとうございました。



324 名前:317 mailto:sage [2009/12/04(金) 18:09:15 ]
>>319
レスありがとうございます。独りで考えていて不安だったけれど、
他の人の考えを聞く事が出来てすっきりとしました。

325 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 19:24:38 ]
DataSetとDataGridでできるだろ。
DataGridViewじゃなくてDataGridな。







[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

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

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