06/08/22 15:56:59
>109-112
1、Button1でタイマースタート。 Label2,Label3に乱数表示開始。
2、Button2でタイマーストップ。Label2,Label3に表示されている乱数をa,bに数値として代入する。
3、a,bが同じ数であった場合のみ、再度、自動的に選び直させてLabel2,Label3に表示させる。
明らかに滅茶苦茶かもしれませんが、以下を試しても無理でした。
Do
Timer1.Enabled = True
If Timer1.Enabled = True Then
Timer1.Enabled = False
End If
Loop Until a <> b
a,bの値が変わってないと仰るのも、どうしてであるのかよくわからないので、是非ともご教授下さい。
そして、スレ違いのようですので、然るべきスレへのご誘導も宜しくお願いします…
117:デフォルトの名無しさん
06/08/22 16:17:25
>>116
Rnd()のシードが変わらないからずっと同じ値が帰って来てるんじゃないの?
118:デフォルトの名無しさん
06/08/22 16:22:34
>>116
ここでいい。
ここがお前様を立派な(?)プログラマにしてくれる(はず)。
・・・ところで試さずに聞くけど乱数ってちゃんと違うものになるか?
シード値とか無いと同じタイミングで作られた乱数って同じになるような無いような・・・。
まぁお前様よりドヘタレな俺の与太だから忘れてくれ。
119:デフォルトの名無しさん
06/08/22 16:29:09
> Timer1.Enabled = True
> If Timer1.Enabled = True Then
んと
120:デフォルトの名無しさん
06/08/22 16:52:46
>>116
初めにそれを書けばすぐ解決してたぞ
Private Sub Button1_Click()
Timer1.Enabled = True
End Sub
Private Sub Button2_Click()
If Label1.Text <> Label2.Text Then
Timer1.Enabled = False
End If
End Sub
Private Sub Timer1_Tick()
Label1.Text = CInt(Rnd() * 52)
Label2.Text = CInt(Rnd() * 52)
End Sub
121:デフォルトの名無しさん
06/08/22 17:00:41
> 3、a,bが同じ数であった場合のみ、再度、自動的に選び直させてLabel2,Label3に表示させる。
は、そういう意味なの?
122:113
06/08/22 17:14:49
質問が意味不明ですか?
それともアホすぎる質問なのかな・・・
123:デフォルトの名無しさん
06/08/22 17:16:51
>>113は乱数君と同一人物?
124:デフォルトの名無しさん
06/08/22 17:19:25
>>122 素直に こうしとけば?
do
do
loop until a=b
loop until a=b
125:113
06/08/22 17:50:58
なんだか自分でもわけわからなくなってきたので出直します。
>>123
いや今日から始めたので違います。
126:デフォルトの名無しさん
06/08/22 18:08:58
>>121
確かにそこを正確に説明しないと伝わらない
127:116
06/08/22 18:35:21
>117
是非に、詳しい具体策をお教え下さい!
>120
コードを書き直して、Int→CIntにもしましたが、同じ数が表示されて思うようにはなりませんでした…
3、a,bが同じ数であった場合のみ、再度、自動的に選び直させてLabel2,Label3に表示させる。
というのは、単に、結果としてLabel2とLabel3に表示されている数が異なれば良いんです。助けてください…
128:デフォルトの名無しさん
06/08/22 19:39:21
>>127
>>101では駄目なの?
129:116
06/08/22 19:45:42
>118
忘れてました…
ちゃんと違う値になる事の方が多いですが、デバックモードはコンピュータがあらゆる場合を試そうと判断しているのか、数回繰り返しているだけで2数が一致したりします(一致するのは1/52の確率です)。
130:デフォルトの名無しさん
06/08/22 19:52:29
「はぁ~ プップクプ~ッ ♪」
∧_∧ ∧_∧ ∧_∧
(・ ε ・) (・ ε ・) (・ ε ・)
⊂ つ ⊂ つ ⊂ つ
(_)`J (_)`J (_)`J
「やれ プップクプ~ ♪」
∧_∧ .∧_∧ ∧_∧
∩ ・ε・ ∩ ∩ ・ε・ ∩ ∩ ・ε・∩
〉 ノ 〉 ノ 〉 ノ
し´ (_) し´ (_) し´ (_)
「 アキヒロ~音頭で プップクプーの プ♪」
∧_∧ ∧_∧ ∧_∧
(・ ε ・) (・ ε ・) (・ ε ・)
⊂ つ ⊂ つ ⊂ つ
(_)`J (_)`J (_)`J
131:デフォルトの名無しさん
06/08/22 20:33:37
>>116
>>a,bの値が変わってないと仰るのも、どうしてであるのか
aとbは値型でしょ?
参照型ではないから
>>Do
>> Label2.Text = Int((52 * Rnd()) + 1)
>> Label3.Text = Int((52 * Rnd()) + 1)
>>Loop Until a <> b
これでは、Label2.TextとLabel3.Textの値は変わるけどaとbの値に変動はないんだから、永遠ループに入ると思うんだが。
132:116,127
06/08/22 21:11:22
>128
>101でもダメでした…
>131
Do
Label2.Text = Int((52 * Rnd()) + 1)
Label3.Text = Int((52 * Rnd()) + 1)
a=Val(Label2.Text)
b=Val(Label3.Text)
Loop Until a <> b
もしくは
Do
Label2.Text = Int((52 * Rnd()) + 1)
Label3.Text = Int((52 * Rnd()) + 1)
a=Str(Label2.Text)
b=Str(Label3.Text)
Loop Until a <> b
としてみます。
ありがとうございます!
133:デフォルトの名無しさん
06/08/22 21:27:46
それよりも、何でラベルのテキストを変更してからそれを変数に取ろうとするの?
普通変数に受けてそれをコントロールに落とそうとしない?
オレはコントロールはあくまで人間とのインターフェースだと思ってるけどな
134:デフォルトの名無しさん
06/08/22 21:36:29
それよりも彼の場合まずロジックを考えられるようになる方が先決。
135:デフォルトの名無しさん
06/08/22 21:48:05
ちょっとした疑問なんだが、
>>Do
>>Label2.Text = Int((52 * Rnd()) + 1)
>>Label3.Text = Int((52 * Rnd()) + 1)
>>a=Str(Label2.Text)
>>b=Str(Label3.Text)
>>Loop Until a <> b
タイマーで乱数まわす意味あるのか?
シード設定もしてないようだし。
136:デフォルトの名無しさん
06/08/22 22:07:42
そもそも>>120でやっても
>>127
> コードを書き直して、Int→CIntにもしましたが、同じ数が表示されて思うようにはなりませんでした…
と、「同じ数が表示された」ってことなんだから、何か根本的に間違ってる/理解していないと思う。
137:89
06/08/22 22:26:52
>>120
button2押しても止まらないときがあるような・・・
>>135
スロットっぽくしたいんじゃないの?
ちなみに俺が言いたかったのは、Timer1_Tickで
Do
a = CInt((52 * Rnd()) + 1)
b = CInt((52 * Rnd()) + 1)
Loop Until a <> b
Label1.Text = a
Label2.Text = b
まぁ、選びなおしは停止するタイミングでやった方がいいかもね
138:デフォルトの名無しさん
06/08/22 22:54:52
>>137
「同じだったら止まらない」仕様通りでは?
139:デフォルトの名無しさん
06/08/23 00:04:39
なあ、俺の思い違いだったらいいんだが。
スロットって回転してる間は、別に表示してる値の評価なんてしなく
てもいいんでないか? ストップボタンを押した時に、初めて表示さ
れてる値を比べて、当たり外れを付けるもんだろ?
140:デフォルトの名無しさん
06/08/23 00:06:05
誰が比較して当たり外れを付けろと
141:デフォルトの名無しさん
06/08/23 00:17:12
例え確立やタイミング的に大丈夫でもTimer内でLoopは嫌だな。俺は。
それはさておき、
> まぁ、選びなおしは停止するタイミングでやった方がいいかもね
を考えてと、質問者のやり方に近い作りにすると、たったこんだけ。効率とか他の仕様とかコーディングポリシーとかは無視して。
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
hoge()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Me.Timer1.Enabled = True
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Me.Timer1.Enabled = False
Do Until Me.Label1.Text <> Me.Label2.Text
hoge()
Loop
End Sub
Private Sub hoge()
Me.Label1.Text = CInt((52 * Rnd()) - 1)
Me.Label2.Text = CInt((52 * Rnd()) - 1)
End Sub
要は質問の仕方の悪さで長引いただけだと。
142:デフォルトの名無しさん
06/08/23 00:52:40
ここは
値型と参照型
値の代入と参照の代入
の区別がつかないヒドイ言語ですね
どうしてこのような言語仕様になっているか
エロイ人教えてください。
143:デフォルトの名無しさん
06/08/23 01:06:29
何処の受け売り?
144:デフォルトの名無しさん
06/08/23 01:22:48
>>142
またC++の悪口か
145:デフォルトの名無しさん
06/08/23 01:36:58
ところでスロットを作りたいのでなければ何を作りたかったのだろうか
146:デフォルトの名無しさん
06/08/23 08:30:41
> スロットを作りたいのでなければ
同じ数値を排除したいって言ってるので最初っからスロットなんて考えられないのに。
147:デフォルトの名無しさん
06/08/23 09:41:41
>>84でスロットという言葉が出ているんで仕方ないんでないか?
148:デフォルトの名無しさん
06/08/23 10:23:10
絶対に当たらないスロットを作って稼ごうとしたのでは
149:デフォルトの名無しさん
06/08/23 10:59:17
Datagridviewをコード内で作成したDataTableにバインドして利用しようとしています。
データを表示するまでは可能なのですが、DataTableにデータを追加してもDatagridviewが更新されないで
表示が固まってしまいます。再描画?か何かが必要なのだと想像するのですが、分かりませんでした。
InvokeとかBackgroundworksなどを使うと良いとはあったのですが、理解できませんでした。
どのように処理すれば良いのでしょうか?よろしくお願いします。
(こんな感じのコード)
Dim ds as Dataset
Dim dt as Datatable
Dim bind1 As BindingSource
Sub form1_load() Handles MyBase.Load
ds.Tables.Add(dt)
dt.Columns.Add("column1", GetType(String))
(以下略)
bind1.DataSource = dt
Datagridview1.DataSource = bind1
End Sub
Sub test()
Dim Row as DataRow
Row = dt.NewRow
Row(0) = "a"
Row(1) = "b"
dt.Rows.Add(Row)
End Sub
150:デフォルトの名無しさん
06/08/23 11:50:22
テキストファイル読み込みは
textfieldparserとstreamreaderどっちを使ったらいいの?
151:デフォルトの名無しさん
06/08/23 12:35:59
読んで字の如く
152:デフォルトの名無しさん
06/08/23 12:55:37
>>150
中身による。
153:デフォルトの名無しさん
06/08/23 16:40:42
>>151-152
textfieldparser
テキストの分野の解析?
streamreader
流れながら読む?
csvとかにはtextfieldparserで
通常はstreamreaderってことですかね
154:デフォルトの名無しさん
06/08/23 17:00:05
>>153
>>2
MSDN
URLリンク(msdn2.microsoft.com)
textfieldparser
>構造化テキスト ファイルの解析に使用するメソッドとプロパティを提供します。
streamreader
>特定のエンコーディングのバイト ストリームを読み込む TextReader を実装します。
とりあえず、読んだ方がよいかと。
155:デフォルトの名無しさん
06/08/23 21:38:07
Do-Loopキモイ。
156:デフォルトの名無しさん
06/08/23 21:42:09
乗り遅れ突っ込みもキモイ
157:デフォルトの名無しさん
06/08/23 23:33:27
うそつきはDoLoopのはじまり
158:デフォルトの名無しさん
06/08/24 08:10:35
>>154
おお、ありがとう。
159:デフォルトの名無しさん
06/08/24 09:19:11
最近はMSDNすら見ないのか・・・・・
160:デフォルトの名無しさん
06/08/24 11:32:50
ここの議論はいつも Do Do めぐり。
161:デフォルトの名無しさん
06/08/24 17:51:13
URLリンク(homepage1.nifty.com)
ここ見ながら勉強してるんだけど、
graphicsで描写したものを消すにはどうしたらいいの?
一度最小化するとかってのは無しで・・・。
162:デフォルトの名無しさん
06/08/24 17:56:05
無限ループしたらパソコン壊れますか?
163:デフォルトの名無しさん
06/08/24 18:41:08
デルノートなら爆発もありうるな
164:デフォルトの名無しさん
06/08/24 19:05:46
>>161
Invalidate
165:デフォルトの名無しさん
06/08/24 21:06:59
VB2005の解説サイトで良いところありませんか?
Cなんかは簡単に見つかりましたが、
VBではテンプレみてもどれがいいのか、
何を書いているのかほとんどわかりません。
>>161みたいなものがいいのですが、
あまり体系立った説明がされていない
(後回し後回しで要点がつかみ難い)
のでわかりにくいです。
具体例を用いてあると尚良いのですがどこかありませんか。
166:デフォルトの名無しさん
06/08/24 21:23:36
>>165
>>3-5
167:デフォルトの名無しさん
06/08/24 21:49:23
テンプレみてもどれがいいのか
何が書いてあるのかほとんどわかりません…
ある程度基本が身に付いた人であれば
知りたい情報はどこにあるか見当もつけられると思うのですが
現時点では>>3-5のサイト一通り巡回してもわけがわかりませんでした。
あと、関係ないのも多数混じっていませんか?
168:デフォルトの名無しさん
06/08/24 21:55:17
>>164
さんくす。でも具体的な使い方はどうやればいいの?
MSDNで検索したけどワカラン
たとえば
ボタン1をクリックしたらピクチャーボックス1に黒い円が浮かび上がって
ボタン2をクリックしたらその円が消えるようなプログラムは
どうする?
169:デフォルトの名無しさん
06/08/24 22:11:53
>>168
背景色で塗りつぶしたらよかんべえ
170:デフォルトの名無しさん
06/08/24 22:13:46
>>167
「あまり体系立った説明がされていない」なんてえらそうなこと言う
前に、まずどこでもいいからひとつでも全部通して読むべきだよ。い
まの「どこがわからないのかわからない」状態から脱したいならね。
171:デフォルトの名無しさん
06/08/24 22:16:16
だるまの目を塗りつぶしたいんだけど、
背景色で塗りつぶすとだるまも消えちゃう・・・。
だるまも再表示するようにしても、うまくいかないのよー
172:161・168・171
06/08/24 22:19:12
↑は>>169宛です
173:デフォルトの名無しさん
06/08/24 22:20:00
>>167
体系立った説明が欲しいなら、仕様書。これ。
URLリンク(msdn.microsoft.com)
>>171
逆に考えるんだ
描画したものを消すと考えるんじゃない
描画したものの上から黒眼/白眼を書けばいいと考えるんだ
174:デフォルトの名無しさん
06/08/24 22:36:10
>>173
ありがと。考え方は理解できた。
でもだるまの目の部分よりも、塗りつぶす黒目が大きい場合はどうしたらいいの?
175:デフォルトの名無しさん
06/08/25 01:17:25
buttonの名前をいじってて
cancelbuttonにしたらエラーが多発してデザイン画面が出てこなくなった・・・。
いったん他の名前に変えて難を逃れたんだけど、
もともとのデザイン画面がでてこない・・・。
表示タブのデザインっていうの選んだらデザインタブでてくるよね?
再起動してもでてくるよね?
・・・出てこない。
・・・オワタ?
176:デフォルトの名無しさん
06/08/25 02:01:48
自分でデザイン部分のソース修正。
177:デフォルトの名無しさん
06/08/25 02:11:22
>>175
CancelButtonとかAcceptButtonは地雷。つかプロパティ名とかぶるのでそういうことになるよ。
フォーム名.Designer.vbをごりごり修正。
178:デフォルトの名無しさん
06/08/25 08:38:42
FlexGridで処理後に次の行特定の列を選択した状態にしたいのですが、
選択するとそこがboolreanで勝手にチェックがはいってしまいます。
FlexGrid.cols(4).type=boolrean
FlexGrid.select(3,4)
初歩的だと思いますが何か設定があるのでしょうか?
179:デフォルトの名無しさん
06/08/25 09:18:23
boolrean
180:デフォルトの名無しさん
06/08/25 12:10:23
DataGridViewの中にコンボボックスをいれたいんだけどどうすんの?
181:デフォルトの名無しさん
06/08/25 12:33:00
いれればいいじゃん
182:デフォルトの名無しさん
06/08/25 14:45:26
それがわからんのです(´;ω;`)ブワッ
183:デフォルトの名無しさん
06/08/25 14:54:09
DataGridViewの、コンボボックスにしたい列をコンボボックスにしてあげればいいと思うよ。
184:デフォルトの名無しさん
06/08/25 15:03:14
そのままやんけ!って思ったけどそのままやったんですね。
できました。どうもありがとうございます。<(_ _)>
185:178
06/08/25 18:36:20
自分で解決できました。
ただ単にarrolweding=falseにするだけでした。
186:デフォルトの名無しさん
06/08/25 20:29:54
arrolweding
187:チョ初心者
06/08/25 21:02:24
クラスにテキストボックスそのものを渡して
キーコードに応じて処理をしてテキストボックスの中身を変えて戻す
そうゆうのって問題なしですか?
188:デフォルトの名無しさん
06/08/25 21:35:09
それにキモさを覚えなければ問題ないが、
それにキモさを覚えないのには問題があるな
189:デフォルトの名無しさん
06/08/25 21:42:37
>>187
そうしたい理由や手順をフローにして書いてみそ。
もっと洗練されたやり方があるかもしれない。
190:デフォルトの名無しさん
06/08/25 22:46:28
助けてください。いろいろ調べたのですが、うまく出来ません。
参照の循環する依存関係で苦しんでます。
同じソリューションの別プロジェクトの画面遷移をしたいです。
スタートアップのA画面からB画面へ、そしてB画面からA画面へ
戻る遷移になります。つまり、相互遷移です。
B画面が開いたら、A画面は閉じるのが条件です。
で、双方のプロジェクトに参照設定を試みました。
下記の図です。
ソーリューション
|
|-プロジェクトA
参照設定(FormB.dll)
FormA
|-プロジェクトB
参照設定(FormA.dll)
FormB
当然ながら、循環参照でエラーとなります。
基礎的な事でしょうが、
まだ、開発経験が浅く、どう調べていいかがわかりません。
ヒントなりもといただきたいと考えております。
よろしくお願いします。
191:デフォルトの名無しさん
06/08/25 22:53:26
流れを管理するプロジェクト C を作って、C が AB を参照。
AB は他は気にせず自分の事だけやればよい。
192:190です。
06/08/25 22:54:28
書き残しました。
共通部分をクラスライブラリとして括り出して、それを参照する
とういう方法論までは、わかったのですが、
そこから先がわかりません。
下の図のように、新プロジェクトを作成し、
そこで、イスタンス化を計ったのですが、
やはり、循環参照でエラーになります。
ソーリューション
|
|-新プロジェクト
参照設定(FormA.dll,FormB.dll)
classA
|
|-プロジェクトA
参照設定(classA.dll)
FormA
|-プロジェクトB
参照設定(classA.dll)
FormB
193:デフォルトの名無しさん
06/08/26 01:00:09
っていうか、プロジェクトとか、クラスライブラリを参照するってことの意味を
何か勘違いしているような。。
いやそれ以前にクラスって概念からしてわかってないんじゃねえの?
フォームなんてハリボテに過ぎないもの、推移とかいったって所詮
表示したり消したりするだけのことなのに、いちいち画面ごとにプロジェクト分ける気か?
194:187
06/08/26 03:12:35
>>189
遅くなりましたが…
理由は入力チェックをクラスで纏めたい為です。
・エスケープなら指定オブジェクトへフォーカスを移す。
・リターンなら種類によってコードチェック
次のオブジェクトにフォーカスを移す。
・入力ミスならエラー表示をする。
と、そんな感じにしたいのですが
フォーカス指定と入力テキストボックスで3つもオブジェクトを渡すのってマズいのかな…と
先生方、もっとカコイイやり方があれば是非ご教授下さい
始めたばかりで、クラスとかもよく分かってないですが…(つД`)
195:デフォルトの名無しさん
06/08/26 03:27:21
>>194
単にチェック&エラー表示したいだけならErrorProviderがお手軽だけど。
196:デフォルトの名無しさん
06/08/26 03:57:15
過去に既出であったり、王道があれば教えてください。
WMPのように、多重起動せず受け取ったコマンドラインを
すでに起動している同じソフトに送信するのに
・APIのSendMessage GetMessege
・APIのSetProp GetProp
・127.0.0.1でSOCKET
・変数のポインタをどっかのファイルに書き込むorレジストリでそこを読んで 改変
・特定のファイルorレジストリでそこを監視
・.net新規のものでもっといいのあるよ~
受け渡しは前述の通り、文字列だけです。
使用バージョンは VB.net 2005です。
これらの中で”一般的にはこれ”等あればご教授お願いします。
197:デフォルトの名無しさん
06/08/26 05:27:20
>>196
プロジェクト-プロパティ-アプリケーション「単一インスタンスのアプリケーションを作成する」。VB専用。
名前つきMutex(System.Threading.Mutex)を使う。C#でも可能、データの受け渡しは不可。
198:デフォルトの名無しさん
06/08/26 05:30:58
>>196
あとは、.NETリモート処理を使う方法もあるが、実例はあまり見たことがない。
.NET 2.0で追加されたIpcChannelが9x系ではエラーになるなど問題が多い。
199:デフォルトの名無しさん
06/08/26 07:42:50
Formにスナップ機能?winampのように他のウィンドウや画面の端にくっついたりするにはどうすればいいですか?
教えてください。お願いします。
200:190です。
06/08/26 11:55:03
>>193
すいません、正直、あまり、わかっていません。
動きは全て、仕様です。
Formの開閉時に、DBに接続して、Select,Update,Insertを
行う仕様になってます。
201:デフォルトの名無しさん
06/08/26 12:02:46
>>197-198
どうもありがとうございます。
単一インスタンスにすると2重起動時、
Loadなりなんなりで
後から起動したほうを終了して、
普通に宣言してある変数の内容を書き換えるだけで
すでに起動していた側からその変数を見たら変更されてて
この目的なら万事おk ってことですよね?
とりあえず試してくるw
202:デフォルトの名無しさん
06/08/26 12:11:29
そんなことしなくても後から起動されたほうは勝手に終了する。
先に起動してた方のMy.Application.StartupNextInstance イベントのパラメータに
後から起動したコマンドラインが渡されるので後はお好きなように。
つーかMSDN嫁。
203:デフォルトの名無しさん
06/08/26 12:17:23
>>202
そんな楽にできるのかw
MSDNじっくり読んできます~
マジありがとう。
204:デフォルトの名無しさん
06/08/26 12:20:32
>>200
>>191さんが書いてるのは仕様に外れるからダメってことか?
205:149
06/08/26 12:33:16
その後色々と調べたところ、同じ症状の対策がでてました。
DataGridViewのスクロールバーがおかしくなる
URLリンク(dobon.net)
delegate void DataTableAddRowCallback(DataTable dt, DataRow dr);
private void DataTableAddRow(DataTable dt, DataRow dr)
{
if (dataGridView.InvokeRequired)
{
DataTableAddRowCallback d = new DataTableAddRowCallback(DataTableAddRow);
Invoke(d, new object[] { dt, dr});
}
else
{
dt.Rows.Add(dr);
}
}
//別スレッドから
DataTableAddRow(dataSet.Tables["TableName"], dataRow);
で、解決するらしいのですがC#はさっぱりで、VBに書き換えも撃沈しました。
どなたか、教えていただけないでしょうか。よろしくお願いします。
206:デフォルトの名無しさん
06/08/26 12:40:25
>>195 遅くなりましたが、有り難う御座いました
こんな見易い便利なの物があるんですねーー
初めてみました(´Д`)
複数コード入力した後の最終チェックなんかに使ってみたいです
とはいえ、やはりコード入力がものすんごいあるので
フォームでのコード入力のところをごっそり省きたい……
やはり、オブジェクト渡してやっちまいまつ(゚∀。)
207:デフォルトの名無しさん
06/08/26 12:47:17
>>205
>>149のコードを見る限りDataRowへのデータの追加を
別スレッドでやってるようには見えないんだが、そこんとこはどうなの?
同一スレッドでやってるんならリンク先の対策は役に立たないと思うが。
208:149
06/08/26 13:06:25
>>207
すいません、そうでした。現在のソースはこのような感じです。仮想モードは使っていません。
Dim ds as Dataset
Dim dt as Datatable
Dim bind1 As BindingSource
Friend WithEvents Bg_main As System.ComponentModel.BackgroundWorker
Sub form1_load() Handles MyBase.Load
ds.Tables.Add(dt)
dt.Columns.Add("column1", GetType(String))
(以下略)
bind1.DataSource = dt
Datagridview1.DataSource = bind1
Bg_main.RunWorkerAsync() '別スレッドへ
End Sub
Sub Bg_main_DoWork() Handles Bg_main.DoWork
Row = dt.NewRow
Row(0) = "a"
Row(1) = "b"
dt.Rows.Add(Row)
End Sub
Bg_main.RunWorkerCompleted で追加を検出してMe.Refreshでも固まってしまいます。DataGridViewで何かイベントがいるのかな。
209:デフォルトの名無しさん
06/08/26 13:13:30
>>208
順序がおかしいな。
別スレッドで DataSet/DataTable にデータを突っ込む>元スレッドで DataSource に設定
だ。
> DoWork イベント ハンドラでユーザー インターフェイス オブジェクトを操作しないように注意する必要があります
と MSDN にあるが、 DataSource に設定済みの DataSet/DataTable への操作も UI の操作に当たる。
210:149
06/08/26 13:35:50
>>209
レスありがとうございます。
頻繁に書き換えがあるので、左記にDataSourceを割り当てているのです。
実際には、スレッドは沢山あって、それぞれにDataDableを更新しています。
その更新結果を、DataGridViewにリアルタイムで表示しているのですが、スクロールバーが出ると固まってしまいます。
MSDNにはUIを操作するなと書いてあるのは知ってますが、リアルタイムでデータが流れてくるので、別スレッドに流し込まない
と処理が間に合わないのが現状でして。
表示自体は、RunWorkerCompletedにMe.Refresh()を入れれば改善はされるのですが、やはり触ると固まってしまいます。
そこで、色々調べたら>>205の症状と似ていたので。
205のソースは、いろいろと変更して入れて見る努力はしたのですが、そもそも知識不足で理解できませんでした。
211:デフォルトの名無しさん
06/08/26 13:50:50
だったらこんなところに質問している間に理解しようとすればいいのに。
この人に限らないけど、ダメな奴っていうのは基本的に努力の方向が間違ってるよ。
212:149
06/08/26 13:55:24
>>211
C#のヘルプとか見ながら色々と試行錯誤しているんですけど、なかなか上手くいかなくて。。。。
213:デフォルトの名無しさん
06/08/26 14:06:52
いや、だからたぶんデリゲートとかスレッドがよく分からんのでしょ?
だったらまずそれを理解しろよ。でなきゃ埒があかん。小学生でもわかる理屈。
@ITとかCodeZineに解説あるし、別にたいして難しいもんじゃない。
214:デフォルトの名無しさん
06/08/26 14:15:37
> スレッドは沢山あって、それぞれにDataDableを更新しています。
ってアンタ……
なんか色々絶望的だな
215:149
06/08/26 16:32:56
Invokeを使ってもやっぱりかたまる。DataGridViewのイベント関係なのかも。
Delegate Sub DataTableAddRowCallback(ByVal dt As DataTable, ByVal dt_row As DataRow)
Public Class Form1
>>208と一緒
Public Sub DataTableAddRow(ByVal dt As DataTable, ByVal dt_row As DataRow)
If DataGridView1.InvokeRequired Then
Dim d As DataTableAddRowCallback
d = New DataTableAddRowCallback(AddressOf DataTableAddRow)
Me.Invoke(d, New Object() {dt, dt_row})
Else
dt.Rows.Add(dt_row)
End If
End Sub
Sub Bg_main_DoWork() Handles Bg_main.DoWork
Row = dt_temp.NewRow
Row(0) = "a"
Row(1) = "b"
DataTableAddRow(dt, Row)
End Sub
End Class
216:デフォルトの名無しさん
06/08/26 19:00:19
ダメグラマが「固まる」って言葉が好きなのは法則か何かかねw
ダメグラマはなんでダメなくせになんでいきなり全部を完成させようとするんだろう。
そのくせ問題が起こると、「問題の切り分け」すらしようともせず、
全然見当違いのことを問題の原因だと思い込む。
もちろん彼はシンプルなコードを書いて、本当に彼が思っていることが
問題の原因なのか、確認しようともしない。
217:デフォルトの名無しさん
06/08/27 00:42:02
510 :ワールド名無しサテライト:2006/08/26(土) 09:43:50.46 ID:8fm3vXed
「やっぱりVBが悪いんじゃないか。VBなんて」
「いいえ。全ては使い方しだい。私たちがVBの本当の使い方を見せてあげますわ。」
218:デフォルトの名無しさん
06/08/27 13:02:03
スマートクライアント(リッチクライアント)についてサンプルが載ってる
本でいいのって無いですかね?
219:デフォルトの名無しさん
06/08/27 15:42:58
ネットで見つからなければ本も期待できないと思ったほうがいい
220:デフォルトの名無しさん
06/08/27 18:49:09
そっか、したら、もう少しネット浮浪者でがんばってみる。
221:デフォルトの名無しさん
06/08/28 01:05:59
>>215
同じインスタンスなら、Invokeなんてまったく意味ない。
単にロジックがおかしいんだと思うけど、
ソースコピって一からデバッグしてくれる親切な人なんていないんだからさ、
もうちょっと、的を絞って質問できないか?
あとデータ量が多いならMSDN読んで作り直したほうがいいかもしれない。
222:デフォルトの名無しさん
06/08/28 02:02:42
>同じインスタンスなら、Invokeなんてまったく意味ない。
( ゚д゚)
( ゚д゚ )
223:デフォルトの名無しさん
06/08/28 02:15:54
こっちみんな
224:デフォルトの名無しさん
06/08/28 05:08:38
みんな~こっちこっち~
225:デフォルトの名無しさん
06/08/28 16:07:38
VB.NET2003でTabControlついてですが
デフォルトでは標準コントロールらしく味がありません。
これはデザインを変更することは可能ですか?
226:デフォルトの名無しさん
06/08/28 16:47:53
継承して頑張ってみれば?
227:デフォルトの名無しさん
06/08/28 19:18:30
>>225
つ VB2005
話はそれからだ。
228:デフォルトの名無しさん
06/08/28 20:39:13
>>227
2005のはどんな感じですか?
229:デフォルトの名無しさん
06/08/28 22:24:41
私VB.NETの初心者です。
CopyMemory
の使い方が分からなくて、たまたま見つけた
URLリンク(www.winapi-database.com)
の例
Declare Sub CopyMemory Lib "kernel32.dll" Alias "RtlMoveMemory" _
(Destination As Integer, Source As Integer, ByVal Length As Integer)
を試したらエラーしたので、二行目を適当に変更して
(ByVal Destination As IntPtr, ByVal Source As String, ByVal Length As Integer)
としたら無事動きました。
動いたのはいいのですが、これでいいのかどうかよく分かりません。
適当に勘で置き換えただけです。
それで質問なのですが、私が行った操作は、VBでは何という分野ですか?
こういうことに関してより詳しくなるためには、私は何を勉強すればいいでしょうか?
よろしく。
230:デフォルトの名無しさん
06/08/28 23:00:01
>>229
自学して理解できない人が触ったらだめだよ。そういうAPIは。
つりじゃなくまじめに。
子供には早いって奴。
231:デフォルトの名無しさん
06/08/28 23:34:36
>>229
P/Invokeだけど、
本当にCopyMemoryする必要があるの?
ライブラリ内で完結できるなら初学の頃はフレームワークの外にでるべきじゃない
232:132:乱数君
06/08/28 23:57:56
やっと時間を持てるようになり、皆さんのご意見を参考にさせていただいて、まずは、タイマーを外しまして(出来れば、タイマーを使ってスロットのようにしたかったのですが、背に腹は代えられません)、思うような成果が得られました。
ただ、以下のコードをButton1_Clickに記入しているにもかかわらず、
Do
Label3.Text = Int((52 * Rnd()) + 1)
h = Val(Label2.Text)
i = Val(Label3.Text)
Loop Until h <> i
何のコードも記入していないはずのButton2をクリックした時に、上記のイベントが起きます。(Button1をクリックした時には何も起きません。)
これは何故なのでしょうか…?
233:デフォルトの名無しさん
06/08/29 00:14:13
それは霊のしわざです
234:デフォルトの名無しさん
06/08/29 00:30:26
>>232
半年くらいコーディングやめてバカンスにでも行ってきたら?
つーか何で>>141とかでダメなのかと。
235:デフォルトの名無しさん
06/08/29 11:08:42
夏休みの宿題なんじゃねーの?
236:232
06/08/29 12:02:00
>234
Private Sub 『hoge』
というツール?がよくわからなかったので、参照が出来ませんでした…
>235
リミットはありませんが、何とか時間のある夏のうちに完成させておきたいんです。
237:デフォルトの名無しさん
06/08/29 12:15:31
>>236
> Private Sub 『hoge』
> というツール?がよくわからなかったので、参照が出来ませんでした…
これが仮に「釣り」ではなく真面目な回答なら、煽りでも何でもなく真面目な助言なんだが、
初心者向けの書籍を最低一冊は自分で購入して学習ないといけない。
238:デフォルトの名無しさん
06/08/29 12:17:45
>>236
どうやら Handles の意味も調べなおしといたほうがよさそうだな・・・
239:デフォルトの名無しさん
06/08/29 12:21:26
> Private Sub 『hoge』
> というツール?がよくわからなかったので、参照が出来ませんでした…
この時点でスルー決定でおk?
240:デフォルトの名無しさん
06/08/29 13:09:49
ワロタ
241:236
06/08/29 13:57:31
私は.NETしか使用した事がありませんから、>141に使われている言語全体が、私が使用しているものと違い、何の本を参考にしていいのかもわかりません。
少なくとも、『学生のためのVisual Basic .NET』(東京電機大学出版局)には、件のワードは載っていないと思われます。
どうかお知恵をお貸し下さい…
242:デフォルトの名無しさん
06/08/29 13:58:36
これは・・・
243:デフォルトの名無しさん
06/08/29 14:08:28
クマー
244:デフォルトの名無しさん
06/08/29 14:09:25
>>241
URLリンク(bookweb.kinokuniya.co.jp)
これか?
第6章に書いてないか?
"hoge"は命名の例え。"baka"でも何でも自分で付けるもの。
(各自コーディング規約に則っての修飾等は置いておいて)
普通はその自分で作った関数の機能がわかるように命名する。
関数に名前を付け、中身も(この例だとRnd()のある2行)記述し、使いたい各所でその名前にて呼び出す。
Private, PublicやSub, Functionについても第6章に書いてあると思われ。
君はその本を読んだのかもしれないが、理解も習得もしていないし断片を記憶に留めることもしていない。
245:デフォルトの名無しさん
06/08/29 14:11:56
>>241
目次で見る分には十分そうな気もするんだが。
URLリンク(www.tdupress.jp)
このあたりからやってみたらどうだろう?
URLリンク(www.seshop.com)
あと、>>141のコードを丸ごと動かしてみてトレースしてみたら?
246:デフォルトの名無しさん
06/08/29 14:16:56
> >141に使われている言語全体が、私が使用しているものと違い
この時点でスルー決定でおk?
247:デフォルトの名無しさん
06/08/29 14:20:43
foo() や bar() 関数(api?)をよく見るのですが、
どのリファレンスにも載っていません。
どうもいろいろな言語に共通しているようですが、
いったいどういう動作をするのでしょうか。教えてください。
248:デフォルトの名無しさん
06/08/29 18:42:43
また人に教えを垂れたい「答えたがりクン」と、友達がいないからこんなところでも
馴れ合いたい「馴れ合いクン」が湧いてくるんだろw
馬鹿なことだよな。
こういう奴らはどっちかというと本来質問する側にまわるヘッポコ野郎のくせに、
自分で自分の利用可能なリソースを破壊してることにも気づかないんだから。
こんな下らん馴れ合いが続けば、ある程度スキルがあるまともな奴から去っていくだろ。
249:デフォルトの名無しさん
06/08/29 19:17:46
本人乙
250:241
06/08/29 20:07:47
>244>245
>141のコードを記述してみると、確かに、うまく動作していました。プロシージャの項目と言わず、もっと精進していくつもりです。大変にお騒がせしました。ありがとうございます。
>248
きっと、ある程度スキルがある人の事は、ある程度スキルがある人にしかわかりません。揣摩臆測でしょう。
251:デフォルトの名無しさん
06/08/29 20:51:28
>>232
貴方のいうButton1_Click は、別にどんな名前でもいい。これは解るかな?
そして、好きなイベントをHandleできるということも解るかな?
コレが解ればなぜButton2をクリックしてButton1_Click が動くのかは理解できるだろう。
252:232
06/08/29 21:05:36
>251
ありがとうございます。今はわかりませんが、精進してわかり得るように努めます。
253:デフォルトの名無しさん
06/08/29 21:14:10
精進する気がある奴ならそんな程度の質問などしないはずだがね。
まあ人事だからどうでもいいけど。
ただ鬱陶しいから二度と来ないでは欲しい。
254:デフォルトの名無しさん
06/08/29 21:18:23
多重起動時のウィンドウ制御について教えてください。
アプリを多重起動させようとしたときに、
既に同じアプリが動いてれば、何もさせずに、
起動済みのインスタンスをアクティブにして、
2つ目に起動したインスタンスは何もせずに終了させるという
ロジックを組もうとしています。
インスタンスが起動済みかどうかは Process.GetProcessesByName
などを使って判別することができ、
1つ目のインスタンスにPostMessageでWM_USERを送り、
自分自身でアクティブ化させるという方法をとったのですが、
問題なのは、このアプリが最小化されたときは、タスクバーから消して、
トレイに格納するようにしていることです。
タスクバーから、ウィンドウを消してしまうと、
たとえアプリが起動していても、2つ目のインスタンスから、
1つ目のインスタンスのMainWindowHandleを取得しようとしても
0しか返って来なくなるようで、PostMessageが使えない状態です。
2つ目のインスタンスに何かメッセージを送る方法はないでしょうか?
255:デフォルトの名無しさん
06/08/29 21:36:33
>>254
単一インスタンスのアプリケーションを作成 ではだめなん?
だめだよね…
256:デフォルトの名無しさん
06/08/29 21:49:12
>>254
>>196以降のレスは読んでる?
つーか同一人物か?
257:デフォルトの名無しさん
06/08/29 22:06:28
Do-Loopキモイ。
258:デフォルトの名無しさん
06/08/29 22:22:26
.NETのdatagridviewに、VB6のmsflexgridでいう
margeColやmargeRowみたいな機能はありますか?
探すのですが、みつからない…Orz
259:デフォルトの名無しさん
06/08/29 22:27:16
ない
260:デフォルトの名無しさん
06/08/29 22:43:15
>>259
お答え有り難う御座いました
無いのですか…orz
編集とか出来るようなので、ないような予感はしてましたが…
(つД`)あぁ
261:254
06/08/29 23:13:32
>>255
単一でもアクティブにならないとダメなんで・・・
>>256
すみません、見逃していました
IpcChannelってのが使えそうなのでとりあえず試してみます。
262:デフォルトの名無しさん
06/08/30 00:38:03
DataGridViewに50列1万件程度のレコードを仮想モードで表示させています。
この状態で、画面をスクロールさせたり、複数セルを選択するたびに、
かなり画面がちらついてしまいます。
この現象を回避する良い方法はないでしょうか?
263:デフォルトの名無しさん
06/08/30 00:49:36
>>262
50万セルは大杉
DataGridViewに限らずもうすこし現実的な仕様を考えたほうがいい
普通にそれだけあったら絞るか分割するだろう。
50列も一度に見渡すよりも必要な列だけ見れたほうが扱いやすい事もある。
行の場合も必要な範囲をさくさく見れるほうが便利な事もある。
少なくとも1万行全部を見渡す必要なんて無いと思うが・・・
生データをただ丸ごと全部並んでればいいってもんじゃないだろお。
どうすれば最も扱いやすくなるかを考えなさい。
264:デフォルトの名無しさん
06/08/31 10:59:36
UIの仕様に話が変わってるなw
265:デフォルトの名無しさん
06/08/31 11:04:53
OS:Windows2000
言語:VB.NET(2003)
現在、CSVファイルとPDFファイルをそれぞれ暗号化し
メールで送信後、送信先で復号化して保存する
アプリケーションを作成しています。
そこで、
URLリンク(dobon.net)
を元に、暗号化と復号化機能を作成しました。
CSVファイルの暗号化、復号化は問題なく出来たのですが
PDFファイルを同じように暗号化し、復号化すると
復号化した後のPDFファイルを開くと
「この文章を開くときエラーが発生しました。
ファイルが壊れています。修復できませんでした。」
とメッセージが表示されうまく復号化出来ませんでした。
私なりに調べてみたのですが、どう解決すればよいかわかりませんでした。
どなたか、実装例や参考アドレスなどでも結構などで教えていただけないでしょうか?
266:デフォルトの名無しさん
06/08/31 11:07:55
マルチ乙
267:デフォルトの名無しさん
06/08/31 11:09:32
よくわからんが、それ対象がテキスト以外でも大丈夫なんか?
268:デフォルトの名無しさん
06/08/31 11:45:26
DecryptFileを下のやつに置き換えてないとか
269:デフォルトの名無しさん
06/08/31 12:27:28
OS:WindowsXP
言語:VB.NET(2003)
外部端子からの映像入力をリアルタイムでフォーム上に表示することって出来ますか?
出来ればやり方教えてください。
270:デフォルトの名無しさん
06/08/31 12:29:00
外部端子てなによ。キャプチャカード?
271:デフォルトの名無しさん
06/08/31 18:36:57
開発言語:VB.NET(Windowsアプリケーション)
:SPREAD Windows FORM Edition
現在 VB.NETでフォーム上にSPREADを配置した
アプリケーションを開発しています。
そのスプレッド上の特定のセルに
フォーカスが当たった時、喪失した時に、
IMEの「全角あ」「半角ア」の制御を行いたいのですが、
なかなか実現できずに困っています。
どなたか同様の案件を実現された方がいらっしゃれば、
教えていただけないでしょうか?
よろしくお願いします。
272:デフォルトの名無しさん
06/08/31 21:08:27
パブリックな標準モジュールとクラスの差異ってばなんですか?????
273:デフォルトの名無しさん
06/08/31 21:13:13
今からVBを始めようと思っている超初心者です。
今日、PC屋に行ってVisual Basicを買おうと思ってみていたら、
Win2000とXPに対応していないものしか売っていませんでした。
Meに入るVBはどこで入手したらいいのでしょうか・・・・・・
274:デフォルトの名無しさん
06/08/31 22:41:19
>>272
たくさんあって書き切れない
>>273
VS買う金があるならOS買ってVB Express Edition使っとけ
いやまじで。
275:273
06/09/01 00:26:27
>>274
回答サンクスです
マジですか。。。
確かにVBに限らずいろんなソフトがxp/2000専用になってますもんね・・・(VB体験版もMe入らないみたいだし・・)
ありがとうございます。
xp検討してみます。
276:デフォルトの名無しさん
06/09/01 20:27:13
項目内容が同じdatatable1とdatatable2の両方を
datatable3に入れたいのですが可能ですか?
277:デフォルトの名無しさん
06/09/01 20:34:24
追記
1列ずつnewとaddで追加する方法以外で
無理ですか…?
278:デフォルトの名無しさん
06/09/01 21:54:01
insert into datatable3 select * from datatable1
insert into datatable3 select * from datatable2
279:278
06/09/01 21:55:23
あ、RDBじゃないのか。すまん。
280:デフォルトの名無しさん
06/09/02 00:26:12
>>276
最初にDataTable1の複製を作って、そこにDataSet.Mergeメソッド
で2の内容をくっつけるのはどうだろう?
URLリンク(msdn2.microsoft.com)
281:ぼよん
06/09/02 02:58:31
アニーメーションGIFを出力する方法ってご存知ありませんか?
標準のライブラリでできるのでしょうか?
282:デフォルトの名無しさん
06/09/02 03:21:05
どこに出力すんだ
283:デフォルトの名無しさん
06/09/02 06:16:04
VB.NET 2005 で
マルチスレッドWindowsサービスの
プログラムを作成しようとしているのですが
手持ちの本がサービスとスレッド関係の情報が
少ししか載っておりません。
先輩方で良い本をご存知の片がいらっしゃいましたら
教えて頂けませんでしょうか?
284:276
06/09/02 12:25:57
>>278 280 有り難う御座いました
思った感じに出来ましたーー
285:デフォルトの名無しさん
06/09/02 12:33:37
つーかそれ、VB.NETじゃなくてSQLの質問…
286:デフォルトの名無しさん
06/09/02 13:00:22
いえいえ、たぶんVB.NETで間違いないです
変数名 AS datatable
の関連です
親FILEと子FILEがあり
datatableへそれぞれdatatable1とdatatable2に入れてまとめた後、
ビューでソートしたものをdatagridviewに渡すべきか
rowをaddでゴリゴリ追加すべきか、悩むところです
(´Д`)
287:デフォルトの名無しさん
06/09/02 13:17:56
アフォの子は退場
288:デフォルトの名無しさん
06/09/02 13:59:54
もすかすて、SQLになるんですか…
まだVB.NET2005を触り初めて数日で
正直よくわかってません…orz
289:デフォルトの名無しさん
06/09/02 14:03:14
Mergeでいいやん
290:デフォルトの名無しさん
06/09/03 13:23:31
すいません、質問なんですが。
デバッグモードでプログラムを実行中に無限ループに陥ってしまった場合、
現在どのステートメントを実行しているか知る方法ってありますか?
VBというよりデバッガの質問になってしまっていますが、もしよろしければ
教えていただけないでしょうか。
291:デフォルトの名無しさん
06/09/03 13:39:28
妖しそうなコードの手前にブレークポイント置いてステップ実行。
292:デフォルトの名無しさん
06/09/03 15:46:44
大文字小文字を区別しないIndexOfって無いんでしょうか・・・
調べ方が悪いのかなorz
293:デフォルトの名無しさん
06/09/03 16:26:55
.NET 2.0/VB2005 なら String.IndexOf にオーバーロードがあるが、
それ以前なら Regex.Match でも使ってれば。
294:デフォルトの名無しさん
06/09/03 17:44:35
>>292
string.IndexOf(String, StringComparison)
string.ToLower.IndexOf(string)
string.ToUpper.IndexOf(string)
295:デフォルトの名無しさん
06/09/03 17:47:41
下の2つ、
比較先もToLower()/ToUpper()しなきゃだめじゃね?
296:デフォルトの名無しさん
06/09/03 19:18:24
日曜プログラマなんだけどVB.NETはgoto文使えないの?
VBはお気楽に使えるのがいいのにな
297:デフォルトの名無しさん
06/09/03 20:31:05
なんでお気楽に書くためにgotoが要るのか分からない。
てか使えるだろ別に。
298:デフォルトの名無しさん
06/09/03 21:03:43
On Error Gotoの替わりはtry catchだよ。
299:デフォルトの名無しさん
06/09/03 21:05:29
そういや普通のgotoって残ってたっけ?
300:デフォルトの名無しさん
06/09/03 21:13:17
プロジェクトウインドウのツールボックスのように、画面の隅にひっこめたり
表示したりするコントロールはなんて名前ですか
301:デフォルトの名無しさん
06/09/03 21:52:42
>>299
残ってる。ループ構文のネストから脱出する場合のGO TOは禁じてではない。
302:デフォルトの名無しさん
06/09/03 21:59:01
>>301
まあそもそも深いところからの脱出が必要なネスト構造自体禁じたいもんではあるな
303:デフォルトの名無しさん
06/09/03 22:06:07
VBの場合whileの2階層離脱は出来たりする。
Do While ...
While ...
Exit Do
End Wend
Loop
304:デフォルトの名無しさん
06/09/03 23:19:35
.NETでCABファイルを作成しWEBサーバに配置。
ASPを実行して、objectタグでクライアントにダウンロード
し実行しようとしています。
ここで、CABはダウンロードされ、DOWNLOADED PROGRAM FILESに
表示はされますが、状態が「不明」となり、レジストリ登録されず
、実行することができません。
.NETモジュールとASPに記述したクラスIDは同期がとれています。
VB6.0で作成したCABは問題なく使用できたのですが・・・
同様の経験のかたいらしたら、ご教授ください。
305:デフォルトの名無しさん
06/09/03 23:25:49
Do-Loopキモイ
306:デフォルトの名無しさん
06/09/04 09:18:53
>>302
お前さんは簡単なプログラムしか作ったことが無いのか?
多重ループ構造なんて良くあることだし、
途中で結果が出たら無駄にループせずに脱出したほうがいいに決まってる。
>>303
go to はともかく
Doイベントは、もはや使うべきではない。
>>304
同様の経験もなにも、意味不明。
まずは、どこに問題があるのかを自分で特定しなさい。
特定できたらそこに絞って質問してくれ。
答えようが無い。
307:デフォルトの名無しさん
06/09/04 09:34:40
問題も何も、普通1行目の前半の問題である可能性を一番に疑うし。
308:デフォルトの名無しさん
06/09/04 09:42:00
> Doイベント
ってw
309:デフォルトの名無しさん
06/09/04 09:45:34
> 途中で結果が出たら無駄にループせずに脱出したほうがいいに決まってる。
多重ループはよくあるが、gotoで脱出しなくても綺麗な流れで抜けられるようなロジックにするよな普通。
310:デフォルトの名無しさん
06/09/04 09:51:47
まぁ、何だ。>>306みたいな素人程、複雑怪奇なコードを書いて
「難しいプログラムだぜ」と自己満足に浸るもんだしな。
311:デフォルトの名無しさん
06/09/04 10:05:39
exit for とかで抜けれるならいいけど多重構造によってはgotoもありじゃね?C言語全盛期じゃあるまいし
「綺麗な流れ」とか、芸術性で物作ってるわけじゃないけどgoto使ったほうが綺麗になる場合もある。
何もかもgotoだと気持ち悪いけどね。
312:デフォルトの名無しさん
06/09/04 10:17:02
gotoで見通しが格段に良くなる場合だけだな。使うのは。
313:デフォルトの名無しさん
06/09/04 10:24:23
>>306
go to は良くて Do Loop が良くない理由を教えてください
314:デフォルトの名無しさん
06/09/04 10:50:49
お世話になります。
現在VS2003 .NET Framework1.1にて開発を行っています。
DataGridの行追加が許可されている状態で
一番下の行(全項目が空白の行)をctrl+cでコピーをしようとすると
IndexOutOfRangeExceptionが発生してしまいます。
これは、DataGridの一番下の行に値が入力されるまでは
関連付けられているDataTableに新規行が追加されていない為だと思うんですが、
どうしたらこのエラーを回避する事が出来るのでしょうか?
315:デフォルトの名無しさん
06/09/04 14:05:02
DataGridでデータ追加をするってこと自体がヤバいと思う。
単票フォームを別に作って、そこから一件づつ追加するような遷移に
すれば? 入力データのエラーチェックもその場で可能だし。
Gridは一覧表示とまとめて削除くらいに特化して、追加編集は別フォ
ームにて確認しながら行うのがいいかと。
316:デフォルトの名無しさん
06/09/04 19:22:51
>>307-310
ヴ ォ ケ
317:デフォルトの名無しさん
06/09/04 20:29:17
見事な敗北宣言だな 実に美しい
318:デフォルトの名無しさん
06/09/04 20:31:25
何か叫んで走って逃げてったな。>>316
319:デフォルトの名無しさん
06/09/05 02:30:21
ガキばっかりだな。
勝敗競うスレでもなければ、技術自慢するスレでもない。
おとなしくスルーしろよ。
320:デフォルトの名無しさん
06/09/05 06:42:31
モマエモナー
321:デフォルトの名無しさん
06/09/05 10:21:50
オマエモナー(=゚ω゚)つ)゚∀゚)グァ
322:デフォルトの名無しさん
06/09/05 14:20:56
HashtableのValueにデータ型(System.Int16やSystem.Object)を入れたいんだけど、入れる方法ってあります?
323:デフォルトの名無しさん
06/09/05 14:27:54
(゚д゚)ハァ?
324:322
06/09/05 15:34:11
判りにくかったようなので、再度書きます
Dim hash As Hashtable
hash.Add(1, System.Int64)
↑のような事をやりたいのですが、コンパイルエラーになります。
System.Int64を入れるやり方ってありますか?
325:デフォルトの名無しさん
06/09/05 15:55:57
GetType(System.Int64)
326:デフォルトの名無しさん
06/09/05 22:15:43
それが分からんやつにTypeを入れる方法を教えても
Typeの使い方が分からんから、どうにもならないよ。
327:178
06/09/06 08:25:15
Datasetで同じスキーマ情報のdatatableにデータをコピーする
場合ってどうするんですか?
dim A as dataset.mmtable
dim B as dataset.mmtable
Adapter.Fill(A)
B=A ←こんなことがしたい。
328:デフォルトの名無しさん
06/09/06 08:54:26
>>327
URLリンク(msdn2.microsoft.com)
329:322
06/09/06 09:21:47
>>325
出来ました、ありがとう御座います
330:デフォルトの名無しさん
06/09/06 09:38:03
VS2003 .NET Framework1.1で開発しています。
PictureBoxにTIFファイルを表示させるプログラムを開発しています。
TIFファイルには1つのファイルに複数の画像を格納できるので、
そのページ数と表示倍率、画像の回転率を指定し、画像を表示させています。
テストを行っている時に気づいたのですが、
2ページ目以降で倍率100%、回転率180度の時に
なぜか1ページ目の画像が表示されてしまいます。
表示倍率や回転率を変えると
ちゃんと指定したページの画像が表示されます。
これは一体なぜなのでしょうか?
331:322
06/09/06 09:53:00
Dim hash As new Hashtable
dim object1 as object
dim object2 as object
hash.Add(1, GetType( System.Int64 ) ' ←ここはこれで行けました。
object2 = CType( object1 , hash(1) ) ' ←ここがいけません。
object2 = CType( object1 , GetType( hash(1) ) ) ' ←これもだめです。
Ctypeの第2引数にHashtableに入っているTypeを入れたいのですが、どうすればいいですか?
332:330
06/09/06 10:05:40
以下がそのプログラムの抜粋です。
長いので分割します。
Private Sub pctPreview_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles pctPreview.Paint
Dim g As Graphics
Dim img As Image
Dim fd As FrameDimension
Try
sngZoomNum = intZoomNum / 100 'ここで倍率指定
g = e.Graphics
g.InterpolationMode = _
System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic
img = Image.FromFile(strFilePath)
'FrameDimensionを取得
fd = New FrameDimension(img.FrameDimensionsList(0))
'フレームを選択
img.SelectActiveFrame(fd, intPageNum) 'ここでページ数指定
333:330
06/09/06 10:09:34
'画像を表示(回転率ごとに変更)
Select Case sngRotate
Case 0
sender.Size = New System.Drawing.Size(sngZoomNum * img.Width, sngZoomNum * img.Height)
Case 90
sender.Size = New System.Drawing.Size(sngZoomNum * img.Height, sngZoomNum * img.Width)
g.TranslateTransform(sngZoomNum * img.Height, 0)
Case 180
sender.Size = New System.Drawing.Size(sngZoomNum * img.Width, sngZoomNum * img.Height)
g.TranslateTransform(sngZoomNum * img.Width, sngZoomNum * img.Height)
Case 270
sender.Size = New System.Drawing.Size(sngZoomNum * img.Height, sngZoomNum * img.Width)
g.TranslateTransform(0, sngZoomNum * img.Width)
End Select
'画像の傾き指定
g.RotateTransform(sngRotate)
g.DrawImage(img, 0, 0, sngZoomNum * img.Width, sngZoomNum * img.Height)
img.Dispose()
Catch ex As Exception
throw ex
End Try
End Sub
以上です。
どうぞよろしくお願いします。
334:デフォルトの名無しさん
06/09/06 10:39:39
>>331
無理
335:デフォルトの名無しさん
06/09/06 12:09:24
>>330
VB2005だけどやってみたら確かにそうなった。
原因はわからない(GDI+のバグ?)けどDrawImageするときに
Dim img2 As Bitmap = New Bitmap(img)
g.DrawImage(img2, 0, 0, sngZoomNum * img.Width, sngZoomNum * img.Height)
img2.Dispose()
としたらちゃんと描画されたので試してみて。
336:330
06/09/06 13:13:41
>>335
どうもありがとうございます。
教えていただいたコードを実装してみたところ、
正常に動作する事を確認しました。
自分もGDI+のバグかと思ったんですが、
それらしい記述が見当たらずに困っていました。
本当にどうもありがとうございました。
337:デフォルトの名無しさん
06/09/06 13:19:09
ListViewでヘッダをクリックでソートする事は許可しつつ、ヘッダをドラッグでサイズ変更はされたくないのですが、
これって出来ますか?
338:デフォルトの名無しさん
06/09/06 14:15:32
>>337
C#だけどこんなのがある。VBでやりたければ翻訳して。
URLリンク(hongliang.seesaa.net)
339:337
06/09/06 16:30:56
>>338
ありがとう、出来ました^^
340:デフォルトの名無しさん
06/09/06 22:26:18
>>328
ご丁寧にありがとうございました。
助かりました。
341:デフォルトの名無しさん
06/09/07 11:57:28
リストボックスの垂直スクロールバーを非表示にして、
なおかつ矢印キーでのスクロールは可能な状態に
したいのですが、出来ますでしょうか?
342:デフォルトの名無しさん
06/09/07 20:59:06
singletonパターンを使用しているクラス(newがprivate)をxmlでデシリアライズすると、
publicなコンストラクタが無いからだめと怒られてしまいます。
SoapFormatterを使用すれば出来る事は知っているのですが、SoapFormatterで作ったファイルは見にくいので、
XmlSerializerでやりたいと思っています。
対応策やアドバイスお願いします。
343:342
06/09/07 21:26:02
↑は取り消します。すみません。
SoapFormatterで作ったファイルが汚いのはシリアライズ時のファイルモードがCreateで無かったからです、すみません。
344:デフォルトの名無しさん
06/09/08 00:11:48
変換ウィザードでVB.NET(2002)のプロジェクトを2005に変換したんですが
コードの表示やビルドは成功するのに、デザインで開けないフォームがあります。
「クラスが登録されていません」
場所 System.Windows.Forms ・・・
のような表示が出るのですが
System.Windows.Formsを参照させても解消しません。
ご存知の方がいらっしゃいましたらアドバイスをお願いいたします。
345:デフォルトの名無しさん
06/09/08 00:45:19
ググレよ池沼
URLリンク(www.google.com)
346:デフォルトの名無しさん
06/09/08 00:53:17
変換ウィザードはぜんぜん使い物にならないってこと。
フォームは新規作成、コードはコピペでちょっとずつ確認しながら
やったほうがいいよ。
347:デフォルトの名無しさん
06/09/08 17:22:55
環境はVisual Studio 2003、.Net FrameWork1.1です。
GetLogicalDrivesを使ってコンボボックスに
ドライブ名の一覧を表示させたいのですが、
試した限りではネットワークドライブに関しては
一度Windows上でそのドライブにアクセスしないと
ドライブ名が取得できないようなのです。
ネットワークドライブにアクセスしないで
ドライブ名の取得をする事は出来ないのでしょうか?
348:デフォルトの名無しさん
06/09/08 19:27:47
VB.Netをやってる 鬱だ 鬱だ 鬱だー
349:デフォルトの名無しさん
06/09/09 19:16:34
VB.NETについて質問があります。
VB.NET STANDARDをインストールしています。
必須コンポーネントインストールで
Visual Studio .NET Prerequisites ディスクを入れると
以下のようなメッセージが出てしまいます。
コマンドラインパラメータ:
/V パラメータを MsiExec.exe へ送る
/S 初期化ダイアログを非表示。サイレント モード用: /S /v/qn.
/P パスワード モード
/A 管理インストール
/J アドバタイズモード
/X アンインストール モード
/UA<InstMsiA.exe の URL>
/UW<InstMsiW.exe の URL>
/B キャッシュのローカル インストール
これから先へは進むことが出来ません。
どのようなことが考えられるでしょうか。
350:デフォルトの名無しさん
06/09/10 10:35:07
VB.NETは日曜プログラマーも多いが、それ以上に日曜なしプログラマーが多い。
おまいら見積もり尼杉。
351:デフォルトの名無しさん
06/09/10 10:42:39
VB.NET2003からHTTPでレガシーASPのサイトにファイルを
アップロードしたいのですが、HTMLで以下のような形で
ファイルを送信するのと同じ処理をVB.NETのWindowsアプリから
やりたいのですが、よいサンプルが見つからず悩んでおります。
どなたかご存知の方がおられましたら教えてください。
よろしくお願いします。
<form action="hoge.asp" enctype="multipart/form-data">
<input name="File" type="file">
</form>
352:351
06/09/10 13:03:11
すみません。事故解決しました。
353:デフォルトの名無しさん
06/09/10 14:01:33
「'''」と入力してエンター押すと、勝手にメソッドのコメントの枠組みを
作ってくれるソフトの名前を知ってる方いらっしゃいませんか?
354:デフォルトの名無しさん
06/09/10 14:04:39
VB2005
355:デフォルトの名無しさん
06/09/10 15:36:37
>>354
2005では標準で付いてたんですね・・・すみません。ありがとうございました。
356:デフォルトの名無しさん
06/09/11 06:57:59
>>353
VBCommenter
357:347
06/09/11 09:45:36
どなたかわかりませんでしょうか?
358:デフォルトの名無しさん
06/09/11 10:11:18
>>357
A:\からZ:\までDirectory.Existで存在確かめたらいいんじゃね?
359:デフォルトの名無しさん
06/09/11 11:11:33
.NETの2003 WEBアプリケーションにおいて
「テキストボックスがフォーカス状態になったらリストボックスの可視をTrueにする」
といったような内容のIF文を記述したいのですが
どういった記述になるのでしょうか?
どなたかご教授ください、お願いいたします。
360:デフォルトの名無しさん
06/09/11 11:16:33
>>359
visble = falseじゃフォーカス取れなくね?
361:デフォルトの名無しさん
06/09/11 11:19:41
>>360
そうなんですよ・・・
一体どうすればいいのやら・・・何かよい方法ご存じないですか?
362:デフォルトの名無しさん
06/09/11 11:26:08
>>361
textBoxの上にパネルでも乗っけて隠して、
textBox.Enterでパネル.visible = false
textBox.Leaveでパネル.visible = true
みたいな感じでどうか
363:デフォルトの名無しさん
06/09/11 11:34:22
>>362
その「.enter」についてですが普通に記述するだけではなく
何か定義(準備?)のようなものが必要なのでしょうか?
以前 別のサイトで似たような記述を発見したので試したのですが
その部分がうまくいかなかったものでして・・・
364:デフォルトの名無しさん
06/09/11 11:55:58
イベントを学べ
365:デフォルトの名無しさん
06/09/11 13:33:35
すいません質問です。
文字列のソート・・例えば「あえいうお」を「あいうえお」
にする簡単な方法ありますでしょうか?
よろしくお願いします。
366:デフォルトの名無しさん
06/09/11 13:35:49
>>365
ORDER BY
367:デフォルトの名無しさん
06/09/11 13:51:48
>>365
Dim s As String = "あえいうお"
Dim c() As Char = s.ToCharArray()
Array.Sort(c)
s = New String(c)
368:365
06/09/11 14:03:08
!!
ありごとうございました!!
369:デフォルトの名無しさん
06/09/11 14:21:46
そのお礼が366宛てだったら笑えるなw
370:デフォルトの名無しさん
06/09/11 14:28:15
>>369
すまん今日一番ワロタ
371:365
06/09/11 15:33:13
何度もすいません。
例えば「abcABC」を「ABCabc」ではなく「aAbBcC」と並び替えるには、
どうすればいいでしょうか?
宜しくおねがいします。
372:デフォルトの名無しさん
06/09/11 15:35:58
>>371
ORDER BY
373:デフォルトの名無しさん
06/09/11 18:43:03
>>371
Public Class MyCompare : Implements IComparer(Of Char)
Public Function Compare(ByVal x As Char, ByVal y As Char) As Integer Implements IComparer(Of Char).Compare
Dim xLow As Char = Char.ToLower(x)
Dim yLow As Char = Char.ToLower(y)
If xLow = yLow Then
Return -x.CompareTo(y)
End If
Return xLow.CompareTo(yLow)
End Function
End Class
Array.Sort(c) の代わりに Array.Sort(c, New MyCompare())
374:デフォルトの名無しさん
06/09/12 00:08:39
なんでそんな面倒なことしてんだ?
375:デフォルトの名無しさん
06/09/12 00:18:57
簡単にやる方法をよろしく
376:デフォルトの名無しさん
06/09/12 00:36:43
どぼんとかのサンプルのクラスをコピペして"Windows フォーム デザイナで生成されたコード"を
直接直した(例えばnew DataGridをnew DataGridExにするとかした)時に、そのままデザインビューが
表示出来る場合もあれば、タスクにエラーが山程出てデザインビューでDataGrigが全く表示されず
コードがボコボコ消えて当然デバッグしてもマトモに動かない場合がありますが、やはり直接修正は
しちゃいかんのでしょうか?
(フォームのLoadに書けばいいのかな)
377:デフォルトの名無しさん
06/09/12 01:05:55
DataGridExとやらのクラスがきちんと定義されてれば可。
存在しないクラス名にしたらエラーが出るのは当たり前
ようするに分かってないうちはデザイン部は触るなってこった。
まあ触って学ぶってのもありだけど。
378:デフォルトの名無しさん
06/09/12 02:06:44
StringComparer.CurrentCultureIgnoreCase とか、元から使えるやつあるやん。
379:デフォルトの名無しさん
06/09/12 02:09:23
おっと、もし2.0じゃないならCaseInsensitiveComparer.Defaultとか。
380:デフォルトの名無しさん
06/09/12 02:17:32
>>379
それで書いてみろよ
381:デフォルトの名無しさん
06/09/12 02:23:16
??
Array.Sort(c, New MyCompare())
↓
Array.Sort(c, CaseInsensitiveComparer.Default)
ってことじゃなくて??
なんか勘違いしとる俺?
382:デフォルトの名無しさん
06/09/12 02:52:02
おおっ勘違いしとったわwwすまんすまん。
383:デフォルトの名無しさん
06/09/12 13:01:37
>>377
いやもちろんクラスはあるんだわ
でないと絶対動かんし
要はただ起動しただけで動いたり動かなかったりするのは何でなんだろ?と
(動かない時ってのはコードがごっそり無くなって結果まともに動作しなくなる)
もう一つ、DataGridなんだけど、行ヘッダクリックすれば複数行選択出来るけど、
セルからme.select(row)みたいにすると、CtrlやShift押しててもその都度選択が解除されて
新規選択になっちゃいますよね
あれを回避する方法は無いでしょか?
(要はアクセスのリストボックスの複数選択モードみたいにしたいんです)
384:383
06/09/12 15:26:23
自己解決
カレントセルの列を-1にしてselectすれば出来た
shiftの時は前回の選択行からfor-nextで回してやればOK
385:デフォルトの名無しさん
06/09/12 20:49:08
VB2003にて質問です。
現在MDIアプリを作成中なのですが
子Formを2つ作成しActiveな子Formを切り替えた際に
切り替えたFormのActiveControlのValidatingが起きなくなりました。
子Form内の別のControlにFocusを移すと動作はもとに戻るのですが
なぜこのような動作するかが不明です。
どなたか教えていただけないでしょか?
またFocusを移動させる事なくValidatingをハンドルできるようにする方法も合わせてよろしく
お願いします。
386:デフォルトの名無しさん
06/09/12 22:00:47
不明も糞もそれがWindowsのGUIの仕様というかお作法でしょう。
387:デフォルトの名無しさん
06/09/12 22:50:48
イベントでやらずに、自分で任意のタイミングでやればいいじゃん。
イベントの発生タイミングは>>386のとおりなんだから。
388:デフォルトの名無しさん
06/09/13 11:43:45
VB.NET2005の正規表現について質問です。
時間に対して正当性のチェックをしたいと思っています。
許す文字列の例
0:00 0:0 12:00 12:59 23:0 23:59
許さない文字列の例
0:000 12:61 122:00 24:00
これをやろうと思い以下のようにやりましたが、だめでした。
dim pt as string = "([0-1]{,1}[0-9]|2[0-4]):([0-5][0-9]|[0-9])$"
dim time as string = ""'これはいろいろな時間の文字列
If Not Regex.IsMatch(value, pField.mPatternString) Then
Throw New Exception("パターンに一致しません。")
End If
正規表現に問題が有るようなので、ご指導お願いします。
389:388
06/09/13 11:56:03
自己解決
^([0-1]?[0-9]|[2][0-3]):[0-5]?[0-9]$
ハットを入れないとだめでした
390:デフォルトの名無しさん
06/09/13 14:06:27
VB.net2003で質問です。
フォームのActiveControlプロパティが変更された時に起きるイベントは無いでしょうか?
フォーカスが移る度に起きるイベントをフォーム側に組み込もうと考えています。
391:デフォルトの名無しさん
06/09/13 18:29:10
VB.NET2003です。
最大化されたForm1からForm2を下記のようにダイアログとして
呼び出しました。
Dim DialogForm As New Form2
DialogForm.ShowDialog()
この時、Form2は最小化できてもForm1が最小化できない状態に
なるのですが、最小化できるようにする手段はありますか?
392:デフォルトの名無しさん
06/09/13 18:31:47
ShowDialogはモーダルですよ
Showを使えばいいけどモーダルじゃなくなりますよ
393:デフォルトの名無しさん
06/09/13 18:38:43
うーん、打つ手なさそうですか。
とはいえForm2はモードレスにすると色々と不都合が出るし…。
ともかく、ありがとうございました。
394:デフォルトの名無しさん
06/09/13 20:51:55
>>393
なんつーか思い込みが激しすぎるというか、頭が硬すぎないか?
Form2をモーダルで表示することには目的があるはずだが、
その目的を達成する手段はForm2をモーダルにする以外にいくらでもあるんじゃないの?
例えばForm1のコントロールを全部Enabled = Falseにするとか。(フォームは自分の
コントロールのコレクションを持ってるから簡単にできる)
あるいはForm2が表示されているときにForm1がアクティブになったらForm2.BringToFront
するようにしといて、Form2側にForm1を最小化するためのボタンを付けるとか。
395:デフォルトの名無しさん
06/09/13 20:52:54
まぁ、仕様(目的)をはっきりさせろっちゅうことだな
396:akl
06/09/13 23:49:17
今 VB.NETで開発してるんだけど、 それを J# とか java の.NET 語の変換(コンバート)
したいのだけど、 VB.NET から C# とかは 結構あるんだけど、 javaは無料で コンバートできる
とこ(サイトか ソフト) ないかなぁ?
397:デフォルトの名無しさん
06/09/13 23:57:24
日本語でおk
398:デフォルトの名無しさん
06/09/14 06:36:08
>>393
なるほどな。
いわゆる操作性の悪いソフトって、こうやって作られていくんだろう。
アプリ特有の動作とか操作体系は気持ち悪いと思うのは俺だけか?
一般的なアプリと一貫性のある動作でシンプルに動くほうが直感的にわかりやすいだろうに。
399:デフォルトの名無しさん
06/09/14 06:46:43
>>396
VBの開発なら、J#に変換する必要なし。そのままお続けください。
J#の開発でVBのソースを移植あるいは流用したいなら、J#のとこ行って聞きなさい。
400:デフォルトの名無しさん
06/09/14 08:24:19
>>398
一般論としては同意するけど>>391の言うことも理解できるところがあるよ。
モーダルダイアログだすと元のウィンドウは移動も最小化もできず、これが
非常に鬱陶しい仕様だと思うことはある。
Windowsの操作にあまり慣れてないユーザーは特にそう感じるらしい。
(デスクトップ上のマイドキュメントをクリックしたいのにできない!みたいな感じw)
401:デフォルトの名無しさん
06/09/14 08:42:04
>>400
なら、別の方法を手動で操作をすればいいのでは?
AddOwnedForm辺りを使って。
402:デフォルトの名無しさん
06/09/14 10:04:47
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim DialogForm As New Form2
DialogForm.ParentForm = Me
DialogForm.ShowDialog()
End Sub
[Form2]
Private Sub Form2_Resize(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Resize
Me.ParentForm.Visible = Not (Me.WindowState = FormWindowState.Minimized)
End Sub
と、最小化の際にForm1を非表示にすることで対処しました。
403:デフォルトの名無しさん
06/09/14 10:52:53
あ、名前入れ忘れ。>>402=>>391です。
404:デフォルトの名無しさん
06/09/14 17:24:50
PDAとActiveSyncをゲスト接続してファイルをコピーする場合
PDA本体内フォルダのパスをどう指定していいかわかりません
誰かわかる人がいたら教えてください。
405:デフォルトの名無しさん
06/09/14 21:34:51
モーダルなのに他の窓を弄れるとかさぁ、独自仕様は不気味じゃない?
しかも非表示状態とか・・・正直ありえん。
そんな変な仕様が必要な理由は何?
406:デフォルトの名無しさん
06/09/14 22:39:33
arrayListに数値ばかりをデータベースからセットして同じのはListから省きたいのだけど
いい関数ないかな・・。
407:デフォルトの名無しさん
06/09/14 22:51:07
DBから読み込む時にDISTINCTを使えばいいじゃん。
408:デフォルトの名無しさん
06/09/14 22:59:20
>>405
最近この手の馬鹿増えたよな。
ちょっと前の話題をすぐに忘れて、何度でも同じ疑問を提示して
話を延々飽きずにループさせる奴
お前さんは鶏頭かw
409:デフォルトの名無しさん
06/09/14 23:02:42
DISTINCTって集約する値のみselect文に追加できるんですよね・・。
(当たり前か・・)
違うフィールドも参照したいのです。
そういうときって入れ子みたいにするんですかね・・・
select 登録月 from 利用テーブル Where ID=A in
(select * from 利用テーブル Where 住所 = "東京")
こんな感じかな・・・。
410:デフォルトの名無しさん
06/09/14 23:06:23
間違えた
Select DISTINCT 登録月 from 利用テーブル Where ID = A
IN (select * from 利用テーブル Where 住所 = "東京")
411:デフォルトの名無しさん
06/09/14 23:09:21
間違えた逆か・・・
select * from 利用テーブル Where 登録月 IN
(Select DISTINCT 登録月 from 利用テーブル Where ID = A)
こんな感じですかね・・・。
412:デフォルトの名無しさん
06/09/14 23:53:20
どうでもいいけどVB.NETと何の関係が。
413:デフォルトの名無しさん
06/09/15 00:07:20
>>411
わざわざ副問い合わせしなくても、住所="東京" AND ID="A"を抽出
条件にしたらあかんの?
414:デフォルトの名無しさん
06/09/15 07:02:06
>>413
それじゃあ抽出内容が変わってしまうと思います。
>>412
初めはDataset(またはdatagrid)とかでやれないかと思ったのですが、
SQLでできるなら関係なかったです。すみません・・・。
415:デフォルトの名無しさん
06/09/15 08:17:08
何がやりたいのかしらないけど、同じテーブルを2度も読む必要なんてないよ
416:デフォルトの名無しさん
06/09/15 09:18:04
>>414
>>それじゃあ抽出内容が変わってしまうと思います。
どう変わるのか具体的に説明してくれないか?
417:デフォルトの名無しさん
06/09/15 10:32:34
414は、まともな質問もできないくせに自論を展開して自己解決。
人の話なんて最初から聞くつもりないんだよ。
「登録月」って時点で、今年のことしか考えてないダメ設計なDBかもしれないし。
418:デフォルトの名無しさん
06/09/15 12:02:54
間違いなくSQL素人だし
419:デフォルトの名無しさん
06/09/15 23:06:20
いやね、プログラムの中でも特にSQLは、あんたがやりたいことをきちんと日本語で説明しろと。
プログラムだと、Windowsの用語とか、プログラムの技量があるから若干難しいけど。
データをどのように集計したり抽出したいか、日本語で相手に伝わらないようなことを、SQLなんかにできっこないじゃん。w
420:デフォルトの名無しさん
06/09/16 10:26:48
ここっていつみても答えるほうがバカだなw
421:デフォルトの名無しさん
06/09/16 12:06:27
聞くほうもバカだからな。
422:デフォルトの名無しさん
06/09/16 12:22:54
>>420
>414乙
423:デフォルトの名無しさん
06/09/16 19:40:56
#Region ディレクティブはファイルを開いたときに折りたたまれていますが
マウスを使わずに一気に開くとか規定値を開いた状態にするとか出来ますか?
#Region をやたらと使っているプログラムがあってソースファイルを開くと
折りたたまれたRegionが5~10個くらい表示されているだけで
いちいちマウスでクリックして開かないといけないので鬱陶しくてかなわん。orz
424:デフォルトの名無しさん
06/09/16 19:53:07
どっちもできたはず。
425:デフォルトの名無しさん
06/09/16 20:32:51
キーボードショートカット使えよ
そんなのいちいちマウスでやってたら腱鞘炎になっちゃうよw
426:デフォルトの名無しさん
06/09/16 21:52:06
>>423
開いてるソースのほうがうっとうしいと思うが。
綺麗に関数化されていて、それが綺麗にRegionでまとまってれば、そんなに開くことが無い。
コントロールから作ったイベント関数とかが逆にうざい。
人がせっかくきれいにRegionわけしてるのに、かってに最後に追加しやがる。
427:デフォルトの名無しさん
06/09/17 00:35:17
>>425
キーボードからRegionの折りたたみを開けましたっけ?
>>426
本人は綺麗にRegion化しているつもりだろうけど他人から見たらオレオレRegionです。
折りたたみなんてウザイだけ。
RegionなんてFormのところだけで十分。
428:デフォルトの名無しさん
06/09/17 01:26:11
///のコメントだけ展開してくれる機能とかあったらいいのに。
429:デフォルトの名無しさん
06/09/17 01:39:49
>>425
あー、おれも知りたい。
あとコメント付けたり外したりするショートカットもあればいいなぁ。
430:デフォルトの名無しさん
06/09/17 01:58:37
知りたいも何も、自分で設定しろよ
431:デフォルトの名無しさん
06/09/17 04:13:37
c-ml(c-lmだったかも)
c-kc
c-ku
てか調べろよ。
432:デフォルトの名無しさん
06/09/17 12:06:07
>>429
URLリンク(msdn2.microsoft.com)
キーボードのスキームをVB6にしてると微妙に違うかもね。
433:デフォルトの名無しさん
06/09/17 13:57:31
>>432
おお、さんくす。
使いそうなのを印刷して貼っておくよ。
434:デフォルトの名無しさん
06/09/17 22:37:54
パスワードの条件がアルファベットと数字の混合である基本的な
フォームを作りたいんですが、IsLetterOrDegitを使わずに作る
にはどうしたらいいでしょうか。Select Caseで作れないでしょうか。
435:デフォルトの名無しさん
06/09/17 22:59:42
>>434
プログラミング以前にまず正しい日本語をマスターすべきじゃないかと思うよ。
436:デフォルトの名無しさん
06/09/17 23:00:24
>>434
もっと詳しく「何がやりたいのか」を書いてくれ。
おまいさんの言う「フォーム」の意味もわからん。
437:デフォルトの名無しさん
06/09/17 23:25:50
>>436
テキストボックスにパスワードを入力させる際に、
数字のみ、もしくは英語のみではエラーになる仕組みの
簡単なアプリケーションが作りたいんです。
そのエラー判定をどうしたらいいか悩んでるんです。
438:デフォルトの名無しさん
06/09/17 23:27:32
そんなロジックのことで悩んで人に聞く程度ならやめちまえ、と思う。
439:デフォルトの名無しさん
06/09/17 23:44:20
MaskedTextBox
440:デフォルトの名無しさん
06/09/17 23:50:31
>>439
ありがとうございます。
でも、書式・形式じゃなくて
判定方法が知りたいんです。
441:デフォルトの名無しさん
06/09/17 23:59:40
1文字づつ見て数字と英字の数を数えりゃいいだろ
442:デフォルトの名無しさん
06/09/18 00:02:52
こういう人ってプログラムすることって何だと思ってるんだろう・・・。
せめて入門書は1冊、最近だとネットで入門サイトあるんだから@ITとか見ればいいじゃん。
443:デフォルトの名無しさん
06/09/18 00:04:43
>>440
この機会に正規表現を使ってみるのがいいと思うよ。
テンプレの「いきましょ」と「@IT」に分かりやすい解説がある
444:デフォルトの名無しさん
06/09/18 00:06:18
>>440
select passwd
case "A"
case "AA"
case "AAA"
中略
case "AAB"
case "AAC"
1~10文字くらいでエラーになる文字列を全てCASE文で
並べれば出来るだろう。
正しい文字列をCASE文で並べて、それ以外をエラーにしても良いと思う。
445:デフォルトの名無しさん
06/09/18 00:08:33
>>444
それだ!
446:デフォルトの名無しさん
06/09/18 00:10:07
>>444
おまいノーベル賞並みの天才だな
447:デフォルトの名無しさん
06/09/18 00:19:12
皆さんありがとうございます。
>>444
実は
Case "a" To "z", "A" To "Z"
hasAlpha = True
Case "0" To "9"
hasNum = True
で
If hasAlpha = True And hasNum = True
Okメッセージ
これでやってるんですが、うまくいかないんです。
448:デフォルトの名無しさん
06/09/18 00:21:19
まず、どうやったら良いかを考える前に、
それの何がいけないのか、どうしてこんな馬鹿なことを考えたのか、
それらが解るようになるまで勉強し直しておいで。
449:デフォルトの名無しさん
06/09/18 00:25:16
>>447
まあこのスレは精神的幼児が多いから無視していいよそういうのはw
VBのSelect Case はC系のとそれと違ってマッチする条件があるとそのままBreakするから
それでは正しく動かない。
450:デフォルトの名無しさん
06/09/18 00:31:02
>>449
やっとひとつ理解できました。
ということは、Select Caseを使ってアルファベットと
数字を別々に判定することは無理なんですかね。
451:デフォルトの名無しさん
06/09/18 00:33:59
そうだから正規表現覚えるのが結局一番早いよ。
今後の応用範囲も広がるし
452:デフォルトの名無しさん
06/09/18 00:35:13
正規表現っていうのはこの場合何でしょう?
453:デフォルトの名無しさん
06/09/18 00:36:06
この場合もクソもないでしょ
454:デフォルトの名無しさん
06/09/18 00:39:23
>>447
そのSelectは何に対してやってるんだ?
パスワード全体に対してやっても意味無いぞ。
ループの中でパスワードの1文字ずつに対してやればうまく行くんじゃないの?
455:デフォルトの名無しさん
06/09/18 00:42:00
甘やかしな教えた君が増えると、努力もしない教えて君が調子ぶっこいて何でも聞いてくるようになるから嫌だよな。
456:デフォルトの名無しさん
06/09/18 00:50:36
ここ質問スレなんだけどw
457:デフォルトの名無しさん
06/09/18 00:52:48
つってもvb以前の質問はねー
458:デフォルトの名無しさん
06/09/18 00:53:15
まあ質問者が自分で考えもしない超低レベルなら、回答者も馬鹿揃いだから、丁度いいんじゃね?
459:デフォルトの名無しさん
06/09/18 02:06:09
C#スレみたいに本スレと初心者スレ分ければいいんじゃね?
C#のほうはあんまり機能してないけど
460:デフォルトの名無しさん
06/09/18 07:36:09
質問とか初心者以前だろ?
どうしたらいいか? 正規表現。
これで終わってる話。
それを調べて判らない点が出たら再質問。それが常識。
会社の新人で、ここにいる質問の人みたいのいたらケリだよ。
461:デフォルトの名無しさん
06/09/18 09:44:33
434じゃないけど便乗質問。
自分の頭では"(全部数字)|(全部英字)|(全部英数字)"にマッチして、
グループ1と2が空でグループ3が空じゃなかったらOKというのしか思いつかなかった。
マッチしたかどうかで一発で判定できる正規表現って書ける?
462:デフォルトの名無しさん
06/09/18 11:30:18
検索文字列がパターン化できないのであれば正規表現は使いにくいよ。
「英字が入ってる AND 数字が入ってる」でチェックして、外れたの
はやり直しって感じでいいんでない?
URLリンク(homepage1.nifty.com)
463:デフォルトの名無しさん
06/09/18 12:56:04
最低・最悪のユーザー・エクスペリエンスと評判の .NETアプリ
こんな素晴らしいクソ言語の学習に皆さんがんばって下さい
464:デフォルトの名無しさん
06/09/18 13:08:45
学習、なんて言っているうちは何を言っても説得力無し。
465:デフォルトの名無しさん
06/09/18 13:51:11
すいません、上記の方々と別件なのですが、正規表現で質問です。
「?:@123xxxxx」という文字列を含むinstrを「@123」へ変換したいと思っています。
※「?」「:」「@」は普通の文字として扱う。
以下のような正規表現で変換しようとしたら、resultがNothingになってしまいます。
result = System.Text.RegularExpressions.Regex.Replace(instr, "\?\:\@(\d\d\d)(\w+)","\@$1")
ちなみに以下のようにしたら、例外が発生。
result = System.Text.RegularExpressions.Regex.Replace(instr, "?:@(ddd)(w+)","@$1")
VB.netの正規表現ではどのように表現すればよろしいでしょうか。
よろしくお願いいたします。
466:デフォルトの名無しさん
06/09/18 13:54:33
エスケープする必要がある文字とない文字を MSDN で調べれ
467:デフォルトの名無しさん
06/09/18 14:37:58
検索パターンに余計な\を入れても無視されるだけで戻り値がNothingになることは無いと思うんだが。
468:465
06/09/18 15:05:20
>>466
以下のように変更したら、キチンと値が帰ってくるようになりました。
どうもありがとうございまいした。
work = System.Text.RegularExpressions.Regex.Replace(instr, "\?:@(\d\d\d)(\w+)","@$1")
>>467
私も今までPerlやJavaでは465のように書いていて問題なかったため、
VB.NETでも同様だと思ったのですが、Nothingになってしまいました。
VB.NETでは厳密にエスケープ文字を判定しているようですね。。。
469:デフォルトの名無しさん
06/09/18 19:11:55
>>411
select * from 利用テーブル Where 登録月
でdatasetに書き込み
その後datavviewでID=Aとかいくらでも抽出しればいくね。
470:デフォルトの名無しさん
06/09/18 19:15:04
正規表現文字クラスの[]指定内で前方参照する方法ってある?
(['"])[^\1]+\1
みたいな(ここの2つ目の[]のやつね)。
上のは、'か"で囲まれた文字列の検索。
471:デフォルトの名無しさん
06/09/18 19:15:46
ここって思うし、質問する人間と回答する人間、経験何年と年収いくらか一緒に記載すると、
返答も相手のレベルに合わせられるし、質問した方も、回答の理解の仕方が上がるんじゃない?
普通会社では相手が見えるから、お互いのレベルを分かった上で話すじゃん。
そう思うのは私だけかい?
472:デフォルトの名無しさん
06/09/18 19:56:36
>>471
そんなの質問に必要ない。
適切な日本語で質問を表現できること、会話になること。
本人が言われたことに対して試してフィードバックできること。
それだけ。
473:デフォルトの名無しさん
06/09/18 20:01:22
>>471
日本語でお願いします
474:デフォルトの名無しさん
06/09/18 20:23:21
>>472
ほぼ同意。
それに加えて「雑音を聞き流す大人の対応」もできれば大吉。
煽るだけで有益な情報のない脊髄レスは脳内フィルタリングするべし。
475:デフォルトの名無しさん
06/09/18 20:23:23
>>471
たった数行のレスで相手のスキルを推測し真性なのか釣りなのか即座に
判断できないようでは一流のSEとは言えん。
476:デフォルトの名無しさん
06/09/18 20:34:31
エスパー乙。
今後も行間を読みまくって適切な解答を書いてください。
477:デフォルトの名無しさん
06/09/18 20:41:20
このレスの住人はユーモアを理解せぬようだの。
478:デフォルトの名無しさん
06/09/18 20:54:08
レスには住めんのう…
479:デフォルトの名無しさん
06/09/18 20:58:10
>>478
面白くない。
Debug.Print()百回やって出直してこい。
480:デフォルトの名無しさん
06/09/18 21:10:04
ループでまわしていいですか?
481:デフォルトの名無しさん
06/09/18 21:17:58
>>480
gotoにしとくと飯が旨く感じるらしいぞ
482:デフォルトの名無しさん
06/09/18 21:35:53
残念、オレはconsole.writeline()だ
483:デフォルトの名無しさん
06/09/18 21:51:54
>>479
ドトネトらしく System.Diagnostics.Debug.WriteLine() を使えよ!!
484:デフォルトの名無しさん
06/09/18 21:54:38
うーん、ここって高度な技術者なのかな・・全然日本語がわからない。
485:デフォルトの名無しさん
06/09/18 22:22:32
>>470
ベタに書けばこんなんだが
(?<quote>'|")(?<match>(?!\k<quote>).+)\k<quote>
最長一致じゃ拙いように思うがね
// グループに名前付けてるのはわかりやすさを優先したから
486:デフォルトの名無しさん
06/09/19 03:57:27
VB.netで、画像加工のアプリを作ってるんですが、
ブラシを使って塗りつぶして、保存した後、フォトショップで開くとエラーが出て開けません。
あと、mixiのプロフィールの画像に指定しようとアップロードすると、
「画像が壊れています」とエラーが出て失敗してしまいます。
他のアップローダでアップするとちゃんといけて、表示もされました。
原因が分かる方教えてください。
487:デフォルトの名無しさん
06/09/19 14:21:10
どうやって、どんな形式で保存しているのか。
それが問題だ。
488:デフォルトの名無しさん
06/09/19 15:34:53
クソ言語 VB.NET
489:デフォルトの名無しさん
06/09/20 22:01:40
VB6からのイメージだけで思ってないか?
まあ漏れも使ったことないけど
490:デフォルトの名無しさん
06/09/20 22:17:57
VB6ユーザーを何とか移行させたくてどんどんクソ言語になって来てるのは事実
491:デフォルトの名無しさん
06/09/20 23:30:46
2003までで乗り換えがうまくいかなかったからか、2005では驚くほど
6.0ユーザーに擦り寄ってるの見え見え。
492:デフォルトの名無しさん
06/09/20 23:46:59
諦めてVB6を再販すれば無問題。
493:デフォルトの名無しさん
06/09/21 00:07:33
マクロの DTE.Find.Execute() で検索を実行すると末尾まで検索すると
先頭に戻って検索を繰り返すのですがどうやったら止めれるのでしょう?
494:デフォルトの名無しさん
06/09/21 15:21:36
リストビューのcontextmenuを使ってポップアップメニューを作る際、
右クリックされたのが、
カラムヘッダーのときと、
リストのアイテムのときと、
アイテムの無いリスト部分のときとで、
ポップアップメニュー表示非表示を切り分けるってことできます?
どうしても、どんな場合でも右クリックしたらメニューが表示されてしまいます。
同一コントロール内で、どこでクリックされたかの判断したいです。
495:デフォルトの名無しさん
06/09/21 16:51:39
>>494
できるよ。
>どうしても、どんな場合でも・・・(ry
それは嘘だろー どうやったのか書いてくれ。
何もしてないんだろ?
496:494
06/09/21 17:41:33
>>495
申し訳ない。
私がウソコでした。
ContextMenuプロパティから操作しようというのが間違えていました。
素直にMouseUpイベントからGetItemAtメソッドでできました。
ありがとうございました。
497:デフォルトの名無しさん
06/09/22 08:51:17
MDIについての質問です。
UserControlから呼び出すフォームを親フォームのMDIに表示しようとして躓いています。
Parentプロパティを送るときに例外「トップレベルのコントロールをコントロールに追加できません」が発生します。
Me.ParentFormのIsMdiContainerはTrueになっています。
UserControlのイベント内で、
Dim f as New Form
f.Parent = Me.ParentForm←ここでエラー
f.Show()
498:デフォルトの名無しさん
06/09/22 09:40:28
ParentじゃなくてMdiParentじゃないの?
499:497
06/09/22 10:01:51
>>498
あああああっ
俺、何やってんだぁぁぁ(T.T
ども、ありがとです
500:デフォルトの名無しさん
06/09/22 11:19:37
ComboBoxで質問ですが
Itemsで追加した文字列のほかに任意の数値(文字でも可)を指定する方法ってありますか?
例えば、
aaaa,0
bbbb,3
cccc,4
ドロップダウンに表示するのはaaaa、bbbb、ccccで
SelectedIndexが2のときにはccccと4が抽出できるような・・・
501:デフォルトの名無しさん
06/09/22 11:38:11
DataSource
DisplayMember
ValueMember
502:デフォルトの名無しさん
06/09/22 12:26:51
>>501
それはデータベーを使わなくても使えますか?
つか、以前のVBで言うところのItemDataって奴があればいいとおもって調べたら
SetItemDataってのがNETにはあるっぽいのでやってみたらエラーに・・・
これどうやって使えばいいのかな・・
503:デフォルトの名無しさん
06/09/22 12:49:05
>>502
それくらいMSDN嫁
504:デフォルトの名無しさん
06/09/22 13:24:45
>>503
('д`)えー
あのエスパーにしか解読できないヘルプをですか・・・
こっちがヘルプしてほしいくらいのヘルプだよねMSのって(´・ω・`)
505:デフォルトの名無しさん
06/09/22 13:28:38
>>504
ならぐぐるとか。
506:デフォルトの名無しさん
06/09/22 13:55:04
>>595
ぐぐってみました。
どうやらVB6からアップデートしたらSetItemDataが使えるらしいですが
新規でNETならそれはできないらしいですね。
ちょっと>>501のアレをみてみるかな
507:デフォルトの名無しさん
06/09/22 23:24:17
>>504
自分の読解力を棚に上げてる可能性が5割。
英語の原文読めばいいのに読んでない可能性が5割。