VB.NET質問スレ (Part20 ..
[2ch|▼Menu]
237:デフォルトの名無しさん
07/03/19 12:46:37
>>235
>DirectoryとDirectoryInfoの違いはわかってるのか?

それもあいまいなのですした。すみませんです。

>そのセキュリティチェック云々のたわ言は別にして

この件はそれほど気にしなくてもいいという感じでいいでしょうか?

238:デフォルトの名無しさん
07/03/19 12:54:47
TextBoxに入力した内容を次にソフトを立ち上げた時に表示するように保存しておくようにしたいんですけど。
どうやるんですか?
データファイルとかソフト本体以外のファイルは作らないでやりたいんです。

239:デフォルトの名無しさん
07/03/19 12:57:52
1回のCASの検査にかかる時間はせいぜい1/1000秒かそれ以下。
1000回繰り返したら1秒遅くなることになるが、これが気になるならうまくやれってこと。

240:デフォルトの名無しさん
07/03/19 13:01:52
>215
サンキュウ。
VS.NET2003です。
その後のテストで、以下の事実が判明しました。ここで教えてもらったスレッド関係の設定をしなくても、
別のDELLマシンでは、何の問題もなくpictureBoxクリップボードにコピーできる。
エラー発生するのは最初に開発していたマシンのみ。
エラー発生しても、プログラムの実行を継続してやれば、2回目以降は成功する。

というわけで、よく分からない状態です。たまたま解決したのか、また、別のマシンで発生する可能性があるのか考えるとちょっと怖い。
お客さんのマシンで発生したら最悪。。。


241:デフォルトの名無しさん
07/03/19 13:02:17
>>238
情報量増やさずに情報を増強するのは無理
普通は外部ファイルとして保存するかアプリケーション構成とかに保存するんだろうが、
嫌なら諦めろ

242:デフォルトの名無しさん
07/03/19 13:04:20
>>238
念じるしかないんじゃないの?
増やさないで情報を保存するなんて、エスパーしかできねーし。


243:デフォルトの名無しさん
07/03/19 13:04:37
>>238
レジストリに格納できないか?


244:デフォルトの名無しさん
07/03/19 13:14:38
>>239
>1回のCASの検査にかかる時間はせいぜい1/1000秒かそれ以下。
>1000回繰り返したら1秒遅くなることになる

そうだったのですか。わかりました、ということは原則としてアクセス回数が
少ないものの場合は、Directoryですべてまかなう方がむしろよい、というふうに
つまりCASを必ず通すという考えでやれば間違いはない、ということなのですね。
どうもありがとうございました。

あとは、DirectoryとDirectoryInfoの違いについてまた調べてみますです。
どうもでした。


245:デフォルトの名無しさん
07/03/19 14:16:26
おめでとうございます。
日常生活でのコミュニケーションに障害を感じるレベルです。


246:デフォルトの名無しさん
07/03/19 15:36:42
>>238
アプリ本体のアセンブリ自身を書き換えてやればいいんじゃないか?

247:デフォルトの名無しさん
07/03/19 15:40:19
>>243
それも外部ファイルいじってるやんw

>>238みたいなのはもう居なくなれよwwwww
常識的に考えてそんなことしねぇよwwwww

248:デフォルトの名無しさん
07/03/19 15:41:53
まあ、彼がファイルとか作りたくないっていう理由が全くわからんけどね。
Assembly自身の書き換えは、厳格名を持ってる場合に問題出るだろうし、そもそも最近のセキュリティソフトが嫌うと思う。
EXEの書き換えなんて。
普通にapp.configに書き出せばいいのに。


249:デフォルトの名無しさん
07/03/19 15:52:26
>>247
少なくとも新規作成はしない罠

250:デフォルトの名無しさん
07/03/19 15:55:27
>>249
確かにw


しかしまぁ、何故新規作成したくないというか・・・・
きっとダメな理由でもあるんだろうけどなぁ



251:デフォルトの名無しさん
07/03/19 15:59:14
それならSystem32あたりで適当なファイルをランダムに選んで乗っ取れ

252:デフォルトの名無しさん
07/03/19 16:04:16
ブートローダ乗っ取ればいいんじゃね?

253:デフォルトの名無しさん
07/03/19 16:05:35
PCに残せないなら、前回の最終入力を作業者の脳内に残してもらえばいいじゃん。
それを画面起動時に入力してもらう。

254:デフォルトの名無しさん
07/03/19 16:08:58
ふっかつのじゅもんか。

255:デフォルトの名無しさん
07/03/19 16:11:21
設定サーバを立ててオンラインで保存・読み込みすればいいんじゃね

256:デフォルトの名無しさん
07/03/19 16:13:15
まあ、普通に馬鹿な仕様を変更すればいいだけだろ?
ローカル保存可とするか、保存する場所ないならば前回入力なんぞ保持しないか。

257:デフォルトの名無しさん
07/03/19 16:38:26
VBでいうAsc関数はフレームワークではどの様に記述するのでしょうか?
Microsoft.VisualBasic.Strings のメンバではなくてです。

258:デフォルトの名無しさん
07/03/19 16:38:54
system.math
名前空間の中じゃねぇの?

259:デフォルトの名無しさん
07/03/19 16:44:21
Reflectorで覗いてみたら?
自己責任で

260:デフォルトの名無しさん
07/03/19 16:44:27
>>257
普通にInt32にキャストしろ

261:257
07/03/19 17:18:27
たくさんの回答ありがとうございます。

>>258
名前からして違うと思います。一応確認しました。

>>259
リコンパイラ以前使ったのですが、どこに入れたのか忘れちゃいました。
Platform SDK か何かをインスコしたパスの中に実行体があるんでしたっけ?

>>260
キャストですか?

262:デフォルトの名無しさん
07/03/19 17:28:34
Dim row as DataRow
row("ID") = 3
みたいに、括弧をつけてアクセス出来るようにするには、
クラス定義の時、どのようなメソッドを追加すれば良いのでしょうか。

263:デフォルトの名無しさん
07/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

264:デフォルトの名無しさん
07/03/19 17:34:47
とりあえずHashMapとかディクショナリとか。
.netになって意識してないけど、デフォルトプロパティもあるんだっけ?

上記の場合、Row.Item("ID")な書き方が正なように思う。
で、ItemってのがHashMapなりディクショナリで実装。
DataRowのデフォルトプロパティがItemだから、row("ID")でもアクセスできる。
かな?

265:デフォルトの名無しさん
07/03/19 17:46:36
>>264
あ、そっち方面の話だったのねwww

266:デフォルトの名無しさん
07/03/19 18:22:31
>>263-265
どうも丁寧にありがとうございました。

267:デフォルトの名無しさん
07/03/19 18:38:05
ちょっと質問です

VB.NET 2005のWinアプリでXSDスキーマ(スキーマA)使ってデータを読み込んだりしようとしている。

このスキーマAはプロジェクトAのSchemaフォルダに配置されていて実行時にこれを読み込みたい
(ただし、直でファイルパスを切りたくないので相対パスでアクセスしたい)

開発環境では、プロジェクトAのBinフォルダ以下のReleaseやDebugフォルダの中に保存されてしまい、
インストーラからインストールした時は、実行ファイルと同じ階層にSchemaフォルダがあるため、相対パスではアクセスできないので
相対パスで開発環境でも、実行環境でも同じ相対パスでアクセスしたい。

インストール時のフォルダ構造を開発環境に合わせればいいじゃないかといわれればそうだけど、
もし特に設定ナシで目的が達成できるならと思い質問させてもらいました。

説明が下手で伝わりにくいかもしれませんが、よろしくお願いします。



268:デフォルトの名無しさん
07/03/19 19:09:56
exeファイルにNTFSストリームをくっ付ければ
hoge.exe:hoge.txt
とかに保存すれば

269:268
07/03/19 19:11:17
>>238
です

270:デフォルトの名無しさん
07/03/19 22:04:50
>>267
Schema フォルダのパスを設定ファイルに書いとけばいいんじゃね?

271:デフォルトの名無しさん
07/03/19 22:08:41
>>257
これでわかるかい?

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


272:デフォルトの名無しさん
07/03/19 22:34:45
Ascをreflectorで見た
何気に気合入ってたよ
Unicode<->ASCII(MS-shiftjis?)

273:デフォルトの名無しさん
07/03/19 22:39:15
Microsoft.VisualBasic.Asc() じゃダメ?

274:デフォルトの名無しさん
07/03/19 23:16:11
>>271
それはAscW

275:デフォルトの名無しさん
07/03/19 23:34:22
>>270
やっぱそうなっちゃいますよね?
あんまり、パスの直書きはしたくなかったんで聞いてみたんですが
とりあえずいい案思いつくまでそれでしのごうかと思います
(というか、そのままになりそうな予感)

レスサンクスでした

276:デフォルトの名無しさん
07/03/20 00:03:30
質問。StreamReader.Read(Char(), Int32, Int32) で文字列を読み込んだら、空白部分がnothing扱い(!?)になるんだが、
空かどうかはどう判定すればいいの?C#では普通にナル文字が入ったんだけどなぁ・・・。


277:デフォルトの名無しさん
07/03/20 00:11:46
VB の Nothing は C# では default(T)。
default(Char) は '\0' だな。

で、空白とか空とかって何?

278:デフォルトの名無しさん
07/03/20 00:20:32
この質問はVBの質問とはちょっと違いますが、
Windowsの仕組みを良く知っている人が多そうなここで質問させていただきます。
間違っていたらごめんなさい。
質問は、
Cでコンパイル済のEXEファイルAがあって、それはある種のシミュレーションを
繰り返し計算して、計算結果の数値を画面にずらずらと出力しています。
i=1 数字1  数字2  数字3
i=2 数字1  数字2  数字3
i=3 数字1  数字2  数字3
...
...
こんな感じです。そのソースを入手できないのですが、何らかの方法でこの出力している数字を
リアルタイムで取得して、それを別プロセスで動いているVBで作ったグラフ描画ソフトBに
データとして送りたいのです(ファイルマッピングか何かの方法で)。
問題は、画面の数字を取り込む方法なのですが、何か良い方法はありますか?

279:デフォルトの名無しさん
07/03/20 00:26:53
タイマで WM_GETTEXT 投げてりゃ良いんじゃね

280:デフォルトの名無しさん
07/03/20 00:27:19
ProcessStartInfo.RedirectStandardOutput プロパティがそれっぽい
ProcessStartInfoはProcess.Startの引数として使う
やったことないから合ってるかは知らんが

281:デフォルトの名無しさん
07/03/20 00:32:33
> 画面にずらずら
もうプログラムとか横においてだな、
詳しく書かないといけないところを省略するなよ

OCRが最も汎用的だな

282:デフォルトの名無しさん
07/03/20 00:38:37
ちょwwwOCRてwwwww


まずデジカメが必要だから買ってきて



283:デフォルトの名無しさん
07/03/20 00:45:04
フォント固定で種類が数値+α程度なら、パターンマッチも
そんなに難しくはないだろうね、

284:デフォルトの名無しさん
07/03/20 00:59:23
>280
ありがとうございました。教えてもらった方法で、
意外にも簡単にできました。でも一つ問題がありまして、
出力をリダイレクトしたら、画面の表示が出なくなりますが、
希望としては、画面にも今までどおり出しながら、同時にリダイレクトして
取り込みたいのですが、それは無理でしょうか?

285:デフォルトの名無しさん
07/03/20 01:00:52
受け取った出力をそのまま標準出力に流せばいいじゃない

286:デフォルトの名無しさん
07/03/20 01:09:57
そのためのtee

287:デフォルトの名無しさん
07/03/20 01:14:27
>285
VBからシミュレーションソフトを起動していますが、そのConsoleに
AttachConsoleする方法が分かりません。
>286
TeeってDOSにありますか?探してみたのですが無いようでした。

もっと簡単に、リダイレクトしながらconsoleにもそのまま出力する
というプロパティ設定があるといいのですが。。

288:デフォルトの名無しさん
07/03/20 07:18:16
無いならダウンロードするか作れよ。

289:デフォルトの名無しさん
07/03/20 09:41:48
自分でコンソール作ればいいじゃないか

290:デフォルトの名無しさん
07/03/20 10:32:04
あるテーブル2つのデータを持つDataSetがあります
TableA
TableB
がデータセットに格納されており、2つのテーブルは
TablA:TableB=1:Nの関係でリレーションが張られています。

TableA/TableB共にデータを追加・更新・削除した後にDBに繁栄させるためにUPDATEメソッドを実行したいのです。

ここで普通データアダプタで更新する場合

Tableという名前のDataTableがUpDateメソッドで反映される為
TableAの名前をTableに書き換えてデータアダプタでUpDateしています。
その後TableAの名前を元に戻し、
TableBの名前をに書き換えてデータアダプタでUpDateしています。

2回データアダプタを作成し、更新していますが、
同一コネクション内でトランザクションをかけている為、同時実行時などは問題なく処理できています。
しかし、この処理が非常にスマートでない気がします。

なにかもっと簡単にリレーションの張られたデータを更新する手法があるのではないかと情報を集めてみたのですが、うまい解決方法が見つかりません。
もし、なにかスマートな解決方法や考え方があるよ?とか、俺はこうしている
などの情報を少し分けてもらえないでしょうか?

よろしくお願いします。

291:デフォルトの名無しさん
07/03/20 10:35:25
アダプタで出来るのは単純な更新のみと割り切って、SQLでごいごいと書く。


292:デフォルトの名無しさん
07/03/20 10:36:29
>289
VBアプリから他のコンソール画面に文字出せるのか?


293:デフォルトの名無しさん
07/03/20 10:46:59
>>292
それは普通にムリつうか・・
実現できても手法が難しいんじゃね?


294:デフォルトの名無しさん
07/03/20 15:04:17
Relationネタに便乗

親と子の関係が
1:NならリレーションOK
0:N のデータが存在する場合エラーになるよね?
やっぱSQLで抽出して
1:N(0件含む)の関係にしてからじゃないとDataSetにリレーション設定できないの?

295:デフォルトの名無しさん
07/03/20 15:23:29
>>294
親なし
子ありってのはできないんじゃね?
外部キー設定の云々があるから防御掛けられてるような希ガス

296:デフォルトの名無しさん
07/03/20 18:05:29
VB2005のExpress Editionを使いたいのですが
XPのSP2にしないとインストールできないみたいです。
ですがupdateができなくて困っています。
SP1で使えるようにはできないのでしょうか?

297:デフォルトの名無しさん
07/03/20 18:21:51
>>296

ネット繋いでてSP2にUpDateしてないとか
今時どんな会社だよwwwww
まぁ、認証できないとか、管理者権限がないとか色々あるだろうが・・・
割ってんなら素直に2000でやっとけw

恐らくAPIのバージョン情報から取得できる部分で比較しているはずだから(その他のファイル場ジョンも見ているだろけど)
その辺の深い部分いじればいけるかもしれないけどまず無理だと思ったほうがいいんじゃないか?

むしろこの環境でしか動かないって言ってるんだからその環境に合わせるべきだと思う。
じゃないと、無理に入れれたとしても動かない可能性もあるし

298:デフォルトの名無しさん
07/03/20 19:17:21
どうなんだろ。
SP2であることがインストールの絶対条件なのであれば打つ手なしだけど、
Web関連やIIS関連で引っかかってるなら何とかなりそうな気がしないでも
ない予感を若干感じるような気がする。

299:デフォルトの名無しさん
07/03/20 22:19:18
URLリンク(www.microsoft.com)
ここに明確に書いてあるな
”Visual Studio 2005 は、次のいずれかのシステムにインストールできます。”と
XPはSP2しかダメみたいね

300:デフォルトの名無しさん
07/03/20 23:41:24
2005でも2003と同じようにエディタの上部のドロップダウンリスト使って
オーバーライドのスケルトンを挿入できるようにする設定ってある?

しかし、どうしてこの機能カットされたんだろう。
余計なことすんなヴォケ、と言いたいよまったく。

301:デフォルトの名無しさん
07/03/21 03:08:16
クラスウィザードが削除された時の衝撃よりマシだろ、慣れろ
つか、C#やVB.NETならドロップダウンでスケルトン挿入できるが
2003で、MFCやATL系のプロジェクトでスケルトン挿入なんかできたっけ

302:デフォルトの名無しさん
07/03/21 10:18:40
こめん俺はクラスウィザートは無用の長物だと思ってたw

やっぱり削除されたのかな>オーバーロードのスケルトンの自動挿入
あの機能を発展させて、シャドウとかイベントハンドラ(もちろんWithEvents使わない
場合の話だけど)の自動挿入とかも欲しかったんだけどな。

303:デフォルトの名無しさん
07/03/21 10:20:56
Override って入力してスペース入れたら入力ほじょ。
関数選択すれば、ベースよぶ雛形出る。


304:デフォルトの名無しさん
07/03/21 10:26:44
俺はovまで入れてCtrl+Space押しちゃう

305:デフォルトの名無しさん
07/03/21 11:01:00
>>303
そのポップアップは"Overrides"って入力すると嫌でも出て来るんで知ってるんだけど、
やっぱりドロップダウンで挿入も残しておいて欲しかったな。

"Overrides"って打つ手間も惜しむならPG辞めろって言われればその通りだけどさ。

あと、これは2003もそうだけど、自動インデントの機能もなんか痒い所に手が届かない仕様だよね。
余計なことする鬱陶しいオプションと、あまりにも気が利かない馬鹿なオプションしかない。

結局インデントの設定は「なし」で使ってるんだけど、これだと全行いちいち行頭から自分で
字下げしなきゃならん。

306:デフォルトの名無しさん
07/03/21 11:56:59
まあお前の趣味には興味ないしな

307:デフォルトの名無しさん
07/03/21 12:42:30
>>305
( ゚д゚)ポカーン

308:デフォルトの名無しさん
07/03/21 12:44:09
俺の予想ではMSは、ある程度は、わざとVBを使いにくくしていると思う。
出来の悪いやつほどかわいいもんだろ。そういう心理を突いているんだな。
Windowsがヘボイのもそういう理由だと思う。


309:デフォルトの名無しさん
07/03/21 12:44:56
>>308
対人はそうだろうが
ツールに関してはねぇよwwww


310:デフォルトの名無しさん
07/03/21 12:55:52
他の開発環境と競合しない部分は手抜いてるよな

311:デフォルトの名無しさん
07/03/21 13:35:49
2005はキー入力だけでポンポンコードが生成されるのが気持ちよくて好きだ

312:デフォルトの名無しさん
07/03/21 16:20:50
すみません、教えてください、ユーザーコントロール作成してフォームに貼り付けたとき、
1秒ぐらいWaitのマウスカーソルになってから何も貼り込まれないということってあるでしょうか。
その際、エラーの表示は出ず、メッセージも何も言ってきません。

ユーザーコントロールはユーザーコントロールを2つほど使って構成されているのですが、
他のものでは同様の使い方でも貼り込まれていました。

313:デフォルトの名無しさん
07/03/21 16:31:23
そのコントロールのコンストラクタとかで何かやってない?
フォームもユーザコントロールも、フォームデザイナで表示した場合、インスタンス化されるよ。
ためしにメッセージボックス表示を仕込んでみ、表示されるから。

314:デフォルトの名無しさん
07/03/21 16:43:43
>>313
そのユーザーコントロールのNew()を、
'コンストラクタ
Public Sub New()
Debug.Print("初期化!!")
MessageBox.Show("初期化!!")

' この呼び出しは、Windows フォーム デザイナで必要です。
InitializeComponent()

Debug.Print("初期化!!")
MessageBox.Show("初期化!!")
End Sub

こうしてみたのですが、イミディエイトにもエラーにも表示されず、またメッセージ
も出てきませんでした、てことは初期化もされないうちに蹴られたのでしょうか・・・

315:デフォルトの名無しさん
07/03/21 16:57:41
てきとーいったかも・・・フォームだけかな?
ごめん。競艇みながらだから簡便。

316:デフォルトの名無しさん
07/03/21 18:11:04
>>312
■ 意味不明な「俺様用語」を使わないこと。(ex. 貼り込む ― 刑事かw)

■ 読み手にエスパー的な「深読み能力」を期待しないこと。(具体的にどんな処理を行っているかも、
  問題が再現可能なコードも示さず「オカシイ」とか騒いでも誰にも君の問題は伝わらない)

ただ、2002は知らないが2003でも2005でも複合コントロールや継承コントロールの動作がコーディング中に
挙動不審になる場合は確かに存在する。

そういう時、一度IDEを終了してから再度ソルーションを開いてリビルドすると
問題が解消される場合が多い。

317:デフォルトの名無しさん
07/03/21 18:43:44
>>297
>今時どんな会社だよwwwww
開発機に SP2 などという危険なモノを入れるな、とか。

…ヒトゴトじゃなく、俺もいい加減 SP2 入れんとな。
すべて再インストール覚悟で。

>>298
インストーラで蹴られる。

318:デフォルトの名無しさん
07/03/21 18:48:36
サポート切れのOS(XP SP1)の方がよっぽど危険だと思うが。
いつまでも使ってるなよ。

319:デフォルトの名無しさん
07/03/21 19:18:41
そんなことよりネスケ4を全社で使い続けるうちの顧客を何とかしてください。
ASP.NETでVBブイブイいわせるのにこいつが足かせになってメンドくさい。

320:デフォルトの名無しさん
07/03/21 20:20:20
>>319
うちの顧客はIE7を入れたがってる。動作検証とらなきゃ…。
新しいのも古いのも面倒ですな。

ASP.NET繋がりで。VS2005のVB.NETでWebサイト開発してるんですが、
開発中やたら重いというか、メモリとCPU食いまくって泣きそうです。
画面12コ+帳票(ActiveReports)8枚が一つのプロジェクトになっているんですが、
まず開いて編集できるようにまで固まって5〜10分待ちぼうけ。
ちょっとソース弄ろうと思えば固まって2〜3分待ちぼうけ。
下手をするとそのまま固まりますorz
実行時は別に重くないです。

開発マシンはceleron 2.4GHz、メモリ768MB、HDD 60GBなんで
特に貧弱ってわけでもないと思うんですが、
タスクマネージャで見ると仮想メモリ含めて1.3GBとか行ってる(つД`)

同じような経験してる人いませんか?

321:デフォルトの名無しさん
07/03/21 20:43:15
CPUはいいけどメインメモリは2Gにしとけ、ディスプレイとメモリは大きければ大きいほどいい

322:デフォルトの名無しさん
07/03/21 20:43:50
VS2005様からみたら十分貧弱だと思うよその環境。。
まずセレロンってのがありえないし。


323:デフォルトの名無しさん
07/03/21 20:48:46
CPUよりメモリーが非常に効くよ。
普通にXP上でVS2005を立ち上げただけで大体500MBもってかれる。
そこにプロジェクト作成してデバックしたら700MB
さらに、ソリューション構成でクライアントUIとサーバWebサービスなど構成すると1G超える。
でもって、DBをSQL鯖EXなどで自分端末だと・・・。
まあ、1.5GBとかメモリーがあればとりあえずは。w


324:320
07/03/21 20:57:35
>>321-323
レスdです。
メモリ足らんのですか…2GBってどこの絵描きのマシンだろうorz

過去に外注さんに常駐してもらって、顧客納品用のマシン(メモリ256MB)で
開発お願いしたこともありました。
Webサービス使用のWindowsアプリでしたけど。よく血管切れなかったなぁw

上司に相談してみます。ありがとうございました!

325:デフォルトの名無しさん
07/03/21 21:04:22
どこの絵描き、って・・・いまどき1GB1万くらいだろうに。
スワッピングしてぼーっと待っている時間に時給相当をかけてみろ。

326:デフォルトの名無しさん
07/03/21 21:58:35
>>320
一応一言

P4 2.4G
Mem 512M
XP SP2
でそれより大きなソリューション開いても全然問題ないぞ

ちなみに300Mほど起動した状態で食ってるな
確かにスワップはするけどまぁ動きはするな

327:デフォルトの名無しさん
07/03/21 22:19:41
ファイルサイズの問題じゃないと思うよ。
たぶん帳票とかがメモリ馬鹿みたいに喰うんじゃないの?

あとWindows Formでもコントロールをちょっと多目に使ってる奴をデザイナで
開くと馬鹿みたいに重い。

まあごく普通のWin Formのアプリを作成するだけなら512Mで実際十分だと俺も思うけどね。

328:デフォルトの名無しさん
07/03/22 09:25:39
>>294
亀だけど、外部キーのプロパティにそのあたりの設定あるよ。
親子の厳密なチェックありも出来るし、単なる親子で参照もつよー程度も出来るし。

329:デフォルトの名無しさん
07/03/22 11:23:16
>>287
tee.exeやgrep.exeはSFUに入ってる。
ServiceForUnix。タダだからググってインストールすればいい。

330:デフォルトの名無しさん
07/03/22 11:30:24
VB2005.NETをはじめたばかりの初心者ですので、レベルの低い問いを勘弁してください。
Form1に貼った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

331:デフォルトの名無しさん
07/03/22 11:38:18
>>330
こんな感じでええんちゃうのん?
動かしてないけどなんとなく感覚はわかってもらえるんじゃないかと

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

332:デフォルトの名無しさん
07/03/22 11:40:53
NowHour < 17
じゃね?



333:デフォルトの名無しさん
07/03/22 11:43:15
>>332
あ〜 そうだねw
多分会社の定時なんだろうけど
これじゃ17時台も色変わるなwww


334:デフォルトの名無しさん
07/03/22 12:19:36
>>330-333
ありがとうございます。
早速使わせてもらいます。


335:デフォルトの名無しさん
07/03/22 18:58:02
初心者質問ですみませんが・・・

VB2005でWindowsアプリケーションで開発しています。
現在DataSetを使い、SQLServerに非接続のデータアクセスをしています。
(テキストファイルを読み込んで接続しています。
StreamReaderを用いていますのでConnectionオブジェクトは使っておりません。)

DataSetの内容をDataGridViewに表示しており、その内容を「印刷」したいのですが。

手持ちにあるTipsにはPrintDocumentクラスを利用して

'テーブルの内容を出力
Dim dr As OrderDataSet.GoodsRow
For Each dr In OrderDataSet.Goods.Rows
'1レコードを出力
e.Graphics.DrawString( _
dr.GoodsID.ToString.PadRight(10) & _
dr.GoodsName.ToString.PadRight(20, " ") & _
dr.Price.ToString.PadLeft(5), _
f, Brushes.Black, _
x, y + (cnt * pitch))

'印刷位置を更新
cnt = cnt + 1
Next

というコードになるのですが、これだとデータソースを追加しなければなりません。
データソースを追加せず、DataGridViewの内容を「印刷」したいのですがどうしたらよいのでしょうか?

336:デフォルトの名無しさん
07/03/22 21:50:13
>>335
OrderDataSet.GoodsRowyとかって型指定されたDataSetのことかな?

DataSetの内容をDataGridViewに表示しており
とあるので、型指定されている部分を部分を修正して

Dim dr As DataRow
For Each dr In DataSet.Tables(#).rows

'1レコードを出力
e.Graphics.DrawString( _
dr("カラム名").ToString.PadRight(10) & _
dr("カラム名2").ToString.PadRight(20, " ") & _
dr(""カラム名3).ToString.PadLeft(5), _
f, Brushes.Black, _
x, y + (cnt * pitch))

'印刷位置を更新
cnt = cnt + 1
Next




337:デフォルトの名無しさん
07/03/22 21:52:28
>>336
間違ってキー押して投稿してしまった…

コードの部分のみ記載しますw

Dim dr As DataRow
For Each dr In DataSet.Tables(#).rows

'1レコードを出力
e.Graphics.DrawString( _
dr("カラム名").ToString.PadRight(10) & _
dr("カラム名2").ToString.PadRight(20, " ") & _
dr("カラム名3").ToString.PadLeft(5), _
f, Brushes.Black, _
x, y + (cnt * pitch))

'印刷位置を更新
cnt = cnt + 1
Next

こんな感じで型指定されていないデータセットを扱うようにしてやればよくない?
動かしてないんで、正しいかどうかは不明だけどw
つうか、型指定されているものもただのDataSetを専用のクラスでラップしてるだけだし




338:デフォルトの名無しさん
07/03/22 23:10:30
VBでOpenGLやる方法を教えてくれ。

339:デフォルトの名無しさん
07/03/22 23:16:53
知ってるが
お前の態度が
気に入らない

340:デフォルトの名無しさん
07/03/22 23:56:44
>>338
URLリンク(www.taoframework.com)

341:デフォルトの名無しさん
07/03/23 11:54:01
Vs2005でデザイナでフォームコントロールをはっつけてフォームのフォントサイズ変更すると
フォームに貼り付けたコントロールの位置とサイズ、パディングなどが変更されるんだけど
これと同じような事を実装したい
まぁ、全てのコントロール回して直接変更していけばいいんだけど、このデザイナが変更している計算ロジック使えないだろうか?
もし、使えるんであればフォントサイズに伴うコントロール位置やサイズの変更がラクだしいいかなっと思ったんだけど・・・・
誰か知らない??

342:デフォルトの名無しさん
07/03/23 12:58:15
>>341
まず試しにフォーム新しく作ってプロパティ変えずにコントロール貼り付けて
実行時にフォームのフォントサイズ変えてみ?
それでサイズは変更すっから

343:デフォルトの名無しさん
07/03/24 13:01:59
VB2005でContextMenuStripのデザインを9X系のデザインに変えたいのですが
(メニュー左側に青線の背景がないもの)
プロパティーにはないっぽい?
Component を継承してDesignModeを変えればよいのでしょうか。
宜しくお願いします。

344:デフォルトの名無しさん
07/03/24 13:08:10
>>343
とりあえずそれやってみた??
それでだめなら解決策を考えようか

345:デフォルトの名無しさん
07/03/24 15:27:49
>>343
URLリンク(msdn2.microsoft.com)(VS.80).aspx
URLリンク(msdn2.microsoft.com)(vs.80).aspx
このへんかな

346:デフォルトの名無しさん
07/03/24 18:06:15
ユーザコントロール継承してDesignModeをFalse返すようにしましたが
何も変わりませんでした('ω`;)

>>345
ありがとうございます!
これから観てみますー

347:デフォルトの名無しさん
07/03/24 20:48:53
VB2005 Express Editionですが、
新しいデータソースの追加→データベース→
データソースに「Microsoft Access データベース ファイル」を選択すると、
接続の追加ダイアログで、ConnectionStringを入力する様になるのですが、
「Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\test.mdb;」など試しましたが、
何を入力しても、「初期化文字列の形式が使用に適合しません。index 0 で始まっています。」
とエラーがでてなにもできません。
ConnectionStringには何を入れたらよいのでしょうか?


348:デフォルトの名無しさん
07/03/24 21:43:21
>>347
あいよ
URLリンク(www.connectionstrings.com)
つうかURLわかりやす杉ww

349:347
07/03/24 22:30:32
ありがとうございます。
ですが、ConnectionStringの書き方はそのサイトを見ても合っているようです。
というか、何も入力しなくても、適当な文字を入力しても、何を入れようが
「初期化文字列の形式が使用に適合しません。index 0 で始まっています。」
となるので、ConnectionString欄に入れる文字がどうこうという以前の問題の
様に思えてきました・・・

350:デフォルトの名無しさん
07/03/24 22:40:53
ちょっとパスワードとかユーザー名とかあるならその部分*とかにして全部さらしてみれば?


351:347
07/03/24 23:00:34
ID・パスワードは設定してないので
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=f:\mydoc\test.mdb;

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=f:\mydoc\test.mdb;User Id=;Password=;
は両方試しましたがだめでした。

ちなみにソース上で、

Dim cn As New OleDb.OleDbConnection()
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=f:\mydoc\test.mdb;"
cn.Open()

というコードで接続は出来ています。
データベースエクスプローラを使いたいと思い、データソースの追加の操作上で
前述のエラーでつまづいています。


352:デフォルトの名無しさん
07/03/24 23:18:00
>>351
確認してみたけど問題ないね。
パスが違うくらいだけどそれも問題なさそう

ところで、新しい接続もっかい作ってみて?

構成ウィザードでたら
・データベースを選択して次へ
・新しい接続ボタンをクリック
・接続の追加画面で
データソースがMicrosoft Access データベース ファイル (OLE DB)
その下の参照ボタンで目的のMDBを選択
そしたらその下のユーザ名やパスワードは空白にして
接続の確認ボタンをおしてみる

これでどうなるかな?


353:デフォルトの名無しさん
07/03/24 23:34:31
なにやら画面自体が異なる様です。

・データベースを選択して次へ
・新しい接続ボタンをクリック
・接続の追加画面で
データソースが「Microsoft SQL Server データベース ファイル (SqlClient)」
となっているので、「変更」ボタンを押すと、
・データソースの変更ダイアログ
 で「Microsoft Access データベース ファイル」を選択、
 データプロバイダ「.NET Framework OLE DB 用データプロバイダ」で「OK」を押すと
下記のような接続の追加画面のダイアログがでます。

----------------------------------------------------------
データソース:
Microsoft Access データベース ファイル(OLE DB) 「変更」ボタン

+その他
ConnectionString [入力欄]

「接続の確認」 「OK」「キャンセル」
----------------------------------------------------------

mdbファイルを指定するような画面自体になりません。

354:デフォルトの名無しさん
07/03/24 23:37:28
Expressとはこの画面すら違うのか

まぁ、どっちにしろ
色々選択したあとにその接続の確認押せば、とりあえずオープンクローズできるかチェックできるはずなんだけど・・・


355:デフォルトの名無しさん
07/03/24 23:45:50
接続の確認ボタンは、何を入力しようが、「テスト接続に成功しました。」となります。
「OK」ボタンを押すと前述のエラーが出て進めません。
もう少し色々試してみようと思います。ありがとうございました

356:デフォルトの名無しさん
07/03/24 23:48:00
>>355
ConnectionString [入力欄]
にあるコネクションストリング・・・とりあえずつかってみ?



357:デフォルトの名無しさん
07/03/25 00:18:39
VB2005が重いです・・・起動してるだけでメモリ50MBくってます
軽くする方法はないでしょうか?

358:デフォルトの名無しさん
07/03/25 00:37:39
メモリを増設する。

359:デフォルトの名無しさん
07/03/25 00:41:58
HDDを高速なものと交換する

360:デフォルトの名無しさん
07/03/25 00:51:48
寝る

361:デフォルトの名無しさん
07/03/25 01:21:10
ふだんは軽いメモ帳などを使ってコンパイルだけVB使えばいいんじゃね?

362:デフォルトの名無しさん
07/03/25 03:09:28
CPU メモリ HDDは出来るだけ高速で大きな容量を
できればCPUjはデュアルで

メモリはXPでも512+256か1Gはほしい
起動して作業してるだけで512なんてあっという間だ

363:デフォルトの名無しさん
07/03/25 06:24:03
外山の政見放送を見たら、ドクター中松が普通に見えた。

364:デフォルトの名無しさん
07/03/25 20:11:22
VB2005でASP.NETのプログラムを書いています

セッションIDを取得してサーバに保存、画面遷移のたびに読み取ったセッションIDとサーバに保存した
セッションIDを比較、あっていたら処理を続けて、あわなかったらエラーページに飛ばす
ログアウトしたらセッション破棄

と、言うことをやりたいです
が、
URLリンク(msdn2.microsoft.com)(VS.80).aspx
を読んでみても解説がよくわかりません
もっとわかりやすいところってありますか?

365:デフォルトの名無しさん
07/03/25 20:22:02
セッションIDってものを勉強するのが先じゃないの?

読み取ったセッションIDとサーバのセッションIDを比較?
何をしたいの?根本的に間違っていると思うけど。

366:デフォルトの名無しさん
07/03/25 21:10:01
>>365
そうやって管理してる物だと思ってました
どの辺が根本的に違うのですか?

367:デフォルトの名無しさん
07/03/25 22:07:48
なんでログインの管理にセッションを使いたがるかな。


368:デフォルトの名無しさん
07/03/25 23:03:43
ログインの管理ではなく、ログイン画面を通さず直接URLを叩いたいてもアクセスできないようにするための機能と思っていますが

369:デフォルトの名無しさん
07/03/25 23:08:23
cgiで自分でセッションの管理をするならそうだが、
セッションの管理はASP.NETがやってくれるから、
Sessionオブジェクトにログイン済みかどうかのフラグを持てば十分。

370:デフォルトの名無しさん
07/03/25 23:30:13
>ログインの管理ではなく、ログイン画面を通さず直接URLを叩いたいてもアクセスできないようにするための機能と思っていますが

お前誰だ。>>364なのか?
だったら思っていますがってお前が作る機能の目的なんて知らねーよ

だいたい遷移のたびにセッションID保存したって、同じセッションならずっと変わらないんだから
単なるログイン管理と変わらんだろ。
単なるログイン管理ならフォーム認証でも使っとけばいいだろ。


371:デフォルトの名無しさん
07/03/25 23:51:07
なんでそんなに偉そうにしたがるのか

372:デフォルトの名無しさん
07/03/25 23:54:56
なんでお前ら日本語使ってるのか
に等しい質問だな

373:デフォルトの名無しさん
07/03/26 00:06:36
いちゃもんつけたいだけのやつよりありがたいだろw

374:デフォルトの名無しさん
07/03/26 00:06:47
ここ、IDがでないのですね
>>364>>366>>368は自分です

>>369
ありがとうございます
もうちょっと調べてみます

>>370には質問の意味が伝わっていないですね

375:デフォルトの名無しさん
07/03/26 00:31:26
>セッションIDを取得してサーバに保存、画面遷移のたびに読み取ったセッションIDとサーバに保存した
>セッションIDを比較、あっていたら処理を続けて、あわなかったらエラーページに飛ばす
>ログアウトしたらセッション破棄
これで何をしたいのかちゃんと書いてみろよボケ。


376:デフォルトの名無しさん
07/03/26 00:33:32
ログインしてないのに画面を表示してしまわないようにしたいの?
だったら単にASP.NETの認証機能使えばいい(まあフォーム認証かな)。
セッションなんて関係ない。
どうしてもセッションでやりたいなら>>369みたいにすりゃいい。

セッションIDを比較しての意図がいまだに分からない。


377:デフォルトの名無しさん
07/03/26 00:36:09
どうしてもセッション同じか(同一セッションか、という条件だけ)で判断したいなら、
IsNewSessionででも確認すればいい。
セッションIDをサーバに保存する、ということをする必要などない。

てかセッションの仕組みで勝手にそういう処理は内部的に行われてる。


378:デフォルトの名無しさん
07/03/26 00:37:21
ただしIsNewSessionでの判断はきちんとやらないと無意味になりかねないのでやめた方がいい。


379:デフォルトの名無しさん
07/03/26 00:39:32
セッションでのログイン管理もあまりおすすめではない。
ちゃんと用意されてる認証の仕組みの方を使う方がいい。


380:デフォルトの名無しさん
07/03/26 05:26:27
VB6.0からきました。初心者です。

WebBrowser1.Document.getElementsByName("Submit3")(0).Click()

これを実行すると、

getElementsByNameは'Sistem.Windows.Forms.HTMLDocument'のメンバではありません。

とエラーになるのですが、なぜでしょうか?例文を貼り付けただけなのですが

381:デフォルトの名無しさん
07/03/26 05:56:46
なぜだと思いますか?

382:デフォルトの名無しさん
07/03/26 06:11:20
'Sistem.Windows.Forms.HTMLDocument'がgetElementsByNameのメンバではないからだと思います。

どうすればいいですか?

383:デフォルトの名無しさん
07/03/26 06:12:30
逆でした・・・

384:デフォルトの名無しさん
07/03/26 06:15:11
なにか宣言しなきゃいけないような気もするのですが、さっぱり見当がつきません

385:デフォルトの名無しさん
07/03/26 06:22:19
WebBrowser1.Document.HtmlElement.getElementsByName("Submit3")(0).Click()

こうしたらエラーが直りましが、今度はHtmlElementが'Sistem.Windows.Forms.HTMLDocument'のメンバでないとなってしまいました

助けてください!

386:デフォルトの名無しさん
07/03/26 07:51:06
釣りですか?

387:364
07/03/26 08:09:40
>>376-379
ありがとうございます
ASPのフォーム認証なども調べてみます

388:デフォルトの名無しさん
07/03/26 08:51:57
>>379
それは何か理由があるの?

389:デフォルトの名無しさん
07/03/26 09:28:54
いろいろあるが、とりあえず専用の機能があるんだからそれ使えでどうかな?


390:デフォルトの名無しさん
07/03/26 09:43:03
それは「おすすめしない理由」にはならないよね

391:デフォルトの名無しさん
07/03/26 09:54:30
VB.Net 2003 を使用して、共有フォルダを作成/設定するには
どのようにすればいいのでしょうか?

やりたいことは、一つフォルダを作成してそのフォルダは
ネットワークに繋がっている他のコンピュータから
参照が可能な設定にしたいのです。

FileAttributesなるものを見つけたのですが、これはちょっと
違うみたいでした。

392:デフォルトの名無しさん
07/03/26 10:01:19
OSコマンドだと NET 系があるからそれを使うとか。
言語でのサポートは無いと思う、セキュリティそのものだから。
WINAPIでやるにしても、セキュリティとってからの流れでしょ。


393:デフォルトの名無しさん
07/03/26 10:39:49
VB.NET2005 を使用しWinアプリを作成しています。

 現在一定の秒数でBackGroundWorkerを使用してデータを取得しています。
 その取得したデータをFormにあるDataGridViewに反映させたいのですが
繁栄中にそのDataGridViewに操作を行う可能性があります。
 コントロールをEnableにすれば簡単なのですが、ユーザー側からみればクリックしたのに
クリックできていない状況が発生する可能性があります。
 なんとかして動的に更新し、かつユーザーから見てそういった現象が起きないように
表を更新したいのですがなにかいい方法はないでしょうか?

取得したデータを更新後、一定の秒数が経過すれば再び更新という処理なので
DataGridにデータを反映している間にデータを取得しに行くようなことはないものとなっています。

何かよい案がある方がいればお教え願えませんか?

394:デフォルトの名無しさん
07/03/26 11:07:02
>>393
データ取得用のDataSetと表示用のDataSetを別にしとく。

395:デフォルトの名無しさん
07/03/26 11:12:27
>>394
ごめんなさい、書き忘れていたんですがその部分は実装しています。
あと、色々小細工する都合上データバインドは行っていない状態なんです。



396:デフォルトの名無しさん
07/03/26 11:13:24
InProcのセッションモードでの影響をなくす。
(セッション失効の影響を受けなくする)
セッションは本来ログイン状態とは無関係の寿命を持つので
不正なログイン状態を招いてしまう危険を最初から回避しておく。
そもそも専用のログイン状態管理機能があるのに
わざわざ違う機能を使うのは利点がないだろ。

397:デフォルトの名無しさん
07/03/26 11:36:57
ごめん純粋に質問。
セッションとログイン状態が無関係ってどういうことですか?
セッションが切れてもログイン状態を探し出したりできる?

398:デフォルトの名無しさん
07/03/26 11:47:42
>>396
2005からはSQL鯖と連動したログインとかスコープ管理出来るようになってるしな
一回試した時に小回りあんま利かなかった記憶があったが


399:364
07/03/26 11:55:51
すみません
もう一つ質問です

test.aspxにあるasp:Buttonタグで作成したボタンをクリックしてasp:TextBoxから取得した値を使って
処理を行う部分をtest.aspx.vbに書いているのですが、なぜかbtn_Clickが2回実行されます
どうやれば1回だけ実行になりますか?


400:デフォルトの名無しさん
07/03/26 12:06:03
聞く前にネットでASP入門か、本でも買ってこいよ。
根本的に知識不足。


401:デフォルトの名無しさん
07/03/26 12:57:59
元々、特にASP.NETでは、認証状態とセッション状態は独立した概念。


402:364
07/03/26 13:31:52
すみません
解決しました

inputからasp:Buttonに書き換えたときにOnClickを消さなかったからでした

403:デフォルトの名無しさん
07/03/26 15:39:49
初心者です。
仕事でVB6とVB2005両方使うみたいなんですが
どっちから勉強したほうがいいですか?

404:デフォルトの名無しさん
07/03/26 15:44:17
>>403
似て非なるものを同時にか。混乱が目に見えるな。

405:デフォルトの名無しさん
07/03/26 15:52:00
( -人-).。oO(ナムナム...)

406:デフォルトの名無しさん
07/03/26 16:05:04
>>403
2005やってからVB6つかうと機能のしょぼさに絶望はする と思うぞ(;´∀`)

407:デフォルトの名無しさん
07/03/26 16:18:15
オブジェクト指向ってなんですか?
辞書でいろいろ見ましたが未だに意味が分かりません。
オブジェクト指向とそうでないものを何か分かりやすいもので例えて下さい><

408:デフォルトの名無しさん
07/03/26 16:21:29
                             |
                             |
      ∩___∩             |
      | ノ  _,  ,_ ヽ        ((  | プラプラ
     /  ●   ● |         (=)
     |    ( _●_)  ミ _ (⌒)   J  ))
    彡、   |∪|  ノ
⊂⌒ヽ /    ヽノ  ヽ /⌒つ
  \ ヽ  /         ヽ /
   \_,,ノ      |、_ノ

409:デフォルトの名無しさん
07/03/26 16:23:08
別にオブジェクト指向しらなくても.netは使える。


410:デフォルトの名無しさん
07/03/26 16:48:12
>>407
>オブジェクト指向
サンダーバード
>そうでないもの
新八犬伝

411:デフォルトの名無しさん
07/03/26 16:57:27
>>410
なんというか・・・まぁ気持ちはわかる

412:デフォルトの名無しさん
07/03/26 18:47:39
ASP.NET2.0でインライン式からクラスを呼び出すことはできないの?

aspxファイルに
<%@ Import Namespace="vbClass" %>で宣言して
<% Dim cls As New Class1
cls.getString()%>
(getStringは"Hello World"を返すだけ)
と書いてみたが何も帰ってこなかった

413:デフォルトの名無しさん
07/03/26 18:51:05
WebBrowserで画像ファイルを表示させたときに
サイズをウィンドウに合わせるにはどうしたらいいですか?
PictureBoxにあるBackGroundImageLayoutの
プロパティがWebBrowserにはないのですが・・・

414:デフォルトの名無しさん
07/03/26 20:18:26
vb6.0&vb2005初心者です。構造体について教えて下さい。

vb2005の勉強のため簡単なゲームを作ろうと思い、
vb6.0で作られた以下のサイトのソースをvb2005で動かそうと考えました。
<マップの表現>
URLリンク(www001.upp.so-net.ne.jp)

以下がvb2005に書き直したコードなのですが、
どうしても subMapのインスタンスでうまくいきません。
元のコードをvb2005に移植する為のお知恵をどうかお貸しください。

Module Module1
 Dim subMap As tMap
 Sub Main()
  subMap = New tMap(9, 9) {} ← ここでエラー
  subMap.Cell(0, 0).Flag = True ← (ここを直す為に)
 End Sub
End Module

Public Structure tCell
 Dim Data As Integer
 Dim Flag As Boolean
End Structure

Public Structure tMap
 Dim Cell(,) As tCell ←  Dim Cell(9,9) As tCell から変更
End Structure


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4337日前に更新/125 KB
担当:undef