VB.NET質問スレ (Part21)

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
前スレ

VB.NET質問スレ (Part20)
http://pc11.2ch.net/test/read.cgi/tech/1173061176/

テンプレは2〜10くらいまでの間にある予定
2デフォルトの名無しさん:2007/04/23(月) 13:52:20
MSDN
http://msdn2.microsoft.com/ja-jp/library/ms229284.aspx
どぼん!のVB道のトップページとTipsページ
http://dobon.net/vb/
http://dobon.net/vb/dotnet/index.html
Microsoftクイック スタート チュートリアル
http://ja.gotdotnet.com/quickstart/default.aspx
Insider.NET
http://www.atmarkit.co.jp/fdotnet/index.html
宇宙仮面の C# プログラミング
http://ukamen.hp.infoseek.co.jp/
.NET のつぼ
http://park16.wakwak.com/~mimi/dotnet/top.html
.NET TIPS
http://www.atmarkit.co.jp/fdotnet/dotnettips/index/index.html
緑のバイク ★ 初めてのC# プログラム全般
http://homepage3.nifty.com/midori_no_bike/CS/
VB.NETとC#でデザインパターン
http://hccweb1.bai.ne.jp/tsune-1/
匣の向こう側
http://www.ne.jp/asahi/nami/mei/index.html
WisdomSoft
http://wisdom.sakura.ne.jp/
じゃんぬねっと
http://jeanne.wankuma.com/
どっとねっとふぁん - C# Tips And Samples -
http://homepage3.nifty.com/dotnetfan/index.html
C#プログラミングTips
http://www.atmarkit.co.jp/fdotnet/csharptips/index/csharptips_index.html
3デフォルトの名無しさん:2007/04/23(月) 13:53:37
CodeProject
http://www.codeproject.com/vb/net/
the GotDotNet Home Page
http://www.gotdotnet.com/
KEN's .NET
http://www5b.biglobe.ne.jp/~yone-ken/VBNET/index.html
Cetus Links: 19,498 Links on Objects and Components / .NET
http://www.cetus-links.org/oo_dotnet.html
HIRO's.NET
http://vbdotnet.fc2web.com/index.html
@IT:特集 .NET開発者のためのオンライン・リソース・ガイド
http://www.atmarkit.co.jp/fdotnet/special/onlineres/onlineres_01.html
.NETでいきまっしょい!
http://santamartadotnet.hp.infoseek.co.jp/
これがほしかった!厳選サンプルツール集
http://anetm.com/dev/tools/vbdotnet.htm
ぬーやんのdotNET講座
http://www.geocities.jp/nuu_yan/dotNET/index.html
PINVOKE.NET
http://www.pinvoke.net/
WinAPI Database for VB Programmer
http://www.geocities.co.jp/SiliconValley-Cupertino/5872/
4デフォルトの名無しさん:2007/04/23(月) 13:54:28
Windows Api programming in C# , VB.NET, and VB6. Examples of P/Invoke and DllImport with Source code
http://custom.programming-in.net/
CodeZine
http://codezine.jp/
ConvertCSharp2VB
http://www.kamalpatel.net/ConvertCSharp2VB.aspx
@IT:.NET Tools
http://www.atmarkit.co.jp/fdotnet/tools/index/index.html
SharpLibrary Redirector
http://www.sharplibrary.com/
MSDN アカデミック アライアンス 技術資料
http://www.microsoft.com/japan/msdn/academic/articles/
「300 秒でズバリ !!」&「10 行でズバリ !!」シリーズ
http://www.microsoft.com/japan/msdn/thisweek/wednesday/default.asp
PAPA'n VB
http://www.mitene.or.jp/~sugisita/index.html
VB レスキュー花ちゃん
http://www.bcap.co.jp/hanafusa/dotnet/index.html
(Java覚え書き)デザインパターンあれこれ
http://www.dmz.hitachi-sk.co.jp/Java/Tech/pattern/
algorithm
http://www.mnet.ne.jp/~tnomura/algorithm.html
ラムダ計算入門
http://www.kb.ecei.tohoku.ac.jp/~sumii/class/keisanki-software-kougaku-2005/lambda.pdf
数値計算の基礎
http://www7.ocn.ne.jp/~kawa1/numeric.pdf
5デフォルトの名無しさん:2007/04/25(水) 11:09:56
ゴミ箱に移動、をWin32APIを利用して実行した場合、それを元に戻すには
別の Win32API などを使って簡単にできるものでしょうか。
よろしくお願いします。
6デフォルトの名無しさん:2007/04/25(水) 11:20:58
>>5
実装した事はないがこういうのは前に調べた時にリンクのこしてたんではってみる

かなり強引というか力技www
削除したのを戻す可能性があるのなら自分でフォルダをゴミ箱に見立ててやってはどうだろ?
これなら削除したファイルの一覧は基本的に自分がPGから移動させたものしかないので管理とかもらくだと思う

削除→ゴミ箱に見立てたフォルダへ移動
戻す→上記のフォルダからもとの場所へ
完全削除→ゴミ箱へも移動させずファイルをデリート

こんなんじゃぁだめかな?
どうしてもゴミ箱じゃないといけないならしょうがないんだけど・・・

http://mtamaki.cocolog-nifty.com/blog/
2005年1月27日の記事
7デフォルトの名無しさん:2007/04/25(水) 12:00:45
VB.Netで作ったクラスをCOMクラスとして公開して
Excel 2000のVBAからアクセスしたいんだけど、どうすればいいんだ?

---------- VB.Netのソース ----------------
<Microsoft.VisualBasic.ComClass()> <System.Serializable()> Public Class Class1
<System.Runtime.InteropServices.DispId(1)> Public Function Sub1(ByRef x As Integer)
x = x + 1
Return (x + 1)
End Function
End Class
-----------------------------------------

Dllつくってtlbへの参照設定はできるんだが、つぎのソースでエラーが起きる。

--------- Excel VBAのソース --------------
Sub main()
Dim x As MyProject.Class1
x = New Class1 <--- ここでエラー
x.Sub1 (1)
End Sub
-----------------------------------------

--------- エラーメッセージ ----------------
実行時エラー '-2147024894' (80070002)':

ファイルまたはアセンブリ名MyProject、またはその依存関係の1つが見つかりませんでした。
-----------------------------------------
8デフォルトの名無しさん:2007/04/25(水) 13:28:06
>>6
どうもです。
やっぱり難しそうなので自分で専用の移動用フォルダで管理した方が
いいですか。わかりました。その方向で検討してみます。

ありがとうございました。
9デフォルトの名無しさん:2007/04/25(水) 14:06:51
質問です。

テキストファイルをOpenFileDialogで読み込む際に、String型ではなくて、
System.Text.StringBuilderクラスで読み込みたいのですが、どうやればいいでしょうか。


Dim Dialog As New OpenFileDialog

If Dialog.ShowDialog(Me) = Windows.Forms.DialogResult.OK Then

Dim value As New IO.StreamReader(Dialog.FileName)

ここで、value.ReadToEndではString型になってしまいます。
それともStringからStringBuilderクラスに変換するメソッドなどがあるのでしょうか。
109:2007/04/25(水) 15:08:33
自己解決しました。

Dim sr as new System.Text.StringBuilder(value.ReadToEnd)

これで良かったみたいです。
板汚し失礼しました。
11デフォルトの名無しさん:2007/04/25(水) 15:09:30
>>5
Win32APIは知らんが、
Shell.Applicationを使えば簡単にできるのでは?
Folder.MoveHere FolderItem
12デフォルトの名無しさん:2007/04/25(水) 15:18:36
>>10
何がしたいw
13デフォルトの名無しさん:2007/04/25(水) 19:23:08
質問です。
SQLサーバから取得したテーブルをDataGridViewにFILLする際の
書式指定のやり方を教えて下さい。


4987123456789 (文字列13桁)

表示させたい書式
49-87123-45678-9

columns(0).DefaultCellStyle.formet が疑わしいと思うのですが、さっぱりです。
1413:2007/04/25(水) 21:04:36
自己解決しました。。。CellFormattingを使用。

Private Sub DataGridView1_CellFormatting(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellFormattingEventArgs) Handles DataGridView1.CellFormatting
  Dim o As Object = e.Value
  If Not (o Is Nothing) AndAlso e.ColumnIndex = 0 AndAlso e.Value.ToString().Length = 13 Then
    Dim s As String = o.ToString()
    e.Value = String.Format("{0}-{1}-{2}-{3}", s.Substring(0, 2), s.Substring(2, 5), s.Substring(7, 5), s.Substring(12))
    e.FormattingApplied = True
  End If
End Sub
15デフォルトの名無しさん:2007/04/25(水) 22:18:17
VB2005でASP.NETシステムを書いてます
Win2003 ServerにWebサイトの発行でできたソースを設定し、ブラウザで表示させたところ、
web.configに以下のエラーが発生しました。

'/' アプリケーションでサーバー エラーが発生しました。
--------------------------------------------------------------------------------

構成にエラーがあります。
説明: この要求を処理するために必要な構成ファイルの処理中にエラーが発生しました。以下のエラーの詳細を確認し、構成ファイルに変更を加えてください。

パーサー エラー メッセージ: アプリケーション レベルを超えて allowDefinition='MachineToApplication' として登録されているセクションを使うことはできません。このエラーは、仮想ディレクトリが IIS でアプリケーションとして構成されなかった場合に発生します。

ソース エラー:


行 81: -->
行 82: <!--認証について-->
行 83: <authentication mode="Forms">
行 84: <forms name="xxxxx" protection="All" loginUrl="login.aspx" timeout="30" defaultUrl="menu.aspx"/>
行 85: </authentication>

83行目にエラーがあると表示されます。
これはどのように修正すればいいのでしょうか?
16デフォルトの名無しさん:2007/04/26(木) 21:02:13
質問ですが
VB.NET2005で作成したアセンブリにはMyが入ってしまうのですが
これを入らないようにする方法はありませんか
17デフォルトの名無しさん:2007/04/26(木) 21:03:17
あります
18デフォルトの名無しさん:2007/04/26(木) 21:04:03
>>17
詳しく教えてください
19デフォルトの名無しさん:2007/04/26(木) 21:10:27
あるなし厨と教えて君ワロタ
20デフォルトの名無しさん:2007/04/26(木) 23:00:44
UnZip32.dllを使ってzipファイルを解凍しているのですが
既存ファイルがある場合は選択コマンドが出ます。
コマンドを表示させずに既存ファイルを全て置き換えるには、このSwitch設定をどうしたらいいですか?
Switch = "-x"
21デフォルトの名無しさん:2007/04/26(木) 23:11:46
>>20
なぜここで聞く?
2220:2007/04/26(木) 23:19:03
>>21
うるせぇ、答える気ないなら来るなバカ
2320:2007/04/26(木) 23:23:42
>>22
うるせぇ、お前が勝手に答えるなバカ
2420:2007/04/26(木) 23:28:19
>>22
>>23
あの、誰ですかあなた達?w

スレ違いのようでした。
すみません。
2520:2007/04/26(木) 23:32:15
あのすみません
分かる方お願いします。
26デフォルトの名無しさん:2007/04/26(木) 23:38:35
>>20
<option>
-o すでにファイルが存在しても、ユーザーに問い合わせることなく上書きする。
ttp://www.red.oit-net.jp/tatsuya/vb/Unzip32.htm#UnZipGetVersion
27デフォルトの名無しさん:2007/04/27(金) 11:29:32
>>25
ググれば答え出てたぜ?
28デフォルトの名無しさん:2007/04/27(金) 11:57:47
TreeViewコントロールのTreeNodeを選択したときの、選択時バックラーを、
例えば ContextMenuStrip コントロールの中の ToolStripMenuItem を
選択したときの選択時バックラーのように、薄いパープル色にしたいのですが、
可能でしょうか?可能としたらそのためにはどのようにすればいいでしょうか?

29デフォルトの名無しさん:2007/04/27(金) 13:41:06
バックラー。武具がどうかしましたか?
30デフォルトの名無しさん:2007/04/27(金) 18:24:20
バックラーを背景色(バックカラー)のことだとすると、ノードをオーナードローするしか
ないんじゃね?
ちなみに、オレの環境(XP)ではToolStripMenuItemの選択色は薄いパープルにはならんけど。
ToolStripMenuItemにはRenderModeあるし。

31デフォルトの名無しさん:2007/04/27(金) 19:58:07
>>30
>ノードをオーナードローする

そうですか、わかりました。やってみます、どうもでした。
32デフォルトの名無しさん:2007/04/28(土) 00:51:37
Dim xlApp As New Excel.Application()
xlApp.Visible = True

てな具合にEXCELオブジェクトを表示させたあと、
ユーザーがEXCELを終了させたことが
わかるようにするにはどうしたらいい?
33デフォルトの名無しさん:2007/04/28(土) 01:48:28
その小学生の作文みたいな文章、少しは文章推敲したら?
「わかるようにするにはどうしたらいい? 」という日本語が分からないよ。
わかるって誰がだよw

エクセルのウィンドウがユーザーによって閉じられたとき、それをプログラムで
検出したい、という意味か?

それならたぶんエレガントな方法では出来ないと思う。
そういうイベントは用意されてないし、そうでなくてもエクセルのイベントって
なぜかうまく受信できない場合が多い。

泥臭い方法だけど、エクセルのウィンドウがユーザーによって閉じられるとApplication.Visibleが
Falseになるようだから、それをポーリングすれば一応できないことはないと思う。
34デフォルトの名無しさん:2007/04/28(土) 10:22:51
VB.NETを初めてする者がわかり易い参考書やサイトはありますか?
プログラム経験はなしです。上記のサイトを見させてもらったのですが、
VB.NETだけでなく、ASP.NET、C#という言語のものもあって混乱しています。
スレ違いかもしれませんが、よろしくお願いします。
35デフォルトの名無しさん:2007/04/28(土) 13:59:34
同じことをするC#とVB.NET両方のコードを載せてあるところが多いから
VB.NETのコードだけを見ればいいだろ
まあ両者はほとんど同じ言語だからそのうちC#も読めるようになるよ
36デフォルトの名無しさん:2007/04/28(土) 14:31:15
そうそう、あっちもこっちもすると混乱するだけ。
初心者ならVBのほうがいいと思う。
C#はわかってる人間には効率的に書けたりするけど、VBに比べると
コンピュータ言語っぽさがあるから。
37デフォルトの名無しさん:2007/04/28(土) 15:53:39
旧VB に慣れた人なら兎も角、新規に学ぼうという人は C# で型の概念をきっちり身につけた方が良いと思うんだけどな。
せめて Option Strict On がデフォルトならなぁ……。
38デフォルトの名無しさん:2007/04/28(土) 19:14:02
>>35-37
ありがとうございます。
仕事で開発部門にまわされてそこでVB.NETを使うので覚えるようにと
言われたのですが、似たような記述で戸惑っていました。
サイトを見てもいまいち理解しにくかったので、参考書を買ってみようと思います。
39デフォルトの名無しさん:2007/04/28(土) 20:25:58
VBの方が実際によく使われてるけど
C#はC#→VB.NET, Java, C/C++, … と続けてどんどん習得していきやすい
40デフォルトの名無しさん:2007/04/29(日) 01:43:25
>>39
まじで?
俺VB.NETから .NET入っクチだけど
世の中の流れはC#だなぁ・・・と思ってC#に移行したんだが
まぁ、結局仕事で両方使わないといけないので両方使ってるけど
41デフォルトの名無しさん:2007/04/29(日) 12:41:18
言語の問題じゃなく、考え方さえちゃんとわかってればいいと思う。
VB.netでもUIに貼り付けて適当にイベントコード書くのじゃなくて
クラス設計とかを考えて使ってれば問題ないと思う。
42デフォルトの名無しさん:2007/04/29(日) 13:10:27
しかしStrict = Onなんて意味ねえな、と個人的には思う。

周囲の目があるから意味ねえと思いつつStrict Onにしてはいるけどね。
Strict Onにしといてよかった、なんて思ったこと一度もないよ。

縮小変換を縮小変換と意識せずついうっかり書くなんてことあるか?
ありえねえw
だったら明示的に型変換することに何の意味があるんだよアホらしい。

ArrayListのアイテムにDirectCastを強制することで、突っ込んだ型と違う型に
キャストしてしまう可能性を減らせるか?
絶対ありえねえw
同じ場面ならやはりdestinationの型の指定を間違うだけだろ。
43デフォルトの名無しさん:2007/04/29(日) 13:18:54
みんなお前みたいにちゃんと理解してやってるとは限らないだろ
44デフォルトの名無しさん:2007/04/29(日) 13:30:40
まぁ、こういうアホを納得させるには誉めるのが無難だな。
45デフォルトの名無しさん:2007/04/29(日) 17:17:35
っていうか、プログラム初心者はとにかく動くプログラムを作れるようになるのが先決。
そうじゃないと、どんな話も理解できない。

「プログラム初めて」っていう人にオライリー本薦めるバカも世間にはいるようだが。
46デフォルトの名無しさん:2007/04/29(日) 17:39:23
作りたいアプリをとりあえずStrictオフでガーっと作ってみて、
動作もだいたい完成レベルになったので、
Strictオンにして暗黙の型変換してるところを全部書き直したが、
動作速度が全く変わらなかった。
47デフォルトの名無しさん:2007/04/29(日) 17:41:53
レイトバインディングの弊害はコンパイル時に型に起因する問題を解決できないこと。
分かって書いてるならそっちの方が都合が良いことも多いんだがね。
48デフォルトの名無しさん:2007/04/29(日) 18:27:15
クラス設計なんか考えなくていい。
使いたい機能が使いたいときに手順に従ってガーッと使うだけで動くプログラム書けるんだから。
49デフォルトの名無しさん:2007/04/29(日) 18:29:56
釣れそうですか?
50デフォルトの名無しさん:2007/04/29(日) 20:20:43
そういうのは移行とは言わないw
まあ、どっちでもって人はたくさんいるだろな
51デフォルトの名無しさん:2007/04/29(日) 20:27:49
初心者にとっては、オフだととんでもないのを書いてしまうので有用。
上級者にとっては、まれにやってしまうミスを見つけられる場合があるので有用。
他の人の書いたプログラムを見るとき、あえてやってるのか、間違えてるのか明らかなので有用。
どう考えても有用。
52デフォルトの名無しさん:2007/04/29(日) 20:31:59
オフだとインテリセンスが使いにくいし
53デフォルトの名無しさん:2007/04/29(日) 21:05:37
あと速くなるのはレイトバインディングを減らせた場合で、
最初からまっとうにコーディングしてるなら変わらん。
54デフォルトの名無しさん:2007/04/29(日) 21:22:19
値型をいっぱい使ってたら速くなるだろ
逆にいえばOffだと値型の意味がない
55デフォルトの名無しさん:2007/04/29(日) 21:27:49
あほ
56デフォルトの名無しさん:2007/04/29(日) 21:28:38
だからそういうのはまっとうに使ってない場合だろw
57デフォルトの名無しさん:2007/04/29(日) 21:32:45
まっとうに使うって言って全部型指定したらStrict Onと同じだろw
Offだと型指定しなくても「まっとう」になっちゃうって話
58デフォルトの名無しさん:2007/04/29(日) 21:32:51
>>54
こういう奴がいるからオンにしなければならない。
59デフォルトの名無しさん:2007/04/29(日) 21:39:42
>>57
おまえオフの場合は型書かない前提なのかよ。

いや、普通は違うと思うぞ。
そんなインテリセンスも使えん状態じゃやっとれんだろ。
60デフォルトの名無しさん:2007/04/29(日) 21:42:57
「オフだと値型の意味がない」って書いといてそうは読み取れん。
wとか書いてるしあやしいんだよ
61デフォルトの名無しさん:2007/04/30(月) 01:52:27
どうしてレイトバインディングとか極端な話になるのかね。
CreateObjectでエクセルとか操作する場合を除けば、Strict = Offでも
レイトバインディングなんてわざわざする訳がなかろうに。

別に煽りとかそんなんじゃなく、純粋に興味があるから聞くけど
俺は>>42に書いたとおりStrict = Onに積極的な意義はないと思うけど、
それは間違いだという意見の人は、是非具体的にその理由を教えてくれないか?
62デフォルトの名無しさん:2007/04/30(月) 02:43:32
んなもんどっちでもええわ。
サポート機能のひとつなだけで、間違いとかそういう問題じゃねーよ。
63デフォルトの名無しさん:2007/04/30(月) 08:18:41
デフォルトでonになってるんだからあえてさわらんでもという感じだな
64デフォルトの名無しさん:2007/04/30(月) 08:25:19
いや、なってないけど。。
65デフォルトの名無しさん:2007/04/30(月) 10:16:15
型指定するのってデフォじゃないの?
66デフォルトの名無しさん :2007/04/30(月) 12:16:48
今までVBでやってきて、VB.NETでの開発に移行するのですが(遅っ!)、
ランタイムライブラリとクラス・ライブラリをどう使い分けていますか?
一つのプログラムで、クラスライブラリなら全部クラスライブラリで統一
して記述していますか?

ある所では今までのVBで使えた関数を使って、別の所ではVBで使えた関数では
なく、クラスライブラリの関数を使うといった、2つを混合させて記述してもOKですか?
67デフォルトの名無しさん:2007/04/30(月) 12:58:32
C#な人との共同の仕事じゃなきゃ別にいいんじゃない?
VBライブラリは将来なくなる可能性がある、とかMSは言ってるけど
どうせハッタリで実際はなくせないと思うし。
68デフォルトの名無しさん:2007/04/30(月) 14:41:49
.NET2.0で最終進化だと言い切ってもらいたんだが
69デフォルトの名無しさん:2007/04/30(月) 15:36:24
そろそろ新技術Orgが発表されます。
70デフォルトの名無しさん:2007/04/30(月) 22:57:44
VB2005です。恐縮ですが質問があります。

テキストエディタをRichTextBoxを使って製作しているのですが、
Wordのように文書に段落番号を設定できるようにするには
どのようにすればよいのでしょうか。
箇条書きや段落のインデントの設定などはわかったのですが
段落番号がわかりません...。

よろしくお願いします。
71デフォルトの名無しさん:2007/04/30(月) 23:20:09
標準では無理。
PARAFORMAT2 を EM_SETPARAFORMAT で投げることになるかな。めんどくさそ。
72デフォルトの名無しさん:2007/05/01(火) 19:42:25
すみません。PHPからの移行者なんですが、PHPだと画像が1つあれば
それを拡大・縮小など簡単にできたんですが、VB.netでもできますか?

できれば、VBでつくりたいとおもっています。よろしくお願いします。
73デフォルトの名無しさん:2007/05/01(火) 19:45:37
System.Drawing
あたり見てみるといいんちゃう?
7472:2007/05/01(火) 19:52:09
>>73
どうもありがとうございます。vb drawingで検索したところ、
そのものずばりのURLがでてきました。実はサムネイル画像をつくりたかったんですが
その作り方がかいてあります・・http://www.atmarkit.co.jp/fdotnet/dotnettips/559thumbnail/thumbnail.html

どうもありがとうございました。助かりました。
75デフォルトの名無しさん:2007/05/01(火) 21:16:46
HEX()やOCT()みたいな関数で2進数に変換してくれる関数は存在しないのでしょうか?
76デフォルトの名無しさん:2007/05/01(火) 21:33:10
Convert.ToStringつかいなされ
77デフォルトの名無しさん:2007/05/01(火) 21:57:00
ASPとCOMでHTTP通信のReadとかWriteとかあるんだけど、
送信は好きな時に送ればいいけど、受信はイベントでも発生するの??
78デフォルトの名無しさん:2007/05/01(火) 21:59:25
すごい前衛的な日本語の使い方だなw
79デフォルトの名無しさん:2007/05/01(火) 22:11:31
>>76
ありがとございます。
これって0000-0000みたいに出力のフォーマットを指定することはできませんか?
80デフォルトの名無しさん:2007/05/02(水) 01:15:30
>>79

一例をあげると
string.format("0000-0000")
これじゃね?

もちろんほかにも色々あるけど、簡単なのはこれかな
8180:2007/05/02(水) 01:16:34
間違えたwww
convert.tostring(""0000-0000"")
まぁオーバーロード一覧見てみればいいよ
82デフォルトの名無しさん:2007/05/02(水) 08:18:06
恥ずかしい奴だなw
それって単なる0のプレースホールドしてるだけじゃないのか?
>>75をよく見ろよ
83デフォルトの名無しさん:2007/05/02(水) 09:15:12
>>82
 あ〜>>79だけ見てた
 指摘トン
84デフォルトの名無しさん:2007/05/02(水) 21:46:05
>>77
レスありがとうございます。
で本題の方は・・・
85デフォルトの名無しさん:2007/05/03(木) 17:09:28
VB2005で質問です。
win32 APIを使って他のWindowにアクセスするプログラムを作りましたが、
終了してもプロセスが残ったままになります。
アンマネージリソースの開放(?)とかが必要なのでしょうか。
もし、必要ならば具体的にどうすれば良いのでしょうか?
86デフォルトの名無しさん:2007/05/03(木) 17:25:21
プログラミングなんてやめてしまう、が正解。
たぶん才能ないし向いてないんだよ。
そんな質問の仕方をするようではね。
87デフォルトの名無しさん:2007/05/03(木) 17:36:20
Application.Exit
88デフォルトの名無しさん:2007/05/03(木) 17:54:24
解放でしょ
89デフォルトの名無しさん:2007/05/03(木) 18:15:14
>>85です。
解放ですね。。。。
Application.Exit とか Dispose() とかも試してますが上手くいかないです。
VS2005のデバックモードでは何も問題ないです。(これは当然か。。)

90デフォルトの名無しさん:2007/05/03(木) 21:53:07
>>86
ここに来る四角が無いw
91デフォルトの名無しさん:2007/05/03(木) 22:03:29
>>89
スレッドが残ったりしてない?Environment.Exit でどう?
92デフォルトの名無しさん:2007/05/03(木) 23:55:59
せめてこうすればよくわかるとは思うんだが
なにも想像がつかない

VB2005で質問です。
win32 APIの”A”を使って他の”Bにアクセスするプログラムを作りましたが、
”C”のような手順で終了しても”Dの”プロセスが残ったままになります。
アンマネージリソースの開放(?)とかが必要なのでしょうか。
もし、必要ならば具体的にどうすれば良いのでしょうか?


Aは使っているAPI
Bは外部のプログラムだろうけど呼び出しはどうしているのかなど(Shellで起動させた.Netのアプリ など)
Cは何をどのように終了させているか
Dは対象となるプログラム(Bプログラムなのか、そのAPIを使っているプログラム自身なのか)

べつに、こういう書き方が正しいわけじゃないけど
できるだけ詳しく書かないとエスパーじゃないんだし 叩かれるだけだぜ?

まぁ、>>89の状況から察するに自身のプロセスだろうけど
とりあえず終了するとき、ほかのWindowのインスタンスが残ってないかとか いろいろあると思うんだけどな

でもなんとなく・・・・>>91の予感がする
9370:2007/05/04(金) 00:19:41
>>71
遅レスすいません。

おかげさまでできました...
教えて頂いてありがとうございました。
94デフォルトの名無しさん:2007/05/04(金) 01:49:46
>>85です。

>>91さんのご指摘通りですっきりしました。 ありがとう。
Environment.Exit って知りませんでした。
大半の時間を【System.Threading.Thread.Sleep】している
お遊びプログラムなので、win32APIではなく、sleep中に
終了させてしまったということなのでしょうかね。
おかげさまで、デバッカと離すことが出来ますので良しとします。
95デフォルトの名無しさん:2007/05/04(金) 02:01:02
なんじゃそりゃ
96デフォルトの名無しさん:2007/05/04(金) 02:19:15
どっちにしろ>>94はPGとしてカスだな
知らないなら機能を調べてから使えよ
そのソフトの修正やバグ取りで尻拭いする人間のことを考えろ

Application.ExitとEnvironment.Exitの違いもどうせ調べてなさそうだし
97デフォルトの名無しさん:2007/05/04(金) 02:20:32
趣味グラマなんでしょ
98デフォルトの名無しさん:2007/05/04(金) 02:32:43
納得してしまった
99デフォルトの名無しさん:2007/05/04(金) 10:00:07
すいません。全くの初心者ですが質問させてください。
何故VB.netのスレのテンプレのリンク先がC#ばっかりなんですか?
100デフォルトの名無しさん:2007/05/04(金) 12:35:10
>>99
死ねカスが
100年ROMって勉強してから聞け
101デフォルトの名無しさん:2007/05/04(金) 14:39:49
>>100
99じゃないけど、カス厨うざいよ。
102デフォルトの名無しさん:2007/05/04(金) 22:04:15
超質問、これからVista用プログラム作りたいのだけど
Vistaのアカウント制御オン状態でコードサインが無いと実行するか毎回聞かれて
ウザいんだけど、作成したプログラムを配布するとしてどこからサインもらおう?
シェアウェア製作者とかどうしてるんだろう?
103デフォルトの名無しさん:2007/05/05(土) 18:47:36
VB.NET2005の
いくつかボタンがあるフォームの
Form Availableイベントに
Button2.Focus()
を書いてもフォームが表示されたときにボタン2にフォーカスがいかないのはバグ?
104デフォルトの名無しさん:2007/05/05(土) 19:10:22
>>103
Availableイベントなんて無いぞ。
たぶんActivatedのことだと思うが、そのときのCanFocusプロパティはFalseだから仕様だ。
Select()するかShownイベントでFocus()しろ。
105デフォルトの名無しさん:2007/05/05(土) 19:33:30
そうActivatedだった
106デフォルトの名無しさん:2007/05/05(土) 19:54:05
MSDNライブラリのFormメンバ説明で
Shown フォームが初めて表示されるたびに発生します。

初めて、という言葉と、たびに、という言葉があるが結局どういうことなんだ?
107デフォルトの名無しさん:2007/05/05(土) 23:15:05
>>106
いや・・・そのままだと思うんだが・・・・・
108デフォルトの名無しさん:2007/05/06(日) 00:07:50
(((Shown フォームが初めて表示される)*n)たびに)発生します。
109デフォルトの名無しさん:2007/05/06(日) 01:20:02
初めては1回しかないのに
たびは何回もということであり
110デフォルトの名無しさん:2007/05/06(日) 02:05:57
ここは日本語の解釈を質疑応答するスレになりました
111デフォルトの名無しさん:2007/05/06(日) 02:25:59
つーか解説読めばわかるだろ
112デフォルトの名無しさん:2007/05/06(日) 02:33:58
在日なんだろ?w
113デフォルトの名無しさん:2007/05/06(日) 04:34:17
VB初心者ですが、以下の件に関し教えて下さい。
テキストボックスで数字を小数点以下3桁表示にするには
どのような方法があるのでしょうか?
また小数点をチェックする方法はどのように行えばよろしいのでしょうか?
(誤入力で小数点が2つ入力されるのを防止するため)
114デフォルトの名無しさん:2007/05/06(日) 04:47:13
TextBox じゃないとダメなのか? NumericUpDown とか
115デフォルトの名無しさん:2007/05/06(日) 12:13:15
>>114
可能であればテキストボックスが良いのですが・・・
116デフォルトの名無しさん:2007/05/06(日) 13:15:18
1文字以上の数値の後 小数点があるかどうかチェックし、あれば以降の小数点はうけつけない
また、小数点がある場合以降3ケタしか許さない

とりあえずこのロジックをテキストボックスのチェンジイベントにでもいれてみれば?
これも実装できないんならちょっとそれ以前の問題かと…・
指定された文字があるかどうかは
instrでもつかえばいいっしょ
117デフォルトの名無しさん:2007/05/06(日) 13:19:42
あぁ、VB6と間違えてたw
折角だからこっちのがイイ罠

string.substring
118デフォルトの名無しさん:2007/05/07(月) 11:17:09
フォントにはBold Italic が選択できるフォントと
Boldしかないようなフォントがあると思いますが
これを判別するにはどのようにすればいいんでしょうか?
119デフォルトの名無しさん:2007/05/09(水) 11:06:43
VB2005Expressを使ってます。よろしくお願いします。

http://dobon.net/vb/dotnet/programing/registrysettingsprovider.html
ここを読んでいて思ったのですが、「設定プロバイダの自作」というのを行えば
My.Settingsで設定ファイルが保存される場所を、実行ファイルがあるフォルダ内
などに変更できるでしょうか?全然検討違いなことを言ってるでしょうか?
120デフォルトの名無しさん:2007/05/09(水) 21:10:04
できる。方向性は間違ってない。
121119:2007/05/10(木) 09:42:35
>>120
ありがとうございます! きちんと勉強してみようと思います。
122デフォルトの名無しさん:2007/05/10(木) 15:11:54
ごめん、ふとおもったんだけど
Windows.Formsにあるコントロールクラスの Controls.Remove(obj as control) についてです

例えば
Form1のControlsにForm2のインスタンスが格納してあって
Form1.Controls.Remove(Form2)
てやったばあい、Form2のインスタンスは
明示的にDisposeで開放予約もなにもしなくてもRemove側とGCで勝手に開放してくれて
こっちはその辺の処理は考えなくていいんでしょうか?
その辺の挙動がわからない・・・・
123デフォルトの名無しさん:2007/05/10(木) 16:30:36
Controlsは単なる集合だから、そこから削除されても別に関係ないと思うが。
結果、誰も参照無くなってGCの対象になるかもしれないが。
124デフォルトの名無しさん:2007/05/10(木) 18:08:15
初心者です。質問させてください

WEBサービス内でタイマーコントロールは使用できますでしょうか?

WEBサービスの処理の中で定期的に行いたい処理があるのですが。

ご教授よろしくお願いします
125デフォルトの名無しさん:2007/05/10(木) 22:05:16
なんかおかしくない?
126デフォルトの名無しさん:2007/05/11(金) 08:33:27
VBでコンソールアプリ書いてタスクで実行させる方が簡単じゃない?
127デフォルトの名無しさん:2007/05/11(金) 09:27:05
>>125
そんな気がするよな・・・・・
サービスじゃねぇのか
とか思ったりするんだが・・・・・
128デフォルトの名無しさん:2007/05/11(金) 11:55:50
2005でFlowLayoutPanelに10KByteX20ほどの画像を2列X10行で表示させ、スクロールできるようにしているんですが
スクロールする時に画像が綺麗にスクロールされず 見た目が悪くなっています。
なんかスクロール中に引き伸ばされたような感じになり、スクロールをやめるとすぐに正常に表示されます。
貼り付けたフォームのダブルバッファのOn Offは試しましたが効果がないような気がします。

どなたか解決策をご存知の方いらっしゃいませんか?
説明不足・・・かもしれませんが よろしくお願い致します。
129デフォルトの名無しさん:2007/05/11(金) 12:25:45
>>128
その文章じゃ、君がやってることもやりたいことも誰にも伝わらないと思う。
エスパーがいれば別だが。
130デフォルトの名無しさん:2007/05/11(金) 13:08:13
早くスクロールすると、再描画が間に合わずに
「スクロール中に引き伸ばされたような感じ」に描画されてるんじゃ
ないかと受信した。

解決策: PCを買い換える。
131デフォルトの名無しさん:2007/05/11(金) 13:08:36
うわぁぁ
× 早く
○ 速く
132デフォルトの名無しさん:2007/05/11(金) 13:18:55
>>129
ごめんなさい 説明がうまくできずにごめんなさい

>>130
そのとおりなんです
で、早くするというか スクロールバーをドラッグして引っ張ると
ゆっくりでも引き伸ばされたような感じになってしまいます。

PC買い替えは・・・ちょっと無理だと思います(;´Д`)
まぁ、開発側でもそれなりになるのでユーザー側でもそうなるんじゃないかって懸念があるので
ソフト側で出来る限りその減少を押さえ込みたいなと思いまして。
133デフォルトの名無しさん:2007/05/11(金) 13:29:19
>>128
●グラボ買い換える Or ドライバを最新にする
●DataGridView使う

以上適当に言ってみますた
134デフォルトの名無しさん:2007/05/11(金) 14:15:18
>>133
やっぱそんな感じになりますか(;´Д`)
まぁ、最悪時間かけてグリッドにでも展開するかなんかしたほうがいいのかもしれませんね・・・

135デフォルトの名無しさん:2007/05/12(土) 04:03:03
>>134
うちではそんな現象にならないけど。
画像が重いんじゃねーの?
136デフォルトの名無しさん:2007/05/12(土) 19:55:53
昔Access2000のVBAでできあいのアプリをいじったことある程度の者です。
先日思い立ってフリーになったというVisual Basic2005をインストールしました。
(はじめどこから落とすのかまるで見当つかなかった…)

で、フォームの開き方やIsNull関数の仕様の変更につまづきながらもなんとか目的のおもちゃは出来ました。
が、何も考えずプロジェクト名をWindowsApplication1で保存してしまって、そのまま発行したら
インストール時のアプリケーション名がWindowsApplication1になってしまいました。
そもそもこんなおもちゃ、setup.exeからインストールするような形態で配布するようなもんじゃないし…。

というわけで3つ質問があります

1.上記のようにsetup.exeからインストールするのではなく、普通のフリーソフトのように
  zipから解凍すれば即使えるような形態にするにはどうすればよいでしょうか?
2.発行される実行ファイルに好きなアプリ名をつけるにはどうすればよいのでしょうか?
3.このアプリで作ったファイルを実行するには.NET Framework2.0必須でしょうか?

宜しくお願いします。
137デフォルトの名無しさん:2007/05/12(土) 21:14:40
そもそも発行する必要もない。
138デフォルトの名無しさん :2007/05/13(日) 00:24:02
その知識で作った「目的のおもちゃ」が何なのか知りたい。
1と2は入門書を見ればすぐに載ってる。バージョン管理の方法まで。
3→必須です。
139デフォルトの名無しさん:2007/05/13(日) 05:52:49
>>137
>>138
お答えをヒントになんとかわかりました。ありがとうございます。
まさかあんな奥底にこっそり作られてるとは思わなかった…。
名前もプロジェクトのプロパティだったとは。
140デフォルトの名無しさん:2007/05/13(日) 09:02:47
よろしくお願いします。2005 Expressを使ってます。
TabControlコンポーネントでタブの幅をぴったりにする方法がわかりません。
http://www.imgup.org/iup380282.gif
Paddingプロパティで、ある程度は幅を広げられるのですが、ぴったりにはなりません。
SizeModeプロパティをFixedにすると、どこかにタブ幅を決めるところがあるのかと
思っても、見つかりません。

ぴったりにする方法をよろしくお願いします。
141デフォルトの名無しさん:2007/05/13(日) 10:21:56
>タブ幅を決めるところがあるのかと思っても、見つかりません。
見つからないのではなく、探す気がないだけでしょ。
TabControlメンバ一覧をよくみた方がいいよ。
人に教えられるより自分でみつけた方が気分いいでしょ
142デフォルトの名無しさん:2007/05/13(日) 11:34:09
プラグイン用インターフェイスで使用可能な型について教えてください。

プラグイン機能の開発を試みています。
プロパティでFontオブジェクトをやりとりしたいと考えていますが
インターフェイスの記述で、System.DrawingがImportsできません。
どういった実現方法があるのか、教えてください。

Imports System.Drawing '←記述不可

Namespace Plugin
    Public Interface IPlugin
        ReadOnly Property MainFont() As Font '←で使用したい
    End Interface
End Namespace

VB2005stdです。よろしくお願いします。
143142:2007/05/13(日) 11:45:20
>>142
自己解決しました。
参照設定すればOKでした。
144デフォルトの名無しさん:2007/05/13(日) 22:30:23
VB2005を使っているのですが
フォームに様々な多角形や枠付線を描写する場合
PictureBox貼り付けてそれをイベントの方で各点のxy座標を指定して変形させて描写するしかないんでしょうか?
画面に対して縦横のラインが直角や平行ならいいんですが、斜め45C以外に書いたりする複雑な図形があるので少し手間取っています

あれだけボタンなどのアイテムがあるのならペイント系のアイテムもあってもよさそうなんですが、そういったものは存在しないんでしょうか?

どうかご助言の方をよろしくお願いいたします。
145デフォルトの名無しさん:2007/05/13(日) 22:43:05
何を求めてるのかさっぱり分からん
取りあえず開発環境はお絵かきソフトじゃないぜ?
146デフォルトの名無しさん:2007/05/13(日) 23:54:49
簡潔にいうとフォームに手軽に図形を描きたいという事です

現状はピクチャボックスを塗りつぶしてイベントのほうで描写をし直して
各点(四角形なら4点)の位置を調整して様々な図形に変形させているので各点の座標を調整するのに手間がかかってしまう・・。
普通に正方形だとピクチャボックスそのまんまの形でいいんですが
ダイヤ型や、星型、Σみたいな形などの複雑な形になると各々の点の座標を修正しては実行して確認の繰り返しをやっています。


ペイントで画像描いて貼り付けようともしましたが各図形の色を変更させたりしたいのでその枚数分を使うとなるとプログラム的に大きくなりそうなので自分で描写した方がいいのかなという結論に至りました。
こういう図形を描写しそれの色を変更などをしたいプログラムを作成する場合はどういった方法が一般的なのでしょうか?
こういったプログラムを作成されている方が折られましたら是非助言をお願いしたいです・・・よろしくお願いします。
147デフォルトの名無しさん:2007/05/14(月) 00:01:17
Graphicsクラスを使用しています↑
148デフォルトの名無しさん:2007/05/14(月) 00:04:15
正直、そんなこともできんのならプログラマなんてやらん方がいいと思うわ。。
149デフォルトの名無しさん:2007/05/14(月) 00:05:46
誰だって初心者の時期はあるだろ
150デフォルトの名無しさん:2007/05/14(月) 00:14:34
いや初心者だからわからんとかそんな次元じゃないな。
考える力が決定的に掛けているか、そうでなければ算数レベルの数学能力すら
ままならんのだろう。

いずれにしろプログラマとしては致命的だな。
151デフォルトの名無しさん:2007/05/14(月) 00:23:43
>>150
どこで数学能力使う?
152デフォルトの名無しさん:2007/05/14(月) 00:27:25
>>147-151
Graphicsクラスで初心者云々ということならよりもっと簡単な別な方法があるということでしょうか?
153デフォルトの名無しさん:2007/05/14(月) 00:40:51
そうじゃなくて、その程度の思考力がないなら
プログラミング以前の問題があるだろうという話。
154デフォルトの名無しさん:2007/05/14(月) 00:52:53
思考力ですか?
>>146の描写方法の考え方がおかしいということでしょうか
155デフォルトの名無しさん:2007/05/14(月) 00:58:21
Graphics以外での描写方法を知りたいんなら思考力も計算能力もまったく関係ない気がするだけど
156デフォルトの名無しさん:2007/05/14(月) 01:02:03
とりあえず

つpolygon
157デフォルトの名無しさん:2007/05/14(月) 01:02:44
>ダイヤ型や、星型、Σみたいな形などの複雑な形になると各々の点の座標を修正しては実行して確認の繰り返しをやっています。

方眼紙に書いてからやればいいじゃね?
158デフォルトの名無しさん:2007/05/14(月) 02:09:22
>>150
おまえアホだな。
>>146が職業プログラマとは限らんし、プログラムにわからない事があるだけで
自分の資質なんて考えちゃいないだろ。

中学〜高校と英語を勉強してきた普通の人たちが簡単な英語の翻訳を質問したら
「お前は通訳としては致命的だな」なんてコメントするか?
159デフォルトの名無しさん:2007/05/14(月) 07:17:21
>>158がいいこと言った!
160デフォルトの名無しさん:2007/05/14(月) 07:27:29
>>158
ウンコ触るな
161デフォルトの名無しさん:2007/05/14(月) 09:43:30
どういうプログラムなのかが気になる。
お絵かきソフトもどきを作るのではなくて、あらかじめ決まった数種類の図形をボタンのクリックや
タイマーなどのイベントで色を変えたり図形を変えたりしたいということかな?
座標の指定は手作業しかないんじゃ?
あとは156に言った多角形を書くpolygonとか。多角形を塗りつぶすFillPolygonとか。

162デフォルトの名無しさん:2007/05/14(月) 09:58:56
つうかもう固定で描画するなら画像はっつけろよwwwwww

163デフォルトの名無しさん:2007/05/14(月) 12:40:32
>>158
日本語書けよ。

あのねえ、プログラミング(に限らないが)には「知識や経験」だけでなく
ある程度の「資質」が必要とされるんだよ。当たり前だろ。

単に知識や経験が不足しているのなら学習して補っていけば済む。
ここがそういう場所であることには俺は異論はないよ。

でも資質が欠けていたらどうしようもないよ。
何やったって最初から無駄。
155cm43kgの奴が相撲取り目指すようなもんで、本人にとっても不幸なだけだろ。

もちろんそれでもどうしてもやりたいんだ、っていうのなら別に勝手にすれば。
でも>>146みたいなこと聞いてるようじゃ何ひとつまともなプログラムなんて
書けるようにならないことは俺が請け負うよ。
164デフォルトの名無しさん:2007/05/14(月) 12:46:34
すみません、返答遅れました

>>155-162
レスありがとうございます。

>>156
Polygonですか?
どういったものか調べてみたいと思います。

>>161
>あらかじめ決まった数種類の図形をボタンのクリックや
>タイマーなどのイベントで色を変えたり図形を変えたりしたいということかな?
簡単に言うとそういうことになります
それと図形の位置の調整はやはり座標を手作業でしかないんですね、分かりました
例えば多角形の場合、実際にコードを実行して描写を確認しないといけないので、そこに便利な方法が無いのかと疑問に思っていました。

>>162
確かに画像を貼り付けた方がフォーム上で簡単に位置を修正したりできるのですが
何分図形の数が多いので数*色数で大体で言うと100枚前後の画像が必要になってくるのですが
フォームにそれだけのピクチャボックスを乗せるとなるとやはり処理や動作に支障をきたすのではないのでしょうか
165デフォルトの名無しさん:2007/05/14(月) 12:48:47
画像をファイルにしといてLOADすればよかんべ。
せめて、入門本ぐらいは読もうよ。
仕事でめったに使わない画像の読み込みとか出てるから。
166デフォルトの名無しさん:2007/05/14(月) 12:54:18
まぁ背景色の変更はソリッドとかであれば結構簡単に出来るから画像でもいいならそれも可能かと・・・
ただ、それを拡大縮小になってくると微妙だけど(;´Д`)
167デフォルトの名無しさん:2007/05/14(月) 12:58:42
他人に配布するかしないかにもよるけどなぁ。
フォームに百枚のピクチャーボックス??なんでその必要が?
>>165の言うとおりです。
例えばだけど、
一つのフォルダにまあ百枚なら百枚の図形を入れて、フォームロード
時に配列かなにかにそのパスを入れて、PictureBoxのImage.FromFile
で画像を切り替えればいいんじゃない?
168デフォルトの名無しさん:2007/05/14(月) 13:01:04
100枚配布するのが嫌ならリソースにつっこんどけ

ちなみにこの方法のメリットはプログラムを直さずに画像の差し替えで対応できるという点
とうぜん変更勝手にされちゃうとかのデメリットもあるが・・・
169デフォルトの名無しさん:2007/05/14(月) 13:21:01
>>165-168
ひとつのピクチャーボックスに代わり代わりで画像を読み込ませればいいという説明でしょうか?

それでしたらすみません、説明不足でした
100枚というのはひとつのピクチャーボックスに100枚の画像を入れ替えて表示するのではなく
フォームに位置が違う100箇所ぐらいのピクチャーボックスを配置してそこに画像を読み込ませてそれぞれ色を変化させたりして表示するということです。
100枚同時に表示させる必要があるんです。
色を変える場合はピクチャーボックスの中身の画像を色が違う画像とすりかえればいいのですが・・そういうことですよね?
170デフォルトの名無しさん:2007/05/14(月) 13:23:44
あ、それとも
必要毎にフォルダから画像を読み込ませるということでしょうか
そういうやり方だと負担が減るのかな
171デフォルトの名無しさん:2007/05/14(月) 13:49:23
1フォームに画像が100個程度あるってことでFA?
で、それらは同時に色が変わったりするの?
それとも個別に色が変わったりするのかな?
その辺の動作周りをもう少しkwsk
172デフォルトの名無しさん:2007/05/14(月) 13:54:47
>>171
説明ということで書いていたので100まではないんですが大よそで60前後の様々な形の画像を表示させるつもりです
色は同時に変わったり、個別に変わりもします・・要するに個別ということですよね;
173デフォルトの名無しさん:2007/05/14(月) 13:55:45
処理的に厳しいでしょうか;
174デフォルトの名無しさん:2007/05/14(月) 13:59:09
質問者は名前欄に最初のレス番号入れてけれ。どれがどれか分からん
175144:2007/05/14(月) 14:08:12
そうですね、すみません・・
176デフォルトの名無しさん:2007/05/14(月) 14:58:34
フォームに60個のピクチャーボックス??
それをコードで書く気なの?すごい…。そんなプログラム組みたくない…。

まあ、するのなら同じ図形で色だけ違う画像ファイルを1セットにするか、
コードで書いてbrushesを変えて色を変えるかだろうけど。色をランダムに
変えていいのなら、コードの方がいいかもな。

フォームに動きを加えるのはいいことだと思うけど、一体どんなプログラムで
どんな人を対象に作ってるのか差し支えなければ教えてよ。
177デフォルトの名無しさん:2007/05/14(月) 15:28:18
まぁあ60個を同じ処理にするってのならハンドラちょこっといじればいけるだろうけど
出来れば想定する最低環境も知りたいところであったりもする

つうか・・・勉強の為に60個のピクチャボックスフォームにのっけて画像表示させてみるってのテストしてみようw
メモリは画像の大きさにもよるだろうけどさ・・・・
178デフォルトの名無しさん:2007/05/14(月) 15:54:36
>>176-177
やはり珍しいケースなんですね
私自身もVB初心者だしどうなるか・・。

処理に関しては仮に作ったプログラムで確認したんですが
Graphicsで図形作ったコードですと色買えなどの処理は関数を作ってやってあとは各々で読み出すだけで簡単にできました
ただ処理以前に座標で指定する多角形を60個作るとなると位置調整で頭が痛くなりそうです・・。

画像の場合はまだよく分からないので未知数ですが
とりあえず処理速度にしろ、作成方法にしろ色々教えていただいたことを試してみたいと思います。
179デフォルトの名無しさん:2007/05/14(月) 16:02:07
>>178
> ただ処理以前に座標で指定する多角形を60個作るとなると位置調整で頭が痛くなりそうです・・。

前々から思っているんだが、ここがおかしいだろ。
一体何の調整がいるって言うんだ。
180デフォルトの名無しさん:2007/05/14(月) 16:03:31
ちなみに一般的に有効にプログラミングをするとした場合
この例ですと
Graphicsで画像を描写する方法と、画像を読み込んで表示させるのはどちらが効率的だと判断できるんでしょうか?
181デフォルトの名無しさん:2007/05/14(月) 16:05:37
>>179
多角形が一つ一つ形が違うのでその形を形取るための多角形の頂点の座標の調整と
それをフォームのどのあたりに表示させるかの座標の調整の二つです。
182デフォルトの名無しさん:2007/05/14(月) 16:16:05
>>180
有効にって言葉も幅外広いからなぁ・・・
何かを取れば何かを失う部分もあるし

画像でやれば画像作るのはめんどくさいけど
後々変更してくれとか言われた時にコーディング量は減るし(考え方によればコーディングすらも必要ない 画像の追加・変更だけでよい)

自分で書けば融通の利く処理が出来るがその分修正にソフトの書き替えが必要だし

俺なら 表示させるサイズが固定であればこの場合、画像を選ぶ
完全に動的サイズになるなら自分で書く かな?
183144:2007/05/14(月) 16:23:14
>>182
なるほど・・・
だとしたら図形は色は変わりますがサイズは固定なので画像の方がいいかもしれませんね
そもそもモニタ自体のサイズがまだ未定だったのでそこから決定していかないと画面座標でやってたらずれてしまいますね;
参考にさせていただきます、ありがとうございました。
184デフォルトの名無しさん:2007/05/14(月) 16:25:53
>>183
あれだ、画像だけPNGとかで読み込んで背景色はバックグラウンドカラーという手もあるっちゃぁ・・あるとおもうんだ
185デフォルトの名無しさん:2007/05/14(月) 16:28:03
図形はベクタデータで持っとけば色変えたり拡大したりするのも簡単なんじゃねえの?
186デフォルトの名無しさん:2007/05/14(月) 16:32:30
>>185
俺もそう思う
けど、どうも質問者的に難しそうなので俺は簡単な実装方法を提案してみたさww
187デフォルトの名無しさん:2007/05/14(月) 16:34:54
モニタの解像度依存でずれるとか言ってるし……
もうね……
188デフォルトの名無しさん:2007/05/14(月) 16:39:44
ラベルに[m2]って書いて2の部分を上付けに指数表示にしたいんですがどうやればいいんすか?
189デフォルトの名無しさん:2007/05/14(月) 16:40:43
>>150がプログラマとしては致命的なのは分かったからすっこんでろ^^
190デフォルトの名無しさん:2007/05/14(月) 16:42:46
いまさらそんな遠距離レスつけなくても^^
191デフォルトの名無しさん:2007/05/14(月) 16:44:23
>>188

192デフォルトの名無しさん:2007/05/14(月) 16:56:43
>>190に言ってるんだよ^^
193デフォルトの名無しさん:2007/05/14(月) 17:10:17
俺じゃねえよ^^
194デフォルトの名無しさん:2007/05/14(月) 17:11:57
ばかまるだしだ・・・
195デフォルトの名無しさん:2007/05/14(月) 17:12:06
そうやって書いたら[msup2;]っラベルのテキストに表示されるんですが…
196デフォルトの名無しさん:2007/05/14(月) 17:15:18
それは書き方が悪いんだろ
197デフォルトの名無しさん:2007/05/14(月) 17:20:18
>>193
墓穴掘らなくていいよ
198デフォルトの名無しさん:2007/05/14(月) 17:22:43
ちゃんと>>191のとおりにかいたよー
199デフォルトの名無しさん:2007/05/14(月) 17:24:32
>>195
専ブラとかのコピペしてたら超笑えるwwwww

へいほーめーとる
で変換してラベルに入力しろや
200デフォルトの名無しさん:2007/05/14(月) 17:27:52
へいほうめーとるで変換できるんかいー!うまくできたわみんなありがつ
201デフォルトの名無しさん:2007/05/14(月) 17:32:50
い・・・一体なんだったんだ・・・・(;´∀`)
202デフォルトの名無しさん:2007/05/14(月) 18:11:01
2つのビットマップ(実際の画像と、モノクロのマスクパターン)を用意して透過処理を
したいんですけど、VB.NETでどう実現するのやらさっぱりで。

VC++6.0とかで BitBlt 関数使って描画するのとかはやったことありますのでその程度の
知識ならあります。誰かヒントとなるリンクだけでもいいですから教えてください。

できれば VS2003、.NET Framework1.1 の環境下で動くのでお願いします。
203デフォルトの名無しさん:2007/05/14(月) 18:17:26
Graphicsでアルファブレンド っつうのはどうっすか?
204デフォルトの名無しさん:2007/05/14(月) 18:35:03
>>202
GDI+はPNGをサポートしてる。
ここまで言えばわかるよね?
205デフォルトの名無しさん:2007/05/14(月) 18:36:46
ああでも遅いから速度が必要なら自分でBitBltでマスク処理した方がいいかもね。
206デフォルトの名無しさん:2007/05/14(月) 18:38:21
もひとつ忘れた。
別にPNG使わなくても、GDI+には透過色を指定する機能もある。

まあしかし、自分でこれだけ答えておいてなんだけど、
少しはMSDNライブラリ読めよ。
207202:2007/05/14(月) 18:52:36
>>203-206
レスありがとうございます。

とりあえずマスクパターンを使うのじゃないですけど、MakeTransparent ってので
透明とする色を指定することで対応はできました。

マスクはどうやんのかまださっぱりですけど。

MSDNは・・・読んでみたんですけど、どこに必要な情報があるのかすらたどり着かなくて。
申し訳ございません。

もう開発から設計に移って5年ぐらい経つんですが、
「過去に似た様な処理をVC++で作ったことがあるから」って理由で借り出されたものでして。

オジサンもう疲れたよ・・・orz
208デフォルトの名無しさん:2007/05/14(月) 19:01:53
>>207
ご苦労様w
マスク処理は.NETネイティブの機能だけでやるのはきついと思う。
描画サーフィスをビットマップに転送する機能がGDI+にはないからね。

つまりWin32のBitBltつかって昔ながらの方法でやるしかない。
209202:2007/05/14(月) 19:11:06
>>208
>つまりWin32のBitBltつかって昔ながらの方法でやるしかない。

そうですか。その情報だけでもありがたいです。ありがとうございます。

最近の小僧どもはゆとり教育のせいか、開発言語が複雑になりすぎたせいかで
すぐに諦めて「できません」とかほざくもので・・・すみません、愚痴ですね。

今から自分の仕事やりますw
210デフォルトの名無しさん:2007/05/14(月) 19:18:28
>>209
みると俺の環境は恵まれてるんだなぁ・・・と痛感する
211デフォルトの名無しさん:2007/05/15(火) 07:42:55
できませんはただの報告だからいいんじゃないの?
やりたくありませんと言ったら鉄拳制裁ものだが。
212デフォルトの名無しさん:2007/05/15(火) 09:51:44
>>211
出来るはずのものをできませんとかねーよ
>>209の例だと調べりゃこのスレでもでてた即いくつかの方法や代替案がでてくるだろう どれだけレベル低いんだよ
低いなら調べたなりに出来ない根拠や別の案があるけど、多分あの様子だとないんだろうな・・・
213デフォルトの名無しさん:2007/05/15(火) 10:41:50
Delphi製の、Pchar型の文字列を渡すとPchar型の文字列が返ってくるDLLを使いたいと思い、
DLLを使う方法までは調べたのですが、データ型としてPcharが使えません。
VB2005から、Pchar型を使うDLLを使用する方法は無いでしょうか?
214デフォルトの名無しさん:2007/05/15(火) 17:07:25
PCharいうたら短い文字列へのポインタだったか?
Charset=Charset.ANSIを指定してDllImportすりゃいい。
型はStringBuilderだ。
215デフォルトの名無しさん:2007/05/15(火) 17:15:54
渡す方はStringで、受けとるほうがStringBuilderだな。
一つの引数で上書きされるなら、StringBuilderか。
216213:2007/05/15(火) 18:35:56
>>214-215
ありがとうございます! 教えていただいた単語を手掛かりに頑張ってみます。
217デフォルトの名無しさん:2007/05/16(水) 16:06:05
インターフェースなんですが、Implementsを書いたあとにIntelliSense見たいに
実装を挿入することって出来ないのでしょうか?

実装しないでビルドするとエラーの説明で、実装すべきメソッドが表示されるので
あっても良さそうなんですが。。。
218デフォルトの名無しさん:2007/05/16(水) 16:14:19
質問です。

ローカル上のIPアドレスからホスト名を取得しようとしています。
2.0だとDns.GetHostEntryを使うようにとあったので

x = System.Net.Dns.GetHostEntry("**.**.**.**").HostName

このようにしていました。
Win2k上では正常にホスト名を取得していたのですが、XP上ではIPアドレスしか取得できません。

Resolveを使うと取得できたのですが、旧形式だと警告されてしまいます。
他に取得する方法はないでしょうか?
よろしくお願いします。
219デフォルトの名無しさん:2007/05/16(水) 18:02:39
VB2005でアプリ作りました。で、匿名で公開したいんですけど、
これどこかにコンピュータネームやWindowsのユーザーネームが埋め込まれてるってことはないですよね?
わけわからずにClickOne使った時、勝手に上記が埋め込まれてたのでビクビクしています。
リソースハッカーでみた限りはないようなのですが。
220デフォルトの名無しさん:2007/05/16(水) 18:02:42
>>217
できるよ
例えば 新しいクラスで

implements idisposable○

ここでEnter押したらそのクラスの一番下に入ってないか?
221デフォルトの名無しさん:2007/05/16(水) 18:03:35
>>218
新形式使えれ
222217:2007/05/16(水) 18:52:59
>>220
ありがとうござます。
もう少しでスニペットで一個一個作るところでした。
223デフォルトの名無しさん:2007/05/16(水) 20:14:55
ファイルを解凍するときに
既にUNLAH32.DLLは動作中ですってエラーがでるのだけど
UNLAH32.DLLを終了処理するには、どう記述したらいいですか?
224デフォルトの名無しさん:2007/05/16(水) 20:32:39
うまく表現できないんだけど、必ず
  Public X as Single
  Public Y as Single

の二つのフィールドを持つ値型、みたいな型の指定ってできないかな?

もちろんインターフェイスを使えば近いことは可能なんだけど、
構造体の配列をストリーミング的に渡すような使い方をしたいので
パフォーマンス的な理由でなるべくならインターフェイスは使いたくない。

こういう場合、やっぱり特定の型の構造体の配列をベタに引数に取るようにするしかないのかな。
225デフォルトの名無しさん:2007/05/16(水) 20:33:25
実行中のプロセスがあるからじゃないのか?
プロセスみてみてKillすれば?
つうか、動作中です って出てるのを終わらせるのは・・・あんまお勧めしないが?
まぁどういうソフト組んでるかにもよるし・・・

自分で1回UNLAH32.DLLをつかって解凍したあとの動作なのかな?

もしそうじゃないとすれば、UNLAH32.DLLを使うようなソフトは?
WindowをSafeモードで起動して 自分のソフトで解凍しようとしてもそうなるの?
226デフォルトの名無しさん:2007/05/16(水) 20:36:26
>>224
構造体でいいと思うんだけど・・・
少なくとも俺はそうしてる
C++なら別のやり方もあるけど・・・

そこまでパフォーマンスを気にするなら何か他のところで余裕で稼げそうな気がする
227デフォルトの名無しさん:2007/05/16(水) 20:40:40
>>225
自分で1回UNLAH32.DLLをつかって解凍したあとの動作です。

開放処理する必要があるのでしょうか?
その場合どう記述したらよいのか・・・
228デフォルトの名無しさん:2007/05/16(水) 20:45:53
>>227
ということはアンマネージリソースが開放されてないんじゃないかと予想してみる

多分解凍が終わったら引数が帰ってくると思うんだけど・・・・
それがちゃんと出来てるなら

MarshalクラスつかってComObjectかどうか調べて
ReleaseComObject でキチンと開放してやってみてはどう?
229228:2007/05/16(水) 20:48:06
ごめん、書き忘れ
そういえば
UnlhaGetrunning
みたいな現在実行中かどうか調べる関数なかったっけ?

実際にやってる処理差し支えなければ書いてみれば きっと皆こたえてくれるような気がするけどw
230デフォルトの名無しさん:2007/05/16(水) 21:02:33
>>229
'LHA書庫操作を行う
Private Declare Function Unlha Lib "Unlha32" (ByVal hWnd As Integer, ByVal szCmdLine As String, ByVal szOutPut As String, ByVal dwsize As Integer) As Integer

'ファイルのダウンロード
Internet.DownloadFile(URL1, FileName1)
'書庫の解凍
Dim UnlhaLzhFile As String '書庫ファイル名
Dim UnlhaDir As String 'ファイルのパス
Dim UnlhaFiles As String'ファイル(ワイルドカード指定可)
Dim UnlhaSwitch As String '書庫操作命令
Dim UnlhaOptions As String '書庫操作スイッチ
Dim UnlhaCommandString As String'Unlhaのコマンド
Dim UnlhaRetunValue As Integer '書庫操作の結果戻り値
'各種パラメータの設定
UnlhaLzhFile = My.Settings.FilePath01 '"C:\お気に入り.lzh"
UnlhaDir = "C:\Documents and Settings\My Documents\My eBooks\My eBooks\"
UnlhaFiles = ""
UnlhaSwitch = "x"
UnlhaOptions = ""
'ファイル名の前後にダブルコーテーションを付加
UnlhaLzhFile = """" & UnlhaLzhFile & """"
UnlhaFiles = """" & UnlhaFiles & """"
UnlhaDir = """" & UnlhaDir & """"
'各種パラメータの値を元にコマンドを作成
UnlhaCommandString = UnlhaSwitch & " " & UnlhaOptions & " " & UnlhaLzhFile & " " & UnlhaDir & " " & UnlhaFiles & " "
UnlhaRetunValue = Unlha(0, UnlhaCommandString, Nothing, 0) '書庫操作を行う 解凍
231デフォルトの名無しさん:2007/05/16(水) 21:27:21
>>226
やっぱりそれしかないのかな。。

値型用の(ボックス化されない)インターフェイスみたいなものがあっても
いいように思うんだけど。
232デフォルトの名無しさん:2007/05/16(水) 21:29:07
FreeLibrary()
233デフォルトの名無しさん:2007/05/16(水) 21:34:29
>>230
とりあえずウチの環境でVer2.55のDllつかって
パスだけ変えて動かしたらちゃんと動いてるよ

ソフトの中で同じ処理3回呼んだけど
問題なかった

なにか止まっているとかじゃないかな?

>>231
の呼んで開放してやるといいかも
234デフォルトの名無しさん:2007/05/16(水) 23:00:57
初歩的な質問ですがお願いします
参照設定で X を指定する
これはソリューションエクスプローラの参照設定からX追加という作業でよろしいんでしょうか?
これは何を意味しているのでしょうか?
235デフォルトの名無しさん:2007/05/16(水) 23:51:44
>>234
それでいいよ

意味するところは
ある機能に特化した機能の塊を使えるようにする為

ざっくり言えば
Formやボタンなんかが使えるのは使いやすいように最初から
System.Windows.Form
っていうクラスを参照している感じ

236デフォルトの名無しさん:2007/05/17(木) 00:06:41
>>235
わかりやすい説明でありがとうございます
237デフォルトの名無しさん:2007/05/17(木) 00:16:28
いやそれで納得しちゃダメだってw
>>235はImports文によって名前空間の「パスを通す」ことと
プロジェクトのアセンブリの参照設定を混同してる。

234が言ってるのは前者。235が言ってるのは後者
238デフォルトの名無しさん:2007/05/17(木) 00:17:26
すまん前者と後者が逆だな
239デフォルトの名無しさん:2007/05/17(木) 00:26:18
240デフォルトの名無しさん:2007/05/17(木) 00:28:53
コピペ君って馬鹿だな、まで読んだ。
241デフォルトの名無しさん:2007/05/17(木) 00:42:08
つうか 普通にラベルとテキストボックス30個くらい貼り付けたフォーム開いたら
奇麗に表示されないんだけどどうなのよ
VB6で同じことやったら普通に開くのになぜドトネトのほうが遅いんだ?????
242デフォルトの名無しさん:2007/05/17(木) 00:44:46
WindowsFormsはそんなもん
243デフォルトの名無しさん:2007/05/17(木) 00:47:42
マジで???
Javaも大概重いと思ってたけどそれに同じくらい重いのな(´ヘ`;)
P4 2.4Gでそれなりに重いからWin2000とかの昔のに入れたらもっと重い感じがするってことなのか…・
orz
244デフォルトの名無しさん:2007/05/17(木) 01:04:34
ハリボテの表示が遅いだけで処理は遅くないぞ
245デフォルトの名無しさん:2007/05/17(木) 01:15:43
>>244
UIの描画とかが遅いだけってことなのか
ちょっと安心したよ あの調子で全体遅かったらつかえねー とか思ってたんで

フレームワークがJAVAみたいな資産に足引っ張られてgdgdにならないことを祈りつつ頑張って勉強してみるよ
246デフォルトの名無しさん:2007/05/17(木) 01:22:53
まあどうせ WinForm は WPF にまるごと置き換え予定だしな
少なくともあと5年ぐらいは掛かるだろうけど
247デフォルトの名無しさん:2007/05/17(木) 01:23:58
初心者なんですけど
コンパイルするときに
"cl ファイル名"でやると、
「"cl"は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチファイルとして認識されていません。」
ってでるんだけど"cl"じゃ駄目なの??
248デフォルトの名無しさん:2007/05/17(木) 01:33:08
ここはVB.NETのスレですが・・・
249デフォルトの名無しさん:2007/05/17(木) 07:55:59
vbc hoge.vb で幸せになれると思うよ。vjcでさらに・・・
250デフォルトの名無しさん:2007/05/17(木) 11:20:04
ttp://msdn.microsoft.com/library/en-us/shellcc/platform/shell/programmersguide/shell_adv/bands.asp?frame=true#desk_bands
このタスクバーにアプリケーションを乗せたいんだけど、やり方がさっぱりなんだ。
どこから手を付けたらいいか教えてください。
251デフォルトの名無しさん:2007/05/17(木) 11:57:01
「幸せになれる」って言葉使うヤツきもい
252デフォルトの名無しさん:2007/05/17(木) 12:02:58
>>250
アプリケーションを乗せるってのはグーグルツールバーみたいなアドインのこと??
253250:2007/05/17(木) 12:11:03
>>252
Google Deskbarにみたいにです。
タスクバー右クリック->ツールバーで選択できるようにしたいのです。

機能は検索するとかそういうのを作りたいわけじゃないんですが、
まだタスクバーに作ったアプリを起動させることができないので。
254250:2007/05/17(木) 12:18:13
DeskBandと言うらしいのですけど、そこからがわからない。
255デフォルトの名無しさん:2007/05/17(木) 12:32:46
どっちかというとosの仕様に関する知識になるのかねえ。
こういう資料ってどこにあるんだろう。
256デフォルトの名無しさん:2007/05/17(木) 13:15:31
>>250
BandObjectでぐぐれ
257デフォルトの名無しさん:2007/05/17(木) 13:17:31
QTTabBarがやってるな。C#製らしいけど。
ってみてみたら>>256を使ってるみたい
258デフォルトの名無しさん:2007/05/17(木) 15:45:47
BandObjectってC#なのか?VBじゃ使えんの?
259デフォルトの名無しさん:2007/05/17(木) 15:47:35
使えるだろ・・・・
260デフォルトの名無しさん:2007/05/19(土) 00:01:57
ビルドでbinフォルダにEXE作るとして
他のフォルダのdllを読込む時、
binの中に勝手にdllがコピーされるので、
binのdllを削除したら
「依存関係の 1 つが読み込めませんでした」
というエラーになりました。

この状態でもdllの参照が可能になるには
どうすれば良いでしょうか?
261デフォルトの名無しさん:2007/05/19(土) 00:06:56
>>260
ドットネットフレームワークのDLLがどう登録されてるんだろうな?
ほかのDLLはどこに登録されてるんだろうな?

でも、基本的にそっちのが俺はいいと思うんだが…
262デフォルトの名無しさん:2007/05/19(土) 00:11:29
なんでこう DLL を嫌がるんだろうね
263デフォルトの名無しさん:2007/05/19(土) 00:13:23
>>260-261
日本語書けよ。
エスパー同士の会話か?w
264デフォルトの名無しさん:2007/05/19(土) 03:42:50
>>260
無闇には勧めないがGACに登録。
265デフォルトの名無しさん:2007/05/19(土) 04:15:46
無闇じゃなくても薦めるなそんなの。
266デフォルトの名無しさん:2007/05/19(土) 20:25:46
初心者でまだテストコードも書いてないんですが、方針を教えてください
Class A
Inherits Base
Function b() as string
・・・・
End Function
End Class

Class Base
Function a() as string
return b
End function
Function b() as string
・・・・
End Function
End Class

となっているときに、継承クラスであるAの関数aを呼び出したとき
aはベースクラスbase.bを呼び出しますよね?
このとき継承クラスAがオーバーライドした関数bを呼び出させる
方法はありますか?
よろしくお願いします。
267266:2007/05/19(土) 20:31:13
追記
Base.a()は非常に複雑だけど一部だけ変更可能にしないと機能しない関数です。
そこでその部分を関数bで処理します。
ただし、Baseクラスの関数bにもベーシックな処理を記述しておきたいのです。
よろしくお願いします。
言語の基本仕様にないとしたらデザインパターンを使うのでしょうか?
そのパターンの名前とか教えていただけるとありがたいです。
268デフォルトの名無しさん:2007/05/19(土) 20:37:45
普通にbを仮想関数にすりゃいいんでないの?
269266:2007/05/19(土) 20:47:17
>>268
仮想関数ですね・・・調べてみます!
とっかかりがわかんなくてデリゲートとかわけのわかんないのを調べてました。
base.bの宣言をOverridableにせよということですね?
ありがとうございました!!!
270デフォルトの名無しさん:2007/05/19(土) 21:06:35
>>266
あのさあ、学べば分かることを学びもせず、
試せばわかることを試しもせず、そんな態度じゃどうにもならんと思うぞ。

あと余計なお世話かもしれないが、268には君が質問したいと思っていることが
恐らく伝わってないと思われる。

そしてそれは268の読解力のせいというより、お前さんの文章の表現が酷すぎるからだと思う。

まあ俺自身も君の質問の意図を勘違いしている可能性は大いにあるが、一応質問に回答するけど
オーバーライドされたメソッドというのは、たとえその呼び出しがベースクラスに
記述してあるとしても、元のベースクラスのメソッドではなく、オーバーライドされた方の
メソッドが呼び出されるんだよ。

MeとMyClassとMybaseの違いとか、あとShadowsとかの意味を調べた方がよさそうだね。
271268:2007/05/19(土) 21:11:27
ん?外してたか?
よくわかんね
272266:2007/05/19(土) 23:18:20
>>270
ああ!そうなんですか。
勘違いしてました。

確かにこれからテストコード書くんですが、そもそもどういう仕組みになるのか
考えていたもので、ありがとうございました。
273デフォルトの名無しさん:2007/05/20(日) 07:36:18
ActiveReportを使って、ユーザーが任意の列数を選択し、印刷プレビューに表示させる
という内容のプログラムを作成中なのですが
列数が10を超えた場合、次のページに残りの列を表示、というのは可能なのでしょうか。
ActiveReport、もしくなそれに似たようなものを使った経験のある方、よろしくお願いします。
※ActiveReportの設計は私ではなく別の人が行っております。列を格納する部分は10個になっていました。
274デフォルトの名無しさん:2007/05/20(日) 12:22:05
>>273
ActiveReportsについてるサンプルくらい見ろ
あとメソッドやプロパティ一覧も
余裕で出来るということが載ってる
275デフォルトの名無しさん:2007/05/20(日) 12:26:33
またプチ北方謙三が偉そうに
見ろ、だってさ。
こういうの自我肥大っていうんじゃないの?w
276デフォルトの名無しさん:2007/05/20(日) 12:30:33
>>275

>>273
おまえよっぽど必死なんなだなぁ・・・・
がんばれよ〜
277デフォルトの名無しさん:2007/05/20(日) 13:40:20
>>275は私じゃないけど、サンプル見てみることにします
入社一年目でこれやっといてーって丸投げされたんでなにがなんやら
278デフォルトの名無しさん:2007/05/20(日) 13:50:30
>>277
調べて努力すりゃ1年目でもやればできる範囲だと思ったから
丸投げしてると思うよ?

コツコツ調べりゃきっとできるし、出来たとき「思えば簡単だったな」 て思えると思うよ

279デフォルトの名無しさん:2007/05/20(日) 22:46:38
→キーが押下されたら、PictureBoxをウィンドウの隅にぶつかるまで右方向に無限移動させ
ウィンドウの隅にぶつかったら逆走させるのって如何すればいいんでしょうか?
280デフォルトの名無しさん:2007/05/20(日) 22:49:06
そのままそれをPgにすりゃいいだけだと思うんだが…
どこがわからないんだ?
判定?
それともすべて?
281デフォルトの名無しさん:2007/05/20(日) 22:50:20
プログラムをPGって略すのは珍しいな
282デフォルトの名無しさん:2007/05/20(日) 22:50:49
>>279
悪いこと言わない、プログラミングなんぞに手を出すのはやめとけ。
根本的に向いてないよお前さんには
283デフォルトの名無しさん:2007/05/20(日) 22:52:59
>>280
そもそもVB.NETという概念からして良く解ってないんですが・・・
正直、まるで何一つ解ってません・・・

' 今のコード

Public Class km
    Private Sub km_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
        Select Case e.KeyCode
            Case Keys.Left
                Timer1.Enabled = True
            Case Keys.Right
                Timer2.Enabled = True
        End Select
    End Sub

    Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        PictureBox1.Left -= 6
    End Sub

    Private Sub Timer2_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer2.Tick
        PictureBox1.Left += 6
    End Sub

End Class
284デフォルトの名無しさん:2007/05/20(日) 23:06:24
おまwwwww
これ右移動しながら左キー押したらどうなるんだよwwwwwwww

悪いことは言わないから まず左右キー押しっぱでそれぞれの方向に動いてはじっこまで来たらとまるプログラムかいてみ?

まずはそっからだ
285デフォルトの名無しさん:2007/05/20(日) 23:08:36
>>284
こんな感じでしょうか?

Public Class km
    Private Sub km_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
        Select Case e.KeyCode
            Case Keys.Left
                If PictureBox1.Left > 0 Then
                    PictureBox1.Left -= 6
                End If
            Case Keys.Right
                If PictureBox1.Left + PictureBox1.Width < Me.ClientSize.Width Then
                    PictureBox1.Left += 6
                End If
        End Select
    End Sub

End Class
286デフォルトの名無しさん:2007/05/20(日) 23:11:48
まーた始まった
287デフォルトの名無しさん:2007/05/20(日) 23:12:21
こんな感じでしょうかじゃないよ。
試してどこがどうだめだったか報告しなさいよね
288デフォルトの名無しさん:2007/05/20(日) 23:16:49
まぁ、とりあえずそれはめり込む可能性が高いなwwwww
289デフォルトの名無しさん:2007/05/20(日) 23:26:19
>>287
取り敢えず、動かしてみた感じ
>>284で言われたものは出来たような気がします

>>288
やっぱり、移動量が6だとめり込みますよね・・・(ウィンドウサイズが6の倍数ならともかく)
移動量を5にして、めり込まないようにしてみました
290デフォルトの名無しさん:2007/05/20(日) 23:32:03
・・・・・あのぉ・・・・まぁ・・・いいけどさ・・
もう面倒くさいからざっくりサンプル書いとくわ
スペースでストップな
この板的に叩かれそうなソースだがまぁ こんなバカもいるってことで
とりあえずタイマをつかってるみたいだからそれは残しといてみた
 以下ソース

Private Enum Vector
Right
Left
None
End Enum

Private Const _MovePixcel As Integer = 1
Private _Vector As Vector = Vector.None
291デフォルトの名無しさん:2007/05/20(日) 23:33:03
TRY-FINALLYはめんどくさいからそこに書いただけ
ほんとはちゃんとしたほうがいい気がする

Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
Try
Select Case e.KeyCode

Case Keys.Right
_Vector = Vector.Right

Case Keys.Left
_Vector = Vector.Left

Case Keys.Space
'とまる
_Vector = Vector.None

End Select

Finally
If _Vector = Vector.None Then
Me.Timer1.Stop()
Else

Me.Timer1.Start()
End If

End Try

End Sub
292デフォルトの名無しさん:2007/05/20(日) 23:33:57
Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer1.Tick

Select Case _Vector
Case Vector.Right

Dim TempRight As Integer = Me.PictureBox1.Left + Me.PictureBox1.Width + _MovePixcel
If TempRight < Me.Panel1.Width Then
Me.PictureBox1.Left += _MovePixcel
Else
_Vector = Vector.Left
End If

Return

Case Vector.Left

If 0 < Me.PictureBox1.Left - _MovePixcel Then
Me.PictureBox1.Left -= _MovePixcel
Else
_Vector = Vector.Right
End If

Return

End Select

End Sub

忘れてたけど
フォームにタイマ・パネル・ピクチャボックスおいてな
293デフォルトの名無しさん:2007/05/20(日) 23:39:11
自分にレス番を打つと専ブラ使いにはうれしいインデント。

SELECT CASE True
CASE 1 = 2
CASE 1 = 1
END SELECT

>>293
294デフォルトの名無しさん :2007/05/21(月) 06:17:31
列挙体はまだ高度では?
つぅか、>>284のつっこみが分かってないよな。
フォームにのめりこんでもいいから、せめて片方のタイマーを止めろよ。
295290:2007/05/21(月) 09:02:10
>>293
まぁとりあえずソースみてこんなもんかな?ってのを判ってもらえる事を期待してみた(;´Д`)
多分右も左もわからないっぽいので 余計なお世話だったか・・・
まぁ、列挙タイは確かに不必要であんなるBoolのフラグのが良かった希ガス
296デフォルトの名無しさん:2007/05/21(月) 16:47:21
>>290
なんというか、予防線はってるのがすごく痛い
297デフォルトの名無しさん:2007/05/21(月) 16:49:41
マイク入力を録音をするアプリをつくろうと考えてるんですが、何か参考になるサイトや書籍を知りませんか?
298デフォルトの名無しさん:2007/05/21(月) 17:28:22
VB.netでモバイル端末用アプリを作成し、
アイコンを設定して端末へコピーし、端末側の
ファイルエクスプローラexeを確認すると
設定したアイコンで表示されませんでした。
PC側では設定したアイコンで表示されます。
何か設定があるのでしょうか?
299デフォルトの名無しさん:2007/05/22(火) 02:02:15
アプリ作成後にアイコン設定ってもしかしてアンタ…
300デフォルトの名無しさん:2007/05/22(火) 06:14:19
>>298
おまえファミコン.icoもしらねーのかよ初心者め
301298:2007/05/22(火) 09:04:20
>アプリ作成後にアイコン設定ってもしかしてアンタ…
書き方が変だったようです。
アイコンの設定はもちろんアプリケーションの
プロパティ画面から設定してからEXEを作成しています。
ちなみにC#で作ったサンプルPGに同じアイコンを
設定した場合はPDAで正しくアイコンが表示されますが
VB.NETではだめでした。
302デフォルトの名無しさん:2007/05/22(火) 18:40:02
>>301
C#でアイコン設定したらOKで、VB.NETではNGだったってこと?
ちなみにVB.NETで作成した場合、モバイル端末で表示されるアイコンはどんなの?
303デフォルトの名無しさん:2007/05/22(火) 18:46:28
まあ99%なにかの勘違いだなw
同じように作ったC#はOKでVBだとNGなんてまずありえん。
304デフォルトの名無しさん:2007/05/22(火) 21:47:46
継承を多用すると遅くなるって事ありますか?

305デフォルトの名無しさん:2007/05/22(火) 21:50:39
そりゃあることもあるだろ
まあおまいさんが書くコードに影響がある程じゃないさ
306デフォルトの名無しさん:2007/05/22(火) 22:08:07
>>305
ありがとうです。

ちなみに、至るところで、継承してるプロジェクトに就業しました。
インスタンスも至るところでされてます。
画面を開くのに40秒近くかかります。
継承しすぎて、何をどこでやってるか追うのに大変です。
継承遷移図やソースの名前からでは判断できません。
307デフォルトの名無しさん:2007/05/22(火) 22:18:45
>>306
もしかして継承フォームのことをいってる?
あれは確かに重くなりそうな気がする。
308デフォルトの名無しさん:2007/05/22(火) 22:30:41
>>307
言い方はわかりませんが、
画面そのものを継承していますね。


309デフォルトの名無しさん:2007/05/22(火) 22:35:21
継承そのものはコストは無視して構わない。
例えば画面なら、コントロールを山程載せてたり起動時にDBからデータもってきてたりとかその辺。
310デフォルトの名無しさん:2007/05/22(火) 22:37:46
いや307の言うとおり継承フォームとか複合コントロールの継承なんかは
普通のクラスの継承とはちょっと事情が違うと思う。

普通のクラスの継承のコストなんてないと思っていいのは同意するけど
311デフォルトの名無しさん:2007/05/22(火) 22:49:52
ん?一人レベルが低くい質、て申し訳ないですが、
継承したら早くなるのですか?

コーディングスピードていうか、共通箇所がガッツリ出来るのは理解できるのですが。
312デフォルトの名無しさん:2007/05/22(火) 22:55:25
>>311
日本語でおk
313デフォルトの名無しさん:2007/05/22(火) 22:57:38
>>311
おk!!

処理の速度・画面の起動等のユーザサイドから見て、
継承を使用した場合、しなかった場合よりも早く感じるものなの?

作り手からみて、楽になる部分が多いのはわかります。
314デフォルトの名無しさん:2007/05/22(火) 23:03:17
実行時にはほとんどまたは全く差はない。
差が出るのはIDEの動作とか、コンパイルにかかる時間とかそんなところ。
GUI関係の継承だとIDEの動作が重くなる可能性はある。
315デフォルトの名無しさん:2007/05/23(水) 01:56:16
そんなこんなで画面がでるまで40秒かかる>>306に乾杯
316デフォルトの名無しさん:2007/05/23(水) 09:11:12
むしろ
>>306の基盤作った奴は起動にそれだけ時間かかってなんとも思わなかったのか・・・
それのほうが問題だよな
317298:2007/05/23(水) 09:12:49
メーカーから届いた端末複数でインストールしました。
そのうちいくつかが通常のexeのアイコンでその他が
設定したアイコンで表示されました。
メーカーが提供しているDLLの不具合の可能性が出てきましたので
しばらく様子を見ようと思います。
318デフォルトの名無しさん:2007/05/23(水) 13:13:43
質問させてください。
LAN上でSQL Serverをインストールしているサーバの検出をVB.NET(2005)で行う方法はありますでしょうか。
ありましたら、教えてください。
319デフォルトの名無しさん:2007/05/23(水) 13:51:48
昔はSQLDMOつかってたな・・・
今はもしかしたらSQLクライアントかなんかの名前空間の中にラップされた機能あるかもしれんが。。。
320318:2007/05/23(水) 16:25:37
>319
どうもです。
SQLDMOをヒントに
ttp://www.csharphelp.com/archives2/archive342.html
にたどり着き、ここにあるC#のサンプルをVBに書き換えてうまいこといきました。
多謝多謝。
321デフォルトの名無しさん:2007/05/23(水) 17:18:36
>318
既に解決したようですが、参考までに。
ADO.NET 2.0ならばSqlDataSourceEnumeratorクラスなるものがあるようです。

SQL Server のインスタンスの列挙
http://msdn2.microsoft.com/ja-jp/library/a6t1z9x2(VS.80).aspx
322318:2007/05/23(水) 17:48:50
>321
ありがとうございます。
自分が見つけたサンプルより、そちらのほうがいけそうです。

>320で貼ったサンプルについては、
ListAvailableSQLServersというメソッドでサーバ名取得していたおですが、
BooksOnlineに将来削除されるメソッドだとありましたので…。

323デフォルトの名無しさん:2007/05/23(水) 19:20:55
諸事情により携帯から失礼します。
.netでのINIファイル読み込みの時の質問なのですが、
読み込む時に文字数制限とうってありますか?(128バイトまでとか)
開発環境はVS2003です。
よろしくおねがいします。
324デフォルトの名無しさん:2007/05/23(水) 19:23:22
よろしくおねがいする前に、まず自分で試そうよお馬鹿さん。
325デフォルトの名無しさん:2007/05/23(水) 19:32:28
試した結果削られてしまって、
調べても分からなかったので質問してるのですが…
326デフォルトの名無しさん:2007/05/23(水) 19:36:57
見え透いたこと言わない方がいいよ。
絶対試してもなければ何も調べてもないってw

っていうか調べてその体たらくならとっとと足洗ったほうが吉だわな。
327デフォルトの名無しさん:2007/05/23(水) 19:45:06
本当に試しましたし、調べもしました。
ですが、どうしても取って来れなかったので質問してるんです…。
見え透いた事といいますが、こんな風に言われてしまうのならば、
もうここには来ていませんし、試していないのならば貴方に愚弄されるのを分かっていて
試さずにまた聞いたりしませんよ…。
328デフォルトの名無しさん:2007/05/23(水) 19:57:27
意外と設定したバッファ越えて読み込んでたりなwwwww
まぁ、ありえんか・・・
329デフォルトの名無しさん:2007/05/23(水) 20:02:59
INIファイルの有効サイズを超えてたりしてwwwww
まぁ、ありえんか・・・
330デフォルトの名無しさん:2007/05/23(水) 20:31:06
iniだろうがdatだろうがファイル読み込みはファイル読み込みでしょうが。
どんな制限だよ128バイトって
いまどきこのレスだって142バイトはあるっての
331デフォルトの名無しさん:2007/05/23(水) 20:33:52
試すっていうのはね、
ファイルを読み込むだけのコードでテストしてみることをいうんだよ?
それで128バイト制限が存在するかどうか分かるでしょ?

つまり試してないってこったよお馬鹿さん。
332デフォルトの名無しさん:2007/05/23(水) 20:41:09
>>331
スレが汚れるから死ね。
333デフォルトの名無しさん:2007/05/23(水) 20:52:09
iniファイル読むのにWin32Apiとか使ってて、最初にバッファの確保処理してないんじゃね?
334デフォルトの名無しさん:2007/05/23(水) 21:26:06
>>333
あ、それかもしれない・・・
ちょっと後でいじって見ます。アドバイスありがとうございました。
335デフォルトの名無しさん:2007/05/23(水) 21:27:14
質問です。
C言語でDLLを作り、VBからそのDLLの関数を呼び出して使いたいのですが、
下のプログラムをビルドして実行するとLabel1には6と表示されます。

どうやらforループが2回で終わっているようですが、なぜそうなるのかが分かりません。
すみませんがよろしくお願いいたします。
336デフォルトの名無しさん:2007/05/23(水) 21:29:25
ソースは以下の通りです。
Option Explicit On

Public Class Form1
Public Declare Function Sum Lib "C:\Sum.dll" (ByRef n As Long, ByRef a As Long) As Long

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim n, s As Long
Dim aa(10) As Long

aa(0) = 1
aa(1) = 5
aa(2) = 4
aa(3) = 9
n = 4

s = Sum(n, aa(0))

Label1.Text = s

End Sub
End Class
337デフォルトの名無しさん:2007/05/23(水) 21:30:40
__declspec(dllexport) long __stdcall Sum(long* n,long* a){
long sum,i;
sum=0;

for(i=0 ; i< *n ; i++){
sum=sum+a[i];
}
return(sum);
}

DLLを作るのにはVC++6.0、VBは2005 ExpressEditionを使っています。
338デフォルトの名無しさん:2007/05/23(水) 21:35:20
>>337
取りあえず Long と long を調べてこい
339デフォルトの名無しさん:2007/05/23(水) 22:05:59
そのコードヤバくね?
340デフォルトの名無しさん:2007/05/23(水) 22:22:40
テストだとしても・・・・
VB側でLong使うケースは…・
341デフォルトの名無しさん:2007/05/23(水) 22:26:25
えーと、よくわからないけど
これ貼っとけばいいかな?

プラットフォーム呼び出しのデータ型
http://msdn2.microsoft.com/ja-jp/library/ac7ay120.aspx
342デフォルトの名無しさん:2007/05/24(木) 00:25:10
横からですが

VBで変数宣言するときにlong型にしちゃまずいんですか?

longってintの2倍のサイズの要領の数値型ですよね
343デフォルトの名無しさん:2007/05/24(木) 00:52:27
>>342
VB6からいろいろ変わってしまったのだよん。
VB6のIntegerは16bit長、Longは32bit長だけど
VB.NETからはIntegerが32bit長で、Longは64bit長、Shortが16bit長。
VC6やらVC2005でDLLを作った場合、.NETのLongは__int64かlong long型に該当する。
344デフォルトの名無しさん:2007/05/24(木) 01:04:25
なるほど・・・

だとしたら私の場合はintで宣言したらオーバーフロー?がおきたのでlongにしたので
このままで問題ないですよね?
素人なのでオーバーフローという意味がよく分かってないですが・・とりあえずint型だと容量が足りないみたいなエラーが起きました
345デフォルトの名無しさん:2007/05/24(木) 01:11:11
各数値型で扱える範囲と、そのとき扱う必要がある数値の範囲くらいは把握しとこうぜ
346デフォルトの名無しさん:2007/05/24(木) 01:13:12
つーかdllの関数のシグニチャと合わせないとためだろwwww
347デフォルトの名無しさん:2007/05/24(木) 01:54:22
だったらc側でlongじゃ足りんだろうがw
348デフォルトの名無しさん:2007/05/24(木) 01:56:45
アドレス渡しってどうなん?
349デフォルトの名無しさん:2007/05/24(木) 02:00:26
どうとは?
350デフォルトの名無しさん:2007/05/24(木) 02:23:47
なにが
>このままで問題ないですよね?
だ!!!!!!!

問題あるから質問スレに来てるんだろが!!!!!!
351デフォルトの名無しさん:2007/05/24(木) 02:30:06
>>350
こたえる気がないのなら消えろよ・・・。
352デフォルトの名無しさん:2007/05/24(木) 02:35:31
>>351>>335が書きました
353デフォルトの名無しさん:2007/05/24(木) 14:08:51
typedef くらいしとけ
354335:2007/05/24(木) 15:42:21
皆様ありがとうございます。
今大学にいないので試す事が出来ないのですが、
夕方登校してから変数のビット長の事を考え直してもう一度やってみます。

あと、>>351は私ではありません念の為。
355デフォルトの名無しさん:2007/05/24(木) 22:15:23
やる気があるんだったら家のにExpressくらい入れて試せよ 学生さんw
356デフォルトの名無しさん:2007/05/24(木) 23:43:36
>学生さんw
なんで最後にwがつくのかわからんが、無職のお前よりましだと思うよ。
357342:2007/05/25(金) 00:38:37
>>350
>問題があるからここに〜
intにしているときとは違いlongにするとコンパイル時にエラーはでませんでしたが。

ここにいる理由は、他人の質問事項でも参考になるから毎日覗いていて
>>338-340のレスが気になったら質問したまでだけど。
358デフォルトの名無しさん:2007/05/25(金) 00:43:18
コンパイル時じゃなくて実行時だった。
359デフォルトの名無しさん:2007/05/25(金) 01:24:34
>>357
まぁ出なくなったんならいいっちゃいいのかも知れませんが、それで飯食うつもりでしたら
何でオーバーフローしたのか?
それは予想された動作か?
違うならどこで変数に異常な値が入ったのか?

くらいは最低限把握しておいたほうが良さそうな気がしますよ?

>>346
>>335-337 はシグニチャとかそれ以前に
s = Sum(n, aa(0))
なんてコードかいてる時点でVB.NETについて根本的に勘違いしてるっぽいんですけどw
360デフォルトの名無しさん:2007/05/25(金) 02:06:47
>>356
お前みたいなレベルの負け組と一緒にするなカス野郎
361デフォルトの名無しさん:2007/05/25(金) 15:14:29
ちょっとしたブラウザ(IE使う)を作ってみたいです
まだソフトも買ってないので、日曜日に買いに行きます
入門書もあわせて買う予定です
お勧めの本あれば教えてください
362デフォルトの名無しさん:2007/05/25(金) 15:31:36
とりあえず、ExpressEdition使ってみたら
363デフォルトの名無しさん:2007/05/25(金) 17:35:05
2005で質問です。

ピクチャーボックス・ラベルをFill・Bottomとして貼り付けたユーザーコントロールがあります。
このコントロールのMouseMove/MouseLeave/MouseEnterイベントは コントロールが上に存在している為発生しない状況です。
これらのイベントが簡単に動作する方法はないでしょうか?
やはり、各コントロールのイベントを取ってきてガリガリいじって渡したりしなければいけないんでしょうか?


364デフォルトの名無しさん:2007/05/25(金) 17:46:33
内部で各コントロールにイベントつけといて
ユーザーコントロールのOnMouseMove等を呼べば?
365363:2007/05/25(金) 18:18:52
>>364
レスありがとうございます。
とりあえずMouseMoveはその方法で実装してみました。
各コントロールのマウスMoveイベントでユーザーコントロール内の座標に変換してユーザーコントロールのMouseMoveイベントを呼び出すようにしています。
これでMouseMoveは実装できたのですが、今度はMouseEnter MouseLeaveイベントを実装する手段が不明というか、うまいこと思いつかないです


366363:2007/05/25(金) 18:22:21
連投失礼します。

MouseEnterはPrivateなフラグをひとつ持って、内部の各コントロールのEnterイベントで
フラグがOFFならユーザーコントロールのEnterイベントを発生→フラグON
フラグONならなにもしない

という力技実装を今思いついてやってみました。
しかし やっぱりMouseLeaveが難しいです・・・
367デフォルトの名無しさん:2007/05/25(金) 21:01:44
>>363
希望するのはこういう動作?

  Protected Overrides Sub OnLoad(ByVal e As System.EventArgs)
    MyBase.OnLoad(e)
    For Each c As Control In Me.Controls
      AddHandler c.MouseMove, AddressOf Chileds_MouseMove
      AddHandler c.MouseLeave, AddressOf Chileds_MouseLeave
    Next
  End Sub

  Private Sub Chileds_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
    Dim pt As Point = MousePositionByClientCoordinate()
    Dim ev As New MouseEventArgs(e.Button, e.Clicks, pt.X, pt.Y, e.Delta)
    MyClass.OnMouseEnter(New EventArgs)
    Me.OnMouseMove(ev)
  End Sub

  Private Sub Chileds_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs)
    MyClass.OnMouseLeave(New EventArgs)
  End Sub

  Private Function MousePositionByClientCoordinate() As Point
    Return Me.PointToClient(Control.MousePosition)
  End Function

  Private Function IsMouseOnMe() As Boolean
    Dim pt As Point = MousePositionByClientCoordinate()
    Return Me.ClientRectangle.Contains(pt)
  End Function
368デフォルトの名無しさん:2007/05/25(金) 21:03:25
  Private mMouseAlreadyEnter As Boolean = False
  Protected Overrides Sub OnMouseEnter(ByVal e As System.EventArgs)
    If mMouseAlreadyEnter = False Then
      mMouseAlreadyEnter = True
      MyBase.OnMouseEnter(e)
    End If
  End Sub

  Protected Overrides Sub OnMouseLeave(ByVal e As System.EventArgs)
    If IsMouseOnMe() = False Then
      mMouseAlreadyEnter = False
      MyBase.OnMouseLeave(e)
    End If
  End Sub
369363:2007/05/25(金) 21:38:46
>>367-368
帰宅してたのでレス遅れてすみません
ちょっとご飯食べて試してみます
370363:2007/05/25(金) 21:49:27
>>366
やっぱり気になって先にソース見てました。
正に自分が欲していた動作です。
しかも超汎用性があるようにサンプルまで頂けて・・・
ありがとうございます!!!!!
なんか胸のつかえが取れました!!
371デフォルトの名無しさん:2007/05/25(金) 22:31:54
いや、サンプルっていうかUserControlで>>363に書いてあるような動作を実装するような
コードを書いてみただけだけどね。

なんにしろ希望の通りの動作のようで何より。

しかし、Chiledsって素で間違えたよ恥ずかしいw
中学英語も怪しくなってきているとは
372デフォルトの名無しさん:2007/05/25(金) 23:29:44
C言語では、static int a[3]={1,2,3}; や、 static char b[]="abc";
のように、初期化できるのですが、VB や VBA ではどうすればよいのですか、
N88 basic では、確か、DATA 文があって、できたと記憶しているのですが
373デフォルトの名無しさん:2007/05/26(土) 00:33:09
Dim a() As Integer = {1, 2, 3}
374デフォルトの名無しさん:2007/05/26(土) 02:01:15
s = Sum(n, aa(0))

これはどこがおかしいんでしょうか?
375デフォルトの名無しさん:2007/05/26(土) 02:06:46
>>374
エスパーの俺にも君の質問の意味がわかりません。
376デフォルトの名無しさん:2007/05/26(土) 02:09:11
配列へのポインタと渡そうとして
先頭要素の値(への参照)を渡している

いろんな言語の低レベルな知識がごっちゃになってるという最悪の状況
377デフォルトの名無しさん:2007/05/26(土) 02:14:34
s as intger =0
n as intger =1
aa as string =123456

s = n + aa(0)

だとおk?
一部省略
378デフォルトの名無しさん:2007/05/26(土) 02:16:18
aa(0)をint(aa(0))に修正↑
379359:2007/05/26(土) 02:20:08
>>374
大体、Integer型とInteger型の配列は全くの別物ですから。IntegerはInt32構造体、Integer()はArrayクラスが本来の姿です。
従って配列を渡したかったらちゃんとそう書かないとだめです。

Function(ByVal n As Integer, ByVal aa As Integer())

見たいな感じで。
あとVB.NETだと参照型は値渡しでちゃんと参照が渡されるから、配列渡す時は無闇にByRef使うとえらいことになります。

そもそも、アンマネージDllの呼び出し(PInvokeとか呼ばれてますけど)はマーシャリングという処理が必要で結構奥が深いですよ?
380デフォルトの名無しさん:2007/05/26(土) 02:21:52
でたよ・・・
プログラマ特有の頭でっかち
381デフォルトの名無しさん:2007/05/26(土) 02:23:30
>>380
頭を落としてきた人は黙ってて下さい
382359:2007/05/26(土) 02:25:56
>>374
あと、俺みたいに前のレス番名乗らないから>>375みたいな突込みがくるわけで。
この板にはID無いから自分が前に出した質問があるときはちゃんと名前欄に書きましょう。
>>380
どうせ俺は21の高卒プログラマですよ・・・
383デフォルトの名無しさん:2007/05/26(土) 02:34:30
何か勘違いしているようだが>>335でもないし>>347でもないぞ?
384デフォルトの名無しさん:2007/05/26(土) 02:49:26
>>383
本当だ・・・>>357だと思ってたんだけど>>357はちゃんとレス番書いてあるorz
まぁちゃんと書いても騙りに沸かれたらそれまでなんですけどねw
385デフォルトの名無しさん:2007/05/26(土) 02:49:56
>>382
まぁそういうな
つうか、ここでは年齢も学歴も関係ないだろ
そうやって思ってもないのに自分で自分を卑下してるフリしてるやつはムカつく
386359:2007/05/26(土) 03:18:18
>>385
まぁ実際普段仕事する分には学歴なんざ糞の役にも立たないんでしょうが、場数も学歴もないと転職キツくありません?
ちなみに俺が知る限りウチの会社のプログラマに大卒は居ませんw

つーかそういう話題はマ板逝けって言われそうなんで>>377-378の件

なんか文法エラーが混じってるんで一番好意的に解釈した結果になりますが、
aa="123456"だとすると、CInt(aa(0))の結果は'1'のキャラクターコード=&H21です。
したがって
s = n + CInt(aa(0)) = 1 + &H21 = 34

になりますけど、それは意図した動作ですか?
そもそも>>374>>357だと冗談抜きでエスパーでもないと無理w
387386:2007/05/26(土) 03:24:50
間違えたorz
CharからIntegerって普通には変換できないじゃんw
388デフォルトの名無しさん:2007/05/26(土) 03:28:13
>>386
お前の知る世界が狭いだけ
ヘッドハントなんざいくらでもある
そこに学歴は関係ないからな

つうか・・・・落ち着いて書きこめよ…・
デバッグ忘れでリリースしそうなやつだな・・お前…
389デフォルトの名無しさん:2007/05/26(土) 07:46:16
VBでSumって組み込みであるの?
390デフォルトの名無しさん:2007/05/26(土) 11:55:06
>>388
なんか背伸びしてる感がありありだよ
ヘッドハントってお前さんどんな「生き馬の目を抜く」世界にいるんだよw

そりゃあるかないか、といえば確かに「ある」が、それはお前さんの世界じゃないだろうに。
391デフォルトの名無しさん:2007/05/26(土) 17:00:20
変数の値ではなく、変数名を文字列に変換することはできますか?
またその逆はできますか?
趣味でプログラミングを始めた初心者ですが、どなたか教えていただけませんでしょうかm(_ _)m
392デフォルトの名無しさん:2007/05/26(土) 17:51:43
できるかできないか、で言えば可能だが、初心者にははっきり言って無理。
初心者にはもっと他にやることあるだろ。
393デフォルトの名無しさん:2007/05/26(土) 21:45:29
>>391
ローカル変数は無理
クラスや構造体のフィールドなら可能
言葉の意味がわからないなら諦めろ
394デフォルトの名無しさん:2007/05/26(土) 23:28:26
そんなの自分でソースをパースすればいいんだよ。なんでもできる。
395デフォルトの名無しさん:2007/05/26(土) 23:47:05
WebBrowser で Excelファイルを表示したとき、
VB6 の頃は Excel のツールボタン列がいくらでも選択できて
表示できたのですが、VB2005 になってから表示されないようなのですが、
もし表示するための方法等がありましたら教えてください。

よろしくお願いします。
396デフォルトの名無しさん:2007/05/28(月) 06:11:59
VB.NET→VB2005への移行は簡単ですか?
VB6→VB.NETへの移行とどちらが簡単ですか?
そろそろ.NET Framework1.1のサポートが終了と聞いたので。
397デフォルトの名無しさん:2007/05/28(月) 09:32:10
>>396
そりゃ 過去の.NET→2005の.NETにきまってるじゃないか

基本的な部分は変わってないんだから

398デフォルトの名無しさん:2007/05/28(月) 09:53:51
VB2005で現在のカーソル位置を行数で知りたいんですけど、便利な方法ありますか?
確かExcelVBAでは画面の上のほうに出てたと思うんですが・・・
399デフォルトの名無しさん:2007/05/28(月) 10:28:51
何のカーソルの位置を何の行数で知りたいの
400デフォルトの名無しさん:2007/05/28(月) 12:33:59
399は優しいのな。
俺は398みたいなおタンチンは相手にする気になれん。

というか、どうせこんな人間相手に自分の希望を伝えることすらできない人間が
満足なコードなんて書けるはずがないと思うんだが。
401398:2007/05/28(月) 13:57:34
コードエディタのカーソル位置です。

エラーがあったときデザイナを開くと「XX行目にエラーがあります」みたいなメッセージが
出るのですが、その行数に飛びたいのです。

確か空行飛ばしてカウントしてたと思います。今確認しようとしてるんですが
エラーは出ても「XX行目に…」というメッセージが出ない・・・
402デフォルトの名無しさん:2007/05/28(月) 14:13:20
普通に標準機能じゃ満足できないのか?
403398:2007/05/28(月) 14:32:51
標準って、「エラー一覧」ウィンドウに出てるエラーメッセージをダブルクリックして飛ぶって意味ですか?
それができなかった時があったと思うんですけど…
ていうか再現できない。何でかなー
404デフォルトの名無しさん:2007/05/28(月) 15:44:50
アホをVB.NETスレから出すなよ……

ふらっとC♯, C#(初心者用) Part16
http://pc11.2ch.net/test/read.cgi/tech/1179313212/257

257 名前:デフォルトの名無しさん[] 投稿日:2007/05/28(月) 14:47:42
すみません、VB.NET の方で訊いてみたのですがご指導いただけません
でしたのでこちらでも訊かせてください。すみません。

WebBrowser で Excelファイルを表示したとき、
VB6 の頃は Excel のツールボタン列がいくらでも選択できて
表示できたのですが、VB2005 になってから表示されないようなのですが、
もし表示するための方法等がありましたら教えてください。

よろしくお願いします。
405デフォルトの名無しさん:2007/05/28(月) 16:18:34
いや・・・これ・・・VB.NET関係無い気が・・・
406デフォルトの名無しさん:2007/05/28(月) 16:45:46
>>405
中のソースをVB.NETで書いてたんじゃね?
407デフォルトの名無しさん:2007/05/28(月) 17:02:13
IEかOfficeスレへ逝くべきかな
しかし、俺の環境じゃ普通に表示できたぞ
プログラミング勉強するよりWindowsの基本操作勉強したほうがいいんじゃねぇか
408デフォルトの名無しさん:2007/05/28(月) 18:07:03
初心者です。
教えてください。

フォーム上に2つのボタン Button1とButton2があったとして
Button1をクリックした処理の中に、
「Button2をクリックされたイベント」を発生させたい場合
どうしたらよいのでしょうか?
409デフォルトの名無しさん:2007/05/28(月) 19:34:40
>>408
VB6とかVBAではなんて書いた?
それがヒント。
410デフォルトの名無しさん:2007/05/28(月) 21:17:50
>>408がVB6やVBAの経験があるとは限らないだろ

Clickイベントを発生させたいのか、
それともイベントハンドラのメソッドさえ呼べればいいのかどっち?
前者ならButon2.PerformClick()、後者ならButton2_Click(sender, e)
411デフォルトの名無しさん:2007/05/28(月) 21:50:04
>>410
いや、まあ、ただ教えてくれってだけじゃなくて、考えるヒントになればって
思っただけ。
クラスとかの質問じゃないから、どうやればそのイベントを発生させるか
考えられたら、のちのちのためになるかなぁと。
412デフォルトの名無しさん:2007/05/28(月) 22:13:42
だからって>VB6とかVBAではなんて書いた? がどうヒントになるんだ
だいたいPerformClickなんて
知ってるか知らないかだけの問題であって考えても仕方ないだろ
自分で調べられるならこんなところで聞かないだろうし
413デフォルトの名無しさん:2007/05/28(月) 23:00:59

>>410
>>409

ありがとうございます。
ちなみにVB6、VBA 経験なしです。。。
414デフォルトの名無しさん:2007/05/29(火) 00:07:15
あとVisualStudio使ってるか使っていないかは最低でも伝えてほすぃ
415デフォルトの名無しさん:2007/05/29(火) 02:12:54
>>411
馬鹿は教育しなくていいよ。
知ってれば答えろ。知らなきゃ黙ってろ
416デフォルトの名無しさん:2007/05/29(火) 08:24:32
なるほど、だから誰も君には何も言わないわけかw
417デフォルトの名無しさん:2007/05/29(火) 09:58:26
おまえら・・・・

もうちょっと教えて君には聞き方教えてやろうぜ?
だからC#に聞きにいったりするアフォが出て来るんだし

>>413
せめてPG経験とか、何の言語使えるとか情報出さなきゃ
知識が0なのかどうかすらわからん・・・・
例えばJAVA経験あるといえば、JAVAでいうところのこんなもんだ

って砕いた説明してくれる奴も居るだろうし
てか、何でこういう奴出てくるんだろうな・・・ 何も情報出さずにエスパーしてほしい奴多すぎね?
418デフォルトの名無しさん:2007/05/29(火) 13:26:32
何で、ってそれがVB.NETクォリティだろ
419デフォルトの名無しさん:2007/05/29(火) 13:44:27
>>418
そうか・・・そうだよな
ァ '`,、'`,、('∀`) '`,、'`,、
420デフォルトの名無しさん:2007/05/29(火) 14:59:08
VB2003で、「起動時に前回終了時のウィンドウのサイズを復元する」
ということをフォームのプロパティ設定だけで実現できますか?
421デフォルトの名無しさん:2007/05/29(火) 15:04:45
いいえ
422デフォルトの名無しさん:2007/05/29(火) 15:35:18
レジストリに書いたら??
423デフォルトの名無しさん:2007/05/29(火) 15:43:39
>>420
明らかにそんなものないだろうが

何の為の設定ファイルやレジストリだ?カス
424デフォルトの名無しさん:2007/05/29(火) 16:13:21
どうやったらできますか?って質問ならまだしもな。
425デフォルトの名無しさん:2007/05/29(火) 19:17:57
Webで調べたら、プロパティ設定で実現する方法を説明しているサイトがなかったのと
そういうプロパティが無かったので、そうじゃないかと思ったのですが、
明確に「プロパティ設定ではできません」みたいな説明がなかったので・・・

昔いじってた特殊な開発環境だと、そういうプロパティがあったので、
VB2003でも無いのかなと思ったのです。
426デフォルトの名無しさん:2007/05/29(火) 19:20:59
まあそう突っかかるような質問ではないよな。
2005なら可能だよ確か。
俺はそういうのくだらない仕様だと思うからやったことはないけどね。
427デフォルトの名無しさん:2007/05/29(火) 19:24:46
>>425

>明確に「プロパティ設定ではできません」みたいな説明がなかったので・・・
おま・・・・・
ありえないものをどのように説明するんだと・・・・
やれるとしたら中間ファイルを書き換えるとかの手法くらいだ
まずありえないけど

極端な話、自分が頭で思ったことをソフトにしてくれるツールありませんか?
というような疑問や質問があって
その答えを探しているようなもんだと思うぞ
まともにいけば質問すらないだろう・・・・?

>昔いじってた特殊な開発環境だと、そういうプロパティがあったので
何の環境なのかkwsk
一度そういう環境って見てみたい
428デフォルトの名無しさん:2007/05/29(火) 19:28:57
>>427
だから悪いけど足りないのはお前さんの方だよ。
>>425が想定したような機能が存在することを仮説するのはそんなにおかしなことじゃない。

まあ、「お前自分で全然調べてないだろう」感は否めないがね。
429デフォルトの名無しさん:2007/05/29(火) 19:39:46
>>427
機嫌でも悪いのか?
まぁそう突っかかるなよ

>>425
まぁVB.NETなら大人しくアプリケーション構成ファイル使ったほうが吉と思われ
430デフォルトの名無しさん:2007/05/29(火) 20:46:52
外部にファイルを作らずに…とは言ってないんだから、
プロパティの実装によってはプロパティに値を設定するだけで設定を永続化させるのも可能
ありえなくはないわな
431デフォルトの名無しさん:2007/05/29(火) 21:49:33
最近、あっちこっちで暴れてるヤツが1名いるようだな・・・
432デフォルトの名無しさん:2007/05/29(火) 22:04:40
>>420
MaximizeBoxとMinimizeBoxをFalseにして、
BorderStyleをFixedSingleにすればいいんじゃね?
433デフォルトの名無しさん:2007/05/29(火) 22:34:28
>>432
それは、そもそも可変不可では?
434デフォルトの名無しさん:2007/05/30(水) 15:11:52
Webプログ板みてもASP.NETのスレがないので、ちょいとここで聞きたいのですが。

MicrosoftからExpression Webという新しいWeb作成ソフトの紹介メールがきたんですが
ホームページビルダー持ってる人は今なら68%オフで買えるそうです。aspxファイルとの連動
も良いと書いてあります。自分は今までJava,PHPでWebシステムを構築してきましたが、
今度からASP.NETもやらなくちゃなりません。このソフトは買ったほうがいいですか?
435デフォルトの名無しさん:2007/05/30(水) 18:41:34
>>434
とりあえずASP.NETのエディタ先使って
で満足できなければ試用してみれば?
436デフォルトの名無しさん:2007/05/31(木) 02:23:15
値型の代入も、参照型の代入も = で
こんな糞な言語仕様をユーザに提供して、
自分たちは使ってないんだろな。
437デフォルトの名無しさん:2007/05/31(木) 02:29:57
(゚д゚)ハァ?
438デフォルトの名無しさん:2007/05/31(木) 11:04:19
>>436
じゃぁどうするんだ・・・?
C#とかで作ってるマイクロソフト製のソフトもあるぞ?
439デフォルトの名無しさん:2007/05/31(木) 11:53:27
いやいや、つか多くの言語はそうだろ
440434:2007/05/31(木) 12:50:30
>>435
はっ。ありがとうございます。自分はちょうど浮き金がそのくらいあるのですが
交際費のためにとっておく(貯金しておく)か、それを買うか迷ってます。交際費はデートではないです。念のため。

一応、貯金しておくかな?

スレ違い、ありがとうございました。
441デフォルトの名無しさん:2007/05/31(木) 14:25:37
VB.NET 2005で初歩的な質問なのですが

ある画像をBitmapオブジェクトで取得したい場合

Bitmap.FromFile("hogehoge")
で取得してもImageを取得するようになっています。

現在は
CType(imageObject,Bitmap)
で変換をかけているのですがなにかもっといい方法はないでしょうか?
442デフォルトの名無しさん:2007/05/31(木) 14:42:15
Bitmapクラスのstringをひとつだけ引数にとるコンストラクタを使えば?
443デフォルトの名無しさん:2007/05/31(木) 14:58:18
>>442
あ・・・・
そうですね 今見たらFileName引数に取るのがありました
見落としてました お手数をおかけしました
444デフォルトの名無しさん:2007/05/31(木) 15:09:02
VB.NETを使用してプログラムの作成をしているのですが
スプラッシュウィンドウで画像を動かすにはどうしたらいいのでしょう?
445デフォルトの名無しさん:2007/05/31(木) 15:19:05
>>444
具体的に動かすというのは・・・どう動かしたいんだろう???

ピクチャボックスに画像表示させて
タイマのイベントの中でLocationを変更させるとかでは解決できないような事?
446デフォルトの名無しさん:2007/05/31(木) 15:20:05
さすがにLocationはお粗末過ぎるだろ
自分で描画しろ
447デフォルトの名無しさん:2007/05/31(木) 15:35:43
>>446
まぁw そうなんだけど 何をやりたいかも見えてこなかったのでそう言ってみた
反省はしていない
448デフォルトの名無しさん:2007/05/31(木) 15:38:59
アニメーションGifをスプラッシュウィンドウのPictureBoxに貼り付けておく
449デフォルトの名無しさん:2007/05/31(木) 15:44:08
この機会にWPFに乗り換える
450デフォルトの名無しさん:2007/05/31(木) 16:02:24
>>449
横レスだが

あ〜 いいよねぇ・・・つかいてぇわ
FrameWork3.0導入できる所って うらやましい

ウチはまだ検証段階だからって業務で使わせてくれない・・・
451デフォルトの名無しさん:2007/05/31(木) 17:41:15
>>445
タイマのイベントの中でLocationですね。
調べてみます。

>>448
それは簡単そうですね。
ただGIF画像の作り方がわからないので
こちらも勉強が必要みたいです。
452デフォルトの名無しさん:2007/05/31(木) 17:44:10
回答ありがとうございます。

具体的な目的が無く
かっこいいスプラッシュウィンドウを作りたい
という程度なので

簡単で「かっこいい」スプラッシュウィンドウの作成方法があれば
教えていただけたらうれしく思います。
453デフォルトの名無しさん:2007/05/31(木) 18:03:37
>>452
まぁありきたりだけど
画像とプログレスバーでXP起動画面っぽいのはどう?

その前後でスプラッシュフォームのPacity(つづり忘れた)を増減させて

透明→表示→プログレスバー増加→透明→起動フォーム表示

とかだったら結構ラクだと思うけど
454デフォルトの名無しさん:2007/05/31(木) 23:11:07
透明?

使いたい画像があってそのロゴを
シャキーンて感じに出したいのですが

えと、画像が横からスライドして登場したり
だんだん大きくなったりとか(フェードイン?)

説明わかりにくくてすみません
455デフォルトの名無しさん:2007/05/31(木) 23:28:02
透明はフェードインとかのイメージだと思うよ。
って大きくなっていくのもフェードインというのか?そうか…
456デフォルトの名無しさん:2007/06/01(金) 00:04:30
透明といえば

フォームの背景色を透明にすることは可能でしょうか?

プロパティのBackGroundColor(?)でWEBタブのI何とか
を選んでもエラーがでてできません。
457デフォルトの名無しさん:2007/06/01(金) 00:49:50
結論:スプラッシュは不要
458デフォルトの名無しさん:2007/06/01(金) 02:26:08
呼び出し先のDLLがアンマネージドの場合、
そちらのDLL内で使用されたメモリは
.NET Frameworkによって自動的にGCされるのでしょうか?

下記のような構成の場合、
@やAはGC対称だが、Bの場合、
B内で確保されたメモリがB内で明示的に開放されない限り、
GCされずに確保されっぱなしと考えているのですが、
その理解で問題ないでしょうか。


VB.NETのEXE  @
↓↑
C#のDLL    A
↓↑                  ↑.NET系の言語
-------------------------------------------------
↓↑                  ↓非.NET系の言語
普通のCのDLL B

また、Bがメモリをリークしているか否かを確認するには
呼び出す直前、直後に

Process.GetCurrentProcess.WorkingSet

仕掛ければいいのでしょうか
(このやり方だと、カレントプロセスの使用メモリが合算されちゃうのですが、
 直後−直前の差分がBのメモリ使用量になるかと思うのですが。。。)

※すれちがいかも知れませんがアドバイスいただければ。
459デフォルトの名無しさん:2007/06/01(金) 03:24:39
DLL内で使用された解放されないメモリ、てのが分からん。
そんなんがあったらアンマネージドの世界が大混乱だろ。

直呼びだろうがP/Invokeだろうが
呼び出し側で解放が必要なメモリは呼び出し側で解放する。それだけだろ?

バッファを要求するAPIでMSDNにCallerはMemoryをFreeすることを
Requiredと書いてあるときは呼び出し側の.netでFreeすることがMustですよ?

WorkingSet からリークを判定しようなんて非現実的過ぎて
しょんべんもでないわ。
460デフォルトの名無しさん:2007/06/01(金) 07:06:39
そもそも.NETなのにリークが発生するのかと。
発生しないだろ、GCあるのにw
461デフォルトの名無しさん:2007/06/01(金) 09:36:19
あほ
462デフォルトの名無しさん:2007/06/01(金) 09:37:11
横からスマソン。
>>459のいうとおり、確かに呼び出し元でメモリ確保したら責任もって解放するのが原則だ。

ただ、>>458

> 呼び出し先のDLLがアンマネージドの場合、
> そちらのDLL内で使用されたメモリは

っていってるから、たぶん呼び出された側のアンマネージドの中で
定義してるローカル変数アロックして、その後フリーし忘れたらどうなるのか
きいてんじゃないかい?

呼び出す前後のメモリ調べようとしてるから、
そういう意味なのかと思ったが。

はずしてたらすまん。エスパーじゃないんで。
463デフォルトの名無しさん:2007/06/01(金) 09:50:04
つうかMarshalクラスでオブジェクトがComかどうか調べてReleaseつかって開放すればいいじゃん
464デフォルトの名無しさん:2007/06/01(金) 10:12:49
>>459も460もちがうんじゃんw
465デフォルトの名無しさん:2007/06/01(金) 15:12:32
Office2002のCOMを使用したプログラムは、Office2007のインストールされた
PCでも正常に動作するでしょうか?


466デフォルトの名無しさん:2007/06/01(金) 15:24:07
質問させてください。
環境はVB2005です。

DataGridViewで、例えば編集可能な列が2列あったとします(仮にカラムA、カラムB)。
この時、カラムAのセルに文字を入力したあと、同じ行のカラムBのセルにフォーカスを
遷移させたいのですが、勝手に入力したセルのひとつしたのセルにフォーカスが
遷移してしまいます。
どうにかして横のカラムBにフォーカスを遷移させられないでしょうか…。

どこかプロパティで指定できるのか、CellEndEditあたりのイベントに何か書けばいいのか、
探っているのですがさっぱりです。
わかる方いらっしゃいましたら、ご教授お願いします。
467デフォルトの名無しさん:2007/06/01(金) 15:32:22
>>466
入力の終了はどうするの?Enterで移動することになるのかな?

それだったらKeyPressなりでKey引っ掛けて
現在編集中ののCellを取得し、そのRowとColumnのインデックスでも取得して
取得した現在のRow、ひとつ右のColumnのセルを指定してEditを開始してやればいいと思うよ

メンバで確か編集を開始するメソッドがあったと思うけど・・・・

最終列の場合はどうするかわからないけど、まぁどうにでもなるってこったww
説明ヘタですまないな
468デフォルトの名無しさん:2007/06/01(金) 15:48:49
>467
レスありがたふ。

現状
編集可能なセルの上で何かキーを押す→編集モードになる
文字入力してEnterキーを押す→編集モードが終り、下のセルに(勝手に)フォーカス遷移

編集モードになっていないときはKeyPressやらKeyDownでEnterが拾えるんだけども、上記の場合だと拾えない…
むむむ。
もう少ししらべてみまっしゅ。
469デフォルトの名無しさん:2007/06/01(金) 16:26:48
>>468
ちょっwwwwww
ちょっと調べてみてたらMSDNに答えあるじゃねぇかwwwwww
ttp://msdn2.microsoft.com/en-us/library/system.windows.forms.datagridview.processdatagridviewkey.aspx
470デフォルトの名無しさん:2007/06/01(金) 16:50:10
>469
471デフォルトの名無しさん:2007/06/01(金) 16:51:18
>469
途中で書き込んでもーた(´・ω・`)
継承したコントロールつくるしかないのかー・・・・
ありがとう。
472デフォルトの名無しさん:2007/06/02(土) 15:36:45
Property の Attribute 設定においては条件分岐などが使えるとうれしいのですが
可能でしょうか?例えば、何かの場合にはこの項目は表示し、別の場合には表示しない、
などができると助かるんですが・・・。
473デフォルトの名無しさん:2007/06/02(土) 15:51:46
>>472
「例えば」が何の例示にもなってない。
もっと具体的に。
474デフォルトの名無しさん:2007/06/02(土) 16:14:06
>>473

そうですね、いくつかのオブジェクトで共通の項目があるとして、
しかし、何かの条件が立っているときは、それを編集不能にしたい、
つまり PropertyGrid で Disabled にしておきたい、などですね。

もし Attribute で If文みたいな条件分岐や、オブジェクトのインスタンス
フィールドによるBoolean値 が使えなければ基本的に Attribute での
処理は不可能なのだと思います。そういう理解でいいでしょうか。

その場合は他の方法を考えて見ます。
475デフォルトの名無しさん:2007/06/02(土) 16:16:31
>>474 > Disabled <- これは ReadOnly(True) のことです
476デフォルトの名無しさん:2007/06/02(土) 16:18:11
PropertyDescriptorでなんとかなるんじゃね?
477デフォルトの名無しさん:2007/06/02(土) 17:28:07
>>476
どうもです、PropertyDescriptor で オブジェクトの
インスタンスフィールドによるBoolean値が使えるかどうか
調べてみます。
478デフォルトの名無しさん:2007/06/02(土) 18:24:36
>>472
なんか質問が釈然としないなあ。
まずコンポーネントまたはFormのコントロールの話なんだよね?

その自作のコンポーネントまたはコントロールをFormに貼り付けた時の、
デザイナのプロパティグリッドの表示を動的に変化させたいってこと?

そうなら無理な気がするし、そもそもそんな必要もないのでは。
プロパティグリッドの表示の制御って属性で行うと思うんだけど、
属性のプロパティって実行時に変えられたっけ?

プロパティの説明で「この値はXXがOOの時には無効です。」と表示した上で、
必要なら変更を無視するコードを書けばそれで必要十分だと思う。
479デフォルトの名無しさん:2007/06/02(土) 19:37:22
>>478
>プロパティの説明で「この値はXXがOOの時には無効です。」と表示

するのは今それでやっていました。

まあそうなんですが、ReadOnly(True) の True のところに、
Boolean型の論理式を入れて制御できないものかと思ったのです。

やってみるとどうもインスタンスフィールドを使うとダメだといってくるので
やっぱり不可能なのかなと思ったので、もしかしてどなたかやった方は
おられないかと思いまして・・・

また調べてみますが、ダメであれば別の方法考えてみます。
480デフォルトの名無しさん:2007/06/02(土) 21:16:59
別の方法って、プロパティグリッドを制御する方法が(コンパイル時に決定する)
属性のプロパティの値以外に用意されてないとしたら不可能でしょだから。

だからそんなにどーしても変えちゃダメ、ってプロパティーなら、条件次第で
変更キックするようなコード書けばいいだけじゃん。
俺はうっとうしいと思うけど、必要ならメッセジボックスでも出してさ。
481デフォルトの名無しさん:2007/06/02(土) 21:58:18
属性は型情報なんだから、特定のインスタンスのフィールドがどうこう考えてる時点でおかしいと思えよ
482デフォルトの名無しさん:2007/06/04(月) 01:43:00
最近見かける(´・ω・`)←これの
口の部分ってどうタイピングすれば出るんだ?
483デフォルトの名無しさん:2007/06/04(月) 02:15:06
オメガでおk
484デフォルトの名無しさん:2007/06/04(月) 02:22:07
>>483
(´・Ω・`)サンクス
485デフォルトの名無しさん:2007/06/04(月) 03:56:42
>>483
(´・λ・`)サンクス
486デフォルトの名無しさん:2007/06/04(月) 07:57:45
↓この書き方ってセンスが無いでしょうか?行によってカンマから始まったり、そうでなかったり・・・
Private Sub Test(a1, a2 _
, a3, a4, _
a5, a6 _
, a7, a8)

487デフォルトの名無しさん:2007/06/04(月) 11:14:53
ない
488デフォルトの名無しさん:2007/06/04(月) 11:25:34
カンマは前の要素にくっつけるもんだろ。
489デフォルトの名無しさん:2007/06/04(月) 11:52:16
偶数行に特別な意味を持たせたいのならば、ないこともない
490デフォルトの名無しさん:2007/06/04(月) 12:56:46
>>479
.NET 2003 でやろうとして挫折した覚えが…
そのときは結局、取得なら
TypeDescriptor.GetProperties(オブジェクト).Item("プロパティ名").Attributes
でできるけど、AttributeCollection 自体が ReadOnly なんで
動的には変更できない、という結論に。
だが、君ならきっとやれる。頑張ってくれ。そして教えてくれ。
491デフォルトの名無しさん:2007/06/04(月) 17:24:46
それは方向が間違っとる
デスクリプタカスタマイズしても動的に読んでくれないと意味ないし。
492デフォルトの名無しさん:2007/06/05(火) 00:36:57
マクロで頑張ってVSを操作すればできそうな気がする
気がするだけ
493デフォルトの名無しさん:2007/06/05(火) 01:22:18
それはただの気のせい
494デフォルトの名無しさん:2007/06/05(火) 22:46:12
携帯から失礼します
SQLの質問です

Sqlコネクトストリングを
"DataSourse = .\EXPRESS"な感じで、
ローカル\EXPRESRを指すとします

その時に、例えば、カレントのサーバーを"AAA"と設定して、
先ほどのコネクトストリングを使用して
"AAA\EXPRESS"を指すことってできるでしょうか?

よろしくお願いします
495デフォルトの名無しさん:2007/06/05(火) 22:50:49
>>494
やってみてダメならまたおいで
496デフォルトの名無しさん:2007/06/05(火) 23:13:15
すみませんが教えてください。お願いします。

イミディエイト・ウインドウで、"?" の後ろに、オブジェクト変数をタイプして
エンターすると、オブジェクトのパラメータがダーッと出てくるんですが、
最後まで出ないで
< 詳細... (486 のアイテムの最初の 100 を表示しています。) >
となって終了します。これを全部出すにはどう操作すればいいでしょう?

よろしくです。
497デフォルトの名無しさん:2007/06/06(水) 00:02:13
直前に処理したメソッドの内容を無効にして、一つ前状態に戻すアンドゥーの様な
機能を持つボタンを作りたいのですが、どうすればいいでしょうか?
498デフォルトの名無しさん:2007/06/06(水) 00:14:21
直前の操作を覚えていれば、逆操作できるだろ
499デフォルトの名無しさん:2007/06/06(水) 00:15:27
動作をスタックにしていれとく
戻したらこんどはRedoのスタックにいれる
500最凶VB厨房:2007/06/06(水) 00:32:03
>>497
あらかじめ処理する時に、
変更対象のデータの変更前と変更後を記録しておく。
その記録から、変更後の状態から変更前の状態に戻す。

処理手順の記録も方法の一つ。最初の状態からどんな処理をしたのか
手順を記録しておく。
その記録から最初から最後の処理直前まで処理をして
元に戻す。

前者はExcelちっくな表。後者はお絵かき。を想定。
501デフォルトの名無しさん:2007/06/06(水) 05:03:57
>>498-500
レスありがとうございます。よくわからないけどいろいろ試してみます
502デフォルトの名無しさん:2007/06/06(水) 06:59:42
>>497
覆水盆に帰らず
503デフォルトの名無しさん:2007/06/06(水) 10:45:05
プリンタの一覧を取得したく、以下のプログラムを組みました。

For Each p As String In Printing.PrinterSettings.InstalledPrinters
Debug.WriteLine(p)
Next

しかし、ネットワークプリンタで問題が生じています。
「\\マシン名\プリンタ名」で取得したいのですが、
「自動 プリンタ名 (マシン名 上)」の形式で取得できてしまいます。

ネットワークプリンタを「\\マシン名\プリンタ名」の書式で取得する方法はないのでしょうか?

宜しくお願いいたします。
504デフォルトの名無しさん:2007/06/06(水) 14:14:08
初めて質問します。VB6の時、msgbox が表示されたときに、
CNTL + BREAK でデバッグモードに移行できたのですが、
VB.NET ではできません。なんか方法がありますか?
505デフォルトの名無しさん:2007/06/06(水) 14:21:17
あります
506デフォルトの名無しさん:2007/06/06(水) 14:39:24
507デフォルトの名無しさん:2007/06/06(水) 14:41:14
>>503
それで普通に
\\マシン名\プリンタ名
で出るけどな。
「自動 プリンタ名 (マシン名 上)」
508504:2007/06/06(水) 15:01:05
>>505
すいませんが、教えてください。
509デフォルトの名無しさん:2007/06/06(水) 15:06:48
>>508
メッセージボックスが出たらその行にブレークポイント仕掛ければいいんじゃね?
510504:2007/06/06(水) 15:11:59
それをせずに、したいのです。VB5では当然のように、できてましたから。
511デフォルトの名無しさん:2007/06/06(水) 15:32:46
>>504
IDE に戻って Ctrl+Break では不満なのか。
512504:2007/06/06(水) 15:56:09
>>511
知らなかった。そんな方法でできたとは・・・  ありがとう。
513デフォルトの名無しさん:2007/06/06(水) 21:06:23
なぜ、DB書き込む時のADDNEW  がなくなったんですか?
VB6でも 皆、使わないんですか?
514デフォルトの名無しさん:2007/06/06(水) 21:15:38
は???
>>513
NewRowがあるじゃないか????
ん???
イミフ
515デフォルトの名無しさん:2007/06/06(水) 21:59:15
うへへww
516デフォルトの名無しさん:2007/06/07(木) 06:54:44
Visual Studioのマクロも子のスレでいけるんでしょうか?
517513:2007/06/07(木) 09:31:44
>>514
ADDNEWがいいんです。
518513:2007/06/07(木) 09:35:58
すまん。知らなかった。INSERT してた。
519デフォルトの名無しさん:2007/06/08(金) 20:40:15
なんか最近廃れてるね。

[質問1]
Nullable(of T)の型に別名をつける方法って何かないかな?

[質問2]
Windows Form用の自作の複合コントロールAがあるとして、
それを継承するコントロールA'にさらにコントロールやコンテクストメニューを追加すると、
ビルドも実行も問題ないのにA'をデザイナで開くことができなくなることがあるけど
(このとき、「ClickはReadonlyなので書き込みできない、ような意味の例外メッセージがデザイナに
表示される)こういう場合もしAに何か問題があるとしたらどんな可能性があるでしょうか?
520デフォルトの名無しさん:2007/06/08(金) 20:50:07
>>519
[質問1]Imports NullableInt = System.Nullable(Of Integer)
[質問2]例を出せ
521デフォルトの名無しさん:2007/06/08(金) 21:05:18
>>520
[質問1] について
なるほどこういう場合もImportsが一応使えるのか、ありがとう。

でも、(いや俺の質問の仕方が悪いのですが)その方法だとNullableIntっていう別名は
ファイルスコープ(別のファイルからは見えない)になるよね?

例えばList(of T)なら、

Public Class IntList
Inherits List(Of Integer)
End Class

のように形だけの継承をしてList(Of Integer)にIntListという別名をつけることができるわけだけど、
同じようなことがNullableでもできないかと思いまして。

[質問2] について。
まあおっしゃるとおりなんですが、そういう問題が起こってる複合コントロールは
業務で使ってるんでコード晒せないんですよ申し訳ない。
522デフォルトの名無しさん:2007/06/08(金) 21:21:42
なんでC#だと言語レベルでNullableをサポートしてるのに
VB.NETはサポートしてないんだろうな
逆ならわかるけど
523デフォルトの名無しさん:2007/06/08(金) 21:27:18
なんでわかるのかわからない
524デフォルトの名無しさん:2007/06/08(金) 21:40:03
どうでもいいお手軽記法っぽいから
でもC#と違ってVB.NETはできるだけ記号を使わない方針のようだから
Dim i As Nullable Integer みたいにするんだったら意味ないと考えたのかな
525デフォルトの名無しさん:2007/06/08(金) 21:41:51
javaで

ArrayList<Customer> arryCst = new ArrayList<Customer>();
while(rs.next()){

Customer objCst = new Customer();
objCst.setStrCode(rs.getString("code"));
objCst.setStrYomi(rs.getString("yomi"));
objCst.setStrName(rs.getString("name"));

objCst.setStrPost(rs.getString("post"));

objCst.setStrAddress(rs.getString("address"));
objCst.setStrTel(rs.getString("tel"));

arryCst.add(i,objCst);


i++;
}

見たいな事を.NETでやりたいんですが。。

あるクラスのインスタンスを作ってそのフィールドにDBからとってきた値を格納。
それを配列にしてほかのクラスに渡すようなことをしたいんです。
どうすればいいでしょうか。
526デフォルトの名無しさん:2007/06/08(金) 21:52:18
何がわからないのか
そのように書け、としか
527デフォルトの名無しさん:2007/06/08(金) 21:53:32
ArrayList→List
528デフォルトの名無しさん:2007/06/08(金) 22:03:53
>のように形だけの継承をしてList(Of Integer)にIntListという別名をつけることができるわけだけど、
やめてくれw
529デフォルトの名無しさん:2007/06/08(金) 22:10:11
現在、VB.NETでClickOnceを使用し業務を作成しているのですが、
ClickOnceを使用した場合にクライアントPCのFDアクセスは可能でしょうか?

やれると思うのですが、確証が取れないのです誰か教えてください。
530デフォルトの名無しさん:2007/06/08(金) 22:14:34
なんでテストしないの?
531デフォルトの名無しさん:2007/06/08(金) 22:15:09
誰かができるといったら確証が持てるわけ?
532デフォルトの名無しさん:2007/06/08(金) 22:15:51
ってかできないと思う理由は何?
533デフォルトの名無しさん:2007/06/08(金) 22:17:40
>>528
別にごく普通の手法だと思うけど。。
534デフォルトの名無しさん:2007/06/08(金) 22:19:48
それはおかしい
535デフォルトの名無しさん:2007/06/08(金) 22:19:58
>>529
確証は自分が調べてやってみてから聞けよ
そうやってなんでもネットで調べようとするからカスになるんだ
536デフォルトの名無しさん:2007/06/08(金) 22:31:09
>>533
ネタだよね?ね?
537デフォルトの名無しさん:2007/06/08(金) 22:43:41
>>536
別に君がそう思いたければ思えばいいと思うよ俺は止めない。
内心馬鹿だな、とは思うが。

少なくとも俺は外部に公開するときに

Public Funtion Hoge() as List(of MyStruct)

みたいなことは不恰好だし面倒だしやってられない。
すれにList(of T)ってのは後々案外機能を拡張したくなったりするから
それに備える意味でも都合がいいしね。
538デフォルトの名無しさん:2007/06/08(金) 23:06:10
まあ自分が使う分にはいいんじゃない
539デフォルトの名無しさん:2007/06/09(土) 00:23:56
別名つけるのにそんなことしたら不便になる面もある。
まあ、その辺は割り切ってやってしまうってのもありだとは思うが。

やらないのは馬鹿みたいなのは本気か?と思うぞ。
540デフォルトの名無しさん:2007/06/09(土) 01:01:11
>>539
すまん・・・俺の日本語の読解力が足りないせいか理解しづらい文章だ
541デフォルトの名無しさん:2007/06/09(土) 01:16:06
やりたけりゃやりゃいいが、
それによる弊害もあるんだから、
やらないのは馬鹿みたいな言い方するやつは
ほんとに分かってやってるのか?
と疑問だってことだな。
542デフォルトの名無しさん:2007/06/09(土) 01:24:59

              ら
  な       い
             か?
543デフォルトの名無しさん:2007/06/09(土) 01:28:25
>やらないのは馬鹿みたいな言い方
ずいぶんとまた被害妄想的だねえ。
微妙に(いや本当はかなり)ニュアンス違わないか?

>>537にあえて言葉を付け加えるとすれば、

Public Class IntList
Inherits List(Of Integer)
End Class

これに弊害を感じるとしたらむしろそういう自分のセンスにこそ弊害を感じるべきだろう。
継承の1特殊形態(それも最単純な)に過ぎないわけで、これに弊害があるなら
継承なんて怖くて使えないだろう。
544デフォルトの名無しさん:2007/06/09(土) 01:29:04
>>537
Integerはやめてって言う意味だと思う。

内心馬鹿だな、と思うのは内心だけにしたらどうかと。
545デフォルトの名無しさん:2007/06/09(土) 07:35:39
>継承の1特殊形態(それも最単純な)に過ぎないわけで、これに弊害があるなら

本来同じ意味であるはずの元のListと逆方向の互換性がなくなるとか、
FindAllとかのコレクションを返すメソッドの互換性がなくなるとか
いろいろ弊害はあるわけだが。
546デフォルトの名無しさん:2007/06/09(土) 07:46:36
>FindAllとかのコレクションを返すメソッドの互換性がなくなるとか
いや、互換性じゃなくて、期待通りに動かない、てことだな。
547デフォルトの名無しさん:2007/06/09(土) 10:14:05
Public Class Form1
2: Inherits System.Windows.Forms.Form
3:
4: #Region " Windows フォーム デザイナで生成されたコード "
5:
6: Public Class Test
7: Public v As Integer
8: End Class
9:
10: Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
11: Trace.WriteLine(DateTime.Now)
12: Dim count As Integer
13: count = 10000000
14: Dim test(count) As Test
15: Dim i As Integer
16: For i = 0 To count - 1
17: test(i) = New Test()
18: test(i).v = i
19: Next
20: Dim sum As Long
21: For i = 0 To count - 1
22: sum = sum + test(i).v
23: Next
24: Trace.WriteLine(DateTime.Now)
25: End Sub
26: End Class


某HPからパクって来たソースです。
これってform classの中でpublic classとしてtestというものを宣言しているんでしょうか。
javaだとありえないんですけど、.netだと許されるんでしょうか
548デフォルトの名無しさん:2007/06/09(土) 10:15:11
>>547
お前の存在そのものがあり得ないと思う
549デフォルトの名無しさん:2007/06/09(土) 10:23:18
殺すぞテメ
550デフォルトの名無しさん:2007/06/09(土) 10:39:18
殺人予告です!!!!



Try

殺人計画
包丁を足に落として自爆
いてぇえええええええええ


Catch Ex asException
 殺人前に一回オナニーしたいという性衝動の例外が発生しました
 DoTheオナニー

finally
もう殺人なんてどうでもいいや

end try
551デフォルトの名無しさん:2007/06/09(土) 10:45:18
asException
でコンパイルエラーとなり、
殺人計画頓挫
552デフォルトの名無しさん:2007/06/09(土) 10:47:53
>javaだとありえないんですけど、.netだと許されるんでしょうか
何がありえないのか明確に。
553デフォルトの名無しさん:2007/06/09(土) 10:56:37
vb.net検索結果820万件
vb.net activereports 49100件

java検索結果3億以上
java + eclipse でも4500万以上
java eclipse struts 169万件

こんなマイナー言語もうやりたくねーー
わかりにくいHPかっ飛ばしてわかりやすいHP探すとか100%無理だし、本も売ってねーし
考えても答えでねーし。しかもスゲー忙しいからがんばってとか
さらにわけのわかんねー10万円以上するつーるつかって、.netでいっぱいいっぱいなのになんでわけのわかんねーツールまで持ち出す
言語知識0でいきなり現場投入とかわけわかんねえええ

適当モード確定
もうどーでもいいや、シネとか言ってごめんね
さようなら
554デフォルトの名無しさん:2007/06/09(土) 11:03:04
クラスの中にもう一個クラス宣言することが許されるのかということ


javaちっくに別モジュールにクラス作ってそれほかモジュールから呼ぼうとしたらインスタンスがドーのこーの言われて
出来なかったので調べてただけです。
インスタンス作ろうにもnew クラス名() の()が.net側で勝手に消されてしまう。







555デフォルトの名無しさん:2007/06/09(土) 11:09:43
>>554
おまえその様子じゃJAVAもまともに使えてないと思うんだ
使われてるレベルだと思う
556デフォルトの名無しさん:2007/06/09(土) 11:10:25
>>554
試しにソース晒してみろよ?
557デフォルトの名無しさん:2007/06/09(土) 11:19:05
>クラスの中にもう一個クラス宣言することが許されるのかということ
いつのJavaだよ
558デフォルトの名無しさん:2007/06/09(土) 11:25:21
Java だと無名クラスなんてもんすらあるのにね
559デフォルトの名無しさん:2007/06/09(土) 11:36:26
ソースさらしたくても会社にしかないので。大体こんな感じです

public class person

private name as string
private kana as string
private age as integer

public sub setPerson(byval name as string,byval kana as string,byval age as integer)

this.name = name '---------thisはmeだったかも、覚えてないです---------
this.kana = kana
this.age = age
end sub

end class

別もじゅーーるのフォームかなんかで
〜前略

person ps =new person '-------かっこつけたくても自動で消えます
ps.setPerson(aaa,bbb,111)

コンパイルは通ってもインスタンスどーのこーのでエラー





javaは使いこなせてません、ただ見たことなかっただけですクラス中にクラスを作る。

560デフォルトの名無しさん:2007/06/09(土) 11:40:48
>>559
結局何が言いたい(質問したい)んだい?
ただ馴れ合いたいだけなら個人的には他所いってやって欲しいね。
561デフォルトの名無しさん:2007/06/09(土) 11:45:35
いったいそれは何言語だw

ちなみにVBでは引数なしのメソッド呼び出しの()は省略できる。
New だとIDEが勝手に消してしまうので、ほっとけばいい。
562デフォルトの名無しさん:2007/06/09(土) 11:46:22
Javaの方がはるかに内部クラスだらけじゃないか
イベントハンドラを実装するために内部クラスを定義しないといけない仕様だぞ
563デフォルトの名無しさん:2007/06/09(土) 11:46:29
>ただ見たことなかっただけです

見たことない=ありえない。
おまえは神様かっ
564デフォルトの名無しさん:2007/06/09(土) 11:55:54
使ったことなかったですわ。('A`)
イベントハンドライベントリスナーのことでいいんですかね
それだったら使ったことありましたが1個1個implementsして使ってました。
無名とか内部クラスとかは知りませんでした。



.net書き方すらわからん初心者です。
板よごしなのでこれできえます。


565デフォルトの名無しさん:2007/06/09(土) 12:01:17
逆に凄いなw
566デフォルトの名無しさん:2007/06/09(土) 14:45:40
もうほっとけよ
567デフォルトの名無しさん:2007/06/09(土) 17:36:42
vb2003です。くだらない質問ですがお願いします。
mdiの子フォームでキーボードを叩いた時、親フォームのkeydownイベントを走らせないように
したいのですけどどうすればいいですか?
568デフォルトの名無しさん:2007/06/09(土) 17:58:25
親のKeyPreview = Falseにする。
する、というかデフォルトでFalseなはずだけど。
自分でTrueにしておかしいおかしいって言ってるとしたらアホ丸出しだね。
569567:2007/06/09(土) 18:25:05
>>568
ありがとうございます。確認してみます。
570デフォルトの名無しさん:2007/06/10(日) 13:58:04
vb.net2005でクラス同士が完全に等しいか比べるにはどうしたらいいのでしょうか?
equalsを使用してもうまくいきません
571デフォルトの名無しさん:2007/06/10(日) 14:02:50
インスタンスじゃなくてクラスが等しいのか。
普通見ればわかるんじゃね?
572570:2007/06/10(日) 14:04:13
>>571
すいません
インスタンスです
573デフォルトの名無しさん:2007/06/10(日) 14:08:28
何をもって完全に等しいとするのかをはっきりさせんといかんな。
574デフォルトの名無しさん:2007/06/10(日) 14:11:18
>>570
愚問だと思うよ。

そもそもそういう質問をするのはクラスがよく分かってないからだろうから
真面目に勉強しろ、としか言いようがない。

c#になるけど、アスキーから出てるartonって人のc#の本がその辺り
分かり易く掘り下げてるから読んでみるといいと思う。
575570:2007/06/10(日) 14:15:08
>>573
なるほど!!!
何をもって完全に等しいかを考えればよかったんですね!!!!!

中に入っている変数の値、全てが完全に等しいものを探しているので
一つ一つ比較していけばおkですね!


arraylistとか型がobject型のものは完全に等しいかを考えるのがむずかしいですね
576デフォルトの名無しさん:2007/06/10(日) 14:32:07
思而不学則殆そのものだな。
まあ人事だからどうでもいいけど
577デフォルトの名無しさん:2007/06/10(日) 21:44:42
Wubi - Ubuntu installer for Windows
http://pc11.2ch.net/test/read.cgi/software/1181387720/l50
578デフォルトの名無しさん:2007/06/10(日) 23:39:47
コピペ君って馬鹿だな、まで読んだ。
579デフォルトの名無しさん:2007/06/11(月) 06:18:32
ここは初心者馬鹿にしてストレス発散するスレだな。
580デフォルトの名無しさん:2007/06/11(月) 07:08:15
Form1で動画を再生(winmm.dllのmciSendStringAのopen、window、playを使って)→Form1をクリックしたら停止
というのを実現したいのですが、停止がうまくいきません。
Form1の動画以外の場所をクリックした時は停止するんですが、動画をクリックした時は停止しません。
動画をクリックした時も停止させる方法はあるのでしょうか?
ちなみに↓が停止のコードです。

Dim FileName As String = """C:\1.avi"""
End SubSub Form1_Click(省略) Handles Me.Click
mciSendStringA("close " & FileName, "", 0, 0)
End Sub
581580:2007/06/11(月) 07:11:38
すみません、間違えました。
↓です。

Dim FileName As String = """C:\1.avi"""
Sub Form1_Click(省略) Handles Me.Click
mciSendStringA("close " & FileName, "", 0, 0)
End Sub
582デフォルトの名無しさん:2007/06/11(月) 09:18:41
フォーム1に同じデリゲートのプロシージャ作って
動画のクリックイベントに停止処理のプロシージャをAddhandlerしたら終わるんじゃないの?
583デフォルトの名無しさん:2007/06/11(月) 10:39:17
動画をクリッコしたとき発生するイベントに
mciSendStringA("close " & FileName, "", 0, 0)
って書けばいいだろ。
584デフォルトの名無しさん:2007/06/11(月) 10:52:16
栗っ子
585デフォルトの名無しさん:2007/06/11(月) 11:47:55
VB.NETでは「メソッド」と「プロシージャ」の言葉はどう使い分けてるの?
プロシージャ : クラスかモジュールに定義されたSubかFunction
メソッド : クラスに定義されたプロシージャ
でいいの?
586580:2007/06/11(月) 14:37:12
めちゃくちゃ低能な質問ですが、

mciSendStringA("window " & FileName & " handle " & Me.Handle.ToString, "", 0, 0)

これで動画の表示先をForm1にしているのですが(MeはForm1)、この場合の動画のクリックイベントはMe.Clickではないのですか?
587デフォルトの名無しさん:2007/06/11(月) 17:13:24
いや・・・・それいぜんに

Dim FileName As String = """C:\1.avi"""
>>End SubSub Form1_Click(省略) Handles Me.Click
mciSendStringA("close " & FileName, "", 0, 0)
End Sub

>>つけてる行のソースはありえないから

ヘタな小細工せずにそのまま貼り付けろヤ
588デフォルトの名無しさん:2007/06/11(月) 17:19:45
データ個数32768個(可変)、チャンネルが8ch(可変)のデータがテキスト形式であります。
チャンネルはタブ区切り、データ個数は改行区切りです。

   1ch   2ch   3ch   4ch  …
1   0.5    0.7   0.8   0.9   …
2   0.6    0.12   0.13   0.5   …

32768

という感じの並びです。これを2次元配列に格納してそれぞれのチャンネルの
解析に入りたいのですが、どうやって2次元配列に格納できるでしょうか?
Splitを使ってみたのですが、いまいち分からずに困っています。
589デフォルトの名無しさん:2007/06/11(月) 17:24:33
>588
590デフォルトの名無しさん:2007/06/11(月) 17:35:56
>588
きみのいう2次元配列ってのは
(データ番号,チャンネル番号)でいいのかな?
591デフォルトの名無しさん:2007/06/11(月) 17:37:00
Dim hoge(,) As String
For i As Integer = 0 To データ数 - 1
データ = (i+1)行目のデータ
Dim hogehoge() As String = データ.Split(Chr(Keys.Tab))
For j As Integer = 0 To hogehoge.Split(Chr(Keys.Tab)).Length - 1
ReDim Preserve hoge(i, j) = hogehoge(j)
Next
Next
592588:2007/06/11(月) 17:45:31
レスありがとうございます。
2次元配列はできたら(チャンネル番号、データ番号)がいいですが、
解析はどちらでもできると思います。

ReDim Preserve は処理の速さはどうなんでしょう?
593デフォルトの名無しさん:2007/06/11(月) 17:52:05
自分で試してみろ
594580:2007/06/11(月) 18:21:32
<<587
<<580は間違いなので、<<581で訂正していますが…。
とりあえず、全体です。

Public Class Form1

Dim FileName As String = """C:\1.avi"""

Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" _
(ByVal lpstrCommand As String, ByVal lpstrReturnString As String, _
ByVal uReturnLength As Integer, ByVal hwndCallback As Integer) As Integer

Function SendString(ByVal cmdString As String) As Long
SendString = mciSendString(cmdString, "", 0, 0)
End Function

Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
SendString("open " & FileName & " alias f1")
SendString("window f1 handle " & Me.Handle.ToString)
SendString("play f1")
End Sub

Private Sub Form1_Click(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles Me.Click
SendString("close f1")
End Sub

End Class

ケータイで書き込んでいるので、見づらかったらすみません。
今パソコンから書き込めないんです。
595580:2007/06/11(月) 18:31:13
>と<を間違えたorz
596デフォルトの名無しさん:2007/06/11(月) 18:40:22
>>591
やめてくれ
597デフォルトの名無しさん:2007/06/11(月) 18:48:59
参照は4バイトとして
最後には4×8×32768=1MB
平均すると0.5MB
0.5MB×8×32768=128GB
つまり128GBものメモリを確保解放しまくるわけだ。
あほかと言いたい。
598デフォルトの名無しさん:2007/06/11(月) 18:57:24
その けいさんは おかしい
599デフォルトの名無しさん:2007/06/11(月) 19:00:18
あれ、たしかにおかしいな。
ってかこれ正しく動くのか?
600デフォルトの名無しさん:2007/06/11(月) 23:32:52
SqlCommand.CommandTimeoutでSQLのコマンド実行のTimeoutを設定できますが
これのデフォルト値である30秒という値を変更する方法はありませんか?
SqlCommandを使うところ全部でCommandTimeoutを設定するコードを書かずに
設定ファイルで変更できないものかと思っているのですが
601デフォルトの名無しさん:2007/06/12(火) 01:28:11
コネクションストリングにかけば?
つうか、いくらでもあると思うが…
602デフォルトの名無しさん:2007/06/12(火) 04:52:12
>>462

少し気になったので、相乗りで質問、というか、低脳なコメントを。

以前、VB.NETからアンマネージドのCのDLLを呼び出してたのだが、
そのCのDLLの内部に
ローカル変数に対しメモリーアロック掛けっぱなしというBUGがあった。

DLLを作成してたのは他社(仮にA社)だったのでソースも確認しようがなかったので
そんな障害があるとは自社ではまったく気づいておらず、
後日A社から申し出があって、不具合修正版のDLLを貰った、ということがありました。

それはそれで解決したので問題ないのですが、
もしA社が申し出なかった場合、自社では原因を掴むのが難しいと思い・・・

こんなときどうやって切り分けるのでしょうか。

>>458の言っているWorkingSetじゃ
プロセスのメモリ使用量だから
相手のDLLが使用したメモリ量だけ切り出そうと思っても
できないんじゃないかと思うのだが、、、。

603デフォルトの名無しさん:2007/06/12(火) 05:38:48
>>597
たとい12使用しても最近のメモリは性能いいからもんだいない
604デフォルトの名無しさん:2007/06/12(火) 07:01:29
>>601
MSDNのSqlConnection.ConnectionStringを見たところでは対応している
キーワードがないみたいです。Connection Timeoutキーワードは
CommandTimeoutとは別ですよね。他の載っていないキーワードがあるのでしょうか?

また、書き忘れましたが.NET Framework 1.1を使っています。
605デフォルトの名無しさん:2007/06/12(火) 09:13:36
>>597
文句をいうのはいいが、打開案も出さねばゴミだ
606デフォルトの名無しさん:2007/06/12(火) 09:14:04
>>602
普通マネージドプログラムを書いてもらうものじゃないかな?
ウチはCOM使う場合、相手に依存するから検証されてないと保証できないですよ
みたいに言って逃げてる

そんな深い所まで調べる時間が無い
607デフォルトの名無しさん:2007/06/12(火) 12:09:01
RadioButtonListなどを貼り付けたユーザーコントロールを作成しています。

RadioButtonListのListItemコレクションエディタを、ユーザーコントロール呼び出し側で、
操作したいのですが、よい方法ありませんでしょうか?
608デフォルトの名無しさん:2007/06/12(火) 12:43:20
プロパティでそのままラジオボタンリストを公開するとか

public read only property RB as radiobuttonlist
return me.RadioButtonList1
end property

みたいなwwww
エディタのプロパティがネストしてやりづらいしすげぇダサいやり方だと個人的に思うけど
単にラジオボタンリストのコレクション公開すればできないか?
609デフォルトの名無しさん:2007/06/12(火) 15:46:32
配列のソートで質問です。

例えば以下のような構造体を持つ配列があります

structure AAA
ID as integer
ID_2 as integer
Name as string
end structure

このデータを List(Of AAA) に挿入してあります。

AAAの中身

ID ID2   Name
1  2   AAAAAA  
3  2   BBBBBB  
2  3   CCCCCCC  
2  1   DDDDDD 

このList(Of AAA)
の中のデータを簡単に ID,ID2 の準でソートできないでしょうか?
1つならば簡単なのですが 条件が2つあるというのがネックです。

ICompareを独自に実装すべきでしょうか?
610デフォルトの名無しさん:2007/06/12(火) 16:12:19
611デフォルトの名無しさん:2007/06/12(火) 16:23:50
>>609 >IComparable.Compare(x, y)
If (x.ID > y.ID) Then
Return 1
ElseIf (x.ID < y.ID) Then
Return -1
Else
If (x.ID_2 > y.ID_2) Then
Return 1
ElseIf (y.ID_2 < y.ID_2) Then
Return -1
Else
Return 0
End If
End If
612デフォルトの名無しさん:2007/06/12(火) 16:28:50
>>610
>>611
ありがとうございます
実装できました!

実装は
IComparer(Of Hoge)
を使用してキャストが発生しないように実装してみました。
613デフォルトの名無しさん:2007/06/12(火) 22:16:39
>>609
そもそもどうやってここにデータを入れたんだw
614デフォルトの名無しさん:2007/06/12(火) 23:06:55
>>613

構造体配列だから普通に入れたんじゃね?
615611:2007/06/12(火) 23:48:46
>>611の一行目はIComparer(Of AAA)の間違いね
>>612はわかってるみたいだけど
616デフォルトの名無しさん:2007/06/12(火) 23:54:05
>>614
そっかww
617デフォルトの名無しさん:2007/06/13(水) 00:20:05
vb2005で、WMIを使ってUSBに接続されたHDとかの
PNPDeviceIDを取得するものを作ってるんだけど、
ドライブ名を指定して取得する方法ってありますか?

「E:」って指定してできるのかと思ったけど、Win32_DiskDriveは
ドライブ情報だからパーティションの情報なんてないし・・・
方法があったら、教えてほしいです
618デフォルトの名無しさん:2007/06/13(水) 12:07:52
VBSでGIF画像の色を置換したいんですが可能でしょうか?
RGB(R, G, B)でいうと、緑色(85, 127, 85) ⇒ 青色(85, 127, 170) に変換したいのです。
大量の画像を一度に処理したいので、フォトレタッチソフトでは手間がかかりすぎて・・・。
どうか、偉い人教えてください。
619デフォルトの名無しさん:2007/06/13(水) 12:23:06
What's VBS ?

Virus Buster Special ?
620デフォルトの名無しさん:2007/06/13(水) 16:48:14
VBScriptのことなんじゃね
ここはVB.NETのスレですよ
もちろんVB.NETなら間違いなく可能だけどVBScriptではどうかは知らん
621デフォルトの名無しさん:2007/06/13(水) 19:25:07
>>619-620
レスありがとうございます。
VBSってのは、VBScriptのことです。説明不足ですみません。
VB.NETだとどういう感じに書けばいいのでしょうか?
622デフォルトの名無しさん:2007/06/13(水) 20:50:09
vb2005を使っているのですが質問をさせてください

例えばフォームにtextbox1〜textbox10まであったとして、それぞれに同じ処理を連続して実行したいのですが

for文を使うとして

for n=1 to 10

textbox(n)="文字列"

みたいなことを使用としたのですが、当然これを関数名として認識してくれませんでした
あらかじめ用意した変数に="textbox" & n みたいなことや
今の自分で他にも思いつく限りのことはやってみても同じでした・・・

こういったtextboxやpicutureboxなどのオブジェクト名(?)をfor文等で連続して実行させたい場合
そのオブジェクト名の連番の表記をどういった風にやるのが適切なのでしょうか?

ご助言をどうかよろしくお願いします。
623デフォルトの名無しさん:2007/06/13(水) 21:00:15
どうしてVB6上がりな人は素直に「コントロール配列が使いてえ」って言えないのかね。

ドトネトにコントロール配列はないから自分で配列なりListなり作って
やってくださいよ。
624デフォルトの名無しさん :2007/06/13(水) 21:49:14
どうしてもコントロール配列みたいなことをしたければ、
#Region "Windowsフォームデザイナで生成されたコード  〜#End Region
のところに、
TextBox(1)=TextBox1
TextBox(2)=TextBox2
って書いていけばできるんじゃない?
625デフォルトの名無しさん:2007/06/13(水) 21:57:08
>>617
Win32_LogicalDiskRootDirectory
使えば何とかなるかも
626デフォルトの名無しさん:2007/06/13(水) 22:24:03
>>622
どぼんに配列に関する項目があるから、そこを参照。
627デフォルトの名無しさん:2007/06/13(水) 22:40:06
>>623
VB6なんて使ってませんが?

>>626
カンシャ
628デフォルトの名無しさん:2007/06/13(水) 22:56:49
まあVB6上がりであろうとなかろうと、そんな程度でいちいち人に尋ねてるようじゃ
先はないと思ったほうがいいな。
629デフォルトの名無しさん:2007/06/13(水) 23:00:27
↑ ま た お ま え か
630デフォルトの名無しさん:2007/06/13(水) 23:27:42
>>628
PG以前に人間としての素質が無いとお見受けした
631デフォルトの名無しさん:2007/06/13(水) 23:56:17
>>625
RootDirectory の方はいらんな。
Win32_LogicalDisk の DeviceID がドライブレター。
で、そこから
Win32_LogicalDiskToPartition で論理ディスクに対応するパーティションの DeviceID 取って、
Win32_DiskDriveToDiskPartition でパーティションに対応する物理ドライブの DeviceID 手に入れて、
Win32_DiskDrive から PNPDeviceID
ってことになるんかな?
えらく泥臭くなりそうだけど。

Win32_LogicalDiskToPartition が Win32_LogicalDisk と Win32_DiskPartition の参照を持つはずなのに
何故か String で返ってくるな……。
632デフォルトの名無しさん:2007/06/14(木) 02:07:17
>>627

こいつ時々ここに沸いてるけど質問が素人くさい上に返答の仕方が房臭い
つうか、カスだな 間違いなく
もし業務でやっているならおれは真っ先にお前のようなやつはキル
633デフォルトの名無しさん:2007/06/14(木) 11:29:38
こ、殺すの?
634デフォルトの名無しさん:2007/06/14(木) 12:24:50
PropertyのGet/Setで何も処理しない場合、変数をPublicにするので問題なし?
処理なしPropertyの利点が分からん。
635デフォルトの名無しさん:2007/06/14(木) 12:42:23
>>634
セットもゲットもさせないってことでいいんじゃない?w
636デフォルトの名無しさん:2007/06/14(木) 12:49:34
>>632
↑w
ハイハイワロスワロス
637デフォルトの名無しさん:2007/06/14(木) 12:52:59
>もし業務でやっているならおれは真っ先にお前のようなやつはキル

だっておwwww

AA(ry

馬鹿同士言い合ってる時点で俺は真っ先にそのようなやつはry
638デフォルトの名無しさん:2007/06/14(木) 12:54:56
>>634
将来処理いれるかもしれないだろ?
先を見越した書き方しとけ
639デフォルトの名無しさん:2007/06/14(木) 12:59:59
>>638
そうなったらその時直せば済む話。
640デフォルトの名無しさん:2007/06/14(木) 13:09:54
そしたら参照してるとこ全部直さないといけないでしょうが
汚物は消毒
641デフォルトの名無しさん:2007/06/14(木) 13:11:11

二行目は気にしないでくれ。コピペミスだw
642デフォルトの名無しさん:2007/06/14(木) 13:19:51
大概、先に見越したところは想定通りにならないのが常だがなw
643634:2007/06/14(木) 13:59:48
いや、もう本当に悩む。
変数が40ぐらいのクラスを作らなければいけないのだが、
正直かなり面倒。
今までそう言われてきたから、必ずSet/Getを作ってきたけど、
代入/取得するだけの処理に意味有るのかと。

もちろん入力規則をする場合などには、利用するけどね。

どれだけ、将来的に役立つのか疑問。。
誰か、すばらしい利点を教えてだせい。
644デフォルトの名無しさん:2007/06/14(木) 14:15:46
>>643
フィールドにした場合virtual/overrideに出来ない。VBだとoverridableだっけか。
インターフェイスにフィールドを含めることが出来ない。
リフレクションなどでメソッドの呼び出しを横取りして何かの処理を行うことが
フィールドに対しては出来ない。
通信やCOM呼び出しなどでインターフェイスを実装することを要求しているのは、
処理の横取りが出来ないフィールドを排除するためである。

VB6のCOMのようにpublicなフィールドを暗黙でプロパティにしてしまうのもありだとは思うが、
VB.NETはC#の考え方に合わせたのだろう。
645デフォルトの名無しさん:2007/06/14(木) 14:17:07
上のような理由からだから値型はフィールドのままでかまわないよ。
646デフォルトの名無しさん:2007/06/14(木) 14:27:22
>>640
ん?プロパティにいちいち () つけるタイプ?
それなら修正して回らないと駄目だね。
647デフォルトの名無しさん:2007/06/14(木) 14:46:58
ん? C#メインだから()とか言われても分からないんよ

public int iUnko;

やっぱプロパティにしよう
public int Unko{
 get{}
 set{}
}

iUnkoをUnkoに書き換えなきゃなんないんじゃ?
プロパティの名前をiUnkoのままでもいいけど、
そうしたらクラス内部で使うときに全部プロパティ経由になっちゃうよ
やっぱ書き換えが発生するんじゃ
648デフォルトの名無しさん:2007/06/14(木) 14:52:27
VBにはリファクタの「フィールドのカプセル化」がないのか。そりゃ面倒だね。
C#のもフィールドをまとめてカプセル化する機能がないのでちょい不満だけど。
649デフォルトの名無しさん:2007/06/14(木) 14:54:59
>>647
ああ、いちいちプレフィックス付けるタイプでしたかw
650デフォルトの名無しさん:2007/06/14(木) 15:06:40
C#3.0では自動プロパティという機能がついて
public int Unko{get;set;}だけでよくなるらしい
651デフォルトの名無しさん:2007/06/14(木) 15:35:08
VBは引数付きプロパティが使える関係でプロパティに引数が必要な場合は( .. ) を付ける。
引数なしプロパティには()を付けても付けなくてもいいということらしい。
C#の場合は大小文字を区別するから、フィールドnameでプロパティはNameにするのが一般的だが、
VBの場合プロパティとフィールド名の命名にそういったルールや習慣はあるの?
652634:2007/06/14(木) 15:57:34

>>648を参考にアドインを探したら、Refactor! というツールがありました。
悩んでいるのもあれなんで、これを使ってどんどんプロパティを作ってしまいました。

ttp://www.devexpress.com/Products/NET/IDETools/VBRefactor/
653デフォルトの名無しさん:2007/06/14(木) 16:04:04
VB2005でcrystal reportsを使いたいのですが、
インストール方法が分かりません。

恐れ入りますが、ご教示ください。
654デフォルトの名無しさん:2007/06/14(木) 16:07:24
エディションは?
655デフォルトの名無しさん:2007/06/14(木) 16:12:06
>>654

Visual Studio 2005
Tools for the Microsoft Office System

です。

よろしくお願いします。
656デフォルトの名無しさん:2007/06/14(木) 18:35:50
ふいたww
657デフォルトの名無しさん:2007/06/14(木) 19:33:42
>>650
C++/CLIなんて、property int Hoge;だけでおkだぜ?
658デフォルトの名無しさん:2007/06/14(木) 21:53:19
VB2005(Professional Edition)に関する質問です。

プロセス間で同期を取るためにイベントを使いたいのですが、
VB6⇔VC2005とか、VC2005⇔VC2005とかでは他プロセスから
イベントを受信できるのに、VB2005だとできなくて困っています。
どなたか原因分かる方いませんか?

以下ソースの一部(プロジェクトの種類はVCはWin32アプリ。VBはWindowsアプリ)

〜〜〜VC2005〜〜〜
hEvent = CreateEvent( , , , "test_event")
SetEvent(hEvent)
〜〜〜〜〜〜〜〜〜

〜〜〜VB2005〜〜〜
hEvent = CreateEvent( , , , "test_event")
iRet = WaitForSingleObject(hEvent,0) ←ここでイベントを受信しない。
〜〜〜〜〜〜〜〜〜

ちなみに同じプロジェクト内で、SetとWaitを使用した場合は動きます。
〜〜〜VB2005(動く)〜〜〜
hEvent = CreateEvent( , , , "test_event")
SetEvent(hEvent)
iRet = WaitForSingleObject(hEvent,0) ←これは受信する。
〜〜〜〜〜〜〜〜〜
659デフォルトの名無しさん:2007/06/14(木) 21:58:24
それだけで分かったら ESP 名乗れるかもしれないな。

本題とは直接関係ないが、わざわざ Win32API 使わんで EventWaitHandle 使え。
660658:2007/06/14(木) 22:12:02
>>659 レスサンクス
補足っぽいものさせてもらうと、
A、B共にVB2005で作ったexeとして、

A.exeでSetEvent
A.exeでWaitFor〜
の場合は、イベントを受信するんだけど

A.exeでSetEvent
B.exeでWaitFor〜
の場合は、動かないんですよね。

VB6の場合はどっちのパターンでも動きます。

ちなみに、EventWaitHandle使う場合は、
VC側はどうやるのでしょう?
VCでもEventWaitHandle?それともCreateEvent?
質問増えて申し訳ないです。
661デフォルトの名無しさん:2007/06/14(木) 22:22:15
文字セットの問題とかな

EventWaitHandle は名前付きイベントのマネージドなラッパ。
662658:2007/06/14(木) 22:39:09
>>661 レスサンクス
う〜ん それも考えて、
VCのテストアプリを、マルチbyte文字セット、ユニコードの両方試してみてもダメ。
660の例では、コンパイルしてできたexeをリネームして試してみてるので
やっぱり文字コードじゃなさそう。

レスに対して揚げ足取ったようでゴメンナサイね。

何か思いついたことがあれば、引き続きレスお願いします。
663デフォルトの名無しさん:2007/06/15(金) 00:09:02
本当に初歩的な質問をさせていただきます。
フォームが1つありテキストボックスが2つ(1、2)、ボタンが1つ配置してあります
ボタンを押したらテキストボックス1と2に入力した文字をCSVファイルに書き込む用にしたいのですが
どのようにCSVに書き込みのプログラムを組めばよいのでしょうか?

CSVファイルの場所は固定です C:\
2つのテキストボックスには4桁の整数を入力します。
CSV内で2つのテキストボックスに入力した値をカンマ区切りで書き込みたいです。 例 1234,5678
ボタンを押すごとにCSVファイル内で改行して書き込みを行いたいです

ボタン押下の度にCSVの中身は改行され
1234,5678
4321,0987
   ・
   ・

初心者すぎてわかりにくい質問だとはおもいますが
お願いいたします
664デフォルトの名無しさん:2007/06/15(金) 00:14:24
その説明をそのままコードに起こせばおk


で、どこが分からんの?
665デフォルトの名無しさん:2007/06/15(金) 00:21:14
>>664
まず
テキストボックス内の数字を
CSV書き込みの時に反映させるコードの書き方が
全くわかりません・・・
一度テキストボックス内の数字を変数入れたほうがいいのですか?

666デフォルトの名無しさん:2007/06/15(金) 00:36:12
全くって言われても……言葉通りとしか……。
とりあえずファイルに書き込むことはできてる? どうやって書き込んでる?
667デフォルトの名無しさん:2007/06/15(金) 00:41:37
>>666
すいません質問が漠然としすぎていて・・
もう少し勉強してから出直してきます。
668デフォルトの名無しさん:2007/06/15(金) 00:43:40
2005で作ったプログラムを2003に変換する方法ってありますか。
669デフォルトの名無しさん:2007/06/15(金) 01:40:00
1.1にない機能を使ってたらどうすんの?
670デフォルトの名無しさん:2007/06/15(金) 10:08:10
>>668
コピペしてエラーがでたら考える。
671デフォルトの名無しさん:2007/06/15(金) 10:40:30
AddHandlerでLeaveイベントでを関連付けて、テキストボックスからフォーカスが移動した際に
入力のチェックをしているのですが、ツリービューをクリックした際になぜか
入力チェックが2回実行されます。

この原因及び解決法が分かる方がいましたらご教授願います。
672デフォルトの名無しさん:2007/06/15(金) 10:47:45
2005のDataGridViewでDataGridViewButtonColumn列を使用して一覧の表を作成しています

ある特定の行のときだけ
DataGridViewButtonCellの中にあるボタンを無効化(enable=false みたいに)出来ないでしょうか?
673デフォルトの名無しさん:2007/06/15(金) 12:41:48
すみません。http://www.cbook24.com/bm_detail.asp?sku=4798011126を買おうと思っているんですが
下の方に印刷のところで、クリスタルレポートっていうのが、でてきます。他の本をみていても時々でています。

色々と調べてみたんですが、VB2005Proffessionalエディションじゃないとクリスタルレポートというのは
つかえないんでしょうか・・・

Professionalエディションって結構高いですよね・・ よろしくお願いします。
674デフォルトの名無しさん:2007/06/15(金) 12:43:10
>>671
それで原因がわかったらエスパーだなw
原因および解決法が分かる方がいましたら、ってなんだよ。
まるで原因は自分のミスじゃない、とでも言いたげだな。

そういう時は原因としてどういう可能性が推測できるか、と聞けよ。
675デフォルトの名無しさん:2007/06/15(金) 12:53:56
>>673
Expressでは少なくとも無いなぁ
Standardはしらんが多分Pro以上

Express5000くらいで買ってProにアップグレードしたら多少安く手に入るんじゃないかな?
676デフォルトの名無しさん:2007/06/15(金) 12:54:13
677デフォルトの名無しさん:2007/06/15(金) 12:57:12
>>673
バンドル版はPro版以上。それ以下でも製品版を買えば使える。
http://japan.businessobjects.com/products/crystal/
もちろん製品版も結構高いけどな。
678デフォルトの名無しさん:2007/06/15(金) 13:02:18
タグ上で右クリしたときContextmenuStripが表示されるようにしたいんですが
なんかいい手無いかなー?
要はタブを追加、タブを閉じるのメニューを表示したいんす
679デフォルトの名無しさん:2007/06/15(金) 13:03:23
>>672
以前自分もこれしらべたことあったけど、現状じゃ無理ー。
680デフォルトの名無しさん:2007/06/15(金) 13:05:51
>>678
タブコントロールのタブか?
普通にマウスクリックイベントに書けば?
681デフォルトの名無しさん:2007/06/15(金) 13:08:44
>>679
やっぱむりっすか・・・
中のボタンコントロールみたいなのとれればなとか
あれこれ調べたんですがこれもムリだったので、まぁ、今回はちょっと別の方法模索してみようかなとおもいます。

レスありがとうです!
682デフォルトの名無しさん:2007/06/15(金) 13:14:45
>>681
正確にいうと、ReadOnlyにすることで、無効化は可能。
ただ、視覚的にenabled=false(グレー表示)にすることが不可能。
ボタンを押す行為自身はできちゃうんだよね…
683デフォルトの名無しさん:2007/06/15(金) 13:28:06
>>682
もうちょっとツボ抑えた機能がほしいところですね
全部既存のコントロールが中にあるんだろうし 少しくらい公開してくれても・・・(;´Д`)
684デフォルトの名無しさん:2007/06/15(金) 13:34:46
中にコントロールはなかったような。
編集するときEditControl生成するくらいじゃね?
Buttonの絵を書いてるだけだよ。
じゃなきゃ何千ものコントロールのハンドル管理しなきゃいけなくなるっしょ。

だから継承して自分で描画すればいいだけの話
685デフォルトの名無しさん:2007/06/15(金) 14:04:58
>>684
いいヒントもらえたのでちょっと強引にやってみました。
セルのボタンを表示したくないValueにはNothing そうじゃないばあいNothing以外を入れて
CellPaintingイベントで

If e.RowIndex >= 0 AndAlso e.ColumnIndex >= 0 AndAlso dgvList.Columns(e.ColumnIndex).Name Is 該当のカラム Then

Dim temp As DataGridViewCell = dgvList.Rows(e.RowIndex).Cells(e.ColumnIndex)

If temp.Value Is Nothing Then

Dim TempPoint As New Point(e.CellBounds.X + e.CellBounds.Width - 1, e.CellBounds.Y)
Dim TempPoint2 As New Point(e.CellBounds.X + e.CellBounds.Width - 1, e.CellBounds.Y + e.CellBounds.Height)

e.Graphics.FillRectangle(New SolidBrush(Color.White), e.CellBounds)
e.Graphics.DrawLine(New Pen(SystemColors.ControlDark), TempPoint, TempPoint2)

e.Handled = True

End If

End If

ボタンを表示したくない時は自分で塗りつぶして線も描画し、表示したい時はコントロール任せ
こんな感じでとりあえずいけそうかなぁと
助かりました〜
686デフォルトの名無しさん:2007/06/15(金) 14:42:56
グループボックスの中にボタンが配置してある場合、グループボックスの背景色を
変更したらボタンも一緒に変わってしまう。。

再度ボタンを設定しなおせば良いのは分かりますが、
予め反映させないようには出来ないのでしょうか?
687デフォルトの名無しさん:2007/06/15(金) 15:22:57
>>686
????
今やってみたけど変わらないと思うぞ

あらかじめGroupBoxに背景色が設定してあって、そのうえにボタン追加したらその現象が出るなぁ・・・
ちなみに2005IDEね
688686:2007/06/15(金) 15:37:46
ぇええぇぇええ〜。

実験どうもです。
自分の所もVS2005のVB。

ちょっと新規にプロジェクトを作成して試してみましたが、
グループボックスの中にボタンを配置して、以下のプログラムで再現します。

GroupBox1.BackColor = Color.Aqua


この場合、グループボックスもボックス内にあるボタンもAqua色。。

689デフォルトの名無しさん:2007/06/15(金) 15:46:23
>>686
あ〜
ボタンのスタイルをスタンダードにしてるから
見た目かわらないだけでグループの背景色変えたらボタンの背景色変わってるな〜
たしかにFlatとかにしてたらIDEでも変わるのが目に見えて判る

こういう処理やったことないからわからないけど・・・・自動で子にいろいろ設定されるのは難しいんじゃなかろうか・・・
FormのFontSizeとか変えたら子のサイズも変わるのと同じ原理なんだろうなぁ・・・
ある意味気が利いてていいんだが・・・
690686:2007/06/15(金) 15:47:58

コードとか関係なくGUIでもそうなっているんですね。。

ラベルやチェックボックスとかには便利だけど、
ボタンにこれは必要ないだろ〜。

ぅう、面倒くさー。
691686:2007/06/15(金) 15:50:10
>>689
入れ子になりました。

度々どうもです。
うーん、小さな親切って奴ですな〜。
692673:2007/06/15(金) 15:51:01
>>675
どうもありがとうございます。ExpressからProにアップグレードできるんですか?
以前のエディションのPro版からしかアップグレードできないとおもっていたので、
とても助かります。ありがとうございました。

>>676
どうもありがとうございます。わざわざURLを貼っていただきまして。やっぱりPro版じゃないと
だめみたいですね。

>>677
製品版なんてものもあるんですね。CrystalReport単品ですね。でも、7万しますね・・
MicroSoftはここまで金をもうけないと駄目なんですかね・・

どうもありがとうございました。お礼が遅くなりすみませんでした。料理してたら忘れてまして・・
693686:2007/06/15(金) 15:54:48
>>689
ああ、どうもです。

FlatStyleプロパティをSystemにする事で、回避できそうです。
694デフォルトの名無しさん:2007/06/15(金) 16:01:58
>>693
ついでにちょっと試してたんだけど

IDEでグループボックス貼り付け
IDEでボタン貼り付け
ボタンのスタイルをフラットにして、色をREDに変更

このあとグループボックスの色変えてもボタンの色変わらなくない?
もちろんコードでグループボックスの色変えても
695686:2007/06/15(金) 16:06:56
>>694

自分が確認した範囲では、一度ボタンの色を任意に設定した後は、
ボタンのスタイルに関わらず、グループボックスと連動する事はなさそうです。

スタイルをSystemにするか、BackColorをColor.Transparentにするかの
どちらかになると思います。
696デフォルトの名無しさん:2007/06/15(金) 16:11:53
>>674
ではその可能性とやらを教えてください
697デフォルトの名無しさん:2007/06/15(金) 16:20:47
>>696
またお前かw
偉そうな質問者よ
他のスレで大暴れしているな?
698デフォルトの名無しさん:2007/06/15(金) 16:25:08
>>697
完全に人違い。
さっきのはもうあきらめました。

ちなみに別のところで詰まってるんだけど
教えてもらえるかな
699デフォルトの名無しさん:2007/06/15(金) 16:54:12
だがことわる



って言われたら諦めるの?
700デフォルトの名無しさん:2007/06/15(金) 17:11:23
やだ

っていったら教えてくれるの?
701デフォルトの名無しさん:2007/06/15(金) 17:23:11
>>700
お前には教えない
教える気になる書き方しろやカス

つうか、おまえはそういう聞きかたされておしえるのか?

もしそうなら教えてほしいんだが
Form閉じる時に何か処理したいんだがなんてイベント使えばいいんだ?
たのむから教えてくれカス
702デフォルトの名無しさん:2007/06/15(金) 17:57:14
何でお前はそんなに偉そうなんだ

お前は俺の質問に答えられるのか

無理なくせにえらそうにするなよ
703デフォルトの名無しさん:2007/06/15(金) 17:59:13
DataTableでColumnsの最大値っていくつまで指定可能ですか?
704デフォルトの名無しさん:2007/06/15(金) 17:59:25
>>698 = >>700 = >>702 = Null
つまり奴はこの世の中には存在しないんだよ!!!!

>>702
それまさにお前 m9(^Д^)
ところで釣れますか?
705デフォルトの名無しさん:2007/06/15(金) 18:02:41
>>701
FormClosingだ、馬鹿。
Closingが見つからないからってあせるな馬鹿。
706デフォルトの名無しさん:2007/06/15(金) 18:04:52
>>703
Columns.CountプロパティがIntegerだからそこから最大値は必然的にわかるだろ。
707デフォルトの名無しさん:2007/06/15(金) 18:09:53
>>706
おお!
盲点ってか全く気がつかなかった。
サンクスです。
708デフォルトの名無しさん:2007/06/15(金) 18:13:21
ぜひ>>671には
わ○くま とかの掲示板で質問していただきたいw
709703:2007/06/15(金) 18:14:17
もうひとつ聞きたいことがあるんですが、
DataTableにNewRowした時点で、
あらかじめ項目に規定値をセットする方法ってあるのでしょうか?
710デフォルトの名無しさん:2007/06/15(金) 18:15:14
>>705
ばっかw
そこは2003か2005か聞くところからはじめさせるための釣りの布石なんだよwwww







 MayBe...
BoyesBe...
711デフォルトの名無しさん:2007/06/15(金) 18:18:11
>>709
DataColumn みてみ?
712703:2007/06/15(金) 18:24:59
>>711
どうもです。
試してみます。
713デフォルトの名無しさん:2007/06/15(金) 18:47:12
VB2005が何か落ちまくる。

コピペしようとすると、コピーの段階でdevenv.exeのCPU使用率が
急上昇して最終的に落ちるか固まる。

はー・・・。
714デフォルトの名無しさん:2007/06/15(金) 18:48:28
Dim str As String = "abc"

str = Format(str, "@,@,@")

MsgBox("str")

これで出力をすると結果が「@,@,@」になるのですが、どうしてなのでしょうか?;

どの解説サイトを見てもFormat関数の書き方は間違ってないはずなのですが・・・
715デフォルトの名無しさん:2007/06/15(金) 18:49:12
ちなみにHndles Button.click内にあります。
716デフォルトの名無しさん:2007/06/15(金) 19:09:04
すみません、上記は間違いです

Dim str As String = "abc"

str = Format(str, "@,@,@")

MsgBox(str)

自分では「a,b,c」と出ると思ってるのですが、どこか間違ってるんでしょうか?
717716:2007/06/15(金) 19:14:32
VB2005です
718デフォルトの名無しさん:2007/06/15(金) 19:16:07
TextBox/DateTimePicker/CheckBox/RadioButton などのコントロールが
50個以上あるフォームが有るのですが、フォームのクローズボタンなどで
閉じられた際に、内容が修正された場合には確認のメッセージを
表示させたいのですが、どうすれば良いでしょうか?

TextBoxの場合はModified がありますが、それ以外のコントロールはありませんし・・・。
719デフォルトの名無しさん:2007/06/15(金) 19:19:03
>>718
起動した時に覚えておいて
Closingかなんかでチェックすればいいんじゃね?
720デフォルトの名無しさん:2007/06/15(金) 19:27:46
>>719
やっぱりそれしか無いですかね。

なんか遅くなりそうで心配・・・。
721デフォルトの名無しさん:2007/06/15(金) 19:32:32
フラグ一つ見るのに時間がかかるわけがないと思うんだが。
たぶん1nSecもかからないと思うぞw
722718:2007/06/15(金) 19:50:28
>>721
え?フラグ一つってどういうことでしょうか?

今、修正される可能性があるコントロール全てを、データクラスにして
表示する時と閉じる時にセットして比べようとしているんですが・・・。

もしかして自分は壮大な過ちを犯してしまっているのか!
723デフォルトの名無しさん:2007/06/15(金) 20:09:45
そのデータクラスにIChangeTrackingを実装すればいい。
724デフォルトの名無しさん:2007/06/15(金) 20:14:26
フラグを一つ付けるためだけにコントロールを継承するのはアホらしいでしょ
Control.TagプロパティやDictionary(Of Conrtol, Boolean)でいいと思うけど
725デフォルトの名無しさん:2007/06/15(金) 20:15:13
フラグはフォーム全体に一つで十分だろ…
726724:2007/06/15(金) 20:18:21
すまん>>723はデータクラスにフラグを付けろって言ってたんだな
それでいいと思う
727718:2007/06/15(金) 20:28:27
ありがとう御座います。

IChangeTrackingってググってもあんまり情報が無いですね。
インターフェースですか。

変更されたかどうかと、それをリセットする事が出来るみたいですね。
まさにこれが欲しかった!
.NET2.0スバラシイ!

でも使い方が良く分からない・・・。

ちょっと、いろいろ実験してみます。


728718:2007/06/15(金) 21:07:50
駄目だ!
全然値が入らない。

そもそもインターフェースの使い方も良く分からなかった。

作ったデータクラスに、下記を書き込んで
Public Interface IChangeTracking

End Interface


下の変数でどうにかするんだろうけど、、サパーリネ
Dim instance As IChangeTracking
729デフォルトの名無しさん:2007/06/15(金) 21:28:11
>>718
すまん。
あんたPGの才能ないと思うわ。

たぶんデータが変更された後セーブされずにプログラムが終了されようとしてる時に
そのまま終了するかセーブするかユーザーに確認したい、ということだと思うけど、
それなら、仮に厳密にやるとしてもセーブした時点のデータと
プログラムが終了されようとした時点のデータを比較するだけじゃん。

普通はそこまでしなくても、例えば

Private dataModified as Boolean = False

みたいなフィールドを作っておいて、何か一つでも変更があったらこれをTrueにすれば
用は足りるんじゃないの?
もちろんundoした場合の動作の厳密さが必要ならこういう手抜きはダメだけどね。
730718:2007/06/15(金) 21:37:08
>>729
才能無くてサーセンwwwww


それって、修正される可能性があるコントロール全てに
イベントを作るって事ですか?
731デフォルトの名無しさん:2007/06/15(金) 22:17:30
>>730
そういう聞き方するってことはたぶんコントロール自体をデータの入れ物にするような設計、
つまり何かのタイミング(ファイルにセーブするとか?)で一度に全部のコントロールの
プロパティをまとめて読むような設計なんだろうけど、普通はそもそも
そういうプログラムの書き方しないと思うよ。
732718:2007/06/15(金) 22:55:30
ガーン。
そうなんですか。

>>731の書いてある通りに、登録ってしたらコントロールの内容をDBへ
一括に書き込もうとしているんですが、これってオカシイんですか。
(コントロール→データクラス→DB)

それで、登録されずに閉じられようとした場合には、確認のメッセージを
出したいって感じですが・・・。
733デフォルトの名無しさん:2007/06/16(土) 00:37:24
いや、検証はいつかしなくちゃいけないんだから、

・コントロール全部にイベントつけて値が変わったら個別の検証コード走らす
・close, apply, ok等のアクションで全体の検証コード走らす

のどっちかでしょ。

前者だったらclose,apply,ok等のアクションで判定するのは一つのフラグで済むけどイベントがたくさん
後者だったらイベントたくさんはいらないけどアクションで全体を検証しなくちゃいけない

どっちでもいいと思うけど、コントロールが多いなら後者がいいんじゃないの?
734716:2007/06/16(土) 01:43:54
どなたか分かりませんか?;
ボタンのクリックイベントで

Dim str as string

str=Format("ABC","@,@,@")

Msgbox(str)

とだけやっても結果が@,@,@となりできませんでした・・・
数字の場合だと

Dim str as integer

str=Format("123","00000")

Msgbox(str)

00123となり大丈夫だったんですが、Stringになると・・。

開設サイトを見ても文字列の書式は

Format("ABC","@@@@@")

で結果が  ABCとなると書いてあるのに私のプログラムですと@@@@@なってしまいます;
735デフォルトの名無しさん:2007/06/16(土) 10:04:26
まあ何が間違ってるか、ってそれはきみの学習姿勢が間違ってるんだよ。煽り抜きで。
または致命的に頭が悪いか。

いずれにせよ、そのレベルのことを人に聞くのは恥ずかしいことだ、って意識がないとしたら
PG向いてないよたぶん。
736デフォルトの名無しさん:2007/06/16(土) 10:19:00
>>734
ここの下のほうを見ろ
http://msdn2.microsoft.com/ja-jp/library/wb216dct(VS.80).aspx
737デフォルトの名無しさん:2007/06/16(土) 16:41:37
>>735
ま た お ま え か

煽り抜きで言わせてもらうが頭大丈夫か?
このスレで「PGとして〜」「仕事として〜」「才能が〜」「素質が〜」とか言って叩かれてるやつ全部お前だろ?
お前はプログラマという職業が素質、才能のあるやつにしかできないものだと思っているみたいだが
もはやPGが流れ作業員として溢れている現状を把握できていればそんな高貴なもんじゃないと分からんのかw

そもそも、ここはVB.NET質問スレであって
ここに来ているやつは初心者はもちろんの事、仕事外で趣味でやってるやつもいて当然なんだが
そこを把握できてない点で頭でっかちなお前さんはPG向いてないよ?
チームで組んだことがない孤独PGか、自分の発想しか受け付けないワンマン上司と見たな。

そんなハイクオリティなお前さんには
つ「【才能(笑)】高貴なVB.NET質問スレ【才能(笑)】」

738デフォルトの名無しさん:2007/06/16(土) 17:02:51
>>737
> このスレで「PGとして〜」「仕事として〜」「才能が〜」「素質が〜」とか言って叩かれてるやつ全部お前だろ?
俺も言ってるから、全部同一人物ではないよ。
739デフォルトの名無しさん:2007/06/16(土) 17:05:57
「VB.netの」質問をするレベル以前の質問があるのも事実
740737:2007/06/16(土) 17:12:17
>>738
ちなみに俺も。
741デフォルトの名無しさん:2007/06/16(土) 17:12:21
「VB.netの」回答をするレベル以前の回答があるのも事実
742デフォルトの名無しさん:2007/06/16(土) 18:30:05
>>737
何度言っても分からん馬鹿だね。
初心者であることと叩いてるんじゃないんだよ。
怠惰を叩いてるの。

初心者でも怠惰じゃなきゃ734みたいな質問はしない。
743デフォルトの名無しさん:2007/06/16(土) 18:39:35
>>742
かわいそうな  ゆ  と  り  w
744デフォルトの名無しさん:2007/06/16(土) 19:00:10
>>741
低レベルな質問には低レベルな回答で十分
745デフォルトの名無しさん:2007/06/16(土) 19:06:25
VBスレだけは回答者がアホ杉。 C丼スレと比べても明らか。
746デフォルトの名無しさん:2007/06/16(土) 19:08:19
c#スレもここ1年ぐらいはずいぶんレベル低いんだけどな。
747デフォルトの名無しさん:2007/06/16(土) 20:12:18
てかみんなC#もVB.NETも同じように使えるんだろ?
748デフォルトの名無しさん:2007/06/16(土) 21:02:23
同じように使えるがVB上がりは総じてバカなんだお^^
749デフォルトの名無しさん:2007/06/16(土) 21:49:57
VB6しかできません><
750デフォルトの名無しさん:2007/06/17(日) 02:43:45
>>742
怠惰?お前は734の何が分かってるんだ?
分かったから>>737で書いたとおり専用スレにでも行っとけ
751デフォルトの名無しさん:2007/06/17(日) 02:45:45
>>742
あと「何度」って
どれとどれとどれとどれどれと、どれだよ?
752デフォルトの名無しさん:2007/06/17(日) 03:35:48
>>742
そう思えばスルーすればいいじゃないか?
別にここはそういう人間が来ていけない理由もないし
怠惰であろうがなかろうが答えてもいいと思える人間が答えられるならそれでいいじゃないか
753デフォルトの名無しさん:2007/06/17(日) 05:56:12
throw new exception("他でやれ")
754デフォルトの名無しさん:2007/06/17(日) 22:58:03
VB2005からVCで作られたDLLをコールするときにエラーが出て困ってます。
関数のパラメータに構造体を指定して、構造体のメンバの文字列を渡したいけれど、
なんかうまく行かないんですよね。VB2005だと固定長文字列ってのがサポートされて
いないとか何とか言うのは分かったけれど、解決方法が不明となっています。アドバイスをお願いします。

コードはこんな感じ。
*VC2005*****************************************************************
typedef struct{
 int iTemp;
 char cTemp[256];
}tag_strTemp;

void __declspec(dllexport) WINAPI TestFunction(tag_strTemp* pstrTemp)
{
 MessageBox(NULL, pstrTemp->cTemp, "", 0);
}

*VB2005*****************************************************************
Moduel Module1
 Public Structure tag_strTemp
  Public iTemp as Integer
  Public cTemp as String ←ここの定義に問題があるんだと思ってます。
 End Structure
End Module

Public Class Form1
 Private Sub Form1_Load(・・・)
  Dim strTemp as tag_strTemp
  strTemp.cTemp = "ABCDE"
  TestFunction(strTemp)
End Sub
End Class
755デフォルトの名無しさん:2007/06/17(日) 23:03:16
MSDN の相互運用マーシャリング以下の項目見れ
サンプル付きで解説されてる
756デフォルトの名無しさん:2007/06/17(日) 23:34:39
つうか
chrにString渡してどうする・・・・
Chrで渡せばいいのに・・・・
757デフォルトの名無しさん:2007/06/18(月) 00:12:40
>>756
君も恥かかないうちにその辺で止めといたほうがいいよw
758デフォルトの名無しさん:2007/06/18(月) 00:23:27
>>757
まぁ・・・書き方はともかく理由は分かってそうなイメージだけどな
759デフォルトの名無しさん:2007/06/18(月) 00:41:08
756が分かってるわけないでしょw

値型と参照型の区別もついてないか、あるいはCで>>754みたいな構造体を
作ったときのメモリイメージが理解できてないか、少なくとも何れかではある。
760デフォルトの名無しさん:2007/06/18(月) 09:14:20
>>759
まさか・・・Stringを値型と勘違いしている・・・わけねぇべ
そんなPGいねぇだろ


761デフォルトの名無しさん:2007/06/18(月) 10:07:38
>>754
<StructLayout(LayoutKind.Sequential)> _
Public Structure tag_strTemp
  Public iTemp as Integer 
    <MarshalAs(UnmanagedType.ByValTStr, SizeConst := 256)> _
  Public cTemp as String
End Structure

詳細は>>755 の通りでMSDN参照のこと。
複雑になるようならC++/CLIでアセンブリラッパを作ってもよい。
762デフォルトの名無しさん:2007/06/18(月) 12:24:29
アラインメント(パッキング)も指定した方がいいんじゃない?
まあMSDNライブラリにデフォのパッキングサイズは8Byteって書いてあるのは
間違いっぽいから要らないのかもしれないけど。

あとOut属性も。
763デフォルトの名無しさん:2007/06/18(月) 13:32:31
SQL鯖のDBのカラムで AAA というカラムがあり VarChar(100)でNotNull+デフォルト空文字だとして
データ取得する時に

1: dim temp as string
2: temp = directcast(dt.rows(0).item("AAA"),string)

として取得している部分があったとき
2の部分でこうやってやるのってムダダしやる必要ってあると思う?
俺は定義で必ずNullはないとしているんだからナンセンスだと思うんだが みんなはどうやってるんだろ?

if dt.rows(0).item("AAA") isnot dbnull.value then
 temp = directcast(dt.rows(0).item("AAA"),string)
else
'あれば何か書く
end if
764デフォルトの名無しさん:2007/06/18(月) 17:59:04
SQL文中で
ISNULL(対象カラム,'')
ってしておけばいいんでない。
765デフォルトの名無しさん:2007/06/18(月) 19:42:13
やる必要なし
NotNull制約を外した場合を考慮するってことなんだろうけど
そんなこと考え出したら、システムがややこしくなっちまう
心配ならデータ設計見直すべき
766デフォルトの名無しさん:2007/06/18(月) 21:37:34
>>762
適当なこと言うな。
.NET のマーシャリングのデフォルトパッキングは8で間違いないし
この場面ではパッキングサイズは問題にならない。
文字列を DLL に渡したいのに Out 属性つけてどうする。
767デフォルトの名無しさん:2007/06/18(月) 21:47:07
>NET のマーシャリングのデフォルトパッキングは8で間違いないし
いやだからMSDNライブラリにはそう書いてあるけど、実際いろいろ試してみると
どうも4になってるみたいだよ。VB固有かも知れないが。

あと、アラインメントが問題にならない訳がないw
最後の行に関しては確かに>>754はそう言ってるね見落とした。
768デフォルトの名無しさん:2007/06/18(月) 21:53:44
>>767
間違いなくパッキングサイズの意味を勘違いしてる。

<StructLayout(LayoutKind.Sequential, Pack:=4)> _
Structure Pack4
    Public Data1 As Byte
    Public Data2 As Long
End Structure

<StructLayout(LayoutKind.Sequential, Pack:=8)> _
Structure Pack8
    Public Data1 As Byte
    Public Data2 As Long
End Structure

<StructLayout(LayoutKind.Sequential)> _
Structure PackDefault
    Public Data1 As Byte
    Public Data2 As Long
End Structure

Debug.WriteLine(Marshal.SizeOf(GetType(Pack4)))
Debug.WriteLine(Marshal.SizeOf(GetType(Pack8)))
Debug.WriteLine(Marshal.SizeOf(GetType(PackDefault)))

> あと、アラインメントが問題にならない訳がないw
「この場面では」と断ってるだろ。
769デフォルトの名無しさん:2007/06/18(月) 21:55:12
だから「この場面で」問題になるってw
頭おかしいんじゃないの?
770デフォルトの名無しさん:2007/06/18(月) 22:02:24
>>768 でデフォルトが 8 ってのは証明できてるとして。

<StructLayout(LayoutKind.Sequential, Pack:=4)> _
Structure Pack4
    Public Data1 As Integer
    <MarshalAs(UnmanagedType.ByValTStr, SizeConst:=5)> _
    Public Data2 As String
End Structure

<StructLayout(LayoutKind.Sequential, Pack:=8)> _
Structure Pack8
    Public Data1 As Integer
    <MarshalAs(UnmanagedType.ByValTStr, SizeConst:=5)> _
    Public Data2 As String
End Structure

Debug.WriteLine(Marshal.SizeOf(GetType(Pack4)))
Debug.WriteLine(Marshal.SizeOf(GetType(Pack8)))

何がどう問題になるのか教えてもらおうか?
771デフォルトの名無しさん:2007/06/18(月) 22:10:02
?
772754:2007/06/18(月) 22:18:26
>>755,761
ありがとう!
解決しますた!
>>762さんが言ってたことについては、
アラインメントについても詳しくは理解できていないので、
メンバを8byte区切りにしたり、ダミー変数使ったりして対応します。
773デフォルトの名無しさん:2007/06/20(水) 11:56:14
検索システムで,検索結果をDataGridに表示しています.(ReadOnly)
ちがう条件を入力したら,現在表示されている行に追加されていきます.
どうしたら,DataGridに表示されている内容をリセットできますか?
DisposeだとDataGridごと消えるし,空データをバインドしても消えないし…
どなたか教えて下さい.
774デフォルトの名無しさん:2007/06/20(水) 12:02:59
Panel コントロールで、ScrollBar の Scrollイベントに合わせて
リアルタイムで追随する移動を行うべくあちこち探してるのですが、
こういうときは、Client領域を移動できるメソッドかプロパティとして
何を使用すればいいでしょうか。
775デフォルトの名無しさん:2007/06/20(水) 12:12:07
Location
776デフォルトの名無しさん:2007/06/20(水) 12:40:29
>>773
ちょっとソース書いてみ
777デフォルトの名無しさん:2007/06/20(水) 12:45:56

一つのプロジェクト内にユーザコントロールを作成して利用していますが、
コントロールを配置したフォームのデザインが修正されると?エラーになり、
デザイン画面が表示されなくなります。

エラーメッセージ
型 'hogehoge.TukuttaControl' が定義されていません。


例:
プロジェクト名:hogehoge
ユーザコントロールクラス名:TukuttaControl
コントロールを配置したフォーム:Form1

とある時に、Form1.Desugner.vbの内容が以下のように勝手に
修正されてしまい、上記のエラーになってしまいます。

○ Me.TukuCon = New TukuttaControl

× Me.TukuCon = New hogehoge.TukuttaControl

どうにか対策は無いでしょうか?
778777:2007/06/20(水) 12:47:40
追記です。

× Me.TukuCon = New hogehoge.TukuttaControl
上記のhogehoge.を消せば、デザイン画面も正常に表示されます。

またTukuttaControlはDllにはなっていません。

よろしくお願いします。
779デフォルトの名無しさん:2007/06/20(水) 12:58:12
>>775
あーっそうでしたか、助かりました!!
回答ありがとうございました!!
780デフォルトの名無しさん:2007/06/20(水) 13:30:11
>>779
と思ったら、これってのはもしかして、Client領域のView範囲を動かす
のではなくて、中のコントロールだとかを自前で動かすということでしたか・・・?

PanelのClient領域のView位置をプログラムで移動するには何を使えば
いいでしょう?
781デフォルトの名無しさん:2007/06/20(水) 14:04:23
>>780
何いってんのかさっぱりわからんが、
Panel内をスクロールさせたいの?
もしかしてPanelにScrollコントロールをわざわざつけてたりする?
AutoScroll = trueにすれば自動で表示されるけど。

あとは
ScrollControlIntoViewとか
VerticalScroll/HorizontalScrollとか
782デフォルトの名無しさん:2007/06/20(水) 14:58:45
>>781
どうもです!!

実はそのAutoScrollですが、確かにScrollBarが出てきてすくロース機能は
あるにはあるのですが、、

そのスクロースバーを掴んでマウスボタンを離すと、Panel内のViewが移るのが
わかります。

しかし、リアルタイムの動作にならず、これを、マウスボタンを掴んだままで
View位置を動かしたいのでした。

マウスのホイールをまわすと確かにリアルで動きますが、スクロールのスピード
が限定されるので、できればバーの動きと同期した移動を行ないたいのです。

SetDisplayRectLocation なども見ていますが、これだとWinProcとか使わないと
いけなさそうでした。できれば手軽に既存のメソッドかプロパティがあればと・・・。
783デフォルトの名無しさん:2007/06/20(水) 23:37:19
ID3v1のタグを読み取りたいのですが
発売の年だけがうまく読み取れません
誰かご教授願えませんでしょうか?
あとエクスプローラーからのドラッグ&ドロップも宜しければお願いします。
784デフォルトの名無しさん:2007/06/20(水) 23:46:29
それだけ言われてもそうか大変だなとしか言いようがねぇ
D&D なんて検索すりゃいくらでも出てくるだろ
785デフォルトの名無しさん:2007/06/21(木) 00:10:21
昔VB6で作ったプログラムを、プロジェクト変換機能を使ってVisualStudio2005に
読み込ませてコンパイルしてみたら、.Netframework必須のアプリが
できあがってしまいました。
VB6で作ったプログラムをVisualStudio2005でコンパイルして
.Netframework不要のアプリを生成することはできないでしょうか。
.Netの機能を使いたいわけではなく、コンパイルしたいだけなのですが
なんとかならないでしょうか。
786デフォルトの名無しさん:2007/06/21(木) 00:14:27
なりません。
はい次。
787デフォルトの名無しさん:2007/06/21(木) 00:22:00
>>785
いかんともしがたい
788デフォルトの名無しさん:2007/06/21(木) 00:51:06
>>782
オレの環境では、Panelにボタンを置いてスクロールさせるとリアルで追従するけど?
789デフォルトの名無しさん:2007/06/21(木) 01:01:09
Diposeパターンについて教えてください。

PenやBrushのようなアンマネージリソースをラップしたオブジェクトを保持するクラスの場合
AとBのどちらで開放するのが正解?


Public Overrides Sub Dispose( ByVal disposing As Boolean)
If disposed Then
If (disposing) Then
' マネージリソースの開放 (A)
End If
' アンマネージリソースの開放 (B)
disposed = True
End If

End Sub
790デフォルトの名無しさん:2007/06/21(木) 01:02:32
いきなり打ち間違えてるし。。。
Disposeパターンです。
791デフォルトの名無しさん:2007/06/21(木) 01:03:15
disposingに関わらず解放
792デフォルトの名無しさん:2007/06/21(木) 01:04:48
IntPtr 以外は全部マネージドと考えてもいいよ。

つかその辺は保持するな、必要な時に作ってすぐ捨てろ。
793デフォルトの名無しさん:2007/06/21(木) 01:06:42
いや、コストを考えるとキャッシュしておきたい場合もあるだろハゲ
794デフォルトの名無しさん:2007/06/21(木) 01:06:51
ん?
791と792と回答が違うけど、どっちが正解?
795デフォルトの名無しさん:2007/06/21(木) 01:09:39
792。
自分が持っている参照型のフィールドはファイナライザのタイミングでは手を出しちゃダメ。
796デフォルトの名無しさん:2007/06/21(木) 01:10:14
ファイナライザ?
797デフォルトの名無しさん:2007/06/21(木) 01:10:56
サンキュー
イマイチ、この辺の具体例を書いてあるサンプルが見つからなくて困ってた。
勉強になったよ。
798デフォルトの名無しさん:2007/06/21(木) 01:24:05
また羊がひとつ屠られた
799デフォルトの名無しさん:2007/06/21(木) 01:50:49
VB2005(Express)でお聞きしたいのですが

Public Sub WriteXml(ByVal fileName As String)

Dim instance As New DataSet1.NewItemDataTable

instance.WriteXml(fileName)
End Sub

上記コードでデバッグ中にDataTableVisualizerで確認してもデータテーブルにデータが
ない状態で、出力されたXMLにも書き出されていませんでした。
データセットに存在しているのはこのテーブルだけです。
DataTableをバインドしているDataGridViewには入力中データが反映されています。
DataTableをXMLに出力するにはどうすればよいのでしょう。

わかりにくいかも知れませんが、よろしくお願いします。

800デフォルトの名無しさん:2007/06/21(木) 05:35:37
new って英単語の意味は知ってる?
801デフォルトの名無しさん:2007/06/21(木) 09:24:27
>>799

DataGridView.DataSource
つかえこのカス野郎!
802デフォルトの名無しさん:2007/06/21(木) 09:48:20
VB2005について質問です
SPREADで列数18、幅25の表を作ったら動作が重かったんですが、軽くする方法ありませんか?
803デフォルトの名無しさん:2007/06/21(木) 09:55:58
>>802
グレープシティーに聞けばいいと思うよ
804デフォルトの名無しさん:2007/06/21(木) 10:08:52
>>802
しかもおまえマルチかよ・・・・
ほんと頭悪いから出て行けよw
なにをどうとかなら判るが これだけの情報でどうやって動作軽くしろとかいうんだ
アフォらしいの通り越して、お前みたいな奴がソフト作るのホントやめてほしい

//--------------------------------------------------------
Visual Basic2005やりたいんだけどアドバイス頼む
ttp://pc11.2ch.net/test/read.cgi/tech/1158410544/67

67 名前:デフォルトの名無しさん[] 投稿日:2007/06/21(木) 09:25:40
初心者な質問スマソ
SPREADで行列100 X 18、列幅25の表つくったんだけど、
処理(スクロールや行選択)が重いんだけど軽く出来ませんかね?

805デフォルトの名無しさん:2007/06/21(木) 12:01:29
メールアドレスを正規表現で抽出する場合どのように記述すればいいのでしょうか?
806デフォルトの名無しさん:2007/06/21(木) 12:05:32
>>805
スレ (´∀`( ´∀`) チガイ
807デフォルトの名無しさん:2007/06/21(木) 12:27:59
>>805
ググれよ
808デフォルトの名無しさん:2007/06/21(木) 12:40:18
散々ググったんですがどうもいまいちわからないんですよ。
冷たいこと言わないで教えてくださいよ。
809デフォルトの名無しさん:2007/06/21(木) 12:44:16
メールアドレスに一致する正規表現は「ありません」

とぐぐった一発目にあるが?
810デフォルトの名無しさん:2007/06/21(木) 12:51:04
あ(笑)。もしかしてほんとは皆さん知らないんじゃ無いんですか?
811デフォルトの名無しさん:2007/06/21(木) 13:09:25
>>788
どうもです!!
自分はWindows2000+VS2005Proの環境を使ってまして
そこではスクロールバーの動きに追従しませんでした。
環境差による可能性がありそうなので、これから別PCの
WinXp環境に移して試してみます。助かります!!
812799:2007/06/21(木) 13:59:53
>>800
と言うことは、Newでクラス参照すると全く新規で作られるということでしょうか?
既存のDataTableを参照するにはどうすればよいのでしょう?

>>801
調べてみましたが、使い方がわかりませんでした。すみません。
813デフォルトの名無しさん:2007/06/21(木) 14:08:28
だから

調べてみましたが、使い方がわかりませんでした
じゃわかんねぇYO!
どこがどうわからんのか言えよ
使う気ないのかしらんが

あと既存のDataTableを参照するには
と書いてあるということはDataTableをDataGridViewにバインドさせて使ってるんだよな?
つまりDataGridViewはその元のDataTableをDataSourceとして持ってるわけだ
814デフォルトの名無しさん:2007/06/21(木) 14:12:26
>>813
こんな努力もしないアホに教えようとするだけムダだ
質問すらもまともにしようとしていないしな

ほれこれでいいだろ もう来るなよ

Public Sub WriteXml(ByVal fileName As String)
Dim instance As DataSet1.NewItemDataTable
instance = DirectCast(DataGridView1.DataSource , DataSet1.NewItemDataTable )
instance.WriteXml(fileName)
End Sub
815デフォルトの名無しさん:2007/06/21(木) 15:34:06
816デフォルトの名無しさん:2007/06/21(木) 15:36:45
>>815
みんなスルーしてたのにお前の優しさに>>808が泣いた
817デフォルトの名無しさん:2007/06/21(木) 18:56:25
知ってたら教えてー。
VS2005(VB.NETもC#)のIDEで、タブ付きドキュメントにしてソースを
開いていくと、タブが左側に追加されていくのを、右側に追加して
いくように変更できないのかな?
818デフォルトの名無しさん:2007/06/21(木) 19:02:29
>>788
WinXp環境に移して試してみましたところ、この環境ではScrollBarの
動きに追随してリアルタイムでViewが動くのを確認しました。
これは環境的な理由があるようにも思いましたので、
ひとまず現状のままにしておきます。
情報ありがとうございました!!!
819デフォルトの名無しさん:2007/06/21(木) 20:19:49
http://hp.vector.co.jp/authors/VA026956/MouseGesture.html を組み込みました。
実行ファイルをダブルクリックで実行、ショートカットからの実行では問題ないのですが、
ファイルにこのアプリケーションを関連付けしてファイルから実行すると、
エラーで落ちてしまいます(エラーの詳細はわからず)。

おそらくDLLの場所がわからず、読み込めないため落ちてると思うのですが、
レジストリの関連付けで、作業フォルダの指定もできないみたいです。

どうすればいいのでしょうか。。
820デフォルトの名無しさん:2007/06/21(木) 21:05:30
VBにはJavaのThrowsのような
関数に例外をスルーさせる方法はありますか?
821デフォルトの名無しさん:2007/06/21(木) 21:06:51
あります。
822デフォルトの名無しさん:2007/06/21(木) 21:09:55
ググッてみてもJavaとは例外処理の概念が違うから
ウンヌンカンヌンで例外のエスカレーションは
できないのです。みたいな事書かれていたので
できたら、やり方教えてもらえないでしょうか
キーワードだけでも結構です。
823819:2007/06/21(木) 22:19:21
やり方がわからなかったので、自前でマウスジェスチャくみますた。。
824デフォルトの名無しさん:2007/06/21(木) 22:24:21
例外はほっときゃ勝手に呼び出し元に伝播する
825デフォルトの名無しさん:2007/06/22(金) 00:03:32
互換機能のOn Error Goto は使わないようにね
826819:2007/06/22(金) 01:22:39
1 sub main()
2 F(1,1)
3 F(1,0)
4 end sub

5 function F(a as integer, b as integer) as double
6 return a/b
7 end function

たとえば上のような疑似VBコードにおいて
実行すると 6行目で例外発生して止まる。
で5行目を
function F(a as integer, b as integer) as double Throws Exception
のように書き換え実行すると
2行目で例外が発生しましたとなって止まる。
ようにしたい。要するにデバッグしやすいように例外を使用したい
827デフォルトの名無しさん:2007/06/22(金) 01:51:25
>>826
なんだ例外のエスカレーションとかいうレベルの話じゃなかった
828デフォルトの名無しさん:2007/06/22(金) 02:11:58
>>819
たぶんdllとはなんの関係もないウンコなミスとエスパーするがどうか。
829デフォルトの名無しさん:2007/06/22(金) 02:29:14
>>826
茶化したままだとあれだから、VS2005でマイコードのみの設定が有効になってるのを確かめて、
DebuggerNonUserCode属性を付ければ目標は達成できる。

<DebuggerNonUserCode()> _
function F(a as integer, b as integer) as double
  return a/b 
end function 
830デフォルトの名無しさん:2007/06/24(日) 06:16:44

誰か似たようなことを経験していたら教えてほしいのですが、、

あるコントロール上をマウスが通ると、MouseMoveイベントが普通立つと思う。

しかし、何かある操作をしてから、同様にしても、今度は全然 MouseMove
     ~~~~~~~~~~~~
イベント自体が立ってくれなくなる。それで仕方なく、別のアプリケーションの

ウインドウをクリックしてFocusを移してから、再度元のアプリケーションに

戻って同様にしてみると、今度は MouseMoveイベントが立ってくれる、

とちょっと変な現象なんですが、こういうことってあり得るでしょうか?
831デフォルトの名無しさん:2007/06/24(日) 06:37:21
>>830

この場合、「何かある操作」 というのは、そのコントロールの置いてある Panel 

の右クリックで ContextMenuStrip を表示して、その際、そのメニューのどれも

クリックせずに、また Panel 上のどこかをクリックして ContextMenuStrip を

Close する、というだけの操作なんですが、これをすると、それまで立ってくれてた

その Panel 上のコントロールで MouseMove イベントが立たなくなるのでした。
832デフォルトの名無しさん:2007/06/24(日) 07:03:19
833デフォルトの名無しさん:2007/06/24(日) 11:59:27
>>831
メニューのClosedイベントで
System.Windows.Forms.ToolStripManager+ModalMenuFilter.ExitMenuMode()
を呼ぶと直る。
リフレクション使わないといけないけど。
834デフォルトの名無しさん:2007/06/24(日) 13:42:03
>>832
ありがとうございます。
これ一応 BUG だったんですね・・・う〜ん。

>>833
どうもです、助かります。

>System.Windows.Forms.ToolStripManager+ModalMenuFilter.ExitMenuMode()

この方法、調べて使ってみます。

>リフレクション使わないといけないけど

これについても具体的にはどうすればいいかまだわかりませんが、また調べてみます。
それでもわからない場合また質問するかと思いますが、
またよろしくお願いします。
835デフォルトの名無しさん:2007/06/24(日) 15:54:43
>>833

すみません、この ModalMenuFilter というのは、ヘルプで検索しても
検索結果 0 で情報が出てきませんでした。

ググってみましたが、ただ一件
http://www.google.com/search?hl=ja&q=ModalMenuFilter&btnG=%E6%A4%9C%E7%B4%A2&lr=

があるだけでしたが、これって何かのクラスなのでしょうか。このページ開いても
該当箇所は見られませんでした・・・う〜ん困りました。。。

よろしければご指導の続きを戴ければありがたいです。すみません・・・。
836デフォルトの名無しさん:2007/06/24(日) 18:34:16
>>834
internalなクラスだから説明はどこにもないと思う。
手元にあるのはC#のコードだけど適宜よみかえてちょ。

void contextMenuStrip1_Closed( object sender, ToolStripDropDownClosedEventArgs e )
{
    Type t = Type.GetType( "System.Windows.Forms.ToolStripManager+ModalMenuFilter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" );
    MethodInfo mi = t.GetMethod( "ExitMenuMode", BindingFlags.NonPublic | BindingFlags.Static );
    mi.Invoke( null, null );
}
837デフォルトの名無しさん:2007/06/24(日) 18:56:16
ContextMenuStrip の中のどれかをクリックして実行すると(それが空の関数であっても)
問題は起こらないため、一つ考えられるのは、 ContextMenuStrip の Closing
イベントでそれを強引に実行してやればどうだろう、とも思ったのですが、この
強引にコードから ContextMenuStrip の中のどれかに Click イベントを起こすためには
どうすればいいでしょう、これについて知りたいです。
よろしくお願いします。

838デフォルトの名無しさん:2007/06/24(日) 18:58:05
>>836
おお、どうもです!!かぶってすみませんでした。
こういう方法あるんですね、ありがとうございます。
助かります。やってみます!!
839838:2007/06/24(日) 20:53:38
>>836
素晴らしいです、みごとに一発で解決しました。

一時は本当にどうしたものかと悩みました、でもこれで助かりました。

>internalなクラスだから説明はどこにもない

やっぱり一般人には知りえない内容なのでしょうか、
もしかしてMSの人じゃないとわからない、とかでしょうか・・・

でも本当に助かりました、ありがとうございました!!
840デフォルトの名無しさん:2007/06/24(日) 21:25:37
Reflectorだろ
841デフォルトの名無しさん:2007/06/24(日) 23:42:37
vbというよりもフォームの質問なのかもしれませんが、
初心者スレが見つからないのでここで質問させていただきます。

グループボックスの中にラジオボタンがいくつかと、ラベルをひとつ配置します。
そのラベルの中にラジオボタンをいくつか配置した上で、
ラベルの外(グループボックスの中)のラジオボタンとラベルの中のラジオボタンを
同じグループとして扱いたいのですが、どのように設定したらよいのでしょうか?
お分かりの方がいらっしゃいましたら御教示お願いいたします。
842デフォルトの名無しさん:2007/06/24(日) 23:44:29
そんな変態行為は .NET では認められません
843デフォルトの名無しさん:2007/06/24(日) 23:45:37
おぁー!変体行為だったんですか。
それは困りました。どうしましょう?
844デフォルトの名無しさん:2007/06/24(日) 23:46:36
さぁ。
845デフォルトの名無しさん:2007/06/25(月) 00:17:59
>>841
ラベルはコンテナコントロールじゃないよ。
言ってる意味わかる?

まあ、「初心者スレが見つからないので」とか言ってるが
質問なんかせめて初心者本の数冊も読破してからにしてくれよ。
846デフォルトの名無しさん:2007/06/25(月) 00:18:41
こういうのっておおっぴらに使うか悩んだりしない?
まあ、ネット上で見つけた情報を利用したって立場をとるんだがw
847826:2007/06/25(月) 00:19:44
>829
遅くなって申し訳ない、ありがとうございます。
848デフォルトの名無しさん:2007/06/25(月) 02:40:29
>>846
「こういうの」ってのが何を指してるのかさっぱり。
849デフォルトの名無しさん:2007/06/25(月) 07:24:33
850デフォルトの名無しさん:2007/06/25(月) 11:33:11
>>841
ユーザコントロール作れ
851デフォルトの名無しさん:2007/06/25(月) 14:55:01
誰か助けてくたざい。
VB2005で、プログラムが完成して、動作を確認できました。
そこまではよかったのですが、実行ファイルを共有フォルダー(サーバーに)
において、実行すると、どうしても実行できません。実行できたとしてもまともに動作しません。
これの解決策だれか知りませんか?
852デフォルトの名無しさん:2007/06/25(月) 14:58:26
ヒント:カレントディレクトリ
853デフォルトの名無しさん:2007/06/25(月) 15:04:38
サーバに実行ファイルがおいてあるんだろ?
普通は実行できないだろ.
MSDNに書いてある.
854デフォルトの名無しさん:2007/06/25(月) 15:06:36
>853
それを実行する方法を知りたいのです。
855デフォルトの名無しさん:2007/06/25(月) 15:26:09
素人にはおすすめしないがポリシーをいじる。
コントロールパネルの管理ツールの
.NET Framework 2.0 Configuration ランタイムセキュリティポリシー
(他をいじってなければ)コンピュータのコードグループのAll_Codeの下に
新規作成の条件の種類を選択するでURL:\\サーバー名\共有名\*
アクセス許可セットFullTrust

インストーラを作るかClickOnceを使うかかサーバーからローカルにコピーさせるかをすすめる。
856デフォルトの名無しさん:2007/06/25(月) 16:12:33
むしろこれはVB.NETの問題ではないな・・・

つうか、あれか・・・クリックワンスのまえのやつやりたいのか?
名前忘れたけど
857デフォルトの名無しさん:2007/06/25(月) 17:23:03
ノータッチ デプロイメント?
858デフォルトの名無しさん:2007/06/25(月) 17:39:38
気持ちは良く分かる。

正直セキュリティが云々言われても無駄に面倒くさい。

ちょちょっとしたものを作って共有しようとしても
インストーラやらClickOnesやら、、、。


ちょっと話がずれるが必要なDLLとかは、実行ファイルへ含めるもしくはフォルダ等へ
指定できたら良いのに。
この時代に容量削減も糞も無いだろう。

実行ファイル1Gとか上等じゃねーか。
859デフォルトの名無しさん:2007/06/25(月) 22:59:56
質問です。
いまFramework1.1で勉強中なのですが
1.1のNotifyIconはバルーン?が表示できなかったので
いろいろ調べて
ttp://supware.net/?notifyiconex
に辿りつきました。

このクラスを使うとバルーンは表示できるのですが、
ContextMenuがどうしても表示できません。ContextMenuのPopupイベントは反応あるのですが・・・

色々検索してみて大量にヒットするC#のコードを見る限りおかしい所は
自分の力量では発見できないので、ヒントでも構いませんので助言をお願いします。
環境はWindowsXP、Framework1.1、メモ帳です。

以下のコードを同上のクラスの下に書き、コマンドプロンプトでコンパイルしています。
Module Test
Private myForm As Form
Private notifyEx As NotifyIconEx
Private cMenu As ContextMenu
Sub Main()
cMenu = New ContextMenu
cMenu.MenuItems.Add("Item1")
notifyEx = New NotifyIconEx()
notifyEx.Icon = New Icon("C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\ndpsetup.ico")
notifyEx.contextMenu = cMenu
myForm= New Form()
myForm.ContextMenu = cMenu
myForm.ShowDialog()
End Sub
End Module
860859:2007/06/26(火) 20:49:34
なんか俺の質問でスレが過疎ったみたいで・・・・(´・ω・`)

調べたらTrackPopupMenuExがうまく動作してなかったみたいなんで
試行錯誤してNotifyIconExのTrackPopupMenuExを修正して
ContextMenuがでるようになりました

はっきりと原因した原因はいまだ不明ですが
とりあえずしゅっくり勉強したいと思います。
861デフォルトの名無しさん:2007/06/26(火) 21:47:38
>>859
>Framework1.1で

今古いランタイム使う意味は何でしょう?
行きがかり上のしがらみ?それとも以前のもののバージョンアップ
でしょうか?もし新規アプリなら2.0以上でやるべきではないでしょうか?
862デフォルトの名無しさん:2007/06/26(火) 21:59:18
それは大きなお世話だと思うぞ。
863デフォルトの名無しさん:2007/06/27(水) 10:37:28
>>859-860
コマンドプロンプトでコンパイルしている人間がここにはいないんだろう。
864デフォルトの名無しさん:2007/06/27(水) 13:17:50
>>861
おまえ某MVP臭いぞ
仕事してたらわかるだろ? 仕方ないときもあるんだし
865デフォルトの名無しさん:2007/06/27(水) 16:04:39
でも>>859の場合は多分勉強だよ?
VB.NET Expressでいいやん
866デフォルトの名無しさん:2007/06/27(水) 20:17:35

ちょっと安めおまいら。これでも見ろ。知らない人間は えーーーーっと驚くこと請け合いだぜ。

「911」の真実とはダイジェスト版 ? 日本語と英語 ? .movフォーマット ? 31分 - 23MB
http://www.harmonicslife.net/gallery/main.php?g2_itemId=3443

「動画をダウンロード」 をクリックすると、動画が始まるまでに20分ぐらい待つと
自動開始する。

30分ぐらい待ってもよければこっちも見る。こっちは詳細バージョンだから、上のを見て
興味もったらぜひ見てみれ。

『911の嘘をくずせ ルース・チェンジ・セカンド・エディション』 日本語版 - ウェッブ・バージョン ? .mov フォーマット ? 83分 - 83MB
http://www.harmonicslife.net/gallery/main.php?g2_itemId=1225

要するに俺らはこういう戦争に加担しちまった。おれも当時は小泉に賛成しちまって
ネットで賛成派に回っちまったよ。だが悪いことだった、北朝鮮のミサイルが来るって
ことでアメリカとは同盟するしかないって信じ込んでた。しかしこれを見れば、
ちょっと待て日本はこれでええのか?と疑問になるはず。

867デフォルトの名無しさん:2007/06/27(水) 20:26:46
003はフランソワーズ   まで読んだ
868859:2007/06/27(水) 22:52:37
>>861
確かに勉強中なんですが、職場にはFramework1.1のvbc.exeしか
はいってないので昼休みとかにも弄るために1.1でやってます。
基本はそんな変わらないだろうってことで。
職場はネットにも繋げないんでヘルプもクラスライブラリをHTMLで保存して
CDに焼いて持ち歩いてたりします。
家にはVB2005Expressインストールしてあるんですけどね・・・

>>863
やっぱ危篤な人種なのか・・・
dllとかを毎回入力するのが億劫なんで
簡単なHTA作ってコンパイルしてます。
とか言ってたらこんなん見つけました
ttp://www.sliver.com/dotnet/SnippetCompiler/

ところで、
「FileSystemWatcherで共有フォルダにあるExcelファイルが更新された場合にバルーンでその旨を表示」
というコンセプトで勉強アプリを作り始めたのですが、
Excelは「開く」「閉じる」だけで、更新日時が変更されNotifyFilters.LastWriteを設定しても
正確な情報が取れないことが分かりました・・・
自分で考えつくのは、

変更されたらファイル名と更新日時の値を保持して次に同名ファイルが更新されたら比較する

といったものなのですが、もっと良い案や確実に更新されたのを取得できる方法がありましたら
アドバイスお願いします&このスレの住人さんはレベルが高そうなんで
素人はこっちいけや〜的なスレがありましたら誘導していただけると嬉しいです

ここからずっと俺のターン?(´・ω・`)

869デフォルトの名無しさん:2007/06/28(木) 01:44:00
>このスレの住人さんはレベルが高そうなんで
ナニヲイッテイルンダ


定期的にファイルのハッシュ比較するとか
前回保存日時で比較するとか
すりゃいいんじゃね?
870デフォルトの名無しさん:2007/06/28(木) 09:05:36
みなさんこんにちは。お尋ねします。

通常のLabelですと後ろに引っ込んだ3D形状はあるものの
手前に出っ張った形状は付属されていないのですが、
どこかのサイトで、手前にふくらみのあるラベルコントロールなどが
あるところをご存知ないでしょうか?

それともこういったものは有料のものになるのが普通でしょうか?
昔、LabViewというものを触ったことがあり、それには手前に出っ張って
いるガジェットがたくさんあったのを記憶しています。あれと同じような
感じに見えるものがほしいのですが、

もしご存知の方がおられましたら教えて戴きたく、
なにとぞよろしくお願いします。

871デフォルトの名無しさん:2007/06/28(木) 10:00:47
>>870
LabelのPaintイベントで自分で描画する。
例えば
Label1のPaintイベントに
e.Graphics.DrawRectangle(New Pen(SystemColors.ControlDarkDark), New Rectangle(0, 0, Label1.Width - 1, Label1.Height - 1))
e.Graphics.DrawLine(New Pen(SystemColors.ControlLightLight), 0, 0, Label1.Width - 2, 0)
e.Graphics.DrawLine(New Pen(SystemColors.ControlLightLight), 0, 0, 0, Label1.Height - 2)
微調整はお好みで。
872デフォルトの名無しさん:2007/06/28(木) 10:08:31
>>871
これって、自分で描画できるものなのですか!凄い。
ありがとうございます、やってみます。助かります。
873デフォルトの名無しさん:2007/06/28(木) 15:51:21
>>871
直接描画するんじゃなくてControlPaint.DrawBorder3Dを使うべき
874デフォルトの名無しさん:2007/06/28(木) 16:18:24
数字をアルファベットに変換する場合、みんなはどうしてる?
たとえば、99ならninety nineとか、11ならelevenとかに変換したいんだけど(´Д⊂グスン
875デフォルトの名無しさん:2007/06/28(木) 16:28:51
自前で実装
876871:2007/06/28(木) 16:30:14
>>873
Private Sub Label1_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Label1.Paint
ControlPaint.DrawBorder3D(e.Graphics, Label1.ClientRectangle, Border3DStyle.Raised, Border3DSide.All - Border3DSide.Middle)
End Sub
こんな感じでいいかな?
877デフォルトの名無しさん:2007/06/28(木) 16:52:48
>>875
めんどくさい(´Д⊂グスン
878デフォルトの名無しさん:2007/06/28(木) 16:55:33
>>877
このスレで一番言ってはならないことを言ったなw
もう誰も答えてくれんよw
879874:2007/06/28(木) 17:07:53
880デフォルトの名無しさん:2007/06/28(木) 17:26:07
>>873>>876

こちらもやってみました。

実は、ユーザーコントロールで複合したものでやってみてるのですが、
Label と TextBox の組み合わせで同じ UserControl に乗っけてまして、

その際、ClientRectangle の Inflate とかが必要のようですね。+2ぐらいしないと
外形が遇わないようです。

ところで、この Raised を使った場合、それを通常の BorderStyle プロパティに
追加して選択できるようにもしたいのですが、UserControl なのでPropertyを
Overrideして追加するとしたら、どういった感じにすると出来るでしょう?
ご指導戴ければありがたいです。
881デフォルトの名無しさん:2007/06/28(木) 17:28:11
普通にプロパティつくってその中でいじってやればいいんじゃねぇ?
やり方は好みだとおもうんだが・・・・

オーバーライドする必要がないと思うから
882デフォルトの名無しさん:2007/06/28(木) 17:32:32
>>880
UserControlじゃなくてLabelクラスをオーバーライドするほうがスマート
883882:2007/06/28(木) 17:33:38
すまんオーバーライドじゃなくて継承ね
884880:2007/06/28(木) 19:31:41
>>881
なるほど、UserControl だと、そのものの Property になるということですね。

わかりました、助かりました。

>>882-883
そういう方法もあるということですね。今こちらのはTextBoxと他にもうひとつ
Labelも使ってたので、むずかしそうだったため、UserControl にしてしまってました。
たぶんよく理解していればできるのだと思うのですが、組み合わせコントロールとしては
デザインモードでの視覚的な組み合わせが楽な UserControl にしてました。

その方法での実現についてはまた勉強して考えてみます。
885デフォルトの名無しさん:2007/06/29(金) 11:25:32

user.configの仕様どうにかならないかなー。
MySettingsで保存する際に、保存場所を指定できたらすごく便利なのに。。

バージョンごとに保存先が変わるとか、どうしてこんな糞仕様なのか。
せめて選べたら良いのに。
886デフォルトの名無しさん:2007/06/29(金) 11:40:44
>>885
MSDNみたら
user.config は System.Windows.Forms.Application.LocalUserAppDataPath プロパティで指定した場所に配置されます。
とある。
試して無いけど。
887デフォルトの名無しさん:2007/06/29(金) 12:38:34
っていうか、恥ずかしいからMy爺さんの機能なんか使うなよw
リソースにアクセスする用途しか使ったことないぞ俺は
888デフォルトの名無しさん:2007/06/29(金) 12:39:42
質問です
VB(どういうかVSのマクロ)で、ドキュメントウィンドウに文字を出力する際に
入力する文字列に,(カンマ)が含まれるとE_FAILが帰ってくるんですが
これをどうにかして,,,,見たいなのも出力できるように出来ませんかね?

具体的に言うならこういうの↓
DTE.ActiveWindow.Selection.text += "nullpo,,"
でエラーなしにする方法、,,で打ち切られないようにする方法が知りたいのです
889デフォルトの名無しさん:2007/06/29(金) 12:43:54
>>887
設定保存とからくじゃないかw
俺はSettingとResource使ってるな
890885:2007/06/29(金) 13:05:37
>>886
おお!

どうもです。
ちょっと調べてみようっと。


>>887
初めちょっと嫌だなーとか思ったけど、使ったら超便利だった。
サクサク保存できる。
891885:2007/06/29(金) 15:53:01
>>886
Read only でした。
892デフォルトの名無しさん:2007/06/29(金) 17:00:10
次のようなクラスを作成する場合、

aaa.bbb()
aaa.ccc.xxx()
aaa.ccc.yyy()
aaa.ddd.zzz()


Public Class aaa
Public Sub bbb()
〜〜〜
End Sub

次のコードは??

End Class

教えて下さい。
893デフォルトの名無しさん:2007/06/29(金) 17:08:31
適当に
やり方はいろいろだと思うけれど・・・・とりあえずで

public class c_ccc
public sub xxx
end sub

public sub yyy
end sub

end class

public class d_ddd

public sub zzz
end sub

end class

public class aaa

public ccc as new c_ccc
public ddd as new d_ddd

public sub bbb
end sub

end class
894デフォルトの名無しさん:2007/06/29(金) 17:33:47
>>893
thx
895デフォルトの名無しさん:2007/06/29(金) 20:45:04
サーバに置いたexeを動かすのにexeと同じ場所にMicrosoft.VisualBasic.Compatibility.dll
が無いと動かないPCと無くても動くPCがあるのは何故なんでしょう?
OSは2KだったりXPだったりだけど、どっちでもなるのならないのあるし、
もちろんみんな.netフレームワーク1.1は入ってるし
(動かないPCでもそのDLL置いただけで動くようになった)
896デフォルトの名無しさん:2007/06/29(金) 22:40:14
>>895
.netを再インストしてみよう
com登録してなくても検索パスにdllをおいただけで動くよ
897デフォルトの名無しさん:2007/06/29(金) 23:04:34
>>896
thx
XPだと.netプリで入ってるけど、一度アンインストールして再インストールすればいいのかな?
一度試してみます
898デフォルトの名無しさん:2007/06/29(金) 23:10:12
>>895
プログラムがバージョン違いのMicrosoft.VisualBasic.Compatibilityを参照してる ってことはない?
.NET 1.1 なら ver. 7.0.3300.0 のはずだが。.NET 2.0は Ver.8.0.0.0 。
あと.NET 1.1 のSPで差が出るかどうかはわからないがその辺も調べてみて。
899デフォルトの名無しさん:2007/06/30(土) 05:23:45
こんにちは、お尋ねします。

各種オブジェクトのイベントの発生順序に関する一覧表のようなものは
どこかのサイトで公開されていたでしょうか?

(例えば TreeViewコントロールのTreeNodeをクリックした後の各種イベント
MouseClick,Click,OnBeforeSelect,OnAfterSelect などの発生順序、等です)

こうしたものはすべてのイベントについて実験していくことは可能なのだとは
思いますが、できたら理論的に分っているものがあれば、そのほうが正確で早い
と思いました。

もしご存知でいらっしゃいましたら教えて戴きたく。よろしくお願いします。
900デフォルトの名無しさん:2007/06/30(土) 06:26:29
強いて言うならMSDN
901デフォルトの名無しさん:2007/06/30(土) 10:34:09
つか常識的にMSDN
902デフォルトの名無しさん:2007/06/30(土) 11:44:35
MSDNとS・G・G・Kって何か似てるよな
903デフォルトの名無しさん:2007/06/30(土) 12:44:35
たぶん OnBeforeSelect は OnAfterSelect の前
904デフォルトの名無しさん:2007/06/30(土) 12:52:13
>>899
そういうこと言いたい気持ちはよく分かるんだけど、
実際自分で試すのが一番正確で速いでしょ、どう考えても。

というか、まあ一概には言えないけどコントロールのイベントの発生順序に
依存するコードというのは、ちょっと不吉な匂いがするよ。
905デフォルトの名無しさん:2007/06/30(土) 14:43:50
>>904
禿同
特にツリービューは気をつけたほうがいい
906デフォルトの名無しさん:2007/06/30(土) 15:05:28
>>900-905

MSDNですと、発生順序に関しては必ずしも明記されていないように思いました。

確か本にはFormのLoad時とClose時のものなどが掲載されているものがありました。
それと同様の情報がどなたか公開されているのではないかと思ったのでした。

それでは、また調べてみます。ありがとうございました。
907デフォルトの名無しさん:2007/06/30(土) 16:34:26
明記されていない場合は順番を当てにしない方がいいと思うよ
908デフォルトの名無しさん:2007/06/30(土) 22:22:46
自分でConsoleWriteでもつかって調べればいいだろうに・・・・
909デフォルトの名無しさん:2007/06/30(土) 22:36:44
俺も前にトレイからの復帰時にtreeview関係のイベントが起きて困ったもんだ
910デフォルトの名無しさん:2007/07/01(日) 12:29:39
順番を当てにされたくないから意図的に明記してないのかもしれないし
911デフォルトの名無しさん:2007/07/01(日) 12:40:46
いやそういう問題でももちろんあるんだけど、
「イベントの順序に依存したコードの不吉な兆候」というのは、
仮にそれ(イベントの順序)が確定しているとしても、それを人間が正しく
認識していないと意味を把握できないコードになりがちだから
保守性や拡張性の点で問題があるということでしょ。
912デフォルトの名無しさん:2007/07/02(月) 15:37:39

GroupBoxの線の色を代えられないとか、どんな仕様にしてるんじゃ.NETは〜!!

ちょぼちょぼ、痒い所に手が届かない風にコントロールなどが
作られてあって面倒くさい。

つうか、折れも画面を作る前に気が付けよ・・・。
は〜〜〜。orz
913デフォルトの名無しさん:2007/07/02(月) 15:51:28
馬鹿の要望きいてるほどMSも暇じゃないんじゃね?
914デフォルトの名無しさん:2007/07/02(月) 16:01:51
文句はチラシの裏に書け。
質問なら、素直に聞け。
思わせぶりな文章書いて、対策案を貰おうとしている様が見え見えで引く。
915デフォルトの名無しさん:2007/07/02(月) 16:32:44
>>913-4
すいません。愚痴でした。
確かにチラシの裏に書いとけば良かったです。

まあ、もう、解決したんですが、その方法もチラ裏に書いときますわ。

いや、しかし.NETはほんとに、ちょっと足りないよ。
DateTimePickerは空に出来ないとか、FileDialogでフォルダとファイルの選択が〜とか。
ま、こちらも解決しているんで、今となってはどうでも良いですが。
916デフォルトの名無しさん:2007/07/02(月) 17:56:26
>>915
だからチラシに書けよ。書き込むな。
917デフォルトの名無しさん:2007/07/02(月) 17:58:22
質問スレに愚痴てwwwwwどんだけwwwwwwwww
918デフォルトの名無しさん:2007/07/02(月) 18:16:42
>>915
>いや、しかし.NETはほんとに、ちょっと足りないよ。
いや、足りないのは君の頭と想像力と解釈力
919デフォルトの名無しさん:2007/07/02(月) 20:05:50
>>915
標準コントロールの機能が十分だったらサードパーティ涙目だろが
920デフォルトの名無しさん:2007/07/02(月) 20:16:06
というより、たまたま俺様が欲しいと思ってる機能がないのは何でじゃ〜(ムキー)
っていうのはちょっと精神病チックだよね正直w

まあ20%ぐらいは共感できる部分もあるけど、ドトネトの場合比較的簡単に
コントロールの機能が拡張できるから俺はそんなに不満はないなあ。

ただ、ToolStrip関係はもう少しなんとかならなかったのか?とは思わんこともない。
クラスライブラリ的に醜すぎるし、拡張がしづらいんだよねToolStrip関係は。
921デフォルトの名無しさん:2007/07/03(火) 12:01:30
業界未経験ですが、PGの面接に行ったらVB6をやってもらうと言われました。
現職場でVB.NETではアプリケーションを作ったこともあり、受注先に納品した
り、社内でのデータベースを構築した経験(図書管理など)もあります。

.NET→VB6へ下がってしまうのがなんか時代に逆行するようで嫌なのですが、
.NET→VB6への移行(頭の切り替え?)はやっぱり難しいものでしょうか?
一応、エクセルのVBAはフォームまわりやファイル処理はできます。
922デフォルトの名無しさん:2007/07/03(火) 12:13:28
VBA+αくらいで考えとけばいいんじゃない?

意向が難しいかどうかは人それぞれだけど たぶん君なら大丈夫

ただ・・・いろいろ.netならなぁ・・
とか思うことは多いだろうな・・・・
923デフォルトの名無しさん:2007/07/03(火) 14:02:48
If文とか書いたとき、自動でEnd Ifを挿入してくれなくてイラつくと予想。
924デフォルトの名無しさん:2007/07/03(火) 14:03:27
VB.NETなら誰が書いたコードでもそれなりに理解できるが
アホがVB6で書いたコードは何がどうなってるのか読むのが大変
925デフォルトの名無しさん:2007/07/03(火) 14:05:35
2005のWindows.Formアプリで質問です。

DataGridViewのコンボボックスカラムを使用してデータを選択させています
このデータはDataSourceで指定されたデータを使用しています。

問題はこの後で、データの文字がセルの幅を超える場合、ドロップダウンが表示されたときにすべて表示されない状態になっています。
オーナードローすればいいんでしょうが、幸いDropDownプロパティがあるのでこれを使いたいと思います。

このとき、普通であれば表示させるデータをなめてMeasureStringで最大幅を設定するのでしょうが
データ取得に時間がかかりデータ数が多いこともあり、できるだけループで回すようなことをしたくありません。

もし何か回避する方法があるのであればお教え願えませんか?
もし無いのであれば諦めてデータをなめて最大幅を設定しようと思います。
926デフォルトの名無しさん:2007/07/03(火) 14:24:00
>>925
AutoSizeMode = AllCells でいいんじゃない?
927デフォルトの名無しさん:2007/07/03(火) 14:31:51
>>926
あ〜そういう手がありますね
早速やってみたところドロップダウンが奇麗に表示されました。
長い文字を選択するとセルのサイズ変わっちゃうけど、まぁこれはこれで取りあえず置いておいてつづけようかと思います。
(Keyの項目なので表示しきる必要はあると考えて)

回答ありがとうございました。
928デフォルトの名無しさん:2007/07/04(水) 05:41:03

ところでおまいら少し安め。

ベンジャミンフルフォード 「日本はここから侍のこころを取り戻そう!」
http://www.harmonicslife.net/PodCasts/2006/Yumi20061013Podcast_911Fulford.mp3

929デフォルトの名無しさん:2007/07/04(水) 18:07:03
文字コードの自動判別ができるのはどのバージョンのVB.NET?
930デフォルトの名無しさん:2007/07/04(水) 18:20:07
むしろその日本語ってどんなバージョンだよw
頭おかしいんじゃねえの
931デフォルトの名無しさん:2007/07/04(水) 20:38:56
多分それができるころにはVBはなくなってると思う
932デフォルトの名無しさん:2007/07/04(水) 22:10:25
C:\WINDOES\fontsのなかにあるEUDC.TTEをローカル(C:\copy)にコピーしたいんですが、
System.IO.File.Copyを使ってもwindowsに変な影響出たりしませんか?
933デフォルトの名無しさん:2007/07/04(水) 23:39:43
DatagridViewでデザイン時にカラムを追加してPropertyName設定してテーブルをバインド

データソースの中身Dispose+Nothing

同じ構造の別テーブルをDataSourceにセット

最初にデザイナで追加しておいたカラムがDataGridViewのColumnsから消えてる

( ゚Д゚)ポカーン
気付くまで30分かかったw
934932:2007/07/05(木) 09:36:36
自己解決しました。
935932:2007/07/05(木) 12:26:34
↑って誰ですか?
解決してないんですけど
936デフォルトの名無しさん:2007/07/05(木) 12:35:11
>>932
削除とかならまだしも、普通にコピーとるだけなんだろ?なにを心配してるんだ?
馬鹿らしくてみんな答えないだけだよ。

というか自分で試せることだろ?
心配なら復元ポイントでもつくってやってみろ。
937デフォルトの名無しさん:2007/07/05(木) 13:18:45
>>936
こういう馬鹿は試しもせずに聞いてくるからたちが悪い
失敗から学ぶことのほうが多いというのに
938デフォルトの名無しさん:2007/07/05(木) 19:27:17
コンポーネントってデザイナでフォームじゃなくなんか下の方に置かれるじゃないですか?
カスタムコンポーネントを作ろうとした場合、どうやってフォームの情報を取得するんですかね?
939デフォルトの名無しさん:2007/07/05(木) 19:29:12
Containerをフォームの型にキャストすればいいんだけど
そうするとコンポーネントとして分離した意味がなくなるからそういうのはダメ
940デフォルトの名無しさん:2007/07/05(木) 19:45:04
ぇぇー、ダメって、例えば貼り付けるだけでフォームの特定のコントロールにほにゃららな
機能を追加するってようなのもダメぇ?コントロールをカスタムるより楽じゃん?
941デフォルトの名無しさん:2007/07/05(木) 20:15:37
OSのGUIを使わず、アカウントがビルドインユーザ
であるかそうでないか判断する方法しっている方
いましたら、教えて欲しいです。
Visual Basic .NET プログラムで実装します。
 コマンド、Win32_API 、レジストリ、WMI
でもかまいません。
942デフォルトの名無しさん:2007/07/05(木) 20:20:07
いや・・・いろいろ方法ありますよ
943941:2007/07/05(木) 22:20:28
ちょっと文章がおかしかったっす
Visual Basic .NET プログラムで実装します。
クラスライブラリ、コマンド、Win32_API 、レジストリ、WMI
どれか1つでかまいません ということです


944941:2007/07/05(木) 23:02:18
自己解決しました。
945デフォルトの名無しさん:2007/07/06(金) 00:14:09
>>940
どうやんのそれ
プロパティで対象のコントロールを直接指定するの?
それなら>>938みたいなことをする必要は全くない
フォームの特定のコントロールを勝手に参照したら
そのフォームに依存してしまうだろ
946デフォルトの名無しさん:2007/07/06(金) 02:50:00
>>941
なに使ったの?
俺は調べきれなくって 時間なかった時だったんでNetUserEnum 使ったんだが
947デフォルトの名無しさん:2007/07/06(金) 04:01:19
WindowsPrincipal じゃね?
948デフォルトの名無しさん:2007/07/06(金) 06:31:03

Objectクラスの MemberwiseClone メソッドについて教えてください。
これで Clone を作って調べてみると、

  cntrlClone = DirectCast(cntrl.MemberwiseClone, コントロールのタイプ名)

ここで、元のオブジェクトインスタンスと別ものらしいこと

  cntrlClone IsNot cntrl  は True 

はわかったのですが、Control でこれを使って作ったCloneを操作すると、
元オブジェクトのインスタンスが操作されてしまいました。

この cntrlClone の Size や Location を変えると、元の cntrl が動いてしまい、
cntrlClone の方は該当の場所には現われてすら来ませんでした。

MemberwiseClone メソッドで作成されるCloneというのは、どういうものなのか
今一よくわからず、これは別のインスタンスを完全に別ものとして作成するのでは
ないということでしょうか、あるいはまた扱い方に問題があるでしょうか。

よろしくお願いします。
949デフォルトの名無しさん:2007/07/06(金) 06:51:01
>>948
MemberwiseCloneは直接のメンバーのコピーしかしない。
メンバーとして参照型のオブジェクトを持っていた場合は参照しかコピーされないので
コピーされたオブジェクトは同じ子オブジェクトを参照することになる。
950デフォルトの名無しさん:2007/07/06(金) 07:16:55
>>949

その 「メンバー」 の意味するものとは、元オブジェクトのフィールドのことですよね、

しかし、Clone 自体のインスタンスは、明らかに、元オブジェクトのインスタンスとは
別物になるはずですよね?

それが、cntrlClone と cntrl が別ものとして

   cntrlClone IsNot cntrl  は True 

とはなっているのに、cntrlClone を操作すると、どういうわけか、cntrl が動いて
しまうようなのです。cntrlClone と cntrl の両方が画面に現われるかと思っていると
片方しか現われないのです。つまり、cntrlClone はで来ていないかのように見える
のです。

こういうことはおかしいように思うのですが、よくわからないのでした。
951デフォルトの名無しさん:2007/07/06(金) 07:20:06

それとも、cntrlClone への操作が、自動的に cntrl 側にも同時に伝わってしまって
同時に2つとも同じ操作の対象になってしまっているのでしょうか??

まさかそういうことはちょっと信じられないのですが・・・。
952デフォルトの名無しさん:2007/07/06(金) 07:37:17
class B { public int Ope() { .. } }

class A {
  B b = new B();
  public int Ope() { return b.Ope(); }  
}
こういう構造ならいくらAのクローンを作ってもBはひとつ。
a もクローンa もインスタンスは違っても共通の動作になるだろ
953デフォルトの名無しさん:2007/07/06(金) 07:54:52
>>952
そのおっしゃってることの意味は>>949の意味かと思いますが、

画面にすでに cntrl があった場合に、>>948のように

  cntrlClone = DirectCast(cntrl.MemberwiseClone, コントロールのタイプ名)

のようにして作成した場合、実体として cntrl と cntrlClone は別モノで、
別々のコントロールとして作成されるとすれば、

  cntrlClone.Top = cntrlClone.Top + 10

と操作したら、cntrl の Top が +10 してしまうのはおかしいのではないかと・・・

それとも、cntrl が何かの派生であった場合、Baseクラスに対しても Clone を
別に作成しないといけない、というようなことなのでしょうか?まさか
954デフォルトの名無しさん:2007/07/06(金) 08:13:15
Windows.FormsのFormやらButtonがどういう構造になってるかは知らんが、
実体はWin32のアンマネージドリソースなんだから、
SizeやらLocationやらは毎回Win32のリソースに問い合わせてる可能性が高いぞ。
そうなると両方のオブジェクトが同じハンドルのWin32リソースを操作するわけだから
同じになるのは当然だろ。
ICloneable.Cloneが実装されてないのに、中身もわからないクラスのクローンを作るのは
無謀だと思うぞ。
955デフォルトの名無しさん:2007/07/06(金) 08:19:32
>>953
既に954が書いてるし、俺はあまりWin32に明るくないんだけど、
要するに、例えばFormにTextbox1があるとして、Form上に見えている
テキストボックスはTextbox1そのものではなく、「Textbox1が内部にもっている何物か」
に過ぎないということなんでしょう。

それなら話の辻褄あうでしょ。
956デフォルトの名無しさん:2007/07/06(金) 08:44:23
>>954-955

どうもです、やっぱり 

  cntrlClone = DirectCast(cntrl.MemberwiseClone, コントロールのタイプ名) ・・・[1]

で コントロールの別実体の Clone が作れると思わない方がいいでしょうか?

ICloneable.Clone については、
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?forum=7&topic=27051

なども参照してみて実装してみたりしてますが、この使い方では結局 Clone
の作成は [1] でやっているんですよね。

普通に最初から New でコンストラクトして、必要なフィールドなどを値でコピーして
地道に作成するほかないでしょうか。そうなると、 MemberwiseClone の利用方法が
今一不明になるわけですが・・・どうもよくわかりません
957デフォルトの名無しさん:2007/07/06(金) 08:48:58
>>956

あっ、これ書いてみて今気がつきましたが、この参照サイトにあるのは [1] ではなく、

  Dim hWankuma As WankumaData = DirectCast(Me.Clone(), WankumaData)

・・・
Private Function Clone() As Object Implements System.ICloneable.Clone
Return Me.MemberwiseClone()
End Function

となってるところが違うのか・・・、もしかしてこれでしたか?ちょっとやってみます。
だとしたら自分の使い方のミスですね。飯食ってからやってみてまた報告します。
どうもでした。
958デフォルトの名無しさん:2007/07/06(金) 09:41:34
ああ、くそう
ここで交わされる会話がスラスラ理解できるようになりたいw
959デフォルトの名無しさん:2007/07/06(金) 11:14:28
たいしたこと言ってないから
960デフォルトの名無しさん:2007/07/06(金) 12:36:43
>>956-957
なんか書いてること読むと基本が理解できてない感じ。
自分でクラス作れない人?

だったら場当たり的な「調べ方」では永遠に埒あかないと思うよ。

少なくともクラスと構造体の区別が理解できていれば、
フィールドの値(オブジェクトのメモリーイメージ)だけ複製しても
無意味な場合があることはすぐ理解できるはず。
961デフォルトの名無しさん:2007/07/06(金) 12:58:22
>>960

うーん、おっしゃってることは分ってるつもりですが、
要はコントロールの複製を作るにはこういうメソッド使えない
ということでしょうか?

もし使えるとしても、では後何をどうすれば複製を作成できるようになるでしょう?

毎回、Newでコンストラクトして作成して、それにフォールド値をいちいちコピーする
やり方では、クラスをバージョンアップしてフィールドが増えたりするたびにそこに
手を入れる必要があるので忘れやすく、そういうことを防止するためにはこのメソッドを
使うほうがいいという感じで書いてあるところが多くあるかと思います。

では、現実の実体としてコントロールをこのメソッドも使って複製したい場合、
どれとどれとどれのどのような手続きをへて可能になるのか、それが知りたいのですが、
現状の知識ではわかりません。またそうした使い方をして説明してあるサイトが見つからない
のです。

ちなみに、当然というか、>>957で試してみてもやっぱりだめでした。まー同じことだろうとは
思ってましたが、やっぱりその通りでした。
962デフォルトの名無しさん:2007/07/06(金) 13:03:03
>>954-955のご指導もありましたが、もしオブジェクトの実体を指すインスタンスが
別途にできていないのだとするとそういうことになるのかもしれませんが、
しかし、たとえフィールド値のコピーだけだとしても、そうだとすると、コントロールの
実体を指すプロパティが他にあって、それのCloneを作成する必要があるということ
でしょうか?

もしよろしければ、その辺をご指導いただけますか?
963デフォルトの名無しさん:2007/07/06(金) 14:27:19
>うーん、おっしゃってることは分ってるつもりですが、
ダウト


>コントロールの 実体を指すプロパティが他にあって、それのCloneを作成する必要があるということ
>でしょうか?

大雑把にいうと
Control ->
NativeWindowクラスのプライベートフィールド->
IWin32Window(Win32ハンドルのラッパ)->
アンマネージドの世界

素直にICloneableを実装して必要なフィールドを自力で埋めろ、ってこった。
964デフォルトの名無しさん:2007/07/06(金) 15:21:46
意識的に自分で使ってるプロパティだけ新しいオブジェクトに移せばいいだろ
コントロールなんて大概「同じもののように見える」で十分
手軽にできるようにしたかったら,
コントロールの初期化をラップしといて簡単に再現できるようにするとか
965デフォルトの名無しさん:2007/07/06(金) 15:28:26
>>963
どうもです。

おっしゃてることは、ですから、要するに、

>>957
Private Function Clone() As Object Implements System.ICloneable.Clone
  Return Me.MemberwiseClone()
End Function

の中の Return Me.MemberwiseClone() は使えません(>>961の通り)ということで、
全部毎回フィールドを自分で世話するという、以前からある手法でやるほかない、
ということなのですね。

つまり、少なくともコントロールに関するかぎり、 MemberwiseClone() は有効にはならず
利用できない、ということで納得するほかないと・・・。わかりました、ということはせっかく
MemberwiseClone() というメソッドが継承されていても、使えないメソッドなのだという
ことなのですね、少なくともControlクラスにおいては。

ではやはりそのようにするしかなさそうですね。ご指導感謝します。
966デフォルトの名無しさん:2007/07/06(金) 15:29:58
>>964

同様のご意見ということで、わかりました。無理そうなので
結局そういう感じでやることに致しました。
967デフォルトの名無しさん:2007/07/06(金) 16:42:48
>Dim hWankuma As WankumaData = DirectCast(Me.Clone(), WankumaData) 
Wankumaってここを見たんだろうけど、
http://blogs.wankuma.com/jeanne/archive/2006/04/06/22272.aspx
http://blogs.wankuma.com/jeanne/archive/2006/04/07/22287.aspx

ICloneableの実装の説明としてみると例えとして変なので軽く理解したら他をあたったほうがいい。
968デフォルトの名無しさん:2007/07/06(金) 17:03:04
ADO.NETでウィザードを使ってデータベースに接続したり,コントロールに連結したりした
アプリケーションを配布する場合,データベースへのパスがユーザによって変わってくる
と思いますが,どこでConnectionStringの変更を指定したらいいのですか?

具体的には,ウィザードを使うとFormのRegion〜EndRegionの間にOledbConnectionに関する
記述がありますが,配布した時に最初にデータベースの位置をユーザが指定して,それを
レジストリに書き込みたいのですが,それに関する記述はどこに書いたらいいでしょうか?
Form_Loadですか?
969デフォルトの名無しさん:2007/07/06(金) 18:49:34
CheckdListboxコントロールの継承に関して質問です。

このコントロールの中にあるItemsにAddやRemoveなどのコマンドがありますが、
こちらを継承、もしくはItemsにメンバー変数などを追加するには
どのようにすれば良いのでしょうか?

やりたい事は、CheckdListboxコントロールは、主にItemsの「Index、item、Checked」と
三つの情報を取り扱いますが、こちらに一つ追加したい。

現状は、CheckdListboxコントロールの継承クラスに、メンバーを追加して、
ItemAdd とか ItemRemove とかを作って無理やり実現させています。
970デフォルトの名無しさん:2007/07/06(金) 18:50:50
>>945
ヒント:ErrorProvider
971デフォルトの名無しさん:2007/07/06(金) 22:52:48
>>969
継承についてもっと勉強してください。
あなたの考えてることは不可能です。
972デフォルトの名無しさん:2007/07/06(金) 23:02:22
>>971
その前に君969の言ってることがわかるの?
俺にとっては>>969の文章はサッパリ理解不能なんだが。
きっとエスパーなんだね君は。

自分の勝手な想像と書いてあることの区別がつかない痛い奴でなければ。
973デフォルトの名無しさん:2007/07/06(金) 23:38:51
>>972は自分でさっぱり理解不能な場合、答える人は
全てエスパーに見えるらしい。

…あ、釣りですか。そうですか。
974デフォルトの名無しさん:2007/07/06(金) 23:43:46
いや釣りじゃなくて嫌味ね。
しかし、嫌味が通じない人間の人生ってきっとさぞかし「楽しい」んだろうな。
おっと、この人嫌味が通じないんだったなw
975デフォルトの名無しさん:2007/07/07(土) 00:14:44
くだらね。
976デフォルトの名無しさん:2007/07/07(土) 00:54:58
なんか最近.net関連のスレに気違いが混じってるなぁ
977デフォルトの名無しさん:2007/07/07(土) 00:56:52
「釣りですか」というのが嫌味だと理解できなかった可哀相な人がいるスレはここですか?
978デフォルトの名無しさん:2007/07/07(土) 01:01:31
そういや「全てエスパーに見えるらしい」ってもの嫌味の部類だよなあ
通じなかったみたいだけど。
979969:2007/07/07(土) 09:52:05
自己解決しました。
980デフォルトの名無しさん:2007/07/07(土) 10:09:52
>>932がさっきから腹いせにスレを荒らしている件
981デフォルトの名無しさん:2007/07/07(土) 10:26:25
フォォムのLoad中〜Load完了までの状態を判定するにはどうすればいんですかね?
Visible=False Then じゃなんとなくダサいんですが
982デフォルトの名無しさん:2007/07/07(土) 10:49:43
だれが判断したいわけ?
983デフォルトの名無しさん:2007/07/07(土) 12:29:48
>>982
入社2年目のプログラマーです
984デフォルトの名無しさん:2007/07/07(土) 13:01:08
自作コントロールのItemプロパティを作成したんだけど
出来ればデザイン時に項目を設定できるようにしたいんです。

確かシリアライズ出来るようにしなければいけないと思ったんですが
ちょっと情報が探せませんでした。
ご存知の方簡単で構いませんのでお教え願えませんか?
985デフォルトの名無しさん:2007/07/07(土) 13:18:26
>>984
ん?propertyになっているなら、デザイン時に設定できるだろ?
986デフォルトの名無しさん:2007/07/07(土) 14:08:17
>>984
悪いけど酷い日本語だなあ。何が言いたいのか意味わからんよ。

なので推測で答えるけど、プロパティグリッドで独自のUIを使いたいってことなら
多分ここの記事が参考になると思う。

http://www.comrade.co.jp/component/dotnetroom/index.htm
987デフォルトの名無しさん:2007/07/07(土) 14:18:56
デザイナまで作ろうってんじゃなくて単にプロパティウィンドウに出したいだけじゃねぇの?
BrowsableAttribute属性付けるだけでいいレベルじゃないのか。
988デフォルトの名無しさん:2007/07/07(土) 14:25:21
プロパティグリッドが俺やアンタの作った俺様コレクションの俺様アイテムの
編集方法を理解できるわけないでしょアホか。
989デフォルトの名無しさん:2007/07/07(土) 14:52:08
日本語云々に拘っている変な人がいるよね。
990デフォルトの名無しさん:2007/07/07(土) 16:09:18
向こうで書きにくくなったJittaが暴れているんだろ。
991デフォルトの名無しさん:2007/07/09(月) 12:13:11
VB2005で、IEのプロキシを設定したいのだけど、コマンドがわかりません。
教えていただけませんでしょうか。
992デフォルトの名無しさん:2007/07/09(月) 12:17:34
>>991
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings
のProxyServerの値をVBでいじればいい
993デフォルトの名無しさん:2007/07/09(月) 12:18:17
>>991
どんな方法で設定するのか知らないけど
HKEY_CURRENT_USER\…\Internet Settings
このレジストリいじるのじゃなくって別の方法?
994デフォルトの名無しさん:2007/07/09(月) 12:45:49
>>981
普通に書けば、メンバ変数
    Private m_loaded As Boolean = False
とプロパティ
    Public ReadOnly Property Loaded() As Boolean
        Get
            Return m_loaded
        End Get
    End Property
を持たせておいて、OnLoadで
    Protected Overloads Overrides Sub OnLoad(ByVal e As System.EventArgs)
        MyBase.OnLoad(e)
            m_loaded = True
    End Sub
でいいと思いますが。

>Visible=False Then じゃなんとなくダサいんですが
Boolean値をリテラルと比較するのは「ダサい」というより「間抜け」ですね。

>>988
>俺様コレクション
かどうかは判りませんが、それが既知の型の配列であれば
何もしなくともプロパティグリッドに表示されますね。
まあ、そうならないから質問してるんでしょうけど。
995991:2007/07/09(月) 22:15:08
>>991>>992
さっそく、ありがとうございました。
とても参考になります。

まだレジストリをいじったことがないので、
まずはレジストリのいじり方を調べてみます。

996デフォルトの名無しさん:2007/07/10(火) 09:25:38
997デフォルトの名無しさん:2007/07/10(火) 09:26:07
t
998デフォルトの名無しさん:2007/07/10(火) 09:26:42
t
999デフォルトの名無しさん:2007/07/10(火) 09:27:11
p
1000小倉優子 ◆en0rG2J.f6 :2007/07/10(火) 09:28:10
1000ならジュースでも飲むか
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。