VB.NET質問スレ(Part30)
at TECH
1:デフォルトの名無しさん
09/05/17 10:00:19
前スレ
VB.NET質問スレ(Part29)
スレリンク(tech板)l50
テンプレは>>2〜
2:デフォルトの名無しさん
09/05/17 10:00:43
MSDN
URLリンク(msdn.microsoft.com)
どぼん!のVB道のトップページとTipsページ
URLリンク(dobon.net)
URLリンク(dobon.net)
Insider.NET
URLリンク(www.atmarkit.co.jp)
宇宙仮面の C# プログラミング
URLリンク(uchukamen.com)
.NET TIPS
URLリンク(www.atmarkit.co.jp)
緑のバイク ★ 初めてのC# プログラム全般
URLリンク(homepage3.nifty.com)
VB.NETとC#でデザインパターン
URLリンク(hccweb1.bai.ne.jp)
匣の向こう側
URLリンク(www.ne.jp)
WisdomSoft
URLリンク(wisdom.sakura.ne.jp)
じゃんぬねっと
URLリンク(jeanne.wankuma.com)
どっとねっとふぁん - C# Tips And Samples -
URLリンク(homepage3.nifty.com)
URLリンク(dotnetfan.org)
C#プログラミングTips
URLリンク(www.atmarkit.co.jp)
3:デフォルトの名無しさん
09/05/17 10:01:02
CodeProject
URLリンク(www.codeproject.com)
the GotDotNet Home Page
URLリンク(www.gotdotnet.com)
KEN's .NET
URLリンク(www5b.biglobe.ne.jp)
Cetus Links: 19,498 Links on Objects and Components / .NET
URLリンク(www.cetus-links.org)
HIRO's.NET
URLリンク(vbdotnet.fc2web.com)
@IT:特集 .NET開発者のためのオンライン・リソース・ガイド
URLリンク(www.atmarkit.co.jp)
.NETでいきまっしょい!
URLリンク(santamartadotnet.hp.infoseek.co.jp)
これがほしかった!厳選サンプルツール集
URLリンク(anetm.com)
ぬーやんのdotNET講座
URLリンク(www.geocities.jp)
PINVOKE.NET
URLリンク(www.pinvoke.net)
WinAPI Database for VB Programmer
URLリンク(www.winapi-database.com)
4:デフォルトの名無しさん
09/05/17 10:01:35
Windows Api programming in C# , VB.NET, and VB6. Examples of P/Invoke and DllImport with Source code
URLリンク(custom.programming-in.net)
CodeZine
URLリンク(codezine.jp)
ConvertCSharp2VB
URLリンク(www.kamalpatel.net)
@IT:.NET Tools
URLリンク(www.atmarkit.co.jp)
SharpLibrary Redirector
URLリンク(www.sharplibrary.com)
MSDN アカデミック アライアンス 技術資料
URLリンク(www.microsoft.com)
「300 秒でズバリ !!」&「10 行でズバリ !!」シリーズ
(VS2005) URLリンク(www.microsoft.com)
(VS.NET 2003) URLリンク(www.microsoft.com)
PAPA'n VB
URLリンク(papanvb.i-love-vb.net)
(旧コンテンツ) URLリンク(www.mitene.or.jp)
VB レスキュー花ちゃん
URLリンク(www.bcap.co.jp)
VB中学校
URLリンク(homepage1.nifty.com)
初心者から中級者のためのVB
URLリンク(www7b.biglobe.ne.jp)
5:デフォルトの名無しさん
09/05/17 10:43:43
お久しブリーフ
>1 乙
6:デフォルトの名無しさん
09/05/17 11:53:23
皆さん配列はどう書いてますか?
Dim array(100) As String
Dim i As Integer = 0
Do Until i = 10
array(i) = Str(i)
Loop
こんな感じで書くと配列の要素数が100に固定されてしまうので、イメージとしては
Dim array() as string
として、iの値が変化するものとし、iの数だけ配列に要素を追加したいと思っています。
Redim Preserveで動的に配列が作れるようですが処理が重いようなので、もっと効率よく動的な配列を作れないかと思っています。
7:デフォルトの名無しさん
09/05/17 12:00:34
失礼
Dim array(100) As String
Dim i As Integer = 10
Dim c As Integer = 0
Do Until c = i
array(c) = Str(c)
c = c + 1
Loop
こんな感じでiの値が変化し、array(100)と固定せずに、iの数だけ動的に配列を追加したいということです。
8:デフォルトの名無しさん
09/05/17 12:13:33
>>1超乙乙乙
>6
arrayがSharedでもされてるの?
どうしても配列じゃなきゃダメってことでもないなら、素直にListやDictionaryを使う。
とりあえず、そのコードだとarrayの長さを固定しておく必要性が全く感じられないので、もっと良い例を頼む。
9:デフォルトの名無しさん
09/05/17 12:47:08
>>8
どうもです。
こんな感じでiniファイルから値を読み取ろうと思っているんですが、
Imports System
Imports System.Text
Imports System.Runtime.InteropServices
Public Declare Unicode Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringW" ( _
<MarshalAs(UnmanagedType.LPWStr)> ByVal IpApplicationName As String, _
<MarshalAs(UnmanagedType.LPWStr)> ByVal IpKeyName As String, _
<MarshalAs(UnmanagedType.LPWStr)> ByVal IpDefault As String, _
<MarshalAs(UnmanagedType.LPWStr)> ByVal IpReturnedString As Text.StringBuilder, _
ByVal nSize As Integer, _
<MarshalAs(UnmanagedType.LPWStr)> ByVal IpFileName As String _
) As Integer
Dim strFilePath As String = ".\Config.ini"
Dim intLength As Integer
Dim strReturnValue As New Text.StringBuilder(100)
Dim i As Integer = 0
Dim array() As String
'指定されたキーの値(文字列)を.iniファイルから読み込みます。
Do
intLength = GetPrivateProfileString("Test", "Test" & i, Nothing, strReturnValue, strReturnValue.Capacity, strFilePath)
If intLength = 0 Then Exit Do
ReDim Preserve array(i)
array(i) = strReturnValue.ToString.Substring(0, intLength)
i = i + 1
Loop
10:デフォルトの名無しさん
09/05/17 12:47:21
Config.iniの中身
[Test]
Test0=あああ
Test1=いいい
Test2=ううう
ReDim Preserveが重いという話を聞いたので、他に動的に配列を追加する方法はないかと思ったのです。
ListやDictionaryは使ったことがないんですが、どんな感じで使うものなんでしょうか?
また、ArrayListなんかはどうなんですかね?
11:デフォルトの名無しさん
09/05/17 13:23:39
ArrayListの方が速いらしいので、こんな感じにしてみました。
Dim AList As New ArrayList
i = 0
Do
intLength = GetPrivateProfileString("Test", "Test" & i, Nothing, strReturnValue, strReturnValue.Capacity, strFilePath)
If intLength = 0 Then Exit Do
AList.Add(strReturnValue.ToString.Substring(0, intLength))
i = i + 1
Loop
For c = 0 To AList.Count - 1
Debug.Write(AList(c))
Next c
12:デフォルトの名無しさん
09/05/17 14:05:26
VBというかプログラミング自体初心者なんだけどこれを読めば上達するってゆうお勧めの本ってない?
13:デフォルトの名無しさん
09/05/17 14:21:11
プログラミングからして初心者なら、
VisualStudioのインスコ方法からスタートして、本に書いてある通りにコードを打ち込みながら簡単なプログラムを作っていくような本とか。
即効性は無いし効率も大して良く無いけど挫折はし辛い
14:デフォルトの名無しさん
09/05/17 20:47:53
ググッたのですが、うまく見つからないので
質問させてください
いまAxWebBrowserにinnerHTMLで
リンクを追加しようと思ったのですが、
innerHTML="<a href=""C:\Documents and Settings\hoge\hige[1].html"">hoge</a>"
のような場合だと書き込み時に空白や[]が
URLエンコード?されてうまくいきません。
このようなパスの場合は、どのように記述すれば良いでしょうか?
よろしくお願いします
15:デフォルトの名無しさん
09/05/17 21:13:58
innerText でやってみたらどう?
16:デフォルトの名無しさん
09/05/17 21:43:37
配列の要素数を固定にしないでRedim Preserve すればいいんじゃないか?
17:デフォルトの名無しさん
09/05/17 21:46:54
VB2005でマイクロ秒単位のタイマー制御したいって思ってるんだけど、
MSDNのヘルプ見たらデフォルトのタイマーだと1ミリ秒が最小と書いてありました。
ミリ秒より小さい時間単位は扱えないのでしょうか?
なにか良い方法を知ってる人いたら教えてください。
18:14
09/05/17 22:40:48
>>15
試してみましたが、正常に表示はされるものの
タグごと表示されるのであまり意味が無い感じですね
色々試した結果
Document.Write()でなら正常に書き込めるのですが
リンクをクリックしても反応しませんでした。。。
もうちょっと色々試してみます
ありがとうございました
19:デフォルトの名無しさん
09/05/18 03:52:14
>>1 乙
>>5
3年ほど前経営版にいたきちがいオヤジ久
20:デフォルトの名無しさん
09/05/18 17:14:58
vc 2008 ee
新規でwindowフォーム作成、ツールボックスでメニュー追加。標準設定で初期化。
マウスのイベント組んでみると。
private: System::Void 新規作成NToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e) {
MessageBox.Show("メインの2がクリックされたよ。");
}
error C2143: 構文エラー : ';' が '.' の前にありません。
どう修正すればおk?
21:デフォルトの名無しさん
09/05/18 17:22:29
自己解決
22:デフォルトの名無しさん
09/05/19 11:31:57
VB.NETスレに6分で自己解決するVCの書込みをするなんて素敵です
23:デフォルトの名無しさん
09/05/20 02:27:53
VBとVCのスレを間違えるなんて
まぁ、なんてあわてんぼうさんなのかしら
24:デフォルトの名無しさん
09/05/20 19:18:09
自分のパソコンだと
Me.PictureBox1.Image = Image.FromFile("C:\Documents and Settings\Owner\My Documents\普通.jpg")
のようにして画像ファイルを取得できますが、
プログラムとかと一緒に画像ファイルを入れたときは、画像のフルパスはどうやって取得すればよいのでしょうか?
いわゆる展開したフォルダの中にあるファイルを読み込みたいときにどうするか、が分かりません。
よろしくお願いします。
25:デフォルトの名無しさん
09/05/20 19:35:09
Application.StartupPath とか。
26:24
09/05/20 20:10:00
>>25
返信ありがとうございます。
Application.StartupPathをググってみたのですが、よく分かりません。
.slnファイルがあるフォルダに画像データを入れて、
Dim FolderName As String
FolderName = Application.StartupPath
Me.PictureBox1.Image = Image.FromFile("?\普通.jpg")
この?の部分に何かを入れるのでしょうか?
27:デフォルトの名無しさん
09/05/20 20:24:53
MsgBox(FolderName) ってやってみなよ。
28:24
09/05/20 20:34:52
>>27
できたんですが、おかしくなりました。
.exeファイルがあるフォルダの中に画像も入れて、
Dim FolderName As String
FolderName = Application.StartupPath
MsgBox(FolderName)
Me.PictureBox1.Image = Image.FromFile("Application.StartupPath\普通.jpg")
とやったら出来たんですが、MsgBox(FolderName)を消して実行してみるとエラーが出て、戻してみてもエラーが出るようになりました。
「アプリケーションのコンポーネントでハンドルされていないエラーが発生しました」と表示されます。
29:デフォルトの名無しさん
09/05/20 20:42:14
あきらめろ。
30:デフォルトの名無しさん
09/05/20 20:43:25
そもそもパスをリテラルで書く時点でプログラマの素養無い
31:24
09/05/20 20:48:36
>>29
>>30
そうですか。残念です。
諦めます。
いろいろとありがとうございました。
32:デフォルトの名無しさん
09/05/20 21:09:45
Me.PictureBox1.Image = Image.FromFile("test\普通.jpg")
これじゃ駄目なの?
実行ファイルがあるところにtestってフォルダ作ってそこに(ry
33:24
09/05/20 21:27:08
>>32
駄目でした。
再起動させても駄目でした。
初めはうまくいったのに。
レスありがとうございます。
みなさんのおっしゃるとおり、自分の素養を知らなければならないのかもしれません。
34:デフォルトの名無しさん
09/05/20 23:24:44
1. Application.StartupPath ってヒントをもらったんだから、ぐぐるとかの前に
ヘルプで調べてみる。
2. 何かのプロパティってのはわかるから、中に何が入ってるのか調べてみる。
3. パスが入ってるのがわかるから、画像ファイル名と連結すればいい。
4. 文字列を連結するにはどうすればいいだろう?
5. Application.StartupPath & "普通.jpg" とかすればいい。
とかって展開するもんだろ、普通。
35:24
09/05/21 01:33:40
みなさん親身になって下さって本当にありがとうございます。
Application.StartupPathの方はどんなにやっても無理でした。
しかし、リソースに画像ファイルを埋め込んで、それをMy.Resourcesの形で記述したら表示できました。
一応、以下に試して失敗したものを書きます。
Me.PictureBox1.Image = Image.FromFile(Application.StartupPath \ "普通.jpg")
Me.PictureBox1.Image = Image.FromFile(Application.StartupPath "\普通.jpg")
Me.PictureBox1.Image = Image.FromFile("Application.StartupPath" \ "普通.jpg")
Me.PictureBox1.Image = Image.FromFile(""Application.StartupPath" \ "普通.jpg"")
なにぶん初心者ですので、みなさまから見たら「なんて下手なコードを書いてるんだ?」と思われるかもしれませんが、ヘルプは読みましたし、ひたすら検索しまくりました。
また何かありましたらよろしくお願いします。
ありがとうございました。
36:デフォルトの名無しさん
09/05/21 01:36:21
だからさ、何で中に何が入ってるか確認しないの?
37:デフォルトの名無しさん
09/05/21 01:37:13
あ。確認とか関係ないなw
文字列の連結方法がわかってないだけか。
38:デフォルトの名無しさん
09/05/21 01:43:50
読むべきヘルプの場所がわかって無いってオチかよ。
本を買えとは言わないけど、VB.netの基礎の基礎から解説してる適当なサイトを通読したほうがいいよ。基礎をすっ飛ばすとロクなものは作れない
39:デフォルトの名無しさん
09/05/22 00:01:37
vb6で組んだのを、2008アップグレードウィザード使って、ビルドすると以下のエラーが出る
どうすればいいですか、いくら調べてもわかりません。
エラー 29
COM 参照 "GridDTC" の依存関係を決定できませんでした。タイプ ライブラリ/DLL の読み込みエラーです。 (HRESULT からの例外: 0x80029C4A (TYPE_E_CANTLOADLIBRARY)) Project1
エラー 31
COM 参照 "VBRUN" の依存関係を決定できませんでした。種類が一致しません。 (HRESULT からの例外: 0x8002802A (TYPE_E_WRONGTYPEKIND)) Project1
40:デフォルトの名無しさん
09/05/22 06:10:07
必要なコンポーネントを手動で追加してみれば?
41:デフォルトの名無しさん
09/05/23 09:34:26
VB+.net 2.0でリモーティングのIPCチャネルを使って複数スレッド同時通信しようとしているのですが、
IpcClientChannelの生成はクライアントプロセスに一つだけでよいのでしょうか?
サーバー側はプロセス複数個を用意して各一つだけ要求を受け付けるようURIで割り振ります。
SAOで生成されるオブジェクトとクライアントチャネルの関係がはっきりしません。
IpcClientChannelに名前を与えて複数生成することもできるようですし…。
42:デフォルトの名無しさん
09/05/23 20:49:30
フォーム継承したアプリ作るとよくVisual Stadioがバグるんだけど仕様なのかね
基本仕様としてデザイナが開けなくなって、まあこれはいいとして(よくないけど)
継承元のフォームにNotifyIconを作成したら、そのプロジェクト起動時にデバッグ開始してないのに作成したNotifyIconが常駐するようになったんだが・・・
右クリックすると設定したContextMenuStrip出てくるから試しにApplication.Exit()やってみたら普通に異常終了したし
別に趣味でやってるからこんくらいのバグ許容できるけどさー・・・
物売るってレベルじゃねーぞ!
43:デフォルトの名無しさん
09/05/23 21:59:16
>>42
URLリンク(d.hatena.ne.jp)
44:デフォルトの名無しさん
09/05/23 22:50:50
DesignMode がわかってないバカ乙
45:デフォルトの名無しさん
09/05/23 23:52:42
>>43,44
ありがとう!勉強が足りなかった!
特に
46:デフォルトの名無しさん
09/05/23 23:54:32
特にDesignModeは目から鱗だった!
今までDesigner.vb直接いじってたから超楽になった!本当にありがとう!
興奮して途中で送信してしまいました。すいません。
47:デフォルトの名無しさん
09/05/24 02:28:44
罰として半年間ROM
48:デフォルトの名無しさん
09/05/24 16:17:59
突然ですが
2chのトリップを作成するプログラムを教えてください。
ライブラリでも何でもいいのでお願いします。
49:デフォルトの名無しさん
09/05/24 16:38:37
vbでハイパーターミナルを操作するライブラリを教えてください
50:デフォルトの名無しさん
09/05/24 17:54:54
回答者が過疎
51:デフォルトの名無しさん
09/05/24 18:05:44
>>48
URLリンク(kenmon.hp.infoseek.co.jp)
>>48
MSComm
52:デフォルトの名無しさん
09/05/24 19:58:07
>>51
超感謝でつ
53:デフォルトの名無しさん
09/05/24 22:13:49
初心者です。
フォームを印刷するプログラムを書きたいと思っていますが、
特定のラベルやフォームを印刷しないように設定することは可能ですか?
よろしくお願いします。
54:デフォルトの名無しさん
09/05/24 22:29:05
初心者であろうがなかろうが、なに使って印刷しているくらい書け。
55:デフォルトの名無しさん
09/05/24 23:48:42
印刷する前に非表示にすればいいじゃん。
56:デフォルトの名無しさん
09/05/25 00:57:18
53です。
すみません、自己解決しました。ありがとうございました。
57:デフォルトの名無しさん
09/05/25 01:13:22
死ね
58:デフォルトの名無しさん
09/05/25 01:51:34
>>57
許してやれ
59:デフォルトの名無しさん
09/05/25 03:14:10
>>58
もっとやわらかく諭しなさい?
60:デフォルトの名無しさん
09/05/25 23:47:41
デバッグはできるんですが、デザイナが表示できないんです
61:デフォルトの名無しさん
09/05/26 02:29:59
>>60
デザイナ閉じる→リビルド→デザイナ開く→(゚Д゚)ウマー
62:デフォルトの名無しさん
09/05/26 06:39:15
>>61
リビルド、ビルド回復不可/(^o^)\ 情報サンクス
しゃーないんで、ソースをまんま新しいプログラムに貼り付けたorz
63:デフォルトの名無しさん
09/05/26 17:38:19
フォルダの名前として、通常のパスに使われるフォルダ名でなくフォルダの
表示名をできるだけ素早く取得したいのですが、.NETFrameworkでサポートして
いましたら教えて頂きたく。
たとえば C:\Documents and Settings\All Users\Documents\My Pictures
の場合には、「共有ピクチャ」を表示したいなどですが、
あらゆるフォルダに対して毎回 Environmentクラスを使って「特殊フォルダ」
かどうかを調べて、該当したらあらかじめ用意しておいた文字列を割り当てる
方法ではなく、フォルダのフルパスを与えたら高速に一発で表示名を返してくる
ようなメソッドがあればありがたく。
Directoryinfoクラスではプロパティ、メソッドともに扱っていないようでした。
現状、.NETではこれはサポートしていないでしょうか?
64:デフォルトの名無しさん
09/05/26 18:58:16
msgbox createobject("shell.application").namespace("C:\Documents and Settings\All Users\Documents\My Pictures").name
65:63
09/05/26 20:19:40
ありがとうございました!!
Shell32.Shellオブジェクトを使うのですね、やってみたらできました!!
助かりました。またよろしくお願いします!
66:デフォルトの名無しさん
09/05/27 15:35:00
VB2005
クラスの追加で新しいクラスを追加、そしてそのクラスにクラスをLoad
した時、命令が実行されるというのを作りたいのですがLoadがうまくいかず
波線が出てしまいます。どうすればよいでしょうか。
コードは
Public Class Class1
Private Sub Class1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load←この部分が波線になる
MessageBox.Show("hallo")
End Sub
End Class
67:デフォルトの名無しさん
09/05/27 15:51:16
>どうすればよいでしょうか。
波線にマウスカーソルを合わせ、表示されるメッセージを読む。
68:66
09/05/27 16:11:16
>>67
といわれましても、対処方は載っていませんし。
ググッてもでてこないので、わからないのですが
69:デフォルトの名無しさん
09/05/27 16:25:19
「クラスをロード」とか言うくらいだから根本的なとこで理解不足なんだろうけど
子供の使いじゃないんだからエラーメッセージを書くくらいはしようや。
とは言え、
「新しいクラスを追加」したんなら、それは Form/Control/UserControl の
いずれでもなく、基底クラスは Object のはず。なので、Load イベント
なんかない。
くらいなら予想できるが。
70:66
09/05/27 16:44:25
エラーメッセージを書くのは忘れていました、すいません。
成るほど、このままではLoadは使えないんですね。
ありがとうございました。
71:デフォルトの名無しさん
09/05/27 16:52:48
全角英数書く奴がプログラマでございってのも何だかなとは思う
72:デフォルトの名無しさん
09/05/27 18:00:14
hallo じゃなくて hello にしようぜ
73:デフォルトの名無しさん
09/05/28 23:48:05
学校での宿題なんですが、プログラム上で取得した値を16進でメモ帳に出力したいのですが、色々調べたんですがわかりません。
バイナリデータの出力みたいなんですが…。
74:デフォルトの名無しさん
09/05/28 23:51:27
メモ帳はバイナリエディタではないので、無理矢理テキストとして表示します。
16進数の形でテキストとして出力するならOK。
75:デフォルトの名無しさん
09/05/28 23:59:01
プログラム初心者なので、もう少しバイナリデータ出力について教えてもらえないですか?
76:デフォルトの名無しさん
09/05/29 00:05:14
「16進数の形で」って十分なヒントがすでに書かれてるじゃねーか。少し調べりゃ教えてくれてるサイトぐらい見つかるだろ。
2chに書かれてる文字列以外理解できないならスマン
77:デフォルトの名無しさん
09/05/29 00:05:25
やです。
まず、何ができて何ができないのか、きちんと整理してきてください。
78:デフォルトの名無しさん
09/05/29 10:12:57
VB2008を使用しています。
ピアノの鍵盤をボタンで作っているのですが、黒鍵盤を白鍵盤の上に重ねようとすると、
黒鍵盤の大きさが途切れてしまい、小さくなってしまいます。
ボタンを重ねることってできないのでしょうか?
お解りになる方がおられましたらご教授ください。
79:デフォルトの名無しさん
09/05/29 10:25:17
>>78
ご教授は出来んが、要は黒鍵が
はっけん (なぜか変換(ry) の下にもぐりこんでる状態?
80:デフォルトの名無しさん
09/05/29 10:45:32
ACCESSを使ったデータベースを作りたいのですが、クラスを作りそこにAccess
への接続をするコードを書いたのですが、それをどう入れたいフォームに呼び出す
のかがわかりません。どうしたらよいでしょうか、ちなみにバージョンは2005です。
81:デフォルトの名無しさん
09/05/29 11:02:10
>>79
レスありがとうございます。
そうです。白鍵盤の下に黒鍵盤の一部がもぐりこんでしまっているんですよ。
潔くボタンをあきらめた方が良いのかな、と思ってしまいます。
82:デフォルトの名無しさん
09/05/29 12:30:19
┏┓
┃┃
┃┃ こういう形のボタンを作るのがベストなんだろうけど
┃┗┓ それは茨の道なので、「.net ボタン Zオーダー」あたりで
┃ ┃ 検索するよろし。
┃ ┃
┃ ┃
┗━┛
83:965
09/05/29 14:22:01
>>82
レスありがとうございます!!
勉強になります。参考にさせていただきます!!
84:83
09/05/29 14:23:20
↑名前が965になっていますが、間違いですのでスルーしてください。
連レスすみません。
85:デフォルトの名無しさん
09/05/29 19:27:56
ボタンの形変えるくらいなら鍵盤の画像貼り付けて
Clickイベントでどれが押されたか座標で判定する方が早くて綺麗
86:83
09/05/29 20:05:47
>>85
レスありがとうございます!
その方法は思いつきもしませんでした・・・。
試してみます!ありがとうございます!!
87:デフォルトの名無しさん
09/05/29 20:46:31
>>85
その場合「鍵盤が押された」表現はどうするのかな?
88:デフォルトの名無しさん
09/05/29 20:52:06
「鍵盤が押された」画像に切り替えれば
89:デフォルトの名無しさん
09/05/29 21:02:05
でも白鍵と黒鍵の組み合わせ考えると相当なパターン
用意しないといけない
(まあマウスでクリックだから複数鍵同時打鍵考えなくて
いいのは救いだが)
90:デフォルトの名無しさん
09/05/29 21:11:30
押された鍵盤の画像だけ切り替えれば
91:83
09/05/29 21:12:24
>>87-89
レスありがとうございます。
鍵盤が押された画像ですが、かなり用意しなければなりませんので確かに大変かもしれません。
言い忘れていましたが、マウス、キーボードどちらの入力も可能にしています。
マウスは複数同時に押すことはできませんが、キーボードからですと複数同時が可能となっています。
てんやわんやです。
92:デフォルトの名無しさん
09/05/29 21:33:02
鍵ごとに画像を分けてDrawImage
4つの鍵の形とそれぞれ押された状態で全部で8枚あれば足りる
93:デフォルトの名無しさん
09/05/30 14:26:38
時間を利用した暗号を作成するソフトを考えてるのですが
Timestringで時間を取得すると「00:00:00」という風になります
これを数字として認識できるように「000000」という風に区切り無しにする方法はあるでしょうか?
もしくは「00100100」という風に置き換えるという方法でもいいです
94:デフォルトの名無しさん
09/05/30 15:39:45
そもそもスタートから間違ってる
DateTime.Now.Ticks使えばいい
95:デフォルトの名無しさん
09/05/31 00:02:14
時間を利用した暗号ってなんだよ…
どういうものでどういう用途か知らんが
多分そういうのは暗号とは言わない方がいい。
96:デフォルトの名無しさん
09/05/31 01:30:48
ワンタイムパスワードなんてもあるけどね
97:デフォルトの名無しさん
09/05/31 10:57:06
開発環境
OS:WindowsXP ProSP3
Ver:Visual Basic .net 2002
実行環境
OS:WindowsXP ProSP3/HomeSP3
.NET Framework:1.070
フリーソフトを作ろうと思っています。
データベースについては、今はスタンドアローンでSQLServerとつないで動作確認をしているのですが、
配布する際に「クライアント側でもデータベースを入れてくれ!」というわけにはいかないので、
代替できるものを探しています。
ソースコード内部のSQLは極力変更したくないので、テキストファイルなどでの代替ではしたくないのですが、
可能でしょうか?
以上、よろしくお願いいたします。
98:デフォルトの名無しさん
09/05/31 13:51:32
>>97
.NET Framework:1.070で使えるかしらないけど、SQLite
99:97
09/05/31 20:37:09
>>98
やってみます。ありがとうございます。
100:デフォルトの名無しさん
09/05/31 20:41:57
2008Express使えばいいのに
無料でもさすがに2002よりはマシだろ
101:デフォルトの名無しさん
09/05/31 20:47:49
>>100
配信終了してたはず
102:デフォルトの名無しさん
09/05/31 20:50:10
終了したのは2005
2008は普通にダウンロードできる
103:デフォルトの名無しさん
09/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
ここからコンボボックスとデータベースを繋ぎ、登録ボタン押すとデータベース
に追加できるようにしたいのですが、繋ぐためのコードがよくわかりません。
URLリンク(hpcgi1.nifty.com)
こちらを参考にしたのですがどう繋げたらいいかわかりませんでした。お願いします。
104:デフォルトの名無しさん
09/05/31 23:48:37
なんか変だな。
とりあえず、INSERT 文でも投げれ。
105:デフォルトの名無しさん
09/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:デフォルトの名無しさん
09/06/01 00:14:29
やってみればいいじゃん。
それから、マルチポストは止めような。
107:デフォルトの名無しさん
09/06/01 00:18:22
たぶん自作のソースがタコなんだと思うんですが、4コア環境にするとこけます。
デバッグしても原因が見つからず、暫定的にプログラム側で使用コア数を制限したいのですが、
そのようなオプションはご存じないでしょうか?
assemblyの中に書くのかとは思うのですが見つけられず。
あと、外部接続するのですが、WindowsFWの初回警告を出させる方法ご存じありませんか?
どうぞよろしくお願いします。
108:デフォルトの名無しさん
09/06/01 00:20:53
ありがとうございます。
気をつけます。あせっていたもので気にせず投稿していました。すみません。
109:デフォルトの名無しさん
09/06/01 00:21:50
>>107
とりあえず、SetProcessAffinityMask() とか?
110:デフォルトの名無しさん
09/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:デフォルトの名無しさん
09/06/02 19:50:56
初歩的な質問ですいません
win32APIと.netはまったく別ものなのですか?win32api上に.netが載っていると思っていたのですが
URLリンク(www.atmarkit.co.jp)を見ました。
また、最近のVisual studioは.net上で動いているのですか_
112:デフォルトの名無しさん
09/06/02 20:13:39
.NETのGUIはWin32APIに皮を被せたもの
Win32APIネイティブのコントロールを使わない新しいGUIフレームワーク(WPF)も使える
VisualStudio自体は.NETアプリじゃないけど.NETに激しく依存してて.NETなしでは成り立たない
113:111
09/06/02 20:31:23
>>112
なるほど〜、わかりやすい説明ありがとうございました
114:デフォルトの名無しさん
09/06/03 23:52:26
質問させてください
VB2008にてSeriaPortを使って通信を行うプログラムを書いています
それで、通信中に強制的に通信ケーブルを抜く操作を行うと、通信を停止後、再接続を試みるという処理を行わせたいのですが
通信中に通信ケーブルを引き抜くと、当然通信は止まってくれるのですが、その後、そのポートに接続を行おうとすると
「ポートにアクセスできません」といex.messageを受信してしまいます。
再び接続をするには、ソフト自体を立ち上げなおさないといけません
これをソフト上の処理で、再説z区できるようにしたいのですがどうすればよいと思われますか?
115:デフォルトの名無しさん
09/06/03 23:54:15
Hairetu(100,100)
Hairetu(100)()
の違いって・・・?
多次元配列?二次元配列?頭がこんがらがりそう
116:デフォルトの名無しさん
09/06/04 00:03:25
>>114
開きっぱなしになってるんだろうね。
具体的にどういう方法で通信をやってるの?
117:114
09/06/04 00:20:45
>>116
どういう方法と言いますと?
通信方法はこちらからコマンドを送って、相手の汎用機器から返信をもらう形です。
接続処理は普通に.open()と.close()です。
この場合、強制的にケーブルを外すので、close処理が行われないことになりますが。
それで再度openを行っても、おっしゃられるとおり、開きっぱなしになってるんだと思います。
よく分からなかったんですが、意味合い的にポートの開放(Dispose)とかやってみたんですが、これもアクセスが拒否されてしまいました
118:デフォルトの名無しさん
09/06/04 19:14:28
コントロールをダブルクリックしたときに自動生成されるコードを、
VB6のようにアルファベット順で出来るようにすることは出来ますか?
119:デフォルトの名無しさん
09/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:デフォルトの名無しさん
09/06/05 18:01:41
>>119
> でもメリットはメモリの節約くらい。
Array の各種メソッドが使えるってメリットは大きい
むしろ多次元配列こそメリットがないと思うね
121:デフォルトの名無しさん
09/06/05 20:35:19
ジャグ配列(後者)の方が大分速い
いろいろ多次元配列は冷遇されてるからそのうち公式に非推奨になるかもね
122:デフォルトの名無しさん
09/06/05 20:47:28
探しても見つからないので、教えてください。
VB.netでクラスの敬称などを使用していて、日本語でコメントしてあり、大規模である。
という条件を満たしているものをご存知でしたら、教えてください
123:デフォルトの名無しさん
09/06/05 20:54:00
VB.NETのオープンソースプロジェクト自体ほとんどないから諦めてC#読めるようになるといいよ
124:114
09/06/05 22:26:13
どなたか分かりませんでしょうか・・・
125:115
09/06/05 22:36:22
なるほど、そういうことになるんですね
私は前者は、データを格納するためのまんまデータの下駄箱のような配列として使用して
後者は、一時的にSplitなどで連続なデータを格納したいときに使用していました
使い分けてました
ちなみに、どちらが多次元配列とジャグ配列は別物なんですか?
126:114
09/06/05 22:41:23
>>115
多次元配列で二次などの要素数が不定期なものをジャグと
127:デフォルトの名無しさん
09/06/05 22:55:25
メモリの構造が全然違う
多次元配列は連続したメモリ領域
ジャグ配列は配列の配列
.NETでは通常区別する
128:デフォルトの名無しさん
09/06/06 17:46:02
Microsoft AccessのMDBファイルは、普通にAccessを使ってExcelファイルやCSVファイル
のデータをインポートしたり、クエリーの結果をExcelファイル形式でエクスポートした
りしてますが、Accessを使わずに、VB.NET等から同様のことってできますやろか。
129:デフォルトの名無しさん
09/06/07 09:54:00
VB.NETで作成したexeを動かすのにランタイムは必要になりますか?
130:デフォルトの名無しさん
09/06/07 09:55:33
VBランタイムはいらんが再頒布可能パッケージのインストールは必要だな
131:デフォルトの名無しさん
09/06/07 09:56:45
ありがとうございます。
132:デフォルトの名無しさん
09/06/07 13:53:55
C++で作ったコードをVB.netに変換してくれるような機能はありますか?
133:デフォルトの名無しさん
09/06/07 13:56:59
ありません。
134:デフォルトの名無しさん
09/06/07 13:57:39
そうですか、残念です
135:デフォルトの名無しさん
09/06/07 15:40:38
VB.NETでちょっと悩んでいるので質問させてください。
ComboBoxでスタイルをDropDownにした時、テキストボックス部を描画しているイベントは何でしょうか?
オーナードロウで描画する際DropDownListであればOnPaintで描画したものがそのまま出るのですが、
DropDownのときはOnPaintで描画したものがテキストボックス部の描画で上書きされて隠れてしまいます。
DrawItemは違うみたいで、ちょっと袋小路です・・・。
136:デフォルトの名無しさん
09/06/07 22:01:34
>>158
【魔力】書き込むと願いが必ず叶うスレ【強力】409
だろ
137:デフォルトの名無しさん
09/06/08 20:04:40
↑ちょっと書き込み位置がズレていないか?
138:デフォルトの名無しさん
09/06/09 11:08:11
単なる誤爆だろう。なんだ書き込み位置って。
139:デフォルトの名無しさん
09/06/09 12:21:52
はいっ
コモンダイアログのデフォルトパスを
「ネットワーク全体」にしたいのですが、
参考になるサイトがどうにもみつからないんですけど
どのようにすればいいんでしょうか?
140:デフォルトの名無しさん
09/06/11 13:45:57
::{208D2C60-3AEA-1069-A2D7-08002B30309D}\ネットワーク全体
141:、
09/06/11 21:27:39
VB2008で悩んでます。
exeへパイプでデータを流す処理を考えています。
どんどんデータが流れてくるのでexeはループでデータが来るのを待っているのですが
そのことによってexeのほかの処理が動けません。どうすればよいですか?
142:デフォルトの名無しさん
09/06/11 21:29:35
スレッド
143:デフォルトの名無しさん
09/06/12 10:50:23
VB2008を使用しています。
キーボードを押すと音が鳴るプログラムを作成しています。midiOutなどを使ってやっています。
音は出るのですが、うまくいかないことがあります。
例えば、キーボードの"A"を押すと、"ド"の音が出るようにします。それで、Aを押すと、"ド"の音は出るのですが、
長押しですと、ドーー ドドドドドドド…といった風に途中から連続して音が出てしまいます。
きちんと音を伸ばして鳴らしたいので、何か良い方法はありませんでしょうか?
144:デフォルトの名無しさん
09/06/12 12:17:53
KeyDownで鳴らし始めてKeyUpで止めればいいんだろ
そういうことができるAPIがあるかは知らんけど
145:デフォルトの名無しさん
09/06/12 15:46:54
Public Enum ScanDirection
x = -1
y = 0
z = 1
End Enum
列挙型で宣言した値は計算に使って値を変えていくことは可能でしょうか?
146:デフォルトの名無しさん
09/06/12 15:52:12
変数使えよ
147:デフォルトの名無しさん
09/06/12 16:17:50
>>146
ありがとうございました
148:デフォルトの名無しさん
09/06/12 20:29:26
>>143
ドーッって、音が鳴り終わるまで、入力されても無視するってすればいいんじゃない?
そのためには、音が鳴っている状態を取得しないとだと思うけど。
適当にググったら↓使えそうな気がする
【VB.NET】 MCIで音楽再生 その1
URLリンク(tenjiku.exblog.jp)
MIDI、MP3などの音楽ファイルを再生する
URLリンク(dobon.net)
149:143
09/06/13 08:50:35
>>144
ありがとうございます。KeyUp,KeyDownは使用しているのですが、うまくいきません。
もう少し試行錯誤してみます。
>>148
その方法があったとは・・・。ですが和音も鳴らしたいので、その方法だと和音が鳴らない気が。
むむむ、もう少し考えてみます。
お二方ともご回答ありがとうございました。
150:デフォルトの名無しさん
09/06/13 15:15:48
>>149
キーイベントを受けたとこで、どのキーがすでに押されているかを判定するってすればどう?
全部のキーイベントを無視するんじゃなくて。
押されていないキーの音は鳴らし、押されているキーの音は何もしない。
151:デフォルトの名無しさん
09/06/13 17:58:49
>>149
MIDIを使用する(VB.Net)
URLリンク(homepage1.nifty.com)
152:デフォルトの名無しさん
09/06/13 18:14:57
>>151 じゃダメだわ、スマソ
153:デフォルトの名無しさん
09/06/13 18:19:37
ReportViewerコントロール用のレポートファイル( .rdlc )のデザイナでの作成方法について色々解説してあるページとか参考書ってないでしょうか。
レポートウィザードで作れるピボットテーブルをベースに色々と追加したい要素があるんですが、どうやりゃ良いのかいまいちわからない。
一応、やりたいことは今年度のピボットテーブルに前年度の合計とか、前年度比とかの行とか列を追加することです。
154:デフォルトの名無しさん
09/06/13 22:14:15
MIDIってどうやって音出せばいいのか知らんかったけど、これ面白いね。
勉強になるわぁ。
155:デフォルトの名無しさん
09/06/13 22:59:08
>>149
MIDIプログラミング
URLリンク(eternalwindows.jp)
Windows MIDI プログラム入門
URLリンク(ourworld.compuserve.com)
MIDIを鳴らす
URLリンク(www13.plala.or.jp)
詳説MIDI規格
URLリンク(www.pluto.dti.ne.jp)
自作楽器「MIDIテルミン」の製作:CodeZine:
URLリンク(codezine.jp)
MIDI音源の利用
URLリンク(www2.pf-x.net)
VB.NET でMIDIOUTをOPENするには?
URLリンク(hpcgi1.nifty.com)
16進数、8進数、2進数の文字列を整数に変換する
URLリンク(dobon.net)
156:デフォルトの名無しさん
09/06/13 23:44:12
コールバック関数による出力デバイスの状態監視
URLリンク(maglog.jp)
MSDN midiOutOpen
URLリンク(msdn.microsoft.com)
デバイスは送られたデータの再生が終わるとコールバック関数にMM_WOM_DONEメッセージ(WOM_DONE)を送ります。
157:デフォルトの名無しさん
09/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:デフォルトの名無しさん
09/06/14 16:55:46
配列に入れとけ
159:デフォルトの名無しさん
09/06/14 19:48:26
2002や2003じゃ駄目だがControlsを使うという手もあるかな
160:デフォルトの名無しさん
09/06/15 09:24:22
VB.NETでマルチコア対応のコードって書けます?
161:デフォルトの名無しさん
09/06/15 13:56:30
スレッド使えるだろ
162:デフォルトの名無しさん
09/06/15 14:36:14
意味分かってないと思われ
163:デフォルトの名無しさん
09/06/16 12:21:22
SQLを実行して、そのデータの表示方法を変えて出力したいのですが、どうすれば良いかわかりません。
164:デフォルトの名無しさん
09/06/16 12:29:34
0から全部説明しろってか。
せめて SQLDataAdapter や DataSet の使い方くらい入門書で勉強しなさい。
165:デフォルトの名無しさん
09/06/16 20:09:41
>>163
そのまま何回やっても勝手に表示方法が変わったりはしません。
どうすれば良いかと言うと、表示方法を変えるプログラムを作るしかないでしょう。
>>164
たぶんこのレベルの話かと
166:デフォルトの名無しさん
09/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:デフォルトの名無しさん
09/06/16 23:53:21
どこにPInvoke使う必要がある。
168:デフォルトの名無しさん
09/06/17 01:11:12
LastError くらい確認しろよ
169:166
09/06/17 01:51:36
Daclareでやってみても結果は同じでした…。
LastErrorの値は、確認してみます。中途半端ですみません。
これに限らず、VB2005でAPIを使用する時に文字列を渡すと動作がおかしくなる傾向があるんですよね…。
うまく文字列が渡っていないのか、あるいは文字列を渡す時(Daclare等)の設定の他に、プロジェクト単位での設定等が必要になるのでしょうか?
結局、全てのAPIはVB2005で使用可能と考えて良いのでしょうか?
真剣に悩んでおります。。。
もう少しご教授ください。お願いします。
170:デフォルトの名無しさん
09/06/17 01:53:28
つーかなー。A か W かも明示的に指定してないし、マーシャリングも指定してないし、
適当に呼んどいて何言ってんだか、って感じだな。
171:162
09/06/17 02:18:35
Aliasですよね?
AもWも明示して試してみたのですが結果は同じでした…。
Marcialの指定は初耳です。どういう形で指定すれば良いのでしょうか?
分かる方から見れば、適当なだけかも知れませんが、不勉強なのは承知の上です。
すみません。教えて頂けますでしょうか。。。
172:デフォルトの名無しさん
09/06/17 09:20:45
VB2008を独習するのに、おすすめの書籍を教えてください
これまでVB6.0のフォームとモジュールだけでやってきて、
クラスとかオブジェクト指向とかはネットで読んで
「なんとなくこんなもんだろうか」程度の認識です
173:デフォルトの名無しさん
09/06/17 09:29:36
オブジェクト指向きっちり勉強したいならjavaでもやれば?
VBやC#の本ってその辺の概念はスルーまたはあらかじめ理解してる前提で書かれてるのが多い
174:デフォルトの名無しさん
09/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
この場合は無指定で問題ない。
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4929日前に更新/199 KB
担当:undef