1 名前:デフォルトの名無しさん [2007/07/10(火) 12:23:42 ] 前スレ VB.NET質問スレ (Part21) pc11.2ch.net/test/read.cgi/tech/1177299756/ テンプレは2〜10くらいまでの間にある予定
697 名前:デフォルトの名無しさん [2007/08/18(土) 15:07:21 ] VS2005のIDEですが、ソースコード・エディタ上でマウスであちこちクリックしたり、 検索で移動したり、「シンボルの検索結果」での選択で移動したり、とこれらの操作で キャレットの位置が変わっていったとき、その位置を復元して逆たどるためのツールボタン があったと思うのですが、 PCが壊れて、別のPCに変えて同じボタンと思われるものを使ってみたのですが、 同じその機能が働いてくれません。 この機能のボタンはありますよね。なんという名前のボタンかがわかりません。 (試してみたのは、「前の検索結果1の場所へ移動」「前の検索結果2の場所へ移動」 「前の場所へ移動」などですが、これらでは復元しませんでした。ツールボタンの欄で 右クリック->「ユーザー設定」->「編集」を選択->その中のボタンから選択してみました。)
698 名前:デフォルトの名無しさん mailto:sage [2007/08/18(土) 15:13:24 ] そういうのって人に聞くより自分で実際やってみる方が早くないか? それともIDEのメニューやツールバーのカスタマイズ方法を知らないの?
699 名前:デフォルトの名無しさん [2007/08/18(土) 15:56:40 ] >>697 ですから、それをやってみたと書いていますが・・・。それでもできなかったもので。 ↓ (試してみたのは、「前の検索結果1の場所へ移動」「前の検索結果2の場所へ移動」 「前の場所へ移動」などですが、これらでは復元しませんでした。ツールボタンの欄で 右クリック->「ユーザー設定」->「編集」を選択->その中のボタンから選択してみました。)
700 名前:デフォルトの名無しさん mailto:sage [2007/08/18(土) 17:14:24 ] 進む、戻る、かなんかのボタンだよね 俺も見つかられんのだわw
701 名前:デフォルトの名無しさん mailto:sage [2007/08/18(土) 17:14:55 ] たしかすごい意外なとこにあった記憶はあるんだが…
702 名前:デフォルトの名無しさん [2007/08/18(土) 17:46:36 ] 分類:表示 の 一番下のほうにある 戻る か?
703 名前:697 [2007/08/18(土) 20:36:38 ] >>702 あー、それでした!!どうもありがとうございました!
704 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 01:05:24 ] 質問なんですが、フォントスタイルに太字と斜体の両方を 設定した場合に、太字(もしくは斜体)のみを標準状態に 戻す場合のコードってどう書けばいいのでしょうか?
705 名前:704 mailto:sage [2007/08/20(月) 01:12:05 ] 自己解決しました、お騒がせしました。
706 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 09:31:20 ] どれだけ下らなく稚拙な質問でも、同じ疑問を持ってるやつがいるかもしれないから、 自己解決した場合でも、解決法は書くべき。 現在のスタイル-太字 TextBox1.Font = New Font(TextBox1.Font, TextBox1.Font.Style Xor FontStyle.Bold) ちなみに 現在のスタイル+太字 TextBox1.Font = New Font(TextBox1.Font, TextBox1.Font.Style Or FontStyle.Bold)
707 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 12:31:46 ] 地獄への道は善意で舗装されている、という言葉の意味を706は噛み締めるべきだね。 そういう「善意」は、結局のところ、基礎の理解や自分の頭で考えることをスキップする 「コピペ馬鹿」を生み出すだけだと思うが。
708 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 13:14:31 ] >>707 善意から莫迦が産まれるとでも思ってんのか? 莫迦は元々莫迦なんだよ。
709 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 14:47:18 ] まあ少なくとも馬鹿を矯正するスレじゃないからね
710 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 16:43:07 ] 質問答えたらだめじゃんw
711 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 17:36:01 ] コントロールを名前で選択するにはどうすればいいのでしょうか。 例えばForm1上にButton1があったとすると、 Dim btn As Button = hoge("Button1") みたいなことがしたいのです。 ググると、Form上のコントロールのコレクションをFor eachで回して、名前が一致するかどうかで 探すというのは見つけたのですが、名称からダイレクトに選択したいです。
712 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 18:27:44 ] またコントロールを名前で選択したいです厨か
713 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 20:42:55 ] >>711 >Form上のコントロールのコレクションをFor eachで回して、名前が一致するかどうかで >探す という関数を作成すれば >名称からダイレクトに選択 できますよ。
714 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 21:01:40 ] >>711 Form.Controls(string) やめとけやめとけやめとけやめとけ
715 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 21:04:12 ] 712じゃないけど(いや712は別に何も言ってないがw) >>711 みたいな「要求」は、ほとんどの場合勘違いの産物だと思うぞ。 ありていに言えば頓珍漢なんだよたぶん。
716 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 21:49:53 ] >>711 は結局それで何がやりたいのだろう
717 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 21:53:11 ] ちゃんと理解してて目的があって使うならいいんだけど >>711 はそれ以外に方法がないと思い込んでるだけだろうな
718 名前:デフォルトの名無しさん [2007/08/20(月) 23:06:46 ] ListView上をMouseでClickしたとき、何かのListViewItemをHitすると MouseUpイベントが連続して2回立つ、ということはありうるでしょうか? そういう現象が出て悩んでいました。 下に何もないところをClickしたときはMouseUpは正常に一回しか立たない のですが、下にItemがあるところをMouseでClickすると、2回連続してMouseUpが 立つのでした。 そのためか、そのListViewItemは、選択された印のBackColorが付かず、 Selected状態になっているのかどうかわからないのでした。 MouseDownイベントを挟まずにMouseUpが2回連続するというのは変だと 思うのですが、どこを通ってきてそうなっているのかわからないのでした。 こういう現象になった方いらっしゃったら何かご指導ください。よろしくお願いします。
719 名前:デフォルトの名無しさん mailto:sage [2007/08/21(火) 01:21:52 ] >>718 ありうるかどうかはdebug.printしてみればわかる。
720 名前:デフォルトの名無しさん mailto:sage [2007/08/21(火) 07:53:11 ] DirextXを使用しているものから色を取得して判定したいのですが Win32APIのGetPixel等では不可能のようでしたが、何か良い方法は ないでしょうか。
721 名前:711 mailto:sage [2007/08/21(火) 09:20:41 ] >>714 さんの方法でできました。ありがとうございました。 やりたいことは、
722 名前:デフォルトの名無しさん [2007/08/21(火) 09:59:05 ] >>719 そうなのです、それをやってみた結果、それがわかったのでした。 MouseUpというのはMouseDownが起きて初めて起こるはずなので、Upだけ 2回連続するというのは、理屈でいけばおかしいと思われました。 しかし、確かにDownを挟まずに、2回通っているのでした。 これは、どこかでDownに準じる何かが起きているが、それがおもてに 現れずにいるというようなことなのか、それとも、どこかまだ不明なところを 経由して再びMouseUpが実現してしまうという構造なのか・・・?? それで、そういったことは起こりうるのか、それが疑問になったのでした。 で、現実にItemが選択状態のBackColorにならない、ということは、その 2回連続しているMouseUpがおきてしまうことと関係があるのだろう、 と推測されたわけでしたが、どなたかアドバイスがありましたらお願いしますです。
723 名前:デフォルトの名無しさん mailto:sage [2007/08/21(火) 10:14:55 ] >>720 DirextXを使用している「もの」って具体的に何 >>722 再現しなかったのでした。 そのListViewItemについて詳しく教えてほしいと思ったのでした。
724 名前:デフォルトの名無しさん mailto:sage [2007/08/21(火) 10:19:28 ] >>723 スルーされるの覚悟ですが、フルスクリーンで動作するゲームです。 DirectXについて詳しくないのですが、普通にSpy++でハンドル調べて Findwindow等で取得したハンドルを使ってGetPixelしたのですが 駄目でした。
725 名前:デフォルトの名無しさん mailto:sage [2007/08/21(火) 10:29:50 ] 普通にGraphics.CopyFromScreenでできない?
726 名前:デフォルトの名無しさん mailto:sage [2007/08/21(火) 10:35:20 ] 有り難う御座います。帰ってから試してみます。
727 名前:デフォルトの名無しさん [2007/08/21(火) 11:31:28 ] 行列クラスを作ろうとしています。今、 Dim ary(,) As Integer = {{1, 0}, {0, 1}} Dim matrix As New Matrix(ary) のようにやっていますが、 Dim matrix As New Matrix({{1, 0}, {0, 1}}) とやることはできないでしょうか。 また、a22 = matrix(2, 2) で a22に1が入るなどとやりたいのですが、 そういうことは可能でしょうか。 Array は Inherits できないようなので、無理なんですかね?
728 名前:デフォルトの名無しさん mailto:sage [2007/08/21(火) 11:34:12 ] >>724 FPSゲームのチートソフトでも作る気かw
729 名前:デフォルトの名無しさん mailto:sage [2007/08/21(火) 11:38:29 ] >>727 >Dim matrix As New Matrix({{1, 0}, {0, 1}}) コンストラクタの引数に配列をとる >a22 = matrix(2, 2) 既定のプロパティ
730 名前:729 mailto:sage [2007/08/21(火) 12:00:46 ] すまん上の方はもうやってたな Dim matrix As Matrix = New Matrix(New Integer(,) {{1, 0}, {0, 1}}) にするだけ
731 名前:724 mailto:sage [2007/08/21(火) 13:23:15 ] >>728 チートだなんてとんでも無い。ちょっとしたマクロ程度です。 >>725 も試してみたんですが、上手く使えずWin32APIで GetWindowDC(0)としてデスクトップ全体のDCからGetPixelしたん ですが、DirectX(フルスクリーン)だと上手く行かないみたいですね。 今会社なので試せてませんが…。 ググってみると、どうも出来ないという話ばかりありました。 もう何て言うか、他のソフトで窓化してから組んだ方が手っ取り早い 気がしてきました。UWSCのPeekColorなんかだと出来るんですが どうやって実現しているんだろう…。
732 名前:デフォルトの名無しさん mailto:sage [2007/08/21(火) 14:23:02 ] DirectXとフルスクリーンには、何にも因果関係はないと思うが。 DirectXで描画しているDCを取得しないと駄目なんでないの?
733 名前:デフォルトの名無しさん mailto:sage [2007/08/21(火) 14:39:07 ] WebBrowserコントロール内のドキュメントの反転範囲の取得は可能ですか?
734 名前:733 mailto:sage [2007/08/21(火) 14:40:27 ] 連レスすいません、「クリップボードの利用は無し」が条件です。
735 名前:デフォルトの名無しさん mailto:sage [2007/08/21(火) 14:43:37 ] >>733 可能です
736 名前:733 mailto:sage [2007/08/21(火) 14:45:27 ] >>735 ありがとうございます
737 名前:デフォルトの名無しさん mailto:sage [2007/08/21(火) 14:54:33 ] VB2003で開発しています。 ここで質問していいかわからないので、もし他スレが適切なら 誘導をお願いします。 OSがWin2003Serverでドメインコントローラになっているサーバに Everyoneでフルコントロールできる共有フォルダがあります。 この共有フォルダに、LANで繋がっているOSがXpHomeEditionのPC からファイルをアップロードしたりダウンロードしたりするアプリを 作りたいのです。 使用するPCはちょっと特殊なPCでHomeEditionしかプリインストールされていません。 ドライバ類の事を考慮して、OSをProfessionalEditionに乗せかえることは しません。 クライアントがProfessionalEditionなら問題はないのですが、HomeEdition なのでサーバの共有フォルダにアクセスしようとすると、ユーザ名と パスワードを要求されてしまいます。 最初にエクスプローラから共有フォルダを開こうとしてユーザ名とパスワードを 通しておけば次からは要求されないので問題がないのですが、この開発中の アプリからいきなり共有フォルダにアクセスしようとすると、ユーザ名と パスワードが通っていないためにエラーになります。 プログラムからユーザ名とパスワードを認証させる方法はありますでしょうか?
738 名前:724 mailto:sage [2007/08/21(火) 14:55:53 ] >>732 そうなんですか。すいません。あまり詳しくなくて。。 oshiete1.goo.ne.jp/kotaeru.php3?q=1145477 この辺みて勘違いしてたかもしれません。 取りあえず、↓みたいな感じの関数で帰ってから試してみます。 有り難う御座いました。 Private Function PeekColor(ByVal x As Integer, ByVal y As Integer) As Integer Dim ret As Integer ret = GetWindowDC(0) 'スクリーン全体のデバイスコンテキストを取得 PeekColor = GetPixel(ret, x, y) ret = ReleaseDC(0, ret) 'スクリーン全体のデバイスコンテキストを解放 End Function
739 名前:デフォルトの名無しさん mailto:sage [2007/08/21(火) 15:00:47 ] >>737 WNetUseConnection
740 名前:デフォルトの名無しさん mailto:sage [2007/08/21(火) 15:03:46 ] >>738 どんなフルスクリーンか知らんが解像度が変更されている場合もあるので気をつけれ 多分デスクトップのDCのピクセル情報はフルスクリーンキャプチャに移るのと一緒だと思うから一回撮ってペイントに貼り付けてみて確認してみるのもいいかも
741 名前:デフォルトの名無しさん mailto:sage [2007/08/21(火) 15:16:15 ] >>737 >ドライバ類の事を考慮して、OSをProfessionalEditionに乗せかえることは >しません。 これだけの為にProにアップグレードするべきだとは思わんが、一応教えておく。 ドライバはHomeだろうがProだろうが一緒。互換性を心配するのは間違い。
742 名前:デフォルトの名無しさん mailto:sage [2007/08/21(火) 17:20:47 ] VB2005です。 TextBoxで未入力のときに数値の0とみなしたいのですが、次のようなやり方以外に 簡単な方法はありますか? if textbox1.text.length = 0 then val = 0 elseif isnumeric(textbox1.text) then val = cint(textbox1.text) else 'error end if
743 名前:737 mailto:sage [2007/08/21(火) 17:47:49 ] >>738 さっそくWNetUseConnectionをぐぐってみました。 で参考になるサンプルを見つけたので ttp://64.233.167.104/search?q=cache:e1IfQnfsW9UJ:www.vbalab.net/vbaqa/c-board.cgi%3Fcmd%3Dntr%3Btree%3D36579%3Bid%3Dexcel+WNetUseConnection&hl=ja&ct=clnk&cd=9&gl=jp&lr=lang_ja 真似てやってみたのですが その関数の戻り値が 487 となり、失敗します。 で、その戻り値を調べたら ERROR_INVALID_ADDRESS 487 0x000001E7 無効なアドレスにアクセスしようとしています。 とありました。 しかし、そのアドレスは確実に間違っていないはずなんですが・・・。 そのアドレスをエクスプローラのアドレス欄に貼り付けるとちゃんと表示されます。 これ以上はスレ違いでしょうかね? apiスレに移動したほうがいいでしょうか? >>741 ドライバの互換性云々というのではなく、ドライバ類がOSの再セットアップ用に 提供されていないという問題なんです。 一応、ハードディスクにはリカバリイメージが格納されているのですが 隠蔽されているっぽいのです。 ドライバCDもなく、webでも公開もされておらず・・・
744 名前:デフォルトの名無しさん mailto:sage [2007/08/21(火) 18:14:50 ] >>743 ヒント:上書きインストール
745 名前:デフォルトの名無しさん mailto:sage [2007/08/21(火) 18:33:56 ] >>742 それで十分簡単だと思われ。
746 名前:727 mailto:sage [2007/08/21(火) 18:57:05 ] >>729 a22 = matrix(2, 2) はできました。ありがとうございます。 Dim matrix As New Matrix({{1, 0}, {0, 1}}) の方は、以下のようにしてみましたが、式が必要です というエラーが出ます。対策を教えていただけないでしょうか。 Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim matrix As new Array2({1, 0}) End Sub End Class Public Class Array2 Public elements As Array Public Sub New(ByVal ary As Array) elements = ary End Sub End Class
747 名前:デフォルトの名無しさん mailto:sage [2007/08/21(火) 20:15:26 ] >>743 Win32APIの意味や失敗の原因を調べるならWin32API質問箱スレに移動すべきだが、 Win32APIを呼び出すためのVB.NETの記述方法について知りたいなら、ここのままでも よいのでは?
748 名前:737 mailto:sage [2007/08/21(火) 21:10:20 ] Win32API質問箱スレにいってきます。 ありがとうございました。
749 名前:デフォルトの名無しさん mailto:sage [2007/08/21(火) 21:24:00 ] >>746 >>730
750 名前:746 mailto:sage [2007/08/22(水) 09:59:10 ] >>749 見逃してました。。。 うまく行きました。ありがとうございました。 型に配列就職誌をつけられるとは知りませんでした。
751 名前:デフォルトの名無しさん mailto:sage [2007/08/22(水) 10:15:43 ] 配列型という型なんだよ 変数名じゃなくて型名の後に括弧を付ける方がその意味では正しい
752 名前:デフォルトの名無しさん mailto:sage [2007/08/22(水) 11:06:56 ] 746はVBしかしたことないんかな
753 名前:デフォルトの名無しさん mailto:sage [2007/08/22(水) 12:16:12 ] >配列就職誌 誤変換に生活史が見て取れる
754 名前:デフォルトの名無しさん mailto:sage [2007/08/22(水) 12:44:18 ] Dim array As Int32() = New Int32() {1, 2, 3} こう書いたらもうC#だなw
755 名前:デフォルトの名無しさん mailto:sage [2007/08/22(水) 21:19:29 ] 友達からVS2005をコピーしてもらったのですが、インストール方法がわかりません。 どうやらキーを入れるみたいなんですが、キーを教えてもらえませんか?
756 名前:デフォルトの名無しさん mailto:sage [2007/08/22(水) 21:46:24 ] >>755 お前頭悪過ぎ わざとボケたならすまない。 だが、ここでなく低脳スレに行くことをオススメする。
757 名前:デフォルトの名無しさん mailto:sage [2007/08/22(水) 21:53:17 ] >>755 マイクロソフトに問い合わせればいいじゃん
758 名前:デフォルトの名無しさん mailto:sage [2007/08/23(木) 11:13:09 ] VB2005を使っています。 フォームのNew()の中でInitializeComponent()が呼ばれますが、InitializeComponent()内で 設計時に設定したプロパティを設定するときに、それぞれのイベントハンドラが呼ばれたりします。 全てが初期化されるまでに呼ばれると困るイベントハンドラもあるので、今のところは 以下のようなコードでしのいでますが、VB2005に用意されている機能でこれを実現することはできますか? Class Form1 Dim mConstructed as Boolean Public Sub New() InitializeComponent() mConstructed = True End Sub Private Sub SomeEventHandler(...) If Not mConstructed Then Exit Sub End If End Sub End Class
759 名前:デフォルトの名無しさん mailto:sage [2007/08/23(木) 12:39:16 ] >>758 まあ別にそれでも良いんじゃない? (ただ、未確認だけど自分で判定用のフィールド作らなくてもForm.Createdが使えると思う) そういう場合はHandles句を使わずに自分でイベントを紐付けするのが正攻法だと思うけど。
760 名前:758 mailto:sage [2007/08/23(木) 13:04:41 ] >>759 前者の方法も知りませんでしたし、後者の方法も目から鱗でした! ありがとうございました。
761 名前:デフォルトの名無しさん mailto:sage [2007/08/23(木) 15:11:07 ] タブコントロールを使っているのですが タブが多くなり2段になりました。 どうせなら自分の好きなタブで区切り2段になるようにしたいのですが タブ何個で段分割するとかいう指定はないでしょうか?
762 名前:デフォルトの名無しさん mailto:sage [2007/08/23(木) 15:13:15 ] タブサイズ調整するしかないんじゃね?
763 名前:デフォルトの名無しさん mailto:sage [2007/08/23(木) 15:54:00 ] あきらめました!
764 名前:デフォルトの名無しさん mailto:sage [2007/08/23(木) 20:58:38 ] 諦めんのはええぇぇぇぇwwwwww
765 名前:733 mailto:sage [2007/08/23(木) 22:05:44 ] あれから探して見つかったので、聞かれていませんが一応。 WebBrowser.Document.ActiveElement.InnerText WebBrowser.Document.ActiveElement.InnerHtml を使ってWebBrowserの選択範囲・クリックした画像のソース等の取得ができました。クリックイベントと併用したら便利でした。
766 名前:デフォルトの名無しさん [2007/08/24(金) 11:56:51 ] 質問させてください。 継承コントロールでプロパティを追加した場合、デザイナでそのコントロールの該当プロパティを選択した時の説明文 (例えばFormのTextプロパティなら「コントロールに関連付けられたテキストです」)は、どこに書けば反映されるのでしょうか? プロパティの<summary></summary>に書けば良いのかと思いましたが、そうではないようです。 解かる方、ご教示お願いします。
767 名前:デフォルトの名無しさん mailto:sage [2007/08/24(金) 12:16:58 ] DescriptionAttribute(属性)だったかな
768 名前:デフォルトの名無しさん mailto:sage [2007/08/24(金) 12:37:22 ] というか、そんなの自分で調べる能力がない人間がコントロールなんか作ると 間違いなくハマるよw
769 名前:デフォルトの名無しさん mailto:sage [2007/08/24(金) 12:44:16 ] .netでEE用のソースは問題なく使えますか?
770 名前:デフォルトの名無しさん mailto:sage [2007/08/24(金) 12:58:39 ] いーいーっていったいなんのことかな?
771 名前:デフォルトの名無しさん mailto:sage [2007/08/24(金) 13:00:02 ] いーいーではなくEEです。
772 名前:デフォルトの名無しさん mailto:sage [2007/08/24(金) 13:14:48 ] Erotic Elementary school girl
773 名前:766 mailto:sage [2007/08/24(金) 13:19:07 ] >>767 ありがとう! >>768 思いつく限りの単語で調べてみたけど、わかんなかったのよ!
774 名前:デフォルトの名無しさん mailto:sage [2007/08/24(金) 20:59:58 ] >>773 TextBox プロパティ これでググったりMSDN見たりする頭もないのか 先行き不安だな
775 名前:デフォルトの名無しさん mailto:sage [2007/08/24(金) 21:12:15 ] >>774 >思いつく限りの単語で調べてみたけど、わかんなかったのよ!
776 名前:デフォルトの名無しさん mailto:sage [2007/08/24(金) 21:15:27 ] >>774 MSDNのメンバの説明ではDescription属性は省かれてる
777 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 17:44:23 ] >>774 継承しているコントロールがTextBoxでも無い限り、そんな単語で検索しないと思うぜ?
778 名前:デフォルトの名無しさん mailto:age [2007/08/27(月) 17:06:12 ] VC++から書き込まれた共有メモリを OpenFileMapping()、MapViewOfFile()にて読み出しております。 VC++から struct data{ char str1[256]; char str2[256]; char str3[1024]; } という構造体、または構造体の配列が書き込まれた場合、 VB側ではどのようにすればそれぞれを受け取ることができるでしょうか
779 名前:778 mailto:age [2007/08/27(月) 18:03:29 ] 一つ思い浮かびました Private Declare Function MovePointer Lib "mydll" _ (ByVal ptr As IntPtr, _ ByVal movesize As Integer _ ) As IntPtr ・・・他に真っ当な方法は無いでしょうか(汗
780 名前:デフォルトの名無しさん mailto:sage [2007/08/27(月) 18:05:03 ] Marshal.PtrToStructure
781 名前:778 mailto:age [2007/08/27(月) 18:31:03 ] >>780 ありがとうございます。 nAddress = MapViewOfFile(hOpened, FILE_MAP_READ, 0, 0, 0) str1 = Marshal.PtrToStringAnsi(nAddress) と先頭を取ることはできるのですが、 Public Structure DATASTRUCT Dim str1 As String Dim str2 As String Dim str3 As String End Structure Dim cds As DATASTRUCT cds = CType(Marshal.PtrToStructure(nAddress, GetType(DATASTRUCT)), DATASTRUCT) ですと、 「オブジェクト参照がオブジェクト インスタンスに設定されていません」のエラーが出てしまいます。 Marshal.PtrToStructure()をどのように使えば宜しいでしょうか
782 名前:デフォルトの名無しさん mailto:sage [2007/08/27(月) 18:47:35 ] >>781 MSDNライブラリ読めばいいのに。 たぶんDATASTRUCTの定義が不適切。 msdn2.microsoft.com/ja-jp/library/795sy883 (VS.80).aspx
783 名前:778 mailto:age [2007/08/27(月) 19:02:11 ] >>778 ありがとうございます。 どこを読めばいいのかさっぱりの状態でしたorz Public Structure DATASTRUCT <MarshalAs(UnmanagedType.ByValTStr, SizeConst:=256)> _ Dim str1 As String <MarshalAs(UnmanagedType.ByValTStr, SizeConst:=256)> _ Dim str2 As String <MarshalAs(UnmanagedType.ByValTStr, SizeConst:=1024)> _ Dim str3 As String End Structure としたところうまくいきました! 構造体のメンバのサイズを宣言できるんですね! (散々ググったページには「できない」とあったのですが・・・) 大変助かりましたありがとうございましたm(_ _)m
784 名前:778 mailto:age [2007/08/27(月) 19:04:37 ] 間違えました>>782 さんでした。 >構造体のメンバのサイズを宣言できるんですね! Stringのサイズ(固定長文字列)でした。。。
785 名前:778 mailto:sage [2007/08/27(月) 19:22:55 ] 申し訳ありません。 この構造体が配列で渡されたときの受け取り方をお教えいただければ幸いです。
786 名前:デフォルトの名無しさん [2007/08/27(月) 19:50:19 ] 質問です。 エクセルの20個のファイルに(1a、2b・・・から20tとする)のファイル名 をそれぞれにつけて、とある1つのディレクトリにまとめて保存し たそれらを一つずつオープンして、それぞれのファイルのSheet1 にあるセルの情報(それぞれのファイルで1行目(1,1)〜(1,40)に まとめてある)を、情報をまとめるためのファイル「Answer」のSheet1に 1行ずつ出力するプログラムを教えていただけないでしょうか。 (最終的にはAnswerのSheet1は20行情報が貼り付けられることになります) (ファイル名に規則性がなくても出来るのであればなお嬉しいです) どうかよろしくお願いしますm(_ _)m
787 名前:デフォルトの名無しさん mailto:sage [2007/08/27(月) 20:09:38 ] >>786 Excel操作はここら辺を参考にがんばって。 ttp://jeanne.wankuma.com/tips/excel/ ttp://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/dv_wrcore/html/wrgrfexcelapplicationobject.asp
788 名前:デフォルトの名無しさん mailto:sage [2007/08/27(月) 20:11:33 ] >>785 >>782 の前後に書いてる
789 名前:デフォルトの名無しさん [2007/08/27(月) 22:10:29 ] programingなんてやめちまえよ。 たとえるなら、薬師みたいなもんだよ。 調合の材料を客先に持ち込んで、客に合わせて調合するんだ。 もちろん、調合の仕方を覚えてれば、調合は早いだろうけど、リファレンス見ながらでも誰も怒らないよ。 そんな覚える技術や努力なんて馬鹿みたいだし、そんなところにしか技術の差が出ないなんて悲しいよな。 てか、薬師よりおとるかもなぁ。。薬師なら、難病を治すために適切に薬を選べるけど、programmerは、言われたように作るだけだから。。
790 名前:デフォルトの名無しさん mailto:sage [2007/08/27(月) 22:22:11 ] 薬師三尊像、まで読んだ
791 名前:デフォルトの名無しさん mailto:sage [2007/08/27(月) 22:26:37 ] 薬で難病が治るまで読んだ。最後まで読んだ。
792 名前:デフォルトの名無しさん mailto:sage [2007/08/27(月) 22:38:58 ] 薬買いにいって えーと……とかって本見ながら調合始めたら引くよな
793 名前:デフォルトの名無しさん mailto:sage [2007/08/28(火) 09:39:51 ] >薬師なら、難病を治すために適切に薬を選べるけど、programmerは、言われたように作るだけだから。。 言われたようにつくるだけのマもいるけど、「こんなことできないかしら?できたらいいな!」って言われて、それを成す為の最適な方法を考案するマだっているさ。 何も言われずとも「こういうものをつくったら売れるんじゃないか!?」って創作するマもいるし、病人がいないと作ったものが効果を発揮しない薬師より、マの方がいろいろ可能性はあるさ。 調合、調整、やり直しが楽なところもマの魅力。 給料は低いが!!!!(つД`) 給料の為に働いてるマも多いだろうが、自分は創る行為自身が楽しくてマをつづけている。
794 名前:778 mailto:sage [2007/08/28(火) 11:40:57 ] >>788 ありがとうございます。 プラットフォーム呼び出しによるデータのマーシャリング msdn2.microsoft.com/ja-jp/library/fzhhdwae (VS.80).aspx 配下を読んでみました。 「Marshal.Copyというものがありアドレスから整数配列を取得することが可能」 ということはわかりましたが、 アドレスから文字列を含む構造体の配列を取得する方法 についてはどうしてもわかりませんでした。 勉強不足で申し訳ございませんが、ヒントをいただけませんでしょうか。
795 名前:デフォルトの名無しさん mailto:sage [2007/08/28(火) 12:44:00 ] >>794 とにかく一通りMSDNライブラリに目を通したほうがいいよ。 >>788 がどういうつもりでああ書いているか知らないが、 恐らくArraysのサンプルが参考になるんじゃない? あるいは、ドトネトのややこしいマーシャリングのルールに縛られるのが嫌なら、 アンマネージコードとの受け渡しは全部バイト配列でやって、Encodingとかその他使って 自分で必要に応じて手動で変換するのも一つの手かもね。
796 名前:デフォルトの名無しさん [2007/08/29(水) 21:56:59 ] 文字列のバイト数返す方法ないですか? "abc123"なら6を、"テストテスト"なら12を、"あ12い"なら6 を返す感じで・・・
797 名前:デフォルトの名無しさん mailto:sage [2007/08/29(水) 22:00:34 ] >>796 君はまず「文字列」の正体を勉強するのが先。 その後ではそういう「うかつ」なことは恥ずかしくていえなくなるだろう
798 名前:デフォルトの名無しさん mailto:sage [2007/08/29(水) 22:01:11 ] どういうやりかたで各文字のバイト数を数えるのかが問題だ
799 名前:デフォルトの名無しさん mailto:sage [2007/08/29(水) 22:05:40 ] >>798 ですよね・・・やっぱり無理か
800 名前:デフォルトの名無しさん mailto:sage [2007/08/29(水) 22:09:49 ] >>797 知らないならすっこんでろ糞虫(笑)
801 名前:デフォルトの名無しさん mailto:sage [2007/08/29(水) 22:11:50 ] string str = "シフトJISでは何byte?"; Encoding sjisEnc = Encoding.GetEncoding("Shift_JIS"); int num = sjisEnc.GetByteCount(str); Console.WriteLine(num);
802 名前:796 mailto:sage [2007/08/29(水) 22:16:51 ] >>801 即レスありがとうございます!助かりました!! ↑のレスは自分ぽいけど偽者です・・・ >>797 恥ずかしい奴、未だにC言語シコシコ組んでる人?
803 名前:デフォルトの名無しさん mailto:sage [2007/08/29(水) 22:17:54 ] 夏だなあ
804 名前:デフォルトの名無しさん mailto:sage [2007/08/29(水) 22:20:06 ] >>802 本気で言ってるのか? 801がほのめかしているように、今時文字列のエンコーディングはANSI(S-JIS) とは限らない。 まあ、こういう「幸せな馬鹿」に言っても通じないかな。
805 名前:デフォルトの名無しさん mailto:sage [2007/08/29(水) 22:24:13 ] 夏だなあ
806 名前:デフォルトの名無しさん mailto:sage [2007/08/29(水) 22:26:20 ] 少なくとも>>796 の "abc123"なら6を、"テストテスト"なら12を、"あ12い"なら6 を見る限りにおいてはS-JISとみなしても正解だわな
807 名前:デフォルトの名無しさん mailto:sage [2007/08/29(水) 22:35:42 ] 「文字のエンコード」という概念を796が知っていれば、 当然Encodingクラスについても知っているか、知らなくても容易に発見しているはずで、 それならばそもそも796のような質問は発しないだろう。 質問の文面や受け答えから見て、どうみても旧VBプログラマにありがちな、 理解しもせずサンプルをコピペして使うタイプの「お馬鹿さん」だろう796は。
808 名前:デフォルトの名無しさん mailto:sage [2007/08/29(水) 22:46:38 ] さしずめ>>797 はそのお馬鹿さんの揚げ足を取って優越感を感じるタイプのカスかw
809 名前:デフォルトの名無しさん mailto:sage [2007/08/29(水) 22:47:38 ] >>807 >「文字のエンコード」という概念を796が知っていれば、 >当然Encodingクラスについても知っているか、知らなくても容易に発見しているはずで、 おまえニュータイプかよおまえニュータイプかよ(ふかわ風に)
810 名前:デフォルトの名無しさん [2007/08/29(水) 23:06:28 ] 完全ド素人質問なんですけど、ラベルをキーボードの左を押したら左に自動で移動していって それを左右上下できて、画面の端にいったら、反対側からでてくるようにするにはどうやったらいいんでしょうか? サンプルソース等あればお願いします
811 名前:デフォルトの名無しさん mailto:sage [2007/08/29(水) 23:39:37 ] 完全ド素人スパゲッターなんですが うまくソースを絡めるにはどうすればいいんでしょう? ビニール樹脂製のサンプルなどがあれば、すごく…欲しいです
812 名前:デフォルトの名無しさん mailto:sage [2007/08/30(木) 02:03:32 ] >>810 左を押したらなどはフォームのキーダウンイベントで取得 ラベルの移動はleftやtopをいじくる。 反対側から出てきるようにするにはleftとwidth、topとheightとか。 っていうかそれvbでやることなのか。 >>811 巷のプログラマーの間では 難しいプログラムをつくろうとすればするほどソースは絡みつく と言われている。
813 名前:デフォルトの名無しさん [2007/08/30(木) 02:13:56 ] >>812 学校の課題です もうずっとやってるのにできない・・・ もうあきらめてアホみたいな量の追加課題をやるか
814 名前:デフォルトの名無しさん mailto:sage [2007/08/30(木) 10:03:22 ] >>813 俺も勉強中の身なんで微妙だけど、こんなんでどうよ。 Private Sub MyBase_Down(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown Select Case e.KeyCode Case Keys.Left If Label1.Left < -Label1.Width Then Label1.Left = Me.Size.Width End If Label1.Left = Label1.Left - 1 Case Keys.Right If Label1.Left > Me.Width Then Label1.Left = -Label1.Width End If Label1.Left = Label1.Left + 1 Case Keys.Up ' 処理 Case Keys.Down ' 処理 End Select End Sub 上と下も同じような考えでおkなはず。
815 名前:814 mailto:sage [2007/08/30(木) 10:11:24 ] 追記。 これだと見えなくなってから出てくるまでに時間がかかるから、Ifの条件を弄った方がいいかも。
816 名前:デフォルトの名無しさん mailto:sage [2007/08/30(木) 10:48:29 ] とりあえずラベルを2つ使え。 そーすりゃあとは楽勝だと思うが。
817 名前:デフォルトの名無しさん mailto:sage [2007/08/30(木) 13:50:23 ] 日本語でうまく説明できないやつは ソースも糞な傾向が多い。
818 名前:デフォルトの名無しさん mailto:sage [2007/08/30(木) 14:10:18 ] まずは日本語を勉強したまえ
819 名前:デフォルトの名無しさん [2007/08/30(木) 15:09:53 ] まずVBの本を読め
820 名前:デフォルトの名無しさん mailto:sage [2007/08/30(木) 17:42:41 ] >>810 それほんとにラベルを使わないといけないの? どう考えてもGraphics使って自前で描画するべき
821 名前:デフォルトの名無しさん mailto:sage [2007/08/30(木) 18:31:29 ] >>820 宿題を課したやつも素人なんだろw Labelをキーで動かすことを学んで何の得になるんだろうなw
822 名前:デフォルトの名無しさん mailto:sage [2007/08/30(木) 18:43:21 ] 初学者にWinフォームの基本(例えばフォーカスを失うとキーイベントは発生しない、 クライアント座標の座標系はデカルト座標ではない、とか)を体感させるには 悪くない課題だと思うけどね俺は。 というか、たかが文字列一つ動かすために自前で描画しろ、っていう奴は 恐らく自分でそんなことやったことがないんだろうねw 「ちゃんと」やろうと思ったら意外と面倒だよ。 例えばフォームにコントロールが配置してあったらどうするの? 描画するものが他にあったら、表示のプライオリティや移動した際の再描画は どうするの? 他の描画の処理が仮に重いものだったとしたら? 無効化する領域を指定しても完全には解決できない場合があるぞ。
823 名前:デフォルトの名無しさん mailto:sage [2007/08/30(木) 20:35:55 ] 今、マウスの移動できる範囲を制限するのをつくっているんですが Windows.Forms.Cursor.Clip = New Rectangle(0, 0, 300, 300) などとしているんですが、これだとほかの窓をアクティブにしたりすると 制限が解除されてしまいます。 何かいい方法はないでしょうか?
824 名前:デフォルトの名無しさん mailto:sage [2007/08/30(木) 21:19:48 ] そんな「悪意のあるソフト」ぐらい自力で作れよアホかw
825 名前:デフォルトの名無しさん mailto:sage [2007/08/30(木) 21:53:43 ] 悪意って言いたいだけだろハゲ そのものズバリのWin32apiが公開されてんだろ低能
826 名前:デフォルトの名無しさん mailto:sage [2007/08/30(木) 22:39:59 ] ClipCursorってのを使ってみたのですが やはり解除されてしまうみたいです。
827 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 09:47:18 ] >>822 そこまで考えた課題には見えないし、より深く考えるならそれこそラベルなんぞを動かそうという発想自体がナンセンスになる。 多分スレ違いなんだよな、ここの住人は「素人」や「初心者」に過剰反応するから、優しい人が初心者スレでもつくってあげればいい。 叩きや煽りにいちいち反応してたら、ここのスレ見てらんないぜ?
828 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 12:44:37 ] >ラベルなんぞを動かそうという発想自体がナンセンスになる だからラベルを動かすのは目的じゃなく手段でしょ。 何のための? 学習のためのだよ。 どうでもいいけど話の文脈(今何を話しているか?)を忘れるのは頭の悪い証拠だよ。 学校の課題として不適切、って寝ぼけたことを言う奴がいたから 必ずしもそうでもないだろって話をしてるんだけど。
829 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 13:09:11 ] >>828 >叩きや煽りにいちいち反応してたら、ここのスレ見てらんないぜ?
830 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 13:16:12 ] >>828 >学校の課題として不適切、って寝ぼけたことを言う奴がいたから >必ずしもそうでもないだろって話をしてるんだけど。 質問スレで質問と関係ない話しないでくれる(^ω^;)?
831 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 14:16:04 ] >>828 なんの話だよw 帰れ
832 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 15:48:39 ] 名前付パイプを使った通信をしております。 ttp://support.microsoft.com/default.aspx?scid=kb;ja;165942 等を参考にして以下の通り作成いたしました。 Private Declare Function WriteFile Lib "kernel32" ( _ ByVal hFile As Integer, _ ByVal lpBuffer As String, _ ByVal nNumberOfBytesToWrite As Integer, _ ByVal lpNumberOfBytesWritten As Integer, _ ByVal lpOverlapped As Integer _ ) As Integer Dim bool As Integer Dim pipe As Integer Dim size As Integer pipe = CreateFile("\\.\pipe\mypipe", &H40000000, 0, 0, 4, &H80, 0) bool = WriteFile(pipe, "ABC", 4, Size, 0) 以上を実行すると、受信側で"ABC"と4を取得し通信自体は成功はするのですが、 同時に送信側でエラーが発生してしまいます。 System.NullReferenceException: オブジェクト参照がオブジェクト インスタンスに設定されていません。 at abc.AbcvMain.WriteFile(Int32 hFile, String& lpBuffer, Int32 nNumberOfBytesToWrite, Int32 lpNumberOfBytesWritten, Int32 lpOverlapped) WriteFileのどこに問題がありますでしょうか。 どんな些細な点でもかまいませんのでご指摘下さい。
833 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 15:53:40 ] >>832 試してないが、 >ByVal lpNumberOfBytesWritten As Integer, _ これ API が書き戻すんだから ByRef じゃね?
834 名前:832 mailto:sage [2007/08/31(金) 15:56:22 ] >>833 なんておマヌケorz エラーが出なくなりました! ご指摘ありがとうございました。
835 名前:デフォルトの名無しさん [2007/08/31(金) 17:31:11 ] 自作クラスのString型プロパティを多言語対応させるには?
836 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 17:36:27 ] >>835 頑張れ★
837 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 18:36:52 ] >>835 イミワカンネ
838 名前:デフォルトの名無しさん [2007/08/31(金) 20:06:35 ] このスレ糸冬
839 名前:832 mailto:sage [2007/08/31(金) 20:23:46 ] 申し訳ありません。もう一つ疑問についてお教え下さい。 WriteFileEx()を用いて非同期の書き込み(読み出し)をしたいと思っております。 WriteFileEx()には関数のアドレスが必要なのですが、 それを得る方法がどうしてもわかりません。 ttp://dobon.net/vb/bbs/log3-8/4379.html にも同様の質問があったため、上記ページ等を参考にして 以下のように作成いたしました。 --- Delegate Sub SampleDelegate() Public Class sampleClass Public Sub Method() MsgBox("Method") End Sub End Class Private Declare Function WriteFileEx Lib "kernel32" (ByVal hFile As Integer, ByVal lpBuffer As String, ByVal lpNumberOfBytesWritten As Integer, ByVal lpOverlapped As Integer, ByVal lpCompletionRoutine As SampleDelegate) As Integer Dim instance As New SampleClass ' こちらは成功する ' bool = WriteFile(pipe, "ABCDEFG", 8, size, 0) bool = WriteFileEx(pipe, "ABCDEFG", 8, 0, AddressOf instance.Method) --- 実行しますとWriteFileExでSystem.NullReferenceExceptionが発生いたします。 これはDelegateの扱い方が悪いのでしょうか? それとももっと根本的なことが間違っているのでしょうか? 大変恐れ入りますがお教え下さい。
840 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 20:46:33 ] >>839 根本的に間違ってるね。 そもそも非同期とはどういう意味なのか、理解してないんじゃないの? あるいは自動変数のスコープの概念を知らないのかな。 メソッドの中で作った'instance'への参照はメソッド抜けるとなくなる。 そこはOK? ドトネドにはガベージコレクターというものがあって……という話は理解してる?
841 名前:832 mailto:sage [2007/08/31(金) 21:19:25 ] >>840 レスありがとうございます。 C言語レベルでしたらスコープ等は理解しております VC++の非同期は多少は・・・知っているつもりです ガベージコレクションがあることは初めて知りました。 ところで、メンバ変数/クラス変数として以下を宣言してみても同様のエラーでした。 Dim instance As New SampleClass Dim m_address As SampleDelegate = AddressOf instance.Method 恐れ入りますが、他にポカがありましたらご指摘いただければと思います。
842 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 21:54:49 ] コールバックされるメソッドのシグネチャも合ってないよね。
843 名前:832 mailto:sage [2007/08/31(金) 23:29:29 ] >>842 レスありがとうございます。 VC++のように決まった形があるのかな、と意味も分からずに Delegate Sub SampleDelegate(ByVal sender As System.Object, ByVal e As System.EventArgs) Public Class SampleClass Public Sub Method(ByVal sender As System.Object, ByVal e As System.EventArgs) MsgBox("Method") End Sub End Class としてみたところ、 System.Runtime.InteropServices.MarshalDirectiveException: parameter #2 を集成できません。このクラスの型の定義にレイアウト情報がありません。 とエラーが変わりました。 この点調べてみたいと思います。
844 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 23:35:54 ] ADO.netでOracleに接続する場合、ConnectStringって何を渡せばいいんですか? ネットで検索しても伏字になっているところに具体的に何が入るのかわからなくて困っています。
845 名前:デフォルトの名無しさん [2007/08/31(金) 23:53:33 ] ListViewコントロールをArrayListにつっこんだんですけど、 そのつっこんだListViewのイベントって、どうやったらとれるのでしょうか? Dim lvwFile As ListView = New ListView arrLvwFile.Add(lvwFile) arrLvwFile(arrLvwFile.Count - 1).View = View.Details のばあいの、Listview1.mousedown とかほしいのでうs。
846 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 23:57:09 ] Listview1 ってなんだよ唐突に出てきたけど とれるとかほしいとか意味がわからん
847 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 00:01:19 ] コントロール配列の場合は、 arrLvwFile(0) = New ListView arrLvwFile(0).View = View.Details AddHandler arrLvwFile(0).MouseDown, AddressOf test でarrLvwFile(0)のMouseDownイベントでtest関数が呼べたのですが、 ArrayListに入れた場合がわからないのです。。
848 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 00:12:00 ] AddHandler は遅延バインディングには無理なんだっけ キャストすればいいだろ
849 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 00:13:35 ] >>844 データソースとかの名前をどこから引っ張ってくるかという話しなら 以下のあたり見ておけばいいと思うけど。 ttp://otndnld.oracle.co.jp/document/products/oracle10g/102/doc_cd/win.102/B31247-01/featConnecting.htm
850 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 00:29:31 ] >>848 AddHandler DirectCast(arrLvwFile(arrLvwFile.Count - 1), ListView).MouseDown, AddressOf test でできました!感動のあまりちんこの先がぬれました ありがとうございます。
851 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 01:10:07 ] >>843 その調子じゃ、言っては悪いが調べても無駄そうだな。 >Public Sub Method(ByVal sender As System.Object, ByVal e As System.EventArgs) こんなシグネチャがいったいどこから出てくるの? アンマネージからコールバックされるのに、こんなドトネトのマネージコードの イベントと同じシグネチャって変だとは思わないか? WriteFileEx なんてドトネトが影も形もないころに仕様が決められたAPIでしょ。
852 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 02:02:58 ] >>844 基本的にはオラクル接続に必要な USER PASSWORD SID をわたせばおk。
853 名前:デフォルトの名無しさん [2007/09/01(土) 02:16:47 ] どなたか Gilma (=ILMerge のGUIツール) および ILMerge を使ってる方が 居たら教えてください。 このユーティリティでは DLL がたくさんある場合のマージは難しいでしょうか? 比較的少なめの個数の DLL (数個程度) 使用では問題なくマージできるのを 確認していたんですが、10個ぐらい DLL が必要なものでやったところMerge が 最後まで行かず、 Done のメッセージが出ないまま、エラーのメッセージも出ずに 終了してました。結果として目的の Exe ファイルも作成されていませんでした。 最後の DLL のところで、Read successfully にはなっているのですが、その後の 2行目のメッセージが出ずに Log が終わっていました。そこで何かエラーしている のかもしれないんですが、問題がなんなのかわかりませんでした。 もし似たようなことになったとき何か対策して解決されていた方いらっしゃったら 教えていただきたく。何卒よろしくお願いします。
854 名前:853 [2007/09/01(土) 02:19:49 ] (追記) >>853 ですが、コマンドラインのテキストは、 DLL が少ない場合のときと同様 に規則通りできているようでした。 DLL マージ前の状態での動作確認は一応OKで、DLLが無くて動作しない、 という状況ではありませんでした。
855 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 02:31:56 ] なんでそんなにDLLって嫌われるんだろうね
856 名前:832 mailto:sage [2007/09/01(土) 03:27:10 ] >>851 レスありがとうございます。 恥ずかしながらアンマネージやらマネージやらは初めて聞きました。 色々調べてみます。 #Unix選手がゲイツを何も知らずにいきなり.NETってのはかなり無謀ですね・・・
857 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 04:20:06 ] つーかUnix使ってたらCつながりでC#に行かないか普通? まあ仕事なら仕方ないがチーン
858 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 07:58:15 ] >>852 SIDは違うんじゃね。
859 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 09:43:39 ] tnsnameだね。sid渡すのはjdbcだね
860 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 09:59:08 ] >>849 >>852 >>858 >>859 ありがとうございます。 でもどのページを見ても 「データベースに接続したことはあるけど細かい設定があいまいな人」用って感じで データベースに接続するのがまったく初めてで独学の人には難しいんですよ。 Common SQL Environment ってソフトでは ユーザーIDとパスワードと接続文字列ってやつを渡すと繋がりますが、 ConnectStringにはこの接続文字列ってのは渡さなくてもいいんですか?
861 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 10:02:43 ] 初心者で独学で、なぜにoracle
862 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 11:05:42 ] >>856 参考になるかどうか解らんが↓ コールバック関数の実装 msdn.microsoft.com/library/ja/cpguide/html/cpconusingcallbackfunctions.asp?frame=true
863 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 11:09:11 ] すいません。一つ質問させてください。 VB2005でテキストボックスに入力されている文字が 10進数か判断するにはどうすればいいでしょうか? IsDigitは1文字しか調べられないようだし IsNumericは数字以外もTrue扱いだし・・・
864 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 11:13:30 ] 一文字ずつIsDigitとか まあ正規表現使った方が手っ取り早いけど でもいわゆる全角の数字とか考えてるのかな
865 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 11:14:16 ] >>863 文字と数値の判別なら、あげた関数等を駆使すれば可能だろう。 だが、10進数かどうかを判別するのは不可能。
866 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 11:40:27 ] プレフィクスのついてない数字を10進判定なんてできないだろ常識的に考えて……
867 名前:863 mailto:sage [2007/09/01(土) 12:02:45 ] お答えをいただきありがとうございました。 やっぱりあの2つでは駄目なんですね・・・ ただ言われたとおり正規表現使えば出来そうですので そっちを使ってロジック組むようにしてみます。
868 名前:デフォルトの名無しさん [2007/09/01(土) 12:28:41 ] すんません、 vb.net2005で MIDI音源で音を出したいのですが やり方が全くワカリマセン。 例えば ドのボタンを押したらドがなるなどということです。 使用するクラスとか、関数とかなんでもいいので教えてもらえないでしょうか。 また、別途ツール等が必要ならその情報でもいいです。オネガイシマス
869 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 12:31:40 ] ttp://www.google.co.jp/
870 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 12:39:27 ] >>860 まずプログラムからじゃなく、 SQLPLUSとかで接続してみなよ。 で接続できるか確認しましょう。
871 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 13:03:03 ] >>870 いえ、CSEなどでは接続成功しています。 ただADO.NETのConnectStringに渡す文字列がわからない状態です。
872 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 13:40:22 ] オラクルのクライアントが入ってるんならでダメかな? Dim hoge As Oracle.DataAccess.ClientOracleConnection Dim str as String '接続文字列 str = "User Id=" & ユーザー名 & ";Password=" & パスワード & ";Data Source=" & サービス名 hoge = New OracleConnection(str) hoge.Open()
873 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 13:42:02 ] >>871 ツールボックスからフォームにOracleConnectionを貼り付けて、 プロパティのConnectionStringで<新しい接続>を選択すると簡単だよ。 OracleConnectionがないときは、ツールボックス アイテムの選択で追加してね。 名前空間がSystem.Data.OracleClientのを使ってね。
874 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 16:42:21 ] >>872-873 ありがとうございます。 無事接続できました。
875 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 21:40:01 ] VB2005です。 自分の実行ファイルのディレクトリをコードで取得するコードをお願いします。 VBAのThisWorkbook.Pathみたいな感じ。
876 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 21:54:17 ] 自己解決じました
877 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 01:02:42 ] >>189 使う。 でもVBのライブラリ参照したらその機能あった気がするのでそっちのがいいかな?
878 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 01:03:27 ] まちかえたよ?
879 名前:デフォルトの名無しさん [2007/09/02(日) 15:00:26 ] If System.IO.File.Exists(filename) = False Then System.IO.File.Create(filename) Dim sw As New System.IO.StreamWriter( _ filename, _ False, _ System.Text.Encoding.GetEncoding(932)) sw.WriteLine(”あいうえお”) sw.WriteLine() sw.Close() End If こんなコード書きました filenameにはフォルダパス付きファイル名が入ります ファイル作った後sw をnewする時点で 他のプロセスが使用中というメッセージが出て書き込めません。 使用できる状態にするにはどんなコードを追加すればいいですか?
880 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 15:07:39 ] File.Create しらべれ
881 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 15:18:37 ] 解決しました。
882 名前:デフォルトの名無しさん [2007/09/02(日) 23:59:31 ] エンコードで質問です。 System.Web.HttpUtility.UrlEncodeを使ってURLエンコードをしたいのですが UTF-8のタイプでエンコードされています。 EUC-JPのタイプでエンコードしたいのですが、うまくいきません System.Text.Encoding.GetEncoding("EUC-JP")こうしてバイト配列にしてもダメでした どうやればいいのでしょうか?
883 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 00:06:36 ] >>882 URLエンコードなんてやったこともなかったが、ググったら30秒で答え見つかったぞ。 www.atmarkit.co.jp/fdotnet/dotnettips/212urlencode/urlencode.html
884 名前:882 mailto:sage [2007/09/03(月) 00:56:07 ] 自己解決しました。 エンコード方法を指定できたのですね・・・
885 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 02:11:06 ] お前は聞いといて回答を見てないのかw
886 名前:デフォルトの名無しさん [2007/09/03(月) 15:42:38 ] ExplorerがWindowsから受け取っているような、 Folder内の内容が変わったことを知らせるメッセージを受け取る方法 はあるでしょうか。 数秒おきに監視するという仕組みを導入すると ファイルがたくさん存在する場合、時間がかかってCPUの占有率が100% から落ちて来ず、困るのでした。 Explorerの場合、直接コピペしたりD&Dしたりした場合でなくても、 他で変化させたファイルやフォルダーが1秒程度で反映しており、 また常時監視もしていないことがわかりました。 これはたぶんWindowsからのメッセージを受け取っていて実現できている ものと想像したのでした、これと同じメッセージかなにかを別のアプリケーション で受け取ることは可能でしょうか?何かアドバイスを戴ければありがたく。
887 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 15:47:04 ] >>886 FileSystemWatcher
888 名前:886 [2007/09/03(月) 15:54:01 ] >>887 おお。存在したのですね!助かりました!! さっそくのご指導、大変ありがとうございました!!
889 名前:デフォルトの名無しさん [2007/09/03(月) 18:54:47 ] MSチャートコントロールについて質問です。 棒グラフに表示する値が100万以上の時、棒グラフにはきちんと「1000000」と表示されるのですが、 Y軸の値が「1e+006」みたいに表示されてしまいます。「1e+006」ではなく「1000000」のように表示させる事は可能でしょうか? 可能ならばどのようにするのかご教授お願いします。