VB.NET質問スレ(Part27)
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2008/09/28(日) 23:34:40VB.NET質問スレ(Part26)
http://pc11.2ch.net/test/read.cgi/tech/1212570454/
テンプレは>>2〜5くらいまでの間にある予定
0002デフォルトの名無しさん
2008/09/28(日) 23:35:040003デフォルトの名無しさん
2008/09/28(日) 23:38:27http://msdn.microsoft.com/ja-jp/library/ms229284.aspx
どぼん!のVB道のトップページとTipsページ
http://dobon.net/vb/
http://dobon.net/vb/dotnet/index.html
Insider.NET
http://www.atmarkit.co.jp/fdotnet/index.html
宇宙仮面の C# プログラミング
http://uchukamen.com/
.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
http://dotnetfan.org/
C#プログラミングTips
http://www.atmarkit.co.jp/fdotnet/csharptips/index/csharptips_index.html
0004デフォルトの名無しさん
2008/09/28(日) 23:39:12http://www.codeproject.com/vb/net/
the GotDotNet Home Page
http://www.gotdotnet.com/
KEN's .NET
http://www5b.biglobe.ne.jp/~yone-ken/VBNET/index.html
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.winapi-database.com/
0005デフォルトの名無しさん
2008/09/28(日) 23:40:33http://custom.programming-in.net/
CodeZine
http://codezine.jp/
ConvertCSharp2VB
http://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 行でズバリ !!」シリーズ
(VS2005) http://www.microsoft.com/japan/msdn/thisweek/300x10/
(VS.NET 2003) http://www.microsoft.com/japan/msdn/thisweek/wednesday/
PAPA'n VB
http://papanvb.i-love-vb.net/
(旧コンテンツ) http://www.mitene.or.jp/~sugisita/index_old.html
VB レスキュー花ちゃん
http://www.bcap.co.jp/hanafusa/dotnet/index.html
0006デフォルトの名無しさん
2008/09/29(月) 00:58:13http://homepage1.nifty.com/rucio/main/main.htm
初心者から中級者のためのVB
http://www7b.biglobe.ne.jp/~vb_beginner2008/
0007デフォルトの名無しさん
2008/09/29(月) 01:10:320008デフォルトの名無しさん
2008/09/29(月) 11:33:17VB.NETでクリスタルレポートを使用した帳票を作成しています
グループ化した後、詳細の項目を改行せず、同じ場所に表示していく方法はないでしょうか?
123
456
という感じで式で制御しています。それを同じ場所に表示したいのです。アンダーレイにチェックを入れても
1
2
3
といった感じに表示されてしまいます
知ってる方いらっしゃいましたら教えてください
0009デフォルトの名無しさん
2008/09/29(月) 19:16:18javaで作られている型(decimal)のところを
VB側で作成した場合にdecimalの項目がSOAPのdecimalから抜けてしまうという
現象が発生しました。何かご存知の方いらっしゃいましたらお知恵を拝借できますでしょうか。
0010デフォルトの名無しさん
2008/09/30(火) 13:16:43テキストを変たいと考えています。この場合、単純にTimerコントロールでは
制御できないと思いますが、どうしたらよいでしょうか。
コードは、例えばこんな感じです(だいぶ簡略化してありますが)
Private Sub Button1_Click(省略)
Dim Sample As New Button()
Sample.Text = "YES"
Sample.Location = New Point(xxx, xxx) ←Button1をクリックするごとに位置が変わるようにしています
Call Button_Text_Change(Sample)
End Sub
Private Sub Button_Text_Change(ByVal sample As Button)
Me.Controls.Add(Sample)
ここに、一定時間後にボタンのラベルを「NO」などに変えるコードを入れたいのです
End Sub
よろしくお願いします
0011デフォルトの名無しさん
2008/09/30(火) 13:19:41外部(VBプログラム)から直接クリスタルレポートのテキストボックスに値を入れるのではダメ?
0012デフォルトの名無しさん
2008/09/30(火) 16:41:29お返事ありがとうございます
項目がすごく多いので出来るだけクリスタルレポート上でやりたいと思っているのです
0013デフォルトの名無しさん
2008/09/30(火) 16:54:30Timerを毎回NewしてAddHandlerでイベントハンドラ登録
TimerのTagにでもButtonを設定しとく
ハンドラでsenderをTimerにキャストしてTagとってきて適当に操作
0014デフォルトの名無しさん
2008/09/30(火) 20:33:28何が聞きたいのか明確に書かないと
まともな人にほど回答して貰えないと思うけど。
っていうか、君がコードが書けない事と明確な文章が書けない事は
間違いなく根底で繋がっていて、同じ理由だろう。
0015デフォルトの名無しさん
2008/09/30(火) 22:50:400016デフォルトの名無しさん
2008/10/01(水) 00:03:26IE には貼れる。から、貼れるんじゃないかな。
COM で公開して試してみれば?
001711
2008/10/01(水) 01:02:18解決になるかはわからないけど
縦に出力されるのを
横に出力する方法があったと思う
それをうまい事組み合わせれば何とかならないかな
http://www.hirano.cc/crystalreports/report_yoko.html
0018デフォルトの名無しさん
2008/10/01(水) 22:00:55VB.net2005でDirect Show を使用し動画から音声を抽出→音声波形を作成
ということをしたいのですが,どのようにしたらよいのでしょうか?
Direct Showの使い方もわからず,教えていただけないでしょうか?
0019デフォルトの名無しさん
2008/10/02(木) 01:01:28DirectShowと戦うスレ Part 4
ttp://pc11.2ch.net/test/read.cgi/tech/1214127501/
0020デフォルトの名無しさん
2008/10/02(木) 02:01:24ありがとうございます.すれ違いすいませんでした.
0021デフォルトの名無しさん
2008/10/02(木) 06:46:34遅レスすいません。お返事ありがとうございました。
なんとかなりそうな感じです・・・助かりましたm(_ _)m
0022デフォルトの名無しさん
2008/10/02(木) 12:13:51こういう奴って社会人になって、何も知らない客先からの
要求や質問になんて答えるんだろうな。
0023デフォルトの名無しさん
2008/10/02(木) 19:19:050024デフォルトの名無しさん
2008/10/02(木) 19:31:34要件は明確にしてもらうと思うけど。
日本はまだその辺り、意味不明な要件でも適当に忖度して想像で補完することが
親切だと勘違いしてる馬鹿が多くて困るね。
0025デフォルトの名無しさん
2008/10/02(木) 21:26:42!! <これは> 断 固、追及 す る べ き だ ぞ ! <絶対だ!> !!
バカ麻生の年金全額税方式は、官僚による、年金基金を全額食い
潰してゼロにしてしまおうとする、大謀略だった !!!
~~~~~~~~
↓↓↓↓↓↓↓↓↓
↓↓↓↓↓↓↓↓↓
http://namidame.2ch.net/test/read.cgi/seiji/1202735334/
↑↑↑↑↑↑↑↑↑
↑↑↑↑↑↑↑↑↑
この超、大、欺瞞!!!を、俺らが赦していいのか??!!!
なぜ自民党の議員どもが、年金のことになると官僚の味方をして
「消費税」 を上げて社会福祉だなどと煙に巻いてきたのか!?!? しっかり理由があったのだ!!!
それは、この食いつぶされてしまってきた年金の破綻が明るみに出る前に消費税を上げてしまうことで
官僚に食われてしまってもう残りがないのが明るみに出るのを隠すためだった !!!
官僚とバソオ猿メらが共謀し、この誤魔化し消費税上げ策謀をごり押ししてしまおうとしてきたのだ!!!
!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!! ここで騙されてはならんぞ !!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!
0026デフォルトの名無しさん
2008/10/02(木) 21:33:180027デフォルトの名無しさん
2008/10/02(木) 22:21:20分からなければ、掘り下げるなり想定したりするだろ普通
0028デフォルトの名無しさん
2008/10/03(金) 13:48:53で作ったトランザクションの状態をを調べる方法ってありますか?
コミットやロールバックした後に状態を調べて再度トランザクション状態にしたい場合や
2度BeginTransactionを実行したりとかを避けたいのですが
VB6のトランザクション処理と多少使い勝手が違うので混乱しています
0029デフォルトの名無しさん
2008/10/04(土) 15:07:560030デフォルトの名無しさん
2008/10/04(土) 17:52:25POP なりを実装
0031デフォルトの名無しさん
2008/10/04(土) 18:56:001、メールを受信(サーバーのメールは削除しない)
2、特定のアドレスのメールだけを受信し本文中のアドレスを抽出。(http・・・・など)
3、複数の違うアドレスを一定時間間隔で開いていく。このときブラウザで特定の文字が確認できたら
タブを閉じる。
こんなことできますか?1ヶ月ぐらいまえに本を買ってとりあえず本に沿って計算機と透明にできるメモ帳なるものを
作ってみました。その程度のスキルなのですが。
この場合、ヘルプでメール受信などで検索してソースをゲットしてやってくのがいいのかなー?
あまりに何もしらなすぎてどこから始めていいかまったく分かりません。('A`)
0032デフォルトの名無しさん
2008/10/04(土) 18:58:26できます
0033デフォルトの名無しさん
2008/10/04(土) 18:58:42とりあえずここ読んだら?
http://dobon.net/vb/dotnet/internet/receivepop3mail.html
0034デフォルトの名無しさん
2008/10/04(土) 23:44:57フラグとかで管理するのはだめ?
dim btrflg as boolean = false
dim bcmtflg as boolean = true
dim sSQL as string = ""
try
コネクション.BeginTransaction
btrflg = true
'SQLを実行
sSQL = "UPDATE ・・・"
if hoge.excute < 1 then
bcmtflg = false
end if
'SQLを実行
sSQL = "INSERT ・・・"
if hoge.excute < 1 then
bcmtflg = false
end if
catch
finally
if btrflg = true then
if bcmtflg = true then
hoge.Commit
else
hoge,Rollback
end if
end if
end try
0035デフォルトの名無しさん
2008/10/05(日) 05:08:29現在、データベースの値をデータセットに格納する部分のロジックを作成しているのですが、以下のコードでは★部分でコケてしまいます。
---
Dim DataSet As DataSet = New DataSet()
Dim adapter As New OdbcDataAdapter()
Dim myCon As OdbcConnection
myCon = New OdbcConnection("DSN=" & dsn & ";UID=" & uid & ";PWD=" & pwd)
adapter.SelectCommand = New OdbcCommand("SELECT fieldname FROM datatable WHERE dataID = '12345678'", myCon)
myCon.Open()
adapter.Fill(DataSet) '←★
---
色々調べてみたところ、上記ロジックのSQL文で"fieldname "の格納データサイズが3409バイトを超えた場合にコケている事がわかりました。
試しに、OdbcDataAdapterではなくOdbcCommandのExecuteReaderを使用してみたの
ですが、やはり★部分でコケてしまいます。
---
Dim myCommand As New OdbcCommand
Dim reader As OdbcDataReader
myCommand = New OdbcCommand("SELECT fieldname FROM datatable WHERE dataID = '12345678'" myCon)
reader = myCommand.ExecuteReader()
Do While (reader.Read())
reader.GetValue(0) '←★
Loop
---
エラーメッセージは、いずれも「OdbcExceptionはハンドルされませんでした。」です。
以上より、SQL文を発行した結果を参照する際にデータが特定のサイズ(3409バイト?)を超えると参照できないように見えるのですが、そのような認識で間違いないでしょうか?
また、そうであれば、PG側でこれを回避する案を教えていただけないでしょうか?
開発環境:WindowsXP VS2005 VB.NET
DBサーバ環境:Windows2003Server SQLServer2005
長文になりまして申し訳ありません。宜しくお願い致します。
0036デフォルトの名無しさん
2008/10/05(日) 17:07:06VB2005を使用して別のページにパラメータを渡すWebページを作成しております。
現在はjavascriptを使用して以下のように書いてあります
(ソースを見れる状態ではないので細部が異なっているかもしれません)
Dim prm1,prm2,Str As String
・・・・・・・・
Str = "<script type="text/javascript">"
Str = Str & "window.open("別ページのURL?パラ1=" & prm1 & "&パラ2=" & prm2)
Str = Str & "</script>"
Response.Write(Str)
すると別ページで渡された値がDBにInsertされるようになっていて、
「処理が完了しました」の画面が表示されます。
この別ページの内部がどのようになっているかはわからない状態です。
これを、(完了しましたの)画面を表示させないでページの処理(Insert)だけを行えるように変更しなければならないのですが、
検索してもうまい方法が見つかりませんでした。
方法をご存知の方、参考になるサイトを教えて頂ける方がいらっしゃいましたら、
どうかよろしくお願いします。
別ページのソースは完全に手を出せない状態です
0037デフォルトの名無しさん
2008/10/05(日) 17:07:11アリガトンです
やっぱフラグとか基本で行くしかないですかね…
「今コネクションがトランザクション状態にある」
とか取得できれば楽なんですが
そういうプロパティもなさそうなんですよね…
もう少し試行錯誤してみます<(_ _)>
0038デフォルトの名無しさん
2008/10/05(日) 17:24:57バックグラウンドでリクエストを投げればいいんじゃね?
0039デフォルトの名無しさん
2008/10/05(日) 17:26:10フレームとかで隠すっつのもやらない方がいいだろうし。
どっちにしても同一ドメインじゃないと無理だと思うがどうだっけ?
0040デフォルトの名無しさん
2008/10/05(日) 17:36:55とりあえずSystem.Data.OdbcじゃなくてSystem.Data.SqlClient名前空間の
クラスを使うように変更したら結果は変わるかも
>>37
トランザクションが終了するとTransactionのConnectionプロパティはNothingになると思う
0041デフォルトの名無しさん
2008/10/05(日) 18:17:32あと.NET Frameworkとの違いを教えてください。
そのほか超初心者になんか教えてくださることあったら教えてください。
0042デフォルトの名無しさん
2008/10/05(日) 18:38:54baspを使う
0043デフォルトの名無しさん
2008/10/05(日) 18:39:34ありがとうございます、あんまりピンと来ないので今から検索してみますね
0044デフォルトの名無しさん
2008/10/05(日) 18:41:59買え。もしくは、Express Edition をダウンロード。
.NET Framework はフレームワーク。VB.NET はその上で開発するためのツール。
0045デフォルトの名無しさん
2008/10/05(日) 18:57:07お前は超初心者だからそんなことはとっくに知っているはずだ、思い出せ
そして醜く地べたを這いずる他の連中との違いを見せつけてやれ
004631
2008/10/05(日) 19:35:24とりあえず適当にもっと簡単なものからやっていこうと思います。m(_ _)m
0047デフォルトの名無しさん
2008/10/05(日) 21:02:0235です。
確かにSqlClientを使用することで回避できました!
なぜOdbcだと駄目だったんでしょうか・・・?
0048デフォルトの名無しさん
2008/10/05(日) 22:01:37.Netに該当するものは何ですか?
0049デフォルトの名無しさん
2008/10/05(日) 22:02:22ありません。
0050デフォルトの名無しさん
2008/10/05(日) 22:47:370051デフォルトの名無しさん
2008/10/05(日) 23:04:53shenmayisia?
0052デフォルトの名無しさん
2008/10/05(日) 23:20:090053デフォルトの名無しさん
2008/10/06(月) 01:06:17トランザクションなんて使い捨てじゃない?
ようするに2度〜なんて設計自体がよろしくないかと。
それでも使うなら、CloseしたあとにNothingで初期化しとけば
あとから使うときの判断材料になるかと。
0054デフォルトの名無しさん
2008/10/06(月) 12:09:26Dim dr As Data.DataRow
の違いは何ですか?
0055デフォルトの名無しさん
2008/10/06(月) 12:13:490056デフォルトの名無しさん
2008/10/06(月) 12:21:57Dim dt As New Data.DataTable()
Dim dt As New Data.DataTable
これも前者は、配列という事でよろしいですか?
0058デフォルトの名無しさん
2008/10/06(月) 12:35:29メール欄は焼き鳥ですか?
0059デフォルトの名無しさん
2008/10/06(月) 13:13:380060デフォルトの名無しさん
2008/10/06(月) 16:50:080061デフォルトの名無しさん
2008/10/06(月) 16:59:04勉強してきます。
0062デフォルトの名無しさん
2008/10/06(月) 17:25:520063デフォルトの名無しさん
2008/10/06(月) 21:08:43そういうものだと思って使うのが一番手っ取り早いwwwww
0064デフォルトの名無しさん
2008/10/06(月) 21:10:22VB中学校 でググれカス
0065デフォルトの名無しさん
2008/10/06(月) 21:22:42書き方が似てるだけ
0066デフォルトの名無しさん
2008/10/06(月) 22:46:530067デフォルトの名無しさん
2008/10/06(月) 22:48:07Dim dr() As Data.DataRow
Dim dr As Data.DataRow
こう書くな。紛らわしいから。
0068デフォルトの名無しさん
2008/10/06(月) 23:22:52Dim dt As New Data.DataTable()
Dim dt As New Data.DataTable
の方です。
0069デフォルトの名無しさん
2008/10/06(月) 23:25:27Data.DataTable()は「Data.DataTableの配列」を表す「型」なの
0070デフォルトの名無しさん
2008/10/06(月) 23:29:590071デフォルトの名無しさん
2008/10/06(月) 23:30:47違うだろ。コンストラクタなんだから。
007268
2008/10/06(月) 23:35:26Dim dt As Data.DataTable = New Data.DataTable()の省略形
0073デフォルトの名無しさん
2008/10/06(月) 23:38:33VBは()を省略出来るという悪習がある。
そしてややこしいのは配列の定義にも()を使うということ。
こっちは省略するとまったく意味が異なる。
その2つはどっちも同じだが上のほうを使うことをお勧めする。
本来はこんな感じで覚えたほうがいいかもしれない。応用が利くと思うよ。
Dim dt As Data.DataTable = New Data.DataTable()
0074デフォルトの名無しさん
2008/10/06(月) 23:41:43コンストラクタの()は省略できるようになったんだけどね
0075デフォルトの名無しさん
2008/10/06(月) 23:53:14の()は配列の意味で
Dim dt As New Data.DataTable()
の()はコンストラクタの意味になる
VBだとコンストラクタの()を省略できるから
Dim dt As New Data.DataTable()
Dim dt As New Data.DataTable
は同じ意味になる
Dim dt As Data.DataTable = New Data.DataTable()
今後は、こうゆうふうな書き方をしていった方がよい。
という事ですね。
ありがとうございました。
0076デフォルトの名無しさん
2008/10/06(月) 23:55:39VB9ならOption Inferで型推論でもいいかな
0077デフォルトの名無しさん
2008/10/06(月) 23:57:07他の言語から来たら戸惑うよな
0078デフォルトの名無しさん
2008/10/07(火) 10:39:39""""で良いんでしょうか?
0079デフォルトの名無しさん
2008/10/07(火) 10:45:36元のシートに貼り付けてあるバーコードが編集後のシートではうまく
機能しません。(Excelのバージョンは2007です)
ちなみにバーコードそのものはいじらずにリンクしてあるセルの内容を変えているの
ですが、それが反映されず、右クリックしてもメニューにバーコードコントロール9.0
というのが出なくなり、プロパティを実行してもバーコードのプロパティも
出てこなくなりました。
0080デフォルトの名無しさん
2008/10/07(火) 20:42:03コンストラクタ内で初期化した方がいい?
パターン1
Public Class AAA
private field1 As CCC = new CCC()
Public Sub New()
End Sub
End Class
パターン2
Public Class AAA
private field1 As CCC
Public Sub New()
field1 = new CCC()
End Sub
End Class
0081デフォルトの名無しさん
2008/10/07(火) 20:56:19同じと考えていい。
フィールドでの初期化はコンストラクタより先に処理される。
継承がある場合、継承もと(親)のコンストラクタより優先して継承先(子)を含む
すべてのフィールドが初期化される。これはjavaと動作が異なる。
javaの場合は継承もとのフィールドから継承もとのコンストラクタ、
続いて継承先のフィールドから継承先のコンストラクタの順となる。
0082デフォルトの名無しさん
2008/10/07(火) 22:11:05エクセルの「縮小して全体を表示」のような動作を希望してるのですが、
該当フィールドのフォントサイズの横のX2ボタンで式エディタに記載すると思うのですが、
0083デフォルトの名無しさん
2008/10/07(火) 22:38:32if (length({tblname.item}) > 20) then 9
else
if (length({tblname.item}) > 10) then 10
else 11
0084デフォルトの名無しさん
2008/10/07(火) 23:50:46YES
0085デフォルトの名無しさん
2008/10/08(水) 21:20:17ありがとう
0086デフォルトの名無しさん
2008/10/08(水) 22:53:46DataRowに格納されているフィールドの値を取得、設定するときに Value プロパティを
経由して実行したい。
良い方法はありませんか。(欲を言えば、ValueプロパティがあってもなくてもOKにしたい)
Class ResultSet
Private table as DataTable
Private currentIndex as Integer
〜〜省略〜〜
Function Fields(ByVal fieldIndex as Integer) As Object
Return table.Rows(currentIndex).Item(fieldIndex)
End Function
End Class
現状
Dim result as ResultSet
result.Fields(0) = value
value = result.Fields(0)
理想
Dim result as ResultSet
result.Fields(0).Value = value
value = result.Fields(0).Value
0087デフォルトの名無しさん
2008/10/08(水) 23:10:18Object型からのWidening Operatorも実装すればValueプロパティを省略できる
0088デフォルトの名無しさん
2008/10/08(水) 23:13:410089デフォルトの名無しさん
2008/10/09(木) 17:08:55SQLサーバーのスレで聞くべきなのかもしれないのですが
VB2005で開発しているのでこちらで質問させていただきます
PC1からトランザクションをかけてロックしたDBをPC2から参照したときに、
DBがトランザクションでロックされているという状態を知る方法はありますか?
今はタイムアウトでメッセージを出しているのですが
60秒待たないといけないので一瞬でロック中を表示して
ユーザーに処理を待つようなメッセージを出したいと思ってます
0090デフォルトの名無しさん
2008/10/09(木) 17:42:42http://www.atmarkit.co.jp/fnetwork/rensai/sql28/sql1.html
0091デフォルトの名無しさん
2008/10/09(木) 18:11:54早速ありがとうございます
これを見て対応してみたいと思います
0092デフォルトの名無しさん
2008/10/09(木) 22:46:58Dim code As String
code = result.Fields("code").Value
result.Fields("code").Value = "1010"
Public Class Dynaset
Public table As DataTable
〜〜省略〜〜
Public ReadOnly Property Fields(ByVal name As String) As Field
Get
Return New Field(table.Rows(0).Item(name))
End Get
End Property
End Class
Public Class Field
Private _object As Object
Public Sub New(ByRef obj as Object)
_object = obj
End Sub
Public Property Value() As Object
Get
Return _object
End Get
Set(ByVal Value As Object)
_object = Value
End Set
End Sub
End Class
0093デフォルトの名無しさん
2008/10/09(木) 22:48:40>>92 のようなソースを書いてみたんだけど、値は取得できるけど、値を設定してみても更新されない
FieldクラスのコンストラクタにDataRowとカラム名を渡して、
ValueプロパティでDataRow.Item(カラム名)に値をセットすると更新される
この2つの違いがわかりません。
0094デフォルトの名無しさん
2008/10/09(木) 23:19:25値渡しをしているから・・・かな?
勘違いをさせてしまう言い方だが、
>Public Sub New(ByRef obj as Object)
> _object = obj
>End Sub
ここではなく
>Return New Field(table.Rows(0).Item(name))
ここのtable.Rows(0).Item(name)の時点で参照ではなくなっていると思う。
FieldクラスはDataRow と name を受け取るクラスにしなくちゃいけないかも?
0095デフォルトの名無しさん
2008/10/09(木) 23:51:48なるほど、ありがとうございます。
DataRow と name を受け取る方向で、いろいろテストしてみます。
0096デフォルトの名無しさん
2008/10/09(木) 23:53:08プログラムを作成しています。ちなみに VB.NET2005
画像をダウンロードし、1秒に1枚〜2枚のデータを保存することが
できたのですが、それを動画に変換する方法が分かりません。
たぶん難しいと思いますが、ヒントなどを頂ければ、助かります。
非常に難しいようならば、複数のjpeg画像をaviなどの動画ファイルに
変換する、コマンドラインタイプのフリーソフトなんかでもいいのですが、
なにかないのでしょうか?
0097デフォルトの名無しさん
2008/10/10(金) 11:34:48DBの設計とUIに食い違いがあるときはどうするのが定石でしょうか?
例えば、DBではdatetime型だけど、画面上は和暦で表示し
元号をコンボボックスで選択、年月日はテキストボックスで入力したい
というような場合です。
0098デフォルトの名無しさん
2008/10/10(金) 11:35:310099デフォルトの名無しさん
2008/10/10(金) 11:37:43ttp://www.atmarkit.co.jp/fdotnet/dotnettips/034wareki/wareki.html
0100デフォルトの名無しさん
2008/10/10(金) 11:48:47ありがとうございます。
でも、わからないのは和暦西暦の変換方法ではなく、この変換処理を
どこに挟めばいいのかということなんです。
現在は単純に
da.Fill(ds)
dgv.DataSource = ds.Tables(0)
としているのですが、これだとdgvの列が自動生成されてしまいますよね。
dsに和暦を保持するための列を作って画面にはそちらを表示し、
もともとあった西暦の列は隠してしまう。
そしてda.Fillとda.Updateの直前に相互に変換すればいいでしょうか?
0101デフォルトの名無しさん
2008/10/10(金) 12:03:58んで、その中の日付表示する列のDefaultCellStyleプロパティの中のFormatメンバ
に表示フォーマットを
{0:ggyy年M月d日}
という監事で設定すればOK
0102デフォルトの名無しさん
2008/10/10(金) 14:14:51MultiLine=falseなテキストボックスの高さとパディング?(右余白)を変更したいのですが、
可能でしょうか?
MSDNを調べると、Windows.ControlsにはPaddingっていううってつけのプロパティ
があったので、
TextBox1.Padding = New Padding(30)
こんな感じのコードをLoadなりに書いているのですが、反映されていない感じです。
テキストボックスの高さはフォントサイズとパディングの調整でなんとかならないか
期待しています。
よろしくお願いいたします。
0103デフォルトの名無しさん
2008/10/10(金) 14:25:26左右の余白はEM_SETMARGINSが必要かな
上下の余白は……なんかあったっけ
0104デフォルトの名無しさん
2008/10/10(金) 14:28:27AutoSize = false ですかorz
早速確認してみます
#VB.NET初めて1ヶ月・・・はまりまくりですorz
010597
2008/10/10(金) 14:57:07ありがとうございます。確かに和暦で表示はできたのですが、本来の要求は
>DBではdatetime型だけど、画面上は和暦で表示し
>元号をコンボボックスで選択、年月日はテキストボックスで入力したい
なのです。この方法だと表示は和暦になりますが、編集するときも
「昭和」などと入力しなくてはならず、非常に不便ですよね。
DBとDataGridViewでデータをやりとりする間に変換処理をはさむ
のがいいかと考えていたのですが、もしかしたら
DataGridViewCellとDataGridViewColumnを継承して独自のコントロールを
作ってしまった方が早いでしょうか?
0106デフォルトの名無しさん
2008/10/10(金) 15:07:44和暦のプログラムがあるたびに、頭の中で国家がループする
0107デフォルトの名無しさん
2008/10/10(金) 15:54:03まあ、カスタムコントロール作ったほうが早かな。
カスタムコントロールを作らないでやる方法は、
データ取得のSELECT文を日付部分の列を2つにして取得するように修正し、
ひとつをコンボボックスの列、もうひとつを日付のテキストボックスにする。
この2つの列はもちろん隣同士にしておき、
ttp://dobon.net/vb/dotnet/datagridview/ownerdrawcell.html
このページを参考に
年号が左、日付が右であるとすれば日付の(右側の列の)CellPaintingイベントにて
年号の列の部分も合わせた幅および位置で描画を行えばヘッダが結合されたように描画できる。
デフォルトの(ビジュアルスタイルでの)ヘッダーを描画する場合は、VisualStyleRendererを使用してHeader.Item.Normalというエレメントを描画すればOK。
あとは、更新時に、2つ列のデータからDatetimeに変換してUPDATEすればいいんじゃね?
0108デフォルトの名無しさん
2008/10/10(金) 23:00:03FormのWidthが123より小さく出来ません。
なんとかならないでしょうか?
0109108
2008/10/10(金) 23:08:57FormBorderStyle = Noneで123以下にしたいのです。お願いします。
0110デフォルトの名無しさん
2008/10/10(金) 23:10:58Min なんたらとかってプロパティがない?
0111デフォルトの名無しさん
2008/10/10(金) 23:11:21XP以降から VB6 のEXEだといちいち確認メッセージがでるのですが
これって何とかなりませんか?
0113デフォルトの名無しさん
2008/10/11(土) 01:49:17詳しくは知らんけど、コンパネ→管理ツール→.NETflamework1.1ウィザード
の.NETセキュリティあたりを適当にいじってみる
0114デフォルトの名無しさん
2008/10/11(土) 01:50:300115デフォルトの名無しさん
2008/10/11(土) 01:52:35こんな時間にすげえムカついた
0116デフォルトの名無しさん
2008/10/11(土) 12:51:06ロジェクトに入れようと思い、ソリューションエクスプローラーの上で
右クリック⇒追加⇒新しい項目⇒新しい項目の追加ウィンドウ
が表示され、通常であれば「Visual Studio にインストールされたテンプレート」
という部分に「スプラッシュスクリーン」が表示される筈なの
ですが表示されなくなりました。(以前は表示されていました。)
どうすれば再び表示する事が出来るのでしょうか?
0117111
2008/10/11(土) 21:56:03すんません。スレ位置違いで投稿してしまいました。
それでも参考になります。
ありがとうございました。
0118デフォルトの名無しさん
2008/10/11(土) 22:18:25参照で追加しなきゃいけないライブラリとか参考になるサイトとか教えて下さい
0119デフォルトの名無しさん
2008/10/11(土) 22:20:53http://support.microsoft.com/default.aspx?scid=kb;ja;303872
0120デフォルトの名無しさん
2008/10/11(土) 22:56:39ReadOnly Property と Function って、どう使い分ければいいの?
0121デフォルトの名無しさん
2008/10/11(土) 22:57:010122デフォルトの名無しさん
2008/10/11(土) 23:05:17例えば配列のLengthはプロパティだな。名詞なんだから。
0123デフォルトの名無しさん
2008/10/11(土) 23:11:040124デフォルトの名無しさん
2008/10/11(土) 23:15:590125デフォルトの名無しさん
2008/10/11(土) 23:29:21は真となることが望ましいが
If foo.Function() = foo.Function() Then
はわからんぞとか
繰り返し実行するのがためらわれるコストの高い処理が含まれるなら
ReadOnly Property じゃなくて Function にしろや
などというガイドラインがあった気がする。
0126デフォルトの名無しさん
2008/10/11(土) 23:31:560127デフォルトの名無しさん
2008/10/11(土) 23:39:01そのあたりはフィーリングで決めればいいんじゃないの?
要は「それ」をオブジェクトの属性と考えたほうが分かりやすいのならプロパティにすべきだし、
オブジェクトの動作の結果の取得と考えたほうが分かりやすいならメソッドにすべきなんだろうけど、
実際はそのどちらなのか判断に迷う場合も少なくないから。
例えばゲームポートを集約するようなGamePortsクラスを作ったとして、システムに接続されている
ゲームコントローラの数は、スキャンという動的な動作の結果なんだからメソッドにすべきだという
考え方もありうるし、クラスの意味から考えればそれは状態の一つだからプロパティに
すべきって考え方もありうる。(まあ普通は前者だろうけど)
ちなみにCountならプロパティの方が普通だろう。
0128デフォルトの名無しさん
2008/10/11(土) 23:39:07今と同じく上位エディションにはクリスタルレポートがバンドルされていて、
印刷開始の命令が、Actionプロパティに1をつっこむというものだった。
当時でもこりゃないぞと思ったよ(笑
0129デフォルトの名無しさん
2008/10/12(日) 00:23:15ありがとう、参考になりました。
0130116
2008/10/12(日) 21:15:390131デフォルトの名無しさん
2008/10/12(日) 21:21:11再インストール
0132デフォルトの名無しさん
2008/10/12(日) 21:54:21それしか無いんでしょうか?
っていうかなんで急にスプラッシュスクリーンがテンプレートに表示されなくなったか分かりません。。。
そーいえば、Ajaxの何かをインストールしてからおかしくなったかも。。。
Atlasの何たらをインストールしたのが原因かもしれません。
0133デフォルトの名無しさん
2008/10/13(月) 01:06:21そんな症状は起きたことありません。
0134デフォルトの名無しさん
2008/10/13(月) 08:37:530135デフォルトの名無しさん
2008/10/13(月) 09:49:27デバイス依存だろうから無理っぽい。
マウスを殺すくらいのことならできるけど。(それでも、グローバルには無理)
0136デフォルトの名無しさん
2008/10/13(月) 13:34:48ある動作の経過時間を00:00:00形式で1秒ごとにカウントさせたいのですが
どのように記述したらよいでしょうか?
イメージとしては、電話の通話時間のように
・通話開始ボタン→常に00:00:00からカウント
・通話終了ボタン→カウント終了し、値を残しておく
としたいです
0137デフォルトの名無しさん
2008/10/13(月) 13:42:4600:00:00 形式で表示
経過秒を保存
ってだけだろ?w 何がわからないのか整理してみろよ
0138デフォルトの名無しさん
2008/10/13(月) 13:45:12プログラムなんて何も書けないことと同義じゃないのか?
0139デフォルトの名無しさん
2008/10/13(月) 13:48:53コピペプログラムだけど、こんな感じでどう?
SUB MAIN ()
Dim t1 As Integer
t1 = System.Environment.TickCount
<---処理--->
t1 = System.Environment.TickCount - t1
'かかった時間を表示
Console.WriteLine(TIME_TR)
END SUB
Function TIME_TR()
Dim H_TIM As Integer
Dim M_TIM As Integer
Dim S_TIM As Integer
H_TIM = ToRoundDown((t1 / 1000 / 3600), 0)
M_TIM = ToRoundDown(((t1 / 1000) - H_TIM * 3600) / 60, 0)
S_TIM = ToRoundDown((t1 / 1000) - H_TIM * 3600 - M_TIM * 60, 0)
TIME_TR = H_TIM & ":" & M_TIM & ":" & S_TIM
End Function
0140デフォルトの名無しさん
2008/10/13(月) 13:49:50Dim dCoef As Double = System.Math.Pow(10, iDigits)
If dValue > 0 Then
Return System.Math.Floor(dValue * dCoef) / dCoef
Else
Return System.Math.Ceiling(dValue * dCoef) / dCoef
End If
End Function
0141デフォルトの名無しさん
2008/10/13(月) 13:53:34素直にTimeSpan使え
0142デフォルトの名無しさん
2008/10/13(月) 13:57:15TimeSpanは、24時間以上は使えないような気がする。
0143デフォルトの名無しさん
2008/10/13(月) 14:00:2424時間以上も使えたみたいです。
失礼しました。
0144デフォルトの名無しさん
2008/10/13(月) 14:08:30センスが無さ杉。
死んだ方が良いよ。
氏ねじゃなくて、死ねだからね。
0145デフォルトの名無しさん
2008/10/13(月) 14:13:37最大約10^19[100ナノ秒]≒10^7[日]くらいか
0146デフォルトの名無しさん
2008/10/13(月) 14:30:15センスって何?
問題の切り分けができないやつは、プログラマに向いてないよ。
0147デフォルトの名無しさん
2008/10/13(月) 18:14:56それはない
0148デフォルトの名無しさん
2008/10/13(月) 20:24:21IsDate(Oct-08/512)
↑VB2008では何を返しますか?
個人的にはすごくFalse返してほしいんだけどTrue返してくる
0149デフォルトの名無しさん
2008/10/13(月) 20:26:06たぶん、コンパイルエラー
0150デフォルトの名無しさん
2008/10/13(月) 20:27:51まーじでー
ちょっと見直してくるわ
0151デフォルトの名無しさん
2008/10/13(月) 20:28:22だと、実行時エラー(InvalidCastException)
0152デフォルトの名無しさん
2008/10/13(月) 20:31:31ごめ
IsDate("Oct-08/512")
かな
0153デフォルトの名無しさん
2008/10/13(月) 20:35:35ちなみに、0512/10/08 0:00:00 に変換される
0154デフォルトの名無しさん
2008/10/13(月) 20:37:06なるほど!
ありがと〜〜
0155デフォルトの名無しさん
2008/10/13(月) 20:43:000156デフォルトの名無しさん
2008/10/13(月) 20:44:33別に落ちないけど?
0157デフォルトの名無しさん
2008/10/13(月) 20:46:200158デフォルトの名無しさん
2008/10/13(月) 20:47:37うん。やってみたけど落ちなかったよ。
作りたてのフォームだからかもしれないけど。
0159デフォルトの名無しさん
2008/10/13(月) 20:53:16そっかぁ〜
わざわざ調べてくれてありがとね
0160デフォルトの名無しさん
2008/10/14(火) 23:22:40下記のようなコードを作成したのですが、イベントが発生してくれません。
なにかほかにも必要なコードがあるのでしょうか?
Private WithEvents connection As OracleConnection
Private Sub connection_InfoMessage(ByVal sender As Object, _
ByVal e As System.Data.OracleClient.OracleInfoMessageEventArgs) Handles connection.InfoMessage
Console.WriteLine(e.Message)
End Sub
0161デフォルトの名無しさん
2008/10/14(火) 23:25:51インスタンスは?
0162デフォルトの名無しさん
2008/10/14(火) 23:50:25connectionのインスタンス生成やデータベースへの接続等は問題なく行っています。
0163デフォルトの名無しさん
2008/10/14(火) 23:57:540164デフォルトの名無しさん
2008/10/15(水) 00:01:48WebBrowser を C:\ フォルダーにNavigateして、C:\ が表示された後で、
そこに Key を送りつけて制御したいのですが、
WebBrowser から派生したものを使って、OnkeyDown メソッドを
叩けるようにはしたのですが、
Public Sub DoKeyDown(ByVal key As Keys)
Dim e As KeyEventArgs = New KeyEventArgs(key)
MyBase.OnKeyDown(e)
End Sub
これでたとえば ewbrFolder.DoKeyDown(Keys.Tab) や
ewbrFolder.DoKeyDown(Keys.Apps) のようにしても反応せず、
WndProc(ByRef m As System.Windows.Forms.Message) で見てみても
キーダウンのメッセージ が届いていないようでした。この場合どこか間違い
があるでしょうか?
0165デフォルトの名無しさん
2008/10/15(水) 00:06:24それって、たとえば Form 相手だと有効なの?
イベントをファイヤするのと、キーを送るのはまったく別物よ。
せめて、ウィンドウメッセージか SendInput を使おう。
0166デフォルトの名無しさん
2008/10/15(水) 00:19:21>イベントをファイヤするのと、キーを送るのはまったく別物よ。
あーそうだったんですか!
>せめて、ウィンドウメッセージか SendInput を使おう。
調べてみます。ありがとうございました!!
0167デフォルトの名無しさん
2008/10/15(水) 00:25:36コードをVB→C#に変換する方法って何かありませんかね?
0168デフォルトの名無しさん
2008/10/15(水) 00:32:400169167
2008/10/15(水) 00:39:20クラスごとに変換して合体させるんでしょうか?
0170デフォルトの名無しさん
2008/10/15(水) 00:40:590171デフォルトの名無しさん
2008/10/15(水) 00:42:430172167
2008/10/15(水) 00:48:220173デフォルトの名無しさん
2008/10/15(水) 00:54:110174デフォルトの名無しさん
2008/10/15(水) 01:22:31正規表現を使って置換
0175デフォルトの名無しさん
2008/10/15(水) 06:47:150176デフォルトの名無しさん
2008/10/15(水) 19:46:13テキストボックスのカスタマイズで出来ますでしょうか?
やり方教えていただきたく
0177デフォルトの名無しさん
2008/10/15(水) 22:25:01175に別の答えがあるかもしれんが、ファイル単位ならSharpDevelopが使えると思うが・・・
俺はネットで拾ってきたサンプルソースを変換かけるのに良く使ってる。
それと、VBってVB.Net?それともVB6以前?
古いプロジェクトってのが気になるぜ。VB6だと手間的に話にならないと思うし。
>>176
そうやればってどうやれば?ってのはいいとして、ユーザーコントロールで
+--UserControl---------------------+
|[TextBox] 年[TextBox]月[TextBox] 日 |
+---------------------------------+
UserControlは白背景で枠有り。
TextBoxは枠なし。
年/月/日はラベル。
とかはどうよ。
1個のテキストボックスで同じ様な挙動させようとするとたぶん苦労するよ。
0178デフォルトの名無しさん
2008/10/15(水) 23:34:52どうも、誤字でした。
えーと、テキストボックスを3個使うのは、そのようにやるつもりなんです。
私の聞き方が悪いようでうまく伝わってないようです。
3個使うテキストボックスの1個の中の話でして。
例えばDateTimePickerのyyyyの部分が2008のときに2だけDeleteして3008にするようなことは出来ません。
というのは2008のどれか1文字をDeleteすることは出来ません。そもそもDeleteキーもBackSpaceキーも効きませんが
そもそもカーソルが存在しません。
このカーソルが存在しないっていうのをどうやったら作れるかな、という質問でした。
そもそもTextBoxじゃダメなのかな・・・
0179デフォルトの名無しさん
2008/10/15(水) 23:35:470180デフォルトの名無しさん
2008/10/15(水) 23:49:37|[Label] 年[Label]月[Label] 日 |
+---------------------------------+
のようにしてUserControlのKeyイベントでLabelのTextを操作するのがいいみたいです。
お騒がせしてすみませんでした。
>>177さんありがとうございました。
0181164
2008/10/16(木) 20:09:02WebBrowser をファイラ状態で使って C:\ フォルダーにNavigateして、
C:\ が表示された後ですが、このときには、そのWebBrowser自体に
Keyを送りつけても、MouseEventを送っても(それらをウインドウ・メッセージで送っても)
反応はなく、あくまでも、その内部の、ファイル・リストビューのオブジェクトに
送らないと反応できないようでした。
目的は、そのファイル・リストビューのコンテキストメニューを表示すること
なのですが、その場合は、そのファイル・リストビューのインスタンスから
そのコンテキストメニューのインスタンスを知る必要があるようで、
その場合には http://pc11.2ch.net/test/read.cgi/tech/1160209713/187-287
のような方法を取るべきらしいこそがわかりました。ここで言っている、
リフレクションを使ってWebBrowserのインスタンスからaxIWebBrowser2という名前で
IWebBrowser2インターフェイスを取得。
→IServiceProviderにキャスト
→IShellBrowserをIServiceProvider.QueryService経由で取得
→IShellViewやIFolderViewをIShellBrowser.QueryActiveShellView経由で取得
→いじり放題
の最初の段階として、
Dim axIWebBrowser2 As IWebBrowser2 = CType(ewbrFolder, IWebBrowser2)
のように行いたいのですが、この IWebBrowser2 インターフェースが認識できない
ようでソースコード上でエラー表示(下波線)されました。.NETFrameworkでは
このインターフェースは対応していないようですがどのようにして使用可能になる
でしょうか?
0182デフォルトの名無しさん
2008/10/16(木) 20:12:10リンク間違えました。すみません。
>http://pc11.2ch.net/test/read.cgi/tech/1160209713/187-287
-> http://pc11.2ch.net/test/read.cgi/tech/1160209713/196-197
0183デフォルトの名無しさん
2008/10/16(木) 21:33:34IWebBrowser2インターフェイスはshdocvw.dllをCOM参照すれば使えるようになるがその流れだとわざわざ参照する必要は無いな
IServiceProvider以下は
・自前で定義する
・Windows SDK入れてインターフェイスが定義されているidl探してmidl.exeでtlb作ってそれをCOM参照……できたっけ?
直接COM参照できないならtlbimp.exeでdll作ってそれを参照
0184デフォルトの名無しさん
2008/10/16(木) 22:21:08レスありがとうございます。
ググリましたら、確かに、Windows.System32内のshdocvw.dllをCOM参照するべきこと
がわかり、そこで
axIWebBrowser2 = CType(Me.ewbrFolder, SHDocVw.IWebBrowser2)
とやってみましたができませんでした。ここでおっしゃって下さった ActiveXInstance を使って
axIWebBrowser2 = CType(Me.ewbrFolder..ActiveXInstance, SHDocVw.IWebBrowser2)
としましたところ確かにCastはできました。ただ、これから IServiceProvider へのCastは
できませんでした。
>IServiceProvider以下は
>・自前で定義する
>・Windows SDK入れてインターフェイスが定義されているidl探してmidl.exeでtlb作ってそれをCOM参照……できたっけ?
> 直接COM参照できないならtlbimp.exeでdll作ってそれを参照
この自前で定義するのも難しそうですが、idl・・・の件は現在無知のため調べてみないと
わからない状態でした、もう少し苦しんでみます。ご指導ありがとうございました。
またよろしくお願いします。
0185デフォルトの名無しさん
2008/10/16(木) 23:37:33問題の解決になるかどうかわからんが、
.NetでCOMを扱う場合はMarshalクラスの存在は欠かせないだろう。
俺はこの辺をよく使っている。
Marshal.GetComInterfaceForObject ← キャストはこれかな?
Marshal.GetObjectForIUnknown
Marshal.QueryInterface
インターフェースの定義はなかったら自分で作るが、
まず、ここで誰かが作ってないか探す。
ttp://pinvoke.net/index.aspx
なかったらMSDNや、SDKの*.idlとか見て自分で定義する。
作り方は適当なインターフェースの定義を見つけてコピペして改変する。
ttp://pinvoke.net/default.aspx/Interfaces/IShellFolder.html
こんな感じのね。
GUIDとかもちゃんと調べておくように。
0186185
2008/10/16(木) 23:42:47Marshal.GetComInterfaceForObjectでIntPtrを取得して、
それをMarshal.QueryInterfaceで変換する。
だったかな。
うろ覚えですまん。
0187デフォルトの名無しさん
2008/10/17(金) 06:22:24参照カウンタが上がって面倒なだけだ。
0188デフォルトの名無しさん
2008/10/18(土) 15:48:21どうすればいいの?
0189デフォルトの名無しさん
2008/10/18(土) 15:50:21Globalization の CultureInfo をどうたらこうたら
0190デフォルトの名無しさん
2008/10/18(土) 16:04:51出力形式をXMLにしようと思っているのですが、関連クラスがたくさんあって手も足も出ない状況です><
XmlDocument http://msdn.microsoft.com/ja-jp/library/system.xml.xmldocument.aspx
XmlElement http://msdn.microsoft.com/ja-jp/library/system.xml.xmlelement.aspx
XmlAttribute http://msdn.microsoft.com/ja-jp/library/system.xml.xmlattribute.aspx
XmlTextWriter http://msdn.microsoft.com/ja-jp/library/system.xml.xmltextwriter.aspx
XmlWriter http://msdn.microsoft.com/ja-jp/library/system.xml.xmlwriter.aspx
この辺かなっと思ったんですけど情報が少なくて…
サンプルなどありますでしょうか?
0191デフォルトの名無しさん
2008/10/18(土) 16:07:39データの形式にもよるけど、シリアライズ・デシリアライズが簡単でおすすめ。
出力なら、XmlTextWriter のやつを探せばいいんじゃね?
0192デフォルトの名無しさん
2008/10/18(土) 16:10:57めちゃくちゃ簡単やん
0193190
2008/10/18(土) 16:25:38レスありがとうございます。どのようなものか読んだだけではすぐにはわかりませんでしたが、とにかく試してみます。
>>192
私にとってはそうでもないんです><
0194190
2008/10/18(土) 19:16:47Serialize やってみたら本当にすごい簡単にできました!
次に、生成されるXMLについてなのですが、これに
<?xml-stylesheet type="text/xsl" href="style.xsl"?>
のような行を追加することは可能でしょうか?
0195デフォルトの名無しさん
2008/10/18(土) 19:24:070196190
2008/10/18(土) 20:59:24すげーーーー! あなたが光り輝いて見えます!
0197デフォルトの名無しさん
2008/10/19(日) 00:50:11サーバーPCの環境 OS XP
VB2003
SERVER アパッチ
DB Mysql
問題点 Mysqlに接続できない
エラーメッセージ 'MySql.Data.MySqlClient.MySqlException' のハンドルされていない例外が mysql.data.dll で発生しました。
Unable to connect to any of the specified MySQL hosts
Public str_Domein As String = "192.168.**.**"
Public connStr As String = String.Format("server={0};user id={1}; password={2}; database=aaa; pooling=false", str_Domein, "hogehoge", "hagehage")
LAN上のIP指定では問題なく接続できていたけど、諸事情により野外でノートを持っていき接続する必要が出てきた
そこで、str_Domeinを「Public str_Domein As String = "hogehage..net"」のようにドメイン指定にしてみたら接続できなかった
引っ越す前は問題なかったけど、引越しをし、光プレミアムに回線が変わってから使えなくなってちょっとアセってます
引越し前も後もサーバーPCの設定はしていないので繋がっても不思議ではないが繋がらなくなったのでルーターの設定かと思い
ポート3306のルーティングをしたり、ファイアウォールもオフにしたりしたけどダメ
サーバーPCもファイアウォールの3306のポート設定してあります
何か設定忘れてるかな?
0198デフォルトの名無しさん
2008/10/19(日) 00:56:100199デフォルトの名無しさん
2008/10/19(日) 00:59:59聞きなおしてきます
失礼しました
0200デフォルトの名無しさん
2008/10/19(日) 01:02:53ネットワークの問題だろ
0201デフォルトの名無しさん
2008/10/19(日) 01:25:210202201
2008/10/19(日) 01:33:370203デフォルトの名無しさん
2008/10/19(日) 19:24:47現在は1つの画像ファイルに|通常時|押された時|無効の時|のような感じで並べてあり、
パネルの中に画像を読み込ませたピクチャーボックスを置いてマウスオーバー・ダウンなどでピクチャーボックスの位置をずらして模擬ボタン作っています。
あまりスマートな方法ではないと思うので、ほかに方法はないでしょうか?
よくあるオンラインゲームのランチャー画面的なグラフィカルなものをできるようにしたいです。
0204デフォルトの名無しさん
2008/10/19(日) 20:48:32およそVBらしくない手段だから頑張って勉強してね
0205デフォルトの名無しさん
2008/10/20(月) 20:49:30わかりやすく解説したサイトorサンプルはないものか…
0206デフォルトの名無しさん
2008/10/20(月) 20:55:13「スマートにやりたい」っていうのが理由なんだったら
横着せずにちゃんと基礎からオブジェクト指向を勉強した方がいいよ
継承してオーバーライドしなくても一応Paintイベントでもできるんだよ
それだと使い回し効かなくて全然スマートじゃないけどね
0207デフォルトの名無しさん
2008/10/20(月) 21:08:450208デフォルトの名無しさん
2008/10/22(水) 05:53:110209デフォルトの名無しさん
2008/10/22(水) 13:28:22VBで作成したテキスト入力欄にTABキーでフォーカスを移した際に
元々入力されている文字列を全選択されている状態にしたいのですが、
これって、プロパティの方で設定できるのでしょうか?
それともプログラムの方にそういうロジックを組まなければいけないのでしょうか?
0210デフォルトの名無しさん
2008/10/22(水) 13:31:550211デフォルトの名無しさん
2008/10/22(水) 13:35:29ないのですか。。
では、プログラムの方にロジックを組まなきゃいけないんですね;;
0212209
2008/10/22(水) 14:26:51文字列を全選択する方法がわかったのですが、
どうしてもマスクが使用されているテキストボックスだけ
フォーカスを移動させても、全選択されません。
SlectAllを使っているのですが、マスクが使用されている箇所も
全選択できるようにはならないのでしょうか?
0213デフォルトの名無しさん
2008/10/22(水) 19:00:45X
For i As Integer = 0 To p
If P(i) Then
Y
Goto beforeX
End If
Next
GoTo 使わないでもっと短いソースになりますか?
(X, Y): ステートメント
P(i): フラグ
要するに「フラグをすべて調べて、最初に見つかったのだけ処理して、ループの前に戻る」コードです。
0214デフォルトの名無しさん
2008/10/22(水) 19:07:15仮に短くならなくても上向きのgotoだけはありえない
0215デフォルトの名無しさん
2008/10/22(水) 19:16:40コードが短くなることに価値のプライオリティを置くのは頭悪げ。
いや「頭悪げ」じゃなくて「頭悪い」と思う。
0216デフォルトの名無しさん
2008/10/22(水) 20:14:510217213
2008/10/22(水) 20:47:44Do
X
For i As Integer = 0 To p
If P(i) Then
Y
Continue Do
End If
Next
Exit Do
Loop
としてたんですよ。でもDo文の直下に Exit Do があるのも気持ち悪く見えたんですが…
0218デフォルトの名無しさん
2008/10/22(水) 21:20:38X
Dim match1st as Integer = GetMatch1st()
if match1st = -1 then
Exit While
Else
Y
End If
End While
0219213
2008/10/22(水) 21:40:21やはりFor文を分離するのがよかったですか。なるほど。
if match1st = -1 then
Exit While
End If
Y
のようにすることにしました。
0220デフォルトの名無しさん
2008/10/22(水) 21:42:460221デフォルトの名無しさん
2008/10/23(木) 03:12:570222デフォルトの名無しさん
2008/10/23(木) 20:32:19全然意味が違うの?
0223デフォルトの名無しさん
2008/10/23(木) 20:35:25Nothingを代入するのはほとんどの場合無意味
IDisposableを実装した型は基本的には必ずDisposeすること
0224デフォルトの名無しさん
2008/10/23(木) 20:59:31Nothingはオブジェクトを参照していないことを明示的にするため
または参照を解除するために使う
Disposeは確保したリソースが使用しているメモリ領域を開放するために使う
たとえばピクチャボックスならNothingで画像消去してDisposeでメモリ解放するのが
正しい使いかた
0225デフォルトの名無しさん
2008/10/23(木) 23:47:38Disposeメソッドを実行した後に、Nothingを代入すればよい?
Nothingの代入は余計?
0226デフォルトの名無しさん
2008/10/23(木) 23:51:32フィールドならもう使えないことを明示する目的でNothing代入したりするけどしなくてもいい
>>224の言ってるようにピクチャボックスのImageプロパティなんかはNothing入れといた方がいいかも
0227デフォルトの名無しさん
2008/10/23(木) 23:57:25>>226
ありがとう、参考になりました
0228デフォルトの名無しさん
2008/10/23(木) 23:58:02VB6からの人なんだろうけど、そういう「おまじない」志向いい加減止めたら?
大事なのは、
(1)ちゃんと自分の頭で考えることと、
(2)そのために必要な知識をきちんと学習すること
だろ。
IDisposable.Disposeの意義というか存在理由なんてweb上の情報だけでも
結構得られると思うんだけど。
0229デフォルトの名無しさん
2008/10/24(金) 23:14:55Dim hoge as Integer
If IsA Then
hoge = GetA()
Else
hoge = GetB()
End If
'ここでReturn hogeが必要だったけど書き忘れバグ
End Function
VB2005でついに上のような感じのバグを書いちゃったんだけど、
再発を防ぐお手軽な方法や定石ってあるのかな?
前々から何度もこのバグ出しそうになって気をつけていたつもりだったんだが。
ひとまずhoge変数自体を消去して、分岐後すぐに値をReturnするように修正した。
暗黙的にGetHoge = 0って行が存在してるんだろうな・・・
仕様としてExit Functionを残すためにもしょうが無いのか。
0230デフォルトの名無しさん
2008/10/24(金) 23:41:12まあそんなポカミスあまりやらないし、やってもすぐ発見可能な類のものだから
気にすることもないと思うんだが。
0231デフォルトの名無しさん
2008/10/25(土) 00:01:50ちょっと動揺しすぎてたみたいだ。
ちなみにVB2005では警告は出なかった。
0232デフォルトの名無しさん
2008/10/25(土) 00:57:37やはりVB6の方が起動速度も処理も早いね。
googleで VB6 vs .NET でぐぐってごらん。
.NET好きだけど遅いのが難点。
0233デフォルトの名無しさん
2008/10/25(土) 01:02:58・・・は言っちゃダメなのか、やっぱ。
0234デフォルトの名無しさん
2008/10/25(土) 01:15:37現在、Yahooメールにログインする際には、
ID ・ PASS
を手動で入力しなくてはなりませんが、メンドクサイのでそれをアプリから自動で入力し
ログイン出切るツールを作りたいと思っています。
しかしながらそれを実現する為のアイデア(方法)が皆目検討がつきません。
以前にこの様なソフト(ツール)を作った事がある方がいらしましたら、ヒントをお願いします。
※例えば、WindowsFormからボタンをクリックするとYahooメールのURLをWindowsForm内に事前に作成している
Browserに表示し、ID・PASSワードを自動で入力しYahooメール画面に切り替わる
という事をしたいと考えています。
0235デフォルトの名無しさん
2008/10/25(土) 01:16:000236デフォルトの名無しさん
2008/10/25(土) 01:16:50日経ソフトウエアに、GMail にログインする、ってのがあったよ。
それを参考にしたらどうだろう?
0237デフォルトの名無しさん
2008/10/25(土) 01:18:22それは雑誌でしょうか?
出来れば「@IT」みたいなサイト上にソースとかが公開されているページをご存知でしたら
お教えください。
0238234
2008/10/25(土) 01:29:37また、HPに公開されていました。
これから作ってみようと思います。
0239デフォルトの名無しさん
2008/10/25(土) 08:58:46出来ればサイト上にソースとかが公開されているページをご存知でしたら
お教えください。
0240デフォルトの名無しさん
2008/10/25(土) 18:43:40ヤフオクの出品手続きなど自動化したいので
0241デフォルトの名無しさん
2008/10/25(土) 19:03:070242デフォルトの名無しさん
2008/10/25(土) 19:53:220243デフォルトの名無しさん
2008/10/27(月) 12:59:46Const定義もしくはSharedのプロパティ・関数を
サブクラス側に定義を強制させる方法はない?
× Shared・ConstにはMustOverrideが使えない
× Shared・ConstはInterfaceで定義ができない
× Shared Sub Newでは実体が一度でも作成されないと実行されない
素直にSharedやめるか、コメントで「実装してね(はぁと」とでも書くしかない?
0244デフォルトの名無しさん
2008/10/27(月) 13:02:03これは意味が分からんが、まあSharedでなければならない理由は大抵無いだろ
0245デフォルトの名無しさん
2008/10/27(月) 14:34:34涙目になったんでここで質問させて下さい。
VS2005 & Visual Basic Power Packs 3.0 もしくは
VS2008で使えるようになる、DataRepeaterコントロールについて、
MSDNライブラリ: 「2 つの DataRepeater コントロールで関連データを表示するには」
http://msdn.microsoft.com/ja-jp/library/cc488313.aspx
上記文書の通りに、完全に同じ手順で配置してみても、動作してくれません。
マスター:親側は動いてくれるのですが、
詳細:子側のDataRepeaterコントロールに何も表示されません。
DataRepeaterの代わりにDataGridViewを使うと、
子側のコントロールも中身のデータも問題なく表示され、親子の連動も出来ています。
VS2005・VB PowerPacks 3.0でも、VS2008(90日評価版ですが)でも、同じ症状です。
念の為SPは当てていますが症状変わらず。
これらはどんな事が原因で起き、正常に動作させるにはどうすれば良いのでしょうか?
まだVS2005上でリレーション・連動がどんな仕組みで表現されているかもわからない入門者ですが
小さなヒントだけでも構いませんので、教えて下さいな。
0246デフォルトの名無しさん
2008/10/27(月) 15:25:22仮にそーゆーメソッドが定義できたとして、どうやって呼び出すつもりなの?
インスタンスがなけりゃどの派生クラスのものかなんて判断できないんだから
結局派生クラスを直接指定して呼び出すしかないだろ。
実行時にまでチェックを遅らせていいなら、
型情報から呼び出すことは出来るが。
0247デフォルトの名無しさん
2008/10/27(月) 15:25:58<MarshalAs(UnmanagedType.ByValArray, SizeConst:=LF_FACESIZE)> _
Public lfFaceName As Byte
にどうやって”MSゴシック”などを指定していいのかわかりません
何かご存じの方いらっしゃいませんか
0248デフォルトの名無しさん
2008/10/27(月) 18:04:33Constでタグ名の定義を強制させてループで楽しようかと思ったんだが
そもそものshared使う発想自体が間違ってたようだ。
>>244
ConstはMustOverrideできないから、Sharedの変数に設定すればどうか
って思いついてサブクラス側のShared Sub New内で変数に設定しようとしたが失敗
>>246
そういやそうだね
「タグ名=[サブクラス].[shared定義]」で判断するなら
「タグ名="タグ名"」にするのと大差なかったね。
この時点でどのサブクラスが対象か判明してる訳だし…
連日の残業で疲れているようだ。
今日は早く帰ることにしよう。
0249デフォルトの名無しさん
2008/10/27(月) 20:15:46<MarshalAs(UnmanagedType.ByValTStr, SizeConst:=32)> _
Public lfFaceName As String
で宣言すれば?
0250デフォルトの名無しさん
2008/10/27(月) 20:38:26http://qa.kangonavi.jp/qa4320181.html
0251デフォルトの名無しさん
2008/10/27(月) 20:41:190252デフォルトの名無しさん
2008/10/27(月) 22:24:32ジェネリックで制約かければ使い道がないこともない
0253デフォルトの名無しさん
2008/10/27(月) 23:00:32デザインパターンのSingletonを使う。
俺は嫌いだが。
0254デフォルトの名無しさん
2008/10/27(月) 23:36:13特定の操作を与えて生成した画像を表示し、その後、ファイルに保存できるようにしたいのです。
・ Graphics.DrawLine/DrawPolygon/DrawString/etc と Bitmap.Save との両方に相当するメソッドを備えたクラスはありますか?
・ どちらかのクラスで、上に挙げたもののうちそれが持っていないものを代用するにはどうすればよいでしょうか。
0255デフォルトの名無しさん
2008/10/27(月) 23:42:51言ってることの意味がわからない。
GraphicsやImageといった基本的なクラスの意味すら理解せずに
グラフィックを扱うコードなんて書けるはずないと思うけど。
0256デフォルトの名無しさん
2008/10/27(月) 23:44:30Graphics.FromImageでそのBitmapオブジェクトに対するGraphicsオブジェクトを取得して
そのGraphicsオブジェクトを使ってBitmapオブジェクトに描画して
最後にBitmap.Save
0257254
2008/10/27(月) 23:45:37Dim g As Graphics
'描画
(MainForm.CreateGraphics()).DrawImage(g)
Dim b As Bitmap = New Bitmap(g)
b.Save(ファイル名)
とかでいけちゃいます?
0258254
2008/10/27(月) 23:46:23被ってすいません、今から試します><
0259254
2008/10/28(火) 21:54:510260デフォルトの名無しさん
2008/10/29(水) 09:36:13Dir関数で、指定したフォルダが存在するか調べたいんですが、
メディアのドライブ(DVDドライブなど)などを指定すると、
ドライブにディスクが入っていないときに 実行時エラー52が出て止まってしまいます。
msdnのDir関数んとこ見ても、それらしき記述は見あたらないのですが…
どのような場合でどのような例外が投げられるのか教えていただけませんか?
今回の場合、ドライブにアクセスできないので、76エラーならわかるのですが、
何故52エラーなのかよくわかりません。
また、Qドライブなど、存在しないドライブを選んだときは、特にエラーが発生しません。
(やたら時間がかかりますが)
なにかもうちょっと手っ取り早くそのフォルダがあるか無いか調べられる関数ってVBには無いのですか?
0261260
2008/10/29(水) 10:05:18.NETがありましたね、そういえば。
0262デフォルトの名無しさん
2008/10/29(水) 10:32:59↓
>.NETがありましたね、そういえば。
…えー
0263デフォルトの名無しさん
2008/10/29(水) 12:33:090265デフォルトの名無しさん
2008/10/29(水) 20:14:26やりたいこと。
標準のボタンコントロールを継承して作ったカスタムのコントロールを
DataGridViewのセルに表示させたい。
やってみたこと
http://msdn.microsoft.com/ja-jp/library/7tas5c80(VS.80).aspx
を参考にやってみましたがEditingControlなので編集状態にならないとカスタムコントロールが表示されません。
またDataGridViewTextBoxCellではなくDataGridViewCellを継承してみるも当然ながらなにも表示されません。
何か方法ありませんでしょうか。
VB2008、XP。
0266デフォルトの名無しさん
2008/10/29(水) 21:35:53さあ、その能無しに自民党どもが今ワーキングプアなんかをどれだけ人間扱いしてないか。
↓
((;゜Д゜)ガクガクブルブル、 国家権力コワス
10/26 麻生邸宅見学に向かおうとしたら逮捕
http://jp.youtube.com/watch?v=3Uw701vV15U
0:20秒ごろ、自分からぶつかりに行ってる黒服に帽子を被った男が
先頭の若者に自分から抱きついた瞬間、「公妨(公務執行妨害)だあ!」のさけび声が上がり、
その直後まるで事前に打ち合わせていたかのように「よし、やろう!」と言う大きな声が聞こえます。
渋谷署警察官との事前打ち合わせ@ハチ公前
http://jp.youtube.com/watch?v=VukCiIa0BDc&feature=related
記者会見/「麻生太郎邸拝見ツアー」参加者3名不当逮捕
http://jp.youtube.com/watch?v=V6X0rVVUMY8&feature=related
DEMO in SHIBUYA
http://jp.youtube.com/watch?v=_lDLdIRTRRA&NR=1
「麻生首相宅見に行こう」で男3人逮捕
http://jp.youtube.com/watch?v=o68UkD27URY&NR=1
続・「麻生首相宅見に行こう」で男3人逮捕 - やっぱり転び公妨でした!?
http://jp.youtube.com/watch?v=hgMZTl04N_w&feature=related
0267デフォルトの名無しさん
2008/10/29(水) 21:46:030268デフォルトの名無しさん
2008/10/29(水) 22:39:31その値を取得する方法ってありますか?
vb6.0だとSelText使ってたんだけど。
0269デフォルトの名無しさん
2008/10/30(木) 08:53:34特定のカラムのセルに、常にボタンを出すだけなら
カラムを DataGridViewButtonColumn にするだけなんだけど
それでは駄目な理由が今ひとつわからない。
行毎にボタンを表示したりテキストを表示したりしたいの?
それなら今俺が作ってる。業務上なんで晒せないけどw
(DataGridView の CellPainting イベントでも出来るんだけどね)
>>268
スプレッド?
0271デフォルトの名無しさん
2008/10/30(木) 15:51:48自作したユーザーコントロールから、
ダイアログ形式のフォームを
ShowDialogメソッドでモーダル表示しているのですが、
フォームのStartPositionプロパティをCenterParentに
しているのに、親フォームの中央に
表示されません。
ためしにCenterScreenにしてみましたが、
おなじく中央に表示されません・・・。
なぜなのでしょうか・・・?
どうすれば親フォームの中央に
表示されるようになりますか?
0272デフォルトの名無しさん
2008/10/30(木) 16:25:010273デフォルトの名無しさん
2008/10/30(木) 18:30:200274265
2008/10/30(木) 23:43:51どうもありがとうございます。
プロジェクト全体で主にデザイン上の理由からカスタムのボタンを使ってて
全体の統一をとるためにグリッドのボタンもカスタムのボタンを使いたいということです。
とりあえず今回はDataGridViewButtonCellを継承したクラスで地道にPaintすることで凌ぎました。
DataGridViewCellを継承してPaintで頑張れば何でも表示できるんだろうけど
編集時のコントロールが設定出来るんだから編集時以外の状態も
コントロールを設定出来そうな気がしたんですが見つけられませんでした。
探し方が甘いのかなあ。
誰かご存知の方いましたら教えてください。
0275デフォルトの名無しさん
2008/10/30(木) 23:49:19http://msdn.microsoft.com/ja-jp/library/ms143551(VS.80).aspx?ppud=4
にある、『Dim instance As SerialPort』の変数宣言ができません。
SerialPort型なんて無いですよね?
ツールボックスからSerialPortを貼り付けて、名前を揃えてもエラーになるし・・・
どうしたら良いのでしょう?
0276デフォルトの名無しさん
2008/10/30(木) 23:59:45名前空間って概念が理解できてないみたいね。
遠回りでもちゃんとそれを理解した方がいいよ。
コピペグラマになりたいのなら薦めないけど。
0277デフォルトの名無しさん
2008/10/31(金) 00:30:35Dim instance As SerialPort
って書いてダメだとSerialPortの下に波線が出るよね?
そこにマウス持ってくと赤い丸に白のエクスクラメーションが出るよね?
それをクリックするんだ
0278デフォルトの名無しさん
2008/10/31(金) 00:34:57なるほど、宣言する必要があったのですね。
ありがとうございました。
0279271
2008/10/31(金) 08:08:37それでも中央に表示されないんですよ・・・。
ShowDialogで親を指定しても、
StartPositionを指定しても
ダメなんです。
デザイン時のLocationの位置にしか
表示されないんです。
0280デフォルトの名無しさん
2008/10/31(金) 09:35:14>編集時以外の状態も
>コントロールを設定
DataGridViewCell の派生クラスはどれも
コントロールを表示してるんではなくて
自力で描画してるので、
>DataGridViewButtonCellを継承したクラスで地道にPaint
ボタンのデザインのみ変更したいのなら、
そのアプローチは正しいです。
0281デフォルトの名無しさん
2008/10/31(金) 13:18:55STXやBCCを含んだ文字列をシリアル通信で受信したいのですが、
ポートオープンの部分で止まってしまいます。
何か問題があるのでしょうか?
Using SPort As IO.Ports.SerialPort = My.Computer.Ports.OpenSerialPort("COM1")
http://support.microsoft.com/kb/904795/ja
http://www.fa.omron.co.jp/guide/faq/detail/faq00769.html
また、シリアルポートにデータを受信したとイベントを認識させる方法はありますか?
現在はタイマーで定期的にポートを見に行くようにする予定です。
ボーレートとかスタート/ストップビットとか対向機器とあってますか?
ちゃんとやるなら、System.IO.Portsクラス使った方がよろしいかと
ご所望のイベントハンドラもこっちにはありますし
この手の制御やるならラインモニターぐらいは持ってないと辛いと思いますよ
(持ってたらごめんなさい)
0283デフォルトの名無しさん
2008/10/31(金) 13:50:25現状、SendKeys.Send("%{TAB}")して逃げてたんですが、
たまに固まるので、他の方法で画面を切り替えたいんですけど、
何かいい方法ってありますか。
0284デフォルトの名無しさん
2008/10/31(金) 13:51:470285デフォルトの名無しさん
2008/10/31(金) 14:12:17設定は見直しましたが、問題無いはずです。
イベントハンドラはシリアルポートのプロパティにあったのですね。
ただ、これを使用しても、受信時にイベントは発生しませんでした。
対向機器は、専用ソフトでは動作しているので問題無いです。
ただ、Seristerという汎用のシリアルモニタを使用してみたところ、受信できませんでした。
http://www.vector.co.jp/soft/win95/hardware/se423507.html
0286281-285
2008/10/31(金) 14:33:24自分の中でいろいろ混乱しているようなので、一度整理してきます。
0287デフォルトの名無しさん
2008/10/31(金) 14:38:19ってVB2008でも使える?
0288デフォルトの名無しさん
2008/10/31(金) 15:09:57この空きスペースをなくし、行数ぴったりの高さにしたいのですが、
何かいい方法はないでしょうか?
0289デフォルトの名無しさん
2008/10/31(金) 15:15:43VB2008 Express EditionでCompoWay/Fというプロトコルを使って通信したいのですが、受信イベント(DataReceived)が発生しません。
このようなプロトコルに対応するには、どのようにしたらよいのでしょうか?
付属の専用ソフトでは受信しているので、機器の問題では無いと思われます。
また、ハイパーターミナルでも受信は出来ませんでした。
よろしくお願いいたします。
CompoWay/F 通信仕様
http://www.parkingsale.com/a_image/accessory7/SCHE-720D-1_200506.pdf
通信ソフト参考URL
http://www.contec.co.jp/product/device/serial/application.html
専用ソフトとやらが何やってるか
モニタ使って観察してみれば違いがわかるんじゃないの?
仕事でやってるんなら機器開発元に聞くとか
0291デフォルトの名無しさん
2008/10/31(金) 16:40:54MonthCalenderコントロールを使用してデータのある日付に
印を付けることって出来るのでしょうか?
プロパティを見る限りでは、当日の○印の色設定とかは見当たりますが・・・
0292283
2008/10/31(金) 17:01:11で、VBだけじゃ厳しそうだったんで、Win32APIをみながら↓のように作ってみました。
他に良い方法あったら教えてください。
Private Sub GetNextWindow()
Dim titles As New ArrayList
For Each p As Process In Process.GetProcesses()
If Not p.MainWindowHandle.Equals(IntPtr.Zero) Then
titles.Add(p.MainWindowTitle)
End If
Next
Dim hwnd As Integer = 0
hwnd = GetForegroundWindow()
hwnd = getNextWindow(hwnd, 2)
While true
Dim sb As New StringBuilder(&H1000)
If GetWindowText(hwnd, sb, &H1000) <> 0 Then
If titles.Contains(sb.ToString()) Then
AppActivate(sb.ToString())
Return
End If
End If
hwnd = getNextWindow(hwnd, 2)
If hwnd = 0 Then
Return
End If
End While
End Sub
0293デフォルトの名無しさん
2008/10/31(金) 17:54:330294デフォルトの名無しさん
2008/11/01(土) 09:38:07下のものをデバッグしたら
「縮小変換しないで呼び出される'Show'がないためオーバーロードの解決に失敗しました」
というエラーが出たのですが
どうやったら解決できますか
「→」のところでエラーが出てます
よろしくお願いします
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim Score As Integer
If Integer.TryParse(TextBox1.Text, Score) Then
If Score >= 70 OrElse (Score >= 50 AndAlso _
→MessageBox.Show("レポート提出済?", _
MessageBoxButtons.YesNo, MessageBoxIcon.Question) = _
DialogResult.Yes) Then
MessageBox.Show("合格", "点数", _
MessageBoxButtons.OK, MessageBoxIcon.Information)
Else
MessageBox.Show("不合格", "点数", MessageBoxButtons.OK, _
MessageBoxIcon.Error)
End If
Else
→MessageBox.Show("整数を入力してください", _
MessageBoxButtons.OK, MessageBoxIcon.Error)
End If
End Sub
0295デフォルトの名無しさん
2008/11/01(土) 10:20:470296デフォルトの名無しさん
2008/11/01(土) 17:18:43ヤフオクの自動で出品するものを作っているけど最後の最後がわかりません
HTMLでは
<input onClick="Ya.submit(document.auction, 'http://edit8.auctions.yahoo.co.jp/jp/config/submit');disabledSubmit(document.auction);" type="button" value="利用規約とガイドラインに同意して出品する">
と書いてあり、このボタンを押して終了だけどさっぱりわかりません
どう書けばいいの?
0297デフォルトの名無しさん
2008/11/01(土) 17:33:40なにをしたいのかさっぱりわからないです
0298デフォルトの名無しさん
2008/11/01(土) 18:08:43ボタンを押すようにするソースがわからないです
onClickのイベントを実行すればいいと思うけどどう書けば実行されるのかさっぱりわからないです
0299デフォルトの名無しさん
2008/11/01(土) 22:55:14GetElementByIdとかで対象のエレメント探してClickメソッドで実行出来ると思う。
0301デフォルトの名無しさん
2008/11/02(日) 00:21:25じゃあGetElementsByTagName 使えばいいんじゃないのかな。
ボタンなんてのは画面内で大抵数が決まっているだろうから、2つめとか3つめとかで取得すればいいと思う。
それが嫌ならonClick属性の内容を見てみればある程度特定出来ると思うけど。
0302デフォルトの名無しさん
2008/11/02(日) 00:50:48HttpWebRequest で Post する、って手もあるな。
0303デフォルトの名無しさん
2008/11/02(日) 01:45:352chで質問してソフト作ったらそのソフトを売るつもりだろうw?
そんなの簡単に出来るけどおしえねぇーw
0304デフォルトの名無しさん
2008/11/02(日) 01:51:58ヤフオク大介っていう超便利なソフトが・・・
0305296
2008/11/02(日) 10:37:36>>301>>302
昨夜ヒントを元に調べながらやってみたけどエラーばかり・・・
もうしばらく奮闘してみます
>>303
顧客・販売データをBDで管理しているので市販ソフトでは対応できないのだよ
自分のスキルでは売れるものなんて作れない
なので今はo... rzなってる
0306296
2008/11/02(日) 11:19:19某サイトからのぱくりだけど
For Each x In IE.Document.Forms(0).All
If TypeName(x) = "HTMLInputElementClass" Then
If x.value = "利用規約とガイドラインに同意して出品する" Then
Call x.Click()
Exit For
End If
End If
Next
でなんかできたっぽい
0307デフォルトの名無しさん
2008/11/02(日) 13:27:21ちょっと質問なんですけどFlashで作られた画面上に特定の項目を入力し、
Flash内のボタンをクリックする
なんて事は出来ますか?
お気に入りのサイトがFlashで作られていてログインとかもFlashなんです。
でこれも何とか自動化出来ない物かと思ってます。
0308デフォルトの名無しさん
2008/11/02(日) 14:55:57Dim a As Byte = 15
Dim b As Byte = 32
Dim c As Integer
c = a * b
のようにするとデバッグ時にオーバーフローエラーが出ます。
が、
・a がByte型で b はSByte型
のようにすると問題なく通ります。
なぜこのような違いが出てしまうのでしょうか。
0309デフォルトの名無しさん
2008/11/02(日) 15:01:57MSDNライブラリの「演算子の結果のデータ型」を参照。
C#はC#で微妙にルールが違うから要注意
0310308
2008/11/02(日) 15:18:37a*bをByte型で計算する→計算結果をInteger型に変換してcに入れる
a*b=15*32=480だから、乗算した段階で溢れてエラー
SByteとByteの場合
a*bをShort型で計算する→計算結果をInteger型に変換してcに入れる
Short型だから溢れない。
ということですか。
ありがとうございました。
0311デフォルトの名無しさん
2008/11/02(日) 16:39:07.NET2005のコンパイルって以前のバージョンの様にデバッグコンパイルと
リリースコンパイルをコンボボックスで選択する形式ではなく、デバッグ実行かビルドかで
Debug/Releaseを分けてるんでしょうか?
0312デフォルトの名無しさん
2008/11/02(日) 16:44:02Standard版以上ならその部分は切り替えができる。
0313デフォルトの名無しさん
2008/11/02(日) 16:50:330314デフォルトの名無しさん
2008/11/02(日) 16:54:43レスありがとうございます
>>313
Express版なんですが、どこで切り替えができるのか教えて頂けないでしょうか?
このままでも困るわけではないのですが、どうも違和感が…
0315デフォルトの名無しさん
2008/11/02(日) 16:55:230316デフォルトの名無しさん
2008/11/02(日) 16:59:010317デフォルトの名無しさん
2008/11/03(月) 13:40:35取り扱いが楽ですので・・・
でつまらない疑問なんですが、Foreachでループをするときに、
ループ内でそのオブジェクトが何番目かを知りたいのですが、
添え字をつかって従来通りForでCount -1 まで回すか
別途カウンタの変数を用意して、インクリメントしていくしか方法はないのでしょうか?
0318デフォルトの名無しさん
2008/11/03(月) 13:51:15純粋に方法論ということならIndexOfを使うとか、Listに登録するオブジェクト自身に
リスト内のIndexを持たせるとかもありそうだけど、普通に考えれば
ループ内でIndexを使うのにあえて頑なにFor Eachを使うメリットが分からない。
0319デフォルトの名無しさん
2008/11/03(月) 13:56:21Dictionaryの順番はほとんど無意味だから数えない方がいいよ
0320317
2008/11/03(月) 18:53:43参考になりました
0321デフォルトの名無しさん
2008/11/04(火) 08:26:12VB2008 Express Editionでなんとか動く物を作ってみました。
さて、その先、配布ってどうすればいいんですか?
やり方もわからんDQNです。
そもそも、Express Editionで配布って可能なんですか?
0322デフォルトの名無しさん
2008/11/04(火) 09:47:42製品版を買ってください
0323デフォルトの名無しさん
2008/11/04(火) 11:55:14確かに FAQ すら読まない DQN だ。
ttp://www.microsoft.com/japan/msdn/vstudio/express/faq/2008/default.aspx
でもだからって
>>322
ウソはいくない。
0324デフォルトの名無しさん
2008/11/04(火) 13:39:35だめです。
どこを読めば良いのかわかりません。orz
0325デフォルトの名無しさん
2008/11/04(火) 13:47:450326デフォルトの名無しさん
2008/11/04(火) 16:08:01VisualBasic 2008 ExpressEditionで下記URLのシリアルポート通信プログラムを作ってみたのですが、DataReceivedイベントが発生しません。
http://www.geocities.jp/hatanero/rs232c5.html
ポート設定は合わせましたし、ハイパーターミナルにて受信することを確認しているのでケーブル等の問題ではありません。
何か他に必要なことがありましたら、教えてください。
よろしくお願いします。
0327デフォルトの名無しさん
2008/11/04(火) 17:15:27シリアルポートの受信イベントが何をやっても発生しません。
http://msdn.microsoft.com/ja-jp/library/cc720852.aspx
からサンプルプログラムを実行しても、動きませんでした。
SerialPort1のプロパティは見ました。
この場合、後は何を見ればよいのでしょうか?
よろしくお願いします。
0330デフォルトの名無しさん
2008/11/04(火) 20:01:170331デフォルトの名無しさん
2008/11/04(火) 20:30:36Private Sub Button1_Clickなんとかかんとか
Dim Yakuyear() As Integer = New Integer() {}
Dim Yakuage() As Integer = New Integer() {25, 42, 61}
Dim Birthyear As Integer
Dim Yakukind() As String = New String() {"前厄", "本厄", "後厄"}
If Integer.TryParse(TextBox1.Text, Birthyear) Then
For i As Integer = 0 To 2
Yakuyear(i) = Birthyear + Yakuage(i) - 1
For j As Integer = 0 To 2
ListBox1.Items.Add(Yakukind(i) & "…" & (Yakuyear(i) - 1) & "年")
Next
Next
Else
ListBox1.Items.Add("error")
End If
End Sub
デバッグしてみたらYakuyear(i) = Birthyear + Yakuage(i) - 1のところに
インデックスがリストサイズより小さくなるようにしてくださいみたいな表示が出ました
配列の要素数を予め決めてないので、配列のサイズより大きくはなっていないと思います
どう直したらいいんでしょうか
0332デフォルトの名無しさん
2008/11/04(火) 21:11:53あんた才能なさ過ぎるわ。
みたいな表示が〜、じゃなくてエラーメッセージのマンマだろ。
初心者だからって自分に言い訳してるかも知れんし、確かに初心者なら
その手のミスはありがちかもしれんが、普通の神経ならそんな恥ずかしいコードを
ろくに自分で悩んでデバッグもしないうちにこんなところに晒さない。
止めた方がいいと思うよマジで。
0333デフォルトの名無しさん
2008/11/04(火) 21:20:26いや、>>332が俺の言いたいこと全部言ってたからやっぱなんでもないわ
0334デフォルトの名無しさん
2008/11/04(火) 21:21:58俺が勉強始めた初日を彷彿とさせる
0335デフォルトの名無しさん
2008/11/04(火) 21:27:22ここって恥ずかしくて人に見せられないようなコードも気軽に晒せちゃう場所だと思うぜ
それを目にするのが嫌な人はいるだろうけど
そして>>331はいくらなんでもそんくらい自分で考えようぜ
0336デフォルトの名無しさん
2008/11/04(火) 21:28:050337デフォルトの名無しさん
2008/11/04(火) 21:36:42> 配列の要素数を予め決めてないので、配列のサイズより大きくはなっていないと思います
これがまんま答え
0338デフォルトの名無しさん
2008/11/04(火) 21:39:46一通りVBの配列に関する基礎情報を読んだ方が良いな。
0339デフォルトの名無しさん
2008/11/04(火) 21:40:47宿題か?
優しい俺様が教えてやろう
1行目のDim → Dim Yakuyear(2) As Integer
0340デフォルトの名無しさん
2008/11/04(火) 21:43:10嫌がらせキタ━━━━━━(゚∀゚)━━━━━━ !!
0341デフォルトの名無しさん
2008/11/04(火) 23:07:53お騒がせしてしまっているみたいで申し訳ないです
>>337さんを読んで
配列の要素数は予め決めていないといけないか
配列の要素数が少なすぎるかだろうというところまで辿り着きました
>>338さんの言うとおりぐぐってきます
申し訳ないです
0342デフォルトの名無しさん
2008/11/04(火) 23:14:440343デフォルトの名無しさん
2008/11/04(火) 23:18:310344デフォルトの名無しさん
2008/11/05(水) 00:02:29DetectUrls = true
の状態で作成されたリンクを開く方法教えてください
0345デフォルトの名無しさん
2008/11/05(水) 00:15:040346デフォルトの名無しさん
2008/11/05(水) 14:51:49で表示される、「グループ名またはユーザ名」のアイテムを、
どうやったら削除できるでしょうか? (簡易表示オフ)
現在、フォルダに対して下記のコードで、各々のユーザにアクセス権を設定しています。
http://msdn.microsoft.com/ja-jp/library/system.security.accesscontrol.filesecurity.aspx
AccessControlのRemoveAccessRuleメソッドで消せるかなと思ったのですが、
上記ではアクセス許可が「なし」になるだけでした。
アクセス許可を「なし」にしたいのではなく、「削除」して、アクセス権を設定する前の
状態に戻したいのですが、どうすばできるでしょうか
0347デフォルトの名無しさん
2008/11/05(水) 15:00:57ありがとうございます
>>342さんの言うとおりでした
0348デフォルトの名無しさん
2008/11/05(水) 19:37:37前の状態、なんて保持してないだろ。
というわけで、親オブジェクトにあわせるとか、なんらかの設定が必要だと思われ。
0349デフォルトの名無しさん
2008/11/05(水) 22:52:120350デフォルトの名無しさん
2008/11/06(木) 01:20:46LinkClicked イベントのイベント ハンドラを作成し、コントロール内でクリックされたすべてのリンクを処理できます。
だってさ。
0351デフォルトの名無しさん
2008/11/06(木) 09:15:14そりゃぁ仕方ないと思うが・・・
0352デフォルトの名無しさん
2008/11/06(木) 11:09:22ありがとう。
対象のAccessControl.RemoveAccessRuleの2番目の引数に、FullControlを
指定したら消すことができました。
なんでこういう動きになったかよくわからないけど、
おそらく346で自分がやっていたことは、
EveryoneがフォルダXに対してRead権限とWrite権限を持っている状態で、
RemoveAccessRuleでWrite権限だけ削除して、「なぜまだ表示されてるの?」
と思っていたんだと思います。
当然まだRead権限が残っているから、表示されていた…のかな?
>アクセス許可が「なし」になるだけでした。
と346では言っていましたが、
おそらくセキュリティタブ→詳細設定→編集→アクセス許可エントリ
でないと見えないよう小さい権限が残っていたのかもしれません。
0353デフォルトの名無しさん
2008/11/06(木) 13:17:44モードごとにUserControlを作って切り替える方法が一般的でしょうか?
0354デフォルトの名無しさん
2008/11/06(木) 13:33:46俺はすごく小さい場合の案件除いて目的が大きく異なるなら分けて作ってる。
共通レイアウト用にベースのフォーム作って継承して使うとか、共通のインターフェイス使うとかで
とりあえずフォーム自体を分けて作ってる。
外からそこに呼び出しが必要なら外部に公開しているインターフェイス経由で呼び出すとかで共通化して対応
0355353
2008/11/06(木) 14:31:16切り替えの際は新しいフォームをShowして自分をCloseするのでいいんでしょうか?
これだとタスクバーが一瞬ちらつきますが、それはしょうがないですか?
0356デフォルトの名無しさん
2008/11/06(木) 14:40:35いくらでも方法はあると思うんだけど
例えば
表示切り替えしたい親のフォームにパネルをDockをFillで張り付けるとかして
そこに2つのフォームを外枠を消して突っ込むとか
で、2つをLoadだけすませておいてVisible切り替えるとか
ちなみにさっきのは1例なだけで、どうするかはコントロールの数とか制御の具合によりけりだと
こんなことやってるとこのスレの連中に何めんどくさいことやってるんだ
とかいわれそうなんだがw
0357353
2008/11/06(木) 15:02:06すいません、
>そこに2つのフォームを外枠を消して突っ込むとか
panel1.Controls.Add(form)
とすると「トップレベルのコントロールをコントロールに追加できません。」
というArgumentExceptionになるのですが、こうではないのでしょうか?
切り替えたい部分だけをUserControlにしておけばそれと同じことが
できるのですが、UserControlが多くなるとVisualStudioが重くなるんですよね…
そうでなければUserControlでいいのですが。
0358デフォルトの名無しさん
2008/11/06(木) 16:06:260359デフォルトの名無しさん
2008/11/06(木) 19:06:360360デフォルトの名無しさん
2008/11/06(木) 19:15:040361デフォルトの名無しさん
2008/11/06(木) 21:22:470362デフォルトの名無しさん
2008/11/06(木) 21:42:40(1)
Dim i as Integer
For i=0 to 10
(2)
For i as Integer to 10
って書くの、どちらが良いのでしょうか?
私は(2)のほうが、iが使用後に参照されない一時的なものになるので
ベターだと思うのですが。
0363デフォルトの名無しさん
2008/11/06(木) 21:46:060364デフォルトの名無しさん
2008/11/06(木) 21:50:32同じ名前のループ用の変数を何度も使う場合、例えば↓
(1)
Dim i as Integer
For i=0 to 10
Next
For i=0 to 15
Next
For i=0 to 100
Next
…
(2)
For i as Integer =0to 10
Next
For i as Integer =0to 15
Next
For i as Integer =0to 100
Next
…
の場合も(2)の方が良さげ?
0365デフォルトの名無しさん
2008/11/06(木) 21:51:32>>364の場合は混乱のもとになるので尚更
0366365
2008/11/06(木) 21:52:51(2)のほうがベター
0367デフォルトの名無しさん
2008/11/06(木) 21:54:03びっくりしたじゃないかw
0368364
2008/11/06(木) 22:02:20サンクス。気をつけます
0369デフォルトの名無しさん
2008/11/07(金) 09:47:38俺は変数はまとめて宣言するほうが良いって昔教わったから、
(1)のほうが良いと思ってた
0370デフォルトの名無しさん
2008/11/07(金) 09:54:000371デフォルトの名無しさん
2008/11/07(金) 09:54:190372353
2008/11/07(金) 10:07:54こんな感じでできました。ありがとうございます。
form.TopLevel = False
form.Visible = True
form.FormBorderStyle = FormBorderStyle.None
panel1.Controls.Add(form)
UserControlよりフォームを使うほうが単体でテスト実行できるし、
VSも重くならないしでよさそうですね。
とりあえずこれでやってみます。
0373デフォルトの名無しさん
2008/11/07(金) 10:52:36まとめて宣言するとついつい使い回してしまい、わかりにくくなりやすい
0374デフォルトの名無しさん
2008/11/07(金) 11:15:280375デフォルトの名無しさん
2008/11/07(金) 14:16:12無償版だと使えないのかな?
”インポート 'System.Data.Linq' で指定された名前空間または型が…”
といった警告が表示されて先にすすめません…
0376デフォルトの名無しさん
2008/11/07(金) 14:31:50System.Linq
0377375
2008/11/07(金) 14:44:23Imports System.Linq
<Table(Name:="Customers")> _
Public Class ...
このような記述をしたいのですが同じ警告で止まってしまいます。
目的は動的にmdbファイルを作成する事です。
情報の小出しになってしまい申し訳ありません。
0378デフォルトの名無しさん
2008/11/07(金) 14:51:28・System.Core.dll/System.Data.Linq.dllを参照できていない
つか詳しくは無いがLinq to SQLでテーブルの作成とかできたっけ?
0379375
2008/11/07(金) 14:56:42本当に助かります。
実は以下を見ながら実装をしております。
http://msdn.microsoft.com/ja-jp/library/bb399379.aspx
VBとあったの出来るのかな?と思ったのですがいかがでしょうか?
先ほどDVDからの再インストールをしてみましたが症状は変わりませんでした。
以上、よろしくお願いします。
0380375
2008/11/07(金) 15:02:05自己解決しました。
原因は"System.Data.Linq を参照せよ"の記述の見逃し。
ほんとおっちょこちょいで申し訳ないです…。
回答してくださった方、ありがとうございました。
0381デフォルトの名無しさん
2008/11/07(金) 15:24:10おっちょこちょいだな〜
0382デフォルトの名無しさん
2008/11/07(金) 16:44:48ネトゲのツール落としたらiniに記述あったんだけど
0383デフォルトの名無しさん
2008/11/07(金) 16:50:27作った奴に聞け。
多分スタートアップフォームのウインドウ左上のスクリーン座標だと思うが
0384デフォルトの名無しさん
2008/11/07(金) 16:51:50画面位置とかじゃね?
0385デフォルトの名無しさん
2008/11/07(金) 20:12:450386デフォルトの名無しさん
2008/11/07(金) 21:06:42代入加算演算子が使えないよね?
おかげで、例えばカスタムイベントなんか書くときに
式が長くなって面倒だし見難いしでイライラするんだけど、何かいい工夫ない?
ジェネリックメソッドで何とかしてみようと最初考えたんだが、
どういうわけか型パラメータの制約にデリゲートは指定できんないんだよねこれが。
0387デフォルトの名無しさん
2008/11/07(金) 21:29:140388デフォルトの名無しさん
2008/11/07(金) 22:03:58無理矢理ジェネリック拡張メソッドを書いてみた
<Extension> Sub [AddHandler](Of T As Class)(ByRef x As T, y As T)
Dim xx As [Delegate] = DirectCast(DirectCast(x, Object), [Delegate])
Dim yy As [Delegate] = DirectCast(DirectCast(y, Object), [Delegate])
x = DirectCast(DirectCast([Delegate].Combine(xx, yy), Object), T)
End Sub
' 使い方
Dim fn As Action = AddressOf Do1
fn.AddHandler(AddressOf Do2)
fn()
0389デフォルトの名無しさん
2008/11/07(金) 22:12:380390デフォルトの名無しさん
2008/11/07(金) 22:22:020391デフォルトの名無しさん
2008/11/07(金) 22:30:260392デフォルトの名無しさん
2008/11/07(金) 22:35:110393デフォルトの名無しさん
2008/11/07(金) 22:38:52これってVB9?
いずれにしてもやっぱり簡単で綺麗な方法はないんだよねやっぱり。。
>>391
例えばEventHandler(Of HogeChangedEventArgs)をCombineするコードを
書いてみれば言ってる意味がわかってもらえると思うよ。
ジュゲムジュゲムみたいなコードになるからw
これが物理的にどうしようもないことなら諦めもつくんだけど
C#だと同じコードがずっとシンプルに書けるから余計腹が立つんだよ。
0394デフォルトの名無しさん
2008/11/07(金) 22:41:390395デフォルトの名無しさん
2008/11/07(金) 23:33:000396デフォルトの名無しさん
2008/11/07(金) 23:37:560397デフォルトの名無しさん
2008/11/07(金) 23:39:050398デフォルトの名無しさん
2008/11/07(金) 23:41:150399デフォルトの名無しさん
2008/11/07(金) 23:46:520400デフォルトの名無しさん
2008/11/08(土) 00:02:050401デフォルトの名無しさん
2008/11/08(土) 01:04:33バグを生みにくいコーディングだから。
パフォーマンスに影響が出るかもしれないから。
あとなんかあるかな。
0402デフォルトの名無しさん
2008/11/08(土) 01:24:25宣言と使い終わったら時の開放処理が増えるわけだから
パフォーマンスは低下しそうなもんだが。
よっぽどじゃない限り影響なんてコンマ単位ですら出ないだろけど
0403デフォルトの名無しさん
2008/11/08(土) 01:33:00>>364のコードに限定すれば(2)でも実害はない。
でも普通のプログラマならたとえ実害がないことは認めても必要もないのに
(2)のように書きたいとは思わない。
理由は、変数のスコープは短いほど安全でミスを犯しにくく、ミスがあっても
発見しやすいから。
プログラマは変数が宣言されてからスコープを抜けて死ぬまで、
その変数に対してなされる操作に注意を払う必要がある。
注意を払う変数が1つならミスも起こりにくいかもしれないが、
スコープが長くなれば必然的に同時に意識する必要のある変数の数も増える。
人間は一般に多数のものに同時に注意を払うことは難しい。
こういうのはプログムを書いてるときのマインドのままだと理解できないかもしれない。
頭を他人のプログラムを読んでるときのマインドに切り替えて考える必要がある。
0404デフォルトの名無しさん
2008/11/08(土) 01:36:450405デフォルトの名無しさん
2008/11/08(土) 01:49:01(1)と(2)間違えてるよね?
>>402
>宣言と使い終わったら時の開放処理が増えるわけだから
逆。コンパイラが最適化しやすくなるため、むしろパフォーマンスがあがる可能性のほうが高い。
CPUのレジスタだけで処理が可能と判断されれば開放処理なんてコード吐かれないし。
これが i のような変数じゃなくて、オブジェクトだったら話は変わってくるかもしれんがな。
0406396
2008/11/08(土) 08:42:46ただ俺はぱっと見で
For i as Integer = 0 to 10って見ずらいんだよねw
0407デフォルトの名無しさん
2008/11/08(土) 11:04:54For i as Integer = 0 to 10
↓
For i = 0 to 10
でもおkになったりして
0408デフォルトの名無しさん
2008/11/08(土) 11:36:560409デフォルトの名無しさん
2008/11/08(土) 11:42:33型推論させるなら、For Dim i = 0 to 10かな
C#ならfor (var i = 0; i < 10; i++)と書ける
0410デフォルトの名無しさん
2008/11/08(土) 11:56:29VB.NETで急にC/C#風の文法を持ち込んだもんで構文的にしんどくなってる。
0411デフォルトの名無しさん
2008/11/08(土) 12:02:180412デフォルトの名無しさん
2008/11/08(土) 12:03:290413デフォルトの名無しさん
2008/11/08(土) 12:10:02私は
同じ意味の変数を何回も使うならまとめて最初に定義 (1)
いろんな意味のループを別々に使うならそのつど定義 (2)
してます。
0414デフォルトの名無しさん
2008/11/08(土) 12:12:43(1)だとどうなんだろう
0415デフォルトの名無しさん
2008/11/08(土) 12:12:58行指向の構文に{ }を持ち込むとRubyみたくなって見るに忍びない
0416デフォルトの名無しさん
2008/11/08(土) 14:25:55汚染米なぜ輸入された[独占]新事実��天下り�≠フ闇
農水天下り毒米輸入販売利権
http://jp.youtube.com/watch?v=5PC18chpBkU
194 名前:名無しさん@九周年[] 投稿日:2008/11/07(金) 00:38:36 ID:2D2Wa1dD0
>> 181
汚染米 混乱続く農水省 ずさん調査の実態
http://jp.youtube.com/watch?v=UHhpzbcRd1w
これで高い給料受け取ってるんだから笑える。
0417デフォルトの名無しさん
2008/11/08(土) 14:48:000418デフォルトの名無しさん
2008/11/08(土) 15:57:04次期バージョンではラムダ式の複数行記述が可能らしい。
寧ろLINQの方が言語仕様上アレだと思う。
0419デフォルトの名無しさん
2008/11/08(土) 16:06:43何十年前だw
0420デフォルトの名無しさん
2008/11/08(土) 16:55:29Dim y = Function(x)
:
End Function
式の途中にインラインで書くときはしんどいね。継続行記号の有無加減が微妙そうだ。
a = 1000 + Nantoka("abc", _
Function(x)
If x > 0 Then
Return x
Else
Return -x
End If
End Function _
) * 2
コロン使って1行に詰め込むのかな?
a = 1000 + Nantoka("abc", Function(x) : If x > 0 Then : Return x : Else : Return -x : End If : End Function) * 2
0421デフォルトの名無しさん
2008/11/08(土) 17:01:28正直、>>420みたいなの書くくらいなら普通にメソッド書いたほうがマシだと思う
0422デフォルトの名無しさん
2008/11/09(日) 03:03:02Form.Showで実装したいのですが以下を試してみてもうまくいきません
TopMost = True
Form.Activate
<DllImport("user32")> _
Public Shared Function SetForegroundWindow(ByVal hWnd As IntPtr) As Integer
End Function
DeactivateでSetForegroundWindow(Me.Handle)
何か方法はあるのでしょうか?
0423デフォルトの名無しさん
2008/11/09(日) 12:49:45Form2.Show(me)
じゃだめなのかね。
0424デフォルトの名無しさん
2008/11/09(日) 12:50:54Form1からForm2を起動するとき、
Form2.Show(me)
ってな感じで
0425デフォルトの名無しさん
2008/11/09(日) 12:58:32すべての手前に表示したいなら>>424+TopMost =Trueでいいと思う
でもあくまでモードレスなのでShowDialogとは違う
0426デフォルトの名無しさん
2008/11/09(日) 15:17:52こんな方法があったのですね。
目から鱗です。
>>425
ShowDialogの様な動作を期待していたのですが無理なようですね…
TopMostをTrueにしても呼び出し側を操作出来たりするのがShowDialogと違うところで…
マウスをハックしたりして似たような動作が出来ないかなぁとか思いつつも
技量が無くて途方にくれております。
お二方、ありがとうございました。
0427デフォルトの名無しさん
2008/11/09(日) 15:35:270428デフォルトの名無しさん
2008/11/09(日) 15:42:12>>424+呼び出し元ウィンドウのEnabled変えれば
ShowDialogと同じになんじゃね?
0429デフォルトの名無しさん
2008/11/09(日) 16:02:11所有側をenabledにしても非所有側は最小化はできてしまうと思う
0430デフォルトの名無しさん
2008/11/09(日) 17:37:41呼び出し元の処理を継続したいからです
>>428
ビンゴ!!
目的達成しました
ありがとうございました
0431デフォルトの名無しさん
2008/11/09(日) 22:02:41public class abc
private a as object
public sub aaa()
a = new object
a = new object
a = new object
sub end
class end
とした場合、
このクラスが使われなくなったら破棄されるのはわかります。
もしクラス使用中でだとNew3回分のメモリが確保されたままですか?
それとも二回目のNewで一回目Newの分のメモリは開放されますか?
0432デフォルトの名無しさん
2008/11/09(日) 22:14:040433デフォルトの名無しさん
2008/11/09(日) 22:29:32ガベージ任せでBitmapの開放処理入れなかったらメモリを無尽蔵に使われたことがある。
0434デフォルトの名無しさん
2008/11/09(日) 22:34:330435デフォルトの名無しさん
2008/11/09(日) 22:35:36マネージドなメモリが圧迫されない間はGCがあんまり働かないのは当然
0436デフォルトの名無しさん
2008/11/10(月) 00:37:34そんなコードレベルでのメモリの開放なんて意識する必要あるの?
正直俺はあまり意識していない。
だってマシンの性能がVb6の頃と比べてかなりあがってるもの。
0437デフォルトの名無しさん
2008/11/10(月) 00:50:55IDisposableのDisposeに気を配ってれば良し
0438デフォルトの名無しさん
2008/11/10(月) 01:26:14さすがに形上仕事の時にはコード書いてるけどさ。
あと、PCの性能が相当あがっているから
言語自体に色々な機能が追加(バージョンアップ)されたとしても
(例えばC#3.0→C#3.5とか)
別に使わなくても要件を満たす事が出来るのなら別に使わなくても良いと思うんだけど。
お前らはどう思う?
だってVB6が出てもう10年たっているのに過去の資産を見ればVB6の方が多いしね。
0439デフォルトの名無しさん
2008/11/10(月) 03:13:35使おうと思えば自由自在に使えるけどめんどくさいからor好きじゃないからorほとんど影響出ない事知ってるから使わない、なら
そうですか
と。
0440デフォルトの名無しさん
2008/11/10(月) 14:20:34VS Version:2008
ListViewコントロールの挿入マークで質問です。
下記のURLではListView.View プロパティを View.LargeIcon, View.SmallIcon またはView.Tile に設定する必要があると書かれていますが、
View.Detailでは表示できないのでしょうか?
現状VistaではView.Detailでも挿入マークを表示することができましたが、XPだと表示できません。
ttp://msdn.microsoft.com/ja-jp/library/system.windows.forms.listviewinsertionmark.aspx
0441デフォルトの名無しさん
2008/11/10(月) 15:45:28>>437
>>438
そんなことだからおまえらは虫ケラなんだよ。
0442デフォルトの名無しさん
2008/11/10(月) 16:41:190443デフォルトの名無しさん
2008/11/11(火) 01:27:06メソッドの上で
'''
と入力しても処理概要、引数、戻り値
についてのコメントを入力するエリアが表示されなくなってしまいました。
どうすれば直りますか?
※この事象が発生する前後にツール → オプション
で色々と弄った事が原因と思われます。
0444デフォルトの名無しさん
2008/11/11(火) 02:34:110445デフォルトの名無しさん
2008/11/11(火) 02:48:57あざーっす!!!!
0446デフォルトの名無しさん
2008/11/11(火) 17:53:50ttp://support.microsoft.com/kb/306285/ja
ここまではよかったんですが、既定のフォルダを指定させようと思いコールバック関数を使用して実装してみたのですが
うまくいきません。
ループバック関数はちゃんと呼ばれていますが、下記ロジックでおかしなところがありますでしょうか?
諸先輩方ご教授お願いします。
Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Integer, ByVal wMsg As Integer, ByVal wParam As Integer, ByRef lParam As String) As Integer
Public Function BFFCallback(ByVal hwnd As IntPtr, ByVal uMsg As UInt32, ByVal lParam As IntPtr, ByVal lpData As String) As Integer
'フォルダを指定のメッセージをダイアログへ送信
If uMsg = BFFM_INITIALIZED Then
Call SendMessage(hwnd, (&H400S + 102), True, lpData)
End If
End Function
0447デフォルトの名無しさん
2008/11/11(火) 18:12:200448デフォルトの名無しさん
2008/11/11(火) 18:26:15FolderBrowserDialogだとファイル選択できないんですよね・・・
FolderBrowserDialogでファイル選択をできるようにできればそれが一番いいんですが。。
0449デフォルトの名無しさん
2008/11/11(火) 18:26:44Dim int As Integer() = {92, 32, 12, 32}
arySum = Array.Sum(int)
見たいな感じのを希望してます!
0450デフォルトの名無しさん
2008/11/11(火) 18:36:42OpenFileDialog使えばいいじゃない
0451デフォルトの名無しさん
2008/11/11(火) 18:38:34Enumerable.Sum
>>446
SendMessageの第四引数はByVal
0452デフォルトの名無しさん
2008/11/11(火) 19:03:47OpenFileDialogだとフォルダ選択できないですよね・・・
OpenFileDialogでフォルダ選択をできるようにできればそれでもOKなんですが。
>>451
ありがとうございます。確認してみますー
0453デフォルトの名無しさん
2008/11/11(火) 19:14:20ありがとー
0454デフォルトの名無しさん
2008/11/11(火) 19:17:05フォルダまたはファイルのどちらも選択可能にしたいってこと?
不思議な需要だね。
0455デフォルトの名無しさん
2008/11/11(火) 19:28:42ファイルをD&Dするとそのファイルが再生リストに追加されて、
フォルダをD&Dするとそのファイル内にある再生可能なファイルが一括で再生リストに追加される、ってのがあったな。
0456デフォルトの名無しさん
2008/11/11(火) 19:32:48『有効ではないスレッド間の操作: コントロールが作成されたスレッド以外のスレッドからコントロール 'Label1' がアクセスされました。』
Form1.Label1やMe.Label1としても同じエラーが出ました。
ヘルプ等を見たのですが、Classとスレッドの違いがわかりません。
スレッドとは一体何なのでしょうか?
よろしくお願いします。
0457デフォルトの名無しさん
2008/11/11(火) 20:32:19それじゃあクラスとインスタンスの違いはわかりますか?
とりあえずスレッドからコントロール触るときはControl.Invoke使ってください
0458デフォルトの名無しさん
2008/11/12(水) 03:10:51Private TestDic As Dictionary(Of String,Integer)
という変数があり、
TestDic(【文字列】)=【数値】なら、プロパティの引数が【文字列】でも【数値】でも
同じ返り値Test(【数値】)を得たいのですが
Public ReadOnly Property Prop1(ByVal number As Integer) As String '※1
Get
If (何か条件式) = True Then
Return Test(num)
Else
Return ""
End If
End Get
End Property
Public ReadOnly Property Prop1(ByVal name As String) As String '※2
Get
Return Prop1(TestDic(name))
End Get
End Property
としても問題ないでしょうか。構文エラーは出ないようですが。
それとも、※2のGet内も※1と同様に
If (何か条件式) = True Then
Return Test(TestDic(name))
Else
Return ""
End If
のようにするべきなのでしょうか。
0459デフォルトの名無しさん
2008/11/12(水) 08:53:02その二つでどちらがいいかといえば上の方がいいけど
0460デフォルトの名無しさん
2008/11/12(水) 10:54:45問題はないだろうが、ただ
> If (何か条件式) = True Then
これは恥ずかしいからやめとけ。
条件式はBooleanを戻すのに、なんでまた
Booleanと比較する条件式にしたがるんだ。
0461デフォルトの名無しさん
2008/11/12(水) 10:57:420462デフォルトの名無しさん
2008/11/12(水) 13:35:330463デフォルトの名無しさん
2008/11/12(水) 13:40:560464デフォルトの名無しさん
2008/11/12(水) 17:23:210465デフォルトの名無しさん
2008/11/12(水) 17:32:340466デフォルトの名無しさん
2008/11/12(水) 18:59:08C#ではデフォルトプロパティ以外の引数付きプロパティが使えないため
>>464
ローカル変数は無理、フィールドならリフレクションを使って探しまわれば可能
0467デフォルトの名無しさん
2008/11/12(水) 20:51:57Buttonを継承したカスタムコントロールButtonBase(ButtonBase.dll)を作り
そのButtonBaseを継承してMyButton(MyButton.dll)というカスタムコントロールを作っています。
このMyButtonをフォームに貼り付けてコンパイルしますとButtonBaseのdllへの参照がない、とエラーになってしまいます。
参照を追加すればいいのですが、MyButtonを追加した時点でButtonBaseへの参照も自動的に追加されるように出来ないでしょうか?
環境はVB2008Exp、.NetFrameWork3.5、OSはXPです。
よろしくお願いします。
0468デフォルトの名無しさん
2008/11/12(水) 22:00:40http://dobon.net/vb/dotnet/datagridview/rowpostpaint.html
これで横線の色は変えられるけど縦線の色変える方法はないの?
0469デフォルトの名無しさん
2008/11/12(水) 23:06:50引数付きプロパティが単純にダメと思われてしまいそうだな。
出来ればそういうのはちゃんとコレクション作ってクラス設計して欲しいということらしい。
0470デフォルトの名無しさん
2008/11/12(水) 23:14:54(ベースクラスにおいて)継承後の型のインスタンスを表すキーワード(Meやthis)
はあっても継承後の型を表すキーワードってないんだろうか。
おかげで継承後の型のインスタンスを返すメソッドをベースクラスに書こうと思っても
書けやしない。(まあ特定の前提があればジェネリックを使ってできないこともないが。)
0471デフォルトの名無しさん
2008/11/12(水) 23:16:20個人手にはそんなものを禁止するガイドラインの方に問題があると思ってるけどな。
0472デフォルトの名無しさん
2008/11/12(水) 23:26:54…ちゃんとした設計とか今の俺にはできそうにないから
引数つきプロパティはデフォルト以外しばらく自重します。
0473デフォルトの名無しさん
2008/11/12(水) 23:42:140474デフォルトの名無しさん
2008/11/12(水) 23:44:56デフォルトの引数付きプロパティのみでうまいことやるって意味だよ
0475デフォルトの名無しさん
2008/11/12(水) 23:48:16わざわざ引数付プロパティと等価なことを、せっかく引数付プロパティが
サポートされているのに使わないで、わざわざそれだけのためにインデクサを持った型を別途作って
そのインスタンスを返すようにする、なんてことが上手い実装とは
俺には死んでも思えないんだが。
0476デフォルトの名無しさん
2008/11/12(水) 23:52:22…と俺は読んだんだが、間違ってるよな?
0477デフォルトの名無しさん
2008/11/12(水) 23:52:45VBラマとその他が相容れない部分だな
0478デフォルトの名無しさん
2008/11/12(水) 23:56:18「クラスライブラリ開発者向けのガイドライン」は、
外に出したときに馬鹿にされたくなければ従った方がいいよ
というような性格のもの
0479デフォルトの名無しさん
2008/11/12(水) 23:56:56言語は関係ないでしょ。
もっとも、インデクサ以外の引数付きプロパティなんてめってたに必要ないのも
確かなんだけどね。
ただ、あった方が便利な場合もないことはない。
0480デフォルトの名無しさん
2008/11/13(木) 00:07:010481デフォルトの名無しさん
2008/11/13(木) 00:28:10プロパティはいらない
0482デフォルトの名無しさん
2008/11/13(木) 00:32:110483デフォルトの名無しさん
2008/11/13(木) 01:54:27Private _Items As String()
Public Property Items(ByVal index As Integer) As String
Get
Return _Items(index)
End Get
Set(ByVal value As String)
_Items(index) = value
End Set
End Property
---------------------------------------------------
こういうコレクションを作っておいて、
Public Class ItemCollection
Inherits List(Of String)
End Class
こういうプロパティにしたほうが使いやすいってことなんだぜ
Private _Items As ItemCollection
Public ReadOnly Property Items() As ItemCollection
Get
Return _Items
End Get
End Property
0484デフォルトの名無しさん
2008/11/13(木) 03:33:44ガイドライン的にはコレクションを返すプロパティも非推奨。
コレクションを返す場合は普通の関数を使う。
0485デフォルトの名無しさん
2008/11/13(木) 03:41:50Public Function GetItems() As ItemCollection
にするべきだな
0486デフォルトの名無しさん
2008/11/13(木) 05:20:12キャストして使うじゃだめなの?
0487デフォルトの名無しさん
2008/11/13(木) 09:08:55え、マジで?
そんだったら標準のライブラリ全滅じゃん。
0488デフォルトの名無しさん
2008/11/13(木) 10:45:30標準のライブラリにありました?具体例挙げてみてちょうだい。
0489デフォルトの名無しさん
2008/11/13(木) 10:52:42コレクションじゃなくて配列ならガイドラインにあるけどな
> 内部配列を保持するには、プロパティによって使用されている配列への参照ではなく、
> 配列の詳細コピーを返す必要があるため、操作によって配列が返される場合はメソッドを使用します。
0490デフォルトの名無しさん
2008/11/13(木) 11:29:38配列とごっちゃになってた。ありがと。
0491デフォルトの名無しさん
2008/11/13(木) 11:33:18アメリカでVS2005を使って開発されたアプリを使っていますが、
当然のことながら、日本語は気持ちよく文字化けします。
日本語を表示させたい部分は一カ所だけで、TreeViewのとある
一部分だけです。
そこで、アメリカ人(当然ダブルバイト等一切考慮したこと無い)
にお願いして、日本語を表示できるようにしたいのです。
ググったら、ダブルバイト用のDLL等はフリーで転がっているようですが、
それだけ渡しても面倒くさがってやってくれない気がします。
一カ所だけなので、例えば
treenode.text = nkf(UTF-8,"日本語")
みたいな感じで出来ないものでしょうか?
因みにソースコードは貰えません。
よろしくお願いします。
0492デフォルトの名無しさん
2008/11/13(木) 11:41:45言語はなんだよ禿
0493デフォルトの名無しさん
2008/11/13(木) 12:09:330494デフォルトの名無しさん
2008/11/13(木) 12:39:01事って出来ますか?
0495デフォルトの名無しさん
2008/11/13(木) 12:47:35難読化しろ禿
0496デフォルトの名無しさん
2008/11/13(木) 13:21:15VB.NETです。
0497デフォルトの名無しさん
2008/11/13(木) 13:37:28自分で調べろ禿
0498デフォルトの名無しさん
2008/11/13(木) 14:49:12その化ける文字の入力元次第だな
0499デフォルトの名無しさん
2008/11/13(木) 17:08:320500デフォルトの名無しさん
2008/11/13(木) 17:34:23アプリケーションはサーバ(Linuxの箱)からデータを持ってきます。
アプリケーションとサーバ間の通信は、APIで行われていますが、
この仕様はわかりません。
>>499
ということは、Treeviewのフォントを、日本語のフォント(MS UI Gothicとか)に
変えて貰うといけそうですね。お願いしてみます。
ありがとうございます。
0501デフォルトの名無しさん
2008/11/13(木) 17:55:26ボタンを押したら指定したmp3ファイルを再生し、ラベルに文字を表示するというプログラムを作成しています。
自分のPC上では以下のようにすれば実行できるのですが、他の人のPC上ですと、フォルダを置く場所が違うと実行できません。
ちなみにプロジェクト名はaaaaa、音声ファイルはbbbbb.mp3、テキストファイルはccccc.txtです。
音声ファイルbbbbb.mp3とテキストファイルccccc.txtはプロジェクトaaaaaに置いています。
Dim FileName As String = "C:\Documents and Settings\A\My Documents\Visual Studio 2008\Projects\aaaaa\bbbbb.mp3"
Call mciSendString(String.Format("open ""{0}"" alias MySound", FileName), "", 0, 0)
Call mciSendString("play MySound", "", 0, 0)
Label1.Text = IO.File.ReadAllText("C:\Documents and Settings\A\My Documents\Visual Studio 2008\Projects\ccccc.txt", System.Text.Encoding.GetEncoding("Shift-JIS"))
これを他の人のPC上でも実行できるようにするにはどのようにしたらよいのでしょうか?
調べたところ、パスを使うとかなんとか・・・
よくわからないので、お解りになる方がおられましたらご指南よろしくお願い致します。
0502デフォルトの名無しさん
2008/11/13(木) 17:55:38よほど変なフォントを指定してなきゃ、だいたいフォントリンクしてて日本語は出るはず。
byte配列をデコードするときのEncoding選択のバグじゃね? 知らんけど
0503デフォルトの名無しさん
2008/11/13(木) 17:58:42はぁ? デスクトップフォルダのパス決め打ちなの? 馬鹿?
Environment.GetFolderPath使ってくだちゃいね。
0504デフォルトの名無しさん
2008/11/13(木) 17:59:55ASCIIオンリーだったりしてな。
0505デフォルトの名無しさん
2008/11/13(木) 18:11:40Label1.Text = IO.File.ReadAllText("C:\Documents and Settings\A\My Documents\Visual Studio 2008\Projects\ccccc.txt", System.Text.Encoding.GetEncoding("Shift-JIS"))
じゃなくて
Label1.Text = IO.File.ReadAllText("C:\Documents and Settings\A\My Documents\Visual Studio 2008\Projects\aaaaa\ccccc.txt", System.Text.Encoding.GetEncoding("Shift-JIS"))
でした。
>>503
回答ありがとうございます。馬鹿で大変申し訳ございません。
Environment.GetFolderPath使ってみまちゅ。
0506デフォルトの名無しさん
2008/11/13(木) 19:45:14残念ながらそれは馬鹿の一つ覚えと言うものだよ。
たしかにほとんどの場合そうなんだが、いつでもそうとは限らない。
引数で指定して取得したい値がそもそも「コレクション」という考え方に馴染む場合とかね。
具体例挙げろって言われても簡単なのは挙げられないけど、
例えば何らかのデバイスを抽象化したクラスがあって、そのデバイスのレジスタ的なものが
引数付きでアクセスする構造になってる場合とかね。
0507デフォルトの名無しさん
2008/11/13(木) 20:45:10プログレスバーが赤くなるんですけど、
.NETのProgressbarでバーを赤くするには
どうしたらいいですか?
0508デフォルトの名無しさん
2008/11/13(木) 21:01:49とらドラに出てくる あみちゃん みたいな女の子が良いです。
0509デフォルトの名無しさん
2008/11/13(木) 22:21:28起きないイベントは拾えません
0510デフォルトの名無しさん
2008/11/13(木) 22:29:370511デフォルトの名無しさん
2008/11/13(木) 22:30:55スレの流れ的を読まずに、いきなり反例でも書けとでもいうのか?
0512デフォルトの名無しさん
2008/11/13(木) 23:52:11どのような計算式で実現出来ますか?
フォームの角を引っ張ってリサイズした時に最初にフォームが表示された時の比率のまま拡大縮小出来るようにしたいのですが。
0513デフォルトの名無しさん
2008/11/14(金) 00:02:02private Size prevSize;
private override void OnShown(EvnetArgs e) { prevSize = Size; }
private override void OnResize(EventArgs e) {
if (!flag) {
flag = true;
if (prevSize.Width != Width) { Height = Width * (int)((double)prevSize.Height / prevSize.Width) }
else { Width = Height * (int)((double)prevSize.Width / prevSize.Height); }
prevSize = Size;
flag = false;
}
}
こんな感じか
ちゃんと動くかどうかは知らん
0514513
2008/11/14(金) 00:13:35Height = (int)((double)Width * prevSize.Height / prevSize.Width)
こうか。Width=の方も同様。
でもこれだと比率がちょっとづつ変わっちゃいそうだから、比率を持つフィールドを別に用意して
OnShownで先に計算してそのままのほうがいいな
0515デフォルトの名無しさん
2008/11/14(金) 00:22:420516デフォルトの名無しさん
2008/11/14(金) 00:25:150517デフォルトの名無しさん
2008/11/14(金) 00:44:17そもそもやろうとしていることに(不可能ではないにしろ)無理がある。
ウィンドウ枠やクライアント領域のアスペクトを固定することを考えるより、
ちょうどメディアプレーヤーのようにウィンドウ枠の中に固定された
アスペクトの表示領域があるUIの方が実装も簡単だしユーザーにもわかりやすくないか?
0518デフォルトの名無しさん
2008/11/14(金) 00:45:440519デフォルトの名無しさん
2008/11/14(金) 01:10:51良いのでしょうか?
・コンパイル時にEXEの中に外部dllを組み込み、生成物をEXE
ファイル一つにする。
※例えば、画像ファイルなどの場合にはリソースの中に組み込めば
実現出来たのですがdllでは不可能なのでしょうか
0520デフォルトの名無しさん
2008/11/14(金) 01:29:56Assembly.Load(Byte[])
あたりが使えると思う。
0521デフォルトの名無しさん
2008/11/14(金) 01:52:10ごめん。Assembly.Loadで外部DLLを読み込むんじゃなくて、
ソリューションエクスプローラー → 参照設定 の中で外部DLLを参照した状態で
ビルドをすると
1.EXE
2.(参照)DLL
がbin/Releaseに生成されるけど、この時に生成される2ファイルを一まとめにして
MIX.exe1ファイルにしたいのです。
何か良い方法はありますか?
0522デフォルトの名無しさん
2008/11/14(金) 01:57:50つまりスタティックリンク(すべて合体してひとつのファイルにする)したいの?
だったら俺はわからん
0523デフォルトの名無しさん
2008/11/14(金) 02:15:56まさにその通りです。
やっぱり出来ないのかなぁー
ようはやりたい事は、他人の作ったライブラリも含めて1つのEXEにまとめたいんです。
例えばEXE1ファイルに纏められたらデスクトップ上にコピーしてそのまま使えるけど、
EXE+(外部参照の)DLLだとデスクトップ上にDLLも
用意しておかないと動作させる事が出来ないし。
※GACにDLLを登録するとか、ショートカットを使って起動させるといった事がしたい
訳じゃないです。
0524デフォルトの名無しさん
2008/11/14(金) 02:18:00だからあえて引数Byte[]のやつが使えるんじゃないのと言っているのだよ。
EXEにDLL取り込むだけだったらリソースにしちゃえばいいでしょ。
あとはアセンブリとしてメモリからロード出来るんじゃない?
0525デフォルトの名無しさん
2008/11/14(金) 02:21:34>Assembly.Load(Byte[])
なるほど
Assembly.Load(外部DLLのパス)
ではなくあくまでAssembly.Load(Byte[])とする訳ですね。
何か参考になるサイトとかご存知でしたら教えて頂けると助かります。
0526デフォルトの名無しさん
2008/11/14(金) 02:41:06ただ、Byte配列渡してAssemblyが取得出来るんだから、使えそうかなと思った次第。
最悪、リソースにしたDLLをテンポラリに出力して、Assembly.LoadFileしちまうって手はありそうだがw
0527デフォルトの名無しさん
2008/11/14(金) 04:23:50vb.netからWEBブラウザに入力をするプログラムを作っているのですが
<input type="file" name="upfile" size="30">
□□□□□□□□ 参照
という項目については、どうやっても値を設定する事が出来ません。
setAttribute("value", "あいうえお")
一体なぜでしょうか?
0528デフォルトの名無しさん
2008/11/14(金) 06:02:030529デフォルトの名無しさん
2008/11/14(金) 08:46:19何かやる手立てはありませんでしょうか?
0530デフォルトの名無しさん
2008/11/14(金) 09:32:060531デフォルトの名無しさん
2008/11/14(金) 11:22:380532デフォルトの名無しさん
2008/11/14(金) 12:53:21POSTでデータを送信する:.NET Tips: C#, VB.NET, Visual Studio
#"multipart/form-data"でデータを送信する
http://dobon.net/vb/dotnet/internet/webrequestpost.html#multipart
0533デフォルトの名無しさん
2008/11/14(金) 13:31:14タスクバーのクラスってVBでいじれますか?
オーバーライドすれば簡単そうなんですが
0534デフォルトの名無しさん
2008/11/14(金) 13:32:500535デフォルトの名無しさん
2008/11/14(金) 13:59:03まずタスクバーはExplorerという、君が手を出せる
範囲外のアプリケーションで表示されていることを知っておこう。
0536デフォルトの名無しさん
2008/11/14(金) 15:02:36なぬ。VBじゃ許可されてないんですか?
タスクバーのアプリタブを入れ替えたり
IE以外のアプリをグループ化したりしたいんです。
0537デフォルトの名無しさん
2008/11/14(金) 15:07:250538デフォルトの名無しさん
2008/11/14(金) 15:14:590539デフォルトの名無しさん
2008/11/14(金) 16:37:230540デフォルトの名無しさん
2008/11/14(金) 17:12:31なんか知らん人がコントしとるw
VB初心者なので簡単な方法から試したいんですよ。
オーバーライドを少し知ってるだけなので
そこからやってみようかと。
別の方法があれば勉強してトライします
0541デフォルトの名無しさん
2008/11/14(金) 17:17:43機能を呼び出すんじゃなくて使う側がCOMサーバーになる必要があったような。
VBからは不可能ではないがいろいろ難しいよ。資料も少ないし。
0542デフォルトの名無しさん
2008/11/14(金) 17:59:31フォーム内のボタンを押すと選択されている行を示す
反転表示が消えてしまうのですが、常に選択されている
行がわかるようにするにはどうすればいいでしょうか?
0543デフォルトの名無しさん
2008/11/14(金) 18:36:57ListView.HideSelection
0544デフォルトの名無しさん
2008/11/14(金) 20:18:24うーん、良くあるデスクトップカスタマイズツールとかも別物かな
あれはOSに躍らされてるだけかしら
COMについて調べてみます
0545デフォルトの名無しさん
2008/11/14(金) 21:17:20>良くあるデスクトップカスタマイズツール
それ、レジストリいじる系のツールだろ
英語版のMSDNに載ってるはず。この辺は日本語化されてないから探すのめんどい。
ttp://msdn.microsoft.com/en-us/library/aa139672.aspx
0546デフォルトの名無しさん
2008/11/14(金) 22:31:03http://support.microsoft.com/kb/915589/ja
0547デフォルトの名無しさん
2008/11/14(金) 23:34:30I
0548デフォルトの名無しさん
2008/11/14(金) 23:35:06なんでもないんだ気にしないでくれ
0549デフォルトの名無しさん
2008/11/15(土) 00:20:500550デフォルトの名無しさん
2008/11/15(土) 01:30:10http://homepage1.nifty.com/kazubon/progdoc/tclock/taskbarhistory.html
こんなのありますけど、Vistaのクラスが書いてないですねえ・・・
MSDNでも情報すくな(´д`)
0551デフォルトの名無しさん
2008/11/15(土) 03:05:24もう自分で新しいタスクバー作る
0552デフォルトの名無しさん
2008/11/15(土) 03:12:470553デフォルトの名無しさん
2008/11/15(土) 08:26:29ただそのレベルの人に教えても無駄だから誰も教えないんじゃね。
クラスとかオーバーロードとか言ってる人には。
まずExplorer.exeのプロセスに潜りこむ方法。
・外部からプロセスのメモリにアクセスするか
・シェル拡張として内部に入るか
これの選択。
加えて
http://qwerty.s2.xrea.com/XC2CCCAB82FA5BFA5B9A5AFA5C8A5ECA5A4A4CEA5A2A5A4A5B3A5F3CEF3B5F3CAFDCBA1X.xhtml
(これはタスクトレイだがタスクバーにも通用する)のコードを理解する。
これでタスクボタンのアプリのウィンドウハンドルを列挙できる。
あとITaskBarListを操作するだけだ。それにはインターフェイスの定義をVB.NETで書かねばならない。これは簡単だな。
まあせいぜいリークしまくりのアプリでも作ってくれ
0554デフォルトの名無しさん
2008/11/15(土) 10:30:13おまいさんも微妙にわかってないようだが・・・
なんかそれっぽいキーワードを並べてるだけじゃん。
0555デフォルトの名無しさん
2008/11/15(土) 10:51:520557527
2008/11/15(土) 22:36:39( http://dobon.net/vb/dotnet/internet/webrequestpost.html#multipart )
私が思うにHTMLページのhidde項目の値も同時に送信しなければならないのかな?とは思うのですが
そのやり方が分かりません。
途中までIEに入力して来た値とファイルを同時にアップロードするにはどうすれば良いでしょうか?
【WEBページ】のイメージ
□□□□□□□□□□ 参照
[アップロード]ボタン
【エラー内容】
リモートサーバがエラーを返しました(417) Expectation Failed
【エラーの発生する部分のコード】
'サーバーからの応答を受信するためのWebResponseを取得
Dim res As System.Net.HttpWebResponse = CType(req.GetResponse(), System.Net.HttpWebResponse)
0558527
2008/11/15(土) 22:47:05ファイルの選択画面が起動させ、
VB.netからファイルの選択画面が起動したかどうかを判定し、
ファイルの選択ウィンドウが起動したら
1.ファイル名(N)
にアップロードしたファイルへのパスを入力し
2.開く(O)
ボタンをクリックする事により起動元であるIE上の
項目にファイルパスを入力させようかと思っているのですが、
VB.net(プログラムから)別ウィンドウの起動の有無を判定し、特定項目に
値を自動で入力するなんて事は可能でしょうか?
□□□□□□□□□□ 参照
↓
c:\test\test.mpg 参照
0559デフォルトの名無しさん
2008/11/15(土) 22:53:430560527
2008/11/15(土) 23:17:05パケットモニタつかってデータの送受信を調べるのはちょっと難しそうなので
何とか「ファイルを開く」ウィンドウをVB.netからファイル名を入力させたいと思います。
この場合にはAPIとかを使わなければFrameWorkだけでは出来ないのでしょうか?
0561デフォルトの名無しさん
2008/11/15(土) 23:29:22hidden項目というか、Formタグ内にあるやつ全部だろう。
その手のことをやろうとしたら、ある程度Webの仕組み、サーバー側のプログラムの勉強をする必要があるよ。
人に聞いて出来ましたレベルのコーディングでは手を出しちゃいけない。
サーバーに変なデータ送られたら大迷惑。
その辺は了承済みというなら何も言わないが・・・
>>560
で、上のは置いておいて入力をエミュレートしたいんだろうけど、
最初からファイル名の入力フォームにSendKeys.Sendでファイル名送っとけば出来ないか?
0562デフォルトの名無しさん
2008/11/15(土) 23:30:18○hidden項目というか、Formタグ内にあるINPUTタグのやつ全部だろう。
0563560
2008/11/16(日) 00:19:17レスありがとうございます。
> hidden項目というか、Formタグ内にあるやつ全部だろう。
> その手のことをやろうとしたら、ある程度Webの仕組み、サーバー側のプログラムの勉強をする必要があるよ。
> 人に聞いて出来ましたレベルのコーディングでは手を出しちゃいけない。
> サーバーに変なデータ送られたら大迷惑。
ちょっとこの方法は断念します。。。
> で、上のは置いておいて入力をエミュレートしたいんだろうけど、
> 最初からファイル名の入力フォームにSendKeys.Sendでファイル名送っとけば出来ないか?
おっしゃる通りです。
WEBページ上の「参照...」ボタンをクリックすると「ファイルの選択」ウィンドウが起動するので
WindowsAPIを使用してなんとか入力(ボタンのクリック)を行えないかとGoogleで色々調べまして、
プログラムから「ファイルの選択」のウィンドウハンドルを取得する事は出来たのですが、
次の項目にファイル名の入力+ボタンのクリックをする方法が分かりません。
1.ファイル名の入力
2.開く(O)
という事でここから変更させて下さい。
【Question】
SendMessageあたりを使用して特定のウィンドウに文字列を入力し、そのウィンドウ内の特定のボタンをクリックする。
にはどうすれば良いでしょうか?
※ウィンドウハンドルの取得方法は分かります。
以上 宜しくお願いします。
0564デフォルトの名無しさん
2008/11/16(日) 09:52:44> SendMessageあたりを使用して特定のウィンドウに文字列を入力し、
WM_SETTEXT
> そのウィンドウ内の特定のボタンをクリックする。
BM_CLICK
ウィンドウハンドルの取得方法がわかってる、ってのは大いに疑問。
そもそも、ウィンドウの種類に対する言及もないし。
0565563
2008/11/16(日) 10:12:21> ウィンドウハンドルの取得方法がわかってる、ってのは大いに疑問。
> そもそも、ウィンドウの種類に対する言及もないし。
ウィンドウの種類は、独自に作成した画面ではなく「ファイルの選択」ウィンドウです。
ウィンドウハンドルの取得は、 FindWindow を使用し取得する事が出来ました。
親ウィンドウのハンドルは取得出来るのですが、そのウィンドウ内にある特定のテキストボックスに
値をプログラムから入力する場合、ウィンドウ内にあるテキストボックス内のウィンドウハンドル
を取得するにはどうすれば良いのでしょうか?
0566デフォルトの名無しさん
2008/11/16(日) 10:16:55とりあえず、Spy++ でよーくウィンドウを確認して、子ウィンドウ取得系の API で。
0567デフォルトの名無しさん
2008/11/16(日) 10:19:45BHO? ActiveX コントロール? それとも、単に外部から操作?
0568563
2008/11/16(日) 10:29:21ぐぐってみます。
>>567
いつもの決まり切った操作を自動化したくて今のプログラムを作っています。
IEは忘れて下さいませ。
0569563
2008/11/16(日) 11:07:32親ウィンドウのウィンドウハンドルを取得して、そのウィンドウ内にあるボタンのウィンドウハンドルを取得しようと
次のコードを実行したところエラーが出てしまいます。
なぜこんなエラーが出てしまうのでしょうか?
API+VB.netに詳しい方ご教授願います。
【コード】
Declare Unicode Function FindWindowEx Lib "user32.dll" (ByVal hWnd As IntPtr, ByVal hwndChildAfter As IntPtr, ByVal lpszClass As [String], ByVal lpszWindow As [String]) As IntPtr
Dim BUTTON_NAME As String = "開く(&O)"
Dim hChild As Integer
hChild = FindWindowEx(lngHWnd, 0, vbNullString, BUTTON_NAME) '←ここでエラーが発生
【エラー内容】
DLL 'user32.dll' の 'FindWindowEx' というエントリ ポイントが見つかりません。
0570デフォルトの名無しさん
2008/11/16(日) 12:02:35そんな API はありません、って言われてんじゃん。
W か A か、きちんと指定しろよ。
0571563
2008/11/16(日) 12:21:29コードを次の様に訂正し、エラーは出なくなったのですが、
「ファイルの選択」ウィンドウ内の「保存(s)」ボタンのウィンドウハンドルを取得しようと次のコードを記述したのですが
ボタンのウィンドウハンドルが取得できません。(0が返って来ます。)
【コード】
Declare Function FindWindowEx Lib "user32.dll" Alias "FindWindowExA" (ByVal hwndParent As Integer, ByVal hwndChildAfter As Integer, ByVal lpszClass As String, ByVal lpszWindow As String) As Integer
’親ウィンドウハンドル
Dim iWindowHandle As Integer
’親ウィンドウに属するボタンのウィンドウハンドル
Dim iButtonHandle As Integer
’親ウィンドウに属するボタンの名前
Dim strButtonName As String = "保存(&S)"
iWindowHandle = 1234 '←ここまでのウィンドウハンドルの取得は正常です。)
iButtonHandle = FindWindowEx(lngHWnd, 0, vbNullString, strButtonName) '←ここで0が取得されてしまいます。
0572デフォルトの名無しさん
2008/11/16(日) 13:27:44ブラウザ内のコントロールって普通にハンドル持ったWin32のコントロールなんだっけそもそも?
0573デフォルトの名無しさん
2008/11/16(日) 13:36:190574デフォルトの名無しさん
2008/11/16(日) 13:37:58違うと思うよ。
っていうか、ブラウザ上の画面からそのダイアログをどうやって出すんだよだからw
0575デフォルトの名無しさん
2008/11/16(日) 14:01:16C で簡単なサンプル作ってみたけど、問題なく取れてる。
宣言に怪しげなところはないんで、ちゃんと親ウィンドウのウィンドウハンドルが取れてるか、
GetLastError() に何か返ってないか、とか調べてみたら?
0576デフォルトの名無しさん
2008/11/16(日) 14:24:42それはとっくに突破してます。
あくまで、ファイルの選択ウィンドウを操作したいのです。
・ボタンのクリック
・テキストボックスへのファイルパスの入力
(ウィンドウハンドルはSpy++で調べた物をそのまま利用)
までは出来てますが、ウィンドウ内にある特定のコントロール(テキストボックス)を調べる方法が
分かりません。。。
あーあ、まいった。
0577デフォルトの名無しさん
2008/11/16(日) 14:29:07失礼しました。ボタンのハンドルの取得は出来ました。
が、、、テキストボックス(ファイル名)項目のハンドルの取得方法が分かりません。
【コード】
Declare Function FindWindowEx Lib "user32.dll" Alias "FindWindowExA" (ByVal hwndParent As Integer, ByVal hwndChildAfter As Integer, ByVal lpszClass As String, ByVal lpszWindow As String) As Integer
’親ウィンドウハンドル
Dim iWindowHandle As Integer
'ファイル名(N)のテキストボックスのウィンドウハンドル
Dim iFileNameHandle As Integer
iFileNameHandle = FindWindowEx(iWindowHandle, 0, "Edit", vbNullString) '←ここの結果が 0 になる。
0578デフォルトの名無しさん
2008/11/16(日) 14:35:530579デフォルトの名無しさん
2008/11/16(日) 14:40:27VB.net は Integer ですよ。
VB6.0まで Long はね。
分かったか?ハゲ?
0580デフォルトの名無しさん
2008/11/16(日) 14:46:110581デフォルトの名無しさん
2008/11/16(日) 14:51:420582デフォルトの名無しさん
2008/11/16(日) 14:52:48これはひどいVB脳ですね
0583デフォルトの名無しさん
2008/11/16(日) 14:56:38って変数名も汚物だな
0584デフォルトの名無しさん
2008/11/16(日) 15:37:54ヒント
ハンガリアン
0585577
2008/11/16(日) 15:42:49教えて下さいな。
iFileNameHandle = FindWindowEx(iWindowHandle, 0, "Edit", vbNullString) '←ここの結果が 0 になる。
Spy++で検索したらファイル名の入力欄のテキストボックスは ComboBox ではなく Edit でした。
だから↑の様にコードを書いているのにコントロールのウィンドウハンドルが取得出来ないのはなでしょうか?
マジで助けてぇ〜〜
0586デフォルトの名無しさん
2008/11/16(日) 16:33:46EditじゃなくてComboBoxじゃないのか?
それはともかく、この場合GetDlgItemを使ったほうが簡単かもしれんよ。
まあWin32に詳しくないんで自信はないけど。
ちなみに↓は以前SaveFileDialogをカスタマイズするときに参考にしたものだけど、
これがヒントになるかもね。目的はまったく違うみたいだけど。
http://msdn.microsoft.com/en-us/library/ms996463.aspx
0587507
2008/11/16(日) 16:36:58華麗にスルーされてたけど・・・orz
0588デフォルトの名無しさん
2008/11/16(日) 16:40:100589561
2008/11/16(日) 20:08:48WebBrowserコントロールからエレメント取得してもファイル名をセット出来ないからって理由だろうけど、
コモンダイアログに文字列送るのと、ファイル名入力欄に文字列送るのに違いはあるか?
入力欄にフォーカス移して、SendKeys.Sendするだけで済むんじゃない?って話。
コモンダイアログを使った方法だと、ダイアログ出てる状態だとメインのスレッドは停止してないか?
監視スレッドでも作るか?いろいろ面倒だと思うぞ。
てか、俺はJavaScriptのAlertに応答するのにスレッドを作って押してた。
0590デフォルトの名無しさん
2008/11/16(日) 21:03:19それが出来ないから(ダイアログをAPIを操作してファイル名を選択しようとしています。)
※Input type=file は、プログラムから入力不可
0591デフォルトの名無しさん
2008/11/16(日) 21:26:03For Each item As HtmlElement In WebBrowser1.Document.GetElementsByTagName("INPUT")
If item.Name = "Upload" Then ' ←特定する方法は自分で考えること
item.Focus()
SendKeys.Send("TEST")
End If
Next
0592590
2008/11/16(日) 21:38:46以外な落とし穴がありましたね。。。
0594590
2008/11/16(日) 21:44:45態々APIなんて使わなくても実現出切るだなんて。。。
まぁ、APIの勉強になって良かった!!
と自分を励ましてみます。
>>591さん
ありがとう。
0595デフォルトの名無しさん
2008/11/17(月) 13:23:04If item.Name = "Upload" Then
item.InnerText = "TEST"
End If
0596デフォルトの名無しさん
2008/11/17(月) 20:15:10突っ込んでいいのか?
まず、<INPUT type="file" />は、セキュリティ上、中身を変更出来ない。初期値も持てない。
中身を変更出来ないとは言っても要はJavaScript等からのDOM経由で出来ないという事。
だから今回のようにSendMessageとかで出来ないか?っていうのが話の前提。
という事でまずレスを全く読んでないハズ。
で、item.InnerText = "TEST"なんてのはもろDOMなので出来るわけがない。
さらに<INPUT>タグは、タグ内で完結するタイプなのでInnerTextを持たない。
まあ、レス読んでなきゃ対象がINPUTタグってのもわかってないんだろうけど。
0597デフォルトの名無しさん
2008/11/17(月) 20:27:190598デフォルトの名無しさん
2008/11/17(月) 22:47:18バカ発見WWW
0599デフォルトの名無しさん
2008/11/18(火) 00:50:12現在、VB2005でWindowsFormにDataGridViewを配置したプログラムを書いているのですが
ツールボックスからDataGridViewをFormにドラッグし、各カラムの名称等をプロパティ画面にて設定しただけで
なのですが、DataGridView上にカラム以外に空の1行が存在しています。
DataTable.DataSourceに何もバンドしていない状態なのになぜこの様な現象が
起こってしまうのでしょうか?
※一度DataTableとDataGridViewをバインドしDataTable.Clear() / DataTable.AcceptChange() を呼び出す
とForm上に貼り付けたDataGridViewの空行は削除されます。
0600デフォルトの名無しさん
2008/11/18(火) 01:01:050601デフォルトの名無しさん
2008/11/18(火) 01:14:35解決しました。ありがとうございます^^;
0602デフォルトの名無しさん
2008/11/18(火) 15:10:01ワードファイルを表示させようとし、
WebBrowser.Navigate(FileName)
というふうにしているのですが。。。
WebBrowserの中ではなく、
別ウィンドウでWordのアプリが起動して、
そこにファイルを開いてしまいます。
フォーム内に表示させたいのですが、
どうすればいのでしょうか?
0603デフォルトの名無しさん
2008/11/18(火) 19:51:59CABプロジェクトでデスクトップにショートカットを作成しました。
このショートカットにアイコンを割り当てたいのですがどうしたら良いのでしょうか。
セットアッププロジェクトで上記の設定をした場合、プロパティにiconがあったのですがCABプロジェクトでは無い様なのです。
可能であれば設定方法を教えていただきたいです。
0604デフォルトの名無しさん
2008/11/18(火) 20:02:10基本無理。
0605デフォルトの名無しさん
2008/11/18(火) 21:09:440606デフォルトの名無しさん
2008/11/18(火) 23:11:06sortメソッドを使ってソートをかけることはできますか?
0607デフォルトの名無しさん
2008/11/18(火) 23:12:340608デフォルトの名無しさん
2008/11/19(水) 00:00:55>DataGridView上にカラム以外に空の1行が存在しています。
これを読み解いた君は凄いな
0609デフォルトの名無しさん
2008/11/19(水) 00:48:54感謝してます
0610デフォルトの名無しさん
2008/11/19(水) 00:59:43現在構造体に持たせている値をクラスに持たせて、Arraylistにはそのインスタンスを持たせるということでいいんでしょうか?
ありがとうございました。
0611デフォルトの名無しさん
2008/11/19(水) 01:14:20なんか勘違いしてそうな気がする・・・
MSDNのArrayList.Sort メソッド (IComparer) を見ればサンプルがあるぞ。
0612デフォルトの名無しさん
2008/11/19(水) 18:36:22使用しているOSがVistaの場合は、 ユーザ\パブリック
使用しているOSがXPの場合は, Documents and Settings\All Users
を取得するようにさせたいのですが、
どのようなコードになるのでしょうか?
御教授御願い致します
0613612
2008/11/19(水) 18:56:42Environment.GetEnvironmentVariable("ALLUSERSPROFILE")
で取得できる事が解りました。
VISTAのユーザ\パブリックを取得する方法が解りません。
宜しく御願いします。
0614デフォルトの名無しさん
2008/11/19(水) 20:49:03まんまで取れたと思う
System.Environment.GetEnvironmentVariable("PUBLIC")
0615デフォルトの名無しさん
2008/11/19(水) 21:07:050616デフォルトの名無しさん
2008/11/19(水) 21:18:22richtextboxで、リンクをクリックした後、そのリンクのURLをブラウザで開きたいのですが、
方法がよくわかりません。どなたかご教授願います……。
0617デフォルトの名無しさん
2008/11/19(水) 21:33:340618デフォルトの名無しさん
2008/11/19(水) 21:37:03richtextboxで、リンクをクリックした後、そのリンクのURLをブラウザで開きたいのですが、
方法がよくわかりません。どなたかご教示願います……。
0619デフォルトの名無しさん
2008/11/19(水) 21:43:180620デフォルトの名無しさん
2008/11/19(水) 21:49:14ありがとうございます、ググってみます。
なぜか2回書き込んでるしorz 申し訳ないです
0621デフォルトの名無しさん
2008/11/19(水) 22:28:300622デフォルトの名無しさん
2008/11/19(水) 22:48:460623デフォルトの名無しさん
2008/11/19(水) 22:57:180624サガット
2008/11/20(木) 00:40:06現在WindowsForm上にラジオボタン(2つ)とテキストボックス(1つ)があります。
そしてRadioButton2を一度クリックし、Shift + Tabを押した時にRadioButton1に
フォーカスを当てたいのですがなぜかうまくいきません。(勿論TabIndexも1・2・3と振り、TabStopもTrueにしてます。
そこでRadioButton2にフォーカスがある状態で Shit + Tabが押された場合には、強制的にRadioButton1に
フォーカスを当てたいと考えているのですが、KeyDownイベントの中でShit + Tabが押された
事を判定するにはどうすれば良いでしょうか?
(そのWindowsFormはちょっと特殊なので、真に勝手なのですが Shift + Tab の判定方法をご教授下さい。)
○RadioButton1
○RadioButton2
□□□□□□
※RadioButtonのKeyDownイベントの中で次のコードを記述しましたが、イベントの中(ファンクション)
では、e.KeyCodeは常にShiftしか判定されません。。。
If e.Shift = True And e.KeyCode = Keys.Tab Then
MessageBox.Show("出た")
End If
0625デフォルトの名無しさん
2008/11/20(木) 01:10:08KeyDownじゃなくてPreviewKeyDownイベントを使う
'Private Sub RadioButton2_PreviewKeyDown( 略
If e.Shift And e.KeyCode = Keys.Tab Then
Me.RadioButton1.Select()
e.IsInputKey = True
End If
'End Sub
0626デフォルトの名無しさん
2008/11/20(木) 01:17:59□ + □ = □
□はtextbox
+はラベル
=はボタン
これはどうやって書けばいいですか?
0627デフォルトの名無しさん
2008/11/20(木) 01:23:01ちなみにVB2005です
ボタンダブクリした後
Dim x As Decimal
Dim y As Decimal
Dim z As Decimal
Dim rezult As Decimal
TextBox1.Text = x
TextBox2.Text = y
TextBox3.Text = z
rezult = (x + y)
TextBox3.Text = rezult
と打ち込んでもエラーは出ないのですが
足し算できません><
0628デフォルトの名無しさん
2008/11/20(木) 01:28:41>TextBox1.Text = x
って、TextBox1のTextをxに変えるって意味な。
変数xにTextBox1のTextに入ってるものを代入するなら右辺と左辺が逆だ。
0631デフォルトの名無しさん
2008/11/20(木) 01:41:44ありがとうございます。でもまだ解決してないです・・・
明日簡単なVBのプログラムを書かせるらしい試験がありますが間に合うのか。。
0632デフォルトの名無しさん
2008/11/20(木) 01:44:580633デフォルトの名無しさん
2008/11/20(木) 01:47:57始めなに言ってるかわからなかった^p^
=の前後が逆だったんですね
0634デフォルトの名無しさん
2008/11/20(木) 02:01:03さんくす^^^^^^^^
0635デフォルトの名無しさん
2008/11/20(木) 08:34:560636デフォルトの名無しさん
2008/11/20(木) 22:46:45ありがとうございました><
0637デフォルトの名無しさん
2008/11/21(金) 01:39:54バージョン情報ダイアログ ShellAbout
はどのように読み込ませればいいのでしょうか?
0638デフォルトの名無しさん
2008/11/21(金) 08:12:250639デフォルトの名無しさん
2008/11/21(金) 20:38:12でもダイアログではなくフォームとして出てくる…
0640デフォルトの名無しさん
2008/11/21(金) 21:26:21よくみかけるんだけど有名人?
0641デフォルトの名無しさん
2008/11/21(金) 21:48:39うん
0642デフォルトの名無しさん
2008/11/22(土) 02:55:58If 条件式 Then
処理いろいろ
Return ○○
Else
Return C 'C:定数
End If
End Function
と
Function test(〜〜) as 〜〜
If Not 条件式 Then Return C
処理いろいろ
Return ○○
End Function
どっちの方が良いコードなのでしょう。
0643デフォルトの名無しさん
2008/11/22(土) 06:18:420644デフォルトの名無しさん
2008/11/22(土) 07:45:13on errorのほうはすべてのエラーを感知してしまう
という答えであってますでしょうか
0645デフォルトの名無しさん
2008/11/22(土) 08:10:46違います
0646デフォルトの名無しさん
2008/11/22(土) 09:26:140647デフォルトの名無しさん
2008/11/22(土) 09:40:09一番大きいのは Finally ですね。あと、トラップできるのが例外なのかエラーなのかの違い。
0648デフォルトの名無しさん
2008/11/22(土) 10:05:05On Errorは過去の負の遺産だから不要
0649デフォルトの名無しさん
2008/11/22(土) 10:38:08というのはあっているのではないのでしょうか?
そしてtryのほうは感知するエラーを選べるのではないでしょうか?
0650デフォルトの名無しさん
2008/11/22(土) 10:43:53昔のVBでいうエラーとは全く違うもの
新規には構造化例外(Try-Catch-Finally,Throw)だけ使ってればいい
0651デフォルトの名無しさん
2008/11/22(土) 10:45:28過去のソースと互換以外にGo Error系を使う理由はない。
0652デフォルトの名無しさん
2008/11/22(土) 10:51:020653デフォルトの名無しさん
2008/11/22(土) 10:53:350654デフォルトの名無しさん
2008/11/22(土) 13:18:14on errorはどうダメなんだ?
0655デフォルトの名無しさん
2008/11/22(土) 13:35:39他のオブジェクト指向言語で一般的な方法ではない
.NET Frameworkは構造化例外を使うことが前提なので一貫性がなくなる
MSDNでOn Error系のキーワードを引いてみるといいよ
関連するほとんどのページに,構造化例外使えアホと書いてある
0656デフォルトの名無しさん
2008/11/22(土) 13:43:17VB厨にグローバル変数の弊害とか、フォームに処理をベタ書きする弊害を
説明しろって話に近い。
0657デフォルトの名無しさん
2008/11/22(土) 14:03:45をVB厨では無い一般プログラマ向けにkwsk。スレ違いならふさわしいスレに書いてそこに誘導ヨロ
0658デフォルトの名無しさん
2008/11/22(土) 14:05:19だから「骨」なものの一例としてそれらを挙げているわけだが。。
0659デフォルトの名無しさん
2008/11/22(土) 14:09:06注釈つけないと通じないようなコトバ使うなよw
0660デフォルトの名無しさん
2008/11/22(土) 14:28:04VisualStudioのヘルプ面倒で中途半端なので教えてください。
0661デフォルトの名無しさん
2008/11/22(土) 14:55:03VB厨に説明するのが骨とか煽るから
VB厨以外に説明してみせろって煽りかえされてるんだろ。それぐらいの文脈読めよ
0662デフォルトの名無しさん
2008/11/22(土) 15:04:100663デフォルトの名無しさん
2008/11/22(土) 15:04:13ない。どれだけ量あると思ってるんだ
オプションで独立ウィンドウに表示できるけどそれは知ってるよね?
0664デフォルトの名無しさん
2008/11/22(土) 15:07:500665デフォルトの名無しさん
2008/11/22(土) 15:12:08頭にあるPrintf・Usingの概念が悪いのかもしれませんが・・・
0666デフォルトの名無しさん
2008/11/22(土) 15:16:08例外を継承した俺例外とか作れないとこ。Finally がないとこ。
0667デフォルトの名無しさん
2008/11/22(土) 15:18:17書式指定文字列のドキュメントは確かにわかりにくい
0668デフォルトの名無しさん
2008/11/22(土) 15:20:23だから文脈読めない馬鹿だというんだ。
VB厨という言葉は、それら「体感するのは簡単だが説明するのは難しい」ものを
体感する能力を欠いた者、という意味で使っているのであって、
相手がVB厨だからそれらを説明するのが難しいのだ、などとは言ってない。
0669デフォルトの名無しさん
2008/11/22(土) 15:22:42VBの言語仕様のことを言っているのなら
VS2003時代のMSDNライブラリには入っている。
なぜか今のには入ってない。もちろんローカル版のことを言っている。
0670デフォルトの名無しさん
2008/11/22(土) 15:39:190671デフォルトの名無しさん
2008/11/22(土) 17:16:020672デフォルトの名無しさん
2008/11/22(土) 17:28:38try catchよりも楽だと思うのですが。
0673デフォルトの名無しさん
2008/11/22(土) 18:04:100674デフォルトの名無しさん
2008/11/22(土) 18:09:04on errorはtry cathcを含んでいると感じます。
大は小を兼ねるというイメージが出来てしまっています。
しかし、世間ではon errorはダメだとの評価です。
さっぱりわからないのです。
0675デフォルトの名無しさん
2008/11/22(土) 18:10:390676デフォルトの名無しさん
2008/11/22(土) 18:13:330677デフォルトの名無しさん
2008/11/22(土) 18:14:10そのイメージが本当に正しい認識なのか疑ってみたことは?
0678デフォルトの名無しさん
2008/11/22(土) 18:21:520679デフォルトの名無しさん
2008/11/22(土) 18:33:410680デフォルトの名無しさん
2008/11/22(土) 19:14:27どんなエラーが来るかを予想して5個ぐらい予想が付いたら
5個の文章を書かないとダメじゃないですか。
でもon errorだとエラーになったら発動するじゃないですか。
0681デフォルトの名無しさん
2008/11/22(土) 19:16:02> どんなエラーが来るかを予想して5個ぐらい予想が付いたら
> 5個の文章を書かないとダメじゃないですか。
そんなことない。以上終了
0682デフォルトの名無しさん
2008/11/22(土) 19:18:260683デフォルトの名無しさん
2008/11/22(土) 19:20:27エラーの種類に応じて対処を変える必要があるだろ
On Errorにしたって一緒。エラーの種類をifで判別したりする。
0684デフォルトの名無しさん
2008/11/22(土) 19:57:57ex.messageの例として参考になれば
0685デフォルトの名無しさん
2008/11/23(日) 23:33:35自動でページ内の
「⇒」ボタンをクリックする事とかってやっぱり無理ですか?
指定したページの中にある全FLVをプログラムから一度にクリックするツールを作りたいと思っています。
0686デフォルトの名無しさん
2008/11/23(日) 23:34:27そのボタンは何でできてるの?
最悪、SendInput() だろうけど・・・
0687デフォルトの名無しさん
2008/11/23(日) 23:44:06YoutubeってAPI公開してるんじゃなかったっけ?
0688デフォルトの名無しさん
2008/11/24(月) 00:08:420689デフォルトの名無しさん
2008/11/24(月) 00:24:13Flashです。
SenInput()???これはなんですか?
>>687
あああ、API公開してるって事はプログラムで制御出来るかな?
>>688
ちょっと見てみます。
因みにWEBページはVB.netである程度制御する事が出来る事がわかったけど、
Flashページ内の特定のボタンをクリックとかって事はそもそもVB.netから出来るのでしょうか?
Adobe CS3 とか勝手Action Scriptも勉強しなくちゃいけないとは思いますけど。
0690デフォルトの名無しさん
2008/11/24(月) 00:34:29やったことないけど…
http://ameblo.jp/grim/theme-10001049173.html
0691デフォルトの名無しさん
2008/11/24(月) 00:38:11うぉーすげー出来るんだw
最近のWEBページはFlashが多くてうざくてしょうがなかったんだけど
ちょっと安心しました。
0692デフォルトの名無しさん
2008/11/24(月) 00:52:38それってフォームに表示してるflashの操作じゃない?
0693デフォルトの名無しさん
2008/11/24(月) 14:41:00Visual C# 2008 Express Edition
Visual Web Developer 2008 Express Edition
+
Visual Studio 2005 (Jap)
これらのバージョンをWindows XP(Pro)に平行して
インストールする事は可能でしょうか?
0694デフォルトの名無しさん
2008/11/24(月) 14:51:210695デフォルトの名無しさん
2008/11/24(月) 21:05:32ファイルまたはフォルダを検索しようとしています
Dim text As String = TextBox1.Text
Dim files As String() = System.IO.Directory.GetFiles( _
"C:\", text, System.IO.SearchOption.AllDirectories)
ListBox1.Items.AddRange(files)
このようなコードで実行してるのですが、アクセスできないフォルダとかまで検索しようとして
「パス 'ほにゃらら' へのアクセスが拒否されました。」
とでてしまいます
解決策がございましたら教えてください
0696デフォルトの名無しさん
2008/11/24(月) 21:06:29エラートラップ
0697デフォルトの名無しさん
2008/11/24(月) 21:08:32先日のG20で世界の指導者の全員がブッシュと握手をしなかった。
http://jp.youtube.com/watch?v=uRMAAXNHkh8
世界の外交上の暗黙の了解として、ブッシュが指導するアメリカは
完全に村八分になったという意味らしいが、要するにアメリカ帝国が
終わったという意味だとすると、
そんな沈没して行くアメリカ持ち上げ犬手下バンザイで麻生さんだけが
ドル機軸、バメリカ帝国マンセーで
これからもがんばりますデぇ−ス!!
で尻尾振り続けている姿はどう映るんだろうねw
> バメ犬手下自民党 <
> マンセーー <
日本ってずっとずっとこれで行くつもりなんかな?
0698デフォルトの名無しさん
2008/11/24(月) 21:14:240699デフォルトの名無しさん
2008/11/25(火) 00:06:57ありがとうございます
0700デフォルトの名無しさん
2008/11/25(火) 00:12:58例外をキャッチするんだ
>>644〜参照
0701デフォルトの名無しさん
2008/11/25(火) 10:40:03することは可能でしょうか
PictureBoxのBackColorをTransparentにしてもフォームのTransparencyKey
の色になるだけだし…
現在はPictureBox.Visible=Falseにしてスクリーンキャプチャして切り出して
合成してPictureBoxに書き込むという泥縄なことしてるんで
0702デフォルトの名無しさん
2008/11/25(火) 20:59:19言ってることがよーわからんけど、
合成して描画できるということは最初からPictureBoxなど不要ということだろう
普通に考えれば。
0703デフォルトの名無しさん
2008/11/26(水) 01:03:21常に同じ文字を表示させておくことってどうすればできますか?
日付をyyyy/MM/dd形式で入力させるテキストボックスを作りたいんですけど
スラッシュうつのめんどくさいのではじめから / が打ち込まれて
いるようにしたいんです。
プロパティのテキストに/書いても実際の処理でテキストボックスに書き込み
したら/消えちゃうし。
あとテキストボックス選択した時にテキストボックスの中身が全部反転して
選択された状態になってしまうんですがそうならないようにする解決策
があればヒントください。
かなり低レベルだと思うんですけどヒントください。
0704デフォルトの名無しさん
2008/11/26(水) 12:11:461. 2005 (.NET 2.0) なら MaskedTextBox を使用する。
→授業だったら勝手に変えられんわな。
2. Microsoft Masked Edit という ActiveX を組み込む。
→これも勝手にインストールしていいんだろうか。
3. 日付専用なら DateTimePicker を使用する。
→カレンダーも表示される。
オススメは3。
>テキストボックス選択した時にテキストボックスの中身が全部反転
プログラムでやんないとそうはならないハズだけどなあ。
コードウィンドウの左上で該当するテキストボックスの名前を、
右上で「GotFocus」を探してみ。
太字になってたら、フォーカスイベントを受け取ってなんかやってる。
0705デフォルトの名無しさん
2008/11/26(水) 20:26:44VS2008から何かDataRepeaterってのが追加されてるんだけど、これについて。
AllowUserToAddRows = True にしても、行の追加は出来るんだけど、
DataGridViewみたく、 " * "って表示される新規行が常に表示されないんだ
Accessの明細用サブフォームみたいな感じで使いたいから
常に新規行を出したいんだけど、無理?
DataGridViewはデザイン性に難があるから、出来ればDataRepeater使いたいんだ
それとも、他の良い手があるんかな
0706デフォルトの名無しさん
2008/11/26(水) 20:51:41特定のIFを実装していたらIF経由で関数を実行するロジックで
If (TestClass.GetType.GetInterface(GetType(TestInterface).Name) IsNot Nothing) Then
TestIF = TestClass
TestIF.TestSub()
End If
とやっているんですが、GetInterface以外に取得する方法ありますか?
HasInterface(String) As Boolean とか
GetInterface(System.Type) As Object(指定した型の実体を返す)
とかなら判るのですが、何故わざわざStringで受けているのかが判らない
0707デフォルトの名無しさん
2008/11/26(水) 20:56:48型の互換判定ならこうじゃない?
If TypeOf TestClass Is TestInterface Then
0708デフォルトの名無しさん
2008/11/26(水) 21:01:42TestInterfaceを実装しているかどうかを調べるなら
If (GetType(TestInterface).IsAssignableFrom(GetType(TestClass)))
とするのが正しい
0709デフォルトの名無しさん
2008/11/26(水) 21:10:34C#の as と同等のキャストであとはNothing判定でそのまま呼び出し。
TestInterface hoge = TryCast(TestClass, TestInterface)
0711デフォルトの名無しさん
2008/11/27(木) 14:19:01ありがとうございます。
TypeOf Isでそのまま判定できたんですね
TryCastも初めて知りました
Reflection方面でしか調べてなかったんで
視野が狭くなっちゃってましたね
0712デフォルトの名無しさん
2008/11/28(金) 06:31:58フォームの設定内容を簡単に書き出す方法はあるでしょうか?
今のところは他のやり方を知らないので、チマチマ各パラメータを保存できるような形式にしてファイルに書き出す方針なのですが。
0713デフォルトの名無しさん
2008/11/28(金) 09:56:08起動時にデシリアライズかけて元に戻すとか
面倒くさいならユーザースコープで設定使えばいいんじゃないかと
勘違いだったらごめ
0714デフォルトの名無しさん
2008/11/28(金) 10:00:010715デフォルトの名無しさん
2008/11/28(金) 10:13:54もう寝る。
0716デフォルトの名無しさん
2008/11/28(金) 13:48:39500×500の要素を3Dグラフにして表現したいのですが、標準でついているグラフコンポーネントってChart FXだけでしょうか?
これで多くの要素を1画面に収めることってできます・・・?
多くの要素を1画面に収めるか、他にフリーのグラフコンポーネントがありましたら教えてください。
よろしくお願いします。
0717デフォルトの名無しさん
2008/11/28(金) 13:58:390718デフォルトの名無しさん
2008/11/28(金) 22:53:13欲しい機能は
スループットを結果で表示する
ファイル転送の進行状況の表示
ファイルのアップロードダウンロード
宜しくお願い致します。
最初VB6で公開されているソースを参考に作っていたのですが、
スループットを結果で表示する事が出来なくてVB.NETで作り直しを命じられました。
VB6のコマンドボタンの配置法だけの教育でVB6を理解した事にされ、
VB.NET(2003)は昨日初めて触れたド初心者です。
助けてください、お願いします。
またVB6でFTPでの転送結果を取得する関数とかあるのでしょうか?
0719デフォルトの名無しさん
2008/11/28(金) 23:03:50http://www.google.com/search?hl=ja&lr=lang_ja&ie=UTF-8&oe=UTF-8&q=VB.NET+FTP&num=50
0720デフォルトの名無しさん
2008/11/28(金) 23:06:44それと「悩んでる私」を他人に語って受け入れてもらいたい女々しいタイプなんだと思うよ。
0721デフォルトの名無しさん
2008/11/28(金) 23:13:59しかもできないって……
ようするに転送量/時間でしょ?
0722デフォルトの名無しさん
2008/11/28(金) 23:20:010723デフォルトの名無しさん
2008/11/28(金) 23:23:290724デフォルトの名無しさん
2008/11/28(金) 23:31:06>>718自身の教育が目的なんだからこれでいい
0725718
2008/11/28(金) 23:49:11すいません
その検索方法で既に調べていたのですが、よく理解できなかったので。
転送量/時間で出すのがやはり王道なんですね。
皆様回答ありがとうございました。
0726デフォルトの名無しさん
2008/11/28(金) 23:53:28めげずに頑張ってね
0727デフォルトの名無しさん
2008/11/28(金) 23:57:22本当にそうかね。
0728デフォルトの名無しさん
2008/11/29(土) 00:00:220729デフォルトの名無しさん
2008/11/29(土) 00:01:12VB.NETのWebBrowserでそのIPを切り替えるにはどういう方法がありますか?
0730デフォルトの名無しさん
2008/11/29(土) 00:06:16以後、VB.netの行く末を語るスレになります。
0731デフォルトの名無しさん
2008/11/29(土) 01:40:33わからないから、とりあえず聞いてみようなんて奴に教えても無駄無駄
0732デフォルトの名無しさん
2008/11/29(土) 01:48:350733712
2008/11/29(土) 06:17:32すいません、各パラメータを保存できるような形式にしてというのがパラメータを1つのクラスにしてシリアライズするという意味のつもりでしたw
ユーザースコープで設定というのを調べてみたところ、いろんな設定を読み込みなおして使う目的にはあまり適さないようでしたので、現在の予定のままでいきます。
ありがとうございました。
0734デフォルトの名無しさん
2008/11/29(土) 06:59:09>>聞いてみようなんて奴に教えても無駄無駄
ほんともうこのスレいらんよw
0735デフォルトの名無しさん
2008/11/29(土) 07:07:33つ「とりあえず」
0736デフォルトの名無しさん
2008/11/29(土) 07:17:440737デフォルトの名無しさん
2008/11/29(土) 08:40:390738デフォルトの名無しさん
2008/11/29(土) 13:23:530739デフォルトの名無しさん
2008/11/29(土) 14:17:110740デフォルトの名無しさん
2008/11/29(土) 22:04:04他のメソッド(staticではない)を呼んだ場合、問題は発生しますか?
0741デフォルトの名無しさん
2008/11/29(土) 22:09:38はい
0742デフォルトの名無しさん
2008/11/29(土) 22:13:40そんなことを聞いてるようじゃ間違いなく発生するね
0743デフォルトの名無しさん
2008/11/29(土) 22:16:240744デフォルトの名無しさん
2008/11/29(土) 22:20:30staticだからどうとかも関係ない
なにをやったらダメなのかわかってないならスレッドなんて使っちゃダメ
0745デフォルトの名無しさん
2008/11/29(土) 23:12:500746デフォルトの名無しさん
2008/11/29(土) 23:29:09君が気づかない間に異次元から君の記憶が操作されていて
君の状態に矛盾が発生してしまう
いつのまにか朝ごはんを食べなかったことにされたり
男なのに女にプロパティが変更されたりしてしまう
0747デフォルトの名無しさん
2008/11/29(土) 23:33:09BackgroundWorkerで動かしているスレッドから
他のメソッド(staticではない)を呼んでみたら?
0748デフォルトの名無しさん
2008/11/30(日) 00:11:37どうなりますか
0749デフォルトの名無しさん
2008/11/30(日) 01:08:29Dim a As Double = 3850
Dim b As Double = 1.1
Dim re As Double = System.Math.Floor(a / b)
Me.Text = re
これが3500ではなくなぜか3499になります
3500になるように切り捨てするには
どうしたらいいですか。
0750デフォルトの名無しさん
2008/11/30(日) 01:11:330751デフォルトの名無しさん
2008/11/30(日) 01:18:54こういうコピペ君ってどや顔で一行コピペしてるんだろ馬鹿だよな、まで読んだ。
0752デフォルトの名無しさん
2008/11/30(日) 01:25:480753デフォルトの名無しさん
2008/11/30(日) 09:49:300754デフォルトの名無しさん
2008/11/30(日) 11:06:33Math.Ceiling
0755754
2008/11/30(日) 11:12:060756デフォルトの名無しさん
2008/11/30(日) 11:18:51If re = 3499 Then re = 3500
を挟むのが正解。
ってコードを金融系のソースで見て目ん玉飛び出た。
なんで浮動小数点で金の計算するんだよ。
0757デフォルトの名無しさん
2008/11/30(日) 11:51:340758デフォルトの名無しさん
2008/11/30(日) 13:38:020759デフォルトの名無しさん
2008/11/30(日) 13:47:030760デフォルトの名無しさん
2008/11/30(日) 14:12:06何をしたいかによるね。
単純にその演算に関してのみ正しい結果が欲しいのであり、
かつ必要な有効桁(というか小数点以下の桁数)がはっきりしているのなら
Roundで丸めればいいわけだし。
分数の演算を常に「数学的に正確に」行う必要があるのなら
そういう分数クラスを自分で作るしかないだろうし。
0761デフォルトの名無しさん
2008/11/30(日) 15:57:56でも速度が遅くなるみたいだし・・・
しばらく悩みそうです
0762デフォルトの名無しさん
2008/11/30(日) 16:08:04decimal使うのは正直どうかなと思うね。
まず実数演算の誤差がどうして起こるのかの理屈を理解するのが先決だよ。
通常は>>760に書いたように精度の仕様を決めてそこで丸めるようにすれば
済む用途が大半だと思うけど。
0763デフォルトの名無しさん
2008/11/30(日) 16:09:300764デフォルトの名無しさん
2008/11/30(日) 16:12:09問題は1.1という数値自体が2進法であらわせないことにあるわけで。
2進法の丸めは2進法で表したときの少数点以下何桁(ビット!)目で
丸めるといったロジックになるのはわかってるのかな。
0765デフォルトの名無しさん
2008/11/30(日) 16:13:33ひょっとしてdecimalって「誤差がでない魔法の型」とか思ってるんじゃないの?
まあそのようだけど、だから「正直どうかな」と思うわけ。
0766デフォルトの名無しさん
2008/11/30(日) 16:20:05偶数丸めと四捨五入の指定ができる。
Math.Round ( d As Decimal, decimals As Integer, mode As MidpointRounding ) As Decimal
0767デフォルトの名無しさん
2008/11/30(日) 16:22:23そういうやつには、「decimal 使え、理由はいちいち説明しないけど」で十分。
0768デフォルトの名無しさん
2008/11/30(日) 16:24:04なんで唐突にその話題を出すの?
0769デフォルトの名無しさん
2008/11/30(日) 16:35:51decimalを使うだけだと手計算との違いは発生する。
decimal(10進化浮動少数点)で丸めの処理がコントロールできれば
手作業で計算したのと同じ結果が出せる。
0770デフォルトの名無しさん
2008/11/30(日) 16:40:17それ本気で言ってるのかひょっとして?
0771デフォルトの名無しさん
2008/11/30(日) 16:43:220772デフォルトの名無しさん
2008/11/30(日) 16:44:12ひょっとしてこの引数のdigitに1を指定しろって前提で話をしているとでも
思ったんだろうか。
そういうことじゃないよ。
有効桁の要求仕様がはっきりしてるのなら〜とわざわざ前置きした意味を
すっとばして理解されては困る。
0773デフォルトの名無しさん
2008/11/30(日) 16:52:12前提をはっきりさせないと何を持って正しいとするか決められないというのは了解。
0774デフォルトの名無しさん
2008/11/30(日) 21:54:000775デフォルトの名無しさん
2008/11/30(日) 21:58:44その言葉自体は同意するが、だったら間違ってると思ってる意見に具体的に反論しろよ。
できないのならその言葉をお前さん自身に適用すること。
0776デフォルトの名無しさん
2008/11/30(日) 22:05:17>>771
0777デフォルトの名無しさん
2008/12/01(月) 10:25:56すでにコピペである件について
「一行レスってバカだなと思った 」というレスが
すでに一行レスである件について
0778デフォルトの名無しさん
2008/12/01(月) 13:42:020779デフォルトの名無しさん
2008/12/02(火) 15:46:22Listbox1に表示させた文字列を部分検索して、該当する文字列を全てlistbox2に
表示させるプログラムを作らなければならないのですが、検索してもよくわかりませんでした。
低レベルの質問だとは思いますが、どなたか教えていただけないでしょうか?
0780デフォルトの名無しさん
2008/12/02(火) 15:47:540781デフォルトの名無しさん
2008/12/02(火) 16:50:28・Listbox2を表示させる
・文字列をListbox1に表示させる
・Listbox1に表示させた文字列を部分検索する
・該当する文字列を全て取得する
・取得した文字列を全てListbox2に表示させる
これだけじゃん
0782779
2008/12/02(火) 17:14:50>781
事故解決しました。すみません。
本当に質問するような問題ではなかったです
0783デフォルトの名無しさん
2008/12/02(火) 21:07:00どのようなコードを書けば良いのでしょうか?
0784デフォルトの名無しさん
2008/12/02(火) 21:38:510785デフォルトの名無しさん
2008/12/02(火) 21:42:35認証を通る
ファイル一覧を取得する
タイムスタンプを取得する
コードを書けばOK
0786デフォルトの名無しさん
2008/12/02(火) 22:21:00入門書を購入して一通り学習しましたが。オブジェクト指向やクラスの段階で、挫折気味です。
オブジェクト指向の前の段階までは確実に理解できて自分でコードが書けるのですが。
クラスとか応用してプログラムを作ることができません。
クラスは8000種類あるらしいですが、コードが書ける人はこれを全部覚えてる人なんているのでしょうか?
クラスごとにコードの使い方のルールが違っていて、基本がわかっていてもクラスがうまく使いこなせません。
やはりいちいちMSDNを検索して参考にしてコードを書いてるんでしょうか?
しかしMSDNを見ても書いてあることがよく理解できません。
今、見てる本が基本的過ぎるのでしょうか?
みなさんはどんな本でなにを参考にしてプログラミングや勉強しましたか?
0787デフォルトの名無しさん
2008/12/02(火) 22:24:35> オブジェクト指向の前の段階までは確実に理解できて自分でコードが書けるのですが。
> クラスとか応用してプログラムを作ることができません。
それは理解できてないと思う。まずは、構造化プログラミングをきちっと身につけた方がいい。
> クラスは8000種類あるらしいですが、コードが書ける人はこれを全部覚えてる人なんているのでしょうか?
いないと思うよ。
> クラスごとにコードの使い方のルールが違っていて、基本がわかっていてもクラスがうまく使いこなせません。
> やはりいちいちMSDNを検索して参考にしてコードを書いてるんでしょうか?
> しかしMSDNを見ても書いてあることがよく理解できません。
それは基本がわかってないから。
> 今、見てる本が基本的過ぎるのでしょうか?
> みなさんはどんな本でなにを参考にしてプログラミングや勉強しましたか?
基本的な文法を覚えたら、とにかくプログラムを書く。書いたら、別の方法を試してみる。
繰り返し、繰り返し。そのうち、コツがわかってくる。
0788デフォルトの名無しさん
2008/12/02(火) 22:31:07>繰り返し、繰り返し。そのうち、コツがわかってくる。
これはプログラミングをマスターする王道だと思う。
0789デフォルトの名無しさん
2008/12/03(水) 10:35:57そのうち全部自分で書ける様になる
先輩方のコードを読むのは勉強になるよ
0790デフォルトの名無しさん
2008/12/03(水) 15:51:03自分でクラスを書いてみるとよく理解できる
0791デフォルトの名無しさん
2008/12/03(水) 15:57:370792デフォルトの名無しさん
2008/12/03(水) 16:03:100793デフォルトの名無しさん
2008/12/03(水) 17:36:410794デフォルトの名無しさん
2008/12/03(水) 23:26:35あれわかりやすいですか?
0795デフォルトの名無しさん
2008/12/03(水) 23:39:18なあ、それ他人に聞いて意味のある質問だと思う?
0796デフォルトの名無しさん
2008/12/03(水) 23:42:22どんなに噛み砕いて説明してるつもりでも、本当に助けが欲しいと思ってる人には理解出来ないことが多い。
やはり覚えたいと思ったことは、自分でやってみるのが一番の勉強になるし身に付く。
特に独学で体験した失敗はとても重要な財産になる。
一通り勉強した後に見る、自称わかりやすい本やサイトは「復習」として見る分にはいいと思う。
0797デフォルトの名無しさん
2008/12/03(水) 23:48:40巷にあふれてるVB本はリファレンス形式のものが多いし.NETに限定してしまえば
「オブジェクト指向?なにそれ?」な参考書ばっかり
なんでちゃんとしたクラス設計の説明などを省くのだろうかといつも不思議に思う
0798デフォルトの名無しさん
2008/12/03(水) 23:54:360799デフォルトの名無しさん
2008/12/03(水) 23:56:21.NETでもC#の基礎的(≠簡単)な解説はわりとwebにも多いんだけど
VBは本当に無いね
0800デフォルトの名無しさん
2008/12/03(水) 23:57:16簡単にそういうけど、君書ける?
初心者相手じゃなくても相当ハードな分野だと思うけど。
っていうか、VB中学校にはその種の内容の文章はないと思うが。
0801デフォルトの名無しさん
2008/12/04(木) 00:37:02そのバッチファイルから起動しているプログラムの
プロセス名またはPIDを取得するにはどのように
すれば良いでしょうか?色々調べてみましたが、
わかりませんでした。よろしくお願いします。
0802デフォルトの名無しさん
2008/12/04(木) 00:51:07たまにプログラムが分からない、という奴がいるけど俺からすると
そいつらが何が分からないか分からない。
オブジェクト指向で躓く奴もいるけど、そこもマジで分からない。
例えていうならファイアーエンブレムでクラスチェンジしたキャラで
合体する事によって両方の機能(メソッド)が使用出来るってだけの
事をなぜ理解できない?そして組めない?
前に国立理系院卒で確実に頭は良いであろう奴がいたけど、プログラムが
一切組めない奴がいた。マジでそいつらの頭は一体どうなっているんだ?
プログラムなんて複雑な数学と比べれば簡単過ぎると思うのだが。
0803デフォルトの名無しさん
2008/12/04(木) 01:08:000804デフォルトの名無しさん
2008/12/04(木) 01:16:54長い。最適化しろ
0805デフォルトの名無しさん
2008/12/04(木) 02:04:15つまり君にとっての数学がその人にとってのプログラムなんだ。
0806デフォルトの名無しさん
2008/12/04(木) 02:17:29オレは、すまんが数学もそれなりに得意。(院卒レベルには及ばないけどね。)
>>804
読み易くする為に行間を空けてるんだよ。
用は、オレが何を言いたいかというと、車で例えるなら車がどういうメカニズムで動いているか(化学・物理学等も含めて)
を突詰め様とすると難しいけど、既に出来上がった車(プログラム)を運転(組む)のが難しい訳が無い。
というのがオレの意見なわけ。だからこそ車のメカニズムまで分かっている奴がF1レーサーみたいな
運転をする訳ではなく、普通の運転をする事すら出来ないって事が不思議でならないという訳さ。
0807デフォルトの名無しさん
2008/12/04(木) 02:51:53>院卒レベルには及ばないけどね。
つまり院卒レベルの人から見たらなんでこんな問題もできないのってなるのさ。
人には得手・不得手っていうのがある。
なんでも自分基準で考えないで、客観的に見たほうがいいよ。
世界中の人がプログラム組めたらプログラマの仕事がなくなるし。
0808デフォルトの名無しさん
2008/12/04(木) 03:22:00明らかに面白い(と言うか恣意的な)例えを持ち出してるところとかも
0809デフォルトの名無しさん
2008/12/04(木) 03:45:55お前の例えは分かり易くて良いね。
設計書もしっかりしていそう。
0810デフォルトの名無しさん
2008/12/04(木) 04:22:32ロシア語とかスペイン語とか中国語を話せないわけだ。
あんなのその国の6歳児のほぼ全体が簡単に習得できているのにな。
あぁ失礼。お前さんはロシア語もスペイン語も中国語も簡単に習得できていましたか。
0811デフォルトの名無しさん
2008/12/04(木) 07:18:23自演か知らんがその感覚はないわwww
さすがVB房
0812デフォルトの名無しさん
2008/12/04(木) 09:23:38>読み易くする為に
うぜぇ。
0813デフォルトの名無しさん
2008/12/04(木) 09:55:14WMI使ってParentProcessIdが[起動したバッチファイルProcessのId]になってるWin32_Processを探す
0814デフォルトの名無しさん
2008/12/04(木) 11:45:21全然読みやすくない、ってかウザったらしいだけ
バカに構うな
0816デフォルトの名無しさん
2008/12/04(木) 13:31:27(xmlがどうのこうのいってたような)
本当に可能?
もし可能ならどうやってするんだろ・・・
0817255
2008/12/04(木) 13:34:190818デフォルトの名無しさん
2008/12/04(木) 13:35:250819デフォルトの名無しさん
2008/12/04(木) 14:04:50何言ってるのこの人
0820デフォルトの名無しさん
2008/12/04(木) 17:48:09SendKeys.SendWait("ア")
だと ア が送られるけど
SendKeys.SendWait("ア")
だと 3 が送られてしまいます。
VBの
SendKeys "ア"
だとちゃんと ア が送られていたのですが、.NETへの移行でつまずいています。
0821デフォルトの名無しさん
2008/12/04(木) 18:07:49の VB.NETに関するメモ書き とか?
0822デフォルトの名無しさん
2008/12/04(木) 18:14:51こんな簡単なことが分からないなんて理解できません!!
0823デフォルトの名無しさん
2008/12/04(木) 18:19:02ggytz(ぐぐってやったぞ)ksですね、わかりますわかります
0824デフォルトの名無しさん
2008/12/04(木) 18:20:15半角カナなんてキー入力を旧VBがどうやって実装していたのか気になる
0825デフォルトの名無しさん
2008/12/04(木) 18:52:26おおありがたや、と思ったら
VB.NETに関するメモ書き
のリンク先なくなっとる
0826デフォルトの名無しさん
2008/12/04(木) 19:18:55エラーメッセージを読むのは言うまでもなく基本。
>CGIが、開設したホームページ領域以外から呼び出されました。
って書いてあるなら、URL直打ちなりグーグルキャッシュから見れる事も多い。
検索結果のリンクからCGIに飛ぶとそういうことがよくある。
0827デフォルトの名無しさん
2008/12/04(木) 21:56:290828デフォルトの名無しさん
2008/12/04(木) 21:59:43こっから入れんじゃん。
0829デフォルトの名無しさん
2008/12/04(木) 22:07:37この方法だとIMEがきかないところなので無理そうです。
0830デフォルトの名無しさん
2008/12/04(木) 22:10:28テキストボックスに半角のアを設定したいなら、WM_SETTEXT とかそういう系で。
0831デフォルトの名無しさん
2008/12/04(木) 22:10:59ほんとだ。
お手数おかけしました。
0832デフォルトの名無しさん
2008/12/04(木) 22:12:23ありがとうございました。
できました! m(_ _)m
0833デフォルトの名無しさん
2008/12/04(木) 22:26:41バカ、皮肉だろ。
0834デフォルトの名無しさん
2008/12/04(木) 23:32:02右クリック→ショートカットのコピー→ブラウザのURL欄に貼り付け でも行けた。
0835デフォルトの名無しさん
2008/12/05(金) 00:09:180836デフォルトの名無しさん
2008/12/05(金) 00:17:59死ねよ
ボケ
0837デフォルトの名無しさん
2008/12/05(金) 00:24:24うちうち♪
うちの父ちゃんは♪
毎朝元気だyo!
0838デフォルトの名無しさん
2008/12/05(金) 21:44:25なんで初心者用にツールボックスにDrawLineがないんだよ\(^o^)/
0839デフォルトの名無しさん
2008/12/05(金) 21:52:350840デフォルトの名無しさん
2008/12/05(金) 22:36:34なんという便利さあざーす
0841デフォルトの名無しさん
2008/12/06(土) 03:21:11サンプルなどあったらそれもお願いします
0842デフォルトの名無しさん
2008/12/06(土) 12:24:37変数は初期化して使い回した方がいいのでしょうか?
変数が多いと処理が重くなったりするんでしょうか?
今の作ってる部分の変数が100個位なのですがこの100個の変数は一気に処理するので
これから増やしていくなら初期化した方が処理自体はおもくならないのですか?
0843デフォルトの名無しさん
2008/12/06(土) 12:27:25とりあえず書きたいように書け
動作が遅いと体感できてから改善を考えろ
0844デフォルトの名無しさん
2008/12/06(土) 12:31:23それより,一つのメソッドに100個の変数へのアクセスが出てくるの?w自動生成ならともかく
0845デフォルトの名無しさん
2008/12/06(土) 12:43:53その方が勉強になるよ
0846デフォルトの名無しさん
2008/12/06(土) 12:47:40いったいどういうメソッドなんだ…?
0847デフォルトの名無しさん
2008/12/06(土) 13:08:060848デフォルトの名無しさん
2008/12/06(土) 13:31:26とりあえず完成させてから考えた方がいいのですね。そうしてみようと思います
0849デフォルトの名無しさん
2008/12/06(土) 14:02:48自家製ORマップか?
0850デフォルトの名無しさん
2008/12/06(土) 14:08:030851デフォルトの名無しさん
2008/12/06(土) 14:19:450852デフォルトの名無しさん
2008/12/06(土) 17:53:34調べても全然出てこない・・・
0853デフォルトの名無しさん
2008/12/06(土) 17:57:540854デフォルトの名無しさん
2008/12/07(日) 02:03:292値化する為の何が分からないのかが分からない。
それだとアルゴリズムがわからないのがプログラムがわからんのかどっちだ。
0855デフォルトの名無しさん
2008/12/07(日) 04:28:46インストールが完了したら、ユーザのデスクトップにアプリへのショートカットを自動で
作成するにはどうすれば良いでしょうか?
(VS2005)
0856デフォルトの名無しさん
2008/12/07(日) 12:02:59頭の上に眼鏡があるのに「母さん、ワシの眼鏡知らんか?」と言っているようなものだ。
0857デフォルトの名無しさん
2008/12/07(日) 12:30:39そんな長い文章まで書き込む位なら。
0858デフォルトの名無しさん
2008/12/07(日) 13:50:190859デフォルトの名無しさん
2008/12/07(日) 16:35:12http://www.microsoft.com/japan/msdn/thisweek/300x10/phase2/setup_program/default.aspx
ご参考あれ
0860デフォルトの名無しさん
2008/12/07(日) 19:06:08死ね
>>859
ありがとうございました!!
0861デフォルトの名無しさん
2008/12/07(日) 19:36:19理解したのなら>>856の言う事ももっともだと思ったんじゃないの?
とりあえず自分の○○(都合により自己規制)を棚に上げて「死ね」はちょっと酷くないか。
0862デフォルトの名無しさん
2008/12/07(日) 19:49:20No
0863デフォルトの名無しさん
2008/12/07(日) 19:57:24そういう可哀想な人なら仕方ないね。
0864デフォルトの名無しさん
2008/12/07(日) 23:17:58私の持論がまた証明された!
0865デフォルトの名無しさん
2008/12/08(月) 19:18:51MyBase.Load, Timer.Tick の両方で動作するイベントを書こうとしてるんだけど、タイマーをちょこっといじるだけで実現できたりする?
0866デフォルトの名無しさん
2008/12/08(月) 19:43:35できるけど(そのためにイベントハンドラの引数eはEventArgsの派生クラスとするように
統一されてるんでしょ)やるな。
両方から同じメソッド呼べば済むしその方が読みやすいよ。
0867デフォルトの名無しさん
2008/12/08(月) 20:11:15そうしました。ありがとうございました〜。
0868デフォルトの名無しさん
2008/12/09(火) 22:01:12たとえばデスクトップ上でもアイコンをクリックしても
何も起こらないようなものです。
目的としてはデスクトップのハードコピーをとる際に、
範囲を指定できるようなプログラムを作りたいと考えています。
どなたか教えてください。
0869デフォルトの名無しさん
2008/12/09(火) 22:53:550870デフォルトの名無しさん
2008/12/09(火) 23:19:33イメージとしてはそんな感じです
APIとか使えばよいのでしょうか?
0871デフォルトの名無しさん
2008/12/09(火) 23:22:010872デフォルトの名無しさん
2008/12/09(火) 23:25:59APIなんかでマウスをフックして
クリックイベントが起こったらExitSubとかすればよいですか?
0873デフォルトの名無しさん
2008/12/09(火) 23:29:21透明のラベル貼ったことある
しばらく使ってるとメモリ不足になって止まっちまったけど
(Windows95でExcel97使ってた頃の話)
0874デフォルトの名無しさん
2008/12/09(火) 23:43:130875デフォルトの名無しさん
2008/12/09(火) 23:49:33どう考えてもまっとうな人間が作るまともなソフトとは思えんな。
好意的に解釈してもUIってものがまるでわかってないお馬鹿ってとこ?
一人で馬鹿やるのは勝手だけど、俺は犯罪幇助みたいなことはしたくないもんだな。
0876デフォルトの名無しさん
2008/12/10(水) 00:09:41>目的としてはデスクトップのハードコピーをとる際に、
>範囲を指定できるようなプログラムを作りたいと考えています。
>どなたか教えてください。
よくお読みになってください!!
0877デフォルトの名無しさん
2008/12/10(水) 00:16:250878デフォルトの名無しさん
2008/12/10(水) 00:17:34そもそもトリミング範囲を指定するのにデスクトップをドラッグするわけ?
そんなソフト絶対使いにくいわ。
0879デフォルトの名無しさん
2008/12/10(水) 00:35:57マウスで指定した矩形範囲をキャプしたいってことだろ。
0880デフォルトの名無しさん
2008/12/10(水) 00:40:23ベクター登録の「らくがきですくとっぷ」にあるカッター機能が近そうだ。
ttp://allabout.co.jp/computer/freeware/closeup/CU20070831A/index2.htm
作業中は左クリックが占有されるが、右クリックですぐ解除できるから操作性はそんなに悪くなかった覚えがある。仕様次第かと
0881デフォルトの名無しさん
2008/12/10(水) 01:10:580882デフォルトの名無しさん
2008/12/10(水) 01:22:170883デフォルトの名無しさん
2008/12/10(水) 01:51:18>トリミング範囲を指定するのにデスクトップをドラッグする
ってどういう意味だ?
0884デフォルトの名無しさん
2008/12/10(水) 02:17:38普通はデスクトップのビットマップをウィンドウで表示して
そのウィンドウの中でトリミングするというが真っ当なやり方だけど
デスクトップを直接ドラッグしてトリミングするって意味で言ってると思われ
0885デフォルトの名無しさん
2008/12/10(水) 08:46:150886デフォルトの名無しさん
2008/12/10(水) 09:32:12Vista の Snipping Tool や、Mac OS X の CMD+Shift+4 てのを考えた奴は
お前よりまっとうな人間。
>>885
Home Basic にはないけどな。
0887デフォルトの名無しさん
2008/12/10(水) 11:38:13その執念深さを検索に向けようとは思わないんだねぇ…
0888デフォルトの名無しさん
2008/12/10(水) 11:59:43独り言でないのなら、アンカーくらい付けたら?
0889デフォルトの名無しさん
2008/12/11(木) 16:29:11Dim FileString As String
FileString = ""
fr = New System.IO.StreamReader(TextBox1.Text, System.Text.Encoding.GetEncoding("UTF-8"))
Dim AoMS As String = fr.ReadToEnd
fr.Close()
fr.Dispose()
--------------
Disposeを書けばCloseを書く必要なかった?
0890デフォルトの名無しさん
2008/12/11(木) 16:31:46と思ってるんだが
むしろUsing使うべきでは?
0891デフォルトの名無しさん
2008/12/11(木) 20:11:43Using使った方がいいけど,明示的にDisposeするなら必ずTry-FinallyのFinally内でやること
0892デフォルトの名無しさん
2008/12/12(金) 12:21:59Closeはガベージコレクト任せ(内部の実装にもよる)
Disposeは呼び出した時点で開放を行う
だと思ってたんだが
0893デフォルトの名無しさん
2008/12/12(金) 12:30:01Stream.Closeは中でDispose(true)を呼ぶだけ
つまり明示的にDisposeを呼ぶ(もしくはUsingを使う)のと全く同じ
0894892
2008/12/12(金) 12:44:51Closeはスコープ内でインスタンスの再利用を考慮した時に使用
Disposeはインスタンス自体の破棄する時に使用
というように認識した
StreamReaderの場合なら
再利用できないっぽいから明示的にDisposeのみがいいと思う
それ以前に再利用できないならCloseを同時に実装するなと…
※意見が別れるっぽいから、コレはあくまで自分個人の感想ね
0895デフォルトの名無しさん
2008/12/12(金) 12:51:15どうすればよかろう?
(moveやresizeで再描画してるので重くてしょうがない)
0896デフォルトの名無しさん
2008/12/12(金) 12:52:11個人の意見の問題じゃなくてMSの意向だ
http://msdn.microsoft.com/ja-jp/library/system.io.stream.close(VS.80).aspx
>Close を呼び出した後で、ストリームに対して他の操作を実行しようとすると、
>例外がスローされることがあります。
>実装時の注意 派生クラスでは、Close メソッドをオーバーライドしないでください。
>代わりに、Dispose メソッドにすべてのストリーム クリーンアップ ロジックを組み込みます。
Closeは,Usingを使わずに明示的に閉じたいときに
Disposeと書くよりも字面上でわかりやすいから存在するだけ
0897デフォルトの名無しさん
2008/12/12(金) 13:03:48ttp://msdn.microsoft.com/ja-jp/library/b1yfkh5e.aspx
この辺も>DisposeとClose
0898デフォルトの名無しさん
2008/12/12(金) 13:10:25昔はもっと曖昧な記述だった気がするんだけど,議論がよく出るからはっきりさせたのかな
0899デフォルトの名無しさん
2008/12/12(金) 14:29:130900デフォルトの名無しさん
2008/12/12(金) 14:42:11理由は上のリンク
0901デフォルトの名無しさん
2008/12/12(金) 15:25:42GCに悪影響を与える
0902デフォルトの名無しさん
2008/12/12(金) 21:15:14InvalidOperationExceptionが発生されました。スレッドセーフな呼び出し方法を教えてください。
という例外エラーが発生してしまいました。解決法を御教授下さい。
以下コードです。
Public Class frmProgress
Inherits System.Windows.Forms.Form
End Class
Public Class Progress
Implements IDisposable
Public Overloads Sub Show(ByVal owner As Form, Optional ByVal flg As Boolean = True)
startEvent = New System.Threading.ManualResetEvent(False)
ownerForm = owner
thread = New Threading.Thread(New System.Threading.ThreadStart(AddressOf Run))
thread.IsBackground = True
thread.ApartmentState = Threading.ApartmentState.STA
thread.Start()
startEvent.WaitOne()
End Sub
Public Sub Run()
myform = New frmProgress
myform.ShowDialog(ownerForm) ←ここでエラーとなります。
myform.ShowDialog()
myform.Dispose()
End Sub
プログラム経験が浅い為、対処方が解りません。
どうか、御教授御願い致します。
0903デフォルトの名無しさん
2008/12/12(金) 21:28:39どうせモーダルにしたいならThreadなんて起こす必要はなくて
ownerFormのスレッドでShowDialogしたらいいじゃないか。
具体的にはownerForm.Invoke(...)
0904デフォルトの名無しさん
2008/12/12(金) 21:59:33> という例外エラー
> 教えてください。
> という例外エラー
mjd?
0905902
2008/12/12(金) 22:11:50Progressはプログレスバー等の表示状態変化させるためのクラスです。
ownerfom から frmProgressが呼び出され、Progressクラスによってプログレスバーの表示が変化されるようになっています。
frmProgressが呼び出されている間は、ownerfom は操作無効にしたいのです。
frmProgressは、どぼんさんのコードをほぼそのまま使用させていただいております。
ttp://dobon.net/vb/dotnet/programing/progressdialog.html
異なる点は、Showにownerの引数を追加して、
Runの中のshowdialogでownerを指定しているだけです。
VS2003では問題なく動いておりましたが、
VS2005にした時点でエラーとなってしまいました。
御教授御願い致します。
0906デフォルトの名無しさん
2008/12/12(金) 22:16:130907デフォルトの名無しさん
2008/12/12(金) 22:19:15どぼん氏の所のコードをそのまま2005で作ってエラーが出るかどうか試してみるところから始めてみたらどうだろうか
0908デフォルトの名無しさん
2008/12/12(金) 22:21:460909デフォルトの名無しさん
2008/12/12(金) 22:25:04線を引く→Graphics.DrawLine
これで必要十分のはずだよ
あとはVBと直接関係ない
0910デフォルトの名無しさん
2008/12/12(金) 22:27:500911デフォルトの名無しさん
2008/12/13(土) 01:20:16>Runの中のshowdialogでownerを指定しているだけです。
それが致命的なわけだ。
まあ2005でもデバッグ実行じゃなければ動くだろ。
どっかでおかしくなってても知らんが。
0912デフォルトの名無しさん
2008/12/13(土) 01:21:41プログレス表示を元のスレッドでやるべき。
0913デフォルトの名無しさん
2008/12/13(土) 02:27:52DefaultProc = SetWindowLong(oControl.hWnd, GWL_WNDPROC, AddressOf WindowProc)
↑これVB6.0のソースなんだけど
VB.NETだとどうかけばいいの?
AddressOf WindowProcのところでエラーになるんだけども
(ちなみにAPI関数SetWindowLongは↓このように宣言してます)
Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
0914デフォルトの名無しさん
2008/12/13(土) 02:38:29「方法 : コールバック関数を実装する」で検索
0915デフォルトの名無しさん
2008/12/13(土) 09:44:540916デフォルトの名無しさん
2008/12/13(土) 09:46:370917デフォルトの名無しさん
2008/12/13(土) 09:48:260918デフォルトの名無しさん
2008/12/14(日) 17:53:09一つのFormに二つのPictureBoxを配置して、
片方のPictureBoxの任意の位置の四角い範囲を
もう片方のPictureBoxの任意の位置へコピーする場合どのようなソースになるのでしょう?
PictureBox1(x,y,w,h)の領域を→PictureBox2(x,y)へコピーしたいという事です
よろしくお願いします
0919デフォルトの名無しさん
2008/12/14(日) 17:57:50Bitmap.DrawImageを使うんだ
0920デフォルトの名無しさん
2008/12/14(日) 18:46:150921918
2008/12/14(日) 19:01:57Bitmapオブジェクトで実現するって事で良いのですか?
元の画像をbitmapに読み込んで、もう一つのbitmapに部分複写で作成
→出来た物をPictureBoxに貼り付ける方向で調べております
しかし、VBも随分変わりましたね、オブジェクト思考?の基礎も
よく判っていないので、何から調べてよいのかすら判りません
Bitmap.DrawImageをキーワードに更に調べてみます
ありがとうございました
0922デフォルトの名無しさん
2008/12/14(日) 20:33:42指向な
0923デフォルトの名無しさん
2008/12/14(日) 21:46:050924デフォルトの名無しさん
2008/12/14(日) 21:54:00ローカルのファイルは
System.IO.File.GetLastWriteTime(FILE_PATH)
で取得できるのですが、ファイルサーバーにアクセスするにはユーザー名とパスワードが必要なため
どのようなコードを書けばよいのか分からないのです。
0925デフォルトの名無しさん
2008/12/14(日) 21:54:280926デフォルトの名無しさん
2008/12/14(日) 21:57:54>>924。
ファイルサーバーじゃ抽象的でわからん。
もっと具体的に。
0927デフォルトの名無しさん
2008/12/14(日) 22:08:30ファイルを置くためのサーバーで、普段はFFFTPというソフトでファイル転送を行っているのですが
その際の設定は
「ホストの設定名」→任意
「ホスト名」→192.168.x.xx
でユーザー名とパスワードを指定するという感じです。
0928デフォルトの名無しさん
2008/12/14(日) 22:14:090929デフォルトの名無しさん
2008/12/14(日) 22:22:59よくわかっていないのですが、WNetAddConnection2でドライブ名を割り当てて参照するようにすればいいのでしょうか?
FILE_PATH = "\\192.168.x.xx\home\foo.txt"
System.IO.File.GetLastWriteTime(FILE_PATH)
みたいな感じでドライブ名を割り当てずにできないかとも思っているのですが、ここでユーザー名とパスワードの扱いを
どうすればいいのかわからないのです。
0930デフォルトの名無しさん
2008/12/14(日) 22:27:27FtpWebRequest辺りか
0931デフォルトの名無しさん
2008/12/14(日) 22:28:230932デフォルトの名無しさん
2008/12/14(日) 22:38:58ありがとうございます。
このあたりのことでしょうか?
http://dobon.net/vb/dotnet/internet/ftpwebrequest.html#getdatetimestamp
しかし、931氏もおっしゃっているように、共有ディレクトリに対してもこの方法は使えるのでしょうか?
0933デフォルトの名無しさん
2008/12/15(月) 01:22:30共有フォルダ VB.Net
あたりでググれば出てくるかと。
0934デフォルトの名無しさん
2008/12/15(月) 06:42:33ありがとうございます。
しかし、ググってもVB.netのサンプルが見つからないんですよ。
WNetAddConnection2を使えばいいのでしょうか?
0935デフォルトの名無しさん
2008/12/15(月) 09:30:340936デフォルトの名無しさん
2008/12/15(月) 10:04:550937デフォルトの名無しさん
2008/12/15(月) 10:33:430938デフォルトの名無しさん
2008/12/15(月) 14:48:27プログラムを単発で呼び出すとちゃんと動作してくれるんですが、別フォームからmicrosoft.visualbasic.shellで
呼び出して表示すると取ってくるフォームの縦横幅がおかしくなってしまってます、画面幅は正常でした
何か原因に心当たりがあれば教えて頂きたい
0939938
2008/12/15(月) 15:57:320940デフォルトの名無しさん
2008/12/15(月) 17:21:400941デフォルトの名無しさん
2008/12/15(月) 23:01:59http://dobon.net/vb/bbs/log3-13/7329.html
試してないけど、質問者は成功してるようだからこれは回答の一つだろう。
使う機会がないので詳しく追ったことはないが、WMIをキーワードに加えて検索しても
やり方は見つかりそう。
0942デフォルトの名無しさん
2008/12/15(月) 23:05:55相手が FTP なら無理。WebDAV ならありなんだけどなw
0943デフォルトの名無しさん
2008/12/15(月) 23:18:08Windowsの共有フォルダのアクセスは
>>934
>>941
あたり
FTPは
>>932
か?
0944デフォルトの名無しさん
2008/12/15(月) 23:58:27ありがとうございます。
ファイルサーバーは多分バッファローのNASだと思います。
dosでnetuseを使ってもいけそうな気もするのですが、自宅にはネットワーク環境がないので試せないのです。
今日は時間がとれなくて試せなかったけれど、明日辺り仕事の空き時間に少し試せればと思っています。
0945デフォルトの名無しさん
2008/12/16(火) 19:40:34スクロールバーが表示されるまで、パネルにある程度追加したあと、
スクロールバーを一番下までスクロールしたあと、コントロールを
追加すると、配置される場所が意図した場所でなくなります。
具体的には下記コードでボタンを連打してコントロールを追加する
までは意図通りなのですが、スクロール後、ボタンを押すと間が開いてしまいます。
相対座標がポイントだと思いますが、アドバイスをお願いいたします。
Public Class Form1
Protected WithEvents _AddCtrlButton As New Button
Protected WithEvents _Pane As New Panel
Protected _LastTop As Integer = 10
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Me.Controls.Add(_AddCtrlButton)
Me.Controls.Add(_Pane)
_AddCtrlButton.Location = New System.Drawing.Point(0, 0)
_Pane.Location = New System.Drawing.Point(0, 20)
_Pane.AutoScroll = True
End Sub
Private Sub AddCtrlButton_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles _AddCtrlButton.Click
Dim Ctrl As New TextBox
_Pane.Controls.Add(Ctrl)
Ctrl.Location = New System.Drawing.Point(1, _LastTop)
_LastTop += Ctrl.Height + 2
End Sub
End Class
0946デフォルトの名無しさん
2008/12/16(火) 19:57:30子コントロールの位置もそこから起算されるから、
スクロールするだけで子コントロールのLocationも変わる。
AutoScrollPositionを考慮に入れないと駄目。
0948デフォルトの名無しさん
2008/12/16(火) 23:41:03エクセルの拡大とか縮小のイメージです。200%みたいな。
方法ご存知の方いましたらご教授ください。よろしくお願いします。
0949デフォルトの名無しさん
2008/12/16(火) 23:58:14JPEG画像をWindowsの標準回転機能(90度づつ右や左へ)回転させる機能が作りたい。
ボタンを2つ配置して、�@左へ90度、�A右へ90度回転としたい。
現状では、ピクチャボックスへ画像が表示されていて、見た目だけはフリップメソッドやらで動くんだけど、ファイルは
更新保存されていません。
JPEGの保存やEXIF情報の書き換えなんかは助力を得ながら完成したんだけど、
なにかヒントになるようなキーワードを教えて貰えませんか?
標準的な機能だとは思うので、神様がいれば参考コードをくださるとホントはありがたいのですけれど・・。
0950デフォルトの名無しさん
2008/12/17(水) 00:03:54表示だけならいけると思うけど、入力もするの?
>>949
意味がわからん。できないのは回転? それとも保存?
何ができて何ができないのかを明確にしような。
0951デフォルトの名無しさん
2008/12/17(水) 00:05:18簡単にやるなら回転後のサイズのBitmapオブジェクトを新しく作って
回転行列のColorMatrixを作ってGraphics.DrawImageの引数に渡す
本格的にやるならPaint.NETのソースコードをパクるといいと思う
0952デフォルトの名無しさん
2008/12/17(水) 00:06:53ありがとうございます。
倍率を変えた状態で入力するかどうか決まっておりません。
表示の方法だけでも教えていただけませんか。
0954デフォルトの名無しさん
2008/12/17(水) 00:11:27CopyFromScreen() とか使って、イメージを拡大コピーすればOKでしょ
0955デフォルトの名無しさん
2008/12/17(水) 00:15:12つまりソースファイルだけをバージョン管理したいんだけど、
どの拡張子のファイルを管理すべきなのでしょうか?
0956デフォルトの名無しさん
2008/12/17(水) 00:16:26ありがとうございます。
スクロール可能にしなければならないのでハードコピーでは無理かもです。
0957デフォルトの名無しさん
2008/12/17(水) 00:16:330958デフォルトの名無しさん
2008/12/17(水) 00:16:43どんな質問だよ
0959デフォルトの名無しさん
2008/12/17(水) 00:19:360960デフォルトの名無しさん
2008/12/17(水) 00:21:23Excel もそういう動きじゃね?
0961デフォルトの名無しさん
2008/12/17(水) 00:25:11くやしいんジャマイカ?
0962デフォルトの名無しさん
2008/12/17(水) 00:25:21実行ファイルが出来るbinとobjフォルダを対象外にするだけでいいんちゃうの?
リソースとかも対象外にしたいのかもしれんけど、更新頻度低いでしょ。
管理しても問題ないと思うけど。
0963デフォルトの名無しさん
2008/12/17(水) 00:27:16自動的にやってくれるんだけどな。
0964デフォルトの名無しさん
2008/12/17(水) 00:27:31君「頭悪いなお前」ってよく人に言われるでしょ。
0965デフォルトの名無しさん
2008/12/17(水) 00:28:48VSS基準で考えるのはよくないな。
0966デフォルトの名無しさん
2008/12/17(水) 00:30:32なんで? ソース管理ツールに何を使ってるか言わない時点で、VSS の可能性は
排除できないよ。単に、VSS の使い方をわかってないだけ、って可能性もあるし。
0967デフォルトの名無しさん
2008/12/17(水) 00:47:07↓ここの「ソース管理によるファイルの処理」が参考になるかも
ttp://msdn.microsoft.com/ja-jp/library/ms171339(VS.80).aspx
0968デフォルトの名無しさん
2008/12/17(水) 02:36:16こんな感じのプログレスバーで中止ボタン押されたらメインのループ処理止めるって方法が分からんのです。
0969デフォルトの名無しさん
2008/12/17(水) 02:51:15流れ無視して悪いが、めちゃ吹いたw
確かに起こらないイベントは拾えんなww
0970デフォルトの名無しさん
2008/12/17(水) 09:08:470971デフォルトの名無しさん
2008/12/17(水) 09:11:33zipファイルは見てないけど
BackgroundWorkerでぐぐれ
0972デフォルトの名無しさん
2008/12/17(水) 15:42:33重い処理やってる画面なんかで、
キー入力→コントロール移動(処理)→キー入力とか素早く入力すると、
2回目のキー入力がうまくいかないんで、なんとかしたい。
例
項目1に「ABC」と入力
↓
項目2へ移動(Validating処理で時間がかかる。処理中は砂時計)
↓
まだ処理中(砂時計)の状態で「123」とキー入力
↓
項目2には「23」と表示され「1」がどこかへいってしまっている。
調べてみたらバッファ?とかいうのが関係するかもしれないことまではわかったんだが、
具体的に何すれば解決するのかわからないんで、どうかアドバイスお願いします。
0973デフォルトの名無しさん
2008/12/17(水) 16:29:28メインスレッドで時間のかかる処理しちゃダメ
>>971のBackgroundWorkerを使うなら
バックグラウンドで別スレッドで処理させるのはそのループ処理の方
>>972
Validation処理がまずいだけなんじゃないの
どう実装しても時間がかかるなら項目ごとに検証せずにまとめてやるとか
0974デフォルトの名無しさん
2008/12/17(水) 17:54:130975デフォルトの名無しさん
2008/12/17(水) 18:04:000976デフォルトの名無しさん
2008/12/17(水) 20:28:530977デフォルトの名無しさん
2008/12/17(水) 23:30:240978デフォルトの名無しさん
2008/12/17(水) 23:45:42既存のテキストエディタよりも便利なものを作って自分自身で使うとか考えているのであれば
テキストボックス貼り付けて終わりみたいなレベルの話じゃないから
かなり低いレベルから自分で実装することになる
自分で頑張れとしか言えない
0979デフォルトの名無しさん
2008/12/17(水) 23:54:37そうか……地道にやるしかないか。わかった。頑張ってみるわ。
ありがと
0980デフォルトの名無しさん
2008/12/18(木) 01:59:55SharpDevelopのソースでも見たらどうだ?
俺は挫折した。
0981デフォルトの名無しさん
2008/12/18(木) 11:31:31>>973
Validation処理は仕様とかいろいろ関わってくるからもう一度確認してみる。
検証についてはちょっと触ったことないんで調べていろいろ試してみる。
>>974
バックグラウンドワーカーについて調べてみたが、
処理状態を確認・キャンセルできるイベントが使えるようになる?みたいなことは書いてあったんだが、
どういう風に使うのか理解できんかった・・・すまん
0982デフォルトの名無しさん
2008/12/18(木) 16:23:09状態確認とかキャンセルとかMSのサンプルだと確かに分かりにくいですね
長文で申し訳ないですが、下記がキャンセルと進行状況の例ですWorkerReportProgressとWorkerSupportsCancellationをtrueにしてくださ
い使っているのはボタン2とテキストボックス(multiline=true)とBackgroundWorker
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 cnt As Integer = 0
While cnt < 5
If BackgroundWorker1.CancellationPending Then Return
System.Threading.Thread.Sleep(1000)
cnt += 1
BackgroundWorker1.ReportProgress(cnt)
End While
End Sub
Private Sub BackgroundWorker1_ProgressChanged(ByVal sender As System.Object, ByVal e As
System.ComponentModel.ProgressChangedEventArgs) Handles BackgroundWorker1.ProgressChanged
TextBox1.Text += "..."
TextBox1.Text += e.ProgressPercentage.ToString
TextBox1.Text += vbCrLf
End Sub
Private Sub BackgroundWorker1_RunWorkerCompleted(ByVal sender As System.Object, ByVal e As
System.ComponentModel.RunWorkerCompletedEventArgs) Handles BackgroundWorker1.RunWorkerCompleted
TextBox1.Text += "End Of Thread!!"
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
BackgroundWorker1.CancelAsync()
End Sub
0983デフォルトの名無しさん
2008/12/18(木) 17:34:430984デフォルトの名無しさん
2008/12/18(木) 23:32:280985デフォルトの名無しさん
2008/12/19(金) 07:22:470986デフォルトの名無しさん
2008/12/19(金) 21:16:250987デフォルトの名無しさん
2008/12/19(金) 21:47:360988デフォルトの名無しさん
2008/12/19(金) 22:18:460989デフォルトの名無しさん
2008/12/19(金) 22:27:23http://msdn.microsoft.com/ja-jp/library/system.windows.controls.primitives.statusbar.aspx
http://msdn.microsoft.com/ja-jp/library/system.windows.controls.separator.aspx
セパレータは項目を区切るためのコントロールです。
よくスタートメニューで使われている棒みたいなのです。
0990デフォルトの名無しさん
2008/12/19(金) 22:28:58メニューです
0991デフォルトの名無しさん
2008/12/19(金) 22:34:000992デフォルトの名無しさん
2008/12/19(金) 22:55:39フォームに ToolStrip 作って Separator を挿入、
Separator をカット&StatusStrip を選択してペースト。
なんで直接挿入できないかは知らん。
>>991
立ててみる。
0993デフォルトの名無しさん
2008/12/19(金) 23:01:26VB.NET質問スレ(Part28)
http://pc11.2ch.net/test/read.cgi/tech/1229695062/l50
0994デフォルトの名無しさん
2008/12/19(金) 23:06:32thx!
やっと進める…
0995デフォルトの名無しさん
2008/12/19(金) 23:17:220996デフォルトの名無しさん
2008/12/19(金) 23:31:080997デフォルトの名無しさん
2008/12/20(土) 00:17:020998デフォルトの名無しさん
2008/12/20(土) 00:32:090999デフォルトの名無しさん
2008/12/20(土) 00:35:401000デフォルトの名無しさん
2008/12/20(土) 00:39:3910011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。