旦 旦 旦 旦 旦
旦 旦 旦 旦 旦
旦 旦 旦 旦 旦
旦 旦 旦 旦 旦
旦 旦 旦 旦 旦
旦 旦 旦 旦 旦
旦 旦 旦 旦 旦
. ∧_∧ 旦 旦 旦 旦 旦
( ´・ω・ ). 旦 旦 旦 旦 旦
. /ヽ○==○ 旦 旦 旦 旦 旦
/ ||_ |_ 旦 旦 旦 旦 旦
し' ̄(_))  ̄(_))  ̄(_))  ̄(_))
2008と .netの違いは何ですか?
>7
なるほど、6以降を境に分けているということは、6以降は区別するしてどんなところが違うのですか
6までは専用のランタイムが必要、VB.NET(7)以降は、.NET Framework が必要
おしえて偉い人
もう使わないってんでVB6を知り合いにもらったんだが
2008無料ならもしかして6入れずに2008使った方がいい?
6と2008は全くの別物
今更 VB6 使う意味はほとんどないよ。
じゃ2008をいんすとしてみる
14 :
13:2009/02/21(土) 21:22:41
2008入れたけどこれヘルプ日本語にできないのかしら?
できるよ。更新しな
16 :
デフォルトの名無しさん:2009/02/22(日) 12:16:27
vb.netでこれ↓
Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
を使用してメッセージを監視してるんですが
他のウィンドウをアクティブにするとメッセージを取得してくれなくなってしまいます。
他のウィンドウがアクティブになっていてもメッセージを取得できるようにするには
どうしたらいいですか?
グローバルフック
API スレでも言われてたけど、単にメッセージが飛んできてないだけじゃないの?
1 CaptureScreen()
2 PrintPreviewDialog1.Document = PrintDocument1
3 PrintPreviewDialog1.Show()
こんな感じのフォームのハードコピーみたいなのをつくろうとしてるのですが
印刷のプレビューダイヤログは出るのですが、
プレビューダイヤログを閉じて
フォームの印刷ボタンを押して再びダイヤログを出そうとすると
'System.ObjectDisposedException' の初回例外が System.Windows.Forms.dll で発生しました。
ようになります。
プレビューウィンドウが閉じられているのにフォームのボタンでまた開こうとしていることが
原因なのは理解していますが、2度目また開けようとして
怒られないようにするにはどのような処理をするとよいのでしょうか?
20 :
19:2009/02/22(日) 15:19:48
123は印刷ボタン押したときのコードです
初回例外云々は3に対して言われました。
ごめんなさい自分でもよくわからないのですが、一応自分でわかる範囲で説明してみました
言いたいことが伝わっているといいなあ
イラネ
23 :
デフォルトの名無しさん:2009/02/23(月) 10:56:53
どう直せばいいんでしょうか。
グリッドに表示してるデータをmdbに書き込みたいんだけど
↓すでに別のテーブルに属しています、とでます。
Dim oDataSet As DataSet = DataGrid1.DataSource
Dim oConn As New OleDbConnection()
Dim oCommand As New OleDbCommand()
Dim oDataAdapter As New OleDbDataAdapter()
Dim Builder As New OleDbCommandBuilder(oDataAdapter)
'DB接続文字列の設定
'プロジェクトファイルフォルダ下にあるbinフォルダにsample.mdbを置く
oConn.ConnectionString = _
"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + _
Application.StartupPath + "\ざいこ.mdb"
'コネクションの設定
oCommand.Connection = oConn
'データテーブル取得
Dim dt As DataTable = oDataSet.Tables(0)
Dim dt2 As DataTable = oDataSet.Tables(0)
Dim i As Integer = 0
For i = 0 To dt.Rows.Count - 1
Dim newrow As DataRow = dt2.NewRow
Dim j As Integer = 0
For j = 0 To 4
newrow.Item(j) = dt.Rows(i).Item(j)
dt2.Rows.Add(newrow)
Next
Next
'データをmdbへ
oDataAdapter.SelectCommand = oCommand
oDataAdapter.Update(dt2)
RichTextBoxで
ABC
の
B
だけ緑色にするプログラムは?
27 :
デフォルトの名無しさん:2009/02/23(月) 23:33:20
質問よろしいでしょうか?
ネットワークに接続する環境の無いPCで、VB2008で作成したプログラムを動かしたいのですが、
.NetFrameworkがインストールできず起動できません。
他のPCでMSのサイトから.NetFrameworkをDLしてUSBメモリで上記のPCに移し変えて実行しても、
結局ダウンロードが始まりインストールできません。
何か方法はございますでしょうか?
>>25 thx
Ubuntuスレにマルチポストしてきました。
31 :
デフォルトの名無しさん:2009/02/24(火) 12:10:15
秀丸やサクラエディタのように、文中でハイパーリンクさせるにはどのような方法を
取っているんでしょうか?
リッチテキストでは、txtふぁいるではなくなってしまうし・・・。
秀丸やサクラがVBで作られてるのか?
どうでもいいが、
一度リッチテキストで表示すると、テキストに戻して保存するのは不可能なのか? そんなわけがないだろう
ちなみにふつーのエディタは全て自前描画する
そういえばAzukiってエディタエンジンがあるらしいがどうなんだろうな
34 :
27:2009/02/24(火) 15:27:54
>>28 無事解決しました!
ありがとうございました!
full packageなんてのがあったんですね。
ほんと助かりました。
35 :
デフォルトの名無しさん:2009/02/24(火) 22:23:28
System.IO.Directory.GetFiles()
を使って、あるフォルダ以下の、特定のファイル名を持つファイルを
全部取り出そうと思ったのですが、アクセスできないファイルかフォルダ
があると例外が発生してしまいます。どうしたらいいでしょうか?
人に質問するときには「取り出す」とかいった「俺様用語」は使わないこと。
質問文は「困っているボキュの気持ち」ではなく、「発生している問題の内容」が
伝わるように書くこと。
常識だろ。
例外をトラップすればいいんじゃね?
38 :
デフォルトの名無しさん:2009/02/24(火) 23:36:21
ボタンが無数にあるのですが、
全部同じことを実行させたいので
全部のイベントプロシージャを書くのが大変なのですが
一つにまとめるにはどうしたらいいでしょうか。
Private Sub Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button.Click
shori()
End Sub
こんな風にできないですか?
>>38 handlesにずらずら書いてくだけだろ
>>38 値/参照渡しの場合
Private Sub shori (ByVal xStr as String ,-必要数受け取る変数を宣言-)
-処理プログラム-
End Sub
戻り値を持たせる場合
Private Function shori (ByVal xStr as String ,-必要数受け取る変数を宣言-)
-処理プログラム-
Return -プロシージャに戻す値-
End Function
Loadイベントあたりで AddHandlerでもすれば?
42 :
デフォルトの名無しさん:2009/02/25(水) 00:16:02
指定したフォルダに対して、そのフォルダ内やそのサブフォルダ内に
含まれるファイル数、フォルダ数の総計を求める方法を教えてくれ
44 :
デフォルトの名無しさん:2009/02/25(水) 00:37:16
>43
ggtekureteureshizoks
少なくともVB.NETでは動かないから無視しておk
47 :
デフォルトの名無しさん:2009/02/25(水) 18:27:48
グローバルフックってどうやるんですか?
ぐぐれ
2003では配布する時Microsoft.VisualBasic.Compatibility.dll無いと
ダメだったけど2005以降も同じ?
それと\binにxxx.VSHOST.exeとxxx.xmlも出来るけどこれは不要?
50 :
デフォルトの名無しさん:2009/02/25(水) 20:10:36
>>48 探したけどVB.netで
グローバルフックする方法がのってないんです
どう探したのやら
vb.net グローバルフック
だけでも必要十分な情報は手に入るのに
>>49 .NET2.0SP2現在はデフォで入ってるな。
最初からそうだったか途中のSPからそうだったかは記憶にない。
ちなみにClient Profileには入ってなかった・・・誰も使ってないから問題ないが
53 :
デフォルトの名無しさん:2009/02/25(水) 20:33:51
>>51 すいません見つかりませんでした。
どこかにサンプルコードとか載ってるところとかありませんか?
「VB.NETで」と限定するのが間違い
C#やC++みたいな他の言語で書かれてるのが読めないレベルの人がやるようなことじゃない
55 :
デフォルトの名無しさん:2009/02/25(水) 23:41:49
文字列の文字数をそろえたいのですがそれようの関数があったら教えてください
全部5桁にしたい場合
「ABC」を「ABC 」に直したり
「AB」を「AB 」にしたいです。
String.PadLeft(5)
結論として、VB.NET でグローバルフックは無理。
VS2008 Expressで、.NET 3.5のフォームアプリを勉強しています。
MDIアプリの作成を練習しているのですが、MDI親フォームに、ちょうど
VS2008のツールボックスやエラー一覧のようなフォーム?を表示させたいのですが、
アレは普通のフォームとして作成するのでしょうか。
それとも何か特殊なコンポーネントを使用しているのでしょうか。
日本語をつかったURLが解禁になるけど
タグなどのないプルーンなテキストの日本語長文の中からURLを抽出するのはどうやるの?
>日本語をつかったURLが解禁になるけど
なん…だと?
>>58 >それとも何か特殊なコンポーネントを使用しているのでしょうか。
その通り。MDIではできません。あのような機能はドッキング(docking)と呼ばれます。
キーワードは出したよ
>>62 開始位置はいいとして終了位置はどう見分ける?
67 :
デフォルトの名無しさん:2009/02/26(木) 13:58:15
CheckListBoxに表示されている複数のチェックボックスを
一発で全部チェック入れる方法を教えてくれ
CheckedListBoxでいいのか?
BeginUpdateしてからループまわせ
すいません。
初心者なんですが、VCからVBにソースを変換してるんですが
>public class AAAA : BBBB
の、「:BBBB」というのはVBだとどう書けばよろしいでしょうか?
Public Class AAAA
Inherits BBBB
ありがとうです。
public classとか書いてる時点でC#なのは確定的に明らか
というか意味がわかってればぐぐればすぐわかるってことは
意味がわかってないということで
そんなことで大丈夫なのか
まあいいんじゃないw
移植は結構鍛えられる
だってVCもVBもわかってないってことでしょ
どっちかわかってないとつらいよなw
77 :
72:2009/02/26(木) 17:58:23
integerじゃなくshortをつかわければならない
CPUやメモリっていうのはどれぐらい?
どれぐらい?って?
あれぐらい
81 :
デフォルトの名無しさん:2009/02/26(木) 21:35:23
質問させて下さい。
WindowsServer2008上でアプリ(定期的にデータを変換するソフト)を動かしています。
ユーザーがダブルクリックで実行した場合には正常に動作しています。
しかし、VBで作った自動起動ツールから、そのソフトを起動させると、
外観は正常なのですが、動作ログや出力ファイルになにも書き込まれません。
どういった原因が考えられるのでしょうか?
お願いしますです。
アクセス許可
カレントディレクトリ
84 :
デフォルトの名無しさん:2009/02/26(木) 22:46:21
複数のstring にPadRightして、長さをそろえてMSゴシックでLABELに
表示したいのだが、全角文字や半角文字が混じっていると、長さが
微妙にずれるのを解消する方法を教えてくれ
そういうのはPadRightじゃなくてTextAlign使おう
複数フォルダの複数ファイルの更新状況を一つのスレッドで監視したいと考えています。
[FileSystemWatcher]のインスタンス一つを利用して、
一度に複数フォルダの複数ファイルを監視(イベント取得)する事は出来るのでしょうか?
出来るとしたらどの様な方法がありますか?
また、出来ないとしたら、フォルダ毎のインスタンスを用意してそれぞれのイベントを個々に監視する。
、スレッドで起動するなどの方法になるのでしょうか?
>>84 ポイントサイズを3の倍数にするとかなんとかムニャムニャ
>>87 ひとつのFileSystemWatcherにつき一つのディレクトリだが、
そもそもなんで複数のFileSystemWatcherを作りたくないんだ?
>>86 Expressじゃ無理だったはず
.vbprojのPlatform要素書き換えればいけるかもしれんがどうだろうな
91 :
87:2009/02/27(金) 13:28:08
>>89 監視するフォルダはDBで管理し継続的に増えます。
認識違いをしているかもしれませんが、
FileSystemWatcherのWatcher_Changed()は、複数インスタンス化したFileSystemWatcherに対し
それぞれに対応するWatcher_Changed()が必要だと思っています。
従って、可変的に作成する事が出来ないのではと考えた結果です。
もしかして、複数のFileSystemWatcherで指定するフォルダのイベントは、
一つのWatcher_Changed()で全て取得出来るのでしょうか?
できるよ
AddHanderでイベントにイベントハンドラを追加できる
94 :
87:2009/02/27(金) 13:51:12
>>92 早速確認しました。出来ました。
AddHanderの意味を良く理解出来ていなかったみたいです。
ありがとうございます。
>>93 そのようです...orz
精進します。
>>90 やはり無理でしたか。
動作はしているので、このままで様子を見てみます。
ありがとうございます。
ちなみに64bit版WindowsでDLLのロードに失敗することになる
リッチテキストボックスのどこらへんがリッチ?
まあ君の脳がプアーなのは確かだ
99 :
デフォルトの名無しさん:2009/02/28(土) 02:26:05
Public Class Form1
End Class
で作ったForm1の中の関数が増えてきてコードが長くなってきたので、
その中のいくつかの関数を他のファイル(ClassとかModuleでいいのかな?)に
分離したいんですけれど、たとえばModuleに一部を移動してみたんですが、
そうするとForm1が宣言されていませんっていうようなエラーするんですが、
どうしたらいいでしょうか?良い方法を教えてください
>>99 1.Partial Class を使う。
2.Form1の参照が不要な部分だけを切り出す。
3.Form1の参照を外部のSub/Functionに渡す。
sub Hoge(tform as Form1)
tform.Text1.Text = "Hello"
end sub
>>99-100 こういうVB脳の人はプログラミングか足洗った方がいいよ。
>>100は最後の3.とか真面目にアドバイスのつもりで言ってるようだが、
こんなスパゲチに何も疑問感じないのならプログラマの適性がないんだわ。
貶すだけ貶して答えもしない、毎度毎度ご苦労なことで
2ちゃんで仕事の憂さ晴らしか
MVCだよMVC
自宅が会社です
>>101 1,2,3という選択肢を用意してるのに3の答えだけ叩くアホ。
まあたしかに3はありえないな
109 :
99:2009/02/28(土) 11:56:57
みさんさん、ひとつのクラスが1万行くらいのコードになった場合、
それをひとつのファイルのままで編集するのって、混乱しませんか?
私はどっちかというと、最大でも1000行以内くらいの複数のファイル
に分割するほうが何がどこにあるか把握しやすくて好きなんですが。
まずは
>>100の2にあるようにフォームに依存しないコードをクラスに切り出すのが
とっかかりとしては簡単
内部の処理とフォームへの入出力を分けて考えるんだ
つかなにをどうやっても1万行とかならねぇよ
フォームにコントロールが100個あって、それぞれイベントプロシージャが 100行あれば、
なんとか1万行か・・・
確かにありえないなw
>>109 >ひとつのクラスが1万行くらいのコードになった場合、
そうなったら自分の無能さを呪うしか。
114 :
99:2009/02/28(土) 12:46:42
>112
>フォームにコントロールが100個あって、
はい。そんな感じです。
100個もあったらさすがに100通りの処理が必要なわけじゃないだろ?
ちょっとは頭使えよ
116 :
99:2009/02/28(土) 13:04:08
では、一般的な質問として、皆さん、VB.NETでコード書いていて、合計行数が
1万行とか10万行とかなった場合、どのようにファイルを分割していますか?
お勧めの方法とかありますか?
だからクラスで分ける
ファイルを分けるだけじゃなくて構造的に分ける
118 :
99:2009/02/28(土) 13:09:32
ひとつのクラスが1万行とか10万行になるようなときにどうすればいいでしょうか?
それは一般にダメな設計と呼ぶ
1万行になったことはないね
コーディングする前(時)に切り分けしてる
でも、1万行のコードを把握できるって凄いね
121 :
99:2009/02/28(土) 13:33:17
仕様書にFormの上に100個のコントロールを配置するGUIのデザインが書かれていた場合、
どうしたらいいんでしょうか?
>>99 普通は少なくともFormのコードが数万行とかありえんと思うよ。
そりゃ根本的に考え方がおかしいんだよ。
Formに書いてよいのは
(1) オブジェクトからのイベントはハンドリングしてオブジェクトの情報を
表示に反映するコード
(2) ユーザーの入力をオブジェクトに通知するコード
これだけ。これ以外のコードがあるのは設計以前の問題がある。
こういう普通の書き方をしてもFormのコードが肥大することは確かにあるけど、
そういう場合は俺ならカスタムコントロールとかユーザーコントロールに
切り分けることを考える。
>>99 は「クラス=フォーム」と思ってる気がする。
>>121 仕様がおかしい、って設計した奴に文句を言う
>>123 ああなるほどそういうことか
VB使いにはよくあること
なぁ、変数に"swk"ってのよく見るんだけど、
これ何か意味あるの?
i とかj みたいな感じ?
見たことないな。書いた奴に聞けよ
もしかして:star wars kid
streamwrite a-zにきまってるだろシロウトめが
131 :
デフォルトの名無しさん:2009/02/28(土) 16:28:21
>123
違うのか?
134 :
デフォルトの名無しさん:2009/02/28(土) 19:06:40
exeファイルのアイコンがウィンドウの絵柄のアイコンなのですが
これを別のものに指定してビルドする方法を教えてください。
135 :
デフォルトの名無しさん:2009/02/28(土) 19:08:05
テキストボックスの背景の右上に画像を表示するにはどうしたら良いですか?
テキストボックスとリッチテキストボックスの両方で出来る方法を探しています。
プロパティの一覧ぐらい見てから聞けよ。
5分もあればあるか無いかぐらい目処が立つだろ
いや、無いので、オーナードローなりで技術的に可能にする方法を聞いているんですが・・・
テクニカルな回答をお願いします
backgroundimageではいけない理由があるってことかね
WPFだと楽に出来そうだ
テクニカルな回答って言い回しになんか笑ったw
>>139 TextBoxって背景画像指定できんかったっけ?
それはともかく、まあ、純粋に.NETの機能だけでは自前描画ができないのは
確かだ。OnPaint系のイベント来ないから。
でもWM_PAINT捕まえればもちろんできるよ。
たしかパパンVBとかいうとこにWM_PAINTで背景を描画するサンプルがあったと思うから
(ただしTextBoxじゃなくて、2003時代のComboBoxの枠を自前で描画するサンプルだと思ったが)
それあたり参考にしてみたら?
フォームにコントロール100個は居なくなったか・・・
ボタンが可変で増えたり減ったりするのは作ったことがあるが
基本を一つ作れば実現できるよな
後はパネルにフォームをNewして貼り付けていって
スクロールバーをONにすればAccessのサブフォームみたいなのも出来るし
いや彼のコードの書き方には恐らく問題ありだと思うが、
コントロール100コなんて分野によってはそう変でもなければ珍しくもないと思うが。
確かに100個ってのはあまり珍しくはないな
特に顧客情報入力画面なんかは
基本情報に受注情報に購買履歴とか言い出したら100個じゃ済まなくなるし
各項目に検査コード入れたら確かにコードは膨れそうだが
ないない。ユーザーコントロールとかにするし。
今作ってるのはデータベースのフィールド数が50あるから
コントロールは各項目にラベルとテキストボックスORコンボボックスに
グルーピング用のコンテナ入れたら余裕で100個以上あるよ
ただし、ハンドル使い回すのでコードなんて30もないと思う
>>147 >コードなんて30もないと思う
単位は何?行?
ユーザーコントロールとかそれこそやらないな。
まずは各要素を動的に生成して、それぞれ処理を共通化出来ないかを摸索するな。
ユーザーコントロールは使わないなあ
動的にコントロールを追加したり削除したりするときは
めんどくさいから必要なもんまとめとくのに使うことはあるけど
ただの入力フォームならポトペタの方が圧倒的に早いし
データソースウィンドウからドラッグすれば必要なコントロールが一発でそろうし
勝手にバインドしてくれるし
151 :
デフォルトの名無しさん:2009/03/01(日) 11:29:34
>100,122
どうもありがとうございました。
2.Form1の参照が不要な部分だけを切り出す。
という作戦を使って一つの長いファイルを複数のファイルに
分割できました。ありがとうございました。
DotNetBar for Windows Forms って使ってる人います?
デモ版入れて少し触ってみた範囲では大丈夫でしたが、
実際に使っている人の話が聞ければと...
おれは処理は全部モジュールに書いてフォーム側はそれを
呼び出すだけにしてるけどな
でないとあっち見てこっち見てが面倒なんで
でモジュール側はregionでまとめて
もう
>>151みたいな書き方とか標準モジュールとか使うVB脳の人はプログラマ辞めてw
気づいてないかもしれないけど周囲の迷惑だよ。
>122に書いたように最低限オーソドックスにOOPしてよ。
クラスじゃなくてモジュール?
しかし標準モジュールは便利でな・・・
たとえばログイン画面があるとする
VB厨はフォームに全部書く。
ログイン処理はログインボタンのイベントハンドラに書く。
OO厨はユーザーIDプロパティとパスワードプロパティとログインメソッドを持つ
ログインクラス書く。
ログインフォームはログインクラスをインスタンス化して
ユーザーIDとパスワードをセットしてログインメソッドを呼ぶ。
>>157 設計しだいだけどさ〜
ログインクラスにログインメソッドっておかしくね?
Commandパターンとかなら
160 :
デフォルトの名無しさん:2009/03/01(日) 22:29:29
>154
オマイのコードをここに貼って見せてくれよ
OO厨って何よ?
わかる日本語で書いてくれ
>>154 おまえC#の初心者用でも初心者煽ってる奴だろ
164 :
デフォルトの名無しさん:2009/03/02(月) 15:25:01
.NET 全般、標準入出力に関する質問になるのですがよろしくお願いします。
ネットで調べて、「System.Diagnostics.Process」を使用し、
コンソールプロセスを起動し、標準出力用スレッド、標準入力スレッド
を立てて、通常のテキストのやり取りをするPGは作成できました。
そこで、コンソールにF1やF2などのファンクションキー押下を標準入力に
渡したいのですが方法が分かりません
p.StandardInput.WriteLine(Chr(Keys.F1)) ' F1を送る
などとやっても駄目でした。
ご回答、アドバイス、よろしくお願いいたします。
>>164 F1の「キーコード」はそれで送れると思うが。
だからってF1押したことにはならんけどな。
もしそういう目的なら、SendKeys.Send 使え。
>>165 >F1の「キーコード」はそれで送れると思うが。
>だからってF1押したことにはならんけどな。
そうです、そうなんです。
p.StandardInput.WriteLine
で
SendKeys.Send
みたいなことができないでしょうか?
できない
ある文字列をWindowsファイル名に使っていい文字だけの文字列にする関数やプログラムは?
んなもん、ヘルプ見て使っちゃいけない文字リスト見れば一発だろ。
ランダムな値を返さない
dim i,iR as integer
For i = 1 To 10000
Dim Ra As New System.Random
iR = Ra.Next(1, 4)
S &= iR & " "
Next
リッチテキスト=S
Randomクラスをループの中でインスタンス化するな
Randomのシードは時刻に依存してるのであまり短い間隔で新しく作るとシードが同じになる
何より毎回作ると遅い
ループの外で作って使い回せ
>>168 path.IndexOfAny(IO.Path.GetInvalidPathChars())
または
filename.IndexOfAny(IO.Path.GetInvalidFileNameChars())
でチェックし、0以上の値が返ってきたら、その文字を変更。
printlinetextbox1test.txtに保存するにはどうしたらいいでしょうか?
>>167 > できない
DOSプロンプトでもF1〜F12、Ctrl、Shiftキーは押すはずですから、
できるとは思うんですが。
OpenVPNクライアントのコンソールアプリなんですけども、
F4キーを押せば終了するんですけど、SendKeysは受け付けないし・・・
どうなっているんでしょうか?
テキストボックスの文字列をリストボックスに表示させる方法ってある?
すごくアバウトな質問だな
改行コード事に取ってきて
リストボックスにアイテム追加してったら?
>>176 >SendKeysは受け付けないし・・・
あれは、そのときアクティブなウィンドウにキー入力メッセージを送るんだが
コンソールはアクティブになってるか?
Windowsファイル名でだめだった?を?にする1バイト文字→2バイト化関数は?
日本語でおk
>>179 >
>>176 > >SendKeysは受け付けないし・・・
> あれは、そのときアクティブなウィンドウにキー入力メッセージを送るんだが
> コンソールはアクティブになってるか?
はい、AppActivate()でアクティブになっているはずです。
「なっているはず」ってどうなのよ?
184 :
デフォルトの名無しさん:2009/03/03(火) 18:34:42
プログラムをタスクバーに表示しないようにするにはどうしたらいいですか?
あと右下の時刻が表示されてる辺りの欄にプログラムのショートカット?を表示させたいのですが
それについても教えて下さい
NotifyIcon
186 :
デフォルトの名無しさん:2009/03/03(火) 20:09:32
答えは出てるが時計のとか言ってる時点で…
では何といえばいいのでしょうか
189 :
デフォルトの名無しさん:2009/03/03(火) 20:55:41
タスクトレイ
>>190 言うと思った
そこの名称は通知領域だ
嘘だと思うならWindowsのスタートメニューにあるヘルプとサポートで
通知領域を検索してごらん
複数の呼称が与えられてる可能性を思いつかない単細胞さん?
ついでに言えば、どっちかといえばタスクトレイの方が一般的だと思うけどね。
「与えられている」と思うなら調べてみればいいよ
グロッサリ的には正しくない、ってわけね。
そこは認めざるを得ない事実みたいね。
でもMSのサイトで使われているほど普及した用語を「間違い」と否定するのも
どうかと思うけどな。
英語で"tasktray"を検索すると"notification area"の約半分のヒット数が出る。
どっちでもいいよ・・・
196 :
デフォルトの名無しさん:2009/03/03(火) 22:18:49
>>196 ウザい。エラーの内容も書かずに答えられるエスパーはそうそういない。
ま、認証の方法がまずいんだろうけど。
しつけえぇぇ
エラーコードも書かない自分のコードもさらさないってエスパーじゃねっての
するとお前は「分からないならレスしないで下さい」と言うっ!w
分からないならレスしないで下さい
ごめんw
分かる方だけお願いします
ホームページをダウンロードして保存するプログラムを作りたいと思っています。
今会社のPCでも使用できるようなものにしたいんですが、
会社のPCでは外部にアクセスする際、社員番号とパスワードの入力が求められてしまいます。
そこで↓のページを参考にして認証の設定を考慮したPGを組んでみたんですが
エラーになってアクセスできませんでした。考えられる原因と対策を教えてください。(漠然とした質問ですいません。)
http://dobon.net/vb/dotnet/internet/usecredentials.html これ以上詳しくは書けません
>>201 原因:コードが悪い
対処:コードを直す
はい、答えたから。二度と来んなハゲ
203 :
デフォルトの名無しさん:2009/03/04(水) 01:12:43
茶々入れるやつは書き込むなよ
一番迷惑
204 :
デフォルトの名無しさん:2009/03/04(水) 01:13:45
>202
悩み事があるなら俺が聞いてやるぞ
なんで
>>202みたいな奴が質問スレに常駐してるのか理解に苦しむ
どっちもどっち
207 :
デフォルトの名無しさん:2009/03/04(水) 09:38:53
>201
そのページは認証が必要なページの見方
君のやりたい事は外部にでる時に認証を通すやり方
会社の外部アクセス方法に何を使ってるかが解らんと解答は無理だわ(笑)
メッセージボックスの音消す方法教えてください
210 :
デフォルトの名無しさん:2009/03/04(水) 16:23:03
複数のClassで共通に使いたい構造体はどこで宣言したらいいですか?
それらのクラスの外
ほんとうに構造体でいいの?
.NETでは特に理由がなければクラスを使った方が効率がいいよ
213 :
デフォルトの名無しさん:2009/03/04(水) 16:55:03
>211,212
ありがとうございます。
VB.NETでクラス使うプログラミング初めてなのです。
訳分からないまま、クラスで構造体宣言したら、よそでも使えました。
・・・・が・・・がんばれ
とりあえずStructureの存在は忘れていいよ
正しい使い方がわかってないと確実にクラスより非効率で制限が多いだけで無意味だから
またoo厨ですか?w
ooは関係ないだろw
同じことができるなら特に理由がなければクラスにするべき
両者の違いを良く理解した上でパフォーマンス上の理由や値としての意味上の意図があれば別だ
218 :
デフォルトの名無しさん:2009/03/04(水) 18:57:34
初歩的な質問ですいません。
教えて下さい。
VB.NET で、タブページ上にユーザコントロールを配置
するには、どのように操作すればいいでしょうか?
FormのVisibleをファウルスにすればクラスになるだろうがいつもそうしてる
コードからやろうとしているのかそれともツールボックスからやろうとしているのか・・・
ツールボックスならD&Dだしコードなら
tab.pages(0).controls.add(ユーザーコントロールのインスタンス)
とかじゃね?
221 :
デフォルトの名無しさん:2009/03/04(水) 19:03:51
すいません。
ツールボックスから置きたいのですが、どこかにユーザコントロールの
一覧か何かが出てくるのでしょうか?
ユーザコントロール含んでるプロジェクトを一度ビルドすればツールボックスに出てくるっしょ
別プロジェクトのならもちろんプロジェクト参照が必要だが
223 :
デフォルトの名無しさん:2009/03/04(水) 19:17:00
>>222 ありがとうございます。
まだビルドしていませんでした。
試してみます。
>>215>>217 よくある意見だがそれこそ勘違いだと思うけどね。
構造体の方がふさわしい場面はたぶん君が思ってるよりずっと多い。
例えばFormのプロパティ一覧見ただけでもわかると思うけど。
あと参照の意味がわかってない初心者なら構造体使っといた方が安全だったりする。
Formのプロパティ一覧を目で数えるのは面倒なのでリフレクションでパブリックなのを数えてみた。
プリミティブと列挙型を除くと24個。
型別で
8 System.Drawing.Size
5 System.Drawing.Rectangle
4 System.Drawing.Point
3 System.Drawing.Color
2 System.Windows.Forms.Padding
2 System.Drawing.SizeF
ずっと多いとはとてもいえないって思うな。
どうでもいいよ。好きな方使えばいいんだし。
いや全然違うものだからそういう問題じゃないよ
どっち使うかは場合によるけど,かなり重要な違いだよ
.NETではどちらかというとクラスより構造体のほうが 注意して,特別な意図があって 使うもの
だから、そういう違いが重要な場面ではきちんと違いを把握して使えばいいだろ。
>>210 が重要な場面とは到底思えないんだが。
210の場合に限定した話をする人と、
一派論を述べる人がかみ合わないのは当然
質問と回答で成り立ってるスレなんだから、一般論だけ、ってのは
微妙にスレ違いだな。
>>225 日本語NGな人?
「たぶん君が思ってるより」、「ずっと多い」と書いたはずだが。。
「たぶん」って付けとけば、何を言ったって許される、ってもんでもない。
>>225にあるようなどう見たって「値」を表すような型を自分で作ることがどれだけあるか?
ということだな
>>225 あと「場面は」って書いてあるのも読めない人なんでしょうねw
あ、sizeとかrectangleとかpoint一切使わない人でしたか
荒らすなよ・・・
236 :
デフォルトの名無しさん:2009/03/05(木) 08:36:48
OLEDBの項目名とかフィールド名に全角文字
使えますか?
>>236 そうやって聞いてる間にやってみてればとっくに結果出てるだろうに
まぁ
>>224の言わんとしていることもわかる気はする
うちの新人君
classA a = new classA();
classA b = a;
b.hoge = hogegege;
あれ〜?aのhogeがかわっちゃってる・・・・とかねorz
239 :
デフォルトの名無しさん:2009/03/05(木) 14:19:41
若干VB.NETの質問から外れるのですが、
通常Windowsで使うアプリケーションを作成する場合
VBやVisual Cといったソフトを使いますが、こういったGUI用のソフトを使わずに
普通のC言語やBasic言語でも同じようなGUIのプログラムを作ることは
可能なのでしょうか?
もし可能だとしてやはりかなり手間がかかるのでしょうか?
>>239 全部自前でやるからめんどくせぇwwwww
ビルドしたexeファイルにはWindowsなどに設定した個人的な情報はどの程度入っているでしょうか?
OSのユーザー名(アカウント)とかは入っているでしょうか?
前に中開いたらビルド場所が書いてあった気がする
.NETは知らないけど、むかしのコンパイラは情報が埋め込まれていてウイルスを作った奴を特定できたとか
ていうか、それが当たり前の世の中になってほしい
.NETのEXEをバイナリで覗いたことはないが
中は確か中間言語だったっけ?
コメントされた上司の悪口とか抽出できたらおもしろそうだな
メモ帳で開いてみたら?
>>243-246 レスありがとう
バイナリエディタで開いたらビルドしたパス名が入っていました。
デスクトップにあるフォルダとかだとユーザー名が入ってしまいそうですね。
>>247 My Project|コンパイル|詳細コンパイル オプション|デバッグ情報を生成
のところをnoneにしたらパス消えるよ
ツールバーに音をだしたり動画を再生するコントロールがねー
>>249 AxWindowsMediaPlayer
.NETのクラスで用意してくれないとこまtっちんぐ
つWPF
253 :
デフォルトの名無しさん:2009/03/08(日) 00:12:01
400行くらいで結構機能満載な画像ビューワー出来ました
ほとんど.net任せで作れますね
ソース付きでうp
iRが30を超えていてもメッセージがでちゃう
iR = cRa.Next(1, 39957 + 1)
If 1 <= iR <= 30 Then
MsgBox(iR)
End If
256 :
デフォルトの名無しさん:2009/03/08(日) 01:04:57 BE:2034010087-2BP(182)
>If 1 <= iR <= 30 Then
こんな書き方をするのが悪い。基本解説サイトを通読するところからやり直し
>>256 ファビョってるのはお前も一緒じゃねえかw
本当コピペ君って馬鹿だな、まで読んだ。
>>257 わろたw 懐かしいこの発想〜
この書き方のがわかりやすいもんねw
>If 1 <= iR <= 30 Then
これはどういう評価してんの?
コンパイル通るってことは仕様なんでしょ?
>>260 おもしろくなって俺もやってみた
確かにその式31超えてもTrueで評価されてるな
てかそんな書き方出来るって初めて知ったわw
適当なこと言うけど、Option Strict Offだと
昔のBASICの流れでTrueは-1、 Falseは0とかに暗黙的に変換される仕様に
なってるとかじゃないの
見えない括弧があるってことかw
31を越えるって事は、 1 <= iR が <= 30 かどうかを評価してるのかも。
1 <= iR を True(-1)と評価した後に
True(-1) <= 30
を評価してるんだろうね
If 1 < 0 < -1 Then
これだとFalseになるから多分
>>264で正解なんだろうな
つうか何のためにこんな仕様になってるんだ?
VBAでもこんな書き方使った記憶がないんだが
266 :
NAS6 ◆kl1JWE6W72 :2009/03/08(日) 07:36:07
OpenFileDialogをCancelしたときはExitSubしといた方が良いとおも
268 :
NAS6 ◆kl1JWE6W72 :2009/03/08(日) 08:30:38
DataViewにはRawのフィルターはあるけど
とくていの列だけテーブルから持ってくるメンバが用意されてないようだが
>>265 だから、恐らく大昔のMS BASIC時代からの流れ。
この仕様を使ってif文を使わずに計算の結果を変えたり条件分岐につかったり
したんじゃなかったかな。
もっとも、Trueは-1(0の1の補数)じゃなくて1だったような気もしたが。
>>270 >もっとも、Trueは-1(0の1の補数)じゃなくて1だったような気もしたが。
BASICは昔から-1、1はC言語でしょ
VB.NETではTrueを1に変換することも出来るけどね(Convert.ToIntとか)
それと、<,>,<=,>=などは+,-,*,/と同じ演算子だから、すべて演算した結果が
真か偽かで条件分岐してるだけなんだけど
>>271 おいおいcにはtrueって概念はないよw
これ有名な話。cで決まってるのは偽が0に評価されるってことだけ。
Cのif文は、要するにJZ(Jump if Zero)だからね。
それと確かに昔のMS系のBASICの真値は1だった記憶がある。
まあどうでもいいか
vb.netもbrfalseだよ
274 :
デフォルトの名無しさん:2009/03/10(火) 01:58:14
CreateObjectで起動したEXCELプロセスが、VBアプリ終了しても終わらないんですが、なぜかな?
Marshal.ReleaseComObject で検索をクリック!
>>272 trueは概念ではなく値。
そして現在のCには_Boolという型が存在する。
まったくcase-insensitiveな奴にはロクな奴がいないな。
A=true
Cint(A)は?
B=folse
Cint(B)は?
>>278 >「問題」と認識してるらしいよ
何処をどう読んだらそうなるわけ?
>ここでは、組み込みデータ型の演算で起きる一般的な問題についていくつか説明します。
これじゃね?
で、解答用紙はどこに提出すればいいのでしょう
問題を起こす主体は「間抜け」、ということで宜しいか?
自作の2つのアプリがあって、
1つの方でもう一方を起動すると
実行結果が返ってくるようにしたいのですが
どんな方法で可能でしょうか?
バッチ処理的なもんならProcess使って標準出力でいいんじゃね
標準入出力を使う
別プロセスにする必要がないなら
もう一方のアプリをdllと同じように参照してその中のメソッドを直接呼ぶこともできる
いちばんスマートなのは共通部分をdllにすること
レスありがとうございます。
DLLについて調べてみることにします。
>もう一方のアプリをdllと同じように参照してその中のメソッドを直接呼ぶこともできる
これを試してみたのですが、
dllかcomではないとダメというエラーが出て参照設定できなかったのですが、
exeファイルでも参照設定する方法がありますか?
.NETのexeでないとだめ
.NETのexeじゃないんだったら普通にプロセス起動して標準入出力通すしかない
VB.NET2003というものですがこれではダメでしょうか?
覚えてないけどVS2003ではexeは参照できないのかも
少なくとも2008ではできるし,VSでサポートされてなくても実際は可能なんだけどな
2002、2003 の頃はダメだった希ガス
292 :
デフォルトの名無しさん:2009/03/10(火) 21:00:32
レスありがとうございます。
そうですか。
それではプロセス起動して標準入出力、という方法を調べてみることにします。
たかがメソッド1つ2つ呼ぶだけだろうから
リフレクションで動的にロードしてリフレクション通してメソッド呼べばいいんでない
294 :
デフォルトの名無しさん:2009/03/10(火) 21:19:03
先生方、質問です。
「
http://xxx.xx.xx/xxx.asp?id=123456 」
というリンクがあって、ここをクリックすると
123456.pdf というファイルのダウンロードが始まるページがあります。
VB2005を使って、
この 123456.pdf というファイルを自動でダウンロードさせたいのですが、
どうすればよいのでしょうか。
My.Computer.Network.DownloadFile() メソッドを使って、
直接、上記 URL をダウンロードしようとすると、
テキスト1行だけのファイルがダウンロードされるだけでした。
123456 の部分は、223456 であったり、様々であるため、
コード内で動的に指定して、複数のファイルを自動でダウンロードさせる
仕組みにしたいです。
よろしくご教授下さい。
>>294 WireShark とか、ieHttpHeader とか使って、やりとりを調べる。
そのやりとりと一緒のやり方を HttpWebRequest で作る。
296 :
189:2009/03/10(火) 22:26:38
あぼーんがいると思ったら、キチガイさんが帰ってきましたか・・・
298 :
デフォルトの名無しさん:2009/03/11(水) 01:21:10
先生方、質問です。
「
http://xxx.xx.xx/xxx.asp?id=123456 」
というリンクがあって、ここをクリックすると
123456.pdf というファイルのダウンロードが始まるページがあります。
VB2005を使って、
この 123456.pdf というファイルを自動でダウンロードさせたいのですが、
どうすればよいのでしょうか。
My.Computer.Network.DownloadFile() メソッドを使って、
直接、上記 URL をダウンロードしようとすると、
テキスト1行だけのファイルがダウンロードされるだけでした。
123456 の部分は、223456 であったり、様々であるため、
コード内で動的に指定して、複数のファイルを自動でダウンロードさせる
仕組みにしたいです。
よろしくご教授下さい。
※ただし、
「WireShark とか、ieHttpHeader とか使って、やりとりを調べる。
そのやりとりと一緒のやり方を HttpWebRequest で作る。」
以外で。なめんな。
指定した時間に休止状態かスタンバイの状態から復帰させる方法を教えてください。
302 :
デフォルトの名無しさん:2009/03/11(水) 01:34:44
手取り足取り教えてもらえないと、納得できないんでしょ。
猫は過剰な干渉を嫌う
306 :
デフォルトの名無しさん:2009/03/11(水) 08:49:38
Achilles使いこそ真
>>196 >考えられる原因と対策を教えてください。
原因:あなたが無能だからです。
対策:あなたが有能になることです。無理かもしれませんがw
>>307 質問スレまで来てつまらないレスすんなよ
ウサ晴らしならチラシの裏にでも書いておけ
309 :
デフォルトの名無しさん:2009/03/11(水) 22:32:07
液晶画面の電源を切る方法を教えてぴょん
LDAP なら、NTLM か Kerberos で認証通せばいいんじゃね?
>>309 CIM_Display.SetPowerState() でいけそうじゃない?
御知恵をお貸しください。
クリック等のイベントを、クリックされたコントロールの裏に透過するような処理を書きたいんですが、何か方法はないでしょうか?
ディスプレイにメモ的な物を表示させておきたいのですが、ポインタが乗ったり、クリックしたりした時に、そのメモにイベントが渡ってしまって、思惑とちょっと違う動きになってしまって困っています。
ポインタが乗ったタイミングで透過100%にすれば誤動作はしないのですが、乗るたびにメモがチラチラと主張して目に優しくないです。
ん?
あー、そういうこと・・・
ん?
って感じ
ポインタを乗せてからちょっと経ってから透過させるとか、乗ってる間徐々に透過されていくとかにすればいいんじゃね?
なんでみんなテキストを扱う時も
textwriterじゃなくstreamwriter使う?
日本語でおk
つかみんなって誰を指してんだよ
>>315 Public MustInherit Class TextWriter
で、
Public Class StreamWriter
Inherits TextWriter
なわけだが。
318 :
デフォルトの名無しさん:2009/03/12(木) 15:17:17
帳票とかグラフとか印刷とか、皆さんはどうしていますか?
Excelを利用している
DrawとかDocumentとかで頑張っている
その他、補助製品を利用している。
Crystal Reports
ActiveReports
VS-VIEW
Reports.NET
VB-Repor
などなど・・・
現在Excelを利用して書いているんですが、Excelが無いPCでの印刷や
印刷動作が重いなどを回避したいと思っています。
何か簡単で作成できて良い方法がある方は教えてください。
(購入も含めて)
簡単な書式だったら、PrintDocument 使って自力で。
ちょっと入り組んでたり、バーコード/二次元コードを含むときは
JIVE REPORT。
>>318 通常はアクティブレポートの付属でやってる
レーダーとか足りないものは自作して使いまわしてる
流石にコンポーネント2つも買ってくれなかったのさ 貧乏だから・・・うちの会社
321 :
デフォルトの名無しさん:2009/03/12(木) 21:35:38
ちんぽすげーかいい
「3661」という数字を「1時間1分1秒」という文字列にしたいのですが良い方法を教えて
小学生か
324 :
デフォルトの名無しさん:2009/03/12(木) 22:39:24
>>322 dim t as integer
t=3661
t/3600 & "時間" & (t mod 3600) /60 & "分" & (t mod 3600) mod 60 & "秒"
325 :
322:2009/03/12(木) 22:42:09
すごいすっきりしてていいね
ありがとう
326 :
デフォルトの名無しさん:2009/03/12(木) 22:48:52
このままじゃできないけどね
Button1_Click
Timer1.Enabled=True
Button2_Click
タイマーをFalseにするまでButton2のイベントは起こらないのかしら
>>325 >>324みたいなコードはむしろ「すっきりしてない」コードって言うんだよw
君みたいなセンスの人ってどこにでもいて困るんだが、勘違い甚だしいんだよ。
頼むから、「コードの行数」を最小化しようとするのではなく、
「コードを理解するのに必要な時間」を最小化することを心がけてくれ。
例えば、
dim totalTimeBySec as Interger = 3661
dim hour as Integer = totalTimeBySec \ 3600
dim minute as Integer = (totalTimeBySec mod 3600) \ 60
dim sec as Integer = (totalTimeBySec mod 60)
dim result as String = String.Format("{0}時間{1}分{2}秒", hour, minute, sec}
こんなふうにぱっと見て何やってるか分かるように書くんだよ。
329 :
デフォルトの名無しさん:2009/03/13(金) 00:10:08
コメントかけばいいじゃね?
>>328 感動した。
コメントもさ、自分で書いたくせに時間が経って読み返すと
意味不明なことがあるんだよね…
>>329 それもVB脳的勘違いだな。
コンパイラはコメントを解釈してくれないよ?
332 :
322:2009/03/13(金) 00:21:28
これもいい!!
すごいありがとう
中国人かお前は
普通にリア小だろ。
335 :
デフォルトの名無しさん:2009/03/13(金) 08:05:17
>>331
コンパイラに理解させたいだけなら最初の方でもよくない?
そもそもあの処理をみてわかりにくいと感じるってどんだけ初心者だよ
>>327を解説するひとこそが貴重なプログラマなんだが
だって意味不明なんだもん
>>327 3661秒を分かりやすく書くのならTimeSpan.FromSecondsがベストだよ
>>328 あの程度で「すっきりしてない」とか、どんだけ阿呆なの?
で、自分で考えた結果がその糞汚いコード?
>>337 ふつー、TimeSpan 使うわな。FromSeconds か コンストラクタかは好みで。
>>327 >タイマーをFalseにするまでButton2のイベントは起こらないのかしら
マジレスするとんなわきゃねぇ
つうか何が言いたいんだこいつ?
わかりやすさ、なんて人によって違うしね。
既にあるものをわざわざ自分で作るのは迷惑行為
Dim m as Integer = b.MaxValue
とした場合に出る
"インスタンスを経由する共有メンバへのアクセスです。正規の式は評価されません。"という警告を回避したいです。
bはクラス変数で今の所Byte型にしているのですが、今後UShortやUIntegerなどに変えるかも知れないので。
= 255 や = [Byte].MaxValue とはしたくありません
意味的に完全におかしいんだからしょうがない
たまたま型が違っても名前が一緒なだけ
MaxValueとかMinValueとかParseとかだけ集めたクラスを別に作っとけばいい
あーでもそこだけのためにクラス作るのもおかしいな
諦めて適当にConstなローカル変数に代入しといたら
クラス変数…?
つかそれなら、**.MaxValue を戻す、Shared でないプロパティを追加すれば
いいじゃないの。
b.GetType.GetField("MaxValue").GetValue(b) で型に応じた値が取得できそうなので、この方向でもうちょっと調べてみようと思います。
>343-345
ありがとうございました
ああやっと意味が解った
>>346のやり方だと一旦bの型にダウンキャストしてからaの型にキャストしないといけないので無意味
>>347 意味がわからん。リフレクションを使う、って文脈でなぜダウンキャスト?
349 :
367:2009/03/13(金) 17:17:09
b.GetType.GetField("MaxValue").GetValue(b)の戻り値がObject型だから
aの型に変換する前にボックス化の解除が必要なんだけど,
CType使えば自動でやってくれるな。すまん。
厳密にはいったんDirectCastでbの型にするのが正しい。
で、明示的に変換しないと、丸まったり桁落ちしたりするの?
するなら問題だけど、そうでなければどうでもいい。VB だし。
いまさらだけど、
>>342みたいなことがしたい場面というのが思いつかない。
想像するにマジックナンバーを忌避する様な感覚で「bが特定の型であることを
前提としたコード」を回避してるとかなんだろうけど、だとしたら
プログラミングに対する考え方が根本的に間違ってるとしか思えんな。
俺も思いつかないが
>342は拡張メソッドで解決できそうだな
拡張メソッド使った場合はポリモーフィックな動作が出来ないね。
どうしてもってことなら、抽象的な「数値クラス」を自分で作るとかした方が
いいのかも。
めんどくさいだけかもしれんが。
354 :
デフォルトの名無しさん:2009/03/13(金) 20:17:27
ぶっちゃけそこまで動的な変更を意識しなけりゃいけないようなプログラムってあるの?
Module Hoge
<Extension>Public Shared Function MaxValue(Of T)(ByVal type As T) As T
Return Cache(Of T).MaxValue
End Function
Private Class Cache(Of T)
Public Shared ReadOnly MaxValue As T
Shared Sub New()
MaxValue = DirectCast(GetType(T).GetField("MaxValue").GetValue(Nothing), T)
End Sub
End Class
End Class
//Dim a As Integer = b.MaxValue()
意味があるかは置いといてこんな感じかいね
毎回リフレクションするよりは遥かに速いはず
>>355 なんか違うような気もするが、ジェネリックの面白い使い方ではあるね。
>いまさらだけど、
>>342みたいなことがしたい場面というのが思いつかない。
場面と言うか、作ってる途中で仕様変更をした時、
修正しなきゃならない箇所を減らしておきたかっただけのことなんです。
例えば = [Byte].MaxValue としていた場合、
後でもしもbの型をByteからUShortに変えた時は = [Ushort].MaxValue に変更する必要が出てくるんですが、
そこの変更を忘れてバグを出すのも嫌だなと。
仕様を固めないままコード打ってること自体間違ってると言われればその通りなんですが
>>357 ByteをやめてやっぱりUShortに変えよう。
ってなるのはどういう時なの?
最初からIntegerとか大き目の型を使っておけばいいんじゃないの?
メモリを16Mから32Mに増設したときとかなら
気が大きくなってUShortにしようかなって思うかもしれん
>358
Byte,SByte,Short,UShortの存在価値ってないよな。
ほしゅ
362 :
298:2009/03/14(土) 11:43:43
お蔭様でうまくいきました。
http 解析しなくても、また HttpWebRequest を使わなくても
解決できました。
ヒント:WebRequest
有難うございました。
Halo Warld
を表示するプログラム教えて
Console.WriteLine("Halo Warld")
>>362 http解析のくだりは置いとくとして、
WebRequest.Createで
http:なにがしを指定したら、HttpWebRequestのインスタンスが帰ってくるのは理解してるのかね
そもそもWebRequestは MustInherit だぞ
Apache+Monoに挑戦したがよくわからなかったので他に無料の.NET用Webサーバない?
IIS
WindowsXPなどのクライアントOSで動く無料の公開ライセンスをそなえたWebサーバ
IISは2人以上に公開する時はWindowsServerの料金を払わないとダメ
クライアントのWindowsに10接続以上は不可だからOSごと変えなきゃね
MS 製品のライセンスについては、あんまり追求しない方がいいよ。
どうして?
白黒はっきりさせようと MS に問い合わせると、とんでもない答えが返ってくるから。
グレーはグレーのままにしておいた方がいい、ってこと。
ライセンス(CAL)をきっちり買えるんなら別だけど。
グレーじゃないのにグレーと言うのは何故?
構造体の1次配列のメンバを指定して並べ替えたいのですが
メンバごと型を指定して並べ替える良い方法があったら教えて頂きたいです。
>>375 DataTableに置き換えてソートかけるんじゃだめ?
なんというVBらしい発想w
IComparer(Of T)を実装したクラスを作ってそのインスタンスをArray.Sortに渡すのが正解
IComparerで調べてみることにします。ありがとうございました。
379 :
298:2009/03/15(日) 18:42:54
>>365 もう解決したからいいんだけど、
WebRequest は MustInherit ではなくそのまま使えたよ。VS2005。
あと、WebResponse が帰ってくるのは、.Create() ではなく
.Getなんちゃら() メソッドです。
やってみると単純だった。
ただ、今回の肝は、ログインページで認証を済ませてから
ダウンロードしなきゃいけない仕組みのため、
WebRequestでMethodをPostに指定し、
取得したクッキーを使いまわす
という操作が必要でした。
これも、これでいいのかというくらいすんなり行ってしまって
自分で驚いたほど。
いやー便利だよVS
そもそも割り算とはなんなんでしょうか
381 :
365:2009/03/15(日) 21:31:14
俺は295じゃないが
MSDNのサイトで確認する限り、WebRequestは1.1から3.5までですべてMustInheritなんだが
んで.GetなんちゃらメソッドはSharedじゃないだろう?ならばそのメソッドを呼ぶための
インスタンスはどうしたんだと。MSDNには、
>新しい WebRequest インスタンスを初期化するには、Create メソッドを使用します。WebRequest コンストラクタは使用しないでください。
って書いてあるんだがな
つまりおまえが使った.Getなんちゃらメソッドは、実際にはHttpWebRequestクラスの
メソッドが使われてるはずだろうと言ってるんだ
あと認証の話だが、なにもわからない状態からそれを確認するためには、
>>295のいう
>WireShark とか、ieHttpHeader とか使って、やりとりを調べる。
は間違っていない。というより事前情報がなにもなければほとんど唯一の手段だ
そして認証してクッキーを使いまわすってのは、まさに
>>そのやりとりと一緒のやり方を HttpWebRequest で作る。
ということをやってるんだが。HttpWebRequestかWebRequestかはしらんがな
この現状をふまえて、おまえが
>>298でいった、なめんな って言葉はどういうことだ?
回答してくれた人をなめてるのはお前だろう
素直にごめんなさいしないとな
できないならチョン以下
>>381 落ち着け
自分の理解や常識を超えたり勘違いしているやつはああいう風に言うやつが必ずいるんだ
"Abc"="ABC"
をTrueにするには
UCase("Abc")=UCase("ABC")
と
LCase("Abc")=LCase("ABC")
以外になにかある?
String.EqualsのStringComparison使ったオーバーライドとか
でもqとQが等しいと判断するかどうかはどうするのか
エスツェットとかはどう判断するのかなー
半角全角を同一視する場合は、StrConvで変換するのが無難かしら
Option Compare Text
を指定する
ああ、すまん、左辺も同じにしちまった。
"Abc" like "ABC"
("Abc").toupper="ABC"
VB2005.netで、WEBサイトからhtmlのデータを取り込むという処理の作り込みをしていますが、
この作り込みが非常に面倒で、WebBrowserクラスのDocumentTextプロパティから、
htmlのテキストを取り込んで、そこから特定の文字列を探し出して、
さらに不要な文字列を置き換えて。。。という非常に面倒なことを延々とやってる状況です。
WEBサービスやRSSなども提供されていないため、htmlから地道に文字列を抽出するしか
ないのですが、何かいいやり方やツールみたいなものって提供されてないでしょうか?
>>394 DOM でやるか、正規表現ってとこじゃない?
396 :
デフォルトの名無しさん:2009/03/17(火) 00:26:08
List(Of String)を↓のC#みたいに初期化したいんだけど、VB.NETでのやり方が分かりません。教えて偉い人。
List<string> strList = new List<string>() { "あ", "い", "う" };
C#で書いてコンパイルしてVB.NETに逆コンパイルすればわかるんじゃね?
SharpDevelop使えば一発で変換できるんだが。
array.sortで降順にするにはどうすれば
比較結果逆にしたComparison(Of T)を渡す
具体的な何行ものコードをみないとわけわかめうどん
そういや今朝はわかめうどん食った
IComparer使うのと本質的には同じなんだから
(メソッド1つで済ますかインターフェイスの実装が必要かだけの差)
2003から2008になったからってわけではないけどな
デリゲート自体は最初からあったんだし
VB9で追加されたのはラムダ式であって
変換は関係ないな
デリゲートを渡すってのは
「このデリゲートに必要なメソッド格納してるんで必要なときにデリゲート越しに呼んでね」
ってこと
ソートはループと比較で成り立ってるわけで、
Array.Sortのなかでもループしつつ何度もデリゲート越しに比較関数呼び出してる
構造体になっている配列をメンバと並べ方を指定して並べ替えるサンプルってどこかにないですかね
Structure MySt
Public hoge As String
Public moge As Integer
Public hage As Object
End Structure
を
Dim s() as MySt
で並べ替えって事か
そうです。
例えばですが
メンバに
ID
名前
年齢
日付
がある構造体の配列に
IDや年齢のメンバの場合は番号順で日付は日付順などという感じでなのですが
>>389のサイトにListViewの並べ替えで似たものがあったのですが
これを普通の配列で使えるように書き換えができないものかやっているのですが難しいです。
だから
>>403まんまじゃん? ちょっと比較関数の中身が変わるだけで
なにが分からないのか
>>408 その手の物は、DataTableとDataViewを使うと
DBライクに扱えて楽だと俺は思う
403=407
だが
自分で実装してみようと頑張ったが
Dim MyList As New List(Of MySt)
で宣言したところまでは出来たが
いざMyListに値をAddしようとすると訳分からなくなった
タダの配列
s(0).hoge
s(0).moge
をSortしようとしてもVBに怒られた
俺もお手上げ
DataTable使いたくなるw
ソート以前にリストの使い方からとは想定外でした
413 :
411:2009/03/17(火) 17:07:08
何とか動いた
この方法が正しいのかは分からんが
s()の配列をAddRangeで代入して
Structure要素の数だけhikakuを追加してやればいけた
>>411 MyListが何でいきなりsになってんだか。
>>404がすでに説明しているとおり、Sortメソッドでデリゲート関数を呼び出して、戻り値でソートしてる。
Sortメソッドがクイックソートアルゴリズムを用いて
>>403のレスでいけばhikaku関数に比較データを渡してその戻り値で判定してソートを実行している。
ただこの場合だと、ソート対象メンバがひとつだけしかできない。
ソート対象を場面によって変えたい場合は、
Private Class HogeComparer
Implements IComparer(Of MySt)
Public Function Compare(ByVal x As MySt, ByVal y As MySt) As Integer Implements IComparer(Of MySt).Compare
Return x.hoge.Length - y.hoge.Length
End Function
End Class
Private Class MogeComparer
Implements IComparer(Of MySt)
Public Function Compare(ByVal x As MySt, ByVal y As MySt) As Integer Implements IComparer(Of MySt).Compare
Return x.moge - y.moge
End Function
End Class
といった感じで、IComparerインターフェイスを実装したクラスをソート対象にしたいメンバごとに作成し、
Dim?MyList?As?New?List(Of?MySt)
とした場合(ソートしたい配列がMyListのとき)
hogeでソートしたい場合は
Dim hogeCmp As New HogeComparer()
ArrayList.Sort(MyList, hogeCmp) 'Array.List.Sort(MyList, New HogeComparer())でもよい
mogeでソートしたい場合は
Dim mogeCmp As New MogeComparer()
ArrayList.Sort(MyList, mogeCmp) '同上
と呼び出せばそれぞれのメンバでソートができる
まあ、わざわざ対象ごとにクラス作らないといけないところがめんどくさいが。
415 :
411:2009/03/17(火) 17:29:42
>>414 スマン
ちょっと間違った
Private s As New List(Of MySt)
Dim r(3) As MySt
r(0).hoge = "ccc"
r(0).moge = 123
r(1).hoge = "bbb"
r(1).moge = 234
r(2).hoge = "aaa"
r(2).moge = 345
r(3).hoge = "xxx"
r(3).moge = 0
s.AddRange(r)
s.Sort(AddressOf hikaku1)
で
Function hikaku1(ByVal x As MySt, ByVal y As MySt) As Integer
Return x.hoge > y.hoge
End Function
Function hikaku2(ByVal v1 As MySt, ByVal v2 As MySt) As Integer
Return v2.moge - v1.moge
End Function
こんな感じにした
ちなみにVS8です
しかしこういうやり方で並べ替えが出来るとは知りませんでした
勉強になりました(自分はめんどくさがりなのでDataTable使いますw)
>>415 VS8ならLinqも使うと幸せになれるかも知れない
構造体を自分で改変できるなら、
宣言の先頭 (Structure MySt の次の行) で
implements IComparable(Of MySt)
と入れて Enter、てのが早道だべ。
ファンクションプロシージャってのがよくわからんなサブしかつかっとらんし
2chブラウザをつくるとして
携帯のIDとパソコンのIDは何が違う?
IDってユーザーエージェントのことか?
>>408 並べ替えのレスいろいろありがとうございました。
おかげさまでなんとか並べ替えできました。
慣れないのが多くてむずかしくて良く理解できていませんが便利なので使わせていただきます。
ありがとうございました。
理解して使わんとなんか不満が出た時に見動く取れなくなるぞ
メイン
Delegate Sub AdLogDlg(ByVal Log As String)
Thr = New Thread(New ThreadStart(AddressOf MovThr))
Thr.IsBackground = True
Thr.Start()
Thr.Join()
Sub MovThr()
Form1.Invoke(New AdLogDlg(AddressOf Form1.AdLog), New Object() {Txt})
End Sub
ってやった時にInvokeのとこで固まるんだがJoinしてるから?
ListViewのItemのフォントとSubItemのフォントを別のものに指定することは出来るでしょうか?
NumericUpDownコントロールのスピンボタン?は消せないんですか?
>>423 そう。Invokeはその処理の完了を待機するから、
メインスレッド>サブスレッドが終了するまで待ち
サブスレッド>メインスレッドに依頼した仕事が終わるまで待ち
の典型的デッドロック。
BeginInvokeにすれば完了待たずに次に進むからデッドロックは起こらないけど、
そもそもメインスレッドでJoinとかはやるべきじゃない。
>>424 ListViewItem::UseItemStyleForSubItems
TextBox の KeyPress イベントで、数字以外のキー入力を
蹴れば (イベント構造体の Handled = True) いい。
>>428 テキストボックスを数字入力専用にすれば済む話ではないのかと・・・・・
NumericUpDownも内部では数字以外をはじいてるんだと思うが…
>>431 カスタムコントロール作るのが簡単じゃね
>>431 MaskedTextBoxでいいんじゃね
>>433 なんで態々カスタムコントロール?
派生すりゃいいじゃねえか。
>>431 ごめ言葉足らずだった、標準機能ではそんなこと出来ない
そういう機能ならどうせ使いまわすんだろうし継承してカスタムコントロールで使いまわし効くようにしたら
という意味
つうか、社内でそういう機能くらい作ってそうなものだけど
コントロール配列はなぜ無くなったんですか?
レイトバインド(Create Object)できますか?
TabControlのTabPageなのですが、
コードを書いてデバッグして色々してるうちに
いつの間にかページの順番が変わってしまうのですがこれは何故でしょうか?
vb.net2005のあぷりをはいふするときは、
ゆーざーには
最新のネットフレームワークをまいくろそふとのさいとからだうんろーどしてください
って言っとけばいいの?
VB2008での質問です。
NumericUpDown1.value = Data1
NumericUpDown2.value = Data2
NumericUpDown3.value = Data3
このようなステートメントが500程あります。
まとめる方法をご教授下さい。
ファイルコレクションを取得する時に特定の文字列を含んだ名前のファイルだけを抜き出すときは
GetFiles("*.jpg")
とするけど
GetFiles("*.jpg" and "*gameCG*")
とか
GetFiles("*.jpg" or "*.gif")
みたいにやるのはどうやんの?
,
>442
NumericUpDown1〜NumericUpDown500までを配列にして、
Data1〜Data500も配列にしておいた上で代入する
446 :
442:2009/03/21(土) 14:26:33
スピンボックスを500個並べたってか…
DataGridView 使うわけにはいかんのか。
DataGridViewとListViewは何が違いますか?
どういう時に使いわける?
ちいさめのいろんな種類の画像をズラズラ並べたい場合はなにコントロールをつかうのか
だから Wireshark(ry
ああ、、類似の質問がいくつかorz
すみません、ieHTTPHeaders入れて頑張ってみます。
Dim Sng as Single =3.141
などを小数点第三位で四捨五入してラベルコントロールには3.14と表示するにはどうするんだろぅ
Format(Sng , "0.00")だと四捨五入しないで切り捨てになっちゃう
おk
フォームがあるアプリを作ったのですが、
これで起動時にコマンドライン引数を受け取るようにしたくて
Shared Function Main(ByVal CmdArgs() As String) As Integer
というプロシージャを作ったのですが、
そうするとフォームが出ないまま終了してしまいました。
そこで、
Public Shared F As New Form1
を宣言してMain内で F.Show()を実行したのですが、
一瞬出てすぐにアプリ自体が終了してしまいました。
正しい方法が分かりましたら教えて頂けると助かります。
コマンドライン引数の受け取り自体は出来ているのですが
フォームが消えてしまい困っています
>>456 そのファンクションは何に戻り値を返すんだい?
>>457 すみません。
Form1_Load内に
System.Environment.GetCommandLineArgs()
で出来ました。
>>458 これはおかしいですね。
使っていないので消しておきます。
ありがとうございました。
先輩方教えてください。
textboxのmultilineを有効にして、そこに編集したデータを入れています。
1列目データ1 データ2 データ3
2列目データ1 データ2 データ3
3列目データ1 データ2 データ3
プログラム上ではこのように表示されているのですが、
この表示されているデータをコピーしてメモ帳やExcelに貼り付けると
1列目データ1 データ2 データ3
2列目データ1 データ2 データ3
3列目データ1 データ2 データ3
こんなふうに1行追加されてしまいます。
編集時はvbNewLineを使っているのですが、何が原因でしょうか?
462 :
461:2009/03/22(日) 23:10:48
コード一行ずつコメントアウトして確認してたところ原因解りました。
string.split(vbNewLine)
これがいけなかったようです。多分Crだけで分割されてLfが残ってたんだと思います。
(ドキュメントにもvbCrLfで分割するなって書いてありましたね。。)
お騒がせ致しました。
463 :
デフォルトの名無しさん:2009/03/23(月) 18:17:49
フォルダのコピーをする際に、コピーが完了するまで待機するには
どうしたら良いですか?
(ダイアログなどは非表示の予定です。)
コピーの方法次第
なるほど
ありがとうございました
納得するのかよ!
InputBoxに説明をズラズラと書きたいのですが、はみ出してしまうのですが
InputBoxの大きさを変えるにはどうしたら良いでしょうか?
サイズかえれないんじゃなかったっけ?
俺はC#でも使えるし自作して使ってるけど・・・
そっちのが制御も自由だし融通きいていいと思う
つか、InputBox ってまだあったのか…
ダイアログで自作したらどうだ?
InputBoxの代わり程度なら簡単に作れそうだが…
コピペするだけでつかえる
画面解像度を1280*720にするプログラムは?
調べる気ゼロときたか。
つ[ChangeDisplaySettingsEx]
つ[Microsoft.DirectX.DirectDraw.Device]
調べる気ゼロなヤツにヒントを与える
>>472の優しさに泣いた
次の質問者の入場です。
どうぞぉ〜〜↓
3年ほど夜のあれがないです。
出会いもなかなか無いので、お金で解決したほうがいいでしょうか?
俺ももう何年も無いな…
最後に夢精したのはいつだっただろうな
・・・・
さっさと風俗に行く準備を始めるんだ
480 :
デフォルトの名無しさん:2009/03/25(水) 05:03:48
先輩方質問です。
プログラムを組んでいると
精神や人間性に異常をきたすのは
どうしてですか?
コンピュータとシンクロしてるから
VB.NETアプリを終了すると解像度がもどっちゃうんだけど
そうか
VB2008を使用しています。
プログラムを実行中、そのプログラムで使用するフォルダを削除されないようロック(使用中に)したいのですが、
どのようにすればよいでしょうか?
(追記)
カレントディレクトリとは別の任意のフォルダとなります。
>>484 適当に削除したくないフォルダの中にファイルを作ってオープンしておけば良いんじゃね?
>>486 その方法で良いと思います。どうもありがとうございました。
>>471 Imports System.Runtime.InteropServices
Public Module resChanger
Private Declare Function cds Lib "user32" Alias "ChangeDisplaySettingsA" (ByRef dm As DM, ByVal f As Integer) As Integer
<StructLayout(LayoutKind.Sequential)> _
Private Structure DM
<MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst:=32)> _
Public a As String : Public b, c, d, e As Short : Public f As Integer
Public g, h, i, j, k, l, m, n, o, p, q, r, s As Short
<MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst:=32)> _
Public t As String : Public u, v As Short : Public w, x, y, z As Integer
End Structure
Public Sub main()
Dim d As New DM() : d.d = &H7C : d.v = 32 : d.w = 1280 : d.x = 720 : d.f = &H1C0000 : cds(d, &H80000000)
End Sub
End Module
< >
この中カッコはなに?
?_?
ここで聞く質問じゃないかもしれないけど
VB.NETでSSE等のレジスタ命令を直接叩けるフレームワークって出てる?
Cじゃないとダメ?
3時間の10倍の速さは30分でいいの?
3時間
3時間の10倍→30時間
3時間の10倍の速さ→30時間の速さ
30[時間の速さ]<>30[分]
∴答え: ちがうよ。
495 :
デフォルトの名無しさん:2009/03/26(木) 09:08:55
ニコニコ動画をダウンロードしたいお
複数のビットマップファイルから1つのGIF動画を作る方法を教えて
>493
3時間の10倍の早さ
これは通常3時間掛かる所を10倍の早さで着くにはと解釈すると
3時間→180分→10倍の早さ=18分
499 :
デフォルトの名無しさん:2009/03/29(日) 10:33:30
499
500 :
デフォルトの名無しさん:2009/03/29(日) 10:34:21
500
501 :
デフォルトの名無しさん:2009/03/29(日) 16:07:58
リモートコンピュータが応答するかどうか確認する方法を教えてください。
503 :
501:2009/03/29(日) 20:43:11
Pingしますた
504 :
デフォルトの名無しさん:2009/03/29(日) 21:15:18
Dim cc As CookieContainer = New CookieContainer
にクッキーを取得することができましたが
このccを使ってwebページのhtmlソースを取得することができたのですが、
jpgなど画像のバイナリデータをダウンロードしたいのですがどんな風にやれば良いでしょうか?
>>504 一緒。同じように、jpg の URL にリクエストを投げる。
帰ってきた Stream を使って画像を表示するか、ファイルに保存。
506 :
504:2009/03/29(日) 21:57:11
そうしますた。ありがとう
vb2005でクリップボード操作について質問が…。
クリップボードに特定の文字列を貼り付けるexeを作ったのですが
テキストエディタを起動中だと失敗してしまいます。
どうしてなんでしょうか。
どんなエラーが出るかくらいは書いた方が情報多いと思うぞ
>>498 小学生の問題に全力で答えるあなたが素敵♥
VB2005で
"image/jpeg"に対応する拡張子を取得
もしくは逆に
"jpg"に対応するContent-typeを取得
みたいな事がしたいのですが、そのような事ができるメソッド等を教えてください。
Imports System.Drawing.Imaging
Private Function getJpegExtensions(ByVal mimeType As String) As String()
For Each enc As ImageCodecInfo In ImageCodecInfo.GetImageEncoders()
If enc.MimeType = "image/jpeg" Then
Return enc.FilenameExtension.Split(";")
End If
Next
Return Nothing
End Function
Private Function getJpegMimeType(ByVal ext As String) As String
For Each enc As ImageCodecInfo In ImageCodecInfo.GetImageEncoders()
For Each fileExt As String In enc.FilenameExtension.Split(";")
If fileExt.ToLower() = "*." & ext.ToLower() Then
Return enc.MimeType
End If
Next
Next
Return Nothing
End Function
|l、{ j} /,,ィ//| / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
i|:!ヾ、_ノ/ u {:}//ヘ | あ…ありのまま 今 起こった事を話すぜ!
|リ u' } ,ノ _,!V,ハ | < HttpWebRequest.BeginGetResponseを使って
fト、_{ル{,ィ'eラ , タ人. | 非同期でresponse投げたかっただけなのに、
ヾ|宀| {´,)⌒`/ |<ヽトiゝ | デリゲートだのコールバックだのスレッドプール
ヽ iLレ u' | | ヾlトハ〉. | だの出てきやがった。
ハ !ニ⊇ '/:} V:::::ヽ. │ もっと恐ろしいものの片鱗を味わったぜ…
/:::丶'T'' /u' __ /:::::::/`ヽ \____________________
>>511 ありがとうございます。
でもこれって画像だけですよね
もしかして全てのContent-typeで同じような事ってできないのでしょうか?
はじめて質問いたします。
当方初心者です
他のソフトの動作を捕捉して動作するソフトを作りたいと思うのですが、
自作→他
他→自作
という動作は可能でしょうか?
ちなみに
ググっても思うようなサイトにたどりつけませんでした。
参考になるキーワードやサイトがあれば教えてください。
具体的に
>>512 どうやってレスポンスを受け取るつもりだったんだよw
>>513 多分ないね
頑張ってレジストリ漁る
responseじゃねえw
requestだった
518 :
513:2009/03/30(月) 12:53:27
>>516 なるほどそうなのですか・・ググっても簡単な方法がないわけですね
httpでダウンロード→保存する際に
Content-Dispositionでファイル名取得できなかったら
Content-typeから拡張子だけでも調べて保存しようとしてたのですが
ありがとうございました
>>513 ここの条件次第だろ、ちょっとは考えろや
If enc.MimeType = "image/jpeg" Then
Return enc.FilenameExtension.Split(";")
End If
>>519 すいませんよく分かりませんでした
画像に対するMINEタイプならそれで取得できるのは理解できますが・・・
CLIのSCLになければ、P/InvokeでShell系のAPIいじるしかないかな。
>>521 それは私に対するレスで良いです・・よね?(専門用語が多くて自信ない・・)
とりあえず
>>516さんのいうレジストリの方法なら私にでもできそうなんで
それでやってみようと思います。
523 :
デフォルトの名無しさん:2009/03/30(月) 14:58:35
NET2003でDLLを作ったのですが、
参照を設定して使おうとすると res = test.main(5)の行で
Object reference not set to an instance of an object.
というエラーになってしまいます。
DLLのテストの関数は
Public Class Class1
Public Function main(ByVal a As Integer) As Integer
Return a * a
End Function
End Class
このようになっていて↑
使う部分は
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim test As DLL_TEST1.Class1
Dim res As Integer
res = test.main(5)
End Sub
このようになっています↑
正しい関数の書き方や使い方を教えて頂けたら助かります。
Dim test As New DLL_TEST1.Class1
526 :
デフォルトの名無しさん:2009/03/30(月) 22:21:55
別スレッドのプロシージャーに引数を渡す方法を教えて欲しいよねー
別に教えて欲しくない。知ってるし。
同意を求められてもな。
MSDNに「BeginInvoke使え」って思っ糞書いてあるしな。
ウェブレスポンスとウェブリクエストの方法でファイルをダウンロードすると
ブラウザで表示した際にテンポラリーに読み込まれたものと
微妙に容量が違うのですが、どうしてですか?
2500kB位のファイルの場合で2kBくらい自前でダウンロードした時の方が少ないです。
比較してみればいいじゃない。
文字コードとか改行コード辺りか?
531 :
529:2009/03/31(火) 17:23:58
>>530レスありがとうございます。
動画ファイルなのでバイナリエディタで確認してみたところ
末尾が一部無くなっていました。
別のファイルも比べたところ同じように末尾が無くなっていました。
なくなっている部分は末尾で55hがたくさん羅列されている部分なのですが
動画自体は同じように再生できました。
原因などが分かりましたら教えて頂けないでしょうか
532 :
デフォルトの名無しさん:2009/03/31(火) 23:24:39
テキストボックスの描画メソッドのソースを見る方法はないでしょうか?
NetMassDownloader でググれ
コントロールをはるだけでなんでもつくれるようにユーザーコントロールとか全部きぼんぬ
日本語でおk
Dim buf As Byte 'bufは0か1
If buf And &H40 Then ・・・
↑これどういう意味?
&H40が16進数を意味していることはわかりました。
10進数だと64。2進数で01000000。
この場合のAndはビット演算してるっぽいので、
bufが0のとき、00000000
bufが1のとき、00000000
どっちも同じなんだけど???
その前の処理で必ずBuffが0か1になっているのだろうか・・・・
>>538 ビット演算してるねぇ。
bufが0でも1でも同じだねぇ
そこに書いてある情報ではそれ以上の意味は読み取れない
なぜそうなってるかは作った人にでも聞いてくれ
Dim ns As System.Net.Sockets.NetworkStream
ns = tcp.GetStream()
Dim enc As System.Text.Encoding = System.Text.Encoding.UTF8
'サーバーにデータを送信する
'送信するデータを入力
Dim sendMsg As String = TextBox2.Text
'何も入力されなかった時は切断する
If sendMsg = "" Then
tcp.Close()
Return
End If
'文字列をByte型配列に変換
Dim sendBytes As Byte() = enc.GetBytes(sendMsg)
'データを送信する
ns.Write(sendBytes, 0, sendBytes.Length)
---------------------------------------------------------------------------
ns.Write(sendBytes, 0, sendBytes.Length) で、データ送信エラーをはじきたいのですが、どうすればよろしいでしょうか?
Try
ns.Write(sendBytes, 0, sendBytes.Length)
Catch ex As Exception
Console.WriteLine("ERORR")
End Try
ではひっかかりませんでした。
初心者ですが、よろしくお願いします。
VB2008を使用しています。
今、WebBrowserコントロールを配置して
WebBrowser1.DocumentText = Text
というようにしてページを表示し
これを一定の周期でページを更新しています。
一応、目的の動きをしているんですが
更新のたびに一旦全て消えて、表示され直すのではなく
追加された項目だけが自然に表示されるような方法はないものかと思ってます。
イメージとしては、2chブラウザなどでスレッドを更新した時に
スレッドの表示全てが消えて再表示されることなく
増えたレスだけが表示に追加されますが
ちょうどあのような感じに更新するような方法はありますでしょうか。
よろしくお願いいたします。
HTMLを取ってきて、差分を抽出して、
DOMで既存のツリーに追加するような
話か?
544 :
542:2009/04/02(木) 20:46:45
>>543 回答ありがとうございます。
HTMLを取得し、現在は上記のような
WebBrowser1.DocumentText = Text(取得したHTML)
というかたちで更新をしています。
>DOMで既存のツリーに追加
というのは具体的にはどのような手法で行うのでしょうか
545 :
542:2009/04/02(木) 21:04:33
>>543 ぐぐっているうちに、なんとなくわかりそうな気がしてきました。
とりあえず調べながらやってみます。
また詰まったら質問させてください。ありがとうございました。
546 :
デフォルトの名無しさん:2009/04/02(木) 21:31:32
一部の機能を外に出す時に使うClassとModuleってどう違いますか?
クラスっていうのはVisible=Falseなフォームと等価ですよね?
549 :
542:2009/04/02(木) 23:22:34
たびたびすみません。やっぱりなかなかすぐには理解できませんでした。
Document.Body.InnerHtmlプロパティに文字列を直接代入しようとしたところ
「プロパティは、この型のHtmlElement上でサポートされていません」とのエラーだったんですが
<body>〜</body>を動的に書き換えるような事をするには
どのようにしたら良いでしょうか?
よろしくお願いします。
>>547 フォームはクラスだが、クラスはフォームじゃない
俺は人間だが、人間は俺じゃない
>546
簡単に話すが
クラスは設計図だからクラスの機能を使うには実体化しる
モジュールは機能の外だしだからアクセスできる範囲とか変わってくる
全然イミフ
>>546 クラスモジュールと標準モジュールの違いってことでいいんだよな?
むかしむかし、たぶんVB2.0の頃には、VBではクラスなんて作れなくて、
フォームモジュール以外は標準モジュールしかなかったんだ
そのうちVBでもクラスを作れるようになったんだ。そのときに
クラスを作るコードを書くためにクラスモジュールってのができた
つまり、クラスモジュールはクラスを作る専用
クラスじゃないプログラムコードはモジュールに書く
と思っとけばまあOKじゃないかな
VBだけならさておき、他にJavaみたいな言語をやるつもりがあるならモジュールの存在自体忘れるべきだし
モジュールを使わないことで不可能になる事は基本的に無い。
コードが増える場面はあるだろうが
各フォームで変数を共有するには標準モジュール以外になにかある?
計算の質問になってしまうのですがいいですか?
x=55 y=10 z=整数
というものがある場合で
z=1の場合答えが10
z=2の場合答えが10
z=3の場合答えが10
z=4の場合答えが10
z=5の場合答えが10
z=6の場合答えが5
を導き出す式を教えて頂きたいです。
x と yは何処に関係してるんだ
最後の5が55の間違いって事か?
zが1〜6以外の場合はどうするんだ
間違いではないです
xとyは定数として式を作って欲しいのですが
具体的な話になるのですが、
検索結果が55個ヒットしたとして、
1ページに結果が10個ずつ表示される場合に
1ページ目には10個ある
2ページ目には10個ある
3ページ目には10個ある
4ページ目には10個ある
5ページ目には10個ある
6ページ目には5個ある
というように
このページには「○個ある」
というのをページ数と総数の55から知りたいです。
If x / (y * z) < y Then
return y
Else
return x mod y
End If
確認してないから、間違ってる可能性高しw
If x >= (y * z) Then
Return y
Else
Return x mod y
End If
こう?
正直言って
>>557の説明はいくら何でもひどすぎると思う
なんかのクイズみたいだ
563 :
デフォルトの名無しさん:2009/04/04(土) 01:28:23
ありがとうございます!
できました。
1行の式しか考えていなかったのでややこしかったのですが
これは良いですね。すごく助かりました。
>>560でOKのようですが、
>>561の方と比べてみます。
>>562すみません><
最初から具体的に説明したほうが良かったですよねー
>>556 sharedプロパティとか使えば?適当に言ってるから知らんが
これまで、XPにてVB2005expressを入れたあと、
VisualStudio2005にアップグレードしていたのですが、
この度、vista x64を用意し、環境を以降しようとしていますが、
VB2005expressを入れようにも、ダウンロードが3/31にて終了とのこと。
VB2008expressから、VisualStudio2005にアップグレードできますか?
>>566 ExpressEditonを入れずにStandardなりProfessionalなりインストールするんじゃだめなの?
>>567 アップグレード版しかもっていないので、何かしら入っていないと
インストできないと思ったので・・・
>>568 EE入れて無くてもアップグレード版インストールできるよ。
アップグレード対象のライセンスを保持していることは必要だけど、インストールされているか
どうかについては関係なかったと思う。
一応、eula.txtから引用
15. アップグレード。本ソフトウェアがアップグレード版と指定されている場合、お客様はアップグレードの対象となる
ソフトウェアの使用許諾を受けている場合に限り、本ソフトウェアを使用することができます。アップグレードを行われる場合、
本ソフトウェアの旧バージョンは本ソフトウェアによって置換され、本ソフトウェアの旧バージョンに関する契約書は、
本契約書に置き換えられるものとします。
お客様は、以下のダウングレードの規定に従ってのみ、旧バージョンを使用することができます。
bufの値は、
xxx00000 ’xは0か1
でした。
条件式は、&H40で前から2桁目を取り出す処理でした。
>>539-540お手数おかけしました。
575 :
546:2009/04/05(日) 23:31:20
クラスモジュールと標準モジュールの違いのレスありがとうございました。
まだややこしいですがなんとなくわかりました。
どうもありがとうございました。
別に特別なことは何も無いけど。
ListView.ListViewItemCollectionとか。
内部クラスは外部クラスのPrivateメンバも使えるのが特徴ってぐらい。
非同期型サーバーに同期型クライアントにて接続することは可能ですか?
もちろん
スレッド間通信ってできますか?
簡単なサンプルとか公開してるPageあれば教えてください
VB.net スレッド間通信 がGoogleの検索ワード候補として存在する件について
一連の処理を一まとめにして別のプロシージャに書くのは
どの程度の処理をまとめて外に出すのが普通ですか?
余り細かいと後で分かりにくいし大体の基準とかあったら教えてください。
複数の場所で使われる共通の処理は括り出す
長さは関係ない
使い回さないなら一つのメソッドにだらだら書いてもいいし
長すぎると思うならなら好みの長さで切ればいい
ループや分岐、ローカル変数が少なければ
結構長く書いても解りにくくはならないやね。
Shared の意味がわかりません。
msdnを読んだのですがチンプンカンプンです。
どなたかわかりやすく説明お願いします。
たぶん君が期待する普通の動作をするのがShared
じゃあSharedでないのはどうなのかというと,説明しようにもオブジェクト指向がわかってないと
まず言葉が通じないと思うので頑張って勉強しましょう
Structure 個人
Dim ヘソクリ As Integer
Shared 財布 As Integer
End Structure
Dim 俺, 嫁 As 個人
ヘソクリはそれぞれ持ってるが、
生活費はひとつの財布から出す。
static のこと
589 :
デフォルトの名無しさん:2009/04/07(火) 18:00:21
クラスとそのインスタンスをつくるという概念を覚えれば
そこら辺は自然と理解できる。本嫁
オブジェクト指向がわからない人への説明として
「クラスは設計図だ」なんて言い方があるけど、
その場合Sharedはどういう風に説明すればいいの?
「クラスは設計図だ」なんて言われると逆に混乱するな。
「インターフェースは設計図だ」のほうがしっくりくるな。
「クラスは設計図だ」って言うのは正しいの?
「抽象クラスは設計図だ」って言われれば納得できそうだけど
クラス(定義)とインスタンスの説明をする、って文脈なら、
設計図ってのもあながち間違ってはいないな。
設計図とか変に日本語化して説明するより
>>587のような具体例出した方が分かりやすいんじゃないか?
説明の対象者がOOを分からないなら尚更日本語化して変な物植え付けるよりは…
クラス(定義)とインスタンスの説明なら
「クラスはインスタンスの構造だ」になるようなきがす
設計図ならインスタンスにはならないわな
そういうことをいうと、「クラスってのは構造体ですね!」とか変な理解をするやつが・・・
俺が教えるときは、「クラスはクラスで、それを実体化したのがインスタンスだ」だなw
まあ、無理に日本語当てるなということで・・・
>>587の例では、わかってる奴にしかわからないとおもうぞ。
わからないやつには、あれを説明しないとだめなんだから
まあ、まずクラスとインスタンスを理解してもらわないとSharedは理解できない
俺が昔見た一番しっくりくるクラスとインスタンスの例えは、
クラスとは型抜きで、インスタンスはその型抜きで作られたクッキーだと
パンダの型抜きは、たしかにパンダの形をしてるがそれだけでは意味がなくて、
実際にその型抜きでクッキーを作る=インスタンスを生成して初めて意味があると
同じ型抜きからつくらたパンダのクッキーは、当然同じ形。でもクッキーは一つじゃないと
日本語で説明しなきゃわからん人には
「向いてないかも・・・」と正直に教えてあげたほうが
VBでその辺ちゃんと勉強するのは正直難しい
そういうのまともに解説してる本が少ないしな
javaなんかでしばらく遊んでみた方がいいかもしれない
かんたんプログラミングとパーフェクトマスターとe本読んでかれこれ一ヶ月ぐらい弄ってるけど
頭の中にある本の記述と、実際に弄った成功失敗の結果を照らし合わし続けて、なんとなく分かってきた気がする
/)
///)
/,.=゙''"/
/ i f ,.r='"-‐'つ____ こまけぇこたぁいいんだよ!!
/ / _,.-‐'~/⌒ ⌒\
/ ,i ,二ニ⊃( ●). (●)\
/ ノ il゙フ::::::⌒(__人__)⌒::::: \
,イ「ト、 ,!,!| |r┬-| |
/ iトヾヽ_/ィ"\ `ー'´ /
師匠おつかれさんっす
Console.Beepで和音を表現するにはどうすればいいですか?
適度な速さで切り替えればいいんじゃね?PC98のときはみんなそうやってたが
1サイクル未満で切り替えちゃったため、ノイズにしかなりませんでした。
というオチを想像した。
C#ユーザーですがVB.netで書かれた文献で勉強しておる者です。
<ConfigurationProperty("key")> _
Public ReadOnly Property key() As String
Get
Return Me("key").ToString()
End Get
End Property
上記のコードで
"<Con.........>"の文法的意味を調べたいんですけど
なんていうキーワードで調べれば出てきますかね?
TextBox3.Clear()
と
TextBox3.Text=""
は等価なのかしら
609 :
デフォルトの名無しさん:2009/04/09(木) 11:47:32
VB2008Expressをつかって勉強しているんですが
デザイナで作成したFormのコードにnamespaceをくわえるのは、どうすればいいんでしょうか?
画面ファイルのあるフォルダに行って、Partialクラスな「Designer.vb」をテキストエディタで開き
同等のnamespaceをきってあげれば、いけそうな気もするんですが、
IDE上での操作を知りたくて投稿させていただきました。
あと、C#みたく、フォルダを作成したら、フォルダ構成とおんなじnamespaceを
自動生成してくれる仕組みってVB.NETにはあるんでしょうか?
611 :
デフォルトの名無しさん:2009/04/09(木) 14:16:03
ログインが必要なサイトに画像ファイルを転送したいのですが
IEをSendKeysで操作しないでファイルを転送するにはどんな方法がありますか?
FTPとかHTTPとか?
WEBサービスとか?
610>どうもです。
属性で調べてみたいと思います。
614 :
デフォルトの名無しさん:2009/04/09(木) 15:56:38
VB2003を使っている人に質問です。
何故VB2008にアップグレードしないんですか?
違法コピーだからアップグレードできないのですか?
PCのスペックが足りないなら、
せめてVB2005にアップグレードしましょう。
同スペックで動かせます。
なにこの香ばしいコピペ
けどこういうこと本気で信じてるのがいそうだからVB厨は困る
>>614 釣りにつられるのもどうかと思うが一言
PGやってから同じこと言ってみろ
上げられない理由なんて山ほどある。
>>608 Reflector で見てみた。
TextBox クラスの Clear メソッドは Text プロパティに null をセットしてる。
Control クラスの Text プロパティは、null がセットされると "" に置き換えてるから
結果的に同じになると思われる。
コールバックはわかるんですがデリゲートがわかりません。
デリゲートってなんですか?
>>614 お前馬鹿か?
VB2003を違法コピーしてるような奴ならVB2008だって違法コピーしてるだろう。
っと煽ってみる。
DB.Nullならしってるけど
テキストボックスに代入できるヌルは
どんな.Null?
>>614 俺もつられてやる
趣味でやってるんなら好きにすればいいが、
仕事でやってると環境の決定権は個人にはないんだよ
>>618 俺もよくわからんのだが、あれは、関数ポインタを扱うためのしくみらしい
.NETではポインタを扱わない方針なので、
関数のアドレスが必要なコールバックなんかで使われたりするんじゃないかな
622 :
デフォルトの名無しさん:2009/04/09(木) 19:57:30
変数名は普通、大文字ですか、小文字ですか。
>>618 デリゲートはコールバックするための仕組み
「どのオブジェクトの」「どの関数」を呼び出すのかという2つの情報を持ってる
従来の関数ポインタは「どの関数」の情報しか持ってないのでオブジェクト指向には適さない
>>620 「オブジェクトを参照してない」ことを表す特殊な参照値
殆どは大文字・小文字の混成だが、ローカル変数で短い名前なら全部小文字の時もある。
DB絡みで項目名と対応させる関係で、ローカル変数でも全て大文字にする事もあるし、
色々としか言えないな。
ダイアログの表示なんだけど、TopMostみたいにあらゆるウインドウの上にきてしまうみたいなのじゃなくて、
そいつを呼び出してる親フォーム(とそこに含まれる子フォームすべて)のだけに最前面にくるようにしたい。
例えば、VBの検索ダイアログみたいな感じで親フォームがデアクティブ化したらダイアログも背面にまわる、
みたいなのをやるときはどうしたらいいですか?
VBの検索ダイアログみたいな、というのなら
Form.AddOwnedFormでOK。
>>626 ありがとう、きょうはもう眠いので明日試してみるよ。
人様に質問しておいてなんだその態度は!
>>623 それは、VBではNothingってやつか
integer に nothing 入れてると 0 が入ってます。
frameworkの参照設定は開発途中からバージョン下げても問題ありませんか?
エラーになる個所はちゃんとコンパイルエラーになりますか?
やってから言え
恐いんです
丸ごとコピーすれば良いじゃない
@バージョン下げ
A問題なさそうなので開発続ける
Bある日致命的な問題に気づく
Aが無駄になるのが恐い
じゃあ下げなきゃいいじゃん
>>630 .netではintegerは値型だったはずだからな
その理由とは?
なんとなく
理由はなんだっていい
>>612 レスありがとうございます。
ブラウザでログインした状態で画像ファイル以外はブラウザで送信したいのですが
webRequestでファイルを送信する部分で躓いています。
webRequestで新たにログインして送信することは出来るのですが
それだとフォームに入力した他のテキストデータを1つのものとして送れないです。
ブラウザのテンポラリにクッキーのファイルがあるのですが
これはブラウザでアクセスしたときに貰ったものだと思うのですが、
これをWebRequestで使う方法があったら教えて頂きたいです。
(クッキーのファイルをCookieContainerに代入する方法が知りたいです)
よろしくお願い致します
>>630 Dim IntHoge As Nullable(Of Integer)
644 :
617:2009/04/10(金) 11:17:09
お世話になります。
現在、VB6からVB2008への切り替え作業を行っております。
XP側でのテストも終盤を迎えている状態なのですが
VISTA側でテストを行うと、見出しで使用する
ラベルの背景が黒色になってしまいます。
(全てのラベル項目が黒くなるわけではありません)
どなたか同じ現象がおきたかた原因と解決策を御教授願います。
おたくさんの見出しの仕様もわからないのに何を教えろと言うのか。
VistaにEEでも入れて、おかしくなるラベル周辺だけ調べてみたら?
648 :
645:2009/04/10(金) 14:36:50
| ̄ ̄ ̄|
|共通 |
|___|
>>646 ↑こんな見出しです。
MS ゴシック, 11.25pt, style=Bold
ForeColorがControlText です
BackColorがActiveCaptionText です
あと開発はXPです。
これがVista側だと背景が真っ黒になります
文字も黒なので、■になります。
>>647 Vistaマシンは確認用のテスト機なので
何も入れちゃだめと言われてます。(虎の子の一台)
あと恥じを偲んでお聞きします。
EEとはなんでしょうか?
google先生に聞いてもうまくひっかからないです。
>>648 それってカスタムもなんもしていない純粋なラベル?
VisualStyle切ったらどうなる?
WWはエクスプレスエディションだと思う
BackColorにActiveCaptionTextって正気か?としか
651 :
648:2009/04/10(金) 15:14:10
>>649 Vista側のテーマをWindows クラシックにしたら表示できました。
でも原因が分からないです。
なにかご存知ないですか?
>>650 ラベルの箇所は全部そうなってるよ
ActiveCaptionTexと。
なにかのこだわりかな。その辺は不明。
>>651 それは単純にACTIVECAPTIONTEXTが黒だからじゃね?
ActiveCaptionTextの説明見りゃ背景色にすべきものじゃないってすぐ分かるだろうに
654 :
648:2009/04/10(金) 15:42:53
>>652 単純にそうかも。
>>653 すまん。
でもなんでActiveCaptionTex使ったんだろ。
VB6→VB2008に変換するツールを使って
開発したらしいから
あまり確認していなかったのかな。
リーダに聞いてみる。
スレッドのabort()の強制力ってどのくらいありますか?
応答なしになったようなスレッドでも落とせますか?
Client.DownloadFileでダウンロードしたファイルを閉じる方法教えて下さい。。
プログラムを終了させない間、ダウンロードしたファイルは編集も削除もできないです。。
>>655 Abort使わない構造にする
>>656 ClientとやらがWebClientなら、普通に消せたけど?
>>657 即答ありがとうございました。。
そうです、WebClientです。。
ダウンロードしたファイルは実行中のプログラムが使用している状態で、
終了すれば済む話なのですが、
そのまま実行中の状態で編集、削除させたいんです。。
ストリームは使用していません、
Dim Client As New WebClient
Client.DownloadFile(URL文字列,DownloadFileのパス文字列)
でDownloadFileのパスにダウンロードされます。。
編集、削除は気にしないで下さい。。
ダウンロードしたファイルをその場で閉じる方法を教えて下さい。。
追試するのに条件変えたりしないよ
Vistaと.NET3.5sp1で試した
ほかでそのファイルいじったりしてないか?
ブレークポイントをDownloadFileの直後において消してみた?
>>661 同じ結果でした。。
ダウンロードしたファイルですが、
ピクチャーのimageにImage.FromFile(DownloadFileのパス文字列)
の一ヶ所使用しています。。
> Image.FromFile(DownloadFileのパス文字列)
こっちは間違いなくファイルをロックする
Image.Disposeしないならまあ大体最後まではロックしっぱなしだな
そのImageのリソースを解放しても同じ結果です。。
Dim Client As New WebClient
Client.DownloadFile(URL文字列,DownloadFileのパス文字列)
Client.Dispose
この3行は2回以上実行されます。。 1回目はエラーにならず、2回目からエラーです。。
この3行を2回以上実行しているため、Client.DownloadFileでエラーになっているらしいです。。
>>665 FromImageで画像読み取ってるところをStreamに変えてみてやってみてほしい
669 :
668:2009/04/10(金) 17:56:34
FromImage→FromFile
しかももう回答出てたしorz
解決しました!!
本当に感謝です。。 恥ずかしながら6時間以上も悩んでて…
671 :
デフォルトの名無しさん:2009/04/10(金) 20:31:12
VB.NETでActiveReports 2.0J Professional SP1 を使うには、どうすればいいでしょうか。
Dim i as integer
i=10
Dim Array(i) as string
みたいに配列の宣言してる人いる?
何が論題なのか分からないんだが
それ厳密にいうと宣言だけじゃないんだよね
配列のインスタンスの作成と,変数へのそのインスタンスの参照の代入も一緒にやってる
Dim Array As String() = new Array(3) { };と全く同じ意味になる
それが分かってるなら何も不自然に感じることはないはずだよ
>>672 そういう動作が必要なときはそうしてる。
676 :
674:2009/04/11(土) 00:14:20
Dim Array As String() = new Array(i) { }; の間違い
677 :
674:2009/04/11(土) 00:23:08
Dim Array As String() = new String(i) { }; だった
これはひどい
インストールしたらいいがな
Expressは使えないはずだけど
>>678 スレタイがSから始まるスレと間違って書き込んだとみた
Visual Studio 2005 Express を入れて居るんだけど
Windowsのアップデートチェックをすると
Microsoft Windows XP
Microsoft .NET Framework 3.5 Service Pack 1 および
.NET Framework 3.5 ファミリ更新プログラム (KB951847) x86
が表示されるんだけど、2005で使う場合
インストールした方がよいのでしょうか?
あるいは何か2005を使用する上で障害が出ますか?
あるにはある。
2005もSP1があたっていれば問題ない。
みんなおはよう
>>679 orz
ね・・眠たかっただけなんだからねっ
ビルドしたEXEファイルは、Dllファイルに依存しています。
Dllファイルを含んだEXEファイルを作り、EXEファイル単独で動かせる方法はないでしょうか?
IEではSSLなどの暗号化対策がされているときに鍵マークが表示
されるようなんですが、WebBrowserで作成したプログラムで
該当サイトをアクセスした場合でも実際には同じSSLで通信されている
と思ってよいのでしょうか。
当然
EncryptionLevelとEncryptionLevelChangedで鍵アイコンの実装もできる
>>687 早速どうもです。ということは自分でプログラムしないと黙っていては
やってくれないということなのでしたか。そのキーワードで調べてみます!
ありがとうございました!!
>>687 当然、というのは、
>該当サイトをアクセスした場合でも実際には同じSSLで通信されている
>と思ってよい
に対してですね、すみません、勘違いしました。安心しました。
みなさんVB6からみて
ここが(・∀・)イイ!
と感じたところ教えてくださいm(._.)m
VB6の方が安全。VB.NETはリバースエンジニアリングし易い、コードバレバレ状態…
>>690 マルチスレッドが使える
VB6で出来ないってことはないけどやっぱり色々とね・・・
695 :
デフォルトの名無しさん:2009/04/11(土) 23:41:47
子供が学校で購入した問題集がVB6.0で、学校のPCはVB.netらしい。
検定はCOBOLかVB6.0の選択をできるようなんだが
世の中で今普及されているバージョンのVBって何?
それにあわせて自宅のパソコンにも入れようと思うんだけれど。
子供のためならVBではなく他の言語を使え
VB6は未だに使われてて普及してるとはいえるかもしれないが、
ソフト自体が古いので入手が面倒だし、過去のものが残ってるだけでこれから普及が進むようなものでもない。
将来を考えるなら696と同様VB自体正直あんまりお勧めとは思えないが、
VBの中でこれからどれという話であればまあ最新の2008で。
とりあえず検定のためだけにVB6を買う必要は無いと思うよ。
officeのvbaは今後どうなるの?
互換性の問題から、どうにもならない
datagridviewをdatasourceとbindしないで追加してるんですけど
これのクリアはどうやるんですか?
まさか1行ずつ削除してくとか?
Office VBA.NETとか・・・・
ねぇよなw
>>700 datagridview.Rows.Clear()
ヘルプでメンバ一覧読んだら一撃だと思うんだが
703 :
デフォルトの名無しさん:2009/04/12(日) 09:24:20
OCR機能を内蔵しようと思うのですが
今現在ツールで購入できるもものがなくて困ってます。
VB.2003にて使用し、最悪 英数だけでもかまいません。
ご存知の方いらしたらお願いします。
>>703 VB6のOCXをインポート?したら?
うち業務用のOCR(免許証リーダー)でそれやってるよ
VBAが.netになってくれたらかなり助かるな
中間コード使ってる限り無理だろうなぁ。
マシン語に変換とかないかな?
とりあえず「ない」ということで答えておく。
.NetFrameワークはマルチプラットフォームを謳っているからね。
Javaのように中間コードを吐き出して、それを各プラットフォームのランタイムライブラリ(Javaでいうところの仮想マシン)
が実行する形をとってるからね。
ネイティブコードのバイナリをGACに登録ツールは一応ある。
しかし、これはEXEファイルがないとGACに登録されたネイティブコードのバイナリも
実行することはできないんだよな。
ちょっと説明がわるかった。
EXEファイルを実行すると、GACにネイティブコードのバイナリが登録されていればそれが実行されるということ。
なければEXEファイルを実行する。
>>691 スクリプター界隈からしてみたら、別になんてことはないんだけども。
コードがモロバレして困ることて、リアルであんまり関係ないし。
フリーソフト作っても改造されちゃうじゃん
そこまでやるような奴はどう対策したってやるよ
コピー対策したシェアウェア作っても改造されちゃう
の間違いでしょ。
>>713 コードでSQLを作って投げたり、生でソースに定義してたりしたらまぁ・・・一応やばいかもね
iniファイルからGetPrivateProfileStringで値を読み取るときに、全角の「)」が末尾にあると文字化けするようなのですが、
これを防ぐ方法はありませんでしょうか?
GetPrivateProfileStringA
GetPrivateProfileStringW
そもそもどのAPIを使っているかが・・・・
というかiniファイルとか懐かしいな…・
720 :
デフォルトの名無しさん:2009/04/13(月) 02:39:38
2008でActiveReports3.0を使っていますが、実行時、
「参照コンポーネント'ActiveReports'が見つかりませんでした。」という警告が出ます。
どうしたらいいのでしょうか
721 :
デフォルトの名無しさん:2009/04/13(月) 04:19:22
>>720 見つからないんだろう
バージョン違うとかまずはその辺を確認するべきじゃね?
724 :
デフォルトの名無しさん:2009/04/13(月) 11:33:07
725 :
703:2009/04/13(月) 14:12:32
VB6用にしても今現在購入できるOCRが見当たらないんです。
パナソニックやメディアドライブなど検索ででてきましたが50万ほど
掛かるので20万程度で探そうかなと。最悪海外で普通の英数だけでもいいんですが
英語能力が無いので立ち往生中です。
いっそのことWPFに乗り換えるのはだめ?
文字認識を行ってくれる機能があるから。
DirectShow、WindowsMediaPlayerコントロール、スキンなど、いずれかを使ってVB.NETでイコライザーを制御できますか?
WindowsMediaPlayerのグラフィックイコライザーみたいに。
FFTライブラリを使用すればリアルタイムにグラフィックイコライザーのような表示をさせることは可能と思われるが、
制御までは無理かと思われる。
もうWordの機能でOCRw
ありえないけど
app.configって配列的な要素ってもてないじゃないですか
やっぱXMLを自分で読み書きしたほうがいいのかな
specializedかなんかの文字列系コレクションみたいなのはあったような気がしたけどな
単体テストでprivateメンバを強制的に別インスタンスから変更したい時、何か方法はありますか?
リフレクション
どうも
736 :
718:2009/04/14(火) 01:22:08
>>719,724
レスありがとうございます。
ソースはこんな感じです。
Module Module1
Public Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal IpApplicationName As String,
ByVal IpKeyName As String, ByVal IpDefault As String, ByVal IpReturnedString As String, ByVal nSize As Integer, ByVal IpFileName As String) As Integer
End Module
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim intLength As Integer
Dim intReturnValue As Integer
Dim strReturnValue As String = Space(100)
intLength = GetPrivateProfileString("VALUES", "VALUE1", Nothing, strReturnValue, strReturnValue.Length, strFilePath)
TextBox1.Text = strReturnValue.Substring(0, intLength)
End Sub
※iniファイルの中身
[VALUES]
VALUE1=(あいうえお)
VALUE2=(かきくけこ)
VALUE3=(さしすせそ)
>>736 VISTA Business SP1
FRAMEWORK 3.5 SP1
VS2005のVBでやってみた
ソースはまんまコピペ
対象の設定ファイルのエンコードと読み取り結果は以下の通り
・ 正常
ANSI
UNICODE
SHIFT_JIS
・取得した文字が空
UnicodeBE
UTF-8
・化ける(まぁそりゃそうか
JIS
つうか、普通の感覚でやれば化けないんだが・・・
環境とかエンコードどうなんだろ
そもそも俺は化けたことが無いんであれだけど
738 :
737:2009/04/14(火) 11:04:18
追伸
文字列を例にしたら
<MarshalAs(UnmanagedType.LPTStr)>
とかその辺をつけた方がいいのかな?
FrameWorkが賢いから勝手にやってくれてるかも知れないけど
あと文字列とかStringBuilderとかでやってみた?
一応このままで動いてるっぽいし、他のサンプルとかも
>>736みたいな感じだけど
きくの忘れてたんだけど
>>718は
全体が文字化けしてしまうの?
それともその全角の')'だけ?
s= "1010101010110111000111010110101011110101010111011"
という文字列を
例えば8個ごとのかたまり(スペース区切り)にするには良い方法を教えてください。
↓こんな感じ
s= "10101010 10110111 00011101 01101010 11110101 01011101"
よろしくおねがいします。
ループで、Substringで取り出して区切り文字追加していきゃいいんじゃね
できました。ありがとうございます。
String.Join(" ", (From m As Match In Regex.Matches(s, ".{1,8}") Select m.Value).ToArray())
最近Linq試して遊んでいるので書いてみたけど、なんかいまいち。
もう一寸スマートに書く方法が無いもんかなあ。
それくらいならメソッド形式+ラムダ式の方が簡潔に書けるよ
String.Join(" ", Regex.Matches(s, ".{1,8}").Select(Function(m) m.Value).ToArray());
LinqとかJoinとかラムダって何?
ヘルプを読む気は無い
用がない人には関係ない話題だから気にせず黙ってろ
746 :
客:2009/04/14(火) 22:10:07
745が冷たいので仕事はあげません
正規表現ならこんなのかしらー
Regex.Replace(s, "(.{8}(?!$))", "$1 ")
お見事、と言わざるを得ない。奥が深いな〜
749 :
718:2009/04/14(火) 23:51:53
>>737,738
レスありがとうございます。
ループで回してvalue1から5というように取得しているのですが、見た目は正常に取得できているようにみえても最後の)の後に文字化けした文字があるようで、他の文字列と結合できない状態です。
)の右に不可視の文字があるときは削除すればいいのかとも思っています。
たぶん NULL 文字だろ。vbNullChar で検索して、切り取るってのが常道
751 :
718:2009/04/15(水) 00:01:55
環境は.NET2003で、iniファイルはSJISだと思います。
コード上で定義した文字列と結合しているので、双方の文字コードの違いによる問題なのかもしれません。
GetPrivateProfileStringAなのだから、戻り値はバイト単位。
文字数として扱えば、取得した以上のサイズになる事があっても不思議じゃない。
753 :
718:2009/04/15(水) 00:08:08
>>750 ありがとうございます。
それで試してみようと思います。
ちなみに英数のみのiniファイルからは正常に取得できています。
754 :
718:2009/04/15(水) 00:12:17
>>752 ありがとうございます。
参考になります。
DataGridViewで特定のセルへはフォーカスが移動しないようにしたいのですが、
可能でしょうか?
CellStateChanged イベントで、イベント引数の Cell プロパティが
「特定の」に該当してて、かつ StateChanged プロパティに
DataGridViewElementStates.Selected フラグが立ってたら
隣のセルを選択するとか。
>>756 CurrentCellで右のセルを選択するようにしたところ、左右から「特定のセル」に
入ろうとしたときは上手くいくのですが、上下から入ろうとすると妙なことになってしまいます。
同様に下のセルを選択するようにしたら、上下からは大丈夫なのですが
左右からがダメでした。
あれだ
選択したときの色と背景の色を同じにしてごまかすとかw
外部から与えられる可変情報を構成ファイルというやつで扱えるらしいというので、
ttp://dobon.net/vb/dotnet/programing/editappconfigfile.html を参考にやってるのですが、
Dim config As System.Configuration.Configuration = _
System.Configuration.ConfigurationManager.OpenExeConfiguration( _
System.Configuration.ConfigurationUserLevel.None)
のところで、
『型 'System.Configuration.Configuration' が定義されていません。 』
というエラーが出力されて、躓いています。
他に何か必要なのでしょうか。
環境
vb 2005 express edition
.net framework 2.0
Windows XP 2002 SP2
以上、よろしくお願いします。
761 :
デフォルトの名無しさん:2009/04/16(木) 00:42:21
ContextMenuStripのようなフォーカスを取らないウインドウにリストボックスを表示することは出来ないでしょうか?
>>760 参照の追加
何が必要かはヘルプのクラスの解説に書いてある
>>762 System.Configuration (system.configuration.dll )の参照を追加して解決しました。
どうもありがとうございました。
精進します。
764 :
デフォルトの名無しさん:2009/04/16(木) 08:42:39
ドラッグ&ドッロプでエクスプローラーでは少し透過されたアイコンが動いて行きますが
ドラッグ&ドロップで同じように任意の画像を動かしているように見せる方法はありますでしょうか?
よろしくお願いします。
プログラム内で相対パスを指定した場合、どこから見た相対パスになるのでしょうか。
アプリケーションの実行ファイルを置いてある場所でしょうか。
カレントディレクトリ
カレントディレクトリって今開いているフォルダのことでいいですか?
カレントディレクトリはカレントディレクトリ
System.IO.Directory.GetCurrentDirectoryで取得できるから見てみるといいよ
771 :
757:2009/04/16(木) 14:49:31
>>759 選択セルを表す背景色は下へ移動するけど、フォーカスと
枠線は元のセルに残っているという感じでしょうか。
773 :
デフォルトの名無しさん:2009/04/17(金) 00:36:10
教えてください。
listbox1とlistbox2を比較して、listbox2にないものをlistbox3に入れる。
listbox1 listbox2 listbox3
aaa aaa bbb
bbb ccc
ccc
どのようにしたら良いでしょうか?
君がやった通りの手順をプログラムすればいい
総当たりで比較すれば?
一発で抜き出す方法が欲しいなら知らん
Enumerableにある拡張メソッドのCastとExcept(とToArray)使えば一行で書けるな
777 :
デフォルトの名無しさん:2009/04/17(金) 07:51:23
778 :
デフォルトの名無しさん:2009/04/17(金) 08:41:41
WebBrowserで表示しているWebページ上で、ボタンか何かクリック
して動作したスクリプト類が終了せず、制御が戻ってこないことが
あった。
そういうときに外側から強制的に終わらせたいが、ビジーになって
アプリケーション自体が「応答なし」になることがある。タスクマネージャ
でみるとアンチウイルスソフトがライブアップデートみたいな動作中
だったりしてるのだが、アプリケーションの「応答なし」状態は終わらない
まま。 何か手があるだろうか?
制御が戻ってこないときに対応できプログラムの作り方の特効薬ってありますか?
>>779 やっぱりそうですか・・・!残念。どうしよう・・・
tes
t
783 :
デフォルトの名無しさん:2009/04/19(日) 01:04:16
Visual Studioでクラスファイルを追加すると、
C#の場合はプロジェクトの既定の名前空間とフォルダ階層を繋げた namespace が自動的に挿入されるのに
VB.NETだとされなくて困ってます。
VB.NETの場合もC#と同様に自動で namespace が挿入されるような設定って出来ないですか?
いちいち自分でやるの面倒で死にそうです。
784 :
783:2009/04/19(日) 01:17:52
説明が足りなかったので補足。
・C#の場合は、クラスを追加すると「既定の名前空間 + フォルダ階層」の namespace のコードが自動挿入される。
・VB.NETの場合は、クラスを追加しても namespace のコードは自動挿入されない。
「ルート名前空間」が暗黙的に namespace として設定されている。
また、プロジェクト内にフォルダを作ってその中にクラスを入れても、そのフォルダは namespace として認識されない。
全て「ルート名前空間」に設定した namespace 直下に存在する事になってしまう。
要するに、VB.NETでもC#のようにフォルダを namespace として自動的に認識させたいんですが、可能でしょうか?
不可能じゃない?
VBはルート名前空間を下手につけちゃうとプロジェクト内の全部の名前空間が
これの配下になるとかこの辺余計なお世話で鬱陶しいね。
まあ手動でファイルごとに名前空間してもそう大した手間でもないといえばないが、
フォームとかユーザーコントロールだとデザイナが自動生成したパーシャルクラスに
手を加えるのはちょっと気分的に嫌よな。
786 :
783:2009/04/19(日) 02:38:18
>>785 そうなんですか。。
大規模システムをVB.NETで作る場合、みんなどうしてるのかな?
いちいち手動でnamespace設定してるの?
それともまさか全クラスがルート名前空間の直下だったりする?んなわけないよね。
まあクラスライブラリ的なものを作ってるのでもなければ
プロジェクト内は同じ名前空間(というか名前空間ごとにプロジェクトを分ける)
でもそう困らない気もしないでもないけどね。
VB.netで作られたソースが無く泣く、exeをデコンパイルしたいのですがフリーウェアで何かあったら教えて下さい。
シェアウェアでも安いのがあれば教えて下さい。
reflector
TreeViewで選択されているノードの背景色を変えたいのですが、
Node.BackColorを設定してもシステムの選択色(青色、非アクティブのときは灰色)
が優先されてしまって効果がありません。
なにかいい方法はないでしょうか?
>>790 DrawModeにOwnerDrawTextを指定して、
DrawNodeイベントで自前描画を頑張る。
実装サンプルがDrawNodeの説明の所にあるから、そんなに難しくはなさそう。
792 :
デフォルトの名無しさん:2009/04/19(日) 16:43:06
vb2005でjpegヴュアーを作った
警告がなんか鬱陶しいと思った
可哀想な人を見る目で周りの人に見られたくなかったら問答無用で警告には従え
マウスダウンイベント⇒オブジェクトのクリックイベント⇒マウスアップイベント
と言う流れでイベントが発生するとき、条件によって、
クリックイベントが発生しないようにするには(マウスダウンで処理終了)
どうしたらいいですかね?
Clickイベントで条件によってなにも処理しなけりゃいいんじゃね?
レベル低い質問で申し訳ないです。
ボタンとラベルが複数あるとして、
例えばボタン1を押すとラベル1にイベントが起こり、
ボタン15を押すとラベル15に・・・ってのをスマートに書く方法はないでしょうか?
>>796 方法のあるなし以前に、その問題意識がおかしい。
仮に出来るとしても、少々まともなプログラマならそんなことをしたいと思わないはずだ。
798 :
796:2009/04/20(月) 00:43:08
>>797 VBを学び始めたのが最近で、理解が浅いうちにプログラマーの方にこんなことを聞くのも失礼だと思うのですが、
どのあたりが「そんなこと」なんでしょうか。
まず、ボタンとラベルをそんなにたくさん設置する必要はない、ということでしょうか?
それとも、15個のボタンに一つ一つ処理を与えるのがベストということなんでしょうか?
>>798 >>797じゃないけど、
ボタンをクリックしてラベルのイベントを起こすってのがおかしい。
というか、たぶん
>>798はイベントそのものに対する理解が浅いんだね。
その辺りは冷たいようだけど自分で本でもwebでも読んでちゃんと勉強してよ、
としかいいようがないよね。
ラベル1_Changed
Windows98でも動く?
VB.net製のソフトが動くかという話なら、
そのソフトが.netFramework3.0以上を要求しておらず、かつそのPCに、.netFramework2.0が入ってれば動く。
ソフトのReadmeあたり必須環境書いてあるだろうから嫁。その辺の情報が書いてないようなソフトなら使うな
Win98のPC上においてVB.netを使って開発できるかという話なら対象外だったと思った。
MS-DOS3.3のPC98でも動く?
おまえら、わがままな客にはなれてないのな
>>806 このタイミングでその言葉が発せられる意味がわからん
808 :
790:2009/04/20(月) 15:52:05
>>791 サンプルをコピペしたところ、選択ノードが変わったとき背景色の一部が
残ってしまったり文字が途中で切れてしまったりで、Boundsを調整する必要が
あったのが気持ち悪いですが、なんとかちゃんと表示できるようになりました。
ありがとうございます。
いや客だろ
金くれればね
教えてください
FTPクライアントのプログラムはwebを探せば結構簡単に見つかるのですが
FTPサーバのプログラムはちょっと見つかりませんでした。
VB.NETでFTPサーバを作るのはしんどいのでしょうか?
ソケットプログラミングができれば、それほどしんどいもんでもない。
が、普通は IIS なり、フリーの FTP サーバーがあるから、わざわざ作らないってだけ。
ListViewの表示を文字だけの状態にしてあるのですが、
行ごとに自由に色を設定する方法を教えて頂きたいです。
選択しているときの色とかではなくて平常時の背景としての色なのですが行毎個別に変えられますか?
文字だけってView.Detailのこと?
ListViewItem.BackColor/ForeColorで変更できるけど
816 :
デフォルトの名無しさん:2009/04/20(月) 22:45:14
そうですView.Detailです。
ListViewItem(i).BackColorでできました。
ありがとうございます。
いい加減、名前空間も含めて書くようにしたほうが良いかもしれんね。
System.Windows.Forms.ListView
System.Windows.Controls.ListView (WPF)
System.Web.UI.WebControls.ListView (ASP.NET)
こんな感じだし。
たびたびすみません。
アイテムのデータをファイルから読み込んでListviewに登録する
For Nextの中に
If ListView1.Items(i).SubItems(1).Text = "ほげ" Then
ListView1.Items(i).BackColor = System.Drawing.Color.Aqua
End If
を入れたらアイテムを登録し終わるまでの時間が数10倍になってしまったので
表示されている部分だけを調べて色を変えれば良いかと思っているのですが、
ListViewの表示されているアイテムが変わったら発生するイベントはどれでしょうか?
スクロールのイベントがあるかと思ったのですがそれもないのですが
なにか良い方法があったら教えて頂きたいです。
名前空間を含めて書くというのがよくわからないのですが
System.Windows.Forms.ListView だと思います。
>>818 AddRangeで纏めて追加するか、
BeginUpdateで一旦表示更新を止めるか、ってところか。
あと、ListViewに追加する前に背景色とかは設定しておけ。
ListViewItem経由ならできるだろ。
表示されている部分だけを調べる方法だと、
オーナードローか仮想モードになるが一寸大袈裟過ぎるな。
上記方法で解決しないなら頑張ってみるのも良い。
>>818 レスありがとうございます。
色は最初に設定しておくべきというのは
色設定とアイテム登録でForNextが2回実行するということでしょうか?
その方が速いでしょうか?
AddRangeは試していないのでやってみたいと思います。
オーナードローや仮想モードは難しそうですね
まず上の方法を試してみます。
Excelで300件弱程度のデータを扱っていたのですが、.netを学習してみるとヘルプによればデータベースはsdf形式のファイルを扱っているようです。
そこで、xlsをsdfに変換したいのですが、どうググっても見つからないし、SQLserverのヘルプを読んでも手当たり次第にいじってみても変換できそうにありません。
どなたかお知恵を拝借願えませんか。
なにそれと検索してみたけど結局csv?
つかExcelインストールしてるならJet OLE DB使えばxls直接読める
ややこしいけどできました。
>>822 ありがとうございました
sdf は SQL Server Compact Edition のデータベースファイルだな、たぶん。
簡単に言うとmdbの強化版みたいなもの。ちなみに全部フリー。
825 :
デフォルトの名無しさん:2009/04/22(水) 13:47:53
WebBrowserで何かのページを表示していてたまたまその中の画像の隣
の空間をクリックした瞬間に、アプリでエラーが発生しました!!
デバッガーでやっていたのでそのとき出たエラー情報がこれでした、
メッセージ: "保護されているメモリに読み取りまたは書き込み操作を行おうとしました。
他のメモリが壊れていることが考えられます。"
場所情報としては、自分のコードの場所ではなく全部内部コードの模様、
途中に
場所 SampleApp.My.MyApplication.Main(String[] Args)
場所 17d14f5c-a337-4978-8281-53493378c1071.vb:行 81
とかいう箇所があるもファイル探せず(見当たらない)。
どうやって対策すればいいでしょう?何かこういうプログラムコード外のところで
突拍子もなくメモリ領域アクセス違反のエラーが出て来やすくなって困っています。
例外の種類は?
AccessViolationException とか?
827 :
デフォルトの名無しさん:2009/04/22(水) 15:55:36
>>826 どうもです。その記録をうっかりしました、すみません。
それで、ひとつ忘れていたことがあって、調べてみたところ、WebBrowserで
YouTubeを見たときに、ビデオのスタートボタンを一回押してビデオを見て、
途中で止めてからまたもう一度スタートボタンを押してもそれが効かないという
問題があった頃があって、しかたなくどこかで教えてもらった方法で
'YouTube などのFlashコンテンツでクリックが一度しか正常に機能しないという問題への対応策
Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
Select Case m.Msg
Case &H201, &H204, &H207, &H21 ' WM_LMOUSEBUTTON
MyBase.DefWndProc(m)
Return
End Select
MyBase.WndProc(m)
End Sub
こんな感じの処理を入れていたことに気がつきました。それは、最初のエラーの後で
たまたま「継続」を押してみたときにここでも同じようなメモリアクセス違反のエラーが
起きたためで、ここがもしかすると・・・?と思い、今ここをとりあえず削除してやってみてます。
これが悪さしていたとすれば直るのかも、と思って見てみます。また報告します。
828 :
827:2009/04/22(水) 17:39:23
ところで、たとえばデバッグの方法としてですが、こうしたWebBrowserでの
スクリプトのエラーなどが起こったときに、「デバッグしますか?」のダイアログ
が出るときがありました。
このようなときは、デバッガーとしてVSを選んで行いたいのですが、
すでにデバッガーを使って自分のアプリケーションのデバッグ中のときには
それを使って該当箇所のデバッグはできるものでしょうか?
どうもデバッグをしますか?→「はい」ボタンを押したときには、どうやっても、
結局、
「プロセスにアタッチできません。デバッガは既にアタッチされています」
とメッセージが出てきてデバッグに入ることができずにいました。
うまい方法はあるものでしょうか、よろしくお願いします。
一部のコントロールにはBeginUpdateがありますが、
フォーム内のコントロールをまとめて一時的に再描画禁止にできないでしょうか?
表示データ切り替えの際にちらついてしまうのを防ぎたいのですが。
DateTimePickerで時間と日数を指定するコントロールとして使いたいのですが
標準だと2009/04/21や01:48:59の表示になると思いますが
これを日数+時間で表示するように設定するにはどうすれば良いでしょうか
できれば 25+20:50:30 のように出て欲しいのですが可能でしょうか?
(25日と20時間50分30秒) 25 20:50:30←でもいいです、これは余りこだわりません。
一ヶ月以内の期間を扱うので31日以上はないです。
DateTimePicker1.Format = DateTimePickerFormat.Custom
これを使うように思うのですがググってもわからず教えて頂きたいです。
すみません。
Me.DateTimePicker1.CustomFormat = "dd日 + hh時間mm分ss秒"
でできました。
832 :
830:2009/04/22(水) 23:52:26
DateTimePickerには0日の設定が出来ないでしょうか?
もしかしてこれはカレンダーと時刻用であって、日数と時間に使うには不向きなのでしょうか?
良い方法があったら教えて頂きたいです。
うぜえ!
>>834 目が疲れてる時にさらに画面見て回復するものなの?
ピンホールアイマスクでも使ったら?
>>832 不向きというか「日付・時刻」なんだから、「日数・時間」には使えないに決まってる。
普通にテキストボックスでやればいいじゃん。
>>835 眼精疲労は目の筋肉を動かすことによって回復しますよ。
VB2008でグラフを扱うにはなにがオススメですか?
何のグラフだよ
VB2008Expressを初めて入れてみたんですが
VB6やVBAで使えていたイミディエイトウィンドウの使い勝手って変わったのでしょうか?
試しにForm1のクラスに
Sub test()
Console.WriteLine("test");
End Sub
と加えて実行、一時停止してイミディエイトウィンドウでは
? Form1.test
? Form1.test()
? test
? Call Form1.test
などやってみましたが「式を評価できません。」とでます。
申し訳ないですがVB2008でのイミディエイトウィンドウの基本的な使い方を教えていただけませんか?
ググってもあまりないようなので。
843 :
842:2009/04/25(土) 03:39:00
ForNextで別フォームの複数のテキストボックスのプロパティを同じ内容に設定する方法を教えてください
同じフォームなら
Dim t(20) As TextBox
For i As Integer = 1 To 20
t(i).Text = ""
Next
でいいと思いますがこれをDim F2 as New Form2
と宣言してあるフォームのTextboxに使うにはどうすれば良いでしょうか
Form2でプロパティでも何でも作ってやれば?
例えばform2で
public aaa(20) as textbox
とか宣言しといて
form2のコンストラクタでも何でもaaaにセットする部分作って
form1で
form2.aaa
とかでアクセスすればいいんじゃ?
KeyPressのイベントで
どこかに(チャット欄等に)入力してる、してないかって判別するにはifでどういう風に作ればいいんだ?
ActiveControlでも使えばいいんじゃね
sender で判断すれば?
どこでどんなグローバル変数を使ってるかわかんなくなっちゃったんだけど
ココは日記を書くところじゃありません。
ツールの使い方を聞いてるのか?
>>849 グローバル変数って奴ぁそういうもんです。
>>849 どこか一か所で宣言しているなら、それを用途別にモジュールとか静的クラスにでも分けてそれを使うというのはどうだろう?
グローバル変数って何?
publicクラスでpublic変数つこうたってこと?
VB.NETだから、Moduleのpublic変数だろうな。
今は「すべての参照の検索」一発で簡単に列挙できるから楽になったものだ。
>>856 「複数箇所での変更と参照」が入り乱れてたりすると
何の役にも勃たないけどな。
858 :
デフォルトの名無しさん:2009/04/29(水) 02:49:03
すみません、GDIで角丸四角形書いたのですが
なんか4隅が均等に見えません
右下の角が狭いように感じるのですが。目の錯覚ですか?
Private Sub Form2_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint
Dim g As Graphics = e.Graphics
g.SmoothingMode = Drawing2D.SmoothingMode.AntiAlias
Dim p As New Pen(Color.Black)
Dim stx, sty As Integer
stx = 50
sty = 50
g.DrawArc(p, 0 + stx, 0 + sty, 10, 10, 180, 90)
g.DrawLine(p, 5 + stx, 0 + sty, 90 + stx, 0 + sty)
g.DrawArc(p, 85 + stx, 0 + sty, 10, 10, 270, 90)
g.DrawLine(p, 95 + stx, 5 + sty, 95 + stx, 45 + sty)
g.DrawArc(p, 85 + stx, 40 + sty, 10, 10, 360, 90)
g.DrawLine(p, 90 + stx, 50 + sty, 5 + stx, 50 + sty)
g.DrawArc(p, 0 + stx, 40 + sty, 10, 10, 90, 90)
g.DrawLine(p, 0 + stx, 45 + sty, 0 + stx, 5 + sty)
p.Dispose()
End Sub
GDIならRoundRectだろ、ってのは置いておくとして、
アンチエイリアスの加減で偶然そんな感じになるな。
ScaleTransformとかで拡大描画すると全く判らなくなるけど。
あと、こういう描画をするならGraphicsPathの方が良いかもしれない。
Dim gp As New GraphicsPath
gp.AddArc(...) x4
gp.CloseFigure()
g.DrawPath(p, gp)
って感じでやれば、間を勝手に直線で結んでくれるので、
一つずつ書くよりは綺麗に繋がるはず。
860 :
デフォルトの名無しさん:2009/04/29(水) 11:26:38
>>859 ありがとうございます。とりあえず拡大したときの隙間はなくなりました
カスタムコントロールで綺麗なボタンを作ろうと思ってやってるんでが結構難しいです
アンチエイリアスの関係からかボタンを青で塗りつぶしたら綺麗に見えても灰色
とか薄い色にすると歪んでみえたり・・
今はボタンにイメージを貼り付ける方法を試してるのですが角を丸めるために
GraphicsPathでRegionを設定しようと思ってます。
でもこれだとアンチエイリアス効かないだろうからうまくいかなそう・・
市販のソフトとかはどうやって綺麗にしてるんでしょう?
ボタンの色を背景と合わすとかボタンの周囲を濃い色で囲むとかして画像的に
目立たないようにしてるような気もしてきました。
DataGridViewのDataSourceとDataMemberにDataSetとDataTableを適当に突っ込んで行追加、行削除の動作を調べてたんだけど、
行を消して新規行だけになった場合、行が削除されたのにUserDeletedRowイベントが発生しないのは何故?
UserDeletingRowイベントは発生してるし、実際に行は削除されてるんだけどなぁ。
それとも最後の行を消した場合は何か別のイベントが発生するの?
誰か教えて下さい。
863 :
デフォルトの名無しさん:2009/05/01(金) 03:16:11
結合テーブルのDataAdapterでUpdateするにはストアドプロシージャ使うしかないの?
>>862 Thanx!
それにしてもなんという糞仕様。
865 :
864:2009/05/01(金) 09:33:24
>>862 > UserDeletingRowとUserDeletedRowでAllowUserToAddRowsをいじればいけるよ!って投稿もあるけど
そのやり方でうまくいきました。
2005のxmlで、要素探して文字列置換する関数教えて
要素探すのはXmlDocumentのSelectNodes/SelectSingleNodeあたり
置換は見つけたXmlTextのValueとか
>>867 >XmlTextのValue
ってなに?
なにって言われてもそういうクラスのプロパティとしか言いようが無いが
何というゆとり乞食
XMLってどういう時に便利だなあって思いますか?
階層をテキストで表現したいとき
>>872 CSVでやり取りしてたらチェックがめんどくさいなぁと言うとき
色々調べた上での質問なんですが、VisualStudio2005で、VB.NET、XP Pro SP3の環境で、
WindowsApplicationでのレジストリのバックアップを名前を付けて保存ダイアログを開いて、
保存する方法がわかる方がおりましたら、教えてください。お願いします。
>色々調べた上で
とか書いてる奴の半分は何もやらずに聞いてる奴。
調べたらわかることだろ
レスの無駄。そんなレスしてる暇があったら早く答えろ。
879 :
デフォルトの名無しさん:2009/05/01(金) 21:37:11
うちの仕事場まだVS2003なのですが時代遅れですか?
最新版にするように進言したほうがいいですか?
>>879 別にいいんじゃね
VB6もバリバリ使ってるから大丈夫だよ
さすがにVB6はちょっと
VS2008は統合開発環境としてのデキは良いから使えるなら使いたいところ
というか2003だと.NET 1.1しか使えないからライブラリの制約が結構きついような気がする
ジェネリックとか使えないし
作るものにもよるんだろうけど
882 :
デフォルトの名無しさん:2009/05/01(金) 21:46:11
2003使うくらいならVB6のがいいな
でも2008にするのがいいな
君たち、ここで安易に質問しない方がいいぞ!
中途半端なレスを返されて、よくわからないからといって
どぼん.NET や @IT Insider フォーラムで似たような質問すると、
「マルチ禁止!」なんて言われて質問どころじゃなくなるのがオチ。
つまり、どぼん.NET の連中や、@IT Insider の連中はこのスレにも顔出してるし
このスレで質問するくらいなら、初めからどぼん.NETや @IT Insider で質問した方がいい。
今の時代、「マルチ禁止」ほど無駄な規制はないのだが、
奴らはネットのマナーとか気持ち悪いことを言い放つだけあって
常識は通用しない。気をつけろ!
そんなこと言うのは、わんくまのやつらだけじゃないのか?
いやでも確実にこたえるために、いろいろ調べた上で質問に答えてるのに
よそで答えてもらって無視されるとマルチやめろって思うよ、ほんま。
VBを使ってweb上に表示している数字等を取り込みたいのですが方法がわかりません。
具体的な方法かどのような本を読めばいいのかお教え願えないでしょうか。
>888
画像になってる数字なら諦めろ
テキストならHTMLファイルから頑張って抽出
890 :
デフォルトの名無しさん:2009/05/03(日) 16:52:29
JDownloader のソースでも見てみれば?
こんな感じ
Dim app As New Excel.Application
Dim books As Excel.Workbooks
Dim book As Excel.Workbook
Dim sheets As Excel.Sheets
Dim sheet As Excel.Worksheet
books = app.Workbooks
book = books.Open("c:\test.xls") 'ファイルを開く
sheets = book.Worksheets
sheet = DirectCast(sheets.Item(1), Excel.Worksheet)
app.Visible = True 'アプリケーションの表示
でエクセルを操作しているのですが、ファイルを開く箇所で、該当するファイルがすでに開いていた場合には、新たにファイルを開かずに
すでに開いているファイルを操作したいのですが、これはどうすればできるのでしょうか?
できるけど、お勧めはしない。
>>889 ありがとうございます。
web上で範囲指定してCOPYで取り込むことを考えてます。手動ではもちろんできますがこれを自動でしたいと思っています。
手動でできることはVBをつかって出来るものと考えてますが間違えてないでしょうか。
したいことは、あるサイトに表示されているテキストデータをエクセルに記憶させることですが、パスワードの入力やクリックをしないとそこにいきつけません。
その辺のことをVBでするにはどうすればいいのかがよくわかっていません。
おすすめの本等があれば教えてもらえないでしょうか。
郵便番号の奴か?
>>896 HTTP を勉強しろと。パケットキャプチャでもして、何が行われてるか調べてみ。
oExcel = GetObject("c:\book1.xls", "Excel.Application")
だと、エクセルが開いていないときにしばらく固まってしまいます。
ファイルが開いているときは GetObjectで該当ファイルを取得して、開いていないときはファイルを開くにはどうすればいいでしょうか?
>>896 ブラウザの通信と同様の処理を行えば理論上は可能。
System.Net.WebClient を使えば案外簡単にできるかもしれん。
>>899 どーすんのがいいだろね? 排他で対象ファイルを開いて、開けなかったら Excel がすでに
開いてる、って判断するとかどうだろ? Excel がファイルをどのように開いてるか、に依存するけど。
>>901 うーん、環境によっては同一ファイル名のエクセルファイルは開けないようですが、book = books.Open("c:\test.xls") とすると、
同一ファイル名でも上書き禁止で開けてしまうと思いました。
やはりwinapiで該当ファイルのハンドルを取得して、取得できなければ開くというのがよさそうな気がしますがどうでしょう?
他にもっといい方法はありますかね。
排他で開くってのは、Excel とは関係なく、System.IO な形で開くってことね。
>>901のやりかたは、
if 排他で対象ファイルを開ける then
(ここで他者が開く可能性がある)
excelで対象ファイルを開く
end if
>>904のやりかたは、上書き禁止で開いたファイル名も取れてしまう。
なので、
>>902の上書き禁止で開けてしまったかどうかの判定がええんとちゃうか?
>>906 うーん、確かにネットワーク上の共有フォルダにファイルがあった場合、他の人が開いている可能性もありますね。
ちょっと調べて見つからなかったのですが、上書き禁止かどうかの判定はできるんですか?
workbook.readonly
>>908 ありがとうございます。
考えがまとまってきたので、これから書いてみようと思います。
サンプルを見るとエクセルを新規に開く場合には、
Dim Excel As New Excel.Application
となっており、すでに開いているxlsにGetObjectする場合には
Dim Excel As Excel.Application
となっています。
すでに開いているかどうかを調べて、開いていなかった場合には新規に開きたいのですが、
新規に開いた場合にも同一の変数名を使いたいと思っています。
Dim Excel As Excel.Application
で定義した変数を
Dim Excel As New Excel.Application
と再定義することは可能なのでしょうか?
再定義の必要はなし。
Dim Excel As New Excel.Application
は、
Dim Excel As Excel.Application
Excel = New Excel..Application
と同義。
あ、ごめん。ピリオドが一個多かった。
>>911 ありがとうございます。同義だったんですね。
COMオブジェクトの解放なんですが、こんな感じ
If Not oBook Is Nothing Then
System.Runtime.InteropServices.Marshal. _
ReleaseComObject(Book)
oBook = Nothing
End If
でつらつらと書いていくのが面倒なので、
Private Sub ComObjectRelease(ByRef objCom As Object)
'COM オブジェクトの使用後、明示的に COM オブジェクトへの参照を解放する
Try
'提供されたランタイム呼び出し可能ラッパーの参照カウントをデクリメントします
If Not objCom Is Nothing AndAlso System.Runtime.InteropServices. _
Marshal.IsComObject(objCom) Then
Dim I As Integer
Do
I = System.Runtime.InteropServices.Marshal.ReleaseComObject(objCom)
Loop Until I <= 0
End If
Catch
Finally
'参照を解除する
objCom = Nothing
End Try
End Sub
ComObjectRelease(CType(book, Object))
ComObjectRelease(CType(books, Object))
ComObjectRelease(CType(Excel, Object))
とかしたいのですが、これって妥当なのでしょうか?
最後にSystem.GC.Collect()は付けた方が良いのでしょうか?
>>911 今回は必要ないとしても、同一名の変数を再定義することは可能でしょうか?
reDimは配列の再定義だけに有効なようなので。
>>913 妥当かどうかは知らん。俺はいつも、ReleaseComObject() だけでやってるし。
GC.Collect はいらん。
>>914 できない。つーか、試してみたら怒られるだろ?
新規にxlsを開くときは
Dim Excel As New Excel.Application
としないと開けないようです。
Dim Excel As New Excel.Application
は、
Dim Excel As Excel.Application
と同義ではない気がします。
>>918 >その二つが同義、って誰が言ったの?
>>911にあります。
>>913後段のコードは妥当でしょうか?
If Not Book1 Is Nothing Then
System.Runtime.InteropServices.Marshal. _
ReleaseComObject(Book1)
Book1 = Nothing
End If
If Not Books1 Is Nothing Then
System.Runtime.InteropServices.Marshal. _
ReleaseComObject(Books1)
Books1 = Nothing
End If
とか書いていくとコードが長くなってしまうのですが。
>>918 失礼。
Dim Excel As Excel.Application
Excel = New Excel..Application
と同義ということですね。
仮にこのスレの誰かが「妥当」っていったところで、それを信じるの?
で、もしうまく動かなかったとしたら、「2ちゃんのスレで『妥当だ』って言われました」って言い訳するの?
自分で検証して、自分で判断するくせをつけといたほうがいいよ。
>>921 うーん、そうですね。失礼
懲りずに質問なんですが、セルの文字列に改行が含まれる場合(Alt+Enterで改行)、そのセルの1行目のフォント色は青、
2行目は赤とすることはできますでしょうか?
>>922 セル内の文字列のいち部分に対して文字色を設定することは、確かできるはず。
マクロの記録してみ。
>>923 ありがとうございます。マクロの記録という手もありますね。
sheet.Cells(1, 1).Characters(Start:=5, Length:=3).Font.ColorIndex = 3
こんな感じでできたようです。
マルチスレッドで質問です。
メインスレッドはワーカースレッドの終了を待ってから
終了しないといけないんでしょうか?
>>925 メイン=主。他の奴に仕事させといて、先に帰る奴は主たり得ないな。
>927
まずはお前がここから帰れ
うーん、ここも香ばしい
ここ「も」って事は、たぶん己の体臭に気が付いていないだけだと思われ。
カレー臭?
やっぱり香ばしい
とか思っていると、火事だったりするから油断禁物。
初期消火は重要。
腹痛い。もうだめw
屁ぇコキましたね?アナタァ〜!
ProgressBarについて質問させてください。
.NET FW 1.1で2.0ではプロパティ値で設定できるマーキープログレスバー
progressBar.Style = ProgressBarStyle.Marquee;
のようなことを実現することは可能でしょうか?
936 :
デフォルトの名無しさん:2009/05/06(水) 07:52:19
マイクロソフトっていうのは吉外会社ですか?
937 :
デフォルトの名無しさん:2009/05/06(水) 07:54:49
この会社は一回、潰れたほうがいい。
そうしないと自分たちが何をしてるかについて目覚めないよ。
938 :
デフォルトの名無しさん:2009/05/06(水) 08:01:11
方向性が根本的に間違ってる。
「使いがってをよくする」という名目で、プログラミングをますます難しくしてるだけ。
こんなやりかたするより、win apiのマニュアルやプログラミグガイドをしっかりした
ほうがはるかに効率があがるし、初心者も調べやすく、誰かに聞きやすくなる。
こんなやりかたされたら、マイクロソフトのユーサーは何年やっても「初心者」のまま。
939 :
デフォルトの名無しさん:2009/05/06(水) 08:08:17
マイクロソフトは、vbをますます学びにくい言語にしてるだけだ。
学習しやすいということは「調べやすい」ということななんだ。
世界中が、いつも初心者なら、本当の初心者は誰に聞けばいいのか?
こんなやりかたするよりマイクロソフトは、スタック領域を強化するとか、
柔軟にするとか、メモリマップを柔軟に、わかりやすくするように
努力すべき。そのような柔軟性をもったほうが「プログラミングを
覚える人のため」にもなるよ。
940 :
デフォルトの名無しさん:2009/05/06(水) 08:11:57
マイクロソフトは、「学習しにくく、バグが減らない道」を進んでるだけ。
>>935 そもそもMarqueeはVisualStyle使用時のみ有効だけど
.NET1.1じゃVisualStyleにできないしなー。
「のようなこと」程度なら自作すればいいって話だけど、
テーマごとに変更とかありえないだろうしなー。
意味不明なことを偉そうに書かれても、頭の悪い初心者なんだなとしか思わんよ
943 :
デフォルトの名無しさん:2009/05/06(水) 08:53:13
マイクロソフトの言語は「バベルの塔」だよ
942は936-940へのレス
945 :
デフォルトの名無しさん:2009/05/06(水) 08:56:13
↓定義の説明がない恣意的語義で意味不明な語句を使いまくるヘルプ、どこの会社のことだ?
>意味不明なことを
946 :
デフォルトの名無しさん:2009/05/06(水) 08:59:39
この会社のヘルプ、エラーメッセージは「おごり」の最たるものを象徴してる。
「バベル」の典型。
むずかしいことばをしってるんでちゅねー
じゃあつぎはただしくつかえるようにしましょうねー
948 :
デフォルトの名無しさん:2009/05/06(水) 09:05:40
↓こういう傲慢な奴等のバベル会社は潰れるのが神の摂理
942 名前:デフォルトの名無しさん :2009/05/06(水) 08:51:05
意味不明なことを偉そうに書かれても、頭の悪い初心者なんだなとしか思わんよ
949 :
デフォルトの名無しさん:2009/05/06(水) 09:17:52
舞い上がりすぎ、マイクソソフト
950 :
デフォルトの名無しさん:2009/05/06(水) 09:37:24
C++にしたって、プロほどNETは使ってないという一面がある
ことを、マイクソはよく考えろっていうの。
朝から大変だねえ……
vb話せよ
955 :
デフォルトの名無しさん:2009/05/06(水) 16:22:03
VirtualPC でも VMWare でも使って、VB6 専用環境を作ればOK
957 :
955:2009/05/06(水) 17:38:15
すいません。そもそもVS2008とVB6って共存できないって事?
たまたまだよ
インストールし直してるうちに治ることもある
こっちは問題なく動いてる。
XPSP3でVB6は製品バージョン(サブスクリプションではない)のProSP6。
この手の問題はWindows Installerのバージョンを上げてみるとかで
解決することもあるな。
VSTOが悪さしているような気がする…
961 :
955:2009/05/07(木) 09:11:33
>>958 ラジャ。確かに別のPCではなんの問題も無いようだし。
>>959 サンクス。それはまずやってみる。
>>960 キーワードサンクスと思って早速ググッたらVS tools for officeの
事なのね。そういえば「アプリケーションの追加と削除」にVSTO2005の
Runtime Language Packだけ入ってる。VSTO2008のRuntimeが必要かな?
962 :
デフォルトの名無しさん:2009/05/07(木) 11:12:35
VB.NETでLockWindowUpdateって使用できないのでしょうか?
描画を抑制したく、使用してみましたが、有効にならないみたいで・・・
どなたかご存知ないでしょうか?
何の描画を抑制したいのやら
964 :
デフォルトの名無しさん:2009/05/07(木) 11:27:18
>962
ウィンドウの描画です。
VBでキーボードを押すとドレミを演奏するものを作っているのですが、
キーボードを押す長さで音の伸びも変わるようにしたいです。
その場合、keyupとkeydownどっちが良いかなど全然わかりません。
一応音は鳴るのですが、音の伸びが自在に操ることができません。
どうしたらよいのでしょうか?
どなたかお解りになる方がおられましたらご教授ください。
KeyDownで開始してKeyUpで停止するようにすればいい
どうやって/何を使って鳴らしてるのか知らんけど
967 :
965:2009/05/07(木) 12:20:27
>>966さん
その発想はありませんでした・・・。
本当にありがとうございます!
>どうやって/何を使って鳴らしてるのか知らんけど
すいません。書き忘れていました。midiを使っています!
>>965 APIを使ってMIDIを鳴らしていると思われるが、
以下のようなプログラム組めばできると思うんだが
Private Declare Function midiOutOpen Lib "winmm" (ByRef lphMidiOut As IntPtr, ByVal uDeviceID As Integer, ByVal dwCallback As Integer, ByVal dwInstance As Integer, ByVal dwFlags As Integer) As Integer
Private Declare Function midiOutClose Lib "winmm" (ByVal hMidiOut As IntPtr) As Integer
Private Declare Function midiOutShortMsg Lib "winmm" (ByVal hMidiOut As IntPtr, ByVal dwMsg As Integer) As Integer
Private hMIDIOut As IntPtr
private OpenFlg As Boolean = True
private ch As Integer = 0 'MidiチャンネルNo
private NoteNo As Integer = 60 '60=真中(5オクターブ目)のド
private Sub MidiOutInit()
If midiOutOpen(hMIDIOut, -1, 0, 0, 0) <> 0 Then
MessageBox.Show("MIDI出力デバイスオープン失敗")
OpenFlg = False
End If
End Sub
Private Object_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Object.KeyDown 'KeyDownイベント
If OpenFlg Then SendMidiShortMessage(&H90 + ch, NoteNo, 127) 'ノートオン
End Sub
Private Object_KeyUp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Object.KeyUp 'KeyUpイベント
If OpenFlg Then SendMidiShortMessage(&H80 + ch, NoteNo, 127) 'ノートオフ
End Sub
Private Sub SendMidiShortMessage(ByVal status As Byte, ByVal data1 As Byte, ByVal data2 As Byte)
midiOutShortMsg(hMIDIOut, (CInt(data2) << 16) + (CInt(data1) << 8) + CInt(status))
End Sub
Private Sub Close() '終了処理
If OpenFlg Then midiOutClose(hMIDIOut)
End Sub
ゲームのチャットに入力している時としてない時を判別するにはどうすれば・・・
なにをもって入力してるときっていうんだ? って定義をまずしないと
>>970 ごめん忘れてた
文字を入力している時だ
どこに
「なにを」じゃなくて「なにをもって」
文字入力ったって、
未変換文字列入力中を指すのか(IME 使わずに入力してる場合は?)
単に入力エリアにフォーカスがある場合全体を指すのか
もうちょっと微妙なのか
釣りだろ。前に見たことあるぞ。
エクセルでデータの入力されている最終行を取得するにはどうすればいいでしょうか?
これら
Rows = sheet.UsedRange.Rows.Count + 1 '最終行+1
sheet.Cells.SpecialCells(Excel.XlCellType.xlCellTypeLastCell).Select()
sheet.Range("A:A").SpecialCells(Excel.XlCellType.xlCellTypeConstants).SpecialCells(Excel.XlCellType.xlCellTypeLastCell).Select()
では罫線が引いてあるが、データが入力されていない行が最終行とされてしまいました。
>>975 その辺でダメなら、ループで見ていくしかないと思われ。
977 :
デフォルトの名無しさん:2009/05/08(金) 18:39:33
マイクソソフトは長いことない
978 :
デフォルトの名無しさん:2009/05/08(金) 18:45:35
↓こういう傲慢な奴がマイクソソフトはお似合い。
>>953 >要するに、頭の悪い奴がてめえの無能さ加減を他人のせいにしてるってことだ
2CHとかけて、MSのHELPと、解く.
答え
まともな、わかりやすい返答が与えられることはない。
常に手前に表示のウインドウよりも、他のソフトのポップアップやプルダウンメニューが
手前に表示されえてしまうのは仕様ですか?
なんとかする方法はありますか?
無理。