VB.NET質問スレ (Part5)

このエントリーをはてなブックマークに追加
VB.net初心者〜VB.net神
まで自由に書き込んでチョ。

過去スレ
VB.NET質問スレ (Part4)
http://pc2.2ch.net/test/read.cgi/tech/1065269043/
【老若】VB.net質問スレ【男女】 (Part3)
http://pc2.2ch.net/test/read.cgi/tech/1056281084/
【老若】VB.net質問スレ【男女】 (Part2)
http://pc2.2ch.net/tech/kako/1043/10436/1043629429.html
【老若】VB.net質問スレ【男女】
http://pc2.2ch.net/tech/kako/1025/10258/1025848458.html

テンプレ >>2-10 あたり
どぼん!のVB道のトップページとTipsページ
http://dobon.net/vb/
http://dobon.net/vb/dotnet/index.html
Microsoftクイック スタート チュートリアル
http://ja.gotdotnet.com/quickstart/default.aspx
リソースセンター> .NET関連リンク
http://www.atmarkit.co.jp/fwin2k/rescenter/indexpage/net.html
Insider.NET
http://www.atmarkit.co.jp/fdotnet/index.html
@IT: 連載 VB.NETプログラミング
http://www.atmarkit.co.jp/fdotnet/vb6tonet/index/index.html
@IT:連載 改訂版 C#入門
http://www.atmarkit.co.jp/fdotnet/csharp_abc2/index/index.html
C#プログラミングTips
http://www.atmarkit.co.jp/fdotnet/csharptips/index/csharptips_index.html
3デフォルトの名無しさん:04/03/01 18:53
宇宙仮面の C# プログラミング / C# Programming
http://ukamen.hp.infoseek.co.jp/
VB.NETとC#でデザインパターン
http://hccweb1.bai.ne.jp/tsune-1/
ConvertCSharp2VB
http://www.kamalpatel.net/ConvertCSharp2VB.aspx
WisdomSoft 〜Developers Network〜
http://black.sakura.ne.jp/~third/
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
ソース置き場.NET
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1003826049
Cetus Links: 19,498 Links on Objects and Components / .NET
http://www.cetus-links.org/oo_dotnet.html
関連スレ
VisualStudio.NET(MSDN Deluxe) Part12
http://pc2.2ch.net/test/read.cgi/tech/1071070472/
ふらっとC♯(Part5)
http://pc2.2ch.net/test/read.cgi/tech/1065196964/
C♯相談室 Part14
http://pc2.2ch.net/test/read.cgi/tech/1076933504/
managed C++ やろうぜ!!
http://pc2.2ch.net/test/read.cgi/tech/1014486422/
フリーの.NET統合開発環境「SharpDevelop」
http://pc2.2ch.net/test/read.cgi/tech/1023727377/
消しゴムじゃない方のMONOを使ってみるスレ
http://pc2.2ch.net/test/read.cgi/tech/1020215602/
♯♯♯Shared Source CLI ♯♯♯
http://pc2.2ch.net/test/read.cgi/tech/1024222901/
VBプログラマ質問スレ(6.0以前) Part32
http://pc2.2ch.net/test/read.cgi/tech/1077216109/
>>1000
>>1
ナイスタイミングGJ
7最凶VB厨房:04/03/01 19:00
8最凶VB厨房:04/03/01 19:06
.NET Framework のランタイム テクノロジに関するパフォーマンス上の注意事項
http://www.microsoft.com/japan/msdn/net/general/dotnetperftechs.asp

Microsoft .NET Framework の Windows フォームを使用したペインティング テクニック
http://www.gotdotnet.com/japan/team/windowsforms/windowsformspainting.aspx

ガベージコレクション入門: Microsoft .NET Framework の自動メモリ管理 Part I
http://www.microsoft.com/japan/msdn/net/mag00/GCI.asp

C# プログラミング言語の将来の機能
http://www.microsoft.com/japan/msdn/vs/vcsharp/vbconCProgrammingLanguageFutureFeatures.asp

適当に選んだ資料。
9最凶VB厨房:04/03/01 19:11
10デフォルトの名無しさん:04/03/01 19:14
ある時間になるとイベントが発生するようにしたいのですが
コードの書き方がわかりませんのでよろしくおねがいします。

(12:00:00になるとピクチャーボックスが有効になるとか。)
11最凶VB厨房:04/03/01 19:32
前スレ>>991
1,http://pc.2ch.net/tech/kako/1016/10165/1016597767.htmlの>>25
2.その質問はVB.NETのコードを書いたことがないように思えるのだが。
3.MessageBoxクラスを使っているから。
IDEでは参照設定の部分。
MSDNリファレンスのSystem.Windows.Forms名前空間を見よう。
4.肝心な質問なのだがわからん。
前スレの>>983-984氏ならわかるだろう。
12前スレ991:04/03/01 21:43
前スレからやってきてしまいました991です。

>1
グッジョブ( ´_ゝ`)b

>>11

1.サンクス 早速このレスの後逝ってみる。
2.普段、VBソース内で記述したことがなかったので、今回の
 コンパイルに伴って必要となったのかと思いました。
 (フォームのInherit句にいつもデフォルトで入っているのは知っています)
3.わかりました。MSDNのSystem.Windows.Forms名前空間を見てみます。
4.なるほど。もう一度、質問を書き込みなおしてみます。ありがとう。

ご登場ありがとうございました。
1312:04/03/01 21:49
ということで、新スレ早速ですが
また前回の質問をさせていただきます。

どなたか、外部アプリにアタッチさせたwin32リソースを
"res://〜"形式で(HD上のパスを指定するような形で)
アクセスする方法を知っている方がいらっしゃったら
是非ご教授下さい。

具体的には、このwin32リソースをアタッチさせた.exeについて、
1.ソリューションへ .RESファイルも取り込まないといけないのか、.exeだけでよいのか
2.ソリューション内の同じプロジェクトに取り込むのか、それともソリューション項目として取り込むのか
3.プロパティは埋め込まれたリソースなのか、ただのコンテンツなのか、
等わからず困っております。
14名無しさん♯:04/03/03 08:53
15デフォルトの名無しさん:04/03/04 08:51
VB.NETのProffesionalとStandardって、
VB6.0のときなみに機能差がありますか?
>15
機能差があるから名称が違うんだとオモワレ
恐らく機能差を書いて欲しいんだと思うけど
自分で調べれ

以上
>>15
VisualStudio.NETと間違えてないか?
18デフォルトの名無しさん:04/03/04 22:06

就職の関係でVB.NETをやろうかと
考えているのですが、VB.NETって
現行バージョンで打ち止めなんでしょうか?

釣り警報
20デフォルトの名無しさん:04/03/04 23:59
だれか>10を教えて下さい。
21デフォルトの名無しさん:04/03/05 00:52
VB6からBitBlt使って描画するのと、VB.NETでGDI+でDrawImage使って描画するのは、
やっぱりBitBltの方が速いのでしょうか?

関係ないけど、Timerから呼び出したプロシージャでDrawImageして
BitmapオブジェクトのDisposeせずに動かしてたら、15MB〜最高400MBくらいメモリ消費
のループだった(w。Disposeしたら15MB辺りで変動しなかった。明示的にDisposeしないと
パフォーマンス的には駄目なんだと素人らしく感心した。


>>18
あー、そうそう。
打ち止め打ち止め。
無駄だからしないほうがいいよ。
23デフォルトの名無しさん:04/03/05 01:22
>>10
これも釣りか?
タイマ使って例えば1秒ごとに時刻をチェックして、
「ある時刻」になったらイベントを起こすコード書くだけだと思うが。

もっとエレガントに同じことしていってこと?
24デフォルトの名無しさん:04/03/05 02:36
>>23
そのコードをどう書けばいいのかわからないのですよ・・・
>24
Timerコントロールを置いてチックタック・・・
timerのチックタック・・・イベントで時間を判断すれ.....~□~

>>18
赤玉が出てないから大丈夫
打ち止めになる場合は赤玉が出るからね
27デフォルトの名無しさん:04/03/05 19:04
>>22
打ち止めって要はJavaみたく仕様変更しないんだろうなってことじゃないの?

ところでさ、仕事でVB使うことになっちまったよ
.NETもまだろくに使えないのにー(w
なんか最近うちの会社に来るのVBが多いんだよな
VBなんてもう打ち止めって思ってたのになぁ
まだVB使ってるとこって多いの?
テキストボックスに入れられたURLの一部と、
元から決められたURLの一部を連結させて
ブラウザでアクセスさせたいのですが、変数の宣言がうまくいきません。
Dim a As Integer
Dim b As Integer
Dim c As Integer
Dim d As Integer
Dim f As Integer
Dim g As Integer
Dim h As Integer
Dim WshShell
WshShell = CreateObject("wscript.Shell")
a = txt1.Text
b = "元から指定してるURLの一部"
c = txt2.Text
d = "元から指定してr(ry"
f = txt3.Text
g = "元から指定しt(ry"
h = txt4.Text
WshShell.Run(a + b + c + d + f + g + h)
汚くて見難いですが、こういう言う感じにしたのですが

'System.InvalidCastException' のハンドルされていない例外が microsoft.visualbasic.dll で発生しました。
追加情報 : 文字列 "(txt1.Textの中身)" から型 'Integer' へのキャストが有効ではありません。

って出ます。これは変数の宣言の仕方が悪いんでしょうか?
>>28
URLは文字列扱いでよかろうに、なんでInt型で宣言するの?
あと、結合は「+」じゃなくて「&」のほうがいくないかな。
>>29
URLは普通に書くと「.(カンマ)もしくは')'が必要な・・・」
って出て意味不明だったんで宣言してみました。

+じゃなくて&でやってみます。。
>>29
IntegerをStringにして、+を&にしたら出来ました!
ありがとうございます!

動かない原因はなんだったんだろう('A`)
追加情報にもあるように、数値型の変数に文字型の値を代入しようとし
たからだと思う。VB6.0だったら「型が違います」って言われたかも。
>>32
なるほど、そういうことですか。わかりますた
34デフォルトの名無しさん:04/03/06 21:55

VBって複数行のコメントアウトって
できないんですかね?

'
これで1行ずつコメントアウトするしかない?
>34
複数行選択して
1.ツールバーのコメントアウトボタン押す
2.[ コントロール + K ] --> [ コントロール + C ]
>>35
どもども。
これは便利だ。
37デフォルトの名無しさん:04/03/06 23:39
Do
line = StreamReader.ReadLine()
TextBox1.Text &= line
TextBox1.Text &= Chr(13) & Chr(10)

Loop Until line = Nothing

こういうループでテキストファイルから1行ずつ
読み込んでTextデータを作成しようと思ったの
ですが、リターン記号のみの行でも ReadLine() で
Nothing が戻るみたいです。

ReadLine() で EOF まで来たことを調べる方法は
ないでしょうか?
>>37
ReadToEnd は分かるんですが、ReadLineでも
成功させたいので、アドバイスおながいします。
質問???
以下の2つだとどっちが速いですか

hoge = Words()
-----------------------------
public function Words() as string
dim str as string
for i as integer = 1 to 100
str += "ABCD"
next
return str
end sub
===========================================
dim str as string
hoge = Words(str)
-----------------------------
public sub Words(byref str as string)
for i as integer = 1 to 100
str += "ABCD"
next
end sub
クラスを配列で宣言するにはどの様な方法をとれば良いでしょうか?
お知恵をお貸しください。

Public Class clsFamily
Public aParsons(4) As clsParson <---!!ココ
Public aDogs(2) As clsDog <---!!ココ
End Class

Public Class clsParson
Private intID As Integer
Private intName As Integer
Private intAge As Integer
End Class
Public Class clsDog
Private intID As Integer
Private intName As Integer
Private intAge As Integer
End Class
そこまで書いたんなら自分で試せよ

>>39
>41
いやちょっと思っただけよ、どっちかなって
おっと忘れてた・・・
>37
dim sr as new StreamReader
do until sr.Peek = -1
textBox1.text += sr.ReadLine
loop

コレでいけるポ (スペルPeekだっけ・・・(汗 Peak? Peec ?
4544:04/03/07 02:27
お!!
>>textBox1.text += sr.ReadLine
これじゃ駄目ね・・
textBox1.text += sr.ReadLine & vbnewline

何気に自分しか居ない雰囲気・・・^^;
誰か40を教えておくなはれ、今日は寝れそうに無いかも
46最凶VB厨房:04/03/07 02:32
()なしは置いといて・・・
+=ってコンパイル通るのけ?
47最凶VB厨房:04/03/07 02:51
>>40
それでできてるよ。
と素っ気無く言うことも可能な質問だな。
しかもprivateメンバだけしかないし。。
でついでに。Parsonって何よ?牧師という意味のようだが。。
Personじゃないの?
Imports System
public class a
shared sub main()
dim cf as new clsFamily()
Console.WriteLine(cf.aParsons(3).hoge)
end sub
end class
Public Class clsFamily
Public aParsons(4) As clsParson '<---!!ココ
Public aDogs(2) As clsDog '<---!!ココ
sub new()
dim i as integer
for i=0 to me.aParsons.length-1
aParsons(i)=new clsparson()
next
end sub
End Class

48最凶VB厨房:04/03/07 02:51
Public Class clsParson
public hoge as integer=1
Private intID As Integer
Private intName As Integer
Private intAge As Integer
End Class
Public Class clsDog
Private intID As Integer
Private intName As Integer
Private intAge As Integer
End Class
4939.40.43.44.45:04/03/07 03:07
おー一人じゃなかった^^

>46
通るみたいです。.NETからの機能で
hoge = hoge & aaa
の略らすぃ〜

>47
どうも〜
>>Parsonって何よ?牧師という意味のようだが。。Personじゃないの?
あら恥ずかしい・・・適当に例を例えらたら。お察しの通り「人」の意味です(牧師も人ですが(汁)

今更ですが調べた結果できました。どうも
Public aDogs(2) As new clsDog
とは直接宣言できないと明確に書いてあったHPが在ったので
記憶の墨にあったコンストラクタという単語を調べたら以下のようになりました。
 Public Sub New()
   For i As Integer = 0 To
     aParsons(i) = New clsParsonい
   Next
   For i As Integer = 0 To 14
     aDogs(i) = New clsDog
   Next
 End Sub
どうやら47さんと同様のことらしいですね。遅くなりましたがリプライありがとうございます。

50最凶VB厨房:04/03/07 03:32
Public aDogs(2) As new clsDogとは書けないが、
Public aDogs() As clsDog={new clsdog(),new clsdog(),new clsdog()}
てな感じに書くこともできる。

+=が文字列連結できるのは知らんかった。
>50
配列が少ない場合使えそうですね^^
ちょっと覚えときま〜す。
どとねは死ねよ。
入門書くらい買えよ。
どんな本でも載ってる。
54デフォルトの名無しさん:04/03/07 10:15

System.Windows.Forms.TextBox がデフォルトで
物足りないので派生して独自のWndProcを追加
したいと思っているのですが、派生クラス(フォーム?)
の作成はどうやったらいいのでしょうか?

「新しい項目の追加」だと作成中のフォームの
派生クラスは作れるようなのですが、既成の
コントロールの派生コントロールの作り方
が分かりません。
55830:04/03/07 10:26
ファイルストリームを作るときに、パスを渡すんですが、
string内の
"/"を"¥"と認識させない方法
を、教えてください。
56デフォルトの名無しさん:04/03/07 13:45
>>44
どもども。 peek を使えばいいんですね。

Dim StreamReader As _
New System.IO.StreamReader(OpenFileDialog1.FileName, System.Text.Encoding.Default)

Dim line As String

Do
line = StreamReader.ReadLine()
line &= vbCrLf
TextBox1.Text &= line
Loop Until StreamReader.Peek() = -1

これでイケますた。
5744:04/03/07 15:21
>56
lineって変数を一度通すならコッチの方が良いのでは?多少早くなるよ。
まぁ数百行のテキストなら今のご時世大して変わらんけどね

Do
line &= StreamReader.ReadLine()
line &= vbCrLf
Loop Until StreamReader.Peek() = -1

TextBox1.Text = line
58デフォルトの名無しさん:04/03/07 17:14
webclientクラスはhomeedditionでは使えないのでしょうか?
すいません。できました。
60デフォルトの名無しさん:04/03/07 21:33

メニューの「終了」が押されたときのハンドラは
デザインからダブルクリックで作成できたのですが、
右上のシステムの終了アイコンをハンドルするには
どうしたらいいのでしょうか?


>60
Form1のコードビュー上部にあるやつから

Form1のイベント --> Closing

きっこんなんだった
62デフォルトの名無しさん:04/03/07 23:27
>>61
サンクス! できますた。

63Vv:04/03/08 05:38

イべントがあるクラスを配列にできないんだけど



なにか代替案ない??
64名無しさん♯:04/03/08 09:04
言語仕様書出たよ〜。ヽ(´ー`)ノ

http://www.amazon.co.jp/exec/obidos/ASIN/0321169514/250-2700113-6634648
質問です!

DataGridでテーブルを表示させるときに
内側の罫線の太さを設定する方法ってあるんでしょうか?
外の枠線はBorder...で指定できると思うんですが。

教えてください!!
66デフォルトの名無しさん:04/03/08 12:05

VS.NETを機にVBもやりはじめたんですが、
VBの関数の追加ってIDEからはできないんでしょうか?

VCの場合はクラスを右クリックして「追加」で関数を変数の
追加ができるようですが、VBではソースに手書きなんで
しょうか? それとも独自の関数は追加しないのが
VB流とかあるんかな?

>>66
手で直接書いてるよ。
VC++だとヘッダとソースの両方に書いてくれるから便利だけど、
VBだとあまり意味ないんじゃないかい?
>>67
なるほど。そういえばそうですね。
どもです。
物凄く初心者な質問で申し訳ないのですが、自分で調べたところどうしても答えを出せなかったため質問させてください。

VB.netのWebフォームでテキストボックスにデータベースの項目を表示し、それを編集して更新するアプリケーションを作っています。
その際に「次へ」ボタンクリックでデータベースの次のレコードを表示させるようにしたいのですが

C#.netで

BindingContext[データセット名, "テーブル名"].position += 1

と表記すれば同様の動作をしてくれるのですが、VB.netではBindingContextがMe.で探しても引っかからず、手打ちで動かしてみてもエラーになってしまいました。
Tipsサイト等では普通に Me.BindingContextを使用している用なのですが。

何かご指摘の点がありましたらアドバイスお願いします。
DataSet.Tables(0).DefaultView.RowFilter() = "E-mail = 'aaa'"

ってしてDataGridの絞込みをしようとしてるのですけど
[E]っていう列はありませんっていわれてエラー。
ハイフンを外して Email にしたら動いたのですけど
E-mailのままじゃ動かないでしょうか?
ハイフンをエスケープしないとだめでしょうか??
71ーー:04/03/09 02:18

だれかアホなオレにデリゲートの必要性を教えてplease
72デフォルトの名無しさん:04/03/09 17:48
デリケートな部分をデリゲート
7371:04/03/09 19:55

オモロイけどさ、
そのデリケートな部分がわからんのさ・・・
要は関数ポインタ。じゃないんだっけ?
7670:04/03/10 14:58
>>75
サンクス!!
ヘルプ読むの下手くそな漏れ。。
>>71
とりあえず俺にデリゲートしとけ。あとて本当に必要なときに教えてやる。
del・e・gate〈動〉

1 を代表として派遣するto..へ;
[文型5](delegate A to do) A (人)を代表に任命して..させる.
We delegated him to attend the conference.我々はその会議に代表
として彼を出席させた.

2〔権限など〕を委任するto..に.

<ニューセンチュリー英和辞典より>
動的にラベルをたくさん作ることになったので
ArrayListに格納させようとしました。
すると、オブジェクトインスタンスが・・といういつものエラーで格納できません。
そうすると、後で、作ったラベルを削除したくなった時、どうすればいいんでしょう。
(パネルコントロールに追加しているので、ただ単にパネルコントロールから削除すればいいの?)
(デリゲードじゃないけど、メモリにいっぱい残ってしまわない?)
>79
>>オブジェクトインスタンスが・・といういつものエラー
このあたりからオブジェクト指向を理解してないと見受けられる

動的にラベルを作るのではなくて、ラベルを作っておいて表示・非表示を
切り替える方がいいとおもわれ。
>>80
そうですね^^
>>71
いろんなクラスで処理したときのメッセージを
FormのStatusBarに表示させたいときとか便利。
83デフォルトの名無しさん:04/03/11 06:05
>>79
コントロール配列の動的作成は、できない。
コントロールの動的作成とは別問題

>>80
>このあたりからオブジェクト指向を理解してないと見受けられる
>
>動的にラベルを作るのではなくて、ラベルを作っておいて表示・非表示を
>切り替える方がいいとおもわれ。
このあたりから質問を理解していないと見受けられる

ArrayListにコントロールが追加できるかできないかの問題だろ。
>83
煽るなって。
>80はArrayListにインスタンス切ってないのが原因だけど、
どーせわからないだろうからVBみたいにやれと皮肉ってんだろ。
85デフォルトの名無しさん:04/03/11 10:08
VB.NET使い出してやっと1ヶ月程度の初心者です。

コマンドボタン1から50の名前をプログラム中で変えたいのですが、
button1.text = "Program1"
button2.text = "Program2"
などと50個全部書いていたら大変なので、
変数を使ってコマンドボタンを指定したいのですが、
どうしたらいいのでしょうか?
86デフォルトの名無しさん:04/03/11 12:21
質問です。
Windousの標準設定では、テキストファイルを開くと
そのテキストファイルが読み込まれた状態でメモ帳が起動されますが、
これと同様の事をVB.NETの自作プログラムで行うにはどうしたらよいでしょうか?

まず、拡張子の関連付けをメモ帳から自作プログラムに変更してみたのですが、
当然ながら、これだけではテキストを開いたときに自作プログラムが起動するだけで、
読み込まれた状態にはなりませんでした。

開かれたファイルのパスとファイル名を取得する必要があると思うのですが、
どうしたら良いでしょうか?
87デフォルトの名無しさん:04/03/11 12:23
>>85
eval
88デフォルトの名無しさん:04/03/11 12:25
>>86
第2引数に入ってる
8986:04/03/11 12:43
>>88
第2引数で検索したら分かりました。
ありがとうございます。
90デフォルトの名無しさん:04/03/11 19:13
質問です。

【要求】
*.csv(幾つもある)から目的の.csvを選んで、.mdbに読み込ませる。
.mdb内に定義ファイルがあるから、それに従う。


というのを、VBでやりたいです。

ファイル名の取得は、OpenFiledialogで可にしたんですが、得られたcsvファイル
をAccessに読み込ませるのって、どうしたらいいと思います?

 VB.NETから、Accessの定義ファイルというのを呼び出して、読み込みさせる
方法、教えてくださいませ。
Timerを使って
ボタンが押された瞬間にタイマーが発動するプログラムを組みたいんですけど
どうしたらいいでしょうか?
>>91
やはり、デバドラではナく、LB_DOWONイベント意外な奈良、直接叩けばいいよ。
>>92
初めて1ヶ月も経ってないので、わかりやすくお願いします_| ̄|○
>>90
ちょっと難しいです。
95デフォルトの名無しさん:04/03/12 00:13
Command関数を試用したいので、下記のコードを作ったのですがコンパイルエラーになります。

Module Module1
Sub main()
msgbox Command()
End Sub
End Module
エラー表示は、
「System.Windows.Forms.Commandはprivateであるため、このコンテキストではアクセスできません。」
です。
何かが足りないのでしょうが?
9695:04/03/12 01:37
自己解決しました。
「Microsoft.VisualBasic.Command()」としたらうまくいきました。
97デフォルトの名無しさん:04/03/12 08:21
>>91
普通はタイマのイベントハンドラの中で実行しているコードを
1つのルーチンとして独立させて、それをタイマのイベントハンドラからも
ボタンのクリックのイベントハンドラからもコールするようにすると思う。
98デフォルトの名無しさん:04/03/12 20:11
キーやマウス操作とかアプリケーション起動とかのログを取るような
アプリケーションは.netで作れますか?
ダイアログ(コピーしています...ファイル名、みたく)表示のログが
取れるとなおよしです。
>>98
素直にキーロガーとタイマーキャプチャを使ったら?
100デフォルトの名無しさん:04/03/12 20:58
すんません。
Byte 型配列に入った PNG イメージを HTTP サーバに渡すために、標準出力に出力したいんですけど

System.Console.Out.Write( _
  "Content-type: image/png" & vbcrlf & vbcrcf & _
)

Dim i As Integer

For i = LBound(Byte 型配列) To UBound(Byte 型配列)
  System.Console.Out.Write( _
    Chr(Byte 型配列(i)) _
  )
Next

どうもうまくならんです。教えてエロイ人
TreeViewのノードをクリックしたら、ListBox1に一覧を表示させたいけど、
いまいちやり方が分かりません。

どうしたらいいでしょうか?
102デフォルトの名無しさん:04/03/12 23:48
Visual Studio .NET 2003に付属する難読化ツール「Dotfuscator Community Edition」
http://www.atmarkit.co.jp/fdotnet/tools/dotfuscator/dotfuscator_03.html

スタート・メニューから[Microsoft Visual Studio .NET 2003]−[Visual Studio .NETツール]−[Dotfuscator Community Edition]を選んで実行できる。統合環境から[ツール]−[Dotfuscator Community Edition]でも実行可能。

ってあるんですけど、みつかりません。

Microsoft Development Environment 2003Version 7.1.3091 です。
Microsoft Visual Basic .NET だけ入っている一番安いヤツです。

もっと高いヤツ買わなきゃダメでしょうか。
>>102
そう。VS.NET pro版から。
104遠隔ファイル転送教えて:04/03/13 09:08
1.VB6のInetコントロールを使ったFTPくらいあんとプログラムを.
NETに移行するには、何コントロールを使用すれば良いのでしょうか?
2.クライアントからサーバへファイル定期的に自動転送するには、今でもFTPが一番簡単なのでしょうか?
他のやり方があれば教えて欲しいのです。
お願いします。

105デフォルトの名無しさん:04/03/13 13:36
VB.NETでPrintScreenキーを押したのと同じように、
デスクトップ画面をクリップボードに取得させることはどうやればできますか?

>>100
System.Console.Out.Write(byte配列型,0,byte配列型.Length)
でいいかと
ボタンを押したらTimerが発動して、
指定したURLにTimerで指定した秒数感覚でアクセスするプログラムはどうやってやればいいでしょうか?
やってみたんですが上手くいかないんで。。
108デフォルトの名無しさん:04/03/13 16:34
質問します。今までWEB系列のプログラを書いていったんですけど
Windowのフォーム関係のプログラムでオブジェクト指向のコード
書こうとするとなんか違和感があるようなきがします
みなさんはどうですか?
また、なんかいいサイト・本はないですか
>>107
田代砲くらい自分ひとりで作れよ
110デフォルトの名無しさん:04/03/13 18:29
>109
w なんか最近UGツールを作成したい人が多いね
>>108
まずは半角を使え。話はそれからだ
PrintLine(1, a(0, 0).Text, TAB, a(0, 1).Text)

とTAB区切りで保存したいのですが、保存したファイルをメモ帳で見ると
TABの代わりに半角スペースが複数に入ってしまってます。

どうやったらTAB区切りで保存出来るのでしょうか?
113デフォルトの名無しさん:04/03/14 01:21
BBSに自動発言するツールをVB.NETで作りたいですが、なんか参考になるURL
とか本とかないですか?
>113
その前にAIについて勉強したほうが良いぞ。
>112
Tab --> vbTab
Tab --> Chr(9) ?

115デフォルトの名無しさん:04/03/14 11:08
AIって何だろう?まさかArtificial(以下略
厨が厨を叩く、ってやつですかね。

態度のデカさと厨房度って相関があるように思えるのはなぜだろう。
愛だろ
117デフォルトの名無しさん:04/03/14 16:30
根本的な質問だけど、VB.NETで配布型アプリケーションを作るには
どう設定すればいいのか。Visual StudioやVB.NETが入っていない
PCでも動くような。
今までVB.NETで書かれたフリーウェア、シェアウェアはあるのかな。

仕事でVB5.0で書かれたプログラムの改造をやらされそうになっていて、
そのプログラムはVB6.0が入っていないと動かないんだよ。
漏れはVBではなくVCで作りたいんだが。
>114
ありがd。マニュアル本に書かれてるとうりに打ち込んだんだが、
信用したら駄目だって事だな(w
>>117
VCで提案して断られたらあきらめればよい。
鮎はずれない。
121デフォルトの名無しさん:04/03/15 02:10
117です。
120さんねたどうもありがとう。
紹介にあったMSDNのページを斜め読みしましたが、dotnetfx.exeがインストールされて
ないとVB.NETで作ったexeファイル(=アプリケーション)が動かないと解釈しますが。

それではかえって再配布のための汎用化からかけ離れてしまうのではないでしょうか。
この点はVC#.NETでも同様ですが。

わたしはあくまでexeファイル単体で動くソフトシステムを作りたい、ただそれだけです。
VC++.NETはネイティブコードとリリースモードで再配布可能exeファイルが生成可能
と解釈していますが。

そのため、勤務中の会社で開発しているアプリケーションは、すべてVC++.NETでの
開発です。もし私がVB.NETでやらされたら、会社の中で異端児呼ばわりされてしまう。
ちなみに現在の部署のリーダーは、ExcelVBAを使い慣れているので、私にもVBを
強要している次第です。
>>121
やらなければ良いだろう。市ね。
>121
「exe単体」ったてあんさん。
ドッドネットフレームワーク上で動くんだからさぁ〜
これないとOS無いのと一緒だべ

トユウカ
>>会社の中で異端児呼
逆かと・・・.netの旋風を社内に起こせばいいでしょがw
>>121
開発効率よりも実行形式を重要視するってことか?
んー、初心者だけど、何作ったらいいか行き詰った・・・
誰か何作ったらいいかおせーて・・・
電卓などよろしいかと > 初心者
テキストボックスの入力文字をバイト数で制限する方法を教えてください。

VB6の時みたいに
   SendMessage(TextBox1.Handle.ToInt32, EM_LIMITTEXT, 10, 0)
と、やっても文字数での制限しかできんのですよ。

教えて!エロイ人。
>>126
キホンだな。あと、アクションリストみたいな奴。
>>126
普通の電卓もいいけど、逆ポーランドもおもしろいよね。
ttp://www.tcp-ip.or.jp/~a-kawai/vbtext/vbtext4/vbtext4.htm
130d:04/03/16 03:02

ListViewコントロールで複数選択行を削除できない

だれかおせーて


>>130
ItemsコレクションからSelectedプロパティがTrueの
ListViewItemのみ削除すればいい。
132126:04/03/16 16:01
>>129
勉強になりますm(__)m
みなさん、2重投稿の回避策ってどんな方法取ってますか?
134デフォルトの名無しさん:04/03/16 20:39
次のようなメール送付で、アカウント、パスワード設定できるのでしょうか?
知ってる人教えて、、
アウトルックの「ツール」「アカウント」「メール」プロパティ「サーバ」送信メールサーバ:このサーバは認証が必要をチェックしたまま、で送付するには、アカウント、パスワード設定が必要なんですよね?
Dim Message As System.Web.Mail.MailMessage = New System.Web.Mail.MailMessage()
Message.To = ...
Message.From = ....
Message.Subject = ....
Message.Body = ....
SmtpMail.SmtpServer = "server name"
SmtpMail.Send(Message)
135デフォルトの名無しさん:04/03/16 21:42
電卓のエミュレートなんてのも面白いかも。
でも電卓のハードのエミュレートより、エミュレートしたハードで動く
電卓のコード書くほうが難しいかもしれないが。
俺、VS.NET 2003を使っていたから、てっきり.NET Framework 1.1だと思っていたら、
.NET Framework1.0だったんだね。

どうやってアップグレードするんだろう・・・。
   ||                          
   || 議題:この先生きのこるプログラミング言語って?
   ||           _,,...,_
   ||        /_~,,..::: ~"'ヽ
   ||        (,,"ヾ  ii /^',)                    
   ||          :i    i"  。  E[]ヨ            
    ̄ ̄ ̄ ̄ ̄ ̄ ̄|(,,゚Д゚) / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
     キノコル先生  |(ノ  |)__lヽ_________________
                /  ̄ ̄ ̄ ./| | 
  ̄ ̄ ̄ ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄| | |  C
                |____|/│
                     ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
1.1のODPにはバク?がある
ODP+Oracle8&Oracleクライアント8でDataAdapter.Updateが正常に動かない
ODPを新しいバージョンにあげるとこんどはoo4oが動かない・・・
140デフォルトの名無しさん:04/03/17 17:03
ここではVBからVBNETの移行は議論されていない。
もう少しグローバル的なNETの話を聞きたかったが・・・
141127:04/03/18 09:53
WndProc で WM_CHAR と WM_PASTE を制御して、
VB6で SendMessage -> EM_LIMITTEXT を送った時と同じ動作にすることが出来ました。


議題にあがらないからでしょ?>>140
143デフォルトの名無しさん:04/03/18 12:19
VB.NETってDLL作れる?
あと、作った独自DLLって使える?
作れるだろうけどやっぱり.net framework専用なんじゃないの?
145デフォルトの名無しさん:04/03/18 12:26
VS.NETを1本購入したがコントロール配列が出来ないのが判明したので
使い勝手が悪くVS6のままいくことにした。
M$もバカな仕様変更ばかりしてるからXP用にはBorland-Cを使う事が多くなったよ
>>144
そうなんですかねぇ。
やっぱりVB6の方がどっちかというと独自性があるものを作れるのかな。。。
>>145
>M$もバカな仕様変更ばかりしてるからXP用にはBorland-Cを使う事が多くなったよ
Borland-Cってあーた、猛者ですな。
>>144
.net framework専用じゃない、必要ではあるが。

>>145
んなもん作ればいいのに。
専用じゃないが必要って言ってる意味わかんねー。
春厨がふえましたね
>>144
顧問ランタイムと関連するアセンブリがあれば動く=ほぼ.NET Framework専用
>>145
>VS.NETを1本購入したがコントロール配列が出来ないのが判明したので

できますが?
dllの動作に.NET Frameworkは「必要」
dllは.NET Framework上で動くプログラムからの呼び出し「専用」ではない

ってことじゃねぇの?
154dd:04/03/19 03:00
クラスを引数にしたプロシージャってできるの?
>>153
ありがとう。
そういうこと。
今TCPの勉強してる者ですが、
MSDNのサンプルに以下の様なものがありました。
この括弧で囲まれた型[Byte]や[String]は何を意味するのでしょうか?

' Buffer for reading data
Dim bytes(1024) As [Byte]
Dim data As [String] = Nothing

157デフォルトの名無しさん:04/03/19 12:47
VBばんざい
158デフォルトの名無しさん:04/03/19 13:40
ドロップダウンリストボックスを2つ配置し、
ひとつめのリストボックスからある項目を選択すると、
もうひとつのリストボックスに、その選択された項目のサブ項目が表示される

という方法がわかりません

一つ目のリストボックスに項目追加するのは
Sub Form_load()
   Additem "ほにゃらら"
End Sub

は、いいとして、二つ目のリストボックスの処理がわかりません。
159デフォルトの名無しさん:04/03/19 14:43
オブジェクト指向??
160デフォルトの名無しさん:04/03/19 17:20
VisualStdio.Net Professional 2003 を使用していますが、Visual Source Safe は
使えないんでしょうか。Visual Studio 6.0 にはいっていた VSS6.0 があるんですが
アドインマネージャの[使用できるアドイン]に出てきません。。。VSS があっても
Enterprise でないと使えない?
161160:04/03/19 18:21
ソリューションエクスプローラからプロジェクトを右クリックしたときの
ポップアップに[ソリューションをソース管理に追加]を押せばふつうに
できますね。そそっかしいもんですみません。
162最凶VB厨房:04/03/19 23:50
>>156
そのサンプルでは[]の意味は特に無い。ILDASMで確認したが
同じであった。[]有っても無くても。

[]で囲むと
キーワードじゃないですよと明示するためにあるようだ。
Imports System
Class SampleD
Shared Sub Main()
Dim s As New [Do]()
Console.WriteLine(s)
End Sub
End Class
Class [Do]
Public g As String="a"
End Class

Doはキーワードだが[]で囲むことによりDoという名前のクラスを
作るサンプル。[]をはずすとコンパイルは通らない。
>162
お〜手間掛けて申し訳ないです。
MSDNのサンプルコードは統一されてないから何がなにやら・・・
まぁそのおかげでイロイロな書き方が学べるんだけど^^

最凶VB厨房さんどうもでした
164まだまだ:04/03/21 21:10
お知恵を貸して下さいm(_ _)m
構造体で直接読み書きするにはFilesystem.FileGet以外にないのでしょうか?
165デフォルトの名無しさん:04/03/21 22:08
VisualBasic6.0でデータベースアプリケーションを作成しようとしています。
Accessで作成したmdbをVBに連結させるというものですが、
『3週間完全マスター、VB6.0データベース』の本に付属しているMDBファイルは
VBのDateSourceプロパティ、RecordSourceプロパティとも正常に読み込むのですが、
私が作成したMDBファイルはRecordSourceプロパティ設定でエラーが起きてしまいます。

クエリもフォームもテーブルもちゃんと作成したのに、なんで読み込みエラーになるのか
全くもって意味不明です。

ちなみにファイルのプロパティである『読み取り専用』もちゃんとチェックを外しています。

VBとAccessに詳しい方、よろしくおねがいします。
>>165
氏ね
>>165
ここはVB.NETだから、VB6.0スレに行ってみそ。
168デフォルトの名無しさん:04/03/21 23:18
友達からコピーしてもらったVB.Netでプログラムしてみましたが
さっぱりわかりません。プロダクトキーも友達のと同じのを入力
したのですけど大丈夫でしょうか?
春真っ盛りだな。(´・ω・`)
その質問はここじゃ答えてくれないから、マイクロソフトに聞いてみそ。
>>168
それはおかしいですね。
>>169さんの言われるようにメーカーに聞いたほうがいいと思います。
171デフォルトの名無しさん:04/03/22 11:35
http://pc2.2ch.net/test/read.cgi/tech/1051039126/152-155
> 荒らし並みにウザイ。
> 重複スレが多くだれも有益な情報交換に使おうとしない
> .netと名が付く無駄なスレが多すぎ 
>>169>>170
おっしゃられるようにマイクロソフトに電話したら、住所と名前を
しつこく聞かれたので電話を切っちゃいました。マイクロソフト
って不親切ですねえ。
>>172
釣りか?
>>172
そこできちんと送付先を答えたら、修正版のCD-ROMを送ってくれるの
に。たまにやっつけ仕事のサポートがいるから、運が悪かったね。
175165:04/03/22 17:32
判明いたしました。

作成したmdbファイルをAccessのツール⇒データベースユーティリティで
『最適化』やAccess97、2000への変換をするとVisualBasic6.0で読み込めるようになりました。
ようするに、私が今まで作成したmdbファイルはAccess2002形式(OfficeXP)だったので
それより古いソフトウェアであるVB6.0が対応していないものと思われまする
176デフォルトの名無しさん:04/03/22 17:54
素人質問でごめんなさい。

VB.NETで作られたソフトをWin98で実行しようと思ったのですが,
.NET Frameworkランタイムが必要みたいです。
どこで手に入れたらいいのでしょうか。
ちなみに接続は電話回線です。

教えて君でごめんなさい。
177176:04/03/22 18:07
ランタイムって20Mとかするもんなんですか?(汗)
>>175
言うてすまんが、Access2003で作ったmdbファイルをVB6.0のADOで
読み書きできるよ。Microsoft.Jet.OLEDB.4.0なら2000以降に対応し
てる。97だと3.51に変更しないとダメだがな。
>>174
そうなんですけど、プロダクトIDを最初に聞かれたので友達に
迷惑が及んだらいけないと思い、答えなかったんです。そし
たら住所と名前を聞かれました。

今度友達に頼んで修正CD-ROMを送ってもらってからコピー
する事にしました。どうもありがとうございました。
>>179
そういう時は一字違いのプロダクトIDとか割れIDで、お茶を濁すといい
と聞いたことあるよ。または「プロダクトIDは総務部で管理してるから
すぐにはわからない」とか言えば、別に突っ込んでこないし。

送付先を登録しておけば、アップデートCDなんかが勝手に送られてくる
からいろいろ便利なんだけどな。
>>177
する。
「Microsoft .NET Framework Version 1.1 再頒布可能パッケージ」
なら約23MBだね。ダイヤルアップではきついだろうから、ネット喫茶
あたりで落とすなり、雑誌付録で入手するなりしてみそ。
>>180
そうですか。では適当なプロダクトIDで答えてみます。でも
住所や名前を言っちゃって本当に平気なんでしょうか?
183176:04/03/22 18:35
>>181
ありがとうございます。。。(汗)
評価版をダウンロードするには、どこを見たらいいのでしょうか?
マイクロソフトから落とせると聞きました。
>>182
電話した時点で、向こうのナンバーディスプレイに発信番号が表示され
てるよ。
>>185
怖いので一応184を付けました。
187デフォルトの名無しさん:04/03/23 01:18
VB.NETですけど,
PictureBoxを実行中に作り出す方法を教えて下さい。
(というか可能でしょうか?)
188187:04/03/23 01:32
補足

次から次に画像を表示したい訳ですが,
予めPictureBoxを表示したいだけ宣言しなければならないのでしょうか?
189デフォルトの名無しさん:04/03/23 03:28
>>178
ご指摘ありがとう
VisualBasic6.0ServicePack5を適用したら問題なく読み込めました
指摘がなければそのまま97に変換して作り続けてたところです。
参照設定のDAOやAccessObject2.xとかいろいろ調べながらいじってたのですが
あるサイトでサービスパックが存在することを知り、早速ダウソして適用したら解決しました
>188
一つのPictureBoxコントロールに画像を表示して切り替えるんじゃ
駄目なのか?
191187:04/03/23 08:20
>>190
えっと,例えば毎秒フォーム内のランダムな位置に
「ある規則に従って動くボール」を出現させたりしたいのですが。。。

192187:04/03/23 08:35
ってか
PictureBox[1]〜PictureBox[100]
とかループとか使って一気に宣言できたりしないんでしょうか?
194187:04/03/23 08:59
ありがとうございます!!!!!!!!
(実はそのサイト行ったはずなんですが,,見落としてました/汗)

やっと寝れます。・・・と思ったけど,折角教えて頂いたので
もう少し勉強します。
195デフォルトの名無しさん:04/03/23 23:25
すみません。教えてください。

クラス内にクラス(つまりインナークラス、内部クラス)を作成して、
その内部クラス内から外側のクラスのメンバ変数やメソッドにアクセスしたいのですが
その場合「非共有メンバを参照するには、オブジェクト参照が必要です。」とコンパイルエラーがでます。

他のオブジェクト指向言語だと同じ事ができたと思ったのですが
VB.netで実現するにはどうしたら良いでしょうか?
196最凶VB厨房:04/03/23 23:48
ネストされたクラスは共有メンバと化す。
なので
メンバ変数やメソッドを共有メンバにしてください。
他のオブジェクト指向言語とは仕様が異なります。
197デフォルトの名無しさん:04/03/24 00:06
お返事ありがとうございます。
分かりました。共有メンバについてもう少し調べて見ます。
198デフォルトの名無しさん:04/03/24 16:35
レコードセットオープンで
rs,open "ビュー"・・・・ と
オープンするとレコードの数がー1になるんですけど?
これはなぜなんでしょうか?
degub.print rs.RecordCount
DBはSQLサーバですが?
ビューが悪いのでしょうか
(ビューの中からさらにビューを呼んでいる)
その記述からするとVB6ッぽいのですが
レコードセットの形式によりレコードカウントが取れる場合ととれない場合があり
(たしか rs.MoveLast かなにかで最終レコードまで読み込んでやるといけたような 詳細は忘れた)

select * from hoge
見たいなやつは取れたはず



VS.NET +MSDE2000aやってる人に質問
"SQL デバッグ コンポーネントの古いバージョンが、 SQL Server "hogeserver" を実行中のコンピュータに見つかりました。
コンピプログラム 'SQL デバッガ: T-SQL' はコード 0 (0x0) で終了しました。"
VS.NETでストアドをデバッグしようとするとこんなメッセージが出てしまいます

クライアントツールにはSQLサーバー付属のものを使いSP3にあげてあります
ちなみにクエリアナライザからもつながりません

お知恵を拝借したいのですが・・・


200デフォルトの名無しさん:04/03/24 21:30
>>195
子クラス(?)に親のインスタンスを持たせるようにすりゃ解決するんじゃないの?
私はこういう場合はいつもそうしてるけど。

渡すの忘れそうってのならコンストラクタで渡してもいいし、
コンストラクタがごちゃごちゃするのがいやならプロパティにして
渡すようにしてもいいし。
>>200
おお、返事ありがとう。

「共有(shared)メンバ」にするのは、
ちょっと意味が違ってくるなぁと思っていまして(>>196さんすみません)、
色々考えた結果、>>200さんの言うように、
内部クラスのコンストラクタで(byrefで)渡せば、結局同じ事かと結論しました。

レスありがとうございました。
WEBでリッチコンテンツを使いたいのです。
で、WindowsFormを利用して、IE内で動く、
所謂アプレットを作りたいのですが、どうにもこうにも。。。
英語ページ(テトリスモドキ)を見ながらやってますが、
何のことやらサッパリでさぁ。

日本語で、1から10まで解説してくれる神サイトキヴォンヌ
>>203
ダンケ。
そういうことか!わかった、、、わかったぞ!
こっそりあなたを神としてあがめまつ
205デフォルトの名無しさん:04/03/29 21:42
たとえば整数のバッファに1,2,3などを入れておき、
なんらかのイベントでそのバッファ内の数が1ならbutton1、2なら
button2のプロパティを変えたい場合
ifやswitchなどで全検索する以外で何かいい方法がありましたら
教えていただけませんか?
>>205

Dim ba(2) As Button
...

Public Sub setProperty(ByVal i As Integer)
ba(i).text = "hogehoge"
End Sub

うーむ結局どこかで条件分岐するような気がする・・・
すみません。素人質問です。

ListViewやDataGridでカラムヘッダの内容をセンタリングすることは
可能ですか?

ダイアログのプロパティには存在しないようなのですが・・・。
208デフォルトの名無しさん:04/03/30 05:17
http://www.vector.co.jp/soft/win95/net/se249767.html

上にあるソフトのようなIPアドレスをテキストボックスに
表示させるには、どのようなコードを書けばいいのでしょうか?
209デフォルトの名無しさん:04/03/30 12:29
変数をサブや関数に渡す場合
↓のようになる思うのですが、
SUB TEST1
  CALL TEST2(X,Y)
END SUB
SUB TEST2 (ByVal X AS STRING,ByVal Y AS STRING)

END SUB

配列を渡すにはどうしたら良いでしょうか?
210テストせずにカキコ:04/03/30 14:34
SUB TEST2 (ByVal x() AS STRING,ByVal y() AS STRING)

END SUB

でどうでしょう
211209:04/03/30 21:05
>>210
ありがとうございました。
意外と簡単に出来るんですね。早速試してみます。
>>210
ByRefな気がする・・・いや、ByValでいいのか・・・?ん?誰かおしえれ。
>>212
ByValで呼び出すと高価な上に、関数内で配列をいじっても
元の配列に反映しないよ。それが意図した動作ならいいけど。
214デフォルトの名無しさん:04/03/30 22:02
関数内で、
配列を読むだけならByVal、加工するならByRefってことで良いんじゃない?
でも、高価ってどういう事ですか?
>>214
別アドレスへのコピーが必要だからでしょ。
ByValは考え方を変えれば、呼び出し先で配列をぶっ壊して
もよいという事になる。

>>214
>>215さんの言う通りだが、例えばDoubleの要素100000個の
配列をByValで渡すとどうなるか。800000バイトのコピーが
その都度発生する。これはかなり高価だ。
(大型コンピュータではCPU時間で代価が発生するので、高価
という言葉を使い出したらしい。)
217デフォルトの名無しさん:04/03/30 23:58
ちがう。
ByValで変更できる。
配列もオブジェクト。
ByRefだと、渡した変数の指してる配列自体を別の物にできる。
こういう場合ByValとByRefで差が出るな。

Module Module1
 Public Sub Proc(ByRef a() As Double)
  Dim b() As Double = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
  a = b
  a(1) = 10
 End Sub

 Sub Main()
  Dim a(10) As Double
  a(1) = 100
  MsgBox(a(1))
  Proc(a)
  MsgBox(a(1))
 End Sub
End Module
Cで言ってみればByValはポインタ、ByRefはポインタのポインタ
というようなコードに展開されていた。
220デフォルトの名無しさん:04/03/31 00:51
>>213-216
間違った事をまるであたりまえのことのように書くから
勘違いするやつが増えていく…

>>217-219が正しい
221デフォルトの名無しさん:04/03/31 01:16
確かに>>217以降のレスが正しいんだけど、ヘルプ見ると
>>213のように解釈できる記述が一部あったりもして、最初混乱するんだよな。
>>222
そいつはMSDNサブスクリプションに入ってるのと同一内容だね。
って当たり前か。
224デフォルトの名無しさん:04/03/31 23:32
よーし、パパ質問しちゃうぞー

.NET Compact Framework使ってます。
あるPictureBoxからもうひとつのPictureBoxに画像をコピーするBitBltみたいな手法はありますか?
Graphics.DrawImageは使えませんでした。
225デフォルトの名無しさん:04/04/01 00:51
>>224
単に「画像」なんて書くとまたimageプロパティがどうのって
勘違いなアドバイスする奴が出てきそうだな。

たぶんない。素直にAPI使うしかないと思う。
GDI+ってほかにもいっぱいできないことあり過ぎでむかつくんだよなあ。
226デフォルトの名無しさん:04/04/01 00:58
>>225
ありがとうございます。
PocketPCにいろいろと限界を感じる今日この頃っす
227デフォルトの名無しさん:04/04/01 23:33
VB.NETでつくったプログラムをいろいろなPCで実行してみたのですが、
一部のPCで「DLLが無い」と、エラーが出ます。
この場合、ランタイムをインストールする必要があるのでしょうか?
どこかで、VB.NETはランタイムが不要だと読んだ覚えがあるのですが・・・勘違いでしょうか?
228最凶VB厨房:04/04/01 23:34
VB.NET固有のランタイムは.NET Frameworkに含まれているから
その意味でランタイムは不要。
もちろん.net frameworkは必要。
229最凶VB厨房:04/04/02 08:36
ってかよく読んでなかったw
何のDLLが無いと?
230デフォルトの名無しさん:04/04/02 12:04
VB.NETでインストーラーを作ってます

インストール実行中
ユーザーが指定したインストール先フォルダがどこか取得して
いろいろとやりたいんですがどうもうまくいきません

installDir = Me.Context.Parameters.Item("INSTALLDIR")

みたいにやってるんですが・・・

ちょっと難しいかもしれないですがわかる方教えてください
231230:04/04/02 14:41
こんな感じでとれました

'ユーザーが指定したディレクトリを取得
Dim targetDir As String
targetDir = Me.Context.Parameters.Item("assemblypath")
targetDir = System.IO.Path.GetDirectoryName(targetDir)
232デフォルトの名無しさん:04/04/02 16:07
すんません、質問です。

ユーザ環境変数を取得したいのですが、どうすればよいでしょうか?
システム環境変数は取得できるのですが・・・。
233227:04/04/02 16:41
>>229
「mscoree.dll」が無いと出ます。
アドバイスどおり、.NET Frameworkをインストールしようとしたのですが、
administratorのパスワードがわからないので入れられず、
確認できませんでした。残念・・・
234最凶VB厨房:04/04/02 22:42
>>232
どうやってとった?
http://ukamen.hp.infoseek.co.jp/Programming/Environment/
に書いてあるとおりSystem.Environmentクラス使って
ユーザ環境変数が取れたが。
>>233
そのdllがないってことは
おそらく.net fraweworkが入ってないんでしょうな。
235デフォルトの名無しさん:04/04/02 22:56
datagridの一列目に同じ値を入れようとするとエラーが出ます。
主キーが必要って事だと思いますが、
同じ数値や文字を入力できるようにする方法はないでしょうか?
236デフォルトの名無しさん:04/04/02 23:01
>>232
ASP.NETだったりしないか?
237デフォルトの名無しさん:04/04/03 17:21
質問させてください。
画面に大量のチェックボックスがあり(30個以上)、
チェック状態によって、背景色を切り替えています。
ここに、全選択コマンドボタンを追加し、クリック時に全ての項目が
チェック状態になるようにした場合、処理自体は問題なくいくのですが、
切り替わる際、各項目の表示がパタパタ切り替わっていくのが気になります。
処理完了まで、画面の更新を行わない方法はないでしょうか?
238デフォルトの名無しさん:04/04/03 18:38
>>237
釣り?
コマンドボタンのClickイベントでチェックボックスのCheckedプロパティ
触るまえに、チェックボタンのEnabledをFalseにしてイベント殺しておくなり、
モジュールレベルでイベント来てもシカトするようなフラグ立てておくだけ
じゃないんですか?

CheckChangedイベント以外のイベント(Clickとか)使うって手もある。
239デフォルトの名無しさん:04/04/04 00:57
プロジェクトを開くときのダイアログボックスで選べる拡張子
.vbproj
.sln
の違いは何でしょうか?
どっちを開いても同じ結果のように見えるのですが・・・
.vbproj = プロジェクトファイル VB6の.vbpと同じ

.sln = ソリューションファイル 複数のvbprojをまとめられる
複数のEXEやDLLを一括コンパイルできる
ほかの使い方もあるかも
241239:04/04/04 11:29
勉強になりました。
ありがとうございました。
242デフォルトの名無しさん:04/04/04 12:52
vb.net standard edition でレポート作成するとき、どうするの?
243デフォルトの名無しさん:04/04/04 14:20
自分で作ったプログラムを何度か実行していると、
いつのまにか、exeと同じフォルダに拡張子が「.pdb」のファイルが出来ているのですが、
これは何なのでしょう?出来るときと出来ないときがあり、削除しても問題ないようです。
>>243
デバッグ情報ファイル。
デバッグモードでビルドするとできる。
245243:04/04/04 14:38
>>244
ありがとうございました!
アップグレードに時間がかかってしまうため、
.NETをインストールしていない端末でもアップグレードだけを動かしたいです

・コマンドラインからのアップグレードでまとめて実行したいです
・.NETは1台の端末にすでに導入してしまっています。その端末では上手くできました。

現在、VBUpgradeのフォルダだけコピーしてみて実行したのですが
ログが出るだけで何も作られないようです

どのように対応すればよろしいでしょうか?
よろしくお願いします
247デフォルトの名無しさん:04/04/06 19:38
クリスタルレポート9を利用してVB.NETで作成したプログラムを他のPCで実行させたら
PrintToPrinterメソッドにて「ログオンに失敗しました」が出てどないいもこないも・・・

セットアッププロジェクトは
regwiz.msm
Database_Access_jpn.msm
Database_Access.msm
Managed_JPN.msm
Managed.msm
VC_CRT.msm
VC_STL.msm
をマージモジュールに追加してregwiz.msmのプロパティにライセンス番号いれた。
開発マシンでは問題なく動いているし、
そもそもDBServerには接続していない。
DataSetをプログラム側で作成してソレを
ReportDocument.SetDataSource()を利用して設定している

ぼすけて・・・・
248デフォルトの名無しさん:04/04/07 07:54
変数にテキストを1文字入れて
それを半角英数文字であるかどうかを判定するする良い方法は無いでしょうか?
いまは、変数とAを比較、変数とBを比較、変数とCを比較・・・といったことをしているのですが、
文字コードの範囲とかで判定出来ないでしょうか?
>>248
Char.IsLetterOrDigit
250デフォルトの名無しさん:04/04/07 08:09
>>248
だからさあ、そんな程度のこと初心者だろうがなんだろうが
ヘルプみりゃあ自分で解決できるでしょ?横着が過ぎるんだよ。

その程度の手間を惜しむような人はプログラミングなんて
完全にむいてないから止めちまえよホント。
251247:04/04/07 10:10
解決したから自己レスじゃぁ

悪さしてたのはサブレポートのデータセットの部分で、
サブレポートのデータソースに対し、作成したデータソースを設定すれば
エラーは無くなり、ねらった挙動をしました。

Dim objRepDoc As New ReportDocument()
Dim objDT As New Dataset1()

objRepDoc.SetDataSource(objDT) '開発環境ではOK、配布環境ではNG

objRepDoc.OpenSubReport("サブレポート").SetDataSource(objDT) '開発環境OK、配布環境OK

なぜ、挙動が違う・・・・せめて両方エラーなら納得がいくが・・・・_| ̄|○
>>250

質問した人だけじゃなく見る人みんなが役に立つ場合がある
そうカッカするな
253デフォルトの名無しさん:04/04/07 22:36
>>250
手間は少ないにこしたこと無いよ
人に聞いてはかどった分だけ、
人に聞いても解決できないような事を調べたり、考えたりする時間がとれるし
むしろ人に聞いて簡単に解決するような事こそ、このスレでみんなで教えあった方が良い。
こういう考え方ってまずい?
>>249 付けたし
ウニだからそれだと全角英数も入ってしまうね。
半角全角判定も必要か。
正規表現でも可能だがもっと簡単なものはないかな?

というわけで教えてほしい >>250
255最凶VB厨房:04/04/08 00:02
256デフォルトの名無しさん:04/04/10 12:16
プロジェクトの名前の変更って出来ますか?
257あぼーん:あぼーん
あぼーん
VB.NETでのネットワーク接続で良い資料ありませんか?
259デフォルトの名無しさん:04/04/11 12:12
>>253
釣りだよな?釣りだと言ってくれ
260デフォルトの名無しさん:04/04/11 16:53
http://www.google.co.jp/search?q=%76%62%63%70%2E%64%6C%6C&num=30&hl=ja&lr=lang_ja&ie=UTF-8&inlang=ja&newwindow=1&output=search

VB5にはVB Code Profilerがついてたみたいですけど、
VS .NET Professionalにはついてますか?
261デフォルトの名無しさん:04/04/11 20:00
今日からVBをはじめたのですが、DBに接続しようとしている
ところで詰まっています。
バージョン2003でOracleと接続しようと格闘しているのですが、
接続しようとすると、「型 OracleConnection が定義されていません」と
出てしまいます。
実際に書いているコードは下記のとおりです。
これを実行するにはこれ以外にも何か必要なのでしょうか?

Oracleと開発環境は同じマシンです。


Dim myConnection As String
myConnection = "Data Source=<データソース名>;Integrated Security=yes"
Dim myConn As New OracleConnection(myConnection)
myConn.Open()
myConn.Close()

またMSDNによるとOracleに接続する方法がいくつかあるようなのですが、
どのように使い分けるのがよいのでしょうか?
(正直なところ2と3の違いがわかっておりません。)
1.サーバー エクスプローラでの Oracle データベースへの接続
2.アプリケーション内からの Oracle データベースへの接続
3.視覚的に Oracle データベースへ接続する
3-1.ツールボックスの [データ] タブで接続を作成する
3-2.サーバー エクスプローラで接続を作成する
4.プログラムによる Oracle データベースへの接続する

以上ご存知の方いらっしゃいましたら教えていただけますでしょうか。
TextBox間のテキストの移動ってどうやるんですか?

かなり恥ずかしい質問ですが、よろしくお願いします。m(_ _)m
>>262
もちっと具体的に書いてみそ。
>>262
マウスで範囲選択したテキストを
ドラック&ドロップで移動って事?
265262:04/04/12 01:54
>>263-264
TextBox1に書いたテキストをButton1を押すことによってTextBox2に移動させるという意味です。
詳しく書かなくてすみませんでした。
266デフォルトの名無しさん:04/04/12 12:19
つまらん釣りをベタに受け取って
得意げに説明しだしたりすんなよ。
>266
本屋逝って初心者向けの本買ってこい、で済むような質問には誰も答えないって。
少し落ち着け。いや苛立つのは自由だが、煽るんじゃない。
あと、しょーもないレスだって自覚あるならsageろ。
Sub Button1_Click(...) Handles Button1
TextBox2.Text = TextBox1.Text
End Sub

この世界長いとこういうコードは思いつかない(笑)
>>268
Handlesの後ろまちがえた。適当でスマン。
タスクバーの端にアイコンを登録したいです。
.NET Frameworkのうちどこを勉強すればいいのかだけでも教えていただけませんか?

とりあえずVisualBasic.NETの文法だとかは入門書で学んだのですが、
そこから先、どういった方向で勉強すればいいのかよく分からないっす。
とりあえずこの機能に関する部分だけでも教えていただけたらと思います。
>>270
MSDNでNotifyIconクラスを調べてみそ。
>>271
ありがとうございます。調べてみることにします。
273デフォルトの名無しさん:04/04/14 07:24
pictureboxにドットを打っていき、
グラフを作ろうかと考えているのですが
vbでグラフ表示する場合、一般的にどんな方法がとられるのでしょうか?
274デフォルトの名無しさん:04/04/14 08:17
>>273
キミの質問は下の文章と同じぐらい愚か。
そんなアバウトな質問に(知ったかぶり・教えたがりの馬鹿以外の)
いったい誰が回答することができるか。


原稿用紙に文字を書いていき
小説を書こうかと考えているのですが
日本語で書く場合、一般的にどんな方法が採られるのでしょうか?
>知るかヴォケ
275273:04/04/14 14:37
>>274
PictureBoxでグラフを作る方法を聞いていると思われた?

PictureBox使う以外にグラフを作る方法はないか?
グラフ表示するときはPictureBox使うのが一般的なのか?
他にグラフ表示できるコントロールなどは無いのか?
といった事を質問してるのですが・・・
>>275
素直に結果だけ出力してExcelにでも突っ込めば?
チャートコントロールってVB6のコントロールだっけ?
VB6だったら登録してしまえば使えそう
>>275
>>273の文面から2Dの折れ線グラフと推測したが、

>他にグラフ表示できるコントロールなどは無いのか?

ソースが公開されているものから市販品まで星の数ほどありますがなにか?
279273:04/04/14 17:26
回答ありがとうございました。
検索したら、意外に参考になりそうなものが沢山出て来ました。
どうもすみませんでした。
.NETでフォーマットを使いたいのですが
Format(strTest, "##,##0")
と、書くと何故か
"##,##0"
という値が返ってきます

MSDNを見てもあっているようなんですが
何故うまくいかないんでしょうか?

vb6.Formatであればうまくいきますが
こちらだとランタイム環境でうまく動かないようです

どうすればいいか、もしわかったら教えて頂きたいです
strTest変数の値を数値として扱うと仮定しています
123456789という数値を123,456,789という結果にしたい場合
元の変数をストリングにキャストせずに
Format(IntTest,"###,##0")
または
IntTest.ToString("###,##0")
で結果が出るかと思います

ms-help://MS.VSCC.2003/MS.MSDNQTR.2003OCT.1041/cpguide/html/cpconcustomnumericformatstrings.htm
しかしヘルプ見ない奴の神経って本当理解不能だわ。
一体どうなってるんだろう。。

>>280みたいのって、ここに書き込む時間があれば余裕で調べがつくと思うんだが。
284デフォルトの名無しさん:04/04/15 19:32
VB6でランタイムをインストールできない環境でも動かしたいexeがあるのですが
環境変数等でdllの位置を指定しても動きません

インストールなしでCD内部だけで処理する方法はないですか
285デフォルトの名無しさん:04/04/15 20:09
エンジンなしで車動かせ、ってそりゃ無理な相談だろう。
286おしえてください:04/04/15 20:12
やっぱりですか
287デフォルトの名無しさん:04/04/16 09:05
Form1からForm2をShowDialogで呼出しForm2で例外を発生させる。
Form2内でThrowさせてForm1でCatchするように指定しておく。

上記のようにしてデバックを行うと意図したとおりに
例外をForm1上でCatchできるました。がしかし
リリースモードでリコンパイルしてEXE実行した場合
制御がForm1が戻らないんですが、これってなにか方法間違えてますか?
288287:04/04/16 09:08
開発環境書くの忘れてました
WindowsXP
Microsoft Development Environment2003
Microsoft .NET Framework 1.1
です。
>>287
こちらはデバッグモードでも駄目だった。.NET2.0βだけど。

やはりApplicationのThreadExceptionイベントを使うなり、
Form2にExceptionイベントを持たせるなりした方がいいと思われ。
290暇だからVBでもしよう:04/04/16 10:05
さて、俺様はこれからVBでもやってみようと思う。
VBNET本体はもっている。
プログラムはphpぐらいしかできない。一般的なクラスの使い方の基本はわかっている。
BASICはセンター試験のBASICぐらいはできる。
だがVBの知識は全く無い。

さて、俺様はまず何から覚えればいい?
首釣れアホ
292デフォルトの名無しさん:04/04/16 11:28
アーキテクトもってんだけど、VSSってどこに入っているの?
VS6.0の時は、VBとかいれるCDと同じCDに入ってたような気がするけど、
.NETから分割された・・・?
293287:04/04/16 11:35
>>289さん
即レス有難うございます。
Form2に処理が入れられないみたいなので
ApplicationのThreadExceptionを調べてみます。
294デフォルトの名無しさん:04/04/16 11:55
>>283
自分が未熟なせいもあるけど、
ヘルプの内容って結構難解で分からない事が多い。
あと、容量がバカでかくインストールしてないから、
CD入れるのが面倒とか・・・
どちらも理由としては、自分勝手で許されざるものですが
ここのひとってみんな仕事でつかってんのかな?
正直VISUAL環境って、仕事にでも使うんじゃなければ
糞ですよね?
296x:04/04/16 12:00
>>295
なにと比較しての話?
ヴィジュアル系の話なら芸能板かメンヘル板にでもどうぞ
まあそれはいいとしてオマエラ
VBって何のためにやってんの?
VBで食っていけるとかありえんの?
業務アプリケーションなら十分食っていけるだろ
大手銀行のシステムは.NETに移行しつつあるし
300名無しさん♯:04/04/16 17:27
VBチームのblogもできたよ。ヽ(´ー`)ノ
http://blogs.msdn.com/vbfaq/
301デフォルトの名無しさん:04/04/16 20:00
>>294
ここの誰かが許すとか許さないとかじゃなくて、
MSDNインストールしないなんてあなた自身が損してまっせ。

8ビットのパソコンの時代のベーシックとかならともかく、
.NETとかなんて細かい仕様まで全部記憶するなんて不可能だし、
そんなくだらないことにエネルギー使わないでもっと生産的なことするための
オンラインヘルプなんだから、インストールしないなんてまともなPGなら
だれでもあり得ないというはず。

ていうかさ、いまどきCD数枚分の容量が気になるような貧弱なPCで
.NETのIDEって使い物になるのかな?
302名無しさん♯:04/04/16 20:15
良記事あげ

.NET開発者のためのオンライン・リソース・ガイド
http://www.atmarkit.co.jp/fdotnet/special/onlineres/onlineres_01.html
>>294
>>301も書いてるけど、MSDNは非常に有用な情報源ですぜ。

親の遺言で「MSDNをインスコしちゃならねぇ」と言われてるの
であれば、Web上に同じ情報があるから、それを参考にしても
いいんじゃね?

ttp://www.microsoft.com/japan/msdn/library/
ttp://msdn.microsoft.com/library/

まぁ、書き方が難解なところはあるけど、そういう時は兎に角
実際に小さなコードを書いてみるのがいいんじゃないかなぁ?
ttp://www.microsoft.com/japan/msdn/library/
の下の方にある。

最近更新されたコンテンツ
死、税金、そしてリレーショナル データベース、第 1 部

ってなんだ?
>>304
原文も同じタイトルやねぇ。

ttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnexxml/html/xml04212003.asp

要は「決して避けられぬもの」って比喩っしょ。
日本人の感覚だと、すげー分かりにくい比喩じゃないか?(w
>>306
如何にもアメリカ人が好き好んで使いそうな言い回しではありますな。
アメリカ文化も同時に学べるなんてお得だな
ようするにVBってヲタの自己満足用

業務ソフト構築用
ってことでいいのか?

前者は、NETやらいろいろで、だんだんとっつきにくくなってきてるし、
後者は、同レベルの言語が腐るほどあるからなあ

>>309
>ようするに
なにを要約したんだ?
ウェブページを開くとき、自分自身(アプリケーション)の中で開くにはどうすればいいんですか?
ソフトウェアはMDIになっているので、子ウィンドウで開きたいと思っています。
312311:04/04/17 20:14
自己解決しました。
自己解決しても一応手法を記していただけたら
今後の方へのアドバイスとなります
ボタンでテキストボックスに入力する文字の色を変えるのってどうやるんすか?
315311:04/04/18 11:55
作るのに夢中になってて遅れました。
Dim MDIChild As New Form2()
MDIChild.MdiParent = Me
MDIChild.Show()
で呼び出して、呼び出した方は以下のコードで親ウィンドウの中に開くことが出来ました。
Dim HomePage As New Form2()
HomePage.MdiParent = Form1.ActiveForm
HomePage.Show()
HomePage.AxWebBrowser.Navigate("アドレス")
出来たといえば出来たんですけど、何かが違う感じがするんですよね。。。
違う方法があれば、アドバイスお願いします。

あと、mshtml.dll(AxWebBrowser)を使ってウェブページを開くようにしているんですが、
独自に機能変更とか出来ますか?良い資料があれば教えてください。m(_ _)m
簡単な暗号化するツールを作ろうと思い、
ボタンを押したらRichText1から、
もう一つのRichText2にある文字に置き換えられて出力したいんですが、
いまいちわかりません。。。誰か助言お願いします。
317デフォルトの名無しさん:04/04/19 19:42
>>312
どうやって実現したか気になる
できれば教えてほしい
>>316
書いてある事がいまいちわかりません。。。
おそらく1対1対照表を使った、単純な置換暗号化でないかと思うんだ
が、>>361の意図するところが漏れにもわからん。
>>318
暗号化ロジックを教えて欲しいんだよ、きっと。

>319
 予言だ。(゚∀゚)
321314:04/04/19 23:04
>ボタンでテキストボックスに入力する文字の色を変えるのってどうやるんすか?
はやってたらできたけど、
反転してボタン押すとその部分だけその色にするのはどぅするんですかねぇ?
詳しい方、お願いします
>>316
RichText2.Text = Crypt(RichText1.Text)
でいいんじゃないの? Crypt関数の中身は自分で考えなされ。

暗号化ロジックは人に聞いて作るものじゃないよ。だって、第三者が知ってたら
暗号化にならないじゃん。Cryptとか暗号とかでググればヒントは世界中にいっぱい
転がってるからがんがれ。

>>321
質問の意味がいまいちわかんなぃょぅ(=゚ω゚)ノ
>>322
おそらくテキストボックス内の文字列を範囲選択した状態のことを言ってるのではないかと
324デフォルトの名無しさん:04/04/20 10:53
神よ!
コントロールのサイズをキー操作で変更する方法を教えたまえ!
・・・っつか、なぜ?SHIFT+矢印で動かないんだろ?
325:04/04/20 11:02
CTRL+SHIFT+カーソル

精進したまへ
326324:04/04/20 11:07
神降臨!
ありがとね
327PPP:04/04/20 14:26
リストビューの1行を赤くする方法を教えてください。
デザインでプロパティをいじるのではなくロジックではどう書けばいいのでしょうか?
よろしくお願いします。
VB.NETでサーバーアプリとクライアントアプリを書いたとして
サーバーアプリ側のメソッドを呼ぶような機能はありますか?
何がしたいかというとビジネスロジックはサーバー側アプリで
書いて画面まわりをクライアントで書きたいです。
サーバー側にあるクラスをクライアント側でインスタンス化できれば
最高です。
今はVB6.0でソケット通信でシコシコやっていますが
面倒なので.NETの機能としてあればいいなと思いまして。
よろしくお願いします。
>>328
RemotingなりWebServiceなりでお好きなようにどうぞ。
>>329
thx.できるんですね?
さすが、.net
>>331
Σ(゚Д゚;o)!ASPのことですか?
できればクライアント側は普通のWinアプリとして作りたいのですが
333デフォルトの名無しさん:04/04/20 19:05
VB.netで作ったソフトって動かすのに.netframework絶対いるの?
.netframeworkに依存しないソフトって作れる?
>>332
 Webサービスが何なのか、良く調べてみれば、その疑問は解決する。
335314 , 321:04/04/20 20:49
>>322
まず俺厨房なんで,学校の自由研究で勉強がてら何かを作ろうとおもって
先公も納得する簡単なメモ帳っぽいの作ろうと思ったんすけど・・・
んで、  ttp://www.geocities.jp/jigaiitasu/memo.PNG  な感じでw
そいで ttp://www.geocities.jp/jigaiitasu/memo2.PNG 見たいに書いて、
それを  ttp://www.geocities.jp/jigaiitasu/memo3.PNG 反転して、
この状態でボタンを押すとボタソに書いてある色に変える、と
長レススマソ
>>335
リッチテキストボックスを使え。わしは寝るぞ。
>>333
VB.NETで作ったソフトの実行には.NET Framework再頒布可能パッケージが
必要。

.NETシリーズの開発環境で.NET Frameworkに依存しないソフトを作れるのは
VC++.NETだけだなや。
最近のリアル厨房は、自由研究でエディタ作るのかい。
俺は、学研の電子ブロックだった。
俺はアリの巣だったな
ちょっと昔のリアル厨房は、自由研究で学研の電子ブロック作るのかい。
俺は、紙飛行機だった。
鉢植え植物の観察だった漏れは、かなり昔の厨坊でつかそうでつか。
>>341
消防の時にやったyp!あさがおとかひまわりとか。


過去を懐古している最中に質問ですが、Formのタイトルバーに訪れたサイトの名前(ex:***のホームページ)
というのを表示したいのですが、どうすればいいんですか?
あと、アドレスバーに訪れたサイトのアドレスを表示させたいのですが、どうすればいいでしょうか?
TextBox.Text = AxWebBrowser.LocationURL()
としても、ぜんぜん表示されずにいます。。。

よろしくお願いします。
>>343
>TextBox.Text = AxWebBrowser.LocationURL()
>としても、ぜんぜん表示されずにいます。。。

AxWebBrowser.Navigateメソッドを実行した直後に書いてないか?

ttp://support.microsoft.com/default.aspx?scid=kb;ja;304643
の「WebBrowser コントロール使用時の注意」の項を読んでみよう。
解決方法も書いてあるぞ。

ちなみにサイトの名前はLocationNameプロパティな。
345デフォルトの名無しさん:04/04/21 15:40
アリの巣やら観葉植物→簡単なBASIC→業務用BASIC(VBとか)

って流れを踏んだほうがいいとは思うけどな。
今の厨房はいきなりMSのおしつけがましい
VBがスタンダードでかわいそう
MSX-BASIC
アサガオとかは消防の時にやった
こんな俺は金が無いからVBかCかで迷ったけど
俺の出来損なった頭じゃCは無理だぁ!って感じでVB買った
結局良く分からん・・・
まぁC++はフリーの環境でやってこうかなと
348デフォルトの名無しさん:04/04/21 19:58
Windows98で.netを使うことは出来ますでしょうか?
>>322
出来ました!ありがトン!
アプリを起動した時に、
最初からテキストボックスに文字が入力されてて、
テキストボックスにカーソルを移動したら文字が消えるって言うのはどうやってやるんですか?
35123才:04/04/22 11:17
DataGridコントロールの列見出しクリック時のソートを数値順にする方法
知ってるかたいます?
.NETでTabControlを
丸いタブに変更したいです

オーナードローにして
drawItemの中で画像を読み込んで表示し
なんとか丸くすることは出来たのですが
タブとタブの間にある
TabControlにもともとある線を消す事ができません

この線を消すか
もしくは、画像で上書きをする方法はないでしょうか?
部位微意怒涛熱湯
354あふぉ:04/04/22 19:34
はじめまして

いきなりですが質問させてください。

vb.netで開発を行なっているのですが
DataGridコントロールのレコード単位に
ラジオボタンを表示したいと思っています。

ネットで調べたのですが
回答にめぐりあえませんでした。

asp.netでは実現可能なようなのですが・・・・

すみません。よろしくお願い致します。
>>354
チェックボックスじゃなくてラジオボタンすか?

チェックボックスでいいのであればここを見るべし。
ttp://www.atmarkit.co.jp/fdotnet/dotnettips/105dgchkbox/dgchkbox.html
356最凶VB厨房:04/04/23 00:54
多重起動禁止時に実行中のWindowsアプリケーションを最前面に表示するには?
http://www.atmarkit.co.jp/fdotnet/dotnettips/151winshow/winshow.html
357あふぉ:04/04/23 17:40
>355
そうなんです。
チェックボックスじゃなくてラジオボタンなんですよ〜。



DataGrid でレコードの追加削除を禁止するのに、DataSourceに
DataViewを指定すればいいことまで分かりました。
ただ、このときにTableStyleが指定できませんが、
そういうものなのでしょうか?
電卓を作ってるんですが、1〜9までボタンを作って、
押してもテキストボックスに一桁しか数字が表示されないんですよ。
多分 TextBox1.text = 1とかにしてるからだと思うんですけど。。。
誰か解決法教えてください
>>354
これ参考にできんかな?ComboBoxをRadioButtonにできるかも。

ttp://dobon.net/vb/dotnet/datagrid/datagridcombobox.html
>>359
TextBox1.Append = 1 か TextBox1.text += 1 で
いけると思う。
>>361
出来ませんでした・・・
>359
数字ボタンが押されたときは各ボタンのイベントハンドラ
から以下のような関数を呼ぶ。

Dim value As Integer '入力値を保存

Private Sub InputValue(ByVal i As Integer..)
  If value = 0
    value = value + i
  Else
    value = value * 10 + i
  End If
 
  textBox.Text = value
End Sub

電卓って意外にむずかしい・・・
Form2で宣言した変数をForm1で使うにはどうしたらいいでしょうか?
漠然とした質問なので漠然とした回答
Form2内の宣言をPublic Sharedにすれば使える。
Form2のインスタンスを作成してるのならPublicだけでもいい。

ただ、クラス間(.netからFormもクラス)を
またいで変数を使用するのは好ましくない。
愚問、それももう何回も何回も激しく既出のサイテーの愚問をする奴の神経も、
理解できないが、そういう愚問に何の怒りも感じずにベタに回答する奴の神経も、
全く理解できない。「親切な自分」という自意識に酔いたいだけちゃうんか。

こういう奴にはプログラミング向いてないから止めとけよ、って率直に言ってやるのが
思いやりってもんだと思うが。
自分の知識を確認するってのはあるのかも。
少なくとも俺は366のような思いやりはまったくない。
別にうざいと思う香具師は答え無ければいいし、そう思わない香具師が答えればいい。
どうせみんなボランティアで動いてるんだから。
「みんなの質問に答えなければ!!」なんて義務感を持ってる人の方が俺には驚きかも(笑
370デフォルトの名無しさん:04/04/24 22:23
思いやってもろくな反応にもならないしいちいち指摘するのも疲れる。
そいつが今後困る事になっても知ったこっちゃないし。
どう対応しようと人の勝手。
371デフォルトの名無しさん:04/04/24 22:24
確かに自分の知識を確認するってのはある。
372最凶VB厨房:04/04/24 23:49
>>366って温かい奴だな。感動した!!ヽ(^。^)ノ
>>366氏の知識をPublic Sharedにしてはいただけませぬか
そうすればこんな糞スレいらなくなります
>>373
ソレダ(゚∀゚)

>>386
御意
じゃあ>>366は知識をまとめてWebで公開すること。
VS.NET 2003 proをインストール中に、エラーが発生してインストールが出来ません。
エラー1933というものが出て
ファイルを更新出来ませんでした〜
というメッセージが出ます。
MSのHPにいっても、VS.NETの対策が出ていませんでした。
どなたか原因わかるかたご教授お願いします。
>>376
正規版を購入
378デフォルトの名無しさん:04/04/25 23:16
>>358
かなり遅いとおもうが答えておく。insert句とdeleat句を削るんじゃダメ?
またdatagridでもdataviewでもTableStyleはしていできると思いますが?
379358:04/04/26 08:28
>>378
DataGridTablesStyle コレクションエディタで、
MappingName をドロップダウンしても何も表示されないので、
指定できないのか?と思っていました。
直接テーブル名を入力することで DataGridColumnStyle を
編集することができました。
ありがとうございました。
imageのシリアライズの方法はどうやるんですか。BinaryFormatterでできれば。
381dameo:04/04/27 02:02
質問させてください。
グレープシティ社の「spread for .net」を使用しているのですが、
2つのスプレッドシートのスクロールを連動させることは
可能でしょうか?ちなみにvb.netを使ってます。

本屋やネットで探したのですが全く回答に辿り着けません・・・
詳しいかた居りましたらよろしくお願いします。
382デフォルトの名無しさん:04/04/27 02:47
高度なリネームにチェック
検索方法:正規表現
検索指定:(\D|^)(\d{1,3}(\D|$))
置換指定:\10\2
>>381
vb.net全体でもこの程度のレスしかないんだから、サードパーティの
コントロールについて詳しい人がレスをくれる可能性は
かなり低いんじゃないだろうか。

開発元に聞いたらいいんでないの?正規ユーザーなら聞けるでしょ。
384デフォルトの名無しさん:04/04/27 12:46
>>381
>2つのスプレッドシートのスクロールを連動させることは
>可能でしょうか?

できません。とサポートから回答をもらいました
385380:04/04/27 18:10
できた。
386dameo:04/04/28 00:42
>>381

そうですか・・・残念です。
わざわざ聞いてくださってありがとうございました!
おいおい、犯罪者(不正ユーザー)を手助けするなよ。
俺的にVBとVB.NETの比較は
VBはともかく軽い。軽快そのもの。
ただし、TCOが大変。
NETはオブジェクト指向・フォームの機能など拡張されて
いいんだけどすこし大げさすぎという感じがするんだけどどうかな?
まだVB使っているユーザて多いよね
質問させてください(既出っぽいのですが・・・)
Public Class Form1
  Inherits System.Windows.Forms.Form

  #Region " Windows フォーム デザイナで生成されたコード "

  Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim frm2 As New Form2
    frm2.Show()
  End Sub
End Class

というふうなコードだと、何奴がfrm2を所有(?)しているんでしょうか。
frm2が閉じないのが解せんのです。
390380:04/04/29 11:02
閉じないって×ボタン押せば閉じるのでは?
frm2はローカル変数だから、どこも所有してないのでは。
391デフォルトの名無しさん:04/04/29 11:39
>>388
様々な機能拡張がなされ、できないことが減ったように思いますが
それはVBでは長所ではないのかな?
IDEがバグってるぽいのが玉に瑕。
VB6.0と比べて敷居って上がってる?俺.NETからだからわかんね。

>>391
388ではないですが
 VB5.0→VB6.0、VB4.0→VB5.0に比べて、
VB6.0→VB.NETは敷居が高い感じですが、
初めてのVBがVB.NETだったらと言って特に
敷居は高くないかも。
 VB6.0→Javaよりは楽ですし。

 Webアプリケーション中心だと、VB.NETや
Java(JSP + サーブレット)を知ってしまうと、
VB6.0には戻りたくない・・・
>>389がいいたいのは、よくガベージコレクタに関して、参照されなくなった
オブジェクトはGCが自動的に開放する、って説明されているのに
参照されていないFormオブジェクトが存在し続けるのはなぜだ?って
ことじゃないか?

詳しくないが、いまGCに関するヘルプ読んだら『ファイル ハンドル、
ウィンドウ ハンドル、ネットワーク接続などのオペレーティング システム
リソースをラップしたオブジェクト』に関してはGCは働かない、と書いてあるから
たぶんそういうことなんだろう。

それにもし参照されていないフォームはGCによって適当なタイミングで
殺される、って仕様だと、たとえばユーザーが意図的に閉じる操作を
しない限り閉じないダイアログを表示したい場合なんかは、そのフォームへの
参照をモジュールレベルで保持していなければならないことになって不便だと思う。
394デフォルトの名無しさん:04/04/29 14:02
>>393
参照されていないのに存在し続けるFormオブジェクトってどんなもの?
どんなものって>>389に例が出てるじゃないか。
396389:04/04/29 14:37
レスありがとうございます

>>390
言いたかったことは>>393のとおりで、
標準モジュールで同じように書くと一瞬表示されてフォームが消えるんです。
こっちは「あー、そりゃそうか」で納得できたんですが・・・

>>393
Formでばかり検索してたので、とりあえずもうちょっとGCのヘルプ読んでみます。
397デフォルトの名無しさん:04/04/29 21:10
ちょっとちがう。

参照がなくなったらGCで開放される。
でも、開放されるのはマネージドなメモリだけで、
OSのハンドル等が開放されるわけじゃない。
※開放するって言っても、メモリが再利用できる状態にされるだけだが。

実際にはOSのハンドル等を使用しているクラスは、ファイナライザが
それを開放するようになってる(そう実装されている)。
※大抵は、内部的にIDisposable.Disposeが呼び出される。

従って、通常は参照がどこにもないオブジェクトは、
OSのハンドルをもっていようが、GCの発動で開放される。
※確か一回目でファイナライザが動くと思うので実際には2回ほどGCが必要かも。

多分表示中のフォームは、どこかで参照が(内部的に)保持されてるんじゃないかな?

ただ、
> 標準モジュールで同じように書くと一瞬表示されてフォームが消えるんです。
とのことなのでよく分からない(俺の環境では、GCを実行しても消えたりしない)。
398最凶VB厨房:04/04/29 23:17
消える消えないというのはこんな感じのコードで試したと推測。
Imports System
Imports System.Windows.Forms
public class Dispo
<STAThread()> _
Shared Sub Main()
Application.Run(new Form1())
Dim frm1 As New Form1()
frm1.show()
End Sub
End Class
399最凶VB厨房:04/04/29 23:18
public Class Form1
inherits System.Windows.Forms.Form
public sub new()
dim frm2 as new Form2()
frm2.text="Form2!!"
frm2.Show()
end sub
end class
public class Form2
inherits System.Windows.Forms.Form
end class
どこが参照を保持しているのか。
それとも別の要因か。
これが重要だっっ!
400デフォルトの名無しさん:04/04/30 12:24
お世話になりますm(_ _)m

「マイネットワーク」内の「WindowsNetwork」に表示される、ワークグループやそれに
接続されているノード、および、それらのローカルIPを、ツリービューなどで
一覧表示したいと考えています。それらの情報を取得する方法が分からないのですが、
使用するクラスやメンバなどがありましたらお教えいただけると助かります。
よろしくお願いします。
JPEGの画質などの保存情報(Exifではない)を取得したいと思っています。
Bitmapに読み込んで、GetEncoderParamerList()すればいいと思うのですが、そのメソッドの引数のGuidを何を指定してやればいいのかわかりません。
何を指定したら、いいのでしょうか?
402デフォルトの名無しさん:04/05/01 00:33
Select Case Label1.Text
Case "0"
Label2.Text = "赤"
      Case "1"
        Label2.Text = "赤"
      Case "2"
        Label3.Text = "赤"
等と順番をいちいち書くのが面倒なので0〜2は赤と一度に書きたいのですが
どうすればいいですか?
403デフォルトの名無しさん:04/05/01 00:34
Form2の内容(例えばForm2のtextbox1の入力内容)をForm1で使用
したいのですが方法がわかりませんので回答お願いします。
Case "0", "1", "2", "3" To "8"
VB.NETってWMPやIEなどの既存コンポーネントを使わずにメディアプレーヤーやブラウザって作れます?
406デフォルトの名無しさん:04/05/01 01:04
>>388
同意
ただ、コードエディタが少々重い気はする

nullがnothingになってたり
variantがobjectになってたり
ismissingが無くなってたり
最初にvb.netで作ったプログラムは
vb6で作れば3時間くらいで作れそうなのに
2日ほどかかった;;

>>406
揚げ足取りみたいだけど、旧VBでもNothingはNothingじゃない?
それから関数のオーバーロードができるようになったんだから
IsMissingなんていらんでしょう。(旧VBのようにOptionalだのIsMissingだの
使うほうがよほど「直感的」じゃないわけで)
408デフォルトの名無しさん:04/05/01 05:16
Form2で

#Region " Windows フォーム デザイナで生成されたコード "
Public Form1 As Form1
(省略)
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim iP As Single
Dim P As Single
Dim day As Single
TextBox1.Text = iP
Form1.Label2.Text = day
P = day * (100 - iP)
Form1.Label5.Text = P
End Sub

Form1.Label2.Text = dayでエラーが出てしまうのですが原因がわかりません。
よろしくお願いします。
409デフォルトの名無しさん:04/05/01 09:37
質問です。
ファイルを削除するのは
KILL("c:\test.txt")で良いみたいだけど、これではゴミ箱に入りません。
ゴミ箱に入れるにはどうしたらいいでしょうか?
>>409
ドラッグするのだよ足立君!!
411テストせずにカキコ:04/05/01 11:35
Form1がNewされてないのでない?

#Region " Windows フォーム デザイナで生成されたコード "
Public Form1 As Form1 → Public Form1 As New Form1
412デフォルトの名無しさん:04/05/01 11:38
VBでCSVを読み込んで、エクセルにデータを渡してグラフを
かくソフトをつくりたいのですがどうつくればいいでしょうか
>>412
直接VBAで読み込むのはイカンのかな。
414デフォルトの名無しさん:04/05/01 12:12
>413
できればファイルの読み込みとグラフにしたい項目はVB上でやって
グラフを書くのだけexcelって感じにしたいのですけど
なにぶんしろーとなもんで
415デフォルトの名無しさん:04/05/01 12:46
質問です。
DHCPサーバにアクセスして、そのDHCPサーバが管理している
全IPを取得したいと考えています。VB.NETにはDNSクラスが用意
されているようですが、DHCPサーバから情報を取得するには
どうしたらいいんでしょうか。
>>412
素人でもなんでも、そんなアバウトな質問に誰も答えようがないことぐらい
普通の知能があればわかると思うんだけど。

月にロケット飛ばしたいんだけどどうしたらいいでしょう、
ってのと大差ない馬鹿質問じゃん。

勉強しろ、あるいは君には無理だから諦めろ、
以外にどんな答えを期待してるの?
417406:04/05/01 13:57
>>407
オーバーロードできるとは知らんかた
貴重な意見サンクスです
418デフォルトの名無しさん:04/05/01 14:21
Winnyで加護亜依のニャンニャン動画流出 Part19
http://tv5.2ch.net/test/read.cgi/morningcoffee/1083344761/
だまされた
420最凶VB厨房:04/05/01 15:32
(´-`).。oO 変数名とクラス名が一緒なコードはやだな
421380:04/05/01 17:40
>>409
知ってるぜ。
WSHのshellとか使うんだぜ〜〜〜〜〜
422デフォルトの名無しさん:04/05/01 17:47
ActiveMovie Control Object を追加すると
選択可能になるAxActiveMovieをつかって動画再生するソフトを作ってみました。
このような、Windowsに標準装備のActiveXコントロールを使用して作ったソフトは
フリーソフトとして公開しても問題ないでしょうか?
ギコナビなんかもIEコントロール使って実現してるんだから問題ないんでない?
>>409
調べてみたけど、めんどくせーな。ごみ箱移動ごときで、api使うのか。
425422:04/05/01 20:16
>>423
情報どうもです。
それでは問題なさそうですね。
後から訴えられたりしないよなぁ・・・
>>425
何が問題になるのか、と言えば、再配布の権利を持たない物を
勝手に再配布する事なので、使うだけの自作アプリケーションを
配布事自体は全く問題ない。
つまり、Active Movieのライブラリを再配布しなければ、問題なし。
427422:04/05/01 21:23
>>426
コンパイルした時に出来る
AxInterop.AMovie.dll
Interop.AMovie.dll
は配布できない事ですよね?
そりゃ困った。諦めるか・・・
AxInterop.SHDocVw.dllなどみんな配布してるから問題なし。
みんな配布してるから、とかじゃなくて
単なるラッパークラスの実体だからOKなんでしょ。
問題あればVectorの審査ではじかれるんじゃないかな?
431430:04/05/01 22:09
思わずVectorと打ってしまった(w
フリーソフトなどを扱うサイトや雑誌では審査があるはずだから、
そこで弾かれるんじゃないかと・・・
.NET compact Framework上でImageから別のImageへ短径コピーできる方法ありますか?
433GWプログラマ:04/05/02 00:07
自分で作ったクラスのプロパティで、ListBox の Items プロパティのように
「文字列コレクション エディタ」で編集できるプロパティを追加したいの
ですが、どのようにすればいいか分かりますでしょうか?
System.Collections.Specialized.StringCollection を使ってみたけど、
文字列の追加もできないし、よく分からんです。
>>408です。
Newと書き換えたのですが、
TextBox1.Text に何の数字を入れてもButton1をクリックすると
TextBox1.Textが0になってしまいます。

Form1には
'Form2クラスのインスタンスを作成する
Dim s As New Form2()
'Form2を表示する
'ここではモーダルダイアログボックスとして表示する
'オーナーウィンドウにMeを指定する
s.ShowDialog(Me)
'フォームが必要なくなったところで、Disposeを呼び出す
s.Dispose()
を付け足したのと>408をPublic Form1 As New Form1 に変えた
だけですので原因がわかりません。
>>434
釣り?自分でゼロ表示するようなコード書いてるんだから当たり前では?
>TextBox1.Text = iP
iPは明示的に初期化してないから当然ゼロでしょ。

余計なお世話かも知れないが、8ビット時代のBasicじゃないんだから
その意味不明な変数名はないんじゃないかな。
だからこういう「自家中毒」に陥るんじゃない?
TextBox1に何を入れてもという話だけど
TextBox1から値を取得するコードがどこにもない気がする

んでもってButton1を押す度に変数iPは初期化されてるから
必ず0になる

Public Class Form2
Inherits System.Windows.Forms.Form
Private iP As Single

こんな感じで頭の方で永続化した変数にしてやってみては?
>>435-436
Dim iP As Single
Dim P As Single
Dim day As Single
iP = Val(TextBox1.Text)
day = Val(Form1.Label2.Text)
P = Val(Form1.Label5.Text)

P = day * (100 - iP)
Form1.Label5.Text = P
Private iP As Single を頭の方で付けたり、上のコードに直してみたりしたのですが、
Form1.Label5.Textに変数Pの値が反映されません。
438デフォルトの名無しさん:04/05/02 02:08
読みにくそうだったんで。

Dim iP As Single
Dim P As Single
Dim day As Single
iP = Val(TextBox1.Text)
day = Val(Form1.Label2.Text)
P = Val(Form1.Label5.Text)
P = day * (100 - iP)
Form1.Label5.Text = P

Private iP As Single を頭の方で付けたり、上のコードに直してみたりしたのですが、
Form1.Label5.Textに変数Pの値が反映されません。
PM3:00〜PM6:00まであるイベントを行うコードを書きたいのですが
どういう書き方で何を使えばいいのか教えて下さい。
>>439
PM3:00から動かしたいならWindowsのタスクサービスと連携させればいいんじゃないか?
落とすのはTimerでもなんでも好きにやってくれ
441435:04/05/02 11:37
>>437-438
悪いこと言わない。プログラミングなんて止めたほうがいい。
あなたには全然適正ないよ。初心者?プログラミング初めて三日目でも
普通そんなことでは悩まない。

率直に言ってそんなことぐらい自己解決できない人に未来はないと思う。
それが人に聞かなきゃ問題を解決できないようなコードですかって。
OracleのバックアップするのにWindowsタスクでVBScript起動させてる
簡単な物ならこのぐらいが楽
443デフォルトの名無しさん :04/05/02 14:33
DataGridの特定のセルだけフォントを変えることって可能でしょうか?

DataGridを使って競馬出走表作成プログラムを作ってるのですが
DataGridのフォントの変え方がわかりません。

ご教授のほどよろしくお願いします。
>>441
じゃあ原因教えて下さい。プログラミングは趣味程度なんで。
全然関係ない大学行ってます。
バージョンアップデート機能の実装を参考に紹介しているページがあった気がしますが、どこでしたっけ?
446デフォルトの名無しさん:04/05/02 15:56
偉そうな>>444萌え
ついでにage
似たようなコード書いてみたけどちゃんと動く

つ〜か良く読むと変数Pの値が消されてる

iP = Val(TextBox1.Text)
day = Val(Form1.Label2.Text)  ←ここで変数Dayに0が入ってるといつまでたってもPは0
P = Val(Form1.Label5.Text)
P = day * (100 - iP)
Form1.Label5.Text = P

コード記述の方法知ることも大事だけど
自分が何をしたいのかをきちんと相手に伝えないと
ここ読んでる人も何をしてあげていいのか分からんぞ
>>447
いちおう実験の為Form1.Label2.Textは1にしてiPに数字を入力し、
Form1.Label5.TextにiPで入力された数字がそのまま反映されるか
試してみたのですがForm1.Label5.Text は何も変化がありませんでした。

ちなみに書いたコード
Dim iP As Single
Dim P As Single
Dim day As Single
iP = Val(TextBox1.Text)
day = Val(Form1.Label2.Text)
P = Val(Form1.Label5.Text)
P = day * (100 - iP)
Form1.Label5.Text = P

Form1.Label2.TextはForm1のデザインの所で1と入力しています。
1.努力を放棄すること
いやしくも「教えてクン」たるもの、努力をしてはならない。過去ログを読んだり、検索してはいけない。
他力本願と言われようと、自分で調べたり試行錯誤したりせず、他人の努力の結果を搾取するのが、正しい「教えてクン」である。
また、「もう何が悪いのかサッパリ分かりません。」と言ってふてくされるのも有効である。
「サッパリ」という単語が「やる気の無さ」を効果的に表現している。
「原因を特定するには、何をすべきでしょうか?」と訊いてしまうと自己の積極性が現れてしまうので、「教えてクン」失格である。

2.答える人間のことを考えないこと
「教えてクン」は、孤高の戦士である。相手のことを考えるようでは 教えてクン失格というものだ。
以下のような行動が、望ましい。
初心者であることを高らかに宣言し、初心者向けの丁寧で分かりやすい説明を強要する。
専門用語の使用を禁じておくとさらに効果的である。
簡潔な説明を禁じられたヲタクどもは、同じ内容を説明するのに、何倍もの労力を強いられる。
自分は努力せず、相手には多大な努力をさせることこそが「教えてクン」の真骨頂である。
マルチポストも有効である。そのBBSを信用していないことを明確に示せる。
「どうせ、お前らじゃ分からんだろう。」という意志表示として高く評価できる。
もちろんマルチポストの非礼をあらかじめ詫びてはならない。
それでは、単なる「急いでいる人」になってしまう。それは、教えてクンではない。

最後に、言うまでも無いことだとは思うが、答えてくれた人達にお礼の言葉を返すなど言語道断である。
せっかく「教えてクン」を貫いてきたのに、最後にお礼を言っているようでは、臥竜点睛を欠いていると言わざるを得ない。

以上のことを踏まえて質問すれば、君も立派な「教えてクン」である。
ビバ!教えてクン! 教えてクンに栄光あれ!!
教えてクン、ていうか>>448は釣りのつもりなんでしょ。
そんなことして何が楽しいのか知らんけど。
.NETのバグだろうからマイクロソフトに聞いてみるといいよ
うちの環境では再現できなかった
つ〜か、疲れた
452デフォルトの名無しさん:04/05/03 02:36
>>450
釣りでは無くてマジなんですよ。
ど素人なんて言い訳にならないと思いますけど
馬鹿でもわかるように詳しく教えて下さい。
Valとかのレガシー関数使ってるけど
VB6かVBSは使ったことはあるのか?

ところでこのスレ用のアップローダとか合った方が便利なのかね>>ALL
454デフォルトの名無しさん:04/05/03 02:56
>>453
ないです。買った時には.netしか売っていなかったんで。
455デフォルトの名無しさん:04/05/03 03:02
また新しいプロジェクトを作って実験してみました。(必死ですいません。)

Form1(Label1・Button1)を作成

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim fm2 As Windows.Forms.Form = New Form2()
fm2.Show()
End Sub


Form2(TextBox1・TextBox2・Button1)を作成

Public Class Form2
Inherits System.Windows.Forms.Form
Public Form1 As New Form1()

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim tx1 As Single
Dim tx2 As Single
Dim Fm1 As Single
tx1 = TextBox1.Text
tx2 = TextBox2.Text
Fm1 = tx1 + tx2
Form1.Label1.Text = Fm1
End Sub
456デフォルトの名無しさん:04/05/03 03:04
Form1.Label1.Text にFm1の値が反映するようにとTextBox1・TextBox2に
適当に数字を半角で入れましたがForm1.Label1.Textには何の反応もありまsんでした。
Form2上の

Public Form1 As New Form1()
これは一番最初に現れるForm1とは別物のインスタンス
コンピュータ上では画面に表示されてないForm1に対して表示している
Fm1 = tx1 + tx2
Form1.Label1.Text = Fm1
Form1.Show '←試しにこれを追加してみるとよく分かる

このやり方が正しいかはワカランが参考までに

Form1のコード
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim fm2 As New Form2
fm2.Owner = Me '←ここでForm2の呼び出し元を設定
fm2.Show()
End Sub

Form2のコード
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim tx1 As Single
Dim tx2 As Single
Dim Fm1 As Single
Dim MyOwner As Form1 = Me.Owner '←ここで呼び出し元のフォームを設定

tx1 = CType(TextBox1.Text, Single)
tx2 = CType(TextBox2.Text, Single)
Fm1 = tx1 + tx2
MyOwner.Label1.Text = Fm1

End Sub
458デフォルトの名無しさん:04/05/03 05:35
>>457
すごい!できました。
ではPublic Form1 As New Form1() とみなさんおっしゃってましたけど
消しても動作しました。いらないのですか?
不要
460デフォルトの名無しさん:04/05/03 07:50
ボタンを押すとテキストボックスをコピーしたいのですが
どういうコードを書くのですか?
胸のボタンがハニーフラッシュしちゃうのですが
どうしたらいいですか?
462デフォルトの名無しさん:04/05/03 08:32
>>460日本語がおかしいので

ボタンを押すとテキストボックスの内容をコピーするようにしたいのですが
どういうコードを書くのですか?
>>458,462
同一人物?あんたたちこんなとこで人に問題を尋ねる最低限のレベルにすら
達してないだろう。横着せずに入門本の一冊ぐらい読めよ。

『習うより慣れろ』だけでプログラミングを習得できた時代なんて
もうとうの昔に終わってるんだよ。

最低限の知識すら身に着けずに、こんなとこで対処療法的な解決法を
人に教えてもらってやり過ごしても問題の先送りに過ぎず、結局後々
自分が泣きを見るだけだ。
464デフォルトの名無しさん:04/05/03 09:16
>>463
今も調べまくってるのですが、テキストボックスの内容をコピーする
方法が載っていないのですよ。
乗っているのはテキストボックスだと右クリックでコピーできますとか
ばっかり・・・。本当に困ってます。
>>464
ていうか、プログラミング以前にまず言語感覚を磨け、といいたい。
コピーする、ってどこに?君の脳内にコピーしたいのならそりゃあ無理だわ。



。。。。と、あえて釣られてみる。
466デフォルトの名無しさん:04/05/03 09:23
コピーしてメモ帳等に貼り付けれるようにしたいのです。
言葉足らずでしたね。
467デフォルトの名無しさん:04/05/03 09:26
http://dobon.net/vb/dotnet/control/tbtextedit.htmlを参考に
Me.TextBox1.Copy()と書きましたが無理でした。
TextBox1のtextをコピーしたいのだから無理なのは薄々感じて
いましたが。
>>466-467
そういう用途には「クリップボード」を使う。
クリップボードって用語は、プログラミングじゃなくて普通のPCの入門書にも
出てくると思うんだけど。。

クリップボードの使い方のサンプルコードも、>>467と同じウェブページに
あったはず。っていうか、中級程度のTips系の本にもたいてい載ってると
思うけどなあ。

調べてる、って本当かなあ。。。?正直、単に横着をしているようにしか思えない。
469デフォルトの名無しさん:04/05/03 09:40
>>468
「クリップボード」はワードとかにも出てくるんで意味はわかるんですけど
プログラミングとなると・・・。
逆引きとハンドブックで調べてました。
470デフォルトの名無しさん:04/05/03 10:18
興味がわいたので調べてみたよ。
自分の場合は動作確認も含めて、5分程度で解決した。
まぁ問題解決のコツを掴んじゃってるのかもね

ttp://dobon.net/vb/dotnet/graphics/copytoclipboard.html
↑ここで紹介されている
Clipboard.SetDataObject(PictureBox1.Image, True)
これを修正して、
Clipboard.SetDataObject(TextBox1.text, True)
で、出来た。

他のコントロールでもいろいろ使えそう。
ここでも見て勉強してくれ。

Visual Basic At The Movies
http://msdn.microsoft.com/vbasic/atthemovies/
>>470
問題解決もなにも、DOBON.NETさんにまんまのコードがのってますがな。

http://dobon.net/vb/dotnet/string/clipboard.html
12時か・・・
奴サンはMSDNをインストールしてるのか?
よっぽど高度な問題でもない限り記載されてるはずなんだが
>>473
こういう人に限ってちゃんとMSDN使ってないんじゃない?

いや、MSDN見やがれ、ってのは一般論としてはその通りなんだが、
MSDNは万能じゃない。問題解決の手段として必ずしも常に効率的とはいえない。

特に初心者にとってはね。個々のメソッドや予約語のリファレンスとして
MSDN見ろ、ってのはよくても、初心者に何でもかんでもMSDNで調べろ、ってのは
言ってる奴の単なる驕りで酷な話だろう。

>>462みたいに、そもそも「クリップボード」って概念がわかってない人に
MSDNだけ見ていったどうやって解決しろと?

もちろんだから人に聞けばいい、って言いたいんじゃなくて
最低限のことぐらい入門書で押さえとけよ、と言いたいんだが。
>>474
で、結論は?
476デフォルトの名無しさん:04/05/03 23:05
クリップボードなんかはプログラムの入門書じゃ解説して無いだろうからな・・・
プログラムやるなら、ヘビーユーザーな域まで達してからじゃないと辛いのかも
Office2000のVBA用に買ったVBの入門書上下、
VB.NETだと全然役に立たないとは。
なんでこんなに変っちゃったんでしょう(泪

               -― ̄ ̄ ` ―--  _     
          , ´         ,    ~  ̄" ー  _
        _/          / ,r          ` 、
       , ´           / /    ,ヘ         ヽ
    ,/   ,|           / /     l| i        ,/
   と,-‐ ´ ̄          / /  r(  j'        く
  (´__   、        / /  `( u ,ヘ         ヽ
       ̄ ̄`ヾ_      し    u l| i         _>
          ,_  \           ノ(`'  __   -‐ ´
        (__  ̄~" __ , --‐一~⊂  ⊃_    もうだめぽ
           ̄ ̄ ̄      ⊂ ̄    __⊃
                   ⊂_____⊃
>>477読んでてなんとなく思い出した。
vb.netではじめてvb触ったんだけど、vb6以前はデフォルトが参照渡しだって聞いて、
のけぞったな。でもまあbasicってもの考えれば、そっちの方が当たり前か。
普通は、outかrefかなんて書くし。でもまあなんだかな。
479デフォルトの名無しさん:04/05/04 09:03
>>477
VB.NETはVBという名のマイクロソフト製JAVA
480デフォルトの名無しさん:04/05/04 11:50
>>457を利用させてもらった者です。
Form2上ではForm2の値をForm1に反映させる事はできましたが
Form1上ではForm2の値をForm1に反映させる事ができませんでした。
(Form1でForm2のTextbox1の値を利用したいと言うことです。)

よろしくお願いします。
Delphiだろ
482457:04/05/04 14:18
Form2上でForm2の値をForm1に反映させる事よりも
Form1上でForm2の値をForm1に反映させる事の方が楽

ヒントはfm2をForm1のどこでも参照できるようにする
483デフォルトの名無しさん:04/05/04 15:11
>>482
Public fm2 As New Form2()
ですか?
この手の話、何億回目だ?
485デフォルトの名無しさん:04/05/04 15:17
Public fm2 As New Form2()

実行してもできませんでした・・・
486デフォルトの名無しさん:04/05/04 16:43
最近のPCにはフレームワークは標準搭載ですか?
487デフォルトの名無しさん:04/05/04 17:28
>>485
あほ、出来るわけないだろ。
何度説明しても意味すら全く理解してない、時間の無駄だ。

あいや、なんちゅうかね、別に物事をすぐ理解できないのがあほと
言ってるわけじゃないのよ。
488最凶VB厨房:04/05/04 18:13
>>485
もうその質問はやめときなー。
あとマルチポストもやめときなー。
489デフォルトの名無しさん:04/05/04 18:44
>>488
コードだけ教えて下さい。これで完成なんです。
6.0にしときゃ良かったですよ。
>>489の人
だから時間と金を惜しまずに入門本にあたれって。
高々2,3千円の金がそんなに惜しいの?

ていうか、VB6.0からしてちゃんと理解してないっすよあなた。
↓に書いてあること理解してれば、VB.NETでも何にも悩むことないはず。
http://homepage1.nifty.com/CavalierLab/lab/vb/clsmdl/index.html
明日、入門書を買ってこようかと思ってるんですけど、お勧めはありますか?
高校生の時に、6.0を少しだけ(ほんと少しだけ)やったことがあります。
VB.NETを使って、とりあえず何も見なくて電卓だけは作れたんですが
次のステップでメモ帳を作ってみようと思ったんですけど、ファイル保存のやりかたがイマイチ…
6.0の時は、Common Dialog Control で出来たと思ってたんですが
.NETで使おうと思ったらライセンスが無いぞ(#゚Д゚)ゴルァ!!と警告が出て使えませんでした。

これは.NETを最初から勉強するべきだと思って、入門書を本屋に見に行ったのですが
岡山の地方の方に住んでいるせいか、良い物が置いてありませんでした。
それで、ネットで注文しようと思ったのですが、
プログラミング経験は、COBOLとJavaです。オブジェクト指向は分かっています。
どなたか、おすすめがあれば教えてください。よろしくおねがいします。
>>490
VB6.0だって不完全ながら「オブジェクト指向」だからなぁ。
普段VBプログラマが叩かれてる理由が良くわかるな・・・
>>493
おまいも>>492
>>492>>495
みなさん、ありがとうございます。探してきます!
497デフォルトの名無しさん:04/05/05 01:10
>>490
.netを買わないで6.0をオークションででも買った方がって意味です。
プログラムは.netが初めてです。入門書やハンドブックも持ってますが
ownerは載ってないです。
本当にコードだけでも教えて下さい。勉強は惜しまずしますので。
498デフォルトの名無しさん:04/05/05 01:51
>>497
某所にほとんど答えかかれてるじゃねーか、それでも分からんのか?
# もっとも、その後の書き込み見たら絶句だけどな…
VisualStudioが滅茶苦茶に遅いのですが、こんなものですかね。
リソースのコンパイルが遅いのですか?
>>499
>VisualStudioが滅茶苦茶に遅いのですが
滅茶苦茶ってどれぐらい遅いんだかわからん。
あと何が遅いのかもよくわからん。全体的に?それともコンパイルが?
>リソースのコンパイルが遅いのですか?
聞きたいこともいまいち

結構苦言になってしまったけど、Visual Studioのコンパイルは別にたいした重さじゃないと思うよ。
俺にとっては「滅茶苦茶」では無いと思う。
PCはWindowsXP Celeron 1.4G メモリ PC100 256MBなんて微妙なスペックだけど遅くは無い。(Visual Studio.NET 2003使用)
501デフォルトの名無しさん:04/05/05 02:30
>>498
Dim fm2 As New Form2()ですか?
なんだよ…マルチポストかよ・・・
せっかく教えたのに無駄かOTL
>>449
遅いHDD使ってると遅い場合がある
職場と自宅の環境だとメモリもCPUもさほど変わらないのに
職場:サムスンATA100(2MB)
自宅:SeagateATA100(8MB)
で偉い差がある
>>499の間違い
すべて釣りとみた
GWだからな
レジャーだな
もしや彼は>>359か?
延々と同じような質問を繰り返してる
509デフォルトの名無しさん:04/05/05 03:28
>>501
>>485,487で(その記述では)出来るわけないって言われてるのに
何同じこと繰り返してんだ?
510デフォルトの名無しさん:04/05/05 03:33
VB.NETをインストールしてある環境で、
VB6のアプリケーションを動かそうとしたら、やはりVB6用のランタイムインストールは別途必要なのでしょうか?
VB6のアプリが動かなければインスコ必須
512デフォルトの名無しさん:04/05/05 03:48
全く別物だからね(VB.NETとVB6以前)。
ttp://www.vector.co.jp/soft/win95/home/se110749.html
こんな風に入力した年月日と現在の年月日の差を求めてるのって
どうやってるのでしょうか?
xDate.DayOfYear - yDate.DayOfYear
515デフォルトの名無しさん:04/05/05 14:44
ランタイムをプログラム内に組み込むことができるんですか?
どうにもならないので質問しようと思ったらなんとか解決できたのですが
一応参考にということで。

問題:
VB.NET2002でDataComboBoxを追加しようとすると
『この ActiveX コントロールを使用するライセンスがありません』
というエラーが出る。

解決方法:
ライセンスキーをレジストリに追加する。詳しくは↓にて。
ttp://support.microsoft.com/default.aspx?scid=kb;ja;318597
ちなみにスタンダードエディションではDisk3ではなくDisk4を使います。
>>516
これって、VB6持ってなくてもライセンス違反にならないんでしょうか?
私もちょうど同じところでひっかかったもので…
>517
VB6のプロダクトキーを要求されているわけではないのでOKだと思います。
もしVB6必須であればわざわざ.NETにregファイルを添付したりしないでしょう。
ActiveXコントロールを利用したVB.NETアプリに関する質問です。

VB6で作成された"hoge.ocx"というActiveXコントロールがあったとします。
これをVB.NET2002で作成した"test.exe"というWindowsアプリケーションで
利用したとします。するとプロジェクトのbinフォルダに、
AxInterop.hoge.dll
Interop.hoge.dll
というファイルが作成されます。MSの説明によれば、これら2つのDLLと
test.exeを配布先(.NET Frameworkはインストール済み)のPCにコピーすれば、
レジストリへの登録を必要とせず、test.exeを動作させることができることに
なっています。
ところが実際には、test.exeを配布先のPCで起動させようとした際に・・・

System.Runtime.InteropServices.COMException

という例外が発生し、起動さえしません。Microsoft CLR Debugger 2003では、
「追加情報 : クラスが登録されていません」と表示されていました。

ちなみに、hoge.ocxはテキストボックスやコマンドボタン等、既存のコントロール
からなるもので、プロジェクトのプロパティもすべてデフォルトのままです。
MSはあくまで「XCOPYのように単純にファイルをコピーすればインストール可能で、
レジストリへの登録は不要」と言っていますが、実際には登録が必要なのでしょうか?
"ActiveX",".NET","COM"などで必死にググっても、答えは見つかりませんでした。
どうか、対処策をご教授ねがいます。長文、すいません。
520デフォルトの名無しさん:04/05/05 18:57
ActiveXコントロールをインストールしてないだけじゃないの?
521デフォルトの名無しさん:04/05/05 19:24
VisualStudio6.0を持っていて、その後、VisualStudio.net 2002を購入。
で、2003はアップグレードせずにいたのですが、諸事情により導入しなくてはならなくなりました。
この場合、6.0からのアップグレードということで、ステップアップグレード版を購入しちゃっていいんでしょうか。
それとも、2002からのアップグレード版を買わないとダメですかね。
価格差が結構あるもので。
>>521
なんかMS社員必死だな、って言われそうなレスでんな。
こんなとこで質問してる間にMSのVisual Studioのウェブページ
見ればわかるじょ。
www.microsoft.com/japan/msdn/vstudio/stepupgrade/
>>519
(すみません、回答ではないです)
> MSの説明によれば、これら2つのDLLと
> test.exeを配布先(.NET Frameworkはインストール済み)のPCにコピーすれば、
> レジストリへの登録を必要とせず、test.exeを動作させることができることに
> なっています。
これって情報元はどこなのでしょう?
525デフォルトの名無しさん:04/05/05 20:53
VB.NETからだと思うんですが
Printerのデバイスコンテキストって取得できないんですか?
6.0のときはprinter.createDCみたいにすれば取得できたと思うのですが
PrintDocumentオブジェクトでは見当たらないもので。。
どなたか教えていただけますか?
526519:04/05/05 21:18
>>524
たとえば、ここです。
ttp://www.microsoft.com/japan/msdn/net/vbtransitionguide/chapter2/chapter2_7.asp
レジストリに依存しないインストールというのがVB.NETのウリだったと思うのですが、
なんか、ものすごく勘違いしてますか? (汗

>>525
GDI+ではデバイスコンテキストは不要になったため、
hDCプロパティは廃止されたそうです。
もし、Win32 API などの利用のためhDCが必要な場合は、
Paintイベントプロシージャなどで以下のように処理します。
(PaintEventArgsである変数"e"が必要です)

  Dim ptr As IntPtr  'IntPtr構造体
  Dim hDC As Integer 'デバイスコンテキストハンドル
  ptr = e.Graphics.GetHdc()
  hDC = ptr.ToInt32()
  'その後・・・
  e.Graphics.ReleaseHdc(ptr) '必ず実行。
IntPtrからIntegerにキャストする必要があるのか。。
以前、DrawFocusRect使ったときにAPI宣言の時点で引数をIntPtrで宣言したら
ちゃんと動いたけど。
>>526
Managedな世界ではそう。
>>519 で生成されたdllはラッパーだから元のUnmanagedなocxが必要。
529499:04/05/05 22:04
激しく言葉足らずな質問でゴメンなさい

開発中にフォームとコードを交互に行ききしたり、暫く扱っていなかったフォームを表示しようとすると、とにかく画面がきりかわって編集可能な状態になるまで時間がかかります。

30〜60秒ぐらいかかったりします
で、勝手な思い込みで、リソースとそのコードの整合性を維持するのに時間がかかっているのかな…と思った次第です。

>>529
仕様です
531519:04/05/05 22:33
>>528
ということは、たとえ.NETで作成されたアプリであっても、
「ActiveXコントロール(COM)を使っている場合は、DLL地獄は解消されない」
ってことですか・・・ _| ̄|●il||li
532519:04/05/05 22:36
>>528
ってことは、たとえVB.NETで作成されたアプリであっても、
ActiveXコントロール(COM)を使っているからには
「DLL地獄から解消されない」ということなんですか・・・
_| ̄|● il||li
連投してしまいました。すいません。
534デフォルトの名無しさん:04/05/05 22:42
>>531
そりゃしゃーないでしょ、既存のリソース使ってんだから。
むしろ解消されたらびっくりするが。
ActiveXの場合は物理ファイル名じゃなくてGuidで識別されるから
dll hell ってもともと存在しないと思ったけど......違った?
536デフォルトの名無しさん:04/05/06 00:34
あんま詳しくないんですが、
Guidで識別されるから尚更 DLL Hell の原因になるんでは?
またしても自己解決しましたが参考までに。

問題:
ADOデータコントロールでアクセスするためのデータリンクを作成したいが、
Windows2000では Microsoft Data Link がExplorerの新規作成メニューに表示されない。

解決方法:
メモ帳を開き
REGEDIT4
[HKEY_CLASSES_ROOT\.UDL\ShellNew]
@="MSDASC"
"Data"=hex:ff,fe,5b,00,6f,00,6c,00,65,00,64,00,62,00,5d,00,0d,00,0a,00,3b,00,
20,00,45,00,76,00,65,00,72,00,79,00,74,00,68,00,69,00,6e,00,67,00,20,00,61,
00,66,00,74,00,65,00,72,00,20,00,74,00,68,00,69,00,73,00,20,00,6c,00,69,00,
6e,00,65,00,20,00,69,00,73,00,20,00,61,00,6e,00,20,00,4f,00,4c,00,45,00,20,
00,44,00,42,00,20,00,69,00,6e,00,69,00,74,00,73,00,74,00,72,00,69,00,6e,00,
67,00,0d,00,0a,00,50,00,52,00,4f,00,56,00,49,00,44,00,45,00,52,00,3d,00,6d,
00,73,00,64,00,61,00,73,00,71,00,6c,00,3b,00,0d,00,0a,00
をコピペして適当な名前.REGで保存してから実行する。詳細は↓にて。
ttp://community.borland.com/article/0,1410,27138,00.html

中々分かり易い初心者用の解説書を買ってきてチマチマやっていますが
あまりにデフォルト過ぎるのか、こんなことは説明無し。
プログラミング以前の環境構築の段階でくじけそう… _| ̄|○
自作したソフトを他のPCで使用する場合下のURLの
http://www.microsoft.com/japan/msdn/netframework/downloads/sdk.asp
「 .NET Framework 1.0a SDK (160 MB)」ではなくて.NET Framework 再頒布パッケージ(20.4 MB)
でもOKなんですか?
539デフォルトの名無しさん:04/05/06 11:18
今VB.NETで文字列(複数行に渡るテキストボックス内文字列など)を
1行毎に取り込む部分を作ってたんですけど、

split(StrA, vbLF)だとうまくいって
split(StrA, vbCR)だと失敗するのは何故?
>>539
CR+LFで改行コードが表現されているんだが、LF=Line Feed(改行)
とCR=Carriage Return(行頭復帰)の意味を考えたらわかるでそ。
つか、ふつーにvbCrLfの定数を使ったらあかんの?
541243:04/05/06 12:03
>>540
vbCrLfだと跳ねられるのよこれが。
ま、vbLfで上手くいくからいいんだが何かすっきりしない。

ためしにテキストボックス内の文字列を1文字づつ文字コードに変換して
取得するテストしてみたら
見事にCR(0xD)が抜けていきなりLF(0xA)が取得される。

010203<CR><LF>の場合
0x30 0x31 0x30 0x32 0x30 0x33 0x0A
って感じになってCRの部分が抜けてる。

For i = 1 To Len(StrA)
  Result.text = Result.text & Asc(Mid(StrA, i)) & " "
next i
って感じのソースでやってるんだが。

CRが上手く認識されてない感じ。
こういうもんなんかな?
カンマ区切りとかのデータじゃなければ
ストリームを1行ずつ読んでみては?
あれ?.NETってvbcrって使えたんだっけか?
vbNewLineしか無くなったとばかり思ってた
ControlChars.CrLfに置き換わった
>>544
どっちもいけると思ってたんだが。
ttp://dobon.net/vb/dotnet/string/controlchars.html
すごく初歩的なことで悩んでるんだけど、HScrollBarって

HScrollBar1.Maximum = 5
HScrollBar1.LargeChanged = 2

こうするとHScrollBar1.Valueは4までしか上がらない!?
547最凶VB厨房:04/05/06 20:54
>>546
うん。
>>546
ガーソ。
MaximumまでValueは上がると思ったのに・・・まいった
549最凶VB厨房:04/05/06 21:13
ScrollBar.Maximum プロパティの解説のメモのところよんどーみ。
おぉ。ってことは計算しておけばいいな。
なんでこんなめんどくさい仕様にしたんだか・・・と愚痴を言ってもしょうがないな。
おぉ。ってことは計算しておけばいいな。
なんでこんなめんどくさい仕様にしたんだか・・・と愚痴を言ってもしょうがないな。
552最凶VB厨房:04/05/06 21:19
なんでこういう仕様にしたかはわからんが、
Maximumをちょっとあげりゃぁもーまんたぃw
>厨房
サンクス。助かったよ
厨房呼ばわりされてムキーってなってる最凶VB厨房氏
555デフォルトの名無しさん:04/05/06 21:46
ドラクエを作っていると思ってください。
とりあえずDirectXは使わずに、PictureBoxでマップを描いています。

んで、VB6まではコントロール配列が使えたので楽チンなのですが、
VB.NETでは使えないので悶々としています。

表示するマップが15x15だとしても、Picture1 ... Picture15をデザイナで配置して、
んで、配列にインスタンスを代入しなければいかんのでしょうか。

なんか動的にコントロールを生成できないでしょうか。

For m = 0 To 15
  For n = 0 To 15
    Map(m, n) = new PictureBox
  Next
Next

こんな感じで。
556555:04/05/06 21:49
あ、あと15x15 は可変にしたいのです。
>>554
いや、悪気は無いんだけどね。コテがそういう名前だからしょうがない
どうしてマップ描画するのにコントロール配列、というか
複数のピクチャーボックスが必要なのか全然わからないのは
俺がアホだからですか?
ユーザコントロールを動的に追加して
Accessのフォームビューのような物を作ったことがある

Form1にPanel1を追加して
ユーザコントロールhogeCtrlをレコード分追加していったという感じ
Panel1.Controls.Add(hogeCtrl)

マップのようにしたいのであればhogeCtrlのXYを調整していけばできそう

的はずれだったらスマソ
560555:04/05/06 22:15
>>558 マップのイメージは64x64のBitmapとして持っています。
んで、表示するときはこれを16x16とかに拡大縮小できるようにしたいんです。
だったら、SizeModeでStrechImage指定すれば楽かな。って。

あと、もしかしたら、大きなPictureBoxコントロールに、
複数のイメージを読み込ませることなんてできたりするんでしょうか。

>>559 調べてみます。
561最凶VB厨房:04/05/06 22:45
ムッキーーーーーーーーヽ(`Д´)ノ   ・・・ってなんでやねんw
562デフォルトの名無しさん:04/05/06 23:03
.NETでは変数などの命名ガイドラインはハンガリアン記法を使用しないで
Pascal形式やCamel形式で記述するように・・・っと本で見たのですが、
その他の命名はどうしてますか???
Form1、Button1、RadioButton1などのオブジェクト名やコントロール名
Class Class1 クラス名やModule名とか、ファンクション名、サブプロシージャ名
とか・・・
Module1.vbとかForm1.vbとかのファイル名まで・・・

プリフックスを同じにして関連性のあるものがインテリセンスとかで順番に並んで
くれると助かるが、ハンガリアンつかわないで、わかりやすくってとなると・・・・
RadioButtonHogehogeっとか長ったらしくなる・・・

実際の動作には関係ないからいままで適当にやってきてしまい、
自分でも何が正しくて、何が間違いなのかわかりません・・・・

どなたか優しくおしえてください。おねがいします。
563555:04/05/06 23:33
動的にコントロール生成する方法わかりました。

Dim m As Integer
Dim Button(7) As System.Windows.Forms.Button

For m = 0 To 7
  Button(m) = New System.Windows.Forms.Button()
Next

Button(0).Text = "AAA"

Me.Controls.Add(Button(0))
564最凶VB厨房:04/05/06 23:55
>>562
どれが正しいなんてもんはなかろう。
ここでもみとくか?
http://objectclub.esm.co.jp/eXtremeProgramming/CodingStdVB.pdf
俺がマップのプログラムをするとしたら
Bitmapクラスのインスタンスにマップの素材(山とか城とか森とか16*16サイズ)が並んでいるビットマップを読み込ませておいて
PictureBoxにDrawImageでひょいひょい書いていくなぁ。
For i = 1 to 15
For j = 1 to 15
select case map(i,j)
case MORI
DrawImageで森を書く
case YAMA
DrawImageで山を書く
End select
Next
Next

あくまでひとつの手法として提案だよ
566555:04/05/07 00:23
>>565 あー、DrawImage なんてあるんですね。
もう表示部分作ってしまった。。
どうせ実験的なインターフェイスなので、
いつかはもっと効率的に書き直しナス。。
初めて書き込みします。よろしくお願いします。
VB.NET (もしくはC#) で例外処理の強要って可能ですか?
というのは、 java なら throws ○○Exception と書かれたメソッドがあるとすると
それをコールする側のどこかで、○○Exception の処理が無ければコンパイルエラーとなる
という言語仕様だと思うのですが
VB.NETで同様の縛りを実現する事は可能でしょうか?
>>567
できません。
VB.Netにぬるぽに相当するエラーメッセージはありますか?
Classは参照型。
Structureは値型。
これが良くわからん。
わかりやすく教えてたも。
Classはショートカット
Structureは実ファイル
Classは化身
Structureは実身
573567:04/05/08 00:00
>>568
やっぱできないんですね。
ありがとうございます。
2時間くらい、「できるはずだっ」って必死こいて調べた漏れって・・・
漏れは、VB.NETやC#の方が言語仕様やプラットフォームとして好きだが、
この点(例外処理の強要)だけは、javaの方が好きです。
だれかわかりますか?
VBを実行しようとするとなぜかオフィス2000のインストーラが立ち上がります
なぜ?VB.NETに移行せよということなんでしょうか
わけがわかりません。

>>538
SDKって何の略ですか?
576デフォルトの名無しさん:04/05/08 00:47
表現力のない文章ですみません・・・

クラスのメンバにプロパティを設けた場合に、そのプロパティに子プロパティみたいのを
設けることはできませんか?

Calendar.Month.January = 1
Calendar.Month.February = 2
Calendar.Month.March = 3

とか見たいに、プロパティとかメソッドをまとめたいのですが・・・・
むりですかね・・・
>>574
割れ物によく起きる現象です
>>576
>Calendar.Month.January = 1
>Calendar.Month.February = 2
>Calendar.Month.March = 3
私があなたの意図を勘違いしているかもしれないが、要するに
Monthというプロパティの型を何らかのクラス(構造体は不適切)に
すればいいんじゃないの?

なんか、そのコードだけみると単に列挙型定義すればいいようにも
思えるけど。。
VB6のクラスビルダユーティリティって結構好きだったんだけどなぁ
.NETには存在しないのよねぇ・・・
580576:04/05/08 02:14
>>578

すみません、列挙型云々はわすれてください。。例が悪かったです。

>Monthというプロパティの型を何らかのクラス(構造体は不適切)に
>すればいいんじゃないの?

となると、MonthプロパティにSetなりGetするには
別クラスのインスタンスが必要になってしまうってことですか?
Public Property Manth() As ClassMonth
っということでしょうか??
すみません分かってないです・・・
.NET環境が自宅になく今試せなくて・・・・
581デフォルトの名無しさん:04/05/08 02:24
列挙型云々というと中国拳法の技の名前のようだと
まえまえから思っていたのだが
この一週間、ほとんど進展無しで弓折れ矢も尽きたという感じなので助けてください。
DataComboBoxをAccessで作成したADOを使ってDBに連結し、指定したフィールドが
リストとして表示されるようにしようとしています。使っているのはVB.NET2002で
下記のサイトと『新VisualBasic入門ビギナー編/シニア編』を参考にしました。
ttp://www.vbcity.com/forums/faq.asp?fid=8&cat=DataComboBox

手順はツールボックスにAdodcアイコンとDataComboBoxアイコンを追加、
それぞれをフォーム上に配置、MSDataLinkを使ってExplorerから.udlファイルを作成
(Accessで作成した.mdbファイルに接続し、接続テストに成功)、フォーム上に配置した
Adodcのプロパティー画面で[データリンクファイルを使用]→作成したudlファイルを指定→
レコードソースタブでソースの設定
以上を設定後にDataComboBoxのRowSourceをクリックしてAdodcを指定したいのですが
選択候補に『なし』と書かれたままです。

とりあえずテストということでDBはできるだけシンプルにしてフィールドを1つに絞ってみましたが
何の変化もありません。
ひょっとして何か重要なコンポーネントをインストールしていなかったりするのでしょうか?(;´Д`)
1つ気になるのは『データビュー』というのを使ってデータ構成を確認したいのですが
この機能がどこにあるのか分からなくて確認のしようがない点です。

とりあえず本屋と図書館に逝ってきます。
583デフォルトの名無しさん:04/05/08 11:40
>>582
VB使いながら何故ACCESSの機能を使うの?
任意のテーブルの内容をComboBoxの選択肢(内容)に利用したいだけなら、
VB上のForm上で簡単にできるが?なにか理由があるの?
>583
そんな便利な手段があったとは(゚∀゚)
プログラミングと呼べるほどのことをするのは初めてなので
入門書に書いてある機能を順番にやりくりして、たまたま行き当たったのが
上記のやり方だったというだけです。

将来的には他のコントロール(多分ラジオボタンか選択肢が確定しているリストボックス)の
結果次第で目的のコンボボックスの選択肢が変化するようにしたいのですが、
ご指摘の方法でも可能でしょうか?
もし可能でしたらどのようにすればどのようにすれば>583、みたいなことができます?
>>580
>となると、MonthプロパティにSetなりGetするには
>別クラスのインスタンスが必要になってしまうってことですか?
記憶では、確かMonthをクラスでなく構造体にすると、Monthのメンバ(フィールド)に
直接アクセスはできなかったと思う。

構造体でなくクラスであれば、Monthのメンバに直接アクセス可能なはず。
つまり、
Calendar.Month.January = 1
みたいなことも可能。もちろん、ClassMonth型のインスタンスを用意して

SourceMonth = Calendar.Month
とか
Calendar.Month = DestMonth

みたいにするのが普通だけど。
VisualBasicマガジン って本屋で売っているのでしょうか?
587582:04/05/08 12:57
まだ質問できるレベルに達していなかったようです。
チュートリアル付きの解説書を借りてきたのでもうしばらくあれこれ試してみます。

とりあえずファイルを開いてDO_LOOPの中で一行ずつ取り込んでItems.Addすればなんとかなるような…
588デフォルトの名無しさん:04/05/08 13:14
>>586
売ってます
>>584
menuitemなど任意のコントロールのイベントを利用して、
ComboBoxに関連付けられたselect文を任意に変換すれば可能。
ただ憶測でスマンが参考書は本当にVB.NET関連なのかな?
ACCESS関連か、かなり古い文献のように思う。
589582:04/05/08 13:42
>588
前に買った参考書はVB6用です。Excel2000のVBA用に買ったもので、
その頃は大丈夫だったのですが、.NETになってから表記方法(?)が変ったようで
簡単な例もそのままでは動かず悪戦苦闘の毎日です。

さて、借りてきた.NET用の本を片手に試してみたところ
★★Y⌒Y⌒Y⌒(。A。)デキター

Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged

Dim AAA As String
FileOpen(1, "C:Test.txt", OpenMode.Input)
ComboBox1.Items.Clear()
Do While Not EOF(1)
AAA = LineInput(1)
ComboBox1.Items.Add(AAA)
Loop
FileClose(1)
End Sub

こんな感じのをもう1つのボタンの分まで作ってみたところ、ちゃんと意図した通りに動きました!
次回からはもっと調べてから質問させていただきます。
色々ありがとうございました。またよろしくお願いします。
590デフォルトの名無しさん:04/05/08 23:13
最近クラスモジュールを使い始めたのですが、
これが思っていたよりずっと便利で、
今まで標準モジュールでやっていたことを、
何でもかんでもクラスで行うようになってしまいました。
でも、標準モジュールの使い道が分からなくなった・・・
標準モジュールはどんなときに使うべきでしょうか?
591525:04/05/08 23:59

かなりの亀レスですが、回答ありがとうございました。
今度はプリント制御プログラムについての質問です。

とある理由でプリントの制御をVB.NETからwin32を以下のように呼んでます。
CreateDC()
StartDoc()
StartPage()
[デバイスコンテキストに書き込むデータを送る関数]
EndPage()
EndDoc()
DeleteDC()
これで印刷はできるのですが描画・テキスト系の処理だけ
.NET Framework APIを使ってできないでしょうか?

例えばプリンタに書き込むデータを
System.Drawing.Graphics.DrawStringを使用してプリンタに送信できるやり方とか。。


もしくは.NET FrameworkのSystem.Drawing.Printing.PrintDocument.Printメソッドを
使用してプリント処理を行い、
途中startpageイベント後に
プリンタのデバイスコンテキストを使用するCのAPIを使いたいんですができますかね?


まぁ最初のやり方で
System.Drawing.Graphics.DrawStringの代わりにDrawText関数を使えという話なのですが
VBで表示させたデータをCの関数で使おうとすると互換性が低くえらく面倒そうなんで。フォントの情報とか。。

長くなりましたがよろしくお願いします。
SUB MAINの使い方が解らなくなってしまった・・・
確かスタートアップモジュールとして使えたと思うんだけど
実行するとSUB MAIN抜けた瞬間にプログラムが終了する
そりゃそうだ。C言語だって(少し違うが)Javaだってmain関数抜けたら終わりですよ。
594576:04/05/09 11:20
>>585
ありがとうございます !

>構造体でなくクラスであれば、Monthのメンバに直接アクセス可能なはず。
>つまり、
>Calendar.Month.January = 1
>みたいなことも可能。もちろん、ClassMonth型のインスタンスを用意して

Calendar.Month.January = 1
としてアクセスできればいいんです!

>SourceMonth = Calendar.Month
>とか
>Calendar.Month = DestMonth
>
>みたいにするのが普通だけど。

これが嫌だったんです
自分がつかうんでなく、VB初心者に扱わせるクラスなので
なるべく元となる派生クラスはすくなく扱わせたくて。。

明日ためしてみます!
>592
こうしたらすぐ終わっちゃうって事?
Public a As New Form1
Sub main()
a.Show()
End Sub
>>595
aはヌルポだって怒られるんじゃないの?
597595:04/05/09 14:56
>596
いや、怒られないけど?
598592:04/05/09 15:27
>>595 まさにそんな感じです VB6のときはSUB MAIN呼び出して変数等を設定した後 最初のフォームを呼び出したりしてたんですが Formクラスみたいにロードした後もインスタンスが存在しているようにしたいわけなんです
599595:04/05/09 15:34
後半の意味がよく分からないけどこうしたらどうかな?
Public a As New Form1
Sub main()
Application.Run(a)
End Sub
600デフォルトの名無しさん:04/05/09 19:11
>>598
>>599のようにやればいい。
ただ、ロードした後もインスタンス存在している云々というのは認識間違いだ。
というか別に、「勝手にインスタンスが削除されてるから終了してしまう」わけじゃないよ。
601デフォルトの名無しさん:04/05/09 20:18
あ、MainメソッドにSTAThreadAttributeを適用しておくべきかな?
602592:04/05/10 01:14
ありがとうございます
Application.Runで期待通りの動作をさせることができました
これで仕事が前に進みます... ゚・(´Д`)

603デフォルトの名無しさん:04/05/10 15:48
エクセルファイルを読込んでDBに登録ってのをやってるんですが
事前に桁数や文字数をチェックして 問題はないようなのに
「ORA-01438: 指定した精度を超える値が列に指定されています」
というエラーが出てしまいます。
その問題のデータ項目(カラム名?)を知るにはどうしたらよいのでしょうか?
Trace.WriteLine とかで出せたらうれしいんですが…。
一つの仮想ディレクトリにサブディレクトリを複数作り
それぞれにGlobal.asaxをもつアプリケーションを作りたいのですが、
アプリケーションのルートディレクトリは、
IISの仮想ディレクトリ一つにつき一つなのでしょうか?

ちなみに、ASP.NETを始めたばかりなのでVS.NETを使わず
SDKのみでいろいろ試しています。
その過程でアプリケーション一つ事に仮想ディレクトリを作るのは
面倒だと思い上記の疑問が湧きました。
605576:04/05/10 21:19
Class Class1
Private Man As New SampleTest
Property Member() As SampleTest
Get
Return = Man
End Get
Set(ByVal Value As SampleTest)
Man = Value
End Set
End Property
End Class
Class SampleTest
Private _TestMemberA As String
Private _TestMemberB As String
Property () As String
Get
Return Me._TestMemberA
End Get
Set(ByVal Value As String)
Me._TestMemberA = Value
End Set
End Property
Property TestMemberB() As String
Get
Return Me._TestMemberB
End Get
Set(ByVal Value As String)
Me._TestMemberB = Value
End Set
End Property
End Class
606576:04/05/10 21:20
Public Class Form1
Inherits System.Windows.Forms.Form
#Region " Windows フォーム デザイナで生成されたコード "
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim Person As New Class1
Dim Tcls As New SampleTest
Dim Str As String
Person.Member.TestMemberA = "Otoko"
Person.Member.TestMemberB = "Onna"
Str = Person.Member.TestMemberA
Tcls = Person.Member
End Sub
End Class
ここでレスもらい、今日試してみました・・・
Person.Memberってやつの使い方ってこういうので合ってますかね?
プロパティだけでなく、メソッドを追加してもいいんですかね
MDIウィンドウで、
子ウィンドウが親の外の範囲に出て一部隠れても、スクロールバーが表示されないようにしたいのですが、
どうしたらよいでしょう。
608デフォルトの名無しさん:04/05/12 23:32
ちと質問。
textファイルを読み込む方法なんだが
StreamReader.ReadLineで1行ずつ読み込んで
10byteごとに変数にsetする方法が分からん。

ReadLineで読み込むと、string型になっちゃってそいつをbyte単位で区切れないんだな。
substringだと文字だし。
>>608
BinaryReader.ReadBytesじゃ駄目なのか?
610デフォルトの名無しさん:04/05/13 23:45
PGMのテンプレートを吐くウィザードを作ろうとしてるんだけど、
どうやったらオートメーションでformにコントロール貼れるんだろう?

マクロ記録やってみたけどウィンドウの切り替えしか残らないし。
611デフォルトの名無しさん:04/05/14 20:12
おじゃまします。

いままでEXCELのVBAでデータベースにADOで接続していました。
こんどVB.NETを使うことになったので、データベース関係の本を読んでます。
で、質問なのですが、

ADO.NETでデータベースに接続しようとして、
サーバエクスプローラからやってみたのですが、
このバージョンはSQLとアクセスしかつかえないよ
と言うようなメッセージがでました。
単体のVB.NETでは、DB2やオラクルにADO.NETで接続できないのですか?

で、しかたなくADOで接続してみたのですが、
DataGridにデータを連結できません。
DataGrid1.DataSource = RecordSet
じゃダメですか?

612デフォルトの名無しさん:04/05/14 20:31
>>611
多分VS上でのデザインサポートがないだけ。
使う事はもちろんできるが、コードを直書きしないと駄目だと思う。
613611:04/05/14 23:36
>>612 さっそく、ありがd
デザインサポートとはなんぞや?
素人でも簡単にできるかな?

ぐぐってみたけど、よく分からなかった。
もしお勧めのWebページとか、書籍があったら、教えて下さい。
ODP.NETを使う
615デフォルトの名無しさん:04/05/15 10:39
間抜けな質問なのですがプロジェクト全体を別名のフォルダーに保存することはできないでしょうか?

デバッグしつつバージョンUPしているのですが
大きな変更を加えた時は1つ前のバージョンを上書きするのではなく
別の場所に保存してみたいと思っています。
しかし別のフォルダーにフォームやモジュールごとに保存すると
元のフォルダーにあるファイルを選択して開いても新しいフォルダにあるのが開かれてしまいます(謎)

やはり何かすごくアホなことやっているのでしょうか?
>>615
全部のファイルを直接コピペ汁!
>>615
おとなしくVisualSourceSafe使えよ
コードの画面でホイール効くようにするにはどうすればいいですか?
>>618
普通に何もしなくても使えるぞ
>>618
VB6.0スレへの誤爆?
Exマウスホイールってので対応できるけど。
IsMdiContainerをTrueにすると、
親フォームのBackColorがグレーになってしまいます。
これをグレーじゃなく、他の色にしたいのですが可能ですか?
可能ならやり方を教えてください。
VB .Netでシリアル通信のプログラムを作っているのですがビルドした
プログラムがVisualStudioの入っていないパソコンで動きませんでした。

プロジェクト>参照の追加>COMでMicrosoft Comm Control 6.0を追加して
Dim MSComm1 As Object = CreateObject("MSCOMMLib.MSComm.1")と宣言しただけで
ビルドしたプログラムがVS.Netの入っていないパソコンではハンドル出来ない例外が
発生してしまいます。
逆にVS.Netが入っている環境では平気な顔して動いちゃいます。
何が足りないのでしょうか?
よろしくお願いしますm(_ _)m
>>622
そのMicrosoft Comm Control 6.0が入ってないんじゃないの?
624622:04/05/17 20:50
すみません、Microsoft Comm Control 6.0を入れるにはどうすればよろしいでしょうか?
とりあえずC:\Winnt\system32\にmscomm32.ocxやInterop.MSCommLib.dllをコピペして再起動しても駄目でした。
コピペしてみたVSの入っていない端末はWindows2000でVS2003が入っているXPだと動きます。
>>622
VB6のランタイムをターゲットのPCにインストールしましょう。
ランタイムセットのインストーラはVectorなんかで配布してる。
VBのコントロール(ActiveX)は単に物理ファイルをシステムフォルダに
コピーするだけじゃだめで、インストーラ使ってインストールして
レジストリに登録しないと使えない。

ただ、こういう質問するってことはVB6の開発環境持ってないんだよねえ?
VB6のライセンス持ってない人がVB6のランタイム勝手に使うアプリ作っても
ライセンス違反にならないのかなあ?どうなんだろう。
あー。インストール/アンインストール云々は気にしないで regsvr32 のコマンドのとこだけ参考にして頂戴。
>>625
 ライセンス的には、使うのを制限している訳でないので、
使うのは問題ない。
 ライセンスで制限されているのは、再配布する方なので、
再配布しなければ問題ない。
629デフォルトの名無しさん:04/05/17 23:02
>622,624
俺もこれに遭遇したよ〜開発環境にOCXあるけど、配布先にないってケース
Setupプロジェクトをつくってインスコしてあげるんだよ。
んときに、依存関係ってとこだっけ?とにかくmscomm32.ocxのプロパティで
「Register プロパティ」を「COM」にしてやりゃ〜できたで。
ライセンス云々はしらん。

ただし、開発環境のPCにインスコしてアンインスコすると
どういうわけかソースプログラムの依存関係が崩れて?、デザインのところから
OCXのアイコンがなくなっちまうぞい。無論エラー警告でまくり。
630デフォルトの名無しさん:04/05/18 08:09
ListBoxまたはComboBox内でドラッグ&ドロップをして
項目の並び順を代えることはできますか?

1     3
2  →  1     のように3を1の前に持っていったりできるように
3     2     したいです。
>>630
ListViewならGetItemAtみたいなのがあるのでマウスイベントで入れ替えはできそうだけど、
ListBoxとなると分からんなあ。ましてやComboBoxはお手上げ。
ListBox.GetItemRectangle と Rectangle.Contains を駆使すればできるかな?
でも激しく重くなりそう。
633デフォルトの名無しさん:04/05/18 08:37
>>631-632
ん?ListBoxのIndexFromPoint使えばいいんでねーの?
ComboBoxは俺も知らん。
634630:04/05/18 09:56
>631-633
ポインターの位置を検出
アイテムを選択
ドラッグ開始
移動先のポインターの位置を検出
枠内ならドロップ
アイテムを挿入
元のアイテムを削除

という感じでしょうか?
始めて目にするメソッドだらけで自分の手に負えそうにないので
とりあえずは別に用意したリストファイルからItemsAddするようにしておいて、
必要に応じて元のリストファイルの方を並べ替えするようにしてみます。
もう少しスキルが上がったら挑戦してみたいと思います。
アドバイスありがとうございました。
635デフォルトの名無しさん:04/05/18 12:46
visual studio.net2003からVBのwindowsアプリケーションを新規作成しようと
するとノートンが悪質なスクリプトを発見しましたとでます。
deven.exeというファイルらしいのですがこれは無視していいのでしょうか?
>>634
こんな感じでどう?

  Private src As Integer

  Private Sub ListBox1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ListBox1.MouseDown
    src = ListBox1.IndexFromPoint(e.X, e.Y)
  End Sub

  Private Sub ListBox1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ListBox1.MouseUp
    Dim dst As Integer = ListBox1.IndexFromPoint(e.X, e.Y)
    If src >= 0 And dst >= 0 Then
      Dim item As Object = ListBox1.Items(src)
      ListBox1.Items.RemoveAt(src)
      ListBox1.Items.Insert(dst, item)
      ListBox1.SelectedIndex = dst
    End If
    src = -1
  End Sub
637デフォルトの名無しさん:04/05/18 21:30
datasetが複数のテーブルを持っている状態で
(table1、table2、table3 )
各テーブルにはリレーションが張ってあります。
tatble1→table2→table3(リレーション)

このような状態でtable1のあるカラムとtable2のあるカラム、3も同様にあるカラム
を1つにしてdatagridに表示したいのですが
(リレーションに沿ってsqlのjoinみたいなことをしたテーブル)
どうすればよいのでしょう?

色々試しましたが解決しないのでよろしくお願いします。
638デフォルトの名無しさん:04/05/18 21:30
超初歩的な質問で申し訳ないのですが...
しかも説明しにくい...

Buttonを押したら、そこに設定された何らかの変数(string)の内容を
ペーストするようにしたいのですが、どうすればいいでょうか?
____________________________
|vb1 |
|~~~~~~~~~~~~~~~~~~|
| button |
| |
|____________________________|

↑のbutton内の変数に"あいうえお"と設定したとする
んでこのbuttonを押した時にそのとき開いてるtxtファイル
に"あいうえお"をペーストするようにしたいです。

____________________________
|txtファイル |
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
|あいうえお |
| |
|____________________________|

要は簡単な入力支援プログラムを作ろうとしてるわけです

よろしく御願いします。



>>635
yes, faq
640緊急!子どもが学校につぶされる ◆P6h9Mo9jzE :04/05/18 21:35
■このレスを他の板にも貼って下さい。
■このレスを貼る場合 「緊急!子どもが学校につぶされるトリップ」
 という名前にしてください。

↓緊急!子どもが学校につぶされる
http://www.gld.mmtr.or.jp/~school/
すべての人に見てもらいたいです。
また、教師の方も頷ける場所がおありでしょう。
このHPを見て何か感じてもらえれば幸いです。
こんばんは
質問なのですが
何かオブジェクト(labelやtextbox等)を貼り付けてデバッグの開始をすると
system,arithmeticExceptionのハンドルされていない例外が
system.drawing.dllで発生しました
追加情報:算術操作でオーバーフローまたはアンダーフローが発生しました
と でてきてデバッグができずプログラムが実行できません
プログラム以前の質問で
初心者な質問かもしれませんが どなたか知ってる方よろしくお願いします
>>641
逆に聞くけど、「何かオブジェクト(labelやtextbox等)を貼り付けて.....」
って書くってことは、君はそれが問題の原因だと思ってる訳だよねえ。

しかし、「貼り付ける」対象はFormだと思うが、Formにラベルなりテキストボックスなりを
貼り付けてるプログラムなんてありふれてるわけで、君はそうしたプログラム
全てで同じ問題が起こっていると思うのか?
そんなはずはないだろう。

つまり、問題の直接の原因は「何かオブジェクト(labelやtextbox等)を
貼り付けて」いることではないわけだ。

だったら、「何かオブジェクト(labelやtextbox等)を貼り付けて.....」
たったこれだけの情報から君の問題の解決法がわかる奴はいないってことだろう。

初心者?初心者だろうが小学生だろうが普通このぐらいの知恵は回るだろう。
脳みそ腐ってるとしか思えない。
System.OutOfMemory Exception回避の方法を、この爺に教えてくだされ。
次のようにガベージコレクションを強制的に行うコードを書いても、メモリが開放されないのですよ。

Dim Hoge() As String
Dim Cnt As Long

ReDim Hoge(10000000)

For Cnt=0 To 10000000
Hoge(Cnt)=Cnt
Next

Erase Hoge
System.GC.Collect()
フォームロードで実行したけど
うちの環境だと解放されてる気がする・・・
645641:04/05/19 07:46
>>642
formにオブジェクトを貼り付けたどのプログラムでも同じ現象が起きてるんです
本に載ってるサンプルだろうが自分で作った簡単なものだろうが
すべてで同じ現象が起こるんです
ただオブジェクトを貼り付ける前にデバッグを行うとデバッグはできるんです
あとすいませんでした 説明不足でした
OSから開発環境まで再インストールしてみ
としか言えない気がする
 
新規に作成してそれにボタン張っただけでもおきるのか?
>>645
標準のサンプル実行してみー
たとえば \MICROSOFT VISUAL STUDIO .NET 2003\Vb7\VB Samples\WinForms-Calc\Calc
これでエラーでるようなら、再インスコだろうな。
>>643
私はいつもこうしてる。

ReDim Hoge(-1)

たしかMSDNのどこかに、そういう場合はこうしろ、と書いてあったはずだと思う。
649644:04/05/19 13:10
WinXPの1GBでテストしました
この処理ってスワップに回らないのかな?
650デフォルトの名無しさん:04/05/19 14:22
Webアプリのデバック実行時に
こんなようなコンパイルエラーってのがよく出るんだけど・・・

コンパイラ エラー メッセージ: BC31011: 参照ライブラリ 'd:\winnt\microsoft.net\framework\v1.1.4322\
                   temporary asp.net files\〜' を読み込めません : アクセスが拒否されました。

でも、暫く時間たってから再実行すると普通に起動するんだよねぇ
ソースもなにもいじっていないのに・・・
.NET初心者なのでゼンゼン原因がわかりませぬ
>638
クリップボード経由はどうよ。

まずコピーしたい文字列をクリップボードに入れる。

次にコピーしたいtxtファイルのプロセスIDをゲットする。
APIでもいいが、Processクラスが簡単。

で、プロセスIDを使ってtxtファイルをアクティブにして、
SendKeys.SendWait("^{V}") を実行。

最後にメインアプリをアクティブにする。

これで一応いけるはず。
実行するたびにノートパッドがチラついて相当ウザイけどな。
……サイテー言うな。わかってるから。
652650:04/05/19 19:43
なんかわからんが、
ソリューションのリビルドした後に
Webプロジェクトのすべてのフォルダの同期をしたら
エラーが出にくくなったような気がする・・・

まぁ、これでいいか・・・
653641:04/05/19 19:43
>>646
新規にボタン張っただけでもエラーが起こります
>>647
エラーがでました

レスありがとうございました
今からOSから再インストールします
レスどうもありがとうございました
パワハラ野郎>>642>>641に詫びろ
655デフォルトの名無しさん:04/05/19 23:50
超初心者質問ですみません。
WMPでwavを再生するとき
FileNameとかPlay()というものがないのですが
これは、上のバージョンじゃないと無いものなのでしょうか。
656643:04/05/20 01:55
>>644 >>648
レス、ありがとう。

実際はもっと複雑だけど、基本的な処理としてコードを書きました。
先に書いたコードをサブルーチンとして(例えば、Button Clickあたりで)、
タスクマネージャのメモリ関連を見ながら連続で実行させると、仮想メモリが
増えて行き、最後には例外発生となってます。

.Net Frameworkでは、ガベージコレクションを自動で行う仕組みらしい(自分でも
.NetのMSDNとか、ここのテンプレも見ました)けれど、どこまで信頼できるものか
と思ってます。

>>644
メモリ1GBという実行環境ではないのと、他にもアプリが動いているのだけど、
先に書いたコードのうち、配列のサイズをもっと大きくすると、判りやすくなるかも
です。こちらの環境は、Win2k+512MBでした。

>>648
ReDimで-1というのは、どこかで見たことがあるような。VB2の頃だったかな。
明日試してみます。
それにしても、Erase+ガベージコレクションでも開放されないというのが、納得
いかない。
ガベージコレクションと言う物を勘違いしてないか?
これだけじゃ不親切だな…
うーんと、VMというものでのメモリ管理と言うのが、
つまりはどういうことなのか考えてみればいいかも…
659デフォルトの名無しさん:04/05/20 03:07
ちょっと筋違いな質問ですみませんが、VB.NETとVB6、データベースアプリケーション
を開発する場合、どちらがどれだけ便利、というようなことで特記すべき差はあると
みてよいでしょうか、

3階層構成で構築するとした場合、ビジネスロジック層をサーバーアプリケーションに
する際は、VB6で作るよりVB.NETで構成したほうが楽でしょうか、特にプログラム作成
方法のわかりやすさや構築のための作業の簡易さや手間といった点でです。

雑誌の記事やVS.NETの感触では、決定的な差はないような気もするのですが、VB.NET
の方が体系として何をするにもまとまってできるのがわかりやすくて手間要らずな感じ
に見えました。この楽さとオブジェクト指向言語に実際のコーディングではなれて
いないことを天秤にした場合、いきなり業務でVB.NETに使う(納期数ヶ月で数人の
チーム開発)ことに踏みきるべきかどうか、検討しつつあるのですが、アドバイスを
戴きたく。よろしくお願いします。
660デフォルトの名無しさん:04/05/20 03:19
>>659補足ですが、ちなみに、数人のうち、1人はVB6もまだ一度も実務した
ことがありませんが、そこそこ若い人なのでなんとかなるかなって感じで、
残りはVB6だけはまあ使えるレベル、当方は中程度レベルかな(API,MDI,SQLは
OK、C++は概念把握済みだが実務経験は無し、VB.NETも言語面だけなら従来の
Delphiとおんなじに見えるという感じ)といったところです。
言語よりもADO.NETは楽
662659_660:04/05/20 09:17
ADO.NETの機能に関しては雑誌の記事なんかからは雰囲気がつかめました。

ロジック層をサーバーアプリケーション化する、といった点では
どちらがやりやすいでしょうか。
規模によるんじゃないかなぁ・・・
全体的な工数はどの程度ですか?
それと、プロジェクトチームは10人以下?
>(納期数ヶ月で数人のチーム開発)
申し訳ない、書いてありましたね。
その規模なら、クラス設計のできる人がいると言う前提で
VB.NETの方が良いと思います。
JAVA→VB.NET
で悪戦苦闘です。

VB.NETはMVCとか気にしてかかない方がいいの?
釣り警報発令
667665:04/05/21 00:32
>>666

そんなことないですか?
aspxとaspx.vbは分かれてますが、
aspx.vbとデータを分離することが難しそう
というか思想に反してそうな気がしました。

VS.NETを使う限りでは。
質問をさせて頂きます。

「 Form1にあるボタンをマウスクリックでボタンの色を変えてForm3を出現させ、Form3を閉じるとForm1のボタンも元の色に戻す」
という操作を行いたいのですが、
Form1にて
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
 'クリックで黄色に変更  
    Button1.BackColor = System.Drawing.Color.Yellow
     'Form3呼び出し
Dim f3 As New Form3
f3.ShowDialog(Me)
(略)
・・・Form3にて
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Me.Close()
までは出来ましたが、
Form3を閉じた時にForm1のボタン色を元に戻す方法が解りません。
Formの相関性もよく理解していない不届き者ですが、お解りになる方がいらっしゃればご教示を下さいます様お願い致します。
f3.ShowDialog(Me)
ここに元に戻すコード書けばええんでないの?
(略)
>>669
早速の返信ありがとうございます。
Form3の方で粘っていました。
もう少し調べて見ます。ありがとうございました
671668:04/05/21 01:22
f3.ShowDialog(Me)
の後に
Button4.BackColor = System.Drawing.Color.Gray
と書いたら思った通りに動きました。
>>669様、ヒントをありがとうございました。
User Interface Process Application Block
ってのを使わないとMVCを実現できないのでしょうか?

最近MVCが手段じゃなく目的になってしまっているヤツがよくいるけど、
VBに限らず、.NETの言語はMVCが不要になっている感じがする。
>>673
その通り
675デフォルトの名無しさん:04/05/22 22:53
今年就職して今VB.NETとSQLなどなどやってます。
SQLは学生時代に少々やってたのでなんとかなるのですが...
VB自体初めてで全くわかりません。
会社では「こーしてこーしてこーして」という指示通りやってるだけなのですが...
ちょっとおもしろそうかなと思うようになりました。
で、自宅でもやろうかなと...
でもいざ何か作ろうとしても作るものが思い浮かびません。
VBというものが何なのか分かってないからなのかもしれませんが...
もし「最初だったらこんなん作ってみるのがいいんでないの?」とか
「俺が初めてVBやったときはこんなことやってたなぁ」
てのがあればご教授願います。
>>675
そんなの人それぞれ千差万別。
あんたの興味のあることアプリ化すれば良い。
>>675
漏れは最初に電卓とエディタ作って、とても勉強になったよ。
>>673

.NETというかコンポーネントベースの開発環境ではコンポーネントに
MV(+一部のC)をまとめて入れた方がすっきりする場合も多いね。
VBからExcelにグラフを表示して、それをクリップボードにコピーして
ピクチャボックスに貼り付けようとしてるのですが
imgの中身がNothingになってしまいます。

'クリップボードにコピー
oSheet.ChartObjects("Chart 1").Copy()

Dim d As IDataObject = Clipboard.GetDataObject()
Dim img As Image = CType(d.GetData(DataFormats.EnhancedMetafile), Image)

If Not (img Is Nothing) Then
'PictureBoxに表示
PictureBox1.Image = img
End If

Ctrl+VでWordなどにグラフを貼り付けられるので
クリップボードにコピーは出来てると思うのですが
メタファイルはピクチャボックスに貼り付けることは出来ないのでしょうか?
方法をご存知の神はいらっしゃいませんか?
680デフォルトの名無しさん:04/05/26 10:55
下記のコードの実行結果が変?です

private void Form1_Load(object sender, System.EventArgs e)
{
Form2 form = new Form2();
form.Show();
}

public void Test()
{
Form1 form = new Form1();
form.ShowDialog();
}

新しいFormをShow()すると、Formは表示されるのですが
Formにマウスクリックでフォーカスを移すことができません。
OnLordイベント内で他のFormをShowするのはやってはいけないことですか?
>>681
コンパイルが通りませんね。vbc.exeでは。
ていうか、自分でモーダルで表示させといて
他のフォームにフォーカスが移せない、ってわけわかめなんだけど。。。
VB.NETでデータベースはACCESS
DBに接続するときは下の感じでやってるんだけど
「UserData.mdb」から「Backup.mdb」に全テーブルのデータをセレクトしてコピーしたいです
「UserData.mdb」と「Backup.mdb」はまったく同じ構造です
なんかうまい方法はありませんか?
全テーブル分SQL書くしかないんかなー
DAOのときはリンクテーブルをコードで生成してドカドカコピーできていたんだけどね


'接続の初期化
m_connection = New OleDb.OleDbConnection

'接続文字列設定
m_connection.ConnectionString = ConnectionString

'オープン
m_connection.Open()
ファイルとしてコピーすればいい
初心者の質問で申し訳ない
電卓の様にボタンに数字を当てて、ボタンをクリックするとテキストボックスに数字を表示させたいのですが・・・
「1」のボタンを押したらテキストに「1」と出したいのです。
一桁出れば構わないので関数なども要りません。
ググッて見たのですが、テキストに数字を入れる電卓の説明ばかりで見つかりませんでした。

説明の出ているアドレスでも構いませんのでご教授お願い致します
>>686
 1jから出直せ
テキストに1と出したいのに数値が出ると困るのか・・・
難しいのぉ
>>687
「1j」から出直したいのはやまやまなのですが。

>>688
「ボタンを押したら数字が出る」という形をとりたいのです

過去スレより

0.フォームにテキストボックスを置く(名前:Text1)
1.フォームにボタンを置く
2.そいつを Ctrl+C でコピーに吸い取る
3.フォームに春
4.配列にするか?と聞かれてハイ
5.どれかボタンを2度叩く
6.コーディング画面にハンドラが出る
7.以下のコード
If Index = 0 Then
Text1.Text = "0"
ElseIf Index = 1 Then
Text1.Text = "1"
' ElseIf Index = 2 Then
' Text1.Text = "2"
End If
こんな感じかな

というのを見つけたのですが、.NET環境だからかエラーが出ます。
最初に何かを書かなければ(宣言?)いけないのでしょうか?
何か手掛かりなどご提示頂ければ幸いです
690686:04/05/27 22:23
>>687
「1j」から出直したいのはやまやまなのですが。

>>688
「ボタンを押したら数字が出る」という形をとりたいのです

過去スレより

0.フォームにテキストボックスを置く(名前:Text1)
1.フォームにボタンを置く
2.そいつを Ctrl+C でコピーに吸い取る
3.フォームに春
4.配列にするか?と聞かれてハイ
5.どれかボタンを2度叩く
6.コーディング画面にハンドラが出る
7.以下のコード
If Index = 0 Then
Text1.Text = "0"
ElseIf Index = 1 Then
Text1.Text = "1"
' ElseIf Index = 2 Then
' Text1.Text = "2"
End If
こんな感じかな

というのを見つけたのですが、.NET環境だからかエラーが出ます。
最初に何かを書かなければ(宣言?)いけないのでしょうか?
何か手掛かりなどご提示頂ければ幸いです
691デフォルトの名無しさん:04/05/27 23:51
.NETではフレキシブルグリッドは廃止ですか?
データグリッドがフレキシブルグリッドも兼ねるようになったのでしょうか?
フレックスグリッドは買ってください
バカ高いですが・・・
ttp://www.grapecity.com/japan/support/database/P7_164.htm
(゚冶、゚)ぅゎぁぁぁぁぁぁ
データグリッドで代用するしか無い様ですね...。
そこでDataGridViewでつよ。
まだだけど。
695686:04/05/28 06:10
やっちまった・・
2重カキコスマソ
投稿時間もおかしいし、見られなくなるし。
出直します
696デフォルトの名無しさん:04/05/28 10:09
一つのプロジェクト内で、
Webフォームを階層ディレクトリ内に配置するには
どうすればいいですか?

普通にフォルダを作ってフォーム作ったら、
型 'TestApp.Test01' を読み込めませんでした。

の様にしかられます。
697デフォルトの名無しさん:04/05/28 10:38
IntPtr型で関数のポインタを渡すには?
>>697
Delegate型で受け取って、そこからリフレクションで _methodPtr 引き出したら?
ところでこれを取り出してどうするの?
699697:04/05/28 11:15
>>698
どもです。
ハンディターミナルのライブラリ関数で、IntPtr型で関数のポインタを渡す必要があって。
staticメソッドの場合は _methodPtrAux だったような。
>>679
クリップボードからメタファイルを取り出す方法。
http://www.dotnet247.com/247reference/msgs/39/199701.aspx

あとはこいつを貼り付けるだけ。
702679:04/05/28 14:30
>>701
神降臨!!
ありがとうございました!!
703さと:04/05/28 22:57
質問です。

入力された2つの値AとBについて、四則演算を選んで計算し、結果を表示する。
ただし、数値入力はテキストボックスから、演算選択はオプションボタンを用いて行う。
また、演算選択のオプションボタンの初期化はすべて False としておき、
選択せずに「計算表示ボタン」をクリックした場合には、メッセージ(MagBox("計算種類は?")とする)を表示する。
次の処理のためオプションは未選択の状態にする。
ここには、コマンドボタンが2つとテキストボックスが3つ(A,Bの値の入力とCの値を表示するため)と、
それぞれにラベル(A:,B:,「計算種類」表示用)が3つ配置してある。
コマンドボタンは、CB1(計算開始)、CB2(終了ボタン)である。
さらに演算選択用には、「計算選択」フレームによってグループ化された4つのオプションボタンによるメニューが用意されている。

これのやり方を教えて下さい。
>>703
まずどこまで作って、ども部分で詰まっているのか具体的に説明せよ。
705さと:04/05/28 23:17
入力された2つの値AとBについて、四則演算を選んで計算し、結果を表示す
る。これの If 文と、選択せずに「計算表示ボタン」をクリックした場合には
、メッセージ(MagBox("計算種類は?")とする)を表示する。

ここの部分がわからないのですが・・・
フレキシブルグリッドをデータグリッドで代用する方法は、
データセット作成→データグリッド表示
しかないのでしょうか?直接セルに値を放り込みたいのですが。
6.0のOCXを参照して使うのがBESTですかね?
>>705
オプションボタンの状態をチェックして、
指示通りの処理を書くべし。
>>705ここの部分がわからないのですが・・・
ここの時点で既にわからないんだろ…
っていうか全部分からないんだろ…



罠を仕掛けておいてやりたくなるな…
>>705
問題を丸写ししても答えは得られないよ。
まずフローを考えてみそ。

四則演算をオプションボタンで選択するなら、その4つのうちどれが押さ
れているかをまず確認。それからあらかじめ取得しているAとBの間に演
算子を入れた計算を実行して結果を表示。もし、どの演算子も押されてな
いなら「計算種類は?」って聞けばいいでそ。
>>706
漏れはしばらくそれで逃げた
結局製品版買ったけど(w
711デフォルトの名無しさん:04/05/29 20:35
google tool barみたいなものを作るにはVB.NETで作ることができるんでしょうか?
>>711
The Code Project - Extending Explorer with Band Objects using .NET and Windows Forms - C# Programming
http://www.codeproject.com/csharp/dotnetbandobjects.asp

これ使うと簡単。
713デフォルトの名無しさん:04/05/29 20:55
>>712
こんな便利なものがあるんですか!でも当方VBしかしらないので
C#の勉強しないと・・・ありがとう!
>>705
学校の課題は自分で勉強しなきゃだめだぞ
>>713
C#で書くことなく、C#で書かれたものをVB.NETで利用できるわけだが。
.NET対応を謳っているeditXやfootyのようなリッチなテキストコントロール
ってありませんか?
国内外問わずご存知でしたら情報ください。
あ、追加で質問お願いします。
ADO.NETにてクエリ流した後、あとどれぐらいでサーバから結果が戻ってくる
か分かるような方法ってありますでしょうか?
実行後にプログレスバーで進捗表示しようと思ったのですがうまく実現でき
なくて・・・
>>717
ムリ
719706:04/05/30 06:26
>>710
@データセット作成→データグリッド表示
A6.0のOCXを参照

どっちの方法で逃げまつたか?
貧乏なのでDataGridView登場まで逃げ切るつもりなので。
720710:04/05/30 12:07
6.0のOCXで逃げまつた
正直こっちのほうが軽くていいです(w
721706:04/05/30 16:38
了解('A`)/
>>719-721 >706
 老婆心ながら、ライセンスの問題に抵触しないか
確認することをお薦めする。
 再配布しないのなら構わないが。
VB6のプロ以上持ってるんならライセンス的に何の問題にもなり様がないんじゃないの?
>>723
 そのVB6のプロ以上で作成したアプリの配布の際に限り、
再配布して良いと言う条件がついているのですよ。
 持っているだけでは再配布の権利は発生しないので。
 そこで、VB6で作成したアプリ(空のフォーム一個だけとか)を
同時にインストールするなど工夫する必要があると。
 予め入っている環境に限定して、OCX自体の再配布をしないと
いうのも有効な手段。

 VB.NETで作成したアプリを配布する際にに6.0のOCXを
含めるだけでは、再配布条件に適合しないので、確認する必要が
あるのよ。最悪、M$から実弾を食らう可能性があるので重要。
>>724
へーそうなんですか、勉強になりました。
しかしいつも思うんだけど、なんかこの「ライセンス」ってシステムにはどうも釈然と
しないものがあるなあ。

私は法律の専門家でもなんでもないけど、確かに形式的にはVBなりVSなりを
インストールするときの例の「同意する」って奴で、この「ライセンス」ってシステムに
合意したことになっているのかもしれないが、しかし契約の内容が明示的に示されずになされた
契約なんて法的に無効なんじゃないかと思うんだが。少なくともコントロールの
配布条件などに関して、マイクロソフトはそれを明示的に、だれでも読もうと思えば
読めるような状態にしているとは言えないよねえ。

ところで、コントロールの配布条件の問い合わせ先ってどこになるんでしょうか?
例の1質問3万円っていう悪徳弁護士並みの金を取る技術質問の窓口?
VB6のEXEでランチャー作って.NETのプログラム起動するってのはどうだろう(w
727デフォルトの名無しさん:04/05/31 06:50
VB.NET + ActiveX WebBrowserでオリジナルブラウザを作って
いるのですが、とりあえずウェブを表示するところまではいった
のですが、フォームのオートコンプリートやボタンなどのヴィジュ
アルスタイルが有効になりません。
何か設定があるのでしょうか?
ライセンスでつか...了解('A`)/
Public Function GetWindowDC(ByVal hWnd As Integer) As Integer
End Function

Public Structure BLT
Dim X As Integer ' X座標
Dim Y As Integer ' Y座標
Dim State As Boolean ' 画面に弾が残っているかどうかを判定
End Structure

Private Sub Bullet()
Dim BLT(20) As BLT
Dim i As Integer
Dim hDC As Long
hDC = GetWindowDC(Me.Handle.ToInt32)

For i = 0 To 19
座標登録
BLT(i).State = True
Next i

For i = 0 To 20
TextOut(hDC, BLT(i).X, BLT(i).Y, "→", Len("→"))
Next i

End Sub

必要な部分だけを書き出しました。

特定の座標から最大20個の"→"を出すというプログラムを組んでいるのですが、
TextOutのhDCの引数がさっぱり分かりません。
このTextOutについて、どうすればよいのかご教授お願いします。
VBそのものについての知識が乏しいので、検討違いな事をやっているかもしれません……。
>>729
何でGraphicsクラスをつかわんの?

ってゆうか、GetWindowDCさんは何をやっていらっしゃるのか問いつめたい。
>>730
……ひょっとしてGetWindowDCの中に命令を書くべきだったりします?
何か変だなとは思ってたんですが。

表示するのが文字列だからTextOutを使いました。
Graphicsの方が良いんですか?
VB6のスレだったかな?「さっぱり分かりません」と書く人のレスはたいてい
「さっぱり」理解不能だ、って感じのレスがあったが、あれは名言だ。
733最凶VB厨房:04/06/01 19:55
>>731
>書くべきだったりします?
違う。

とりあえずテンプレ見て目的のものを探すべし。
>>729
このプログラム面白い。
けど、このプログラムを手直しするより>>730の意見に同意。
VB.NETならGraphicsクラスを使ったほうがいいと思う。
>>725
 でも、一応全文書いてありますから・・・
 EULA.TXTだのを参照しろとか書いてありますし、パッケージには
紙の契約書も入っていると思うんだけど。
 分かり難いのは確かなんだけど、カスタムコントロールの作成元に
ライバルも含め、分かり易くしている所の方が少ない気がします。

 配布条件は、プログラミング上の問題とは言えないから、無償の
電話サポートに掛けてみては?
 三万円のサポートですが、OSのバグと認定されて無償になった
経験があります。

>>726
 それナイス。
736729:04/06/02 00:21
>>733
あ、違うんですか。

了解しました。
それではご指摘の通りテンプレを漁ってみることにします。
ご意見ありがとうございました。

>>734
ありがとうございます。

Graphics使った方が良いですか。
それではそちらに切り替える方向でプログラムを組んでいこうと思います。

どうもお世話になりました。
再びお世話にならないよう頑張ろうと思います。
ゲームプログラム初心者からの質問です。

リアルタイム処理(敵が動く・弾が動く等)を記述する際にVB.NETでは、一般的にどのような方法を取りますか?

考えてみた範囲では・・・
1.タイマーコントロールを使ってX秒ごとに処理(非現実的!?)
2.While(True) ループ内で処理(イベントはDoEventみたいな関数で処理)
3.別にスレッドを作り、そっちで動作関連の処理を行う

浅い考えですが、他に手法があれば教えていただけたらと思います。
マウスをクリックしたら
Enabled = False
だったものを
Enabled = True
にしたいのですが、どうすればいいのでしょうか?
よろしくお願いします。m(_ _)m
If Not xxx.Enabled Then
   xxx.Enabled = True
End If

これじゃだめなのか?
740738:04/06/02 01:25
理想の動作とはちょっと違いますね(^^;)
例えば、ブラウザのように、対象をクリックしたら戻るが動作するようになるとか
そういう動作をさせたいんです。
その例えがいまいちよくわからない。
おまいさんの言う理想がどんなのかはっきりしないのに、受けた助言にケ
チつけるのはよくないよ。もっと具体的に処理を書いてみそ。
742739:04/06/02 01:34
>>740
マジだったのか・・・
つまりMouseDownイベントのところでそれを書けばいいんじゃない?それじゃだめ?
>>738
クリックしたら有効になるとか考えてる時点で、
つまりUIの操作を元にUIの制御を考えてる時点で、多分はまるだろう。
ていうか、「マウスをクリック」って表現をみた時点で
なんか勘違いしている奴だなあ、と普通は思うでしょ。

単なる「言葉のあや」で不適切な表現をしているのではないよね。
Compact Framework でボタンのMouseDownイベントおきねー
君らの起こる?
746デフォルトの名無しさん:04/06/03 16:53
System.Diagnostics.Debug.WriteLine() を使っても、デバッグウィンドウに何も
表示されません。何か設定でもいるのでしょうか?

そもそも、デバッグウィンドウとは画面下にある「出力」タブの「デバッグ」のこと
だという理解からして間違っているのでしょうか?

# MS の開発環境は初めてで、五里霧中の暗中模索。
747746:04/06/03 16:57
書き忘れました。Visual Studio .NET 2003 Enterprise Architect で、
スマートデバイスアプリケーションを作成しています。
Console.WriteLine
sendkeyは嫌いです。
でもエンターキーで次の項目に移動したいのですが、
たとえばテキストボックスを継承してエンターキー入力時にこの機能を実装するには
sendkey以外、何かありますか?
750746:04/06/03 17:14
>>748
ありがとうございます。それも試してみたのですが、何も出ませんでした。
エェェェェェェェ
出力タブに表示されると思うんだが・・・
Console.WriteLine ("hogehoge")
とか適当な文字列でもダメ?
752746:04/06/03 17:29
>>751
はい、適当なリテラルで試してみたのですが、何も起こりません。ステップ実行を
して、WriteLine() を実行しているのは確認しています。

「出力」タブの「ビルド」「デバッグ」どちらを見ても出力されていません。不思議。
753746:04/06/03 17:36
立て続けにすみません。

[ファイル] → [新規作成] → [プロジェクト] で新しい VB プロジェクトを作り、
Form1_Load() に Colsole.WriteLine("hogehoge") とだけ書いて実行してみました。
すると、

 ・ Windows アプリケーションの場合……"hogehoge" という文字列が現れた。
 ・ スマートデバイスアプリケーションの場合……何も出ない。

ということで、これは仕様のようです。男らしく諦め、別の手を探します。どうも
ありがとうございました。
>>753
お力になれませんでしたスマソ<m(__)m>
755あいタン ◆3QC.t4i5w6 :04/06/03 17:44

( ノ ̄∇ ̄)ノ みんなーーーーーーー、あいでーーす。( ̄ー ̄)ニヤリッ
今日もがんばってね。
リリースビルドで実行してないか?
もしくはDEBUGシンボルの定義をビルドの設定で外してないか?
# Consoleは全然別物だぞ
すいません、VisualStadioスレに間違えて書きこみしてしまったので
マルチっぽくなってしまいますが。。。

VB.NETIIS5.0で開発をしています。

Web.configのsessionStateにtimeout=240と指定しているのですが
20分ほどでセッションが切れてしまいます。
試しにtimeout=5とかしてみたらちゃんと5分でタイムアウトしました。
machine.configやIISのセッション設定もいじってみたのですがやっぱりとても240分はもってません。
何が原因なのでしょうか?
プロセスが再起動さることがある、という記述はあったのですが
原因はそれでしょうか?

ちなみに開発はIIS5.0なのですが実際にアプリがのっているのは
2003サーバー、IIS6.0で、こちらはIISのアプリケーションプールの
アイドリングタイムアウトの時間を増やしたらうまく動きそうだというのは
わかりました。
ワーカープロセスのアイドルタイムアウトの設定が構成ファイルにもあると思うが。
759746:04/06/04 09:38
>>754
スマソなんてとんでもない。付き合ってもらって、感謝していますよ。

>>756
プロジェクトを新規作成した直後に >>753 のようにしているので、DEBUG シンボルを
無効化しているようなこともないはずです。もちろん、デバッグビルドで実行しています。

># Consoleは全然別物だぞ

あ、そうなんですか。勉強不足でした。念のため、System.Diagnostics.Debug.
WriteLine("hogehoge") に書き直してみましたが、やはり >>753 と全く同じ
結果になりました。うーむ。
760746:04/06/04 09:48
解決(?)しました。MSDN にこんな記述がありました。

http://msdn.microsoft.com/mobility/understanding/articles/default.aspx?pull=/library/en-us/dnnetcomp/html/netcfPPCtoCE.asp
| Debugging
|
| Pocket PCs do not support the use of the Debug.Write and Debug.WriteLine methods
| for displaying debug output.
|
| .NET Compact Framework-based applications are not able to send debug output to
| the Visual Studio .NET Output window, as the full .NET Framework does. Instead,
| debug output must be displayed in a local console window on the device.
|
| Windows CE .NET provides support for a console window, and will therefore
| display debug output. Pocket PCs do not support a console window, so debug
| output is lost.

ポケット PC はコンソールウィンドウをサポートしていないので、デバッグ出力は
捨てられるということのようです。お騒がせしました。748 さんと 756さん、どうも
ありがとうございました。
DataGridでソートする時、
毎回検索してDataSortを作成するものなのでしょうか?

使いまわすにはキャッシュするしかないのでしょうか?
そもそもDataSetをクラスのプロパティとして保持しているのに
中身はいつ消えてしまってるのでしょうか?
>>761
DataGridのDateSourceがDataViewの場合だけど
DataView1.Sort = "Item2"
で、ソートできます。
DataAdapterをFillするときに少し時間がかかることがありますよね
たとえば1回目のFillを実行する時などです。

その間だけ何かメッセージやダイアログを表示させることはできますか?
>>763
StatusBar1.Panels(0).Text = "しばらくお待ちください。"
765761:04/06/05 15:48
>>762
レスありがとうございます。
少し聞き方を間違えました。

> DataGridでソートする時、
> 毎回検索してDataSortを作成するものなのでしょうか?

DataSort -> DataSet
の誤りです。

質問についてですが、
1、DataGridで一覧を表示
2、ヘッダ名をクリックでソート

を実現したい場合、本などの通りに実装すると、毎回Fillして
検索実行するようになります(上の例ですと2回検索を実行)。
それだといささか遅くなるので一度目の検索結果からソートしたいと思いました。
しかし、クラスプロパティのような形でDataSetを保持していても
次のアクション時(上の例ですと2)にDataSetの中身がなくなっていました。
使いまわすことはできないのでしょうか?
VB.NETがある程度できるようになったので、Cもやって見たいと思っています。
Cにも色々有りますが、どぼん!のVB道さんのtips見た感じだと、
VB.NETとC#は記述が少し違うだけで、ほとんど同じに見えるのですが、
VB.NETがある程度できれば、C#も同じレベルまですぐに使えるようなるでしょうか?
もしそうであれば、まずC#を勉強してみようと思っているのですが・・・
767デフォルトの名無しさん:04/06/05 20:18
>>766
できます。ですが、C# と C は似て非なるものです。
768766:04/06/05 21:36
回答有り難うございます。
やっぱりVC++にした方いいのかな…
>>768
何がしたいんだ?
C#とVC++も似て非なるものだが…
っていうか、その感覚だとC#以外は選択肢に入らんと思うが…

CもC#もVC++もC言語の一種だと思ってるんならそれは大きな間違いだ。
だいたいここはVB.NETの話をする場所だろ
771デフォルトの名無しさん:04/06/07 17:16
DataGridにて特定の列にカーソルが行かないようにしたいのですが、
可能ですか?
772763:04/06/07 19:38
>764
サンクス
とりあえずこれでしのぎます。
VisualBasicでオープンソースなIEコントロール使ったWEbbrowser無いかな。
775773:04/06/08 22:32
タブ型にはできたんですが、
不具合があるんです。
@Googleの入力エリア(ドロップダウンリスト見たいな所)等は普通過去に入力した物が候補として、表示されるが、それができない。
AFlushを再生する場合、最初はFlush内のスタート等のクリックに反応するが二度目以降は反応しなくなる。
Bタブを切り替え直後に一回、IEコントロール部分をクリックしてやらないと、スクロールが効かない。
なんででしょうか。
776デフォルトの名無しさん:04/06/10 00:05
コンストラクタについて質問です。
コンストラクタは、クラスのメンバーを初期化するメソッドと理解しているのですが、

Public Class Test
Private int_A as Integer = 0
End Class

Public Class Test
Private int_A as Integer

Public Sub New()
int_A = 0
End Sub

End Class

上の二つの様な場合、機能的に同じだと思います。
コンストラクタに引数を渡して、任意の値でメンバーを初期化する場合にのみ、
コンストラクタを使う意味があるのでしょうか?
777最凶VB厨房:04/06/10 00:31
>>776
そうね。
ただしフィールドの初期化とコンストラクタによる初期化の
タイミングが違うことを知っとくべし。
>>776
実は違う、同じって言ってしまってもいいレベルの違いだけど。
>>777>>778
レスどうもです。オブジェクト指向勉強しなきゃ。
6.0にどっぷり漬かっておったので苦労してます(;´Д`)
780773:04/06/10 11:56
しぶとく。
Aに関しては、Focusがちゃんと設定されていれば、問題ないことがわかった。
要するに、Scrollと同じで、フォーカスの設定が問題なんだと思う。
海外のサイトでオープンソースのVB.net製Browserを見つけた。
参考にできる部分もあるが、今の問題の解答は無かった。
781773:04/06/10 12:07
いきなりできたっぽいよ。
Dim objWindow As mshtml.IHTMLWindow2 = doc.parentWindow
objWindow.focus()

で、いちいちクリックしなくても、スクロール受けつける。
782773:04/06/10 12:10
うほ
783773:04/06/10 12:15
Googleは駄目です。過去の履歴がずるっとでてきません。
784デフォルトの名無しさん:04/06/10 16:52
Repeaterコントロールで、現在、何レコード目を表示してるのか、
という情報を表示することは可能でしょうか?

イメージ的には、こんな感じです。
<asp:Repeater id="list" runat="server">
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem, "rownum") %><br>
</ItemTemplate>
</asp:Repeater>
と書いたら、、
 1<br>
 2<br>
 3<br>
と、表示されるようなイメージです。
バインドするビューなどに予め仕込んでおかなあいと不可能
なのでしょうか・・?
Javaのstatic initializerに相当するものってどう書くんですか?
エロい人教えて下さい。

static{

  //クラスがロードされたタイミングで実行される

}
コンストラクタにstaticつけてみれ。
>>776-779
なんか微妙に話がおかしいような。
「タイミングの問題」がそんなに重要だろうか?
そんなの、どちらの処理が先の行に書いてあるか?程度にしか
重要でないと思うけど。

>任意の値でメンバーを初期化する場合にのみ、
いや、初期化ってのは単なる派生的な結果でしょう。
コンストラクタを呼び出す目的は、文字通りインスタンスを
「コンストラクト」することだと思いますが。
App.configファイルに従来のiniファイルのようにセクションをつけることはできないだろうか。
<appSettings>
  <hogehoge1>
    <add key="User" value="" />
    <add key="Password" value="" />
  </hogehoge1>
  <hogehoge2>
    <add key="User" value="" />
    <add key="Password" value="" />
  </hogehoge2>
</appSettings>
仮にこう書いたとしても読み出し方がわからん。
カスタム構成セクションを作れ。
あ、カスタムセクションハンドラも作れ。
ってか、なんだ、良く見たらその内容なら、
普通にグループ化したカスタム構成セクションを
定義するだけでいいな。
どうしてofficeのVBAはいまだに.NETになってないんですか?
使うライブラリが違うから
officeのVBAはあれでいいと思う。
debug用exeを作成して本番製品にしちゃってもまったく問題ないんでしょう?
リリース用exeとの違いも見い出せないし。
795最凶VB厨房:04/06/13 20:09
お好きにどうぞ
FormのTransparencyKeyと同じ色をbuttonのBackclolorに設定してもボタンが透明にならない・・・
Dim plane1 As Image
plane1 = Image.FromFile("plane.gif")
RTB1.Text = plane1.Size.Width & "×" & plane1.Size.Height
リッチテキストボックスに飛行機の画像のサイズを表示するプログラムですが、
つぎからはplane1.size.という長い文を短く
〜.Width
のように書くにはどうすればいいんですか?

RTB1.Text = im.Width & "×" & im.Height
のようにコーディング量を減らしたいです。
798797:04/06/13 21:31
Dim im As Object
im = plane1.Size

RTB1.Text = im.Width & "×" & im.Height

できたけどこれで正解なのかどうか不安
オレのVB.NETになぜかイメージボックスコントロールがねぇ
>>798
何でObject…
俺のにも無いな・・・

つかピクチャボックスに置き換わったんじゃなかったっけ?
picturebox は前からあるが激しく使いにくくなった
803デフォルトの名無しさん:04/06/14 10:49
DataGridをSpread(GrapeCity)のように
DBに連結しないで自由に行数設定したりしたいのですが
できないのでしょうか?
偽?のDataSetを作るしかない
805デフォルトの名無しさん:04/06/14 12:15
exeファイルがあるフォルダを得る方法はありますか?

System.Reflection.Assembly.GetExecutingAssembly.Location
からexeファイル名を引くという方法以外で
神おねがいします。
806デフォルトの名無しさん:04/06/14 12:55
>>797
VBはこんな構文もあるのだが

Dim plane1 As Image
plane1 = Image.FromFile("plane.gif")
With plane1.Size
RTB1.Text = .Width & "×" & .Height
End With

ではいかんのか?
>>805
Application.StartupPath
ってどうよ?
808805:04/06/14 18:12
>>807
多謝!
807神社建立します
>>806
Withって値型にも使えたっけ?
おうちゃくするな
Withは標準モジュールに書けばパブリックにつかえるの?
>>811
意味わかんねー
>>811
With...End Withの中にかける省略形を、標準モジュール外部にもそのま
ま適用できないかってことかな。 そりゃ無茶すぎだよ。
普通にImports。
ていうか、完全修飾名を全部書くのは面倒だし読みにくいって話でしょ。
Withって変数にしか使えないんですが。
Withは無名の参照だと思っていれば問題無いな
VB6では寿命が関数レベルで戸惑った
816デフォルトの名無しさん:04/06/16 16:25
完全修飾名を全部書かなきゃならん状況ってのが
そもそもプログラム的に設計が悪いと思うが。
全部大域変数と変らなくなるし、そうなるとOOもスコープも
へったくれもねぇな。

多分>>815はかなり勘違いしとるね。
VBにはオーバーロード(ライド)がないのが仕様で
わたしゃけっこう好みだけどね。
With〜End Withなんて結構ブラボーだわな。
結構面白いレスが多いな。
ここにいるとわかってることまでわからなくなりそうだ。
>>817
禿同
>>814違うだろ
>>816意味不明
820814:04/06/17 08:18
>>819
違わないと思うけど。。?
自信があるならどう違うのか説明してみ?
まあ、説明できないから一行レスなんだろうけど。

>>816が意味不明なのはその通り。
Withは普通完全修飾名を書くのが面倒だから使うもんじゃないだろ。
Importsでやるのが普通って発想がそもそも違うだろ。

場合によってはありえるが、普通そういう理由でWithは使わん。
ってか最初からImports使ってるだろ。

Withは普通オブジェクトの参照をたどるのを略するために使う。
完全修飾名を省略するためには使わん。はなから目的が違う。

もし完全修飾名のをオブジェクト参照をたどる記述の事言ってるなら、
それはImportsじゃ代用できんだろ。
ついでにWithは変数にしか使えないってのもおかしい。
言ってる事のニュアンスは分かるけどね。
たとえば・・・
hogehogeのhoohooのpekepekeの持っているSizeを用いて
「Widthが10以上だったらLeftはHeight*10。Topは20*Heightにしなさい」

こんなことを実現するためには
If hogehoge.hoo.pekepeke.Size.Width > 10 Then
  hogehoge.hoo.pekepeke.Size.Left = hogehoge.hoo.pekepeke.Size.Height * 10
  hogehoge.hoo.pekepeke.Size.Top = hogehoge.hoo.pekepeke.Size.Height * 20
End If

これは非常にめんどくさいし読みにくい。だからWithを使って
With hogehoge.hoo.pekepeke.Size
  If .Width > 10 Then
    .Left = .Height * 10
    .Top = .Height * 20
  End If
End With
こういう風に省略できてうれしいな〜ってことでしょ?
なんか難しい言葉使って知ったようなふりが見えるけど・・・
>>800がObjectはおかしいと言ってるがこれはなぜ
>>824
別にObjectでもできるけど厳密に書くならSizeクラスにするだろうな。
そしてプログラムなんて厳密に書いておいたほうが間違いも少なくていいということだ。
だからまぁ要してしまえば

1.Withを使うと凄く楽だよね
2.Sizeクラスのインスタンスに突っ込んでやってもできるよね
3.Objectでも大丈夫だよ。だけどどうして大丈夫なのか理解するには少しオブジェクト指向の知識が必要だよね

こういうことだ。
827最凶VB厨房:04/06/17 22:59
上位クラスにつっこんだら派生クラスのメンバは呼べんだろ。
キャストしろ。ってこった。
>>827
まぁオブジェクト指向の考えから言えばそうなんだが、呼べてしまうんだよ。これが。
ある意味さすがVB.NET
829最凶VB厨房:04/06/17 23:03
>>828
今実行してみてびっくらこいたw
>>826
だから3はおかしいな。VB.NETの仕様だよ。って言えばいいのか
レイトバインディングって別に非OO的とは思わないんだけど。
そんなびっくりするようなことか?
Option Strict 調べれ。
俺はOnにしてるので例とバインド出来ない。
レイトバインドはタイプライブラリのないCOMでは便利。
俺はびっくりする。Size入れるためにそんなことしないしやりたくもない。
ついでに言うと、Sizeは構造体=値型のため、
Objectに代入するとボクシングされる。
で、メンバにアクセスする毎にアンボクシング。
さらに型情報がないためインテリセンスがきかないし間違いも起こしやすい。
と言うわけで、特に理由がない限り普通はできるだけ実装に近い型を使う。
※もちろんインターフェイス等を使用して抽象的にアクセスしたい場合等は別ね。
うーん、空いてしまった。832=834ね。
>>823って誰に言ってるのん?
837819=821:04/06/17 23:32
>>823
どうも俺が言われてる気がするので一応(違ったらどうでもいいが…)
>>819に対して>>820が絡んできたから説明してやっただけなんだが…
838816:04/06/18 00:08
おいおい、意味不明とか言われたから
俺ってば烈しく勘違いしたかと一瞬あせっちまったぞ。
結局漏れがいったとおりじゃねーの。
レイトバインドは確かに教条的なある言語系の方々には
びっくりされやすいな。漏れ的にはバリアント変数すら
平気なセンスの持ち主なんで、便利にしか思えないんだが。
かえって.NETで不便になった部分だと思うけどな。
ブラウザを作っています。
WebBrowserを使っているのですが、同じページを表示する際に
キャッシュを使ってしまいます。flagsを指定しましたがだめでした。
なのでキャッシュファイルを削除しようかと思ったのですが、
Temporary Internet Filesのパスを簡単に取得する方法が分かりませんでした。

何かよい方法がありましたら教えてください。
>>838
もちろんレイトバインドが全部駄目とは言わないが、
個人的にはそれが必要になる場面でしか使いたくない。
それが必要になる場面て結構限られてる。
必要でない場面では害しかないし、実際いろんな面で不便。

>結局漏れがいったとおりじゃねーの。
多分>>815はかなり勘違いしとるね。
VBにはオーバーロード(ライド)がないのが仕様で
わたしゃけっこう好みだけどね。
With〜End Withなんて結構ブラボーだわな。

この辺がよう分からん…VBってVB.NETじゃなくて旧VBのことかな…
オーバーロード(ライド)って、そのどちらもってことかな…
841840:04/06/18 00:22
ついでに>>815は別に勘違いなどしてないと感じるが…
842デフォルトの名無しさん:04/06/18 00:28
>>840
VB&.NETどっちもだよ。
C++なんかだとプライベートなメンバ変数をくるんだ関数を
パブリックにオーバーロードさせれば一見どこでも
アクセスできるように振舞わせることが可能だろ?
漏れはわけがわからなくなるからあんま好きじゃないがな。
それにそろそろスレ違いだが。
843840:04/06/18 00:43
>>842ごめん、良く分からんかった…(何を言おうとしているのかが)
844デフォルトの名無しさん:04/06/18 00:55
>>843
一度スコープの概念をOO的に考えるとよろしいかと。
なぜOO言語のクラスにpublicとprivateの別がありOOが必要なのか、だ。

>Withは無名の参照だと思っていれば問題無いな
>VB6では寿命が関数レベルで戸惑った

誰かが言ってくれているがWithは普通オブジェクトの参照をたどるのを
略するためのVBの構文だ。そこがわかっていれば、正直こんな理解
戸惑いはありえないと思うぞ。大域的に寿命があったら意味がないだろ。

845デフォルトの名無しさん:04/06/18 00:58
言い方を変える。
大域的に寿命があるWith参照の略式オブジェクトメンバ変数の使用と
(非OO的な)大域変数宣言に何か違いがあるのだろうか?
つーことな。
846デフォルトの名無しさん:04/06/18 01:08
google tool barみたいな組み込みソフトってどういう技術使ってるの?
847843:04/06/18 01:10
もうちょっとだけスレ違いすまん。

>>844うーんうまく伝わらなかった…
わざわざ(何を言おうとしているのかが)と書いたのは、
話の流れで「どういうことを言いたい」から>>842を書いたのか
分からないってこと。

なんというか、この話の流れで何をいわんとして>>842を書いたのか
分からないってこと。

>VB&.NETどっちもだよ。
>C++なんかだとプライベートなメンバ変数をくるんだ関数を…可能だろ?
VB&.NETがそれぞれ何を指してるのか分からない。旧VBとVB.NETのことでいいのか…?
で、上の記述でつまり何を主張したいのか分からない。
だから、VBとかVB.NETとかにどう関係があるのか…
VBではオーバーロードが出来ないから上記のことができない?のでいいってことか?
でもVB&.NETどっちもって言ってるし…

>大域的に寿命があったら意味がないだろ。
>>815が言ってるのはそういうことじゃないと思ってたが、勘違いかな…
確か旧VBではWithのブロックがしっかりしてなくて、無理やり抜けると
参照先が保証されないとか何とか、わけのわからんことがあったような記憶が…
※ごめん、これはちょっとうろ覚え。
ついでに言うが、>「誰かが言ってくれているが」の誰かは俺だ。
>>846
このスレのちょっと前にあったはず
>>846
>>711-712 だった。
あのぅクリスタルレポートの使い方が笑ってしまうくらい分からないのですが、
良い解説サイトはないでしょうか。
SQL Server からVBでデータを読んでクリレポで出力したいのですが。
やっとSQLでテーブル組んだと思ったら。。(泣
VB6.0のVariantをObjectにしたからおかしいという解釈も出てしまうのだろうか
852デフォルトの名無しさん:04/06/18 08:56
>>803
のようにDB連結しない表を標準機能だけで作るとしたら
DataSetをそれに合わせて作るしか方法ないのでしょうか?

何か他に方法あったら教えてください。
853最凶VB厨房:04/06/18 09:43
>>847
スレ違いというほどでもないと思うが・・・。

>>847=>>819=>>821=>>832=>>834=>>840=>>843なの?
>>852
別にDataSetでなくてもいいのだが手間は同じだったりする。
>>850
本を一冊かいましょう
って言っても2種類しか出してなくてどっちも不親切なんだけど(w
856デフォルトの名無しさん:04/06/18 13:31
>>847
> >>815が言ってるのはそういうことじゃないと思ってたが、勘違いかな…確か旧VBではWithのブロックがしっかりしてなくて、
> 無理やり抜けると参照先が保証されないとか何とか、わけのわからんことがあったような記憶が…

ああ、なるほど。ただ、それだとスレ筋がちょっとずれてるかもな。そうじゃないだろう。一連の話の発端は
  797 :デフォルトの名無しさん :04/06/13 21:26
    〜.Widthのように書くにはどうすればいいんですか?
  809 :デフォルトの名無しさん :04/06/14 22:34
    >>806 Withって値型にも使えたっけ?
  811 :デフォルトの名無しさん :04/06/15 06:27
    Withは標準モジュールに書けばパブリックにつかえるの?
あたりだな。つまり一連の話はメンバ変数にパブリック(大域)に簡略にアクセスする方法、端的に言えば
オブジェクト(あるいはメンバ変数の)スコープについて議論していた。
話の流れで何をいわんやというがもともとそういう流れだよ。だったら>>815のほうがズレとるだろ?
他言語にはオーバーライド等の使い方によってはスコープを無力化できる機構が備わった言語も
あるが、VBにはそれがない。代わりにはならんがWith〜End Withのような構文も用意されている。
それはそれで見識で漏れは好みだ、といっているだけだよ。
>>853の読みが正しければ、大方のあんたの発言には同意できるし、感心できると思っているんだけどな。

>>797
Dim plane1 As Image
plane1 = Image.FromFile("plane.gif") '画像ファイル読み込み
Dim im As Object
im = plane1.Size
Textbox1.Text = im.Width & "×" & im.Height'幅×高さ 表示

結局これをこえるコードがスレに登場してないのだが
858デフォルトの名無しさん:04/06/18 19:51
簡単な質問スマソ

メモ帳のように「OO.txt - メモ帳」と表示するためにファイル名だけ取得したいのですが、
どのようにすればよいのでしょうか?

OpenFileDialogを使用してやる方法教えてくださいおねがいします
>>858
FileDialogのメンバを見ろ。

860最凶VB厨房:04/06/19 00:46
>>858
ほれ。
/////////////////
Imports System.IO
/////////////////
OpenFileDialog1.ShowDialog()
Dim fi As FileInfo = New FileInfo(OpenFileDialog1.FileName)
Me.Text = fi.Name & " - メモ帳"
861847:04/06/19 00:55
>>856
ごめん、>>815が流れずれてると言えばそうだし(ってか余談って感じだと思ってた)、
あれがずれない流れで書いてるつもりなら確かにちょっと話がおかしいな…
# 確かに結局どういう意味で言ったのかは良く分からんね。

>>853の読み?は外れはないよ、全部正解(汗
862最凶VB厨房:04/06/19 01:48
まぁ俺は>>816と思われる人物が書いたレスは
最後までわからんかったなwww

>>847 >>821
もし完全修飾名のをオブジェクト参照をたどる記述の事言ってるなら、
それはImportsじゃ代用できんだろ。

ってのは具体的にどういうコードのことを言っていたの?
>>862
単純に、メンバを階層的に何度もたどる、
いかにもWithを使いたくなるような使い方のこと。
メンバ.メンバ.メンバ.メンバ、とか…
名前空間をたどる記述(まあつまり完全修飾名の記述)ではなく、
オブジェクトの参照をたどること。
当然Imports使うような場面とは全然違うと言う事ね。
864最凶VB厨房:04/06/19 02:35
>>863
理解した。
865最凶VB厨房:04/06/19 07:57
早いが次スレテンプレ貼っとく。しばらく消えるので。
--------------------始まり------------------------
VB.net初心者〜VB.net神
まで自由に書き込んでチョ。

過去スレ
VB.NET質問スレ (Part5)
http://pc5.2ch.net/test/read.cgi/tech/1078134703/
VB.NET質問スレ (Part4)
http://pc2.2ch.net/test/read.cgi/tech/1065269043/
【老若】VB.net質問スレ【男女】 (Part3)
http://pc5.2ch.net/tech/kako/1056/10562/1056281084.html
【老若】VB.net質問スレ【男女】 (Part2)
http://pc2.2ch.net/tech/kako/1043/10436/1043629429.html
【老若】VB.net質問スレ【男女】
http://pc2.2ch.net/tech/kako/1025/10258/1025848458.html

テンプレ >>2-10 あたり
866最凶VB厨房:04/06/19 07:59
867最凶VB厨房:04/06/19 07:59
どぼん!のVB道のトップページとTipsページ
http://dobon.net/vb/
http://dobon.net/vb/dotnet/index.html
Microsoftクイック スタート チュートリアル
http://ja.gotdotnet.com/quickstart/default.aspx
「300 秒でズバリ !!」&「10 行でズバリ !!」シリーズ
http://www.microsoft.com/japan/msdn/thisweek/wednesday/default.asp
Insider.NET
http://www.atmarkit.co.jp/fdotnet/index.html
@IT: 連載 VB.NETプログラミング
http://www.atmarkit.co.jp/fdotnet/vb6tonet/index/index.html
@IT:連載 改訂版 C#入門
http://www.atmarkit.co.jp/fdotnet/csharp_abc2/index/index.html
.NET TIPS
http://www.atmarkit.co.jp/fdotnet/dotnettips/index/index.html
C#プログラミングTips
http://www.atmarkit.co.jp/fdotnet/csharptips/index/csharptips_index.html
@IT:特集 .NET開発者のためのオンライン・リソース・ガイド
http://www.atmarkit.co.jp/fdotnet/special/onlineres/onlineres_01.html
868最凶VB厨房:04/06/19 07:59
宇宙仮面の C# プログラミング / C# Programming
http://ukamen.hp.infoseek.co.jp/
VB.NETとC#でデザインパターン
http://hccweb1.bai.ne.jp/tsune-1/
緑のバイク ★ 初めてのC# プログラム全般
http://homepage3.nifty.com/midori_no_bike/CS/
ミキミッキーのおうち
http://hakoten.com/dotnet/
WisdomSoft 〜Developers Network〜
http://black.sakura.ne.jp/~third/
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
ソース置き場.NET
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1003826049
Cetus Links: 19,498 Links on Objects and Components / .NET
http://www.cetus-links.org/oo_dotnet.html
ConvertCSharp2VB
http://www.kamalpatel.net/ConvertCSharp2VB.aspx
869最凶VB厨房:04/06/19 08:03
関連スレ
【managed】WinFX を語るスレ Part3【API】
http://pc5.2ch.net/test/read.cgi/tech/1071150423/
VisualStudio.NET(MSDN Deluxe) Part13
http://pc5.2ch.net/test/read.cgi/tech/1083995297/
C♯相談室 Part16
http://pc5.2ch.net/test/read.cgi/tech/1087297504/
フリーの.NET統合開発環境「SharpDevelop」
http://pc2.2ch.net/test/read.cgi/tech/1023727377/
消しゴムじゃない方のMONOを使ってみるスレ
http://pc2.2ch.net/test/read.cgi/tech/1020215602/
♯♯♯Shared Source CLI ♯♯♯
http://pc2.2ch.net/test/read.cgi/tech/1024222901/
VBプログラマ質問スレ(6.0以前) Part35
http://pc5.2ch.net/test/read.cgi/tech/1087519251/
--------------------終わり------------------------
フォントの種類(TrueType等)を所得するにはどうしたらいいのでしょうか?
871デフォルトの名無しさん:04/06/19 15:51
>>859
>>860

ありがとうございました
メニューの「デバッグ」-「ウィンドウ」と選択してブレークポイントやイミディエイトなどは
あるのですが、レジスタウィンドウが見あたりません。

ヘルプでは上記の場所にあると記載されていたのですが…

レジスタウィンドウをみる方法がありましたら、是非教えてください。

873マミ:04/06/20 20:32
かなりの初心者なんですが5教科の平均を求めたいんです。プログラミングは何を入力すればいいんですか??おねがいしますm(__)m
874デフォルトの名無しさん:04/06/20 20:38
>>873
それぐらいなら電卓を使用すれば簡単に求められますよ。
平均=(五教科の合計)/ 5
>>873
エクセル使ったほうがいいよ。
876デフォルトの名無しさん:04/06/20 20:56
VB.NETで2チャンネルブラウザは作れるのか?
作れないと思うわけを教えてくれ。
878876:04/06/20 21:01
それはVBは遅いからだ
879:04/06/20 21:05
かなりの素人なのですがお願いします
.netの実行ファイルってどれなんですか
VB6の時はEXEを作るみたいなことが書いてあったけど
.NETはそんなのないし
よろしく御願いします。
>>878
2chブラウザのどのあたりの機能が重い処理?

俺は作れると思う。
でもいい2chブラウザがイパーイあるからわざわざ作る必要は無いと思う。
かちゅ好きな俺は保守派
>>879.NETはそんなのないし
どこでつかまされたガセだ?
Inherits System.Windows.Forms.Form

Imports System.Windows.Forms.Form
としてもよいのだろうか?
いいはずがない。
継承が理解されていれば、こんな愚問はしないと思う。
>>882
意味分かって書いてるか?
885882 ◆qLkbkiCzdk :04/06/20 22:39
Importsは名前空間を呼び出すためで、
Inheritsはクラスを継承するためだけど、

名前空間をImportsすればその名前空間の下の階層のクラスが使え、
Inheritsをつかえば継承指定したクラスとその下の階層のクラスが使えるから、
あるクラスを使いたいときはImportsでもInheritsでもどちらでも使えるんだよなぁ

publick EndFlg as integer
すいません、エラーがでるんですけどどこが悪いのかわかりません。
>>885
 Importsしなくても、特定の名前空間の下の階層のクラスを
使う事が出来るが・・・
 Inheritsでその名前空間のクラスが使える意味は全く異なるが。

 って、この展開は何処かで見たパターンだな、オイ。
>>886
スペルをじっくり見るべし。
その質問、脱力もんだぞ。
エラーになる
Dim a as integer
Dim a as integer

-------------
エラーにならない
For Each diNext In dirs
Dim a as integer
Next

おなじDimを2回行うとエラーになるはずなんだが
For EachのなかのDimはエラーにならない。
これはNextにきたときにDim a as integerが開放されるからなのだろうか
890デフォルトの名無しさん:04/06/20 23:20
VBのくせにMicrosoft.VisualBasicをインポートしないとLEFT関数とか使えないじゃないか!
>>889
ネタ?
.NETではブロックレベルのスコープの変数が宣言できるようになった。
>>891
あ〜そうなんだ。知らんかった。俺は>>889じゃないけどね
>>885
>Importsは名前空間を呼び出すためで、
>Inheritsはクラスを継承するためだけど、
もう、分かってるふりはいいから。
それとも本気で分かってるつもりか?
>>889
Nextのところで1ブロック完了した扱いになるから次のDimは新規に宣言した扱いになるよ。
895マミ:04/06/21 02:03
えーと、説明が悪かったですm(__)mV.Bで5教科の平均を求めるFormをつくる課題がでてるんです(;^_^Aで、何をプログラミング入力すればいいかわからないんで教えてください〜。
氏ね
897デフォルトの名無しさん:04/06/21 02:25
896
おとなげないやつ!!
>>895
1、各教科の点数を変数に入力
2、それぞれの合計を教科数で割り算
3、その結果を表示

この説明でわからないところは?
読み取り専用のExcelファイルの使用者を取得する方法はあるだろうか?
あの「〜は編集中のためロックされています。」のメッセージボックスに出てくる使用者名なのだが・・・
>>899
Application.UserNameプロパティで取れるんじゃないかな。
901899:04/06/21 16:15
>>900
やってみたんだが自分のユーザー名しか取れないのよ。

openメソッドのNotify引数をFalseにすると、読み取り専用の場合メッセージが出るようになった。
このメッセージに出てる名前なんだがな・・・・
あわよくばこのメッセージボックスの答えも受け取りたいな、なんて。
902デフォルトの名無しさん:04/06/21 21:54
スプレッドシートの値をとってきてDBに放り込みたいんだけど
スプレッドの値が取れません
1234
5678
見たいな感じで1だけ取得するコードとかありますか。
スプレッドで検索したけどそれっぽいのはなかったです。
あとスプレッドシートに詳しいHPありませんか?
教えてばかりですいません。
>教えてばかりですいません
いやいや何も教えてもらってないですじょ
904デフォルトの名無しさん:04/06/21 23:32
あっすいません
教えてもらうほうでした
905デフォルトの名無しさん:04/06/21 23:49
現在VB6.0を使っています。20〜30人程度の相手に対して
バージョンアップの場合は .exeファイルを配布してます。
これをWEB化してバージョンアップのたびに配布する手間をやめたい。
 .NETにするとWEB化しやすくなるのですか?また、それを
構造化せずに。NETで作ってもWEB化はできますか?
 オブジェクト指向は苦手なもんで・・・・
>.NETにするとWEB化しやすくなるのですか?また、それを
>構造化せずに。NETで作ってもWEB化はできますか?
なんだか良く分からんのですが…
907905:04/06/21 23:59
構造化せずにVB6.0もどきで.NETを作ってもWEB化できますか?  
.NETをどういうふうにWEB化するんですか?
>>905
あなたには、 VB.NET は向いていません。
無駄なことは辞めましょう。
VB6ってどうしても構造化を捨てなきゃ行けない局面ってあったっけか?

on error gotoでループのど真ん中にあるラベルに飛ばすとか?
910905:04/06/22 00:19
自分が作るのではなくてソフトハウスに外注する予定。20〜30人の
人間に同じものを配布しなくても機能を一部WEB化して表示結果を見る
レベルでよいものもいる。外注のソフトハウスに依頼する場合.NETなら
WEB化しやすくなるのかなと思って。
構造化云々というのはあとあと自分がちょこちょこ改造する
場合があるのを想定して、おいおい構造化はわかるかもしれないが
最初理解するのは大変かなと思って。
つか、Web化って意味がわからない。
WindowsUpdateみたいに差分配布&パッチ適用したいってことか?
912911:04/06/22 00:27
ああ、>>910に書いてあったね。
ネットワーク経由で入出力したいみたいだけど、データベース関連かなん
か? 現場でやりたいことを相手のSEに伝えれば、予算に応じたシステム
を設計してくれるんでないかと。へたに自分で考えるよりも楽だよ。
913905:04/06/22 00:30
たとえばあるデータを検索したいとする。検索用のデータベース
のあるパソコンが一台あって、20〜30人のユーザーに
VB6,0のexeを配るとそれぞれのソフトが直接データベースのPC
からデータを引っ張ってくることになる。
たとえばJAVAサーブレットのように作ればexeを全員に配布しなくても
ブラウザで表示させて、ちょっとした検索結果もブラウザで
表示できるイメージ。
ノータッチデプロイ
915905:04/06/22 00:38
もちろんSEが考えてくれるけどできた後のちょっとした変更
は自分でやらなければならないと思う。
かといってVB6.0はいずれなくなる。
変更したときの再配布を考えるとWEB化した方がらく。
かといって構造化はすぐには理解できないというジレンマ。
どの言語にするかを決めて社内根回しが必要なため。
>>905
Web化の意味が曖昧。
・クライアントアプリ+Webサービス
・クライアントアプリ+非Webサービス
・ASP.NET
どれ?
905の頭の中身をupdateしたいです
構造化の意味もよくわからんというか、間違えていると思う
ノータッチデプロイ → ClickOnce の流れで
いまから構造化するってことは、きっと今はgotoだらけで行番号があるようなプログラム・・
921デフォルトの名無しさん:04/06/22 13:38
失礼します。ちょっち助けてください。

VB.NETで、Jet(Access)にINSERTのSQLを流すプログラムを作ろうとしてい
るのですが、うまくいかないのです。

【希望する処理】
あるファイル(テキスト)を1行づつ読んで、中の行をINSERTのパラメーターに修
正し、Jetに送信しながら、ファイルの最後まで進む。

コード全部載せるわけにいかんですが、System.IO.StreamReaderでファイル
を読んで、

While Not srLine Is Nothing
srLine = srFile.ReadLine
 olecmd = New OleDb.OleDbCommand("INSERT INTO main VALUES(" & srLineを加工した結果 & ");")
olecmd.ExecuteNonQuery()
End While

なループにまわしたら、「Connection プロパティは初期化されていません。」と
叱られました。
1行目だけは、Jetに送られていますので、2回目以降だと思います。

いろいろとVB.NETの入門書を見たのですが、1回INSERTを送る例文はあるの
ですけれど、ループ中で処理する方法がみつかりませんでした。

ちなみに、WriteLine d\で上のINSERT文を取り出して、Accessに読ませた
ところ、正常にINSERTできましたので、このループの部分だけが問題なのです。

どーか助けてください。お願いします。
While Not srLine Is Nothing
srLine = srFile.ReadLine
 olecmd = New OleDb.OleDbCommand("INSERT INTO main VALUES(" & srLineを加工した結果 & ");")
olecmd.ExecuteNonQuery()

olecmd=nothing

End While
923921:04/06/22 14:41
>>922

感謝感謝です。
うまく出来ました。

ありがとうございました。
webフォームで作成し、デバッグモードで実行しようとすると
「致命的なエラーです。Webサーバーでデバッグを開始できません。」
こんな感じのメッセージが表示されてデバッグできないのですが、
どうしてでしょうか?デバッグせずに実行だと動きます。

googleでも検索してみたのですが、他の問題によってデバッグが
出来ない場合の対処法しか見つかりませんでした。一応それら
(web.configの設定等)も試してみたのですが、全く変わりません。

vbサイトの質問掲示板で全く同じ現象の書き込みを見たのですが、
スルーされていました。もしかして再インストするしかないとか
そのぐらいどうしようもない現象なんでしょうか?

もし解決方法をご存知の方いらっしゃいましたら解答をお願いいたします。
VB.NETは、オブジェクト指向についてこれない
プログラマに退場していただくためにある

VB6にこだわるなら、VB6.NET コンパイラを
開発するという手もあるが。。。

926デフォルトの名無しさん:04/06/23 18:09
VB.netでDirectxを使ったものを作っているのですが、質問はここでいいのでしょうか?・・・そもそも人いるのかな(;´Д`)

えっと3Dのオブジェクトを回転させるのに
(回転させるフレーム).SetRotation((参照するフレーム), X, Y, Z, R)
を使っていますが、これってフレーム内の立体は回転しますがフレームの軸自体は回転しませんよね。
簡単なフライトシミュレーションを作ろうとしているのですが、機体に合わせて軸も動くようにする方法はないのでしょうか?
それとも機体の傾きを計算して回転させないといけないのかな・・・。
http://pc5.2ch.net/test/read.cgi/tech/1039357620/l50
>>926
このスレのほうが良いかも
と誘導したもの
そのスレってほとんど更新されてないのか・・・(w
orz
930デフォルトの名無しさん:04/06/26 01:04
VBではないのですが、VC#.netアカデミックをインストしたのですが、以下のエラーが起動時に出てきて使えません。

"MS Development Enviroment は、現在のユーザ用にインストールされていません。セットアップを実行してアプリケーションをインストールしてください。"

一応再インストールしたのですが解決しないです・・・。なにが原因でしょうか・・・。
931デフォルトの名無しさん:04/06/26 01:13
active xについて混乱してるのですが、active xはマイクロソフトの
インターネット技術の総称で、それらはVBなどで作るというふうに、
書いてあったのですが、VB.NETを使ってactive xアプリケーションは
つくれるのでしょうか?それとも.NETの登場でactive xというものは
消えてしまったのでしょうか?ちょっと、アクティブXと.NETとVBで
混乱してます・・・
>931
VB.NETで作れるのは.NETマネージのみ。
ただしそれをCOMから呼び出せるように作ることはできる。

警告音をピッと鳴らしたいのですが方法が分かりません。

サウンドカードから警告音を鳴らすには、

[System.Runtime.InteropServices.DllImport("user32.dll")]
private static extern int MessageBeep(uint n);

でいけたのですが、パソコンの中でピッとならすにはどうすればいいのでしょうか?
調べたのですが、前者の方法しか分かりませんでした。

どちらもビープ音というのでしょうか?調べるにも名称が分からないので、
名称だけでも教えてください。
>>933
PCのシステムスピーカーを鳴らすのはBeep APIの方ね。
935デフォルトの名無しさん:04/06/26 16:44
VB.NETの参考書買ったら60日間評価版が付いてたけど、これってどうやっても60日間しかつかえないのかなぁ・・・
936デフォルトの名無しさん:04/06/26 16:48
VB.NETの参考書に60日間評価版が付いてきたんだけどこれってどうやっても60日しか使えないのかなぁ・・・
フォーマットすればいいんじゃない?
938デフォルトの名無しさん:04/06/26 18:59
System.Web.Mail.MailMessage でちょこっとしたメールを送りたい
のですが、System.Web.Mail.MailMessageなんて無いとエラーが
出てしまいます。(というかSystem.Webが無い)

ググってみても、当たり前のようにSystem.Web.*が使われてる説明ばかり
ですし、.NET Framework SDK 1.1を入れなおしたりもしてみたし、どうしたら
いいかわかりません...

System.Web.*を使うには何か特別なことをしないといけないのでしょうか...
939938:04/06/26 19:04
くあっ、解決しますた。

プロジェクト(P) → 参照の追加(R) で System.Web.dll を選んでやれば
よかっただけですね...トホホ
>>939

漏れもちょうどメール送信プログラムを作ってる最中
これでスパあqswでfrgtひゅじこl
941デフォルトの名無しさん:04/06/27 23:18
CSVファイルからデータを読みこみDatasetに作成したテーブルに
追加する処理をしています。

CSV、テーブルともに項目は日付(YYYYMMDD)と金額です。
仮に次のようなデータがあるとします
20040601,1000
20040601,2000
20040602,1000
テーブルには同じ日付の場合は金額を加算して次のようにしたいのです
20040601,3000
20040602,1000

そこでテーブル内に同一の日付のレコードが存在するか確認するのに
Selectメソッドを使っているのですが
存在するかしないかの結果を見るのにはどのプロパティを見れば良いでしょうか?


942よく読まずにカキコ:04/06/28 01:04
SELECT文を叩いて取り出したDataRow()の配列数
dr() = dt.Select〜

dr.Length = 0 なら結果返らず
943デフォルトの名無しさん:04/06/28 17:05
全くの知識ゼロから勉強しているのですが、実行可能ファイルnekocan.exeをビルドすると
同じフォルダにnecocan.exe.configというファイルが作成されます。

このconfigファイルとexeファイルを違うフォルダに入れるとエラーが出て止まるのですが、
これは、必ずフォルダ内に1セットで置いておくものなのでしょうか?
944943:04/06/28 17:17
ダイナミックプロパティを使ってました・・・ゴメンナサイ。
945デフォルトの名無しさん:04/06/28 18:44
vb.net

CSV形式のファイルを読み込んで、データグリッド等で
表示したいのですがコードがわかりません。教えてくださいー。
明日までにつくらないといけなくてこまってますー
947デフォルトの名無しさん:04/06/28 20:49
ページ読み込み後に、Text1に読み込んだURLを表示させたいのですが、

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
AxWebBrowser1.Navigate(TextBox1.Text)
TextBox1.Text = AxWebBrowser1.LocationURL
End Sub

とすると、Text1の内容が反映されません。
どのようにしたらよろしいのでしょうか?よろしくお願いします。
こんな糞スレageんな
氏ね
----------------------------- 終了 ----------------------------------
一般的宣言セクションにて
BFlag = 0
GFlag = 0
と宣言しておき、
戻るボタン: BackBtn
進むボタン: GoBtn
とボタンがあります。

まず、BFlag,GFlag = 0の状態の場合、
BackBtn,GoBtn = False
何らかの事情でGFlag=1になった場合、
BFlag = 1 , BackBtn.Enabled = True , GoBtn.Enabled = False
と言う状態になり、その状態でBackBtnを押した場合、
BFlag = 0 , GFlag = 1 , BackBtn.Enabled = False , GoBtn.Enabled = True
その状態でGoBtnを押した場合、
BFlag = 1 , GFlag = 0 , BackBtn.Enabled = True , GoBtn.Enabled = False
と言うのを基本的に繰り返します。しかし、
BFlag = X(不定の数値)のばあい、X回BackBtnを押せるはずですが、あえてY回(X>Y)戻り、
Y回戻った後にZ回(Z≠X,Y)進み、その地点からX=0の状態まで戻りたいのですが、
どうすればいいのでしょうか?

(※)この質問はブラウザの「戻る」、「進む」のような感じのものです。(実際それを作っています)

いろいろと書いているのですが、しっくりくる動作が出来ません。
それと、GFlagが未知の数値の場合でも、進む・戻るを繰り返し、進むを最高まで押した場合、
GoBtn.Enabled = False
にしたいのですが、これもどうすればいいのかさっぱりです。
ごちゃごちゃした文章ですが、ご教授よろしくお願いします。
言いたいのは(※)の行のものを作るのにはどうすればうまく動作するのかと言うことです。
前にも言ったろ?(多分)
ボタンの状態やフラグで、そういう状態を管理しようってのがそもそも間違いだって。

ボタンの状態は、それ以上先または後ろがないという状態を見えるように表現しただけ。
ボタンによって状態が管理されてるんじゃない。
こういう状態で管理するのは間違いなんですか。
ありがとうございました。調べてみます。
>>951
>>950も触れてるけど、ボタンのEnabledプロパティーがTrueになっ
たりFalseになったりするのは単に「結果」に過ぎないからな。

結果があると言う事は、そうなる為の理由がある筈だろ? 管理すべ
きは、その「理由」の方だよ。

だもんで、設計を見直した方がいいかも新米。
953デフォルトの名無しさん:04/06/29 08:21
ていうか、>>949読んでも>>950-952の言うような問題にはまっているようには
全然読めないけどねえ。。。

>>949の問題は、恐らく「戻る」操作をしたときの(構造体配列か何かの)
インデックスの扱いに間違いがあるために発生していると思われる。
要するにデータ構造の扱いに不慣れなだけだと思うけど。
954デフォルトの名無しさん:04/06/29 11:06
VB.netでファイル情報を参照できるexeを構成しようと思ってます。
FSOを通じて得た情報をTableObjectを作って、Datasetを作って登録しました。
SQLサーバとかから拾ってきた情報ではなく、exe自体が作った情報なので現時点でDataAdapterはありません。
この状況で、たとえば、"*.cgi"ファイルの数とファイルサイズ合計を知ろうとして、
select count(*), sum(ファイルサイズ)
from ファイル情報
where ファイル名 like '*.cgi'
って書いて情報を得たいのですが、やり方がわかりません。
DataAdapterかConnectionにしか、Selectとかを書くやり方を知らないので困ってます。
"そもそもアプローチ自体が変!こうするものだ!"も含めて、誰か教えてください。
955デフォルトの名無しさん:04/06/29 11:52
>>954
俺も同じような事で悩んだ
 結局selectメソッド使って絞りこんで数を数えたけど
 SELECT文発行できる方法あるなら俺も知りたい
956デフォルトの名無しさん:04/06/29 12:35
VB.NETでASPアプリケーションを開発しています。
ここで、ファイルのアップローダを作ろうと思い、
FileFiledを用いて「ファイルを開く」ダイアログを出すようにしました。

ここで得たファイル名をVB上で取得するにはどのようにすれば
よいのでしょうか?これはオブジェクトではなく、HTMLらしいので
FileField.Textの様にはできませんでした。
よい方法がありましたら教えていただけると大変助かります。
どうかよろしくお願い致します。
インターネットに繋がってるかどうか確認し、繋がってなかったら
MsgBoxでネットに接続してくださいとメッセージを出したいのですが
ネット接続を確認するにはどうしたらよいでしょう。

http://www.microsoft.com/japan/msdn/library/default.aspで
pingとかICMPで検索しても、それらしいクラスは見つからず・・・

ちなみにネットはフレッツADSLで、フレッツ接続ツールを使います。
>>957
素人なのでよく分からん、しかもC#だけど、こんなんじゃだめですか?

Socket.Connectedプロパティ
>>958
ありがとうございます。漠然とネットに繋がってるか?じゃなくて
具体的にどっかに繋ぎに行ってみるってわけですね。

接続確認だからpingってことばかり考えてましたヨ
>>954
DataSetを作れてるって事は内部にDataTableがあるはずなんで

dim r as object = DataTable.Compute("Sum(ファイルサイズ)","ファイル名 like '*.cgi'")

でどうでしゃろ
カウント数は同じ式で

DataTable.Select ("ファイル名 like '*.cgi'")
で戻りのDataRowの数を調べる>>942
961960:04/06/29 14:08
あと、ディレクトリ内の情報を得るのなら

Dim DI As System.IO.DirectoryInfo = New System.IO.DirectoryInfo("c:\")
Dim FiA() As System.IO.FileInfo = DI.GetFiles("*.txt")

Dim b As Long

For Each Fi As System.IO.FileInfo In FiA
b += Fi.Length ’バイト数を取得
Next
MsgBox(b)

再起呼び出しはしないので
適当に改造してください
962954:04/06/29 14:53
>>960-961
ありがとうございます。大変参考になりました。
たいていの処理はそれを組み合わせていけば可能な気がしますが、

[毎月ごとの社員ごとの営業成績(クロス)]
transform 社員cd, sum(売上高)
select 社員cd
from t売上
group by 社員cd
pivot 売上月

とか、

[大阪営業所の社員の売り上げ合計]
<パターン1>
select t社員.社員cd, sum(t売上.売上高)
from t売上, t社員
where (t売上.社員cd = t社員.社員cd) and (t社員.営業所 = '大阪')
<パターン2>
select 社員cd, 売上高
from t売上
where 社員cd in ( select 社員cd from t社員 where 営業所 = '大阪' )
group by 社員cd

とか、っていうのをSqlをがりがり書いて一発でぽん、って訳にはいかないですかねぇ・・・

・・・って、書いていて思いました。
そういうデータはたいていSQL Serverとかにあるから、ConnectionのSelectに書けばいいって話が・・・
半ば自己完結気味ですが、あればいいかも?と、ふと思ったもので。
>>942も含め、ありがとうございました。
>956
「サーバー上で実行」にしてみ。HTMLの物でも、サーバー上で
簡単に扱えるオブジェクトになる。

後は、↓読め。
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfSystemWebUIHtmlControlsHtmlInputFileClassTopic.asp
>>963「サーバー上で実行」にしてみ。
多分それは違うような気がする…
もしかしたら変な質問かもしれないので、あらかじめごめんなさい。
MsAccessで、テーブル(クエリでもいいんですけど)直結の帳票型フォームをつくったとします。
でもって、レコード単位でコマンドボタンをくっつけることが出来るじゃないですか。
くどい言い方をすると、「そのレコード専用のボタン」です。
たとえば得意先社名一覧フォームで、ボタンを押すと、その会社との取引履歴が出せる、
みたいな使い方です。
VB.NETのデータグリッドには、こういう「レコード1個1個の専用ボタン」みたいなものは
付けられないんですよね。
見りゃ分かるだろといわれれば、まあそうなんですけど。
となると、たとえば、セル(というかカラムというか列というか)のどれかをボタンに見立てる、
とかいうようなやり方しかないんでしょうか?

VB.NETはまだインストールして数日です。
それ以前のVBは知りません。
使用経験があるのはVBAだけです。
ようやくmdbファイルのデータ読み書きが出来るようになったばかりです。
これもやりかたはいくつかあるみたいですけど、取りあえず出来るようになったのは
Dim MyMDB As New ADODB.Connection
Dim MyRst As New ADODB.Recordset
MyMDB.Open("何とか")
MyRst.Open("何とか"。。。)
な感じの、いままでVBAでレコードセット開いたりDbExecuteしたりしてきたそれの延長みたいなやり方だけです。
やりたいことをはっきりさせた方がいいような…

既存のシステムを.NET化したいというのなら本当にその必要があるのか
考えた方がいい。
場合によってはAccess+VBAの方が向いているものもあるし。

もし.NETを身につけたいというのが目的なら、個別の質問より先に全体を学んだ方がよいような。

回答になってなくてスマソ。
すいませんほかでも質問したのですが、レスがつかず誘導されました。
VB.NET2002にバンドルされているCrystal Reportsを
つかって手製アプリに印刷機能をつけ、開発機では問題なく動くのです。
しかし開発機以外でアプリの印刷機能を使おうとすると、
System.IO.FileNotFoundException: ファイルまたはアセンブリ名 CrystalDecisions.Windows.Forms、
またはその依存関係の 1 つが見つかりませんでした。
ファイル名 : "CrystalDecisions.Windows.Forms
というエラーメッセージがでて機能しません。
Crystal Reportsを使ったアプリは必ずそのパソコンにCrystal Reportsを
インストールしなければならないのでしょうか?
もしくはdellの異常や名称変更によるトラブルなのでしょうか?
ちなみに開発機のassemblyファイルをインストール機にコピペすると
dellがないといったエラーメッセージに変わります。
どうか教えてください。
VB.NETでActiveBasicのような開発ソフトは作れるものなのでしょうか?
969967:04/06/30 19:44
自己解決しました。どうもありがとうございました。
970デフォルトの名無しさん:04/06/30 19:57

CSV形式のファイルを読み込んで、データグリッド等で
表示したいのですがコードがわかりません。教えてくださいー。
どうしてもわかりません ヒントだけでもー
>>964
963で上げたURLのサンプルは、そうなっている訳だが。
「runat="server"」って書いてあるでしょ。

後はプロパティの一覧をじっくり見れば簡単な話。
それらしいのを一つ一つ見ていけば分かるから、それ以上
世話焼かすな。

VB6のWebClassやらJava Servletやらでファイルアップロードを
やった経験からすれば、.NETのは簡単で楽で涙が出たぞ。
>>970
System.Data.Oledb名前空間のクラスを活用するとか。
csvを読み込めるOLEDB Providerがあるはずだが。
「Jet OLEDB Provider」で読めると思ったが手元の環境では
検証できんし、検索してもmdbかxlsの例しかヒットせん。
973デフォルトの名無しさん:04/06/30 22:06
VB.netでCSVを表示することはやっぱり
むずかしいのでしょうか
>>973
すぐ見つかるだろ。
普通は↓とは違う方法。

>>972
こんな感じで。
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=パス名;Extended Properties='text;FMT=Delimited;HDR=YES'"
固定バイト長はやや面倒な場合があったりする。
>>965
Accessのような完全連結じゃないけど
似たようなことはできる

1レコード分に相当するUserControlをつくり
Panelにレコード分ロードする
Y座標を上手にあわせてスクロールバーのプロパティをONにすれば解決
イベントもそれぞれのUserControlから独自に拾える
う、うーん、激しく重くなりそうな希ガス
結局適材適所ということで。

社内向けシステムとかだったらVBAで組んで使いながら適宜改修して行くほうが使いやすいだろうしね。

979デフォルトの名無しさん:04/07/01 22:28
>>942,>>960
DataTable.Select の結果を調べるのに
DataRow、Lengthを使っていますがこの違いは何でしょうか?
980デフォルトの名無しさん:04/07/01 22:39
DataTable.Selectで絞りこんだDataRowsを
Datagridに設定するにはどうすれば良いでしょうか?
981965:04/07/02 01:14
>>966,>>976-978
レスありがとうございます。
ご推察通り、職場用の小さなシステムです。
近い将来システム増改築となった場合に、これおぼえときゃAccess使うより
びっくりするほど安くあがりそう、とかセコいこと考えてました。
AccessとVBの違いは、「特化ツールか汎用ツールか」程度にしかとらえてなくて、
VBに何か不利な点があるとしても、それはせいぜい「やれることが多すぎて戸惑うかも」
ぐらいの認識だったので、だったらちょっと我慢すれば同じようなものがつくれるんじゃ
ねーの、と。
モノになるかどうかはともかく、始めてみればこれはこれで結構おもしろいので、
本業の合間を見ながらしばらく続けてみます。

>>976さんの案は、今の自分の技量ではちょっときびしいです、ごめんなさい。
文章コピーして取って置いて、もう少し腕上げたらそのとおりに試してみます。
982デフォルトの名無しさん:04/07/02 05:43
ブラウザに機能を追加するにはどういう技術を使ってるんですか?
例えばグーグルツールバーや、ヤフーツールバーはインストール
するとブラウザに機能が追加されます。このような機能は
アクティブXの技術を使ってるのでしょうか?それとVB.NETなどで
開発は可能なんでしょうか?


983デフォルトの名無しさん:04/07/02 11:23
あんま言語とは関係ないとは思うのですが
0:Yes, 1:No, 2:どちらとも言えない, 3:無回答
みたいなものを扱うとき、データ型って何使うのが普通なんですかね?
charなのかbyteなのかintなのか、どれでも良い気もするのですが・・・
誰か教えて。
何も考えずにEnumを定義する。
985982:04/07/02 12:14
早々のお答えありがとうございます。
ということはintですね。
DBにデータを保存すると4byteは無駄な気がしてしまうのですが気にすることでもないですかね?
986984:04/07/02 12:15
982ではなく983でした。それこそ無駄を申し訳ありません。
987986:04/07/02 12:17
俺はどうしちまったんだ・・・・
984ではなく985です。
吊って来ます。
Enumの中身自体にはByteも使える。
別に値の範囲が決まっているならDB側のサイズを小さくするのは問題ないのでは?
SQLServerみたいに型付けされててもキャストすればいいだけだし。
989983:04/07/02 13:04
自分のレス番すら把握できないバカにレスありがとうございます。
byte型を使った場合定数との比較をするとintにキャストされて無駄かなと
思ったのですが比較対象にbyte定義した列挙型を使えばいいのですね。
そのほうがコード自体も読みやすいかもしれませんね。
参考になりました。ありがとうございます。

ちなみにですがこういう場合char型は普通使わないのでしょうか?
実はテーブル定義自体はcharになっておりましてどうしようかなと考えていたものですから。
990デフォルトの名無しさん:04/07/02 14:00
データグリッドでDBからそのまま値を取得する部分は
デザインで直接値を設定し、
ソース上ではDBの値を加工しチェックボックスや
コンボボックスの列を追加しています。

例えばDBから5列値を取得し、ソース上で1つコンボボックス列を
追加するとします。

その際、コンボボックスは6列目になってしまいますが
3列目に挿入することはできますでしょうか?
.NET、というかプログラミング言語の型とDBの型はそれぞれ違うわけで…
微妙に、だったり、全く違ったり、だったり。
そろそろ次スレを
993デフォルトの名無しさん:04/07/02 20:46
マクロで、Projectオブジェクトのアセンブリ名を得る方法はあるでしょうか?
>>979>>980
遅くなり申した
Lengthは戻ってきた配列の数が入っています
For Each分で1レコードずつ取り出して処理するのが一般です

配列のDataRow()をDataGridに表示する方法は、
再度仮のDataTableに結果をセットしてやるなど面倒になります(たぶん

結果を返す方法はいろいろあるので調べてみてください
そのほうがDataSetの構造がよくわかると思います<m(__)m>
>>989
>byte型を使った場合定数との比較をするとintにキャストされて無駄かなと
>思ったのですが比較対象にbyte定義した列挙型を使えばいいのですね。
こんなこと言う奴が無駄とかなんとか考えても無駄だ。
997デフォルトの名無しさん:04/07/03 02:27
   /⌒ヽ
  / ´_ゝ`) 1000ですが、失礼して通りますよ…
  |    /
  | /| |
  // | |
 U  U
>>997
焦り過ぎ(w。
>>997
さあ、逝け↓
  ||// ∧_∧|∧_∧
  ||/  ( ´・ω・)(    ) クマが迫っている気がする
  ||   (    )|(  ● )
    ̄ ̄ ̄ ̄ ̄ u―u'

   _____
  ||// ∧_∧|∧_∧
  ||/  (n´・ω・)n   )  見られてる気がする
  ||   (ソ  丿|ヽ ● )
    ̄ ̄ ̄ ̄ ̄ u―u'

   _____
  || ●   ●|∧_∧
  ||   ( _●_)(n´・ω・n) クマなんて居ないのに迫っている気がする
  ||、   |∪| |(     .)
    ̄ ̄ ̄ ̄ ̄ u―u'
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。