VB.NET質問スレ (Part12)at TECH
VB.NET質問スレ (Part12) - 暇つぶし2ch331:デフォルトの名無しさん
05/08/29 10:23:29
>>330
今パッケージをよく調べたら2002と書いてましたorz
何を勘違いしていたのかずっと2003だとばかり思ってました。
ということは.NET 1.1は使えないのですね。
ありがとうございます。

332:デフォルトの名無しさん
05/08/30 00:45:34
すみません、VBで作ったGUI上からコマンドシェルの結果って取得できますか?
単純に
"ping 10.10.10.10"
ってStringを与えて、結果を取得する方法があればご教授ください。

333:デフォルトの名無しさん
05/08/30 00:55:11
System.Diagnostics.Processクラス

334:デフォルトの名無しさん
05/08/30 11:36:00

「管理ツール」の「データソース(ODBC)」のシステムデータソースに登録したデータソースに、ADO.NETを使って、システムデータソースの名前でアクセスしたいのですが、どうしたらいいのでしょうか?
ユーザーによってデータベースも異なります。
よって、データソースに名前でアクセスできるような方法をご存じないでしょうか?
よろしくご教授願います。


335:デフォルトの名無しさん
05/08/30 16:28:53
VB6のコード画面で [CTRL] + [↑] で一つ上のプロシージャに移動できた
はずなんですが、VB.NETで同様のことができるキー操作はないでしょうか?

336:デフォルトの名無しさん
05/08/30 18:21:28
すいません。学生でVisual Studio.net the Spokeのサイト
URLリンク(jp.thespoke.net)が落ちてるのですが
なぜでしょうか?

337:デフォルトの名無しさん
05/08/31 12:54:22
質問です。
OS:win xp
バージョン:VB.net
です。よろしくお願いします。

ピクチャーボックスを一つ用意して、もう一つをコントロール配列でその上にかぶせます。
そしてコントロール配列のほうのピクチャーをシャッターとし、タイマーで管理して開閉させます。
手動で用意したほうのピクチャーにはイメージリストから当たりとはずれの2種類をランダムで
選んできます。そしてキーダウンを有効にさせて、シャッターがあいていて、かつ、ピクチャーが当たり
の場合、tensuuを1足しこむ処理をしたいのですが、連打するとtensuuが何度も足しこまれてしまいます。
その・・・理由はわかっているのですが、どうすれば回避できるかがわかりません。
一回目に打鍵した直後にDo eventsで空ループを入れてみてもだめでした。
かといってスリープにすると他の処理まで止まってしまうと考えられるので試していません。

もう一つ考えたのは、打鍵した直後にフラグを立ててキーダウンを無効にし、そしてDo eventsで空ループを
適当にまわし、ループ終わった後にフラグを戻してキーダウンを有効に戻す。という方法ですが、
ちょっと今エラーが出てしまっています・・・。デバック中です。

でもなんかこう、ピンときません。よい解決方法をご教授いただけないでしょうか。
お願いします。

338:デフォルトの名無しさん
05/08/31 13:04:05
キーダウン>フラグ立てる>加点もろもろの処理>画像を変更するときにフラグおろす
で何か問題でも?
なんでDoEventsだのが出てくる?

339:デフォルトの名無しさん
05/08/31 14:49:26
質問です。
DirectPlayを使用したソフトを通信ソフト作ったのですが、DirectX 9.0c Runtimeだけをインストールしているユーザーだと、使用することが出来ません。
調べてみると、9.0a以降のバージョンでは、必要なファイルがインストールされない仕様に変更になっているようで、、、
ユーザー側で、別途「Managed DirectX」をインストールするか、SDKの方をインストールしてもらわないと使えないみたいな感じです。

セットアッププロジェクトでインストーラーを作成すれば、不足しているファイルもユーザー側の方にもインストールされるでしょうか?

340:デフォルトの名無しさん
05/08/31 23:33:17
基本的な質問ですまんです。
プロパティって、オーバーロードできないんでしょうか?

Dim _number as Integer

Property Number() As Interger
 (Get略)
 Set(ByVal Value As Integer)
  _number = Value
 End Set
 Set(ByVal Value As String)
  _number = Integer.Parse(Value)
 End Set
End Property

みたいなことをやりたいわけなんですが。
オーバーロードしたけりゃ、SetNumber()みたいなメソッドを作らないとダメ?

341:デフォルトの名無しさん
05/08/31 23:35:14
Overridable

342:デフォルトの名無しさん
05/08/31 23:43:50
ってオーバーロードか。
Integer型のNumberプロパティにStringを代入できちゃ拙いだろう。
引数付きプロパティの引数違いのオーバーロードならできるけど。

343:デフォルトの名無しさん
05/08/31 23:51:59
thanx.
まあたしかに、class.Number = "774" なんてできたらマズそうですな。
素直にclass.SetNumber("774") みたいなメソッドにしときます。
(実際は単純な型変換だけじゃなくて、すこしロジックが入ります)

344:デフォルトの名無しさん
05/09/01 19:09:06
ASP.NETのResponse.FilesからHttpPostedFileを
For Each文を使って取り出したいんですが
キャストが有効でないといわれてしまいます

解決方法ってありますか?

345:デフォルトの名無しさん
05/09/01 19:09:44
VBコード内に記述するSQLについては。。。。

やっぱ、ここではなくてSQLスレだよね?

346:デフォルトの名無しさん
05/09/02 00:15:30
XP端末でVB.NETのアプリを起動したところ、例外が発生し悩んでいます。
ShowDialogで下記のようにフォームを表示しています。
フォームA→フォームB→フォームC
フォームC表示時にEnterキーを押下すると
System.InvalidOperationExceptionが発生します。
例外の内容としては、フォームC表示時にも関わらず、
フォームA内のフォームB起動ボタンがクリックされたイベントが発生し、
フォームBは表示済みなのに再度表示しようとしたために例外が発生した、というものでした。
しかし、ShowDialogで他の画面を表示しているのに
フォームAでイベントを拾うっていうのは本来ありえないはず、ですよね?

それが起きちゃうってことは、コーディングが間違ってるんですよね・・・
コーディング以外の要因でありがちな問題ってあるでしょうか。
あまりにもわからないので
「まさかFramework自体がバグッテルのでは?」なんてあるわけないことを疑うようにまでなってます・・・

347:デフォルトの名無しさん
05/09/02 00:44:54
>>346
もうすこし他人が読んで意味わかるような文章書かないと
誰も助言のしようがないよ。

とりあえず意味が読み取れる範囲で応答すると、
フォームBのボタンクリックのイベントハンドラでモーダルなフォームCを表示しているのなら、
フォームCでキャッチされてない例外が発生すれば、例外はフォームBのボタンクリックの
イベントハンドラまで遡ってくるんじゃないの?

348:最凶VB厨房
05/09/02 01:04:52
>>344
For Each文を使わない。
1個1個取り出せ。
>>345
対象DBサーバ。データベース名、テーブル名、カラム名、型、制約
OS、.net frameworkのバージョンなどの中で必要最小限のものを
全部書くならこのスレで質問しても問題はない。
返答があるかはわからんが。
>>346
コードさらせ。例外メッセージ全部さらせ。

349:最凶VB厨房
05/09/02 02:25:21
>>344
Request?AllKeysがあるぞ。

350:質問房 ◆v.TAYcWkbs
05/09/02 11:54:21
質問させてくだされ。

strSQL = "select " & _
" 伝票年月 as 入出庫年月," & _
" 得意先名称," & _
" 得意先コード," & _
" 部品番号," & _
" 部品色," & _
" 部品名" & _
" from " & _
" dbo.E_入出庫" & _
" where " & _
" 事業所 =" & data_factoryCD & " and " & _
" 伝票年月 =" & data_yymm & " and " & _
" 得意先コード = '" & costormerCode & "' and " & _
" 部品番号 = '" & data_partsnumber & "'" _
'" 部品色 = '" & data_partsColor & "'"
If data_partsColor <> "" Then
strSQL &= " and 部品色 = '" & data_partsColor & "'"
End If (ここでブレーク)

今、TESTサーバーでテーブル作成して、そのテーブルからデータを読んでいます。
検索先テーブルにはselectの対象になる部品が存在しています。
EndIfにブレークポイントを設定。デバッグ開始~ウオッチにて確認~SQLに
条件式をコピー。

(次に続く)

351:質問房 ◆v.TAYcWkbs
05/09/02 11:56:31
SELECT 伝票年月 AS 入出庫年月, 得意先名称, 得意先コード, 部品番号, 部品色,
部品名
FROM E_入出庫
WHERE (事業所 = 8) AND (伝票年月 = 200504) AND (得意先コード = 'xxxxxx') AND
(部品番号 = 'xxxxxxxxx')

と、SQL(エンタープライズマネージャー)では指定した部品内容が表示される。
しかし、VBの実行結果では表示されない。
この検索項目内容に部品の色があります。
SQL文で示す様に検索時、部品の色は絶対条件にしてません。色在り部品と無し部品在るからです。
色無部品を検索するとテーブル内にあるにもかかわらず検索されない。
色付の部品で実行するとVBの処理結果はOK。
これは何が原因と思われるでしょうか???

実行環境
OS:W2K-sp4
VS.NET2003//VB.NET 69516-006-0172567-18781
Framework 1.1(1.0も一緒に入っています)

352:デフォルトの名無しさん
05/09/02 16:02:25
関連のある複数のテーブルのいっぺんに消す方法ないでしょうか?
やりたいイメージはこんな感じです。

delete from (select * from a, b where a.id = b.id and a.last_date < '20050902')

もちろんこんなSQLは実行できませんが・・・



353:デフォルトの名無しさん
05/09/02 16:16:02 BE:32542823-##
>>348
トンクスコ
ググって見てもFor Eachでまわしてるサンプル見かけないので
出来ないようですね・・・
バグなのかなぁ・・・

354:デフォルトの名無しさん
05/09/02 16:17:49
>>352
CREATE TABLEの時にきちんとON DELETE CASCADEを設定してれば幸せになれるかも

355:デフォルトの名無しさん
05/09/02 16:24:04
>>353
サンクスコ

>>354
うほ!
ちょっと調べてみます。

356:デフォルトの名無しさん
05/09/02 23:36:50
>355
354さんの助言は、ALTER TABLEの時にも有効。
# M$ SQL Serverだよね?

357:最凶VB厨房
05/09/02 23:54:21
>344

  Private Sub Submit1_ServerClick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Submit1.ServerClick
    Dim hpf As HttpPostedFile
    Dim s As String
    For Each s In Page.Request.Files.AllKeys
      hpf = Page.Request.Files.Item(s)
      Console.WriteLine(s)
    Next
  End Sub
Submitボタン配置サーバコントロール化
File Field配置サーバーコントロール化


358:最凶VB厨房
05/09/03 00:14:56
>>350-351
よくわからんぞ。ウォッチで何を確認したんだ?
部品色がないときは空文字列なんだよな?nullじゃねぇよな?
data_なんとかは型はなんだ?String型か?
カラムの型はなんだ?さっぱりわからんぞ。
VBの実行結果では表示されない。ってどういうこった?
何に表示させてんだ?さーーーーーーっぱりわからんぞ。
とりあえずSQL文削って試せ。
>>352
ストアドトリガっちゅう手もあんぞ。ゴルァ!!!!!!!!!!!

359:最凶VB厨房
05/09/03 00:18:05
>>350-351
ってかプライマリキーはってんのか?
@はどうした?わけわからんぞ。

360:デフォルトの名無しさん
05/09/03 23:44:10
複数行のインデントはどうやるのでしょうか?
<編集>の行インデントがグレーアウトになって選べないのですが?

361:最凶VB厨房
05/09/03 23:56:52
ツール→オプション→Basic→タブ
インデント→スマート以外

362:最凶VB厨房
05/09/03 23:59:39
×ツール→オプション→Basic→タブ
○ツール→オプション→テキストエディタ→Basic→タブ

363:デフォルトの名無しさん
05/09/04 00:17:15
>>362
できました。。
ありがとうございます。

364:デフォルトの名無しさん
05/09/05 02:12:51
質問です。
内容は、既に起動しているエクセルに対して,vb.netで作成したアプリケーションから
セルに数値を記入するにはどうすればいいか、です。
やりたいことは、エクセルマクロ(VBA)からvb.netで作成したアプリケーションを呼び出し、
その処理結果を呼び出し元のエクセルのセルに書き込みたいのです。

今現在は、参照の追加でExcelObjectLibraryを追加し、
Dim xlApp As New Excel.Application
・・・
な感じで指定しています。
問題は、エクセルファイルを指定するときに
Dim xlBook As Excel.Workbook = xlBooks.Open(ファイル名)
とやると、元々そのファイルが起動しているため、2重に起動してしまいます。
新たにopenせずに、既に起動しているファイルを指定してやるにはどう
すればよいでしょうか?
(元々そのエクセルのVBAから呼び出しているため、そのエクセルが起動していることは
保証されている)


ちなみに起動していないエクセルのセルへのアクセスは成功しています。



365:デフォルトの名無しさん
05/09/05 02:18:41
こんなの?
URLリンク(www.google.co.jp)

366:デフォルトの名無しさん
05/09/06 14:33:26
タブコントロールを使ってプログラムを作っています。
選択されているタブによって処理内容を変えるようなプログラムです。
そのために、現在選択されているタブを取得するようなプロパティやメソッドがあれば知りたいのですが、どなたか、ご存じないですか?
よろしくご教授願います。


367:デフォルトの名無しさん
05/09/06 14:34:39
ちょっとはTabControlのプロパティ&メソッドに目を通してみたのか?

368:デフォルトの名無しさん
05/09/06 16:29:41
RTFM

369:デフォルトの名無しさん
05/09/06 17:47:56
>>366
ええええええええ?????????

370:デフォルトの名無しさん
05/09/06 18:25:42
ΩΩ Ω

371:デフォルトの名無しさん
05/09/06 18:41:43
釣りだよな?
ご存知もなにも、普通にやってれば気づくと思うんだが・・・。


372:デフォルトの名無しさん
05/09/07 14:03:42
タブコントロールを使ってプログラムを作っています。
選択されているタブによって処理内容を変えるようなプログラムです。
そのために、現在選択されているタブを取得するようなプロパティやメソッドがあれば知りたいのですが、どなたか、ご存じないですか?
よろしくご教授願います。

373:デフォルトの名無しさん
05/09/07 16:24:25
URLリンク(www.grapecity.com)
コレみたいに、複数列表示できるツリービューを.netで実現したいんですけど・・・
どーすればいいんでしょうか。

374:デフォルトの名無しさん
05/09/07 16:54:00
取りあえず見つけてみた
URLリンク(www.codeproject.com)

375:デフォルトの名無しさん
05/09/07 19:47:21
初歩的な質問ですみません
dir()で「ディレクトリ以外」って指定はどうするんでしょ?
vbnormal+vbreadonlyとかやったら「readonlyなディレクトリ」も引っかかるんですけど…

376:デフォルトの名無しさん
05/09/07 20:05:21
System.IO名前空間、DirectoryクラスのGetFilesメソッド使ったら?

377:デフォルトの名無しさん
05/09/07 21:39:17
>>372

>>367->>371


378:デフォルトの名無しさん
05/09/07 21:59:11
>>376
むう、やはりそれしかありませんか…
どもでした

379:デフォルトの名無しさん
05/09/07 23:50:08
デザイン時にマウスクリックでコントロールを移動できるように、
実行時でも、コントロールをマウスクリックで移動
ということは出来るのでしょうか。

実行時、iniファイル等から各画像の x,y を読み込み描画、
マウスで編集して、配置を保存、というようなことを目的としています。

380:デフォルトの名無しさん
05/09/08 00:13:03
>>379
URLリンク(dobon.net)

381:デフォルトの名無しさん
05/09/08 19:43:52
超初心者です。質問です。XP HomeでVB.NET2003を使っています。

COMからMicrosoft Web Browserを追加し、
 AxWebBrowser1.Navigate("URLリンク(www.yahoo.co.jp)")
のようにしてForm起動時にWeb表示させています。
VB.NETの「開始」(F5)だとうまくいくのですが、
Releaseとしてビルドし、
\obj\Releaseにあるexeを起動させようとするとうまくいきません。

例外 'System.IO.FileNotFoundException' が WindowsApplication4.exe で発生しました。

とのエラーメッセージが出て、これをデバックしようとすると

'System.IO.FileNotFoundException' のハンドルされていない例外が WindowsApplication4.exe で発生しました。
追加情報 : ファイルまたはアセンブリ名 AxInterop.SHDocVw、またはその依存関係の 1 つが見つかりませんでした。

とのメッセージが出ます。

なにをどうすれば解決するのでしょうか。。。
よろしくお願いします<m(__)m>

382:デフォルトの名無しさん
05/09/08 20:05:47
\objじゃなくて\bin。
\objは中間ファイル用のディレクトリ。

383:長谷川友よ
05/09/10 11:04:04
ド・ラ・ルーブルの方法の3×3のプログラムが書けないんですが教えてもらえます?
vb.net2003です

384:デフォルトの名無しさん
05/09/10 11:06:47
宿題は自分でやらにゃいかんよ。

385:デフォルトの名無しさん
05/09/10 15:58:53
初心者ですみません。
c++ でAVIファイルを開きたいのですが、さっぱりわかりません。
DirectShowあるいはVideo for Windowsを使うのでしょうか?

386:デフォルトの名無しさん
05/09/10 16:23:56
>>385
VBとC++の区別もできない馬鹿に何を言うことがあろうか

387:名無しさん@そうだ選挙に行こう
05/09/11 02:54:26
Windowsのソフトでフォルダーを選択するダイアログが出てくるやつありますよね。
あれはなんていう名前のコントールなんですか?
それともVB.NETだと使えないの?


388:名無しさん@そうだ選挙に行こう
05/09/11 02:55:37
#include <stdio.h>
#include <stdlib.h>
main(){
int a[15][15],i,j,k,n;
printf("奇数の魔方陣\nn = ");
scanf("%d",&n);printf("\n");
if(n<0 || n>15 || n%2==0) {
printf("1~15の奇数やでぇ~.\n");
exit(1);
}
i=0;
j=n/2;
a[i][j]=1; //手順1第1行中央列に1
for(k=2;k<=n*n;k++){
if(k%n==1) { i++; } //手順3真下に書く
else if(i==0) { i=n-1; j++; } //手順41つ右の列の最下段
else if(j==n-1){ i--; j=0; } //手順51つ上の行の最左端
else { i--; j++; } //手順2次の数字を右斜め上
a[i][j]=k;
}
for(i=0;i<n;i++){
for(j=0;j<n;j++){
printf("%4d",a[i][j]);
}
printf("\n");
}
printf("\n要素の和=%d\n",n*(n*n+1)/2);
}




389:名無しさん@そうだ選挙に行こう
05/09/11 02:56:08
URLリンク(home.hamamatsu-u.ac.jp)

390:名無しさん@そうだ選挙に行こう
05/09/11 03:00:37
>>387
.NET 1.1から追加された、System.Windows.Forms.FolderBrowserクラス。
.NET 1.0/VS.NET2002(VB.NET2002)ならちと手間がかかるが
URLリンク(support.microsoft.com)

391:名無しさん@そうだ選挙に行こう
05/09/11 11:17:14
>>390
ありがとうございました。
メッセージが英語なのと初期フォルダーが一部しか選べないのがちょっと残念。

392:名無しさん@そうだ選挙に行こう
05/09/11 11:37:10
TreeViewの再表示で質問なのですが
.Nodes.Clear()で全てのノードをクリアし、再度ノードを追加して再表示させている画面があります。
その時にクリアのアニメーション効果をなくす事はできないでしょうか?

Windowsの画面のプロパティでアニメーションの効果をOFFにすればいいのですが、
インストールする全パソコンの設定を変更するわけにもいかず困っています。

表示する内容がDBのモニタ情報なので、再表示する前と後で情報が大きく変わってしまうこともあり、
部分的な再表示は難しいと考えています。

何か良い方法は無いでしょうか?
よろしくお願いいたします。

393:名無しさん@そうだ選挙に行こう
05/09/11 19:05:12
質問です。
作ったDLLをEXEファイルと別の場所に置きたいんですけど、
コンパイルするときにその場所が決まってません。

実行したときにユーザーにパスを指定させる形にしたいんですけど、
そのDLLをEXEに関連づけるにはどうすればいいですか?

パスを通そうと思ってProccess.Start("set path=c:\aaaa")とかやってみたら、
実行ファイルじゃないのでだめだと言われました。

いい方法があったら教えてください。


394:最凶VB厨房
05/09/11 19:51:15
>>393
どぼんのサイトのどこかに
プラグインがどうたら解説したページがある。
メルマガの方だったかな。
探してくれ。
それかGACにインストールとかもあるか。
やったこたぁねぇからやってみて報告よろ。

395:デフォルトの名無しさん
05/09/12 13:08:41
>393

Path通すなら、
CMD /C "set path=c:\aaaa"
を実行しては?

詳しくはCMDのヘルプを

396:デフォルトの名無しさん
05/09/12 23:58:56
>>392
BeginUpdate/EndUpdateメソッドはどう?

>>393
メインになるプロジェクトのapp.configの
<configuration>
  <runtime>
    <assemblyBinding>
      <dependentAssembly>
以下の
        <assemblyIdentity>
        <codebase>
の二つの要素を書くことで実行時にバージョンリダイレクトできるんだが、
sn.exeを使って厳密名をつけてやれば、
codebase要素のhref属性で絶対パス指定や自身のディレクトリよりも上のディレクトリを相対パス指定したりできるようになる。

この一連の記事を読んでみると色々勉強になる。
URLリンク(www.atmarkit.co.jp)

397:最凶VB厨房
05/09/13 01:38:19
ほー( ..)φメモメモ

398:デフォルトの名無しさん
05/09/13 13:27:12
質問です。
ASP.NETWebアプリケーションを作成しているのですが。

[モジュールにて以下のようにクラス変数をPublic変数を宣言しました。]

Module AAA

Public g_HHH As clsHoge1

End Module


[ページクラスにて、いろいろ設定します。]

g_HHH.iParam1 = 1
g_HHH.strParam2 = "ABC"
:


この状態にて、
Webサーバマシンに、異なるクライアントマシン2台から作成したページにアクセスします。
[マシンA] ページアクセス

[マシンB] ページアクセス

[マシンA] 同じページにポストバックすると、マシンBで設定した値がg_HHHに入ってしまっています。

[マシンA]のアクセスと、[マシンB]のアクセスで、Module内のPublic変数をそれぞれ別々に持つことってできないんですか?


399:デフォルトの名無しさん
05/09/13 13:45:10
DateTimePickerコントロールで、カレンダーを表示させるメソッドは無いでしょうか?

400:デフォルトの名無しさん
05/09/13 16:44:04
>>395
おお!CMDですね。助かりました!

401:デフォルトの名無しさん
05/09/13 16:47:13
そして9x系で例外

402:デフォルトの名無しさん
05/09/13 16:49:11
そもそも.NETではPATHとは無関係にアセンブリを探索するんだが。

403:デフォルトの名無しさん
05/09/13 17:44:39
デバック時にフォームの起動位置を画面右上にしたいのですが、
どうすればよろしいのでしょうか?

404:デフォルトの名無しさん
05/09/13 17:52:08
#IF DEBUG
Me.StartPosition = FormStartPosition.Manual
Me.Location = New Point(任意の位置)
#ENDIF

405:デフォルトの名無しさん
05/09/14 12:01:05
DefaultValueでEnumを指定したいのですが
<DefaultValue(GetType(enmAAA), "2")>
とかにするしかないのでしょうか?
"2"がちょっといやなのですが・・・

406:デフォルトの名無しさん
05/09/14 12:34:12
何故2?
普通にメンバ名書けば良いんだが。
GetType(Keys), "F10"
とか。

407:405
05/09/14 13:12:41
>406
出来ました。

もう一点。
リセットができません。
Reset<Property>の実装は呼ばれないみたいです。


408:デフォルトの名無しさん
05/09/14 13:41:05
それは
URLリンク(www.microsoft.com)
と言う話か。

> メモ   DefaultValueAttribute を適用するか、
> または ResetPropertyName メソッドと ShouldSerializePropertyName メソッドを指定します。
> この 2 種類の操作を同時に実行しないでください。

と書いてあるが。

409:405
05/09/14 16:21:36
>408
Enumだと
ResetPropertyName メソッドと ShouldSerializePropertyName メソッド
が呼ばれないみたいなんですよ・・・

410:デフォルトの名無しさん
05/09/14 16:28:43
呼ばれてるよ。
DefaultValue属性消せば。

411:デフォルトの名無しさん
05/09/14 16:45:50
>410
ダメです。呼ばれません。
コードがダメなのでしょうか?

Public Shadows Property HighlightText() As GrapeCity.Win.Input.HighlightText
Get
Return MyBase.HighlightText
End Get
Set(ByVal Value As GrapeCity.Win.Input.HighlightText)
MyBase.HighlightText = Value
End Set
End Property

Public Function ShouldSerializeHighlightText() As Boolean
Return Not MyBase.HighlightText.Equals(_DefaultHighlightText)
End Function


412:デフォルトの名無しさん
05/09/14 17:25:10
ん~、どうやら基底クラスのプロパティをShadowsで隠蔽した場合、
ShouldSerialize/Resetは基底クラスのが優先されちゃうようだねぇ。

逃げ方としては、ShadowsしたプロパティをBrowsable(False)で修飾して見せなくした上で、
似た名前のプロパティを作ってそっちでShouldSerialize/Resetを実装する、くらいかなぁ……。

413:405
05/09/14 18:17:04
>412
なるほど・・・

やっぱ別プロパティにしないとダメですね。
ありがとうございました。

414:デフォルトの名無しさん
05/09/15 01:18:37
VB6のファイルアクセス(ランダムアクセスとバイナリアクセス)に相当する機能って
クラスライブラリにはないでしょうかね?

具体例でいうと、例えばSingle型の配列を逐次ファイルに追記したり、
そうして作成したファイルをSingle型の配列に一挙に変換したり、
任意の位置のSingle型のデータにアクセスしたり、といった処理が
実現できるクラスはないだろうかということです。

いや、互換性ライブラリにVB6と互換性のある関数があるのは知っていますが
できればクラスライブラリの方を使いたいので。

415:デフォルトの名無しさん
05/09/15 01:28:58
System.IO名前空間下のクラスを舐めるように見ていったら?

416:932
05/09/15 06:04:44
>>396
レスを貰っていることに気がつきませんでした。ごめんなさい。

BeginUpdate/EndUpdateで目的のことが出来ました!
ありがとうございます。


417:デフォルトの名無しさん
05/09/15 09:41:38
>>414
ハァ?テンプレ読めないのか?
メクラなのか?池沼なのか?
どちらにしても君にはプログラム無理だから^^
施設に帰りなさい。ね?

418:414
05/09/15 12:23:41
>>415
舐めるように見ましたが、該当するクラスは見当たらないようですが。
ご自分が見てないんじゃないの?ひょっとして。

>>417
なんだコイツは。

419:デフォルトの名無しさん
05/09/15 12:35:14
探し方が下手かクラス名を見ただけか探してないかのどれかだ。

420:414
05/09/15 12:40:49
>>419
口調が偉そうな奴ってどうして例外なく無能なんだろう。
へえ~、そうなんだ。

じゃあ試しに次のコードを例示してみてもらえますか?
いや、できないなら無理することないですけどね。

■ Single型の配列を引数にとって既存のバイナリファイルに追記するメソッド

■ バイナリファイルのファイル名を引数にとって、それをSingle型の一次配列に
変換したものを返すメソッド。


421:デフォルトの名無しさん
05/09/15 13:10:36
ライブラリを探せもしない低能は煽りも下手らしい

422:デフォルトの名無しさん
05/09/15 14:47:22
>>414
聞いてる立場なら煽るんじゃなくて無視しろよ
答える気、無くすな・・・

423:デフォルトの名無しさん
05/09/15 18:21:46
>420

煽ってサンプル作らそうってんだなw

424:デフォルトの名無しさん
05/09/15 19:10:44
デバッグ時に保存しちゃうけどこれってやめれんですか?
職場のが保存しないもんで
つい閉じちゃって戻りたくてももどれないときあるですけど
どこで設定できるかわかならいです

425:デフォルトの名無しさん
05/09/15 20:45:33
>>420
お前のようなクズを性帝様が放っておくわけないよ?

426:デフォルトの名無しさん
05/09/15 23:21:43
ListViewのSubItemsにセットした文字列の260文字目以降が表示されません。
どなたか、回避方法を知っている方教えてください。
下記にサンプルをつけておきます。
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
ListView1.View = View.Details
ListView1.Columns.Add("test1", 200, HorizontalAlignment.Left)
ListView1.Columns.Add("test2", 4000, HorizontalAlignment.Left)
Dim item As New ListViewItem("aaa")
Dim buf As String
For ii As Integer = 0 To 257
buf &= "あ"
Next
buf &= "END"
item.SubItems.Add(buf)
ListView1.Items.Add(item)
End Sub


427:デフォルトの名無しさん
05/09/15 23:32:21
>>426
仕様。まあ260字並べられても誰も読まないしな。
参考:URLリンク(msdn.microsoft.com)

428:426
05/09/16 00:10:28
そうですか・・・仕様ですか。
ログとか(日付、区分、内容みたいな奴)を表示するのに手軽なコントロールだったんですけどね
どうしよう・・・
>> 427
とりあえず、納得しました。ありがとうございます。

429:デフォルトの名無しさん
05/09/16 00:37:54
ListView本来の使い方をすればいいだけじゃないの?
っていうか、カラムにそんな長文表示するってそもそもBad Designにも程があるような。

ListViewはアイテムを選択させる用途に徹して、選択したアイテムの詳細は
別途テキストボックスなりラベルなりで表示するようにするんじゃない普通は。

430:デフォルトの名無しさん
05/09/16 11:39:44
>>424
[ツール]→[オプション]→[環境]→[プロジェクトおよびソリューション]→ビルド/実行オプション


431:デフォルトの名無しさん
05/09/16 12:06:55
十進型より桁数の大きい数値を使って計算をしたいのですが
何かいい方法はありますか?

432:デフォルトの名無しさん
05/09/16 12:27:41
自分でそう言う構造体を書く

まあ.NET Frameworkのライブラリには存在しないので、どこかから流用したりするしかないな。
C#のサンプルだが
URLリンク(www.codeproject.com)
あるいはこことか
URLリンク(www.tokyo-pax.co.jp)
いっそC++のを移植するか。

433:デフォルトの名無しさん
05/09/16 13:08:18
Direct3Dで3Dのモデルをフォームに表示したいと思っています。
当方、VisualStudio.NET(2003じゃない)を持っており、DirectX9をインストールしました。
VisualStudio.NETで、(できればVBで)
DirectXインストールから、マウスドラッグで簡単な3Dモデルが動かせるようなプログラムを
書くまでを解説してるようなサイトってないでしょうか?

434:デフォルトの名無しさん
05/09/16 13:12:39
本屋に行けば売ってるじゃん

435:デフォルトの名無しさん
05/09/16 14:21:27
>>432
参考になりました。
ありがとうございます。

436:デフォルトの名無しさん
05/09/16 16:52:53
すいませんが、以下の質問があるのですが、教えてください。
・動的にSQLの変更が可能か?
・出力プリンタは、クライアントのプリンタを使用して出力が可能か?
・プレビュー出力は可能か?また、その方法は?
・VB.NETよりクリスタルレポートファイルを呼び出すコード記述例
複数の質問すいません。

437:デフォルトの名無しさん
05/09/16 17:12:50
まあまずどういう構成を考えているのかからだな
ASP.NETなのかそうでないのかすらわからんし

438:デフォルトの名無しさん
05/09/16 17:48:41
・可能
・逆にサーバのプリンタに出すほうが・・・。
下の2つはお試し版ダウンロードして試せば?クリスタルレポートはお試しあるのか知らんが。

ActiveReportならば、3番目も出来る(Webでも)、サンプルは製品についてくるからそれ見れば?

439:436
05/09/16 19:17:00
ありがとうございます。試してみます

440:デフォルトの名無しさん
05/09/16 19:19:19
㎡をtext1に入力するとtext2に坪数がでるプログラムをつくりたいのですが、流れを教えてくれませんか?
坪数=㎡*0.303です

441:デフォルトの名無しさん
05/09/16 19:29:05
Double.Parseして乗算してToString

442:デフォルトの名無しさん
05/09/16 22:36:36
テキストボックスで、AutoScrollPositionのようにスクロールの位置を取得したいのですが、どうすればよいでしょうか?

443:デフォルトの名無しさん
05/09/16 23:43:52
>>442
EM_GETFIRSTVISIBLELINEを使えば行番号で取得できるな。

444:最凶VB厨房
05/09/18 10:20:42
URLリンク(download.microsoft.com)
C#3.0

445:デフォルトの名無しさん
05/09/18 11:31:03
スレ的にはこっちでしょ。

Overview of Visual Basic 9.0
URLリンク(msdn.microsoft.com)

446:最凶VB厨房
05/09/19 00:43:50
すまぬの。

447:デフォルトの名無しさん
05/09/19 03:14:34
「グーグルをつぶす」--S・バルマー、幹部の転職に激怒

 「話の途中で、 Ballmer氏は『まさかGoogleではないだろうね』と口にした」とLucovoskyは述べ、
それに対し同氏はGoogleに転職することを伝えたという。
 「Ballmer氏はそのとき、椅子を手に取り部屋の反対側に向けて投げつけた。
椅子はそこにあったテーブルに当たった」(Lucovosky)。
Ballmerはその後、 GoogleのCEO、Eric Schmidtを激しく非難し始めたという。
「あいつを業界から葬ってやる。その程度のことは前にもやったことがある。
何度でもやってやる。Googleを抹殺してやる」

URLリンク(www.japan.cnet.com)

448:デフォルトの名無しさん
05/09/19 03:19:45
戦場は中国なのにMSに何が出来るんだろうね

449:424
05/09/19 09:54:48
>>430
たすかりますた
ありがとう遅レスすいません

450:デフォルトの名無しさん
05/09/19 21:16:39
会社でVB.NETのを使って開発予定なんですが、
自宅で練習したい場合はどうすればよいですか??

451:デフォルトの名無しさん
05/09/19 21:29:33
VS2005β

452:デフォルトの名無しさん
05/09/19 21:37:18
これっていつまで使うことができますでしょうか??

453:デフォルトの名無しさん
05/09/20 11:20:44
>>444-445
情報ありがとうございます。
今から翻訳しながら勉強してきます。

454:デフォルトの名無しさん
05/09/20 18:38:18
かなり初歩的な質問です。
今、vb.netの勉強をしているのですが、
msgbox("test")
messagebox("test")
これはどう使い分けるのでしょうか?
私には同じ動きをしているように見えるのですが?

455:デフォルトの名無しさん
05/09/20 20:04:15
>>454
その通りです。

456:デフォルトの名無しさん
05/09/20 20:36:43
>>454
MsgBoxはVB6.0までのMsgBox関数との互換性のために残されたレガシ関数。
与えられた値を内部で整理してSystem.Windows.Forms.MessageBox.Showを呼び出している。
System.Windows.Forms.MessageBox.Showは親ウィンドウを明示的に指定するオーバーロードがあるのが利点だな。利点を使うことはまず無いが。

457:デフォルトの名無しさん
05/09/20 20:57:59
>>456
ありがとうございます。
今後はMessageBoxを使っていきます。

458:デフォルトの名無しさん
05/09/20 23:53:39
WinFormにて、メッセージボックスから、呼び出し元に戻ってきた時の
イベントはどうすればとれるのでしょうか?
Enterは発生しませんよね??

459:デフォルトの名無しさん
05/09/20 23:57:10
MessageBoxなら閉じられるまでメソッドの流れはそこで止まるんだからイベントとか別に必要なくね?
なんでそう言う機能が欲しいと思った?

460:デフォルトの名無しさん
05/09/21 00:02:50
アクティブな項目の背景色を制御したいんです。
テキストボックスにフォーカスがある状態でメッセージボックスを出すと
ロストイベントは発生するのですが、
メッセージボックスが消えてもフォーカスイベントが発生しないため、
色が戻らず悲しいことになってます・・

461:デフォルトの名無しさん
05/09/21 00:24:41
メッセージボックスは別ウィンドウなわけで、
それが表示されたからってアクティブな項目が変わるわけでも無し、
背景色を変える必要はないと思うが……。

462:デフォルトの名無しさん
05/09/21 01:14:23
よくわからんけど、どうしてもイベント発生したければ、
MessageBox.Show()のラッパーメソッドを作って、
最後に自力でイベント投げればいいんじゃ?

463:デフォルトの名無しさん
05/09/21 11:11:04
System.ExecutionEngineExceptionの例外エラーは、なにが原因ででるんでしょうか?
.NET始めて、1週間。こんなエラーに困ってます。


464:デフォルトの名無しさん
05/09/21 11:22:44
どんな状況で出るのか、どんなコードで出るのか分からないのに答えようもないって。

465:デフォルトの名無しさん
05/09/21 12:02:18
下記のような.NETコードがあったとします。ComDll.dllに構造体を渡そうとしているのですが、
どうやら、下記のGetStatusの部分でSystem.ExecutionEngineExceptionがでるようです。

Public Declare Function GetControl Lib "ComDll" (ByVal hDev As Integer, ByVal CtlCode As Integer, ByRef SData As Integer, _
ByVal SDataNum As Integer, ByRef pStatus As GETSTATUS, ByVal RDataNum As Integer) As Integer

Public Function GetStatus(ByVal hDev As Integer, ByRef pStatus As GETSTATUS) As Integer
GetStatus = GetControl(hDev, CTRL_GET_STATUS, VariantType.Null, 0, pStatus, Len(pStatus))
End Function


466:デフォルトの名無しさん
05/09/21 12:11:34
まださっぱり情報が足りないが、取りあえず.NETの再インストールでもすれば?

引数や構造体のサイズの不整合っぽい気がするが……。
あとLen関数じゃなくてSystem.Runtime.InteropServices名前空間MarshalクラスのSizeOfメソッドを使うのが吉。

467:デフォルトの名無しさん
05/09/21 12:40:10
情報不足ですみません。なにを書いたらいいのかわからなくて・・・。
下記のコードは、GETSTATUSのストラクチャの宣言の部分。VB6.0ならば、Type
ですよね。
Public Structure GETSTATUS
     .
.
<VBFixedArray(3, MAX_NUM - 1)> Dim AdditionalFlag(,) As Short
.
.
Pub Sub Initialize()
ReDim AdditionalFlag(3, MAX_NUM-1)
End Sub
End Structure

そして、GetStatusファンクションが呼ばれた場合、上でDefineしたものがすべて
Updateされるという役割をComDll.dllはしているわけですが、まだまだですみません。


468:デフォルトの名無しさん
05/09/21 12:58:30
ん、VBFixedArray属性使っても、アンマネージドとデータを相互変換するマーシャラは理解できない。
System.Runtime.InteropServices.MarshalAs属性を使って、(Cスタイルの配列なら)UnmanagedType.ByValArray(とSizeConstフィールド)を使わないといけない。
で、こいつは多次元配列は扱えないので一次元配列に開く必要がある。

469:デフォルトの名無しさん
05/09/21 13:07:26
返答ありがとうございます。

>System.Runtime.InteropServices.MarshalAs属性を使って、(Cスタイルの配列なら)UnmanagedType.ByValArray(とSizeConstフィールド)を使わないといけない。
VB6.0で作られた既存のプログラムを、Upgrade wizardを使って、.NETに変換しようとしているのですが、その場合でも、UnmanagedType.ByValArrayを使うべきでしょうか?


470:デフォルトの名無しさん
05/09/21 13:15:19
当たり前だ。Update Wizardは到底完全じゃない。
しかしまあ案の定Update Wizardか。典型的バグの元だ。

471:デフォルトの名無しさん
05/09/21 13:19:40
わかりました!
試してみます。ありがとうございました。

472:デフォルトの名無しさん
05/09/21 15:53:32
vb.netを勉強しているところなのですが、このようなエラーが出てきてしまいます。
エラーの意味自体があまりわかってないのですが、対処法を教えていただけないでしょうか?
宜しくお願いいたします。
'System.Data.SqlClient.SqlException' のハンドルされていない例外が system.data.dll で発生しました。
追加情報 : システム エラーです。

コードはこのような感じなんですが。
dr2 = cmd.ExecuteReader()で止まっています。

Private Sub frmA_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim cmd As SqlClient.SqlCommand = SqlConnection1.CreateCommand()
Dim dr2 As SqlClient.SqlDataReader

'コマンドのコネクション設定
cmd.Connection = SqlConnection1

'コネクションを開く
SqlConnection1.Open()

'コマンドの定義
cmd.CommandText = "SELECT a, b FROM c "

'データリーダーからのデータの読み出し
dr2 = cmd.ExecuteReader()

''データリーダーを閉じる
'dr2.Close()


End Sub

473:デフォルトの名無しさん
05/09/21 21:06:06
>472
そこまで分かっているなら、トラップしてSQLExceptionのMessageを
読むことだな。

474:デフォルトの名無しさん
05/09/22 01:07:02
>>473
レスありがとうございます。
>>、トラップしてSQLExceptionのMessageを読むことだな。

このご回答の意味がいまいち、わからないのですが、
なにか書き加えなければ駄目ということなのでしょうか?



475:デフォルトの名無しさん
05/09/22 01:38:45
>>474
解決しました。
例外を作って見てみたところ、SQLServerのユーザーに問題があったようです。
ありがとうございました。



476:デフォルトの名無しさん
05/09/22 22:19:55
関数ヘッダって皆さんどんなの使ってます。
関数を宣言部分だけ表示したとき、コメントが一行分表示かのうじゃないですか。
いいのありませんか?

477:デフォルトの名無しさん
05/09/23 21:02:43
今さらな内容で悪いのですが質問です。

WebBrowserコントロールでNavigateする際に、
WebResponseやらで通信した際に使ったCookieをつけてリクエストしたい。

つまるところ、WebBrowserコントロールで任意のクッキーつける方法が知りたいです。

ご存じの方おられましたらご伝授よろしくお願いします。

478:デフォルトの名無しさん
05/09/23 21:22:53
ん~、Win32APIのInternetSetCookieを使うしかないんじゃない?

479:477
05/09/23 23:36:45
>>478
GetResponsした戻り値のHttpWebResponseであるresについて、

Cookie = res.Cookies(0).Value()

で値を取得(名前は既知なので要らなかった)し、

Call InternetSetCookie("http://~~~/", クッキー名, Cookie)

としてexpires指定は無しで(つまりオンメモリクッキーとして)記憶させて、

WebBrowserControle.Navigate2("http://~~~/")

これで(擬似的実装ではあるが)なんとか望み通りの動作をさせることができました。
どうもありがとうございました。

480:デフォルトの名無しさん
05/09/24 02:02:36
すんません
listboxのD&DのサンプルはあるけれどlistviewのD&Dのサンプルが
見つかりません
どうやればいいのでしょう

481:デフォルトの名無しさん
05/09/24 07:47:58
何かのボタンを押せば、新しいウィンドウが開く操作が、
4冊本買って、どれにも載ってませんでした。
優しい人、教えてください。
別のウィンドウが開いたときの、変数の扱いもお願いします。

482:デフォルトの名無しさん
05/09/24 11:55:52
新しいウィンドウって新しいフォームのこと?

483:デフォルトの名無しさん
05/09/24 12:54:06
>482
そうです。初心者なので。。。
表現がおかしかったら、ごめんなさい。

484:デフォルトの名無しさん
05/09/24 15:01:44
まあ本書く人もあらゆる状況を想定してフォローしていくわけにも行かないよな

485:デフォルトの名無しさん
05/09/24 15:15:56
買ったけど読んでないだけでしょ。
正直、その程度の気力もないならプログラミングの舞台から退場すべきだよ。

プログラミングが、比較的能力の低い人間でもできるお手軽なものだった時代は
もうとっくに過ぎているんだから。

486:デフォルトの名無しさん
05/09/24 15:16:37
FormA.show で開く

487:デフォルトの名無しさん
05/09/24 16:09:09
書き込んだら、調べなきゃいけない気分に捕らわれて、
なんとかできました。
みなさん、ありがとうございました。

ちなみに、本には載ってなかったです。

488:デフォルトの名無しさん
05/09/25 22:14:01
Dim frm2 as Form = New Form2だと調子悪くて
Dim frm2 as New Form2だとちゃんと動作するのはなぜだろう

489:デフォルトの名無しさん
05/09/25 22:19:52
調子悪いって(w

490:デフォルトの名無しさん
05/09/25 23:10:01
MainMenuの項目を動的生成したい。

項目を追加するのは普通にAddすりゃいいのでできるんですが、
そのAddで作った項目がクリックされた時の判定方法がわからない・・・。

デザイン時に作ってある項目のようにClickイベントをあらかじめ用意することはできないし・・・。
どーやってクリックイベントを捉えればいいのでしょうか。

491:デフォルトの名無しさん
05/09/25 23:27:52
AddHandler メニューアイテム.Click, AddressOf メソッド

492:デフォルトの名無しさん
05/09/25 23:54:31
>>490
どぼんの配列の所を参考に。

493:デフォルトの名無しさん
05/09/26 00:08:55
っていうか、せっかくC#じゃなくVB.NET使うならもっと手を抜いて簡単にできるよ。
まずMenuItemをWithEvents付きでフィールドとして宣言する。
そんでそいつを必要なときにMainMenuのItemsに追加/削除すればいいだけ。

っていうか、本当にメニューを動的に生成なんてする必要があるかどうか
一度よく考えたほうがいいと思うけどね。

単にVisibleをいじるだけでもいいんじゃないの?

494:490
05/09/26 00:26:49
>>491 >>492
キーワードでぐぐってみたら多数ヒット。
なんというか初歩的なことだったようで情けないですが、
おかげで無事所望していた動作をさせることができました。

>>493
今回の場合「最近使ったファイル」的な機能の実装だったので、
動的に生成という仕様にしました。

みなさんどうもありがとうございました。

495:デフォルトの名無しさん
05/09/26 09:44:31
>>476
VBCommenter nDoc でグーグル様にお尋ねしてください。
ヘブンにいけますよ。

496:デフォルトの名無しさん
05/09/26 22:57:57
どうしてもわからないので質問させていただきます。
AddRemoveProgramsIconにアイコンファイルを設定したのですが
インストール後、アプリケーションの追加と削除の所のアイコンが
フォルダになってしまいます。
どなたか解決法をご存知の方教えていただけませんか。

497:デフォルトの名無しさん
05/09/26 23:09:31
エスパーが必要だなw
AddRemoveProgramsIconってデプロイメントプロジェクトのかなあ。
解決法って言ったって普通にやればそんな風にはならないけど。
問題のアイコンがインストール先にインストールされないようになってるとかかなあ。

498:デフォルトの名無しさん
05/09/27 14:24:41
質問です。

構造体を使用すると、メモリを大量に消費するという話しを耳にしたんですが、構造体とクラス。
使用するならどちらを使ったほうが賢いのでしょうか?

499:デフォルトの名無しさん
05/09/27 14:31:11
>>498
入門書、ページを読むのが賢いと思う。
@ITのVB.net入門でもきちんと書かれてる。
値型と参照型の違いそのものだから。

500:最凶VB厨房
05/09/27 20:14:40
>>498
どこで耳にした?

501:デフォルトの名無しさん
05/09/27 20:27:06 0
それ聞いてどうすんのw

しかし、>>498みたいにMSDNなり解説書なり読めば解決するような類の問題を
他人に投げる人って最初から終わってると思う。
正直、俺が上司とか学校の先生だったらコイツは見込みがないと判断して切るね。

502:デフォルトの名無しさん
05/09/27 21:13:25 0
>>501
うわ、なにこいつ偉そう・・・(;^ω^)

503:デフォルトの名無しさん
05/09/27 21:44:00 0
2chねらが答えてくれることに意味があるですよ。
調べればわかるとかとは別次元の質問者の意図をくみ取れない人こそ天才ではありませんね

504:最凶VB厨房
05/09/27 22:07:46 0
俺見込みねぇーーーーーーーw

ってーか、構造体もクラスもフィールドのサイズが
あんまり変わらんのであれば
>構造体を使用すると、メモリを大量に消費する
なんてこたぁないわけで。
となれば可能性としては二つ。
コピー時の動作の違いかスタック・ヒープのことかどっちか。
構造体の値渡しや代入ならば消費するメモリはその構造体の
分だけは少なくとも増える。
クラスの場合なら参照がコピーされるだけなんでたいして増えない。
という可能性と、
構造体の場合はスタックに取られる可能性がある。
クラスはヒープだけなはずだ。
となると>構造体を使用すると、メモリを大量に消費する
ってのはメモリはメモリでもスタック領域かもしれねぇ。
これなら間違っているわけじゃぁない。
大量に消費したからといってスタックを食いつぶすとは
到底思えんけどな。配列にしたらヒープにとられるしよ。
要は耳にした話の文脈がわからんのだから聞いただけだがや。
耳にした話がわかりゃぁそりゃちょっと違うとか指摘もできるがや。
>>498ってなわけでや。
代入の時の違いがわかっとりゃぁええのや。サイズなんぞ普通は気にするな。
サイズなんぞ気にしてたら頭はげるぞ。

505:デフォルトの名無しさん
05/09/28 00:35:59
URLリンク(www.unisys.co.jp)

しかしなんとなくstructで設計して、あとからnull(Nothing)の状態が欲しくなって困る罠。

506:デフォルトの名無しさん
05/09/28 00:43:09
>>505
そんな理由で困ることなんてありえんと思うが。

507:デフォルトの名無しさん
05/09/28 09:31:16
>>504
その説明は元質問の回答になってないと思うよ。
そもそも、スタックとヒープの違いというか存在を理解してないから、ああいう質問なわけで。
だから入門書嫁っていう回答が出るわけで。

508:デフォルトの名無しさん
05/09/28 12:02:44
>>504
要約すると
私:「ファイルから読み込んだデータは構造体を使ってArryListでAddしてる」
相手:「それなら構造体よりクラスでやった方がいい。メモリの消費を抑えられるし、構造体の多用はメモリの消費が激しいから」
という感じです。

>>499
読んでみます。

>>501
お気遣いありがとうございます。
しかし心配はありません。
職場はプログラム系の仕事とはかけ離れており、通っていた学校もプログラムに関連するものではないので。

509:デフォルトの名無しさん
05/09/28 12:07:33
うん、相手は丸ごと勘違いしてるね。
あとデータによっては構造体でやるのは拙いかもね。

510:デフォルトの名無しさん
05/09/28 12:35:12
別にそんなに勘違いしてないんじゃないの?
ArrayListに突っ込むとボクシングされちゃうわけだから。
クラスで同じことをした場合の二倍弱のメモリを食うはず。

511:デフォルトの名無しさん
05/09/28 12:41:52
まあオリジナルのデータを捨てちゃってもよければその限りじゃないけど。

512:デフォルトの名無しさん
05/09/28 14:37:15
変なIDでてるけど何?

513:デフォルトの名無しさん
05/09/28 16:17:47
病気

514:デフォルトの名無しさん
05/09/28 21:23:15
>>491
490じゃ無いけど便乗質問
クリックイベントは拾えたんだけど、じゃあどのアイテムクリックしたの?
てのはどうやればいいんでしょ

515:デフォルトの名無しさん
05/09/28 21:31:00
時と場合によるが、Indexつかったりとか、HashtableでMenuItemインスタンスと情報を関連づけて管理するとか。
MenuItemを派生させてTagプロパティを作って、そこに必要な情報を詰めるとか。
//.NET 2.0ではMenuItemにもTagが標準装備されるんだけど。

516:最凶VB厨房
05/09/28 21:44:51
>>508
>>509に同意。

'''''''''''''''''''''''''''''''''''
>>514
Object型senderをMenuItemにキャストすりゃいいんじゃね?

517:514
05/09/29 00:02:18
>>516
それで出来ました
どーもでした

518:496
05/09/29 11:23:59
みなさんお疲れ様です。
>497 さん返事が大変遅れまして申し訳ありません。
アイコンなのですが、結局わからずじまいです・・・
「すべてのユーザー」でインストールすれば、
アプリケーションの追加と削除にアイコンが出てくるのですが・・・

AddRemoveProgramsIconはデプロイメントプロジェクトのやつです。

519:デフォルトの名無しさん
05/09/29 11:42:52
DataTableクラスで、SELECTメソッドを2回続けて使うとどうなりますか?
両方の条件に合うレコードのみが残りますか?
それとも、2回目の条件に合うレコードのみが残りますか?
どうでしょうか?
よろしくご教授願います。

520:デフォルトの名無しさん
05/09/29 12:10:17
自分で試せよ・・・。

521:デフォルトの名無しさん
05/09/29 14:29:57
>>520
動作を見る限り、2回目の条件に合うレコードのみが残っているように思えます。
それを確認したかったのです。

522:デフォルトの名無しさん
05/09/29 14:32:26
そもそもDataTable.SelectはDataTableそのものを変更するメソッドじゃないしな。

523:デフォルトの名無しさん
05/09/29 15:16:05
ですよね。
DataSetのDataViewの問題でしょ。この辺りの仕様をきちんと理解しないとDataSetつかっちゃだめだよ。
クライアントで絞るのが性能的に良いのか、仕様と適合してるかとか。
非接続型という部分の理解も必要。

524:デフォルトの名無しさん
05/09/29 16:23:40
>>522
>>523
目的は検索のみで、更新処理はしません。
DataViewの方が適してますでしょうか?

525:デフォルトの名無しさん
05/09/29 16:50:57
>>524
検索した結果のDataSetに対して、クライアント側で絞り込むのがFilterだったりSelectとかFind。
初期状態で絞りこんだほうが件数とかレスポンス考えてよさそうなら、DataAdapterのSQL文でしぼってしまうべき。
クライアントでちょこちょこ絞り込み条件を変えてやるならば、いちいちサーバに検索じゃあれだから、SelectなどでDataSet内で絞るべき。

526:デフォルトの名無しさん
05/09/29 18:48:13
VB.NETでFormに棒グラフを描画しています。
このフォーム上でマウスの動きに連動してマウスポインタを中心に十字線を描きたいのですが
どうしたらよいか分かりません。
Mouse_Moveイベントの中にDrowで描くのは出来るのですが、直前の線が消えず動かすたびに描画
されてしまいます。
form.Invalidate()
を呼び出せば直前の線も消える(線だけでなく全部)のですが、マウスを動かすたびに全画面が再描画
されるのでチラチラしてしまいます。
直前に描いた線だけを消す方法はどうしたらよいでしょうか?
エロイ人教えてください。

527:デフォルトの名無しさん
05/09/29 18:52:17
マウスポインタを十字にするんじゃ駄目か?
Me.Cursor = Cursors.Cross

528:526
05/09/29 18:56:51
>527
レスありがとうです。

画面の端から端までの十字線を描きたいんです。
イメージとしては戦闘機の照準みたいな感じです。

529:デフォルトの名無しさん
05/09/29 19:54:07
>>526
いろいろ手はあるけど、簡単にやるならフォームのダルブバッファを有効にすれば
とりあえずいけるんじゃない?
URLリンク(www.gotdotnet.com)
URLリンク(www.microsoft.com)

まあ棒グラフの描画が重い場合は他の方法をとる必要があるかもしれないけど。

530:526
05/09/29 20:19:57
>529
レスありがとうです。
甘く考えてたけど、結構大変そうなんですね。
じっくり読んでみます。


531:デフォルトの名無しさん
05/09/30 01:20:50
はじめまして♪DDE通信をVB.NETでやろうとしているものですが、
みなさんのお知恵をお貸しください。
Ddeconnectの部分なのですが
DdeConnect(m_ddeinst, hszServiceName, hszTopicName, Nothing)で
最後の引数にNothingを指定するとエラー値の0が返ります。これを
成功させたいのですが、Nothingではなく何を指定しなければいけないのでしょうか?
具体的に教えてもらえたらありがたいです。
他の部分は多分あっていると思います。違ってたら教えてください。
宜しくお願いします。

532:デフォルトの名無しさん
05/09/30 01:29:38
DDEを使いたいのならVB6使えと言うのがMicrosoftの方針だからー

533:デフォルトの名無しさん
05/09/30 01:58:12
VBではなくVBAでエクセルのオートシェイプを利用したアニメーションを作ったのですが
当然CPUのクロックの違いで再生速度に差が出てしまいました

CPUのクロックを検出する事ってできないんですか?
それができればクロックによって処理を分岐させる事ができるのですが・・・

534:デフォルトの名無しさん
05/09/30 02:01:43
VBAはスレ違い VBもスレ違い

535:デフォルトの名無しさん
05/09/30 02:23:41
>>533
APIで情報読み込めばいい。何かそのようなAPIがあるさ。

536:デフォルトの名無しさん
05/09/30 02:52:29
>>532
方針はおいて置くとしてどなたか宣言の仕方を教えてくださいませ。
>>531 ←質問


537:デフォルトの名無しさん
05/09/30 09:26:42
NullポインタはNothingじゃないだけでしょ?
きちんとConvContext構造体を定義して渡してみるとか、VB6と同じで32ビットの0を渡すとか。


538:デフォルトの名無しさん
05/09/30 09:49:57
>>536
お前なんか偉そうだなー
聞く態度なってねーよ

539:デフォルトの名無しさん
05/09/30 09:57:34
初めての方へ

>>531スレリンク(stock板:248-番)


540:デフォルトの名無しさん
05/09/30 11:12:16
>>531, 536
ケロンキタ━━(゚∀゚)━━!!!!
いつ来るかと待ちわびていたよ。

相変わらずふてぶてしい態度でつね。

541:デフォルトの名無しさん
05/09/30 12:24:02
>>531
>>537を敷衍すると、
まずDdeConnectのインポートのコードを晒した方がいいんじゃない?
ナルポはNothingじゃなくてIntPtr.Zeroだね。

542:デフォルトの名無しさん
05/09/30 14:19:58

>>541さん、親切にありがとうございます。おっしゃる通りです。
構造体の宣言とインポートの部分はこんな感じになっていますが、
なにか構造体に間違いはございませんか?
Structure SECURITY_QUALITY_OF_SERVICE
Public Length As Integer
Public Impersonationlevel As Short
Public ContextTrackingMode As Short
Public EffectiveOnly As Integer
End Structure
Structure CONVCONTEXT
Public cb As Integer
Public wFlags As Integer
Public wCountryID As Integer
Public iCodePage As Integer
Public dwLangID As Integer
Public dwSecurity As Integer
Public qos As SECURITY_QUALITY_OF_SERVICE
End Structure

'DdeConnect宣言
Declare Function DdeConnect Lib "user32" Alias "DdeConnect" _
(ByVal idInst As Integer, ByVal hszService As Integer, ByVal hszTopic As Integer, ByVal pCC As CONVCONTEXT) As Integer

IntPtr.Zeroというのはどのようにどこに指定したらよいのでしょうか?
よろしくです♪

543:デフォルトの名無しさん
05/09/30 14:41:00
>>542
日本語も読めない。ためしもしない。最低だな。

544:デフォルトの名無しさん
05/09/30 18:19:49
すいません、ExcelのVBAについて質問したいんですが、スレが見つかりません。
どっかにあれば教えていただきたいので、ご存知の方よろしくおねがいします。

545:デフォルトの名無しさん
05/09/30 18:33:53
>>544
VBAについてスレが落ちてるな。
ここは読んだことないけど。
●EXCEL・VBAの勉強法教えてスレ●
スレリンク(tech板)
ここにも上級者がいる。
Excel総合相談所 37
スレリンク(bsoft板)

546:デフォルトの名無しさん
05/10/01 13:29:15
>>542
お前ほんと糞だな。


262 名前:山師さん [] 投稿日:2005/09/25(日) 10:44:18 ID:lZdxzg4r
>>260
そんなに簡単だというのなら
ETWrapperのソースを元にVB.NETに書き換えてみろ。
C#の時ほどは容易でないことに気がつくから。
まずCの知識がないVBユーザーには読むことがちょっと難しいわけよ。
これがVBで書かれているのなら多分容易だと思うのだが。
できたら俺にミシテネ♪

264 名前:山師さん[] 投稿日:2005/09/25(日) 10:59:07 ID:lZdxzg4r
友達がいなくて暇人キタ━━(゚∀゚)━━!!!!

267 名前:山師さん[] 投稿日:2005/09/25(日) 11:30:21 ID:lZdxzg4r
>>266
だからさ、簡単だとおもうならさぁ。実際にやってみろっつーの。
やってみたことがない人間が何言っても想像でしかないわけよ。
なんでも想像していたより難しいってことあんだろうが。
とりあえずやってみて俺に教えることをお勧めする。

547:デフォルトの名無しさん
05/10/01 14:13:57
、i`ヽ                        ,r‐'ァ 
 `ヽ::                      ::´
   ヽ ヽ        , -‐--、         / /
    ヽ \      I:::::::I_      _ / / 
     ヽ  ヽ    i,(;;;ノI、;;;)l    ,,/  , '  VB.NETフォーーーーーーーーー!
      ヽ  ` ー 、.,,ゝ´ヮ`,ノュ_, - '   r'    
        ` 、_ /::: `山':::::    /
         ヽ:::::::::::|::::::::"",r‐'
          〉::::::::|::::::::::¨/
         /;;;;;;;/;;;;;;;;;;/
        /;;;;;;;/:::::::::::《
        <;;;;;;;《:::::::::::::ヽ   ))
      /   ヽI,r''"""^~ヽ
     /   ,/ ヽ    ヽ


548:Hello! World
05/10/01 22:05:03
If regKey2 Is Microsoft.Win32.Registry.LocalMachine.OpenSubKey("SOFTWARE\test\Data\",false) then
End If
の実行をしたけど、ステートメントを指定してくださいとエラーが出ます。
エラーを回避したいんです。誰か教えて下さい。お願いします。

549:デフォルトの名無しさん
05/10/01 22:12:59
おやおやどこかで見た質問だね? マルチポスト君。

550:デフォルトの名無しさん
05/10/02 17:38:37
REGファイルの読み込みと書き出しを行うアプリを作りたいのですが、
REGファイルに関する技術文書かサンプルルーチンなどを教えていただけないでしょうか。

551:デフォルトの名無しさん
05/10/02 18:16:02
>>550
何故敢えてVB.NETで? とは思うけど。
URLリンク(support.microsoft.com)
一応解説。極めて大雑把だけど。
自前で読み取ってMicrosoft.Win32.Registryクラスで書き込むって手もあるけど、
Win32APIのRegSaveKeyとその周辺の関数を使うのが楽かな。
URLリンク(www.kt.rim.or.jp)

552:550
05/10/02 18:40:30
>>551
ああ、助かりました。ありがとうございます。

直接書き込みのほうが何も考えなくていいのでコーディングはラクですが、今回はグループポリシーと
連携させたPC管理や設定の履歴管理を考えているので、REGファイルにしたいのです。
アプリ上で特権の取得とか考えなくていいし。

.NETなのは、単にそれしかないから。とはいってもこれが.NETではじめて作るツール。
PerlとVBAしか使ったことないのでVB.NETの勉強もかねてます。

INIファイルと同じという理解でよいのだろうか・・・
GetProfileStringとか使える?だけど一括で取得ができない、あたりで悩んでます。

どういうアプローチがいいんだろう。テキストとして馬鹿正直に取り込んで加工?

553:デフォルトの名無しさん
05/10/02 23:58:12
(´・ω・`)知らんがな

554:デフォルトの名無しさん
05/10/03 22:46:51
すみません、質問です
ツールバーにドロップした時に、どのボタンにドロップされたか調べるには
どうすればいいのでしょう

555:デフォルトの名無しさん
05/10/03 23:11:16
TB_HITTESTを使うのがベターだけど。

次善の策として、ButtonsをFor Eachで回して、
それぞれのToolBarButtonのRectangleにマウスの位置がContainsしているかどうか確認するとか。
e.X/e.Yはスクリーン座標だから、ToolBarオブジェクトのPointToClientメソッドを忘れずに。

556:554
05/10/04 00:21:45
>>555
for eachでいけました
ありがとうございました

557:544
05/10/04 13:35:05
>>545
ありがとうございました。助かります。

558:デフォルトの名無しさん
05/10/05 17:12:18
VB.Netでファイルに1行出力するのに
普通はどんな関数を使用するのでしょうか?

現状WriteLineで出力しているのですが
文字列を出力した際に、
文字列の最初と最後に”が付加されてしまいます。

”が付加されないようにしたいのですが、
なにかよい関数ないでしょうか?

559:デフォルトの名無しさん
05/10/05 17:15:27
まあ普通にStreamWriterのWriteLineだな。
ダブルクォーテーションが付くのは558が変なことしてるからだ。

560:デフォルトの名無しさん
05/10/05 17:58:10
>>559
558です
PrintLineでの出力したらうまくいったので
WriteLineは使用しないことにしました。
レスありがとうございました。

561:デフォルトの名無しさん
05/10/05 22:19:34
vb.netでsusieプラグイン使うのは可能でしょうか?(事前バインドでなくて動的に)
どぼんだとinvoke.dllがあれば出来るとありましたが、コンパイル出来なかったのと
配布のこと考えるとちと無理かなと
他の方法があればいいのですが…

562:デフォルトの名無しさん
05/10/05 22:29:29
まっとうにVB.NETだけでアンマネージドをレイトバインディングするには.NET 2.0が必要だね。
Managed C++を使えるのならそれでラップしてやれば簡単に作れるけど。

563:561
05/10/05 23:58:23
やっぱ無理すか…
ついでにもう一つ質問
ホバーってホバーと見なす時間ってどこで指定するんでしょう
つーか、本当はホバーじゃなくて、「マウスオーバーで選択はしないが
3秒間ポイントしたら実行」ってのがやりたいんだけど(リストビュー)

564:デフォルトの名無しさん
05/10/06 00:13:16
.NETの範囲内じゃ不可能だね。
Hoverの時間間隔を取得するのも.NET 2.0でようやく追加された。
//System.Windows.Forms名前空間SystemInformationクラスのMouseHoverTime静的プロパティ。取得のみ。
変更するのはWin32APIのTrackMouseEvent関数。とは言えこれの使い方は微妙かも。
それくらいなら、MouseMoveイベントとタイマを駆使すればなんとかなるかな?

565:デフォルトの名無しさん
05/10/06 00:49:29
質問させてください。
フォームの×や_ボタンを消して、
しかもフォームを動かせないようにするにはどのようにすればよいのでしょうか?

566:デフォルトの名無しさん
05/10/06 00:57:46
タイトルバーごと消して良いの?
タイトルバーがあるのに動かせないのはユーザへの嫌がらせにしかならないけど。

567:デフォルトの名無しさん
05/10/06 08:52:21
>>565
Form.ControlBox=False

Load時にLocationの値を覚えておいて、
Moveイベントが発生するたびに、覚えていたLocation値に置き換える。

でいけるんじゃね。


568:デフォルトの名無しさん
05/10/06 10:15:37
.NETって、標準のグラフコンポーネントとかないですか?
VB6.0のころはあったんですが、いくら調べても見つからないですよね。
クリレポについているみたいなんですけど、帳票じゃないやつではないですか?
ご存知だったらお教えください。
よろしくお願いします。

569:じゃんぬねっと
05/10/06 12:28:35
>>565
ControlBox プロパティを False にするか、
Maximize, Minimize プロパティを False にします。

移動は、API の DeleteMenu で消してしまえば OK です。

570:デフォルトの名無しさん
05/10/06 15:43:52
VB.Netで以下のようなINIファイルのデータを
タグ名のAAAAA、キーワードのbbで値の123が取得できる
関数とかありませんでしょうか?

XXXX.ini
-----
[AAAAA]
bb=123


571:デフォルトの名無しさん
05/10/06 16:17:40
>>570
.NET Frameworkにはありません。
APIを使うかStreamReaderなんかで手動で読み取りましょう。

っていうか、XMLファイルを何故使わないんですか?
使いましょう!

572:デフォルトの名無しさん
05/10/06 16:27:59
>>571
APIを使うことにします。GetprivateProFileStringでしょうか。
教えていただきありがとうございました。

573:563
05/10/06 21:50:32
>>564
mouseenterで大麻をイネーブル、mousemoveでディセーブル&イネーブルで
何とかなりました
つか、タイマのリセットってこれでやり方合ってるんでしょか?

574:デフォルトの名無しさん
05/10/06 21:56:01
ドキュメントには何も書いて無いのな。
まあちゃんと動いてるのならそれで良いでしょ。

575:デフォルトの名無しさん
05/10/06 23:37:53
エディタを自作するにはどうしたらいいですか?
改行マークやらを表示したいのです

576:デフォルトの名無しさん
05/10/07 00:02:25
>>573
通報しますた

577:デフォルトの名無しさん
05/10/07 13:45:16
VB.NetでOracle9iにDB接続、切断する方法を
教えて下さい、よろしくお願いします。
(OracleClient.OracleConnectionを使う?)

578:デフォルトの名無しさん
05/10/07 14:40:29
またぐぐれば数分のことを・・・。
ORACLE VB.net 入門でぐぐれば、本関係以外で最初に@ITが出てくる。

579:デフォルトの名無しさん
05/10/07 16:21:07
>>578
ぐぐってみました。
VB.NetでDB接続、切断するには
ODP.NETをインストールしないとダメなんですか?
もしくはした方がよいのですか?
何度もすいません。


580:デフォルトの名無しさん
05/10/07 16:33:16
>>579
つうか、その回答も@ITの別の記事で書かれてるはずだが。
OleDBとか選択肢あるから、必要条件を自分で決めて選択してくれ。


581:デフォルトの名無しさん
05/10/07 16:45:44
>>580
回答ありがとうございました。
(ODP.NETを選択しました。)

582:デフォルトの名無しさん
05/10/08 00:28:16
初歩的な質問ですみません
SHELLでカレントを変えたい時は呼び出す前に自分のカレント変えて、
呼び出して、また戻して、ってやるしか無いのですか

583:デフォルトの名無しさん
05/10/08 00:42:05
いつまでもShellなんてレガシ使ってないで
System.Diagnostics名前空間Processクラス使えという啓示。

584:デフォルトの名無しさん
05/10/08 14:24:27
かなり、初心者な質問なんですが、 これを2行にわける時は
どう書けば、いいのでしょうか?

Dim cmd As SqlClient.SqlCommand = SqlConnection1.CreateCommand()

585:デフォルトの名無しさん
05/10/08 14:28:08
>>584
Dim cmd As SqlClient.SqlCommand = _
    SqlConnection1.CreateCommand()


586:デフォルトの名無しさん
05/10/08 14:54:12
>>585
レスありがとうございます。
質問の仕方がまずかったみたいです。

Dim cmd As SqlClient.SqlCommand = SqlConnection1.CreateCommand()

これを = で繋がないで2行に分けたいのですが、

Dim cmd As SqlClient.SqlCommand
cmd =

なんかこんな感じで書けないかなぁと思ったのですが。。
よろしくおねがいします。



587:デフォルトの名無しさん
05/10/08 15:12:15
Dim cmd As SqlClient.SqlCommand
cmd = SqlConnection1.CreateCommand()
じゃないの?え、ちがう?すまぬ。VB.NETはちょっとかじっただけ




588:デフォルトの名無しさん
05/10/08 15:14:13
>>586
VB.NETを使ったことの無い俺が言うのもアレだけど、

Dim cmd As SqlClient.SqlCommand
cmd = SqlConnection1.CreateCommand()

じゃダメなん?

589:デフォルトの名無しさん
05/10/08 15:52:14
>>587
>>588
ありがとうございます。。

590:デフォルトの名無しさん
05/10/08 18:50:28
変数とインスタンス(実体)の違いを理解できてないってことですね。
.netというかまあ基礎から勉強しましょう。

591:デフォルトの名無しさん
05/10/08 20:16:49
他フォームへの移動なのですが、
下記のような記述でよろしいのでしょうか?


Dim frmC As FormC = New FormC

If A = B then
frmC.Show()
Me.Hide()
Else
xxxxx
End If





592:デフォルトの名無しさん
05/10/08 20:28:12
何をもって良しとするかも判らんのにどうしろと。
自分の思い通り動いてるならいいんじゃないんですか?

593:デフォルトの名無しさん
05/10/09 09:31:22
うちの猫をVBライクからC#ライクにしたいのですが

どうしたらいいですか?


VBから卒業させてやりたいんでちゅ

594:デフォルトの名無しさん
05/10/09 21:08:25
まずはカッコつけさせることだな。

595:デフォルトの名無しさん
05/10/10 00:07:00
コーディングの常識かもしれないんですが

If chkVisible.Checked = True Then
  mblnVisible = True
Else
  mblnVisible = False
End If

というコードを参考書で見るけれども

mblnVisible = chkVisible.Checked

では問題があるのでしょうか。

可読性の問題?

596:デフォルトの名無しさん
05/10/10 00:10:32
別に問題ないな。
私も後者の表記をするし。

597:デフォルトの名無しさん
05/10/10 08:10:31
私だと例えばそのIFブロックにもう1つ処理足したくなったときに下だと直しが面倒なので
IFブロックは極力上の書き方してます

598:デフォルトの名無しさん
05/10/10 08:42:49
直しが面倒なのはイヤなのに初めて書くときに面倒なのは許容するのか
理解できんな

599:595
05/10/10 09:26:23
上とはちょっと違うんだけど、以前外注したベンダは画面上のコントロールの値をわざわざ
変数に突っ込んで、

mblnVisible = chkVisible.Checked

If mblnVisible = True Then
  処理1
Else
  処理2
End If

という処理を書いていた。mblnVisibleを他で使うでもなく。

結構大手ベンダだったので、画面上のコントロールの値を直接つかわないとかなんとか、
俺のしらないコーディング作法があるのかなぁ、と思っていたりして。


600:デフォルトの名無しさん
05/10/10 10:10:19
>>599
そのフラグを使う回数によるけど。
オブジェクト参照のスピードと変数参照のスピードの違いがあるから。
ループの中で死ぬほどのそのフラグで分岐するならば、変数にコピーして使うべき。

601:595
05/10/10 10:47:09
>>600
いや、それならわかるんだけど、使うのも一回だけ。
それも画面上の全コントロールの値を全部変数に代入してた。

単に駄目コーディングなのか・・・

602:デフォルトの名無しさん
05/10/10 10:54:35
>>600を考慮した習慣ではないかと。

603:デフォルトの名無しさん
05/10/10 11:08:23
hotmail用のメーラーを作りたいんですが、
どこか参考になるサイトをご存知の方がいらしたら
教えていただけないでしょうか?

604:デフォルトの名無しさん
05/10/10 11:09:50
どっちかってーと、
>>600を考慮した結果何でもかんでもそれにしちゃえという安直な発想の元根付いてしまった習慣、かな。

605:デフォルトの名無しさん
05/10/10 11:14:52
いや、後の拡張など考えた場合は機械的にやるのもありだとは思う。
ただ、MVCがきちんと分離できてれば、そのチェックボックスを引っ張るなんてありえないけどね。

606:デフォルトの名無しさん
05/10/10 11:28:03
MVCなんて知らなくて良いから、各位仕様変更に耐えうるコードとは何かを考えてほしいす。

どのフォームがアクティブかでで引数決定したり、入力部品を計算処理から直接参照して計算とかカンベンシテクレと。
氏ね中国外注・・・

607:デフォルトの名無しさん
05/10/10 11:36:29
chkVisible.CheckedはmblnVisibleの1条件と見るべき、たまたま条件が1つだっただけ。
従って、mblnVisible = chkVisible.Checked は良くないな。

608:595
05/10/10 11:41:55
んー、なんとなく了解しました。

まあ俺の作法が駄目ということではなさそうなので安心。
可読性と速度と保守性と一貫性を考慮してればいいよってことだよね。

MVC初めて知ったので、これから勉強。でもVB.netのユーザー入力部分だけ
のコーディングにMVCもくそもないかw
分離できてるってことか。

相手してくれた方々、ありがとう。

609:デフォルトの名無しさん
05/10/10 12:00:15
>>608
例えば、ユーザー入力に対するチェックだって、きちんと分離しろ。
関数化して、I/Oをきちんとすること、そこから始まりだよ。
イベント関数はそれらを呼ぶだけにする。

610:デフォルトの名無しさん
05/10/10 12:12:28
言葉遣いが偉そうな奴ってなんで例外なく無能なんだろう。。

>例えば、ユーザー入力に対するチェックだって、きちんと分離しろ。
>関数化して、I/Oをきちんとすること、そこから始まりだよ。
>イベント関数はそれらを呼ぶだけにする。
もう馬鹿丸出し。そんなの程度問題でしょ。


611:デフォルトの名無しさん
05/10/10 12:18:44
>>610
出来もしない奴がよく言う言い訳だね。

612:デフォルトの名無しさん
05/10/10 13:22:18
>>606
それは設計規約、コーディング規約、設計書等の記述が甘いからです。
中国人プログラマー相手であればコーディングの1行がこうなると設計書の記述から100%読めない限りダメです。
その為ブリッジSEの単価は跳ね上がるのです。

SEで来てるんなら、そいつはSEじゃなくてPGだという事で単価交渉しろ

613:デフォルトの名無しさん
05/10/10 17:03:51
複数選択する時にマウスでドラッグして選択する場合がありますが、その時の「四角い枠で
選択中」ってイベントはどうやって知ればいいのでしょう
つーか複数選択解除しただけで何でselecteditemchangeが選択してたアイテム数回
発生しやがるんでしょうね

614:613
05/10/10 17:06:13
間違えました
selectedindexchangedでした

615:デフォルトの名無しさん
05/10/10 17:10:01
MouseMoveでe.Buttonのチェックでもすれば?

616:デフォルトの名無しさん
05/10/10 20:02:26
ソース修正後に追加した覚えのない存在しないコントロール「_label4」など
が参照できないためコンパイル不可に陥るのは、vb.netの仕様ですか?


617:613
05/10/10 20:52:01
>>615
この間のイベント
mousemove
 :
mousemove
mousedown
ドラッグ開始
selectecindexchanged
 :
selectecindexchanged
ドラッグ終了
mouseup
mousemove
 :
mousemove
ドラッグの間はmousemoveが発生しないし、mousedownの時点ではこれからドラッグ
するのか分からない、
要はselectecindexchangedが連続して発生しているものなら最初の1回以外無視
したいのです

618:デフォルトの名無しさん
05/10/10 21:27:58
必然性の良く分からない要求だなぁ……。

派生クラスを作る。
フラグを用意。
OnSelectedIndexChangedで、
・フラグが立ってれば返る。
・Control.MouseButtonsがMouseButtons.Noneでないのなら、フラグを立てて返る。
・どちらでもないのなら基底クラスのOnSelectedIndexChangedを呼ぶ
 (SelectedIndexChangedイベントに登録されたハンドラを処理する)。
OnMouseUpで、
・フラグが立ってれば、フラグをおろし、
 必要ならOnSelectedIndexChangedを呼ぶことでSelectedIndexChangedを処理させる

とかどう?

619:613
05/10/11 00:11:46
ちょっと複雑に考えすぎてた
要はmousedownで右クリ、Ctrl、Shiftでスキップ用のフラグ立てるだけで良かった
んでselectedindexchangedの中で処理回避してフラグ立てて、mouseupで解除する、と

要は、選択したファイルのサイズとか作成日とか表示してるのだけど、複数選択
してもどうせ最初の1つしか表示しないので、最初の1回しか表示ルーチンに
回さないようにしたかったってこと
(実際チラチラして見辛かったし時間も僅かとは言え食ってたから)

620:デフォルトの名無しさん
05/10/11 04:20:25
文法エラー(青色の波状の下線)の場所にマウスカーソルをあてても、
何か設定を弄ったのか、エラー内容が出なくなりました。
「ツール」→「オプション」や、説明書を確認してみても分かりませんでした。

アホな質問ですみませんが、どこの設定を確認してみればいいのでしょうか。

621:デフォルトの名無しさん
05/10/11 09:40:12
ASP.net、VB.NETにてウェブアプリケーションを作製しています。
DataGridコントロールのテンプレート(TextBox)に配列の内容を表示したいのですが、
以下の様に書くとエラーがでてしまいます。
なにか方法があるのでしょうか。

<asp:DataGrid id="DataGrid1" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:TemplateColumn HeaderText="名前">
<ItemTemplate>
<asp:TextBox id="TextBox1" runat="server"><%# Container.DataItem %></asp:TextBox>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>



Public a() As String = {"あああああ", "いいいいい", "ううううう"}
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
DataGrid1.DataSource = a
DataGrid1.DataBind()
End Sub



622:デフォルトの名無しさん
05/10/11 09:55:01
取りあえずエラーの内容ぐらい書こうよ

623:621
05/10/11 10:00:32
すいません。
以下のようなエラーが出ています。

例外の詳細: System.Web.HttpException: 'TextBox' に型 'DataBoundLiteralControl' の子を指定することはできません。



TextBoxのところをLabelに変更するとエラーもなく動きましたが、TextBoxだと動きません。

624:デフォルトの名無しさん
05/10/11 10:52:47
すいません。自己解決しました。
TextBox部分を以下のように変えたら動きました。

<asp:TextBox id="TextBox1" runat="server"><%# Container.DataItem %></asp:TextBox>
      ↓
<asp:TextBox Runat="server" Text="<%# Container.DataItem %>"></asp:TextBox>

625:デフォルトの名無しさん
05/10/11 16:51:08
Fromを最大化、最小化した際のWidth, Heightプロパティの値を取得すると、
最大、最小化時の値が取得されますが、
そのままの状態で、Normal時に戻したときのWidth,Heightの値を取得する方法はありますか?

Form終了時に、Width,Heightの値を設定ファイルに記憶したいのですが、
最大、最小化時に終了した際に、最後の時点のNormal時の値を書き込みたいのです。
(次回起動時に反映させたい為)

626:デフォルトの名無しさん
05/10/11 17:07:29
ResizeイベントでWindowStateがNormalの時にフィールドに保存。

627:デフォルトの名無しさん
05/10/11 17:14:25
>>626
ありがとうございます。
やってみます。

628:デフォルトの名無しさん
05/10/11 23:35:18
構造体の初期化はどうやって行うのでしょうか?
Constraction DATA
dim A as integer
dim B as string
end Constraction

dim tData as DATA

Redim tDatata ←これもだめ
Erase tData     ←これもだめ

教えてください。

629:デフォルトの名無しさん
05/10/11 23:38:39
Structure

630:デフォルトの名無しさん
05/10/11 23:38:51
Dim dData As Data
dData = New Data()
'むしろDim dData As Data = New Data()


ところでConstractionってなんだ


631:デフォルトの名無しさん
05/10/11 23:46:16
wordのスペルチェック機能を
vb.netで作ったテキストエディタで利用したいんだけど(もちろんwordが既にインストールされている状態
どうすればいいの?

632:デフォルトの名無しさん
05/10/11 23:46:21
ストラクチャでコンストラクタ書けばいいんでねーけ?

633:628
05/10/12 01:41:03
>>629 >>630 >>632
ありがとうございました。Newキーワードについて調べてみます。
Structureですね、初心者なので間違えました。

634:デフォルトの名無しさん
05/10/12 09:51:17
ODBC接続をするアプリケーションを作成しているのですが、
接続情報が顧客によってちがいます。OdbcConnectionクラスで
接続していますが、どんなDBでも対応できるようにできますでしょうか?
VC++6.0で作成したプログラムを見たことがあるのですが、
ODBC接続情報を入力する標準のダイアログが出てきました。
こういうものは、VB.NETにはないでしょうか?
どなたかお聞かせ下さい。
よろしくお願いします。


635:デフォルトの名無しさん
05/10/12 11:03:35
>>634
なぜにODBC?
接続情報は当然顧客毎に違うでしょうね。
DBMS差を吸収するのがODBCだと思いますが。
ユーザー名等は設定ファイルなどで記述して、接続先はインストール時に作るか手順書では?

まあ、.netっぽくやるのであればOLEDBに移行すべきだと思う。


636:デフォルトの名無しさん
05/10/12 14:02:16
中国人のブリッジSEがODBCにしろというんですよね。
彼が言う標準のODBCダイアログというのは、どうやら、「SQL Serverログイン」のことのようですね。
ODBCデータソースアドミニストレータで、システムDSNにある特定の名前を入れるんだけど、
アクセスだとパスワードの入力要求はされないが、SQLServerでSQLServer認証を使うと、
パスワードが入力要求されるんです。
中国人BSEが言う「ODBC用の標準的な接続ダイアログ」なんて、本当にあるんですか?
よろしくお聞かせ下さい。


637:デフォルトの名無しさん
05/10/12 14:04:12
その中国人BSEに聞いたらあかんの?

638:デフォルトの名無しさん
05/10/12 14:43:54
ACCESSで出るダイアログと同じものが出るはず
VB6ではお世話になったが.NETでは使わなくなったから検証できず

639:デフォルトの名無しさん
05/10/12 15:54:30
>>637
中国人BSEも、遠い記憶を基にして言っているので、ソースが定かではない。
結局、中国人の思いつきを、おれが調査しなくてはならない。

>>638
VB6では、どんなダイアログか分かりますか?
教えて下さい。
お願いします。


640:デフォルトの名無しさん
05/10/12 16:06:54
>>639
接続先データソース名
ID
パスワード
の入力ダイアログが出る(はず

641:デフォルトの名無しさん
05/10/12 16:56:38
>>640
どんなコントロールですか?
コントロール名とか分かりますか?

642:デフォルトの名無しさん
05/10/12 17:04:58
>>620ですが、
fixでOS(XP)を再起動したら回復しました。
よく見たら、他のソフトも表示されておらず、
どうやらポップアップがウィンドウの背後に出ているようでした。
(些細な事で、数時間無駄にしてしまいました)

3週間位連続して使っていたのですが、まれにこんなことがあるんでしょうかね。

643:デフォルトの名無しさん
05/10/12 17:57:30
>>636
それはODBC ドライバ マネージャが表示するもので、
RDOでOpenConnectionするとき、DSNが無かったり接続情報が不完全な場合に出てた。
もっぱら開発時やデバッグ用の機能で、通常のアプリケーションではDNS情報が不完全な場合は
rdDriverNoPromptを指定してプロンプトを出さずにエラーにしてプログラムで処理する。
ADO.NETはもちろんADO以降そんな機能はない。
第一バックグランドで動くかもしれないプログラムが勝手に妙なプロンプトを出したらユーザーが困る。
System.Data.OdbcはOLEDBや専用の.NET Driver(SQLServerやOracle)が無い場合にやむなく使う機能。
もしプロンプトを出したいだけの理由でODBCを使いたいといってるなら却下だな。

644:デフォルトの名無しさん
05/10/12 19:17:05
sub とか function の内部でローカル宣言した const に2040バイトほどの
文字列を入れるとコンパイル時にVisualStudioごと落ちるんですが、これは
仕様なんでしょうか?

645:デフォルトの名無しさん
05/10/13 00:02:03
TcpClientについて質問です。

現在、DataAvailableのプロパティで、読み取りデータがあるかないかを調べ、
データがある場合はデータを読み込み、無い場合はスルー
という感じで、受信待ちの形(Do Loop)にしているのですが、

WinsockのDataArrivalイベントのように、データを受信した場合にイベントなどで知リたいと思うのですが、何か良い手立ては無いでしょうか?




646:デフォルトの名無しさん
05/10/13 01:06:22
BeginRead使うとか?
なぜそうしたいのか分かれば代替案も出せるかも知れないけど

647:デフォルトの名無しさん
05/10/13 02:04:29
基本的なことで恐縮です。
タイマーについての質問です。

Form上にTimer1とTimer2の2つを実装したとします。
仮に
Timer1 Interval 500ms Tickイベント時の処理時間100ms
Timer2 Interval 150ms Tickイベント時の処理時間10ms
とし、正確な処理時間はさほど必要ないとします。

このとき、Timer1のTickイベント処理中にTimer2の処理のタイミングが重なった場合の
動作は、処理を割り込んでくるのでしょうか?それともTimer2は待機しているのでしょうか?
要は、割り込んでほしくないときは、Timer2を止めるなどの処理が必要なのかどうかです。
逆に、Timer2の処理を優先したいときなどはどのようにすればいいのでしょうか?


648:デフォルトの名無しさん
05/10/13 02:16:26
>>647
System.Windows.Forms.Timer なら割り込んでこない。

649:デフォルトの名無しさん
05/10/13 02:34:16
>>648
レスサンクス。
ということは、System.Windows.Forms.Timer を使用していると
割り込んでくるな処理は不要ということですね。
逆に割り込ませたいときは、System.Timers.Timerとかかな?
もう少し調べてみます。ありがとうございました。


650:デフォルトの名無しさん
05/10/13 05:48:27
>>644
VisualStudioのバージョンと言語、落ちるソースを出さないと誰も相手にしないよ。

651:デフォルトの名無しさん
05/10/13 08:19:07
>>649
「割り込む」とかいう言葉遣いの人が
安易にSystem.Timers.Timerとか使うと危険。
危険ってのは別に煽って言ってるわけじゃなく、本当に危険だよ。

652:デフォルトの名無しさん
05/10/13 09:22:52
WindowsでのTimerって、メッセージキューにTimerイベントが置かれるだけですよ。
それを理解すれば答えは出ると思うんだが。
まあ、メッセージループを知らずに、メッセージも知らずにプログラム書けるのも一長一短だな。

653:デフォルトの名無しさん
05/10/13 09:31:08
>>650
ここはVB.NETスレでしょ?
なんで言語を書く必要が?

654:デフォルトの名無しさん
05/10/13 10:30:46
>>653 揚げ足取っておもしろいか?

655:デフォルトの名無しさん
05/10/13 10:38:09
>>652
System.Windows.Forms.Timerはその通りだが、全てのタイマがそうというわけではないぞ。

656:デフォルトの名無しさん
05/10/13 10:43:41
>>655
その程度のこと元質問を読めば自明。

657:デフォルトの名無しさん
05/10/13 10:59:50
System.Timers.TimerとSystem.Windows.Forms.Timerは何が違うんディスカ?

658:デフォルトの名無しさん
05/10/13 11:40:20
>>654
じゃあちゃんと書くから追試よろしく。

Visual Studio .NET 2003でVB.NETを使用し、以下のコードをコンパイル。

Public Class Test

Privete Sub TestMethod()
  '↓改行記号で連結した2040バイトの文字列定数(長くなるので省略)
  Const TestConst As String = _
   "abcdef ..... xyz" & _
   ....
End Sub

End Class

これだけでコンパイル完了前にVisual Studioが突然死する。

659:デフォルトの名無しさん
05/10/13 12:15:03
>>658
2036バイトまでなら通った。
2037バイトの文字列にすると落ちた。


660:デフォルトの名無しさん
05/10/13 12:42:19
しかし.NETってバグフィックスがちっとも出ないのはなんでかね?
これ以外にも小さな(?)バグって山ほどあるよな
発売以来二年以上経過してるのにフレームワークのSP1がでてそれきり。


661:デフォルトの名無しさん
05/10/13 14:39:12
DataGridに列を追加し、さらに列名(列見出し)を表示させるには
どうしたらよいのでしょうか?
画面の何かのプロパティで追加できるのでしょうか?
手順を教えてください、よろしくお願いします。


662:デフォルトの名無しさん
05/10/13 15:39:02
>>661
入門書を買うか、入門HPを嫁。

663:デフォルトの名無しさん
05/10/13 17:30:34
>>660
バグではありません,それは仕様です,,なのでは?


664:デフォルトの名無しさん
05/10/13 17:31:29
>>661

'Test Data 作成
ds = New DataSet("testDs")
Dim dt As DataTable = ds.Tables.Add("testTable1")
dt.Columns.Add("id", Type.GetType("System.Int32"))
dt.Columns.Add("value", Type.GetType("System.String"))
dt.Columns.Add("date", Type.GetType("System.DateTime"))
Dim row As DataRow
For i As Integer = 1 To 100
row = dt.NewRow()
row.Item("id") = i
row.Item("value") = "Test" & i.ToString
row.Item("date") = Now
dt.Rows.Add(row)
Next

'DataGrid.DataSourceにDataTableを設定
Me.DataGrid1.DataSource = dt

'Columnを1つ追加(この時点でDataGridにはColumnが追加されている)
dt.Columns.Add("addCol", Type.GetType("System.Int32"))
'Columnのキャプション設定(この時点で追加されたColumnのキャプションが変わる)
dt.Columns("addCol").ColumnName = "Add Column"


665:デフォルトの名無しさん
05/10/13 19:07:06
新しいフォームを作ってそれを呼び出し元のフォームより後ろに表示したい
んですが、何とか実現する方法ってないですか?

666:デフォルトの名無しさん
05/10/13 20:02:40
>>665
アブフレックス

667:デフォルトの名無しさん
05/10/14 18:28:18
>>664 さん
661です、サンプル例ありがとうございました。
おかげでできました、助かりました。どもです。

668:647
05/10/15 12:44:49
レスサンクスです。
最近プログラミングの基本を勉強する必要を痛感していただけに・・

System.Timers.Timer・・・いまんとこはやめときます orz


669:デフォルトの名無しさん
05/10/15 15:49:25
クラス内変数なのですが、

private SqlConnection sqlConnection = null ;

と C# で書かれていたものをVB.NETで書く場合はどう書けばよろしいのでしょうか?



670:デフォルトの名無しさん
05/10/15 16:05:55
番号 データ
1   10
2   12
3   10

のようなテーブルを作ってDataGridに表示していて、
ボタンを押すと、
4   13
などとデータが追加されていきます。

どんどん追加していくと、追加した行が見えなくなってしまいますが、
追加した行にフォーカスを移して、その行が見えるようにする方法を教えてください。

DataGrid1.Select(dataTable1.Rows.Count - 1)
だと選択されるだけで、見えるようにはなりませんでした。



671:670
05/10/15 16:16:23
DataGrid1.CurrentCell = New DataGridCell(dataTable1.Rows.Count - 1, 1)
でした。

672:デフォルトの名無しさん
05/10/15 16:18:15
>>669
君はどの部分が変換できないの?
あと「クラス内変数」って表現は「フィールド」と言った方が良いよ。

673:デフォルトの名無しさん
05/10/15 16:33:27
>>672
レスありがとうございます。

private SqlConnection sqlConnection = null ;
と、C#で書かれているものを

VBNETで書くとこんな感じかなと思ったのですが、これだとエラーになってしまいます。
Private sqlConnection As SqlConnection = New SqlConnection
sqlConnection = null

よろしくお願い致します。


674:デフォルトの名無しさん
05/10/15 16:42:28
>>673
Private sqlConnection As SqlConnection = Nothing
または
Private sqlConnection As SqlConnection

参照無しの状態になるのを明示して欲しいから、上の書き方が良いかな?
意図的にインスタンス生成してませんよって。

675:デフォルトの名無しさん
05/10/15 17:23:56
自分もC#のソースVBで書き換えたいのですが、

If color = Color.Empty Then

と書きたい時に、
Color.Empty が color.Empty に(大文字が小文字に)
強制的に代えられてしまうのは何故でしょうか?

知ってる方お願いします。

676:デフォルトの名無しさん
05/10/15 17:28:44
すみません、color は
Dim color As Colorです。

677:デフォルトの名無しさん
05/10/15 18:16:28
VBは大文字小文字が区別されないから。
C#なら大小の区別で別物になるがVB.NETではそうもいかないので、できれば別のネーミングにすることを薦める。


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