05/08/09 23:02:08
そのリストとやらはどういうオブジェクトなんだ?
ArrayList? Stringの配列?
それとも単純にItemsプロパティに一つ一つ"0001 ABCDEF" "0002 DEFCFE"……ってAddしていったのか?
176:デフォルトの名無しさん
05/08/09 23:17:40
>>174
DropDownStyleをDropDownにしといてSelectedIndexChangedイベントで
Text設定するだけちゃうの?
>>175は池沼か?
177:デフォルトの名無しさん
05/08/09 23:27:55
>>176
試してみた?
178:デフォルトの名無しさん
05/08/10 00:35:03
ああそうか、単純にイベントでText設定してもダメだったような記憶がある。
ドロ臭い方法だけど、SelectedIndexChangedでタイマ起動して
タイマのイベントでText書き換えれば確実に出来る。
ドロ臭いのが嫌ならComboBox継承してOnSelectedIndexChangedをオーバーライド
してやれば可能じゃないか?
179:デフォルトの名無しさん
05/08/10 00:39:11
>>178
泥臭い。
DisplayMemberを利用すべき。
180:デフォルトの名無しさん
05/08/10 00:44:33
え?
181:デフォルトの名無しさん
05/08/11 09:13:29
長時間掛かる処理にキャンセルボタンを付けたいのですが
キャンセルボタンだけがあるフォームをポップアップして
メイン画面のほうはさわれないようにしたいんですが
どうしたらよいでしょうか?
182:181
05/08/11 10:06:43
できました。
183:デフォルトの名無しさん
05/08/11 13:09:44
まあ、あれだ、ホントにキャンセルボタン押せるか確認してくれ
184:181
05/08/11 13:54:56
押せたよ。マルチスレッドって便利すぎ
185:デフォルトの名無しさん
05/08/11 15:51:33
テキストボックスに余白を設定したいのですが、どうすればよいでしょうか?
VB6なら、SendMessageを使って出来たのですが、.NETの方は同じやりかただと出来なかったので。
以下が書いてみたコードです。
Private Const EM_SETMARGINS As Integer = &HD3s
Private Const EC_RIGHTMARGIN As Integer = &H2s
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As IntPtr, ByVal wMsg As Integer, ByVal wParam As Integer, ByRef lParam As Integer) As Integer
Private Function MAKELONG(ByVal i As Integer, ByVal j As Integer) As Integer
Return (i And &HFFFF) Or (j * &H10000)
End Function
Call SendMessage(textbox1.hand, EM_SETMARGINS, EC_LEFTMARGIN, MAKELONG(lngNewValue, 0)
186:デフォルトの名無しさん
05/08/11 16:19:49
>>185
lParamを何故かByRefで渡しちゃってるよ。
187:185
05/08/11 16:36:40
>>186
Σ(゚д゚ )
うぉ。ホントだ
ByVal に直したらいけました。
なんて初歩的なミスを、、、_| ̄|○
お騒がせして申し訳ありませんでしたm(_ _)m
188:デフォルトの名無しさん
05/08/11 23:09:50
VB.NETでクッキーを作ることって可能ですか?
ヤフーチャットにブラウザからLOGONする時、
ユーザ名とパスワードを自動で入れたいのですが
現在自宅にネット接続環境が無いため
ネットカフェor職場での利用となるので履歴が残せず、
項目を毎回入れなければなりません
同じようにメールチェックなどが非常に困難です・・・。
クッキーは1分で消えるように設定したいと思ってます
VB.NET初級者の私でも作れるでしょうか?
どうかアドバイスお願いいたします・・・
189:デフォルトの名無しさん
05/08/11 23:13:27
IEのクッキーを作りたいのか、独自アプリでクッキーに対応したいのかどっちだ。
190:デフォルトの名無しさん
05/08/11 23:29:37
>>189
レスありがとうございます
IEのクッキーを作りたいです
まずはexeを実行して
comboboxからユーザー名を選択して実行すると
パスワードと共にクッキーとして保存されて、
LOGONページを開くとユーザ名とパスワードが入力済みとか。
アカウント数とユーザ名が長いので
複数件の登録をしたいんですが・・・。
初級者には不可能でしょうか??
191:デフォルトの名無しさん
05/08/11 23:52:49
>534: 名無しさん@お腹いっぱい。 [sage] 04/10/23 14:37:24 ID:fg9Ewxsa
>'Yahooにログイン.vbs
>
>'-------------------
>
>Const login = "なまえ"
>Const passwd = "ぱすわーど"
>Set ie = CreateObject("InternetExplorer.Application")
>ie.visible = True
>ie.navigate "URLリンク(www.yahoo.co.jp)"
>Do
> WScript.Sleep 100
>Loop While ie.Busy
>With ie.document.forms(0)
> .item("login").value = login
> .item("passwd").value = passwd
> .Submit
>End With
192:デフォルトの名無しさん
05/08/12 00:17:54
>>191さん
188です!
拡張子をvbsにして実行したところ、成功いたしました!
本当にありがとうございました!
193:デフォルトの名無しさん
05/08/12 17:22:03
VB6ではtextBoxをコントロール配列に出来たと思うのですが、VB.Netでは出来なくなったのでしょうか?
何か変わりの方法が用意されてますか?
----VB6-----
for i = 0 to 10000
textbox(i)=i
next i
みたいなのです。
194:デフォルトの名無しさん
05/08/12 17:30:25
自分で作るしかない。どぼんにそれっぽい実装コードがある。
というかそんな不安定な機構いらない。
195:181
05/08/12 17:33:44
え?不安定な機構?
196:デフォルトの名無しさん
05/08/12 18:35:52
>>193
URLリンク(dobon.net)
197:デフォルトの名無しさん
05/08/12 19:39:34
>>193
自分で別途コントロールの参照変数を配列にして参照するやり方が1つ。
または、名前を連番にしてコントロールを名称で呼び出すやり方。
または、Tagプロパティを上手く使ってやるやり方。
.net推奨は最後のTagか?
198:デフォルトの名無しさん
05/08/12 22:36:13
コントロール配列にはVB特有の曖昧さがもたらす暗黒面もあったものの、
便利な面があったのも事実だと思うけどね。
あと、一応.NETでもコントロール配列の代替手段は容易されているよ。
VB6でコントロール配列つかった簡単なプロジェクト作って
アップグレードウィザードでアップグレードしてみ?
っていうか、質問する前になんでこんな当たり前のこと試してみないんだろう。
199:最凶VB厨房
05/08/12 22:39:37
アップグレードウィザードはどこにあるんだ?
200:デフォルトの名無しさん
05/08/12 22:53:25
>>199
知ってるくせに(笑)
厨房氏はスレが荒れそうになると現れるな
プレデターか君はw
201:最凶VB厨房
05/08/12 23:43:24
>>200
しらねーから聞いてんだ!
何もしらねー何もわかんねー!!はぁぷみー
202:デフォルトの名無しさん
05/08/13 00:57:53
質問させてください。
複数のラベルが存在しているユーザーコントロールを作成しました。
その中にとあるラベルの前景色、背景色を指定するプロパティがあり、
初期値をユーザーコントロールの前景色、背景色としたいのです。
貼り付けた時点では確かにその色がプロパティへセットされるのですが、
ユーザーコントロール自体の色を変更した際、そのプロパティの値は
変わらない状態です。
なにかいい方法はありませんでしょうか?
通常のForeColor、BackColorプロパティのように、
初期値なしみたいな設定できればいいのですが・・・。
203:デフォルトの名無しさん
05/08/13 01:00:10
ユーザコントロールのBackColorChanged&ForeColorChangedで変更すればいいだろ
204:デフォルトの名無しさん
05/08/13 01:17:10
>203
それも試してみたんですが、
今度は「とあるラベルの色を指定するプロパティ」に独自の値を
設定していた場合、「コントロール自体」の色を変更すると、指定していた色が
クリアされてしまいました・・・。
あと、プロパティブラウザで常に太字になるのは避けたいんですが・・・。
205:デフォルトの名無しさん
05/08/13 01:22:48
イベントを作成する場合に(例えば、Clickの場合)
「OnClick」と「Click」がありますが、違いがよくわかりません。
どのように使い分けたらいいのか教えてエロい人!
206:デフォルトの名無しさん
05/08/13 01:33:25
>>204
「とあるラベルの色を指定するプロパティ」で、値を別フィールドにとっておいて
イベントで独自色を使用してるかどうか判断すればいいだろ。
プロパティブラウザ? 気にするな。
気になるのならParentChangedでParentのBackColorとForeColorに合わせるようにするとかどうだ。
>>205
Onの方はProtectedなメソッドなので継承したクラスでオーバーライドするしかない。
そのかわり基底クラスのイベントを多少コントロールできる。
派生コントロールを作らないのならOnをいじる機会はない。
派生コントロールを作るのならデリゲートオブジェクトを作らないのでOnをオーバーライドする方が多少効率的。
207:デフォルトの名無しさん
05/08/13 03:30:00
教えてください。
関数の中には、引数を指定しない場合、デフォルトの値が適用されるものがありますが、
これを自分で作成した関数で再現する場合、どのようにすれば良いのでしょうか
例えば↓で、bolFlag が指定されていないときは、True を指定したい
Public Function MyModule(Byval strData As String, Byval bolFlag as Boolean) As String
...
End Function
208:デフォルトの名無しさん
05/08/13 03:33:55
ヘルプで調べると良いよ Visual Basic 言語リファレンス
209:デフォルトの名無しさん
05/08/13 04:22:36
Optional ByVal bolFlag As Boolean = True ですね。
ありがとうございました。
210:204
05/08/13 13:37:52
>206
重ねてのアドバイスありがとうございます。
OnForeColorChangedと、その追加したプロパティのセッターで
コントロール自体の色と一致しているかを保存しておき、
一致している場合のみ連動させるようにしました。
今のところ意図した動きになっているようです。
211:デフォルトの名無しさん
05/08/13 17:27:56
追加で自己レス
ShouldSerialize[プロパティ名]を利用することで、
プロパティブラウザでコントロールの色と同じであれば
太字にならない(=ソースに色指定が出力されない)
ようになりました。
212:デフォルトの名無しさん
05/08/13 21:29:40
質問です。
グローバルIPアドレスを取得したいのですが、どうすればよいでしょうか?
URLリンク(dobon.net)
このページの方法では、LANやルーターから割り振られたアドレスしか取得できないので。
213:デフォルトの名無しさん
05/08/13 22:14:57
〃∩ ∧_∧
⊂⌒( ・ω・) はいはいわろすわろす
`ヽ_っ⌒/⌒c
⌒ ⌒
じゃかわいそうなのでマジレス。
内側だけで直接グローバルIPを見ることはできない。
たぶんDiCEみたいなDDNS更新ツール
(それかネットワークゲーマー用のユーティリティ?)を作りたいんだと思うけど、
やるなら外のページを定期的に見に行って、環境変数のREMORT_ADDRを
取得して比較するくらいしか方法ないと思う。
せめてルータが決めうちできれば、コマンドでの取得できそうだけどね。
214:デフォルトの名無しさん
05/08/13 22:17:54
ギャース、REMOTE_ADDRだった。
逝ってきます・・・。
215:デフォルトの名無しさん
05/08/14 10:27:19
DataGridで、カラムを複数行にする方法はありませんか?
テーブル:項目1,項目2,項目3,項目4,項目5
みたいなのを
項目1|項目2|項目3
|項目4|項目5
みたいな感じに表示させたいです。
よろしくお願いします。
216:デフォルトの名無しさん
05/08/14 13:18:42
SELECT 項目1,項目2,項目3 FROM HOGE
UNION
SELECT NULL,項目4,項目5 FROM HOGE
217:215
05/08/14 21:31:19
>>216
ありがとうございます。
やってみたのですが、データの中身は2段になったのですが、項目名称が2段にならなかったです。
項目名称は1行しか無理でしょうか。
218:デフォルトの名無しさん
05/08/15 10:31:59
CheckBoxにReadOnlyプロパティを追加したユーザコントロールを
作ろうとしています。
イメージとしては、チェックボックスがEnabled=Falseの状態、
文字列は通常のままにしたいのですが、
何かいい方法はありませんでしょうか?
できればCheckBoxを継承して作成したいのですが。
219:デフォルトの名無しさん
05/08/15 10:39:17
CheckStateプロパティと、OnCheckStateChangedメソッドのオーバーライドでいいんじゃね?
220:デフォルトの名無しさん
05/08/15 13:21:55
>>217
SELECT 項目1,項目2,項目3 FROM HOGE
UNION
SELECT NULL,'項目名4','項目名5'
UNION
SELECT NULL,項目4,項目5 FROM HOGE
てか、たぶんあなたのやりたいことは無理です。
221:デフォルトの名無しさん
05/08/15 17:23:25
vb.net(プログラム自体も・・・)始めたばかりのピヨピヨです。
いろいろ調べたんですがどうしても解らないことがあります。
質問してもいいですか?
222:デフォルトの名無しさん
05/08/15 17:25:13
VB6のころはテキストボックスのGotFocusでテキストを
全選択するのが良く行われてましたけど、VB.NETでは
これはできるのでしょうか?
単純にGotFocusでSelectAllメソッドを使ったのでは
できないようなのですが。
もともと、これは好きじゃないのですが、業務アプリの
慣習というのがあるんですよね。できない、かなり難しい
というのであれば、上の人を説得できるので。
223:デフォルトの名無しさん
05/08/15 17:42:13
ん? 普通にできるけど?
ちなみに.NETではGotFocus/LostFocusよりもEnter/Leaveが推奨されている。
224:デフォルトの名無しさん
05/08/15 17:45:07
>222
私もあまり好きじゃないのですが、同じく業務アプリ屋なので・・・。
VB.netの場合、EnterとLeaveで出来ます。
もしクリックした場合も全選択させたいなら、MouseDownも。
(うちはマウスクリックの場合は全選択させません)
ちなみに、Enterでもタブ移動させたいって言われてませんか?w
225:デフォルトの名無しさん
05/08/15 19:39:32
妙なこと言う人たちだなあ。。
それって好き嫌いの問題か?
フォーカス移動時の全選択って合理性あるでしょ。
テキストエディタのように既存の文字列を編集する、ってアプリならともかく、
ほぼ毎回入力されるデータが変わる、っていうようなアプリなら。
だいいち、客に出すラーメンの味にラーメン屋自身の好みを押し付けるって不遜じゃないか。
226:デフォルトの名無しさん
05/08/15 19:54:41
なんでそんなことでケチつけるかなぁ?
個人的に好きじゃないことの何が悪い?
意固地になって実装しないわけじゃないし。
注文されればその通りに作ってるさ。
227:デフォルトの名無しさん
05/08/15 19:58:31
>225
コボラー乙
228:最凶VB厨房
05/08/15 20:58:20
こだわりのラーメンは是非食いたいネ
あー腹減った。
229:デフォルトの名無しさん
05/08/15 23:05:29
TcpClient で存在しないアドレスにconnectすると、
えらい時間が掛かってExceptionが返ってくるのだけど、
connectのタイムアウトを設定ってできないの?
230:デフォルトの名無しさん
05/08/15 23:40:07
できない。
別スレッド作るかSystem.Timers.Timerを使うかして、そっちで強制的にCloseするぐらいか。
でもTcpClientでは接続中かどうかを判断もできないんだよね。.NET 2.0で思い出したように追加されたけど。
派生クラスを作ればProtectedメンバのClientプロパティ経由で状態を知ることはできるんだが。
派生クラスでタイムアウト付きConnectでも定義するか。
素直にSocket使った方が早いかもね?
231:デフォルトの名無しさん
05/08/16 00:01:14
>>230
粗雑な問いに、丁寧にお答えいただき、大変恐縮でございます。
ご意見、参考にさせて頂きます。ありがとうございました。
232:デフォルトの名無しさん
05/08/16 09:03:51
>>224
Enterイベントだとタブでの移動では全選択されるようなのですが、
マウスでクリックした場合は全選択されないですよね?
Clickイベントで実装するとテキストボックス内で他の場所を
クリックしたときにも全選択されてしまうし。
233:デフォルトの名無しさん
05/08/16 10:36:43
>232
いや、だからMouseDown
>テキストボックス内で他の場所
これってどういう意味ですか?
234:デフォルトの名無しさん
05/08/16 11:20:26
>>232
>Enterイベントだとタブでの移動では全選択されるようなのですが、
>マウスでクリックした場合は全選択されないですよね?
いや、実際は一旦全選択されているはずだけれどもね。
恐らく一旦全選択された後、解除されてしまうんだよね。
単にクリックしたはずが、クリックしたついでに微妙にドラッグになってしまっているために。
>>233
だいたい話の文脈でわかるでしょ?
そうでないならこの話題にのっかる資格はないと思うけど。
フォーカスが来たとき以外も全選択されてしまうということでしょう。
235:デフォルトの名無しさん
05/08/16 11:57:37
>234
>恐らく一旦全選択された後、解除されてしまうんだよね。
これはあってる。
>単にクリックしたはずが、クリックしたついでに微妙にドラッグになってしまっているために。
これはちがう。単なるクリックでも全選択は解除される。
イベントハンドラの発生順の問題。
もし微妙にドラッグしちゃった時でも全選択させたいならMouseUp。
フォーカスが元々ある状態の場合は全選択したくないということであれば、
フラグでEnter経由かどうか判断するのがいいかと思う。
あと、いちいち絡むなよ。
236:デフォルトの名無しさん
05/08/16 12:07:32
あー、ごめ。単にEnter経由で判断だけだと、
タブ移動後にクリックした時にも全選択になっちゃうわ。
なんかうまい方法ないかなぁ。
237:デフォルトの名無しさん
05/08/16 12:12:18
Private mouseEnter As Boolean = False
Private Sub TextBox_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Enter
Me.SelectAll()
If Me.MouseButtons <> MouseButtons.None Then
mouseEnter = True
End If
End Sub
Private Sub TextBox_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseUp
MyBase.SelectAll()
mouseEnter = False
End Sub
238:235-237
05/08/16 12:13:56
マウスクリックでのEnterかどうかを判断するようにしてみた。
239:デフォルトの名無しさん
05/08/16 12:14:22
>あと、いちいち絡むなよ。
馬鹿じゃないの。
「何も分かってないならだまってろ」
それを君に遠まわしに言ってるのに。。
240:デフォルトの名無しさん
05/08/16 16:31:55
なんだもっと煽り合いになるかと思ったのに過疎っちまいやがったつまらん
241:最凶VB厨房
05/08/16 17:02:40
次はもうちょっとうまいこと釣ってくれよ。
242:デフォルトの名無しさん
05/08/17 22:21:50
>>all
色々ありがとうございます。
MouseDownで実装してみましたが、これもClickと
同様、テキストボックスのテキストの一部だけを選択
することができなくなるという問題がありました。
>>237 オリジナルのテキストボックスを作るのかな?
面倒だから、そこまでは勘弁して欲しいな・・・。
VB.NETの継承とかコントロールの作り方はまだよく
分からないので。
243:デフォルトの名無しさん
05/08/17 22:34:07
>>242
ユーザーコントロール作るの意外と簡単だよ。
前にも書いたけど、例えばここで解説されてる
URLリンク(www12.plala.or.jp)
まあ実際には、ここの方法を応用してクラスライブラリ化した方が使いやすいと思う。
ユーザーコントロール作らないとしても、Tagにフラグ(mouseEnter)を食わせれば
ソースを必要以上に汚さずに>>237のやり方が使えると思う。
244:デフォルトの名無しさん
05/08/17 23:00:54
会社で作った.netのソリューションファイルを家に持ってきて開こうとしたら開けません。
家のは2002で会社のは2003なんですけど、全く互換性無いんですか?
245:デフォルトの名無しさん
05/08/17 23:03:31
2002のを2003のにするのはできるけど逆は無理。
一度2002のから2003のに変換したら逆変換は不可能。
246:237
05/08/18 00:20:27
>242
243に同意。テキストボックスが複数あるなら(というかあるだろうし)
絶対にユーザーコントロール作ったほうがいいと思います。
おんなじロジックを全てのテキストボックスに組み込むなんて
ありえないっすよ。
あと、237のですが、mouseEnterがイベントハンドラの名前と
かぶってます。ちゃんと見直してからうpしろよ俺。
とりあえず、他の名前にしてください。
247:デフォルトの名無しさん
05/08/18 17:13:45
VB.NETというよりAxWebBrowserの質問になるんですけど、
AxWebBrowserで表示されているPageからzipファイル等がResponse.Redirectされた場合、
ダウンロードが開始されるんですけど、そのダウンロードされているファイルのURLは取れますか?
248:デフォルトの名無しさん
05/08/18 18:12:00
普通にBeforeNavigate2とかで取れるだろ
249:247
05/08/18 21:15:24
実際に画面表示しないと取れないんですよ・・・。
zipとかのファイルであった場合、ダウンロードされるだけで画面表示されないので、
URLが変更されないみたい・・・。
250:デフォルトの名無しさん
05/08/18 21:27:33
変更?
AxSHDocVw.DWebBrowserEvents2_BeforeNavigate2EventにuRLプロパティが存在するが?
251:247
05/08/18 22:25:54
確かに存在するのですが、ダウンロードされるファイルのURLがuRLプロパティには入っていないんです。
nRLプロパティには現在表示しているURLが入っています・・・。
252:247
05/08/18 22:26:51
ひょっとして、Response.Redirectがだめなんですかね・・・?
253:デフォルトの名無しさん
05/08/19 00:05:39
リダイレクトが発生したときのリダイレクト先のURLはNavigateComplete2が一番早く取得できるみたいだね。
リダイレクトでダウンロードが発生するところを知らないから試せないが。
で、これがzipとかの場合AxSHDocVw.DWebBrowserEvents2_NavigateComplete2EventのuRLプロパティが正しく指さないってこと?
リダイレクトでhtml、直接zipはどっちも正しく指すんだけど。
//ん~、FileDownloadが発生しない……
254:デフォルトの名無しさん
05/08/19 06:54:28
VB.NETかVB6でできるだけ多くの環境で動くネットワークプログラムを作りたいんすけど
その場合VB6を選択すべきですか?
.NET FrameworkってXPでもデフォルトでインストールされてないし。
255:247
05/08/19 09:21:50
AxWebBrowser.Navigate2でzipファイルを指定するとNavigateComplete2.uRLで確かにzipファイルのURLが取得出来るんですが、
webForm1.aspxをNavigate2した後に、aspxのButton_ClickでzipファイルをResponse.Redirectしても
NavigateComplete2.uRLにはwebForm1.aspxのURLが入ってる状態です。
FileDownloadは発生しないですね・・・。
256:デフォルトの名無しさん
05/08/19 09:24:12
>>254
別にインストーラー作ればいいだけだし。
今更新規にVB6で作るって何考えてるのって思うし。
257:デフォルトの名無しさん
05/08/19 09:37:01
>>256
んだな。今更ocx入れるのマンドクセ。
258:デフォルトの名無しさん
05/08/19 13:50:47
別のPCのLAN上にIISがインストールされていれば
ローカルにIISがインストールされていなくても
ASPとかつくれますかね?
259:デフォルトの名無しさん
05/08/19 14:27:04
何作るかしらんが、作るだけなら作れるでしょ。
ASPってのが何指してるのか不明だけど。
260:デフォルトの名無しさん
05/08/21 06:12:21
>>69は天才だと思います。
261:デフォルトの名無しさん
05/08/21 07:17:27
>>254
本当に「できるだけ多くの環境で動く」事が優先されるなら、VB6もVB.NETも不可だろう。
VB6で作成した場合、Windows Vistaまでしか動作保障されない。
VB.NETで作成した場合、Windows95や98は切り捨てることになるな。
262:デフォルトの名無しさん
05/08/21 07:46:31
一応98は.NET動くぜ。
263:デフォルトの名無しさん
05/08/21 21:58:21
名前空間に漢字使ってますが問題ないですかね?
問題あったら教えてください。
264:デフォルトの名無しさん
05/08/21 22:06:07
少なくとも日本国内で開発する分には問題ないだろう。
実行には全く問題ない。
265:デフォルトの名無しさん
05/08/21 22:06:07
>>263
漢字を使うという頭が問題あり
266:デフォルトの名無しさん
05/08/21 22:09:45
現在Visibleプロパティがtrueになっているformを知りたいときって
どのようにしたらいいでしょうか?
If フォームA.Visible = True Then
~処理~
ElseIf フォームB.Visible = True Then
~処理~
:
:
みたいにif文やswitch文を書き連ねていくと、ソースが汚らしく思えるのですが。。。
267:デフォルトの名無しさん
05/08/21 22:11:57
ActiveForm/ActiveMdiChildとかそんなんじゃ駄目か?
ていうか何をどうやったらそんな判断が必要になるんだか。
268:デフォルトの名無しさん
05/08/21 22:26:40
ありがとうございます。
Form.ActiveFormで現在アクティブなフォームを表すFormが取得できるんですね。
if文やらswitch文よりすっきり書けそうですね。
269:デフォルトの名無しさん
05/08/21 23:19:32
>>264-265
サンクス。
楽に仕事がこなせるならそれで良いのです。
270:デフォルトの名無しさん
05/08/22 12:57:22
フォーム(Public Class WebForm1)にラベルがあります。
Public WithEvents Label1 As System.Web.UI.WebControls.Label
別モジュール(Module1)に関数(sub kan1)を作りました。その中で
Dim refForm1 As New プロジェクト名.WebForm1
というインスタンスを作りました。
で、refForm1.Label1.Text = "1"
とやると「オブジェクト参照がオブジェクトインスタンスに設定されていません」
と出ます。refForm1.Label1 ← ここでNothingになります。
なぜですか?
271:デフォルトの名無しさん
05/08/22 13:36:13
Newしてないからだろ
272:デフォルトの名無しさん
05/08/22 13:38:44
これじゃダメでしょうか?他のNewを思いつきません。
>Dim refForm1 As New プロジェクト名.WebForm1
273:デフォルトの名無しさん
05/08/22 13:50:51
いや、あのよ、何がNothingなのか考えろ?
274:デフォルトの名無しさん
05/08/22 14:16:49
横からでWebFormは知らんが、WebFormのインスタンスを生成しても、中のLabelのインスタンスが生成されてないんですよ。
Winformだと、コンストラクタからInitializeComponentが呼び出されてNewしてるんだけど、Webはしらん。しらべてみ。
275:デフォルトの名無しさん
05/08/22 18:41:54
テキストボックスでIMEが変換中かどうか取得する目的で
WndProcをオーバーライドしているのですが
スペースのみ入力してタブキーで次のテキストボックスに移ったときは
ENDCOMPOSITIONが来てくれません。
If m.Msg = &H10F Then 'WM_IME_COMPOSITION
bIMEmode = True
End If
If m.Msg = &H10E Then 'WM_IME_ENDCOMPOSITION
bIMEmode = False
End If
対策としてとりあえずKILLFOCUSでIMEモードのフラグを
OFFにしてみましたが、あまり美しくありません。
If m.Msg = &H8 Then 'WM_KILLFOCUS
bIMEmode = False
End If
スペースのみの場合はWM_IME_COMPOSITIONが飛んでこないように
するにはどうすればよいでしょうか?
276:デフォルトの名無しさん
05/08/23 00:20:20
え、飛んできてるんだけど>WM_IME_ENDCOMPOSITION
あとWM_IME_COMPOSITIONじゃなくてWM_IME_STARTCOMPOSITIONじゃないかなぁ
277:デフォルトの名無しさん
05/08/23 08:20:20
>>276
WM_IME_STARTCOMPOSITIONにしたら期待通りの動作をしてくれました。
ものすごく感謝です。
278:デフォルトの名無しさん
05/08/24 10:31:47
AccessのMDBからOelDbDataReaderを使用してデータを取得したいのですが、
OelDbDataReaderのループの中でもう1つOelDbDataReaderを実行すると
「この接続に関連付けられているDataReaderがすでに開いています。」とエラーになってしまいます。
OleDbConnectionを複数作成してコネクションを複数張れば出来ると思うのですが、
色々と不都合(トランザクションが作れないとか)がありそうなのでやりたくありません。
OelDbDataReaderをネストしない場合は正常にデータを取得できています。
下はエラーになるサンプルです。
何か根本的に間違えているのでしょうか?
よろしくお願いします。
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim DbConn As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\test.mdb")
DbConn.Open()
Dim dbCmd1 As OleDbCommand = DbConn.CreateCommand
dbCmd1.CommandText = "select * from TEST_TAB "
Dim dbReader1 As OleDbDataReader = dbCmd1.ExecuteReader()
While dbReader1.Read()
Trace.WriteLine(dbReader1("TEST_NO").ToString)
Dim dbCmd2 As OleDbCommand = DbConn.CreateCommand
dbCmd2.CommandText = "select * from TEST_TAB "
Dim dbReader2 As OleDbDataReader = dbCmd2.ExecuteReader() '← *** ここでエラー発生 ***
While dbReader2.Read()
Trace.WriteLine(dbReader2("TEST_NO").ToString)
End While
dbReader2.Close()
End While
dbReader1.Close()
DbConn.Close()
End Sub
279:デフォルトの名無しさん
05/08/24 10:40:33
MSDNにしっかり
> OleDbDataReader の使用中は、関連付けられた OleDbConnection は、
> OleDbDataReader によって使用されるためビジー状態になります。
> この間、 OleDbConnection に対して、閉じる以外の操作は実行できません。
> OleDbDataReader の Close メソッドを呼び出すまでこの状態が続きます。
> たとえば、 Close を呼び出すまでは、出力パラメータは取得できません。
と書かれている。
280:>278
05/08/24 11:08:49
>>279
レスありがとうございます。
確かに解説の所に書いてありました・・・
皆様はDBからデータの取得中(OleDbDataReaderの使用中)に
他のデータを取得する場合どのように実現されているのでしょうか?
それともDataSetみたいに全データを取得してから次のデータを取得、
みたいな方法でやっているのでしょうか?
よろしくお願いします。
281:デフォルトの名無しさん
05/08/24 11:35:16
・順次、配列等に読み込む
・DataAdapter & DataSet を使う
・複数のコネクションを張る
・ストアドプロシージャを使う
282:デフォルトの名無しさん
05/08/24 11:47:56
>>281
ここの使用って改悪だよな。
バッチ的なテーブル処理に対して厳しいところがある。
ロックかけながらカーソル処理していくような処理で必ず詰まる。
283:デフォルトの名無しさん
05/08/24 11:51:23
ADO.NET 2.0では一つのConnectionから複数のDataReaderを同時に開くことができるようになるとどこかで聞いた。
284:デフォルトの名無しさん
05/08/24 14:30:05
接続ドライブのプロパティに表示されるようなドライブ固有の名前(例:Maxtor 6Y160P0)を取得する関数というのはあるのでしょうか?
285:デフォルトの名無しさん
05/08/24 14:35:07
WMI使えば?
286:284
05/08/24 14:43:56
>>285
ありがとうございます。ググってみます。
287:284
05/08/24 15:02:11
解決しました。ありがとうございました。
288:278
05/08/24 15:31:57
>>281-283
レスありがとうございます。
今のところ直接目的にかなう解決方法がないのですね。
それが分かっただけでも良かったです。
ADO.NET 2.0では可能になるみたいですね。
URLリンク(www.microsoft.com)
の「SqlClient における SQL Server 2005 固有の機能」に書かれていました。
「SQL Server 2005 固有の機能」と言っているだけに
SQL Server 2005だけのような気がしますが・・・
ありがとうございました。
289:284
05/08/24 18:54:36
すいません。再度質問させてください。
>>284にあるドライブ固有の名前の取得方法はわかったのですが
これとドライブレター名(例:C)とを関連付ける方法がわかりません。
Select * From Win32_DiskDrive
でドライブ固有の名前を
Select * From Win32_LogicalDisk
でドライブレター名を取得することはできたのですが・・・
290:デフォルトの名無しさん
05/08/24 19:47:54
まあ基本的に物理ドライブと論理ドライブはあんまり相関のないものだからねー。
Win32_LogicalDiskToPartition/Win32_DiskDriveToPartitionクラス辺りを使って頑張ればいけそうかな。
ん~、Win32APIでやろうとしたらどうだろ。
DeviceIoControlを駆使することになるのかな。
URLリンク(66.102.7.104)
とてもお薦めできなさそうだ。
291:284
05/08/24 19:50:01
>>290
ありがとうございました。これからぐぐります。
292:デフォルトの名無しさん
05/08/25 00:38:17
VBとVB.netの違いって何?
293:デフォルトの名無しさん
05/08/25 04:40:59
.net
294:デフォルトの名無しさん
05/08/25 11:19:54
DBMS_SQL.NUMBER_TABLEをパラメータに持つ
ストアドファンクションに
VBから配列を渡したいのですが
myOracleCommand.Parameters.Add()だと
InvalidCastExceptionが出ます。
どうやればよいのでしょうか?
私が書いたのはこんな感じです
myOracleConnection.Open()
myOracleCommand = New OracleCommand("sf_test", myOracleConnection)
myOracleCommand.CommandType = CommandType.StoredProcedure
Dim id(500) As Int32
~中略~
'コマンドパラメータ設定
myOracleCommand.Parameters.Add(id)←ここでInvalidCastException
295:デフォルトの名無しさん
05/08/25 11:50:25
ODP.NETだよね?
どちらかといえばデータベース板のOracleスレ向きな気もするけど。
PL/SQL表をバインドする場合、
OracleParameter.CollectionTypeを
OracleCollectionType.PLSQLAssociativeArrayにしないと駄目。
詳しくはOTNのODP.NET開発者ガイドを参照してください。
296:デフォルトの名無しさん
05/08/25 13:02:05
かなり初歩的な質問だと思うのですが・・・
ある処理中に処理中であることを示すウインドウを表示させたいのですが
どうにもうまくいきません。どのような方法が考えられるでしょうか?
297:デフォルトの名無しさん
05/08/25 13:05:19
抽象的すぎる質問だな。
どうやってみてどううまくいかないんだ?
298:295
05/08/25 13:19:55
今調べてみたらODP.Net入れてなくて
DBアクセスしてたんだけどこれは
ODBCなのかな?
299:デフォルトの名無しさん
05/08/25 13:22:21
>>296
まずWindowsFormsなのかASP.NETなのか書いてくれ。
300:294
05/08/25 13:28:56
>>295
調べたらOLE DB .NETでした・・・(しかも自分は294だしorz)
これでもやり方は変わらないのかしら?
301:デフォルトの名無しさん
05/08/25 13:38:15
>298
ちょいまて、295は俺だ。
てか、どのDataProvider使ってるかくらいは把握しといたほうが・・・。
ODP.NETじゃなく、.NET Framework Data Provider for Oracleだったとしたら
MSDNにPL/SQL表は使えないと書いてある。
使いたければMSDAORAと共に.NET Framework Data Provider for OLE DB使えってさ。
302:デフォルトの名無しさん
05/08/25 13:40:58
>>300
いや、Oracleが出してるやつじゃないと無理だと思う。
303:294
05/08/25 16:58:17
>>295、302
返事遅れましたが、とりあえず何とかなりそうです。
感謝感謝。
304:デフォルトの名無しさん
05/08/25 17:05:18
vb.netでoracleのあるテーブルからデータを取得し、
そのデータを新規で作成したmdbに登録したいのですが。
そのようなことは可能でしょうか?
よろしくお願いいたします。
305:デフォルトの名無しさん
05/08/25 17:20:04
そのようなことは可能です。
よろしくお願いいたします。
306:デフォルトの名無しさん
05/08/25 17:30:36
超初心者です。
PUBLIC:COMPONENT
で始まるのってなんですか?
307:デフォルトの名無しさん
05/08/25 17:42:45
vb.netでプロセス間通信の質問です。
現在WIN XP上でvb.net(単品)の環境。
プロセス間通信を行いたいのですが、ファイルマッピング、パイプ、メールスロットなどなどことごとく失敗します。
今は名前付きパイプに絞っているのですが、パイプをクリエイトしてもハンドルが返ってこないのです。
下記のように単純化したプログラムでもNGです。
宣言部に
Public Structure SECURITY_ATTRIBUTES
Public nLength As Integer
Public lpSecurityDescriptor As Integer
Public bInheritHandle As Integer
End Structure
Declare Auto Function CreateNamedPipe Lib "kernel32.dll" Alias "CreateNamedPipeA" ( _
ByVal lpName As String, _
ByVal dwOpenMode As Integer, _
ByVal dwPipeMode As Integer, _
ByVal nMaxInstances As Integer, _
ByVal nOutBufferSize As Integer, _
ByVal nInBufferSize As Integer, _
ByVal nDefaultTimeOut As Integer, _
ByRef lpSecurityAttributes As SECURITY_ATTRIBUTES _
) As Integer
ボタンクリックで
hpipe = CreateNamedPipe("\\.\pipe\test", &H3, &H80000000, 255, 1024, 1024, 5000, Nothing)
これでhpipeに「-1」しか返ってきません。正常に行うにはどうすればいいのでしょうか?
よろしくお願いします。
308:デフォルトの名無しさん
05/08/25 18:37:02
>>307
Declare構文のAutoが解釈間違ってるよ。
Autoを指定する場合、プラットフォームに従ってStringをAnsiかUnicodeにマーシャリングする。
つまりNT系ならUnicodeで関数に渡される。
ところが実際に呼ぶ関数をAliasでCreateNamedPipeAとAnsi版を呼んじゃっている。
Ansi版は与えられたバイト列を当然Ansiとして解釈するから、&h00がすぐに見つかってしまって使用不能の文字列になってしまう。
解決法は
・Autoの代わりにAnsiを使う
・AliasをCreateNamedPipeにする(プラットフォームによって呼ばれる関数が実行時に切り替わる)
・Aliasを指定しない(プラットフォームによって呼ばれる関数が実行時に切り替わる)
それから、最後のパラメータSECURITY_ATTRIBUTEも。
ByRefは参照渡しなのは分かるよね。
Nothingは、構造体(Structure)の場合全てのフィールドが0のインスタンスを表す。
だからNothingと言いつつ実際にはnullではなく、結果として関数に新しく作られた構造体インスタンスのアドレスが渡ってしまってるわけ。
こういう場合、パラメータを
ByVal securityAttribute As System.IntPtr
と宣言して、IntPtr.Zeroを渡すのが良い。これはC/C++においてNULLポインタを渡すことと同義の行為。
あと、ハンドルの類はInteger(System.Int32)よりもSystem.IntPtrで宣言した方が良いよー。
309:デフォルトの名無しさん
05/08/26 00:21:18
>>308
レスサンクス
いやぁ、いろいろ見直すべきところが多くてお恥ずかしい。
破れかぶれでいろいろ変えてみて、元に戻し忘れてたところとかもあるし。
明日、早速試してみます。
ありがとうございます。
310:デフォルトの名無しさん
05/08/26 03:18:22
ソートツールを作りたいので可逆ソートがしたいです。
自分としてはBlockSortingがしたいです。
アルゴリズムは分かるのですが、実装方法がいまいちわかりません。
311:デフォルトの名無しさん
05/08/26 03:39:47
アルゴリズムが分かるならあとはそのまま実装するだけじゃないか
312:310
05/08/26 03:49:31
実装がC++ではできますがVB.NETではなぜか出来ません。
313:デフォルトの名無しさん
05/08/26 06:35:30
VisualStudio.NET2003 を手に入れて、
VB.NET でちょっとした GUI ソフトを作りますた
それを別の PC で起動しようとしたら、何やらが見つからないといって動きません
要するに .NET Framework をインスコしないと動かないということだと思っておりまつ
おいらの PC ではないので、できればインスコしないで動けばありがたいのでつが、
何か方法はありまつか?
そもそも、VB.NET の GUI ソフトで .NET Framework を入れなくても動くものは作れまつか?
314:デフォルトの名無しさん
05/08/26 07:32:07
無理 入れろ
315:デフォルトの名無しさん
05/08/26 11:19:29
最近VBを使うようになって、クリック連打するソフトを作りたいと思ったのですが
マウスクリックをする命令が見つかりません。
どうやったらできますか?
316:デフォルトの名無しさん
05/08/26 11:30:07
画面上の好きなところをクリックしたいというのならWin32API。
SendInput関数かmouse_event関数。
317:デフォルトの名無しさん
05/08/26 12:06:38 BE:113897873-##
>>315
MouseDownとか
318:デフォルトの名無しさん
05/08/26 14:45:19
ありがとうございます。
思ったより大変そうだけどがんばってみます。
319:デフォルトの名無しさん
05/08/27 17:11:57
かなり、初歩的な質問だと思うのですが、
変数を宣言した時にクラス名の後ろの()
を記入しても消えてしまうのですが、なせなんでしょうか?
たとえば、、、
dim A as new frmLogon()
が
dim A as new frmLogon
になってしまうのですが。
何が原因なのでしょうか?
320:デフォルトの名無しさん
05/08/27 17:45:29
配列宣言したいのか?
321:デフォルトの名無しさん
05/08/27 17:51:53
>>320
いや別に配列宣言とは関係ないだろ。
引数無しのコンストラクタメソッド呼出を明示してるだけで。
C#とかだと必須だからなー。
//メソッドの括弧と配列の括弧が同じなのはややこしい……。
>>319
まあVBからのクセなのであまり気にしない。
322:デフォルトの名無しさん
05/08/27 18:18:40
>>321
ありがとうございます。
括弧はあってもなくても動きは変わらないと考えてよろしいのでしょうか?
323:デフォルトの名無しさん
05/08/27 21:30:11
Formデザイナに関する質問なんですが、TabPageコントロールを使っていると、
最初のタブページ以外のタブページ内のコントロールをデザインしていると
マウスポインタが各タブページのクライアント領域から外に出られなくなったり、
Formデザイナのコンテクストメニューが「コードの表示」以外の項目が
全部無効になったりする症状が出て困っています。
これって何か解決法ご存知ないでしょうか?
# どうもこの症状は環境依存というか、どの環境でも再現するわけではないみたいですね。
324:デフォルトの名無しさん
05/08/28 01:39:08 BE:54237825-##
RAM少ないんじゃない?
325:さとみん。
05/08/28 14:16:48
VB6.0のツールバーのプロパティーにはHotTracking(?)があったのですが、VB.NETではなくなってし
まいま
したよね?ボタンの外観を変更できるプロパティーです。
ツリーノードのプロパティーには、HotTrackingが設けられています。
ツールバー上のアイコンにマウスポインタが配置された時、ボタンの外観を変更する方法はありませ
んか?
分かりにくい説明で申し訳ありませんが、お願いいたします。
326:デフォルトの名無しさん
05/08/28 20:55:09
test
327:デフォルトの名無しさん
05/08/28 21:05:04
>>325
いまいち質問が明示的じゃない気がする。
On Mouseでボタンの画像を変えたいってこと?
それはそういうコードを書くしかないよ。
ToolBar自体の機能としてはビルトインされてないから。
328:デフォルトの名無しさん
05/08/28 21:14:21
>>327
流せ。転載だから。
他でそれなりに詳しい解答貰ってるからして本人でもなかろうし。
329:デフォルトの名無しさん
05/08/29 10:12:57
vb.netの質問というよりvs.netの質問なのですが、
現在VS.NET2003のVB.NETを使っています。
.NET Frameworkのバージョンが1.0だったのですが、1.1の機能を使いたかったので
1.1のもろもろをダウンロードしてインストールしました。
しかし、VB.NETのヘルプにあるMicrosoft Development Environmentのバージョン情報にある
.NET Frameworkのバージョンが1.0のままで当然1.1の機能も使えません。
1.0があるせいかとも思い1.0をアンインストールしてみましたが、バージョンは変わらず
プログラムすることすらできなくなりました。
ただインストールするだけじゃだめなんでしょうか?
それとも何か根本的な勘違いをしているのでしょうか?
330:デフォルトの名無しさん
05/08/29 10:18:19
うん。
2003じゃ.NET 1.1の開発しかできない。2003を入れたときに自動的に.NET 1.1がインストールされる。
逆に2002では.NET 1.0の開発しかできない。2002を入れたときに自動的に.NET 1.0がインストールされる。
あなたの環境は矛盾している=何らかの勘違いが存在している。
331:デフォルトの名無しさん
05/08/29 10:23:29
>>330
今パッケージをよく調べたら2002と書いてましたorz
何を勘違いしていたのかずっと2003だとばかり思ってました。
ということは.NET 1.1は使えないのですね。
ありがとうございます。
332:デフォルトの名無しさん
05/08/30 00:45:34
すみません、VBで作ったGUI上からコマンドシェルの結果って取得できますか?
単純に
"ping 10.10.10.10"
ってStringを与えて、結果を取得する方法があればご教授ください。
333:デフォルトの名無しさん
05/08/30 00:55:11
System.Diagnostics.Processクラス
334:デフォルトの名無しさん
05/08/30 11:36:00
「管理ツール」の「データソース(ODBC)」のシステムデータソースに登録したデータソースに、ADO.NETを使って、システムデータソースの名前でアクセスしたいのですが、どうしたらいいのでしょうか?
ユーザーによってデータベースも異なります。
よって、データソースに名前でアクセスできるような方法をご存じないでしょうか?
よろしくご教授願います。
335:デフォルトの名無しさん
05/08/30 16:28:53
VB6のコード画面で [CTRL] + [↑] で一つ上のプロシージャに移動できた
はずなんですが、VB.NETで同様のことができるキー操作はないでしょうか?
336:デフォルトの名無しさん
05/08/30 18:21:28
すいません。学生でVisual Studio.net the Spokeのサイト
URLリンク(jp.thespoke.net)が落ちてるのですが
なぜでしょうか?
337:デフォルトの名無しさん
05/08/31 12:54:22
質問です。
OS:win xp
バージョン:VB.net
です。よろしくお願いします。
ピクチャーボックスを一つ用意して、もう一つをコントロール配列でその上にかぶせます。
そしてコントロール配列のほうのピクチャーをシャッターとし、タイマーで管理して開閉させます。
手動で用意したほうのピクチャーにはイメージリストから当たりとはずれの2種類をランダムで
選んできます。そしてキーダウンを有効にさせて、シャッターがあいていて、かつ、ピクチャーが当たり
の場合、tensuuを1足しこむ処理をしたいのですが、連打するとtensuuが何度も足しこまれてしまいます。
その・・・理由はわかっているのですが、どうすれば回避できるかがわかりません。
一回目に打鍵した直後にDo eventsで空ループを入れてみてもだめでした。
かといってスリープにすると他の処理まで止まってしまうと考えられるので試していません。
もう一つ考えたのは、打鍵した直後にフラグを立ててキーダウンを無効にし、そしてDo eventsで空ループを
適当にまわし、ループ終わった後にフラグを戻してキーダウンを有効に戻す。という方法ですが、
ちょっと今エラーが出てしまっています・・・。デバック中です。
でもなんかこう、ピンときません。よい解決方法をご教授いただけないでしょうか。
お願いします。
338:デフォルトの名無しさん
05/08/31 13:04:05
キーダウン>フラグ立てる>加点もろもろの処理>画像を変更するときにフラグおろす
で何か問題でも?
なんでDoEventsだのが出てくる?
339:デフォルトの名無しさん
05/08/31 14:49:26
質問です。
DirectPlayを使用したソフトを通信ソフト作ったのですが、DirectX 9.0c Runtimeだけをインストールしているユーザーだと、使用することが出来ません。
調べてみると、9.0a以降のバージョンでは、必要なファイルがインストールされない仕様に変更になっているようで、、、
ユーザー側で、別途「Managed DirectX」をインストールするか、SDKの方をインストールしてもらわないと使えないみたいな感じです。
セットアッププロジェクトでインストーラーを作成すれば、不足しているファイルもユーザー側の方にもインストールされるでしょうか?
340:デフォルトの名無しさん
05/08/31 23:33:17
基本的な質問ですまんです。
プロパティって、オーバーロードできないんでしょうか?
Dim _number as Integer
Property Number() As Interger
(Get略)
Set(ByVal Value As Integer)
_number = Value
End Set
Set(ByVal Value As String)
_number = Integer.Parse(Value)
End Set
End Property
みたいなことをやりたいわけなんですが。
オーバーロードしたけりゃ、SetNumber()みたいなメソッドを作らないとダメ?
341:デフォルトの名無しさん
05/08/31 23:35:14
Overridable
342:デフォルトの名無しさん
05/08/31 23:43:50
ってオーバーロードか。
Integer型のNumberプロパティにStringを代入できちゃ拙いだろう。
引数付きプロパティの引数違いのオーバーロードならできるけど。
343:デフォルトの名無しさん
05/08/31 23:51:59
thanx.
まあたしかに、class.Number = "774" なんてできたらマズそうですな。
素直にclass.SetNumber("774") みたいなメソッドにしときます。
(実際は単純な型変換だけじゃなくて、すこしロジックが入ります)
344:デフォルトの名無しさん
05/09/01 19:09:06
ASP.NETのResponse.FilesからHttpPostedFileを
For Each文を使って取り出したいんですが
キャストが有効でないといわれてしまいます
解決方法ってありますか?
345:デフォルトの名無しさん
05/09/01 19:09:44
VBコード内に記述するSQLについては。。。。
やっぱ、ここではなくてSQLスレだよね?
346:デフォルトの名無しさん
05/09/02 00:15:30
XP端末でVB.NETのアプリを起動したところ、例外が発生し悩んでいます。
ShowDialogで下記のようにフォームを表示しています。
フォームA→フォームB→フォームC
フォームC表示時にEnterキーを押下すると
System.InvalidOperationExceptionが発生します。
例外の内容としては、フォームC表示時にも関わらず、
フォームA内のフォームB起動ボタンがクリックされたイベントが発生し、
フォームBは表示済みなのに再度表示しようとしたために例外が発生した、というものでした。
しかし、ShowDialogで他の画面を表示しているのに
フォームAでイベントを拾うっていうのは本来ありえないはず、ですよね?
それが起きちゃうってことは、コーディングが間違ってるんですよね・・・
コーディング以外の要因でありがちな問題ってあるでしょうか。
あまりにもわからないので
「まさかFramework自体がバグッテルのでは?」なんてあるわけないことを疑うようにまでなってます・・・
347:デフォルトの名無しさん
05/09/02 00:44:54
>>346
もうすこし他人が読んで意味わかるような文章書かないと
誰も助言のしようがないよ。
とりあえず意味が読み取れる範囲で応答すると、
フォームBのボタンクリックのイベントハンドラでモーダルなフォームCを表示しているのなら、
フォームCでキャッチされてない例外が発生すれば、例外はフォームBのボタンクリックの
イベントハンドラまで遡ってくるんじゃないの?
348:最凶VB厨房
05/09/02 01:04:52
>>344
For Each文を使わない。
1個1個取り出せ。
>>345
対象DBサーバ。データベース名、テーブル名、カラム名、型、制約
OS、.net frameworkのバージョンなどの中で必要最小限のものを
全部書くならこのスレで質問しても問題はない。
返答があるかはわからんが。
>>346
コードさらせ。例外メッセージ全部さらせ。
349:最凶VB厨房
05/09/02 02:25:21
>>344
Request?AllKeysがあるぞ。
350:質問房 ◆v.TAYcWkbs
05/09/02 11:54:21
質問させてくだされ。
strSQL = "select " & _
" 伝票年月 as 入出庫年月," & _
" 得意先名称," & _
" 得意先コード," & _
" 部品番号," & _
" 部品色," & _
" 部品名" & _
" from " & _
" dbo.E_入出庫" & _
" where " & _
" 事業所 =" & data_factoryCD & " and " & _
" 伝票年月 =" & data_yymm & " and " & _
" 得意先コード = '" & costormerCode & "' and " & _
" 部品番号 = '" & data_partsnumber & "'" _
'" 部品色 = '" & data_partsColor & "'"
If data_partsColor <> "" Then
strSQL &= " and 部品色 = '" & data_partsColor & "'"
End If (ここでブレーク)
今、TESTサーバーでテーブル作成して、そのテーブルからデータを読んでいます。
検索先テーブルにはselectの対象になる部品が存在しています。
EndIfにブレークポイントを設定。デバッグ開始~ウオッチにて確認~SQLに
条件式をコピー。
(次に続く)
351:質問房 ◆v.TAYcWkbs
05/09/02 11:56:31
SELECT 伝票年月 AS 入出庫年月, 得意先名称, 得意先コード, 部品番号, 部品色,
部品名
FROM E_入出庫
WHERE (事業所 = 8) AND (伝票年月 = 200504) AND (得意先コード = 'xxxxxx') AND
(部品番号 = 'xxxxxxxxx')
と、SQL(エンタープライズマネージャー)では指定した部品内容が表示される。
しかし、VBの実行結果では表示されない。
この検索項目内容に部品の色があります。
SQL文で示す様に検索時、部品の色は絶対条件にしてません。色在り部品と無し部品在るからです。
色無部品を検索するとテーブル内にあるにもかかわらず検索されない。
色付の部品で実行するとVBの処理結果はOK。
これは何が原因と思われるでしょうか???
実行環境
OS:W2K-sp4
VS.NET2003//VB.NET 69516-006-0172567-18781
Framework 1.1(1.0も一緒に入っています)
352:デフォルトの名無しさん
05/09/02 16:02:25
関連のある複数のテーブルのいっぺんに消す方法ないでしょうか?
やりたいイメージはこんな感じです。
delete from (select * from a, b where a.id = b.id and a.last_date < '20050902')
もちろんこんなSQLは実行できませんが・・・
353:デフォルトの名無しさん
05/09/02 16:16:02 BE:32542823-##
>>348
トンクスコ
ググって見てもFor Eachでまわしてるサンプル見かけないので
出来ないようですね・・・
バグなのかなぁ・・・
354:デフォルトの名無しさん
05/09/02 16:17:49
>>352
CREATE TABLEの時にきちんとON DELETE CASCADEを設定してれば幸せになれるかも
355:デフォルトの名無しさん
05/09/02 16:24:04
>>353
サンクスコ
>>354
うほ!
ちょっと調べてみます。
356:デフォルトの名無しさん
05/09/02 23:36:50
>355
354さんの助言は、ALTER TABLEの時にも有効。
# M$ SQL Serverだよね?
357:最凶VB厨房
05/09/02 23:54:21
>344
Private Sub Submit1_ServerClick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Submit1.ServerClick
Dim hpf As HttpPostedFile
Dim s As String
For Each s In Page.Request.Files.AllKeys
hpf = Page.Request.Files.Item(s)
Console.WriteLine(s)
Next
End Sub
Submitボタン配置サーバコントロール化
File Field配置サーバーコントロール化
358:最凶VB厨房
05/09/03 00:14:56
>>350-351
よくわからんぞ。ウォッチで何を確認したんだ?
部品色がないときは空文字列なんだよな?nullじゃねぇよな?
data_なんとかは型はなんだ?String型か?
カラムの型はなんだ?さっぱりわからんぞ。
VBの実行結果では表示されない。ってどういうこった?
何に表示させてんだ?さーーーーーーっぱりわからんぞ。
とりあえずSQL文削って試せ。
>>352
ストアドトリガっちゅう手もあんぞ。ゴルァ!!!!!!!!!!!
359:最凶VB厨房
05/09/03 00:18:05
>>350-351
ってかプライマリキーはってんのか?
@はどうした?わけわからんぞ。
360:デフォルトの名無しさん
05/09/03 23:44:10
複数行のインデントはどうやるのでしょうか?
<編集>の行インデントがグレーアウトになって選べないのですが?
361:最凶VB厨房
05/09/03 23:56:52
ツール→オプション→Basic→タブ
インデント→スマート以外
362:最凶VB厨房
05/09/03 23:59:39
×ツール→オプション→Basic→タブ
○ツール→オプション→テキストエディタ→Basic→タブ
363:デフォルトの名無しさん
05/09/04 00:17:15
>>362
できました。。
ありがとうございます。
364:デフォルトの名無しさん
05/09/05 02:12:51
質問です。
内容は、既に起動しているエクセルに対して,vb.netで作成したアプリケーションから
セルに数値を記入するにはどうすればいいか、です。
やりたいことは、エクセルマクロ(VBA)からvb.netで作成したアプリケーションを呼び出し、
その処理結果を呼び出し元のエクセルのセルに書き込みたいのです。
今現在は、参照の追加でExcelObjectLibraryを追加し、
Dim xlApp As New Excel.Application
・・・
な感じで指定しています。
問題は、エクセルファイルを指定するときに
Dim xlBook As Excel.Workbook = xlBooks.Open(ファイル名)
とやると、元々そのファイルが起動しているため、2重に起動してしまいます。
新たにopenせずに、既に起動しているファイルを指定してやるにはどう
すればよいでしょうか?
(元々そのエクセルのVBAから呼び出しているため、そのエクセルが起動していることは
保証されている)
ちなみに起動していないエクセルのセルへのアクセスは成功しています。
365:デフォルトの名無しさん
05/09/05 02:18:41
こんなの?
URLリンク(www.google.co.jp)
366:デフォルトの名無しさん
05/09/06 14:33:26
タブコントロールを使ってプログラムを作っています。
選択されているタブによって処理内容を変えるようなプログラムです。
そのために、現在選択されているタブを取得するようなプロパティやメソッドがあれば知りたいのですが、どなたか、ご存じないですか?
よろしくご教授願います。
367:デフォルトの名無しさん
05/09/06 14:34:39
ちょっとはTabControlのプロパティ&メソッドに目を通してみたのか?
368:デフォルトの名無しさん
05/09/06 16:29:41
RTFM
369:デフォルトの名無しさん
05/09/06 17:47:56
>>366
ええええええええ?????????
370:デフォルトの名無しさん
05/09/06 18:25:42
ΩΩ Ω
371:デフォルトの名無しさん
05/09/06 18:41:43
釣りだよな?
ご存知もなにも、普通にやってれば気づくと思うんだが・・・。
372:デフォルトの名無しさん
05/09/07 14:03:42
タブコントロールを使ってプログラムを作っています。
選択されているタブによって処理内容を変えるようなプログラムです。
そのために、現在選択されているタブを取得するようなプロパティやメソッドがあれば知りたいのですが、どなたか、ご存じないですか?
よろしくご教授願います。
373:デフォルトの名無しさん
05/09/07 16:24:25
URLリンク(www.grapecity.com)
コレみたいに、複数列表示できるツリービューを.netで実現したいんですけど・・・
どーすればいいんでしょうか。
374:デフォルトの名無しさん
05/09/07 16:54:00
取りあえず見つけてみた
URLリンク(www.codeproject.com)
375:デフォルトの名無しさん
05/09/07 19:47:21
初歩的な質問ですみません
dir()で「ディレクトリ以外」って指定はどうするんでしょ?
vbnormal+vbreadonlyとかやったら「readonlyなディレクトリ」も引っかかるんですけど…
376:デフォルトの名無しさん
05/09/07 20:05:21
System.IO名前空間、DirectoryクラスのGetFilesメソッド使ったら?
377:デフォルトの名無しさん
05/09/07 21:39:17
>>372
>>367->>371
378:デフォルトの名無しさん
05/09/07 21:59:11
>>376
むう、やはりそれしかありませんか…
どもでした
379:デフォルトの名無しさん
05/09/07 23:50:08
デザイン時にマウスクリックでコントロールを移動できるように、
実行時でも、コントロールをマウスクリックで移動
ということは出来るのでしょうか。
実行時、iniファイル等から各画像の x,y を読み込み描画、
マウスで編集して、配置を保存、というようなことを目的としています。
380:デフォルトの名無しさん
05/09/08 00:13:03
>>379
URLリンク(dobon.net)
381:デフォルトの名無しさん
05/09/08 19:43:52
超初心者です。質問です。XP HomeでVB.NET2003を使っています。
COMからMicrosoft Web Browserを追加し、
AxWebBrowser1.Navigate("URLリンク(www.yahoo.co.jp)")
のようにしてForm起動時にWeb表示させています。
VB.NETの「開始」(F5)だとうまくいくのですが、
Releaseとしてビルドし、
\obj\Releaseにあるexeを起動させようとするとうまくいきません。
例外 'System.IO.FileNotFoundException' が WindowsApplication4.exe で発生しました。
とのエラーメッセージが出て、これをデバックしようとすると
'System.IO.FileNotFoundException' のハンドルされていない例外が WindowsApplication4.exe で発生しました。
追加情報 : ファイルまたはアセンブリ名 AxInterop.SHDocVw、またはその依存関係の 1 つが見つかりませんでした。
とのメッセージが出ます。
なにをどうすれば解決するのでしょうか。。。
よろしくお願いします<m(__)m>
382:デフォルトの名無しさん
05/09/08 20:05:47
\objじゃなくて\bin。
\objは中間ファイル用のディレクトリ。
383:長谷川友よ
05/09/10 11:04:04
ド・ラ・ルーブルの方法の3×3のプログラムが書けないんですが教えてもらえます?
vb.net2003です
384:デフォルトの名無しさん
05/09/10 11:06:47
宿題は自分でやらにゃいかんよ。
385:デフォルトの名無しさん
05/09/10 15:58:53
初心者ですみません。
c++ でAVIファイルを開きたいのですが、さっぱりわかりません。
DirectShowあるいはVideo for Windowsを使うのでしょうか?
386:デフォルトの名無しさん
05/09/10 16:23:56
>>385
VBとC++の区別もできない馬鹿に何を言うことがあろうか
387:名無しさん@そうだ選挙に行こう
05/09/11 02:54:26
Windowsのソフトでフォルダーを選択するダイアログが出てくるやつありますよね。
あれはなんていう名前のコントールなんですか?
それともVB.NETだと使えないの?
388:名無しさん@そうだ選挙に行こう
05/09/11 02:55:37
#include <stdio.h>
#include <stdlib.h>
main(){
int a[15][15],i,j,k,n;
printf("奇数の魔方陣\nn = ");
scanf("%d",&n);printf("\n");
if(n<0 || n>15 || n%2==0) {
printf("1~15の奇数やでぇ~.\n");
exit(1);
}
i=0;
j=n/2;
a[i][j]=1; //手順1第1行中央列に1
for(k=2;k<=n*n;k++){
if(k%n==1) { i++; } //手順3真下に書く
else if(i==0) { i=n-1; j++; } //手順41つ右の列の最下段
else if(j==n-1){ i--; j=0; } //手順51つ上の行の最左端
else { i--; j++; } //手順2次の数字を右斜め上
a[i][j]=k;
}
for(i=0;i<n;i++){
for(j=0;j<n;j++){
printf("%4d",a[i][j]);
}
printf("\n");
}
printf("\n要素の和=%d\n",n*(n*n+1)/2);
}
389:名無しさん@そうだ選挙に行こう
05/09/11 02:56:08
URLリンク(home.hamamatsu-u.ac.jp)
390:名無しさん@そうだ選挙に行こう
05/09/11 03:00:37
>>387
.NET 1.1から追加された、System.Windows.Forms.FolderBrowserクラス。
.NET 1.0/VS.NET2002(VB.NET2002)ならちと手間がかかるが
URLリンク(support.microsoft.com)
391:名無しさん@そうだ選挙に行こう
05/09/11 11:17:14
>>390
ありがとうございました。
メッセージが英語なのと初期フォルダーが一部しか選べないのがちょっと残念。
392:名無しさん@そうだ選挙に行こう
05/09/11 11:37:10
TreeViewの再表示で質問なのですが
.Nodes.Clear()で全てのノードをクリアし、再度ノードを追加して再表示させている画面があります。
その時にクリアのアニメーション効果をなくす事はできないでしょうか?
Windowsの画面のプロパティでアニメーションの効果をOFFにすればいいのですが、
インストールする全パソコンの設定を変更するわけにもいかず困っています。
表示する内容がDBのモニタ情報なので、再表示する前と後で情報が大きく変わってしまうこともあり、
部分的な再表示は難しいと考えています。
何か良い方法は無いでしょうか?
よろしくお願いいたします。
393:名無しさん@そうだ選挙に行こう
05/09/11 19:05:12
質問です。
作ったDLLをEXEファイルと別の場所に置きたいんですけど、
コンパイルするときにその場所が決まってません。
実行したときにユーザーにパスを指定させる形にしたいんですけど、
そのDLLをEXEに関連づけるにはどうすればいいですか?
パスを通そうと思ってProccess.Start("set path=c:\aaaa")とかやってみたら、
実行ファイルじゃないのでだめだと言われました。
いい方法があったら教えてください。
394:最凶VB厨房
05/09/11 19:51:15
>>393
どぼんのサイトのどこかに
プラグインがどうたら解説したページがある。
メルマガの方だったかな。
探してくれ。
それかGACにインストールとかもあるか。
やったこたぁねぇからやってみて報告よろ。
395:デフォルトの名無しさん
05/09/12 13:08:41
>393
Path通すなら、
CMD /C "set path=c:\aaaa"
を実行しては?
詳しくはCMDのヘルプを
396:デフォルトの名無しさん
05/09/12 23:58:56
>>392
BeginUpdate/EndUpdateメソッドはどう?
>>393
メインになるプロジェクトのapp.configの
<configuration>
<runtime>
<assemblyBinding>
<dependentAssembly>
以下の
<assemblyIdentity>
<codebase>
の二つの要素を書くことで実行時にバージョンリダイレクトできるんだが、
sn.exeを使って厳密名をつけてやれば、
codebase要素のhref属性で絶対パス指定や自身のディレクトリよりも上のディレクトリを相対パス指定したりできるようになる。
この一連の記事を読んでみると色々勉強になる。
URLリンク(www.atmarkit.co.jp)
397:最凶VB厨房
05/09/13 01:38:19
ほー( ..)φメモメモ
398:デフォルトの名無しさん
05/09/13 13:27:12
質問です。
ASP.NETWebアプリケーションを作成しているのですが。
[モジュールにて以下のようにクラス変数をPublic変数を宣言しました。]
Module AAA
Public g_HHH As clsHoge1
End Module
[ページクラスにて、いろいろ設定します。]
g_HHH.iParam1 = 1
g_HHH.strParam2 = "ABC"
:
この状態にて、
Webサーバマシンに、異なるクライアントマシン2台から作成したページにアクセスします。
[マシンA] ページアクセス
↓
[マシンB] ページアクセス
↓
[マシンA] 同じページにポストバックすると、マシンBで設定した値がg_HHHに入ってしまっています。
[マシンA]のアクセスと、[マシンB]のアクセスで、Module内のPublic変数をそれぞれ別々に持つことってできないんですか?
399:デフォルトの名無しさん
05/09/13 13:45:10
DateTimePickerコントロールで、カレンダーを表示させるメソッドは無いでしょうか?
400:デフォルトの名無しさん
05/09/13 16:44:04
>>395
おお!CMDですね。助かりました!
401:デフォルトの名無しさん
05/09/13 16:47:13
そして9x系で例外
402:デフォルトの名無しさん
05/09/13 16:49:11
そもそも.NETではPATHとは無関係にアセンブリを探索するんだが。
403:デフォルトの名無しさん
05/09/13 17:44:39
デバック時にフォームの起動位置を画面右上にしたいのですが、
どうすればよろしいのでしょうか?
404:デフォルトの名無しさん
05/09/13 17:52:08
#IF DEBUG
Me.StartPosition = FormStartPosition.Manual
Me.Location = New Point(任意の位置)
#ENDIF
405:デフォルトの名無しさん
05/09/14 12:01:05
DefaultValueでEnumを指定したいのですが
<DefaultValue(GetType(enmAAA), "2")>
とかにするしかないのでしょうか?
"2"がちょっといやなのですが・・・
406:デフォルトの名無しさん
05/09/14 12:34:12
何故2?
普通にメンバ名書けば良いんだが。
GetType(Keys), "F10"
とか。
407:405
05/09/14 13:12:41
>406
出来ました。
もう一点。
リセットができません。
Reset<Property>の実装は呼ばれないみたいです。
408:デフォルトの名無しさん
05/09/14 13:41:05
それは
URLリンク(www.microsoft.com)
と言う話か。
> メモ DefaultValueAttribute を適用するか、
> または ResetPropertyName メソッドと ShouldSerializePropertyName メソッドを指定します。
> この 2 種類の操作を同時に実行しないでください。
と書いてあるが。
409:405
05/09/14 16:21:36
>408
Enumだと
ResetPropertyName メソッドと ShouldSerializePropertyName メソッド
が呼ばれないみたいなんですよ・・・
410:デフォルトの名無しさん
05/09/14 16:28:43
呼ばれてるよ。
DefaultValue属性消せば。
411:デフォルトの名無しさん
05/09/14 16:45:50
>410
ダメです。呼ばれません。
コードがダメなのでしょうか?
Public Shadows Property HighlightText() As GrapeCity.Win.Input.HighlightText
Get
Return MyBase.HighlightText
End Get
Set(ByVal Value As GrapeCity.Win.Input.HighlightText)
MyBase.HighlightText = Value
End Set
End Property
Public Function ShouldSerializeHighlightText() As Boolean
Return Not MyBase.HighlightText.Equals(_DefaultHighlightText)
End Function
412:デフォルトの名無しさん
05/09/14 17:25:10
ん~、どうやら基底クラスのプロパティをShadowsで隠蔽した場合、
ShouldSerialize/Resetは基底クラスのが優先されちゃうようだねぇ。
逃げ方としては、ShadowsしたプロパティをBrowsable(False)で修飾して見せなくした上で、
似た名前のプロパティを作ってそっちでShouldSerialize/Resetを実装する、くらいかなぁ……。
413:405
05/09/14 18:17:04
>412
なるほど・・・
やっぱ別プロパティにしないとダメですね。
ありがとうございました。
414:デフォルトの名無しさん
05/09/15 01:18:37
VB6のファイルアクセス(ランダムアクセスとバイナリアクセス)に相当する機能って
クラスライブラリにはないでしょうかね?
具体例でいうと、例えばSingle型の配列を逐次ファイルに追記したり、
そうして作成したファイルをSingle型の配列に一挙に変換したり、
任意の位置のSingle型のデータにアクセスしたり、といった処理が
実現できるクラスはないだろうかということです。
いや、互換性ライブラリにVB6と互換性のある関数があるのは知っていますが
できればクラスライブラリの方を使いたいので。
415:デフォルトの名無しさん
05/09/15 01:28:58
System.IO名前空間下のクラスを舐めるように見ていったら?
416:932
05/09/15 06:04:44
>>396
レスを貰っていることに気がつきませんでした。ごめんなさい。
BeginUpdate/EndUpdateで目的のことが出来ました!
ありがとうございます。
417:デフォルトの名無しさん
05/09/15 09:41:38
>>414
ハァ?テンプレ読めないのか?
メクラなのか?池沼なのか?
どちらにしても君にはプログラム無理だから^^
施設に帰りなさい。ね?
418:414
05/09/15 12:23:41
>>415
舐めるように見ましたが、該当するクラスは見当たらないようですが。
ご自分が見てないんじゃないの?ひょっとして。
>>417
なんだコイツは。
419:デフォルトの名無しさん
05/09/15 12:35:14
探し方が下手かクラス名を見ただけか探してないかのどれかだ。
420:414
05/09/15 12:40:49
>>419
口調が偉そうな奴ってどうして例外なく無能なんだろう。
へえ~、そうなんだ。
じゃあ試しに次のコードを例示してみてもらえますか?
いや、できないなら無理することないですけどね。
■ Single型の配列を引数にとって既存のバイナリファイルに追記するメソッド
■ バイナリファイルのファイル名を引数にとって、それをSingle型の一次配列に
変換したものを返すメソッド。
421:デフォルトの名無しさん
05/09/15 13:10:36
ライブラリを探せもしない低能は煽りも下手らしい
422:デフォルトの名無しさん
05/09/15 14:47:22
>>414
聞いてる立場なら煽るんじゃなくて無視しろよ
答える気、無くすな・・・
423:デフォルトの名無しさん
05/09/15 18:21:46
>420
煽ってサンプル作らそうってんだなw
424:デフォルトの名無しさん
05/09/15 19:10:44
デバッグ時に保存しちゃうけどこれってやめれんですか?
職場のが保存しないもんで
つい閉じちゃって戻りたくてももどれないときあるですけど
どこで設定できるかわかならいです
425:デフォルトの名無しさん
05/09/15 20:45:33
>>420
お前のようなクズを性帝様が放っておくわけないよ?
426:デフォルトの名無しさん
05/09/15 23:21:43
ListViewのSubItemsにセットした文字列の260文字目以降が表示されません。
どなたか、回避方法を知っている方教えてください。
下記にサンプルをつけておきます。
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
ListView1.View = View.Details
ListView1.Columns.Add("test1", 200, HorizontalAlignment.Left)
ListView1.Columns.Add("test2", 4000, HorizontalAlignment.Left)
Dim item As New ListViewItem("aaa")
Dim buf As String
For ii As Integer = 0 To 257
buf &= "あ"
Next
buf &= "END"
item.SubItems.Add(buf)
ListView1.Items.Add(item)
End Sub
427:デフォルトの名無しさん
05/09/15 23:32:21
>>426
仕様。まあ260字並べられても誰も読まないしな。
参考:URLリンク(msdn.microsoft.com)
428:426
05/09/16 00:10:28
そうですか・・・仕様ですか。
ログとか(日付、区分、内容みたいな奴)を表示するのに手軽なコントロールだったんですけどね
どうしよう・・・
>> 427
とりあえず、納得しました。ありがとうございます。
429:デフォルトの名無しさん
05/09/16 00:37:54
ListView本来の使い方をすればいいだけじゃないの?
っていうか、カラムにそんな長文表示するってそもそもBad Designにも程があるような。
ListViewはアイテムを選択させる用途に徹して、選択したアイテムの詳細は
別途テキストボックスなりラベルなりで表示するようにするんじゃない普通は。
430:デフォルトの名無しさん
05/09/16 11:39:44
>>424
[ツール]→[オプション]→[環境]→[プロジェクトおよびソリューション]→ビルド/実行オプション
431:デフォルトの名無しさん
05/09/16 12:06:55
十進型より桁数の大きい数値を使って計算をしたいのですが
何かいい方法はありますか?
432:デフォルトの名無しさん
05/09/16 12:27:41
自分でそう言う構造体を書く
まあ.NET Frameworkのライブラリには存在しないので、どこかから流用したりするしかないな。
C#のサンプルだが
URLリンク(www.codeproject.com)
あるいはこことか
URLリンク(www.tokyo-pax.co.jp)
いっそC++のを移植するか。
433:デフォルトの名無しさん
05/09/16 13:08:18
Direct3Dで3Dのモデルをフォームに表示したいと思っています。
当方、VisualStudio.NET(2003じゃない)を持っており、DirectX9をインストールしました。
VisualStudio.NETで、(できればVBで)
DirectXインストールから、マウスドラッグで簡単な3Dモデルが動かせるようなプログラムを
書くまでを解説してるようなサイトってないでしょうか?
434:デフォルトの名無しさん
05/09/16 13:12:39
本屋に行けば売ってるじゃん
435:デフォルトの名無しさん
05/09/16 14:21:27
>>432
参考になりました。
ありがとうございます。
436:デフォルトの名無しさん
05/09/16 16:52:53
すいませんが、以下の質問があるのですが、教えてください。
・動的にSQLの変更が可能か?
・出力プリンタは、クライアントのプリンタを使用して出力が可能か?
・プレビュー出力は可能か?また、その方法は?
・VB.NETよりクリスタルレポートファイルを呼び出すコード記述例
複数の質問すいません。
437:デフォルトの名無しさん
05/09/16 17:12:50
まあまずどういう構成を考えているのかからだな
ASP.NETなのかそうでないのかすらわからんし
438:デフォルトの名無しさん
05/09/16 17:48:41
・可能
・逆にサーバのプリンタに出すほうが・・・。
下の2つはお試し版ダウンロードして試せば?クリスタルレポートはお試しあるのか知らんが。
ActiveReportならば、3番目も出来る(Webでも)、サンプルは製品についてくるからそれ見れば?
439:436
05/09/16 19:17:00
ありがとうございます。試してみます
440:デフォルトの名無しさん
05/09/16 19:19:19
㎡をtext1に入力するとtext2に坪数がでるプログラムをつくりたいのですが、流れを教えてくれませんか?
坪数=㎡*0.303です
441:デフォルトの名無しさん
05/09/16 19:29:05
Double.Parseして乗算してToString
442:デフォルトの名無しさん
05/09/16 22:36:36
テキストボックスで、AutoScrollPositionのようにスクロールの位置を取得したいのですが、どうすればよいでしょうか?
443:デフォルトの名無しさん
05/09/16 23:43:52
>>442
EM_GETFIRSTVISIBLELINEを使えば行番号で取得できるな。
444:最凶VB厨房
05/09/18 10:20:42
URLリンク(download.microsoft.com)
C#3.0
445:デフォルトの名無しさん
05/09/18 11:31:03
スレ的にはこっちでしょ。
Overview of Visual Basic 9.0
URLリンク(msdn.microsoft.com)
446:最凶VB厨房
05/09/19 00:43:50
すまぬの。
447:デフォルトの名無しさん
05/09/19 03:14:34
「グーグルをつぶす」--S・バルマー、幹部の転職に激怒
「話の途中で、 Ballmer氏は『まさかGoogleではないだろうね』と口にした」とLucovoskyは述べ、
それに対し同氏はGoogleに転職することを伝えたという。
「Ballmer氏はそのとき、椅子を手に取り部屋の反対側に向けて投げつけた。
椅子はそこにあったテーブルに当たった」(Lucovosky)。
Ballmerはその後、 GoogleのCEO、Eric Schmidtを激しく非難し始めたという。
「あいつを業界から葬ってやる。その程度のことは前にもやったことがある。
何度でもやってやる。Googleを抹殺してやる」
URLリンク(www.japan.cnet.com)
448:デフォルトの名無しさん
05/09/19 03:19:45
戦場は中国なのにMSに何が出来るんだろうね
449:424
05/09/19 09:54:48
>>430
たすかりますた
ありがとう遅レスすいません
450:デフォルトの名無しさん
05/09/19 21:16:39
会社でVB.NETのを使って開発予定なんですが、
自宅で練習したい場合はどうすればよいですか??
451:デフォルトの名無しさん
05/09/19 21:29:33
VS2005β
452:デフォルトの名無しさん
05/09/19 21:37:18
これっていつまで使うことができますでしょうか??
453:デフォルトの名無しさん
05/09/20 11:20:44
>>444-445
情報ありがとうございます。
今から翻訳しながら勉強してきます。
454:デフォルトの名無しさん
05/09/20 18:38:18
かなり初歩的な質問です。
今、vb.netの勉強をしているのですが、
msgbox("test")
messagebox("test")
これはどう使い分けるのでしょうか?
私には同じ動きをしているように見えるのですが?
455:デフォルトの名無しさん
05/09/20 20:04:15
>>454
その通りです。
456:デフォルトの名無しさん
05/09/20 20:36:43
>>454
MsgBoxはVB6.0までのMsgBox関数との互換性のために残されたレガシ関数。
与えられた値を内部で整理してSystem.Windows.Forms.MessageBox.Showを呼び出している。
System.Windows.Forms.MessageBox.Showは親ウィンドウを明示的に指定するオーバーロードがあるのが利点だな。利点を使うことはまず無いが。
457:デフォルトの名無しさん
05/09/20 20:57:59
>>456
ありがとうございます。
今後はMessageBoxを使っていきます。
458:デフォルトの名無しさん
05/09/20 23:53:39
WinFormにて、メッセージボックスから、呼び出し元に戻ってきた時の
イベントはどうすればとれるのでしょうか?
Enterは発生しませんよね??
459:デフォルトの名無しさん
05/09/20 23:57:10
MessageBoxなら閉じられるまでメソッドの流れはそこで止まるんだからイベントとか別に必要なくね?
なんでそう言う機能が欲しいと思った?
460:デフォルトの名無しさん
05/09/21 00:02:50
アクティブな項目の背景色を制御したいんです。
テキストボックスにフォーカスがある状態でメッセージボックスを出すと
ロストイベントは発生するのですが、
メッセージボックスが消えてもフォーカスイベントが発生しないため、
色が戻らず悲しいことになってます・・
461:デフォルトの名無しさん
05/09/21 00:24:41
メッセージボックスは別ウィンドウなわけで、
それが表示されたからってアクティブな項目が変わるわけでも無し、
背景色を変える必要はないと思うが……。
462:デフォルトの名無しさん
05/09/21 01:14:23
よくわからんけど、どうしてもイベント発生したければ、
MessageBox.Show()のラッパーメソッドを作って、
最後に自力でイベント投げればいいんじゃ?
463:デフォルトの名無しさん
05/09/21 11:11:04
System.ExecutionEngineExceptionの例外エラーは、なにが原因ででるんでしょうか?
.NET始めて、1週間。こんなエラーに困ってます。
464:デフォルトの名無しさん
05/09/21 11:22:44
どんな状況で出るのか、どんなコードで出るのか分からないのに答えようもないって。
465:デフォルトの名無しさん
05/09/21 12:02:18
下記のような.NETコードがあったとします。ComDll.dllに構造体を渡そうとしているのですが、
どうやら、下記のGetStatusの部分でSystem.ExecutionEngineExceptionがでるようです。
Public Declare Function GetControl Lib "ComDll" (ByVal hDev As Integer, ByVal CtlCode As Integer, ByRef SData As Integer, _
ByVal SDataNum As Integer, ByRef pStatus As GETSTATUS, ByVal RDataNum As Integer) As Integer
Public Function GetStatus(ByVal hDev As Integer, ByRef pStatus As GETSTATUS) As Integer
GetStatus = GetControl(hDev, CTRL_GET_STATUS, VariantType.Null, 0, pStatus, Len(pStatus))
End Function
466:デフォルトの名無しさん
05/09/21 12:11:34
まださっぱり情報が足りないが、取りあえず.NETの再インストールでもすれば?
引数や構造体のサイズの不整合っぽい気がするが……。
あとLen関数じゃなくてSystem.Runtime.InteropServices名前空間MarshalクラスのSizeOfメソッドを使うのが吉。
467:デフォルトの名無しさん
05/09/21 12:40:10
情報不足ですみません。なにを書いたらいいのかわからなくて・・・。
下記のコードは、GETSTATUSのストラクチャの宣言の部分。VB6.0ならば、Type
ですよね。
Public Structure GETSTATUS
.
.
<VBFixedArray(3, MAX_NUM - 1)> Dim AdditionalFlag(,) As Short
.
.
Pub Sub Initialize()
ReDim AdditionalFlag(3, MAX_NUM-1)
End Sub
End Structure
そして、GetStatusファンクションが呼ばれた場合、上でDefineしたものがすべて
Updateされるという役割をComDll.dllはしているわけですが、まだまだですみません。
468:デフォルトの名無しさん
05/09/21 12:58:30
ん、VBFixedArray属性使っても、アンマネージドとデータを相互変換するマーシャラは理解できない。
System.Runtime.InteropServices.MarshalAs属性を使って、(Cスタイルの配列なら)UnmanagedType.ByValArray(とSizeConstフィールド)を使わないといけない。
で、こいつは多次元配列は扱えないので一次元配列に開く必要がある。
469:デフォルトの名無しさん
05/09/21 13:07:26
返答ありがとうございます。
>System.Runtime.InteropServices.MarshalAs属性を使って、(Cスタイルの配列なら)UnmanagedType.ByValArray(とSizeConstフィールド)を使わないといけない。
VB6.0で作られた既存のプログラムを、Upgrade wizardを使って、.NETに変換しようとしているのですが、その場合でも、UnmanagedType.ByValArrayを使うべきでしょうか?
470:デフォルトの名無しさん
05/09/21 13:15:19
当たり前だ。Update Wizardは到底完全じゃない。
しかしまあ案の定Update Wizardか。典型的バグの元だ。
471:デフォルトの名無しさん
05/09/21 13:19:40
わかりました!
試してみます。ありがとうございました。
472:デフォルトの名無しさん
05/09/21 15:53:32
vb.netを勉強しているところなのですが、このようなエラーが出てきてしまいます。
エラーの意味自体があまりわかってないのですが、対処法を教えていただけないでしょうか?
宜しくお願いいたします。
'System.Data.SqlClient.SqlException' のハンドルされていない例外が system.data.dll で発生しました。
追加情報 : システム エラーです。
コードはこのような感じなんですが。
dr2 = cmd.ExecuteReader()で止まっています。
Private Sub frmA_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim cmd As SqlClient.SqlCommand = SqlConnection1.CreateCommand()
Dim dr2 As SqlClient.SqlDataReader
'コマンドのコネクション設定
cmd.Connection = SqlConnection1
'コネクションを開く
SqlConnection1.Open()
'コマンドの定義
cmd.CommandText = "SELECT a, b FROM c "
'データリーダーからのデータの読み出し
dr2 = cmd.ExecuteReader()
''データリーダーを閉じる
'dr2.Close()
End Sub
473:デフォルトの名無しさん
05/09/21 21:06:06
>472
そこまで分かっているなら、トラップしてSQLExceptionのMessageを
読むことだな。
474:デフォルトの名無しさん
05/09/22 01:07:02
>>473
レスありがとうございます。
>>、トラップしてSQLExceptionのMessageを読むことだな。
このご回答の意味がいまいち、わからないのですが、
なにか書き加えなければ駄目ということなのでしょうか?
475:デフォルトの名無しさん
05/09/22 01:38:45
>>474
解決しました。
例外を作って見てみたところ、SQLServerのユーザーに問題があったようです。
ありがとうございました。
476:デフォルトの名無しさん
05/09/22 22:19:55
関数ヘッダって皆さんどんなの使ってます。
関数を宣言部分だけ表示したとき、コメントが一行分表示かのうじゃないですか。
いいのありませんか?
477:デフォルトの名無しさん
05/09/23 21:02:43
今さらな内容で悪いのですが質問です。
WebBrowserコントロールでNavigateする際に、
WebResponseやらで通信した際に使ったCookieをつけてリクエストしたい。
つまるところ、WebBrowserコントロールで任意のクッキーつける方法が知りたいです。
ご存じの方おられましたらご伝授よろしくお願いします。
478:デフォルトの名無しさん
05/09/23 21:22:53
ん~、Win32APIのInternetSetCookieを使うしかないんじゃない?
479:477
05/09/23 23:36:45
>>478
GetResponsした戻り値のHttpWebResponseであるresについて、
Cookie = res.Cookies(0).Value()
で値を取得(名前は既知なので要らなかった)し、
Call InternetSetCookie("http://~~~/", クッキー名, Cookie)
としてexpires指定は無しで(つまりオンメモリクッキーとして)記憶させて、
WebBrowserControle.Navigate2("http://~~~/")
これで(擬似的実装ではあるが)なんとか望み通りの動作をさせることができました。
どうもありがとうございました。
480:デフォルトの名無しさん
05/09/24 02:02:36
すんません
listboxのD&DのサンプルはあるけれどlistviewのD&Dのサンプルが
見つかりません
どうやればいいのでしょう
481:デフォルトの名無しさん
05/09/24 07:47:58
何かのボタンを押せば、新しいウィンドウが開く操作が、
4冊本買って、どれにも載ってませんでした。
優しい人、教えてください。
別のウィンドウが開いたときの、変数の扱いもお願いします。
482:デフォルトの名無しさん
05/09/24 11:55:52
新しいウィンドウって新しいフォームのこと?
483:デフォルトの名無しさん
05/09/24 12:54:06
>482
そうです。初心者なので。。。
表現がおかしかったら、ごめんなさい。
484:デフォルトの名無しさん
05/09/24 15:01:44
まあ本書く人もあらゆる状況を想定してフォローしていくわけにも行かないよな
485:デフォルトの名無しさん
05/09/24 15:15:56
買ったけど読んでないだけでしょ。
正直、その程度の気力もないならプログラミングの舞台から退場すべきだよ。
プログラミングが、比較的能力の低い人間でもできるお手軽なものだった時代は
もうとっくに過ぎているんだから。
486:デフォルトの名無しさん
05/09/24 15:16:37
FormA.show で開く
487:デフォルトの名無しさん
05/09/24 16:09:09
書き込んだら、調べなきゃいけない気分に捕らわれて、
なんとかできました。
みなさん、ありがとうございました。
ちなみに、本には載ってなかったです。
488:デフォルトの名無しさん
05/09/25 22:14:01
Dim frm2 as Form = New Form2だと調子悪くて
Dim frm2 as New Form2だとちゃんと動作するのはなぜだろう
489:デフォルトの名無しさん
05/09/25 22:19:52
調子悪いって(w
490:デフォルトの名無しさん
05/09/25 23:10:01
MainMenuの項目を動的生成したい。
項目を追加するのは普通にAddすりゃいいのでできるんですが、
そのAddで作った項目がクリックされた時の判定方法がわからない・・・。
デザイン時に作ってある項目のようにClickイベントをあらかじめ用意することはできないし・・・。
どーやってクリックイベントを捉えればいいのでしょうか。
491:デフォルトの名無しさん
05/09/25 23:27:52
AddHandler メニューアイテム.Click, AddressOf メソッド
492:デフォルトの名無しさん
05/09/25 23:54:31
>>490
どぼんの配列の所を参考に。
493:デフォルトの名無しさん
05/09/26 00:08:55
っていうか、せっかくC#じゃなくVB.NET使うならもっと手を抜いて簡単にできるよ。
まずMenuItemをWithEvents付きでフィールドとして宣言する。
そんでそいつを必要なときにMainMenuのItemsに追加/削除すればいいだけ。
っていうか、本当にメニューを動的に生成なんてする必要があるかどうか
一度よく考えたほうがいいと思うけどね。
単にVisibleをいじるだけでもいいんじゃないの?
494:490
05/09/26 00:26:49
>>491 >>492
キーワードでぐぐってみたら多数ヒット。
なんというか初歩的なことだったようで情けないですが、
おかげで無事所望していた動作をさせることができました。
>>493
今回の場合「最近使ったファイル」的な機能の実装だったので、
動的に生成という仕様にしました。
みなさんどうもありがとうございました。
495:デフォルトの名無しさん
05/09/26 09:44:31
>>476
VBCommenter nDoc でグーグル様にお尋ねしてください。
ヘブンにいけますよ。
496:デフォルトの名無しさん
05/09/26 22:57:57
どうしてもわからないので質問させていただきます。
AddRemoveProgramsIconにアイコンファイルを設定したのですが
インストール後、アプリケーションの追加と削除の所のアイコンが
フォルダになってしまいます。
どなたか解決法をご存知の方教えていただけませんか。
497:デフォルトの名無しさん
05/09/26 23:09:31
エスパーが必要だなw
AddRemoveProgramsIconってデプロイメントプロジェクトのかなあ。
解決法って言ったって普通にやればそんな風にはならないけど。
問題のアイコンがインストール先にインストールされないようになってるとかかなあ。
498:デフォルトの名無しさん
05/09/27 14:24:41
質問です。
構造体を使用すると、メモリを大量に消費するという話しを耳にしたんですが、構造体とクラス。
使用するならどちらを使ったほうが賢いのでしょうか?
499:デフォルトの名無しさん
05/09/27 14:31:11
>>498
入門書、ページを読むのが賢いと思う。
@ITのVB.net入門でもきちんと書かれてる。
値型と参照型の違いそのものだから。
500:最凶VB厨房
05/09/27 20:14:40
>>498
どこで耳にした?
501:デフォルトの名無しさん
05/09/27 20:27:06 0
それ聞いてどうすんのw
しかし、>>498みたいにMSDNなり解説書なり読めば解決するような類の問題を
他人に投げる人って最初から終わってると思う。
正直、俺が上司とか学校の先生だったらコイツは見込みがないと判断して切るね。
502:デフォルトの名無しさん
05/09/27 21:13:25 0
>>501
うわ、なにこいつ偉そう・・・(;^ω^)
503:デフォルトの名無しさん
05/09/27 21:44:00 0
2chねらが答えてくれることに意味があるですよ。
調べればわかるとかとは別次元の質問者の意図をくみ取れない人こそ天才ではありませんね
504:最凶VB厨房
05/09/27 22:07:46 0
俺見込みねぇーーーーーーーw
ってーか、構造体もクラスもフィールドのサイズが
あんまり変わらんのであれば
>構造体を使用すると、メモリを大量に消費する
なんてこたぁないわけで。
となれば可能性としては二つ。
コピー時の動作の違いかスタック・ヒープのことかどっちか。
構造体の値渡しや代入ならば消費するメモリはその構造体の
分だけは少なくとも増える。
クラスの場合なら参照がコピーされるだけなんでたいして増えない。
という可能性と、
構造体の場合はスタックに取られる可能性がある。
クラスはヒープだけなはずだ。
となると>構造体を使用すると、メモリを大量に消費する
ってのはメモリはメモリでもスタック領域かもしれねぇ。
これなら間違っているわけじゃぁない。
大量に消費したからといってスタックを食いつぶすとは
到底思えんけどな。配列にしたらヒープにとられるしよ。
要は耳にした話の文脈がわからんのだから聞いただけだがや。
耳にした話がわかりゃぁそりゃちょっと違うとか指摘もできるがや。
>>498ってなわけでや。
代入の時の違いがわかっとりゃぁええのや。サイズなんぞ普通は気にするな。
サイズなんぞ気にしてたら頭はげるぞ。
505:デフォルトの名無しさん
05/09/28 00:35:59
URLリンク(www.unisys.co.jp)
しかしなんとなくstructで設計して、あとからnull(Nothing)の状態が欲しくなって困る罠。
506:デフォルトの名無しさん
05/09/28 00:43:09
>>505
そんな理由で困ることなんてありえんと思うが。
507:デフォルトの名無しさん
05/09/28 09:31:16
>>504
その説明は元質問の回答になってないと思うよ。
そもそも、スタックとヒープの違いというか存在を理解してないから、ああいう質問なわけで。
だから入門書嫁っていう回答が出るわけで。
508:デフォルトの名無しさん
05/09/28 12:02:44
>>504
要約すると
私:「ファイルから読み込んだデータは構造体を使ってArryListでAddしてる」
相手:「それなら構造体よりクラスでやった方がいい。メモリの消費を抑えられるし、構造体の多用はメモリの消費が激しいから」
という感じです。
>>499
読んでみます。
>>501
お気遣いありがとうございます。
しかし心配はありません。
職場はプログラム系の仕事とはかけ離れており、通っていた学校もプログラムに関連するものではないので。
509:デフォルトの名無しさん
05/09/28 12:07:33
うん、相手は丸ごと勘違いしてるね。
あとデータによっては構造体でやるのは拙いかもね。
510:デフォルトの名無しさん
05/09/28 12:35:12
別にそんなに勘違いしてないんじゃないの?
ArrayListに突っ込むとボクシングされちゃうわけだから。
クラスで同じことをした場合の二倍弱のメモリを食うはず。
511:デフォルトの名無しさん
05/09/28 12:41:52
まあオリジナルのデータを捨てちゃってもよければその限りじゃないけど。
512:デフォルトの名無しさん
05/09/28 14:37:15
変なIDでてるけど何?
513:デフォルトの名無しさん
05/09/28 16:17:47
病気
514:デフォルトの名無しさん
05/09/28 21:23:15
>>491
490じゃ無いけど便乗質問
クリックイベントは拾えたんだけど、じゃあどのアイテムクリックしたの?
てのはどうやればいいんでしょ
515:デフォルトの名無しさん
05/09/28 21:31:00
時と場合によるが、Indexつかったりとか、HashtableでMenuItemインスタンスと情報を関連づけて管理するとか。
MenuItemを派生させてTagプロパティを作って、そこに必要な情報を詰めるとか。
//.NET 2.0ではMenuItemにもTagが標準装備されるんだけど。
516:最凶VB厨房
05/09/28 21:44:51
>>508
>>509に同意。
'''''''''''''''''''''''''''''''''''
>>514
Object型senderをMenuItemにキャストすりゃいいんじゃね?
517:514
05/09/29 00:02:18
>>516
それで出来ました
どーもでした
518:496
05/09/29 11:23:59
みなさんお疲れ様です。
>497 さん返事が大変遅れまして申し訳ありません。
アイコンなのですが、結局わからずじまいです・・・
「すべてのユーザー」でインストールすれば、
アプリケーションの追加と削除にアイコンが出てくるのですが・・・
AddRemoveProgramsIconはデプロイメントプロジェクトのやつです。
519:デフォルトの名無しさん
05/09/29 11:42:52
DataTableクラスで、SELECTメソッドを2回続けて使うとどうなりますか?
両方の条件に合うレコードのみが残りますか?
それとも、2回目の条件に合うレコードのみが残りますか?
どうでしょうか?
よろしくご教授願います。
520:デフォルトの名無しさん
05/09/29 12:10:17
自分で試せよ・・・。
521:デフォルトの名無しさん
05/09/29 14:29:57
>>520
動作を見る限り、2回目の条件に合うレコードのみが残っているように思えます。
それを確認したかったのです。