1 名前:デフォルトの名無しさん mailto:sage [2009/05/17(日) 10:00:19 ] 前スレ VB.NET質問スレ(Part29) pc12.2ch.net/test/read.cgi/tech/1235206416/l50 テンプレは>>2 〜
82 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 12:30:19 ] ┏┓ ┃┃ ┃┃ こういう形のボタンを作るのがベストなんだろうけど ┃┗┓ それは茨の道なので、「.net ボタン Zオーダー」あたりで ┃ ┃ 検索するよろし。 ┃ ┃ ┃ ┃ ┗━┛
83 名前:965 mailto:sage [2009/05/29(金) 14:22:01 ] >>82 レスありがとうございます!! 勉強になります。参考にさせていただきます!!
84 名前:83 mailto:sage [2009/05/29(金) 14:23:20 ] ↑名前が965になっていますが、間違いですのでスルーしてください。 連レスすみません。
85 名前:デフォルトの名無しさん [2009/05/29(金) 19:27:56 ] ボタンの形変えるくらいなら鍵盤の画像貼り付けて Clickイベントでどれが押されたか座標で判定する方が早くて綺麗
86 名前:83 mailto:sage [2009/05/29(金) 20:05:47 ] >>85 レスありがとうございます! その方法は思いつきもしませんでした・・・。 試してみます!ありがとうございます!!
87 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 20:46:31 ] >>85 その場合「鍵盤が押された」表現はどうするのかな?
88 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 20:52:06 ] 「鍵盤が押された」画像に切り替えれば
89 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 21:02:05 ] でも白鍵と黒鍵の組み合わせ考えると相当なパターン 用意しないといけない (まあマウスでクリックだから複数鍵同時打鍵考えなくて いいのは救いだが)
90 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 21:11:30 ] 押された鍵盤の画像だけ切り替えれば
91 名前:83 mailto:sage [2009/05/29(金) 21:12:24 ] >>87-89 レスありがとうございます。 鍵盤が押された画像ですが、かなり用意しなければなりませんので確かに大変かもしれません。 言い忘れていましたが、マウス、キーボードどちらの入力も可能にしています。 マウスは複数同時に押すことはできませんが、キーボードからですと複数同時が可能となっています。 てんやわんやです。
92 名前:デフォルトの名無しさん [2009/05/29(金) 21:33:02 ] 鍵ごとに画像を分けてDrawImage 4つの鍵の形とそれぞれ押された状態で全部で8枚あれば足りる
93 名前:デフォルトの名無しさん mailto:sage [2009/05/30(土) 14:26:38 ] 時間を利用した暗号を作成するソフトを考えてるのですが Timestringで時間を取得すると「00:00:00」という風になります これを数字として認識できるように「000000」という風に区切り無しにする方法はあるでしょうか? もしくは「00100100」という風に置き換えるという方法でもいいです
94 名前:デフォルトの名無しさん [2009/05/30(土) 15:39:45 ] そもそもスタートから間違ってる DateTime.Now.Ticks使えばいい
95 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 00:02:14 ] 時間を利用した暗号ってなんだよ… どういうものでどういう用途か知らんが 多分そういうのは暗号とは言わない方がいい。
96 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 01:30:48 ] ワンタイムパスワードなんてもあるけどね
97 名前:デフォルトの名無しさん [2009/05/31(日) 10:57:06 ] 開発環境 OS:WindowsXP ProSP3 Ver:Visual Basic .net 2002 実行環境 OS:WindowsXP ProSP3/HomeSP3 .NET Framework:1.070 フリーソフトを作ろうと思っています。 データベースについては、今はスタンドアローンでSQLServerとつないで動作確認をしているのですが、 配布する際に「クライアント側でもデータベースを入れてくれ!」というわけにはいかないので、 代替できるものを探しています。 ソースコード内部のSQLは極力変更したくないので、テキストファイルなどでの代替ではしたくないのですが、 可能でしょうか? 以上、よろしくお願いいたします。
98 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 13:51:32 ] >>97 .NET Framework:1.070で使えるかしらないけど、SQLite
99 名前:97 mailto:sage [2009/05/31(日) 20:37:09 ] >>98 やってみます。ありがとうございます。
100 名前:デフォルトの名無しさん [2009/05/31(日) 20:41:57 ] 2008Express使えばいいのに 無料でもさすがに2002よりはマシだろ
101 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 20:47:49 ] >>100 配信終了してたはず
102 名前:デフォルトの名無しさん [2009/05/31(日) 20:50:10 ] 終了したのは2005 2008は普通にダウンロードできる
103 名前:デフォルトの名無しさん [2009/05/31(日) 23:25:11 ] 初心者です。どうか教えてください。 新規登録をしたい場合、データベースにコンボボックスを通じて登録したいのですが このままではコンボボックスに表示させるだけでとまってしまいます。 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load dim cnn as adodb.connection dim rs as adodb.recordset 〜データベース接続〜 dim personalinfo as string With Me.ComboBox1.Items .Add(New PersonalInfo(1, "aaa")) .Add(New PersonalInfo(2, "bbb")) .Add(New PersonalInfo(3, "ccc")) End With End Sub ここまでで表示をすることは可能なのですが、以下から Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged dim sql as string sql = "SELECT FROM *~~~"と仮にすると ?????? End Sub ここからコンボボックスとデータベースを繋ぎ、登録ボタン押すとデータベース に追加できるようにしたいのですが、繋ぐためのコードがよくわかりません。 ttp://hpcgi1.nifty.com/MADIA/VBBBS/wwwlng.cgi?print+200312/03120132.txt こちらを参考にしたのですがどう繋げたらいいかわかりませんでした。お願いします。
104 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 23:48:37 ] なんか変だな。 とりあえず、INSERT 文でも投げれ。
105 名前:デフォルトの名無しさん [2009/06/01(月) 00:02:13 ] ありがとうございます。 例えばこの部分で、 Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged dim sql as string sql = "INSERT INTO ****" & _ " VALUE '" + combobox1 + "' ;" End Sub とすることでしょうか?
106 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 00:14:29 ] やってみればいいじゃん。 それから、マルチポストは止めような。
107 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 00:18:22 ] たぶん自作のソースがタコなんだと思うんですが、4コア環境にするとこけます。 デバッグしても原因が見つからず、暫定的にプログラム側で使用コア数を制限したいのですが、 そのようなオプションはご存じないでしょうか? assemblyの中に書くのかとは思うのですが見つけられず。 あと、外部接続するのですが、WindowsFWの初回警告を出させる方法ご存じありませんか? どうぞよろしくお願いします。
108 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 00:20:53 ] ありがとうございます。 気をつけます。あせっていたもので気にせず投稿していました。すみません。
109 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 00:21:50 ] >>107 とりあえず、SetProcessAffinityMask() とか?
110 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 02:03:53 ] <DllImport("kernel32.dll", CharSet:=CharSet.Auto, SetLastError:=True)> _ Public Function SetProcessAffinityMask(ByVal handle As IntPtr, ByVal mask As UIntPtr) As Boolean End Function sub a() Dim vHandle As IntPtr vHandle = Process.GetCurrentProcess().Handle SetProcessAffinityMask(vHandle, New UIntPtr(&H1)) end sub で解決しました。ありがとうございました。
111 名前:デフォルトの名無しさん mailto:sage [2009/06/02(火) 19:50:56 ] 初歩的な質問ですいません win32APIと.netはまったく別ものなのですか?win32api上に.netが載っていると思っていたのですが ttp://www.atmarkit.co.jp/fdotnet/easyvs/easyvs01/easyvs01_01.htmlを見ました。 また、最近のVisual studioは.net上で動いているのですか_
112 名前:デフォルトの名無しさん [2009/06/02(火) 20:13:39 ] .NETのGUIはWin32APIに皮を被せたもの Win32APIネイティブのコントロールを使わない新しいGUIフレームワーク(WPF)も使える VisualStudio自体は.NETアプリじゃないけど.NETに激しく依存してて.NETなしでは成り立たない
113 名前:111 mailto:sage [2009/06/02(火) 20:31:23 ] >>112 なるほど〜、わかりやすい説明ありがとうございました
114 名前:デフォルトの名無しさん mailto:sage [2009/06/03(水) 23:52:26 ] 質問させてください VB2008にてSeriaPortを使って通信を行うプログラムを書いています それで、通信中に強制的に通信ケーブルを抜く操作を行うと、通信を停止後、再接続を試みるという処理を行わせたいのですが 通信中に通信ケーブルを引き抜くと、当然通信は止まってくれるのですが、その後、そのポートに接続を行おうとすると 「ポートにアクセスできません」といex.messageを受信してしまいます。 再び接続をするには、ソフト自体を立ち上げなおさないといけません これをソフト上の処理で、再説z区できるようにしたいのですがどうすればよいと思われますか?
115 名前:デフォルトの名無しさん [2009/06/03(水) 23:54:15 ] Hairetu(100,100) Hairetu(100)() の違いって・・・? 多次元配列?二次元配列?頭がこんがらがりそう
116 名前:デフォルトの名無しさん mailto:sage [2009/06/04(木) 00:03:25 ] >>114 開きっぱなしになってるんだろうね。 具体的にどういう方法で通信をやってるの?
117 名前:114 mailto:sage [2009/06/04(木) 00:20:45 ] >>116 どういう方法と言いますと? 通信方法はこちらからコマンドを送って、相手の汎用機器から返信をもらう形です。 接続処理は普通に.open()と.close()です。 この場合、強制的にケーブルを外すので、close処理が行われないことになりますが。 それで再度openを行っても、おっしゃられるとおり、開きっぱなしになってるんだと思います。 よく分からなかったんですが、意味合い的にポートの開放(Dispose)とかやってみたんですが、これもアクセスが拒否されてしまいました
118 名前:デフォルトの名無しさん mailto:sage [2009/06/04(木) 19:14:28 ] コントロールをダブルクリックしたときに自動生成されるコードを、 VB6のようにアルファベット順で出来るようにすることは出来ますか?
119 名前:デフォルトの名無しさん mailto:sage [2009/06/05(金) 10:58:58 ] >>115 前者は、宣言した時点で 101×101 の固定サイズの配列ができ、そのすべてについて いつでもアクセスできる。 0 1 2 100 0 ■■■...■■ 1 ■■■...■■ : 100 ■■■...■■ 後者は、宣言しただけでは「可変サイズの配列」の、101 の配列ができるのみ。 実際にアクセスする前に For i As Integer = 0 To 100 Redim Hairetu(i)(100) Next i などとしないといけないが、使用しない部分は Redim しなくてよかったり、 最初の添字が変わるごとにサイズを変えたりもできる。 0 1 2 100 0 ■■■...■■ (Hairetu(0) は 0〜100) 1 (Hairetu(1) は Nothing) 2 ■■■ (Hairetu(2) は 0〜2) : 100 ■■■...■ (Hairetu(100) は 0〜99) でもメリットはメモリの節約くらい。 (速度にも影響するかもだが)
120 名前:デフォルトの名無しさん mailto:sage [2009/06/05(金) 18:01:41 ] >>119 > でもメリットはメモリの節約くらい。 Array の各種メソッドが使えるってメリットは大きい むしろ多次元配列こそメリットがないと思うね
121 名前:デフォルトの名無しさん [2009/06/05(金) 20:35:19 ] ジャグ配列(後者)の方が大分速い いろいろ多次元配列は冷遇されてるからそのうち公式に非推奨になるかもね
122 名前:デフォルトの名無しさん mailto:sage [2009/06/05(金) 20:47:28 ] 探しても見つからないので、教えてください。 VB.netでクラスの敬称などを使用していて、日本語でコメントしてあり、大規模である。 という条件を満たしているものをご存知でしたら、教えてください
123 名前:デフォルトの名無しさん [2009/06/05(金) 20:54:00 ] VB.NETのオープンソースプロジェクト自体ほとんどないから諦めてC#読めるようになるといいよ
124 名前:114 mailto:sage [2009/06/05(金) 22:26:13 ] どなたか分かりませんでしょうか・・・
125 名前:115 mailto:sage [2009/06/05(金) 22:36:22 ] なるほど、そういうことになるんですね 私は前者は、データを格納するためのまんまデータの下駄箱のような配列として使用して 後者は、一時的にSplitなどで連続なデータを格納したいときに使用していました 使い分けてました ちなみに、どちらが多次元配列とジャグ配列は別物なんですか?
126 名前:114 mailto:sage [2009/06/05(金) 22:41:23 ] >>115 多次元配列で二次などの要素数が不定期なものをジャグと
127 名前:デフォルトの名無しさん [2009/06/05(金) 22:55:25 ] メモリの構造が全然違う 多次元配列は連続したメモリ領域 ジャグ配列は配列の配列 .NETでは通常区別する
128 名前:デフォルトの名無しさん mailto:sage [2009/06/06(土) 17:46:02 ] Microsoft AccessのMDBファイルは、普通にAccessを使ってExcelファイルやCSVファイル のデータをインポートしたり、クエリーの結果をExcelファイル形式でエクスポートした りしてますが、Accessを使わずに、VB.NET等から同様のことってできますやろか。
129 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 09:54:00 ] VB.NETで作成したexeを動かすのにランタイムは必要になりますか?
130 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 09:55:33 ] VBランタイムはいらんが再頒布可能パッケージのインストールは必要だな
131 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 09:56:45 ] ありがとうございます。
132 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 13:53:55 ] C++で作ったコードをVB.netに変換してくれるような機能はありますか?
133 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 13:56:59 ] ありません。
134 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 13:57:39 ] そうですか、残念です
135 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 15:40:38 ] VB.NETでちょっと悩んでいるので質問させてください。 ComboBoxでスタイルをDropDownにした時、テキストボックス部を描画しているイベントは何でしょうか? オーナードロウで描画する際DropDownListであればOnPaintで描画したものがそのまま出るのですが、 DropDownのときはOnPaintで描画したものがテキストボックス部の描画で上書きされて隠れてしまいます。 DrawItemは違うみたいで、ちょっと袋小路です・・・。
136 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 22:01:34 ] >>158 【魔力】書き込むと願いが必ず叶うスレ【強力】409 だろ
137 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 20:04:40 ] ↑ちょっと書き込み位置がズレていないか?
138 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 11:08:11 ] 単なる誤爆だろう。なんだ書き込み位置って。
139 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 12:21:52 ] はいっ コモンダイアログのデフォルトパスを 「ネットワーク全体」にしたいのですが、 参考になるサイトがどうにもみつからないんですけど どのようにすればいいんでしょうか?
140 名前:デフォルトの名無しさん mailto:sage [2009/06/11(木) 13:45:57 ] ::{208D2C60-3AEA-1069-A2D7-08002B30309D}\ネットワーク全体
141 名前:、 [2009/06/11(木) 21:27:39 ] VB2008で悩んでます。 exeへパイプでデータを流す処理を考えています。 どんどんデータが流れてくるのでexeはループでデータが来るのを待っているのですが そのことによってexeのほかの処理が動けません。どうすればよいですか?
142 名前:デフォルトの名無しさん mailto:sage [2009/06/11(木) 21:29:35 ] スレッド
143 名前:デフォルトの名無しさん mailto:sage [2009/06/12(金) 10:50:23 ] VB2008を使用しています。 キーボードを押すと音が鳴るプログラムを作成しています。midiOutなどを使ってやっています。 音は出るのですが、うまくいかないことがあります。 例えば、キーボードの"A"を押すと、"ド"の音が出るようにします。それで、Aを押すと、"ド"の音は出るのですが、 長押しですと、ドーー ドドドドドドド…といった風に途中から連続して音が出てしまいます。 きちんと音を伸ばして鳴らしたいので、何か良い方法はありませんでしょうか?
144 名前:デフォルトの名無しさん [2009/06/12(金) 12:17:53 ] KeyDownで鳴らし始めてKeyUpで止めればいいんだろ そういうことができるAPIがあるかは知らんけど
145 名前:デフォルトの名無しさん mailto:sage [2009/06/12(金) 15:46:54 ] Public Enum ScanDirection x = -1 y = 0 z = 1 End Enum 列挙型で宣言した値は計算に使って値を変えていくことは可能でしょうか?
146 名前:デフォルトの名無しさん mailto:sage [2009/06/12(金) 15:52:12 ] 変数使えよ
147 名前:デフォルトの名無しさん mailto:sage [2009/06/12(金) 16:17:50 ] >>146 ありがとうございました
148 名前:デフォルトの名無しさん mailto:sage [2009/06/12(金) 20:29:26 ] >>143 ドーッって、音が鳴り終わるまで、入力されても無視するってすればいいんじゃない? そのためには、音が鳴っている状態を取得しないとだと思うけど。 適当にググったら↓使えそうな気がする 【VB.NET】 MCIで音楽再生 その1 tenjiku.exblog.jp/10395825/ MIDI、MP3などの音楽ファイルを再生する dobon.net/vb/dotnet/programing/playmidifile.html
149 名前:143 mailto:sage [2009/06/13(土) 08:50:35 ] >>144 ありがとうございます。KeyUp,KeyDownは使用しているのですが、うまくいきません。 もう少し試行錯誤してみます。 >>148 その方法があったとは・・・。ですが和音も鳴らしたいので、その方法だと和音が鳴らない気が。 むむむ、もう少し考えてみます。 お二方ともご回答ありがとうございました。
150 名前:デフォルトの名無しさん mailto:sage [2009/06/13(土) 15:15:48 ] >>149 キーイベントを受けたとこで、どのキーがすでに押されているかを判定するってすればどう? 全部のキーイベントを無視するんじゃなくて。 押されていないキーの音は鳴らし、押されているキーの音は何もしない。
151 名前:デフォルトの名無しさん mailto:sage [2009/06/13(土) 17:58:49 ] >>149 MIDIを使用する(VB.Net) homepage1.nifty.com/MADIA/vb/vb_bbs/200411/200411_04110004.html
152 名前:デフォルトの名無しさん mailto:sage [2009/06/13(土) 18:14:57 ] >>151 じゃダメだわ、スマソ
153 名前:デフォルトの名無しさん mailto:sage [2009/06/13(土) 18:19:37 ] ReportViewerコントロール用のレポートファイル( .rdlc )のデザイナでの作成方法について色々解説してあるページとか参考書ってないでしょうか。 レポートウィザードで作れるピボットテーブルをベースに色々と追加したい要素があるんですが、どうやりゃ良いのかいまいちわからない。 一応、やりたいことは今年度のピボットテーブルに前年度の合計とか、前年度比とかの行とか列を追加することです。
154 名前:デフォルトの名無しさん mailto:sage [2009/06/13(土) 22:14:15 ] MIDIってどうやって音出せばいいのか知らんかったけど、これ面白いね。 勉強になるわぁ。
155 名前:デフォルトの名無しさん mailto:sage [2009/06/13(土) 22:59:08 ] >>149 MIDIプログラミング eternalwindows.jp/winmm/midi/midi01.html Windows MIDI プログラム入門 ourworld.compuserve.com/homepages/Satsuki_Kojima/winprog.htm MIDIを鳴らす www13.plala.or.jp/kymats/study/MULTIMEDIA/midiOutShortMsg.html 詳説MIDI規格 www.pluto.dti.ne.jp/~daiki/Midi/Midi.html 自作楽器「MIDIテルミン」の製作:CodeZine: codezine.jp/article/detail/172 MIDI音源の利用 www2.pf-x.net/~shink/api_midi.html VB.NET でMIDIOUTをOPENするには? hpcgi1.nifty.com/MADIA/VBBBS2/wwwlng.cgi?print+200308/03080039.txt 16進数、8進数、2進数の文字列を整数に変換する dobon.net/vb/dotnet/programing/converthex.html
156 名前:デフォルトの名無しさん mailto:sage [2009/06/13(土) 23:44:12 ] コールバック関数による出力デバイスの状態監視 maglog.jp/midi/Article.html&type=1&subtype=194372&page=1 MSDN midiOutOpen msdn.microsoft.com/ja-jp/library/cc410558.aspx デバイスは送られたデータの再生が終わるとコールバック関数にMM_WOM_DONEメッセージ(WOM_DONE)を送ります。
157 名前:デフォルトの名無しさん [2009/06/14(日) 16:50:16 ] ちょっと質問です text1、text2、text3というチェックボックスがあったとして、 For i = 1 To 3 If text[i].Checked = False Then MsgBox("エラー:text" & i) End If Next という風にしたいのですがtext1の1を動的に変えたい場合はどうすればいいのでしょうか?
158 名前:デフォルトの名無しさん mailto:sage [2009/06/14(日) 16:55:46 ] 配列に入れとけ
159 名前:デフォルトの名無しさん mailto:sage [2009/06/14(日) 19:48:26 ] 2002や2003じゃ駄目だがControlsを使うという手もあるかな
160 名前:デフォルトの名無しさん mailto:sage [2009/06/15(月) 09:24:22 ] VB.NETでマルチコア対応のコードって書けます?
161 名前:デフォルトの名無しさん mailto:sage [2009/06/15(月) 13:56:30 ] スレッド使えるだろ
162 名前:デフォルトの名無しさん mailto:sage [2009/06/15(月) 14:36:14 ] 意味分かってないと思われ
163 名前:デフォルトの名無しさん [2009/06/16(火) 12:21:22 ] SQLを実行して、そのデータの表示方法を変えて出力したいのですが、どうすれば良いかわかりません。
164 名前:デフォルトの名無しさん mailto:sage [2009/06/16(火) 12:29:34 ] 0から全部説明しろってか。 せめて SQLDataAdapter や DataSet の使い方くらい入門書で勉強しなさい。
165 名前:デフォルトの名無しさん mailto:sage [2009/06/16(火) 20:09:41 ] >>163 そのまま何回やっても勝手に表示方法が変わったりはしません。 どうすれば良いかと言うと、表示方法を変えるプログラムを作るしかないでしょう。 >>164 たぶんこのレベルの話かと
166 名前:デフォルトの名無しさん [2009/06/16(火) 22:45:40 ] 皆さんにお聴きしたいのですが、よろしいでしょうか。 今、VC6.0とVB2005でイベント処理を書こうとしています。 以下の通り書いているのですが、VB側では一向にハンドルが返って来ず 0のままです。 何かおかしい所は有りますでしょうか。是非お知恵をお貸しください。。。 VC6.0でイベント作成 HANDLE hEvent; hEvent = CreateEvent(NULL, TRUE, FALSE, "EVENT000"); VB2005でイベントオープン 宣言 <DllImport("kernel32.dll")> _ Public Function OpenEvent(ByVal dwDesiredAcess As UInt32, _ ByVal bInheritHandle As Boolean, ByVal lpName As String) As IntPtr End Function 呼出 Dim pt As IntPtr pt = OpenEvent(0, False, "EVENT000")
167 名前:デフォルトの名無しさん mailto:sage [2009/06/16(火) 23:53:21 ] どこにPInvoke使う必要がある。
168 名前:デフォルトの名無しさん mailto:sage [2009/06/17(水) 01:11:12 ] LastError くらい確認しろよ
169 名前:166 [2009/06/17(水) 01:51:36 ] Daclareでやってみても結果は同じでした…。 LastErrorの値は、確認してみます。中途半端ですみません。 これに限らず、VB2005でAPIを使用する時に文字列を渡すと動作がおかしくなる傾向があるんですよね…。 うまく文字列が渡っていないのか、あるいは文字列を渡す時(Daclare等)の設定の他に、プロジェクト単位での設定等が必要になるのでしょうか? 結局、全てのAPIはVB2005で使用可能と考えて良いのでしょうか? 真剣に悩んでおります。。。 もう少しご教授ください。お願いします。
170 名前:デフォルトの名無しさん mailto:sage [2009/06/17(水) 01:53:28 ] つーかなー。A か W かも明示的に指定してないし、マーシャリングも指定してないし、 適当に呼んどいて何言ってんだか、って感じだな。
171 名前:162 [2009/06/17(水) 02:18:35 ] Aliasですよね? AもWも明示して試してみたのですが結果は同じでした…。 Marcialの指定は初耳です。どういう形で指定すれば良いのでしょうか? 分かる方から見れば、適当なだけかも知れませんが、不勉強なのは承知の上です。 すみません。教えて頂けますでしょうか。。。
172 名前:デフォルトの名無しさん [2009/06/17(水) 09:20:45 ] VB2008を独習するのに、おすすめの書籍を教えてください これまでVB6.0のフォームとモジュールだけでやってきて、 クラスとかオブジェクト指向とかはネットで読んで 「なんとなくこんなもんだろうか」程度の認識です
173 名前:デフォルトの名無しさん [2009/06/17(水) 09:29:36 ] オブジェクト指向きっちり勉強したいならjavaでもやれば? VBやC#の本ってその辺の概念はスルーまたはあらかじめ理解してる前提で書かれてるのが多い
174 名前:デフォルトの名無しさん mailto:sage [2009/06/17(水) 09:33:25 ] >>166 >pt = OpenEvent(0, False, "EVENT000") なんでアクセス権に 0 (アクセス権なし) してんだコレ。 Private Const EVENT_ALL_ACCESS As Integer = &H1F0003 pt = OpenEvent(EVENT_ALL_ACCESS, False, "EVENT000") >>167 EventWaitHandle.OpenExisting 使うところだろうけど まあ、どうしてもやってみたかったんだろう。 >>170 この場合は無指定で問題ない。
175 名前:166 [2009/06/17(水) 11:08:28 ] 174さんの言う通り、アクセス権を設定したら取得出来ました。 本当にありがとうございました! >Private Const EVENT_ALL_ACCESS As Integer = &H1F0003 こういうEnumの設定はどこで確認すればよいのでしょうか? MSDN等、どこかに資料があるのでしょうか?
176 名前:デフォルトの名無しさん [2009/06/17(水) 11:15:48 ] win32apiのC言語のヘッダファイル
177 名前:デフォルトの名無しさん mailto:sage [2009/06/17(水) 11:16:23 ] >>4 の「初心者から中級者のためのVB」のリンクきれてますよ
178 名前:デフォルトの名無しさん mailto:sage [2009/06/17(水) 11:25:53 ] >>175 Enum じゃないし。 つか、API 呼び出しするのに API の仕様も確認しないとか… >MSDN等、どこかに資料があるのでしょうか? 何を指定すればいいのかは勿論 MSDN ライブラリ等。 ただ、記号定数が実際にどういう値なのかは ヘッダを覗くしかない。 (探すときは Visual Studio のファイル検索を使うと楽) …ていうかね、>>174 でも書いたけど >>167 の言う通り、API 呼び出し使う意味がないんだったら Dim ev as EventWaitHandle = EventWaitHandle.OpenExisting("EVENT000") とした方がいいと思うんだが。
179 名前:166 [2009/06/17(水) 13:37:01 ] なるほど、そういう事ですね。 もうすこし調査してみます。 本当にありがとうございました。名無しに戻ります。 それでは。
180 名前:172 [2009/06/18(木) 09:27:49 ] >>173 今現在、VB2008を学習しなくてはならない事情がありまして 何かカリスマとかバイブル的な書籍、というのは無いものでしょうか 特に学習しなくても、VB6.0の頃とほぼ同じ作り方ができてしまいますが、 それを払拭して、VB2008ならこう構成した方がよい、こう書くべき、 というセオリーみたいなところを勉強したいです
181 名前:デフォルトの名無しさん [2009/06/18(木) 09:43:07 ] じゃC#勉強すればいいじゃん 自動的にVBも使えるようになるよ VBの本である限りVB的なやり方というのはどうしても出てくる VB2008というか.NET的に1番良いのは「C#と同じように使うこと」
182 名前:デフォルトの名無しさん [2009/06/18(木) 15:08:21 ] VB.NET2005を使ってADOとかADOXを使いMDBファイルを作成するPGをwebにアップされている サンプルを見つつ書いてみたのですが、どうしてもエラーが取れません。 ' 他のフィールドの定義 With cat.Tables(strTable).Columns .Append("商品コード", adWChar, 10) End With のadWCharでエラーになります。この型を認識させるにはどこをいじればいいのでしょうか?