VB.NET質問スレ (Part20)
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2007/03/05(月) 11:19:36http://pc11.2ch.net/test/read.cgi/tech/1168585041/
0232デフォルトの名無しさん
2007/03/19(月) 12:19:110233デフォルトの名無しさん
2007/03/19(月) 12:32:200234デフォルトの名無しさん
2007/03/19(月) 12:37:29どうやってコンストラクタを使わずにDirectoryInfoを使うんだ。
って言ったらコンストラクタ使わずに使えるよ、とか言われんだろな。
そういうことじゃないんだ、そういうことじゃ…
0235デフォルトの名無しさん
2007/03/19(月) 12:38:41そのセキュリティチェック云々のたわ言は別にして
DirectoryとDirectoryInfoの違いはわかってるのか?
0236デフォルトの名無しさん
2007/03/19(月) 12:43:29・・・なんという電波解釈wwww
0237デフォルトの名無しさん
2007/03/19(月) 12:46:37>DirectoryとDirectoryInfoの違いはわかってるのか?
それもあいまいなのですした。すみませんです。
>そのセキュリティチェック云々のたわ言は別にして
この件はそれほど気にしなくてもいいという感じでいいでしょうか?
0238デフォルトの名無しさん
2007/03/19(月) 12:54:47どうやるんですか?
データファイルとかソフト本体以外のファイルは作らないでやりたいんです。
0239デフォルトの名無しさん
2007/03/19(月) 12:57:521000回繰り返したら1秒遅くなることになるが、これが気になるならうまくやれってこと。
0240デフォルトの名無しさん
2007/03/19(月) 13:01:52サンキュウ。
VS.NET2003です。
その後のテストで、以下の事実が判明しました。ここで教えてもらったスレッド関係の設定をしなくても、
別のDELLマシンでは、何の問題もなくpictureBoxクリップボードにコピーできる。
エラー発生するのは最初に開発していたマシンのみ。
エラー発生しても、プログラムの実行を継続してやれば、2回目以降は成功する。
というわけで、よく分からない状態です。たまたま解決したのか、また、別のマシンで発生する可能性があるのか考えるとちょっと怖い。
お客さんのマシンで発生したら最悪。。。
0241デフォルトの名無しさん
2007/03/19(月) 13:02:17情報量増やさずに情報を増強するのは無理
普通は外部ファイルとして保存するかアプリケーション構成とかに保存するんだろうが、
嫌なら諦めろ
0242デフォルトの名無しさん
2007/03/19(月) 13:04:20念じるしかないんじゃないの?
増やさないで情報を保存するなんて、エスパーしかできねーし。
0243デフォルトの名無しさん
2007/03/19(月) 13:04:37レジストリに格納できないか?
0244デフォルトの名無しさん
2007/03/19(月) 13:14:38>1回のCASの検査にかかる時間はせいぜい1/1000秒かそれ以下。
>1000回繰り返したら1秒遅くなることになる
そうだったのですか。わかりました、ということは原則としてアクセス回数が
少ないものの場合は、Directoryですべてまかなう方がむしろよい、というふうに
つまりCASを必ず通すという考えでやれば間違いはない、ということなのですね。
どうもありがとうございました。
あとは、DirectoryとDirectoryInfoの違いについてまた調べてみますです。
どうもでした。
0245デフォルトの名無しさん
2007/03/19(月) 14:16:26日常生活でのコミュニケーションに障害を感じるレベルです。
0246デフォルトの名無しさん
2007/03/19(月) 15:36:42アプリ本体のアセンブリ自身を書き換えてやればいいんじゃないか?
0247デフォルトの名無しさん
2007/03/19(月) 15:40:19それも外部ファイルいじってるやんw
>>238みたいなのはもう居なくなれよwwwww
常識的に考えてそんなことしねぇよwwwww
0248デフォルトの名無しさん
2007/03/19(月) 15:41:53Assembly自身の書き換えは、厳格名を持ってる場合に問題出るだろうし、そもそも最近のセキュリティソフトが嫌うと思う。
EXEの書き換えなんて。
普通にapp.configに書き出せばいいのに。
0249デフォルトの名無しさん
2007/03/19(月) 15:52:26少なくとも新規作成はしない罠
0250デフォルトの名無しさん
2007/03/19(月) 15:55:27確かにw
しかしまぁ、何故新規作成したくないというか・・・・
きっとダメな理由でもあるんだろうけどなぁ
0251デフォルトの名無しさん
2007/03/19(月) 15:59:140252デフォルトの名無しさん
2007/03/19(月) 16:04:160253デフォルトの名無しさん
2007/03/19(月) 16:05:35それを画面起動時に入力してもらう。
0254デフォルトの名無しさん
2007/03/19(月) 16:08:580255デフォルトの名無しさん
2007/03/19(月) 16:11:210256デフォルトの名無しさん
2007/03/19(月) 16:13:15ローカル保存可とするか、保存する場所ないならば前回入力なんぞ保持しないか。
0257デフォルトの名無しさん
2007/03/19(月) 16:38:26Microsoft.VisualBasic.Strings のメンバではなくてです。
0258デフォルトの名無しさん
2007/03/19(月) 16:38:54名前空間の中じゃねぇの?
0259デフォルトの名無しさん
2007/03/19(月) 16:44:21自己責任で
0260デフォルトの名無しさん
2007/03/19(月) 16:44:27普通にInt32にキャストしろ
0261257
2007/03/19(月) 17:18:27>>258
名前からして違うと思います。一応確認しました。
>>259
リコンパイラ以前使ったのですが、どこに入れたのか忘れちゃいました。
Platform SDK か何かをインスコしたパスの中に実行体があるんでしたっけ?
>>260
キャストですか?
0262デフォルトの名無しさん
2007/03/19(月) 17:28:34row("ID") = 3
みたいに、括弧をつけてアクセス出来るようにするには、
クラス定義の時、どのようなメソッドを追加すれば良いのでしょうか。
0263デフォルトの名無しさん
2007/03/19(月) 17:34:18引数設定すればいいんじゃね?
Public Property Row(ByVal ColName As String) As DataRow
Get
return HOGEHOGE
End Get
Set(ByVal value As DataRow)
_HOGEHOGE= Value
End Set
End Property
0264デフォルトの名無しさん
2007/03/19(月) 17:34:47.netになって意識してないけど、デフォルトプロパティもあるんだっけ?
上記の場合、Row.Item("ID")な書き方が正なように思う。
で、ItemってのがHashMapなりディクショナリで実装。
DataRowのデフォルトプロパティがItemだから、row("ID")でもアクセスできる。
かな?
0265デフォルトの名無しさん
2007/03/19(月) 17:46:36あ、そっち方面の話だったのねwww
0266デフォルトの名無しさん
2007/03/19(月) 18:22:31どうも丁寧にありがとうございました。
0267デフォルトの名無しさん
2007/03/19(月) 18:38:05VB.NET 2005のWinアプリでXSDスキーマ(スキーマA)使ってデータを読み込んだりしようとしている。
このスキーマAはプロジェクトAのSchemaフォルダに配置されていて実行時にこれを読み込みたい
(ただし、直でファイルパスを切りたくないので相対パスでアクセスしたい)
開発環境では、プロジェクトAのBinフォルダ以下のReleaseやDebugフォルダの中に保存されてしまい、
インストーラからインストールした時は、実行ファイルと同じ階層にSchemaフォルダがあるため、相対パスではアクセスできないので
相対パスで開発環境でも、実行環境でも同じ相対パスでアクセスしたい。
インストール時のフォルダ構造を開発環境に合わせればいいじゃないかといわれればそうだけど、
もし特に設定ナシで目的が達成できるならと思い質問させてもらいました。
説明が下手で伝わりにくいかもしれませんが、よろしくお願いします。
0268デフォルトの名無しさん
2007/03/19(月) 19:09:56hoge.exe:hoge.txt
とかに保存すれば
0270デフォルトの名無しさん
2007/03/19(月) 22:04:50Schema フォルダのパスを設定ファイルに書いとけばいいんじゃね?
0271デフォルトの名無しさん
2007/03/19(月) 22:08:41これでわかるかい?
Dim s As String = "abcABC"
For Each c As Char In s
Dim a As Integer = Convert.ToInt32(c)
Console.WriteLine("{0}: {1}", c, a)
Next
0272デフォルトの名無しさん
2007/03/19(月) 22:34:45何気に気合入ってたよ
Unicode<->ASCII(MS-shiftjis?)
0273デフォルトの名無しさん
2007/03/19(月) 22:39:150274デフォルトの名無しさん
2007/03/19(月) 23:16:11それはAscW
0275デフォルトの名無しさん
2007/03/19(月) 23:34:22やっぱそうなっちゃいますよね?
あんまり、パスの直書きはしたくなかったんで聞いてみたんですが
とりあえずいい案思いつくまでそれでしのごうかと思います
(というか、そのままになりそうな予感)
レスサンクスでした
0276デフォルトの名無しさん
2007/03/20(火) 00:03:30空かどうかはどう判定すればいいの?C#では普通にナル文字が入ったんだけどなぁ・・・。
0277デフォルトの名無しさん
2007/03/20(火) 00:11:46default(Char) は '\0' だな。
で、空白とか空とかって何?
0278デフォルトの名無しさん
2007/03/20(火) 00:20:32Windowsの仕組みを良く知っている人が多そうなここで質問させていただきます。
間違っていたらごめんなさい。
質問は、
Cでコンパイル済のEXEファイルAがあって、それはある種のシミュレーションを
繰り返し計算して、計算結果の数値を画面にずらずらと出力しています。
i=1 数字1 数字2 数字3
i=2 数字1 数字2 数字3
i=3 数字1 数字2 数字3
...
...
こんな感じです。そのソースを入手できないのですが、何らかの方法でこの出力している数字を
リアルタイムで取得して、それを別プロセスで動いているVBで作ったグラフ描画ソフトBに
データとして送りたいのです(ファイルマッピングか何かの方法で)。
問題は、画面の数字を取り込む方法なのですが、何か良い方法はありますか?
0279デフォルトの名無しさん
2007/03/20(火) 00:26:530280デフォルトの名無しさん
2007/03/20(火) 00:27:19ProcessStartInfoはProcess.Startの引数として使う
やったことないから合ってるかは知らんが
0281デフォルトの名無しさん
2007/03/20(火) 00:32:33もうプログラムとか横においてだな、
詳しく書かないといけないところを省略するなよ
OCRが最も汎用的だな
0282デフォルトの名無しさん
2007/03/20(火) 00:38:37まずデジカメが必要だから買ってきて
0283デフォルトの名無しさん
2007/03/20(火) 00:45:04そんなに難しくはないだろうね、
0284デフォルトの名無しさん
2007/03/20(火) 00:59:23ありがとうございました。教えてもらった方法で、
意外にも簡単にできました。でも一つ問題がありまして、
出力をリダイレクトしたら、画面の表示が出なくなりますが、
希望としては、画面にも今までどおり出しながら、同時にリダイレクトして
取り込みたいのですが、それは無理でしょうか?
0285デフォルトの名無しさん
2007/03/20(火) 01:00:520286デフォルトの名無しさん
2007/03/20(火) 01:09:570287デフォルトの名無しさん
2007/03/20(火) 01:14:27VBからシミュレーションソフトを起動していますが、そのConsoleに
AttachConsoleする方法が分かりません。
>286
TeeってDOSにありますか?探してみたのですが無いようでした。
もっと簡単に、リダイレクトしながらconsoleにもそのまま出力する
というプロパティ設定があるといいのですが。。
0288デフォルトの名無しさん
2007/03/20(火) 07:18:160289デフォルトの名無しさん
2007/03/20(火) 09:41:480290デフォルトの名無しさん
2007/03/20(火) 10:32:04TableA
TableB
がデータセットに格納されており、2つのテーブルは
TablA:TableB=1:Nの関係でリレーションが張られています。
TableA/TableB共にデータを追加・更新・削除した後にDBに繁栄させるためにUPDATEメソッドを実行したいのです。
ここで普通データアダプタで更新する場合
Tableという名前のDataTableがUpDateメソッドで反映される為
TableAの名前をTableに書き換えてデータアダプタでUpDateしています。
その後TableAの名前を元に戻し、
TableBの名前をに書き換えてデータアダプタでUpDateしています。
2回データアダプタを作成し、更新していますが、
同一コネクション内でトランザクションをかけている為、同時実行時などは問題なく処理できています。
しかし、この処理が非常にスマートでない気がします。
なにかもっと簡単にリレーションの張られたデータを更新する手法があるのではないかと情報を集めてみたのですが、うまい解決方法が見つかりません。
もし、なにかスマートな解決方法や考え方があるよ?とか、俺はこうしている
などの情報を少し分けてもらえないでしょうか?
よろしくお願いします。
0291デフォルトの名無しさん
2007/03/20(火) 10:35:250292デフォルトの名無しさん
2007/03/20(火) 10:36:29VBアプリから他のコンソール画面に文字出せるのか?
0293デフォルトの名無しさん
2007/03/20(火) 10:46:59それは普通にムリつうか・・
実現できても手法が難しいんじゃね?
0294デフォルトの名無しさん
2007/03/20(火) 15:04:17親と子の関係が
1:NならリレーションOK
0:N のデータが存在する場合エラーになるよね?
やっぱSQLで抽出して
1:N(0件含む)の関係にしてからじゃないとDataSetにリレーション設定できないの?
0295デフォルトの名無しさん
2007/03/20(火) 15:23:29親なし
子ありってのはできないんじゃね?
外部キー設定の云々があるから防御掛けられてるような希ガス
0296デフォルトの名無しさん
2007/03/20(火) 18:05:29XPのSP2にしないとインストールできないみたいです。
ですがupdateができなくて困っています。
SP1で使えるようにはできないのでしょうか?
0297デフォルトの名無しさん
2007/03/20(火) 18:21:51ネット繋いでてSP2にUpDateしてないとか
今時どんな会社だよwwwww
まぁ、認証できないとか、管理者権限がないとか色々あるだろうが・・・
割ってんなら素直に2000でやっとけw
恐らくAPIのバージョン情報から取得できる部分で比較しているはずだから(その他のファイル場ジョンも見ているだろけど)
その辺の深い部分いじればいけるかもしれないけどまず無理だと思ったほうがいいんじゃないか?
むしろこの環境でしか動かないって言ってるんだからその環境に合わせるべきだと思う。
じゃないと、無理に入れれたとしても動かない可能性もあるし
0298デフォルトの名無しさん
2007/03/20(火) 19:17:21SP2であることがインストールの絶対条件なのであれば打つ手なしだけど、
Web関連やIIS関連で引っかかってるなら何とかなりそうな気がしないでも
ない予感を若干感じるような気がする。
0299デフォルトの名無しさん
2007/03/20(火) 22:19:18ここに明確に書いてあるな
”Visual Studio 2005 は、次のいずれかのシステムにインストールできます。”と
XPはSP2しかダメみたいね
0300デフォルトの名無しさん
2007/03/20(火) 23:41:24オーバーライドのスケルトンを挿入できるようにする設定ってある?
しかし、どうしてこの機能カットされたんだろう。
余計なことすんなヴォケ、と言いたいよまったく。
0301デフォルトの名無しさん
2007/03/21(水) 03:08:16つか、C#やVB.NETならドロップダウンでスケルトン挿入できるが
2003で、MFCやATL系のプロジェクトでスケルトン挿入なんかできたっけ
0302デフォルトの名無しさん
2007/03/21(水) 10:18:40やっぱり削除されたのかな>オーバーロードのスケルトンの自動挿入
あの機能を発展させて、シャドウとかイベントハンドラ(もちろんWithEvents使わない
場合の話だけど)の自動挿入とかも欲しかったんだけどな。
0303デフォルトの名無しさん
2007/03/21(水) 10:20:56関数選択すれば、ベースよぶ雛形出る。
0304デフォルトの名無しさん
2007/03/21(水) 10:26:440305デフォルトの名無しさん
2007/03/21(水) 11:01:00そのポップアップは"Overrides"って入力すると嫌でも出て来るんで知ってるんだけど、
やっぱりドロップダウンで挿入も残しておいて欲しかったな。
"Overrides"って打つ手間も惜しむならPG辞めろって言われればその通りだけどさ。
あと、これは2003もそうだけど、自動インデントの機能もなんか痒い所に手が届かない仕様だよね。
余計なことする鬱陶しいオプションと、あまりにも気が利かない馬鹿なオプションしかない。
結局インデントの設定は「なし」で使ってるんだけど、これだと全行いちいち行頭から自分で
字下げしなきゃならん。
0306デフォルトの名無しさん
2007/03/21(水) 11:56:590307デフォルトの名無しさん
2007/03/21(水) 12:42:30( ゚д゚)ポカーン
0308デフォルトの名無しさん
2007/03/21(水) 12:44:09出来の悪いやつほどかわいいもんだろ。そういう心理を突いているんだな。
Windowsがヘボイのもそういう理由だと思う。
0309デフォルトの名無しさん
2007/03/21(水) 12:44:56対人はそうだろうが
ツールに関してはねぇよwwww
0310デフォルトの名無しさん
2007/03/21(水) 12:55:520311デフォルトの名無しさん
2007/03/21(水) 13:35:490312デフォルトの名無しさん
2007/03/21(水) 16:20:501秒ぐらいWaitのマウスカーソルになってから何も貼り込まれないということってあるでしょうか。
その際、エラーの表示は出ず、メッセージも何も言ってきません。
ユーザーコントロールはユーザーコントロールを2つほど使って構成されているのですが、
他のものでは同様の使い方でも貼り込まれていました。
0313デフォルトの名無しさん
2007/03/21(水) 16:31:23フォームもユーザコントロールも、フォームデザイナで表示した場合、インスタンス化されるよ。
ためしにメッセージボックス表示を仕込んでみ、表示されるから。
0314デフォルトの名無しさん
2007/03/21(水) 16:43:43そのユーザーコントロールのNew()を、
'コンストラクタ
Public Sub New()
Debug.Print("初期化!!")
MessageBox.Show("初期化!!")
' この呼び出しは、Windows フォーム デザイナで必要です。
InitializeComponent()
Debug.Print("初期化!!")
MessageBox.Show("初期化!!")
End Sub
こうしてみたのですが、イミディエイトにもエラーにも表示されず、またメッセージ
も出てきませんでした、てことは初期化もされないうちに蹴られたのでしょうか・・・
0315デフォルトの名無しさん
2007/03/21(水) 16:57:41ごめん。競艇みながらだから簡便。
0316デフォルトの名無しさん
2007/03/21(水) 18:11:04■ 意味不明な「俺様用語」を使わないこと。(ex. 貼り込む ―― 刑事かw)
■ 読み手にエスパー的な「深読み能力」を期待しないこと。(具体的にどんな処理を行っているかも、
問題が再現可能なコードも示さず「オカシイ」とか騒いでも誰にも君の問題は伝わらない)
ただ、2002は知らないが2003でも2005でも複合コントロールや継承コントロールの動作がコーディング中に
挙動不審になる場合は確かに存在する。
そういう時、一度IDEを終了してから再度ソルーションを開いてリビルドすると
問題が解消される場合が多い。
0317デフォルトの名無しさん
2007/03/21(水) 18:43:44>今時どんな会社だよwwwww
開発機に SP2 などという危険なモノを入れるな、とか。
…ヒトゴトじゃなく、俺もいい加減 SP2 入れんとな。
すべて再インストール覚悟で。
>>298
インストーラで蹴られる。
0318デフォルトの名無しさん
2007/03/21(水) 18:48:36いつまでも使ってるなよ。
0319デフォルトの名無しさん
2007/03/21(水) 19:18:41ASP.NETでVBブイブイいわせるのにこいつが足かせになってメンドくさい。
0320デフォルトの名無しさん
2007/03/21(水) 20:20:20うちの顧客はIE7を入れたがってる。動作検証とらなきゃ…。
新しいのも古いのも面倒ですな。
ASP.NET繋がりで。VS2005のVB.NETでWebサイト開発してるんですが、
開発中やたら重いというか、メモリとCPU食いまくって泣きそうです。
画面12コ+帳票(ActiveReports)8枚が一つのプロジェクトになっているんですが、
まず開いて編集できるようにまで固まって5〜10分待ちぼうけ。
ちょっとソース弄ろうと思えば固まって2〜3分待ちぼうけ。
下手をするとそのまま固まりますorz
実行時は別に重くないです。
開発マシンはceleron 2.4GHz、メモリ768MB、HDD 60GBなんで
特に貧弱ってわけでもないと思うんですが、
タスクマネージャで見ると仮想メモリ含めて1.3GBとか行ってる(つД`)
同じような経験してる人いませんか?
0321デフォルトの名無しさん
2007/03/21(水) 20:43:150322デフォルトの名無しさん
2007/03/21(水) 20:43:50まずセレロンってのがありえないし。
0323デフォルトの名無しさん
2007/03/21(水) 20:48:46普通にXP上でVS2005を立ち上げただけで大体500MBもってかれる。
そこにプロジェクト作成してデバックしたら700MB
さらに、ソリューション構成でクライアントUIとサーバWebサービスなど構成すると1G超える。
でもって、DBをSQL鯖EXなどで自分端末だと・・・。
まあ、1.5GBとかメモリーがあればとりあえずは。w
0324320
2007/03/21(水) 20:57:35レス�dです。
メモリ足らんのですか…2GBってどこの絵描きのマシンだろうorz
過去に外注さんに常駐してもらって、顧客納品用のマシン(メモリ256MB)で
開発お願いしたこともありました。
Webサービス使用のWindowsアプリでしたけど。よく血管切れなかったなぁw
上司に相談してみます。ありがとうございました!
0325デフォルトの名無しさん
2007/03/21(水) 21:04:22スワッピングしてぼーっと待っている時間に時給相当をかけてみろ。
0326デフォルトの名無しさん
2007/03/21(水) 21:58:35一応一言
P4 2.4G
Mem 512M
XP SP2
でそれより大きなソリューション開いても全然問題ないぞ
ちなみに300Mほど起動した状態で食ってるな
確かにスワップはするけどまぁ動きはするな
0327デフォルトの名無しさん
2007/03/21(水) 22:19:41たぶん帳票とかがメモリ馬鹿みたいに喰うんじゃないの?
あとWindows Formでもコントロールをちょっと多目に使ってる奴をデザイナで
開くと馬鹿みたいに重い。
まあごく普通のWin Formのアプリを作成するだけなら512Mで実際十分だと俺も思うけどね。
0328デフォルトの名無しさん
2007/03/22(木) 09:25:39亀だけど、外部キーのプロパティにそのあたりの設定あるよ。
親子の厳密なチェックありも出来るし、単なる親子で参照もつよー程度も出来るし。
0329デフォルトの名無しさん
2007/03/22(木) 11:23:16tee.exeやgrep.exeはSFUに入ってる。
ServiceForUnix。タダだからググってインストールすればいい。
0330デフォルトの名無しさん
2007/03/22(木) 11:30:24Form1に貼ったlabel1に現在時刻を表示するプログラムですが、8時から17時の間だけlabel1のbackcolorをLightGreenにしたいのです。
どのようにしたらよいのでしょうか?
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Label1.Text = DateTime.Now.ToString
End Sub
End Class
0331デフォルトの名無しさん
2007/03/22(木) 11:38:18こんな感じでええんちゃうのん?
動かしてないけどなんとなく感覚はわかってもらえるんじゃないかと
Dim NowHour As Integer = Date.Now.Hour
If NowHour >= 8 AndAlso NowHour <= 17 Then
If label1.backcolor <> Color.LightGreen Then
label1.backcolor = Color.LightGreen
End If
Else
If label1.backcolor <> Color.Transparent Then
label1.backcolor = Color.Transparent
End If
End If
■ このスレッドは過去ログ倉庫に格納されています