VB.NET質問スレ (Part13)
レス数が1000を超えています。これ以上書き込みはできません。
0001最凶VB厨房
2005/11/12(土) 09:30:02過去スレ
VB.NET質問スレ (Part12)
http://pc8.2ch.net/test/read.cgi/tech/1121600038/
VB.NET質問スレ (Part11)
http://pc8.2ch.net/test/read.cgi/tech/1114217190/
VB.NET質問スレ (Part10)
http://pc5.2ch.net/test/read.cgi/tech/1109343613/
VB.NET質問スレ (Part9)
http://pc5.2ch.net/test/read.cgi/tech/1106577850/
VB.NET質問スレ (Part8)
http://pc5.2ch.net/test/read.cgi/tech/1102512868/
VB.NET質問スレ (Part7)
http://pc5.2ch.net/test/read.cgi/tech/1096683017/
VB.NET質問スレ (Part6)
http://pc5.2ch.net/test/read.cgi/tech/1088812165/
VB.NET質問スレ (Part5)
http://pc5.2ch.net/test/read.cgi/tech/1078134703/
VB.NET質問スレ (Part4)
http://pc2.2ch.net/test/read.cgi/tech/1065269043/
【老若】VB.net質問スレ【男女】 (Part3)
http://pc5.2ch.net/tech/kako/1056/10562/1056281084.html
【老若】VB.net質問スレ【男女】 (Part2)
http://pc2.2ch.net/tech/kako/1043/10436/1043629429.html
【老若】VB.net質問スレ【男女】
http://pc2.2ch.net/tech/kako/1025/10258/1025848458.html
0002最凶VB厨房
2005/11/12(土) 09:30:58言語仕様などのリファレンス
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最凶VB厨房
2005/11/12(土) 09:33:49http://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最凶VB厨房
2005/11/12(土) 09:35:01the 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最凶VB厨房
2005/11/12(土) 09:35:59http://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最凶VB厨房
2005/11/12(土) 09:37:14おすすめのリンクをおめーら貼れやぁぁぁぁ
0007デフォルトの名無しさん
2005/11/12(土) 20:56:20……といいたいところだが、別のスレでこいつに馬鹿呼ばわりされて煽られてから
(もちろん俺の方は何も煽るようなレスはしてなかった訳だが)こいつは
公共心(?)でスレ立ててるんじゃなくて単に煽るための釣堀が欲しくて
やってるんじゃないかと思うようになった。
なんにしろ妙な奴だな。リアルで精神病んでるんじゃないの。
0008デフォルトの名無しさん
2005/11/12(土) 21:40:350009デフォルトの名無しさん
2005/11/13(日) 13:25:36Dim _hBMInfo, _hBMData, _loc_BMInfo, _loc_BMData As IntPtr
Dim _bmp As Bitmap
Dim _BMIHdr As _hBMDataHEADER
Dim _BMI As _hBMData
Dim _ImgX, _ImgY, _ret As Integer
Dim _hbmp, _hDC1 As IntPtr
_ret = GetPicture("DSCF0001.jpg", 0, 0, _hBMInfo, _hBMData, 0, 0)
_loc_BMInfo = LocalLock(_hBMInfo)
_loc_BMData = LocalLock(_hBMData)
MoveMemory(_BMIHdr, _loc_BMInfo, Len(_BMIHdr))
_ImgX = _BMIHdr.biWidth
_ImgY = _BMIHdr.biHeight
_hDC1 = GetDC(_form1.Picture1.Handle)
_bmp = New Bitmap(_ImgX, _ImgY)
_hbmp = _bmp.GetHbitmap()
_ret = SetDIBits(_hDC1, _hbmp, 0, _ImgY, _loc_BMData, _loc_BMInfo, 0)
_form1.Picture1.Refresh()
とやった時にsetdibitsがエラーになるのは何故なんでしょう
0010デフォルトの名無しさん
2005/11/13(日) 14:05:40少なくともここは問題。
少しは面倒がらずにMSDN読めば?理解できてなくてもとりあえず見た目動けばケンチャナヨってか。
っていうか、何で読む人間の立場にたって文書書けないのよ。
君自身は他人が書いた「エラーになる」みたいな粗雑な文章読んで事態が把握できる
エスパーなのかもしれんが、他の人間はそうじゃないんだよ。
0011デフォルトの名無しさん
2005/11/14(月) 09:52:470012前スレ904
2005/11/14(月) 10:00:21何もしなくても常時イベントを発生させる方法はないでしょうか?
マウスポインタの位置を常時レポートするプログラムを作っているのですが
タイトル画面につけたスタート(Button)をクリックするとタイトル画面(PictureBox1)、
スタート(Button)のVisible=Falseにしてフィールド(PictureBox2)が出てくるようにします
そのフィールド(PictureBox2)上のポインタ座標を拾うソースを作っています
ご教授お願いします
0013デフォルトの名無しさん
2005/11/14(月) 10:08:230014デフォルトの名無しさん
2005/11/14(月) 10:13:59Timerコントロール。
>>13
俺はDimensionの略だと教わったような気がするけど。
0015デフォルトの名無しさん
2005/11/14(月) 10:18:55あ、ごめん。
マウスポインタの座標を拾うならmousemoveイベントがいいんでね?
0016前スレ904
2005/11/14(月) 11:10:32ありがとうございました
上手く動作させることができました
これからもよろしくお願いします
>>15
ありがとうございます
実はMouseMoveは前使ったのですがMouseが動いていないと座標を拾ってくれないので
断念した経緯があります
またお願いします
0017デフォルトの名無しさん
2005/11/14(月) 11:43:16doc.LoadXml(StrXml)
doc.SelectNodes(xPath).Item(0).InnerText = NodeValue
・・・とここまでは出来たんですけど
この後この要素を変更したXMLを文字列としてまた StrXml に戻すにはどうしたらいいんでしょうか?
doc.save() ってメソッドだとファイルに保存できるんですけどStringにできません。
そもそも要素を変更するのにこの方法自体が不味いのかもしれないんですけど
賢い方法ありましたらご教授宜しくお願いします。
0018デフォルトの名無しさん
2005/11/14(月) 13:08:37そうでなきゃXmlDocumentで保持しておけばいいと思うんだけど。
SaveメソッドのオーバーロードにはTextWriterを引数に取るのもある。
TextWriterの派生クラスにはStringWriterもある。
後は分かるな?
0019デフォルトの名無しさん
2005/11/14(月) 13:30:030020デフォルトの名無しさん
2005/11/14(月) 14:21:06StringWriterクラスで作ったインスタンスでsaveして、
文字列自体はStringBuilderに入れてしまえば文字列のままですね。
ありがとうございます。
>>19
すいません、ご指摘どおりそれでいけました。
ありがとうございます。
ちなみにStringで保持したいのは最初から最後まで
ファイルに保存する事がないからでした。
どうもありがとうございました。
0021前スレ904
2005/11/14(月) 17:09:18PictureBoxを計算した結果によって出てきた数字分動かすという処理をしているのですが
Private Sub BulletGenerater()
Dim BulletPositionX As Decimal
Dim BulletPositionY As Decimal
Dim AutoDistance As Decimal
AutoDistance = Sqrt(((GetMyPointerPositionOnWindowX + Canon1PositionX) ^ 2) + ((GetMyPointerPositionOnWindowY - CanonPositionY) ^ 2))
BulletPositionX = (GetMyPointerPositionOnWindowX - Canon1PositionX) / AutoDistance * 5 REM 5は試験的に挿入
BulletPositionY = (GetMyPointerPositionOnWindowY - CanonPositionY) / AutoDistance * 5 REM 5は試験的に挿入
Bullet1.Location(BulletPositionX, BulletPositionY)
End Sub
このようにするとエラーになります
何か妙案はないでしょうか 御教授ください
0022前スレ904
2005/11/14(月) 18:49:13New()を使って自己解決できました
ありがとうございました
0023んー
2005/11/14(月) 23:01:38調べたけどわかりません・・・
0024デフォルトの名無しさん
2005/11/14(月) 23:19:03サーバー側とクライアント側、どちらでセッション情報を取得しようと
しているのよ?
それと、セッション情報はIISのSession変数を取得したいと言う意味か?
0025& ◆M0Hx0CPZ5g
2005/11/14(月) 23:30:41IISのセッション変数情報です。
説明足らずですいません・・・
0026デフォルトの名無しさん
2005/11/14(月) 23:53:41勉強がてら2chブラウザを作成しようとしていますが、
gzip圧縮を解凍する方法がわかりません。
zlibを用いて解凍するというのはわかりましたが、具体的にzlibを
vb.netで使うにはどうしたらいいのかわかりません。
http://oshiete1.goo.ne.jp/kotaeru.php3?q=1455364
ここを見てもわかりませんでした。易しく教えてください。
よろしくお願いします。
0027デフォルトの名無しさん
2005/11/15(火) 00:06:46237 :デフォルトの名無しさん :2005/11/14(月) 23:38:29
さあ話をそらしにかかりました
0028デフォルトの名無しさん
2005/11/15(火) 00:10:19ここをわかるまで熟読してみるんだ。
ttp://dobon.net/vb/dotnet/links/createzipfile.html
002926
2005/11/15(火) 01:14:35#developでビルドしたDLLを使うと(namespaceにICShapがでてきた)できそうな
感じがしてきました。
京は寝ますが、この調子じゃ日が暮れますね。
003025
2005/11/15(火) 01:16:410031
2005/11/15(火) 01:21:39エラーが出て困っています・・・
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim sc As Object
'microsoft
' 変数を宣言します。
sc = CreateObject("ScriptControl")
sc.AllowUI = True
sc.Language = "VBScript"
' スクリプト コントロールにスクリプト コードを追加します。
sc.AddCode("Sub Main : " & _
"Session(""aaa"") = ""123""" & _
"End Sub")
' スクリプト コードを実行します。
sc.Run("Main")
End Sub
0032& ◆Z2F/HXY.k2
2005/11/15(火) 01:22:08VB.NETです
0033デフォルトの名無しさん
2005/11/15(火) 03:13:52それで読む人に何が分かるんだっての。
0034デフォルトの名無しさん
2005/11/15(火) 07:47:20どうせ答える気も無いくせに
0035デフォルトの名無しさん
2005/11/15(火) 08:28:13>>34みたいな馬鹿も>>31みたいに読み手の側にたって文章推敲できないお方も
救いがたいな。
人間相手にすら理解させる文章をかけない奴が、いわんやまともなコーディングなんて
出来るはずがない。可哀想だが。
0036デフォルトの名無しさん
2005/11/15(火) 09:15:18自分の不出来を棚に上げっぱなしなやつに、とやかく言われたく
無い罠。エラーメッセージをぐぐるとか、まず自助努力しろって。
0037デフォルトの名無しさん
2005/11/15(火) 09:43:15お前がそうだからか?w
0038デフォルトの名無しさん
2005/11/15(火) 09:43:43必死すぎてイタス。
0039デフォルトの名無しさん
2005/11/15(火) 15:32:04新規に生成したスクリプトコントロールからは
Sessionが参照できないだけじゃないか
0040デフォルトの名無しさん
2005/11/15(火) 18:33:13MarshalAsを手がかりに調べて、上手く行きました。ありがとうございます。
でも固定長の構造体配列だと、やっぱり駄目みたいです。
VisualSudio2005 なら出来るという話ですが・・・
0041デフォルトの名無しさん
2005/11/15(火) 18:51:3617日にExpressの日本語無償版がダウンロードできるらしいから、
それで試してみたら?
0042デフォルトの名無しさん
2005/11/15(火) 19:02:03無理矢理やろうとするなら、Marshal.AllocCoTaskMemで構造体全体分を確保して独自に解釈と言うことになるかね。
0043デフォルトの名無しさん
2005/11/15(火) 20:24:33Session変数は、IISのメモリ上に格納されている。
ついでに、Sessionを特定する情報は、クライアント側のCookieに
持っている。
このCookieの有効期限はデフォルトで20分だし、ブラウザを閉じても
有効期限が終了する設定。
クライアント側で取得するにはサーバー側で対になるものが必要。
上述の仕様から出てくる制約が何かを考えれば取得できるSession変数と
取得できないSession変数の予想が付くと思う。
まぁ、↓を参考にIISのプロセス外でSessionを管理する方法を探せば別だが。
http://www.atmarkit.co.jp/fdotnet/dotnettips/183aspsesout/aspsesout.html
0044702
2005/11/15(火) 23:21:340045デフォルトの名無しさん
2005/11/15(火) 23:24:26XMLのデータを読み込んで、データグリッドに出したいのですが、
従来のVB2003におけるDataGirdの場合、
dim ds as new DataSet
ds.ReadXml("Test.XML")
dataGrid1.DataSource = ds
とすれば、表示ができました。
ただ、VB2005のDataGridViewを用いて
dim ds as new DataSet
ds.ReadXml("Test.XML")
dataGridView1.DataSource = ds
と書いても、何の反応もしません。(エラーもでません)
何か別の処理が必要なのでしょうか?
くだらないことで申し訳ないですが、よろしくお願いいたします。
0046デフォルトの名無しさん
2005/11/16(水) 00:36:53固定長だからできないとかとかないと思うけど。
MSDNよく読んで、(しかしMSDNは記述があいまいだから)いろいろ試したほうがいいと思うよ。
大概のアンマネージ呼び出しは可能なはずだから。
少なくともこの下のサブトピックには一通り目を通したほうがいい。
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpguide/html/cpconinteropmarshaling.asp?frame=true
0047デフォルトの名無しさん
2005/11/16(水) 02:19:05いくつかの手段で対応は可能だけど、属性つければ後はマーシャラに任せてOKってわけには行かない。
0048デフォルトの名無しさん
2005/11/16(水) 10:50:03ttp://www.codeproject.com/cs/miscctrl/magictabcontrol.asp
ここらへんのコントロールは無料で使用できるのかな?
0049デフォルトの名無しさん
2005/11/16(水) 12:40:55ソースは?
固定長かどうかなんてことは呼ばれる側にしてみれば
どうでもいいことだと思うけど。
呼ばれる側が関心があるのは、渡された領域が正しく確保されているかどうか、
バートオーダーやデータの並びが正しいかどうか、それだけでしょ。
0050デフォルトの名無しさん
2005/11/16(水) 12:48:11だから、「マーシャラが」サポートしていないの。
「属性つければ後はマーシャラに任せてOK」じゃないから、
自前で領域を確保するなりあれこれしなきゃいけないの。
0051デフォルトの名無しさん
2005/11/16(水) 21:00:17「このメソッドは、各列の値を個々に取得するのではなく、すべての列の値を取得する方法を提供します。」
という文言にひかれてるんですが、サンプルソースとかあるところをご存知ないでしょうか?
0052デフォルトの名無しさん
2005/11/17(木) 07:05:320053デフォルトの名無しさん
2005/11/17(木) 09:31:03VB8を手に入れて試してみたのですが、
<StructLayout(LayoutKind.Sequential)> _
Structure A
Public x As Byte
End Structure
<StructLayout(LayoutKind.Sequential)> _
Structure B
<MarshalAs(UnmanagedType.ByValArray, SizeConst:=10)> _
Public y As A()
End Structure
Dim z As B
ReDim z.y(10)
で、あとは z.y(i).x でアクセスするので正しいのでしょうか。
一見これで動いてはいるのですが……。
0054デフォルトの名無しさん
2005/11/17(木) 09:40:21Dim z As B
Hoge(z)
Console.WriteLine(z.y(0).x)
0055デフォルトの名無しさん
2005/11/17(木) 10:37:33そこの情報でGetOracleValuesの存在を知ったのですが、使い方が分かりませんでした。
Dim ob As Object()
While dr.Read
If ob Is Nothing Then
ob = New Object(dr.FieldCount - 1) {}
End If
dr.GetOracleValues(ob)
End While
こんな感じで使えることはなんとか分かったのですが、普通にDataReaderから読み込むよりも遅い。。。
0056デフォルトの名無しさん
2005/11/17(木) 12:29:46いやマズいんじゃないの。
だって関数から帰ったとき、マーシャラー(?)はサイズ10のアンマネージ配列を
マネージド配列にコピーを試みるわけだけれども、空のマネージド配列には
コピーしようがない。
0057デフォルトの名無しさん
2005/11/17(木) 12:39:59そのためのMarshalAs属性。
マーシャラはこいつを見て、アンマネージドに渡すときにSizeConstと型を見て自動的にメモリを確保する。
アンマネージドから返ってきたときには確保したメモリの内容を自動的にマネージド配列に組み立てる。
もともと確保してた場合、その配列インスタンスは到達不可能になってGCの対象になるだけ。
0058デフォルトの名無しさん
2005/11/17(木) 12:44:25> マーシャラはこいつを見て、アンマネージドに渡すときにSizeConstと型を見て自動的にメモリを確保する。
のあと、配列インスタンスを作成済みだった場合は、確保したメモリに値がコピーされる手順が加わるな。
0059デフォルトの名無しさん
2005/11/17(木) 13:32:10VB.net2003とsqlサーバーでデータベース処理を作っています。
データグリッドの1つのセルでaと押したときデータベースのコード(商品コード等)のaから始まるものを
コンボボックスで表示したいのですが、可能でしょうか?
先生にはデータグリッドのセルで押されたキーは判別できないとか言われました。
前スレでも聞いたのですが、時間無くてレス見る前にdat落ちしたのでまたお願いします。
0060デフォルトの名無しさん
2005/11/17(木) 13:58:48ttp://www.codeproject.com/cs/miscctrl/WindowsDataGridColumns.asp
ttp://www.codeproject.com/cs/miscctrl/DataGridZen.asp
DataGridでComboBoxは幾つかあるが、さてオートコンプリートは可能だろうか……?
0061デフォルトの名無しさん
2005/11/17(木) 14:03:340062デフォルトの名無しさん
2005/11/17(木) 14:09:552005から。
0063デフォルトの名無しさん
2005/11/17(木) 14:33:55ありがとうございました。
006459
2005/11/17(木) 14:36:17でもDataGridComboBoxColumnで検索したら日本語で説明しているのが見つかりました。
>>60さんありがとう。
後はがんばって解読して作ってみます。
0065デフォルトの名無しさん
2005/11/17(木) 23:52:220066デフォルトの名無しさん
2005/11/18(金) 00:59:28ワーキングセットについてのいつものFAQ?それとも踏まえたうえでの話しか?
0067デフォルトの名無しさん
2005/11/18(金) 01:52:22これはネットワークに接続しているかどうかを返すようですが、
コントロールパネルのネットワークの設定で接続をすべて無効(または切断)にしても、
常にTrueを返します。
単純にこのコンピュータがネットワークにつながっているのかどうかを
調べたいのですが、これは使えないのでしょうか?
0068前スレ904
2005/11/18(金) 13:03:22DrawImageとタイマを組み合わせて画像を動かしているのですが
Intervalを80以下に下げるとアプリケーションを終了させた時に
なかなか終了しません(変な日本語で恐縮ですがアプリケーション
は停止するけどウィンドが閉じない、ほかのアプリケーションに
フォーカスを移すとやっとウィンドが閉じる、リソースメーターは
アプリケーション終了からずっと100%になりウィンドウが閉じる
と0%に下がる)
これでは画像を高速で動かすことができません
何か妙案は無いでしょうか?
MSDNにはTimerクラスが3つ書いてあるけど違いがわかりません・・・orz
0069前スレ904
2005/11/18(金) 13:25:52このアプリケーションではタイマを2つ使い1つはPictureBoxで画像を
直に操作、もうひとつはDrawImageで動かすものですがPictureBoxを
終了時にVisible=falseにすることで自己解決できました
ありがとうございました
0070デフォルトの名無しさん
2005/11/18(金) 16:05:25使えないっぽいねぇ。
予想だけど、ネットワークカードが物理的に刺さってるかどうかを見ているんじゃないかなぁ。
で、代案。Win32APIだより。
ttp://support.microsoft.com/default.aspx?scid=kb;ja;821770
0071デフォルトの名無しさん
2005/11/18(金) 16:07:213つのタイマについては
ttp://www.atmarkit.co.jp/fdotnet/dotnettips/372formstimer/formstimer.html
ttp://www.atmarkit.co.jp/fdotnet/dotnettips/373threadtimer/threadtimer.html
ttp://www.atmarkit.co.jp/fdotnet/dotnettips/374timerstimer/timerstimer.html
007267
2005/11/18(金) 17:31:12実は私もそう思ったんですが、目的と違いますし面倒なので試しませんでした。
代案すばらしいです。ありがとうございます!きちんと動作しました。本当に助かりました。
ついさっきまでWMIでなんとかやろうとしていたところでした。
0073ご質問
2005/11/19(土) 01:02:59Windowフォームの上っ面の部分(Form名等青色の部分)を
ダブルクリックしても拡大されない様にするには
どうすれば良いでしょうか?
◆Q2
CDトレイを自動で開け閉めさせるコードは何なのでしょうか?
上記2点につきましてぜひともご伝授下さいませ。
0074デフォルトの名無しさん
2005/11/19(土) 11:58:00これ本当か?絶対間違ってると思うけどな。
だって現に俺も最初このような動作をすると期待して書いたコードが動作しないんで
構造体に、コンストラクタ代わりに配列を初期化した自分の返す共有メソッド書いて
対応したことがあったから。
0076デフォルトの名無しさん
2005/11/19(土) 12:26:05VB7じゃ駄目っすよ? VB8ですよ?
これ全スレの最後のほうとか>>53とかの流れの話だから。
0077デフォルトの名無しさん
2005/11/19(土) 12:31:50なかなか慎重だね。
じゃあサンプルを出そう。
丁度良いAPIが見あたらなかったから、GetKeyboardStateの引数をByte配列を持った構造体に置き換えてみた。
Option Strict On
Imports System
Imports System.Drawing
Imports System.Runtime.InteropServices
Imports System.Text
Imports System.Windows.Forms
Public Class TestForm
Inherits Form
Public Shared Sub Main(ByVal args() As string)
Application.Run(New TestForm())
End Sub
Private Declare Function GetKeyboardState Lib "user32.dll" (ByRef state As KeyboardState) As Boolean
Private Structure KeyboardState
<MarshalAs(UnmanagedType.ByValArray, SizeConst:=256)> Public Keys As Byte()
End Structure
WithEvents Private keyStates As New Label()
Public Sub New()
keyStates.Dock = DockStyle.Fill
keyStates.Font = New Font("MS ゴシック", 9F)
Controls.Add(keyStates)
Me.Width = 400
End Sub
0078デフォルトの名無しさん
2005/11/19(土) 12:32:38If e.Button = MouseButtons.Left Then
'パターンA:こちらからは確保しない。マーシャラ任せ。
DisplayKeyboardState(GetKeyboardState())
Me.Text = ""
Else
'パターンB:こちらで事前にByte配列を確保。
Dim ref As WeakReference = Nothing
DisplayKeyboardState(GetKeyboardState(ref))
GC.Collect() 'WeakReference以外に参照が無くなっていれば片づけ
Me.Text = ref.IsAlive.ToString() 'Falseなら事前に確保したByte()は無くなってると言うこと
End If
End Sub
Private Sub DisplayKeyboardState(ByRef state As KeyboardState)
Dim x As Integer, y As Integer, result As New StringBuilder()
For y = 0 To 15
For x = 0 To 15
result.AppendFormat("{0:X2} ", state.Keys(y * 16 + x))
Next
result.Append(Environment.NewLine)
Next
keyStates.Text = result.ToString()
End Sub
0079デフォルトの名無しさん
2005/11/19(土) 12:33:24Dim state As New KeyboardState()
state.Keys = New Byte(256){}
allocated = New WeakReference(state.Keys)
GetKeyboardState(state)
Return state
End Function
Private Function GetKeyboardState() As KeyboardState
Dim state As New KeyboardState()
GetKeyboardState(state)
Return state
End Function
End Class
008073
2005/11/19(土) 21:04:33教えて下さい。
ぐぐっても見つかりません。
0081デフォルトの名無しさん
2005/11/19(土) 21:13:30問題なく動きます?
0082デフォルトの名無しさん
2005/11/19(土) 22:07:39Private Enum exEnum
a = 1
b = 256
c = 512
End Enum
という列挙が定義してあった場合、ある変数 varA に入っている値が
exEnum に存在する値かを調べたいのですが、そんな便利なメソッドが
あれば教えてください。
0083デフォルトの名無しさん
2005/11/19(土) 22:59:51'トレイを開ける
Private Sub OpenTray()
Const BUFFER_CAPACITY As Integer = 256
Dim nCommand As String 'コマンド文字列
Dim hwndCallback As Integer = 0
Dim ReturnString As System.Text.StringBuilder = _
New System.Text.StringBuilder(BUFFER_CAPACITY)
Dim ReturnSize As Integer = BUFFER_CAPACITY
Dim Ret As Integer
'CDトレイをオープンするコマンド文字列
nCommand = "set cdaudio door open"
Ret = mciSendString(nCommand, ReturnString, ReturnSize, hwndCallback)
End Sub
'トレイを閉じる
Private Sub CloseTray()
Const BUFFER_CAPACITY As Integer = 256
Dim nCommand As String 'コマンド文字列
Dim hwndCallback As Integer = 0
Dim ReturnString As System.Text.StringBuilder = _
New System.Text.StringBuilder(BUFFER_CAPACITY)
Dim ReturnSize As Integer = BUFFER_CAPACITY
Dim Ret As Integer
'CDトレイをオープンするコマンド文字列
nCommand = "set cdaudio door Closed"
Ret = mciSendString(nCommand, ReturnString, ReturnSize, hwndCallback)
End Sub
これで開閉はできるが、複数台ドライブがある時には対処できない。
mciSendCommand()を使えば任意のドライブの開閉ができるはずだけど、各ドライブのデバイス識別子を列挙する方法は、俺にも分からない。
0084デフォルトの名無しさん
2005/11/19(土) 23:00:50自動的に最適な方を見つけて実行させる
とMSのサイトに書いてあった希ガス
>>82
Enum.Equals メソッド
0085デフォルトの名無しさん
2005/11/19(土) 23:02:57System.Enum.GetValues(GetType(xxxx))がArray返すからそれで探せる。
008683
2005/11/19(土) 23:05:19Public Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" _
(ByVal lpstrCommand As String, _
ByVal lpSectorsPerCluster As System.Text.StringBuilder, _
ByVal uReturnLength As Integer, _
ByVal hwndCallback As Integer) As Integer
0087最凶VB厨房
2005/11/19(土) 23:12:28<DllImport("winmm.dll", EntryPoint:="mciSendString", CharSet:=CharSet.Auto)> _
Public Shared Function mciSendString(ByVal Command As String, ByVal ReturnString As String, ByVal c As Integer, ByVal d As IntPtr) As Integer
End Function
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
mciSendString("set CDaudio door open", "", 0, IntPtr.Zero)
System.Threading.Thread.Sleep(10000)
mciSendString("set CDaudio door closed", "", 0, IntPtr.Zero)
End Sub
0088最凶VB厨房
2005/11/20(日) 00:11:12Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
Const MAXPARAM As Integer = &HF032
If m.WParam.ToInt32() = MAXPARAM Then
Return
End If
MyBase.WndProc(m)
End Sub
0089デフォルトの名無しさん
2005/11/20(日) 02:04:07Enum.IsDefined
ただしOrで値を組み合わせている場合は判断できないので注意。
0090デフォルトの名無しさん
2005/11/20(日) 02:08:10終了条件をどう書けばいいのですか?
0091デフォルトの名無しさん
2005/11/20(日) 02:30:060092デフォルトの名無しさん
2005/11/20(日) 02:37:57データベースから、受注Noを取り出し表示を繰り返そうと思ってます
ですので、受注Noがなくなったらそこで終了させたいです。
たぶんNothingなのでしょうか。
0093デフォルトの名無しさん
2005/11/20(日) 02:42:14DataReader使うならReadメソッドの返値とか使うし、DataSetならDataTableのRowsでFor Eachとかしない?
009490
2005/11/20(日) 02:57:29DataGridに表示させようと思っています。
select 受注No, 品名 from 受注M
i=1
while() ←ここに、受注Noがなくなったら、終了の条件式を書きたい
一覧.Row = 0 + i
一覧.Col = 0
一覧.Text = i
一覧.Col = 1
一覧.Text = Rs.Fields("受注No").Value
一覧.Col = 2
一覧.Text = Rs.Fields("品名").Value
Rs.MoveNext
wend
よろしくお願いします
0095デフォルトの名無しさん
2005/11/20(日) 03:11:39ならEOFプロパティ使うとかすれば良いんじゃないの?
009690
2005/11/20(日) 03:26:30詳しく教えてください。何のことか分かりません
0097デフォルトの名無しさん
2005/11/20(日) 03:32:17Rs.EOFがあるだろ? リファレンスでMoveNextの解説は読んだか?
0098デフォルトの名無しさん
2005/11/20(日) 05:56:35ウンコ
009973
2005/11/20(日) 07:52:25ありがとうございます。
解決しました。
0100デフォルトの名無しさん
2005/11/20(日) 10:04:040101デフォルトの名無しさん
2005/11/20(日) 11:00:16shared なクラスにするとか、同じくシングルトンで実装すればあえて
module を使用する必要はないかと思っているのですが module を使う
メリットは何が考えられますか?
C# には module はありませんし、vb.net で module を使うべき箇所が
想定できません。アドバイスいただけるとうれしいです。
よろしくお願いします。
0102デフォルトの名無しさん
2005/11/20(日) 11:24:42元々過去との互換性のためのものだし。
0103名無しの学生
2005/11/21(月) 10:01:40データベースに画像を登録する画面と、データベースに登録してある
画像を表示する画面を作成したいのですが、データベースへの画像に
関するアクセスの仕方が分かりません!どなたかご存知でしたら、ぜ
ひご教授願います。
0104デフォルトの名無しさん
2005/11/21(月) 10:16:21「ADO.NET データベース 画像」でぐぐるんだ。
0105デフォルトの名無しさん
2005/11/21(月) 11:52:44フォームに予めヘッダーとなるテーブル(WEBフォーム)を作成しておき
DBからデータ抽出後、動的にテーブル行を追加するという処理をしています。
DB抽出→テーブル新規行作成部分は作成済みなのですが
テーブルのレイアウトがどうもうまくいきません・・・
GridLinesかBorderStyle辺りかと思っているのですが行き詰っています
現状は新規追加した行のボーダーラインが太く表示される状況です。
(既存行の下ラインと新規行の上ラインが重なったような感覚)
ヘッダー部分のテーブルはGridLines→Both、BorderStyle→Noneに設定しています。
わかりにくい文章だと思うのですがどなたかご存知の方いたら教えて下さい。
よろしくお願いします。
0106デフォルトの名無しさん
2005/11/21(月) 14:13:080107デフォルトの名無しさん
2005/11/21(月) 14:19:56それ以前はリテラルにできない
Convert.ToUInt32でも使うか
0108デフォルトの名無しさん
2005/11/21(月) 14:23:29こゆこと?
0109デフォルトの名無しさん
2005/11/21(月) 14:24:58ゴメン
VBじゃなかった
0110デフォルトの名無しさん
2005/11/21(月) 14:29:04VB.netで、横幅が1ドット、縦幅が30ドットの縦線をフォーム外に表示させたいと思ってます
そこで、フォームを新しく生成して、そこに横幅が1ドット、縦幅が30ドットのピクチャーを置き、
フォームスタイルをNone、サイズをnew size(1,30)で表示させたのですが、
フォームのx座標が強制的に2になってしまいました
これはフォームサイズの仕様なので、別の方法をとるしかないのでしょうか?
また、その場合横幅が1ドット、縦幅が30ドットのピクチャーをフォームとして扱うみたいな事は出来るのでしょうか?
0111デフォルトの名無しさん
2005/11/21(月) 14:31:43ありがとう。出来た。
Dim j As System.UInt32
j = Convert.ToUInt32(1I)
System.Console.WriteLine(j)
本職はCなんだけど面倒くさいなぁ・・・・
0112デフォルトの名無しさん
2005/11/21(月) 14:45:15Regionプロパティ
>>111
U系を使わなければ問題なし
0113デフォルトの名無しさん
2005/11/21(月) 19:02:57なきゃないで別に困らないよねえ。
0115デフォルトの名無しさん
2005/11/21(月) 22:15:20地道に一つずつレコードセット取ってきて
do until rs.eof
print フィールド1 & "," & フィールド2 & "," & フィールド3 & "," …
movenext
loop
ってやるしかない?
0116デフォルトの名無しさん
2005/11/21(月) 23:43:58ゴリゴリやるか市販のコントロール使うしかない
0117デフォルトの名無しさん
2005/11/22(火) 01:00:510118デフォルトの名無しさん
2005/11/22(火) 01:02:290119デフォルトの名無しさん
2005/11/22(火) 06:57:290120デフォルトの名無しさん
2005/11/22(火) 18:21:25サンプルにあった
Imports System
Imports System.Runtime.Remoting
Imports System.Runtime.Remoting.Channels
Imports System.Runtime.Remoting.Channels.TCP
を記述したところ
Imports System.Runtime.Remoting.Channels.TCP
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ってなってインポートできない
なんで??
環境はVS2003
.NET FWは1.1+SP
0121デフォルトの名無しさん
2005/11/22(火) 18:33:520122デフォルトの名無しさん
2005/11/22(火) 18:42:15その内容を書き込んでみよう。
‥‥と、やさしく解説してみた。
0123120
2005/11/22(火) 18:43:38名前空間がありません
みたいなやつ
Imports System.Runtime.Remoting.Channels.
で候補が出てくる中にも存在しない
とりあえずFW再インスコしてみる
0124デフォルトの名無しさん
2005/11/22(火) 18:48:35みたいな、じゃない
で、原因は参照不足だ。
現在参照しているDLLの中でSystem.Runtime.Remoting.Channels.Tcp名前空間を定義してるものがない時に出る。
ヘルプで使いたいクラスを開いて、その「〜〜について」を調べてみ。
どのDLLが必要が書かれているから。
0125デフォルトの名無しさん
2005/11/22(火) 20:04:18トンクスコ
うまくいきました
Importsと参照設定って同じだと思ってた…
あれ・・・
おかしいね
3年もやってるのに
0126デフォルトの名無しさん
2005/11/22(火) 21:38:12先輩に教えてもらったことがある。言い得て妙だなと思った。
0127デフォルトの名無しさん
2005/11/22(火) 23:25:49いやそれは言い得てなくて妙だ。
Imports は名前空間を修飾するだけのものだから。外部のアセンブリを指定する参照設定とは全然別。
0128デフォルトの名無しさん
2005/11/22(火) 23:29:380129デフォルトの名無しさん
2005/11/23(水) 02:53:54動作するのですが、インストーラーを作成して他のマシンにインストールすると、
実行時エラー'429'ACtiveXコンポーネントはオブジェクトを作成できません。
とエラーになってしまいます。(インストール先の)エクセルのVBAからは、参照
を確認すると設定されたインストールフォルダーのDLLが確認できます。レジストリ
も、DLLの名前で検索するとインストール前後で、数が大幅に増えているのでレジス
トリには登録されているようです。
Regsvr32で手動で登録しようとしてみた所、
「DllRegisterServer エントリ ポイントが見つかりませんでした。 登録されて
いない可能性が…」
とダイアログが出ました。うーん、どうしたらよいのでしょうか?Web等を探してみた
のですが解決しません。どなたか、お知恵をお願いします。
0130デフォルトの名無しさん
2005/11/23(水) 09:33:01画面上でデータの一覧を表示し選択させるためにComboBoxを使っているのですが、
ComboBoxだと選択だけでなく入力もできてしまいます。
これを選択だけに出来ないでしょうか?
WebだとDropDownListがあるのですが、Formでも同じようなコントロールはあるのでしょうか?
よろしくお願いします。
0131デフォルトの名無しさん
2005/11/23(水) 09:55:07.NETのアセンブリをCOMに登録するのはregsvr32じゃなくてregasmだよ。
OLE viewerで.NET Categoryの登録したクラスの所にはどんなのが書かれてる?
>>130
ComboBoxのDropDownStyleプロパティ
0133デフォルトの名無しさん
2005/11/23(水) 16:47:20OLE viewerですか。実はこれまで使ったことは無かったので。。。
いろいろ情報があるのですが、どのあたりの情報を見ればよいのでしょうか
0134デフォルトの名無しさん
2005/11/23(水) 16:53:18エラーメッセージからしてCreateObjectするときの名前を間違えてるんじゃないかと思ってるんだが……。
0135129
2005/11/23(水) 18:42:14Registryタブ
…
InprocServer32 [Assembly]=TaskListLib,Version=1.0.21…,Culture=neutral,PublicKey Token=null
InprocServer32 [Class] =TaskListLib.TaskListLib
InprocServer32 [CodeBase] =file:///D:/Dev/VB/TaskList/TaskListLib/bi/TaskListLib.DLL
…
ProgID=TaskListLib.TaskListLib
という感じでした。
ちなみに(開発機で無い)インストール先のマシンのインストールフォルダー
は、C:\Program Files\の下になるのですが、インストーラーでインストール
すると
「実行時エラー'429'ACtiveXコンポーネント…」
とでるのは前述の通りですが、ここで、RegAsm C:\Program … \ … .dll と
やってみらた「依存関係がみつからない」(TaskListLib.DLLは複数のDLLを
参照しています)と出ました。
0136129
2005/11/23(水) 18:44:17OLE Viewerって、コピペできないんですね。。。。
0137デフォルトの名無しさん
2005/11/23(水) 19:04:08失敗するメッセージがでるのはインストール時なの?
それでもVBAかなんかから実行はできるの?
TaskListLib.dllの参照しているDLLはTaskListLib.dllが手に届く位置(同じディレクトリとか)にあるの?
0138129
2005/11/23(水) 20:34:36まず、インストーラを実行すると、インストールが成功した旨の表示が出ます。
で、エクセルのマクロからTaskListLib.dllの関数を呼び出そうとすると、
「実行時エラー'429'ACtiveXコンポーネント…」
となります。そこで、インストール先のDLLを手動で、RegAsmして再びエクセル
のマクロからTaskListLib.dllの関数を呼び出そうとすると、
「依存関係がみつからない」
となります。TaskListLib.dllの参照しているDLLはTaskListLib.dllと同一フォル
ダーに有ります。
OLE viewer等を存在を教えていただいてあれこれ調べてみました所、どうやらインス
トーラーがきちんと動作していないようです。インストールを実行すると、DLLの情報
がレジストリには入るのですが(よって、エクセルのマクロはTaskListLib.dllの場所
を見つけられるようです)、インストール後にOLE Viewerでインストール先マシンの
NET Categoryを見てみるとTaskListLib.dllが登録されていませんでした。(手動でRegasm
した後は登録されていました。)
1:TaskListLibというプロジェクトをつくりそこにTaskListLibというCOMクラスを追加。
2:SetupTaskListLibというセットアップ・プロジェクトをつくり、”プロジェクト出力の追加”
TaskListLibのプライマリ出力を追加
3:ビルド
では、何かたりないのでしょうか?(これで(たまたまなのかもしれませんが)うまく
行っているものもあったので・・・・)
0139デフォルトの名無しさん
2005/11/23(水) 20:57:12色々と調査した結果,Browser Helper Objectsを使用すると,
開発ができるということは分かったのですが,
これをVB.netで使用できるか否か分かりません.
どなたかご存知の方は,教えて頂けないでしょうか.
参考になるURLなどもあれば,教えて頂けないでしょうか.
0140129
2005/11/23(水) 21:56:41インストール先をOLE Viewで調べたときに、InprocServer32 [CodeBase] がありませんでした。
regasm /codebase を実行すると問題なく実行できました。
そのときに「署名が無いものは云々」とメッセージが出ていたので、どうやらインストーラで
インストールした時は、署名が無い(まだ、よく理解していませんが・・・)等の理由で、
CodeBaseの値が設定されないでしょうか?
とりあえず、インストール先で使用はできる様になりました。
0141デフォルトの名無しさん
2005/11/23(水) 22:40:17あー、やっとわかった。
セットアッププロジェクトの、追加したプロジェクトのプロパティでRegisterをvsdrpCOMにすれば
インストーラが登録をやってくれるようになるようだ。自動的にCodeBaseも付けてくれるっぽい。
CodeBaseつけるには本来厳密名が必要なはずなんだが、とくに要求はされないな。
>>139
BandObjectでも使えば。
0142デフォルトの名無しさん
2005/11/24(木) 01:28:13(デリゲートから取得したもの)をガベージコレクタによる移動から防ぐ方法
はあるのでしょうか?
0143デフォルトの名無しさん
2005/11/24(木) 09:02:22> メモ
> アンマネージ コードによって保持されるマネージ デリゲートへの関数ポインタを参照する場合、
> 共通言語ランタイムによって該当のマネージ オブジェクトに対して
> ガベージ コレクションが実行されることは回避できません。
だそうだが。MarshalやUnmanagedFunctionPointerAttributeにも特にないな。
0144129
2005/11/24(木) 15:00:19追加したプロジェクトのプロパティのRegisterは、vsdrpCOMにしてあります。
(少し紛らわしい書き方をしてしまいましたが)インストーラでインストール
しただけでは、(CodeBaseの値のみがつかないのではなく)OLE Viewerで確認
するとNET Categoryにな何のデータも登録されていません。
0145129
2005/11/24(木) 15:07:36(ここで実行すると、「実行時エラー'429'ACtiveX…」)
↓
Regasm ….dll
(ここで実行すると、「依存関係がみつからない云々」)
↓
Regasm ….dll(「「署名が無いものは云々」といわれるも登録は成功)
(ここで実行するとOK)
ということです。ちょっと署名関係をしらべて署名したもので
試してみようと思っています(が、なんだか署名関係は面倒臭そう
ですが。。。。)
0146デフォルトの名無しさん
2005/11/24(木) 15:46:01う〜ん。
私が成功したやり方。VS2002。
1)クラスライブラリプロジェクトを新しいソリューションで作成。
2)プロジェクトのプロパティ>構成プロパティ>ビルドのCOM相互運用機能の登録 をTrueに設定
3)同じソリューションにセットアッププロジェクトを新規作成。
4)1で作成したプロジェクトのプライマリ出力をセットアッププロジェクトに追加。
5)追加したプロジェクトのRegisterプロパティをvsdrpCOMに設定。
6)ビルド。
で開発機にもインストール先のWin98SEにも自動的にCOM登録される。
CodeBaseも設定されるので任意の位置からCOMオブジェクトを作成できる。
……んだけどなぁ。
厳密名は、
sn.exe -k [出力するキーのファイル名]
でキーファイルを作成して、AssemblyInfo.vbに
<assembly: AssemblyKeyFile("[sn.exeで作成したファイルのパス]")>
と書くだけで良いよ。大雑把には。
厳密名ほかについて詳しくは
ttp://www.atmarkit.co.jp/fdotnet/technology/idnfw11_index/index.html
0148デフォルトの名無しさん
2005/11/25(金) 11:26:55内容は、
ルートが選択された時、選択されたルート以外のツリーは閉じる
選択されたルートの中の一番上の子要素が選択される
だと思うのですが、AfterSelectで特定のルートが選択された後の分岐までは問題ないのですが、
「選択されたルートの中の一番上の子要素が選択される」というところで詰まっています
なにか良い方法はないでしょうか?
0149デフォルトの名無しさん
2005/11/25(金) 11:30:540150デフォルトの名無しさん
2005/11/25(金) 12:58:39大変申し訳ないです
0151デフォルトの名無しさん
2005/11/25(金) 15:29:42のとを区別するにはどうすればいいでしょう
0152デフォルトの名無しさん
2005/11/25(金) 15:47:000153デフォルトの名無しさん
2005/11/25(金) 15:48:580154デフォルトの名無しさん
2005/11/25(金) 16:13:28ListBoxにデータを入れているのですが、小数点以下を切り捨ててListBoxにデータを入
れる方法ってありますか?
それとも素直にint型でやった方がいいでしょぅか?
0155デフォルトの名無しさん
2005/11/25(金) 16:29:50取得がADO.netならば、適切な型(多分Decimal)にマップされますよね。
それを文字型にするんだから、暗黙の型変換というかToStringじゃなく、フォーマット指定で変換すればいいだけ。
0156デフォルトの名無しさん
2005/11/25(金) 16:30:010157デフォルトの名無しさん
2005/11/25(金) 16:45:32Me.ListBox2.DataSource = dr2
Me.ListBox2.DataTextField = "mas_com_mon_money"
Me.ListBox2.DataBind()
ストアドを使ってデータを入れているのですが、formatを使うと怒られます。
ストアドの指定をする部分で型をintにするとまたまた怒られます。
また、SQLのデータには小数点は入っていません
多分2行目で小数点以下が入ると思うのですが・・・
初心者で申し訳ないです
0158デフォルトの名無しさん
2005/11/25(金) 19:26:030159デフォルトの名無しさん
2005/11/25(金) 20:07:28Dim CMD2 As New SqlCommand(select mas_com_mon_money from com_ser", CN)
CN.Open()
Dim dr2 As SqlDataReader = CMD2.ExecuteReader()
0160129
2005/11/25(金) 20:32:50返信遅れてすみません。VS2003ですが私も同様の方法です。
(これで、うまくいっているものもあります。)
厳密名に関しても(ちょっと別件で忙しくなってしまったため)後
日、調べてやってみます。
色々と御教授頂き有難う御座いました。取り急ぎ、御礼まで。。。。
0161デフォルトの名無しさん
2005/11/25(金) 22:59:44というのをVBのプログラム上で行うのは可能でしょうか?
0162デフォルトの名無しさん
2005/11/25(金) 23:02:230163デフォルトの名無しさん
2005/11/26(土) 00:25:52MSのサイトとかヘルプ見ても、理解できません。
っていうか昨日、無償版のexpressβ2をダウンロードして使い始めたばかりでプログラム初心者なので。
0164デフォルトの名無しさん
2005/11/26(土) 00:29:12テンプレの>>3-5を熟読すると大吉。
0165デフォルトの名無しさん
2005/11/26(土) 00:33:52テンプレには既に目を通しましたが、私には難しかったです・・・・・
多分、全部のページを読んで情報を総合すれば、欲しい情報は載っているんでしょうが、
もっと分かりやすくまとめてあるところはないものか、と思いました。
0166デフォルトの名無しさん
2005/11/26(土) 07:55:130167デフォルトの名無しさん
2005/11/26(土) 11:18:15VBの解説書が多く置いてそうな本屋で、じっくり立ち読みしてから
買ってくるといいよ。やりたいこととコントロール(クラス)の関連だ
けを知りたいなら、ITフロンティアの逆引き大全あたりがいいかと。
0168デフォルトの名無しさん
2005/11/26(土) 11:25:11どこかで、できると読んだ記憶があるので。
で、試してみました。
クラスを作ることはできました。
コンパイルエラーは出ませんでした。
が、VB.Net のコード中から、C# のクラスを呼ぶ方法が分かりません。
普通に C# の class で定義したクラス名を記述すると「型が見つかりません」のようにコンパイルエラーとなります。
ググって調べるうちに C# には名前空間の(明示的な)定義が必要と分かったので、VB.Net のルート名前空間と同じ
namespace で囲ってはいます。
0169デフォルトの名無しさん
2005/11/26(土) 11:34:12//VSのデフォルトではプロジェクトと同じ名前の名前空間が設定されるけど。
取りあえず前提として、
クロスランゲージはコードレベルの混在ではなくてアセンブリ、つまり.dllや.exe間での相互運用だ。
VB.NETのプロジェクトでC#のプロジェクト(の成果物)を使うのなら、当然参照設定しなきゃならない。
0170デフォルトの名無しさん
2005/11/26(土) 11:42:19えっ、てことはコンパイルかけた後のものを使うってことかぁ〜
やっぱ、VB.Net C# を混在したままコンパイルってのは無理なのかぁ〜
なんか、できちゃいそうな勢いなのになぁ・・・ 残念orz
0171デフォルトの名無しさん
2005/11/26(土) 11:45:08言語独自機能を使ってないのならそう言うのを使えばいいかもね。
0172デフォルトの名無しさん
2005/11/26(土) 14:01:010173デフォルトの名無しさん
2005/11/26(土) 14:48:27VB.Net で作成途中のプログラムがあって、C# の勉強がてら、
一つのクラスを C# で作ってみようかなぁ〜と軽く考えたんさ。
DLLに分離して作るほど大掛かりなものじゃないんよ。
0174デフォルトの名無しさん
2005/11/26(土) 14:54:08たぶん
0175デフォルトの名無しさん
2005/11/26(土) 14:55:130176デフォルトの名無しさん
2005/11/26(土) 14:57:47モジュール使っても一つのPEファイルの中に収まるようになる訳じゃないぞ。
0177デフォルトの名無しさん
2005/11/26(土) 14:59:53vbc /addmodule だとそうだが。al.exeならまとめてくれない?
0178デフォルトの名無しさん
2005/11/26(土) 15:12:58> モジュール (マニフェストを含まないメタデータ) が 1 つ以上ある場合は、
> Al.exe を使用して、マニフェストを別個のファイルに含むアセンブリを作成できます。
0179デフォルトの名無しさん
2005/11/26(土) 15:36:18extern "VB"
とか?
0180OLE教徒
2005/11/26(土) 17:32:22つ ILMerge.msi
0181148
2005/11/27(日) 04:10:32左にツリービュー、右にツリービューで選択した各々の項目が出るプログラムの場合、
どーやるのが一番一般的で効率がいいのでしょうか?
右に出す項目分、全てフォームを作り、貼り付けると結構な量になり、スマートじゃない気がして悩んでます
因みに左にツリービューに出る項目は十数個くらいです
ヒントお願い致します
0182デフォルトの名無しさん
2005/11/27(日) 04:18:43Panelあたりでいいだろ
0183デフォルトの名無しさん
2005/11/27(日) 11:05:26デザイン時に予めフォームに貼り付けておくのは量も大量になってロード時間もかかるだろうし、
(フォームのクライアント領域の外に配置しておく、あるいはVisible = Falseで配置しておくって
やり方は)スマートじゃないんんじゃないか、ってことでしょ。
181の書き方にも問題があるが、それぐらい読み取ってやれよ。
>>181
タブページのタブを隠す方法があればね。
実行時には、ユーザーはタブページのタブをクリックする代わりにツリービューの
アイテムを選択すると。
それならすくなくともデザインはスマートにできるんだけど確か普通のやり方では
タブは隠せなかった気がする。
まあパネルの中にタブページを配置すればできないこともないだろうけど。
0184デフォルトの名無しさん
2005/11/27(日) 11:08:48量的に何が違うのかと
0185デフォルトの名無しさん
2005/11/27(日) 11:15:03馬鹿な奴はどこまでも馬鹿だね。
すくなくともデザインはスマートにできる、と書いてあるだろうに。
0186デフォルトの名無しさん
2005/11/27(日) 11:16:350187デフォルトの名無しさん
2005/11/27(日) 11:24:280188デフォルトの名無しさん
2005/11/27(日) 14:27:58いるよな。特にVisual系を使ってると、そのへんがおろそかに
なる。設計段階で遷移のことをしっかり詰めておかないからね。
0189148
2005/11/27(日) 16:19:15フォームに大量にパネルを張って、ロード時にVisible = Falseにするというやり方を最初にやったのですが、
あまりにもパネルをぺたぺた張りすぎて、見た目的にもこういう作り方は普通なのかな?思ったんです
タブを使って連結させるという方法も、実際に試していたのですが、Regionを使ってタブを消せても、
やはり、ロードに多少の時間がかかり、これもどーなのかなぁと思い、別の方法を考えてみて、
次にやったのがフォームを個数分作って呼び出す方法です
これなら、少なくともフォームをロードする時間は短縮できるのですが、いかんせんフォームの個数が膨大になってしまって(´・ω・`)
結局、答えが見つからないまま迷ってる次第です
0190デフォルトの名無しさん
2005/11/27(日) 16:26:13Application.Idleイベント辺りで。
AddHandler/RemoveHandlerする必要があるが。
0191デフォルトの名無しさん
2005/11/27(日) 21:40:420192デフォルトの名無しさん
2005/11/27(日) 21:47:090193デフォルトの名無しさん
2005/11/27(日) 22:02:39�d、select case とカウンタで色かえられますた。
0194デフォルトの名無しさん
2005/11/28(月) 11:14:36ストアドプロシージャで取得した1つのテーブルの値を各TEXTBOXに値を入れたいのですが、
値がDBNULLとなってエラーを起こします。
SqlConnectionをOPENし、ExecuteNonQueryを実行しただけでは値を取れないのでしょうか?
ストアドプロシージャのOUTPUTからデータの取得するのは単にValueでやっているのですが、
ここが間違いですか?
0195デフォルトの名無しさん
2005/11/28(月) 11:26:380196デフォルトの名無しさん
2005/11/28(月) 11:35:53CMD.CommandType = CommandType.StoredProcedure
Dim com_name As SqlParameter = CMD.Parameters.Add("@com_name", SqlDbType.VarChar, 40)
com_name.Direction = ParameterDirection.Output
Dim record_id As SqlParameter = CMD.Parameters.Add("@record_id", SqlDbType.Int)
record_id.Value = Me.DataGrid1.SelectedItem.Cells(1).Text
CN.Open()
CMD.ExecuteNonQuery()
CN.Close()
Me.Tex_com_name.Text = com_name.Value
record_id.Valueには数値がきちんと入り、ストアドプロシージャの方ではデータは拾えているようです。
CN.Close()は最後にしても差はなく、com_name.ValueはDBNULLとなって帰ってきます。
DataGrid等は拾えるのですが、ひょっとしてCN.Open()の後に
Dim dr As SqlDataReader = CMD.ExecuteReader()を入れないとダメなのでしょうか?
入れてあげて、CN.Close()を最後に持っていった場合はNothingとなります・・・(涙
タスケテ
0197デフォルトの名無しさん
2005/11/28(月) 12:02:23ストアドプロシージャならば、パラメータで受け取ればいいだけでしょ。
MSDNにまんまサンプルあるはずだけど。
0198デフォルトの名無しさん
2005/11/28(月) 12:04:51適当なストアド作って実行してみたけど
com_nameにパラメータの値戻るよ?
ストアド側で
SELECT @com_name = '戻したい値'
はやってる?
0199194
2005/11/28(月) 14:55:23ストアド側こんな感じでやってます↓
company.company_var_name AS [@com_name]
本当はそのようにしたいのですが、なんか怒られるので、ブロックデザインで作ったものを
そのままにしています。
なんかここのような気がしてきたしてきた・・
ちょっとこれから車検にいってくるのでまた後で失礼します。
0200デフォルトの名無しさん
2005/11/28(月) 16:49:27ストアド側の問題なら環境依存になるから確認しとくけど、SQL Server のT-SQLでいいのか?
それなら戻し方は2種類あるから使い分けが必要。
0201194
2005/11/28(月) 20:14:01SQL Server のT-SQLでいいと思います。
OUTPUTの値がNothingということはきちんとデータが取れていないのかな?という気がしてきました。
ということで、WHEREでIDを特定していたのですが、 ID=1みたいに条件を固定した状態でやってみましたが
Nothingでした。
ストアドの部分はクエリアナライザ使っても問題無し。
なんで?
今は
CMD.ExecuteNonQuery() をCMD.ExecuteReader()に置き換えてます。
0202デフォルトの名無しさん
2005/11/28(月) 20:46:47当方vb.net2003でwebクライアントを作ろうとしています。
テキストボックスに入力された文字列をPOSTでサーバに送信するんですが、
Shift_jisを想定しています。が、vb.netの内部エンコーディングがutf-8?
であるため、正常に連携できていません。
http://dobon.net/vb/dotnet/string/getencoding.html
を参照すると、バイト型配列を変換する方法が乗っています。
しかし、テキストボックスに入力されたテキストを(textbox1.text)
バイト配列に変換する方法がわかりません。
すいませんが、よろしくお願いします。
0203デフォルトの名無しさん
2005/11/28(月) 21:03:41CREATE PROCEDURE xxxx
@record_id integer,
@com_name varchar(40) OUTPUT
AS
SET @com_name = '戻したい値'
または
CREATE PROCEDURE xxxx
@record_id integer
AS
SELECT @com_name = '戻したい値'
下の方法の場合は SqlCommand#ExecuteScalarかExecuteReader を使う必要がある。
0204デフォルトの名無しさん
2005/11/28(月) 21:07:55一箇所訂正
誤)SELECT @com_name = '戻したい値'
正)SELECT '戻したい値'
0205198
2005/11/28(月) 21:27:54初回
SET @com_name = '戻したい値'
で取得しようとしたらNULLが戻り
SELECT @com_name = '戻したい値'
で値が戻る
再度
SET @com_name = '戻したい値'
でコンパイルし直して実行すると
値が戻る
0206デフォルトの名無しさん
2005/11/28(月) 22:22:28バイト配列に変える前にUrlエンコードし忘れてるのかも・・・
ttp://dobon.net/vb/dotnet/internet/webrequestpost.html
System.Web.HttpUtility.UrlEncode()の第一引数をtextbox1.Textにすればいけるはず。
0207194
2005/11/28(月) 22:47:52203を見てフト思ったのですが、
CREATE PROCEDURE xxxx
@record_id integer,
@com_name varchar(40) OUTPUT
AS
SELECT @com_name = '戻したい値'
という形でやってます。
そして勘違いしていた部分というのは「戻したい値」の部分で、「SELECT」は変数に代入する
SELECTではなくてSQLのSELECTです。つまり
SELECT @com_name = mas_com_var_name FORM company where id = @record_id
実際の文ははるかに長いのですが、簡単にするとこんな感じです。
また、戻したい値というのはSELECTした結果のidの値で、IDの通称を@com_nameとしてOUTPUTで戻したいのです。
明日ストアドの部分をまとめてUPします。
遅い時間にありがとうございました。
0208194
2005/11/29(火) 11:30:45ALTER PROCEDURE xxxxx
@record_id int,--登録ID
@com_name varchar(40) output,--会社名
@com_aaa int output,--郵便番号
@com_bbb varchar(100) output,--番地
@com_ccc varchar(100) output,--アパート類
@com_ddd varchar(12) output,--TEL
@com_eee varchar(12) output,--FAX
@com_fff varchar(50) output,--連絡用メール
@com_ggg varchar(255) output,--url
@com_hhh_id varchar(20) output,--メンバーID
@com_iii varchar(20) output,--パスワード
@com_jjj varchar(60) output,--当社メールアドレス
@com_kkk smalldatetime output,--登録日
@com_lll smalldatetime output,--最終更新日
@com_mmm smalldatetime output--削除日
AS
SELECT [@com_name] = company.company_var_name, [@com_aaa] = company.aaa,
[@com_bbb] = company.company_var_bbb, [@com_ccc] = company.company_var_ccc,
[@com_ddd] = company.company_var_ddd, [@com_eee] = company.company_var_eee,
[@com_fff] = company.company_var_fff, [@com_ggg] = company.company_var_ggg, [@com_iii] = company_record.record_var_iii,
[@com_jjj] = company_record.record_var_jjj, [@com_kkk] = company_record.record_smal_kkk,
[@com_lll] = company_record.record_smal_lll, [@com_mmm] = company_record.record_smal_mmm
FROM company INNER JOIN
company_record ON company.id = company_record.id
WHERE (company.id = @record_id) AND (company_record.id = @record_id)
ひょっとして複数のOUTPUTがある場合はそれぞれのOUTPUTに値を入れないとダメなのでしょうか?
1つのOUTPUTに対して、値をSETしてみたらデータは拾えました。ということは、1つのSELECT文では無理なりでしょぅか?
ブロックデザインで作ってみると「別名」と出ているので、普通にできると思ってたのですが・・・
0209デフォルトの名無しさん
2005/11/29(火) 11:43:11DataFormats.RtfもDataFormats.TextもどちらもTrueになってしまうのでorz
0210209
2005/11/29(火) 11:44:580211デフォルトの名無しさん
2005/11/29(火) 11:59:20例えばIEからD&Dした文字列はDataFormats.TextのときTrueが返って、DataFormats.RtfのときFalseが返ってくるよ?
0212209
2005/11/29(火) 12:17:30Clipboard.GetDataObjectで取得したIDataObjectでは
どちらもTrueになりますた・・・
0213デフォルトの名無しさん
2005/11/29(火) 12:23:03そりゃWordならどっちの形式も含んでるだろうからどっちもTrueになるのは当然だろ
IDataObjectは異なる複数の形式のデータを同時に格納できるって点を理解できてる?
0214209
2005/11/29(火) 13:09:53そっか、そりゃそうだわなw
ありがとござんした。
0215デフォルトの名無しさん
2005/11/29(火) 15:47:09DB板向けの内容になってきたけど、このまま行っちゃいましょう。
>>207でいってるとおりSELECTが問い合わせのSELECTになってますなぁ。
SELECT 別名 = フィールド名 FROM xxxx と
SELECT フィールド名 AS 別名 FROM xxxxは同じ意味で、変数への代入の意味は無いです。
そのプロシージャで[@com_name] = company.company_var_nameやってる部分は
@com_name変数とは全然関係ない@com_nameという別名の付いたフィールドを持った
結果セットを返しているということになります。
問い合わせ結果を変数に代入したい場合、
その問い合わせがスカラー(単一行、単一フィールド)なら次のように書きます。
SELECT @com_name = (SELECT company.company_var_name FROM xxxx)
そのプロシージャの場合、複数フィールドを持っているのでこの方法は向いていません。
どうしてもOUTPUTで返すなら、カーソルを使うか、いったん一時表に突っ込んで
変数の個数分上の命令を繰り返すことになります。
結論から言えば単純に結果セットで返すのが一番です。
0216デフォルトの名無しさん
2005/11/29(火) 17:06:04MSSQL2000で試してみたら代入できた。
declare @aaa integer
declare @bbb varchar
select @aaa = a1, @bbb = a2 from test1 where a1 = 1
print @aaa
print @bbb
[@aaa] と括弧で囲むと別名扱いになるようだ。[ ] は余計なのでは。
0217194
2005/11/29(火) 17:49:31ありがとうございます。
結局は私が勘違いしていた事をお詫びします。
てっきり別名=変数名と思ってました。
結果セットという言葉が出てきましたが、初めて知りました。なんとなくイメージはつかめてると思いますが、
ストアドから帰ってきたSELECT * FROM xxxの結果。これが結果セットかと思いますが、
DataGridやListBoxなどにデータを入れることは出来ていますが、TextBoxとなるとデータの入れ方が
本には載っていないのです。
OUTPUTには全然こだわっていません。要はSELECTした結果の値をTextBoxに入れることが出来ればいいのです。
そこで、ストアド側のOUTPUTはとりあえず全部消して、別名(SELECT [@com_name] = company.company_var_name ・・・・)
を作りました。
あとはデータを取得する方法ですが、「Dim dr As SqlDataReader = CMD.ExecuteReader()」を使いますか?
Me.Tex_com_name.Text = dr("@name")やMe.Tex_com_name.Text = dr(0)では値が拾えないのです。
とおもって色々試していたら値が取れました!!
TextBoxのDataBindの事をチラッと本に書いてあった辺りを読んでいましたら「dr.Read()」の一文があり、加えてみました。
そうしたらサクッと取れました。
でも非常に勉強になりました。ストアドも含めてこのまま知らずに作っていってたらと思うと恐ろしいです。
とても助かりました。ありがとうございました。
0218デフォルトの名無しさん
2005/11/29(火) 21:55:43odp.netを使い簡単なプログラムを組んでいます。
ログイン画面でOracleconnectionを使いユーザー名/パスワード@データソース名
を設定しログインしています。
次のフォームに移り、sql文を実行するためにOracleCommandを使うと
思うんですが、再び、connectionをopenしないとエラーがででしまいます。
フォームをまたぐ度に、connectionをopenしないといけないんでしょうか?
説明がわかりにくいかとおもいますが、よろしくおねがいします。
0219デフォルトの名無しさん
2005/11/29(火) 21:58:08まずはコードをさらせ。
話はそれから。
0220デフォルトの名無しさん
2005/11/30(水) 01:29:54ネットや書籍を軽く見た限りでは、
「Cっぽさが付加されて便利になった」程度の認識しかないんですけど、
派遣先は「.NETの経験」にずいぶん重きを置いているのを感じました。
確かに言語のVerUPとしては相当な変更だとは思うんですけど、
やっぱり開発者の順応も大変ってことなんでしょうか?
0221デフォルトの名無しさん
2005/11/30(水) 01:40:420222デフォルトの名無しさん
2005/11/30(水) 06:46:220223デフォルトの名無しさん
2005/11/30(水) 08:16:32スコープの問題じゃないの?
同じOracleConnectionを次のフォームでも
使えばいいじゃない
0224デフォルトの名無しさん
2005/11/30(水) 14:59:51Cっぽくなったって言うより、C#っぽくなった感じだね。
頑張って慣れてくれとしか言いようが無い・・・
0225デフォルトの名無しさん
2005/11/30(水) 15:11:54よろしくご教授願います。
0226デフォルトの名無しさん
2005/11/30(水) 15:18:38何のバイナリなのかってところから話を始めないと。
0227デフォルトの名無しさん
2005/11/30(水) 18:27:070228デフォルトの名無しさん
2005/11/30(水) 18:32:05違いを説明してもらおう。
0229デフォルトの名無しさん
2005/11/30(水) 18:35:46FTPでのアップロード方法キボン
0230デフォルトの名無しさん
2005/11/30(水) 18:37:130231デフォルトの名無しさん
2005/11/30(水) 19:54:19�d
windows標準のFTPをshellコマンドで通信させた
0232デフォルトの名無しさん
2005/12/01(木) 01:00:48ttp://www.grapecity.com/japan/support/database/P7_195_10644_News.htm
0233デフォルトの名無しさん
2005/12/01(木) 01:02:10ttp://support.microsoft.com/default.aspx?scid=kb;ja;812409
0234デフォルトの名無しさん
2005/12/01(木) 01:04:55ttp://www.csharphelp.com/archives/archive9.html
0235デフォルトの名無しさん
2005/12/01(木) 01:06:48ttp://www.vector.co.jp/soft/winnt/prog/se360854.html?y
0236デフォルトの名無しさん
2005/12/01(木) 12:27:480237デフォルトの名無しさん
2005/12/01(木) 12:58:07プログラム経験は趣味程度でVBAとperlをいじってる位です
0238デフォルトの名無しさん
2005/12/01(木) 21:57:01つ System.Convert.ToBase64String
0239デフォルトの名無しさん
2005/12/01(木) 22:12:11タスクトレイに常駐し、あるフォルダを監視するアプリケーションを開発しています。
そのフォルダに対し、ファイルが作成された、削除されたということは検知可能なんですが、
ファイルが上書きされた時にどのように検知すればいいのかわかりません。
一体どのようにすればよいのでしょうか?
0240デフォルトの名無しさん
2005/12/01(木) 22:20:01LastWriteがChangeしたときでいいだろ。厳密にはもうちょっと絞込みが必要かもしれんが。
0241239
2005/12/01(木) 22:24:50どうもありがとうございます。
今は実行環境がないので確認できませんが、
Dim watcher As New FileSystemWatcher()
watcher.NotifyFilter = NotifyFilters.LastWrite
このような感じになるのでしょうか?
0242デフォルトの名無しさん
2005/12/02(金) 11:34:04Form1 と Form2 があり、Form1 にて
Private Sub Button1_Click(Byval sender as...) Handles Button1.Click
dim f as new Form2
AddHandler f.Closed, AddressOf TestMethod
f.Show()
End Sub
のような事がやりたいのですが AddHandlerの行で f. のうしろで
イベントが出てきません。
で、WithEvents をつけないとだめなのかな、と思い
Dim WithEvents f as new Form2 としてみたのですが 'WithEvents' は、
ローカル変数宣言では有効ではありません。
となってしまいます。ここで f をForm1のインスタンス変数として
Private WithEvents f as New Form2 だとうまくいきます。
ここで f を Form1のインスタンス変数 ではなく、実現する方法は
ありますか?
0243デフォルトの名無しさん
2005/12/02(金) 11:37:590244242
2005/12/02(金) 12:00:29いや、Dim WithEvents f As New Form2
だと、'WithEvents' は、ローカル変数宣言では有効ではありません。
とコンパイルエラーになってしまいます。
0245デフォルトの名無しさん
2005/12/02(金) 12:09:24AddHandler f.Closed, AddressOf TestMethod
で良いだろと
0247デフォルトの名無しさん
2005/12/02(金) 12:36:25ラベルの色を全て変更したいと思います。
そのとき、いちいちラベルを一つずつ変更するのは面倒なので
For i As Integer = 0 To Me.Controls.Count - 1
Next
というループの中でラベルコントロールがラベルの型だけの
ものを取り出して色の変更をしたいのですが
どうすればラベルの型と判定できるのかがわかりません。
Me.Controls.Item(i).gettype.name
とすれば引数で"Label"と返ってくるので文字列が"Label"かどうかの判定で
当初の目的は達成できそうなのですが、型の判定をするのに
コントロールの名前の文字列比較じゃない方法はあるのでしょうか?
また方法がある場合、どうすればよいのでしょうか?
0248デフォルトの名無しさん
2005/12/02(金) 12:41:000249デフォルトの名無しさん
2005/12/02(金) 14:18:36TypeOf って存在をすっかり忘れていました。
どうもありがとうございました。
0250デフォルトの名無しさん
2005/12/02(金) 15:05:49Sessionの解放に関して教えて下さい。
メンテナンス時間の概念を作りたいとの要望が挙がり
X時以降はログインをさせないという処理を追加しました。
またクライアントが処理を実行(例えば画面遷移、ボタンクリック)しようとした際に
X時以降の時間であれば強制的にメンテナンス中画面に遷移させて終了という処理も追加しました。
ここでIISを再起動せずにサーバと複数クライアント間で有効になっている
Sessionを全てクリアしたいと考えています(破棄でも構いません)
Session.Clearはサーバと単一クライアント間でのクリア処理のような気がするのですが
全てのSession情報をクリアしたい場合にはどのような処理にすればいいのでしょうか?
強制的にメンテナンス画面に遷移するタイミングでSession.Clearを流せばいい気もするのですが
一撃で全てのSessionをクリア、解放するようなことは可能でしょうか?宜しくお願いします。
0251デフォルトの名無しさん
2005/12/02(金) 16:10:55つうか、使う側のフォームをコンパイルせずにインテリセンス使おうとしてたんじゃないの?
あれってコンパイルがきちんと通った後で利用可能になるような。
0252デフォルトの名無しさん
2005/12/02(金) 19:47:51趣味の問題なんだけど、
For i As Integer = 0 To Me.Controls.Count - 1
Next
とやるよりは、for eachを使った方がいいかと。
For Each i As Object In Me.Controls
If TypeOf i Is Label Then
End If
Next
0253デフォルトの名無しさん
2005/12/02(金) 19:51:140254デフォルトの名無しさん
2005/12/02(金) 20:22:47というか、ノードをaddして、そのノードにアクセスしたい時なんですが
やっぱループ回して.textと比較しか無い?
0255デフォルトの名無しさん
2005/12/02(金) 20:36:030256デフォルトの名無しさん
2005/12/02(金) 23:12:120257デフォルトの名無しさん
2005/12/02(金) 23:24:010258256
2005/12/02(金) 23:51:21strPathはファイルパスです。
ちなみにOpenFileDialogでひっぱったイメージファイルは削除できないのですか?
ttp://support.microsoft.com/default.aspx?scid=kb;JA;309482
0259デフォルトの名無しさん
2005/12/02(金) 23:56:39if PictureBox1.Image is nothing then
0260256
2005/12/03(土) 00:05:48解決しました。
ありがとうございます。
0261デフォルトの名無しさん
2005/12/03(土) 00:09:29"C:\Documents and Settings\デスクトップ\ファイル名.csv"
ACCESSSでボタンを作ってこういうのをあてはめたら、
一応押すごとにインポートされるものは出来たんだけど、
ファイル名のところなんだけど、同じフォルダ内にある全ての
CSVをインポート処理してくれるようにならないかな?
欲をいえば、
いくつファイルをインポートしたかメッセージ出てくると、なおいいね。
4つのファイルをインポートしました。
とか
0262デフォルトの名無しさん
2005/12/03(土) 00:30:31そこに解決方法も載ってるじゃん。(FileStream)
>>261
Dir関数で.csv拡張子を持ったファイルのパスを取得できるから、
ループで見つからなくなるまで回してみるとか。回った回数=
インポートした回数になるし。
.NET風じゃないけれどね。
0263デフォルトの名無しさん
2005/12/03(土) 00:37:50回答ありがとう。
でも、どうすればいいか思いつかないのさ。。。
0264デフォルトの名無しさん
2005/12/03(土) 00:40:30> そこに解決方法も載ってるじゃん。(FileStream)
それで解決しなかったりするからねぇ……
0265デフォルトの名無しさん
2005/12/03(土) 00:56:31sFile = Dir("C:\Documents and Settings\Makoto\デスクトップ\適性テスト\*.csv", vbReadOnly)
Do Until (Len(sFile) = 0)
DoCmd.TransferText acImportDelim, , "今月分インポートデータ", _
"C:\Documents and Settings\Makoto\デスクトップ\適性テスト\*.csv"
Loop
MsgBox "インポートしました!"
これでどうかな?
0266デフォルトの名無しさん
2005/12/03(土) 01:13:20削除するときにPictureBoxにNothingとオブジェクトDisposeを
やってないとか? まあでも、このへんの扱いって妙な感じがし
てたような気がする。(´・ω・`)
実際に削除してるコードとエラー内容がわかるといいんだけど。
>>265
DoCmdに引数にsFileを渡して、Loopの直前にsFile = Dir()を入れ
ておけばいいかと。
0267デフォルトの名無しさん
2005/12/03(土) 01:23:38sFile = Dir("C:\Documents and Settings\Makoto\デスクトップ\適性テスト\*.csv", vbReadOnly)
Do Until (Len(sFile) = 0)
DoCmd.TransferText acImportDelim, , "今月分インポートデータ", _
"C:\Documents and Settings\Makoto\デスクトップ\適性テスト\*.csv"
sFile = Dir()
Loop
MsgBox "インポートしました!"
でしたけど、やっぱエラー出る。。。。。なんでだよー
0268デフォルトの名無しさん
2005/12/03(土) 01:27:33"C:\Documents and Settings\Makoto\デスクトップ\適性テスト\sFile.csv"
の部分が黄色くなってエラーでるよー
0269デフォルトの名無しさん
2005/12/03(土) 01:28:420270デフォルトの名無しさん
2005/12/03(土) 04:12:53もう少し頭使えよ
0271デフォルトの名無しさん
2005/12/03(土) 08:15:520272デフォルトの名無しさん
2005/12/03(土) 10:50:11次のステップはなに
0273デフォルトの名無しさん
2005/12/03(土) 15:55:450274デフォルトの名無しさん
2005/12/03(土) 18:00:370275デフォルトの名無しさん
2005/12/03(土) 19:01:37ネタじゃなくてマジに同意。
彼女ができたら嫌が応でも精神力が鍛えられる。
プログラマにはアルゴリズムを作る知性も必要だが、それ以上に退屈なデバッグ作業に耐える精神力がなけりゃダメだからな。
0276デフォルトの名無しさん
2005/12/03(土) 20:03:52が返ってきました。どうしたらいいのでしょうか?
0277デフォルトの名無しさん
2005/12/03(土) 20:32:15http://pc8.2ch.net/test/read.cgi/db/1057289721/
0278デフォルトの名無しさん
2005/12/03(土) 23:06:29そのノードに対して隠しデータ?みたいなのを設定する事は
できますか?
表示はテキストで行ないたいんですが、ノードがクリックされた際には
そのテキストが持つコードを取得したい、みたいな事が
やりたいんですが。。。
0279デフォルトの名無しさん
2005/12/03(土) 23:10:340280デフォルトの名無しさん
2005/12/03(土) 23:53:07テーブルにはDateTime型のフィールドがあり、そこを検索してデータを取得したいのですが、
Me.TableAdapter.FillBy(DataSet.Table1, Today.ToShortString)
の行までいくとSqlExceptionで止まってしまいます。
datetime型からstring型に変換できないぞコラ、といわれているのはわかるのですが、どうしたら回避できるのでしょうか。
0281デフォルトの名無しさん
2005/12/04(日) 02:30:23どうしてでしょうか?
普段は、一瞬ですむのに、原因が分からないので困ってます。
ngen.exeで事前にコンパイルをしてみましたが効果なしでした。
また、ページアドレスをそれぞれ別のアドレスにしても効果なしでした。
0282デフォルトの名無しさん
2005/12/04(日) 02:34:080284デフォルトの名無しさん
2005/12/04(日) 14:21:07どこかで何か変なことしてるんだろうとしか言いようが無いな
0285デフォルトの名無しさん
2005/12/04(日) 16:20:230286デフォルトの名無しさん
2005/12/04(日) 19:55:07ASP.NETですが、以下のHPを参考にしてHP上でSQL-SERVERに画像データを登録したり呼び出したりできるようになりました。
ttp://www.atmarkit.co.jp/fdotnet/dotnettips/321uploadform/uploadform.html
ttp://www.atmarkit.co.jp/fdotnet/dotnettips/257aspdbbinary2/aspdbbinary2.html
そこで、フト思ったのですが、メインページ上に表示したい画像があるが、実は画像を変更したい。
できれば過去に登録した画像データに変更したい場合どんな流れになるのでしょうか?
考えた流れが、別ページを開けてそのページ上に画像を列挙し、選択した画像がメインページに表示される
ですが、間違ってますか?
できればFile Fieldのようなものを使いたいのですが、SQL-SERVERに入っている画像データを表示する事が可能なら
そうしたいのですが、どうなんでしょうか?
0287デフォルトの名無しさん
2005/12/05(月) 11:03:41アンチウイルスが悪さしてると推測
0288デフォルトの名無しさん
2005/12/05(月) 12:43:09まあ>>281のレスがタンチンなので想像で書くしかないが、
一番ありうる可能性は例外がトラップされてるって筋書きだと思う。
0289デフォルトの名無しさん
2005/12/05(月) 20:00:06GetXml、もしくはWriteXmlで文字列に戻そうとすると
頭の
<?xml version="1.0" encoding="utf-16"?>
の部分が消えてしまうんですが、これを残すにはどうすればよいのでしょうか?
0290デフォルトの名無しさん
2005/12/05(月) 20:09:380291デフォルトの名無しさん
2005/12/05(月) 20:47:45<HogeSchema>
<HogeSchema xmlns="http://temp.org/HogeSchema.xsd">
<Hoge>
<Status>S</Status>
<HogeStatus>HH</HogeStatus>
<HogeID>0123</HogeID>
</Hoge>
<piyo>
<Status>S</Status>
<piyoStatus>HH</piyoStatus>
<piyoID>0123</piyoID>
</piyo>
</HogeSchema>
</HogeSchema>
な感じのXMLで、たとえばHogeの"Status"の値を変更したいとしたら
xPathは"HogeSchema/Hoge/Status"であってますか?
SelectNodesで値を変更しようとしたのが出来たなかったので
datasetに入れて加工したんですが・・・。
とりあえずdatasetでは無理ということでしょうか?
0292デフォルトの名無しさん
2005/12/05(月) 21:47:00WriteXmlの引数にXmlWriterを渡せってことなんだが
0293デフォルトの名無しさん
2005/12/06(火) 01:29:46Starter.exeもMain.exeも弄らずに、Main.exeに渡された引数を取得する外部プログラムを作ることはできないでしょうか?
0294デフォルトの名無しさん
2005/12/06(火) 01:30:40Starter.exe が Main.exe を引数付きで呼び出してるのですが、
の間違えです。
0295デフォルトの名無しさん
2005/12/06(火) 01:34:270296??
2005/12/06(火) 09:18:16コンボボックスをデータグリッドに配置したいと思っています
フィールド単位のコンボボックスは配置できましたが
同一フィールドでレコード別のコンボボックスの内容を設定したいのですが
どうしてもできません。
どのようにすればよいのでしょうか?
また、そのようなことは可能でしょうか?
例)
フィールド名:◎◎コード
コンボ内容
1レコード目 111
222
333
2レコード目 555
666
3レコード目 777
888
0297デフォルトの名無しさん
2005/12/06(火) 09:25:590298& ◆LE4UdVRLbE
2005/12/06(火) 09:36:48を参考にコンボをつくりますた
掲載されている内容も各レコードとも同一データなので困っています。
うまく説明できずすいません
0299デフォルトの名無しさん
2005/12/06(火) 09:43:080300298
2005/12/06(火) 10:03:11具体的にはどのように・・・すれば・・・
0301デフォルトの名無しさん
2005/12/06(火) 11:17:35Dim sw As New StringWriter
Dim xmlWriter As XmlTextWriter = New XmlTextWriter(sw)
ds.WriteXml(xmlWriter)
Xstr = sw.GetStringBuilder.ToString
として文字列に戻しましたけど
最初のエンコード指定している部分はもどっていませんでした。
ちなみに元のxmlはファイルではなくDBから取得しています。
0302デフォルトの名無しさん
2005/12/06(火) 11:27:23おや.NET 1.1だと付加されないのか。.NET 2.0で試してたもんだから。
なら作ったXmlTextWriterのWriteStartDocumentを呼んどけ。
0303デフォルトの名無しさん
2005/12/06(火) 12:10:43WriteStartDocument()付ければ上手くいきました。
どうもありがとうございました。
0304デフォルトの名無しさん
2005/12/06(火) 15:37:12どこかに保存したいのですが、どのようにすればいいのでしょうか?
流れ的には
現在RGBの値をRBで数値取得して
PICTUREBOXのサイズを固定して
縦横あわせて
FORでまわして
2つの画像を比較して差分出して…
といった感じです。
0305デフォルトの名無しさん
2005/12/06(火) 15:40:36何らかの値を返すにはどのようにすればよいのでしょうか?
例えば、
今日の午後 → True
きょうのごご → False
今日のごご → True
キョウのごご → False
キョウの午後 → True
キョウのごご → False
キョウの午後 → True
の様な感じで返すにはどのようにすればよいでしょうか?
0306デフォルトの名無しさん
2005/12/06(火) 15:51:23で、何が分からないの?
>>305
VBAはスレが違う。
一文字ずつ取り出して文字コード見るのが早そうだが。
0307デフォルトの名無しさん
2005/12/06(火) 15:53:05移動差分ってどう出せば良いのでしょうか?
画像3枚あるとして 画像1と2 2と3 で比較して かぶった部分をあわせて合成等やれば良いのでしょうか・・・?
0308デフォルトの名無しさん
2005/12/06(火) 15:56:34ちょっと分かりにくいので、実際の画像を元に説明します。
背景画像とバットをスイングしてる画像があって、
背景画像とバットを持ってる人との差分を取り、差分は配列に保存し、
それを一式繰り返した後に、差分の範囲を出して、変化の中心=軸より
合成する範囲をひと部分決める で、合成した画像を出力。
といったような感じです。
どのようにソースを書けば良いのかが分かりません。
0309デフォルトの名無しさん
2005/12/06(火) 15:58:56ソースの書き方じゃなくて、そもそもどのように画像を捉えるかが考えられないだけじゃないか?
そんなの言語とか関係なく、ロジックどう組むかの話でしょ。
0310デフォルトの名無しさん
2005/12/06(火) 15:59:50具体的にVBでやる場合にはどのようにすれば良いのでしょうか?
0311デフォルトの名無しさん
2005/12/06(火) 16:05:14背景画像とバットを持ってる人の差分って、言語の問題じゃないと言ってるんだよ。
0312デフォルトの名無しさん
2005/12/06(火) 16:18:21その中で例えば画像の色を取り出すにはどうすればいいのかとか具体的な問題が出たら質問しろ。
ということ。
0313デフォルトの名無しさん
2005/12/06(火) 16:23:57>>308
> 背景画像とバットをスイングしてる画像があって、
> 背景画像とバットを持ってる人との差分を取り、
画像の差分を取り・・・
これはVB,netの標準ライブラリでは出来ません。
>差分は配列に保存し、
差分を配列に保存・・・
配列は言語仕様であります。上記画像データの差分ってのが配列で扱えれば問題なし。
> 差分の範囲を出して、
差分の範囲が示す意味が不明です。
>変化の中心=軸より
変化の中心を決定してくれるライブラリは標準ではありません。
>合成した画像を出力。
画像の重ね合わせはいろいろとやり方があると思うし、書籍・情報があります。
0314デフォルトの名無しさん
2005/12/06(火) 17:11:12なるほど…。回答ありがとうございました。
とりあえず、差分が取れないので、PICTUREに一度転送してピクセル座標と色情報をまとめて取っています。
ひとつ質問なのですが、ピクセルごとに色比較するにはどうすれば良いのでしょうか?
0315デフォルトの名無しさん
2005/12/06(火) 17:17:280316デフォルトの名無しさん
2005/12/06(火) 17:55:42Do
Set objExec = WshShell.Exec("c:\hogehoge\hoge.exe")
WScript.sleep 3000
Wshshell.SendKeys "{ENTER}"
WScript.sleep 60000
objExec.terminate
WScript.sleep 300000
Loop
hogeを起動しエンターキーを押した次あたりに既に起動しているhage.exeを終了させたいのですが、どうやればいいのでしょうか。
どなたかご教授お願いします。
0317デフォルトの名無しさん
2005/12/06(火) 18:02:250318デフォルトの名無しさん
2005/12/06(火) 18:46:12上のACCESS辺りから味を占めた奴が出てきたか
0319デフォルトの名無しさん
2005/12/06(火) 19:54:15板汚し失礼しました
0320デフォルトの名無しさん
2005/12/06(火) 20:15:090321デフォルトの名無しさん
2005/12/06(火) 20:17:440322デフォルトの名無しさん
2005/12/06(火) 21:28:00odp.netを使い簡単なプログラムを組んでいます。
最初にOracleconnectionを使いユーザー名/パスワード@データソース名
を設定しログインしています。
次のフォームに移り、sql文を実行するためにOracleCommandを使うと
思うんですが、再びconnectionをopenしないとエラーがででしまいます。
フォームをまたぐ度に、connectionをopenしないといけないんでしょうか?
説明がわかりにくいかとおもいますが、よろしくおねがいします。
プロジェクトのスタートページをモジュールの
Mainプロシージャに設定しています。
モジュールには以下のコードを記述しています。
_________________________________________________________
Imports oraData = Oracle.DataAccess.Client
Module Module1
Public OraConn As oraData.OracleConnection
Public frmSen As New FormSentaku
Public frmDes As New frmDesigner
Public Sub Main()
strConn = "user id = test ; password = test; Data source = test ; "
OraConn = New oraData.OracleConnection(strConn)
Try
OraConn.Open()
Catch ex As Exception
MessageBox.Show("接続に失敗しました")
End
End Try
Application.Run(frmDes)
End Sub
End Module
0323デフォルトの名無しさん
2005/12/06(火) 21:30:16コストは気にすんな、二回目からはキャッシュが利く
0324デフォルトの名無しさん
2005/12/06(火) 22:30:30どういうことでしょうか?
次のフォームでSQL文を使うため、OracleCommandオブジェクトが
必要なんですが、その際
Dim OraReader As Oradata.OracleDataReader
Dim OraCmd As New Oradata.OracleCommand
(略)
OraCmd.Connection = OraConn
といった様にConnectionの情報が必要なんですが・・・。
0325281
2005/12/06(火) 23:01:20質問が変でした・・。
改めて質問します。
「ABC.DLL」のFrm_AAAを動的にロードするのですが、
初回のみ遅いのです。
Dim asm As Reflection.Assembly
Dim obj As Object
asm = Reflection.Assembly.Load("ABC")
obj = asm.CreateInstance("ABC.Frm_AAA") ←初回のみ遅く、5秒以上かかる。
一度実行してしまえば、.NETのキャッシュがきいている?ためか
1秒以内で実行されるのですが、解決方法はないでしょうか?
0326デフォルトの名無しさん
2005/12/06(火) 23:28:54接続情報も毎回取ればいいじゃん。
VB6時代のADOとADO.netは考え方を変えないとダメだよ。
ADO.netはコネクションプーリングが効く前提で使う場面で開いて、終わったら戻す。
>>325
こっそり1回使えばいいじゃん。
そういう姑息なことをするのがスプラッシュウィンドですよ。
0327デフォルトの名無しさん
2005/12/07(水) 10:11:27SQLServerに接続するため、データ接続を設定したのですが、
これはODBCの様に、ソリューションとは別に接続設定を保存しているのでしょうか?
違うパソコンにプログラム(exe)を持っていった場合、
SQLServer名が違うこともあるのですが、
その場合は、どのようにして設定を変更すればよいのでしょう?
0328前スレ904
2005/12/07(水) 13:59:17VBでデータを入力し、EXCELを起動し、所定のフォーマットを読み込み、
入力データを流し込み、印刷後保存せずに終了というアプリを作っています。
Excelを開き、ソース上で書き込んだ文字列を表示することはできるのですが、
TextBoxから入力してExcelにデータを流し込もうとすると、
'System.Runtime.InteropServices.COMException' のハンドルされていない例外が
microsoft.visualbasic.dll で発生しました。
追加情報 : メンバが見つかりません。
と出ます。ここをクリアすれば何とかクリアだと思います。
何が悪いのか御教授願います。
0329前スレ904
2005/12/07(水) 14:00:45Dim oXL As Excel.Application
Dim oWB As Excel.Workbook
Dim oSheet As Excel.Worksheet
Dim oRng As Excel.Range
' エクセル起動
oXL = CreateObject("Excel.Application")
oXL.Visible = True
' エクセルのファイルを読み込み、シート1を指定
oWB = oXL.Workbooks.Open("c:\mitsumori.xls")
oSheet = oWB.ActiveSheet
Dim tb1 As Object = TextBox1
Dim tb2 As Object = TextBox2
Dim tb3 As Object = TextBox3
Dim cb1 As Object = ComboBox1
Dim tb4 As Object = TextBox4
' セル挿入(タイトル)>挿入位置を変更する
REM 1行目
oSheet.Cells(34, Kou).Value = tb1 'ここでコケる
oSheet.Cells(34, Itemname).Value = tb2
oSheet.Cells(34, Qua).Value = tb3
oSheet.Cells(34, Unit).Value = cb1
oSheet.Cells(34, Cost).Value = tb4
0330デフォルトの名無しさん
2005/12/07(水) 15:21:360331デフォルトの名無しさん
2005/12/07(水) 15:51:07そのFunctionの中から、フォームのボタンやラベルを参照できません
( ´Д⊂ なんで・・?
やりたいことは、
別フォームから、そのフォームのコントトールの値を取得したいので、
Functionを作って受け渡し、と思ってるのです
0332デフォルトの名無しさん
2005/12/07(水) 15:55:260333デフォルトの名無しさん
2005/12/07(水) 15:58:32ぐぐったけど、理解できなかったです( ´Д⊂
0334デフォルトの名無しさん
2005/12/07(水) 15:59:31できないなら何か間違ってる
0335デフォルトの名無しさん
2005/12/07(水) 16:05:16掲示板の限られたレスでどうやって理解させられると言うのか
適当に本でも買え
0336前スレ904
2005/12/07(水) 18:44:55ありがとうございます
とりあえずキャストするのかと思いましたがMSDN見たりぐぐったりしたのですが、
正解までたどり着けません・・・
またよろしくお願いします
0337デフォルトの名無しさん
2005/12/07(水) 18:56:460338322
2005/12/07(水) 21:50:44なんとか出来ました。
ありがとうございました
0339デフォルトの名無しさん
2005/12/08(木) 07:32:01tb1.Text
0340前スレ904
2005/12/08(木) 09:56:00ご指摘ありがとうございます
As ObjecrはソースでValue=の部分を見たときObjectと書いてあったので
Objectだと思ったのですが間違っていたのでしょうか・・・
(まだヘタレですみません)
またよろしくお願いします
>>339
ご指摘ありがとうございます
期待通りの動作になりました
ありがとうございました
またお願いします
0341デフォルトの名無しさん
2005/12/08(木) 13:32:170342デフォルトの名無しさん
2005/12/08(木) 14:13:44できるとしたらどのようにするのでしょうか?
0343デフォルトの名無しさん
2005/12/08(木) 14:19:040344デフォルトの名無しさん
2005/12/08(木) 14:30:16ちょっとぐぐって出所確かめてきます。
0345デフォルトの名無しさん
2005/12/08(木) 17:53:380346デフォルトの名無しさん
2005/12/08(木) 20:51:260347デフォルトの名無しさん
2005/12/08(木) 21:10:180348デフォルトの名無しさん
2005/12/08(木) 23:37:56する方法を探しています。
0349デフォルトの名無しさん
2005/12/09(金) 01:37:080350デフォルトの名無しさん
2005/12/09(金) 08:22:240351デフォルトの名無しさん
2005/12/09(金) 09:17:55平素にするために多重継承が必要。
多重継承を許したら複雑になったというのは、
多重継承が悪いのではなく、多重継承をきちんと理解していないスキルの低いプログラマのせい
0352デフォルトの名無しさん
2005/12/09(金) 09:20:150353前スレ904
2005/12/09(金) 10:09:16>>328、>>329から
TextBoxから数値を取るのをやめてDatasetとDataGridに変えてデータ入力することに
なりました。
必要なDatasetの行数は分かっているのですが初めからセルを出しておく
(必要なセル数を指定する)方法が大変そうなので、入力すると次の行が
出てくる(普通にセルを配置)状態でコードを書いています。
出来上がったコードをビルドしてデータを入力したのですが、
'System.IndexOutOfRangeException' のハンドルされていない例外が system.windows.forms.dll で発生しました。
追加情報 : インデックス 3 に値がありません。
とエラーが出てしまいます。
自動的に生成した行には値が無いと考えてNothingを検知したら処理を打ち切る
ようにしたつもりなのですがやはりだめでした
解決の妙案がありましたら御教授下さい。
0354デフォルトの名無しさん
2005/12/09(金) 10:33:120355前スレ904
2005/12/09(金) 13:28:18ありがとうございます
行が無いことを検知することはできないのでしょうか?
またお願いします
0356デフォルトの名無しさん
2005/12/09(金) 17:31:130357デフォルトの名無しさん
2005/12/10(土) 12:49:01VB6からVB.NETのコードに変換したらこんなのついてきました
0358デフォルトの名無しさん
2005/12/10(土) 12:53:460359デフォルトの名無しさん
2005/12/10(土) 13:23:49ぐぐってやったぞ。
ttp://www.microsoft.com/japan/msdn/net/vbtransitionguide/chapter4/chapter4_10.asp
0360デフォルトの名無しさん
2005/12/10(土) 13:39:54サンクスです。ちょっと違和感ですが理解できました。
ですが次の問題がでてしまいました、それは変換後のフォームにListView
コントロールを貼り付けてコーディングしようとするとインテリセンスが
1つしかでないことです。
これはどういういことになりますか?
0361デフォルトの名無しさん
2005/12/10(土) 15:05:16VB.NETはオブジェクト指向でプログラムしてるって感じがしないのですが
どの辺がオブジェクト指向になっていますか_?
現在VB.NET開発している印象としてはVB6のスタイルであるイベントにごりごり
書いていくという点では変化がないと思います。
たとえばフォームの表示では、
form1.show()が → a = new form1; a.show();
という具合にJavaを意識した仕様になっているようです。
0362デフォルトの名無しさん
2005/12/10(土) 17:01:22VBじゃねぇぇぇぇぇ
とりあえず、>>361が考えるオブジェクト指向ってどんなコーディングか見てみたいものだな
0363前スレ904
2005/12/10(土) 18:40:21ありがとうございます
ずばりそのとおりで行の総数を拾ってきたまではよかったけど、
どうやって現在の行の数と比べるんだろうって悩んでました。
Dim GetGridCounter = 0
Dim CellLineP1 = 34
For GetGridCounter = 0 To LastLineP1 Step 1
If DataTable1.Rows.Count > DataGrid1.Item(GetGridCounter) 'ここを何とか
oSheet.Cells(CellLineP1, Head).Value = DataGrid1.Item(GetGridCounter, GridCell.GridHead)
oSheet.Cells(CellLineP1, Itemname).Value = DataGrid1.Item(GetGridCounter, GridCell.GridItemName)
oSheet.Cells(CellLineP1, Qua).Value = DataGrid1.Item(GetGridCounter, GridCell.GridQua)
oSheet.Cells(CellLineP1, Unit).Value = DataGrid1.Item(GetGridCounter, GridCell.GridUnit)
oSheet.Cells(CellLineP1, Cost).Value = DataGrid1.Item(GetGridCounter, GridCell.GridCost)
CellLineP1 += CellJump
参照できないと苦戦して1日経過して・・・
Dim GetGridCounter = 0 ・・・どうみてもただの変数です
1日ずっと下らんところで悩みながらも何とかなりました
ありがとうございました
またお願いします
0364デフォルトの名無しさん
2005/12/11(日) 16:29:20>という具合にJavaを意識した仕様になっているようです。
それがVB.NETクオリティ
0365デフォルトの名無しさん
2005/12/11(日) 17:41:37a = new form1
a.show()
なんて、オブジェクト指向なら当然のことだろうに・・・
0366デフォルトの名無しさん
2005/12/11(日) 17:48:48Dim a As Form1
Set a = New Form1
a.Show
0367デフォルトの名無しさん
2005/12/12(月) 13:48:560368デフォルトの名無しさん
2005/12/12(月) 13:49:16本当にありがとうございました
0369デフォルトの名無しさん
2005/12/12(月) 16:02:25VB6 → VB.NETとなってしまいました。
.NETについてはほとんど未知のものなのですが、とりあえず質問させて下さい。
Access のようなレポートの作成は Visual Studio .NET 付属の Crystal Report で十分可能なのでしょうか?
出来るけど機能不足とか、設定が市販のものに比べて大変とかの場合、市販の帳票コントロールも検討しています。
作成予定の帳票は社内システムの納品書や一覧帳票、POSシステムのレシート等です。
お勧めの構成があったら、よろしくお願いします。
0370デフォルトの名無しさん
2005/12/12(月) 16:18:370371デフォルトの名無しさん
2005/12/12(月) 16:32:19アクセスだと壊れてしょうがないから
あとクライアント側にもアクセス要るのがいいかげん鬱陶しくなってきたし
エクセル並に簡単に印刷出力得られるなら市販でもオケ
0372デフォルトの名無しさん
2005/12/12(月) 16:41:49修正パッチ当ててやらないとまともに描画してくれない
0373デフォルトの名無しさん
2005/12/12(月) 19:00:48JavaScriptのeval関数みたいに、文字列で作られた計算式を一気に
演算できるような関数はVB.NETに用意されているでしょうか?
下記のサイトを参考にしながら、四苦八苦しています。
ttp://www.red.oit-net.jp/tatsuya/java/calc.htm
Dim Formula as String
Formula = "123" & "+" & "123"
TextBox.Text = eval(Formula)
みたいな感じで答えが出せたら楽だなぁと思って。
やっぱりSelect Caseで演算子毎に分岐計算させるべきですかね。
0374デフォルトの名無しさん
2005/12/12(月) 19:11:140375デフォルトの名無しさん
2005/12/12(月) 22:08:31いま実行環境が無いんで検索して作ってみましたが、msscript.ocxを
インストールしてMicrosoftScriptControlを使うってことですか?
Dim Formula as String = "123" & "+" & "123"
Dim SC As Object = CreateObject("ScriptControl")
CallByName(SC, "Language", CallType.Let, "JScript")
CallByName(SC, "AddCode", CallType.Method, Formula)
Dim Ret As Object = CallByName(SC, "Eval", CallType.Method, "Calc()")
TextBox.Text = Ret.ToString
もうちょっと簡単な表記があるのかもしれませんが、ここまで手間
がかかるなら、素直にVBだけで作ったほうがいいかもしれませんね。
レスありがとうございました。もっと精進します。(`・ω・´)
0376デフォルトの名無しさん
2005/12/12(月) 22:22:36Dim formula as String = "123" & "+" & "123"
Dim sc = CreateObject("ScriptControl")
sc.Language = "JScript"
Dim ret As Object = sc.Eval(formula)
TextBox1.Text = ret.ToString()
これでいいし。
つかJScript.NETと言ったんであってJScriptとは言ってないんだが……。
JScript.NETで引数をevalする静的メソッド持つクラス作ってDLLにしてそれ参照、とか。
0377373
2005/12/12(月) 22:55:50いやー、斜め読みが精一杯なんでそこまで行くには力不足かも。
まず教えてもらったコードを関数にして試してみようと思います。
エラー処理なんかもまとまってないんで、もうちょっと形になって
から進めてみますね。たびたび、ありがとうございます。
0378デフォルトの名無しさん
2005/12/13(火) 20:35:06.NETになってからなんでもかんでもクラスなわけですが、
複数のフォーム等でクラスを共有するやり方というのは
モジュールにクラス変数をパブリックで定義する方法で
いいのでしょうか。
0379デフォルトの名無しさん
2005/12/13(火) 20:59:330380デフォルトの名無しさん
2005/12/13(火) 21:25:01共有したいのはデータと違うんかい?
テキストボックスのテキストは「データ」でしょ。
フォームは、自分の上に乗ってるテキストボックスという「他人」の、
テキストというデータにアクセスできる。
なぜそれが出来る?
それはテキストボックスがプロパティ(Text)という形でデータを外部に公開する方法をもっていて、
フォームは「その」テキストボックスへの参照を持っているから。
つまりこれとまったく同じようにすればいい。
参照とかプロパティの意味がわからんのなら勉強するしかない。
0381378
2005/12/13(火) 21:37:45Public ○○ As New クラス名
としてプロジェクト内のどのモジュールからもアクセスできるように
という意味です。共有するクラスの中には複数のオブジェクトがあ
ります。よろしくお願いします。
0382デフォルトの名無しさん
2005/12/13(火) 22:02:58「君が」基本的にわかってないんだよ。
いきなり基本の学習をスキップして成果を挙げようってそりゃ無理。
掲示板でそんな基本から教えてもらおうってそりゃ無理。
観念して勉強するかPG廃業するかしなない。
0383デフォルトの名無しさん
2005/12/13(火) 22:46:39Module A内:Public Hoge as new class1
を
Module B内:Hoge.text = "B"
Module C内:Hoge.text = "C"
つー感じに、ModuleAで宣言したPublic クラスをBやCで操作できるかどうか、ってのを聞きたいのか?
0384378
2005/12/13(火) 23:23:43スイマセン。今までVBばかりだったので本格的なオブジェクト指向について勉強します・・
>>383
そうなります。今までVBではそうしてきて、.NETでもそれで動くのですが、.NETの正規なやり方
ではないような気がしまして一般的というか多く使われてる手法を聞きたかったのです。
0385逆噴射J ◆lW31l/VtQc
2005/12/13(火) 23:31:49つい先日作ったばっかりの、ちょうどいいのがある。
JScript.NETのソース、アセンブリ(DLL)、コンパイル用バッチファイルの3点セットだよ。もってけドロボー。
http://kenmon.hp.infoseek.co.jp/contents/tools/Evalution.lzh
0386デフォルトの名無しさん
2005/12/13(火) 23:39:40俺もVBからだけど、.Netに変えてモジュールは使わなくなった。
代わりに参照渡しでやるようになった。
それが正しいやり方かどうか知らんけど。
0388デフォルトの名無しさん
2005/12/14(水) 00:09:48まあサブクラス化とか特殊な理由で使わざるをえない場合はあったけどさ。
っていうかね、「グローバルにアクセス可能なオブジェクトが欲しい」なんて思うのは
(そういうケースが皆無とまではいえないが)まあまず間違いなく設計が悪いんだよ。
プログラミングに対する考え方が根本的におかしい。
普通はさあ、データってのはそれを見る必要がある奴(オブジェクト)にだけ
見えるようにするんだよ。
でなきゃ複雑性が縮減されないでしょ。
PCでいったら、CRTにキーボードのデータを渡す必要はないでしょ。
0389デフォルトの名無しさん
2005/12/14(水) 01:05:14コントロールないですか? ちなみにDataGridでごりごりつくってみました
が、列の色や幅を変えるにも四苦八苦しています。。。。。。。
DataSet,DataTable,DataTableStyle......ややこしすぎる
ListViewやDataViewなんかもあるみたいだがどれがポピュラーなのかもわからない
0390デフォルトの名無しさん
2005/12/14(水) 02:30:47CodeProject辺り覗けば結構ある
0391デフォルトの名無しさん
2005/12/14(水) 08:04:37そか標準にはないのか。オーバーロードしてまで使うのはちょと抵抗が。。。
CodeProjectって英語じゃん。コツつかまないと探せないな
0392デフォルトの名無しさん
2005/12/14(水) 08:12:16オーバーライドな
0393デフォルトの名無しさん
2005/12/14(水) 09:26:17だな、責務の考え方をきちんとすればおのずと共有じゃないことに気づく。
元フォームが次のフォームに情報を渡す場合は参照。
各フォームが独立して同じデータを見るのであれば、将来を考えてそれぞれ見るように作る。
0394前スレ904
2005/12/14(水) 14:49:52ページ選択とデータグリッドでデータを書き込むアプリケーションを作っています
(たとえば1ページがデータグリッド100行として210行目に書き込む必要があるとき
は2ページ目の10行目に記入)。
ただ現状はデータグリッドが表示されていない(入力待ちの1行しか出ていない)
のですが、これで空白のデータグリッド100行を初めから表示する方法はないで
しょうか?
0395デフォルトの名無しさん
2005/12/14(水) 15:37:09行番号を指定してデータを書き込むという流れが、ちょっと理解しに
くいんだが。とりあえず適当なTextBoxか何かで入力フォーム作って、
SQLでインサートするってのはダメなんかな?
行番号で管理するより重複しないIDを作ったほうが楽かと思うけど。
0396前スレ904
2005/12/14(水) 16:10:16ありがとうございます
>>とりあえず適当なTextBoxか何かで入力フォーム作って、
>>SQLでインサートするってのはダメなんかな?
データグリッドでないと具合が悪いです。
1ページ目は1枚20行、2ページ以降は1枚40行記入する請求書を作る
プログラムです。
入力する項目の数が未定なので次ページボタンを押すとさらに次の
ページが出てくる。前のページボタンを押すと今まで入力した分が
表示される、というものを作っています。
入力された時点で配列にデータを突っ込んで最後に印刷ボタンを押
すと先ほどの条件で作られているExcelフォーマットにデータを流し
込んで印刷/終了という流れです。
またお願いします。
0397デフォルトの名無しさん
2005/12/14(水) 18:51:17PictureBox1にpicMainのImageを半透明コピーをしたいのですが
-------------------------------------------------------
'PictureBox1のGraphicsオブジェクトを取得
Dim g As Graphics = PictureBox1.CreateGraphics()
'画像を読み込む
Dim img As Image = picMain.Image
'ColorMatrixオブジェクトの作成
Dim cm As New System.Drawing.Imaging.ColorMatrix()
'ColorMatrixの行列の値を変更して、アルファ値が0.5に変更されるようにする
cm.Matrix00 = 1
cm.Matrix11 = 1
cm.Matrix22 = 1
cm.Matrix33 = 0.5F
cm.Matrix44 = 1
'ImageAttributesオブジェクトの作成
Dim ia As New System.Drawing.Imaging.ImageAttributes()
'ColorMatrixを設定する
ia.SetColorMatrix(cm)
'ImageAttributesを使用して画像を描画
g.DrawImage(img, New Rectangle(0, 0, img.Width, img.Height), _
0, 0, img.Width, img.Height, GraphicsUnit.Pixel, ia)
'リソースを開放する
img.Dispose()
g.Dispose()
--------------------------------------------------------------
上記のプログラムを実行した後に Dim g As Graphics = Graphics.FromImage(picMain.Image) が実行されるとエラーで終了してしまうのですがどうすればいいのでしょうか?
ちなみにPicMainのgに対して色々描画するプログラムを組んでいます。
0398デフォルトの名無しさん
2005/12/14(水) 19:03:44これが原因じゃね?
0399前スレ904
2005/12/14(水) 19:07:34自己解決できました
For rowcounter = 0 To LastLineP1 Step 1
DataTable1.Rows.Add(DataTable1.NewRow())
Next
またお願いします
0400デフォルトの名無しさん
2005/12/14(水) 19:08:32>img.Dispose()
しかしなんかコピペ厨丸出しのコードだなあ。。
理解してもないサンプルコードをコピペして動かない動かないってアホかと思うけど。
質問する前になんでコードの中身を理解しようと思わないんだろう。
0401デフォルトの名無しさん
2005/12/14(水) 19:22:22最近VB.NET2003を初めて色々な本等で勉強しているのですが、そろそろステップアップに何か作ろうと思っています。
しかし持っている本等には基本的な創作例しかなく、もう少しレベルの高い物に挑戦してみたいのです。
何か創作例等が記載してあるようなサイトや書籍等知っている方がおられましたらどうか教えて下さい。
宜しくお願いします。
0402デフォルトの名無しさん
2005/12/14(水) 19:45:560403デフォルトの名無しさん
2005/12/14(水) 20:23:190404デフォルトの名無しさん
2005/12/14(水) 20:32:46OS付属のメモ帳とまったく同じ動作をするエディタを作ってみたら
どうだろう。MSDNのサンプルソースで十分できると思うし。
0405369
2005/12/14(水) 21:47:28レス、どもです。
やっぱり付属のものって使いづらいんでしょうかね?
それを考えると、Accessって結構すごい。
今検討しているのが
Visual Basic 2005 Express Edition + 市販レポート
です。
一応、SQLサーバーとも連携出来るようなので、この組み合わせが一番安いかも。
ただ、Pocket PCを使った業務用アプリケーションもいずれ作らないといけないんですが、
それを考えると普通にVisual Studio 2005を買ったほうが無難かな?
そうすると、20万くらいは行ってしまいそう・・・
0406デフォルトの名無しさん
2005/12/15(木) 00:05:22宣言したら解放しないといけないものだと思っていました。
その部分を削ったら正常に動きました。
本当にありがとうございました。
0407デフォルトの名無しさん
2005/12/15(木) 06:31:240408デフォルトの名無しさん
2005/12/15(木) 11:52:36また、サンプルコードなどがありましたら是非URLを教えてください。
何卒宜しくお願い致します。
0409デフォルトの名無しさん
2005/12/15(木) 11:58:000410デフォルトの名無しさん
2005/12/15(木) 12:20:07どうしたらいいですか?
0411デフォルトの名無しさん
2005/12/15(木) 12:26:430412デフォルトの名無しさん
2005/12/15(木) 13:13:49サンプルプログラムがあれば、宜しくお願い致します。
0413410
2005/12/15(木) 13:39:130414デフォルトの名無しさん
2005/12/15(木) 14:00:10ぐぐれ
いくらでもある
0415デフォルトの名無しさん
2005/12/15(木) 14:32:01httpでのサンプルは仰る通り幾らでも出てきたのですが、httpsでのサンプルは
一つも見つかりませんでした。
ちなみにhttpでのサンプルのアドレスを単純にhttpsに変更しただけでは駄目でした。
是非サンプルURLを教えてください。
0416デフォルトの名無しさん
2005/12/15(木) 15:32:29Focusメソッドを実行したのですがキャレットが表示されない・・・?
という現状に悩んでいます。
フォームのLOADイベント内で
If Me.Textbox.Cursor Is Cursors.IBeam Then
というif文で確認しても設定済みになっているのですが。
矢印キーで確認すると、どうもキャレットはTextboxに存在するけれど
見えない?ようです。
こんな事象の発生原因や回避方法等ごぞんじでしたらご教授ください。
0417デフォルトの名無しさん
2005/12/15(木) 15:40:52相手の鯖はちゃんと認証された鯖か?
0418デフォルトの名無しさん
2005/12/15(木) 16:27:57状況がさっぱり把握できないが、とりあえずキャレットとマウスカーソルのIBeamとは何の関係も無い。
0419デフォルトの名無しさん
2005/12/15(木) 16:50:04認証されています。
0420デフォルトの名無しさん
2005/12/15(木) 16:57:58接続エラーの内容ぐらい晒してくれ
ちなみに公的認証されてない証明書(自分で発行した証明書)
だとICertificatePolicyを実装してごまかすことは出来る
0421前スレ904
2005/12/15(木) 18:30:06DataGridに直接データ書き込んでいきます。
DataGridにはあらかじめページ数に対応したセルを生成してあります。
DataGridの最後の行に書き込んだとき、次の行が自動で出るのを止め
させたいのですが、いいアイデアが浮かびません。
これができないと初めにページ数分のセルを用意した意味が無くなって
しまいます。
妙案があったら御教授ください。
よろしくお願いします。
0422410
2005/12/15(木) 18:41:48FormのKeyDownイベントで取得しているのですが、
KeyPreviewを設定してもDataGridにフォーカスがある時は、
押したキーを取得できません。
どうすればいいでしょうか?
0423デフォルトの名無しさん
2005/12/16(金) 09:54:57KeyPreview プロパティ
0424デフォルトの名無しさん
2005/12/16(金) 10:21:21直接書き込むの意味がよく分からんが、
DataSourceを対象のDataTableのDefaultViewにしてそれのAllowNewをFalseにすればいいんじゃね
0425デフォルトの名無しさん
2005/12/16(金) 12:39:40VBに殆ど触れた事がないレベルの初心者です。
ファイルの読み込みに関する質問なのですが、
VB6で作成したバイナリファイルが.netではうまく読み込めません。
(中身は
0.1
0.12
0.11
のように数字が縦に並んでいるデータです)
VB6の場合は
Open CDA & "\" & CDB For Binary Access Read As #1
等を使って読み込めていたのですが、.netの場合↑のコードをアップグレードした
FileOpen(1, CDA & "\" & CDB , OpenMode.Binary, OpenAccess.Read)
等を使っても中身の数値を認識せず、文字化け状態のまま読み込んでしまいます。
何か知恵がございましたら、どうかよろしくおねがいします。
0426デフォルトの名無しさん
2005/12/16(金) 12:41:54If sfd.ShowDialog() = DialogResult.OK Then
System.IO.File.Copy(serverPath, sfd.FileName, True)
End If
の部分で、同名ファイルがなければ何事もなく保存されるんですけど
同名ファイルが存在した場合は「上書きします。「はい」「いいえ」」
が出て、そこで「はい」を押しても保存されません。
何故か sfd.ShowDialog() = DialogResult.OK の評価で
falseになっているらしくて else を入れれば拾えるんですけど
そうするとそもそも最初のダイアログの「保存」「キャンセル」のボタンで
キャンセル押した時に入ってしまいますし、
どうすれば保存できるのかわかりません。
というか何故こんな事になってるのかがわからないんですが・・・
ダイアログの作成では特に変な事は何もしてません。
対応方法お分かりになる人がいましたらよろしくお願いします。
0427デフォルトの名無しさん
2005/12/16(金) 12:56:30> のように数字が縦に並んでいるデータです)
縦にって、それはどう見てもテキストデータの概念なんだが。
バイナリエディタで見たときにどうなってるんだ?
>>426
親フォームが無いとそうなるバグっぽい。.NET 2.0では直ってる。
一応、FileNameが空文字列かどうかで判断できる。
0428前スレ904
2005/12/16(金) 13:00:22ありがとうございます。
ご指摘の通りで期待通りの動作をするようになりました。
ありがとうございます。
またお願いします。
0429425
2005/12/16(金) 13:12:50すみません、解説ミスりました。
件のバイナリファイルはテキストファイルを加工してできた物なのですが、
その元ネタのテキストファイルが、さっき言った縦に数値の並んでるファイルでした。
読みたいバイナリファイルをバイナリエディタという物で見てみた所、
00とかFCとかズラズラ並んでました。
0430デフォルトの名無しさん
2005/12/16(金) 13:32:00大体バイナリに文字化けも何も無いだろ。
0431425
2005/12/16(金) 13:40:28「テキストファイルを二つに分けて、それぞれバイナリにして保存」
ですけど、その加工するのに使ったVB6ツールのソースを消失してまして…
エラーメッセージに (文字化けとしか見えない文字列)はsingleとして読み込めない、
云々と書いてあったので、文字化けって読み込んでるのかと思ってしまいました。
やっぱり、肝心要の加工の詳細がわからないと無理でしょうか。
0432デフォルトの名無しさん
2005/12/16(金) 14:33:38なんと、バグでしたか・・・
基本的に上書きはありえないんで
あきらめるしかないかな。
どうもありがとうございました。
0433デフォルトの名無しさん
2005/12/16(金) 15:58:06DataGridを使ってPage_Load時にデータを表示させる処理を作りました
略)
DataGrid.DataSource = dsetSQL.Tables("Table").DefaultView
DataGrid.DataBind()
これでデータは表示できるのですが、動的にセル単位にコントロール(ボタンやハイパーリンク)を
設定したいのですが「実行時に自動的に列を作成する」にチェックを入れると無理なんでしょうか?
0434前スレ904
2005/12/16(金) 18:24:35データグリッドに新しい行を追加するときに使用した、
DataTable1.Rows.Add(DataTable1.NewRow())
という部分なのですが、生成した行を初期化する方法は無いでしょうか?
生成した行を操作しようとすると、
'System.InvalidCastException' のハンドルされていない例外が microsoft.visualbasic.dll で発生しました。
追加情報 : 型 'DBNull' から型 'String' へのキャストが有効ではありません。
というエラーが出てしまいます。
ならは行を生成した時点でNothingを中に入れることができれば良いのかと
考えたのですが、それを実現する方法が分かりません。
妙案があったら御教授ください。
よろしくお願いします。
0435前スレ904
2005/12/16(金) 20:05:53自己解決できました
ありがとうございました
0436デフォルトの名無しさん
2005/12/16(金) 20:38:42後半のレス本当か?
SaveFileDialogは散々つかってるが、そんな怪現象はまったく経験してないけど。
>>426のコードの例外処理あたりにバグがあるだけだと思うが。
何かソースってある?
本当にそんなあからさまなバグがあればMSにソースあるはずだけど。
.NETのVersion1.0の話かなあ。
俺は1.1(2003)しか使ったことないから。
0437デフォルトの名無しさん
2005/12/16(金) 21:40:20親フォームが無い状態ってのは普通にWinFormアプリを作る限りまずありえないからね。
サンプルコードなら
Module Test
Sub Main()
System.Console.WriteLine(New System.Windows.Forms.SaveFileDialog().ShowDialog().ToString())
End Sub
End Module
この実質一行。
0438デフォルトの名無しさん
2005/12/16(金) 21:43:57.NET 2.0でOKが返るようになったからバグと言う表現を使った。
0439デフォルトの名無しさん
2005/12/17(土) 22:48:51全選択されてしまうのでうが、これを回避し、文字列の先頭にキャレットを
持ってくる方法はありませんでしょうか?
http://www.atmarkit.co.jp/fdotnet/dotnettips/268tbcaretend/tbcaretend.html
を参考にしてselectメソッド使用すれば回避できそう、と思い
TextBox.Select(0, 0)を仕込んで回避できましたが。。。
もしfocusメソッドだけではなく、tabキーでのカーソル移動時にも
文字列の全選択をしたくない場合、
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vbcon/html/vbtskcontrollinginsertionpointineditcontrol.asp
のように、enterイベントが発生したら下記コードを走らせて…
TextBox.SelectionStart = 0
TextBox.SelectionLength = 0
っていうコードを、 すべてのTextBoxに対して記述するしかないんでしょうか。
もっと簡単にやる方法ってないでしょうか。
VB6.0のSetFocusもこのような仕様でしたっけ?
0440デフォルトの名無しさん
2005/12/17(土) 22:59:220441デフォルトの名無しさん
2005/12/17(土) 23:18:270442デフォルトの名無しさん
2005/12/18(日) 00:18:56名前がなw
0443439
2005/12/18(日) 02:25:55>>441
TextBoxクラスを継承し、独自のクラスを作り、それを利用する
ということですね。ありがとうございます。この方法なら
すべてのtextboxのイベント発生に対してコーディングする、
という作業をしなくてすみますね。早速tryしてみます。
>>440
ver2.0ならこういった事象はおきない、ということでしょうか。
当方、VB.NET(フレームワークのバージョンは1.1)で
何とかVB6.0のTextboxの動作とまったく同じ動作
(正確には「見かけ上まったく同じ動作に見えればよい」)
を実現しようとしておりまして。。。
「Textboxにfocusあてただけで全選択されるのは見た目が変わっちゃうな…」
と思って改善しようとしております。
ただ、現状はfocusやtabでのカーソル移動時の全選択くらいかなーと
思っているんですが、もしもtextboxで、
これ以外に6.0と.NET間で見た目上の違う動作があるのなら。。。ガクガク(((( ;゚Д゚))))ブルブル
頑張らねば。。。
0444デフォルトの名無しさん
2005/12/18(日) 03:24:22自らTextboxクラス作るしかないんでしょうか。6.0用の動作を簡単に実現する
クラスとかはM$さんからは提供されたりしてはいないんでしょうか。やはり地道に
作成するしかないということですかねぇ。
0445デフォルトの名無しさん
2005/12/18(日) 10:14:36ドライバ置いておくだけで、データベースにアクセス出来る仕様って
ありますか?
0446デフォルトの名無しさん
2005/12/18(日) 10:58:390447デフォルトの名無しさん
2005/12/18(日) 18:28:45DataGridはなんであんなに使い辛いんだろう? 体裁整えるだけ
なのに、いろいろ面倒な手順がいるし。
みんなはグレープシティの高いやつ使ってるのかな?
0448デフォルトの名無しさん
2005/12/18(日) 19:38:170449デフォルトの名無しさん
2005/12/18(日) 20:47:15クライアントアプリ入れないとドライバ入らなくないですか?
各クライアントにドライバ入れるのが数が多くなると非常にメンドいので。
0450デフォルトの名無しさん
2005/12/18(日) 21:23:030451デフォルトの名無しさん
2005/12/18(日) 22:55:55ADOでも良いんですが、自分の理解が間違っていたら申し訳ありませんが、
例えばOracleに接続する際にADOを利用する場合にはOracleのDB Provider
を用意する必用があり、クライアントにインストール作業は必用だと理解
しているのですが。。。
JavaだとType4ドライバを共有ライブラリのディレクトリにコピーすれば
動作するんですが。
0452デフォルトの名無しさん
2005/12/18(日) 23:01:03新規に用意したテストマシンには
Oracleクライアントインストールした覚えがないんだが
0453デフォルトの名無しさん
2005/12/19(月) 07:35:45データベースのドライバはどのように組み込んでいるのでしょうか?
0454デフォルトの名無しさん
2005/12/19(月) 07:52:36オラクルはクライアント入れないと
アクセスできないだろ
0455デフォルトの名無しさん
2005/12/19(月) 10:58:52ヘルプ見てもそういう例文が載ってないし・・・
0456デフォルトの名無しさん
2005/12/19(月) 11:27:17Hashtableだろうがobjectには変わりないからな
読み込みをできるようにしたいと思っているんですが、どなたか教えて
いただけませんか?
0458デフォルトの名無しさん
2005/12/19(月) 12:08:48今日は寒いのに太公望とは。
0459デフォルトの名無しさん
2005/12/19(月) 12:19:010460デフォルトの名無しさん
2005/12/19(月) 16:45:32まず、色々な所に書いてある
If IsNumeric(e.KeyChar) Or e.KeyChar = ChrW(8) Then
Else
e.Handled = True
End If
というコードを追加してみました。
これでは、"."が大量に書けてしまうので、
If IsNumeric(e.KeyChar) Or Not (TextBox1.Text.EndsWith(".") And e.KeyChar = ".") Or e.KeyChar = ChrW(8) Then
Else
e.Handled = True
End If
と変えてみたのですが、これだと最初に"."が書けてしまって困っています
最初だけ"."を書かせない場合には、どうすればいいのでしょうか?
0461デフォルトの名無しさん
2005/12/19(月) 17:14:30TextChangedで正規表現で一括チェックした方が楽そう。
@ITの会議室に数値の正規表現が論じられたスレがあったけど。
0462デフォルトの名無しさん
2005/12/19(月) 17:35:31とか使った方がええんでない?
0463デフォルトの名無しさん
2005/12/19(月) 18:57:53初回の"."は"0."と置き換えるようにするとか。
0464デフォルトの名無しさん
2005/12/19(月) 20:02:24何が難しいのかさっぱり理解できないけど。
まず落ちついてどういう処理をすべきか言葉にしてみたら。
こういうことじゃないの?
Select Case テキストボックスの文字列
Case ""
数字だけ受けつける
Case 整数
数字と小数点を受け付ける
Case 実数
数字だけ受け付ける
End Select
でも個人的には先頭の文字がデシマルポイントでも全然かまわないと思う。
0465デフォルトの名無しさん
2005/12/19(月) 23:06:54色々ミドルウェアを見てみたけど、
クライアントインストール無しでってのは見当たらなかったな。
本家のODP.NETも結局クライアントに入れる必要あるし。
OracleクライアントもODBCの設定も不要な
DLL形式のドライバって需要ありそうだけどね。
MS SQLはADO.NETにSqlClientが統合されてるけど、
こういうとこでMS謹製に分があるのは仕方ないと思う。
0466デフォルトの名無しさん
2005/12/20(火) 02:34:32Threadの操作で、Thread.SuspendとThread.Resumeに「古い形式です」とかの警告が出やがった。
変わりにThread.Sleep(0)とか使おうとしてみたが、今度は「共有メンバにインスタンス経由で云々」
もうね、面倒くさいんで古い形式のままSuspend & Resume使うことにしたよ。
0467デフォルトの名無しさん
2005/12/20(火) 07:42:03やはりそうですか。
クライアント配布はコスト増の大きな要因ですから、パカパカ
データアクセス手法を変えるのであればJDBCと同程度には
してもらいたいですね。
何でもかんでもレジストリに登録ってのがよくも悪くもの部分だとは
思うけど。
0468デフォルトの名無しさん
2005/12/20(火) 19:54:14コントロールのリサイズ時に、
最後の列だけでも良いので
幅がぴったり合うようになるサンプルのようなものはありますか?
リサイズすると、
ヘッダが切れてしまった、見た目が悪いのをどうにかしたいです。
0469デフォルトの名無しさん
2005/12/20(火) 23:05:06カラム幅に -2 を設定する(-1だったかもしんない)と
カラムの所属する親コントロールのサイズに対して均等割り付けできたと思う。
最後の列だけでいいなら、resizeイベントで
columns[columns.count - 1].width = - 2 とかすればいいんじゃない。
0470デフォルトの名無しさん
2005/12/20(火) 23:48:36返信ありがとうございます。
GridColumnStyles へ add する
DataGridTextBoxColumn の width に値を渡してやりましたが、
-2だと、非表示、-1だとヘッダの文字列にサイズが合うようです。
-2はたぶん要素の文字列にサイズが合うのだと思うのですが、
いかがでしょうか?
0471デフォルトの名無しさん
2005/12/21(水) 00:07:20ListViewでそんなことした記憶があったんだけど、違ったか。
ごめんごめん。
じゃあ、
1. columns を for か foreach で回しながら
最後の column を除く column.width の和を算出。
2. DataGrid.width - 上の和で、
最後のColumnの左辺からDataGridの右辺までの幅を出す。
3. columns[columns.count - 1].width = 2で出した幅
とか。
0472デフォルトの名無しさん
2005/12/21(水) 00:12:33説明が下手ですみません。
ヘッダの幅を、セルに入ってる文字にあわせるのではなくて、
DataGridコントロール、そのものの幅に合わせたいと思っています。
ヘッダの幅は設定した値で固定なので、
DataGridコントロールそのものの幅を変更すると、
ヘッダが途中で切れてしまって見栄えが悪いので、
そこをなんとかしたいと思ってます
0473デフォルトの名無しさん
2005/12/21(水) 00:15:33最後のヘッダカラムか先頭のヘッダカラムのWidthを
DataGridコントロールのWidthが変化時(resize)に、
自動で変化させて、ヘッダの後ろに出来る隙間を埋めてあげたいのですけれど、
良い方法ってご存知ないでしょうか…
0474デフォルトの名無しさん
2005/12/21(水) 11:34:480475デフォルトの名無しさん
2005/12/21(水) 19:27:47こちらで改めて質問します。
開発環境:VB6sp3
実行環境:VB6ランタイム インストール済
この環境から、
「開発環境を.NETに移行するが、実行環境は変えずに済む方法」はありますか?
つまり、.NETでVB6と完全に同じモジュールを作れるのでしょうかといったことなのですが。
0476デフォルトの名無しさん
2005/12/21(水) 19:29:000477デフォルトの名無しさん
2005/12/21(水) 19:38:38スレ違い
移行絡みの話はVB6スレでどうぞ
0478デフォルトの名無しさん
2005/12/21(水) 20:03:17教えてください。
私はVB.net2003を使用しています。
Windowsupdateで、.NET Framework 2.0をインストールしました。
すると、VB.net2003が起動できなくなりました。
今まで作っていたプログラムも起動しません。
何か解決策はありますか?
VB.net2003の開発環境で、
.NET Framework 2.0はインストールしてはいけなかったのでしょうか?
0479デフォルトの名無しさん
2005/12/21(水) 20:07:11私はVS2002とVS2005Express入れてるし。
とりあえず修復インストールでもしてみたらどうだ。
ところで起動しないと言っても色々あるが、どんな症状なんだ?
0480478
2005/12/21(水) 20:34:45>とりあえず修復インストールでもしてみたらどうだ。
当然しました。
そしたら、途中でバグって?修復できなかったです。
で、仕方ないからVB.net2003を削除して再インストールと考え実行。
しかし、削除しきれないし、インストールも出来ないです。
もちろん、その際、.NET Framework 2.0はアンストール済みです。
>ところで起動しないと言っても色々あるが、どんな症状なんだ?
.NET Framework 2.0をインストールした時点では、
VB.net2003を起動すると、デバッガの選択肢が二つ出ます。
二つとも選択して各々試してみましたが、VB.net2003の起動
というか、プログラム作成、それと、過去のプログラムファイル
を開くことは出来ませんでした。
0481デフォルトの名無しさん
2005/12/21(水) 21:43:43大体471の方法で出来るよ。
DataGridView用でC#でプロパティ名はうろ覚えでしかも走り書きだが
適当に読み換えて使え。
int Total = 0;
// とりあえずRowHeaderの幅を足しとく
Total += DGView.RowHeadersWidth;
// 末尾を除くColumnにアクセスする
for( int i = 0; i < DGView.Columns.Count - 1; i++ ){
// Columnの幅を足していく。
Total += DGView.Columns[ i ].Width;
// Widthに含まれないボーダだかマージンだかの分。ないと微妙にズレる。
// 場合によってはここで足す値をちゃんと取得する必要があるかもしれない。
Total++;
}
// DataGridの幅から末尾のColumnを除くHeader部分(Total)を引いた値を、
// 末尾のColumnの幅に設定する。
DGView.Columns[ DGView.Columns.Count - 1 ].Width
= ( DGView.Width - Total );
これを実行する場面は、
DataGridのResizeと、ColumnWidthのResizeと、
RowHeaderのResizeと、後は必要なら起動時等の初期化の時。
0482デフォルトの名無しさん
2005/12/21(水) 22:55:11>>481
ご丁寧にありがとうございました。
チャレンジしてみます。
しかし、DataGridって、Column数をすぐに返してくれるプロパティってないでしょうか^^;
スクロールバーが表示されてるかされてないかとか…
いろいろ大変です。
0483デフォルトの名無しさん
2005/12/22(木) 01:59:39どうやったらいいすっか?
0484デフォルトの名無しさん
2005/12/22(木) 02:05:280486デフォルトの名無しさん
2005/12/22(木) 03:35:21使用しているのはVB.NET2003なのですが、フォームを表示するときに
ただ表示するのではなく、例えばMSNメッセンジャーでメールが来たときのように
下からフォームがススッと移動してきて表示されるようにしたいのですが、そういう場合はどこをいじればよいのでしょうか。
色々検索してみたのですが、まったくヒットしないので、どなたか教えていただければ幸いです。
0487デフォルトの名無しさん
2005/12/22(木) 07:31:53Top
0488デフォルトの名無しさん
2005/12/22(木) 09:41:32VB2003でのことなんですが、
親クラスに
Public Overridable Sub testSub()
Public Overridable Sub testSub(Byval str as String)
というメソッドがあるとします。
このクラスを継承した子クラスで上記のメソッドを
Public Overrides Sub testSub()
Public Overrides Sub testSub(Byval str as String)
というようにオーバーライドしようとすると、
「Overloadsに宣言されていなければいけません」
というエラーになります。
確かにそれは理解できるのですが、
Public Overloads Sub testSub()
Public Overloads Sub testSub(Byval str as String)
というように宣言するとエラーが出なくなりました。
Overridesの宣言は必要ないのでしょうか?
また、親クラスのメソッドにはOverloadsの宣言は必要ないのでしょうか?
0489前スレ904
2005/12/22(木) 13:31:47>>483
DataTableでやるならこういうのも良いかも
DOBON.NETより
'CurrencyManagerを取得する
'ここではDataGrid1.DataSourceに
'DataTableオブジェクトが設定されているものとする
Dim cm As CurrencyManager
cm = CType(Me.BindingContext(DataGrid1.DataSource), _
CurrencyManager)
'DataViewを取得する
Dim dv As DataView = CType(cm.List, DataView)
'新しい行の追加を禁止する
dv.AllowNew = False
0490デフォルトの名無しさん
2005/12/22(木) 13:55:13XmlDocumentをNetworkstreamでネット経由転送する場合、
BinaryReader/Writerではエラーは出ませんがCPU負荷率が100%と
なってしまい、ハングアップしてしまいます。XmlDocumentを転送する
場合は、どのリーダ/ライターを利用するのが適切なんでしょうか。
0491デフォルトの名無しさん
2005/12/22(木) 14:15:31関数内の任意ブロックをエディタ上でたたむ(?)ことって出来ますか?
例えば
Private Function func1() As Integer
・・・
For i to 100
・・・
・・・
Next
・・・
End Function
↓
Private Function func1() As Integer
・・・
+For i to 100...
・・・
End Function
こんな感じに
0492デフォルトの名無しさん
2005/12/22(木) 14:19:12やってみたらエラーになりますた(><)
0494デフォルトの名無しさん
2005/12/22(木) 15:11:39BinaryWriter使ってどう読み書きしてるんだ?
BinaryWriter.WriteにはXmlDocumentを引数にとるものはないし
XmlDocument.SaveやXmlDocument.WriteToにBinaryWriterにBinaryWriterを使うものも無いが。
0495前スレ904
2005/12/22(木) 15:57:53ファイルの有無を確認し、ファイルが無いときはファイルを作成、
ファイルが有る時はファイルを開いて処理をするプログラムを作成
しています。
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If IO.File.Exists("smpl.txt") = False Then
IO.File.Create("smpl.txt")
End If
Dim Reader As New IO.StreamReader("smpl.txt", System.Text.Encoding.GetEncoding("Shift-JIS"))
Do While Reader.Peek >= 0
ListBox1.Items.Add(Reader.ReadLine())
Loop
Reader.Close()
End Sub
これでファイルが存在しないとき、ファイルを作成てIfから抜けた後で
例外が発生します。
'System.IO.IOException' のハンドルされていない例外が mscorlib.dll で発生しました。
追加情報 : プロセスはファイル "C:\Documents and Settings\cloud\My Documents\Visual Studio Projects\fileop\bin\smpl.txt" にアクセスできません。このファイルは別のプロセスが使用中です。
プロセスが使ってるってことはDisporse等で開放すれば良いと思うのですが、
そういう命令がありません。
どのようにすれば対策できるでしょうか。
御教授ください。
0496デフォルトの名無しさん
2005/12/22(木) 16:06:530497デフォルトの名無しさん
2005/12/22(木) 16:09:36If Not(File.Exists("****")) Then
'作成
Else
'読み込み
End If
とか、Peekを見るよりReadLine()の返り値がNothingがどうかチェックした方が自然じゃね、とか。
0498デフォルトの名無しさん
2005/12/22(木) 16:09:54これが原因
以下の書き方ではいかんのか?
If IO.File.Exists("smpl.txt") Then
Dim Reader As New IO.StreamReader("smpl.txt", System.Text.Encoding.GetEncoding("Shift-JIS"))
Do While Reader.Peek >= 0
ListBox1.Items.Add(Reader.ReadLine())
Loop
Reader.Close()
else
IO.File.Create("smpl.txt")
End If
0499デフォルトの名無しさん
2005/12/22(木) 16:10:390500498
2005/12/22(木) 16:13:42別のやり方としては、
IO.File.Create("smpl.txt")
の部分を以下に書き換えるとか。
Dim C as System.IO.FileStream
Try
C = System.IO.File.Create("smpl.txt")
Finally
if Not C is Nothing then
C.Close()
end if
end try
0501デフォルトの名無しさん
2005/12/22(木) 16:30:37Dim fs As IO.FileStream = IO.File.Create("smpl.txt")
fs.Close()
でいいんじゃない?
0502前スレ904
2005/12/22(木) 16:33:49>>496 >>497 >>498 >>500
ありがとうございます。
要はファイルを開いた時点で再度ファイルを確認することはないってことですね。
(変な例えだと新聞読もうと捜して右手に取った後、もう手に取ってるのに新聞を
探すようなことをするコードだった・・・?)
実例見てスッキリしました。
ありがとうございました。
またよろしくお願いします。
0503最凶VB厨房
2005/12/22(木) 17:43:28>Overridesの宣言は必要ないのでしょうか?
基本クラス型の変数に派生クラス型のインスタンスを入れて
基本クラスのメソッドを呼んだとき、
Overridesの有る無しで呼ばれるメソッドが違います。
>また、親クラスのメソッドにはOverloadsの宣言は必要ないのでしょうか?
省略可です。
0504デフォルトの名無しさん
2005/12/23(金) 04:33:52チェックボックスにtabキーなどでフォーカス移動した際に、
「チェックボックスのフォーカスは文字の方に表現されるので、
文字のないチェックボックスはフォーカス状態が
見かけでは判別できなくなる。」
参照:ttp://homepage1.nifty.com/rucio/main/dotnet/shokyu/standard17.htm
とのことなのですが、もしフォーカスがあたっていることを明示的に
知りたい場合、みなさんならどうされていますか?
自分としては
・フォーカス設定時にバックカラーを変更する
くらいしか思いつかないのですが、どんなやり方が一般的でしょうか。
チェックボックス入力欄の四角自体を点線で囲えればいいんでしょうが。。。
0505デフォルトの名無しさん
2005/12/23(金) 11:53:29* 文字のないチェックボックスを置く、など愚の骨頂。
0506デフォルトの名無しさん
2005/12/23(金) 16:03:03そんな小細工はしないのが一般的
0507デフォルトの名無しさん
2005/12/23(金) 17:25:58聞いてみたいな。Imageプロパティに適当なピクトグラムを貼って使
ってもいいと思うんだけど。
0508デフォルトの名無しさん
2005/12/24(土) 00:27:36form2の中でform1のメンバーになぜアクセスできるのかわからん
例えば、form1.mHerNameみたいにform2でform1のインスタンスを
つくっていないので参照できてしまうのはどういうわけなんだろう
0509デフォルトの名無しさん
2005/12/24(土) 00:34:250510デフォルトの名無しさん
2005/12/24(土) 00:35:10規定インスタンスがあるからじゃね?
0511508
2005/12/24(土) 00:43:16規定とかデフォルトって、例えばform1とform2はそのインスタンスに属して
いるということなのか? そしてそのインスタンスはIDEに隠蔽されていて
編集とかできないってことなのかな
0512デフォルトの名無しさん
2005/12/24(土) 00:45:44まてまて
言ってることがおかしいぞ?
0513デフォルトの名無しさん
2005/12/24(土) 00:50:120514508
2005/12/24(土) 01:06:56たくさんのフォームのどこからでも使えるクラスの作り方って
public なクラスとして宣言したらよいのか?
0515デフォルトの名無しさん
2005/12/24(土) 01:10:51何か話が通じてないな…
クラスの作り方がどうとかという話ではなくて、
デフォルトインスタンスって書いたのは、
要するにフォームのと同一の名前を記述することで、
自動的にインスタンス化されたフォームにアクセスできるってものだ。
はっきり言って止めてほしい…
0516508
2005/12/24(土) 01:16:22なるほど。そういう仕組みでフォームにアクセスできるのか。
そのデフォルトインスタンスってのはVB.NETに限って特有のことって
考えてよい?
0517デフォルトの名無しさん
2005/12/24(土) 10:41:44文字を選択した状態を表示するためにFillRectangleとDrawStringを同じ位置に描画すると、
文字がずれてしまうのでStringFormatにGenericTypographicを指定してします。
これで思ったとおりの位置に表示されるのですが、連続した文字などを描画すると、
最後の数文字の文字間隔が狭く表示されてしまいます。こんな感じ→ a a a a a a aaaa
これをGDIのTextOutで描画したときと同じように等間隔で表示する方法は無いのでしょうか?
ご教授お願いします。
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim g As Graphics = Me.CreateGraphics
Dim f As New Font("MS Pゴシック", 12.0!)
Dim fmt As StringFormat = StringFormat.GenericTypographic
g.FillRectangle(Brushes.Blue, 10, 10, 80, 20)
g.DrawString("aaaaaaaaaa", f, Brushes.White, 10, 10, fmt)
g.Dispose()
End Sub
0518デフォルトの名無しさん
2005/12/24(土) 14:36:39再現できないけど。
DrawStringでRectangleFを指定しても同じく再現できない。
0519517
2005/12/24(土) 14:50:16ぱっと見ても分からないくらいの差です。
スクリーンショットを取って確認したところ、前方の文字間は2Pixels
空いてるのに後方の文字は1Pixelsしか空いていませんでした。
0520デフォルトの名無しさん
2005/12/24(土) 15:30:26なるほど本当だ。
しかし、(どうしてStringFormatにGenericTypographicが返す値を指定すると
そうなるのかはよくわからないけど)それならStringFormatなんて指定しなきゃいいんじゃないの?
何がやりたいのかいまいちわからないけど、要は塗りつぶした領域内に収まるように
文字を描画したいんだよね?
それならオーソドックスに文字を描画する座標を計算すればいいだけなのでは。
たとえば領域のy方向の中点から文字の高さ(g.MeasureStringで取得)の半分を引いた値を
DrawStringのy座標の値にするとかね。
0521デフォルトの名無しさん
2005/12/25(日) 00:16:30なるほど、わかりました。
参考にさせていただき検討します。
ちなみに、なぜそのような仕様になったかというと。。。
使用者「このチェックボックス、横の説明文みたいな箇所いらんよ。いちいち書かなくてもユーザはわかってる項目だしさ、スペース無駄だし。」
↓
(文字なくしたチェックボックスを提示)
↓
使用者「画面のレイアウトはこれでいいよ。ユーザ的にもOKだ。でも、欲を言うとtabキー移動時にフォーカスあたってるかどうかがわからないね。わかる方法ないかね? 点線かなんかで囲うとかさぁ?」
↓
(え、どうしよう、普通はどうするんだ・・・?)
0522デフォルトの名無しさん
2005/12/25(日) 03:43:040523デフォルトの名無しさん
2005/12/25(日) 13:21:49なら、そのチェックボックスが持ってる機能の頭文字とか絵文字を
ひとつだけ表示しておいたらどうだろう? 1文字も許されないよ
うなスペースも無いとかならダメだけどさ。
機能説明の無いチェックボックスなんて、本来存在してはいけない
んだけどな。
0524デフォルトの名無しさん
2005/12/25(日) 16:26:39輪郭のついたフォントを用意する。
0525デフォルトの名無しさん
2005/12/25(日) 16:32:48フォントをズラして2度書き
0526デフォルトの名無しさん
2005/12/25(日) 19:30:35それだと影は付くだろうけど、アウトラインにはならないかも。
上下左右に4回ずらしてやったらいけるかな。(w
0527デフォルトの名無しさん
2005/12/25(日) 19:34:41アウトライン
0528デフォルトの名無しさん
2005/12/26(月) 16:12:44LunaのおかげでFormが小さくなってしまって、
見た目が崩れてしまいます。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=19853&forum=7&7
↑これと同じ悩みなのですが解決できないものなのでしょうか??
0529デフォルトの名無しさん
2005/12/26(月) 20:24:32それってあるあるw
あとAutoAcale = TrueにしとくとWinの言語バージョンによって
勝手にウィンドウやボタンのサイズが変わったり。
本当にしょうもないよね。
確かフォームが表示される前にClientSizeをコードで指定してやれば
対処可能だったと思ったけど、そういう小細工を弄するより
余裕をもったデザインをする方が結局楽だと思う。
まあそうもいかない場合もあるけど。
0530デフォルトの名無しさん
2005/12/26(月) 20:32:260531デフォルトの名無しさん
2005/12/26(月) 20:42:16民明書房刊『.NET開発におけるWindowsフォームの秘儀』参照の事
0532デフォルトの名無しさん
2005/12/26(月) 20:43:33O 秘技
0533デフォルトの名無しさん
2005/12/26(月) 21:01:030534デフォルトの名無しさん
2005/12/26(月) 23:17:48画面の上や右にもっていくと勝手にくっつきます
VB6のころはドッキングするウィンドウを選択できましたが今回は
なくなったのでしょうか
0535デフォルトの名無しさん
2005/12/27(火) 00:32:55おいおい目が見えないのかい。
ウィンドウドラッグしてるときIDEのステータスバーを見てみ
VS2003のIDEはVB6のより自由度高いよ。
0536デフォルトの名無しさん
2005/12/27(火) 01:00:17あ、タスクバーになんか書いてますね
なるほどコントロールキーを押さないといけないのか。わかったよ産キュー
あとフォームデザインウィンドウでVS2003では下のほうに変なアイコンが
ならんでいるが消せないものだろうか
ちなみにVS2002では表示されていないのですが。。。
0537デフォルトの名無しさん
2005/12/27(火) 12:04:23>>529
スクロールバーも太くなってコントロールの内側も狭くなることも判明。。。
0538デフォルトの名無しさん
2005/12/27(火) 14:22:12\ た| た | た
よ\て| て | て
こ \| 1 | 2
----------------------
よ | |
こ | |
1 | |
----------------------
DataGridで左上のようなラインでわけて文字列を表示するようなものを
1セル内で作成することは可能ですか?
図・・・わかりにくいですね・・・orz
0539デフォルトの名無しさん
2005/12/27(火) 14:33:510540デフォルトの名無しさん
2005/12/27(火) 19:17:41環境はVB.net2003です。
IMEがオンであるかオフであるかを調べるにはどうしたら良いですか?
これだけでもわかれば助かります。
色々と検索しましたが見当たりません。
0541デフォルトの名無しさん
2005/12/27(火) 19:32:05すぐに発見できたけど。
http://64.233.167.104/search?q=cache:i4yayCvZ_FgJ:www.winapi-database.com/String/Ime/+.net+tips+ime%E3%80%80%E3%83%A2%E3%83%BC%E3%83%89%E3%80%80%E5%8F%96%E5%BE%97&hl=ja
0542540
2005/12/27(火) 19:38:47本当に検索しました。
yahooです。
IME オン オフ 設定 プログラム とか、色々。
今度からはググルようにします。
素早いご回答、感謝します。
0543デフォルトの名無しさん
2005/12/27(火) 19:45:38yahooでも、「IME」「関数」で3番目に出てくるんだがね、541のサイト
自分の至らなさを検索エンジンのせいにするなよ
0545521
2005/12/28(水) 04:41:07なるほど、一文字のみ表示する案もありますね。
みなさんのおっしゃる通り、
「チェックボックスTextを空欄にする」こと自体がそもそもよろしくない、
というのが一般的なようですので、使用する方に
一度再提案してみます。。。。
0546デフォルトの名無しさん
2005/12/28(水) 06:41:450547デフォルトの名無しさん
2005/12/28(水) 10:33:440548デフォルトの名無しさん
2005/12/29(木) 11:52:29なぜlabel要素はHTML4.01まで遅れたのやら。
0549デフォルトの名無しさん
2005/12/29(木) 12:19:100550前スレ904
2005/12/29(木) 17:02:45ODBCを使ってMySQLに接続してデータを参照するソフトを作っています。
MyODBCの設定の時点では問題ない(と思う。接続のテストでは接続できる)
のですが、ソフトを実行すると例外が発生します。
'System.Data.Odbc.OdbcException' のハンドルされていない例外が system.data.dll で発生しました。
追加情報 : システム エラーです。
原因がどうしてもつかめません。 どなたか御教授下さい。
Dim ds As DataSet = New DataSet
Dim dr As OdbcDataReader
Private Sub ConnectANDDisconnnectButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ConnectANDDisconnnectButton.Click
Dim codco As OdbcConnection = Me.OdbcConnection1
Dim cmd As New OdbcCommand("SELECT * FROM dummybook", codco)
codco.Open()
dr = cmd.ExecuteReader()
While dr.Read
System.Diagnostics.Debug.WriteLine(dr("days") & " " & dr("itemname") & " " & dr("odernumber"))
End While
codco.Close()
Dim da As New OdbcDataAdapter("SELECT days, itemname, odernumber from dummybook", codco)
da.Fill(ds)
writegrid()
codco.Close()
End Sub
Private Sub writegrid()
Me.DataGrid1.DataSource = ds.Tables(0).DefaultView
End Sub
0551前スレ904
2005/12/29(木) 18:04:23問題解決できました。
参照される側にはIDが発行されていましたが、権限が与えられていませんでした。
権限の設定をしたら接続できました。
ありがとうございました。
0552デフォルトの名無しさん
2005/12/30(金) 08:29:37文法上の名称教えてください。xmlじゃないです。
0553デフォルトの名無しさん
2005/12/30(金) 09:13:08ほかに用途はあったっけ...
0554デフォルトの名無しさん
2005/12/30(金) 12:07:04BeginInvokeで実行しています。
そこで質問なのですが、BeginInvokeで実行しているスレッドを
途中で終了させるにはどうすればいいのでしょうか?
0555デフォルトの名無しさん
2005/12/30(金) 12:13:06スレッド側が何らかのオブジェクトの状態を見て自分で終了するかどうか判断する。
0556デフォルトの名無しさん
2005/12/30(金) 12:28:13Thread.Stopのようには行かないと言うことですね。
スレッドの中からオブジェクトの状態を見る方法を調べてみます。
0557デフォルトの名無しさん
2005/12/30(金) 16:39:480558前スレ904
2005/12/30(金) 17:01:50Comboboxから入力した文字をファイルに書き出すというプロシージャを作っています。
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim Writer2 As New IO.StreamWriter("smpl.txt", True, System.Text.Encoding.GetEncoding("Shift-JIS"))
Writer2.WriteLine(ComboBox1.Text)
Writer2.Close()
ComboBox1.Items.Clear()
Dim Reader2 As New IO.StreamReader("smpl.txt", System.Text.Encoding.GetEncoding("Shift-JIS"))
Do While Reader2.Peek >= 0
ComboBox1.Items.Add(Reader2.ReadLine())
Loop
Reader2.Close()
End Sub
このソースだと文字を入力すると1行空白が入ってしまいます。
空白が入っては駄目とのことです。
TextBoxとListBoxの組み合わせのほうが簡単だと思いますが、ComboBoxでないと
駄目なので苦労しています。
どなたか妙案があれば御教授ください。
お願いします。
0559前スレ904
2005/12/30(金) 17:41:12自己解決できました。
別の処理部に原因がありました。
そこをやっつけたら問題なく期待通りの動きになりました。
ありがとうございました。
またお願いします。
0560デフォルトの名無しさん
2005/12/30(金) 17:49:01そのFlash上の何かのボタンを押すと、その一回目のクリックは受け付けるんですけど、
二回目以降は、Flashのエリアではない別の場所を一度クリックしないと以降受付ないのです。
以前のバージョン2003まででは、クリックした後に、FOcusをHtmlDocumentにセットしなおせば、
まともに動作したのですが、今回は駄目。回避方法ありますか?
0561デフォルトの名無しさん
2005/12/30(金) 17:53:470562デフォルトの名無しさん
2005/12/30(金) 19:53:13話の流れ読んでればThread.Abortの事だと分るんじゃ…?
0563デフォルトの名無しさん
2005/12/30(金) 19:54:13あっさり原因が分かって解決するってのは誰もが経験していること
だからなぁ。
0564デフォルトの名無しさん
2005/12/30(金) 20:09:28あるあるw
0565デフォルトの名無しさん
2005/12/30(金) 20:36:09任意のボタンクリック、例えば「a」キーを押すと
IMEが強制的に、かな入力設定になるプログラムって
どうしたらいいの?作成プログラムの実行ファイル内ではなくて、
Windows自体の動作を設定したいのですが・・・
0566デフォルトの名無しさん
2005/12/30(金) 21:53:33人にわかるように説明するには状況を整理することになるからな
0567デフォルトの名無しさん
2005/12/30(金) 21:59:08ttp://forums.belution.com/ja/vc/000/170/27s.shtml
こういう事だと思うけど、MS-IME 98以降ダメらしいね。
0568デフォルトの名無しさん
2005/12/30(金) 21:59:12・グローバルホットキー、またはグローバルフック
・ImmSetOpenStatus
・.NET Framework/VBでやるもんじゃないな
0569565
2005/12/31(土) 09:08:27感謝です。
0570デフォルトの名無しさん
2006/01/01(日) 04:45:09これらの情報が取得できるのかが見えていません。
レジストリ、WMI、WIN32API等を調べてみましたが
見つけられませんでした。
どなたか、ワイヤレスネットワークの情報を取得するために
必要な技術を教えてください。
最終的にやりたいことは、端末のワイヤレスネットワークの
情報もろもろを取得しHTMLの表にしたいと考えています。
0571デフォルトの名無しさん
2006/01/01(日) 04:51:020572デフォルトの名無しさん
2006/01/01(日) 19:18:27素直にStumbler系を使ったら?
どうしても開発しなければならない理由があるならともかく。
0573デフォルトの名無しさん
2006/01/03(火) 04:27:10IEのCookieを取得する方法はありませんか?
Perlなら簡単に出来るのにVBで全然見つからない・・・
0574デフォルトの名無しさん
2006/01/03(火) 04:41:010575デフォルトの名無しさん
2006/01/03(火) 07:41:36WebBrowserコントロールならDocument.Cookie
0576デフォルトの名無しさん
2006/01/03(火) 10:49:38JAVAScriptのWindow.Closeをキャッチする方法ってありませんか。
タブWindow作ってるんだけど、Window.Closeで閉じるようにしたいんだけれども。
VB2005のWebbrowserです。
0577デフォルトの名無しさん
2006/01/03(火) 13:33:470578デフォルトの名無しさん
2006/01/03(火) 15:23:19キターーーーーーーーー
ありがとう
0579デフォルトの名無しさん
2006/01/03(火) 18:10:56> Perlなら簡単に出来るのにVBで全然見つからない・・・
意味が理解できないのは気のせいですか…?
0580デフォルトの名無しさん
2006/01/04(水) 12:38:28フォームのCliantSizeをバインドすると、以降、そのアプリケーションを
最小化して元に戻すとサイズが「0,0」になってしまいます。これは
どのようにして回避すればいいんでしょうか。
0581デフォルトの名無しさん
2006/01/04(水) 13:27:45考えるよりとりあえずはバインドしないで自作に限るのでは?
便利だけどそういう仕様と思われる限りは使えないってことで。
0582デフォルトの名無しさん
2006/01/04(水) 17:51:04最小化したままアプリケーションを終了させて、次に実行したときの事だと推測して・・・
プロジェクトのプロパティ画面の設定タブにある「コードの表示」でSetteings.vbを開き
MySettings_SettingChangingイベントハンドラに
If e.SettingName = "Form1ClientSize" Then
If Form1.WindowState <> FormWindowState.Normal Then
e.Cancel = True
End If
End If
を記述。("Form1ClientSize"はClientSizeにバインドした項目名)
0583582
2006/01/04(水) 17:52:19○Settings.vb
0584デフォルトの名無しさん
2006/01/04(水) 18:00:410585デフォルトの名無しさん
2006/01/04(水) 18:02:33メインスレッドでやるとUIからの入力・反応も止まるから注意
0586デフォルトの名無しさん
2006/01/04(水) 18:17:01ありがとー
0587デフォルトの名無しさん
2006/01/04(水) 18:22:310588デフォルトの名無しさん
2006/01/04(水) 18:23:190590デフォルトの名無しさん
2006/01/04(水) 19:17:540591デフォルトの名無しさん
NGNG0592デフォルトの名無しさん
2006/01/04(水) 19:22:030593デフォルトの名無しさん
2006/01/05(木) 00:22:27mp3ファイルなどのビットレートを取得する方法がどうしてもわかりません。
どなたか教えてください。
WinXP HE SP2
Visual Studio .NET 2003 Professional
0594デフォルトの名無しさん
2006/01/05(木) 00:35:06直接バイナリ読んでるのか?
0595593
2006/01/05(木) 00:52:28DataGridに表示させています。
現在はファイル名とアーティスト名(アニソンならアニメのタイトルも)を表示させています。
ここでさらにビットレートを表示させたいのですが取得方法がわかりません。
バイナリデータを読むという方法ははじめて聞きました。
バイナリデータにファイルの情報がつまっているならそこから取得できそうですね。
試してみます。
0596デフォルトの名無しさん
2006/01/05(木) 01:15:020597593
2006/01/05(木) 01:32:14アニメタイトル.....曲名/アーティスト名.mp3
という書式になっています。
ファイル名を取得して文字列操作関数でタイトル名、曲名、アーティスト名などを取得しています。
0598デフォルトの名無しさん
2006/01/05(木) 01:47:19>>582
レスありがとうございますー。
「最小化して元に戻す」というのは、最小化したまま終了したのではなく、
最小化ボタンを押してタスクバーに格納した後、タスクバーのボタンを押した
ということです。通常のアプリであれば、この行為でもとの大きさのフォームが
表示されるハズなんですが。。。ひょっとしてVB2005のバグなんでしょうか。
どなたかよろしかったら試してみてもらえませんか。CliantSizeをバインドすると
そうなっちゃうんですが・・・。
0599デフォルトの名無しさん
2006/01/05(木) 01:52:44こういうライブラリがあるけれど、VB.NETで使えるかどうかは不明。
ttp://www.angel.ne.jp/~mike/vbmp3/about.html
0600582
2006/01/05(木) 02:40:55新規プロジェクトでClientSizeをバインドしただけなら普通に元に戻ったよ。
だから>>582のレスをしたんだけど。
Resizeイベントあたりで余計なことしてない?
0601デフォルトの名無しさん
2006/01/05(木) 02:54:00レスありがとうございます! 私も新規プロジェクトから試してみましたが、
やはり普通に戻りません・・・と思ったら、同じPropertyBindingにLocationも
バインドしてたんですけど、これをハズしたら正常動作するようになりました。
つまり、CliantSizeとLocationを一緒にバインドすると、>>580のような動作を
再現してしまうようです。これってやはりバグ・・・でしょうか。
0602582
2006/01/05(木) 03:54:27バグというか仕様じゃないの。最小化と元に戻すときはLocationとSizeが複雑に変わるからねえ。
どうせ最小化or最大化したまま終了したときの考慮が必要だから
>>582にLocationも含めたコードで対応すればいいんじゃない?
0603デフォルトの名無しさん
2006/01/05(木) 07:39:19そろそろClientのスペルまちがいに気付こうよ
0604デフォルトの名無しさん
2006/01/05(木) 11:52:05どうもありがとうございました! >>582で教えていただいたコードで
対応してみます。ホント助かりました〜ありがとうございました m(_ _)m
0605前スレ904
2006/01/05(木) 14:20:43今年もよろしくお願いします。
ファイルの内容をComboBoxに書き込み、ユーザが追加・削除をできるようなインターフェイスを実装しています。
そこで削除をするプロシージャを作ったのですが、編集内容が文字化けしてしまいます。
何か妙案がありましたら御教授願います。
Private Sub DeleteTarget(ByVal ChangeCombo As ComboBox, ByVal ChangeFile As String)
Dim fr As StreamReader
Dim ReadString As String
Dim WriteString As String
Dim ConfirmDelete As MsgBoxResult
fr = New StreamReader(ChangeFile, System.Text.Encoding.GetEncoding("Shift-JIS"))
ReadString = fr.ReadLine
Do Until (fr.Peek <= 0)
ReadString = ReadString & vbCrLf & fr.ReadLine
Loop
WriteString = Replace(ReadString, ChangeCombo.SelectedItem + vbCrLf, "")
fr.Close()
0606前スレ904
2006/01/05(木) 14:21:18ConfirmDelete = MsgBox("選択したエントリを削除します。いいですか?", MsgBoxStyle.OKCancel)
If ConfirmDelete = MsgBoxResult.OK Then
File.Delete(ChangeFile)
Dim fw As StreamWriter = File.CreateText(ChangeFile)
fw.WriteLine(WriteString)
fw.Close()
ChangeCombo.Items.Clear()
ChangeCombo.Text = ""
If IO.File.Exists(ChangeFile) Then
Dim fr2 As StreamReader
Dim FileString As String
FileString = Nothing
fr2 = New StreamReader(ChangeFile, System.Text.Encoding.GetEncoding("Shift-JIS"))
Do While fr2.Peek >= 0
FileString = fr2.ReadLine
ChangeCombo.Items.Add(FileString)
Loop
fr2.Close()
Else
IO.File.Create(ChangeFile)
End If
End If
End Sub
0607デフォルトの名無しさん
2006/01/05(木) 14:26:56阿呆
0608デフォルトの名無しさん
2006/01/05(木) 14:34:320609デフォルトの名無しさん
2006/01/05(木) 14:35:370610前スレ904
2006/01/05(木) 15:13:02>>608
>>609
ありがとうございます。
早速ShiftJISを外して見ましたがやっぱり駄目でした。
たぶんFileCreateのエンコード(?)をShiftJISにすればいいということだとおもうのですが、
Encodingはメンバじゃないと言われるので別の方法を考えたほうがよさそうですね。
またよろしくお願いします。
0611前スレ904
2006/01/05(木) 16:50:46自己解決できました。
〜前略〜
ConfirmDelete = MsgBox("選択したエントリを削除します。いいですか?", MsgBoxStyle.OKCancel)
REM ここのCreatefileをShiftJisで呼び出し・書き込みできれば勝利
If ConfirmDelete = MsgBoxResult.OK Then
File.Delete(ChangeFile)
Dim fw As Stream = File.Create(ChangeFile)
fw.Close() rem ここで一旦クローズ(UTF-8を終わらせて次の行でShiftJISで開きなおす)
Dim fw2 As New StreamWriter(ChangeFile, True, System.Text.Encoding.GetEncoding("Shift-JIS"))
fw2.WriteLine(WriteString)
fw2.Close()
〜以下略〜
ありがとうございました。またお願いします。
0612デフォルトの名無しさん
2006/01/05(木) 16:59:010613582
2006/01/05(木) 16:59:45StreamWriterのコンストラクタがどんな動作をするか全然分かってないんだな・・・
まあ、本人がいいんならいいけどw
0614デフォルトの名無しさん
2006/01/05(木) 17:01:220615デフォルトの名無しさん
2006/01/05(木) 17:23:570616デフォルトの名無しさん
2006/01/05(木) 18:11:580617デフォルトの名無しさん
2006/01/05(木) 18:34:480618デフォルトの名無しさん
2006/01/05(木) 18:36:130619593
2006/01/06(金) 01:16:31参考にさせてもらいますが、
なんかプログラム始めたばかりの私には難しそうです。
ありがとうございました。
0621前スレ904
2006/01/06(金) 14:51:09>>612
>>613
>>616
オーバーライドが解決できません〜の時点でコンストラクタ以前の問題だと思います。
これを客に渡すのは正直怖いです・・・
もっと勉強します。
ありがとうございました。
>>615
たぶんAが61(?)かそれ以外かみたいな位の理解度です。
ありがとうございました。
>>616
>>617
物覚えの悪い末端コーダーです。
プログラム始めてもう2ヶ月なのに・・・(´・ω・)
ありがとうございました。
0622デフォルトの名無しさん
2006/01/06(金) 14:53:50客に渡すのが怖ければ渡すんじゃないよ。w
あんたは姉歯か?
で、この間に文字コードってものを少しでも勉強したんかい。
0623デフォルトの名無しさん
2006/01/06(金) 21:04:25データグリッドに数字を入れてソートしたかったのですが
3桁ごとに,を入れて表示してソートすると
上手くソートされません。
,入れたせいかと思ったんですけど、,を抜いてもダメでした。
12
1234
123456
987
9876
こんな感じにソートされてしまうんですけど
どうすればEXCELで出来るみたいに上手くソートできるんでしょか?
0624デフォルトの名無しさん
2006/01/06(金) 21:14:34どうすれば良いかはデータソースによる。
0625デフォルトの名無しさん
2006/01/06(金) 22:36:58で、DataGridってViewとVakueって分かれてないんだっけ?
0626デフォルトの名無しさん
2006/01/06(金) 23:21:55言語としては、7/7.1/8。
開発環境は、2002/2003/2005。
使い分ける人は少なそうだが。
0627デフォルトの名無しさん
2006/01/07(土) 00:29:480628デフォルトの名無しさん
2006/01/07(土) 00:37:04なにでマルチスレッド実現してるのか知らないけど。
0629デフォルトの名無しさん
2006/01/07(土) 06:30:060630デフォルトの名無しさん
2006/01/07(土) 08:09:40つBackgroundWorker
0631初心もの
2006/01/07(土) 11:17:10私は点A点Bの二点を通る直線の式を求めるというプログラムを作っています。点A(a, b)点B(c, d)各x, y座標は乱数で-10〜10を振り分けています。
y=mx+nを求めるにあたり、
m=(b-d)/(a-c)を解いた上
n=b-maの式を解かせようと思ったのです。
しかし悲しいほどの力不足の結果
Dim a, b, c, d As Integer
Dim m As Integer =( b - d ) / ( a - c)
Dim n As Integer = b - (m * a)
と打とうとした所エラーとなってしまいました。数々の資料を見ても尚わかりません(…多分基本的すぎる内容だから?)
どのようにしたらよいのでしょうか教えていただけませんか?
あと、傾きmや切片nは分数として表記したいのですがその方法もぜひお願いします。長文かつ稚拙な質問ですがなにとぞお願い申し上げます。
0632デフォルトの名無しさん
2006/01/07(土) 11:22:37・Integerは整数型だから小数点以下切捨てだがそれでいいのか
・分数はフレームワークに存在しないので自分でどうにかすることになる
0633デフォルトの名無しさん
2006/01/07(土) 13:25:56プログラミングに王道なしとしかいいようがない。
おとなしく一から学習するか、プログラミングなんてあきらめるかしかないだろ。
正直、こういうプログラミング舐めてる奴を助けたいと思う人は少ないと思う。
君ってわからないことを調べならがら前に進める段階じゃないだろ。
0634デフォルトの名無しさん
2006/01/08(日) 01:47:51取り敢えず宣言と計算は分けろ。
話はそれからだ。
0635デフォルトの名無しさん
2006/01/08(日) 04:27:02今までソフト買ってきたのがバカらしいな
0636デフォルトの名無しさん
2006/01/08(日) 08:13:28つうかそういう当たり前の情報を調べない貴方が馬鹿。
0637デフォルトの名無しさん
2006/01/08(日) 08:15:03なにが当たり前かは人によって違うだろ
おまえは普段どんな服気てるんだ?
ファッション雑誌のタイトル言ってもわからないんじゃないのか?
PGヲタは根暗が多いってほんとだね
0638デフォルトの名無しさん
2006/01/08(日) 08:38:570639デフォルトの名無しさん
2006/01/08(日) 08:59:54メインフォームにすべての関数を記述して
他のフォームのコントロールはメインから直接操作できるようにパブリックにしてるんですが
こういう私でも.NETできますか?
0640デフォルトの名無しさん
2006/01/08(日) 09:02:490641デフォルトの名無しさん
2006/01/08(日) 09:07:010642デフォルトの名無しさん
2006/01/08(日) 11:03:37おたとか云々以前。あんたがプログラマじゃないだけでしょ?
普通に情報集めてれば、仕事であっても日曜プログラマであっても常識。
0643デフォルトの名無しさん
2006/01/08(日) 11:28:14おまえの常識はヲタの常識
狭い常識に捕らわれてると相手にされないよ
0644デフォルトの名無しさん
2006/01/08(日) 11:31:01みっともないからしんだほうがいいよ。
日曜プログラマでも知っている常識もないんだから。w
0645デフォルトの名無しさん
2006/01/08(日) 11:49:420646623
2006/01/09(月) 13:23:38データソースにはデータテーブルを使いました。
データテーブルの数字の入ってるカラムのDataTypeを
IntegerとかDecimalにすれば数値として扱ってソートできますけど
,で区切るとソート順がおかしくなります。
グリッドが勝手にしてくれるソートのイベント拾って
自分で何とかしないといけないんでしょうか?
ちなみに環境は
.NET Framework1.1
言語としては、7.1
開発環境は、2003
です。
0647デフォルトの名無しさん
2006/01/09(月) 13:37:540648デフォルトの名無しさん
2006/01/09(月) 14:19:36文字列にしてです。
0649デフォルトの名無しさん
2006/01/09(月) 14:31:570650デフォルトの名無しさん
2006/01/09(月) 15:09:360651デフォルトの名無しさん
2006/01/09(月) 15:13:52リストビューでコラムクリックしたらその列でソートみたいなことがしたいのに
IDEよくなっただけで、関数減ってたら意味ないじゃん・・・
重くなっただけで使い勝手悪いよ
0652デフォルトの名無しさん
2006/01/09(月) 15:54:02そんなレベルの人間に否定されたらMSもたまらんなw
Iなんたらインターフェイスを実装するだけじゃないの確か。
0653デフォルトの名無しさん
2006/01/09(月) 16:31:47Iなんたらってw
そんなレベルの人間に否定されたらたまらんなw
0654デフォルトの名無しさん
2006/01/09(月) 16:43:302003持ってないからGUIでどう操作するかは分からんけど。
0655デフォルトの名無しさん
2006/01/09(月) 17:38:46この表現であってると思うのは俺だけか
0656デフォルトの名無しさん
2006/01/09(月) 19:56:500657デフォルトの名無しさん
2006/01/09(月) 20:20:010658デフォルトの名無しさん
2006/01/09(月) 20:33:44まず、おまえがな
0659デフォルトの名無しさん
2006/01/09(月) 20:45:310660デフォルトの名無しさん
2006/01/09(月) 22:23:30「2d6-2+7asdaf 2d6+2D6+2d6-2d6+7 3+2d6*2d6-2 2d6-2d6/2D6*2d6-2d6」
上の文字列を以下のように抜き出したいんですが、どうすればよいでしょうか?
2d6-2+7
2d6+2D6+2d6-2d6+7
3+2d6*2d6-2
2d6-2d6/2D6*2d6-2d6
現状としては、Regex.Matchesを使用していろいろ試すんですが、どうも上手くいきません。
正規表現「([\d*/+-]+(d|D)+[\d*/+-]+)+」では
2d6-2+7
2d6+2
6+2d6-2
3+2d6*2
2d6-2
6/2D6*2
6-2d6
正規表現「([\d*/+-]+(d|D)+[\d*/+-])+」では
2d6
2d6+2D6+2d6-2d6
3+2d6*2d6
2d6-2d6+2D6+2d6-2d6
という感じで、上手くいかないのです。
誰か、助けて、、、
0661デフォルトの名無しさん
2006/01/09(月) 22:33:18そうじゃなければ、そもそもの何のルールで区切りたいのか不明です。
0662デフォルトの名無しさん
2006/01/09(月) 22:38:000663デフォルトの名無しさん
2006/01/09(月) 22:49:59こんな感じか?
\d+([dD]\d+)?([\-+*/]\d+([dD]\d+)?)*
0664デフォルトの名無しさん
2006/01/09(月) 23:01:04スペースで区切れていない場合もあります。
(?:[\d*/+-]+[dD]?[\d*/+-]?)+
\d+([dD]\d+)?([\-+*/]\d+([dD]\d+)?)*
両方いけました。ありがとうございます。
0665デフォルトの名無しさん
2006/01/10(火) 07:00:430666デフォルトの名無しさん
2006/01/10(火) 07:08:54ソースみるとごちゃまぜスパゲティー
本人すら理解できないことをひたすらやって
みんなの足手まとい
0667デフォルトの名無しさん
2006/01/10(火) 19:16:12全部の行にコメントを付けてこいと助言しています。
0668デフォルトの名無しさん
2006/01/10(火) 19:49:21ほぼ全ての行にコメント(説明、意図、愚痴など)をつけていました。
0669デフォルトの名無しさん
2006/01/10(火) 19:55:17' iを宣言する
Dim i
' iを0で初期化
i = 0
0670デフォルトの名無しさん
2006/01/10(火) 20:04:35おまえ、頭いいなw
0671デフォルトの名無しさん
2006/01/10(火) 20:22:54可読性が上がるのもあるけれど、コメントを書いてるうちに本人が
ミスに気がつくことも多いからね。
0672デフォルトの名無しさん
2006/01/10(火) 21:27:300673デフォルトの名無しさん
2006/01/10(火) 22:37:170674デフォルトの名無しさん
2006/01/10(火) 22:40:02あるあるw
0675デフォルトの名無しさん
2006/01/10(火) 22:56:51読みといていくうちに、
以前の自分の深い考察に気付いておどろいたorz
0676デフォルトの名無しさん
2006/01/10(火) 23:02:44以前の自分の深い考察に気付く事ができれば、それはむしろ良い事だよ。
俺なんか、「あれ? ここバグってるじゃん。」って軽率に書き換えて動作が怪しくなった経験がある。
0677デフォルトの名無しさん
2006/01/10(火) 23:04:240678デフォルトの名無しさん
2006/01/10(火) 23:05:170679デフォルトの名無しさん
2006/01/10(火) 23:10:050680デフォルトの名無しさん
2006/01/10(火) 23:15:28コーディングしたことがあるんだが
コメントのタイプ数の方がコードよりも遙かに多かった
0681デフォルトの名無しさん
2006/01/10(火) 23:36:23思いながらソースみたら、まるで「こんなことがあろうかと」思ったような処理してたりして
「スゴイぞ!昔のオレ」と思ったことがあるw
0682デフォルトの名無しさん
2006/01/11(水) 00:12:230683デフォルトの名無しさん
2006/01/11(水) 01:16:31backgroundimageは消さずに、pictureboxに描写したものを消すにはどうすればいいのでしょうか?
0684デフォルトの名無しさん
2006/01/11(水) 01:26:02・BackgroundImageを消すって具体的にどういう意味だ
つかなんでPictureBoxなのにImageプロパティ使わない?
0685デフォルトの名無しさん
2006/01/11(水) 01:29:54gにdrawrecrangleなりで描写をしてるわけですが、
そいつを消そうと
g.Clear(Color.white)
を入れると、
背景画像も一緒に消えるって意味です。
0686デフォルトの名無しさん
2006/01/11(水) 01:36:24Refreshすれば済む話。
もちろんPaintイベントで変なことやってたりしたら駄目だが。
0687デフォルトの名無しさん
2006/01/11(水) 01:47:21こんな時間に答えていただいてありがとうございました。
0688デフォルトの名無しさん
2006/01/11(水) 10:55:040689デフォルトの名無しさん
2006/01/11(水) 11:06:560690デフォルトの名無しさん
2006/01/11(水) 11:07:22ベータ向けの本ももう古いし。
@ITが一番確かかな?入門レベルには。
あとはWindowsDeveloperぐらいかな?
0691デフォルトの名無しさん
2006/01/11(水) 11:55:58ホントに
' iを宣言する
Dim i
' iを0で初期化
i = 0
みたいにつけてる?
俺は・・・重要と思ったところ以外コメントをつけずにあとからソースを読んでる・・・orz
コメントなしで理解できるソースを書けって何かの本(プログラミングセンスだったかな)に書いてあったからだ。
じゃぁそういうソースを書けているか?と問われれば・・・聞かないでくださいorz
0692デフォルトの名無しさん
2006/01/11(水) 12:32:41それに、究極的に言えば全てのソースはコメント無くてもいつかは理解できる
それを、時間かけずに理解させるためにコメントがある
コメントを否定してしまってはどうにもならない
ちょっと見てすぐ理解するのは難しい部分にコメントを書けばいい
0693デフォルトの名無しさん
2006/01/11(水) 12:47:08俺はコメントをつける場合は
Dim i = 0 '## Aの情報を保管する変数 初期値は0
つー感じかなぁ。昔は細かく書いてたけど、今はプロシ外からの情報を参照する場合にコメントをつけるくらいかな。
情報量が多くなる場合は、エクセルに仕様とフローチャートと情報をまとめる形をとってる。
0694デフォルトの名無しさん
2006/01/11(水) 13:00:41あと、恥ずかしい処理の言い訳。
0695デフォルトの名無しさん
2006/01/11(水) 13:21:45>>693
いちいちそんな細かく書いてられるかよ
てか、オブジェクト指向プログラミングできないおまえらは
コメントいちいち打たないと仕方がないんだろうなw
わかりにくい時点で設計がおかしい
0696デフォルトの名無しさん
2006/01/11(水) 13:25:47大量に溜め込んで処理させてるからな
1つのクラスにメソッドは3,4個ぐらいにして継承させてやれば迷うことはない
まあ、VBプログラマには無理だろうけどね
0697デフォルトの名無しさん
2006/01/11(水) 15:12:150698デフォルトの名無しさん
2006/01/11(水) 16:13:20まとまり切らないということは設計が悪い
メソッド内の処理の一部で新しいメソッドを作る
1つのクラスの中にメソッドが10以上になったらクラス化する
こうすることでプログラム全体の流れが非常に扱い易くなる
おまえらみたいに、だらだら長文で書いてたらわかりにくいのは当たり前
0699デフォルトの名無しさん
2006/01/11(水) 16:17:10まあ、オブジェクト指向なんて知らなくてもゴリ押しで書けるからなんだろうがな
クラス化しても、全部パブリックで定義してそうだなw
mainformからすべてのクラスのすべてのメソッドを操作できるようにしてたりしてw
細分化してクラスやメソッドが増えてきたら見えないようにするとわかりやすいのにな
0700デフォルトの名無しさん
2006/01/11(水) 16:19:160701デフォルトの名無しさん
2006/01/11(水) 16:22:320702デフォルトの名無しさん
2006/01/11(水) 16:23:060703デフォルトの名無しさん
2006/01/11(水) 16:24:39一人うざい長文&その賛同。w
0704デフォルトの名無しさん
2006/01/11(水) 18:51:250705デフォルトの名無しさん
2006/01/11(水) 19:09:11ttp://www.okisoft.co.jp/esc/go/style0.html
0706デフォルトの名無しさん
2006/01/11(水) 20:08:57ttp://www.amazon.co.jp/exec/obidos/tg/detail/customer-reviews/-/books/4774121738/250-5097188-0377856
0707デフォルトの名無しさん
2006/01/11(水) 22:02:29誰でもそういう自明のコンセンサスだから。
まともなプログラマならねw
0708デフォルトの名無しさん
2006/01/11(水) 22:13:27まともなプログラマwwww
0709デフォルトの名無しさん
2006/01/11(水) 22:16:35はいはいまともまともwwwwっうぇ
0710デフォルトの名無しさん
2006/01/12(木) 12:36:55高速化を目的としてVB.NETに移植してます。
VB.NET上でEXCELを開いて,参照でVBAも実行できるようですが、
その部分はコンパイルされるのでしょうか?(EXCELの文法のみコンパイル
より速くなるのでしょうか?)
0711デフォルトの名無しさん
2006/01/12(木) 12:42:420713デフォルトの名無しさん
2006/01/12(木) 16:46:290714デフォルトの名無しさん
2006/01/12(木) 17:03:58バージョンとか使うプロバイダとか書いたほうが。
ODPでOKならORACLEにサンプルあるし、MS謹製のOracleProviderでのやり方はMSDNにあったような。
OLEDBでもパラメータの指定方法は書いてあるはず。
0715デフォルトの名無しさん
2006/01/12(木) 17:13:08業務アプリならそれは普通
コメント率80%とか、90%位が適当(空行除く)
0716デフォルトの名無しさん
2006/01/12(木) 18:37:43適切だっていってるのか?
0717デフォルトの名無しさん
2006/01/12(木) 18:48:13ただ、関数ヘッダとか装飾いれたら5割かも。
0718デフォルトの名無しさん
2006/01/12(木) 19:33:049割は行かんな…
まあ状況によるね
0719デフォルトの名無しさん
2006/01/12(木) 19:47:10たとえバグなんぞ出てなくとも、クライアントのワガママで修正しなきゃならんのだよ。本職ならば。
0720デフォルトの名無しさん
2006/01/12(木) 19:53:01宿題レベルのプログラムしかしたこと無い奴らを相手にするなって。
0721デフォルトの名無しさん
2006/01/12(木) 20:06:56なんだかなあ。。
メンテの時苦労するのはコメントがないからじゃなくて、
コメントがなきゃ理解できないような下劣なコードからだよ。
こんなことプログラム書き始めて1年で普通は気がつく。
本気でコメントが大事とか思ってるとしたらそりゃ絶望的に筋が悪いんだよ、悪いけどw
それと(まあ大概のまともな)プログラマが「コメントは要らない」って言うとき、
当たり前だがそれは文字通りコメントが全く不要って意味じゃない。
よく言われることだがビジネスルールとか特殊な要求仕様はコメントがなきゃ
そりゃわかんないし。
―― コメントがないからコードが可読性がないのではなく、
可読性がないコードしか書けないからコメントを書きたくなるのだ。
この程度のことに気づかない低能に対するアンチテーゼとして言ってるのよw
0722デフォルトの名無しさん
2006/01/12(木) 20:22:46十万行のソースを相手にしても、コメント無しにトレースできると?
0723デフォルトの名無しさん
2006/01/12(木) 20:28:02全然違っちゃう。
プログラマだけで100人以上いたりするプロジェクトだと、かなりがちがちに書かせたりする。
0724デフォルトの名無しさん
2006/01/12(木) 20:56:07いかにもダメな奴がいいそうなことだね。
というか、馬鹿じゃないの。それコメント是非の問題だろうかw
まあいい。
昔からよく「マジカルナンバー7」なんていわれるように
人間が同時に複数の対象やそれらの関連を認識する能力は意外と低い。
だから関数(構造化)やクラスでスコープってものを作るわけ。
問題を分割統治するためにね。小問題に分割して、一度に認識する必要がある対象を
減らして複雑性を小さくするために。
10万行だろうが1000万行だろうが、分割統治がきちんとなされたコードなら
何の問題もないよ。
722は構造化すらマスターしてないんだろうねw
でなきゃそんな恥ずかしいことは絶対にかけないと思う。
0725デフォルトの名無しさん
2006/01/12(木) 21:14:13同一プロジェクトの案件でも、関わる設計者・プログラマ・顧客側担当者も
増えたり減ったり交代したりするのにw
引継ぎが不完全であることが暗黙的な前提で動く現場を知らない香具師に、
何を言っても無駄な気がw
0726デフォルトの名無しさん
2006/01/12(木) 21:25:51と、オプソでしか他人のコードを見たことのない日曜プログラマが参上しましたよ。
ちなみに「マジカルナンバー7」は短期記憶のチャンク数ですよ。
さらに言うならば、ここはVB.NET質問スレですよ。
0727デフォルトの名無しさん
2006/01/12(木) 21:45:31言ってるそばから「マジカルナンバー7」ですかw
7どころかたった一つのことを話題にしているというのに。
馬鹿だね本当。
あのねえ、今何の話をしてるの?
プログラムのコメントの是非の話をしてるのね。
コメントなしでコードの可読性を確保できるかどうかの話をしてるのね。
引き継ぎの時困るだあ?
そりゃ馬鹿の書いたコード引き継ぐのは困るに決まってるよw
コメントの有無にかかわらずね。
まあ確かに可読性のあるコードかけない奴はせめてコメント書いてくれないと困る。
もし君の意図がそういう話なら大いに同意するよw
0728デフォルトの名無しさん
2006/01/12(木) 21:53:08見栄えのいいボタンにしようかと思ったのですが、
(コーナが少し丸くなっているような)
System.Windows.Forms.Buttonの四角い枠がどうやっても消せません。
この四角い枠を描画しないようにはできないでしょうか?
0729デフォルトの名無しさん
2006/01/12(木) 22:11:080730デフォルトの名無しさん
2006/01/13(金) 00:18:05リージョン
0731デフォルトの名無しさん
2006/01/13(金) 16:07:14System.Data.Odbc.OdbcException システムエラー
デバッガを見てみたら
Dim GoSQL As New OdbcCommand("SELECT count(*) FROM MOHADB.MOHETABLE where KETA1 like " & DIMKETA1 + "%" & " and KETA2 like " & DIMKETA2 + "%" & " and KETA3 like " & DIMKETA3 + "%", conection)
"%"となって欲しいのに%のみになってる。
ソースのこの部分をどうやって弄っても"%"になってくれない。
どうしたらうまくいきますか?
0732↑
2006/01/13(金) 16:08:580733デフォルトの名無しさん
2006/01/13(金) 16:43:080734731
2006/01/13(金) 17:38:40俺頭悪いからどこを&+にすればいいか分からないから"%"を"'%'"にしてみたらできた。
0735デフォルトの名無しさん
2006/01/13(金) 18:16:05"""%"""
0736デフォルトの名無しさん
2006/01/13(金) 18:42:050737デフォルトの名無しさん
2006/01/14(土) 00:27:07ttp://www.atmarkit.co.jp/fdotnet/dotnettips/280getappicon/getappicon.html
↑これ↑を参考にやってみたのですが、どうしてもインデックスが1のアイコンしか表示されませんでした。
どなたかご教授願います。
0738デフォルトの名無しさん
2006/01/14(土) 00:36:22単にアイコンが1個しかないdllファイルを見ているとかじゃなくて?
0739737
2006/01/14(土) 00:39:37[shell32.dll]なのでそれはないハズです。
それに、窓の手で複数のアイコンを含んでいることをしっかりと確認しました。
0740デフォルトの名無しさん
2006/01/14(土) 00:42:42ExtractIconEx関数を使う。
0741737
2006/01/14(土) 00:46:57的確な回答ありがとうございます。
試してみます。
0742デフォルトの名無しさん
2006/01/14(土) 00:52:000743デフォルトの名無しさん
2006/01/14(土) 10:45:39・DDLの選択部を2段にしたい
・選択後、コード部分をDDLのTextに、名称部分をラベルに表示したい
こんな感じ
↓DDL ↓ラベル
┌---┬--┐ ┌-------------┐
│001│▼│ |北海道 |
├---┼--┴-┴----┴-------┘
│001│北海道 |
│002│青森県 |
│003|秋田県 |
|004|岩手県 |
| ・ | ・ |
| ・ | ・ |
グレープシティ社のInputmanで実現しているので
なんとかコーディング可能だと思いました・・・
これを実現する方法をご教授願えないでしょうか?
0744デフォルトの名無しさん
2006/01/14(土) 11:37:130745デフォルトの名無しさん
2006/01/14(土) 12:58:19AA作る手間を惜しまないなら、その努力をもっと文章を練る方に向けた方がいいような。。
0746デフォルトの名無しさん
2006/01/14(土) 14:40:54VB.NET-ASP.Webアプリケーションとデータベースを使ったサンプルデータなど公開しているページありませんか?
出来れば上記の条件で出来たオークションサイトのサンプルなど公開してるところがあるとありがたい。
0748デフォルトの名無しさん
2006/01/14(土) 16:05:29ComboBoxでそんなことはできない
0749デフォルトの名無しさん
2006/01/14(土) 16:09:417万円もする商用ソフトの一部機能を、自力で実装したいんですが
という意気込みはすごいと思う。実現できたらぜひフリーで公開し
てほしいな。
標準ComboBoxにアイテムを追加するとき、ラベル部分もあらかじ
め文字列結合してから入れたら、似たような効果が出るんでない?
0750デフォルトの名無しさん
2006/01/14(土) 16:10:43> グレープシティ社のInputmanで実現しているので
金が取れるほどのものだってことだな。
まあ君には多分無理だ。
0751710
2006/01/14(土) 16:11:58日曜プログラマがやっと完成と思ったら、エクセルより遅いです。orz
概要
VB2005でcreate object によりエクセルを開き、シート内にあるクエリからデーターを配列に収納する。
VB2005に書いたForm1.VB 上の関数プログラムで配列をもとにループさせ計算。
その関数をループでエクセルに貼り付ける。
というものなんですが、エクセル上でVBAで書いたものより、ビルドしたものが遅くてめげました。
早くするには以下のどの項目が有効でしょうか。
1.関数内に標準偏差などはエクセル関数を参照使用してるので、これもVB上で書く
2.ADO.NETでデータを受け取る。
3.エクセルを一切使わず、ADO.netで受け、DetaGridで出力。
4.関数の計算自体はVB.NETは実は速くないので、速くならない。
長々とすいません。
0752デフォルトの名無しさん
2006/01/14(土) 16:16:06おまいさんの書いたコードが一切不明なんで、遅い原因がどこにある
のか特定できないよ。具体的な処理内容もわからないしさ。
中途半端にあっちこっち処理を移すより、どちらかで完結させた方が
いいとは思うけどね。ちなみにADO.NETはエクセルファイルのデータ
を直読みできる。
0753デフォルトの名無しさん
2006/01/14(土) 16:21:40COMの呼び出しは重い。
そんなもの毎回呼び出してたら重くなるに決まってる。
0754デフォルトの名無しさん
2006/01/14(土) 16:27:12セルの参照なんかは、回数をなるべく抑える。
0755710
2006/01/14(土) 16:35:08ありがとうございます。
>>753
COMの呼び出しとは、エクセル関数を使用してる点ですか?
やっぱり本などでは、そういう感覚がつかめないので助かります。
極力エクセルを経由しない方向でやってみます。
0756デフォルトの名無しさん
2006/01/14(土) 16:38:560757デフォルトの名無しさん
2006/01/14(土) 16:42:33処理したい関数や内容がコードで記述できるんなら、ADO.NET経由で
メモリ上に全データを転送してから処理すればいいと思う。これまで
エクセルの関数に頼りっきりだと、けっこう手間かもしれないけどね。
0758710
2006/01/14(土) 17:11:32タイマーで区間に分けて計測は、厳しいです(技能的に)
目視ならw クエリの作動は充分に早く、Functionの計算とセルの転記に時間が
掛かってるようです。
>>757
はい ウィザードを使ってアクセス(元データ)からデータグリッドまで落とす
フォームを造ったことがあるので、そこからやってみます。
エクセル関数は、標準偏差、相関係数なのでなんとか
みなさんどうも、やはり経験がないと分からないことが多いので、助かりました。
0759743
2006/01/14(土) 17:36:28> 標準ComboBoxにアイテムを追加するとき、ラベル部分もあらかじ
> め文字列結合してから入れたら、似たような効果が出るんでない?
現在はそういう風にやってごまかしてます。
しかし、どれかを選択するとコードとラベル部分すべてが
ComboBoxのTextに入ってしまいます。
なのでLostFocus時にComboBoxのTextとラベル部分を
振り分けています。
>>750
悔しい・・・
0760デフォルトの名無しさん
2006/01/14(土) 17:52:22どんな内容を表示しているのか知らないけれど、ComboBoxのアイテ
ムに説明文ってそんなに必要かなー? コントロールを自作してどう
こうするよりも、画面設計とかユーザーインターフェースの改善でど
うにかするって手段もあると思うけれど。
煮詰まってくると、目的と手段が入れ替わってしまうことがよくある
しさ。
0761VB2ヶ月目
2006/01/14(土) 23:27:05毎度毎度出てくる引数の sender とか e って何ですか?
文法的には何という項目を勉強すればいいのでしょうか?
0762デフォルトの名無しさん
2006/01/14(土) 23:38:51> 文法的には何という項目を勉強すればいいのでしょうか?
イベント
0764743
2006/01/15(日) 00:28:46確かにたまに目的と手段が入れ替わることがある・・・
この目的は
コードを知ってる(覚えている)人は
ComboBoxのTextに直接入力してもらい、
(ラベルに出力するのは入力チェックも兼ねて・・・)
コードを知らない人は
ComboBoxから候補を選んでもらう
ってことでした。
たまたま隣のプロジェクトで
Inputmanでこれを実現しているのを見たから
自作できんかなぁと思ったのよ・・・
0765デフォルトの名無しさん
2006/01/15(日) 00:39:21一行レス君はたいてい低能だからあんまり真に受けない方がいいよw
.NETは、というか最近の言語はどれもそうだけど、
初心者がこれを勉強すればこれがわかる、っていう風に単純になってない。
困ったことにある程度全体が腑に落ちてないと部分の意味がわからない構造になっているのよ。
たとえばイベントハンドラの引数の意味を理解しようと思ったら、
継承、デリゲート、.NETのイベントしくみ・・・などなどいろいろと理解している必要がある。
だから昔みたいに「習うより慣れろ」式で実践を重視(?)してると
永遠に上達しないと思われる。
>>743
ここの誰かさんがいってるみたいにそんな難しいことじゃないと思うが。
要はオーナードローするだけでしょ?それも単純にテキスト書くだけじゃん。
オーナードローがよくわからんとしても、コンボボックスのドロップダウンリストを
オーナードローするサンプルコードなんていくらでもあるんだからそれ見て改造するだけだと思うよ。
0766デフォルトの名無しさん
2006/01/15(日) 01:15:25んで、現在はコードと解説をくっつけて暫定対処してるってことだよ
ね。同様のコントロールを多用するor見た目にこだわりたいってこと
なら、勉強して自作してもいいと思うんだけど。一部にこだわって全
体が滞ることの無いように注意してくれたまい。
誰かさんがオーナードローで簡単にできるって言い切ってるから、そ
のうちサンプルコードでも出してくれるんじゃないかな。
0767VB2ヶ月目
2006/01/15(日) 03:00:10Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
BackgroundWorker1.RunWorkerAsync()
End Sub
Private Sub BackgroundWorker1_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork
Dim kekka As Integer = 1 ' 計算結果
Dim progress As Integer = 0 ' 進行状況
For i As Integer = 0 To 9
System.Threading.Thread.Sleep(1 * 1000) ' 1秒停止
kekka = kekka * 2
progress = (i + 1) * 10
BackgroundWorker1.ReportProgress(progress)
Next
e.Result = kekka
End Sub
Private Sub BackgroundWorker1_ProgressChanged(ByVal sender As System.Object, ByVal e As System.ComponentModel.ProgressChangedEventArgs) Handles BackgroundWorker1.ProgressChanged
TextBox1.Text = e.ProgressPercentage.ToString ' 進行状況の表示
End Sub
Private Sub BackgroundWorker1_RunWorkerCompleted(ByVal sender As System.Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles BackgroundWorker1.RunWorkerCompleted
TextBox2.Text = e.Result.ToString ' 計算結果の表示
End Sub
End Class
0768VB2ヶ月目
2006/01/15(日) 03:00:51(1)BackgroundWorker1_DoWorkメソッドでDoWorkEventArgsクラスのe.Resultでセットしたプロパティが、
BackgroundWorker1_RunWorkerCompletedメソッドのRunWorkerCompletedEventArgsクラスのe.Resultで
取れるんですが、ソースを見る限り繋がりが見えません。どうして取れるんでしょうか?
(2)BackgroundWorker1_ProgressChangedには進行状況として、integer引数を渡せるんですが、
変数kekkaも渡すにはどうすればいいですか?
要はよくある、処理状況のプログレスバーと、処理中のファイル名を同時に表示するような物を想定。
BackgroundWorker1_ProgressChangedで、プログレスバーなどを使って進行状況は表示できるんですが、
処理中の変数kekkaが渡せないんで、困っています。
0769デフォルトの名無しさん
2006/01/15(日) 04:06:13> (1)BackgroundWorker1_DoWorkメソッドでDoWorkEventArgsクラスのe.Resultでセットしたプロパティが、
> BackgroundWorker1_RunWorkerCompletedメソッドのRunWorkerCompletedEventArgsクラスのe.Resultで
> 取れるんですが、ソースを見る限り繋がりが見えません。どうして取れるんでしょうか?
フレームワークが、DoWorkEventArgs.Resultの値をRunWorkerCompletedEventArgs.Resultに代入するから。
> (2)BackgroundWorker1_ProgressChangedには進行状況として、integer引数を渡せるんですが、
> 変数kekkaも渡すにはどうすればいいですか?
ReportProgressには引数二つ渡すバージョンも有る。
ProgressChangedEventArgsにもそれを受け取る用のプロパティが有る。
0770デフォルトの名無しさん
2006/01/15(日) 13:15:58なんだかだなあ。。
だから.NETでは個別撃破式の学習はできんって言ってるのに。
個別の技術の意味がわかるためには面倒でも一度全体の概要を押えておく必要がある。
まあファーストインプレッションでこれがわからないってことはそもそも筋が悪いんだろうけどw
0771VB2ヶ月目
2006/01/15(日) 14:29:16(2)解決しました。
BackgroundWorker1.ReportProgress(progress, kekka)でイベント発生させて、
e.UserStateで受け取るだけでした。。。どもです。
(1)フレームワークがそう定義しているのは、どこ見れば判るんですか。
DoWorkEventArgs.Result見ても、全然触れてないし。
ttp://dream.my-sv.net/upload/src/up0102.jpg
>>770
はいよ
0772デフォルトの名無しさん
2006/01/15(日) 14:57:31strVar = "[文字列1] < [文字列2] >"
が入っている時に、< >で括られている[文字列2]の部分を取り出したいのですが、どういった関数を使えばよいのか分かりません
Trim関数を使ってあれこれやってみたのですがうまくいきませんでした
どのようにすればよいのでしょうか?
0773デフォルトの名無しさん
2006/01/15(日) 15:02:31この機会に学べ。
0774デフォルトの名無しさん
2006/01/15(日) 15:03:19String.IndexOfメソッドで<>の位置を特定してから、String.Substring
メソッドで中の文字列を引っこ抜くとか。
0775デフォルトの名無しさん
2006/01/15(日) 15:41:25ありがとうございます!
ちょっと調べてみます
0776デフォルトの名無しさん
2006/01/15(日) 16:31:33フレームワークが定義というより、BackgroundWorkerの実装でしょ。
イベントを発生するクラスを自分で書いてみれば仕組みは嫌でもわかるよ。
それもRaiseevent使うんじゃなくて、デリゲート使って、EventArgs継承して・・・
ってやり方でね。
個別撃破はできないってのはそういうこと。
0777デフォルトの名無しさん
2006/01/15(日) 18:44:12【制約】
1. 2000/XP限定はダメ。
2. タスクマネージャのアプリケーションタブのリストに載らない。
3. [Alt+Tab]でそのアプリケーションにフォーカスの移動ができてはいけない。
0778デフォルトの名無しさん
2006/01/15(日) 19:00:50フォームがないアルよ
デスクトップのデバイスコンテキストに自分でウィンドウを書くとかしないと
無理な気がするけどどうなのかな。
0779RUI
2006/01/15(日) 19:06:12それか、プログラムのおいてあるところか、プログラムを読めるところを知りませんか?
0780777
2006/01/15(日) 19:07:59絶対ググれば出てくる。
0781デフォルトの名無しさん
2006/01/15(日) 20:03:031.はともかく2.が必要なソフトってどうよ?
ロガーでも作るつもりかな。
0782デフォルトの名無しさん
2006/01/15(日) 20:04:53それプロセスタブの話じゃない?
0783デフォルトの名無しさん
2006/01/15(日) 20:09:50表示中のフォームが無ければ、アプリケーションタブにも載らないん
だっけか? そういう仕様で作ろうと思ったこと無いから、検討もつ
かないっす。識者さんよろしく。
0784デフォルトの名無しさん
2006/01/15(日) 22:26:20.netC#でWEBフォームの作成を行っています。
�@画面上で検索ボタンを押下
↓
�ADATAGRIDにて検索結果を表示する(データ量が10行以上ならスクロールバーを表示)
↓
�B各データ行のボタンを押して選択(背景も変わる)
↓
�C決定ボタンで親ページに渡す
上記�Bにて選択ボタンを表示、その選択ボタンを押すと、データの取得は出来る
用になったのですが、スクロールバーの下の方のデータ行の選択ボタンを押すと、
ページが再読み込み?され、スクロールバーのTOPが表示されてしまいます。
下位の選択ボタンを押した場合でも、その選択した行の箇所をそのまま画面上に表示させておくことは
どの様にすればよいでしょうか?
よろしくお願いします。
0785デフォルトの名無しさん
2006/01/16(月) 16:47:51ツールボックスみたいに、
タブを押したら、にょーんってメニューを表示しているコントロールを
フリーで配ってるとこ知らない?
0786デフォルトの名無しさん
2006/01/16(月) 17:07:36プログラマならにょーんとか言わんとハッキリ表現しろ
0787デフォルトの名無しさん
2006/01/16(月) 17:14:47タブを押したら、押された以外のタブは、上がったり下がったりして、
押されたタブのTabPageを表示してくれるやつ。
もちろん、標準のコントロールにはなかったし、
探してもサードパティのやつしか見つけきれなくってね。
0788785と787
2006/01/16(月) 18:23:49↑こんな感じのを探しています。
VB6やActiveXのコンポーネントとしては、いくつかフリーで配布されているようですが、
VB.NETのコンポとしては、まだ探しきれていません。
どなたかご存知でしたら教えて頂けますよう、よろしくお願い致します。
0789デフォルトの名無しさん
2006/01/16(月) 18:34:370790737
2006/01/16(月) 18:45:47一応出来たのですが、抽出したアイコンが減色(16色?)されて描画されてしまいます。
どなたか解決策をご教授願います。
ソースは以下のリンクとほとんど同じです。
ttp://66.102.7.104/search?q=cache:E_O9GYDBExQJ:www.sugi-family.net/papanvb/vbnet_tips.php%3Fcate%3D9%26tips%3D9004+ExtractIconEx%E9%96%A2%E6%95%B0&hl=ja
0791デフォルトの名無しさん
2006/01/16(月) 19:27:33ImageList.ColorDepth
0792デフォルトの名無しさん
2006/01/16(月) 19:33:03回答ありがとうございます。
お陰で瞬殺解決しました。
0793デフォルトの名無しさん
2006/01/16(月) 20:46:59年に数回やるOSの再インストールの後に何度もCDを入れ替えてVBを
インストールし直すのがかなりおっくうです。
5枚組のスタンダード版なのですがうまく1枚のDVDに収める方法はないでしょうか?
0794デフォルトの名無しさん
2006/01/16(月) 22:30:11全部を一枚は無理だと思うけどVSとMSDNはそれぞれ一枚にする方法があったはず。
まあやり方は忘れたんでスマンw
でも一枚のメディアにまとめるより、それぞれのCDをイメージ化しといてHDDに置いて
仮想ドライブソフト使った方がインストール短時間で終わるよ。
0795デフォルトの名無しさん
2006/01/16(月) 22:41:19\ __ /
_ (m) _ピコーン
|ミ|
/ .`´ \
('A`) しなければいいじゃない
ノ( )ヽ
くく
0796743
2006/01/16(月) 22:50:04レス遅れましたが、
ComboBox、オーナードローでググってみたら
手がかりになりそうなものが検索されました。
もうちょっと頑張ってみます。
ありがとうございます。
0797デフォルトの名無しさん
2006/01/16(月) 23:05:280798デフォルトの名無しさん
2006/01/16(月) 23:06:12ひととおりインスコしたあと、丸ごとイメージバックアップを取って
おけば、復旧が楽でいいよ。うちはknoppixのPartImageでやってる。
0799デフォルトの名無しさん
2006/01/16(月) 23:06:50( ・∀・) 人(・∀・ )
0800デフォルトの名無しさん
2006/01/16(月) 23:07:02VBとMSDNそれぞれを
一つのフォルダに納めることが出来る
一部のファイルの上書き警告が出るけど
無視してOK
0801デフォルトの名無しさん
2006/01/17(火) 02:03:50レスどうもです。
自宅PCで趣味としてやっているのでちょくちょく環境の変化があり、
インストール後のイメージを保存、というのはちょっと無理っぽいです。
大したことをしているわけでもないので古いPCが1台あれば専用にできて便利なんですけどね。
ということで次回はイメージ化して仮想ドライブ、というのをやってみようと思います。
色々ありがとうございました。
0802デフォルトの名無しさん
2006/01/17(火) 02:06:29Disk1〜4と環境アップデート用のCDが入っていてどれがMSDNか分りませんが
とりあえず上書きしてインストールしてみます。
0803デフォルトの名無しさん
2006/01/17(火) 02:07:320804デフォルトの名無しさん
2006/01/17(火) 08:07:040805785
2006/01/17(火) 08:10:50僕もそう思ったんですよ。
で、ActiveXで作ったら、上司にVB.NETじゃないとだめって言われました。
今の開発は、標準以外のコントロール(標準をカスタムしたやつも含む)は、
1つのDLLの中に収めているので、それに統一したかったんだと思います。
とりあえず、ソース配ってるとこもあるので、
それを参考に自分でコントロールを作ることにします。orzメンドイ
0806デフォルトの名無しさん
2006/01/17(火) 11:06:30DataGrid内のデータはDBからSELECT文で抜いてきたデータを使用しています。
If IsPostBack = False Then
SQL文作成
DataGridカラム作成(Linkボタン等含む)
DataBind処理
End If
上記のようなコードをPage_Load内に記述しているのですが動的に作成したボタン等を
クリックするとDataGridに表示しているデータが消えてしまいます(ページング処理も同様)
またボタンクリック時にItemCommandメソッドも通らなくなります。
ページのリロード処理等が入る場合はIsPostBack内でのDataBind処理は不適切なんでしょうか?
IsPostBackをはずすとItemCommandメソッドも通る動きになり、データ表示も上手くいくのですが
IsPostBackをはずしていいものかどうかの切り分けがわからず悩んでいます。
詳しい方いらしたら教えて下さい。よろしくお願いします。
0807デフォルトの名無しさん
2006/01/17(火) 11:21:40使用して呼出すことの出来るDLL(COM)を、.NET2003で作成したいのですが、
どうしても上手くいきません...orz
〜試したこと〜
�@C# ⇒ クラスライブラリで作成 ⇒ 「COM の相互運用機能に登録」オプションをtrue ⇒ DLL完成
�A試しに、VBSから�@で作ったDLLを呼出して見る(createObject) ⇒ 成功
�BASPから�@で作ったDLLを呼出して見る(Server.createObject) ⇒ 失敗..orz
ファイルまたはアセンブリ名 ClassLibrary5、またはその依存関係の 1 つが見つかりませんでした。
VBSから呼出せるってことは、レジストリに
登録されてるってことだと思う。(実際に登録されている)
なんで、ASPからだと使えないの?
0808デフォルトの名無しさん
2006/01/17(火) 12:14:31ポストバックはasp.netの肝だから勉強するべき。
0809デフォルトの名無しさん
2006/01/17(火) 12:58:50ASP.NETで呼び出されるオブジェクトはsingletoneじゃなくて singlecallなんだよな。
インスタンス変数はオブジェクトと同じで毎回使い捨て。
singletoneで無用心にインスタンス変数を使われるよりましだとは思うが、
どういう基準でsingletoneと singlecallを使い分けてるんだろう。
0810デフォルトの名無しさん
2006/01/17(火) 13:42:18ASP.NETがページとコントロールという考え方で出来てる以上、
singletonなんて最初から除外されると思うんだが
0811デフォルトの名無しさん
2006/01/17(火) 14:45:37ページとコントロールという概念を持ち込んでいてもベースはcgiと同じi/fなんだから基本はステートレス。
ステートレスである以上singletonは普通に使える。
ちなみにJSPはsingletoneでasp.netはsinglecallタイプ。この違いがなんだろうと思ってるわけ。
0812807
2006/01/17(火) 15:04:32なんで?レジストリには、DLLのファイルパスまで
あったし、VBSも動いてた!!
全然、わからない!!
0813デフォルトの名無しさん
2006/01/17(火) 15:23:22うーんだからそれが、処理だけに注目したserveletと、
ページオブジェクトという考え方で構築されたASP.NETの違いでしょ?
singlecallとsingletonの違いは、その考え方により決まる必然的なもの。
0814デフォルトの名無しさん
2006/01/17(火) 15:56:29GACがらみかと思ったりする
0815デフォルトの名無しさん
2006/01/17(火) 16:39:40それを実現するためにViewStateやcookie, session などを使ってるのは知ってるよ。
言いたいのはSystem.Web.UI.Pageはsinglecallでリクエストごとに破棄されてるということ。
EnableViewState=trueの場合UI.Pageが新たに作られたオブジェクトで自動的に元の状態を復元している。
>>806 のケースではViewStateで保存できない情報をPostBackされたページ間で引き継ごうとしているので
思ったような動作になってないわけだ。
ASP.NET がSigleCallなのは次のコードを実行すればわかる。
Partial Class _Default
Inherits System.Web.UI.Page
Protected instaceVal As Integer = 0
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
TextBox1.Text = instaceVal + 1
End Sub
End Class
0816デフォルトの名無しさん
2006/01/17(火) 17:33:06Sessionに格納して
再バインドする
If IsPostBack = False Then
SQL文作成
DataGridカラム作成(Linkボタン等含む)
Session.Add("HOGE", ds)
バインド処理()
End If
Private Sub バインド処理()
DataGrid1.DataSource = CType(Session.Item("HOGE"), Data.DataSet)
DataGrid1.DataBind()
End Sub
後はリンクボタンクリック時にもバインド処理をし直す
(これはページ送りの例)
Private Sub DataGrid1_PageIndexChanged(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridPageChangedEventArgs) Handles DataGrid1.PageIndexChanged
DataGrid1.CurrentPageIndex = e.NewPageIndex
バインド処理()
End Sub
0817デフォルトの名無しさん
2006/01/17(火) 17:33:52訂正。
instaceVal = instaceVal + 1
TextBox1.Text = instaceVal
instaceValは毎回ゼロに初期化されているので常に表示は1になる。
これをクラス変数にして同じ処理をしてみるとリクエストごとにカウントアップされるのがわかる。
0818デフォルトの名無しさん
2006/01/17(火) 17:37:27志村!
ToString!!
ToString!!
0819デフォルトの名無しさん
2006/01/17(火) 17:46:21Option Strict は付けない主義なんだと言い訳をw
あったほうがいいね。
0820デフォルトの名無しさん
2006/01/17(火) 18:02:26VBで関数を使いたいんですけど、どうやって作るんですか??
0821デフォルトの名無しさん
2006/01/17(火) 18:05:170822デフォルトの名無しさん
2006/01/17(火) 18:09:440823デフォルトの名無しさん
2006/01/17(火) 18:29:540824デフォルトの名無しさん
2006/01/17(火) 18:31:56Public Function Main() As Integer
Return 0
End Function
0825デフォルトの名無しさん
2006/01/17(火) 20:57:31まあおれ自身はなんか気持ち悪いのでついつい付けるけどね。
あと、ろくに知らない奴にコード読まれた時に突っ込まれたくないってのもあるが。
0826デフォルトの名無しさん
2006/01/17(火) 21:01:390827デフォルトの名無しさん
2006/01/17(火) 21:05:30826みたいな馬鹿ってどこの職場にもいるんだよなあ。。
0828デフォルトの名無しさん
2006/01/17(火) 21:08:190829デフォルトの名無しさん
2006/01/17(火) 21:14:130830デフォルトの名無しさん
2006/01/17(火) 21:21:420831デフォルトの名無しさん
2006/01/17(火) 21:32:120832デフォルトの名無しさん
2006/01/17(火) 21:36:390833829
2006/01/17(火) 21:42:20画像の描画でVB6,VB2003.net,VB2005の中で最処理が速いのは?
VB6ではbitbltを、VB2003.net,VB2005ではフレームワークから提供される一般的な方法。
0834デフォルトの名無しさん
2006/01/17(火) 22:19:030835デフォルトの名無しさん
2006/01/18(水) 03:43:260836デフォルトの名無しさん
2006/01/18(水) 07:19:300837デフォルトの名無しさん
2006/01/18(水) 18:58:24Public Array As ArrayList = New ArrayList
For StartCountRows = Start To End Step 1
Dim Hash As Hashtable = New Hashtable
Hash.Item("Heads") = (DataGrid1.Item(GridCounter, GridCell.GridHead))
Hash.Item("Itemnames") = (DataGrid1.Item(GridCounter, GridCell.GridItemName))
Hash.Item("Quas") = (DataGrid1.Item(GridCounter, GridCell.GridQua))
Hash.Item("Units") = (DataGrid1.Item(GridCounter, GridCell.GridUnit))
Hash.Item("Costs") = (DataGrid1.Item(GridCounter, GridCell.GridCost))
Hash.Item("Overalls") = (DataGrid1.Item(GridCounter, GridCell.GridAll))
Array.Item(StartCountRows) = Hash
Next
この積み込んだデータをDataGridに吐くことはできるのですが、このデータ+別のデータを組み合わせて、
SQL文を作るために、データを取り出したい。
Dim Arrays = Array(NowArray)
For NowArray = 0 To ArrayMax - 1
Kou = Arrays("Head")
goods = Arrays("Itemnames")
Number = Arrays("Quas")
Unit = Arrays("Units")
Price = Arrays("Costs")
Hason = Arrays("Overalls") <> "" Then
rem ここでSQL文発行
Next
とすると、例外が発生します。
System.MissingMemberException' のハンドルされていない例外が microsoft.visualbasic.dll で発生しました。
追加情報 : 型 'Integer' の既定メンバが見つかりません。
でも同じような処理で印刷はできるから規定メンバが無いわけではないと思う。
データ構造は変更不能なので何とか配列からデータを持って来たいのですがどうしたらいいですか?
0838デフォルトの名無しさん
2006/01/18(水) 19:24:00おいおい、無いっていってるんだから無いに決まってるジャンw
違うっていうならIntegerのデフォルトプロパティを言ってみ?
っていうか、例外が発生している部分のコード提示しなくて、
いったいどういう回答を期待してるのかあ。
世の中みんなエスパーだとでも思ってるんだろうか。
どうでもいいけど酷いコードだなあ。。
せめて命名をもうちょっと工夫してもいいんじゃないの?
0839デフォルトの名無しさん
2006/01/18(水) 20:37:40開く先を指定する方法は無いの?
0840デフォルトの名無しさん
2006/01/18(水) 22:47:00それともブラウザのこと?
0841829
2006/01/18(水) 23:12:39馬鹿にしてすまなかった。少しレベルを見たかった。
>>836
それだけだとちょっと(829と836の)どっちがアホなのか・・・w
0842デフォルトの名無しさん
2006/01/19(木) 04:07:24ブラウザじゃネーノ?
0843デフォルトの名無しさん
2006/01/19(木) 10:34:11すまんこ
上記ソースのこの部分で例外が出る
この積み込んだデータをDataGridに吐くことはできるのですが、このデータ+別のデータを組み合わせて、
SQL文を作るために、データを取り出したい。
Dim Arrays = Array(NowArray) ← この部分
For NowArray = 0 To ArrayMax - 1
Kou = Arrays("Head")
goods = Arrays("Itemnames")
Number = Arrays("Quas")
Unit = Arrays("Units")
Price = Arrays("Costs")
Hason = Arrays("Overalls") <> "" Then
rem ここでSQL文発行
Next
本格的(?)にコード書き始めて半月だからなぁ・・・ もっと綺麗なコードが書けるように努力するよ。
自分で書いてても可読性の悪いコードだと思う・・・orz
0844デフォルトの名無しさん
2006/01/19(木) 10:41:13この積み込んだデータをDataGridに吐くことはできるのですが、このデータ+別のデータを組み合わせて、
SQL文を作るために、データを取り出したい。
Dim Arrays = Array(NowArray) ← この部分じゃなくて
For NowArray = 0 To ArrayMax - 1
Kou = Arrays("Head") ←この部分で例外発生
goods = Arrays("Itemnames")
デフォルトプロパティとか難しい言葉が出てきたけど勉強するよ。
同じような処理で〜って言ったのは印刷のときはExcelにデータを落としてるんだけれど、上記コードで
変数で受けてる部分をExcelのセルに突っ込むコードになってるんだけどそれはエラーも出ないでちゃん
と機能するんだ。
ExcelがObject型で受けてるからOKで上記コードは変数で受けるからエラーなのかなと思って、
Dim Kou as Object
にしてみたら・・・期待通りエラーでした。 オブジェクト指向って難しい(違うと思う)
0845デフォルトの名無しさん
2006/01/19(木) 12:52:47まあ、コードも文書も理論的に整理できない人が書くと大変だ。
0846デフォルトの名無しさん
2006/01/19(木) 17:02:24ppDispって引数ないんだよね。
俺SHDocVw.DWebBrowserEvents2_Eventにキャストして、NewWindow2イベントフックしてる。
今までどうりのやり方。
0847デフォルトの名無しさん
2006/01/19(木) 17:14:58どうしたら。。。vb2005webbrowser。
0848デフォルトの名無しさん
2006/01/19(木) 17:25:18ブラウザでたまにJavaスクリプトが正しく記述されてないページで
スクリプトエラーのメッセージが出てくるんだけど、抑制する方法ってありますか?
vb2003でwebbrowserです
0849デフォルトの名無しさん
2006/01/19(木) 17:29:352003はしらんな。俺も使ってたころは悩まされてたが、Flashはちゃんとクリックできたんだよなぁ。
もどすきはないなぁ。その問題があるから。
0850デフォルトの名無しさん
2006/01/19(木) 17:31:52よければ教えてほしいんだけど、Flashの問題はどうやって回避しました?2003で。
2005にも応用できるかも。
0851デフォルトの名無しさん
2006/01/19(木) 17:34:04藻前様の言うことをよく整理してみた。
要は処理が出来る所と出来ない所は何かが違う。
処理できる所と出来ない所をDebug.Writeline(Array.GetType)と(前略)(Arrays.GetType)してみた。
正しいところ System.Collections.ArrayList
System.Collections.Hashtable
いくないところ System.Collections.ArrayList
System.Int32
・・・型が違うじゃん・・・
同じ構文=型も同じに決まってるっていう思い込みからずっと悩んでいたようだ。
原因が分かって対策もできた。
藻前様のとこのスレッドに住むすべての神のおかげで生涯初のプログラムが完成しそうだ。
本当にありがとうございました。
0852デフォルトの名無しさん
2006/01/19(木) 17:48:03Option Strict Onって知ってる?
0853デフォルトの名無しさん
2006/01/19(木) 19:00:24これやると
今開いているページにも新しく開くページの内容が表示されてしまう場合があって、対応できない。やり方間違ってるかもしれない。
なぜか、OnNavigatingでe.Cancel=trueにすると、GoBackが効かなくなるし。
0854デフォルトの名無しさん
2006/01/19(木) 19:10:520855デフォルトの名無しさん
2006/01/20(金) 00:51:45エンターキーを押した時の縦セル移動を横セル移動にしたいのですが
VB2003の時のセルのキーダウンを拾う方法と記述の仕方が変わったみたいで
VB2005では同じ要領でできません。
どなたかご存知ないですか?
0856851
2006/01/20(金) 01:08:21知らんかった。
早速使ってみるよ。
/チラシの裏開始
確かに筋も腕も悪いが俺はあきらめない。
いつか世界で1000位以内にランキングされるプログラマになりたいと思う。
そのためには何を学ぶべきなんだろう。
とりあえず今はVB.NETとMySQLをやっているが、いつかはVC++(滅ぶかも知れないらしいが)
に乗り換えたいと思う。
そのためにはどんな本を読めばいいんだろう。
とりあえず、日経BPのプログラミングVB.NETVol1,2とVisualBasic.NET実践講座Vol1,2を読んでる。
/チラシの裏終了
0857デフォルトの名無しさん
2006/01/20(金) 01:50:390858デフォルトの名無しさん
2006/01/20(金) 01:54:13ただし、Java、VB、C#系から初めてC系C++系にいくのはつらいと思うぞ。
0859デフォルトの名無しさん
2006/01/20(金) 03:15:09なんかカワイイw
0860デフォルトの名無しさん
2006/01/20(金) 08:19:38普通は逆でしょ。
そんな理屈が通用するなら、最初からCっていう大半のプログラマはどうなるのw
抽象度が低い言語を知らずにVBみたいな言語を始めるのは本当はキツい。
キツい、というか落とし穴にはまりやすい。
昔はよくアセンブラを知らずにcやると〜、なんていわれてたね。
VB6のPGの大半がクラスつかってなかったみたいに、乗り越えられないハードルにも
あたりやすい。
0861デフォルトの名無しさん
2006/01/20(金) 08:55:51すまん、意味がわからん。
おれはつまり抽象度の高い言語から始めて、
抽象度の低い、あるいは複雑度の大きい言語に行くのは
つらいと言ってるんだが、それとどう逆なのかよくわからん…
0862785
2006/01/20(金) 09:26:11最近、.NETをやってみたら、凄く書きやすくなったなぁと思うんだけど、
VB6とかから.NETに直接行った人って、やっぱ抵抗あった?
0863デフォルトの名無しさん
2006/01/20(金) 09:35:23.rptファイルを新規作成する手順がわからないのですが
ご存知のかた、おられましたら教えていただけないでしょうか?
よろしくお願いします。
0864348
2006/01/20(金) 10:28:20よろしければできるかできないかだけでも教えてもらえないでしょうか。
0865デフォルトの名無しさん
2006/01/20(金) 11:13:450866デフォルトの名無しさん
2006/01/20(金) 11:19:32抽象度の高低と複雑性の大小はまったく相関関係は無い
0867デフォルトの名無しさん
2006/01/20(金) 11:25:33できないです。
0868デフォルトの名無しさん
2006/01/20(金) 11:37:00だからあるいはて書いてんだが。
しかしどちらもつらい理由であるってこと
0869デフォルトの名無しさん
2006/01/20(金) 11:39:06つ COM
>>867
さらっと嘘言うな
0870デフォルトの名無しさん
2006/01/20(金) 11:45:45REGSVR32できないのにCreateObjectできるんですか?
0871デフォルトの名無しさん
2006/01/20(金) 11:49:48.NET SDKにある専用のコマンドで登録するんじゃなかったけ
0872デフォルトの名無しさん
2006/01/20(金) 11:56:20これ
ttp://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cptools/html/cpgrfassemblyregistrationtoolregasmexe.asp
0873デフォルトの名無しさん
2006/01/20(金) 14:12:24どのようなデータフォーマット式を書けばいいの?
0874デフォルトの名無しさん
2006/01/20(金) 14:25:22まあ何にせよ
ttp://dobon.net/vb/dotnet/datagrid/wrapwordtextcolumn.html
こういうことしなきゃなんないけど。
0875デフォルトの名無しさん
2006/01/20(金) 14:41:46少し違いますが数字でいう所の{0:D4}みたいなのがあると思ったもんで聞いてみました。
0876デフォルトの名無しさん
2006/01/20(金) 16:15:540877デフォルトの名無しさん
2006/01/20(金) 17:56:07>>871
>>872
大変ありがとうございました。m(_ _)m
0878867
2006/01/20(金) 18:25:51おい。そもそも俺ができないといったおかげで
レスがついたんだぞ。俺にも感謝しろよ。
これは2ちゃんねらーの心理をついた作戦だったんだぞ。
0880デフォルトの名無しさん
2006/01/21(土) 01:12:50クラス使わないことが多いから苦労するかもなー。
DLL作ったり、Webの3階層とかやってりゃ慣れも早いんだが
0881デフォルトの名無しさん
2006/01/21(土) 01:19:43Oracle専用の入出力画面しか作ってねー
VB.NETでやっとまともにあつかえるようになったのはよかーたが
0882デフォルトの名無しさん
2006/01/21(土) 01:27:21ASP.NETってスバラシイよ
0883デフォルトの名無しさん
2006/01/21(土) 16:53:33スクリプトエラーのメッセージが出てくるんですど、抑制する方法ってありますか?
vb2003でwebbrowserです
0884デフォルトの名無しさん
2006/01/21(土) 16:59:310885883
2006/01/21(土) 17:01:50レスありがとうございます。
早速調べてみます。
0886デフォルトの名無しさん
2006/01/21(土) 18:43:22Webbrowserで、vb2003のAxwebbrowserで、MouseMoveキャッチできたよ。
AddHandlerではだめなくせに、WithEventsにMshtml.HtmlDocumentをいれたらできた。
>>884
Thanks!!!!!
0887デフォルトの名無しさん
2006/01/21(土) 18:46:130888デフォルトの名無しさん
2006/01/22(日) 23:52:31vbのデザイナを使い、チェックボックスやラジオボタンのある画面を作成し
tabキーでフォーカスのあたり方をテストしたところ、
チェックボックスのtextやラジオボタンのtextには点線が表示されますが
肝心のレ印の部分や◎の部分には点線がつきません。
ぜひレ印の部分や◎の部分にも点線をつけたい、と思うのですが
無理でしょうか? それとも何か方法がありますでしょうか?
0889デフォルトの名無しさん
2006/01/23(月) 00:01:16頑張って一から描画するしかないんじゃない?
0890デフォルトの名無しさん
2006/01/23(月) 00:14:480891デフォルトの名無しさん
2006/01/23(月) 00:16:32早速のレスありがとうございます。デフォルトですか・・・
プロパティなどを簡単にいじって実現できる、というような話では
ないんですね…ちょっと初心者には敷居が高くなりそうなので
まずは(ひとまず小休止し)頑張って勉強して、対応考えます。
■さらに重複しつもんすみません
チェックボックスのtextやラジオボタンのtextの位置も
変えたいと思っているのですが…(下記例のように)
ラジオボタンのtext部分を空欄にし、表示したい文字列をラベルで表示するのが
普通かもしれませんが…みなさんだったらどうするか
一般的なやり方、というか手法をご教授いただきたく。
例:textに「表示」と表示するチェックボックス
◎表示
表示◎
表
示
◎
0892デフォルトの名無しさん
2006/01/23(月) 00:34:59・ボックスの位置はCheckAlignプロパティ。
0893デフォルトの名無しさん
2006/01/23(月) 00:41:56ありがとうございます。フォーカスを受け取ったらバックカラーを
変更すれば、視覚的にわかりますね。これなら自分にもできそうですし
わかりやすいですね。
>>892
確かに斜めは見づらいし使いにくいですね、すみません。
プロパティご教授ありがとうございます。
早速チャレンジしてやってみます。
0894デフォルトの名無しさん
2006/01/23(月) 10:44:540895デフォルトの名無しさん
2006/01/23(月) 11:25:28意識してやる方法は知らん。
0896デフォルトの名無しさん
2006/01/23(月) 12:28:390897デフォルトの名無しさん
2006/01/23(月) 13:20:380898デフォルトの名無しさん
2006/01/23(月) 14:01:440899デフォルトの名無しさん
2006/01/23(月) 16:49:26一部、単語を縦書きフォント(@付き)を使用して印刷したいと考えているのですが、
どうしても縦書きで印刷されません。
何かご存知の方いらっしゃいましたら、教えてください。
印刷する文字列
「MS Pゴシック」
欲しい結果
「MS P」に対して、「ゴシック」は90℃回転した字で印刷される
その他
Excelでセルでフォントを「@MS Pゴシック」に指定して印刷すると上記の
欲しい結果の通り正常に印刷されるため、PC内にフォントが無いことはない
使用したVBの構文
e.Graphics.DrawString("@MS Pゴシック", New Font("@MS Pゴシック", 14), Brushes.Black, 50, 50)
現状の印刷結果
「@MS Pゴシック」と同一の向きで全てが印刷される
0900デフォルトの名無しさん
2006/01/23(月) 17:09:11フォントと描画方向と文字の傾きは直接は関係ない。
ttp://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=9367&forum=7&start=0
0901デフォルトの名無しさん
2006/01/23(月) 19:24:151.pictureboxなんかに描画&印刷。
2.htmlに(縦書きで)出力&印刷。
そんな感じかな。
でも2はかなり高度なhtml知識が必要だから1がオススメ。
0902デフォルトの名無しさん
2006/01/24(火) 01:12:031.1 or higherを使うためには2003とか2005にしないとだめなの?
0903デフォルトの名無しさん
2006/01/24(火) 01:13:44使うと言うのが何を指すのか分からんが。
0904デフォルトの名無しさん
2006/01/24(火) 01:19:50ありがとうございます.
1.1のSDKをいれても無意味なのですね...
0905デフォルトの名無しさん
2006/01/24(火) 08:55:41URLを参考に、
Dim drawFormat As New StringFormat()
drawFormat.FormatFlags = StringFormatFlags.DirectionVertical
e.Graphics.DrawString("@MS Pゴシック", New Font("@MS Pゴシック", 14), Brushes.Black, 10, 10, drawFormat)
と記述。
「@MS Pゴシック」と印刷されていたものが、紙を横からみた状態で、
「@MS P゛∩,,ヽ=ヽ⊂」(見辛いですが...) 全角文字部分を縦書きにすることができました。
お陰さまで求める結果を出すことが出来ました。ありがとうございました。
0906デフォルトの名無しさん
2006/01/24(火) 09:27:250907デフォルトの名無しさん
2006/01/24(火) 11:47:03CPU、メモリ、HDDなどはできたのですが、
ネットワーク速度を測ろうとしたのですが、
CategoryNameに、NetworkInterfaceがありませんでした。
他の方法があればご教授ください。
0908デフォルトの名無しさん
2006/01/24(火) 15:21:19Set oComponent = GetObject("script:c:\COM\MyComponent.wsc")
などとやっていますが、エラーにはならないもののプロパティとか取得できません。
0909デフォルトの名無しさん
2006/01/24(火) 15:26:35VB.NETを購入しますた。
合わせて、書籍の実践講座基礎編を購入して順調に進んでたのですが、
付属のCD-ROMに入ってるプロジェクトファイルを開こうとしたら、
「データが旧式なので、現在のバージョンに変換します。後戻りできませんがイイですか?」みたいなダイアログメッセージがでたので、
「はい」をおしました。
しかし、ファイルが開けません(変換後のファイルに対して反応しない)
変換した後に作成されたoldでやり直しても、「データが旧式〜ry」と出て同じです。
これじゃ変換する意味がありません。
なぜーですかー!
0910デフォルトの名無しさん
2006/01/24(火) 15:45:01できたよ。
関係ないけど、VB7以降SetキーワードはObsoleteだから。
0911デフォルトの名無しさん
2006/01/24(火) 16:14:36CDからプロジェクトを開いてるか、コピーして書き込み禁止を解除していないに一票。
0912デフォルトの名無しさん
2006/01/24(火) 16:34:10だな。
ファイルを全部選択して、プロパティから読み取り専用属性を外すんだ。
0914デフォルトの名無しさん
2006/01/24(火) 19:16:34今もぐら叩きを作ったのですがこれに時間制限を作りたいのです。
それで時間は1分としまして、Buttonがクリックされたらカウントダウンをして
59→ … 30 … → 0 → 終了!
てな感じでやりたいのです・・・
ちなみに
Timer.Enabled = True
Timer.Start()
の違いなども分かりません(>_<)
0915デフォルトの名無しさん
2006/01/24(火) 19:21:42大体1000が近似値だったはず。
0916915
2006/01/24(火) 19:36:422.timerコントロールをダブルクリックして、一定間隔ごとに実行したい処理を記述。
間隔はintervalで設定[1000≒1秒(アバウト)]
3.Timer.Enabled = Trueにして実行。停止したいときはTimer.Enabled = False。
Timer.Enabledはtimer自体の働きを有効にするかを表す。Trueで有効、Falseで無効。
でも厳密に1秒ずつカウントしていきたいなら、System.Environment.TickCountを使用するのがオススメ。
System.Environment.TickCountはWindowsが起動してからの時間を取得することができる。
これで最初にWindowsが起動してからの時間を取得しておく・・・�@
そして、timer(interval=50程度)で毎回Windowsが起動してからの時間を取得する・・・�A
そして�A-�@することでかなり正確に1秒を求めることが出来る。
ただしSystem.Environment.TickCountで取得した場合ミリ秒で取得するので1000=1秒となることに注意。
え〜っと、間違いあったら誰か指摘して。
0917デフォルトの名無しさん
2006/01/24(火) 19:47:35別スレッドで動くことになるからControl.Invokeが必要になるけど。
0918デフォルトの名無しさん
2006/01/24(火) 19:49:09マルチもどきはまだ914の実力には合わないんじゃないかな。
0919デフォルトの名無しさん
2006/01/24(火) 19:51:26いくら調べてみてもそれらしいものは出てこないし・・・
誰か大まかな流れでいいので教えて貰えないでしょうか。
0920デフォルトの名無しさん
2006/01/24(火) 19:58:250921デフォルトの名無しさん
2006/01/24(火) 20:11:58何を作りたいか決める→インターフェースを決める→実装する→テストする
こんな流れで良いんじゃないか?
0922デフォルトの名無しさん
2006/01/24(火) 21:04:37フォームにButton,Label,Timerを貼り付けて
Formのメンバに
Private _Count As Integer '残り秒数のカウンタ
ButtonのClickイベントに
Count = 60 '残り秒数
Label1.Text = _Count.ToString()
Timer1.Interval = 1000 'Tickイベントを発生させる間隔(ミリ秒)
Timer1.Start() 'タイマ開始 (Timer1.Enabled = True でも同じ)
Button1.Enabled = False
TimerのTickイベントに
Count -= 1 '1秒に1回カウントダウンされる
Label1.Text = _Count.ToString()
If _Count = 0 Then
Timer1.Stop() 'タイマ終了 (Timer1.Enabled = False でも同じ)
MessageBox.Show("おわり")
Button1.Enabled = True
End If
てな感じでどう?
0923922
2006/01/24(火) 21:11:23Formのメンバに
Private _count As Integer '残り秒数のカウンタ
ButtonのClickイベントに
_count = 60 '残り秒数
Label1.Text = _count.ToString()
Timer1.Interval = 1000 'Tickイベントを発生させる間隔(ミリ秒)
Timer1.Start() 'タイマ開始 (Timer1.Enabled = True でも同じ)
Button1.Enabled = False
TimerのTickイベントに
_count -= 1 '1秒に1回カウントダウンされる
Label1.Text = _count.ToString()
If _count = 0 Then
Timer1.Stop() 'タイマ終了 (Timer1.Enabled = False でも同じ)
MessageBox.Show("おわり")
Button1.Enabled = True
End If
0924デフォルトの名無しさん
2006/01/24(火) 21:24:06多分フォームに張り付けて使うだろうから
Windowsタイマと何も変わらんと思う。
0925デフォルトの名無しさん
2006/01/24(火) 21:33:24どこに張り付けようがSystem.Timers.Timerは独自スレッドで動くが。
0926デフォルトの名無しさん
2006/01/24(火) 21:44:000927デフォルトの名無しさん
2006/01/24(火) 22:12:52使ってしまうことが、いいことだとは思ってない
0928914
2006/01/24(火) 22:49:50ありがとうございます。
ほぼ923の書いてくれた通りにやったらできました。
0929デフォルトの名無しさん
2006/01/25(水) 08:41:44ms-help://MS.VSExpressCC.v80/MS.NETFramework.v20.ja/dv_vbcnexpress/html/ca72914b-a90e-40b5-a99d-c1585aeccdea.htm
はどうよ?
0930デフォルトの名無しさん
2006/01/25(水) 11:49:39以下のエラーで動作しません。どうしてでしょう、教えてください。
'/xxx'アプリケーションでサーバーエラーが発生しました。
解析エラーメッセージ: 認識されない属性 'xmlns'です
web.config内の
<configuration xmlns="http:....../v2.0"> ← ここでエラー
バージョン情報
Microsoft NET Framework 1.1.4322.2300 ASP.NET Version 1.1.4322.2300
インストールしたPCはServer2003で、VS2005もインストール済みです。
.
0931デフォルトの名無しさん
2006/01/25(水) 11:54:460932デフォルトの名無しさん
2006/01/25(水) 11:56:27ども!
開発機もインストール機も VS2005 が入ってるから 何もする必要ないって思ってました。
さっそく。。。
0933デフォルトの名無しさん
2006/01/25(水) 17:41:20レスさんきゅです。
参考にさせて頂きます
0934デフォルトの名無しさん
2006/01/25(水) 22:52:14TextBoxみたいにデザイナ上で
■───■───■
│ │
□ □
│ │
■───■───■
こんな風に幅しか変更できないようにする方法はありますか?
MSDNを一通り眺めてみたんですが、
TextBoxBase,TextBox,Controlの各メンバにも
該当するプロパティ等は無いようなのですが…。
0935934
2006/01/25(水) 22:54:08VB.NET 2003で、作成中のユーザーコントロールはTextBoxを継承していません。
0936デフォルトの名無しさん
2006/01/25(水) 22:59:42その派生させたクラスでOnMouseDragBegin/OnMouseDragMoveメソッドあたりをオーバーライドして処理するんではなかろうか。
0937デフォルトの名無しさん
2006/01/26(木) 11:17:53継承した先で縦サイズのプロパティで定数を返すようにすればよい
0938デフォルトの名無しさん
2006/01/26(木) 11:37:38試してみます。
>>937
すみません。言葉が足りませんでした。
heightを変更しないのではなく、デザイナ上に配置した時に、
アンカ(上記■の部分)をグレイアウトさせて、
マウスで操作できないようにしたかったのです。
0939デフォルトの名無しさん
2006/01/26(木) 12:13:16ControlDesignerの派生クラスでSelectionRulesプロパティをオーバーライドして
Moveable Or LeftSizeable Or RightSizeable Or Visibleを返す。
そのクラスをコントロールのDesigner属性に指定。
0940デフォルトの名無しさん
2006/01/26(木) 17:35:24今までずっとUnixでWebプログラミングをやってきて、
この度初めてVB.netでWindowsアプリを開発することになりました。
はじめに入力フォームからデータベース(SQL Server)にデータを投入する
という機能を作ろうとしているのですが、
WEBで使うようなテーブル(メールフォーム等のような罫線入りの)
入力フォーム(列の結合なども有りで)を理想としているのですが、
VB.netでの罫線入りの入力フォームの実現方法が思いつきません。
いろいろ考えた中では結局下地のテーブル部分を1枚の画像で制作し、
その画像の上にテキストボックスなどのコントロールを配置する方法
を思いついたのですが、項目が増減するとそのたびに画像を書き直し
しなければならないため行が可変だったりすると全く融通が利きません。
上記を実現するためにどのような手法がありますでしょうか?
よろしくお願いいたします。
0941デフォルトの名無しさん
2006/01/26(木) 19:05:52ブラウザを貼り付け、HTAで作る
0942デフォルトの名無しさん
2006/01/27(金) 00:15:51ありがとうございます
早速調べてみます
0943デフォルトの名無しさん
2006/01/27(金) 09:22:540944デフォルトの名無しさん
2006/01/27(金) 10:29:26なんでかな?
0945デフォルトの名無しさん
2006/01/27(金) 12:55:500946デフォルトの名無しさん
2006/01/27(金) 13:21:05DataGrid.Items(x).Cells(y).Text
こんな具合で取れると思うのですが、X座標はともかくY座標がさっぱり取れません
現状Y座標だけベタ書きでコードを組んでいます。
クリックしたセルのY座標(横座標)を取る方法があったら教えて下さい
0947デフォルトの名無しさん
2006/01/27(金) 13:40:200948デフォルトの名無しさん
2006/01/27(金) 13:46:20すいません、書き漏れです。
VB.NET+ASP.NETです。CurrentCellが見当たらないんです・・
0949デフォルトの名無しさん
2006/01/27(金) 15:12:130950デフォルトの名無しさん
2006/01/27(金) 15:33:05重ね重ねすいません。2003です。
調べ方が甘いのか見当違いの場所を探しているのか・・
0951デフォルトの名無しさん
2006/01/27(金) 15:44:48どちらをクリックしたかItemCommand内で判断した以下処理分岐ということです。
現状はY座標のとり方がわからないため
i = e.Item.ItemIndex
strAAA = e.Item.Cells.Item(i).Text
と組み、ボタンのキャプションで処理を分岐させています。
この処理でとりわけ問題はないのですが、何故Y座標が取得できないのかがわからず・・・
詳しい方いらっしゃったら教えて下さい。
0952デフォルトの名無しさん
2006/01/27(金) 15:46:04すいません、もっと調べて出直してきます・・
0953デフォルトの名無しさん
2006/01/27(金) 16:41:180954デフォルトの名無しさん
2006/01/28(土) 02:12:110955デフォルトの名無しさん
2006/01/28(土) 15:00:470956デフォルトの名無しさん
2006/01/28(土) 15:05:010958デフォルトの名無しさん
2006/01/28(土) 15:58:31スタンバイ状態の仕組みから考えて不可。
休止状態もな。
0959デフォルトの名無しさん
2006/01/28(土) 16:28:24スタンバイから(RTC等で)復帰なんてAPMの当時から実現してるってw
でなきゃタスクスケジューラは魔法か何かかw
0960デフォルトの名無しさん
2006/01/28(土) 16:30:03じゃあ、VB.NETでどうやるのか教えてくれる?
0961デフォルトの名無しさん
2006/01/28(土) 16:37:22ググればやり方はでてくる筈だよ
0962デフォルトの名無しさん
2006/01/28(土) 19:59:34スタンバイしようとするのを検出して、無効にしちまえw
0963デフォルトの名無しさん
2006/01/28(土) 23:40:120964デフォルトの名無しさん
2006/01/29(日) 00:09:380965デフォルトの名無しさん
2006/01/29(日) 00:12:17指定時間に自動復帰するということならAPIの
CreateWaitableTimer
SetWaitableTimer
SetThreadExecutionState
CloseHandle
を使えばできる。
0966デフォルトの名無しさん
2006/01/29(日) 19:22:210967デフォルトの名無しさん
2006/01/29(日) 21:07:46直接キーボードから値変更したときに動いてくれませーん(T_T)/
どうしたらいいか、誰か教えてくれませんか〜^^
プログラミングって難しいですねーorz orz
0968デフォルトの名無しさん
2006/01/29(日) 21:09:500969デフォルトの名無しさん
2006/01/29(日) 21:40:47キー入力で値変更したときもValueChanged発生するよ。
大丈夫?
ここでいう「値」っていうのは表示されている値ではなくて
NumericUpDownが保持している値のことね。
当たり前だけどこの「値」はエンターキーを押さないと反映されないよ。
0970デフォルトの名無しさん
2006/01/29(日) 21:47:17テキストエディタを作ったとします。
ここで、テキストファイルをテキストエディタのアイコンにドロップして起動する方法を教えてください。
0971デフォルトの名無しさん
2006/01/29(日) 22:49:29デスクトップアイコン?
それなら引数でわたってくるんじゃないの?
0972970
2006/01/29(日) 22:52:28それが分からないんです・・・
0973デフォルトの名無しさん
2006/01/29(日) 22:53:080974デフォルトの名無しさん
2006/01/29(日) 23:02:150975デフォルトの名無しさん
2006/01/29(日) 23:03:17IsReference
0976デフォルトの名無しさん
2006/01/29(日) 23:05:50DoubleやDecimalやDateTimeだったらどうする。
0977デフォルトの名無しさん
2006/01/29(日) 23:18:50やってから書き込めよ。
0978デフォルトの名無しさん
2006/01/29(日) 23:20:32そこまで言うなら、TypeNameあたりでやればいいんじゃないか?
というか、指摘するなら自分で代わりの答えを提示しろよ。
0979デフォルトの名無しさん
2006/01/29(日) 23:27:09Dim obj As Object = 1
If TypeOf obj Is Integer Then
・・・
End If
0980デフォルトの名無しさん
2006/01/29(日) 23:42:43なんか普通に話が進んでるが、
なんでIsReferenceで整数型かどうか分かるんだ?
っと思ったらそれが>>976の突っ込み?
じゃ、>>977ってこの流れの話?
そうならなおさら意味が分からん。
0981デフォルトの名無しさん
2006/01/29(日) 23:47:30そもそもVB.NETでWinアプリじゃMainメソッドが明示されないから、
どうやって受けるのかってところから分からんのだろ
0982デフォルトの名無しさん
2006/01/29(日) 23:52:32だれもMainで取得するって話をしてない件について
0983デフォルトの名無しさん
2006/01/29(日) 23:57:27あれ話の流れが変?
>>977は>>972に繋がってると思ったんだが
いやそうすると確かに屁理屈の意味が分からんな
0984デフォルトの名無しさん
2006/01/30(月) 13:03:320985デフォルトの名無しさん
2006/01/30(月) 14:27:230986デフォルトの名無しさん
2006/01/30(月) 14:54:01いや次スレ立ってからだろw
0987デフォルトの名無しさん
2006/01/30(月) 20:01:05http://pc8.2ch.net/test/read.cgi/tech/1138618698/
0988デフォルトの名無しさん
2006/01/30(月) 20:04:530989デフォルトの名無しさん
2006/01/30(月) 20:12:25かもね
0990デフォルトの名無しさん
2006/01/30(月) 21:04:490991デフォルトの名無しさん
2006/01/30(月) 21:48:10探せるとは思えん
0992デフォルトの名無しさん
2006/01/31(火) 08:53:28Javaからでも利用できるのでしょうか?
0993デフォルトの名無しさん
2006/01/31(火) 08:55:590994デフォルトの名無しさん
2006/01/31(火) 09:19:39やったことないが大丈夫なんじゃない?
基本的に、WSDLファイルさえ取り込めればクライアントの言語は何でもいいはず>Webサービス
0995デフォルトの名無しさん
2006/01/31(火) 09:23:23DataSetはXMLだから、それを読めればOK。
DataSetを使わないならばそうぷを理解する。
0997デフォルトの名無しさん
2006/01/31(火) 10:09:39Webサービス:Tomcat+axis
クライアント:VB .net or C# .net
0998デフォルトの名無しさん
2006/01/31(火) 10:23:12http://pc8.2ch.net/test/read.cgi/tech/1138670182/
0999デフォルトの名無しさん
2006/01/31(火) 12:42:301000デフォルトの名無しさん
2006/01/31(火) 12:42:5610011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。