VB.NET質問スレ(Part34)
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001デフォルトの名無しさん
2010/04/12(月) 00:08:01VB.NET質問スレ(Part33)
http://pc12.2ch.net/test/read.cgi/tech/1263738929/
テンプレは >>2-4 あたり
0002デフォルトの名無しさん
2010/04/12(月) 01:24:11http://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
0003デフォルトの名無しさん
2010/04/12(月) 01:24:53http://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/
0004デフォルトの名無しさん
2010/04/12(月) 01:25:38http://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
VB中学校
http://homepage1.nifty.com/rucio/main/main.htm
初心者から中級者のためのVB
http://www7b.biglobe.ne.jp/~vb_beginner2008/
テンプレここまで
0005デフォルトの名無しさん
2010/04/12(月) 01:29:09つか
テンプレ貼ってねえから貼っといてやったぞ
寝る
0006デフォルトの名無しさん
2010/04/12(月) 01:55:22http://pc12.2ch.net/test/read.cgi/tech/1263738929/994
>ともかく、横断的な観点で何らかの処理を行いたいとき、
>クラスを拡張して各クラスに書くってのは、もはや一般的にもあまり推奨されないやり方になってる。
馬鹿の一つ覚え的だなあ。
継承よりコンポジションを重視する最近(でもないけど)の流れは俺も正しいと思うんだけど、
コントロールに関しては前にも書いたとおりダメ。
デコレーターパターンとか使えないんだからさあコントロールは。
ToolTipがどうのとか言ってるけど、あれはIDEの支援があるのと、
あの手の機能がそうはない(ツールチップを出す機能を負ってるのははToolTipに決まってる!)
から成立しているのであって、あんなものを一般化してどうするんだ。
というか、意地でもコードを再利用したいのなら、コンポジションでも
「TextBoxを」ユーティリティクラスが持つのではなく、「TextBoxの派生クラスが」
ユーティリティクラスを持つようにしてよ。
そうすれば前に簡単に説明したような弊害は起こらないから。
0007デフォルトの名無しさん
2010/04/12(月) 03:16:380008デフォルトの名無しさん
2010/04/12(月) 03:17:45馬鹿の一つ覚え的だなあ
0009デフォルトの名無しさん
2010/04/12(月) 03:18:37>あの手の機能がそうはない(ツールチップを出す機能を負ってるのははToolTipに決まってる!)
横断的な処理とかつまりそういうことじゃないの?
0010デフォルトの名無しさん
2010/04/12(月) 03:20:26>ユーティリティクラスを持つようにしてよ。
それをやると何かするコントロールはみんな派生する必要があるわけだ。
0011デフォルトの名無しさん
2010/04/12(月) 03:22:04全部派生クラスを作る必要がある。
拡張プロバイダとかでできる範囲ならそんな必要はない。
0012デフォルトの名無しさん
2010/04/12(月) 03:53:44>コントロールに関しては前にも書いたとおりダメ。
>
>デコレーターパターンとか使えないんだからさあコントロールは。
ホントに意味分かって書いてるのか?君は
0013デフォルトの名無しさん
2010/04/12(月) 03:54:46ttp://pc12.2ch.net/test/read.cgi/tech/1263738929/993
なんでこっちに触れない?
0014デフォルトの名無しさん
2010/04/12(月) 07:20:30つか
お前ら新スレになってもま〜だやってんのか
この手の論争は長引くな
なんかVBスレっぽくねぇけど、こうゆうのも活気があって悪くねぇか
もう思う存分やれ〜
今日は真面目に仕事だ
0015デフォルトの名無しさん
2010/04/12(月) 08:24:41拡張プロバイダならややAOP的な考え方だと思うけどな。
横断的って言ってるのはつまりそういう事だろう。
単なるユーティリティはそれだけじゃパターンも何も無いと思うが。
0016デフォルトの名無しさん
2010/04/12(月) 22:33:250017デフォルトの名無しさん
2010/04/13(火) 00:03:51何か推奨の書き方とかあったら教えてください。
ReDim Me.Elements(-1) ' 負の数でReDimする
Me.Elements = New Object() {} ' 空の配列を与える
Me.Elements = Nothing ' ← NG (参照をなくしたい訳ではなく0個の配列にしたい)
0018デフォルトの名無しさん
2010/04/13(火) 00:11:000019デフォルトの名無しさん
2010/04/13(火) 00:15:16そう言う内部的な話ではなくて…
0020デフォルトの名無しさん
2010/04/13(火) 00:20:560021デフォルトの名無しさん
2010/04/13(火) 10:34:57>>17
俺の場合は
データが保持不要→空の配列
データ保持必須→Redim
かな
昔は Nothing の代わりに Erase なんてのもあったな
0022デフォルトの名無しさん
2010/04/13(火) 11:53:582010でVBは何か変わるのでしょうか?
何も変わらないのであればVerUPする必要もないかな、と思いまして。。。
0023デフォルトの名無しさん
2010/04/13(火) 12:05:20一応ArrayにResizeってのが用意されているが
Me.Elementsの中身(配列の参照)を
何処かで保持してるって事はないよな?
配列はサイズ変更したら別インスタンスになるから
全ロジックでMe.Elements経由で参照してないと…
0024デフォルトの名無しさん
2010/04/13(火) 12:10:58基本的にWinFormsは放置
VB自体は言語仕様が変わってプロパティを定義するのが楽になったり
行継続の_が不要になったりする
0025デフォルトの名無しさん
2010/04/13(火) 12:34:50速いですか?
0026デフォルトの名無しさん
2010/04/13(火) 12:45:20ちょっとつまっています
写真のような画像であれば保存先からピクチャボックス、フォームに移して
CopyFromScreenで解決しそうですが
webや動画みたいものはその方法が使えません
その場合はAPIに頼る他ないでしょうか?
写真のように切り取りたいのです
print Screenで画面まるごと取得って手はアレすぎますし・・・
0027デフォルトの名無しさん
2010/04/13(火) 13:03:46redimも別のインスタンスになるから空の配列と同じ
>>25
速い
>>26
>写真のような画像であれば保存先からピクチャボックス、フォームに移して
>CopyFromScreenで解決しそうですが
これが何がしたいのか分からない
0028デフォルトの名無しさん
2010/04/13(火) 13:06:40でも逆に今までのソースが流用出来そうな感じですね
今後はWPFが主流になっていくのかな?
0029デフォルトの名無しさん
2010/04/13(火) 13:15:34VBerには無縁な新機能もいろいろ
0030デフォルトの名無しさん
2010/04/13(火) 13:20:580031デフォルトの名無しさん
2010/04/13(火) 13:26:12VBでDIとかParallel.Forとかw
0032デフォルトの名無しさん
2010/04/13(火) 14:05:10まあ、使うことは無いだろうが。
0033デフォルトの名無しさん
2010/04/13(火) 14:15:52機能の割にはとっても使いやすいフレームワーク
0034デフォルトの名無しさん
2010/04/13(火) 14:45:530035デフォルトの名無しさん
2010/04/13(火) 15:43:18Entity Frameworkを使いましょう
0036デフォルトの名無しさん
2010/04/13(火) 19:12:28mouse_event(&H800, 0, 0, 120, 0)
ググッってサンプルで見かけたけど、うんともすんとも言わないんだけど。
何か知ってる人いたら教えて下さい><
0037デフォルトの名無しさん
2010/04/13(火) 22:33:16Interfaceって、どういう状況で使うのですか?
0038デフォルトの名無しさん
2010/04/13(火) 22:41:51Me.Elements.Resize(0) だな
ただし、Me.Elements が既に作られていることが前提だ
最初から要素数 0 にしたければ
Me.Elements = New Integer() {} で
>>23
Resize で別インスタンスにはなんないよ
0039デフォルトの名無しさん
2010/04/13(火) 22:43:05メソッドを持つことを強制したいときとか。
0040デフォルトの名無しさん
2010/04/13(火) 22:47:24なるよ
0041デフォルトの名無しさん
2010/04/13(火) 22:49:19もう覚えるのいやだお…
0042デフォルトの名無しさん
2010/04/13(火) 22:52:10大した問題なく使えるならどっちでも良いよ
0043デフォルトの名無しさん
2010/04/13(火) 22:53:53まあ配列の再確保はされるだろうけど・・・
0044デフォルトの名無しさん
2010/04/13(火) 22:55:05△メンバ関数
○メソッド
ボケてた
0045デフォルトの名無しさん
2010/04/13(火) 23:03:11だから>>38みたいな書き方は意味的に間違い
0046デフォルトの名無しさん
2010/04/13(火) 23:17:260047デフォルトの名無しさん
2010/04/13(火) 23:26:10最近使ってないから忘れてた
0048デフォルトの名無しさん
2010/04/13(火) 23:27:21既に作った配列のサイズはどうやっても絶対に変えられません
0049デフォルトの名無しさん
2010/04/14(水) 10:25:03アプリケーションが終了する時に一度だけ処理をさせたいと思い
調べてみたのですが、以下の方法があることがわかりました。
1)エントリポイントに記述する方法
2)My.Applicationを使用する方法
3)Application.ApplicationExitイベントを使用する方法
webで調べていると、3)の記述する場所がサンプルでは
form_load内に記述されていて、注意書きで
「できればエントリポイントの適当な位置で記述したほうがよい」
と書かれていました。
できればform_load内で記述したかったのですが、form内に記述すると
何か問題が発生する可能性があるということなのでしょうか。
0050デフォルトの名無しさん
2010/04/14(水) 10:31:19アプリの作りによっては同じフォームを複数回開くことになるから、
ApplicationExitイベントを多重登録する場合がある。
0051デフォルトの名無しさん
2010/04/14(水) 10:47:55なるほど。すっかり頭から抜けてました。
ありがとうございます。
0052デフォルトの名無しさん
2010/04/14(水) 19:14:28DataAdapterの機能はTableAdapterでカバーされている様にも見えます
それならDataAdapterいらねーじゃんって事なんですが
存在しているので何かしら意味はあるんだろーなと
0053デフォルトの名無しさん
2010/04/14(水) 19:41:380054デフォルトの名無しさん
2010/04/14(水) 19:58:52そうゆう事じゃなくて違いを知りたい
2つを分けている理由ってやつ
0055デフォルトの名無しさん
2010/04/14(水) 20:11:56基底クラスのFormなんてなんで別にあるの?って疑問がわいたりする?
0056デフォルトの名無しさん
2010/04/14(水) 20:25:13フォームは色々とコントロールを配置するという理由があるよね?
DataAdapterの場合はDataAdapterのみで完了しちゃうじゃん
わざわざTableAdapterを用意する理由が知りたい
俺はデザイナで手軽に扱える?くらいしか思いつかない
0057デフォルトの名無しさん
2010/04/14(水) 20:52:51常駐型なら、サービスにしなよ。
0058デフォルトの名無しさん
2010/04/14(水) 20:54:35例えが悪い
TableAdapter の基底クラスは System.ComponentModel.Component
0059デフォルトの名無しさん
2010/04/14(水) 21:02:39似たような役割を果たしてるだろ?
0060デフォルトの名無しさん
2010/04/14(水) 21:06:24自分でメソッドを追加したりできる。
UpdateやDelete などの操作に対応するメソッドを自動で作成させることもある。
型指定されたDataSetやDataTableだけを渡せるUpdateラッパーも作ってくれる。
まあ別にこの辺含めて一切不要なら使わなくてもいいんじゃない?
0061デフォルトの名無しさん
2010/04/14(水) 21:07:40じゃ >>55 こんなレスすんなよw
006252
2010/04/14(水) 21:23:46複数のクエリを扱い易くした、というか扱えるのがTableAdapterという事ですね。
確かに自動作成されたメソッドは楽です^^
DataAdapterでもSqlCommandBuilderで自動化は出来るけど複数は面倒…って事ですね。
いや〜実はテーブルが増えてデザイナが超混雑してて、違いも理解せずに
DataAdapterで出来るところはDataAdapterに置き換えてたんです。
疑問が解決しました。とっても、ありがとう〜!!
0063デフォルトの名無しさん
2010/04/14(水) 21:27:130064デフォルトの名無しさん
2010/04/14(水) 21:28:47ipアドレスを変更するツールを作ろうと思っています。dhcpと静的IPアドレス(192.168.0.5など)を切り替えたいのですが、うまく行きません
WMIというSDKが必要だと思うのですが、DLできる場所が分かりません・・
別の方法ではコマンドプロンプトの機能を使うと思われるのですが、うまくいきませんでした、どうすればよいでしようか?
コードは↓です。解決方法を教えてください!よろしくお願いします。
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
Dim results As String
Dim psi As New System.Diagnostics.ProcessStartInfo()
'ComSpecのパスを取得する
psi.FileName = System.Environment.GetEnvironmentVariable("ComSpec")
'出力を読み取れるようにする
psi.RedirectStandardInput = False
psi.RedirectStandardOutput = True
psi.UseShellExecute = False
'ウィンドウを表示しないようにする
psi.CreateNoWindow = True
'コマンドラインを指定("/c"は実行後閉じるために必要)
psi.Arguments = "pushd interface ip" & vbCrLf & _
"set address ""ローカル エリア接続 2"" static 192.168.0.5 255.255.255.0 192.168.0.5" & vbCrLf & _
"set dns ""ローカル エリア接続 2"" static 192.168.0.5 primary" & vbCrLf & _
"set wins ""ローカル エリア接続 2"" static none"
Dim p As System.Diagnostics.Process = System.Diagnostics.Process.Start(psi)
'出力を読み取る
results = p.StandardOutput.ReadToEnd
'出力された結果を表示
TextBox1.Text = results
'WaitForExitはReadToEndの後である必要がある
'(親プロセス、子プロセスでブロック防止のため)
p.WaitForExit()
End Sub
0065デフォルトの名無しさん
2010/04/14(水) 21:34:38とりあえず、Win32_NetworkAdapterConfiguration.EnableDHCP() メソッドで
DHCP を有効にはできるみたいだね。
で、静的なアドレスの方を有効にするには、EnableStatic() メソッドか。
そのコマンドラインがなんなのか知らんけど、コマンドプロンプトで
実行して動くの? netsh とかでなく?
0066デフォルトの名無しさん
2010/04/14(水) 21:36:25もうだめです・・
0067デフォルトの名無しさん
2010/04/14(水) 21:36:480068デフォルトの名無しさん
2010/04/14(水) 21:37:25無知を晒しちゃったけどw
もう解決したみたいだからいいじゃないw
0069デフォルトの名無しさん
2010/04/14(水) 21:45:46ありがとうございます
ちなみに名前空間は何になるんでしょうか?
> 'Win32_NetworkAdapterConfiguration' は宣言されていません
と言われてしまいます。Imports System.Management.Instrumentationあたりかと思いましたが違うようです
>>67
なんとー!やってみます。
0070デフォルトの名無しさん
2010/04/14(水) 21:54:160071デフォルトの名無しさん
2010/04/14(水) 21:58:56また詰まらんことを嬉しそうに、お前最近にキチガイか?
>そんなことはどうでもいい。
>似たような役割を果たしてるだろ?
Form基底クラスもDataAdapterも似たような役割って言ってるんだが何が無知なの?
基底クラスであることと部品として使ってることの違いはどうでもいいって意味で言ってるんだよ。
ついでにどうでもいいが>>60も俺なわけだが。
0072デフォルトの名無しさん
2010/04/14(水) 22:00:16linuxでしょうか?windowsだとrootという名前のフォルダがないです・・
0073デフォルトの名無しさん
2010/04/14(水) 22:01:230074デフォルトの名無しさん
2010/04/14(水) 22:02:32俺はTableAdapterの基底クラスを自作してデザイナで指定するやり方をよく使うから、
デフォルトがそれだってことなんぞ最初から知っとるわい。
0075デフォルトの名無しさん
2010/04/14(水) 22:04:32おっとそれは失礼
007664
2010/04/14(水) 22:18:50ベクターでソフト落とします;;
0077デフォルトの名無しさん
2010/04/14(水) 22:26:280078デフォルトの名無しさん
2010/04/14(水) 22:33:48もしくは寝る時間
0079デフォルトの名無しさん
2010/04/14(水) 22:38:320080デフォルトの名無しさん
2010/04/18(日) 07:27:070081デフォルトの名無しさん
2010/04/19(月) 21:23:310082デフォルトの名無しさん
2010/04/19(月) 22:51:190083デフォルトの名無しさん
2010/04/19(月) 23:09:51既存の処理を実行するフォームは、ボタンクリックで処理しているので、終わるまで何もできません。
また、事情があり、この処理をスレッドにしたくもありません。
追加するフォームを表示/非表示するだけで処理待ちを実現したいです。
現状、このようなことをすると、追加したフォーム(Form2とします)は、クライアント領域が再描画されず真っ白になってしまいます。
かといって、Form2内で、再描画処理をスレッド化して数ms置きにInvokeやPostMessageで無理やり表示しようとしても、異なるスレッドから呼び出された、と言って文句を垂れて表示してくれません。
何とかならないものでしょうか?
0084デフォルトの名無しさん
2010/04/19(月) 23:12:48処理の方をスレッドに分けて、そっちから Invoke() するようにしましょう。
0085デフォルトの名無しさん
2010/04/19(月) 23:18:49下らない小細工を考えるより、素直にスレッド使おうよ。
事情がある?
単に横着なだけじゃないの?
というか、そんな下らない策を弄する元気があるのなら、
素直にスレッド使った方がずっと楽だし簡単だと思うけど。
0086デフォルトの名無しさん
2010/04/19(月) 23:18:58そんなことやるくらいなら別スレッド作ってから
そのスレッドでForm2表示しろよ。
まあ俺はやらんけどな。
0087デフォルトの名無しさん
2010/04/19(月) 23:21:520088デフォルトの名無しさん
2010/04/19(月) 23:27:34ありがとうございます。スレッド化するのも視野に入れて考え直してみます。
>87
そんなことイワンでくれよ。
「仕事で」.NETのくそったれクラスを使ってやたら迂遠な書き方をしなきゃならんのだぜ。
ストレスたまりまくり。
0089デフォルトの名無しさん
2010/04/19(月) 23:33:25これ読んで悔い改めた方がいいかもね
http://blogs.wankuma.com/jeanne/archive/2006/08/02/34597.aspx
VB6上がりの人っぽい感じだけど、VB6にも一応クラスの機能はあったんだよ。
使ってなかったの?
0090デフォルトの名無しさん
2010/04/19(月) 23:37:50使わせていただきました。
継承できないハンチクな奴でしたね。
0091デフォルトの名無しさん
2010/04/19(月) 23:40:080092デフォルトの名無しさん
2010/04/19(月) 23:44:37快適かどうかが問題なら、あのデザイナの遅さは筆舌に尽くしがたい。
ボタン100個程度の再表示でコーヒーが飲み干せる。
開発用マシンがあんましメモリないせいかも試練が。
0093デフォルトの名無しさん
2010/04/19(月) 23:46:030094デフォルトの名無しさん
2010/04/19(月) 23:46:32って話だな。
0095デフォルトの名無しさん
2010/04/19(月) 23:52:47そんな人間に何を期待してもダメ。
0096デフォルトの名無しさん
2010/04/20(火) 00:19:24今回の話は.NET以外だともっと大変だろ…
少なくとも.NETより楽にはならんだろどう考えても。
0097デフォルトの名無しさん
2010/04/21(水) 01:07:29アセンブリのバージョン管理ってみなさんやっていますか?
パッケージ開発とかであればやったほうがいいんだろうけど、
管理コストに比べ、やるメリットがあまり思いつかないんですが・・・。
だれか教えてください
0098デフォルトの名無しさん
2010/04/21(水) 01:52:58いやそれでも使った方がいろいろ洛だと思うけど
0099デフォルトの名無しさん
2010/04/21(水) 07:04:52ひとりで出来るような規模なら
バージョン毎にディレクトリ作って
プロジェクトフォルダ全部ぶちこめ
0100デフォルトの名無しさん
2010/04/21(水) 09:17:470101デフォルトの名無しさん
2010/04/22(木) 06:18:43WebClient.UploadFileを使ってFTPにファイルをアップロードし
それが完了するまで待機というものを実現したいのですが
アップロード完了を確認する方法はありますか?
よろしくお願いします
0102デフォルトの名無しさん
2010/04/22(木) 16:46:280103デフォルトの名無しさん
2010/04/22(木) 16:58:480104デフォルトの名無しさん
2010/04/22(木) 16:59:390105デフォルトの名無しさん
2010/04/22(木) 17:53:090106デフォルトの名無しさん
2010/04/23(金) 09:04:330107デフォルトの名無しさん
2010/04/23(金) 21:06:470108デフォルトの名無しさん
2010/04/24(土) 12:03:24先週からVB.netを勉強しだしたんですが
フォームのチェックやテキストボックスの中身などの状態を保存しておくにはどうすればいいでしょうか?
次起動したときにもその状態が維持されてるようにしたいです
お願いします
0109デフォルトの名無しさん
2010/04/24(土) 12:05:090110デフォルトの名無しさん
2010/04/24(土) 15:14:010111デフォルトの名無しさん
2010/04/24(土) 17:11:13に一通り書いてあるしなあ。
0112デフォルトの名無しさん
2010/04/24(土) 18:53:45下手に説明するより、ドキュメント読んだ方が早い場合もあるし。
0113108
2010/04/25(日) 00:06:39調べてみます
0114デフォルトの名無しさん
2010/04/25(日) 00:17:49というふうに、OpenTextFileで上書きモードでファイルを開きたいんですが、
「HRESULT からの例外: 0x800A0046 (CTL_E_PERMISSIONDENIED)」
というエラーが出ます。
C:\aaaa.datのアクセス許可はeveryoneでフルコントロールにしてます。
XPでは普通に動いたんですが、Vistaではエラーがでます。
0115デフォルトの名無しさん
2010/04/25(日) 00:24:13C:\ の直下だからかな?
0116デフォルトの名無しさん
2010/04/25(日) 00:25:450117デフォルトの名無しさん
2010/04/25(日) 00:35:37わ、ほんとだ。上書きモードで開けました。
ありがとうございます。
0118デフォルトの名無しさん
2010/04/25(日) 02:43:47Dim konkon As New Musume("紺野あさ美", New DateTime(1987, 5, 7), 5)
Dim nacchi As New Musume("安部なつみ", New DateTime(1981, 8, 10), 1)
Dim mikitty As New Girl("藤本美貴", New DateTime(1985, 2, 26))
Dim ayaya As New Girl("松浦亜弥", New DateTime(1986, 6, 25))
http://smdn.invisiblefulmoon.net/programming/netfx2/overview/serialization/
永続化でググったら、これは・・・
0119デフォルトの名無しさん
2010/04/25(日) 03:01:05JavaやVBみたいな糞文法の言語使ってると馬鹿になる例
0120デフォルトの名無しさん
2010/04/25(日) 04:05:48矢印キーが効かなくなる。なんとかする方法教えてケロ・ω・
0122デフォルトの名無しさん
2010/04/25(日) 10:36:250124デフォルトの名無しさん
2010/04/25(日) 10:57:300125デフォルトの名無しさん
2010/04/25(日) 11:37:24String.Format("{0:00}", DropDownList1.SelectedValue)
0126デフォルトの名無しさん
2010/04/25(日) 11:43:23TextBox1.Text = String.Format("{0:00}", DropDownList1.SelectedValue)
だと「6」のようになり、ゼロで埋まってくれません。
Dim num As Integer = DropDownList1.SelectedValue
TextBox1.Text = String.Format("{0:00}", num)
だと「06」のようになり、成功します。
String.FormatでDropDownList1.SelectedValueを指定する場合、どのように指定すればいいのでしょうか?
0127デフォルトの名無しさん
2010/04/25(日) 11:46:190128デフォルトの名無しさん
2010/04/25(日) 12:11:24String なら Right("00" & DropDownList1.SelectedValue, 2) という方法がある
美しい方法とは言えないが、それなりによく見かける
0129デフォルトの名無しさん
2010/04/25(日) 12:43:39いずれにせよ、Itemsに突っ込む値をちゃんと数値にすれば>>126のコードで
期待するような動作をするはずだと思うけど。
0130デフォルトの名無しさん
2010/04/25(日) 14:39:42インベーダーならMSDNにサンプルあったはず
0131デフォルトの名無しさん
2010/04/25(日) 18:56:33今どきインベーダー作るの禁止。
0132デフォルトの名無しさん
2010/04/25(日) 19:53:200133デフォルトの名無しさん
2010/04/25(日) 19:56:12複数のステートメントを1行に書くのもコロンだし
じゃぁ
Jump1:Dim i As integer
のようにジャンプ先の行に別のステートメントを書いた場合はどうなる?
0134デフォルトの名無しさん
2010/04/25(日) 20:03:060135デフォルトの名無しさん
2010/04/25(日) 20:52:360136デフォルトの名無しさん
2010/04/25(日) 21:23:550137デフォルトの名無しさん
2010/04/26(月) 04:35:55どうすればいいでしょうか?
0138デフォルトの名無しさん
2010/04/26(月) 07:06:07' 7日加算する
dtBirth = dtBirth.AddDays(8)
MessageBox.Show(dtBirth.ToString("yyyy/MM/dd"))
0141デフォルトの名無しさん
2010/04/27(火) 13:28:16の方がVBらしいかなと
0142デフォルトの名無しさん
2010/04/27(火) 15:52:050143デフォルトの名無しさん
2010/04/27(火) 17:46:59毎回ベタに自前で計算するのがVBらしい
0144デフォルトの名無しさん
2010/04/27(火) 22:13:520145デフォルトの名無しさん
2010/04/27(火) 22:20:030146デフォルトの名無しさん
2010/04/27(火) 22:37:440147デフォルトの名無しさん
2010/04/27(火) 22:38:47DateTime.Now.Date だとして、これもVBらしさだろうか?
0148デフォルトの名無しさん
2010/04/27(火) 23:12:15実際にやったら混乱を招くだけだろうけどw
0149デフォルトの名無しさん
2010/04/28(水) 11:45:26textboxに
「あいう
えお
かきく」
とある場合、特定の行(例えば2行目の「えお」)を抜き出す簡単な
方法はありますか?
indexofで改行の場所を取得し、midで抜き出すしかないでしょうか
0150デフォルトの名無しさん
2010/04/28(水) 11:48:550151デフォルトの名無しさん
2010/04/28(水) 12:09:50ありがとうごぜぇます!
0152デフォルトの名無しさん
2010/04/28(水) 12:10:27Dim part As String() = TextBox1.Text.Split(vbCrLf)
0153デフォルトの名無しさん
2010/04/28(水) 12:18:19助かります!!
0154デフォルトの名無しさん
2010/04/29(木) 12:12:49他のアプリのDatagird(datagirdView?)に表示されているデータを取得したいです。
ListViewならSendmessageでLVM_GETITEM等を投げて取得できるようですが、
Datagird(datagirdView?)ではどうやって取得すれば良いのか判りません。
どなたか情報をお持ちの方、教えて頂けないでしょうか。
0155デフォルトの名無しさん
2010/04/29(木) 12:21:39基本無理。
0156デフォルトの名無しさん
2010/04/29(木) 15:16:09Seriesコレクションエディタで棒グラフのメンバを上に持ってきても、プログラムを動作させると
線グラフの上に棒グラフが表示されてしまい、線グラフが見えにくくなってしまいます。
表示する順番を設定するには、何を指定すれば良いのでしょうか?
0157デフォルトの名無しさん
2010/04/29(木) 16:57:02Cashu
でいいんだっけ
0158デフォルトの名無しさん
2010/04/29(木) 17:06:510159デフォルトの名無しさん
2010/04/29(木) 17:22:250160デフォルトの名無しさん
2010/04/29(木) 21:31:28RGBまたは#16進
でどの値をとれば
0161デフォルトの名無しさん
2010/04/29(木) 21:38:45金や銀は、黄土色とか灰色でしかない。
金や銀に見えるのは、金属光沢とか映り込みがあるから
そう見えるだけなので、金属っぽく見せたいなら、
そういうビットマップを貼り付けるのがいい。
0162デフォルトの名無しさん
2010/04/29(木) 22:08:550163デフォルトの名無しさん
2010/04/30(金) 00:39:58映り込みをプログラムで再現してみるのも面白いかもしれない
0164デフォルトの名無しさん
2010/04/30(金) 09:27:37やっぱり無理ですかね・・・
EnumWindow&GetText、
EnumProp&GetProp、
ダメでした。
そういうツールでもあれば良いのですが。
需要あると思うんだけど、見つからないのは無理だからかな・・・
0165デフォルトの名無しさん
2010/04/30(金) 13:20:13以下のサイトでは、CLRについての知識が必要であると書かれていますが、
その系統の事を身につけるにはどうしたらよいのでしょうか?
.NET Framework関連だと思いますが、そのようなタイトルのスレは
この板にはありませんでしたので、とりあえずここで質問してみました。
自分なりに検索してみたところでは、「CLRは複数の言語をサポートする。」
など概要的な説明のサイトくらいしか見つけることが出来ませんでした。
解説サイトや書籍の紹介でもかまいませんのでお願い致します。
http://www.atmarkit.co.jp/fdotnet/vblab/opensemi_06/opensemi_06_01.html
> 配置の知識は特に重要だと思います。グレープシティでも.NETが
> 製品として世に出てきた当初は、「従来あったレジストリ登録は
> 必要ないのか?」「どの場所に配置するのが適切なのか?」など、
> 配置に関するサポートへの質問がとても多かったと記憶しています。
0166デフォルトの名無しさん
2010/04/30(金) 14:53:40勉強したいならテンプレぐら読め
0167デフォルトの名無しさん
2010/04/30(金) 15:31:38テンプレのどれですか?
0168デフォルトの名無しさん
2010/04/30(金) 15:40:26バッチファイルを動かすプログラムを作成したいと考えています。
そこで、スクリーンセイバーが現在起動中かどうかを調べる方法が必要となる訳ですが、
MSDNで調べたのですが、見つけれませんでした。
どなたか方法をご教授いただけないでしょうか。
0169デフォルトの名無しさん
2010/04/30(金) 15:43:130170デフォルトの名無しさん
2010/04/30(金) 15:45:170171デフォルトの名無しさん
2010/04/30(金) 15:50:20ばかでいいので、サイトを教えてほしい、と思った。
0172デフォルトの名無しさん
2010/04/30(金) 15:59:31Win32APIを利用する訳ですね。
ありがとうございました。
0173デフォルトの名無しさん
2010/04/30(金) 16:32:54どうしたらいいですか
0174デフォルトの名無しさん
2010/04/30(金) 16:34:470175デフォルトの名無しさん
2010/04/30(金) 17:11:100176デフォルトの名無しさん
2010/04/30(金) 17:26:400177デフォルトの名無しさん
2010/04/30(金) 17:44:440178デフォルトの名無しさん
2010/04/30(金) 17:52:54.NETですべてがというモットーではあるようだが、
すべてが行えるわけでもない。
0179デフォルトの名無しさん
2010/05/02(日) 22:11:43VB6.0で同様の関数を組んでた時は上手く行ったのですが、
VB.NETに移行してから複数時にアイテムの中身を書き換えると選択状態が外れてしまいます・・・。
ちなみに、最後の項目の中身入れ替えをコメントアウトしたら、選択された状態そのものは入れ替わりました。
実用としては、選択された状態の項目を上下に1つずつ移動・・・というのが目的です。
行数の関係上、テキストに一部抜粋して上げさせて頂きました。
10項目あった内、1,2番目を選択してBTDOWNを押すと、最終的に
元3番目が1番目に来て、その下に元1,2番目が移動し、元1番目のみ選択状態で元2番目の選択が外れる…と言った具合です。ご教授よろしくお願いします。
(SelectionMode=MultiExtendedです)
ttp://www.rupan.net/uploader/download/1272805481.txt
0180デフォルトの名無しさん
2010/05/02(日) 23:38:130181デフォルトの名無しさん
2010/05/03(月) 16:43:49もちろん選択する処理内容は含ませてます(txt参照)。
が、何故かitemの中身を書き換える処理の前後で選択状態がどれか単一状態になってしまいます。
上述の通り、itemを何も書き換えないで選択状態だけを移動した場合はちゃんと複数選択の状態が移動してくれます・・・
半分自己解決ですが・・・item中身の書き換え直後に再度選択処理を入れてやったら改善されました。
もっと効率的な方法が無いか自信が無いですが、もし何か別の手段がありましたらご指摘よろしくお願いします。
ttp://www.rupan.net/uploader/download/1272872486.txt
0182デフォルトの名無しさん
2010/05/04(火) 03:58:18あまり統合開発環境に頼りっぱなしのプログラミングは良くないよ。
技術力というより、ソフトの使い勝手しか身につかない。
0183デフォルトの名無しさん
2010/05/04(火) 04:21:44よろしくお願いいたします
0184デフォルトの名無しさん
2010/05/04(火) 04:41:16とりあえずHTTPで見える所へ置いとけばどうにかなるだろ。
0185デフォルトの名無しさん
2010/05/04(火) 05:42:12vb.netで作ったプログラムのtextboxなどに入力した文字列を
Web上に出力するにはどうすればいいのか教えていただけないでしょうか?
0186デフォルトの名無しさん
2010/05/04(火) 07:27:420187デフォルトの名無しさん
2010/05/04(火) 10:26:230188デフォルトの名無しさん
2010/05/04(火) 11:06:40そうです
プログラムで商品名、金額を入力するとウェブ上にそれが表示されるものを作りたいと思って質問しました
とりあえずMySQLを入れてみたのですが
SQLもaccessもまったくわからないので苦戦してます・・・
0189デフォルトの名無しさん
2010/05/04(火) 11:18:230190183
2010/05/04(火) 11:25:44ええとHTMLと言ったらいいんでしょうか・・・phpと言ったらいいんでしょうか・・・
入力したものをウェブサイト上で更新したいんです
0191デフォルトの名無しさん
2010/05/04(火) 11:34:320192デフォルトの名無しさん
2010/05/04(火) 16:03:190193デフォルトの名無しさん
2010/05/04(火) 16:35:52とりあえずSendKeysでも調べてやってみたら?
0194デフォルトの名無しさん
2010/05/04(火) 16:49:120195デフォルトの名無しさん
2010/05/04(火) 17:40:52>>190
あなたの言っている『ウェブサイト』をブラウザで開いた時のアドレスが『http://〜』か?『C:\〜』とか?
で変わってきます
0196183
2010/05/04(火) 20:48:15なんとなくですが多分僕のやりたいことは
プログラムで入力→データーベースへ保存→ウェブ上でPHPで読み込みし表示
てな感じで出来るんじゃないかなと思うんですがVB.NETでのデーターベースの扱い
データーベースの使い方、PHPでのデーターベースの扱いが分かっておらず混乱しています
>>192
この場合Webページなんですかね・・・
>>193
ローカルでひらいてるページではなく
別サーバーに置かれているページ内に表示したいです
もちろんそのサーバーも自分の運営しているもので、です
>>194
そうです!
>>195
http://〜ですね
言葉足らずで勉強不足ですがどうかよろしくお願いします
0197デフォルトの名無しさん
2010/05/04(火) 21:02:07次に、運営しているWebサーバーとローカルがどうつながってるのか。
その辺から。
つまり、VB.NETが出てくるのは大分先。WebProg板でもいった方がいいよ。
0198デフォルトの名無しさん
2010/05/04(火) 21:02:37データベースのサーバーはVBのプログラムを動かしている
パソコン上で動かしているのか、ウェブサーバーと同じマシン上
で動かしているのか、あるいはそれらとはまた別のマシンなのか?
0199デフォルトの名無しさん
2010/05/04(火) 21:12:54=== 開始 ===
0200183
2010/05/04(火) 21:41:40WindowsXPでXAMPPでMySQLを動かしています
まずVB.NETでデーターベースを扱えるようにと思っているのですが
WebProg板に行った方がいいんでしょうか・・・
>>198
LAN内にある別マシンです
SQLを扱うサイトを参考に
http://codepad.org/5CQvl2t7
こんな感じで書いて見たのですが
con.Open()でどうしてもエラーが発生してしまいます
MySQLの設定ミスだろうとは思うのですがいまいち原因がわからずじまいです・・・
0201デフォルトの名無しさん
2010/05/04(火) 21:43:29> プログラムで入力→データーベースへ保存→ウェブ上でPHPで読み込みし表示
おそらくVBが係わってくるのは『データーベースへ保存』までですね
データベースの種類『MySQL』という事なので
ttp://www.atmarkit.co.jp/fdotnet/dotnettips/789adomysql/adomysql.html
まずはこの辺りからでしょうか
0202183
2010/05/04(火) 21:48:22すいませんWebサーバーでしたね・・・
WebサーバーはApacheです
そのPCでApache + MySQLを動かしています
>>201
ありがとうございます!
見てみます!
0203デフォルトの名無しさん
2010/05/04(火) 22:13:260204デフォルトの名無しさん
2010/05/04(火) 22:50:26Visual Studio 2008でVBをするのと
Visual Basic 2008 Express Editionでするのはどう違うんでしょうか?
0205デフォルトの名無しさん
2010/05/04(火) 22:52:17作れるもの自体は全く同じ
0206デフォルトの名無しさん
2010/05/04(火) 22:52:48上位製品の機能を使わないなら、Expressで充分。
0207デフォルトの名無しさん
2010/05/04(火) 23:07:38起動していて、それぞれが終了する際にログファイルとして
ファイル出力を行っているのですが、OSのシャットダウンを
行った際、片方は出力されていてもう片方は出力されないと
いう現象が起こっています。
アプリケーションは同じexeを利用していて、設定ファイルで
別々のディレクトリにファイルを出力させるようになっているのですが、
片方しか出力されていません。
手動でそれぞれアプリケーションを終了させてあげると、それぞれ両方
ファイルが出力されます。
ログを書き出す契機はform_closedイベントを使っているのですが
これは、OSのシャットダウン処理時にファイル出力処理が間に合わなくて
片方だけ出力されているのか、それとも同じexeファイルを同時に起動
する事が問題なのか、原因がわかりません。
想定できる原因もしくは調べる方法として何かありますか?
0208デフォルトの名無しさん
2010/05/04(火) 23:10:150209デフォルトの名無しさん
2010/05/04(火) 23:17:06プログラム終了時に1回だけ行いたいので
closingは無理ですよね?
0210デフォルトの名無しさん
2010/05/04(火) 23:19:090211デフォルトの名無しさん
2010/05/04(火) 23:20:470212デフォルトの名無しさん
2010/05/04(火) 23:22:440213デフォルトの名無しさん
2010/05/04(火) 23:45:56タスクトレイに収まるタイプです。
notfyiconっていうのを使ってます。
以前closingでやってみたのですが、
タスクトレイに収まるたびにログが書かれてたので
closedに変更しました。
>>210
作りこみなしで簡単にclosingでもできるのですか?
>>211
早速テストしてみます。ありがとうございます。
原因はやはり同じプログラム名でイベントが通知されていない
ってことがありうるということでしょうか。
0214デフォルトの名無しさん
2010/05/04(火) 23:59:260215デフォルトの名無しさん
2010/05/05(水) 04:22:48DataGridViewを配置して
データソースの選択→プロジェクトデータソースの追加→データソース構成ウィザードでデーターベース
→データベースを選択して次へ→接続文字列をアプリケーション構成ファイルに保存するの画面で次へを押すと
エラーメッセージ: アセンブリ 'Microsoft.VisualStudio.DataDesign.SyncDesigner.DeslPackage, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f11d50a3a'から型
'Microsoft.VisualStudio.DataDesign.SyncDesigner.SyncFacade.SyncManager' を読み込めませんでした。
というエラーが出て進みません・・・
調べても
http://connect.microsoft.com/SQLServer/feedback/details/354419/vs
このようなものしか出てこず解決にもなっていません
どうしたら解決できますでしょうか?
よろしくお願いします
WindowsXP
VS2008
です
0216213
2010/05/05(水) 08:39:31だめでしたorz
アプリケーションの作り方の問題なのかなぁ。
もう一度ソース見直してみます。
0217デフォルトの名無しさん
2010/05/05(水) 15:00:17<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="DLLの場所" />
</assemblyBinding>
</runtime>
をapp.configファイルに記載しています。
今度、このapp.configファイルのDLLのパスをvb.netのプログラム内に
埋め込みたいと思っていますが、どこに記述したらよいかわかりません。
ご存じの方教えてください。よろしくお願いします。
0218デフォルトの名無しさん
2010/05/05(水) 15:04:070219デフォルトの名無しさん
2010/05/05(水) 15:19:30>>218
そうですね。無理そうです。
内部に埋め込むことはあきらめます。
ありがとうございました。
0220デフォルトの名無しさん
2010/05/05(水) 21:37:14app.configに記載した
<probing privatePath="DLLの場所" />
というのはいつのタイミングで読み込まれるのでしょうか?
この読み込みする命令のところをprobing privatePathではなく、
固定でDLLの場所を指定すればよいのではないのでしょうか?
0221デフォルトの名無しさん
2010/05/05(水) 21:39:24やりたければ、>>218にあるように、動的にロード。
0222デフォルトの名無しさん
2010/05/06(木) 04:21:49もうひとつ質問なのですが
Connector/Netを使ってSQL文でデータの登録
'SQL文
sqlStr = "INSERT INTO `test`.`test1` (`a`, `b`, `c`, `d`) VALUES ('おはようございます', 'こんにちは', 'こんばんわ', 'Hello');"
'MySQLCommand作成
cmd = New MySqlCommand(sqlStr, con)
'SQL文実行
dr = cmd.ExecuteReader
とすると ?????? ?????? ?????? Hello というように文字化けしてしまいます
phpmyadminで同じSQL文を実行すると正常に日本語が反映されるのですが
VB.NETからの実行だとこのような症状が出てしまいます
尚元々登録してあるデータをDateGridViewに読み込みするのは正常に出来ます
文字コードもutf8で統一しているつもりなのですがなにが原因でしょうか?
よろしくお願いいたします
0223デフォルトの名無しさん
2010/05/06(木) 09:04:250224デフォルトの名無しさん
2010/05/06(木) 17:47:490225222
2010/05/07(金) 03:42:04出来れば勝手に自己解決にしないで頂きたいです・・・
>>222はまだ解決しておりませんよろしくお願いいたします
>>224
接続文字列の設定もちゃんとutf8にしているのですが文字化けしてしまいます・・・
0226デフォルトの名無しさん
2010/05/07(金) 06:08:28普通は、「こう解決しました」とかってのを書くのがマナーなんだが。
所詮2chだし。
0228デフォルトの名無しさん
2010/05/07(金) 06:27:59その辺の問題で、VBはあんまり関係なさそう。
0229デフォルトの名無しさん
2010/05/07(金) 16:41:37NotFoundのエラーになったのを知ることって出来ますか?
0230デフォルトの名無しさん
2010/05/07(金) 17:06:430231デフォルトの名無しさん
2010/05/07(金) 22:18:48ただしSystem.Windows.Forms.WebBrowserでは直接は扱えない
0232デフォルトの名無しさん
2010/05/08(土) 17:47:541. あるアプリケーションがインストールされているかどうかチェック
2. インストールされていたら、そのアプリケーションのファイルパスを取得
という処理は、どのようにしたら良いでしょうか?
パス決め打ちなら簡単ですが、それ以外にも対応したいのです
0233デフォルトの名無しさん
2010/05/08(土) 17:54:47「インストール」の定義は?
0234デフォルトの名無しさん
2010/05/08(土) 18:17:210235232
2010/05/08(土) 18:25:14「プログラムの変更と削除」のリストに載るような、よくある形態でのインストールを想定しています
>>234
ありがとうございます。ちょっと調べてみます
0236デフォルトの名無しさん
2010/05/09(日) 07:28:44ClickOnceで発行したプログラムで初回インストール以降で立ち上げて更新あった時に「インストールしますか?」ってのが出ますが、
これを表示せず無条件でインストールする方法ってありますか?
プログラムをスタートアップに入れて、PC起動時に色々処理を行いたいんですが、「インストールしますか?」の確認画面が出て、
そこでOKおさないと当然先に進まないので、イマイチ使いづらくて。。。
0237デフォルトの名無しさん
2010/05/09(日) 07:49:150238デフォルトの名無しさん
2010/05/09(日) 08:23:250239デフォルトの名無しさん
2010/05/09(日) 11:00:24プログラムを作成したいと思っています。「
電源設定の「最小の電源管理」や「常にオン」等に設定を変更にするのには、
どの様な手段があるのでしょうか?
外部のバッチファイルを使って、powercfgコマンドで電源設定を変更するバッチファイルを
呼び出す方法はわかったのですが、出来ればバッチファイル無しでAPIのみで作成したいと思っています。
やりたい事は、
・電源オプションの設定一覧を取得する事
・適用する電源オプションの設定を変更する事
です。
また、OSはWindowsXPです。
0240デフォルトの名無しさん
2010/05/09(日) 11:15:05部分更新&手動更新にすればいいんじゃね?
>>238
できないことはないと思うけど、C/C++の方が楽
>>239
Power Scheme系のAPIを使う。
0241デフォルトの名無しさん
2010/05/09(日) 11:55:47>Power Scheme系のAPIを使う。
ありがとうございます。
、、、が、調べてもたもののどういうAPIがあるかわかりませんでした。
もう少しヒントを頂けないでしょうか?
0242デフォルトの名無しさん
2010/05/09(日) 12:57:48ここら辺を読め。
http://msdn.microsoft.com/en-us/library/aa373182(v=VS.85).aspx
0243デフォルトの名無しさん
2010/05/09(日) 13:04:420244デフォルトの名無しさん
2010/05/09(日) 13:09:020245デフォルトの名無しさん
2010/05/09(日) 13:16:41まさか一字一句違わないレスがあるとは思わなかったw
0246デフォルトの名無しさん
2010/05/09(日) 21:46:540247デフォルトの名無しさん
2010/05/10(月) 00:27:50Win32APIを使わないといけないんですね。
面倒なので、powercfgで実装することにします。
0248デフォルトの名無しさん
2010/05/12(水) 05:09:02http://www.atmarkit.co.jp/fdotnet/dotnettips/658geckobrowserctrl/geckobrowserctrl.html
ここを見ながらGeckoエンジンでブラウザを作ってみたのですが
作ったPC以外ではエラーが出て動作しません
ビルドしたときに出てきたAxInterop.MOZILLACONTROLLib.dllとInterop.MOZILLACONTROLLib.dll
もちゃんと同梱していますが動作しません・・・
どうすれば他のPCでも動くようになるでしょうか?
0249デフォルトの名無しさん
2010/05/12(水) 07:14:48というオチと見た。
0250デフォルトの名無しさん
2010/05/12(水) 09:07:07なにをしたときに発生するとか、どこで止まるとか・・・
HogeHogeExceptionだけでも判れば少しは範囲が絞れるだろうに
0251デフォルトの名無しさん
2010/05/12(水) 13:52:09現にVBと全く関係ないところで詰まってるじゃん
0252デフォルトの名無しさん
2010/05/12(水) 15:52:38勉強なら簡単なテキストエディタあたりがおすすめ
0253デフォルトの名無しさん
2010/05/12(水) 15:55:490254デフォルトの名無しさん
2010/05/12(水) 16:01:250255デフォルトの名無しさん
2010/05/12(水) 20:14:57入り口で、いいように見えても根本的に構造的に欠陥があるから、
跡で困って、時間と金を使ったぶ損するだけ。人生を棒に振るよ。
マイクロソフトの開発言語は、ほんとうに要注意だよ。
0256デフォルトの名無しさん
2010/05/12(水) 20:21:36まあお前が人生棒に振ってるのは分かった
0257デフォルトの名無しさん
2010/05/13(木) 06:34:38説明しているページ教えてください。
物体がピューと飛んでいたり(メソッド?メッセージ送信のこと?w)、
Xマークだったりというものです。
鍵のマーク(private)と指差し(プロパティ)はわかりましたが。
0258デフォルトの名無しさん
2010/05/13(木) 15:13:54ttp://msdn.microsoft.com/ja-jp/library/y47ychfe.aspx
0259デフォルトの名無しさん
2010/05/13(木) 19:09:33こちらの記事を読みながらiTunesをコントロールするソフトを作っています
この通り作るとiTunesが起動していない状況で作ったプログラムを起動すると
iTunesも一緒に自動で起動しようとしてしまい、iTunesが起動するまで作ったプログラムがフリーズします
プログラムを起動してもiTunesが一緒に起動せず
iTunesが起動しているときだけコントロールできるようにするにはどうすればいいでしょうかl?
.NET初心者ですがよろしくお願いします
0260デフォルトの名無しさん
2010/05/13(木) 19:18:08プロセスを列挙してiTunesの実行ファイル名が無かったら中止、とか。
逆に言うと、ここで使っているライブラリはCOMのアウトプロセスが前提っぽいから、
起動せずにライブラリでどうのこうのは多分無理なんじゃないかなあ。
0261デフォルトの名無しさん
2010/05/13(木) 22:15:530262デフォルトの名無しさん
2010/05/16(日) 04:31:20何のためにそんなプログラムを作ってるの?
完成したらいくらになるのか。
もしかしてタダで情報得て自分の著作物にしようとしてない?
0263デフォルトの名無しさん
2010/05/16(日) 04:39:00何のためにそんなレスしてんの?
いくらになるの???????
0264デフォルトの名無しさん
2010/05/16(日) 12:50:57この手のソフトなら公開されたら大体コイツだってのがわかるだろwww
せいぜい使えるものを頼む iPADも出ることだしな
0265デフォルトの名無しさん
2010/05/17(月) 21:33:11CSVを6列*1000行の配列のソート方法に頭を悩ませています。
一度DBに格納してから抽出すれば工数的には少なくてすむのですが
いかんせん非常に遅い処理になります。
やりたいことは上記csvの4列目と5列目でソートしてTop20を取得し
1,2,5列を書き出すことです。
やはりDBを使わずに実装するには、ArrayListをArrayListに格納する
という、無理矢理なやり方しかないのでしょうか・・・。
ナイスな方法をご存じの方、いらっしゃいましたら教えて下さい。
0266デフォルトの名無しさん
2010/05/17(月) 21:37:38なんでDLLつかってC/C++にやらせないの?
0267デフォルトの名無しさん
2010/05/17(月) 21:41:03俺Javaしか触ったことなくて、C書けない+dll連携の方法を知らない
しかし知識として、そういう方法を使うと早いってのは憶えておきます。
0268デフォルトの名無しさん
2010/05/17(月) 21:53:040269デフォルトの名無しさん
2010/05/17(月) 21:54:06ちょっとぐぐれば出てくるのに・・・
0270デフォルトの名無しさん
2010/05/17(月) 21:57:160271デフォルトの名無しさん
2010/05/17(月) 22:01:46クラスって作ったことなかった。あんなの上級SEが仕様書に沿って作るもの
だと思ってたわ。
とりあえずDataTableで実装してみるぜ
DataSetとDataTableで実装
http://hiros-dot.net/VBNET2005/Control/DataSetMenu.htm
http://msdn.microsoft.com/ja-jp/library/system.data.datatable_methods(v=VS.80).aspx
クラスでソート
http://202.218.219.147/fdotnet/dotnettips/218classsort/classsort.html
0272デフォルトの名無しさん
2010/05/17(月) 22:04:40DataTableに無理やり突っ込む方法を書いてみる。
1.New System.Data.DataTable
2.先にColumnsプロパティに必要な列を突っ込む
3.Rowsプロパティに行を突っ込みまくる
4.Selectメソッドで選択+ソートでDataRow配列ゲット (゚Д゚)ウマー
あくまで内部処理なので、使える機能とか制限ありまくりだけど、
条件さえ合っていれば意外と使える。
0273デフォルトの名無しさん
2010/05/17(月) 22:07:54本当に助かる。書き方の丁寧さに愛を感じるわ
オンメモリで処理できるから
1000回insert文発行してからSelectするより
処理速度100倍くらい向上しそうだな
特2の発想はなかった。
0274デフォルトの名無しさん
2010/05/17(月) 22:19:23ナイスな方法も糞も、既に指摘されているように普通にやるだけでしょ。
CSVのレコード(行)をクラス化して、Comparison(Of T)にシグネチャが一致するメソッドを
ソートのキーに使うカラムごとに用意するだけ。
あとはArrayか何かのSortメソッドを使うだけでしょ。
これかなり程度の低い話だと思うよマジで。
0275デフォルトの名無しさん
2010/05/17(月) 22:22:490276デフォルトの名無しさん
2010/05/17(月) 22:26:50ご指摘の通り、サンデープログラマ気分で2年間今の所でやってきて
そろそろ上流工程も・・・みたいな話なってきてるのに
本当にやばいよな。やっぱ仕事だけじゃ身につかんな。
0277デフォルトの名無しさん
2010/05/17(月) 22:34:15ソートのキーに使うカラムごとに用意するだけ。
意味不明すぎwwwwwwww
グーグルなかったら死んでるな、おれ
訳すと
同じ列を比較演算するメソッドを、カラム毎に用意するわけか。
正直class(1000)をフィールド2に格納されたint型の値でソートしろって言われたら
無理なんだよなwwwww技術的に
0278デフォルトの名無しさん
2010/05/17(月) 23:09:51わかってるかわかってないかで全然世界が違うよ
0279デフォルトの名無しさん
2010/05/17(月) 23:30:270280デフォルトの名無しさん
2010/05/17(月) 23:55:060281デフォルトの名無しさん
2010/05/18(火) 06:19:230282デフォルトの名無しさん
2010/05/18(火) 08:55:59それって使えてないんじゃ・・・
触ったことがある程度じゃないの?
0283デフォルトの名無しさん
2010/05/18(火) 20:47:25Java分かってるとは全く言えないね
0284デフォルトの名無しさん
2010/05/18(火) 21:57:22>>265
俺なら20行分の領域だけ確保して、CSV読み込んだ行ごとにを確保した領域と比べる
DB使わない実装なんていくらでも考えられる。頭かたすぎるんじゃね
0285デフォルトの名無しさん
2010/05/19(水) 00:09:16検索画面がでるだけでダウンロード出来ないんですけど今ダウンロード出来ないようになっているんでしょうか?
私だけ?
下記のページです
ttp://www.microsoft.com/japan/msdn/vstudio/express/
0286デフォルトの名無しさん
2010/05/19(水) 00:20:24今試してみたけど、普通にvb_web.exeのダウンロードになるぞ。
とりあえず一時キャッシュ消してみたら?
0287デフォルトの名無しさん
2010/05/19(水) 02:38:260288デフォルトの名無しさん
2010/05/19(水) 03:21:500289デフォルトの名無しさん
2010/05/19(水) 03:41:290290デフォルトの名無しさん
2010/05/19(水) 03:45:300291デフォルトの名無しさん
2010/05/19(水) 06:33:06�d
0292デフォルトの名無しさん
2010/05/19(水) 17:37:01あああああああああ
いいいいいいいいい
うううううううううううう
えええええええええ
おおおおおおおおお
という5行の文字列の最初にボタンを押すと
1.あああああああああ
2.いいいいいいいいい
3.うううううううううううう
4.えええええええええ
5.おおおおおおおおお
という感じで数字をつけたいのですがどうすれば実現できるでしょうか?
出来れば正規表現を使ってつけたいです
0293デフォルトの名無しさん
2010/05/19(水) 19:22:18どうして?
っていうか、正規表現ってテンプレートに自動でインクリメントした値を
突っ込む機能なんてあったっけ。
0294デフォルトの名無しさん
2010/05/19(水) 19:42:57匿名メソッドが使えないVB.NETだと色々面倒だなあ。
VB2010で追加された複数行のラムダ式なら多少マシか。
0295デフォルトの名無しさん
2010/05/19(水) 20:59:35正規表現でなくても大丈夫でした
どうすれば実現出来ますでしょうか?
0296デフォルトの名無しさん
2010/05/19(水) 21:53:390297デフォルトの名無しさん
2010/05/19(水) 22:12:14- スタイル(文字の修飾)は無視していい
- 超巨大ファイルは考慮しない
以上でよければたったこれだけでしょ。何が難しいんだ?
Dim lines = RichTextBox1.Lines
For i As Integer = 0 To lines.Length - 1
lines(i) = String.Format("{0}. {1}", i + 1, lines(i))
Next
RichTextBox1.Lines = lines
0298デフォルトの名無しさん
2010/05/19(水) 23:32:50テキストボックスに反映させるプログラムを作成しました。
ここまでは問題なかったのですが、作成したプログラムの起動時に自動的に読み込み
を行うにはどのようにしたらよいのでしょうか?
初回起動時には参照ファイルがないので、作成するコードも追加したいと思います。
宜しくお願いします。
0299298
2010/05/19(水) 23:35:20Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Using writer As New System.IO.StreamWriter("C:\a.txt", False)
With writer
.WriteLine(TextBox1.Text)
.WriteLine(TextBox2.Text)
.WriteLine(TextBox3.Text)
.Close()
End With
End Using
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Using reader As New System.IO.StreamReader("C:\a.txt")
With reader
TextBox1.Text = .ReadLine()
TextBox2.Text = .ReadLine()
TextBox3.Text = .ReadLine()
.Close()
End With
End Using
End Sub
といった感じなんですけど…お願いします。
0300デフォルトの名無しさん
2010/05/19(水) 23:40:160301デフォルトの名無しさん
2010/05/20(木) 00:13:590302298
2010/05/20(木) 00:32:36感動です。ありがとうございました。
0303298
2010/05/20(木) 00:35:56Form_Loadの部分に条件を書くのでしょうか?
0304298
2010/05/20(木) 03:15:530305デフォルトの名無しさん
2010/05/20(木) 07:29:51何をどうやったら自己解決したのかちゃんと書くヨロシ。
0306デフォルトの名無しさん
2010/05/20(木) 09:34:59参考になるからね
0307デフォルトの名無しさん
2010/05/20(木) 09:49:400308デフォルトの名無しさん
2010/05/20(木) 10:01:430309デフォルトの名無しさん
2010/05/20(木) 10:58:54どのようにすればよいでしょうか?
宜しくお願いいたします。
0310デフォルトの名無しさん
2010/05/20(木) 11:10:100311デフォルトの名無しさん
2010/05/20(木) 19:47:20ゼロベースで自作した方が早いよ恐らく。
0312デフォルトの名無しさん
2010/05/20(木) 21:12:38描画処理はどっちみち書かないといけないわけで、
ゼロから自作するとそれ以外の部分も作る必要がある
ちなみにWPF使えばコードいらない
0313デフォルトの名無しさん
2010/05/20(木) 21:36:44なんかお馬鹿さんみたいね。
既存のToolTipに再利用できる部分なんてある?
ないよそんなの。
むしろ表示領域(ウィンドウのサイズ)を処理を乗っ取ったりするような
本来必要のない手間が増えるだけ。
普通に考えて枠なしのウィンドウで自前で実装した方がずっと楽。
0314デフォルトの名無しさん
2010/05/20(木) 21:47:30SetToolTipはどう実装する?
ToolTipならDrawとPopup実装するだけだぞ
0315デフォルトの名無しさん
2010/05/20(木) 22:40:00そんなに責めてあげるなよ
0316デフォルトの名無しさん
2010/05/20(木) 23:10:14画像も表示しよう、っていうのに既存のSetToolTipなんか流用できるかよw
ちったあ頭使って考えてよ。
DrawとPopup実装するだけ?
だからウィンドウのサイズは誰が決めるの?
大丈夫かよ
0317デフォルトの名無しさん
2010/05/20(木) 23:12:310318デフォルトの名無しさん
2010/05/20(木) 23:16:06君本当にプログラマか?
まあこういう見通しが甘い奴っているよな
0319デフォルトの名無しさん
2010/05/20(木) 23:18:110320デフォルトの名無しさん
2010/05/20(木) 23:19:32サイズの見積もりくらい簡単だと思うけど
0321デフォルトの名無しさん
2010/05/20(木) 23:19:36プログラミングの才能がないだけじゃなくて鳥頭でもあるのねw
0322デフォルトの名無しさん
2010/05/20(木) 23:21:080323デフォルトの名無しさん
2010/05/20(木) 23:21:10まあいいからそう思うなら実際やってみたら?
こんなのぐらいどっちが手が抜けるかやる前に分かって欲しいけど。
0324デフォルトの名無しさん
2010/05/20(木) 23:49:40難しいか?
0325デフォルトの名無しさん
2010/05/21(金) 01:21:300326デフォルトの名無しさん
2010/05/21(金) 12:10:57TCPでの通信プログラムなんですが、プロシージャー内で全部処理するなら下記のような感じでいけますよね
これを接続と受信(送信)を別のプロシージャーで行うには、どのように書けばいいんでしょうか?
以前に自力解決したことはあるんですが、すっかり忘れてしまって思い出せません
ソースもHDDクラッシュで喪失しました。
この際だから正しいお作法も知りたいと思い質問してみました
Dim tcp As New System.Net.Sockets.TcpClient(host, port) ’接続
Dim ns As System.Net.Sockets.NetworkStream = tcp.GetStream() ’受信
0327デフォルトの名無しさん
2010/05/21(金) 12:12:360328デフォルトの名無しさん
2010/05/21(金) 12:31:58つまり自分がどのIPとポートを使って通信するかであって、通信相手のIPとポートを指定するモンじゃない。
ついでに言うと普通はローカルエンドポイントは指定しない。システムが勝手に割り振ってくれる。
0329デフォルトの名無しさん
2010/05/21(金) 13:10:06一行目でコネクト完了しますESTABLISHEDまで行きます。
0330デフォルトの名無しさん
2010/05/21(金) 13:13:18そうすると、このコードで相手先のホストとポートを指定して接続できてしまうのがおかしいということですか?
0331デフォルトの名無しさん
2010/05/21(金) 13:26:13ファイル自体は
Dim objApp As Object = Nothing
Dim objBooks As Object = Nothing
Dim objSheets As Object = Nothing
Dim objSheet1 As Object = Nothing
Dim objSheet2 As Object = Nothing
objApp = CreateObject("Excel.Application")
objBooks = CallByName(objApp, "Workbooks", CallType.Get)
↑で作成できたのですが、新規でシートを作成する方法がわかりません。
どんな文言で書けば作成できますか?
CallByName(オブジェクト, コマンド, CallType)
↑のExcel関連の一覧が載っているページがあれば教えていただきたいです。
自分でも調べましたが、調べ方が悪いのか、CallByNameを使っているものの例が少なくて
お手上げ状態になっています。
0332デフォルトの名無しさん
2010/05/21(金) 13:32:30取りあえずそれができるようになってからだと思うんだが
0333デフォルトの名無しさん
2010/05/21(金) 14:37:10すみません、それはすでにできているのでCallByNameを使用した遅延バインディングにてやりたいのです
0334デフォルトの名無しさん
2010/05/21(金) 15:17:42その出来上がったプロパティ使ってやればいいんじゃないかとおもうのですが・・・
>新規でシートを作成する方法がわかりません。
出来てるんだからやり方とか名前もわかってるのではないでしょうか?
>↑のExcel関連の一覧が載っているページが
一体どんな調べ方をされたのでしょうか?
単純にEXCELのプロパティを文字列で書いたりするだけじゃないかとおもうのです。
0335331
2010/05/21(金) 15:34:12objBooks = CallByName(objApp, "Workbooks", CallType.Get)
objBook = CallByName(objBooks, "Add", CallType.Method)
objSheets = CallByName(objBook, "Worksheets", CallType.Get)
いけました。3行目のAddがなかったからダメだったようです
お邪魔しました
0336デフォルトの名無しさん
2010/05/21(金) 19:46:08CallByNameとかMプレイ過ぎる。
0337デフォルトの名無しさん
2010/05/21(金) 20:17:29いろんなサイトを見ながらヤフーサイトの自動ログインソフトを作ろうと試行錯誤したのですが
Imports SHDocVw
Imports mshtml
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim IE As New SHDocVw.InternetExplorer()
IE.Visible = True
IE.Navigate("https://login.yahoo.co.jp/config/login?.src=www&.v=0&.u=7brp2jl0o60ss&.last=&promo=&.intl=jp&.bypass=&.partner=&.protoctl=&pkg=&stepid=&.done=http%3a//www.yahoo.co.jp")
Dim doc As mshtml.HTMLDocument = CType(IE.Document, mshtml.HTMLDocument)
While IE.Busy
CType(doc.all.item("login", 0), mshtml.HTMLInputTextElement).value = "*****"
CType(doc.all.item("passwd", 0), mshtml.HTMLInputTextElement).value = "*****"
CType(doc.forms.item("login_form", 0), mshtml.HTMLFormElement).submit()
End While
End Sub
End Class
これでエラー出ずに起動まで出来たんですが
実際にButtonを押してログインしようとすると
Dim doc As mshtml.HTMLDocument = CType(IE.Document, mshtml.HTMLDocument)
この部分で
エラー HRESULT E_FAIL が COM コンポーネントの呼び出しから返されました。
というエラーが出てしまいヤフーのログインページは開くんですがログインまで至りません!
どうすればいいのでしょうか?
VB.NET始めて5日目で至らぬところも多いと思いますがどうぞよろしくお願い足します!
0338デフォルトの名無しさん
2010/05/21(金) 20:37:03つまりNavigateはナビゲート自体は別のスレッドで行っている。
で、ナビゲートが完了してないのにDocument参照しようとするから失敗する。
IEオブジェクトのDocumentCompleteイベントでHTMLDocument操作の処理を行うのが妥当。
AddHandlerキーワード調べてみ。
始めて五日目で手を出すにはいささか難しい分野かもしれんね。
0339デフォルトの名無しさん
2010/05/21(金) 20:56:52難しい分野・・・ですか・・・
プログラミングを始めた理由がこのログインツールを作ろう!
という思いからだったのでどうしても完成させたいです・・・
>>338さんが教えてくれたキーワード等を調べて試行錯誤してみます!
また壁にぶち当たったら質問させてください!
0340337
2010/05/21(金) 21:12:20End While
Dim doc As mshtml.HTMLDocument = CType(IE.Document, mshtml.HTMLDocument)
CType(doc.all.item("login", 0), mshtml.HTMLInputTextElement).value = "*****"
CType(doc.all.item("passwd", 0), mshtml.HTMLInputTextElement).value = "*****"
CType(doc.forms.item("login_form", 0), mshtml.HTMLFormElement).submit()
参考にしたサイトではWhileでこのDim〜CTypeを挟んでいたのですが
よく考えるとこのWhileはIE.Busyから抜けるまでを待機で使ってるんではないのかと思い
上のようにすると
Dim doc As mshtml.HTMLDocument = CType(IE.Document, mshtml.HTMLDocument)
ここは通過し
CType(doc.all.item("login", 0), mshtml.HTMLInputTextElement).value = "*****"
ここでエラーが出るようになりました・・・・
エラー内容
NullReferenceException はハンドルされませんでした。
オブジェクト参照がオブジェクト インスタンスに設定されていません。
>>338さんが教えてくれたAddHandlerについては調べているのですが
難しいですね・・・;;
0341デフォルトの名無しさん
2010/05/21(金) 21:13:140342デフォルトの名無しさん
2010/05/21(金) 21:27:15Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
WebBrowser1.Navigate("https://login.yahoo.co.jp/")
While WebBrowser1.IsBusy
End While
End Sub
Private Sub WebBrowser1_DocumentCompleted(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
Dim doc As HtmlDocument
doc = WebBrowser1.Document
Dim col As HtmlElementCollection
col = doc.GetElementsByTagName("input")
For i = 0 To col.Count - 1
If col.Item(i).Name = "login" Then
col.Item(i).SetAttribute("value", "xxx")
End If
If col.Item(i).Name = "passwd" Then
col.Item(i).SetAttribute("value", "xxx")
End If
Next
Dim formElements As HtmlElementCollection = doc.GetElementsByTagName("form")
For Each form As HtmlElement In formElements
form.InvokeMember("submit")
Next
End Sub
End Class
0343デフォルトの名無しさん
2010/05/21(金) 21:38:24レスありがとうございます!
342さんの書いてくれたコードでログインすることが出来ました!
今の知識じゃ理解出来ないのでゆっくりと一行ずつ意味を知っていこうと思います!
ありがとうございました
尚>>340のソースでGmailで試したところなぜかGmailではID、PWの入力が出来たのですが
Submit()部でエラーが出ました
とりあえずやりたいことが出来ましたので解決です
みなさまありがとうございました!
0344デフォルトの名無しさん
2010/05/21(金) 22:53:360345デフォルトの名無しさん
2010/05/21(金) 22:54:380346デフォルトの名無しさん
2010/05/22(土) 00:11:560347デフォルトの名無しさん
2010/05/22(土) 10:58:47自己レスです
なんとか動きました
tcとnsはグローバル変数
Dim tcp As New System.Net.Sockets.TcpClient(host, port)’接続
tc = tcp
ns = tc.GetStream()
これで、他のプロシージャから tcを使ってクローズ、nsを使ってリード、ライト、できるようになりました。
私、オブジェクト指向はとんと理解できておりませんw
こんなんで、お作法的にはどうなの?って思ってます。
こうやったほうがいいってのがあったら教えてください。
0348デフォルトの名無しさん
2010/05/22(土) 14:11:39それに、本格的にやりたいなら C# でやりなよ〜ってなるよ
0349デフォルトの名無しさん
2010/05/22(土) 17:10:12そのため、日本語を一意の半角英数に変換する必要があるのですが
下記処理で漏れはないでしょうか?
Dim input As String = "16進数に変換してメッセージボックスに表す。"
Dim output As String = ""
For idx As Integer = 0 To Input.Length - 1
'1文字ずつ16進数の文字コードを取得する
output &= AscW(input.Substring(idx, 1)).ToString("X")
'文字と文字コードを出力
Debug.WriteLine(input.Substring(idx, 1) + " = " + output)
Next
MsgBox(output)
0350349
2010/05/22(土) 17:12:31出力結果は下記の通りになります。
"305F65875B573092313690326570306B590963DB3057306630E130C330BB30FC30B830DC30C330AF30B9306B8868"
0351デフォルトの名無しさん
2010/05/22(土) 17:17:05> HTMLで日本語の単語毎に個別のHTMLファイルを出力します。
単語ごと? 文字ごとじゃなくて?
> そのため、日本語を一意の半角英数に変換する必要があるのですが
なにが「そのため」なのか全然つながらない
一意の半角英数って具体的にどういう物を指すの?
> 下記処理で漏れはないでしょうか?
何を望んでるのか分からないけど、サロゲートペアとか考慮してる?
なんか出力結果見る限り、
あるエンコーディング(UTF-16?)でのバイト表現が欲しいだけっぽく見えるが
0352デフォルトの名無しさん
2010/05/22(土) 18:48:36oopにこだわってるわけではないですよ、ほとんど構造化プログラミングしてます
が、TCPで通信しようとするとwinsockで長々とコード書いてたのがたった一行で済んじゃったりするので
楽しちゃいたいなあというとこです
そうするとoop無視では使えないしで、四苦八苦してます
0353デフォルトの名無しさん
2010/05/22(土) 19:58:46HogeRun(hogeHandle, arg)をhoge.Run(arg)と書くようにしましょうっていうだけのこと
0354デフォルトの名無しさん
2010/05/23(日) 02:48:020355デフォルトの名無しさん
2010/05/27(木) 00:09:08VB.NETのクラスライブラリで作成したdllを、
ASPから呼び出そうとしていますが、
Server.CreatObjectに失敗しましたというエラーが出てしまい、
うまく動作しません。
以下のようにASPに記述していますが、他にタグや宣言など、
記述する処理などありますでしょうか?
Set obj = Server.CreatObject("xxx.yyy")
0356デフォルトの名無しさん
2010/05/27(木) 00:15:300358デフォルトの名無しさん
2010/05/27(木) 00:38:21プロジェクトのプロパティでCOM参照可能にチェック
ビルドしたらDLLをregasmで/codebaseつけて登録
(開発時はプロジェクトのプロパティのCOM相互運用の登録で自動的に登録してくれる)
0359デフォルトの名無しさん
2010/05/27(木) 00:46:09ありがとうございます。
regasmで登録する際は、アセンブリの署名にチェックを付けないと
登録できませんよね?署名して確認しましたが、
同じ結果でした…。
0360デフォルトの名無しさん
2010/05/27(木) 00:54:35命名の勘違いとかよくある話
0361デフォルトの名無しさん
2010/05/27(木) 07:16:560362デフォルトの名無しさん
2010/05/27(木) 07:38:460363デフォルトの名無しさん
2010/05/27(木) 07:49:26ありがとうございます。
見てみます。
0364デフォルトの名無しさん
2010/05/28(金) 01:37:06検索条件を入力してもらって(検索条件は一つだけでもいいし、全部でもいい)
書籍データベースから条件に合う一覧を取得する画面を作っているのですが
最初、それぞれにstring変数を作り、テキストボックスに入力があれば
If Not TextBox1.Text = Nothing Then
sqltitle = "title = " & TextBox1.Text
End If
なかんじで検索条件の文を作り、それを
Dim sql As String = "SELECT * FROM bookdata WHERE " & sqlcategory & " AND " & sqltitle & " AND " & sqlname
というように一つのSQL文にしようと考えたんですが
コレだと、どれか条件が空だった場合、動作しないと気がつきました。
どうしたらいいか思いつかないのですが、誰かアドバイスをお願いします。
0365デフォルトの名無しさん
2010/05/28(金) 01:52:34どれかが空だったら入力されてる分に合わせて別処理にするのは不可能なの?
0366364
2010/05/28(金) 01:58:21>>365
検索条件が少ない時はそれでも良いと思うんですが
多くなった場合、あまりスマートじゃない気がしたので質問してみました。
0367デフォルトの名無しさん
2010/05/28(金) 22:48:44初心者です。
HTMLの中にVBとJavaScriptのコードが混在しています。
VBの変数の値を、JavaScriptの変数に格納するにはどうすれば良いでしょうか?
ちょっと考えて思いついたのは、タグ作って値を挿入し、
その後にJavaScriptで拾い直すというやり方です。
そもそもスクリプトが混在してること自体がおかしいのかもしれませんが、
VBでは、JavaScriptへの代入とか、何かそういう機能をサポートしていないのでしょうか?
0368デフォルトの名無しさん
2010/05/28(金) 23:37:34セッションに格納してHTMLロード時に取り出すとかで行けない?
0369デフォルトの名無しさん
2010/05/29(土) 00:12:100370デフォルトの名無しさん
2010/05/29(土) 02:01:08ちょっと書いてる意味が分からんが、<%=hoge %> とかか?
0371デフォルトの名無しさん
2010/05/29(土) 04:09:20サーバで動いてるコードとクライアントで動くコードの違いが理解できてるか?
JavaScriptの変数はクライアントの変数だぞ。それに直接サーバ側の変数を突っ込んだりはできない
0372デフォルトの名無しさん
2010/05/29(土) 05:43:52ありがとうございました。
0373364
2010/05/29(土) 12:00:32VWD2008でUPDATE命令でTrueをFalseにしたいんですが
returned = falseだと「列名 'false' が無効です。」とエラーがでるし
returned = 0だとエラーは出ないんですが、テーブルを確認してもfalseになってくれません。
どうしてでしょうか?
0374364
2010/05/29(土) 12:11:020375デフォルトの名無しさん
2010/05/29(土) 17:26:10OS XP SP3
VB2010評価版
VBの勉強をしようと思って本を見ながら
伝票管理のサンプルプログラムを作っているんですが
BindingNavigatorの保存ボタン(SaveItem)のコードを、サンプルの通り丸写してもエラーが出てしまいます
DirectCast(e, FormClosedEventArgs).Cancel = True のCancelが
System.Windows.Forms.FormClosedEventargsのメンバーではありません
となります。
ヘルプで探してみたんですがClickイベントで保存する方法は見つかるんですが
「保存しない」とか「キャンセルする」とかのキーワードでは見つかりません。
Private Sub KooujimeiBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles KooujimeiBindingNavigatorSaveItem.Click, MyBase.FormClosing
Me.Validate()
'入力エラーがある場合は保存しない
If HandleInputError() = False Then
'フォームを閉じる前の場合、閉じる処理をキャンセルする
If TypeName(e) = "FormClosingEventArgs" Then
DirectCast(e, FormClosedEventArgs).Cancel = True
End If
Return
どなたか、参考になるヘルプ記事の場所だけでも、教えていただけませんでしょうか。
お願いします。
0376デフォルトの名無しさん
2010/05/29(土) 19:21:56ぶっちゃけまだ知識が足りてないと思う。もっと基礎の部分を覚えて基礎的なサンプルでなれたほうが良いんじゃないかな
DirectCastはObject型
エラーメッセージは、「Object型にはCancelってメンバーはないから出来る気がしないよ!」って意味
DirectCastの結果を一度FromClosingEventArgsクラスの変数に入れてから
その変数.Cancel = True
にしてみ
0377デフォルトの名無しさん
2010/05/29(土) 21:59:52If TypeName(e) = "FormClosingEventArgs" Then
なのに
FormClosedEventArgsにキャストしてるのが間違い
FormClosingEventArgsにキャストしないと
つか、(おそらくボタンの)ClickイベントとFormClosing を同じイベントハンドラに
処理させるとか、そのハンドラの中で引数の型みて処理分岐させるとか...
あまり参考にしない方がいいサンプルかもしれん
0378デフォルトの名無しさん
2010/05/29(土) 22:20:52おっしゃるとおり
初歩的なこと失念してました
0379デフォルトの名無しさん
2010/05/29(土) 23:55:51どこからそんなでたらめが出てくるんだ…
0380デフォルトの名無しさん
2010/05/30(日) 00:06:54.NET的にはTypeOf(e) Is FormClosingEventArgsと書く
0381デフォルトの名無しさん
2010/05/30(日) 00:21:09たとえばButtonはControlにキャストできるから
0382デフォルトの名無しさん
2010/05/30(日) 02:04:02いちばん基本で自然なはずなのに、なんでTypeNameとかで比較するんだろうな。
どっかで誰かが書いたのが元ネタになって広まっちまったのかな?
なんせよく見るんだよね。
0383デフォルトの名無しさん
2010/05/30(日) 02:43:090384デフォルトの名無しさん
2010/05/30(日) 09:34:38VB関数がダメだとは言わないがTypeNameを使った型比較に関しては.NETでは完全に「間違い」だ
継承関係が考慮されないし同名の型が存在する可能性もある
0385デフォルトの名無しさん
2010/05/30(日) 11:44:29今、ポツーンな俺に謝れ!
0386デフォルトの名無しさん
2010/05/30(日) 12:19:470387デフォルトの名無しさん
2010/05/30(日) 12:29:250388デフォルトの名無しさん
2010/05/30(日) 13:20:13ディレクトリが尽きたら他のファイルも拾ってきてしまうなり
.netのバグ?
Dim a As String
Dim d As String
d = System.Environment.GetFolderPath(Environment.SpecialFolder.Personal)
a = Dir(d + "\*.*", FileAttribute.Directory) 'ディレクトリを指定
TextBox1.AppendText(a + vbCrLf)
Do
a = Dir()
TextBox1.AppendText(a + vbCrLf)
Loop Until a = ""
0389デフォルトの名無しさん
2010/05/30(日) 13:35:35おっと、書き忘れ
vbのバージョンは2008 Express Edition SP1
ディレクトリリスト取るときって、みんなどうやってんの?
0390デフォルトの名無しさん
2010/05/30(日) 13:42:06なんでVB6互換関数なんか使うんだしかし
0391デフォルトの名無しさん
2010/05/30(日) 14:20:32なんでって、すでにやりかた知ってるから、お手軽なわけで・・w
.net的スマートなやり方を知ってるなら教えてくれろ
0392デフォルトの名無しさん
2010/05/30(日) 14:48:48知ってないじゃん全くw
頭大丈夫?
System.IO以下のクラスを使ってよ。
0393デフォルトの名無しさん
2010/05/30(日) 15:01:38支離滅裂だな。
0394デフォルトの名無しさん
2010/05/30(日) 15:02:22Directory.GetDirectoris()
0395デフォルトの名無しさん
2010/05/30(日) 15:04:15いや、VB6ならこれでいけてたはずだけどな
>>知ってないじゃん全くw
間違ってると言うなら動かして見せてちょ〜よぉ
>>System.IO以下のクラスを使ってよ。
もちょっと詳しくよろ
0396デフォルトの名無しさん
2010/05/30(日) 15:04:28但し業務外でおねがいします
0397デフォルトの名無しさん
2010/05/30(日) 15:18:240398デフォルトの名無しさん
2010/05/30(日) 15:19:350399デフォルトの名無しさん
2010/05/30(日) 15:24:15さんきゅ〜、やってみました
あっさりとリストは取れました・・・・が
フルパスなんですね
ま、ファイルを拾ってこないだけましですか
0400デフォルトの名無しさん
2010/05/30(日) 15:24:43確か一番早かったよね?
0401デフォルトの名無しさん
2010/05/30(日) 17:59:21Path.GetDirectoryName
0402デフォルトの名無しさん
2010/05/30(日) 18:55:48え〜と、それだと一つ上までのフルパスが返ってきますね
そのキーワードで検索してPath.GetFileNameに辿りつきました
これでうまくいきました。
こんな物まで用意されてるんですね。
MIDで切り分けたの ポイッ
0403デフォルトの名無しさん
2010/05/30(日) 19:07:33まあルート返されるとアウトだけどw
0405デフォルトの名無しさん
2010/05/30(日) 22:18:05ページングのさせ方なのですが
ページ移動させると、GridViewが消えてしまう現象が起こります。
考えられる原因ってなにかあるでしょうか?
0406デフォルトの名無しさん
2010/05/31(月) 00:14:03VisutlaStudio2005にてWin2008(ServerCore)でIISを利用しています。
仕組みとしてはバッチ(WOL.bat)を実行し、この中でフリーソフトに起動部分を任せています。
ツール本体はDefault.apsxと同一フォルダに格納してあります。
|+ツールのフォルダ
|-Default.aspx
|-WOL.bat
|-test.bat
起動ボタンの処理は下記のようになっています。
Dim myprocess As New System.Diagnostics.Process()
myprocess.StartInfo.FileName = Server.MapPath("./ファイル名.bat")
myprocess.Start()
まずファイル名の部分でtest.batと指定し、このファイル内で
「echo test>>パス\test.txt」としたところボタンを押すとtest.txtが作成されますので
Web経由でバッチが実行されていることは問題なしと考えています。
次に「WOL.bat」とし、ファイル名を本番のものに差し替えたところ
特にエラー等はでませんがPCが起動しません。
サーバー上でWOL.batをコマンドで起動したら問題なくPCが立ち上がります。
権限が怪しいと思ったためこのような権限を追加しましたが改善が見られません。
・Default.aspxのフォルダにeveryoneフルコントロールを付与
・AdministratorsグループにNetworkServiceを追加
(ASPアカウントは.netframeworksのバージョンの問題からかそもそも存在しません)
どこか見落としていると思うのですが何が悪いのでしょうか。
0407デフォルトの名無しさん
2010/05/31(月) 00:23:460408デフォルトの名無しさん
2010/05/31(月) 00:30:33取り敢えずとは言え怖いことを
0409デフォルトの名無しさん
2010/05/31(月) 00:36:110410406
2010/05/31(月) 00:37:26具体的には匿名認証で利用しているユーザーを「IUSR」からAdministratorに変更しました。
他に何か怪しいところはないでしょうか。
0411デフォルトの名無しさん
2010/05/31(月) 00:41:590412デフォルトの名無しさん
2010/05/31(月) 00:43:140413デフォルトの名無しさん
2010/05/31(月) 00:55:410414デフォルトの名無しさん
2010/05/31(月) 00:58:20>>413
どういう意味があるわけ?
0415406
2010/05/31(月) 01:38:43あまりにくだらない原因で言い出しにくいのですが
カレントフォルダはちゃんと変更していたのですが
「カレントディレクトリ」を変更していませんでした。
コマンドで実行する場合はまずバッチファイルのパスへ移動するために
カレントドライブを変更し、その後ディレクトリを移動していたのですが
暗黙のうちに「D:」としていたので気づきませんでした。
ありがとうございました。
0416デフォルトの名無しさん
2010/05/31(月) 01:47:120417デフォルトの名無しさん
2010/05/31(月) 08:17:54バインドの仕方とページ移動のコードは?
0418デフォルトの名無しさん
2010/06/01(火) 23:40:33で7番目の列を非表示させたいのですが
sqldatasourceで関連付けたテーブルの場合は、上の方法で非表示になるのですが
GridView3.DataSource = dt
GridView3.DataBind()
で関連付けた場合は
「インデックスが範囲を超えています。負でない値で、コレクションのサイズよりも小さくなければなりません。」
とエラーが出てしまいます。
アドバイスをお願いします。
0419デフォルトの名無しさん
2010/06/02(水) 08:57:36で列数取ってみれば?
0420デフォルトの名無しさん
2010/06/02(水) 10:08:24その中のある1ページの下部にボタンを配置したところ、
表示した段階でそのボタンにフォーカスが当たってしまい、
画面下部がメインに表示されてしまいます。
(縦スクロールが下にずれてしまっている状態)
フォーカスをボタンから外せれば問題が解決できると思ったのですが
その方法が分かりません。。
ご存知の方いらっしゃいましたら教えてください。
0421デフォルトの名無しさん
2010/06/02(水) 11:39:15ttp://www.atmarkit.co.jp/fdotnet/dotnettips/731aspajaxfocus/aspajaxfocus.html
こんなんじゃだめかい?
0422418
2010/06/02(水) 16:51:25Gridview.Columns.Countを見たら、やっぱり0でした。
ちなみにコードはこんな感じです。
ーーーーーーーーーーーーーーーーーーー
'コネクションオブジェクトを作成する
Dim con As New SqlClient.SqlConnection(con_string)
'SQL文を生成する userdataから借りている本の数を取り出す
Dim sql As String = "SELECT * FROM M_ユーザー"
'コマンドオブジェクト
Dim ad As New SqlClient.SqlDataAdapter(sql, con)
'Fillするデータテーブル
Dim dt As New DataTable
'Fillする
ad.Fill(dt)
'GlidView1にデータバインド
GridView1.DataSource = dt
GridView1.DataBind()
'非表示設定 1列目を非表示に
GridView1.Columns(0).Visible = False ←ここでエラーが出ちゃいます
0423デフォルトの名無しさん
2010/06/02(水) 18:46:38あんまそっちのDataGridView使わないけどバインド完了した時のイベントってなかったっけ?
そもそも、カラムを消す場合はカラムの数をチェックしてから消すべきだとは思うけど・・・
確認だけど、ページが表示された時はきちんとカラム表示されてるんだよね?
0424デフォルトの名無しさん
2010/06/02(水) 18:47:190425デフォルトの名無しさん
2010/06/02(水) 23:34:43とりあえずエラーが出る直前で
Gridview.AutoGenerateColumnsとdt.Columns.Countを確認してみろ
0427418
2010/06/03(木) 00:33:47GridView1.Columns(0).Visible = Falseだとエラーがでるのに
GridView1.Rows(0).Cells(0).Visible = Falseだと
指定したセルの中身は消えます。
GridView1.Rows.Countも表示されるテーブルの行の数が入ってます
(今回だと18)
0428デフォルトの名無しさん
2010/06/03(木) 00:37:56それをvb.net上でブラウザで見たときのように表示することは可能でしょうか?
可能であれば方法等教えて頂ければ幸いです
よろしくお願いします
0429428
2010/06/03(木) 00:42:48タグを表示したあと
タグ内の記述にこういうものがあるとして
<a href="http://hoge.com/?p=123">
これを
<a href="http://hoge.com/?p=" & TextBox1.Text & ">
こういう感じで操作したいのです
0430418
2010/06/03(木) 00:52:20Protected Sub GridView1_RowCreated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowCreated
'returned列を非表示
e.Row.Cells(7).Visible = False
'userID列を非表示
e.Row.Cells(8).Visible = False
End Sub
で非表示可能(列まるごと非表示)でした。
0431デフォルトの名無しさん
2010/06/03(木) 01:18:15いっこいっこ自分で開くしかないのかな?
0432デフォルトの名無しさん
2010/06/03(木) 01:49:29自動生成されたバインド済み列フィールドは、Columns コレクションに追加されません。
らしいので、Columns.Countがゼロなのは仕様通りの動作だな
つか表示してから消すんじゃなくて、select発行するときに初めから
列指定で必要な列だけにすればいいんじゃないかとおもうんだが
0433418
2010/06/03(木) 02:20:49http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=41415&forum=7
こんなのも見つけました。
>列指定で必要な列だけ
GridViewに行を選択できるボタンを追加し、
そのボタンはbit型の列をバインドして
Falseの場合はボタンが押せないようにしたいんですが
bit型の列は表示させないようにしたかった、のでした。
0434デフォルトの名無しさん
2010/06/03(木) 06:31:40そもそも自動生成カラム使う必要ないんじゃね?
>そのボタンはbit型の列をバインドして
>Falseの場合はボタンが押せないようにしたいんですが
ボタン列をテンプレートで作っといて、ボタンのEnabledにデータバインドすれば?
<asp:TemplateField HeaderText="選択">
<ItemTemplate>
<asp:Button ID="Button1" runat="server" CommandName="Select" Text="選択" Enabled='<%# eval("FLG") %>' />
</ItemTemplate>
</asp:TemplateField>
こんな感じ
0435デフォルトの名無しさん
2010/06/03(木) 12:07:270436デフォルトの名無しさん
2010/06/05(土) 23:01:051.データベースからある列をselectしてコンボボックスに
2.コンボボックスから選択するとその値をもつデータをリストボックスに追加する
3.リストボックスから選択すると詳細をテキストボックスに表示する。
というもので、
例えばデータベースに
名前 値段 在庫 種類
みかん 100 10 果物
りんご 100 20 果物
鉛筆 50 30 文房具
とあれば
1.ロード時にコンボボックスに果物、文房具を登録
2.果物を選択すると、リストボックスにみかん:100円、りんご:100円を登録
3.りんごを選択すると、テキストボックスにりんご、100円、在庫20、果物と表示される。
ということをしたいのですが、
リストボックスに表示まではうまくいくのですが、3の動作はどのようにしたらよいでしょうか?
0437デフォルトの名無しさん
2010/06/05(土) 23:02:080438デフォルトの名無しさん
2010/06/05(土) 23:05:14http://qb5.2ch.net/operate/
0439デフォルトの名無しさん
2010/06/06(日) 16:30:48単純に『3で表示する詳細』をテーブルで持ってるなら
『種類』と『名前』を条件にして select すれば良いと思う
テーブルで持ってないならどの様に持っているのか書いてね
0440デフォルトの名無しさん
2010/06/06(日) 16:33:13酒飲んでるとダメだなwごめんね
select で良いと思うよ
0441デフォルトの名無しさん
2010/06/06(日) 18:09:27レスありがとうございます。
そうしようと思ったんですが、
『種類』と『名前』を条件にして select すれば良いと思う
リストボックスから選択時にこの種類と名前はどうやって取得すればいいのかが分からなくて…
0442デフォルトの名無しさん
2010/06/06(日) 18:11:370443デフォルトの名無しさん
2010/06/06(日) 18:53:15みかん:100円
と表示されている状態からSelectedItemで名前だけって取れますか?
いまちょっと調べていたら、ListViewというものがあるみたいで
名前 値段
でリストに表示すれば、名前だけ取得できるのかなと思ったので、試してみようかと思います。
0444デフォルトの名無しさん
2010/06/06(日) 18:55:360445443
2010/06/06(日) 19:39:450446デフォルトの名無しさん
2010/06/06(日) 19:41:51なにがうぜー。だよ(笑)
SelectedItemで名前だけ取れるかつって聞いてんの
日本語読める?ん?
0447デフォルトの名無しさん
2010/06/06(日) 19:42:570448443
2010/06/06(日) 19:44:500449デフォルトの名無しさん
2010/06/06(日) 20:59:290450デフォルトの名無しさん
2010/06/06(日) 22:06:530451デフォルトの名無しさん
2010/06/06(日) 22:10:380452デフォルトの名無しさん
2010/06/06(日) 22:11:380453デフォルトの名無しさん
2010/06/06(日) 22:12:440454450
2010/06/06(日) 22:13:150455デフォルトの名無しさん
2010/06/06(日) 22:54:380456デフォルトの名無しさん
2010/06/06(日) 22:58:350457デフォルトの名無しさん
2010/06/06(日) 23:45:5004581-1000
2010/06/07(月) 01:24:070459デフォルトの名無しさん
2010/06/07(月) 02:10:140460デフォルトの名無しさん
2010/06/08(火) 10:33:26正確に表示されません。
TextBox1.Text = Format(a1, "#.##0")
どうしたらよいでしょうか
型を変えたり、Formatしない方法とか色々試しているのですが…
0461デフォルトの名無しさん
2010/06/08(火) 10:37:56http://jeanne.wankuma.com/tips/vb.net/math/ あたりを参照
0462デフォルトの名無しさん
2010/06/08(火) 11:25:520463460
2010/06/08(火) 17:43:54みたく小数点以下3桁を表示するようにしたいと思ってます。
0464デフォルトの名無しさん
2010/06/08(火) 17:52:050465460
2010/06/08(火) 18:58:20If Decimal.TryParse(TextBox1.Text, True) Then
a(0) = Decimal.Parse(TextBox1.Text)
Else
a(0) = 0
の繰り返しでやると問題なし
functionを作ってやると、小数点以下が四捨五入されてしまします。
なぜですか?
0466デフォルトの名無しさん
2010/06/08(火) 19:09:290467460
2010/06/08(火) 19:21:12で入力された数値の平均を算出して回答する。といった感じです
それのちょっと複雑版です
0468デフォルトの名無しさん
2010/06/08(火) 19:54:19>>465はなぞなぞで良いんだよな?w
0469デフォルトの名無しさん
2010/06/08(火) 20:21:080470デフォルトの名無しさん
2010/06/08(火) 20:59:15Function内で暗黙的な型変換が行われてると思うな
Option Strict On
Option Explicit On
追加してみよう
0471デフォルトの名無しさん
2010/06/08(火) 22:17:55ありがとう
調べてみます
0472デフォルトの名無しさん
2010/06/09(水) 06:29:030473デフォルトの名無しさん
2010/06/09(水) 08:44:44>If Decimal.TryParse(TextBox1.Text, True) Then
のTrueが不思議でならない。
0474デフォルトの名無しさん
2010/06/09(水) 08:53:03C#みたく明示的にoutつけないといけないような仕様にすりゃいいのに
0475デフォルトの名無しさん
2010/06/09(水) 10:30:18スクロールバーなどでスクロールして、その内の一部を表示するようにしたいのですが、
処理が早くて負担の少ない方法を助言頂きたいです。
0476デフォルトの名無しさん
2010/06/09(水) 11:21:17過去の呪縛
C++に代表されるように昔は参照渡しと値渡しが同一に見えるのが格好いいと思われてたんだよ
>>475
そのグラフは動的に描いてるのか単なる画像なのかどっちだ
0477デフォルトの名無しさん
2010/06/09(水) 11:29:39byrefで参照わたしになるけど、そういう意味?
0478デフォルトの名無しさん
2010/06/09(水) 11:50:46一行目はそう
二行目は呼び出し側にもキーワード付けるべきだったってことだな
Dim a As B = c.D(ByRef e)
みたいになったのかなー
0479デフォルトの名無しさん
2010/06/09(水) 12:14:03え〜、呼び出し側にも?
めんどくさw
0480デフォルトの名無しさん
2010/06/09(水) 13:09:29VBやってる人にはそんなの考えないから要らない、となる
ごく自然である
0481デフォルトの名無しさん
2010/06/09(水) 14:32:16そんなデータ読み込むだけでえらいことになるから動的に描画した方がいいんじゃね?
つうか、その画像サイズいくらだべ?
0482デフォルトの名無しさん
2010/06/09(水) 17:07:22参照渡しは明示しないと読みづらいんだよ
少なくともMSの中の人は既存の言語を研究した結果そう考えてC#を作った
0483デフォルトの名無しさん
2010/06/09(水) 17:25:40VB使いにとっては、もともと参照渡しがデフォだったのでそれが当たり前で
別に読みにくくはない
逆に.netになってから値渡しがデフォになったので、byrefに変更し忘れて、はまることがあるなw
0484デフォルトの名無しさん
2010/06/09(水) 21:08:12そんなのではまる、なんてそりゃ言っちゃ悪いけど君の問題だわ。
今からでもいいから、VBでもC#のoutキーワードは導入すべきだと思う。
まあ、そもそもC#でもoutなんて邪道と言えば邪道なんだけど
0485デフォルトの名無しさん
2010/06/09(水) 21:40:470486デフォルトの名無しさん
2010/06/09(水) 21:52:20VBでoutにするにはByRefパラメータに<Out>属性を付けた上で
それに元々入っていた値にはアクセスしないようにしないといけない
0487デフォルトの名無しさん
2010/06/09(水) 22:06:340488デフォルトの名無しさん
2010/06/10(木) 00:35:57そう?
ハマリって大概思い込みなんじゃねえ?
思い込みがなけりゃ、そんなにハマルもんじゃなし
0489デフォルトの名無しさん
2010/06/10(木) 00:40:50VBの仕様が人間にとって自然かどうかは別にして、
人間が使うものなんだから言語の方を人間の感覚に合わせるのは当然
0490デフォルトの名無しさん
2010/06/10(木) 01:06:320491デフォルトの名無しさん
2010/06/10(木) 05:30:180492デフォルトの名無しさん
2010/06/10(木) 05:36:21単語の最初と最後の文字が同じなら、だぞ
0493デフォルトの名無しさん
2010/06/10(木) 07:51:49「おもこいみ」と「おもいこみ」ねwww
0494デフォルトの名無しさん
2010/06/10(木) 17:14:53for〜nextで、全てのColumnsを検索し確認する事は出来るのですが
存在確認する項目が多いので、都度for〜nextで回すのも見苦しいと思い…。
どうかご教授お願いいたします。
0495デフォルトの名無しさん
2010/06/10(木) 17:19:41何故1回のループで全部のチェックをしようと思わないの?
0496デフォルトの名無しさん
2010/06/10(木) 17:44:00なるほど、確かにそうですね!
ありがとうございます。
0497デフォルトの名無しさん
2010/06/10(木) 17:45:53Columns.Contains
があるんだけどなぁ・・・
つうかDataSetの中の全てからってことになるんだったらテーブル位は回してもらわないと無理じゃね?
0498デフォルトの名無しさん
2010/06/10(木) 19:08:451〜100の数字から10個の数字をランダムで抽出しLabelに表示するにはどうすればいいでしょうか?
1〜100からランダムで表示させるのは出来るのですが
10個抽出した場合同じ数字が出てしまう場合が出てくると思うのです
同じ数字を出さずに10個抽出する方法はどうすればいいのでしょうか?
口足らずな質問ですがよろしくお願いいたします
0499デフォルトの名無しさん
2010/06/10(木) 19:16:25シャッフルしてから先頭の10個を取り出す
シャッフルはググれ
0500デフォルトの名無しさん
2010/06/10(木) 19:18:40Dim cnt As Integer = 0
Dim list As New List(Of Integer)(10)
Dim rnd As New Random()
While True
Dim temp As Integer = rnd.[Next](1, 100)
'0-100まで
If list.Contains(temp) = True Then
Continue While
End If
list.Add(temp)
’保険
If list.Count >= 10 OrElse cnt > 10000 Then
Exit While
End If
End While
自分的には>>499のが性格だし安心だと思うけどw
0501500
2010/06/10(木) 19:23:33吊ってくる
0502デフォルトの名無しさん
2010/06/10(木) 19:56:17>>500
レスありがとうございます。
このようなソースで実現できました
Imports System.Linq
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim num(99) As Integer
Dim num2(99) As Integer
Label1.Text = ""
For i = 1 To 100
num(i - 1) = i
Next i
num2 = num.OrderBy(Function(j) Guid.NewGuid()).ToArray()
For x = 0 To 9
Label1.Text &= num2(x) & vbCrLf
Next
End Sub
End Class
連続質問で申し訳ないのですが
シャッフルし、先頭から抽出した10個の数字を小さい順に並べ替えるにはどうしたらいいのでしょうか?
検索してみても文字列のソート方法等しか見つからず
初心者の私にはいまいち理解できませんでした・・・
よろしくお願いいたします
0503デフォルトの名無しさん
2010/06/10(木) 20:01:36JavaScriptとかのもあるけどアルゴリズム的にはかわらないっしょ
0504デフォルトの名無しさん
2010/06/10(木) 20:05:04それくらいは調べてみようぜ?
あのサイトの中の検索があったはずだからシャッフルだ入れて調べてみ?たぶんある
0505デフォルトの名無しさん
2010/06/10(木) 20:10:29数値でOrderByはできないのか? よくわからん
0506デフォルトの名無しさん
2010/06/11(金) 00:56:29リリースビルドをした後にビルド対象のファイルを追加修正しました
修正後に再度ビルドをしたのですが、生成されるpdbファイルのサイズが小さくなっていました
サイズが大きくなるのならわかるのですが、小さくなっていることがどうも引っかかります
この事象に関して、どなたか教えて頂けないでしょうか?
0507デフォルトの名無しさん
2010/06/11(金) 01:10:020508デフォルトの名無しさん
2010/06/11(金) 01:54:49タイマーで1秒ごとにフォームに直線を描くプログラムです。
そこで1秒前に書いた直線だけを消すのはどうしたらいいでしょうか。
枠線みたいなものがあり、フォーム全部を塗りつぶしたり、
フォームにある線全てを消す事はできません。
お願いします。
0509デフォルトの名無しさん
2010/06/11(金) 02:09:05背景色で同じとこに線を引く
0510デフォルトの名無しさん
2010/06/11(金) 03:37:440511デフォルトの名無しさん
2010/06/11(金) 07:18:00描く側から見れば単なる非透過のフレームバッファに描画しているだけ。
>>508を真面目に実装するなら、どこに線を描画したかを記録しておいて、
1秒毎に背景色によるクリアを含めて一から全て再描画しなおす、って感じになるな。
0512デフォルトの名無しさん
2010/06/11(金) 07:30:590513デフォルトの名無しさん
2010/06/11(金) 08:26:24現在の画像をビットマップAに退避
1秒前の画像(ビットマップB)で作業用ビットマップクリア
作業用ビットマップに直線描画(そしてフォームに転送)
1秒前の画像更新(ビットマップA→ビットマップB)
0514デフォルトの名無しさん
2010/06/11(金) 08:46:25でもやっぱり基本はダブルバッファリングだな
0515508
2010/06/11(金) 12:31:21簡単に消すことは出来ないんですね。
画像で保持しておく方法、
どこに描画したか記録しておく方法の
二つを検証して進めていきたいと思います。
0516デフォルトの名無しさん
2010/06/11(金) 13:43:19ピクチャボックスなりのバックグラウンドに背景描画してフォアグラウンドに
線だけ描画するのが一番簡単かな
描画の負荷も軽いし
0517デフォルトの名無しさん
2010/06/11(金) 14:55:14まともに実装していれば、これくらいにはなっているはずだろ
・タイマーイベントで、線分を計算→Invalidate
・OnPaint(Paintイベント)で線分を描画
まあ、タイマーイベントでGDI描画とか阿呆なことしてると予想してるが
0518デフォルトの名無しさん
2010/06/11(金) 20:28:120519デフォルトの名無しさん
2010/06/11(金) 23:17:35String.Compareを使用した場合、AA<Zになってしまいます。
どうか教えて頂きたく…。
0520デフォルトの名無しさん
2010/06/11(金) 23:27:59アスキーコードだけだと判断して
1桁目のAだと 65
2桁目のAだと 65+(255*(2-1)) = 65+255
こんな感じで・・・・てだめすか?w
0521デフォルトの名無しさん
2010/06/11(金) 23:28:39その例なら頭にスペースくっつけて_A…_Z…AA…ZZってやれば?
0522デフォルトの名無しさん
2010/06/11(金) 23:29:07Comparisonジェネリックデリゲートのサンプルをそのままパクっとけ。
……意外な所に答えそのものがあって吃驚した
0523デフォルトの名無しさん
2010/06/11(金) 23:32:10早速のレスありがとうございます。
文字列には、AAAもあればABBBなど文字の長さは変動します。
3桁の場合は255*(桁数-1)すればいいのかな…
ちょっと色々試してみます。
0524デフォルトの名無しさん
2010/06/11(金) 23:33:48続けてレスありがとうございます。
そういう方法&サンプルがあるのですね。
早速、探索&試してみます。
0525508
2010/06/12(土) 07:53:43おっしゃる通りアホな事していました。
そのやり方で出来ました。
独学で周りにも聞く人もいないためここだけが頼りなんです。
すいません。
0526デフォルトの名無しさん
2010/06/12(土) 09:11:59他のウィンドウに隠されて領域が無効化されることが無くなっているから、
イベント毎に描画でもそれなりに作れるからなあ。
0527デフォルトの名無しさん
2010/06/12(土) 14:59:40>他のウィンドウに隠されて領域が無効化されることが無くなっているから、
本当かそれ?
何か勘違いしてると思うけど....
0528デフォルトの名無しさん
2010/06/12(土) 15:04:13何を疑ってるのか知らんが
ボタン押下とかでCreateGraphicsで描画して他のウィンドウ重ねた後アクティブにしても消えないよ
最小化>元に戻すとかなら再描画が発生して消えるけど
0529デフォルトの名無しさん
2010/06/12(土) 15:06:260530デフォルトの名無しさん
2010/06/12(土) 16:27:44FormのOnPaintでデバッグ出力してみればわかるよ。
0531530
2010/06/12(土) 16:29:51言ってないからね。
0532デフォルトの名無しさん
2010/06/12(土) 16:35:09それを実現するためにはウィンドウごとにバックバッファを持たせる必要があるけど
そんな無駄が多いことをするわけがない。
単に最前面のウィンドウが隠してる領域を保存してるだけ
(ツールチップもそんな仕組みだと思ったけど)ってオチじゃないの?
0533デフォルトの名無しさん
2010/06/12(土) 16:40:27いや、それが実際にウィンドウ全部のバックバッファを持っているんだよ。
http://d.hatena.ne.jp/NyaRuRu/20070127/p2
0534533
2010/06/12(土) 16:43:17「トップレベルウィンドウ全部」ね。
従来はディスプレイデバイスに直接描画していたから、バックバッファを持つ必要はなかったけど、
Direct3DのサーフェイスにはGDIで直接描画できないから、いったんバックバッファに
描画するようになったと言うこと。
0535デフォルトの名無しさん
2010/06/13(日) 01:52:00これってVB6でも同じですか?
自分で検証した結果VB6では消えないんですが、
なんで消えるようになったんですかねぇ?
0536デフォルトの名無しさん
2010/06/13(日) 02:10:150537デフォルトの名無しさん
2010/06/13(日) 10:09:33sendkeyを使って、自分自身内に組み込んであるwebbrowserに
対してタブキー、エンターキーを送信していたのですが、
ウィンドウがアクティブじゃないと正しく機能しないことに気づきました。
ウィンドウが非アクティブ時でも、ちゃんとそのウィンドウに対して
キーを送信するには、win32apiのsendmessage関数を使用すれば
いいのでしょうか。
0538デフォルトの名無しさん
2010/06/13(日) 12:12:37vb6 はプロパティの設定で再描画するようにも、しないようにもできるよ
.netになって不便になったよね
なんで再描画しなくなったのかというと、.netフレームワークの仕様?
0539デフォルトの名無しさん
2010/06/13(日) 12:17:510540デフォルトの名無しさん
2010/06/14(月) 11:58:45チェックが入ってしまうのですが、入らない様にする方法はありますでしょうか。
列をダブルクリックすると別処理を行いたいのですが、チェックが入ってしまうので…
0541デフォルトの名無しさん
2010/06/14(月) 12:36:320542デフォルトの名無しさん
2010/06/14(月) 14:36:330543デフォルトの名無しさん
2010/06/15(火) 19:20:130544デフォルトの名無しさん
2010/06/15(火) 22:55:30Friend Shared Function ShellExecuteEx(・・・)
などと静的メソッドとして宣言しないといけないようなのですが、
これをインスタンスメソッドとして利用するような方法はあるでしょうか?
たとえば、上記の場合だと、コピーなどは並行して複数行いたい場合などのため
その都度インスタンスを作成してそのメソッドを使うなどしたいのですが、
これは無理でしょうか?御指導をお願いします!
0545544
2010/06/15(火) 23:02:420546デフォルトの名無しさん
2010/06/16(水) 00:22:32なんでAPI部分がstaticメソッドだと複数使えないわけ?
っていうかインスタンスメソッドだと複数使えるようになるわけ?
例えばFileStreamなんかCreateFile系とかその他いろいろなAPIの
ラッパーみたいなもんだが、ちゃんと複数使えるだろ?
0547544
2010/06/16(水) 10:57:21なるほど!宣言がStaticでもAPI側で再入可能になっていたんですね!
そうか、わかりました。御指導、ありがとうございました!!
0548デフォルトの名無しさん
2010/06/16(水) 20:04:17きちんと分けないと。
0549デフォルトの名無しさん
2010/06/19(土) 09:20:07出したいんですができません。
どこか参考になるサイトありませんか?
列A 列B 列C
1 A B ComboBox1
2 C D ComboBox2
. . . .
. . . .
0550デフォルトの名無しさん
2010/06/20(日) 04:09:23作成されるアプリもメモリ食いすぎるからオススメしない。
0551デフォルトの名無しさん
2010/06/20(日) 08:32:520552デフォルトの名無しさん
2010/06/20(日) 10:48:57そうなんですか。
初心者ですみません。VS2010使ってみます。
0553デフォルトの名無しさん
2010/06/20(日) 10:53:130554デフォルトの名無しさん
2010/06/22(火) 01:35:02FormのX軸の真ん中に
Labelに表示された文字列の真ん中が来るようにしたいのですが
つまづいています。
どなたかお願いします
0555デフォルトの名無しさん
2010/06/22(火) 02:13:170556デフォルトの名無しさん
2010/06/22(火) 05:47:11いないでしょ。
乞食ってのは物を恵んでもらったり
拾う事に抵抗がない人だから
もっといいもの使ってるよ。
0557デフォルトの名無しさん
2010/06/22(火) 07:42:261.LabelをX軸中央に置く(IDEの書式メニューとか使う)
2.AnchorプロパティからLeftとRightを除く
3.TextAlignプロパティを〜Centerにセットする
これで完了。
0558デフォルトの名無しさん
2010/06/22(火) 16:18:33フォーム外れたところの座標がとれません
どうすればいいですか??
0559デフォルトの名無しさん
2010/06/22(火) 20:35:300561デフォルトの名無しさん
2010/06/23(水) 02:34:13確かに774はまだいない。
0562554
2010/06/23(水) 02:43:54失礼しました、質問が下手だったので誤解を与えていたようです。
通常、文字を打つと
始
↓
|あ
|あいう
|あいうえお
・・・の様に「文字は新しい順に、左から右に表示される」のですが
始
↓
あ
あいう
あいうえお
|
「文字列の中心」が開始線から動かないように出来ないか
悩んでいました。
0563554
2010/06/23(水) 02:49:48何とか自己解決しました
LabelのAutoSizeをFalseで解除、
あらかじめLabelのサイズを指定して
アドバイスにあったように
LabelのTextAlignをContentAlignment.MiddleCenterにしたら解決しました。
アドバイスも今作っているものに使えそうです、
御教授ありがとうございました。
0564デフォルトの名無しさん
2010/06/23(水) 16:35:12C++のバイト配列(char配列)をWM_COPYDATAで送って、VB.NETで受け取りたいです。
VB.NET側ではどのようにしたらよいのでしょうか。
0565デフォルトの名無しさん
2010/06/23(水) 16:41:080566デフォルトの名無しさん
2010/06/23(水) 16:48:400567デフォルトの名無しさん
2010/06/23(水) 21:28:05文字列を保持しながら画面を遷移したいのですが
何かいい方法ありませんか?
0568デフォルトの名無しさん
2010/06/23(水) 21:41:290569デフォルトの名無しさん
2010/06/24(木) 01:01:05意味がよくわからんが、でかい文字列ってこと?
0570デフォルトの名無しさん
2010/06/24(木) 13:22:380571デフォルトの名無しさん
2010/06/24(木) 13:35:57VB2005 で ASP.Net の GridView コントロールで困っていることがあります。
<asp:TemplateField HeaderText="なまえ">
<ItemTemplate>
<%#CType(Container.DataItem, Data.DataRowView)("なまえ")%>
</ItemTemplate>
</asp:TemplateField>
としている箇所があるのですが、このフィールドに自作関数の戻り値を表示したいのです。
<asp:TemplateField HeaderText="なまえ">
<ItemTemplate>
<%=Hoge(<%#CType(Container.DataItem, Data.DataRowView)("なまえ")%>)%> <--ココ
</ItemTemplate>
</asp:TemplateField>
Public Function Hoge(inputString As String) As String
Dim outputString As String
outputString = inputString + "xxx"
Return outputString
End Function
としたいところなのですが、<--ココ と記載した行の <%# で「式が必要です」との
エラーが出てしまいます。
いろいろとググッてみたつもりなのですが、このような場合の記述方法がわかりません。
ご教示いただきたく思います。
宜しくお願いいたします。
0572デフォルトの名無しさん
2010/06/24(木) 14:01:52とする
0573571
2010/06/24(木) 14:09:06ありがとうございます!そのように記述するんですね。
助かりました。
参考に、そのような記述方法(基本なのかもしれませんが...)はどこかのサイトに
解説されていたりするでしょうか?
ググろうにもキーワードが思い浮かばなくて苦労しました。
0574デフォルトの名無しさん
2010/06/24(木) 14:28:49Visual basic 2010 express を使用しています。
簡単な戦闘プログラムを作成しています。
主人公のHPをプログレスバーで表して、MPもプログレスバーで表そうとしていますが、
バーの色が緑色からかえられません。
できれば、HPの色はそのまま緑色で
MPの色は青色にしたいのですが、どのようにしたらいいでしょうか?
0575デフォルトの名無しさん
2010/06/24(木) 14:36:470576デフォルトの名無しさん
2010/06/24(木) 14:41:570577デフォルトの名無しさん
2010/06/24(木) 14:45:36forecolorじゃ青色に変えても、変わらないんです><
0578デフォルトの名無しさん
2010/06/24(木) 14:51:56まあProgressbarくらい自分で描画すればいいでね?
0579デフォルトの名無しさん
2010/06/24(木) 15:06:10Progressbar くらい・・・
初心者の私には難しすぎる(ぁ
しかたないから、ピクチャーボックスを配置してXの値を変更してMPゲージにしました。
ありがとうございました
0580デフォルトの名無しさん
2010/06/24(木) 18:59:05使用メモリも少なく、低いスペックのマシンでもいいものが作れる。
0581デフォルトの名無しさん
2010/06/24(木) 19:32:12とはいえ、俺みたいな面倒臭がりには
OptionInferとか拡張メソッドが無いのが一寸辛い。
0582デフォルトの名無しさん
2010/06/24(木) 20:56:402010は出たばかりの頃の2005くらいに感じる
0583567
2010/06/24(木) 21:03:52>意味がよくわからんが、でかい文字列ってこと?
旅費精算システムで使います
文字の他にいろいろなIDを持たせるので、
将来的には結構でかい文字列になる可能性が高いです
0584デフォルトの名無しさん
2010/06/24(木) 21:07:440585デフォルトの名無しさん
2010/06/24(木) 21:57:21いや、
>asp.netでセッション変数にも値を保持出来ない程度の、
これがどういう意味なのかを教えてくれよ。
0586デフォルトの名無しさん
2010/06/24(木) 22:32:23マジレスしていい?
セッション変数で渡すのはセッションIDは1個だけでいい。
このIDをローカルのデータベースを使ったりして、
いろいろなIDや文字に関連付けさせておけばいい。
でかい文字列はローカルのデータベースとかに
入れておいて、対応するセッションIDのデータを
見ればいいんだよ。
0587デフォルトの名無しさん
2010/06/24(木) 23:19:27vectorに送付するのは開発したアプリだけでいいんですか?ソースとかもアップしなきゃだめ?
0588デフォルトの名無しさん
2010/06/24(木) 23:20:350589デフォルトの名無しさん
2010/06/24(木) 23:21:10にやり方が書いてある。
0590デフォルトの名無しさん
2010/06/24(木) 23:27:12実用性がゼロでもソースが付いてたらサンプルとしての価値はある
.NETならソースはどうせ覗こうと思えばソース付いてなくても覗けるんだから
0591デフォルトの名無しさん
2010/06/24(木) 23:28:29それとメアドの入ったドキュメント(readmeとか)必須
0592デフォルトの名無しさん
2010/06/25(金) 17:11:41Cのchar配列からVB.NETのStringに変換したいです。
下記のように書いていて、Cからは"123"と送っています。
�Bのところでブレークしてcds.lpDataをメモリウィンドウで見ると「0x31,0x32,0x33」とはいっているのでここまでは意図どおりです。
しかし、�Bの行を実行するとrecCには文字化けした文字が入ってしまいます。
�CでrecStrに"123"といれるには、どのようにしたらよいでしょうか。
�@ Dim cds As COPYDATASTRUCT = DirectCast(Marshal.PtrToStructure(m.LParam, GetType(COPYDATASTRUCT)), COPYDATASTRUCT)
�A Dim recC As Char() = New Char(cds.cbData) {}
�B Marshal.Copy(cds.lpData, recC, 0, cds.cbData)
�CDim recStr as String = recC
0593デフォルトの名無しさん
2010/06/25(金) 17:18:400594デフォルトの名無しさん
2010/06/25(金) 17:20:42Byte()で受けてEncodingでStringに変換 Chr(0)でSplit
0595592
2010/06/25(金) 17:25:17できました!ありがとうございます!!!
0596デフォルトの名無しさん
2010/06/25(金) 18:40:040597デフォルトの名無しさん
2010/06/25(金) 18:44:48以前、VB2005 で作ったデスクトップアプリが、起動してもフォームが現われなくなりました。
「最大化」のボタンを押すと、最大化して現われるのですが、「元のサイズに戻す」と、
また消えてしまいます。
一応、タスクバーには現われているんですが・・・。
1ヶ月ほど前までは、普通に動いていたのですが、
こういう場合、どういう原因が考えられるのでしょうか。
WinXP SP2 です。
0598597
2010/06/25(金) 18:47:29同じく、VB2005、WinXP SP2で作ったデスクトップアプリなのですが、
ファイルメニューの終了を選ぶと Application.Exit() で終了する仕組みで、
終了しなくなってしまいました。(終了選んでも反応しません。)
こちらも、少し前までは普通に終了できていたのですが・・・。
(597 とは別のアプリです。)
何が原因なのかさっぱりです。
どなたか、何かヒントでもありましたらご教示下さい。
0599597
2010/06/25(金) 18:58:54>>597
ビルド→リビルドをしたところ、
元のサイズのフォームが現われるようになりました。
何か、ファイルが壊れていたのでしょうか・・・。
>>598
こちらは、何故かコードがぬけていました。
今まで終了していたと思っていたのは勘違いだったようです。
大変失礼しました。
597について、exe を起動してもフォームが表示されず、
最大化した時のみ表示される現象の原因は不明のままです。
最大化した後、「元のサイズに戻す」と、またフォームが消えてしまいます。
タスクバーには残ったままです。
(以前は、確かに元のサイズで正常表示されていました。)
ビルド、リビルドをやってみたところ直ったのですが、、、なんでだろ。
0600デフォルトの名無しさん
2010/06/25(金) 19:32:330601デフォルトの名無しさん
2010/06/26(土) 07:47:21結局これはDataGridViewではできないのでしょうか?
0602デフォルトの名無しさん
2010/06/26(土) 08:26:14DataGridViewComboBoxColumnとDataSourceをうまく組み合わせるか、
DataGridViewComboBoxCellに直接選択肢を入れるかすればできる。
0603デフォルトの名無しさん
2010/06/26(土) 13:28:170604デフォルトの名無しさん
2010/06/26(土) 13:34:240605デフォルトの名無しさん
2010/06/26(土) 15:39:14直接入れる方法で参考になるサイトありませんか?
0606デフォルトの名無しさん
2010/06/26(土) 16:12:24>>602
DataSouce設定するにしても、Cellに直接設定するにしても、データバウンドさせた場合
全件データバウンド−>全行を1行ずつなめて設定 の流れしか思いつかなかったんだが
もうちょっとスマートなやり方ある?
WEB系のコントロールだとItemDataBoundとか使うのが常套なんだが
WinFormには該当するイベントがなさそうな感じなんだが
>>605
>>2
0607デフォルトの名無しさん
2010/06/28(月) 14:43:37> 全件データバウンド−>全行を1行ずつなめて設定 の流れしか思いつかなかったんだが
コレがスマートじゃなくて
> WEB系のコントロールだとItemDataBoundとか使うのが常套なんだが
コレがスマートであると考えた理由が知りたい
0608デフォルトの名無しさん
2010/06/28(月) 15:21:12データバウンドで全行処理した後に、もう1度全行に設定
全行に対して2回づつ処理
ItemDataBound=各行のデータバウンド時に処理
全行に対して1回の処理
ってことなんだが
グリッドの各行に対して処理するのに
全行をループする処理を書くのがスマートじゃないと思うんだ
んで自分でループさせない方法はないのかと思ったわけ
0609デフォルトの名無しさん
2010/06/29(火) 22:27:57お願いします。この方法の例文提示してほしいです。
0610デフォルトの名無しさん
2010/06/30(水) 22:51:53For Each r As DataGridViewRow In DataGridView1.Rows
If r.IsNewRow Then Continue For
CType(r.Cells(2), DataGridViewComboBoxCell).Items.Clear()
Select Case r.Cells(1).Value.ToString
Case "B"
CType(r.Cells(2), DataGridViewComboBoxCell).Items.AddRange("あ", "い", "う")
Case "D"
CType(r.Cells(2), DataGridViewComboBoxCell).Items.AddRange("A", "B", "C")
End Select
Next
0611デフォルトの名無しさん
2010/07/01(木) 00:09:31乱数の範囲を代入するInteger型のモジュール変数を定義する
この部分が分からないのですがヒント頂けないでしょうか?
0612デフォルトの名無しさん
2010/07/01(木) 00:12:290613デフォルトの名無しさん
2010/07/01(木) 00:13:320614デフォルトの名無しさん
2010/07/01(木) 07:54:08ありがとうございました。
0615デフォルトの名無しさん
2010/07/01(木) 19:29:00x = Int(Rnd() * (100 - 5))
こういう事って可能ですか?
0616デフォルトの名無しさん
2010/07/01(木) 19:39:59馬鹿な子っていつもこれだよな。
自分以外の人間はエスパーだと思ってるのか何なのか知らんけど
0617デフォルトの名無しさん
2010/07/01(木) 22:01:390618デフォルトの名無しさん
2010/07/01(木) 22:05:100619デフォルトの名無しさん
2010/07/02(金) 04:58:210620デフォルトの名無しさん
2010/07/02(金) 08:09:01http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=bf32527d-187c-49fa-8c67-9e9105535550
0621デフォルトの名無しさん
2010/07/03(土) 14:02:08index.aspxからindex.aspxに画面が遷移します
なので、戻るボタンをクリックすると前のindex.aspxに戻れるわけですが
これを禁止するにはどうすればいいんですか?
0622デフォルトの名無しさん
2010/07/03(土) 20:58:55起動時の引数に応じてWindows Formのタイトルに
指定された値を表示したいと思っています。
Process.Start("test.exe", "AAA")
⇒これを実行したら Windowsフォームには、"AAAが渡されました。" と表示する。
Process.Start("test.exe", "BBB")
⇒これを実行したら Windowsフォームには、"BBBが渡されました。" と表示する。
この場合に、呼出される側の test.exe 側ではどの様にして引数を受け取れば良いのでしょうか?
Consoleアプリケーションの場合の引数の受け取り方は分かるのですが、
WindowsアプリでForm_Loadイベントの中でどの様に取得すれば良いのかわかりません。
0623デフォルトの名無しさん
2010/07/03(土) 21:06:16http://msdn.microsoft.com/ja-jp/library/system.environment.getcommandlineargs(VS.80).aspx
0624デフォルトの名無しさん
2010/07/03(土) 21:11:32まずどぼん調べろよ
http://dobon.net/vb/dotnet/programing/commandline.html
0625デフォルトの名無しさん
2010/07/03(土) 21:15:09Environment.CommandLineでとれねえ?
0626デフォルトの名無しさん
2010/07/03(土) 21:21:22皆さんどうもありがとうございます。
やりたい事が出来ました☆
サンクスです。
0627デフォルトの名無しさん
2010/07/04(日) 02:07:05フォーム間でコントロールの値を取得しようとして
たとえばform2の中で
CheckBox2.Checked = Form1.CheckBox2.Checked
なんてことをやると
普通にウインドウズアプリケーションとしてビルドした場合は動くんだが
クラスライブラリとしてビルドすると
非共有メンバーを参照するには、オブジェクト参照が必要です。
というエラーを吐いてしまうんだが、このへんの理屈を教えてたもれ
0628デフォルトの名無しさん
2010/07/04(日) 02:50:17Windowsフォームアプリケーションとしてビルドしたときは、
フォームのクラスは特例として既定のインスタンスが用意される。
Form1.CheckBox2.Checkedでアクセスできるのは、
実際にはその既定のインスタンスにアクセスしているから。
クラスライブラリの場合はそういう特例は無いため、
そのままForm1クラスのプロパティへのアクセスと解釈されエラーが返される。
そこら辺は、できた実行ファイルをIL逆アセンブラで見れば直ぐに解る。
test1.My.MyProject.MyForms.Forms.Form1
って感じのプロパティで既定のインスタンスにアクセスしているのが確認できる。
0629デフォルトの名無しさん
2010/07/04(日) 02:53:13>普通にウインドウズアプリケーションとしてビルドした場合
Form1がスタートアップになっているので、Form1のインスタンスが自動的に作成される
>クラスライブラリとしてビルドすると
クラスライブラリだと誰もForm1のインスタンスを作成してないのでエラーになる
おそらくこういうことだと推測
0630629
2010/07/04(日) 03:10:28既定のインスタンスについて知らないのかと言う突っ込みを受けないために補足しとく
VB.NETの初期のバージョンには既定のインスタンスは存在しない
もしかしたらForm1という変数が自分でnewしたインスタンス持ってるかもしれない
だから、元のコードが動いている理由はバージョンとソース出さないとはっきりしない
ま、そんな古いバージョン使ってるぐらい昔からやってるならエラーの理由ぐらいわかるだろうけど
0631デフォルトの名無しさん
2010/07/04(日) 04:39:52>>629
なるほど〜、なんとなく見えてきました
カキコしてからイロイロいじってみてたけど
form1からform2.showもエラーになるんですが、これも
ウインドウズアプリケーションの場合は
全フォームのインスタンスが自動で作成されているということなんですねたぶん?
で、form1からform2への参照もあったので、お互いのフォームで fm1 = new form1
てなことをするとビルドでループしてエラーなるので
モジュールのほうに両方入れてやると
Public fm1 As Form1 = New Form1
Public fm2 As Form2 = New Form2
なんとか動くようになりました。
と、思ったら×で閉じるとインスタンスが破棄されて、showで再表示できない、orz
fm2 = New Form2 を足してと・・、いけたようです。
もしかして、もっとスマートなやりかた有ります?
0632デフォルトの名無しさん
2010/07/04(日) 04:49:18う〜ん、いまいじってるのは2010です
バリバリいじってたのはvb6くらいまで
.net登場あたりで、ん〜なにそれオブジェクト指向?よくわかんねえ〜
隣のフォームが、、いじれねえ〜、なんで〜、・・・・・撃沈
最近になって浮上、2010無料だし〜チャレ〜ンジ!!
あれ?隣のフォーム、いじれるじゃ〜ん、ふんふん〜〜
DLLつくってみよ〜っと、あれ?えら〜だって、なんで?
てなわけでした
0633デフォルトの名無しさん
2010/07/04(日) 05:46:15追加の疑問
fm2.showして×で閉じてfm2.showすると、破棄されたインスタンスに云々となるのに
fm2に有るプロシージャーを call fm2.untara()って呼んでもエラーになんないんですね
も〜わけわかんない
0634デフォルトの名無しさん
2010/07/04(日) 07:10:46失礼
破棄されたインスタンスじゃなくて破棄されたオブジェクトだった・・・・
もう頭まわんね、寝る・・・って朝だ・・・むぅ
0635デフォルトの名無しさん
2010/07/04(日) 08:48:34インスタンスが解放されるわけじゃないからな。
メソッド呼び出し自体がエラーにならなかったのは、
Disposeされた状態とは無関係の操作だけで完結していたからだろう。
メソッド内で、Me.Showとかやれば同様のエラーが発生するはず。
0636デフォルトの名無しさん
2010/07/05(月) 11:56:07クライアントポストバック
0637デフォルトの名無しさん
2010/07/05(月) 21:46:02このListViewのデータをまとめて1つのテキストファイルに保存したいのですがどうすればよいでしょうか?
どなたかよろしくお願いします。
0638デフォルトの名無しさん
2010/07/05(月) 21:48:540639デフォルトの名無しさん
2010/07/05(月) 21:58:59ありがとうございます。
Itemを1行ずつ取得して末尾までループ、ということでしょうか。
申し訳ないのですがn行目のアイテムを取得する方法を教えていただけたら幸いです。
0640デフォルトの名無しさん
2010/07/05(月) 22:01:160641デフォルトの名無しさん
2010/07/05(月) 22:04:08ごめんなさいです
見なおしてきます
0642デフォルトの名無しさん
2010/07/05(月) 22:09:01登録されたデータ構造をListViewに表示、って手もある。
ファイルに吐き出したければ、データを直接吐けばいい。
0643デフォルトの名無しさん
2010/07/06(火) 00:03:38PictureBoxに表示した画像の特定座標の色を取得したいのですが、どのように記述すれば良いのでしょうか?
よろしくお願いします。
0644デフォルトの名無しさん
2010/07/06(火) 00:10:25ただし画像処理みたいなことする場合は遅くて全く使い物にならないのでLockBits使う
0645デフォルトの名無しさん
2010/07/06(火) 15:35:21FlushPlayerのアドオンがメモリー違反とかのエラーを出し、そのままアプリケーション
が異常終了してしまいました。WebBrowserのイベントではError関係のものはないようでしたが、
アドオンのエラーや例外を把捉してアプリケーションがクラッシュしないようにできるでしょうか。
IEで同じURLを出して確かめると、やはり同じエラーでIEが飛んでしまいました。
複数回やってみましたが同じでした。IEでこうなっているということはこの手のエラーでのクラッシュは
避けられないのでしょうか?
0646デフォルトの名無しさん
2010/07/06(火) 20:00:34プロセス単位でさっさと落としたほうが良い。
0647デフォルトの名無しさん
2010/07/06(火) 22:19:36Jane Style 3.4 を使って2chに書込みをすると
C:\\Document And Setting\【スズキ タロウ】
という部分の文字列までパケット送信してるらしいのですが、
誰か逆アセンブルして解析した方はいますか?
※前々から2ch専用ブラウザは怪しいと言われていたのですが・・・
場合によっては警視庁ハイテク化にアプリとソースを引き渡します。
0648デフォルトの名無しさん
2010/07/06(火) 22:23:490649デフォルトの名無しさん
2010/07/06(火) 22:38:23そんでハイテク化に通報しとけ
0650デフォルトの名無しさん
2010/07/07(水) 01:08:46ありがと−!
getpixelにて無事に実装できました
0651デフォルトの名無しさん
2010/07/08(木) 13:32:05http://namidame.2ch.net/test/read.cgi/poverty/1278496905/
0652デフォルトの名無しさん
2010/07/09(金) 15:39:06配列や構造体の内容をバイナリでファイルに保存したいんですが、
C言語なんかだとキャストするだけで
long myArray[4];
struct st {
long a;
short b;
short c;
} mySt;
size_t done;
done = fwrite((void*)myArray, sizeof(myArray), 1, fp);
done = fwrite((void*)&mySt, sizeof(mySt), 1, fp);
と書けてしまったりするわけですが、VB.NETでこのように簡単に
ファイルに書くにはどのようにすればいいんでしょうか?
いろいろネットで調べてるんですが、なんかみんなややこしい
方法でByte配列等に変換してから書いてるようで・・・。
実験的にファイルに書き出したいだけなんで、数行で書けるような
方法があればいいなと思っています。
0653デフォルトの名無しさん
2010/07/09(金) 16:05:000654デフォルトの名無しさん
2010/07/09(金) 17:53:250655デフォルトの名無しさん
2010/07/09(金) 18:28:27>>653
やっぱりそういう変換のためのクラスなるものを使用しないとだめなん
ですね・・・。ご回答は大変参考になります。使用させていただくかも
しれません。
>>654
うーむ、でも画像処理、音声処理なんかはバイナリを当たり前のように
使うんですよ。やっぱりC/C++を使うほうがいいんですかね。
経験豊富な高スキルの方の多いこのスレッドでもそのものずばりの回答
がないということは、やっぱりVB.NETでは無理なんでしょうかねぇ。
メモリ上のデータを、ファイルシステムをちょこっと叩いて書き込む
だけなのに・・・。手続き指向な言語じゃないのはわかるんですが、
そのぐらいのベタな方法はあってもいいのに。
もし他にもアドバイスお持ちの方がいらっしゃいましたら、
よろしくお願いいたします。
0656デフォルトの名無しさん
2010/07/09(金) 18:38:290657デフォルトの名無しさん
2010/07/09(金) 18:59:52さっそくありがとうございます!
Byte型配列を書き込むならこれでよかったんですが、UShort型の配列を
引数で与えるとエラーになってしまうんです。
「型'UShortの1次元配列'の値を'Byte'に変換できません。」
だそうです。(そりゃそうですよね。)
C言語のようにキャストしてそのまま渡すにはどうすればよろしいでしょ
うか?(実はこの方法を探して苦労しています。)
それとも、別のByte配列を用意し、MSB/LSB分割してコピーしてから渡す
しかないでしょうか。
お手数をおかけします。
0658デフォルトの名無しさん
2010/07/09(金) 20:04:45酔っ払ってるから質問良く読まずに回答。
たぶん方法は少なくとも2つあると思う。
■ Byte()に変換する
メンバがプリミティブな値型のみの構造体の配列ならCopyMemoryとかでByte()に
コピーできる。
■ VB6互換関数のFileXXXを使う。
明示的にドキュメント化されてないけど、VB6互換のFilePut、FileGet関数は
構造体の配列をそのままファイルに読み書きできる。
0659デフォルトの名無しさん
2010/07/09(金) 20:43:13おおお、FilePutってのがあるんですか。気づきませんでした。
イメージしていた解に近そうな手段をご提示いただきありがとうございます。
試してみたいと思います。
さすがVB6ですね、未だにファンが多いと聞くのも納得です。
もうVB6買えないからな〜(涙)
0660デフォルトの名無しさん
2010/07/09(金) 21:37:52とんでもなく遅いよそれ
0661デフォルトの名無しさん
2010/07/09(金) 21:40:59FilePut()、まさに望みどおりのものでした。
型を気にせずに引数に渡せるところもいいです。
知らなかった私が未熟者でした。
大変助かりました。厚く御礼申し上げます。
お礼と言ってはなんですが、結果報告を。
Byte配列・・・1要素1byteでファイルに書かれる。
Short配列・・・1要素2byte
UShort配列・・・1要素4byte
Long配列・・・1要素8byte
ULong配列・・・1要素8byteだが、データ値 x 10000(10進)という値で書かれる。
ULong(){1,2,3,4}という配列なら10000,20000,30000,40000となる。
Decimal配列・・・ULong配列に同じ。
うーむ、C/C++とはやはり感覚が違いますね。気をつけなければ。
0662デフォルトの名無しさん
2010/07/09(金) 21:47:24ありがとうございます。
あらら、遅いんですか・・・。
今度また速度を測定して、どの程度まで実用になるか確認しておきます。
Windows上だから厳密な結果は出ませんが、汎用入出力ボードなどを
使ってパルスをON/OFFしてオシロでざっくり実測してみます。
0663デフォルトの名無しさん
2010/07/09(金) 21:47:29わざわざ頭悪そうな関数使わなくてもBinaryWriterを使えばいいだろ
0664デフォルトの名無しさん
2010/07/09(金) 22:09:26達人の方が続々といらっしゃる。(嬉)
ありがとうございます。
私がいかにVB.NET未熟者かと。
BinaryWriterですね、これも試してみます。
VB.NETの場合、本道はこれですかね。
そういえば、これ構造体も書けるんでしょうか。
FilePutとともに試してみます。
0665デフォルトの名無しさん
2010/07/09(金) 22:41:3420MBのByte配列を一挙にwriteすると
BinaryWriter・・・0.5秒未満
FilePut・・・約4秒
めちゃくちゃアバウトですみませんが、やはりFilePutは遅いですね。
当方、WindowsXP SP2、Core 2 Duo E8500 3.16GHz、RAM 1GB、HDD 500GB/7200rpmです。
ただし、
BinaryWriterでは構造体をうまく渡す方法がまだ見つかっていません。
FilePutでは構造体をそのまま渡せました。
あとは何とか自分で調査していけそうです。
ご教授くださったみなさんに感謝します。
ありがとうございました。
0666デフォルトの名無しさん
2010/07/09(金) 22:47:12それなら構造体の配列の場合はリフレクション全開だから数百〜数千倍くらいかな
0667デフォルトの名無しさん
2010/07/09(金) 22:47:42今どきそんなあほなことはあんましないと思うが。
0668デフォルトの名無しさん
2010/07/09(金) 23:01:31Google Adsense違反報告スレ Part10
http://pc12.2ch.net/test/read.cgi/affiliate/1267346244/
JaneStyleがスパイウェアみたいな動作するらしい件
http://namidame.2ch.net/test/read.cgi/poverty/1278496905/
【スパイウェア?】JaneStyleで書き込みしようとしたら、○○に情報が送信されていた件
http://tsushima.2ch.net/test/read.cgi/news/1278681871/
0669デフォルトの名無しさん
2010/07/09(金) 23:15:510670名無しさん@そうだ選挙に行こう
2010/07/10(土) 07:55:080671名無しさん@そうだ選挙に行こう
2010/07/11(日) 12:53:330672名無しさん@そうだ選挙に行こう
2010/07/11(日) 12:55:59C#に移植するのが早い
0673名無しさん@そうだ選挙に行こう
2010/07/11(日) 13:02:52ブラウザの中でスクリプトを動かしたいのであればDOM経由でスクリプトを呼ぶことは可能
javascriptで書かれた一般的なユーティリティ的なものをVBで使いたいということであれば
JScript.NETが使える場合があるが一般的には難しいしあまり意味が無いし移植した方が早い
0674名無しさん@そうだ選挙に行こう
2010/07/11(日) 14:19:59http://developers.face.com/
ここにあるAPIを使ってwebアプリを作りたいんだけど
提供されているアプリがjavascriptとPHPしかないので困ってます
なんとかしてvb.netで開発出来る方法はないものかなぁと・・・
0675名無しさん@そうだ選挙に行こう
2010/07/11(日) 14:28:32javascriptでもPHPでもどっちでもいいからクライアントライブラリのソースコードを読んで
自分で移植する。自分では無理だと思うならスレ違い。
0676名無しさん@そうだ選挙に行こう
2010/07/11(日) 14:30:030677名無しさん@そうだ選挙に行こう
2010/07/11(日) 14:34:58JavaScriptのライブラリのソースを読めばいいだけだろw
0678名無しさん@そうだ選挙に行こう
2010/07/11(日) 14:45:310679名無しさん@そうだ選挙に行こう
2010/07/11(日) 14:48:310680名無しさん@そうだ選挙に行こう
2010/07/11(日) 14:53:57うーん・・・
知識不足なのでまだ詳しいことは分かりませんが
とりあえずvb.netでも実現は可能だということは解りました
javascript勉強しながら頑張って移植してみます。
ありがとうございました。
>>678
>>679
うっさいボケ!シネ!
0681名無しさん@そうだ選挙に行こう
2010/07/11(日) 15:10:29VB.NETからだと、これを使うことになるだろうから。
0682名無しさん@そうだ選挙に行こう
2010/07/11(日) 15:10:33質問するやつにこんなのがいると、俺が質問しにくいじゃまいか
0683名無しさん@そうだ選挙に行こう
2010/07/11(日) 15:12:530684デフォルトの名無しさん
2010/07/12(月) 17:19:57ある関数で画像ファイルのパスを渡して処理を行うものがあるのですが
その関数にリソースにあるファイルを渡したいのです。
そこで
My.Resources.ファイル名 を渡すとbitmap型が帰ってきてエラーになってしまいます。
どうにかリソースをstring型のパスで渡す方法はないでしょうか?
よろしくお願いいたします
0685デフォルトの名無しさん
2010/07/12(月) 19:39:260686デフォルトの名無しさん
2010/07/12(月) 21:29:290687デフォルトの名無しさん
2010/07/13(火) 11:32:29VBからExcel出力を行っています。
Microsoft.Office.Core.XlConstants.xlRight
このコードが、環境によりエラーになってしまいます。
'xlRight'は'Microsoft.Office.Core.XlConstants'のメンバではありません。
参照設定を見たのですがエラーの出ない環境と同じでした。
調べてみたのですが見当がつかず…
よろしくお願いいたします。
0688デフォルトの名無しさん
2010/07/13(火) 13:26:520689デフォルトの名無しさん
2010/07/13(火) 18:05:58出勤ボタンを押すと一覧表に時間が表示され、退勤ボタンを押すと同じ列の退勤の場所に退勤時間を表示させたいのですが、どのようにしたらよろしいでしょうか?
0690デフォルトの名無しさん
2010/07/13(火) 18:23:110691デフォルトの名無しさん
2010/07/13(火) 18:35:580692デフォルトの名無しさん
2010/07/13(火) 21:55:34DataGridViewでも使って表示すればいいんじゃない?
0693デフォルトの名無しさん
2010/07/14(水) 02:30:44delegateでいけるのかと思ったら、プロジェクト内でしか使えないみたいでクマってしまった・・・
0694デフォルトの名無しさん
2010/07/14(水) 02:35:340695デフォルトの名無しさん
2010/07/14(水) 02:54:580696デフォルトの名無しさん
2010/07/14(水) 03:39:31>>695
それでいけると思ってやってみたんだけど
DLL側ではデリゲートで呼ばれるべきメソッドがどこにあるのか分からんので
ダメポって感じだったんだけど、根本的に勘違いしてるんだろうか?
delegate自体は、ここを参考にやってみた
ttp://www.geocities.jp/hatanero/delegate.html
デリゲートでいけるんなら、とりあえず動くサンプルどっかに落ちてないですかね?
0697デフォルトの名無しさん
2010/07/14(水) 03:48:30Public Delegate Sub HogeCallback(ByVal arg As String)
Public Class Piyo
Public Shared Sub Test(ByVal callback As HogeCallback)
callback("callback")
End Sub
End Class
' caller
Private Shared Sub Callback(ByVal arg As String)
Debug.WriteLine(arg)
End Sub
Private Shared Sub Exec()
Piyo.Test(AddressOf Callback)
End Sub
0698デフォルトの名無しさん
2010/07/14(水) 06:33:36サンキュー、感謝感激
なるほど〜、そうやったらいいんんだぁ
やりたかったことと、ちょっと違うけど
コールバックって言っちゃいけなかったのかな?
DLL側から好き勝手なタイミングで何度でも呼ばれるようにしたかったので、
ちょっといじってみました
Public callbackproc As HogeCallback を宣言しといて
Public Shared Sub Test(ByVal callback As HogeCallback)
callback("callback")
End Sub
↓変更
Public Shared Sub Test(ByVal callback As HogeCallback)
callbackproc = callback
End Sub
これでexecを実行した後でDLL側で callbackproc("hogehoge") とすることでうまくいきました。
0699デフォルトの名無しさん
2010/07/14(水) 12:31:34次のコードを記述し実行した場合、
IEがデスクトップ上に表示されてしまい困っています。
objeBrowser.Navigate("http://yahoo.co.jp/", Nothing, Nothing, Nothing, Nothing)
このコードを実行した時にIEがタスクバーに格納(縮小された状態)で
ログイン可能にするにはどうすれば良いでしょうか?
※Windows アプリの場合ですと【Show In Task Bar】といったプロパティがあるのですが、
IEを操作する場合にはどうすれば良いのか見当が付きません。
0700デフォルトの名無しさん
2010/07/14(水) 14:15:03フォームにブラウザコントロールを貼り付けて
そこで操作したほうがいろいろ自由が利くよ。
ログイン状態はIEと共有されるし。
0701デフォルトの名無しさん
2010/07/14(水) 14:43:00確かにWindows フォームにブラウザコントロールを
貼り付けて行った方が良いかもしれませんね。
そしたら、態々タスクバーに縮小して操作する必要
が無くなりますしね。
でもそうなるとまた作り直しか・・・
因みに、>>699 の方法はご存知ではありませんか?
0702デフォルトの名無しさん
2010/07/14(水) 19:53:52C/C++じゃあるまいし、(生の)コールバックなんて本当に必要かね?
君がやろうとしていることは、イベントでやった方が分かりやすいんじゃないの?
何をやろうとしてるのかわからんから何とも言えんが....
0703デフォルトの名無しさん
2010/07/14(水) 20:51:250704デフォルトの名無しさん
2010/07/14(水) 21:03:00デリゲートをそのまま渡すのはちょっとしたコード片をメソッドの引数に渡してその場で使う場合
でもVBでそういうことやると理解できない人が多くて非常に嫌われるから正直使わなくていいよ
0705デフォルトの名無しさん
2010/07/14(水) 21:14:21別にハンドルされなくても特に困らないようなものとか。
0706デフォルトの名無しさん
2010/07/14(水) 21:20:39・きちんとカプセル化されたクラスを自作している
・そのクラスはイベントの受信先のクラスに直接依存していない(させたくない)
前提としてこういう場合なのでVBでは非現実的ですね
どっちもいらん
0707デフォルトの名無しさん
2010/07/14(水) 21:23:49C#の匿名メソッドおいしいです^q^
0708デフォルトの名無しさん
2010/07/14(水) 22:14:24常時表示されたままになってしまいます。
指定秒数後にバルーンヒント閉じる方法はありますか?
[コードなど]
VB2008Pro、.NET Framework 3.5 、VISTA Ultimate SP1 32bit
Form1にNotifyIcon1を貼付け後、NotifyIcon1のIconを適当にセット。
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
With NotifyIcon1
.BalloonTipTitle = "たいとる"
.BalloonTipIcon = ToolTipIcon.Info
.BalloonTipText = "てきすと"
'1000ms表示
.ShowBalloonTip(1000)
End With
End Sub
End Class
0709デフォルトの名無しさん
2010/07/14(水) 23:12:46イベントも試そうとしたんだけど、今回みたいにDLLが絡んだ場合の
記述がわかんなかったので、頓挫しました。
コールバックしたかったのは、DLLを使う人が楽をするためです
DLLがすぐ返事を返すならば、DLL内のファンクショを呼んで値を受け取るというのも有りなんですが
DLL側のデーターが準備完了するのが全く何時になるか分からないのでファンクションを呼んでしまうと
返ってくるまでメインの処理が待たされるので、それじゃあ、むこうから呼んでもらっちゃおうと言うわけです。
(マルチスレッドにしろというのは、ちょっと置いといてくださいねw)
ポーリングという手もありますが、DLLを使って楽をしようとしてる人に
ポーリングしてね、なんて言ったら、面倒がるだろうなと思うわけです
スマートさにも欠けますしねw
今回の方法で、使う側は、数行の、おまじないコードをコピペしてやれば
初心者でも普段どおりの感覚で開発ができる状態になりましたので、めでたしめでたし・・・カナ?
0710デフォルトの名無しさん
2010/07/14(水) 23:39:11ちょっと意味がわからないんだが、マルチスレッドになってないってことは
DLL側のメソッドは値を返すまで制御を戻さないってことだろ。違うのか?
0711デフォルトの名無しさん
2010/07/14(水) 23:58:49だから、何かの処理が完了した時にそれを通知して欲しい、と。
そういうことでしょ?
だったらやっぱりイベントを使った方がいいよ。せっかくある仕組みなんだから。
DLLってのはクラスライブラリのアセンブリって意味だと思うけど、
それがなんでイベントを避ける理由になるんだ?
同じプロジェクト内でイベントを使うのと何も変わらないよ。
0712デフォルトの名無しさん
2010/07/15(木) 00:25:27ttp://msdn.microsoft.com/ja-jp/library/ms160064.aspx
10秒以下は設定できないみたいね
しかもなんか操作してないとカウントダウンしないらしいw
試してみたら、ほったらかしとくと1分くらいかかった
アイコンがちょっとちらつくけどvisibleを false にしてすぐtrueにしてやるとすぐ消せるね
タイマーで切り替えてやったらいいんじゃないかな
アイコンも消えてよいなら、showするときにturuにして消すときにfalseでmでいいかも
0713デフォルトの名無しさん
2010/07/15(木) 00:47:40>>711
>>DLL側のメソッドは値を返すまで制御を戻さないってことだろ。違うのか?
DLLからこちらのメソッドを呼び出してもらう感じです
DLL側には外部とのインターフェイスが実装されていて
こちら側にメインの処理があります
そのメインの処理を開発するために
めんどくさいインターフェイス処理をDLLにして提供し楽をしてもらおうという考えなのですが
もしかしたら考えすぎというオチかもですねw
で、余力のある人は勝手にマルチスレッドにして並行処理してもらってハイパフォーマンスなものを目指してもらい
そうでない人は難しいことを考えなくても普通にコーディングすりゃ、とりあえずできちゃいますよと言う感じです
>>それがなんでイベントを避ける理由になるんだ?
べつに避けてるわけじゃなくて、イベントでいいんですけど
イロイロと良く分からなかったので、成功しなかったと(汗・・・・
そんだけですw
0714708
2010/07/15(木) 01:06:04レスありがとうございます。
テストしたところ、チラツキはそれほど気にならないので
「タイマー+visible」案でやってみます。
0715デフォルトの名無しさん
2010/07/15(木) 11:24:52これを使用して、以下の処理を行おうとしているのですが、
【A画面】文字列入力 > 実行 > 【B画面】結果表示
【B画面】ではリファラを取得する事が出来ません。
そこで、調べてみたところ以下の記事が見つかったのですが(リファラの送信はできない)
http://vsug.jp/tabid/63/forumid/72/threadid/8050/scope/posts/Default.aspx
何か良い解決策はありませんでしょうか?
0716デフォルトの名無しさん
2010/07/15(木) 15:47:19それと、きちんと意識して作ってない限り並列処理には絶対に対応できない
0717デフォルトの名無しさん
2010/07/15(木) 18:18:12の質問に誰か答えてやれや
0718デフォルトの名無しさん
2010/07/15(木) 18:25:000719デフォルトの名無しさん
2010/07/15(木) 19:41:52コントロールボックスをfalseにすると右上も消えちゃうしなー
0720デフォルトの名無しさん
2010/07/15(木) 19:59:52http://dobon.net/vb/dotnet/form/maximizebox.html
>NET Framework 2.0からは、Form.ShowIconプロパティにより、
>コントロールボックス(キャプションバーのアイコン)だけを非表示にできます。
0721デフォルトの名無しさん
2010/07/15(木) 20:37:55ありがてぇありがてぇ!
0722デフォルトの名無しさん
2010/07/15(木) 21:39:41その記事にある4番目の引数にリファラセットして試してみたら普通に送れちゃったけど?
0723デフォルトの名無しさん
2010/07/15(木) 22:20:59すみませんがコードをおみせ頂けませんでしょうか?
私の方でコードを書くと、なぜかエラーが出ちゃいます。
また、>>715の記事は嘘という事でしょうか?
0724デフォルトの名無しさん
2010/07/15(木) 22:33:530725デフォルトの名無しさん
2010/07/15(木) 22:43:21ほい
Dim a() As Byte
webBrowser1.Navigate("http://www.plustar.jp/lab/env.php", "", a, "Referer: http://hogehoge.com/test.html")
記事が嘘というか、質問者と回答者がかみ合ってないっぽい
その回答者が言ってるのはHTTPプロトコルのお約束の話で
プログラム上の話じゃないのよ
0726デフォルトの名無しさん
2010/07/15(木) 23:18:46ご丁寧にどうもありがとうございます。
因みに WebBrowser コントロールを使用した時にセッションやクッキーが残る様なのですが
全て削除(初期化)するにはどうすれば良いでしょうか?
次のコードをを記述したところ同一Window内で同一WEBページを開き,
同一処理を再び行おうとすると画面が白くなってしまいます。
WebBrowser1 = New WebBrowser()
0727デフォルトの名無しさん
2010/07/16(金) 01:27:52WebBrowser コントロール自体はじめて触ったので、そこらへんは、わかんね〜
ほかの人のレスに期待しておくれ(汗
0728デフォルトの名無しさん
2010/07/16(金) 02:10:39りょーかいです。
0729デフォルトの名無しさん
2010/07/16(金) 11:48:020730デフォルトの名無しさん
2010/07/16(金) 12:34:16Code Please
0731デフォルトの名無しさん
2010/07/16(金) 13:16:28Public Declare Function InternetSetCookie Lib "wininet.dll" _
Alias "InternetSetCookieA" _
(ByVal lpszUrlName As String, _
ByVal lpszCookieName As String, _
ByVal lpszCookieData As String) As Boolean
0732デフォルトの名無しさん
2010/07/16(金) 14:52:27THAN YOU VERY MATTYO
0733デフォルトの名無しさん
2010/07/16(金) 16:43:33Form1で、FormBorderStyleをSizable、TransparencyKeyとBackColorを同じ色にしてフォーム内部だけを透過させているのですが、
実行してからフォームのサイズを変更させると、タイトルバーまで透過しているかのような振る舞いになってしまいます。
(タイトルバーは表示されているのに、タイトルバーをクリックするとその下(デスクトップなど)がクリックされる。
よってフォームの移動もできなくなる。)
フォームの右下や左下をつかんでサイズ変更する場合はなりませんが、
右上や左上をつかんでサイズ変更すると百発百中でなります。解決方法などありませんでしょうか?
0734デフォルトの名無しさん
2010/07/16(金) 16:47:54俺のコードだとならんよ
0735デフォルトの名無しさん
2010/07/16(金) 16:50:46Try
上で宣言した変数をインスタンス化
Catch
Finally
ここで変数を安全に閉じたい
End Try
Finallyでインスタンス化されてるか調べればいいと思うんだけど、どうやるんですかね?
0736デフォルトの名無しさん
2010/07/16(金) 16:59:45obj.close
end if
0737733
2010/07/16(金) 17:00:47原因は分かりませんが・・・。
あともう一つ質問があるのですが、フォーム内部の座標を取得する方法ってありますかね?
普通に取得するとタイトルバーとフォーム枠分が余計なので・・・。
0738デフォルトの名無しさん
2010/07/16(金) 17:21:22その時点で
変数 'stw' は、値が割り当てられる前に使用されています。Null 参照の例外が実行時に発生する可能性があります。
の警告が出るんです
0739デフォルトの名無しさん
2010/07/16(金) 17:24:000740デフォルトの名無しさん
2010/07/16(金) 17:29:190741デフォルトの名無しさん
2010/07/16(金) 17:34:09Dim obj as XXX = Nothing
みたいにしちゃダメなんだっけ?
0742デフォルトの名無しさん
2010/07/16(金) 17:38:48それだ!
超愛してる
0743デフォルトの名無しさん
2010/07/16(金) 17:45:53インスタンス化が実行時に失敗するのってどういう場合?
0744デフォルトの名無しさん
2010/07/16(金) 17:53:500745デフォルトの名無しさん
2010/07/16(金) 18:25:04なるほど〜
0746デフォルトの名無しさん
2010/07/16(金) 18:30:41わかりやすく説明します。
ウィンドウ内部を透過させてその表示範囲をキャプチャするソフトを作りたいのですが、
Dim xposition As Integer = Me.Location.X
Dim yposition As Integer = Me.Location.Y
Dim bmp As New Bitmap(Me.Bounds.Width, Me.Bounds.Height, PixelFormat.Format32bppArgb)
Using g As Graphics = Graphics.FromImage(bmp)
g.CopyFromScreen(xposition, yposition, 0, 0, Me.Size, CopyPixelOperation.SourceCopy)
End Using
(xposition,ypositionは事前に指定済み)
上記コードのようにするとウィンドウのタイトルバーやフレームもキャプチャされてしまいます。
これらを除外してキャプチャする、または除外した座標を取得する方法はありますか?
0747デフォルトの名無しさん
2010/07/16(金) 18:31:36そんなソフト既にあるしお前の作ったソフトなんて
誰もつかいたくねーからあきらめろ
0748デフォルトの名無しさん
2010/07/16(金) 18:31:53(xposition,ypositionは事前に指定済み)
の一文は余計でした・・・。すみません。
0749デフォルトの名無しさん
2010/07/16(金) 18:32:040750デフォルトの名無しさん
2010/07/16(金) 18:32:58ClientRectangle
0751デフォルトの名無しさん
2010/07/16(金) 18:38:54それでやってたんですけど、Me.ClientRectangle.Location.XとY のようにしても
デスクトップに左上だけがキャプチャされる、つまり 0,0 となってしまうんですよね・・・。
0752デフォルトの名無しさん
2010/07/16(金) 18:44:250753デフォルトの名無しさん
2010/07/16(金) 18:52:10アドバイスしてくれた方、ありがとうございました。
0754デフォルトの名無しさん
2010/07/16(金) 19:30:19Dim formRect As Rectangle = Me.Bounds
Dim clientRect As Rectangle = Me.ClientRectangle
Dim captureRect As New Rectangle( _
(formRect.Width - clientRect.Width) / 2, _
((formRect.Height - clientRect.Height) / 2) + SystemInformation.CaptionHeight, _
clientRect.Width, clientRect.Height)
0755デフォルトの名無しさん
2010/07/16(金) 22:17:55Dim formRect As Rectangle = Me.Bounds
Dim clientRect As Rectangle = Me.ClientRectangle
Dim captureRect As New Rectangle( _
(formRect.Width - clientRect.Width) / 2, _
((formRect.Height - clientRect.Height - SystemInformation.CaptionHeight) / 2) + SystemInformation.CaptionHeight, _
clientRect.Width, clientRect.Height)
0756デフォルトの名無しさん
2010/07/16(金) 22:46:230757デフォルトの名無しさん
2010/07/17(土) 10:14:55サンプルまで書いていただきありがとうございます。
コード消してたんで改めて試してみたんですが、それは
g.CopyFromScreen(captureRect.X, captureRect.Y, 0, 0, Me.ClientSize, CopyPixelOperation.SourceCopy)
という感じで使うんですかね?
>>756
使い方がよく分かりませんでした・・・。
0758757
2010/07/17(土) 10:41:39範囲なキャプチャの件については解決しましたが、透過させるとやはりウィンドウサイズ変更をしたときに
ウィンドウ枠まで透けているかのような振る舞い(実際には表示されているのに)になってしまいます。
透過させたらほかにこれを回避するためにすることとかあるんですかね?
0759758
2010/07/17(土) 10:56:15どうもAero系が関係しているみたい・・・。
0760デフォルトの名無しさん
2010/07/17(土) 18:14:52それならプロジェクトのプロパティでXP Visualスタイルを有効にするのチェックをはずしてみたら?
0761デフォルトの名無しさん
2010/07/18(日) 18:03:35そうしても変わりませんでしたので、応急処置としてステータスバーをウィンドウにつけました。
枠からサイズ変更できなくても、ステータスバーの右下で大きさ変更ができますので・・・。
0762デフォルトの名無しさん
2010/07/21(水) 00:30:06DataGridView.Columuns.Count とか使えないのですが
0763デフォルトの名無しさん
2010/07/21(水) 00:33:05フォーム表示時ならLoad以降で
0764デフォルトの名無しさん
2010/07/21(水) 01:48:17ボタンクリックイベントでDataGridView内の値のチェックをしたい
のですが
DataGridView.Columuns.Count
と記述すると文法エラーになります。
0765デフォルトの名無しさん
2010/07/21(水) 02:13:17自己解決しました。お騒がせしました。
0766デフォルトの名無しさん
2010/07/21(水) 11:13:550767デフォルトの名無しさん
2010/07/21(水) 14:04:340768デフォルトの名無しさん
2010/07/21(水) 18:04:550769デフォルトの名無しさん
2010/07/21(水) 18:35:57言語はVB.netです。
0770デフォルトの名無しさん
2010/07/21(水) 18:43:37createobject
0771デフォルトの名無しさん
2010/07/21(水) 19:05:58ありがとうございます。
CreateObjectってこれVBScriptで使ったことがあるのですが、
考え方とか書式って全く同じですか?
0772デフォルトの名無しさん
2010/07/21(水) 19:59:09ほぼ同じ
0773デフォルトの名無しさん
2010/07/21(水) 21:37:110774デフォルトの名無しさん
2010/07/23(金) 09:47:13データベースはAccessを用いる。
会員管理・在庫管理・書籍管理などなど テーマは問わないがレコードの
「追加」「表示」「更新」「削除」ができること。
という課題が学校ででました。
どなたかできたらアップしていただけるでしょうか?
本当に今できなくて困っています。
データベースをアクセスで作りレコードの「追加」「表示」「更新」「削除」をVBで
できるだけでいいです。
VBAで新規で作る際はASP.NET webアプリーションで作成お願いします。
簡単なもので大丈夫です。
本当にできなくて困っているのでよろしくお願いします。
できたらプロジェクトファイルをzipでUPしていただけたらありがたいです。
0775デフォルトの名無しさん
2010/07/23(金) 10:12:090776デフォルトの名無しさん
2010/07/23(金) 10:14:340777デフォルトの名無しさん
2010/07/23(金) 10:22:35学校って何のためにあるかしってる?
高校の必須科目の情報Aとかで嫌々習っているものならまだしも、そのような高度な課題があると言うことは
将来そういう系の道に進みたくてそういう学校に行ってるわけだよね?
せめて指南程度をお願いするか、自分でググるなりする方が身のためかと・・・。
分からないのなら分かるようにならなければいけないわけで、課題が終わればいいというものではない・
0778デフォルトの名無しさん
2010/07/23(金) 10:24:20「なれる!SE―2週間でわかる?SE入門 (電撃文庫)」
読むべきだな
0779デフォルトの名無しさん
2010/07/23(金) 10:29:44やり方わかってりゃExcelで表作る程度のレベル
0780デフォルトの名無しさん
2010/07/23(金) 10:36:24VisualStudioを買ってきたらコードレスで何かしらできることはできるだろ。
出来は知らんけど。
0781デフォルトの名無しさん
2010/07/23(金) 10:38:530782デフォルトの名無しさん
2010/07/23(金) 10:41:220783デフォルトの名無しさん
2010/07/23(金) 10:42:41学ぶために通ってるやつ1%
肩書きのために通ってるやつ5%
みんな通ってるから通ってるやつ94%
0784デフォルトの名無しさん
2010/07/23(金) 10:49:320785デフォルトの名無しさん
2010/07/23(金) 10:49:470786デフォルトの名無しさん
2010/07/23(金) 10:58:47そんな高度な事、上のやつらじゃ出来ない。出来たとしても糞コード
0787デフォルトの名無しさん
2010/07/23(金) 11:00:340788デフォルトの名無しさん
2010/07/23(金) 11:19:030789デフォルトの名無しさん
2010/07/23(金) 11:21:110790デフォルトの名無しさん
2010/07/23(金) 19:06:12(http://mt-soft.sakura.ne.jp/web_dl/petit_tool/get_string/)
の機能を持ったソフトを作りたいのですが、
ブラウザ内でJavaScriptによって表示された文字を文字列型として取得する方法が知りたいです。
ソースの表示を行っても、JavaScriptの命令が羅列しているだけで、
実際の画面に表示されている文字列が取得できませんでした。
マウスの右クリックでコピー&ペーストはできるのですが、必要な部分だけを繰り返し
コピー&ペーストするだけの作業なので、自動化させたいと思い・・・。
上記のソフト「ポイント位置の文字列取得」は、
どのように実現しているのか知りたいです。
どこか、参考になるサイトなどありましたらご教示頂けないでしょうか。
0791デフォルトの名無しさん
2010/07/24(土) 09:40:15http://mt-soft.sakura.ne.jp/mt/archives/2009/09/iaccessible.html
0792デフォルトの名無しさん
2010/07/24(土) 11:57:36ありがとうございます。まさに知りたかった方法です。
もう手がかりがなくて諦めていたのですが、一気に近づきました。
さらに欲を言うと、上記の方法では、
文字列を取得したい位置にマウスポインタを
持っていかなければなりませんが、
できれば、自動で文字列を取得したいため、
ブラウザウインドウ(あるいはJavaScriptで表示された小ウインドウ)内の位置を指定して
取得できたら良いのですが、そのようなことはできそうでしょうか。
そのためには、どの辺りを変えたらよいか、見当つきますでしょうか?
0793デフォルトの名無しさん
2010/07/25(日) 22:45:020794デフォルトの名無しさん
2010/07/27(火) 20:43:06任意の1文字とフォント名・サイズを指定して、その文字のピクセル数を算出する方法を知りたいです。
フォームのラベルに文字を入れてその幅を調べるっていう方法だとスマートじゃないので
もしそれ以外の手段があれば・・・
0795デフォルトの名無しさん
2010/07/27(火) 20:44:420796デフォルトの名無しさん
2010/07/27(火) 21:12:530797デフォルトの名無しさん
2010/07/27(火) 21:56:15てっきりTextWidthがあると思っていたら無くて愕然とした・・・
↓ちょっと調べてみてこれで試してみたんですが余白のせいか大きめの数値が出てくる><
x = TextRenderer.MeasureText(Label1.Text, Label1.Font).Width
MsgBox(x)
0798デフォルトの名無しさん
2010/07/29(木) 10:07:10あと、1500個ぐらいのxlsファイルを一括入力してるんですが、途中でCPUが休憩入るかのように止まってしまって、数十秒後また動き出す、といった現象が一回の処理中に2〜3度発生します。
これはこういうものなのでしょうか?
0799デフォルトの名無しさん
2010/07/29(木) 12:01:390800デフォルトの名無しさん
2010/07/29(木) 15:19:43通常だとSplit用の小さいカーソルになるので見づらい。これをOS上で
選択した普通のおおきな両矢印型のものに変更したい。どうすればできますか?
0801デフォルトの名無しさん
2010/07/29(木) 16:45:40http://penguinlab.jp/blog/post/115
0802デフォルトの名無しさん
2010/07/30(金) 11:00:10どうもです!参考にします。OSでサポートしていないカーソルに変える場合
その方法が必要なんですね。ところで、>>800ですが、継承した側で
Protected Overrides Sub OnCursorChanged(ByVal e As EventArgs)
If Me.Cursor = Cursors.HSplit Then
Me.Cursor = Cursors.SizeWE
ElseIf Me.Cursor = Cursors.VSplit Then
Me.Cursor = Cursors.SizeNS
End If
MyBase.OnCursorChanged(e)
End Sub
こんなことをしてみたのですが、ユーザーやプログラムで明示的に変更した
場合でないとこのイベントでは引っ掛けられなかった。SplitContainer の場合、
自動的にカーソルが変わるのでこの方法では対応できないもよう。
0803デフォルトの名無しさん
2010/07/30(金) 11:15:33FormLoad時に変えればいいだけじゃないの?
0804デフォルトの名無しさん
2010/07/30(金) 19:57:550805デフォルトの名無しさん
2010/07/30(金) 20:40:23っていうか、試してみるとSplitContainer1のマウスイベントが発生するのは
スプリッターの上だけのようだから、それを利用すれば簡単に出来るみたいだけど....
言っちゃ悪いけどこんなの人に質問する前に最初に確認することじゃないのか
0806デフォルトの名無しさん
2010/07/31(土) 22:29:01どうもです!ご指導を参考にいろいろやってみて解がわかりました。
初め、OnMouseMoveでわざわざ座標で分別してCursorを換えてやったんですが
どうも一回変わるとPanel1上でもPanel2上でもデフォルトに戻らずよく分からなくなって
こんがらがっていました。みなさんのご指導を見て、そうかと思って試しにOnMouseLeaveで
デフォルトに戻すことで解決しました。結局、内部で位置を見て判別する必要もない、のですね。
>SplitContainer1のマウスイベントが発生するのはスプリッターの上だけ
ご教示大変ありがとうございました!
0807デフォルトの名無しさん
2010/08/01(日) 01:39:02XPでは動くけどWindows7では動かない!
プロジェクトごとうpしたからおまいらの環境で動くか教えてくれ
■動いた環境
WindowsXP Professional SP3 + VisualStudio2005 + WindowsUpdateで入れた.NET4.0
■動かない環境
Windows7 HomePremium 64bit + VisualBasic2010Express
■何が動かないか
・ G4圧縮するとファイルサイズの増え方から見て1枚目だけG4で、2枚目以降はG3圧縮っぽい
・ 作成したマルチページTiffを分割すると1枚目だけが枚数分作成される
■使い方
binフォルダの下のimgフォルダの中に適当にイメージを突っ込む
実行ファイルを起動してボタンを押すと同じ場所にイメージが作成される
.NETかGDIのバグなのかな・・・
http://www.uproda.net/down/uproda121190.zip.html
0808デフォルトの名無しさん
2010/08/01(日) 03:54:17BitmapのコンストラクタでImageを引数に渡した時、
Image.SelectActiveFrameで選択されているページの画像が保存される、
という前提条件自体が間違っていたんじゃないか?
XP以前のGDI+1.0とVista以降のGDI+1.1に微妙な違いがあるのかもな。
0809デフォルトの名無しさん
2010/08/01(日) 04:36:26「ボタンを押す」はわかるんですが 「文字がページ上にあるか判断してあれば実行する なければ実行しない」の部分をどう書けばいいかわかりません
教えてください
0810デフォルトの名無しさん
2010/08/01(日) 09:11:010811デフォルトの名無しさん
2010/08/01(日) 13:42:00ありがとう。
でも外人のサンプルコードもSelectActiveFrame使ってた。
Microsoftの一次情報があればいいんだけどどこだかわからん。
System.Windows.Media.ImagingでもTiff作れるっぽいから試してみる。
それはそうとしてMicorosoftに通報したいんだけど、どうしたらいい?
VisualStudio担当社員のBlogにコメント付ければいいの?
0812デフォルトの名無しさん
2010/08/01(日) 13:49:360813デフォルトの名無しさん
2010/08/01(日) 17:43:16テキストボックスに読み込んだ、
あああ いいい ううう えええ
かかか ききき くくく けけけ
・
・
ららら りりり るるる れれれ
というテキストファイルへ、ボタンを押すと
<b>あああ</b> <span>いいい</span> <p>ううう えええ</p>
<b>かかか</b> <span>ききき</span> <p>くくく けけけ</p>
・
・
<b>ららら</b> <span>りりり</span> <p>るるる れれれ</p>
のようにhtmlタグを挿入するにはどのようにやればいいでしょうか?
0814デフォルトの名無しさん
2010/08/01(日) 17:57:11一行ごとに、
分割パターンに従ってsplit。
分割後の配列に対して、順番に前後にパターンどおりのタグ(文字列)を付ける
を繰り返すだけじゃないの?
0815デフォルトの名無しさん
2010/08/01(日) 19:33:23ありがとうございます
splitで分割しようとしましたが、Delimiterに半角スペースを指定すると、3つ目の要素
ううう ええ え
など、区切りたくない場所まで分割されてしまうのですが、どうすればいいでしょう
余計なスペースが含まれるのは最後の3つ目の要素だけなのですが…
0816デフォルトの名無しさん
2010/08/01(日) 19:38:33タグ付ける時に文字の3個目と4個目を結合して間に半角スペース入れればいいじゃない
0817デフォルトの名無しさん
2010/08/01(日) 19:40:310818デフォルトの名無しさん
2010/08/01(日) 20:02:06なるほど!ありがとうございます
0819デフォルトの名無しさん
2010/08/01(日) 22:09:47xls→datasetへの読み込みだけなら幾つも情報があるんですが、その逆の情報が見あたらず…
ADO.NET等を利用しての書き込みの方法はないんでしょうか?
0820デフォルトの名無しさん
2010/08/01(日) 22:56:570821デフォルトの名無しさん
2010/08/02(月) 08:21:540822デフォルトの名無しさん
2010/08/02(月) 15:38:27あ中身はpoiか
0823デフォルトの名無しさん
2010/08/02(月) 15:48:53Excelが入って無い環境では動かないとか?
って、それOLEの勘違い?
0824デフォルトの名無しさん
2010/08/02(月) 23:06:15http://support.microsoft.com/kb/316934/ja
こうゆう事なんじゃないかな?
0825デフォルトの名無しさん
2010/08/02(月) 23:43:58数百行の長いテキストを読み込むとハングアップしてしまいます。
解決手段にはどのような方法があるでしょうか?
0826デフォルトの名無しさん
2010/08/02(月) 23:55:271行ずつ読んで処理する
0827デフォルトの名無しさん
2010/08/03(火) 00:05:100828デフォルトの名無しさん
2010/08/03(火) 00:18:12プログラミングは昨日始めたばかりで、すごく恥ずかしいコードだと思いますがお願いします
ループ部分です
Dim Spt() As String
Dim ResultText2 As String = ""
For j As Integer = 1 To RichTextBox1.Lines.Length - 2
Spt = Split(RichTextBox1.Lines(j), " ", 5)
Dim lines As String() = Spt.Clone
For i As Integer = 0 To 0
lines(i) = String.Format("hidari1{1}migi1", i + 1, lines(i))
Next
For i As Integer = 1 To 1
lines(i) = String.Format("hidari2{1}migi2", i + 1, lines(i))
Next
For i As Integer = 2 To 2
lines(i) = String.Format("hidari3{1}migi3", i + 1, lines(i))
Next
For i As Integer = 3 To 3
lines(i) = String.Format("hidari4{1}migi4", i + 1, lines(i))
Next
For i As Integer = 4 To 4
lines(i) = String.Format("hidari5{1}migi5", i + 1, lines(i))
Next
Dim liness As String = String.Join(" ", lines)
liness = String.Format("hidari{1}migi", j, liness)
ResultText2 += liness + ControlChars.CrLf
RichTextBox2.Text = ResultText2
System.Threading.Thread.Sleep(10)
Next
0829デフォルトの名無しさん
2010/08/03(火) 00:29:26よく考えたらfor x5個が要らないことに気づいて消しましたがまだ大きいテキストだとハングアップしました
Dim Spt() As String
Dim ResultText2 As String = ""
For j As Integer = 1 To RichTextBox1.Lines.Length - 2
Spt = Split(RichTextBox1.Lines(j), " ", 5)
Dim lines As String() = Spt.Clone
lines(0) = String.Format("hidari1{1}migi1", 1, lines(0))
lines(1) = String.Format("hidari2{1}migi2", 2, lines(1))
lines(2) = String.Format("hidari3{1}migi3", 3, lines(2))
lines(3) = String.Format("hidari4{1}migi4", 4, lines(3))
lines(4) = String.Format("hidari5{1}migi5", 5, lines(4))
Dim liness As String = String.Join(" ", lines)
liness = String.Format("hidari{1}migi", j, liness)
ResultText2 += liness + ControlChars.CrLf
RichTextBox2.Text = ResultText2
System.Threading.Thread.Sleep(10)
Next
0830デフォルトの名無しさん
2010/08/03(火) 00:51:36StringBuilderをつかってみる。
0831819
2010/08/03(火) 00:53:18npoiの存在を初めて知りました…これなら実現可能みたいですね。
とりあえずこれを使ってみようと思います。
>>821
csvファイルでも良いんですが、同じくADO.NETを使っての読み込みぐらいしか情報が見あたらなかったので…。
>>822
中身がpoi、と言うことですが、javaはさほど扱えるわけでもないのでnpoiで代用しようと思います。
>>823
まさしくその通りです。自分の環境にもexcelを入れてないので、何とかそれ以外の方法で書き込みがしたかったのです。
>>824
一度それも試したんですが、指示通りに設定してもパラメーターが足りない、と言われて全く動きませんでした。
恐らくは自分の理解不足なのでしょうが。とりあえずnpoiでいってみようと思います。
レスありがとうございました。
0832デフォルトの名無しさん
2010/08/03(火) 01:13:02Linesプロパティは呼ぶたびにコピー(分割)される
O(N^2)とか発散して当然じゃないか
0833デフォルトの名無しさん
2010/08/03(火) 08:43:21System.Threading.Thread.Sleep(10)
これはなぜだ?
0834デフォルトの名無しさん
2010/08/03(火) 10:11:32CPUが100%に張り付いてしまうからです
とかだろうよ
0835デフォルトの名無しさん
2010/08/03(火) 16:42:14Disposeしても元ファイルが削除できません。
どのようにすれば削除できるようになるのか教えてください。
サンプル)
・フォームにPictureBox1、Button1、Button2を貼付け、画像(tmp1.png,tmp2.png)を準備
・コード
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'合成パターン)Disposeしてもtmp2.pngが削除できない
Dim SourceImage As Image = Image.FromFile(System.Windows.Forms.Application.StartupPath & "\tmp1.png")
Dim DestImage As Image = Image.FromFile(System.Windows.Forms.Application.StartupPath & "\tmp2.png")
Dim g As Graphics = Graphics.FromImage(DestImage)
Dim Attr As New Imaging.ImageAttributes
Dim M As New Imaging.ColorMatrix
M.Matrix00 = 1.0F
M.Matrix11 = 1.0F
M.Matrix22 = 1.0F
M.Matrix33 = 0.5F
M.Matrix44 = 1.0F
Attr.SetColorMatrix(M)
g.DrawImage(SourceImage, New Rectangle(New Point, SourceImage.Size), 0, 0, SourceImage.Width, SourceImage.Height, GraphicsUnit.Pixel, Attr)
PictureBox1.Image = DestImage
SourceImage.Dispose()
'単一パターン)Disposeすればtmp1.pngの削除可
'PictureBox1.Image = System.Drawing.Image.FromFile(System.Windows.Forms.Application.StartupPath & "\tmp1.png")
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
PictureBox1.Image.Dispose()
End Sub
0836835
2010/08/03(火) 16:44:590837デフォルトの名無しさん
2010/08/03(火) 17:22:160839デフォルトの名無しさん
2010/08/03(火) 19:03:51マルチすみません
勢い的にこちらが本スレかと思い質問です
今、VB2010でTIFファイルの印刷プログラムを作ろうとしているド素人なのですが
VB上から、TIFに関連付けられたアプリを使用して印刷する方法が分からず座礁しています
グーグル先生に聞いてみた所、ShellExecuteというコマンドを使用すれば出来るとの事だったのですが
無料のVB使ってるせいなのか分かりませんがうちの環境ではエラーになってしまいます
他に何か実現できる関数やコマンドがあったりするのでしょうか?
0840デフォルトの名無しさん
2010/08/03(火) 19:13:550841デフォルトの名無しさん
2010/08/03(火) 19:42:59ありがとうございます!そのコマンドでアプリ呼び出しまで確認できました
次はプリントする方法についてグーグル先生と相談しつつ調べてきます
再び座礁したら、すみませんがまたこちらで質問させてください。。
0842デフォルトの名無しさん
2010/08/03(火) 21:19:13Dim startInfo As New ProcessStartInfo
With startInfo
.FileName = "..\" & FAX
.Verb = "print"
.CreateNoWindow = True
End With
Process.Start(startInfo)
というのを意味分からずパクってみたら上手く印刷できました
ありがとうございました
0843デフォルトの名無しさん
2010/08/04(水) 01:36:16フォームアプリを作成し、実行するとForm_Loadイベント後の
Paintイベントが1回ではなくランダムにN回発生します。
Paintイベントで描画処理を行っているため、
1回のみPaintイベントが発生するのが理想なのですが、
ランダムなのは仕方ないことなのでしょうか?
Paintイベント内をSuspendLayout()〜ResumeLayout(False)で挟んでは
居るのですが、チラツキが気になっています。
0844843
2010/08/04(水) 01:47:08とりあえずPrivate変数を持たせて、初回Paint時のみ処理が走るようにしたところ
かなりチラツキが軽減されました。
0845デフォルトの名無しさん
2010/08/04(水) 05:49:460846デフォルトの名無しさん
2010/08/04(水) 07:12:15夏だなぁ・・・
0847デフォルトの名無しさん
2010/08/04(水) 08:43:08教育がOJTとか書いてる会社に就職してしまうとそんな感じになる。
0848デフォルトの名無しさん
2010/08/04(水) 09:25:18ネチネチした暑苦しいやつが多いな
0849デフォルトの名無しさん
2010/08/04(水) 09:48:08回答ほしいからってそう煽るなよwww
0850デフォルトの名無しさん
2010/08/04(水) 10:10:31夏休みが終われば、仕事の傍らで2chやってる職業プログラマが回答してくれるさ。
夏休みの間は無理だ。この手のスレはみんな終わってる。
0851デフォルトの名無しさん
2010/08/06(金) 11:17:02と
If A IsNot Nothing Then
みんなはどっちつかってる?
0852デフォルトの名無しさん
2010/08/06(金) 11:31:130853デフォルトの名無しさん
2010/08/06(金) 12:03:38If Not A Is Nothing Then
こっち
理由は、IsNotなんて実装される前からこう書いてたから
0854デフォルトの名無しさん
2010/08/06(金) 12:09:48IsNotを使えるのを知らんかったw。
オレはかっこで括って、If Not (A Is Nothing) Then かな。
Not a IsNot Nothing も当然ながらコンパイル通るんだよなw
0855デフォルトの名無しさん
2010/08/06(金) 12:12:21not a = 0 とか書くの?
0856デフォルトの名無しさん
2010/08/06(金) 12:14:32かくわけないだろ。理由は>>853と同じ
0857デフォルトの名無しさん
2010/08/06(金) 12:17:52俺は書いちゃうね。a <> 0 のほうが多いけど、
時々、ElseIf のときなんか他の比較のところがNot (a = x Or b = y)とかなっている場合、
これにあわせて書いちゃったりする。
0858デフォルトの名無しさん
2010/08/06(金) 16:07:00Chartコントロールの画像をPictureboxにコピーするには、どのようにしたら良いのでしょうか?
0859デフォルトの名無しさん
2010/08/06(金) 19:50:35Dim TempFileName As String = My.Computer.FileSystem.GetTempFileName()
Using TempFile As IO.FileStream = IO.File.Open(TempFileName, IO.FileMode.Open)
Chart1.SaveImage(TempFile, Drawing.Imaging.ImageFormat.Png)
PictureBox1.Image = Image.FromStream(TempFile)
End Using
IO.File.Delete(TempFileName)
0860デフォルトの名無しさん
2010/08/06(金) 19:50:41MSDNに載ってた気がするのですが、見つけられません・・。
0861デフォルトの名無しさん
2010/08/06(金) 21:03:44もっと簡単にできた。
Using mem As IO.MemoryStream = New IO.MemoryStream()
Chart1.SaveImage(mem, Drawing.Imaging.ImageFormat.Png)
PictureBox1.Image = Image.FromStream(mem)
End Using
0862デフォルトの名無しさん
2010/08/07(土) 09:43:14それやっちゃうとSelectActiveFrameが例外を吐く。
ストリームを閉じるのはImageをDisposeした後でないと。
0863デフォルトの名無しさん
2010/08/07(土) 19:05:290864デフォルトの名無しさん
2010/08/07(土) 19:23:03MSDNライブラリを読めば解決する問題のようにしか思えないけど、
日本語不自由な外国人か何かなのか?
それなら英語版読めばいいのに
0865デフォルトの名無しさん
2010/08/07(土) 20:38:050866デフォルトの名無しさん
2010/08/07(土) 20:52:08そこ削除して挿入すればいい
0867デフォルトの名無しさん
2010/08/07(土) 22:11:42ご自分の知識不足を棚に上げ、煽り・罵倒レスで返す方が数多く見うけられます。
そのような方々はスレの皆様を混乱させるだけでなく、
スレの雰囲気を壊しかねないのでお黙り頂き、そのままご退出ください。
また質問者は、リアルで全く役に立たない回答者に知識を披露する場を与え、
優越感と自己満足を感じさせてあげるという、大変貴重な存在です。
故に、質問者を見下した回答、あまりにも儀礼を欠いた回答は厳重に禁止いたします。
忙しい中、少ない時間の合間を縫って質問しに来てるわけですので、
その辺重々ご承知下さい。
以上を踏まえ、各自よく調べ、よく考え、より正確な回答をするよう常に留意すること。
0868デフォルトの名無しさん
2010/08/07(土) 22:20:10じゃあ俺の言ってることが間違ってるというのかこのコピペ馬鹿が。
どう考えても、普通に日本語が読めれば中学生だって判断つくことだろうが。
0869デフォルトの名無しさん
2010/08/07(土) 22:31:08文字列操作やOOに慣れてないと>>866みたいなのは思いつきにくい
0870デフォルトの名無しさん
2010/08/07(土) 22:37:06せっかく正規表現使うなら置換するだけで一発でできるんだけどね
0871アセンション
2010/08/07(土) 22:48:19確かにアセンションだ。
0872アセンション
2010/08/07(土) 22:49:38変態が好まないようなデザインにすれば万事解決なのに。
って言ったら、制服がかわいくないと学生が集まらないって言われた。
一見もっともらしいんだけど気になる。。。。
だって、変態と女子高生の美的センスが一致してるってことになるからな。
女子高生がかわいいと思うけど、変態が好まない制服を開発すれば万事解決するはず。
もっとも女子高生じゃないババアが制服着てもキモイだけだけどね。
0873デフォルトの名無しさん
2010/08/07(土) 22:52:390874デフォルトの名無しさん
2010/08/07(土) 22:52:490875アセンション
2010/08/07(土) 22:54:23もう天才科学者には戻れない。
変態科学者に天職だ。
誰か俺の妄想だと言ってくれ。
成功と性交。
会いたい性理論の愛シタインの成功方程式
A(性交)=X(仕事)+Y(遊び)+Z(沈黙)
俺の場合はチンこくだな。
もう天才数学者には戻れない。
0876デフォルトの名無しさん
2010/08/07(土) 22:55:160877アセンション
2010/08/07(土) 23:08:57コピペなんてせん。
愛シタインもゲー出るも知ったはずだ。
ガウスもオイラーもガロアもアーベルもユングもフロイトも湯川も江崎もブッシュも小泉も知ったはずだ。
こいつらはどういう語呂合わせがあるか俺にはわからん。
宗教家は自分とこの宗派の枠組みでその存在を捉えてるだろう。
もっとも、大富豪のロック・フェラやロス・チャイルドは
まさか自分らの名前がピーなことに気づきすらしてないだろう。
人為的でない偶然によって陰謀論者に選ばれてしまったのだ。
ギリシャの選挙がコンクラーベだったり、政治が祭りごとって言われるくらいだから、
誰が総理になっても世界は変わらんだろう。
神は恥ずかしがり屋だから観測すると隠れてしまう。
科学って1回しか起きない偶然は扱えない。
そこに限界がある。
0878アセンション
2010/08/07(土) 23:10:36真実を明るみに出して科学を宇宙を崩壊させることを始めるお、までは言った。
0879デフォルトの名無しさん
2010/08/07(土) 23:13:000880アセンション
2010/08/07(土) 23:14:290881アセンション
2010/08/07(土) 23:15:580882アセンション
2010/08/07(土) 23:17:500883アセンション
2010/08/07(土) 23:28:12だがあれだけ叩かれたのに靖国に参拝したということは、
信念があったからに他ならない。
もしも統合失調症であったならば、なおさら彼の真意が理解できる。
ブッシュの事実上の退任演説で国民のために全力を尽くした的なことを言った。
ああするしかなかったようなことを言っていた。
俺の理論が正しければ911はブッシュの陰謀なんかじゃない。
ちなみに911がアメリカの警察の番号であることは偶然です。
世界に100万人はいるとされるブッシュ陰謀説は間違っている。
0884アセンション
2010/08/07(土) 23:30:20だが貧乏になる人は貧乏になるだけの理由があるからに他ならない。
政治や景気がどうなったとしても、自分が変わらなければ金持ちにはなれない。
世界や宇宙はそう作られている。
0885デフォルトの名無しさん
2010/08/08(日) 00:57:000886デフォルトの名無しさん
2010/08/08(日) 03:03:590887デフォルトの名無しさん
2010/08/08(日) 04:33:49夏厨にも程があるなw
0888デフォルトの名無しさん
2010/08/08(日) 06:16:54罵倒してるクズが言い訳してる様は実に見苦しい。
0889デフォルトの名無しさん
2010/08/08(日) 12:37:42言い訳か。
幸せ回路にも程があるな。
もっとも、そういう何でも自己肯定的に考える馬鹿でなければ厚顔にも>>863みたいな
質問ができるはずがない。
本気でMSDN読んでも分からないのならプログラマの資質どころか、
人様から金貰って仕事する資格も皆無の馬鹿だ。
0890デフォルトの名無しさん
2010/08/08(日) 14:35:46If TypeOf オブジェクト Is 型 Then
の場合なぜかIsNotが使えなかったなぁ。VB2010は調べてないけど。
0891デフォルトの名無しさん
2010/08/08(日) 15:39:48おたく、コミュニケーション能力が無いにもほどがあるね。
人から嫌われてて友達もいなけりゃ社内に味方もいないタイプ。
まあ、わからないなら好きなだけ口から糞を吐いてれば?
自分より格下の人間を見つけては罵倒せずにはいられない人間のクズさん。
0892デフォルトの名無しさん
2010/08/08(日) 15:45:09なるほど、コミュニケーション能力とは、
馬鹿で怠惰な君でも優しく接してくれる能力のことを言うのかw
そういう思考がまさに「幸せ回路」。
いい歳こいてるなら少しは自己批判的視線ぐらい持て。
まあ言っても無理だとは思うが
0893デフォルトの名無しさん
2010/08/08(日) 16:15:13あれは「TypeOf 〜 Is 〜」までが一つの演算子だからだな。
VB2010でも仕様は変わっていない。
0894デフォルトの名無しさん
2010/08/08(日) 19:05:23不覚にもワラタ
0895デフォルトの名無しさん
2010/08/08(日) 22:21:330896デフォルトの名無しさん
2010/08/08(日) 22:43:490897デフォルトの名無しさん
2010/08/08(日) 22:47:540898デフォルトの名無しさん
2010/08/09(月) 01:10:29> 本気でMSDN読んでも分からないのならプログラマの資質どころか、
> 人様から金貰って仕事する資格も皆無の馬鹿だ。
なぜか質問者が職業プログラマを目指していると
【独りよがりに断定】して、持論を正当化するドアホ。
0899デフォルトの名無しさん
2010/08/09(月) 01:17:29> MSDNライブラリを読めば解決する問題のようにしか思えないけど、
そもそもこの時点で、自分勝手な押し付けをしている。
MSDNライブラリを読めば解決する質問はしていけないという
自分勝手な設定をして、質問レベルを線引きしている。
何様のつもりなんですか?
このスレの主のおつもりなんですか?
本当に気持ちが悪い。
0900デフォルトの名無しさん
2010/08/09(月) 01:22:04自分勝手に職業まで仮定して自論正当化(笑)
まさに自己中
↓これあってんだろwww
> 人から嫌われてて友達もいなけりゃ社内に味方もいないタイプ。
> まあ、わからないなら好きなだけ口から糞を吐いてれば?
> 自分より格下の人間を見つけては罵倒せずにはいられない人間のクズさん。
0901デフォルトの名無しさん
2010/08/09(月) 01:32:49まあご苦労なことだが、君の批判は全て君自身に(というより、君自身にこそ)
当てはまっていることには全く気がつかないあたりがいかにも「幸せ回路内蔵型」人間らしいよ。
ある意味真面目にうらやましい。
こういう人は人生さぞかし爽快なんだろうな。
0902デフォルトの名無しさん
2010/08/09(月) 01:54:01自分勝手に職業まで仮定して自論正当化(笑)
に何一つ反論できずに、幸せ回路内蔵人間という
またまた自分勝手な妄想を押し付けて終わり。
0903デフォルトの名無しさん
2010/08/09(月) 01:56:08自分勝手に質問レベルを設定して、他人に強制(笑)
自分勝手に職業まで仮定して自論正当化(笑)
に何一つ反論できずに、幸せ回路内蔵人間・うらやましい・爽快な人生
というまたまた自分勝手な妄想を押し付けて終わり。
0904デフォルトの名無しさん
2010/08/09(月) 02:15:410905デフォルトの名無しさん
2010/08/09(月) 06:33:01色々と不便なので。
0906デフォルトの名無しさん
2010/08/09(月) 09:02:01必死上げがまた泣かせるw
0907デフォルトの名無しさん
2010/08/10(火) 02:27:31反論まだー?
0908デフォルトの名無しさん
2010/08/11(水) 00:49:00間違ってましたら誘導してもらえるとありがたいです。。
VS2005でASP.netを使っています。
やりたいことはGridViewの列を一列だけで作って
複数の行をHyperLinkとして追加していきたいです。
例えば1〜10という文字の行を10行挿入して
それぞれ一行目は「1」という文字で表示され「1.jpg」とリンク、
二行目は2という文字を表示し、「2.jpg」とリンクしているようなイメージです。
具体的な方法がわかりません。
Dim dt As DataTable
Dim dr As DataRow
dt = New DataTable()
dt.Columns.Add(New DataColumn("LINK", GetType(String)))
dr = dt.NewRow()
dr(0) = "1"
dt.Rows.Add(dr)
dr = dt.NewRow()
dr(0) = "2"
dt.Rows.Add(dr)
Me.GridView1.DataSource = dt
Me.GridView1.DataBind()
こうやればテキストは表示されますが当然HyperLinkされていません。
どうやるべきなんでしょうか。
0909デフォルトの名無しさん
2010/08/11(水) 13:28:01自分にはバカに対してバカという権利がある、みたいな勘違いをしてるんだね、根本的に。
質問の程度とか答えるに値しないと判断したなら、上品にスルーしてりゃいいのよ。
その程度の人間だから、わかりやすく同じ事をされてみないと、自分が何をしたかわからない。
0910デフォルトの名無しさん
2010/08/11(水) 13:51:22バカにバカって言うのに特別な権利が必要とでも?w
0911デフォルトの名無しさん
2010/08/11(水) 17:00:040912デフォルトの名無しさん
2010/08/11(水) 17:01:070913デフォルトの名無しさん
2010/08/11(水) 17:53:35世の中いろんなレベルと種類の馬鹿がいるけど、
自分の言葉を自分に適用しない(できない)馬鹿が最高の馬鹿だと思う。
つまり君がそれってことだがw
っていうか、そうやって平気で自分を棚上げできるっていうのは、
単に頭が悪いっていうより精神病んでるんじゃないのかマジで。
0914デフォルトの名無しさん
2010/08/11(水) 19:06:20レンダリングの方法はASP側で決められるんじゃないの?
System.Web.UI.WebControls.HyperLinkFieldのヘルプのサンプルとか見ると、
何か簡単に出来そうに見えるのだけど。
0915デフォルトの名無しさん
2010/08/11(水) 21:46:41以外を削除したいと思っています
3千行程度ならば一応このままでも10秒ほどで作業終了するのですが、
それ以上になるとフリーズしてしまいます。解決するにはどうすればいいでしょうか?
Dim lin() As String
Dim textArray As New System.Text.StringBuilder()
RichTextBox1.Text = System.Text.RegularExpressions.Regex.Replace( _
RichTextBox1.Text, _
"(\()(\d*)(\))", _
"separate$2separate")
For i As Integer = 0 To RichTextBox1.Lines.Length - 1
lin = Split(RichTextBox1.Lines(i), "separate", 3)
If lin(0) = RichTextBox1.Lines(i) Then
Else
If lin(1).ToString() > 30 And RichTextBox1.Lines(i).Contains("特定の文字列") = True Then
textArray.Append(lin(0)).Append("(").Append(lin(1)).Append(")").Append(lin(2)).AppendLine()
Else
End If
End If
Next
RichTextBox1.Text = textArray.ToString()
0916デフォルトの名無しさん
2010/08/11(水) 21:57:560917デフォルトの名無しさん
2010/08/11(水) 22:06:22すいません。どこが不味かったのか真面目に分からないので、教えていただけないでしょうか?
0918デフォルトの名無しさん
2010/08/11(水) 22:28:47本当に煽り抜きで、不味くない箇所を指摘する方が難しいぐらいだけど、
特に目に余るのが
----
If lin(1).ToString() > 30 And RichTextBox1.Lines(i).Contains("特定の文字列") = True Then
textArray.Append(lin(0)).Append("(").Append(lin(1)).Append(")").Append(lin(2)).AppendLine()
Else
End If
----
自分で書いてて酷いと思わない?
酷いっていうのは、これ他人が書いたコードだったら読む気するか?
0919デフォルトの名無しさん
2010/08/11(水) 22:36:30私の知識が少なすぎるせいなのでしょうが、どこが悪い箇所なのかまったくわかりません
申し訳ありませんが、1か所でいいので具体的に指摘してもらえないでしょうか?
0920デフォルトの名無しさん
2010/08/11(水) 22:50:02他人のコードを読む練習から始めた方がいい
0921デフォルトの名無しさん
2010/08/11(水) 23:00:200922デフォルトの名無しさん
2010/08/11(水) 23:36:21例えば同じ仕様(?)でもこういう風に書いた方が後々理解しやすいと思わない?
Private Function IsLineToDelete(ByVal line As String) As Boolean
If Not line.Contains("特定の文字列") Then Return False
Static regex As New Regex("([(])(\d+)([)])")
Dim m = regex.Match(line)
If Not m.Success Then Return False
Dim val As Long
If Long.TryParse(m.Groups(2).Value, val) Then
Return (val >= 30)
Else
Return True
End If
End Function
Private Sub DeleteMatchLines()
Dim lines As New List(Of String)
For Each line As String In RichTextBox1.Lines
If Not IsLineToDelete(line) Then
lines.Add(line)
End If
Next
RichTextBox1.Lines = lines.ToArray
End Sub
0923デフォルトの名無しさん
2010/08/11(水) 23:39:03一応念のため
0924デフォルトの名無しさん
2010/08/11(水) 23:39:55textArray.AppendLine(lin(0) & "(" & lin(1) & ")" & lin(2))
確かに最速では無いかもしれないが、まだ読む気にはなれるだろ?
まあ、条件を満たす行以外不要なだけだったら、こんな書き方で十分とは思うが。
For Each line In RictTextBox1.Lines
If lineが条件を満たす行 Then textArray.AppendLine(line)
Next
RichTextBox1.Text = textArray.toString()
0925デフォルトの名無しさん
2010/08/11(水) 23:56:390926デフォルトの名無しさん
2010/08/12(木) 00:03:41なるほど…。読みやすい書き方というものが多少理解出来てきました
こんな初心者の質問に丁寧に付き合ってくれて、皆さんありがとうございました
0927デフォルトの名無しさん
2010/08/15(日) 14:21:31ふさわしくない場合は誘導してもらえると助かります。
IIS+VBでASP(.netframeworks2.0)+SQLServer2008で開発してます。
ASPの偽装についてわからないところがあります。
偽装でドメインユーザー権限でASPを実行させ、SQLServerと接続したいと思います。
ASP.NET偽装はこの2つの方法を両方設定しています。
1.IISの管理ツールの認証の設定で「ASP.NET偽装」を有効
2.web.configで<identity impersonate="true" password="パスワード" userName="ユーザー名"></identity>
そもそも目的から考えると「1.」「2.」片方でよい気もするので
どちらか片方を解除するとASPがSQLServerにログインしようとする際にエラーが出ます。
ユーザー '[ドメイン名]\[IIS実行サーバー名]$' はログインできませんでした。
説明: 現在の Web 要求を実行中に、ハンドルされていない例外が発生しました。エラーに関する詳細および例外の発生場所については、スタック トレースを参照してください。
例外の詳細: System.Data.SqlClient.SqlException: ユーザー ''[ドメイン名]\[IIS実行サーバー名]$' はログインできませんでした。
結果からすると「1.」「2.」設定しないと動かないのですが両方必要な設定なのでしょうか。
必要なのが片側だとしたら不要な方を外したいと思います。
「1.」「2.」の効果の違いがわからないため苦戦しています。
自分の感度としては「1.」で実行アカウントを指定しているのだからweb.confgで再設定しなくとも
偽装してくれると思っているのですがいかがでしょうか。
0928デフォルトの名無しさん
2010/08/15(日) 22:59:160929927
2010/08/15(日) 23:10:52IISのバージョンはWin2008(R2ではない)のため7です。
SQLServer2008の認証モードでしょうか。
Windows認証モードです。
0930デフォルトの名無しさん
2010/08/15(日) 23:37:11OS:WinXP SP3
CPU:i7 920
MEM:3GB
VS2008
大量の静止画の画サイズ(Height,Width)を取得するコードを書いたんですが
静止画2000件目程度読み込むと、8行目で「メモリが不足しています。」と出てプログラムが停止してしまいます
タスクマネージャでメモリの使用量を見る限り、メモリの使用量は増えてないんですが...
実際のコードは以下の通り
01: Public Sub GetPictureSize()
02: Dim FileList() As String = System.IO.Directory.GetFiles("PictureFolder", "*", System.IO.SearchOption.AllDirectories)
03: Dim PictureSize As System.Drawing.Image
04:
05: Dim i As Integer
06:
07: For i = 0 To FileList.Length - 1
08: PictureSize = System.Drawing.Image.FromFile(FileList(i))
09: Debug.Print(PictureSize.Height & "/" & PictureSize.Width)
10: PictureSize.Dispose()
11:
12: Next
13:
14: End Sub
これを回避する方法、別のなにかいい方法ないでしょうかorz
0931デフォルトの名無しさん
2010/08/16(月) 12:35:57イベント毎にインスタンス化するのがいいのか、
それともフォーム直下でインスタンス化するのがいいのか
どっちでしょうか?
0932デフォルトの名無しさん
2010/08/16(月) 15:07:36フォーム直下で、ってどういう意味ですかね。
イベントハンドらのメソッド内でロカール変数として扱うか、
フォームのprivateなメンバ変数として宣言するかってことですかね。
だとしたら必要なスコープによると思います。
基本的に必要最低限なスコープになるように選択すればよいと思います。
0933デフォルトの名無しさん
2010/08/16(月) 16:04:33System.Drawing.Image.FromFileの説明に
ファイルのイメージ形式が有効でない場合、または、そのファイルのピクセル形式が GDI+ でサポートされていない場合、
このメソッドは OutOfMemoryException 例外をスローします。
ってあるんだが。メモリが足りなくてエラーはいてるわけじゃねえんじゃね
0934デフォルトの名無しさん
2010/08/16(月) 18:49:55変数「u」を変換して文字列"http://www.yahoo.co.jp"を取得したいのですが
よいメソッドが用意されてたりしませんか?
0935デフォルトの名無しさん
2010/08/16(月) 20:17:24それならUri.GetComponentsで
UriComponents.SchemeAndServerを渡せば出来るな。
0937デフォルトの名無しさん
2010/08/16(月) 21:23:17いやこれはImageクラスの仕様も悪いよ。大本のGDI+の仕様から来ているからしょうがないんだけど。
0938デフォルトの名無しさん
2010/08/16(月) 22:12:26ちょっと信じられなかったw
0939デフォルトの名無しさん
2010/08/17(火) 10:14:470940デフォルトの名無しさん
2010/08/17(火) 10:48:06Google検索トップページをそのブラウザに表示させようと
しているのですが、エラーメッセージが表示されてしまいます。
<エラー内容>
Method Not Allowed
The request method POST is inappropriate for the URL /.
※URLをYahooに替えたところ正常にYahooのトップページが表示されました。
これはGoogleがブラウザ以外のWindowsアプリから
閲覧しようとしている場合には弾く設定を何かサーバ側で行っているのでしょうか?
0941デフォルトの名無しさん
2010/08/17(火) 10:49:12うわぁ〜
そんなコード書く奴と一緒に仕事したくねぇ〜
酷すぎる
0942デフォルトの名無しさん
2010/08/17(火) 13:09:220943デフォルトの名無しさん
2010/08/17(火) 13:22:120944デフォルトの名無しさん
2010/08/17(火) 14:05:54くるおしく同意
0945デフォルトの名無しさん
2010/08/17(火) 14:16:24VBAとPHP+MYSQLによるWebアプリの経験が少しあるだけです。
確かに何やらパーツを組み上げて簡単にWebアプリができそうな雰囲気ではあるのですが、
少し細かく弄ろうとしてみると、むしろ何だかよくわからなくなってきます。
結局中身をきちんと理解していないと、教科書レベルのアプリって作れないようにも思います。
0946デフォルトの名無しさん
2010/08/17(火) 15:05:28>>915みたいなコード糞過ぎるだろ。
つまりセンスが無い事の裏返し。
0947デフォルトの名無しさん
2010/08/17(火) 15:47:000948デフォルトの名無しさん
2010/08/17(火) 17:54:41そんな話聞いたことない。
例えばフォーム内のコントロールに対する入力チェックのメソッドなら
フォーム内でprivateにすべき。
0949デフォルトの名無しさん
2010/08/17(火) 18:34:48すごく分かりやすい例だ…ありがとう
やっぱり会社のコーディング規約はあれだなー
モジュールで全てやるし…
0950デフォルトの名無しさん
2010/08/18(水) 11:34:15ご教示お願いします。
vb.netにて開発中なんですが
携帯電話サイトをコントロールしたくて試行錯誤中です。
webbrowser controlで携帯サイトの携帯チェックをかいくぐる方法か、
またはvb.netに組み込んで操作可能な擬似携帯電話ブラウザーというのは
ありますでしょうか?
それでは、よろしくおねがいします。
0951デフォルトの名無しさん
2010/08/18(水) 11:47:22会社から2chに質問だとw?
低スキルな会社だなw
0952デフォルトの名無しさん
2010/08/18(水) 11:58:51IPアドレス範囲で判定されてたらどうしようもできないだろう。
0953デフォルトの名無しさん
2010/08/19(木) 23:50:01そこまではまだよかったのですが、
新しいプロジェクトをつくっても、フォームデザインで一切ツールボックスからコントロールを選ぶことができず
ボタンやラベルなどが配置できなくなりました。修復インストールや再インストールも試しましたが直りません。
どうすれば使えるようになるかわかるかたいらっしゃいませんか?
0954デフォルトの名無しさん
2010/08/19(木) 23:58:37PCの復元のほうが失敗してるとか
0955デフォルトの名無しさん
2010/08/20(金) 00:57:02その可能性もあるとおもいます。どうもSoftwareDistribution3.0あたりが怪しいので
自動更新を切って再度復元して様子をみます。今日のうちにVBいれたかったのですが、時間的にもう無理そうだ・・・orz
0956デフォルトの名無しさん
2010/08/20(金) 21:22:28いや可能性ってかほぼそっちしか考えられんが…
0957デフォルトの名無しさん
2010/08/28(土) 17:23:42テキストボックス TextBox1 に対し
Me.Controls("TextBox1").Text = "hogehoge"
のようにすると
TextBox1.Text = "hogehoge"
と同様の結果が得られますが、テキストボックスではなくメニューのアイテムに対してこのようなことはできないのですか?
0958デフォルトの名無しさん
2010/08/31(火) 19:13:16できる。
ヒントMenuStripなどのItemsコレクション
0959デフォルトの名無しさん
2010/08/31(火) 21:46:53btn0 = New Button
btn0.ID = "btn0"
btn0.PostBackUrl = "aaa.aspx"
btn0.Text = "次ページへ"
form_Target.Controls.Add(btn0)
と書いてボタンを作っても、aaa.aspxに行かずに自分のページに戻ってきてしまいます。
どうしたらいいでしょうか、教えてください。
0960デフォルトの名無しさん
2010/09/02(木) 16:53:38基本的になやり方はあってる
ためした範囲ではそのやり方でいける
ダメなら環境とかもうちょっと詳しく書け
0961デフォルトの名無しさん
2010/09/02(木) 21:13:13クライアントからのSOAPのリクエストが飛んでくるんだけど、
それをASPでなんとか処理したい
ASPってRequest.formっていう、フォームの要素取得するやつしかないよね?
SOAPを仕様通り処理するのは無理だってわかってて、
でもSOAPってただのXMLじゃん。文字列じゃん
その文字列をサーバサイドで取得したいんだけど、方法ないですか
0962デフォルトの名無しさん
2010/09/02(木) 21:16:030963デフォルトの名無しさん
2010/09/02(木) 21:21:22それ見落としてた
会社いかないと試せないけど、それでいけるかもしんないサンクス
0964デフォルトの名無しさん
2010/09/02(木) 22:18:56確か追加する文字と場所(左右)と回数を指定して一回で追加できる方法があった気がするのですが
ぐぐったけどどこで見たか分からなくなってしまいました
0965デフォルトの名無しさん
2010/09/02(木) 23:09:42これのタイムアウトの時間を標準の300秒から30秒に変更したいのですが
どのように変更したら良いのでしょうか?
■現在のソース
Dim wc As New System.Net.WebClient()
wc.DownloadFile(”http://www.google.co.jp/webhp?hl=ja”)
wc.Dispose()
WebClientのプロパティにはTimeOutというのが、なくてMSDNにはこう書いてあります。
WebClient クラスは、WebRequest クラスを使用してリソースにアクセスできるようにします。
WebClient インスタンスは、WebRequest.RegisterPrefix メソッドで登録した WebRequest の
子孫を使用してデータにアクセスできます。
で確かにWebRequestにはTimeOutプロパティがあるのですが、適用方法が判りません
■リンク
WebClient
http://msdn.microsoft.com/ja-jp/library/tt0f69eh(v=VS.80).aspx
WebRequest
http://msdn.microsoft.com/ja-jp/library/system.net.webrequest_properties(v=VS.80).aspx
0966デフォルトの名無しさん
2010/09/02(木) 23:31:32ここのサンプルを使えばよい
0967デフォルトの名無しさん
2010/09/03(金) 00:04:59StringクラスのpadLeft/padRightだな。
てか、こんなのわざわざググって探そうとかM属性か?
0968デフォルトの名無しさん
2010/09/03(金) 01:14:44そう、これだ
ありがとう
すっきりしますた
0969デフォルトの名無しさん
2010/09/03(金) 15:37:47何も考えずにWebRequestに置き換えるのはダメ
UIスレッドで同期ダウンロードしたらフリーズするから別のスレッドでやらないといけない
0970デフォルトの名無しさん
2010/09/03(金) 22:24:100971デフォルトの名無しさん
2010/09/04(土) 10:15:370972デフォルトの名無しさん
2010/09/04(土) 10:18:46それはまずいというのがWindowsでの常識。
0973デフォルトの名無しさん
2010/09/04(土) 10:58:19>>969はフリーズするからではなく、フリーズしたように見えるから、とするべきだったんじゃないか
その状態があんまりよろしく無いのには同意するが、そのへんは要件次第だし
0974デフォルトの名無しさん
2010/09/04(土) 21:20:320975デフォルトの名無しさん
2010/09/06(月) 09:30:36WebClientでいいから非同期ダウンロードするべき
0976デフォルトの名無しさん
2010/09/08(水) 03:58:06phpだと
for ($i = 0; $i < 10; $i++) {
$hash['key'][] = $i;
}
で出来るんですが vb.net での書き方がわかりません。
Dim hash As Hashtable = New Hashtable
For i = 0 To 9
hash("key")() = i ← ここの書き方が不明
Next
0977デフォルトの名無しさん
2010/09/08(水) 04:12:52http://www.atmarkit.co.jp/fdotnet/dotnettips/125hashtable/hashtable.html
0979デフォルトの名無しさん
2010/09/10(金) 20:21:00値をひとつひとつ総当たりでぶつけていくプログラム書いてたのですが、
多分アホなことやってる気がします。
SELECT DISTINCTだと一発なのに…。
0980デフォルトの名無しさん
2010/09/10(金) 20:26:580981デフォルトの名無しさん
2010/09/10(金) 20:39:110982デフォルトの名無しさん
2010/09/10(金) 21:31:18って言われたりして。
0983デフォルトの名無しさん
2010/09/10(金) 22:26:47ちょっと前にも同じこと書いたようなデジャブを感じるんだが、
可能なら(配列の要素に比較メソッドとか持たせられるなら)ソートしてから
やると効率がいいかもしれんね。
もっとも、数万程度のデータならどんなアホみたいな方法でも秒殺だろうけど
0984デフォルトの名無しさん
2010/09/10(金) 22:32:310985デフォルトの名無しさん
2010/09/10(金) 22:36:590986デフォルトの名無しさん
2010/09/11(土) 17:03:15レス数が950を超えています。1000を超えると書き込みができなくなります。