VB.NET質問スレ (Part17) at TECH
[2ch|▼Menu]
1:最凶VB厨房
06/08/11 19:40:44
[前スレ]VB.NET質問スレ (Part16)
スレリンク(tech板)

2:最凶VB厨房
06/08/11 19:47:09
MSDN
URLリンク(msdn2.microsoft.com)

3:最凶VB厨房
06/08/11 19:48:03
どぼん!のVB道のトップページとTipsページ
URLリンク(dobon.net)
URLリンク(dobon.net)
Microsoftクイック スタート チュートリアル
URLリンク(ja.gotdotnet.com)
Insider.NET
URLリンク(www.atmarkit.co.jp)
宇宙仮面の C# プログラミング
URLリンク(ukamen.hp.infoseek.co.jp)
.NET のつぼ
URLリンク(park16.wakwak.com)
.NET TIPS
URLリンク(www.atmarkit.co.jp)
緑のバイク ★ 初めてのC# プログラム全般
URLリンク(homepage3.nifty.com)
VB.NETとC#でデザインパターン
URLリンク(hccweb1.bai.ne.jp)
匣の向こう側
URLリンク(www.ne.jp)
WisdomSoft
URLリンク(wisdom.sakura.ne.jp)
じゃんぬねっと
URLリンク(jeanne.wankuma.com)
どっとねっとふぁん - C# Tips And Samples -
URLリンク(homepage3.nifty.com)
C#プログラミングTips
URLリンク(www.atmarkit.co.jp)
CodeProject
URLリンク(www.codeproject.com)

4:最凶VB厨房
06/08/11 19:48:37
the GotDotNet Home Page
URLリンク(www.gotdotnet.com)
KEN's .NET
URLリンク(www5b.biglobe.ne.jp)
Cetus Links: 19,498 Links on Objects and Components / .NET
URLリンク(www.cetus-links.org)
HIRO's.NET
URLリンク(vbdotnet.fc2web.com)
@IT:特集 .NET開発者のためのオンライン・リソース・ガイド
URLリンク(www.atmarkit.co.jp)
.NETでいきまっしょい!
URLリンク(santamartadotnet.hp.infoseek.co.jp)
これがほしかった!厳選サンプルツール集
URLリンク(anetm.com)
ぬーやんのdotNET講座
URLリンク(www.geocities.jp)
PINVOKE.NET
URLリンク(www.pinvoke.net)
WinAPI Database for VB Programmer
URLリンク(www.geocities.co.jp)
Windows Api programming in C# , VB.NET, and VB6. Examples of P/Invoke and DllImport with Source code
URLリンク(custom.programming-in.net)

5:最凶VB厨房
06/08/11 19:49:29
ConvertCSharp2VB
URLリンク(www.kamalpatel.net)
@IT:.NET Tools
URLリンク(www.atmarkit.co.jp)
SharpLibrary Redirector
URLリンク(www.sharplibrary.com)
MSDN アカデミック アライアンス 技術資料
URLリンク(www.microsoft.com)
「300 秒でズバリ !!」&「10 行でズバリ !!」シリーズ
URLリンク(www.microsoft.com)
PAPA'n VB
URLリンク(www.mitene.or.jp)
VB レスキュー花ちゃん
URLリンク(www.bcap.co.jp)
(Java覚え書き)デザインパターンあれこれ
URLリンク(www.dmz.hitachi-sk.co.jp)
algorithm
URLリンク(www.mnet.ne.jp)
ラムダ計算入門
URLリンク(www.kb.ecei.tohoku.ac.jp)
数値計算の基礎
URLリンク(www7.ocn.ne.jp)

6:最凶VB厨房
06/08/11 19:53:21
テンプレ 完

7:デフォルトの名無しさん
06/08/11 20:27:14
>6


8:デフォルトの名無しさん
06/08/11 22:04:48
次スレから翔泳社のCodeZineもテンプレにいれてやろうよ
URLリンク(codezine.jp)

で、質問。

2003のWindows FormでLocalizable = Trueにして多言語アプリ作ってるとき、
Languageで間違った言語を選択しちゃうとその言語用のリソースがbinフォルダなんかに
生成されると思うんだけど、これが削除してもしつこく復活してきやがります。

なにかこの不要なリソースが生成されなくなるようにする方法ってないかな?

9:デフォルトの名無しさん
06/08/11 23:00:03
vbproj ファイルのそのカルチャ文字列調べて要素を消してみたらどうだ

10:8
06/08/11 23:28:34
>>9
うーん、やっぱりそういう泥臭い方法になっちゃうんですかね。
しかるべき方法が用意されてて当然のような気もするんですが。

11:デフォルトの名無しさん
06/08/12 23:29:44
質問です。
form間でのDataSetの値渡しがしたいです。
ただ、他画面起動時に渡すのではなく、テキストボックスに書き込まれた後で、
つまりChangeイベントで渡したいのですが、いい方法ないでしょうか?

12:デフォルトの名無しさん
06/08/12 23:37:08
はぁ?
むしろ何がわかんねえのかわかんね。
だからChangedイベントで渡せよw

13:デフォルトの名無しさん
06/08/13 01:07:18
11はFORM間でデータをやり取りする方法がわからないのか?

14:デフォルトの名無しさん
06/08/13 01:44:21
悪いことは言わんからDatasetみたいなデカイもんは参照にしとけって。

15:デフォルトの名無しさん
06/08/13 04:01:28
むしろどうやって参照以外にするというのか
リモーティング?

16:デフォルトの名無しさん
06/08/13 09:57:13
vb.net 2005 です。
textbox の validated で、button の click イベントを実行したくて、
button. PerformClick() と書いたのですが、click が発生しません。

textbox の leave イベントで button. PerformClick() を呼んだ時は
button の click が発生しました。

validated で button. PerformClick() は実行できないのでしょうか?
なにか方法があればアドバイスよろしくお願いします。




17:デフォルトの名無しさん
06/08/13 13:35:16
.net 2.0 SDKをインストールしてから時々Explorerなどを起動中にJUST-TIME-INデバッガのエラーが起動してExplorerが落とされる事があるのですが
このJUST-TIME-INデバッガをSDKインストール前のように起動しなくなるようにするにはどうすればいいのでしょうか?
SDKをアンインストールしてもエラーは出てしまいます・・。

ちなみに他のアプリも落とされる事があります^^;

18:デフォルトの名無しさん
06/08/13 14:17:51
vbと関係ないし。
エラーがでる元から断たなきゃ

19:デフォルトの名無しさん
06/08/13 14:27:22
>>18
エラーを出ないようにする ×
JITを削除する ○

JITがあるといろんなアプリでデバッガ起動しようとして落とされるのは良くあること

20:デフォルトの名無しさん
06/08/13 22:34:14
form間の値渡しって、
(B画面にて)
public A as formA = new fromA
A.label.text = "111"
って、newする方法以外、何かありますか?
あまり、newしたくありません。


21:デフォルトの名無しさん
06/08/13 22:53:33
いやだから、そういうレベルの人はこんなところで質問してる場合じゃないよ。
まずは大人しく本でも読めよ。

22:デフォルトの名無しさん
06/08/13 22:57:21
>>21
教えてやれよ。

すまんな。俺、コボル専門だから、わかんねーや。

23:デフォルトの名無しさん
06/08/13 23:03:44
>>20
newする方法以外って言われても、それ値渡ってないし。
あなたが渡したいのは『すでにある』FormAのインスタンスに、でしょ?
そのコードは新しく作った『別の』FormAのインスタンスに渡してるんでしょうが。

まあフォートラン専門のおれに言えるのはここまでだ

24:デフォルトの名無しさん
06/08/13 23:04:15
FormをPublicにしちまえよ

25:デフォルトの名無しさん
06/08/13 23:20:15
大域変数を使えばいいじゃない。

26:デフォルトの名無しさん
06/08/13 23:21:57
そもそもForm間で渡す設計が悪い
それぞれのFormからメソッドを呼び出すようにそろ

27:デフォルトの名無しさん
06/08/13 23:26:46
>>20
URLリンク(dobon.net)

まずはここ見て、自分の好みにあったやり方を探しておくれ。

28:デフォルトの名無しさん
06/08/13 23:34:36
そうやって基礎もろくに覚えてないうちから対処療養的なことを教えるから
理屈もわからずサンプルコードをコピペしまくる「VB厨」が生まれるんだけどね。

親切なことしたつもりなのは「教えたがり」の本人だけで、実際には相手に
毒を盛ってるのと同じだと俺は思うがね。

29:デフォルトの名無しさん
06/08/13 23:37:34
どこからどこまでが基礎なんだろうなぁ

30:デフォルトの名無しさん
06/08/13 23:41:16
悪魔のささやきとしては、Formはすべて暗黙のインスタンスを使う(笑

31:デフォルトの名無しさん
06/08/14 00:20:15
×暗黙のインスタンス
○暗黒のインスタンス

32:最凶VB厨房
06/08/14 10:01:59
理屈もわからずサンプルコードをコピペしまくって
いまだに基礎がわかっていないVB厨の俺が来ましたよ。←帰れ

33:デフォルトの名無しさん
06/08/14 11:01:12
SCSIといっしょで、理屈に合ってなくても動いていればそれで良し。

34:デフォルトの名無しさん
06/08/14 15:06:06
あまりnewしたくないって
新鮮な発想だ。

35:デフォルトの名無しさん
06/08/14 15:47:40
たしかにあまりnewしたくないなぁ

36:デフォルトの名無しさん
06/08/14 17:30:04
うちなんてコンストラクタ使用禁止だ

37:最凶VB厨房
06/08/14 17:34:51
コンストラクタ使用禁止って・・・
虐待やな。

38:デフォルトの名無しさん
06/08/16 02:30:00
構造体の内容をそのままファイルに書き込むにはどうすればいいですか?

39:最凶VB厨房
06/08/16 02:42:56
BinaryFormatter使ってみるのはどうだ?

40:デフォルトの名無しさん
06/08/16 02:51:08
人間に読めるほうがいい→XMLにシリアライズ
人間に読めなくてもいい→BinaryFormatterでシリアライズ

41:デフォルトの名無しさん
06/08/16 09:58:36
リストビューについてですが選択行が変わったイベント
SelectedIndexChangedはありますが
選択行が変わるよイベントが見つからないのですが
そのようなイベントは無いのでしょうか?

42:デフォルトの名無しさん
06/08/16 10:38:28
あまりニューしたくないって理屈は何だ?


43:デフォルトの名無しさん
06/08/16 11:09:04
それよりもファイルが1000個あるフォルダでCtrl+AするとSelectedIndexChangedイベントが
1000回起きるのがイヤだ
そりゃSelectedIndexChangingだろ…

44:デフォルトの名無しさん
06/08/16 18:08:16
VB.NETです

Formを開いた後に実行されるイベントはあるでしょうか?
ゲームを作っているのですがLoadが終わったあとにビジーループさせたいのです
(Loadイベントでビジーループさせるとフォームが開かない)

45:デフォルトの名無しさん
06/08/16 18:09:05
Shown

46:44
06/08/16 21:30:26
>>45
すいません、見当たらないです……

47:デフォルトの名無しさん
06/08/16 21:33:22
shownは.NET Framework 2.0からだからね。

48:デフォルトの名無しさん
06/08/16 21:43:52
>>Loadが終わったあとにビジーループ

っつーのを、もうちょっと詳しく。

49:デフォルトの名無しさん
06/08/16 21:57:11
質問です。助けてください。
自分で作成したDatasetとスプレッドシートをバインドさせたいのですが
出来ません。
データグリッドみたいにバインド出来ると、思ってたのですが、無理でした。
スプレッドシートは初めて使うので、全くわかりません。
教えていただけるのが、一番嬉しいのですが、
駄目なら、この本を読めとか、このサイトを見ろとか、ヒントを下さい。

50:デフォルトの名無しさん
06/08/16 21:59:31
スプレッドシートって何だよ?
サードパーティー製ならそこに聞け

51:デフォルトの名無しさん
06/08/16 22:01:43
>>50さんへ
VB.NETのコンポーネントタブに入ってる、コントロールです。
エクセルみたいな感じのヤツです。

52:デフォルトの名無しさん
06/08/16 22:17:24
だから標準でそんなコントロール付いてないってば

53:デフォルトの名無しさん
06/08/16 22:18:18
ていうか何故正式名称を出さないんだ?

54:デフォルトの名無しさん
06/08/16 22:26:27
>>51
マウスポインタをコンポーネントタブの該当コントロールに当てて、
ちょっと待ったら出てくるツールチップに書いてある名称を一言一句
間違いなく書き出すんだ。

55:デフォルトの名無しさん
06/08/17 00:03:39
本当だ。
付いてない。
家で試したら無かったです。
でも、職場でダウンロードもインストもした記憶がないのですが・・・
サードパーティー製スレに行ってきます。

56:デフォルトの名無しさん
06/08/17 00:12:59
そんなスレあるの?
メーカーに聞けという意味で言ったんだけどw

57:デフォルトの名無しさん
06/08/17 12:11:14
datagridに書き込んだデータをExcelのシートに流し込んでExcelの機能を使って印刷
するソフトを作ったのですが、Datagridの中に特定の文字列が書き込まれているとき、
Excelに流し込む文字列を変更することは出来ないでしょうか?
ちょっと分かりにくいのですが、
Datagridにkm3と書き込まれたとき、3をExcelの文字飾り上付きにしたいのです。
(要するにkm3では無く立方キロメートルの単位にしたい)
どうやったらいいのかが全く分かりません。
実現可能であれば方法を御教授願います。

58:デフォルトの名無しさん
06/08/17 13:26:00
>57
ExcelのVBAでやれば済むのでは?

59:デフォルトの名無しさん
06/08/17 15:05:31
>>58
MySQLと連動させているのでVBAでやるのは難しいと思うのです。
作ったアプリでMySQLにデータを入力しつつExcelで作ってある
フォーマットに出力という形です。

60:デフォルトの名無しさん
06/08/17 15:20:17
>>59
なんで?
VBAからODBC経由でもつながるし。頑張れば.net側からExcelVBAの関数呼べるだろうし。

61:デフォルトの名無しさん
06/08/17 16:00:18
Excelオブジェクト作れば大体の制御は出来るよね

62:デフォルトの名無しさん
06/08/17 16:10:13
>>60
もう作ったソフトがあるのでそれを改良する方向にしたいのです。
>>61
Excelオブジェクトを作って書き込んでいると思います。

Dim oXL As Excel.Application
Dim oWB As Excel.Workbook
Dim oSheet As Excel.Worksheet
Dim oRng As Excel.Range

って奴ですよね?

63:デフォルトの名無しさん
06/08/17 16:11:51
書き込むだけじゃなく、VBAの呼び出しも出来ると思うが。
それに、Excel操作の基本は、マクロで記録して、それをぱくるですよ。

64:デフォルトの名無しさん
06/08/17 16:40:15
VB.NET 2005 ExpressEditionをセットアップ実行中に、
.NET 2.0 日本語Language Pack のインスコ途中で、
文字化けのメッセージで error 1324とかでるのですが、
こいつの原因および対処方法はどうしたらよいでしょうか?

あと.NET FrameWork 1.1関係も再セットアップやアンインスコしようとすると
同じエラーが出ます。ボスケテ。

65:デフォルトの名無しさん
06/08/17 17:39:33
HDDをハンマーで叩き割る。

66:デフォルトの名無しさん
06/08/17 18:43:12
>>63
つまりExcelでVBAを吐かせてそれをプログラムに組み込むって事ですか?
(なかなか上手く行かない〜)

67:デフォルトの名無しさん
06/08/17 18:45:05
.NETフレームワーク1.0で動作しているアプリケーションは2.0でも正常に動作するのでしょうか?

68:デフォルトの名無しさん
06/08/17 18:50:09
するかもしれないし、しないかもしれない。
でも、だいたいはする。

69:64
06/08/17 19:18:55
スマン自己解決できた、
AppLocaleの一時ファイル(apploc.tmp)のせいで文字化けしていた。

・問題点
AppLocaleを使って中国語等のソフトを使用・インストール・アンインストールした後、
日本語のソフトをインストールしようとするとインストール画面が文字化けすることがあります。
Windows Installerを使用するソフトやOfficeセットアップで発生します。

・原因
AppLocaleの一時ファイル(apploc.tmp)が、Windows Installerに影響を与えているようです。

・解決方法 (ファイルを書き換え、読み取り専用にする)
1:メモ帳で「c:\windows\apppatch」にあるapploc.tmpを指定して開きます。
  ファイルの種類を「すべてのファイル」にしないと見えませんから注意してください。

2:メモ帳で開くと「・・ 」のようなものが見えますから、これを全部消して、上書き保存してからメモ帳を終了します。

3:「c:\windows\apppatch」にあるapploc.tmpを右クリックして、プロパティを出し、「読み取り専用」にチェックを入れます。これでOKです。


70:デフォルトの名無しさん
06/08/17 20:54:53
大きなチラシが必要だな

71:デフォルトの名無しさん
06/08/17 23:06:37
>>66
よくわかんないけど、今あるExcelファイルにデータはき出すのでないの?
なら、普通にthisworkbook.load(だっけか?)でいいのでは??

新規作成なら、また別のお話で。(でもどのみちVBAかと)

72:66
06/08/18 10:16:11
>>71
今はVB.net2003で作ったアプリでMySQLとExcelを使ってます。
伝票を作るアプリで、DataGridが配置されています。
そのDataGridに書き込んだデータを定型フォーマットとして作られた
Excelのシートに流し込んで印刷というものです。

要はデータ管理はMySQL、印刷のみExcelでそれを操作するために
VBでアプリを作ったのですが、DataGridに書き込んだ文字列はその
ままExcelに送られて印刷するだけなので体積や回転速度の単位を
表すことが出来ないのです(DataGrid上ではm3やmin-1としか表記
出来ないが、印刷のときこのまま印刷ではなく、この場合の3と-1は
右上に小さく出したい)。
使う単位はm3とmin-1しかないので、Excelにデータを送る直前に
文字列検索を掛けてm3やmin-1とあったときのみこの3と-1を文字飾り
上付きにしてExcelに送りたいのです。

73:デフォルトの名無しさん
06/08/18 10:55:39
>>72
VB2005+Excel2003でとりあえず動くコンソールアプリのサンプル(多分VB2003でも動くはず)
COMの解放とかやってないけどその辺は気にしないように

Imports Microsoft.Office.Interop
Module Module1
  Sub Main()
    Dim app As Excel.Application = New Excel.Application()
    Dim wbk As Excel.Workbook = app.Workbooks.Add()
    Dim wst As Excel.Worksheet = DirectCast(wbk.Worksheets(1), Excel.Worksheet)
    Dim r1 As Excel.Range = wst.Range("A1")
    r1.Value = "100m3"
    r1.Characters(CStr(r1.Value).Length).Font.Superscript = True
    Dim r2 As Excel.Range = wst.Range("B1")
    r2.Value = "10min-1"
    r2.Characters(CStr(r2.Value).Length - 1).Font.Superscript = True
    app.Visible = True
  End Sub
End Module

74:72
06/08/18 11:39:51
>>73
これって

r2.Characters(CStr(r2.Value).Length - 1).Font.Superscript = True

の部分で-1を文字飾り上付きにしてると理解したつもりだけど、
DataGridに

5-10kw 20min-1
ってあった場合、5-10kwの部分にある-1も小さくなりますか?

75:デフォルトの名無しさん
06/08/18 11:43:01
ウボァ('A`)

76:デフォルトの名無しさん
06/08/18 11:46:00
>>74
サンプルをアレンジすることなくそのまま使う気か?
自分でデバッグする気もないのか?

77:73
06/08/18 11:55:39
>>74
セルの文字列の右から2文字を上付きにするというコードです。
DataGridからExcelにどうやって編集してるか分からないので
あなたの質問には答えられません。

78:74
06/08/18 12:12:25
>>76
いや どうやってmin-1とほかの-1を区別しようか考え中です。
今のところは
1、min-1をReplaceで絶対使わないであろう文字列(仮にX)にする
2、-1をReplaceで絶対使わないであろう文字列(仮にY)にする
3、XをReplaceでmin-1に戻す
4、-1をSuperscriptで小さくする
5、YをReplaceで-1に戻す

でいいのかなと考えてるところです。

>>77
右から2文字を上付きにするコードとありますがその2文字を指定している
部分が見当たらない(上手く探せないだけだと思いますが)ので考えたのです。
単位が出るのは確実に右端なのでこのままで良いと思いますが、折角なので
色々試してみようかなと思います。

79:デフォルトの名無しさん
06/08/18 12:16:18
>>78
> でいいのかなと考えてるところです。
なら>>74みたいなことまで聞くなよ('A`)

80:78
06/08/18 12:23:40
>>79
脊椎反射で書き込んだ。
今は反省している。
てかその顔いいな。
私は好きです。>('A`)

81:デフォルトの名無しさん
06/08/18 12:26:50
>右から2文字を上付きにするコードとありますがその2文字を指定している
>部分が見当たらない

ウボァ('A`)

82:デフォルトの名無しさん
06/08/18 12:27:00
システム屋には向かん性質だな。
転職考えなよ。

83:デフォルトの名無しさん
06/08/18 14:03:20
r2.Characters(CStr(r2.Value).Length - 1).Font.Superscript = True
の.Length - 1← この-1はmin-1の-1と勘違いしていた。

絶対にmin-1は右端だと思っていたら
10min-1 200V
(40min-1) とかいろんなパターンを見つけちゃったのでこれから
min-1の位置を正確に割り出す方法を考えます。

みんなサンクス。

84:デフォルトの名無しさん
06/08/18 18:51:28
Label1とLabel2に
タイマーを使った乱数のスロットの値aとbを表示するプログラムを作ったのですが
Label1とLabel2に表示された値が同じ(a=b)だった時に、また自動的に選び直すようにしたいのに
Do until(a<>b)文にInt関数を挟んでも、
それらをIf(a=b)文で挟んでも、選び直してくれません。
タイマーのスタートとストップをInt関数のかわりに二段並べて記述しても、当然の事ながらうまくいきませんでした。
どうすれば良いのかどうかお知恵をお貸し下さい。

85:デフォルトの名無しさん
06/08/18 19:11:40
>>84
そういうエスパー向きの質問はムーにでも投稿しろよ。
誰がそんな文章読んで理解できるんだよアホか

86:デフォルトの名無しさん
06/08/18 19:56:08
>>84
コードを全部貼れ。
話はそれからだ。

87:デフォルトの名無しさん
06/08/18 21:44:05
想像されるコード
If(a=b)Then
Do Until (a<>b)
Int()
Timer1.Start
Timer1.Stop
Loop
EndIf


88:84
06/08/19 05:34:58
>85>86
ドコで聞けば良いでしょうか?
>87
そうなんです!
Label1=Int(ランダム)
Label2=Int(ランダム)
もしくは
Timer1=true
Timer2=true
Timer1=false
Timer2=false
のどちらかをDo until文の中に記述したんです。

どなたか、助けて下さい!!

89:デフォルトの名無しさん
06/08/19 07:35:14
>>88
ヒント : Do 〜 Loop Until(While)

90:88
06/08/19 09:31:23
>89
ありがとうございます!
来週始めに学校に行った時に試してみます。

91:デフォルトの名無しさん
06/08/19 12:31:53
VB.net Express Edition で発行した際のインストール先について教えてください。
インストール環境 XP .NetFramework2.0

1)発行で作成したsetup.exeでXPのマシンにインストールする場合
 インストール先はユーザーから選択することはできないのでしょうか?
 (インストールしたユーザーのMyDocuments以下のLocal Settings\Apps\2.0\に作成されます)
 インストール時にユーザーがフォルダを選択できるのがベストです。

2)XPでAdministrator権限のユーザーがインストールした場合でも
 そのユーザーしか使用できません。他に何か設定する必要がありますか?

VB.netでの開発が初で面食らっております。なにとぞよろしくです。

92:デフォルトの名無しさん
06/08/19 13:02:39
>>91
ClickOnceとはそういうもの。
普通のセットアップが作りたければStandard以上が必要。

93:デフォルトの名無しさん
06/08/19 13:15:06
>>92

なるほど、そうでしたか。
早速の回答どうもありがとうございました。

94:デフォルトの名無しさん
06/08/21 13:06:44
VB.NET2005で質問です

DayOfWeekで曜日の番号を取得した後
それを日本語名の曜日名に変換するにはどうすればいいでしょうか?

だyOfWeekの結果=0
の場合
”日” または ”日曜日”
を取得したいのです。

日付から曜日は検索しても出てくるのですが
しつもんのは内容の見受けられませんでした。

ご存知の方よろしくお願いいたします。

95:デフォルトの名無しさん
06/08/21 13:10:23
自作汁

96:デフォルトの名無しさん
06/08/21 13:22:32
>>94

enum DayOfWeekJP
{
 日曜日,
 月曜日,
 火曜日,
 水曜日,
 木曜日,
 金曜日,
 土曜日
}


97:デフォルトの名無しさん
06/08/21 13:36:39
>>94
For d As DayOfWeek = DayOfWeek.Sunday To DayOfWeek.Saturday
  Console.WriteLine(System.Globalization.DateTimeFormatInfo.CurrentInfo.GetDayName(d))
Next

98:97
06/08/21 13:48:11
短い方が欲しければGetAbbreviatedDayName(d)

99:84
06/08/21 14:09:52
以前に>84で質問を致しまして、このスレで教えていただいた方法を試してはみたのですが、なかなかうまくいかないので、どなたか助けていただけないでしょうか…?
以下に、参照用としてコードを記入しておきます。

Timer1_Tick
Label2.Text = Int((52 * Rnd()) + 1)
Label3.Text = Int((52 * Rnd()) + 1)

Button1.Click
Timer1.Enabled = True

Button2_Click
Timer1.Enabled = False
a = Val(Label2.Text)
b = Val(Label3.Text)
Do
Label2.Text = Int((52 * Rnd()) + 1)
Label3.Text = Int((52 * Rnd()) + 1)
Loop Until a <> b


100:デフォルトの名無しさん
06/08/21 14:18:40
>>99
すまんが、何がやりたいのかもっとまとめてくれないか?

1、Button1でタイマースタート。乱数表示開始。
2、Button2でタイマーストップ。表示されている乱数をa,bに代入。
3、‥‥

みたいな感じで、箇条書き&時系列に沿って書き出してみてくれ。

101:デフォルトの名無しさん
06/08/21 14:31:37
>>99
Button2_Click
Timer1.Enabled = False
Do Until Label2.Text <> Label3.Text
  Label2.Text = Int((52 * Rnd()) + 1)  'こっちはいらない気もする
  Label3.Text = Int((52 * Rnd()) + 1)
Loop

でいいんじゃねえの?

102:デフォルトの名無しさん
06/08/21 14:43:29
>>96
トンクス!
まさにこれが欲しかった
開始番号の都合で1ほど数値をずらさないといけないけど問題ないようです。

DateTimeとは違ってこっちにあるのか・・・・・

ありがとうございました!

103:97
06/08/21 14:48:20
>>102
え、そっちかよw

104:デフォルトの名無しさん
06/08/21 15:06:16
ワロタw

105:デフォルトの名無しさん
06/08/21 15:44:56
>>103
質問が悪かったと思うとです。

System.Globalization.DateTimeFormatInfo.CurrentInfo.GetDayName()
↑これなら基本的にある日付からDayOfWeekで取れる番号(または、範囲内の番号)で処理できるじゃないですか?
 本来 日付型.String("ddd")とかでも取れるんですが、条件的に日付だけではなく曜日番号からも取得したかったんです。
 で曜日の取得名もフォーマットを変更すれば可能だし、これがいいかな?っと思ったわけです(;´Д`)
 +フレームワークの機能だけで出来るだけ行いたかったということもあります。
か・・・肩透かしでごめんなさいorz


106:97
06/08/21 16:02:21
いや、enum(>>96)使うのかよ、というツッコミだったんだがw

107:デフォルトの名無しさん
06/08/21 16:10:55
うぉ!!
そういうことか〜!!!!orz

書き間違えてたとは・・・・
おれ自身も苦笑ozr

108:99
06/08/21 16:43:18
>100
お騒がせしました。
>101
どちらか片方で良いとは思って片方だけを記述したりしても何もならなかったのですが、その記述の仕方はなるほどです…今度試してみます。ありがとうございました!

109:デフォルトの名無しさん
06/08/21 17:45:05
>>108
結局何がやりたかったのか誰もわからないままでいいのか

110:デフォルトの名無しさん
06/08/21 18:17:48
>>99

>>Loop Until a <> b

参照型じゃないんだから、これじゃまずいのでは?
aとbの値は変わってないし。↓


>>Do
>> Label2.Text = Int((52 * Rnd()) + 1)
>> Label3.Text = Int((52 * Rnd()) + 1)
>>Loop Until a <> b



111:デフォルトの名無しさん
06/08/21 18:27:09
てか、このスレでやることか?

112:89
06/08/21 20:07:04
>>99
すまん、そういうことか
てっきりTimer1_Tickの中で選びなおすのかと思ってた

113:デフォルトの名無しさん
06/08/22 15:34:12
VB2005です
同じ種類の繰り返し文ネストから脱出するときはどうすればいいんでしょうか?

do
 do
  if a=b
   exit do
 loop
loop

これで一番外まで出られますか?

114:デフォルトの名無しさん
06/08/22 15:49:21
なあ、この板にはVB初心者スレとかVB質問スレとか無いのか?

115:デフォルトの名無しさん
06/08/22 15:50:01
>>114
質問スレはここだと思うぞw

116:108
06/08/22 15:56:59
>109-112
1、Button1でタイマースタート。 Label2,Label3に乱数表示開始。
2、Button2でタイマーストップ。Label2,Label3に表示されている乱数をa,bに数値として代入する。
3、a,bが同じ数であった場合のみ、再度、自動的に選び直させてLabel2,Label3に表示させる。


明らかに滅茶苦茶かもしれませんが、以下を試しても無理でした。

Do
Timer1.Enabled = True
If Timer1.Enabled = True Then
Timer1.Enabled = False
End If
Loop Until a <> b


a,bの値が変わってないと仰るのも、どうしてであるのかよくわからないので、是非ともご教授下さい。

そして、スレ違いのようですので、然るべきスレへのご誘導も宜しくお願いします…


117:デフォルトの名無しさん
06/08/22 16:17:25
>>116
Rnd()のシードが変わらないからずっと同じ値が帰って来てるんじゃないの?


118:デフォルトの名無しさん
06/08/22 16:22:34
>>116
ここでいい。
ここがお前様を立派な(?)プログラマにしてくれる(はず)。
・・・ところで試さずに聞くけど乱数ってちゃんと違うものになるか?
シード値とか無いと同じタイミングで作られた乱数って同じになるような無いような・・・。
まぁお前様よりドヘタレな俺の与太だから忘れてくれ。

119:デフォルトの名無しさん
06/08/22 16:29:09
> Timer1.Enabled = True
> If Timer1.Enabled = True Then
んと

120:デフォルトの名無しさん
06/08/22 16:52:46
>>116
初めにそれを書けばすぐ解決してたぞ

Private Sub Button1_Click()
Timer1.Enabled = True
End Sub

Private Sub Button2_Click()
If Label1.Text <> Label2.Text Then
Timer1.Enabled = False
End If
End Sub

Private Sub Timer1_Tick()
Label1.Text = CInt(Rnd() * 52)
Label2.Text = CInt(Rnd() * 52)
End Sub


121:デフォルトの名無しさん
06/08/22 17:00:41
> 3、a,bが同じ数であった場合のみ、再度、自動的に選び直させてLabel2,Label3に表示させる。
は、そういう意味なの?

122:113
06/08/22 17:14:49
質問が意味不明ですか?
それともアホすぎる質問なのかな・・・

123:デフォルトの名無しさん
06/08/22 17:16:51
>>113は乱数君と同一人物?

124:デフォルトの名無しさん
06/08/22 17:19:25
>>122 素直に こうしとけば?
do
 do

 loop until a=b
loop until a=b

125:113
06/08/22 17:50:58
なんだか自分でもわけわからなくなってきたので出直します。

>>123
いや今日から始めたので違います。

126:デフォルトの名無しさん
06/08/22 18:08:58
>>121
確かにそこを正確に説明しないと伝わらない

127:116
06/08/22 18:35:21
>117
是非に、詳しい具体策をお教え下さい!

>120
コードを書き直して、Int→CIntにもしましたが、同じ数が表示されて思うようにはなりませんでした…

3、a,bが同じ数であった場合のみ、再度、自動的に選び直させてLabel2,Label3に表示させる。
というのは、単に、結果としてLabel2とLabel3に表示されている数が異なれば良いんです。助けてください…

128:デフォルトの名無しさん
06/08/22 19:39:21
>>127
>>101では駄目なの?

129:116
06/08/22 19:45:42
>118
忘れてました…
ちゃんと違う値になる事の方が多いですが、デバックモードはコンピュータがあらゆる場合を試そうと判断しているのか、数回繰り返しているだけで2数が一致したりします(一致するのは1/52の確率です)。

130:デフォルトの名無しさん
06/08/22 19:52:29
「はぁ〜 プップクプ〜ッ ♪」
   ∧_∧   ∧_∧  ∧_∧
  (・ ε ・)  (・ ε ・)  (・ ε ・) 
  ⊂    つ ⊂    つ ⊂    つ
   (_)`J   (_)`J   (_)`J
    「やれ プップクプ〜 ♪」
    ∧_∧  .∧_∧   ∧_∧
  ∩ ・ε・ ∩ ∩ ・ε・ ∩ ∩ ・ε・∩
   〉    ノ 〉    ノ 〉    ノ
   し´ (_)  し´ (_)  し´ (_)
「 アキヒロ〜音頭で プップクプーの プ♪」
   ∧_∧   ∧_∧  ∧_∧
  (・ ε ・)  (・ ε ・)  (・ ε ・) 
  ⊂    つ ⊂    つ ⊂    つ
   (_)`J   (_)`J   (_)`J


131:デフォルトの名無しさん
06/08/22 20:33:37
>>116
>>a,bの値が変わってないと仰るのも、どうしてであるのか

aとbは値型でしょ?
参照型ではないから

>>Do
>> Label2.Text = Int((52 * Rnd()) + 1)
>> Label3.Text = Int((52 * Rnd()) + 1)
>>Loop Until a <> b

これでは、Label2.TextとLabel3.Textの値は変わるけどaとbの値に変動はないんだから、永遠ループに入ると思うんだが。

132:116,127
06/08/22 21:11:22
>128
>101でもダメでした…

>131
Do
Label2.Text = Int((52 * Rnd()) + 1)
Label3.Text = Int((52 * Rnd()) + 1)
a=Val(Label2.Text)
b=Val(Label3.Text)
Loop Until a <> b

もしくは
Do
Label2.Text = Int((52 * Rnd()) + 1)
Label3.Text = Int((52 * Rnd()) + 1)
a=Str(Label2.Text)
b=Str(Label3.Text)
Loop Until a <> b
としてみます。
ありがとうございます!

133:デフォルトの名無しさん
06/08/22 21:27:46
それよりも、何でラベルのテキストを変更してからそれを変数に取ろうとするの?
普通変数に受けてそれをコントロールに落とそうとしない?
オレはコントロールはあくまで人間とのインターフェースだと思ってるけどな

134:デフォルトの名無しさん
06/08/22 21:36:29
それよりも彼の場合まずロジックを考えられるようになる方が先決。

135:デフォルトの名無しさん
06/08/22 21:48:05
ちょっとした疑問なんだが、

>>Do
>>Label2.Text = Int((52 * Rnd()) + 1)
>>Label3.Text = Int((52 * Rnd()) + 1)
>>a=Str(Label2.Text)
>>b=Str(Label3.Text)
>>Loop Until a <> b

タイマーで乱数まわす意味あるのか?
シード設定もしてないようだし。

136:デフォルトの名無しさん
06/08/22 22:07:42
そもそも>>120でやっても
>>127
> コードを書き直して、Int→CIntにもしましたが、同じ数が表示されて思うようにはなりませんでした…
と、「同じ数が表示された」ってことなんだから、何か根本的に間違ってる/理解していないと思う。

137:89
06/08/22 22:26:52
>>120
button2押しても止まらないときがあるような・・・

>>135
スロットっぽくしたいんじゃないの?

ちなみに俺が言いたかったのは、Timer1_Tickで
Do
a = CInt((52 * Rnd()) + 1)
b = CInt((52 * Rnd()) + 1)
Loop Until a <> b
Label1.Text = a
Label2.Text = b
まぁ、選びなおしは停止するタイミングでやった方がいいかもね

138:デフォルトの名無しさん
06/08/22 22:54:52
>>137
「同じだったら止まらない」仕様通りでは?

139:デフォルトの名無しさん
06/08/23 00:04:39
なあ、俺の思い違いだったらいいんだが。

スロットって回転してる間は、別に表示してる値の評価なんてしなく
てもいいんでないか? ストップボタンを押した時に、初めて表示さ
れてる値を比べて、当たり外れを付けるもんだろ?

140:デフォルトの名無しさん
06/08/23 00:06:05
誰が比較して当たり外れを付けろと

141:デフォルトの名無しさん
06/08/23 00:17:12
例え確立やタイミング的に大丈夫でもTimer内でLoopは嫌だな。俺は。
それはさておき、
> まぁ、選びなおしは停止するタイミングでやった方がいいかもね
を考えてと、質問者のやり方に近い作りにすると、たったこんだけ。効率とか他の仕様とかコーディングポリシーとかは無視して。
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
hoge()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Me.Timer1.Enabled = True
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Me.Timer1.Enabled = False
Do Until Me.Label1.Text <> Me.Label2.Text
hoge()
Loop
End Sub
Private Sub hoge()
Me.Label1.Text = CInt((52 * Rnd()) - 1)
Me.Label2.Text = CInt((52 * Rnd()) - 1)
End Sub

要は質問の仕方の悪さで長引いただけだと。

142:デフォルトの名無しさん
06/08/23 00:52:40
ここは
 値型と参照型
 値の代入と参照の代入
の区別がつかないヒドイ言語ですね

どうしてこのような言語仕様になっているか
エロイ人教えてください。

143:デフォルトの名無しさん
06/08/23 01:06:29
何処の受け売り?

144:デフォルトの名無しさん
06/08/23 01:22:48
>>142
またC++の悪口か

145:デフォルトの名無しさん
06/08/23 01:36:58
ところでスロットを作りたいのでなければ何を作りたかったのだろうか

146:デフォルトの名無しさん
06/08/23 08:30:41
> スロットを作りたいのでなければ
同じ数値を排除したいって言ってるので最初っからスロットなんて考えられないのに。

147:デフォルトの名無しさん
06/08/23 09:41:41
>>84でスロットという言葉が出ているんで仕方ないんでないか?

148:デフォルトの名無しさん
06/08/23 10:23:10
絶対に当たらないスロットを作って稼ごうとしたのでは

149:デフォルトの名無しさん
06/08/23 10:59:17
Datagridviewをコード内で作成したDataTableにバインドして利用しようとしています。
データを表示するまでは可能なのですが、DataTableにデータを追加してもDatagridviewが更新されないで
表示が固まってしまいます。再描画?か何かが必要なのだと想像するのですが、分かりませんでした。
InvokeとかBackgroundworksなどを使うと良いとはあったのですが、理解できませんでした。
どのように処理すれば良いのでしょうか?よろしくお願いします。

(こんな感じのコード)
Dim ds as Dataset
Dim dt as Datatable
Dim bind1 As BindingSource

Sub form1_load() Handles MyBase.Load
ds.Tables.Add(dt)
dt.Columns.Add("column1", GetType(String))
(以下略)

bind1.DataSource = dt
Datagridview1.DataSource = bind1

End Sub

Sub test()

Dim Row as DataRow
Row = dt.NewRow
Row(0) = "a"
Row(1) = "b"
dt.Rows.Add(Row)

End Sub


150:デフォルトの名無しさん
06/08/23 11:50:22
テキストファイル読み込みは
textfieldparserとstreamreaderどっちを使ったらいいの?

151:デフォルトの名無しさん
06/08/23 12:35:59
読んで字の如く

152:デフォルトの名無しさん
06/08/23 12:55:37
>>150
中身による。

153:デフォルトの名無しさん
06/08/23 16:40:42
>>151-152
textfieldparser
テキストの分野の解析?
streamreader
流れながら読む?

csvとかにはtextfieldparserで
通常はstreamreaderってことですかね


154:デフォルトの名無しさん
06/08/23 17:00:05
>>153

>>2
MSDN
URLリンク(msdn2.microsoft.com)

textfieldparser
>構造化テキスト ファイルの解析に使用するメソッドとプロパティを提供します。

streamreader
>特定のエンコーディングのバイト ストリームを読み込む TextReader を実装します。


とりあえず、読んだ方がよいかと。

155:デフォルトの名無しさん
06/08/23 21:38:07
Do-Loopキモイ。

156:デフォルトの名無しさん
06/08/23 21:42:09
乗り遅れ突っ込みもキモイ

157:デフォルトの名無しさん
06/08/23 23:33:27
うそつきはDoLoopのはじまり

158:デフォルトの名無しさん
06/08/24 08:10:35
>>154
おお、ありがとう。

159:デフォルトの名無しさん
06/08/24 09:19:11
最近はMSDNすら見ないのか・・・・・

160:デフォルトの名無しさん
06/08/24 11:32:50
ここの議論はいつも Do Do めぐり。

161:デフォルトの名無しさん
06/08/24 17:51:13
URLリンク(homepage1.nifty.com)

ここ見ながら勉強してるんだけど、
graphicsで描写したものを消すにはどうしたらいいの?

一度最小化するとかってのは無しで・・・。

162:デフォルトの名無しさん
06/08/24 17:56:05
無限ループしたらパソコン壊れますか?

163:デフォルトの名無しさん
06/08/24 18:41:08
デルノートなら爆発もありうるな

164:デフォルトの名無しさん
06/08/24 19:05:46
>>161
Invalidate

165:デフォルトの名無しさん
06/08/24 21:06:59
VB2005の解説サイトで良いところありませんか?

Cなんかは簡単に見つかりましたが、
VBではテンプレみてもどれがいいのか、
何を書いているのかほとんどわかりません。
>>161みたいなものがいいのですが、
あまり体系立った説明がされていない
(後回し後回しで要点がつかみ難い)
のでわかりにくいです。

具体例を用いてあると尚良いのですがどこかありませんか。

166:デフォルトの名無しさん
06/08/24 21:23:36
>>165
>>3-5

167:デフォルトの名無しさん
06/08/24 21:49:23
テンプレみてもどれがいいのか
何が書いてあるのかほとんどわかりません…
ある程度基本が身に付いた人であれば
知りたい情報はどこにあるか見当もつけられると思うのですが
現時点では>>3-5のサイト一通り巡回してもわけがわかりませんでした。
あと、関係ないのも多数混じっていませんか?


168:デフォルトの名無しさん
06/08/24 21:55:17
>>164
さんくす。でも具体的な使い方はどうやればいいの?
MSDNで検索したけどワカラン

たとえば
ボタン1をクリックしたらピクチャーボックス1に黒い円が浮かび上がって
ボタン2をクリックしたらその円が消えるようなプログラムは
どうする?

169:デフォルトの名無しさん
06/08/24 22:11:53
>>168
背景色で塗りつぶしたらよかんべえ




170:デフォルトの名無しさん
06/08/24 22:13:46
>>167
「あまり体系立った説明がされていない」なんてえらそうなこと言う
前に、まずどこでもいいからひとつでも全部通して読むべきだよ。い
まの「どこがわからないのかわからない」状態から脱したいならね。

171:デフォルトの名無しさん
06/08/24 22:16:16
だるまの目を塗りつぶしたいんだけど、
背景色で塗りつぶすとだるまも消えちゃう・・・。
だるまも再表示するようにしても、うまくいかないのよー

172:161・168・171
06/08/24 22:19:12
↑は>>169宛です

173:デフォルトの名無しさん
06/08/24 22:20:00
>>167
体系立った説明が欲しいなら、仕様書。これ。
URLリンク(msdn.microsoft.com)

>>171
逆に考えるんだ
描画したものを消すと考えるんじゃない
描画したものの上から黒眼/白眼を書けばいいと考えるんだ

174:デフォルトの名無しさん
06/08/24 22:36:10
>>173
ありがと。考え方は理解できた。
でもだるまの目の部分よりも、塗りつぶす黒目が大きい場合はどうしたらいいの?

175:デフォルトの名無しさん
06/08/25 01:17:25
buttonの名前をいじってて
cancelbuttonにしたらエラーが多発してデザイン画面が出てこなくなった・・・。
いったん他の名前に変えて難を逃れたんだけど、
もともとのデザイン画面がでてこない・・・。
表示タブのデザインっていうの選んだらデザインタブでてくるよね?
再起動してもでてくるよね?

・・・出てこない。
・・・オワタ?

176:デフォルトの名無しさん
06/08/25 02:01:48
自分でデザイン部分のソース修正。

177:デフォルトの名無しさん
06/08/25 02:11:22
>>175
CancelButtonとかAcceptButtonは地雷。つかプロパティ名とかぶるのでそういうことになるよ。
フォーム名.Designer.vbをごりごり修正。

178:デフォルトの名無しさん
06/08/25 08:38:42
FlexGridで処理後に次の行特定の列を選択した状態にしたいのですが、
選択するとそこがboolreanで勝手にチェックがはいってしまいます。

FlexGrid.cols(4).type=boolrean
FlexGrid.select(3,4)

初歩的だと思いますが何か設定があるのでしょうか?

179:デフォルトの名無しさん
06/08/25 09:18:23
boolrean

180:デフォルトの名無しさん
06/08/25 12:10:23
DataGridViewの中にコンボボックスをいれたいんだけどどうすんの?

181:デフォルトの名無しさん
06/08/25 12:33:00
いれればいいじゃん

182:デフォルトの名無しさん
06/08/25 14:45:26
それがわからんのです(´;ω;`)ブワッ

183:デフォルトの名無しさん
06/08/25 14:54:09
DataGridViewの、コンボボックスにしたい列をコンボボックスにしてあげればいいと思うよ。

184:デフォルトの名無しさん
06/08/25 15:03:14
そのままやんけ!って思ったけどそのままやったんですね。
できました。どうもありがとうございます。<(_ _)>

185:178
06/08/25 18:36:20
自分で解決できました。
ただ単にarrolweding=falseにするだけでした。

186:デフォルトの名無しさん
06/08/25 20:29:54
arrolweding

187:チョ初心者
06/08/25 21:02:24
クラスにテキストボックスそのものを渡して
キーコードに応じて処理をしてテキストボックスの中身を変えて戻す
そうゆうのって問題なしですか?


188:デフォルトの名無しさん
06/08/25 21:35:09
それにキモさを覚えなければ問題ないが、
それにキモさを覚えないのには問題があるな


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

5178日前に更新/247 KB
担当:undef