VB.NET質問スレ (Part15)
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2006/03/29(水) 20:29:23過去ログのリンクは事実上無意味だから省略。
【前スレ】
http://pc8.2ch.net/test/read.cgi/tech/1138670182/
0002デフォルトの名無しさん
2006/03/29(水) 20:30:53言語仕様などのリファレンス
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vbref/html/vbmscLROverview.asp?frame=true
.NET Framework リファレンス
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/netstart/html/cpframeworkref_start.asp?frame=true
.NET Framework を使用したプログラミング
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpguide/html/cpconprogrammingwithnetframework.asp?frame=true
正規表現
http://www.microsoft.com/japan/msdn/library/?url=/japan/msdn/library/ja/cpgenref/html/cpconregularexpressionslanguageelements.asp?frame=true
サンプルコード
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vbref/html/vboriVBVCSharpSamples.asp?frame=true
0003デフォルトの名無しさん
2006/03/29(水) 20:33:39http://dobon.net/vb/
http://dobon.net/vb/dotnet/index.html
Microsoftクイック スタート チュートリアル
http://ja.gotdotnet.com/quickstart/default.aspx
Insider.NET
http://www.atmarkit.co.jp/fdotnet/index.html
宇宙仮面の C# プログラミング
http://ukamen.hp.infoseek.co.jp/
.NET のつぼ
http://park16.wakwak.com/~mimi/dotnet/top.html
.NET TIPS
http://www.atmarkit.co.jp/fdotnet/dotnettips/index/index.html
緑のバイク ★ 初めてのC# プログラム全般
http://homepage3.nifty.com/midori_no_bike/CS/
VB.NETとC#でデザインパターン
http://hccweb1.bai.ne.jp/tsune-1/
匣の向こう側
http://www.ne.jp/asahi/nami/mei/index.html
WisdomSoft
http://wisdom.sakura.ne.jp/
じゃんぬねっと
http://jeanne.wankuma.com/
どっとねっとふぁん - C# Tips And Samples -
http://homepage3.nifty.com/dotnetfan/index.html
C#プログラミングTips
http://www.atmarkit.co.jp/fdotnet/csharptips/index/csharptips_index.html
CodeProject
http://www.codeproject.com/vb/net/
0004デフォルトの名無しさん
2006/03/29(水) 20:36:33the GotDotNet Home Page
http://www.gotdotnet.com/
KEN's .NET
http://www5b.biglobe.ne.jp/~yone-ken/VBNET/index.html
Cetus Links: 19,498 Links on Objects and Components / .NET
http://www.cetus-links.org/oo_dotnet.html
HIRO's.NET
http://vbdotnet.fc2web.com/index.html
@IT:特集 .NET開発者のためのオンライン・リソース・ガイド
http://www.atmarkit.co.jp/fdotnet/special/onlineres/onlineres_01.html
.NETでいきまっしょい!
http://santamartadotnet.hp.infoseek.co.jp/
これがほしかった!厳選サンプルツール集
http://anetm.com/dev/tools/vbdotnet.htm
ぬーやんのdotNET講座
http://www.geocities.jp/nuu_yan/dotNET/index.html
PINVOKE.NET
http://www.pinvoke.net/
WinAPI Database for VB Programmer
http://www.geocities.co.jp/SiliconValley-Cupertino/5872/
Windows Api programming in C# , VB.NET, and VB6. Examples of P/Invoke and DllImport with Source code
http://custom.programming-in.net/
0005デフォルトの名無しさん
2006/03/29(水) 20:39:58http://www.kamalpatel.net/ConvertCSharp2VB.aspx
@IT:.NET Tools
http://www.atmarkit.co.jp/fdotnet/tools/index/index.html
SharpLibrary Redirector
http://www.sharplibrary.com/
MSDN アカデミック アライアンス 技術資料
http://www.microsoft.com/japan/msdn/academic/articles/
「300 秒でズバリ !!」&「10 行でズバリ !!」シリーズ
http://www.microsoft.com/japan/msdn/thisweek/wednesday/default.asp
PAPA'n VB
http://www.mitene.or.jp/~sugisita/index.html
VB レスキュー花ちゃん
http://www.bcap.co.jp/hanafusa/dotnet/index.html
(Java覚え書き)デザインパターンあれこれ
http://www.dmz.hitachi-sk.co.jp/Java/Tech/pattern/
algorithm
http://www.mnet.ne.jp/~tnomura/algorithm.html
ラムダ計算入門
http://www.kb.ecei.tohoku.ac.jp/~sumii/class/keisanki-software-kougaku-2005/lambda.pdf
数値計算の基礎
http://www7.ocn.ne.jp/~kawa1/numeric.pdf
0006デフォルトの名無しさん
2006/03/29(水) 20:51:27>周波数成分に分解して各周波数成分ごとにレベルの和を取り、また合成しなおすんだよ
わかってないね。そんなことはする必要はない。
じゃあ聞くが、アナログのミキサーがそんなことしてるかい?
そんなことしたら位相が回っちゃうじゃないか。
まあ多分ちょうど位相が180度ずれた波形を足したら音量0になってしまうじゃないか、
とか思ってるんだろうけどそれでいいんだよ。
こんなの電気系の大学出てなくても、高校物理の「重ね合わせの原理」で
理解できるでしょ。
単純に足し算するだけでいいんだよ。
0007デフォルトの名無しさん
2006/03/29(水) 20:58:07電圧次元で2で割ったらエネルギーレベルでは1/4に低下することになるわけだが、
そんなことに意味があるのかい?
エネルギーレベルで1/2にする、ってのはなら意味はないとまではいえないかもしれないけど。
この場合は電圧次元で1/√2にしなきゃだめでしょ。
P = E^2/Rなんだから。
0008最凶VB厨房
2006/03/30(木) 00:31:10の式でPは仕事、Rは抵抗、Eは電圧でいいの?
0009デフォルトの名無しさん
2006/03/30(木) 00:40:04つーか知ってるくせにとぼけちゃってw
0010最凶VB厨房
2006/03/30(木) 00:50:59知ってるくせにって俺に対してのことか?
とぼけてねー!w しらねーよw
いやまじであまり知らんのだが、
Waveファイルとかの音声データって振幅のことなんよね?
>>6-7の言ってることは正しいような気がするが・・・
>>1000の言ってることが間違っているとも思えない・・・。
さてさてどうなんでしょ?生暖かく見守ります。
0011デフォルトの名無しさん
2006/03/30(木) 02:10:34レベル調整はまた別の話。
0012デフォルトの名無しさん
2006/03/30(木) 10:35:02文字列をURLエンコードしたくて、
System.Web.HttpUtilityクラス使おうとしたんだけど、
コードエディタでSystem.Web.まで入力しても、
インテリセンスの提示する候補の中に
HttpUtilityがない、どころか、
AspNetHostingPermission
AspNetHostingPermissionAttribute
AspNetHostingPermissionLevel
の三つしか存在しない
どうすればいいの?
0013デフォルトの名無しさん
2006/03/30(木) 10:40:30何が必要なのかオウム返しする前にMSDN調べろよ?
0014デフォルトの名無しさん
2006/03/30(木) 10:42:31プロジェクト→参照の追加から追加しました。
ありがとうございました。
0015デフォルトの名無しさん
2006/03/31(金) 07:36:20できないのでしょうかね?
0016デフォルトの名無しさん
2006/03/31(金) 09:24:09できる。
オプションを全て開いてきちんと見る。
0017デフォルトの名無しさん
2006/03/31(金) 12:26:16Ctrl + shift + F
で出てくる『ファイル内の検索』ウインドウの
検索対象の入力欄には、通常、
すべての開かれているドキュメント
ソリューション全体
現在のプロジェクト
など候補がありますが、先日、間違えて、その入力欄に検索したい文字列そのものを
書き込んで検索ボタンを押してしまったら、
その後、その検索対象の入力欄に、私が間違えて入力した文字列が、候補として追加されて
しまったようで、いつも出てきます。
これを消す方法を知りたいのですが。
よろしく
0018デフォルトの名無しさん
2006/03/31(金) 13:13:28仕事場で人格否定されるようなことを他のWindowのTextに書いたつもりで、VSの検索窓に。w
0019デフォルトの名無しさん
2006/03/31(金) 14:01:252005ならHKEY_CURRENT_USER\Software\Microsoft\VisualStudio\8.0\Find
のQueryなんちゃらを消せばOK
0020デフォルトの名無しさん
2006/03/31(金) 14:42:09ありがとうございました。
2週間くらい未解決だったのが、おかげさまで一発で解決しました。
これで、プログラム開発に専念できます。
0021デフォルトの名無しさん
2006/04/02(日) 00:19:39メニューの項目にDELキーのショートカットを付け、
ListViewにラベルの編集を許可した場合、
ラベルの編集中にDELキーを押すと、
ラベルの文字を消さずにメニューのイベントが発生するんですが、
これってこういうモノなんですか?
002221
2006/04/02(日) 00:22:380023デフォルトの名無しさん
2006/04/02(日) 00:24:28002421
2006/04/02(日) 00:31:370025デフォルトの名無しさん
2006/04/02(日) 01:46:12クリックさせるにはどうしたら良いでしょうか?
getElementsByTagName("A").Item(0).Click()
ではなく直接リンク文字列をクリックさせたいのですが
vbのヴァージョンはvb2005です
0026デフォルトの名無しさん
2006/04/02(日) 02:07:38A 要素のクリックと何が違うんだ?
0027デフォルトの名無しさん
2006/04/02(日) 02:20:31WebBrowserコントロールに表示されたページ内で
任意の文字列を検索してクリックさせたいんです
0028デフォルトの名無しさん
2006/04/02(日) 03:24:43複数の要素にまたがってたらどうするんだ?
0029デフォルトの名無しさん
2006/04/02(日) 14:40:54データベースを使ったのプログラムを作ってるんですが(今回はAccess)、
ループをしているときにレコードが無くなったらループを抜ける方法がわかりません。
見苦しいコードですが、ご教授お願いします。(改行が多いと書き込めないので詰めてあります・・・)
Dim oleCn As New OleDb.OleDbConnection
Dim oleCmd As OleDb.OleDbCommand
Dim oleReader As OleDb.OleDbDataReader
Dim str1 As String
'** 接続文字列を生成
oleCn.ConnectionString = _
"provider = Microsoft.Jet.OLEDB.4.0;" & _
"Data Source = Access.mdb;" & _
"Persist Security Info = false "
'** 接続
oleCn.Open()
'** SQLコマンド
oleCmd = New OleDb.OleDbCommand("SELECT aaa , iii , From uuu ", oleCn)
oleReader = oleCmd.ExecuteReader()
'** ↓レコードが無くなったらループを抜ける条件が知りたい
Do Until [条件]
[処理]
str1 = oleReader("aaa")
'** str1とoleReader("aaa")が違ったら抜ける
Do Until oleReader("aaa") <> str1
[処理]
'** 次のレコードに移動
oleReader.Read()
Loop
[処理]
Loop
0030デフォルトの名無しさん
2006/04/02(日) 14:57:060031デフォルトの名無しさん
2006/04/02(日) 15:35:38早速調べて試します。
ありがとうございます。
0032デフォルトの名無しさん
2006/04/02(日) 15:42:27DataGridでデータ入力をしています。
エラーのチェックをRowChangingイベントで行っていますが
メッセージボックスを出そうとすると、「インデックスnに値がありません」
(nは不特定)というメッセージが出て、DataGridにでかい×印がつきます。
みなさんのところもそうですか?
0033デフォルトの名無しさん
2006/04/02(日) 16:10:390034前スレ983
2006/04/02(日) 16:36:15その後も色々と調べていたんですが、結果的には >6さんの考え方で
ミキシング出来ました。
レス頂いた方々ありがとうございました。
0035デフォルトの名無しさん
2006/04/02(日) 18:20:29諦めてDMOを使ったほうがいいのでしょうか。
0036デフォルトの名無しさん
2006/04/02(日) 18:33:530037デフォルトの名無しさん
2006/04/02(日) 18:37:46メンバにあるインタフェースを持つようなクラスをシリアライズって変ですか?
インタフェースとの間にMustInheritでクラスかませばできるようですが、
それも何か変な気がする。。。
0038デフォルトの名無しさん
2006/04/02(日) 19:13:06XMLの設定ファイルに動作方法を定義して、
起動時に読み込んで初期化という物なのですが。
DMO > DOMでした
0039デフォルトの名無しさん
2006/04/02(日) 19:58:59レコードが無い場合は[処理]をするといった事をしたいのですが
レコードがない場合の条件式を教えてください。
----------------------------------
VB6では If rs.EOF then
[処理]
end if
----------------------------------
を.NETではどう記述すればよいのですか?
0040デフォルトの名無しさん
2006/04/02(日) 20:11:52インターフェイスはあくまでインターフェイスで実体は分からないという前提な訳だから、
それとシリアライズとはかみ合わないと言うか。
インターフェイスをメンバに持つようなオブジェクトは抽象化されてて形にできない、と言うのかな。
XmlIgnore属性で無視するか、
IXmlSerializable を実装するか……こいつは大変だが。
>>39
どうやってそのレコードとやらを取得したんだ?
004139
2006/04/02(日) 20:18:55>>29さんと同じです。
↓は>>29さんのコピーです。
Dim oleCn As New OleDb.OleDbConnection
Dim oleCmd As OleDb.OleDbCommand
Dim oleReader As OleDb.OleDbDataReader
Dim str1 As String
'** 接続文字列を生成
oleCn.ConnectionString = _
"provider = Microsoft.Jet.OLEDB.4.0;" & _
"Data Source = Access.mdb;" & _
"Persist Security Info = false "
'** 接続
oleCn.Open()
'** SQLコマンド
oleCmd = New OleDb.OleDbCommand("SELECT aaa , iii , From uuu ", oleCn)
oleReader = oleCmd.ExecuteReader()
よろしくお願いします。
0042デフォルトの名無しさん
2006/04/02(日) 20:29:320043デフォルトの名無しさん
2006/04/03(月) 10:36:508ビットのWavファイルをミキシングするのには、基本的に単純な
足し算だけでは出来ない。
なぜなら演算がオーバーフローして波形がクリップしてしまうから。
これを避けるには、16ビットで計算して結果を2で割るか、初めから
2で割ったものを重ねあわせるかだ。
各原音は1/2になってしまうが、それはボリュームで考えることだ。
従って、ミキシングには必ずフェーダーというかボリュームの調整が
必要で、単なる重ね合わせでは上手くいかないのだよ。
ただ手を抜くなら、波形がクリップしてすざましい音になる前に、
8ビットなら拡張して16ビット演算をした後2で割っておけと言ってるの。
0044デフォルトの名無しさん
2006/04/03(月) 11:00:000045デフォルトの名無しさん
2006/04/03(月) 12:42:540046デフォルトの名無しさん
2006/04/03(月) 20:08:59なんか頭悪いな。。
出力が飽和しないように入力各ソースのレベルを調整するのは
普通人間サマが自由に決めることであってソフトが勝手に一律で1/2にするような
類のものではない。
それとも何か、君の行きつけのカラオケ屋じゃマイクのスイッチ入れると
オケが電圧次元で1/2(音量次元で1/4)になるのかい?w
0047デフォルトの名無しさん
2006/04/03(月) 22:08:27亀レスになりましたが、情報ありがとうございます。
RowStateがDetachedの行はRowChangingで再描画できないんですね。
ところでこれって仕様なんでしょうか?
0048デフォルトの名無しさん
2006/04/03(月) 22:27:59まあサンプルコードとか読む限り、エラーの通知には DataRow.RowError を使えって言うことのようだが。
確かにデータ層が直接ユーザに通知するのは構造的におかしい。
0049デフォルトの名無しさん
2006/04/04(火) 08:24:16素人とこれ以上議論しても仕方が無いが、君は質問の内容を理解してるのかい。
2つのWavファイルをMixするにはどうしたら良いのかと言う質問なんだよ。
単に2つのWavファイルを足し合わせたら、波形のピークが重なるところは
演算がオーバーフローして、完全にクリップしてしまうではないか。
ヘッドルームを十分に取ったアナログのカラオケの機械とは根本的に違うのだよ。
そもそもカラオケの機械はAGC(AUTO GAIN CONTROL)と言う入力がオーバーに
ならない為のハードが付いているのだが。
通常のミキサーは入力毎にフェーダーというゲインコントロールがついていて、
Mixしたときの音量の調節と、音源ごとのゲイン配分を決めるのだけれど、
今回のようにゲイン調整の出来ない素材の場合はMix時に波形がクリップ
しないように加工しておくか、Mixの演算時にオーバーフローしない対策が
必要では無いかい。
そもそも8ビットの場合、10進法で0〜255の値を取るのだけれど、8ビットの
任意の数字を足し合わせると、最大値は255 x 2の値を取るでしょ、従って任意の
波形を足し合わせた物が8ビットでオーバーフローしない為には、あらかじめ
2つのデーターを2で割っておくか、足されたものを2で割というのが、波形の
原型を維持するための、最良の方法であることは容易に想像がつくではないか。
それと君は電圧、パワー、音量の関係を完全に誤解している。
音量は通常デシベル(dB)という単位を使うのだけれど、これはlog(P2/P1)
という事で、人間の音量に対する感覚は、音のパワーが10倍になった時に
2倍の音の大きさになったと感じるのだよ。
しかしそれは実際の電気回路とは関係はなく、音のMixはもちろんのこと、音を
コントロールする電子・電気回路は全てが電圧でコントロールされていて、
Wavのデーターの元のA/Dコンバーターも、電圧をサンプリングしたものなんだな。
最後に君の2で割ると音量が小さくなってしまうのではないかと心配に関しては
ノーマライズと言う方法でデジタル信号の音量の最適化をするのが普通なんだが。
0050デフォルトの名無しさん
2006/04/04(火) 09:22:410051デフォルトの名無しさん
2006/04/04(火) 09:25:510052デフォルトの名無しさん
2006/04/04(火) 09:41:450053デフォルトの名無しさん
2006/04/04(火) 11:48:020054デフォルトの名無しさん
2006/04/04(火) 11:50:29そんなことは分かってる上でとにかく2で割るってところに突っ込んでる。
0055デフォルトの名無しさん
2006/04/04(火) 12:43:00あのさあ、高校レベルの数学ぐらいちゃんと習得しとけよ。
常用対数だろうが自然対数だろうがlog(x*10)は2*log(x)じゃないよ
2*log(x) = log(x^2)、なw
なんか自分の頭の悪さを棚に上げて恥ずかしいやっちゃなあ。。
それと、よく人間の感覚は対数カーブだといったり、電気の世界では
エネルギー(の時間微分)の値をdBで表現したりするが、それはあくまで
表現の便宜上そうしているだけであってdB値で二倍になったからって
リアルで人が2倍の強度を体感するわけじゃないよ。
だいいち人間の感覚なんて簡単に数値化できんでしょ。
0056デフォルトの名無しさん
2006/04/04(火) 13:00:110057デフォルトの名無しさん
2006/04/04(火) 13:12:34フォームが2つあり、Form1にデータベースのデータを
(DataGridではなく)Labelなどのコントロールを使って表示しているのですが、
データの編集、削除は、Form1で現在表示されている行をForm2に表示して行いたいです。
指定した行の値をデータベースから直接取得する方法はわかったのですが、
Form1で選択した行の値をForm2に表示する方法がわかりません。
Form1に表示されている値からデータベースの位置を取得→
データベースから値を取得してForm2に表示
というスマートではない方法しか思いつきません・・・。
素人質問かと思いますが、よろしくお願いします。
0058デフォルトの名無しさん
2006/04/04(火) 14:41:36自己主張が激しい奴らがぶつかると周りは迷惑するのな
本人たちは俺の方が賢いぞって悦に入ってるんだろうけど、
ダラダラ長い文章読んでるのは自分たちだけなのに気付いてない
0059デフォルトの名無しさん
2006/04/04(火) 17:47:26Form2側にプロパティを設定、その中でForm2の各TextBoxなどの値設定、取得を。
もっと簡単にやるなら、Form2に配置した各コントロールをPublicスコープにしてしまう。
または、Form1側での選択値を構造体なりにして、Form2に受け渡す。
Formといっても単なるクラスですよ。
0060デフォルトの名無しさん
2006/04/04(火) 18:26:41その行の値を取得したいのですが、どうすればよろしいですか?
たとえば
---------------------------------
| | 列名1 | 列名2 | 列名3 | 列名4 |
| | aaaaa | iiiiii | uuuuu | eee |
| | ooooo | kakak | kiki | kuk |
---------------------------------
aaaaの行の "aaaa iiii uuuu eee" を取得したい
よろしくおねがいします。
0061デフォルトの名無しさん
2006/04/04(火) 18:30:29ttp://dobon.net/vb/dotnet/datagrid/currentrow.html
006260
2006/04/04(火) 18:48:19ありがとうございます。
でも、うまくできません・・・
行数の取得じゃなくて、選択した行に入っているデータを取得したいんですけど
>>60以外には何をすればいいですか?
0063デフォルトの名無しさん
2006/04/04(火) 18:55:11で、まずそもそも ASP.NET なのか WinForms なのか、データソースに何つかってるのか。
うまくできないって何がどう巧くいかないのか。
ちゃんと説明せんと答えるのは難しい
0064デフォルトの名無しさん
2006/04/04(火) 19:01:57そういうい自分のレスが自己主張してないと思ってるんだから
君という人間はオメデタイことですなw
っていうか、スレ違いじゃないと思いますけど。
アルゴリズムの内容について討議してるんだから。
別に何十レスのオーダーでスレ消費してるわけでもなく、客観的にいって
「迷惑」の範疇に入らんと思うが。
まあもちろん、『俺様がウザいと思えばそれが迷惑行為だ』という
幼児性が抜けない自己中心的な人間にとってはこの限りではないだろうけどねw
0065デフォルトの名無しさん
2006/04/04(火) 19:05:430066デフォルトの名無しさん
2006/04/04(火) 19:20:16ここでやるならVB.NETでどう実装するかって話しろやボケ
0067最凶VB厨房
2006/04/04(火) 22:00:38>人間の音量に対する感覚は、音のパワーが10倍になった時に
>2倍の音の大きさになったと感じるのだよ。
の部分は間違いか?2倍ではなく、ルート10倍=約3.1倍じゃないか?
and この根拠はウェーバーの法則or感覚知覚の法則って奴か?
それともまったく別の何かか?
外野&素人の俺が議論を勝手に整理してみる。
足してオーバーフローするとMax値にする必要があって
これをクリップというらしい。
クリップというのは音が変わってしまうらしい。
これを見た。http://flawtips.ami.amigasa.jp/blog/050916.html
ノーマライズというのはこれを見た。
http://www.digion.com/dspark/effect/html/03norm/nom.htm
相違点は、
特に単に足したらオーバーフローする場合、
単にクリップ(Max値)すればよい派と
というのとノーマライズするんだ派がいるんだな?
クリップの
メリットは元の音の音量は変わらない。
デメリットは音が変わる可能性がある(オーバーフローするとき)
ノーマライズの方の
メリットは波形自体は変わらないので、音色が変わることが無い。
デメリットは元の音の音量は変わる。
両者はこのメリットデメリットについて納得か?
ここは間違ってるぜってのがあれば指摘よろしく。
0068最凶VB厨房
2006/04/04(火) 22:03:28クリップのメリットはミキシングしたい部分でだけの処理。
ノーマライズのデメリットはミキシングする部分以外も
つまり全部処理しなければならない。
これも間違っていたらよろしく。
0069最凶VB厨房
2006/04/04(火) 22:23:230〜255(無音128)と0〜255の値を取るものを足せば
0〜510(無音256)の値をとるものができると思うのだが、
足してあと128引いてからクリップするというのはおかしいの?
0070デフォルトの名無しさん
2006/04/04(火) 22:36:49お前らのタチの悪さは、
「自分が正しいということを相手が認めるまでやめない」
ってことだよ
それがいかに幼稚でくだらないことかそろそろ気付いたらどうよ?w
0071デフォルトの名無しさん
2006/04/04(火) 22:42:41単純に足し算する場合、飽和したらどうしようもないから
飽和したままにしておくわけで。
ノーマライズってのは合成波形のピーク値がある値になるように係数を掛ける、
って意味だと思うけど、それは一つの考え方でこれを否定する人もいないと思う。
まずありえないとしか言いようがないのは勝手に一律1/2にする処理だね。
あと量子化ビットが8bitの場合、Winだと0x80のオフセットがついた
符合なし整数扱いだったはずだから、一旦符合付き整数に変換してから
処理する必要があるね。
0072デフォルトの名無しさん
2006/04/04(火) 22:57:19ほとんど聞こえなくなっっちゃったんだ。
0073最凶VB厨房
2006/04/04(火) 23:14:35音量が変わるという以外のデメリットはあるのか?
おっとそういえば、
周波数に直してから逆変換派もいたっけ?
0074最凶VB厨房
2006/04/04(火) 23:23:30飽和したままにしておくわけで。
これでいいのかどうかが議論の焦点じゃなかったのか?
これでいいってのがクリップ派。
そらあかん!ってのが(手抜き)ノーマライズ派。
補足。手抜きノーマライズ=1/2処理。
0075デフォルトの名無しさん
2006/04/04(火) 23:33:41移動中のウィンドウ矩形のサイズを変更したいのですが、WM_MOVINGを
捕まえてlParamの中身を書き換える以外の方法はないでしょうか?
WM_MOVINGを取る方法が使えなくなって困っております。
よろしくお願いします。
0076デフォルトの名無しさん
2006/04/04(火) 23:35:030077デフォルトの名無しさん
2006/04/04(火) 23:35:47劣化がちょっと大きすぎるって事ね。
0078デフォルトの名無しさん
2006/04/04(火) 23:37:11さらに悪化させてしまう、音質への影響が大きすぎる。
0079デフォルトの名無しさん
2006/04/04(火) 23:49:040080デフォルトの名無しさん
2006/04/04(火) 23:49:59なんで使えなくなったんだ?
// 使いにくくはなったが。
0081デフォルトの名無しさん
2006/04/04(火) 23:51:100082デフォルトの名無しさん
2006/04/04(火) 23:52:13うーんと誰もクリップしちゃうことを積極的に容認した覚えはないと思うよ。
なんかFFT的な操作が必要だ、みたいなわけのわからんこと言う奴がいたから
それに対する反論として単純に足せばいいんだ、といったまで。
もちろんこの言い方は合成結果が量子化ビット数の範囲内で飽和しないような
(前処理された)音源を前提としている。
ただ、合成結果が飽和しないような音源を前提とする場合でも、
プログラム的には「万が一」飽和してしまった場合の処理を考えておく必要はあるでしょ。
いわば例外処理だよ。
飽和しても問題はないんだ、と言っているのではなくて、
飽和しないようなソースを前提としているが、飽和した場合は飽和したままに
しておくしかない、という消極的容認だよ。
すくなくとも1の補数になっちゃうよりは被害が小さいのだから。
一律1/2がありえないのは、別にそれが絶対にダメって意味じゃなくて
そんなことをする積極的意味は何もないからだよ。
もちろん>>72的な問題は明確にあるんだけどね。
8bitだったら7回ダビングを重ねると最初の音源は完全に消えちゃうわけだ。
0083デフォルトの名無しさん
2006/04/05(水) 01:49:44ListViewクラスについて質問があります。
表示方法をDetailにして使用しているのですが文字色について選択されている行の文字が
黒色(選択行のバックカラーが灰色)になるのは仕様なのでしょうか?
BackColorやForeColor、Item単位での色設定など全てが反映されていません
(選択されていない行では問題なく色が設定されます)
どうかご教授お願いいたします
0084デフォルトの名無しさん
2006/04/05(水) 07:57:51通常スピーカーのインピーダンスは固定と考える。
オームの法則より、
電力は P1 = (I1)^2 x R
P2 = (I2)^1 x R
log(P1/P2) = log(I1^2/I2^2) = 2log(I1/I2)
ここで
I1 = V1/R I2 = V2/R
従って
log(P1/P2) = 2log(V1/V2)
となる。
>エネルギー(の時間微分)の値をdBで表現したりするが、それはあくまで
>表現の便宜上そうしているだけであってdB値で二倍になったからって
>リアルで人が2倍の強度を体感するわけじゃないよ。
宜上ではないグラハム・ベルによって証明されている。
>>56
すれ違いではない、Wavを扱う場合の根本的なアルゴリズムに関して議論してるのだ。
>>58
自己主張では無い、真実を求めようとする、技術者たちの議論である。
>>64
君の考えに100%同意します。
>>66
実装だけがプログラムだと思っている君は一生コーダーだろう。
0085デフォルトの名無しさん
2006/04/05(水) 07:59:14>>67
波形がクリップすると、高調波が発生して、原音が破壊される。
特にデジタル音楽の場合は、クリップに注意する必要がある。
一般的に音をデジタル化した場合、最適なサンプリングの状態は
その音楽の音量の最大値がわずかにクリップするところに
設定することであるが、これをリアルタイムに調節することは
難しい。
そこでWavファイルを始めに一なめして、最大値を探し、それを
基準にすべての音の音量を決定する方法がノーマライズである。
>>68
Yes
>>69
スマン、意味がわからない。m(__)m
>>70
おまえのタチの悪さは、真実を追究しないことだ。
>>71
かってに1/2するのではない、クリップを防止するために最小限の
処理をするだけだ。
計算は2のコンプリ(ツーズコンプ)の計算になる。
0086デフォルトの名無しさん
2006/04/05(水) 07:59:52>>72
何もしないで足していくと、波形は上限に張り付いてしまう。
>>73
ある、小さい音がマスクされて聞こえなくなる。
>>74
飽和は絶対に避けなければならない。
>>75
ウェーブファイルを単純に合成したい場合、それは仕方が無い、
その為に専用のミキサーがある。
>>82
最適化されたWavファイルを単純に足せば必ずクリップする。
7回もダビングするなら専用のミキサーを使いなさい。
単純なWavファイルの合成について議論してるのだから。
0087デフォルトの名無しさん
2006/04/05(水) 11:08:250088デフォルトの名無しさん
2006/04/05(水) 11:45:030089デフォルトの名無しさん
2006/04/05(水) 12:30:04具体的な色はさておき、選択行の色は基本的に変更不可だね。
それがいやなら、.NET 1.x だとカスタムドローと言うことになるか。
0090デフォルトの名無しさん
2006/04/05(水) 12:44:05悪いこと言わないからもう一度高校数学勉強しなおした方がいいよ。
一生懸命当たり前の数式展開してるけど、だから何?
>>49に、パワーが10倍になると人間は二倍の強度を感じるという旨の記述があるけど
その式からそんなことが言えるわけ?w
何度も言うけどパワーが10倍になってもdB値は2倍になんかならないよ。
10dB増えるだけね。
0091デフォルトの名無しさん
2006/04/05(水) 13:00:54お前もスレ違いを続ける基地害か?
0092デフォルトの名無しさん
2006/04/05(水) 13:59:02ありがとうございました。
1.1を使用しているのでカスタムドローというものを調べて考え直してみます
0093デフォルトの名無しさん
2006/04/05(水) 21:01:57ちなみに600Ωロード、0.775vを0dBmという。
0094デフォルトの名無しさん
2006/04/05(水) 21:09:2720dBって値の方が「換算」した値なんだよw
分かって言ってるのかな
0095デフォルトの名無しさん
2006/04/05(水) 23:34:01>おまえのタチの悪さは、真実を追究しないことだ。
俺が正しい
いや、俺のほうが正しい
こんなことやりあってて何が真実の追求なんだかw
お前らは永久に自分の間違いを認める日なんて来ないよw
0096デフォルトの名無しさん
2006/04/05(水) 23:52:010097デフォルトの名無しさん
2006/04/06(木) 08:45:470098デフォルトの名無しさん
2006/04/06(木) 09:33:56だったら暇でいいんだよ。
屑の書き込みの中に質問がうもれちゃうし、スレの密度が下がって検索の手間が増えるし。
0099デフォルトの名無しさん
2006/04/06(木) 10:30:280100デフォルトの名無しさん
2006/04/06(木) 10:59:03StringとかはNewしないでもいいのに、Newしないと使えないクラスがあります。
Newでオブジェクトを作るのではないのでしょうか?
だとすれば、StringにもNewキーワードが必要なのではないでしょうか?
よく分かりません。
よろしくご教授願います。
0101デフォルトの名無しさん
2006/04/06(木) 11:05:550102デフォルトの名無しさん
2006/04/06(木) 11:27:43[AAA.hoge.co.jp] というドメインに存在するサーバとクライアント間で
クライアントからWMIを使ってadmin権限で動かしているプログラムを、
WMIを使ってクライアントでプロセス監視する処理をしていました。
ところか、クライアントのドメインが [BBB.hoge.co.jp] に変更された結果
WMIでプロセスを監視する処理のところで
System.Management.ManagementException「アクセスは拒否されました」
といわれるようになりました。
エラーの内容から、WMIの実行権限が元々のドメインにしかなくて
変更されたドメインでは出来ないんだと思ったのですが、異なるドメイン間で
WMIを使ってプロセスを監視する処理は可能なのでしょうか?
方法としてはまずは[BBB.hoge.co.jp]ドメインのものをサーバのアカウントに追加すれば
いいのかな?と思ったのですが、アカウントの追加で、「場所の指定」をしても、
新しく増えたドメインは見えるても、「選択するオブジェクト名」のところで
adminとかuserって打って名前の確認しても何もでず、追加できませんでした。
また、runasコマンドを使えばアカウントが変更出来るので、これで何とかならないか?
とも思ったのですが、そもそも[BBB.hoge.co.jp]ドメインのアカウントが存在しないので
これも意味がないような気がして、手詰まりになってしまいmした。
何か良いお知恵を拝借できないでしょうか?
0103デフォルトの名無しさん
2006/04/06(木) 11:43:28俺もVB6から移行したとき、
すべてがオブジェクト型ってことは、
言い換えれば、すべてNewが必要じゃないかって思った
IntegerやLongは値型だからいいとしても、
Stringは参照型なんだから、Newを付けないと理が通らなくない?
0104デフォルトの名無しさん
2006/04/06(木) 11:58:59実際にNewが使用されてるかという事は別問題です。
例えば、何らかのオブジェクトを返すメソッドを作成して、
そのメソッドはNewでオブジェクトを作成してるとする。
オブジェクトは確かにNewされてるけど、呼び出し側にからは見えない。
これが標準ライブラリ内でやってる事なら、
使う側にはNewしてる事は全く見えないけど、確かにNewは実行されてる。
そういうこどだよ。
0105デフォルトの名無しさん
2006/04/06(木) 12:10:500106デフォルトの名無しさん
2006/04/06(木) 12:31:31と明記されていたんだがさてどこに書いてあったか。
ちなみにコンストラクタ使って New することもできるぞ。文字列を引数に取るコンストラクタはないけど。
0107デフォルトの名無しさん
2006/04/06(木) 12:33:30あえてnewを使うとこんな感じ(実際はこうじゃなけど)
string s;
s = "abc";
s = new string(new char[] {'a', 'b', 'c'});
最初のstring sをnewしなくていいのは当然でnewされたものの参照を格納できればいいから宣言だけでいい。
0108デフォルトの名無しさん
2006/04/06(木) 12:44:43参照とオブジェクトの区別がついてないんでしょ。
Newしなきゃ「使えない」のはオブジェクト(当然だ、そもそも存在しないのだから)
であって参照、つまり変数そのものじゃないよ。
参照型の変数には、型の一致する任意のオブジェクトへの参照を代入できる。
つまり「使える」。
当たり前だけど。
まあVBだとString型のNull参照( = Nothing)を自動的に空の文字列 ( = "")と
等価とみなす親切設計wになっていて、これがかえって誤解を生んでる可能性はあるね。
0109デフォルトの名無しさん
2006/04/06(木) 12:56:27Dim s As String
Set s = Nothing
Text1.Text = s
VB6だとこれでエラーになるけどね。
Dim s As String で初期値が "" になるのを勘違いしてない?
0110デフォルトの名無しさん
2006/04/06(木) 13:16:19中途半端なことやってたら、初心者はこんがらがる罠
0111デフォルトの名無しさん
2006/04/06(木) 17:21:360112デフォルトの名無しさん
2006/04/06(木) 17:23:280113デフォルトの名無しさん
2006/04/06(木) 17:33:58ByVal e As System.EventArgs) Handles MyBase.Load
'フォームのサイズを適当に変更
Me.SetBounds(Me.Left, Me.Top, 201, 101, _
BoundsSpecified.Size)
'多角形の頂点の位置を設定
Dim points() As Point = _
{New Point(0, 0), _
New Point(100, 100), _
New Point(200, 100), _
New Point(100, 0)}
Dim types() As Byte = _
{Drawing.Drawing2D.PathPointType.Line, _
Drawing.Drawing2D.PathPointType.Line, _
Drawing.Drawing2D.PathPointType.Line, _
Drawing.Drawing2D.PathPointType.Line}
'GraphicsPathの作成
Dim path As New Drawing2D.GraphicsPath(points, types)
'形を変更
Me.Region = New Region(path)
End Sub
ヒントにこれを見つけたけどどこを変えたら丸になるの?
0114デフォルトの名無しさん
2006/04/06(木) 18:30:38分かってないw
あのねえ、Stringは(いや、参照型の変数はすべてそうだが)
変数を宣言するだけではNull参照なんだよ。
ヌルストリング( = "")ではないの。
だから言ってるでしょ?
VB.NETでは文字変数のNull参照は""と等価とみなすような仕様になってるだけだよ。
もちろん両者は本来、本質的に全然意味が違うんだけどね。
0115デフォルトの名無しさん
2006/04/06(木) 18:35:34VB.NETの話をしてたのか、VB6かと思ったよ。かみ合ってなくてごめんね。
0117デフォルトの名無しさん
2006/04/06(木) 19:26:24VB2005からはVB.NETの名称は使わなくなったので、
ただVBといった場合VB6以前とVB7以降の両方の可能性があるわけだ。
Microsoft(R) Visual Basic Compiler Version 8.0.50727.42
Microsoft(R) Visual Basic .NET Compiler version 7.10.6001.4
0118デフォルトの名無しさん
2006/04/06(木) 19:37:27おれもVB6のこと言ってんだと思ったよ。
だけどVB.NETてnull参照空文字とみなされたっけ?
0119デフォルトの名無しさん
2006/04/06(木) 19:39:44いや俺108だけど、別にMS様の方針に唯々諾々と従わなきゃいかん理由はないでしょ。
>>108で「VBだと」と書いたのはC#との比較を念頭においたものだったけど、
ちょっと誤解を誘う不適切な表現だったかもしれない。
0120デフォルトの名無しさん
2006/04/06(木) 19:40:320121デフォルトの名無しさん
2006/04/06(木) 21:10:20http://msdn2.microsoft.com/ja-jp/library/ms233957(VS.80).aspx
0122最凶VB厨房
2006/04/06(木) 22:06:120123デフォルトの名無しさん
2006/04/06(木) 23:52:42書籍・検索で半日ほど調べたのですが分からず、ここで質問させてもらいたいと思います。
指定したURLの画像を取得して、上下反転処理を加えた上で保存する
コマンドラインプログラムを作ろうと思っています。
GUIベースの似たようなサンプルを参考に書いてみたのですが、コンパイル時に
型'Image'が定義されていません
名前'Image'は宣言されていません
名前'RotateFlipType'は宣言されていません。
とエラーが出てしまいます。
コマンドラインプロジェクトでImageクラスを使うにはどうしたらよいのでしょうか。
よろしくお願いします。
環境:WinXP Pro/VS.NET 2003
ソース
Module Module1
Sub Main(ByVal CmdArgs() As String)
Dim url As String = "http://www.hoge.com/hoge.jpg"
Dim wc As New System.Net.WebClient
Dim st As System.IO.Stream = wc.OpenRead(url)
Dim img As Image
img = Image.FromStream(st)
st.Close()
img.RotateFlip(RotateFlipType.RotateNoneFlipY)
img.Image.Save("C:\image.jpg")
End Sub
End Module
0124デフォルトの名無しさん
2006/04/06(木) 23:58:49必要な DLL はドキュメントに書いてる
0126デフォルトの名無しさん
2006/04/07(金) 03:23:50ってありますか?
for i=0 to 100
繰り返し処理1
continue
繰り返し処理2
next
繰り返し処理2をしないようにしたい
すみませんがよろしくお願いします
0127デフォルトの名無しさん
2006/04/07(金) 03:27:24それまでは GoTo で対処する。
0128デフォルトの名無しさん
2006/04/07(金) 03:50:27ありがとうございました。
朝までに完成させたいコードがあったので、、、
たすかります。
0129デフォルトの名無しさん
2006/04/07(金) 19:09:03コンボ内でEnterキーを押したときの処理を書いてるんですが、
Enterキーを押すたびにビープ音が鳴ります
これを鳴らないようにする方法ってないでしょうか?
それらしいプロパティは見当たらないんです
0130デフォルトの名無しさん
2006/04/07(金) 20:05:56KeyPressイベントハンドラで e.Handled = True にする
0131デフォルトの名無しさん
2006/04/07(金) 20:26:00うわああ
うまくいきました。ありがとうございます。
ずっとKeyDownばかり見てました。
こんなの思いつきません(><)
0132デフォルトの名無しさん
2006/04/08(土) 17:50:59とりあえずハングルに対応させようと思ってIMEモードをいじってみたんですけど言語は切り替わらないんです。
誰かIMEの言語の切り替え方をご存知の方がいたら教えてください。
0133デフォルトの名無しさん
2006/04/08(土) 18:02:060134デフォルトの名無しさん
2006/04/09(日) 03:51:35良い書籍、サイトなどございましたらお知らせください。
0135デフォルトの名無しさん
2006/04/09(日) 03:52:280136デフォルトの名無しさん
2006/04/09(日) 04:41:440137デフォルトの名無しさん
2006/04/09(日) 04:49:550138デフォルトの名無しさん
2006/04/09(日) 04:55:420139デフォルトの名無しさん
2006/04/09(日) 08:30:50Microsoft Visual Basic 2005 Express Edition
って.netなの?
0140デフォルトの名無しさん
2006/04/09(日) 08:33:310141デフォルトの名無しさん
2006/04/09(日) 09:12:38> 素朴な疑問なんですけど
> Microsoft Visual Basic 2005 Express Edition
> って.netなの?
Microsoft Visual Basic 2005 Express Edition は .NET ですよ。
0142デフォルトの名無しさん
2006/04/09(日) 09:42:31だから、この言語で作成したアプリケーションは、.NET Frameworkがインストールしていない
PCでは、可動しません。
しかも、Microsoft Visual Basic 2005 Express Edition ユーザには、ランタイムの再領布する権利が有りません。
完全に起動出来るアプリケーションにするためには、下記参照のこと
http://www.microsoft.com/japan/msdn/howtobuy/vs2005/editions/pro/#pro_feature ←機能と価格表
http://www.microsoft.com/japan/msdn/vstudio/productinfo/productline/default.aspx ←製品機能概要
.NET Framework の再頒布
.NET Framework 用に作成されたアプリケーションおよびコントロールでは、
アプリケーションやコントロールを実行するコンピュータ上に .NET Framework を
インストールする必要があります。Microsoft では、.NET Framework アプリケーションの実行に必要な
共通言語ランタイムと .NET Framework コンポーネントを含む再領布可能なインストーラである Dotnetfx.exe を提供しています。
ソース: .NET Framework
0143デフォルトの名無しさん
2006/04/09(日) 11:02:35つーか、日本語読めないのかな
0144デフォルトの名無しさん
2006/04/09(日) 20:15:40あるチェックボックスをクリックしたら、
関連するデータをListViewに一覧表示するという処理をやりたいんですが、
そのデータが1000個を超えるため、表示するのに30秒ほど時間が掛かります。
データを表示している間もメニューなどをクリックできるようにしたいので、
チェックボックスがクリックされたら、
別スレッドを作ってその中で表示(Invokeを使って、ListViewにAdd)
させるようにしても、状況が変わりませんでした。
何か、根本的に考え方が間違ってるのでしょうか?
他に対処する方法ありますか?
0145デフォルトの名無しさん
2006/04/09(日) 20:22:130146デフォルトの名無しさん
2006/04/09(日) 20:36:36レスありがとうございます。
BeginUpdateとEndUpdateも入れてみましたが、同じでした。
というより、別スレッドでListViewを表示させているのに、
ListViewの表示どころか、メニューもクリックできない状態が
同じなんです。
0147デフォルトの名無しさん
2006/04/09(日) 20:43:15あとは別スレッドってどう実装させてるかが分からんことには。
2005 なら BackgroundWorker マジお勧め。
0148デフォルトの名無しさん
2006/04/09(日) 21:34:15全体でやっても1回Addしたときにやっても同じでした。
ソース付けます。
lvFileというのがListViewです。
' デリゲートの宣言
Private Delegate Sub delAddFile(ByRef pFile As CDataFile)
Private Delegate Sub delEndUpdate()
' チェックボックスのクリックイベント
Sub clbFilter_ItemCheck(長いのでパラメータは省略)
lvFile.Items.Clear()
lvFile.BeginUpdate()
Dim thList As Thread = New Thread(AddressOf ListAllFiles)
thList.Start()
End SUb
0149デフォルトの名無しさん
2006/04/09(日) 21:35:27' ListViewを表示させる別スレッド
Sub ListAllFiles()
Dim pData As CDataFile
' コレクションのデータを全部表示
For Each pFile As DictionaryEntry In mpLDB
pData = DirectCast(pFile.Value, CDataFile)
' ここでInvoke(アイテム追加)
lvFile.Invoke(New delAddFile(AddressOf AddFileToView), pData)
Next
If lvFile.InvokeRequired = True Then
lvFile.Invoke(New delEndUpdate(AddressOf DoEndUpdate))
End If
End Sub
' ListViewに1アイテムを追加する処理
Private Sub AddFileToView(ByRef pFile As CDataFile)
Dim pItem As ListViewItem
With lvFile
pItem = lvFile.Items.Add(pFile.Info.Name) pItem.Name = pFile.Key
' その他SubItemsへの追加処理
End With
End Sub
0150デフォルトの名無しさん
2006/04/09(日) 21:44:18まずどこで時間が掛かってるのか確かめる必要があるな。
各処理ごとに回数ループして時間を出力し、どの処理で時間が掛かっているか確認してみたら?
0151デフォルトの名無しさん
2006/04/09(日) 21:58:56SubItemsに6つ追加してるので、それが掛かってるのかもしれません。。。
0152デフォルトの名無しさん
2006/04/09(日) 22:14:08グリッドにしか使用できないのでしょうか?
0153デフォルトの名無しさん
2006/04/09(日) 22:20:240154152
2006/04/09(日) 22:37:06の内容が変更されたかどうかをチェックしたいんです。
明細部はDataRowState.Modifiedで確認できますが、
テキストボックスのヘッダー部は有効じゃないみたいなんで。
0155デフォルトの名無しさん
2006/04/10(月) 01:13:11追加中でも操作できるようにするってのが無茶だなあ…
別スレッドでInvokeしながら追加ってのが無茶。
ただ、別スレッドにしなくてもそんなに遅いんなら難しいかな…
追加処理そのものが重過ぎるんでね?
ちなみに、別スレッドにしないでBeginUpdateとEndUpdate使ったらどうなる?
0156デフォルトの名無しさん
2006/04/10(月) 20:02:15>追加中でも操作できるようにするってのが無茶だなあ…
これって無茶なんでしょうか?
よく考えるとInvoke使ってるので、(使うしかないので)
どのみちListViewへの追加はメインフォームのスレッドで行われるんですよね?
だったら、別スレッドにしようが何しようが、やはり意味ないのでしょうか?
イメージとしては、ListViewが、ちらついてもかまわないので、
メニューや他のコントロールの操作は普通にやりながら、
ListViewに、次々とアイテムが追加されていく(ListView自身の操作も可能)
ような感じなんですが。。。
>ちなみに、別スレッドにしないでBeginUpdateとEndUpdate使ったらどうなる?
同じです。症状としては、まったく変わりません。
0157デフォルトの名無しさん
2006/04/10(月) 20:41:48あんまり頭良くない(それは自覚してるでしょ?)んだから、
デリゲートだのなんだの欲張って一度にやろうとせずに
まずオーソドックスな方法で一度やってみたら?
それでどうにもパフォーマンスが悪いようなら、そこで初めてパフォーマンスの
改善を考えればいい。
今回のケースならオーソドックスにやれば何も問題ないはずだと思うけど。
それと、クラスのメソッドやプロパティの使い方は面倒臭がらずに
ちゃんと読んだほうがいいよ。
読んでないでしょ?BeginUpdate、EndUpdateの使い方も。
ListViewItemのコンストラクタにどんなのがあるかも。
0158デフォルトの名無しさん
2006/04/10(月) 21:49:24それは既にマシになりましたし、今も色々試してます。
それでも数秒で終わらせられそうにないので、
別スレッドで出来ないかと考えたわけですが、
知りたかったのは、別スレッドでの表示の方法が理論的に正しいのか、
間違ってるのかってことで、僕の頭が良いか悪いかではありません。
ちなみに、パフォーマンスを上げるように改善したら、
メニューは少し反応するようになりましたが、それでも
数秒に一回程度で、スムーズに動いてくれません。。。
0159デフォルトの名無しさん
2006/04/10(月) 22:00:13だから何がボトルネックになってるのかまず確認しろって話。
0160デフォルトの名無しさん
2006/04/10(月) 22:08:41ずばり間違ってる。
コントロールのメソッド(一部例外を除く)はUIスレッド以外から触れない。
だからそもそもワーカースレッドでアイテム追加するなんてできない。
MSDNに書いてあるでしょ。
どうしてもレスポンス(スループットじゃないよ)を改善したいのなら、
タイマ等を使って処理を分割するしかないね。
まあ、そもそも1000程度のアイテムの追加にそんなに時間がかかるのは
他にどっかおかしいんだと思うけど。
0161デフォルトの名無しさん
2006/04/10(月) 22:15:12>メニューは少し反応するようになりましたが、それでも
>数秒に一回程度で、スムーズに動いてくれません。。。
なんて書いてある。
ひょっとして158は組み込みとかメインでやってる人で、
コントロールの表示を定期的に更新するようなコード書いてるんじゃないのかな?
まあまさかとは思うけど
0162デフォルトの名無しさん
2006/04/10(月) 22:22:10ていうか、ひょっとしてInvokeの意味が分かってないのか?
0163デフォルトの名無しさん
2006/04/10(月) 22:29:05分かってないのは君の方だと思うよ悪いけど。
0164162
2006/04/10(月) 23:16:43>>160で書いてるのってどういう意味?
別スレッドにしても追加の時点でUIスレッドに同期するんだから
少なくとも1項目単位でそういうことするのは発想が間違ってる
って意味なら同意だ。
ってか>>155で書いたのはそういうニュアンスを含んでるんだが、
>>160はぱっと呼んでそういうような意味には読めなかった。
単にUIスレッドからしかアクセスしちゃだめってことを
分かってないって書いてるだけに見えたんだ。
だから読み違えなら悪かったよ。
0165160
2006/04/10(月) 23:23:48ListViewにアイテム追加している間はUIスレッドで他の仕事はできないってことだね。
つまり158の最終的な目的はUIのレスポンスを改善したいと思っているわけだから、
「別スレッドでリストービューのアイテムを追加する」ってのは目的に合致してないわけだ。
0166158
2006/04/10(月) 23:34:47>どうしてもレスポンス(スループットじゃないよ)を改善したいのなら、
>タイマ等を使って処理を分割するしかないね。
これは何か、VB6っぽくて嫌なんですよね。。。
何ワガママ言ってんだって思われそうですがw
>まあ、そもそも1000程度のアイテムの追加にそんなに時間がかかるのは
>他にどっかおかしいんだと思うけど。
他の人にも前から指摘されてるので、色々いじってる最中です。
>>161
定期的に更新って訳ではないです。
>>165
>要するに話の肝は、たとえどんな方法をとろうと、
>ListViewにアイテム追加している間はUIスレッドで他の仕事はできないってことだね。
やっぱりそういうことなんですよね。。。
そこでどうしても疑問なのが、僕の場合はListViewにアイテムを追加する方法を
改善すれば、何とかなるとは思うんですが、
じゃあ、コントロールに対してすごく時間のかかる処理をするような
プログラムがあった場合、みんな、どうやって対処してるんでしょう?
そもそも、そんなプログラムは組まないのか、
それともあきらめて砂時計でも出すのか、
それともやっぱりVB6っぽくタイマーを使うのか。。。w
0167デフォルトの名無しさん
2006/04/10(月) 23:40:14それはコントロールに対してじゃなくて、なにか他の計算なりをしてるんだろう?
コントロールは入出力する部品に過ぎないんだから。
0168デフォルトの名無しさん
2006/04/10(月) 23:40:53>これは何か、VB6っぽくて嫌なんですよね。。。
これが分からない。
0169166
2006/04/11(火) 00:02:30コントロールに対して大量のデータ書き込みや
表示をするような処理という意味です。
そういうこと自体少ないかもしれませんが。。。
>>168
VB6の頃はポーリングやコントロールに定期的な書き込みを
タイマーでやってて、それがあまり気に入らなかったのを思い出したもんで。。。
0170160
2006/04/11(火) 00:02:41Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Const NumRow As Integer = 1000
Dim lvItems As ListViewItem() = New ListViewItem(NumRow - 1) {}
For row As Integer = 1 To NumRow
Dim cells As String() = New String(8) {}
For col As Integer = 1 To 9
cells(col - 1) = (row * col).ToString
Next
lvItems(row - 1) = New ListViewItem(cells)
Next
ListView1.Items.AddRange(lvItems)
End Sub
Pen4 2.8G、mem = 1G、VB2005 Expressの環境で
8列×1000行の追加にかかる時間がだいたい1.5秒ぐらいかな。
0171デフォルトの名無しさん
2006/04/11(火) 00:32:232度スレ違いで書いてしまった質問をここで書き直しますすみません。
ほんっとーに申し訳ない!
Function DecStr(ByVal str As String) As String '10進数のSUMの下位2桁
Dim DecStr1 As String
Dim DecStr2 As String
For i = 1 To 8
DecStr = DecStr + (Asc(Mid(str, i)))
Next
DecStr = Hex(DecStr)
DecStr1 = Mid(DecStr, 2, 2)
DecStr1 = Hex(DecStr1)
DecStr2 = Mid(DecStr, 3, 3)
DecStr2 = Hex(DecStr2)
この様にFunctionの中で2つの変数を設定することはできますか?
またできるとしたら外部から呼び出すときはどうすればいいんでしょうか。。。
ネットで調べてもVB.netについての情報は少なくて
MSDN見ても詳しくは書いてありません。。。
教えていただけませんでしょうか。
0172デフォルトの名無しさん
2006/04/11(火) 00:35:19しかしなんというか…
0173デフォルトの名無しさん
2006/04/11(火) 00:40:04そもそも何故文字列ベースなのか
0174デフォルトの名無しさん
2006/04/11(火) 00:42:13いっぱいあるやん。
0175171
2006/04/11(火) 00:59:37てゆーかプログラム自体ほとんどはじめてなんで(´;ω;`)
こんななんですけど・・・↓
16進数に変換する以前に任意の文字列
たとえば GETCOMとすると ASCII→((71 69 84 67 79 77)(10))
参照:ttp://e-words.jp/p/r-ascii.html
となりまして、それをすべて足すと447(10)になるんですが
この数字の下位2ビット 4 と 7 を抽出してさらに16進数に変換して
4 → 34(16) 7 → 37(16)
接尾辞以前に加えて出力
例えば→((71 69 84 67 79 77)(10))→((47 45 54 43 4F 4D)(16))
となりますので、接頭、接尾辞を加えまして
# 47 45 54 43 4F 4D H
これの接尾辞H 以前に 4 → 34(16) 7 → 37(16)を加えて
# 47 45 54 43 4F 4D 34 37 H
これの接尾辞H 以前に 4 → 34(16) 7 → 37(16)を加えて
の下りをひとつのファンクションじゃできないと思ったんで
ひとつのファンクションで二つの変数を得ようと思ったんですが。。。
ほかに何かいい方法ありますでしょうか
0176デフォルトの名無しさん
2006/04/11(火) 01:11:590177デフォルトの名無しさん
2006/04/11(火) 01:16:15それ以前に、まあ一生懸命説明してるのは分かるけど
イマイチ処理の内容がつかみきれない。
特にここは何言っているかさっぱりわからん
>447(10)になるんですが
>この数字の下位2ビット 4 と 7 を抽出してさらに16進数に変換して
0178171
2006/04/11(火) 01:33:02すみません;
447(10) は 71 69 84 67 79 77 をすべて足した値のつもりで・・・
447の4(47)の部分を16進数に変換したいって意味のつもりだったんです。
0179171
2006/04/11(火) 01:33:45ありがとうございました。
0180デフォルトの名無しさん
2006/04/11(火) 06:43:40管理ツールのサービス>対象のサービス>プロパティで指定できる
「開始パラメータ」はプロパティ画面での開始時のみっぽく、
自動起動などのWindows開始時には渡せませんでした。
直接レジストリを弄って「ImagePath」に「ファイルパス 引数」とすることはできるのですが、
これを他の方法でやることはできないのでしょうか。
InstallUtil.exeやsc.exe等を試して見たのですが。
0181デフォルトの名無しさん
2006/04/11(火) 07:43:18// 構成ファイル使えるよね、サービスでも
0182180
2006/04/11(火) 10:19:19今はモジュール名を変えて複数サービス登録して、
モジュール名で構成ファイル持ってきて中身替えてます。
自分でも頭痛いのですがもっとスマートなやり方ないですかね。。
0183デフォルトの名無しさん
2006/04/11(火) 10:50:16ない
つうかその方法で良いだろ
0184デフォルトの名無しさん
2006/04/11(火) 12:09:240185デフォルトの名無しさん
2006/04/11(火) 17:44:49プロパティのネーミングで困っています。
例えば
Private PropName As String
というようなメンバ変数があったとします。
そのとき、そのメンバ変数に対応するプロパティはどんな名前で定義するのが一般的なのでしょうか?
Property PropName()
Get
Return PropName
End Get
Set(ByVal Value)
Me.PropName = Value
End Set
End Property
とやってしまうと、変数とプロパティの名前がかぶって怒られます。
VBのコミュニティーの中で一般的なネーミング規約などありましたら、教えていただけないでしょうか?
0186デフォルトの名無しさん
2006/04/11(火) 17:53:100187デフォルトの名無しさん
2006/04/11(火) 19:05:21まあ何が一般的かって言われればそれが一番一般的かな。
でも俺的には却下だけど。
0188デフォルトの名無しさん
2006/04/11(火) 19:51:510189デフォルトの名無しさん
2006/04/11(火) 19:52:480190185
2006/04/12(水) 09:15:11特にこれといった暗黙的なルールというようなものはないのですね。
186さんと188さんの言うように、「フィールドの方の名称の先頭に
なにか記号をつける」という方針で考えようと思います。
できれば187さんのやり方も教えていただきたいです。。。
0191デフォルトの名無しさん
2006/04/12(水) 21:26:43trim(char配列)を使うと非破壊的に削除できましたが、
dim s1, s2 as String
s1="AAAB"
s2=s1.trim("B")
→これでs1="AAAB"、s2が"AAA"
破壊的に出来るメソッドってありませんか?
上で言うと、s1.XXX("B")とすれば、s1="AAA"となるような。。。
もしくは無条件に文字列の最後尾の1文字を削除するメソッドでも
よいのですが。
どうかよろしくお願いします。
0192デフォルトの名無しさん
2006/04/12(水) 21:32:230193デフォルトの名無しさん
2006/04/12(水) 21:33:100194デフォルトの名無しさん
2006/04/12(水) 22:09:15なるほど。
193>
あ、そうか。
変更はだめとしても代入ならできる、ということですね。
実際できることを確認しました。
ありがとうございました。
0195デフォルトの名無しさん
2006/04/12(水) 22:51:23以下の方法では駄目でした。
お知恵拝借お願いします。
Dim ms As New MemoryStream
hoge.Image.Save(ms, Imaging.ImageFormat.Png)
Dim buf(ms.Length - 1) As Byte
ms.Write(buf, 0, b.Length)
ms.Close()
0196デフォルトの名無しさん
2006/04/12(水) 22:57:27そのコードで何がどう駄目だったのさ。
0197デフォルトの名無しさん
2006/04/12(水) 23:02:16\\アドレス\パス
このアドレスのマシンにはユーザIDを作成することができません。
少し調べて見たところWNetAddConnection2などでネットワークドライブ割り当てをしアクセスすることも
できるみたいなのですが、.NETでこれに相当するクラスなどはないのでしょうか?
また、ドライブ割り当てを行わず直接参照することは可能ですか?もし、よろしければ、ヒントだけでも
教えていただけませんでしょうか。仕様環境はVB.NET2005です。よろしくお願いします。
0198デフォルトの名無しさん
2006/04/12(水) 23:35:46簡単に言えば、これの逆をやりたいんですわ。
Dim f As New FileStream("c:\hoge.png", FileMode.Open, FileAccess.Read)
Dim bs(f.Length - 1) As Byte
f.Read(bs, 0, bs.Length)
f.Close()
Dim ms As New MemoryStream(bs)
hoge.Image = Image.FromStream(ms)
0199デフォルトの名無しさん
2006/04/12(水) 23:48:450200デフォルトの名無しさん
2006/04/13(木) 01:09:31簡単に言えば、画像の保存がしたいということ?
hoge.Image.Save("C:\hoge.png", Imaging.ImageFormat.Png)
0201デフォルトの名無しさん
2006/04/13(木) 02:00:31Dim output As String = Regex.Replace(htmlText, "\<[^\>]+\>", "\n")
Return output
End Function
これはヘルプの例を一部変えたものです。
htmlタグを改行コードに置換しようとしたのですが、そのまま\nと置換されてしまいました。
"\n"がどうして改行にならないか教えてください。
0202デフォルトの名無しさん
2006/04/13(木) 02:03:57改行は Environment.NewLine とか vbNewLine とか使いな、
0203201
2006/04/13(木) 03:02:59ご回答ありがとうございました。
visual studioのヘルプには\nは改行だと書いてあったのですが、visual basicでは使えないんですね。
0204デフォルトの名無しさん
2006/04/13(木) 03:18:130205デフォルトの名無しさん
2006/04/13(木) 08:36:24pngだと、byteのデータがすべて0になってしまうっす。
bmpだとデータがあるんすけど。
>>200
元々は「.resx」のMSDN部分を読んでて、XMLに画像を保存するためにはどうすりゃいいんだろというのがきっかけで、いろいろ試してたんで
そのまま保存が目的でないっす。
0206デフォルトの名無しさん
2006/04/13(木) 11:19:53> hoge.Image.Save(ms, Imaging.ImageFormat.Png)
> Dim buf(ms.Length - 1) As Byte
> ms.Write(buf, 0, b.Length)
> ms.Close()
これさ、Save した後さらに同じ長さだけ初期化したばかりのバイト配列を「ストリームに書き込んでる」んだけど。
バイト配列にしたいなら ms.ToArray() でいいよ。
0207デフォルトの名無しさん
2006/04/13(木) 11:32:39おすすめの参考書って、ありますか?
株式売買用のアプリを作ろうと思ってます
現在、データの呼び出し、抽出のところで、苦戦中
ちなみに、「VB2005 ビギナー編 BY 林晴比古」
をもってます
0208デフォルトの名無しさん
2006/04/13(木) 11:35:45初期バージョンのだけどマジお勧め
0209デフォルトの名無しさん
2006/04/13(木) 18:02:572003のころは、「メニュー」→「ビルド」で、指定できたはずだけど、2005ではできない。
だから、debugオブジェクトを配置しても、「出力」ウィンドウに結果が表示されないんですよね。
何故なのでしょうか?
調べてみたのですが、見つかりませんでした。
ご存知の方、よろしくご教授願います。
0210デフォルトの名無しさん
2006/04/13(木) 18:16:470211デフォルトの名無しさん
2006/04/13(木) 18:30:50VBのデフォルト設定ではDebugはイミディエイトウィンドウに出力される。
出力ウィンドウにしたいのならオプションですべての設定を表示して
デバッグ-出力ウィンドウの文字をすべてイミディエイトウィンドウに…をOFFに。
ビルドのDebug/Releaseはプロジェクトのプロパティで切り替えられるが、
オプションのプロジェクトおよびソリューション-ビルド構成の詳細を表示をONにした後
ユーザー設定でコマンドのビルドにあるソリューション構成をツールバーに置くと
簡単に切り替えできるようになる。
0212デフォルトの名無しさん
2006/04/13(木) 21:00:25いけました。
ども、ありがとうございました。
0213デフォルトの名無しさん
2006/04/14(金) 01:22:52どうしたらいいですか?
具体的な方法を教えてくださいませんか?
0214デフォルトの名無しさん
2006/04/14(金) 01:27:44ひょっとしたら PINVOKE.NET に既にあるかもしれんがね。
0215デフォルトの名無しさん
2006/04/14(金) 01:32:08たとえばC言語で定数が8だったらVB.NETでは&h0040みたいになるんですよね
これの具体的な導きだし方はどうしたらいいんでしょうか?
0216デフォルトの名無しさん
2006/04/14(金) 01:35:160217デフォルトの名無しさん
2006/04/14(金) 01:36:10普通に10進ならそのまま10進で定義すりゃいいやん。
0218デフォルトの名無しさん
2006/04/14(金) 01:38:18ていうかまず 16 進数の基本的な考え方から勉強した方が良くないか?
そんなこと言ってるレベルで P/Invoke は早すぎると思うぞ。
0219デフォルトの名無しさん
2006/04/14(金) 01:45:29その16進数の変換の仕方がいまいちわからないです。
どこかいいサイトあります?
0220デフォルトの名無しさん
2006/04/14(金) 01:49:14サイトだって16進数とかで検索したらいくらでも出てくるだろ、多分。
ついでに>>218も書いてるけどそれでPInvokeは無茶だぞ。
0221デフォルトの名無しさん
2006/04/14(金) 02:08:11よろしくお願いします。
0222デフォルトの名無しさん
2006/04/14(金) 02:19:400223221
2006/04/14(金) 02:22:43abcfagr ewarghww trhgwrfge wrgwaehtrw thwthgwth jthdefg
hijkrgg reqgq wargqw rgqwag rghqrhlmn
上のようなtextで、1行目を正規表現を使って削除するにはどのようにしたらいいのでしょうか?
それとも他の削除方法はありますか?
ご回答お願いいたします。
0224デフォルトの名無しさん
2006/04/14(金) 02:35:21StringReader と StringWriter 使った方が手っ取り早そうだ。
0225デフォルトの名無しさん
2006/04/14(金) 03:29:010226デフォルトの名無しさん
2006/04/14(金) 08:27:21すぐ正規表現使いたがる人多いけど
そういうことならデリミタでSplitしといてそいつを利用した方が
あらゆる意味で「使える」と思う。
0227デフォルトの名無しさん
2006/04/14(金) 09:24:25>>211
イミディエイトウィンドウに出てきました。
オプションで「ビルド構成の詳細表示」をチェックすると、VS2003のようになりました。
ありがとうございました。
0228デフォルトの名無しさん
2006/04/14(金) 09:45:31一行目を消すってーと
abcfagr ewarghww trhgwrfge wrgwaehtrw thwthgwth jthdefg
hijkrgg reqgq wargqw rgqwag rghqrhlmn
↓↓↓↓
hijkrgg reqgq wargqw rgqwag rghqrhlmn
こゆふうにしたいと?
0229デフォルトの名無しさん
2006/04/14(金) 17:03:07Visual Studio 2005でデータベースプログラミングをしています。
DataGridViewを使っているのですが、検索機能を付けたいと考えています。
どのコントロールにどんな操作をさせたらいいのでしょうか?
いくら調べても、よく分かりません。
どなたかご教授願います。
よろしくお願いします。
0230デフォルトの名無しさん
2006/04/14(金) 18:06:30その検索機能はどんな操作を行った時に実行したいのか?
0231221
2006/04/14(金) 20:17:46ご回答ありがとうございます。いずれの方法も調べてみます。
>>228
そうです。改行コードも含めて削除したいんです。
何か他に手法があったら教えてください。
0232デフォルトの名無しさん
2006/04/14(金) 20:53:19検索条件をテキストボックスに入れて、
ボタンを押したらDataGridViewの表示が変わるというようなやつです。
0233デフォルトの名無しさん
2006/04/14(金) 20:56:00こっち的には表示が変わるというようなやつってのが分からんがね
0234デフォルトの名無しさん
2006/04/14(金) 21:10:53何となく分かった
ボタンの押下イベント内にDataGridViewのデータソースの元となるSQLを変更するロジックを作りなさい
0235デフォルトの名無しさん
2006/04/14(金) 21:18:07試してみます。
ありがとうござます。
0236デフォルトの名無しさん
2006/04/15(土) 02:07:56エディタの文字コードはShift-JIS固定なんでしょうか?
EUCが使えるとうれしいのですが...
0237デフォルトの名無しさん
2006/04/15(土) 02:13:13ていうかここは VS スレではない。
0238デフォルトの名無しさん
2006/04/15(土) 02:39:43スマソ.
EUCは無理ですか.
UNIX環境だとEUCだったりするんですよねぇ...
VSのエディタ使えたらいいかなぁーとか思ってたんですけど...残念.
0239デフォルトの名無しさん
2006/04/15(土) 13:40:130240デフォルトの名無しさん
2006/04/15(土) 13:47:30IDE の問題なら Vistual Studio スレの方が良いかもね。
0241デフォルトの名無しさん
2006/04/15(土) 14:21:10みたいなVBとかでよく使うプレフィックスの一覧表
とかって公開されていますかね?
0242デフォルトの名無しさん
2006/04/15(土) 14:28:47VB6のなら見つかったよ
http://www.microsoft.com/japan/developer/library/VBCon98/vbconobjectnamingconventions.htm
0243デフォルトの名無しさん
2006/04/15(土) 14:43:48ありがとう。
古いやつでも十分です。
0244239
2006/04/15(土) 18:01:27超初心者でその辺のところ区別がつかないけど、VB2005 Express Edision の第9章に
Webサービスの気象データを取得して、誰でも解る表示に加工しするサンプルソフト
作成が有るけど、Webからユーザネームとパスワード取得し入れても、旨く動作しないので
どなたか成功した人が居りましたら、やり方教えてください。
ちなみに、自己作成ソフトはもちろん、サンプル取得したソフトに取得ユーザネームとパスワードを入れても旨く行かない。
ユーザネームとパスワードの指定のやり方が間違えていると思い色々試すがダメでした。
たぶん、簡単なミスなのでしょうが、原因究明出来ないのです。
参照ページは、182ページです。
0245239
2006/04/15(土) 18:15:491行目そのまま
2行目
Username String ユーザー [email protected]
Password String ユーザー KXW8o2oVq234
CurrentZipCode String ユーザー 98052
でやってみましたがダメでした。
成功した人よろしくです。
0246デフォルトの名無しさん
2006/04/15(土) 23:53:19vbって大文字小文字の区別ないんだよね?
アクセサの時、不便感じない?
0247デフォルトの名無しさん
2006/04/16(日) 00:57:58俺はむしろ利点だと思うけど。
それより配列の括弧の問題の方が大きいと思う。
0248デフォルトの名無しさん
2006/04/17(月) 01:24:54Visual Studio 2005 Standardエディションで、Windowsサービスを作成しました。
セットアップウィザードでセットアップぷロジェクトも作成したのですが、出来上がったインストーラを使ってインストールしても、「サービス」の一覧に作成したサービスが表示されません。
ServiceName属性もちゃんと設定したのに、何故なのでしょうか?
いくら調べても、他の原因が見当たりません。
どなたか、ご存知の方、ご教授願います。
よろしくお願いします。
0249デフォルトの名無しさん
2006/04/17(月) 01:29:300250デフォルトの名無しさん
2006/04/17(月) 09:24:370251239
2006/04/17(月) 10:04:29言いたいことは、新バージョン持ってないから対応出来ない。
降参と言う事ですよね。
実は初心者ほど最先端のVB機能活用にチャレンジしてるから、ベテランは、基本言語仕様にしか対応出来ないのよ。
初心者の皆さんご免ね。
0252デフォルトの名無しさん
2006/04/17(月) 10:44:09セットアップとか作る前にちゃんと動く事を確認した?
とりあえず、ビルドしてそれをInstallUtilでインストールできるかどうかを確認しろ
0253デフォルトの名無しさん
2006/04/17(月) 10:46:30初心者って言う奴は間違いなく言語の初心者じゃなく、日本語とか対人コミュニケーションの初心者。w
0254デフォルトの名無しさん
2006/04/17(月) 12:19:57だいたい質問なんてほとんど初心者がやるもんだろw
0255239
2006/04/17(月) 12:22:16成る程そう言う意味?
僕は2月に初めてVisual Basic 2005 Express Edition 買って「以前のバージョンはやってない」
第1章から第8章まで一通りのソフト作りをクリアしてきましたが、言語仕様とかは、かじっただけでうっすら
としか解らないけど、相対的に、VBって凄くソフト作り効率が良い言語開発環境だと理解しました。
第8章の車両データの検索加工ソフト作りまでをクリアし、最終章の第9章のWebからデータ取得して加工する気象トラッカ
ソフト作りで躓いた感じです。第9章マスターすれば付属マニアルは一応卒業ですので、何とかクリアしたいです。
簡単なソフト作りを積み重ねて将来的には、自分の頭に描いた通りのソフトが自由に作れるようになりたいです。
その為には、開発環境のマスターと言語仕様のマスターを合わせて修得する必要を感じてます。
0256デフォルトの名無しさん
2006/04/17(月) 12:43:35ほっとけば良いんだよ。
少しは冷静に知恵を使え。大人になれ
0257デフォルトの名無しさん
2006/04/17(月) 12:58:26技術的初心者と、そもそも説明能力の初心者は違うだろ?
どういうエラーが発生してとか、何処まで調べてとか、そういう基本が出来ない質問の書き出しはかなりの確率で、初心者なんですが。w
0258デフォルトの名無しさん
2006/04/18(火) 07:43:22> >>254
> 技術的初心者と、そもそも説明能力の初心者は違うだろ?
> どういうエラーが発生してとか、何処まで調べてとか、そういう基本が出来ない質問の書き出しはかなりの確率で、初心者なんですが。w
言えてる。
>>255 彼なんか初心者だ、しかしやってることは凄いことだ。
言語仕様の勉強では3ヶ月ではデータ加工ソフトなど絶対に出来ない。
統合開発環境が有るから出来るのだ。
VBの良いところは、統合開発環境であり、度素人がとんでも無いソフトを開発できると言う証明だ。
0259デフォルトの名無しさん
2006/04/18(火) 10:35:03と言うかね、世の中の人すべてが自分と同じ程度の頭の中身と思わないほうが良いよ
コンピュータの基礎が数学的な概念でほぼ占められてるから頭の良い人は一瞬で理解するよ
0260デフォルトの名無しさん
2006/04/18(火) 13:15:17キーストロークでPrintScreen→ClipBoardから取得ってやるしかないんでしょうか?
CreateGraphics → GetHdc → GetPixel(WinAPI)だと、どうあがいても失敗してしまいます。
0261デフォルトの名無しさん
2006/04/18(火) 18:26:38GetDC(IntPtr.Zero) とか使ってデスクトップのデバイスコンテキストからやれば行けると思う。
0262デフォルトの名無しさん
2006/04/19(水) 17:02:48参考書にある、サンプルをデバッグすると
Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' から型 'System.Windows.Forms.WindowsFormsApplicationBase' を読み込めませんでした。
という、エラーがでてデバッグ中止されてしまうんですが、この対処法ご存知ないですか?
0263デフォルトの名無しさん
2006/04/19(水) 17:07:400264デフォルトの名無しさん
2006/04/19(水) 18:48:05>>262
参考書って世の中にどんだけあるだろう。
なにをするサンプルなのかとかも書かないと誰もわからんよ。
0265デフォルトの名無しさん
2006/04/19(水) 21:23:35Visual Vasicパーフェクトマスター
にあるサンプルファイルで
http://shuwasystem.co.jp/books/vbperfectm/
からダウンロードしたものです
0266デフォルトの名無しさん
2006/04/20(木) 02:23:25どういうわけか知らんがプロジェクト設定が間違ったまま配布されてるみたいだね。
とりあえずプロジェクトファイルをVSで開いて、ソリューションエクスプローラの「マイプロジェクト」をダブルクリック。
出てきたプロジェクト設定のスタートアップフォームを *.Form1 から Form1 に選択し直せばコンパイル通るよ。
というか言わせてもらいたい。Hello,world!って表示するプログラムくらい、自分で書けっつの。
0267デフォルトの名無しさん
2006/04/20(木) 04:59:40> という、エラーがでてデバッグ中止されてしまうんですが、この対処法ご存知ないですか?
第7章 壊れたブロックの修復
と言う、デバックのテクニックを説明した章では無いですか?
それならば、サンプルは正常に稼働していて、停止したところの、バクを修正すれば良いと思うけどね。
何頁でのデバックでしょうか?
0268デフォルトの名無しさん
2006/04/20(木) 08:40:03割り付けたいのですが、どのようにやればいいのでしょうか
0269デフォルトの名無しさん
2006/04/20(木) 11:06:20地道に
DropDownList.Items.Add("aaa") 'テーブル1のデータ
DropDownList.Items.Add("bbb") 'テーブル2のデータ
って必要な分だけやる
0270デフォルトの名無しさん
2006/04/20(木) 11:18:12もう一つ、ベジエ曲線の内側を塗る事はできるでしょうか?
0271デフォルトの名無しさん
2006/04/20(木) 13:14:13見つかりません。どなたかいい方法をご存じないでしょうか?
教えて下さい。
よろしくおねがいします。
0272デフォルトの名無しさん
2006/04/20(木) 13:20:160273デフォルトの名無しさん
2006/04/20(木) 13:47:29その複数のテーブル間になんらかの関連(リレーションシップ)があるなら、
1つのDataSetにまとめて処理することも可能
0274デフォルトの名無しさん
2006/04/20(木) 20:37:49アドバイスありがとう
無事、ビルドし直したらエラーでなくなりました
PS.自分でHello,Word
という、プログラム書いて,違いを見つけ
たぶんMy application.designe.vb
のところ書き直して、力技で動かしました
0275デフォルトの名無しさん
2006/04/20(木) 20:49:29アドバイスサンクスです
全てのサンプルプログラムでエラーがでて、デバッグできませんでした
第7章は、ファイル操作と印刷になってますが、、、
第8章が、デバッグ関連になってます
”メンバ変数が定義されていません”
”フォームデザイナがビルドできません”
等の沢山のエラーです
まだ、全部は実行していませんが、
>>266さんの
やり方で、無事デバッグできました
0276デフォルトの名無しさん
2006/04/20(木) 22:41:261年から無期限へ変更
http://www.forest.impress.co.jp/article/2006/04/20/visualstudioex.html
0277デフォルトの名無しさん
2006/04/21(金) 00:56:19で音が出たので、次に、abccccc という部分をクリップボードに入れておき、
SoundFileName = """D:\(Clipboard.GetText).mp3"""
のようにしたいのですが、うまくいきません。
クリップボードの場合、どのようにしたらよいのかご教授ください
0278デフォルトの名無しさん
2006/04/21(金) 01:01:29"""D:\" & Clipbaord.GetText() & ".mp3"""
とかして分けろ。
て言うか何このマニアックなの。
0279デフォルトの名無しさん
2006/04/21(金) 01:03:070280デフォルトの名無しさん
2006/04/21(金) 01:04:16できたできた ありがとうございます!
昨日VB始めましたw
0281デフォルトの名無しさん
2006/04/21(金) 01:04:58リストボックスのコレクションを変更する方法(関数,2003)を教えて下さい。
0282デフォルトの名無しさん
2006/04/21(金) 01:22:21とりあえず、質問の方法がそれで良いのか考えろってのはおいといて
AddとRemoveを使えばできるだろ
0283デフォルトの名無しさん
2006/04/21(金) 01:23:34わかりました、ありがとうございました。
0284デフォルトの名無しさん
2006/04/23(日) 01:17:28INETコントロールを貼り付けようとしたところ、エラーメッセージ(このActiveXを使用するにはライセンスが必要です。)が
でたんですけど、これはExpress Editionだからでしょうか。
0285デフォルトの名無しさん
2006/04/23(日) 01:24:00つかそんなもん使わないで.NETで実現しろよ
0286デフォルトの名無しさん
2006/04/23(日) 01:36:36VB6以前は入ってない
.NETの体験版はあるのかな、みてくるか。期限あんのかな・・
0287デフォルトの名無しさん
2006/04/23(日) 08:44:01勉強のため、ExpressEditionを入れてますが、質問があります。
VB6などでは、関数にカーソル合わせて、Shift+F2でその関数に移動したり、
移動先で Ctrl+Shift+F2で移動元に戻ったり出来たと思うのですが、
VB.NET2005ではこの動作は無くなったのですか?
0288デフォルトの名無しさん
2006/04/23(日) 16:22:41リッチテキストボックス内の文章に、読み込んだ画像データを挿入したいのですが、その方法がよくわかりません。
どなたか、ご教授お願いします。
0289デフォルトの名無しさん
2006/04/23(日) 17:09:58別ドメインのサーバにあるファイルを操作したいのですが、
事前にアカウントの認証をする方法がわかりません。
エクスプローラーだと「(接続したいPC)に接続」というダイアログが出て
ユーザー認証を行えているので、なんとなく可能だと思っているのですが・・・
PSDKにある「LogonUser」だとローカルのユーザーしか駄目みたい。
「WNetAddConnection3」でネットワークドライブの割り当てをするのもちょっと避けたい。
理想はダイアログも出さないで、設定してある情報を使って認証をすませたいです。
エクスプローラーと同じダイアログの出し方など、ご存じの方いらっしゃいませんか?
よろしくお願いします。
0290デフォルトの名無しさん
2006/04/23(日) 17:13:32...おしいなw
0291デフォルトの名無しさん
2006/04/23(日) 22:25:41MDB内テーブルへのDataGridViewがあります。
こいつに、他DLL内から新規行を追加し、かつ、OnUserAddedRowイベントを
起こさせたいのです。
OnUserAddedRow関数はProtectedなため、大難儀しております。
DataGridViewを派生させCustomDataGridViewを作成し、そこで上記関数を呼ぼうかとも
考えたのですが、.NETで派生先クラスへインスタンスをつっこむやりかたもイマイチわからず。
よろしくお願いします。
0292デフォルトの名無しさん
2006/04/23(日) 22:40:29なんかイベントの意味を勘違いしてるな。
イベントってのは利用者が起こすもんじゃない。
RowsAdded でも使え。
0293デフォルトの名無しさん
2006/04/23(日) 23:25:00そのとおりで、OnUserAddedRowはUserAddedRowを発生させる関数でした。
問題なのは、MDBにBindingSourceとTableAdapterとDatSet経由でバインドしているDataGridViewの
Rows.Addは実行不可例外が送出され、コード側から行追加できないこと。
この場合の行追加はBindingSourceへAddNewしなくてはならない。
しかし、この方法ではUserAddedRowイベントが発生せず、開発者が記述するUserAddedRowにハンドルした
関数を呼び起こせないこと、です。
RowsAddedが何を意味しているのか不勉強でわかりませんが、
引き続き、ご教示ください。
0294デフォルトの名無しさん
2006/04/23(日) 23:38:10UserAddedRow はあくまでユーザが DataGridView に直接行を追加したときに発生するイベントであって、
コードから行追加したときにまで発生しちゃいけない。
で、データソースに行が追加されたときに発生するのが RowsAdded イベントだ。
0295デフォルトの名無しさん
2006/04/24(月) 00:01:27なるほど。
しかし、すでに多数の画面に記述されているUserAddedRowにハンドルされたコードを
呼び出すことが目的で、その記述自体が概念的に誤りだとしても、(政治的にも)改修できないのです。
.NETの考え方的にあやまりだとしても、なんとかこの関数を叩く方法はないでしょうか。
0296デフォルトの名無しさん
2006/04/24(月) 00:11:05Public Class CustomDataGridView
Inherits DataGridView
Private Sub DoSomething
……
Mybase.OnUserAddedRow()
……
End Sub
End Class
じゃいかんの?
0297デフォルトの名無しさん
2006/04/24(月) 00:33:47その方法が>291後半の方法なのですが、
CustomDataGridViewクラスへのダウンキャストが成功せず‥。
Private Class CustomDataGridView
Inherits DataGridView
Public Sub CallOnUserAddedRow(ByVal e As DataGridViewRowEventArgs)
MyBase.OnUserAddedRow(e)
End Sub
End Class
public Sub Hoge(ByRef p as DataGridView)
Dim X As CustomDataGridView = CType(p, CustomDataGridView)
'↑ここでキャスト例外が発生
‥
‥
End Sub
0298デフォルトの名無しさん
2006/04/24(月) 00:39:35しかしまあアレだな
こんなん納品されるところが可哀想だ
0299デフォルトの名無しさん
2006/04/24(月) 00:41:25意味わからんなあ。いったい何がしたいのか。
ダウンキャストが成功しないのはpが参照してるオブジェクトが
キャストしようとしている型じゃないからでしょ?
0300デフォルトの名無しさん
2006/04/24(月) 00:49:45多分、既存インスタンスは変更できないんだろう政治的に
派生先クラスへインスタンスを突っ込むとか言うぐらいだから技術的にもだろうけど
0301デフォルトの名無しさん
2006/04/24(月) 01:33:11LIKE 検索したいときワイルドカードをどう記述すればいいの?
WHERE 変数名 LIKE '<パラメータ>%'
としたいんだけど。
もしかしてパラメータに%入れなきゃ無理?
あと、@Pram とかが使えないみたいだけど@パラメータ名は使えなくなってる?
0302デフォルトの名無しさん
2006/04/24(月) 01:38:06ありがとう、なんとかなりそうです。
そりゃわたしもきっちりコード書きたいですが、時間やお金は無尽蔵にないですしね‥。
0303デフォルトの名無しさん
2006/04/24(月) 02:16:45時間も金も無いからこそ事前に構造の設計を行う事と実装の実現性を確認する事が重要なんだな
まあ、一つ賢くなったと思って骨を埋めて来い
0304デフォルトの名無しさん
2006/04/24(月) 14:54:13キーを押したらタイプライターのような音を出す
アプリをVBで作成することは可能ですか?
0305デフォルトの名無しさん
2006/04/24(月) 14:56:150306デフォルトの名無しさん
2006/04/24(月) 15:12:140307304
2006/04/24(月) 15:29:03>不可能ではない
というと、非アクティブ動作だと一般的には無理という回答だけど、
技?を使えばokということでしょうか?
0308デフォルトの名無しさん
2006/04/24(月) 17:53:27Helpを読んでも意味が分からないことがあるので、教えてください。
For Each A in B
hoge
Next
ってどういう意味なのでしょうか?
ヘルプを見てもループ制御変数とか色々小難しいことが書いてて例が無いので分からないもんで、
すみませんが、どなたか教えてください。
0309デフォルトの名無しさん
2006/04/24(月) 17:58:15ていうかいくらでも書いてるってのサンプル
0310デフォルトの名無しさん
2006/04/24(月) 18:20:30「ツール」の「設定のインポートとエクスポート」はExpressにはないか?
0311デフォルトの名無しさん
2006/04/24(月) 18:46:48Using tx As New Transactions.TransactionScope()
ta.Update(ds)
tx.Complete()
End Using
これをMDBでやろうと思ったのですが、
MDBでTransactionScopeを使用することは出来ないのですか?
0312デフォルトの名無しさん
2006/04/24(月) 19:38:40ありがとうございました。
0313デフォルトの名無しさん
2006/04/24(月) 21:47:470314デフォルトの名無しさん
2006/04/24(月) 22:42:19ということは、MDBを使用した場合には、
TableAdapterのUpdateCommandで指定した更新の際にトランザクション管理することは出来ないということですか?
System.TransactionsはMDBで使用できないというような記述がどこかにあった気がしますが。。。
0315デフォルトの名無しさん
2006/04/24(月) 22:45:48いつファイルが壊れるか知れたもんじゃないぞ。
せっかく SQL Server 2005 Express Edition もあるんだし。
0316デフォルトの名無しさん
2006/04/24(月) 23:00:15SQL Server 2005 Express Edition って商用利用できましたっけ?
実家の自営で使う軽いアプリを低コストで出来ないかと試しているんですが。
無理そうならMSDEにしようかと考えていますが、
EnterpriseManagerやクエリアナライザなどのツールがないといろいろと面倒かな?
0317デフォルトの名無しさん
2006/04/24(月) 23:08:34MSDE だと SQL Server だと分かってくれないから名称変更。
ttp://www.microsoft.com/japan/msdn/vstudio/express/faq/
MS は Edition によって利用法制限したりはしてないよ。
0318デフォルトの名無しさん
2006/04/25(火) 00:05:29ありがとうございます。
自分の中では余計ややこしくなってるんですけど。。。
とりあえずは、セットアップパッケージにExpress Editionのサイレントインストール(?)を含めるようにする方法を調べてみます。
0319デフォルトの名無しさん
2006/04/25(火) 00:15:01VB.NETからQuickTimeをCOMから操作できることを知ったので,
やってみようとおもったのですが,具体的なコマンドとかがまったくわかりません。
私なりに検索してみましたが,さっぱりわからずこまっています。
どなたか詳しい方いらっしゃいませんか?
0320デフォルトの名無しさん
2006/04/25(火) 00:59:05何とかしてほしいな。
触らしてくれてもいいだろって感じ。
0321デフォルトの名無しさん
2006/04/25(火) 00:59:48そりゃちょっと違うだろ。
0322デフォルトの名無しさん
2006/04/25(火) 04:49:39インスタンスをインタフェースにキャストすることでPrivateメソッドが呼べるようですが、
C++やJavaのようにPrivateなインタフェースの実装を
クラス外のスコープから呼べなくするにはどうすればよいでしょうか。
0323デフォルトの名無しさん
2006/04/25(火) 08:13:46繋げないコネクタは既にコネクタじゃないでしょw
0324デフォルトの名無しさん
2006/04/25(火) 08:14:15TableAdapterあきらめてOleDBConnectionのトランザクション使えば?
0325310
2006/04/25(火) 08:59:44ツールのオプションのダイアログで「すべての設定を表示」にチェックをいれて
左のツリーの環境−キーボードを選んで
「次の追加キーボードマップスキームを適用」で「Visual Basic 6」を選んで「OK」すればよかと。
0326デフォルトの名無しさん
2006/04/26(水) 01:23:28無名クラスでの実装辺りのことを言ってる気がするな…
表現がおかしいけど。
0327デフォルトの名無しさん
2006/04/26(水) 09:11:36初めて聞く概念だな・・・
0328デフォルトの名無しさん
2006/04/26(水) 09:20:500329デフォルトの名無しさん
2006/04/26(水) 09:27:100330デフォルトの名無しさん
2006/04/26(水) 10:51:43調べてないから表現は間違ってると思うが。
あ、これ自体はjavaの話だよ。
それの無名クラスでの実装みたいのが、
.NETではどうなるの?て話じゃないかと思ったてこと。
0331デフォルトの名無しさん
2006/04/26(水) 14:20:49関係についての質問です。
今、PrintPreviewControlに5ページからなるPrintDocumentが
関連付けれらているとします。
この状態で、Columns、Rowsをそれぞれ2に設定すると
初期状態で1〜4ページまで同時にプレビューできますよね?
ここからが困っているのですが、上記の状態で
「次」ボタンを作成して、5ページ目以降を表示させたいと思ったときに
PrintPreviewControlのStartPageプロパティに5を設定しました。
そうすると、2〜5までの4ページが表示されてしまいます。
希望としては、
・初期状態:1〜4ページが表示される
・「次」ボタン押下:5ページのみが表示される
※この時、Columns、Rowsは2のままで、2x2のマス目の左上に
5ページ目のみを表示させたい
としたいのですが、上記に書いたStartPageの設定方法だと
・初期状態:1〜4ページが表示される
・「次」ボタン押下:2〜5ページのみが表示される
希望通りの動作をさせるにはどうしたらいいでしょうか?
0332デフォルトの名無しさん
2006/04/26(水) 18:30:49プレビューなんて自分で実装すればいいじゃん。
別にたいして難しくないよ。
PrintPreviewControlってモーダルだしモッサリしてるし
プリンタがインストールされてないと使えないしで激しく使えん奴なんで
俺は使わないなあ。
0333デフォルトの名無しさん
2006/04/26(水) 19:31:21開き先頭から12バイト読込みたいのですができますか?
0334デフォルトの名無しさん
2006/04/26(水) 19:49:13TextAlignプロパティを変える前にTextプロパティを空にしてもだめでした。
0335デフォルトの名無しさん
2006/04/26(水) 20:47:29できる。
>>334
そういうもん。つかはみ出る文字列に対して TextAlign がどう働いて欲しいんだ?
0336デフォルトの名無しさん
2006/04/26(水) 23:21:49Webブラウザのツールが無いです。
.NET Freamworkが1.1だからですかね?
0337デフォルトの名無しさん
2006/04/26(水) 23:24:360338デフォルトの名無しさん
2006/04/27(木) 00:30:29○<こーゆーことがしたいんだけど、手は無いかな?
●<そもそもそれを使うのが間違いでこーするべき
○<いや、こーゆーことがしたいんだけど
●<俺はそれは使わない
営業とSEの間でもよくこんな話してるわ
0339デフォルトの名無しさん
2006/04/27(木) 00:58:18はてそんなパターンの展開は見たことないけどな。
まあ多分338はよく人から「俺はそんなこと言ってない」って突っ込まれるんだろうけど、
実際君の理解力はきっとどこかおかしいんだと思うよw
0340デフォルトの名無しさん
2006/04/27(木) 01:35:52後でSEに無理って言われてふぁびょってる営業さんですか?
0341デフォルトの名無しさん
2006/04/27(木) 07:44:29IEを使わない場合(ツールのWebブラウザ)はVerを更新しないと無理?
0342デフォルトの名無しさん
2006/04/27(木) 09:07:130343デフォルトの名無しさん
2006/04/27(木) 09:43:00所持してるのは1.1です。
ちなみにPCはオフライン、ネットカフェでファイルをダウン可能と言う状況です。
出来ますかね、アップロード?
0344デフォルトの名無しさん
2006/04/27(木) 10:18:120345デフォルトの名無しさん
2006/04/27(木) 10:47:35探してみます、ありがとうございました。
0346デフォルトの名無しさん
2006/04/27(木) 14:48:48Rangeで文字列を見つけるのは出来ましたが、その位置をページ番号と行番号で表示出来ません。どうすれば出来ますか?
0347デフォルトの名無しさん
2006/04/27(木) 15:40:460348346
2006/04/27(木) 21:27:41を操作できますが、
Wordクラスの使い方が判らなくて、試行錯誤状態です。
少しググって見ましたが、よくわかりません。
これらに詳しいサイトや本、あったら教えてください。
0349デフォルトの名無しさん
2006/04/28(金) 20:28:32スコープがPrivateかPublicかっていう以外は、違いが無いんじゃないんでしょうか?
Privateな変数を外に公開したいときにプロパティを使うっていうことなのでしょうか?
0350デフォルトの名無しさん
2006/04/28(金) 20:39:53取得専用にもできる
> Privateな変数を外に公開したいときにプロパティを使うっていうことなのでしょうか?
そうすべき。
0351デフォルトの名無しさん
2006/04/28(金) 20:40:16どう違うって全然違うでしょ。
っていうかそんなレベルの話を自分で調べもせずにいちいち人に質問する人は
悪いけど多分プログラマ向いてないと思うよ。
まあ@ITのオブジェクト指向入門、みたいな連載が結構初心者にもわかりやすく
解説していたような記憶があるから読んでみたら?
0352デフォルトの名無しさん
2006/04/28(金) 22:05:100353デフォルトの名無しさん
2006/04/29(土) 10:35:17それはなんつーか初めて聞く発想だ。
大きく誤解しているようだが。
0354デフォルトの名無しさん
2006/04/29(土) 11:27:09フィールド・・・private
プロパティ・・・public
で間違いないと思うぞ。
それ以外のスコープのつけかたは
あまり一般的とは思えないな。。。漏れは使うときあるけど
0355デフォルトの名無しさん
2006/04/29(土) 11:39:20それが違いって言われちゃあ…
0356デフォルトの名無しさん
2006/04/29(土) 12:09:50JavaやC++ではただのメソッドにすぎない。
0357デフォルトの名無しさん
2006/04/29(土) 12:12:250358デフォルトの名無しさん
2006/04/29(土) 12:13:54いや悪いけど間違いだよ。
もちろん用語の正しい意味用法を無視して、あえて「実践的な話」とやらをしたとしても。
例えばクラスにプライベートなプロパティーを持たせるのは別に普通のことだ。
0359デフォルトの名無しさん
2006/04/29(土) 12:19:37何が言いたいんだろ…
0360デフォルトの名無しさん
2006/04/29(土) 12:30:180361デフォルトの名無しさん
2006/04/29(土) 13:26:26> 例えばクラスにプライベートなプロパティーを持たせるのは別に普通のことだ。
全然普通のことじゃないよ。
他のクラスからはもちろん派生クラスからさえ呼べないようなプロパティは、
もはやプロパティとして実装する必要はない。設計を間違えている。
0362デフォルトの名無しさん
2006/04/29(土) 13:31:06そりゃ君の経験または知恵が足りないだけだよ、悪いけど。
0363デフォルトの名無しさん
2006/04/29(土) 15:28:42君よりは知恵も経験もあると思うよ(・∀・)
0364デフォルトの名無しさん
2006/04/29(土) 16:07:38頻度としては高くはないが、別に有り得るだろ。
ていうか、それだけで設計が間違ってると言い切れる
お前の方がびっくりだ。
0365デフォルトの名無しさん
2006/04/29(土) 16:35:47フィールド・・・private
プロパティ・・・public
で間違いないと言っている。
>>349は
あくまでごく一般的な使い方をするかぎりにおいての
話をしているんだと思うぞ。
このスレはやたらと細かいことにツッコミを入れて
得意がる奴が多すぎるな。(´・ω・`)
0366デフォルトの名無しさん
2006/04/29(土) 16:47:15"1301""極洋""1000""東証"""
"1305""ダイワ上場投信−トピックス""100""東証"""
"1306""TOPIX連動型上場投資信託""100""東証"""
"1308""上場インデックスファンドTOPIX""1000""東証"""
"1310""ダイワ上場投信−トピックス・コア30""100""東証"""
"1311""TOPIX Core 30 連動型上場投資信託""100""東証"""
"1320""ダイワ上場投信−日経225""10""大証"""
"1321""日経225連動型上場投資信託""10""大証"""
"1329""iシェアーズ日経225""10""東証"""
"1330""上場インデックスファンド225""10""東証"""
"1331""ニチロ""1000""東証"""
"1332""日本水産""100""東証"""
"1334""マルハグループ本社""1000""東証"""
以降、延々と続く
このような、CSVファイルから、テキストボックスに例えば
1331と入力したら
ラベル1に、ニチロ
ラベル2に、1000
ラベル3に、東証
と、自動的に呼び出したいのですが、どのようにすればよいのでしょうか?
一度、これらをデータベース化したほうが良いのか?
使うならDictionaryメソッド?
よろしくお願いします
かれこれ、1週間近く悩んでます
0367デフォルトの名無しさん
2006/04/29(土) 16:52:220368デフォルトの名無しさん
2006/04/29(土) 17:07:59だから間違いだって。
別に2ch的なガキっぽいのりで突っかかってるわけじゃない。
まあ一応少しフォローすると、プロパティの効用は
値の設定あるいは取得の際に、同時に何らかの処理を強制できる点にある。
そしてこの「値の設定あるいは取得の際に、同時に何らかの処理を強制」
する必要があるかどうかは、必ずしもその値のアクセスレベルとは関係がない。
0369デフォルトの名無しさん
2006/04/29(土) 17:14:27違いはprivateかpublicかしかないんじゃ?とか思ってんだから、
それは間違いとしか言いようがないだろ。
0370デフォルトの名無しさん
2006/04/29(土) 17:20:49ついでに、C#のプロパティは、
xxx hoge
{
get{}
set{}
}
だから、メッサコンパクトでわかりやすいね・・・。
readonly,writeonlyも必要ないし。
0371デフォルトの名無しさん
2006/04/29(土) 17:45:58それを熱く語るのは定義厨だけ。
0372デフォルトの名無しさん
2006/04/29(土) 19:09:39TabControlにTabPageを動的に割り当て、
さらに、コンテキストメニューに"閉じる"という項目を作って、
"閉じる"をクリックしたら、そのページを選択してる、していないに関わらず、
マウスの位置にあるページを動的に閉じるという処理をしたいんですが、
各ページのLeftやWidthは、親コンテナのTabControlの値しか入ってないようです。
現在のマウスの位置から、どのページが選択されているかを判別する方法って
ないでしょうか?
0373デフォルトの名無しさん
2006/04/29(土) 19:37:34マネージドでやるなら TabControl の GetTabRect を回して合致するタブインデックスを調べる。
0375デフォルトの名無しさん
2006/04/29(土) 20:57:20Private Structure searchFile
Dim filePath As String
Dim createTime As DateTime
End Structure
0376デフォルトの名無しさん
2006/04/29(土) 21:08:110377デフォルトの名無しさん
2006/04/29(土) 21:11:44少なくても10年前とかは、アルゴリズムの勉強やらで、交換法やら選択法やらクイックソートやら
ヒープソートってもんを勉強したもんだが・・・
0378デフォルトの名無しさん
2006/04/29(土) 21:13:47ICompareインターフェイスの比較関数を自分で書いて、Array.Sort(Array, IComparer) でソート。
0379デフォルトの名無しさん
2006/04/29(土) 21:21:18今、大学生だけど、普通にやるよ>アルゴリズム
というか、せっかく2005にジェネリックがあるんだから、
汎用ソート関数でも書いてみたらどうでせう。
0380デフォルトの名無しさん
2006/04/29(土) 21:28:33.NET では用意するのは比較関数。
それを使ってのクイックソートはフレームワークがやってくれる。
Array とか List<T> とか使うぶんにはな。
0381デフォルトの名無しさん
2006/04/29(土) 21:32:10ICompareインターフェイスがよくわからないので、強引にソート関数作ってみます。
0382デフォルトの名無しさん
2006/04/29(土) 21:35:290383デフォルトの名無しさん
2006/04/29(土) 22:01:12「よくわからない」じゃなくて、
MSDNライブラリを読めよ。
インタフェースがわからないんだったら、勉強汁
0384デフォルトの名無しさん
2006/04/29(土) 22:04:550385デフォルトの名無しさん
2006/04/29(土) 22:11:06タイプパラメータの制約を定義したり色々とめんどくなりそうだなw
最低限、ICompareを実装してるものに制約しなきゃならないな。
0386デフォルトの名無しさん
2006/04/29(土) 22:15:450387デフォルトの名無しさん
2006/04/29(土) 22:24:03レスを無視した上にマルチかよ。
0388デフォルトの名無しさん
2006/04/30(日) 12:18:19何のイベントが発生しますか?デバックできなくて困ってます。
OnLoadが発生して起動時のコマンドライン引数にDNDのデータが来ると思ったのですが
デバッガの起動時のコマンドライン引数に全角文字を入れても問題がないのですが、
アイコンにDNDするときに全角文字が入っていると例外が発生します。
よろしくお願いします。
0389デフォルトの名無しさん
2006/04/30(日) 12:21:260390デフォルトの名無しさん
2006/04/30(日) 15:05:240391デフォルトの名無しさん
2006/04/30(日) 15:34:30存在しないんですが。。
0392デフォルトの名無しさん
2006/04/30(日) 16:28:29HTMLが作られて、その中に .application という拡張子のファイルへのリンクがあり、インストール
となっていますが、IEでこれをクリックしてもXMLの内容が表示されるだけでインストールできません・・。
アプリを起動したときにバージョンチェックとかもできるようで、Webへの発行は便利そうなんですが、
なんかうまく動かないです。
この機能って具体的にどうやって使うのでしょうか?
やはり、IISとかが必要になるのかしら?
0393デフォルトの名無しさん
2006/04/30(日) 16:50:39ClickOnceってなまえの機能みたいですね。
これ、証明書とか書いてあるけど、なんか登録しないとだめなのかな?
0394デフォルトの名無しさん
2006/04/30(日) 17:01:270395デフォルトの名無しさん
2006/04/30(日) 18:35:03MDIフォームから
子フォームを呼び出したときに親の方にはスクロールバーが出ますが
なぜかホウスのホイールが効きません。
ホイールでスクロールさせるにはどのプロパティをいじったらいいでしょう
馬鹿っぽい質問でごめんなさい
0396デフォルトの名無しさん
2006/05/01(月) 21:16:33なんか、関数ないかしら?
0397デフォルトの名無しさん
2006/05/01(月) 21:20:44少しは調べろ。
.NETFramework関数だろうがMyだろうが調べりゃ出てくる。
0398デフォルトの名無しさん
2006/05/01(月) 23:09:17Path.GetDirectoryName
と
System.Reflection.Assembly.GetExecutingAssembly().Location
を組み合わせるとか?
ふと、VB6だと、App.Pathとかで取得できたなぁとか、懐かしくなる。
0399デフォルトの名無しさん
2006/05/01(月) 23:12:46なんか、いっぱいあってどれが目的の動作をしてくれるのかよくわからんね。
0400デフォルトの名無しさん
2006/05/01(月) 23:19:530401デフォルトの名無しさん
2006/05/01(月) 23:52:49問題1
文字列→数値の変換は標準関数を使用していたが、変換関数を自分で作成せよ。
問題2
100個要素を持つ配列整数変数を宣言し、その中に1,2,3、・・・100の値を入れる
0402デフォルトの名無しさん
2006/05/01(月) 23:54:070403デフォルトの名無しさん
2006/05/01(月) 23:54:320404デフォルトの名無しさん
2006/05/02(火) 15:06:27フォントフォルダの場所はSHGetSpecialFolderPath関数で取得できたので、
あとはファイル名だけがわかればいいのですが。
0405デフォルトの名無しさん
2006/05/02(火) 15:57:13ヒントだけやろう。
> 問題1
Convert.ToInt32
> 問題2
int hairetu = new int[100];
for(int i=0; i<100; i++)
{
// この中の処理くらいは考えろ。
}
0406デフォルトの名無しさん
2006/05/02(火) 15:58:51C# で、大体は書いた。あとは VB.NET で書き直せ。
0407デフォルトの名無しさん
2006/05/02(火) 18:56:00のデータをデコードしたいのですが、うまくいきません。
bace64はなんとかクリアしたのですが、Quoted Printable形式だと、C++
だとデコードするプロパティがあるようですが、言語がVBだと無いのでしょうか?
0408デフォルトの名無しさん
2006/05/02(火) 19:01:420409デフォルトの名無しさん
2006/05/03(水) 03:27:42VB2005を使用しています
WebBrowserからサイトを表示、フォームにID,パスワードを入力、
ログインボタンを押下という手順にしたいのですが、
どのプロパティを使用したらいいのでしょうか?
どうやってもフォームに文字が入力できないのです。
0410デフォルトの名無しさん
2006/05/03(水) 03:29:590411デフォルトの名無しさん
2006/05/03(水) 07:35:37ttp://yaplog.jp/taka_mai_jp/ でそれらしき、コトしてるぞ。
0412デフォルトの名無しさん
2006/05/03(水) 10:17:26コントロール名を文字列(String型)に格納しておいて、操作をする
コードはどのように記述したらよろしいのでしょうか。
MS-Accessの
dim str1 as string
str1="Text1"
me(str)="aaaaaa"
にあたるものです。
どうぞ宜しくお願いいたします。
0413デフォルトの名無しさん
2006/05/03(水) 10:22:08コントロールへの参照をControl変数に入れておきましょう。
どうしても文字列でコントロール指定したいなら
HashTableでも使いましょう
0414デフォルトの名無しさん
2006/05/03(水) 11:01:22サンクスです。
0415デフォルトの名無しさん
2006/05/03(水) 12:26:590416デフォルトの名無しさん
2006/05/03(水) 14:00:360417409
2006/05/03(水) 16:44:07レスありがとうございます。
たとえばログインフォームに文字を入力する場合、
WebBrowser1.Document.GetElementsByTagName("input").Item(0).Value = "ログインID"
などとコードを書いても
「'Value' は 'System.Windows.Forms.HtmlElement' のメンバではありません。」
となってしまいます。
どんなコードであれば.Valueが使用できるのか教えていただけませんか?
もしくは別のアプローチでフォームに文字を入れるのでしょうか
>>411
レスありがとうございます。
リンクの方はWebBrowserを使用していないみたいです
0418デフォルトの名無しさん
2006/05/03(水) 17:11:29.NET 2.0 の HTML DOM は、HTML 要素は全て HtmlElement 型で扱い、要素特有のメンバは扱わない。
で、value だろうが結局は属性に過ぎないわけで。
HtmlElement 調べれば属性を操作するメソッドはすぐ見つかる。
0419デフォルトの名無しさん
2006/05/03(水) 18:36:14エラーなんか出ずに正常動作するお。
0420デフォルトの名無しさん
2006/05/03(水) 18:39:430421デフォルトの名無しさん
2006/05/03(水) 18:56:160422デフォルトの名無しさん
2006/05/03(水) 21:58:15これ質問したのお前か?
0423デフォルトの名無しさん
2006/05/03(水) 23:55:040424デフォルトの名無しさん
2006/05/04(木) 00:57:24だとフルパスでファイル名を取得することになるんだけど
ファイル名だけ取得したい場合はどうやたらいいのかな?
0425デフォルトの名無しさん
2006/05/04(木) 01:00:200426デフォルトの名無しさん
2006/05/04(木) 02:43:182つのフォームを使用しており、form1にDataGridviewが配置されており
データを追加しています。
このDataGridviewのセルをクリックした時、クリックした行のデータをform2に
表示させたいのですが、可能でしょうか?
どこを検索してもさっぱり見つからず、途方にくれております・・・
0427デフォルトの名無しさん
2006/05/04(木) 02:46:53まず順序立てて何が必要か考えてみろ
0428VBの初心者
2006/05/04(木) 02:47:37実は、VBの教科書の問題ができなくて困っています。
サイズ10の配列Aのデータをウィンドウの
テキストボックスに表示したり、テキストボックスに入力したデータを配列Aに保
存したりするプログラムを完成させよ。
なお、それぞれの命令はあらかじめ用意されているボタンが
クリックされたときにのみ実行されるようにすること。
という問題なのですが、もしよろしければ教えてください。
0429デフォルトの名無しさん
2006/05/04(木) 02:51:310430デフォルトの名無しさん
2006/05/04(木) 03:00:43何が出来るのだ
0431最凶VB厨房
2006/05/04(木) 07:23:30Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
配列A(0) = TextBox1.Text
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
TextBox1.Text = 配列A(0)
End Sub
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim i As Integer
For i = 0 To 9
配列A(i) = ""
Next
End Sub
0432最凶VB厨房
2006/05/04(木) 07:24:150433デフォルトの名無しさん
2006/05/04(木) 08:05:18>表示させたいのですが、可能でしょうか?
>どこを検索してもさっぱり見つからず、途方にくれております・・・
できないわけないだろうよ
ちゃんと調べたのか?
Windows フォームのプログラミング -DataGridView コントロール (Windows フォーム)
http://msdn2.microsoft.com/ja-jp/library/e0ywh3cz.aspx
をよく読め
多分やりたいことは
「DataGridViewのCurrentCellAddressを使って、DataGridViewのItemから要素を取り出す」
だろうから、そのコードをFormのDataGridViewのCellClick イベントに書け
Form1からForm2が見えないとか言うなよ
0434デフォルトの名無しさん
2006/05/04(木) 12:25:08あるフォームを(FormA) ShowDialog で表示させ、そのフォームの中から別のフォーム(FormB)を
さらに ShwDialog で表示させたいのですが、この時、FormA → FormB が ShowDialog
されたタイミングで FormA は閉じたいのですが、それがうまくいきません。
ShowDialog された自分自身を閉じつつ、別の Form を ShowDialog させるには
どのようにすればよいでしょうか?
アドバイスよろしくお願いします。
0435デフォルトの名無しさん
2006/05/04(木) 13:57:050436デフォルトの名無しさん
2006/05/04(木) 15:36:120437デフォルトの名無しさん
2006/05/04(木) 17:20:35dim a as integer
dim b as integer
a = 100
b = 100
aにbの参照をコピーしたい
で a = 300 としたらbも 300 となるようにa=Bとしたいんですが方法があれば
教えてください。
0438デフォルトの名無しさん
2006/05/04(木) 17:37:430439デフォルトの名無しさん
2006/05/04(木) 17:43:53くだらない問題意識としかいいようがないな。
他にもっとやるべきことがあるだろうに。
まあオブジェクト型の変数にボックス化しとけばできないことはないんじゃない?
>>438
意味不明
0440デフォルトの名無しさん
2006/05/04(木) 18:24:28変数のエイリアスを使いたいのだろうが、VB.NETではその様な機能は今の所無い
まあ、メソッドやサブルーチン内であれば擬似的にエイリアスっぽいことが出来るが
重要なのはVB.NETに向いた設計をしていればその様な機能は必要がないって事だ
0441デフォルトの名無しさん
2006/05/04(木) 20:23:25Private v As T()
Public Sub New(ByVal v As T)
Me.v = New T() { v }
End Sub
Public Property Value As T
Get
Return Me.v(0)
End Get
Set(ByVal value As T)
Me.v(0) = value
End Set
End Property
End Class
Dim a As New ValueTypeRef(Of Integer)(1)
Dim b As New ValueTypeRef(Of Integer)(2)
a = b
b.Value = 100
Console.WriteLine("a = {0}", a.Value)
Console.WriteLine("b = {0}", b.Value)
配列をラップしてみた
かなり気持ち悪いが
0442441
2006/05/04(木) 20:27:33今気づいた
0443デフォルトの名無しさん
2006/05/04(木) 21:16:51Int32構造体も知らないのか???
0444デフォルトの名無しさん
2006/05/04(木) 21:21:02構造体の意味も知らないのか???
0446デフォルトの名無しさん
2006/05/04(木) 22:28:200447デフォルトの名無しさん
2006/05/04(木) 22:58:49誰にレス付けてんだよ?おまえ
0448デフォルトの名無しさん
2006/05/04(木) 23:12:11バージョンアップすると、アプリのパスとか変わってちょっとあせったけど、
今後はやるのかな?
0449デフォルトの名無しさん
2006/05/05(金) 00:34:34基本的な質問で申し訳ありませんが、VB.NETのフォームには、
Accessでいうフォームヘッダというものはないのでしょうか。
フォームをスクロールさせても、必ず上部にオブジェクトが
固定されて表示されるものなのですが。
0450デフォルトの名無しさん
2006/05/05(金) 00:43:00Dock プロパティとか Panel クラスとか使え。
0451デフォルトの名無しさん
2006/05/05(金) 01:04:56調べてみます。ヒントありがとうございました。
0452デフォルトの名無しさん
2006/05/05(金) 02:15:53MSDN library June2006 使ってる?インストールできますか?
0453デフォルトの名無しさん
2006/05/05(金) 13:28:00印刷を行う方法について調べていたのですが、手元の書籍にはCrystalReportsを
使用する方法しかありませんでした。これは、VB.NET Standard Editionではサポート
されていないとのことでしたので、それを使用する以外の方法を探していて、
以下のサイトを見つけたのですが、以下のサイトの方法だと、印刷プレビューの
表示無しにいきなり出力されてしまいます。
http://www.atmarkit.co.jp/fdotnet/dotnettips/393printdoc/printdoc.html
印刷プレビューを表示させる一連のサンプルが書かれたサイト、もしくは
キーワードのヒントをいただけませんでしょうか。
どうぞ宜しくお願いします。
0454デフォルトの名無しさん
2006/05/05(金) 13:39:13ttp://www.google.com/search?hl=ja&lr=lang_ja&oe=utf8&q=vb%2Enet+%E5%8D%B0%E5%88%B7%E3%83%97%E3%83%AC%E3%83%93%E3%83%A5%E3%83%BC
0455デフォルトの名無しさん
2006/05/05(金) 13:55:32サンプルが載っているサイトに簡単にたどり着けました。
光ファイバーで首つってきます。
0456デフォルトの名無しさん
2006/05/05(金) 17:04:210457デフォルトの名無しさん
2006/05/05(金) 17:12:06あれのVB.net版はどれなんでしょうか?
0458デフォルトの名無しさん
2006/05/05(金) 17:18:30無くなった。
ラインだけでなくシェイプコントロールも無くなった。
.NETではGDI+を使用します。
0459デフォルトの名無しさん
2006/05/05(金) 17:19:370460デフォルトの名無しさん
2006/05/05(金) 18:15:06「移行ガイド」用意してくれてるんだから人様に質問する前にせめてそれぐらい読めよな。
MSDNライブラリのチュートリアルにだってそんなこと最初に書いてあるし。
0461デフォルトの名無しさん
2006/05/06(土) 00:24:19店のPCでのシステムは完成したのですが、運送会社へは何をどう送るのかがわかりません。
単純にCSV形式のファイルを送れば良いのでしょうか。
開発経験者の方や詳しい方がいらっしゃいましたら、回答宜しくお願いします。
開発環境はVB.NET2003です。
当方、独学による設計です。
0462デフォルトの名無しさん
2006/05/06(土) 00:27:05運送会社へ聞けよボケ
0463デフォルトの名無しさん
2006/05/06(土) 01:02:140464デフォルトの名無しさん
2006/05/06(土) 01:11:460465デフォルトの名無しさん
2006/05/06(土) 01:19:59運送会社が無料で提供しているものを使えばいいのですが、
現状では二度手間になってしまっています。
資格も持っていない私が相談に行って、相手をしてもらえるのか
心配だったので、こちらで質問させていただきました。
素人の私が突然出てきてしまい、申し訳ありませんでした。
0466デフォルトの名無しさん
2006/05/06(土) 03:08:47親切な>>462が適切な回答をしてるじゃねーか。
>>462を10回音読汁!
0467デフォルトの名無しさん
2006/05/06(土) 08:52:05相手が運送会社なら取りに来てもらえよ
取りに来て送り届けるのが運送会社の仕事だよ
マジで聞いてるなら
465に書いているとおり、運送会社が無料で提供しているものがあるのなら
それを使って送るようにシステム組みなおすのが筋ではないかね
そもそも運送会社にとって上客ならセンターと連動した専用端末置いてくれるよ
上客でなければ相談に行っても営業所で軽くあしらわれるのがオチ
0468デフォルトの名無しさん
2006/05/06(土) 08:56:45ここはやりたいことをVB.NETで実現する方法を聞くところだから明らかに
スレ違いだと思うが、無料のものがなぜ二度手間になるのかは聞きたい
ところだ。
0469デフォルトの名無しさん
2006/05/06(土) 09:40:29FTPソフトでアップロードすればいい。プログラムなんかいらね
0470デフォルトの名無しさん
2006/05/06(土) 21:18:45ドット単位になっていますが、これをミリメートル単位にする事は
可能なのでしょうか?
帳票があらかじめ指定されている際、長さを測って描く場合、
ミリメートル単位にしないと非常に時間がかかってしまいます。
0471デフォルトの名無しさん
2006/05/06(土) 21:21:160472デフォルトの名無しさん
2006/05/06(土) 21:45:23解決しました。キーワードのヒントありがとうございました。
0473デフォルトの名無しさん
2006/05/07(日) 02:55:58MSNのメッセンジャーで誰かがログインしたときにタスクバーから飛び出してくるあれ。
あんな感じのメッセージの出し方をしたいのだが、Windowsに専用のAPIのようなものがあるのかしら?
それとも、地道にフォームを描画するしかないのかな?
0474デフォルトの名無しさん
2006/05/07(日) 14:01:02ASP.NETでWebアプリをつくりたくて、
今、「ASP.NETでいってみよう」を読みながら弄くってみたんだけど、
この本だと、設計の方法とかがわからない。
一応オブジェクト指向の基本はわかっている(つもり)けどWebは初めてなんです。
ASP.NETで設計とかパターンのようなものが学べるよい本はありますか?
0475デフォルトの名無しさん
2006/05/07(日) 14:59:06http://pc8.2ch.net/test/read.cgi/tech/1138152036/
0476デフォルトの名無しさん
2006/05/07(日) 15:01:440477デフォルトの名無しさん
2006/05/07(日) 16:06:24どうすればいいでしょうか?
・何も入力しない→空文字
・「NULL」→「NULL」という文字列が入力される。
・「DBNull」→「DBNull」という文字列が入力される
0478デフォルトの名無しさん
2006/05/07(日) 16:12:480479デフォルトの名無しさん
2006/05/07(日) 16:47:38�@DataColumn.DataTypeでString以外の型を指定する
�ADataGridColumnStyle.NullTextにNullの代わりに表示したい文字列を指定する
0480デフォルトの名無しさん
2006/05/07(日) 17:29:43なぜか間が開かず、
あい
となります。どうやればタブスペースをあけられるでしょうか?
0481デフォルトの名無しさん
2006/05/07(日) 17:36:190482デフォルトの名無しさん
2006/05/07(日) 17:45:54よく分からないのですが、
Label.text = "あ" & " " & "い"
こういう事でしょうか?ならばそれでは駄目で、
列の位置を揃えるためタブスペースを入れたいのですが。
0483デフォルトの名無しさん
2006/05/07(日) 17:47:590484デフォルトの名無しさん
2006/05/07(日) 18:24:170485デフォルトの名無しさん
2006/05/07(日) 18:58:19ティをTrueにしたやつで代用したことがあったなぁ。
0486デフォルトの名無しさん
2006/05/07(日) 19:30:456.0でpointというのはどのような機能なのですか。
そして、これを.NETで書き直そうしているのですが、できますか?
いろいろ調べたのですが、どうもはっきりしないのです。
いまやっているのは、VB6.0で書かれている本を全部.NETで書き直そうしているのです。
アルゴリズムの入門書なので言語自体には説明はないのです。
すいませんがお願いします。
半分ぐらいは直してみたんですけどね。
0487デフォルトの名無しさん
2006/05/07(日) 19:35:270488デフォルトの名無しさん
2006/05/07(日) 19:35:59pointです。
よろしくお願いします。
0489デフォルトの名無しさん
2006/05/07(日) 19:39:11いやもちろん、画像ででるから何をしているかは
大体分かるのですが(w
これでも、本の半分ぐらいは.NETに直したのです。
BASICを少しだけやったことはあったのですが、極めてみようと
今やっているのです。6.0と.NETをまとめて勉強しようと思い始めました。
0490デフォルトの名無しさん
2006/05/07(日) 19:46:57こういう場所でそのコードを書いて良いのかわからないので・・・。
0491デフォルトの名無しさん
2006/05/07(日) 19:52:19素直に.NETの初心者向け書籍を買ったほうがよい
0492デフォルトの名無しさん
2006/05/07(日) 19:52:32お前の読んでる本なんかわかるわけねーだろw
0493デフォルトの名無しさん
2006/05/07(日) 19:55:31一応、本片手でやっているのですが・・・。
載っていないのです。
VB6.0の本にもpicutr1.pointの機能を使った物は載ってないし・・。
getpixelでしょうかね?
>>492
すんません(w
0494デフォルトの名無しさん
2006/05/07(日) 19:57:550495デフォルトの名無しさん
2006/05/07(日) 20:33:030496デフォルトの名無しさん
2006/05/07(日) 20:33:05叩く奴がワラワラ出てくるな。
まさに♪弱いものたちが夕暮れ〜を地で行っている感じw
そういう自分に虚しくならんのかね。
>>486
釣りでしょ?
君も虚しくないか
0497デフォルトの名無しさん
2006/05/07(日) 20:45:29そんなことも知らないのかって言われるので初心者を装ったのでは
0498デフォルトの名無しさん
2006/05/07(日) 20:49:210499デフォルトの名無しさん
2006/05/07(日) 20:56:09VB6の改造や移植を業務でするなら別だが、これから趣味でプログラム
しようという人にはVB6は覚える必要ないと思う。
0500デフォルトの名無しさん
2006/05/07(日) 20:59:06StrConv(文字列, vbFromUnicode)
って使ってたのだが、netだと無理?
どうすればよいの?
0501デフォルトの名無しさん
2006/05/07(日) 21:02:51内部でどうこうとか無いので、意味がない。
で、バイト配列との相互変換が欲しいのなら System.Text.Encoding 使う。
0502デフォルトの名無しさん
2006/05/07(日) 21:19:22ていわれそうだ。
0503デフォルトの名無しさん
2006/05/07(日) 21:23:40釣りじゃないです。
少し分かってきました。pointというのは
VB6のときはその地点での色を認識するものですよね?
pictureboxでは色の認識をするものは無いのですね?
getpixelを使おうにもbitmapでないとだめだから、pictureboxのままでは
できないのですか?
pictureboxのままでないと、円を描いたり、四角を書いたりできないから
困りますし、何かうまい方法はないでしょうか?
0504デフォルトの名無しさん
2006/05/07(日) 22:44:23釣りにしか思えないけど。。
釣りじゃないなら、グラフィックに関してはこの命令をこう変えればいい、
っていう風にはいかないから(考え方がかなり違う)真面目に一から
勉強してくれとしか言いようがない。
っていうか、君VB6も分かってないんでしょ?
やっぱり釣りにしか思えんわ。
本気で言ってるならプログラミングなんて論外の馬鹿だと思う。
0505デフォルトの名無しさん
2006/05/07(日) 22:51:55そういう理屈なのか
結局一端バイト配列使うしかないのね
やりたいこと大体実現できた
有り
0506デフォルトの名無しさん
2006/05/07(日) 22:52:40Dim G As Graphics
Dim B As Bitmap
Dim C As Color
PictureBox1.Image = New Bitmap(...)
G = Graphics.FromImage(PictureBox1.Image)
G.DrawEllipse(...)
G.DrawRectangle(...)
B = PictureBox1.Image
C = B.GetPixel(...)
0507デフォルトの名無しさん
2006/05/07(日) 23:17:00ありがとうございます。
これで少し勉強が進みそうです。
0508デフォルトの名無しさん
2006/05/08(月) 13:19:190509デフォルトの名無しさん
2006/05/08(月) 13:25:580510デフォルトの名無しさん
2006/05/08(月) 13:33:02DataTableの項目をComboboxやListBoxに単純に追加する方法は無いでしょうか?
例えば[商品コード(int)]、[商品名(varchar(20)]というDataTable("商品リスト")の内容を
Combobox.DataSource=DataSet.DataTable("商品リスト")
Combobox.DisplayMember="商品名"
Combobox.ValueMember="商品コード"
を指定するのではなくて、
DataTableの内容を1行ずつ読み込み、非バインドモードでComboboxに追加していきたいと思います。
Combobox.items.addで追加するのかと思ったのですが、DisplayMemberとValueMemberが
指定できず困っています。
参考になるURLでも構いませんので教えて下さい。
0511デフォルトの名無しさん
2006/05/08(月) 13:37:57その ComboBox のアイテムをどう扱いたいんだ?
Items.Add で追加するのと DisplayMember/ValueMember がどう関わる?
0512デフォルトの名無しさん
2006/05/08(月) 13:43:39うまく説明できず申し訳ないです。
DataTable("商品コード")の内容をComboboxの選択項目として単純に項目として追加したいだけです。
ComboboxにはDataBindings.Add(New Binding("ValueMember"・・・)で他のDataTableがバインドします。
Combobox.items.addが見当違いだったりごめんなさい。
0513デフォルトの名無しさん
2006/05/08(月) 13:44:42それをwindowsサービスに作りかえたいんですが、
そのままだとフォームがないのでどのようにしたらいいかさっぱりです。
どのようにすればいいでしょうか?
0514デフォルトの名無しさん
2006/05/08(月) 13:59:15SQLで重複無しソート済みの項目を抽出してから、ループでComboBox
に追加すれば? バインド関連は一切触らず、純粋にデータをAddする
感じ。
項目が頻繁に追加削除されるなら、タイミングをよく考えないとあかん
けど。
0515デフォルトの名無しさん
2006/05/08(月) 14:03:02サービスにする必要がないんだろう
0516デフォルトの名無しさん
2006/05/08(月) 14:12:39アプリケーションを作りたいのですが、方法が見つかりません。
System.Net.Sockets.TcpClientをつかって137番ポートや138番ポートに
接続しても拒否されてしまいます。
System.Net.Dnsを使うと、取得されるのはNetBIOS名ではなく
ドメインネームです。
みなさんは、WindowsのマイネットワークみたいにNetBIOS名の
一覧を取得する時、どうしていますか?
教えて頂けたら幸いです。
よろしくお願いします。
0517デフォルトの名無しさん
2006/05/08(月) 14:22:07レスサンクスです。
>ループでComboBoxに追加すれば?
問題はそこなんですよ。
For eachでループする予定なのですが、ValueMemberとDisplayMemberをそれぞれ指定して
Addする方法がわからないのです。
根本的に間違っているかもしれないので、もうちょっと自分でも調べてみます。
0518デフォルトの名無しさん
2006/05/08(月) 14:43:32.NET の標準ライブラリじゃ対応してないはず。
WNetOpenEnum ほかの Win32API で。
0519デフォルトの名無しさん
2006/05/08(月) 16:11:39ここのが参考になるんでないかと。
ttp://hpcgi1.nifty.com/MADIA/VBBBS2/wwwlng.cgi?print+200411/04110095.txt
0520510
2006/05/08(月) 17:01:38サンクスです。
これを参考にして作ってみました。
Comboboxの項目追加はこれで出来ました。
実際に使う時は、本来DataBindingしたかったDataTableのRows.Itemの値をComboboxにセットしたり、
DataTableに書き戻す際にComboboxからValueMember相当として扱っている値を取り出す必要がありますが、
Comboboxに値をセットする・ValueMember相当の値を取得する専用のクラス作って解決しました。
情報大変感謝です。助かりました。
0521デフォルトの名無しさん
2006/05/08(月) 18:12:57UDPパケットを137番ポートに送って、返って来たストリームから
名前を取得するという方法はどうなんでしょうか?
0522デフォルトの名無しさん
2006/05/08(月) 18:16:20多分凄く効率が悪い。
キャッシュを使えないわけだし。
0523デフォルトの名無しさん
2006/05/08(月) 19:13:22>>522
いろいろありがとうございます。
ネットワークアドレスが異なるローカルIPも名前解決の対称なので、
UDPパケットを137番ポートに送るしかないかなと思います。
それにしても、DNSサーバを入れていないVPNのWindoowsネットワークなんて、
うちの客以外にあるのかなー??
0524523
2006/05/08(月) 19:15:430525デフォルトの名無しさん
2006/05/09(火) 03:07:26OCRに通してコンピュータ名を取得
0526デフォルトの名無しさん
2006/05/09(火) 03:12:450527デフォルトの名無しさん
2006/05/09(火) 15:08:24アクセスをデータベースにしてリストビューに表示しようとしています
NULLの時に分岐させたいのですがIFで正確に判定をしてくれないです。
原因分かる方いましたらご教授願います。
Dim DataSet As DataSet = DataSet11
Dim iRow As Integer = DataSet.Tables("テーブル1").Rows.Count
For iCount As Integer = 0 To iRow - 1
If IsDBNull(DataSet.Tables("テーブル1").Rows(iCount).Item(0)) = True Then
lvwsoft.Items.Add("")
Else
lvwSoft.Items.Add(DataSet.Tables("テーブル1").Rows(iCount).Item("列1"))
End If
If IsDBNull(DataSet.Tables("テーブル1").Rows(iCount).Item(1)) = True Then
lvwSoft.Items(iCount).SubItems.Add("")
Else
lvwSoft.Items(iCount).SubItems.Add(DataSet.Tables("テーブル1").Rows(iCount).Item("列2"))
End If
If IsDBNull(DataSet.Tables("テーブル1").Rows(iCount)) = True Then
lvwSoft.Items(iCount).SubItems.Add("")
Else
lvwSoft.Items(iCount).SubItems.Add(DataSet.Tables("テーブル1").Rows(iCount).Item("列3"))
End If
0528デフォルトの名無しさん
2006/05/09(火) 15:18:13//毎回コレクション経由ってキモス
0529527
2006/05/09(火) 15:30:09データベースの列2と列3に一つNULLがあるとします
列2の一つのデータがNULLの場合は問題なく”NULL”だと判定してくれるのですが
列3の場合はデータはNULLなのに”NULL”だと判定してくれず
このIF文だとELSEを通過してしまいます
0530デフォルトの名無しさん
2006/05/09(火) 15:35:27釣りか?>>527だと3つ目のIf文でIsDBNullで列3じゃなくて、そのレコードがNullか見てるぞ
コーディングが終ったら一から自己ソースレビュー(ようするにコードの見直し)位やれ
0531527
2006/05/09(火) 15:47:563つ目のソースは↓です
If IsDBNull(DataSet.Tables("テーブル1").Rows(iCount).Item(2)) = True Then
lvwSoft.Items(iCount).SubItems.Add("")
Else
lvwSoft.Items(iCount).SubItems.Add(DataSet.Tables("テーブル1").Rows(iCount).Item("列3"))
End If
これでもダメです
0532デフォルトの名無しさん
2006/05/09(火) 16:02:050533デフォルトの名無しさん
2006/05/09(火) 16:04:450534527
2006/05/09(火) 16:11:29これはリストビューの事でいいのですかね?
NULLの場合、エラーになって出力されないです
下位変換しないで呼び出せる、オーバーロードされたアクセス可能な
'ListViewSubItemCollection.Add' はありません。
と追加情報が出ます
0535デフォルトの名無しさん
2006/05/10(水) 09:04:12テキストボックスの背景を透明にする方法を教えて下さい。
HTMLじゃなくて、フォームがコンテナのテキストボックスです。
0536デフォルトの名無しさん
2006/05/11(木) 09:32:19調べた限り、無いですよね?
みなさん、VBでIPアドレスを入力するときって、どうしていますか?
できればきれいなGUIを築きたいですよね。
ご教授願います。
よろしくお願いします。
0537デフォルトの名無しさん
2006/05/11(木) 09:40:28ttp://www.google.com/search?num=100&hl=en&lr=&q=%22ip+address+control%22+VB.NET%7CC%23
0538デフォルトの名無しさん
2006/05/11(木) 11:23:27現在、ある文字列の中から漢字が有れば返値をだすように考えています。
考えているのが、JISコードの[0020]〜[2576]以外が有る場合に戻り値を返すというのものです。
FindメソッドではDo untilなどで検索すればよいのかもしれないのですが、非常に多くの件数を
処理するのでもっと効率のよい方法があればと思います。よろしくお願いいたします
0539デフォルトの名無しさん
2006/05/11(木) 11:25:200540デフォルトの名無しさん
2006/05/11(木) 14:41:40あるのなら、教えていただけませんか?
WindowsフォームからExcelファイルをVBAみたいな感じで作る
必要があるんですよ。
よろしくお願いします。
0541デフォルトの名無しさん
2006/05/11(木) 14:55:52objDT = Session("ShoppingCart")
If (Request.QueryString("ProductID") <> "") Then
Dim objConn As New System.Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0;Data Source=C:\Inetpub\wwwroot\fs.mdb")
Dim objDA As New System.Data.OleDb.OleDbDataAdapter("SELECT * FROM rs_product WHERE ProductID=" & Int32.Parse(Request.QueryString("ProductID")), objConn)
objDA.Fill(objDS, "SelectedProduct")
Else
Response.Redirect("product.htm")
End If
このページにじかにアクセスしようとすると、ショッピングカート内に値があってもproduct.htmのページにいってしまいます。
どのようにCODEを書き換えればよろしいでしょうか?
詳しい方がいらっしゃいましたら、教えてください。
0542デフォルトの名無しさん
2006/05/11(木) 15:07:53.NetFramwork自体は持っていない。
ExcelやWordがインストールされていれば
そのコントロールが.NETから呼べるから
それを使う。
とうぜんVBAで普通にやってるように
各種オブジェクトをVB.NETから呼び出して使える。
ExcelのワークシートやWord文書ファイルも作成できる。
0543デフォルトの名無しさん
2006/05/11(木) 15:10:330544デフォルトの名無しさん
2006/05/11(木) 15:12:46まず自分がなにやってるのか理解しようぜ。
クエリ文字列とかセッションとか理解してないだろ。
0545デフォルトの名無しさん
2006/05/11(木) 15:15:39他に product.htm にリダイレクトする条件がないのであれば
Request.QueryString("ProductID")
が空文字("")である以外に考えられない。
だからまずそのこと(条件)を確認する
0546デフォルトの名無しさん
2006/05/11(木) 15:37:12>>544さん
まだまだはじめたばかりなもので。すみません。
>>545さん
ご丁寧にありがとうございます。
ProductIDには確かに値がありません。
といいますのも値を入れてしまうと商品がカートに追加されてしまうからです。
ただ単純にカートの中身をチェックしたいだけなのです。
カートの中身をチェックするリンクがつくりたいのです。
逆に
Else
Response.Redirect("product.htm")
を消してしまいますとエラーになってしまいます。
0547デフォルトの名無しさん
2006/05/11(木) 15:48:56ということは
"ProductID"で指定されるところのテキストボックスか何かに
「値が入力されている」ってことと同意なの?
0548デフォルトの名無しさん
2006/05/11(木) 15:53:54買いたい商品のページを表示してからそのページにある[カートに入れる]ボタンを押すとかして
はじめてショッピングカートに追加されて欲しいなぁ・・・
ProductIDに値を入れただけでショッピングカートに追加されて欲しいくないなぁ・・・
0549デフォルトの名無しさん
2006/05/11(木) 15:58:59一気に書き込みたいのですが、どういうコードを書けばいいか分かりません。
どこか参考になるとこを教えてください。
0550デフォルトの名無しさん
2006/05/11(木) 16:05:33を書いてくれるといいな。あと、テンプレの参考サイトを見に行って
るなら、そこでヒントなりなんなりが得られると思うんだが。
とりあえずCSV読み込みはこれが参考になるだろう。
ttp://www.microsoft.com/japan/msdn/vbasic/migration/tips/CSVFile/
0551デフォルトの名無しさん
2006/05/11(木) 16:07:27bcp -U user -P pass -f import.fmt -i data.csv
0552デフォルトの名無しさん
2006/05/11(木) 16:11:07書き方が曖昧すぎました。
とりあえずcsvファイルの読み込みはできていて、テーブルへの
レコードの追加、更新の方法が分からないのです。
0553デフォルトの名無しさん
2006/05/11(木) 16:20:59>>547さん
ショッピングカート内には実際のProductIDはありません。ProductIDをもとにデータベースからイメージ、価格等を引っ張ってきてそれがカートのDATAGRIDに
あります。
>>548さん
あ、いちよう商品詳細ページのカートに入れるというボタンをおすと、URLパラメーターにProductIDがviewcart.aspx?ProductID=001
という形で転送されるようになってます。。
0554デフォルトの名無しさん
2006/05/11(木) 16:24:16ttp://msdn2.microsoft.com/ja-JP/library/ms254937.aspx
そこ見てわからないレベルなら入門書買って読む。
掲示板で聴くのは質問の範囲が範囲が広すぎる気がするな。
0555デフォルトの名無しさん
2006/05/11(木) 16:29:57CSV以外で追加更新したことはあるの?
0556デフォルトの名無しさん
2006/05/11(木) 16:32:03とりあえずQueryStringに001が入るようになるまでがんばれ
0557デフォルトの名無しさん
2006/05/11(木) 16:37:45DAOの時代に一通りのことはやっていましたが、vb.netを使うのは
初めてで・・・ 恥ずかしい質問でしたね。
554を少しみたのですが、多分いけそうです。どうもありがとうございました。
0558デフォルトの名無しさん
2006/05/11(木) 16:49:12> このページにじかにアクセスしようとすると、ショッピングカート内に値があってもproduct.htmのページにいってしまいます。
つうことは、ショッピングカートに商品がないときだけproduct.htmページに遷移してほしいってこと?
だとしたら、objDTがDataTableと仮定すると
CType(objDT, DataTable).Rows.Count > 0
かどうかの判定がどこかで必要になるんとちがう?
0559デフォルトの名無しさん
2006/05/11(木) 17:14:03商品選択後にショッピングカートの中身を表示するページのコードの一部なんだろうな。
だとすると、前からの遷移でなく「直接」そのページにアクセスしちゃったら
"ProductID"は空だから、判定文でproduct.htmにいってしまうのは当然だな。
で、単にショッピングカートの中身を表示するだけの目的でもこのページを
使用したいというのなら、「カートの中身を表示する」みたいなボタンを作って
このボタンを押したときにもこのページに遷移するように実装したうえで、
このボタンによって遷移してきたかどうかの判定を付け加えてやる必要があるんじゃないかな。
そんで、ボタンによる遷移(=ただの中身表示)と判定されたときは
>>558のようにobjDTをキャストしてやって中身を一覧表示すればいいね。
ま、そのコードはすでに実装されているはずだけどね。
0560デフォルトの名無しさん
2006/05/11(木) 17:32:31>>588さん
その通りです。ショッピングカートがからのときだけ、product.htmのぺーじ(単純にカートは空ですというページ)に移動ということです。
>>589さん
おそれります。早速ためしてみます。
0561559
2006/05/11(木) 17:34:33で、商品選択後の表示か単なる中身表示かの判定は、ページ遷移コントローラを作ってそれにまかせるべきだな。
もし商品選択後の遷移なら、コントローラからDBアクセスを担当するクラスにProductID渡して
抽出処理やってもらって(抽出結果はSession変数内のobjDTに格納してもらう)、
それからショッピングカートの中身を表示するページに遷移するような実装にすればいいし。
0562デフォルトの名無しさん
2006/05/11(木) 18:44:04メインアプリケーションとプラグインモジュールの様な形式でアプリを
作成したいと考えています。
プラグインモジュール(クラスライブラリdll)を動的にメインアプリケーションに
ロードし、プラグインモジュールのフォームをメインアプリケーションで
MDI子フォームとして表示したいと思っています。
動的でなければメインアプリケーションの参照設定に追加すれば
行いたいことは実現できるんですが・・・
<DllImport 〜 という手法を試みているんですが、
「PInvoke 項目 (フィールド、メソッド) は static でなければなりません。」
という例外が発生してしまいます。
どのようにすればこのエラーが回避できるか、またはこのようなアプリを
開発する場合、「このような方法で開発するのが一般的」みたいなアドバイス
でも構いませんので、何か良き助言を宜しくお願い致します。
0563デフォルトの名無しさん
2006/05/11(木) 18:54:000564デフォルトの名無しさん
2006/05/11(木) 19:01:09.NET で作った DLL(アセンブリ)は System.Reflection.Assembly クラスの Load とかを使う。
一般的な手法としては以下のような構成になる。
・プラグインのインターフェイスを、インターフェイスまたは抽象クラスとして用意する。
これは独立した DLL として、メインプログラム・プラグインの両者が参照する。
・プラグイン DLL は、上記のインターフェイスを実装する。
・メインプログラムは、
・動的に DLL をロードする。
・Assembly 型の GetTypes などを使って型情報を探索し、プラグインインターフェイスを実装するクラスを見つける。
・Activator.CreateIntstance などを使ってインスタンスを生成し、それをプラグインインターフェイスの型にキャストする。
・あとはそのインスタンスを使って処理を行う。
ちなみに、アセンブリのアンロードは基本的にできない。
0565563
2006/05/11(木) 19:01:34DllImportに脊髄反射してしまった
無視してくれ
0566562
2006/05/11(木) 19:24:08早速のレスありがとうございます!
なんかもっと簡単な方法で実現できると思っていました。
甘かった・・・
中間インターフェイスDLLは発想できなかったです。
Assembly云々は全く触ったことがないので、もう少し勉強してみます。
目標としては、インストールされている(DLLファイルが存在する)場合のみ
表示されるメニューやツールボタン等(DLLファイルからロードする)を実装した
アプリに仕上げたいと考えています。
0567デフォルトの名無しさん
2006/05/11(木) 19:52:26そうでもないか…
0568デフォルトの名無しさん
2006/05/11(木) 19:54:50Assembly.Load に対応するのは LoadLibrary だな。
0569デフォルトの名無しさん
2006/05/11(木) 20:11:10テーブルに追加するためのSQLは書けるのか?
書けるんだったら
Dim DataConnection As System.Data.SqlClient.SqlConnection
Dim SQLCommand As System.Data.SqlClient.SqlCommand
'DBとの接続をOpen
DataConnection = New System.Data.SqlClient.SqlConnection(DataSourceの接続文字列)
DataConnection.Open()
'登録するSQLを生成
Dim sbSqlCommand As System.Text.StringBuilder
sbSqlCommand = New System.Text.StringBuilder("")
sbSqlCommand.Append("INSERT TABLE")
sbSqlCommand.Append(" VALUES(")
sbSqlCommand.Append(INSERTする値を列挙)
sbSqlCommand.Append(");")
'SQLを実行する
SQLCommand = New System.Data.SqlClient.SqlCommand(sbSqlCommand.ToString, DataConnection)
SQLCommand.ExecuteNonQuery()
'OpenしたらClose
DataConnection.Close()
をループで実行したらとりあえず何とかなるだろ
DBがmdbファイルならSystem.Data.SqlClientの代わりにSystem.Data.Oledbだったかな
まあがんがれ
0570デフォルトの名無しさん
2006/05/12(金) 14:23:45持つマシンのNetBIOS名を取得するというアプリケーションを作っているのですが、
netbiosnsの通信手順やコマンドがよく分かりません。
GoogleやMSで調べても、NBTSTATぐらいしか出ないし・・・
どなたかご存じないですか?
よろしくお願いします。
0571デフォルトの名無しさん
2006/05/12(金) 17:14:05現在VBからWordを起動させて、文書を印刷するアプリを作っているのですが、
Word文書内のチェックボックスを制御できなくて困っています。
制御したいチェックボックスはWord内のテーブルにあるのですが、この場合、
チェックボックスにどうやってアクセスするのでしょうか?
Dim wDoc As Word.Document
wDoc.checkbox1.value = True
上のコードでテーブル内ではなく文書に貼り付けているチェックボックスは制御できました。
よろしくおねがいします。
0572デフォルトの名無しさん
2006/05/12(金) 17:38:29まさにOpenFileDialogだから名前を変えようがないのだけど、
それだとクラス名と衝突してしまう
でもそのままだとOpenFileDialog1になってなんだかいや
0573デフォルトの名無しさん
2006/05/12(金) 17:40:500574デフォルトの名無しさん
2006/05/12(金) 17:53:27そうだね
サンクス
0575デフォルトの名無しさん
2006/05/13(土) 00:13:00どうやって取ればいいんでしょう。
WindowsIdentity.GetCurrent?
それとも、環境変数でしょうか?
0576デフォルトの名無しさん
2006/05/13(土) 01:05:55気がするだけ…
0577デフォルトの名無しさん
2006/05/13(土) 02:10:41ありがとうございます。
0578デフォルトの名無しさん
2006/05/13(土) 03:09:01Wordは扱ったことが無いしよくわからんけど
ttp://www.microsoft.com/japan/msdn/officedev/vsto2003/WordObject.asp
.NET 開発者の観点から捉えた Word オブジェクト モデル
0579デフォルトの名無しさん
2006/05/13(土) 07:55:08> http://jeanne.wankuma.com/
サイト名が変わってるお。
0580デフォルトの名無しさん
2006/05/13(土) 09:33:25返答ありがとうございます。
そのページを読んだ後、コード変更無しで上記のコードをもう一度実行したところ、
すんなりチェックボックスを制御できました。
ありがとうございました。
0581デフォルトの名無しさん
2006/05/13(土) 09:41:240582デフォルトの名無しさん
2006/05/13(土) 09:52:00たぶんコードでチェックボックス指定する時に間違った名前を打ち込んでいたんだと思います。
Word内のコントロールについてはインテリセンスでないので確認できませんでした。
578の紹介してくれたページは自力で調べているうちにもチラ見していたのですが、
今回しっかり読んで勉強になったので、感謝しています。
0583デフォルトの名無しさん
2006/05/13(土) 10:34:31そのページを読むだけで変わるのでは
0584デフォルトの名無しさん
2006/05/14(日) 14:27:35Dim pThread As Thread = New Thread(AddressOf DoTheTask)
pThread.Start()
pThread.Join(5000) ' 終わるまで待つ
If Not pThread.IsAlive Then
pTask.Start()
End If
こんな感じでもう一度動かしたいんですが、2回目の.Startで例外が発生します。
もう一度Newすれば済む話かもしれませんが、再利用したいなと思って。
0585デフォルトの名無しさん
2006/05/14(日) 14:40:05あるいはスレッドプール使うか。
@ITにもCodeZineにもマルチスレッドの解説があるから
とりあえず読んだ方がいいよ。
0586デフォルトの名無しさん
2006/05/14(日) 14:43:48なんで?
0587デフォルトの名無しさん
2006/05/14(日) 15:29:110588デフォルトの名無しさん
2006/05/14(日) 15:45:08test score
number of scores
average score
best score
test scoreを入力する度にスコア数、平均スコア、ベストスコアを
算出するプロジェクトのコードを教えてもらえますでしょうか・・・
カウンターやらループなどうまく使えないです;
0589デフォルトの名無しさん
2006/05/14(日) 15:46:17ありがとうございます。
とりあえず両方読んでみます。
>>586,587
なんと言うか、そこに使える(かどうか判らないけど)スレッドがあるんだから、
どうせならそのまま再利用したいなと
お皿が汚れたからといって、そのまま捨てるのはもったいないので、
洗ってもう一度使う感じです。
0590デフォルトの名無しさん
2006/05/14(日) 15:46:51ボタンは
Enter Score, Reset, Exitの3つです。
どうぞよろしくお願いします
0591デフォルトの名無しさん
2006/05/14(日) 16:02:02灰色にするにはどうすればいいですか?BackColorを変更したら、
丸みがなくなってのっぺりしてしまい、なんか違うみたいだし。
0592デフォルトの名無しさん
2006/05/14(日) 16:29:43スコアを入力するたびに
1、カウンタでスコア数を数える。
2、加算してスコア数で割れば平均が出る。
3、直前に入力したスコアと比較して、大きい方を表示。
宿題は自分でやらないと意味ないよ。
0593デフォルトの名無しさん
2006/05/14(日) 22:37:52あと、自宅のPCはXPなんですが、自宅で作ったVBのソフトを会社のPCで実行できるでしょうか?
全部できない場合、ME上でシステム開発するのに最適な言語はなんでしょうか?
すいません、よろしくお願いします。
0594デフォルトの名無しさん
2006/05/14(日) 22:42:100595デフォルトの名無しさん
2006/05/14(日) 22:53:430596デフォルトの名無しさん
2006/05/14(日) 23:36:360597デフォルトの名無しさん
2006/05/15(月) 01:26:53仕事で使うものを開発するならそれに必要な機材は会社から提供してもらうのが筋だな
それを認めない会社ならあえて作る必要も無いよ
0598593
2006/05/15(月) 07:36:01ショボーン
0599デフォルトの名無しさん
2006/05/15(月) 07:47:10会社の合理化のために社員が負担するのは、いかがなものかと
あなたのやろうとしてるのはタダのサビ残
0600デフォルトの名無しさん
2006/05/15(月) 08:24:13まあ、そんなことは置いといて・・・
Microsoft Visual Basic 2005 Express Edition なら開発環境は無料だ。
http://www.microsoft.com/japan/msdn/vstudio/express/
しかし、インストールできるOSは、2000とXPだな。
http://www.microsoft.com/japan/msdn/vstudio/express/support/readme/
こいつで作ったプログラムを動作させるには、.net Framework 2.0 が必要で、
一応MEもサポートされているので、理論上は動くはず。
http://www.microsoft.com/downloads/details.aspx?FamilyId=0856EACB-4362-4B0D-8EDD-AAB15C5E04F5&displaylang=ja
私としては、MEからの離脱をお勧めする。
0601598
2006/05/15(月) 09:58:34さっき家からもってきたVBのサンプルを会社で起動してみました。ちゃんと動いた理由がわかってうれしいです。
実績あげたらパソコン交換してもらえると思うんで頑張ります!
0602デフォルトの名無しさん
2006/05/15(月) 10:05:040603デフォルトの名無しさん
2006/05/15(月) 11:21:190604デフォルトの名無しさん
2006/05/15(月) 12:24:460605デフォルトの名無しさん
2006/05/15(月) 12:39:290606デフォルトの名無しさん
2006/05/15(月) 12:50:57の真相レス待ち
0607601
2006/05/15(月) 13:04:06それしか自分にはわからないんですが
たらー
0608デフォルトの名無しさん
2006/05/15(月) 14:07:220609562
2006/05/15(月) 14:16:12ヘルプやらなんやら自分なりに調べてみています。
今更ながら「Assemblyってこういう事なのか!」などと
発見ばかりなのですが、でもまだよく理解できません。
試しに
Form1をもつMyAPP1と、
Class1とをもつMyDLL1
を用意して試しています。
Form1にボタン(Button1)を配置し、Clickイベントで
MyDLL1のClass1内のTime_Show()というプロシージャを
呼べるように実装したいと思っています。
0610562
2006/05/15(月) 14:17:58Public Function Time_Show()
System.Windows.Forms.MessageBox.Show(Now())
End Function
End Class
0611562
2006/05/15(月) 14:18:28Private Sub Button1_Click( [省略] )
Dim asm as [Assembly]
Dim dllfile as string = "c:\hoge\MyDLL1.dll"
'ファイル名を指定してアセンブリを読み込む
asm = [Assembly].LoadFrom(dllfile)
'アセンブリの完全限定名を指定してアセンブリを読み込む
asm = [Assembly].Load("System, Version=1.0.5000.0, Culture=neutral, " + _
"PublicKeyToken=b77a5c561934e089")
'現在のコードを実行しているアセンブリを取得する
asm = [Assembly].GetExecutingAssembly()
'現在のアプリケーションドメインに読み込まれているすべてのアセンブリの完全限定名を表示する
Dim asms As [Assembly]() = AppDomain.CurrentDomain.GetAssemblies()
Dim a As [Assembly]
For Each a In asms
Console.WriteLine(a.FullName)
If a.GetName.Name = "MyDLL2" Then
'Activator.CreateIntstance などを使ってインスタンスを生成
Dim act As Activator
Dim ins As Object
ins = act.CreateInstance(a.GetType, BindingFlags.CreateInstance)
'★ここからどうすればいいのかわかりません。★
End If
Next a
End Sub
0612562
2006/05/15(月) 14:18:59この例の場合、具体的にどうすればMyDLL1.Class1.Time_Show() を
MyAPP1から実行できるようになるのでしょうか?
長ったらしい文章&連投&教えてクレ君で申し訳ありません。
0613デフォルトの名無しさん
2006/05/15(月) 14:36:43Dim C As New Class1
C.Time_Show()
End Sub
0614デフォルトの名無しさん
2006/05/15(月) 14:59:120616デフォルトの名無しさん
2006/05/15(月) 15:25:07> ・プラグインのインターフェイスを、インターフェイスまたは抽象クラスとして用意する。
> これは独立した DLL として、メインプログラム・プラグインの両者が参照する。
って書かれてるか分かる?
> ・プラグイン DLL は、上記のインターフェイスを実装する。
とか
> ・Activator.CreateIntstance などを使ってインスタンスを生成し、それをプラグインインターフェイスの型にキャストする。
とか。
0617562
2006/05/15(月) 16:02:07DLLInterfaces.dll
Public Class Interface1
End Class
つまり今回の例の場合、
MyAPP1にDLLInterfacesを参照設定し、
MyDLL1にもDLLInterfacesを参照設定しなければならないと
いうことですよね?
でも正直なところ、具体的にどのように上記のInterface1クラスに
記述し、MyDLL1にどのように実装すればいいのかわかりません。
> ・Activator.CreateIntstance などを使ってインスタンスを生成し、
これはMyAPP1.Button1_Click()でInterface1クラスのインスタンスを
生成するということで良いのしょうか?
0618デフォルトの名無しさん
2006/05/15(月) 16:16:10話はそれからだ
0619562
2006/05/15(月) 16:45:470620デフォルトの名無しさん
2006/05/15(月) 17:58:37なかなか参照するところは見つからなくて、困っています。
教えて下さい。
参考にしたいんです。
よろしくお願いします。
0621会社はME
2006/05/16(火) 07:21:13自分がサンプルで走らせたファイルの拡張子はvbsでした。
これはVBの実行ファイルではないんでしょうか?
0622デフォルトの名無しさん
2006/05/16(火) 07:34:39それは、VBスクリプトですね。
0623621
2006/05/16(火) 09:58:07そうですか・・・
たらー
自宅PCの方、ハードディスク整理して空きスペースつくりました。
今度の土日expressダウンロードして300秒の右側にある説明みて実行ファイル作ってみます
0624デフォルトの名無しさん
2006/05/16(火) 10:08:57すごいオチだったが、VBSでできるものをVB.NETにする意味あんのか
0625562
2006/05/16(火) 10:25:06ようやく指摘されていた事が少しずつわかってきました。
Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\Samples
に「WinForms-Inheritance-Vehicle」っていうのがありました。
これをみて >>564 の
> ・プラグインのインターフェイスを、インターフェイスまたは抽象クラスとして用意する。
> これは独立した DLL として、メインプログラム・プラグインの両者が参照する。
という意味が見えてきました。
これは統一されたインターフェイスを持つプラグインを複数開発するのには
良いなと思いました。
しかし、今回自分が作成したいのは、イメージ的には
mmc.exe の様なものでプラグインは.mscファイルの様なものです。
例えれば、SQLServerのEnterpriseManagerみたいな感じです。
まぁ上記サンプルを発展していけば近づけそうな気もしてきました。
まだ
> ・Activator.CreateIntstance などを使ってインスタンスを生成し、
という辺りが調べられていないので、もう少し調べてきます。
でも、お陰様でやってみたいことが実現できそうです。
0626デフォルトの名無しさん
2006/05/16(火) 10:45:49ためしにサンプルを実行しただけだろ。
0627デフォルトの名無しさん
2006/05/16(火) 12:03:16上のほうでシステム開発と言っているからTeam Suiteくらいが必要じゃないのか
0628会社はME
2006/05/16(火) 12:31:53スーツチーム?、ぐぐってみます
知識ゼロなんですけど、今の職場がもしコンピュータ使いこなしたらすごく変わることだけ分かります
少しずつ、を繰り返して、会社全体のOSのようなものを作りたいです
0629デフォルトの名無しさん
2006/05/16(火) 14:38:01あれば教えて頂きたいのですが…
0630デフォルトの名無しさん
2006/05/16(火) 14:57:56A = +123.456
0631デフォルトの名無しさん
2006/05/16(火) 14:59:16表示する際に付けるかであって
0632デフォルトの名無しさん
2006/05/16(火) 15:02:45あれはVS2005で提供されているコントロールですか?
0633デフォルトの名無しさん
2006/05/16(火) 15:14:470634デフォルトの名無しさん
2006/05/16(火) 15:28:49古より名を変え、形を変えて存在しています。
0635デフォルトの名無しさん
2006/05/16(火) 18:31:33XPの起動画面に出て来るような奴でしょ?
0636デフォルトの名無しさん
2006/05/16(火) 18:32:23今考えているプログラムでテキストボックスに書かせた
文章(これはプログラムコードなのですが)をプログラム
コードとしたいと考えています。
ところがテキストぼっくに書かせた文章を
テキストに出力させるのはどんな本にも載っていまし問題ないのですが、
このテキストに書かせコードをVBで読み込ますことはできないのですか?
そんなに難しいことではないと思うのですが・・・。
ユニックスとかのプログラムってテキストに書かせたのをコンパイルするのですから
テキストでコードを書くというのは昔は普通だったのですよね?
0637デフォルトの名無しさん
2006/05/16(火) 18:35:44vbscriptを吐き出して実行させることくらいはできるんじゃまいか
0638デフォルトの名無しさん
2006/05/16(火) 18:37:01自分でやったことはないけど。
http://www.atmarkit.co.jp/fdotnet/dotnettips/index/index.html#i104
つーか、書いてる文章の内容からして君にはもっと他にやるべきことがあると思う。
余計なお世話だろうけどね
0640デフォルトの名無しさん
2006/05/16(火) 18:42:06そのテキストボックスに入力したプログラムの部分を、どうやってコンパイルするかだな。
0641デフォルトの名無しさん
2006/05/16(火) 18:45:09そうなのです。
テキストボックスに書かせたコードをいったんメモ帳に書かせておいて、
それをソフトに読ませれば完了だと思っていたのですが
そんなに簡単ではないのですね・・・。
0642デフォルトの名無しさん
2006/05/16(火) 18:45:160643デフォルトの名無しさん
2006/05/16(火) 18:51:14こんなクラスまで用意されてんのかw
0644デフォルトの名無しさん
2006/05/16(火) 18:52:00直接コンパイラー呼んで、書き出したファイルをコンパイルする方法もありだが、開発環境が入ってないとだめだしなぁ。
>>642
kwsk
0645デフォルトの名無しさん
2006/05/16(火) 19:01:49作るまでが簡単ではない
0646デフォルトの名無しさん
2006/05/16(火) 19:51:42なんと .NET Framework の実行環境はコンパイラまで含んでいるんだぜ
0647デフォルトの名無しさん
2006/05/16(火) 20:41:56プログレスバーのプロパティをよーく調べてごらんよ。
0648最凶VB厨房
2006/05/16(火) 22:12:04・・・既にURL貼ってあったか。
0649デフォルトの名無しさん
2006/05/16(火) 22:27:120650デフォルトの名無しさん
2006/05/17(水) 00:26:32>テキストでコードを書くというのは昔は普通だったのですよね?
今でも普通だと思うが…
VB.NETだってそうだが…
0651デフォルトの名無しさん
2006/05/17(水) 09:20:29大昔のWinMainから書くよりはちょっとマシだけど。
0652632
2006/05/17(水) 10:28:00[ProgressBar]の[Style]プロパティを[Marquee]にしたところ、ぐるぐる回るプログレスバーが実現できました。
かっこよス(・ω・)
0653358
2006/05/17(水) 11:01:22当然、正規のVBのライセンスは持っているので、
ランタイム入りのインストールファイルを配ってもOKなはず。
ここで気になるのが、
最近、WINEとか称して、無理やりLinuxでWindowsをエミュレートする環境があるんですよ。
こういった環境へのインストール、
こういった環境へのインストールを前提としたインストールファイルの配布。
このあたり、ランタイムDLLの再配布ライセンス的にどうなんですかね。
ようは、非MS環境での使用は、合法?非合法?
0654デフォルトの名無しさん
2006/05/17(水) 11:01:580655デフォルトの名無しさん
2006/05/17(水) 13:38:46フォームに貼ったwebBrouserにHTMLを読み込ませて、そのHTMLのformのsubmitイベントをVB側で取得することは可能?
ぐぐって見つけた
ttp://www.experts-exchange.com/Programming/Programming_Languages/Dot_Net/VB_DOT_NET/Q_21475970.html
と同じようにコーディング(中段のAccepted Answerとこ)したんだけど、addHandlerするとHTML側のボタンが押せなくなるとかいう現象が起きて困ってます。
0656デフォルトの名無しさん
2006/05/17(水) 15:25:55TreeViewで実行中にノードの追加や削除ができるプログラムを作りました。
で、終了時にそのノードの構成を丸ごと保存して、次の実行時に再現したいのですが
いい方法はないでしょうか?
0657デフォルトの名無しさん
2006/05/17(水) 16:22:18卵が先か鶏が先か・・・
Treeviewに最初に表示してたのは一体なんだったんだ? それ次第の話じゃないか?
0658656
2006/05/17(水) 16:41:21初回起動時には大元のノードが1個だけの状態で、ユーザーが自由にノードの追加や削除、
名前の変更などができる仕組みのアプリなんです。
で、ユーザーが好きに作ったノードのツリー構造を保存して
次回起動時に復元したい、と思っています。
0659デフォルトの名無しさん
2006/05/17(水) 16:59:03ノードそのものを。
0660デフォルトの名無しさん
2006/05/17(水) 17:03:37FormのLoadイベントで、DBへアクセスしてデータを取得すると、
その間(2,3秒)は画面が表示されず、レスポンスが悪い感じになりますよね?
現在、画面をEnabled=Falseで開いて、データ取得後にEnabled=Trueにしてみたり、
色々試行錯誤しているのですが、何かいい方法はないでしょうか?
0661デフォルトの名無しさん
2006/05/17(水) 17:14:01DBアクセスは画面表示とは別のスレッドで行う。
そのスレッドをスタートした直後にApplication.DoEventsしておく。
0662656
2006/05/17(水) 17:15:48そう思ってシリアライズというのをやってみようとしましたが
'System.Windows.Forms.TreeNodeCollection' はシリアル化可能として設定されていません。
とか怒られてしまいます・・・・(´・ω・`)
VB2005初めて3日目だからよくわからないことイパーイ・・・
でももうちょっとがんがってみる(`・ω・´)
0663デフォルトの名無しさん
2006/05/17(水) 17:15:53理屈は知らんが、前に↓入れといたら似たようなことができたような・・・
違ってたら、ごめん。
Me.WindowState = FormWindowState.Normal
0664デフォルトの名無しさん
2006/05/17(水) 17:16:04ツリーとXMLドキュメントを対応させておく
漏れはXMLをツリー展開させる機能を持った
TreeViewを継承で作成した。
0665デフォルトの名無しさん
2006/05/17(水) 17:17:36確かに、こっちだったw
Application.DoEvents
0666デフォルトの名無しさん
2006/05/17(水) 17:20:09スレッド生成をLoadイベント内でおこなうわけですね?
スレッドのデバッグって大変そうですが、ちょっとやってみます。
ありがとうございました。
0667660
2006/05/17(水) 17:24:54Loadイベントの最初に Application.DoEvents を入れてみましたが、
画面が表示されるまでに、同じように時間がかかってしまいます。
何かやり方がまずかったんですかね?
0668デフォルトの名無しさん
2006/05/17(水) 17:49:46画面が表示されるのはLoadイベント抜けた後だから。
DBアクセスの前にMe.Showするという行儀の悪い方法もある。
2005ならShownイベントでDBアクセスすれば問題ないが。
0670デフォルトの名無しさん
2006/05/17(水) 18:41:59阿藤海なら思わず何だかなーって言っちゃうよ。
DoEventsって何だよw
理屈わかって言ってるのかな。
っていうか、>>660は何がしたいの結局?
DBへのアクセスが完了するまではユーザーにUIを触らせたくない。
でも「待ち」時間は我慢できない。
要求仕様が矛盾してるじゃん。
なんで「待ち」が発生してるの?
DBへのアクセスに時間がかかるからでしょ?
0671デフォルトの名無しさん
2006/05/17(水) 18:47:380672デフォルトの名無しさん
2006/05/17(水) 18:56:110673660
2006/05/17(水) 18:59:34たとえば、メニューを選択して対象画面を呼び出すとする。
メニューを選択したけど、一瞬反応がない(画面が表示されない)と、
ユーザーからすると、あれ?って思う。体感速度が遅く感じるって訳。
そこで、とりあえす画面を先に表示しておくだけでも、体感速度が変わってくると思う。
トータルとしては、逆に遅くなるかもしれないけど。
0675デフォルトの名無しさん
2006/05/17(水) 19:08:110676デフォルトの名無しさん
2006/05/17(水) 19:10:46そんなことしたって結局アクセスしている間UIがフリーズするだけ。
問題Aが別の問題Bに変わるだけじゃんw
(1) DBにアクセスする部分をフォームとは別クラスにして、(当然既にそうしてあるよね?)
フォームからは何らかのタイミングで(Loadでもなんでもいい)そいつに
「DBにアクセスせよ」と命令する。
(2) 命令された「DBにアクセスするクラスのオブジェクト」は、スレッドを
起動してDBにアクセスする。
(3) DBへのアクセスが完了したらフォームに何らかの方法(イベントが簡単だね)
でそれを通知する。
0677デフォルトの名無しさん
2006/05/17(水) 19:18:070678デフォルトの名無しさん
2006/05/17(水) 19:24:18うちのシステムでそれやってる。データの表示待ちの間は唯一「メニューに戻る」は出来る!
0679デフォルトの名無しさん
2006/05/17(水) 19:35:40表示されているファイルのパスを取得する方法にはどのようなものがあるのでしょうか、教えて下さい。
現在VBを勉強中なのですが、使用している参考書の練習課題に取り組んでいます。
その課題というのは、フォームにピクチャーボックスとボタン*4を配置し、
4枚の画像ファイルを用意してそれぞれをボタンに対応させ、
さらにピクチャーボックスをクリックすると決まった順番にその4枚が順次切り替わるようなものを作れというものです。
ピクチャーボックスには最初から4枚のうちの1枚が表示されている状態です。
ファイルパス指定の方法はfromfileを使えと指定されています。
ボタンに割り当てるのは出来たのですが、ピクチャーボックスをクリックすると・・・というところが上手くいきません。
select caseで、評価式にpicturebox1.imagelocation()を使えばいいのかなと思ったのですが、
初期状態ではimagelocationにはパスは記憶されていないんですね。
画像を表示させる際にloadを使わなければいけない、とまではわかりましたがそれだと課題のfromfileを使え、にそぐわないので違うのでしょう
0680デフォルトの名無しさん
2006/05/17(水) 19:39:09宿題は自分でやらんと意味ないだろ
0681660
2006/05/17(水) 19:40:42別スレッドでDBにアクセスすることで、データ待ちの間もウィンドウの移動などができたり、
>>678 の様な処理ができるってことですね。
0682デフォルトの名無しさん
2006/05/17(水) 20:24:150683デフォルトの名無しさん
2006/05/17(水) 20:59:590684デフォルトの名無しさん
2006/05/17(水) 22:04:260685653
2006/05/17(水) 22:18:590686デフォルトの名無しさん
2006/05/17(水) 22:23:140687デフォルトの名無しさん
2006/05/18(木) 07:59:17具体的にどういうこと?
0688デフォルトの名無しさん
2006/05/18(木) 08:14:570689デフォルトの名無しさん
2006/05/18(木) 13:48:45もっと簡単にGDI+を使ってGIF、PNGの減色ってできないものでしょうか?
0690デフォルトの名無しさん
2006/05/18(木) 13:57:35それ以外は減色のアルゴリズムから考える必要がある。
0692デフォルトの名無しさん
2006/05/18(木) 14:03:000693デフォルトの名無しさん
2006/05/18(木) 14:03:28ttp://www2.starcat.ne.jp/~fussy/algo/index.htm
0694デフォルトの名無しさん
2006/05/18(木) 14:39:21Encorder.ColorDepthのヘルプ見て色深度を変えてみたことあるが
GIFは8ビット、PNGとTIFFは24ビット以外変わらなかったのでやめた
0695679
2006/05/18(木) 16:08:00どうか教えて頂けませんか
0696デフォルトの名無しさん
2006/05/18(木) 16:13:43Load メソッドも ImageLocation プロパティも .NET 2.0 で追加されたメソッドだが、
じゃあそれまでは PictureBox で画像を表示することができなかったと言うのか
0697デフォルトの名無しさん
2006/05/18(木) 17:12:340698679
2006/05/18(木) 17:25:31select case文の評価に使って、現在表示している画像のファイル名によってcaseを設定したいのです
0699デフォルトの名無しさん
2006/05/18(木) 17:31:15表示したときのパス名を覚えておけばよいだけでは
それよか解答のついていない参考書もどうかと思うが
0700デフォルトの名無しさん
2006/05/18(木) 17:32:50配列に入れてインデックス回せば済むだろが
0701デフォルトの名無しさん
2006/05/18(木) 17:33:270702デフォルトの名無しさん
2006/05/18(木) 17:37:04Sub Button1_Click()
Index=1
1
End Sub
::
Sub Button4_Click()
Index=4
End Sub
Sub Button1
0703デフォルトの名無しさん
2006/05/18(木) 17:39:130704デフォルトの名無しさん
2006/05/18(木) 17:46:28Sub Button1_Click()
Index=0
Daisplay
End Sub
:
Sub Button4_Click()
Index=3
Display
End Sub
Sub PictureBox1_Click()
Index = (Index+1) Mod 4
Display
End Sub
Sub Display()
Indexの画像を表示
End Sub
0705デフォルトの名無しさん
2006/05/18(木) 19:11:090706デフォルトの名無しさん
2006/05/18(木) 19:27:56どこにあるのかわからない画像が、何故か表示されているとか?
0707679
2006/05/18(木) 19:35:43詳しく書いてみます。
フォームの中央にピクチャーボックス、その上下左右にボタンが配置されています。
予め4枚の画像を用意しておき、ピクチャーボックスには最初1.jpgが表示されています。
4枚の画像と4つのボタンは繋がっていて、ボタンを押す事でそれに対応した画像に切り替わります。
これはpicturebox1.image = image.fromfile(ファイルパス)としています。
ピクチャーボックスをクリックすると、例えば現在1.jpgが表示されているなら2.jpgを、4.jpgが表示されているなら1.jpgという風に次の画像へ切り替わるようにします。
現在select case ???
case 1.jpg
picturebox1.image = image.fromfile(2.jpg)
case 2.jpg
picturebox1.image = image.fromfile(3.jpg)
中略
end select
という風にしようと考えています。というよりはこれしか思いつかないだけなのですが
select caseの評価式、???の部分をどう記述すれば良いのかがわからないので困っています。
0708デフォルトの名無しさん
2006/05/18(木) 19:43:40そうすれば PictureBox の Image と比較するだけだし。
0709デフォルトの名無しさん
2006/05/18(木) 19:44:14やってみたけど確かに変わりませんな・・・
>>693
難しそうだにゃー
0710デフォルトの名無しさん
2006/05/18(木) 20:04:36そんなの初心者だろうがなんだろうが人に聞くような内容じゃないと思う。
その程度のこと自分で考えてできないならプログラミングなんて最初から
やらないこった。
ストレスの元になるだけだよ。
0711デフォルトの名無しさん
2006/05/18(木) 21:46:41まあ長文なのは気になるが荒らしてるわけではないので気楽に行こうや
>>709
ネットで探せばVB6の減色やGIFやPNGの書き出しサンプルは手に入る
それらを参考にしてはどうか
0712デフォルトの名無しさん
2006/05/18(木) 21:48:24メモリは256くらいですがしょぼすぎ?
0713デフォルトの名無しさん
2006/05/18(木) 21:51:21つかスワップ発生しすぎでたまらん HDD 遅いのに
0714デフォルトの名無しさん
2006/05/18(木) 22:12:11やっぱ512は必要かな・・・
0715デフォルトの名無しさん
2006/05/18(木) 23:11:170716デフォルトの名無しさん
2006/05/18(木) 23:32:10あと5年たっても手に入らないと思われますがw
メモリは512でも1Mでもそんなに違わないよ。
0717デフォルトの名無しさん
2006/05/18(木) 23:43:260718デフォルトの名無しさん
2006/05/18(木) 23:52:260719デフォルトの名無しさん
2006/05/18(木) 23:54:421Mは100万だから100万MB、1兆byteとなる
0720デフォルトの名無しさん
2006/05/19(金) 00:02:450721デフォルトの名無しさん
2006/05/19(金) 00:20:290722デフォルトの名無しさん
2006/05/19(金) 10:42:35行いたいことは、ユーザーの最終ログオンコンピューターを特定すること。
1on1の環境ではないので、不特定多数のコンピューターからADにログオン可能なのですが、
どのユーザーがどのPCから最終ログオンをしたのかを知りたいのです。
最終ログオン時間は現在でもあるのですが、最終ログオンコンピューター見つけられませんでした。
ログオンスクリプトでADを動的に書き換えれば可能だとは思うのですが。
よろしくお願いします。
0723↑スレ違い乙
2006/05/19(金) 11:07:250724デフォルトの名無しさん
2006/05/19(金) 11:10:15ピュータ名を書き出せばいいんでない? 書き出したファイルの作成
日時がそのままログオン時間になるしさ。
0725724
2006/05/19(金) 11:14:310726デフォルトの名無しさん
2006/05/19(金) 12:10:33いや、VBで使うのにほしかった。VBからもADSI使えるし。
>724
別にSQL鯖でも立てれば簡単に解決するんですけどね〜
0727マルボロメン
2006/05/19(金) 12:11:27Win32APIの機能を使って、2重起動をチェックする
というプログラムをコーディングしていたのですが、
それを少し発展させて、2重起動をしたら
起動中のアプリケーションを最前面に表示しアクティブにする、
という具合にしたいと思いました。
別のウィンドウの後ろに隠れていたフォームを最前面に表示・アクティブ化は
問題なくできたのですが、
起動中のものが非表示状態(Visibleがfalse)だった場合、
そのフォームを表示状態にして最前面に表示することは可能なのでしょうか?
【要約】
1度目の起動時は通常起動でフォームを表示させ、
そこでボタンをクリックしてフォームをHideし、
2度目の起動で、先ほどHideしたフォームをShowしたいです。
以下にコードを記します。
0728& ◆jxvOu6XgII
2006/05/19(金) 12:15:46Imports System.Runtime.InteropServices
Private Sub Form1_Load(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles MyBase.Load
Call CheckProcess()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles Button1.Click
Me.Hide()
End Sub
<DllImport("user32.dll")> _
Private Shared Function ShowWindow(ByVal hWnd As System.IntPtr,ByVal nCmdShow As Integer) As Integer
End Function
Private Const SW_SHOW As Integer = 5
Public Shared Function ShowPrevProcess() As Boolean
Dim hThisProcess As Process = Process.GetCurrentProcess()
Dim hProcesses As Process() = Process.GetProcessesByName(hThisProcess.ProcessName)
Dim iThisProcessId As Integer = hThisProcess.Id
For Each hProcess As Process In hProcesses
If hProcess.Id <> iThisProcessId Then
Call ShowWindow(hProcess.MainWindowHandle, SW_SHOW)
Return True
End If
Next hProcess
Return False
End Function
0729マルボロメン
2006/05/19(金) 12:16:21Public Sub CheckProcess()
' 同名のプロセスが起動していない時は起動する
If ShowPrevProcess() = False Then
Application.Run(New Form1())
'2重起動に当たる場合は起動中のものをShowし、終了する。
Else
End
End If
End Sub
ご意見お願いします。
0730デフォルトの名無しさん
2006/05/19(金) 12:27:02・ウィンドウの処理はむしろ通知を受けた側が行う
0731デフォルトの名無しさん
2006/05/19(金) 12:37:540732デフォルトの名無しさん
2006/05/19(金) 13:01:33VB2005ならプロジェクトのプロパティから
「アプリケーションフレームワークを有効にする」
「単一インスタンスのアプリケーションを作成する」
にチェックすればそのままズバリが提供されている。
0733デフォルトの名無しさん
2006/05/19(金) 13:15:20そこでMutexの取得可能かどうかで判定した方がいいと思う。
0734マルボロメン
2006/05/19(金) 13:52:13そうですね。そのやり方も調べてみます。ありがとうございます。
>>731
インデント、Tab使ったらダメなんですね^^;
以前に、とある先輩にコードは半角スペースを使ってインデントした方が
マルチに対応する、と聞かされたことを思い出しました。
>>732
ズバリ、それでできました。付け加えるとアプリケーションイベントプロシージャに
if (Me.visible = false) then
me.visible = true
end if
と付け加えると、フォームがHideされていても表示され、かつ最前面に表示されました。
>>733
そうですね。main()を使ってやった方が良いのかも知れません。
次回はmain()内でMutexコンストラクタを使って挑戦してみたいと思います。
0735マルボロメン
2006/05/19(金) 13:55:54あ、またインデントできてない;;
ちょっと練習します。
If Me.Visible = False Then
Me.Visible = True
End If
…これでできたかな?
0736マルボロメン
2006/05/19(金) 13:56:58がーん、できてない…
0737デフォルトの名無しさん
2006/05/19(金) 14:11:39インデントしたけりゃ全角スペース使え
0738デフォルトの名無しさん
2006/05/19(金) 14:25:55 を使うんだ
0739デフォルトの名無しさん
2006/05/19(金) 15:29:59よろしくお願いします。
0740& ◆ueGjjyAmr.
2006/05/19(金) 15:32:51ス
ト
0741デフォルトの名無しさん
2006/05/19(金) 16:31:050742デフォルトの名無しさん
2006/05/20(土) 17:09:39ラベルの端がフォームの端に触れた時に進行軸を逆にするにはどう記述すれば良いでしょうか・・・
一応自分なりに考えてみたのですが、これだとif文の前の代入を毎度反映してしまって反射は出来ないですよね?
ヒントでも良いので何方か宜しくお願いします。(インデントずれてたらすいません)
With Label1
Dim a, b As Short
a = 1
b = 1
If .Left = 0 Or .Left = Me.Size.Width - .Width Then
a *= -1
End If
If .Top = 0 Or .Top = Me.Size.Height - .Height Then
b *= -1
End If
.Left = .Left + a
.Top = .Top + b
End With
0743デフォルトの名無しさん
2006/05/20(土) 17:11:26...orz しら中田
0744最凶VB厨房
2006/05/20(土) 17:20:25a=1
b=1
をtickイベントハンドラ外でやれ。
0745デフォルトの名無しさん
2006/05/20(土) 17:20:30'System.Data.SqlClient.SqlException' の初回例外が System.Data.dll で発生しました。
DefaultSource Error: 2 : タイムアウトに達しました。操作が完了する前にタイムアウト期間が過ぎたか、またはサーバーが応答していません。
どうやったらなおるでしょうか。
0746デフォルトの名無しさん
2006/05/20(土) 17:23:43普通に置くとコントロールの大きさは一定ですよね
0747デフォルトの名無しさん
2006/05/20(土) 17:27:380748最凶VB厨房
2006/05/20(土) 17:27:39いいんでないの。
0750745
2006/05/20(土) 17:49:110751745
2006/05/20(土) 17:56:430753デフォルトの名無しさん
2006/05/20(土) 20:06:15今Reflectionで遊んでいるんですけど、
なんか冒険しているみたいで楽しいですね〜♪
</チラシの裏>
0754デフォルトの名無しさん
2006/05/20(土) 21:35:23このままタイトルバーを含まないように、フォームの大きさ変更に伴ってパネルサイズも変更されるようにするにはどうすれば良いでしょうか?
リサイズイベントにpanel1.size=me.sizeとするとタイトルバーの大きさを含んでしまいますよね?
0755デフォルトの名無しさん
2006/05/20(土) 21:44:27取りあえず求めてる大きさは ClientSize で取得できるだろうが。
0756デフォルトの名無しさん
2006/05/20(土) 21:58:140757デフォルトの名無しさん
2006/05/20(土) 21:58:51それはまあ許せる仕様なんだけど、全角のダブルクォーテーションとかまで
強制的に半角にしちまう仕様は腐ってるよな。
半角のみたいにエスケープもできんしw
どうしろっちゅうねんほんと
0758754
2006/05/20(土) 22:05:46プロパティでfillにするだけでは駄目なの?
0759デフォルトの名無しさん
2006/05/20(土) 22:28:14プロパティの Anchor を 使ったほうが簡単かも
0760デフォルトの名無しさん
2006/05/20(土) 22:32:23フォームにパネルだけ配置して、Dockプロパティを Fill にしても
パネルが可変されないか、試してみたら?
0761754
2006/05/20(土) 22:39:530762デフォルトの名無しさん
2006/05/21(日) 08:29:45迫られました。
ひな型にできそうなVBAのコードがあったので、とりあえずVBAではじめたんですが、VSの
方が使い勝手がよさそうです。Visual Studio Tools for Officeというのを入れればVB.NETでも
いけそうですが、実際どう思われますか?
ほとんど2者の違いを気にせず、コードが書けるのならVB.NETで書きたいです。
プログラミング自体は初心者で、いまさらVBAを学ぶというのも後ろ向きな気がして。
0763デフォルトの名無しさん
2006/05/21(日) 09:37:220764デフォルトの名無しさん
2006/05/21(日) 10:19:17エクセルでやりたいのは、元となるエクセルシートに、SQL Selectステートメントで引っ張って
きたデータを特定のセルに貼り付ける程度で、罫線を引いて見栄えを良くしておしまいです。
VB6とVB.NETの違いを参考にいろいろ調べてみたのですが、プロパティの指定が必須とか
変数のデータタイプはきちんと明示しましょう、くらいしか今回のケースに当てはまらなかった
ので、VB.NETでVBAと同じことがそれほど苦労なくできそうな気がしていました。
VB6とVBAでのエクセルシートの扱いが全然別物なら、当然ですよね。
0765デフォルトの名無しさん
2006/05/21(日) 15:38:57負の数を認識させたい場合はどうすればいいのですか?
0766デフォルトの名無しさん
2006/05/21(日) 15:41:410767デフォルトの名無しさん
2006/05/21(日) 15:47:43変数に入ってるのが負かどうかを確認したいって意味なら、比較演算子
で0より小さいかどうかを判断させればいいじゃん。
0768デフォルトの名無しさん
2006/05/21(日) 15:51:37すいません。
a(0)=1.a(1)=2・・というふうにいくつかの数を用意しておいて
これを大きい順になるベルと言うプログラムを作っています。
ところが、a(1)=-2というふうに負の数になったらうまく動きません。
対処法を知っているかたがいたらよろしくお願いします。
0769デフォルトの名無しさん
2006/05/21(日) 15:57:290770デフォルトの名無しさん
2006/05/21(日) 16:06:11たびたびすいません。
繰り返しの際に、最初に Const MAX =36 as short、 Const MIN=-20 as short
というふうに宣言をしておいて、繰り返しで処理させるところでMINやMAXを使って
i=MIN to MAXというふうに繰り返させるのですが、負の数が絡んだ場合、
なにかうまい方法はないでしょうか?ということです。
私も理解してなくて申し訳ありません。
0771デフォルトの名無しさん
2006/05/21(日) 16:09:50ソートのアルゴリズムはぐぐったら山ほどサンプルが出てくるから、
まずそこを熟読した方がいいよ。いまの状態だと「何がわからないの
かわからない」みたいだから。
0772デフォルトの名無しさん
2006/05/21(日) 17:12:040773デフォルトの名無しさん
2006/05/21(日) 17:19:27言いたがる法則w
こういうのは必要条件と十分条件を混同してるんだよなw
馬鹿な質問者がいるからって質問者全員が馬鹿なわけじゃない
0774デフォルトの名無しさん
2006/05/21(日) 17:26:550775
2006/05/21(日) 17:35:54チューターの演習問題のWebブラウザになる超簡単なはずのやつですけど。
2回エラーでうまくいかなくて、今日3回目でうまくできた!
うれしい!
ハッピ!
0776デフォルトの名無しさん
2006/05/21(日) 17:36:06マーフィーの法則の著者だ、じゃなく
君が馬鹿だといっているのだが。
0777デフォルトの名無しさん
2006/05/21(日) 17:43:040778デフォルトの名無しさん
2006/05/21(日) 18:03:540779デフォルトの名無しさん
2006/05/21(日) 20:24:33聞きたいことが分かりましたので
たびたび申し訳ありませんがお付き合いください。
VB6.0のときは、例えばA(i)のiの部分、つまり配列の次元を
負で設定しても問題なかったようなのですが
VB.NETではできません。これの代わりの機能はあるのですか?
0780デフォルトの名無しさん
2006/05/21(日) 20:31:350781デフォルトの名無しさん
2006/05/21(日) 20:37:05ソートのアルゴリズムのサンプルなのですがこんな感じです。
途中までしか載せてませんが、VB6ではこれで動きます。
Const Num = 10
Const Max = 36
Const Min = -20
Private Sub Command1_Click()
Dim a(Num - 1), juni(Min - 1 To Max)
a(0) = -3: a(1) = 2: a(2) = 3: a(3) = -1: a(4) = -2
a(5) = -6: a(6) = 2: a(7) = -1: a(8) = 1: a(9) = 5
For i = Min To Max
juni(i) = 0
Next i
For i = 0 To Num - 1
juni(a(i)) = juni(a(i)) + 1
Next i
juni(Min - 1) = 1
For i = Min To Max
juni(i) = juni(i) + juni(i - 1)
Next i
0782デフォルトの名無しさん
2006/05/21(日) 20:38:200783デフォルトの名無しさん
2006/05/21(日) 20:42:130784デフォルトの名無しさん
2006/05/21(日) 20:46:59いや、もちろんそれでもいいのですが、
何かうまい方法があればと思い相談したのです。
6.0でできて.NETでできないって事は無いと思ったのですが・・・。
もちろんいろいろ機能が変わったのは知っていますが。
なるべくこのやり方を.NETのやり方に変えられないかなと思いまして・・・。
0785デフォルトの名無しさん
2006/05/21(日) 20:54:43ハッシュテーブルじゃ駄目なん?
0786デフォルトの名無しさん
2006/05/21(日) 20:58:57では、そのハッシュテーブルと言うのを調べてみます。
どうもありがとうございました。
0787デフォルトの名無しさん
2006/05/21(日) 21:00:27Dim juni(Max - Min + 1)
juni(x - Min) = xxx
0788デフォルトの名無しさん
2006/05/21(日) 21:01:41どうもありがとうございます。
またよろしくお願いします。
0789デフォルトの名無しさん
2006/05/21(日) 21:30:300790デフォルトの名無しさん
2006/05/21(日) 22:09:110791デフォルトの名無しさん
2006/05/21(日) 22:14:430792デフォルトの名無しさん
2006/05/22(月) 13:36:31それじゃソートの勉強にならないよ。(w
0793デフォルトの名無しさん
2006/05/22(月) 13:47:220794デフォルトの名無しさん
2006/05/22(月) 14:23:12ソートするのが目的か、より良いソートを目指すのが目的かで違うが
これって結局は分布数えソートだろ
一般化するなら最大、最小を最初に空読みして決めるか、その場で配列を組みなおすか、リストで管理するかしないと実用にならないな
逆に数値の範囲が決まっていればかなり早くソートできるけどな
0795デフォルトの名無しさん
2006/05/22(月) 14:40:09さ。試験対策でやってるんなら、きちんと各ソートを学んでおくべき
かなと。
0796デフォルトの名無しさん
2006/05/22(月) 19:36:41これってVB.netの正規表現に存在してないのでしょうか?
0797デフォルトの名無しさん
2006/05/22(月) 19:41:04.NET Framework の正規表現
0798デフォルトの名無しさん
2006/05/22(月) 23:44:45どのようにすればこの機能を実現できますか?
0799デフォルトの名無しさん
2006/05/22(月) 23:54:590800デフォルトの名無しさん
2006/05/23(火) 00:01:26単に同じメソッド呼び出したいだけならそう言う風にすれば良いだけだが
0801デフォルトの名無しさん
2006/05/23(火) 00:07:15TabControlの各ページに配置するコントロールの構成が
すべて同じの時に、TabControlの代わりに使用する
コントロールかプロパティかがあったように思うのですが、
失念してしまいました。
調べても発見できず悶々としています。
すみませんが、教えてください。
よろしくお願いします。
0802デフォルトの名無しさん
2006/05/23(火) 00:09:11ボタン1.PerformClick
0803デフォルトの名無しさん
2006/05/23(火) 00:18:18なんか見当違いかも知れんけど
PanelとPanel用のイベントハンドラを固めたクラスを用意してStateパターンを使ってみるとかじゃだめ?
0804デフォルトの名無しさん
2006/05/23(火) 00:27:50旧VBのTabSTripのこといってるんじゃない?
相当するコントロールはドトネトには存在しない。
0805デフォルトの名無しさん
2006/05/23(火) 00:50:59二重ループで一個ずつセルに代入すれば?
0806801
2006/05/23(火) 01:49:31あ、そういえばと思い出して調べてみるとどうもExcelVBAを1年ほど前に
手がけたときの記憶が.NETと混同していたようです。
ちょっと調べてみていろいろ試してみます。
ありがとうございました。
0807デフォルトの名無しさん
2006/05/23(火) 12:03:41>>TabControlの各ページに配置するコントロール
↑を全部 TabControl以外に置くだけでいいのでは?
0808デフォルトの名無しさん
2006/05/23(火) 12:10:28とりあえず起動させて、プロジェクト→参照の追加→Microsoft Excel Object Library
を選んでOKを押します。
Dim xlsOBJ As excel.application
とやってもインテリセンスが働かず、型定義がされません。
どうして?
0809デフォルトの名無しさん
2006/05/23(火) 12:34:09少しは自助努力ってものをした方がいいと思うよ。
そんなもんちょっと調べりゃすぐ分かるでしょ。
MSのサイトにすらヒントが書いてあるのに
0810デフォルトの名無しさん
2006/05/23(火) 13:50:560811デフォルトの名無しさん
2006/05/23(火) 14:07:26「人工無能」でぐぐれ。
0812デフォルトの名無しさん
2006/05/23(火) 18:32:23走らせているのですが、あるタイミングになるまで
すべて同じスレッドが動作してしまいます。
(System.AppDomain.GetCurrentThreadIdで確認)
しばらくキー操作しているとbeginInvoke毎に異なる
スレッドが動くようになるのですが、
この現象はどうしたら解決できるでしょうか?
0813デフォルトの名無しさん
2006/05/23(火) 18:37:26だからエスパーはおらんよ。
解決って、それで何が問題で、どうしたいとおっしゃるんで?
0814デフォルトの名無しさん
2006/05/23(火) 18:39:52再現性のある短めのコードをアップしてくれ。
0815デフォルトの名無しさん
2006/05/23(火) 18:43:34分かりにくくて申し訳ありません。
問題=>アプリケーション起動後、BeginInvokeで使われるスレッドが特定の1個のスレッドになっている
どうしたいか=>アプリケーション起動後すぐに、ちゃんとbeginInvoke毎に異なるスレッドが動くようにしたい
0816デフォルトの名無しさん
2006/05/23(火) 18:49:21非同期デリゲートのBeginInvokeのことなら、スレッドプールを使ってるから同じスレッドで動くことがある。
確実に別スレッドで動かしたいならThreadクラスを使え。
0817デフォルトの名無しさん
2006/05/23(火) 18:50:14本当にそうなってるなら、「次」にキーが押されたときには既に前のスレッドが
終了しているからでしょ。
逆に言えば、終了してなければそのような現象は発生しないはずだと思うよ。
BeginInvokeはスレッドプールを使ってるそうだから、終了したスレッドが
使いまわされてるだけなんじゃないかな。
0818デフォルトの名無しさん
2006/05/23(火) 18:52:28「使え」だってさ。
お前は北方謙三かw
そんな偉そうにいうような内容かよ
0819デフォルトの名無しさん
2006/05/23(火) 19:09:36今サンプルコードを出します。。
0820デフォルトの名無しさん
2006/05/23(火) 19:20:06Private KeyUpDel As KeyUpDelegate
Private iOtherKeyUp As Integer
Private Sub Form1_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyUp
KeyUpDel = New KeyUpDelegate(AddressOf KeyUpProc)
KeyUpDel.BeginInvoke(e, New AsyncCallback(AddressOf CallBack), KeyUpDel)
End Sub
Private Sub KeyUpProc(ByVal e As System.Windows.Forms.KeyEventArgs)
TextBox2.Text += "[" & System.AppDomain.GetCurrentThreadId.ToString & "]" & _
"(" & e.KeyCode.ToString & ")" & "KeyUpProc" & vbCrLf
If e.KeyCode = Keys.ControlKey Then
System.Threading.Thread.Sleep(150)
If iOtherKeyUp > 0 Then
Return
Else
TextBox1.Text += "x"
End If
Else
iOtherKeyUp += 1
System.Threading.Thread.Sleep(300)
iOtherKeyUp -= 1
End If
End Sub
Private Sub CallBack(ByVal ar As System.IAsyncResult)
Dim d As KeyUpDelegate = DirectCast(ar.AsyncState, KeyUpDelegate)
d.EndInvoke(ar)
End Sub
0821デフォルトの名無しさん
2006/05/23(火) 19:23:32貼り付けてください。
Ctrlを単独で押した時だけxが出、
Ctrl+他のキーが押された場合は何も出ないようにしたいのです。
途中までうまくいきません。(同一スレッドが動いてしまっている)
途中からうまくいくようになります。(ある時点から別々のスレッドが動く)
0822デフォルトの名無しさん
2006/05/23(火) 19:26:50[2812](ControlKey)KeyUpProc
[2812](A)KeyUpProc
[2812](ControlKey)KeyUpProc
[2812](A)KeyUpProc
[2812](ControlKey)KeyUpProc
[2812](A)KeyUpProc
[2812](ControlKey)KeyUpProc
[2812](A)KeyUpProc
[2812](ControlKey)KeyUpProc
[2812](A)KeyUpProc
[2812](ControlKey)KeyUpProc
[2812](A)KeyUpProc
[1728](ControlKey)KeyUpProc ←ここから別スレッドが動き、期待した動作になる(タイミングは不明)
[2812](A)KeyUpProc
[1728](ControlKey)KeyUpProc
[2812](A)KeyUpProc
[1728](ControlKey)KeyUpProc
[2812](A)KeyUpProc
[1728](ControlKey)KeyUpProc
[2812](A)KeyUpProc
[1728](ControlKey)KeyUpProc
[2812](A)KeyUpProc
0823デフォルトの名無しさん
2006/05/23(火) 19:41:56また明日よろしくお願いします
0824デフォルトの名無しさん
2006/05/23(火) 20:11:15>>816-817 のとおりでスレッドプールの正常な動作。
System.AppDomain.GetCurrentThreadId は .NET 2.0 では
「メモ : このメソッドは、互換性のために残されています。」
になっててスレッドIDを調べることに意味が無いということでしょう。
0825デフォルトの名無しさん
2006/05/23(火) 20:21:290826デフォルトの名無しさん
2006/05/23(火) 20:58:54異論覚悟で後半は書いたので、出来たらもっと意味のある反論がほしいな。
ちが・・・で口濁すなんて掲示板では最低だよ。
ここではWin32のスレッド番号を返すことに意味がないと言いたいわけで、
CLRが管理しているスレッドの何らかの識別子を返すメソッドがあるのはOKなわけですよ。
プラットフォームからもスレッドからも中立であるはずのAppDomainに
このメソッドがあるのがおかしく廃止候補になったのは当然だと思う。
0827デフォルトの名無しさん
2006/05/23(火) 21:05:56お前は最低な奴だ。
0828817
2006/05/23(火) 21:13:18せっかくレスしてるのになんでスルーするんだろ変な人だな。
まあいいや、ダメな人にありがちだけど、なんでもっと単純なコードで
テストしないの?
とりあえずスレッドで実効するメソッドを以下のように変えてみ?
Private Sub KeyUpProc(ByVal e As System.Windows.Forms.KeyEventArgs)
Console.WriteLine("ThreadID = {0}", System.AppDomain.GetCurrentThreadId)
Sleep(10000)
End Sub
だから言ったでしょ?
「次」にBeginInvokeを実行したときに「前」のスレッドが終了してなきゃ
そんなことにはならないから何の問題もないと。
0829817
2006/05/23(火) 21:13:520830デフォルトの名無しさん
2006/05/23(火) 21:14:19見損なったぜ。
0831デフォルトの名無しさん
2006/05/23(火) 22:31:54エラーメッセージとかは一切出ず、無反応です。
1.1と2.0を一回消してwindowsupdateからインストールもしてみました。
誰か分かる人いませんか?
0832デフォルトの名無しさん
2006/05/23(火) 22:38:03そういう質問はこのスレで聞くよりこの投稿欄で聞いたほうがいいと思うよ。
エスパーがいっぱいいるからね。
http://www.gakken.co.jp/mu/
0833825
2006/05/23(火) 23:21:430834デフォルトの名無しさん
2006/05/24(水) 06:51:180835812
2006/05/24(水) 10:05:53&他の方も書き込みありがとうございます。
CallBackにデバッグ出力を入れて、Sleep時間を変えて試したところ
確かに「前」のスレッドが終了してしまっているようです。
ただ腑に落ちないのはなぜ途中から挙動が変わるのかという点です。
起動後しばらくの間の『「前」のスレッドが終了しまう』挙動は
おかしいと感じます。
0836デフォルトの名無しさん
2006/05/24(水) 11:05:39スレッドプールはCPU1につき待機してるスレッドは1つだけで、
キューに複数の要求がたまれば0.5秒の待機のあと待機スレッドをひとつ増やす。
それにキューイングされている要求を実際にアサインするまでにさらに時間がかかる。
最初のうちがスレッド1つ、途中から2つになるのはこのため。
詳しくはここを一度読もう。
http://msdn2.microsoft.com/ja-jp/library/0ka9477y.aspx
0837812
2006/05/24(水) 11:07:20非常にもっさりしてしまうので困ってます。
0838812
2006/05/24(水) 11:14:43これですね、原因は!
ありがとうございます!読んでみます。
0839812
2006/05/24(水) 11:32:10836さん、本当にありがとうございました(他のみなさんも)。
手持ちのMSDNにはThreadPoolクラスのこのメソッドのことは書かれていませんでした
(気付きませんでしたがIDEではちゃんと補完で出てきますね)。
自分も初期状態での待機スレッドが少ないからではないかという
思考はよぎっていたのですが、そこを追及して調べるまで至っていませんでした。
0840デフォルトの名無しさん
2006/05/24(水) 11:32:42テーブルの情報が変更されていた場合、DataSetの情報でそのテーブルを上書きしたいです。
今はDBConcurrencyException例外がおきて更新できない状態です。
何かヒントを教えてください。
0841デフォルトの名無しさん
2006/05/24(水) 11:42:57ttp://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=20234&forum=7&5
0842デフォルトの名無しさん
2006/05/24(水) 12:04:05この現象です。
自動生成したコマンドが複雑なWHERE区を作成するのが原因みたいです。
自分でUpdate文を作成することにします。
ありがとうございました。
0843デフォルトの名無しさん
2006/05/24(水) 12:18:10SqlCommandBuilder使ってるなら、やめといたほうがいいよ。
単一テーブルでしかまともに動かないし、冗長なSQLを吐くからさ。
0844デフォルトの名無しさん
2006/05/24(水) 12:35:320845デフォルトの名無しさん
2006/05/24(水) 13:05:44その程度で済む業務って限られるから。
マスターメンテとかぐらいじゃないの?
そうじゃなければ、ORマッピングの活性化したデータとしてあれを使うわけで。
みんなで突付き合いしたりに耐えられるかな?
0846デフォルトの名無しさん
2006/05/24(水) 13:07:12自分でやったらすっげー大変だった
もうやりたくない・・・
0847デフォルトの名無しさん
2006/05/24(水) 14:54:00まあ楽なのはわかるんだけど、自分で組んだSQLならエラーが出ても
原因を突き止めやすいじゃん。自動生成でやたらと長いSQLだと、ど
こがおかしいのか見つけるのが超面倒だし。
コネクションとかアダプタも、ウィザード使わずに自分でコード書く
けど、みんなもそうしてるよね?
0848デフォルトの名無しさん
2006/05/24(水) 15:15:48行の削除や追加、あちこちのセルの書き換え等が動的に頻繁に起こる業務アプリで
最後にそれら大量の変更をテーブルに反映させるのにいちいちSQL書くのか?
現実的じゃないな。やっぱり自動生成機能は使った方が正解。
0849デフォルトの名無しさん
2006/05/24(水) 16:25:28汎用Grid操作エンジン作って、独自言語で処理
SQLは自作モジュールで自動生成
これ最強
とか書く馬鹿が出そうw
0850デフォルトの名無しさん
2006/05/24(水) 16:25:50ようにしてるけど。更新のタイミングがキモだから、どちらか楽or軽い
ほうを選ぶようにするなぁ。
自動生成したコマンドを見直してチューニングするってのもありだろう
し、まあひとそれぞれなんじゃないかな?
0851デフォルトの名無しさん
2006/05/24(水) 16:52:03DataSetとGridは連結するけど、DataSet=DBではないからね。
画面仕様をDB設計にあわせる、または逆なんて出来ないでしょ?
画面は客の要望、DBは限りなく理想的に。
そのねじれを自動的にやってくれるなんてのはやっぱないよ。
その皺寄せを仕事にするか、客に押し付けるかの違いだと思うが。
0852デフォルトの名無しさん
2006/05/24(水) 17:34:040853デフォルトの名無しさん
2006/05/24(水) 17:37:00‥‥なんでもかんでも「できます!」って安請け合いするなよ。orz
0854デフォルトの名無しさん
2006/05/24(水) 21:20:13言ってること意味不明なんだが・・・
0855デフォルトの名無しさん
2006/05/24(水) 21:46:110856デフォルトの名無しさん
2006/05/24(水) 22:37:570857デフォルトの名無しさん
2006/05/24(水) 22:51:100858デフォルトの名無しさん
2006/05/24(水) 23:24:20VB6ではイミディエイトウインドウに出力するとき
debag.print(〜なんだかんだ〜)と書けばいいようですが
VB.NETではどうすればいいのですか?
一応、本を見るとdebag.WritelLineというのうがあるようですが
うまくいかないのです。
何かほかにdebag.printに該当するものがあるのでしょうか?
0859デフォルトの名無しさん
2006/05/24(水) 23:25:580860デフォルトの名無しさん
2006/05/24(水) 23:30:35ttp://msdn2.microsoft.com/ja-JP/library/7821bed5.aspx
0861デフォルトの名無しさん
2006/05/24(水) 23:32:01http://msdn2.microsoft.com/ja-JP/library/867tyd42.aspx
0862デフォルトの名無しさん
2006/05/24(水) 23:35:37どうもありがとうございます。
0863デフォルトの名無しさん
2006/05/25(木) 05:46:09ここが悪いとか駄目とかありますか?
0864デフォルトの名無しさん
2006/05/25(木) 08:44:06起動が遅い
画面描画が遅い
ソースが丸見え
APIをカバーし切ってない
0865デフォルトの名無しさん
2006/05/25(木) 08:52:560866デフォルトの名無しさん
2006/05/25(木) 11:18:560867デフォルトの名無しさん
2006/05/25(木) 12:20:33ソース難読化は気休めだもんなぁ。
0868デフォルトの名無しさん
2006/05/25(木) 12:27:45EXCELを使う
0869デフォルトの名無しさん
2006/05/25(木) 13:06:35の両方に作成されますが、配布するのはとち
らの方ですか?
0870デフォルトの名無しさん
2006/05/25(木) 13:07:59ソースが丸見えなんですか…
つまり… 駄目?
0871デフォルトの名無しさん
2006/05/25(木) 13:23:21データグリッドにデータテーブルをバインドさせて一覧を表示してるんですが
データテーブルの中にあるDatatime型のフィールドの表示を
YYYY/MM/DD hh:mm:ss
にするにはどうすればいいんでしょうか。現状は YYYY/MM/DDのみ。
DataGrid.DataSource = Datatable
こんな感じで単純にくっつけてるだけです。
ちなみにクイックウォッチでデータテーブルの中身を見ると
時間もはいってます。
0872デフォルトの名無しさん
2006/05/25(木) 13:35:39最終的には DataGridTextBoxColumn の Format プロパティで設定する
日付と時刻の書式指定文字列 参照
0873デフォルトの名無しさん
2006/05/25(木) 13:44:37DataGridTextBoxColumn#Formatに"YYYY/MM/DD hh:mm:ss"をセットする
0874871
2006/05/25(木) 13:58:40そのテーブルデザインにあわせて
コード上でDataGridTextBoxColumn の Format を
アクティブに変更するようなコードにすればいいんですね。
ありがとうございます。方向性はわかりました。
でもこんなに手間がかかるものだったとは。
ただ時間がみたいだけなのにー
0875デフォルトの名無しさん
2006/05/25(木) 14:11:490876デフォルトの名無しさん
2006/05/25(木) 14:46:57http://www.atmarkit.co.jp/fdotnet/tools/dotfuscator/dotfuscator_01.html
これでも読んで自分で判断してね
0877デフォルトの名無しさん
2006/05/25(木) 14:51:520878デフォルトの名無しさん
2006/05/25(木) 15:15:29見た目のカスタマイズを行うためのアプローチも
考え方が全然ちがう。
今から開発進めるなら2.0のDataGridViewを使った方がいいね。
以前のDataGridの実装も資産としては発展性が難しいから
いきおい作り直しってことになるんだろうな・・・
0879デフォルトの名無しさん
2006/05/25(木) 16:18:58バージョンが変わるたびに機能アップばっかり前面に出してるけど、
作り込みが甘いというか実用面において片手落ちってのが多くない?
6.0から2003に変えたとき、DataGridの使い勝手が激烈に悪かった
思い出しかないよ。DataGridViewはもうちょっとマシなのかな?
0880デフォルトの名無しさん
2006/05/25(木) 16:52:050881デフォルトの名無しさん
2006/05/25(木) 17:15:35もしOleDB接続を使っているなら、
OleDbDataAdpterの中で日付時間型のフィールドがSystem.Data.OleDbType.DBDateにバインドされてないかい?
System.Data.OleDbType.Dateにすれば時刻まで出るはず。
0882デフォルトの名無しさん
2006/05/25(木) 22:46:55ある一定領域しか表示されません。
この表示域を増やすにはどうすればいいのですか?
これはサイズを例えば500,500にしても表示される領域が
300,300ほどしかないと言う意味です。
0883デフォルトの名無しさん
2006/05/25(木) 22:51:45どこにどうやってるのか詳細に書け
0884デフォルトの名無しさん
2006/05/25(木) 22:59:08いや普通に座標を指定して
fillrectangleやdrawLineなどをつかって
絵を書くのですが、途中で切れるのです。
原点をずらせばきちんと表示されるので
Formの途中で表示できなくなっているとしか思えないのですが?
0885デフォルトの名無しさん
2006/05/25(木) 23:09:31こんなところにタラタラ書いてる間に十分できるだろうに。
寂しがりやさんでとにかく人に頼りたいのかねw
0886デフォルトの名無しさん
2006/05/25(木) 23:11:310887デフォルトの名無しさん
2006/05/25(木) 23:14:07こんなふうにしても表示できない部分があるってこと?
ttp://dobon.net/vb/dotnet/graphics/fillrectangel.html
念のためにフォームデザイナで生成した部分に、変なコードが混ざって
ないか確認してみたら? 無記入のラベルが被ってましたなんてオチだ
ったら(ry
0888デフォルトの名無しさん
2006/05/25(木) 23:18:11だいぶいろいろやったんですけどね。
>>887
中央が抜けるとかではないです。
例えば円をかいたとしたら、右5分の1がでないとか
そんな感じです。
原点をずらせば普通に表示されるので問題ないといえば
問題ないのですが、Formのサイズを大きくしても表示される領域が
大きくならないというのも困るし・・・。
とうぜん、図を大きくしたら切れる部分が出てくるわけですし。
0889デフォルトの名無しさん
2006/05/25(木) 23:21:01いや、だからそんなことありえないから。
何か勘違いしてるだけだから自分でよく検証してみ
0890デフォルトの名無しさん
2006/05/25(木) 23:21:26みんながおまいのいうような行動をとったら
このスレはたちまち過疎地帯w
0891デフォルトの名無しさん
2006/05/25(木) 23:23:22わかりました。
普通に表示されるはずなんですね。
もう一度みてみることにします。
どうもありがとうございました。
0892デフォルトの名無しさん
2006/05/25(木) 23:24:07フォームを全画面表示にして目一杯大きな四角形で塗りつぶす。
描画できない範囲が固定されているのか、それもと描画のたびに
位置や大きさが変わるのか確認してから、もう一度報告よろ。
0893デフォルトの名無しさん
2006/05/25(木) 23:24:55そんな訳ないでしょ
普通は自分でやるだけのことはやってから質問するもんだよ。
少しはまともな人間ならね。
しかしそれでもやはり解決できない問題というのはありうる。
0894デフォルトの名無しさん
2006/05/25(木) 23:37:48Dim str1 As [String] = "*;|@123***456@|;*"
といった記述があったのですが、この[String](Stringを[]で括った形)
にはどういった意味があるのでしょうか?
基本的な事だとは思うのですが、答えを探し出せませんでした。
どなたか教えていただけませんか?
0895デフォルトの名無しさん
2006/05/25(木) 23:45:280896デフォルトの名無しさん
2006/05/25(木) 23:54:04大きな四角で塗りつぶそうとしたのですが、
あるところから全くでません。
そういう症状です。
位置や大きさは全くいっしょです。
0897デフォルトの名無しさん
2006/05/26(金) 00:01:07ある程度未熟な質問やマルチレスなんかも
話題やネタを提供してスレを活性化させるためには
必要だと思うぞ。
漏れは意識的にそうゆう書き込みをしている。
結果として話題が盛り上がって、スレにとって
有益なことも多い。
0898デフォルトの名無しさん
2006/05/26(金) 00:02:18新規プロジェクトでコード手打ちして、それでも同じ結果になるか
確認よろ。他のマシンにも開発環境があるなら、ソースを持って行
ってそちらでも動作確認。
0899デフォルトの名無しさん
2006/05/26(金) 00:07:550900デフォルトの名無しさん
2006/05/26(金) 00:31:46PictureBoxの大きさは、おk?
0901デフォルトの名無しさん
2006/05/26(金) 00:56:16ありがとうございました。一応、調べてみました。
Dim [string] As Stringといった様に、予約語を使う際には
[]で括る必要があるという事は理解できました。
ただ、MSDNのTrimメソッドのリファレンスに記載されている
Dim str1 As [String] = "*;|@123***456@|;*"
は、データ型を[]で括っており、これをどう解釈すれば良いのが
まだわかりません。
基本的な事の様で申し訳ありませんが、どなたか教えてください。
0902デフォルトの名無しさん
2006/05/26(金) 01:06:01一つは、VB の予約語である String 。
一つは、.NET で定義されている型である System.String 。
Trim のサンプルには Imports System で System 名前空間を省略できるから、System.String は String と書ける。
ところがこの場合 String だけではどちらを指しているのか分からない。
そこで予約語じゃない方の String だと言う事を明示するために [ ] で囲っている。
がしかしそもそも VB の予約語 String は、言語仕様で System.String のエイリアスであると定義されている。
つまりこの両者は全く同じものであり、使い分ける意味は全くない。
0903デフォルトの名無しさん
2006/05/26(金) 04:36:54納得です。これで、胸のつかえがとれました。
どうも、ありがとうございました。
0904デフォルトの名無しさん
2006/05/26(金) 10:25:20二つがあるのですが、どうちがうのでしょうか?
他人に渡すには、どちらにしたらいいのでしょうか?
基本的な質問で恐縮ですが、ご教授願います。
よろしくお願いします。
0905デフォルトの名無しさん
2006/05/26(金) 10:56:170906904
2006/05/26(金) 13:22:20ありがとうございます。
ところで、この二つって、どう違うんですか?
0907デフォルトの名無しさん
2006/05/26(金) 13:53:260908デフォルトの名無しさん
2006/05/26(金) 14:04:19\bin\release以下を「すべて」配布すればOKだよ(・∀・)
VSはビルドすればそうなるようにできている
0909デフォルトの名無しさん
2006/05/26(金) 14:39:41ListViewを1つのフォームにいくつか配置しているのですが
現在ある項目が選択状態となっているListViewから
他のListView(他のコントロール)にフォーカスが移ると、
以前のListViewの選択状態の反転が消えてしまい、
何が選択されていたのかわからなくなってしまいます。
ListBoxのようにフォーカスが他のコントロールに移っても
反転状態が常に見えているようにするにはどうしたらよいでしょうか?
OwnerDrawを使えばと思ったのですが、いろいろ試してもダメでした。
良い方法があったら教えてください。
0910デフォルトの名無しさん
2006/05/26(金) 14:53:170911909
2006/05/26(金) 15:02:44む・・・失礼しました。こんなプロパティあったのか。見逃してました。
ありがとうございます。
0912デフォルトの名無しさん
2006/05/26(金) 15:15:08VS2005のドキュメントとか見ても、言葉による説明ばっかりで
その設定で具体的にどう見栄えや動作が変わるのかが
一目瞭然じゃないところがイタイよなぁ・・・
サンプルコードが付いてても、実際の表示結果とかが
明示されてなかったりして、いちいちビルドして動かしてみないと
わからなかったり。。。
0913デフォルトの名無しさん
2006/05/26(金) 15:31:28MSDN のサイズが10倍以上に膨れあがりますが良いですか?
0914デフォルトの名無しさん
2006/05/26(金) 15:44:02その需要に参考書メーカーやスクールが殺到するわけなんだよ。
0915デフォルトの名無しさん
2006/05/26(金) 16:43:23何もローカルPCにインストールすることないんだから
MSDNライブラリのサイトを充実させればいいじゃんよ(・∀・)
0916デフォルトの名無しさん
2006/05/26(金) 16:46:000917デフォルトの名無しさん
2006/05/26(金) 16:46:52そうすっと、>912じゃないがビジネスチャンスが無くなる
企業が相次ぐだろうから、わざと説明不足にするのが
暗黙の了解なんじゃろうきっと
0918デフォルトの名無しさん
2006/05/26(金) 17:45:190919デフォルトの名無しさん
2006/05/26(金) 17:53:58LANでつながっているPC間で動作するIPメッセンジャーのような
アプリを作りたいと思っています。
PC1とPC2にこのアプリをインストールすることを前提とします。
PC1からPC2のIPアドレスを指定してテキストボックスに文字列を入力し、
ボタン押下でPC2はPC1の文字列を受信してテキストボックスに表示
する、という仕組みを作りたいのですが、何をどう使えば良いのか全く
わかりません。
ちょっと調べてみたら、TcpListner というものを見つけたのですが、
これを使用するのが良いのでしょうか?
IPアドレスだけでなくポート番号も知る必要があるのでしょうか?
何から調べていけば良いのかわかりません。
何かキーワードでも教えてください。
よろしくお願いします。
0920デフォルトの名無しさん
2006/05/26(金) 17:59:41Visual Basicではじめるネットワークプログラミング超入門
0921デフォルトの名無しさん
2006/05/26(金) 18:10:140922デフォルトの名無しさん
2006/05/26(金) 18:30:360923デフォルトの名無しさん
2006/05/26(金) 18:49:16>>922
>>921はぼくではないですよぉ。
0924919
2006/05/26(金) 19:42:120925デフォルトの名無しさん
2006/05/26(金) 21:04:57C#なんですが
『VisualC#.netではじめるTCPネットワークプログラミング』(カットシステム)
っていう本がおすすめです。
TcpListnerなんかについても基本的な使い方から丁寧に
解説されていて、自分でも勉強になりました。
0926デフォルトの名無しさん
2006/05/26(金) 21:10:35つい買ったが個人的にどうでもいい事しか書いてなかった。
0927デフォルトの名無しさん
2006/05/26(金) 21:17:390928デフォルトの名無しさん
2006/05/26(金) 21:21:060929デフォルトの名無しさん
2006/05/26(金) 21:44:40gotdotnetにあるSnippet Editorを、さっきDLして使ってみたんですが、
Editorに入力したのに、フォーカスを別に移したとたんEditorに入力した文字が
消えてしまいます。
ちゃんと使えてる人います?
0930デフォルトの名無しさん
2006/05/29(月) 23:21:10DataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect
にして行単位で選択しています。
1行に5つセルがあり、バックカラーは1行ごとに変わるのですが、その中でアクティブなセルだけ
黒い点線で囲まれます。この点線を消す方法か、1行全部点線で囲む方法ご存知の方いますか?
0931デフォルトの名無しさん
2006/05/30(火) 06:28:24どうしてもやるならオーナードローしたらいけるんじゃないか
0932デフォルトの名無しさん
2006/05/31(水) 00:26:02C#で作ったクラスのプロパティの型がuintのenum。
enum ehoge : uint
{
aaa = 0xfede0003,
bbb = 0xfede0005
}
class csclass
{
ehoge prop1;
}
こんなクラスのプロパティをVB.NETのとあるところから参照。
Dim ZZZ = new csclass()
ZZZ.prop1 = ehoge.aaa
IDE的にも=打てばインテリなんとかはちゃんと動く。
ehoge.でもaaaとbbbが出るのでおっけーと思いきやehoge.aaaには波線が付いて
コンパイル不可。
CObjとかで変換してコンパイル通しても実行時例外発生。
VBのEnumにはUInt32とかは使えないとか、CSL的にはuintはダメダメだとか
そういうのはわかったんだけど、VBでは当然のことなんだろうか?
なにか文献は無いでしょうかねぇ?
0933デフォルトの名無しさん
2006/05/31(水) 00:31:350934デフォルトの名無しさん
2006/05/31(水) 00:35:14Dim ZZZ As new csclass
かな。
とにかくC#で定義した基uintのenumを、VBでまともに使えるものなのか、
使えないとしたら、それは世の中的に当然のことなのか、その辺を
知りたいのですが。
0935デフォルトの名無しさん
2006/05/31(水) 00:36:04CLSの間違いです。Common Language Specificationだっけ?MSのあれ。
度々スマソ。
0936デフォルトの名無しさん
2006/05/31(水) 00:56:05VB2003では当然というか、みんな不満を持ちつつなんとかやっていた。
コンパイラオプションの/removeintchecks+を指定しちゃうぞワレ!みたいに
思ったことも何度かあった。やんないけど。
VB2005からは、UInteger型(UInt32の別名)などが
言語仕様にとりいれられて対処が楽になった。
最初からそうしとけよゴルァ!ってな感じ。
0937デフォルトの名無しさん
2006/05/31(水) 00:56:26それ以外のが基になってるのが他の言語で使える保証なぞ無くて当然。
VB2005 で 符号無し型が使えるようになったおかげでそれらが基になってる列挙型も使えるようになったけど。
0938デフォルトの名無しさん
2006/05/31(水) 01:21:42うーん、やっぱそういうものだったのですか。
せめて(C#のenumあたりの)マニュアルに明記してくれてるとか、ビルドの
警告レベル上げたら怒ってくれるとか、そういうのがあれば気をつけたのに。
VS2005かぁ。はぁ(ため息
とにかく既知なわけですね。情報ありがとさんでした。
0939デフォルトの名無しさん
2006/05/31(水) 01:33:190940デフォルトの名無しさん
2006/05/31(水) 02:33:190941デフォルトの名無しさん
2006/05/31(水) 11:13:29実行パスに「)」(半角丸括弧とじ)が含まれる場合にDB接続できないのは
なぜでしょうか。「)」が実行パスに含まれない場合は正常に接続できます。
なお、接続できない場合は ex.Message に
「ORA-12154: TNS: 指定された接続識別子を解決できませんでした」
が設定されています。よろしくおねがいします。
参考ソース
Imports System.Data.OracleClient
Module Module1
Sub main()
Dim OraConn As New OracleConnection
Try
OraConn.ConnectionString =
0942デフォルトの名無しさん
2006/05/31(水) 11:15:34OraConn.Open()
Catch ex As Exception
MsgBox(ex.Message)
Finally
OraConn.Close()
End Try
End Sub
End Module
0943デフォルトの名無しさん
2006/05/31(水) 13:19:25どんな文字列だとエラーが出ないのか?
ORA-12154の意味をぐぐってみたのか?
0944デフォルトの名無しさん
2006/05/31(水) 15:27:19どんな文字列も何も接続文字列は「C003」固定です(ソースに
ある通りです)。だから接続文字列に問題はないと思います。
実行パス(つまりEXEの置き場所)に「)」が含まれるかどうかで
動作が違うのは何故か、という質問です。
よろしくおねがいしいます。
0945デフォルトの名無しさん
2006/05/31(水) 16:21:30ttp://www.bcap.co.jp/hanafusa/logbbs/wforum.cgi?mode=allread&no=8143&page=420
0946デフォルトの名無しさん
2006/05/31(水) 17:08:40助かりました。ありがとうございました。
0947デフォルトの名無しさん
2006/05/31(水) 21:53:24Expressの無償公開を知って、某解説サイトをみつつ勉強を始めました。
そこで「簡単なMultiFileViewerを作る」と言うのが初級のラストだったのですが、簡素な割りに妙に起動が遅くて重いです。
具体的には、Webブラウザコントロールを利用して様々なファイルを閲覧すると言うものです。
もしかしてこれはIEを起動させるような物なのでしょうか?
0948デフォルトの名無しさん
2006/05/31(水) 21:59:510949デフォルトの名無しさん
2006/05/31(水) 22:16:260950デフォルトの名無しさん
2006/06/01(木) 13:41:12テキストボックスをフォーム上に配置した場合は、右クリックすると
コンテキストメニュー(ショートカットメニュー、ポップアップメニュー)が
表示されますが、リッチテキストボックスの場合は右クリックしても
コンテキストメニューが表示されませんよね。
これを表示させるようにしたらどうしたらよろしいのでしょうか。
0951デフォルトの名無しさん
2006/06/01(木) 14:02:370952デフォルトの名無しさん
2006/06/01(木) 14:03:36SetStyle(ControlStyles.StandardClick, True)
0953デフォルトの名無しさん
2006/06/01(木) 14:34:03使えないんですね。。。(T_T)
0954デフォルトの名無しさん
2006/06/01(木) 14:44:15へっ?どんな不具合?
漏れ自作のフリーウェアでも普通に機能してるよ(・∀・)
0955デフォルトの名無しさん
2006/06/01(木) 14:51:43かんたんプログラミングVisualBasic.NET コントロール・関数編 技術評論社
のp198の下に「注意」としてかかれています。
ContextNemu(ContextMenu1)を一つ、RichTextBoxを複数配置する。
すべてのRichTextBoxのContextMenuに、ContextMenu1を指定する。
ContextNemu1_PopupイベントにContextNemu1.SourceControl.Nameの記述を
書くと、右クリックメニューが表示されなくなる。
(本来は、SelectCase文でContextNemu1.SourceControl.Nameを記述する。)
0956デフォルトの名無しさん
2006/06/01(木) 14:56:42書籍の方には、「不具合があります」という旨の文章が書かれているだけです。
0957954
2006/06/01(木) 15:27:27へぇ、それは気が付かなかった。
PopupイベントではSourceControl見てないし・・・
Popupイベント自体が発生しないような現象は
あったかも知れない・・・
0958955
2006/06/01(木) 18:04:51確認の意味合いなのですが。。
> PopupイベントではSourceControl見てないし・・・
でも、複数のリッチテキストがあって(テキストをドラッグしなくても)そこで
右クリックをして内容がコピーできるようにする場合は、Popupイベントで
SourceControlを使ってリッチテキストの名前を取得するしかありませんよね?
0959デフォルトの名無しさん
2006/06/01(木) 18:50:46Popupイベントなんて使わずにコントロールが右クリックされたら
メニューを表示するようにすれば問題ないと思う。
クリックされたコントロールを表すフィールドが必要でエレガントじゃないけどね
0960954
2006/06/01(木) 22:14:35ふつうに
menuItem1_OnClick(System.Object sender, System.EventArgs e)
イベントハンドラ内で
(((MenuItem)sender).Parent)).SourceControl
で取ってますけど・・・・
0961960
2006/06/01(木) 22:17:37えーと、こう書くんだったっけかな、、、
CType(sender, MenuItem).Parent.SourceControl
0962デフォルトの名無しさん
2006/06/01(木) 22:21:26だからそもそもメニューがポップアップしなくなるんだと。
本当かどうか知らんけど
0963デフォルトの名無しさん
2006/06/01(木) 22:33:110964デフォルトの名無しさん
2006/06/01(木) 23:08:20ポップアップしない件は解決している(>>950-951嫁)。
レスはすでに次の話題に移っている。
0965デフォルトの名無しさん
2006/06/01(木) 23:10:25WebBrowserControl(Maicrosoft Web Browser)(正しくはTridentらしい)を
利用してやり取りしようとしています。
入力したデータをdoPostで送っているだけなのですが、
サーバ側で見るとdoGetとdoPostの両方で来ています。
漏れの認識では少しのデータを送るときdoGet
大量のデータを送るときdoPostをりようしていると思っています。
なんで、doPostだけで送ってくれないのかわかりません。
WebBrowserControlのAPIとかどこかにないでしょうか教えてください。
後、HttpのdoPost、doGetの違いをわかりやすく詳しく説明しているサイト等を
教えていただけないでしょうか?
もしかしなくてもすれ違いでしょうか?
一応VB.netで作っているから良いかなと思っています。
よろしくい願いします。
0966デフォルトの名無しさん
2006/06/01(木) 23:46:58おいおい痛い奴だなあ君はw
0967デフォルトの名無しさん
2006/06/02(金) 08:18:36( ´,_ゝ`)プッ
0968デフォルトの名無しさん
2006/06/02(金) 09:34:26パケット解析する
0969デフォルトの名無しさん
2006/06/02(金) 13:44:29>入力したデータをdoPostで送っているだけなのですが、
ちょこっとソース晒してよ
0970デフォルトの名無しさん
2006/06/02(金) 21:42:05遅くなったけど助かりました。どもでした。
次からは、表に出るとこは最初からCLSCompliantしようね、と。
ちなみにビルド時の参照アセンブリだけ直せばビルドが通るのね。
GACとかに直す前のをぶち込んだ環境にビルド通った奴を持ってって
動かすと普通に動くし。<動いたからって売り物にはしないけど。
0971デフォルトの名無しさん
2006/06/02(金) 21:57:28> ちなみにビルド時の参照アセンブリだけ直せばビルドが通るのね。
> GACとかに直す前のをぶち込んだ環境にビルド通った奴を持ってって
> 動かすと普通に動くし。<動いたからって売り物にはしないけど。
厳密名付けてきっちりバージョン管理すべきじゃね?
0972デフォルトの名無しさん
2006/06/03(土) 00:17:28Private Sub MenuItem3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem3.Click
Dim ofd As OpenFileDialog = New OpenFileDialog
If ofd.ShowDialog = DialogResult.OK Then
bitmap = New Bitmap(ofd.FileName)
End If
End Sub
Private Sub PictureBox1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles PictureBox1.Paint
'
If Not (bitmap Is System.DBNull.Value) Then
e.Graphics.DrawImage(bitmap, 0, 0)
End If
End Sub
上記のコードは、画像ファイルを開いて、それを表示するという単純なものです。
なぜか下記のエラーが出ます。
'System.ArgumentNullException' のハンドルされていない例外が system.windows.forms.dll で発生しました。
追加情報 : 値を Null にすることはできません。
bitmapがnullじゃなければ、bitmapを描画するっていうようにしたいんですが、nullなのに描画しようとしているみたいです。
どなたかご教授お願いいたします。
0973デフォルトの名無しさん
2006/06/03(土) 00:22:59変数がオブジェクトを参照してるかどうかじゃないぞ。
それは Nothing 。
0974デフォルトの名無しさん
2006/06/03(土) 00:29:16もちろんおっしゃるとおりと思ってる。
>>970の「ちなみに」以降はただ単に動いたよという話でして。
んな普通に動くならビルド時にわざわざ怒らんでも、と思っただけで。
0975デフォルトの名無しさん
2006/06/03(土) 00:33:43ありがとうございます。
nothingにすると、エラーは回避できたのですが、画像が表示されないです。
なぜだろう??
0976デフォルトの名無しさん
2006/06/03(土) 00:42:25小泉内閣による改正道路交通法って、本当に酷いね。
民間の委託業者が駐車違反を見つけて、保育園の送り迎えで車を離れた
だけも、猶予もなく放置違反金を取られてしまうね。警察の新たな裏金財源
だってね。これは、もう、ジョージ・オーウェルの「1984年」の世界でしょ。
配送業者は、どうしたらいいのよ?
委託業者からのキックバックで、自民党と警察はウハウハだね。
放置違反金は都道府県警察に直接入って、使途も使い放題だってね。
「もったいない」のPSE法の出鱈目も酷いけど、国民の知らないうちに
こんなことを決めてたんだね。(-_-)鬱。
駐車違反取締り業者への天下りも、し放題になるね。交通安全協会
を通じて裏金も取り放題だし、議員や警察の知り合いや暴力団や宗教
団体や在日の違反は放置し放題だろうね。民間業者だったら当然だね。
法改正の理由たるや、凶悪犯罪が増えているのに警察の手が回らない
から、民にできることは民に任せるんだって。勝手に朝鮮人(韓国人)
のビザなし渡航恒久化を決定して、治安悪化の扉を開いておきながら、
マッチ・ポンプもいいところだね。
心底呆れ返えった歩く死体、小泉信者馬鹿売国奴B層は、露ほども心
が痛まないのだろうか?本当にもう、いったいいつになったら真実に
目覚めるのだろうか?
小泉はサイコパス?
http://plaza.rakuten.co.jp/okinawapapa/3000
0977975
2006/06/03(土) 01:02:05っていうのは、画面を他のウィンドウやタスクバーの下に隠したら表示されるんです。
すぐに反映させるにはどうしたらいいんでしょうか・・・
0978デフォルトの名無しさん
2006/06/03(土) 01:08:130979デフォルトの名無しさん
2006/06/03(土) 01:30:23If Not (bitmap Is Nothing) Then
e.Graphics.DrawImage(bitmap, 0, 0, bitmap.Width, bitmap.Height)
picturebox1.invalidate()
End If
としたのですが、めちゃくちゃ重いです。。。
どこに書くのが適切でしょうか?
0980デフォルトの名無しさん
2006/06/03(土) 01:47:410981デフォルトの名無しさん
2006/06/03(土) 13:45:46ttp://dobon.net/vb/dotnet/control/refreshupdateinvalidate.html
0982デフォルトの名無しさん
2006/06/03(土) 14:58:360983デフォルトの名無しさん
2006/06/03(土) 18:29:420984デフォルトの名無しさん
2006/06/04(日) 11:47:47開くようにしたいのですがマウスのポインタがコントロールの上にある時に発生する
イベントという便利なものはないでしょうか?
とりあえず右クリックした時のポインタの座標がボタンの座標内にあるかどうかで
判定しようと思うのですがもう少しスマート(楽)な方法ってあります?
右クリックの判定はMouseUPでやります。
(0,0)-(60,30) ならフォームA
(80,0)-(140,30) ならフォームB という感じ
| ̄ ̄ ̄ ̄| | ̄ ̄ ̄ ̄| 0
| Button1 | | Button2 |
|____| |____| 30
0 60 80 140
0985デフォルトの名無しさん
2006/06/04(日) 11:57:11そもそも MouseUp のときにどのボタンで発生したかは明らかだろ。
なんでそんな思考になるのかまるで分からん。
0986デフォルトの名無しさん
2006/06/04(日) 12:11:54単純に
Button1_MouseUP.......
という風にやればいいだけですよね。
お騒がせしまた。
別のフォームが開く理由なのですが99%くらいの場合はButton1/2のクリックのみで済むのですが
極々稀に詳細に渡る説明を付加しないといけない場合があるのでそのためです。
Contextメニューだと細かい選択とかしづらいのでフォームにしようと思いました。
|出口| λ............トボトボ
0987デフォルトの名無しさん
2006/06/04(日) 12:28:580988デフォルトの名無しさん
2006/06/04(日) 17:21:37変わるのがちょっと遅いです。
これが普通なのかな?もっと快適にパッパッパっと変わってくれるもんだと思った・・・
コードは以下のとおり。。。
Private Sub picBxApp1_MouseHover(ByVal sender As Object, ByVal e As System.EventArgs) Handles picBxApp1.MouseHover
If isApp(0) Then
picBxApp1.BackColor = Color.Silver
Else
picBxApp1.BackColor = Color.Gray
End If
End Sub
Private Sub picBxApp1_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs) Handles picBxApp1.MouseLeave
If isApp(0) Then
picBxApp1.BackColor = Color.Gray
Else
picBxApp1.BackColor = Color.Silver
End If
End Sub
コードに原因があるのかもしくは、mouseHoverはそのぐらいの早さなのかどっちでしょうか?
0989デフォルトの名無しさん
2006/06/04(日) 17:29:34どうしてMouseHover使うの?MouseEnter使えばいいのに
0990デフォルトの名無しさん
2006/06/04(日) 19:01:17おお、こっちは素早く動きました。
知りませんでした。どうもです!
0991デフォルトの名無しさん
2006/06/04(日) 20:16:17Enterは即動作するからね。
ttp://msdn2.microsoft.com/ja-jp/library/system.windows.forms.control.mousehover.aspx
0992デフォルトの名無しさん
2006/06/04(日) 20:25:26ドロップ先によっては移動不可にしたいんですが、このとき、マウスカーソルを Cursors.No に変更する
ことで、それが視覚的に分かるようにしたいと考えています。しかしながら・・・・・ドラッグ中は、単純に
TreeView1.Cursor = Cursors.No とするだけでは変更できないようです。マウスボタンを離し、ドラッグを
やめるとカーソルが変更されます。ドラッグ中にマウスカーソルを変更するには、どうすればよいんでしょうか?
0993デフォルトの名無しさん
2006/06/04(日) 20:44:35DragOverイベントハンドラ内で
D&Dの可・不可を判定して、不可のときは
e.Effect = DragDropEffects.Noneする
マウスカーソルを変更するのにCursorプロパティを
設定する必要は一切なし。
0995デフォルトの名無しさん
2006/06/04(日) 20:58:43今度自分も使ってみようと思うTipの宝庫です。
質問者さんも解答者さんも頑張ってください。
0996デフォルトの名無しさん
2006/06/04(日) 22:38:13出力するにはどのようにすればよいでしょうか?
0997デフォルトの名無しさん
2006/06/04(日) 22:39:410998デフォルトの名無しさん
2006/06/04(日) 23:21:22Private Sub blahblah(ByVal sender As Object, ByVal e As System.EventArgs) _
Handles textbox1.changed, textbox2.changed
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
この部分を取得したいです
よろしくおねがいします。
0999デフォルトの名無しさん
2006/06/04(日) 23:34:211000デフォルトの名無しさん
2006/06/04(日) 23:35:351とか2とか判断したいんですが可能でしょうか?
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。