VB.NET質問スレ (Part17)at TECH
VB.NET質問スレ (Part17) - 暇つぶし2ch369:デフォルトの名無しさん
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割。


508:デフォルトの名無しさん
06/09/22 23:30:02
createobjectでIEのオブジェクトを作成しているのですが
最前面で表示されない場合があります。
最前面で表示される方法はないでしょうか?
よろしくお願いします。

dim ie as object
ie = createobject("InternetExplorer.Application")
ie.visible = true
ie.navigate2 "URLリンク(www.google.co.jp")

'最前面へ


509:デフォルトの名無しさん
06/09/22 23:31:37
>>507
MSDNの日本語訳は原文にある重要な説明が省略されていたり酷いもんだな~
で、結局、原文の方を読まないと使い物にならない。

あんな訳なら自動翻訳のがマシ。

510:デフォルトの名無しさん
06/09/22 23:38:01
>>508
SetForegroundWindow

511:デフォルトの名無しさん
06/09/23 00:45:33
>>492
MSDNライブラリで再販というか公開再開されてたな。MSJava部分を削除して。
よっぽど需要が多かったんだろう。
>>509
さすがに「宇宙天啓データベース」よりは…
まあ人間が「意図的に」重要な部分を脱落させる方がたちが悪いかもだけど

512:デフォルトの名無しさん
06/09/23 08:16:55
Int32からIntPtrへキャストする方法教えてください。

513:512
06/09/23 08:26:39
事故解決しました。

514:デフォルトの名無しさん
06/09/23 08:28:02
コンストラクタ

515:デフォルトの名無しさん
06/09/23 10:40:45
これだけ乗換えが進まないってことは、
オブジェクト指向が糞ってことだよな。

516:デフォルトの名無しさん
06/09/23 10:50:49
VB脳には高度すぎたんだよ

517:デフォルトの名無しさん
06/09/23 12:26:57
>>509
実際にオリジナルの英語版と日本語の翻訳を読み比べたことがないのがバレバレ
MSDNの翻訳は極めて適切だっつーにw
わかりにくいのは翻訳のせいじゃないし

518:デフォルトの名無しさん
06/09/23 12:49:28
>>517
Platform SDK 辺りのは強ち間違いでもない。
絶対数としてはそう多くはないが、やはり間違いは印象に残るからな。

MSDN2 では極めてと言っても良いぐらいに質が高くなったね。

519:デフォルトの名無しさん
06/09/23 15:41:17
OleDbでFirebirdを使うプログラミングをしてるのですが、
ExecuteNonQueryメソッドやExecuteReaderメソッドで、
「指定されたキャストは有効ではありません。」という例外が発生します。

Dim oConn As OleDb.OleDbConnection
Dim com As OleDb.OleDbCommand
Dim oCmd As OleDb.OleDbCommand
Dim oReader As OleDb.OleDbDataReader

oConn = New OleDb.OleDbConnection
oConn.ConnectionString = "File Name=C:\test.udl;"
oConn.Open()

oCmd = oConn.CreateCommand()
oCmd.CommandText = "select * from country where country = 'USA'"

oReader = oCmd.ExecuteReader()
While oReader.Read()
Debug.WriteLine(CStr(oReader("COUNTRY")) & "," & CStr(oReader("CURRENCY")))
End While

oReader.Close()
oConn.Close()



何か間違えているところはありますか?

520:デフォルトの名無しさん
06/09/23 15:49:39
GetHogehoge メソッド使って .NET の型で取得すれ。

521:デフォルトの名無しさん
06/09/23 20:32:10
>>517
昔のMSDNはwsprintf()の1,024バイト制限の記述が日本語の方では漏れていたり
結構酷いもんだったよ。こんなの致命的でしょ。
で、最近は英語の方しか見ないのでいちいち対比なんてしてません。w

522:デフォルトの名無しさん
06/09/23 20:49:56
化石 乙

523:デフォルトの名無しさん
06/09/23 21:22:46
3年で化石か。

524:デフォルトの名無しさん
06/09/23 22:06:17
この場合msdn2に移行というイベントがはっきりしてるわけで

525:デフォルトの名無しさん
06/09/23 22:40:01
英語版MSDN2をローカルに入れられるインストーラはありますか?

526:デフォルトの名無しさん
06/09/23 23:05:45
でも、MSのサイトでみる自動翻訳はやっぱりむごいよ。
てにおはが間違ってるんだもん。読んでて疲れる。

527:デフォルトの名無しさん
06/09/23 23:16:56
自動翻訳に文句言っても仕方ないだろw

528:デフォルトの名無しさん
06/09/24 03:48:46
どうでもいいがMSDNでまともに探せないとか見つけても理解できない奴は
VBに限らず何やっても相当苦労すると思う。

むしろ対話式で質疑応答しないと出来ない奴がプログラミングしてるってのは凄いと思う。
どれほど難しく見えてるのか想像つかん。まじで

529:デフォルトの名無しさん
06/09/24 06:46:48
ああ、違いない。どうでもいいことだな。

530:デフォルトの名無しさん
06/09/24 09:21:11
VB.NET 2005 の TreeViewコントロールに関して教えていただきたいのですが、
Shiftキーを押しながらマウスがホイールされたら一度に表示可能な項目数分を
スクロールさせたいのですが、どうやったら良いでしょうか。。。

イメージとしては下記のコードのような感じです・・・・(コンパイルできませんが;;)

Private Sub TreeView_MouseWheel(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles TreeView1.MouseWheel

If CBool(Control.ModifierKeys And Keys.Shift) Then
Select Case e.Delta
Case Is < 0 '下に TreeView1.VisibleCount 分スクロール
e.Delta = TreeView1.VisibleCount * -1 '←ReadOnlyなので値を入れられない
Case Is > 0 '上に TreeView1.VisibleCount 分スクロール
e.Delta = TreeView1.VisibleCount '←ReadOnlyなので値を入れられない
End Select
End If
End Sub

531:デフォルトの名無しさん
06/09/24 12:25:58
お前らの言いたいことはわかったから、おれのマシンの

「問題が発生したため、Microsoft(R) Visual Basic Compilerを終了します。
ご不便をかけて申し訳ありません。」

をどうにかしてくれ。
謝る前に直せよ、ビル・ゲイツ。


532:デフォルトの名無しさん
06/09/24 15:29:46
まあ、2chで文句言ってる暇あったらインストールしなおすよな。OSから。

533:デフォルトの名無しさん
06/09/24 23:01:07
俺のマシンは夏休みと冬休みにバックアップ&初期化&フルインスコ
してるよ。95OSR2時代からの癖みたいなもんだ。

534:デフォルトの名無しさん
06/09/25 15:08:31
MAPIでOutlook2002sp3以降にアクセスした際の警告ダイアログ、
プログラムが、Outlook 内に保存されている電子メールアドレスに
アクセスしようとしています。よろしいですか?」ってやつ。
あれってExchangeServerの設定いじる以外にどうしようもないですかね。
クライアントのレジストリいじくれば何とかなりそうなんだが。


535:デフォルトの名無しさん
06/09/25 15:41:12
ComboBoxのSelectedIndexChangedイベントでは変更後のSelectedIndexですが
このSelectedIndexの変更前の値を知る方法を教えてください

536:デフォルトの名無しさん
06/09/25 16:01:27
Enterで値確保しとけば?

537:デフォルトの名無しさん
06/09/25 16:38:35
初期値をフィールドに入れといて
SelectedIndexChangedの度にそのフィールド更新したらいいじゃん

538:デフォルトの名無しさん
06/09/25 17:24:58
PostMessageを使って別のEXEにメッセージを送りたいんだけど
Spy++で見てもなぜかメッセージがPostされてません
同じように宣言と設置をしてるFlashWindowはちゃんと動作してるので
ハンドルの取得ミスとかではないと思うのですが、、、
PostMessageには何か特殊なやり方があるのでしょうか?

宣言↓
Public Declare Function PostMessage Lib "user32" Alias "PostMessageA" _
(ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long




539:デフォルトの名無しさん
06/09/25 17:27:28
それVB6用だろ

540:538
06/09/25 17:38:33
>>539
もしかしてLongのところ全部Integerですか??

と思って全部換えたら動きました
ありがとうございました!

日ごろVC++ばっかり使ってたのでVBの仕様の違いをしりませんで、、
すいませんでしたorz

541:デフォルトの名無しさん
06/09/25 20:39:13
>>540
URLリンク(www.pinvoke.net)

542:デフォルトの名無しさん
06/09/25 21:09:44
デバッガでStringとかの値が16進値で表示されないんですが仕様ですか?

543:デフォルトの名無しさん
06/09/25 21:36:54
仕様です
て言うかその16進値ってのは何を指してるんだ

544:デフォルトの名無しさん
06/09/25 22:29:02
>>543
CR/LFとかのコードが入ってるか見たいわけよ。

545:デフォルトの名無しさん
06/09/25 22:30:19
お世話になります。
Asp.netでボタンを押下した時にクライアントサイドに
メッセージボックス表示、そして
処理の途中にもう一度メッセージ表示するには
どうしたらいいでしょうか?

546:デフォルトの名無しさん
06/09/25 22:58:50
ngen.exe の使いかたがよくわからないんだけどどうやるの?

547:デフォルトの名無しさん
06/09/25 23:10:50
ngen /?

548:デフォルトの名無しさん
06/09/25 23:46:34
「フォームの作成」と「プロシージャの記述」とは主にどのような作業のことを指すのですか?
できれば、簡潔にまとめてほしいです。

549:デフォルトの名無しさん
06/09/25 23:48:56
まあ簡潔にいうと君はプログラマには向いてないってことでしょう。

550:デフォルトの名無しさん
06/09/25 23:55:12
だな。
最近多いよね。基本的な入門書も読まずにプログラム組む新人。


551:デフォルトの名無しさん
06/09/26 00:04:32
>>550
組むわけではないんですが、都合上どうやるのかを知っておかなくては行けないんです。

552:デフォルトの名無しさん
06/09/26 00:21:46
フォームの作成
フォームのインスタンスをコンストラクトすること

プロシージャの記述
プロシージャをディスクライブすること

553:デフォルトの名無しさん
06/09/26 00:27:37
>>552
上は分かりますが、下はそのままじゃないですか。
もうすこし、詳しく教えていただけませんか?

554:デフォルトの名無しさん
06/09/26 00:32:26
プロシージャの記述
プロシージャをコンポーズするステートメントをディスクライブすることによって
プロシージャとしてのファンクションをコンポーズすること

555:デフォルトの名無しさん
06/09/26 01:42:14
もうやめれw

556:デフォルトの名無しさん
06/09/26 09:38:07
・フォームの作成
フォームを精魂込めて我が子を育てるがごとく作成すること。

・プロシージャの記述
関数の記述は一関数入魂が基本です。血の出るほどの魂を込めて記述しましょう。

557:デフォルトの名無しさん
06/09/26 11:01:55
>>548
「フォームの作成」
ボタンやテキスト・フィールド、コンボ・ボックス等のGUI部品を並べて画面を作る事です。

「プロシージャの記述」
フォームの作成で作ったボタン等が押された時に何かの計算をするとかデータベースから
値を読み込むとかのプログラム処理を記述します。


# >>548がのクライアントだったらどうするよ? しかもおエラいさん。
# いい加減なことを吹き込んで苦労するのはおまいらだ。w

558:デフォルトの名無しさん
06/09/26 11:03:02
日本語が変だ。orz

559:デフォルトの名無しさん
06/09/26 11:05:52
思ったより簡単に沢山釣れましたので満足です。
どう見ても釣堀りです。ありがとうございました。

560:デフォルトの名無しさん
06/09/26 15:08:14
VB.NET2003でコントロールのサブクラス化がしたいのですが
サンプルをいただけないでしょうか?

561:デフォルトの名無しさん
06/09/26 15:17:55
URLリンク(support.microsoft.com)

562:560
06/09/26 15:32:27
すみません。事故解決しました。

563:560
06/09/26 16:01:29
Protected Overrides Sub WndProc(ByRef m as System.Windows.Forms.Message)

If m.Msg = &h201 Then 'WM_LBUTTON_DOWN
 If Msgbox("キャンセルしますか?") = vbYes Then
  Return
 End If
End If

MyBase.WndProc(m)

End Sub

としてキャンセルのときは左クリックを無かったことにしたいのですが
上記のようにただのReturnですと左クリックのメッセージが
うまくキャンセルできていません。
次の左クリックが無効になってしまいます。
綺麗なキャンセルのやり方があれば教えてください。
よろしくお願いします。


564:デフォルトの名無しさん
06/09/26 21:13:15
>>563
釣り?
そりゃクリックとキー入力じゃメッセージ違うでしょ。

っていうか、ドトネトじゃそういうやり方はどっちかというと邪道。
OnClickをオーバーライドした方が簡単だしわかりやすい。

565:デフォルトの名無しさん
06/09/26 21:16:15
つーか、そんな糞UI誰が喜んで使うんだと小一時間

566:563
06/09/26 21:19:58
すみません。事故解決しました。

567:デフォルトの名無しさん
06/09/26 21:22:40
完全に頭おかしい奴だなw

568:デフォルトの名無しさん
06/09/27 11:34:38
PictureBox1.ImageLocationに、
リファラーを設定してWeb上の画像を表示する方法を教えてください。

569:デフォルトの名無しさん
06/09/27 11:48:38
リファラーを設定を設定します

570:デフォルトの名無しさん
06/09/27 12:36:18
PictureBox1.ImageLocationに、
リファラーを設定してWeb上の画像を表示する方法を教えてください。

571:デフォルトの名無しさん
06/09/27 12:42:09
572 :570 :2006/09/27(水) hh:mm:ss
すみません。事故解決しました。

って来る予感w

572:デフォルトの名無しさん
06/09/27 12:42:39
PictureBox1.ImageLocationに、
リファラーを設定してWeb上の画像を表示する方法を教えてください。

573:570
06/09/27 13:08:42
みません。事故解決しました。

574:568
06/09/27 13:14:20
PictureBox1.ImageLocationに、
リファラーを設定してWeb上の画像を表示する方法を教えてください。

誰も解らないのですか?

575:563
06/09/27 13:24:06
HTTPで画像を取ってきてPicutureBox1にロードすればいいのでは?

576:デフォルトの名無しさん
06/09/27 13:33:04
画像の置き場の管理者に
「リファラみんじゃねーぞ(゚ロ゚)モルァ!! 」
ってメール打て

577:568
06/09/27 14:20:36
PictureBox1.ImageLocationに、
リファラーを設定してWeb上の画像を表示する方法を教えてください。

ここはラベルの低いスレですね

578:デフォルトの名無しさん
06/09/27 15:31:46
ヒント
インターネットRFC辞典を読め

579:568
06/09/27 16:19:56
PictureBox1.ImageLocationに、
リファラーを設定してWeb上の画像を表示する方法を教えてください。

ほんと皆さんにはがっかりです

580:デフォルトの名無しさん
06/09/27 16:30:18
池沼?

581:デフォルトの名無しさん
06/09/27 16:44:45
エロ画像Browserでも作ってるんだろうな

582:デフォルトの名無しさん
06/09/27 17:09:32
PictureBox1.ImageLocationに、
リファラーを設定してWeb上の画像を表示する方法を教えてください。

全然役に立たないですね

583:568
06/09/27 17:58:37
PictureBox1.ImageLocationに、
リファラーを設定してWeb上の画像を表示する方法を教えてください。

オナニーは抜いた後にしてください。

584:真の568
06/09/27 18:10:19
みんな興味深々じゃんwww
教えたれよ

585:デフォルトの名無しさん
06/09/27 18:10:27
解答もらえてる質問ともらえてない質問には大きな差がある。

質問するなら他の質問の仕方を見てみろ。


586:デフォルトの名無しさん
06/09/27 18:18:55
解答もらえてる質問
→簡単な質問

もらえてない質問
→難しい質問

587:デフォルトの名無しさん
06/09/27 18:49:31
>>568
なぜリファラーが必要だと思うのか説明してくれよ。
本当はリファラーかどうかもわからないんだろ?

>>586
典型的な答えてもらえないタイプだな。



588:デフォルトの名無しさん
06/09/27 19:18:28
PictureBox1.ImageLocationに、
リファラーを設定してWeb上の画像を表示する方法を教えてください。

無駄なレスは不要です

589:デフォルトの名無しさん
06/09/27 19:21:13
しばらく構わずに放っておいたらどこまで続くだろうな。

590:デフォルトの名無しさん
06/09/27 19:21:54
PictureBox1.ImageLocationに、
リファラーを設定してWeb上の画像を表示する方法を教えてください。

質問する時間帯が悪かったみたいですね

591:デフォルトの名無しさん
06/09/27 19:47:23
PictureBox1.ImageLocationに、
リファラーを設定してWeb上の画像を表示する方法を教えてください。

荒らしてた厨房は今頃宿題ですかね

592:真の568
06/09/27 20:06:50
>>587
例えば、ITMadiaはリファラーを設定しないと画像直リンできません。
URLリンク(image.itmedia.co.jp)
とかをフォーム上で表示したい場合、
リファラーに URLリンク(www.itmedia.co.jp) を指定するとDLできます。
なので、リファラーは必要です。

ターゲットURLとリファラーURLを引数として、
ターゲットURLにリファラーURLをセットしてPOSTし、
対象をDLするSubプロシージャーを作りたいのです。

どなたかテンプレを。。。

593:デフォルトの名無しさん
06/09/27 20:30:57
HttpWebRequest 調べれ
自前で取ってくる必要がある

594:デフォルトの名無しさん
06/09/28 11:02:57
クソ言語  VB.NET

595:デフォルトの名無しさん
06/09/28 18:30:30
>>594
馬鹿とハサミは使いよう。
言語も同じく。

596:デフォルトの名無しさん
06/09/28 19:15:50
言語つーより、このツール自体ゴミですね。
なにこの操作性?まともな開発ツールじゃないよ?
どこかの素人学生がつくったようなツールだ

597:デフォルトの名無しさん
06/09/28 19:20:48
スレ違い

598:デフォルトの名無しさん
06/09/28 19:21:56
いやVB.NETの事なのでスレ違いじゃないですよ

599:596
06/09/28 19:31:47
あ、開発ツールの話は、
Visual Studio 2005スレ Part16
スレリンク(tech板)
ですね^^

すいません。私の頭にウジが沸いているんです。許してください。

600:デフォルトの名無しさん
06/09/29 03:11:25
vb.netで、DataGridのカラムヘッダーのソート方向を表す▲の色ってどのオブジェクトで変更できます?
DataGridのBackgroundColorとHeaderBackColorを同じ色にしたら三角が見えなくなったので、
別の色に変更したいです。

601:デフォルトの名無しさん
06/09/29 14:39:57
DataSetの中に、Tableがあるかないかを取得するには、どうしたらいいですか?

602:601
06/09/29 14:59:01
Dim tb1 As DataTable
Dim str1 As String
For Each tb1 In ds.Tables
str1 = tb1.TableName
If str1 = "Table1" Then
MsgBox("Table1は、ないです。")
Exit Sub
Else
MsgBox("Table1は、あるです。")
End If
Next tb1

↑みたくしてみました。
もっと、うまい方法があるのかな?

603:デフォルトの名無しさん
06/09/29 15:02:54
あ!↑あるとない逆でした///。

604:デフォルトの名無しさん
06/09/29 15:16:11
>>601
つds.Tables.Contains(テーブル名)

あと602のコードだけど実行したら
ないです→ないです-(以下見つかるまでループ)→あるです
ってブラクラみたくなると思うんだが

605:デフォルトの名無しさん
06/09/29 15:22:08
そんなあるか無いか調べないと駄目っていう状態で作りたくないな。
質問者の設計が糞だと思う。

606:600
06/09/29 15:39:14
help me, please...

607:デフォルトの名無しさん
06/09/29 16:21:30
>>606
自前で描画

608:デフォルトの名無しさん
06/09/29 16:39:23
VB.NET始めて2ヶ月の初心者です
学習用のサンプルで
CInt(x)

CType(x, integer)
というのが出ていたのですが、これって同じ結果になるものですか?
それとも状況によって使い分けたりするものなのでしょうか

609:デフォルトの名無しさん
06/09/29 17:01:48
>>606
描画がいやなら、別の色組み合わせを検討してみよう。

610:デフォルトの名無しさん
06/09/29 17:14:01
>>608
VB.NETのキャストは何種類かある
CType(val, T)は汎用。ちなみに失敗するとInvalidCastExceptionが出る。
CIntとかCLngとかは6.0以前の遺産じゃないかな?まあ型指定の手間省けるけど。
これらも変換できないときはInvalidCastExceptionを投げる。

ちなみにTryCast(obj, T)だと失敗したときはNothingが返される。ただし参照型限定。

611:デフォルトの名無しさん
06/09/29 17:38:09
>>604
Containsで、できました!嬉しいです。ありがとうございました。

ソースをコピペしたとき、なにげなしに、<> のとこを = に変更しちゃったので、
ブラクラになってしまいました。ホントは、Exit Subは下の段です。。
すみませんでした。。

612:600
06/09/29 17:40:25
>>607>>609
サンクスです。
基本的に逃げ道は無いということですね…。

613:デフォルトの名無しさん
06/09/29 20:18:33
>>610
System.Convertと言うのもあるな。

614:デフォルトの名無しさん
06/09/29 22:45:52
行き先の型が確定してるなら、DirectCastが良い。


615:デフォルトの名無しさん
06/09/29 23:34:24
質問スレと関係ねえけど、先進性を売りにしてるドトネト諸言語でも
キャストと変換が峻別されてないのはどうにかならんかねと思う。

616:デフォルトの名無しさん
06/09/30 03:32:23
>行き先の型が確定してるなら、DirectCastが良い。
おかしなことをゆうな。


617:デフォルトの名無しさん
06/09/30 06:08:03
元先って表現が正しかったかね。
あいまいさのない変換ならって意味。

618:608
06/09/30 09:07:27
>>610,613,614
回答ありがとうございます
色々試して使い分けられるように頑張ります

619:デフォルトの名無しさん
06/09/30 14:37:58
検索をしようと、ctrl+Fを押下したのですが、検索ボックスが表示されません。
昨日までは、表示されていたのですが・・・
どうしたら表示されるようになるでしょうか?

620:619
06/09/30 15:08:17
タスクバーをけしてみたら、画面の下の方に出ていました。
くそ質問ですみませんでした。

621:デフォルトの名無しさん
06/09/30 17:29:14
>>620
IDEのツールボックスやウィンドウレイアウトは、オプションから初期
設定に戻すことができるよ。今回のが該当するのか不明だけど、同僚
がいっつもツールボックスを紛失するんで、俺も覚えてしまった。

622:デフォルトの名無しさん
06/09/30 18:29:41
VB.NETで非同期イベントってどうやればいいんですか?
C#だとこんな感じでできるのですが
 //delegate設定
 public delegate void testDelegate( object sender, EventArgs e );
 //イベント設定
 public event testDelegate Tested;

 //非同期イベント発行
 Tested.BeginInvoke(this, EventArgs.Empty, new AsyncCallback(TestedCallback), Tested);
 //コールバック関数
 private void TestedCallback(IAsyncResult ar)
 {
  testDelegate callback = ar.AsyncState;
  callback.EndInvoke(ar);
 }

VBだとTested.BeginInvoke()でエラーがでます。




623:デフォルトの名無しさん
06/09/30 19:12:09
>>622
同じようにやればいいんじゃないの?
VBでどう書いてどういうエラーが出たんだ?

624:デフォルトの名無しさん
06/09/30 19:21:32
>>623
 //delegate設定
 Public Delegate Sub testDelegate(ByVal sender As Object, ByVal e As EventArgs)
 //イベント設定
Public Event Tested As testDelegate

Tested.BeginInvoke()で「Testedはイベントであるため、
直接呼び出すことはできません。」のエラーがでる。

625:デフォルトの名無しさん
06/09/30 19:47:06
Testedをイベントじゃなくて単なるデリゲートにしたら?
イベントハンドラがいらないならイベントである必要はないんだけど。

626:デフォルトの名無しさん
06/09/30 19:49:14
>>622
おま、そのC#のほうも、内容わかってないだろ。
内容をまず理解したほうがいい。そうすれば簡単にわかる話だ。

まずはそれからだ!

627:デフォルトの名無しさん
06/09/30 20:06:24
てきとーに、イベントに関数を与えるのはAddressofでやるのでは?


628:デフォルトの名無しさん
06/09/30 21:15:08
>>622
ああ、C#だとそういう風にイベントをデリゲートとして扱えるのか。。
VBだとたぶんそのコードを「直訳」することはできないね。

ばかばかしいことだけど、RaiseEventでイベントを生成するメソッド(OnTested)
を、別のデリゲートで非同期呼び出しする必要がありそう。

この変はイベントを簡単に扱えるようにしているVB.NETの暗黒面かもしれん。

ちなみに、どうでもいいんだけどそういうの非同期イベントっていうのは
正式な用語法なのかな?

629:デフォルトの名無しさん
06/09/30 21:25:09
>>628
> ちなみに、どうでもいいんだけどそういうの非同期イベントっていうのは
> 正式な用語法なのかな?
いんや。

つか 622 のコードはイベントをデリゲートとして扱えてしまう C# の暗黒面。
BeginInvoke はあくまで非同期デリゲートなんだから。

630:デフォルトの名無しさん
06/09/30 21:31:14
>>629
それ君の倒錯だと思うけどね俺は。

実際問題、たとえば何らかのデバイスなりストリームなりを監視する
ワーカースレッドから、UIスレッドに同期したイベントを生成したいって場合は
少なからずあるんだよ。

そういう場合はVBだと>>628に書いたような非常にばかばかしいコードを書かなきゃならん。

631:デフォルトの名無しさん
06/09/30 21:36:02
ちょっとC#勉強してくるノシ

632:デフォルトの名無しさん
06/10/01 04:17:33
てかよ、デリゲートの非同期呼び出しはマルチキャストできないんじゃなかったっけ?
つまりそもそもイベント発火すんのにそんなもん使っちゃだめってことだろよ。
UIに同期したいなら面倒でもメソッドいっこかませりゃ済む話でそ?


633:デフォルトの名無しさん
06/10/01 12:26:44
>>632
どこにそんなこと書いてあるんだよw

634:デフォルトの名無しさん
06/10/01 15:04:35
マイクロソフト公式解説書「プログラミング Visual C# 2005 言語編」
にはっきりと書いてある。


635:デフォルトの名無しさん
06/10/01 15:18:13
書いてあるわけねーw
だってそんなの事実に反するからね

だいいちデリゲートにとっちゃ自分のケツを誰が叩いているかなんて
全然関係のない話だろw

636:デフォルトの名無しさん
06/10/01 15:25:07
おまえ言ってること勘違いしてないか?

デリゲートの非同期呼び出しはマルチキャストでは使えない(これは上記の本に書いてある)。
イベントはマルチキャストすることが普通にある。
よってイベントをデリゲートの非同期呼び出しで呼び出すのはまずい。

って言ってるんだが。
イベントの発火をデリゲートの非同期呼び出しでやったらまずいってのは
上記からの俺の見解だからlこれは書いてないけどな。


637:デフォルトの名無しさん
06/10/01 15:58:56
>>636
勘違いしてるのはたぶん君だと思うよ。

推測でしかないけど、たぶんEndInvoke使って返り値を取れるのは
デリゲートが一番最後に呼び出したメソッドだけ、って話とどっかで
混同してるんじゃないの?

638:デフォルトの名無しさん
06/10/01 16:07:08
人によって Control.BeginInvoke を言ってるのか Delegate.BeginInvoke を言ってるのか
バラバラでグダグダになってるな。
非同期デリゲートなんだから Delegate.BeginInvoke の話のはずだが。


EventHandler handler = delegate { Console.WriteLine("a."); };
handler += delegate { Console.WriteLine("b."); };
IAsyncResult ia = handler.BeginInvoke(null, null, delegate(IAsyncResult ar) {
   handler.EndInvoke(ar);
}, null);
ia.AsyncWaitHandle.WaitOne();

> ハンドルされていない例外: System.ArgumentException:
> デリゲートに指定するターゲットは 1 つでなければなりません。

匿名メソッドは楽じゃのう。

639:デフォルトの名無しさん
06/10/01 16:23:19
どうみても>>636が正しいです。

本当にありがとうございました。

640:デフォルトの名無しさん
06/10/01 16:34:27
>>637
だから書籍に書いてあるってんのに何をどう勘違いするってんだ。
「BeginInvokeメソッドは、シングルキャストデリゲートに対してのみ使用できます」
って書いてあるっての。


641:デフォルトの名無しさん
06/10/01 16:37:08
ああ…つまりそういうことだw

642:637
06/10/01 17:35:49
なんか勘違いしてるのは俺の方だったみたいね。。
なんか恥ずかしいなw

ってことは、結局非同期的にマルチキャストなイベントを起動しようと思ったら
OnXXXを非同期的に呼び出さないとダメってことなのか?

C#でもイベントに対してBeginInvokeなんて迂闊に使ったらまずいわけか。

643:デフォルトの名無しさん
06/10/01 19:05:36
んーたいていの場合、イベントソースの方が非同期で処理してるんだろうから、
そのままイベント投げればいいと思うんだけどな。
非同期でイベントを発火しなきゃならん状況があんまりうかばないんだが。


644:デフォルトの名無しさん
06/10/01 19:11:58
>>643
制御系とかでユーザ操作に関係なく発生するイベントとかは?

645:デフォルトの名無しさん
06/10/01 19:21:40
んーじゃなくてさ
非同期で発生するイベントはいろいろ考えられても、
イベントソースの方が非同期でイベントを発火することはあまりないんじゃ?てこと。
※ソース側のスレッドからさらに非同期でイベントを発火するって話ね。

そりゃ制御系とか、その他、ソース側のワーカスレッドをブロックしては困る場合とかは
あるだろうけど、そういうのは少ないんじゃ?ってこと(ないとは言ってない)


646:デフォルトの名無しさん
06/10/01 20:08:57
>>645
たとえばHWバッファが貧弱なために一定の時間間隔以下で必ずreadしてやらないと
バッファがオーバーフローしてしまうようなデバイスをスレッドでバッファリングしているとして、
特定の値を受信した場合にそのスレッドからイベントを生成したいような場合。

ってちょっと強引な設定か。

647:デフォルトの名無しさん
06/10/01 20:37:37
うん、そういう場合は必要だけど、そういう場面はあんまりないんじゃ?ってだけね。


648:デフォルトの名無しさん
06/10/03 03:11:24
System.IO.File.Copy("C:\Hoge.txt", "C:\Foo\Bar.txt", True)

上記の場合に、C:\Hoge.txtが存在しなかったら強制終了してしまうんですが
ファイルが存在しない旨のメッセージを表示させたいときはどうすれば良いんでしょうか?
VBです。

649:648
06/10/03 03:12:09
すみません。↑は誤爆です。
気にしないでください!!

650:デフォルトの名無しさん
06/10/03 14:34:39
プログラム初心者で、簡単な質問かもしれないですがお願いします。

VB.NETの質問で申し訳ありませんが、イメージを貼り付ける時に
ImageBox1.Image = Image.FromFile("gazou.gif")
ImageBox2.Image = Image.FromFile("gazou.gif")
ImageBox3.Image = Image.FromFile("gazou.gif")
ImageBox4.Image = Image.FromFile("gazou.gif")
ImageBox5.Image = Image.FromFile("gazou.gif")
というプログラムを、IfやForを使ってもっと簡潔にまとめられないでしょうか?
いろいろと試してみましたが、エラーばかりでうまくいかなくて…よろしくお願いします。

651:デフォルトの名無しさん
06/10/03 14:50:08
>>650
for each

652:デフォルトの名無しさん
06/10/03 14:55:30
>>650

URLリンク(homepage1.nifty.com)

上から下まで全部読んだら、方法がいくつかわかると思う。


653:デフォルトの名無しさん
06/10/03 15:01:43
>>651-652
とりあえず紹介されたサイトのほうに目を通したいと思います
早い返答ありがとうございました

654:デフォルトの名無しさん
06/10/03 17:25:00
>>652
650じゃないですが、ちょうど同じ内容を探してました
感謝です

655:デフォルトの名無しさん
06/10/04 06:46:51
ローカルネットワークのActive Directory上動くアプリを作っています。
そのアプリの認証にWindows認証を取り入れたいのですが、
どのように認証すればよいのでしょうか?

656:デフォルトの名無しさん
06/10/04 09:51:12
VB.Net2003 + .NetFrameWork1.1
で、ListVIewのListVIewItem(i).Textプロパティに改行文字を含んだ文字列を
指定したらTextのAlignがCenterになってしまいます。
しかも妙に左右に空白ができてしまいます。
Viewプロパティは smallicon にし、48x48pxlのアイコンを使用しています。

┏━┓   abc
┃ ┃ あいうえお
┗━┛  123456


これを

┏━┓abc
┃ ┃あいうえお
┗━┛123456

このように表示したいのです。
イメージとしては、windows(XP以降)のFileExplore右側リストビューにて
「並べて表示」した時の感じです。

ListViewにはTextAlignプロパティは無いし、Alignmentプロパティは
アイコンの並び方を変えるだけでした。
どのような方法で実現できるでしょうか?

また、Textプロパティの1行目のフォント色は黒で、2行目以降はグレーで表示したいのですが
どのようにすれば実現可能でしょうか?

そもそも、WindowsのFileExploreのListViewは.NetFrameWorkのListViewとは
異なるものなのでしょうか?

657:デフォルトの名無しさん
06/10/04 14:12:27
同じ型の構造体をコピーする方法を教えてください

658:デフォルトの名無しさん
06/10/04 14:15:16
コピーしたい構造体を反転選択、
Ctrl-c

659:デフォルトの名無しさん
06/10/04 14:16:24
A4白黒あたりで良ければ、
コンビニで10円

660:デフォルトの名無しさん
06/10/04 14:21:10
うっ、この時間って馬鹿しかいなかったか・・・

661:デフォルトの名無しさん
06/10/04 14:24:04
質問の仕方も知らない馬鹿をからかっているだけだと思われ。

662:デフォルトの名無しさん
06/10/04 14:30:51
答えれないと煽るか誤魔化す馬鹿しかいない時間帯だってわかってるよ

663:デフォルトの名無しさん
06/10/04 14:34:49
>>660
その通り。
この時間、回答者も質問者も馬鹿しかいない。

664:デフォルトの名無しさん
06/10/04 14:37:21
>>663
違うだろ。 馬鹿な質問者にはそれなりの馬鹿しかレスしねえだけだ。

665:656
06/10/04 15:10:25
事故解決です。
どーやら.NetFrameWork2.0のListViewコントロールには
View.Tilingというビューモードが追加になってるみたいですね。
やりたかったことはそれなので、2.0導入するまでちょっと我慢します。

666:デフォルトの名無しさん
06/10/04 15:17:25
>>664
だからお前がレスしてるのね

667:デフォルトの名無しさん
06/10/04 15:20:29
>>666
ようこそ。

668:デフォルトの名無しさん
06/10/04 15:37:15
>>657
Struct1 struct1 = struct2;

669:デフォルトの名無しさん
06/10/04 15:39:31
まあおまいら、またーりするんだ。

URLリンク(up2.viploader.net)

670:デフォルトの名無しさん
06/10/04 18:50:41
次はオシッコして感電死するショット?w

>>665
俺自身は自分でやったことないのにえらそうに言うけど、
たぶんListViewのOnPaintをオーバライドすれば1.1でもできるんじゃない?

GetItemRectなんてメソッドを使えば、テキストの部分だけのRectangleが取得できるから
先にベースクラスのOnPaint呼んどいてテキストの部分だけ自分で上書きしてしまえばいい。


671:デフォルトの名無しさん
06/10/04 18:52:35
プロセスIDからそのプロセスのファイル名をフルパスで得る方法ってありませんか。
VB2005です。

672:656
06/10/04 19:51:25
>670
さんくす。
オーバーライドやGetItemRectなんて具体的なやりかたが全然想像つかないので
ちょっと調べてきます ノシ

673:デフォルトの名無しさん
06/10/04 20:09:07
>>656
2003でもいいけどさ、
.NetFrameWorkは2.0にできないの?
まったく別物で上位互換でもないしさぁ



674:デフォルトの名無しさん
06/10/04 20:19:39
>>670
そりゃ無理だろ。やるならAPI使ってオーナードロー。

675:656
06/10/04 20:22:33
>>673
1.1で開発してるシステムが完成してから2.0にしようかと。
開発途中で2.0にしてしまうと作成途中のソースに
あちこち手を入れることになんね?


676:デフォルトの名無しさん
06/10/04 20:27:06
>>674
あんたVB6な人だろ
.NETは違うんだよw

677:デフォルトの名無しさん
06/10/04 20:35:13
>>676
OnPaintでどのアイテムを描画するかどうやって判断するの?

678:デフォルトの名無しさん
06/10/04 20:40:41
>>675
手入れが必要なら、さっさと乗り換えたほうが良くない?

たとえばオーバーライドやGetItemRectをつかってまで1.1でつくりあげて、
それから2.0にする意味は?
一刻も早く2.0にして、もっとスマートな仕様で作っていくべきと思うけど。
他の様々な部分でも改善の余地があるなら早いほうがいいと思うし。

679:670
06/10/04 20:41:52
>>672
継承知らないとなると前途多難かもしれんねw

既存のコントロールを継承して独自の機能を実装する方法はここにやさしい解説があるよ
URLリンク(pclabo.org)

あと、オーナードロー(OnPaintを乗っ取って自分で描画しちゃう)については、
たしか「どぼん」にコンボボックスをイメージコンボに改造するサンプルがあったと思う

680:670
06/10/04 20:43:18
>>678
俺もそうだけど、たとえば中小企業でチマチマコード書いてる身分だとそうもいかんでしょ。

681:656
06/10/04 21:07:52
>>678
いま2.0を入れずに頑張って1.1で手間ヒマかけてやるつもりはないです。
大変そうならとっととあきらめて余裕のできたときに2.0に移行していきます。

>>680
ウチの会社は作ったシステムを運用する人はイパーイいるけど、
開発する人間はオレともう一人だけなんだよね。
でも、今作ってるシステムは全くオレ一人でやってる。
だから完成間近のシステムを今の段階で2.0とかに対応していくことは
とても厳しい。
ユーザにはもうすぐリリースできそうってアナウンスしてあるしw

>>679
ありがとう。
継承とかは気になっていたんだけど、まだ必要になってなかったので
勉強できてません。
教えてもらったサイトを参考に勉強してみます。

682:デフォルトの名無しさん
06/10/04 22:25:05
>>671
Process クラスと ProcessModule クラス使えば用は足りるだろう。

683:デフォルトの名無しさん
06/10/05 00:59:42
Function関数を使って、
グローバル変数のようにモジュール内のどの関数内からでも呼び出せて、

同様に(変数をValueとすると)


Value = 3

Value += 4

Dim rr As Integer
rr = Value + 5


といった感じで使いたいのですが……
色々と試してみたのですが、さっぱり上手くいきません。

初歩的な質問なら申し訳ございませんが、よろしくお願いします。
質問が下手ならすみません。

684:デフォルトの名無しさん
06/10/05 01:07:23
もうちょっと具体的に書いてくれる?

685:デフォルトの名無しさん
06/10/05 01:17:25
>>684
Function Total(ByVal tt As Decimal) As Decimal
Static rr As Decimal = 50
rr -= tt
Return rr
End Function

上のようなプログラムを使おうとすると、
  Total(x)
と表記するだけで返り値を増やす事は出来るんですが
その値の初期化が出来なくて困っています。
どうにかして別の関数内からも望む時に値を初期化ないし変数rrに直接代入できないでしょうか?

686:デフォルトの名無しさん
06/10/05 01:18:58
>>685
すみません、上記のプログラムでは返り値を増やす事ではなく減らす事は出来る……です。
説明が下手ですみません。

687:デフォルトの名無しさん
06/10/05 01:28:32
値を設定するメソッドも用意しとけば良いだけじゃん

つかまあ見事な非 OOP だな

688:デフォルトの名無しさん
06/10/05 01:34:06
Staticについてちょっと勉強不足かも……ちょっと調べて試してみます
こんな夜にわざわざありがとうございました

689:デフォルトの名無しさん
06/10/05 01:44:09
>>687
普通に解決しました……すみません、プログラムの考えってすごく苦手で……
すごく助かりました、本当にありがとうございます。

690:デフォルトの名無しさん
06/10/05 23:17:58
VBほぼ初心者で、VB6.0でほぼ完成のソースもらったんですけど、
2005しかなくて、勝手に変換されて泣きそうです。

で、質問です。
1.2005のままどうにかならないのか?
 このまま1個1個エラー潰していくしかないのか?

2.フリーのVB6.0が動く開発環境ってありますかね?
 2003とか。


明らかにウザイ質問と自分でもわかっているので、罵倒する感じでお願いします。

691:デフォルトの名無しさん
06/10/05 23:30:41
>>690
1、自力でごりごりコンバートしたほうが、後々役に立つと思われる。

2、6.0のフリー環境はさすがに無いかと。
  5.0のControl Creation Editionで解釈できるコードなら、そっちで
  動かせるかもしれない。2003と互換性のあるSharpDevelopにいく
  という手もあるけれど、それなら2005にしたほうが大吉。

692:デフォルトの名無しさん
06/10/05 23:38:58
>>691
即レスサンクスです。
結局自分でガンガルのが最短路ってことですね。
どーもです。
頑張ります。

693:デフォルトの名無しさん
06/10/05 23:43:41
>>690何度も何度も何度も既出



694:デフォルトの名無しさん
06/10/06 00:16:02
既出厨乙

695:デフォルトの名無しさん
06/10/06 01:27:43
最近始めたばかりの初心者で、環境は2003を使っています。
>>650のような感じで、例えば

Dim x As Integer

Private Sub ABC1()
x = 1
End Sub

Private Sub ABC2()
x = 2
End Sub

Private Sub ABC3()
x = 3
End Sub

上のようなプログラムの
Private Sub ABC1()~ABC3()
をもっと簡潔に表記する事はできませんか?

696:デフォルトの名無しさん
06/10/06 01:37:40
private void ABC( int arg )
{
 x = arg;
}


697:デフォルトの名無しさん
06/10/06 01:52:47
>>696
ありがとうございます、参考書にvoidが無かったので検索していますが・・・見つからず苦戦しています・・・

ちなみにその方法で

Private Sub ABCBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ABCBox1.Click

のようなボタンを押した時などのPrivate Sub ~~
もまとめる事はできますか?
質問ばかりですみません。

698:デフォルトの名無しさん
06/10/06 02:08:18
>>697

>>696は違う言語。

そのイベントを起こすコントロールが何か分からんが
大体senderがそのコントロールそのものだな。

Handles ABCBox1.Click, Button1.Click, Button2.Click みたいにして
senderとそのボタンなりなんなりと比較して分岐。


699:デフォルトの名無しさん
06/10/06 02:10:54
Handles の記述上限っていくつだろ

700:デフォルトの名無しさん
06/10/06 02:12:14
>>696
コピペするとエラーが出るのですが・・・
C#ではないですよね・・・せっかく教えていただいたのにすみません

どこか分かり易いサイトなどありましたら教えていただけると助かります

701:デフォルトの名無しさん
06/10/06 02:15:35
>>698
HandlesとSenderですか、調べて何とか理解できるよう頑張ります
それでも分からなければ、すみませんがまた手を煩わせる事になるかもしれないですが
そうならないように頑張ります

丁寧にありがとうございます

702:デフォルトの名無しさん
06/10/06 02:18:38
Buttonと書こうと思っていたのにBoxと書いてしまってますね・・・
コントロールが分からなくてすみませんでした
改めてありがとうございました

703:デフォルトの名無しさん
06/10/07 02:35:26
MenuItemやNotifyIconにInvokeRequiredって無いんでしょうか・・・
別スレッドからNotifyIconのTextを変えたりしたいのに出来ない・・・orz

704:デフォルトの名無しさん
06/10/07 02:50:07
Controlじゃないからね。
本スレッドのウインドウにメッセージでも送ってやってもらうが吉

705:デフォルトの名無しさん
06/10/07 02:59:07
どういう風にすれば良いでしょうか・・・
Textを変更しようとしているスレッドはループを回しているのでRunWorkerCompletedじゃだめだし・・・分からないorz

706:デフォルトの名無しさん
06/10/07 03:03:43
VB2005です。
MenuStripに項目をいっぱい追加して、そのウィンドウの幅を小さくすると、
はみ出たぶんのメニュー項目が表示されない、クリックできない状況になっちゃうんですが、
これを改善するにはどうしたらいいですか。
VB6の用に折り返させたり、メニューの一番左に▼←こんなのが表示されて、クリックすると
続きが表示されるようにしたりしたいんです。

707:デフォルトの名無しさん
06/10/07 05:06:03
>>706
menuStrip.GripStyle

初期値はHidden


708:デフォルトの名無しさん
06/10/07 05:27:37
>>707
HiddenからVisibleに変えてみましたが、メニューの一番右に点が3つ表示されるだけで、
はみ出たぶんのメニュー項目は依然選択できないままです。

709:デフォルトの名無しさん
06/10/07 09:34:58
>>705
BackgroundWorker 使ってんだったら ProgressChanged で良いじゃん

710:デフォルトの名無しさん
06/10/07 10:48:21
>>709
こんなイベントあったんですか・・・知りませんでした。ありがとうございます。
.netは奥が深いな・・・

711:デフォルトの名無しさん
06/10/07 11:36:07
>>708
CanOverflow
つーかドキュメントくらい読めよ禿

712:デフォルトの名無しさん
06/10/07 15:12:27
>>711
CanOverflowをTrueにしても、はみ出たぶんのメニュー項目は依然選択できないままです。

713:デフォルトの名無しさん
06/10/07 15:46:19
>>712
LayoutStyle をFlowに

714:デフォルトの名無しさん
06/10/07 17:15:34
>>713
おお、ついにできました。
ありがとう。
LayoutStyleだけで折り返し表示できました。これではみ出た部分のメニューも選択できます。
>>707>>711は質問の意図を勘違いされちゃったのかな。

715:デフォルトの名無しさん
06/10/07 18:54:55
何様?

716:デフォルトの名無しさん
06/10/07 19:00:14
俺俺

717:デフォルトの名無しさん
06/10/07 22:42:50
フォームのキーアップイベントでファンクションキーの処理をしているのだが、
テキストボックスでIME変換中のファンクションキーもイベントで拾ってしまう。
テキストの編集中のファンクションキー処理か見分ける方法ってあります?

718:デフォルトの名無しさん
06/10/07 23:39:37
正攻法じゃなく姑息な方法だけど、

(1) KeyUpイベントで特殊キー以外だったらIME変換中のフラグを立てる
(2) TextChangedイベントでIME変換中のフラグを下げる

あくまでKeyUpイベント中でIMEが変換中かどうか知りたいということなら
これでいけるんじゃないかな。
特殊キー以外が押された(放された)のであれば、IME変換中でなければ
Textはかならずかわっているはずだから。

もちろんフラグを立てる処理はKeyUpの一番最後にもっていく必要がある。

っていうか、ずいぶん変則的なことがしたいんだね。

719:デフォルトの名無しさん
06/10/07 23:39:48
該当コントロールに、IME 入力開始時に WM_IME_STARTCOMPOSITION、終了時に WM_IME_ENDCOMPOSITION が来る。
適当なクラスに IFilterMessage を実装させてこの二つのメッセージを拾えば良いんじゃない?

720:デフォルトの名無しさん
06/10/07 23:48:27
アップデートしようとすると「Visual Studio .NET 2003 セットアップで
必要なファイルをダウンロード中にエラーが発生しました。
Webブラウザ構成の設定および接続ハードウェアを確認してから、やり直してください。」
出てきて、アップデートできないのですが、どうすれば解決できますか?

721:デフォルトの名無しさん
06/10/08 00:08:36
今インスト中なのですが最後の4段階目のService Releaseで
上手く進めません。
必要なファイルをダウンロード中にエラーが発生しました。
Webブラウザ構成の設定および接続ハードウェアを確認してから、やり直してください
このポップアップメッセージが出てきて進めないです。

誰か親切でエロイ方教えてくださいーーー。

722:デフォルトの名無しさん
06/10/08 00:09:51
ファイアーウォール

723:デフォルトの名無しさん
06/10/08 00:15:20
>>722
ファイアーウオールを実装しても解除しても両方できません。


724:デフォルトの名無しさん
06/10/08 00:21:01
>>721
ServiceReleaseをキャンセルしても、とりあえずインストールは完了
するから安心しろ。

725:デフォルトの名無しさん
06/10/08 00:22:50
>>724
いいえ。そこを完了しないとPCに.NETのソフトが入ってないです。
どこを探してもインストールされていません。

726:デフォルトの名無しさん
06/10/08 00:25:20
>>724
ありましたぁ!!
ServiceReleaseをキャンセルしても、問題はないですか?大丈夫でしょうか?

727:デフォルトの名無しさん
06/10/08 00:53:33
>>717
>>679

728:デフォルトの名無しさん
06/10/08 00:55:16
>>726
ちゃんとキャンセルされてるから安心しろ。



729:デフォルトの名無しさん
06/10/08 03:48:27
datagridview のあるセルに、コードベースでハイパーリンクを設定するのってどうやるんでしょうか?

730:デフォルトの名無しさん
06/10/08 04:05:07
取りあえずデザイナで配置してみて、それで作られたコードを参考にしろ

731:デフォルトの名無しさん
06/10/08 10:40:56
>>726
職場のオフラインパソコンで何度もやってる俺が言うんだから間違いない。

732:デフォルトの名無しさん
06/10/08 11:31:36
ComboBoxでエディットボックス部分のメッセージってどうやって拾ってます?

733:デフォルトの名無しさん
06/10/08 11:41:06
ComboBox.Text プロパティを参照ではあかんの?

734:デフォルトの名無しさん
06/10/08 12:17:26
  Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    For Each c As Control In ComboBox1.Controls
      If TypeOf c Is TextBox Then
        MsgBox("ComboBox内にTextBoxを発見しました。")
        Exit Sub
      End If
    Next

    MsgBox("オメエに喰わせるTextBoxはネエ !")
  End Sub

735:デフォルトの名無しさん
06/10/08 12:23:36

なにこれ?

736:デフォルトの名無しさん
06/10/08 15:36:33
>>733-734
テキストボックスコントロールじゃなくて、
エディットエリアに流れているウィンドウズメッセージです。

737:デフォルトの名無しさん
06/10/08 15:51:30
だから内部的にエディットボックスなんて使ってないんだってば

738:デフォルトの名無しさん
06/10/08 17:17:48
>>737
エディットボックスじゃないよ。
エディットエリアの部分だって。
spyで確認すると、ハンドルもメッセージもコンボボックスとは別のものが流れてるけど、
そのエディットエリアに流れているメッセージを取得したいのです。

739:デフォルトの名無しさん
06/10/08 17:40:28
まあ実際 Edit コントロール使ってんだけどな。
CB_GETCOMBOBOXINFO を送るか、Win32API の GetComboBoxInfo を使うかすればエディットのハンドルが手に入る。
あとは NativeWindow の派生クラス作ってサブクラス化すればいい。

740:デフォルトの名無しさん
06/10/08 18:02:25
こんな感じだな
URLリンク(www.atmarkit.co.jp)

741:デフォルトの名無しさん
06/10/08 19:20:53
>>739-740
さんくすです

742:デフォルトの名無しさん
06/10/11 12:37:37
直接VBの話では無いのですが開発環境がVB.NET2005なので、質問させてください。

今度、新しく作成するアプリのDBをSQL Server2000と2005のどっちにするかを悩んでいます。
VB.NET2005(Pro)から見てSQL Serverの2000と2005が変わりがないのであれば、
会社で所有している2000をそのまま使おうと思っているのですが、
SQL Server2005で魅力的な何かがあれば購入協議に出して買ってもらおうかと思っています。

見積もりで容量が10GBを超えるのでExpressは考えていません。
SQL Server2005とVB.NET2005の組み合わせで何か幸せになれる事ってあるのでしょうか?


743:デフォルトの名無しさん
06/10/11 12:48:12
>>742
自分で考えれば?それだけの条件じゃなんにもわからんし。


744:デフォルトの名無しさん
06/10/11 14:58:28
VB.NET 2005 の Express Editionを使っているのですが
配布パッケージを作成はどうすれば良いのでしょうか?

6時代のディストリビューションウィザードみたいなのが見当らないのですが

745:デフォルトの名無しさん
06/10/11 16:15:55
>>744
ClickOnceが嫌ならStandard以上が必要

746:デフォルトの名無しさん
06/10/11 16:35:22
744じゃないけど、Standard以上だとどんなディストリビューションウィザード的なものがある?

747:デフォルトの名無しさん
06/10/11 16:51:55
どんなと言われても困るがセットアッププロジェクトというものがある。
詳しく知りたければここでも見てくれ。
URLリンク(msdn2.microsoft.com)

748:742
06/10/11 19:27:14
>>743
確かに曖昧だったな。
とりあえず開いているサーバにSQL Server2005developerをつっこんで弄ってみるは。

749:デフォルトの名無しさん
06/10/11 21:16:17
ずっとVBをやってたんだけど。出向先がいきなりVBC#になるとのこと。
明日からいきなりいくんだけど、随分違うものなの??

750:デフォルトの名無しさん
06/10/11 21:44:09
VBC#なんてのが出来たのか

751:デフォルトの名無しさん
06/10/11 21:45:40
>>749
たいして変わらん

752:デフォルトの名無しさん
06/10/11 23:20:48
>>750
VBC#は結構前からあるよ。J#なんてのもあるからねー

753:デフォルトの名無しさん
06/10/11 23:33:50
VisualBasicC#?

754:デフォルトの名無しさん
06/10/12 00:16:22
VisualBasicCompiler#と予想

755:デフォルトの名無しさん
06/10/12 00:45:13
VisualBasiC#

756:デフォルトの名無しさん
06/10/12 01:24:40
ぶびちゅ

757:デフォルトの名無しさん
06/10/12 09:32:50
ぶいびー丼?

758:デフォルトの名無しさん
06/10/12 16:34:49
VB.net2003のツリービューでノードを一意に
認識したくtagにguidをいれているのですが
このtagを指定して一発でそのノードを取得したいのですが
可能でしょうか?

こんな感じであればよいかなと思います。

Dim hoge As TreeNode
hoge = TreeView1.selectSingleNode("123304-32-434-3-3-35")

もし可能であればやり方を教えてください。
よろしくお願いいたします。


759:デフォルトの名無しさん
06/10/12 18:37:07
>>758
そんなことするぐらいなら最初からHashtableに突っ込んで管理すりゃいいじゃん。

っていうか、うまくいえないが何か根本的に「考え違い」をしていると思うぞw

何ていえばいいかな、guidで識別したいってことはguidをインデックスにノードを
取得したいってことだが、そのguidは何をインデックスに取得するつもりかね?w

760:デフォルトの名無しさん
06/10/12 19:48:52
>>759
なるほどー
ツリーを構築するときにハッシュテーブルにguidとノードをインサートしておけばいいわけですね。
こりゃすごい

761:デフォルトの名無しさん
06/10/13 08:26:13
2つ質問したいことがあります。

1つめは、
vb.net と vb2005の違い なんですが、
イメージとしては、vb2005は、.net を vb6に近づけた感じというのがあるのですが
どうなのでしょうか?

2つめは、
VB.net をこれから、学び始めようと思うのですが、
今ある知識は、VB6 を少しかじったくらいなので
初心者から 学べる おすすめの本があればお教えてください。

762:デフォルトの名無しさん
06/10/13 09:20:13
vb.net .netフレームワーク上で動くVB
vb2005 .net2,0を開発できるVisualStudio2005のvb部分

初心者は@ITでも読破しとけば?

763:デフォルトの名無しさん
06/10/13 10:50:44
>>イメージとしては、vb2005は、.net を vb6に近づけた感じというのがあるのですが

あながち間違いじゃない。
2003で思うように移行が進まなかったためか、2005はVB6.0に擦り寄
った内容になっている。

764:デフォルトの名無しさん
06/10/13 11:19:40
>>761
[暗黙のインスタンス] でググるよろし。

765:デフォルトの名無しさん
06/10/13 11:22:12
>>762
まず始めに @ITの方を読破して
それから、必要に応じて、本を探そうと思います。

>>763
.net ~2005 までの変更があまりわかってなかったのですが、
明確になりました。


質問に答えていただき、ありがとうございますした。

766:761
06/10/13 11:30:05
>>765
ちょっとタイプミスw

>>764
分かりやすい説明でたすかります。


質問に答えていただき、ありがとうございました。

767:デフォルトの名無しさん
06/10/13 11:43:45
暗黙のインスタンスが使えるから何?って思うんだけどね。
VBは2の頃からやってるけど、普通にすんなり.netやってるし。
逆にあんな糞仕様が何故復活するのか理解ができん。

768:デフォルトの名無しさん
06/10/13 11:59:49
いまだに6.0ベースの開発案件が続いてることに、MSが危惧を抱いてる
んでないの? 「サポート切れたよ! 動作保証しないよ!」って言い
続けてるわりには、一向に転換が進まないしさ。

うちなんか「6.0でSP3まで」っていう環境の縛りがあるくらいだし。

769:デフォルトの名無しさん
06/10/13 13:32:51
.NETでWindowsMessage一覧が定数化してあるクラスが欲しいのですが、
今現在落とせる場所ってありますか?
昔は【渋木宏明(ひどり) blog 】や【Sugi@ぱぱんぶぃびぃ Blog】で落とせたみたいなんですが、
今は落とせないみたいので、現在ある場所知っている方教えてください。

770:デフォルトの名無しさん
06/10/13 16:05:11
そういえば、VB6時代の末期は、
超優秀な人から超無能な人までVB6を使っていたが、
その全てが.netを理解できるはずが無かった。
そうなると、VB6を使い続けるしかないんだよな。
会社としても、皆が.netを理解できないのにVB6を切るわけにも行かないし。

また、理解できたとしても、顧客には.netを本筋にするから、
VB6アプリはサポートしないなんて言えないし。

771:デフォルトの名無しさん
06/10/13 18:12:27
>>769
SDKからWinUser.h抜いて
エディタで正規表現つかって書き出せば簡単

772:デフォルトの名無しさん
06/10/14 11:02:50
公開よろ

773:デフォルトの名無しさん
06/10/14 11:34:47
ウンコに行きたいんだが、我慢した方が良いか?

774:773
06/10/14 11:35:50
誤爆ゴメン

775:デフォルトの名無しさん
06/10/14 12:04:09
>>769
ありがちな発想だけど、そんなクラス使いにくくてしょうがないでしょ。
必要なメッセージだけその都度定数なりEnumなりで定義してればこそ
インテリセンスの有難味も効いて来るのに。

776:デフォルトの名無しさん
06/10/14 18:39:40
超初心者なんですが
VisualBasic2005 Express editionでWindowsアプリを作ったのですが
EXEにするにはどうしたらよいのでしょうか?

昔少し開いたVBにはコンパイルとかあったような気がしたんですが¥けど・・

777:デフォルトの名無しさん
06/10/14 18:47:30
ビルド

778:デフォルトの名無しさん
06/10/14 18:48:00
ビルドすれば作られてるだろ

779:776
06/10/14 18:50:36
あ、ありました。
>>777-778
ありがとうございました。

780:デフォルトの名無しさん
06/10/15 01:02:15
ショッピングWEBなどのhtml中のセッションIDの取得が出来ずに悩んでいます。

<!-- jsessionid=925366B2850A358E66BCF2C091402219.tom18 -->
というセッションIDがあり、アクセスの毎に変わります。

このセッションIDを取り出す方法でつまづいています。
オーバーライド関数GetSessionを実装して、適当な変数(Sidなど)に代入出来るようにしたいのですが、
どうすればよろしいのでしょうか。

いろいろぐぐっても解かりませんでした・・・

よろしくお願いします。

781:デフォルトの名無しさん
06/10/15 01:06:18
どっかの掲示板で見たなこの質問

782:デフォルトの名無しさん
06/10/15 12:40:38
VB.NETの変数名のつけ方のガイドラインってあるんでしょうかね?
たとえば、クラス内の変数名の先頭にはよくm_を付けている事が多いですが。

783:デフォルトの名無しさん
06/10/15 13:22:15
>>782
MSDNにもあるし、本も出てるし。

784:デフォルトの名無しさん
06/10/15 13:49:06
N88Basicしか知りません。まったくのVB初心者です。
VB.NETでそこそこのソフトを作れるようになるにはどのくらい勉強すればいいのでしょうか?

785:デフォルトの名無しさん
06/10/15 13:58:45
俚諺に曰く、石の上にも三年

786:783
06/10/15 14:07:50
>>783
MSDNには”Visual Basic の名前付け規則”っていうのがありましたね。
書籍の方も見てみたいのですが、本のタイトル教えてもらえませんか?

787:デフォルトの名無しさん
06/10/15 14:11:19
そこそこのソフト
わかるかぼけぇ


788:デフォルトの名無しさん
06/10/15 14:17:18
>>786
手元に無いので正確なのはわからんが、
「VB.NETルールブック」だったかな?

789:782
06/10/15 15:03:49
>>788
ありがとうございます。
そのタイトルの本がありました。

790:デフォルトの名無しさん
06/10/15 15:13:35
でも正直、あの本に限らずあの手の本に書いてあることって大概単なる
「村の掟」以上の物ではないんだよな。

ルールの背後に納得できる合理性が感じられない単なる俺様ルールを
金払ってまで受け入れる気がしない。

791:デフォルトの名無しさん
06/10/15 17:06:57
>>790
ま、参考にってとこでしょ。

792:デフォルトの名無しさん
06/10/15 18:24:29
独自につくる方がよっぽど俺様ルールなわけで

793:デフォルトの名無しさん
06/10/15 20:54:35
質問させてください。
VB6.0のpictureに計算結果を表示させたり、
C言語でコンソールに結果表示をさせるのは
自動的に順番に隣へ表示するので
結果の表示が重なる事はないですが、VB.NETのpictureに結果を出そうと思えば
座標を指定しなくてはならないので、座標を一つしか指定しなければ
当然同じところへ重なりますよね?

現在、再帰のアルゴリズムのところで順列表示結果をさせたいと考えているのですが
picutreに表示させる方法が思いつきません。繰り返し処理させようとしても
その i がどうしても1に戻ってしまうのです。
だから順列の結果がすべて同じ位置に重なってしまいます。
何かうまい方法はないでしょうか?

794:デフォルトの名無しさん
06/10/15 20:59:04
お願いですから日本語を喋ってください

795:デフォルトの名無しさん
06/10/15 21:04:51
すいません、訂正です。
分かりにくいと思いますので。
>>793の続き
現在、再帰のアルゴリズムを使って順列表示結果をさせたいと考えているのですが
picutreに表示させる方法が思いつきません。

何かうまい方法はないでしょうか?

1 2 3 4
の順列の結果は24個あるわけですがこれが重なってしまうのです。
1234
1243
・・・・って表示してほしいのですけど。

796:デフォルトの名無しさん
06/10/15 21:24:10
picutreって何?

797:デフォルトの名無しさん
06/10/15 21:25:39
pictureboxのことです。

798:デフォルトの名無しさん
06/10/15 21:34:41
今どうやってんのか分からんとアドバイスのしようもない。コードを書け。

799:デフォルトの名無しさん
06/10/15 21:41:54
MDB内のフォーム名を取得するには、どうすれば良いのでしょうか?
親切な方、ヒントだけでも教えてください。

800:デフォルトの名無しさん
06/10/15 21:47:37
>>799
AccessのApplicationオブジェクトからFormオブジェクト抜き出せば良いやん。

801:デフォルトの名無しさん
06/10/15 22:03:27
>>800
ありがとうございます。

802:デフォルトの名無しさん
06/10/15 22:30:31
>>798
以下のようなコードです。全部は書ききれませんので、次レスで。
Const N As Short = 4
Dim p(N) As Integer
Private Sub perm(ByRef i As Integer, ByVal e As PictureBox)
Dim g As Graphics = e.CreateGraphics()
Dim t As Integer
Dim j As Integer
If i < N Then
For j = i To N
t = p(i)
p(i) = p(j)
p(j) = t
perm(i + 1, Picture1)
t = p(i)
p(i) = p(j)
p(j) = t
Next j
Else
For j = 1 To N
Dim centuryFont As Font = New Font("century", 8, FontStyle.Regular)
Dim blackBrush As SolidBrush = New SolidBrush(Color.Black)
g.DrawString(p(j), centuryFont, blackBrush, p(j) * 20, j * Font.Height)
Next j
End If
End Sub


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch