2012年09月プログラム81: VB.NET質問スレ(Part39) (362) TOP カテ一覧 スレ一覧 2ch元 削除依頼
【C++】高速化手法【SSE】 (864)
【注意】STLの落とし穴【危険】 (918)
UNIXプログラミング質問すれ Part10 (535)
小学生プログラマだけど質問ある (236)
プログラム板 自治スレッド Part5 (782)
Visual Studio 2012 Part4 (348)

VB.NET質問スレ(Part39)


1 :2012/06/28 〜 最終レス :2012/11/02
一応立てておいた
前スレ
VB.NET質問スレ(Part38)
http://toro.2ch.net/test/read.cgi/tech/1325083428/

2 :
>>1
俺も建てようと思ってたから乙

3 :
なにこの過疎?すごす・・・w

4 :
おい、テンプレぐらいちゃんとつくれ 今の時代、小手先の技術=プログラマーじゃ飯くえねーぞ ばーか

5 :
ちゅーことて手本を示してやるぜ ワイルドだろぅ〜
公式
Visual Basic デベロッパー センター: 開発 | MSDN
msdn.microsoft.com/ja-jp/vbasic/ms789056
Visual Basic 2010 Express 日本語版 ダウンロード (無料)
http://www.microsoft.com/japan/msdn/vstudio/express/

入門・解説サイト
Visual Basic/C# - @IT
http://www.atmarkit.co.jp/channel/vbcs/vbcs.html
DOBON.NET プログラミング道 - .NET Tips
http://dobon.net/vb/dotnet/index.html
C# と VB.NET の入門サイト
http://jeanne.wankuma.com/



6 :
過去スレ(降順)
VB.NET質問スレ(Part38)
http://toro.2ch.net/test/read.cgi/tech/1325083428/l50
VB.NET質問スレ(Part37)
http://toro.2ch.net/test/read.cgi/tech/1317448996/l50
VB.NET質問スレ(Part36)
http://toro.2ch.net/test/read.cgi/tech/1301828549/l50
VB.NET質問スレ(Part34)
http://toro.2ch.net/test/read.cgi/tech/1270998481/l50
VB.NET質問スレ(Part33)
http://toro.2ch.net/test/read.cgi/tech/1263738929/l50
VB.NET質問スレ(Part32)
http://toro.2ch.net/test/read.cgi/tech/1258592769/l50
VB.NET質問スレ(Part31)
http://toro.2ch.net/test/read.cgi/tech/1250930696/l50
VB.NET質問スレ(Part30)
http://toro.2ch.net/test/read.cgi/tech/1242522019/l50


7 :
VB.NET質問スレ(Part27)
http://toro.2ch.net/test/read.cgi/tech/1222612480/l50
VB.NET質問スレ(Part26)
http://toro.2ch.net/test/read.cgi/tech/1212570454/l50
VB.NET質問スレ(Part25)
http://toro.2ch.net/test/read.cgi/tech/1203650042/l50
VB.NET質問スレ (Part24)
http://toro.2ch.net/test/read.cgi/tech/1197507828/l50

8 :
MSDN
  http://msdn.microsoft.com/ja-jp/library/ms229284.aspx
どぼん!のVB道のトップページとTipsページ
  http://dobon.net/vb/
  http://dobon.net/vb/dotnet/index.html
Insider.NET
  http://www.atmarkit.co.jp/fdotnet/index.html
宇宙仮面の C# プログラミング
  http://uchukamen.com/
.NET TIPS
  http://www.atmarkit.co.jp/fdotnet/dotnettips/index/index.html
緑のバイク ★ 初めてのC# プログラム全般
  http://homepage3.nifty.com/midori_no_bike/CS/
VB.NETとC#でデザインパターン
  http://hccweb1.bai.ne.jp/tsune-1/
匣の向こう側
  http://www.ne.jp/asahi/nami/mei/index.html
WisdomSoft
  http://wisdom.sakura.ne.jp/
じゃんぬねっと
  http://jeanne.wankuma.com/
どっとねっとふぁん - C# Tips And Samples -
  http://homepage3.nifty.com/dotnetfan/index.html
  http://dotnetfan.org/
C#プログラミングTips
  http://www.atmarkit.co.jp/fdotnet/csharptips/index/csharptips_index.html

9 :
VB.NETはすげーな
あれもできるし、これもできる

10 :
まるっきり同じことをやっていても、なぜか簡単そうに見えるのがVBのいいところだよね
ただし、VB6のPGがあーだこーだ口出ししてくる所は好きじゃない

11 :
vbはifとかEndでくくるのをやめて欲しい

12 :
>>11
それ俺も同じこと思った

13 :
いいこと考えた{}で囲ったらわかりやすくね?

14 :
>>11
バカだろ
ネストが見やすいのがVBのいいところなのに

15 :
VBで何が一番許せないかというと、Meが一番嫌だな
thisと比べると気持ち悪い気がする
最近、すごいことに気がついたんだけど
フォントをCourier NewにするとVBなのに凄くかっこいい言語に見えるから不思議

16 :
>>14
あれがあるから見づらいんだよw
C#みたいに{}でくくれば良い

17 :
じゃあC#やっててくれよw

18 :
今わ2012年なのにVBわ2010とゆーことわ?

19 :
C#にもSelect Case文があれば、以降するんだけれどね。
なんでツケないんだろう・・・

20 :
>>17
やってるよw
>>19
え?switch …

21 :
switch case は Select Case に置き換えられるけど、
Select Case は switch case に置き換えられない場合がある。

22 :
breakの記述が強制されるからswitchがSelect Case相当になっても微妙にうれしくない

23 :
>>21
> Select Case は switch case に置き換えられない場合がある。
例えば?

24 :
Case 1 To 4
Case GetType(String)

25 :
>>23
select caseは、引数に数字以外が指定できる。それこそ条件も可能。
対して、switch caseは数字のみ。
なんで、非常に使い勝手が悪い、

26 :
条件に指定できるのを適当に書くとこんな感じか。
switch case : 整数と文字列、しかも定数のみ
Select Case : なんでもOK

27 :
>>26
C#で使えるようなクラスでもなんでもあったらすごく助かるよ。
定数化するために、ルーチンを別途用意しないといけないのが、移植の際に
辛い。

28 :
>>25
> 対して、switch caseは数字のみ。
使った事ないのね
>>26
> switch case : 整数と文字列、しかも定数のみ
定数ってなんだよw
列挙型の事か?
switch は変数だろうが条件だろうが指定できる select case と何ら変わらないよ

29 :
>>28
> 定数ってなんだよw
> 列挙型の事か?
つ CS0150
> switch は変数だろうが条件だろうが指定できる select case と何ら変わらないよ
つ CS0151

30 :
>>29
このエラーの意味分ってる?
未初期化の配列指定したり、キャストしなかったり、voidメソッド指定してエラーとか当り前
これはやっちゃいけない書き方、だからエラーになるの
switchが〜selectが〜以前の問題
本来はVBでも、ダメなんだけど暗黙的に初期化やキャストが行われてるから通ってるだけ
まずは Option Strict を ON にするクセをつけよう

31 :
……間違いを認めるのは恥ずかしいことじゃないよ

32 :
何の話をしてるよかよく分からんけど、VBのSelect...CaseとC#のswitch...caseって
結構違うのは確かだよ。
例えばC#のcaseの後にはswitchの()の中の値と比較(==)する定数式を一つしか書けないが、VBの場合はCaseの後は
定数式である必要もないし、比較する値は複数でもよいし、そもそも==以外の評価もできる。

33 :
>>32
それは、本来IFで書く事を無理やりselect caseにハメて書いてるだけの事
通常の書き方していればswitchもselectも同じ事ができるし
これに関してC#ユーザーが文句言った事ないだろ?
それはコード書いてて困る事がないからだよ

34 :
言ってる事に無理がありすぎて悲しくなってくるな

35 :
>>33
だから何の話をしてるの?何の話がしたいの?
俺は単に両者の機能には違いがあるといってるだけ。
現にある機能に無理矢理も糞もあるか。そんなのあんたの価値判断だろう。
馬鹿じゃないのか。

36 :
面白いのは、switchは上記のようにC#がシンプルでVBの方がよく言えば柔軟、悪く言えば無駄に多機能なんだが、
forに関してはVBの方がシンプルになってる。
>>33みたいな人は、C#(というよりC系統の言語)のfor文を指して「本来whileで書くことを
無理やり(ママ)forにハメてるだけの事」とか言うのかしらんw

37 :
C#ユーザーが文句言わないのはC系言語はそれが普通だからというのが一番の理由だろうな
まあif並べるのと変らないから実質別に困らないのも事実だが

38 :
C系のswitchってコンパイラに最適化を促すための目印に過ぎないからな
VBのselect caseとはわりと意味的にも違うと思う

39 :
でもVB.NETで書いたコードをC#に置き換える時
C#にはSELECTがないから無理ーとはならない

40 :
まあ変換でどっちが難しいかといえば圧倒的にVB->C#なんだけどな
言語的な意味でもコードの質的な意味でも

41 :
なるほど目印か

42 :
VB.NET も C# も若干書き方は違っても最終的な IL は同じ
結局俺らは .NET Framework サブセットの中で騒いでるだけなのさ

43 :
DataGridViewについて質問があります。

DataGridView1.DataSource = prDs.Tables(0)
Table(0)には、
からむ1
からむ2
からむ3
があるとします。

からむ2の列の型はBooleanで、チェックボックスとなっています。

このチェックボックスがTrueの場合は、"済"を、
そうでない場合は、""を入れたい、

要はDatagridViewのからむ2の列のセルの型をstring型に変更したいのですが
型を変える方法をご教授下さい。

DataGridViewTextBoxColumn型のカラムを追加すれば実現が可能のようですが、
元々datasetで定義しているからむ2を抽出して抽出したからむ2
の型を変更するような方法はないでしょうか?
宜しくお願いします。

44 :
エディットコントロールはチェックボックスにして表示はテキストボックスにするって事?

45 :
データはPostgresから抽出してきています。
指定したテーブルからSELECT文で抽出するのですが、
からむ2に該当するデータがTRUE、FALSE表記となっており、
抽出したデータを構造体に編集し、
編集した構造体をDatagridView.DataSourceに編集し
表示しています。
そのチェックボックス(Boolean型)の表示をString型に型変換して表示するように
変更したいのです。
表示はテキストボックスにして、

46 :
C#のネイティブコンパイラが欲しいな
ソース丸見えとか

47 :
スレチ
ngen

48 :
>>45
AutoGenerateColumns = falseにして手動で全列追加ですな
独自の構造体扱ってるのが良く見えないが
DataSetかDataTable使った方が楽な気はする

49 :
Net Frameworkになってから
CプログラマもVBプログラマも等価になったんでしょ?

50 :
今日VB.NETでラムダ式書いた...
これだけは、C#に合わしてほしかったわ

51 :
質問です
VB2010でアプリを作ってるんですが、フォームに配置したボタン(ボタンAとします)にフォーカスが合っている時にスペースキーを押すと、
Aが押された時のイベントプロシージャが意図せず実行されてしまい困っています
Aはマウスでクリックするかフォーカスが合っている時にEnterキーを押すかのどちらかでしか機能しないようにしたいんですが
何かいい方法はないでしょうか?
↓のような、ボタンAのKeyDownイベント発生時にSuppressKeyPressプロパティをTrueに変更するコードではうまくいきませんでした
Private Sub Button_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Button1.KeyDown
   e.SuppressKeyPress = True
End Sub

52 :
>>51
適当に書くとこんな感じか。
Private Sub Button_KeyUp(ByVal sender As Object, ByVal e As KeyEventArgs) Handles Button.KeyUp
 If (e.KeyCode = Keys.Enter) Then
  Button_MouseClick(Button, New MouseEventArgs(MouseButtons.None, 1, Button.Location.X, Button.Location.Y, 0))
 End If
End Sub
Private Sub Button_MouseClick(ByVal sender As Object, ByVal e As MouseEventArgs) Handles Button.MouseClick
 クリック時に実行したいコード
End Sub
これでマウスとEnterキーにしか反応しないように出来るべ。
Clickイベントには何も書かないように。

53 :
>>52
サンクスです
Clickイベントに何も書くなということですが、このClickイベントとは>>52のMouseClickイベントではなく、
デザイナー上でボタンAをダブルクリックした時に自動生成されるClickイベントのイベントプロシージャには
何も書くなという意味でいいでしょうか?

54 :
と思ったけど自己解決しました
>>53の考え方で合ってたっぽいです
おかげで上手くいきました
しかしこのくらいボタンのプロパティとかでサクッと設定できるようにして欲しかったなぁ・・・

55 :
一般的な操作から逸脱しようとしたら、自分で工夫するしかないさ。

56 :
スペースでボタンクリックできないなんて標準に全く沿わない操作なんかどうでもよし

57 :
コマンドボタンのMouseClickイベントなんて滅多に使わないからね

58 :
サブフォルダの名前一覧を取得したいのですが
ネットワークで接続された他のPCの共有フォルダを対象とした場合
どういった処理をさせれば良いでしょうか。
Directory.GetDirectoriesメソッドやGetSubfoldersメソッドでは
取得できませんでした。
他のPCへはエクスプローラからなら認証なしで接続可能な状態です。

59 :
GetSubfoldersってのは知らないけど、
Directory.GetDirectoriesで普通に取得できるな。

60 :
>>59
確認してくれてありがとうございます。
Directory.GetDirectoriesで可能とのことなら
ネットワークの設定に問題があるのでしょうから
そちらを確認してみます。

61 :
>>60ですが、原因わかりました。
サブフォルダ内のファイルが多いと
取得に時間がかかるようです。
サブフォルダ自体は18個しかないのですが。
3分ほど待ってたら取得できました。
ありがとうございました。

62 :
自演も甚だしいなw
ttp://rucio.cloudapp.net/ThreadDetail.aspx?ThreadId=10912

63 :
古い仕様で申し訳ないのですが
COMについて分かりやすく解説してあるサイトか書籍をご存じないでしょうか?
旧VBの時代には使われていたようですが・・・
よんどころない事情でCOMを覚えるハメになったのですが
手がかりなしに覚えられるほど優秀じゃないので><
猿でも分かる程度に噛み砕いた本かサイトをご存知ないでしょうか?

64 :
前あったけど消えてるな

65 :
と思ったけどあった
http://atata.sakura.ne.jp/

66 :
ありがとうございます

67 :
>>63
俺の本棚に、こんな本があるな
日経BPソフトプレス
Microsoft Visual Basic 6.0 コンポーネント プログラミング
ISBN4-89100-071-6
今でも入手できるかどうかは知らんが、VB6でやるんでなければ買うほどの価値はないかも

68 :
ListBox1.Items.Item(i)
ListBox1.Items(i)
どっちがええの?

69 :
コードの見やすさと量の違いだけ。

70 :
>>55
>一般的な操作から逸脱しようとしたら、自分で工夫するしかないさ。
経験上、一般的な操作から逸脱することをやたらと顧客が強要してきたらデスマフラグだな。
無理だと言っても、偉そうな奴が出てきて「金出してるんだから言われたように作れ」とか騒ぎだすw

71 :
無茶させた事を忘れて、さらに仕様変更とかあるよね

72 :
「やれ」って言われてその通り作ったら、「なんでやったの?」って言われた事がある。

73 :
そんなの自業自得。
仕様を口頭でやり取りして文章も残さないってどんだけ素人仕事なんだよ。

74 :
新システム構築プロジェクト
第625回打ち合わせ議事録
(〜中略〜)
お客A「あっ!今のはオフレコで、議事録に書かないでね。」
担当B「はい。了解しました。」
(〜中略〜)
・本日の決定事項
D画面の仕様は〜とする。
〜の件はオフレコとする。


75 :
AM1:00:00になったら、画面にメッセージを出す処理を
作りたいと思いました。
ア)timerのインターバルを1秒に設定して、毎秒AM1:00:00になったかチェックする
イ)AM1:00:00から今の時間を差し引いて、AM1:00:00間での時間を求め、
  その時間をインターバルにセットする。
この2つが浮かんできたのですが、他にいい方法はないでしょうか。
言い方がおかしいかもしれませんが、timerに直接、「AM1:00:00になったら起動」
という設定方法はないですよね?

76 :
タスクスケジューラを使うのが定石

77 :
>>75
タイマーで頑張るんじゃなくて、Windowsのタスクスケジューラで
その時間にプログラム起動するのオヌヌメ

78 :
>>75
俺ならアだな

79 :
タスクスケジューラがいいと思うけど、タイマ使うならWinFormsのタイマじゃなくて
System.Timers.Timer使えよ

80 :
普通のフォームアプリケーションですが
普段使わないフォームを開くとHDDがアクセスしまくって
時間がかかります。これはフォームをコンパイルでも
しているんでしょうか?
初回起動が遅いのはいいのですがフォーム単位でまで
初回起動が遅いのはいかがなものかと思うのですが

81 :
HDDアクセスがボトルネックになっている場合、コンパイルは全く関係ない
嘘だと思うならNGenを試してもいいけど、たぶん改善しない
単にディスクからコードやリソースを読み込むのに時間がかかっている可能性が高いからな
普段使う方のフォームが開かれている間にバックグラウンドでロードするようにしたら?
フォーム開かなくても、別のスレッドでGetType(普段使わないフォーム).Assembly.GetTypes()とかやればロードされるよ

82 :
>>81
なるほどー。
じゃあメインフォームが起動したらスレッド起こして
その中で全フォームgettypesしてみます。

83 :
すいませんが、助けてください。
1つのフォームの中にWebbrowserを2個貼り付け、URL1,URL2をそれぞれ参照しています。
URL1のWeb参照が出来なくなるとメールを送信してWebが見えなくなった事を知らせて
自分自身をMe.Close()し5秒waitしてから、Loadイベントで再度Webbrowser.Navigate()する
Web監視ソフトを作りました。
長時間URL1が見えなくなると何度もMe.Close()、Webbrowser.Navigate()を繰り返すことに
なり、やがて勝手に別のIEが立ち上がってくるのです。
このIEが立ち上がってくるのを抑止したいのですが、どうやってもうまく行きません
どなたか知恵を貸してください
試しにWebbrowserを1個にすると、何度もMe.Close(),Webbrowser.Navigate()を繰り返しても
IEは立ち上がってきません。
なぜこのような動作になるのでしょう?よろしくお願いします。
WindowsXP SP3 + VB2010expressです。

84 :
とりあえずwebbrowserコントロールで監視ってのがいまいちすぎる

85 :
勝手に別のIEが立ち上がってくるって、エロサイトか?

86 :
さすがにクソすぎる
お願いだからWebRequestを使ってくれ

87 :
>>83
なんかよくわからないが、closeしきれてないうちに
Webbrowser.Navigateしようとするからとか・・・
フォームのインスタンス自体消すようにme.disposeするとか
formclosedイベント内でWebbrowser.Navigateしてみてどうなるか?

88 :
>>83
なぜこのようなアプリを作るのでしょう?よろしくお願いします。

89 :
なぜかVBって文法覚えられないよね
C系の言語だとVBより細かい所まで覚えているのに

90 :
質問です
メインのフォームでOpenFileDialogを使ってCSVファイルを読ませ、別フォームを開いてそこで逐次
CSVファイルの行を読み込みながら処理を行うアプリケーションをVB2010で作ってます
使用時にCSVファイルのフォーマットが想定外のものを間違って読ませてしまう可能性があるので、
TryステートメントのCatchにエラー発生時の例外処理を記述し、そこで使用していたオブジェクトを
Disposeした後Me.Close()でフォームを閉じてメインフォームに戻すようにしたいのですが、実際に
リリースビルドして不正なCSVファイルを読ませてみると
「オブジェクト参照がオブジェクト インスタンスに設定されていません。」
という例外発生のダイアログボックスが出てきます
試しにCatchのDisposeしている部分を削っていきなりMe.Close()すると意図した動作(ダイアログとかが
出ずにそのままフォームが閉じてメインフォームに戻る)になるんですが、実際のところDisposeしないで
いきなりMe.Close()してしまっても問題ないんでしょうか?

91 :
オブジェクトがあったらDisposeするようにしたらいい

92 :
>>91
オブジェクトはいくつか使ってるんで最初はDispose() → Me.Close()するようにしてたんですが、
そうすると>>90で書いた例外のダイアログボックスが出ます
一応使われてるオブジェクトは
・画面表示に使うfontオブジェクト数個(変数font)
・画面表示に使ったグラフィックスオブジェクト(変数g)
・CSVファイル読み込みに使ったStreamReader(変数sr)
なんで、Catchの部分を
Catch
font.Dispose()
g.Dispose()
sr.Dispose()
Me.Close()
Finally
と記述してます
Dispose()の行を削ってMe.Close()だけにすれば表面上の動作は意図した通りになるけど、
それだとオブジェクトの解放処理がちゃんとされてるのかどうか分からなくて

93 :
オブジェクトのインスタンスがあったらの間違いだった

94 :
UsingつかえUsing

95 :
無いものをdispose出来る訳がないだろうに…
つーかdisposeはfinallyに書くもんだろに

96 :
全体的に見直そう
1.Disposeは呼び出し元でするもの
2.Disposeはクローズ後にするもの
3.Disposeが必要なメンバの解放はFormのDisposeをオーバーライドしてその中で行なう
4.モーダルフォームならDisposeの手動呼び出しが必要。モードレスなら不要。

97 :
非同期処理なんだけど
backgroundworkerとtaskどっちつかえばいいのん?
やりやすい方でいい?


98 :
レスありがとうございます
前レスでは書き忘れてましたがsrはDisposeする前にCloseしてます
srは複数のプロシージャにまたがって使い、それ以外のgやfontについては1つのプロシージャだけで使うので
いろいろ試行錯誤してみた結果
・Catch部分ではエラー発生フラグを立てるだけにする
・Try〜End Tryの後の処理は全部If〜End Ifの中に入れて、エラー発生フラグがFalseの時のみ実行
・プロシージャの最後でgとfontをDispose
・エラー発生フラグが立ってたらMe.Close()
・クラス内にFormClosedイベントプロシージャを追加し、そのプロシージャ内でsrをClose→Dispose
という記述に変えたら一応イメージした通りに動作するようになりました
正直腑に落ちない部分は残ってますが・・・
自分としてはMe.Close()が実行されるとその場ですぐ終了処理が行われ、そのプロシージャ内のMe.Close()
以降のコードは無視されるものだと思ってたのですがひょっとして違うんでしょうか?

99 :
下記エラーが時々発生するのですが
回避する方法はありませんでしょうか?
Clipboard.Clear()
Clipboard.SetDataObject(txt_target.Text, True)
要求されたクリップボード操作に成功しませんでした。

100 :
クリップボードはプロセス間で共有されるから成功しない事もあるみたいだよ。
詳しい事はオレも聞きたい。
とりあえずリトライ回数付きのオーバーロード使っとけば?

101 :
>>100
サンキュー。
誰もこのスレにいなかったからC#スレに引っ越しして質問してみたけど
やっぱりそうみたいです。
try catch で Exception ブロックに入って同じコードを実行しようとするとまた同じエラーが発生。
まいったな。

102 :
フォームを非表示にしてNotifyiconを配置してそれをダブルクリックしたら
ある処理を実行させるのですが、そこでメッセージボックスを表示させると
ウィンドウの最背面に出てしまってタスクバーでメッセージボックスのタスクを押さないと
メッセージボックスが前に出てこないのですが、これはどこを直せばいいでしょうか
2010 + WinXPです。

103 :
>>98
何どう考えたらそんなコードになるやら…
レス全然読んでない?
Using使うと死んじゃうとか?w

104 :
>>101
リトライ前に少しウェイト入れてみたら?

105 :
>>103
最初にFormLoadイベントでCSVファイルの先頭行を読んで初期設定をして、その後Timerイベントを
一定間隔で発生させてその度にCSVファイルを1行ずつ読んでいく、というスタイルなんですよ
で、srはFormLoadイベントとTimerイベントの両方でCSVファイルを読むのに使ってますが、Using使うと
プロシージャが終了した時点でいったんDisposeされちゃいますよね?
そうすると再度プロシージャ開始時点でインスタンス作り直したとしても、事前にCSVファイルを
どこまで読み込んだか分からなくなってしまうと思ったのでUsingは使いませんでした

106 :
読み込んでる最中に、新たに書き込み(追記)があることが前提なのか?

107 :
>>104
catchブロックで2秒の待機を入れましたが
エラーが発生する(タイミング)では catchにはいって2秒待機させても
エラーが発生しました。

あきらめて、コピーボタンを再度押す事にします。

108 :
>>105
何でタイマー?別スレッドでやりなよ

109 :
>>107
クリアとセット別々にリトライな

110 :
>>106>>108
プログラム自体は物体の動きをトレースするもので、CSVファイルには経過時間とその時の物体の
座標・速度・針路が記録されてます
んで再生時には
・まずFormLoadイベントでCSVファイルの先頭行を読み取り再生に必要な初期設定を行う
・その後一定間隔おきにTimerイベントを発生させ、そのイベントプロシージャ内で次の処理を実行
 ・CSVファイルの中から現在の経過時間に相当する箇所を読み取り値を各変数に格納
 ・格納した変数に基づいて描画処理を実施する
・Timerイベントを繰り返し発生させることで物体の軌跡を描画する
というわけで、fontやgなどはTimerイベント内でしか使わず、逆にsrの方はFormLoadとTimerの両方のイベントで
使用する、という形になってます
時間経過とともにキャラクターを動かすにはTimerイベントが一番手っ取り早いと思ったのですが・・・

111 :
>>110
なるほど、納得

112 :
Timerイベント内で毎回CSV読むの?
CSV読むのはloadのときだけでよくね?

113 :
>>112
最初はFormLoadイベント時に全部読ませてたんですが、そうすると
大きめのCSVファイルを開くのに数十秒かかってしまったんで
Timerイベントで描画処理しながら逐次読み込むよう変更しました
モノによってはCSVファイルのサイズが数MBとかになったりするもので・・・
ただ逐次読み込みだと最初に全読み込み→エラーチェックができないので、
安易に「とりあえず途中でエラー出たらDisposeしてからMe.Closeすりゃいいか」
と思ってTry構文で記述したら>>90だったので質問させてもらった次第です
結果として情報が小出しになってしまい申し訳ないです

114 :
数メガのCSVに数十秒も掛かるってことはネットワーク越しに
見てるってことか

115 :
とりあえず設計がまずいのは置いておこう
まず、どの行でエラーが出てるか確認する
エラーが出てる変数のインスタンスが破棄されてないかを確認する
これだけの話

116 :
disposeの基本は「インスタンスが存在したら」なんだが何故何度言っても
斜め上に行こうとするのか…
If Not Hoge Is Nothing Then Hoge.Dispose
って書けばわかる?

117 :
>>113
数メガくらい普通にメモリに入れろよ。
ただ読むだけで数十秒とかないだろ。

118 :
>>114
ローカル/ネットワークで開く時間は変わらないですね
>>115-116
IsとIsNot演算子を調べてみたら何となくイメージは掴めました
Not Hoge Is NothingまたはHoge IsNot Nothing がTrueであればHogeはDisposeされてないので
その時だけHogeをDisposeするってことですね
>>117
1行読むごとにReDim Preserveで配列サイズを拡大してるんでそこが時間食ってるのかもです
ファイルサイズ比以上に開くのに要する時間が長くなってるんで・・・
とりあえず教えてもらった内容を参考にコード弄ってみます
いろいろと有難うございました

119 :
>>118
おい、いくら元の質問者が酷かったからって騙ってまで貶めるのは人としてやめろ

>1行読むごとにReDim Preserveで配列サイズを拡大してるんでそこが時間食ってるのかもです
MBサイズのテキストを扱う時にこんな寝ぼけたことする奴がいまだに生き残ってるはずないだろ

120 :
数メガのCSVなんて
http://dobon.net/vb/dotnet/file/readfile.html
で読めば一瞬も掛からない

121 :
それを出すならコッチだろ。
http://dobon.net/vb/dotnet/file/readcsvfile.html
最後のTextFieldParserクラスを使用する方法が、オヌヌメ。

Jet ProviderやODBC Providerを使う方法は64bitに対応してないから使ってはいけない。

122 :
いやいや
Stringに読み込んでsplitするのが一番

123 :
Fortranばりの固定形式が最強

124 :
>>119
至って大真面目です
読み込むCSVファイルの行数が不定なので解説書に載ってたReDim Preserveをそのまま使いました
今調べてみたらArrayListというのを使う方が大きなサイズの配列を扱う時はパフォーマンスがいいようですね
ReDimが最初から配列を作り直してたとは気付きませんでした
なにぶんVB始めたばかりで初心者向けの解説本片手に作ってるもので・・・
>>120-122
読み込みはReadLineで1行読み→Splitで分割→ReDim Preserveで配列のサイズ拡大→Do Untilループで
CSVファイルの末尾までこれを繰り返す という流れで実行してます
どうやらファイルサイズ比以上に遅くなる原因はReDim Preserveで間違いないみたいなので、ArrayListの使い方を
調べてちょっと書き直してみます
最初に一度空読みして行数をカウントして必要な配列のサイズを調べる方が簡単っぽいですが


125 :
ArrayListも過去の遺物だからList(Of T)を使いましょう

126 :
だからー
String変数に一発で読み込んで改行でSplitすれば
一発で行単位のString配列ができるじゃないか。
これでArrayListなんかより何倍も速いしプログラムも
変更しなくていいだろ

127 :
Dim csv As String()() = (From line In File.ReadAllLines("hoge.csv") Select line.Split(",")).ToArray();
でいいよ
というか実際は数値読むんだろ?
だったら一行ずつ読んでクラスのインスタンスにデータ設定してList(Of T)に入れていくのが妥当だろ

128 :
Listじゃなくて勉強がてらQueueにしたら?

129 :
CSV読むのに毎行ReDim Preserveとかどこの解説書だよ
今すぐ窓から投げ捨てるべき
そもそもReDim Preserveなどという老害を今更サンプルで使うこと自体どうかと思うが、
ループ内でReDim Preserveなんてやっちゃいけないことの典型じゃん

130 :
まあとりあえず、ロジックの悪いのは無視しろお前ら
>118
>Not Hoge Is NothingまたはHoge IsNot Nothing がTrueであればHogeはDisposeされてないので
Nothingでないって事は、Hogeの参照が有効だってことだけで、それがDisposeされてるかどうかは関係ないぞ
インスタンスって概念は理解できてるか?
.NETじゃないVBの本参照してるのかと心配になるな

131 :
メインのプロシージャーの中には具体的な処理は書かずにほぼメソッドの呼び出しだけにするのが良いですか?

132 :
そうだけど規模によると思うよ

133 :
Mainは起動引数の処理をするところ

134 :
おまえらのタイピング速度はどの程度?
http://kohada.2ch.net/test/read.cgi/prog/1343325012/

135 :
笑ってください。どうしてもVB6からVB.netに移行できません。
理由は生産性が落ちるからです。
一度コンバーターで変換してみたら、座標系が多くほとんどエラーだらけ。
VB6なら仕事を与えられた時どのくらいで出来るか即答できますが
VB.netだと無限大になってしまいます。これでいつまでも移行できません。
皆さんは仕事の中でどうやってVB6からVB.netに移行しましたか?

136 :
はじめからVB6を知らない

137 :
>>135
このスレを読んでいたらいつのまにかマスターしてた。

138 :
VB4からの移行なので一から覚え直しました

139 :
>>135
コンバータを使わない。
VB6の感覚を捨てる

140 :
>>135
仕事だと思わずに遊びだと思ってやればいい。

141 :
ユーザー定義のスケールモードの匠の技をピクセルで表現するのは事実上不可能。
VB6で作ったサイズを変更しても変更サイズに追従できるチャートとか
そもそもピクセルのスケーリングに変換できない世界がVB6には多いからな。
それが未だにVB6がサポートされる理由の一つかも知れない。

142 :
このスレには仕事で使ってる人が多いのかな?
自分の場合は趣味だけど・・・

143 :
>>142
趣味と仕事の区別がつかない未熟な層がこの業界の大半だから
キミみたいな人がいても不思議じゃない。

144 :
まあ移行できない人が多いほど俺らは稼げるから
そのほうが良い

145 :
C#指定案件が多いのはウチだけかな?
VB.netはなぜかVB6より評価が低いという意味不明な状態がウチでは続いている。

146 :
VB6はアンマネージドだけど最終段はネイティブなCコンパイラだから最適化されたマシン語コードを吐くからね。
それに比べてVB.netは中間コードを吐くに過ぎず、JITでコンパイルしてもネイティブなマシン語コードには程遠い。


147 :
netはキャッシュメモリがでかい高速なCPUで実行する前提の言語だからな。
PentiumIIIとかで実行すると分かるけど、軽いアプリでもほとんど動かないから笑える。

148 :
でも無知な顧客だけでしょVB6でもいいっていうのは

149 :
VB6でいいなんて言う客は皆無に等しい。
しかしVB6で作られたソフトを使ってみて文句を言う客も皆無に等しい。
VB6で作ったソフトをVB.netで作り変えて客に見せると
なんか重くなった気がするから元に戻せとよく言われるが
それは俺のコーディングセンスの問題であると謙虚に受け止めている。

150 :
マシンパワーで乗り切れる

151 :
初回起動以外では特に重くはないような。
コーディングセンスの問題だろう。

152 :
VB6の方が良い事は認めるけどVB6だとWindowsの最新の機能が使えない。
たとえばWindows Vista以降ではデジタルカメラのRAW形式ファイルを読んで表示できる
RAW形式はカメラメーカーごとに異なるけど各社が提供するWindows Imaging Component
コーデックが使えるので、簡単にWindows Presentation Foundation のImagingを使って
VB.netでプログラミングできる。
どうだい?VB6では市販のOCXを駆使したとしても、逆立ちしてもできない芸当だろう?

153 :
VB.NETってC#をVB6風の文法に移植してるよね
なんかVB.NETならではがあればいいんだけど

154 :
>>146
前の現場でもそうだった。
VB6の方が起動速度が速いからね。
ユーザにしてみれば処理速度もVB6の方が早いと勝手に解釈されてしまってる。
VB6からVB.netにリプレースしてクレーム続出で来てる。
作ってる俺もVB6の方が良いと思っているのだが
お上からの命令なので。

155 :
Vistaや7の時に揉めたけど
Windows8はVB6動作サポートするのかい?

156 :
Listbox1にDataSouceを使って項目を表示したのですが
MsgBox(ListBox1.SelectedItem.ToString)を実行すると
"System.Data.ataRowView"と表示されるだけで
項目の取得が出来ません。
項目を取得するにはどうすればいいでしょうか

157 :
デバッガでブレークポイント使ってそこで止めて
ListBox1のSelectedItemを調べてみたら?

158 :
ListBox1.SelectedValueで取得すればいいよ

159 :
>>157-158
ありがとうございます。
明日、試してみます。

160 :
>>158
ValueMemberを設定→SelectedValueで
取得できました。ありがとうございました。

161 :
どういたしまして。

162 :
対象のフレームワークが.NET Framework 3.5の場合と2.0の場合とでプログラムの性能に違いって出ますか?
一応、簡単なテストプログラムで両者の実行速度を比較してみたら速度はほぼ一緒でした。
実行ファイルのサイズは3.5でビルドした方が少し大きかったです。

163 :
ここまでアフォな人間にプログラムなんて無理だなw
ttp://rucio.cloudapp.net/ThreadDetail.aspx?ThreadId=10983

164 :
>「言ってないからやってもいい」だと完全にやってもいい率100%じゃないですかw
>でも、
>「許可してるとも受け止めれる」ですよ?だと完全にやってもいい率50%ですよ?
>
>日本語理解してます?
お前が日本語を理解しろと(ry

165 :
浅はかな子供の知恵ってその程度のものさw

166 :
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1191558446
知恵遅れが知恵袋を利用www

167 :
ttp://ameblo.jp/1209sorabb/
ああ、これか

168 :
みんな、スルースキルなさすぎ

169 :
基地外の糞餓鬼なんかかまうからつけあがるのさ。
自分では何もできないんだから、無視するのが一番さ。

170 :
しかし、こんな低脳見たことないなwww
見ているこちらが恥ずかしいわwwwww

171 :
>>164
マジうけるw
50%ってどこからそんな数字が出てきたんだw

172 :
こんなイタイやつ久しぶりに見たな
親御さんは泣いているぞ

173 :
こいつは本当に回答がほしいんだろうか?
あれを見て回答してくれる奇特な人がいると思っているのだろうか?
クズの心理は全く理解できんw

174 :
まあ中学生なんてこんなもんだ

175 :
君らがやってることも同じぐらい幼稚臭いよ。馬鹿じゃないの。
こんなこと人に言われないと気づかないってのがまた哀れを誘う。

176 :
本人降臨ワロタ

177 :
>次に「shuさん」
>はい、そのサイト使えませんねw”無効”です。

>無効ではないと言う人がいるならば、どう使えばいいのかを説明してください。
気持ち悪すぎ

178 :
>>173
たぶん怪答が欲しいんだと思われ。

179 :
ttp://rucio.cloudapp.net/ThreadDetail.aspx?ThreadId=10976
>bz9さん
>
>はい、事実僕のブラウザでは正常通り稼働しております。
>
>できないはずがありませんw
どんだけ自信過剰。

180 :
よくでてくるアメーバピグとやらはおもしろいの?

181 :
誰だよ厨学校にここのURL貼った奴はw

182 :
投稿者 ムーミン (社会人) 投稿日時 2012/8/2 21:44:49
ここが参考になるかもしれません
ttp://toro.2ch.net/test/read.cgi/tech/1340849001/163n-

183 :
最近VBからC#に移ったけど
やっぱC#の方がいいな
どっちでも同じってよく見るけど
C#→VB目線の意見だわ。


184 :
>>166
こいつの質問内容のレベルは低いし、回答に対するコメントもクズそのものだわ
ttp://my.chiebukuro.yahoo.co.jp/my/myspace_quedetail.php?writer=rsc32056

185 :
夏になるとおかしなやつが出てくるものだw
まるで自分のブログを炎上してほしいと言っているようなものだwww
ttp://ameblo.jp/1209sorabb/

186 :
>なので、ともやさんの様な回答は「"この世にいらない回答なのです"」
おまえの存在自体がこの世にいらないことを早く気付け

187 :
酷いなぁ。あめば運営に確認してOKのソース示すわけでもなく
どう悪用されるかの想像も出来ないくせに、
全部人頼みの分際でのこの暴れように対する
激甘やかしの回答にもむかむかする。

188 :
少子化だからみな子どもに優しいんだよ

189 :
投稿者 近岡 (中学生) 投稿日時 2012/7/13 20:00:37
http://ameblo.jp/1209sorabb/
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If TextBox1.Text = True Then
If TextBox1.Text = My.Settings.Password Then
Form2.Show()
My.Settings.ProductKey = "Yes"
Else
MsgBox("Wrong ProductKey", MsgBoxStyle.Exclamation, "Error")
End If
Else
MsgBox("The Product Key Did Not Match", MsgBoxStyle.Exclamation, "Error")
End If
'コントロールを初期化する
ProgressBar1.Minimum = 0
ProgressBar1.Maximum = 10
ProgressBar1.Value = 0
Label1.Text = "0"
'時間のかかる処理を開始する
Dim i As Integer
For i = 1 To 10
'1秒間待機する(時間のかかる処理があるものとする)
System.Threading.Thread.Sleep(1)
'ProgressBar1の値を変更する
ProgressBar1.Value = i
'Label1のテキストを変更する
Label1.Text = i.ToString()

190 :
続き
'結果を報告する
Label1.Text = "完了しました"
Next
Dim strPass As String = "ここに暗証番号を入れてください!"
If TextBox1.Text = strPass Then
MessageBox.Show("認証完了")
TextBox1.Clear()
MDIParent1.Show()
Me.Close()
Else
MessageBox.Show("認証に失敗しました")
TextBox1.Text = ""
TextBox1.Focus()
End If
End Sub
これを張り付けてください。
設置するものは、相当な初心者でないかぎりわかると思うんで、
それは、言いませんw
では、頑張ってください!

191 :
ゴミを貼るな

192 :
VB.NETで作成したアプリはC#より多くのランタイムライブラリが
必要ですか?

193 :
.NET FrameworkだけでOKなので同じです

194 :
しかし最近の厨学校では、ちょっと調べれば分かるような質問が多いな。
頭の冴えないやつがプログラミングに手を出すのはどうかと思う。

195 :
夏休みの宿題じゃないの?
知恵袋でも学校の課題を画像に撮って聞いてくるやつもいるじゃない。

196 :
宿題か。夏だねぇ。
コードをくれっていう奴もいるが、
コードを書いてもらっても結局アレンジが出来ないから
「動きません」という返事がくるんだろうな。

197 :
ttp://rucio.cloudapp.net/ThreadDetail.aspx?ThreadId=11002

投稿者 だるさん (中学生) 投稿日時 2012/8/11 19:12:27
そらとは友人です。
自演バレバレwww

198 :
ttp://rucio.cloudapp.net/ThreadDetail.aspx?ThreadId=11008
まさに人間のクズだなw
仮面さんも、それに気づいていながらあえて付き合ってあげるとは、何と奇特な方なんだろう。

199 :
VB.NETの基礎的な問題集ってないかな?

200 :
クズ過ぎワロタ
どういう教育受けたらこうなるのやらw
> 投稿者 だるさん (中学生) 投稿日時 2012/8/13 22:51:30

> もうめんどいので、いいです。

> (1),(2),(3),(4),(5)とか書くのだったら
> その1つずつの最後にこの場合だったらのコードを書いていただければいいのに・・。

> もう諦めたんでいいです。

> 回答有難う御座いました。

201 :
>>200
スゲーなw
そんなことで今後自分で組めるのか?

202 :
しかし、弁士さんもこんなのに付き合って、そんなにヒマなのかね?
ズバッと明快な回答を頂ける弁士さんは、非常にありがたい存在なのだが。
非常にもったいない。

203 :
弁さんは10人くらいいる説

204 :
VB達者はスルースキルがないのかねぇ
http://rucio.cloudapp.net/ThreadDetail.aspx?ThreadId=11010

205 :
教えたがりなんでしょ。
傍から見てると胸糞悪くなるやりとりだけど、
当人たちにとってはハッピーなんでしょう。

206 :
弁士は質問者の為に教えているのではまるでないのよ
まったくもって他の閲覧者の為よ
質問者は単なる問答ネタよ

207 :
2chと変わらんな

208 :
質問者には到底理解不能なことを答えてくれるおかげで、おいらの役には立つもんな

209 :
すみません。とうとう書き込みしてしまいます。教えてください。
定型文を作成するプログラムを作っています。たとえば、季節の挨拶のように
A,Bが対になっていてリストボックスでAを指定するとテキストボックスBが
表示されるというようなものなんですが、そのペアをあとからユーザーが登録できる
ようにしたいのです。きっと方法は山ほどあるんでしょうが、一般的にどういう
方法が普通のやり方なんでしょう。レジストリは使いたくありません。登録例は
30程度です。
なにとぞヒントをお願いします。

210 :
その条件でどうレジスリ使おうとしたのか教えてくれww

211 :
>>210
すんません。それくらいのドシロウトということで(汗)
あんまよくわかってないけど、逆にレジストリ使ってできるの?

212 :
XMLに保存しとけ
XmlSerializerとかXDocumentとか使って

213 :
普通にiniファイルかxmlで保存すればいいとおもう

214 :
任意に項目が増えるんだったらXMLが妥当だと思う
レジストリやiniは項目がすべて決まってるときに使うもんだ
別にファイルの形式はXMLでなくてもCSVでもなんでもいいけどXMLが一番簡単だよ

215 :
>>212->>214
ありがとうございます。なんとか夏休みの宿題ができそうです。うれし〜なー。
しかしやはりメジャーな言語は違いますね。過疎言語ではこんなに早くレスはないです。
これからはここを主戦場にしようかな。

216 :
VB.NETをPC98で動かすにわどーすれば

217 :
Monoを移植する

218 :
コンボボックスの項目をクリックしたと同時に
その項目を取得したいのですが、どのイベントを使えばいいでしょうか。
クリックイベントで取得させると前の段階で選択していたものが
取得されてしまいます。

219 :
SelectedItemChanged

220 :
>>219
ありがとうございます。
しかし、その様なイベントはありませんでした。
vb.net2010です。

221 :
>>218
↓キーで選択されたらどうするつもりだったの?
仮に↓キーが効かないとして、
クリックが値を変更する唯一の動作です。って書いてあった?

222 :
>>220
SelectedIndexChanged

223 :
秀丸 4000円ってどーゆーいみ?

224 :
醤油いみ

225 :
>>223
最盛期には年間3000ライセンスぐらい販売していたってことだよ。

226 :
サクラエディタでいいや

227 :
試用期間を設けるため起動回数制限を付けたいんですけど
レジストリに起動回数書く方法より、もっとセキュリティ的に強固な方法ってありますか?(ネット以外で)

228 :
exe自体に保存してしまえばいい

229 :
時間制限にしてNTPで時刻取得するとか

230 :
>>228
再インストールするだけで(ry
>>229
ネット以外でお願いします。

231 :
セキュリティ的に強固ってどういう意味なんだろうか

232 :
>>231
割られないって意味なんですが、なんて書けば良かったですか?

233 :
仮想マシン使ってOS再インストールするなりどうとでもできるから
ネット使えないんならどうしようもない

234 :
揚げ足取りじゃなくてそれってセキュリティと関係ないよねw
個人的には、不正使用する奴は何やってもするから、そんなことにエネルギーを使うのは
時間の無駄だと思う。

235 :
ランダムにゴミファイルを起動するごとに作って、それを数えればいい
ランダムに作成するから削除もユーザーには不可能

236 :
何やったってOS再インストールにはかないません
.NETだとIL解析して再アセンブルして認証外すことも難しくないし

237 :
>>233
ですよね。実は、自分でも時々やってたりして...
ただ仮想マシンか否かはアプリ側からチェックできますよね。
>>235
面白いアイデアですね!それ使わせていただきます。
みなさんおっしゃるように完璧なものはないのでしょうけどかなり良い感じですね。
ありがとうございます。

238 :
いいアイデアなのかな。
正直俺には意味がよく理解できんけどw

239 :
こんなにすぐにレスいただけると思ってませんでした。
とても助かりました。みなさんありがとうございました!

240 :
.なんか文字列を引数にとっていい加減なパスを生成するハッシュ関数を用意しておいて、
ゴミファイルの内容からハッシュ関数で次のゴミファイルのパスを求めて
またその内容から次を…という風に辿っていくとか?
それなら実装は難しくなさそうだが最初をどうするかが問題だな

241 :
最初はMACアドレスとかマザーボードの型番とか使って
ハッシュ関数でパス生成すればいいか?(最初のファイルパスがどこでも同じだとバレやすいから)
以後はランダムな文字列を使うとして

242 :
勝手にあちこちにゴミファイルを作成するってどんなウイルスだよ

243 :
レジストリだって勝手にゴミエントリ作って残しとくんだから変わらんだろ
>>240みたいな方法はファイルでなくレジストリでも使えるはずだけど

244 :
ゴミレジストリの方がマシだわ

245 :
そんなソフト使いたくない

246 :
>>237
仮想マシンかどうかってどうやって確認できるの?

247 :
そんなあなたにRegSeeker

248 :
datatableの中の該当レコードを有るかどうかチェックする方法教えてください
ナンバーが1で属性が炎
って指定して
そのレコードがdatatableにあるかチェックできればいいんですが・・・

249 :
Selectメソッドとか色々

250 :
SELECT * FROM テーブル名 WHERE ナンバー=1 AND 属性='炎'
この際sqliteでも導入してデータベース覚えなよ
データベース使わないにしてもちゃんと型付ければLINQでほぼ同じことできるし

251 :
linq

252 :
>>249
selectメソッドの引数のStringってSQL分を入れればいんですかね
了解いたしました。

253 :
だから秀丸は四千円なんだよな

254 :
ムカつく奴にもあほな質問にも淡々とひたすら回答してるの見ると
実はすごい高性能なボットなのかもと思えてくる。
そのうち人格ゲットして
ムカつく奴やあほを判別できるようになるかも。

255 :
最新レスにするの忘れて亀レスはどうやったら防げるか
ごめんね。

256 :
ttp://el.jibun.atmarkit.co.jp/ahf/2012/07/visualbasic-6a15.html

257 :
>>256
VB.netはC++なんかに比べラフに書けてしまうので最初戸惑った。
乱暴な書き方をすれば、こんなのばかりでプログラムしているとそのうちバカになるんじゃないかと。
でも、今は便利さにどっぷりと(ry

258 :
プログラムを作るにあたり、最低限知っておいたほうがいいことってなに?
分岐、繰り返し、クラスくらい?

259 :
最低限、入門書を一冊買ってきて全部終える
それからMSDNを自分で読めるようになることも超重要

260 :
向上心のない人が対象でお願いします

261 :
じゃやめとけ
仕事にするかプログラミングそのものを趣味にするんでなければ
どう考えても全く労力の割に合わないから

262 :
自分ではなく、向上心のない新人が入ってきたので、どうしようかな。と思って

263 :
頑張って辞めてもらえ

264 :
仕事なら向上心があろうがなかろうが、業務命令で指示出すだけだろ

265 :
自分を超えていく後輩はいないほうがいいじゃん

266 :
やる気ない新人のお守り押し付けられて、育たなかったらお守り役の>>262がドヤされるんだろう、きっと。

267 :
>>258
ググる能力 
まったく該当しなそうな用語でググってるやついるじゃん

268 :
新人に課題をやらせてみたら、その課題の説明文でググりやがったw

269 :
vb.net 2010でStringの長さは最大いくつまで許されますか?

270 :
min(メモリの容量, 文字数がInt32の最大値)まで

271 :
>>270
ありがとうございます!助かりました。

272 :
System.Charのサイズが2バイトで、それが2^31文字だと約4GBか
環境によってはOutOfMemoryよりインデックスのオーバーフローが先かも

273 :
>>267
確かに重要だな。最近はフレームワークが凄く巨大になってて、
数テラバイトのドキュメントの中から必要な情報を速やかに
ピックアップする能力ってのは無視できない。

274 :
ttp://rucio.cloudapp.net/ThreadDetail.aspx?ThreadId=10983
親の顔が見てみたいわwww

275 :
>>274
移転前のブログ
ttp://ameblo.jp/1209sora/
これを見ると16歳で受験って、1年遅くね?
池沼確定だなw

276 :
アホなんだろう
オレの知り合いの知り合いで30過ぎで「一応」を「いちよう」と思っている奴がいるが
中卒のパJスだ
こいつのブログで「とりやえず」って文言があるが、完全に同類だと思う

277 :
「延々と言っている」を「永遠と言っている」奴も居たな。

278 :
未曾有をみぞーうって言う?

279 :
スプレッドのValidatingイベントで、エラーの場合、他のイベントからも呼ばれているファンクションでセットフォーカスしています。
その後e.cancel = true としているのですが、Validatingイベントなので対象セルが編集状態となってしまいます。編集状態ではなくセルが選択された状態(カーソルが入ってない状態)にしたいのですが、うまくいきません。
もしどなたかおわかりになりましたらご教授いただけたら、と思います。
よろしくお願いいたします。

280 :
自己解決しました
お前らはレスおせえよ

281 :
>>280
もう来んなよ。レス速いだろ〜

282 :
VB.net 2010 なんですが、win7で開発していたアプリをXP(仮想、画面色=16bit)で動かすと
フォームの白い面に薄らとモザイクみたいなブロックがいくつも出てしまうんですが、何かわかる方いらっしゃいますか?
本当はバーチャルではないXPで試せればいいんですけど。

283 :
普通に考えればフォームの白い部分の色が16ビットで表現できない色調なんだろ

284 :
>>283
ディザなら数学的な配置になりそうなんですが、そうでもなく、しかも1個がデカいんですよ。地デジのブロックノイズみたいな大きさです。

285 :
>>283
バーチャルでも色数を24bitにできたので試したところ、ご指摘どおりでした。ありがとうございました。

286 :
>>280
自己解決じゃないだろクズ
あちこちにマルポしやがって
ttp://bbs.wankuma.com/index.cgi?mode=al2&namber=63539

287 :
業務アプリケーションでThread使われるとガッカリするよねー

288 :
馬鹿はそうなんでしょうね。

289 :
>>288
Threadって読みにくいじゃん
異議は認めない

290 :
Th ス
rea レッ
d ド

291 :
なんでがっかりするの?

292 :
もちろん彼には理解できないから

293 :
VB .NETなんて滅多に仕事で使わない

294 :
>>292
読めば普通にわかるよ
読みにくいからがっかりする

295 :
WEB用にはたくさんWYSIWYGエディタがあるのですが
WinForms用のものは見つかりません。需要が無いんでしょうか?
欲しいのですが・・・誰か作って!

296 :
>>295
http://www.josecgomez.com/2009/09/21/vs-2008-c-wysiwyg-html-editor/

297 :
WinformでグラフィカルなUIのツールを作ろうと思うんだけど、WPF以外に何か良い物ありますか?

298 :
WinformかWpfかどっちなんだ

299 :
どっちもでいいです。
やっぱりコントロールだけWPFで作ってwinformで使うのが一番ラクですかね

300 :
>>296
ありがとう。試してみます。

301 :
>>299
それはお勧めしないな
重いし動作も怪しくなるし面倒だし何よりWPFの強力なレイアウトや合成が全く活かされない
両方使うんならユーザーコントロールで大きな単位で貼り付ける方がいい

302 :
XAMLは知らない人に教えるのは辛そうだ
勉強する側もモチベーション上がらないかもね

303 :
こんばんは
自分で少しググってみたのですがまだまだ
VBを初めて日がたってなくあまり理解できてない状態です。
そのような状態で皆さんに助けられながら一つのソフトウェアを作成しました。
そこでプログラムの応募をしたのですがどうもエラーが出るらしく困っています。
画像が読み込まれていない場合は各種処理を飛ばす
プログラムをお教えいただけないでしょうか??

304 :
If 読み込まれている(画像) Then
 各種処理(画像)
End If
こっちはお前のプログラムの仕様も構造も一切知らないから、これ以上のことは回答できない
「画像が読み込まれている状態」とは何なのか
「各種処理」とは何なのか
言っている意味が分からないなら、どこかのうpロダにプロジェクトを丸ごと晒せ
心配しなくてもどうせそんなソースに価値なんて全くないから

305 :
説明しずらいのですが、
RGB値
例として適当に(60, 127, 177)だとします。
その、(60, 127, 177)の色がある場所の座標を取得したいのですが、
どうしればいいでしょうか?
取得したやつは、X, Y で記憶させたいです。

できればコードで教えていただけると嬉しいです。


306 :
Bitmap.GetPixel
あとはループがわかってれば簡単
ただGetPixelは糞遅いので、それで作ってみて使い物にならないようなら
代わりにBitmap.LockBitsで爆速
画像ファイルではなく画面上の色という意味なら、Graphics.CopyFromScreenでスクリーンショットが撮れる

307 :
Windows汎用アプリ前提でだけどVB.NETでキーボードのスキャンコードの判定やりたかったら結局
テキストボックスかフォームのハンドルでAPI呼ぶしかないん?
数年アンマネージコード書いてないから作法忘れてるしなぁ・・・
なんか方法ないかな?

308 :
WndProcオーバーライドすればいい

309 :
>>305
最初から座標をピンポイントで指定するだけならGetPixelでも構わんと思うけど
フルスキャンする気ならLockBits一択でしょうな
コードは、「LockBits vb.net」で検索すればいっぱい出てくる

310 :
日曜日の毎週AM9時に動くプログラムのコードわどんなかんじに

311 :
>>310
まともなエンジニアはその手のコードは書かない。
タスクに登録する。

312 :
これって例の掲示板のマルチじゃね?
芸風が…

313 :
>>305
http://rucio.cloudapp.net/ThreadDetail.aspx?ThreadId=11063
すでにコードで回答が出てるようだけど、shuって暇人なの?

314 :
Q10=そら

315 :
>>308
WndProcオーバーライドしてみたけどWindowsMessageの段階ですでにスキャンコードからWindowsキーコードに変換されてる
たとえばメインキー側のエンターキーとテンキー側のエンターキーを区別できないんだよなぁ
109キーボードなら109種類全てを判別したいんだ
ほかになんか方法ないかなぁ

316 :
DirectInput

317 :
>>315
ちょっと何言ってるか分からない
LPARAMにスキャンコード含まれてるだろ

318 :
Dim Ar As String(6)
の要素わ6ケと7ケどっちだっけ

319 :
>>318
RTFM

320 :
今度はこっちにヤサ変えたの?

321 :
>>318
7個

322 :
windowsフォルダに???.sysってファイルを StreamWriterで作ろうとしたんだけど
win7 home premiumでは作れなかったがwin7 ultimateではOKだった。
???.sysをやめて???.iniにしたら home premiumでも問題なく作れたんだけど、
そんなことってある?

323 :
処理中に出すローディング画面って
マルチスレッドでShowDialogがいいの?

324 :
そう。裏に回るのは処理ね

325 :
ファッキンVB厨と呼ばれる覚悟があるならループの中でDoEventsを読んでもいい
長時間一つのIOにブロックされる場合はダメだが

326 :
PentiumV以上のパソコンならShortなんか使わずに常にIntgerつかっとけばいんだべ?

327 :
いんとじゃ〜

328 :
test

329 :
てす

330 :
同じPCで2つのアプリ間でタイマーを利用したUDP通信を実装したんですが、それぞれタイマーでSocketをOpen/Closeしているのでエラーになります。
なにか良い解決策はないでしょうか

331 :
>>330
>タイマーでSocketをOpen/Closeしている
↑を止める。
もしくは、別にもう一つソケットを作って、Socketのオープンクローズを
外部から制御できるようにする。

332 :
Sindy could assign

333 :
質問お願いします。
・textbox1.txtに"様"、"さん"等の敬称(2つだけ)がコピペされた場合、それを削除したい
やり方教えてくださいお願いします

334 :
できた。ごめんなさい

335 :
>>334
「さんまさん」が「ま」になってないですか?

336 :
テキストボックス複数作って、そこクリックしたらテキストボックスに入ってる文字をクリップボードに送るアプリって作れる?

337 :
>>336
超簡単だけど何か?

338 :
集約例外ハンドラってVB.netのフォーム使うプログラムではどうやったらいいんでしょうか。
サンプルとかどこかにないでしょうか

339 :
AddHandler

340 :
悲観的排他制御ってどうしてる?
おすすめ教えて

341 :
普通にSynchronizedでロックでしょ
楽観的な方はInterlocked

342 :
windows Formのデザインがいろいろ乗ってるサイトってありますか?
最悪、WPFでも構いません。

343 :
>>342
目的は何?

344 :
目的は知識を深めることです。
主に参考にしたいです

345 :
フォーム上でなにか操作したときのイベントを取りたいんですが、叶でしょうか?

346 :
>>345
姉妹かよ?
visual studio使ってないの?イベントんとこクリックするだけじゃん。

347 :
どのイベントでしょうか?

348 :
自作でツールバーを作りたくて、ボタンのリストのプロパティを実装しましたが、うまくいきません。
プロパティ画面でボタンを追加したあとに、また開くとリストのプロパティにはボタンは一個も入ってませんが、ボタン自体は画面上にたされています。

349 :
マウスキャプチャで実装しました

350 :
引数で渡した型によって戻り値が変わるファンクションを作りたいのですが、
可能なのでしょうか?

351 :
初心者なら、渡す型ごとにファンクション作ってオーバーロードさせとけばいいんじゃねーの?
色々自信があるなら、引数をObject型にしておいて関数内で元の型を判別してもいいのかもしれないが少なくとも俺は自分ではできればそんな設計で組みたくない

352 :
>>350,351
そういう使い方がジェネリックだと思ってた

353 :
戻り値の型が変わる、ってことだよな?
引数と戻り値が同じ型ならジェネリックでいいんじゃね
引数の型と戻り値の型の対応が決まっているならその分オーバーロード作るべき
そうじゃないならObjectで受けてObject返すしかないんじゃないかな

354 :
ジェネリックで実装できました。
ありがとうございます。

355 :
今どきVBとか馬鹿じゃない?

356 :
馬鹿にもできるからいいんじゃよ

357 :
最近始めたんだけど、なんでVB.NETって、似たような命令がいくつもいくつもあるんだ?
似たような命令ならひとつの命令に引数つけるとかオプションにするとかすればいいのに。

358 :
>>357
質問スレは不満をぶつける場じゃない。
文句は開発者に言え。
金払ってんならサポートしてくれるだろ。

359 :
なんでVB.NETのサンプルって変数とか分かりにくくて短いのばっかつけるの?
Objとかshとか。

360 :
スコープが短いし、メソッドの長さも短いから。
適切にメソッドを分けられていれば変数名なんて大して重要じゃない。
短い変数名くらいで読みづらくなるのはクソ長いメソッドを書いているからであって、
いい加減な変数名なんかよりその方が遥かに害悪。

361 :
VB.NETでAcrobatでPDFが操作加工できると聞いたんだけど資料とかサンプルが見つからない。
いい情報はないでしょうか。

362 :2012/11/02
聞いたなら、言った奴に聞けよ
TOP カテ一覧 スレ一覧 2ch元 削除依頼
【会津】パソコン甲子園2004【若松】 (779)
Subversion r14 (433)
自然言語処理スレッド その3 (617)
雑談スレ 4 (777)
GPGPU#5 (274)
【魔法】リリカル☆Lisp【言語】 (212)
--log9.info------------------
福岡が何気に巨Rな件2 (228)
■□兵庫高校卓球パート4□■ (736)
【最強】ティモボルについて語ろうぞ【カウンター】 (779)
【神】ヤン・オーベ・ワルドナー2【神】 (835)
【キョウヒョウNEO】粘着ラバー総合 9【天極NEO】 (971)
【愛ちゃん3世】 前田美優 【こけし顔】 (524)
【福原?】郭躍少年【眼中に無いわ】 (556)
【炸裂】ペンドラのスレ【フォアハンドドライブ】 (357)
【明誠】島根の卓球6【出雲北陵】 (875)
【カーボン】特殊素材ラケット総合【カーボン】 (204)
卓球用具総合スレ Part31 (328)
【やっぱ】7枚合板ラケットスレ【木材でしょ】 (612)
☆☆☆進路情報3☆☆☆ (822)
【ジーコ】2011年世界王者・張継科のスレ (262)
【マロン】馬龍のスレ (378)
月刊『卓球王国』 3冊目 (200)
--log55.com------------------
【栗城史多似の】栗木ハンター(ワイエディ)10【ダメ工作員】
【栗城史多似の】栗木ハンター(ワイエディ)11【ダメ工作員】
【栗城史多似の】栗木ハンター(ワイエディ)12【ダメ工作員】
【栗城史多似の】栗木ハンター(ワイエディ)13【ダメ工作員】
【栗城史多似の】栗木ハンター(ワイエディ)14【ダメ工作員】
【栗城史多似の】栗木ハンター(ワイエディ)15【ダメ工作員】
【栗城史多似の】栗木ハンター(ワイエディ)16【ダメ工作員】
【栗城史多似の】栗木ハンター(ワイエディ)17【ダメ工作員】