VB.NET質問スレ (Part8) ..
[2ch|▼Menu]
116:デフォルトの名無しさん
04/12/15 14:15:16
>>113
やったこと無いから勘で答えてみる。
『System.Drawing.Printing.PaperSize』

>>114
よくわかりません。
なにがしたいのか、なにがやりたいのか・・・・

DoEventsあたりを使えば出来そうな気もしますが。

>>115
『BATファイル』『SHELL』『DOSコマンド』
がんばれ。

117:デフォルトの名無しさん
04/12/15 14:55:11
114の問題は、既にあるメインフォームではなく、もう一つ新しいメインフォームを作ってしまってる事だと思われる。
//しかしMenuってクラス名はわかりにくいな。

118:114
04/12/15 15:04:02
すいません。書き方がおかしいですね;w;

メニューのフォームと給料というフォームがあって、実行すると
最初にメニューのフォームが表れそのメニューのフォームから給料というボタンを押すと
給料フォームが開くようにするイベントなのですが、

その際、メニューのフォームは最小化し、EnabledにはFalseに設定して選択できないようにしたいのです。
そして、給料のフォームを閉じる際には最初のメニューのフォームのEnabledにTrueを設定し、下のように表示したいのです。

モーダルフォームにすれば似たようなことができるのですが、できればメニューは表示させずにタクスバーに格納したいのです。
よろしくお願いします;w;

119:デフォルトの名無しさん
04/12/15 15:38:36
メニュー画面
ボタンクリックイベント内

  frm給与.Owner = Me '(親フォームをメニューフォームにする)
  frm給与.Show '(給与フォーム表示)
  Me.WindowState = FormWindowState.Minimized '(メニューを最小化にする)


一方、給与画面

フォームのClosedイベント内で
Private Sub frm給与_Closed(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Closed
  Me.Owner.WindowState = FormWindowState.Normal() '(メニューフォーム表示)
End Sub

簡単に言うと開く先のフォームで親フォームを表示させてるだけ


120:デフォルトの名無しさん
04/12/15 15:39:35
>>118
俺にはその説明でもわからんのだが?

AとBという二つのフォームがあって
AからBというフォームを起動させた時、Aのフォームを最小化してイベントを受け付けなくさせ
Bというフォームを閉じた時、Aというフォームを最大化してイベントを受け付けるようにするってだけか?

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim B As New B_Form
Me.WindowState = FormWindowState.Minimized
B.WindowState = FormWindowState.Maximized
B.TopMost = True
B.ShowDialog()
Me.WindowState = FormWindowState.Maximized
Me.Activate()
End Sub

つまり、これじゃダメだってことだよな?

121:120
04/12/15 15:47:08
俺って頭悪いな。
「TopMost = True」より、BringToFront()の方がマシじゃん・・・_| ̄|○

122:114
04/12/15 16:08:49
>>199さん200さんありがとうございます♪
200さんのように説明すればよかったですね(*д*)

199さんのようにA(メニュー)のフォームをB(給料)の親フォームとしてするのはナイスですね♪
自分はプログラム初心者なので200さんの記述の分でできるかどうか分からないのですけど、
Bというフォームを閉じたときにAのフォームのWindowStateにMaximizedを設定できるのでしょうか?

自分が試したときは(200さんのような記述ではないのですけど)できなかったもので・・・
今職場で空いた時間に掲示板見ているので帰って試してみますね♪

123:114
04/12/15 16:09:45
200さんじゃなくて120さんですね;w;
すいませんm(_ _)m

124:114
04/12/15 16:44:34
またまたすいません;w;
実際に試せたので199さんを参考に試しで作ってみました。

Aのフォーム
Private Sub btn1_Click(略)
Dim f As New A '宣言
f.Owner = Me   '親フォーム宣言
Me.WindowState = FormWindowState.Minimized  'アクティブなフォームのサイズを最小にする
Me.Enabled = False              'ユーザーの受付を不可にする
f.Show()                   'フォームBを表示する
End Sub

Bのフォーム
Private Sub btn2_Click(略)

Me.Owner.WindowState = FormWindowState.Normal  '親フォームのサイズを通常に戻す
Me.Owner.Enabled = True             'ユーザーの受付を可能にする
Me.Close()                    'フォームを閉じる
End Sub

のように記述したのですけれど、子フォームから親フォームに移るとき(Bを閉じてAを通常サイズに戻す)は
成功したのですが、Aのフォームを最小化してBのフォームを表示させるときに
Bのフォームは表示できるのですが、最小化された状態で出てきます。

Bのフォームロードイベントに通常サイズに戻すように記述してもうまくいきませんでした。
よい方法ないでしょうか?聞いてばかりですいません;w;

125:デフォルトの名無しさん
04/12/15 18:17:22
>>114
落ち着け。

126:100
04/12/15 18:58:13
リッチテキストのテキスト開始点の座標って取得できますか?
| ←これの座標です

もしくは開始点の隣の文字座標でもいいんですが・・・


127:デフォルトの名無しさん
04/12/15 19:23:53
>>126
SelStartってリッチテキストでも使えたような。

128:100
04/12/15 19:43:52
>>127
それでできました。
ありがとうございます

129:デフォルトの名無しさん
04/12/16 09:05:38
>>124
その問いかけに対する答えはすでに出ている。

130:114
04/12/16 09:46:01
色々試してみてBのフォームを開けるときにAのフォームで処理せずに、
BのB_Loadプロシージャ内でAのフォームのサイズをNomalにするとうまくいきました^^

みなさんありがとうございました♪

131:デフォルトの名無しさん
04/12/16 23:18:40
入力支援のようなものを作っているんですが、、

フォーム上にリッチテキストを配置して下部にDock
リッチテキストを親としたリストボックスを配置
「<」が入力された時にリストをその行の1つ下の行に表示

上記の場合、下部の行にきたときリストが見づらいので、その場合は上に表示
したいと思っているですが、なかなかうまくいきません。

つまりフォーム内にリストが必ず見える状態にしたいんですが、何かいい方法はありませんか?



132:デフォルトの名無しさん
04/12/16 23:31:11
>>131
質問の仕方に問題ないか?何を聞きたいのかサッパリ理解できない。
何をやりたいかよりも何を聞きたいかを書こう。
読み手の立場に立って、読み手に理解されるかどうかを意識しながら
文書を推敲しよう。

って、こういうことは中学卒業までにマスターしておくべきだろう。。

133:デフォルトの名無しさん
04/12/16 23:35:20
>>131
DesktopBounds とかで位置関係を判定しつつリストボックスの位置を変えればいいんじゃない?

134:デフォルトの名無しさん
04/12/16 23:47:51
>>130
アクティブの時にBringToFrontで前面に出した方が、、、と思わなくもない。

>>131
「<」はキーが押された時にってなら、KeyPressあたりだろうなー。

135:デフォルトの名無しさん
04/12/17 17:03:06
REALBasicってどうなのよ?
キャンペーンで半額らしいので良けりゃ買ってみようかと思うんだが



・REALbasic 5.5 Standard for Windows 日本語版ライセンス
URLリンク(secure.domain.ne.jp)

・REALbasic 5.5 Professional for Windows 日本語版ライセンス
URLリンク(secure.domain.ne.jp)



136:デフォルトの名無しさん
04/12/17 18:04:47
なぜ此処で聞く

137:デフォルトの名無しさん
04/12/18 12:44:34
>って、こういうことは中学卒業までにマスターしておくべきだろう。

読解力の方もね。

138:デフォルトの名無しさん
04/12/18 14:13:08
>>137
そんな逃げ道残したようなすかしっ屁みたいな言い方しか出来ないのか。
チキンなお方。いやチキンというより頭悪いのな。

間違ってると思うなら堂々と反論したら?
ま、君の知能じゃ無理だよねえ。

139:デフォルトの名無しさん
04/12/18 14:13:57
インターネット上の情報を取り込んで、
それをACCESSに登録する、というものを作りたいのですが、
「インターネット上の情報を取り込む」やり方がわかりません。
調べる上でのとっかかりになるキーワードでもいいので教えてください。

140:デフォルトの名無しさん
04/12/18 14:28:16
System.Net名前空間

141:デフォルトの名無しさん
04/12/18 14:36:25
>>140
ありがとうございます。調べてみます。

142:139
04/12/18 17:33:06
もしかしてWindows XP Home Editionではできないですか?


143:デフォルトの名無しさん
04/12/18 17:37:14
それはSystem.Web名前空間の一部(ASP.NETに関わる部分)。

144:デフォルトの名無しさん
04/12/18 17:40:42
>>142
インターネットのどの系統の情報かさっぱり。

URLリンク(dobon.net)
この辺で、自分で調べて勉強しなおして来い。

145:デフォルトの名無しさん
04/12/18 17:56:03
>>142
HomeじゃIISうごかんのじゃないかね?

146:139
04/12/18 18:25:42
取得したいのは、ホームページに記載されている情報です。

勉強して出直してきます。
ありがとうございました。

147:noname
04/12/18 19:08:09
VB.NETのADO.NETでmdbとかに複数ユーザがアクセスする際、
エラーが出ないようにする方法を知りたいのですが、
質問はここでよろしいのでしょうか。データベース板には
ADO.NETスレがなかったので。。。汗

以下の手順を踏んでもエラーがでないようにしたいです。
1.ユーザAがプログラムを起動し、サーバのデータを参照する。
2.ユーザBがプログラムを起動し、サーバのデータを参照する。
3.ユーザBがデータを書き換え、更新する。
4.ユーザAがデータを書き換え、更新する。

4の時、Aが更新を行おうとする際、サーバのデータが
1で読み込んだのと異なっているのが原因でエラーが起きて
しまいます。。
後で更新処理を行ったデータが最新のものになるように
したい(ユーザAのデータ更新)のですが、どうしたら
よろしいでしょうか。よろしくお願いいたします。

148:デフォルトの名無しさん
04/12/18 19:14:27
BeginTransaction

149:100
04/12/18 19:22:51
リッチテキストで指定行の先頭文字ってどーやったら取得できますか?

150:デフォルトの名無しさん
04/12/18 19:28:10
RichTextBox1.Lines(index).Chars(0)

151:デフォルトの名無しさん
04/12/18 22:06:28
すべてのユーザー名を取得したくて
Public Const FILTER_NORMAL_ACCOUNT = &H2&
Public Structure USER_INFO_0
Dim usri0_name As Integer
End Structure
Public Declare Function NetUserEnum Lib "Netapi32.dll" (ByVal servername As String, ByVal level As Integer, _
ByVal filter As Integer, ByVal bufptr As Object, ByVal prefmaxlen As Integer, ByVal entriesread As Integer, ByVal totalentries As Integer, ByVal resume_handle As Integer) As Integer

とModuleで宣言して

Dim lngEntriesRead As Integer
Dim lngTotalEntries As Integer
Dim pUserInfo As Integer
Dim typUserInfo() As USER_INFO_0
Dim bytBuf() As Byte
Dim strUser As String

lngRet = NetUserEnum(vbNullString, 0, FILTER_NORMAL_ACCOUNT, _
pUserInfo, 10240, lngEntriesRead, lngTotalEntries, 0)

としてみたところ'System.NullReferenceException' のハンドルされていない例外が発生しました。
追加情報 : オブジェクト参照がオブジェクト インスタンスに設定されていません。

というエラーがでました。誰かどうすればいいか分かる方教えてください

152:デフォルトの名無しさん
04/12/18 22:15:46
PictureBox1.imageを何も表示しない(PB1の背景色だけが見える)ように設定するにはどうすればいいのでしょうか。

153:デフォルトの名無しさん
04/12/18 22:16:57
>>152
PictureBox1.image = nothing

154:152
04/12/18 22:19:56
>>153
即答ありがとうございます!

155:デフォルトの名無しさん
04/12/18 22:59:09
>>151
WMIで取得するというのはどうか。

'参照の追加でSystem.Management.dllを追加
Imports System.Management

Dim mc As New ManagementClass("Win32_UserAccount")
Dim mo As ManagementObject, prop As PropertyData
For Each mo In mc.GetInstances()
    Console.WriteLine(mo.Item("Name"))
Next

156:デフォルトの名無しさん
04/12/19 12:37:18
>>155
できた!できました。
本当にありがとうございます

157:デフォルトの名無しさん
04/12/19 18:58:24
リストビューのサブアイテムに文字入れてやりたいのですがどうすればいいのでしょうか。

158:デフォルトの名無しさん
04/12/19 19:24:14
ヘルプに載ってる。

159:デフォルトの名無しさん
04/12/19 20:05:05
>>158
載ってました。
すみません。

160:デフォルトの名無しさん
04/12/19 20:32:20
>159
どんまい

161:フナ太郎
04/12/19 20:52:40
.NET tipsとか行ったら、C#のtipsしかなくてムカついた、ってこと
ないですか?

162:デフォルトの名無しさん
04/12/19 21:06:17
これ使え

URLリンク(authors.aspalliance.com)

163:デフォルトの名無しさん
04/12/19 21:56:24
テキストボックスを拡張して、フォーカスが移ると境界線が変わるものを作成しています。
以下のようなイベントにすると、テキストボックス内でTabを押したときに、フォーカスが次のコントロールに移りません。
Private Sub MyTextBox_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Enter
Me.BorderStyle = BorderStyle.Fixed3D
End Sub
Private Sub MyTextBox_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Leave
Me.BorderStyle = BorderStyle.FixedSingle
End Sub

ところが、境界線を変更する命令をなくすと、Tabでフォーカスが移ります。
Private Sub MyTextBox_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Enter
Me.BorderStyle = BorderStyle.Fixed3D
End Sub
Private Sub MyTextBox_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Leave
' Me.BorderStyle = BorderStyle.FixedSingle
End Sub

境界線を変更しつつTabでフォーカスを移すには、どうしたらいいでしょうか。


164:ケン
04/12/19 22:37:36
directdrawのように、裏画面で背景やキャラクターを合成して、表画面に転送するといったようなことをdirectdrawを参照しないで、GDI+だけで作成することはできますか?







165:デフォルトの名無しさん
04/12/19 22:51:00
>>163
BorderStyleを変更するとフォーカスが当たりなおされるみたいだね。
BorderStyleを書き換える前後でフォーカスが当たらないようにEnabledをFalse -> TrueにすればOK。

>>164
できるよ。
Bitmapを作って書き込んで、最終的にそのBitmapを表に描画。

166:デフォルトの名無しさん
04/12/19 23:07:25
以下のようなプログラムを書きました

フォームにファイルをドラッグアンドドロップ
→ドロップされたファイルの名前をリストボックスに表示
→ファイルを外部プログラムで処理(その際処理が終わるまで待つ)

ソース

Private Sub Form1_DragDrop・・・
Dim filename As String = e.Data.GetData(DataFormats.FileDrop, False)
ListBox1.Items.Add(filename)
Shell("hogehoge.exe " & filename, AppWinStyle.Hide, True)
End Sub

ところがこれだと、hogehoge.exeの処理が終わるまで(けっこう長い・・・)、
ファイル名がリストボックスに表示されません。

おそらく外部処理の終了まで待つように設定しているからなのですが、
外部処理はいくつかあり、順番を守らないといけないため、
この設定は変えられそうにありません。

リストボックスに表示されてから処理に移るようにするには、
どのようにしたら良いのでしょうか?

167:デフォルトの名無しさん
04/12/19 23:13:16
Shellを実行する前にListBox1.Refresh()

168:166
04/12/19 23:15:29
なんと簡単な・・・orz

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

169:デフォルトの名無しさん
04/12/19 23:19:50
DoEventsとか、スレッドとかそっち方面でもいけそうだね。

170:163
04/12/19 23:27:44
>>165
以下のように書いたら直りました。
Me.Enabled = False
BorderStyle = BorderStyle.FixedSingle
Me.Enabled = True

が、今度はShift+Tabを押したときの動作がおかしいです。
フォーカスが1つ前のコントロールに移らず、1つ後に移っています。
おそらくコントロールを無効にしたときに、すぐに次のコントロールにフォーカスが移るので、
そこで動作がおかしくなるのだと思います。
これを直すにはどのようにすればいいでしょうか。


171:デフォルトの名無しさん
04/12/19 23:39:53
>>170
なんか165が言ってることと全然違うことやってるみたいだけど。。

しかし、こういうのは意図したとおり動作しない原因を考えることも
もちろん重要だけど、それ以上にいろいろ試行錯誤することが重要だと思う。

人に質問する前に、例えばEnter/LeaveじゃなくてGotFocus/LostFocusを使うとか
SelectNextControlメソッドを試すとか、やることあるでしょ?

172:デフォルトの名無しさん
04/12/19 23:48:05
>>171
聞いて来たらすぐに答える俺らの対応も悪いかもね。

173:デフォルトの名無しさん
04/12/20 02:42:59
どこで質問したものか迷って、
スレ違いとは思いますが、質問させてください。

今、Visual Stadio .NET 2002、 .NET Framework1.0 の環境で、
これをFramework1.1にしようと思ったのですが、これって出来ないのでしょうか?

174:デフォルトの名無しさん
04/12/20 07:11:13
>172
しかもへぼい回答だしな。お前の場合。

175:デフォルトの名無しさん
04/12/20 07:12:12
>173
実際できなかったのかどうかをまず書けよ。

176:デフォルトの名無しさん
04/12/20 07:57:34
>>174
エスパーか?

177:173
04/12/20 10:44:04
>>175
自分でやった限りではできませんでした。
マイクロソフトのダウンロードサイトから再頒布可能パッケージやらSDKやら落としましたが。


178:デフォルトの名無しさん
04/12/20 10:52:49
>>177
WindowsUpdateで常に最新の状態を保ってるなら、すでにFramework1.1の状態。

個別で落としてきたって言っても、落としただけじゃ駄目だよな。インストールしないとよ。

179:デフォルトの名無しさん
04/12/20 10:54:58
質問の意図は、VS2002で.NET1.1を扱えないかということではないのかな。
それなら一言、無理。

180:173
04/12/20 11:13:28
>>178>>179
レスありがとうございます。

>質問の意図は、VS2002で.NET1.1を扱えないかということではないのかな。
そのとおりです。
無理なのですか・・・

181:デフォルトの名無しさん
04/12/20 13:08:17
>>180
SharpDevelopでも入れたら?
あんまり活気ないけれど、専用スレもあることだし。

182:デフォルトの名無しさん
04/12/20 13:08:41
音楽を再生するMMControlについて質問です。
MIDIデータを再生し、一時停止(Pause)した後、再びその位置から再生すると、何故か音色が変わってしまいます。
使った事のある方なら殆どの方がきっと「あれ?」と思うところだと思います。

どうもMMControlでは、頭から再生しようとした場合しか音色設定を読み込んでない気がするのですが、
何か解決方法は無いでしょうか。

183:デフォルトの名無しさん
04/12/20 15:23:06
リストボックスにフォーカスをうつすときは
Listbox1.focus()
で、できるんですがリストの項目自体にフォーカスを移すことってできますか?


184:デフォルトの名無しさん
04/12/20 15:40:27
セレクトすりゃ良いんで無い?

185:デフォルトの名無しさん
04/12/20 16:27:37
>>184
すまん、そだった(;´Д`)
サンクス

186:デフォルトの名無しさん
04/12/20 21:27:23
>179
えー、そうなの?なんでなんで?

187:デフォルトの名無しさん
04/12/21 06:21:20
2002で作成したアプリケーションを.NET Framework 1.1上で動かすことはできる

ただ、コード補完等の恩恵を受けられないから新しく加わった機能を使うことが結果的にできない
既存の機能にバグがあって避けたいなら有効な手段かもしれない

やり方は・・・忘れた(ぉ
exeファイルと一緒になんかファイルを置くだけだった希ガス

188:デフォルトの名無しさん
04/12/21 06:36:17
あぁ、あった

URLリンク(www.microsoft.com)

これを使うと荒業ながら、1.1上でプログラムを"動かすことは"できる
所詮、1.1の新機能を使うことはできないからあんま意味無いかもしれないけどね

189:デフォルトの名無しさん
04/12/21 07:05:36
よくわからないのですが、

2002 → 1.0
2003 → 1.1

なの?

190:デフォルトの名無しさん
04/12/21 21:42:51
>>189
そう。
ついでに
2005 → 2.0

191:デフォルトの名無しさん
04/12/22 11:22:21
Button コントロールを継承した色付きボタンを作成中なのですが、
OnPaint を上書きする以外の方法でフォーカス時の枠を表示させない方法は
ないですか?

OnPaint 乗っ取って自前の描画部分作ってたら泣きそうになりました。
素の C++ で Windows アプリ書く人はえらいと思いつつ。

192:デフォルトの名無しさん
04/12/22 11:35:54
Buttonの描画ごときでがたがた言うな。

193:デフォルトの名無しさん
04/12/22 13:48:07
リッチテキストのスクロールを一行単位のスクロールにしたいんですが、どうすればできますか?

194:デフォルトの名無しさん
04/12/22 14:17:11
>>193
マウスのプロパティでホイールのスクロールを1行に

195:デフォルトの名無しさん
04/12/22 17:29:32
Dim A as String

で、このAに

LoadEstimate1,"saved_estimate1"

のような、""を含んだ文字列を入れたいのですが

A = "LoadEstimate1,"saved_estimate1""

としても入れることができません。どうしたらよいのでしょう?

196:デフォルトの名無しさん
04/12/22 17:35:14
"の中に書く"は""

197:デフォルトの名無しさん
04/12/23 15:44:08
質問させてください。
データセットのfindメソッドで取得した特定のレコードのpositionを
取得したいんですが、どうすればいいでしょうか?

具体的にやりたいことは、テキストボックスにキーを入力すると
全レコードが表示されているグリッド上で
自動的にそのキーのレコードまで飛んで、選択状態になるようにすることです。
よろしくお願いします。

198:デフォルトの名無しさん
04/12/23 20:21:40
VB.NETでメールの送受信をやろうとしています。
送信にはMailMessageクラスやSmtpMailクラスを使えばよい事が判ったのですが、
メールの受信をやってくれそうなクラスが見つかりません。
もしかして.NETのライブラリには受信クラスが無いんでしょうか?

199:デフォルトの名無しさん
04/12/23 20:27:13
ないよ
がんがって自前でSocketをこねこね実装してくれ。

CodeProjectとかGotDotNetとかに転がってると思うけど。

200:デフォルトの名無しさん
04/12/23 20:38:28
>>198
そうみたいだね。
URLリンク(dobon.net)

201:デフォルトの名無しさん
04/12/23 22:58:18
>>199
GotDotNetでCSLMailっていうライブラリを見つけたんですが、これは駄目でした。
よくわかりませんがメールをダウンロードする途中でコケます。

>>200
リンク先で紹介されていたBASP21を使ってみました。
とりあえずファイルへの保存とヘッダーごとの読み取りはうまくいったのでこれを
使ってみようと思います。

>>199,200
ありがとうございました。

202:デフォルトの名無しさん
04/12/24 11:09:19
Windows FormからFTPを使いたいのですが、なにか良いクラスかコンポーネントは無いでしょうか?
自作するほどスキルありません・・・・

今↓を使っているのですが、いまいち使い方がわからんです・・・
URLリンク(www.componentspot.com)



203:デフォルトの名無しさん
04/12/24 11:20:02
URLリンク(gotdotnet.com)

204:デフォルトの名無しさん
04/12/24 11:35:18
>>203
Thanks!!

205:デフォルトの名無しさん
04/12/24 16:23:38
Windowsフォームでテキストボックスが1つあるのですが、
例えばテキストボックスにフォーカスが無い状態で
キーが押されたらテキストボックスに押されたキーを入力するには
どうすれば良いのでしょうか?

KeyPreviewをTrueにして、テキストボックスにフォーカスしても
キー値は入力されません。



206:デフォルトの名無しさん
04/12/24 16:30:20
Form.KeyPressイベントで入力文字をテキストボックスに追加する。

207:デフォルトの名無しさん
04/12/24 17:06:07
ドトネトってネイティブコンパイラついてますか?

208:デフォルトの名無しさん
04/12/24 17:32:08
>>207
ネイティブコンパイラってCPU命令に変えてくれるコンパイラのことでいいんだよね?
それなら無い。VB.NETのコンパイラはCLRっていう中間言語に変えるコンパイラ。


209:デフォルトの名無しさん
04/12/24 17:46:24
>>207
.NETのランタイムにはJITコンパイラとか事前コンパイル用コンパイラとかついてるけど、
.NETランタイム無しで動作するネイティブのバイナリを作る機能はどこにも無い。

210:デフォルトの名無しさん
04/12/24 18:13:59
海外の市販ソフトにはアセンブリをネイティブな実行ファイルにするソフトもあったりする。

211: 207
04/12/24 18:24:07
>>208
うーーーん残念です
ドトネトに期待していたのですが

>>209
JIT?あとで調べてみますが最適化かなにかででしょうか

>>210
アセンブリは中間コードのことですね?

VBから乗り換えるきがしない OrZ

212:デフォルトの名無しさん
04/12/24 18:29:57
いままでVBランタイムが必要だったのが、その代わりに.NET Frameworkが必要になるだけじゃん。

213:デフォルトの名無しさん
04/12/24 19:10:52
ngen(CLR Native Image Generator)コマンドがあるけど、
ネイティブコードコンパイラとは程遠いです。
起動時のモッサリ感がなくなる程度。
あとC++で /clr を付けなきゃネイティブコードをはきます(笑)

214:デフォルトの名無しさん
04/12/24 20:06:06
>>211
VBよりは言語仕様が大幅に強化されたってとこかな>VB.NET
まぁ、「.NETになって何が良くなったか?」なんてのはいっぱい記事になってるから
適当な雑誌のバックナンバーでも漁ってみるといいよ

その上で乗り換えるかどうか考えたほうがいい

215:デフォルトの名無しさん
04/12/25 03:41:01
VS2003を買ったんですけど、うちのPCはwinxp HOMEエディションでした・・・。
ウェブアプリの勉強をしたいのですが自分の環境ではウェブアプリ
ケーションは作れないのでしょうか・


216:デフォルトの名無しさん
04/12/25 03:43:53
WebMatrixというのを調べてみな。

217:デフォルトの名無しさん
04/12/25 11:35:14
すみません。
質問なんですが、
10進数→2進数に変換する関数ってあるのでしょうか?

10進数→16進数や10進数→8進数に変換する関数だったら
見つけたのですが…。

218:デフォルトの名無しさん
04/12/25 11:35:18
教えて君で申し訳ございませんが、神様助けてください。
MSNメッセンジャーのアラートのような動きのするフォームを作れという客先からの無茶な要求に泣いております。
TCP通信にてメッセージが流れてくれば、そのWinsock経由でデータ取得し表示するform1を作成しました。
で、MSNメッセンジャーのアラーとのように約5秒間ポップアップしてポップアップしたform1クローズなのですが、
クローズする前に次のデーターがWinsock経由で流れてくればform1を新たに開いて表示しております。
(つまり、画面にはForm1が複数個表示されています。)
しかし、クローズ処理をしたときに当然ながらform1.closeだと表示しているすべてのフォームがクローズ
してしまいます。で、複数個オープンした場合、指定したフォームのみ閉じるということはできないのでしょうか。
そもそも、私のform1だけ使うという考え方に無茶があるような・・・(泣)
神様助けてください!

Private Sub Form1_Load
Me.Location = New Point(0, 850)
Me.Show()
Wait(5000)
Me.Close()
End Sub

Winsockからデータが来たときには
Dim f1 As New Form1()
f1.Location = New Point(x, y)
f1.Show()
としております。


219:デフォルトの名無しさん
04/12/25 11:36:34
>>217
System.Convert.ToString(String, Integer)

220:デフォルトの名無しさん
04/12/25 11:36:58
System.Convert.ToString(Integer, Integer)
だった。

221:デフォルトの名無しさん
04/12/25 11:45:47
>>218
なんだそのコード?
Loadイベントの中でCloseは普通呼ばんだろ。

222:デフォルトの名無しさん
04/12/25 11:46:32
>>220
ありがとうございます。助かりました。
早速使ってみます。

223:デフォルトの名無しさん
04/12/25 11:49:56
>>221
すいません、別件でデバッグしていた名残が(汗
Me.Close()は今はありません。失礼しました。

224:218
04/12/25 11:53:01
あぁ〜ついでに、Wait(5000)も無い。
駄目だ俺・・・焦りすぎ(泣)
ちなみに、Show時にラベルに表示するプログラム部とかは省略しております。


225:デフォルトの名無しさん
04/12/25 11:55:48
そもそも仕様がよくわからん。
メインフォームがあって、でソケットを受け取った時にForm1が表示されるって訳じゃないのか。
初めにソケットを受け取るものは何なんだ?
タスクトレイにでもしまってるとか? ならその部分のコードを示せ。

226:218
04/12/25 12:07:05
>>225さん
すいません、そうです。タスクにしまう予定です。でも、まだ作っておりません。
とりあえず、一つのフォームを何個もオープンさせて、それぞれの開いたフォームを個別制御できるの?
ってところを検証してみようとしている段階なので・・・
って、それだと、Form_LoadにMe.show()あること自体変ですね。
やっぱ、だめだ俺(泣)
そもそも、同じフォームを何個もオープンさせておいて、
それぞれ開いた同じフォームを個別で制御するにはどうしたら良いのでしょうか。

227:デフォルトの名無しさん
04/12/25 12:12:33
>>226
ユーザーインターフェースを持たないnothifyiconのみの
フォームでそれぞれのFormを制御してみたら?

228:デフォルトの名無しさん
04/12/25 12:32:06
>>218
フォームじゃなくて、NotificationWindowを使ったら?
URLリンク(msdn.microsoft.com)

229:218
04/12/25 12:34:15
>>227さん
ありがとうございます。
ユーザーインターフェースを持たないnothifyiconのみのフォーム
ってどういったフォームですか?申し訳ないのですが教えて頂けますでしょうか。
本当にすいません・・・


230:デフォルトの名無しさん
04/12/25 12:46:43
まあまず自分でタスクトレイ部分を実装してみようや。

231:218
04/12/25 12:50:38
>>228さん
おぉ〜!! ありがとうございます。
参照させていただきます。

>>230さん
そうですね。まずはそれをやってみます。
スレの神様たち本当にありがとうございました。
とりあえず、1つずつがんばってやっています。

232:デフォルトの名無しさん
04/12/26 19:54:06
OS:Win2000 / VB.NET2003

While sr.Peek() > -1
txts = sr.ReadLine()
txt2 = txts.Split("<"c)
'txt2(1) = txts
ListBox1.Items.Add(txt2(1))
tlist(cnts) = txts
cnts += 1
End While

というソースの「tlist(cnts) = txts」の部分で下のエラーがでてしまいます。どうすればいいんでしょうか?

233:デフォルトの名無しさん
04/12/26 19:55:22
あ、投稿が切れてしまった。

'System.NullReferenceException' のハンドルされていない例外が test.exe で発生しました。

追加情報 : オブジェクト参照がオブジェクト インスタンスに設定されていません。

です。よろしくお願いします。


234:デフォルトの名無しさん
04/12/26 19:57:06
ぬるぽ

235:デフォルトの名無しさん
04/12/26 20:02:45
>>232
Redim tlist(cnts)
tlist(cnts) = txts


236:232
04/12/26 20:15:06
>>235
ありがとうございます!

237:232
04/12/26 21:35:07
再び質問です。

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim f1 As Form1
Dim f4 As Form4
f4.MdiParent = f1
f4.Show()
End Sub

今度はこれなんですが、
追加情報 : オブジェクト参照がオブジェクト インスタンスに設定されていません。
がでます。よろしくお願いします。

238:232
04/12/26 21:36:11
書き忘れです。

呼び出しているのはMDIの子フォームです。

239:デフォルトの名無しさん
04/12/26 21:36:19
New

240:232
04/12/26 21:44:26
ぐはぁっ

>>239
ありがとうございます


241:デフォルトの名無しさん
04/12/27 00:38:34
またまたまた質問です。
このようなソースを書いたのですが、帰ってきたテキストが文字化けしてしまいます。
どうすれば解決するでしょうか?検索してもさっぱりわからん_| ̄| .....○

Dim tcpClient As New TcpClient
tcpClient.Connect("ex7.2ch.net", 80)
Dim stream As NetworkStream = tcpClient.GetStream
Dim bytsend As Byte() = System.Text.Encoding.ASCII.GetBytes("GET /morningcoffee/dat/" & msg & " HTTP/1.0" + vbCrLf + "Host: ex7.2ch.net" + vbCrLf + "User-Agent: Monazilla/1.00 test" + vbCrLf + vbCrLf)
stream.Write(bytsend, 0, bytsend.Length)
Dim bytread(4096) As Byte
Dim strtext As String
Dim intlength As Integer
strtext = ""
Do
intlength = stream.Read(bytread, 0, bytread.Length)
strtext += System.Text.Encoding.ASCII.GetString(bytread)
'strtext += Convert.ToString(bytread)
If intlength < bytread.Length Then
Exit Do
End If
tcpClient.Close()

Dim sw As New StreamWriter(Environment.CurrentDirectory & "\log\" & msg, False, _
System.Text.Encoding.GetEncoding(932))
sw.Write(strtext)
sw.Close()
MsgBox(strtext)
Loop

242:デフォルトの名無しさん
04/12/27 00:46:40
2chのログが何でEncoding.ASCIIなんだ? 0x7Fまでしか処理できないぞ。

243:デフォルトの名無しさん
04/12/27 01:07:21
>>242
どうやればいいんでしょうか?
「VisualBasic.NET逆引き大全500の極意」って本の例文をみつつ、やったので・・・

244:デフォルトの名無しさん
04/12/27 01:10:59
そんなのはこんなとこで聞いてるより VB.NET Encoding でぐぐれ。
2chのエンコーディングってどれですかとか聞くより自分で試せ。

245:デフォルトの名無しさん
04/12/27 01:18:59
>>244
うまくいきました。ありがとうです。

やっぱサンプル通りはだめっすね

246:デフォルトの名無しさん
04/12/27 02:04:15
>>245
何がいけなかったのかを理解しないとそのサンプルソースの作者に失礼だよ。

247:デフォルトの名無しさん
04/12/27 10:43:28
>>245
サンプル通りが駄目じゃなくて、サンプルのコードを理解してないのが駄目なだけ。

248:デフォルトの名無しさん
04/12/27 10:56:05
今度、.NETを勉強し始めようと思うのですが、
VC++6.0とか6.0のverやっていれば、.NETにすんなり移行できるでしょうか?


249:デフォルトの名無しさん
04/12/27 11:07:31
全然違うと評判なので、思い立ったが吉日、勉強しようと思ったらさっさと始める。

250:デフォルトの名無しさん
04/12/27 11:31:39
>245-247
すいません。自演でした。

251:デフォルトの名無しさん
04/12/27 11:35:48
誰も聞いてない。

252:デフォルトの名無しさん
04/12/27 12:22:09
>250-251
すいません。自演でした。

253:デフォルトの名無しさん
04/12/27 12:56:48
>>249
サンクス。

254:デフォルトの名無しさん
04/12/27 16:10:17
たくさんのプロジェクトを一括でコンパイルする事は
出来ますか?

255:デフォルトの名無しさん
04/12/27 16:21:12
まずやってから聞こう。

256:デフォルトの名無しさん
04/12/27 16:22:38
>254
ソリューションのビルドではダメ?

257:デフォルトの名無しさん
04/12/27 16:25:32
バッチビルドだし。

258:デフォルトの名無しさん
04/12/27 16:34:23
>257
ソリューションのビルドでもできるでしょ。

259:デフォルトの名無しさん
04/12/27 16:54:55
254です。
>255-258
有難うございます。
バッチビルドで検索したら
Devenvにたどり着きました。
ソリューションの方も試してみます。

260:デフォルトの名無しさん
04/12/27 23:35:10
音声の.wmaファイルを出来るだけ手軽に再生する方法はありませんでしょうか?
.mp3と.wavは調べて分かったのですが、.wmaはなんんか見つかりませんです

261:デフォルトの名無しさん
04/12/27 23:40:04
VB使って2chで連投レスできるプログラムって作れないのでしょうか?

262:デフォルトの名無しさん
04/12/27 23:45:10
>>260
Managed DirectX9のAudioVideoPlaybackクラス。

263:デフォルトの名無しさん
04/12/27 23:48:46
>261
もっと手軽にできると思うけど。何に使いたいの?

264:デフォルトの名無しさん
04/12/27 23:58:16
>>263
手動連投で疲れたから自動化出来ないかなあって思って書き込んだだけです
もうこの板から消えますごめんなさい

265:デフォルトの名無しさん
04/12/28 00:01:29
>264
いや、別に消えることないよ。連投ってのは具体的にどんな
感じにやるの?同じ投稿を一定間隔で投稿するような感じ?

266:デフォルトの名無しさん
04/12/28 00:09:28
>>265
まあ、そんな感じです。要は、スレを埋めるのに必死で手動で書き込んでいるので
一気に自動で梅梅出来ないのかなあって思っただけです。

267:デフォルトの名無しさん
04/12/28 00:12:06
プログラムで組むよりこういうのがおすすめ。試してみたら?

URLリンク(home.att.ne.jp)

268:デフォルトの名無しさん
04/12/28 00:15:07
>>267
ありがとうございます。挑戦してみます。

269:デフォルトの名無しさん
04/12/28 03:17:48
VBを起動できるのですが、なぜか新しいプロジェクトを作って、Form画面を
開こうとすると、『外部コンポーネントが例外をスローしました。』っていう
、画面がでて、何もできない状態です… 色々やってみたんですが、結局、
解決できずじまいです。どなたかわかる方いたら助けてください(T_T)


270:デフォルトの名無しさん
04/12/28 07:12:57
>269
悲惨だな。再インストールしてみたら?

271:デフォルトの名無しさん
04/12/28 15:24:27
>>270
やってみたんですけど、できませんでした…。はじめは、さっき言ったエラーじゃなかったんですけど、そのエラーを
直そうと再インストールした結果、今の状態になってしまいました・・・。もうどうしていいか、わからずじまいです。ほかに
いい方法ってないでしょうか?

272:デフォルトの名無しさん
04/12/28 15:28:12
OSごと再インストールするのが一番手っ取り早かろうな。

273:デフォルトの名無しさん
04/12/28 15:44:37
やっぱり、それしかないですよね。やってみます。ありがとうございます。


274:デフォルトの名無しさん
04/12/28 15:54:04
それはVB.NETが割れモノの時に出る症状です。すぐに警察に出頭して下さい。

275:最凶VB厨房
04/12/28 16:08:38
>>274
割れ物使ってるの?

276:デフォルトの名無しさん
04/12/28 16:08:41
Socketクラスを使用してReceiveをするとき、タイムアウトを
設定したいのですが、どのようにすればよいでしょうか?
よろしくお願いします。

277:デフォルトの名無しさん
04/12/28 16:14:39
SetSocketOption辺りか。

278:デフォルトの名無しさん
04/12/28 16:18:01
Socket.Selectみたいです。

279:デフォルトの名無しさん
04/12/28 16:18:52
>>276
できません。
Socket.Selectにタイムアウトを指定し、タイムアウトしたら処理中断、しなかったら読む、
という感じで頑張ってください。

280:デフォルトの名無しさん
04/12/28 21:50:31
すいませんが、どなたか知恵を貸してください。
日付がキーになるレコードテーブルがあって、カレンダーで選択した或る日付の
レコードのみグリッドに表示するようにしようとしていろいろ調べたところ、

URLリンク(www.atmarkit.co.jp)

に書いてあるやり方で実現できました。

が!これをやると、グリッドをクリックして選択した行の各フィールドを
バインドして表示するのコンボボックス等が反応してくれません。
コンボボックス等のデータソースの設定が怪しそうなので、
いろいろモガいているんですが、なんだかよく分かりませんorz。
いいかげんな説明で申し訳ありませんが、同じような事例をクリアされた方がいましたら
コツを教えてください。宜しくお願いします。

281:デフォルトの名無しさん
04/12/28 23:10:15
割れ物って何?

282:デフォルトの名無しさん
04/12/28 23:13:13
ぐぐればトップに出る。

283:デフォルトの名無しさん
04/12/28 23:16:00
>282
「ワレズ」と同義。

くー、こんどはワレズがわかんねーじゃん

284:デフォルトの名無しさん
04/12/28 23:17:40
ぐぐれば4番目に出る。

285:デフォルトの名無しさん
04/12/29 00:02:33
ょぅι゛ょのワレズ

286:デフォルトの名無しさん
04/12/29 04:33:45
>284
ぐぐった結果が誰でも同じになると思ってる奴発見。

287:デフォルトの名無しさん
04/12/29 09:27:05
Dim t As New System.Threading.Thread( _
New System.Threading.ThreadStart( _
AddressOf hoge))

hogeメソッドに引数を渡したいのですが
どうしたらよいでしょうか?


288:デフォルトの名無しさん
04/12/29 09:38:51
クラスを自作して、そのプロパティに事前に設定しておく。
ThreadStartにはそのクラスのメソッドを渡す。

289:デフォルトの名無しさん
04/12/29 09:46:38
>>288
なるほどー。
ありがとうございます。

290:デフォルトの名無しさん
04/12/29 10:23:00
初心者な質問ですみません。
VB6ではフォームにunloadイベントを作るときは
コンボボックスからunloadイベントを選択すれば自動的に
作成されましたが.netの場合はどのようにすればよいでしょうか?
ダブルクリックではloadイベントが作成されますが
同様の手順ではできないでしょうか?

291:デフォルトの名無しさん
04/12/29 10:25:03
>>286
反応が速かったから、順番も指定したんだけどな。(´・ω・`)
同一時間帯なら、どのマシンでやってもほぼ同じ検索結果になる
と思ってんだが違うの?

つか、その検索結果ページを斜め読みくらいするだろと。

292:デフォルトの名無しさん
04/12/29 10:27:06
>>290
UnloadイベントはClosedイベントに置き換わったと聞いてる。
URLリンク(www.microsoft.com)

293:デフォルトの名無しさん
04/12/29 19:04:20
外部プログラムを呼び出してその出力を受け取りたいです。
たとえば、shell( "dir" )とかで、その標準出力を受け取りたいのですが、
どうしたらいいでしょうか。そのプログラムが hoge.exe だとして、
shell( "dir | hoge.exe" ) でconsole.readline ではうけとれませんでした。。

294:デフォルトの名無しさん
04/12/29 19:17:18
API直呼び出しでパイプするしかないんでないの?

295:デフォルトの名無しさん
04/12/29 19:27:12
.NETなんだからProcessクラスを使えと。


Imports System.Diagnostics

Dim p As New System.Diagnostics.Process()
With p.StartInfo
   .FileName = "ping.exe"
   .Arguments = "www.yahoo.com"
   .UseShellExecute = False
   .RedirectStandardOutput = True
End With
p.Start()
Console.WriteLine(p.StandardOutput.ReadToEnd())

296:デフォルトの名無しさん
04/12/29 19:29:20
あの、VBA何で少し違うかもしれないんですけど、
ExcelVBAでアクティブになっているセルの数を知ることってできないですか?

297:デフォルトの名無しさん
04/12/29 19:33:56
>>296

65536^2個です。

298:293
04/12/29 19:43:46
>>295 ありがとございました。
けど、これだとワイルドカードの展開ができなかったので、
それは自前でやらんといかんですね。。

299:デフォルトの名無しさん
04/12/29 19:56:30
ファイル一覧が欲しいならSystem.IO.Directory.GetFiles(String, String)でも使えば?

300:293
04/12/29 20:01:20
>>299 いえ、>>293 のdirは本当に例なので、
ファイル一覧がほしいわけではないです。
でもワイルドカードの展開は System.IO.Directory.GetFiles ですね。
ありがとうございます。

301:デフォルトの名無しさん
04/12/30 00:03:12
>>296
少しじゃない。全然スレ違い

302:デフォルトの名無しさん
04/12/30 11:03:31
VB.NETでの継承について質問です。
C++だと
class test1 : public Base
class test2 : private Base
と指定する事でtest1ではBaseのpublicメソッドにアクセス出来たり
test2のようにするとBaseのpublicメソッドにアクセス出来なかったり
と継承先で指定できますがVB.NETで同等の機能は実現出来るのでしょうか?
また出来る場合はどのようにすればいいのでしょうか?
Public Class test2
Inherits Base
と指定しても class test1 : public Base と同等で、
class test2 : private Baseのようにしたいのですが・・・

303:デフォルトの名無しさん
04/12/30 11:07:57
@IT:連載 改訂版 プロフェッショナルVB.NETプログラミング
URLリンク(www.atmarkit.co.jp)

304:最凶VB厨房
04/12/30 15:10:53
俺の知る限りでは
private継承はできん。全部暗黙public継承

305:デフォルトの名無しさん
04/12/30 15:33:51
>304
お前の知識なんて誰も聞いてねーって。
仕様はどうなってんのか聞いてんのよ。
ヘルプ引くのめんどくさくて代わりに利用してんだから、
迅速に的確な回答をしろよな。お前ら全員。

306:デフォルトの名無しさん
04/12/30 15:35:09
今日は釣り日和ですか?

307:デフォルトの名無しさん
04/12/30 15:43:24
今日は釣れないでしょう

308:デフォルトの名無しさん
04/12/30 15:58:40
冬休みは短めだから、まあいいか。

309:デフォルトの名無しさん
04/12/31 00:10:46
ちょっと質問してみたいことがありますのでよろしくお願いします。

私の環境で、VB.NETを使用する際、ソースコードを入力したり
オブジェクトをフォームへ配置する操作やコンパイル、実行する操作は
VB6よりもちょっと遅いなと感じる程度なのですが、
作成したソースコードを一度実行した後、停止し、ソースコードの編集画面に
戻るまでの時間だけが、異様にかかっております。
それも、10秒程度なら我慢できるのですが、20〜30程かかります。
今後アプリ開発のことを考えると、とても作業にならない状況であります。

ためしに、タスクマネージャを起動してCPU使用率などをみても、
全く使用率100%にはなっておりません。また、メモリも十分に空き
があります。

そこで聞いてみたいのですが、皆さんの環境ではこのようなことは起きている
のでしょうか。
どうぞよろしくお願いいたします。

310:デフォルトの名無しさん
04/12/31 00:23:56
>>309
VSのIDEの動作は、確かにセロリン+遅いHDみたいなショボイ環境だと激しく重い。

しかし、恐らく>>309はIDEから実行したアプリを終了したときにIDEのエディタが
編集可能になるまでに時間を言っているんだと思うが、30秒もかかるというのは
開発環境のせいとは思いにくい気がする。

アプリの終了処理に問題があるんじゃないの?
それとも、例えばフォームだけの空っぽのアプリでも同じように遅いの?


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

4948日前に更新/258 KB
担当:undef