[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 06/08 14:41 / Filesize : 240 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

VB.NET質問スレ (Part10)



1 名前:最凶VB厨房 mailto:sage [05/02/26 00:00:13 ]
VB.NETの質問全般です

過去スレ
VB.NET質問スレ (Part9)
pc5.2ch.net/test/read.cgi/tech/1106577850/
VB.NET質問スレ (Part8)
pc5.2ch.net/test/read.cgi/tech/1102512868/
VB.NET質問スレ (Part7)
pc5.2ch.net/test/read.cgi/tech/1096683017/
VB.NET質問スレ (Part6)
pc5.2ch.net/test/read.cgi/tech/1088812165/
VB.NET質問スレ (Part5)
pc5.2ch.net/test/read.cgi/tech/1078134703/
VB.NET質問スレ (Part4)
pc2.2ch.net/test/read.cgi/tech/1065269043/
【老若】VB.net質問スレ【男女】 (Part3)
pc5.2ch.net/tech/kako/1056/10562/1056281084.html
【老若】VB.net質問スレ【男女】 (Part2)
pc2.2ch.net/tech/kako/1043/10436/1043629429.html
【老若】VB.net質問スレ【男女】
pc2.2ch.net/tech/kako/1025/10258/1025848458.html

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

661 名前:デフォルトの名無しさん mailto:sage [2005/04/06(水) 07:11:59 ]
>>659
うん。

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


663 名前:デフォルトの名無しさん mailto:sage [2005/04/06(水) 11:40:31 ]
System.Diagnostics.Process.GetProcessesByName

664 名前:デフォルトの名無しさん mailto:sage [2005/04/06(水) 11:43:15 ]
>>663
さんくす

665 名前:デフォルトの名無しさん mailto:sage [2005/04/06(水) 15:03:27 ]
>>661
アホだったらいちいち相手しないよ。

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

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

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

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

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


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

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



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

670 名前:デフォルトの名無しさん mailto:sage [2005/04/06(水) 22:37:12 ]
DateTimeのSubtractメソッド、TimeSpanのTotalDaysプロパティ、除算。

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

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

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

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

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

675 名前:デフォルトの名無しさん mailto:sage [2005/04/07(木) 00:59:11 ]
>>673
早く挫折できる。

676 名前:デフォルトの名無しさん [2005/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 名前:デフォルトの名無しさん mailto:sage [2005/04/07(木) 13:24:02 ]
.NETでの正規表現の質問はここでいいのでしょうか。

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

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

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

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

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


678 名前:デフォルトの名無しさん mailto:sage [2005/04/07(木) 13:25:30 ]
最短一致は「?」



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

680 名前:デフォルトの名無しさん mailto:sage [2005/04/07(木) 14:43:02 ]
>>678
ありがとん
pA.+?pB で思うようにできました。

681 名前:デフォルトの名無しさん mailto:sage [2005/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 mailto:sage [2005/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 名前:デフォルトの名無しさん mailto:sage [2005/04/07(木) 18:24:18 ]
>>681
Repeater1が何ものか知らないが
DataSourceにReaderをつっこむのではなく
DataTableのDefaultViewを設定してみては?


684 名前:デフォルトの名無しさん mailto:sage [2005/04/07(木) 18:31:49 ]
.netフレームワークのバージョンって
どうやって調べるの?

685 名前:デフォルトの名無しさん mailto:sage [2005/04/07(木) 18:48:52 ]
>>676
_FStreamのファイナライザが既に動いてCloseしてるからだろう。
ttp://www.ascii.co.jp/pb/msdn/article/a09_0003.html
が参考になるかも知れない。

そもそも、どうせ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 名前:デフォルトの名無しさん mailto:sage [2005/04/07(木) 19:01:57 ]
>>684
コード上から(実行時に)調べる、というのなら
ttp://www.atmarkit.co.jp/fdotnet/dotnettips/278clrversion/clrversion.html

687 名前:676 mailto:sage [2005/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 名前:デフォルトの名無しさん mailto:sage [2005/04/08(金) 01:06:57 ]
何かしてくれるとバグに気づきにくい可能性があるからだよ。




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

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

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

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

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

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

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


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

692 名前:デフォルトの名無しさん [2005/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 [2005/04/08(金) 06:08:49 ]
↑すみません、レスの改行制限で見づらくなりました。
とりあえずの確認用なので、単に、HTTP-GETを送信して
自作スレッドで受信させているだけのショボプログラムです。

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


694 名前:デフォルトの名無しさん mailto:sage [2005/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を使う必要がある。
ttp://dobon.net/vb/melma/index.html
の19から26、とくに25を良く読んでマルチスレッドに関する問題を良く把握してくれ。

695 名前:690=692 [2005/04/08(金) 06:33:44 ]
>694
うぉ!ありがとうございます!

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

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

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

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

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


696 名前:デフォルトの名無しさん mailto:sage [2005/04/08(金) 07:12:06 ]
>>689
理由が書かれていませんね。

697 名前:デフォルトの名無しさん mailto:sage [2005/04/08(金) 08:29:05 ]
>>686
遅くなりましたがありがとうございました。

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



699 名前:デフォルトの名無しさん mailto:sage [2005/04/08(金) 13:14:27 ]
どういう効果を求めているの?

700 名前:デフォルトの名無しさん [2005/04/08(金) 13:18:05 ]
表示は

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

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

34
21
15
・・・(略)

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

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

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

703 名前:デフォルトの名無しさん mailto:sage [2005/04/08(金) 19:36:49 ]
質問させてください

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

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

よろしくお願いします.

704 名前:デフォルトの名無しさん mailto:sage [2005/04/08(金) 19:38:59 ]
まあこの辺でも。
ttp://dobon.net/vb/dotnet/graphics/

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

HasMorePagesがTrueである間は

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

ということですね.

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

707 名前:デフォルトの名無しさん mailto:sage [2005/04/10(日) 00:53:02 ]
>>706
.netではXML推奨みたいだよ。
ttp://dobon.net/vb/dotnet/file/xmlserializer.html

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



709 名前:デフォルトの名無しさん mailto:sage [2005/04/10(日) 08:27:03 ]
>>708
ttp://ukamen.hp.infoseek.co.jp/Programming/iniFile/index.htm

710 名前:デフォルトの名無しさん mailto:sage [2005/04/10(日) 08:32:42 ]
DataTableって何件くらいのデータ扱えるの?

711 名前:デフォルトの名無しさん [2005/04/10(日) 10:13:12 ]
>>710

めっちゃたくさん

712 名前:デフォルトの名無しさん mailto:sage [2005/04/10(日) 10:18:18 ]
ええけつしとるのぉ(*´Д`)ハァハァ
203.165.158.227/
203.165.158.227/~ss.jpg
CJ3223373-A.ksrzu1.kt.home.ne.jp/
CJ3223373-A.ksrzu1.kt.home.ne.jp/~ss.jpg


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

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

714 名前:デフォルトの名無しさん mailto:sage [2005/04/10(日) 15:29:06 ]
API使うのが一番楽だと思うのだけど

715 名前:デフォルトの名無しさん mailto:sage [2005/04/10(日) 15:38:40 ]
Microsoftは切り捨てたがってるけどねー。

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

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

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

すると、

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

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

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

718 名前:デフォルトの名無しさん mailto:sage [2005/04/11(月) 02:31:55 ]
書き直す



719 名前:デフォルトの名無しさん [2005/04/11(月) 02:37:55 ]
>>717

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

720 名前:デフォルトの名無しさん mailto:sage [2005/04/11(月) 07:21:39 ]
聞いた人本当に.netに詳しいのか?

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

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

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


721 名前:デフォルトの名無しさん mailto:sage [2005/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 名前:デフォルトの名無しさん mailto:sage [2005/04/11(月) 17:26:56 ]
十進記法である事が分かってるなら、Dns.GetHostByAddressを使うとか。
.NET 1.1以降なら、ピリオドで分けてByte配列にしてIPAddressインスタンスを直接作るとか。

723 名前:デフォルトの名無しさん mailto:sage [2005/04/11(月) 17:41:36 ]
Dns.GetHostByNameならホスト名でもIPでも両方可能だな。

724 名前:デフォルトの名無しさん mailto:sage [2005/04/11(月) 17:45:22 ]
Dns.Resolve(m_sRemoteHost).AddressList(0)

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


725 名前:デフォルトの名無しさん mailto:sage [2005/04/11(月) 17:47:56 ]
まず試せ。
話はそれからだ。

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

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

728 名前:デフォルトの名無しさん mailto:sage [2005/04/11(月) 18:23:56 ]
>>727
さんくす。
試す価値ありですね。



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

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

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

731 名前:デフォルトの名無しさん mailto:sage [2005/04/12(火) 04:21:24 ]
>>730
Mutexクラス使えば?

732 名前:デフォルトの名無しさん mailto:sage [2005/04/12(火) 07:11:30 ]
>>729
そういう質問したらまた>>713が騒ぎ出すよ。

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

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

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

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

736 名前:デフォルトの名無しさん [2005/04/12(火) 09:58:57 ]
PictureBoxで、

Private Sub Command1_Click()
Picture1.Circle

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

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

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


737 名前:デフォルトの名無しさん mailto:sage [2005/04/12(火) 10:03:45 ]
>>736
それはVB6であってVB.NET/VB2005ではない。
VB.NET以降のお勉強はこちらで。
ttp://dobon.net/vb/dotnet/index.html

738 名前:736 [2005/04/12(火) 10:08:30 ]
>>737
ご返答助かります。

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



739 名前:デフォルトの名無しさん mailto:sage [2005/04/12(火) 10:10:12 ]
>>738
多少つか別物

740 名前:デフォルトの名無しさん mailto:sage [2005/04/12(火) 12:34:11 ]
多少ワロタ

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

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

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

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

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

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

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

743 名前:デフォルトの名無しさん mailto:sage [2005/04/12(火) 12:59:33 ]
>>741
PageSetupDialogにこういうバグがあるが……。
ttp://dobon.net/vb/dotnet/graphics/pagesetupdialogbug.html

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

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

745 名前:デフォルトの名無しさん mailto:sage [2005/04/12(火) 14:17:18 ]
>>744
とするとプリンタ固有のマージンかね。
こういうのは?
ttp://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=7782&forum=7
ttp://www.bcap.co.jp/hanafusa/dotnet/Prt10.htm

746 名前:デフォルトの名無しさん mailto:sage [2005/04/12(火) 14:37:39 ]
>>745
おお,ありがとうございます.
早速試してみます.

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

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




749 名前:デフォルトの名無しさん mailto:sage [2005/04/12(火) 20:41:02 ]
自己解決したからいいけど、役にたたない質問スレだな。

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

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

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

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

752 名前:デフォルトの名無しさん mailto:sage [2005/04/13(水) 13:35:11 ]
そんなもの、いくつか方法あるだろう。

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

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

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

754 名前:デフォルトの名無しさん mailto:sage [2005/04/14(木) 12:55:40 ]
>>753
はい。できないと思う理由はなんでしょうか。

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

756 名前:デフォルトの名無しさん mailto:sage [2005/04/14(木) 14:50:23 ]
GrayText

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

758 名前:デフォルトの名無しさん mailto:sage [2005/04/15(金) 12:38:47 ]
>>757
それならそれでいいじゃん。


こえーーーーーーw



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

760 名前:デフォルトの名無しさん mailto:sage [2005/04/15(金) 19:03:50 ]
まあ無理。
根性入れて自力で描画する?






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<240KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef