VB.NET質問スレ (Part21 ..
692:673
07/06/15 15:51:01
>>675
どうもありがとうございます。ExpressからProにアップグレードできるんですか?
以前のエディションのPro版からしかアップグレードできないとおもっていたので、
とても助かります。ありがとうございました。
>>676
どうもありがとうございます。わざわざURLを貼っていただきまして。やっぱりPro版じゃないと
だめみたいですね。
>>677
製品版なんてものもあるんですね。CrystalReport単品ですね。でも、7万しますね・・
MicroSoftはここまで金をもうけないと駄目なんですかね・・
どうもありがとうございました。お礼が遅くなりすみませんでした。料理してたら忘れてまして・・
693:686
07/06/15 15:54:48
>>689
ああ、どうもです。
FlatStyleプロパティをSystemにする事で、回避できそうです。
694:デフォルトの名無しさん
07/06/15 16:01:58
>>693
ついでにちょっと試してたんだけど
IDEでグループボックス貼り付け
IDEでボタン貼り付け
ボタンのスタイルをフラットにして、色をREDに変更
このあとグループボックスの色変えてもボタンの色変わらなくない?
もちろんコードでグループボックスの色変えても
695:686
07/06/15 16:06:56
>>694
自分が確認した範囲では、一度ボタンの色を任意に設定した後は、
ボタンのスタイルに関わらず、グループボックスと連動する事はなさそうです。
スタイルをSystemにするか、BackColorをColor.Transparentにするかの
どちらかになると思います。
696:デフォルトの名無しさん
07/06/15 16:11:53
>>674
ではその可能性とやらを教えてください
697:デフォルトの名無しさん
07/06/15 16:20:47
>>696
またお前かw
偉そうな質問者よ
他のスレで大暴れしているな?
698:デフォルトの名無しさん
07/06/15 16:25:08
>>697
完全に人違い。
さっきのはもうあきらめました。
ちなみに別のところで詰まってるんだけど
教えてもらえるかな
699:デフォルトの名無しさん
07/06/15 16:54:12
だがことわる
って言われたら諦めるの?
700:デフォルトの名無しさん
07/06/15 17:11:23
やだ
っていったら教えてくれるの?
701:デフォルトの名無しさん
07/06/15 17:23:11
>>700
お前には教えない
教える気になる書き方しろやカス
つうか、おまえはそういう聞きかたされておしえるのか?
もしそうなら教えてほしいんだが
Form閉じる時に何か処理したいんだがなんてイベント使えばいいんだ?
たのむから教えてくれカス
702:デフォルトの名無しさん
07/06/15 17:57:14
何でお前はそんなに偉そうなんだ
お前は俺の質問に答えられるのか
無理なくせにえらそうにするなよ
703:デフォルトの名無しさん
07/06/15 17:59:13
DataTableでColumnsの最大値っていくつまで指定可能ですか?
704:デフォルトの名無しさん
07/06/15 17:59:25
>>698 = >>700 = >>702 = Null
つまり奴はこの世の中には存在しないんだよ!!!!
>>702
それまさにお前 m9(^Д^)
ところで釣れますか?
705:デフォルトの名無しさん
07/06/15 18:02:41
>>701
FormClosingだ、馬鹿。
Closingが見つからないからってあせるな馬鹿。
706:デフォルトの名無しさん
07/06/15 18:04:52
>>703
Columns.CountプロパティがIntegerだからそこから最大値は必然的にわかるだろ。
707:デフォルトの名無しさん
07/06/15 18:09:53
>>706
おお!
盲点ってか全く気がつかなかった。
サンクスです。
708:デフォルトの名無しさん
07/06/15 18:13:21
ぜひ>>671には
わ○くま とかの掲示板で質問していただきたいw
709:703
07/06/15 18:14:17
もうひとつ聞きたいことがあるんですが、
DataTableにNewRowした時点で、
あらかじめ項目に規定値をセットする方法ってあるのでしょうか?
710:デフォルトの名無しさん
07/06/15 18:15:14
>>705
ばっかw
そこは2003か2005か聞くところからはじめさせるための釣りの布石なんだよwwww
MayBe...
BoyesBe...
711:デフォルトの名無しさん
07/06/15 18:18:11
>>709
DataColumn みてみ?
712:703
07/06/15 18:24:59
>>711
どうもです。
試してみます。
713:デフォルトの名無しさん
07/06/15 18:47:12
VB2005が何か落ちまくる。
コピペしようとすると、コピーの段階でdevenv.exeのCPU使用率が
急上昇して最終的に落ちるか固まる。
はー・・・。
714:デフォルトの名無しさん
07/06/15 18:48:28
Dim str As String = "abc"
str = Format(str, "@,@,@")
MsgBox("str")
これで出力をすると結果が「@,@,@」になるのですが、どうしてなのでしょうか?;
どの解説サイトを見てもFormat関数の書き方は間違ってないはずなのですが・・・
715:デフォルトの名無しさん
07/06/15 18:49:12
ちなみにHndles Button.click内にあります。
716:デフォルトの名無しさん
07/06/15 19:09:04
すみません、上記は間違いです
Dim str As String = "abc"
str = Format(str, "@,@,@")
MsgBox(str)
自分では「a,b,c」と出ると思ってるのですが、どこか間違ってるんでしょうか?
717:716
07/06/15 19:14:32
VB2005です
718:デフォルトの名無しさん
07/06/15 19:16:07
TextBox/DateTimePicker/CheckBox/RadioButton などのコントロールが
50個以上あるフォームが有るのですが、フォームのクローズボタンなどで
閉じられた際に、内容が修正された場合には確認のメッセージを
表示させたいのですが、どうすれば良いでしょうか?
TextBoxの場合はModified がありますが、それ以外のコントロールはありませんし・・・。
719:デフォルトの名無しさん
07/06/15 19:19:03
>>718
起動した時に覚えておいて
Closingかなんかでチェックすればいいんじゃね?
720:デフォルトの名無しさん
07/06/15 19:27:46
>>719
やっぱりそれしか無いですかね。
なんか遅くなりそうで心配・・・。
721:デフォルトの名無しさん
07/06/15 19:32:32
フラグ一つ見るのに時間がかかるわけがないと思うんだが。
たぶん1nSecもかからないと思うぞw
722:718
07/06/15 19:50:28
>>721
え?フラグ一つってどういうことでしょうか?
今、修正される可能性があるコントロール全てを、データクラスにして
表示する時と閉じる時にセットして比べようとしているんですが・・・。
もしかして自分は壮大な過ちを犯してしまっているのか!
723:デフォルトの名無しさん
07/06/15 20:09:45
そのデータクラスにIChangeTrackingを実装すればいい。
724:デフォルトの名無しさん
07/06/15 20:14:26
フラグを一つ付けるためだけにコントロールを継承するのはアホらしいでしょ
Control.TagプロパティやDictionary(Of Conrtol, Boolean)でいいと思うけど
725:デフォルトの名無しさん
07/06/15 20:15:13
フラグはフォーム全体に一つで十分だろ…
726:724
07/06/15 20:18:21
すまん>>723はデータクラスにフラグを付けろって言ってたんだな
それでいいと思う
727:718
07/06/15 20:28:27
ありがとう御座います。
IChangeTrackingってググってもあんまり情報が無いですね。
インターフェースですか。
変更されたかどうかと、それをリセットする事が出来るみたいですね。
まさにこれが欲しかった!
.NET2.0スバラシイ!
でも使い方が良く分からない・・・。
ちょっと、いろいろ実験してみます。
728:718
07/06/15 21:07:50
駄目だ!
全然値が入らない。
そもそもインターフェースの使い方も良く分からなかった。
作ったデータクラスに、下記を書き込んで
Public Interface IChangeTracking
End Interface
下の変数でどうにかするんだろうけど、、サパーリネ
Dim instance As IChangeTracking
729:デフォルトの名無しさん
07/06/15 21:28:11
>>718
すまん。
あんたPGの才能ないと思うわ。
たぶんデータが変更された後セーブされずにプログラムが終了されようとしてる時に
そのまま終了するかセーブするかユーザーに確認したい、ということだと思うけど、
それなら、仮に厳密にやるとしてもセーブした時点のデータと
プログラムが終了されようとした時点のデータを比較するだけじゃん。
普通はそこまでしなくても、例えば
Private dataModified as Boolean = False
みたいなフィールドを作っておいて、何か一つでも変更があったらこれをTrueにすれば
用は足りるんじゃないの?
もちろんundoした場合の動作の厳密さが必要ならこういう手抜きはダメだけどね。
730:718
07/06/15 21:37:08
>>729
才能無くてサーセンwwwww
それって、修正される可能性があるコントロール全てに
イベントを作るって事ですか?
731:デフォルトの名無しさん
07/06/15 22:17:30
>>730
そういう聞き方するってことはたぶんコントロール自体をデータの入れ物にするような設計、
つまり何かのタイミング(ファイルにセーブするとか?)で一度に全部のコントロールの
プロパティをまとめて読むような設計なんだろうけど、普通はそもそも
そういうプログラムの書き方しないと思うよ。
732:718
07/06/15 22:55:30
ガーン。
そうなんですか。
>>731の書いてある通りに、登録ってしたらコントロールの内容をDBへ
一括に書き込もうとしているんですが、これってオカシイんですか。
(コントロール→データクラス→DB)
それで、登録されずに閉じられようとした場合には、確認のメッセージを
出したいって感じですが・・・。
733:デフォルトの名無しさん
07/06/16 00:37:24
いや、検証はいつかしなくちゃいけないんだから、
・コントロール全部にイベントつけて値が変わったら個別の検証コード走らす
・close, apply, ok等のアクションで全体の検証コード走らす
のどっちかでしょ。
前者だったらclose,apply,ok等のアクションで判定するのは一つのフラグで済むけどイベントがたくさん
後者だったらイベントたくさんはいらないけどアクションで全体を検証しなくちゃいけない
どっちでもいいと思うけど、コントロールが多いなら後者がいいんじゃないの?
734:716
07/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:デフォルトの名無しさん
07/06/16 10:04:26
まあ何が間違ってるか、ってそれはきみの学習姿勢が間違ってるんだよ。煽り抜きで。
または致命的に頭が悪いか。
いずれにせよ、そのレベルのことを人に聞くのは恥ずかしいことだ、って意識がないとしたら
PG向いてないよたぶん。
736:デフォルトの名無しさん
07/06/16 10:19:00
>>734
ここの下のほうを見ろ
URLリンク(msdn2.microsoft.com)(VS.80).aspx
737:デフォルトの名無しさん
07/06/16 16:41:37
>>735
ま た お ま え か
煽り抜きで言わせてもらうが頭大丈夫か?
このスレで「PGとして〜」「仕事として〜」「才能が〜」「素質が〜」とか言って叩かれてるやつ全部お前だろ?
お前はプログラマという職業が素質、才能のあるやつにしかできないものだと思っているみたいだが
もはやPGが流れ作業員として溢れている現状を把握できていればそんな高貴なもんじゃないと分からんのかw
そもそも、ここはVB.NET質問スレであって
ここに来ているやつは初心者はもちろんの事、仕事外で趣味でやってるやつもいて当然なんだが
そこを把握できてない点で頭でっかちなお前さんはPG向いてないよ?
チームで組んだことがない孤独PGか、自分の発想しか受け付けないワンマン上司と見たな。
そんなハイクオリティなお前さんには
つ「【才能(笑)】高貴なVB.NET質問スレ【才能(笑)】」
738:デフォルトの名無しさん
07/06/16 17:02:51
>>737
> このスレで「PGとして〜」「仕事として〜」「才能が〜」「素質が〜」とか言って叩かれてるやつ全部お前だろ?
俺も言ってるから、全部同一人物ではないよ。
739:デフォルトの名無しさん
07/06/16 17:05:57
「VB.netの」質問をするレベル以前の質問があるのも事実
740:737
07/06/16 17:12:17
>>738
ちなみに俺も。
741:デフォルトの名無しさん
07/06/16 17:12:21
「VB.netの」回答をするレベル以前の回答があるのも事実
742:デフォルトの名無しさん
07/06/16 18:30:05
>>737
何度言っても分からん馬鹿だね。
初心者であることと叩いてるんじゃないんだよ。
怠惰を叩いてるの。
初心者でも怠惰じゃなきゃ734みたいな質問はしない。
743:デフォルトの名無しさん
07/06/16 18:39:35
>>742
かわいそうな ゆ と り w
744:デフォルトの名無しさん
07/06/16 19:00:10
>>741
低レベルな質問には低レベルな回答で十分
745:デフォルトの名無しさん
07/06/16 19:06:25
VBスレだけは回答者がアホ杉。 C丼スレと比べても明らか。
746:デフォルトの名無しさん
07/06/16 19:08:19
c#スレもここ1年ぐらいはずいぶんレベル低いんだけどな。
747:デフォルトの名無しさん
07/06/16 20:12:18
てかみんなC#もVB.NETも同じように使えるんだろ?
748:デフォルトの名無しさん
07/06/16 21:02:23
同じように使えるがVB上がりは総じてバカなんだお^^
749:デフォルトの名無しさん
07/06/16 21:49:57
VB6しかできません><
750:デフォルトの名無しさん
07/06/17 02:43:45
>>742
怠惰?お前は734の何が分かってるんだ?
分かったから>>737で書いたとおり専用スレにでも行っとけ
751:デフォルトの名無しさん
07/06/17 02:45:45
>>742
あと「何度」って
どれとどれとどれとどれどれと、どれだよ?
752:デフォルトの名無しさん
07/06/17 03:35:48
>>742
そう思えばスルーすればいいじゃないか?
別にここはそういう人間が来ていけない理由もないし
怠惰であろうがなかろうが答えてもいいと思える人間が答えられるならそれでいいじゃないか
753:デフォルトの名無しさん
07/06/17 05:56:12
throw new exception("他でやれ")
754:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/06/17 23:03:16
MSDN の相互運用マーシャリング以下の項目見れ
サンプル付きで解説されてる
756:デフォルトの名無しさん
07/06/17 23:34:39
つうか
chrにString渡してどうする・・・・
Chrで渡せばいいのに・・・・
757:デフォルトの名無しさん
07/06/18 00:12:40
>>756
君も恥かかないうちにその辺で止めといたほうがいいよw
758:デフォルトの名無しさん
07/06/18 00:23:27
>>757
まぁ・・・書き方はともかく理由は分かってそうなイメージだけどな
759:デフォルトの名無しさん
07/06/18 00:41:08
756が分かってるわけないでしょw
値型と参照型の区別もついてないか、あるいはCで>>754みたいな構造体を
作ったときのメモリイメージが理解できてないか、少なくとも何れかではある。
760:デフォルトの名無しさん
07/06/18 09:14:20
>>759
まさか・・・Stringを値型と勘違いしている・・・わけねぇべ
そんなPGいねぇだろ
761:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/06/18 12:24:29
アラインメント(パッキング)も指定した方がいいんじゃない?
まあMSDNライブラリにデフォのパッキングサイズは8Byteって書いてあるのは
間違いっぽいから要らないのかもしれないけど。
あとOut属性も。
763:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/06/18 17:59:04
SQL文中で
ISNULL(対象カラム,'')
ってしておけばいいんでない。
765:デフォルトの名無しさん
07/06/18 19:42:13
やる必要なし
NotNull制約を外した場合を考慮するってことなんだろうけど
そんなこと考え出したら、システムがややこしくなっちまう
心配ならデータ設計見直すべき
766:デフォルトの名無しさん
07/06/18 21:37:34
>>762
適当なこと言うな。
.NET のマーシャリングのデフォルトパッキングは8で間違いないし
この場面ではパッキングサイズは問題にならない。
文字列を DLL に渡したいのに Out 属性つけてどうする。
767:デフォルトの名無しさん
07/06/18 21:47:07
>NET のマーシャリングのデフォルトパッキングは8で間違いないし
いやだからMSDNライブラリにはそう書いてあるけど、実際いろいろ試してみると
どうも4になってるみたいだよ。VB固有かも知れないが。
あと、アラインメントが問題にならない訳がないw
最後の行に関しては確かに>>754はそう言ってるね見落とした。
768:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/06/18 21:55:12
だから「この場面で」問題になるってw
頭おかしいんじゃないの?
770:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/06/18 22:10:02
?
772:754
07/06/18 22:18:26
>>755,761
ありがとう!
解決しますた!
>>762さんが言ってたことについては、
アラインメントについても詳しくは理解できていないので、
メンバを8byte区切りにしたり、ダミー変数使ったりして対応します。
773:デフォルトの名無しさん
07/06/20 11:56:14
検索システムで,検索結果をDataGridに表示しています.(ReadOnly)
ちがう条件を入力したら,現在表示されている行に追加されていきます.
どうしたら,DataGridに表示されている内容をリセットできますか?
DisposeだとDataGridごと消えるし,空データをバインドしても消えないし…
どなたか教えて下さい.
774:デフォルトの名無しさん
07/06/20 12:02:59
Panel コントロールで、ScrollBar の Scrollイベントに合わせて
リアルタイムで追随する移動を行うべくあちこち探してるのですが、
こういうときは、Client領域を移動できるメソッドかプロパティとして
何を使用すればいいでしょうか。
775:デフォルトの名無しさん
07/06/20 12:12:07
Location
776:デフォルトの名無しさん
07/06/20 12:40:29
>>773
ちょっとソース書いてみ
777:デフォルトの名無しさん
07/06/20 12:45:56
一つのプロジェクト内にユーザコントロールを作成して利用していますが、
コントロールを配置したフォームのデザインが修正されると?エラーになり、
デザイン画面が表示されなくなります。
エラーメッセージ
型 'hogehoge.TukuttaControl' が定義されていません。
例:
プロジェクト名:hogehoge
ユーザコントロールクラス名:TukuttaControl
コントロールを配置したフォーム:Form1
とある時に、Form1.Desugner.vbの内容が以下のように勝手に
修正されてしまい、上記のエラーになってしまいます。
○ Me.TukuCon = New TukuttaControl
↓
× Me.TukuCon = New hogehoge.TukuttaControl
どうにか対策は無いでしょうか?
778:777
07/06/20 12:47:40
追記です。
× Me.TukuCon = New hogehoge.TukuttaControl
上記のhogehoge.を消せば、デザイン画面も正常に表示されます。
またTukuttaControlはDllにはなっていません。
よろしくお願いします。
779:デフォルトの名無しさん
07/06/20 12:58:12
>>775
あーっそうでしたか、助かりました!!
回答ありがとうございました!!
780:デフォルトの名無しさん
07/06/20 13:30:11
>>779
と思ったら、これってのはもしかして、Client領域のView範囲を動かす
のではなくて、中のコントロールだとかを自前で動かすということでしたか・・・?
PanelのClient領域のView位置をプログラムで移動するには何を使えば
いいでしょう?
781:デフォルトの名無しさん
07/06/20 14:04:23
>>780
何いってんのかさっぱりわからんが、
Panel内をスクロールさせたいの?
もしかしてPanelにScrollコントロールをわざわざつけてたりする?
AutoScroll = trueにすれば自動で表示されるけど。
あとは
ScrollControlIntoViewとか
VerticalScroll/HorizontalScrollとか
782:デフォルトの名無しさん
07/06/20 14:58:45
>>781
どうもです!!
実はそのAutoScrollですが、確かにScrollBarが出てきてすくロース機能は
あるにはあるのですが、、
そのスクロースバーを掴んでマウスボタンを離すと、Panel内のViewが移るのが
わかります。
しかし、リアルタイムの動作にならず、これを、マウスボタンを掴んだままで
View位置を動かしたいのでした。
マウスのホイールをまわすと確かにリアルで動きますが、スクロールのスピード
が限定されるので、できればバーの動きと同期した移動を行ないたいのです。
SetDisplayRectLocation なども見ていますが、これだとWinProcとか使わないと
いけなさそうでした。できれば手軽に既存のメソッドかプロパティがあればと・・・。
783:デフォルトの名無しさん
07/06/20 23:37:19
ID3v1のタグを読み取りたいのですが
発売の年だけがうまく読み取れません
誰かご教授願えませんでしょうか?
あとエクスプローラーからのドラッグ&ドロップも宜しければお願いします。
784:デフォルトの名無しさん
07/06/20 23:46:29
それだけ言われてもそうか大変だなとしか言いようがねぇ
D&D なんて検索すりゃいくらでも出てくるだろ
785:デフォルトの名無しさん
07/06/21 00:10:21
昔VB6で作ったプログラムを、プロジェクト変換機能を使ってVisualStudio2005に
読み込ませてコンパイルしてみたら、.Netframework必須のアプリが
できあがってしまいました。
VB6で作ったプログラムをVisualStudio2005でコンパイルして
.Netframework不要のアプリを生成することはできないでしょうか。
.Netの機能を使いたいわけではなく、コンパイルしたいだけなのですが
なんとかならないでしょうか。
786:デフォルトの名無しさん
07/06/21 00:14:27
なりません。
はい次。
787:デフォルトの名無しさん
07/06/21 00:22:00
>>785
いかんともしがたい
788:デフォルトの名無しさん
07/06/21 00:51:06
>>782
オレの環境では、Panelにボタンを置いてスクロールさせるとリアルで追従するけど?
789:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/06/21 01:02:32
いきなり打ち間違えてるし。。。
Disposeパターンです。
791:デフォルトの名無しさん
07/06/21 01:03:15
disposingに関わらず解放
792:デフォルトの名無しさん
07/06/21 01:04:48
IntPtr 以外は全部マネージドと考えてもいいよ。
つかその辺は保持するな、必要な時に作ってすぐ捨てろ。
793:デフォルトの名無しさん
07/06/21 01:06:42
いや、コストを考えるとキャッシュしておきたい場合もあるだろハゲ
794:デフォルトの名無しさん
07/06/21 01:06:51
ん?
791と792と回答が違うけど、どっちが正解?
795:デフォルトの名無しさん
07/06/21 01:09:39
792。
自分が持っている参照型のフィールドはファイナライザのタイミングでは手を出しちゃダメ。
796:デフォルトの名無しさん
07/06/21 01:10:14
ファイナライザ?
797:デフォルトの名無しさん
07/06/21 01:10:56
サンキュー
イマイチ、この辺の具体例を書いてあるサンプルが見つからなくて困ってた。
勉強になったよ。
798:デフォルトの名無しさん
07/06/21 01:24:05
また羊がひとつ屠られた
799:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/06/21 05:35:37
new って英単語の意味は知ってる?
801:デフォルトの名無しさん
07/06/21 09:24:27
>>799
DataGridView.DataSource
つかえこのカス野郎!
802:デフォルトの名無しさん
07/06/21 09:48:20
VB2005について質問です
SPREADで列数18、幅25の表を作ったら動作が重かったんですが、軽くする方法ありませんか?
803:デフォルトの名無しさん
07/06/21 09:55:58
>>802
グレープシティーに聞けばいいと思うよ
804:デフォルトの名無しさん
07/06/21 10:08:52
>>802
しかもおまえマルチかよ・・・・
ほんと頭悪いから出て行けよw
なにをどうとかなら判るが これだけの情報でどうやって動作軽くしろとかいうんだ
アフォらしいの通り越して、お前みたいな奴がソフト作るのホントやめてほしい
//--------------------------------------------------------
Visual Basic2005やりたいんだけどアドバイス頼む
スレリンク(tech板:67番)
67 名前:デフォルトの名無しさん[] 投稿日:2007/06/21(木) 09:25:40
初心者な質問スマソ
SPREADで行列100 X 18、列幅25の表つくったんだけど、
処理(スクロールや行選択)が重いんだけど軽く出来ませんかね?
805:デフォルトの名無しさん
07/06/21 12:01:29
メールアドレスを正規表現で抽出する場合どのように記述すればいいのでしょうか?
806:デフォルトの名無しさん
07/06/21 12:05:32
>>805
スレ (´∀`( ´∀`) チガイ
807:デフォルトの名無しさん
07/06/21 12:27:59
>>805
ググれよ
808:デフォルトの名無しさん
07/06/21 12:40:18
散々ググったんですがどうもいまいちわからないんですよ。
冷たいこと言わないで教えてくださいよ。
809:デフォルトの名無しさん
07/06/21 12:44:16
メールアドレスに一致する正規表現は「ありません」
とぐぐった一発目にあるが?
810:デフォルトの名無しさん
07/06/21 12:51:04
あ(笑)。もしかしてほんとは皆さん知らないんじゃ無いんですか?
811:デフォルトの名無しさん
07/06/21 13:09:25
>>788
どうもです!!
自分はWindows2000+VS2005Proの環境を使ってまして
そこではスクロールバーの動きに追従しませんでした。
環境差による可能性がありそうなので、これから別PCの
WinXp環境に移して試してみます。助かります!!
812:799
07/06/21 13:59:53
>>800
と言うことは、Newでクラス参照すると全く新規で作られるということでしょうか?
既存のDataTableを参照するにはどうすればよいのでしょう?
>>801
調べてみましたが、使い方がわかりませんでした。すみません。
813:デフォルトの名無しさん
07/06/21 14:08:28
だから
調べてみましたが、使い方がわかりませんでした
じゃわかんねぇYO!
どこがどうわからんのか言えよ
使う気ないのかしらんが
あと既存のDataTableを参照するには
と書いてあるということはDataTableをDataGridViewにバインドさせて使ってるんだよな?
つまりDataGridViewはその元のDataTableをDataSourceとして持ってるわけだ
814:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/06/21 15:34:06
>>808
うぜえな
URLリンク(www.google.com)
3つめにあるじゃねえか。
816:デフォルトの名無しさん
07/06/21 15:36:45
>>815
みんなスルーしてたのにお前の優しさに>>808が泣いた
817:デフォルトの名無しさん
07/06/21 18:56:25
知ってたら教えてー。
VS2005(VB.NETもC#)のIDEで、タブ付きドキュメントにしてソースを
開いていくと、タブが左側に追加されていくのを、右側に追加して
いくように変更できないのかな?
818:デフォルトの名無しさん
07/06/21 19:02:29
>>788
WinXp環境に移して試してみましたところ、この環境ではScrollBarの
動きに追随してリアルタイムでViewが動くのを確認しました。
これは環境的な理由があるようにも思いましたので、
ひとまず現状のままにしておきます。
情報ありがとうございました!!!
819:デフォルトの名無しさん
07/06/21 20:19:49
URLリンク(hp.vector.co.jp) を組み込みました。
実行ファイルをダブルクリックで実行、ショートカットからの実行では問題ないのですが、
ファイルにこのアプリケーションを関連付けしてファイルから実行すると、
エラーで落ちてしまいます(エラーの詳細はわからず)。
おそらくDLLの場所がわからず、読み込めないため落ちてると思うのですが、
レジストリの関連付けで、作業フォルダの指定もできないみたいです。
どうすればいいのでしょうか。。
820:デフォルトの名無しさん
07/06/21 21:05:30
VBにはJavaのThrowsのような
関数に例外をスルーさせる方法はありますか?
821:デフォルトの名無しさん
07/06/21 21:06:51
あります。
822:デフォルトの名無しさん
07/06/21 21:09:55
ググッてみてもJavaとは例外処理の概念が違うから
ウンヌンカンヌンで例外のエスカレーションは
できないのです。みたいな事書かれていたので
できたら、やり方教えてもらえないでしょうか
キーワードだけでも結構です。
823:819
07/06/21 22:19:21
やり方がわからなかったので、自前でマウスジェスチャくみますた。。
824:デフォルトの名無しさん
07/06/21 22:24:21
例外はほっときゃ勝手に呼び出し元に伝播する
825:デフォルトの名無しさん
07/06/22 00:03:32
互換機能のOn Error Goto は使わないようにね
826:819
07/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:デフォルトの名無しさん
07/06/22 01:51:25
>>826
なんだ例外のエスカレーションとかいうレベルの話じゃなかった
828:デフォルトの名無しさん
07/06/22 02:11:58
>>819
たぶんdllとはなんの関係もないウンコなミスとエスパーするがどうか。
829:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/06/24 06:16:44
誰か似たようなことを経験していたら教えてほしいのですが、、
あるコントロール上をマウスが通ると、MouseMoveイベントが普通立つと思う。
しかし、何かある操作をしてから、同様にしても、今度は全然 MouseMove
~~~~~~~~~~~~
イベント自体が立ってくれなくなる。それで仕方なく、別のアプリケーションの
ウインドウをクリックしてFocusを移してから、再度元のアプリケーションに
戻って同様にしてみると、今度は MouseMoveイベントが立ってくれる、
とちょっと変な現象なんですが、こういうことってあり得るでしょうか?
831:デフォルトの名無しさん
07/06/24 06:37:21
>>830
この場合、「何かある操作」 というのは、そのコントロールの置いてある Panel
の右クリックで ContextMenuStrip を表示して、その際、そのメニューのどれも
クリックせずに、また Panel 上のどこかをクリックして ContextMenuStrip を
Close する、というだけの操作なんですが、これをすると、それまで立ってくれてた
その Panel 上のコントロールで MouseMove イベントが立たなくなるのでした。
832:デフォルトの名無しさん
07/06/24 07:03:19
一切自分では調べてないだろ
URLリンク(www.google.com)
833:デフォルトの名無しさん
07/06/24 11:59:27
>>831
メニューのClosedイベントで
System.Windows.Forms.ToolStripManager+ModalMenuFilter.ExitMenuMode()
を呼ぶと直る。
リフレクション使わないといけないけど。
834:デフォルトの名無しさん
07/06/24 13:42:03
>>832
ありがとうございます。
これ一応 BUG だったんですね・・・う〜ん。
>>833
どうもです、助かります。
>System.Windows.Forms.ToolStripManager+ModalMenuFilter.ExitMenuMode()
この方法、調べて使ってみます。
>リフレクション使わないといけないけど
これについても具体的にはどうすればいいかまだわかりませんが、また調べてみます。
それでもわからない場合また質問するかと思いますが、
またよろしくお願いします。
835:デフォルトの名無しさん
07/06/24 15:54:43
>>833
すみません、この ModalMenuFilter というのは、ヘルプで検索しても
検索結果 0 で情報が出てきませんでした。
ググってみましたが、ただ一件
URLリンク(www.google.com)
があるだけでしたが、これって何かのクラスなのでしょうか。このページ開いても
該当箇所は見られませんでした・・・う〜ん困りました。。。
よろしければご指導の続きを戴ければありがたいです。すみません・・・。
836:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/06/24 18:56:16
ContextMenuStrip の中のどれかをクリックして実行すると(それが空の関数であっても)
問題は起こらないため、一つ考えられるのは、 ContextMenuStrip の Closing
イベントでそれを強引に実行してやればどうだろう、とも思ったのですが、この
強引にコードから ContextMenuStrip の中のどれかに Click イベントを起こすためには
どうすればいいでしょう、これについて知りたいです。
よろしくお願いします。
838:デフォルトの名無しさん
07/06/24 18:58:05
>>836
おお、どうもです!!かぶってすみませんでした。
こういう方法あるんですね、ありがとうございます。
助かります。やってみます!!
839:838
07/06/24 20:53:38
>>836
素晴らしいです、みごとに一発で解決しました。
一時は本当にどうしたものかと悩みました、でもこれで助かりました。
>internalなクラスだから説明はどこにもない
やっぱり一般人には知りえない内容なのでしょうか、
もしかしてMSの人じゃないとわからない、とかでしょうか・・・
でも本当に助かりました、ありがとうございました!!
840:デフォルトの名無しさん
07/06/24 21:25:37
Reflectorだろ
841:デフォルトの名無しさん
07/06/24 23:42:37
vbというよりもフォームの質問なのかもしれませんが、
初心者スレが見つからないのでここで質問させていただきます。
グループボックスの中にラジオボタンがいくつかと、ラベルをひとつ配置します。
そのラベルの中にラジオボタンをいくつか配置した上で、
ラベルの外(グループボックスの中)のラジオボタンとラベルの中のラジオボタンを
同じグループとして扱いたいのですが、どのように設定したらよいのでしょうか?
お分かりの方がいらっしゃいましたら御教示お願いいたします。
842:デフォルトの名無しさん
07/06/24 23:44:29
そんな変態行為は .NET では認められません
843:デフォルトの名無しさん
07/06/24 23:45:37
おぁー!変体行為だったんですか。
それは困りました。どうしましょう?
844:デフォルトの名無しさん
07/06/24 23:46:36
さぁ。
845:デフォルトの名無しさん
07/06/25 00:17:59
>>841
ラベルはコンテナコントロールじゃないよ。
言ってる意味わかる?
まあ、「初心者スレが見つからないので」とか言ってるが
質問なんかせめて初心者本の数冊も読破してからにしてくれよ。
846:デフォルトの名無しさん
07/06/25 00:18:41
こういうのっておおっぴらに使うか悩んだりしない?
まあ、ネット上で見つけた情報を利用したって立場をとるんだがw
847:826
07/06/25 00:19:44
>829
遅くなって申し訳ない、ありがとうございます。
848:デフォルトの名無しさん
07/06/25 02:40:29
>>846
「こういうの」ってのが何を指してるのかさっぱり。
849:デフォルトの名無しさん
07/06/25 07:24:33
>>839
850:デフォルトの名無しさん
07/06/25 11:33:11
>>841
ユーザコントロール作れ
851:デフォルトの名無しさん
07/06/25 14:55:01
誰か助けてくたざい。
VB2005で、プログラムが完成して、動作を確認できました。
そこまではよかったのですが、実行ファイルを共有フォルダー(サーバーに)
において、実行すると、どうしても実行できません。実行できたとしてもまともに動作しません。
これの解決策だれか知りませんか?
852:デフォルトの名無しさん
07/06/25 14:58:26
ヒント:カレントディレクトリ
853:デフォルトの名無しさん
07/06/25 15:04:38
サーバに実行ファイルがおいてあるんだろ?
普通は実行できないだろ.
MSDNに書いてある.
854:デフォルトの名無しさん
07/06/25 15:06:36
>853
それを実行する方法を知りたいのです。
855:デフォルトの名無しさん
07/06/25 15:26:09
素人にはおすすめしないがポリシーをいじる。
コントロールパネルの管理ツールの
.NET Framework 2.0 Configuration ランタイムセキュリティポリシー
(他をいじってなければ)コンピュータのコードグループのAll_Codeの下に
新規作成の条件の種類を選択するでURL:\\サーバー名\共有名\*
アクセス許可セットFullTrust
インストーラを作るかClickOnceを使うかかサーバーからローカルにコピーさせるかをすすめる。
856:デフォルトの名無しさん
07/06/25 16:12:33
むしろこれはVB.NETの問題ではないな・・・
つうか、あれか・・・クリックワンスのまえのやつやりたいのか?
名前忘れたけど
857:デフォルトの名無しさん
07/06/25 17:23:03
ノータッチ デプロイメント?
858:デフォルトの名無しさん
07/06/25 17:39:38
気持ちは良く分かる。
正直セキュリティが云々言われても無駄に面倒くさい。
ちょちょっとしたものを作って共有しようとしても
インストーラやらClickOnesやら、、、。
ちょっと話がずれるが必要なDLLとかは、実行ファイルへ含めるもしくはフォルダ等へ
指定できたら良いのに。
この時代に容量削減も糞も無いだろう。
実行ファイル1Gとか上等じゃねーか。
859:デフォルトの名無しさん
07/06/25 22:59:56
質問です。
いまFramework1.1で勉強中なのですが
1.1のNotifyIconはバルーン?が表示できなかったので
いろいろ調べて
URLリンク(supware.net)
に辿りつきました。
このクラスを使うとバルーンは表示できるのですが、
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
860:859
07/06/26 20:49:34
なんか俺の質問でスレが過疎ったみたいで・・・・(´・ω・`)
調べたらTrackPopupMenuExがうまく動作してなかったみたいなんで
試行錯誤してNotifyIconExのTrackPopupMenuExを修正して
ContextMenuがでるようになりました
はっきりと原因した原因はいまだ不明ですが
とりあえずしゅっくり勉強したいと思います。
861:デフォルトの名無しさん
07/06/26 21:47:38
>>859
>Framework1.1で
今古いランタイム使う意味は何でしょう?
行きがかり上のしがらみ?それとも以前のもののバージョンアップ
でしょうか?もし新規アプリなら2.0以上でやるべきではないでしょうか?
862:デフォルトの名無しさん
07/06/26 21:59:18
それは大きなお世話だと思うぞ。
863:デフォルトの名無しさん
07/06/27 10:37:28
>>859-860
コマンドプロンプトでコンパイルしている人間がここにはいないんだろう。
864:デフォルトの名無しさん
07/06/27 13:17:50
>>861
おまえ某MVP臭いぞ
仕事してたらわかるだろ? 仕方ないときもあるんだし
865:デフォルトの名無しさん
07/06/27 16:04:39
でも>>859の場合は多分勉強だよ?
VB.NET Expressでいいやん
866:デフォルトの名無しさん
07/06/27 20:17:35
ちょっと安めおまいら。これでも見ろ。知らない人間は えーーーーっと驚くこと請け合いだぜ。
「911」の真実とはダイジェスト版 ? 日本語と英語 ? .movフォーマット ? 31分 - 23MB
URLリンク(www.harmonicslife.net)
「動画をダウンロード」 をクリックすると、動画が始まるまでに20分ぐらい待つと
自動開始する。
30分ぐらい待ってもよければこっちも見る。こっちは詳細バージョンだから、上のを見て
興味もったらぜひ見てみれ。
『911の嘘をくずせ ルース・チェンジ・セカンド・エディション』 日本語版 - ウェッブ・バージョン ? .mov フォーマット ? 83分 - 83MB
URLリンク(www.harmonicslife.net)
要するに俺らはこういう戦争に加担しちまった。おれも当時は小泉に賛成しちまって
ネットで賛成派に回っちまったよ。だが悪いことだった、北朝鮮のミサイルが来るって
ことでアメリカとは同盟するしかないって信じ込んでた。しかしこれを見れば、
ちょっと待て日本はこれでええのか?と疑問になるはず。
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5095日前に更新/282 KB
担当:undef