テンプレ 完
>6 乙
次スレから翔泳社のCodeZineもテンプレにいれてやろうよ
http://codezine.jp/ で、質問。
2003のWindows FormでLocalizable = Trueにして多言語アプリ作ってるとき、
Languageで間違った言語を選択しちゃうとその言語用のリソースがbinフォルダなんかに
生成されると思うんだけど、これが削除してもしつこく復活してきやがります。
なにかこの不要なリソースが生成されなくなるようにする方法ってないかな?
vbproj ファイルのそのカルチャ文字列調べて要素を消してみたらどうだ
10 :
8 :2006/08/11(金) 23:28:34
>>9 うーん、やっぱりそういう泥臭い方法になっちゃうんですかね。
しかるべき方法が用意されてて当然のような気もするんですが。
11 :
デフォルトの名無しさん :2006/08/12(土) 23:29:44
質問です。 form間でのDataSetの値渡しがしたいです。 ただ、他画面起動時に渡すのではなく、テキストボックスに書き込まれた後で、 つまりChangeイベントで渡したいのですが、いい方法ないでしょうか?
12 :
デフォルトの名無しさん :2006/08/12(土) 23:37:08
はぁ? むしろ何がわかんねえのかわかんね。 だからChangedイベントで渡せよw
11はFORM間でデータをやり取りする方法がわからないのか?
悪いことは言わんからDatasetみたいなデカイもんは参照にしとけって。
むしろどうやって参照以外にするというのか リモーティング?
vb.net 2005 です。 textbox の validated で、button の click イベントを実行したくて、 button. PerformClick() と書いたのですが、click が発生しません。 textbox の leave イベントで button. PerformClick() を呼んだ時は button の click が発生しました。 validated で button. PerformClick() は実行できないのでしょうか? なにか方法があればアドバイスよろしくお願いします。
17 :
デフォルトの名無しさん :2006/08/13(日) 13:35:16
.net 2.0 SDKをインストールしてから時々Explorerなどを起動中にJUST-TIME-INデバッガのエラーが起動してExplorerが落とされる事があるのですが このJUST-TIME-INデバッガをSDKインストール前のように起動しなくなるようにするにはどうすればいいのでしょうか? SDKをアンインストールしてもエラーは出てしまいます・・。 ちなみに他のアプリも落とされる事があります^^;
vbと関係ないし。 エラーがでる元から断たなきゃ
>>18 エラーを出ないようにする ×
JITを削除する ○
JITがあるといろんなアプリでデバッガ起動しようとして落とされるのは良くあること
20 :
デフォルトの名無しさん :2006/08/13(日) 22:34:14
form間の値渡しって、 (B画面にて) public A as formA = new fromA A.label.text = "111" って、newする方法以外、何かありますか? あまり、newしたくありません。
いやだから、そういうレベルの人はこんなところで質問してる場合じゃないよ。 まずは大人しく本でも読めよ。
22 :
デフォルトの名無しさん :2006/08/13(日) 22:57:21
>>21 教えてやれよ。
すまんな。俺、コボル専門だから、わかんねーや。
>>20 newする方法以外って言われても、それ値渡ってないし。
あなたが渡したいのは『すでにある』FormAのインスタンスに、でしょ?
そのコードは新しく作った『別の』FormAのインスタンスに渡してるんでしょうが。
まあフォートラン専門のおれに言えるのはここまでだ
FormをPublicにしちまえよ
大域変数を使えばいいじゃない。
そもそもForm間で渡す設計が悪い それぞれのFormからメソッドを呼び出すようにそろ
28 :
デフォルトの名無しさん :2006/08/13(日) 23:34:36
そうやって基礎もろくに覚えてないうちから対処療養的なことを教えるから 理屈もわからずサンプルコードをコピペしまくる「VB厨」が生まれるんだけどね。 親切なことしたつもりなのは「教えたがり」の本人だけで、実際には相手に 毒を盛ってるのと同じだと俺は思うがね。
どこからどこまでが基礎なんだろうなぁ
悪魔のささやきとしては、Formはすべて暗黙のインスタンスを使う(笑
×暗黙のインスタンス ○暗黒のインスタンス
理屈もわからずサンプルコードをコピペしまくって いまだに基礎がわかっていないVB厨の俺が来ましたよ。←帰れ
SCSIといっしょで、理屈に合ってなくても動いていればそれで良し。
あまりnewしたくないって 新鮮な発想だ。
たしかにあまりnewしたくないなぁ
うちなんてコンストラクタ使用禁止だ
コンストラクタ使用禁止って・・・ 虐待やな。
38 :
デフォルトの名無しさん :2006/08/16(水) 02:30:00
構造体の内容をそのままファイルに書き込むにはどうすればいいですか?
BinaryFormatter使ってみるのはどうだ?
人間に読めるほうがいい→XMLにシリアライズ 人間に読めなくてもいい→BinaryFormatterでシリアライズ
リストビューについてですが選択行が変わったイベント SelectedIndexChangedはありますが 選択行が変わるよイベントが見つからないのですが そのようなイベントは無いのでしょうか?
42 :
デフォルトの名無しさん :2006/08/16(水) 10:38:28
あまりニューしたくないって理屈は何だ?
それよりもファイルが1000個あるフォルダでCtrl+AするとSelectedIndexChangedイベントが 1000回起きるのがイヤだ そりゃSelectedIndexChangingだろ…
VB.NETです Formを開いた後に実行されるイベントはあるでしょうか? ゲームを作っているのですがLoadが終わったあとにビジーループさせたいのです (Loadイベントでビジーループさせるとフォームが開かない)
Shown
46 :
44 :2006/08/16(水) 21:30:26
shownは.NET Framework 2.0からだからね。
>>Loadが終わったあとにビジーループ っつーのを、もうちょっと詳しく。
49 :
デフォルトの名無しさん :2006/08/16(水) 21:57:11
質問です。助けてください。 自分で作成したDatasetとスプレッドシートをバインドさせたいのですが 出来ません。 データグリッドみたいにバインド出来ると、思ってたのですが、無理でした。 スプレッドシートは初めて使うので、全くわかりません。 教えていただけるのが、一番嬉しいのですが、 駄目なら、この本を読めとか、このサイトを見ろとか、ヒントを下さい。
スプレッドシートって何だよ? サードパーティー製ならそこに聞け
51 :
デフォルトの名無しさん :2006/08/16(水) 22:01:43
>>50 さんへ
VB.NETのコンポーネントタブに入ってる、コントロールです。
エクセルみたいな感じのヤツです。
だから標準でそんなコントロール付いてないってば
ていうか何故正式名称を出さないんだ?
>>51 マウスポインタをコンポーネントタブの該当コントロールに当てて、
ちょっと待ったら出てくるツールチップに書いてある名称を一言一句
間違いなく書き出すんだ。
55 :
デフォルトの名無しさん :2006/08/17(木) 00:03:39
本当だ。 付いてない。 家で試したら無かったです。 でも、職場でダウンロードもインストもした記憶がないのですが・・・ サードパーティー製スレに行ってきます。
そんなスレあるの? メーカーに聞けという意味で言ったんだけどw
57 :
デフォルトの名無しさん :2006/08/17(木) 12:11:14
datagridに書き込んだデータをExcelのシートに流し込んでExcelの機能を使って印刷 するソフトを作ったのですが、Datagridの中に特定の文字列が書き込まれているとき、 Excelに流し込む文字列を変更することは出来ないでしょうか? ちょっと分かりにくいのですが、 Datagridにkm3と書き込まれたとき、3をExcelの文字飾り上付きにしたいのです。 (要するにkm3では無く立方キロメートルの単位にしたい) どうやったらいいのかが全く分かりません。 実現可能であれば方法を御教授願います。
>57 ExcelのVBAでやれば済むのでは?
59 :
デフォルトの名無しさん :2006/08/17(木) 15:05:31
>>58 MySQLと連動させているのでVBAでやるのは難しいと思うのです。
作ったアプリでMySQLにデータを入力しつつExcelで作ってある
フォーマットに出力という形です。
60 :
デフォルトの名無しさん :2006/08/17(木) 15:20:17
>>59 なんで?
VBAからODBC経由でもつながるし。頑張れば.net側からExcelVBAの関数呼べるだろうし。
Excelオブジェクト作れば大体の制御は出来るよね
62 :
デフォルトの名無しさん :2006/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 :
デフォルトの名無しさん :2006/08/17(木) 16:11:51
書き込むだけじゃなく、VBAの呼び出しも出来ると思うが。 それに、Excel操作の基本は、マクロで記録して、それをぱくるですよ。
VB.NET 2005 ExpressEditionをセットアップ実行中に、 .NET 2.0 日本語Language Pack のインスコ途中で、 文字化けのメッセージで error 1324とかでるのですが、 こいつの原因および対処方法はどうしたらよいでしょうか? あと.NET FrameWork 1.1関係も再セットアップやアンインスコしようとすると 同じエラーが出ます。ボスケテ。
HDDをハンマーで叩き割る。
66 :
デフォルトの名無しさん :2006/08/17(木) 18:43:12
>>63 つまりExcelでVBAを吐かせてそれをプログラムに組み込むって事ですか?
(なかなか上手く行かない〜)
67 :
デフォルトの名無しさん :2006/08/17(木) 18:45:05
.NETフレームワーク1.0で動作しているアプリケーションは2.0でも正常に動作するのでしょうか?
するかもしれないし、しないかもしれない。 でも、だいたいはする。
69 :
64 :2006/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です。
大きなチラシが必要だな
>>66 よくわかんないけど、今あるExcelファイルにデータはき出すのでないの?
なら、普通にthisworkbook.load(だっけか?)でいいのでは??
新規作成なら、また別のお話で。(でもどのみちVBAかと)
72 :
66 :2006/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に送りたいのです。
>>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 :2006/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も小さくなりますか?
ウボァ('A`)
>>74 サンプルをアレンジすることなくそのまま使う気か?
自分でデバッグする気もないのか?
77 :
73 :2006/08/18(金) 11:55:39
>>74 セルの文字列の右から2文字を上付きにするというコードです。
DataGridからExcelにどうやって編集してるか分からないので
あなたの質問には答えられません。
78 :
74 :2006/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文字を指定している
部分が見当たらない(上手く探せないだけだと思いますが)ので考えたのです。
単位が出るのは確実に右端なのでこのままで良いと思いますが、折角なので
色々試してみようかなと思います。
>>78 > でいいのかなと考えてるところです。
なら
>>74 みたいなことまで聞くなよ('A`)
80 :
78 :2006/08/18(金) 12:23:40
>>79 脊椎反射で書き込んだ。
今は反省している。
てかその顔いいな。
私は好きです。>('A`)
>右から2文字を上付きにするコードとありますがその2文字を指定している >部分が見当たらない ウボァ('A`)
システム屋には向かん性質だな。 転職考えなよ。
83 :
デフォルトの名無しさん :2006/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 :
デフォルトの名無しさん :2006/08/18(金) 18:51:28
Label1とLabel2に タイマーを使った乱数のスロットの値aとbを表示するプログラムを作ったのですが Label1とLabel2に表示された値が同じ(a=b)だった時に、また自動的に選び直すようにしたいのに Do until(a<>b)文にInt関数を挟んでも、 それらをIf(a=b)文で挟んでも、選び直してくれません。 タイマーのスタートとストップをInt関数のかわりに二段並べて記述しても、当然の事ながらうまくいきませんでした。 どうすれば良いのかどうかお知恵をお貸し下さい。
85 :
デフォルトの名無しさん :2006/08/18(金) 19:11:40
>>84 そういうエスパー向きの質問はムーにでも投稿しろよ。
誰がそんな文章読んで理解できるんだよアホか
87 :
デフォルトの名無しさん :2006/08/18(金) 21:44:05
想像されるコード If(a=b)Then Do Until (a<>b) Int() Timer1.Start Timer1.Stop Loop EndIf
88 :
84 :2006/08/19(土) 05:34:58
>85>86 ドコで聞けば良いでしょうか? >87 そうなんです! Label1=Int(ランダム) Label2=Int(ランダム) もしくは Timer1=true Timer2=true Timer1=false Timer2=false のどちらかをDo until文の中に記述したんです。 どなたか、助けて下さい!!
>>88 ヒント : Do 〜 Loop Until(While)
90 :
88 :2006/08/19(土) 09:31:23
>89 ありがとうございます! 来週始めに学校に行った時に試してみます。
VB.net Express Edition で発行した際のインストール先について教えてください。 インストール環境 XP .NetFramework2.0 1)発行で作成したsetup.exeでXPのマシンにインストールする場合 インストール先はユーザーから選択することはできないのでしょうか? (インストールしたユーザーのMyDocuments以下のLocal Settings\Apps\2.0\に作成されます) インストール時にユーザーがフォルダを選択できるのがベストです。 2)XPでAdministrator権限のユーザーがインストールした場合でも そのユーザーしか使用できません。他に何か設定する必要がありますか? VB.netでの開発が初で面食らっております。なにとぞよろしくです。
>>91 ClickOnceとはそういうもの。
普通のセットアップが作りたければStandard以上が必要。
>>92 なるほど、そうでしたか。
早速の回答どうもありがとうございました。
94 :
デフォルトの名無しさん :2006/08/21(月) 13:06:44
VB.NET2005で質問です DayOfWeekで曜日の番号を取得した後 それを日本語名の曜日名に変換するにはどうすればいいでしょうか? だyOfWeekの結果=0 の場合 ”日” または ”日曜日” を取得したいのです。 日付から曜日は検索しても出てくるのですが しつもんのは内容の見受けられませんでした。 ご存知の方よろしくお願いいたします。
95 :
デフォルトの名無しさん :2006/08/21(月) 13:10:23
自作汁
>>94 enum DayOfWeekJP
{
日曜日,
月曜日,
火曜日,
水曜日,
木曜日,
金曜日,
土曜日
}
>>94 For d As DayOfWeek = DayOfWeek.Sunday To DayOfWeek.Saturday
Console.WriteLine(System.Globalization.DateTimeFormatInfo.CurrentInfo.GetDayName(d))
Next
98 :
97 :2006/08/21(月) 13:48:11
短い方が欲しければGetAbbreviatedDayName(d)
99 :
84 :2006/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
>>99 すまんが、何がやりたいのかもっとまとめてくれないか?
1、Button1でタイマースタート。乱数表示開始。
2、Button2でタイマーストップ。表示されている乱数をa,bに代入。
3、‥‥
みたいな感じで、箇条書き&時系列に沿って書き出してみてくれ。
>>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 :
デフォルトの名無しさん :2006/08/21(月) 14:43:29
>>96 トンクス!
まさにこれが欲しかった
開始番号の都合で1ほど数値をずらさないといけないけど問題ないようです。
DateTimeとは違ってこっちにあるのか・・・・・
ありがとうございました!
103 :
97 :2006/08/21(月) 14:48:20
ワロタw
105 :
デフォルトの名無しさん :2006/08/21(月) 15:44:56
>>103 質問が悪かったと思うとです。
System.Globalization.DateTimeFormatInfo.CurrentInfo.GetDayName()
↑これなら基本的にある日付からDayOfWeekで取れる番号(または、範囲内の番号)で処理できるじゃないですか?
本来 日付型.String("ddd")とかでも取れるんですが、条件的に日付だけではなく曜日番号からも取得したかったんです。
で曜日の取得名もフォーマットを変更すれば可能だし、これがいいかな?っと思ったわけです(;´Д`)
+フレームワークの機能だけで出来るだけ行いたかったということもあります。
か・・・肩透かしでごめんなさいorz
106 :
97 :2006/08/21(月) 16:02:21
いや、enum(
>>96 )使うのかよ、というツッコミだったんだがw
107 :
デフォルトの名無しさん :2006/08/21(月) 16:10:55
うぉ!! そういうことか〜!!!!orz 書き間違えてたとは・・・・ おれ自身も苦笑ozr
108 :
99 :2006/08/21(月) 16:43:18
>100 お騒がせしました。 >101 どちらか片方で良いとは思って片方だけを記述したりしても何もならなかったのですが、その記述の仕方はなるほどです…今度試してみます。ありがとうございました!
>>108 結局何がやりたかったのか誰もわからないままでいいのか
>>99 >>Loop Until a <> b
参照型じゃないんだから、これじゃまずいのでは?
aとbの値は変わってないし。↓
>>Do
>> Label2.Text = Int((52 * Rnd()) + 1)
>> Label3.Text = Int((52 * Rnd()) + 1)
>>Loop Until a <> b
てか、このスレでやることか?
112 :
89 :2006/08/21(月) 20:07:04
>>99 すまん、そういうことか
てっきりTimer1_Tickの中で選びなおすのかと思ってた
VB2005です 同じ種類の繰り返し文ネストから脱出するときはどうすればいいんでしょうか? do do if a=b exit do loop loop これで一番外まで出られますか?
なあ、この板にはVB初心者スレとかVB質問スレとか無いのか?
116 :
108 :2006/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の値が変わってないと仰るのも、どうしてであるのかよくわからないので、是非ともご教授下さい。 そして、スレ違いのようですので、然るべきスレへのご誘導も宜しくお願いします…
>>116 Rnd()のシードが変わらないからずっと同じ値が帰って来てるんじゃないの?
118 :
デフォルトの名無しさん :2006/08/22(火) 16:22:34
>>116 ここでいい。
ここがお前様を立派な(?)プログラマにしてくれる(はず)。
・・・ところで試さずに聞くけど乱数ってちゃんと違うものになるか?
シード値とか無いと同じタイミングで作られた乱数って同じになるような無いような・・・。
まぁお前様よりドヘタレな俺の与太だから忘れてくれ。
> Timer1.Enabled = True > If Timer1.Enabled = True Then んと
>>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
> 3、a,bが同じ数であった場合のみ、再度、自動的に選び直させてLabel2,Label3に表示させる。 は、そういう意味なの?
122 :
113 :2006/08/22(火) 17:14:49
質問が意味不明ですか? それともアホすぎる質問なのかな・・・
>>122 素直に こうしとけば?
do
do
loop until a=b
loop until a=b
125 :
113 :2006/08/22(火) 17:50:58
なんだか自分でもわけわからなくなってきたので出直します。
>>123 いや今日から始めたので違います。
>>121 確かにそこを正確に説明しないと伝わらない
127 :
116 :2006/08/22(火) 18:35:21
>117 是非に、詳しい具体策をお教え下さい! >120 コードを書き直して、Int→CIntにもしましたが、同じ数が表示されて思うようにはなりませんでした… 3、a,bが同じ数であった場合のみ、再度、自動的に選び直させてLabel2,Label3に表示させる。 というのは、単に、結果としてLabel2とLabel3に表示されている数が異なれば良いんです。助けてください…
129 :
116 :2006/08/22(火) 19:45:42
>118 忘れてました… ちゃんと違う値になる事の方が多いですが、デバックモードはコンピュータがあらゆる場合を試そうと判断しているのか、数回繰り返しているだけで2数が一致したりします(一致するのは1/52の確率です)。
130 :
デフォルトの名無しさん :2006/08/22(火) 19:52:29
「はぁ〜 プップクプ〜ッ ♪」 ∧_∧ ∧_∧ ∧_∧ (・ ε ・) (・ ε ・) (・ ε ・) ⊂ つ ⊂ つ ⊂ つ (_)`J (_)`J (_)`J 「やれ プップクプ〜 ♪」 ∧_∧ .∧_∧ ∧_∧ ∩ ・ε・ ∩ ∩ ・ε・ ∩ ∩ ・ε・∩ 〉 ノ 〉 ノ 〉 ノ し´ (_) し´ (_) し´ (_) 「 アキヒロ〜音頭で プップクプーの プ♪」 ∧_∧ ∧_∧ ∧_∧ (・ ε ・) (・ ε ・) (・ ε ・) ⊂ つ ⊂ つ ⊂ つ (_)`J (_)`J (_)`J
>>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 :2006/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 としてみます。 ありがとうございます!
それよりも、何でラベルのテキストを変更してからそれを変数に取ろうとするの? 普通変数に受けてそれをコントロールに落とそうとしない? オレはコントロールはあくまで人間とのインターフェースだと思ってるけどな
それよりも彼の場合まずロジックを考えられるようになる方が先決。
ちょっとした疑問なんだが、 >>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 タイマーで乱数まわす意味あるのか? シード設定もしてないようだし。
そもそも
>>120 でやっても
>>127 > コードを書き直して、Int→CIntにもしましたが、同じ数が表示されて思うようにはなりませんでした…
と、「同じ数が表示された」ってことなんだから、何か根本的に間違ってる/理解していないと思う。
137 :
89 :2006/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
まぁ、選びなおしは停止するタイミングでやった方がいいかもね
>>137 「同じだったら止まらない」仕様通りでは?
なあ、俺の思い違いだったらいいんだが。 スロットって回転してる間は、別に表示してる値の評価なんてしなく てもいいんでないか? ストップボタンを押した時に、初めて表示さ れてる値を比べて、当たり外れを付けるもんだろ?
誰が比較して当たり外れを付けろと
例え確立やタイミング的に大丈夫でも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 要は質問の仕方の悪さで長引いただけだと。
ここは 値型と参照型 値の代入と参照の代入 の区別がつかないヒドイ言語ですね どうしてこのような言語仕様になっているか エロイ人教えてください。
何処の受け売り?
ところでスロットを作りたいのでなければ何を作りたかったのだろうか
> スロットを作りたいのでなければ 同じ数値を排除したいって言ってるので最初っからスロットなんて考えられないのに。
>>84 でスロットという言葉が出ているんで仕方ないんでないか?
絶対に当たらないスロットを作って稼ごうとしたのでは
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 :
デフォルトの名無しさん :2006/08/23(水) 11:50:22
テキストファイル読み込みは textfieldparserとstreamreaderどっちを使ったらいいの?
読んで字の如く
>>151-152 textfieldparser
テキストの分野の解析?
streamreader
流れながら読む?
csvとかにはtextfieldparserで
通常はstreamreaderってことですかね
Do-Loopキモイ。
乗り遅れ突っ込みもキモイ
うそつきはDoLoopのはじまり
最近はMSDNすら見ないのか・・・・・
ここの議論はいつも Do Do めぐり。
161 :
デフォルトの名無しさん :2006/08/24(木) 17:51:13
無限ループしたらパソコン壊れますか?
デルノートなら爆発もありうるな
VB2005の解説サイトで良いところありませんか?
Cなんかは簡単に見つかりましたが、
VBではテンプレみてもどれがいいのか、
何を書いているのかほとんどわかりません。
>>161 みたいなものがいいのですが、
あまり体系立った説明がされていない
(後回し後回しで要点がつかみ難い)
のでわかりにくいです。
具体例を用いてあると尚良いのですがどこかありませんか。
テンプレみてもどれがいいのか
何が書いてあるのかほとんどわかりません…
ある程度基本が身に付いた人であれば
知りたい情報はどこにあるか見当もつけられると思うのですが
現時点では
>>3-5 のサイト一通り巡回してもわけがわかりませんでした。
あと、関係ないのも多数混じっていませんか?
>>164 さんくす。でも具体的な使い方はどうやればいいの?
MSDNで検索したけどワカラン
たとえば
ボタン1をクリックしたらピクチャーボックス1に黒い円が浮かび上がって
ボタン2をクリックしたらその円が消えるようなプログラムは
どうする?
>>167 「あまり体系立った説明がされていない」なんてえらそうなこと言う
前に、まずどこでもいいからひとつでも全部通して読むべきだよ。い
まの「どこがわからないのかわからない」状態から脱したいならね。
だるまの目を塗りつぶしたいんだけど、 背景色で塗りつぶすとだるまも消えちゃう・・・。 だるまも再表示するようにしても、うまくいかないのよー
>>173 ありがと。考え方は理解できた。
でもだるまの目の部分よりも、塗りつぶす黒目が大きい場合はどうしたらいいの?
buttonの名前をいじってて cancelbuttonにしたらエラーが多発してデザイン画面が出てこなくなった・・・。 いったん他の名前に変えて難を逃れたんだけど、 もともとのデザイン画面がでてこない・・・。 表示タブのデザインっていうの選んだらデザインタブでてくるよね? 再起動してもでてくるよね? ・・・出てこない。 ・・・オワタ?
自分でデザイン部分のソース修正。
>>175 CancelButtonとかAcceptButtonは地雷。つかプロパティ名とかぶるのでそういうことになるよ。
フォーム名.Designer.vbをごりごり修正。
FlexGridで処理後に次の行特定の列を選択した状態にしたいのですが、 選択するとそこがboolreanで勝手にチェックがはいってしまいます。 FlexGrid.cols(4).type=boolrean FlexGrid.select(3,4) 初歩的だと思いますが何か設定があるのでしょうか?
boolrean
DataGridViewの中にコンボボックスをいれたいんだけどどうすんの?
いれればいいじゃん
それがわからんのです(´;ω;`)ブワッ
DataGridViewの、コンボボックスにしたい列をコンボボックスにしてあげればいいと思うよ。
そのままやんけ!って思ったけどそのままやったんですね。 できました。どうもありがとうございます。<(_ _)>
185 :
178 :2006/08/25(金) 18:36:20
自分で解決できました。 ただ単にarrolweding=falseにするだけでした。
arrolweding
クラスにテキストボックスそのものを渡して キーコードに応じて処理をしてテキストボックスの中身を変えて戻す そうゆうのって問題なしですか?
それにキモさを覚えなければ問題ないが、 それにキモさを覚えないのには問題があるな
>>187 そうしたい理由や手順をフローにして書いてみそ。
もっと洗練されたやり方があるかもしれない。
190 :
デフォルトの名無しさん :2006/08/25(金) 22:46:28
助けてください。いろいろ調べたのですが、うまく出来ません。 参照の循環する依存関係で苦しんでます。 同じソリューションの別プロジェクトの画面遷移をしたいです。 スタートアップのA画面からB画面へ、そしてB画面からA画面へ 戻る遷移になります。つまり、相互遷移です。 B画面が開いたら、A画面は閉じるのが条件です。 で、双方のプロジェクトに参照設定を試みました。 下記の図です。 ソーリューション | |-プロジェクトA 参照設定(FormB.dll) FormA |-プロジェクトB 参照設定(FormA.dll) FormB 当然ながら、循環参照でエラーとなります。 基礎的な事でしょうが、 まだ、開発経験が浅く、どう調べていいかがわかりません。 ヒントなりもといただきたいと考えております。 よろしくお願いします。
流れを管理するプロジェクト C を作って、C が AB を参照。 AB は他は気にせず自分の事だけやればよい。
192 :
190です。 :2006/08/25(金) 22:54:28
書き残しました。 共通部分をクラスライブラリとして括り出して、それを参照する とういう方法論までは、わかったのですが、 そこから先がわかりません。 下の図のように、新プロジェクトを作成し、 そこで、イスタンス化を計ったのですが、 やはり、循環参照でエラーになります。 ソーリューション | |-新プロジェクト 参照設定(FormA.dll,FormB.dll) classA | |-プロジェクトA 参照設定(classA.dll) FormA |-プロジェクトB 参照設定(classA.dll) FormB
193 :
デフォルトの名無しさん :2006/08/26(土) 01:00:09
っていうか、プロジェクトとか、クラスライブラリを参照するってことの意味を 何か勘違いしているような。。 いやそれ以前にクラスって概念からしてわかってないんじゃねえの? フォームなんてハリボテに過ぎないもの、推移とかいったって所詮 表示したり消したりするだけのことなのに、いちいち画面ごとにプロジェクト分ける気か?
194 :
187 :2006/08/26(土) 03:12:35
>>189 遅くなりましたが…
理由は入力チェックをクラスで纏めたい為です。
・エスケープなら指定オブジェクトへフォーカスを移す。
・リターンなら種類によってコードチェック
次のオブジェクトにフォーカスを移す。
・入力ミスならエラー表示をする。
と、そんな感じにしたいのですが
フォーカス指定と入力テキストボックスで3つもオブジェクトを渡すのってマズいのかな…と
先生方、もっとカコイイやり方があれば是非ご教授下さい
始めたばかりで、クラスとかもよく分かってないですが…(つД`)
>>194 単にチェック&エラー表示したいだけならErrorProviderがお手軽だけど。
過去に既出であったり、王道があれば教えてください。 WMPのように、多重起動せず受け取ったコマンドラインを すでに起動している同じソフトに送信するのに ・APIのSendMessage GetMessege ・APIのSetProp GetProp ・127.0.0.1でSOCKET ・変数のポインタをどっかのファイルに書き込むorレジストリでそこを読んで 改変 ・特定のファイルorレジストリでそこを監視 ・.net新規のものでもっといいのあるよ〜 受け渡しは前述の通り、文字列だけです。 使用バージョンは VB.net 2005です。 これらの中で”一般的にはこれ”等あればご教授お願いします。
>>196 プロジェクト−プロパティ−アプリケーション「単一インスタンスのアプリケーションを作成する」。VB専用。
名前つきMutex(System.Threading.Mutex)を使う。C#でも可能、データの受け渡しは不可。
>>196 あとは、.NETリモート処理を使う方法もあるが、実例はあまり見たことがない。
.NET 2.0で追加されたIpcChannelが9x系ではエラーになるなど問題が多い。
Formにスナップ機能?winampのように他のウィンドウや画面の端にくっついたりするにはどうすればいいですか? 教えてください。お願いします。
200 :
190です。 :2006/08/26(土) 11:55:03
>>193 すいません、正直、あまり、わかっていません。
動きは全て、仕様です。
Formの開閉時に、DBに接続して、Select,Update,Insertを
行う仕様になってます。
>>197-198 どうもありがとうございます。
単一インスタンスにすると2重起動時、
Loadなりなんなりで
後から起動したほうを終了して、
普通に宣言してある変数の内容を書き換えるだけで
すでに起動していた側からその変数を見たら変更されてて
この目的なら万事おk ってことですよね?
とりあえず試してくるw
そんなことしなくても後から起動されたほうは勝手に終了する。 先に起動してた方のMy.Application.StartupNextInstance イベントのパラメータに 後から起動したコマンドラインが渡されるので後はお好きなように。 つーかMSDN嫁。
>>202 そんな楽にできるのかw
MSDNじっくり読んできます〜
マジありがとう。
205 :
149 :2006/08/26(土) 12:33:16
その後色々と調べたところ、同じ症状の対策がでてました。
DataGridViewのスクロールバーがおかしくなる
ttp://dobon.net/vb/bbs/log3-26/15520.html delegate void DataTableAddRowCallback(DataTable dt, DataRow dr);
private void DataTableAddRow(DataTable dt, DataRow dr)
{
if (dataGridView.InvokeRequired)
{
DataTableAddRowCallback d = new DataTableAddRowCallback(DataTableAddRow);
Invoke(d, new object[] { dt, dr});
}
else
{
dt.Rows.Add(dr);
}
}
//別スレッドから
DataTableAddRow(dataSet.Tables["TableName"], dataRow);
で、解決するらしいのですがC#はさっぱりで、VBに書き換えも撃沈しました。
どなたか、教えていただけないでしょうか。よろしくお願いします。
>>195 遅くなりましたが、有り難う御座いました
こんな見易い便利なの物があるんですねーー
初めてみました(´Д`)
複数コード入力した後の最終チェックなんかに使ってみたいです
とはいえ、やはりコード入力がものすんごいあるので
フォームでのコード入力のところをごっそり省きたい……
やはり、オブジェクト渡してやっちまいまつ(゚∀。)
>>205 >>149 のコードを見る限りDataRowへのデータの追加を
別スレッドでやってるようには見えないんだが、そこんとこはどうなの?
同一スレッドでやってるんならリンク先の対策は役に立たないと思うが。
208 :
149 :2006/08/26(土) 13:06:25
>>207 すいません、そうでした。現在のソースはこのような感じです。仮想モードは使っていません。
Dim ds as Dataset
Dim dt as Datatable
Dim bind1 As BindingSource
Friend WithEvents Bg_main As System.ComponentModel.BackgroundWorker
Sub form1_load() Handles MyBase.Load
ds.Tables.Add(dt)
dt.Columns.Add("column1", GetType(String))
(以下略)
bind1.DataSource = dt
Datagridview1.DataSource = bind1
Bg_main.RunWorkerAsync() '別スレッドへ
End Sub
Sub Bg_main_DoWork() Handles Bg_main.DoWork
Row = dt.NewRow
Row(0) = "a"
Row(1) = "b"
dt.Rows.Add(Row)
End Sub
Bg_main.RunWorkerCompleted で追加を検出してMe.Refreshでも固まってしまいます。DataGridViewで何かイベントがいるのかな。
>>208 順序がおかしいな。
別スレッドで DataSet/DataTable にデータを突っ込む>元スレッドで DataSource に設定
だ。
> DoWork イベント ハンドラでユーザー インターフェイス オブジェクトを操作しないように注意する必要があります
と MSDN にあるが、 DataSource に設定済みの DataSet/DataTable への操作も UI の操作に当たる。
210 :
149 :2006/08/26(土) 13:35:50
>>209 レスありがとうございます。
頻繁に書き換えがあるので、左記にDataSourceを割り当てているのです。
実際には、スレッドは沢山あって、それぞれにDataDableを更新しています。
その更新結果を、DataGridViewにリアルタイムで表示しているのですが、スクロールバーが出ると固まってしまいます。
MSDNにはUIを操作するなと書いてあるのは知ってますが、リアルタイムでデータが流れてくるので、別スレッドに流し込まない
と処理が間に合わないのが現状でして。
表示自体は、RunWorkerCompletedにMe.Refresh()を入れれば改善はされるのですが、やはり触ると固まってしまいます。
そこで、色々調べたら
>>205 の症状と似ていたので。
205のソースは、いろいろと変更して入れて見る努力はしたのですが、そもそも知識不足で理解できませんでした。
211 :
デフォルトの名無しさん :2006/08/26(土) 13:50:50
だったらこんなところに質問している間に理解しようとすればいいのに。 この人に限らないけど、ダメな奴っていうのは基本的に努力の方向が間違ってるよ。
212 :
149 :2006/08/26(土) 13:55:24
>>211 C#のヘルプとか見ながら色々と試行錯誤しているんですけど、なかなか上手くいかなくて。。。。
213 :
デフォルトの名無しさん :2006/08/26(土) 14:06:52
いや、だからたぶんデリゲートとかスレッドがよく分からんのでしょ? だったらまずそれを理解しろよ。でなきゃ埒があかん。小学生でもわかる理屈。 @ITとかCodeZineに解説あるし、別にたいして難しいもんじゃない。
> スレッドは沢山あって、それぞれにDataDableを更新しています。 ってアンタ…… なんか色々絶望的だな
215 :
149 :2006/08/26(土) 16:32:56
Invokeを使ってもやっぱりかたまる。DataGridViewのイベント関係なのかも。
Delegate Sub DataTableAddRowCallback(ByVal dt As DataTable, ByVal dt_row As DataRow)
Public Class Form1
>>208 と一緒
Public Sub DataTableAddRow(ByVal dt As DataTable, ByVal dt_row As DataRow)
If DataGridView1.InvokeRequired Then
Dim d As DataTableAddRowCallback
d = New DataTableAddRowCallback(AddressOf DataTableAddRow)
Me.Invoke(d, New Object() {dt, dt_row})
Else
dt.Rows.Add(dt_row)
End If
End Sub
Sub Bg_main_DoWork() Handles Bg_main.DoWork
Row = dt_temp.NewRow
Row(0) = "a"
Row(1) = "b"
DataTableAddRow(dt, Row)
End Sub
End Class
216 :
デフォルトの名無しさん :2006/08/26(土) 19:00:19
ダメグラマが「固まる」って言葉が好きなのは法則か何かかねw ダメグラマはなんでダメなくせになんでいきなり全部を完成させようとするんだろう。 そのくせ問題が起こると、「問題の切り分け」すらしようともせず、 全然見当違いのことを問題の原因だと思い込む。 もちろん彼はシンプルなコードを書いて、本当に彼が思っていることが 問題の原因なのか、確認しようともしない。
510 :ワールド名無しサテライト:2006/08/26(土) 09:43:50.46 ID:8fm3vXed 「やっぱりVBが悪いんじゃないか。VBなんて」 「いいえ。全ては使い方しだい。私たちがVBの本当の使い方を見せてあげますわ。」
スマートクライアント(リッチクライアント)についてサンプルが載ってる 本でいいのって無いですかね?
ネットで見つからなければ本も期待できないと思ったほうがいい
そっか、したら、もう少しネット浮浪者でがんばってみる。
>>215 同じインスタンスなら、Invokeなんてまったく意味ない。
単にロジックがおかしいんだと思うけど、
ソースコピって一からデバッグしてくれる親切な人なんていないんだからさ、
もうちょっと、的を絞って質問できないか?
あとデータ量が多いならMSDN読んで作り直したほうがいいかもしれない。
>同じインスタンスなら、Invokeなんてまったく意味ない。 ( ゚д゚) ( ゚д゚ )
こっちみんな
みんな〜こっちこっち〜
VB.NET2003でTabControlついてですが デフォルトでは標準コントロールらしく味がありません。 これはデザインを変更することは可能ですか?
継承して頑張ってみれば?
229 :
デフォルトの名無しさん :2006/08/28(月) 22:24:41
私VB.NETの初心者です。
CopyMemory
の使い方が分からなくて、たまたま見つけた
ttp://www.winapi-database.com/System/Memory/CopyMemory.html の例
Declare Sub CopyMemory Lib "kernel32.dll" Alias "RtlMoveMemory" _
(Destination As Integer, Source As Integer, ByVal Length As Integer)
を試したらエラーしたので、二行目を適当に変更して
(ByVal Destination As IntPtr, ByVal Source As String, ByVal Length As Integer)
としたら無事動きました。
動いたのはいいのですが、これでいいのかどうかよく分かりません。
適当に勘で置き換えただけです。
それで質問なのですが、私が行った操作は、VBでは何という分野ですか?
こういうことに関してより詳しくなるためには、私は何を勉強すればいいでしょうか?
よろしく。
>>229 自学して理解できない人が触ったらだめだよ。そういうAPIは。
つりじゃなくまじめに。
子供には早いって奴。
>>229 P/Invokeだけど、
本当にCopyMemoryする必要があるの?
ライブラリ内で完結できるなら初学の頃はフレームワークの外にでるべきじゃない
232 :
132:乱数君 :2006/08/28(月) 23:57:56
やっと時間を持てるようになり、皆さんのご意見を参考にさせていただいて、まずは、タイマーを外しまして(出来れば、タイマーを使ってスロットのようにしたかったのですが、背に腹は代えられません)、思うような成果が得られました。 ただ、以下のコードをButton1_Clickに記入しているにもかかわらず、 Do Label3.Text = Int((52 * Rnd()) + 1) h = Val(Label2.Text) i = Val(Label3.Text) Loop Until h <> i 何のコードも記入していないはずのButton2をクリックした時に、上記のイベントが起きます。(Button1をクリックした時には何も起きません。) これは何故なのでしょうか…?
それは霊のしわざです
>>232 半年くらいコーディングやめてバカンスにでも行ってきたら?
つーか何で
>>141 とかでダメなのかと。
夏休みの宿題なんじゃねーの?
236 :
232 :2006/08/29(火) 12:02:00
>234 Private Sub 『hoge』 というツール?がよくわからなかったので、参照が出来ませんでした… >235 リミットはありませんが、何とか時間のある夏のうちに完成させておきたいんです。
>>236 > Private Sub 『hoge』
> というツール?がよくわからなかったので、参照が出来ませんでした…
これが仮に「釣り」ではなく真面目な回答なら、煽りでも何でもなく真面目な助言なんだが、
初心者向けの書籍を最低一冊は自分で購入して学習ないといけない。
>>236 どうやら Handles の意味も調べなおしといたほうがよさそうだな・・・
> Private Sub 『hoge』 > というツール?がよくわからなかったので、参照が出来ませんでした… この時点でスルー決定でおk?
ワロタ
241 :
236 :2006/08/29(火) 13:57:31
私は.NETしか使用した事がありませんから、>141に使われている言語全体が、私が使用しているものと違い、何の本を参考にしていいのかもわかりません。 少なくとも、『学生のためのVisual Basic .NET』(東京電機大学出版局)には、件のワードは載っていないと思われます。 どうかお知恵をお貸し下さい…
これは・・・
クマー
> >141に使われている言語全体が、私が使用しているものと違い この時点でスルー決定でおk?
foo() や bar() 関数(api?)をよく見るのですが、 どのリファレンスにも載っていません。 どうもいろいろな言語に共通しているようですが、 いったいどういう動作をするのでしょうか。教えてください。
248 :
デフォルトの名無しさん :2006/08/29(火) 18:42:43
また人に教えを垂れたい「答えたがりクン」と、友達がいないからこんなところでも 馴れ合いたい「馴れ合いクン」が湧いてくるんだろw 馬鹿なことだよな。 こういう奴らはどっちかというと本来質問する側にまわるヘッポコ野郎のくせに、 自分で自分の利用可能なリソースを破壊してることにも気づかないんだから。 こんな下らん馴れ合いが続けば、ある程度スキルがあるまともな奴から去っていくだろ。
本人乙
250 :
241 :2006/08/29(火) 20:07:47
>244>245 >141のコードを記述してみると、確かに、うまく動作していました。プロシージャの項目と言わず、もっと精進していくつもりです。大変にお騒がせしました。ありがとうございます。 >248 きっと、ある程度スキルがある人の事は、ある程度スキルがある人にしかわかりません。揣摩臆測でしょう。
>>232 貴方のいうButton1_Click は、別にどんな名前でもいい。これは解るかな?
そして、好きなイベントをHandleできるということも解るかな?
コレが解ればなぜButton2をクリックしてButton1_Click が動くのかは理解できるだろう。
252 :
232 :2006/08/29(火) 21:05:36
>251 ありがとうございます。今はわかりませんが、精進してわかり得るように努めます。
精進する気がある奴ならそんな程度の質問などしないはずだがね。 まあ人事だからどうでもいいけど。 ただ鬱陶しいから二度と来ないでは欲しい。
254 :
デフォルトの名無しさん :2006/08/29(火) 21:18:23
多重起動時のウィンドウ制御について教えてください。 アプリを多重起動させようとしたときに、 既に同じアプリが動いてれば、何もさせずに、 起動済みのインスタンスをアクティブにして、 2つ目に起動したインスタンスは何もせずに終了させるという ロジックを組もうとしています。 インスタンスが起動済みかどうかは Process.GetProcessesByName などを使って判別することができ、 1つ目のインスタンスにPostMessageでWM_USERを送り、 自分自身でアクティブ化させるという方法をとったのですが、 問題なのは、このアプリが最小化されたときは、タスクバーから消して、 トレイに格納するようにしていることです。 タスクバーから、ウィンドウを消してしまうと、 たとえアプリが起動していても、2つ目のインスタンスから、 1つ目のインスタンスのMainWindowHandleを取得しようとしても 0しか返って来なくなるようで、PostMessageが使えない状態です。 2つ目のインスタンスに何かメッセージを送る方法はないでしょうか?
>>254 単一インスタンスのアプリケーションを作成 ではだめなん?
だめだよね…
256 :
デフォルトの名無しさん :2006/08/29(火) 21:49:12
Do-Loopキモイ。
.NETのdatagridviewに、VB6のmsflexgridでいう margeColやmargeRowみたいな機能はありますか? 探すのですが、みつからない…Orz
ない
>>259 お答え有り難う御座いました
無いのですか…orz
編集とか出来るようなので、ないような予感はしてましたが…
(つД`)あぁ
261 :
254 :2006/08/29(火) 23:13:32
>>255 単一でもアクティブにならないとダメなんで・・・
>>256 すみません、見逃していました
IpcChannelってのが使えそうなのでとりあえず試してみます。
DataGridViewに50列1万件程度のレコードを仮想モードで表示させています。 この状態で、画面をスクロールさせたり、複数セルを選択するたびに、 かなり画面がちらついてしまいます。 この現象を回避する良い方法はないでしょうか?
>>262 50万セルは大杉
DataGridViewに限らずもうすこし現実的な仕様を考えたほうがいい
普通にそれだけあったら絞るか分割するだろう。
50列も一度に見渡すよりも必要な列だけ見れたほうが扱いやすい事もある。
行の場合も必要な範囲をさくさく見れるほうが便利な事もある。
少なくとも1万行全部を見渡す必要なんて無いと思うが・・・
生データをただ丸ごと全部並んでればいいってもんじゃないだろお。
どうすれば最も扱いやすくなるかを考えなさい。
UIの仕様に話が変わってるなw
265 :
デフォルトの名無しさん :2006/08/31(木) 11:04:53
OS:Windows2000
言語:VB.NET(2003)
現在、CSVファイルとPDFファイルをそれぞれ暗号化し
メールで送信後、送信先で復号化して保存する
アプリケーションを作成しています。
そこで、
ttp://dobon.net/vb/dotnet/string/encryptfile.html を元に、暗号化と復号化機能を作成しました。
CSVファイルの暗号化、復号化は問題なく出来たのですが
PDFファイルを同じように暗号化し、復号化すると
復号化した後のPDFファイルを開くと
「この文章を開くときエラーが発生しました。
ファイルが壊れています。修復できませんでした。」
とメッセージが表示されうまく復号化出来ませんでした。
私なりに調べてみたのですが、どう解決すればよいかわかりませんでした。
どなたか、実装例や参考アドレスなどでも結構などで教えていただけないでしょうか?
マルチ乙
よくわからんが、それ対象がテキスト以外でも大丈夫なんか?
DecryptFileを下のやつに置き換えてないとか
269 :
デフォルトの名無しさん :2006/08/31(木) 12:27:28
OS:WindowsXP 言語:VB.NET(2003) 外部端子からの映像入力をリアルタイムでフォーム上に表示することって出来ますか? 出来ればやり方教えてください。
外部端子てなによ。キャプチャカード?
271 :
デフォルトの名無しさん :2006/08/31(木) 18:36:57
開発言語:VB.NET(Windowsアプリケーション) :SPREAD Windows FORM Edition 現在 VB.NETでフォーム上にSPREADを配置した アプリケーションを開発しています。 そのスプレッド上の特定のセルに フォーカスが当たった時、喪失した時に、 IMEの「全角あ」「半角ア」の制御を行いたいのですが、 なかなか実現できずに困っています。 どなたか同様の案件を実現された方がいらっしゃれば、 教えていただけないでしょうか? よろしくお願いします。
パブリックな標準モジュールとクラスの差異ってばなんですか?????
273 :
デフォルトの名無しさん :2006/08/31(木) 21:13:13
今からVBを始めようと思っている超初心者です。 今日、PC屋に行ってVisual Basicを買おうと思ってみていたら、 Win2000とXPに対応していないものしか売っていませんでした。 Meに入るVBはどこで入手したらいいのでしょうか・・・・・・
>>272 たくさんあって書き切れない
>>273 VS買う金があるならOS買ってVB Express Edition使っとけ
いやまじで。
275 :
273 :2006/09/01(金) 00:26:27
>>274 回答サンクスです
マジですか。。。
確かにVBに限らずいろんなソフトがxp/2000専用になってますもんね・・・(VB体験版もMe入らないみたいだし・・)
ありがとうございます。
xp検討してみます。
項目内容が同じdatatable1とdatatable2の両方を datatable3に入れたいのですが可能ですか?
追記 1列ずつnewとaddで追加する方法以外で 無理ですか…?
insert into datatable3 select * from datatable1 insert into datatable3 select * from datatable2
279 :
278 :2006/09/01(金) 21:55:23
あ、RDBじゃないのか。すまん。
281 :
ぼよん :2006/09/02(土) 02:58:31
アニーメーションGIFを出力する方法ってご存知ありませんか? 標準のライブラリでできるのでしょうか?
どこに出力すんだ
VB.NET 2005 で マルチスレッドWindowsサービスの プログラムを作成しようとしているのですが 手持ちの本がサービスとスレッド関係の情報が 少ししか載っておりません。 先輩方で良い本をご存知の片がいらっしゃいましたら 教えて頂けませんでしょうか?
284 :
276 :2006/09/02(土) 12:25:57
>>278 280 有り難う御座いました
思った感じに出来ましたーー
つーかそれ、VB.NETじゃなくてSQLの質問…
いえいえ、たぶんVB.NETで間違いないです 変数名 AS datatable の関連です 親FILEと子FILEがあり datatableへそれぞれdatatable1とdatatable2に入れてまとめた後、 ビューでソートしたものをdatagridviewに渡すべきか rowをaddでゴリゴリ追加すべきか、悩むところです (´Д`)
アフォの子は退場
もすかすて、SQLになるんですか… まだVB.NET2005を触り初めて数日で 正直よくわかってません…orz
Mergeでいいやん
290 :
デフォルトの名無しさん :2006/09/03(日) 13:23:31
すいません、質問なんですが。 デバッグモードでプログラムを実行中に無限ループに陥ってしまった場合、 現在どのステートメントを実行しているか知る方法ってありますか? VBというよりデバッガの質問になってしまっていますが、もしよろしければ 教えていただけないでしょうか。
妖しそうなコードの手前にブレークポイント置いてステップ実行。
大文字小文字を区別しないIndexOfって無いんでしょうか・・・ 調べ方が悪いのかなorz
.NET 2.0/VB2005 なら String.IndexOf にオーバーロードがあるが、 それ以前なら Regex.Match でも使ってれば。
>>292 string.IndexOf(String, StringComparison)
string.ToLower.IndexOf(string)
string.ToUpper.IndexOf(string)
下の2つ、 比較先もToLower()/ToUpper()しなきゃだめじゃね?
日曜プログラマなんだけどVB.NETはgoto文使えないの? VBはお気楽に使えるのがいいのにな
なんでお気楽に書くためにgotoが要るのか分からない。 てか使えるだろ別に。
On Error Gotoの替わりはtry catchだよ。
そういや普通のgotoって残ってたっけ?
プロジェクトウインドウのツールボックスのように、画面の隅にひっこめたり 表示したりするコントロールはなんて名前ですか
>>299 残ってる。ループ構文のネストから脱出する場合のGO TOは禁じてではない。
>>301 まあそもそも深いところからの脱出が必要なネスト構造自体禁じたいもんではあるな
VBの場合whileの2階層離脱は出来たりする。 Do While ... While ... Exit Do End Wend Loop
304 :
デフォルトの名無しさん :2006/09/03(日) 23:19:35
.NETでCABファイルを作成しWEBサーバに配置。 ASPを実行して、objectタグでクライアントにダウンロード し実行しようとしています。 ここで、CABはダウンロードされ、DOWNLOADED PROGRAM FILESに 表示はされますが、状態が「不明」となり、レジストリ登録されず 、実行することができません。 .NETモジュールとASPに記述したクラスIDは同期がとれています。 VB6.0で作成したCABは問題なく使用できたのですが・・・ 同様の経験のかたいらしたら、ご教授ください。
Do-Loopキモイ
>>302 お前さんは簡単なプログラムしか作ったことが無いのか?
多重ループ構造なんて良くあることだし、
途中で結果が出たら無駄にループせずに脱出したほうがいいに決まってる。
>>303 go to はともかく
Doイベントは、もはや使うべきではない。
>>304 同様の経験もなにも、意味不明。
まずは、どこに問題があるのかを自分で特定しなさい。
特定できたらそこに絞って質問してくれ。
答えようが無い。
問題も何も、普通1行目の前半の問題である可能性を一番に疑うし。
> Doイベント ってw
> 途中で結果が出たら無駄にループせずに脱出したほうがいいに決まってる。 多重ループはよくあるが、gotoで脱出しなくても綺麗な流れで抜けられるようなロジックにするよな普通。
まぁ、何だ。
>>306 みたいな素人程、複雑怪奇なコードを書いて
「難しいプログラムだぜ」と自己満足に浸るもんだしな。
exit for とかで抜けれるならいいけど多重構造によってはgotoもありじゃね?C言語全盛期じゃあるまいし 「綺麗な流れ」とか、芸術性で物作ってるわけじゃないけどgoto使ったほうが綺麗になる場合もある。 何もかもgotoだと気持ち悪いけどね。
gotoで見通しが格段に良くなる場合だけだな。使うのは。
>>306 go to は良くて Do Loop が良くない理由を教えてください
314 :
デフォルトの名無しさん :2006/09/04(月) 10:50:49
お世話になります。 現在VS2003 .NET Framework1.1にて開発を行っています。 DataGridの行追加が許可されている状態で 一番下の行(全項目が空白の行)をctrl+cでコピーをしようとすると IndexOutOfRangeExceptionが発生してしまいます。 これは、DataGridの一番下の行に値が入力されるまでは 関連付けられているDataTableに新規行が追加されていない為だと思うんですが、 どうしたらこのエラーを回避する事が出来るのでしょうか?
DataGridでデータ追加をするってこと自体がヤバいと思う。 単票フォームを別に作って、そこから一件づつ追加するような遷移に すれば? 入力データのエラーチェックもその場で可能だし。 Gridは一覧表示とまとめて削除くらいに特化して、追加編集は別フォ ームにて確認しながら行うのがいいかと。
見事な敗北宣言だな 実に美しい
ガキばっかりだな。 勝敗競うスレでもなければ、技術自慢するスレでもない。 おとなしくスルーしろよ。
モマエモナー
オマエモナー(=゚ω゚)つ)゚∀゚)グァ
HashtableのValueにデータ型(System.Int16やSystem.Object)を入れたいんだけど、入れる方法ってあります?
(゚д゚)ハァ?
324 :
322 :2006/09/05(火) 15:34:11
判りにくかったようなので、再度書きます Dim hash As Hashtable hash.Add(1, System.Int64) ↑のような事をやりたいのですが、コンパイルエラーになります。 System.Int64を入れるやり方ってありますか?
GetType(System.Int64)
それが分からんやつにTypeを入れる方法を教えても Typeの使い方が分からんから、どうにもならないよ。
327 :
178 :2006/09/06(水) 08:25:15
Datasetで同じスキーマ情報のdatatableにデータをコピーする 場合ってどうするんですか? dim A as dataset.mmtable dim B as dataset.mmtable Adapter.Fill(A) B=A ←こんなことがしたい。
329 :
322 :2006/09/06(水) 09:21:47
330 :
デフォルトの名無しさん :2006/09/06(水) 09:38:03
VS2003 .NET Framework1.1で開発しています。 PictureBoxにTIFファイルを表示させるプログラムを開発しています。 TIFファイルには1つのファイルに複数の画像を格納できるので、 そのページ数と表示倍率、画像の回転率を指定し、画像を表示させています。 テストを行っている時に気づいたのですが、 2ページ目以降で倍率100%、回転率180度の時に なぜか1ページ目の画像が表示されてしまいます。 表示倍率や回転率を変えると ちゃんと指定したページの画像が表示されます。 これは一体なぜなのでしょうか?
331 :
322 :2006/09/06(水) 09:53:00
Dim hash As new Hashtable dim object1 as object dim object2 as object hash.Add(1, GetType( System.Int64 ) ' ←ここはこれで行けました。 object2 = CType( object1 , hash(1) ) ' ←ここがいけません。 object2 = CType( object1 , GetType( hash(1) ) ) ' ←これもだめです。 Ctypeの第2引数にHashtableに入っているTypeを入れたいのですが、どうすればいいですか?
332 :
330 :2006/09/06(水) 10:05:40
以下がそのプログラムの抜粋です。 長いので分割します。 Private Sub pctPreview_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles pctPreview.Paint Dim g As Graphics Dim img As Image Dim fd As FrameDimension Try sngZoomNum = intZoomNum / 100 'ここで倍率指定 g = e.Graphics g.InterpolationMode = _ System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic img = Image.FromFile(strFilePath) 'FrameDimensionを取得 fd = New FrameDimension(img.FrameDimensionsList(0)) 'フレームを選択 img.SelectActiveFrame(fd, intPageNum) 'ここでページ数指定
333 :
330 :2006/09/06(水) 10:09:34
'画像を表示(回転率ごとに変更) Select Case sngRotate Case 0 sender.Size = New System.Drawing.Size(sngZoomNum * img.Width, sngZoomNum * img.Height) Case 90 sender.Size = New System.Drawing.Size(sngZoomNum * img.Height, sngZoomNum * img.Width) g.TranslateTransform(sngZoomNum * img.Height, 0) Case 180 sender.Size = New System.Drawing.Size(sngZoomNum * img.Width, sngZoomNum * img.Height) g.TranslateTransform(sngZoomNum * img.Width, sngZoomNum * img.Height) Case 270 sender.Size = New System.Drawing.Size(sngZoomNum * img.Height, sngZoomNum * img.Width) g.TranslateTransform(0, sngZoomNum * img.Width) End Select '画像の傾き指定 g.RotateTransform(sngRotate) g.DrawImage(img, 0, 0, sngZoomNum * img.Width, sngZoomNum * img.Height) img.Dispose() Catch ex As Exception throw ex End Try End Sub 以上です。 どうぞよろしくお願いします。
>>330 VB2005だけどやってみたら確かにそうなった。
原因はわからない(GDI+のバグ?)けどDrawImageするときに
Dim img2 As Bitmap = New Bitmap(img)
g.DrawImage(img2, 0, 0, sngZoomNum * img.Width, sngZoomNum * img.Height)
img2.Dispose()
としたらちゃんと描画されたので試してみて。
336 :
330 :2006/09/06(水) 13:13:41
>>335 どうもありがとうございます。
教えていただいたコードを実装してみたところ、
正常に動作する事を確認しました。
自分もGDI+のバグかと思ったんですが、
それらしい記述が見当たらずに困っていました。
本当にどうもありがとうございました。
ListViewでヘッダをクリックでソートする事は許可しつつ、ヘッダをドラッグでサイズ変更はされたくないのですが、 これって出来ますか?
339 :
337 :2006/09/06(水) 16:30:56
>>328 ご丁寧にありがとうございました。
助かりました。
リストボックスの垂直スクロールバーを非表示にして、 なおかつ矢印キーでのスクロールは可能な状態に したいのですが、出来ますでしょうか?
singletonパターンを使用しているクラス(newがprivate)をxmlでデシリアライズすると、 publicなコンストラクタが無いからだめと怒られてしまいます。 SoapFormatterを使用すれば出来る事は知っているのですが、SoapFormatterで作ったファイルは見にくいので、 XmlSerializerでやりたいと思っています。 対応策やアドバイスお願いします。
343 :
342 :2006/09/07(木) 21:26:02
↑は取り消します。すみません。 SoapFormatterで作ったファイルが汚いのはシリアライズ時のファイルモードがCreateで無かったからです、すみません。
変換ウィザードでVB.NET(2002)のプロジェクトを2005に変換したんですが コードの表示やビルドは成功するのに、デザインで開けないフォームがあります。 「クラスが登録されていません」 場所 System.Windows.Forms ・・・ のような表示が出るのですが System.Windows.Formsを参照させても解消しません。 ご存知の方がいらっしゃいましたらアドバイスをお願いいたします。
345 :
デフォルトの名無しさん :2006/09/08(金) 00:45:19
変換ウィザードはぜんぜん使い物にならないってこと。 フォームは新規作成、コードはコピペでちょっとずつ確認しながら やったほうがいいよ。
347 :
デフォルトの名無しさん :2006/09/08(金) 17:22:55
環境はVisual Studio 2003、.Net FrameWork1.1です。 GetLogicalDrivesを使ってコンボボックスに ドライブ名の一覧を表示させたいのですが、 試した限りではネットワークドライブに関しては 一度Windows上でそのドライブにアクセスしないと ドライブ名が取得できないようなのです。 ネットワークドライブにアクセスしないで ドライブ名の取得をする事は出来ないのでしょうか?
VB.Netをやってる 鬱だ 鬱だ 鬱だー
VB.NETについて質問があります。 VB.NET STANDARDをインストールしています。 必須コンポーネントインストールで Visual Studio .NET Prerequisites ディスクを入れると 以下のようなメッセージが出てしまいます。 コマンドラインパラメータ: /V パラメータを MsiExec.exe へ送る /S 初期化ダイアログを非表示。サイレント モード用: /S /v/qn. /P パスワード モード /A 管理インストール /J アドバタイズモード /X アンインストール モード /UA<InstMsiA.exe の URL> /UW<InstMsiW.exe の URL> /B キャッシュのローカル インストール これから先へは進むことが出来ません。 どのようなことが考えられるでしょうか。
VB.NETは日曜プログラマーも多いが、それ以上に日曜なしプログラマーが多い。 おまいら見積もり尼杉。
VB.NET2003からHTTPでレガシーASPのサイトにファイルを アップロードしたいのですが、HTMLで以下のような形で ファイルを送信するのと同じ処理をVB.NETのWindowsアプリから やりたいのですが、よいサンプルが見つからず悩んでおります。 どなたかご存知の方がおられましたら教えてください。 よろしくお願いします。 <form action="hoge.asp" enctype="multipart/form-data"> <input name="File" type="file"> </form>
352 :
351 :2006/09/10(日) 13:03:11
すみません。事故解決しました。
「'''」と入力してエンター押すと、勝手にメソッドのコメントの枠組みを 作ってくれるソフトの名前を知ってる方いらっしゃいませんか?
VB2005
>>354 2005では標準で付いてたんですね・・・すみません。ありがとうございました。
357 :
347 :2006/09/11(月) 09:45:36
どなたかわかりませんでしょうか?
>>357 A:\からZ:\までDirectory.Existで存在確かめたらいいんじゃね?
.NETの2003 WEBアプリケーションにおいて 「テキストボックスがフォーカス状態になったらリストボックスの可視をTrueにする」 といったような内容のIF文を記述したいのですが どういった記述になるのでしょうか? どなたかご教授ください、お願いいたします。
>>359 visble = falseじゃフォーカス取れなくね?
>>360 そうなんですよ・・・
一体どうすればいいのやら・・・何かよい方法ご存じないですか?
>>361 textBoxの上にパネルでも乗っけて隠して、
textBox.Enterでパネル.visible = false
textBox.Leaveでパネル.visible = true
みたいな感じでどうか
>>362 その「.enter」についてですが普通に記述するだけではなく
何か定義(準備?)のようなものが必要なのでしょうか?
以前 別のサイトで似たような記述を発見したので試したのですが
その部分がうまくいかなかったものでして・・・
イベントを学べ
365 :
デフォルトの名無しさん :2006/09/11(月) 13:33:35
すいません質問です。 文字列のソート・・例えば「あえいうお」を「あいうえお」 にする簡単な方法ありますでしょうか? よろしくお願いします。
>>365 Dim s As String = "あえいうお"
Dim c() As Char = s.ToCharArray()
Array.Sort(c)
s = New String(c)
368 :
365 :2006/09/11(月) 14:03:08
!! ありごとうございました!!
そのお礼が366宛てだったら笑えるなw
371 :
365 :2006/09/11(月) 15:33:13
何度もすいません。 例えば「abcABC」を「ABCabc」ではなく「aAbBcC」と並び替えるには、 どうすればいいでしょうか? 宜しくおねがいします。
>>371 Public Class MyCompare : Implements IComparer(Of Char)
Public Function Compare(ByVal x As Char, ByVal y As Char) As Integer Implements IComparer(Of Char).Compare
Dim xLow As Char = Char.ToLower(x)
Dim yLow As Char = Char.ToLower(y)
If xLow = yLow Then
Return -x.CompareTo(y)
End If
Return xLow.CompareTo(yLow)
End Function
End Class
Array.Sort(c) の代わりに Array.Sort(c, New MyCompare())
なんでそんな面倒なことしてんだ?
簡単にやる方法をよろしく
どぼんとかのサンプルのクラスをコピペして"Windows フォーム デザイナで生成されたコード"を 直接直した(例えばnew DataGridをnew DataGridExにするとかした)時に、そのままデザインビューが 表示出来る場合もあれば、タスクにエラーが山程出てデザインビューでDataGrigが全く表示されず コードがボコボコ消えて当然デバッグしてもマトモに動かない場合がありますが、やはり直接修正は しちゃいかんのでしょうか? (フォームのLoadに書けばいいのかな)
DataGridExとやらのクラスがきちんと定義されてれば可。 存在しないクラス名にしたらエラーが出るのは当たり前 ようするに分かってないうちはデザイン部は触るなってこった。 まあ触って学ぶってのもありだけど。
StringComparer.CurrentCultureIgnoreCase とか、元から使えるやつあるやん。
おっと、もし2.0じゃないならCaseInsensitiveComparer.Defaultとか。
?? Array.Sort(c, New MyCompare()) ↓ Array.Sort(c, CaseInsensitiveComparer.Default) ってことじゃなくて?? なんか勘違いしとる俺?
おおっ勘違いしとったわwwすまんすまん。
>>377 いやもちろんクラスはあるんだわ
でないと絶対動かんし
要はただ起動しただけで動いたり動かなかったりするのは何でなんだろ?と
(動かない時ってのはコードがごっそり無くなって結果まともに動作しなくなる)
もう一つ、DataGridなんだけど、行ヘッダクリックすれば複数行選択出来るけど、
セルからme.select(row)みたいにすると、CtrlやShift押しててもその都度選択が解除されて
新規選択になっちゃいますよね
あれを回避する方法は無いでしょか?
(要はアクセスのリストボックスの複数選択モードみたいにしたいんです)
384 :
383 :2006/09/12(火) 15:26:23
自己解決 カレントセルの列を-1にしてselectすれば出来た shiftの時は前回の選択行からfor-nextで回してやればOK
VB2003にて質問です。 現在MDIアプリを作成中なのですが 子Formを2つ作成しActiveな子Formを切り替えた際に 切り替えたFormのActiveControlのValidatingが起きなくなりました。 子Form内の別のControlにFocusを移すと動作はもとに戻るのですが なぜこのような動作するかが不明です。 どなたか教えていただけないでしょか? またFocusを移動させる事なくValidatingをハンドルできるようにする方法も合わせてよろしく お願いします。
386 :
デフォルトの名無しさん :2006/09/12(火) 22:00:47
不明も糞もそれがWindowsのGUIの仕様というかお作法でしょう。
イベントでやらずに、自分で任意のタイミングでやればいいじゃん。
イベントの発生タイミングは
>>386 のとおりなんだから。
VB.NET2005の正規表現について質問です。 時間に対して正当性のチェックをしたいと思っています。 許す文字列の例 0:00 0:0 12:00 12:59 23:0 23:59 許さない文字列の例 0:000 12:61 122:00 24:00 これをやろうと思い以下のようにやりましたが、だめでした。 dim pt as string = "([0-1]{,1}[0-9]|2[0-4]):([0-5][0-9]|[0-9])$" dim time as string = ""'これはいろいろな時間の文字列 If Not Regex.IsMatch(value, pField.mPatternString) Then Throw New Exception("パターンに一致しません。") End If 正規表現に問題が有るようなので、ご指導お願いします。
389 :
388 :2006/09/13(水) 11:56:03
自己解決 ^([0-1]?[0-9]|[2][0-3]):[0-5]?[0-9]$ ハットを入れないとだめでした
VB.net2003で質問です。 フォームのActiveControlプロパティが変更された時に起きるイベントは無いでしょうか? フォーカスが移る度に起きるイベントをフォーム側に組み込もうと考えています。
391 :
デフォルトの名無しさん :2006/09/13(水) 18:29:10
VB.NET2003です。 最大化されたForm1からForm2を下記のようにダイアログとして 呼び出しました。 Dim DialogForm As New Form2 DialogForm.ShowDialog() この時、Form2は最小化できてもForm1が最小化できない状態に なるのですが、最小化できるようにする手段はありますか?
ShowDialogはモーダルですよ Showを使えばいいけどモーダルじゃなくなりますよ
393 :
デフォルトの名無しさん :2006/09/13(水) 18:38:43
うーん、打つ手なさそうですか。 とはいえForm2はモードレスにすると色々と不都合が出るし…。 ともかく、ありがとうございました。
>>393 なんつーか思い込みが激しすぎるというか、頭が硬すぎないか?
Form2をモーダルで表示することには目的があるはずだが、
その目的を達成する手段はForm2をモーダルにする以外にいくらでもあるんじゃないの?
例えばForm1のコントロールを全部Enabled = Falseにするとか。(フォームは自分の
コントロールのコレクションを持ってるから簡単にできる)
あるいはForm2が表示されているときにForm1がアクティブになったらForm2.BringToFront
するようにしといて、Form2側にForm1を最小化するためのボタンを付けるとか。
まぁ、仕様(目的)をはっきりさせろっちゅうことだな
396 :
akl :2006/09/13(水) 23:49:17
今 VB.NETで開発してるんだけど、 それを J# とか java の.NET 語の変換(コンバート) したいのだけど、 VB.NET から C# とかは 結構あるんだけど、 javaは無料で コンバートできる とこ(サイトか ソフト) ないかなぁ?
日本語でおk
>>393 なるほどな。
いわゆる操作性の悪いソフトって、こうやって作られていくんだろう。
アプリ特有の動作とか操作体系は気持ち悪いと思うのは俺だけか?
一般的なアプリと一貫性のある動作でシンプルに動くほうが直感的にわかりやすいだろうに。
>>396 VBの開発なら、J#に変換する必要なし。そのままお続けください。
J#の開発でVBのソースを移植あるいは流用したいなら、J#のとこ行って聞きなさい。
>>398 一般論としては同意するけど
>>391 の言うことも理解できるところがあるよ。
モーダルダイアログだすと元のウィンドウは移動も最小化もできず、これが
非常に鬱陶しい仕様だと思うことはある。
Windowsの操作にあまり慣れてないユーザーは特にそう感じるらしい。
(デスクトップ上のマイドキュメントをクリックしたいのにできない!みたいな感じw)
>>400 なら、別の方法を手動で操作をすればいいのでは?
AddOwnedForm辺りを使って。
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim DialogForm As New Form2 DialogForm.ParentForm = Me DialogForm.ShowDialog() End Sub [Form2] Private Sub Form2_Resize(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Resize Me.ParentForm.Visible = Not (Me.WindowState = FormWindowState.Minimized) End Sub と、最小化の際にForm1を非表示にすることで対処しました。
PDAとActiveSyncをゲスト接続してファイルをコピーする場合 PDA本体内フォルダのパスをどう指定していいかわかりません 誰かわかる人がいたら教えてください。
モーダルなのに他の窓を弄れるとかさぁ、独自仕様は不気味じゃない? しかも非表示状態とか・・・正直ありえん。 そんな変な仕様が必要な理由は何?
arrayListに数値ばかりをデータベースからセットして同じのはListから省きたいのだけど いい関数ないかな・・。
DBから読み込む時にDISTINCTを使えばいいじゃん。
408 :
デフォルトの名無しさん :2006/09/14(木) 22:59:20
>>405 最近この手の馬鹿増えたよな。
ちょっと前の話題をすぐに忘れて、何度でも同じ疑問を提示して
話を延々飽きずにループさせる奴
お前さんは鶏頭かw
DISTINCTって集約する値のみselect文に追加できるんですよね・・。 (当たり前か・・) 違うフィールドも参照したいのです。 そういうときって入れ子みたいにするんですかね・・・ select 登録月 from 利用テーブル Where ID=A in (select * from 利用テーブル Where 住所 = "東京") こんな感じかな・・・。
間違えた Select DISTINCT 登録月 from 利用テーブル Where ID = A IN (select * from 利用テーブル Where 住所 = "東京")
間違えた逆か・・・ select * from 利用テーブル Where 登録月 IN (Select DISTINCT 登録月 from 利用テーブル Where ID = A) こんな感じですかね・・・。
どうでもいいけどVB.NETと何の関係が。
>>411 わざわざ副問い合わせしなくても、住所="東京" AND ID="A"を抽出
条件にしたらあかんの?
>>413 それじゃあ抽出内容が変わってしまうと思います。
>>412 初めはDataset(またはdatagrid)とかでやれないかと思ったのですが、
SQLでできるなら関係なかったです。すみません・・・。
何がやりたいのかしらないけど、同じテーブルを2度も読む必要なんてないよ
>>414 >>それじゃあ抽出内容が変わってしまうと思います。
どう変わるのか具体的に説明してくれないか?
414は、まともな質問もできないくせに自論を展開して自己解決。 人の話なんて最初から聞くつもりないんだよ。 「登録月」って時点で、今年のことしか考えてないダメ設計なDBかもしれないし。
間違いなくSQL素人だし
いやね、プログラムの中でも特にSQLは、あんたがやりたいことをきちんと日本語で説明しろと。 プログラムだと、Windowsの用語とか、プログラムの技量があるから若干難しいけど。 データをどのように集計したり抽出したいか、日本語で相手に伝わらないようなことを、SQLなんかにできっこないじゃん。w
ここっていつみても答えるほうがバカだなw
聞くほうもバカだからな。
#Region ディレクティブはファイルを開いたときに折りたたまれていますが マウスを使わずに一気に開くとか規定値を開いた状態にするとか出来ますか? #Region をやたらと使っているプログラムがあってソースファイルを開くと 折りたたまれたRegionが5〜10個くらい表示されているだけで いちいちマウスでクリックして開かないといけないので鬱陶しくてかなわん。orz
どっちもできたはず。
425 :
デフォルトの名無しさん :2006/09/16(土) 20:32:51
キーボードショートカット使えよ そんなのいちいちマウスでやってたら腱鞘炎になっちゃうよw
>>423 開いてるソースのほうがうっとうしいと思うが。
綺麗に関数化されていて、それが綺麗にRegionでまとまってれば、そんなに開くことが無い。
コントロールから作ったイベント関数とかが逆にうざい。
人がせっかくきれいにRegionわけしてるのに、かってに最後に追加しやがる。
427 :
デフォルトの名無しさん :2006/09/17(日) 00:35:17
>>425 キーボードからRegionの折りたたみを開けましたっけ?
>>426 本人は綺麗にRegion化しているつもりだろうけど他人から見たらオレオレRegionです。
折りたたみなんてウザイだけ。
RegionなんてFormのところだけで十分。
///のコメントだけ展開してくれる機能とかあったらいいのに。
>>425 あー、おれも知りたい。
あとコメント付けたり外したりするショートカットもあればいいなぁ。
知りたいも何も、自分で設定しろよ
c-ml(c-lmだったかも) c-kc c-ku てか調べろよ。
432 :
デフォルトの名無しさん :2006/09/17(日) 12:06:07
>>432 おお、さんくす。
使いそうなのを印刷して貼っておくよ。
434 :
デフォルトの名無しさん :2006/09/17(日) 22:37:54
パスワードの条件がアルファベットと数字の混合である基本的な フォームを作りたいんですが、IsLetterOrDegitを使わずに作る にはどうしたらいいでしょうか。Select Caseで作れないでしょうか。
435 :
デフォルトの名無しさん :2006/09/17(日) 22:59:42
>>434 プログラミング以前にまず正しい日本語をマスターすべきじゃないかと思うよ。
>>434 もっと詳しく「何がやりたいのか」を書いてくれ。
おまいさんの言う「フォーム」の意味もわからん。
>>436 テキストボックスにパスワードを入力させる際に、
数字のみ、もしくは英語のみではエラーになる仕組みの
簡単なアプリケーションが作りたいんです。
そのエラー判定をどうしたらいいか悩んでるんです。
そんなロジックのことで悩んで人に聞く程度ならやめちまえ、と思う。
MaskedTextBox
>>439 ありがとうございます。 でも、書式・形式じゃなくて 判定方法が知りたいんです。
1文字づつ見て数字と英字の数を数えりゃいいだろ
こういう人ってプログラムすることって何だと思ってるんだろう・・・。 せめて入門書は1冊、最近だとネットで入門サイトあるんだから@ITとか見ればいいじゃん。
443 :
デフォルトの名無しさん :2006/09/18(月) 00:04:43
>>440 この機会に正規表現を使ってみるのがいいと思うよ。
テンプレの「いきましょ」と「@IT」に分かりやすい解説がある
>>440 select passwd
case "A"
case "AA"
case "AAA"
中略
case "AAB"
case "AAC"
1〜10文字くらいでエラーになる文字列を全てCASE文で
並べれば出来るだろう。
正しい文字列をCASE文で並べて、それ以外をエラーにしても良いと思う。
皆さんありがとうございます。
>>444 実は
Case "a" To "z", "A" To "Z"
hasAlpha = True
Case "0" To "9"
hasNum = True
で
If hasAlpha = True And hasNum = True
Okメッセージ
これでやってるんですが、うまくいかないんです。
まず、どうやったら良いかを考える前に、 それの何がいけないのか、どうしてこんな馬鹿なことを考えたのか、 それらが解るようになるまで勉強し直しておいで。
449 :
デフォルトの名無しさん :2006/09/18(月) 00:25:16
>>447 まあこのスレは精神的幼児が多いから無視していいよそういうのはw
VBのSelect Case はC系のとそれと違ってマッチする条件があるとそのままBreakするから
それでは正しく動かない。
>>449 やっとひとつ理解できました。
ということは、Select Caseを使ってアルファベットと
数字を別々に判定することは無理なんですかね。
451 :
デフォルトの名無しさん :2006/09/18(月) 00:33:59
そうだから正規表現覚えるのが結局一番早いよ。 今後の応用範囲も広がるし
正規表現っていうのはこの場合何でしょう?
この場合もクソもないでしょ
>>447 そのSelectは何に対してやってるんだ?
パスワード全体に対してやっても意味無いぞ。
ループの中でパスワードの1文字ずつに対してやればうまく行くんじゃないの?
甘やかしな教えた君が増えると、努力もしない教えて君が調子ぶっこいて何でも聞いてくるようになるから嫌だよな。
ここ質問スレなんだけどw
つってもvb以前の質問はねー
まあ質問者が自分で考えもしない超低レベルなら、回答者も馬鹿揃いだから、丁度いいんじゃね?
C#スレみたいに本スレと初心者スレ分ければいいんじゃね? C#のほうはあんまり機能してないけど
質問とか初心者以前だろ? どうしたらいいか? 正規表現。 これで終わってる話。 それを調べて判らない点が出たら再質問。それが常識。 会社の新人で、ここにいる質問の人みたいのいたらケリだよ。
434じゃないけど便乗質問。 自分の頭では"(全部数字)|(全部英字)|(全部英数字)"にマッチして、 グループ1と2が空でグループ3が空じゃなかったらOKというのしか思いつかなかった。 マッチしたかどうかで一発で判定できる正規表現って書ける?
最低・最悪のユーザー・エクスペリエンスと評判の .NETアプリ こんな素晴らしいクソ言語の学習に皆さんがんばって下さい
学習、なんて言っているうちは何を言っても説得力無し。
465 :
デフォルトの名無しさん :2006/09/18(月) 13:51:11
すいません、上記の方々と別件なのですが、正規表現で質問です。 「?:@123xxxxx」という文字列を含むinstrを「@123」へ変換したいと思っています。 ※「?」「:」「@」は普通の文字として扱う。 以下のような正規表現で変換しようとしたら、resultがNothingになってしまいます。 result = System.Text.RegularExpressions.Regex.Replace(instr, "\?\:\@(\d\d\d)(\w+)","\@$1") ちなみに以下のようにしたら、例外が発生。 result = System.Text.RegularExpressions.Regex.Replace(instr, "?:@(ddd)(w+)","@$1") VB.netの正規表現ではどのように表現すればよろしいでしょうか。 よろしくお願いいたします。
エスケープする必要がある文字とない文字を MSDN で調べれ
検索パターンに余計な\を入れても無視されるだけで戻り値がNothingになることは無いと思うんだが。
468 :
465 :2006/09/18(月) 15:05:20
>>466 以下のように変更したら、キチンと値が帰ってくるようになりました。
どうもありがとうございまいした。
work = System.Text.RegularExpressions.Regex.Replace(instr, "\?:@(\d\d\d)(\w+)","@$1")
>>467 私も今までPerlやJavaでは465のように書いていて問題なかったため、
VB.NETでも同様だと思ったのですが、Nothingになってしまいました。
VB.NETでは厳密にエスケープ文字を判定しているようですね。。。
>>411 select * from 利用テーブル Where 登録月
でdatasetに書き込み
その後datavviewでID=Aとかいくらでも抽出しればいくね。
正規表現文字クラスの[]指定内で前方参照する方法ってある? (['"])[^\1]+\1 みたいな(ここの2つ目の[]のやつね)。 上のは、'か"で囲まれた文字列の検索。
ここって思うし、質問する人間と回答する人間、経験何年と年収いくらか一緒に記載すると、 返答も相手のレベルに合わせられるし、質問した方も、回答の理解の仕方が上がるんじゃない? 普通会社では相手が見えるから、お互いのレベルを分かった上で話すじゃん。 そう思うのは私だけかい?
>>471 そんなの質問に必要ない。
適切な日本語で質問を表現できること、会話になること。
本人が言われたことに対して試してフィードバックできること。
それだけ。
>>472 ほぼ同意。
それに加えて「雑音を聞き流す大人の対応」もできれば大吉。
煽るだけで有益な情報のない脊髄レスは脳内フィルタリングするべし。
>>471 たった数行のレスで相手のスキルを推測し真性なのか釣りなのか即座に
判断できないようでは一流のSEとは言えん。
エスパー乙。 今後も行間を読みまくって適切な解答を書いてください。
このレスの住人はユーモアを理解せぬようだの。
レスには住めんのう…
>>478 面白くない。
Debug.Print()百回やって出直してこい。
ループでまわしていいですか?
>>480 gotoにしとくと飯が旨く感じるらしいぞ
残念、オレはconsole.writeline()だ
>>479 ドトネトらしく System.Diagnostics.Debug.WriteLine() を使えよ!!
うーん、ここって高度な技術者なのかな・・全然日本語がわからない。
>>470 ベタに書けばこんなんだが
(?<quote>'|")(?<match>(?!\k<quote>).+)\k<quote>
最長一致じゃ拙いように思うがね
// グループに名前付けてるのはわかりやすさを優先したから
486 :
デフォルトの名無しさん :2006/09/19(火) 03:57:27
VB.netで、画像加工のアプリを作ってるんですが、 ブラシを使って塗りつぶして、保存した後、フォトショップで開くとエラーが出て開けません。 あと、mixiのプロフィールの画像に指定しようとアップロードすると、 「画像が壊れています」とエラーが出て失敗してしまいます。 他のアップローダでアップするとちゃんといけて、表示もされました。 原因が分かる方教えてください。
どうやって、どんな形式で保存しているのか。 それが問題だ。
クソ言語 VB.NET
VB6からのイメージだけで思ってないか? まあ漏れも使ったことないけど
VB6ユーザーを何とか移行させたくてどんどんクソ言語になって来てるのは事実
2003までで乗り換えがうまくいかなかったからか、2005では驚くほど 6.0ユーザーに擦り寄ってるの見え見え。
諦めてVB6を再販すれば無問題。
マクロの DTE.Find.Execute() で検索を実行すると末尾まで検索すると 先頭に戻って検索を繰り返すのですがどうやったら止めれるのでしょう?
494 :
デフォルトの名無しさん :2006/09/21(木) 15:21:36
リストビューのcontextmenuを使ってポップアップメニューを作る際、 右クリックされたのが、 カラムヘッダーのときと、 リストのアイテムのときと、 アイテムの無いリスト部分のときとで、 ポップアップメニュー表示非表示を切り分けるってことできます? どうしても、どんな場合でも右クリックしたらメニューが表示されてしまいます。 同一コントロール内で、どこでクリックされたかの判断したいです。
>>494 できるよ。
>どうしても、どんな場合でも・・・(ry
それは嘘だろー どうやったのか書いてくれ。
何もしてないんだろ?
496 :
494 :2006/09/21(木) 17:41:33
>>495 申し訳ない。
私がウソコでした。
ContextMenuプロパティから操作しようというのが間違えていました。
素直にMouseUpイベントからGetItemAtメソッドでできました。
ありがとうございました。
MDIについての質問です。 UserControlから呼び出すフォームを親フォームのMDIに表示しようとして躓いています。 Parentプロパティを送るときに例外「トップレベルのコントロールをコントロールに追加できません」が発生します。 Me.ParentFormのIsMdiContainerはTrueになっています。 UserControlのイベント内で、 Dim f as New Form f.Parent = Me.ParentForm←ここでエラー f.Show()
ParentじゃなくてMdiParentじゃないの?
499 :
497 :2006/09/22(金) 10:01:51
>>498 あああああっ
俺、何やってんだぁぁぁ(T.T
ども、ありがとです
500 :
デフォルトの名無しさん :2006/09/22(金) 11:19:37
ComboBoxで質問ですが Itemsで追加した文字列のほかに任意の数値(文字でも可)を指定する方法ってありますか? 例えば、 aaaa,0 bbbb,3 cccc,4 ドロップダウンに表示するのはaaaa、bbbb、ccccで SelectedIndexが2のときにはccccと4が抽出できるような・・・
DataSource DisplayMember ValueMember
502 :
デフォルトの名無しさん :2006/09/22(金) 12:26:51
>>501 それはデータベーを使わなくても使えますか?
つか、以前のVBで言うところのItemDataって奴があればいいとおもって調べたら
SetItemDataってのがNETにはあるっぽいのでやってみたらエラーに・・・
これどうやって使えばいいのかな・・
504 :
デフォルトの名無しさん :2006/09/22(金) 13:24:45
>>503 ('д`)えー
あのエスパーにしか解読できないヘルプをですか・・・
こっちがヘルプしてほしいくらいのヘルプだよねMSのって(´・ω・`)
506 :
デフォルトの名無しさん :2006/09/22(金) 13:55:04
>>595 ぐぐってみました。
どうやらVB6からアップデートしたらSetItemDataが使えるらしいですが
新規でNETならそれはできないらしいですね。
ちょっと
>>501 のアレをみてみるかな
>>504 自分の読解力を棚に上げてる可能性が5割。
英語の原文読めばいいのに読んでない可能性が5割。
createobjectでIEのオブジェクトを作成しているのですが
最前面で表示されない場合があります。
最前面で表示される方法はないでしょうか?
よろしくお願いします。
dim ie as object
ie = createobject("InternetExplorer.Application")
ie.visible = true
ie.navigate2 "
http://www.google.co.jp "
'最前面へ
>>507 MSDNの日本語訳は原文にある重要な説明が省略されていたり酷いもんだな〜
で、結局、原文の方を読まないと使い物にならない。
あんな訳なら自動翻訳のがマシ。
>>508 SetForegroundWindow
>>492 MSDNライブラリで再販というか公開再開されてたな。MSJava部分を削除して。
よっぽど需要が多かったんだろう。
>>509 さすがに「宇宙天啓データベース」よりは…
まあ人間が「意図的に」重要な部分を脱落させる方がたちが悪いかもだけど
Int32からIntPtrへキャストする方法教えてください。
513 :
512 :2006/09/23(土) 08:26:39
事故解決しました。
コンストラクタ
これだけ乗換えが進まないってことは、 オブジェクト指向が糞ってことだよな。
VB脳には高度すぎたんだよ
517 :
デフォルトの名無しさん :2006/09/23(土) 12:26:57
>>509 実際にオリジナルの英語版と日本語の翻訳を読み比べたことがないのがバレバレ
MSDNの翻訳は極めて適切だっつーにw
わかりにくいのは翻訳のせいじゃないし
>>517 Platform SDK 辺りのは強ち間違いでもない。
絶対数としてはそう多くはないが、やはり間違いは印象に残るからな。
MSDN2 では極めてと言っても良いぐらいに質が高くなったね。
OleDbでFirebirdを使うプログラミングをしてるのですが、 ExecuteNonQueryメソッドやExecuteReaderメソッドで、 「指定されたキャストは有効ではありません。」という例外が発生します。 Dim oConn As OleDb.OleDbConnection Dim com As OleDb.OleDbCommand Dim oCmd As OleDb.OleDbCommand Dim oReader As OleDb.OleDbDataReader oConn = New OleDb.OleDbConnection oConn.ConnectionString = "File Name=C:\test.udl;" oConn.Open() oCmd = oConn.CreateCommand() oCmd.CommandText = "select * from country where country = 'USA'" oReader = oCmd.ExecuteReader() While oReader.Read() Debug.WriteLine(CStr(oReader("COUNTRY")) & "," & CStr(oReader("CURRENCY"))) End While oReader.Close() oConn.Close() 何か間違えているところはありますか?
GetHogehoge メソッド使って .NET の型で取得すれ。
>>517 昔のMSDNはwsprintf()の1,024バイト制限の記述が日本語の方では漏れていたり
結構酷いもんだったよ。こんなの致命的でしょ。
で、最近は英語の方しか見ないのでいちいち対比なんてしてません。w
化石 乙
3年で化石か。
この場合msdn2に移行というイベントがはっきりしてるわけで
英語版MSDN2をローカルに入れられるインストーラはありますか?
でも、MSのサイトでみる自動翻訳はやっぱりむごいよ。 てにおはが間違ってるんだもん。読んでて疲れる。
自動翻訳に文句言っても仕方ないだろw
どうでもいいがMSDNでまともに探せないとか見つけても理解できない奴は VBに限らず何やっても相当苦労すると思う。 むしろ対話式で質疑応答しないと出来ない奴がプログラミングしてるってのは凄いと思う。 どれほど難しく見えてるのか想像つかん。まじで
ああ、違いない。どうでもいいことだな。
VB.NET 2005 の TreeViewコントロールに関して教えていただきたいのですが、 Shiftキーを押しながらマウスがホイールされたら一度に表示可能な項目数分を スクロールさせたいのですが、どうやったら良いでしょうか。。。 イメージとしては下記のコードのような感じです・・・・(コンパイルできませんが;;) Private Sub TreeView_MouseWheel(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles TreeView1.MouseWheel If CBool(Control.ModifierKeys And Keys.Shift) Then Select Case e.Delta Case Is < 0 '下に TreeView1.VisibleCount 分スクロール e.Delta = TreeView1.VisibleCount * -1 '←ReadOnlyなので値を入れられない Case Is > 0 '上に TreeView1.VisibleCount 分スクロール e.Delta = TreeView1.VisibleCount '←ReadOnlyなので値を入れられない End Select End If End Sub
531 :
デフォルトの名無しさん :2006/09/24(日) 12:25:58
お前らの言いたいことはわかったから、おれのマシンの 「問題が発生したため、Microsoft(R) Visual Basic Compilerを終了します。 ご不便をかけて申し訳ありません。」 をどうにかしてくれ。 謝る前に直せよ、ビル・ゲイツ。
まあ、2chで文句言ってる暇あったらインストールしなおすよな。OSから。
俺のマシンは夏休みと冬休みにバックアップ&初期化&フルインスコ してるよ。95OSR2時代からの癖みたいなもんだ。
MAPIでOutlook2002sp3以降にアクセスした際の警告ダイアログ、 プログラムが、Outlook 内に保存されている電子メールアドレスに アクセスしようとしています。よろしいですか?」ってやつ。 あれってExchangeServerの設定いじる以外にどうしようもないですかね。 クライアントのレジストリいじくれば何とかなりそうなんだが。
535 :
デフォルトの名無しさん :2006/09/25(月) 15:41:12
ComboBoxのSelectedIndexChangedイベントでは変更後のSelectedIndexですが このSelectedIndexの変更前の値を知る方法を教えてください
Enterで値確保しとけば?
初期値をフィールドに入れといて SelectedIndexChangedの度にそのフィールド更新したらいいじゃん
PostMessageを使って別のEXEにメッセージを送りたいんだけど Spy++で見てもなぜかメッセージがPostされてません 同じように宣言と設置をしてるFlashWindowはちゃんと動作してるので ハンドルの取得ミスとかではないと思うのですが、、、 PostMessageには何か特殊なやり方があるのでしょうか? 宣言↓ Public Declare Function PostMessage Lib "user32" Alias "PostMessageA" _ (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
それVB6用だろ
540 :
538 :2006/09/25(月) 17:38:33
>>539 もしかしてLongのところ全部Integerですか??
と思って全部換えたら動きました
ありがとうございました!
日ごろVC++ばっかり使ってたのでVBの仕様の違いをしりませんで、、
すいませんでしたorz
デバッガでStringとかの値が16進値で表示されないんですが仕様ですか?
仕様です て言うかその16進値ってのは何を指してるんだ
>>543 CR/LFとかのコードが入ってるか見たいわけよ。
お世話になります。 Asp.netでボタンを押下した時にクライアントサイドに メッセージボックス表示、そして 処理の途中にもう一度メッセージ表示するには どうしたらいいでしょうか?
ngen.exe の使いかたがよくわからないんだけどどうやるの?
ngen /?
「フォームの作成」と「プロシージャの記述」とは主にどのような作業のことを指すのですか? できれば、簡潔にまとめてほしいです。
まあ簡潔にいうと君はプログラマには向いてないってことでしょう。
だな。 最近多いよね。基本的な入門書も読まずにプログラム組む新人。
>>550 組むわけではないんですが、都合上どうやるのかを知っておかなくては行けないんです。
フォームの作成 フォームのインスタンスをコンストラクトすること プロシージャの記述 プロシージャをディスクライブすること
>>552 上は分かりますが、下はそのままじゃないですか。
もうすこし、詳しく教えていただけませんか?
プロシージャの記述 プロシージャをコンポーズするステートメントをディスクライブすることによって プロシージャとしてのファンクションをコンポーズすること
もうやめれw
556 :
デフォルトの名無しさん :2006/09/26(火) 09:38:07
・フォームの作成 フォームを精魂込めて我が子を育てるがごとく作成すること。 ・プロシージャの記述 関数の記述は一関数入魂が基本です。血の出るほどの魂を込めて記述しましょう。
>>548 「フォームの作成」
ボタンやテキスト・フィールド、コンボ・ボックス等のGUI部品を並べて画面を作る事です。
「プロシージャの記述」
フォームの作成で作ったボタン等が押された時に何かの計算をするとかデータベースから
値を読み込むとかのプログラム処理を記述します。
#
>>548 がのクライアントだったらどうするよ? しかもおエラいさん。
# いい加減なことを吹き込んで苦労するのはおまいらだ。w
日本語が変だ。orz
思ったより簡単に沢山釣れましたので満足です。 どう見ても釣堀りです。ありがとうございました。
VB.NET2003でコントロールのサブクラス化がしたいのですが サンプルをいただけないでしょうか?
562 :
560 :2006/09/26(火) 15:32:27
すみません。事故解決しました。
563 :
560 :2006/09/26(火) 16:01:29
Protected Overrides Sub WndProc(ByRef m as System.Windows.Forms.Message) If m.Msg = &h201 Then 'WM_LBUTTON_DOWN If Msgbox("キャンセルしますか?") = vbYes Then Return End If End If MyBase.WndProc(m) End Sub としてキャンセルのときは左クリックを無かったことにしたいのですが 上記のようにただのReturnですと左クリックのメッセージが うまくキャンセルできていません。 次の左クリックが無効になってしまいます。 綺麗なキャンセルのやり方があれば教えてください。 よろしくお願いします。
>>563 釣り?
そりゃクリックとキー入力じゃメッセージ違うでしょ。
っていうか、ドトネトじゃそういうやり方はどっちかというと邪道。
OnClickをオーバーライドした方が簡単だしわかりやすい。
つーか、そんな糞UI誰が喜んで使うんだと小一時間
566 :
563 :2006/09/26(火) 21:19:58
すみません。事故解決しました。
完全に頭おかしい奴だなw
PictureBox1.ImageLocationに、 リファラーを設定してWeb上の画像を表示する方法を教えてください。
569 :
デフォルトの名無しさん :2006/09/27(水) 11:48:38
リファラーを設定を設定します
PictureBox1.ImageLocationに、 リファラーを設定してWeb上の画像を表示する方法を教えてください。
572 :570 :2006/09/27(水) hh:mm:ss すみません。事故解決しました。 って来る予感w
PictureBox1.ImageLocationに、 リファラーを設定してWeb上の画像を表示する方法を教えてください。
573 :
570 :2006/09/27(水) 13:08:42
みません。事故解決しました。
574 :
568 :2006/09/27(水) 13:14:20
PictureBox1.ImageLocationに、 リファラーを設定してWeb上の画像を表示する方法を教えてください。 誰も解らないのですか?
575 :
563 :2006/09/27(水) 13:24:06
HTTPで画像を取ってきてPicutureBox1にロードすればいいのでは?
画像の置き場の管理者に 「リファラみんじゃねーぞ(゚ロ゚)モルァ!! 」 ってメール打て
577 :
568 :2006/09/27(水) 14:20:36
PictureBox1.ImageLocationに、 リファラーを設定してWeb上の画像を表示する方法を教えてください。 ここはラベルの低いスレですね
ヒント インターネットRFC辞典を読め
579 :
568 :2006/09/27(水) 16:19:56
PictureBox1.ImageLocationに、 リファラーを設定してWeb上の画像を表示する方法を教えてください。 ほんと皆さんにはがっかりです
池沼?
エロ画像Browserでも作ってるんだろうな
PictureBox1.ImageLocationに、 リファラーを設定してWeb上の画像を表示する方法を教えてください。 全然役に立たないですね
583 :
568 :2006/09/27(水) 17:58:37
PictureBox1.ImageLocationに、 リファラーを設定してWeb上の画像を表示する方法を教えてください。 オナニーは抜いた後にしてください。
みんな興味深々じゃんwww 教えたれよ
解答もらえてる質問ともらえてない質問には大きな差がある。 質問するなら他の質問の仕方を見てみろ。
解答もらえてる質問 →簡単な質問 もらえてない質問 →難しい質問
>>568 なぜリファラーが必要だと思うのか説明してくれよ。
本当はリファラーかどうかもわからないんだろ?
>>586 典型的な答えてもらえないタイプだな。
PictureBox1.ImageLocationに、 リファラーを設定してWeb上の画像を表示する方法を教えてください。 無駄なレスは不要です
しばらく構わずに放っておいたらどこまで続くだろうな。
PictureBox1.ImageLocationに、 リファラーを設定してWeb上の画像を表示する方法を教えてください。 質問する時間帯が悪かったみたいですね
PictureBox1.ImageLocationに、 リファラーを設定してWeb上の画像を表示する方法を教えてください。 荒らしてた厨房は今頃宿題ですかね
HttpWebRequest 調べれ 自前で取ってくる必要がある
クソ言語 VB.NET
>>594 馬鹿とハサミは使いよう。
言語も同じく。
言語つーより、このツール自体ゴミですね。 なにこの操作性?まともな開発ツールじゃないよ? どこかの素人学生がつくったようなツールだ
スレ違い
いやVB.NETの事なのでスレ違いじゃないですよ
599 :
596 :2006/09/28(木) 19:31:47
vb.netで、DataGridのカラムヘッダーのソート方向を表す▲の色ってどのオブジェクトで変更できます? DataGridのBackgroundColorとHeaderBackColorを同じ色にしたら三角が見えなくなったので、 別の色に変更したいです。
601 :
デフォルトの名無しさん :2006/09/29(金) 14:39:57
DataSetの中に、Tableがあるかないかを取得するには、どうしたらいいですか?
602 :
601 :2006/09/29(金) 14:59:01
Dim tb1 As DataTable Dim str1 As String For Each tb1 In ds.Tables str1 = tb1.TableName If str1 = "Table1" Then MsgBox("Table1は、ないです。") Exit Sub Else MsgBox("Table1は、あるです。") End If Next tb1 ↑みたくしてみました。 もっと、うまい方法があるのかな?
603 :
デフォルトの名無しさん :2006/09/29(金) 15:02:54
あ!↑あるとない逆でした///。
>>601 つds.Tables.Contains(テーブル名)
あと602のコードだけど実行したら
ないです→ないです-(以下見つかるまでループ)→あるです
ってブラクラみたくなると思うんだが
605 :
デフォルトの名無しさん :2006/09/29(金) 15:22:08
そんなあるか無いか調べないと駄目っていう状態で作りたくないな。 質問者の設計が糞だと思う。
606 :
600 :2006/09/29(金) 15:39:14
help me, please...
608 :
デフォルトの名無しさん :2006/09/29(金) 16:39:23
VB.NET始めて2ヶ月の初心者です 学習用のサンプルで CInt(x) と CType(x, integer) というのが出ていたのですが、これって同じ結果になるものですか? それとも状況によって使い分けたりするものなのでしょうか
>>606 描画がいやなら、別の色組み合わせを検討してみよう。
>>608 VB.NETのキャストは何種類かある
CType(val, T)は汎用。ちなみに失敗するとInvalidCastExceptionが出る。
CIntとかCLngとかは6.0以前の遺産じゃないかな?まあ型指定の手間省けるけど。
これらも変換できないときはInvalidCastExceptionを投げる。
ちなみにTryCast(obj, T)だと失敗したときはNothingが返される。ただし参照型限定。
611 :
デフォルトの名無しさん :2006/09/29(金) 17:38:09
>>604 Containsで、できました!嬉しいです。ありがとうございました。
ソースをコピペしたとき、なにげなしに、<> のとこを = に変更しちゃったので、
ブラクラになってしまいました。ホントは、Exit Subは下の段です。。
すみませんでした。。
612 :
600 :2006/09/29(金) 17:40:25
>>610 System.Convertと言うのもあるな。
行き先の型が確定してるなら、DirectCastが良い。
質問スレと関係ねえけど、先進性を売りにしてるドトネト諸言語でも キャストと変換が峻別されてないのはどうにかならんかねと思う。
>行き先の型が確定してるなら、DirectCastが良い。 おかしなことをゆうな。
元先って表現が正しかったかね。 あいまいさのない変換ならって意味。
618 :
608 :2006/09/30(土) 09:07:27
>>610 ,613,614
回答ありがとうございます
色々試して使い分けられるように頑張ります
検索をしようと、ctrl+Fを押下したのですが、検索ボックスが表示されません。 昨日までは、表示されていたのですが・・・ どうしたら表示されるようになるでしょうか?
620 :
619 :2006/09/30(土) 15:08:17
タスクバーをけしてみたら、画面の下の方に出ていました。 くそ質問ですみませんでした。
>>620 IDEのツールボックスやウィンドウレイアウトは、オプションから初期
設定に戻すことができるよ。今回のが該当するのか不明だけど、同僚
がいっつもツールボックスを紛失するんで、俺も覚えてしまった。
VB.NETで非同期イベントってどうやればいいんですか? C#だとこんな感じでできるのですが //delegate設定 public delegate void testDelegate( object sender, EventArgs e ); //イベント設定 public event testDelegate Tested; //非同期イベント発行 Tested.BeginInvoke(this, EventArgs.Empty, new AsyncCallback(TestedCallback), Tested); //コールバック関数 private void TestedCallback(IAsyncResult ar) { testDelegate callback = ar.AsyncState; callback.EndInvoke(ar); } VBだとTested.BeginInvoke()でエラーがでます。
>>622 同じようにやればいいんじゃないの?
VBでどう書いてどういうエラーが出たんだ?
>>623 //delegate設定
Public Delegate Sub testDelegate(ByVal sender As Object, ByVal e As EventArgs)
//イベント設定
Public Event Tested As testDelegate
Tested.BeginInvoke()で「Testedはイベントであるため、
直接呼び出すことはできません。」のエラーがでる。
Testedをイベントじゃなくて単なるデリゲートにしたら? イベントハンドラがいらないならイベントである必要はないんだけど。
>>622 おま、そのC#のほうも、内容わかってないだろ。
内容をまず理解したほうがいい。そうすれば簡単にわかる話だ。
まずはそれからだ!
てきとーに、イベントに関数を与えるのはAddressofでやるのでは?
>>622 ああ、C#だとそういう風にイベントをデリゲートとして扱えるのか。。
VBだとたぶんそのコードを「直訳」することはできないね。
ばかばかしいことだけど、RaiseEventでイベントを生成するメソッド(OnTested)
を、別のデリゲートで非同期呼び出しする必要がありそう。
この変はイベントを簡単に扱えるようにしているVB.NETの暗黒面かもしれん。
ちなみに、どうでもいいんだけどそういうの非同期イベントっていうのは
正式な用語法なのかな?
>>628 > ちなみに、どうでもいいんだけどそういうの非同期イベントっていうのは
> 正式な用語法なのかな?
いんや。
つか 622 のコードはイベントをデリゲートとして扱えてしまう C# の暗黒面。
BeginInvoke はあくまで非同期デリゲートなんだから。
>>629 それ君の倒錯だと思うけどね俺は。
実際問題、たとえば何らかのデバイスなりストリームなりを監視する
ワーカースレッドから、UIスレッドに同期したイベントを生成したいって場合は
少なからずあるんだよ。
そういう場合はVBだと
>>628 に書いたような非常にばかばかしいコードを書かなきゃならん。
ちょっとC#勉強してくるノシ
てかよ、デリゲートの非同期呼び出しはマルチキャストできないんじゃなかったっけ? つまりそもそもイベント発火すんのにそんなもん使っちゃだめってことだろよ。 UIに同期したいなら面倒でもメソッドいっこかませりゃ済む話でそ?
マイクロソフト公式解説書「プログラミング Visual C# 2005 言語編」 にはっきりと書いてある。
書いてあるわけねーw だってそんなの事実に反するからね だいいちデリゲートにとっちゃ自分のケツを誰が叩いているかなんて 全然関係のない話だろw
おまえ言ってること勘違いしてないか? デリゲートの非同期呼び出しはマルチキャストでは使えない(これは上記の本に書いてある)。 イベントはマルチキャストすることが普通にある。 よってイベントをデリゲートの非同期呼び出しで呼び出すのはまずい。 って言ってるんだが。 イベントの発火をデリゲートの非同期呼び出しでやったらまずいってのは 上記からの俺の見解だからlこれは書いてないけどな。
>>636 勘違いしてるのはたぶん君だと思うよ。
推測でしかないけど、たぶんEndInvoke使って返り値を取れるのは
デリゲートが一番最後に呼び出したメソッドだけ、って話とどっかで
混同してるんじゃないの?
人によって Control.BeginInvoke を言ってるのか Delegate.BeginInvoke を言ってるのか バラバラでグダグダになってるな。 非同期デリゲートなんだから Delegate.BeginInvoke の話のはずだが。 EventHandler handler = delegate { Console.WriteLine("a."); }; handler += delegate { Console.WriteLine("b."); }; IAsyncResult ia = handler.BeginInvoke(null, null, delegate(IAsyncResult ar) { handler.EndInvoke(ar); }, null); ia.AsyncWaitHandle.WaitOne(); > ハンドルされていない例外: System.ArgumentException: > デリゲートに指定するターゲットは 1 つでなければなりません。 匿名メソッドは楽じゃのう。
どうみても
>>636 が正しいです。
本当にありがとうございました。
>>637 だから書籍に書いてあるってんのに何をどう勘違いするってんだ。
「BeginInvokeメソッドは、シングルキャストデリゲートに対してのみ使用できます」
って書いてあるっての。
ああ…つまりそういうことだw
642 :
637 :2006/10/01(日) 17:35:49
なんか勘違いしてるのは俺の方だったみたいね。。 なんか恥ずかしいなw ってことは、結局非同期的にマルチキャストなイベントを起動しようと思ったら OnXXXを非同期的に呼び出さないとダメってことなのか? C#でもイベントに対してBeginInvokeなんて迂闊に使ったらまずいわけか。
んーたいていの場合、イベントソースの方が非同期で処理してるんだろうから、 そのままイベント投げればいいと思うんだけどな。 非同期でイベントを発火しなきゃならん状況があんまりうかばないんだが。
>>643 制御系とかでユーザ操作に関係なく発生するイベントとかは?
んーじゃなくてさ 非同期で発生するイベントはいろいろ考えられても、 イベントソースの方が非同期でイベントを発火することはあまりないんじゃ?てこと。 ※ソース側のスレッドからさらに非同期でイベントを発火するって話ね。 そりゃ制御系とか、その他、ソース側のワーカスレッドをブロックしては困る場合とかは あるだろうけど、そういうのは少ないんじゃ?ってこと(ないとは言ってない)
>>645 たとえばHWバッファが貧弱なために一定の時間間隔以下で必ずreadしてやらないと
バッファがオーバーフローしてしまうようなデバイスをスレッドでバッファリングしているとして、
特定の値を受信した場合にそのスレッドからイベントを生成したいような場合。
ってちょっと強引な設定か。
うん、そういう場合は必要だけど、そういう場面はあんまりないんじゃ?ってだけね。
648 :
デフォルトの名無しさん :2006/10/03(火) 03:11:24
System.IO.File.Copy("C:\Hoge.txt", "C:\Foo\Bar.txt", True) 上記の場合に、C:\Hoge.txtが存在しなかったら強制終了してしまうんですが ファイルが存在しない旨のメッセージを表示させたいときはどうすれば良いんでしょうか? VBです。
649 :
648 :2006/10/03(火) 03:12:09
すみません。↑は誤爆です。 気にしないでください!!
プログラム初心者で、簡単な質問かもしれないですがお願いします。 VB.NETの質問で申し訳ありませんが、イメージを貼り付ける時に ImageBox1.Image = Image.FromFile("gazou.gif") ImageBox2.Image = Image.FromFile("gazou.gif") ImageBox3.Image = Image.FromFile("gazou.gif") ImageBox4.Image = Image.FromFile("gazou.gif") ImageBox5.Image = Image.FromFile("gazou.gif") というプログラムを、IfやForを使ってもっと簡潔にまとめられないでしょうか? いろいろと試してみましたが、エラーばかりでうまくいかなくて…よろしくお願いします。
>>651-652 とりあえず紹介されたサイトのほうに目を通したいと思います
早い返答ありがとうございました
>>652 650じゃないですが、ちょうど同じ内容を探してました
感謝です
ローカルネットワークのActive Directory上動くアプリを作っています。 そのアプリの認証にWindows認証を取り入れたいのですが、 どのように認証すればよいのでしょうか?
VB.Net2003 + .NetFrameWork1.1 で、ListVIewのListVIewItem(i).Textプロパティに改行文字を含んだ文字列を 指定したらTextのAlignがCenterになってしまいます。 しかも妙に左右に空白ができてしまいます。 Viewプロパティは smallicon にし、48x48pxlのアイコンを使用しています。 ┏━┓ abc ┃ ┃ あいうえお ┗━┛ 123456 これを ┏━┓abc ┃ ┃あいうえお ┗━┛123456 このように表示したいのです。 イメージとしては、windows(XP以降)のFileExplore右側リストビューにて 「並べて表示」した時の感じです。 ListViewにはTextAlignプロパティは無いし、Alignmentプロパティは アイコンの並び方を変えるだけでした。 どのような方法で実現できるでしょうか? また、Textプロパティの1行目のフォント色は黒で、2行目以降はグレーで表示したいのですが どのようにすれば実現可能でしょうか? そもそも、WindowsのFileExploreのListViewは.NetFrameWorkのListViewとは 異なるものなのでしょうか?
657 :
デフォルトの名無しさん :2006/10/04(水) 14:12:27
同じ型の構造体をコピーする方法を教えてください
コピーしたい構造体を反転選択、 Ctrl-c
A4白黒あたりで良ければ、 コンビニで10円
660 :
デフォルトの名無しさん :2006/10/04(水) 14:21:10
うっ、この時間って馬鹿しかいなかったか・・・
661 :
デフォルトの名無しさん :2006/10/04(水) 14:24:04
質問の仕方も知らない馬鹿をからかっているだけだと思われ。
662 :
デフォルトの名無しさん :2006/10/04(水) 14:30:51
答えれないと煽るか誤魔化す馬鹿しかいない時間帯だってわかってるよ
>>660 その通り。
この時間、回答者も質問者も馬鹿しかいない。
>>663 違うだろ。 馬鹿な質問者にはそれなりの馬鹿しかレスしねえだけだ。
665 :
656 :2006/10/04(水) 15:10:25
事故解決です。 どーやら.NetFrameWork2.0のListViewコントロールには View.Tilingというビューモードが追加になってるみたいですね。 やりたかったことはそれなので、2.0導入するまでちょっと我慢します。
>>657 Struct1 struct1 = struct2;
次はオシッコして感電死するショット?w
>>665 俺自身は自分でやったことないのにえらそうに言うけど、
たぶんListViewのOnPaintをオーバライドすれば1.1でもできるんじゃない?
GetItemRectなんてメソッドを使えば、テキストの部分だけのRectangleが取得できるから
先にベースクラスのOnPaint呼んどいてテキストの部分だけ自分で上書きしてしまえばいい。
プロセスIDからそのプロセスのファイル名をフルパスで得る方法ってありませんか。 VB2005です。
672 :
656 :2006/10/04(水) 19:51:25
>670 さんくす。 オーバーライドやGetItemRectなんて具体的なやりかたが全然想像つかないので ちょっと調べてきます ノシ
>>656 2003でもいいけどさ、
.NetFrameWorkは2.0にできないの?
まったく別物で上位互換でもないしさぁ
>>670 そりゃ無理だろ。やるならAPI使ってオーナードロー。
675 :
656 :2006/10/04(水) 20:22:33
>>673 1.1で開発してるシステムが完成してから2.0にしようかと。
開発途中で2.0にしてしまうと作成途中のソースに
あちこち手を入れることになんね?
>>674 あんたVB6な人だろ
.NETは違うんだよw
>>676 OnPaintでどのアイテムを描画するかどうやって判断するの?
>>675 手入れが必要なら、さっさと乗り換えたほうが良くない?
たとえばオーバーライドやGetItemRectをつかってまで1.1でつくりあげて、
それから2.0にする意味は?
一刻も早く2.0にして、もっとスマートな仕様で作っていくべきと思うけど。
他の様々な部分でも改善の余地があるなら早いほうがいいと思うし。
679 :
670 :2006/10/04(水) 20:41:52
680 :
670 :2006/10/04(水) 20:43:18
>>678 俺もそうだけど、たとえば中小企業でチマチマコード書いてる身分だとそうもいかんでしょ。
681 :
656 :2006/10/04(水) 21:07:52
>>678 いま2.0を入れずに頑張って1.1で手間ヒマかけてやるつもりはないです。
大変そうならとっととあきらめて余裕のできたときに2.0に移行していきます。
>>680 ウチの会社は作ったシステムを運用する人はイパーイいるけど、
開発する人間はオレともう一人だけなんだよね。
でも、今作ってるシステムは全くオレ一人でやってる。
だから完成間近のシステムを今の段階で2.0とかに対応していくことは
とても厳しい。
ユーザにはもうすぐリリースできそうってアナウンスしてあるしw
>>679 ありがとう。
継承とかは気になっていたんだけど、まだ必要になってなかったので
勉強できてません。
教えてもらったサイトを参考に勉強してみます。
>>671 Process クラスと ProcessModule クラス使えば用は足りるだろう。
Function関数を使って、 グローバル変数のようにモジュール内のどの関数内からでも呼び出せて、 同様に(変数をValueとすると) Value = 3 Value += 4 Dim rr As Integer rr = Value + 5 といった感じで使いたいのですが…… 色々と試してみたのですが、さっぱり上手くいきません。 初歩的な質問なら申し訳ございませんが、よろしくお願いします。 質問が下手ならすみません。
もうちょっと具体的に書いてくれる?
>>684 Function Total(ByVal tt As Decimal) As Decimal
Static rr As Decimal = 50
rr -= tt
Return rr
End Function
上のようなプログラムを使おうとすると、
Total(x)
と表記するだけで返り値を増やす事は出来るんですが
その値の初期化が出来なくて困っています。
どうにかして別の関数内からも望む時に値を初期化ないし変数rrに直接代入できないでしょうか?
>>685 すみません、上記のプログラムでは返り値を増やす事ではなく減らす事は出来る……です。
説明が下手ですみません。
値を設定するメソッドも用意しとけば良いだけじゃん つかまあ見事な非 OOP だな
Staticについてちょっと勉強不足かも……ちょっと調べて試してみます こんな夜にわざわざありがとうございました
>>687 普通に解決しました……すみません、プログラムの考えってすごく苦手で……
すごく助かりました、本当にありがとうございます。
690 :
デフォルトの名無しさん :2006/10/05(木) 23:17:58
VBほぼ初心者で、VB6.0でほぼ完成のソースもらったんですけど、 2005しかなくて、勝手に変換されて泣きそうです。 で、質問です。 1.2005のままどうにかならないのか? このまま1個1個エラー潰していくしかないのか? 2.フリーのVB6.0が動く開発環境ってありますかね? 2003とか。 明らかにウザイ質問と自分でもわかっているので、罵倒する感じでお願いします。
>>690 1、自力でごりごりコンバートしたほうが、後々役に立つと思われる。
2、6.0のフリー環境はさすがに無いかと。
5.0のControl Creation Editionで解釈できるコードなら、そっちで
動かせるかもしれない。2003と互換性のあるSharpDevelopにいく
という手もあるけれど、それなら2005にしたほうが大吉。
>>691 即レスサンクスです。
結局自分でガンガルのが最短路ってことですね。
どーもです。
頑張ります。
既出厨乙
最近始めたばかりの初心者で、環境は2003を使っています。
>>650 のような感じで、例えば
Dim x As Integer
Private Sub ABC1()
x = 1
End Sub
Private Sub ABC2()
x = 2
End Sub
Private Sub ABC3()
x = 3
End Sub
上のようなプログラムの
Private Sub ABC1()〜ABC3()
をもっと簡潔に表記する事はできませんか?
private void ABC( int arg ) { x = arg; }
>>696 ありがとうございます、参考書にvoidが無かったので検索していますが・・・見つからず苦戦しています・・・
ちなみにその方法で
Private Sub ABCBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ABCBox1.Click
のようなボタンを押した時などのPrivate Sub 〜〜
もまとめる事はできますか?
質問ばかりですみません。
>>697 >>696 は違う言語。
そのイベントを起こすコントロールが何か分からんが
大体senderがそのコントロールそのものだな。
Handles ABCBox1.Click, Button1.Click, Button2.Click みたいにして
senderとそのボタンなりなんなりと比較して分岐。
Handles の記述上限っていくつだろ
>>696 コピペするとエラーが出るのですが・・・
C#ではないですよね・・・せっかく教えていただいたのにすみません
どこか分かり易いサイトなどありましたら教えていただけると助かります
>>698 HandlesとSenderですか、調べて何とか理解できるよう頑張ります
それでも分からなければ、すみませんがまた手を煩わせる事になるかもしれないですが
そうならないように頑張ります
丁寧にありがとうございます
Buttonと書こうと思っていたのにBoxと書いてしまってますね・・・ コントロールが分からなくてすみませんでした 改めてありがとうございました
MenuItemやNotifyIconにInvokeRequiredって無いんでしょうか・・・ 別スレッドからNotifyIconのTextを変えたりしたいのに出来ない・・・orz
Controlじゃないからね。 本スレッドのウインドウにメッセージでも送ってやってもらうが吉
どういう風にすれば良いでしょうか・・・ Textを変更しようとしているスレッドはループを回しているのでRunWorkerCompletedじゃだめだし・・・分からないorz
VB2005です。 MenuStripに項目をいっぱい追加して、そのウィンドウの幅を小さくすると、 はみ出たぶんのメニュー項目が表示されない、クリックできない状況になっちゃうんですが、 これを改善するにはどうしたらいいですか。 VB6の用に折り返させたり、メニューの一番左に▼←こんなのが表示されて、クリックすると 続きが表示されるようにしたりしたいんです。
>>706 menuStrip.GripStyle
初期値はHidden
>>707 HiddenからVisibleに変えてみましたが、メニューの一番右に点が3つ表示されるだけで、
はみ出たぶんのメニュー項目は依然選択できないままです。
>>705 BackgroundWorker 使ってんだったら ProgressChanged で良いじゃん
>>709 こんなイベントあったんですか・・・知りませんでした。ありがとうございます。
.netは奥が深いな・・・
>>708 CanOverflow
つーかドキュメントくらい読めよ禿
>>711 CanOverflowをTrueにしても、はみ出たぶんのメニュー項目は依然選択できないままです。
>>713 おお、ついにできました。
ありがとう。
LayoutStyleだけで折り返し表示できました。これではみ出た部分のメニューも選択できます。
>>707 、
>>711 は質問の意図を勘違いされちゃったのかな。
何様?
俺俺
フォームのキーアップイベントでファンクションキーの処理をしているのだが、 テキストボックスでIME変換中のファンクションキーもイベントで拾ってしまう。 テキストの編集中のファンクションキー処理か見分ける方法ってあります?
正攻法じゃなく姑息な方法だけど、 (1) KeyUpイベントで特殊キー以外だったらIME変換中のフラグを立てる (2) TextChangedイベントでIME変換中のフラグを下げる あくまでKeyUpイベント中でIMEが変換中かどうか知りたいということなら これでいけるんじゃないかな。 特殊キー以外が押された(放された)のであれば、IME変換中でなければ Textはかならずかわっているはずだから。 もちろんフラグを立てる処理はKeyUpの一番最後にもっていく必要がある。 っていうか、ずいぶん変則的なことがしたいんだね。
該当コントロールに、IME 入力開始時に WM_IME_STARTCOMPOSITION、終了時に WM_IME_ENDCOMPOSITION が来る。 適当なクラスに IFilterMessage を実装させてこの二つのメッセージを拾えば良いんじゃない?
720 :
デフォルトの名無しさん :2006/10/07(土) 23:48:27
アップデートしようとすると「Visual Studio .NET 2003 セットアップで 必要なファイルをダウンロード中にエラーが発生しました。 Webブラウザ構成の設定および接続ハードウェアを確認してから、やり直してください。」 出てきて、アップデートできないのですが、どうすれば解決できますか?
721 :
デフォルトの名無しさん :2006/10/08(日) 00:08:36
今インスト中なのですが最後の4段階目のService Releaseで 上手く進めません。 必要なファイルをダウンロード中にエラーが発生しました。 Webブラウザ構成の設定および接続ハードウェアを確認してから、やり直してください このポップアップメッセージが出てきて進めないです。 誰か親切でエロイ方教えてくださいーーー。
ファイアーウォール
723 :
デフォルトの名無しさん :2006/10/08(日) 00:15:20
>>722 ファイアーウオールを実装しても解除しても両方できません。
>>721 ServiceReleaseをキャンセルしても、とりあえずインストールは完了
するから安心しろ。
725 :
デフォルトの名無しさん :2006/10/08(日) 00:22:50
>>724 いいえ。そこを完了しないとPCに.NETのソフトが入ってないです。
どこを探してもインストールされていません。
726 :
デフォルトの名無しさん :2006/10/08(日) 00:25:20
>>724 ありましたぁ!!
ServiceReleaseをキャンセルしても、問題はないですか?大丈夫でしょうか?
>>726 ちゃんとキャンセルされてるから安心しろ。
datagridview のあるセルに、コードベースでハイパーリンクを設定するのってどうやるんでしょうか?
取りあえずデザイナで配置してみて、それで作られたコードを参考にしろ
>>726 職場のオフラインパソコンで何度もやってる俺が言うんだから間違いない。
ComboBoxでエディットボックス部分のメッセージってどうやって拾ってます?
ComboBox.Text プロパティを参照ではあかんの?
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load For Each c As Control In ComboBox1.Controls If TypeOf c Is TextBox Then MsgBox("ComboBox内にTextBoxを発見しました。") Exit Sub End If Next MsgBox("オメエに喰わせるTextBoxはネエ !") End Sub
↑ なにこれ?
>>733-734 テキストボックスコントロールじゃなくて、
エディットエリアに流れているウィンドウズメッセージです。
だから内部的にエディットボックスなんて使ってないんだってば
>>737 エディットボックスじゃないよ。
エディットエリアの部分だって。
spyで確認すると、ハンドルもメッセージもコンボボックスとは別のものが流れてるけど、
そのエディットエリアに流れているメッセージを取得したいのです。
まあ実際 Edit コントロール使ってんだけどな。 CB_GETCOMBOBOXINFO を送るか、Win32API の GetComboBoxInfo を使うかすればエディットのハンドルが手に入る。 あとは NativeWindow の派生クラス作ってサブクラス化すればいい。
直接VBの話では無いのですが開発環境がVB.NET2005なので、質問させてください。 今度、新しく作成するアプリのDBをSQL Server2000と2005のどっちにするかを悩んでいます。 VB.NET2005(Pro)から見てSQL Serverの2000と2005が変わりがないのであれば、 会社で所有している2000をそのまま使おうと思っているのですが、 SQL Server2005で魅力的な何かがあれば購入協議に出して買ってもらおうかと思っています。 見積もりで容量が10GBを超えるのでExpressは考えていません。 SQL Server2005とVB.NET2005の組み合わせで何か幸せになれる事ってあるのでしょうか?
743 :
デフォルトの名無しさん :2006/10/11(水) 12:48:12
>>742 自分で考えれば?それだけの条件じゃなんにもわからんし。
744 :
デフォルトの名無しさん :2006/10/11(水) 14:58:28
VB.NET 2005 の Express Editionを使っているのですが 配布パッケージを作成はどうすれば良いのでしょうか? 6時代のディストリビューションウィザードみたいなのが見当らないのですが
>>744 ClickOnceが嫌ならStandard以上が必要
744じゃないけど、Standard以上だとどんなディストリビューションウィザード的なものがある?
748 :
742 :2006/10/11(水) 19:27:14
>>743 確かに曖昧だったな。
とりあえず開いているサーバにSQL Server2005developerをつっこんで弄ってみるは。
749 :
デフォルトの名無しさん :2006/10/11(水) 21:16:17
ずっとVBをやってたんだけど。出向先がいきなりVBC#になるとのこと。 明日からいきなりいくんだけど、随分違うものなの??
VBC#なんてのが出来たのか
752 :
デフォルトの名無しさん :2006/10/11(水) 23:20:48
>>750 VBC#は結構前からあるよ。J#なんてのもあるからねー
VisualBasicC#?
VisualBasicCompiler#と予想
VisualBasiC#
ぶびちゅ
ぶいびー丼?
VB.net2003のツリービューでノードを一意に 認識したくtagにguidをいれているのですが このtagを指定して一発でそのノードを取得したいのですが 可能でしょうか? こんな感じであればよいかなと思います。 Dim hoge As TreeNode hoge = TreeView1.selectSingleNode("123304-32-434-3-3-35") もし可能であればやり方を教えてください。 よろしくお願いいたします。
>>758 そんなことするぐらいなら最初からHashtableに突っ込んで管理すりゃいいじゃん。
っていうか、うまくいえないが何か根本的に「考え違い」をしていると思うぞw
何ていえばいいかな、guidで識別したいってことはguidをインデックスにノードを
取得したいってことだが、そのguidは何をインデックスに取得するつもりかね?w
>>759 なるほどー
ツリーを構築するときにハッシュテーブルにguidとノードをインサートしておけばいいわけですね。
こりゃすごい
2つ質問したいことがあります。 1つめは、 vb.net と vb2005の違い なんですが、 イメージとしては、vb2005は、.net を vb6に近づけた感じというのがあるのですが どうなのでしょうか? 2つめは、 VB.net をこれから、学び始めようと思うのですが、 今ある知識は、VB6 を少しかじったくらいなので 初心者から 学べる おすすめの本があればお教えてください。
762 :
デフォルトの名無しさん :2006/10/13(金) 09:20:13
vb.net .netフレームワーク上で動くVB vb2005 .net2,0を開発できるVisualStudio2005のvb部分 初心者は@ITでも読破しとけば?
>>イメージとしては、vb2005は、.net を vb6に近づけた感じというのがあるのですが あながち間違いじゃない。 2003で思うように移行が進まなかったためか、2005はVB6.0に擦り寄 った内容になっている。
>>761 [暗黙のインスタンス] でググるよろし。
>>762 まず始めに @ITの方を読破して
それから、必要に応じて、本を探そうと思います。
>>763 .net 〜2005 までの変更があまりわかってなかったのですが、
明確になりました。
質問に答えていただき、ありがとうございますした。
766 :
761 :2006/10/13(金) 11:30:05
>>765 ちょっとタイプミスw
>>764 分かりやすい説明でたすかります。
質問に答えていただき、ありがとうございました。
767 :
デフォルトの名無しさん :2006/10/13(金) 11:43:45
暗黙のインスタンスが使えるから何?って思うんだけどね。 VBは2の頃からやってるけど、普通にすんなり.netやってるし。 逆にあんな糞仕様が何故復活するのか理解ができん。
いまだに6.0ベースの開発案件が続いてることに、MSが危惧を抱いてる んでないの? 「サポート切れたよ! 動作保証しないよ!」って言い 続けてるわりには、一向に転換が進まないしさ。 うちなんか「6.0でSP3まで」っていう環境の縛りがあるくらいだし。
.NETでWindowsMessage一覧が定数化してあるクラスが欲しいのですが、 今現在落とせる場所ってありますか? 昔は【渋木宏明(ひどり) blog 】や【Sugi@ぱぱんぶぃびぃ Blog】で落とせたみたいなんですが、 今は落とせないみたいので、現在ある場所知っている方教えてください。
そういえば、VB6時代の末期は、 超優秀な人から超無能な人までVB6を使っていたが、 その全てが.netを理解できるはずが無かった。 そうなると、VB6を使い続けるしかないんだよな。 会社としても、皆が.netを理解できないのにVB6を切るわけにも行かないし。 また、理解できたとしても、顧客には.netを本筋にするから、 VB6アプリはサポートしないなんて言えないし。
>>769 SDKからWinUser.h抜いて
エディタで正規表現つかって書き出せば簡単
公開よろ
ウンコに行きたいんだが、我慢した方が良いか?
774 :
773 :2006/10/14(土) 11:35:50
誤爆ゴメン
>>769 ありがちな発想だけど、そんなクラス使いにくくてしょうがないでしょ。
必要なメッセージだけその都度定数なりEnumなりで定義してればこそ
インテリセンスの有難味も効いて来るのに。
776 :
デフォルトの名無しさん :2006/10/14(土) 18:39:40
超初心者なんですが VisualBasic2005 Express editionでWindowsアプリを作ったのですが EXEにするにはどうしたらよいのでしょうか? 昔少し開いたVBにはコンパイルとかあったような気がしたんですが¥けど・・
ビルド
ビルドすれば作られてるだろ
779 :
776 :2006/10/14(土) 18:50:36
780 :
デフォルトの名無しさん :2006/10/15(日) 01:02:15
ショッピングWEBなどのhtml中のセッションIDの取得が出来ずに悩んでいます。 <!-- jsessionid=925366B2850A358E66BCF2C091402219.tom18 --> というセッションIDがあり、アクセスの毎に変わります。 このセッションIDを取り出す方法でつまづいています。 オーバーライド関数GetSessionを実装して、適当な変数(Sidなど)に代入出来るようにしたいのですが、 どうすればよろしいのでしょうか。 いろいろぐぐっても解かりませんでした・・・ よろしくお願いします。
どっかの掲示板で見たなこの質問
782 :
デフォルトの名無しさん :2006/10/15(日) 12:40:38
VB.NETの変数名のつけ方のガイドラインってあるんでしょうかね? たとえば、クラス内の変数名の先頭にはよくm_を付けている事が多いですが。
784 :
デフォルトの名無しさん :2006/10/15(日) 13:49:06
N88Basicしか知りません。まったくのVB初心者です。 VB.NETでそこそこのソフトを作れるようになるにはどのくらい勉強すればいいのでしょうか?
俚諺に曰く、石の上にも三年
786 :
783 :2006/10/15(日) 14:07:50
>>783 MSDNには”Visual Basic の名前付け規則”っていうのがありましたね。
書籍の方も見てみたいのですが、本のタイトル教えてもらえませんか?
そこそこのソフト わかるかぼけぇ
>>786 手元に無いので正確なのはわからんが、
「VB.NETルールブック」だったかな?
789 :
782 :2006/10/15(日) 15:03:49
>>788 ありがとうございます。
そのタイトルの本がありました。
でも正直、あの本に限らずあの手の本に書いてあることって大概単なる 「村の掟」以上の物ではないんだよな。 ルールの背後に納得できる合理性が感じられない単なる俺様ルールを 金払ってまで受け入れる気がしない。
独自につくる方がよっぽど俺様ルールなわけで
793 :
デフォルトの名無しさん :2006/10/15(日) 20:54:35
質問させてください。 VB6.0のpictureに計算結果を表示させたり、 C言語でコンソールに結果表示をさせるのは 自動的に順番に隣へ表示するので 結果の表示が重なる事はないですが、VB.NETのpictureに結果を出そうと思えば 座標を指定しなくてはならないので、座標を一つしか指定しなければ 当然同じところへ重なりますよね? 現在、再帰のアルゴリズムのところで順列表示結果をさせたいと考えているのですが picutreに表示させる方法が思いつきません。繰り返し処理させようとしても その i がどうしても1に戻ってしまうのです。 だから順列の結果がすべて同じ位置に重なってしまいます。 何かうまい方法はないでしょうか?
お願いですから日本語を喋ってください
795 :
デフォルトの名無しさん :2006/10/15(日) 21:04:51
すいません、訂正です。
分かりにくいと思いますので。
>>793 の続き
現在、再帰のアルゴリズムを使って順列表示結果をさせたいと考えているのですが
picutreに表示させる方法が思いつきません。
何かうまい方法はないでしょうか?
1 2 3 4
の順列の結果は24個あるわけですがこれが重なってしまうのです。
1234
1243
・・・・って表示してほしいのですけど。
picutreって何?
797 :
デフォルトの名無しさん :2006/10/15(日) 21:25:39
pictureboxのことです。
今どうやってんのか分からんとアドバイスのしようもない。コードを書け。
MDB内のフォーム名を取得するには、どうすれば良いのでしょうか? 親切な方、ヒントだけでも教えてください。
>>799 AccessのApplicationオブジェクトからFormオブジェクト抜き出せば良いやん。
802 :
デフォルトの名無しさん :2006/10/15(日) 22:30:31
>>798 以下のようなコードです。全部は書ききれませんので、次レスで。
Const N As Short = 4
Dim p(N) As Integer
Private Sub perm(ByRef i As Integer, ByVal e As PictureBox)
Dim g As Graphics = e.CreateGraphics()
Dim t As Integer
Dim j As Integer
If i < N Then
For j = i To N
t = p(i)
p(i) = p(j)
p(j) = t
perm(i + 1, Picture1)
t = p(i)
p(i) = p(j)
p(j) = t
Next j
Else
For j = 1 To N
Dim centuryFont As Font = New Font("century", 8, FontStyle.Regular)
Dim blackBrush As SolidBrush = New SolidBrush(Color.Black)
g.DrawString(p(j), centuryFont, blackBrush, p(j) * 20, j * Font.Height)
Next j
End If
End Sub
803 :
デフォルトの名無しさん :2006/10/15(日) 22:31:14
Private Sub Command1_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Command1.Click Display(Picture1) End Sub Sub Display(ByVal e As PictureBox) Dim g As Graphics = e.CreateGraphics() Dim i As Integer g.Clear(Color.White) For i = 1 To N p(i) = i Next i perm(1, Picture1) End Sub End Class
804 :
デフォルトの名無しさん :2006/10/15(日) 22:32:58
g.DrawString(p(j), centuryFont, blackBrush, p(j) * 20, j * Font.Height) ここの座標設定は適当です。 とにかくここをどうやってするかが難しいのです。
まあ、色々突っ込み所満載なわけだが、とりあえずy座標に関して言えば クラスメンバにy座標を持って、最初の再帰呼び出しの前でクリアして 1行描画したら1行分足せばいいんじゃないか。 あとx座標も変だぞ。それじゃ全部1234になっちまう。
806 :
デフォルトの名無しさん :2006/10/15(日) 23:02:57
>>805 そうです。だから座標は適当にしているだけなんです。
今までのVBのように
p(i)を一つ一つ並べればきちんといくはずなんですが・・。
クリアというとつまりはどういうことなんでしょうか?
Dim p(N) As Integer の下に Dim y As Integer を追加 描画を g.DrawString(p(j), centuryFont, blackBrush, j * 8, y) に修正 その下の Next j の下に y += 12 を追加 Displayメソッドの perm(1, Picture1) の前に y = 0 を追加
808 :
デフォルトの名無しさん :2006/10/15(日) 23:22:44
>>805 y座標はうまくいきました。
ありがとうございます。
809 :
デフォルトの名無しさん :2006/10/15(日) 23:27:02
>>807 丁寧にありがとうございます。
perm(i + 1, Picture1)の前に
k=k+1といれて
g.DrawString(p(j), centuryFont, blackBrush, j * 20, (k - 1) * 10)
とすればできました。x座標もできました。
たぶんあなたが教えてくれたものが正確だと思うので
そのように書き直させてもらいます。
っていうか、明らかに適性ないよ悪いけど。 もうコードのここがダメとかあそこを直せばいいという問題じゃなく、全てがダメ。 こんなの初学の学生が宿題で書いたコードとしても酷すぎる。
811 :
デフォルトの名無しさん :2006/10/15(日) 23:31:33
>>810 そうですか。
まあ、また気が向いたら教えてください。
812 :
デフォルトの名無しさん :2006/10/15(日) 23:46:46
クラスの動作確認の方法ってどうやってやるのですか?
ソリューションエクスプローラにクラス追加で下記のクラスを追加してF5を押しても確認が取れません。
よろしくお願いします。
Imports System
Imports System.Net
Imports System.Text
Public Class WebClientGet3
Shared Sub Main()
Dim wc As WebClient = New WebClient()
Dim data As byte() = wc.DownloadData("
http://www.google.co.jp/ ")
Dim enc As Encoding = Encoding.GetEncoding("Shift_JIS")
Dim html As String = enc.GetString(data)
Console.WriteLine(html)
End Sub
End Class
クラスの動作確認ってかなり意味不明だな。 取りあえず MSDN かヘルプドキュメントで /main コンパイラオプション の項目を調べれ
>>812 お前の作るクラスにはmainというメソッドがあるのか。
いやだな・・・
しかもクラス単位にmainというメソッドしかない作りなんだろ?
そんな作りはやめたほうがいい。
プログラムの仕組みでClassを使うやつは、 PGのセンスを疑うな。 クラスとオブジェクトの意味を理解してもらいたい。
816 :
デフォルトの名無しさん :2006/10/16(月) 11:31:15
VB2005でnkf32.DLLを使いたいのですがどのように記述すれば良いのでしょうか? 例えばGetNkfVersion関数を使うとして Public Declare Function GetNkfVersion Lib "nkf32.dll" (ByVal verStr As String) 等と書いてみたのですが名前空間のステートメントが無効ですとエラーが表示されてしまいます。
クラスまたはモジュールのメンバになる位置に書く
今日、あるソースのコメント部分に、SpecialThanx 〜〜〜〜〜〜 と書いてるのを見つけた。 ここのスレタイがかいてあったので見に来てみた。 なるほどね。
819 :
デフォルトの名無しさん :2006/10/16(月) 14:37:11
>>802 なんで引数のPictureBoxがeなん?
CreateGraphicsで作ったGraphicsで描いたら、画面重なったら消えるやん?
なんで描画コードを再帰で作るん? 計算だけ再帰にして描画は一発にすべきじゃないの?
そもそも再帰の必要あるの?
再帰とループの中でなんで何度もSolidBrush作るん?
GraphicsやSolidBushをDisposeしないの?
ここで適性無しとか言われてキレたりするやついるけど、正直ほんとに 適性としか言えない何かがあるんだよ。適性無いのに業界入りするのは 自殺行為に等しいから、向いてないと感じたら職種替えたほうがいい。 うちに今年入った素人高卒が、いまバリバリにコーディングしてるその そばで、情報系大卒3年選手が単なるテスターになってるのを目の当た りしてほんとそう思うよ。
823 :
デフォルトの名無しさん :2006/10/16(月) 21:39:42
>>812 コンパイルしてエラーで出なければオkでしょw
>>823 品質無視ならそれでもいいんじゃね?
その発想は、大概UIも一貫性がなかったり、仕様も捻くれてて直感的に使えないんだよな。
質問のしかたはともかく、質問者のレベルとか、適正や職種なんてこのスレとは無関係。 質問者にも理解できるような適切な解答をするべきだろ? それができないで何を偉そうに威張ってるんだい?その辺のガキと変わらないぞ。
するべきって何だよそれ。。。
解答のしかたはともかく、解答者のレベルとか、適正や職種なんてこのス レとは無関係。解答者にも理解できるような適切な質問をするべきだろ?
>>827 それだと、解答者も質問者とたいして変わらないのだから・・・と言ってるように聞こえる。
>>828 ま、知ってるか知らないかだけで、質問するやつも解答するやつも同レベルってことだ。
適切な回答も理解できないあほもいるんです><
適切な質問も理解できないあほもいるんです><
適切なスレも理解できないあほもいるんです><
VB.NET2005 側で構造体を確保して、その確保したエリアを VC.NETで作成したDLL側で操作したいんですが、一般的な手法 ってどんな感じになるんでしょうか? 例えば、VB.NET2005側で、構造体の配列を確保して、それを DLL側でソートしたり、VB.NET2005側で確保したエリアに DLL側でファイルからデータを読み込んで値をセットしたりと いった事がやりたいんですが。 UNIX環境のCでしかプログラムを作ったことが無いので、 VB.NET2005と、VC.NETで作成したDLLの間のデータの受渡し方法や、 VB.NET2005側がどのような形でエリア(メモリ)を確保しているのかや、 VB.NET2005側の変数の型と、確保されたエリアの関係(サイズや、アドレス)や、 VB.NET2005側の変数の型と、確保されたエリアの内部コード(文字列型の場合)、 VB.NET2005側の構造体と、確保されたエリアの関係(サイズや、アドレス)等が 良く判りません。 かなり、抽象的な質問で申し訳ないのですが、これらに関する情報や、書籍など ありましたら、紹介して頂けないでしょうか。
>>833 P/Invokeという単語をMSDNで調べるかググる。
835 :
833 :2006/10/17(火) 14:05:50
>>834 THX。
マーシャリングとか、アンマネージとか、なにやら面妖なキーワードが
沢山出て来て、戸惑っています。
Windows(.NET環境)ってなんか凄いですね。
ともあれ、ようやく欲しい情報にたどり着くことができました。
ありがとうございます。
というかまず VC.NET という謎の存在を解決する必要があるな
.NET なんてただの飾りです エロイ人には
おい、みんな〜 例外キャッチは、Exception型で全部済ませてるよな?
キャッチなんてごく一部しか書かない。
まじで? とりあえず全部のコードTryCatchで括って、Exceptionで受ける ってみんな書いてないのか・・・
ごく一部ってのは全プログラムコードで見たらごく一部のコードという意味だよ。 全部のコードってどういう意味? 一番外側的な(あるいはそれに近い)意味ならそういう感じになるのは分かるが。 あとは個別に処理してしまう場合だけな。
俺は基本的に関数は全てtry〜catch〜finally〜。 JavaやPHP5では基本だろ。
あほだね
全ての関数で基本的にcatchも書くって、 そのcatch内でいったい何をしてるんよ? finallyでいったい何してるんよ? # まあ finallyの方はまだいいにしても
うんそうだね
>>845 なんだよ、これ。
こんなの思いつかねーよ
思いつくんじゃない、見つけるんだ。
びっくりさせるなよー ThreadExceptionイベントをハンドルして処理してるのは俺だけかと思ったよ、まじで。 お前らの常識はほんとあてにならないな。
どんな常識かね?
>>844 catchで例外の詳細をログに落としてる。
finallyでオブジェクトの開放。
普通じゃん。
全メソッドで個別にログ出力かよ
でエラー状況はどうやって返してるんだ? まさか再スローじゃないだろ?
>>852 全メソッドで個別ログを取らないと、詳細なログにならない。
いらなくなったら、ログるレベルを変えるだけ。
>>853 最上位がしっかり処理してるなら、
別に再スローでも良いんじゃない?
全メソッドでログ出力&再スローってありえんだろ。
catchされたもののログだろ? 全然ありえるじゃん。
メソッド呼び出しの深さ分同じ例外のログ出力するんかい! あと詳細ログ出せないっていうけど、 各メソッドで出すことでどれだけ詳細度があげられるんだ? 全メソッドでそれはありえんだろ。
>>857 どのイベントから呼び出したどのメソッドの中にあるメソッドの…
と、経路と部位の特定が簡単になるのが、ダメなのか?
ユーザーが言うバグにも早く対応ができるし。
つーか、何に対してそこまでの否定を?
すいません、VB.NET(2003)で質問です。 フォーム上にTextBoxが20個配置されていて、 例えばそれらにTB_1, TB_2, …TB_20 というようなコントロール名がついているとします。 これらのTextBoxをForループなどで一律に処理する方法はあるでしょうか。 具体的なイメージとしては For i = 1 To 20 ["TB_" & CStr(i) をコントロール名に持つTextBox].Text = data(i) Next みたいなことができるといいのですが。 要はコントロール名からオブジェクトを取得できればいいわけなんですけれど。
861 :
デフォルトの名無しさん :2006/10/18(水) 17:25:02
>>858 StackTraceとか。
そもそもその例外を外に出すのか、内部で処理するのか、どちらが正しいってのはその関数の責務の問題になるし。
>>861 StackTraceって
>>858 みたいな使い方できたっけだぜ?
あと、例外の処理は関数の責務というより、
プロジェクト全体、退いては会社などのポリシーによって統一されなければいけないもんだぜ。
派遣がたまに来て、ルールぶち壊す奴がいるが、
そういうのが一番アスホールになるんだべ?
スタックトレースでほぼ見えるだろ。 全メソッドでそういうことするのはおかしいて言ってる。 .NETでの例外処理において、やってはいけないこと、に挙げられてるよ。
>>863 誰が言ってるの?
何をやってはいけないの?
全メソッドでException型でキャッチして再スローするようなこと。
>>865 まあ、まずはソースだ。
MSが言ってるレベルだと信頼は無いからな。
大体、本当にやってはいけないことなら、コーディングレベルでエラーが出るだろ。
ソース出せ ああ、ベンダのいうことは信用できないから駄目だよ
だったら.NETなんかつかわなけりゃいい
例外のスローや再スローが非常に高コストなのは 常識だと思ってた。 ていうか、全メソッドでやるなら例外なんて仕組みいらんだろ。
870 :
デフォルトの名無しさん :2006/10/18(水) 18:27:56
EUCコードのデータを取り込んで表示させるにはどうすればよろしいのでしょうか? そのままだと文字化けしてしまうのでSJISやUTFに変換しないと駄目でしょうか?
ゲームでも作ってるんじゃないからコストなんか考えない。 バグが出ない、修正やカスタマイズがし易い、何か起こったとき直ぐに場所と原因が突きとめられる。 VB.NETで重要なのはこの3点だけ。 メモリが足りないのなら、メモリを積め。 遅いのなら、速いマシンを買え。 コストをシビアに考えるなら、VBなんか使わねーよ
独立したスレッド等、処理を断続させる場合だけ、TryCatch それ以外は、イベントハンドルとして処理。 これでいいだろ。 全メソッドでTryCatchなんてありえん。 初心者と技術のない職場のポリシーだけだ。
>>872 VB6のときは、イベント内のみにしかイベントハンドルを書かなかった口か?
>>871 try〜catch〜finally〜内にバグがないとも限らない。
一元管理されるほうが、どう考えても効率いいし、バグが入りにくい。
グダグダだな
>>876 それはリスクポリシーの取り方だろ。
可読性の良いコードなら、catchやfinallyにバグが入り込む可能性は低い。
try内の問題が直ぐ判別できるから尚良い。
つーか、1メソッド、try〜catch〜finally〜含めても、
コードなんて20行も無いだろ?
catch内でも2〜3行なもんだろ?
お前有り得ない例外処理が反乱してるのを見たことないのか?
>>881 無いね。
危ない例外は完全に殺してしまうし、
例外処理用にかなりこなれた関数も用意してるし。
>>879 >コードなんて20行も無いだろ?
そうとは限らないだろ・・・どんだけ規模の小さいプログラムよ
>>882 例外処理用に関数用意するなら、
最初から、ThreadExceptionイベントをハンドルして処理するだけでいいだろが
>>883 1メソッド20行にも納められないのかよ。
どんだけ、汚いプログラムだよw
>>884 趣旨が間違えているぞ。
運用に入ってからでも、ユーザーに気付かれず、
簡単に且つ素早く、エラーを起こしている箇所を特定しなければならないんだよ。
>>879 >可読性の良いコードなら、catchやfinallyにバグが入り込む可能性は低い。
可読性は関係ないだろー
そこにバグがあると動作中のバグがどこにあるのかわからないことだってある。
>>886 ThreadExceptionイベントで、
簡単に且つ素早く、エラーを起こしている箇所を特定できない状況をおしえてくれよ。
そもそもユーザーに気づかれない機能って何だよ。
つか、スタックトレースを知らないってオチはないよな…
.NET the final frontier.
ThreadExceptionイベントで取れるわけだが・・・
スタックトレースは厳密な経路ではない
結局スタックとレース以外でcatchやfinallyは必要ないってオチですか?
厳密な経路ってどんなん? スタックトレースでは困るほど異なるもんなのか?
そんなに場所特定したいならpbd付けとけ
pdbだorz
全メソッドでExceptionをキャッチ 経路の詳細情報をログ出力 そして再スローって 具体的にどんなコードになるんだ?
スタックトレースってReleaseとDebugで挙動が異なるんじゃなかった?
ソースのパスと行番号が出るだけ
>>897 あまりいじりたくないコードになりそうだなw
どこで例外が起きてるかそこまでして知らなくてはならないということは、 どうしようもないパゲッティで、どっちらけなコードではないか?
>>901 お前らのコードよりも見やすい自信はある。
但し、サブルーチンが多いので、奥まで入れてグチュグチュする必要はある。
スパゲッティじゃんw
>>903 なんだ?
お前はサブルーチンのないコードが正当だというのか?
普通、コメントや改行、宣言を除いて、メソッドで処理に書ける行は5〜10行だぞ。
それ以上長くなると、可読性のないコードになる。
それだと、一つ一つサブルーチンにしてしまった方が良い。
厳密もなにも、メソッド内で得れる経路情報なんて、 ThreadExceptionイベントでも取得できますよ。 それにさ、メソッドごとに特化した例外処理なんて入れてたら、 それこそ、そこにまでバグが潜む可能性があるんだからさ、 決まり文句かくならThreadExceptionイベントで十分だろ。
>>904 つまり、10000ステップのソースなら、
1000〜2000メソッドあるってことですね。
行数が少ないほど可読性が高いと思ってるのか? DBの正規化でも、同じことが言えるだろ? 簡単な電卓プログラムじゃないんだから。
>>907 お前のステップ換算は共通化する前のソースなのか?
>>908 全て同じなのに、ThreadExceptionイベントでダメな理由は何?
ま、どうでもいいけど、 たった1000ステップに100も200もメソッド作らんね。
>>909 1024*768で、
一画面に収まるコードはマナーだろ。
>>910 関数化も共通化も終えての行数だ。
ステップ数じゃない。
ここにいる連中はステップ数と行数の違いもわからないのか? マジあきれた。
一度その全て同じなコードを書いてみてくれ。
その全て同じなコードが処理行数5〜10行の全てのメソッドに書いてあるのか?
で、関数の数はいくつなん?
>>915 全て同じなコード自体が1行のコードだがな
>>916 言うほど多くない。
クラス設計できてたら大したことにならない。
練習で作った電卓プログラムですってオチですか?
なんかわけのわからんことで揉めてるな 正直、例外のトラップを一元化した方が好ましいって言う奴初めて見たよw それ実践を踏まえて言ってるんだろうか。 それって、それこそN-BASICの時代のON ERROR GOTOじゃんw いやそれならまだしも、その飛び先で例外オブジェクトをパースしないといけないんでしょ? それじゃSDKのウィンドウプロシージャと一緒じゃんw
俺の場合は最終的な例外処理はThreadExceptionとかの共通ハンドラ。 まあここではユーザ用メッセージの表示とログ出力位だが。 メインなロジック部分は、ロジックの最上位辺りで自動補捉してログ出力、必要に応じてラップその他の処理。 あとは個別に特に例外処理が必要な箇所だけキャッチして処理。 他の部分はキャッチなし。finallyのみ。
ちゃんと.NETが提供してる機能があるんだから、 何も知らない初心者はすっこんでろ。
一行でどうやって再スローまでやるんだ? しかもExceptionをキャッチしてだろ? 全然特化してない例外処理しか出来ないのに、 これじゃ各メソッドでやる意味があるように見えないんだが…
単にThreadExceptionのハンドラを使ったことがないから、よく知らないってオチでいいよ。
Application.ThreadExceptionイベントスゲーウヒョー
∩_ 〈〈〈 ヽ 〈⊃ } ∩___∩ | | | ノ ヽ ! ! / ● ● | / | ( _●_) ミ/ < 次いこうぜ〜 彡、 |∪| / / __ ヽノ / (___) /
そんな事したらスタックトレース消えるだろうがよ。 それに変なメソッドが例外のソースになるだろうがよ。 お、ひょっとしてそれでスタックトレースみれてないのか? もし仮にそうだとしたらあほとしかいいようがない。
>>920 個別に処理してしまう例外はその場でキャッチするに決まってるだろ。
それ以外の例外だよ、まとめて処理するのは。
全メソッドでExceptionをキャッチするなら、
同じようにパースが必要になるんじゃないのか?
もういいよ、既に決着はついてる。
>>930 それ以外って何だよw
いや、@ITの記事にも書いてあった気がするが
想定外の例外が起きた場合の「保険」的な意義は大いにあるよ。
それにそういう想定外の例外の場合、いきなりあの無愛想なデフォの例外のダイアログが
出るより、別の何らかの表示をするようにした方がユーザーの心証もいいしね。
逆に言えばそれ以外の価値は一切認められないよ。
だからさー ThreadExceptionイベントをハンドルすればいいだけだろ。 どうしてもメソッド内で処理しないと困る例外だけ try〜catch〜を使えばOKだろ。
そういうのを逆立ちした発想っていうんだよ
じゃあさ、最初から出てる全メソッドでExceptionキャッチってなんなのよ? 全部想定されるException型なのかよ。 全メソッドで想定されるExceptionがあるのかよ。 多くのメソッドでは想定される例外なんてそうないだろに。
誰も全ての例外を最上位でやるなんていってないのに。
まずさ、 メソッド内で取得できるExceptionは、 Application.ThreadExceptionのイベントハンドラでも取得できるというのは解ってるよな? それで、わざわざ全メソッドに同じ例外処理の内容を書く理由はあるのか?
ネタかと思ったけど本当にパーなのね。
だから
>>930 の「それ以外」って何のこと?w
具体的に挙げてみ。
つーか、だいたい何のために構造化例外処理なんてものを導入した経緯が
あると思ってるんだ
「それ以外」 同じ例外処理のことだろ?
IDないからぐずぐずになってるスレ
コテハンつけるかもしくはアンカー打ってくれ。 何がなんだかさっぱりわからんw
だめだわけわかんね。 構造化例外は、全メソッドでException型をキャッチすることで何か意味があるとでも? 個別に処理してしまえる例外以外を具体的にって いったいどういえと。
全メソッドで全例外をキャッチするなら 構造化例外なんていらん
>>939 お前が個別に処理しなきゃならない例外を具体的に挙げろよ。
それで処理してしまえない残ったもの全部だよ。
パーとかいってんだからお前があげろ
ついでに全メソッドで例外をキャッチして再スローするメリットもな
あと、個別にキャッチしてする例外処理は全部同じ処理だぜ
意地張って、表現の仕方にケチつけるくらいしか出来ないんだよ。 実際まともな解答がひとつも無い。
まあ愚か者は経験からしか学ばないわけでw いや経験から本当に学んでいるかどうかも怪しいわけだが。 構造化例外処理の意義がどこにあるか? それはThreadExceptionで一元的にトラップするように書いた自分のコードを 一年後にメンテしてみればたぶんよくわかるよ。 まあそれでわからなきゃ本当にパーだわ。
誰も全て一元化するなんていってない いいから全メソッドでExceptionをキャッチして以下省略のメリット書けや。 構造化例外はそのためにあるんだろ? おかけでメンテも楽になるんだろ? お前の経験でこんなメリットてのを書けよ
>>950 トンデモさんにとってはアインシュタインの相対性理論も「根拠のないただの持論」らしいからなw
まともなプログラマやソフトウエア工学の学者で構造化例外処理を否定してる奴が
一人でもいたら教えてくれよ。
ついに構造化例外処理を否定してることになったぜ。
>>951 何か勘違いしているようだが、メソッド全体をTry〜ブロックに入れろ、
なんてトンデモをいっている奴は一人もいないと思うぞw
ただThreadExceptionイベントなんぞには保険的な意味合いしかないと
言っている奴がいるだけだ。
>>952 お前は馬鹿か?
「全メソッドに同じ例外処理の内容を書く理由はあるのか? 」
この質問に、根拠のないただの持論で誰が納得するんだ?
メリデリをしっかり挙げてくれないとお話にならないだろ。
>>953 自分の言っていることがわからないんだから病膏肓だねw
ThreadExceptionイベントなるものに保険以上の意味を認めるってことは
構造化例外処理を否定しているってことだ。
だから
>>930 の「それ以外」とは何かと聞いているだろう
例外トラップとかはAOPしたいんだけど、catchの方はEventに投げるとしてもFinallyの方がやり様がないよね
構造化例外処理といいながら、全メソッドに関数呼ぶ同じ1行ですか?ワラカシテクレルゼ
>ThreadExceptionイベントなるものに保険以上の意味を認めるってことは >構造化例外処理を否定しているってことだ。 面白いこと言うんだな。 Try-Catch構文だと、例外を正しくトラップできないケースは多々あるのに対して、 ThreadExceptionイベントは確実にトラップできる。 これは事実だ。
>>955 プログラミングの基本からわかってないようだから言っても無駄だと思うけど、
仮に例外処理に「共通の処理」があるとしたら普通はそれ自体をメソッドにして
「明示的に」それを呼び出すコードを書くんだよ。
馬鹿は自分の記憶力があてにならない、という事実すら忘れるんだろうけど
コードを書いたときには「ここで例外が発生した場合を俺は想定しているぞ。その場合は
ThreadExceptionのハンドラに飛んで・・・・・・」と思っていてもそんなことは
人は忘れてしまう。
まして最初からそんなこと知らない他人はどうなるんだよ。
だからさ、ユーザ用のつうちをThreadExceptionでやるだけだろが。 それだけで構造化例外処理の意味がなくなるのかよ。そんなに言うならお前の言葉で構造化例外のメリットを説明しろ。 ついでにThreadExceptionを上記の様に使うだけで 構造化例外を否定してることになるという具体的にな説明もな
なんでもかんでもCatchする方がよっぽど構造化例外処理を否定してると思うけどな
>>960 > コードを書いたときには「ここで例外が発生した場合を俺は想定しているぞ。その場合は
> ThreadExceptionのハンドラに飛んで・・・・・・」と思っていてもそんなことは
> 人は忘れてしまう。
アホ。例外を想定してないからThreadExceptionで受けるんだよ。
想定してたらそれに応じた型の例外をその場でCatchして処理するわ。
おまえ全然分かってないな。
全メソッドで共通なら全部書かなくても同じだろ ついでだが、業務で開発とかだとまとめて一ヶ所で処理はやむをえないことも多い
>>963 何を的外れな仮の話をしているんだい?
それが全メソッドに同じ例外処理を書く理由ですか?
>>963 それなら俺が
>>933 で書いたことを否定する理由はないはずだが。
ま、馬鹿は自分の言っていることも人の言っていることもよくわからないんだねw
見事に質問が埋もれてるな。
>>870 System.Text 名前空間の Encoding クラスを使って、
Encoding.GetString 使ったり StreamReader の引数に渡したりする。
全メソッドにtrycatch書くってひとは、悪いけどトリップつけてくんない? どれが馬鹿か分からなくって困るから
>>960 > コードを書いたときには「ここで例外が発生した場合を俺は想定しているぞ。その場合は
> ThreadExceptionのハンドラに飛んで・・・・・・」と思っていてもそんなことは
> 人は忘れてしまう。
意識する必要がないだろ。良く考えろよ。
全く同じ決まった処理なら、ThreadExceptionのイベントハンドラとして一箇所に書いてあるのだから意識不要。
そのメソッド内でどうしても必要なものだけ書けばいいんだから、よっぽど効率いいだろ?
>>972 話の通じない馬鹿だなw
もういいよ一生やってな別に止めないし
全メソッドにtrycatch書くってひとは、 具体的なメリデリが書けません。自論です。 ってオチですな。
要は全メソッドでCatchしないと正体不明の例外が処理できなかった時代の 手法をそのまま引きずってるだけじゃないの? FrameWorkがそんなことしなくてもいいように設計されてるのに。
いや、書いてはある。 ただ君に理解できないだけだ。 そういえばトンデモさんの常套句もそうだ。 アインタインは間違っているに違いない! この俺様に理解できないのだから!
せめて1人くらいには通じる話をしてくださいです〜
あなたにアインタイン
AOPが一般化してるときになに一転だ。 全メソッドに同じ処理を書くべしって
983 :
969 :2006/10/18(水) 23:39:52
だからtry〜catchを前メソッドに書くのが良いんだよ。 ThreadException知らないやつでも、明示的に処理してるのが分かる。 チームプログラミングは、上のレベルであわせるのではなく、 VB.NET初めて3日のヤツでも理解できるように書いてやるんだよ。 いつまでも一定レベル以上の人間じゃないとメンテできないソースなんて、 人的コストが掛かりすぎてたまらんわ。 お前らみたいな優秀なやつらをメンテなんかで使いたくないんだぜ?
つまり低レベルの人間に合わせた低レベルの手法ということですね。納得。
明確にだめだと言われてるやりかただけどな。 て言うか、未だにその共通処理でなにやるのか分からん
986 :
985 :2006/10/18(水) 23:46:37
>>984 お前らみたいに視野の狭い連中は物作りさせるしか使い道が無いのよ。
まあいかにもVB6でOn Error ResumeNextとか多用してたような奴が 考えそうなことなんだけどね
988 :
983 :2006/10/18(水) 23:52:42
\ U / \ U / / ̄ ̄ ヽ, / ', / _/\/\/\/|_ \ ノ//, {0} /¨`ヽ {0} ,ミヽ / \ / \ / く l ヽ._.ノ ', ゝ \ < バーカ > / /⌒ リ `ー'′ ' ⌒\ \ / \ (  ̄ ̄⌒ ⌒ ̄ _)  ̄|/\/\/\/ ̄ ` ̄ ̄`ヽ /´ ̄ | | −−− ‐ ノ | / ノ −−−− / ∠_ −− | f\ ノ  ̄`丶. | | ヽ__ノー─-- 、_ ) − _ . | | / / | | ,' / / / ノ | ,' \ / / | / \ /_ノ / ,ノ 〈 \ ( 〈 ヽ.__ \ \ ヽ._> \__)
989 :
989 :2006/10/18(水) 23:53:30
/ ノ −−−− / ∠_ −− | f\ ノ  ̄`丶. | | ヽ__ノー─-- 、_ ) − _ . | | / /
>>983 だから、お前が言ってるのは、自論と、職場の規約や都合だけだろ・・・
お前ら、俺の言うことはアインシユタインの言うことだぞ 理解できないやつはトンデモなんだぞ
>>990 俺の職場のルールが正しければ、お前らが何て言おうと関係ない。
俺の会社はお前らみたいな零細とは違うんだからなqq
とりあえずきっかけを作った
>>838 が悪いってことで終わりにしようぜ。スレも終わるし。
誰か次スレプリーズ。
もう震度毛よ
素朴に疑問だ。ホントに全メソッドで全例外キャッチ?
996 :
838 :2006/10/19(木) 00:06:33
盛り上がったなwww
100ならVB.NETはメソッド内でTry〜Catch〜Finally〜が正しい。
コレでまたひとつ新しいトリビアが誕生した
今更だけどメリデリって何ですか?
1000なら伊東怜と生でセックスできる
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。