VB.NET質問スレ (Part10 ..
[2ch|▼Menu]
651:デフォルトの名無しさん
05/04/05 01:23:38
わかるの遅っ

652:デフォルトの名無しさん
05/04/05 07:07:22
>>645
あれー?削除しちゃったんじゃなかったんだー。
コロコロ変わるねーw

653:デフォルトの名無しさん
05/04/05 09:09:00
普通に組んでC#の方が速いならC#で作りたいなぁ


654:デフォルトの名無しさん
05/04/05 09:12:28
普通に組んでC++の方が速いからC++で作るといいよ。

655:デフォルトの名無しさん
05/04/05 09:19:03
C++は難しいのでやめておきます。

656:デフォルトの名無しさん
05/04/05 09:36:16
>>652
削除したことどこでも否定してないけどw 頭大丈夫?
まぁ、めんどくさいと言っても削除しちゃったから見せることすらできないけどねw

657:デフォルトの名無しさん
05/04/05 16:40:23
URLリンク(www.atmarkit.co.jp)
↑サンプルアプリケーションがあったのでちょっと拝見

しかし、こんなもの見て「よし、これやってみよう」なんてプログラマいないよな?
まんど臭い機能つけて後で突っ込み浴びて却下とかなったら、破壊したくなるもんなあ。
Sのプログラマは駄目かと思われ・・受身が一番で常。

ただRAD手法は絶対必要だと思う。んでもって強気にいかないと(仕様変更をあの手この手で防がないと)、納期に間に合いません!

フィックスって言ってたやん・・なんて愚痴は何百回言ったことでしょうか・・

658:デフォルトの名無しさん
05/04/05 23:54:06
>>656
>>656
>削除したことどこでも否定してない
まさにあなたはそこを突っ込まれたのですよ。
理解してから書くか、理解できてないのならダンマリでよろしく。

659:デフォルトの名無しさん
05/04/06 00:58:46
そろそろウザいので相手するな。

660:デフォルトの名無しさん
05/04/06 03:24:21
>>658
いやぁ以前にも書いたけどどんな書き方しようが自由だからね。
そんなに僕ちゃんのおふざけが気に入らなかったかなw

661:デフォルトの名無しさん
05/04/06 07:11:59
>>659
うん。

662:デフォルトの名無しさん
05/04/06 11:31:39
あるプロセスが起動中か確認したいのですが
どうのようにすればよいでしょうか?
例えばhoge.exeか起動中かどうかというのを
確認したいです。


663:デフォルトの名無しさん
05/04/06 11:40:31
System.Diagnostics.Process.GetProcessesByName

664:デフォルトの名無しさん
05/04/06 11:43:15
>>663
さんくす

665:デフォルトの名無しさん
05/04/06 15:03:27
>>661
アホだったらいちいち相手しないよ。

666:デフォルトの名無しさん
05/04/06 16:05:06
WebBrowserコンポーネントで開いたExcelのイベントを取ることは可能だろうか?

667:初歩的な質問なのですが
05/04/06 16:05:18
初歩的な質問なのですが、vb.netを使ってアプリケーションを作成し、
セットアッププロジェクトでインストーラーを作成しています。

その際に作成した「プロジェクトファイル名\obj\Release」に作成したアプリケーションが出来ますが、
これをセットアッププロジェクトの「アプリケーションフォルダ」にドラックアンドドロップして、作成したアプリケーションを含めてビルドを行うと、依存関係が見つかりませんと出ます。

アプリケーション単体でビルド行った際には出ないのです。
もちろん、必要なCOMなどは参照設定で登録しております。

これは何が問題なのでしょうか?


668:デフォルトの名無しさん
05/04/06 20:51:32
>>667
理解しようとする意欲がないのに、最初からいきなり複雑なことを
成し遂げようって発想が理解できない。
韓国人のパリパリとかいう主義みたい。

そういう場合はまず手始めにフォームだけの空っぽのアプリのインストーラを
作ってみる。小学生でもわかる定石でしょ。
話はそれから。

669:デフォルトの名無しさん
05/04/06 22:28:25
年齢を生年月日から求めたいのですが
DateDiffで年の差を求めると月/日が無視されてしまいます。
困りました。

670:デフォルトの名無しさん
05/04/06 22:37:12
DateTimeのSubtractメソッド、TimeSpanのTotalDaysプロパティ、除算。

671:デフォルトの名無しさん
05/04/06 22:40:51
>>669はただ「困った」って言ってるだけじゃん。
何も質問してないぞ。

672:デフォルトの名無しさん
05/04/06 22:42:07
>>670
それって365日と366日で結果が違ったりしませんか?
超てきとー

>>671
(・∀・)ニヤニヤ

673:デフォルトの名無しさん
05/04/06 23:25:48
VBを始めようと思っているのですが、周りの人はCにしておけといっています。
VBの欠点を教えてください。

674:デフォルトの名無しさん
05/04/06 23:49:21
>>673
数日前もだれかに言った気がするが・・・
馬鹿に思われるからやめなさい

675:デフォルトの名無しさん
05/04/07 00:59:11
>>673
早く挫折できる。

676:デフォルトの名無しさん
05/04/07 11:34:46
以下のようなエラーが出ます。
> 'System.ObjectDisposedException' のハンドルされていない例外が mscorlib.dll で発生しました。
> 追加情報 : 閉じている TextWriter に書き込むことはできません。
エラーが出るのは下のソースで「_WriteText.Flush()」です。
Finalize()でFlush()を呼ぶ前にClose()は呼んでません。
なぜこんなエラーが返るのか検討がつきません。知っている方、ご教授願います。

  Public Class TextOut
   Private _FStream As FileStream
   Private _WriteText As StreamWriter
   Public Sub New()
     _FStream = New FileStream("log.txt", FileMode.Append, FileAccess.Write)
     _WriteText = New StreamWriter(_FStream, Encoding.GetEncoding("Shift_JIS"))
   End Sub
   Protected Overrides Sub Finalize()
     _WriteText.Flush()
     _WriteText.Close()
     _FStream.Flush()
     _FStream.Close()
     _WriteText = Nothing
     _FStream = Nothing
     MyBase.Finalize()
   End Sub
  End Class

677:デフォルトの名無しさん
05/04/07 13:24:02
.NETでの正規表現の質問はここでいいのでしょうか。

パターンAからパターンBが「最初」に出てきたところまで、
というパターンを作りたいのですがうまく行きません。

pA〇〇〇〇〇pBpA×××pBpA△△△△△△△△pBpA・・・・

↑から pA〜pBまでのセットを取りたいのです。

ここで、 pA.+pB とやると最初から最後まで引っかかってしまいます。

ただ、 pA[^pB]+pB とやれば意図したように動くのですが、
実際にはパターンA、パターンBとももう少し複雑なので
なにかいい方法はないでしょうか。


678:デフォルトの名無しさん
05/04/07 13:25:30
最短一致は「?」

679:デフォルトの名無しさん
05/04/07 13:30:19
VB.NETの質問スレだろ?なんでVB否定するヴォケがいるの?ROMってろよ、ゴラァ

680:デフォルトの名無しさん
05/04/07 14:43:02
>>678
ありがとん
pA.+?pB で思うようにできました。

681:デフォルトの名無しさん
05/04/07 17:40:37
普段はエラーなど起きないのに、ごく稀に発生するエラーに悩んでおります。
発生するエラーは2種類あります。

System.NullReferenceException: オブジェクト参照がオブジェクト インスタンスに設定されていません。
at System.Data.Common.Dbnetlib.ConnectionError(HandleRef pConnectionObject, IntPtr& netErr, IntPtr& netMsg, IntPtr& dberr)
at System.Data.SqlClient.TdsParser.ProcessNetlibError(IntPtr errno)
at System.Data.SqlClient.TdsParser.ReadNetlib(Int32 bytesExpected)
at System.Data.SqlClient.TdsParser.ReadBuffer()
at System.Data.SqlClient.TdsParser.ReadByteArray(Byte[] buff, Int32 offset, Int32 len)
at System.Data.SqlClient.TdsParser.ReadEncodingChar(Int32 length, Encoding encoding)
at System.Data.SqlClient.TdsParser.ReadValue(_SqlMetaData md, Int32 length)
at System.Data.SqlClient.TdsParser.ProcessRow(_SqlMetaData[] columns, Object[] buffer, Int32[] map, Boolean useSQLTypes)
at System.Data.SqlClient.SqlDataReader.PrepareRecord(Int32 i)
at System.Data.SqlClient.SqlDataReader.GetValues(Object[] values)
at System.Data.Common.DbEnumerator.MoveNext()
at System.Web.UI.WebControls.Repeater.CreateControlHierarchy(Boolean useDataSource)
at System.Web.UI.WebControls.Repeater.OnDataBinding(EventArgs e)
at System.Web.UI.WebControls.Repeater.DataBind()
at hoge.hogehoge.Button1_ServerClick(Object sender, EventArgs e)
at System.Web.UI.HtmlControls.HtmlInputButton.OnServerClick(EventArgs e)
at System.Web.UI.HtmlControls.HtmlInputButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)
at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
at System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
at System.Web.UI.Page.ProcessRequestMain()

続く...(本文長すぎって。。。)


682:681
05/04/07 17:41:27
...続き

System.InvalidOperationException: データ リーダーが閉じているときに、無効な操作 Read をしようとしました。
at System.Data.SqlClient.SqlDataReader.Read()
at System.Data.Common.DbEnumerator.MoveNext()
at System.Web.UI.WebControls.Repeater.CreateControlHierarchy(Boolean useDataSource)
at System.Web.UI.WebControls.Repeater.OnDataBinding(EventArgs e)
at System.Web.UI.WebControls.Repeater.DataBind()
at hoge.hogehoge.Button1_ServerClick(Object sender, EventArgs e)
at System.Web.UI.HtmlControls.HtmlInputButton.OnServerClick(EventArgs e)
at System.Web.UI.HtmlControls.HtmlInputButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)
at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
at System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
at System.Web.UI.Page.ProcessRequestMain()

以下、ソース抜粋
Repeater1.DataSource = SqlDataReader1
Repeater1.DataBind() ★ ここで稀にエラーが発生
SqlDataReader1.Close()
SqlConnection1.Close()
SqlConnection1 = Nothing

データベースを検索して結果を表示する、といった簡単なものなのですが、
結果の件数が100件程度だと再現せず、1000件ほどになると稀に発生します。
よい解決案などありましたら、ご教授おねがいいたします。


683:デフォルトの名無しさん
05/04/07 18:24:18
>>681
Repeater1が何ものか知らないが
DataSourceにReaderをつっこむのではなく
DataTableのDefaultViewを設定してみては?


684:デフォルトの名無しさん
05/04/07 18:31:49
.netフレームワークのバージョンって
どうやって調べるの?

685:デフォルトの名無しさん
05/04/07 18:48:52
>>676
_FStreamのファイナライザが既に動いてCloseしてるからだろう。
URLリンク(www.ascii.co.jp)
が参考になるかも知れない。

そもそも、どうせFileStreamがGCされた時にFileStreamのファイナライザが動いてフラッシュして閉じるので、
こちらでわざわざファイナライザを実装してCloseさせちゃいけない。

StreamWriterを使うと、デフォルトではStreamWriterがバッファリングしてストリームにすぐには書き込まないので、
書き込み内容が損失するわけだ。StreamWriterのファイナライザはストリームに操作しないから。
確実にはStreamWriter.Closeが喚ばれない場合の解決策としては、
StreamWriterを使わずWriteやWriteLineメソッドを自前で実装してFileStreamに直接書き込むとか、
StreamWriterを使うなら、AutoFlushをTrueにする手もある。

こういう場合はIDisposableを実装させてDisposeメソッドにファイル閉じる動作を書いて、
プログラマにDispose呼出を明示するのがベターなんだけどな。
VB2005でUsingステートメントもサポートされるようになるし。

ちなみに、StreamWriter.Closeは、自動でFlush動作もするので_WriteText.Flushは必要ないし、
基底のストリームも閉じてしまうのでその後の_FStream.Flushとかできない(意味無い)。

686:デフォルトの名無しさん
05/04/07 19:01:57
>>684
コード上から(実行時に)調べる、というのなら
URLリンク(www.atmarkit.co.jp)

687:676
05/04/07 21:05:29
>>685
レスありがとうございます。凄く×∞参考になりました。m(_ _)m
ついでに、自分のバカさ加減がよ〜くわかりました…
全て685さんの指摘どおりです。
私はVB.NET歴2日の上、JavaやC++(こっちは4年くらいやってる)と同じ
程度の処理が出来ると思ってました(爆)。

StreamWriter.CloseがFileStream.Closeを呼び出すのはいいとして、
Finalize()の呼び出し順序が明確に決まってない事には驚きました。
指摘にあったDisposeの実装で対応するしかなさそうです。
Finalize()を使った「後始末はおまえにまかせる」は無理っぽいですね。
書き込みの精度は、一定のWriteをした直後にFlushするようにします。


StreamWriterとFileStreamの問題は有名なんですね。
しかもStreamWriterのFinalize()が何もしないっては……orz

688:デフォルトの名無しさん
05/04/08 01:06:57
何かしてくれるとバグに気づきにくい可能性があるからだよ。


689:デフォルトの名無しさん
05/04/08 03:00:17
>>679
あなたはVBスレでVB万歳なレスだけみていてそれで満足なんですね?
たまには自己否定も必要なんですよ。

690:デフォルトの名無しさん
05/04/08 05:20:35
VB6からの移行組です。
簡単な通信(チャット)を行うプログラムを作ろうと思います。
Winsockコントロールが標準で無いのでSystem.Net.Socketsを
使う方法を初歩から学習中です。

そこで分からないのは、Winsock.ocxのデータ受信イベント
(DataArrival)の代わりの方法についてです。

WithEvents 付きで System.Net.Sockets.TcpClient を宣言すると
「WithEvents変数はイベントを発生させません」と怒られます。

何か、Eventドリブン式で書く方法は有りますでしょうか?

とりあえず、Threadクラスを使ってループ待ちさせる方法を見つけ
自作イベントのような形では実現できましたが、こっちのスレッド
方式と、Event方式とどちらが一般的でしょうか?

VB6の時にクラスは使ってましたが理解度は低めです。
よろしくお願いいたします。


691:デフォルトの名無しさん
05/04/08 05:33:58
わざわざイベントで書く必要がないんだが。
送受信を行うNetworkStreamは、データが来るまで自動的にブロッキングしてプログラムの流れを中断させる。
別スレッドでReadさせておけばいい。

692:デフォルトの名無しさん
05/04/08 06:04:23
>691 レスありがとうございます!それでは現在テストで動いた以下の
スレッド方式でも、悪い方ではないと考えていいでしょうか?
Private Sock1 As New System.Net.Sockets.TcpClient
Private Stream As NetworkStream
Private myThread As Threading.Thread
-----ボタンクリック
Private Sub Button1_Click(〜) Handles Button1.Click
   Sock1.Connect("www.yahoo.co.jp", 80)
   TextBox1.Text = ""
   Stream = Sock1.GetStream()
   Dim ByteSend As Byte() = System.Text.Encoding.ASCII.GetBytes("GET / HTTP/1.0" + vbCrLf + vbCrLf)
   Stream.Write(ByteSend, 0, ByteSend.Length())
   myThread = New Threading.Thread(AddressOf DataArrave)
   myThread.Start()
End Sub
-----自作SUB
Private Sub DataArrave()
   Dim ByteRead(2000) As Byte
   Dim strText As String
   Dim intLength As Integer
   Dim lngRevcnt As Long
   Dim lngRevByt As Long
   Do
     intLength = Stream.Read(ByteRead, 0, ByteRead.Length())
     lngRevcnt += 1 : lngRevByt += CLng(intLength)
     Me.Text = "受信パケット数:" & lngRevcnt & " (" & lngRevByt & " byte)"
     strText += System.Text.Encoding.ASCII.GetString(ByteRead, 0, intLength)
     If intLength < 1 Then Exit Do
     Sock1.Close()
   Loop
   TextBox1.Text = strText
End Sub

693:690=692
05/04/08 06:08:49
↑すみません、レスの改行制限で見づらくなりました。
とりあえずの確認用なので、単に、HTTP-GETを送信して
自作スレッドで受信させているだけのショボプログラムです。

とりあえずこんな感じでも、アリでしょうか?


694:デフォルトの名無しさん
05/04/08 06:21:05
>>692
Readがパケットごとに実行される保証はどこにもないはずだがね。

> strText += System.Text.Encoding.ASCII.GetString(ByteRead, 0, intLength)

まあASCIIだからいいけど、shift_jisとかだとデコードに失敗する可能性があるよ。
最後の1バイトが2バイト文字の1バイト目だった場合に。
受信中はMemoryStreamに蓄えて、受信が完了してから一気にGetStringしたほうがいい。

> Do
(略)
>   If intLength < 1 Then Exit Do
>   Sock1.Close()
> Loop

このSock1.Close()はコピペミスかな?
Loopの外に出さなきゃいけないね。

> Me.Text = "受信パケット数:" & lngRevcnt & " (" & lngRevByt & " byte)"
> TextBox1.Text = strText

やっかいなのはこいつだ。
別スレッドからコントロールを操作しちゃいけない。
Invoke/BeginInvokeを使う必要がある。
URLリンク(dobon.net)
の19から26、とくに25を良く読んでマルチスレッドに関する問題を良く把握してくれ。

695:690=692
05/04/08 06:33:44
>694
うぉ!ありがとうございます!

1Read=1パケとは限らないのですね。分かりました!
確かに、逐次デコードはまずいですね。了解です。

> このSock1.Close()はコピペミスかな?
> Loopの外に出さなきゃいけないね。

そうなんです。実は少し悩んでました。
手持ちの書籍「VB..net逆引き大全500」の初歩サンプルに
こういった記述があったもんで丸写ししながら疑問に感じてました。
試してみたらコレでも動くんです。
今試したら外へ出しても動きますね。理屈通り外へ出します!

> Invoke/BeginInvokeを使う必要がある。

了解です。教えていただいた所を良く読んで勉強します!
とても丁寧に分かり易いレスを本当にありがとうございました!


696:デフォルトの名無しさん
05/04/08 07:12:06
>>689
理由が書かれていませんね。

697:デフォルトの名無しさん
05/04/08 08:29:05
>>686
遅くなりましたがありがとうございました。

698:デフォルトの名無しさん
05/04/08 13:11:00
comboboxでデータソース指定だと、表示(DisplayMember)と値(ValueMember)を指定できるけど、
自分で項目を設定した場合は、そういった指定はできないものなのですか?

699:デフォルトの名無しさん
05/04/08 13:14:27
どういう効果を求めているの?

700:デフォルトの名無しさん
05/04/08 13:18:05
表示は

東京
大阪
名古屋
・・・(略)

などと表示して、内部の値としては

34
21
15
・・・(略)

などように、取り出せるようにしたいです。

701:デフォルトの名無しさん
05/04/08 13:25:03
じゃあそういう都道府県クラスを作れば?
ComboBoxで表示されるのはToString()の結果だから。
Idと都道府県名を保持して、ToString()のオーバーライドで都道府県名を返す。
Idはプロパティとして公開。

702:デフォルトの名無しさん
05/04/08 14:28:20
>>701
ありがとうごじあます。
データ構造を作ってやることにします。

703:デフォルトの名無しさん
05/04/08 19:36:49
質問させてください

PrintDocument等を使っての印刷に関してです.
取得したデータの件数に応じて改ページして次のページに出力,
といった印刷物のページコントロールはどうやるのが定石なのでしょうか?

ヘルプドキュメントから,PrintPageEventArgs.HasMorePagesをTrueに
する,というのは見つけたのですがいまいち記述方法がわかりません…
その他,PrintDocument,Graphicsなどリファレンス一通りみたのですが,
ページコントロールに関わりそうなメンバが見つけられませんでした

よろしくお願いします.

704:デフォルトの名無しさん
05/04/08 19:38:59
まあこの辺でも。
URLリンク(dobon.net)

705:デフォルトの名無しさん
05/04/08 20:09:54
>>704
ありがとうございます
どうやら概念を理解していなかったようです

HasMorePagesがTrueである間は

PrintPageイベント発生→PrintPageハンドラ実行,
が繰り返される,

ということですね.

706:デフォルトの名無しさん
05/04/10 00:34:19
VB.NETでiniファイルを読むにはどうすればよいのでしょうか。

707:デフォルトの名無しさん
05/04/10 00:53:02
>>706
.netではXML推奨みたいだよ。
URLリンク(dobon.net)

708:デフォルトの名無しさん
05/04/10 08:20:02
>>707
いや、それはそうなのですが、どうしても旧システムのINIファイルを
読まないといけない処理がありまして、どうしたものかと。
やはりAPIを叩くんですかね。

709:デフォルトの名無しさん
05/04/10 08:27:03
>>708
URLリンク(ukamen.hp.infoseek.co.jp)

710:デフォルトの名無しさん
05/04/10 08:32:42
DataTableって何件くらいのデータ扱えるの?

711:デフォルトの名無しさん
05/04/10 10:13:12
>>710

めっちゃたくさん

712:デフォルトの名無しさん
05/04/10 10:18:18
ええけつしとるのぉ(*´Д`)ハァハァ
URLリンク(203.165.158.227)
URLリンク(203.165.158.227)
URLリンク(CJ3223373-A.ksrzu1.kt.home.ne.jp)
URLリンク(CJ3223373-A.ksrzu1.kt.home.ne.jp)


713:デフォルトの名無しさん
05/04/10 12:47:06
>>706
読むにはどうすればよいのでしょうか、って発想が理解できん。
別に全然煽りじゃなく読めばいいんだよ。
APIなんて使うまでもない。iniなんてただのテキストファイルじゃん。

読んだ後の処理だってどうってことない。
こんなこともできない人が人様から給料もらって仕事でPGやってるとしたら
そりゃ犯罪だよ。

714:デフォルトの名無しさん
05/04/10 15:29:06
API使うのが一番楽だと思うのだけど

715:デフォルトの名無しさん
05/04/10 15:38:40
Microsoftは切り捨てたがってるけどねー。

716:デフォルトの名無しさん
05/04/10 20:46:21
>>713
回答ありがとう。理解できないのに回答するって発想が理解できません。

ちなみに何の罪でしょうか。

717:デフォルトの名無しさん
05/04/11 02:28:04
vb6.0のプログラムを.NETにアップグレードしようと思い、
.NETに詳しそうな方に聞いてみました。

すると、

リストビューが消える!?(ただし、端末にインストールした.NETフレームワークにもよる、との由)
LenBが使えない!?(半角文字と全角文字の判定はどうするの!?)
KeyPress時にKeyAsciiに代入できるのは0だけ!?(小文字を大文字に変換するの面倒になりそう)

などという問題があるといわれ
それだけでもしり込みしています。

でも解決方法あるんですよね、あたりまえですが。
みなさんはどのように解決してらっしゃるんでしょうか。

718:デフォルトの名無しさん
05/04/11 02:31:55
書き直す

719:デフォルトの名無しさん
05/04/11 02:37:55
>>717

つまり、.NETにアップグレードした時のtips的な
纏めサイトが必要なんだろ。
LenBならこうしろ、みたいな情報が欲しい、と。

720:デフォルトの名無しさん
05/04/11 07:21:39
聞いた人本当に.netに詳しいのか?

例えばLenBなんて関数ひとつ作れば終わりです

これくらいで尻込みしているようなら、アップグレードはやめとけ

こんなこと書いている俺の場合は、全部1からコードを書き直しましたよ
アップグレードウィザードも使えないし
まだ自作ライブラリの半分も終わってないから生産効率悪い悪い


721:デフォルトの名無しさん
05/04/11 17:16:26
microsoft のftpで
以下のm_sRemoteHostにIPアドレスを指定すると
dns.resolveの処理がすごく遅くなってしまいます。
どうしたら速くなりますか?

Public Function Login() As Boolean
m_objClientSocket = _
New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
Dim ep As New IPEndPoint(Dns.Resolve(m_sRemoteHost).AddressList(0), m_iRemotePort)
Try
m_objClientSocket.Connect(ep)
Catch ex As Exception
MessageString = m_sReply
Throw New IOException("Cannot connect to the remote server")
End Try


722:デフォルトの名無しさん
05/04/11 17:26:56
十進記法である事が分かってるなら、Dns.GetHostByAddressを使うとか。
.NET 1.1以降なら、ピリオドで分けてByte配列にしてIPAddressインスタンスを直接作るとか。

723:デフォルトの名無しさん
05/04/11 17:41:36
Dns.GetHostByNameならホスト名でもIPでも両方可能だな。

724:デフォルトの名無しさん
05/04/11 17:45:22
Dns.Resolve(m_sRemoteHost).AddressList(0)

Dns.GetHostByName(m_sRemoteHost).AddressList(0),
にするだけで速くなるのでしょうか?


725:デフォルトの名無しさん
05/04/11 17:47:56
まず試せ。
話はそれからだ。

726:デフォルトの名無しさん
05/04/11 17:51:02
試したいのですが自社のネットワークではどちらも速いのですが
お客様のネットワークではなぜか遅かったので質問している次第です。

727:デフォルトの名無しさん
05/04/11 18:22:35
>>726
少なくとも.NET 1.1の実装では、与えられた文字列が十進表記の時、
ResolveだとDNSサーバに実際に問い合わせ、GetHostByNameだと問い合わせを行わない。
それで速くなるかどうかは別だが、内部処理で済む分GetHostByNameの方が速い可能性は高い。

728:デフォルトの名無しさん
05/04/11 18:23:56
>>727
さんくす。
試す価値ありですね。

729:デフォルトの名無しさん
05/04/12 01:28:07
Wordファイルを読み込むサンプル掲載してるサイトありませんか?
ぐぐってもどうもExcelばかり引っかかって・・・

730:デフォルトの名無しさん
05/04/12 01:56:22
OpenMutexのVB.NETで使える宣言を教えてください。
なぜか、IntPtrで受けてもIntPtr.zeroしか帰ってこないし
Longで受けても常に同じ値(0ではない)が帰ってきます・・・

どうやって呼べばいいですか?

731:デフォルトの名無しさん
05/04/12 04:21:24
>>730
Mutexクラス使えば?

732:デフォルトの名無しさん
05/04/12 07:11:30
>>729
そういう質問したらまた>>713が騒ぎ出すよ。

733:デフォルトの名無しさん
05/04/12 07:12:28
>>730
あのな、「なぜか」ってのやめろよ。
お前のせいなんだからさ。

734:デフォルトの名無しさん
05/04/12 08:38:01
MutexクラスじゃOpenMutexできないでしょ?
VB6とかで実際に動いてるコードをもっていって動かないから
「なぜか」なんだけどなぁ
IntPtrはVB6にはないけど。

教えてくれる人はいないんか。ここには

735:デフォルトの名無しさん
05/04/12 09:03:55
Mutexクラスで完全に代用できるけどな。
OpenMutexできないのもお前がへぼいだけだろ。
なにせLongの理解すらできてないようだからな。

736:デフォルトの名無しさん
05/04/12 09:58:57
PictureBoxで、

Private Sub Command1_Click()
Picture1.Circle

としても、Intellisenseで「.Circle」がポップアップメニュー内に出てこないのですが、
どうしてなのでしょうか?

URLリンク(www.h5.dion.ne.jp)
上記のサイトでは、PictureBox内に描画関数が使えると記述されてますが、
なぜかコンパイルエラーになってしまいます。

ちなみに、開発環境は、
VB2005Expressです。


737:デフォルトの名無しさん
05/04/12 10:03:45
>>736
それはVB6であってVB.NET/VB2005ではない。
VB.NET以降のお勉強はこちらで。
URLリンク(dobon.net)

738:736
05/04/12 10:08:30
>>737
ご返答助かります。

VB6とVB.NETでは仕様が多少異なっているのですか。
ありがとうございました。

739:デフォルトの名無しさん
05/04/12 10:10:12
>>738
多少つか別物

740:デフォルトの名無しさん
05/04/12 12:34:11
多少ワロタ

仕様は全く別物。使い方は似せてあるけどね。
単なるバージョンアップだとか思わない方がいいよ。

・・って、まぁ趣味ならどうでもいいかw

741:デフォルトの名無しさん
05/04/12 12:45:06
何度もすいません先日からVB.netのPrintDocumentでの印刷実装で
てこずってるものです

質問ですが,PrintPreviewDialogでの表示と実際の印刷物でマージンに
差異が生じるのですが原因がわかりません.

PrintDocument.PrinterSetting.DefaultPageSettings.Margins
PrintPageEventArgs.PageSettings.Margins

上記二つのプロパティは調査済みですが他にも印刷時のマージンに関わる
プロパティ等ありますでしょうか?

742:デフォルトの名無しさん
05/04/12 12:46:40
VB.NET2003でODP.NET 10gですがWindowsXP環境において
DBアクセス時に不安定になる場合があります。
例えば、応答がなくなったりshowしたダイアログが裏に回ってしまったり。
Windows2000環境で問題ありません。
何かパッチなどがありますでしょうか?

743:デフォルトの名無しさん
05/04/12 12:59:33
>>741
PageSetupDialogにこういうバグがあるが……。
URLリンク(dobon.net)

744:741
05/04/12 14:06:49
>>743
どうもこれとは症状が違うようなのです.
PageSettingDialogも現状では使っていません.
マージンをゼロにし,用紙の端からのサイズで描画してるのですが,
左端,上端に固定値のマージンが追加された状態で印刷されて
しまうのです.
プレビューでは真ん中に配置されているのに印刷してみると右下に
ずれて印刷されてしまいます.

描画の際にこの値がわかれば座標から引いて配置すればいいのですが,
プリンタ依存のマージンなのかそれともプログラム内部のプロパティで
設定されているものなのかわからなくて質問した次第です…

745:デフォルトの名無しさん
05/04/12 14:17:18
>>744
とするとプリンタ固有のマージンかね。
こういうのは?
URLリンク(www.atmarkit.co.jp)
URLリンク(www.bcap.co.jp)

746:デフォルトの名無しさん
05/04/12 14:37:39
>>745
おお,ありがとうございます.
早速試してみます.

747:デフォルトの名無しさん
05/04/12 15:47:57
ひとつの〜.Config構成ファイルを
複数のEXEから読み込ませたいんだけど
いい方法ないですか?

748:デフォルトの名無しさん
05/04/12 20:26:09
AppDomain.CurrentDomain.SetData("APP_CONFIG_FILE", "お好きなパス")
を一番最初に実行。


749:デフォルトの名無しさん
05/04/12 20:41:02
自己解決したからいいけど、役にたたない質問スレだな。

>Mutexクラスで完全に代用できるけどな。
だって。プププ

頭の悪いフレームワークになれちゃってるのって怖いねぇ

750:デフォルトの名無しさん
05/04/12 20:42:02
>>748
めちゃんこThx!!!
これで30個の〜.Configが1つに出来ます!!!

751:デフォルトの名無しさん
05/04/13 13:22:48
バージョンアップ用のインストーラーの作成は出来ないんでしょうか?
初めてのインストール時にはユーザーがどこにインストールするか分からないので、
インストール先を判断し上書きするような動きはインストーラには出来ないのでしょうか?

752:デフォルトの名無しさん
05/04/13 13:35:11
そんなもの、いくつか方法あるだろう。

インストール時にレジストリにインストール場所を書き込んでおいて、
バージョンアップはそのレジストリ情報を元に上書きする。

バージョンアップ用のインストーラーは、最初にインストールした場所と同じ場所に置き、
バージョンアップは同じディレクトリにあるファイルを上書きする。

753:デフォルトの名無しさん
05/04/14 11:43:49
インストーラーが特定のレジストリ値を見るなんてことが出来るんですか?

754:デフォルトの名無しさん
05/04/14 12:55:40
>>753
はい。できないと思う理由はなんでしょうか。

755:デフォルトの名無しさん
05/04/14 14:40:40
テキストボックスをEnabled=Falseにしたときの色って
SystemColorsではどれにあたるのでしょうか?
ControlLightかと思っていたのですが微妙に違うような

756:デフォルトの名無しさん
05/04/14 14:50:23
GrayText

757:デフォルトの名無しさん
05/04/15 11:47:14
closeとdisposeの違いは何ですか?
フォーム1からフォーム2へ画面遷移するときに、フォーム1を消したいのですが、
closeだとうまくいかなくて、disposeだと上手くいきました。

758:デフォルトの名無しさん
05/04/15 12:38:47
>>757
それならそれでいいじゃん。


こえーーーーーーw

759:デフォルトの名無しさん
05/04/15 18:53:55
チェックボックス付きリストビューで
行によってチェックボックスを出したり消したりできますか?
もしできるのでしたらやり方を教えていただけないでしょうか?
よろしくお願いします。

760:デフォルトの名無しさん
05/04/15 19:03:50
まあ無理。
根性入れて自力で描画する?

761:デフォルトの名無しさん
05/04/15 19:08:10
>>760
いえ、ありがとうございました。
無理なら無理でOKです。

762:デフォルトの名無しさん
05/04/15 19:50:14
>>761
何様のつもりだ。

763:デフォルトの名無しさん
05/04/15 19:59:11
>>762
神様

764:デフォルトの名無しさん
05/04/15 20:14:11
>>763
まじで?

765:デフォルトの名無しさん
05/04/15 20:23:47
でじま

766:デフォルトの名無しさん
05/04/15 20:27:35
>>765
まじで?

767:デフォルトの名無しさん
05/04/15 21:10:54
でじま

768:デフォルトの名無しさん
05/04/15 21:39:39
にょ。

769:デフォルトの名無しさん
05/04/15 22:35:58
.net framework 1.0インスコしちゃったんだけど、1.1にアップデートってどこでするの?

770:デフォルトの名無しさん
05/04/15 22:43:14
アップデートはされない。
別々のものなので別々にインストールする。
今ならWindows Updateでできるんじゃない?

771:デフォルトの名無しさん
05/04/15 22:56:02
ええええええええ
一晩かけてインスコしたのに!
#develop (SharpDevelop)って1.1じゃないとダメなんだよね?

772:デフォルトの名無しさん
05/04/15 23:02:47
URLリンク(sharpdevelop-jp.sourceforge.jp)
FAQぐらい目を通せ。

773:デフォルトの名無しさん
05/04/16 01:14:33
webbrowserコントロールから現在表示してるURLを修得するにはどうすればいいですか?

774:デフォルトの名無しさん
05/04/16 01:21:34
修得は難しいな。
取得ならプロパティに一通り目を通せ。

775:デフォルトの名無しさん
05/04/16 08:07:39
メッセージボックスのいずれかのボタンを自動的に
押したことにすることってできますか?

〜ですか? はい/いいえ
みたいなメッセージボックスを表示して、一定時間反応しない
場合は自動的にいいえにする、みたいなことをしたいのです。

776:デフォルトの名無しさん
05/04/16 08:08:21
mshtmlってmsxmlのxpathみたいなのは使えないですかね。
自前で検索処理書くしかないのかな。

777:デフォルトの名無しさん
05/04/16 09:13:52
777 (*^ー゚)b

778:デフォルトの名無しさん
05/04/16 09:40:33
>>775
メッセージボックスを自分で作ればできるよ

779:デフォルトの名無しさん
05/04/16 09:53:16
複数のコントロールのプロパティをforを使って変更したいのですがどうすればいいのでしょうか?

780:デフォルトの名無しさん
05/04/16 10:03:12
すまんアゲさせてもらう

781:デフォルトの名無しさん
05/04/16 10:09:19
>>779
簡単だよ

782:デフォルトの名無しさん
05/04/16 10:12:20
>>781
会話になってません。

783:デフォルトの名無しさん
05/04/16 10:13:00
>>778
そうですか。つまり標準のメッセージボックスではムリって
ことなんですかね。

784:デフォルトの名無しさん
05/04/16 10:23:41
>>782
何様のつもり?

785:デフォルトの名無しさん
05/04/16 10:25:50
>>784
え?でも会話になってないですよね。
「どうすればいいのでしょうか?」「簡単だよ」って。
「どうすればいいのでしょうか?」「バカだから分かりません」って
答えた方がよかったのでは?

786:デフォルトの名無しさん
05/04/16 10:34:59
大抵の人は知ってる内容だから
単に教えたくないって事なんじゃないかしら?

787:デフォルトの名無しさん
05/04/16 10:47:51
>>786
そうかもね。>>781以外には分かってることなのかも。

788:780
05/04/16 11:08:31
添え字を使って連続的にしたいのですが。
782は俺じゃないよ。

789:デフォルトの名無しさん
05/04/16 11:41:00
>>788
お前人に質問するのに「俺」だと?学生か?

790:デフォルトの名無しさん
05/04/16 11:41:27
>>788
Controlの配列につっこめば?

791:デフォルトの名無しさん
05/04/16 11:42:49
>789
>790
ありがとうございます!

792:デフォルトの名無しさん
05/04/16 11:59:01
>789
前から誰かが言っているように、バカばかりだからしょうがないよ。

793:デフォルトの名無しさん
05/04/16 12:03:23
>>791
>>789>>790が同一人物だって気付いている?

794:デフォルトの名無しさん
05/04/16 12:03:55
>>791
どういう思考回路してたらその方法が思いつかないの?

795:デフォルトの名無しさん
05/04/16 12:31:09
わからん…(@_@)
名前の末尾に()つけたらエラーでるし。

796:デフォルトの名無しさん
05/04/16 13:04:52
>>795
ソース晒してごらん

797:デフォルトの名無しさん
05/04/16 13:34:35
コントロールが格納されている親コンテナ配列をいじくれば?

798:デフォルトの名無しさん
05/04/16 13:57:22
>>797
いや、多分もっと次元が低い話だろ。

799:デフォルトの名無しさん
05/04/16 14:09:35
配列に放り込んで使えばいいじゃない。

800:デフォルトの名無しさん
05/04/16 14:23:01
>>799
多分その書き方がわからないとかいう次元の話なんだよ。
いいから>>795は今時点のソース晒してごらんよ。

801:デフォルトの名無しさん
05/04/16 14:33:26
じゃ、ここの2番目を熟読することをお薦めしとくか。
URLリンク(dobon.net)

802:デフォルトの名無しさん
05/04/16 15:43:18
もっと基礎勉強してから来いって事だ

803:デフォルトの名無しさん
05/04/16 15:49:26
>>802
お前もナー

804:デフォルトの名無しさん
05/04/17 15:30:45
どのPrivate Subでも使える変数を宣言したいんだけど、どこで宣言すればイイ??
5.0はOptionExplicitで宣言できたと思うんだけど、どこに書けばよいか分からない。

805:デフォルトの名無しさん
05/04/17 15:33:56
すごいことになってるな
さすがVB質問スレ

806:デフォルトの名無しさん
05/04/17 16:04:06
ああ、Public使えば出来たのね。。
スレ汚しすまなかった。

807:デフォルトの名無しさん
05/04/17 16:11:30
うむ、さすがVB。
思考と指向が旧態依然だ。

808:デフォルトの名無しさん
05/04/17 22:41:54
うまいこと言ったつもりかおっさんwwwwww

809:デフォルトの名無しさん
05/04/18 08:55:34
VB.NETで作ったWindowsアプリケーションから、Windows自体を
再起動させたいのですが、どうやるのが簡単でしょうか。

810:デフォルトの名無しさん
05/04/18 09:49:22
>>809
URLリンク(ukamen.hp.infoseek.co.jp)

811:デフォルトの名無しさん
05/04/18 10:12:26
>>810
ありがとうございます。やってみます。

812:デフォルトの名無しさん
05/04/18 11:07:24
VB6.0では直接プリンタポートに直接出力出来たのですが、
Open "Lpt1" For Output As #FileNo

VB.netで直接出力の方法がありましたら、お教えください。

宜しくお願いします。

813:デフォルトの名無しさん
05/04/18 11:22:05
教えてください。
XPで.net vb を使って
1.CD−Rに書き込みたいのですが、
  書き込みウィザードにデータが残ってしまいます。これを完結する方法を教えてください。
2.フォルダーをコピーする方法も教えてください。
よろしくお願いします。


814:デフォルトの名無しさん
05/04/18 12:09:08
>>813
とりあえずやったとこまでソースを晒せ。

815:デフォルトの名無しさん
05/04/18 12:15:22
教えてください

PrintDocumentとPrintPreviewDialogを用いた印刷プレビュー作成についてです。

複数様式の書類を任意に選択し、一括で印刷する機能を考えております。
各様式に応じ、PrintDocumentの派生クラスを作成し、onPrintPageをオーバーライドし
描画処理を実装しているのですが、複数選択からの一括プレビュー表示がうまく
行きません。PrintPreviewに複数のPrintDocumentオブジェクトを登録し表示する、
といった機能はないのでしょうか?

また、対応策として、派生クラス内で描画部分をPublicの別関数とし、新たに
印刷用のハンドルする関数を定義し、その中から、
選択された書類のオブジェクト生成→描画関数呼び出し
としてみたのですが改ページされずに1ページ目に重ねて描画してしまいます。

文章だけでは現状がうまく伝わらないかもしれませんが、何かいいお知恵があれば
教えていただけないでしょうか。

816:デフォルトの名無しさん
05/04/18 12:21:52
出た。「ないのでしょうか?」
なんでこれが失礼だと思わないのか不思議。

817:815
05/04/18 12:27:01
>>816
一通り自分でPrintPreviewDialogのメンバ・クラス構造を調べた上で
見つけられなかったので質問させてもらいました。
不快に思われたのなら申し訳ありません。

818:デフォルトの名無しさん
05/04/18 12:31:41
>>814さん有難うございます。私は今回のハード担当者で、私も含めソフト担当者のスキルが低いのか、
 調べられなく、質問しています。ライティングソフトを、B'sCLIPで行うと
 上手くいきます。XPの標準だと
 Local Settings\Application Data\Microsoft\CD Burning 
 上に書き込むデータが残ったままです。何かCDにcloseのような命令か、
 Local Settings\Application Data\Microsoft\CD Burningに対して何かすると、
 焼かれるのでしょうか?ソースは担当外なので、手に入りません。
 ご面倒だと思いますが宜しくお願いします。アプリケーションは
 XPですがキーボード、マウスは有りません。

819:デフォルトの名無しさん
05/04/18 12:59:53
>>817
指摘されているポイントが分かっていないのに謝られると
さらに不快です。

あやまりゃいいんでしょ、という態度にしか見えません。

820:デフォルトの名無しさん
05/04/18 13:00:27
>>818
ソースを晒せと書かれているのは見えていないのか。

821:デフォルトの名無しさん
05/04/18 13:11:43
>>818
ソフト担当者にソースを晒すようにアドバイスすることを
おすすめします。

822:デフォルトの名無しさん
05/04/18 13:42:00
>>775
これと似たようなことを私もしたいのですが、やっぱり
方法ないですかね。

画面を自分で作ればできるのは分かるのですが・・・

823:822
05/04/18 13:50:17
と思ったのですが、いい方法を思いついたので解決です。
どうでもでした。

824:デフォルトの名無しさん
05/04/18 13:50:30
>>822
自作すれば簡単にできるのに、どうして難しく考えたがるんだ?

825:デフォルトの名無しさん
05/04/18 13:54:05
>>819
あやまりゃいいと思ってるわけではありません
解決すればいいとは思ってますが

では改めてどういう意図で816を書き込んだのか教えていただけますか?

こちらとしては、フレームワークの推奨する定石的なコーディング方法が
あるのであればそれに従うのがコードもすっきりし、後々の開発・保守等
有益だと考えているので、そういった手法があるならそれに従う、
ないなら自前でなんとかする方法をまた検討しなおす、というつもりで
書き込みました。

826:デフォルトの名無しさん
05/04/18 13:59:52
>>825
定石的なコーディング方法が無い場合もある。
そして、それが必ずしもすっきりしたコードで後々の開発・保守が有益であるとは限らない。
自前で何とかする方法を検討する意思があるなら、
最初から検討して実装すればいい。
質問する必要はない。

827:デフォルトの名無しさん
05/04/18 14:04:26
>>826
なるほど。無いのですね。ありがとうございました。

828:デフォルトの名無しさん
05/04/18 14:12:38
>>825
は?816のどこが分からないのか教えて。

829:デフォルトの名無しさん
05/04/18 14:36:01
>>821 さん

 ソフト担当者はデモに行っていて連絡とれません。私は、ソフトの動作確認をしていまして、
今のアプリだとCD−RのライティングをXPの組み込みライティングを使うと、
CDを取り出した時(マニュアルにて)、xpの書き込みウィザードを使わないと焼けません。
今回のアプリは、キー、マウスを使ってはいけないアプリです。
アプリ側で焼きたいのですが、方法を教えてください。ソースを晒したいのですが、そんな訳ですいません。
この書き込みウィザードで行うことを、アプリで行いたいのです。


830:デフォルトの名無しさん
05/04/18 14:38:51
>>829
なんでソフトの動作確認をしている奴(つまりテスター)が
プログラム板に質問に来るのか理解不能。

お前らが勝手に開発したアプリで焼く方法を俺らに
聞いてどうする。アホか。

831:デフォルトの名無しさん
05/04/18 14:39:44
>>829
あのさー、「方法」ってのはどうプログラミングするかってこと?
ソースを触れないあんたに教えて意味あるの?

832:デフォルトの名無しさん
05/04/18 15:14:53
こんにちは
質問が2点あるのですが、

(1)VisualStudio.NET Enterpris 2003 Jがオークションで2800円で出品されているのですが、どうしてこんなに安いのでしょうか?
URLリンク(page9.auctions.yahoo.co.jp)
(2)VisualStudioのアカデミック版というのは、ライセンス認証をしますが、その際、学生であることを示さないと認証されないのでしょうか?
それともVSの通常版と同じ様にライセンスキーを入力するだけでいいのでしょうか?
URLリンク(page5.auctions.yahoo.co.jp)

宜しくお願いいたします。

833:デフォルトの名無しさん
05/04/18 15:19:53
VLかピーコじゃね?

834:デフォルトの名無しさん
05/04/18 15:20:08
>>832
出品者に聞かない理由を教えてくれ。

835:デフォルトの名無しさん
05/04/18 15:22:14
どっちもやめとけ。見るからに怪しい。

836:832
05/04/18 15:22:43
>>833
ピーコでも問題なく使用でしょうか?

あと、アカデミック版(正規品)は購入するときだけ学生かどうかチェックするだけで、
それ以外のインストール作業等は通常版と同じということでしょうか?


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

4974日前に更新/240 KB
担当:undef