5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

VB.NET質問スレ(Part39)

1 :デフォルトの名無しさん:2012/06/28(木) 11:03:21.54
一応立てておいた

前スレ
VB.NET質問スレ(Part38)
http://toro.2ch.net/test/read.cgi/tech/1325083428/

2 :デフォルトの名無しさん:2012/06/28(木) 11:15:21.82
>>1
俺も建てようと思ってたから乙

3 :デフォルトの名無しさん:2012/06/28(木) 12:25:04.74
なにこの過疎?すごす・・・w

4 :デフォルトの名無しさん:2012/06/28(木) 19:35:17.46
おい、テンプレぐらいちゃんとつくれ 今の時代、小手先の技術=プログラマーじゃ飯くえねーぞ ばーか

5 :デフォルトの名無しさん:2012/06/28(木) 19:36:15.90
ちゅーことて手本を示してやるぜ ワイルドだろぅ〜

公式
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 :デフォルトの名無しさん:2012/06/28(木) 19:37:01.82
過去スレ(降順)

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 :デフォルトの名無しさん:2012/06/28(木) 19:37:34.54
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 :デフォルトの名無しさん:2012/06/28(木) 19:39:30.36
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 :デフォルトの名無しさん:2012/06/30(土) 11:29:47.67
VB.NETはすげーな
あれもできるし、これもできる

10 :デフォルトの名無しさん:2012/06/30(土) 21:05:13.68
まるっきり同じことをやっていても、なぜか簡単そうに見えるのがVBのいいところだよね
ただし、VB6のPGがあーだこーだ口出ししてくる所は好きじゃない

11 :デフォルトの名無しさん:2012/07/01(日) 01:37:28.60
vbはifとかEndでくくるのをやめて欲しい

12 :デフォルトの名無しさん:2012/07/01(日) 15:43:53.26
>>11
それ俺も同じこと思った

13 :デフォルトの名無しさん:2012/07/01(日) 16:22:31.60
いいこと考えた{}で囲ったらわかりやすくね?

14 :デフォルトの名無しさん:2012/07/01(日) 17:57:24.51
>>11
バカだろ
ネストが見やすいのがVBのいいところなのに

15 :デフォルトの名無しさん:2012/07/01(日) 18:17:18.60
VBで何が一番許せないかというと、Meが一番嫌だな
thisと比べると気持ち悪い気がする

最近、すごいことに気がついたんだけど
フォントをCourier NewにするとVBなのに凄くかっこいい言語に見えるから不思議

16 :デフォルトの名無しさん:2012/07/01(日) 19:13:11.87
>>14
あれがあるから見づらいんだよw
C#みたいに{}でくくれば良い

17 :デフォルトの名無しさん:2012/07/01(日) 20:39:45.02
じゃあC#やっててくれよw

18 :デフォルトの名無しさん:2012/07/02(月) 05:48:47.35
今わ2012年なのにVBわ2010とゆーことわ?

19 :デフォルトの名無しさん:2012/07/02(月) 09:38:07.20
C#にもSelect Case文があれば、以降するんだけれどね。

なんでツケないんだろう・・・

20 :デフォルトの名無しさん:2012/07/02(月) 12:23:05.66
>>17
やってるよw

>>19
え?switch …

21 :デフォルトの名無しさん:2012/07/02(月) 14:23:38.05
switch case は Select Case に置き換えられるけど、
Select Case は switch case に置き換えられない場合がある。

22 :デフォルトの名無しさん:2012/07/02(月) 14:40:44.81
breakの記述が強制されるからswitchがSelect Case相当になっても微妙にうれしくない

23 :デフォルトの名無しさん:2012/07/02(月) 15:43:28.65
>>21
> Select Case は switch case に置き換えられない場合がある。
例えば?

24 :デフォルトの名無しさん:2012/07/02(月) 15:53:53.93
Case 1 To 4
Case GetType(String)

25 :デフォルトの名無しさん:2012/07/02(月) 17:11:24.94
>>23
select caseは、引数に数字以外が指定できる。それこそ条件も可能。

対して、switch caseは数字のみ。

なんで、非常に使い勝手が悪い、

26 :デフォルトの名無しさん:2012/07/02(月) 17:31:43.40
条件に指定できるのを適当に書くとこんな感じか。

switch case : 整数と文字列、しかも定数のみ
Select Case : なんでもOK

27 :デフォルトの名無しさん:2012/07/02(月) 17:35:12.85
>>26
C#で使えるようなクラスでもなんでもあったらすごく助かるよ。

定数化するために、ルーチンを別途用意しないといけないのが、移植の際に
辛い。

28 :デフォルトの名無しさん:2012/07/02(月) 20:25:04.41
>>25
> 対して、switch caseは数字のみ。
使った事ないのね

>>26
> switch case : 整数と文字列、しかも定数のみ
定数ってなんだよw
列挙型の事か?

switch は変数だろうが条件だろうが指定できる select case と何ら変わらないよ

29 :デフォルトの名無しさん:2012/07/02(月) 20:36:52.57
>>28
> 定数ってなんだよw
> 列挙型の事か?
つ CS0150

> switch は変数だろうが条件だろうが指定できる select case と何ら変わらないよ
つ CS0151

30 :デフォルトの名無しさん:2012/07/02(月) 23:35:04.42
>>29
このエラーの意味分ってる?
未初期化の配列指定したり、キャストしなかったり、voidメソッド指定してエラーとか当り前
これはやっちゃいけない書き方、だからエラーになるの
switchが〜selectが〜以前の問題

本来はVBでも、ダメなんだけど暗黙的に初期化やキャストが行われてるから通ってるだけ
まずは Option Strict を ON にするクセをつけよう

31 :デフォルトの名無しさん:2012/07/02(月) 23:42:39.87
……間違いを認めるのは恥ずかしいことじゃないよ

32 :デフォルトの名無しさん:2012/07/03(火) 00:06:08.19
何の話をしてるよかよく分からんけど、VBのSelect...CaseとC#のswitch...caseって
結構違うのは確かだよ。

例えばC#のcaseの後にはswitchの()の中の値と比較(==)する定数式を一つしか書けないが、VBの場合はCaseの後は
定数式である必要もないし、比較する値は複数でもよいし、そもそも==以外の評価もできる。

33 :デフォルトの名無しさん:2012/07/03(火) 00:25:21.63
>>32
それは、本来IFで書く事を無理やりselect caseにハメて書いてるだけの事
通常の書き方していればswitchもselectも同じ事ができるし
これに関してC#ユーザーが文句言った事ないだろ?
それはコード書いてて困る事がないからだよ

34 :デフォルトの名無しさん:2012/07/03(火) 00:34:16.93
言ってる事に無理がありすぎて悲しくなってくるな

35 :デフォルトの名無しさん:2012/07/03(火) 00:46:45.28
>>33
だから何の話をしてるの?何の話がしたいの?
俺は単に両者の機能には違いがあるといってるだけ。

現にある機能に無理矢理も糞もあるか。そんなのあんたの価値判断だろう。
馬鹿じゃないのか。

36 :デフォルトの名無しさん:2012/07/03(火) 00:55:03.09
面白いのは、switchは上記のようにC#がシンプルでVBの方がよく言えば柔軟、悪く言えば無駄に多機能なんだが、
forに関してはVBの方がシンプルになってる。

>>33みたいな人は、C#(というよりC系統の言語)のfor文を指して「本来whileで書くことを
無理やり(ママ)forにハメてるだけの事」とか言うのかしらんw

37 :デフォルトの名無しさん:2012/07/03(火) 01:11:30.07
C#ユーザーが文句言わないのはC系言語はそれが普通だからというのが一番の理由だろうな
まあif並べるのと変らないから実質別に困らないのも事実だが

38 :デフォルトの名無しさん:2012/07/03(火) 01:15:29.83
C系のswitchってコンパイラに最適化を促すための目印に過ぎないからな
VBのselect caseとはわりと意味的にも違うと思う

39 :デフォルトの名無しさん:2012/07/03(火) 01:28:38.66
でもVB.NETで書いたコードをC#に置き換える時
C#にはSELECTがないから無理ーとはならない

40 :デフォルトの名無しさん:2012/07/03(火) 01:56:12.54
まあ変換でどっちが難しいかといえば圧倒的にVB->C#なんだけどな
言語的な意味でもコードの質的な意味でも

41 :デフォルトの名無しさん:2012/07/03(火) 01:57:49.32
なるほど目印か

42 :デフォルトの名無しさん:2012/07/03(火) 07:41:28.44
VB.NET も C# も若干書き方は違っても最終的な IL は同じ
結局俺らは .NET Framework サブセットの中で騒いでるだけなのさ

43 :デフォルトの名無しさん:2012/07/03(火) 15:08:50.42
DataGridViewについて質問があります。

DataGridView1.DataSource = prDs.Tables(0)

Table(0)には、
からむ1
からむ2
からむ3
があるとします。

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

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

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

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

宜しくお願いします。

44 :デフォルトの名無しさん:2012/07/03(火) 16:01:40.10
エディットコントロールはチェックボックスにして表示はテキストボックスにするって事?

45 :デフォルトの名無しさん:2012/07/03(火) 16:14:02.84
データはPostgresから抽出してきています。
指定したテーブルからSELECT文で抽出するのですが、
からむ2に該当するデータがTRUE、FALSE表記となっており、
抽出したデータを構造体に編集し、
編集した構造体をDatagridView.DataSourceに編集し
表示しています。

そのチェックボックス(Boolean型)の表示をString型に型変換して表示するように
変更したいのです。

表示はテキストボックスにして、


46 :デフォルトの名無しさん:2012/07/03(火) 16:48:59.53
C#のネイティブコンパイラが欲しいな
ソース丸見えとか

47 :デフォルトの名無しさん:2012/07/03(火) 17:32:37.18
スレチ
ngen

48 :デフォルトの名無しさん:2012/07/03(火) 17:45:24.46
>>45
AutoGenerateColumns = falseにして手動で全列追加ですな
独自の構造体扱ってるのが良く見えないが
DataSetかDataTable使った方が楽な気はする

49 :デフォルトの名無しさん:2012/07/03(火) 18:33:03.48
Net Frameworkになってから
CプログラマもVBプログラマも等価になったんでしょ?

50 :デフォルトの名無しさん:2012/07/03(火) 19:15:18.52
今日VB.NETでラムダ式書いた...

これだけは、C#に合わしてほしかったわ

51 :デフォルトの名無しさん:2012/07/04(水) 03:31:53.13
質問です

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 :デフォルトの名無しさん:2012/07/04(水) 10:16:53.25
>>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 :デフォルトの名無しさん:2012/07/04(水) 11:24:56.61
>>52
サンクスです

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

54 :53:2012/07/04(水) 11:59:52.08
と思ったけど自己解決しました
>>53の考え方で合ってたっぽいです
おかげで上手くいきました

しかしこのくらいボタンのプロパティとかでサクッと設定できるようにして欲しかったなぁ・・・

55 :デフォルトの名無しさん:2012/07/04(水) 12:17:08.66
一般的な操作から逸脱しようとしたら、自分で工夫するしかないさ。

56 :デフォルトの名無しさん:2012/07/04(水) 12:19:03.72
スペースでボタンクリックできないなんて標準に全く沿わない操作なんかどうでもよし

57 :デフォルトの名無しさん:2012/07/04(水) 12:21:57.10
コマンドボタンのMouseClickイベントなんて滅多に使わないからね

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

59 :デフォルトの名無しさん:2012/07/05(木) 21:10:45.27
GetSubfoldersってのは知らないけど、
Directory.GetDirectoriesで普通に取得できるな。

60 :デフォルトの名無しさん:2012/07/05(木) 21:38:59.43
>>59
確認してくれてありがとうございます。
Directory.GetDirectoriesで可能とのことなら
ネットワークの設定に問題があるのでしょうから
そちらを確認してみます。

61 :デフォルトの名無しさん:2012/07/06(金) 19:27:58.18
>>60ですが、原因わかりました。
サブフォルダ内のファイルが多いと
取得に時間がかかるようです。
サブフォルダ自体は18個しかないのですが。
3分ほど待ってたら取得できました。
ありがとうございました。

62 :デフォルトの名無しさん:2012/07/11(水) 13:10:42.32
自演も甚だしいなw

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

63 :デフォルトの名無しさん:2012/07/13(金) 14:55:05.39
古い仕様で申し訳ないのですが
COMについて分かりやすく解説してあるサイトか書籍をご存じないでしょうか?
旧VBの時代には使われていたようですが・・・

よんどころない事情でCOMを覚えるハメになったのですが
手がかりなしに覚えられるほど優秀じゃないので><
猿でも分かる程度に噛み砕いた本かサイトをご存知ないでしょうか?

64 :デフォルトの名無しさん:2012/07/13(金) 15:16:22.60
前あったけど消えてるな

65 :デフォルトの名無しさん:2012/07/13(金) 15:17:28.00
と思ったけどあった
http://atata.sakura.ne.jp/

66 :デフォルトの名無しさん:2012/07/13(金) 21:19:40.62
ありがとうございます

67 :デフォルトの名無しさん:2012/07/14(土) 01:20:23.96
>>63
俺の本棚に、こんな本があるな

日経BPソフトプレス
Microsoft Visual Basic 6.0 コンポーネント プログラミング
ISBN4-89100-071-6

今でも入手できるかどうかは知らんが、VB6でやるんでなければ買うほどの価値はないかも

68 :デフォルトの名無しさん:2012/07/14(土) 21:31:36.40
ListBox1.Items.Item(i)
ListBox1.Items(i)
どっちがええの?

69 :デフォルトの名無しさん:2012/07/14(土) 22:36:45.70
コードの見やすさと量の違いだけ。

70 :デフォルトの名無しさん:2012/07/16(月) 09:54:49.37
>>55
>一般的な操作から逸脱しようとしたら、自分で工夫するしかないさ。

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

71 :デフォルトの名無しさん:2012/07/16(月) 11:10:06.12
無茶させた事を忘れて、さらに仕様変更とかあるよね

72 :デフォルトの名無しさん:2012/07/16(月) 13:04:56.94
「やれ」って言われてその通り作ったら、「なんでやったの?」って言われた事がある。

73 :デフォルトの名無しさん:2012/07/16(月) 14:58:12.89
そんなの自業自得。
仕様を口頭でやり取りして文章も残さないってどんだけ素人仕事なんだよ。


74 :デフォルトの名無しさん:2012/07/16(月) 15:36:26.06
新システム構築プロジェクト
第625回打ち合わせ議事録

(〜中略〜)
お客A「あっ!今のはオフレコで、議事録に書かないでね。」
担当B「はい。了解しました。」
(〜中略〜)

・本日の決定事項
D画面の仕様は〜とする。
〜の件はオフレコとする。



75 :デフォルトの名無しさん:2012/07/17(火) 20:34:16.11
AM1:00:00になったら、画面にメッセージを出す処理を
作りたいと思いました。

ア)timerのインターバルを1秒に設定して、毎秒AM1:00:00になったかチェックする
イ)AM1:00:00から今の時間を差し引いて、AM1:00:00間での時間を求め、
  その時間をインターバルにセットする。

この2つが浮かんできたのですが、他にいい方法はないでしょうか。

言い方がおかしいかもしれませんが、timerに直接、「AM1:00:00になったら起動」
という設定方法はないですよね?

76 :デフォルトの名無しさん:2012/07/17(火) 23:13:04.66
タスクスケジューラを使うのが定石

77 :デフォルトの名無しさん:2012/07/17(火) 23:16:12.47
>>75
タイマーで頑張るんじゃなくて、Windowsのタスクスケジューラで
その時間にプログラム起動するのオヌヌメ

78 :デフォルトの名無しさん:2012/07/17(火) 23:20:04.44
>>75
俺ならアだな

79 :デフォルトの名無しさん:2012/07/17(火) 23:28:24.73
タスクスケジューラがいいと思うけど、タイマ使うならWinFormsのタイマじゃなくて
System.Timers.Timer使えよ

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

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

82 :デフォルトの名無しさん:2012/07/18(水) 10:13:40.79
>>81
なるほどー。
じゃあメインフォームが起動したらスレッド起こして
その中で全フォームgettypesしてみます。

83 :デフォルトの名無しさん:2012/07/18(水) 22:24:23.19
すいませんが、助けてください。
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 :デフォルトの名無しさん:2012/07/18(水) 23:08:29.69
とりあえずwebbrowserコントロールで監視ってのがいまいちすぎる


85 :デフォルトの名無しさん:2012/07/19(木) 16:52:37.10
勝手に別のIEが立ち上がってくるって、エロサイトか?

86 :デフォルトの名無しさん:2012/07/19(木) 20:48:41.86
さすがにクソすぎる
お願いだからWebRequestを使ってくれ

87 :デフォルトの名無しさん:2012/07/20(金) 01:10:37.70
>>83
なんかよくわからないが、closeしきれてないうちに
Webbrowser.Navigateしようとするからとか・・・

フォームのインスタンス自体消すようにme.disposeするとか
formclosedイベント内でWebbrowser.Navigateしてみてどうなるか?


88 :デフォルトの名無しさん:2012/07/20(金) 16:30:24.27
>>83
なぜこのようなアプリを作るのでしょう?よろしくお願いします。

89 :デフォルトの名無しさん:2012/07/22(日) 14:57:11.84
なぜかVBって文法覚えられないよね
C系の言語だとVBより細かい所まで覚えているのに

90 :デフォルトの名無しさん:2012/07/22(日) 16:44:21.80
質問です

メインのフォームでOpenFileDialogを使ってCSVファイルを読ませ、別フォームを開いてそこで逐次
CSVファイルの行を読み込みながら処理を行うアプリケーションをVB2010で作ってます
使用時にCSVファイルのフォーマットが想定外のものを間違って読ませてしまう可能性があるので、
TryステートメントのCatchにエラー発生時の例外処理を記述し、そこで使用していたオブジェクトを
Disposeした後Me.Close()でフォームを閉じてメインフォームに戻すようにしたいのですが、実際に
リリースビルドして不正なCSVファイルを読ませてみると

「オブジェクト参照がオブジェクト インスタンスに設定されていません。」

という例外発生のダイアログボックスが出てきます
試しにCatchのDisposeしている部分を削っていきなりMe.Close()すると意図した動作(ダイアログとかが
出ずにそのままフォームが閉じてメインフォームに戻る)になるんですが、実際のところDisposeしないで
いきなりMe.Close()してしまっても問題ないんでしょうか?

91 :デフォルトの名無しさん:2012/07/22(日) 16:46:24.61
オブジェクトがあったらDisposeするようにしたらいい

92 :デフォルトの名無しさん:2012/07/22(日) 17:09:15.25
>>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 :デフォルトの名無しさん:2012/07/22(日) 17:16:14.32
オブジェクトのインスタンスがあったらの間違いだった

94 :デフォルトの名無しさん:2012/07/22(日) 17:38:47.59
UsingつかえUsing

95 :デフォルトの名無しさん:2012/07/22(日) 17:43:13.21
無いものをdispose出来る訳がないだろうに…
つーかdisposeはfinallyに書くもんだろに

96 :デフォルトの名無しさん:2012/07/22(日) 18:08:34.48
全体的に見直そう
1.Disposeは呼び出し元でするもの
2.Disposeはクローズ後にするもの
3.Disposeが必要なメンバの解放はFormのDisposeをオーバーライドしてその中で行なう
4.モーダルフォームならDisposeの手動呼び出しが必要。モードレスなら不要。

97 :デフォルトの名無しさん:2012/07/22(日) 19:05:15.55
非同期処理なんだけど
backgroundworkerとtaskどっちつかえばいいのん?
やりやすい方でいい?



98 :92:2012/07/22(日) 21:24:52.28
レスありがとうございます
前レスでは書き忘れてましたが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 :デフォルトの名無しさん:2012/07/22(日) 21:25:02.24
下記エラーが時々発生するのですが
回避する方法はありませんでしょうか?

Clipboard.Clear()
Clipboard.SetDataObject(txt_target.Text, True)

要求されたクリップボード操作に成功しませんでした。


100 :デフォルトの名無しさん:2012/07/22(日) 21:50:33.60
クリップボードはプロセス間で共有されるから成功しない事もあるみたいだよ。
詳しい事はオレも聞きたい。
とりあえずリトライ回数付きのオーバーロード使っとけば?

101 :デフォルトの名無しさん:2012/07/22(日) 21:58:16.75
>>100

サンキュー。
誰もこのスレにいなかったからC#スレに引っ越しして質問してみたけど
やっぱりそうみたいです。

try catch で Exception ブロックに入って同じコードを実行しようとするとまた同じエラーが発生。
まいったな。

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

103 :デフォルトの名無しさん:2012/07/22(日) 22:46:41.70
>>98
何どう考えたらそんなコードになるやら…
レス全然読んでない?
Using使うと死んじゃうとか?w

104 :デフォルトの名無しさん:2012/07/22(日) 22:51:11.76
>>101
リトライ前に少しウェイト入れてみたら?

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

106 :デフォルトの名無しさん:2012/07/22(日) 23:42:02.58
読み込んでる最中に、新たに書き込み(追記)があることが前提なのか?


107 :デフォルトの名無しさん:2012/07/23(月) 00:35:14.20
>>104
catchブロックで2秒の待機を入れましたが
エラーが発生する(タイミング)では catchにはいって2秒待機させても
エラーが発生しました。


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

108 :デフォルトの名無しさん:2012/07/23(月) 00:37:46.12
>>105
何でタイマー?別スレッドでやりなよ

109 :デフォルトの名無しさん:2012/07/23(月) 00:39:00.92
>>107
クリアとセット別々にリトライな

110 :デフォルトの名無しさん:2012/07/23(月) 00:58:20.58
>>106>>108
プログラム自体は物体の動きをトレースするもので、CSVファイルには経過時間とその時の物体の
座標・速度・針路が記録されてます
んで再生時には

・まずFormLoadイベントでCSVファイルの先頭行を読み取り再生に必要な初期設定を行う
・その後一定間隔おきにTimerイベントを発生させ、そのイベントプロシージャ内で次の処理を実行
 ・CSVファイルの中から現在の経過時間に相当する箇所を読み取り値を各変数に格納
 ・格納した変数に基づいて描画処理を実施する
・Timerイベントを繰り返し発生させることで物体の軌跡を描画する

というわけで、fontやgなどはTimerイベント内でしか使わず、逆にsrの方はFormLoadとTimerの両方のイベントで
使用する、という形になってます
時間経過とともにキャラクターを動かすにはTimerイベントが一番手っ取り早いと思ったのですが・・・

111 :デフォルトの名無しさん:2012/07/23(月) 08:52:17.76
>>110
なるほど、納得

112 :デフォルトの名無しさん:2012/07/23(月) 09:07:06.17
Timerイベント内で毎回CSV読むの?
CSV読むのはloadのときだけでよくね?

113 :92:2012/07/23(月) 10:47:07.19
>>112
最初はFormLoadイベント時に全部読ませてたんですが、そうすると
大きめのCSVファイルを開くのに数十秒かかってしまったんで
Timerイベントで描画処理しながら逐次読み込むよう変更しました
モノによってはCSVファイルのサイズが数MBとかになったりするもので・・・

ただ逐次読み込みだと最初に全読み込み→エラーチェックができないので、
安易に「とりあえず途中でエラー出たらDisposeしてからMe.Closeすりゃいいか」
と思ってTry構文で記述したら>>90だったので質問させてもらった次第です
結果として情報が小出しになってしまい申し訳ないです

114 :デフォルトの名無しさん:2012/07/23(月) 10:54:55.69
数メガのCSVに数十秒も掛かるってことはネットワーク越しに
見てるってことか

115 :デフォルトの名無しさん:2012/07/23(月) 13:53:15.20
とりあえず設計がまずいのは置いておこう

まず、どの行でエラーが出てるか確認する
エラーが出てる変数のインスタンスが破棄されてないかを確認する

これだけの話

116 :デフォルトの名無しさん:2012/07/23(月) 19:44:18.56
disposeの基本は「インスタンスが存在したら」なんだが何故何度言っても
斜め上に行こうとするのか…
If Not Hoge Is Nothing Then Hoge.Dispose
って書けばわかる?

117 :デフォルトの名無しさん:2012/07/23(月) 22:49:26.38
>>113
数メガくらい普通にメモリに入れろよ。
ただ読むだけで数十秒とかないだろ。

118 :92:2012/07/23(月) 23:18:48.13
>>114
ローカル/ネットワークで開く時間は変わらないですね

>>115-116
IsとIsNot演算子を調べてみたら何となくイメージは掴めました
Not Hoge Is NothingまたはHoge IsNot Nothing がTrueであればHogeはDisposeされてないので
その時だけHogeをDisposeするってことですね

>>117
1行読むごとにReDim Preserveで配列サイズを拡大してるんでそこが時間食ってるのかもです
ファイルサイズ比以上に開くのに要する時間が長くなってるんで・・・

とりあえず教えてもらった内容を参考にコード弄ってみます
いろいろと有難うございました

119 :デフォルトの名無しさん:2012/07/23(月) 23:23:54.96
>>118
おい、いくら元の質問者が酷かったからって騙ってまで貶めるのは人としてやめろ


>1行読むごとにReDim Preserveで配列サイズを拡大してるんでそこが時間食ってるのかもです

MBサイズのテキストを扱う時にこんな寝ぼけたことする奴がいまだに生き残ってるはずないだろ

120 :デフォルトの名無しさん:2012/07/23(月) 23:29:54.52
数メガのCSVなんて
http://dobon.net/vb/dotnet/file/readfile.html
で読めば一瞬も掛からない

121 :デフォルトの名無しさん:2012/07/23(月) 23:42:09.06
それを出すならコッチだろ。
http://dobon.net/vb/dotnet/file/readcsvfile.html
最後のTextFieldParserクラスを使用する方法が、オヌヌメ。


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

122 :デフォルトの名無しさん:2012/07/23(月) 23:43:02.26
いやいや
Stringに読み込んでsplitするのが一番

123 :デフォルトの名無しさん:2012/07/23(月) 23:52:43.92
Fortranばりの固定形式が最強

124 :デフォルトの名無しさん:2012/07/24(火) 00:02:25.03
>>119
至って大真面目です
読み込むCSVファイルの行数が不定なので解説書に載ってたReDim Preserveをそのまま使いました
今調べてみたらArrayListというのを使う方が大きなサイズの配列を扱う時はパフォーマンスがいいようですね
ReDimが最初から配列を作り直してたとは気付きませんでした
なにぶんVB始めたばかりで初心者向けの解説本片手に作ってるもので・・・

>>120-122
読み込みはReadLineで1行読み→Splitで分割→ReDim Preserveで配列のサイズ拡大→Do Untilループで
CSVファイルの末尾までこれを繰り返す という流れで実行してます
どうやらファイルサイズ比以上に遅くなる原因はReDim Preserveで間違いないみたいなので、ArrayListの使い方を
調べてちょっと書き直してみます
最初に一度空読みして行数をカウントして必要な配列のサイズを調べる方が簡単っぽいですが



125 :デフォルトの名無しさん:2012/07/24(火) 00:03:49.31
ArrayListも過去の遺物だからList(Of T)を使いましょう

126 :デフォルトの名無しさん:2012/07/24(火) 00:05:36.77
だからー
String変数に一発で読み込んで改行でSplitすれば
一発で行単位のString配列ができるじゃないか。
これでArrayListなんかより何倍も速いしプログラムも
変更しなくていいだろ

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

128 :デフォルトの名無しさん:2012/07/24(火) 00:24:06.81
Listじゃなくて勉強がてらQueueにしたら?

129 :デフォルトの名無しさん:2012/07/24(火) 01:08:26.62
CSV読むのに毎行ReDim Preserveとかどこの解説書だよ
今すぐ窓から投げ捨てるべき
そもそもReDim Preserveなどという老害を今更サンプルで使うこと自体どうかと思うが、
ループ内でReDim Preserveなんてやっちゃいけないことの典型じゃん

130 :デフォルトの名無しさん:2012/07/24(火) 02:30:05.10
まあとりあえず、ロジックの悪いのは無視しろお前ら
>118
>Not Hoge Is NothingまたはHoge IsNot Nothing がTrueであればHogeはDisposeされてないので
Nothingでないって事は、Hogeの参照が有効だってことだけで、それがDisposeされてるかどうかは関係ないぞ
インスタンスって概念は理解できてるか?

.NETじゃないVBの本参照してるのかと心配になるな

131 :デフォルトの名無しさん:2012/07/24(火) 22:39:40.81
メインのプロシージャーの中には具体的な処理は書かずにほぼメソッドの呼び出しだけにするのが良いですか?

132 :デフォルトの名無しさん:2012/07/24(火) 23:37:15.61
そうだけど規模によると思うよ

133 :デフォルトの名無しさん:2012/07/25(水) 23:34:53.62
Mainは起動引数の処理をするところ

134 :デフォルトの名無しさん:2012/07/27(金) 15:18:21.15
おまえらのタイピング速度はどの程度?
http://kohada.2ch.net/test/read.cgi/prog/1343325012/

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


136 :デフォルトの名無しさん:2012/07/30(月) 10:13:47.72
はじめからVB6を知らない

137 :デフォルトの名無しさん:2012/07/30(月) 11:14:03.29
>>135
このスレを読んでいたらいつのまにかマスターしてた。

138 :デフォルトの名無しさん:2012/07/30(月) 12:40:25.39
VB4からの移行なので一から覚え直しました


139 :デフォルトの名無しさん:2012/07/30(月) 12:41:30.61
>>135
コンバータを使わない。
VB6の感覚を捨てる

140 :デフォルトの名無しさん:2012/07/30(月) 12:41:58.77
>>135
仕事だと思わずに遊びだと思ってやればいい。

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

142 :デフォルトの名無しさん:2012/07/30(月) 12:54:06.51
このスレには仕事で使ってる人が多いのかな?
自分の場合は趣味だけど・・・

143 :デフォルトの名無しさん:2012/07/30(月) 12:58:37.41
>>142
趣味と仕事の区別がつかない未熟な層がこの業界の大半だから
キミみたいな人がいても不思議じゃない。

144 :デフォルトの名無しさん:2012/07/30(月) 13:04:55.35
まあ移行できない人が多いほど俺らは稼げるから
そのほうが良い

145 :デフォルトの名無しさん:2012/07/30(月) 13:06:23.50
C#指定案件が多いのはウチだけかな?
VB.netはなぜかVB6より評価が低いという意味不明な状態がウチでは続いている。

146 :デフォルトの名無しさん:2012/07/30(月) 13:08:43.40
VB6はアンマネージドだけど最終段はネイティブなCコンパイラだから最適化されたマシン語コードを吐くからね。
それに比べてVB.netは中間コードを吐くに過ぎず、JITでコンパイルしてもネイティブなマシン語コードには程遠い。




147 :デフォルトの名無しさん:2012/07/30(月) 13:10:31.36
netはキャッシュメモリがでかい高速なCPUで実行する前提の言語だからな。
PentiumIIIとかで実行すると分かるけど、軽いアプリでもほとんど動かないから笑える。

148 :デフォルトの名無しさん:2012/07/30(月) 13:12:25.90
でも無知な顧客だけでしょVB6でもいいっていうのは

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

150 :デフォルトの名無しさん:2012/07/30(月) 13:25:45.72
マシンパワーで乗り切れる

151 :デフォルトの名無しさん:2012/07/30(月) 13:33:19.26
初回起動以外では特に重くはないような。
コーディングセンスの問題だろう。

152 :デフォルトの名無しさん:2012/07/30(月) 13:33:53.70
VB6の方が良い事は認めるけどVB6だとWindowsの最新の機能が使えない。
たとえばWindows Vista以降ではデジタルカメラのRAW形式ファイルを読んで表示できる
RAW形式はカメラメーカーごとに異なるけど各社が提供するWindows Imaging Component
コーデックが使えるので、簡単にWindows Presentation Foundation のImagingを使って
VB.netでプログラミングできる。

どうだい?VB6では市販のOCXを駆使したとしても、逆立ちしてもできない芸当だろう?

153 :デフォルトの名無しさん:2012/07/30(月) 14:14:59.98
VB.NETってC#をVB6風の文法に移植してるよね

なんかVB.NETならではがあればいいんだけど


154 :デフォルトの名無しさん:2012/07/30(月) 14:40:42.08
>>146
前の現場でもそうだった。

VB6の方が起動速度が速いからね。
ユーザにしてみれば処理速度もVB6の方が早いと勝手に解釈されてしまってる。

VB6からVB.netにリプレースしてクレーム続出で来てる。
作ってる俺もVB6の方が良いと思っているのだが
お上からの命令なので。

155 :デフォルトの名無しさん:2012/07/30(月) 16:51:39.71
Vistaや7の時に揉めたけど
Windows8はVB6動作サポートするのかい?

156 :デフォルトの名無しさん:2012/07/30(月) 17:08:33.18
Listbox1にDataSouceを使って項目を表示したのですが
MsgBox(ListBox1.SelectedItem.ToString)を実行すると
"System.Data.ataRowView"と表示されるだけで
項目の取得が出来ません。
項目を取得するにはどうすればいいでしょうか

157 :デフォルトの名無しさん:2012/07/30(月) 17:16:30.78
デバッガでブレークポイント使ってそこで止めて
ListBox1のSelectedItemを調べてみたら?

158 :デフォルトの名無しさん:2012/07/30(月) 17:18:54.05
ListBox1.SelectedValueで取得すればいいよ

159 :デフォルトの名無しさん:2012/07/30(月) 18:13:30.60
>>157-158
ありがとうございます。
明日、試してみます。

160 :デフォルトの名無しさん:2012/07/30(月) 20:20:11.61
>>158
ValueMemberを設定→SelectedValueで
取得できました。ありがとうございました。

161 :デフォルトの名無しさん:2012/07/31(火) 10:17:02.82
どういたしまして。

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

163 :デフォルトの名無しさん:2012/08/02(木) 11:19:57.38
ここまでアフォな人間にプログラムなんて無理だなw

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

164 :デフォルトの名無しさん:2012/08/02(木) 11:22:12.68
>「言ってないからやってもいい」だと完全にやってもいい率100%じゃないですかw
>でも、
>「許可してるとも受け止めれる」ですよ?だと完全にやってもいい率50%ですよ?
>
>日本語理解してます?

お前が日本語を理解しろと(ry

165 :デフォルトの名無しさん:2012/08/02(木) 11:37:13.51
浅はかな子供の知恵ってその程度のものさw

166 :デフォルトの名無しさん:2012/08/02(木) 12:56:30.31
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1191558446

知恵遅れが知恵袋を利用www

167 :デフォルトの名無しさん:2012/08/02(木) 13:56:15.83
ttp://ameblo.jp/1209sorabb/

ああ、これか

168 :デフォルトの名無しさん:2012/08/02(木) 21:41:10.57
みんな、スルースキルなさすぎ

169 :デフォルトの名無しさん:2012/08/02(木) 21:47:49.36
基地外の糞餓鬼なんかかまうからつけあがるのさ。
自分では何もできないんだから、無視するのが一番さ。

170 :デフォルトの名無しさん:2012/08/02(木) 21:53:55.64
しかし、こんな低脳見たことないなwww
見ているこちらが恥ずかしいわwwwww

171 :デフォルトの名無しさん:2012/08/02(木) 22:03:07.78
>>164
マジうけるw
50%ってどこからそんな数字が出てきたんだw

172 :デフォルトの名無しさん:2012/08/02(木) 22:18:20.92
こんなイタイやつ久しぶりに見たな
親御さんは泣いているぞ

173 :デフォルトの名無しさん:2012/08/02(木) 22:36:52.02
こいつは本当に回答がほしいんだろうか?
あれを見て回答してくれる奇特な人がいると思っているのだろうか?
クズの心理は全く理解できんw

174 :デフォルトの名無しさん:2012/08/02(木) 22:45:28.95
まあ中学生なんてこんなもんだ

175 :デフォルトの名無しさん:2012/08/02(木) 23:34:18.41
君らがやってることも同じぐらい幼稚臭いよ。馬鹿じゃないの。
こんなこと人に言われないと気づかないってのがまた哀れを誘う。

176 :デフォルトの名無しさん:2012/08/03(金) 04:07:07.32
本人降臨ワロタ

177 :デフォルトの名無しさん:2012/08/03(金) 06:50:30.68
>次に「shuさん」
>はい、そのサイト使えませんねw”無効”です。

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

気持ち悪すぎ

178 :デフォルトの名無しさん:2012/08/03(金) 07:40:01.96
>>173
たぶん怪答が欲しいんだと思われ。

179 :デフォルトの名無しさん:2012/08/03(金) 10:09:57.90
ttp://rucio.cloudapp.net/ThreadDetail.aspx?ThreadId=10976
>bz9さん
>
>はい、事実僕のブラウザでは正常通り稼働しております。
>
>できないはずがありませんw

どんだけ自信過剰。

180 :デフォルトの名無しさん:2012/08/03(金) 10:17:50.60
よくでてくるアメーバピグとやらはおもしろいの?


181 :デフォルトの名無しさん:2012/08/03(金) 11:08:28.84
誰だよ厨学校にここのURL貼った奴はw

182 :デフォルトの名無しさん:2012/08/03(金) 15:27:47.95
投稿者 ムーミン (社会人) 投稿日時 2012/8/2 21:44:49
ここが参考になるかもしれません
ttp://toro.2ch.net/test/read.cgi/tech/1340849001/163n-

183 :デフォルトの名無しさん:2012/08/03(金) 20:37:29.20
最近VBからC#に移ったけど
やっぱC#の方がいいな
どっちでも同じってよく見るけど
C#→VB目線の意見だわ。



184 :デフォルトの名無しさん:2012/08/04(土) 05:14:52.17
>>166
こいつの質問内容のレベルは低いし、回答に対するコメントもクズそのものだわ

ttp://my.chiebukuro.yahoo.co.jp/my/myspace_quedetail.php?writer=rsc32056

185 :デフォルトの名無しさん:2012/08/05(日) 06:25:49.83
夏になるとおかしなやつが出てくるものだw
まるで自分のブログを炎上してほしいと言っているようなものだwww

ttp://ameblo.jp/1209sorabb/


186 :デフォルトの名無しさん:2012/08/05(日) 06:30:48.08
>なので、ともやさんの様な回答は「"この世にいらない回答なのです"」

おまえの存在自体がこの世にいらないことを早く気付け

187 :デフォルトの名無しさん:2012/08/07(火) 11:08:15.55
酷いなぁ。あめば運営に確認してOKのソース示すわけでもなく
どう悪用されるかの想像も出来ないくせに、
全部人頼みの分際でのこの暴れように対する
激甘やかしの回答にもむかむかする。

188 :デフォルトの名無しさん:2012/08/07(火) 11:22:09.13
少子化だからみな子どもに優しいんだよ

189 :デフォルトの名無しさん:2012/08/08(水) 05:58:35.33
投稿者 近岡 (中学生) 投稿日時 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 :デフォルトの名無しさん:2012/08/08(水) 05:59:17.28
続き

'結果を報告する
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 :デフォルトの名無しさん:2012/08/08(水) 15:09:40.35
ゴミを貼るな

192 :デフォルトの名無しさん:2012/08/08(水) 17:47:53.18
VB.NETで作成したアプリはC#より多くのランタイムライブラリが
必要ですか?

193 :デフォルトの名無しさん:2012/08/08(水) 18:52:43.80
.NET FrameworkだけでOKなので同じです

194 :デフォルトの名無しさん:2012/08/09(木) 21:07:29.05
しかし最近の厨学校では、ちょっと調べれば分かるような質問が多いな。
頭の冴えないやつがプログラミングに手を出すのはどうかと思う。

195 :デフォルトの名無しさん:2012/08/10(金) 09:38:24.43
夏休みの宿題じゃないの?
知恵袋でも学校の課題を画像に撮って聞いてくるやつもいるじゃない。

196 :デフォルトの名無しさん:2012/08/10(金) 15:05:34.48
宿題か。夏だねぇ。
コードをくれっていう奴もいるが、
コードを書いてもらっても結局アレンジが出来ないから
「動きません」という返事がくるんだろうな。

197 :デフォルトの名無しさん:2012/08/13(月) 17:35:34.79
ttp://rucio.cloudapp.net/ThreadDetail.aspx?ThreadId=11002


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

自演バレバレwww

198 :デフォルトの名無しさん:2012/08/14(火) 00:09:11.29
ttp://rucio.cloudapp.net/ThreadDetail.aspx?ThreadId=11008

まさに人間のクズだなw
仮面さんも、それに気づいていながらあえて付き合ってあげるとは、何と奇特な方なんだろう。


199 :デフォルトの名無しさん:2012/08/14(火) 00:21:44.48
VB.NETの基礎的な問題集ってないかな?

200 :デフォルトの名無しさん:2012/08/14(火) 05:43:16.70
クズ過ぎワロタ
どういう教育受けたらこうなるのやらw

> 投稿者 だるさん (中学生) 投稿日時 2012/8/13 22:51:30

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

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

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

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

201 :デフォルトの名無しさん:2012/08/14(火) 08:16:51.66
>>200
スゲーなw
そんなことで今後自分で組めるのか?

202 :デフォルトの名無しさん:2012/08/14(火) 11:37:46.54
しかし、弁士さんもこんなのに付き合って、そんなにヒマなのかね?
ズバッと明快な回答を頂ける弁士さんは、非常にありがたい存在なのだが。
非常にもったいない。

203 :デフォルトの名無しさん:2012/08/14(火) 13:42:12.28
弁さんは10人くらいいる説

204 :デフォルトの名無しさん:2012/08/15(水) 11:50:09.29
VB達者はスルースキルがないのかねぇ

http://rucio.cloudapp.net/ThreadDetail.aspx?ThreadId=11010

205 :デフォルトの名無しさん:2012/08/15(水) 12:27:01.89
教えたがりなんでしょ。
傍から見てると胸糞悪くなるやりとりだけど、
当人たちにとってはハッピーなんでしょう。

206 :デフォルトの名無しさん:2012/08/19(日) 20:46:21.44
弁士は質問者の為に教えているのではまるでないのよ
まったくもって他の閲覧者の為よ
質問者は単なる問答ネタよ

207 :デフォルトの名無しさん:2012/08/19(日) 20:51:24.54
2chと変わらんな

208 :デフォルトの名無しさん:2012/08/19(日) 21:22:07.24
質問者には到底理解不能なことを答えてくれるおかげで、おいらの役には立つもんな

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

210 :デフォルトの名無しさん:2012/08/20(月) 20:34:24.75
その条件でどうレジスリ使おうとしたのか教えてくれww

211 :デフォルトの名無しさん:2012/08/20(月) 20:42:09.16
>>210
すんません。それくらいのドシロウトということで(汗)
あんまよくわかってないけど、逆にレジストリ使ってできるの?

212 :デフォルトの名無しさん:2012/08/20(月) 20:44:12.46
XMLに保存しとけ
XmlSerializerとかXDocumentとか使って

213 :デフォルトの名無しさん:2012/08/20(月) 20:44:26.20
普通にiniファイルかxmlで保存すればいいとおもう

214 :デフォルトの名無しさん:2012/08/20(月) 21:12:49.31
任意に項目が増えるんだったらXMLが妥当だと思う
レジストリやiniは項目がすべて決まってるときに使うもんだ
別にファイルの形式はXMLでなくてもCSVでもなんでもいいけどXMLが一番簡単だよ

215 :デフォルトの名無しさん:2012/08/20(月) 22:54:25.47
>>212->>214
ありがとうございます。なんとか夏休みの宿題ができそうです。うれし〜なー。
しかしやはりメジャーな言語は違いますね。過疎言語ではこんなに早くレスはないです。
これからはここを主戦場にしようかな。

216 :デフォルトの名無しさん:2012/08/22(水) 06:40:10.62
VB.NETをPC98で動かすにわどーすれば

217 :デフォルトの名無しさん:2012/08/22(水) 08:19:44.13
Monoを移植する

218 :デフォルトの名無しさん:2012/08/23(木) 14:18:00.63
コンボボックスの項目をクリックしたと同時に
その項目を取得したいのですが、どのイベントを使えばいいでしょうか。
クリックイベントで取得させると前の段階で選択していたものが
取得されてしまいます。

219 :デフォルトの名無しさん:2012/08/23(木) 14:38:13.99
SelectedItemChanged

220 :デフォルトの名無しさん:2012/08/23(木) 15:06:06.77
>>219
ありがとうございます。
しかし、その様なイベントはありませんでした。
vb.net2010です。

221 :デフォルトの名無しさん:2012/08/23(木) 15:45:52.50
>>218
↓キーで選択されたらどうするつもりだったの?
仮に↓キーが効かないとして、
クリックが値を変更する唯一の動作です。って書いてあった?

222 :デフォルトの名無しさん:2012/08/23(木) 18:19:25.97
>>220
SelectedIndexChanged

223 :デフォルトの名無しさん:2012/08/24(金) 05:31:13.70
秀丸 4000円ってどーゆーいみ?

224 :デフォルトの名無しさん:2012/08/24(金) 06:30:29.17
醤油いみ

225 :デフォルトの名無しさん:2012/08/24(金) 07:36:11.33
>>223
最盛期には年間3000ライセンスぐらい販売していたってことだよ。

226 :デフォルトの名無しさん:2012/08/24(金) 08:22:07.93
サクラエディタでいいや

227 :デフォルトの名無しさん:2012/08/24(金) 23:30:54.62
試用期間を設けるため起動回数制限を付けたいんですけど
レジストリに起動回数書く方法より、もっとセキュリティ的に強固な方法ってありますか?(ネット以外で)

228 :デフォルトの名無しさん:2012/08/24(金) 23:33:59.43
exe自体に保存してしまえばいい

229 :デフォルトの名無しさん:2012/08/24(金) 23:56:06.84
時間制限にしてNTPで時刻取得するとか

230 :デフォルトの名無しさん:2012/08/25(土) 00:00:21.93
>>228
再インストールするだけで(ry
>>229
ネット以外でお願いします。

231 :デフォルトの名無しさん:2012/08/25(土) 00:00:53.23
セキュリティ的に強固ってどういう意味なんだろうか

232 :デフォルトの名無しさん:2012/08/25(土) 00:04:57.58
>>231
割られないって意味なんですが、なんて書けば良かったですか?

233 :デフォルトの名無しさん:2012/08/25(土) 00:06:49.45
仮想マシン使ってOS再インストールするなりどうとでもできるから
ネット使えないんならどうしようもない

234 :デフォルトの名無しさん:2012/08/25(土) 00:11:03.36
揚げ足取りじゃなくてそれってセキュリティと関係ないよねw

個人的には、不正使用する奴は何やってもするから、そんなことにエネルギーを使うのは
時間の無駄だと思う。

235 :デフォルトの名無しさん:2012/08/25(土) 00:11:12.34
ランダムにゴミファイルを起動するごとに作って、それを数えればいい
ランダムに作成するから削除もユーザーには不可能

236 :デフォルトの名無しさん:2012/08/25(土) 00:12:24.39
何やったってOS再インストールにはかないません
.NETだとIL解析して再アセンブルして認証外すことも難しくないし

237 :デフォルトの名無しさん:2012/08/25(土) 00:19:41.57
>>233
ですよね。実は、自分でも時々やってたりして...
ただ仮想マシンか否かはアプリ側からチェックできますよね。

>>235
面白いアイデアですね!それ使わせていただきます。
みなさんおっしゃるように完璧なものはないのでしょうけどかなり良い感じですね。
ありがとうございます。

238 :デフォルトの名無しさん:2012/08/25(土) 00:27:59.74
いいアイデアなのかな。
正直俺には意味がよく理解できんけどw

239 :227:2012/08/25(土) 00:37:07.86
こんなにすぐにレスいただけると思ってませんでした。
とても助かりました。みなさんありがとうございました!

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

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

242 :デフォルトの名無しさん:2012/08/25(土) 00:52:17.57
勝手にあちこちにゴミファイルを作成するってどんなウイルスだよ

243 :デフォルトの名無しさん:2012/08/25(土) 00:55:43.32
レジストリだって勝手にゴミエントリ作って残しとくんだから変わらんだろ
>>240みたいな方法はファイルでなくレジストリでも使えるはずだけど

244 :デフォルトの名無しさん:2012/08/25(土) 03:54:56.09
ゴミレジストリの方がマシだわ

245 :デフォルトの名無しさん:2012/08/25(土) 06:14:57.59
そんなソフト使いたくない

246 :デフォルトの名無しさん:2012/08/25(土) 06:54:43.16
>>237
仮想マシンかどうかってどうやって確認できるの?


247 :デフォルトの名無しさん:2012/08/25(土) 10:02:49.28
そんなあなたにRegSeeker

248 :デフォルトの名無しさん:2012/08/25(土) 11:46:52.79
datatableの中の該当レコードを有るかどうかチェックする方法教えてください

ナンバーが1で属性が炎
って指定して
そのレコードがdatatableにあるかチェックできればいいんですが・・・


249 :デフォルトの名無しさん:2012/08/25(土) 11:52:52.29
Selectメソッドとか色々

250 :デフォルトの名無しさん:2012/08/25(土) 11:54:34.09
SELECT * FROM テーブル名 WHERE ナンバー=1 AND 属性='炎'
この際sqliteでも導入してデータベース覚えなよ
データベース使わないにしてもちゃんと型付ければLINQでほぼ同じことできるし

251 :デフォルトの名無しさん:2012/08/25(土) 11:54:51.28
linq

252 :デフォルトの名無しさん:2012/08/25(土) 12:04:03.67
>>249
selectメソッドの引数のStringってSQL分を入れればいんですかね
了解いたしました。

253 :デフォルトの名無しさん:2012/08/25(土) 14:23:56.64
だから秀丸は四千円なんだよな

254 :デフォルトの名無しさん:2012/08/25(土) 19:20:54.21
ムカつく奴にもあほな質問にも淡々とひたすら回答してるの見ると
実はすごい高性能なボットなのかもと思えてくる。

そのうち人格ゲットして
ムカつく奴やあほを判別できるようになるかも。

255 :デフォルトの名無しさん:2012/08/25(土) 19:22:46.27
最新レスにするの忘れて亀レスはどうやったら防げるか
ごめんね。

256 :デフォルトの名無しさん:2012/08/28(火) 09:48:46.00
ttp://el.jibun.atmarkit.co.jp/ahf/2012/07/visualbasic-6a15.html


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


258 :デフォルトの名無しさん:2012/08/28(火) 21:41:17.68
プログラムを作るにあたり、最低限知っておいたほうがいいことってなに?
分岐、繰り返し、クラスくらい?

259 :デフォルトの名無しさん:2012/08/28(火) 21:57:47.48
最低限、入門書を一冊買ってきて全部終える
それからMSDNを自分で読めるようになることも超重要

260 :デフォルトの名無しさん:2012/08/28(火) 21:59:08.07
向上心のない人が対象でお願いします

261 :デフォルトの名無しさん:2012/08/28(火) 22:00:39.19
じゃやめとけ
仕事にするかプログラミングそのものを趣味にするんでなければ
どう考えても全く労力の割に合わないから

262 :デフォルトの名無しさん:2012/08/28(火) 22:09:01.81
自分ではなく、向上心のない新人が入ってきたので、どうしようかな。と思って

263 :デフォルトの名無しさん:2012/08/28(火) 22:59:14.39
頑張って辞めてもらえ

264 :デフォルトの名無しさん:2012/08/29(水) 04:48:50.47
仕事なら向上心があろうがなかろうが、業務命令で指示出すだけだろ

265 :デフォルトの名無しさん:2012/08/29(水) 07:40:11.66
自分を超えていく後輩はいないほうがいいじゃん

266 :デフォルトの名無しさん:2012/08/29(水) 12:16:48.20
やる気ない新人のお守り押し付けられて、育たなかったらお守り役の>>262がドヤされるんだろう、きっと。

267 :デフォルトの名無しさん:2012/08/29(水) 22:49:25.79
>>258
ググる能力 
まったく該当しなそうな用語でググってるやついるじゃん


268 :デフォルトの名無しさん:2012/08/29(水) 22:51:27.81
新人に課題をやらせてみたら、その課題の説明文でググりやがったw

269 :デフォルトの名無しさん:2012/08/29(水) 23:18:31.50
vb.net 2010でStringの長さは最大いくつまで許されますか?

270 :デフォルトの名無しさん:2012/08/29(水) 23:23:07.43
min(メモリの容量, 文字数がInt32の最大値)まで

271 :デフォルトの名無しさん:2012/08/29(水) 23:30:37.78
>>270
ありがとうございます!助かりました。

272 :デフォルトの名無しさん:2012/08/29(水) 23:31:24.38
System.Charのサイズが2バイトで、それが2^31文字だと約4GBか
環境によってはOutOfMemoryよりインデックスのオーバーフローが先かも

273 :デフォルトの名無しさん:2012/08/30(木) 08:25:58.42
>>267
確かに重要だな。最近はフレームワークが凄く巨大になってて、
数テラバイトのドキュメントの中から必要な情報を速やかに
ピックアップする能力ってのは無視できない。


274 :デフォルトの名無しさん:2012/08/31(金) 17:43:21.85
ttp://rucio.cloudapp.net/ThreadDetail.aspx?ThreadId=10983

親の顔が見てみたいわwww

275 :デフォルトの名無しさん:2012/08/31(金) 20:30:24.96
>>274
移転前のブログ

ttp://ameblo.jp/1209sora/

これを見ると16歳で受験って、1年遅くね?
池沼確定だなw

276 :デフォルトの名無しさん:2012/09/01(土) 02:41:53.97
アホなんだろう
オレの知り合いの知り合いで30過ぎで「一応」を「いちよう」と思っている奴がいるが
中卒のパチンカスだ
こいつのブログで「とりやえず」って文言があるが、完全に同類だと思う

277 :デフォルトの名無しさん:2012/09/01(土) 19:55:02.43
「延々と言っている」を「永遠と言っている」奴も居たな。

278 :デフォルトの名無しさん:2012/09/01(土) 20:50:25.33
未曾有をみぞーうって言う?

279 :sage:2012/09/05(水) 01:45:22.99
スプレッドのValidatingイベントで、エラーの場合、他のイベントからも呼ばれているファンクションでセットフォーカスしています。
その後e.cancel = true としているのですが、Validatingイベントなので対象セルが編集状態となってしまいます。編集状態ではなくセルが選択された状態(カーソルが入ってない状態)にしたいのですが、うまくいきません。

もしどなたかおわかりになりましたらご教授いただけたら、と思います。
よろしくお願いいたします。

280 :279:2012/09/05(水) 18:17:38.20
自己解決しました
お前らはレスおせえよ

281 :デフォルトの名無しさん:2012/09/05(水) 18:22:57.83
>>280
もう来んなよ。レス速いだろ〜

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

283 :デフォルトの名無しさん:2012/09/06(木) 01:00:33.32
普通に考えればフォームの白い部分の色が16ビットで表現できない色調なんだろ


284 :デフォルトの名無しさん:2012/09/06(木) 01:05:30.57
>>283
ディザなら数学的な配置になりそうなんですが、そうでもなく、しかも1個がデカいんですよ。地デジのブロックノイズみたいな大きさです。

285 :デフォルトの名無しさん:2012/09/06(木) 01:27:09.83
>>283
バーチャルでも色数を24bitにできたので試したところ、ご指摘どおりでした。ありがとうございました。

286 :デフォルトの名無しさん:2012/09/07(金) 05:16:44.45
>>280
自己解決じゃないだろクズ
あちこちにマルポしやがって
ttp://bbs.wankuma.com/index.cgi?mode=al2&namber=63539

287 :デフォルトの名無しさん:2012/09/09(日) 00:07:55.14
業務アプリケーションでThread使われるとガッカリするよねー


288 :デフォルトの名無しさん:2012/09/09(日) 01:03:24.69
馬鹿はそうなんでしょうね。

289 :デフォルトの名無しさん:2012/09/09(日) 01:32:58.42
>>288
Threadって読みにくいじゃん
異議は認めない

290 :デフォルトの名無しさん:2012/09/09(日) 10:31:58.00
Th ス
rea レッ
d ド

291 :デフォルトの名無しさん:2012/09/17(月) 17:05:23.05
なんでがっかりするの?

292 :デフォルトの名無しさん:2012/09/17(月) 20:34:36.66
もちろん彼には理解できないから

293 :デフォルトの名無しさん:2012/09/20(木) 18:16:50.63
VB .NETなんて滅多に仕事で使わない

294 :デフォルトの名無しさん:2012/09/20(木) 23:23:56.93
>>292
読めば普通にわかるよ
読みにくいからがっかりする

295 :デフォルトの名無しさん:2012/09/21(金) 16:24:15.38
WEB用にはたくさんWYSIWYGエディタがあるのですが
WinForms用のものは見つかりません。需要が無いんでしょうか?
欲しいのですが・・・誰か作って!

296 :デフォルトの名無しさん:2012/09/22(土) 00:50:24.85
>>295
http://www.josecgomez.com/2009/09/21/vs-2008-c-wysiwyg-html-editor/

297 :デフォルトの名無しさん:2012/09/22(土) 00:53:03.42
WinformでグラフィカルなUIのツールを作ろうと思うんだけど、WPF以外に何か良い物ありますか?

298 :デフォルトの名無しさん:2012/09/22(土) 01:41:30.78
WinformかWpfかどっちなんだ

299 :デフォルトの名無しさん:2012/09/22(土) 02:28:02.40
どっちもでいいです。
やっぱりコントロールだけWPFで作ってwinformで使うのが一番ラクですかね

300 :デフォルトの名無しさん:2012/09/22(土) 09:40:50.52
>>296
ありがとう。試してみます。

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

302 :デフォルトの名無しさん:2012/09/25(火) 21:24:24.40
XAMLは知らない人に教えるのは辛そうだ
勉強する側もモチベーション上がらないかもね

303 :デフォルトの名無しさん:2012/09/26(水) 09:46:19.06
こんばんは

自分で少しググってみたのですがまだまだ
VBを初めて日がたってなくあまり理解できてない状態です。

そのような状態で皆さんに助けられながら一つのソフトウェアを作成しました。
そこでプログラムの応募をしたのですがどうもエラーが出るらしく困っています。

画像が読み込まれていない場合は各種処理を飛ばす

プログラムをお教えいただけないでしょうか??

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

305 :Q10:2012/09/26(水) 11:41:41.71
説明しずらいのですが、

RGB値
例として適当に(60, 127, 177)だとします。

その、(60, 127, 177)の色がある場所の座標を取得したいのですが、
どうしればいいでしょうか?

取得したやつは、X, Y で記憶させたいです。


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



306 :デフォルトの名無しさん:2012/09/26(水) 11:48:34.11
Bitmap.GetPixel
あとはループがわかってれば簡単
ただGetPixelは糞遅いので、それで作ってみて使い物にならないようなら
代わりにBitmap.LockBitsで爆速
画像ファイルではなく画面上の色という意味なら、Graphics.CopyFromScreenでスクリーンショットが撮れる

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

308 :デフォルトの名無しさん:2012/09/26(水) 18:55:20.98
WndProcオーバーライドすればいい

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

310 :デフォルトの名無しさん:2012/09/27(木) 04:04:21.29
日曜日の毎週AM9時に動くプログラムのコードわどんなかんじに

311 :デフォルトの名無しさん:2012/09/27(木) 06:50:13.91
>>310
まともなエンジニアはその手のコードは書かない。
タスクに登録する。

312 :デフォルトの名無しさん:2012/09/27(木) 07:22:59.84
これって例の掲示板のマルチじゃね?
芸風が…

313 :デフォルトの名無しさん:2012/09/27(木) 12:16:09.91
>>305
http://rucio.cloudapp.net/ThreadDetail.aspx?ThreadId=11063

すでにコードで回答が出てるようだけど、shuって暇人なの?

314 :デフォルトの名無しさん:2012/09/27(木) 18:54:49.99
Q10=そら


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

316 :デフォルトの名無しさん:2012/09/28(金) 09:35:09.35
DirectInput

317 :デフォルトの名無しさん:2012/09/28(金) 10:19:58.88
>>315
ちょっと何言ってるか分からない
LPARAMにスキャンコード含まれてるだろ

318 :デフォルトの名無しさん:2012/09/29(土) 03:29:11.74
Dim Ar As String(6)
の要素わ6ケと7ケどっちだっけ

319 :デフォルトの名無しさん:2012/09/29(土) 03:56:02.73
>>318
RTFM

320 :デフォルトの名無しさん:2012/09/29(土) 10:54:12.37
今度はこっちにヤサ変えたの?

321 :デフォルトの名無しさん:2012/09/29(土) 15:16:49.54
>>318
7個

322 :デフォルトの名無しさん:2012/09/29(土) 20:09:16.20
windowsフォルダに???.sysってファイルを StreamWriterで作ろうとしたんだけど
win7 home premiumでは作れなかったがwin7 ultimateではOKだった。
???.sysをやめて???.iniにしたら home premiumでも問題なく作れたんだけど、
そんなことってある?


323 :デフォルトの名無しさん:2012/10/02(火) 22:36:13.53
処理中に出すローディング画面って
マルチスレッドでShowDialogがいいの?

324 :デフォルトの名無しさん:2012/10/03(水) 09:43:54.61
そう。裏に回るのは処理ね

325 :デフォルトの名無しさん:2012/10/03(水) 10:00:04.25
ファッキンVB厨と呼ばれる覚悟があるならループの中でDoEventsを読んでもいい
長時間一つのIOにブロックされる場合はダメだが

326 :デフォルトの名無しさん:2012/10/04(木) 20:27:01.68
PentiumV以上のパソコンならShortなんか使わずに常にIntgerつかっとけばいんだべ?

327 :デフォルトの名無しさん:2012/10/05(金) 08:09:15.53
いんとじゃ〜

328 :デフォルトの名無しさん:2012/10/09(火) 11:58:07.84
test

329 :デフォルトの名無しさん:2012/10/09(火) 12:21:27.34
てす

330 :デフォルトの名無しさん:2012/10/09(火) 12:24:16.17
同じPCで2つのアプリ間でタイマーを利用したUDP通信を実装したんですが、それぞれタイマーでSocketをOpen/Closeしているのでエラーになります。
なにか良い解決策はないでしょうか

331 :デフォルトの名無しさん:2012/10/09(火) 19:19:42.37
>>330
>タイマーでSocketをOpen/Closeしている
↑を止める。

もしくは、別にもう一つソケットを作って、Socketのオープンクローズを
外部から制御できるようにする。

332 :デフォルトの名無しさん:2012/10/10(水) 13:49:16.54
Sindy could assign

333 :デフォルトの名無しさん:2012/10/10(水) 20:12:59.57
質問お願いします。
・textbox1.txtに"様"、"さん"等の敬称(2つだけ)がコピペされた場合、それを削除したい

やり方教えてくださいお願いします

334 :デフォルトの名無しさん:2012/10/10(水) 20:16:16.94
できた。ごめんなさい

335 :デフォルトの名無しさん:2012/10/11(木) 07:12:58.39
>>334
「さんまさん」が「ま」になってないですか?

336 :デフォルトの名無しさん:2012/10/12(金) 22:04:23.26
テキストボックス複数作って、そこクリックしたらテキストボックスに入ってる文字をクリップボードに送るアプリって作れる?

337 :デフォルトの名無しさん:2012/10/12(金) 22:20:22.36
>>336
超簡単だけど何か?

338 :デフォルトの名無しさん:2012/10/12(金) 22:21:28.68
集約例外ハンドラってVB.netのフォーム使うプログラムではどうやったらいいんでしょうか。
サンプルとかどこかにないでしょうか

339 :デフォルトの名無しさん:2012/10/12(金) 22:23:34.85
AddHandler

340 :デフォルトの名無しさん:2012/10/12(金) 23:31:25.60
悲観的排他制御ってどうしてる?
おすすめ教えて

341 :デフォルトの名無しさん:2012/10/12(金) 23:36:18.60
普通にSynchronizedでロックでしょ
楽観的な方はInterlocked

342 :デフォルトの名無しさん:2012/10/14(日) 02:03:01.13
windows Formのデザインがいろいろ乗ってるサイトってありますか?
最悪、WPFでも構いません。

343 :デフォルトの名無しさん:2012/10/14(日) 12:52:56.27
>>342
目的は何?

344 :デフォルトの名無しさん:2012/10/14(日) 12:54:24.46
目的は知識を深めることです。
主に参考にしたいです

345 :デフォルトの名無しさん:2012/10/18(木) 19:50:36.72
フォーム上でなにか操作したときのイベントを取りたいんですが、叶でしょうか?

346 :デフォルトの名無しさん:2012/10/18(木) 20:15:59.56
>>345
姉妹かよ?
visual studio使ってないの?イベントんとこクリックするだけじゃん。

347 :デフォルトの名無しさん:2012/10/18(木) 20:49:09.77
どのイベントでしょうか?

348 :デフォルトの名無しさん:2012/10/18(木) 21:02:28.16
自作でツールバーを作りたくて、ボタンのリストのプロパティを実装しましたが、うまくいきません。
プロパティ画面でボタンを追加したあとに、また開くとリストのプロパティにはボタンは一個も入ってませんが、ボタン自体は画面上にたされています。

349 :347:2012/10/18(木) 22:18:36.48
マウスキャプチャで実装しました

350 :デフォルトの名無しさん:2012/10/21(日) 01:55:35.85
引数で渡した型によって戻り値が変わるファンクションを作りたいのですが、
可能なのでしょうか?

351 :デフォルトの名無しさん:2012/10/21(日) 02:32:04.09
初心者なら、渡す型ごとにファンクション作ってオーバーロードさせとけばいいんじゃねーの?

色々自信があるなら、引数をObject型にしておいて関数内で元の型を判別してもいいのかもしれないが少なくとも俺は自分ではできればそんな設計で組みたくない

352 :デフォルトの名無しさん:2012/10/21(日) 08:31:49.40
>>350,351
そういう使い方がジェネリックだと思ってた

353 :デフォルトの名無しさん:2012/10/21(日) 10:02:55.14
戻り値の型が変わる、ってことだよな?
引数と戻り値が同じ型ならジェネリックでいいんじゃね
引数の型と戻り値の型の対応が決まっているならその分オーバーロード作るべき
そうじゃないならObjectで受けてObject返すしかないんじゃないかな

354 :デフォルトの名無しさん:2012/10/21(日) 14:44:20.28
ジェネリックで実装できました。
ありがとうございます。

355 :デフォルトの名無しさん:2012/10/27(土) 10:18:39.82
今どきVBとか馬鹿じゃない?

356 :デフォルトの名無しさん:2012/10/27(土) 10:30:06.74
馬鹿にもできるからいいんじゃよ

357 :デフォルトの名無しさん:2012/11/01(木) 23:28:44.85
最近始めたんだけど、なんでVB.NETって、似たような命令がいくつもいくつもあるんだ?
似たような命令ならひとつの命令に引数つけるとかオプションにするとかすればいいのに。

358 :デフォルトの名無しさん:2012/11/01(木) 23:37:41.90
>>357
質問スレは不満をぶつける場じゃない。
文句は開発者に言え。
金払ってんならサポートしてくれるだろ。

359 :デフォルトの名無しさん:2012/11/02(金) 22:42:15.20
なんでVB.NETのサンプルって変数とか分かりにくくて短いのばっかつけるの?
Objとかshとか。

360 :デフォルトの名無しさん:2012/11/02(金) 22:49:08.86
スコープが短いし、メソッドの長さも短いから。
適切にメソッドを分けられていれば変数名なんて大して重要じゃない。
短い変数名くらいで読みづらくなるのはクソ長いメソッドを書いているからであって、
いい加減な変数名なんかよりその方が遥かに害悪。

361 :デフォルトの名無しさん:2012/11/02(金) 22:49:31.44
VB.NETでAcrobatでPDFが操作加工できると聞いたんだけど資料とかサンプルが見つからない。
いい情報はないでしょうか。

362 :デフォルトの名無しさん:2012/11/02(金) 22:59:29.33
聞いたなら、言った奴に聞けよ

363 :デフォルトの名無しさん:2012/11/03(土) 08:50:02.11
>>362
聞いた、というのは表現のひとつでした。正確にはググって調べていたら
そういう記述が散見されるけれど、具体的なものが見つからない、ということです。
同様にエクセルのVBでもできる、とあり、こちらはコードのサンプルもあるんですが
これをどう応用すればいいかわかりません。
ご存知でしたらぜひヒントをください。

364 :デフォルトの名無しさん:2012/11/03(土) 09:56:58.77
そのコードのサンプルも出さずにヒントくれだの情報教えろだの、頭おかしいのか?

365 :デフォルトの名無しさん:2012/11/03(土) 22:08:11.78
>>363
日本語でおk。
「VB.NETでAcrobatでPDFが操作加工できる」とか意味不明。

366 :デフォルトの名無しさん:2012/11/04(日) 00:08:38.57
翻訳すると、(製品版の)AcrobatのOLEを使ってPDFを操作加工が
山の向こうを飛んでいた、か?

367 :デフォルトの名無しさん:2012/11/04(日) 10:10:16.29
いまからはじめるならVBとC#とどっちがいいですか?

368 :デフォルトの名無しさん:2012/11/04(日) 10:26:39.28
C#だな
できることは全く同じで、C#ができればVBはまったく問題なく使えるが、逆はそうとは限らない。
C#の方が難しいという意味ではなく、VBは歴史的理由から使わないほうがいい古い機能が盛り沢山。
C#ではそういうのは一掃されているので、C#をやるかぎりそういう地雷を踏むことがない。
使っちゃいけない機能や正しい考え方が正しく理解できていれば、
もし後でVBに移行したとしてもVBから始めた人よりも良いコードが書けるはず。

369 :デフォルトの名無しさん:2012/11/04(日) 10:51:52.58
というかVB.NETが理解できればC#理解できるし、その逆も然り
だって同じ.NET Framework使ってるんだからね、実行速度もかわらない
何故M$がVB.NETを作ったのか理解に苦しむ、あとOfficeのVBAもC# for Applicationにしなかったのも理解に苦しむ

370 :デフォルトの名無しさん:2012/11/04(日) 10:57:53.42
C#の質問に対してVB.NETのサンプルを提示して文句を言われた経験はほとんどない
VB.NETの質問に対してC#のサンプルを提示すると結構な確率で読めないって言われる

371 :デフォルトの名無しさん:2012/11/04(日) 11:00:04.35
同じというのは両方理解してる人だからこそ言えることで、実際には「同じものとして使える」だと思う
VBしか知らない生粋のVB使いが書くとC#にない機能使いまくってC#とかけ離れたコードになるよ
C系言語にアレルギーを示す人多いしな

372 :デフォルトの名無しさん:2012/11/04(日) 11:05:15.20
.NETのTIPSサイト運営者曰く、面倒だからどうせ一緒だしと思ってC#のサンプルだけ載せたら
VBerからの文句が殺到して仕方なくVB追加したらしいなw

373 :デフォルトの名無しさん:2012/11/04(日) 11:21:21.91
VBができればC#は特に必要ないだろうけどC系アレルギーはまじでやばい
JavaとかC++とかにも手を出す予定があるならC#の方が馴染みやすいかも

374 :デフォルトの名無しさん:2012/11/04(日) 11:36:12.81
VBでMyとかVB用の関数使っちゃったりすると
いざC#でやろうとすると
若干戸惑う事はあるかもな。
なので最初からC#がいい

375 :デフォルトの名無しさん:2012/11/04(日) 11:58:35.17
まぁ慣れだよね、既存のソースがVB.NETだからVBで改修しつつ、別チームはC#だから通信用サンプルはC#で書いて渡したり。
一つの言語が理解できれば他の言語なんてなんとなく使えるようになるよ、言語そのものよりもノウハウの方が大事だから真面目に努力すれば経験は無駄にならないと思うよ

376 :デフォルトの名無しさん:2012/11/04(日) 19:12:15.19
VB.NETはVB6やってきた人が、色々と指図してくるので出来れば使いたくない
vb.netはvb6でやってきたことできるんだよねーとか言って、クラス名を日本語にしたりとか

>>370 うん、うちの会社の人も同じ事いうよ


377 :デフォルトの名無しさん:2012/11/04(日) 19:31:04.34
ソース変換サイト使えばいいやん

378 :デフォルトの名無しさん:2012/11/04(日) 20:35:19.93
VB6しかできないやつって本気でレベル低いからな
やればできるのにやらなかった奴等が多いからだろうな
あとCOBOL→VB6でVB6しか使えないって親父もすげぇ多い
コボラーってゴミなんだなーって思ったわ

379 :デフォルトの名無しさん:2012/11/04(日) 20:42:25.06
プログラムなんて誰でもかけるだろ。

俺の息子は小学校1年生だがばりばりC# VB.net でアプリ作ってるよ。

380 :デフォルトの名無しさん:2012/11/04(日) 21:24:03.17
>>378
>VB6しかできないやつって本気でレベル低いからな
これ、同意する。

プログラムなんて簡単だとかいって、VB6しか出来ないのに要件定義に行くのやめて欲しい
客としゃべっているだけで、全然要件を定義してないからね

381 :デフォルトの名無しさん:2012/11/04(日) 21:37:13.21
またこの手の話か。
そういう話で言えば、この手のコボラーがどうとかVBerがどうとか言ってる奴自身が
実は一番無能だったりする。

心理的には一種の屁は屁元かみたいなものだなw

あとは、自分が無能で不安だから自分より下の奴がいると(それがたとえ脳内妄想であっても)
思わないとやっていけないという心理的メカニズムが働くのだろうと思われる。

いずれにしても馬鹿っぽいわ。
ようするにこの程度の自己分析もできないってことだからな。
自分がなぜそのような下品な動機をもつのかという。

382 :デフォルトの名無しさん:2012/11/04(日) 22:32:12.92
>>381
君は変数・クラス名が日本語だけというプログラムを見たことがあるのか
それを、保守したことがあるのか。
もし、それを見て何も思わないならよっぽど頭がおかしいか、プログラミングに向いていないかのどっちかだ。


383 :デフォルトの名無しさん:2012/11/04(日) 22:46:59.64
>>382
君の頭が固いだけ。
日本人は英語が苦手だから
へんてこな英語の名称を付けるより
日本語の方が視覚的に見やすい。

特にオブジェクト指向は日本語と相性がよい。
一行入力ルーチン.初期化実行()みたいに
素直に読んでいけば日本語の文章になる。

384 :デフォルトの名無しさん:2012/11/04(日) 22:56:46.43
少なくとも直接入力できない時点で、VisualStudioでコーディングする時に日本語はあんまり向いてない

日本語に限らず直接入力できない文字使う言語全般って言うべきかも知れないけど

385 :デフォルトの名無しさん:2012/11/04(日) 23:11:26.48
>>384
コード補完の話か?
せっかく見やすい日本語なんだから
文章を書くように毎回手で入れりゃいいじゃん。
むしろ補完は都度タイプが中断されるのでウザい。

386 :デフォルトの名無しさん:2012/11/05(月) 08:58:32.16
C# に With 〜 ないのが痛いなぁ

387 :デフォルトの名無しさん:2012/11/05(月) 10:10:51.85
C#にwithは検討されたらしいよ
・要望が少ない
・大してメリットがない
ということで却下。つまりお前は少数派。
プロパティ初期化子でだいぶ補えるようになったし。

388 :デフォルトの名無しさん:2012/11/05(月) 10:22:02.79
何度もプロパティにアクセスして遅くなるのが嫌ならローカル変数に入れればいいだけだし

389 :デフォルトの名無しさん:2012/11/05(月) 11:10:34.08
SqlCommand とか With 使ったほうが見やすいと思うけどなぁ
.CommandText と .Parameters.Add〜 の羅列になるし

390 :デフォルトの名無しさん:2012/11/05(月) 11:18:56.30
var p = command.Parameters;
p.Add...
p.Add...
特に問題ないな 特にvarができてから

391 :デフォルトの名無しさん:2012/11/05(月) 13:00:09.17
必要なら { } で囲めばほぼ同じだよな
VBではブロックだけのブロックは作れないけど

392 :デフォルトの名無しさん:2012/11/05(月) 17:11:28.40
日本語不便なのか、ちょっと二の足踏むな。
C#とタメになった替わりに文字入力自分でマップしろってこと?

393 :デフォルトの名無しさん:2012/11/05(月) 20:26:30.03
with はなくても困らないけどあった方が嬉しい(構造がはっきりするという意味できれいに書ける)
のは確か。

>>390みたいのはJava信者の連中の無理があるJava擁護と他の言語への排斥を
連想して見苦しいと思う。

まあプログラマの世界も人間社会だから必ずしも合理的な理由で物事決まらないんだよね。

他にも、VBのメソッド内Static変数はシングルトン的なものがすっきり書けるだけでも
存在価値があると思うが、C#しかやらない人間はまずその存在価値を認めないと思う。

394 :デフォルトの名無しさん:2012/11/05(月) 20:55:52.32
>>393
Java信者じゃないけど、普通に>>390の意見に賛成なんだけど
withに何十行も書く奴いるから、C系の言語にwithはいらないと思うよ

VBにはプログラムの可読性を無視する奴が多いから、VBはキモいって言われるんだよ
あいつらは、楽だからって理由で読めないコードを量産するからな

395 :デフォルトの名無しさん:2012/11/05(月) 20:58:43.11
>>394
withにいっぱい書いたらいけないの?
いっぱい省略できる箇所だからこそwithを使うのに。
俺なんてwithのブロックが100行超とかけっこうあるよ。

396 :デフォルトの名無しさん:2012/11/05(月) 21:10:05.74
長いwithの中でwith使われるとだんだんわけわからなくなる

397 :デフォルトの名無しさん:2012/11/05(月) 21:40:30.62
>>395
書いてダメってわけじゃないけど、書いた人以外は嫌だなって思うもんだよ
C系の言語出身の人は特に強く思うはず

398 :デフォルトの名無しさん:2012/11/05(月) 22:05:29.37
俺も With でネストしながら延々書くほうだな
変数を定義したら負けかな、って思う瞬間がある

399 :デフォルトの名無しさん:2012/11/06(火) 00:05:09.85
まぁあれはコード書く人が手抜きしたいがための機能だからな

400 :デフォルトの名無しさん:2012/11/06(火) 11:19:37.55
With の中で .(ドット)で始まるプロパティ類がインスタントウォッチできないのは不便だな
やる気ないのかよ?

デバッグのためだけに、わざわざ適当なダミー変数に入れたりしてる。

401 :デフォルトの名無しさん:2012/11/06(火) 14:42:03.30
withは、そのブロックで中心となるオブジェクトが何であるか
先頭行を見れば一目でわかる素晴らしい構文だ。
MSはぜひ他の言語にも広めて欲しい。

402 :デフォルトの名無しさん:2012/11/06(火) 17:03:12.72
話ぶったぎるけど

Integer.Parse("1000.0")

ってエラーなの?
なんか腑に落ちないんだけど

403 :デフォルトの名無しさん:2012/11/06(火) 17:21:32.60
どう見ても整数じゃないだろう
有効数字とか分かる?

404 :402:2012/11/06(火) 18:37:05.05
1000.1 ならエラーでもいいけど
1000.0 は 1000 なんだから Integer に入るべきだと思うんだけど

405 :デフォルトの名無しさん:2012/11/06(火) 18:39:12.68
あんたがどう思っていようが関係ないよね?

406 :デフォルトの名無しさん:2012/11/07(水) 00:52:26.12
VBという言語は低レベルPG専用だろ
一生一人で開発して、改修して、マイグレーションして、リファクタリングし続けるなら好きにすればいい
本人以外が読んだときに生理的に気持ちの悪い受け付けないソースばかりになるからVB嫌いなんだよな

407 :デフォルトの名無しさん:2012/11/07(水) 04:04:48.04
>>406
あんたの好き嫌いを述べるスレじゃないんだけど

408 :デフォルトの名無しさん:2012/11/07(水) 07:39:36.41
parse系、datetime型に対してはやたら過剰に動作するのに他は投げやりだよな

409 :デフォルトの名無しさん:2012/11/07(水) 18:49:16.44
苦肉の策で考えておりますがvb.netでコンソールで書き込みをすると
windowsのコマンドプロンプトで入力した時と動作が同じになるのでしょうか?
バッチを実行してデータをアップロードする方法を考えていましたが、
文字変換などでどうにもうまくいかず、直接コマンドプロンプトに書き込む
方法を考えています。


410 :デフォルトの名無しさん:2012/11/07(水) 23:19:27.50
>>406
俺の気持ちを代弁してくれてるよ

411 :デフォルトの名無しさん:2012/11/08(木) 18:20:31.66
>>404
Integerとの区別するために.0書くのに・・・バカですか。

412 :デフォルトの名無しさん:2012/11/09(金) 17:13:39.72
僕が投稿したプログラム「Tab Browser」等が、いつまで経っても「投稿プログラム」に載らない
http://rucio.cloudapp.net/ThreadDetail.aspx?ThreadId=11085

管理人の気持ちを察してやれよ。
あんなゴミ載せたくないだろ。

413 :デフォルトの名無しさん:2012/11/09(金) 22:21:55.84
すまん。誰か教えてくれ。
内製したアプリケーションをGUIで操作するアプリをVB.netで作っているのだけど、
操作される側のアプリのコンボボックスを操作するときに
A.コンボボックスをクリック
B.コンボボックスのリストをキー入力Sendkeyで操作
C.Sendkey「Enter」で確定
という処理をするときにIMEを確実にオフにしてキー入力をしたい。
いろいろ調べるんだけど、操作される側のアプリがアクティブ?になった時点で
IMEのオンオフが変わっちゃったりしてうまく操作できない。
確実にBの時点で英数字を直接入力にするにはどうすればいいんでしょう?

414 :デフォルトの名無しさん:2012/11/09(金) 22:42:39.25
Sendkey使ってる時点で終わってる

415 :デフォルトの名無しさん:2012/11/10(土) 08:14:36.54
>>414
ここは質問スレなんだから質問か回答をすべきだと思うが? なんでヒントも出せないの?

416 :デフォルトの名無しさん:2012/11/10(土) 08:25:36.24
ヒントなんていらん結論で十分

結論:終わってる

417 :デフォルトの名無しさん:2012/11/10(土) 08:29:30.20
>>414
すまん。ヒントになってた。さらにヒントをくれ。しかしなんでこんなにいろいろあるんだよ。わけわからんわ(呆)

418 :デフォルトの名無しさん:2012/11/10(土) 08:43:12.33
>>415
質問スレでこういうスカした書き込みをするガキは
必ずいるんで、無視した方が精神衛生上いいよ。
俺らは大人の余裕で行こう。

俺の意見だけど、他アプリをSendkeyで操作するっていうのは
手で直接アプリを操作するのと原理的に変わりないので
こういう副作用は避けられないと思う。

GUIアプリへの定型的な操作を自動化したいのであれば、
Windows上の操作をレコーディングして再生できる類の
ソフトを探してみたら?
具体的なソフトは知らないけど、商用・フリー共にありそうな気はする。

419 :デフォルトの名無しさん:2012/11/10(土) 08:55:02.08
>>418
某ソフト使ってとても重宝しています。最初は単純にそれ自体を使って操作していて
それに飽き足らず、そのソフトを自動で操作して、業務用のアプリを操作したりしていましたが、
いろいろ複雑なことをするようになって、そのソフトでは対応しきれなくなった部分があるので、
自分で作り始め、他の部分はとても快適になったのですが、この部分だけなんとも解決しない
こともあり質問してみました。会社が使いにくい糞ソフト投げてくるのが元凶なんですがw
作者がリストラされちゃって誰も面倒見てくれやしない。
死ね、システム部wwwwwwwww

420 :デフォルトの名無しさん:2012/11/10(土) 09:57:31.41
>>417
内製したアプリケーションなら、素直に既存のアプリケーションの
ソースコードを改変して対応したほうが簡単だし、変なトラブルを
避けられる。

SendKeysを使うならトライエラーで正常に動くように頑張るしかない。
SendKeysでキーを送るタイミングを微調整したりとか。
この手の微調整はバッドノウハウの類だから、ちょっと環境が変わると
動かなくなったりするけどな。

この手の処理を行う時には、俺はTimerを使って定周期で送るようにしている。
次に送るキーは、送信側のアプリケーションをステートマシンとして作成する。
キーを送るタイミングを遅らせる為のディレイもステートとして作成する。

421 :デフォルトの名無しさん:2012/11/10(土) 10:02:24.89
>>418
>具体的なソフトは知らないけど、商用・フリー共にありそうな気はする。

昔はWindows標準機能としてもあったし、Microsoft Testなんて製品もあった。
亡くなった理由はGUIが複雑化して、標準的なスクリプトだけでは、
この手のアプリケーション操作を誤りなく実行する事が困難になったため。

現存する製品では、WEBアプリケーション専用の物ぐらいしか見たことないな。

422 :デフォルトの名無しさん:2012/11/10(土) 10:58:59.33
>>421
.NET3.0以降はUIオートメーションという機能があり、
System.Windows.Automation名前空間に入ってる
WinForms/WPF両対応

423 :デフォルトの名無しさん:2012/11/10(土) 21:39:07.21
>>422
もしかしてVS2010Expressじゃ使えないとか?
サンプル少ないしぜんぜん試せないorz

424 :デフォルトの名無しさん:2012/11/10(土) 21:43:14.73
>>423
ビルドターゲットを.NET3.5か.NET4にすれば使える
情報は多くないからMSDN読めないコピペグラマには無理

425 :デフォルトの名無しさん:2012/11/13(火) 10:16:14.60
SharpDXってVB.NETでも使えますよね?

426 :デフォルトの名無しさん:2012/11/13(火) 10:28:56.88
使えるけどDirectXはC++読めないと(書けなくてもいいけど)使うのはまず不可能だよ
C++読めるんならわざわざVB使わないだろうし

427 :デフォルトの名無しさん:2012/11/13(火) 10:37:15.14
あ、C++は一応読み書きできます。
すでにVBで作ったアプリにDirectXを組み込みたく思いまして。
使えますか。よかったです。早速取り掛かります。

428 :デフォルトの名無しさん:2012/11/14(水) 21:24:55.68
VSあればC++なんて難しくもなんともないんだからVBなんて選ぶなよ
おまえらがVB選ぶからVBなくならないんだよ

429 :デフォルトの名無しさん:2012/11/14(水) 21:33:54.39
ブヒヒヒw

430 :デフォルトの名無しさん:2012/11/14(水) 21:44:42.19
>>428
C系の構文にアレルギーがあるんでそれはできない。
Cでは一行もコードが書けないのだ。

431 :デフォルトの名無しさん:2012/11/14(水) 21:50:16.41
C++使いはVB.netでもC#でもOKだけど。
ただ.net系使い続けるとバカになるような気はするが。

432 :デフォルトの名無しさん:2012/11/15(木) 00:00:49.54
アルゴリズムさえわかってれば何使っても一緒だろ
便利なものを使わないのはただの馬鹿
一生メモ帳使ってろ

433 :デフォルトの名無しさん:2012/11/15(木) 00:39:17.62
C++使いがC#やっても変なコード書くぞ
VB使いと違ってコンプレックスを感じてないぶんタチが悪い

434 :デフォルトの名無しさん:2012/11/15(木) 00:44:03.93
.NET使い続けるとバカになるんじゃなくてバカだからVBしか使えないんだよ
プラットフォームのせいにするな

435 :デフォルトの名無しさん:2012/11/15(木) 00:59:03.77
バカにも使えるVB最高

436 :デフォルトの名無しさん:2012/11/15(木) 02:20:37.21
>>434
誰へのレス?読解力ないね。

437 :デフォルトの名無しさん:2012/11/15(木) 05:48:13.69
>>432
一緒じゃないだろ。
Cはポインタやメモリの使い方がわからないと、
C++・Java・C#はオブジェクト指向やVM、
クラスライブラリの知識がないと何もできない。

VBはそういう壁となる難解な概念がない。
ソースを上から見ていけば何をしているか誰でもわかる。
誰でもわかるということは、誰でもメンテやコードレビューが
できるということであり、開発の生産性と品質が上がる。
こんなすばらしい言語は他にないよ。

438 :デフォルトの名無しさん:2012/11/15(木) 08:42:19.85
VB10以外の言語使ったことない俺は勝ち組???

439 :デフォルトの名無しさん:2012/11/15(木) 09:56:42.57
負け組予備軍
早期に他の言語を覚えなければ取り返しのつかないことになる

440 :デフォルトの名無しさん:2012/11/15(木) 10:15:38.34
マジでか!?
でもCとかJavaとか一体ナニに使うのかさえ知らんぞ。

441 :デフォルトの名無しさん:2012/11/15(木) 10:20:34.45
でもいまさらWindowsのCとかやってもあれだから
マイコンでCをやりつつ電子回路もやるのがいい。

442 :デフォルトの名無しさん:2012/11/15(木) 10:29:10.46
SQLじゃダメかな?

443 :デフォルトの名無しさん:2012/11/16(金) 11:39:09.06
VB2008でADOを使ってローカルにあるアクセス2010のmdbファイルから
データを読んだり書き込んだりするプログラムを作りました。

配布先はOFFICEの入っていないWindows7のPCなのですが
この場合、VS2008で作ったセットアップ以外に何をインストール
すれば動くのでしょうか?

アクセス2010を入れれば一番安心なのでしょうけど
それだと別途購入しないといけないですよね。

444 :デフォルトの名無しさん:2012/11/16(金) 11:51:24.03
>>443
ADOを入れれば動くけど?

445 :デフォルトの名無しさん:2012/11/16(金) 11:51:34.64
mdacをインスコすればいいよ

446 :デフォルトの名無しさん:2012/11/17(土) 03:05:43.33
MDACって7用とか無かった気がする
最近のWINDOWSだとADOははじめからかサービスパックに入ってるかじゃなかったか

447 :デフォルトの名無しさん:2012/11/17(土) 07:16:45.94
外してると思うけど、x86でビルド
AnyCPUだと64環境で泣きを見る

448 :デフォルトの名無しさん:2012/11/17(土) 09:56:51.75
っつーかCでないと組み込みやマイコン制御一切できないぞ、.NETのフレームワークなんてまず存在しないし
制御っつーと自分とは無縁だと感じるかもしれんが、通信は今やどんなプログラムでも必要だろ
あ、業務システムとかじゃいらんかwww
国内の業務システムとか枯れた技術とノウハウだけで作ってて超絶つまらんよな、俺はもう一生国内企業の業務システムとか作りたくないわ。
あんなのずっとやってたらプログラマーとしてのキャリア終わっちまう、常に最先端技術に触れて、エンドユーザー意識しないと、世間一般の間隔と超絶乖離したよくあるオナニー勘違いPGになっちまう

449 :デフォルトの名無しさん:2012/11/17(土) 09:59:16.08
マイコン用.net framework出てるよ
C#で開発できる。だから一切できないということはない。
まあ俺はCでやるけどw

450 :デフォルトの名無しさん:2012/11/17(土) 10:39:00.23
>>449
↓たしかに、こんなのもあるよな。
http://www.kumikomi.net/interface/sample/201103/if03_044.pdf#search='%E3%83%9E%E3%82%A4%E3%82%B3%E3%83%B3%E7%94%A8+C'
でも、すんげー遅そうなイメージがしない?。
もっと良いのもあるんだろうけど。

451 :デフォルトの名無しさん:2012/11/17(土) 10:45:10.76
実験もしないでイメージで語るのはやめるべきだと思う。

452 :デフォルトの名無しさん:2012/11/17(土) 11:22:36.54
>>451
だから?って書いてんだけどね。
#系がランタイムで動くものである以上スペックからは懸念を持つでしょう?
言葉尻捕えてレスされても困るんだけど

453 :デフォルトの名無しさん:2012/11/17(土) 11:49:38.28
疑問形だろこの?はw

454 :デフォルトの名無しさん:2012/11/17(土) 11:55:22.58
>>452って馬鹿そうなイメージがしない?

455 :デフォルトの名無しさん:2012/11/17(土) 12:05:55.81
速度なんかより少ないメモリで動くことが重要だろ
でもいくら.NET MF自体は超省メモリといっても、PCと同じ感覚で使ったら確実に死ぬから
結局C#でCみたいなコードを書くことになり、あんまり意味ないような気がする

456 :デフォルトの名無しさん:2012/11/17(土) 12:11:15.97
大量生産するような製品に組み込むマイコンなら省メモリや速度や
重視されるだろうけど、生産設備みたいなものなら高性能マイコンを
使ってC#でさくさく作れるようになるのもありなんじゃない?
PC用ソフトだって市販のパッケージアプリはC++で作られるけど、企業向けの
システムなんかはC#やJavaが使われることが多いわけだし。
そこは住み分けだろう。

457 :デフォルトの名無しさん:2012/11/17(土) 12:55:49.31
C#のメリット理解してない奴ばっかだな。オブジェクト指向でプログラミングしないならCでも一緒だろ。
低処理速度、少ないメモリじゃ言語がC#ってだけでメリットはないな。

458 :デフォルトの名無しさん:2012/11/17(土) 13:25:44.06
>>443
こんなのに注意!
//blogs.msdn.com/b/jpsql/archive/2012/10/24/kb-2517589-264696-win7-sp1-ado-os.aspx

ついこの前、テスト機に認証しないで新規に7入れてアプリをインストールしたら全く動作せず。
単にmdbを開いて閉じるPG書いて新規の7に入れても動かなくて徹夜になった。

SP1入りの7を新規に入れたらあっさり動いて涙がでた。

459 :デフォルトの名無しさん:2012/11/19(月) 23:18:45.28
ここで聞いて良いのか分からないけど、元サイトに掲示板らしきものがなかったので…。

すぐ使えるADO.NET
ttp://park5.wakwak.com/~weblab/index.html

を、参考に見ていたのですが、ここで記載されているReturnの扱いがこれで良いのかどうか。。

例えば、以下ページのクラスclsDBIOのExistSyainなど、Returnの後にDBのCloseを入れているのですが、
Close行く前に返ってしまう気がするのですが、どうなんでしょう。
ttp://park5.wakwak.com/~weblab/clsDBIO.html

>  ' 社員テーブルから該当社員コードのレコード数取得
> Dim count As Integer
> count = CInt(cmd.ExecuteScalar())
> If count > 0 Then
> ' レコードが存在する時の処理
> Return True
> Else
> ' レコードが存在しない時の処理
> Return False
> End If
>
> ' DB接続を閉じる
> If Not con Is Nothing Then
> con.Close()
> End If

結構な場所でReturnの後に処理をしている部分があり、実際の所どうなのかなと…。

460 :デフォルトの名無しさん:2012/11/19(月) 23:58:39.89
>>459
君の言う通りだよ。当てにしないほうがいい。
本来、Closeを素で書くこと自体間違っていて、Try 処理 Finally Close End Try
の順番で書くのが正しい。この場合、処理のところでReturnしていて
CloseがReturnより下になることがあるんだが、Finallyは必ず呼び出されるのでこれは問題ない。

461 :デフォルトの名無しさん:2012/11/20(火) 00:28:21.02
正しいパターンはこう(Closeを顕に呼ぶ場合。Usingを使う方法もある。)
Dim con As OleDbConnection = Nothing
Try
 con = new OleDbConnection();
 conを使う
 Return True
Finally
 If con IsNot Nothing Then
  con.Close()
 End If
End Try
>>459のリンク先の例だと、Closeする前のnullチェックは明らかに無意味
これ書いた人このパターンのコードを見て間違って覚えたんじゃね?
二度と見ないほうがいいよこれ

462 :デフォルトの名無しさん:2012/11/20(火) 09:44:13.77
>>460-461
ありがとう。
やっぱりそうでしたか。プログラム上で確認しても通らないからおかしいと思ってました。

463 :デフォルトの名無しさん:2012/11/20(火) 10:49:10.11
C#のコードを併記してないサイトは大抵地雷

464 :デフォルトの名無しさん:2012/11/20(火) 20:43:55.91
>>459のサイト見てみたけど、今更Jetとか
ちゃんとしたDB使えよーーと

465 :デフォルトの名無しさん:2012/11/21(水) 08:46:52.91
んで、どこかデータベース扱うのにいいお手本になりそうなサイトない?

466 :デフォルトの名無しさん:2012/11/21(水) 09:57:40.39
>>464
だけど、単純なテーブルだとSQL CompactよりJETのほうが速かったりする

467 :デフォルトの名無しさん:2012/11/21(水) 22:15:26.66
>>466
SQLiteとJetってどっちが速いの?

468 :デフォルトの名無しさん:2012/11/22(木) 21:27:05.17
起動するとクリップボードの内容(文字列)に変更を加え、自動的に終了するというアプリを作っています
しかしなぜかform1が呼び出され、6行目以降を実行してくれません。
原因は何でしょうか?

Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim a As String = Clipboard.GetText
Dim b As String
Clipboard.SetText(b) 'ここで終わってしまい、form1が呼び出される
MsgBox("ok:" & vbCrLf & b) 'メッセージボックスは表示されません
Me.Close()
End Sub
End Class

469 :デフォルトの名無しさん:2012/11/22(木) 22:31:08.73
これでどうだ???

Public Class Form1

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim a As String = Clipboard.GetText
Dim b As String = "bになんか入れろ"
Clipboard.SetText(b) 'ここで終わってしまい、form1が呼び出される ")
MsgBox("ok:" & vbCrLf & b) 'メッセージボックスは表示されません
Me.Close()

End Sub
End Class

470 :デフォルトの名無しさん:2012/11/22(木) 22:32:16.32
Shownイベントに書けばいいよ

471 :デフォルトの名無しさん:2012/11/22(木) 23:52:25.78
なんでフォーム?

472 :デフォルトの名無しさん:2012/11/22(木) 23:55:08.77
愚問だな
VBの世界ではコードはフォームに書くものだろ

473 :デフォルトの名無しさん:2012/11/23(金) 00:26:18.77
>>469
ありがとうございます、うまくできそうです
エラーが起こらなかったのが不思議ですね。
OS上でエラーでも起こって色々処理が飛ばされているのでしょうか
>>471
あのMS-DOSプロンプトみたいなもののことでしょうか?
なるほど、こういうときに使うんですね。よくわからないので敬遠してました。

474 :デフォルトの名無しさん:2012/11/23(金) 00:31:08.33
exceptionをキャッチしてないだけで、落ちてるんじゃ

475 :デフォルトの名無しさん:2012/11/23(金) 00:47:54.59
>>473
>ありがとうございます、うまくできそうです

どういたしまして^^

476 :デフォルトの名無しさん:2012/11/23(金) 09:37:01.68
すみません。以前SharpDXがVB.NETで利用できるか
聞いたものですが、C#では問題ないのですがVB.NETで試すと
デバイスの生成で例外エラーになっています。
問題点がわかる人がいましたら教えてくださいませ。
http://codepad.org/ZqtwrS2q

477 :デフォルトの名無しさん:2012/11/24(土) 19:36:40.28
SQL Server 2000 とVB2008との組み合わせです。
DataSet(DataTable)へテーブル構造だけコピーする事って出来るんでしょうか?

フォームの値を一時保持のためにDataSetを利用したいのですが、テーブルからデータをコピーする方法や
自分で新規に作る方法は分かっても、構造のみコピーする方法が分からないです…。

SELECT TOP 0 とかで取得すればいいんですかね…。

478 :477:2012/11/24(土) 19:37:55.17
これは自分で新規にすべてのフィールドを、データベースと同じフィールドで作成するのが面倒(間違いが起きやすい)からやりたくない
と言う意味があります。

479 :デフォルトの名無しさん:2012/11/24(土) 20:21:19.01
>>477
似たような事やっているプロジェクトあるよ。DBがORACLEだとこんな感じ
SELECT * FROM TABLE_NAME WHERE 1 = 2;

ORACLE <---> VB <---> FLEX(FLASH)
VBからORACLEへSELECT文投げて、その結果をFLEXに投げ返す。
FLEXではVBから送ってもらったSQLの処理結果を元にオブジェクトを初期化する。
-------------------------------------------------------------------------------
これやってもいいんだけど、致命的な所が1つだけあるなー
デバッグしないとSQLの文法チェックが出来ないこと
プロジェクトが大きくなってくると、SQLのシンタックスチェックのためにデバッグするのが面倒なんだは

480 :デフォルトの名無しさん:2012/11/25(日) 20:05:44.72
>>479
格好わるっ!と思ってしまった。
せめてデータディクショナリでしょーって。
でもTABLE_NAMEで表されるオブジェクトの結果リストの定義を得る手段としては安全確実だよね。
例えば後でそれがビューに置き換えられても動くって事とか。

481 :デフォルトの名無しさん:2012/11/25(日) 20:08:29.78
型付使えばいいやん

482 :デフォルトの名無しさん:2012/11/25(日) 20:23:39.94
>>480
>データディクショナリ
何ですか、これは

VB<-->FlexはXMLで通信している関係上、あんまりデータを送ることが出来ないんだよね
本当にFlexのオブジェクトを初期化するためだけに使っているから、型の情報も送ってないんだよ
通信する量が増えると遅くて遅くて

てか、VB使っている時点で相当カッコ悪い。
だから、実際にこの方法使っても、そこまでカッコ悪いとか思わないよ

483 :デフォルトの名無しさん:2012/11/25(日) 20:37:34.73
>>482
>データディクショナリ
データベースを定義する(定義を参照する?)為のオブジェクト群だよ。
メタデータね。
ORCLEだと
SELECT *FROM USER_TABLESでDBユーザの所有するテーブル一覧
USER_TAB_COLUMNSだと列単位
こんな具合にDBのあらゆる情報が取れるよ
SQLServerでも同様のオブジェクトがあると思うよ

484 :デフォルトの名無しさん:2012/11/25(日) 21:21:32.81
ホントにテーブル(ビュー)の定義がほしいならデータディクショナリでいいけど
実際は、SQL文の結果返されるデータ構造が欲しいって事がほとんどだろ

485 :デフォルトの名無しさん:2012/11/26(月) 21:45:27.64
>>482
あぁー、あれか
SQL Serverだとめちゃくちゃ分かりにくいよね
そういう点では、Oracleが楽だ

>>484
俺もそんな気がする
もし、.NETだけで完結するなら普通にクラス宣言するなー

486 :デフォルトの名無しさん:2012/11/27(火) 09:35:24.85
クラスだとフィールドが100も200もあるとめんどいからね。
(それが普通と言えば普通なんですが)

Datasetが、もっとDBと親和性を持ってくれたら良かったのに。
せめてSQL ServerやAccessとだけでも。

487 :デフォルトの名無しさん:2012/11/27(火) 15:46:51.57
整数値Aの値が大きくなればなるほど計算結果の値が抑えられる
という計算をしたいのですが難しいです・・・
たとえば、「(A)=(計算結果)」として
(1=1.0)→(2=1.8)→(3=2.6)→(4=3.2)→(5=3.4)→(6=2.8)→(7=0.6)
と、A=5以降から値が減っているのが分かるように
単純に比率ではなく指数対数的なカーブを付けたいんです。
これを変数Aと、結果用の変数B、率の定数、の3つでやりたいのですが
計算が苦手で難航しております;;誰かお助けを・・・

488 :デフォルトの名無しさん:2012/11/27(火) 15:58:16.31
それをどう助けろっていうんだ
方程式ぐらい用意してから来い

489 :デフォルトの名無しさん:2012/11/27(火) 16:01:28.70
487のやりたい事の意味すら理解不能な俺w

小難しいプログラムを作ってる人もいるんだね。尊敬するわ

490 :デフォルトの名無しさん:2012/11/27(火) 16:02:57.50
>>488
その方程式すらわからないのでヘルプミーですw

491 :デフォルトの名無しさん:2012/11/27(火) 16:08:36.65
放物線で良いなら
y = ax^2 + bx + c
aとbとcを適当に設定する

というか487は1-3の間が直線というのが難問だな

492 :デフォルトの名無しさん:2012/11/27(火) 16:23:10.40
>>487
単純な数式で表せないなら、各座標をテーブルで持って、
座標間はベジェなどで補間すれば近似するのではないでしょうか?

493 :デフォルトの名無しさん:2012/11/27(火) 18:30:08.73
VB2008になります。

ComboBoxとDB(SQL Server2000)と連携させる場合、DataSource(ソース) /ValueMember(コード) /DisplayMember(表示用)を
設定できるかと思いますが、もう一つのフィールドを取得したい場合って何か方法有るんでしょうか?

例:
テーブルホゲホゲ
フィールドコード、フィールド表示用、フィールドその他

とあった場合などで、ComboBoxで値が選択された時、フィールドその他も他のテキストボックスへ表示させたい。

494 :デフォルトの名無しさん:2012/11/27(火) 18:50:56.28
SelectedItem取得して好きなの取れ
SelectedItemに何が入ってるかはデバッガで確認しろ

495 :デフォルトの名無しさん:2012/11/27(火) 22:09:25.65
困ってること:文字列(フォント)の横幅dot数を調べたい

Graphics.MeasureString メソッドがあればいいんだけれど、エクセルなので・・・
どうしたらいいでしょうか

496 :デフォルトの名無しさん:2012/11/27(火) 22:12:11.52
>>495
板違い

497 :デフォルトの名無しさん:2012/11/27(火) 22:21:11.71
あ、ごめん誤爆った!
ここVBAじゃないわw


スマソ

498 :デフォルトの名無しさん:2012/11/29(木) 11:17:07.09
やりたい事:スマフォで表示されるのグリッドのように指で弾くとスクロールするようにしたい
PCの場合 :左クリックして上下にドラッグする事でスクロール
タブレット:タップしたまま上下にドラッグする事でスクロール

うまく伝わるかわかりませんが、よろしくお願いします

499 :498:2012/11/29(木) 12:07:28.18
>>498
しっかりタップしてやったら普通に出来ました
すみません

500 :デフォルトの名無しさん:2012/12/02(日) 14:32:44.94
indexof()でinstr()のstart、文字列検索の開始位置指定したいのですが、できますか?
開始位置を指定したい場合はinstrを使うしか無いでしょうか

501 :デフォルトの名無しさん:2012/12/02(日) 14:35:25.34
>>500
http://msdn.microsoft.com/ja-jp/library/vstudio/7cct0x33.aspx
終了位置も指定する場合は別のオーバーロードを使えばできる

502 :デフォルトの名無しさん:2012/12/02(日) 14:41:06.19
インデックスは0ベースだから気を付けろよ
VB6やVBAは綺麗さっぱり忘れること

503 :デフォルトの名無しさん:2012/12/03(月) 19:22:37.68
環境:SQL Server 2000 + VB.NET

SQLスレなのか、DBスレがいいのか、このスレで有っているのか分かりませんが。

日付型に日時(yyyy/MM/dd hh:mm:ss)が入っている時に、日にちでもって抽出したい場合のやり方がしっくりこない。

例えば、今日を取得したい場合、方法はいくつかあるけど、たとえば23:59:59を入れる方法。

SELECT 日時 FROM テーブルホゲホゲ WHERE 日時 BETWEEN '2012/12/03' AND '2012/12/03 23:59:59'

VB.NET とかで、ToDay (Or Now) に、文字列で" 23:59:59" をくっ付けたりしているんだけど、これって正しい?
それとも、テーブル側のデータを文字列にして日付書式にした方が良いんだろうか。

なんだかしっくりこなくて、毎回どうするのが良いんだろうと悩んでしまう…。
みんなはどうやってデータを取得しているんだろう。

504 :デフォルトの名無しさん:2012/12/03(月) 19:31:10.07
date型にキャストして日付型同士で比較する

505 :デフォルトの名無しさん:2012/12/03(月) 20:17:46.32
>>503
>BETWEEN '2012/12/03' AND '2012/12/03 23:59:59'
これだと、23:59:59.01〜23:59:59.99は抽出されないけどおk?
一番確実なのは「HOGE >= '2012/12/03' AND HOGE < '2012/12/04」
とすることだと思う。

>>504
>date型にキャストして日付型同士で比較する
それだとインデックスが使われないので・・・

506 :デフォルトの名無しさん:2012/12/03(月) 21:29:17.28
>>505
おお、そうですね。
今回はミリ秒が入っていないからいいものの、そこまで入ったフィールドならちゃんとしないと…。

Between の場合はどうしますか?
(使わない?)

これまたミリ秒を考慮しないなら、こういう感じになるんですかね?
DataAdd("s",-1, DataAdd("d",1,ToDay()))

ミリ秒入ると関数に制限が出来る。。むずい。。

507 :デフォルトの名無しさん:2012/12/04(火) 23:22:51.86
Using を利用しているのに、中にTry を入れて Finallyで Usingで呼び出したクラスのCloseをするのってどうなんだろ。

なんかUsingを信用できないんだよなw
無駄なコードを書いている以外に何か有害な事は有るんでしょうか?

508 :デフォルトの名無しさん:2012/12/04(火) 23:35:32.50
自信なさそうなコードはそれだけで有害だけどな

509 :デフォルトの名無しさん:2012/12/04(火) 23:44:59.21
>>507
何を悩んでるのかよく分からない。
キャッチする必要がある例外が起こりうるならTry...Catchの中にUsingのブロックを置く。
逆ではない。

当たり前だと思うけど...

510 :デフォルトの名無しさん:2012/12/04(火) 23:46:53.05
別に逆でもいいだろ
Using全体をTryで囲むのは、Usingで使うオブジェクトのコンストラクタで発生した例外を
キャッチしたい場合。

511 :デフォルトの名無しさん:2012/12/04(火) 23:49:08.87
DisposeとCloseは同じ意味になるべきというのと同じように
Dispose(=Close)を二回呼んでもいいというルールもある
どっちも実装者次第なわけだが、前者は信用できなくて後者は信用できるという根拠は?

512 :デフォルトの名無しさん:2012/12/04(火) 23:51:35.51
>>510
何でそんな例外的な場合を想定した話になるのか理解できないけど、
そういう場合はUsingブロックの前でインスタンス作って変数に入れておくでしょ普通。

その方がコンストラクタでの例外発生を想定していることははっきりする。

513 :デフォルトの名無しさん:2012/12/04(火) 23:55:05.78
個人的な感覚だけど、Disposeを呼んでもCloseも呼ばないといけない糞実装と
Dispose(=Close)を二回呼ぶとおかしくなる糞実装を比べると
後者の方がわりと見かける気がする

514 :デフォルトの名無しさん:2012/12/04(火) 23:59:16.03
わざわざ書くような事でも無いけど以下の様な感じで。
特にOpenする様なクラスの場合、Closeが無いのが・・・。

Using hoge As New Clshoge
  Try
hoge.Open
  Catch ex As Exception

  Finally
    If hoge IsNot Nothing Then
      hoge.close
    End If
  End Try
End

>>512
記載されていない不安感からかな??
自分でも分からない。DisposeやCloseを理解していないからかも。

515 :デフォルトの名無しさん:2012/12/05(水) 00:01:56.64
>>514
Using使うんなら少なくともNothingチェックは絶対要らん
NothingチェックするんならTryの中でNewしてUsing要らん

516 :デフォルトの名無しさん:2012/12/05(水) 01:29:26.00
.NET以降のVBは何のためにあるのかわからん

517 :デフォルトの名無しさん:2012/12/05(水) 04:29:41.89
>>511
>DisposeとCloseは同じ意味になるべき
まずこれはどこで言われているのか詳しく教えてくれ

518 :デフォルトの名無しさん:2012/12/05(水) 09:49:43.33
>>517
ここ
http://msdn.microsoft.com/ja-jp/library/vstudio/b1yfkh5e.aspx
>ファイルのカプセル化では、メソッド名として Close を使用した方が適切です。この場合は、Dispose を
>プライベートに実装し、Dispose を呼び出すパブリックな Close メソッドを作成します。

また、DisposeとCloseを両方呼び出すのは公式に不正であるとされている
http://msdn.microsoft.com/ja-jp/library/vstudio/ms182334(v=vs.100).aspx
>CA2202: オブジェクトを複数回破棄しません
>メソッドの実装に、同じオブジェクトに対して IDisposable.Dispose または Dispose と同等の操作
> (たとえば、一部の型に対する Close() メソッドなど) を複数回呼び出すコード パスが含まれています。
>この規則による警告は抑制しないでください。 オブジェクトに対して Dispose を複数回呼び出しても
>安全なことが判明している場合でも、実装が将来変更される可能性があります。

519 :デフォルトの名無しさん:2012/12/05(水) 09:59:11.49
>>516
もちろんVB6/VBAユーザーの囲い込みのため。
VBユーザーはVBしか使えない傾向が比較的強いので、MSの.NETプラットフォームへの移行戦略にあたり
表向きVBに近い(雰囲気以外は全く違う言語だけど)言語を用意して楽そうな以降パスを用意して
VBユーザーが移行をためらったり他に逃げたりするのを避けた。実際成功している。

520 :デフォルトの名無しさん:2012/12/05(水) 11:53:59.17
ベースとなる登録項目が40個あり、それに処理(約30種類)により0〜10個程度違う登録項目が増えます。

例:
処理A:基本1,基本2,基本3 … 基本40, 追加1,追加2
処理B:基本1,基本2,基本3 … 基本40, 追加1,追加3
処理D:基本1,基本2,基本3 … 基本40
処理E:基本1,基本2,基本3 … 基本40, 追加1,追加3


分類するとパターン10個程度に絞れます。ただしこのパターンは新しい処理が不定期に
増えたり減ったりします。

これの登録フォームを考えた時、どのようにするのが良さそうでしょうか?

[条件]
・全ての登録データは1画面に収めたい。
・処理の切り替えはフォームの起動後に行う。
 (メインメニュー → 登録フォーム では無く)
 理由として、処理は連続性があり同じ処理の登録を何度か繰り返す場合が多く、登録が終わったら次の登録状態にして、
 もし処理が異なる場合は、画面を閉じるのではなく切り替えるイメージで登録させたい。
・画面の表示速度的に画面の切り替え毎にフォームを起動(new)させるのは遅い。

案1
・ベースのフォームからパターン別に継承されたフォーム(10個)を作り、Accessのサブフォーム的な考え方で、起動時に
 すべてのフォームを起動させオーナーフォームに切り替えボタンを作り、各フォームを表示/非表示させる。
 
案2
・ベースのカスタマーコントロールからパターン別に継承されたカスタマーコントロールを作り、同上

と、どちらも似た様な案しか思いつかず、こういう考えでいいのかどうか…。
出来れば案1が作りやすいのでこれでしたいが、カスタマーコントロールとフォームではどのぐらいメモリーに与える影響が違うのか…。
大きく違うのであれば案2の方がいいのかな。

521 :デフォルトの名無しさん:2012/12/05(水) 12:03:59.02
継承しないで複数のユーザーコントロールに共通部分だけまとめて貼り付ける

522 :デフォルトの名無しさん:2012/12/05(水) 12:43:25.89
顧客コントロール?

523 :520:2012/12/05(水) 13:14:37.69
あ、ユーザーコントロールか。

>>521
これは1つのフォームで切り替えるって事ですかね?
フォーム内のコントロールの整正がゴチャゴチャしてきて大変になってしまう様な気がして…。
デザイナ使わずにすべてポジションを与えればいいのかもしれませんが。。

524 :デフォルトの名無しさん:2012/12/05(水) 17:59:51.28
>>518
そこの上に書いてあるのは
特定の条件のもとでは、Disposeじゃない名前の方が解りやすい
たとえばファイルを扱うのであれば、DisposeよりCloseの方がユーザに解りやすいですよ
と書いてるあるだけで、一般的に
>DisposeとCloseは同じ意味になるべき
などという主張ではないのだが

下に書いてある奴は、そのページに
>正しく実装された Dispose メソッドは、複数回呼び出しても例外はスローされません
って書いてある通り、Disposeは複数回呼べるようにするのが正しい
たが実装がそうなってるとは限らないので、Disposeを複数呼ぶのは危険だという警告
そして、一部の型に対する CloseがDisposeを呼んでるので、その型ではCloseとDisposeを呼ぶのも危険だと言っているだけ
CloseとDisposeを呼んでも、Disposeを2回呼んでも、それでエラー吐くのは公式には実装が悪い
実装がどうなってるか解らんから注意しろってだけの警告

525 :デフォルトの名無しさん:2012/12/05(水) 19:32:57.53
CloseがDisposeと同じかどうかはともかくとして
UsingとCloseを両方使うべきでない根拠としては十分過ぎるだろう
公式ツールで警告w

526 :デフォルトの名無しさん:2012/12/05(水) 20:00:16.12
VB2010を触り始めて2ヶ月の初心者です。
XMLデータをDataSetに読み込んで、操作するプログラムを作ろうとしています。

Form1からForm2を起動してForm1のDataSetをForm2のDataGridViewで操作したいのですが、
Form2に貼り付けたDataGridViewのDataSourceプロパティでは、Form1に貼り付けたDataSetもBindingSourceも表示されず、
困っています。

Form1をランチャ代わりに使って、そこで一度だけDataSetに読み込みを行って、用途に合わせた複数のFormからさわれるようにしたかったのですが、
Formが変わると、毎回そこでDataSetを作り直さないといけないのでしょうか?

527 :デフォルトの名無しさん:2012/12/05(水) 20:38:22.24
最近までDataSet使ってたけど旧世代の遺物って罵られて
LinqToSQL使ってみたらSQLServerしかサポートされてなくて
それじゃあLinqToEnitities使ってみたら
複数レコードに対する一括UpdateやDeleteが見当たらない…

どないしたらよいの?

528 :デフォルトの名無しさん:2012/12/05(水) 20:46:23.95
Usingを呼べばCloseが必要ないという事は、DisposeでCloseが保証されているいう事なのか。

えー、ほんとに??って思ってしまう。

529 :デフォルトの名無しさん:2012/12/05(水) 21:18:34.10
つうか、CloseしてDisposeしたら警告出るの?
すべてのIDisposable実装クラスで?

530 :デフォルトの名無しさん:2012/12/05(水) 21:41:28.28
もちろん環境によりけりというのは前提ですが、5000件ぐらいから20,30件のデータを取得したい場合において、
LANのサーバー上にあるSQL ServerからDatasetに取得するのと、ローカルPCに保存してあるXMLファイルから
Datasetに取得するのではどちらが早いのだろうか。

531 :デフォルトの名無しさん:2012/12/05(水) 23:00:32.50
5000件程度ならどっちでも一瞬だからどうでもいい

532 :デフォルトの名無しさん:2012/12/05(水) 23:06:01.46
>>531
おー、それは心強い。
じゃあ、XMLにした方が多少なりともでもネットワークやサーバーへの負荷を軽減させる事が出来そうですね。

533 :デフォルトの名無しさん:2012/12/06(木) 09:36:33.60
>>527
SQLServer買ってこい。SQLServer自体はDBとしては高価なものじゃないし、
VisualStudioとの親和性も高く、SQLServer使った方が開発効率も上がる。

LAMP環境だってなら、そもそもVB.NETなんか使うんじゃねぇって話だ。

OracleならJava使っとけ。

534 :デフォルトの名無しさん:2012/12/06(木) 10:59:15.00
以下の様にイベントを解除(追加)したりするさいに、Event(ComboBox1.SelectedIndexChanged)や
Delegate(ComboBox1_SelectedIndexChanged)を動的に指定したいのですが、どうすればいいんでしょうか?

RemoveHandler ComboBox1.SelectedIndexChanged, AddressOf ComboBox1_SelectedIndexChanged


同様に型宣言などの場合の型も動的に変える事は出来るんでしょうか?
VB2005 or 2008環境になります。

535 :デフォルトの名無しさん:2012/12/06(木) 11:06:28.60
夜道で襲われてもいいなら
Option Strict Off
Option Explicit Off
Option Infer Off

536 :デフォルトの名無しさん:2012/12/06(木) 20:46:45.34
>>527
Linqは動的にクエリを組み立てることが出来ないから決まりきったSQLしか発行出来ないよ
俺だったら素直にSQL使う

>>533
VBでoracle使っている人が通りますよ
あらよっと

537 :デフォルトの名無しさん:2012/12/06(木) 21:13:17.06
継承に関してです。

ClassAとClassBがありClassBはClassAを継承しているとします。

ClassA
Function AAA()
 aa = 3
bb = 4
cc = 5
End Fcuntion

としていたところ、
ClassBにて bbの値だけ6に変更したい。
Function AAA()
MyBase.AAA
bb = 6
End Fcuntion


どういう風に書けばいいでしょうか?

538 :デフォルトの名無しさん:2012/12/06(木) 21:19:33.63
テンプレートメソッドパターン?

539 :デフォルトの名無しさん:2012/12/06(木) 21:45:31.46
>>537
bbはClassBからアクセスできないと更新できないよ
bbをprotectdとかでプロパティ(フィールド)に宣言すればおk

540 :537:2012/12/07(金) 00:32:49.60
ちょっと省略しすぎました。

Formを継承しています。
(FormAをFormBが継承)

例えばコントロールにデータを設定する処理などで、

FormA
ptotected _data AS データクラス
Function データ設定()
Combobox1.text = _data.A
Combobox2.text = _data.B

Combobox10.text = _data.J
End Function

となっていた時にFormBにて
Combobox2.textのコントロールだけを、たとえばListbox2で値を取得したいとなった場合の処理の仕方になります。
Combobox2は、FormBでは非表示。代わりにListbox2が表示されてます。

Function データ設定()

MyBase.データ設定
Listbox2.text = _data.B

End Function

では、Combobox2へもそのまま処理されてしまいますよね?
MyBase.データ設定 を呼ばずに データ設定関数を作り直し??

541 :デフォルトの名無しさん:2012/12/07(金) 00:42:49.82
>>540
何を言ってるのかいまいち分からないが、FormAとFormBが親子関係にある必然性が
ないんじゃないの?

親子じゃなくて兄弟にしたら?
つまりFormAとFormBは(もし本当に必要なら)共に共通のベースクラスから派生する。

542 :デフォルトの名無しさん:2012/12/07(金) 00:45:05.09
>>540
>>538も言ってるけどTemplate Methodパターンを使う。
ClassA
Protected Overridable Function GetB() As Integer
 Return 4
End Function
Function AAA()
 aa = 3
 bb = GetB()
 cc = 5
End Function
End Class
ClassB Inherits ClassA
Protected Overrides Function GetB() As Integer
 Return 6
End Function
End Class

543 :537:2012/12/07(金) 10:12:54.34
>>542
デザインパターンなんてSingletonぐらいしかしらないのでピンときませんでした。

なるほどTemplate Methodってのはこういう話なのか。
(Webで調べてみるといろいろ難しく説明してあるのでもっと別の効用があるのかもしれませんが)

なんか知れば当たり前の様な気もするけど、そんな事が思いつかなかったなぁ。
助かりました。

544 :デフォルトの名無しさん:2012/12/09(日) 01:34:23.52
任意の整数の偶数/奇数を判定するモジュールを開発しています。
納期は休み明けです。

Public Function a(b)
  Select Case b
    Case 1
      a = True
    Case 2
      a = False
    Case 3
      a = True
     :
    (中略)
     :
    Case 10000
      a = False
  End Select
End Function

上記のようなプログラムを途中まで書いたところなのですが、
コードの行数が長く、どうも効率が悪いような気がしています。
このままでは納期に間に合うか不安です。
効率のよいアルゴリズムをご存知の方、教えてください。

545 :デフォルトの名無しさん:2012/12/09(日) 01:36:52.02
釣りだとはわかっているが
1とandするだけだ

546 :デフォルトの名無しさん:2012/12/09(日) 01:39:37.00
MOD関数使えばええやん

547 :デフォルトの名無しさん:2012/12/09(日) 01:50:43.41
>>544
エクセルでコード書けば、1万行なんて簡単に作れるよ。

548 :デフォルトの名無しさん:2012/12/09(日) 03:44:06.07
そんなモジュールを作れと言う時点でおかしいだろうw

549 :デフォルトの名無しさん:2012/12/09(日) 03:59:33.75
窓際さんかねぇ…

550 :デフォルトの名無しさん:2012/12/09(日) 04:21:04.06
数値同士のand演算の機能のない言語もあるんで
b-int(b/2)*2がゼロの時に偶数、1の時に奇数ってするのが
無難じゃないかな。

551 :デフォルトの名無しさん:2012/12/09(日) 10:22:08.29
クリスタルレポートの帳票をVBのプログラムで出力したいんですが、
チュートリアル的な情報ってどこかに転がってないですか?

552 :デフォルトの名無しさん:2012/12/09(日) 10:52:02.34
>>550
剰余使えよ

553 :デフォルトの名無しさん:2012/12/09(日) 17:38:46.94
こんばんわ
MS VisualBasic 2010 Express(無料版) でプログラミングを始めた者です。

実は初歩的なbeepなのですが、 ○鳴る ×鳴らない になってしまいます。

○ My.Computer.Audio.PlaySystemSound(System.Media.SystemSounds.Beep)
× System.Console.Beep(750, 1000)
○ System.Media.SystemSounds.Beep.Play()
× Console.Beep()
× Console.Beep(750,500)

何故でしょうか?

554 :デフォルトの名無しさん:2012/12/09(日) 17:42:08.88
仕様です。

555 :553:2012/12/09(日) 18:37:55.07
そなの・・・ ('A`)

556 :デフォルトの名無しさん:2012/12/09(日) 19:54:51.23
SystemSoundsのほうのBeepはOSの用意したwavを再生してる
Console.Beepとかはマザーボードのビープ機能を使う
なのでマザーボードに機能がなかったら再生できない

557 :553:2012/12/09(日) 21:01:42.22
マザボにスピーカーがありませんでした・・・
スピーカーというよりブザーみたいなのね。

当然あるはずと思ってましたが・・・('A`)

558 :デフォルトの名無しさん:2012/12/09(日) 22:34:37.28
>>557
メーカー製のPCのマザーボードにはブザーが実装されていないものもあったと思うけど、
その手の物はオンボードオーディオ出力からビープ音が出力される仕様になってると思うんだけど。

ボリュームコントロールでビープ音がミュートされてるんじゃないの?
あるいはBIOS設定でビープが無効になってるとか。(そんな設定があるBIOS見たことないけどさ)

559 :デフォルトの名無しさん:2012/12/09(日) 22:54:49.14
PC-98シリーズの起動音再生する関数はありませんか?

560 :デフォルトの名無しさん:2012/12/09(日) 23:00:27.06
>>558
どのマザーでそういう仕様になってる?

561 :デフォルトの名無しさん:2012/12/12(水) 16:39:34.82
教えてください。初心者です。
COMを.NETで使いたいのですがVariant要求のメソッドがObjectで
動かないです。どうすればいいのですか?

562 :デフォルトの名無しさん:2012/12/13(木) 14:24:44.52
ClickOnceで設定ファイルの値を引き継ぐ(もしくは同じ設定ファイルを見る)のに簡単な方法は何かありますか?

563 :デフォルトの名無しさん:2012/12/13(木) 15:19:13.59
設定ファイルは独自実装すべき

564 :デフォルトの名無しさん:2012/12/15(土) 20:44:10.03
Windowsの機能にある文字サイズ(dpiの変更)を
標準以外(例えば125%)の環境で実行すると
フォーム上のボタンやグループボックス等が
はみ出したりして、位置関係が正しく表示されません。
プログラム作成時に何か特殊なことをしなければ
ならないのでしょうか。
教えてください。

565 :デフォルトの名無しさん:2012/12/15(土) 22:17:23.72
>>564
FormのAutoScaleModeをdpiにする。
でも、デフォのFontの設定でもそれなりに調整されるはずだと思ったけど

566 :デフォルトの名無しさん:2012/12/16(日) 09:24:15.09
>>565
ありがとうございます。

567 :デフォルトの名無しさん:2012/12/18(火) 19:44:19.59
VB2010Express(無料版)です
WAVを再生し、適当なところでボリュームを絞りたく、
Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String,
ByVal lpstrReturnString As String, ByVal uReturnLength As Integer, ByVal hwndCallback As Integer) As Integer
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Call mciSendString("setaudio MySound volume to 500", "", 0, 0)
End Sub
・・・しかし動きません。orz
なんででしょうか?

568 :567:2012/12/18(火) 19:45:47.72
追記します。
mp3だと音量が下がりますが、WAVだとダメです。

569 :デフォルトの名無しさん:2012/12/18(火) 22:39:59.94
ttp://msdn.microsoft.com/en-us/library/windows/desktop/dd798662.aspx
setaudioはdigitalvideo(とvcr)のみ有効

570 :デフォルトの名無しさん:2012/12/18(火) 23:15:08.24
http://nade.jp-pro.net/bbs/bbs/cbbs.cgi?mode=one&number=3002&type=2999&space=45&no=0

571 :デフォルトの名無しさん:2012/12/19(水) 04:47:15.34
>>570
※"audio 〜" は sequencer, waveaudio・・・では実行されません。

WAVの音量制御ってできないんだ・・・?

572 :567:2012/12/19(水) 10:39:22.89
やっぱ、waveOutSetVolume() ?
VB2010Expressの上で走るサンプルって無いでしょうか?

573 :デフォルトの名無しさん:2012/12/19(水) 10:48:19.36
570に解決法も載ってるようだけど無理だったの?

574 :デフォルトの名無しさん:2012/12/19(水) 16:26:49.36
WAVの音量調節なんてサクッと出来そうな気もするが・・・

575 :デフォルトの名無しさん:2012/12/20(木) 16:37:57.79
Public Class Form1

Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Integer, ByVal hwndCallback As Integer) As Integer


Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click 'ボタン4は音楽停止
Call mciSendString("stop MySound", "", 0, 0)
Call mciSendString("close MySound", "", 0, 0)
End Sub

'ボタン5は音量調整
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
Call mciSendString("setaudio MySound volume to 50", "", 0, 0)
End Sub

Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click 'ボタン6はWAV音楽再生
Call mciSendString(String.Format("open ""C:\Users\daiki\Documents\CravingExplorer\download\wav\スペランカーのBGMを切なくピアノ編曲してみた.wav"" alias MySound type mpegvideo"), "", 0, 0)
Call mciSendString("play MySound", "", 0, 0)

End Sub

WAVも音量調整できたお^^おまいらマジサンクス!!!
570は、ネ申

576 :デフォルトの名無しさん:2012/12/20(木) 18:37:54.77
有るサイトをWebBrowserで表示させて、どのコントロール(テキストボックス)にフォーカスが当たっているかを知りたく、
また、そのコントロールを取得したいのですが、どういう方法がありますか?

577 :デフォルトの名無しさん:2012/12/21(金) 19:59:36.74
>>575
天才だな

578 :デフォルトの名無しさん:2012/12/21(金) 21:04:52.45
>>575
これがVBクオリティ
まぁ初心者向けの言語だもんなw

579 :デフォルトの名無しさん:2012/12/23(日) 18:40:12.96
SQLiteでテーブル1を読みながらテーブル2に書き込もうとしてるんだが
Database is lockedのエラーになってしまう…
どうすればいいんだろ

580 :デフォルトの名無しさん:2012/12/24(月) 00:13:11.23
SQLiteのスレで質問するのがいいんじゃないかな

581 :デフォルトの名無しさん:2012/12/24(月) 11:55:27.08
失礼しました、そっちで質問する事にします

582 :デフォルトの名無しさん:2012/12/26(水) 18:18:53.60
Visual Basic2010 Expressです。
参照ダイアログで選択したファイルを移動リネームしたいのですが

If Me.ofd.ShowDialog = Windows.Forms.DialogResult.OK Then
Me.txt.Text = ofd.FileName
End If

ここでテキストボックスには選択したファイルのフルパスが入っているので

System.IO.File.Move("txt.Text", "C:\Rename.txt")

としたのですが、例えばデスクトップにあるファイルを選択すると
ファイル 'C:\Documents and Settings\Username\デスクトップ\txt.Text' が見つかりませんでした。
と出てしまいます。
どうすればいいでしょうか?

583 :デフォルトの名無しさん:2012/12/26(水) 18:38:21.74
>>582
こうか?

System.IO.File.Move(txt.Text, "C:\Rename.txt")

584 :デフォルトの名無しさん:2012/12/26(水) 19:02:16.28
>>583
できました!ありがとうございました。

585 :デフォルトの名無しさん:2012/12/27(木) 02:45:11.03
Visual Studio Express 2012 for Windows 8でデスクトップアプリの
ソースを開いてストアアプリに改造する方法ありますか?
プロジェクトを開こうとしても「このエディションのVisual Studioは、
Windows ストア アプリ のみをサポートします」と表示され、開くことも
できないのですが

586 :デフォルトの名無しさん:2012/12/27(木) 17:33:39.56
VB2008で制作をしております。

ボタンをクリックすると標準のブラウザ(IE)を起動し、
www.yahoo.co.jpを表示させて検索用のテキストボックスに「ほげほげ」と表示させたいです。
「検索」をクリックするかどうかはユーザー次第ってことで。

どうにかできる方法はありませんでしょうか?

587 :デフォルトの名無しさん:2012/12/27(木) 20:37:08.55
>>586
検索文字を入れたアドレスでIEを起動すれば良いんじゃね。
と思ったが、これは検索後になってしまうのか。

588 :デフォルトの名無しさん:2012/12/27(木) 21:39:17.35
>>586
特定のブラウザ専用になってもよいなら、ブラウザのプラグインを
作ることで実現できる。

あるいはフィルタドライバを作成して、ネットワークの内容をキャプチャして
HTMLを書き換えるとか。

589 :デフォルトの名無しさん:2012/12/27(木) 22:48:40.08
まあsendkeysで文字列送るぐらいでいいんじゃね

590 :デフォルトの名無しさん:2012/12/27(木) 22:58:16.30
IEでいいなら簡単だよ

591 :デフォルトの名無しさん:2012/12/27(木) 23:04:33.25
ほれ
できたぞ
Dim objIE

Set objIE = CreateObject("InternetExplorer.Application")

objIE.Visible = True

objIE.Navigate "http://www.yahoo.co.jp/"

Do Until objIE.Busy = False
WScript.sleep(250)
Loop

objIE.document.getElementById("srchtxt").value = "ほげほげ"

592 :586:2012/12/28(金) 09:28:45.19
>>591

わお。 完全回答ありがとうございました。

593 :デフォルトの名無しさん:2012/12/29(土) 12:16:27.36
VB2005の「デバッグ開始」でプログラムを実行させて、コードエディタで編集しようとすると
別のコードエディタが起動するんだけど、どいういことですの?

コードエディタで編集→実行 を繰り返すたびにForm1の同じコードエディタがいくつも開いてしまう
新たに開かれたコードエディタのタブには「From1.vb*」と「*」が付いています。


わかる人いましたら教えてください

594 :デフォルトの名無しさん:2012/12/29(土) 15:36:46.81
>>593
保存してないだけだろ
デバッグ動作させながらコードの編集をする意味がわからんが

595 :デフォルトの名無しさん:2012/12/29(土) 22:45:51.86
>>594
デバッグ動作中ではなくて、□ボタンでデバッグを停止させてからコード編集しようとすると
2つ目のコードエディタが起動、これを繰り返すと同じ内容のコードエディタがいくつも立ち上がってしまう

596 :デフォルトの名無しさん:2012/12/29(土) 23:38:32.08
>>595
読み手にエスパー能力を期待してないか?
もう少し具体的に書いた方がいいと思うよ。
たとえば「コード編集しようとすると」って具体的には何をしてるわけ?

597 :デフォルトの名無しさん:2012/12/30(日) 00:17:19.58
>コードエディタで編集→実行 を繰り返すたびに
こんな事やった覚えないわ
一度コードエディタでファイル開いたら、閉じるまでタブ切り替えるだけで済むもんじゃねーの?

598 :デフォルトの名無しさん:2012/12/30(日) 13:17:27.37
慣れないVB.NETでいきなりつまづいているんですが、
自作アプリにボタンをひとつ作り、そのボタンを押すと
デスクトップなりフォルダの中身なりで選択されているものを
所定の場所にコピーする、なんてことできるんでしょうか?
フォルダ選択ダイアログを出して選んでコピー、とか、
ドラッグアンドドロップでコピー、というのはできるんですが、、、、、、、

599 :デフォルトの名無しさん:2012/12/30(日) 13:43:00.56
>所定の場所にコピーする、なんてことできるんでしょうか?

できる

600 :デフォルトの名無しさん:2012/12/30(日) 13:46:56.87
できない

601 :デフォルトの名無しさん:2012/12/30(日) 13:52:43.99
>デスクトップなりフォルダの中身なりで選択されているものを
kwsk
ボタン1つのアプリでどう選択させるの?

602 :デフォルトの名無しさん:2012/12/30(日) 13:54:33.01
エクスプローラで選択されているファイルって事だろ。

603 :デフォルトの名無しさん:2012/12/30(日) 13:56:40.84
え!?
そういうことなの?

604 :デフォルトの名無しさん:2012/12/30(日) 13:57:54.80
おまえ読解力無さすぎ

605 :デフォルトの名無しさん:2012/12/30(日) 14:04:18.75
>>604
601!=603だからおまえがエスパー過ぎんだよ

606 :デフォルトの名無しさん:2012/12/30(日) 14:05:34.58
>>598
そういうのは送るメニューでやるものかと

607 :デフォルトの名無しさん:2012/12/30(日) 14:07:55.02
findwindowして選択アイテムを列挙すればできるみたいだな
だがそんなことはやりたくないな

608 :デフォルトの名無しさん:2012/12/30(日) 14:11:37.98
軽くググってみた
http://www.gizcollabo.jp/vbtomo/log/archive/vbqanda2_235_0.html
よく見るけど仮面弁士何者?

609 :598:2012/12/30(日) 14:31:44.20
あ、やっぱできないんだ。macだと簡単にできるんだけど。
もしかして、こんなこともできない?
・外部アプリのサブウインドウを所定の位置、サイズに設定する。
・CDがマウントされたら自動的に所定の場所にコピー、その後、データ処理。

610 :598:2012/12/30(日) 14:39:33.03
あ、サブウインドウの位置、サイズはアドビのアプリならJavaScriptでなんとかなるのか?

611 :デフォルトの名無しさん:2012/12/30(日) 14:39:39.69
マッキントッシュ・コンプレックス

612 :デフォルトの名無しさん:2012/12/30(日) 14:57:02.45
つ、釣られないぞ

613 :デフォルトの名無しさん:2012/12/30(日) 15:07:57.66
別に悪口や煽りで書いたんじゃなくて
マッキントッシュにコンプレックスを抱える事は多いよね。
マッキントッシュユーザーならとくに。

614 :デフォルトの名無しさん:2012/12/31(月) 00:10:12.01
プログラミングのやりやすさで言ったら圧倒的にMacより上だよ

615 :デフォルトの名無しさん:2012/12/31(月) 00:21:10.98
まあOSにあった作りにするのが一番

616 :デフォルトの名無しさん:2013/01/05(土) 10:27:04.39
リストボックス内のテキストが
リストボックスのウィドスに達したら
自動的に改行するにわどーすれば

617 :デフォルトの名無しさん:2013/01/05(土) 11:08:56.38
>>616
取り敢えずTextBoxのプロパティ眺めてみたら?

618 :デフォルトの名無しさん:2013/01/05(土) 13:14:45.84
う〜

619 :デフォルトの名無しさん:2013/01/06(日) 12:54:21.52
TextBoxじゃなくてリストボックスの話なんじゃないの?
んで、リストボックスって折り返したりしてるの見た記憶がないんだが
どんなものをイメージしてるのかわからん

620 :デフォルトの名無しさん:2013/01/06(日) 12:55:16.55
WPFならできるよ

621 :デフォルトの名無しさん:2013/01/06(日) 18:11:03.28
Windows FormだってDrawModeをOwnerDrawVariableにして自前描画すれば普通にできるでしょ

622 :デフォルトの名無しさん:2013/01/06(日) 19:49:00.01
それをできるというならWinFormsなんか要らんわw

623 :デフォルトの名無しさん:2013/01/06(日) 20:06:40.22
そんな大騒ぎするような手間じゃないから

624 :デフォルトの名無しさん:2013/01/07(月) 03:51:08.31
ホントに大した手間じゃないのかプログラム作って実証してみた

リストボックスを複数にするのはたしかにそれほどの手間ではないのだが
ワードラップの絡みで折り返し位置がうまくいかん
全部全角文字で入れるとかならちゃんと折り返すが、全部半角で空白とかないと折り返さない

なんとも中途半端ですっきりしないわ

625 :624:2013/01/07(月) 04:09:32.69
とりあえず作ったコントロールのソース張っとくわ
http://ideone.com/mziuRG
何か改行おかしくなってるが邪魔くさいので上げ直さない

ワードラップ辺り良い方法しってたら教えてくれ

626 :デフォルトの名無しさん:2013/01/10(木) 02:22:41.17
ワードラップ(ワードブレイクだけど)はできたけど、
ListBoxサイズ変更時に各要素の高さが変わらない・・・。
(DockとかAnchor設定してフォームのサイズ変えた時とか)

ttp://ideone.com/iOfne4

627 :デフォルトの名無しさん:2013/01/10(木) 02:30:25.39
身をもって>>622を証明してくれたな

628 :デフォルトの名無しさん:2013/01/10(木) 08:34:20.29
>>625
欧米では基本的に単語途中で改行しないから、単語途中で改行する
ようにしようとするとAPIで一発というわけにはいかないんだよ。
自分でサイズを計算しながら適当な場所で改行してあげるしかない。

629 :デフォルトの名無しさん:2013/01/10(木) 08:56:17.50
>>627
回答者の簡単は信用出来ない
自己顕示欲強くて質問者のレベルを考えない、オナニーだから

630 :デフォルトの名無しさん:2013/01/10(木) 09:23:56.24
入力と描画のAPIさえあれば何でもできるからな
それをどこまで簡単にするかがGUIフレームワークなのに
自前描画の時点で負け

631 :デフォルトの名無しさん:2013/01/11(金) 16:04:39.62
C言語の構造体で
struct a {
&nbsp; &nbsp; struct {
&nbsp; &nbsp; &nbsp; &nbsp; char c[8];
&nbsp; &nbsp; } b[8];
};
このような構造体をVB.NETで表現するにはどのようにすればよいのでしょうか?

632 :デフォルトの名無しさん:2013/01/11(金) 16:05:37.13
Cのスレで訊いてくれ(ヽ´ω`)

633 :デフォルトの名無しさん:2013/01/11(金) 16:15:06.68
表現してどうしたいの?
DllImport/Declareで使う?
移植?

634 :デフォルトの名無しさん:2013/01/11(金) 16:37:21.84
>>632
すみません
>>633
いやただCしかやったことないのでまずCで考えてみて
それを同じようにVB.NETでやろうとしたら配列と二重の構造体の組み合わせがうまくできませんでした

635 :デフォルトの名無しさん:2013/01/11(金) 16:55:59.31
VB.NETに固定長配列は存在しないから、厳密には
それと同じレイアウトを実現することは不可能

636 :デフォルトの名無しさん:2013/01/11(金) 16:56:02.06
まずStructureは存在を忘れる 基本はClass
ネスト型も忘れる 全部名前空間直下に名前を付けて型定義する

で、そもそもstruct { char c[8]; }って何する構造体をイメージしてんの?
固定長に意味はある? 単にスタックに積むためなだけ?
意味は文字列? 配列?
って考え出すと多分翻訳は意味ないよ

637 :デフォルトの名無しさん:2013/01/12(土) 16:12:16.22
コメント書くとき
' シングルクォーテーションの後に半角スペースを空けるのは
何かの名残ですか?

638 :デフォルトの名無しさん:2013/01/12(土) 19:36:42.17
>>637
日本語でも英語でも文の先頭は1文字下げて書き出すだろ?

639 :デフォルトの名無しさん:2013/01/12(土) 19:53:38.17
>>637
そのコメントを書いた奴に聞けよ
少なくとも通常コメントの後に勝手にスペースが付く事はない

>>638
文章の最初は字下げするけど、単文では普通しないぞ

640 :デフォルトの名無しさん:2013/01/12(土) 21:03:08.69
>>637
俺的説1. rem の場合は、rem の後にスペースを開けるからそれにならって
     あるいは、ステートメントとパラメータの間には空白が必要
俺的説2. 日本語では半角と全角が混在する文章の場合は、半角と全角の
     間にスペースを1個空けると見栄えがいい
      英語では、単語の前後には空白があったほうがいい

641 :デフォルトの名無しさん:2013/01/12(土) 21:18:50.66
最後に.をつけるのはなぜ?

642 :デフォルトの名無しさん:2013/01/12(土) 21:21:58.92
>>641
句読点「。」「、」の変わりに「,」「.」を使うスタイルで
文章を書く人もいる。(特に文章を横書きする場合)

643 :デフォルトの名無しさん:2013/01/12(土) 21:58:11.97
>>642
実は文部省の公用文作成の要領や日本工業規格では、横書きの場合
句読点は「,」「.」を使うと定められている。サーバーをサーバ
と表記するのと同じ理由で「,」「.」を使っている。

現実問題としては、縦書き用の「、」と横書き用の「、」では点の
位置が違ってしまう。文字を複数種類用意するのがシステム的に
困難だった時代の名残でもあったりする。

644 :デフォルトの名無しさん:2013/01/12(土) 22:08:02.15
>>643
>サーバをサーバと表記するのと同じ理由で

これに関してはどういった理由でしょうか?

645 :デフォルトの名無しさん:2013/01/12(土) 22:36:53.81
1バイトでも省略しようって方針から
2000年問題も同じ

646 :デフォルトの名無しさん:2013/01/12(土) 22:42:46.70
ListBoxの件、今更ながらやってみた。

>>626の言うとおりサイズ変更に対応させるのに少し苦労したが(というか、OnMeasureItemが
描画ごとに呼ばれると期待していたがそうではなかったことに戸惑ったが)
他はやっぱり大騒ぎするようなたいした手間でもないなというのが率直な感想。

http://ideone.com/yzUcj1
やっつけなんでまだ問題があるかもしれないが概ねこれで良いはず。
WPFだったらもっとずっと面倒なんじゃないの?知らんけど。

647 :デフォルトの名無しさん:2013/01/13(日) 03:51:27.86
>>646
>まだ問題があるかも
それを調べてどこまで対応するか検討して必要な対応を行うまでがマの仕事
だから手間だと思うのよ

648 :デフォルトの名無しさん:2013/01/13(日) 08:46:49.71
>>646
WPFは特に何もしなくても複数行表示できるんだよ
WPFのリストボックスはコントロールが並んでるものだからな
WPFが優れているかどうかはともかく、そうやって何も知らないのにいい加減なこと言うからダメなんだよ

649 :デフォルトの名無しさん:2013/01/13(日) 09:20:16.87
WPFならこうか (ListBoxのItemsSourceには文字列のコレクションを入れるとして)
<ListBox ScrollViewer.HorizontalScrollBarVisibility="Disabled">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock TextWrapping="Wrap" Text="{Binding}"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>

650 :デフォルトの名無しさん:2013/01/13(日) 13:19:57.91
ListBoxのItemをダブルクリックしたらそのItemの背景色が白、青に変わるようにするにはどうしたらいいですか?

651 :デフォルトの名無しさん:2013/01/13(日) 13:55:16.96
複数行とかアイテムダブルクリックとか、よくそんな操作が思いつくもんだ

652 :デフォルトの名無しさん:2013/01/13(日) 14:25:09.12
ネガティブな奴は全く生産性がなく存在理由がないものね。

653 :デフォルトの名無しさん:2013/01/13(日) 15:24:21.99
質問です。
指定したプロセスIDのブラウザでURLを開くことってできますか?

現在ブラウザ(Chrome)を開く前の全てのプロセスIDと開いた後のプロセスIDを比較して、
新規で開いたと思われるブラウザのプロセスIDを拾うところまでできているのですが、上記のがどうも難しくて・・・
すみませんが教えてください。

654 :デフォルトの名無しさん:2013/01/13(日) 16:10:41.29
2時間半とか堪え性のない子やね

655 :デフォルトの名無しさん:2013/01/13(日) 16:39:31.07
http://d.hatena.ne.jp/unibon/touch/20090102/p3
知らないけどこんな感じじゃないの
プロセスIDが取れるかは知らない

656 :デフォルトの名無しさん:2013/01/13(日) 16:40:42.73
あ、チョロメさんなのね

657 :デフォルトの名無しさん:2013/01/17(木) 21:39:13.63
質問ですが、xml-rpc.netにて送信したor送信するxmlの情報を得るには
どうすれば良いでしょうか?

658 :デフォルトの名無しさん:2013/01/18(金) 23:18:02.13
ASP.NETのwebアプリを作ろうとしたのですが、テンプレートの中にASPがありません。
どこかから追加してインストールするものなんでしょうか?

659 :デフォルトの名無しさん:2013/01/18(金) 23:43:35.01
>>658
まず環境とか開発ツールとか書かんとなんとも
EXPRESSならVBのEXPRESSじゃなくてVisual Web Developer使え

660 :デフォルトの名無しさん:2013/01/18(金) 23:48:27.19
>>659
ありがとうございます。EXPRESS版を使っていました。
早速インストールしてみます

661 :デフォルトの名無しさん:2013/01/19(土) 21:08:22.39
現在、webbrowserを使ってサイトにアクセスする機能を作っています。
アクセスするサイトはログインする必要があるのですが、複数のwebbrowser、またはプログラムの多重起動にて
複数のユーザーで同時にログインしたいと考えているのですが、どうにも情報が無く、実現が難しいです。
なにか方法は無いでしょうか?

662 :デフォルトの名無しさん:2013/01/19(土) 23:12:45.45
>>661
ニコニコだろ

663 :デフォルトの名無しさん:2013/01/19(土) 23:31:01.06
>>662
ニコニコではないです。
ニコニコなら複数同時接続ができるのでしょうか?
なにか応用できるようなものがあれば教えて頂きたいです。

664 :デフォルトの名無しさん:2013/01/19(土) 23:47:08.23
ふつーに作ればいいようだが?

665 :デフォルトの名無しさん:2013/01/20(日) 00:23:09.28
すみません、自分ではひとつのプログラムに二つのwebbrowser、又は多重起動のどちらでもダメなようです。

一つ目でログイン→二つ目でログアウト→一つ目でサイト巡回開始
で、ログインしていない状態でアクセスしてしまう状態です。
どうにかセッションを共有させないようにできないでしょうか。

666 :デフォルトの名無しさん:2013/01/20(日) 00:33:33.42
>>661 は、複数の WebBrowser を複数のユーザーIDでそれぞれログインして使う

>>665 は、1つのログインID で複数のWebBrowser で同時ログインする

という話しだから、前者と後者で言ってることが逆だな

667 :デフォルトの名無しさん:2013/01/20(日) 00:42:15.35
>>666
・・・たしかに!
セッションの共有ってところに気を取られてました。やってることが変でしたね。
と思って、両方ログアウト→片方ログインして、もう片方も別IDでログインしようとしても、
二つ目はすでに一つ目のIDでログインしている状態でした。

やりたいこと自体は、>>661のように複数のIDで同時ログインをしたい、です。

668 :デフォルトの名無しさん:2013/01/20(日) 16:10:50.85
>>667
そのサイトを荒らす目的で
そんなことしたいだけだろ

669 :デフォルトの名無しさん:2013/01/20(日) 16:21:25.70
荒らしって自力でプログラム組めない情弱?w

670 :661:2013/01/20(日) 20:01:12.06
プログラムは「開始」ボタンクリックでiniファイルから接続するURLを取得し接続、
以降はWebBrowser1_DocumentCompletedの中で約100ほどのURLに10分間隔でアクセスし続けます。
調べたところcookieで希望の機能が実装できそうな感じなのですが、現在setCookieでcookieをセットしても、
完全な上書きでなく、継ぎ足し?のような状態になってしまいうまくいきません。

.NETは1年ほどさわっておりましたが、web系の知識はほとんどありませんのでcookieで本当に実現できるかも怪しい状況です。
アドバイスなどありましたらお願いします。

671 :デフォルトの名無しさん:2013/01/20(日) 20:03:28.35
その前にそのサービスにはREST APIは用意されてないのか?
あるならHTMLなんて一切見ずに楽勝でやれるぞ

672 :デフォルトの名無しさん:2013/01/20(日) 20:43:42.64
>>671
REST APIというのは初めて聞く言葉ですので調べてみました。
どうやらRESTful API?というのがあるらしいです。
もうすこし勉強してみます。

というよりもうサイト名を挙げた方がいいですね。
モバゲーにUserAgentを変更して接続し、特定のURLを巡回するプログラムを組んでいます。

673 :デフォルトの名無しさん:2013/01/20(日) 20:51:37.64
モバゲーのAPIってゲーム開発者用だろうからそういうのには使えないかもね
どっちにしろWebの技術的な話であってVBと全く関係ないから消えろ

674 :デフォルトの名無しさん:2013/01/20(日) 21:07:11.61
モバゲーで無料コンプカードざくざく作戦ですね?分かります。

675 :デフォルトの名無しさん:2013/01/21(月) 00:56:31.44
スレチだから消えろ

676 :デフォルトの名無しさん:2013/01/21(月) 01:32:03.92
自治乙

677 :デフォルトの名無しさん:2013/01/21(月) 04:43:07.23
C#でよく見かけるPacketEditorですが、
PacketEditorはVBでも作れるんですか?

678 :デフォルトの名無しさん:2013/01/22(火) 20:40:49.11
DataGridViewにNull入るのに、DataTableにNull入らないの?

679 :デフォルトの名無しさん:2013/01/22(火) 21:15:07.60
スレチだから消えろ

680 :デフォルトの名無しさん:2013/01/22(火) 21:16:09.51
自治乙

681 :デフォルトの名無しさん:2013/01/23(水) 09:23:06.71
vb2008でMSFlexGrid使ってます

特定セルの背景色・文字色を、セルのフォーカス移動無しで変えることってできませんか?

682 :デフォルトの名無しさん:2013/01/23(水) 20:32:53.40
DatatableにNullを入れないようにしたら落ちなくなった。

683 :デフォルトの名無しさん:2013/01/24(木) 11:21:38.89
IEのアドオン管理で参照できるような情報を収集したいのですが、
レジストリを調べるしかないですか?

684 :デフォルトの名無しさん:2013/01/24(木) 21:58:12.38
ToString()って()なくても使えるのはなぜ?

685 :デフォルトの名無しさん:2013/01/24(木) 22:01:59.39
VBでは引数が空の場合メソッド呼び出しの()は省略できる
厨言語の証

686 :デフォルトの名無しさん:2013/01/24(木) 22:45:26.91
馬鹿だろお前。
むしろパーレンでメソッドを表すのはC系統の言語のローカルルールに過ぎず
普遍的な意味あるわけじゃない

687 :デフォルトの名無しさん:2013/01/24(木) 23:22:23.51
昔のVBならともかく今のVBはVB風C#クローンだからなあ

688 :デフォルトの名無しさん:2013/01/24(木) 23:27:44.55
>>685
そうなんだ!ありがとう!
まぎらわしいからやめてほしいわ

689 :デフォルトの名無しさん:2013/01/28(月) 17:41:10.28
<>この括弧ってどういう風に使うんですか?
使えないとカッコ悪いですか?

690 :デフォルトの名無しさん:2013/01/28(月) 18:21:45.79
'<>

691 :デフォルトの名無しさん:2013/01/28(月) 18:45:49.66
>>689
俺もイマイチ使いこなせてないし、別にカッコ悪くはないよ。

             <>÷

692 :デフォルトの名無しさん:2013/01/28(月) 19:59:07.14
notを使うのが普通
IsNotが使える時はそっちを使う

693 :デフォルトの名無しさん:2013/01/28(月) 21:43:14.42
<> これ使うやつは大抵顔がきもい

694 :デフォルトの名無しさん:2013/01/28(月) 21:51:20.85
すみません、検索したら出てきました。
「属性」っていう意味があるらしいですね!
カッコ良くなれるように頑張ります!

695 :デフォルトの名無しさん:2013/01/29(火) 00:14:52.37
>>690-693

696 :デフォルトの名無しさん:2013/01/29(火) 00:16:10.11
残念ながらこのスレの老害VB脳連中よりも>>694の知識の方が新しかったようだ

697 :デフォルトの名無しさん:2013/01/29(火) 01:30:07.72
良い燃料にはなったなw

698 :デフォルトの名無しさん:2013/01/29(火) 22:06:08.69
質問です。
Form1のPictureBoxのVisibleがFalseになった時に
Form2のPictureBoxのVisibleをTrueにしたいのです。
↓このページのコードを参考にやってみたのですがうまくいきませんでした。
dobon.net/vb/dotnet/form/accessanotherformdata.html
VBはまだ初心者なのでとても初歩的な質問かもしれませんし、考え方がまったく違うかもしれません、すみません。
お願いします。

699 :デフォルトの名無しさん:2013/01/29(火) 22:13:44.13
コードはどうなってるの?

700 :デフォルトの名無しさん:2013/01/29(火) 23:16:16.20
すみません
色々試して上書きしてしまった
結果さきほどのURLを参考にしたコードはもうないのですが
↓このような感じで色々試してみました。
Public Property PictureBox01() As String
Get
Return PictureBox.Visible
End Get
Set(ByVal Value As String)
PictureBox.Visible = False
End Set
End Property

701 :デフォルトの名無しさん:2013/01/29(火) 23:17:29.44
Σ(゚Д゚;エーッ!

702 :デフォルトの名無しさん:2013/01/29(火) 23:47:48.68
すみません

703 :デフォルトの名無しさん:2013/01/30(水) 00:05:51.40
visiblechangedイベントつかったら?
プロパティをそんな使い方したことないわ

704 :デフォルトの名無しさん:2013/01/30(水) 00:14:59.22
すみません、教えてください。
以下のソースを実行した場合にバイナリが「0.bmp」「1.bmp」で違うのですが何故???
まったく同じコピーが出来るものと思ったのですが。
BmpNewにBmpをDrawImageしてもバイナリが違うし謎すぎる…。

Dim FilePath1 As String = System.IO.Path.Combine(Application.StartupPath, "0.bmp")
Dim FilePath2 As String = System.IO.Path.Combine(Application.StartupPath, "1.bmp")

Dim Bmp As System.Drawing.Bitmap = New System.Drawing.Bitmap(FilePath1)

Dim BmpNew As New System.Drawing.Bitmap(Bmp)
BmpNew.Save(FilePath2, System.Drawing.Imaging.ImageFormat.Bmp)

705 :デフォルトの名無しさん:2013/01/30(水) 00:26:47.51
>>703
ありがとうございます。
visiblechangedについて詳しくないので明日調べて挑戦してみます。

706 :デフォルトの名無しさん:2013/01/30(水) 01:18:36.41
>>704
MSDN嫁

全く同じコピーが欲しいならcloneでもすれば?

707 :デフォルトの名無しさん:2013/01/30(水) 09:09:41.88
IDE をつかわず、テキストに直接コード打ち込んでビルドしたい
ある程度の実行ファイルはコンパイル出来るようになった
フォームの生成がよくわからない
解説サイトがあったら教えてくださいませ

708 :デフォルトの名無しさん:2013/01/30(水) 09:44:01.49
VSのデザイナが自動生成したコードを読め

709 :デフォルトの名無しさん:2013/01/30(水) 10:16:22.53
読むだけじゃどうにもならんので

710 :デフォルトの名無しさん:2013/01/30(水) 10:20:39.43
だったらオブジェクト指向をちゃんと勉強するか諦めてデザイナを使え

711 :デフォルトの名無しさん:2013/01/30(水) 10:29:19.61
質問は>>707の内容のサイトを教えてくれ

知らないとかならまだ理解出来るんですが
勉強しろとか回答になってないですぅ
意地悪しないでくさい><

712 :デフォルトの名無しさん:2013/01/30(水) 10:37:08.74
Dim form As Form = New Form()
Dim button As Button = New Button()
button.Text = "ちんこ"
button.Left = 100
button.Top = 20
form.Controls.Add(button)
Application.Run(form)
こういう流れ
あと細かいことはデザイナと見比べればわかるだろ

713 :デフォルトの名無しさん:2013/01/30(水) 10:45:54.34
インスタンスの生成じゃないよう
判るだろ、じゃなくて

IDE 使わないで平打ちでvbファイル書いて、vbcビルドするのが目的なんだってばよ
部分コードサンプルだけのってるサイト見ても自動生成コード見ても何にもならんの
そこらへんの解説を知りたいんですぅ><

でもコード作ってくれたお礼は言っときます、ありがと

714 :デフォルトの名無しさん:2013/01/30(水) 10:49:27.69
> 自動生成コード見ても何にもならんの
ちょっと意味が分からない

715 :デフォルトの名無しさん:2013/01/30(水) 10:50:37.25
C#ならある。読む気がないなら死ね。
http://www.kumei.ne.jp/c_lang/index_form.html

716 :デフォルトの名無しさん:2013/01/30(水) 10:58:10.71
なんでそんな変なことしようとするの?

717 :デフォルトの名無しさん:2013/01/30(水) 11:06:51.76
>>715
おおおお、ありがとう
CSかあ、やっぱそっちのがメジャーなんかな
いくつかビルド出来たし、このサイト参考にさせてもらいます
ありがと!

718 :デフォルトの名無しさん:2013/01/30(水) 19:08:34.14
>>698の質問をしたものです。
VisibleChangedイベントを使うといいと言われて調べてみました。
色々と出てきたのですがフォーム間での受け渡し?についてのものが無く
でてきたVisibleChangedイベントだけのものだけでは
初心者の私にはフォーム間でのものに近づけられませんでした。
いい参考サイト、またはVisibleChangedイベントでのフォーム間について教えてもらえないでしょうか。
何度もすみません。

719 :デフォルトの名無しさん:2013/01/30(水) 19:19:10.67
>>718
>Form2のPictureBoxのVisibleをTrueにしたいのです。
Form2のPictureBoxのModifiersをPublicにしたらForm1から扱えるよ。

720 :デフォルトの名無しさん:2013/01/30(水) 19:45:15.89
>>719
まずForm1がForm2の参照もってないとダメだろ
>>718
Form2は誰がどうやって表示させてるんだ

これまじめに設計するなら
フォーム管理クラス作って、そいつがForm1とForm2を表示する
そのうえでForm1がイベント起こしてフォーム管理クラスに通知
フォーム管理クラスがForm2の状態変更する
ってのが正しい設計?

ああ、Form1もForm2もデフォルトインスタンスだとかってに参照もってるかもな

721 :デフォルトの名無しさん:2013/01/30(水) 20:12:18.81
>>720
Form2はForm1でIfを使って
条件を満たした場合Form1からの移動としています。

722 :デフォルトの名無しさん:2013/01/30(水) 20:18:28.34
日本語でおk

723 :デフォルトの名無しさん:2013/01/30(水) 20:23:31.28
OpenFormsから検索してもいいと思うよ
閉じたフォームのUIに触っちゃいかんしむしろ都合いいかも

724 :デフォルトの名無しさん:2013/01/30(水) 20:37:27.35
まだそのレベルじゃないだろ

725 :デフォルトの名無しさん:2013/01/30(水) 21:01:28.02
OpenFormsって同じ名前のフォームが複数インスタンス存在してたら区別できないんじゃ?
基本的に特定フォームの処理するときに使っちゃいかんのじゃないか
というかこれを正しく使う使い道が俺には思い浮かばん

あ、デフォルトインスタンスしか使ってないような奴はもうプログラムやめろと

726 :デフォルトの名無しさん:2013/01/30(水) 21:01:40.60
そうだね

>>721
解決しました
から
破棄されたオブジェクトに(ry
ってなると思うからそしたらForm.IsDisposedでググってね

727 :デフォルトの名無しさん:2013/01/30(水) 21:05:24.83
>>725
被った
>>721の意味によるけど全く分からないから都合良く解釈したよ

728 :デフォルトの名無しさん:2013/01/30(水) 21:12:01.44
たしかVisualStudioで普通にポトペタしたコントロールはFriendで宣言されてるはず

>>721
とりあえずForm2を表示してるところのコード晒せ
Form2はNewしてるのかしてないのか?

>>726
どんなエスパーだよ

729 :デフォルトの名無しさん:2013/01/30(水) 21:36:41.37
>>728
If Label1.Text = 0 Then
If Timer1.Enabled = False Then
Form2.Show()
Me.Close()
End If
End If

If PictureBox11.Visible = False And PictureBox57.Visible = False And PictureBox8.Visible = False And PictureBox9.Visible = False Then
If Timer1.Enabled = False Then
Form2.Show()
Me.Close()
End If
End If

こんな感じです。
Newしていません。

730 :デフォルトの名無しさん:2013/01/30(水) 21:45:56.96
>>729
じゃあ何も考えずに
Form2.PictureBox1.Visible = False
で出来るだろ

でもそう言うプログラムの組み方はしちゃいけない
ちゃんとした本かなんかでちゃんと勉強してくれ

731 :デフォルトの名無しさん:2013/01/30(水) 21:49:20.39
PictureBox57てwww

732 :デフォルトの名無しさん:2013/01/30(水) 21:53:26.13
>>731
うんまあプログラム初心者だと思うから頑張って勉強してくれとしか
とりあえずなんか動くもの作るのはモチベーション上がるし大事かと

あ、もし仕事でやってるなら今すぐ上司か先輩にそのコード見せて指導うけろ
なんの指導もなければ転職しろ、まじで

733 :デフォルトの名無しさん:2013/01/30(水) 22:00:35.00
皆さん初心者なのでわけの分からないことばかり
言ってしまいましたがありがとうございました。

>>730
>>732
はい。まず自分だけでどこまでできるか試してみたかったのですが
途中で挫折してしまっていました。
やはり本など買ってみようと思います。
内定先がそういうところらしいのでやってみたかったのです。
これから頑張っていきたいと思います。

お騒がせしてしまって申し訳ありませんでした。

734 :デフォルトの名無しさん:2013/01/30(水) 22:12:52.63
Form内は割と自由だけどForm間は結構制限がある
擬似であっても並列動作するしね
一通りコントロールを弄れるようになってから再挑戦したらいいよ
あとVB.Netであってる?姉妹言語のC#じゃなくて?

735 :デフォルトの名無しさん:2013/01/30(水) 22:20:42.32
>>734
そうですね
細かい事が分からないまま作りはじめたので
改めて勉強してから再挑戦してみたいと思います。
ありがとうございます。
はい、.NETであってます大丈夫です。

736 :デフォルトの名無しさん:2013/02/07(木) 00:56:33.85
>>731
なんとなくAccess VBAを連想させるコントロール名だなwww

737 :デフォルトの名無しさん:2013/02/07(木) 02:59:25.04
ACCESSはフォームにコントロール馬鹿ほど張ってもそれなりに動く
ACCESSのコントロールはウィンドウじゃないからな

738 :デフォルトの名無しさん:2013/02/08(金) 10:25:51.60
vb.net2010のchartなんですが
X軸の項目が勝手に端折られてしまいます。
大きさ変えても端折られてしまいます。
端折られない設定教えてくださいませ。

739 :デフォルトの名無しさん:2013/02/08(金) 10:49:04.96
普通は、端折られたりしない。
項目を入力してないだけじゃね?

740 :デフォルトの名無しさん:2013/02/08(金) 12:55:05.98
>>739
項目はあります。
SQLからデータ引っ張ってきて
それをデータソースに指定しているだけなんですけど

741 :デフォルトの名無しさん:2013/02/08(金) 13:00:32.69
>>740ですが
書き方が悪かったかもしれません。
端折られるのはX軸に表示されている項目名だけで
グラフ自体はちゃんと作成されています。
例えばX軸に1月〜12月を指定すると
1月、3月、5月・・・とグラフは12個あるのに
表示されている項目が一個飛びになってしまうのです。

742 :デフォルトの名無しさん:2013/02/08(金) 19:55:13.04
>>741
そういう飛び飛びの端折られ方ね。
それならあるあるだった筈。
確か、軸のメモリ幅が指定できるプロパティがあったと記憶してる。

俺も復習がてら調べてみるが、あんたも、グラフ初心者用のサイトとかで
勉強してみてくれ。

743 :デフォルトの名無しさん:2013/02/08(金) 20:19:21.94
http://www.hanatyan.sakura.ne.jp/patio/read.cgi?mode=view2&f=262&no=7

> .Interval = 20 '点数のメモリ間隔(20点毎)

コレがそうかな?



以前、俺が作ったグラフからも抜粋
With Chart3
  '-------------エックス軸の設定表示変更など-----------------------------
  '下記設定では、上記自動サイズ設定が無効となりサイズが固定となる
  'X軸ラベル(氏名)の区切り線の間隔を設定
  '既定値は、0 で自動的に表示される 注A 参照
  Chart3.ChartAreas(0).AxisX.MajorGrid.Interval = 2 ' 1 に変更して試して見てください。※レーダーグラフでは意味ないようだ。
  'X軸ラベル(氏名)の区切り線の表示開始位置の設定
End With

744 :デフォルトの名無しさん:2013/02/08(金) 20:48:11.34
>>742-743
マジありがとうございます。
しかもわかりやすく。
これで明日は本屋めぐりせずに
家に籠れます。
ありがとうございました。

745 :デフォルトの名無しさん:2013/02/08(金) 21:11:08.12
どういたしまして^^

746 :デフォルトの名無しさん:2013/02/10(日) 03:54:30.70
はじめまして。
どうしてもわからない事があり、何か方法があればご教授頂ければと思います。
Convert.ToBase64Stringにて、画像データ(Byte型)を変換したいと思っているのですが、特定の画像だけうまくいきません。

画像データ(Byte型)をそのまま書き込んだら全く同じ画像が表示されますし、既存のソフトでBase64に変換を試みたところ、うまくいきました。

また、他の画像では問題なく変換できますのでコードには問題ないと思っています。

どうか助けてください><

747 :デフォルトの名無しさん:2013/02/10(日) 12:03:26.15
意味不明
ならToBase64StringじゃなくてデコードやIOでこけてるだけじゃないのか

748 :デフォルトの名無しさん:2013/02/10(日) 19:42:11.32
まず、うまくいかないってのは何がどうなってるのかちゃんと説明しろ
うまくいかないで通じると思ってる奴とか、ちゃんと状況を説明できない奴はプログラムにむいてない

749 :デフォルトの名無しさん:2013/02/12(火) 23:03:34.77
最大化したときClientSizeプロパティが通常状態のままなんですが
コントロール再描画すると勝手にそれに合わさるんですが
WebbrowserはNewWindowでUrlがキャッチできないから意味ないし
恐ろしいレベルで欠陥言語だな

750 :デフォルトの名無しさん:2013/02/12(火) 23:14:12.54
言語とライブラリを混同するあたりがいかにも欠陥VB脳だな

751 :デフォルトの名無しさん:2013/02/13(水) 07:56:41.80
これがVBクオリティですわwww

まあ、俺もだが、、、orz

752 :デフォルトの名無しさん:2013/02/13(水) 20:09:50.14
2010 express

プロパティのリソースんところでwavファイルを埋め込むことは
出来たんですが、そのファイルを鳴らす方法教えて下さい

753 :デフォルトの名無しさん:2013/02/13(水) 20:45:04.26
鳴らすのは あなーた〜♪

754 :デフォルトの名無しさん:2013/02/13(水) 21:00:36.91
wav限定ならSystem.Media.SoundPlayerでいける

755 :デフォルトの名無しさん:2013/02/13(水) 21:10:42.41
>>754
System.Media.SoundPlayer で調べてみます

756 :デフォルトの名無しさん:2013/02/15(金) 09:13:27.99
Express2010だけど、

moduleを入れて Sub Main()をエントリポイントにしたらウィンドウのスタイルが
おもいっきり古臭いのになってしまったんだけど、これって仕様?

757 :デフォルトの名無しさん:2013/02/15(金) 09:29:11.73
よかったなw

758 :デフォルトの名無しさん:2013/02/16(土) 13:58:10.09
Application.Runの前に、
Application.EnableVisualStyles()
Application.SetCompatibleTextRenderingDefault(false)

759 :デフォルトの名無しさん:2013/02/16(土) 19:04:28.77
>>758
なるほど。ありがとうです

760 :デフォルトの名無しさん:2013/02/25(月) 21:37:39.51
Dim a , b , c , j As Decimal
Dim x As String
For i = a To b Step c
z =Math.Sqrt(j^2 + i ^2)
x = x & vbCrLf & "X=" & Format(i, "0.00000") & "," & "Z=" & Format(z, "0.00000")
Next
TextBox1.Text = x.ToString()

すみません、上記の記述ですとTextBox1に表示させない記述に比べ
計算処理にかなり時間がかかってしまいます。
何か良い方法はありませんでしょうか?
どうぞよろしくお願いいたします。

761 :デフォルトの名無しさん:2013/02/25(月) 21:44:55.85
List(Of Double)に突っ込んどいて後で文字列にする

762 :デフォルトの名無しさん:2013/02/25(月) 21:53:04.32
StringBuilder

763 :760:2013/02/25(月) 22:05:46.80
すみません、全く分かりませんです

764 :デフォルトの名無しさん:2013/02/25(月) 22:09:42.32
>>762
abcが分からないと…
7-8以下じゃStringBuilderの方が遅いはず

765 :デフォルトの名無しさん:2013/02/25(月) 22:15:55.78
そんなレベルなら処理の速度なんて気にするより
本読んで勉強を進めろ

766 :760:2013/02/25(月) 22:20:43.15
そう仰らずにどうかよろしくお願いいたします。

767 :デフォルトの名無しさん:2013/02/25(月) 22:23:45.91
とりあえず、この辺
Dim x As New System.Text.StringBuilder
x.AppendLine("X=" & Format(i, "0.00000") & "," & "Z=" & Format(z, "0.00000"))

768 :760:2013/02/25(月) 22:33:20.95
>>767
できましたできました!!!ありがとうございますm(__)m
本当にありがとうございます!なんとお礼を申していいのやら。
これでやりたい複雑な計算ができます!
あなた様のおかげで日本の技術がまた開けます!それくらいありがたいことです!

769 :760:2013/02/25(月) 22:35:26.90
これからなるべく皆様のお手を煩わせないようまた勉強を始めます。
皆様、本当にありがとうございました!m(_ _)m失礼致しました。

770 :デフォルトの名無しさん:2013/02/25(月) 22:52:59.95
うっざ

771 :デフォルトの名無しさん:2013/02/26(火) 00:18:16.23
速度を求めるならVBなんかじゃなくてもいいだろう。

772 :デフォルトの名無しさん:2013/02/26(火) 00:30:56.02
速度を求める技術的な複雑な計算にDecimalを使うとはこれいかに

773 :デフォルトの名無しさん:2013/02/26(火) 01:04:50.50
普通は何使いますの?

774 :デフォルトの名無しさん:2013/02/26(火) 01:19:42.62
>>773
Double

775 :デフォルトの名無しさん:2013/02/26(火) 01:36:23.66
Decimalってソフトウェア実装だからクッソ遅い
VBerお得意の金の計算には全く問題ないけど

776 :デフォルトの名無しさん:2013/02/26(火) 03:36:57.38
10進数として正確に丸めたいとか目的がはっきりしてれば
そんなにおかしい選択肢じゃないと思うけどね。
Decimalは10進化浮動少数点型で、BCD固定少数点より速度的にだいぶまし。
ただ、Math.Sqrtなど算術系の関数はdoubleしかサポートしてないのが多いから、
decimal double間の変換が起きてしまって、今回の場合は意味がないかも。

777 :760:2013/02/26(火) 18:52:36.42
昨日はありがとうございました
問題が発生しました。
物理メモリーの使用量がどんどん増えていってしまいます。
16GBを実装してますが出力される結果が多くなっていくと
メモリー量が足りない旨のメッセージがでてしまいます。
どうしたものでしょう?

778 :デフォルトの名無しさん:2013/02/26(火) 19:25:14.91
そんな多くの文字を作ったところで出力、表示しても意味が無いだろ

779 :デフォルトの名無しさん:2013/02/26(火) 19:57:07.95
数列をデータとして次の処理(別の処理ソフトに読み込ませる)に利用したいのです。

780 :デフォルトの名無しさん:2013/02/26(火) 19:57:51.95
メモリを解放すればいい。

781 :760:2013/02/26(火) 20:17:01.02
Foe Nextの間に強制的にガベージコレクションを記述したら実行速度がかなり遅くなってしまいました
さらにvb.netは自動的にメモリ開放を行ってくれるそうですが・・・

782 :デフォルトの名無しさん:2013/02/26(火) 21:00:23.77
TextBoxじゃなくてファイルに書き出せよ。

783 :デフォルトの名無しさん:2013/02/26(火) 21:08:00.28
>>777
メモリを増やしたら良いんじゃ無いかな?

784 :デフォルトの名無しさん:2013/02/26(火) 21:08:55.57
Forループ内でGCって、何回ループまわして中で何やってるんだ
ループ前か後でGCやれば充分じゃないのか

785 :デフォルトの名無しさん:2013/02/26(火) 21:26:41.57
>>760
真面目に質問したいなら問題が再現できるコードをそのままどこかにアップした方がいいよ。

こっちはエスパーじゃないんだから困った困った言われても何に困ってるのか
さっぱり分からない。

786 :760:2013/02/26(火) 22:29:39.02
むぅ・・・うまくいかんです
ループ内の処理中にどんどんメモリーを使っているのはわかるんですが
たとえば60MBの出力サイズでも計算中に3GBはメモリを消費します。
難しいですね。

>>785
このコードで再現できると思います。最初の宣言にzも付け加えてください。

787 :デフォルトの名無しさん:2013/02/26(火) 22:31:22.88
このコードで再現?
だからStringBuilderを使えと言われてただろう。何を聞いてたんだ?

788 :デフォルトの名無しさん:2013/02/26(火) 22:38:42.38
>>787
大変失礼致しました

Dim a , b , c , j , z As Decimal
Dim x As New System.Text.StringBuilder
For i = a To b Step c
z =Math.Sqrt(j^2 + i ^2)
x.AppendLine("X=" & Format(i, "0.00000") & "," & "Z=" & Format(z, "0.00000"))
Next
TextBox1.Text = x.ToString()

です。よろしくお願いいたします

789 :デフォルトの名無しさん:2013/02/26(火) 22:42:52.34
bもcもjも未初期化でどうやって再現させるんだ?

790 :デフォルトの名無しさん:2013/02/26(火) 22:50:53.91
こうじゃないのか?

Dim a, b, c As Integer
Dim z As Double
Dim j As Decimal
Dim x As New System.Text.StringBuilder

x.Length = 0

For i = a To b Step c
z = Math.Sqrt(j ^ 2 + i ^ 2)
x.AppendFormat("{0}", x)
x.Append("{0}", vbCrLf)
x.AppendFormat("X={0},Z={1}", Format(Format(i, "0.00000"), Format(z, "0.00000")))
Next

TextBox1.Text = x.ToString()

791 :デフォルトの名無しさん:2013/02/26(火) 22:53:05.37
間違えた
Dim a, b, c As Integer
Dim z As Double
Dim j As Decimal
Dim x As New System.Text.StringBuilder

x.Length = 0

For i = a To b Step c
z = Math.Sqrt(j ^ 2 + i ^ 2)
x.AppendFormat("{0}", x)
x.Append("{0}", vbCrLf)
x.AppendFormat("X={0},Z={1}", Format(i, "0.00000"), Format(z, "0.00000"))
Next
TextBox1.Text = x.ToString()

792 :デフォルトの名無しさん:2013/02/26(火) 23:06:32.65
>>791
bとcを初期化していないから、無限ループしているんじゃ無いかな?

793 :760:2013/02/26(火) 23:09:46.71
>>791
String "
" から型 'Integer' への変換は無効です。
とエラーになりますです。

794 :デフォルトの名無しさん:2013/02/26(火) 23:09:53.34
サンプル用に適当にコードを置換抜粋して動確もせずに、
再現コードと言い張るやつに、これ以上つきあうことなくね?
教える側の手間とか考えてないんだろ

795 :デフォルトの名無しさん:2013/02/26(火) 23:12:35.36
>>793
変数の初期値に何を指定したの?
まずそっちの回答の方が先。

796 :760:2013/02/26(火) 23:17:15.29
>>795
a=-5 b=5 c=0.000001 j=5 です。

797 :デフォルトの名無しさん:2013/02/26(火) 23:25:32.25
まったくだ
codepadにまるまる貼り付けろよ

798 :デフォルトの名無しさん:2013/02/26(火) 23:27:19.77
aとbが同じな時点でおかしい気がするが。

799 :760:2013/02/26(火) 23:35:04.07
数値の増減で得られる解をできるだけ早く出力させたいのです。
たとえば変数の-5から5まで0.000001ずつ増えた数字と定数5(j)により得られた解を出力させたいということです。
皆様のご意見を参考に、もうちょっと自力でも頑張ってみます。
どうもありがとうございましたm(_ _)m

800 :デフォルトの名無しさん:2013/02/26(火) 23:36:36.99
いや、伝えてくれる情報が事実と異なっているんだよ。
実際のコードと違う内容を提示するから誰にもわからないって事。

801 :デフォルトの名無しさん:2013/02/26(火) 23:37:54.23
ああ、aは-5なのか

802 :デフォルトの名無しさん:2013/02/26(火) 23:40:00.88
ここで何人見ているか、ROM専も含めて何人、何百人いるかわからないが、みんなおまえがおかしいと言っているわけだよ
自力で頑張ってどうにかなるもんじゃないよ?

803 :デフォルトの名無しさん:2013/02/26(火) 23:41:28.37
ループ内で一時的に確保されるメモリが、ループ終了まで解放されないとすれば3Gは妥当なサイズ。

804 :760:2013/02/26(火) 23:43:32.76
>>800
すみません、このままなのです。
たとえばiが-5の時の解(z)は50です。

805 :760:2013/02/26(火) 23:46:55.24
>>801
5ばかりで分かりづらかったですね、申し訳ございません。

806 :デフォルトの名無しさん:2013/02/26(火) 23:47:01.65
テキストホックスの表示がオーバーフローしてるだけだ。
テキストボックスをコメントにすれば動く。
テキストボックスのMAXLANGTH増やしても落ちるな。

807 :デフォルトの名無しさん:2013/02/26(火) 23:50:57.91
>804
たとえばじゃなくて、メモリ不足や処理が重いことを再現できるような
テストの用の初期値を明記してコードを貼り付けろってことなんだよ。
何で手を抜くの?
何が面倒なの?

808 :デフォルトの名無しさん:2013/02/26(火) 23:54:46.14
確かに、オーバーフローって、そうなってるかどうかの判別が、初心者に難しいよね。
俺なんか最近も多元配列でやらかしたわ。

809 :デフォルトの名無しさん:2013/02/26(火) 23:56:06.71
うん。わかったわ。これは計算結果の全部をテキストボックスに
入れるなんて考え方はだめだ。
計算結果はListとかに入れて表示は改ページやスクロールで
一部分のみ表示するようにしないと。

810 :デフォルトの名無しさん:2013/02/26(火) 23:57:28.65
テキストボックス全件表示は無理なんだったら
配列に入れて、表示可能な分だけ取り出すしかないよね。

811 :760:2013/02/27(水) 00:03:42.67
>>807
増減を決めるcを小さくしていくと再現できます。
i=-5の時はz=7.07107でした。

812 :デフォルトの名無しさん:2013/02/27(水) 00:04:28.60
うっせえな消えろや

813 :デフォルトの名無しさん:2013/02/27(水) 00:05:07.67
こりゃすげぇわ。付き合いきれん

814 :デフォルトの名無しさん:2013/02/27(水) 00:06:12.97
そう仰らずに、明日またよろしくお願いいたしますm(_ _)m

815 :デフォルトの名無しさん:2013/02/27(水) 00:07:15.66
いや、もう再現したし。答えもでた。

816 :デフォルトの名無しさん:2013/02/27(水) 00:07:45.37
いや、原因はわかっただろう。
コード直せば終わりだよね。

817 :760:2013/02/27(水) 00:12:41.31
ループの中にループをいれて、更にループを入れてとやっていくとメモリがいくらあっても足りません。

818 :デフォルトの名無しさん:2013/02/27(水) 00:16:12.00
だからー
計算結果を文字列で持つからだろ。計算結果は数値のみ持つの。
プログラミング勉強したことあるの?

819 :デフォルトの名無しさん:2013/02/27(水) 00:16:28.92
その説明でわかったらエスパーだよ。

820 :デフォルトの名無しさん:2013/02/27(水) 00:22:56.33
760は、明日も明後日も、そして、この質問が解決しても
毎日新しい質問をして来るだろうね。そういう類の人。他力本願寺。ナムー(-人-)チーン

821 :760:2013/02/27(水) 00:25:43.83
>>818
プログラミングは初めてです。
参考書は5冊ほどあります。
昨日、文字列で扱うようになってから今までとは比べにならないほど早くなりました。

マルチスレッドという案はいかがでしょう?

822 :デフォルトの名無しさん:2013/02/27(水) 00:26:37.08
黙れクソ虫

823 :デフォルトの名無しさん:2013/02/27(水) 00:27:55.94
>>796
>c=0.000001
>Format(i, "0.00000"),
cのゼロ1つ多くないか?

824 :760:2013/02/27(水) 00:28:46.22
>>820
ここまで1ヶ月掛けて自力で覚えました。ちなみに本願寺派です。

825 :デフォルトの名無しさん:2013/02/27(水) 00:28:59.17
マルチスレッドにしてもテキストボックスのオーバーフローは直らないがな。

826 :デフォルトの名無しさん:2013/02/27(水) 00:30:24.85
本願寺なら教えるだけ時間の無駄だな。

827 :760:2013/02/27(水) 00:30:52.75
>>823
できればcの単位にFormat内の単位を自動で合わせたいのですが、これも今後の課題です。
何通りか試しましたが今のところ上手く行ってません。

828 :デフォルトの名無しさん:2013/02/27(水) 00:31:48.71
基本がわかってない奴に何言っても理解できないだろ

829 :760:2013/02/27(水) 00:31:52.44
>>826
大谷派になっても良いです

830 :デフォルトの名無しさん:2013/02/27(水) 00:32:28.49
早速、次の質問キター!w

831 :デフォルトの名無しさん:2013/02/27(水) 00:33:04.33
ちなみに数値だけ持つようにしたら2秒で処理終わったよ

832 :デフォルトの名無しさん:2013/02/27(水) 00:34:13.98
>>831
余計な事を言うな。

833 :デフォルトの名無しさん:2013/02/27(水) 00:34:43.27
>>829
これだけ回答出てるんだから自分で調べればすぐ解決する。

834 :760:2013/02/27(水) 00:35:59.17
>>831
ヒントをありがとうございます。今日一日考えてみます。

835 :760:2013/02/27(水) 00:46:38.63
>>833
スレをよく読んで調べてみます。
ありがとうございました。

836 :デフォルトの名無しさん:2013/02/27(水) 07:21:00.38
>>834
真面目にアドバイスすると、メモリを増やせ。

計算結果をテキストで保持すると約66GBになる。
ちなみにテキストボックスに表示するために、一時的にこの数倍の
メモリが必要になる。テキストボックスを使わずに、自前で描画する
ようにすれば、66GB+数MBのメモリで済むけどな。

テキストにで保存するからだろって行ってる馬鹿が居るが、Decimalは
16バイトあるので、Decimal型のままだと、467GBになる。

大量の計算結果をどうやって保存するかってのは、スーパー
コンピューターなんかでも実効速度を制約する重大な問題。
計算結果をメモリに保持すれば高速だが大容量を用意するのは
高価になるし、HDDやテープに保存すれば安価に大容量を用意できるが
当然遅くなる。

高速化のためにメモリに保持するという方法を選んだのなら、
計算結果を保持するために必要なメモリを用意するのは
当然必要なことだ。256GBくらい積んでおけば良い。

837 :デフォルトの名無しさん:2013/02/27(水) 07:31:55.70
もう止めようよ
本人が考える気はないって公言してるんだから
スレの無駄

838 :デフォルトの名無しさん:2013/02/27(水) 09:07:36.52
できた
Dim a, b, c, j, z As Decimal
a = -5
b = 5
c = 0.000001
j = 5
Dim iList As New List(Of Double)
Dim zList As New List(Of Decimal)
For i = a To b Step c
z = Math.Sqrt(j ^ 2 + i ^ 2)
iList.Add(i)
zList.Add(z)
Application.DoEvents()
Next

Dim x As New System.Text.StringBuilder
For k As Integer = 0 To 100
x.AppendLine("X=" & Format(iList(k), "0.00000") & "," & "Z=" & Format(zList(k), "0.00000"))
Next
TextBox1.Text = x.ToString()

839 :デフォルトの名無しさん:2013/02/27(水) 09:09:36.55
計算中にDoEventsとかクソすぎ
スレッド使えよ

840 :デフォルトの名無しさん:2013/02/27(水) 09:11:29.64
あ、DoEvents消し忘れたw

841 :デフォルトの名無しさん:2013/02/27(水) 09:16:37.17
>>838
>>836によると467GBもメモリ必要らしいが、それ最後まで動くの?

842 :デフォルトの名無しさん:2013/02/27(水) 09:18:48.98
コンソールアプリで作って、
リダイレクトでファイルに書き出すのがベストだと思うよ。

843 :デフォルトの名無しさん:2013/02/27(水) 09:19:18.67
>>841
タスクマネージャを見ると388メガくらい使うな。XPだけど。
Decimal が結構メモリを使ってしまう。
やっぱり基本的にはファイルなりに落とすべき処理だわ。

844 :デフォルトの名無しさん:2013/02/27(水) 10:06:06.24
こういう基礎的なプログラムをどれだけ効率良く走らせるか考えるのって楽しさ無限大

845 :デフォルトの名無しさん:2013/02/27(水) 11:16:50.33
スクロールするバージョンも作ったぞ
http://codepad.org/V3f6NVDS

846 :デフォルトの名無しさん:2013/02/27(水) 13:20:38.54
String型をオーバーライドして仮想メモリ処理ロジックくっつけたらいいんじゃね?
まあ速度が必要な処理をWindows上でやろうってところから間違えてる

847 :デフォルトの名無しさん:2013/02/27(水) 13:32:46.11
String型をオーバーライド?

これだからVB脳は

848 :デフォルトの名無しさん:2013/02/27(水) 13:35:36.91
ネタレスに煽りで返されるくるとはVBスレは怖いところだな

849 :デフォルトの名無しさん:2013/02/27(水) 13:40:27.69
自分の愚かさから逃げたらダメよ

850 :デフォルトの名無しさん:2013/02/27(水) 14:02:55.14
遅いのは計算じゃなくて結果表示だから、表示方法を工夫するだけでちゃんと動くだろうに
全部を表示する必要があるのかどうかの検討も含めてな

851 :デフォルトの名無しさん:2013/02/27(水) 14:08:14.56
計算結果をファイルに落とすといっても、計算中にメモリに逐一格納されるデータの大きさは同じです
だからこういった場合はメモリの量を増やすしかない

852 :デフォルトの名無しさん:2013/02/27(水) 14:12:56.70
個々の計算は独立しててスタックで完結してるじゃん
計算毎にファイルなり標準出力なりに出していけば大したメモリはいらん

853 :デフォルトの名無しさん:2013/02/27(水) 15:00:45.52
計算毎に処理を挿入すると遅くなりそうだが・・・

854 :デフォルトの名無しさん:2013/02/27(水) 15:02:06.11
少しは貯めてから処理したほうがいいね

855 :デフォルトの名無しさん:2013/02/27(水) 15:11:27.56
ファイルへの出力はバッファリングされるから気にしなくてもいい。
ただ大量出力なら出力バッファを大きく取るとか工夫の余地はある。

856 :デフォルトの名無しさん:2013/02/27(水) 17:19:05.69
>>851
-5から5まで0.000001刻みだから10M件
Decimal2個だと1件あたり32バイトで320Mバイト
"X=+0.00000,Z=+0.00000"だと21文字で42バイトだとしても420Mバイト
計算まちがってるか?

今時のマシンで問題になるほどのサイズだとは思えんが

857 :デフォルトの名無しさん:2013/02/27(水) 17:21:52.12
現時点ではそうでも、さらに内側にループたくさん入れたいらしいからな。
そのうち足りなくなるだろう。

858 :デフォルトの名無しさん:2013/02/27(水) 18:36:14.62
仕様が謎だけど、全件、計算してメモリに格納する必要があるのかと。
表示する部分だけ、範囲で計算すればいいじゃん。

859 :デフォルトの名無しさん:2013/02/27(水) 18:38:34.10
なんだかんだいって熱いなおまいら

860 :760:2013/02/27(水) 19:29:13.25
皆様こんばんは。
昨夜以降のご指導のレスも含めまして大変参考にさせていただきました。
勉強になりまして真にありがとうございました。
おかげさまで約200MBのサイズの数列が30秒ほどでメモリも消費することなく出力することができました。
CPUはCore 2 Duo 2.4GHzです。
これでまた日本の技術が進歩します。ありがとうございました。

861 :デフォルトの名無しさん:2013/02/27(水) 20:14:42.90
つうかこんな謎テーブル作って出力するとか、それを全部一気に表示しようとするとか
どう考えてもお前の技術は標準より遙かに下だ
お前のせいで日本の技術が退化してるぞ

862 :760:2013/02/27(水) 20:32:32.98
>>861
ごめんなさい(-_-)

863 :760:2013/02/27(水) 20:56:56.16
非常に安定して計算されております

864 :デフォルトの名無しさん:2013/02/28(木) 16:44:29.11
いまだにVS2008でやってるんだけど、やっと2010以降にしようと
調べてみたら、SmartDeviceプロジェクトが無くなってる?

どうなってんのこれ

865 :デフォルトの名無しさん:2013/02/28(木) 19:13:52.98
>>864
SmartDeviceがなくなったからだろ
モノがないのに開発環境だけあってもしょうがないしな

866 :デフォルトの名無しさん:2013/03/01(金) 10:22:54.81
WindowsCE向けの開発とか、2010からはどうすりゃいいのさ

867 :デフォルトの名無しさん:2013/03/01(金) 10:30:59.50
古いの使えよ
いつまでも終わった技術をサポートしてたら保守にコストかかりすぎて新機能作れなくなるわ

868 :デフォルトの名無しさん:2013/03/04(月) 09:59:48.61
>>866
Embeddedの話ならもともと開発はPBだろ
VSはあくまで既成の実機に対するアプリ開発環境だよ
実機がなくなればサポートもなくなる

869 :デフォルトの名無しさん:2013/03/12(火) 10:27:14.40
今からVBを始める予定なので質問が抽象的になってしまうのですが
VBで以下のことを実現できるでしょうか?

道を歩いているAさんの動きを設定し保存
道を歩いているBさんの動きを設定し保存
道を歩いているCさんの動きを設定し保存

上記の3人各々の設定した動きを合成し、道の上での状況を見下ろし型の平面図(2D)で再現
gifか何かでアニメーションを出力する

というソフトを作りたいです

870 :デフォルトの名無しさん:2013/03/12(火) 10:32:14.82
余裕で

871 :デフォルトの名無しさん:2013/03/12(火) 10:38:20.94
さっそくのレスありがとうございます
プログラム童貞ですが頑張ります

872 :デフォルトの名無しさん:2013/03/12(火) 15:14:20.61
VBがそのソフトを作るのに向いてるかどうかは別問題

873 :デフォルトの名無しさん:2013/03/12(火) 15:31:56.41
でも別に苦手ってことはないでしょ。むしろ余裕

874 :デフォルトの名無しさん:2013/03/12(火) 16:02:38.34
プログラム初心者にVBより学びやすい言語はない!
これだけは、断言できる。

875 :デフォルトの名無しさん:2013/03/12(火) 16:17:11.49
VBは過去のしがらみが多すぎて初心者にはややこしいと思うけどなぁ。

876 :デフォルトの名無しさん:2013/03/12(火) 16:35:03.44
VB使いはVBしかできない
プログラマとして生きていくならまずは他を選ぼう

877 :デフォルトの名無しさん:2013/03/12(火) 16:58:24.65
>>876
コイツはVBしか使えませーンwばーかばーかwww

878 :デフォルトの名無しさん:2013/03/12(火) 19:32:55.16
下記の宣言文でABCDの型はそれぞれなにになるでしょう。
option inferの有無で変わるのだけど、初心者に優しいとは思えないな。

Dim A = 3, B = 4.5, C, D As Decimal

879 :デフォルトの名無しさん:2013/03/12(火) 22:18:08.28
初心者が弟子丸なんか使うかよw

880 :デフォルトの名無しさん:2013/03/12(火) 22:20:38.25
>>879
黙れ

881 :デフォルトの名無しさん:2013/03/13(水) 05:37:40.74
MSはVBを非IT系のパソコンに詳しいやつのための言語として位置づけているからな。
細かいしがらみとか、インスタンスがどうとか、変数型がどうとか知らなくても、
とりあえず動く物を作れるのがコンセプト。

それだけにIT系のプロのくせにVBしか使えないやつは信頼できないんだけどな。

882 :デフォルトの名無しさん:2013/03/13(水) 06:27:47.00
>>881
いきなり何だよお前はw
ここ質問スレだからさ、くだらん主義・主張は
スレ立ててそこで存分に語ってくれ。

883 :デフォルトの名無しさん:2013/03/14(木) 07:25:29.24
2chブラウザでレス番号の上にマウスをやったらツールチップみたいなのが出るけど
普通のツールチップじゃ文字色を変えたりスクロールしたり出来ないのでウィンドウなんだろうけど
Vb.NETで表示してもフォーカスが移動しないウィンドウって作れるの?

884 :デフォルトの名無しさん:2013/03/14(木) 12:46:04.62
ラベルじゃないの?

885 :883:2013/03/14(木) 15:23:48.27
じゃあ質問を変えようか
System.Windows.Formsの基底クラスでウィンドウを生成する根本になってるクラス名はなに?

886 :デフォルトの名無しさん:2013/03/14(木) 15:25:10.72
NativeWindow

887 :デフォルトの名無しさん:2013/03/14(木) 15:55:10.68
>>886
ありです

888 :デフォルトの名無しさん:2013/03/16(土) 13:46:46.74
VB.NETでESC/POSコマンドを発行してジャーナルプリンタの印刷を行うサンプルでいいのあれば教えてください

889 :デフォルトの名無しさん:2013/03/16(土) 22:52:32.80
シリアルポートかパラレルポートにデータ出力するだけだろ

890 :デフォルトの名無しさん:2013/03/16(土) 23:07:22.67
>>889
ありがとん
ttp://www.contec.co.jp/product/device/serial/techniques/technique1.html
これなんか使えそうだな
この例だとコントロール使ってるけど、中間プログラムとしてバッチで作りたいからコンソールで出来る例があれば教えて欲しい

891 :デフォルトの名無しさん:2013/03/17(日) 03:39:18.71
OPOSって標準APIあるけどな。

892 :デフォルトの名無しさん:2013/03/17(日) 12:32:10.80
>>890
わからんのはポートへのデータ出力なのか?
MSDN見て自分でできないようじゃ無理なんじゃないの

出力するコマンドがわからんとか言うなら知らん
そのコマンド定義してるとこに聞け

>>891
それって普通のPC向けじゃないよね?
まあ、コマンド自分で発行したいみたいだから、標準APIじゃだめなんだろう、きっと

893 :困った:2013/03/17(日) 23:15:08.48
VB.NETよりエクセル出力時に下記のようなエラーとなるんだが・・・。
何故だかわかります?
Windows7でエクセルのバージョンは2007です。
エクセルファイルはCドライブのフォルダ内に出力です。
続行すればエクセルは作られます。

セキュリティーポリシーで許可されていない操作をアプリケーションが実行
しようとしました。必要なアクセス許可をこのアプリケーションに与えるには、
システム管理者に連絡するか、Microsoft.NetFramwork構成ツールを使用
して下さい。
続行をクリックすると、アプリケーションはこのエラーを無視し、続行しようとします。
HRESULTからの例外:0x800A0046(CTL_E_PERMISSIONDENIDE)

894 :それでわかったら:2013/03/17(日) 23:19:54.06
エスパーだ

895 :デフォルトの名無しさん:2013/03/17(日) 23:31:58.31
セキュリティーポリシーで許可されていない操作をアプリケーションが実行しようとしたんだろ
ミニマムコード作って張るぐらいのことできないのか?

896 :デフォルトの名無しさん:2013/03/18(月) 00:01:27.52
>>892
OPOSは普通のPCでも使えるよ。
ジャーナルプリンタなどの周辺機器のメーカーが提供している
OPOS準拠のドライバをインストールするだけの話だ。

897 :デフォルトの名無しさん:2013/03/18(月) 01:18:18.11
自身のプロパティの参照を保持する方法を教えて下さい。
何がしたいかというと、命名ルールを厳格化した上で、ダックタイピング的な事を行いたいです。
この際、内部実装はベタにやるとリフレクションでtypeof(Bar).GetProperty("Foo").GetValue(Me, Nothing)となるのですが
あらかじめDictionaryにプロパティの参照を持たせておいて_Dictionary("Foo")だけで済めばこれが理想です
メソッドを別に定義して、Predicateなりデリゲートなりで持たせる方法も考えましたが
プロパティはプロパティで必要なので二重定義になる手間を考えると嬉しくありません。
宜しくお願いします。

898 :デフォルトの名無しさん:2013/03/18(月) 01:39:04.67
全部Object型でダックタイピングすればいいんじゃね
.NETでもレイトバインドできたよな?

899 :デフォルトの名無しさん:2013/03/18(月) 01:53:21.61
>>897
何が言いたいのかよく分からないけど、「プロパティーへの参照」っていう概念はそもそもないでしょ。
でもプロパティーのセッターとゲッターへの参照をそれぞれ別のデリゲートに持たせることはできる。

900 :デフォルトの名無しさん:2013/03/18(月) 02:27:42.28
またしても、宜しくお願いします。
【スレのURL】http://toro.2ch.net/test/read.cgi/tech/1340849001/
【名前欄】897
【メール欄】 sage
【本文】
>>899
>でもプロパティーのセッターとゲッターへの参照をそれぞれ別のデリゲートに持たせることはできる。
ゲッターの参照を別のデリゲートに持たせる方法、それがまさに私が知りたい方法だと思います。
説明下手なもので、推察してくださってありがとうございます。

Public Delegate Function Getter() As Object
Private _Dictionary As New Dictionary(Of String, Getter)
ReadOnly Property Foo As String
Get
Return "test"
End Get
End Property

Public Sub New()
'参照の保持
_Dictionary("Foo") = AddressOf Foo???
End Sub

イメージ的にはこんな感じにできるという事でよろしいですか?

901 :デフォルトの名無しさん:2013/03/18(月) 06:26:41.38
set_Foo get_Foo はVBから見えない様にわざわざ隠してあるのだから、
難しいこと考えないでラムダでラップすればいいよ。

Dim f1 As Func(Of String) = Function() o.Foo
Dim f2 As Action(Of String) = Sub(s) o.Foo = s

902 :デフォルトの名無しさん:2013/03/18(月) 18:31:20.50
>>893 試しに管理者権限で実行してみたら?

903 :デフォルトの名無しさん:2013/03/18(月) 18:35:56.34
たかがVBとは言え、ウチの会社はちゃんとVBのお仕事を発注して金払ってるよ。
エンドユーザーは開発言語をあまり気にしないてない。

904 :デフォルトの名無しさん:2013/03/18(月) 19:17:49.95
今からVB.NETをはじめるのですが、
VB.NETの基本文法最速マスターはないんですか?

905 :デフォルトの名無しさん:2013/03/18(月) 20:09:46.82
聞いてるヒマあったらプログラムの一本でも作れ

906 :デフォルトの名無しさん:2013/03/18(月) 21:30:12.54
Xml読み込みする時って
XmlDocumentクラスとDataSetのReadXmlメソッド
どちらが良い?

907 :デフォルトの名無しさん:2013/03/18(月) 21:38:23.08
XDocument

908 :デフォルトの名無しさん:2013/03/18(月) 22:36:19.61
>>901
そのやり方が知りたかったです!
これでリフレクションを使わずメソッドの定義もせずに済みます。
ありがとうございました!

909 :デフォルトの名無しさん:2013/03/18(月) 23:04:51.83
初めてサービスを作ろうと思います。
内容は数秒に1回DBから値をとってきて該当するものが
あれば処理(内容は単純。ログとかも不要)する、
というものですが、これはサービスにせず普通にタイマーを
使ってタスクバーとかに表示されなくした普通のアプリを
スタートアップに入れておくのと違うのですか? 利点が
ないなら後者でいいと思っているんですが。。

910 :デフォルトの名無しさん:2013/03/18(月) 23:10:36.07
サービスは誰もログインしてなくても動く

911 :909:2013/03/18(月) 23:34:56.07
>>910
なるほど、ログオフ状態でも大丈夫というわけですか。
Webサーバーに設置する予定でしたが、その辺を調べてから
考えます。というか他サーバーに帳票を作らせたりする
プロセス間通信アプリとかも入れる予定なので常時ログイン状態に
はなってる、、、と思いたいです(汗)
ありがとうございました。

912 :デフォルトの名無しさん:2013/03/19(火) 05:03:09.37
>>909
UAEの影響を受けない。

ログインしていなくても動作する。

ログインユーザーと異なる任意の権限で動作する。
一般的にはSYSTEM権限やAdministrator権限で動作する。
ログインするユーザーが制限ユーザーで、アプリケーションが
管理者権限を必要とするAPIを使っている場合、サービス化は必須。

Windows Server 2012にはGUI無しバージョンのOSがあり、
GUI無しバージョンのOS上でも動作する。

アプリケーションがクラッシュした場合、OSが自動で再起動してくれる。

指定したサービスが起動した後に作ったサービスを起動してくれる。
たとえばログイン時の自動実行だとその時点ではデータベースが
起動していなかったりするが、サービスだとデータベースを起動した後
実行すると言った設定がある。

913 :デフォルトの名無しさん:2013/03/19(火) 07:10:36.29
>>912
>UAEの影響を受けない。
UAEって何?アラブ首長国連合?っていう突っ込みは置いといて
どこまでをUACとしてるかわからんが、サービスって完全にUACから開放されるのか?
フォルダやレジストリの仮想化とかの影響はうけるんじゃね?

>管理者権限を必要とするAPIを使っている場合、サービス化は必須。
サービスを管理者権限で動かすのはあんまり推奨されないと思うが

>Windows Server 2012にはGUI無しバージョンのOSがあり、
>GUI無しバージョンのOS上でも動作する。
2008にもあるし、それサービス関係ないだろ
サーバコアでもアプリがGUI(コンソール以外のウィンドウ)を持てないわけじゃないし
VB.NETでサポートされてるかどうかは知らんけど

914 :デフォルトの名無しさん:2013/03/19(火) 22:13:35.28
アラブ首長国連邦じゃまいか?

915 :デフォルトの名無しさん:2013/03/20(水) 05:58:57.31
だな。
ユナイテッド・ステイツ・オブ・アラブ
アラブの、首長で作った連邦政府

916 :デフォルトの名無しさん:2013/03/20(水) 12:55:06.51
ユナイテッドステイツなら、なぜアラブ合衆国じゃないんだ
合衆国と連邦と連合ってどうちがうのさ

917 :デフォルトの名無しさん:2013/03/20(水) 14:48:52.96
釣られんな
United Arab Emirates な
http://en.wikipedia.org/wiki/UAE

918 :デフォルトの名無しさん:2013/03/20(水) 15:00:58.25
英語だとこうだが、United Of Arab Emirates
アメリカ英語だとOfを付けないのが主流らしいね。
EUではOfつけるが。

919 :デフォルトの名無しさん:2013/03/21(木) 13:30:39.11
超初歩的な質問ですいません。
class.member と class.[member]では挙動がどのように違うのでしょうか?
とあるサービスによる自動生成コードがこのような表記をしていました・・・
よろしくお願いいたします。

920 :デフォルトの名無しさん:2013/03/21(木) 13:38:21.50
[member]はmemberがIntegerとかのキーワードでも大丈夫

921 :デフォルトの名無しさん:2013/03/21(木) 16:18:39.40
COMオブジェクトがDisposeでリソースがちゃんと解放されているかどうかログを取りたいんですけど
いい方法ありませんか?

922 :デフォルトの名無しさん:2013/03/21(木) 16:20:59.98
COMオブジェクトはDisposeでは開放されないから安心しろ。

923 :デフォルトの名無しさん:2013/03/21(木) 17:23:05.88
ああ COMオブジェクトの解放は↓ですね
System.Runtime.InteropServices.Marshal.ReleaseComObject

リソースの解放のログってどうやって取るんですの?

924 :デフォルトの名無しさん:2013/03/22(金) 02:41:18.99
すいません。駆け出しで何も分からなくて質問させてください。
プロセス間通信でフォームアプリ(サーバー)とフォームアプリ(クライアント)
の通信は出来たんですが、Webサーバー上でASP.NETをクライアントにして
フォームアプリ(サーバー)に通信する方法が分かりません。というかできる
んですか?
例えば、ASP.NETでボタンを押されたイベントが走った時に、フォームアプリ
(サーバー)に通信するとかですが。
なんか常時サーバーもクライアントも起動してないとできないような気がして
まして、一瞬だけサーバーで動いて消えるASP.NETがクライアントになるのは
無理でしょうか?

925 :デフォルトの名無しさん:2013/03/22(金) 08:40:23.34
そりゃサーバは何かしら動いてないと駄目に決まってる
ASP.NETだってIISが動いてるだろ
クライアントは、ブラウザ一度落としたら二度と接続できないの?

926 :デフォルトの名無しさん:2013/03/22(金) 09:02:21.57
駆け出しのくせに通信とかするな

927 :デフォルトの名無しさん:2013/03/22(金) 09:03:25.39
>>924
何も分からないじゃなくてASP.NETの勉強するのが先決

ASP.NETの動作(アプリケーションプールとかライフサイクル)とかを知って、
IISやWeb.configの設定でできることを頭に入れて、それからリモーティングとか
具体的な実装を考えるべき

ちなみに本気でASP.NET極めようとすると、システム寄りの知識が必要になる
僕プログラムしか打ちたくありませ〜ん系統のアフォには向いていない

928 :デフォルトの名無しさん:2013/03/22(金) 09:03:25.46
10年早いなw

929 :924:2013/03/23(土) 04:50:44.20
未熟ですけど仕事なんです! やれと言われればやらないと
ダメなんです!

とりあえず皆様、助言有難うございました。勉強もしますが
情報集めも頑張ります。
2chではまたいつの日か機会がありましたらよろしくお願いします。

930 :デフォルトの名無しさん:2013/03/23(土) 05:23:34.04
給料半分よこせw

931 :デフォルトの名無しさん:2013/03/23(土) 09:27:13.30
こんな素人が仕事していいのか?

932 :デフォルトの名無しさん:2013/03/23(土) 09:48:53.92
誰でも最初は初心者さ
俺が客なら困るがなw

933 :デフォルトの名無しさん:2013/03/23(土) 09:58:42.72
初心者はいいけど、上にベテランがいてそいつに教わりながらやらないと
仕事でやっちゃだめだろう

934 :デフォルトの名無しさん:2013/03/23(土) 10:37:54.49
>>929
仕事だからやらなきゃいけないってことはない。
できないと思ったら、未熟でできませんと正直に言うのもお前の仕事であり、
それに対してフォローするのが上司の仕事だ。

935 :デフォルトの名無しさん:2013/03/23(土) 10:47:15.64
だよなー
そんなレベルのやつに作られたら客がかわいそう
ってか自分が客だったらと思うとゾッとする

936 :デフォルトの名無しさん:2013/03/23(土) 10:58:20.32
そしてお前の行きつけの病院はそんなレベルの奴らが作ったシステムで回っている

937 :デフォルトの名無しさん:2013/03/23(土) 11:04:48.82
まあその通りw

938 :デフォルトの名無しさん:2013/03/23(土) 11:06:36.95
こえええぇぇw

939 :デフォルトの名無しさん:2013/03/23(土) 11:08:26.52
怖すぎわろえないw

940 :デフォルトの名無しさん:2013/03/23(土) 12:28:27.34
敵に回すと怖いが、味方に付けると情けないの典型だな。

「初心者だが2chで質問してプログラム作りましたw」

嫌過ぎるw

941 :デフォルトの名無しさん:2013/03/23(土) 13:56:50.13
>>936
まあ、システムが糞なら人間は
運用でカバーするから無問題だけどなー
みずほなんかは運用でカバーしきれなかった例だが
病院一つなら何とかなるだろ。

942 :デフォルトの名無しさん:2013/03/23(土) 22:43:07.72
>>936
CTとかバグってたら簡単に中の患者死ねるよね。

943 :デフォルトの名無しさん:2013/03/26(火) 10:42:41.54
CTって人殺せるぐらいの出力あるのか?

944 :デフォルトの名無しさん:2013/03/26(火) 15:03:55.87
放射能汚染

945 :デフォルトの名無しさん:2013/03/26(火) 22:27:16.16
>>942
これに体入れるのって、結構度胸が居ると思う。
http://www.youtube.com/watch?v=2CWpZKuy-NE

946 :デフォルトの名無しさん:2013/03/27(水) 00:08:15.28
VBでCTの制御やるとしたら操作用のインターフェース作るくらいまでだろ?
組み込みのプログラムの側に安全機構があるでしょ
VBで人殺すとしたら投薬の管理とかじゃないの

947 :デフォルトの名無しさん:2013/03/27(水) 23:03:18.79
ご存知の方が居れば教えてください。

最近引き継いだアプリケーションの、入力文字列のサイズチェックが
上手くいっていないと指摘を受けたので調査してみました。

結果は「?」「?」といったJISX0213の一部の文字が使われている場合に
Text.Encoding.GetEncoding("Shift_JIS").GetByteCountを使ってサイズを取得すると期待と異なる結果が返ってきていたためでした。

修正自体はGetByteCountを使わないということで恙無く完了したのですが、
このGetByteCountが2バイト文字を1バイトだと返してくる原因が気になります。
単純にエンコードをShift_JISにしているのが問題なんでしょうか?

948 :デフォルトの名無しさん:2013/03/27(水) 23:04:03.66
すいません化けました・・・鴎と繋の旧字体です

949 :デフォルトの名無しさん:2013/03/27(水) 23:10:13.67
Unicode拡張文字のこと?

950 :デフォルトの名無しさん:2013/03/27(水) 23:15:27.26
>>947
問題の文字列を一旦S-JISにエンコードしてから.NETの文字列(UTF-8)にデコード
してみれば分かるよ。

普通はやる前に分かると思うけど

951 :デフォルトの名無しさん:2013/04/02(火) 14:14:20.60
>>948
なぜ化けたと思う?
化けてどんな文字になってる?

952 :デフォルトの名無しさん:2013/04/04(木) 11:28:42.47
DataGridViewなのですが
使用者が選択した複数のセルの値を
全て取得するにはどうすればいいでしょうか。

953 :デフォルトの名無しさん:2013/04/04(木) 20:26:36.46
DataGridView 複数行選択 でgoogleをを検索する。

954 :デフォルトの名無しさん:2013/04/08(月) 05:07:24.14
もうVBがC#にやられて無くなるの?
これからVBやってても意味なくなるの?

955 :デフォルトの名無しさん:2013/04/08(月) 05:29:28.50
急にどうした?

956 :デフォルトの名無しさん:2013/04/09(火) 01:53:21.25
やれることは同じだから優劣を語ること自体が無意味

957 :デフォルトの名無しさん:2013/04/09(火) 09:38:35.44
>>954
そんなことは無い。MicrosoftもVisualBasicをIT以外の
プロフェッショナル向けの言語と位置づけて力を入れている。

958 :デフォルトの名無しさん:2013/04/09(火) 21:02:41.38
>>957
それはVB2005までだね。それより後は方針が変わってC#の方言になった。

959 :デフォルトの名無しさん:2013/04/09(火) 21:39:34.38
どんな方針だよw

960 :デフォルトの名無しさん:2013/04/09(火) 21:44:39.37
「C#と同じにする」ってことだよ
公式でコメントしてたし実際2008以降の拡張はそうでしょ
VB2008のリリース前は独自路線継続ってことでいろいろ面白そうな機能が予定されてたんだけど
全部ボツになっちゃった

961 :デフォルトの名無しさん:2013/04/09(火) 21:55:26.18
それは>>957の言ってることと矛盾しないでしょ。

C#の存在意義の1つがJavaやC++のプログラマに対する.NETの世界への入り口だとすれば、
VBはその対極にある。

VB6時代の「IT以外のプロフェッショナル向けの言語」というスローガンをそのまま
今のVBに当てはめるのはちょっと無理があるかもしれないが、それでも対C#比では
より非プログラマの方を向いてる言語だとは言える。

962 :デフォルトの名無しさん:2013/04/09(火) 22:20:47.19
vb熟練工だがjava始めてみたらvbより簡単だったぞwww

963 :デフォルトの名無しさん:2013/04/09(火) 22:21:25.69
そりゃVB.NETはJavaのスーパーセットであるC#のさらにスーパーセットという超複雑言語だからな

964 :デフォルトの名無しさん:2013/04/09(火) 22:23:01.93
へぇ、そんなにJavaって手軽なのか、興味沸いて来た

965 :デフォルトの名無しさん:2013/04/09(火) 22:25:15.66
Javaは言語は簡単だが周辺技術がカオス
その点では.NETはMSだけで手広くカバーされてるから比較的すっきり

966 :デフォルトの名無しさん:2013/04/10(水) 00:44:14.28
javaは本体が安くて、インクが高いカラープリンタのようなもの。

967 :デフォルトの名無しさん:2013/04/10(水) 01:29:41.58
>>962
んなばかな。
純粋クラスベースの言語はVBとは異次元の難易度を持つはずだ。

968 :デフォルトの名無しさん:2013/04/10(水) 11:53:12.72
>>967
VBだってモジュールとかあるけど、基本は純粋クラスベースに変わってるよ

969 :デフォルトの名無しさん:2013/04/10(水) 20:03:19.57
>>968
うん
だから今のVBは一昔より難易度が上がっている

970 :デフォルトの名無しさん:2013/04/10(水) 20:58:12.81
C#をやった事はないけど、VB .NETができればC#もできるよって事でいいの?

971 :デフォルトの名無しさん:2013/04/10(水) 21:33:30.45
VB.NETを正しく使ってれば、つまりC#の方言として使っていれば、その通り

972 :デフォルトの名無しさん:2013/04/10(水) 21:59:35.47
vbでasp.net作ってたがjava始めたら楽勝過ぎワロタ

973 :デフォルトの名無しさん:2013/04/10(水) 23:28:18.06
ホントに純粋なクラスベースの言語になっていれば良いんだけどなぁ
モジュールと既定のインスタンスが全てをぶち壊してカオスへと引きずり込む

974 :デフォルトの名無しさん:2013/04/12(金) 12:27:59.30
C#ソースとVB.NETソースの混在プロジェクトって作れる?
どっちもそれなりに大量で今更書き直すのまんどくせ・・・

975 :デフォルトの名無しさん:2013/04/12(金) 12:31:17.41
同一プロジェクトでは無理だけどDLL分けるだけなら別に変わらんだろ

976 :デフォルトの名無しさん:2013/04/12(金) 13:39:17.76
expressじゃなきゃ混在できるはず

977 :デフォルトの名無しさん:2013/04/12(金) 13:48:23.79
ソリューションを一緒にしとけば開発は楽だな。
expressだとダメだけど。

978 :デフォルトの名無しさん:2013/04/12(金) 13:52:38.46
プロジェクトではダメなのか

979 :デフォルトの名無しさん:2013/04/12(金) 19:41:53.08
2012からはexpressでもクロス言語のソルーションに対応してるはず。
express使ってないから確認はしてないが

980 :デフォルトの名無しさん:2013/04/13(土) 09:02:06.50
VWDならExpress誕生当初からクロス言語に対応してたぞ
デスクトップはExpress 2012 for Windows Desktopから

981 :デフォルトの名無しさん:2013/04/13(土) 13:42:30.71
VWDって何のことかと思ったらVisual Web Developerかw
何でそんなあさっての方向の話が出てくるんだかw

982 :デフォルトの名無しさん:2013/04/13(土) 14:59:11.43
>>981
Visual Web DeveloperもVisual Studioの無料版サブセットだからな
そんなにあさっての話というわけでもなかろう

まあ使ってないから>>980の真偽はしらんが、ASP.NETのWEBサイトはソースフォルダわければ
複数言語(つってもVBとC#だけだったような)対応だった気がするから
それに対応するためじゃないかと想像

983 :デフォルトの名無しさん:2013/04/13(土) 16:19:11.09
あさってもクソもASP.NETってVBやC#の用途としてはWinFormsと双璧だろ
まあ趣味でやる奴は少ないだろうからExpressではマイナーだが
それもあってか2012 Express for Webはどっちかというと
他のプラットフォームやJSでの開発に重点が置かれてるね

984 :デフォルトの名無しさん:2013/04/13(土) 21:03:39.45
980を超えました

985 :デフォルトの名無しさん:2013/04/13(土) 21:44:06.72
ほれ

VB.NET質問スレ(Part40)
http://toro.2ch.net/test/read.cgi/tech/1365857015/

986 :デフォルトの名無しさん:2013/04/13(土) 21:44:47.98
埋め
ぬるぽ

987 :デフォルトの名無しさん:2013/04/13(土) 22:03:09.29
ぬるぽ

988 :デフォルトの名無しさん:2013/04/13(土) 22:05:39.73
Private Shared az As CultureInfo

Friend Shared Property a1 As CultureInfo
Get
Return Resources.az
End Get
Set(ByVal value As CultureInfo)
Resources.az = value
End Set
End Property

としてもazはNothingになってしまうけど
azに格納するにはどうすればいいのだろうか??

989 :デフォルトの名無しさん:2013/04/13(土) 22:34:13.33
>>988
笑えば...いいと思うよ

990 :デフォルトの名無しさん:2013/04/13(土) 23:20:31.30
         ,、‐ ''"  ̄ ``'' ‐- 、
        /イハ/レ:::/V\∧ド\
       /::^'´::::::::::::i、::::::::::::::::::::::::::::\
     ‐'7::::::::::::::::::::::::ハ:ハ::|ヽ:::;、::::::::::::丶
     /::::::::::::::/!i::/|/  ! ヾ リハ:|;!、:::::::l
    /´7::::::::::〃|!/_,,、   ''"゛_^`''`‐ly:::ト
      /|;ィ:::::N,、‐'゛_,,.\   ´''""'ヽ  !;K
        ! |ハト〈  ,r''"゛  ,       リイ)|
          `y't     ヽ'        //
         ! ぃ、     、;:==ヲ  〃   ははは。
         `'' へ、   ` ‐ '゜   .イ    
              `i;、     / l
                〉 ` ‐ ´   l`ヽ
            / !       レ' ヽ_
         _,、‐7   i|      i´   l `' ‐ 、_
     ,、-‐''"´  ノ,、-、 / 、,_ ,.、- {,ヘ  '、     `ヽ、

991 :デフォルトの名無しさん:2013/04/14(日) 00:39:28.37
>>985
おつ

992 :デフォルトの名無しさん:2013/04/14(日) 03:24:47.10
>>985


993 :デフォルトの名無しさん:2013/04/14(日) 03:58:06.90
うめ

994 :デフォルトの名無しさん:2013/04/14(日) 04:42:53.81


995 :デフォルトの名無しさん:2013/04/14(日) 05:39:36.90
>>985
おつ

996 :デフォルトの名無しさん:2013/04/14(日) 05:56:50.01
埋め

997 :デフォルトの名無しさん:2013/04/14(日) 05:57:40.48
>>990
シンジくんw君は永遠の中2だなぁ〜www

998 :デフォルトの名無しさん:2013/04/14(日) 06:06:57.20
うめ

999 :デフォルトの名無しさん:2013/04/14(日) 07:17:08.27
ume

1000 :デフォルトの名無しさん:2013/04/14(日) 08:00:13.04
【IT】 「C言語やJavaを使う人は採用しない」「AGKやDarkBASICの方が生産効率が高い」就職活動
http://kohada.2ch.net/test/read.cgi/pcnews/1365242417/139-141

コンソール研究所は13日、C言語やJavaを使う学生を採用しない方針を固めた。

これは昨今のソフトウェア開発現場において社内研修期間を嫌う企業や官公庁の意向を取り入れたもので、
「 卒業=即戦力 」 が求められる新時代への突入を明確にしたものである。

たいていの面接官は ” 学生時代にどんな部活に所属していましたか? ” などと聞くが、それは時代遅れと
なったようだ。

また、C言語やJavaのスキルを問うものに対しても、「 実務経験がなければ意味がない 」 と言う現場の声も
反映した。

コンソール研究所の開発現場から一人の声を拾ってみた。
(以下ソース参照)

1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

235 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)