VB.NET質問スレ (Part ..
[2ch|▼Menu]
331:322
06/09/06 09:53:00
Dim hash As new Hashtable
dim object1 as object
dim object2 as object
hash.Add(1, GetType( System.Int64 ) ' ←ここはこれで行けました。
object2 = CType( object1 , hash(1) ) ' ←ここがいけません。
object2 = CType( object1 , GetType( hash(1) ) ) ' ←これもだめです。

Ctypeの第2引数にHashtableに入っているTypeを入れたいのですが、どうすればいいですか?

332:330
06/09/06 10:05:40
以下がそのプログラムの抜粋です。
長いので分割します。

Private Sub pctPreview_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles pctPreview.Paint
Dim g As Graphics
Dim img As Image
Dim fd As FrameDimension

Try

sngZoomNum = intZoomNum / 100 'ここで倍率指定

g = e.Graphics

g.InterpolationMode = _
System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic

img = Image.FromFile(strFilePath)

'FrameDimensionを取得
fd = New FrameDimension(img.FrameDimensionsList(0))

'フレームを選択
img.SelectActiveFrame(fd, intPageNum) 'ここでページ数指定

333:330
06/09/06 10:09:34
'画像を表示(回転率ごとに変更)
Select Case sngRotate
Case 0
sender.Size = New System.Drawing.Size(sngZoomNum * img.Width, sngZoomNum * img.Height)
Case 90
sender.Size = New System.Drawing.Size(sngZoomNum * img.Height, sngZoomNum * img.Width)
g.TranslateTransform(sngZoomNum * img.Height, 0)
Case 180
sender.Size = New System.Drawing.Size(sngZoomNum * img.Width, sngZoomNum * img.Height)
g.TranslateTransform(sngZoomNum * img.Width, sngZoomNum * img.Height)
Case 270
sender.Size = New System.Drawing.Size(sngZoomNum * img.Height, sngZoomNum * img.Width)
g.TranslateTransform(0, sngZoomNum * img.Width)
End Select

'画像の傾き指定
g.RotateTransform(sngRotate)
g.DrawImage(img, 0, 0, sngZoomNum * img.Width, sngZoomNum * img.Height)

img.Dispose()

Catch ex As Exception
throw ex
End Try
End Sub

以上です。
どうぞよろしくお願いします。

334:デフォルトの名無しさん
06/09/06 10:39:39
>>331
無理

335:デフォルトの名無しさん
06/09/06 12:09:24
>>330
VB2005だけどやってみたら確かにそうなった。
原因はわからない(GDI+のバグ?)けどDrawImageするときに

Dim img2 As Bitmap = New Bitmap(img)
g.DrawImage(img2, 0, 0, sngZoomNum * img.Width, sngZoomNum * img.Height)
img2.Dispose()

としたらちゃんと描画されたので試してみて。

336:330
06/09/06 13:13:41
>>335
どうもありがとうございます。

教えていただいたコードを実装してみたところ、
正常に動作する事を確認しました。
自分もGDI+のバグかと思ったんですが、
それらしい記述が見当たらずに困っていました。

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

337:デフォルトの名無しさん
06/09/06 13:19:09
ListViewでヘッダをクリックでソートする事は許可しつつ、ヘッダをドラッグでサイズ変更はされたくないのですが、
これって出来ますか?

338:デフォルトの名無しさん
06/09/06 14:15:32
>>337
C#だけどこんなのがある。VBでやりたければ翻訳して。
URLリンク(hongliang.seesaa.net)

339:337
06/09/06 16:30:56
>>338
ありがとう、出来ました^^

340:デフォルトの名無しさん
06/09/06 22:26:18
>>328
ご丁寧にありがとうございました。
助かりました。

341:デフォルトの名無しさん
06/09/07 11:57:28
リストボックスの垂直スクロールバーを非表示にして、
なおかつ矢印キーでのスクロールは可能な状態に
したいのですが、出来ますでしょうか?


342:デフォルトの名無しさん
06/09/07 20:59:06
singletonパターンを使用しているクラス(newがprivate)をxmlでデシリアライズすると、
publicなコンストラクタが無いからだめと怒られてしまいます。
SoapFormatterを使用すれば出来る事は知っているのですが、SoapFormatterで作ったファイルは見にくいので、
XmlSerializerでやりたいと思っています。
対応策やアドバイスお願いします。

343:342
06/09/07 21:26:02
↑は取り消します。すみません。
SoapFormatterで作ったファイルが汚いのはシリアライズ時のファイルモードがCreateで無かったからです、すみません。

344:デフォルトの名無しさん
06/09/08 00:11:48
変換ウィザードでVB.NET(2002)のプロジェクトを2005に変換したんですが
コードの表示やビルドは成功するのに、デザインで開けないフォームがあります。

「クラスが登録されていません」
場所 System.Windows.Forms ・・・

のような表示が出るのですが
System.Windows.Formsを参照させても解消しません。

ご存知の方がいらっしゃいましたらアドバイスをお願いいたします。

345:デフォルトの名無しさん
06/09/08 00:45:19
ググレよ池沼
URLリンク(www.google.com)

346:デフォルトの名無しさん
06/09/08 00:53:17
変換ウィザードはぜんぜん使い物にならないってこと。
フォームは新規作成、コードはコピペでちょっとずつ確認しながら
やったほうがいいよ。

347:デフォルトの名無しさん
06/09/08 17:22:55
環境はVisual Studio 2003、.Net FrameWork1.1です。

GetLogicalDrivesを使ってコンボボックスに
ドライブ名の一覧を表示させたいのですが、
試した限りではネットワークドライブに関しては
一度Windows上でそのドライブにアクセスしないと
ドライブ名が取得できないようなのです。
ネットワークドライブにアクセスしないで
ドライブ名の取得をする事は出来ないのでしょうか?

348:デフォルトの名無しさん
06/09/08 19:27:47
VB.Netをやってる 鬱だ 鬱だ 鬱だー

349:デフォルトの名無しさん
06/09/09 19:16:34
VB.NETについて質問があります。
VB.NET STANDARDをインストールしています。
必須コンポーネントインストールで
Visual Studio .NET Prerequisites ディスクを入れると
以下のようなメッセージが出てしまいます。

コマンドラインパラメータ:
/V パラメータを MsiExec.exe へ送る
/S 初期化ダイアログを非表示。サイレント モード用: /S /v/qn.
/P パスワード モード
/A 管理インストール
/J アドバタイズモード
/X アンインストール モード
/UA<InstMsiA.exe の URL>
/UW<InstMsiW.exe の URL>
/B キャッシュのローカル インストール

これから先へは進むことが出来ません。
どのようなことが考えられるでしょうか。

350:デフォルトの名無しさん
06/09/10 10:35:07
VB.NETは日曜プログラマーも多いが、それ以上に日曜なしプログラマーが多い。
おまいら見積もり尼杉。

351:デフォルトの名無しさん
06/09/10 10:42:39
VB.NET2003からHTTPでレガシーASPのサイトにファイルを
アップロードしたいのですが、HTMLで以下のような形で
ファイルを送信するのと同じ処理をVB.NETのWindowsアプリから
やりたいのですが、よいサンプルが見つからず悩んでおります。
どなたかご存知の方がおられましたら教えてください。
よろしくお願いします。

<form action="hoge.asp" enctype="multipart/form-data">
<input name="File" type="file">
</form>


352:351
06/09/10 13:03:11
すみません。事故解決しました。

353:デフォルトの名無しさん
06/09/10 14:01:33
「'''」と入力してエンター押すと、勝手にメソッドのコメントの枠組みを
作ってくれるソフトの名前を知ってる方いらっしゃいませんか?

354:デフォルトの名無しさん
06/09/10 14:04:39
VB2005

355:デフォルトの名無しさん
06/09/10 15:36:37
>>354
2005では標準で付いてたんですね・・・すみません。ありがとうございました。

356:デフォルトの名無しさん
06/09/11 06:57:59
>>353
VBCommenter

357:347
06/09/11 09:45:36
どなたかわかりませんでしょうか?

358:デフォルトの名無しさん
06/09/11 10:11:18
>>357
A:\からZ:\までDirectory.Existで存在確かめたらいいんじゃね?

359:デフォルトの名無しさん
06/09/11 11:11:33
.NETの2003 WEBアプリケーションにおいて
「テキストボックスがフォーカス状態になったらリストボックスの可視をTrueにする」

といったような内容のIF文を記述したいのですが
どういった記述になるのでしょうか?
どなたかご教授ください、お願いいたします。

360:デフォルトの名無しさん
06/09/11 11:16:33
>>359
visble = falseじゃフォーカス取れなくね?

361:デフォルトの名無しさん
06/09/11 11:19:41
>>360
そうなんですよ・・・
一体どうすればいいのやら・・・何かよい方法ご存じないですか?



362:デフォルトの名無しさん
06/09/11 11:26:08
>>361
textBoxの上にパネルでも乗っけて隠して、
textBox.Enterでパネル.visible = false
textBox.Leaveでパネル.visible = true

みたいな感じでどうか

363:デフォルトの名無しさん
06/09/11 11:34:22
>>362
その「.enter」についてですが普通に記述するだけではなく
何か定義(準備?)のようなものが必要なのでしょうか?
以前 別のサイトで似たような記述を発見したので試したのですが
その部分がうまくいかなかったものでして・・・

364:デフォルトの名無しさん
06/09/11 11:55:58
イベントを学べ

365:デフォルトの名無しさん
06/09/11 13:33:35
すいません質問です。
文字列のソート・・例えば「あえいうお」を「あいうえお」
にする簡単な方法ありますでしょうか?
よろしくお願いします。

366:デフォルトの名無しさん
06/09/11 13:35:49
>>365
ORDER BY

367:デフォルトの名無しさん
06/09/11 13:51:48
>>365
Dim s As String = "あえいうお"
Dim c() As Char = s.ToCharArray()
Array.Sort(c)
s = New String(c)

368:365
06/09/11 14:03:08
!!
ありごとうございました!!


369:デフォルトの名無しさん
06/09/11 14:21:46
そのお礼が366宛てだったら笑えるなw

370:デフォルトの名無しさん
06/09/11 14:28:15
>>369
すまん今日一番ワロタ

371:365
06/09/11 15:33:13
何度もすいません。
例えば「abcABC」を「ABCabc」ではなく「aAbBcC」と並び替えるには、
どうすればいいでしょうか?
宜しくおねがいします。

372:デフォルトの名無しさん
06/09/11 15:35:58
>>371
ORDER BY

373:デフォルトの名無しさん
06/09/11 18:43:03
>>371
Public Class MyCompare : Implements IComparer(Of Char)
  Public Function Compare(ByVal x As Char, ByVal y As Char) As Integer Implements IComparer(Of Char).Compare
    Dim xLow As Char = Char.ToLower(x)
    Dim yLow As Char = Char.ToLower(y)
    If xLow = yLow Then
      Return -x.CompareTo(y)
    End If
    Return xLow.CompareTo(yLow)
  End Function
End Class

Array.Sort(c) の代わりに Array.Sort(c, New MyCompare())

374:デフォルトの名無しさん
06/09/12 00:08:39
なんでそんな面倒なことしてんだ?

375:デフォルトの名無しさん
06/09/12 00:18:57
簡単にやる方法をよろしく

376:デフォルトの名無しさん
06/09/12 00:36:43
どぼんとかのサンプルのクラスをコピペして"Windows フォーム デザイナで生成されたコード"を
直接直した(例えばnew DataGridをnew DataGridExにするとかした)時に、そのままデザインビューが
表示出来る場合もあれば、タスクにエラーが山程出てデザインビューでDataGrigが全く表示されず
コードがボコボコ消えて当然デバッグしてもマトモに動かない場合がありますが、やはり直接修正は
しちゃいかんのでしょうか?
(フォームのLoadに書けばいいのかな)

377:デフォルトの名無しさん
06/09/12 01:05:55
DataGridExとやらのクラスがきちんと定義されてれば可。
存在しないクラス名にしたらエラーが出るのは当たり前

ようするに分かってないうちはデザイン部は触るなってこった。
まあ触って学ぶってのもありだけど。

378:デフォルトの名無しさん
06/09/12 02:06:44
StringComparer.CurrentCultureIgnoreCase とか、元から使えるやつあるやん。


379:デフォルトの名無しさん
06/09/12 02:09:23
おっと、もし2.0じゃないならCaseInsensitiveComparer.Defaultとか。


380:デフォルトの名無しさん
06/09/12 02:17:32
>>379
それで書いてみろよ

381:デフォルトの名無しさん
06/09/12 02:23:16
??
Array.Sort(c, New MyCompare())

Array.Sort(c, CaseInsensitiveComparer.Default)
ってことじゃなくて??
なんか勘違いしとる俺?


382:デフォルトの名無しさん
06/09/12 02:52:02
おおっ勘違いしとったわwwすまんすまん。


383:デフォルトの名無しさん
06/09/12 13:01:37
>>377
いやもちろんクラスはあるんだわ
でないと絶対動かんし
要はただ起動しただけで動いたり動かなかったりするのは何でなんだろ?と
(動かない時ってのはコードがごっそり無くなって結果まともに動作しなくなる)


もう一つ、DataGridなんだけど、行ヘッダクリックすれば複数行選択出来るけど、
セルからme.select(row)みたいにすると、CtrlやShift押しててもその都度選択が解除されて
新規選択になっちゃいますよね
あれを回避する方法は無いでしょか?
(要はアクセスのリストボックスの複数選択モードみたいにしたいんです)

384:383
06/09/12 15:26:23
自己解決
カレントセルの列を-1にしてselectすれば出来た
shiftの時は前回の選択行からfor-nextで回してやればOK

385:デフォルトの名無しさん
06/09/12 20:49:08
VB2003にて質問です。
現在MDIアプリを作成中なのですが
子Formを2つ作成しActiveな子Formを切り替えた際に
切り替えたFormのActiveControlのValidatingが起きなくなりました。

子Form内の別のControlにFocusを移すと動作はもとに戻るのですが
なぜこのような動作するかが不明です。

どなたか教えていただけないでしょか?
またFocusを移動させる事なくValidatingをハンドルできるようにする方法も合わせてよろしく
お願いします。




386:デフォルトの名無しさん
06/09/12 22:00:47
不明も糞もそれがWindowsのGUIの仕様というかお作法でしょう。

387:デフォルトの名無しさん
06/09/12 22:50:48
イベントでやらずに、自分で任意のタイミングでやればいいじゃん。
イベントの発生タイミングは>>386のとおりなんだから。

388:デフォルトの名無しさん
06/09/13 11:43:45
VB.NET2005の正規表現について質問です。
時間に対して正当性のチェックをしたいと思っています。
許す文字列の例
0:00 0:0 12:00 12:59 23:0 23:59
許さない文字列の例
0:000 12:61 122:00 24:00

これをやろうと思い以下のようにやりましたが、だめでした。
dim pt as string = "([0-1]{,1}[0-9]|2[0-4]):([0-5][0-9]|[0-9])$"
dim time as string = ""'これはいろいろな時間の文字列
If Not Regex.IsMatch(value, pField.mPatternString) Then
   Throw New Exception("パターンに一致しません。")
End If

正規表現に問題が有るようなので、ご指導お願いします。

389:388
06/09/13 11:56:03
自己解決
^([0-1]?[0-9]|[2][0-3]):[0-5]?[0-9]$
ハットを入れないとだめでした

390:デフォルトの名無しさん
06/09/13 14:06:27
VB.net2003で質問です。
フォームのActiveControlプロパティが変更された時に起きるイベントは無いでしょうか?
フォーカスが移る度に起きるイベントをフォーム側に組み込もうと考えています。

391:デフォルトの名無しさん
06/09/13 18:29:10
VB.NET2003です。

最大化されたForm1からForm2を下記のようにダイアログとして
呼び出しました。

Dim DialogForm As New Form2
DialogForm.ShowDialog()

この時、Form2は最小化できてもForm1が最小化できない状態に
なるのですが、最小化できるようにする手段はありますか?

392:デフォルトの名無しさん
06/09/13 18:31:47
ShowDialogはモーダルですよ
Showを使えばいいけどモーダルじゃなくなりますよ

393:デフォルトの名無しさん
06/09/13 18:38:43
うーん、打つ手なさそうですか。
とはいえForm2はモードレスにすると色々と不都合が出るし…。

ともかく、ありがとうございました。

394:デフォルトの名無しさん
06/09/13 20:51:55
>>393
なんつーか思い込みが激しすぎるというか、頭が硬すぎないか?
Form2をモーダルで表示することには目的があるはずだが、
その目的を達成する手段はForm2をモーダルにする以外にいくらでもあるんじゃないの?

例えばForm1のコントロールを全部Enabled = Falseにするとか。(フォームは自分の
コントロールのコレクションを持ってるから簡単にできる)

あるいはForm2が表示されているときにForm1がアクティブになったらForm2.BringToFront
するようにしといて、Form2側にForm1を最小化するためのボタンを付けるとか。

395:デフォルトの名無しさん
06/09/13 20:52:54
まぁ、仕様(目的)をはっきりさせろっちゅうことだな

396:akl
06/09/13 23:49:17
今 VB.NETで開発してるんだけど、 それを J# とか java の.NET 語の変換(コンバート)
したいのだけど、 VB.NET から C# とかは 結構あるんだけど、 javaは無料で コンバートできる 
とこ(サイトか ソフト) ないかなぁ?

397:デフォルトの名無しさん
06/09/13 23:57:24
日本語でおk

398:デフォルトの名無しさん
06/09/14 06:36:08
>>393
なるほどな。
いわゆる操作性の悪いソフトって、こうやって作られていくんだろう。

アプリ特有の動作とか操作体系は気持ち悪いと思うのは俺だけか?
一般的なアプリと一貫性のある動作でシンプルに動くほうが直感的にわかりやすいだろうに。




399:デフォルトの名無しさん
06/09/14 06:46:43
>>396
VBの開発なら、J#に変換する必要なし。そのままお続けください。
J#の開発でVBのソースを移植あるいは流用したいなら、J#のとこ行って聞きなさい。


400:デフォルトの名無しさん
06/09/14 08:24:19
>>398
一般論としては同意するけど>>391の言うことも理解できるところがあるよ。

モーダルダイアログだすと元のウィンドウは移動も最小化もできず、これが
非常に鬱陶しい仕様だと思うことはある。
Windowsの操作にあまり慣れてないユーザーは特にそう感じるらしい。
(デスクトップ上のマイドキュメントをクリックしたいのにできない!みたいな感じw)

401:デフォルトの名無しさん
06/09/14 08:42:04
>>400
なら、別の方法を手動で操作をすればいいのでは?
AddOwnedForm辺りを使って。


402:デフォルトの名無しさん
06/09/14 10:04:47
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim DialogForm As New Form2
DialogForm.ParentForm = Me
DialogForm.ShowDialog()

End Sub

[Form2]

Private Sub Form2_Resize(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Resize

Me.ParentForm.Visible = Not (Me.WindowState = FormWindowState.Minimized)

End Sub

と、最小化の際にForm1を非表示にすることで対処しました。

403:デフォルトの名無しさん
06/09/14 10:52:53
あ、名前入れ忘れ。>>402=>>391です。

404:デフォルトの名無しさん
06/09/14 17:24:50
PDAとActiveSyncをゲスト接続してファイルをコピーする場合
PDA本体内フォルダのパスをどう指定していいかわかりません
誰かわかる人がいたら教えてください。

405:デフォルトの名無しさん
06/09/14 21:34:51
モーダルなのに他の窓を弄れるとかさぁ、独自仕様は不気味じゃない?
しかも非表示状態とか・・・正直ありえん。

そんな変な仕様が必要な理由は何?



406:デフォルトの名無しさん
06/09/14 22:39:33
arrayListに数値ばかりをデータベースからセットして同じのはListから省きたいのだけど
いい関数ないかな・・。


407:デフォルトの名無しさん
06/09/14 22:51:07
DBから読み込む時にDISTINCTを使えばいいじゃん。

408:デフォルトの名無しさん
06/09/14 22:59:20
>>405
最近この手の馬鹿増えたよな。
ちょっと前の話題をすぐに忘れて、何度でも同じ疑問を提示して
話を延々飽きずにループさせる奴

お前さんは鶏頭かw

409:デフォルトの名無しさん
06/09/14 23:02:42
DISTINCTって集約する値のみselect文に追加できるんですよね・・。
(当たり前か・・)

違うフィールドも参照したいのです。
そういうときって入れ子みたいにするんですかね・・・

select 登録月 from 利用テーブル Where ID=A in
    (select * from 利用テーブル Where 住所 = "東京")
こんな感じかな・・・。

410:デフォルトの名無しさん
06/09/14 23:06:23
間違えた
Select DISTINCT 登録月 from 利用テーブル Where ID = A
IN (select * from 利用テーブル Where 住所 = "東京")

411:デフォルトの名無しさん
06/09/14 23:09:21
間違えた逆か・・・
select * from 利用テーブル Where 登録月 IN
(Select DISTINCT 登録月 from 利用テーブル Where ID = A)

こんな感じですかね・・・。


412:デフォルトの名無しさん
06/09/14 23:53:20
どうでもいいけどVB.NETと何の関係が。

413:デフォルトの名無しさん
06/09/15 00:07:20
>>411
わざわざ副問い合わせしなくても、住所="東京" AND ID="A"を抽出
条件にしたらあかんの?

414:デフォルトの名無しさん
06/09/15 07:02:06
>>413
それじゃあ抽出内容が変わってしまうと思います。

>>412
初めはDataset(またはdatagrid)とかでやれないかと思ったのですが、
SQLでできるなら関係なかったです。すみません・・・。

415:デフォルトの名無しさん
06/09/15 08:17:08
何がやりたいのかしらないけど、同じテーブルを2度も読む必要なんてないよ


416:デフォルトの名無しさん
06/09/15 09:18:04
>>414
>>それじゃあ抽出内容が変わってしまうと思います。

どう変わるのか具体的に説明してくれないか?

417:デフォルトの名無しさん
06/09/15 10:32:34
414は、まともな質問もできないくせに自論を展開して自己解決。
人の話なんて最初から聞くつもりないんだよ。

「登録月」って時点で、今年のことしか考えてないダメ設計なDBかもしれないし。


418:デフォルトの名無しさん
06/09/15 12:02:54
間違いなくSQL素人だし

419:デフォルトの名無しさん
06/09/15 23:06:20
いやね、プログラムの中でも特にSQLは、あんたがやりたいことをきちんと日本語で説明しろと。
プログラムだと、Windowsの用語とか、プログラムの技量があるから若干難しいけど。

データをどのように集計したり抽出したいか、日本語で相手に伝わらないようなことを、SQLなんかにできっこないじゃん。w


420:デフォルトの名無しさん
06/09/16 10:26:48
ここっていつみても答えるほうがバカだなw

421:デフォルトの名無しさん
06/09/16 12:06:27
聞くほうもバカだからな。

422:デフォルトの名無しさん
06/09/16 12:22:54
>>420
>414乙

423:デフォルトの名無しさん
06/09/16 19:40:56
#Region ディレクティブはファイルを開いたときに折りたたまれていますが
マウスを使わずに一気に開くとか規定値を開いた状態にするとか出来ますか?

#Region をやたらと使っているプログラムがあってソースファイルを開くと
折りたたまれたRegionが5〜10個くらい表示されているだけで
いちいちマウスでクリックして開かないといけないので鬱陶しくてかなわん。orz

424:デフォルトの名無しさん
06/09/16 19:53:07
どっちもできたはず。


425:デフォルトの名無しさん
06/09/16 20:32:51
キーボードショートカット使えよ
そんなのいちいちマウスでやってたら腱鞘炎になっちゃうよw

426:デフォルトの名無しさん
06/09/16 21:52:06
>>423
開いてるソースのほうがうっとうしいと思うが。
綺麗に関数化されていて、それが綺麗にRegionでまとまってれば、そんなに開くことが無い。

コントロールから作ったイベント関数とかが逆にうざい。
人がせっかくきれいにRegionわけしてるのに、かってに最後に追加しやがる。

427:デフォルトの名無しさん
06/09/17 00:35:17
>>425
キーボードからRegionの折りたたみを開けましたっけ?

>>426
本人は綺麗にRegion化しているつもりだろうけど他人から見たらオレオレRegionです。
折りたたみなんてウザイだけ。
RegionなんてFormのところだけで十分。

428:デフォルトの名無しさん
06/09/17 01:26:11
///のコメントだけ展開してくれる機能とかあったらいいのに。

429:デフォルトの名無しさん
06/09/17 01:39:49
>>425
あー、おれも知りたい。
あとコメント付けたり外したりするショートカットもあればいいなぁ。

430:デフォルトの名無しさん
06/09/17 01:58:37
知りたいも何も、自分で設定しろよ


431:デフォルトの名無しさん
06/09/17 04:13:37
c-ml(c-lmだったかも)
c-kc
c-ku
てか調べろよ。


432:デフォルトの名無しさん
06/09/17 12:06:07
>>429
URLリンク(msdn2.microsoft.com)

キーボードのスキームをVB6にしてると微妙に違うかもね。

433:デフォルトの名無しさん
06/09/17 13:57:31
>>432
おお、さんくす。
使いそうなのを印刷して貼っておくよ。

434:デフォルトの名無しさん
06/09/17 22:37:54
パスワードの条件がアルファベットと数字の混合である基本的な
フォームを作りたいんですが、IsLetterOrDegitを使わずに作る
にはどうしたらいいでしょうか。Select Caseで作れないでしょうか。

435:デフォルトの名無しさん
06/09/17 22:59:42
>>434
プログラミング以前にまず正しい日本語をマスターすべきじゃないかと思うよ。

436:デフォルトの名無しさん
06/09/17 23:00:24
>>434
もっと詳しく「何がやりたいのか」を書いてくれ。
おまいさんの言う「フォーム」の意味もわからん。

437:デフォルトの名無しさん
06/09/17 23:25:50
>>436
テキストボックスにパスワードを入力させる際に、
数字のみ、もしくは英語のみではエラーになる仕組みの
簡単なアプリケーションが作りたいんです。
そのエラー判定をどうしたらいいか悩んでるんです。

438:デフォルトの名無しさん
06/09/17 23:27:32
そんなロジックのことで悩んで人に聞く程度ならやめちまえ、と思う。

439:デフォルトの名無しさん
06/09/17 23:44:20
MaskedTextBox

440:デフォルトの名無しさん
06/09/17 23:50:31
>>439
ありがとうございます。
でも、書式・形式じゃなくて
判定方法が知りたいんです。

441:デフォルトの名無しさん
06/09/17 23:59:40
1文字づつ見て数字と英字の数を数えりゃいいだろ

442:デフォルトの名無しさん
06/09/18 00:02:52
こういう人ってプログラムすることって何だと思ってるんだろう・・・。
せめて入門書は1冊、最近だとネットで入門サイトあるんだから@ITとか見ればいいじゃん。


443:デフォルトの名無しさん
06/09/18 00:04:43
>>440
この機会に正規表現を使ってみるのがいいと思うよ。
テンプレの「いきましょ」と「@IT」に分かりやすい解説がある

444:デフォルトの名無しさん
06/09/18 00:06:18
>>440
select passwd
case "A"
case "AA"
case "AAA"
中略
case "AAB"
case "AAC"


1〜10文字くらいでエラーになる文字列を全てCASE文で
並べれば出来るだろう。
正しい文字列をCASE文で並べて、それ以外をエラーにしても良いと思う。

445:デフォルトの名無しさん
06/09/18 00:08:33
>>444
それだ!

446:デフォルトの名無しさん
06/09/18 00:10:07
>>444
おまいノーベル賞並みの天才だな

447:デフォルトの名無しさん
06/09/18 00:19:12
皆さんありがとうございます。
>>444
実は
Case "a" To "z", "A" To "Z"
hasAlpha = True
Case "0" To "9"
hasNum = True

If hasAlpha = True And hasNum = True
Okメッセージ

これでやってるんですが、うまくいかないんです。

448:デフォルトの名無しさん
06/09/18 00:21:19
まず、どうやったら良いかを考える前に、
それの何がいけないのか、どうしてこんな馬鹿なことを考えたのか、
それらが解るようになるまで勉強し直しておいで。

449:デフォルトの名無しさん
06/09/18 00:25:16
>>447
まあこのスレは精神的幼児が多いから無視していいよそういうのはw

VBのSelect Case はC系のとそれと違ってマッチする条件があるとそのままBreakするから
それでは正しく動かない。

450:デフォルトの名無しさん
06/09/18 00:31:02
>>449
やっとひとつ理解できました。
ということは、Select Caseを使ってアルファベットと
数字を別々に判定することは無理なんですかね。



451:デフォルトの名無しさん
06/09/18 00:33:59
そうだから正規表現覚えるのが結局一番早いよ。
今後の応用範囲も広がるし

452:デフォルトの名無しさん
06/09/18 00:35:13
正規表現っていうのはこの場合何でしょう?

453:デフォルトの名無しさん
06/09/18 00:36:06
この場合もクソもないでしょ

454:デフォルトの名無しさん
06/09/18 00:39:23
>>447
そのSelectは何に対してやってるんだ?
パスワード全体に対してやっても意味無いぞ。
ループの中でパスワードの1文字ずつに対してやればうまく行くんじゃないの?

455:デフォルトの名無しさん
06/09/18 00:42:00
甘やかしな教えた君が増えると、努力もしない教えて君が調子ぶっこいて何でも聞いてくるようになるから嫌だよな。

456:デフォルトの名無しさん
06/09/18 00:50:36
ここ質問スレなんだけどw

457:デフォルトの名無しさん
06/09/18 00:52:48
つってもvb以前の質問はねー

458:デフォルトの名無しさん
06/09/18 00:53:15
まあ質問者が自分で考えもしない超低レベルなら、回答者も馬鹿揃いだから、丁度いいんじゃね?

459:デフォルトの名無しさん
06/09/18 02:06:09
C#スレみたいに本スレと初心者スレ分ければいいんじゃね?
C#のほうはあんまり機能してないけど

460:デフォルトの名無しさん
06/09/18 07:36:09
質問とか初心者以前だろ?

どうしたらいいか? 正規表現。

これで終わってる話。
それを調べて判らない点が出たら再質問。それが常識。

会社の新人で、ここにいる質問の人みたいのいたらケリだよ。

461:デフォルトの名無しさん
06/09/18 09:44:33
434じゃないけど便乗質問。
自分の頭では"(全部数字)|(全部英字)|(全部英数字)"にマッチして、
グループ1と2が空でグループ3が空じゃなかったらOKというのしか思いつかなかった。
マッチしたかどうかで一発で判定できる正規表現って書ける?

462:デフォルトの名無しさん
06/09/18 11:30:18
検索文字列がパターン化できないのであれば正規表現は使いにくいよ。
「英字が入ってる AND 数字が入ってる」でチェックして、外れたの
はやり直しって感じでいいんでない?

URLリンク(homepage1.nifty.com)

463:デフォルトの名無しさん
06/09/18 12:56:04
最低・最悪のユーザー・エクスペリエンスと評判の .NETアプリ
こんな素晴らしいクソ言語の学習に皆さんがんばって下さい

464:デフォルトの名無しさん
06/09/18 13:08:45
学習、なんて言っているうちは何を言っても説得力無し。

465:デフォルトの名無しさん
06/09/18 13:51:11
すいません、上記の方々と別件なのですが、正規表現で質問です。

「?:@123xxxxx」という文字列を含むinstrを「@123」へ変換したいと思っています。
※「?」「:」「@」は普通の文字として扱う。

以下のような正規表現で変換しようとしたら、resultがNothingになってしまいます。
result = System.Text.RegularExpressions.Regex.Replace(instr, "\?\:\@(\d\d\d)(\w+)","\@$1")

ちなみに以下のようにしたら、例外が発生。
result = System.Text.RegularExpressions.Regex.Replace(instr, "?:@(ddd)(w+)","@$1")

VB.netの正規表現ではどのように表現すればよろしいでしょうか。
よろしくお願いいたします。


466:デフォルトの名無しさん
06/09/18 13:54:33
エスケープする必要がある文字とない文字を MSDN で調べれ

467:デフォルトの名無しさん
06/09/18 14:37:58
検索パターンに余計な\を入れても無視されるだけで戻り値がNothingになることは無いと思うんだが。

468:465
06/09/18 15:05:20
>>466
以下のように変更したら、キチンと値が帰ってくるようになりました。
どうもありがとうございまいした。
work = System.Text.RegularExpressions.Regex.Replace(instr, "\?:@(\d\d\d)(\w+)","@$1")

>>467
私も今までPerlやJavaでは465のように書いていて問題なかったため、
VB.NETでも同様だと思ったのですが、Nothingになってしまいました。
VB.NETでは厳密にエスケープ文字を判定しているようですね。。。

469:デフォルトの名無しさん
06/09/18 19:11:55
>>411
select * from 利用テーブル Where 登録月
でdatasetに書き込み
その後datavviewでID=Aとかいくらでも抽出しればいくね。

470:デフォルトの名無しさん
06/09/18 19:15:04
正規表現文字クラスの[]指定内で前方参照する方法ってある?
(['"])[^\1]+\1
みたいな(ここの2つ目の[]のやつね)。
上のは、'か"で囲まれた文字列の検索。


471:デフォルトの名無しさん
06/09/18 19:15:46
ここって思うし、質問する人間と回答する人間、経験何年と年収いくらか一緒に記載すると、
返答も相手のレベルに合わせられるし、質問した方も、回答の理解の仕方が上がるんじゃない?

普通会社では相手が見えるから、お互いのレベルを分かった上で話すじゃん。
そう思うのは私だけかい?

472:デフォルトの名無しさん
06/09/18 19:56:36
>>471
そんなの質問に必要ない。

適切な日本語で質問を表現できること、会話になること。
本人が言われたことに対して試してフィードバックできること。
それだけ。


473:デフォルトの名無しさん
06/09/18 20:01:22
>>471
日本語でお願いします

474:デフォルトの名無しさん
06/09/18 20:23:21
>>472
ほぼ同意。
それに加えて「雑音を聞き流す大人の対応」もできれば大吉。
煽るだけで有益な情報のない脊髄レスは脳内フィルタリングするべし。

475:デフォルトの名無しさん
06/09/18 20:23:23
>>471
たった数行のレスで相手のスキルを推測し真性なのか釣りなのか即座に
判断できないようでは一流のSEとは言えん。

476:デフォルトの名無しさん
06/09/18 20:34:31
エスパー乙。
今後も行間を読みまくって適切な解答を書いてください。

477:デフォルトの名無しさん
06/09/18 20:41:20
このレスの住人はユーモアを理解せぬようだの。

478:デフォルトの名無しさん
06/09/18 20:54:08
レスには住めんのう…

479:デフォルトの名無しさん
06/09/18 20:58:10
>>478
面白くない。
Debug.Print()百回やって出直してこい。

480:デフォルトの名無しさん
06/09/18 21:10:04
ループでまわしていいですか?

481:デフォルトの名無しさん
06/09/18 21:17:58
>>480
gotoにしとくと飯が旨く感じるらしいぞ

482:デフォルトの名無しさん
06/09/18 21:35:53
残念、オレはconsole.writeline()だ

483:デフォルトの名無しさん
06/09/18 21:51:54
>>479
ドトネトらしく System.Diagnostics.Debug.WriteLine() を使えよ!!

484:デフォルトの名無しさん
06/09/18 21:54:38
うーん、ここって高度な技術者なのかな・・全然日本語がわからない。

485:デフォルトの名無しさん
06/09/18 22:22:32
>>470
ベタに書けばこんなんだが
(?<quote>'|")(?<match>(?!\k<quote>).+)\k<quote>
最長一致じゃ拙いように思うがね
// グループに名前付けてるのはわかりやすさを優先したから

486:デフォルトの名無しさん
06/09/19 03:57:27
VB.netで、画像加工のアプリを作ってるんですが、
ブラシを使って塗りつぶして、保存した後、フォトショップで開くとエラーが出て開けません。
あと、mixiのプロフィールの画像に指定しようとアップロードすると、
「画像が壊れています」とエラーが出て失敗してしまいます。
他のアップローダでアップするとちゃんといけて、表示もされました。
原因が分かる方教えてください。

487:デフォルトの名無しさん
06/09/19 14:21:10
どうやって、どんな形式で保存しているのか。

それが問題だ。

488:デフォルトの名無しさん
06/09/19 15:34:53

  クソ言語  VB.NET


489:デフォルトの名無しさん
06/09/20 22:01:40
VB6からのイメージだけで思ってないか?
まあ漏れも使ったことないけど

490:デフォルトの名無しさん
06/09/20 22:17:57
VB6ユーザーを何とか移行させたくてどんどんクソ言語になって来てるのは事実

491:デフォルトの名無しさん
06/09/20 23:30:46
2003までで乗り換えがうまくいかなかったからか、2005では驚くほど
6.0ユーザーに擦り寄ってるの見え見え。

492:デフォルトの名無しさん
06/09/20 23:46:59
諦めてVB6を再販すれば無問題。

493:デフォルトの名無しさん
06/09/21 00:07:33
マクロの DTE.Find.Execute() で検索を実行すると末尾まで検索すると
先頭に戻って検索を繰り返すのですがどうやったら止めれるのでしょう?


494:デフォルトの名無しさん
06/09/21 15:21:36
リストビューのcontextmenuを使ってポップアップメニューを作る際、
右クリックされたのが、
カラムヘッダーのときと、
リストのアイテムのときと、
アイテムの無いリスト部分のときとで、
ポップアップメニュー表示非表示を切り分けるってことできます?
どうしても、どんな場合でも右クリックしたらメニューが表示されてしまいます。
同一コントロール内で、どこでクリックされたかの判断したいです。

495:デフォルトの名無しさん
06/09/21 16:51:39
>>494
できるよ。

>どうしても、どんな場合でも・・・(ry
それは嘘だろー どうやったのか書いてくれ。
何もしてないんだろ?


496:494
06/09/21 17:41:33
>>495
申し訳ない。
私がウソコでした。
ContextMenuプロパティから操作しようというのが間違えていました。
素直にMouseUpイベントからGetItemAtメソッドでできました。

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

497:デフォルトの名無しさん
06/09/22 08:51:17
MDIについての質問です。
UserControlから呼び出すフォームを親フォームのMDIに表示しようとして躓いています。
Parentプロパティを送るときに例外「トップレベルのコントロールをコントロールに追加できません」が発生します。
Me.ParentFormのIsMdiContainerはTrueになっています。

UserControlのイベント内で、
Dim f as New Form
f.Parent = Me.ParentForm←ここでエラー
f.Show()


498:デフォルトの名無しさん
06/09/22 09:40:28
ParentじゃなくてMdiParentじゃないの?

499:497
06/09/22 10:01:51
>>498
あああああっ
俺、何やってんだぁぁぁ(T.T

ども、ありがとです

500:デフォルトの名無しさん
06/09/22 11:19:37
ComboBoxで質問ですが
Itemsで追加した文字列のほかに任意の数値(文字でも可)を指定する方法ってありますか?
例えば、
aaaa,0
bbbb,3
cccc,4
ドロップダウンに表示するのはaaaa、bbbb、ccccで
SelectedIndexが2のときにはccccと4が抽出できるような・・・

501:デフォルトの名無しさん
06/09/22 11:38:11
DataSource
DisplayMember
ValueMember


502:デフォルトの名無しさん
06/09/22 12:26:51
>>501
それはデータベーを使わなくても使えますか?
つか、以前のVBで言うところのItemDataって奴があればいいとおもって調べたら
SetItemDataってのがNETにはあるっぽいのでやってみたらエラーに・・・
これどうやって使えばいいのかな・・

503:デフォルトの名無しさん
06/09/22 12:49:05
>>502
それくらいMSDN嫁

504:デフォルトの名無しさん
06/09/22 13:24:45
>>503
('д`)えー
あのエスパーにしか解読できないヘルプをですか・・・
こっちがヘルプしてほしいくらいのヘルプだよねMSのって(´・ω・`)

505:デフォルトの名無しさん
06/09/22 13:28:38
>>504
ならぐぐるとか。

506:デフォルトの名無しさん
06/09/22 13:55:04
>>595
ぐぐってみました。
どうやらVB6からアップデートしたらSetItemDataが使えるらしいですが
新規でNETならそれはできないらしいですね。
ちょっと>>501のアレをみてみるかな

507:デフォルトの名無しさん
06/09/22 23:24:17
>>504

自分の読解力を棚に上げてる可能性が5割。
英語の原文読めばいいのに読んでない可能性が5割。


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の設定いじる以外にどうしようもないですかね。
クライアントのレジストリいじくれば何とかなりそうなんだが。



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

5179日前に更新/247 KB
担当:undef