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ではそうもいかないので、できれば別のネーミングにすることを薦める。
678:デフォルトの名無しさん
05/10/15 20:49:19
>>677
大文字と小文字の区別が無い事は全然知りませんでした。
どうもありがとうございます。
679:673
05/10/15 21:37:36
>>674
大変参考になりました。。
ありがとうございます。
680:デフォルトの名無しさん
05/10/15 23:27:36
でも Dim color As Color ってつい書いちゃうんだよな。
大文字小文字の区別はないけど、
クラス名とインスタンス名はいちおうちゃんと別物として扱われるんで。
681:デフォルトの名無しさん
05/10/16 03:15:24
int, str, bol, tbx, lbx, objとか出来るだけ接頭子付けているが
color は col だとフィールド関係と間違えそうだし、clr かな?
682:デフォルトの名無しさん
05/10/16 07:55:17
ハンガリアンは捨てたのさ。
683:デフォルトの名無しさん
05/10/16 13:58:11
webbrowserコントロールでエクセルファイル表示するとおもむろにエクセル立ち上がるのって
どうにか出来ないでしょうか?(せめて最小化とか)
そして閉じてもエクセルやワードのプロセスが残ってるのも何とかしたいんです
684:デフォルトの名無しさん
05/10/16 15:53:06
Webブラウザコントロールを使って表示しなければいいんじゃないか?
これってたぶんだけどIEで表示してるのと同じだよね。
関連付けで開いた相手のプロセスはIEの監視下?
レガシーなOLE連携でCreateObjectでやった場合でもプロセスは起動するのはやむなしだな。
でもプロセスは残らない。
単純にファイルの関連付けで開いた場合、プロセスの終了は使用者任せだね。
そうじゃなければ、市販コントロールであると思うよ。
685:デフォルトの名無しさん
05/10/16 18:02:04
>>684
それ言っちゃうと身も蓋も無いんだけどねw
フリーソフト作るのに市販コントロール買ってまでするってのも…
ヘルプ見ようとしても出てこんし
諦めた方がいいかな
686:デフォルトの名無しさん
05/10/16 20:29:09
>>681
その調子で一度すべてのクラスに識別可能なプレフィックスを付けながら
コーディングしてみ?プレフィックスが変数名より長くなるか、
プレフィックスを覚えきれなくなるのが落ち。まともなOOの環境で
コーディングしたことあるやつなら、プレフィックスを付けることの
無理にとっくに気がついている。だから最近はプレフィックスを付けないのが主流。
687:デフォルトの名無しさん
05/10/16 22:59:06
>>685
それを言うならば、フリーソフトでEXCELマクロでもないアプリなのに、要EXCELってのも・・・。
企画原案を変えるべきでは?
688:デフォルトの名無しさん
05/10/17 00:57:28
>>660
Javaやってりゃ分かるが細かいバグもチョコチョコ直されると激しく迷惑
689:デフォルトの名無しさん
05/10/17 13:31:05
IPメッセンジャーのようなメッセージ配信機能を電話オペレータの操作画面の一部にテロップのような形式で配信したいと考えています。
また、配信する人は一部の管理者を想定しているのですが、この管理者の権限でメッセージ表示を削除する機能も付加したいと考えています。
VB.NETのWindowsアプリケーション開発で技術的に可能でしょうか?教えてください。お願いします。
690:デフォルトの名無しさん
05/10/17 13:46:13
可能です
691:デフォルトの名無しさん
05/10/17 13:50:39
すいません、具体的なヒントとか頂けたら嬉しいです。。
692:デフォルトの名無しさん
05/10/17 15:20:36
690じゃないが、具体的じゃない質問に対して具体的なヒントって?
まず、何が疑問なのか。
693:デフォルトの名無しさん
05/10/17 16:18:35
特定のURLから内容を表示するプログラムを造ってますが、ウェブページ上の表形式のデータを取得する場合、
便利な方法は何かないでしょうか。Ezcelのウェブクエリを高速化したかったのですがwebtableのような概念が
見つけられないもので。VB.NETは質問からも分かるように初心者です。本2冊買ってHELPもあたったのですが・・
Imports System.Net
Imports System.Text
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
TextBox1.Text = ""’URLを入力
TextBox2.Text = ""
End Sub
694:デフォルトの名無しさん
05/10/17 16:19:08
693の続き
Private Sub Button1_Click( _
ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
Dim wreq As HttpWebRequest
Dim wres As HttpWebResponse
'ウェブリクエストでテキスト1の内容表示、エンコード
wreq = HttpWebRequest.Create(TextBox1.Text)
wres = wreq.GetResponse()
Dim enc As System.Text.Encoding = _
System.Text.Encoding.GetEncoding("euc-jp")
Dim s As IO.Stream = wres.GetResponseStream()
Dim sr As New IO.StreamReader(s, enc)
'コンテンツ内容をテキスト2に表示
Dim Textline As String = sr.ReadToEnd()
TextBox2.AppendText(Textline)
sr.Close()
s.Close()
End Sub
End Class
695:デフォルトの名無しさん
05/10/17 21:24:43
>>689
まずはTCP/IPの勉強をして来なさい
696:デフォルトの名無しさん
05/10/17 21:38:51
>>693
整形式XML(のフラグメント)になりうるんであればXmlReaderとかが使えるけど、HTMLだと難しい場合も多いだろうね。
素直なのは、正規表現(System.Text.RegularExpressions名前空間のRegexを中心とする各クラス)を使って整形するとか。
mshtmlを使って解析させるって手もあるけど……。
697:デフォルトの名無しさん
05/10/17 23:41:11
タスクバーを扱うには、どのあたりのクラスを使えばいいんでしょうか。
シンプルにクイックラウンチをON/OFFしたいだけなんですが。
698:デフォルトの名無しさん
05/10/17 23:51:21
他のプロセスのコントロールをいじるってのは.NETのクラスライブラリでは無理。
Win32APIを駆使することになる。
Shell_TrayWnd の ReBarWindow32 に
RB_GETBANDINFO で ToolbarWindow32 のハンドルと一致するの探して
RB_SHOWBAND で操作、かねぇ。
構造体ポインタのやりとりとなるとVirtualAllocExとかCreateFileMappingとか使う必要もあるね。
699:デフォルトの名無しさん
05/10/17 23:54:41
トレイアイコンのこと?
notifyiconをフォームにドロップするだけ
でフォームのresizeとnotifyiconのmousedownあたりにゴニョゴニョ書けばok
700:デフォルトの名無しさん
05/10/18 00:13:55
>>698
あ、サンキューです。
そのあたりの情報までは見つけていたけど、「.NETならもっと簡単なんじゃねぇの?」と
思ったんですが、できないというのがわかればがんばってAPI叩きます。助かりました。
>>699
いえ、>>698に書いてあるあたりです。
701:デフォルトの名無しさん
05/10/18 00:59:19
>>696
調べを進めていく上でのキーワードがいただけました。ありがとうございます。
(実は何を書いてあるのか殆ど分かりませんがw XMLは聞いたことがあるので、ググリまくります。)
702:デフォルトの名無しさん
05/10/18 02:38:28
>>698
あくまで他スレッドがコントロールを直接操作できないだけ
他スレッドがよんだ自スレッドのメソッドがコントロールをそうさするのはok
703:デフォルトの名無しさん
05/10/18 02:42:19
>>702
?
いつスレッドの話になった?
704:デフォルトの名無しさん
05/10/18 03:46:05
XMLをQueueメモリに保存し、適時取り出して再度Xmlとし、処理していきたい
と考えています。
次のようなコードでQueueに書き込む分にははエラーは出ませんが、
Dim WriteQueue As Queue = New Queue
Dim xmlDoc As New System.Xml.XmlDocument
(ここにXMLを構築するコードを書き込んでいます)
WriteQueue.Enqueue(xmlDoc)
DequeueメソッドでXMLに書き戻すのがうまくいきません。Queueに書き込んだ
ものとソックリ同じ物を、新しく作成したXmlDocumentとしたい(つまり、コピー
を作る)んですが・・・・・
705:デフォルトの名無しさん
05/10/18 05:52:26
>>702
話がずれてる上に間違ってる。
>他スレッドがよんだ自スレッドのメソッドがコントロールをそうさするのはok
okじゃないから Control.Invoke / BeginInvoke を使おうな。
706:デフォルトの名無しさん
05/10/18 06:31:27
>>704
インスタンスとか参照とか理解してなさそうだが……。
取りあえずClonseメソッド。
707:デフォルトの名無しさん
05/10/20 07:09:58
.netではDDE通信が推奨されていないらしいですが
代わりにどのような方法が推奨されているでしょうか?
708:最凶VB厨房
05/10/20 07:12:12
リモチン?
709:デフォルトの名無しさん
05/10/20 09:34:36
>>707
.net Remoting
情報少ないけど、ほぼ唯一でてるオレンジの本見れば、DDE程度はOK。
ただ、自アプリ同士の連携の場合だからね。
昔のOfficeとかがDDEを提供していた(?)のと同じように、OfficeとかがRemoteオブジェクトを提供してるわけじゃないので。
(.netの弱点ってネイティブでOffice連携が無いことなように思える)
710:デフォルトの名無しさん
05/10/20 10:11:43
>>708, 709
thx.調べてみます。
代わりにソケット通信っていうのはありでしょうか?
711:デフォルトの名無しさん
05/10/20 12:13:24
>>710
.NET RemotingはTCP/HTTPをベースにしてる(内部で利用している)。
712:デフォルトの名無しさん
05/10/20 12:46:14
>>711
さんくす。じゃ、簡単にソケット通信でやっちゃおうかな
713:デフォルトの名無しさん
05/10/20 13:01:00
ソケットは単なる文字列の送受信。
リモーティングはシリアル化されたオブジェクトのやり取り。
目的が全く違います。
714:デフォルトの名無しさん
05/10/20 13:27:10
質問です。
スタートアップに指定したフォームを判断することはできますか?
if Form1 = Application.StartupForm then
みたいなことをしたいんですがー。。
715:デフォルトの名無しさん
05/10/20 14:00:22
画面から『閉じる(×)』ボタンを非表示にしたいです。
最大化・最小化は残したいので、ControlBoxでは実現できませんでした。
何かいい方法はないでしょうか
716:デフォルトの名無しさん
05/10/20 14:54:17
Visual Studio の操作?に関してになるのですが、
C# の場合 メソッドのオーバーライドを行なう際は
Protected Override とタイプすると、インテリセンスが開き、
その中からオーバーライド可能なメソッドを選択すると自動的に
シグネチャ含めてコードが追加されるのですが、VB.NET の場合は
Protected Overrides とタイプしてもインテリセンスが開きません。
VB.NET の場合は、エディタの左上から (overrides) を選択し、
その右からオーバーライドしたいメソッドを選択する、といったように
マウスでカチカチやるのが一般的なのでしょうか?
717:デフォルトの名無しさん
05/10/20 18:28:22
>>715
無効化なら
URLリンク(www.atmarkit.co.jp)
だが、さて非表示にはできたかねぇ……。
718:デフォルトの名無しさん
05/10/20 19:06:49
>>714
プログラマがどれで起動したか把握できないってのはどうよ?
719:デフォルトの名無しさん
05/10/20 19:44:58
ASP.NET、VB.NETで開発しております。
ログをテキストファイルに出力するような共通関数を作成したいのですが
どうにも行き詰って困っております。
wwwroot下にフォルダを作成し、その下に動的にログファイルを作成したいのですが
何かいい方法ありますでしょうか?
よろしくお願いします。
720:デフォルトの名無しさん
05/10/20 19:46:50
どこで行き詰まったの?
721:デフォルトの名無しさん
05/10/20 23:03:31
>ソケットは単なる文字列の送受信。
やはりそういうことか!
722:デフォルトの名無しさん
05/10/21 09:28:57
でも簡単なやり取りだけならソケット通信でもいいよね?
723:デフォルトの名無しさん
05/10/21 09:51:56
>>722
だから自分で目的を考えてでしょ。
単なる非同期・同期での通信ならばソケットでコマンドで十分。
イベント+情報の送受信ならばリモーティング。
724:デフォルトの名無しさん
05/10/21 13:32:37
VB.NETの勉強としてTextBoxクラスを継承して
書式チェック機能を持ったTextBoxを作成しようとしています。
Validatingイベント内で、書式チェックエラーとなった場合に
フォーカスの移動をさせないようにしたのですが
Formの閉じるボタンを押しても同イベントが発生して
閉じるボタンが無効になってしまいます。
イベント内でイベントをキャンセルしているので当然なのですが
チェックを行ってエラー時はフォーカスを移動させないが
特定の処理(画面を閉じるなど)の場合はチェックしない
という機能を作ろうとした場合、どのようにすればいいでしょうか?
先人達の知恵を貸してください。
725:デフォルトの名無しさん
05/10/21 20:28:20
>>724
>閉じるボタンが無効になってしまいます。
普通そんな事にはならないと思うけど。
閉じるボタンってウィンドウの右上のXのことだよねえ?
フォーム上にフォームを閉じるためのコマンドボタンが用意してあって、
それをクリックしようとしてもクリックできない、なんてオチだったりして。