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


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

VB.NET質問スレ (Part12)



1 名前:前スレ972 [2005/07/17(日) 20:33:58 ]
VB.NETの質問全般です

過去スレ
VB.NET質問スレ (Part11)
pc8.2ch.net/test/read.cgi/tech/1114217190/
VB.NET質問スレ (Part10)
pc8.2ch.net/test/read.cgi/tech/1109343613/
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

610 名前:デフォルトの名無しさん mailto:sage [2005/10/10(月) 12:12:28 ]
言葉遣いが偉そうな奴ってなんで例外なく無能なんだろう。。

>例えば、ユーザー入力に対するチェックだって、きちんと分離しろ。
>関数化して、I/Oをきちんとすること、そこから始まりだよ。
>イベント関数はそれらを呼ぶだけにする。
もう馬鹿丸出し。そんなの程度問題でしょ。


611 名前:デフォルトの名無しさん mailto:sage [2005/10/10(月) 12:18:44 ]
>>610
出来もしない奴がよく言う言い訳だね。

612 名前:デフォルトの名無しさん mailto:sage [2005/10/10(月) 13:22:18 ]
>>606
それは設計規約、コーディング規約、設計書等の記述が甘いからです。
中国人プログラマー相手であればコーディングの1行がこうなると設計書の記述から100%読めない限りダメです。
その為ブリッジSEの単価は跳ね上がるのです。

SEで来てるんなら、そいつはSEじゃなくてPGだという事で単価交渉しろ

613 名前:デフォルトの名無しさん mailto:sage [2005/10/10(月) 17:03:51 ]
複数選択する時にマウスでドラッグして選択する場合がありますが、その時の「四角い枠で
選択中」ってイベントはどうやって知ればいいのでしょう
つーか複数選択解除しただけで何でselecteditemchangeが選択してたアイテム数回
発生しやがるんでしょうね

614 名前:613 mailto:sage [2005/10/10(月) 17:06:13 ]
間違えました
selectedindexchangedでした

615 名前:デフォルトの名無しさん mailto:sage [2005/10/10(月) 17:10:01 ]
MouseMoveでe.Buttonのチェックでもすれば?

616 名前:デフォルトの名無しさん mailto:sage [2005/10/10(月) 20:02:26 ]
ソース修正後に追加した覚えのない存在しないコントロール「_label4」など
が参照できないためコンパイル不可に陥るのは、vb.netの仕様ですか?


617 名前:613 mailto:sage [2005/10/10(月) 20:52:01 ]
>>615
この間のイベント
mousemove
 :
mousemove
mousedown
ドラッグ開始
selectecindexchanged
 :
selectecindexchanged
ドラッグ終了
mouseup
mousemove
 :
mousemove
ドラッグの間はmousemoveが発生しないし、mousedownの時点ではこれからドラッグ
するのか分からない、
要はselectecindexchangedが連続して発生しているものなら最初の1回以外無視
したいのです

618 名前:デフォルトの名無しさん mailto:sage [2005/10/10(月) 21:27:58 ]
必然性の良く分からない要求だなぁ……。

派生クラスを作る。
フラグを用意。
OnSelectedIndexChangedで、
・フラグが立ってれば返る。
・Control.MouseButtonsがMouseButtons.Noneでないのなら、フラグを立てて返る。
・どちらでもないのなら基底クラスのOnSelectedIndexChangedを呼ぶ
 (SelectedIndexChangedイベントに登録されたハンドラを処理する)。
OnMouseUpで、
・フラグが立ってれば、フラグをおろし、
 必要ならOnSelectedIndexChangedを呼ぶことでSelectedIndexChangedを処理させる

とかどう?



619 名前:613 mailto:sage [2005/10/11(火) 00:11:46 ]
ちょっと複雑に考えすぎてた
要はmousedownで右クリ、Ctrl、Shiftでスキップ用のフラグ立てるだけで良かった
んでselectedindexchangedの中で処理回避してフラグ立てて、mouseupで解除する、と

要は、選択したファイルのサイズとか作成日とか表示してるのだけど、複数選択
してもどうせ最初の1つしか表示しないので、最初の1回しか表示ルーチンに
回さないようにしたかったってこと
(実際チラチラして見辛かったし時間も僅かとは言え食ってたから)

620 名前:デフォルトの名無しさん [2005/10/11(火) 04:20:25 ]
文法エラー(青色の波状の下線)の場所にマウスカーソルをあてても、
何か設定を弄ったのか、エラー内容が出なくなりました。
「ツール」→「オプション」や、説明書を確認してみても分かりませんでした。

アホな質問ですみませんが、どこの設定を確認してみればいいのでしょうか。

621 名前:デフォルトの名無しさん mailto:sage [2005/10/11(火) 09:40:12 ]
ASP.net、VB.NETにてウェブアプリケーションを作製しています。
DataGridコントロールのテンプレート(TextBox)に配列の内容を表示したいのですが、
以下の様に書くとエラーがでてしまいます。
なにか方法があるのでしょうか。

<asp:DataGrid id="DataGrid1" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:TemplateColumn HeaderText="名前">
<ItemTemplate>
<asp:TextBox id="TextBox1" runat="server"><%# Container.DataItem %></asp:TextBox>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>



Public a() As String = {"あああああ", "いいいいい", "ううううう"}
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
DataGrid1.DataSource = a
DataGrid1.DataBind()
End Sub



622 名前:デフォルトの名無しさん mailto:sage [2005/10/11(火) 09:55:01 ]
取りあえずエラーの内容ぐらい書こうよ

623 名前:621 mailto:sage [2005/10/11(火) 10:00:32 ]
すいません。
以下のようなエラーが出ています。

例外の詳細: System.Web.HttpException: 'TextBox' に型 'DataBoundLiteralControl' の子を指定することはできません。



TextBoxのところをLabelに変更するとエラーもなく動きましたが、TextBoxだと動きません。

624 名前:デフォルトの名無しさん mailto:sage [2005/10/11(火) 10:52:47 ]
すいません。自己解決しました。
TextBox部分を以下のように変えたら動きました。

<asp:TextBox id="TextBox1" runat="server"><%# Container.DataItem %></asp:TextBox>
      ↓
<asp:TextBox Runat="server" Text="<%# Container.DataItem %>"></asp:TextBox>

625 名前:デフォルトの名無しさん [2005/10/11(火) 16:51:08 ]
Fromを最大化、最小化した際のWidth, Heightプロパティの値を取得すると、
最大、最小化時の値が取得されますが、
そのままの状態で、Normal時に戻したときのWidth,Heightの値を取得する方法はありますか?

Form終了時に、Width,Heightの値を設定ファイルに記憶したいのですが、
最大、最小化時に終了した際に、最後の時点のNormal時の値を書き込みたいのです。
(次回起動時に反映させたい為)

626 名前:デフォルトの名無しさん mailto:sage [2005/10/11(火) 17:07:29 ]
ResizeイベントでWindowStateがNormalの時にフィールドに保存。

627 名前:デフォルトの名無しさん mailto:sage [2005/10/11(火) 17:14:25 ]
>>626
ありがとうございます。
やってみます。

628 名前:デフォルトの名無しさん [2005/10/11(火) 23:35:18 ]
構造体の初期化はどうやって行うのでしょうか?
Constraction DATA
dim A as integer
dim B as string
end Constraction

dim tData as DATA

Redim tDatata ←これもだめ
Erase tData     ←これもだめ

教えてください。



629 名前:デフォルトの名無しさん mailto:sage [2005/10/11(火) 23:38:39 ]
Structure

630 名前:デフォルトの名無しさん mailto:sage [2005/10/11(火) 23:38:51 ]
Dim dData As Data
dData = New Data()
'むしろDim dData As Data = New Data()


ところでConstractionってなんだ


631 名前:デフォルトの名無しさん mailto:sage [2005/10/11(火) 23:46:16 ]
wordのスペルチェック機能を
vb.netで作ったテキストエディタで利用したいんだけど(もちろんwordが既にインストールされている状態
どうすればいいの?

632 名前:デフォルトの名無しさん mailto:sage [2005/10/11(火) 23:46:21 ]
ストラクチャでコンストラクタ書けばいいんでねーけ?

633 名前:628 [2005/10/12(水) 01:41:03 ]
>>629 >>630 >>632
ありがとうございました。Newキーワードについて調べてみます。
Structureですね、初心者なので間違えました。

634 名前:デフォルトの名無しさん [2005/10/12(水) 09:51:17 ]
ODBC接続をするアプリケーションを作成しているのですが、
接続情報が顧客によってちがいます。OdbcConnectionクラスで
接続していますが、どんなDBでも対応できるようにできますでしょうか?
VC++6.0で作成したプログラムを見たことがあるのですが、
ODBC接続情報を入力する標準のダイアログが出てきました。
こういうものは、VB.NETにはないでしょうか?
どなたかお聞かせ下さい。
よろしくお願いします。


635 名前:デフォルトの名無しさん mailto:sage [2005/10/12(水) 11:03:35 ]
>>634
なぜにODBC?
接続情報は当然顧客毎に違うでしょうね。
DBMS差を吸収するのがODBCだと思いますが。
ユーザー名等は設定ファイルなどで記述して、接続先はインストール時に作るか手順書では?

まあ、.netっぽくやるのであればOLEDBに移行すべきだと思う。


636 名前:デフォルトの名無しさん [2005/10/12(水) 14:02:16 ]
中国人のブリッジSEがODBCにしろというんですよね。
彼が言う標準のODBCダイアログというのは、どうやら、「SQL Serverログイン」のことのようですね。
ODBCデータソースアドミニストレータで、システムDSNにある特定の名前を入れるんだけど、
アクセスだとパスワードの入力要求はされないが、SQLServerでSQLServer認証を使うと、
パスワードが入力要求されるんです。
中国人BSEが言う「ODBC用の標準的な接続ダイアログ」なんて、本当にあるんですか?
よろしくお聞かせ下さい。


637 名前:デフォルトの名無しさん mailto:sage [2005/10/12(水) 14:04:12 ]
その中国人BSEに聞いたらあかんの?

638 名前:デフォルトの名無しさん mailto:sage [2005/10/12(水) 14:43:54 ]
ACCESSで出るダイアログと同じものが出るはず
VB6ではお世話になったが.NETでは使わなくなったから検証できず



639 名前:デフォルトの名無しさん [2005/10/12(水) 15:54:30 ]
>>637
中国人BSEも、遠い記憶を基にして言っているので、ソースが定かではない。
結局、中国人の思いつきを、おれが調査しなくてはならない。

>>638
VB6では、どんなダイアログか分かりますか?
教えて下さい。
お願いします。


640 名前:デフォルトの名無しさん mailto:sage [2005/10/12(水) 16:06:54 ]
>>639
接続先データソース名
ID
パスワード
の入力ダイアログが出る(はず

641 名前:デフォルトの名無しさん [2005/10/12(水) 16:56:38 ]
>>640
どんなコントロールですか?
コントロール名とか分かりますか?

642 名前:デフォルトの名無しさん mailto:sage [2005/10/12(水) 17:04:58 ]
>>620ですが、
fixでOS(XP)を再起動したら回復しました。
よく見たら、他のソフトも表示されておらず、
どうやらポップアップがウィンドウの背後に出ているようでした。
(些細な事で、数時間無駄にしてしまいました)

3週間位連続して使っていたのですが、まれにこんなことがあるんでしょうかね。

643 名前:デフォルトの名無しさん mailto:sage [2005/10/12(水) 17:57:30 ]
>>636
それはODBC ドライバ マネージャが表示するもので、
RDOでOpenConnectionするとき、DSNが無かったり接続情報が不完全な場合に出てた。
もっぱら開発時やデバッグ用の機能で、通常のアプリケーションではDNS情報が不完全な場合は
rdDriverNoPromptを指定してプロンプトを出さずにエラーにしてプログラムで処理する。
ADO.NETはもちろんADO以降そんな機能はない。
第一バックグランドで動くかもしれないプログラムが勝手に妙なプロンプトを出したらユーザーが困る。
System.Data.OdbcはOLEDBや専用の.NET Driver(SQLServerやOracle)が無い場合にやむなく使う機能。
もしプロンプトを出したいだけの理由でODBCを使いたいといってるなら却下だな。

644 名前:デフォルトの名無しさん mailto:sage [2005/10/12(水) 19:17:05 ]
sub とか function の内部でローカル宣言した const に2040バイトほどの
文字列を入れるとコンパイル時にVisualStudioごと落ちるんですが、これは
仕様なんでしょうか?

645 名前:デフォルトの名無しさん mailto:sage [2005/10/13(木) 00:02:03 ]
TcpClientについて質問です。

現在、DataAvailableのプロパティで、読み取りデータがあるかないかを調べ、
データがある場合はデータを読み込み、無い場合はスルー
という感じで、受信待ちの形(Do Loop)にしているのですが、

WinsockのDataArrivalイベントのように、データを受信した場合にイベントなどで知リたいと思うのですが、何か良い手立ては無いでしょうか?




646 名前:デフォルトの名無しさん mailto:sage [2005/10/13(木) 01:06:22 ]
BeginRead使うとか?
なぜそうしたいのか分かれば代替案も出せるかも知れないけど

647 名前:デフォルトの名無しさん [2005/10/13(木) 02:04:29 ]
基本的なことで恐縮です。
タイマーについての質問です。

Form上にTimer1とTimer2の2つを実装したとします。
仮に
Timer1 Interval 500ms Tickイベント時の処理時間100ms
Timer2 Interval 150ms Tickイベント時の処理時間10ms
とし、正確な処理時間はさほど必要ないとします。

このとき、Timer1のTickイベント処理中にTimer2の処理のタイミングが重なった場合の
動作は、処理を割り込んでくるのでしょうか?それともTimer2は待機しているのでしょうか?
要は、割り込んでほしくないときは、Timer2を止めるなどの処理が必要なのかどうかです。
逆に、Timer2の処理を優先したいときなどはどのようにすればいいのでしょうか?


648 名前:デフォルトの名無しさん mailto:sage [2005/10/13(木) 02:16:26 ]
>>647
System.Windows.Forms.Timer なら割り込んでこない。



649 名前:デフォルトの名無しさん mailto:sage [2005/10/13(木) 02:34:16 ]
>>648
レスサンクス。
ということは、System.Windows.Forms.Timer を使用していると
割り込んでくるな処理は不要ということですね。
逆に割り込ませたいときは、System.Timers.Timerとかかな?
もう少し調べてみます。ありがとうございました。


650 名前:デフォルトの名無しさん mailto:sage [2005/10/13(木) 05:48:27 ]
>>644
VisualStudioのバージョンと言語、落ちるソースを出さないと誰も相手にしないよ。

651 名前:デフォルトの名無しさん mailto:sage [2005/10/13(木) 08:19:07 ]
>>649
「割り込む」とかいう言葉遣いの人が
安易にSystem.Timers.Timerとか使うと危険。
危険ってのは別に煽って言ってるわけじゃなく、本当に危険だよ。

652 名前:デフォルトの名無しさん mailto:sage [2005/10/13(木) 09:22:52 ]
WindowsでのTimerって、メッセージキューにTimerイベントが置かれるだけですよ。
それを理解すれば答えは出ると思うんだが。
まあ、メッセージループを知らずに、メッセージも知らずにプログラム書けるのも一長一短だな。

653 名前:デフォルトの名無しさん mailto:sage [2005/10/13(木) 09:31:08 ]
>>650
ここはVB.NETスレでしょ?
なんで言語を書く必要が?

654 名前:デフォルトの名無しさん mailto:sage [2005/10/13(木) 10:30:46 ]
>>653 揚げ足取っておもしろいか?

655 名前:デフォルトの名無しさん mailto:sage [2005/10/13(木) 10:38:09 ]
>>652
System.Windows.Forms.Timerはその通りだが、全てのタイマがそうというわけではないぞ。

656 名前:デフォルトの名無しさん mailto:sage [2005/10/13(木) 10:43:41 ]
>>655
その程度のこと元質問を読めば自明。

657 名前:デフォルトの名無しさん mailto:sage [2005/10/13(木) 10:59:50 ]
System.Timers.TimerとSystem.Windows.Forms.Timerは何が違うんディスカ?

658 名前:デフォルトの名無しさん mailto:sage [2005/10/13(木) 11:40:20 ]
>>654
じゃあちゃんと書くから追試よろしく。

Visual Studio .NET 2003でVB.NETを使用し、以下のコードをコンパイル。

Public Class Test

Privete Sub TestMethod()
  '↓改行記号で連結した2040バイトの文字列定数(長くなるので省略)
  Const TestConst As String = _
   "abcdef ..... xyz" & _
   ....
End Sub

End Class

これだけでコンパイル完了前にVisual Studioが突然死する。



659 名前:デフォルトの名無しさん mailto:sage [2005/10/13(木) 12:15:03 ]
>>658
2036バイトまでなら通った。
2037バイトの文字列にすると落ちた。


660 名前:デフォルトの名無しさん mailto:sage [2005/10/13(木) 12:42:19 ]
しかし.NETってバグフィックスがちっとも出ないのはなんでかね?
これ以外にも小さな(?)バグって山ほどあるよな
発売以来二年以上経過してるのにフレームワークのSP1がでてそれきり。


661 名前:デフォルトの名無しさん mailto:age [2005/10/13(木) 14:39:12 ]
DataGridに列を追加し、さらに列名(列見出し)を表示させるには
どうしたらよいのでしょうか?
画面の何かのプロパティで追加できるのでしょうか?
手順を教えてください、よろしくお願いします。


662 名前:デフォルトの名無しさん mailto:sage [2005/10/13(木) 15:39:02 ]
>>661
入門書を買うか、入門HPを嫁。

663 名前:デフォルトの名無しさん mailto:sage [2005/10/13(木) 17:30:34 ]
>>660
バグではありません,それは仕様です,,なのでは?


664 名前:デフォルトの名無しさん mailto:sage [2005/10/13(木) 17:31:29 ]
>>661

'Test Data 作成
ds = New DataSet("testDs")
Dim dt As DataTable = ds.Tables.Add("testTable1")
dt.Columns.Add("id", Type.GetType("System.Int32"))
dt.Columns.Add("value", Type.GetType("System.String"))
dt.Columns.Add("date", Type.GetType("System.DateTime"))
Dim row As DataRow
For i As Integer = 1 To 100
row = dt.NewRow()
row.Item("id") = i
row.Item("value") = "Test" & i.ToString
row.Item("date") = Now
dt.Rows.Add(row)
Next

'DataGrid.DataSourceにDataTableを設定
Me.DataGrid1.DataSource = dt

'Columnを1つ追加(この時点でDataGridにはColumnが追加されている)
dt.Columns.Add("addCol", Type.GetType("System.Int32"))
'Columnのキャプション設定(この時点で追加されたColumnのキャプションが変わる)
dt.Columns("addCol").ColumnName = "Add Column"


665 名前:デフォルトの名無しさん mailto:sage [2005/10/13(木) 19:07:06 ]
新しいフォームを作ってそれを呼び出し元のフォームより後ろに表示したい
んですが、何とか実現する方法ってないですか?

666 名前:デフォルトの名無しさん mailto:sage [2005/10/13(木) 20:02:40 ]
>>665
アブフレックス

667 名前:デフォルトの名無しさん mailto:age [2005/10/14(金) 18:28:18 ]
>>664 さん
661です、サンプル例ありがとうございました。
おかげでできました、助かりました。どもです。

668 名前:647 mailto:sage [2005/10/15(土) 12:44:49 ]
レスサンクスです。
最近プログラミングの基本を勉強する必要を痛感していただけに・・

System.Timers.Timer・・・いまんとこはやめときます orz




669 名前:デフォルトの名無しさん mailto:sage [2005/10/15(土) 15:49:25 ]
クラス内変数なのですが、

private SqlConnection sqlConnection = null ;

と C# で書かれていたものをVB.NETで書く場合はどう書けばよろしいのでしょうか?



670 名前:デフォルトの名無しさん [2005/10/15(土) 16:05:55 ]
番号 データ
1   10
2   12
3   10

のようなテーブルを作ってDataGridに表示していて、
ボタンを押すと、
4   13
などとデータが追加されていきます。

どんどん追加していくと、追加した行が見えなくなってしまいますが、
追加した行にフォーカスを移して、その行が見えるようにする方法を教えてください。

DataGrid1.Select(dataTable1.Rows.Count - 1)
だと選択されるだけで、見えるようにはなりませんでした。



671 名前:670 mailto:sage [2005/10/15(土) 16:16:23 ]
DataGrid1.CurrentCell = New DataGridCell(dataTable1.Rows.Count - 1, 1)
でした。

672 名前:デフォルトの名無しさん mailto:sage [2005/10/15(土) 16:18:15 ]
>>669
君はどの部分が変換できないの?
あと「クラス内変数」って表現は「フィールド」と言った方が良いよ。

673 名前:デフォルトの名無しさん mailto:sage [2005/10/15(土) 16:33:27 ]
>>672
レスありがとうございます。

private SqlConnection sqlConnection = null ;
と、C#で書かれているものを

VBNETで書くとこんな感じかなと思ったのですが、これだとエラーになってしまいます。
Private sqlConnection As SqlConnection = New SqlConnection
sqlConnection = null

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


674 名前:デフォルトの名無しさん mailto:sage [2005/10/15(土) 16:42:28 ]
>>673
Private sqlConnection As SqlConnection = Nothing
または
Private sqlConnection As SqlConnection

参照無しの状態になるのを明示して欲しいから、上の書き方が良いかな?
意図的にインスタンス生成してませんよって。

675 名前:デフォルトの名無しさん mailto:sage [2005/10/15(土) 17:23:56 ]
自分もC#のソースVBで書き換えたいのですが、

If color = Color.Empty Then

と書きたい時に、
Color.Empty が color.Empty に(大文字が小文字に)
強制的に代えられてしまうのは何故でしょうか?

知ってる方お願いします。

676 名前:デフォルトの名無しさん mailto:sage [2005/10/15(土) 17:28:44 ]
すみません、color は
Dim color As Colorです。

677 名前:デフォルトの名無しさん mailto:sage [2005/10/15(土) 18:16:28 ]
VBは大文字小文字が区別されないから。
C#なら大小の区別で別物になるがVB.NETではそうもいかないので、できれば別のネーミングにすることを薦める。

678 名前:デフォルトの名無しさん mailto:sage [2005/10/15(土) 20:49:19 ]
>>677
大文字と小文字の区別が無い事は全然知りませんでした。
どうもありがとうございます。



679 名前:673 mailto:sage [2005/10/15(土) 21:37:36 ]
>>674
大変参考になりました。。
ありがとうございます。

680 名前:デフォルトの名無しさん mailto:sage [2005/10/15(土) 23:27:36 ]
でも Dim color As Color ってつい書いちゃうんだよな。
大文字小文字の区別はないけど、
クラス名とインスタンス名はいちおうちゃんと別物として扱われるんで。

681 名前:デフォルトの名無しさん mailto:sage [2005/10/16(日) 03:15:24 ]
int, str, bol, tbx, lbx, objとか出来るだけ接頭子付けているが
color は col だとフィールド関係と間違えそうだし、clr かな?

682 名前:デフォルトの名無しさん mailto:sage [2005/10/16(日) 07:55:17 ]
ハンガリアンは捨てたのさ。

683 名前:デフォルトの名無しさん mailto:sage [2005/10/16(日) 13:58:11 ]
webbrowserコントロールでエクセルファイル表示するとおもむろにエクセル立ち上がるのって
どうにか出来ないでしょうか?(せめて最小化とか)
そして閉じてもエクセルやワードのプロセスが残ってるのも何とかしたいんです

684 名前:デフォルトの名無しさん mailto:sage [2005/10/16(日) 15:53:06 ]
Webブラウザコントロールを使って表示しなければいいんじゃないか?
これってたぶんだけどIEで表示してるのと同じだよね。
関連付けで開いた相手のプロセスはIEの監視下?

レガシーなOLE連携でCreateObjectでやった場合でもプロセスは起動するのはやむなしだな。
でもプロセスは残らない。

単純にファイルの関連付けで開いた場合、プロセスの終了は使用者任せだね。

そうじゃなければ、市販コントロールであると思うよ。

685 名前:デフォルトの名無しさん mailto:sage [2005/10/16(日) 18:02:04 ]
>>684
それ言っちゃうと身も蓋も無いんだけどねw
フリーソフト作るのに市販コントロール買ってまでするってのも…
ヘルプ見ようとしても出てこんし
諦めた方がいいかな

686 名前:デフォルトの名無しさん mailto:sage [2005/10/16(日) 20:29:09 ]
>>681
その調子で一度すべてのクラスに識別可能なプレフィックスを付けながら
コーディングしてみ?プレフィックスが変数名より長くなるか、
プレフィックスを覚えきれなくなるのが落ち。まともなOOの環境で
コーディングしたことあるやつなら、プレフィックスを付けることの
無理にとっくに気がついている。だから最近はプレフィックスを付けないのが主流。


687 名前:デフォルトの名無しさん mailto:sage [2005/10/16(日) 22:59:06 ]
>>685
それを言うならば、フリーソフトでEXCELマクロでもないアプリなのに、要EXCELってのも・・・。
企画原案を変えるべきでは?

688 名前:デフォルトの名無しさん mailto:sage [2005/10/17(月) 00:57:28 ]
>>660
Javaやってりゃ分かるが細かいバグもチョコチョコ直されると激しく迷惑



689 名前:デフォルトの名無しさん [2005/10/17(月) 13:31:05 ]
IPメッセンジャーのようなメッセージ配信機能を電話オペレータの操作画面の一部にテロップのような形式で配信したいと考えています。
また、配信する人は一部の管理者を想定しているのですが、この管理者の権限でメッセージ表示を削除する機能も付加したいと考えています。

VB.NETのWindowsアプリケーション開発で技術的に可能でしょうか?教えてください。お願いします。

690 名前:デフォルトの名無しさん mailto:sage [2005/10/17(月) 13:46:13 ]
可能です

691 名前:デフォルトの名無しさん [2005/10/17(月) 13:50:39 ]
すいません、具体的なヒントとか頂けたら嬉しいです。。

692 名前:デフォルトの名無しさん mailto:sage [2005/10/17(月) 15:20:36 ]
690じゃないが、具体的じゃない質問に対して具体的なヒントって?
まず、何が疑問なのか。

693 名前:デフォルトの名無しさん mailto:sage [2005/10/17(月) 16:18:35 ]
特定のURLから内容を表示するプログラムを造ってますが、ウェブページ上の表形式のデータを取得する場合、
便利な方法は何かないでしょうか。Ezcelのウェブクエリを高速化したかったのですがwebtableのような概念が
見つけられないもので。VB.NETは質問からも分かるように初心者です。本2冊買ってHELPもあたったのですが・・

Imports System.Net
Imports System.Text
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
TextBox1.Text = ""’URLを入力
TextBox2.Text = ""
End Sub



694 名前:デフォルトの名無しさん mailto:sage [2005/10/17(月) 16:19:08 ]
693の続き

Private Sub Button1_Click( _
ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click

Dim wreq As HttpWebRequest
Dim wres As HttpWebResponse
'ウェブリクエストでテキスト1の内容表示、エンコード
wreq = HttpWebRequest.Create(TextBox1.Text)
wres = wreq.GetResponse()
Dim enc As System.Text.Encoding = _
System.Text.Encoding.GetEncoding("euc-jp")
Dim s As IO.Stream = wres.GetResponseStream()
Dim sr As New IO.StreamReader(s, enc)

'コンテンツ内容をテキスト2に表示
Dim Textline As String = sr.ReadToEnd()
TextBox2.AppendText(Textline)

sr.Close()
s.Close()

End Sub
End Class

695 名前:デフォルトの名無しさん mailto:sage [2005/10/17(月) 21:24:43 ]
>>689
まずはTCP/IPの勉強をして来なさい

696 名前:デフォルトの名無しさん mailto:sage [2005/10/17(月) 21:38:51 ]
>>693
整形式XML(のフラグメント)になりうるんであればXmlReaderとかが使えるけど、HTMLだと難しい場合も多いだろうね。
素直なのは、正規表現(System.Text.RegularExpressions名前空間のRegexを中心とする各クラス)を使って整形するとか。
mshtmlを使って解析させるって手もあるけど……。

697 名前:デフォルトの名無しさん [2005/10/17(月) 23:41:11 ]
タスクバーを扱うには、どのあたりのクラスを使えばいいんでしょうか。
シンプルにクイックラウンチをON/OFFしたいだけなんですが。

698 名前:デフォルトの名無しさん mailto:sage [2005/10/17(月) 23:51:21 ]
他のプロセスのコントロールをいじるってのは.NETのクラスライブラリでは無理。
Win32APIを駆使することになる。
Shell_TrayWnd の ReBarWindow32 に
RB_GETBANDINFO で ToolbarWindow32 のハンドルと一致するの探して
RB_SHOWBAND で操作、かねぇ。
構造体ポインタのやりとりとなるとVirtualAllocExとかCreateFileMappingとか使う必要もあるね。



699 名前:デフォルトの名無しさん mailto:sage [2005/10/17(月) 23:54:41 ]
トレイアイコンのこと?
notifyiconをフォームにドロップするだけ
でフォームのresizeとnotifyiconのmousedownあたりにゴニョゴニョ書けばok

700 名前:デフォルトの名無しさん mailto:sage [2005/10/18(火) 00:13:55 ]
>>698
あ、サンキューです。
そのあたりの情報までは見つけていたけど、「.NETならもっと簡単なんじゃねぇの?」と
思ったんですが、できないというのがわかればがんばってAPI叩きます。助かりました。

>>699
いえ、>>698に書いてあるあたりです。

701 名前:デフォルトの名無しさん mailto:sage [2005/10/18(火) 00:59:19 ]
>>696
調べを進めていく上でのキーワードがいただけました。ありがとうございます。
(実は何を書いてあるのか殆ど分かりませんがw XMLは聞いたことがあるので、ググリまくります。)

702 名前:デフォルトの名無しさん [2005/10/18(火) 02:38:28 ]
>>698

あくまで他スレッドがコントロールを直接操作できないだけ

他スレッドがよんだ自スレッドのメソッドがコントロールをそうさするのはok

703 名前:デフォルトの名無しさん mailto:sage [2005/10/18(火) 02:42:19 ]
>>702

いつスレッドの話になった?

704 名前:デフォルトの名無しさん mailto:sage [2005/10/18(火) 03:46:05 ]
XMLをQueueメモリに保存し、適時取り出して再度Xmlとし、処理していきたい
と考えています。

次のようなコードでQueueに書き込む分にははエラーは出ませんが、

 Dim WriteQueue As Queue = New Queue
 Dim xmlDoc As New System.Xml.XmlDocument
 (ここにXMLを構築するコードを書き込んでいます)
 WriteQueue.Enqueue(xmlDoc)

DequeueメソッドでXMLに書き戻すのがうまくいきません。Queueに書き込んだ
ものとソックリ同じ物を、新しく作成したXmlDocumentとしたい(つまり、コピー
を作る)んですが・・・・・



705 名前:デフォルトの名無しさん mailto:sage [2005/10/18(火) 05:52:26 ]
>>702
話がずれてる上に間違ってる。

>他スレッドがよんだ自スレッドのメソッドがコントロールをそうさするのはok
okじゃないから Control.Invoke / BeginInvoke を使おうな。

706 名前:デフォルトの名無しさん mailto:sage [2005/10/18(火) 06:31:27 ]
>>704
インスタンスとか参照とか理解してなさそうだが……。
取りあえずClonseメソッド。

707 名前:デフォルトの名無しさん mailto:sage [2005/10/20(木) 07:09:58 ]
.netではDDE通信が推奨されていないらしいですが
代わりにどのような方法が推奨されているでしょうか?

708 名前:最凶VB厨房 mailto:sage [2005/10/20(木) 07:12:12 ]
リモチン?



709 名前:デフォルトの名無しさん mailto:sage [2005/10/20(木) 09:34:36 ]
>>707
.net Remoting
情報少ないけど、ほぼ唯一でてるオレンジの本見れば、DDE程度はOK。
ただ、自アプリ同士の連携の場合だからね。

昔のOfficeとかがDDEを提供していた(?)のと同じように、OfficeとかがRemoteオブジェクトを提供してるわけじゃないので。
(.netの弱点ってネイティブでOffice連携が無いことなように思える)

710 名前:デフォルトの名無しさん mailto:sage [2005/10/20(木) 10:11:43 ]
>>708, 709
thx.調べてみます。
代わりにソケット通信っていうのはありでしょうか?






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

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

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