3 :
デフォルトの名無しさん :04/03/01 18:53
10 :
デフォルトの名無しさん :04/03/01 19:14
ある時間になるとイベントが発生するようにしたいのですが コードの書き方がわかりませんのでよろしくおねがいします。 (12:00:00になるとピクチャーボックスが有効になるとか。)
12 :
前スレ991 :04/03/01 21:43
前スレからやってきてしまいました991です。
>1
グッジョブ( ´_ゝ`)b
>>11 1.サンクス 早速このレスの後逝ってみる。
2.普段、VBソース内で記述したことがなかったので、今回の
コンパイルに伴って必要となったのかと思いました。
(フォームのInherit句にいつもデフォルトで入っているのは知っています)
3.わかりました。MSDNのSystem.Windows.Forms名前空間を見てみます。
4.なるほど。もう一度、質問を書き込みなおしてみます。ありがとう。
ご登場ありがとうございました。
ということで、新スレ早速ですが また前回の質問をさせていただきます。 どなたか、外部アプリにアタッチさせたwin32リソースを "res://〜"形式で(HD上のパスを指定するような形で) アクセスする方法を知っている方がいらっしゃったら 是非ご教授下さい。 具体的には、このwin32リソースをアタッチさせた.exeについて、 1.ソリューションへ .RESファイルも取り込まないといけないのか、.exeだけでよいのか 2.ソリューション内の同じプロジェクトに取り込むのか、それともソリューション項目として取り込むのか 3.プロパティは埋め込まれたリソースなのか、ただのコンテンツなのか、 等わからず困っております。
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 ]
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
そこまで書いたんなら自分で試せよ
>41 いやちょっと思っただけよ、どっちかなって
おっと忘れてた・・・ >37 dim sr as new StreamReader do until sr.Peek = -1 textBox1.text += sr.ReadLine loop コレでいけるポ (スペルPeekだっけ・・・(汗 Peak? Peec ?
お!! >>textBox1.text += sr.ReadLine これじゃ駄目ね・・ textBox1.text += sr.ReadLine & vbnewline 何気に自分しか居ない雰囲気・・・^^; 誰か40を教えておくなはれ、今日は寝れそうに無いかも
()なしは置いといて・・・ +=ってコンパイル通るのけ?
>>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
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
おー一人じゃなかった^^ >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さんと同様のことらしいですね。遅くなりましたがリプライありがとうございます。
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を追加 したいと思っているのですが、派生クラス(フォーム?) の作成はどうやったらいいのでしょうか? 「新しい項目の追加」だと作成中のフォームの 派生クラスは作れるようなのですが、既成の コントロールの派生コントロールの作り方 が分かりません。
ファイルストリームを作るときに、パスを渡すんですが、 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
これでイケますた。
>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
イべントがあるクラスを配列にできないんだけど なにか代替案ない??
質問です! 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のままじゃ動かないでしょうか? ハイフンをエスケープしないとだめでしょうか??
だれかアホなオレにデリゲートの必要性を教えてplease
72 :
デフォルトの名無しさん :04/03/09 17:48
デリケートな部分をデリゲート
↑ オモロイけどさ、 そのデリケートな部分がわからんのさ・・・
要は関数ポインタ。じゃないんだっけ?
>>75 サンクス!!
ヘルプ読むの下手くそな漏れ。。
>>71 とりあえず俺にデリゲートしとけ。あとて本当に必要なときに教えてやる。
del・e・gate〈動〉 1 を代表として派遣するto..へ; [文型5](delegate A to do) A (人)を代表に任命して..させる. We delegated him to attend the conference.我々はその会議に代表 として彼を出席させた. 2〔権限など〕を委任するto..に. <ニューセンチュリー英和辞典より>
動的にラベルをたくさん作ることになったので ArrayListに格納させようとしました。 すると、オブジェクトインスタンスが・・といういつものエラーで格納できません。 そうすると、後で、作ったラベルを削除したくなった時、どうすればいいんでしょう。 (パネルコントロールに追加しているので、ただ単にパネルコントロールから削除すればいいの?) (デリゲードじゃないけど、メモリにいっぱい残ってしまわない?)
>79 >>オブジェクトインスタンスが・・といういつものエラー このあたりからオブジェクト指向を理解してないと見受けられる 動的にラベルを作るのではなくて、ラベルを作っておいて表示・非表示を 切り替える方がいいとおもわれ。
>>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
88 :
デフォルトの名無しさん :04/03/11 12:25
>>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ヶ月も経ってないので、わかりやすくお願いします_| ̄|○
95 :
デフォルトの名無しさん :04/03/12 00:13
Command関数を試用したいので、下記のコードを作ったのですがコンパイルエラーになります。 Module Module1 Sub main() msgbox Command() End Sub End Module エラー表示は、 「System.Windows.Forms.Commandはprivateであるため、このコンテキストではアクセスできません。」 です。 何かが足りないのでしょうが?
自己解決しました。 「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 だけ入っている一番安いヤツです。
もっと高いヤツ買わなきゃダメでしょうか。
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のフォーム関係のプログラムでオブジェクト指向のコード 書こうとするとなんか違和感があるようなきがします みなさんはどうですか? また、なんかいいサイト・本はないですか
110 :
デフォルトの名無しさん :04/03/13 18:29
>109 w なんか最近UGツールを作成したい人が多いね
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 「exe単体」ったてあんさん。 ドッドネットフレームワーク上で動くんだからさぁ〜 これないとOS無いのと一緒だべ トユウカ >>会社の中で異端児呼 逆かと・・・.netの旋風を社内に起こせばいいでしょがw
>>121 開発効率よりも実行形式を重要視するってことか?
んー、初心者だけど、何作ったらいいか行き詰った・・・ 誰か何作ったらいいかおせーて・・・
電卓などよろしいかと > 初心者
テキストボックスの入力文字をバイト数で制限する方法を教えてください。 VB6の時みたいに SendMessage(TextBox1.Handle.ToInt32, EM_LIMITTEXT, 10, 0) と、やっても文字数での制限しかできんのですよ。 教えて!エロイ人。
>>126 キホンだな。あと、アクションリストみたいな奴。
ListViewコントロールで複数選択行を削除できない だれかおせーて
>>130 ItemsコレクションからSelectedプロパティがTrueの
ListViewItemのみ削除すればいい。
みなさん、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の話を聞きたかったが・・・
WndProc で WM_CHAR と WM_PASTE を制御して、 VB6で SendMessage -> EM_LIMITTEXT を送った時と同じ動作にすることが出来ました。
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上で動くプログラムからの呼び出し「専用」ではない ってことじゃねぇの?
クラスを引数にしたプロシージャってできるの?
今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 でないと使えない?
ソリューションエクスプローラからプロジェクトを右クリックしたときの ポップアップに[ソリューションをソース管理に追加]を押せばふつうに できますね。そそっかしいもんですみません。
>>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厨房さんどうもでした
お知恵を貸して下さい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 ここはVB.NETだから、VB6.0スレに行ってみそ。
168 :
デフォルトの名無しさん :04/03/21 23:18
友達からコピーしてもらったVB.Netでプログラムしてみましたが さっぱりわかりません。プロダクトキーも友達のと同じのを入力 したのですけど大丈夫でしょうか?
春真っ盛りだな。(´・ω・`) その質問はここじゃ答えてくれないから、マイクロソフトに聞いてみそ。
>>168 それはおかしいですね。
>>169 さんの言われるようにメーカーに聞いたほうがいいと思います。
171 :
デフォルトの名無しさん :04/03/22 11:35
>>169 >>170 おっしゃられるようにマイクロソフトに電話したら、住所と名前を
しつこく聞かれたので電話を切っちゃいました。マイクロソフト
って不親切ですねえ。
>>172 そこできちんと送付先を答えたら、修正版のCD-ROMを送ってくれるの
に。たまにやっつけ仕事のサポートがいるから、運が悪かったね。
判明いたしました。 作成したmdbファイルをAccessのツール⇒データベースユーティリティで 『最適化』やAccess97、2000への変換をするとVisualBasic6.0で読み込めるようになりました。 ようするに、私が今まで作成したmdbファイルはAccess2002形式(OfficeXP)だったので それより古いソフトウェアであるVB6.0が対応していないものと思われまする
176 :
デフォルトの名無しさん :04/03/22 17:54
素人質問でごめんなさい。 VB.NETで作られたソフトをWin98で実行しようと思ったのですが, .NET Frameworkランタイムが必要みたいです。 どこで手に入れたらいいのでしょうか。 ちなみに接続は電話回線です。 教えて君でごめんなさい。
ランタイムって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で答えてみます。でも
住所や名前を言っちゃって本当に平気なんでしょうか?
評価版をダウンロードするには、どこを見たらいいのでしょうか? マイクロソフトから落とせると聞きました。
>>182 電話した時点で、向こうのナンバーディスプレイに発信番号が表示され
てるよ。
187 :
デフォルトの名無しさん :04/03/23 01:18
VB.NETですけど, PictureBoxを実行中に作り出す方法を教えて下さい。 (というか可能でしょうか?)
補足 次から次に画像を表示したい訳ですが, 予めPictureBoxを表示したいだけ宣言しなければならないのでしょうか?
189 :
デフォルトの名無しさん :04/03/23 03:28
>>178 ご指摘ありがとう
VisualBasic6.0ServicePack5を適用したら問題なく読み込めました
指摘がなければそのまま97に変換して作り続けてたところです。
参照設定のDAOやAccessObject2.xとかいろいろ調べながらいじってたのですが
あるサイトでサービスパックが存在することを知り、早速ダウソして適用したら解決しました
>188 一つのPictureBoxコントロールに画像を表示して切り替えるんじゃ 駄目なのか?
>>190 えっと,例えば毎秒フォーム内のランダムな位置に
「ある規則に従って動くボール」を出現させたりしたいのですが。。。
ってか PictureBox[1]〜PictureBox[100] とかループとか使って一気に宣言できたりしないんでしょうか?
ありがとうございます!!!!!!!! (実はそのサイト行ったはずなんですが,,見落としてました/汗) やっと寝れます。・・・と思ったけど,折角教えて頂いたので もう少し勉強します。
195 :
デフォルトの名無しさん :04/03/23 23:25
すみません。教えてください。 クラス内にクラス(つまりインナークラス、内部クラス)を作成して、 その内部クラス内から外側のクラスのメンバ変数やメソッドにアクセスしたいのですが その場合「非共有メンバを参照するには、オブジェクト参照が必要です。」とコンパイルエラーがでます。 他のオブジェクト指向言語だと同じ事ができたと思ったのですが VB.netで実現するにはどうしたら良いでしょうか?
ネストされたクラスは共有メンバと化す。 なので メンバ変数やメソッドを共有メンバにしてください。 他のオブジェクト指向言語とは仕様が異なります。
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
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 配列を渡すにはどうしたら良いでしょうか?
SUB TEST2 (ByVal x() AS STRING,ByVal y() AS STRING) END SUB でどうでしょう
>>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
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はランタイムが不要だと読んだ覚えがあるのですが・・・勘違いでしょうか?
VB.NET固有のランタイムは.NET Frameworkに含まれているから その意味でランタイムは不要。 もちろん.net frameworkは必要。
ってかよく読んでなかったw 何のDLLが無いと?
230 :
デフォルトの名無しさん :04/04/02 12:04
VB.NETでインストーラーを作ってます インストール実行中 ユーザーが指定したインストール先フォルダがどこか取得して いろいろとやりたいんですがどうもうまくいきません installDir = Me.Context.Parameters.Item("INSTALLDIR") みたいにやってるんですが・・・ ちょっと難しいかもしれないですがわかる方教えてください
こんな感じでとれました 'ユーザーが指定したディレクトリを取得 Dim targetDir As String targetDir = Me.Context.Parameters.Item("assemblypath") targetDir = System.IO.Path.GetDirectoryName(targetDir)
232 :
デフォルトの名無しさん :04/04/02 16:07
すんません、質問です。 ユーザ環境変数を取得したいのですが、どうすればよいでしょうか? システム環境変数は取得できるのですが・・・。
>>229 「mscoree.dll」が無いと出ます。
アドバイスどおり、.NET Frameworkをインストールしようとしたのですが、
administratorのパスワードがわからないので入れられず、
確認できませんでした。残念・・・
235 :
デフォルトの名無しさん :04/04/02 22:56
datagridの一列目に同じ値を入れようとするとエラーが出ます。 主キーが必要って事だと思いますが、 同じ数値や文字を入力できるようにする方法はないでしょうか?
236 :
デフォルトの名無しさん :04/04/02 23:01
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を一括コンパイルできる ほかの使い方もあるかも
勉強になりました。 ありがとうございました。
242 :
デフォルトの名無しさん :04/04/04 12:52
vb.net standard edition でレポート作成するとき、どうするの?
243 :
デフォルトの名無しさん :04/04/04 14:20
自分で作ったプログラムを何度か実行していると、 いつのまにか、exeと同じフォルダに拡張子が「.pdb」のファイルが出来ているのですが、 これは何なのでしょう?出来るときと出来ないときがあり、削除しても問題ないようです。
>>243 デバッグ情報ファイル。
デバッグモードでビルドするとできる。
アップグレードに時間がかかってしまうため、 .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 だからさあ、そんな程度のこと初心者だろうがなんだろうが
ヘルプみりゃあ自分で解決できるでしょ?横着が過ぎるんだよ。
その程度の手間を惜しむような人はプログラミングなんて
完全にむいてないから止めちまえよホント。
解決したから自己レスじゃぁ 悪さしてたのはサブレポートのデータセットの部分で、 サブレポートのデータソースに対し、作成したデータソースを設定すれば エラーは無くなり、ねらった挙動をしました。 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
256 :
デフォルトの名無しさん :04/04/10 12:16
プロジェクトの名前の変更って出来ますか?
あぼーん
VB.NETでのネットワーク接続で良い資料ありませんか?
259 :
デフォルトの名無しさん :04/04/11 12:12
260 :
デフォルトの名無しさん :04/04/11 16:53
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 マウスで範囲選択したテキストを
ドラック&ドロップで移動って事?
>>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 キミの質問は下の文章と同じぐらい愚か。
そんなアバウトな質問に(知ったかぶり・教えたがりの馬鹿以外の)
いったい誰が回答することができるか。
原稿用紙に文字を書いていき
小説を書こうかと考えているのですが
日本語で書く場合、一般的にどんな方法が採られるのでしょうか?
>知るかヴォケ
>>274 PictureBoxでグラフを作る方法を聞いていると思われた?
PictureBox使う以外にグラフを作る方法はないか?
グラフ表示するときはPictureBox使うのが一般的なのか?
他にグラフ表示できるコントロールなどは無いのか?
といった事を質問してるのですが・・・
>>275 素直に結果だけ出力してExcelにでも突っ込めば?
チャートコントロールってVB6のコントロールだっけ? VB6だったら登録してしまえば使えそう
>>275 >>273 の文面から2Dの折れ線グラフと推測したが、
>他にグラフ表示できるコントロールなどは無いのか?
ソースが公開されているものから市販品まで星の数ほどありますがなにか?
回答ありがとうございました。 検索したら、意外に参考になりそうなものが沢山出て来ました。 どうもすみませんでした。
.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が戻らないんですが、これってなにか方法間違えてますか?
開発環境書くの忘れてました 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から分割された・・・?
>>289 さん
即レス有難うございます。
Form2に処理が入れられないみたいなので
ApplicationのThreadExceptionを調べてみます。
294 :
デフォルトの名無しさん :04/04/16 11:55
>>283 自分が未熟なせいもあるけど、
ヘルプの内容って結構難解で分からない事が多い。
あと、容量がバカでかくインストールしてないから、
CD入れるのが面倒とか・・・
どちらも理由としては、自分勝手で許されざるものですが
ここのひとってみんな仕事でつかってんのかな? 正直VISUAL環境って、仕事にでも使うんじゃなければ 糞ですよね?
ヴィジュアル系の話なら芸能板かメンヘル板にでもどうぞ
まあそれはいいとしてオマエラ VBって何のためにやってんの? VBで食っていけるとかありえんの?
業務アプリケーションなら十分食っていけるだろ 大手銀行のシステムは.NETに移行しつつあるし
301 :
デフォルトの名無しさん :04/04/16 20:00
>>294 ここの誰かが許すとか許さないとかじゃなくて、
MSDNインストールしないなんてあなた自身が損してまっせ。
8ビットのパソコンの時代のベーシックとかならともかく、
.NETとかなんて細かい仕様まで全部記憶するなんて不可能だし、
そんなくだらないことにエネルギー使わないでもっと生産的なことするための
オンラインヘルプなんだから、インストールしないなんてまともなPGなら
だれでもあり得ないというはず。
ていうかさ、いまどきCD数枚分の容量が気になるような貧弱なPCで
.NETのIDEって使い物になるのかな?
日本人の感覚だと、すげー分かりにくい比喩じゃないか?(w
>>306 如何にもアメリカ人が好き好んで使いそうな言い回しではありますな。
アメリカ文化も同時に学べるなんてお得だな
ようするにVBってヲタの自己満足用 か 業務ソフト構築用 ってことでいいのか? 前者は、NETやらいろいろで、だんだんとっつきにくくなってきてるし、 後者は、同レベルの言語が腐るほどあるからなあ
ウェブページを開くとき、自分自身(アプリケーション)の中で開くにはどうすればいいんですか? ソフトウェアはMDIになっているので、子ウィンドウで開きたいと思っています。
自己解決しました。
自己解決しても一応手法を記していただけたら 今後の方へのアドバイスとなります
ボタンでテキストボックスに入力する文字の色を変えるのってどうやるんすか?
作るのに夢中になってて遅れました。 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
予言だ。(゚∀゚)
>ボタンでテキストボックスに入力する文字の色を変えるのってどうやるんすか? はやってたらできたけど、 反転してボタン押すとその部分だけその色にするのはどぅするんですかねぇ? 詳しい方、お願いします
>>316 RichText2.Text = Crypt(RichText1.Text)
でいいんじゃないの? Crypt関数の中身は自分で考えなされ。
暗号化ロジックは人に聞いて作るものじゃないよ。だって、第三者が知ってたら
暗号化にならないじゃん。Cryptとか暗号とかでググればヒントは世界中にいっぱい
転がってるからがんがれ。
>>321 質問の意味がいまいちわかんなぃょぅ(=゚ω゚)ノ
>>322 おそらくテキストボックス内の文字列を範囲選択した状態のことを言ってるのではないかと
324 :
デフォルトの名無しさん :04/04/20 10:53
神よ! コントロールのサイズをキー操作で変更する方法を教えたまえ! ・・・っつか、なぜ?SHIFT+矢印で動かないんだろ?
CTRL+SHIFT+カーソル 精進したまへ
神降臨! ありがとね
リストビューの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サービスが何なのか、良く調べてみれば、その疑問は解決する。
>>335 リッチテキストボックスを使え。わしは寝るぞ。
>>333 VB.NETで作ったソフトの実行には.NET Framework再頒布可能パッケージが
必要。
.NETシリーズの開発環境で.NET Frameworkに依存しないソフトを作れるのは
VC++.NETだけだなや。
最近のリアル厨房は、自由研究でエディタ作るのかい。 俺は、学研の電子ブロックだった。
俺はアリの巣だったな
ちょっと昔のリアル厨房は、自由研究で学研の電子ブロック作るのかい。 俺は、紙飛行機だった。
鉢植え植物の観察だった漏れは、かなり昔の厨坊でつかそうでつか。
>>341 消防の時にやったyp!あさがおとかひまわりとか。
過去を懐古している最中に質問ですが、Formのタイトルバーに訪れたサイトの名前(ex:***のホームページ) というのを表示したいのですが、どうすればいいんですか? あと、アドレスバーに訪れたサイトのアドレスを表示させたいのですが、どうすればいいでしょうか? TextBox.Text = AxWebBrowser.LocationURL() としても、ぜんぜん表示されずにいます。。。 よろしくお願いします。
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を使うことは出来ますでしょうか?
アプリを起動した時に、 最初からテキストボックスに文字が入力されてて、 テキストボックスにカーソルを移動したら文字が消えるって言うのはどうやってやるんですか?
DataGridコントロールの列見出しクリック時のソートを数値順にする方法 知ってるかたいます?
.NETでTabControlを 丸いタブに変更したいです オーナードローにして drawItemの中で画像を読み込んで表示し なんとか丸くすることは出来たのですが タブとタブの間にある TabControlにもともとある線を消す事ができません この線を消すか もしくは、画像で上書きをする方法はないでしょうか?
部位微意怒涛熱湯
はじめまして いきなりですが質問させてください。 vb.netで開発を行なっているのですが DataGridコントロールのレコード単位に ラジオボタンを表示したいと思っています。 ネットで調べたのですが 回答にめぐりあえませんでした。 asp.netでは実現可能なようなのですが・・・・ すみません。よろしくお願い致します。
>355 そうなんです。 チェックボックスじゃなくてラジオボタンなんですよ〜。
DataGrid でレコードの追加削除を禁止するのに、DataSourceに DataViewを指定すればいいことまで分かりました。 ただ、このときにTableStyleが指定できませんが、 そういうものなのでしょうか?
電卓を作ってるんですが、1〜9までボタンを作って、 押してもテキストボックスに一桁しか数字が表示されないんですよ。 多分 TextBox1.text = 1とかにしてるからだと思うんですけど。。。 誰か解決法教えてください
>>359 TextBox1.Append = 1 か TextBox1.text += 1 で
いけると思う。
>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
確かに自分の知識を確認するってのはある。
>>366 って温かい奴だな。感動した!!ヽ(^。^)ノ
>>366 氏の知識をPublic Sharedにしてはいただけませぬか
そうすればこんな糞スレいらなくなります
じゃあ
>>366 は知識をまとめてWebで公開すること。
VS.NET 2003 proをインストール中に、エラーが発生してインストールが出来ません。 エラー1933というものが出て ファイルを更新出来ませんでした〜 というメッセージが出ます。 MSのHPにいっても、VS.NETの対策が出ていませんでした。 どなたか原因わかるかたご教授お願いします。
378 :
デフォルトの名無しさん :04/04/25 23:16
>>358 かなり遅いとおもうが答えておく。insert句とdeleat句を削るんじゃダメ?
またdatagridでもdataviewでもTableStyleはしていできると思いますが?
>>378 DataGridTablesStyle コレクションエディタで、
MappingName をドロップダウンしても何も表示されないので、
指定できないのか?と思っていました。
直接テーブル名を入力することで DataGridColumnStyle を
編集することができました。
ありがとうございました。
imageのシリアライズの方法はどうやるんですか。BinaryFormatterでできれば。
381 :
dameo :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つのスプレッドシートのスクロールを連動させることは
>可能でしょうか?
できません。とサポートから回答をもらいました
できた。
386 :
dameo :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が閉じないのが解せんのです。
閉じないって×ボタン押せば閉じるのでは? 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オブジェクトってどんなもの?
レスありがとうございます
>>390 言いたかったことは
>>393 のとおりで、
標準モジュールで同じように書くと一瞬表示されてフォームが消えるんです。
こっちは「あー、そりゃそうか」で納得できたんですが・・・
>>393 Formでばかり検索してたので、とりあえずもうちょっとGCのヘルプ読んでみます。
397 :
デフォルトの名無しさん :04/04/29 21:10
ちょっとちがう。 参照がなくなったらGCで開放される。 でも、開放されるのはマネージドなメモリだけで、 OSのハンドル等が開放されるわけじゃない。 ※開放するって言っても、メモリが再利用できる状態にされるだけだが。 実際にはOSのハンドル等を使用しているクラスは、ファイナライザが それを開放するようになってる(そう実装されている)。 ※大抵は、内部的にIDisposable.Disposeが呼び出される。 従って、通常は参照がどこにもないオブジェクトは、 OSのハンドルをもっていようが、GCの発動で開放される。 ※確か一回目でファイナライザが動くと思うので実際には2回ほどGCが必要かも。 多分表示中のフォームは、どこかで参照が(内部的に)保持されてるんじゃないかな? ただ、 > 標準モジュールで同じように書くと一瞬表示されてフォームが消えるんです。 とのことなのでよく分からない(俺の環境では、GCを実行しても消えたりしない)。
消える消えないというのはこんな感じのコードで試したと推測。 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
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")で良いみたいだけど、これではゴミ箱に入りません。 ゴミ箱に入れるにはどうしたらいいでしょうか?
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 素人でもなんでも、そんなアバウトな質問に誰も答えようがないことぐらい
普通の知能があればわかると思うんだけど。
月にロケット飛ばしたいんだけどどうしたらいいでしょう、
ってのと大差ない馬鹿質問じゃん。
勉強しろ、あるいは君には無理だから諦めろ、
以外にどんな答えを期待してるの?
>>407 オーバーロードできるとは知らんかた
貴重な意見サンクスです
418 :
デフォルトの名無しさん :04/05/01 14:21
だまされた
(´-`).。oO 変数名とクラス名が一緒なコードはやだな
>>409 知ってるぜ。
WSHのshellとか使うんだぜ〜〜〜〜〜
422 :
デフォルトの名無しさん :04/05/01 17:47
ActiveMovie Control Object を追加すると 選択可能になるAxActiveMovieをつかって動画再生するソフトを作ってみました。 このような、Windowsに標準装備のActiveXコントロールを使用して作ったソフトは フリーソフトとして公開しても問題ないでしょうか?
ギコナビなんかもIEコントロール使って実現してるんだから問題ないんでない?
>>409 調べてみたけど、めんどくせーな。ごみ箱移動ごときで、api使うのか。
>>423 情報どうもです。
それでは問題なさそうですね。
後から訴えられたりしないよなぁ・・・
>>425 何が問題になるのか、と言えば、再配布の権利を持たない物を
勝手に再配布する事なので、使うだけの自作アプリケーションを
配布事自体は全く問題ない。
つまり、Active Movieのライブラリを再配布しなければ、問題なし。
>>426 コンパイルした時に出来る
AxInterop.AMovie.dll
Interop.AMovie.dll
は配布できない事ですよね?
そりゃ困った。諦めるか・・・
AxInterop.SHDocVw.dllなどみんな配布してるから問題なし。
みんな配布してるから、とかじゃなくて 単なるラッパークラスの実体だからOKなんでしょ。
問題あればVectorの審査ではじかれるんじゃないかな?
思わずVectorと打ってしまった(w フリーソフトなどを扱うサイトや雑誌では審査があるはずだから、 そこで弾かれるんじゃないかと・・・
.NET compact Framework上でImageから別のImageへ短径コピーできる方法ありますか?
433 :
GWプログラマ :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でもなんでも好きにやってくれ
>>437-438 悪いこと言わない。プログラミングなんて止めたほうがいい。
あなたには全然適正ないよ。初心者?プログラミング初めて三日目でも
普通そんなことでは悩まない。
率直に言ってそんなことぐらい自己解決できない人に未来はないと思う。
それが人に聞かなきゃ問題を解決できないようなコードですかって。
OracleのバックアップするのにWindowsタスクでVBScript起動させてる 簡単な物ならこのぐらいが楽
443 :
デフォルトの名無しさん :04/05/02 14:33
DataGridの特定のセルだけフォントを変えることって可能でしょうか? DataGridを使って競馬出走表作成プログラムを作ってるのですが DataGridのフォントの変え方がわかりません。 ご教授のほどよろしくお願いします。
>>441 じゃあ原因教えて下さい。プログラミングは趣味程度なんで。
全然関係ない大学行ってます。
バージョンアップデート機能の実装を参考に紹介しているページがあった気がしますが、どこでしたっけ?
446 :
デフォルトの名無しさん :04/05/02 15:56
似たようなコード書いてみたけどちゃんと動く つ〜か良く読むと変数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
>>466-467 そういう用途には「クリップボード」を使う。
クリップボードって用語は、プログラミングじゃなくて普通のPCの入門書にも
出てくると思うんだけど。。
クリップボードの使い方のサンプルコードも、
>>467 と同じウェブページに
あったはず。っていうか、中級程度のTips系の本にもたいてい載ってると
思うけどなあ。
調べてる、って本当かなあ。。。?正直、単に横着をしているようにしか思えない。
469 :
デフォルトの名無しさん :04/05/03 09:40
>>468 「クリップボード」はワードとかにも出てくるんで意味はわかるんですけど
プログラミングとなると・・・。
逆引きとハンドブックで調べてました。
470 :
デフォルトの名無しさん :04/05/03 10:18
12時か・・・ 奴サンはMSDNをインストールしてるのか? よっぽど高度な問題でもない限り記載されてるはずなんだが
>>473 こういう人に限ってちゃんとMSDN使ってないんじゃない?
いや、MSDN見やがれ、ってのは一般論としてはその通りなんだが、
MSDNは万能じゃない。問題解決の手段として必ずしも常に効率的とはいえない。
特に初心者にとってはね。個々のメソッドや予約語のリファレンスとして
MSDN見ろ、ってのはよくても、初心者に何でもかんでもMSDNで調べろ、ってのは
言ってる奴の単なる驕りで酷な話だろう。
>>462 みたいに、そもそも「クリップボード」って概念がわかってない人に
MSDNだけ見ていったどうやって解決しろと?
もちろんだから人に聞けばいい、って言いたいんじゃなくて
最低限のことぐらい入門書で押さえとけよ、と言いたいんだが。
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だろ
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 あほ、出来るわけないだろ。
何度説明しても意味すら全く理解してない、時間の無駄だ。
あいや、なんちゅうかね、別に物事をすぐ理解できないのがあほと
言ってるわけじゃないのよ。
>>485 もうその質問はやめときなー。
あとマルチポストもやめときなー。
489 :
デフォルトの名無しさん :04/05/04 18:44
>>488 コードだけ教えて下さい。これで完成なんです。
6.0にしときゃ良かったですよ。
明日、入門書を買ってこようかと思ってるんですけど、お勧めはありますか?
高校生の時に、6.0を少しだけ(ほんと少しだけ)やったことがあります。 VB.NETを使って、とりあえず何も見なくて電卓だけは作れたんですが 次のステップでメモ帳を作ってみようと思ったんですけど、ファイル保存のやりかたがイマイチ… 6.0の時は、Common Dialog Control で出来たと思ってたんですが .NETで使おうと思ったらライセンスが無いぞ(#゚Д゚)ゴルァ!!と警告が出て使えませんでした。 これは.NETを最初から勉強するべきだと思って、入門書を本屋に見に行ったのですが 岡山の地方の方に住んでいるせいか、良い物が置いてありませんでした。 それで、ネットで注文しようと思ったのですが、 プログラミング経験は、COBOLとJavaです。オブジェクト指向は分かっています。 どなたか、おすすめがあれば教えてください。よろしくおねがいします。
>>490 VB6.0だって不完全ながら「オブジェクト指向」だからなぁ。
普段VBプログラマが叩かれてる理由が良くわかるな・・・
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)
で偉い差がある
すべて釣りとみた
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以前)。
xDate.DayOfYear - yDate.DayOfYear
515 :
デフォルトの名無しさん :04/05/05 14:44
ランタイムをプログラム内に組み込むことができるんですか?
>>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オブジェクトでは見当たらないもので。。 どなたか教えていただけますか?
>>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が必要。
激しく言葉足らずな質問でゴメンなさい 開発中にフォームとコードを交互に行ききしたり、暫く扱っていなかったフォームを表示しようとすると、とにかく画面がきりかわって編集可能な状態になるまで時間がかかります。 30〜60秒ぐらいかかったりします で、勝手な思い込みで、リソースとそのコードの整合性を維持するのに時間がかかっているのかな…と思った次第です。
>>528 ということは、たとえ.NETで作成されたアプリであっても、
「ActiveXコントロール(COM)を使っている場合は、DLL地獄は解消されない」
ってことですか・・・ _| ̄|●il||li
>>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 中々分かり易い初心者用の解説書を買ってきてチマチマやっていますが
あまりにデフォルト過ぎるのか、こんなことは説明無し。
プログラミング以前の環境構築の段階でくじけそう… _| ̄|○
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の定数を使ったらあかんの?
>>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に置き換わった
すごく初歩的なことで悩んでるんだけど、HScrollBarって HScrollBar1.Maximum = 5 HScrollBar1.LargeChanged = 2 こうするとHScrollBar1.Valueは4までしか上がらない!?
>>546 ガーソ。
MaximumまでValueは上がると思ったのに・・・まいった
ScrollBar.Maximum プロパティの解説のメモのところよんどーみ。
おぉ。ってことは計算しておけばいいな。 なんでこんなめんどくさい仕様にしたんだか・・・と愚痴を言ってもしょうがないな。
おぉ。ってことは計算しておけばいいな。 なんでこんなめんどくさい仕様にしたんだか・・・と愚痴を言ってもしょうがないな。
なんでこういう仕様にしたかはわからんが、 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 こんな感じで。
あ、あと15x15 は可変にしたいのです。
>>554 いや、悪気は無いんだけどね。コテがそういう名前だからしょうがない
どうしてマップ描画するのにコントロール配列、というか 複数のピクチャーボックスが必要なのか全然わからないのは 俺がアホだからですか?
ユーザコントロールを動的に追加して Accessのフォームビューのような物を作ったことがある Form1にPanel1を追加して ユーザコントロールhogeCtrlをレコード分追加していったという感じ Panel1.Controls.Add(hogeCtrl) マップのようにしたいのであればhogeCtrlのXYを調整していけばできそう 的はずれだったらスマソ
>>558 マップのイメージは64x64のBitmapとして持っています。
んで、表示するときはこれを16x16とかに拡大縮小できるようにしたいんです。
だったら、SizeModeでStrechImage指定すれば楽かな。って。
あと、もしかしたら、大きなPictureBoxコントロールに、
複数のイメージを読み込ませることなんてできたりするんでしょうか。
>>559 調べてみます。
ムッキーーーーーーーーヽ(`Д´)ノ ・・・ってなんでやねんw
562 :
デフォルトの名無しさん :04/05/06 23:03
.NETでは変数などの命名ガイドラインはハンガリアン記法を使用しないで Pascal形式やCamel形式で記述するように・・・っと本で見たのですが、 その他の命名はどうしてますか??? Form1、Button1、RadioButton1などのオブジェクト名やコントロール名 Class Class1 クラス名やModule名とか、ファンクション名、サブプロシージャ名 とか・・・ Module1.vbとかForm1.vbとかのファイル名まで・・・ プリフックスを同じにして関連性のあるものがインテリセンスとかで順番に並んで くれると助かるが、ハンガリアンつかわないで、わかりやすくってとなると・・・・ RadioButtonHogehogeっとか長ったらしくなる・・・ 実際の動作には関係ないからいままで適当にやってきてしまい、 自分でも何が正しくて、何が間違いなのかわかりません・・・・ どなたか優しくおしえてください。おねがいします。
動的にコントロール生成する方法わかりました。 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))
俺がマップのプログラムをするとしたら 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 あくまでひとつの手法として提案だよ
>>565 あー、DrawImage なんてあるんですね。
もう表示部分作ってしまった。。
どうせ実験的なインターフェイスなので、
いつかはもっと効率的に書き直しナス。。
初めて書き込みします。よろしくお願いします。 VB.NET (もしくはC#) で例外処理の強要って可能ですか? というのは、 java なら throws ○○Exception と書かれたメソッドがあるとすると それをコールする側のどこかで、○○Exception の処理が無ければコンパイルエラーとなる という言語仕様だと思うのですが VB.NETで同様の縛りを実現する事は可能でしょうか?
VB.Netにぬるぽに相当するエラーメッセージはありますか?
Classは参照型。 Structureは値型。 これが良くわからん。 わかりやすく教えてたも。
Classはショートカット Structureは実ファイル
Classは化身 Structureは実身
>>568 やっぱできないんですね。
ありがとうございます。
2時間くらい、「できるはずだっ」って必死こいて調べた漏れって・・・
漏れは、VB.NETやC#の方が言語仕様やプラットフォームとして好きだが、
この点(例外処理の強要)だけは、javaの方が好きです。
だれかわかりますか? VBを実行しようとするとなぜかオフィス2000のインストーラが立ち上がります なぜ?VB.NETに移行せよということなんでしょうか わけがわかりません。
576 :
デフォルトの名無しさん :04/05/08 00:47
表現力のない文章ですみません・・・ クラスのメンバにプロパティを設けた場合に、そのプロパティに子プロパティみたいのを 設けることはできませんか? Calendar.Month.January = 1 Calendar.Month.February = 2 Calendar.Month.March = 3 とか見たいに、プロパティとかメソッドをまとめたいのですが・・・・ むりですかね・・・
>>576 >Calendar.Month.January = 1
>Calendar.Month.February = 2
>Calendar.Month.March = 3
私があなたの意図を勘違いしているかもしれないが、要するに
Monthというプロパティの型を何らかのクラス(構造体は不適切)に
すればいいんじゃないの?
なんか、そのコードだけみると単に列挙型定義すればいいようにも
思えるけど。。
VB6のクラスビルダユーティリティって結構好きだったんだけどなぁ .NETには存在しないのよねぇ・・・
>>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マガジン って本屋で売っているのでしょうか?
まだ質問できるレベルに達していなかったようです。 チュートリアル付きの解説書を借りてきたのでもうしばらくあれこれ試してみます。 とりあえずファイルを開いてDO_LOOPの中で一行ずつ取り込んでItems.Addすればなんとかなるような…
588 :
デフォルトの名無しさん :04/05/08 13:14
>>586 売ってます
>>584 menuitemなど任意のコントロールのイベントを利用して、
ComboBoxに関連付けられたselect文を任意に変換すれば可能。
ただ憶測でスマンが参考書は本当にVB.NET関連なのかな?
ACCESS関連か、かなり古い文献のように思う。
>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
最近クラスモジュールを使い始めたのですが、 これが思っていたよりずっと便利で、 今まで標準モジュールでやっていたことを、 何でもかんでもクラスで行うようになってしまいました。 でも、標準モジュールの使い道が分からなくなった・・・ 標準モジュールはどんなときに使うべきでしょうか?
かなりの亀レスですが、回答ありがとうございました。 今度はプリント制御プログラムについての質問です。 とある理由でプリントの制御を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関数抜けたら終わりですよ。
>>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はヌルポだって怒られるんじゃないの?
>596 いや、怒られないけど?
>>595 まさにそんな感じです VB6のときはSUB MAIN呼び出して変数等を設定した後 最初のフォームを呼び出したりしてたんですが Formクラスみたいにロードした後もインスタンスが存在しているようにしたいわけなんです
後半の意味がよく分からないけどこうしたらどうかな? 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を適用しておくべきかな?
ありがとうございます Application.Runで期待通りの動作をさせることができました これで仕事が前に進みます... ゚・(´Д`)
603 :
デフォルトの名無しさん :04/05/10 15:48
エクセルファイルを読込んでDBに登録ってのをやってるんですが 事前に桁数や文字数をチェックして 問題はないようなのに 「ORA-01438: 指定した精度を超える値が列に指定されています」 というエラーが出てしまいます。 その問題のデータ項目(カラム名?)を知るにはどうしたらよいのでしょうか? Trace.WriteLine とかで出せたらうれしいんですが…。
一つの仮想ディレクトリにサブディレクトリを複数作り それぞれにGlobal.asaxをもつアプリケーションを作りたいのですが、 アプリケーションのルートディレクトリは、 IISの仮想ディレクトリ一つにつき一つなのでしょうか? ちなみに、ASP.NETを始めたばかりなのでVS.NETを使わず SDKのみでいろいろ試しています。 その過程でアプリケーション一つ事に仮想ディレクトリを作るのは 面倒だと思い上記の疑問が湧きました。
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
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上でのデザインサポートがないだけ。
使う事はもちろんできるが、コードを直書きしないと駄目だと思う。
>>612 さっそく、ありがd
デザインサポートとはなんぞや?
素人でも簡単にできるかな?
ぐぐってみたけど、よく分からなかった。
もしお勧めのWebページとか、書籍があったら、教えて下さい。
ODP.NETを使う
615 :
デフォルトの名無しさん :04/05/15 10:39
間抜けな質問なのですがプロジェクト全体を別名のフォルダーに保存することはできないでしょうか? デバッグしつつバージョンUPしているのですが 大きな変更を加えた時は1つ前のバージョンを上書きするのではなく 別の場所に保存してみたいと思っています。 しかし別のフォルダーにフォームやモジュールごとに保存すると 元のフォルダーにあるファイルを選択して開いても新しいフォルダにあるのが開かれてしまいます(謎) やはり何かすごくアホなことやっているのでしょうか?
>>615 おとなしくVisualSourceSafe使えよ
コードの画面でホイール効くようにするにはどうすればいいですか?
>>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が入ってないんじゃないの?
すみません、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は俺も知らん。
>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ファイル | |~~~~~~~~~~~~~~~~~~~~~~~~~~~~| |あいうえお | | | |____________________________| 要は簡単な入力支援プログラムを作ろうとしてるわけです よろしく御願いします。
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()
フォームロードで実行したけど うちの環境だと解放されてる気がする・・・
>>642 formにオブジェクトを貼り付けたどのプログラムでも同じ現象が起きてるんです
本に載ってるサンプルだろうが自分で作った簡単なものだろうが
すべてで同じ現象が起こるんです
ただオブジェクトを貼り付ける前にデバッグを行うとデバッグはできるんです
あとすいませんでした 説明不足でした
OSから開発環境まで再インストールしてみ としか言えない気がする 新規に作成してそれにボタン張っただけでもおきるのか?
>>645 標準のサンプル実行してみー
たとえば \MICROSOFT VISUAL STUDIO .NET 2003\Vb7\VB Samples\WinForms-Calc\Calc
これでエラーでるようなら、再インスコだろうな。
>>643 私はいつもこうしてる。
ReDim Hoge(-1)
たしかMSDNのどこかに、そういう場合はこうしろ、と書いてあったはずだと思う。
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}") を実行。 最後にメインアプリをアクティブにする。 これで一応いけるはず。 実行するたびにノートパッドがチラついて相当ウザイけどな。 ……サイテー言うな。わかってるから。
なんかわからんが、 ソリューションのリビルドした後に Webプロジェクトのすべてのフォルダの同期をしたら エラーが出にくくなったような気がする・・・ まぁ、これでいいか・・・
>>646 新規にボタン張っただけでもエラーが起こります
>>647 エラーがでました
レスありがとうございました
今からOSから再インストールします
レスどうもありがとうございました
655 :
デフォルトの名無しさん :04/05/19 23:50
超初心者質問ですみません。 WMPでwavを再生するとき FileNameとかPlay()というものがないのですが これは、上のバージョンじゃないと無いものなのでしょうか。
>>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は楽
662 :
659_660 :04/05/20 09:17
ADO.NETの機能に関しては雑誌の記事なんかからは雰囲気がつかめました。 ロジック層をサーバーアプリケーション化する、といった点では どちらがやりやすいでしょうか。
規模によるんじゃないかなぁ・・・ 全体的な工数はどの程度ですか? それと、プロジェクトチームは10人以下?
>(納期数ヶ月で数人のチーム開発) 申し訳ない、書いてありましたね。 その規模なら、クラス設計のできる人がいると言う前提で VB.NETの方が良いと思います。
JAVA→VB.NET で悪戦苦闘です。 VB.NETはMVCとか気にしてかかない方がいいの?
釣り警報発令
>>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の方で粘っていました。
もう少し調べて見ます。ありがとうございました
f3.ShowDialog(Me)
の後に
Button4.BackColor = System.Drawing.Color.Gray
と書いたら思った通りに動きました。
>>669 様、ヒントをありがとうございました。
User Interface Process Application Block ってのを使わないとMVCを実現できないのでしょうか?
最近MVCが手段じゃなく目的になってしまっているヤツがよくいるけど、 VBに限らず、.NETの言語はMVCが不要になっている感じがする。
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」と出したいのです。 一桁出れば構わないので関数なども要りません。 ググッて見たのですが、テキストに数字を入れる電卓の説明ばかりで見つかりませんでした。 説明の出ているアドレスでも構いませんのでご教授お願い致します
テキストに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環境だからかエラーが出ます。
最初に何かを書かなければ(宣言?)いけないのでしょうか?
何か手掛かりなどご提示頂ければ幸いです
>>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ではフレキシブルグリッドは廃止ですか? データグリッドがフレキシブルグリッドも兼ねるようになったのでしょうか?
フレックスグリッドは買ってください バカ高いですが・・・
そこでDataGridViewでつよ。 まだだけど。
やっちまった・・ 2重カキコスマソ 投稿時間もおかしいし、見られなくなるし。 出直します
696 :
デフォルトの名無しさん :04/05/28 10:09
一つのプロジェクト内で、 Webフォームを階層ディレクトリ内に配置するには どうすればいいですか? 普通にフォルダを作ってフォーム作ったら、 型 'TestApp.Test01' を読み込めませんでした。 の様にしかられます。
697 :
デフォルトの名無しさん :04/05/28 10:38
IntPtr型で関数のポインタを渡すには?
>>697 Delegate型で受け取って、そこからリフレクションで _methodPtr 引き出したら?
ところでこれを取り出してどうするの?
>>698 どもです。
ハンディターミナルのライブラリ関数で、IntPtr型で関数のポインタを渡す必要があって。
staticメソッドの場合は _methodPtrAux だったような。
>>701 神降臨!!
ありがとうございました!!
質問です。 入力された2つの値AとBについて、四則演算を選んで計算し、結果を表示する。 ただし、数値入力はテキストボックスから、演算選択はオプションボタンを用いて行う。 また、演算選択のオプションボタンの初期化はすべて False としておき、 選択せずに「計算表示ボタン」をクリックした場合には、メッセージ(MagBox("計算種類は?")とする)を表示する。 次の処理のためオプションは未選択の状態にする。 ここには、コマンドボタンが2つとテキストボックスが3つ(A,Bの値の入力とCの値を表示するため)と、 それぞれにラベル(A:,B:,「計算種類」表示用)が3つ配置してある。 コマンドボタンは、CB1(計算開始)、CB2(終了ボタン)である。 さらに演算選択用には、「計算選択」フレームによってグループ化された4つのオプションボタンによるメニューが用意されている。 これのやり方を教えて下さい。
>>703 まずどこまで作って、ども部分で詰まっているのか具体的に説明せよ。
入力された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で作ることができるんでしょうか?
713 :
デフォルトの名無しさん :04/05/29 20:55
>>712 こんな便利なものがあるんですか!でも当方VBしかしらないので C#の勉強しないと・・・ありがとう!
>>705 学校の課題は自分で勉強しなきゃだめだぞ
>>713 C#で書くことなく、C#で書かれたものをVB.NETで利用できるわけだが。
.NET対応を謳っているeditXやfootyのようなリッチなテキストコントロール ってありませんか? 国内外問わずご存知でしたら情報ください。
あ、追加で質問お願いします。 ADO.NETにてクエリ流した後、あとどれぐらいでサーバから結果が戻ってくる か分かるような方法ってありますでしょうか? 実行後にプログレスバーで進捗表示しようと思ったのですがうまく実現でき なくて・・・
>>710 @データセット作成→データグリッド表示
A6.0のOCXを参照
どっちの方法で逃げまつたか?
貧乏なのでDataGridView登場まで逃げ切るつもりなので。
6.0のOCXで逃げまつた 正直こっちのほうが軽くていいです(w
了解('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のスレだったかな?「さっぱり分かりません」と書く人のレスはたいてい 「さっぱり」理解不能だ、って感じのレスがあったが、あれは名言だ。
>>731 >書くべきだったりします?
違う。
とりあえずテンプレ見て目的のものを探すべし。
>>729 このプログラム面白い。
けど、このプログラムを手直しするより
>>730 の意見に同意。
VB.NETならGraphicsクラスを使ったほうがいいと思う。
>>725 でも、一応全文書いてありますから・・・
EULA.TXTだのを参照しろとか書いてありますし、パッケージには
紙の契約書も入っていると思うんだけど。
分かり難いのは確かなんだけど、カスタムコントロールの作成元に
ライバルも含め、分かり易くしている所の方が少ない気がします。
配布条件は、プログラミング上の問題とは言えないから、無償の
電話サポートに掛けてみては?
三万円のサポートですが、OSのバグと認定されて無償になった
経験があります。
>>726 それナイス。
>>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 これじゃだめなのか?
理想の動作とはちょっと違いますね(^^;) 例えば、ブラウザのように、対象をクリックしたら戻るが動作するようになるとか そういう動作をさせたいんです。
その例えがいまいちよくわからない。 おまいさんの言う理想がどんなのかはっきりしないのに、受けた助言にケ チつけるのはよくないよ。もっと具体的に処理を書いてみそ。
>>740 マジだったのか・・・
つまりMouseDownイベントのところでそれを書けばいいんじゃない?それじゃだめ?
>>738 クリックしたら有効になるとか考えてる時点で、
つまりUIの操作を元にUIの制御を考えてる時点で、多分はまるだろう。
ていうか、「マウスをクリック」って表現をみた時点で なんか勘違いしている奴だなあ、と普通は思うでしょ。 単なる「言葉のあや」で不適切な表現をしているのではないよね。
Compact Framework でボタンのMouseDownイベントおきねー 君らの起こる?
746 :
デフォルトの名無しさん :04/06/03 16:53
System.Diagnostics.Debug.WriteLine() を使っても、デバッグウィンドウに何も 表示されません。何か設定でもいるのでしょうか? そもそも、デバッグウィンドウとは画面下にある「出力」タブの「デバッグ」のこと だという理解からして間違っているのでしょうか? # MS の開発環境は初めてで、五里霧中の暗中模索。
書き忘れました。Visual Studio .NET 2003 Enterprise Architect で、 スマートデバイスアプリケーションを作成しています。
Console.WriteLine
sendkeyは嫌いです。 でもエンターキーで次の項目に移動したいのですが、 たとえばテキストボックスを継承してエンターキー入力時にこの機能を実装するには sendkey以外、何かありますか?
>>748 ありがとうございます。それも試してみたのですが、何も出ませんでした。
エェェェェェェェ 出力タブに表示されると思うんだが・・・ Console.WriteLine ("hogehoge") とか適当な文字列でもダメ?
>>751 はい、適当なリテラルで試してみたのですが、何も起こりません。ステップ実行を
して、WriteLine() を実行しているのは確認しています。
「出力」タブの「ビルド」「デバッグ」どちらを見ても出力されていません。不思議。
立て続けにすみません。 [ファイル] → [新規作成] → [プロジェクト] で新しい VB プロジェクトを作り、 Form1_Load() に Colsole.WriteLine("hogehoge") とだけ書いて実行してみました。 すると、 ・ Windows アプリケーションの場合……"hogehoge" という文字列が現れた。 ・ スマートデバイスアプリケーションの場合……何も出ない。 ということで、これは仕様のようです。男らしく諦め、別の手を探します。どうも ありがとうございました。
>>753 お力になれませんでしたスマソ<m(__)m>
( ノ ̄∇ ̄)ノ みんなーーーーーーー、あいでーーす。( ̄ー ̄)ニヤリッ 今日もがんばってね。
リリースビルドで実行してないか? もしくは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のアプリケーションプールの アイドリングタイムアウトの時間を増やしたらうまく動きそうだというのは わかりました。
ワーカープロセスのアイドルタイムアウトの設定が構成ファイルにもあると思うが。
>>754 スマソなんてとんでもない。付き合ってもらって、感謝していますよ。
>>756 プロジェクトを新規作成した直後に
>>753 のようにしているので、DEBUG シンボルを
無効化しているようなこともないはずです。もちろん、デバッグビルドで実行しています。
># Consoleは全然別物だぞ
あ、そうなんですか。勉強不足でした。念のため、System.Diagnostics.Debug.
WriteLine("hogehoge") に書き直してみましたが、やはり
>>753 と全く同じ
結果になりました。うーむ。
解決(?)しました。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 = "しばらくお待ちください。"
>>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 は似て非なるものです。
回答有り難うございます。 やっぱりVC++にした方いいのかな…
>>768 何がしたいんだ?
C#とVC++も似て非なるものだが…
っていうか、その感覚だとC#以外は選択肢に入らんと思うが…
CもC#もVC++もC言語の一種だと思ってるんならそれは大きな間違いだ。
だいたいここはVB.NETの話をする場所だろ
771 :
デフォルトの名無しさん :04/06/07 17:16
DataGridにて特定の列にカーソルが行かないようにしたいのですが、 可能ですか?
>764 サンクス とりあえずこれでしのぎます。
VisualBasicでオープンソースなIEコントロール使ったWEbbrowser無いかな。
タブ型にはできたんですが、 不具合があるんです。 @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 上の二つの様な場合、機能的に同じだと思います。 コンストラクタに引数を渡して、任意の値でメンバーを初期化する場合にのみ、 コンストラクタを使う意味があるのでしょうか?
>>776 そうね。
ただしフィールドの初期化とコンストラクタによる初期化の
タイミングが違うことを知っとくべし。
>>776 実は違う、同じって言ってしまってもいいレベルの違いだけど。
>>777 >>778 レスどうもです。オブジェクト指向勉強しなきゃ。
6.0にどっぷり漬かっておったので苦労してます(;´Д`)
しぶとく。 Aに関しては、Focusがちゃんと設定されていれば、問題ないことがわかった。 要するに、Scrollと同じで、フォーカスの設定が問題なんだと思う。 海外のサイトでオープンソースのVB.net製Browserを見つけた。 参考にできる部分もあるが、今の問題の解答は無かった。
いきなりできたっぽいよ。 Dim objWindow As mshtml.IHTMLWindow2 = doc.parentWindow objWindow.focus() で、いちいちクリックしなくても、スクロール受けつける。
うほ
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との違いも見い出せないし。
お好きにどうぞ
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 のようにコーディング量を減らしたいです。
Dim im As Object im = plane1.Size RTB1.Text = im.Width & "×" & im.Height できたけどこれで正解なのかどうか不安
オレのVB.NETになぜかイメージボックスコントロールがねぇ
俺のにも無いな・・・ つかピクチャボックスに置き換わったんじゃなかったっけ?
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
ってどうよ?
おうちゃくするな
Withは標準モジュールに書けばパブリックにつかえるの?
>>811 With...End Withの中にかける省略形を、標準モジュール外部にもそのま
ま適用できないかってことかな。 そりゃ無茶すぎだよ。
普通にImports。 ていうか、完全修飾名を全部書くのは面倒だし読みにくいって話でしょ。 Withって変数にしか使えないんですが。
Withは無名の参照だと思っていれば問題無いな VB6では寿命が関数レベルで戸惑った
816 :
デフォルトの名無しさん :04/06/16 16:25
完全修飾名を全部書かなきゃならん状況ってのが
そもそもプログラム的に設計が悪いと思うが。
全部大域変数と変らなくなるし、そうなるとOOもスコープも
へったくれもねぇな。
多分
>>815 はかなり勘違いしとるね。
VBにはオーバーロード(ライド)がないのが仕様で
わたしゃけっこう好みだけどね。
With〜End Withなんて結構ブラボーだわな。
結構面白いレスが多いな。 ここにいるとわかってることまでわからなくなりそうだ。
>>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.NET
>>826 だから3はおかしいな。VB.NETの仕様だよ。って言えばいいのか
レイトバインディングって別に非OO的とは思わないんだけど。 そんなびっくりするようなことか?
Option Strict 調べれ。 俺はOnにしてるので例とバインド出来ない。 レイトバインドはタイプライブラリのないCOMでは便利。
俺はびっくりする。Size入れるためにそんなことしないしやりたくもない。
ついでに言うと、Sizeは構造体=値型のため、 Objectに代入するとボクシングされる。 で、メンバにアクセスする毎にアンボクシング。 さらに型情報がないためインテリセンスがきかないし間違いも起こしやすい。 と言うわけで、特に理由がない限り普通はできるだけ実装に近い型を使う。 ※もちろんインターフェイス等を使用して抽象的にアクセスしたい場合等は別ね。
うーん、空いてしまった。832=834ね。
>>823 どうも俺が言われてる気がするので一応(違ったらどうでもいいが…)
>>819 に対して
>>820 が絡んできたから説明してやっただけなんだが…
おいおい、意味不明とか言われたから 俺ってば烈しく勘違いしたかと一瞬あせっちまったぞ。 結局漏れがいったとおりじゃねーの。 レイトバインドは確かに教条的なある言語系の方々には びっくりされやすいな。漏れ的にはバリアント変数すら 平気なセンスの持ち主なんで、便利にしか思えないんだが。 かえって.NETで不便になった部分だと思うけどな。
ブラウザを作っています。 WebBrowserを使っているのですが、同じページを表示する際に キャッシュを使ってしまいます。flagsを指定しましたがだめでした。 なのでキャッシュファイルを削除しようかと思ったのですが、 Temporary Internet Filesのパスを簡単に取得する方法が分かりませんでした。 何かよい方法がありましたら教えてください。
>>838 もちろんレイトバインドが全部駄目とは言わないが、
個人的にはそれが必要になる場面でしか使いたくない。
それが必要になる場面て結構限られてる。
必要でない場面では害しかないし、実際いろんな面で不便。
>結局漏れがいったとおりじゃねーの。
多分
>>815 はかなり勘違いしとるね。
VBにはオーバーロード(ライド)がないのが仕様で
わたしゃけっこう好みだけどね。
With〜End Withなんて結構ブラボーだわな。
この辺がよう分からん…VBってVB.NETじゃなくて旧VBのことかな…
オーバーロード(ライド)って、そのどちらもってことかな…
ついでに
>>815 は別に勘違いなどしてないと感じるが…
842 :
デフォルトの名無しさん :04/06/18 00:28
>>840 VB&.NETどっちもだよ。
C++なんかだとプライベートなメンバ変数をくるんだ関数を
パブリックにオーバーロードさせれば一見どこでも
アクセスできるように振舞わせることが可能だろ?
漏れはわけがわからなくなるからあんま好きじゃないがな。
それにそろそろスレ違いだが。
>>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みたいな組み込みソフトってどういう技術使ってるの?
もうちょっとだけスレ違いすまん。
>>844 うーんうまく伝わらなかった…
わざわざ(何を言おうとしているのかが)と書いたのは、
話の流れで「どういうことを言いたい」から
>>842 を書いたのか
分からないってこと。
なんというか、この話の流れで何をいわんとして
>>842 を書いたのか
分からないってこと。
>VB&.NETどっちもだよ。
>C++なんかだとプライベートなメンバ変数をくるんだ関数を…可能だろ?
VB&.NETがそれぞれ何を指してるのか分からない。旧VBとVB.NETのことでいいのか…?
で、上の記述でつまり何を主張したいのか分からない。
だから、VBとかVB.NETとかにどう関係があるのか…
VBではオーバーロードが出来ないから上記のことができない?のでいいってことか?
でもVB&.NETどっちもって言ってるし…
>大域的に寿命があったら意味がないだろ。
>>815 が言ってるのはそういうことじゃないと思ってたが、勘違いかな…
確か旧VBではWithのブロックがしっかりしてなくて、無理やり抜けると
参照先が保証されないとか何とか、わけのわからんことがあったような記憶が…
※ごめん、これはちょっとうろ覚え。
ついでに言うが、>「誰かが言ってくれているが」の誰かは俺だ。
あのぅクリスタルレポートの使い方が笑ってしまうくらい分からないのですが、 良い解説サイトはないでしょうか。 SQL Server からVBでデータを読んでクリレポで出力したいのですが。 やっとSQLでテーブル組んだと思ったら。。(泣
VB6.0のVariantをObjectにしたからおかしいという解釈も出てしまうのだろうか
852 :
デフォルトの名無しさん :04/06/18 08:56
>>803 のようにDB連結しない表を標準機能だけで作るとしたら
DataSetをそれに合わせて作るしか方法ないのでしょうか?
何か他に方法あったら教えてください。
>>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 ほれ。
/////////////////
Imports System.IO
/////////////////
OpenFileDialog1.ShowDialog()
Dim fi As FileInfo = New FileInfo(OpenFileDialog1.FileName)
Me.Text = fi.Name & " - メモ帳"
>>856 ごめん、
>>815 が流れずれてると言えばそうだし(ってか余談って感じだと思ってた)、
あれがずれない流れで書いてるつもりなら確かにちょっと話がおかしいな…
# 確かに結局どういう意味で言ったのかは良く分からんね。
>>853 の読み?は外れはないよ、全部正解(汗
まぁ俺は
>>816 と思われる人物が書いたレスは
最後までわからんかったなwww
>>847 >>821 の
もし完全修飾名のをオブジェクト参照をたどる記述の事言ってるなら、
それはImportsじゃ代用できんだろ。
ってのは具体的にどういうコードのことを言っていたの?
>>862 単純に、メンバを階層的に何度もたどる、
いかにもWithを使いたくなるような使い方のこと。
メンバ.メンバ.メンバ.メンバ、とか…
名前空間をたどる記述(まあつまり完全修飾名の記述)ではなく、
オブジェクトの参照をたどること。
当然Imports使うような場面とは全然違うと言う事ね。
フォントの種類(TrueType等)を所得するにはどうしたらいいのでしょうか?
871 :
デフォルトの名無しさん :04/06/19 15:51
メニューの「デバッグ」-「ウィンドウ」と選択してブレークポイントやイミディエイトなどは あるのですが、レジスタウィンドウが見あたりません。 ヘルプでは上記の場所にあると記載されていたのですが… レジスタウィンドウをみる方法がありましたら、是非教えてください。
かなりの初心者なんですが5教科の平均を求めたいんです。プログラミングは何を入力すればいいんですか??おねがいしますm(__)m
874 :
デフォルトの名無しさん :04/06/20 20:38
>>873 それぐらいなら電卓を使用すれば簡単に求められますよ。
平均=(五教科の合計)/ 5
876 :
デフォルトの名無しさん :04/06/20 20:56
VB.NETで2チャンネルブラウザは作れるのか?
作れないと思うわけを教えてくれ。
それはVBは遅いからだ
かなりの素人なのですがお願いします .netの実行ファイルってどれなんですか VB6の時はEXEを作るみたいなことが書いてあったけど .NETはそんなのないし よろしく御願いします。
>>878 2chブラウザのどのあたりの機能が重い処理?
俺は作れると思う。
でもいい2chブラウザがイパーイあるからわざわざ作る必要は無いと思う。
かちゅ好きな俺は保守派
>>879 .NETはそんなのないし
どこでつかまされたガセだ?
Inherits System.Windows.Forms.Form を Imports System.Windows.Forms.Form としてもよいのだろうか?
いいはずがない。 継承が理解されていれば、こんな愚問はしないと思う。
885 :
882 ◆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ではブロックレベルのスコープの変数が宣言できるようになった。
>>885 >Importsは名前空間を呼び出すためで、
>Inheritsはクラスを継承するためだけど、
もう、分かってるふりはいいから。
それとも本気で分かってるつもりか?
>>889 Nextのところで1ブロック完了した扱いになるから次のDimは新規に宣言した扱いになるよ。
えーと、説明が悪かったですm(__)mV.Bで5教科の平均を求めるFormをつくる課題がでてるんです(;^_^Aで、何をプログラミング入力すればいいかわからないんで教えてください〜。
氏ね
897 :
デフォルトの名無しさん :04/06/21 02:25
896 おとなげないやつ!!
>>895 1、各教科の点数を変数に入力
2、それぞれの合計を教科数で割り算
3、その結果を表示
この説明でわからないところは?
読み取り専用のExcelファイルの使用者を取得する方法はあるだろうか? あの「〜は編集中のためロックされています。」のメッセージボックスに出てくる使用者名なのだが・・・
>>899 Application.UserNameプロパティで取れるんじゃないかな。
>>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化はできますか? なんだか良く分からんのですが…
構造化せずにVB6.0もどきで.NETを作ってもWEB化できますか? .NETをどういうふうにWEB化するんですか?
>>905 あなたには、 VB.NET は向いていません。
無駄なことは辞めましょう。
VB6ってどうしても構造化を捨てなきゃ行けない局面ってあったっけか? on error gotoでループのど真ん中にあるラベルに飛ばすとか?
自分が作るのではなくてソフトハウスに外注する予定。20〜30人の 人間に同じものを配布しなくても機能を一部WEB化して表示結果を見る レベルでよいものもいる。外注のソフトハウスに依頼する場合.NETなら WEB化しやすくなるのかなと思って。 構造化云々というのはあとあと自分がちょこちょこ改造する 場合があるのを想定して、おいおい構造化はわかるかもしれないが 最初理解するのは大変かなと思って。
つか、Web化って意味がわからない。 WindowsUpdateみたいに差分配布&パッチ適用したいってことか?
ああ、
>>910 に書いてあったね。
ネットワーク経由で入出力したいみたいだけど、データベース関連かなん
か? 現場でやりたいことを相手のSEに伝えれば、予算に応じたシステム
を設計してくれるんでないかと。へたに自分で考えるよりも楽だよ。
たとえばあるデータを検索したいとする。検索用のデータベース のあるパソコンが一台あって、20〜30人のユーザーに VB6,0のexeを配るとそれぞれのソフトが直接データベースのPC からデータを引っ張ってくることになる。 たとえばJAVAサーブレットのように作ればexeを全員に配布しなくても ブラウザで表示させて、ちょっとした検索結果もブラウザで 表示できるイメージ。
ノータッチデプロイ
もちろん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
>>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) を使っていますが、これってフレーム内の立体は回転しますがフレームの軸自体は回転しませんよね。 簡単なフライトシミュレーションを作ろうとしているのですが、機体に合わせて軸も動くようにする方法はないのでしょうか? それとも機体の傾きを計算して回転させないといけないのかな・・・。
と誘導したもの そのスレってほとんど更新されてないのか・・・(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.*を使うには何か特別なことをしないといけないのでしょうか...
くあっ、解決しますた。 プロジェクト(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メソッドを使っているのですが 存在するかしないかの結果を見るのにはどのプロパティを見れば良いでしょうか?
SELECT文を叩いて取り出したDataRow()の配列数 dr() = dt.Select〜 で dr.Length = 0 なら結果返らず
943 :
デフォルトの名無しさん :04/06/28 17:05
全くの知識ゼロから勉強しているのですが、実行可能ファイルnekocan.exeをビルドすると 同じフォルダにnecocan.exe.configというファイルが作成されます。 このconfigファイルとexeファイルを違うフォルダに入れるとエラーが出て止まるのですが、 これは、必ずフォルダ内に1セットで置いておくものなのでしょうか?
ダイナミックプロパティを使ってました・・・ゴメンナサイ。
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の様にはできませんでした。 よい方法がありましたら教えていただけると大変助かります。 どうかよろしくお願い致します。
>>957 素人なのでよく分からん、しかもC#だけど、こんなんじゃだめですか?
Socket.Connectedプロパティ
>>958 ありがとうございます。漠然とネットに繋がってるか?じゃなくて
具体的にどっかに繋ぎに行ってみるってわけですね。
接続確認だからpingってことばかり考えてましたヨ
>>954 DataSetを作れてるって事は内部にDataTableがあるはずなんで
dim r as object = DataTable.Compute("Sum(ファイルサイズ)","ファイル名 like '*.cgi'")
でどうでしゃろ
カウント数は同じ式で
DataTable.Select ("ファイル名 like '*.cgi'")
で戻りのDataRowの数を調べる
>>942
あと、ディレクトリ内の情報を得るのなら 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) 再起呼び出しはしないので 適当に改造してください
>>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 も含め、ありがとうございました。
>>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のような開発ソフトは作れるものなのでしょうか?
自己解決しました。どうもありがとうございました。
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に設定するにはどうすれば良いでしょうか?
>>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を定義する。
早々のお答えありがとうございます。 ということはintですね。 DBにデータを保存すると4byteは無駄な気がしてしまうのですが気にすることでもないですかね?
982ではなく983でした。それこそ無駄を申し訳ありません。
俺はどうしちまったんだ・・・・ 984ではなく985です。 吊って来ます。
Enumの中身自体にはByteも使える。 別に値の範囲が決まっているならDB側のサイズを小さくするのは問題ないのでは? SQLServerみたいに型付けされててもキャストすればいいだけだし。
自分のレス番すら把握できないバカにレスありがとうございます。 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
||// ∧_∧|∧_∧ ||/ ( ´・ω・)( ) クマが迫っている気がする || ( )|( ● )  ̄ ̄ ̄ ̄ ̄ u―u' _____ ||// ∧_∧|∧_∧ ||/ (n´・ω・)n ) 見られてる気がする || (ソ 丿|ヽ ● )  ̄ ̄ ̄ ̄ ̄ u―u' _____ || ● ●|∧_∧ || ( _●_)(n´・ω・n) クマなんて居ないのに迫っている気がする ||、 |∪| |( .)  ̄ ̄ ̄ ̄ ̄ u―u'
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。