VB.NET質問スレ (Part6) at TECH
VB.NET質問スレ (Part6) - 暇つぶし2ch1:デフォルトの名無しさん
04/07/03 08:49
VB.NETの質問全般です

過去スレ
VB.NET質問スレ (Part5)
スレリンク(tech板)
VB.NET質問スレ (Part4)
スレリンク(tech板)
【老若】VB.net質問スレ【男女】 (Part3)
スレリンク(tech板)
【老若】VB.net質問スレ【男女】 (Part2)
URLリンク(pc2.2ch.net)
【老若】VB.net質問スレ【男女】
URLリンク(pc2.2ch.net)


2:デフォルトの名無しさん
04/07/03 08:49
どぼん!のVB道のトップページとTipsページ
URLリンク(dobon.net)
URLリンク(dobon.net)
Microsoftクイック スタート チュートリアル
URLリンク(ja.gotdotnet.com)
リソースセンター> .NET関連リンク
URLリンク(www.atmarkit.co.jp)
Insider.NET
URLリンク(www.atmarkit.co.jp)
@IT: 連載 VB.NETプログラミング
URLリンク(www.atmarkit.co.jp)
@IT:連載 改訂版 C#入門
URLリンク(www.atmarkit.co.jp)
C#プログラミングTips
URLリンク(www.atmarkit.co.jp)


3:デフォルトの名無しさん
04/07/03 08:50
宇宙仮面の C# プログラミング / C# Programming
URLリンク(ukamen.hp.infoseek.co.jp)
VB.NETとC#でデザインパターン
URLリンク(hccweb1.bai.ne.jp)
ConvertCSharp2VB
URLリンク(www.kamalpatel.net)
WisdomSoft ~Developers Network~
URLリンク(black.sakura.ne.jp)
CodeProject
URLリンク(www.codeproject.com)
the GotDotNet Home Page
URLリンク(www.gotdotnet.com)
KEN's .NET
URLリンク(www5b.biglobe.ne.jp)
ソース置き場.NET
URLリンク(do.sakura.ne.jp)
Cetus Links: 19,498 Links on Objects and Components / .NET
URLリンク(www.cetus-links.org)


4:デフォルトの名無しさん
04/07/03 08:51
関連スレ
VisualStudio.NET(MSDN Deluxe) Part12
スレリンク(tech板)
ふらっとC♯(Part5)
スレリンク(tech板)
C♯相談室 Part14
スレリンク(tech板)
managed C++ やろうぜ!!
スレリンク(tech板)
フリーの.NET統合開発環境「SharpDevelop」
スレリンク(tech板)
消しゴムじゃない方のMONOを使ってみるスレ
スレリンク(tech板)
♯♯♯Shared Source CLI ♯♯♯
スレリンク(tech板)
VBプログラマ質問スレ(6.0以前) Part32
スレリンク(tech板)


5:デフォルトの名無しさん
04/07/03 08:51
.NET TIPS
URLリンク(www.atmarkit.co.jp)
緑のバイク ★ 初めてのC# プログラム全般
URLリンク(homepage3.nifty.com)


MSDN
言語仕様などのリファレンス
URLリンク(www.microsoft.com)
サンプルコード
URLリンク(www.microsoft.com)
.NET Framework を使用したプログラミング
URLリンク(www.microsoft.com)
.NET Framework リファレンス
URLリンク(www.microsoft.com)


6:デフォルトの名無しさん
04/07/03 08:52
.NET Framework のランタイム テクノロジに関するパフォーマンス上の注意事項
URLリンク(www.microsoft.com)

Microsoft .NET Framework の Windows フォームを使用したペインティング テクニック
URLリンク(www.gotdotnet.com)

ガベージコレクション入門: Microsoft .NET Framework の自動メモリ管理 Part I
URLリンク(www.microsoft.com)

C# プログラミング言語の将来の機能
URLリンク(www.microsoft.com)

適当に選んだ資料。


7:デフォルトの名無しさん
04/07/03 08:52

URLリンク(www.ne.jp)
URLリンク(www.atmarkit.co.jp)


8:デフォルトの名無しさん
04/07/03 08:53
ドットネット2.0ベータはどこ?

9:デフォルトの名無しさん
04/07/03 14:08
モツ>1

10:デフォルトの名無しさん
04/07/03 14:17
JScript .NETはこちらで:
ECMAScript デス 2
スレリンク(tech板)l50

11:デフォルトの名無しさん
04/07/03 14:54
ArrayListに登録されている要素のメンバを書き換えるにはどうすればよいでしょう?
dim data as T_HOGE
dim list as ArrayList
list = new ArrayList

data = new T_HOGE
data.code=1
data.name="いち"
list.Add(data)

data = new T_HOGE
data.code=2
data.name="に"
list.Add(data)

この状態で
data = CType(list(1), T_HOGE)
data.name = ""
としてもlist内の登録内容は書き換わっていません。itemメソッドや
foreachで要素をとってきても同様です。
Remove/Insertは参照が変わってしまうので使いたくありません。
うまい方法はありませんか?

12:デフォルトの名無しさん
04/07/03 19:25
T_HOGEがstructureなら
data = CType(list(1), T_HOGE)
でArrayListの中身がコピーされているからそっちを書き換えても値は変わらない。

必要なら中身を書き換えて後
list(1)=data
として置き換えれば?

13:デフォルトの名無しさん
04/07/03 22:30
DBに非接続のDataSetに作成したDataTableを使って
CristalReportで帳票を作りたいのですがどういったやり方があるでしょうか?

14:デフォルトの名無しさん
04/07/04 00:47
>>11
>>12の言ってることの可能性が高いな。
Structにしてるのはなぜだ?
ArrayListに入れるんならクラスの方がまずまず無難だと思うが…

15:デフォルトの名無しさん
04/07/04 03:12
>>13
VisualStudio.NETのCrystalReportならサンプルくらいあるんじゃないの?

16:13
04/07/04 09:54
>>15

これだというサンプルは無かったけど
なんとか自力でできた

17:デフォルトの名無しさん
04/07/04 11:16
やりたいことは、フォルダーのコピーです。

とりあえず、FileSystemObjectでそれはできたのですが、
もう一度コピーを実行するとエラーがでるので、
コピー先のフォルダがある場合は削除しました。
ところが、含まれるファイルが読みとり専用だとエラーがでます。
どうしたら良いでしょうか?

If System.IO.Directory.Exists("C:\TEST") Then
System.IO.Directory.Delete("C:\TEST", True)
End If
FSO = CreateObject("Scripting.FileSystemObject")
FSO.CopyFolder("D:\TEST", "C:\TEST", True)

18:デフォルトの名無しさん
04/07/04 13:01
>>17
フォルダの削除もFSOを使ってみるとか・・・

19:デフォルトの名無しさん
04/07/04 20:30
サンクスです。

FSO folderでググって見たら、一発で回答を見つけました。

20:デフォルトの名無しさん
04/07/05 01:20
既存項目の追加で追加したwavファイルを再生するにはどうしたら良いでしょうか?

21:デフォルトの名無しさん
04/07/05 12:17
>>12
> list(1)=data
これですか!目から鱗が…
助かりました。どうもありがとうございます。

>>14
先に構造体ありきで進めちゃっているもので、今からクラスには
できないのです。


22:デフォルトの名無しさん
04/07/05 15:33
ある画像の上(?)に線を引き、その線の一部分をペイントの消しゴムのように
消したいのですが、いい方法ないでしょうか?

線を引くまでのロジックはこんな感じです。
Private grpTest As Graphics
Private bmpTest As Bitmap
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim fs As IO.FileStream
Dim bmpImage As Bitmap
Dim blackPen As Pen
blackPen = New Pen(Color.Black, 1.0)

fs = New IO.FileStream("C:\TEST.JPG", IO.FileMode.Open, IO.FileAccess.Read)
bmpImage = New Bitmap(fs)
fs.Close()
'空のbitmap領域の作成
bmpTest = New Bitmap(bmpImage.Width, bmpImage.Height)
grpTest = Graphics.FromImage(bmpTest)
grpTest.DrawImage(bmpTest, 0, 0, bmpImage.Width, bmpImage.Height)
PictureBox1.Image = bmpImage
    '線引き
grpTest.DrawLine(blackPen, 0, 0, bmpImage.Width, bmpImage.Height)
PictureBox1.Invalidate()
End Sub


23:22
04/07/05 15:33
続きです

Private Sub PictureBox1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles PictureBox1.Paint
If IsNothing(bmpTest) = True Then
Exit Sub
End If
e.Graphics.InterpolationMode = Drawing2D.InterpolationMode.HighQualityBicubic
e.Graphics.DrawImage(bmpTest, 0, 0, sender.width, sender.height)
End Sub


24:デフォルトの名無しさん
04/07/06 00:45
>>21
まあ、変えられないんなら仕方ないわけだけど、はっきり言って
ちゃんと理解して使ってないと、落とし穴が多いので注意が要るよ。

25:デフォルトの名無しさん
04/07/06 00:52
未熟者から、ちょっとつまらない質問です。
DBからSELECTで持ってきたデータをDataGridに表示させるとき、コネクションや
データアダプタやデータセットを、サーバーエクスプローラからマウスでドラッグして
貼りつけたうえDataGridのソースをプロパティで設定するやり方と、それらをすべて
コードで表記するやり方がありますよね。

何というか、やり方としてどっちが「まとも」なんでしょうか。

体感的には貼りつけるやり方のほうが処理が早いような気がするんですけど、
ただ「上のほうに」(こんな表現しかできないレベルの素人です)、OleDb関係の異常な長さの
コードが自動生成されていて、何だか薄気味悪いです(貼り付けなしで、すべてをコードで
記述しても、これの10分の1ぐらいで済みそう)

26:デフォルトの名無しさん
04/07/06 06:38
>>25
どっちが「まとも」かはわからんが、個人的にはコードを書く方がお好み
以前はADO.netに慣れていなかったので貼り付けでやってたけど、
今はDBアクセス処理のクラスを作成してそれで処理するようになった。

適材適所で使い分けるのが吉じゃねえの

27:デフォルトの名無しさん
04/07/06 13:27
.NET Framework を自分が作成したプログラムと一緒に強制インストール
する事なんて、可能でしょうか?

インストーラ付きで配布されてるから、無理なのかな、、、

もし出来るならその辺解説してるHPとかあれば教えてください。

28:デフォルトの名無しさん
04/07/06 13:30
>>27
ダウンロードの詳細 : Visual Studio .NET 2003 Bootstrapper
URLリンク(www.microsoft.com)

29:デフォルトの名無しさん
04/07/06 15:00
>28
ありがとうございました。うまくいきました。
やっぱりちゃんと用意されてるんですね、、、

30:デフォルトの名無しさん
04/07/06 15:51
ものっすごい初心者で恐縮なのですが、教えてください。

VB.NETの画面でVC.NETで作成した関数を利用したいのです。
VCの関数はDLL化してあり、Declare宣言もしております。

それを呼び出したところ以下のようなエラーが出てしまいます。
「DLL XXXCOM.dll の CMMsgBox というエントリ ポイントが見つかりません。」
・XXXCOM.dll = DLL名
・CMMsgBox = 呼び出したい関数名

マシン容量の都合上、MSDNをインストールできなかった為、
ヘルプが使えません。
どうぞよろしくお願いします。


31:デフォルトの名無しさん
04/07/06 18:13
MSDNはオンラインでも読めるよ

32:30
04/07/06 19:14
>>31
すいません。
それは知っています。
最初はそれで調べていたのですが、
現在、長い時間繋ぐには不都合な環境でして。
隙を見て書き込んだ次第です。


33:デフォルトの名無しさん
04/07/06 19:35
元の関数定義とDeclareの内容くらい書かないと無理では?


34:デフォルトの名無しさん
04/07/06 22:40
ActiveXのDLLだったら(ほぼ)そのままVB.NETで使えるんだが

35:デフォルトの名無しさん
04/07/07 00:08
>>26
質問というより迷いを除くための相談みたいで、すみませんでした。
貼り付け型のほうが処理が速いといっても、明らかに違いが分かるほどのものでもないし
いろいろ比較すると、コード表記のほうが無駄が少ないんじゃないかな、と、ひとまずの結論。
何より貼りつけ型は、元データのカラムがテッキトーに並べ替えられちゃって、直すのがめんど。
(もしかしたらどこかに何か設定の仕方があるのかもしれないけど、もうどうでもいいや。
わけの分からないコード自動生成されて、あちこちに制御分散させるより、自分の書いたもの
だけで全責任負っちゃったほうが楽だ、という気がしてきました)

36:デフォルトの名無しさん
04/07/07 00:18
>貼り付け型のほうが処理が速い
そうなのか?

37:デフォルトの名無しさん
04/07/07 01:00
>>36
確かなところは分かりません。
2万件程度のテーブルからLike条件抽出を何度かやってみただけですんで。
貼りつけた方はザザッと出てきたけど、コード書きのほうは何となくパラパラっと。
本当に何となくで、測定したわけではありません。

と、ついでに勢いにまかせて、というか図に乗って、もういっこ質問。
dbへの接続やレコードセットオープンの書き方は、ネット上のいくつかのサイとを
参考にしながらやってみたんですけど、dbもレコードセットも、オープンして処理が
終わったあと、=nothing は、書かなくていいんでしょうか(どのサイトも言及なし)
Accessの時にやってた形、set ~ = nothing って書くと、set が消されちゃうん
ですね。で、仕方なく、単に ~ = nothing にすると、別にバグ扱いもされず、
実際の処理も問題なく終わるんですが。
書いた方がいいのか、書かなくてもいいのか、書かない方がいいのか、そのへんが
さっぱり分かりません。
書かないとメモリとったまま手放さないとか、そういう話ありませんでしたっけ。


38:デフォルトの名無しさん
04/07/07 01:33
おい、ちゃんとClose(かDispose)はしてるか?
何となく意識はしてないけど知らないうちに消されてるような
書き方になってる気はするが…

39:デフォルトの名無しさん
04/07/07 01:53
ええ、close は毎度ちゃんとやってます。

nothing に関しては、もともとが雑におぼえてしまったせいか、Access
使ってたときも書かずに済ませてしまったことがあったりしまして。
いつだったかweb上のどこかのサイトで、closeするだけじゃなくちゃんと
nothing書いておかないとメモリ無駄食いするぞ、みたいな文章読んだので、
ちょっと心配になって最近ようやく気をつけるようになったんです。

40:デフォルトの名無しさん
04/07/07 02:10
通常は関数内で宣言したものだったら、関数抜けた瞬間に開放されることになってるが
開放のタイミングはいつ起こるかわからない仕様だったと思います
仮にDisposeしても、どこかの外部変数が参照している間は残ったりするってのを読んだ記憶があります

.NETからSETというのは無くなってますね
扱える変数全部が旧VBでいうオブジェクト形なのでそういうことなんだと思います

貼り付けたほうってSELECT文を動的に発行するものでしょうか?
それとも事前にウィザードで発行された自動SQLでしょうか?

後者であればDB上にSQLが事前コンパイル(事前読み込み)されて
最適な結果が用意されてるかもしれません

DB環境がわからないのでかなり適当な事いってます(w



41:39
04/07/07 02:55
>>扱える変数全部が旧VBでいうオブジェクト形
む、ムズい・・・です

いま知ったんですけど。
~ = nothing の、"nothing"のところにマウスの矢印あてると "oject" って
浮き出てきますね。
つまり、宣言されたものはここで何もなかったことにするぞ、つまり解放の証
と考えていいのかな。だったら書いといたほうがいいですね。

貼り付け型コード表記型ともに、SQL文は、フォーム上のテキストボックスをLike抽出条件に
べた書き、つまり条件は同じです

以下、想像ですけど
貼り付け型のほうは、接続先なんかはもう決定しているわけですから
OleDbConnection1.Open() この一行で接続は確立できますよね。
データアダプタやデータセットについても貼りつけた時点で決定済み、あらためて宣言する必要はない。

いっぽうオールコード表記型のほうは
Dim MyDB As New OleDbConnection
Dim MyCmd As New OleDbCommand
Dim MyDataSet As DataSet = New DataSet
Dim MyDataAdp As New OleDbDataAdapter
MyDB.ConnectionString = "Provider=・・・"
MyCmd.Connection = MyDB
これだけのことを決めてやって、ようやく
MyDB.Open()
が出来る。

これが速度の差になってるのかな、なんてことを、あまり出来の良くないオツムで考えたり
してみました


42:デフォルトの名無しさん
04/07/07 03:21

GCとFinalizeとDispose辺りをキーワードにして
ドキュメントをよく読んでみることをおすすめする。

43:30
04/07/07 09:57
お騒がせしました。
上司が解決してしまいました。
ありがとうございました。

44:デフォルトの名無しさん
04/07/07 10:00
>>43
どう解決したのかも書けよ。

45:デフォルトの名無しさん
04/07/07 13:21
初歩的なことで恐縮ですが、お尋ねします。
テキストボックスの内容を変数で指定したいのですが、
このように書くと100行以上書かなければなりません。

右側のTextBox1,2,3...の数字の部分を変数を使って指定するには
どうすればよいのでしょうか?


Dim tesText(100) As System.Windows.Forms.TextBox
tesText(1) = TextBox1
tesText(2) = TextBox2
tesText(3) = TextBox3
...
tesText(100) = TextBox100

46:45
04/07/07 15:07
自己レスです

>>2 の DOBON.NETのページを見たら、
「フォームに配置されているコントロールを名前で探す」
ってのがあったので、これが使えるかもしれません。
調べてみます。

お騒がせしました。

47:22
04/07/07 15:45
誰か
>>22わかる人いませんか?

>>45
こんな感じでどうだろう?
フォームに直接テキストボックスを貼り付けているのであれば
↓こういう関数をつくり、コントロールにあるID(?)を取得
Private Function fintTxtForm_TextPos(ByVal strName As String) As Integer
Dim intCnt As Integer
For intCnt = 0 To Me.Controls.Count - 1
If Me.Controls(intCnt).Name = strName Then
Return intCnt
End If
Next intCnt
End Function

んで、こう使えば少なくてすむ。
Dim intCnt As Integer
Dim intPos As Integer
Dim tesText(100) As TextBox
For intCnt = 1 To 100
      ’"TextBox" & intCnt という名前で検索
intPos = fintTxtForm_TextPos("TextBox" & intCnt)
      ’指定
tesText(intCnt) = Me.Controls(intPos)
Next
パネルならMeをPanel1に変えれば良い。如何?

48:22
04/07/07 15:45
あちゃ。
コード書いている間に解決しちゃったか

49:デフォルトの名無しさん
04/07/07 15:58
盛り上がってまいりました

50:デフォルトの名無しさん
04/07/07 23:39
webアプリケーションの作成ではMessageboxは使えないのでしょうか?
宣言されてない!と出てしまいます…

51:デフォルトの名無しさん
04/07/07 23:54
VBScriptかJavaScriptで代用しては?

52:デフォルトの名無しさん
04/07/08 00:45
どう考えたら使えると思えるんだ?

53:デフォルトの名無しさん
04/07/08 03:36
いまさらな質問ですいません
ビルド番号をビルドするたびに自動変更させるにはどうしたら良いですか

54:デフォルトの名無しさん
04/07/08 12:43
>>AssemblyInfo

55:デフォルトの名無しさん
04/07/08 13:32
>>54
Thx

56:デフォルトの名無しさん
04/07/08 16:43
VC#と比べて、VB.NETの優れた点はどういう所ですかね?

57:デフォルトの名無しさん
04/07/08 16:47
基本的に言語の違いしかない。

58:デフォルトの名無しさん
04/07/08 16:53
では、人にもよると思いますけど、プログラム組むのに言語使用的にどちらの方が使いやすいとかはありますかね?

59:デフォルトの名無しさん
04/07/08 17:43
Windows Serverで立ち上げていたftpサイトに
\ . %d .aux0 4.21 \ . %d .nul 3.94 \. %d .lpt1 1.99 \ ;[[Scan By ...
みたいなフォルダを何千個も作られちゃいました。
ちゃんと書き込み制限をかけましょう、という話は当然として、既に作られてしまったこのフォルダ群を削除したいと考えています。
ただ、エクスプローラ上からでは不正なLongFileNameの[ . %d .nul 3.94 ]という名前のフォルダにアクセスできず、リネームも削除もできません。
一応、コマンドプロンプトのdir /xでShortFileNameを調べてそのフォルダごとに削除することは可能ですが、数が数なので、手作業で消して回るのは無理があります。
そこで、VB.netでフォルダを削除するツールを作りたいと考えています。
FSOを使って、
FS = FSO.GetFolder(sScanPath)
For Each F In FS.SubFolders
Console.Write(F.Path)
Next
って、やりたいのですが、不正な名前のフォルダはリストアップされてくれず、目的を達しません。
また、VBのDirコマンドでコマンドプロンプトの"/x"オプションの付け方がわかりません。
そこで、
1.FSOで不正なLongFileNameを持つフォルダオブジェクトのShortFileNameを列挙するやり方
2.VB.netのDirコマンドでShortFileNameをとるやり方
3.1.2以外で上記の目的を達するやり方
のいずれかをどなたかご指摘頂けないでしょうか?


60:デフォルトの名無しさん
04/07/08 17:54
消しちゃいけないファイルを別フォルダに移して
FTPのフォルダごと削除してしまえば?

61:59
04/07/08 17:59
エクスプローラ上から指示を出すと削除しようとしている最中に、
[xxx フォルダを削除できません。指定されたファイルが見つかりません。]
[パスとファイル名を確認してください。]
と表示されて操作が失敗します(;。;)


62:デフォルトの名無しさん
04/07/08 18:16
>56
VS.NETを使っている場合、コンパイルしなくてもその場でにコーディングミスが表示される。
他はともかく、この点は優れていると思う。

63:デフォルトの名無しさん
04/07/08 18:21
エクスプローラで必要なファイルを移動させて
RMDIR /Sでディレクトリごとアボーン

64:デフォルトの名無しさん
04/07/08 19:38
>>62
デフォルトでOption Strict Onなら褒めてあげたいところだけどね。


65:デフォルトの名無しさん
04/07/08 21:07
既出だったらスマソです
配布パッケージ(ディストリビューション?)を作成する方法がよくわからないんですが
情報へのリンクでも結構ですのでどなたかお助けください


66:59
04/07/08 21:36
>>63
ありがとうございました。あっさり消えてくれました^^;
手間もかからずお手軽でまさに完璧です、助かりました
(よく考えると>>60も同じ事を言ってる気がします。ありがとうございました)


67:デフォルトの名無しさん
04/07/09 02:09
>>56
画面周りは、VB.netのほうが作りやすいと個人的には思う。

68:60=63
04/07/09 02:32
>>66お疲れサマでした<m(__)m>

69:デフォルトの名無しさん
04/07/09 11:33
VB.net 2003でカスタムコントロール作成にチャレンジ中です。
タブコントロールをメインとしたコンテナコントロールを作成しようと思っていますが…

タブコントロールを基に作成したユーザーコントロールを任意のフォームに配置し
そのコントロール(コンテナ)上にテキストボックスなどを配置しようと考えたのですが
VB6時代とは勝手が違いなかなかうまくいきません。
(イメージとしては独自のタブコントロール、もしくはオプショングループのようなコンテナコントロールに
テキストボックスなどをドラッグして配置したい)

IContainerインタフェースについての理解が浅いためうまく説明できないのですが
VB.netで独自のコンテナコントロールを作成する場合、後々そのコンテナ上に配置するコントロールの
追加動作はコード上でaddしていかないといけないものなのでしょうか?


70:デフォルトの名無しさん
04/07/09 12:02
>>65
すごく簡単に書くと、
1.新規作成で「セットアップ/デプロイメントプロジェクト」を選んで
  ソリューションに追加する。
2.構成マネージャで、全てのプロジェクトをRelease、ビルドにチェックを入れる。
3.ソリューションのビルド
細かい設定はいっぱい端折ってるけど、これで逝けるんじゃないかな。



71:デフォルトの名無しさん
04/07/09 17:37
d:testに、mdbファイルを作りたいのですが、

ファイル'd:\test'を開く事が出来ませんでした。
ほかのユーザーが排他的に開いているか、データを読み取る権限がありません

というエラーが出てしまいます。
File.SetAttributes("d:\test",FileAttributes.Normal)
とか、
Dim di As New System.IO.DirectoryInfo("D:\test")
di.Attributes = FileAttributes.Normal

とかやってみたのですが、同じエラーが出てしまいました。
これは読み取り専用属性が邪魔をしてるわけではないという事でしょうか?
でもこのPC使ってるのは自分だけなので、他の人が開いてるなんて無いだろうし・・・
解決方法ご存知の方ご教授いただけませんか?



72:デフォルトの名無しさん
04/07/09 21:22
>>70
なるほどこうなってんですねえ
とりあえずセットアップがビルドされるとこまで確認できました
でもセットアップを実行してみたら正常に終了するものの
どこにもインストーされた形跡が無い?どこへ消えたんだ?
私がなにか間違えてますねたぶん(笑)

とっかかかりがわかったのであとは何とかなると思います
ありがと~



73:デフォルトの名無しさん
04/07/10 03:14
もう、聞き飽きた質問かもしれないのですが、分からないので教えてください。

現在、カシオペア(WinCE 3.0)用のアプリを作成中なのですが、
シリアルポートを使っての通信の方法が分かりません。

色々見てはいるのですが、「通常のモデムと一緒」と言われているだけで
実際にどんな方法で接続したら良いのか教えて下さい。

よろしくお願いします。


74:デフォルトの名無しさん
04/07/10 08:47

サービスから、ログインしているユーザー名を知りたいのですが
教えて頂けないでしょうか。

System.Environment.UserName

ですと'system'が返されるので解かりません。

よろしくお願いします。

75:デフォルトの名無しさん
04/07/10 09:25
サービスって何だ?
ログインてどういう方法をとってるんだ?
認証方法は何を使ってるんだ?

まっとうな方法をとってるんならHttpContext.Current.Userとかだろうが…

76:デフォルトの名無しさん
04/07/10 09:38
>>74
ログインしてるユーザーって、一人とは限らないよね?

77:74
04/07/10 11:26
すみません。言葉が足りなくって

サービスとはWindowsのローカルサービスの事で
WindowsXpですと コントロールパネル - 管理ツール - サービス
に登録するものです。

ユーザーはサービスを実行しているマシンに直接ログインしている
ローカルユーザを知りたいのです。したがって一人です。

お願いいたします。

78:デフォルトの名無しさん
04/07/10 21:16
>したがって一人です。
おい複数がログインしてるときはどうなるんだ?

79:デフォルトの名無しさん
04/07/11 00:05
>>78
ネットワーク経由ではなく直接マシンを使用しているユーザーです。


80:デフォルトの名無しさん
04/07/11 00:30
WinXPだとローカルでも複数ログインできなかったっけ?

81:デフォルトの名無しさん
04/07/11 02:32
Web関係の命令でPOSTした情報を取得したいのですが
リファラーの設定ができず別ページの情報が飛んできてしまいます
リファラーを付加してPOSTする方法ってありますか?

82:デフォルトの名無しさん
04/07/11 04:18
プログラム起動時、変数を宣言しているとVBは必ず0が入るじゃないですか。
それをChar型の値の中のランダムな数値を入れたいのですが、どうすればいいでしょうか?

83:名無しさん@そうだ選挙に行こう
04/07/11 13:44
>>80
同時にはできないだろ

84:名無しさん@そうだ選挙に行こう
04/07/11 13:47
ログインしっぱなしみたいな状況だけどWindowsとしてどういう処理をしてるかはわからないね
ただ裏でプロセスが動きっぱなしみたいな感じなのかな?

85:名無しさん@そうだ選挙に行こう
04/07/11 19:38
そりゃまあ、アクティブ?になってるユーザは一人としてもさ

86:デフォルトの名無しさん
04/07/11 23:10
アプリケーションのアイコンはどこで変更するのでしょうか?
タイトルバーのアイコンは変更できるのですが、exeファイルのアイコンを変えられません。

87:デフォルトの名無しさん
04/07/12 02:03
プロジェクトのプロパティにある"ビルド"に設定がある。


88:デフォルトの名無しさん
04/07/12 20:07
xlApp = CType(CreateObject("Excel.Application"), Excel.Application)
xlBook = CType(xlApp.Workbooks.Add, Excel.Workbook)
xlSheet = CType(xlBook.ActiveSheet, Excel.Worksheet)

これだと新しくエクセルが起動してしまいます。
今開いているエクセルシートに書き込むにはどのようにしたらいいのでしょう?
VB6では
Set xlApp = Excel.Application
Set xlBook = xlApp.ThisWorkbook
Set xlSheet = xlBook.ActiveSheet

で行けたのですが。

89:デフォルトの名無しさん
04/07/12 21:52
すごく初歩的なことなのですが、質問させてください。
ListBox または Combobox でmdbのデータを表示させたいのですが、
今現在やった作業は、
サーバーエクスプローラーのデータの接続で、mdbに接続。
表示させたいテーブルをFormにD&Dして、OleDbConnection1とOleDbDataAdapter1
を作成。
「データ(A)」メニューの「データセットの生成」で、テーブルのデータセットを生成。
ListBoxまたはComboboxのプロパティ「DataSource」「DisplayMember」「SelectedItem」を選択項目から選択。
開始。
とやっても、リストとコンボには、何も表示されません。
DataGridの場合も同様で、プロパティだけ設定しただけでは、
何も表示されなかったのですが、FormのLoadイベント内に
 Dim dst As New DataSet
Me.OleDbDataAdapter1.Fill(dst)
Me.DataGrid1.DataSource = dst
としてやったところ、データが表示されました。
ListBoxまたはComboboxも同様の処理が必要なのでしょうか?

すみませんどなたかご教授ください。

90:デフォルトの名無しさん
04/07/12 22:01
>88
System.Runtime.InteropServices.Marshal.GetActiveObject

>89
最終的にデータを読み込ませるのはコーディングで指示する。
ちなみに、ヘルプのサンプルに書いてあると思うが。

91:デフォルトの名無しさん
04/07/12 22:29
便乗質問ですが、>>88のCTypeって必要ないような気がするんですが。
ていうか、エクセルのApplicationオブジェクトにThisworkbookなんて
プロパティありましたっけ?

もしあるのなら、.NETからだろうとなんだろうと同じようにそれを
使えばいいだけのような気がしますが。

92:86
04/07/12 23:10
>>87
ありがとうございましたー!
本当に助かりました。・゚・(ノД`)・゚・。 アリガトウ


93:デフォルトの名無しさん
04/07/12 23:11
ファイルを保存するのはどうすればいいのですか?

94:デフォルトの名無しさん
04/07/12 23:26
VC++.NETで作成したDLL(MFC)をVB.NETで使おうとしてるのですが
デバッグモードでDLLのソースにステップインできません。
ブレークポイントをしかけて実行しても止まらずにDLLの処理が実行されます。
DLLの処理は正常に動作していて問題ありません。
特に設定は弄っていません。
何か足りないことがあるのでしょうか?

95:デフォルトの名無しさん
04/07/12 23:30
>>93
ファイル(F)→~の保存

96:デフォルトの名無しさん
04/07/12 23:33
アセンブラ混合モードかな?
(VCだとそうなんだが)

97:デフォルトの名無しさん
04/07/12 23:40
.NETではなくて、6.0なんですけど、
エディタの、キーワードの色をそれぞれに指定して、
変更することってできませんか?

endif や public などを色分けしたいんです。

98:デフォルトの名無しさん
04/07/13 00:00
>>97
できんでしょ。すくなくともVSのIDEのエディタでは。
正直、そういうクダラナイことに関心がいくのは心理的な逃避だとしか
思えない。

そんなことが生産性に寄与するように見えるとしたら、
それはヘッポコだからだと思う。

99:97
04/07/13 00:11
今までCとC++しかやったことなかったんで、
エディタやIDEがたくさんあって恵まれていたのかもしれません。

VBは確かにVC++やその他IDEに比べると
すこぶる操作性が悪く生産性と技能スキルが鈍りますが、
修行だと思ってVBをマスターしようかと思います。

100:デフォルトの名無しさん
04/07/13 00:11
>>98おお、すげ~発想の飛躍だな。

101:デフォルトの名無しさん
04/07/13 00:53
>>97
C++やってるんだったら6.0じゃなく.NETやったほうがいいと思う
6.0ってサポート切れてるし

6.0と.NETは似て非なるもの

102:デフォルトの名無しさん
04/07/13 01:01
>>91
xlAppとかの型しだいでは>キャストの必要性

>>94
DLLがデバッグ用にビルドされてないとか。
で、問題なく動いてるんならDLLの中をデバッグできる必要はないと思うが…
困ってるわけじゃなく、どうして?ってこと?

103:94
04/07/13 06:04
>>102
VC++.NETの実行ファイルからこのDLLを動かすと
ちゃんとデバッグできるのでデバッグ用にビルドされていない訳では
ないと思います。
今は困ってないのですが、これから開発を進めていく上で
デバックでDLLの中を追えないのは困りますよね。
VB.NETのEXEからVC.NETのDLLを呼ぶなんて特に
変わったことをやってる訳でもないのですぐに解決できると
思っていたのですが・・・かなりハマってます。

104:102
04/07/13 09:32
いくつか気づいた点を書いてみる。
*VBのプロジェクトのプロパティ-構成プロパティ-デバッグにある
  有効にするデバッグ アンマネージコードデバッグ
にチェックが入っているか。
(DLLがマネージなコードだったら関係ないはず)
*デバッグ対象のソースが認識されてないのならソリューションのプロパティで
デバッグソースファイルにDLLのソースのパスを追加してみる。
*同じく、デバッグシンボルファイルについても。
*デバッグ時、出力に出てくるメッセージで該当DLLのシンボルが読み込まれているか?


105:94
04/07/14 22:37
>>104
回答ありがとうございます。

DLLはマネージなコードです。
デバッグデータソースファイル、デバッグシンボルファイル
のパスに追加しても駄目でした。
デバッグ時の出力には該当のDLLについて何も出力されませんでした。
(何も出ないってことはデバッグ情報が取れてない?)

実行環境は実行ファイルを作成してるVB.NETのプロジェクトの
デバッグフォルダにVC++.NETで作成したデバッグモードのDLL(MFC)
を放り込んで動かしてます。

DLLのプロジェクトから実行ファイルを指定して動かしても駄目でした。

今回、旧システム(VC5.0)をVB.NETで作り変えることをしています。
旧システムの財産を再利用するためにDLLをVC++.NETで再コンパイルして
利用しようとしています。
なんせ素人集団なので壁にぶつかりまくってます^^;


106:デフォルトの名無しさん
04/07/14 23:18
>VC++.NETで作成したデバッグモードのDLL(MFC)
これマネージなコードってほんとなのか?

107:デフォルトの名無しさん
04/07/15 02:48
>>今回、旧システム(VC5.0)をVB.NETで作り変えることをしています。
>>旧システムの財産を再利用するためにDLLをVC++.NETで再コンパイルして

こういうのはアンマネージドじゃないの?

108:デフォルトの名無しさん
04/07/15 19:29
OpenFileDialogを使ってCSVのみを開こうとさせたのですが
ダイアログ自体は開きましたがCSVファイルを開くために
ダブルクリックしても何も開かず、ダイアログも閉じてしまいます。
そこでデバックポイントを張って原因を調べようとしたところ
デバックの部分で死んでしまいました。

OpenFileDialog.Filter = "csvファイル(*.csv)|;*.csv|全てのファイル(*.*)|*.*"
OpenFileDialog.FileName = ""
OpenFileDialog.InitialDirectory = WorkDir.Text
OpenFileDialog.Title = "ファイルを開く"
OpenFileDialog.RestoreDirectory = True
OpenFileDialog.ShowDialog()

これでは不味いのでしょうか?

109:108
04/07/15 19:30
デバックポイントを張った場所は
OpenFileDialog.ShowDialog()
の直後です。


110:デフォルトの名無しさん
04/07/15 19:56
デバッグの部分で死んだってのは良く分からないんだが…

ひょっとして勝手に、選んだCSVファイルを開いて
よきに処理してくれるとでも思ってるのか?

111:108
04/07/15 20:02
>>110
もしかしてエクセルを開く為の処理を行わないといけないのでしょうか?

112:デフォルトの名無しさん
04/07/15 20:59
勝手に関連付けとかで開かれたりしたらびっくりするだろ。

113:108
04/07/15 21:18
>>112
右クリックから「開く」やエディタなどを指定して
開くと開けたので、ダブルクリックやダイアログの開くボタンを
クリックでも開くと思ったのですが・・・。

ShowDialog()の後にCreateObjectを使って
エクセルを呼び出せばいいということですね?

114:デフォルトの名無しさん
04/07/15 21:30

まあいいいや。

単純にプロセスで開けばいいんじゃね?
その後にExcelの操作したいんだったら別だけど。

115:デフォルトの名無しさん
04/07/15 21:32
>>113
メニューには開くだけじゃなくて選択とかがないか?

つうか、勝手に開かれたら使いもんにならないだろうに。

116:デフォルトの名無しさん
04/07/15 22:11
夏だから?Spoke効果?


117:94
04/07/15 22:54
>>106 107
ごめんなさい。しったかしてました。
.NETで作ったものは全部マネージドコードだと思っていました。

>*VBのプロジェクトのプロパティ-構成プロパティ-デバッグにある
>  有効にするデバッグ アンマネージコードデバッグ
これでうまくいきました。
お騒がせしてすみません。
ありがとうございました。


118:デフォルトの名無しさん
04/07/15 23:56
教えてください

ウインドウが2つ(ウインドウA、ウインドウB)あります。
ウインドウAで入力エラーが発生した際にウインドウBを呼び出します。
このときウインドウBが前に来ている状態です。

そしてウインドウBを閉じたときに(右上の×をクリック)、
ウインドウAのエラーが発生した箇所(テキストボックス)に
フォーカスが当たっている状態にしたいのですが、
そんな方法はあるのでしょうか?

119:すぺる間違っていたらゴメソ
04/07/16 00:04
ウインドウBをShowDialogで開き、戻ってきたときに
フォーカスを移動すればよいのでは。

120:デフォルトの名無しさん
04/07/16 02:52
ストアドプロシージャにステップインを選んでストアドのデバッグを行いたいのですが
ブレークせずに素通りしてしまいます
クエリアナライザではブレークできているのですがどこが悪いのでしょうか?

121:デフォルトの名無しさん
04/07/16 04:21
*VBのプロジェクトのプロパティ-構成プロパティ-デバッグにある
  有効にするデバッグ SQL Sever デバッグ
にチェックが入っているか。
とか。

122:120
04/07/16 04:34
>>121
チェックボックスはONにしてあります
ヘルプに記述してあるDLL等はすべて所定の位置にインストールしてあり
インストールCDからデバッグコンポーネントのインストールもしてあります

出力ウインドウには
スレッド 'マシン名(53)' (0x800005f0) はコード 0 (0x0) で終了しました。
プログラム 'SQL デバッガ: T-SQL' はコード 0 (0x0) で終了しました。
と出力されるだけで、ストアドの結果は出力されませんでした

123:デフォルトの名無しさん
04/07/16 16:58
VBのブラウザコントロールで、<input type="file">の値を操作したいのですが、スクリプトでは操作できない等の情報ばかりです。
何かいい方法はないでしょうか?よろしくおねがいします。

124:デフォルトの名無しさん
04/07/16 17:25
ブラウザコントロールってIEコンポーネントの?
System.WebやSystem.Netは?

125:123
04/07/16 18:16
>>124
返信ありがとうございます。

VS the spokeを購入したばかりでよくわからないのですが、現在はIEコンポーネントというものを使用しているのだと思います。

System.Web、System.Netについて調べてみます。
図々しくて申し訳ありませんが、どうしてもわからないことがあったら
またよろしくお願いします。

126:デフォルトの名無しさん
04/07/16 18:22
CPU温度ってどうやって測るんですか?
コードがわかりません
何かコンポーネント必要ですか?

127:デフォルトの名無しさん
04/07/16 18:29
温度計が必要です。


128:デフォルトの名無しさん
04/07/16 21:34
>>123>>125
COM相互運用でやることになります。

参照の追加で、MSHTML.DLL (IDL) とかを追加して、
GetDocument で取ってきたものを as IHTMLDocument3 で IHTMLDocument3 にして、
getElementByID とかで input 等を取ってきて(IDが無ければdocumentElement以下をのエレメント階層を
トラバースして探すこと)、input 要素の IHTMLElement を as IHTMLInputFileElement で IHTMLInputFileElement にして、
->put_value() でファイル名を設定できるはず。

その後 submit 要素を探して、->click() で送信。

C++ (MFC) でのサンプルなら、
URLリンク(www.experts-exchange.com)
にある。
参照の追加で COM タイプを取り込むこと、as I**** で所望のインタフェイスが得られること、
が理解できれば、C# でも別段難しい点はないと思う。

129:デフォルトの名無しさん
04/07/16 22:15
教えてください><
ORACLE9i の外部プロシージャ(DLL)をVB.netで作りたいです。
今まで何も考えず、Windowsアプリケーションしか作ったことがなかったので、
DLLなんてさっぱりわかりません。。。
CのDLL(アンマネージド)ではWindowsが読めるヘッダが付いていて、
VBのDLLではフレームワーク用のが付いているんですよね?
今回サーバー機がWin2000でフレームワーク入ってるんで、
PL/SQLからキックするさえが出来れば・・・と思ってるんですが。。。
ORACLEのマニュアルではCとJAVA用のコードしか無く、
しかも、Cだと、ライブラリ名・外部公開名のみに対して、
VBはライブラリ名・クラス名・実行メソッド名を指定しないといけない(と思うので)
ですよね。
C++のDLLでラップするというのも考えたんですが、(それも質問中です(;つД`) )
VBだけで出来れば一番いいです。
何もわかってなくて申し訳ないですが、何か分かる人教えてください。



130:128
04/07/16 23:26
>>128
>が理解できれば、C# でも別段難しい点はないと思う。

VB.NET スレだった・・・死んできまつ(嘘)

131:123
04/07/17 02:03
>>128
ありがとうございます。

わからない用語調べながら試行錯誤してみたんですがどうもうまくいきません。
笑われてしまうかもしれませんが作成したコードかきます。
ヒントをください。

HTML側
<form>
<input type="file" name="files" id="ID"><br>
<input type="submit">
</form>

Dim Data1 As mshtml.IHTMLDocument3
Dim Data2 As mshtml.IHTMLElement
Dim Data3 As mshtml.IHTMLInputFileElement

Data1 = AxWebBrowser1.Document
Data2 = Data1.getElementById("ID")
Data3 = ????
Data3.value = "C:\aaa\aaa"

132:デフォルトの名無しさん
04/07/17 11:58
インターネットのプロパティ、接続タブの画面で、設定ずみの
ダイヤルアップ設定を選択、通常の接続でダイヤルするを既定に
設定してあるのですが、ブラウザやメーラーでインターネットへの
アクセスを開始すると自動的にダイヤルアップが開始され、繋がり
ますが、VB.NETで作ったツールでSystem.Web.Mail.SmtpMail.Send
やらSystem.Net.Sockets.TcpClientやらを実行したときには
インターネットに繋がっていなければ、同じように自動的に
ダイヤルアップが行われるというものでは無いのでしょうか・・・

VB.NET ダイヤルアップでググっても、ズバリこれ!というサンプルも
見つけられず・・・

ADSL常時接続やらルータによる接続が当たり前な昨今、ダイヤルアップ
なんてことをすることも少ないのかもしれませんが・・・

133:デフォルトの名無しさん
04/07/17 19:52
VB.NETスレの皆様、ちょっと聞いて下さい。

少し前まで、このスレでお世話になりながらVB.NETプログラミングに精進していたのですが、
今回、Webアプリケーションに初TRYしてみることにしました。言語はVB.NETです。
そこで、以下の現象が。

Visual Studio.NET2003で、ASP.NETアプリケーションを新規作成し、
フォームにいろいろ配置して「デバッグ」!
すると、「デバッグができません」という旨のエラーが出てしまいます。
「デバッグなしで実行」すると正常に実行できます。

環境:

LANを利用して開発してます。
・サーバーPC
 OS:Windows Server 2003 ファミリ
 IIS:あり
 Visual Studio.NET 2003:なし
・クライアントPC
 OS:Windows XP Home Edition
 IIS:なし
 Visual Studio.NET 2003:あり

サーバーPCにIISが入っていて、クライアントPCにVisual Studio.NET 2003が
入っている状態です。
サーバーPCにつないで、ASP.NETアプリケーションを作っているのだけれど、
この場合、サーバーPCにもVisual Studio.NET2003が入っていないとデバッグ
できないのでしょうか? サーバーPC1台で開発する形?

つたない日本語で申し訳ないのですが、どうかヒントを下さらないでしょうか;

134:120
04/07/18 01:19
VSを再インスコしたらデバッグできるようになりました
お騒がせしました<m(__)m>

135:デフォルトの名無しさん
04/07/18 13:22
VisualBasic.net 2002 pro をインストールしたんですけど、
ソリューションの作成、Windowsアプリなどを新規に作成しようとした場合に
「"C:\Document~1\ \LOCALS~1\TEMP\RAD214DC.tmp"が見つかりません」とおこられて
Windowsアプリなど作成ができません。

すでに作ったソリューションなどを読み込んだ場合は普通に編集、デバッグはできます。
3回インストールしなおしましたのでインストールの失敗とは考えにくいです。
インストール時には常駐ソフトは終了させました。
MSに問い合わせましたが症状がわからないなどを理由に回答を得られませんでした。
どなたか同じ症状でお困りの方はいらっしゃいませんか?



136:デフォルトの名無しさん
04/07/18 13:37
>VisualBasic.net 2002 pro
こんな製品存在したっけ。。?

137:デフォルトの名無しさん
04/07/18 13:57
>>135
Windowsのバージョンは?

138:デフォルトの名無しさん
04/07/18 17:45
WindowsXP Professional SP1です。
とくにレジストリをいじっているわけでもなく、WindowsUpdateはすべて完了しております。



139:デフォルトの名無しさん
04/07/18 18:13
>>138
OSから再インストロールぐらいしか思いつかん。

140:デフォルトの名無しさん
04/07/18 18:18
ていうかやっぱり、
>VisualBasic.net 2002 pro
こんなこと書いてる時点で、ある「疑惑」が払拭できないんだが。。
この疑惑が正しいとしたら、>>135はいい度胸してるよな。
というより、こういうことする人がMSの一質問ウン万円って技術サポート料金
を本当に払うとは....

141:デフォルトの名無しさん
04/07/18 18:25
>>140
VisualStudio.netの間違いです。
訂正するまでもない間違いだと思い流してました。


142:VB開発者
04/07/18 21:51
現在、Visual Basic .NETで開発をしている者です。

昨日までは何の問題も無く開発が出来たんですが、
昨日ごろから、VB .NETのアプリケーションを作ろうと、プロジェクトの新規作成をクリックすると、
「オートメーションサーバーはオブジェクトを作成できません」と表示され、新規作成出来ません…

設定をいじくった覚えは無いのですが、どうやったら解決できるのでしょうか?
ご指南賜りたく存じます。


143:デフォルトの名無しさん
04/07/18 21:52
正規品を使え。

144:デフォルトの名無しさん
04/07/18 21:57
ここに来るのはプログラマや開発者のはずなのに、なぜこんなに問題の絞込みの出来ない人が多いんだろう?

145:VB開発者
04/07/18 22:15
正規品を使っていますよ。

その証拠に昨日まではちゃんと作成できていましたし。

146:デフォルトの名無しさん
04/07/18 22:25
「オートメーションサーバーはオブジェクトを作成できません」を
www.google.co.jp で検索してください。

147:VB開発者
04/07/18 22:30
>>146さん
検索してみたところ、Nortonをインストールしている場合のエラーが出てきましたが、
つい先週ほどNorton System Workをアンインストールしたところです…



148:デフォルトの名無しさん
04/07/18 22:32
>>142
URLリンク(www.gdncom.jp)

149:VB開発者
04/07/18 22:38
>>148

ありがとうございました。おかげさまで修復できました。
教えてクンで申し訳ございませんでした。これからは検索をきちんとしてみようと思います。

皆様、ご迷惑お掛けいたしました。

150:初心者
04/07/18 23:07
textboxに入力した値を計算してmsgboxで表示させたいんだが(´・ω・`)
1.入力した値を計算式にするにはどうすれば・・
2.msgbox中で、メッセージ結果メッセージ みたいなのにするには・・

厨っぽい質問でスマソOTZ

151:デフォルトの名無しさん
04/07/18 23:24
>>150
どういう値を入力させるの?
1つのtextboxに、1920/726+829*7427-784みたいな式を入れる?
2つのtextboxにそれぞれ数値を入れて、+,-,*,/ボタンを押して計算?


152:デフォルトの名無しさん
04/07/19 00:22
>>135
関係あるかどうかわからんけど、
OSのログオンに日本語のアカウント名使ってる?
半角英数字のアカウント作ってやるとどう?

153:デフォルトの名無しさん
04/07/19 14:39
比較的簡単な顧客管理DBを作るときって
クライアントPC数が5台ぐらいあったら、ストアドつかったほうがいいですか?
それともADO.NETでガリガリ書いたほうがいいですか?

154:dame
04/07/19 17:16
かなり基本的な質問なんですが、よろしくお願いします。

作成したプロジェクトの入ったフォルダを移動したり、
名前を変更すると、開く事ができなくなりますよね。
この解決方法ってないのでしょうか。
あるプロジェクトで作ったフォームを別のプロジェクトにコピーしたり、
バックアップで保存しておいたりとかがとても不便で
こまっております。どうかよろしくお願いします。

155:デフォルトの名無しさん
04/07/19 17:23
プロジェクトのフォルダにある色々なファイルをメモ帳とかで開いてみ。
大体わかる。

156:デフォルトの名無しさん
04/07/19 17:25
>>154
>作成したプロジェクトの入ったフォルダを移動したり、
>名前を変更すると、開く事ができなくなりますよね。
普通にやってる限りそんなことは全くないので、もう少し詳しく書いたほうがいいと思う。

157:デフォルトの名無しさん
04/07/19 17:29
全てのVBプログラマは蜂起せよ!!

構造体のないVBは【糞】
スレリンク(news7板)

158:デフォルトの名無しさん
04/07/19 17:35
↑プ、また騙されたのね、の予感。。。
んなつまらんことで楽しいと思える君は幸せだね。
俺はそんな幸福な馬鹿になるぐらいなら不幸でいいけど。

159:デフォルトの名無しさん
04/07/19 17:44
VBに構造体はある罠

160:デフォルトの名無しさん
04/07/20 10:44
.NET Framework クラス ライブラリにダイアルアップ関係は
無いのでしょうか。

URLリンク(www.microsoft.com)
で検索してみたものの、それらしきものは見当たらず・・・・

VB.NETでダイアルアップはどう実現できるか、どなたかご助言くださいませ


161:128
04/07/20 10:54
>>131
(
今探したんですが、この記事参考になると思います。
URLリンク(www.eggheadcafe.com)
)

VB.NET は良く知らないのですが、たぶんこんな感じでしょう。

Dim Data1 As mshtml.IHTMLDocument3
Dim Data2 As mshtml.IHTMLElement
Dim Data3 As mshtml.IHTMLInputFileElement

Data1 = AxWebBrowser1.Document
Data3 = Data1.getElementById("ID")
Data3.value = "C:\aaa\aaa"

IHTMLElement から IHTMLInputFileElement への型変換は自動的にやってくれるはずです。
で、あとは type="submit" の input 要素を探して、click してあげるわけですが、
ID が付いていれば同様に getElementByID で出来るのですが、ID が無い場合には、
無い場合には、document の all プロパティに階層関係を無視した全ての要素の集合があるので、

Dim element As mshtml.IHTMLElement
For element in Data1.all
 If element.tagName = "input" Then
  If element.getAttribute("type") = "submit" Then
   element.Click
  End If
 End If
Next element

のようにして sumbit してあげると良いでしょう。(input type="submit" の要素に onclick 等による
妙な仕掛けが無い場合には、form 要素を探して element.submit しても良いです).

162:デフォルトの名無しさん
04/07/20 19:48
今更なんですが、VB.NETで.NET Frameworkを使わないアプリケーションの
開発ってできますか?


163:デフォルトの名無しさん
04/07/20 20:47
できません

164:デフォルトの名無しさん
04/07/20 21:14
>>163何も知らないんだな馬鹿が


165:デフォルトの名無しさん
04/07/20 21:52
構造体の配列に初期値を入れたいのですが下のようにやっても
だめなのはなぜですか。
Public structure s
public a as integer
public b as integer
End structure
Dim c() as s = New s(){New s(0,1),New s(2,3)}

166:デフォルトの名無しさん
04/07/20 22:55
コンストラクタ書け

167:デフォルトの名無しさん
04/07/20 23:02
>>165
ていうかs(0,1)って何?
私は人間だからあなたの意図はなんとなく伝わるけど、
コンパイラは人間の願望をくみ取るようにはプログラムされてないでしょ?

168:デフォルトの名無しさん
04/07/20 23:06
まあ昔の構造体感覚だと別にありえない発想ではない。

169:デフォルトの名無しさん
04/07/20 23:12
dim as integer

170:デフォルトの名無しさん
04/07/20 23:18
みなさん!
夏ですね!!

171:デフォルトの名無しさん
04/07/20 23:22
そうですね。

172:デフォルトの名無しさん
04/07/20 23:53
コンストラクタを書けばこれでいいのか?
c() = New s(0,1,2,3)




173:デフォルトの名無しさん
04/07/21 00:12
なわけないよな

174:デフォルトの名無しさん
04/07/21 00:48
初心者です。ファイルダウンロード支援ツールなどにあるリストビューの中に
プログレスバーがあって、ファイルのダウンロードの進行具合を把握できるやつ
ありますよね。あれってどうやってるのかな?ぐぐってみたんだけどいい例は見
つからなかったです。VB.NETでどうやって実現するのでしょう。


175:デフォルトの名無しさん
04/07/21 00:55
>>166-173
皆さんのレスのおかげで理解できました。
Public Structure s
Public a As Integer
Public b As Integer
Public Sub New(x As Integer,y As Integer)
a=x
b=y
End Sub
End Structure


176:133
04/07/21 08:57
あれ、133ですが、どなたも答えて下さらないのですね;

ASP.NETがデバッグできないのは仕様なんでしょうか?

もいちど質問してみます・・・

>>133

177:デフォルトの名無しさん
04/07/21 12:44
>あれ、133ですが、どなたも答えて下さらないのですね;
>あれ、133ですが、どなたも答えて下さらないのですね;
>あれ、133ですが、どなたも答えて下さらないのですね;
>あれ、133ですが、どなたも答えて下さらないのですね;
>あれ、133ですが、どなたも答えて下さらないのですね;
>あれ、133ですが、どなたも答えて下さらないのですね;
>あれ、133ですが、どなたも答えて下さらないのですね;
>あれ、133ですが、どなたも答えて下さらないのですね;
>あれ、133ですが、どなたも答えて下さらないのですね;
>あれ、133ですが、どなたも答えて下さらないのですね;
>あれ、133ですが、どなたも答えて下さらないのですね;
>あれ、133ですが、どなたも答えて下さらないのですね;
>あれ、133ですが、どなたも答えて下さらないのですね;
>あれ、133ですが、どなたも答えて下さらないのですね;
>あれ、133ですが、どなたも答えて下さらないのですね;
>あれ、133ですが、どなたも答えて下さらないのですね;
>あれ、133ですが、どなたも答えて下さらないのですね;

178:デフォルトの名無しさん
04/07/21 13:38
>>176
> ASP.NETがデバッグできないのは仕様なんでしょうか?

仕様ではない。やり方がまずいだけ。

つーか、スレ違い。帰れ。


179:デフォルトの名無しさん
04/07/21 14:01
初めてバイナリを扱うんだけど、もともと10バイトのファイルに
バイナリで6バイト書き込んだ場合後ろ4バイトは元のデータが残った
ままですよね?これを消して6バイトのファイルにしたい時は
どうすればいいんですか?

超初歩的なことなんだろうけど良い検索ワードが思い付かなかったので
ここで質問させてもらいます

180:133
04/07/21 14:23
すまんかった。
そんなに煽らないでおくれ。
どのスレいったらよいのでしょう。
さすらってきま

181:デフォルトの名無しさん
04/07/21 15:34
>>133
URLリンク(www.atmarkit.co.jp)
回答だけじゃなく、質問も参考にすべし。


182:デフォルトの名無しさん
04/07/21 15:46
>>179
まず、ヘルプで FileOpen 調べれ。
Output で Append じゃなければ上書きだ。


183:133
04/07/21 18:19
>>兄貴 (>>181)
ありがとうございます!!
質問を参考に1から頑張ってきます!

ああ、暖かい・・・


184:デフォルトの名無しさん
04/07/21 19:37
おまえら、どうか教えてください。
コンソールアプリケーションで、マウスカーソルを画面右下に飛ばしたいんだけど、
以下のコードを実行するとなぜか、画面右上に飛んでしまうんだよね・・・。

------------------------------------------------------------------------------------------
Module Module1
Public Declare Function SetCursorPos Lib "USER32" (ByVal x As Long, ByVal y As Long) As Long
Sub main()
Call SetCursorPos(1024, 768)
End Sub
End Module
------------------------------------------------------------------------------------------

768のところは、どんな数値にしても同じ結果・・・。
なぜ??


185:デフォルトの名無しさん
04/07/21 20:01
>>184
Long×、Integer○

186:デフォルトの名無しさん
04/07/21 20:14
教えてください。
データベースにVariable、Dataというフィールドを作成しました。
例えばPHPの場合ですと、以下のような感じでVariableを変数名、
Dataをその値に設定できます。

while ($db->next_record()) {
  ${$db->f("Variable")} = $db->f("Data");
}

これをVB.netで行うことは出来ないでしょうか?
ちなみに以下のような感じで処理しており、変数をデータベースに追加するごとに
Caseを追加しなければならない状態です。

While OleRs.Read()
  Select Case OleRs.Item("Variable")
    Case "A"
      A = "" & OleRs.Item("Data")
    Case "B"
      B = "" & OleRs.Item("Data")
    ・
    ・
  End Select
End While


187:184
04/07/21 20:45
>>185
すげー、解決した。
ありが㌧

188:デフォルトの名無しさん
04/07/21 20:52
>186
俺はPerl使いだが少なくともPerlではそういう使い方は推奨されないな。
PHPはそんなのを普通に使う奴が多いのか?
Perlでならハッシュ使えって言われるのが普通だな。
PHPは知らん。
VB.NETならHashTable使え。

189:186
04/07/21 21:14
>>188
自分で考えたもので、こんな感じのソースは本やネット上では見たことがありません。
具体的ににはSQL文でIDフィールドをWHEREして、必要な情報のみ取り出しています。
変数を簡単に管理できるし楽だなぁと思ったもので・・・

とりあえず、HashTableを勉強してみます。
ありがとうございました。


190:デフォルトの名無しさん
04/07/22 00:40
>>162-164
どっちでしょうか?
できるの? できないの?

191:デフォルトの名無しさん
04/07/22 00:42
>>190
いわゆる、Windowsネイティブなアプリの事なら、
VB.NETではできません。VC#も然り。
VC++なら可能

192:デフォルトの名無しさん
04/07/22 00:42
.NETではVB6.0まであったコンボのメソッドAddItemは使えないのでしょうか?
それともどこかのクラスライブラリにありましたか?
コンボ名.Items.Addで処理そのものはできましたが。


193:デフォルトの名無しさん
04/07/22 00:43
>>191
ありがとう。

194:デフォルトの名無しさん
04/07/22 15:03
>>192
名称の統一で変更になったと思う
メソッド名が変わることによる不利益は???


195:インスタント
04/07/22 16:31
今、画像ソフトの製作をしているのですが、
拡大処理がうまくいきません。
画像処理といっても、ドット絵なんで、
ドット毎の色を認識させ、表示させるのでしょうが、
やりかたがよくわかりません。
素人みたいな質問ですいませんが、できるかた教えていただけませんか?

196:デフォルトの名無しさん
04/07/22 17:50
>>195
StrechBltでぐぐれ

197:デフォルトの名無しさん
04/07/22 18:24
Excelのワークブックからユーザ定義プロパティの値を取得しようと試みているのですが、
VBAと同じように取れずに困っています。

Excel-VBAだと
Dim prop as DocumentProperties
set prop = ActiveWorkbook.CustomDocumentProperties

でプロパティリストを得ることができるのですが、
VB.NETで同じように
Dim prop as Excel.DocumentProperties
prop = appExcel.ActiveWorkbook.CustomDocumentProperties

とすると、実行時にキャストが誤っているというエラーが出てきます。

オブジェクトブラウザで確認すると、CustomDocumentPropertiesの戻り値型がObject型に
なっていて、明らかにVBAの方と違っているのですが、これはこういう仕様で、
VB.NETでExcelワークブックのユーザ定義プロパティは取得できないのでしょうか?

方法をご存知の方、ぜひ教えてください。


198:デフォルトの名無しさん
04/07/22 18:32
実験してないので正確じゃないかもしれないが
Object型で戻ってるものをDocumentProperties型に直接代入することは出来ないので
Ctype(戻り値,DocumentProperties)でキャストしなおしてみる

199:デフォルトの名無しさん
04/07/22 18:37
TextBox から派生したコントロールのクラスを作ってるんですが、そのクラスにプロパティを
追加しました。

で、いざその作成したコントロールを使おうとした場合、VisualStudio の画面でプロパティを
設定する場合、0とか1とかの設定値そのものを設定したのですが、これを標準のプロパティ
である ImeMode のようにコンボボックスによる選択式にすることってできますでしょうか?

ご存知の方がいらっしゃいましたらご教授願えませんでしょうか?

200:デフォルトの名無しさん
04/07/22 18:40
>>197
CType で明示的にキャストする必要があったんでないかな。
これでだめならソース出して見れ。こっちで確認すっから。

201:197
04/07/22 18:40
>>198

レスどうもです。

prop = CType(appExcel.ActiveWorkbook.CustomDocumentProperties, Excel.DocumentProperties)

で試してみましたが、やはり同じ実行時のキャストエラーが出てきます。
オブジェクトの生成型がDocumentProperties型じゃない感じです。

もし、VB.NETから、Excelのマクロのfunctrionを呼び出せればExcel-VBA側で取得したデータを
戻すようにできるのですが、呼び出すはできましたっけ?


202:197
04/07/22 18:46
>>200

レスどうもです。

やろうとしていることは、ユーザ定義プロパティの値をすべて取得することで、
コードは次のような形です。
実行の前提条件としてExcelは起動済みで、そのアプリの参照変数がappExcelです。

Dim WB As Excel.Workbook = appExcel.ActiveWorkbook 'appExcelはExcelアプリの参照変数です
Dim DPS As DocumentProperties
Dim DP As DocumentProperty

DPS = WB.CustomDocumentProperties ←ここで実行時にキャストエラーが出る

For Each DP IN DPS
プロパティ値を取得するコード
Next


203:デフォルトの名無しさん
04/07/22 18:56
>>202

URLリンク(support.microsoft.com)

PIA を使わんとだめかも。

204:174
04/07/22 19:00
174だけどわかる人いない?
VB6だとカスタムドローでやるみたいなんだけど・・・
.NETではどうやってやるの?

205:デフォルトの名無しさん
04/07/22 19:05
ていうかオーナードローが理解できてるんなら
VB6でもNETでも同じ事だと思うんだけど。。。

206:174
04/07/22 19:23
同じ用にやればいいの?
WindowsProcでカスタムドロー・・・っていう感じ?
タブコントロールだと標準でオーナードローがあるんだよね?
でもListViewだと見当たらないんだよな~

見当外れの事いってたらスマソ

207:デフォルトの名無しさん
04/07/22 19:39
フローティングツールバーは売られているみたいですが、
MFCみたいに(Visual C++6.0でウィザードが作ってくれるみたいに)
標準で提供されてないですか?

208:デフォルトの名無しさん
04/07/22 20:48
>>198>>200
実行時にキャストのエラーガ出るんだからキャスト自体は実行しようとしてる。
# Option Strict Off の場合はこれでいける。

問題は実際に返されるオブジェクトの実行時型が違ってしまってるってことだな。
メソッドの戻り値の実行時型を確認したければ、
とりあえずObject型に代入しといてウォッチとかで見れると思う。
まあ、代入せんでもウォッチ式にそのまま書いてもいいが。


209:デフォルトの名無しさん
04/07/23 04:50
BitBlt関数を使いたいのですが、VB.NETではPictureBoxのハンドルを
直接取得できないんでしょうか?

210:デフォルトの名無しさん
04/07/23 07:21
>>209
そのまんま、Handleってプロパティあるじゃん。

211:デフォルトの名無しさん
04/07/23 07:38
>>210
それ違うだろ

212:197
04/07/23 08:14
>>203 >>208

CustomDocumentPropertiesが返してくるオブジェクトの型はSystem.__ComObjectという
型で、本来の型をラップしているようで、結局どの型をラップしているのかはわからなかったのですが、
強引にSystem.__ComObject型のままプログラムを組みました。

 Dim WB As Excel.Workbook = appExcel.ActiveWorkbook
 Dim DPS As Object

 DPS = WB.CustomDocumentProperties

 Trace.WriteLine(DPS.Item(1).Name)

なんか納得できないけど、作業が終わったら、この変なラッパクラスをじっくり調べたいと思います。

レスくれた方達、どうもでした!

213:デフォルトの名無しさん
04/07/23 10:53
theSpokeを買って書類もマイクロソフトに郵送したのですが未だにシリアルキーがもらえませんが
どうしたらいいのでしょうか。

214:デフォルトの名無しさん
04/07/23 11:53
MSに連絡するのが一番

215:デフォルトの名無しさん
04/07/23 12:26
>>213
エラースキャン、デフラグ、エロ動画の削除
この辺をやって待ちわびるよろし

216:名無しさん@お腹いっぱい。
04/07/23 17:15
IMEがONのテキストボックス(Text1)にフォーカスがある状態でキーを押した場合
Text1_KeyDownのe.KeyCodeがKeys.ProcessKeyだということはすでにIMEが処理済
なのだと思うのですがIMEが処理する前にイベント補足して送られる仮想キーコードを変更することは可能でしょうか?
バカバカしい話なのですがキーボード左上の1,2,3・・・のキーをあ、い、う・・・に代えたいという要望に答えるためです。

そもそも考えが間違ってるとは思いますが方法があればご教授ください。

217:216
04/07/23 18:03
我ながら根本的に無理な気がしてきました・・・


218:デフォルトの名無しさん
04/07/23 20:30
キーフック使え

219:デフォルトの名無しさん
04/07/23 20:47
鼻フックのがいいよ。

220:デフォルトの名無しさん
04/07/23 21:07
システムを起動時にネット(FTP,Webにアップしたファイル)に接続して、
常に最新版をチェックし、最新版なら自動でダウンロードし、
アップデートするような仕組みって難しいのでしょうか。

アップデートファイルをダウンロードしてシステムが起動していない時に
実行(システムファイル上書き)するようなものは一応出来たのですが。

システムファイルを使用中に上書きすることが出来ないので
自動アップデートの仕組みが不思議です。

221:デフォルトの名無しさん
04/07/23 21:51
>>220
.NET Application Updater Component

222:220
04/07/23 22:09
>>221さん、ありがとうございました。

223:デフォルトの名無しさん
04/07/23 23:12
たまに自動アップデートすると再起動要求されて
そのまま二度と立ち上がらなくなることあるよね

224:デフォルトの名無しさん
04/07/23 23:19
.NET板
URLリンク(bbs.2ch2.net)

225:デフォルトの名無しさん
04/07/23 23:32
>>223
割れXPですか?

226:デフォルトの名無しさん
04/07/24 15:11
WebBrowserで、ボタンを押すと前のページに戻るっていうのは
どのように作れば出来ますか?
あと、WebBrowserについて詳しく書かれているところありますか?

227:デフォルトの名無しさん
04/07/24 16:15
Visual Studio .NETにて、Officeアプリケーションのイベントを
拾って特定の処理を行うようなプログラムを作ろうとしています。
イベント監視を行うようなクラスってありますでしょうか??

Main関数にて、Application.Runでオブジェクトをnewしないとすぐに
プログラムが終わっちゃうし、Application.RUnを使う場合は、
Formクラスを継承したオブジェクトを作成しないとだめだし、
Formクラスを継承したオブジェクトを作ると、画面にフォームが
表示されてしまいます。。。


228:デフォルトの名無しさん
04/07/24 17:50
>>226
GoBackで戻れるのではないかと。

>>227
例えばどんなイベント?
フォームにオブジェクトとして追加ではなく、
そのアプリケーションでおきたイベントを取りたいのであれば
フックを作んなきゃ駄目でしょう。

229:227
04/07/24 18:46
>>228
Visio2003でシェイプが図面に配置されたイベントや、シェイプが図面が
削除されたイベントです。
フックですか!初めて聞く単語です。
調べてみます。どうもです!

230:デフォルトの名無しさん
04/07/24 21:01
>>227
フォームを指定しないRunもあるんだが…

231:デフォルトの名無しさん
04/07/24 23:02
>>227
Runメソッドのオーバーロードリスト見れ。

232:デフォルトの名無しさん
04/07/25 02:00
>>228
あ、GoBackですか。ありがとうございます!

というわけでやってみたのですが、これ以上進めないときに(戻れないときも)
進むボタンを押すとエラーが起こってしまいます。どう対処すればよいのでしょうか?

Private Sub Button2_Click (略) Handles Button2.Click

AxWebBrowser1.GoForward()

End Sub

233:デフォルトの名無しさん
04/07/25 02:04
Try
 AxWebBrowser1.GoForward()
Catch ex as Exception
Messagebox.show("すすめませんよ")
End Try

234:デフォルトの名無しさん
04/07/25 02:07
>>232
こんなんどうよ?C#だけど。
protected void AxWebBrowser_CommandStateChange(object sender, DWebBrowserEvents2_CommandStateChangeEvent e)
{
if(e.command.Equals(SHDocVw.CommandStateChangeConstants.CSC_NAVIGATEBACK))
{
MenuItem miView = MenuMain.MenuItems[2];
MenuItem miGoTo = miView.MenuItems[3];
miGoTo.MenuItems[0].Enabled = e.enable;
TbBack.Enabled = e.enable;
}
if(e.command.Equals(SHDocVw.CommandStateChangeConstants.CSC_NAVIGATEFORWARD))
{
MenuItem miView = MenuMain.MenuItems[2];
MenuItem miGoTo = miView.MenuItems[3];
miGoTo.MenuItems[1].Enabled = e.enable;
TbForward.Enabled = e.enable;
}

235:デフォルトの名無しさん
04/07/25 02:31
>>234
凄いっ!!でもC#ですか…残念です。
それをVBに変換するソフトとかありませんでしたっけ?

236:デフォルトの名無しさん
04/07/25 02:49
こんなもんC#の文法知らなくても想像で直せるだろ。

237:234
04/07/25 04:05
分からんようなんで、VB.NETに直してみた。

Private Sub ToolBar1_ButtonClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ToolBarButtonClickEventArgs) Handles ToolBar1.ButtonClick
If e.Button Is Me.GoBackButton Then
Me.AxWebBrowser1.GoBack()
ElseIf e.Button Is Me.GoForwardButton Then
Me.AxWebBrowser1.GoForward()
End If
End Sub

Private Sub AxWebBrowser1_CommandStateChange(ByVal sender As System.Object, ByVal e As AxSHDocVw.DWebBrowserEvents2_CommandStateChangeEvent) Handles AxWebBrowser1.CommandStateChange
If e.command = SHDocVw.CommandStateChangeConstants.CSC_NAVIGATEBACK Then
Me.GoBackButton.Enabled = e.enable
ElseIf e.command = SHDocVw.CommandStateChangeConstants.CSC_NAVIGATEFORWARD Then
Me.GoForwardButton.Enabled = e.enable
End If
End Sub

初めてVB系書いたんで、変なとこがあったら無視してくれ。
GoBackButtonとGoForwardButtonは、コンストラクタでEnableをFalseにしとく。

238:デフォルトの名無しさん
04/07/25 12:18
>>237
このとおりにやってみました。
そしたら戻れないようになりました!ありがとうございます!

ですが、戻るボタンを押しても戻りません。
Me.AxWebBrowser1.GoBack()

AxWebBrowser1.GoBack()
にしても駄目でした…

239:デフォルトの名無しさん
04/07/25 12:27
>>238
.NET 1.1だよね?
うちでは動作するんで、ソースさらすよ。
URLリンク(www.asahi-net.or.jp)

240:eko
04/07/25 12:43
質問です。

現在、スプレッドシートを自作をしているのですが
それをフォーム1に貼り付けて、右クリックしてコンテキトにデザイナと
言うメニューを追加して、選択するとフォーム2を立ち上げて
(ここまでは何とかできました・・。)

そのフォーム2からフォーム1のデザイン(プロパティ)を変更する方法が
判りません。

ちなみにスプレッドはpaintで描画してます。
拙い説明ですが、ご存知の方居ないでしょうか??
よろしくお願いします。

241:デフォルトの名無しさん
04/07/25 16:38


242:デフォルトの名無しさん
04/07/25 16:49
ヘ_ヘ
ミ・・ ミ ということにしたいのですね :)
( ° )~

243:233
04/07/25 16:50
スルーかよ・・・

244:デフォルトの名無しさん
04/07/25 17:36
>>243
なんだ?つっこんで欲しいのか?

245:デフォルトの名無しさん
04/07/25 21:45
>>239
何でなんですかね。おかしいところは無かった様な気がするのですが。
でも、ほかの事をして何とかなりました。
いろいろありがとうございました!!!

246:デフォルトの名無しさん
04/07/25 22:10
Textboxコントロールの、
Textプロパティにて、
その桁数をあらわすにはどうすればいいでしょう?

例えば、TextBox1というテキストボックスの値(MAX10桁)で、
5桁だけ入力されていたらなにか処理をする場合、

If TextBox1.Text=(5桁)Then
    【処理】
End If


教えてください。お願いします。

247:デフォルトの名無しさん
04/07/25 22:18
Lengthだっけかな。ってかマニュアル見ろ。

248:デフォルトの名無しさん
04/07/25 22:46
>>246
普通に、Len() で OK。

249:デフォルトの名無しさん
04/07/25 22:47
個人的にLenはお奨めしない。ま、別にいいんだけどね。

250:デフォルトの名無しさん
04/07/25 23:58
またなんですが、
WebBrowserで読み込みを中止するにはどうしたらいいのでしょうか?

251:デフォルトの名無しさん
04/07/26 00:15
>>250
Me.AxWebBrowser1.Stop()
のことなのか?

252:デフォルトの名無しさん
04/07/26 00:22
>>251
それです、それ!
ありがとうございました!!

253:デフォルトの名無しさん
04/07/26 00:30
分からん部分はまとめて書いてくれ。
なんか多そうだし。

254:↑
04/07/26 00:45
嫌味とか冷やかしで言ってるワケじゃないので。

255:デフォルトの名無しさん
04/07/26 09:20
>>240
俺はデザイナフォームに一時ファイル名を渡してやってるよ。

デザイナ起動時に対象のコントロールの内容を一時ファイルに保存してデザイナ側
で読み込み、変更を反映する場合は、逆にデザイナのコントロールの内容を一時ファイル
に保存するってな感じで。
あと、変更の反映するかの確認が必要なければ、参照渡しのコントロールを、デザイナに
セットすれば完全な同期がとれると思う。

はずしてたらスマソ。

256:デフォルトの名無しさん
04/07/26 10:24
>>254
じゃあ、お言葉に甘えて…
WebBrowserで新しいウィンドウが出てくるとそのページはIEで開かれちゃうじゃないですか。
そのページを自作ブラウザで開かせるのはどうしたらいいのですか?

257:デフォルトの名無しさん
04/07/26 11:49
>>256
こんな感じで。
Private Sub AxWebBrowser1_NewWindow(ByVal sender As System.Object, ByVal e As AxSHDocVw.DWebBrowserEvents2_NewWindow2Event) Handles AxWebBrowser1.NewWindow2
Dim form2 As New Form1
e.ppDisp = form2.AxWebBrowser1.Application
form2.Show()
End Sub

258:デフォルトの名無しさん
04/07/26 12:54
質問です。
メモ帳を作成したのですが、
テキストファイルからプログラムを実行した際に、
テキストファイルを読み込む処理の仕方が分かりません。
プログラムをexeから実行したのかファイルから実行したのか判別する
方法は無いのでしょうか。



259:デフォルトの名無しさん
04/07/26 13:13
>>258
質問の意味がいまいち分からないが、
Command関数を調べると、いいかも知れんね。

260:258
04/07/26 14:13
>>259
サンクス!

261:デフォルトの名無しさん
04/07/26 15:44
>>257
本当に助かりました!
ありがとうございました!!!!!!!

262:只今勉強中
04/07/26 16:36
Public Sub New(ByVal idcarF1 As Integer)

MyBase.New()
InitializeComponent()

idcarF2 = idcarF1

Dim filterIdcarF2 As integer
'Dim filterIdcarF3 As integer

filterIdcarF2 = idcarF2
'filterIdcarF3 = 5

UpdateDatabase()

'SQL文
SqlDataAdapter1.SelectCommand.CommandText = "SELECT * FROM excol_data " _
& "WHERE car_id LIKE '" & filterIdcarF2 & "'"

'データセットを初期化して、データーアダプターからデーターを読み込む
DsExcol1.Clear()
SqlDataAdapter1.Fill(DsExcol1)

End Sub

ウィンドウを開くと同時にfilterIdcarF2を使って、データーを絞り込むという作業を作りました。さらに
”filterIdcarF3 = 5"で"excol_cd"の値が"5"のものを絞り込みたいのですが、SQL文の所の書き方
をどなたか教えていただけないでしょうか?



263:デフォルトの名無しさん
04/07/26 17:34
excol_cd の型は?それがないと正確に答えられない。

たぶんSQLスレ行けって言われると思うけど。


264:デフォルトの名無しさん
04/07/26 17:57
>>262
F2で絞り込んだものをさらにF3で絞り込むのか
F2とF3を同時に発行して絞り込むのか

あとInteger型のものに対してLike(あいまい)で検索かけてるけど
これはこれでいいの?

265:デフォルトの名無しさん
04/07/26 18:24
>>264
car_id が Integer型ってどうして分かるの?


266:262
04/07/26 18:39
すいません、もう右も左もわかんなくて、本を引き引きやってる状態で・・・。

excol_cdもcar_idも整数型です。

あと、F2で絞り込んだものをさらにF3で絞り込みたいのです。自動車の種類別
のコードがF2で、外装の色がF3で、この二つで絞り込んで、内装の色を検索し
たいので・・・。

Likeがあいまい検索だというのは、いまスレを見て始めて知ったので外してみたら、
SqlDataAdapter1.Fill(DsExcol1)の行で止まってしまい、LIKEの代わりを今探して
SQLのサイトとニラメッコしています。

267:262
04/07/26 19:13
SqlDataAdapter1.SelectCommand.CommandText = "SELECT * FROM excol_data WHERE car_id = 18"
これだ18番のcar_idを持つものが表示されるのですが
SqlDataAdapter1.SelectCommand.CommandText = "SELECT * FROM excol_data WHERE car_id = filterIdcarF2"
だと動いてくれないようです・・・。なにか書きようがあるのでしょうか?

268:デフォルトの名無しさん
04/07/26 19:58
>>267
困ってるのはわかるが、落ち着いて VB の入門書と SQL の入門書を読んだ方が
結局は早いと思うよ。

269:デフォルトの名無しさん
04/07/26 21:50
SqlDataAdapter1.SelectCommand.CommandText = "SELECT * FROM excol_data WHERE car_id = " + filterIdcarF2 + " and car_id = " + filterIdcarF3 + " and excol_cd = 5"


270:デフォルトの名無しさん
04/07/26 22:52
VBAって次に VBA.NET になるんですかね。

271:デフォルトの名無しさん
04/07/27 00:42
String の配列に入っているテキストデータを TextBox で編集しようと思って,

Dim List(200 ) As String
で,

TextBox1.Text = ""
For a=0 To List.GetUpperBound(0)
TextBox1.text &= List(a) & vbCrLf
Next

のようにしましたが,編集後のテキストデータを再び Stringの配列に
戻すところでつまりました.

このような,何かのプログラム内での プチエディタ なんかは,
どういう風に実現するのが良いのでしょうか?

272:デフォルトの名無しさん
04/07/27 00:58
>>271
配列をそのままTextBox.Linesプロパティに入れて、編集後にTextBox.Linesをそのまま配列に戻すのは駄目なん?
的外れだったらスマソ。

273:デフォルトの名無しさん
04/07/27 01:22
>>272
おおっ. そんなものがあったのか.
ご教授ありがとうございました.

テキストデータの行数がいろいろ変わるので,
やっぱり For文 で回したほうがいいみたいでした.

とにかく解決.ありがとうございました.

274:デフォルトの名無しさん
04/07/27 13:35
>>272 さんのおかげで少し進んだのですが,,,
今度は,TextBoxのカーソル位置を表示してみようと思いまして,,で,

 Cur = TextBox1.SelectionStart
 If Cur <= 0 Then
  y = 1 : x = 1
 Else
  c = 0 : y = 0
  Do
   x = Cur - c
   c += TextBox1.Lines(y).Length + 2
   If Cur < c Then Exit Do
   y += 1
  Loop
  For xx = x - 1 To 0 Step -1
   If AscW(TextBox1.Lines(y).Substring(xx, 1)) >= 256 Then x += 1
  Next
  y += 1 : x += 1
 End If
 Label1.Text = y & "行 " & x & "桁"

こんなんになってしまったのですが,これだと 各行の文字数を先頭から
足して来たり,各文字が全角かどうか一文字ずつ調べたりしてて,
TextBox の文字数が多くなると遅そうですよね.
他にスマートな方法があれば教えていただきたいのです.

275:デフォルトの名無しさん
04/07/27 13:45
picture clip controlは.NETには入ってないのでしょうか?

276:216
04/07/27 16:42
>>217
ヒントありがとうございます
キーフック自体わからず調べながらやってみたのですがなかなかうまくいきません。

SetWindowsHookExtというAPIでキーボードのメッセージを捕捉できるところまで行ったのですが
次に自分でPostMessageで別のキー入力を起こそうと思っているのですがここがダメです。
今フォームにテキストボックスが1コはっつけてやってみています

Function KeyBoardProc(ByVal nCode As Integer, ByVal wParam As Integer, ByVal lParam As Integer) As Integer
If nCode < 0 Or nCode = 3 Then
Return CallNextHookEx(m_hHook, nCode, wParam, lParam)
End If
Dim ret As Integer
Dim iMsg As Integer
If wParam = CInt(Keys.A) Then
If lParam And &H80000000 Then
iMsg = WM_KEYUP
Else
iMsg = WM_KEYDOWN
End If
wParam = Keys.E
PostMessage(TextBox1.Handle.ToInt32, iMsg, wParam, lParam)
CallNextHookEx(m_hHook, nCode, wParam, lParam)
Return 1
End If
End Function
TextBox1のIMEモードはひらがなにしてあります。

aのキーを打つとeがテキストに入るのですがほんとは「え」と入ってIMEで変換できる状態(えの下に点線の下線)になって欲しいのです。
的外れと思いつつImmGetContextの返値をPostMessageの第一引数にしてみましたがさっぱりでした。
何がいけないのか教えてください。

277:216
04/07/27 16:44
>>276

ヒントを頂いたのは
>>217ではなく
>>218でした
というか217は自分でした・・・

278:デフォルトの名無しさん
04/07/27 16:54
>>274
Win32API使ってもOKなら、user32.dllのGetCaretPosでいける。
URLリンク(do.sakura.ne.jp)
ここの>>32にC#版がある。

279:デフォルトの名無しさん
04/07/27 20:32
URLリンク(do.sakura.ne.jp)

280:デフォルトの名無しさん
04/07/27 21:28
>>278 >>279
C# がわからないのでいろいろ苦労しました.
いや,C# の問題じゃなくて,Win32API ってやつの方かな.
ヘルプとかいろいろ調べてやっとできました.
Win32API ってのは初めての経験なもので...

Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
(ByVal hWnd As IntPtr, ByVal wMsg As Integer, ByVal wParam As Integer, ByVal lParam As Integer) As Integer

ってのを作っといて,

 y = SendMessage(TextBox1.Handle, &HC9, -1, 0)
 x = TextBox1.SelectionStart - SendMessage(TextBox1.Handle, &HBB, y, 0)
 For xx = x - 1 To 0 Step -1
  If AscW(TextBox1.Lines(y).Substring(xx, 1)) >= 256 Then x += 1
 Next
 y += 1 : x += 1
 Label1.Text = y & "行 " & x & "桁"

って感じでできたみたい.
全角文字のカウントは残りましたが,だいぶ速くなりました.
どうもありがとうございました.

281:デフォルトの名無しさん
04/07/27 23:34
ちと教えてください。

CrystalReport に Textオブジェクト を作って、そこにモジュールレベル変数
(String型)の内容を埋め込むには、どうしたら良いでしょう?

Accessのレポートなら作ったことあるんですが、
CrystalReport はちょっと勝手が違うん困ってます。

お願いします。

282:デフォルトの名無しさん
04/07/27 23:51
>>281
データソースはDB?
それとも実行時に任意に与える数値?

283:281
04/07/28 00:16
>>282

レポートそのものは、AccessDBからフィールドを引っ張ってますが、
表題の部分に、任意の文字列を入れたいのです。

別フォームでその文字列を変数に格納して、レポートに表示したい
という訳です。


284:デフォルトの名無しさん
04/07/28 00:42
標準入力・出力するコマンドラインで動くアプリケーションがあるんだけど、
それとVB.NETでやりとりすることできるかな?

(ひらたく言えばVB.NETってパイプ使える?)

285:デフォルトの名無しさん
04/07/28 00:49
標準入出力とのやりとりならできる。

286:デフォルトの名無しさん
04/07/28 01:10
>>285
そうですか。できれば方法も教えてもらえると助かるのですが。
「~~というクラスを使え」とか・・・

287:デフォルトの名無しさん
04/07/28 01:11
ヘルプで検索すれば出ると思うが…
ProcessクラスとかProcessStartInfoとか参照。

288:デフォルトの名無しさん
04/07/28 01:13
>>287
ありがとうございます。
そこまで教えてもらえればあとはググるなりMSDN使うなりしてなんとかしてきます。


289:デフォルトの名無しさん
04/07/28 01:59
>>287
解決しました。ありがとうございます

290:デフォルトの名無しさん
04/07/28 02:30
>>281
スマン
遅くなりマスタ

表題って言うことは1枚目のレポートヘッダと解釈していいのかね?
仮にSection1にText1というテキストボックスがあったとして

Dim cr As New CrystalReport1
Dim t As CrystalDecisions.CrystalReports.Engine.TextObject
t = CType(cr.Section1.ReportObjects.Item("Text1"), CrystalDecisions.CrystalReports.Engine.TextObject)
t.Text = "123"


cr.ExportToDisk(CrystalDecisions.[Shared].ExportFormatType.PortableDocFormat, "c:\123.pdf") '結果を出力

パラメータフィールドを使う方法とか色々やり方はあると思うので
自分はまるまるXMLから取得する方法でやってます




291:デフォルトの名無しさん
04/07/28 13:44
FlexGrid.Netを使ってるのですが
ある日を境に
デザイン時は最新バージョン
実行時は古いバージョン
をロードしてしまいます

VSの再インストールやFlexGridの最インスコなどいろいろやってみたんですが・・・

binフォルダ内と標準インストール先のフォルダには最新バージョンの 2.1.20032.135 が
実行時にはなぜか一つ前の 2.1.20032.124 が読み込まれています

292:デフォルトの名無しさん
04/07/28 14:21
Windowsアプリケーションから、
任意のsqlスクリプト(ファイル名.sql)を読み込んで
実行させることって出来ますか?

293:291
04/07/28 16:05
C:\WINNT\ASSEMBLY
の情報を書き換えたらうまくいきました

294:デフォルトの名無しさん
04/07/29 17:20
VB.NETで他フォームを参照するにはどうすればよいのでしょうか?
例えば、form1とform2があったとき、
form1からform2のコントロールを直接取得したいのです。

BorlandC++のときは、実行中のフォームのインスタンスを参照できた
のですが、VB.NETではそれが見あたりません・・・
よいアイディアがありましたら教えて頂けると
大変助かります。よろしくお願いいたします。

295:デフォルトの名無しさん
04/07/29 17:47
>>294
Form1の中に、
Form2 form2 = new Form2();
form2.hoge = "Hage";
って感じでどうですか?

296:デフォルトの名無しさん
04/07/29 17:49
上のほうでVB.NETでブラウザ作ってた人はどうなったんだろう?
なにげに気になってたんだがw

297:デフォルトの名無しさん
04/07/29 18:22
どこかにVB.NET(2003)を使って、シリアルポートからデータを受信して表示するプログラムの
ソースが公開されていませんでしょうか?

CreateFile とか ReadFile とかのAPIを使うっていうのはわかっているのですが、
公開されているのを見ると
Public Declare Function WriteFile Lib "kernel32" Alias "WriteFile" _
(ByVal hFile As Integer, lpBuffer As Any, _
とか書いてあって(As AnyはVB.NETでは使えない)
そのままだと使えないんです。

VB6のMSCommを使えばいいのかもしれませんが、APIを使いたいのです。



298:デフォルトの名無しさん
04/07/29 18:27
>>297
なぜVBにこだわる?


299:デフォルトの名無しさん
04/07/29 18:31
>>298
つっか、APIたたくならC#でもVBでもC++でも答えは似たようなもんでしょ。
あと、VBが一番安いんだっけか?


300:デフォルトの名無しさん
04/07/29 18:43
>>297
その程度のことでいちいち人に聞いてるレベルじゃ、
まず間違いなくファイルI/O系のAPI使いこなすなんて無理だと思う。

ほかのスレでこんなの見つけたけど、これなんか使えるのでは?
URLリンク(www.gotdotnet.com)

>>294
久々に「別フォームの……」キター

301:デフォルトの名無しさん
04/07/29 18:45
As Any って As Object で代用できなかったっけ?

302:デフォルトの名無しさん
04/07/29 19:54
どこかにVB.netのゲームサンプルがある場所ってありますでしょうか?

303:294
04/07/30 00:48
>>295
ありがとうございます。
でもそれだと実行中のフォームじゃなくなってしまうので
ダメなんですよね・・・


304:デフォルトの名無しさん
04/07/30 01:34
>>303
インスタンスの扱いが理解できてるなら、Form2のインスタンス作成時に
参照をとっておけばどうにでもなることくらい分かりそうなもんだが…

305:デフォルトの名無しさん
04/07/30 02:07
Form2ってどの段階で表示(生成)されるの?
もしかして別EXE?

306:デフォルトの名無しさん
04/07/31 00:04
>>302
難しいなぁ。どんなゲームがいいんだ?

307:デフォルトの名無しさん
04/07/31 03:51
フォームロードイヴェントのときにそのアプリのプロセスIDを取得するのはどうやるのでしょうか?

308:デフォルトの名無しさん
04/07/31 04:59
Velocityのようなテンプレートエンジンってないの?
フリーの。

309:デフォルトの名無しさん
04/07/31 08:47
>>307
フォームロードのときというのに深い意味があるのか?
ただ単にプロセスIDのとり方が分からんだけとか?

310:デフォルトの名無しさん
04/07/31 13:27
Math.Cos(90 / 180 * 3.1415) を実行すると
4.63267948799578E-05   という数値になります。
0または0に近い数値にしたいのですが、どうすればいいのでしょうか?
90の部分は0~360度の中で変動、0度=1、90度=0、180度=-1、270度=0という結果を出したいのですが・・。
同様にMath.Sinでも変な数値にorz

311:デフォルトの名無しさん
04/07/31 13:46
>>310
小数点以下3桁くらいで四捨五入しろ


312:デフォルトの名無しさん
04/07/31 13:48
>>310
π = 3.1415
としているのが原因

313:デフォルトの名無しさん
04/07/31 14:05
>>311-312
返答ありがとうございます。

311の通りにしたら数値が0になったので、桁数が多すぎると表示がおかしくなる・・・でいいのかな。

314:デフォルトの名無しさん
04/07/31 14:14
>>313
違う違う、有効数字の考え方を勉強して来なさい。

315:デフォルトの名無しさん
04/07/31 14:15
いや、むしろ10万桁ぐらいまで

316:デフォルトの名無しさん
04/07/31 14:20
もしかして
4.63267948799578E-05
の意味分かってないとか?

317:デフォルトの名無しさん
04/07/31 14:25
>>316
いや、それを変数に入れて計算したら、
4.63267948799578が数値として考えられたのか、ただの回転がとんでもないことにナターヨorz

318:デフォルトの名無しさん
04/07/31 14:25
つまり
π = 3.1415
のときに
0.0000463267948799578
ってことだから、
π = 3.141592653589793
くらいまで取ればもっと0に近づく



次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch