VB.NET質問スレ (Part10)at TECH
VB.NET質問スレ (Part10) - 暇つぶし2ch200:デフォルトの名無しさん
05/03/09 13:29:05
Mac OS Xならmonoが動くんじゃないか?

201:デフォルトの名無しさん
05/03/09 13:31:46
>>199
無理。
REALBASICで開発すれば、Windowsでも動く実行ファイルを生成
できるらしいけどね。

202:201
05/03/09 13:34:54
おお、monoってのがあったんだね。知らなかったーよ。

URLリンク(www.macinbasic.info)

203:199
05/03/09 14:05:19
なるほど、基本的には無理なんですね。
フリーソフト作ってるんだけど「MAC対応」って銘打つにはmonoではまだ厳しいのかな。

っていうか中間コード生成する最大の理由は「OSに依存しないで動く」っていうことじゃないの?
Windowsでしか動かないなら中間コードでコンパイルする価値があまりない気が・・・。
なぜなんでしょう?

204:デフォルトの名無しさん
05/03/09 14:18:43
ぶっちゃけ、Windowsにおける32bit環境から64bit環境へのスムーズな移行が
最大の目的じゃないかな。

205:デフォルトの名無しさん
05/03/09 14:22:38
>>203
>っていうか中間コード生成する最大の理由は「OSに依存しないで動く」っていうことじゃないの?
>Windowsでしか動かないなら中間コードでコンパイルする価値があまりない気が・・・。
>なぜなんでしょう?

1つは、やっぱり異なるOSで動かす事には無理があるんじゃない?
というのはWin32APIに相当する機能も.NetFrameworkには存在するわけだが、
こういった部分はOSに依存する訳だし。

ただ、中間コードのメリットがOSに依存しない事だけかと言われれば、
そんな事無いと思うんだが?

実際、C#だろうがVB.NETだろうが同じ処理するプログラムを書けば、
生成される中間コードは同じになる。
そして、C#からVB.NETのクラスを呼んだり逆にVB.NETからの呼び出しも出来る。

一般的に大規模アプリになれば複数人で開発する訳だが、
それぞれが得意な言語で開発しても問題無くお互いのクラスを呼び出せる。

これだけでも十分メリットになると思うんだが?

206:デフォルトの名無しさん
05/03/09 15:06:00
VB.NETでアプリケーションを作っているのですが
起動しただけで35メガもメモリを食います。
ひょっとしてすべてのウィンドウのインスタンス化を起動時に
やってしまうのでしょうか?
確かdelphiもそうだったと思うのですが、delphiは
その辺のコードもいじれたのですがVB.NETはそのあたりの
コードはどこにあるのでしょうか?



207:デフォルトの名無しさん
05/03/09 15:13:41
そんなことはない。
ネイティブのコードへのコンパイルすら「初めてそのメソッドが出てきた時」に行われるのに。
起動時にメモリを食われるのは.NET Frameworkを通して起動させるためのコスト。
起動した後は不要になるので、気になるならウィンドウを一旦最小化させれば仮想メモリにしまい込まれる。
根本的にネイティブのアプリより消費メモリが大きめなのはしょうがないがね。

208:デフォルトの名無しさん
05/03/09 15:18:44
>>207
了解です。
ちょっと起動に時間が掛かるなと思いタスクマネージャを見たら
30メガも使ってるのでびっくりしたしだいです。
それが普通ならまったく問題ありません。

209:デフォルトの名無しさん
05/03/09 16:11:19
リストビューのカラムごとにTextAlignを指定したいのですが
指定するメソッドが見つかりません。
これは不可能でしょうか?

210:デフォルトの名無しさん
05/03/09 16:18:27
ColumnHeader.TextAlign
ただし先頭列だけは必ず左寄せ。

211:デフォルトの名無しさん
05/03/09 16:22:26
listview.Columns(2).TextAlign = HorizontalAlignment.Right
listview.Columns(3).TextAlign = HorizontalAlignment.Right
でできました。さんくす。


212:デフォルトの名無しさん
05/03/09 16:58:55
>>203
「開発環境(言語)の差を吸収出来る」ことと
「安全なコードを書ける可能性が高い」こと、これらから
「開発生産性が高い」ことがメリットだと思うよ。

例えばJAVAのWORAというのは嘘とは言い切れないけど
未だに盲信してる人は少ないよね。
MSは良くも悪くもリアリストだから、「どこでも動く」ことより
「どこからでも繋がる」ことを .NET の宣伝材料にしてる。

213:デフォルトの名無しさん
05/03/09 19:52:20
compact frameworkにて、設定ファイルを使用したい場合、
どのようにファイルを作って、どのように読み込めばいいのでしょうか?

質問が大雑把ですみません。とっかかりすらわかっていない状態ですので。

214:デフォルトの名無しさん
05/03/09 22:28:54
設定ファイルとやらを使って何をしたいのかによるけど。
App.configなら
URLリンク(dobon.net)

215:デフォルトの名無しさん
05/03/09 22:43:04
VB.NETでWSDLがない状態でSoap通信したいんですけど
Soap ToolkitにあったSoapConnectorにあたるクラスってないんでしょうか?

216:デフォルトの名無しさん
05/03/10 08:31:10
デストラクタってどうやって定義すればよいでしょうか?
コンストラクタは
public sub new()
end sub
でよいみたいですが

217:デフォルトの名無しさん
05/03/10 08:38:44
Overrides Protected Sub Finalize()

218:デフォルトの名無しさん
05/03/10 08:49:38
>>217
ありがとん

219:デフォルトの名無しさん
05/03/10 11:01:20
EXCELを操作しているのですが
アプリケーションを終了するまでEXCEL.EXEがタスクマネージャの
プロセス一覧から消えてくれません。
消すにはどうしたらよいでしょうか?

Dim exl As New Excel.Application()
exl.Visible = True
exl.Workbooks.Add()

exl.Cells(1, 1) = "hoge"


220:デフォルトの名無しさん
05/03/10 11:15:10
Quitも呼んでない辺りアレっぽいが。
URLリンク(support.microsoft.com)

221:デフォルトの名無しさん
05/03/10 11:23:19
>>220
さんくす。熟読します。

222:デフォルトの名無しさん
05/03/10 11:33:57
消えました。ありがとん。

223:デフォルトの名無しさん
05/03/10 14:19:06
Private m_Pos() As Point
Private m_Pos As Point()
の違いはなんでしょうか?

224:デフォルトの名無しさん
05/03/10 16:03:14
GCってちゃんと仕事してくれますか?
なんか不安。メモリ使用量がどんどん増えるよー

225:デフォルトの名無しさん
05/03/10 16:10:34
>>224
メモリは特に気にする必要ない。

226:デフォルトの名無しさん
05/03/10 16:18:13
>>225
そうなんですかー
なんかC房だから気になって仕方ないよー

227:デフォルトの名無しさん
05/03/10 16:38:58
Form1からForm2をShowDialogで表示し、Form2からForm3をShowDialogでまたまた表示する。
タイマーイベントで規定時間後に、自動でForm2とForm3を閉じてForm1を表示するようにしたい場合、どのようにすればいいですか?
今、Form1のタイマーイベントで
Form3.close()
Form2.close()
ってやるとForm3は閉じるけどForm2は閉じてくれません。
だれかわかりますか?

228:デフォルトの名無しさん
05/03/10 17:33:27
ピクチャーボックス上の
線などを消去するには?

229:デフォルトの名無しさん
05/03/10 19:47:14
>>223
基本的に無い。好み。
個人的には配列型を宣言してると分かりやすい後者の方が良い。

>>227
私の所では閉じる。

>>228
何らかで上書きする。

230:デフォルトの名無しさん
05/03/10 21:02:53
簡単なテキストエディタを作っています。カレットが移動するたびに、その位置を
ステータスバーに表示したいと考えています。で、一番最初に思いついたのが、
KeyDown/Upイベントを利用することです。しかしながら、IMEがオンになって
いると、KeyDown/Upイベントが発生するたびに変換が解かれてしまい、実用に
なりません。なにかいい方法はないでしょうか。

231:デフォルトの名無しさん
05/03/11 00:13:11
MDI子フォームのKeyDownイベントでファンクションキーが
押された場合の処理を書いているのですが、このイベントが
親フォームにも送られているらしく、F1キーを押すと
ヘルプが起動してしまいます。
ファンクションキーイベントは子フォームだけで受け取り
(子フォームがアクティブの場合)
親フォームには送られないようにするにはどうしたらよいでしょうか。
e.Handle=True
は試してみたのですが、ダメでした。

232:デフォルトの名無しさん
05/03/11 00:28:57
メニューのイベントでヘルプ表示してるんでしょ?

だったら自分がアクティブじゃなかったら
ヘルプ表示しないようにするだけだと思うんだけど。。
何か間違ってるか?

233:デフォルトの名無しさん
05/03/11 00:33:11
ウケる。要求仕様と違うとはまさにこのことか。

234:デフォルトの名無しさん
05/03/11 00:34:05
>>232 「自分」って誰?(バク

235:デフォルトの名無しさん
05/03/11 00:38:42
>>232
それって親フォームにキーイベント飛んでるじゃん。
e.Handle = True
じゃムリなの?

236:デフォルトの名無しさん
05/03/11 00:42:25
馬鹿な上に幼稚なVB厨どもはしょうがないですな。

別にウィンドウメッセージそのものをキャンセルする必要なんて全然ない。
要はそれを処理するべき場合かどうかを判断できれば必要十分だろといってるの。

237:デフォルトの名無しさん
05/03/11 00:48:27
>>236
必要かどうかの問題ではなく、231がやりたいのはメッセージを
キャンセルしたいのだろう。別に君がその方法を知らないなら
ムリに書き込む必要ないんじゃないの?何がしたいの?

238:234
05/03/11 00:49:18
どうでもいいけど「自分」って誰?(ププッ

239:デフォルトの名無しさん
05/03/11 00:52:02
>>237
そういうSEは最近多いよ。勝手に要求仕様を捻じ曲げて
得意げな大馬鹿

240:デフォルトの名無しさん
05/03/11 00:54:28
>>231ですが、メイン画面(親フォーム)は別の外注の会社が
作っていて、私が作っているフォームでファンクションキーを
処理する都合でメイン画面に修正が入るのはあまり
好ましくないのでメッセージをキャンセルする方法があるのならば
それがやりたいです。分かりにくくてすいません。

241:デフォルトの名無しさん
05/03/11 01:28:29
VBで、ある業務システムつくろうと思ったけど。
スタックが心配で見合わせてる。


242:デフォルトの名無しさん
05/03/11 01:29:27
で?

243:デフォルトの名無しさん
05/03/11 01:34:56
どうしたものかな。
VB6では、スタック領域を設定することできないんだよ。
NETは、どうなの。


244:デフォルトの名無しさん
05/03/11 01:40:41
質問です。
IEで表示した内容を印刷ダイアログを表示せずに
プログラムから印刷する方法を教えてください。

245:最凶VB厨房
05/03/11 01:42:20
>>231
もしかして親フォームのKeyPreviewプロパティはTrue??

246:デフォルトの名無しさん
05/03/11 01:45:52
アホか。
要求仕様は、「子フォームがアクティブの時には親フォームのヘルプを表示しないようにしたい」
メッセージをキャンセルするってのはその一手段に過ぎない。

>>240
やっぱり無理なんじゃないか。
というのは、別に子が親にメッセージ送ってるわけじゃないのだから。
いま実際WndProcでメッセージ拾うコード書いて確認したので間違いないと思う。

247:デフォルトの名無しさん
05/03/11 02:01:28
WndProcをオーバーライド。
該当するキーの場合、基底クラスのWndProcを呼ばない。
あるいはProcessCmdKeyをオーバーライド。
該当するキーの場合、trueを返す。

248:デフォルトの名無しさん
05/03/11 07:13:39
>>246
>>240

アホ

249:デフォルトの名無しさん
05/03/11 07:15:36
>>246
>いま実際WndProcでメッセージ拾うコード書いて確認したので間違いないと思う。
間違ってるじゃんw

お前、マジでもういいよ

250:デフォルトの名無しさん
05/03/11 08:35:18
タスクバーを除いたデスクトップのサイズを取得したいのですが
どのようにすればよいでしょうか?

251:250
05/03/11 10:40:54
すみません。わかりました。

252:デフォルトの名無しさん
05/03/11 12:26:42
>>249
幼稚な奴。
実際に自分でやってみてから言ってるか?
っていうか、「本当はWndProcなんてわかんない」に五万両。

253:デフォルトの名無しさん
05/03/11 19:48:58
このスレの大半はアホなのはわかっている。

254:最凶VB厨房
05/03/11 22:50:51
ドアホがスレ立ててんだからしょうがねぇってこった。

255:デフォルトの名無しさん
05/03/11 23:07:27
アホは自分がアホだと認識した時点でアホではなくなる。

256:デフォルトの名無しさん
05/03/12 00:35:42
>>252
>>246が間違っていることを確認し、問題を解決できました。
回答くださった方(>>246の人は除き)、どうもありがとうございました。

257:デフォルトの名無しさん
05/03/12 23:09:18
どなたか教えてください。

datagridのDataGridTableStyleでFormatを設定する部分があると思うのですが、
番号を01,02,03・・・という感じでしたいので 00 と入れたのですがちゃんと表示されず、
1,2、・・とでてしまいます。
どの部分がおかしいのでしょうか?

258:デフォルトの名無しさん
05/03/12 23:13:34
Dim str As String : Dim time As Integer : Dim ch As ListView.CheckedListViewItemCollection
ListView1.View = View.Details : ListView1.CheckBoxes = True : ListView1.Columns.Add("test", 100, HorizontalAlignment.Left)
''' テストデータセット 偶数にチェック
For ii As Integer = 0 To 5000
ListView1.Items.Add(CStr(ii)) : If (ii Mod 2) = 0 Then ListView1.Items(ii).Checked = True
Next ii
''' チェックデータ取得 ①~③ のどれが一番早い??
time = Environment.TickCount() ''''①
Dim txt1 As New System.Text.StringBuilder
For ii As Integer = 0 To ListView1.Items.Count - 1
If ListView1.Items(ii).Checked Then str = ListView1.Items(ii).Text
Next ii
Console.WriteLine(Environment.TickCount() - time)
time = Environment.TickCount() ''''②
ch = ListView1.CheckedItems
For ii As Integer = 0 To ch.Count - 1
str = ch.Item(ii).Text
Next ii
Console.WriteLine(Environment.TickCount() - time)
time = Environment.TickCount() ''''③
ch = ListView1.CheckedItems
For Each item As ListViewItem In ch
str = item.Text
Next
Console.WriteLine(Environment.TickCount() - time)


259:258
05/03/12 23:14:09
上記サンプルの、ListViewコントロールについて質問です。
Details モードで、チェックボックスを付けた状態で、チェックされた行を
取得する方法なのですが、以前より何故こんなに遅いのかと疑問に感じていました。
が、どうやらコーディング次第でものすごく差があるようです。
私は、②<③<①となると思っていたのですが、現実は、①<③<<<<②になりました。
何故このような結果が出るかどうしても説明出来ません。
誰か偉い人教えてください。

260:デフォルトの名無しさん
05/03/12 23:20:00
>>257
DataGirdTextBoxColumnのFormatプロパティだな。
該当するDataColumnのDataTypeがString型になってるんだろう。

261:デフォルトの名無しさん
05/03/13 00:40:04
>>259
面白そうなのでちょっとILDASMで見てみた。

(2)の最大のボトルネックはCountプロパティの取得部分であるのは動作を見れば一目瞭然。
では内部でどんな作業をしてるのかというと、
1.オーナーであるListViewのCheckedIndicesを取得して、そのCountプロパティを返す。
2.CheckedIndices.Countは、内部ではオーナーであるListViewのItemsプロパティを取得し、
 それをFor Eachで回して一つ一つCheckedプロパティを確認し、インクリメントして計測する。
という遠大な事をやっている。
For ... To で毎回Countプロパティを取得してればそりゃ死ねる。
Forの前に一度Countを別変数に取り出すだけで劇的に改善され、(3)にほぼ並ぶ。

さて、(2)と(3)の違いだが。
(2)は毎回Item(Integer)を呼んでいる。この動作の遷移は、
1.ListViewのCheckedIndicesを取得、CheckedIndices.Itemを呼ぶ
2.CheckedIndices.Itemは内部でListView.ItemsをForで回し、Index回目で見つかったCheckedのインデックスを返す
3.返されたインデックスのアイテムをListView.Itemsから取得し、それを返す
という流れだ。分かりにくいなんて意見はスルー。

(3)、For Eachは内部でGetEnumeratorが呼ばれ、それで返されるIEnumeratorのCurrentプロパティ・MoveNextメソッドで列挙動作が行われる。
ではGetEnumeratorはどうなってるかというと、
1.CheckedListViewItemCollection.Countを取得し、その数でListViewItem配列を作成する
2.ListViewのItemsをForで回し、Checkedかどうか確かめてCheckedなアイテムを順に配列に格納する
3.配列のGetEnumeratorを返す
って流れになる。
配列のGetEnumeratorは、MoveNextが呼ばれるごとにインデックスをインクリメントして、Currentで現在のインデックスのアイテムを返すってだけの簡単な処理。

(3)はCheckedListViewItemCollection.Countを取得してる以外にコストがかかる処理はなさそうだ。それが大きいけど。
(2)は2.の所だな。指すインデックスが後ろになればなるほどコストがかかるようになる。
その上ch.Item(ii)がループ回数呼ばれてる訳で、その回数分のListView.Itemsのループが発生してしまうと。

こんな動作を知ってしまった後では、でかいビューでCheckedItemsを使うのは躊躇しちゃうね。

262:258
05/03/13 12:06:00
>>261
ホントにありがとうございます。
非常に分かり易い神な回答が返って来るとは思いませんでした。

ヘッポコ同僚が(1)でコーディングを行っていて、カコ悪いなーと思っていましたが
それが一番コストが掛からないなんて・・・orz


263:デフォルトの名無しさん
05/03/13 13:17:14
配列の概念がよくわかりません

264:デフォルトの名無しさん
05/03/13 13:18:37
そうか頑張れ。

265:デフォルトの名無しさん
05/03/13 14:43:45
>>264
なんだそれ

266:デフォルトの名無しさん
05/03/14 12:24:47
LinkLabelをクリックした時に左右どちらのボタンでクリックしたか調べるには
どうすればいいですか?
LinkClickedのイベントプロシージャ内で判定させたいのですが。

267:デフォルトの名無しさん
05/03/14 12:40:47
>>266
MouseDownで保存しとくとか。

268:デフォルトの名無しさん
05/03/14 12:59:19
Excelでレポートを出力するアプリケーションを作っています。
一旦Excelに書き込んで保存して終了して
その書き込んだExcelファイルを開くという処理をしているのですが
System.Diagnostics.Process.Startをしたときに前のExcelの
プロセスが残っているためかExcelのメニューだけ表示された状態で
とまってしまいます。
GC.WaitForPendingFinalizers()
がないと100%そうなるのですが、これがあると
うまくいくときもあります。何か回避方法がありますでしょうか?

oBook.Close(False)
NAR(oBook)
NAR(oBooks)
oApp.Quit()
NAR(oApp)

GC.Collect()
GC.WaitForPendingFinalizers()

System.Diagnostics.Process.Start("hoge.xls")



269:デフォルトの名無しさん
05/03/14 13:08:04
FlexGridの新しい奴がExcel直接操作できる

270:268
05/03/14 13:38:21
すみません。お騒がせしました。
データを書き込んでいるところを関数にしたら直りました。
データを持っているオブジェクトが解放されなかったためのようです。


271:デフォルトの名無しさん
05/03/14 14:33:51
リストビューでカラムヘッダーをクリックしたら
そのカラムでソートしたいのですがどのようにしたらよいでしょうか?

272:デフォルトの名無しさん
05/03/14 15:55:47
>>271
URLリンク(dobon.net)

273:デフォルトの名無しさん
05/03/14 16:03:41
>>272
ありがとん。
できました。

274:デフォルトの名無しさん
05/03/14 18:42:38
--------------------------------------------------
Java
--------------------------------------------------
public class Foo {
public static void main(String[] args) {
new Foo();
}

public Foo() {
}
}


と同等なコードをVB.NETで書きたいのですが、
New Foo()と書くと構文が違うと怒られるんですが、
こういう書き方はできないのでしょうか?


275:デフォルトの名無しさん
05/03/14 18:48:24
>>274
VB.NETの構文を勉強してください。

276:デフォルトの名無しさん
05/03/14 18:49:32
Java'erならC#使った方が良くね?

277:デフォルトの名無しさん
05/03/14 18:50:00
>>275
嫌なんで、教えてください。

278:デフォルトの名無しさん
05/03/14 18:51:22
わかった、ちょっと待ってな・・・

279:274
05/03/14 18:52:33
できればそうしたいんですが、
それができないんで○| ̄|_
VB冗長すぎる…。

280:デフォルトの名無しさん
05/03/15 15:55:17
TextBox1をクリックしたりしてフォーカスがTextBox1に移動したときにLabel1.Textが
TextBox1の説明文に変更されて、また別のTextBoxが選ばれたらLabel1.TextがそのTextBoxの
説明文に変更されるというようなプログラムを書く場合、
Private Sub TextBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.Click
  Label1.Text = "(TextBox1の説明文)"
End Sub
てな感じのを各TextBoxすべてについて書かなければいけないのでしょうか?
何か他にエレガントな方法はありませんか?

281:名前は開発中のものです。
05/03/15 16:00:45
まぁ藻前ら、それほどの技術と経験と根性があるなら、今まさに危機に瀕している↓のMMORPGを救ってくれ。
軽く問題に触れておくと、要は開発者が逃げ出しましたよと。
そしてそれに痺れを切らした3Dモデリング担当の人もプロジェクト脱退しましたよと。
そこで藻前らの力が必要になったわけで。。
この企画に参加、若しくは引継ぎすれば少なくとも藻前らのスキルアップにも繋がるだろうし。。
頼むよ。絶望に満ち溢れた世界に新たな風を吹き込んでくれ。藻前らの力で・・・・・・

         頼       ん      だ       ぞ

                 URLリンク(rob2.jp)

282:デフォルトの名無しさん
05/03/15 16:24:34
>>280
TextBoxのTagに説明文を入れて、
Label1.Text = CType(sender, TextBox).Tag.ToString()
を全てのTextBoxのEnterイベント共通メソッドにする、とかどうよ。

283:デフォルトの名無しさん
05/03/15 17:29:04
>>282
それは全てのTextBoxのEnterイベントを共通メソッドとして一括で書く方法があるということですか?
それとも全てのTextBoxのイベントをひとつひとつ書かないといけないということでしょうか?

284:デフォルトの名無しさん
05/03/15 17:43:04
なんでWebBrowserコントロールのドキュメント、MSDNに無いんだよ!!!!

285:デフォルトの名無しさん
05/03/15 17:44:58
>>283
URLリンク(www.microsoft.com)

>>284
英語が読めない人は大変ですね。

286:デフォルトの名無しさん
05/03/15 17:50:07
>>282>>285
おお、百万の感謝を。

287:デフォルトの名無しさん
05/03/15 22:54:31
RichTextBoxで100行目に書かれている1行をすばやく消す方法を教えてください。


288:デフォルトの名無しさん
05/03/15 23:24:18
SendKeys "^({HOME})"
For intCnt = 1 To 99 Step 1
SendKeys "{DOWN}"
Next intCnt
SendKeys "+({END}){DEL}"

289:デフォルトの名無しさん
05/03/15 23:51:37
↑こういうのって一般的なんですか?


290:デフォルトの名無しさん
05/03/16 07:20:34
>>289
No

291:デフォルトの名無しさん
05/03/16 12:55:13
>>287
WordWrapは考慮しなくてもいいの?


292:デフォルトの名無しさん
05/03/16 17:06:23
Ctrl+Xで削除する行って、削除と同時に複写もするんですか?

293:デフォルトの名無しさん
05/03/16 17:15:48
すみません。教えていただきたいのですが、

DatagridにListBoxを使用しています。
たとえば

あああ
いいい
うううう
えええ
おおお

のリスト中の「あああ」と「えええ」 を複数選択してそれを
A列とB列に入れたい場合はどういうふうにすればいいでしょうか?

リストボックスプロパティのselectionmode=MultiSimpleで複数選択はできました。

よろしくおねがいします。



294:デフォルトの名無しさん
05/03/16 17:22:24
>>293
A列とB列はどこから出てきたんだ?

295:デフォルトの名無しさん
05/03/16 17:41:04
>>294

SQLサーバーで従業員のデータを作成してdatagridで使用してます。
従業員の担当業務が複数あってそれを入れたいと思っています。
複数あるので担当業務の列を5つ設けています。
2つであればA列、B列。3つあればC列までって感じです。




296:289
05/03/16 22:04:52
>290
んじゃ~正しいの教えてください。御願いします。
Select~で選んで消さなきゃいけないのはわかるんですが、目的の場所にたどり着くのに
えらいこと時間がかかるから、、、
せっかくLinesみたいなのがあるのに、その行を消せないし。

297:デフォルトの名無しさん
05/03/16 22:15:29
APIのSendMessageでEM_GETLINEを送れば特定行の先頭インデックスを取得できる。

298:デフォルトの名無しさん
05/03/16 22:49:10
Windows2000/XP でログオフ/終了/再起動ををするのをフックにして
動作するプログラムを書きたいのですが、どうやって判断すれば
いいでしょうか?



299:デフォルトの名無しさん
05/03/16 22:50:11
VB.NETでCABファイルを扱いたいのですが、専用のクラスとかは
あるでしょうか。

300:デフォルトの名無しさん
05/03/16 22:54:46
>>299
ない。

301:デフォルトの名無しさん
05/03/16 23:20:05
>299
URLリンク(www.elguille.info)

302:デフォルトの名無しさん
05/03/16 23:36:02
そろそろ、テンプレのリンクに色んなサイト追加しない?
漏れ自身は、結構良いサイト増えてきてると思ってる。
掲示板が設置してあるサイトをまとめてみたりすると良いかも。

303:デフォルトの名無しさん
05/03/17 00:38:38
>>302
頼む

304:デフォルトの名無しさん
05/03/17 11:48:34
>>292
Ctrl-X は切り取り

305:デフォルトの名無しさん
05/03/17 16:51:33
VB.NETのソースはJavaのようにフォルダを階層構造にして
管理できますか?

306:デフォルトの名無しさん
05/03/17 18:37:27
シリアルキー解析集「ALTEA」
大好評発売中!

URLリンク(openuser10.auctions.yahoo.co.jp)


市販SOFTやオンラインSOFTのパスワード集です。
オークション関係から画像・OS・表計算・CAD・・・・etc
国内・国外のあらゆる分野のSoftを解析済です。


これを初めて手にされた時には、驚愕される事でしょう。
そして・・・手当たり次第にインストールを始める筈ですw
パソコンをご使用の方なら、必ず!満足されると思います。

解析結果のデータベースには15,000点を越えるパスワードが入ってます。
このパスワード集から検索するだけで、登録や制限解除が出来てしまいます。
シェアウェアを購入して、正規登録したのと同じ状態になります。
余りにもデータが多すぎる為、辞書引のようなパスワード検索SOFTで提供します。

シェアウェア以外にもパッケージ版をVectorなどでオンライン販売してるSOFTにも
多数対応しています。これらをダウンロードして無期限に試用する事も可能です(^^;

WindowsXPやOfficeなどのCDキー(プロダクトキー)ジェネレーターを使えば複数のパソコンに
インストールする事も可能です。デスクトップとノートPCなど2台以上持ってる場合は特に有効ですね。

オンラインSOFTを購入した経験は有りますか?
ありとあらゆる分野の優れたSOFTが、数多くありますよね。
しかし、ほとんどが試用期間や機能制限をして、「気に入ったら購入してください」です。

もう少し使いたいが使用期限切れで、削除・・・再インストールを繰り返していませんか?


307:デフォルトの名無しさん
05/03/17 21:10:23
だれかおしえて!

datagrid使ってデータベース作ってるんだけど、
別のフォームで作成したデータベースのデータをComboboxを使って
よびだしたとき、ほかのTextboxにComboboxを使って呼び出したデータと
同じ行の違う列のデータを表示させたいんです。
どうしたらいいですか?


308:デフォルトの名無しさん
05/03/17 21:12:22
>>307
わけがわからんのでもうちょっと整理して。

309:デフォルトの名無しさん
05/03/17 21:20:19
>>307
まさかプロじゃないだろうな?

310:デフォルトの名無しさん
05/03/17 21:31:23
「データベース作る」って何やってんだ?

311:デフォルトの名無しさん
05/03/17 23:21:44
>>307
ComboBoxのSelectedIndexを使う
選択された行を認識して任意の列を取り出せばいいんでないの
ValueMemberに抽出のキーとなるデータをほりこんでおいてそれで探してもいいけど

しかしもう少し聞き方何とかならねぇのか?

312:デフォルトの名無しさん
05/03/17 23:37:21
VB.NETにはRebarってありますか?
あのツールバーの場所を移動したりするやつです。

313:デフォルトの名無しさん
05/03/17 23:40:55
.NET Frameworkのライブラリにはない。.NET 2.0で追加される。
それまではサードパーティのを。どぼんとかに紹介もされてたはず。

314:デフォルトの名無しさん
05/03/17 23:48:00
>>313
そうだったんですか。今年後半まで我慢ですね。
Twintailというソフト確認したら、それも外部のものを使ってました。
探してみます。ありがとうございました。

315:デフォルトの名無しさん
05/03/18 00:15:56
フォームの左上に表示されるアイコンを条件によって
切り替えたいのですが、どうすればできますか?

316:デフォルトの名無しさん
05/03/18 00:17:08
Iconプロパティを操作する

317:デフォルトの名無しさん
05/03/18 00:25:59
>>316
それはそうなのですが、デザイナでIconプロパティを設定すると
Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
みたいなコードが生成されますよね。この右辺部分を動的に変える
方法がよく分からないのです。リソースファイルみたいなものを
使うのでしょうか。

318:デフォルトの名無しさん
05/03/18 00:42:11
>>317
ま、普通はリソースを埋め込むね。
URLリンク(dobon.net)

319:デフォルトの名無しさん
05/03/18 01:02:43
>>318
サンクス

320:302
05/03/18 04:24:31
>>303
頼むって・・・そんな・・・。
最凶VB厨房先生に頼まないとダメなのかしらねん。
まあ、いいや、ほどほどにあげとこ。

VB.NET初心者の館(初心者専用ですな)
URLリンク(vbnet-iku2.hp.infoseek.co.jp)

PAPA'n VB (API 系のサンプルが結構ある)
URLリンク(www.mitene.or.jp)

じゃんぬねっと(VB.NET だけでなく、C#, J# も、なんと VB6 も)
URLリンク(jeanne.wankuma.com)

VB レスキュー花ちゃん(.NET 専用のコーナーがある)
URLリンク(www.bcap.co.jp)

掲示板も紹介しようかと思ったけど、ここの人がいなくなるからやめた(w

321:302
05/03/18 04:26:35
あ、一応全部リンクフリーみたい。
てんぷらに合わせて書くとこんな感じ?

VB.NET初心者の館
URLリンク(vbnet-iku2.hp.infoseek.co.jp)
PAPA'n VB
URLリンク(www.mitene.or.jp)
じゃんぬねっと
URLリンク(jeanne.wankuma.com)
VB レスキュー花ちゃん
URLリンク(www.bcap.co.jp)

322:デフォルトの名無しさん
05/03/18 09:36:17
MDBファイルにアクセスするプログラムを組んでいるのですが
「この接続に関連付けられている DataReader が既に開いています。この DataReader を最初に閉じる必要があります。」
というエラーメッセージが出ます。
Oracleへアクセスするプログラムの時は問題なかったのですが
MDBファイルへアクセスするときはDataReaderが一つしか開けない
ということでしょうか?
これを簡単に回避する方法はないでしょうか?

323:デフォルトの名無しさん
05/03/18 09:42:56
開いた接続はさっさとClose。

324:デフォルトの名無しさん
05/03/18 09:45:40
>>323
ネストしたい場合はどうしますか?

325:デフォルトの名無しさん
05/03/18 10:05:19
新たにコネクションを張る、Readerから取得したデータを変数に格納する、DataAdapterとDataSetを使った手法に変える。

326:デフォルトの名無しさん
05/03/18 10:10:16
>>325
さんくす。うーん。どれにしようかな。
DataSetにするかなー

327:デフォルトの名無しさん
05/03/18 11:24:45
>>320-321
Good Job!

328:デフォルトの名無しさん
05/03/18 16:09:36
>321
3つとも知ってましたがなにか?

329:328
05/03/18 16:09:57
間違えた、4つともだった。OTZ

330:デフォルトの名無しさん
05/03/18 23:35:01
InstallShieldのスレってある?

331:デフォルトの名無しさん
05/03/19 10:14:51
以前はあったんだけどな。

インストーラー相談室
スレリンク(tech板)

過疎ってるけどageで質問すれば誰か来るでしょ。

332:デフォルトの名無しさん
05/03/20 01:05:38
Dim a As String = "4+2*15/3"
と 4+2*15/3 をStringで宣言し
これを計算させて14という答えを導いて
それを他の変数に代入するには
どうしたらいいのでしょうか?

333:最凶VB厨房
05/03/20 02:12:03
参照の追加
Microsoft.JScript
Microsoft.Vsa
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Imports System
Imports Microsoft.JScript.Vsa
Imports Microsoft.JScript
Public Class calc
  Public Shared Sub Main()
    Dim exp As String = "4+2*15/3"
    Dim ve As VsaEngine = VsaEngine.CreateEngine()
    Dim result As Double = CDbl(Eval.JScriptEvaluate(exp, ve))
    '結果を表示
    Console.WriteLine(result)
    Console.ReadLine()
  End Sub
End Class

実行時の動的な式の評価 - Insider.NET
URLリンク(www.atmarkit.co.jp)
どぼん!のプログラミング道のメルマガ
URLリンク(dobon.net)


334:デフォルトの名無しさん
05/03/20 14:32:30
>>333
遅くなってすいません。
ありがとうございました。

335:デフォルトの名無しさん
05/03/20 14:57:20
For文で繰り返し処理しているときでもユーザーの入力を
受け付けるようウェイトをかけたいんですが?

336:デフォルトの名無しさん
05/03/20 15:00:32
そう言う処理は別スレッドでやって下さい。

337:デフォルトの名無しさん
05/03/20 15:23:34
そして別スレッドのコントロールを触ってあぼーん

338:デフォルトの名無しさん
05/03/20 16:37:32
え、waitとかsleepとかないんですか

339:デフォルトの名無しさん
05/03/20 16:38:05
基本だな。

340:デフォルトの名無しさん
05/03/20 16:41:32
>>338
あるけどね。お薦めしない。
UIスレッドはユーザとの対話だけやって、重い処理は別スレッドでやるべき。
VB6までの常識は捨て去れ。
.NETでマルチスレッディングは簡単になったし。
コントロールを別スレッドから扱うのは工夫が必要だが。

341:デフォルトの名無しさん
05/03/20 16:47:13
>あるけどね。お薦めしない。
一応教えてください。

342:デフォルトの名無しさん
05/03/20 17:36:07
>>340
>>コントロールを別スレッドから扱うのは工夫が必要だが。
コントロールを貼り付けたりする方法を教えてけれ。

343:デフォルトの名無しさん
05/03/20 17:45:10
>>342
端的に言えばFormのInvoke/BeginInvokeメソッドを使え、と言う事。
URLリンク(www.atmarkit.co.jp)

その辺をキーワードにぐぐればいろいろ情報も出てくるだろう。

344:341
05/03/20 17:51:08
342とは別人なんですが

>あるけどね。お薦めしない。
一応教えてください。


345:デフォルトの名無しさん
05/03/20 19:38:13
なんだ、バカばかりだな。

346:デフォルトの名無しさん
05/03/20 19:47:09
そうだな。

347:デフォルトの名無しさん
05/03/20 19:50:15
バカで悪いか?

348:デフォルトの名無しさん
05/03/20 21:08:59
>>347
悪いのでは?

349:デフォルトの名無しさん
05/03/20 21:51:06
質問です。VBには先人の開発したモジュール郡を無料で配布管理してる
サイトが存在しますか?
perlではCPANというボランティア団体が大量のモジュールを提供していました。
(ALL英語なので敷居が高く挫折気味ですが..)
MSDNを彷徨って探してみてのですが、膨大なコンテンツ群に圧倒され
お目当ての物はみつけられませんでした。


350:デフォルトの名無しさん
05/03/20 21:53:46
GotDotNetとかthe Code Projectとか。
ん? .NETの話だよな?

351:デフォルトの名無しさん
05/03/20 22:18:06
ええと...単体で買うとNETでは無くなるのかな?
新しいの買ってこようと考えていますが...
the Code Projectは英語表記ですね><
GotDotNetはあまり20-30くらいしかモジュールないのかな...

...英語面倒だとか贅沢いうな ハゲとか言わないでください..><
簡易にオブジェクト組めるVBに興味が湧き出しているのですが
できれば、モジュールを組み立ててコーディングしたいのですので

352:デフォルトの名無しさん
05/03/20 23:06:31
.NET Frameworks自体が、でかいモジュールの集まりだと言えなくも
ない罠。

353:デフォルトの名無しさん
05/03/21 02:11:58
.NETでは6.0で書かれたVBソースって見れないんでしょうか?

今日電気店にて聞いたところ
「6.0で書かれたソースを.NETで開くと
.NETの形式に変換されて表示されちゃう。」
と言われました。

当方ソースを閲覧できさえすればよいのですが
エディタを使うしかないのでしょうか?
.NETを使用して見れるとよいのですが…。
6.0は販売してないし…。

354:デフォルトの名無しさん
05/03/21 02:18:20
閲覧だけならテキストエディタで良いじゃんと思うんだが。
VSは一々重いし。
VBの色つけならそれなりのエディタが対応してるんじゃない?

355:デフォルトの名無しさん
05/03/21 06:52:08
>>354
それなりとは?

356:デフォルトの名無しさん
05/03/21 08:18:33
>>354
重いってどこが?

357:デフォルトの名無しさん
05/03/21 08:51:59
おまいら>>353の電気店ってほうが突っ込むべきところだと思うが。

358:デフォルトの名無しさん
05/03/21 11:00:25
>>357
思いません。

359:デフォルトの名無しさん
05/03/21 14:47:34
すいません、質問させてください。
IEのフォームにVB.NETで文字を自動入力させることは可能でしょうか?
注文ページに住所氏名電話番号など、自動入力できる常駐ソフトなど、
よろしければ教えてください。

360:デフォルトの名無しさん
05/03/21 18:24:38
'Yahooにログイン.vbs

'-------------------
Set ie = CreateObject("InternetExplorer.Application")
ie.visible = True
ie.navigate "URLリンク(www.yahoo.co.jp)"
Do
   WScript.Sleep 100
Loop While ie.Busy
With ie.document.forms(0)
   .item("login").value = "なまえ"
   .item("passwd").value = "ぱすわーど"
   .submit
End With

361:デフォルトの名無しさん
05/03/21 19:13:14
AddHandlerで、イベントをデリゲートした場合、
明示的に、RemoveHandlerを呼び出さないと、ガベージコレクトされませんか?

362:デフォルトの名無しさん
05/03/21 19:26:52
361ですが、
イベントハンドラ(イベントを関連付けたメソッド)
を持つクラスのインスタンスをNothingしても、RemoveHandlerを呼び出していなかった場合、
ガベージコレクトされずに、メモリに残ることはないのだろうかということです。

363:デフォルトの名無しさん
05/03/21 19:34:14
ないよ。普通にGCされる。

364:デフォルトの名無しさん
05/03/21 19:44:02
>>362
VB.NETではリソースの解放は一切必要ないよ。
ベストは1秒間隔くらいで動くタイマ仕掛けておいて、
その中でSystem.gc.Collect()しとけば絶対リークなしだよ。

365:デフォルトの名無しさん
05/03/21 19:47:21
ReDimも解放されますか?

366:デフォルトの名無しさん
05/03/21 19:47:43
無茶言うな。

367:デフォルトの名無しさん
05/03/21 19:48:45
>>365
されるよ。GCは最強。

368:デフォルトの名無しさん
05/03/21 19:57:32
そうですか。レスありがとう
一応、REmoveやっとけばいい話だけども。
ヘルプによると、
Event ステートメントで型が定義されて、
AddHandlerで、その型にインスタンスされるそうです。(デリゲートが?)
>>364
そりゃないよ。

369:デフォルトの名無しさん
05/03/21 20:34:25
一応技術的な解説をしとこう。

イベントは、対応する引数・返値を持ったデリゲートの一種のプロパティだ。
デリゲートというのは、メソッドへの参照リストを保持する特殊なクラス。
Event Hogeを宣言すると、VB.NETコンパイラは以下の操作を行う。

・MulticastDelegateを継承するHogeEventHandlerクラスを作成する
・HogeEventHandler型のフィールドHogeを追加する
・メソッドadd_Hogeとメソッドremove_Hogeを追加する

イベントの実体は結局の所デリゲートの派生クラスであるHogeEventHandler型のフィールドHogeである。

AddHandlerステートメントは、まずメソッドの参照をラップするHogeEventHandlerインスタンスを作成する。
その後add_Hogeを呼び出して、フィールドHogeと作成したインスタンスを合成し、新しくHogeとする。
これでHogeにはメソッドの参照であるHogeEventHadlerインスタンスのリストがあることになる。
//このリストは飽くまでインスタンスの参照のリストである、という点を忘れてはいけない。クラスインスタンスは全て参照でやりとりを行う。

RaiseEventステートメントを使うと、このメソッドリストを最初から順に実行していくわけだ。

さて、Hogeが持ってるのはHogeEventHandlerインスタンスのリストである。
それぞれのHogeEventHandlerインスタンスはこのHogeからしか参照されていないわけで、
Hogeが他から参照されなくなると、自動的に各HogeEventHandlerインスタンスも他からの参照はなくなる。つまりGCの対象となる。
ではHogeの参照を持っているのは、というと(SharedのEventでない限りでない限り)、
Eventを持ってるクラスのインスタンスが
・明示的にHogeにNothingを代入する(ただしVB.NETでは不可能)
・クラスのインスタンス自身が他から参照されなくなった
といった状況だ。
つまり、クラスのインスタンスがGCされる状況では必ずHogeとHogeが持っているHogeEventHandlerインスタンス達もGCの対象になっているというわけだ。

あと、RemoveHandlerすればHogeからHogeEventHandlerインスタンス(の参照)が一つはずれる。
はずされたHogeEventHandlerは当然他からの参照されていないためGCの対象になる。

370:デフォルトの名無しさん
05/03/21 21:13:16
>>368
>そりゃないよ。
理由言ってみ。

371:368
05/03/21 21:13:47
>>369
ダラダラ分かりにくい解説ありがとう

372:デフォルトの名無しさん
05/03/21 21:33:35
>>371
俺は369じゃないが君人間として終わっとるな。

373:デフォルトの名無しさん
05/03/21 22:17:23
>>372
理由言ってみ

374:デフォルトの名無しさん
05/03/21 22:34:07
言われないと分からないようなやつがいるこんな世の中じゃ(ry

375:デフォルトの名無しさん
05/03/21 22:35:28
Python

376:デフォルトの名無しさん
05/03/21 22:37:24
うまいな。(w

377:デフォルトの名無しさん
05/03/21 22:48:36
>>374
つまり説明はできないということだね。

378:デフォルトの名無しさん
05/03/21 22:49:01
>>374-376
自演乙

379:デフォルトの名無しさん
05/03/21 22:54:45
分かりやすい自演をするのが最近の2ちゃんのトレンドだと思うが。

380:デフォルトの名無しさん
05/03/22 17:07:50
ListViewのアイテムをカラムの値を使ってソートしたいのですがやり方がサッパリわかりません。
教えていただけないでしょうか?


381:デフォルトの名無しさん
05/03/22 17:13:16
>>380
どぼん

382:デフォルトの名無しさん
05/03/23 01:01:41
ブラウザコントロール(?)を利用してデータをPOSTで送信しているのですが、
特定のコード(Chr(81)~Chr(9F))が00に化けてしまいます。

コードはこのような感じです。

Dim sendPOST As Object
Dim i As Integer

sendPOST = "test="

For i = 0 To 255
sendPOST += Chr(i)
Next i

sendPOST = Encoding.GetEncoding("Shift-JIS").GetBytes(sendPOST)

AxWebBrowser1.Navigate2("URLリンク(xxxxxxxxxxx)", "", "", sendPOST, "")

化けない方法はありますか?

383:382
05/03/23 01:03:51
>特定のコード(Chr(129)~Chr(159))が00に化けてしまいます。

384:sage
05/03/23 01:48:09
算術演算子はオーバーロードできないのですか?

385:デフォルトの名無しさん
05/03/23 03:26:18
>>382
アスキー未定義コードだし、相手がLinux鯖じゃないのかな?

386:デフォルトの名無しさん
05/03/23 05:12:48
>>384
できない。
VB2005では、できるようになるらしい。

387:デフォルトの名無しさん
05/03/23 11:53:42
最初の画面のコンボボックスで、”AAA”という値を選択したとして
次の画面のコンボボックスで、”AAA”という同じ値が存在したら
選択状態にしたいのですが、どーすればいいのでしょうか?


388:368
05/03/23 12:08:50
371は俺じゃないぞ。

389:デフォルトの名無しさん
05/03/23 13:29:56
>>387
そう言う風に書け、としか言いようがないな。

390:デフォルトの名無しさん
05/03/23 14:01:51
>>389
すみません、具体的なコマンドが知りたいのですが。。。

391:デフォルトの名無しさん
05/03/23 14:27:55
グローバルで値を渡してselectedItemに投げろ。

392:デフォルトの名無しさん
05/03/23 14:40:59
サンクス子!

393:デフォルトの名無しさん
05/03/24 08:27:18
VB.NETからボタンなどのコントロールの配列ができなくなって
結構めんどくさいのですが、
ボタンがcmdBtn00からcmdBtn99まであって、
String="33"の場合、cmdBtn33のボタンオブジェクトが欲しいのですが、
どうすれば可能でしょうか?
Select Caseでだらだらと書くのでなく、
2,3行以内で書きたいのですが。

394:デフォルトの名無しさん
05/03/24 08:28:03
VB.NETでアプリケーションを作りました。
配布のためにインストーラを作成したいのですが
定番はどのような方法でしょうか?

395:デフォルトの名無しさん
05/03/24 08:44:44
>>393
コントロールの配列はできますよ

396:デフォルトの名無しさん
05/03/24 08:47:18
>>393
ほら
URLリンク(dobon.net)

397:デフォルトの名無しさん
05/03/24 08:50:04
>>393
6.0の頃みたいに添字で配列化はできないけれど、普通に1次元配列
を宣言して、そこにオブジェクトを代入すればそれっぽく使える。

398:デフォルトの名無しさん
05/03/24 09:04:22
配列いらないよ。
Formにボタンおいてるなら、そのフォームのControlsコレクションに入ってるから、
TypeOfで、取り出せる。

399:デフォルトの名無しさん
05/03/24 10:40:07
ShowDialogで表示したページに
明示的にDislogResultを設定すると
勝手にページが閉じるんだが
これは仕様?

400:デフォルトの名無しさん
05/03/24 10:50:52
仕様。

401:デフォルトの名無しさん
05/03/24 11:41:14
>>400
トンクス

402:デフォルトの名無しさん
05/03/24 12:30:08
>>393です。
みなさんありがとうございます。
結果、下記のようになりました。
Private Function GetButton(ByVal a_str As String) As Button
Dim objControl As Control
Dim btn As Button
Dim strWork As String
For Each objControl In Me.Controls
If objControl.GetType Is GetType(Button) Then
btn = CType(objControl, Button)
strWork = btn.Name
If strWork = a_str Then
GetButton = objControl
Exit For
End If
End If
Next
End Function


403:デフォルトの名無しさん
05/03/24 16:59:07
俺のやり方が正しいかわかんないけど、
ボタンコントロールがたくさんあるなら、デザイナからも設定できるけど、プロパティにTagってのがあるでしょ。
そこに、1とか、2とか番号振っといて、
For Each C as Control In Me.Controls
   If TypeOf C Is Button Then
      If C.Tag.ToString = "1" Then
        Btn=DirectCast(C,Button)
      End If
   End If
Next
試してはいないです。

404:デフォルトの名無しさん
05/03/24 18:25:27
>>403
あーTagですか。
他社製品のコンポーネントでtagを使用してたのに
Windows標準のコンポーネントでのTagの存在、
全く気づきませんでした。
軽く見ると、もしかしてコントロールには
すべてTagがついてそうで、
そのやり方の方が短くていいかも。
やってみたら、5行も短くなりました。
さんくす。
Private Function GetButton(ByVal a_str As String) As Button
Dim objControl As Control
Dim btn As Button
For Each objControl In Me.Controls
If objControl.Tag = a_str Then
GetButton = objControl
Exit For
End If
Next
End Function


405:デフォルトの名無しさん
05/03/24 19:11:53
ここはバカが結構いるインターネッツですよね?

406:デフォルトの名無しさん
05/03/24 19:12:29
そんなに自分を責めるなよ。

407:デフォルトの名無しさん
05/03/24 21:00:36
いや、実際バカばかりだよな。
全員がそうではないけど。

408:デフォルトの名無しさん
05/03/24 21:43:22
obj=controls.contains(Button1)とか。

409:デフォルトの名無しさん
05/03/24 21:44:08
これじゃ意味内科。

410:デフォルトの名無しさん
05/03/25 16:17:50
質問です。
Windowsアプリケーションなのですが、
ShowDialogで表示したページを閉じて親ページにもどる時に親ページをリフレッシュ
する一般的な方法ってありますか?
Webアプリケーションの時はフレームを使ってJavaScriptを埋め込みました。

411:デフォルトの名無しさん
05/03/25 16:19:36
>>410のつづき
しかし、Windowsアプリケーションでは方法が見つかりません。
回答よろしくお願いします。

412:デフォルトの名無しさん
05/03/25 16:21:09
リフレッシュの意味がわからん。

413:デフォルトの名無しさん
05/03/25 16:24:44
>>410
FormLoadを明示的に呼ぶ

414:デフォルトの名無しさん
05/03/25 16:26:53
>>412
すいません。分かりにくかったですね。
>>413
やってみます。サンクス子

415:デフォルトの名無しさん
05/03/25 16:42:27
↓もしかしてこれだけとかゆう落ちだったかも・・
Dim f2 As New Form2
f2.ShowDialog()
Me.Form1_Load(sender, e)

Webアプリケーションももっと楽な方法がありそうですね。


416:デフォルトの名無しさん
05/03/25 20:13:07
閉じる時に、クローズドイベントとかあるのでは?

417:デフォルトの名無しさん
05/03/25 23:18:14
VB.NETから簡単に使えるHTMLパーサはないでしょうか。

418:デフォルトの名無しさん
05/03/26 20:42:12
>>413
おバカ!!
イベントの概念勉強してこい。ぼけ。

419:デフォルトの名無しさん
05/03/26 20:50:06
Form1_Loadメソッドを
呼びだすという意味じゃないの?

420:デフォルトの名無しさん
05/03/26 20:54:20
ひとをバカ呼ばわりするなら、解決策も併記してほしいもんだな。

421:デフォルトの名無しさん
05/03/26 22:13:40
>>420
Form1_Load()を呼び出しても何の問題もないよ。
でも>>418さんの説明を待ってみましょうか?w

422:デフォルトの名無しさん
05/03/26 22:15:52
すいません。どなたか>>417のヒントかアイディアだけでも
いいのでお願いします。

423:デフォルトの名無しさん
05/03/26 22:15:53
>>418は説明できなくて逃亡に65535バイト。

424:デフォルトの名無しさん
05/03/26 22:26:17
>>422
URLリンク(www.microsoft.com)

425:デフォルトの名無しさん
05/03/26 23:25:30
>>423
つまんね

426:デフォルトの名無しさん
05/03/26 23:26:38
>>424
どうもありがとうございました。

427:デフォルトの名無しさん
05/03/27 06:44:06
ListBoxで一つの項目だけフォントを太字にすることはできないのでしょうか?


428:デフォルトの名無しさん
05/03/27 06:55:38
listViewだとできますがいかがでしょう。

429:デフォルトの名無しさん
05/03/27 08:16:40
>>427
できないのでしょうか?はご法度ですが?

430:デフォルトの名無しさん
05/03/27 13:08:12
>>427
オーナードロー

431:デフォルトの名無しさん
05/03/28 00:30:20
コントロールのフォントを太字にしたいとき
Control.FontBold = True [VB]
Control.Font = New Font (Control.Font, FontStyle.Bold) [VB.NET]
同時に斜体や下線も指定するときはVB.NETの方が一括で指定できて便利だが、
現在のフォントを指定することなくもう少し簡略に書く方法はないだろうか。

432:デフォルトの名無しさん
05/03/28 00:38:50
ない。

433:デフォルトの名無しさん
05/03/28 00:42:22
というか、>>431は何が不満でどうしたいのかよくわからない。
旧VBライクに現在のフォントからスタイルだけを変更したいということ?

434:デフォルトの名無しさん
05/03/28 02:18:50
>>433 それしかないだろ

435:デフォルトの名無しさん
05/03/28 07:06:53
>>433
なんでそれが理解できないの?

436:デフォルトの名無しさん
05/03/28 08:18:06
>なんでそれが理解できないの?
>>431の文章が意味不明で一義的に解釈できないから。
だから言わんとしていることを忖度はできるが、理解はできない。
忖度は所詮忖度にすぎない。
そんなこともわからない奴にエンジニアの資格はないと思う。

437:デフォルトの名無しさん
05/03/28 08:58:07
「もう少し簡略に書く方法はないか」と聞かれたら、
単純にその方法があるかないかを答えればすぐに済む話ではないのか?
そもそも>>432で答えが出てるんだから、その後に何が不満で
どうしたいのかなんてわざわざ聞く必要すらないだろう。

438:デフォルトの名無しさん
05/03/28 13:17:12
品名A メーカー1
品名B メーカー1
品名C メーカー2
品名D メーカー2
品名E メーカー3

というデーターを、メーカー名で検索できるような画面を作っているのですが、
単純にメーカー名でSQLで抽出すると

メーカー1
メーカー1
メーカー2
メーカー2
メーカー3

と抽出されてしまいます。

メーカー1
メーカー2
メーカー3

とデーターグリッドに出力したい場合は、何を使えばよいのでしょうか?

439:デフォルトの名無しさん
05/03/28 13:20:52
メーカーが別テーブルになってない?
そんな馬鹿な! 何のための「リレーショナル」データベースだ!

440:デフォルトの名無しさん
05/03/28 13:53:53
distinct

441:デフォルトの名無しさん
05/03/28 15:42:14
>>440
だな。
SQLクエリで処理するのが大吉。
URLリンク(www.accessclub.jp)

442:デフォルトの名無しさん
05/03/28 16:34:34
VBってもしかして正規表現ない?

443:デフォルトの名無しさん
05/03/28 16:37:19
VBは知らないがVB.NETにはRegexクラスがある。

444:デフォルトの名無しさん
05/03/28 17:39:42
VB6にはないな。
正規表現は遅くなるから、あんまり使わないな。

445:デフォルトの名無しさん
05/03/28 21:12:38
>>436
あれ?君は自分がエンジニアのつもりだったのかな?
エンジニアはこんなところには来ないはずですけど。
私も含め、エンジニアなんてここには来てないと思ってました。
認識を改めるように。

446:デフォルトの名無しさん
05/03/28 21:16:13
>>436
お前普段そんな言葉遣いしてるの?
ムリしなくていいぞ。

447:デフォルトの名無しさん
05/03/28 21:16:49
>>433
分からないのになんで書き込むの?

448:デフォルトの名無しさん
05/03/28 21:19:12
てか、ほっときゃいいじゃねーか

449:デフォルトの名無しさん
05/03/28 21:19:43
>441
意味不明。

450:デフォルトの名無しさん
05/03/28 21:21:02
>>437
>>436みたいな投稿への2ちゃん流の対処は「必死だな」の4文字で
十分だよ。まともに相手する必要なしw

451:デフォルトの名無しさん
05/03/28 21:28:00
図に乗るからな。

452:デフォルトの名無しさん
05/03/28 22:04:08
何を騒いでるかと思えば荒らし(>>436)を放置できない奴らの集まりか。
あ、俺もか。

453:デフォルトの名無しさん
05/03/29 06:26:50
ランタイム不要なアプリを作るにはどうしたらいい?

454:デフォルトの名無しさん
05/03/29 07:13:07
>>453
ランタイムを使わない。

455:デフォルトの名無しさん
05/03/29 13:30:07
前から言ってるが、本当にバカばっかりだな。
ばかりというだけで、全員がバカではないのが救いだ。

456:デフォルトの名無しさん
05/03/29 13:32:46
↑バカw

457:デフォルトの名無しさん
05/03/29 18:02:05
あっ、あのぉ・・・
メモリエディタってあるじゃないですかぁ・・
あんな感じのメモリを弄る(?)ツールを作りたいんですけど
どうやったらいいですかねw
プログラミング初心者なので
メモリを取得したり弄ったりできる方法を教えて下さいw

458:デフォルトの名無しさん
05/03/29 18:10:41
ねこまんま作者のサイトとリンクを熟読すればいいと思う。

459:デフォルトの名無しさん
05/03/29 19:00:34
pocket PC 2003用のプログラムで
他のexeを実行するにはどうすればいい?
processが使えなくて困った

460:デフォルトの名無しさん
05/03/29 20:53:13
いまどき実メモリ好き勝手にいじること許すようなOSがあったら見てみたい。
>>457はメモリとファイルの区別がついてないんじゃないか?
バイナリエディタのこと言ってるんでしょ?
こんなレベル人の作ったバイナリエディタなんて怖くて使う気しないけどw

461:デフォルトの名無しさん
05/03/29 20:58:21
釣られないぞ

462:デフォルトの名無しさん
05/03/29 21:07:03
>>459
APIを直接操作するしかないんじゃない?
Pocket PCのAPIに詳しくないからアドバイスはできないが。
Win32APIならKernel32.dllのCreateProcess関数だが。

//.NET 2.0でProcessクラスがCompact Frameworkでもサポートされるようになるようだ。

463:デフォルトの名無しさん
05/03/29 21:15:13
>>458
熟読してみまーす
>>460
そーなんですかぁー、もうちょっと勉強してみまーす

答えてくださった方ありあとうございました。

464:デフォルトの名無しさん
05/03/30 09:13:18
VB.NETとC#.NETで書いたプログラムに処理速度の違いはあるんでしょうか。
C言語の方が高速だと言いますが、.NETで書いたプログラムはビルドすると
MSILという中間コードになるので基本的にはどちらも同じですよね。
ただ“VB.NET製のプログラムにはMicrosoft.VisualBasic.dllが必ずImportされて、
はずせない”ようなのでここで若干変わるんでしょう。だとしたら速度は
VB.NET<C#.NET<C++.NETだと思うんですがこれで合ってるでしょうか。
C++.NETはネイティブコードもできるということで一番上です。

465:デフォルトの名無しさん
05/03/30 09:14:59
有意の差はない。

466:デフォルトの名無しさん
05/03/30 20:59:10
.NET Frameworkって何たるかわかってないな。
MSILが何たるかわかってないな。

467:デフォルトの名無しさん
05/03/30 20:59:54
>>456 もバカ。

とイッテミルテスト。

468:デフォルトの名無しさん
05/03/30 21:14:06
>>466
誰に言ってるの?

469:最凶VB厨房
05/03/30 21:16:57
>VB.NET製のプログラムにはMicrosoft.VisualBasic.dllが必ずImportされて、
>はずせない

根拠を教えてください。

470:デフォルトの名無しさん
05/03/30 21:56:41
>>469
そんな厨房みたいな突込みわざわざせんでも。。

471:デフォルトの名無しさん
05/03/30 21:58:56
ちゃんと自称してるじゃないか。

472:デフォルトの名無しさん
05/03/30 22:28:21
>>465
有意の差ってどういう意味?

473:デフォルトの名無しさん
05/03/30 22:28:27
>>464
>VB.NETとC#.NETで書いたプログラムに処理速度の違いはあるんでしょうか。
C#の方が、効率のいいCILを出力するみたいだね。
速度はわずかに違うと思う。

>VB.NET製のプログラムにはMicrosoft.VisualBasic.dllが必ずImportされて
はずすことは出来るみたい。
URLリンク(homepage3.nifty.com)

474:デフォルトの名無しさん
05/03/30 22:30:49
Microsoft Text Driverを使ってCSVファイルのデータを
DataTableに入れたいのですが、CSVファイルの文字コードが
Shift-JIS以外では文字化けして正しく取得できませんでした。
(試したのはUTF-8とEUC-JP)
Shift-JIS以外のCSVファイルをMicrosoft Text Driverで
読み込むのは無理でしょうか。

objConn = New OdbcConnection
objAdapter = New OdbcDataAdapter
dtCsvData = New DataTable
objConn.ConnectionString = "Driver={Microsoft Text driver (*.txt; *.csv)};DBQ=" & Directory.GetCurrentDirectory() & "\.."
objAdapter.SelectCommand = New OdbcCommand("SELECT * FROM UTF8.csv", objConn)
objConn.Open()
objAdapter.Fill(dtCsvData)


475:デフォルトの名無しさん
05/03/30 23:01:14
>>470
しょうがないよ春休み終わるまで忍々

476:デフォルトの名無しさん
05/03/30 23:51:04
Hi japanese -)
im jon from new york


477:デフォルトの名無しさん
05/03/31 01:12:54
>>472
実感できるほど変わらないってことじゃねーの?

478:デフォルトの名無しさん
05/03/31 02:43:41
2005っていつ発売なのですか?

479:デフォルトの名無しさん
05/03/31 05:06:41
>>470
厨房みたいな突込みなのか?

480:デフォルトの名無しさん
05/03/31 09:08:57
どなたか>>474をお願いします。

481:デフォルトの名無しさん
05/03/31 10:35:27
>>424
うぅぅ、せっかく教えて頂いたのですが、使い方が全然分かりません・・・
分かりやすく解説してあるサイトや書籍などはないでしょうか。
MSDNに日本語のリファレンスとかないんですね・・・

482:デフォルトの名無しさん
05/03/31 10:56:05
やはり、バカばかりだ。
最低限の検証くらいしろよ。
せめてILレベルくらいの検証はしろ。ぼけ。

483:デフォルトの名無しさん
05/03/31 10:58:41
>>482
わたしのことですか?

484:デフォルトの名無しさん
05/03/31 10:59:50
>>482
君はそんなに優秀なのかな?このスレに誰からも
回答がつかなかった質問もたくさんあるようだけど、
どうして答えてあげないの?

485:482
05/03/31 11:03:55
うるせーな、ぼけ。わかんねーんだよ、バカ。

486:デフォルトの名無しさん
05/03/31 11:06:21
>>481
リファレンスぐらい英語で困る事なんかないと思うんだが……。
必要なのは型/メソッド/プロパティ名と仮引数と返値の型くらいじゃん。
統合開発環境使ってればカバーしてくれるし。
それともDOMを今までいじった事がないのか?

487:デフォルトの名無しさん
05/03/31 11:13:27
>>486
英語のリファレンスとは
URLリンク(msdn.microsoft.com)
のことでしょうか。

とりあえずファイルから読み込みたいのですが、IPersistFilePtrが
見当たらなくて困っています・・・

488:デフォルトの名無しさん
05/03/31 11:18:20
すいません。>>474はムリでしょうか。

489:デフォルトの名無しさん
05/03/31 13:02:49
自分が出来るからってきどってんじゃーねよタコ

490:デフォルトの名無しさん
05/03/31 14:24:37
>>487
IHTMLDocument2にキャストして、StreamReaderとかでファイルから読み込んだ文字列をwriteしてやればいいようだな。
IPersistFileは自分で定義しても何故かどうもうまくいかない。createDocumentFromUrlも。

491:デフォルトの名無しさん
05/03/31 15:45:56
コマンドラインパラメータを取得するにはどうしたらよいでしょうか?

492:デフォルトの名無しさん
05/03/31 15:52:52
Mainメソッドの引数に与えられるが、Mainメソッドは普段隠蔽されてるんだよな。
System.Environment.GetCommandLineArgsメソッド。

493:デフォルトの名無しさん
05/03/31 15:57:47
vbのプログラム上からアクロバットリーダーを呼び出したいのですが
立ち上がるアクロバットリーダーが常に一つしか立ち上がりません。
ファイル名が異なれば新しくアクロバットリーダーを立ち上げたいのですが
どうしたらいいんでしょうか?
以下はアクロバットリーダーを立ち上げている部分のソースです

Dim myProcess As Process
Dim startInfo As ProcessStartInfo
startInfo = New ProcessStartInfo(Path)
myProcess = Process.Start(startInfo)


494:デフォルトの名無しさん
05/03/31 16:03:35
>>482
お前、いったい誰に言ってんの?


495:デフォルトの名無しさん
05/03/31 16:05:48
>>494
反応するような、藻前みたいなヤツに言ってるんだろう (プ

496:デフォルトの名無しさん
05/03/31 16:06:38
>>492
さんきゅう!

497:デフォルトの名無しさん
05/03/31 16:14:49
>>490
>IHTMLDocument2にキャストして、StreamReaderとかでファイルから読み込んだ文字列をwriteしてやればいいようだな。
申し訳ないのですが、サンプルソースを載せていただけないでしょうか。

498:デフォルトの名無しさん
05/03/31 16:22:04
>>495
オレのレスがおかしかったのか、気になったんでな。

499:デフォルトの名無しさん
05/03/31 16:23:07
>>497
えー。それくらい書こうよー。

Dim doc As New mshtml.HTMLDocument()
Dim sr As New StreamReader("c:\hoge.html", System.Text.Encoding.GetEncoding("Shift_jis"))
Dim doc2 As mshtml.IHTMLDocument2 = doc
doc2.write(sr.ReadToEnd())
doc2.close()
sr.Close()
Dim elem As mshtml.IHTMLElement
For Each elem In doc.all
    Debug.WriteLine(elem.tagName)
Next

500:デフォルトの名無しさん
05/03/31 16:36:24
>>493
どういう状況になってるのかは書いてないから分からないけど、
アクロバットリーダーの制限じゃないの?

私のとこのアクロバットリーダー7.0だと、初めにプロセスが一つ立ち上がって、
その後Prcess.StartするたびにMDI子ウィンドウが増えるようになるが。

501:デフォルトの名無しさん
05/03/31 17:05:17
>>500
ありがとうございます。
>Prcess.StartするたびにMDI子ウィンドウが増えるようになるが。
のレスで自分の間違いに気づきました。
アクロバットを立ち上げるメソッド内でProcessを宣言して
正常に起動したらProcessはcloseしていました。
フォームが立ち上がってる間はProcessはcloseせずに
ずっと開きっぱなしにしておかないと駄目だったんですね。
お手数おかけしました。

502:デフォルトの名無しさん
05/03/31 17:21:20
ShowDialogで生成されたインスタンスって
ほおって置けば勝手にガベージされるの?
それともDisposeしないと永久に残る?

503:デフォルトの名無しさん
05/03/31 17:30:05
>>499

んー、ヘタなソースですが参考にさせて頂きます。

504:デフォルトの名無しさん
05/03/31 17:52:44 BE:157221599-
タダで他人にコード書かせておいて「下手なソース」とかよく言えるよな。

505:デフォルトの名無しさん
05/03/31 17:53:24
>>502
DisposeはGCとは関係ないぞ。

参照が無くなったらGCの対象になる。

506:デフォルトの名無しさん
05/03/31 18:07:18
>>505
トンクス

どうやら勘違いしてたようです
ボタンクリック等のプライベート関数で
FormをShowDialogすると
アプリケーション終了の段階でようやくForm.Disposeが走ってたので
CGがDisposeを実行してるのかと

もうちょっと調べてみますです




507:デフォルトの名無しさん
05/03/31 18:25:02
今すごいことに気づきました。
今まで自分で作ったソースを見ると、
イベントハンドラの第一引数senderの型が
ObjectだったりSystem.Objectだったりしてます。
フォームのロードでもクロージングでもクローズドでも
ボタンのクリックでもメニューのクリックでもです。
これってなんででしょうか?
みなさんのソースはどうですか?


508:デフォルトの名無しさん
05/03/31 18:26:23
どこがすごいんだ?

509:デフォルトの名無しさん
05/03/31 18:29:00
senderはイベントを起こしたオブジェクトが入る。
Button1_ClickならButton1が入ってるし、Form1_LoadならForm1が入ってる。
そのためどんな型でも入るようにObject型で宣言する。

それだけの話。

510:デフォルトの名無しさん
05/03/31 19:05:35
> ObjectだったりSystem.Objectだったりしてます。

これも突っ込むところなのだろうか・・・?

511:デフォルトの名無しさん
05/03/31 19:20:05
>>504

んーと、タダからヘタでも許してあげる、ってとこですかね。

512:デフォルトの名無しさん
05/03/31 19:33:33
>>507
> ObjectだったりSystem.Objectだったりしてます。
同じじゃねーか

513:デフォルトの名無しさん
05/03/31 20:21:56
>>512
その違いも分かってないのか・・・いたたたたた・・・

514:デフォルトの名無しさん
05/03/31 21:04:25
どなたか>>474をお願いします・・・

515:デフォルトの名無しさん
05/03/31 21:20:18
CE用のプログラムで
ポケットPCのシステム日付時刻を変更する方法はありませんか?

516:デフォルトの名無しさん
05/03/31 21:26:52
>>515
DateAndTimeモジュールのTodayプロパティ・TimeOfDayプロパティはサポートされてない?

517:デフォルトの名無しさん
05/03/31 21:38:16
>>516
ヘルプ

518:デフォルトの名無しさん
05/03/31 21:42:03
断末魔?

519:デフォルトの名無しさん
05/03/31 21:48:24
>>518
そう。消えろ。

520:デフォルトの名無しさん
05/03/31 22:00:56 BE:28350533-###
VC++に比べてなんでこんなにVBは簡単なのでしょうか?

521:デフォルトの名無しさん
05/03/31 22:06:42
DateAndTime.TodayにDateを入れて変更しようとすると
noSupportedExceptionのエラーが出てしまいます…

522:デフォルトの名無しさん
05/03/31 22:17:37
>>502
ShowDialogのときは、不要になったときに
Disposeしておいた方がいい。

ほうっておいてもアプリケーション
終了時に破棄されるとは思うけど。

523:デフォルトの名無しさん
05/03/31 22:21:50
>>521
となるとこいつかな。
URLリンク(bbs.wince.ne.jp)
VBのソースなので注意。

524:デフォルトの名無しさん
05/03/31 22:55:26
VBのやり方だと出来ないっぽいです…
Microsoft.VisualBasic.DateAndTime.Todayを使おうとすると
notFupportedExceptionが発生してしまっています

525:デフォルトの名無しさん
05/03/31 23:02:15
> VBのやり方だと出来ないっぽいです…

てのはどういう意味かな?
523の話?

526:デフォルトの名無しさん
05/03/31 23:03:52
どなたか>>474をお願いします。

527:デフォルトの名無しさん
05/03/31 23:10:54
>>525
ごめんなさい
523のことです

compactだと時刻設定は出来ないんですかねえ…

528:デフォルトの名無しさん
05/03/31 23:14:25
>>527
どうできないのかを聞くまでは。
何かの例外が投げられるのか?
(リンク先で言う)SetTime関数がFalseを返すのか?
文字変換部分はうまくできているのか?

529:デフォルトの名無しさん
05/03/31 23:27:03
SmtpMail使ってtext/plainなメールを送信したら本文の最後に必ず改行が足されるんですけど、
これって仕様?

530:デフォルトの名無しさん
皇紀2665/04/01(金) 08:59:13
>>513
ObjectとSystem.Objectの違いを教えて下さい。
旧型Objectと新型Object(.NET)
ってことだけで、同じですよね?


531:デフォルトの名無しさん
皇紀2665/04/01(金) 09:31:42
>>530
>>513ではないが
ObjectはSystem.Objectのエイリアスだよ。
要するに、同じものです。

532:デフォルトの名無しさん
皇紀2665/04/01(金) 10:01:44
名前空間を理解してないんじゃない?

533:デフォルトの名無しさん
皇紀2665/04/01(金) 10:14:47
>>531
さんくす。

でもなんで、同じForm_Loadで
senderがObjectだったり、System.Objectだったりするのだろう?
エイリアス使ったりそうでなかったりなのでしょう?
どうして使う名前が統一してないのでしょう?


534:デフォルトの名無しさん
皇紀2665/04/01(金) 10:43:07
>>533
残念ながら、私はVB.NETを
使ったことがないんでよくわからないです。

>>532
名前空間は関係ないよ。

535:デフォルトの名無しさん
皇紀2665/04/01(金) 11:00:17
>>534
.NET使ったことなくてよくわかんねーならだまってろ。

名前空間そのものの話だろうがよ。

536:デフォルトの名無しさん
皇紀2665/04/01(金) 11:21:49
.NET使ったことがないとは言ってないが・・・

>名前空間そのものの話だろうがよ。
IntegerとSystem.Int32のような関係といったらわかる?

537:デフォルトの名無しさん
皇紀2665/04/01(金) 11:57:59
>>533ですが、なんか文がおかしいので訂正します。

×どうして使う名前が統一してないのでしょう?
○どうして使う名前が統一されてないのでしょう?
○どうして(MSは)使う名前を統一してないのでしょう?

選択すると自動で作成されるイベントハンドラで、
Form_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
Form_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
だったり、なんかソースが統一されてなくていやです。


538:デフォルトの名無しさん
皇紀2665/04/01(金) 12:30:19
なんか厨房ネタが続いているなあ。。
>>536
Objectがエイリアスだと思ってるのか。。
それこそ違うよ。

539:デフォルトの名無しさん
皇紀2665/04/01(金) 12:31:53
>>538
じゃあ、Systemをインポートしなくても大丈夫なのは何で?

540:デフォルトの名無しさん
皇紀2665/04/01(金) 12:41:08
>>539
ネタだと思うけど一応回答ね。
プロジェクトのプロパティを見るべし。

541:デフォルトの名無しさん
皇紀2665/04/01(金) 12:43:42
>>540
はっはっは、vbc.exeでメモ帳に書いたソースをコンパイルした事もないのかい?

542:デフォルトの名無しさん
皇紀2665/04/01(金) 12:45:00
うろ覚えだが、プロパティのインポートってとこ?
Systemを削除してもコンパイル通るけど。

543:デフォルトの名無しさん
皇紀2665/04/01(金) 13:38:06
さちこさん。お茶

544:デフォルトの名無しさん
皇紀2665/04/01(金) 15:00:00
マルチスレッドについて質問です

URLリンク(dobon.net)

の後半に、マルチスレッドのサンプルコードがあります。
その中で、ボタンのEnabledを変更するためや、コントロールの値を変更するために
デリゲートを使用しているのですが、これはなぜでしょうか?

調べてみると、どうやら非同期デリゲートというものらしいのですが、
いかんせんスレッドもデリゲートも初心者の旧VBプログラマなので、
なぜこういうコーディングになったのかを理解したいのです。

デリゲートにすると非同期になるんですか?
なぜ非同期でないとまずいのでしょう?
普通にButton1.Enabled = true とするとどうなってしまうの?

どなたかお分かりになる方、ご教示ください

545:デフォルトの名無しさん
皇紀2665/04/01(金) 15:17:50
文字列を指定したキーで暗号化してくれる関数を探しています。
もしご存知のかたがいましたら教えてください。
こんな感じで・・・

private function 文字列暗号化(byval s as string, byval key as string) as string


546:デフォルトの名無しさん
皇紀2665/04/01(金) 15:27:24
ありました。

547:デフォルトの名無しさん
皇紀2665/04/01(金) 15:28:25
>>544
> デリゲートを使用しているのですが、これはなぜでしょうか?

Invokeを使うから。

デリゲートというのは、メソッドそのものを変数に代入できるようにしたもの。
そうすることで、例えばデリゲートを引数に取るメソッドを書くと、そのメソッド先で“デリゲートで指定されたメソッド”を実行できるようになるわけ。
で、Invokeメソッドはデリゲートを引数に取るから、デリゲートを作ってるわけ。

InvokeメソッドはForm(の基底クラスのControl)に実装されたもので、
「“自分を作ったスレッド”で、“渡されたデリゲートで指定されたメソッド”を実行する」
という働きをする。

デリゲートもクラスの一種なんだけど、宣言すると自動的にBeginInvoke/EndInvokeと言うメソッドが追加される。
これが非同期デリゲートと言って、BeginInvokeを呼び出すとそのデリゲートに指定されているメソッドが別スレッドで実行される事になる。
んだけれども、この場合は関係ない話なので、非同期デリゲートの事は棚に上げておいて良い。
あと一応フォローしておくと、「非同期で実行」=「別スレッドで実行」。

> 普通にButton1.Enabled = true とするとどうなってしまうの?

なぜInvokeを使うか、というのの詳細は面倒なので省略。
・必ずコントロールを作成したのと同じスレッドで操作しなければならない
・作成スレッドと同じスレッドで操作するのにはそのコントロールのInvokeまたはBeginInvokeを使う
・その操作処理はデリゲートでラップしてInvoke/BeginInvokeの引数に渡す
という点だけ覚えればいい。
そうしない場合、「何が起こるかは保証されない」。

548:デフォルトの名無しさん
皇紀2665/04/01(金) 16:45:37
ネットワーク上のPCの共有フォルダにアクセスしたいのですが、
ユーザーとパスワードを指定してアクセスできるようなクラスはありますか?

549:デフォルトの名無しさん
皇紀2665/04/01(金) 16:52:30
クラスはない。
Win32API使うしか。

550:548
皇紀2665/04/01(金) 16:55:36
>>549
む、マジすか・・・

551:デフォルトの名無しさん
皇紀2665/04/01(金) 17:03:07
>>547
詳細な解説、ありがとうございます
30回くらい読み返して、ようやく意味が分かってきました

ちなみに、コントロール(とか、そのスレッド内で作成されたオブジェクト)に関わらないメソッドなら
そのまま呼び出してもいいという理解でよろしいですか?
数値・文字列等の演算系関数とか

あ、でもStringすらクラスですよね
ということは、クラスのスコープが大事ということでしょうか?
呼び出すメソッド内で作成され、消滅するクラスオンリーで構成されたメソッドなら、そのまま呼んでよし、とか
プロジェクトや、フォーム全体で使用しているクラス(グローバルやソースの上の方で宣言したりするもの)を触るメソッドなら、デリゲートで呼ばないとだめ、とか

マルチスレッドは奥が深いですね
むずかしー

552:デフォルトの名無しさん
皇紀2665/04/01(金) 19:05:46
>>551
> ちなみに、コントロール(とか、そのスレッド内で作成されたオブジェクト)に関わらないメソッドなら
> そのまま呼び出してもいいという理解でよろしいですか?
> 数値・文字列等の演算系関数とか

勿論。
というかInvokeしたら全てコントロール作成スレッドで実行される事になって、マルチスレッドじゃなくなってしまう。

> あ、でもStringすらクラスですよね
> ということは、クラスのスコープが大事ということでしょうか?

いいや、スレッドを超えてオブジェクトを共有して構わない。
寧ろオブジェクトを共有できる事にスレッドの意味がある。
Invokeしなければならないのは、コントロール(System.Windows.Forms.Controlとその派生クラス)を操作する時のみ。

ただし2つのスレッドから同時にあるオブジェクトを操作してしまったりすると問題が起こりうるから注意が必要だ。
例えばあるスレッドでArrayListをFor Eachしている時に、別のスレッドでこのArrayListにAddしたりRemoveしたりしたら、正しくFor Eachできなくなる。
そういうのを避けるためにSyncLockステートメントなどがある。

553:デフォルトの名無しさん
皇紀2665/04/01(金) 19:09:27
DOBONさんとこのメルマガのバックナンバー嫁、でいいんじゃないの?
ここで説明しきるなんて無理なんだから。

554:デフォルトの名無しさん
int 2ch =05/04/01(金) 20:50:13
まあ、自分の中での整理も兼ねて。

555:デフォルトの名無しさん
int 2ch =05/04/01(金) 21:58:08
バカばかりだしな。

556:551
int 2ch =05/04/01(金) 22:44:26
>>552
なるほど!
重ね重ねありがとうございました。
大変参考になりました。
精進致しますです。

>>553,555
申し訳ありませんでした。もう消えますので勘弁して下さい。

557:デフォルトの名無しさん
int 2ch =05/04/01(金) 23:29:40
どなたか>>474をお願いします。

558:デフォルトの名無しさん
int 2ch =05/04/02(土) 01:47:58
結局>>533は誰もわからないということでしょうか?



559:最凶VB厨房
int 2ch =05/04/02(土) 01:59:26
なんで統一してないかなんて作った奴に聞かんとわからんだろう。
だぼーくぃっくで生成したかリストから選んで生成したかがわかるかも
しれんぐらいだな。

560:デフォルトの名無しさん
int 2ch =05/04/02(土) 10:10:38
>>559
しょーがないな。
このスレは、言語だけでなく文章まで初心者の香具師ばかりだから。

561:559
int 2ch =05/04/02(土) 10:17:11
文章を正して投稿して。

562:デフォルトの名無しさん
int 2ch =05/04/02(土) 13:47:52
>>558
IDE の仕様の話をされても困りますから (w

563:デフォルトの名無しさん
int 2ch =05/04/02(土) 13:48:29
>>557
あのな・・・
『少しは』自分で考えなさい。
『少しは』ね。

564:デフォルトの名無しさん
int 2ch =5,2005/04/02(土) 14:48:06
>>563
いや、もちろん自分でも考えるというか試してますが、
どうも私にはムリそうなので質問しているのです。

565:564
int 2ch =5,2005/04/02(土) 14:51:41
ちなみにShift-JIS以外の場合はいったんShift-JISの一時ファイルに
変換してから>>474の方法で読み込む、という方法で一応は
解決しています・・・が、どうにも不細工なやり方に思えるので、
スマートにできるやり方を知っている方がおられましたら
是非お願いします。

566:デフォルトの名無しさん
05/04/02 20:17:50
このスレは馬鹿の溜まり場みたいな
ところだから、聞くだけ無駄だろ。

567:デフォルトの名無しさん
05/04/02 20:45:09
春だねぇ。縦読みにすらなってない。

568:デフォルトの名無しさん
05/04/02 20:52:13
バグにもならないコメント文みたいなもんだな。

569:デフォルトの名無しさん
05/04/02 21:05:16
>>568
いいえ。

570:デフォルトの名無しさん
05/04/02 21:05:37
>>566
了解しました。

571:デフォルトの名無しさん
05/04/02 23:53:02
VB.NETの初心者です。
テキストファイルをStreamReaderで開くときにエンコードを
指定できますが、あらかじめ文字コードが分かっていない
場合はどう指定すればよいのでしょうか。


JavaだとJISAutoDetectとかいうのがあって便利だったのですが。

572:デフォルトの名無しさん
05/04/02 23:58:01
>>571
URLリンク(www.gprj.net)
これでも使わせて貰うか。

573:デフォルトの名無しさん
05/04/03 00:11:17
>>572
却下します。

574:デフォルトの名無しさん
05/04/03 00:15:33
そうか。じゃあ自前実装で車輪の再発明を頑張れ。

575:デフォルトの名無しさん
05/04/03 08:38:26
発明じゃなくて、作りなおしだろ。ばか

576:デフォルトの名無しさん
05/04/03 10:07:36
>>574
アホな人

577:デフォルトの名無しさん
05/04/03 12:25:00
普通のスレなら春休みの厨房クンが……と思うところだけど
もともとVBやってる奴ってスキルだけでなく人格的にも未熟な奴が多いからなあ。。

幼稚な自分に嫌気がささないところが不思議でしょうがないんだけど、
まあ自意識ないんだろうなこういう輩は。

578:デフォルトの名無しさん
05/04/03 12:39:25
>>577
自意識ないんだろうなぁ、こういう輩は。

579:デフォルトの名無しさん
05/04/03 13:45:57
C#             VB.NET       VB(p-code)
平均    310    平均    1190    平均    5488
最小    296    最小    1156    最小    5468
最大    329    最大    1313    最大    5625

1億回の計算を連続で行うのにかかった時間(ミリ秒)

580:デフォルトの名無しさん
05/04/03 13:56:43
これだけじゃ判断しようがないんだが。

581:デフォルトの名無しさん
05/04/03 14:33:46
>>580
許してやれよ。

582:デフォルトの名無しさん
05/04/03 14:34:23
>>579
どうせ等価なコードは書けてないんだろ。

583:デフォルトの名無しさん
05/04/03 14:36:41
>>579
それぞれのソースを晒せ

584:デフォルトの名無しさん
05/04/03 14:40:03
>>583
多分全然等価じゃないコードが出てくると予想。

585:デフォルトの名無しさん
05/04/03 14:45:12
コードは等価なんです!

実行した機材が違うだけで。

とか?

586:デフォルトの名無しさん
05/04/03 14:46:43
>>585
つまんね。

587:デフォルトの名無しさん
05/04/03 14:47:19
>>585
見当違いのツッコミはやめてくれ。

588:デフォルトの名無しさん
05/04/03 17:09:44
不満があるなら自分で試せよ

589:デフォルトの名無しさん
05/04/03 17:12:33
>>588
とうの昔に試してるけど?
バカにデータは公開しないが。

590:デフォルトの名無しさん
05/04/03 17:13:15
>>579
ソースを含め、何の条件も添えずにこんなデータ出す奴の
気が知れないよな。

591:デフォルトの名無しさん
05/04/03 17:42:03
>>589
口だけじゃダメだな

592:デフォルトの名無しさん
05/04/03 18:03:13
>>591
あらら。あなたは?

593:デフォルトの名無しさん
05/04/03 18:09:50
>>592
わたしは星の王子様よ

594:デフォルトの名無しさん
05/04/03 18:18:43
自分でやろうやろうと思って忘れてて、
いざ他人に先越されると悔しくて難癖つける・・と。メモ

595:デフォルトの名無しさん
05/04/03 18:45:52
メモ♥

596:デフォルトの名無しさん
05/04/03 18:58:19
>>593-595
あのー、色々書いてるようですけど、あなたは
どこが違うのですか?

597:デフォルトの名無しさん
05/04/03 19:01:17
この板も早くIDつけてほしいよな。

598:デフォルトの名無しさん
05/04/03 19:34:13 BE:104814869-
みんなでbe付ければ解決。

599:デフォルトの名無しさん
05/04/03 20:06:46
>>594
で?君は?

600:デフォルトの名無しさん
05/04/03 20:20:52
>>598
おお、こんなのあったんだ。
で、beってどうやって付けるの?

601:デフォルトの名無しさん
05/04/03 22:33:41
他の人のベンチマークまだぁ?

602:デフォルトの名無しさん
05/04/03 22:51:44
>>601
お前のは?

603:デフォルトの名無しさん
05/04/03 23:17:50
>>579のデータがおかしいと言うのなら、まず自分で数値出さないとねぇ。
C#とVB.NETなんて速度ちっとも変わらねぇよとでも言いたいのか?
そう言いたいならハッキリそう言えばいい。

604:デフォルトの名無しさん
05/04/03 23:29:21
折れのでは、C#:VB.NET = 1:1 だった。
変わんない

605:デフォルトの名無しさん
05/04/04 01:58:32
C#とVB.NETに速度の違いがあるとすると整数のオーバーフローチェックの
デフォルトの違いくらい。それほど違いが出るものかな?
/removeintchecks
/checked

606:デフォルトの名無しさん
05/04/04 05:06:16
関数使ってると変わってくるんじゃないのか

607:デフォルトの名無しさん
05/04/04 09:38:39
>>603
それ以前の問題であることに早く気付いてください。
>>590とかで乱暴ながらも指摘されてるのに
気付かなかった?

608:デフォルトの名無しさん
05/04/04 10:06:37
> まず自分で数値出さないとねぇ。

利用規約違反ですね。タイーホします。

609:デフォルトの名無しさん
05/04/04 10:33:22
>>608
だな。

おまえら、EULAをちゃんと嫁。
このうんこやろう。

610:デフォルトの名無しさん
05/04/04 10:33:49

If button Is TBB0 Then
'TBB0のときに必要な処理

ElseIf button Is TBB5 Then
'TBB5のときに必要な処理

End If

↑こんなコード(button、TBB0、TBB5はいずれもButton型)
をSelect Caseで整理しようとしてるんだが、Select Caseでは
Button型は使えないみたいで、CObj()を通してもだめで、
しかたなく

Select Case button.Text
Case TBB0.Text
'TBB0のときに必要な処理
Case TBB5.Text
'TBB5のときに必要な処理
End Select

こんなごまかしで動かしていますが、もっとうまい方法はないものでしょうか?
(TBB0.Text=TBB5.Textになっちゃうとおかしくなりますし)


611:デフォルトの名無しさん
05/04/04 11:07:56
>>610
どうしてもというなら.Nameで分岐するとか。

612:610
05/04/04 12:07:59
>>611

うう、ありがとうごぜぇますだ。さっそく試すべ。。。
あれ、なんか違うかも?ん?、Button型じゃなくてToolBarButton型?
え、なんでNameプロパティないの?

すみません、質問するまえにもうちょい下調べしないと。
でもオブジェクトを確実に識別できるプロパティを探せばいいわけだし、
がんばってみます。

613:デフォルトの名無しさん
05/04/04 12:27:50
>>607
いちいちソース書くのめんどくせ

614:デフォルトの名無しさん
05/04/04 12:42:10
下手したら30代超えのオッサンが「うんこ野郎」だの「タイーホ」だの言ってるかと
思うと反吐が出るな。

幼稚臭っ。キモ過ぎる。

615:デフォルトの名無しさん
05/04/04 12:43:25
なんでVB使いにはこんな幼稚な奴が多いんだ?

616:デフォルトの名無しさん
05/04/04 16:02:32
>>612
.Tagがあるなら、好きなのを定義して分岐のキーにできる。

617:デフォルトの名無しさん
05/04/04 16:11:07
ToolBarButtonなら、ToolBarのButtons.IndexOf(button)でインデックスベースという手もあるが。

618:デフォルトの名無しさん
05/04/04 16:35:05
>>610
ヘルプぐらい読め。

619:デフォルトの名無しさん
05/04/04 16:59:12
>>613
発想がおかしい。省略していいかどうかの判断ができていない。
それにソースだけではないとも指摘されているが
それについて触れようともしていない。

結論。アホ。

620:610
05/04/04 18:02:49
>>616

Tagは真っ先に考えたのですが、フォームが多数あって
Tagを入れ忘れるやつがいないとも限らないので
(VBのToolbarでKeyの入れ忘れを散々やってます(汗))
他の方法がないかと勉強してたところなのです。
(入れ忘れさえなければいい方法なのですが)


>>617

With TB1.Buttons
Select Case .IndexOf(button)
Case .IndexOf(TBB0)
Case .IndexOf(TBB5)

こんな感じになりますた。だいぶすっきりだし、判定もまちがいなさそうです。


>>618

すまぬ。ヘルプみたのだがいい方法が見つからなんだ。

621:デフォルトの名無しさん
05/04/04 19:41:17
素直にIf...ElseIfで書いたほうが後々理解しやすいと思うけど。。

622:デフォルトの名無しさん
05/04/04 20:25:05
これのことかと思ったんだけど、勘違いかな?
URLリンク(www.microsoft.com)

623:デフォルトの名無しさん
05/04/04 20:26:18
>>621
まあまあ。こういう輩にそんなこと言ったって
わかんないんだって。分かりやすいプログラムを書ける人が
PGとして高く評価されることにそのうち気付くかなぁ。


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