VB.NET質問スレ(Part40)
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2013/04/13(土) 21:43:35.69前スレ
VB.NET質問スレ(Part38)
http://toro.2ch.net/test/read.cgi/tech/1325083428/
VB.NET質問スレ(Part39)
http://toro.2ch.net/test/read.cgi/tech/1340849001/
0002デフォルトの名無しさん
2013/04/13(土) 22:46:20.46以降書き込まないてください
0003デフォルトの名無しさん
2013/04/13(土) 23:06:59.45削除依頼出しとけよ
0004デフォルトの名無しさん
2013/04/14(日) 08:57:23.47おつ
0005デフォルトの名無しさん
2013/04/14(日) 14:22:26.37おつ
0006デフォルトの名無しさん
2013/04/17(水) 20:28:42.87けつ
0007デフォルトの名無しさん
2013/04/18(木) 03:08:39.07おつ
0008デフォルトの名無しさん
2013/04/19(金) 00:10:00.65画面とIISで通信する際にXMLを使っています。
めっちゃ遅いです。なにかいい案ありませんか?
0009デフォルトの名無しさん
2013/04/19(金) 00:20:00.600010デフォルトの名無しさん
2013/04/19(金) 02:36:50.08XMLってデータフォーマットの規格で通信の規格じゃないだろ
0011デフォルトの名無しさん
2013/04/19(金) 07:22:43.560012デフォルトの名無しさん
2013/04/19(金) 07:27:07.55アプリレベルの通信の手続きが非効率なのか、
前後のXMLの変換処理が遅いのか、
XMLにすることでサイズが膨らみすぎているのか、
それともまた別の問題か、
くらいの切り分けはやれよ
何も自分で考えたくないなら自分でコード書こうと思わないでWCFにでも投げとけ
0013デフォルトの名無しさん
2013/04/19(金) 16:25:15.06何やってるのか知らんが
XMLってもしかしてXHTMLってことなのか?
0014デフォルトの名無しさん
2013/04/19(金) 20:23:37.50別のfrom(クラス)で使いまわすには
どうしたらいいのでしょうか?
0015デフォルトの名無しさん
2013/04/19(金) 20:33:59.30gzip圧縮してる?
0016デフォルトの名無しさん
2013/04/19(金) 21:02:37.81他のformで宣言しておいてわたせばよくね?
0017デフォルトの名無しさん
2013/04/19(金) 21:17:48.12ありがとう。
けどすまん。渡すって?
教えて君で申し訳ないが
具体的に教えて下さい。
0018デフォルトの名無しさん
2013/04/19(金) 21:43:51.63まずform1(のインスタンス)は誰がどうやって(作成して)表示したんだ?
別のform(のインスタンス)は誰がどうやって(作成して)表示するんだ?
0019デフォルトの名無しさん
2013/04/19(金) 22:20:55.37モジュール使えよ。楽になるぜ。
0020デフォルトの名無しさん
2013/04/19(金) 22:41:58.72Public Class Form1
Private cHoge As ClsHoge 'Hogeクラス
Private Sub Form1_Load(...
cHoge = New ClsHoge(string,string )
てな具合でNewしてます。
で、別のクラス、フォームでcHogeを使いたいなって
0021デフォルトの名無しさん
2013/04/19(金) 22:57:06.37その逆かしないと受け渡しが出来ない。
または、両方が共通に参照できるクラスかモジュールを仲介させる。
0022デフォルトの名無しさん
2013/04/19(金) 23:03:29.36いやだから、Form1は誰かどうやって表示させてるんだ
んでその別のクラスやフォームは誰かどうやって生成するんだ?
0023デフォルトの名無しさん
2013/04/19(金) 23:04:35.68ありがとう。
そうなんだ。結構不便だな。
0024デフォルトの名無しさん
2013/04/19(金) 23:39:20.07どもです。
ごく普通のプロジェクトだったら、スタートアップフォームはform1なので
普通にロードすれば表示っしょ。
別のフォーム、クラスは普通に生成しますが...
クラスをどうやって生成する云々は俺の質問に直接関係あるのかな?
質問の意図がようわからん。コンストラクタがらみ?
普通に別のフォーム、クラスを生成した時、
cHogeはどうやったら使えるの?ってことなんだけど?
俺、勘違いしている?
たとえばform2(subForm)だと
from1から
Dim f As New subForm()
f.ShowDialog(Me)
f.Dispose()
で subForm 側でcHoge をどうやって参照すれば良いのかなぁって
あ、Private cHoge As ClsHoge でPrivate宣言してるから
他からは参照できないってのは無でw
0025デフォルトの名無しさん
2013/04/19(金) 23:48:44.280026デフォルトの名無しさん
2013/04/19(金) 23:52:56.74これでForm1.cHogeでアクセスできる
はっきり言ってゴミクズコードだが、良いとか悪いとかいう議論をしだしたら
そもそも子フォームが親フォームの具体的な型に依存するのは不適切とかそういう話になる
0027デフォルトの名無しさん
2013/04/19(金) 23:57:50.72Dim f As New subForm()
f.cHoge = cHoge
f.ShowDialog(Me)
f.Dispose()
でもいいぞ
0028デフォルトの名無しさん
2013/04/20(土) 00:07:23.16>>25
え、Privateだったら無理なんじゃね?
>>26>>27
ぐぐってたんだけど、やっぱりPublic 系になるよねぇ。
ここらで終わりにします。
レスくれた方々ありがとう。
0029デフォルトの名無しさん
2013/04/20(土) 00:10:29.91>ごく普通のプロジェクトだったら、スタートアップフォームはform1
スタートアップフォームは使わん方が良いんだがな
どうやって生成してるかっていうのは、インスタンスへの参照がどうなってるか知りたいんだよ
たとえば
Dim f As New subForm()
だと、fがsubFormのインスタンス(への参照)を保持してる
その場合ならsubForm側で
Public cHoge As ClsHoge
って宣言しといて
f.cHoge=cHoge
とかすれば行ける
変数直接じゃなくて、受け渡し用のプロシジャでもいいしプロパティでもいいけど
どっちにしてもPrivateじゃだめだぞ
Privateってのは自分の外からアクセスしませんって宣言なんだから
0030デフォルトの名無しさん
2013/04/20(土) 00:12:28.72結局デザインの善し悪しの問題なのでここでどうこう言う話ではない
初心者みたいだしVBだし
0031デフォルトの名無しさん
2013/04/20(土) 00:13:51.940032デフォルトの名無しさん
2013/04/20(土) 00:15:08.11静的型の意義を理解してない馬鹿
そういうのが好きならスクリプト言語使ってろよ
0033デフォルトの名無しさん
2013/04/20(土) 00:22:51.57ググリながらじゃなくて、ちゃんとした本買って読むほうが良いと思うが
ちゃんとした初心者向けの解説サイトにあたれば良いけど、そんなのほとんど見たことないしなぁ
まあ、大きなお世話か
0034デフォルトの名無しさん
2013/04/20(土) 00:26:36.76WebサイトもC#やってないVB専門のとこだとサイト製作者自身が理解してないよね
0035デフォルトの名無しさん
2013/04/20(土) 01:02:45.250036デフォルトの名無しさん
2013/04/20(土) 01:37:31.550037デフォルトの名無しさん
2013/04/20(土) 01:39:18.05とりあえずInt16の最大値辺りで切られるのは確認できたんだが
0038デフォルトの名無しさん
2013/04/22(月) 00:43:36.67座標X (50,50)と座標Y(1200,1000)を対角線で結ぶ四角形を描画していたとします。
これをVB.NETで実現したいのですが、Graphics.DrawRectangleメソッドを利用すると、
g.DrawRectangle(p, 50, 50, 100, 80)と、座標X(50,50)に100x80の四角形を描画すると、
考え方が変わっております。
与えられる情報は座標Xと座標Yしか無いため、どう直せば良いものか
困っております。
良い処理がありましたら、アドバイスを頂きたく。
お願い致します。
0039デフォルトの名無しさん
2013/04/22(月) 00:46:28.11単純な足し算引き算の問題じゃないか
0040デフォルトの名無しさん
2013/04/22(月) 00:57:31.440041デフォルトの名無しさん
2013/04/22(月) 06:53:15.52人生設計を考え直すべき
0042デフォルトの名無しさん
2013/04/22(月) 07:05:13.96そんなに危機感は無いです。
座標計算はどうも苦手で、お願いします。
0043デフォルトの名無しさん
2013/04/22(月) 07:11:42.26これで飯食ってはいないので、ベタな処理をすれば書けると思いますが、
きっとスマートなコードにはならないと思います。
プロの方のコード設計を見せて貰えたらと思います。
0044デフォルトの名無しさん
2013/04/22(月) 07:13:19.580045デフォルトの名無しさん
2013/04/22(月) 14:44:49.63ベクトルとスカラーって数学で習ったの覚えていますか
ベクトルとは座標系における位置と大きさを持つ値であり
スカラーとは大きさだけを持つ値です
もともとVBではベクトルで四角を描いていました
VB.NETでは基準点ベクトルからのスカラーで四角を描くようになりました
変換したい場合2点間のベクトルの差がスカラーになることを思い出してください
さすれば簡単に実装することができます
0046デフォルトの名無しさん
2013/04/22(月) 14:51:19.84こんな奴いるわけがないと思いたいwww
0047デフォルトの名無しさん
2013/04/22(月) 14:51:51.82http://dobon.net/vb/dotnet/graphics/drawrectangle.html
0048デフォルトの名無しさん
2013/04/22(月) 21:52:37.11特に、プロがやるようなスマートなコーディングは無いんですね。
こつこつ座標をやりくりして、泥臭くやろうと思います。
0049デフォルトの名無しさん
2013/04/22(月) 21:58:57.660050デフォルトの名無しさん
2013/04/22(月) 22:39:30.75public static void DrawRectangle(this System.Drawing.Graphics g, Pen pen, Point point1, Point point2)
{ g.DrawRectangle(pen, Rectangle.FromLTRB(point1.X, point1.Y, point2.X, point2.Y)); }
0051デフォルトの名無しさん
2013/04/22(月) 23:59:31.46お手本どおり、基本に忠実がベスト。
プロって言うのを勘違いして、わけのわからないコーディングをす
るとみんな迷惑する。
0052デフォルトの名無しさん
2013/04/23(火) 19:49:11.96オブジェクト指向言語はじめてなので勉強中ですがサッパリわからなくて困っています;;
0053デフォルトの名無しさん
2013/04/23(火) 21:43:34.54オブジェクト指向はJavaと一緒に覚えるのがいいよ
0054デフォルトの名無しさん
2013/04/23(火) 23:30:02.170055デフォルトの名無しさん
2013/04/23(火) 23:41:46.82OOに関してVBの書籍やサイトでロクなの見たことない
0056デフォルトの名無しさん
2013/04/24(水) 00:18:00.59というようなことが堂々と書いてある本があって衝撃を受けた
0057デフォルトの名無しさん
2013/04/24(水) 22:05:42.350058デフォルトの名無しさん
2013/04/24(水) 22:09:22.71クラス・メソッッドなどをカプセル化で括る様かな?
0059デフォルトの名無しさん
2013/04/24(水) 22:51:12.070060デフォルトの名無しさん
2013/04/25(木) 01:58:03.760061デフォルトの名無しさん
2013/04/25(木) 10:49:09.10オブジェクトオリエンテッドって表記したら長いから?
英語がわかるやつならそのままのが分かりやすいし、日本語にしたいなら「目的重視」って言ったほうが理解しやすいだろうに
コード書くときには機能重視じゃなくて目的重視でまとめといたほうが、後で読みやすいし再利用しやすいよ
って話が基本になってるんだから
0062デフォルトの名無しさん
2013/04/25(木) 10:51:35.330063デフォルトの名無しさん
2013/04/25(木) 10:54:29.62オブジェクトの良い訳がなかったから無理やり訳さないでそのままカタカナ表記にしたんだろうけど
すくなくとも目的とかいう訳よりはよっぽどマシだな
0064デフォルトの名無しさん
2013/04/25(木) 15:29:52.37「目的」という言葉の意味論になるからオブジェクト指向の訳としては使われなかっただけだ
オブジェクト指向という言葉自体が独自の意味を持つようになってしまった以上
オブジェクト指向を理解するのに「オブジェクト」という言葉の意味論やってもしょうがないわけだが
0065デフォルトの名無しさん
2013/04/25(木) 20:33:05.67そもそもobjectという言葉を日本語の目的という言葉に対応する意味で使うことは稀だ。
オブジェクト指向のオブジェクトの意味は普通にモノとか対象とかいう意味だよ。
UFOのOと同じ。
0066デフォルトの名無しさん
2013/04/25(木) 21:53:54.980067デフォルトの名無しさん
2013/04/25(木) 23:42:51.08.frmとかは明らかに自分で書いたものだからいいのだけど、なんかよく分かんない
バイナリファイルとか中身みると、C:\Document and Settings\〜 みたいな文字列が
含まれてて、これをネットに公開したらログオン名とかダダ漏れじゃんとか思ってまして
0068デフォルトの名無しさん
2013/04/26(金) 01:31:29.02VBプログラマ質問スレ(Ver.6.0 まで) part62
http://toro.2ch.net/test/read.cgi/tech/1360914852/l50
0069デフォルトの名無しさん
2013/04/29(月) 18:14:44.42ばくぜーんと、対〜、みたいな意味合いだよね。
反対意見を言うなんて意味もあったりして。
0070デフォルトの名無しさん
2013/05/01(水) 21:38:03.64txt_url_list.Text = "http://google.co.jp" & vbCrLf & _
"http://yahoo.co.jp"
このコードを実行すると、なぜかtextbox内に設定したURLが選択された状態
(青背景に白文字)
になってしまいます。
理由が不明なのですがこれをリセットする方法 or こうならない方法
を知っているかたはいますか?
0071デフォルトの名無しさん
2013/05/02(木) 01:40:40.42ミニマムコード作ってそのテキストボックスの全プロパティ晒せ
0072デフォルトの名無しさん
2013/05/02(木) 12:44:44.03txt_url_list.Text = "http://google.co.jp" & vbCrLf "http://yahoo.co.jp"
txt_url_list.Select(0, 0)
0073デフォルトの名無しさん
2013/05/05(日) 00:54:27.50メソッドを実行する方法はありませんでしょうか?
一応以下のページにC#での方法がありますが、
okwave.jp/qa/q5827497.html
上記の回答の
WebForm1 l_frm = (WebForm1)this.Page;
を
Dim l_frm = DiredctCast(Me.Page,WebForm1)
のようにVBで書きなおすとキャストエラーが発生します。
Me.Pageの指定が間違っているのでしょうか?
他に方法がありますでしょうか?
お手数おかけしますがよろしくお願い致します。
0074デフォルトの名無しさん
2013/05/05(日) 02:55:09.67マスターページでコンテンツページのメソッド実行とか、設計がおかしいとしか思えんが...
エスパーすると、Me.Pageの型がWebForm1じゃないんだろ
そのページのファイル名と@Pageになんて書いてある?
VB.NETってレイトバインド出来た気がするからキャストしなくても呼び出せる気はするが...
これ以上はWebProg板にASP.NETのスレあるからそっち行け
0076デフォルトの名無しさん
2013/05/13(月) 21:10:11.82On/Offを切り替える事は出来るのでしょうか。
VB6.0時代は出来たのですが…。
CheckOnClickプロパティの場合、リストへのクリックもシングルになってしまいます。
(デフォルトはダブルクリック)
微妙に操作性が異なりイライラとしてしまう状況・・・。
0077デフォルトの名無しさん
2013/05/14(火) 23:08:30.31これをクラス化する時
コンストラクタにファイル名をセットして
コンストラクでファイルをオープン、リード、クローズして項目をプロパティにセット。
としていい?
それとも、コンストラクタはファイル名のセットのみにとどめておいて
あとからreadメソッドのような感じの方が良い?
どっちが定石なのでしょうか?
0078デフォルトの名無しさん
2013/05/15(水) 13:19:00.620079デフォルトの名無しさん
2013/05/15(水) 14:26:31.250080デフォルトの名無しさん
2013/05/15(水) 20:45:49.290081デフォルトの名無しさん
2013/05/15(水) 20:51:32.780082デフォルトの名無しさん
2013/05/16(木) 00:03:30.92ヘッダー行を2行以上にしたいって事ならググって失望するが良い
FlexGridって便利だったんだなぁ
0083デフォルトの名無しさん
2013/05/16(木) 09:44:30.120084デフォルトの名無しさん
2013/05/16(木) 09:55:54.38ドラッグや拡大縮小をしてみているのですが
異常に重いのですが、何か軽くなる方法はないでしょうか?
http://codepad.org/T8SQb82w
0085デフォルトの名無しさん
2013/05/16(木) 11:21:29.78TextureBrushというので速くなりました。
0086デフォルトの名無しさん
2013/05/16(木) 11:52:40.500087デフォルトの名無しさん
2013/05/16(木) 12:48:46.31↓指定した各々のセルに異なるイベント割付みたいな。
Me.DataGridView1(0.1)
Me.DataGridView1(2.1)
DataGridViewのcellClickイベントとかを発生させるように、
DataGridViewTextBoxCellからイベント発生させるのってできないのでしょうか?
0088デフォルトの名無しさん
2013/05/16(木) 19:00:41.360089デフォルトの名無しさん
2013/05/16(木) 19:58:03.13レスありがとうございます。
やっぱりそうなんですね...
もしできればソースがスッキリするかな?と思った次第で。
あきらめてDataGridViewのイベントでどうにかします。
0090デフォルトの名無しさん
2013/05/17(金) 11:28:49.53>>77
そのどっちかってなら断然後者かな。
前者だとインスタンスだけ作りたい場合でも強制でファイル読込しちゃう。
まーシステム的にそういう事が一切ないって事で、ほんとそれ専用のクラスってなら
前者でもいいけど。クラス使う方でもコードが、readメソッド呼ぶ分1行減るしね・・。
普通に設計するなら9割9分後者だろうなぁ。
0091デフォルトの名無しさん
2013/05/18(土) 21:05:47.79参照設定にExcel関連追加しようとしたら、
COMに Microsoft Excel xx.x ObjectLibrary ってのと
.NETに Microsoft.Office.Interop.Excel ってのがあった
どちらを参照したらいいの?
この2つって何がちがうの?
0092デフォルトの名無しさん
2013/05/19(日) 15:06:22.53実際にそれをする人は増えないものなのだなぁ
0093デフォルトの名無しさん
2013/05/19(日) 15:30:50.91Google先生に検索ワードを打ち込んで
くだらん情報をズラズラ並べ立てられるよりも
専門スレで聞いた方が確実でしょう
0094デフォルトの名無しさん
2013/05/19(日) 15:43:04.110095デフォルトの名無しさん
2013/05/19(日) 15:48:07.570096デフォルトの名無しさん
2013/05/19(日) 21:55:06.970097デフォルトの名無しさん
2013/05/19(日) 23:54:25.12でもinterop .netで一番上に来ててしかも一覧のとこに答え出てるから
わざわざページ開く必要も無いという状態なのに聞いてくるのは
ちょっとどうなのよ?と思わざるを得ない
0098デフォルトの名無しさん
2013/05/20(月) 02:50:41.32それウソやで。だから専門のスレで聞いてるんやで。
009991
2013/05/20(月) 21:22:19.61>>97の言う通りだと
--------------------------------------------------------------
自動生成された COM Interop アセンブリのもっと便利な使い方 ...
nyaruru.hatenablog.com/entry/20080319/p1?
2008/03/19 ? 結論から言えば,TLB を経由して生成された Interop アセンブリに,
最適なマーシャリング設定は期待できません. 私がよく使う手は,.NET Reflector で
Interop アセンブリを C# のソースコードに再変換してしまうというものです.得られた ...
--------------------------------------------------------------
この中に答えがあるってこと?
だったらごめんよくわからん
>>95-96
バージョン差異吸収にレイトバインドが良いことは、各所で勧められてるし、
参照名にバージョンが明記されてることからも、なんとなくわかる
でも俺の質問って、そういうこと聞いてるんじゃなくね?
0100デフォルトの名無しさん
2013/05/20(月) 21:42:54.62どっちかでやってみて都合わるけりゃ他方に切り替えませう・・・ってのじゃだめ?
自作クラスかぶせとけば問題あってもそのクラスだけでおさまるんだしさ。
0101デフォルトの名無しさん
2013/05/20(月) 21:48:23.570102デフォルトの名無しさん
2013/05/20(月) 23:10:29.14いやだから、参照設定は事前バインドなんだよ。
一度、エクセルの遅延バインドで検索するといいよ。
実行時バインディング(レイトバインディング)すれば参照設定は必要ないです。
0103デフォルトの名無しさん
2013/05/20(月) 23:11:53.66Microsoft Excel xx.x ObjectLibraryは
レジストリに登録されてるCOMのTLBから
相互運用用のDLLを自動生成。
Microsoft.Office.Interop.Excelはあらかじめ
相互運用用に用意されたDLL。
上記の場合、型付けがいい加減だったり(型が単にobjectなど)、
enumとの関連が正確でなかったりする。
0104デフォルトの名無しさん
2013/05/21(火) 00:27:28.64開発中はインテリセンス使いたいからアーリーバインドにしといて
終わったらレイトバインドにしとけば良いんじゃね
定数の扱いに気をつけとけば問題は無い
はず
0105デフォルトの名無しさん
2013/05/21(火) 00:56:09.50ID:/N4KDjTe!このスレの醍醐味だなw
真に受ける人がいると気の毒だから一応反対意見も書いておく。
Excel97とかはさすがに試してないけど、現実にはExcelオートメーションで
バージョン違いで例外が発生するメソッドやプロパティはほとんどない。
(確かにあることはある)
事前バインドした場合に得られる様々な利益を捨ててまでレイトバインディングを利用するのは、
個人的には羹にこりて膾を噴く不合理にしか思えんな。
0106デフォルトの名無しさん
2013/05/21(火) 09:20:47.35悪いことじゃないがw
現代じゃIDEが強力すぎるからなぁ
レイトバインディングなんてしたくない
0107デフォルトの名無しさん
2013/05/21(火) 09:28:56.65010891
2013/05/21(火) 12:07:34.51いつまでもレイトしろレイトがいいってわめいてる人たち、いったいなんなの?
>>103
もともと前者がずっと前からあるCOM参照で、それは今も同じやり方で使える
それをブラッシュアップして.netでパッケージングした完成品を、
VSの中に置いてるのが後者 ってことかな?
バージョンさえ合うなら、後者を使った方がいい加減な部分が少ない、みたいな?
ググってTips探しても前者のコードしか見つからなくて、
後者を使うときもそれに準拠すべきかわからないんだけど、
コード進行は同じと思っていいのかな
0109デフォルトの名無しさん
2013/05/21(火) 12:21:32.67自意識過剰じゃないかね?
0110デフォルトの名無しさん
2013/05/21(火) 13:35:23.08>事前バインドした場合に得られる様々な利益
ってのをちゃんと説明しないと説得力がないぞ
俺が思いつくのはIDEでの支援と実行速度ぐらいしかないが
IDEの支援は開発時には事前バインドにしとけばいいし
実行速度なんて体感できるほどの差が出ることはそうそうない
まあ、開発者本人が個人的に使うなら事前バインドでいいよ
0111デフォルトの名無しさん
2013/05/21(火) 19:02:46.12噛み付かれる程の事をした覚えはないな。
0112デフォルトの名無しさん
2013/05/21(火) 20:17:50.97レイトバインディングの利点はなんですか?
0113デフォルトの名無しさん
2013/05/21(火) 20:25:00.06どのバージョンのExcelでも操作できる
0114デフォルトの名無しさん
2013/05/21(火) 21:04:01.55論争をはじめるような事でもないだろうw
俺はオススメしただけなので、使う使わないは各自の自由だし。
0115デフォルトの名無しさん
2013/05/21(火) 21:07:06.310116デフォルトの名無しさん
2013/05/21(火) 21:19:01.88いや別に君と話してる訳じゃないんで
自意識過剰じゃないかね?
0117デフォルトの名無しさん
2013/05/22(水) 00:27:24.27反論きたら逃げるのですね
0118デフォルトの名無しさん
2013/05/22(水) 06:24:08.70http://msdn.microsoft.com/ja-jp/library/vstudio/ee317478%28v=vs.100%29.aspx
COM オブジェクトを参照するアプリケーションに型情報を埋め込むと、プライマリ相互運用機能アセンブリ
(PIA: Primary Interop Assembly) を使用する必要がなくなります。 また、埋め込み型情報を使用するこ
とで、バージョンに依存しないアプリケーションを作成できます。 つまり、複数のバージョンの COM ラ
イブラリの型を使用するようにプログラムを記述でき、バージョンごとに固有の PIA が不要になります。
この方法は、Microsoft Office ライブラリのオブジェクトを使用するアプリケーション向けの一般的なシナリオです。
型情報を埋め込むと、プログラムの同じビルドで、異なるコンピューター上にある異なるバージョンの
Microsoft Office と連携できます。Microsoft Office のバージョンごとにプログラムや PIA を再配置する必要はありません。
0119デフォルトの名無しさん
2013/05/22(水) 07:28:48.57でも4.0なんてうちではまだ使えないな
0120デフォルトの名無しさん
2013/05/22(水) 13:18:55.600121デフォルトの名無しさん
2013/05/22(水) 13:27:11.010122デフォルトの名無しさん
2013/05/22(水) 14:12:35.510123デフォルトの名無しさん
2013/05/22(水) 14:14:33.530124デフォルトの名無しさん
2013/05/22(水) 14:45:36.98.NETにはLinkedListがあるから、そんなもん自分で実装する必要がないと思うが
0125デフォルトの名無しさん
2013/05/22(水) 14:58:54.250126デフォルトの名無しさん
2013/05/22(水) 15:20:40.38まさかDLLから書き直しか・・・勘弁して欲しい
0127デフォルトの名無しさん
2013/05/22(水) 17:03:18.35アンマネージドを扱うんだからある程度泥臭くなっても仕方ない
アドレス計算で生で扱うか
マネージド構造体にコピーして操作→アンマネージドメモリにコピーみたいな非効率なやり方しかないでしょ
0128デフォルトの名無しさん
2013/05/23(木) 01:46:50.410129デフォルトの名無しさん
2013/05/23(木) 08:08:35.312chで世の中が判ったと思い始めたら、色んな意味でヤバイけどな。
0130デフォルトの名無しさん
2013/05/23(木) 11:01:58.52今後更新されない既存ものなら返したい構造体毎にオーバーロード作ってポインタ計算すればいいだけじゃね?
0131デフォルトの名無しさん
2013/05/23(木) 18:15:18.04ttp://bbs.wankuma.com/index.cgi?mode=al2&namber=66757
確かに、こいつはこの掲示板ではいつも威張っているようだが、
こいつはこの業界では結構エラい人なのか?
0132デフォルトの名無しさん
2013/05/23(木) 18:53:57.08自演乙
0133デフォルトの名無しさん
2013/05/24(金) 05:21:59.050134デフォルトの名無しさん
2013/05/24(金) 06:38:21.83インドリ乙
0135デフォルトの名無しさん
2013/05/24(金) 07:24:36.36これは明らかに名無しのミスリードだろ
いわゆる欲嫁ってやつだな
0136デフォルトの名無しさん
2013/05/24(金) 18:40:14.53だから誰も相手にしない。
0137デフォルトの名無しさん
2013/05/24(金) 20:39:34.02Public Functionの引き数に
そのFunction専用引き数として列挙型を使いたいのですが
Publicで列挙型宣言するしか無いですか?
Public Enum p引き数
A = 0
B = 1
End Enum
Public Function WWWW(a AS p引き数)
…処理
End Function
これだと専用引き数感が無いので
他に良い方法があれば教えて下され
0138デフォルトの名無しさん
2013/05/24(金) 20:56:21.48無駄なことに悩んでないでションベンして寝ちまえ
0139デフォルトの名無しさん
2013/05/24(金) 21:04:03.950140デフォルトの名無しさん
2013/05/24(金) 21:23:22.94これを専用引数感が欲しいとこのコード末尾に付けなさい
0141デフォルトの名無しさん
2013/05/25(土) 04:51:38.870142デフォルトの名無しさん
2013/05/25(土) 05:37:45.74MessageBoxButtons
MessageBoxDefaultButton
MessageBoxIcon
MessageBoxOptions
は、System.Windows.Forms名前空間にあるんだぜ?
0143デフォルトの名無しさん
2013/05/25(土) 07:39:15.250144デフォルトの名無しさん
2013/05/25(土) 07:49:23.42専用引数感とは、コードを見た開発者が抱く、このEnumはこの関数専用の引数なんだなあという思いのこと、
またはその思いを抱かせる性質のことです。専用引数感はどういうことなのか詳しく説明しました。
>>137の質問に答えてください。
0145デフォルトの名無しさん
2013/05/25(土) 08:54:18.400146デフォルトの名無しさん
2013/05/25(土) 08:57:09.21誰がハゲだ。寝てませんし、ションベンもしてません。
>>139
あきらめません。
>>140
そういう解決策を望んでるんじゃないんです。もっとこうコードの書き方で適切なものがないか模索してるんです。
コメントもコードの一部だって考えもあるかもしれませんがコメント以外でお願いします。
>>142
すげーぜー(杉ちゃん)
>>143
そうなんです。
0147デフォルトの名無しさん
2013/05/25(土) 08:58:34.35enumってのは名前のついた整数にすぎないんだから
enumを使う限り無理、というのが回答
完全に専用()にしたいならクラスなり構造体にすればいい
そのクラスもpublicにしなきゃならないけど。
0148デフォルトの名無しさん
2013/05/25(土) 08:58:42.37どういうことですか?杉ちゃんしか思い浮かびませんでした。
コードではどう書けばいいんでしょうか?
0149デフォルトの名無しさん
2013/05/25(土) 09:16:39.84死ねよ
0150デフォルトの名無しさん
2013/05/25(土) 09:18:45.43MessageBoxほにゃららって名前だろ
ああこれはMessageBox専用なんだなって専用感が出てるじゃん
0152デフォルトの名無しさん
2013/05/25(土) 11:48:42.13ID:WCSp5Xax!あるEnum(というか型)に、その型が特定のメソッド専用であることがわかるようにしたい、
という考えは理解できないでもないが、はっきり言ってその問題意識そのものが間違ってる。
コードを読んでる時に、その型がどこで使われてるか知りたい場面を想定しているのかもしれないが、
それならIDEの機能でできる。
あと、その型を引数として使うメソッドが一つしかないことを明示するメリットなんて何もない。
あると言うならどんなものか言ってみ。
0153デフォルトの名無しさん
2013/05/25(土) 11:51:02.48お前が>>137でEnum宣言している、そのままでいいじゃねえか
p引数という名前をお前が言う専用感ある名前にすればいいだけじゃね?
何がわからないんだデブ
0154デフォルトの名無しさん
2013/05/25(土) 14:24:55.88プロシジャと、必ずセットでその引数用のクラス作れ
たとえば
WWWWってSubかFunction作るなら、WWWWArgってクラスも作れ
それをコーディングルールとしとけ
俺ならそんなコード読みたくないが
0155デフォルトの名無しさん
2013/05/25(土) 14:46:09.000156デフォルトの名無しさん
2013/05/25(土) 15:37:28.98あなたが言ってることは、可愛い女の子と付き合いたいと言ってる人に対して
俺の穴を使えばいい、女と付き合うメリットなんてないと言ってるようなものだと思います。
ぼくは可愛い女の子と付き合いたいし、専用引き数感が欲しいんです。
>>153
逆に聞きますけど、名前を変えるだけで専用引き数感が出るんでしょうか?
あと、体型はいま関係ないんじゃないでしょうか。なぜそんな語尾を使うのか不思議です。ただただ不思議です。
>>155
諦念。
0157デフォルトの名無しさん
2013/05/25(土) 16:00:14.32お前の感性を他人に聞かれても困る
一生引きこもってろ
0158デフォルトの名無しさん
2013/05/25(土) 16:02:32.80ID:WCSp5Xax!「可愛い女の子と付き合いたい」は趣味趣向の世界だから理由を問う必要はないが、
プログラミングは技術であって、そこで問われるのは目的に対する手段の合理性だけ。
趣味趣向の入り込む余地はない。
というか、そんなものを持ち込んでもらっては困る。
「専用引き数感」とやらには、いかなる目的に対する合理性も存在しない。
繰り返すが、異議があるならどうぞ。
0159デフォルトの名無しさん
2013/05/25(土) 17:20:13.960160デフォルトの名無しさん
2013/05/25(土) 18:03:18.280161137
2013/05/25(土) 18:53:22.70ありがとう御座いました。
クラスだとクラス内に書けて、呼び出しも専用という感じで
分かりやすくて良いので
ファンクションでも出来たらいいなという思いからでした。
引き数によって、処理を分岐させるような時は
一般的にはどうしているもんでしょうか?
Byte型とかで1や0を送って、コードにコメントで
対応する処理内容を書き残したり?
もしや、そもそもそんな分岐は
させない方が良いんでしょうか
0162デフォルトの名無しさん
2013/05/25(土) 19:12:42.730163デフォルトの名無しさん
2013/05/25(土) 21:31:38.24擬似的なコードだけどこういう書き方をしたいの?
F(F.Args.One)
Function F(ByVal param As Args)
Enum Args
One
Two
End Enum
Select Case param
Case Args.One
...
Case Args.Two
...
End Select
End Function
ポリモで分岐をなくせるならそうするけど、
関数内でパラメータによって分岐するときはあるよ。
Enum使う。Functionの処理をEnumで表したいと思わないので
引数専用感が無くて困ったことが無い。
0164デフォルトの名無しさん
2013/05/26(日) 01:57:00.900165デフォルトの名無しさん
2013/05/26(日) 10:58:18.54設定どおりの動作という観点では正しい動きかも知れませんが、ソフト的にはこちらの想定通りの動作をしていないので
ソフト側がうまく動いていないという点に対してそのような揚げ足をするのは心外です。
貴方の回答をいくつか拝見しましたが、どれも傲慢で不愉快極まりありません。
おそらく業界では名のある技術者なのだろうと存じ、僭越を承知で申し上げますが、貴方が何の目的でいくつかの質問に
書き込みを行っているのかが全く理解できず、いくらその人が優秀な技術者であろうとも、傲慢でネチケットを感じられない方には
コメントをして頂きたくありません。
(もっとも、それだけの技術者であれば、2ちゃんねるのデフォルト匿名のようなふざけたハンドルは使う必要もないと思いますけれど)
すごいな
逆に拍手を送りたい
0166デフォルトの名無しさん
2013/05/26(日) 13:08:16.80フォーム上にPDFを表示させるための(WebBrowserを使用する以外に)別方法はありますでしょうか?」
774RR:「ユーザーが表示しないって設定してるんだから問題無いだろ。代案はない」
どうみてもキチガイです。ありがとうございました。
0167デフォルトの名無しさん
2013/05/26(日) 13:17:40.26>どうみてもキチガイです。
質問者が?
774RRが?
166が?
俺かい。
0168デフォルトの名無しさん
2013/05/26(日) 13:42:54.740169デフォルトの名無しさん
2013/05/26(日) 14:01:50.56質問者は「ブラウザを使用する以外の方法」を聞いてるのに
0170デフォルトの名無しさん
2013/05/26(日) 14:13:30.08ID:ym0zCAVh!難しいんじゃないの。
VB6のOLEコンテナを使えば何とかなるのかもしれないが、ライセンス上の懸念があるし
さすがに15年も前の製品を好んで使いたい人は少ないんじゃないか
0171デフォルトの名無しさん
2013/05/26(日) 14:46:45.53普通PDFリーダーのマネージド実装を探すだろ?
0172デフォルトの名無しさん
2013/05/26(日) 15:03:18.57いいだけだろ
0173デフォルトの名無しさん
2013/05/26(日) 15:29:57.52ID:ym0zCAVh!0174デフォルトの名無しさん
2013/05/26(日) 17:17:51.800175デフォルトの名無しさん
2013/05/26(日) 17:19:10.300176デフォルトの名無しさん
2013/05/26(日) 21:24:15.920177デフォルトの名無しさん
2013/05/27(月) 17:49:52.00ただ単に初心者を構いたいだけなんだろう
大して上手ではない、おやじゴルファーの教えたがりと一緒さ
0178デフォルトの名無しさん
2013/05/27(月) 17:57:08.63下記のコードでピクチャーボックスに画像ファイルを読み込んで
ドラッグで移動、マウスホイールで拡大縮小をさせたいのですが
マウスホイールで拡大縮小するときに真ん中を中心に
拡大したいのですが微妙にずれていってしまいます。
何か計算に間違いがあるでしょうか?
http://codepad.org/twBbvKgX
0179デフォルトの名無しさん
2013/05/27(月) 20:14:11.790180デフォルトの名無しさん
2013/05/27(月) 23:48:59.84名無しの祟りだ
0181デフォルトの名無しさん
2013/05/28(火) 08:35:13.98ありがとうございます。
ScaleTransformを後にやるようにしたらうまくいきました。
0182デフォルトの名無しさん
2013/05/28(火) 12:47:31.11PDFをVB.netを使ってビットマップ変換する手っ取り早い方法があれば教えてください。
0183デフォルトの名無しさん
2013/05/29(水) 22:16:34.09ID:u78+zO3T!Dim objeBrowser = New SHDocVw.InternetExplorer()
Thread.Sleep(30000); // 一定時間待機
objeBrowser.Quit()
という処理を流しているのですが、
プログラムから Quit がされる前に手動でターゲットとなる objeBrowser が閉じられていると
ex {"起動されたオブジェクトはクライアントから切断されました。 (Exception from HRESULT: 0x80010108 (RPC_E_DISCONNECTED))"} System.Exception
というエラーメッセージが表示されてしまいます。ブラウザが閉じられている状態で Quit を実行しても
エラーが出ない様にする方法とかはありませんか?
0184デフォルトの名無しさん
2013/05/29(水) 23:23:25.100185デフォルトの名無しさん
2013/05/29(水) 23:31:08.750186デフォルトの名無しさん
2013/05/29(水) 23:38:21.89ID:u78+zO3T!閉じられているかどうあの判定が面倒
>>185
取り敢えずその方法で行くことにしました。
0187デフォルトの名無しさん
2013/05/30(木) 09:18:39.07ふーん……
0188デフォルトの名無しさん
2013/05/30(木) 19:44:11.650189デフォルトの名無しさん
2013/05/30(木) 23:17:06.600190デフォルトの名無しさん
2013/06/02(日) 12:51:47.71○ やり方が解らないおせーて
0191デフォルトの名無しさん
2013/06/02(日) 12:55:12.640192デフォルトの名無しさん
2013/06/07(金) 22:43:39.56とっとと教えろください
0193デフォルトの名無しさん
2013/06/07(金) 23:41:00.370194デフォルトの名無しさん
2013/06/08(土) 20:53:35.74winscp?
0195デフォルトの名無しさん
2013/06/10(月) 22:02:59.30訳あって現在プログラムをしています
ボタンを押したときに、DataGridViewの選択した行を消したいんですが、
どうしたら良いですか?
DataGridView1.Rows.RemoveAtかなと思ったんですが上手くいきません
選択できる行は一行だけにしてあるので、その一行を消すだけでいいんですが
ちなみにSelectionModeはFullRowSelectにされています
VisualBasic 2010 Expressです
0196デフォルトの名無しさん
2013/06/10(月) 23:27:40.96無料版だからじゃね
0197195
2013/06/11(火) 00:03:35.79で何とかなりましたが
もし間違ってたら訂正お願いします
0198デフォルトの名無しさん
2013/06/11(火) 00:11:54.04間違ってたら出来ないからな
0199デフォルトの名無しさん
2013/06/11(火) 01:14:53.52削除ボタンを押す
↓
確認メッセージ(OK、キャンセル)
↓ ↓
OK その他(×、キャンセル)
↓ ↓
削除 削除しない、なにもしない
~~~~~~~~~~~~~~~~~~~~~~~~~
というのをやりたいんですが、Elseのあとに何て書けばいいのか分かりません
0200デフォルトの名無しさん
2013/06/11(火) 01:28:04.300201デフォルトの名無しさん
2013/06/11(火) 02:02:58.06サブっ
0202デフォルトの名無しさん
2013/06/11(火) 02:27:20.31>>197
>>199
悪いが基礎サイトかチュートリアルでも一通りやってから
プログラムに取り掛かってくれ。話はそれからだ。
0203デフォルトの名無しさん
2013/06/11(火) 21:15:57.10エクセルシートへの出力が激遅になってしまった。
たった23列3行のデータ出すのに1分以上かかる。
エクセル2010だと数秒なのに…。
0204デフォルトの名無しさん
2013/06/11(火) 21:40:46.750205デフォルトの名無しさん
2013/06/14(金) 02:26:52.06どのメソッドで時間かかってるか調べて何がそのメソッドを遅くさせているのか調べる
0206デフォルトの名無しさん
2013/06/14(金) 10:00:20.84だいたいにおいてClipboardにコピーしてペーストするようになると早くなるね。
Clipboardを使って良い場合に限るが。
0207デフォルトの名無しさん
2013/06/14(金) 15:44:19.32リンク貼り付けになる不具合あったよな。
ほっといてもMSが対応するだろうと思ってたけど
未だに放置してる。
貼り付け方変えて対応したけど。
0208デフォルトの名無しさん
2013/06/15(土) 10:06:06.740209デフォルトの名無しさん
2013/06/15(土) 11:29:38.46別ウィンドウでエクセルが起動するわ。
0210デフォルトの名無しさん
2013/06/18(火) 09:37:29.100211デフォルトの名無しさん
2013/06/19(水) 13:06:07.73ハンドルとかIntptrで管理してる値をIntegerな引数として渡しちゃっていいのかな?
0212デフォルトの名無しさん
2013/06/19(水) 13:35:26.410213デフォルトの名無しさん
2013/06/19(水) 13:37:46.92DllImport/Declareなら32bitDLLだろうがIntPtrで定義すればいいだろ
32bitDLLのヘッダが本来HANDLEとかにすべきところをintとかDWORDとかで定義しているってこと?
まあ別にこっちがやることは何も変わらないけど
プラットフォームをx86にさえしとけば問題ない
0214デフォルトの名無しさん
2013/06/19(水) 19:47:20.00ハンドルとか64ビットなのかと思っては
0215デフォルトの名無しさん
2013/06/19(水) 21:28:28.17x64でビルド → 常に64bitプロセス。つまり32bit環境では動かない
AnyCPUで〃 → 32なら32、64なら64bitプロセスとして起動する
32bitプロセス→IntPtrのサイズは4
64bitプロセス→IntPtrのサイズは8
0216デフォルトの名無しさん
2013/06/21(金) 20:41:40.32なるほど!わかった!
ありがとう!
0217デフォルトの名無しさん
2013/07/14(日) NY:AN:NY.ANthread.stopしなくても自動的にストップすると考えていいの。
0218デフォルトの名無しさん
2013/07/14(日) NY:AN:NY.AN0219デフォルトの名無しさん
2013/07/14(日) NY:AN:NY.AN0220デフォルトの名無しさん
2013/07/14(日) NY:AN:NY.AN0221デフォルトの名無しさん
2013/07/14(日) NY:AN:NY.ANワーカーメソッドからのreturnがスレッドの終了を意味する
0222デフォルトの名無しさん
2013/07/14(日) NY:AN:NY.AN0223デフォルトの名無しさん
2013/07/15(月) NY:AN:NY.ANRaiseEvent Setreq(Me, EventArgs.Empty)
クラスからのイベントで、こんな感じでCmdストリングを渡したいのだが、いまは
Me.GetsDataCmdにセットしてMeを渡してる。
折角EventoAgsがあるのでこいつにセットできんの?
0224デフォルトの名無しさん
2013/07/15(月) NY:AN:NY.AN終了させないといけないの?
0225デフォルトの名無しさん
2013/07/15(月) NY:AN:NY.ANSetreqって意味分からんイベント名だが
そいつがEventHandler(Of CommandEventArgs)とかそんなイベント発火させる形にする
0226デフォルトの名無しさん
2013/07/15(月) NY:AN:NY.ANイベントの引数は、そのイベントを定義するときに自分で決める
必要な引数をとるように定義しろ
0227デフォルトの名無しさん
2013/07/16(火) NY:AN:NY.ANEventArgsを継承してつくらんといかんとははないの?
ストリングでもなんでも勝手に定義できんの?
0228デフォルトの名無しさん
2013/07/16(火) NY:AN:NY.ANただしライブラリとして公開するようなのならそんなことすんな
0229デフォルトの名無しさん
2013/07/16(火) NY:AN:NY.AN0230デフォルトの名無しさん
2013/07/16(火) NY:AN:NY.AN0231デフォルトの名無しさん
2013/07/16(火) NY:AN:NY.AN0232デフォルトの名無しさん
2013/07/16(火) NY:AN:NY.ANあ、そういうこと! 目からうろこ。
0233デフォルトの名無しさん
2013/07/16(火) NY:AN:NY.ANEvent Hoge As HogeEventHandlerはメンバ。プロパティと同レベル
HogeはHogeEventHandlerデリゲートのインスタンス
「デリゲート」はデリゲート型を指す場合とデリゲートインスタンスを指す場合の両方があってめんどい
0234デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.AN>「デリゲート」はデリゲート型を指す場合とデリゲートインスタンスを指す場合の両方があってめんどい
普通は文脈で区別がつく
クラスという言葉だってインスタンスの意味で使われてる場合もあるだろ
0235デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.ANねーよ
それはVBerだけ
0236デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.AN0237デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.ANちなみにデリゲートってインスタンスなのか?俺のイメージ的には値なんだが
0238デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.ANC#の記法だと分かりやすいか?
EventHandler handler = new EventHandler(methodName);
普通のオブジェクトと変わらんよ コンストラクタ引数にメソッド渡すって違いがあるだけだ
ちなみにC#/VB的には参照型でも値型でもインスタンスで良い
0239デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.AN間違ってないのは解るんだが
でも構造体のインスタンスは割としっくりする。この感覚はなんだろ
デリゲートの実体はSystem.Delegateクラスらしいから、普通のオブジェクトと同じなのも間違ってないんだが
この感覚がVB脳ってやつなのか
0240デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.AN0241デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.AN概念的にはデリゲート型はデリゲート型であってクラスとは別物と考えるのが正しい
クラス型、列挙型、構造体型と並んで型の一種なんだよ
つまりEventArgs型を"EventArgsクラス"と呼ぶのと同じようにEventHandler型を"EventHandlerデリゲート"と呼ぶわけ
0242デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.ANこの辺を読んで自分でイベントをスクラッチで実装してみるといいよ
一目瞭然だから
http://msdn.microsoft.com/ja-jp/library/yt1k2w4e.aspx
0243デフォルトの名無しさん
2013/07/18(木) NY:AN:NY.ANC++のoperator()のように
関数のように振舞えるクラスを作る方法はありませんか?
0244デフォルトの名無しさん
2013/07/18(木) NY:AN:NY.AN知らんけど。
0245デフォルトの名無しさん
2013/07/18(木) NY:AN:NY.AN関数のように振舞えるクラスってのがどんなのをイメージしてるかわからん
C++のoperator()って演算子オーバーロードだよな?
だったらVB.Netでも出来るぞ
0246デフォルトの名無しさん
2013/07/18(木) NY:AN:NY.AN0247デフォルトの名無しさん
2013/07/18(木) NY:AN:NY.ANC++では括弧が演算子でそれもオーバーロードできるってことか
括弧演算子の使いかたが解らんから何とも言えんが、そこまで特殊な事はさすがに出来んのじゃないかな
0248デフォルトの名無しさん
2013/07/18(木) NY:AN:NY.ANだったらVB.Netでも出来るはず
0249デフォルトの名無しさん
2013/07/18(木) NY:AN:NY.AN調べたいなら関数呼び出し演算子とか関数オブジェクトとか調べれ
0250デフォルトの名無しさん
2013/07/18(木) NY:AN:NY.AN単にSharedなメソッドで良いんじゃないのか
0251デフォルトの名無しさん
2013/07/18(木) NY:AN:NY.AN0252243
2013/07/19(金) NY:AN:NY.AN�@ ()で関数呼出しのように出来る
�A . で独自のメンバにアクセス出来る
です。
標準モジュールの関数やメソッド自体は
�Aをできないので代替手段になりません。
クラスが関数のように振舞う方法がなければ
関数やメソッドに . をつけて、独自のメンバを実装する
方法がないでしょうか。
Delegateを継承しようかと思ったのですが
できませんでした。
0253デフォルトの名無しさん
2013/07/19(金) NY:AN:NY.ANMustInheritクラスで十分だろ
0254デフォルトの名無しさん
2013/07/19(金) NY:AN:NY.ANclass.func()じゃだめでclass()で呼び出したいのか?
なぜそんな事がしたいのかわからんな。すなおにclass.func()で呼び出せばいいんじゃね
標準モジュールのメンバって、モジュール名.メンバ名で呼び出せた気がするが
インスタンスメソッドじゃないとダメなのか?
どう考えても普通のクラスにFunctionとプロパティで良い気がするんだが
0255デフォルトの名無しさん
2013/07/19(金) NY:AN:NY.ANレス全部読んでないけど何でそんなことがしたいのか理解できない。
C#と違ってVBはクラスの中にクラス名と同じ静的メソッドを書けるから、名前空間のインポートを
工夫すれば見かけ上それっぽいことは可能だと思うけど...
っていうか
>関数やメソッドに . をつけて、独自のメンバを実装する方法
これは何を言ってるんだろう。
メソッドチェーンとは違うの?
0256デフォルトの名無しさん
2013/07/19(金) NY:AN:NY.ANどうせたいしたことは言ってない
0257デフォルトの名無しさん
2013/07/19(金) NY:AN:NY.ANobj.Foo = "bar"
obj.Exec("hoge")
243が欲しい書き方
obj.Foo = "bar"
obj("hoge")
ってことなら、「そんなことするな」でFAだろう。
0258デフォルトの名無しさん
2013/07/20(土) NY:AN:NY.AN0259デフォルトの名無しさん
2013/07/20(土) NY:AN:NY.AN0260デフォルトの名無しさん
2013/07/20(土) NY:AN:NY.ANまた懐かしいゲームを
0261デフォルトの名無しさん
2013/07/21(日) NY:AN:NY.AN0262デフォルトの名無しさん
2013/07/21(日) NY:AN:NY.AN0263デフォルトの名無しさん
2013/07/21(日) NY:AN:NY.ANPInvokeStackImbalanceが検出されました
とでます
0264デフォルトの名無しさん
2013/07/21(日) NY:AN:NY.AN0265243
2013/07/22(月) NY:AN:NY.AN書方について否定される方が多いようですが
コレクションでは当り前の書方ですよね。
0266デフォルトの名無しさん
2013/07/22(月) NY:AN:NY.AN0267デフォルトの名無しさん
2013/07/22(月) NY:AN:NY.ANインデクサはVB.NETではデフォルトプロパティとして実装されてる
デフォルトプロパティで出来るんじゃないかと思ったけど、
デフォルトはプロパティに限られSubやFunctionではむり
呼び出し時の引数省略不可能(たぶん)
の2点を考えて俺は無理だと判断したんだが
まあ、それで出来てるんなら良いんじゃね
>コレクションでは当り前の書方ですよね。
そもそもどんな書き方したいのかお前ははっきり明示してないわけだが
他の言語で当たり前でも、少なくともVB.NETではあり得ないような書き方を
したがってると皆に判断されてるわけだが
0268243
2013/07/22(月) NY:AN:NY.ANVB6ではSubでもFunctionでもデフォルトにできたので、
当然出来ると勘違いしておりました。
書方は最初にも書きましたが、
Delegateのように関数のように振舞う
または、C++のoperator()のように、関数のように振舞うです。
0269デフォルトの名無しさん
2013/07/22(月) NY:AN:NY.ANむしろ添字アクセス→ポインタ操作のメタファーじゃないか
0270243
2013/07/22(月) NY:AN:NY.AN間違いということですね。
私のつまらぬ要求でみなさんを不快にさせて
すみませんでした。
0271デフォルトの名無しさん
2013/07/22(月) NY:AN:NY.AN0272デフォルトの名無しさん
2013/07/22(月) NY:AN:NY.AN0273デフォルトの名無しさん
2013/07/22(月) NY:AN:NY.ANだから具体的なコード書いて示せよ
0274デフォルトの名無しさん
2013/07/22(月) NY:AN:NY.AN引数をとり、なんらかのオブジェクトを返す
この動作だけを見るなら関数と言えなくはないんじゃないか
0275デフォルトの名無しさん
2013/07/22(月) NY:AN:NY.AN問題はそこじゃなくて、端的に何を言ってるのかよく分か(
0276243
2013/07/23(火) NY:AN:NY.AN具体的には以下のような書方の出来るクラスFuncObjを定義したいです。
Dim a As FuncObj
'関数のように使える
a() '引数なし関数呼出し
Dim x As Long = a(1) '引数あり関数呼出し
'クラスメンバにもアクセス出来る
a.field1 = 1 'メンバフィールドに代入
a.property1 = "aaa" ’メンバプロパティに代入
a.func1(1) ’メンバ関数呼出し
0277デフォルトの名無しさん
2013/07/23(火) NY:AN:NY.AN0278デフォルトの名無しさん
2013/07/23(火) NY:AN:NY.AN>a() '引数なし関数呼出し
>Dim x As Long = a(1) '引数あり関数呼出し
これが
a.func()やx=a.func(1)ではダメな理由は何だ?
他の言語で出来るからって理由なら、その言語使えってだけの話だが
0279243
2013/07/23(火) NY:AN:NY.ANもちろん、C++でそのように書けるのも、
旧バージョンで出来たというのも理由です。
0280デフォルトの名無しさん
2013/07/23(火) NY:AN:NY.AN相変らず何を言ってるのかちょっと意味不明な気が...
普通に読む限り、>>243の変数aの動作は、普通にインデクサ(VBの場合はデフォルトのプロパティだけど)
が定義されたクラスFuncObjの普通の動作にしか思えないんだけど...
質問の意図は、Newしなくても、
> Dim a As FuncObj
これだけでaがnullじゃないことを保証したいってこと?
それならクラスじゃなくて構造体にすればそうなりますけど...
0281デフォルトの名無しさん
2013/07/23(火) NY:AN:NY.AN反省しろ
0282デフォルトの名無しさん
2013/07/23(火) NY:AN:NY.AN>理由は Collection.Item(n) に Collection(n) という書方が用意されているのと同じです。
なにとなにがどう同じという主張なのかわからん
コレクションにインデクサがあることと、オブジェクトそのもの(あるいはインスタンス?)が
関数として呼び出せる事がどうつながるんだ?
.NETではインデクサをデフォルトプロパティとして扱う事で、互換性を保とうとしてるが
VB6でのデフォルトプロパティ正確には.NETではなくなっている
VB6の書き方がしたいならVB6使ってください
C++の書き方がしたいならC++使ってください
とここまで書いて思ったんだが、C++/CLIってあったよな
あれで作ったクラスってVB.NETとかC#とかから呼び出せんのかな?
呼び出せるならその関数オブジェクトとかいうメソッドどうやって呼ぶんだろ
>>281
デフォルトプロパティの互換性を最大限実現するためには仕方なかったんじゃない
よくも悪くも過去のVBに引っ張られる言語、それがVB.NET
0283デフォルトの名無しさん
2013/07/23(火) NY:AN:NY.AN> とここまで書いて思ったんだが、C++/CLIってあったよな
> あれで作ったクラスってVB.NETとかC#とかから呼び出せんのかな?
> 呼び出せるならその関数オブジェクトとかいうメソッドどうやって呼ぶんだろ
hoge.op_FunctionCall(...)で呼び出す
0284243
2013/07/24(水) NY:AN:NY.ANすいません、Newの書き忘れです。
インデクサはプロパティにしか適用できないみたいなので
x = a(1)
は出来ても
x = a()
a(1)
という書方が出来ないようです。
0285243
2013/07/24(水) NY:AN:NY.ANInvokeというメソッドの呼出しようです。
しかし、Delegateはユーザーが継承できません。
インデクサもプロパティのみで、関数には使えません。
このようにインスタンス名にかっこを付けて、
関数のようなものを呼出す例はいくつかありますが、
それをユーザーが独自に定義できないのは
設計思想なんでしょうね。
0286デフォルトの名無しさん
2013/07/24(水) NY:AN:NY.ANメソッド->動詞のメタファー
プロパティ->形容詞のメタファー
だとしたら クラス名() はなんなんだよ意味不明だろ死ねよ
それともデフォルト機能に毒されたVB厨かよハゲが
0287デフォルトの名無しさん
2013/07/24(水) NY:AN:NY.AN>このようにインスタンス名にかっこを付けて、
>関数のようなものを呼出す例はいくつかありますが
だからそれ他の言語の話でしょ
独自に定義できないんじゃなくて、VB.NETにはそんなものないの
そんなにC++が好きならC++/CLIでやっとけよ
0288デフォルトの名無しさん
2013/07/24(水) NY:AN:NY.ANおお、貴重な情報をありがとう
op_FunctionCallでググっても日本語1件しかヒットしないぜ
これは
C++/CLIとの相互運用が人気ないのか
C++でも関数オブジェクトとやらはめったに使わないのか
そもそもC++/CLIが使われてないのかw
0289243
2013/07/24(水) NY:AN:NY.AN>>関数のようなものを呼出す例はいくつかありますが
>だからそれ他の言語の話でしょ
Collectionのインスタンスにかっこを付けて要素を取出すのも
Delegateのインスタンスにかっこを付けて呼出せるのも
VB.netの話ですよ。
0290デフォルトの名無しさん
2013/07/24(水) NY:AN:NY.AN0291デフォルトの名無しさん
2013/07/24(水) NY:AN:NY.AN少なくとも、VB.NETでは
インデクサはデフォルトプロパティの省略
デレゲートはクラスとは別の型
これらを「関数のようなもの」でひとくくりにするから違和感を感じるんじゃね
違うものは違う書き方するのがVB流なんだが、そう考えると>>281は真実をついてるのか
0292デフォルトの名無しさん
2013/07/24(水) NY:AN:NY.AN273とか275が呼び止めるから、
まだいすわってるじゃん。
VBで出来ないことを無理にやろうとしてるやつも、
書き方がおかしいとか言って、全く質問に答えられないやつも、
もう黙っとけ。
0293デフォルトの名無しさん
2013/07/25(木) NY:AN:NY.AN画像クリック picturebox1有効化
2回目画像クリック picturenox2有効化みたいのやりたいんだけど、
どうすればいいんだろ
0294デフォルトの名無しさん
2013/07/25(木) NY:AN:NY.ANアホな質問してすまん
0295デフォルトの名無しさん
2013/07/26(金) NY:AN:NY.ANdim byteData as byte()
これ意味的にどう違うの?
0296デフォルトの名無しさん
2013/07/27(土) NY:AN:NY.AN同じ
前者はVB6脳が染み付いていてオブジェクト指向を理解してない人のために仕方なく用意されているレガシーな書き方
どちらもbyte()型の変数byteDataを宣言しているので、意味的には後者が正しい
0297デフォルトの名無しさん
2013/07/27(土) NY:AN:NY.AN0298デフォルトの名無しさん
2013/07/27(土) NY:AN:NY.AN正しいとされるのは後者の表記
前者は私はオブジェクト指向を理解していませんという宣言になる
0299デフォルトの名無しさん
2013/07/27(土) NY:AN:NY.AN0300デフォルトの名無しさん
2013/07/27(土) NY:AN:NY.ANイミフ
0301デフォルトの名無しさん
2013/07/27(土) NY:AN:NY.AN'ボタンコントロール配列のフィールドを作成
Private testButtons() As System.Windows.Forms.Button
(2)ボタンコントロールと同様に295のbyteDataはbyteオブジェクトの配列と考えられる。
(3)1,2から正しいのは前者と考えられる。
dim byteData() as byte 正しい。
dim byteData as byte()
従って
296,298の説明は真っ赤な嘘、つまり誤りとするのが妥当と思える。
0302デフォルトの名無しさん
2013/07/27(土) NY:AN:NY.AN間違い。dobonの中の人は理解した上でVBerに馴染みの深い方を使っているんだろうが、
VBerには君みたいに理解せずに前者を使ってる人がいるのが問題なんだよ。
(1)と完全に等価なコードをC#で書くと
private System.Windows.Forms.Button[] testButtons;
こうなる。testButtonsがButton[]型なのは明らか。Button testButtons[]のような表記は許されない。
ちなみにC#の元ネタのJavaではどっちでもいける(>>298)んだが、一般的に前者は意味的におかしいので良くないとされていて
C#ではなるべく過去の負の遺産を整理しようということで前者は許されなくなった。
0303デフォルトの名無しさん
2013/07/27(土) NY:AN:NY.AN字面の通り本物のCスタイルの配列を作ってポインタでアクセスできたりするが
VBの Dim byteData(5) As Byte (これはByte[] byteData = new Byte[5];と等価)とは全く意味が違う
0304デフォルトの名無しさん
2013/07/27(土) NY:AN:NY.ANどっちでもいくね?
0305デフォルトの名無しさん
2013/07/27(土) NY:AN:NY.AN0306デフォルトの名無しさん
2013/07/27(土) NY:AN:NY.ANサンプルコード等も配列の宣言は前者の方法でなされてたはず
この辺は言語としての設計思想の問題で、正しいとか間違ってるという問題ではないんだが
他人をけなすと自分が偉く感じれるからな
0307デフォルトの名無しさん
2013/07/27(土) NY:AN:NY.ANVBから移行する人の敷居を下げるためにあえてC#とは別に作られたのがVB.NETだったんだから
別に間違ってはいない
0308デフォルトの名無しさん
2013/07/27(土) NY:AN:NY.ANつーか、自分の価値観に反するもの・合わないもの=悪・攻撃対象
と見なす短絡的な人間が多いのだよ、技術者系は特にね。
世の中にあるものは全てつながっていて、何かを攻撃することは
回り回って自分を攻撃することだと気づく日がそのうち来るのだけど、
かなり歳を取ってからだから、無理もないのだがな。
0309デフォルトの名無しさん
2013/07/27(土) NY:AN:NY.AN言語に限らないけど
0310デフォルトの名無しさん
2013/07/27(土) NY:AN:NY.AN非合理だからやめろというのも結構だが
人格だけを攻撃するのはただの思考停止だよ >>308 みたいなの含めてね
0311デフォルトの名無しさん
2013/07/27(土) NY:AN:NY.AN>>310は>>308への人格攻撃
まあ、どっちもスレ違いなので要りません
0312デフォルトの名無しさん
2013/07/27(土) NY:AN:NY.ANKeyPressイベントやKeyDownイベントで
e.Handled = True
にすると音がでなくなる。
これは何故なの? これをするとなんか他に影響ある?
0313デフォルトの名無しさん
2013/07/27(土) NY:AN:NY.AN敷居を下げる 大間違い。
鴨居を下げる 大正解。
0314デフォルトの名無しさん
2013/07/27(土) NY:AN:NY.AN宣言の形式とアクセスの形式が同一の方が理解しやすい。
人間が理解しやすいように整理したのがオブジェクト指向の目的の一つなのだから
C#のように宣言の形式とアクセス形式を態々変えるのは間抜けであってオブジェクト指向に
反する。
0315デフォルトの名無しさん
2013/07/27(土) NY:AN:NY.AN0316デフォルトの名無しさん
2013/07/27(土) NY:AN:NY.AN言っちゃ悪いけどダメな人の典型だわ。
基本的に>>302の言うとおり。
他人を分析する前に自分がOOも理解してないことを恥じた方がいいと思うけど。
今時OOなんて常識だと思うけどVBの世界じゃそうじゃないんだな。
ちなみに、>>303は何を言ってるのか分からん。
この人はこの人で何か勘違いしてる気がする。
0317デフォルトの名無しさん
2013/07/27(土) NY:AN:NY.AN0318デフォルトの名無しさん
2013/07/27(土) NY:AN:NY.AN0319デフォルトの名無しさん
2013/07/27(土) NY:AN:NY.AN0320デフォルトの名無しさん
2013/07/27(土) NY:AN:NY.ANずーとこれでやってる。そんだけ。
0321デフォルトの名無しさん
2013/07/27(土) NY:AN:NY.AN0322デフォルトの名無しさん
2013/07/27(土) NY:AN:NY.AN構造体のレイアウトはbyte型の変数を5つ並べて宣言したのと同じになり、byteDataは先頭要素のポインタを表す
C言語の配列と同じだ
VB.NETにこういうのはなく、配列といえば配列オブジェクトしかない
0323デフォルトの名無しさん
2013/07/27(土) NY:AN:NY.AN0324デフォルトの名無しさん
2013/07/27(土) NY:AN:NY.AN配列はオブジェクト
昔のVBのように変数が配列なんじゃない
0325デフォルトの名無しさん
2013/07/27(土) NY:AN:NY.ANdim byteData() as byte
これって配列じゃないの?
0326デフォルトの名無しさん
2013/07/27(土) NY:AN:NY.AN決してbyteDataが配列なんではなくて配列の入れ物を用意しただけだね
詳しく言うと、byte()という配列型のオブジェクトへの参照を入れるための変数を宣言している
変数が配列なんじゃなくて、あくまでどこかにある配列オブジェクトのハンドルを入れる変数
0327デフォルトの名無しさん
2013/07/27(土) NY:AN:NY.ANありがとう。
一応、私の認識で間違ってなかったみたい。
議論の内容に着いて行けずに、混乱してしまった。
0328デフォルトの名無しさん
2013/07/27(土) NY:AN:NY.AN使い方の説明としてはもちろん間違ってなくて、言語仕様上の概念としてもCやVB6の頃はまあその通りだったんだが
最近の言語だと正確には間違いなんだよな
0329デフォルトの名無しさん
2013/07/27(土) NY:AN:NY.AN構造体中のインライン配列の話か。
VBの場合ポインタが使えないから構造体の中のインライン配列が必要になるのは
アンマネージ関数呼ぶ時だけだけど、その場合はVBFixedArrayAttributeが使えたはず
0330おい無視すんなよ
2013/07/27(土) NY:AN:NY.ANKeyPressイベントやKeyDownイベントで
e.Handled = True
にすると音がでなくなる。
これは何故なの? これをするとなんか他に影響ある?
0331デフォルトの名無しさん
2013/07/27(土) NY:AN:NY.ANそれ人に聞かなきゃ分からない話か?
0332デフォルトの名無しさん
2013/07/27(土) NY:AN:NY.AN言語仕様上の概念があるから配列が規定されてるわけで
実体はSystem.Arrayだけどそれを意識することはないでしょ
純粋なOO言語なら間違いかもしれんが、少なくともVB.NETにおいては間違いではない
とかいうとまたVB脳とか言うやつがいるんだろうな
0333デフォルトの名無しさん
2013/07/28(日) NY:AN:NY.AN配列の実体はSystem.Arrayじゃねえよ
Byteの配列はCLR的にもByte()型だ
型情報によって形式的にSystem.Arrayを継承してるが、
要素の型や次元が異なれば明確に別の型だ
0334デフォルトの名無しさん
2013/07/28(日) NY:AN:NY.ANそれらと並んで「配列型」というグループがあり、Byte()やString(,)などはそれに含まれる配列型の一つ
言語側でもっと大掛かりな仕組みでVB6のような配列変数を再現してるなら>>331の言ってるようなこともわかるけど、
実際は変数宣言で括弧の場所が違っててもコンパイラが読み替えますよというだけの
非常に薄い構文糖衣にすぎないからなあ
0335デフォルトの名無しさん
2013/07/28(日) NY:AN:NY.ANそういうことを断定的に言えるにはどこをどう調べたらわかるんだ?
>334
「構文糖衣」って始めて聴いた。なかなか文学的表現だな。
0336デフォルトの名無しさん
2013/07/28(日) NY:AN:NY.ANそう言う言い方をするのであれば
dim byteData() as byte はVBとしての配列
dim byteData as byte() は.NETの配列型をサポートしてるだけ
まあVBとしての配列は当然.NETの配列型で実装されているわけだが
下は.NETのサポートの一環でVB.NETとしての言語仕様での配列ではない
だからMSDNではVB.NETの配列はすべて上の書き方なわけだ
コンパイル後の結果が同じでも意味合いが違うので単なるシンタックスシュガーという事ではない
0337デフォルトの名無しさん
2013/07/28(日) NY:AN:NY.AN>>336
何だよVBとしての配列って。
デタラメを言うなって。
>>334の言うとおり単にコンパイラが読み替えてくれてるだけ。
0338デフォルトの名無しさん
2013/07/28(日) NY:AN:NY.AN>何だよVBとしての配列って
Visual Basic における配列
http://msdn.microsoft.com/ja-jp/library/vstudio/wak0wfyt(v=vs.100).aspx
そこにこう書いてあるだろ
>変数名に続けて 1 組以上のかっこを記述することにより、その変数がスカラー (1 つの値を含む変数) ではなく配列を保持することを示します
0339デフォルトの名無しさん
2013/07/28(日) NY:AN:NY.ANこれがVB脳か
0340デフォルトの名無しさん
2013/07/28(日) NY:AN:NY.ANこれは概念としての話だろ?
コードとかコンパイル結果とは無関係なんだよな?な?
0341デフォルトの名無しさん
2013/07/28(日) NY:AN:NY.ANその結果二通りの書き方が出来てるわけで
コンパイル結果は同じ
それを糖衣構文と言えるかどうかはしらん
0342デフォルトの名無しさん
2013/07/28(日) NY:AN:NY.AN構文糖衣とよぶのすらおこがましい、表記の揺れ程度のレベル
0343デフォルトの名無しさん
2013/07/28(日) NY:AN:NY.AN何を寝ぼけたこと言ってるの。
0344デフォルトの名無しさん
2013/07/28(日) NY:AN:NY.AN表記のバリエーションだよ
0345デフォルトの名無しさん
2013/07/29(月) NY:AN:NY.ANrxdatには :TIMEREQ**\rのバイトデータが入っている。
'受信データから先頭の10バイトのコマンドを抜き出してストリングに変換する。
Dim cmdbytes As Byte() = New Byte(10) {}
Array.Copy(rdat, cmdbytes, 10)
Dim rxcmd As String = System.Text.Encoding.GetEncoding("SHIFT-JIS").GetString(cmdbytes)
rxcmd = rxcmd.TrimEnd("*", " ", vbCr, vbLf) 'コマンドのケツについている不要文字をトリムする。
Select Case rxcmd
Case ":TIMEREQ"
Case Else
end select
":TIMEREQ"を掴みたいのだが掴めない。何故でしょう?
というかもっとスマートなコマンド分離ってないんでしょうか?
0346デフォルトの名無しさん
2013/07/29(月) NY:AN:NY.ANスマートなコマンド分離ってのがどういう事かわからんが
おそらくバグってるのはお前だ
元データは11文字、cmdbytesも(0 to 10)で11個
Array.Copyでコピーしてるのは10個
だからrxcmdの最後にヌル文字入ってる
ヌル文字がトリム対象になってないので、最後のヌル文字まで出力される
まあ、こういう事だと
元のデータがどういう形式か知らんが、わざわざArray.Copyとかする理由があるのかね
0347デフォルトの名無しさん
2013/07/29(月) NY:AN:NY.ANTrimする前のrxcmdはどうなってんだよって話
0348デフォルトの名無しさん
2013/07/29(月) NY:AN:NY.ANそういうことか? 11バイト生成していたのか? それにしてもNULLも
文字列になるんだね。
>まあ、こういう事だと
>元のデータがどういう形式か知らんが、わざわざArray.Copyとかする理由があるのかね
先頭だけストリングにするのにコピーしてるんだよ。通常のコマンドは先頭10バイト
につづいてバイナリで2Kバイト位飛んでくるので全部変換すると効率悪そうなんでね。
>スマートなコマンド分離ってのがどういう事かわからんが
>おそらくバグってるのはお前だ
スマートの定義だが、視認性が良くて尚且つ効率もいいということかな。
たとえば10バイト確保するのに、9って書かねばならんのは視認性が悪いので、まあ
スマートでは無いと言えるかも。
0349デフォルトの名無しさん
2013/07/29(月) NY:AN:NY.ANVBってフレームワークなのか?
0350デフォルトの名無しさん
2013/07/29(月) NY:AN:NY.ANスマートの定義を聞いたんじゃなくて、コマンド分離って何だよと言う事だったんだが
まあ好きにしてくれ
0351デフォルトの名無しさん
2013/07/29(月) NY:AN:NY.ANからコマンドを抽出することだな。コマンドによってそれに続く処理を
切り替えるためだね。
0352デフォルトの名無しさん
2013/07/29(月) NY:AN:NY.ANSelect case bytedata.subbyte(0,10)
case (Byte)":TIMEREQ"
みたいに拡張できんのか?
0353デフォルトの名無しさん
2013/07/29(月) NY:AN:NY.ANやるなら
Select Case True
Case Myfunc(":TIMEREQ",rxdat)
Case Myfunc(":XXXXXXX",rxdat)
みたいな感じじゃね
0354デフォルトの名無しさん
2013/07/29(月) NY:AN:NY.ANコマンドごとに派生クラスつくるか、コマンド種別返すプロパティ作るかしろよ
0355デフォルトの名無しさん
2013/07/29(月) NY:AN:NY.ANを
rxcmd = rxcmd.TrimEnd("*", " ", vbCr, vbLf, vbNullChar)
にすればいいんじゃね?
0356デフォルトの名無しさん
2013/07/29(月) NY:AN:NY.ANSystem.String.TrimEndはmscorlib.dllに実装されている.net frameworkの機能でしょうが
0357デフォルトの名無しさん
2013/07/31(水) NY:AN:NY.AN別のイベントに割り当てるみたいな
0358デフォルトの名無しさん
2013/07/31(水) NY:AN:NY.ANSelectedIndex変えればタブも変わる
0359デフォルトの名無しさん
2013/07/31(水) NY:AN:NY.ANどうも、解決しました
0360デフォルトの名無しさん
2013/08/01(木) NY:AN:NY.ANマウスムーブ時に判定させてやりゃいいのかな
0361デフォルトの名無しさん
2013/08/02(金) NY:AN:NY.ANドラグして画像を動かしていくときの描画処理でやりゃいいんじゃね?
0362デフォルトの名無しさん
2013/08/03(土) NY:AN:NY.AN' S = 1+ 1/2の2乗 + 1/3の2乗 + ・・・ + 1/nの2乗+ 1/(n+1) 2乗 + ・・・ を計算し,
'表示するプログラムを作成してください。計算はS のn項までの和と(n + 1)項までの和の差が
' 1/100000 より小さくなるまで続けるものとし,その時の S と n を表示してください。
0363デフォルトの名無しさん
2013/08/03(土) NY:AN:NY.AN0364デフォルトの名無しさん
2013/08/03(土) NY:AN:NY.ANDim S = 0
Dim n = 1
Do
Dim i = (1 / n) ^ 2
If i < 1 / 100000 Then
Exit Do
End If
S += i
n += 1
Loop
0365デフォルトの名無しさん
2013/08/03(土) NY:AN:NY.ANもともとJavaWebがメイン仕事でExcelとAccessのVBAなら結構わかるというレベルです。
0366デフォルトの名無しさん
2013/08/03(土) NY:AN:NY.ANっていうかもし選べるなら、どうせやるならC#の方がいいような。
VBにもいい点はあるが、記述が冗長になる欠点がVB9以降は特に足かせになってる。
0367デフォルトの名無しさん
2013/08/03(土) NY:AN:NY.AN0368365
2013/08/03(土) NY:AN:NY.ANC#は会社がvbな事情により無理です・・・。選べないっす…。
とりあえず入門ページいくつか見つけたので触ってみてます。
プログラミング自体は何とかなるかな…。とりあえずは後環境面を勉強しなければ。
サンクス。
0369デフォルトの名無しさん
2013/08/04(日) NY:AN:NY.AN0370デフォルトの名無しさん
2013/08/04(日) NY:AN:NY.ANC#のほうがいろんな面でいいと思うんだけど
いいとこ取りしてるし
0371デフォルトの名無しさん
2013/08/04(日) NY:AN:NY.AN理想的にはVBいらないのは同意だが
0372デフォルトの名無しさん
2013/08/04(日) NY:AN:NY.ANフランス語かドイツ語かの違いでしかないだろ
どちらを選択しようが、成果物に品質の違いが出来ない。
ところで C# に With 実装してくれないのかね
あれが便利きわまりないので、VB 使ってる
C#もC++も使えるけどね。
0373デフォルトの名無しさん
2013/08/04(日) NY:AN:NY.ANお前は少数派だったってことだ
0374デフォルトの名無しさん
2013/08/04(日) NY:AN:NY.ANWithがないとどうしようもないのがVB
0375デフォルトの名無しさん
2013/08/04(日) NY:AN:NY.AN??
Using 使ってもいいんだけど
わざわざ変数を宣言するまでもない、ってこと多いんだよね
0376デフォルトの名無しさん
2013/08/04(日) NY:AN:NY.AN事実として、要望が少なく、設計チームがメリットが少ないと判断したから省かれた
初期化はプロパティ初期化子が付いてWithと変わらなくなったしな
0377デフォルトの名無しさん
2013/08/04(日) NY:AN:NY.ANなんでC#のswitchは区間指定できないんだろ
0378デフォルトの名無しさん
2013/08/04(日) NY:AN:NY.AN0379デフォルトの名無しさん
2013/08/04(日) NY:AN:NY.ANあと
int i, j, k, l;
i = j = k = 0;
みたいなの
0380デフォルトの名無しさん
2013/08/04(日) NY:AN:NY.AN3項演算子はあるな
Dim x = If(condition, 10, 20)
Iifとの違いが微妙すぎてわかりづらいが
こちらが ? : 互換
0381デフォルトの名無しさん
2013/08/04(日) NY:AN:NY.AN↓
Dim i, j, k, l As Integer
i = j = k = 0;
って、i、j、k すべて 0 を代入するの?
なんて初めて知ったけど使うヤツいるのか
0382デフォルトの名無しさん
2013/08/04(日) NY:AN:NY.ANi = 0 自体が式で値として評価されるという感じ
int c;
while( 0 != ( c = fileStream.Read() ) )
{...}
みたいな感じで使うんだけど
0383デフォルトの名無しさん
2013/08/04(日) NY:AN:NY.AN表記上区別されるからそういう書き方が出来るんだよ
VBでは両方とも = だから文脈でどちらか決まる
0384デフォルトの名無しさん
2013/08/04(日) NY:AN:NY.ANDim c As Integer
Do While (c = fileStream.Read())
Loop
0386デフォルトの名無しさん
2013/08/04(日) NY:AN:NY.AN正確にはIIfは演算子ではなくて関数。Ifは演算子と定義されているけど
違いはショートサーキットするかどうか
>>381-383
C系の言語では代入式が値を持つ
VBでは代入式は値をもたないので、値を評価しようとした式は比較式として評価される
0387デフォルトの名無しさん
2013/08/04(日) NY:AN:NY.AN〜
}
の可読性は最悪だろ。
こんな馬鹿げた記述を許しておいて、わざわざVBをけなす理由が分からん
0388デフォルトの名無しさん
2013/08/04(日) NY:AN:NY.ANドックさせるとうまくいかない
0389デフォルトの名無しさん
2013/08/04(日) NY:AN:NY.ANだれもけなしてなんかないと思うが
>>388
フォームのスクロールについて詳しく
0390デフォルトの名無しさん
2013/08/04(日) NY:AN:NY.ANAutoScrollでform1をスクロール出来るようにしてあるんだけど、
普通に動かすとパネルが隠れるから、スクロールしてもパネルが隠れないようにする方法です
0391デフォルトの名無しさん
2013/08/04(日) NY:AN:NY.ANスクロールを感知して自分でパネルの位置をずらすとか
まあ、そもそもフォームをスクロールさせるのが間違ってる気がするが
フォームをパネルで分割して必要な領域だけスクロールさせるのが普通じゃないか
0392デフォルトの名無しさん
2013/08/04(日) NY:AN:NY.AN0393デフォルトの名無しさん
2013/08/04(日) NY:AN:NY.AN>>392
パネル位置ずらす方法でなんとか解決しました
0394デフォルトの名無しさん
2013/08/04(日) NY:AN:NY.ANConectionTimeoutを設定してもタイムアウトが発生しません。
説明を見るとプーリングに対する設定のようで初回の接続には関係ない値のようです。
そこで初回の接続にタイムアウトを設定するにはどのような方法があるでしょうか?
0395デフォルトの名無しさん
2013/08/04(日) NY:AN:NY.ANあくまでもDBが主
クライアントは用事が済んだ時点でお帰り下さい
0396デフォルトの名無しさん
2013/08/06(火) NY:AN:NY.AN0397デフォルトの名無しさん
2013/08/06(火) NY:AN:NY.AN0398デフォルトの名無しさん
2013/08/06(火) NY:AN:NY.AN使えるようにされてれば使えるよ
ComVisibleとかデフォルトコンストラクタとか
0399デフォルトの名無しさん
2013/08/07(水) NY:AN:NY.ANさんくす
0400デフォルトの名無しさん
2013/08/10(土) NY:AN:NY.AN0401デフォルトの名無しさん
2013/08/10(土) NY:AN:NY.AN0402デフォルトの名無しさん
2013/08/10(土) NY:AN:NY.AN0403デフォルトの名無しさん
2013/08/10(土) NY:AN:NY.ANTransparencyKey を使って透過するのはとっても簡単でいいと思っていたのですが
この透過方法だと背面にあるアイコンやウィンドウが押せない状態になってしまいます。
穴が空いてるというより透明な板が1枚あるといった感じです。
レイヤードウィンドウを使ってみようとも思ったのですがいまいち使い方がわかりませんでした…
どうすれば、背面にあるアイコンやウィンドウをクリックすることができるでしょうか?
0404デフォルトの名無しさん
2013/08/11(日) NY:AN:NY.AN0405デフォルトの名無しさん
2013/08/11(日) NY:AN:NY.ANフォームの背景色のアルファ値を0にするだけ
0406デフォルトの名無しさん
2013/08/11(日) NY:AN:NY.ANちょっと調べてみました。なるほどそういう方法もあるんですね。
でも、ウィンドウがAeroじゃなくなってしまう気がします…
>>405
フォームの背景色のアルファ値っていうと
opacityでしょうか?
0407デフォルトの名無しさん
2013/08/11(日) NY:AN:NY.ANうまくいきませんでした…
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.BackColor = Color.FromArgb(0, 0, 0, 0)
End Sub
0408デフォルトの名無しさん
2013/08/11(日) NY:AN:NY.ANちゃんとTransparencyKeyもやってから
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.BackColor = Color.FromArgb(0, Color.YellowGreen)
End Sub
こんなかんじでやるんですね!
ありがとうございます!!!
0409デフォルトの名無しさん
2013/08/11(日) NY:AN:NY.ANControl
ControlDark
ControlDarkDark
使うと書かなくてもちゃんと背面クリックできるようになるんですね…
だれかが悩んだ時のために…
0410デフォルトの名無しさん
2013/08/12(月) NY:AN:NY.ANなにか擬似的に行うテクニックとかないでしょうか?
0411デフォルトの名無しさん
2013/08/13(火) NY:AN:NY.ANディレクティブは使えるでしょ。
要は#IF False ... #Endifで囲む。
まあ全くお勧めはしないけど。
ひょっとして選択行をコメントアウトするキーボードショートカットを知らないんじゃないの?
こっちを使った方がいいと思うけど
0412デフォルトの名無しさん
2013/08/13(火) NY:AN:NY.ANまたは、関数の引数とかのコメントなら
'''
0413デフォルトの名無しさん
2013/08/14(水) NY:AN:NY.AN0414デフォルトの名無しさん
2013/08/15(木) NY:AN:NY.ANvisual studioのデバッグ機能(ブレークポイントなど)を使いたいのですが
どうすれば実現出来ますか?
0415デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN0416デフォルトの名無しさん
2013/08/21(水) NY:AN:NY.ANJavaScriptでポップアップ表示されたダイアログに対して
「はい」 or 「いいえ」
ボタンをクリックする為には、
別のポップアップ監視用のプログラム(Windows API)を用意して
クリックするしかないでしょうか?
例)
メインプログラム.exe ← これでブラウザ起動
ポップアップ監視.exe ← Windows API でポップアップを監視する。
0417デフォルトの名無しさん
2013/08/22(木) NY:AN:NY.ANメッセージボックスなんかで一旦スクリプト止めといて、
VisualStudioでExcelやらWindowsScriptやらにプロセスアタッチすればできるよ
0418デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.ANありがとうございます
0419デフォルトの名無しさん
2013/08/27(火) NY:AN:NY.ANグループボックス内のコレクションの順番がばらばらで上手く処理が行えません
順番を綺麗に直す方法などごありませんか?
0420デフォルトの名無しさん
2013/08/27(火) NY:AN:NY.AN0421デフォルトの名無しさん
2013/08/27(火) NY:AN:NY.ANOracleサーバ使ったアプリを作成しています。
デバッグ実行とexeの動作は確認できたのですが、
出力したexeを別のPCに持っていくと、DBへの接続が出来なくなりました。
ODACだかのdllはexeとセットで持って行っており、
もう一方のPCに入っているODACは開発PCと同じものです。
何が原因で接続できないのか分からず困っているので、お知恵を拝借したいです。
0422デフォルトの名無しさん
2013/08/27(火) NY:AN:NY.AN0423デフォルトの名無しさん
2013/08/27(火) NY:AN:NY.ANもっともな返答ありがとう。
でもごめんなさい。今、手元にソースが無いのです。
エラーログを覚えている限りでは、DataAdapterのFill関数の呼び出しでエラーが発生していたはず。
OracleExceptionの12154番が発生していたはず…。
曖昧なことばかり書いて申し訳ないですが、よろしくお願いします。
0424デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.ANtnsnames.ora見てみる
tnsping撃ってみる
sqlplusとかで繋げてみる
環境変数とユニバーサルインストーラのHOMEパスが違ってないか見る
oracleが複数インストールされてないか見てみる
32bitと64bitが混在してる
辺りから探ってみればー
後はOracleさんに聞いとくれ
0425デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.AN接続できるみたいになればいいのにねぇ
0426デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.AN0427デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.AN日付型の列に値を入れて、その値を消すとDateの初期値の0001/01/01と入ってしまうのですが、
空の場合はDBNullを入れるようにすることは出来ないのでしょうか?
ColumnChangedイベントで初期値ならDBNullを入れるって言うふうにしても初期値が入ってしまいます
0428デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.AN0429デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.ANデータテーブルをバインドするのが一番効率的だろうな
これよりもっといい方法が出てくればいいのにな
0430デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.ANお陰様で解決しました。
環境変数TNS_ADMINの最後にセミコロンがついていたことが原因で通信できなかったようです。
問題自体は解決したのですが、環境変数にセミコロンが「ついている事」が原因で問題が発生した経験が無く
このようなことはよくある話なのか、ご意見を伺いたいです。
0431デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.ANそれをどう扱うかはその環境変数を利用するプログラム次第
0432421
2013/08/28(水) NY:AN:NY.ANあれ?名前出てない…。
421です。昨日はありがとうございました。
>>431
プログラム次第ということは、オラクルのせいですね?
私悪くない!
プログラムしだい
0433デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.ANイベント間違ってるな
ColumnChangingでやればいけるんじゃね
0434デフォルトの名無しさん
2013/09/01(日) 02:36:24.44そのフォームで生成したクラスは、Privateフィールドで良い。
ただし、ゲッタを用意しておく。
もう一つのフォームにはセッタを用意しとく。
2つのフォームはモジュールから管理。
0435デフォルトの名無しさん
2013/09/01(日) 02:40:07.95オブジェクト指向に関しては、Javaで解説されたテキストがほとんど。
オブジェクト指向の考え方自体は、どんな言語でも同じだと思うが。
VB6のように、言語的にまるまるJavaでの文法を適用するのができない
という事もあるが、基本の考え方は同じ。
0436デフォルトの名無しさん
2013/09/03(火) 10:16:23.532000バイトほどの配列データをVB.NETに渡したいのだが方法がわからない。
どうしたらいい?
methodでインデックスを渡して1ワードづつ読み込むって方法は考え付くのだが
ポインターを渡してバッサリ渡すってことはできないのか?
0437デフォルトの名無しさん
2013/09/03(火) 10:21:31.050438デフォルトの名無しさん
2013/09/03(火) 18:00:54.730439デフォルトの名無しさん
2013/09/03(火) 18:05:38.78別にマネージコードで完結する範囲内でやってもいいよ?
0440デフォルトの名無しさん
2013/09/03(火) 21:26:12.99ポインタをIntPtrで受け取ってMarshal.Copy
0441デフォルトの名無しさん
2013/09/03(火) 21:35:11.81こういう場合は呼び出し側でバッファを確保してその先頭アドレスを相手に渡すのが常識。
アンマネージの意味分かってるかね。
0442デフォルトの名無しさん
2013/09/03(火) 21:41:05.03向こうで常に保持してるバッファかもしれないだろ?
情報がないんだからこういう場合もクソもあるかよ
0443デフォルトの名無しさん
2013/09/03(火) 22:14:01.00バッファを確保するライブラリ、俺は見たことない。
そのバッファ、最終的に誰が解放するんだよ。
馬鹿じゃねえの
0444デフォルトの名無しさん
2013/09/03(火) 22:19:19.92アンマネージ側でずっとメモリが保持されててそのポインタを取得することはあるだろ
C/C++には自分で状態持たないライブラリしか無いとでも思ってるのか?
0445デフォルトの名無しさん
2013/09/03(火) 22:25:12.55>アンマネージ側でずっとメモリが保持されててそのポインタを取得することはあるだろ
そんな非常識な設計は普通はしません。
馬鹿だろお前
0446デフォルトの名無しさん
2013/09/03(火) 22:30:06.40アンマネージ側で確保されたメモリ領域に対してポインタ通してアクセスすることになるよね?
System.Drawing.Bitmapなんかもそういう実装ですよ?
何も静的に確保したメモリに限った話じゃない
そういうことを言ってるんだけど馬鹿だろお前
0447デフォルトの名無しさん
2013/09/03(火) 22:32:07.44お、BSTRのCOM全否定か?
0448デフォルトの名無しさん
2013/09/03(火) 22:32:24.770449デフォルトの名無しさん
2013/09/03(火) 22:35:02.96少なくとも言えることは、たった2kBのメモリをコピーするパフォーマンスを惜しんで
そんな無作法な方法を採用するプログラマは1万人に1人もいないよ。
0450デフォルトの名無しさん
2013/09/03(火) 22:38:33.01経験不足か
0451デフォルトの名無しさん
2013/09/03(火) 22:43:55.66Dim p As IntPtr = hoge.GetSomeData()
利用(p)
hoge.Dispose() 'アンマネージリソースが開放される
C++のライブラリのラッパーには普通によくあるよねこういうの
0452デフォルトの名無しさん
2013/09/03(火) 22:54:00.43内部的に>>451のようなことをしているラッパーはかなり多い
アンマネージリソースを持ってる.NETのクラスも含めて、
ある程度複雑なC++のライブラリのラッパーならほとんど全てじゃね
0453デフォルトの名無しさん
2013/09/03(火) 22:54:15.02C++はそうなんだぁ
0454デフォルトの名無しさん
2013/09/03(火) 23:37:44.21パフォーマンスを惜しむと理解されちゃうのか
仕事頼みたくはない人種だな
0455デフォルトの名無しさん
2013/09/04(水) 00:05:31.09というか、そもそも自分がどんな頓珍漢なことを言ってるかすら理解してないんだから
話にならんけど。
0456デフォルトの名無しさん
2013/09/04(水) 00:12:14.07「クラスにラップしてインスタンス破棄時に開放する」という考えが頭になかったんだね
マジで多いから有名なライブラリのラッパーを調べてみるといいよ
0457デフォルトの名無しさん
2013/09/04(水) 00:16:42.500458デフォルトの名無しさん
2013/09/04(水) 10:59:56.520459デフォルトの名無しさん
2013/09/04(水) 14:56:10.52>>455
0460デフォルトの名無しさん
2013/09/04(水) 18:54:18.97馬鹿だろお前
0461デフォルトの名無しさん
2013/09/04(水) 22:48:46.90DirectShowで入力デバイスを列挙する。
ICreateDevEnumのインスタンス作って、CreateClassEnumeratorでVideoInputDeviceCategoryを指定
CreateClassEnumeratorでIEnumMonikerのインスタンスが得られるのでwhileで回しながらNextメソッドでIMonikerを取得
BindToStorageでIPropertyBagのインスタンスを取得してReadで "FriendlyName"を指定して取れた値がカメラのデバイス名
ビデオ入力デバイスを列挙するんでキャプチャーボードとか付いてるとそれも列挙されちゃう
.NETでもDirectX使えるらしいから参考になるかしら、もっと簡単な方法があれば知りたい
0462デフォルトの名無しさん
2013/09/04(水) 23:52:39.22DirectShowをインポートするところまでは出来たのですがその後が分かりません
できればソースコードをお願いします
0463デフォルトの名無しさん
2013/09/05(木) 21:18:01.33フォームアプリでスタートアップはSubMain。
アプリ起動時にコンテキストメニューを表示して項目を選択したら処理って流れにしたいんだけど
下のコードだとデスクトップとか、アプリのコントロール以外の場所をクリックしたときコンテキストメニューが出っぱなしなんです。
普通のコンテキストメニューなら閉じますよね。どうにも気持ち悪くて・・・どなたか解決策をご存じないですか?
ちなみにContextMenuStrip1_ClosedイベントでApplication.ExitThread()を実行してアプリ終了させとります。
Public Class MainClass
<STAThread()> _
Shared Sub Main()
Dim myContextMenu As New UserControl1
myContextMenu.ContextMenuStrip1.Show(Cursor.Position)
Application.Run()
End Sub
End Class
0464デフォルトの名無しさん
2013/09/05(木) 21:29:12.78Application.Run()する前にShowとか駄目っしょ
0465デフォルトの名無しさん
2013/09/05(木) 22:13:56.49キーワードは出てるんだから、後はググればサンプルコードくらい山ほど出てくるよ
0467デフォルトの名無しさん
2013/09/08(日) 17:44:10.07非表示フォームを使うとスマートにかけたりする
0468デフォルトの名無しさん
2013/09/08(日) 18:45:34.810469デフォルトの名無しさん
2013/09/08(日) 23:22:58.97これをVB.NETで復元したいのですがどの様にすれば良いですか?
0470デフォルトの名無しさん
2013/09/08(日) 23:24:00.260471デフォルトの名無しさん
2013/09/08(日) 23:31:33.900472デフォルトの名無しさん
2013/09/08(日) 23:49:44.89コールバックを書く、というのはどういうことでしょうか?
0473デフォルトの名無しさん
2013/09/09(月) 00:12:17.01自分でやるならjsonのフォーマット調べてその通りのプログラム作る
まあ、まずは出来合いのライブラリ探すほうが早いだろうけど
標準だとDataContractJsonSerializerってのがあるらしい。それ以外だと適当にググって探せ
0474デフォルトの名無しさん
2013/09/09(月) 07:36:12.140475デフォルトの名無しさん
2013/09/09(月) 07:41:16.05ふらっとVisual C#,C♯,C#(初心者用) Part104
の304あたりからだ。似てるけど違うか。
0476デフォルトの名無しさん
2013/09/09(月) 08:06:55.750477デフォルトの名無しさん
2013/09/09(月) 16:56:39.82せめて3.5にしてくれないと
0478デフォルトの名無しさん
2013/09/09(月) 17:59:20.26ここを参考にしてある程度はできたのですがString.fromCharCodeのようなメソッドは無いのでしょうか
0479デフォルトの名無しさん
2013/09/09(月) 18:04:28.340480デフォルトの名無しさん
2013/09/09(月) 18:23:51.39以下のようにしたら出来ました
text &= ChrW(Convert.ToInt32(str.Substring(2, 4), 16))
strには「\uXXXX」の形で入っている
0481デフォルトの名無しさん
2013/09/09(月) 21:33:24.58っていうかJSONなら自分で実装しなくてもC#製の既存のライブラリは腐るほどある
0482デフォルトの名無しさん
2013/09/12(木) 18:10:36.14という変数があってJの位置から前に検索していって最初に見つけたAの位置を知りたいのですがどのようにしたら良いでしょうか
LastIndexOfだと最後のAの位置になってしまいます
0483デフォルトの名無しさん
2013/09/12(木) 18:15:15.670484デフォルトの名無しさん
2013/09/12(木) 18:15:54.92↑のは忘れて
0485デフォルトの名無しさん
2013/09/12(木) 18:19:44.020486デフォルトの名無しさん
2013/09/12(木) 18:25:08.590487デフォルトの名無しさん
2013/09/12(木) 18:38:35.02Dim indexOfJ As Integer = str.IndexOf("J") ' str.LastIndexOf("J")
Dim indexOfA As Integer = str.LastIndexOf("A", indexOfJ)
Jが見つからなかったケースは考えてない
0488デフォルトの名無しさん
2013/09/12(木) 18:46:33.69それだと一番最後のAがヒットするよ
0489デフォルトの名無しさん
2013/09/12(木) 18:54:39.090490デフォルトの名無しさん
2013/09/12(木) 18:59:19.63しないよ?
0491デフォルトの名無しさん
2013/09/12(木) 19:04:06.65できました
ありがとうございます
0492デフォルトの名無しさん
2013/09/12(木) 19:18:42.76LastIndexOfはstartIndexの位置から後を検索していって一番最後にヒットした位置を返す
0493デフォルトの名無しさん
2013/09/12(木) 19:22:25.70> この検索では、インスタンスの startIndex の文字位置から開始し、
> value が見つかるか、最初の文字位置に到達するまで、インスタンスの先頭へ
> 向かって逆方向に検索を実行します。
0494デフォルトの名無しさん
2013/09/13(金) 11:07:38.69MsgBox(str.Substring(0, str.IndexOf("J")).LastIndexOf("A"))
0495デフォルトの名無しさん
2013/09/15(日) 12:14:51.220496デフォルトの名無しさん
2013/09/15(日) 13:54:26.86Process.Startで直接起動できない。
.lnkのリンク先を
WSHやIPersistFileとIShellLinkWやWScript.Shellなどを使って取得を試みたが、
C:\Program Files内なのに、C:\Program Files (x86)内のパスを返してきます。
これは、バグらしいので対応できないみたい。
何か方法がありますか?
0497デフォルトの名無しさん
2013/09/15(日) 13:56:14.62OS Windows 8 64bitです。
起動できる.lnkショートカットもあって、できないのは、
64bit版のOneNoteをスタートメニュー内のショートカット(.lnk)からです。
0498デフォルトの名無しさん
2013/09/15(日) 18:47:23.54ファイルによってアドレスが違うんだが。
0499デフォルトの名無しさん
2013/09/15(日) 18:53:53.2099%自分のコードにバグがあるんだろうなー
>Process.Startで直接起動できない。
ShellExecuteは使ってるのかなー
0500デフォルトの名無しさん
2013/09/15(日) 19:24:26.52ここです。
で、
http://support.microsoft.com/kb/976039
ここに書かれてます。英語読めないんでざっと見た感じだけど。。
ShellExecuteは試した気がするんですが、やってみます。
0501デフォルトの名無しさん
2013/09/15(日) 20:19:45.58http://moondoldo.com/DoldoWorkz/?2000%E3%83%BBXP%E3%81%8B%E3%82%89Vista%E3%83%BB7%E3%81%B8%2F64bit
http://delkedo.blogspot.jp/2011/12/64bitprogram-files.html
ShellExecute自身の問題みたいだし、
とりあえずはショートカットを経由しないとか、場当たり的に解決するしかないんじゃないの
0502デフォルトの名無しさん
2013/09/15(日) 21:25:46.96場当たり的な解決しかないですかね。
.lnkの構造からリンク先のパスをバイナリから取得してみます。位置がわからないんだけど。
もしくは、64bit版のランチャーからならできるのかな?
ランチャー作ってるんですが、32bitと64bit版を分ければいいってことかな?
まぁ、やってみよう。
ありがとう。
0503デフォルトの名無しさん
2013/09/15(日) 21:32:12.91Windowsのバグか
リダイレクトしないでいいものまでリダイレクトしちゃうのか
0504デフォルトの名無しさん
2013/09/15(日) 22:09:46.530505デフォルトの名無しさん
2013/09/15(日) 22:17:08.14Process.Start("パス.lnk")
でOKでした。
0506デフォルトの名無しさん
2013/09/22(日) 01:14:45.49配列の部分で以下のようなエラーが出ました。
Public Function gf_GetValue(ByRef strData As String, ByRef aFields() As typDatFields,
ByRef astrDat() As String) As Boolean
' aFields() :項目属性情報
' astrDat() :変換後データ配列
Dim lngLenB As Integer
Dim lngPosB As Integer
Dim lngIx As Integer
lngMx = UBound(aFields)
ReDim astrDat(lngMx)
astrDat(lngIx) = StrConv(MidB$(bytDataCnv, .lngPosB, .lngLenB), vbUnicode) ※
astrDat(lngIx) = Trim$(astrDat(lngIx))
上記VB6.0のプログラムの※の行に関し、「MidB$」と「vbUnicode」がVB.NETで使用不可とのことで
以下のように書き換えました
astrDat(lngIx) = System.Text.Encoding.Unicode.GetString(Mid(strData, .lngPosB, .lngLenB))
→上記のように変更したところ、
「型 'Byte'の値を 'String の1次元配列'に変換できません。」というエラーが出ます。
どう書けばいいのでしょうか?
よろしくお願いいたします。
0507デフォルトの名無しさん
2013/09/22(日) 01:59:53.75うんこみたいなコード(しかもバグってる)の解読を人に丸投げするってどういう神経よ。
bytDataCnvとかいう謎の変数はどっから来てどこへ言っちゃったんだ。
丸投げするんじゃなくて、何がしたいのかだけを端的に質問しろよ
0508デフォルトの名無しさん
2013/09/22(日) 02:07:54.170509デフォルトの名無しさん
2013/09/22(日) 02:11:44.680510デフォルトの名無しさん
2013/09/22(日) 02:40:13.280511デフォルトの名無しさん
2013/09/22(日) 08:59:40.18GetStringの引数はByte()。
Midの戻り値はString。
StringをByte()に変換してByte()をGetStringに渡せばいいはずよ。
こんな感じ。MidBの開始位置は1で、GetStringの開始位置は0。lngPosBは調整する必要があるでしょね。
Dim u As System.Text.Encoding = System.Text.Encoding.Unicode
astrDat(lngIx) = u.GetString(u.GetBytes(strData), .lngPosB, .lngLenB)
0512デフォルトの名無しさん
2013/09/22(日) 10:49:43.630513デフォルトの名無しさん
2013/09/22(日) 17:37:43.160514デフォルトの名無しさん
2013/09/22(日) 17:48:32.90文字取り扱いの根本的なとこを教えてくれよ
0515デフォルトの名無しさん
2013/09/22(日) 19:13:51.14SHIFT-JISをバイトコードにして、オフセット操作して、(UNICODEの)文字に直さないとダメなんじゃないのか
0516デフォルトの名無しさん
2013/09/22(日) 20:06:02.731.入力されたテキストはSHIFT-JISのバイト配列にする
2.項目長定義に従いバイト長で切り出しSHIFT-JISエンコーディングでstringに戻す
こんな感じ。
0517デフォルトの名無しさん
2013/09/22(日) 20:21:48.14全角文字=2バイトが破綻してるのは分かるが残念。
0518デフォルトの名無しさん
2013/09/22(日) 20:45:24.19俺天才すぎるw
Dim str As String = "あいうえお"
Dim bytesData As Byte()
bytesData = System.Text.Encoding.GetEncoding(932).GetBytes(str)
Dim buff As Byte() = New Byte(4) {}
For i As Integer = 0 To 3
buff(i) = bytesData(i + 2)
Next
Dim str2 As String = System.Text.Encoding.GetEncoding(932).GetString(buff)
MsgBox(str2)
0519デフォルトの名無しさん
2013/09/23(月) 01:12:28.88ググれば答え有るよねこれ
0520デフォルトの名無しさん
2013/09/23(月) 02:04:03.640521デフォルトの名無しさん
2013/09/24(火) 00:35:30.02VBで開発したプログラムを64bitコンパイル出来ないのでしょうか?
64bit対応するには正規版でないとダメなのでしょうか?
0522デフォルトの名無しさん
2013/09/24(火) 00:44:57.5164bitコンパイルというが、.NETのアセンブリには32ビットも64ビットも実質的な違いはないぞ
どっちで起動するかという情報があるだけ
0523デフォルトの名無しさん
2013/09/24(火) 00:52:55.81設定の「ビルド構成の詳細を表示」を有効にしたところ、
ビルドに「構成マネージャー」が表示されましたが、
プラットフォームは「AnyCpu」しか選べませんでした。
ビルドしたプログラムを実行すると、タスクマネージャーには
「*32」が付きます。
開発環境は、Windows7 64bitです。
0524デフォルトの名無しさん
2013/09/24(火) 01:01:30.87知らないと訳分からんだろうなw
ググって調べて自分で理解した方がいいと思う。
0525デフォルトの名無しさん
2013/09/24(火) 01:06:08.99ちなみに両対応したいならx64じゃなくてAnyCPU x64 preferedな
0526デフォルトの名無しさん
2013/09/24(火) 01:32:40.46ありがとうございました。
Visual Studio 2008 Expressでは、
•x86
•Itanium
•x64
•anycpu
の4つの選択肢でしたが、x64を選べたので、大満足です。
ありがとうございました。
0527デフォルトの名無しさん
2013/09/26(木) 14:09:35.04ワークスペースに
prjM VBでメイン実行プロジェクト
prjS VBでパラメータ設定プロジェクト
prjDLL VC++でDLL
の三つのプロジェクトをつくって、prjDLLはprjMとprjSの両方でアクセスする
prjDLLにはスタティックな変数のメモリエリアがあってそこにファイルから設定変数を
ロードしている。
問題はprjMを実行している時にファイルから設定1をロードして実行しているのに
実行中にprjSを立ち上げて設定2を編集したいことがある。そうすると実行中のprjMは
当然誤動作をする。これを避けたい。
prjDLLを二つ用意すればいいのだが開発中でしょっちゅう編集するので同じ編集を
二つやりたくない。
編修は一か所でDLLはprjMとprjSが独立に使えるように二つできるような仕掛けはできなの
だろうか?
0528デフォルトの名無しさん
2013/09/26(木) 14:32:48.160529デフォルトの名無しさん
2013/09/26(木) 14:35:04.120530デフォルトの名無しさん
2013/09/26(木) 15:23:20.88帰れ
0531デフォルトの名無しさん
2013/09/26(木) 15:38:22.38見積もりだそうか?
0532デフォルトの名無しさん
2013/09/26(木) 15:38:45.600533デフォルトの名無しさん
2013/09/26(木) 15:46:02.010534デフォルトの名無しさん
2013/09/26(木) 15:49:13.870535デフォルトの名無しさん
2013/09/26(木) 15:57:51.440536デフォルトの名無しさん
2013/09/26(木) 16:04:06.15プロセス違うと同じDLLリンクしてもデータ領域のアドレス空間違わない?
M実行中にSでデータ変更してもMのメモリに影響無さそうだけど。
0537デフォルトの名無しさん
2013/09/26(木) 17:10:59.28あれっ、そうなの? 両方ともFormアプリだよ。
だけどprjMのフォームからprjS.main.DialogShowで立ち上げている。
DLL(VC++)のなかで
public: static void SetKisyumei( String ^ kisyumei)
{
char c_val[1000];
getCstr(c_val,kisyumei);//ストリングをcharに変換する。
strcpy(param.kisyumei, c_val);
}
とやってる。
static がまずいのか?
このparam.kisyumeiというのは昔に誰かが作ったCのプログラムでparamというデカイ構造体を
持っていてそこにファイルからドバっと読み込んで処理している。
そのCプログラムをVC++でラッパしてそれをVBからアクセスしている。
例のSetKisyumeiをVBから直接呼び出す。
0538デフォルトの名無しさん
2013/09/26(木) 17:27:05.66どうわけるのがいい?
1)
prjM
prjS + prjDLL
2)
prjM + prjS
prjDLL
例えば1)のようにソリューションを分けると、
prjMで定義を書いたりとかDLLを呼び出すのがめんどくならない?
0539デフォルトの名無しさん
2013/09/26(木) 17:33:44.43設計する気がないってことだろ
もっと考えてからコード書けよって話だよ
0540デフォルトの名無しさん
2013/09/26(木) 18:25:15.03古いソフト使いたいわけじゃないんだが、そういう状況だし
VC++使いたいわけじゃないんだが、Cをアクセスするには仕方ない
しかもそのためにDLLに自動的になってしまう。
0541デフォルトの名無しさん
2013/09/26(木) 18:29:10.28じゃあ骨のあるDLLをデバッグするのはどうするんだ? WWWW
0542デフォルトの名無しさん
2013/09/26(木) 18:31:14.78prjMはメイン処理してて[設定]ボタンとかでprjS.main.DialogShowしてるって事かな?
prjMからprjSをプロジェクト参照して、フォームを表示してると。
それだと別プロセスじゃないからアドレス空間同じだよね。
アドレス空間同じならstaticなら同じアドレス指すよそりゃ。
これはDLLを2つじゃなくてDLLのインスタンスを2つ作ればいいだけでは。
てか別プロジェクトに分けてるってなら、prjSをビルドしたEXEはどういう動きすんの?
設定画面が単独で出るだけ?
もしそうなら、prjMからは、prjS.main.DialogShowしてるところでprjS.exeを立ち上げる
のが無難かと思うけど。
prjS.exe自体で動かさないなら別プロジェクトにしてる意味が分からない。
0543デフォルトの名無しさん
2013/09/26(木) 18:34:41.76俺デバッグ機能とか使ったこと無いから
0544デフォルトの名無しさん
2013/09/26(木) 19:01:56.21>それだと別プロセスじゃないからアドレス空間同じだよね。
>アドレス空間同じならstaticなら同じアドレス指すよそりゃ。
あっそういうこと。
>これはDLLを2つじゃなくてDLLのインスタンスを2つ作ればいいだけでは。
どうやってインスタンスを二つ作るのか解らん。
prjDLL.clsDLL.SetKisyumei("x1000345.kkk")
これはいけるが
Dim aa As New prjDLL.clsDLL
aa.SetKisyume("x1000345.kkk")
これはだめ。コンパイルエラーになる。
>てか別プロジェクトに分けてるってなら、prjSをビルドしたEXEはどういう動きすんの?
>設定画面が単独で出るだけ?
そう。だけどprjSは非常にデカイソフトでフォームが30個それ以外のクラスが50個くらいある。
>もしそうなら、prjMからは、prjS.main.DialogShowしてるところでprjS.exeを立ち上げる
>のが無難かと思うけど。
>prjS.exe自体で動かさないなら別プロジェクトにしてる意味が分からない。
処理系を設定系と実行系で意味的に分けてる。混在するとややこしくなるから。
0545デフォルトの名無しさん
2013/09/26(木) 19:42:38.97あ〜、prjSにある30個の画面のうち特定の画面だけprjMからShowしてるのか。
ならEXEの起動も難しいな。
ならやっぱり、static止めてクラスインスタンスを作るのがいいと思うが
具体的なやり方スグには分らん。調べて下さいな。
staticじゃなくせば
Dim aa As New prjDLL.clsDLL
aa.SetKisyume("x1000345.kkk")
が出来るかもしれん。できればラッキーやねw
もし、prjSEXEのメイン画面をprjMから起動してるなら前述通りprjMから
System.Diagnostics.Process.Start()でも使ってEXE起動が手っ取り早い。
これだとアドレス空間別になるからね。
0546デフォルトの名無しさん
2013/09/26(木) 20:09:44.540547デフォルトの名無しさん
2013/09/26(木) 20:22:06.39言語との相性ともいうべきものが大きい
0548デフォルトの名無しさん
2013/09/26(木) 20:24:24.78確実に阿鼻叫喚
0549デフォルトの名無しさん
2013/09/27(金) 09:53:19.300550デフォルトの名無しさん
2013/09/27(金) 18:30:11.63したらフォルダ選択ダイアログで躓いた
よ。誰かゲイツの携
帯の番号知らない?
0551デフォルトの名無しさん
2013/09/27(金) 20:34:42.27メソッド名やクラス名を変えても呼び出し元を探し回る手間がいらない
自動でインターフェイス作ってくれる
メソッドの切り出しを全自動でやってくれる
遅延バインディングがあると追跡できないからVBでやると確実に逝くけどね
0552デフォルトの名無しさん
2013/09/27(金) 23:44:52.15http://twitter.com/BillGates
0553デフォルトの名無しさん
2013/09/28(土) 01:49:31.30便利そうだね。
>自動でインターフェイス作ってくれる
これは意味解らん。インターフェースって使ったことが無い。
>メソッドの切り出しを全自動でやってくれる
これはどういう意味?
VB.NETとC#を比較してどっちにしようかと迷って使ってたことがあるけど、インテリセンス
がVBの方が強かったので最近はVB.NETしか使わないが、C#も使い始めたら便利なのかなー。
0554デフォルトの名無しさん
2013/09/28(土) 02:02:21.51高尚な機能を付けてもどうせ使いこなせないから投資するだけ無駄だと判断されたんだろ
0555デフォルトの名無しさん
2013/09/28(土) 05:02:02.610556デフォルトの名無しさん
2013/09/28(土) 08:34:26.53もう楽しくてたまらん。
0557デフォルトの名無しさん
2013/09/28(土) 14:59:10.37リネームだけっていうのは謎だな。
まあ2012まではCodeRushExpressを入れれば問題ないけど、2013以降は金払わないと
どうしようもなくなるのか。
0558デフォルトの名無しさん
2013/09/28(土) 15:09:08.220559デフォルトの名無しさん
2013/09/28(土) 15:45:37.30まああんなの使わないけど。
VB比でC#で気になるのは、リアルタイムのエラー表示機能がC#のはかなりお馬鹿。
0560デフォルトの名無しさん
2013/09/28(土) 15:50:48.29コードスニペットに定型処理が含まれてると言いたかった
C#だとifとかwhileとかだけだからね
善いか悪いかを議論する気はないが、MSによるとVBはC#に比べてコードをコピペする人が多いかららしいよ
0561デフォルトの名無しさん
2013/09/28(土) 22:38:16.560562デフォルトの名無しさん
2013/09/29(日) 00:27:50.13Form1_FormClosingの中にCancelAsync()書くと処理中のものが正常終了するけど、
Form1_FormClosedの中でCancelAsync()だと、処理が中途半端で終わるのよ。
Form1_FormClosedに書くのは間違ってるのかな・・
0563デフォルトの名無しさん
2013/09/29(日) 00:53:35.94その途中でBackgroundWorkerもDisposeされてるんだろ
0564デフォルトの名無しさん
2013/09/29(日) 01:00:02.06また、中途半端で終わるのはAbort(非推奨)かプロセス終了なので、
Thread.CurrentThread.IsBackgroundをfalseにすれば完走すると思う。
画面側で待つかフォアクラウンドスレッドにするかどちらかだね。
0565デフォルトの名無しさん
2013/09/29(日) 02:47:10.23ありがとうございました。無事、解決しました。
画面側で待つようにしたら正常に終了しました。
>>563
>>564
ありがとうございました。
0566デフォルトの名無しさん
2013/09/29(日) 23:30:41.820567デフォルトの名無しさん
2013/09/30(月) 00:32:24.73かわいそうに
0568デフォルトの名無しさん
2013/09/30(月) 17:47:05.63構造文書くと入力が受け付けなくてビックリしたな。N88しか
知らなかったから。リアル・インタプリターだった。
0569デフォルトの名無しさん
2013/10/01(火) 00:47:21.28ことは出来ないでしょうか?
例えば以下の例のように、二次元の配列に初期値を代入したい場合に、
わたしとしては、コンマの位置や}の位置がずれていると見づらいので、
Dim array(,) As String = { _
{"1", "aaaaa"}, _
{"20", "bbb"}, _
{"5", "ccc"}, _
{"100", "ggg"}}
この部分だけは自動整形を中止して、適当にスペースを入れて、コンマや}の位置を
揃えたいのですが。
あるいは、何か良い方法ありますか?
0570デフォルトの名無しさん
2013/10/01(火) 00:50:25.000571デフォルトの名無しさん
2013/10/01(火) 10:17:22.02DataGridViewButtonColumnに設定し、
列の編集画面から、text=選択 と表示名を設定しているのですが
表示が行われません。
下記しか探せませんでした。
�@下記のようにcolumnを追加するか、
Dim column As New DataGridViewButtonColumn()
column.Name = "Button"
column.UseColumnTextForButtonValue = True
column.Text = "選択"
DataGridView1.Columns.Add(column)
�ADataGridView1.Rows.Add()時に、textを設定する
Desinger画面でcolumnを追加し、
exe実行時には、セルに文字が入力されると、
次の行が自動で増える。という機能をそのまま使いたいので、
�@�Aともにあわなくて困ってます。
何か方法はないでしょうか。
0572デフォルトの名無しさん
2013/10/01(火) 19:08:07.65さっさとこの国から出てけ。投げるぞコラ
0573デフォルトの名無しさん
2013/10/01(火) 19:09:57.420574デフォルトの名無しさん
2013/10/01(火) 21:33:43.540575デフォルトの名無しさん
2013/10/01(火) 22:00:04.19>動かないソフトがあり、動かないソフトは、開発言語
>ビジュアルBASICで最新の統合開発環境でそのまま
>コンパイルしたら、Win8で動くようになるのですか
>手直しが必要なものもある
>ケースバイケース
手直しする場合、コンパイラや 統合開発環境が手直しする
ところを教えてくれるのですか?
それとも、自分で見つけなければならないのですか?
0576デフォルトの名無しさん
2013/10/01(火) 22:22:33.44テストや仕様の文書やテストコードが無いようなものは
どうせ今も動いてないのと同じなゴミだ
0577デフォルトの名無しさん
2013/10/02(水) 05:58:06.64どうしてもというなら・・
{" 1", "aaaaa"}, _
{" 20", " bbb"}, _
{" 5", " ccc"}, _
{"100", " ggg"}}
やっておいて簡単に、array(1,1).trim で駄目なの?
0578デフォルトの名無しさん
2013/10/04(金) 03:45:19.51256x256があるものはそれを、48x48までしかないならそれを取りたい。
SHGetFileInfoだと32x32までだった。
SHGetImageList.GetIconだとVista以降なら256x256が取れたが、48x48のサイズのものも左上に小さく表示して256でとってしまう。
これだと使えないので、48のものは48pixでとりたい。
0579デフォルトの名無しさん
2013/10/04(金) 08:27:35.98じゃねーのかハゲ?
0580デフォルトの名無しさん
2013/10/04(金) 17:59:44.66を使ってやってみたら、まぁまぁうまくいったので。
>>578
0581デフォルトの名無しさん
2013/10/05(土) 06:54:27.24これどうすんの?
0582デフォルトの名無しさん
2013/10/05(土) 10:34:00.34Dim ppsi As IShellItem = Nothing
Dim hbitmap As IntPtr = IntPtr.Zero
Dim uuid As New Guid("43826d1e-e718-42ee-bc55-a1e261c37bfe")
SHCreateItemFromParsingName(Path, IntPtr.Zero, uuid, ppsi)
DirectCast(ppsi, IShellItemImageFactory).GetImage(New PicSIZE(Width, Height), MySIIGBF, hbitmap)
Dim dibsection As New DIBSECTION
GetObjectDIBSection(hbitmap, Marshal.SizeOf(dibsection), dibsection)
Dim bmwidth As Integer = dibsection.dsBm.bmWidth
Dim bmheight As Integer = dibsection.dsBm.bmHeight
Dim bm As New Bitmap(bmwidth, bmheight, PixelFormat.Format32bppArgb)
For x As Integer = 0 To bmwidth - 1
For y As Integer = 0 To bmheight - 1
Dim i As Integer = y * bmwidth + x
Dim ptr As IntPtr = dibsection.dsBm.bmBits + (i * Marshal.SizeOf(GetType(RGBQUAD)))
Dim rgbquad As RGBQUAD = CType(Marshal.PtrToStructure(ptr, GetType(RGBQUAD)), RGBQUAD)
If rgbquad.rgbReserved <> 0 Then
bm.SetPixel(x, bmheight - 1 - y, Color.FromArgb(rgbquad.rgbReserved, rgbquad.rgbRed, rgbquad.rgbGreen, rgbquad.rgbBlue))
End If
Next
Next
DeleteObject(hbitmap)
Return bm
End Function
とりあえずこんな感じで>>581
ただ、画質が少し悪いんだわ。。色々うまくいかない
0583sage
2013/10/05(土) 10:41:25.51長いので宣言部分張れないから、ここに書いてあるのを参考にしてくれ。
VB.netじゃないけど。
0586sage
2013/10/05(土) 10:45:38.53Public Interface IShellItemImageFactory
Sub GetImage(ByVal size As PicSIZE, ByVal flags As SIIGBF, ByRef phbm As IntPtr)
End Interface
0587デフォルトの名無しさん
2013/10/06(日) 16:50:24.80Dim req As HttpWebRequest = CType(WebRequest.Create(post_url), HttpWebRequest)
req.Method = "POST"
req.ServicePoint.Expect100Continue = False
req.Referer = Referer
req.UserAgent = UserAgent
req.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
req.ContentType = "application/x-www-form-urlencoded"
req.ContentLength = data.Length
Try
Dim reqStream = req.GetRequestStream()
reqStream.Write(data, 0, data.Length)
reqStream.Close()
Dim res As WebResponse = req.GetResponse()
Dim resStream As Stream = res.GetResponseStream()
Dim sr As StreamReader = New StreamReader(resStream, enc)
Dim resall As String = sr.ReadToEnd()
Return resall
Catch ex As Exception
Return "失敗"
End Try
0588デフォルトの名無しさん
2013/10/06(日) 18:32:01.03に引っかかったんじゃね
WebRequest作る前にServicePointManager.FindServicePointからFalseにしとけば?
0589デフォルトの名無しさん
2013/10/06(日) 23:47:16.08具体的にどうやるのでしょうか
Dim uri As New Uri(post_url)
ServicePointManager.FindServicePoint(uri).Expect100Continue = False
を直前につけてみましたがダメでした
0590デフォルトの名無しさん
2013/10/10(木) 17:52:02.72自分は思い通りにソケット接続できるんだけど、友達はソケット通信が全く接続できないみたいなんです
考えられる原因ってありますか?
0591デフォルトの名無しさん
2013/10/10(木) 18:40:11.630592デフォルトの名無しさん
2013/10/11(金) 02:57:56.680593デフォルトの名無しさん
2013/10/11(金) 23:38:49.27直接フォーム操作していいのかな?
0594デフォルトの名無しさん
2013/10/12(土) 00:21:38.890595デフォルトの名無しさん
2013/10/12(土) 00:30:48.620597デフォルトの名無しさん
2013/10/12(土) 14:12:02.120598デフォルトの名無しさん
2013/10/12(土) 14:17:21.470599デフォルトの名無しさん
2013/10/13(日) 20:55:53.920600デフォルトの名無しさん
2013/10/15(火) 04:50:15.400601デフォルトの名無しさん
2013/10/15(火) 09:57:47.39せっかく使い方覚えたから使おうと思ったらList<T>の編集のしかたがわからん・・・
Dim Kotae As Tekito = List<Tekito>.Find(AddressOf sagase)
で検索結果とって(ここまでは上手くいってる)
Kotae.Youso = "修正なう" & Now.ToString
ってやってもList<Tekito>の中身が修正されてない
参照返してるんなら修正できるはずだよな?
0602601
2013/10/15(火) 10:26:56.76デバッグプリントミスってただけでちゃんと修正できてた
0603デフォルトの名無しさん
2013/10/15(火) 10:40:37.19メソッドの返値は値しか返さない
Kotaeは(TekitoがClassであれば)参照型の値を指す
0604デフォルトの名無しさん
2013/10/15(火) 10:45:03.15はやとちりちゃんw
0605デフォルトの名無しさん
2013/10/15(火) 18:34:04.76イベントが発生したらキーボードフォーカスが自アプリになるようにする方法って何かない?
フォームをActivateしてみたけど帰ってこないよー><
0606デフォルトの名無しさん
2013/10/15(火) 19:01:49.08GetForegroundWindowでアクティブウィンドハンドルを取得して、
GetWindowThreadProcessIdでそのウィンドウが属するスレッドのIDを取得して、
AttachThreadInputでそのスレッドにアタッチして、
SetForegroundWindowで自アプリのウィンドウを最前面にして、
AttachThreadInputでデタッチしておわり。
0607デフォルトの名無しさん
2013/10/15(火) 19:26:20.49AttachThreadInputでググって見つけたコード貼り付けたらうまくいきました!
ありがとう
0608デフォルトの名無しさん
2013/10/16(水) 20:45:06.01恐ろしいアプリつくるなぁ
0609デフォルトの名無しさん
2013/10/19(土) 16:29:28.170610デフォルトの名無しさん
2013/10/21(月) 00:31:15.49Dim RECV_bytesA() As Byte
Dim RECV_bytesB() As Byte
RECV_bytesA = System.Text.Encoding.GetEncoding("SHIFT-JIS").GetBytes("あ")
RECV_bytesB = System.Text.Encoding.GetEncoding("SHIFT-JIS").GetBytes("い")
この二つのバイト型をつなげて、STRING型の変数に"あい"と代入したいのですが
どのようにすればよいのでしょうか。
よろしくお願いします。
0611デフォルトの名無しさん
2013/10/21(月) 00:47:49.88enc.GetBytes(RECV_bytesA) & enc.GetBytes(RECV_bytesB)
0612デフォルトの名無しさん
2013/10/21(月) 01:47:21.75配列を連結して文字列に戻すか、文字列に戻して連結するか
まあ、やりたいのは文字列とか関係なく配列の連結だろ
純粋な配列を連結するようなものはなさそうだから、自分で要素をコピーするとかLinqのConcat使うとか
ググればいっぱいやり方出てくるぞ
>>611
GetBytesじゃなくてGetStringじゃないのか?
0613610
2013/10/21(月) 02:23:33.51で文字列にしてから連結し、改めてByteに戻しました。
今さわっているのが、Windows Compact 7 用の
Frameworkのせいか、微妙にサンプルが動かないものがあって
お聞きしました。
ありがとうございました。
0614デフォルトの名無しさん
2013/10/21(月) 03:30:36.11System.Text.Encoding.GetEncoding("SHIFT-JIS").GetBytes("あ" & "い")
で良いわけだが
文字列にして結合する(そしてまたバイト列にする)にしても、
なぜEncodingつかってバイト配列にしてるのにEncodingで文字列に戻さないのか
特定のエンコーディングで表現できない文字とかどうする気なのかとか
まあ、俺の知った事ではないが
0615デフォルトの名無しさん
2013/10/21(月) 11:15:00.62datagridviewで特定のセルのみ、型変更したいです。
目的は、下記の例でいうと、
入金有無(行2,列1)の箇所を、DataGridViewCheckBoxColumnにし、
check=falseの場合は、列2をReadOnlyにするなど処理を行いたいのですが、
特定のセル(入金有無)の型を変更する方法がわかりません。
行列は固定(全てDataGridViewTextBoxColumn)
行1 請求残高 300
行2 入金有無 100
行3 合計 200
説明のあるサイトへの誘導、もしくは、検索用語などお願いできませんでしょうか。
0616デフォルトの名無しさん
2013/10/21(月) 11:16:29.500617デフォルトの名無しさん
2013/10/21(月) 11:36:39.210618デフォルトの名無しさん
2013/10/21(月) 13:31:00.47セルが特定の状態のときチェックボックスを表示するようにするとか
0619デフォルトの名無しさん
2013/10/21(月) 20:43:24.65遭う俺を何とかしてくれ。
C++やるのは負けだと思ってる。
0620デフォルトの名無しさん
2013/10/21(月) 20:45:39.660621デフォルトの名無しさん
2013/10/21(月) 20:48:49.560622デフォルトの名無しさん
2013/10/21(月) 20:50:32.950623デフォルトの名無しさん
2013/10/21(月) 20:51:55.150624デフォルトの名無しさん
2013/10/21(月) 20:58:28.48汚く見えるんだよな。フォントもメイリオでなくUIゴシック標準だし。
失敗したわ。
0625デフォルトの名無しさん
2013/10/21(月) 20:58:43.35これか?
0626デフォルトの名無しさん
2013/10/21(月) 21:00:19.900627デフォルトの名無しさん
2013/10/21(月) 21:55:32.13プログラムはコピペでやるものと勘違いしている怠惰な初心者には
しかしそれは通用しないんだ。
0628デフォルトの名無しさん
2013/10/22(火) 05:36:46.18P/Invokeするだけだわな
Shell_NotifyIconとNOTIFYICONDATAでぐぐれ
>C++やるのは負けだと思ってる
なんてカッコイイこと言うくらいならできんだろ? あん?
System.Drawing.dllも参照に追加したくないならHICONの扱いも自前でやらなくちゃな
0629デフォルトの名無しさん
2013/10/22(火) 12:41:54.32結局だれも教えれねーんじゃんw
0630デフォルトの名無しさん
2013/10/22(火) 12:45:28.760631デフォルトの名無しさん
2013/10/27(日) 04:13:49.69二つの矢印ボタンを横に2個並べて表示するなんて
出来ないのかな?
[ 数字][↑][↓]
こんな感じに。
0632デフォルトの名無しさん
2013/10/27(日) 09:05:36.97自 分 で つ く れ
0633デフォルトの名無しさん
2013/10/30(水) 21:29:28.08Private Sub Text1_KeyDown(ByVal sender As Object, ByVal e As KeyEventArgs) _
Handles TextBox1.KeyDown
If e.KeyCode = Keys.Enter Then
Return
End If
Return
End Sub
このような感じに考えたのですが上手く行きません
どなたか助言をお願いします。
0634デフォルトの名無しさん
2013/10/30(水) 21:46:01.87KeyPressでvbCrをHandledすればいいよ
0635デフォルトの名無しさん
2013/10/30(水) 23:27:45.03String型ならNullValueいじってなんとかできるけど、Numberとかは、無理なのかね
0636デフォルトの名無しさん
2013/10/31(木) 01:11:34.390637デフォルトの名無しさん
2013/11/02(土) 08:18:40.61ことは出来ませんか?
というのは、formがnewで作られる時に
formの上に載っているcheckboxやnumericalupdown
などのchangeイベントが発生して、それらの関数に飛ぶんですが、
それを避けたいのです。
formのloadが完了したらそういうイベントハンドラ関数を
有効化したいんですが。
0638デフォルトの名無しさん
2013/11/02(土) 09:11:28.69Changedが発生したぐらいで問題になる構成を見直した方が
0639デフォルトの名無しさん
2013/11/02(土) 13:33:19.53初期化中フラグ用意して該当のイベントの先頭で確認するという手もあるにはあるが
0640デフォルトの名無しさん
2013/11/02(土) 15:11:56.97やっぱりフラグ使うしかないのかな。
イベントを停止できれば一番簡単なのですが。
皆さんこういう場合どうしています?
0641デフォルトの名無しさん
2013/11/02(土) 15:16:30.99Formがロード済みかどうかを表すプロパティを作ってそれを参照するか、
またはHandlesを使わずにイベントの紐付けをコードでやるかだよ
0643デフォルトの名無しさん
2013/11/02(土) 17:21:09.53Handles のイベントハンドラーの結びつけってどの段階で行われてるんだろ
C#とか実行時に全部AddHandlerする形のはずだが
コンパイル段階で終わってるなら、AddHandlerとかやるより速度的に有利?
0644デフォルトの名無しさん
2013/11/02(土) 17:50:11.060645デフォルトの名無しさん
2013/11/02(土) 18:39:19.64HandlesはAddHandlerのシンタクスシュガーでしかないんで
プログラマがコードを記述するのは簡単になるけど
処理速度が向上するようなもんじゃないよ。
コンパイル時にコンパイラがHandlesをAddHandlerに書き換えてるだけ。
0646デフォルトの名無しさん
2013/11/02(土) 18:48:48.98どうせInitializeComponentでコントロールに値セットしてイベント発生してるんだろうから
そのタイミングをコントロール出来れば良いんじゃないかと思うんだが
0647デフォルトの名無しさん
2013/11/02(土) 19:15:25.66本当はそんなに単純じゃないけどね。
0648デフォルトの名無しさん
2013/11/02(土) 19:47:52.97ildasmなどで確かめるといいよ
http://ideone.com/YDCzQU
と気になったんだけど、MSのと動作違うな
outputが表示されない
0649デフォルトの名無しさん
2013/11/02(土) 19:52:34.31setterでAddHandlerしてるんだったはず
0650デフォルトの名無しさん
2013/11/02(土) 21:23:14.59そのオブジェクトに対応するHandles句すべて検索してAddHandlerしてるって事?
それだとそっちの方がパフォーマンス的には悪そうだな
まあ、誤差程度の差だろうしハンドルの対応を動的に変更する必要が無いなら
Handles句のほうがすっきりしてて俺は好きだが
0651デフォルトの名無しさん
2013/11/02(土) 21:26:04.24いや別のオブジェクトがセットされるときに前のからは登録解除するから
検索する必要はない
0652デフォルトの名無しさん
2013/11/02(土) 21:39:00.25事が出来るとありがたい。無理かな。
0653デフォルトの名無しさん
2013/11/02(土) 22:12:28.450654デフォルトの名無しさん
2013/11/02(土) 22:17:20.75当然のようにボタンのクリックイベントを発生させようとするのがVBerだからね
0655デフォルトの名無しさん
2013/11/03(日) 00:24:15.770656デフォルトの名無しさん
2013/11/03(日) 00:30:36.04配列のソートはDataSetで
これがVBerやで
0657デフォルトの名無しさん
2013/11/03(日) 00:56:33.36>>648のコードを逆コンパイルしたらこうなった。コンストラクタで行われるみたい。
https://www.evernote.com/shard/s343/sh/b7741184-24e9-4053-af8d-b20d6e5ccc15/6f8e5f9156d3f5147f7d1a547328716c
0658デフォルトの名無しさん
2013/11/03(日) 01:35:58.25コントロールにはイベントが発生しない状態があるんでInitializeComponentで色々弄っても平気なの
0659デフォルトの名無しさん
2013/11/03(日) 02:28:04.70そりゃVBってそういうもんだしな
きっちり作る場合はVB使うなって話で
>>656
そもそも配列を使わないのでソートとかも無い
FlexGridのソート機能は知ってる
そんなのをVB.NETにコンバートすると
>>637みたいな問題がてんこ盛りになるのよね
0660デフォルトの名無しさん
2013/11/03(日) 04:11:50.06イベントが発生しない状態について詳しく
それで>>652の希望がかなうんじゃないのかね
0661デフォルトの名無しさん
2013/11/03(日) 09:02:01.64ごめんBeginInit/EndInitがそういうものだと思ってたんだけど、イベント発生するわw
となるとイベント割り当ての前にプロパティ設定してるから発生しないってだけだね
0662デフォルトの名無しさん
2013/11/03(日) 11:32:36.010663デフォルトの名無しさん
2013/11/03(日) 14:13:18.490664デフォルトの名無しさん
2013/11/03(日) 14:14:20.570665デフォルトの名無しさん
2013/11/03(日) 16:11:58.95動くアプリケーションを求めているんだ
0666デフォルトの名無しさん
2013/11/03(日) 16:17:49.040667デフォルトの名無しさん
2013/11/03(日) 18:19:45.66数年後に自分で書いたコードを解読する手間を考えなければw
0668デフォルトの名無しさん
2013/11/03(日) 19:07:19.89正論スグルw
0669デフォルトの名無しさん
2013/11/03(日) 19:39:57.25いつの話をしてるんだ?w
0670デフォルトの名無しさん
2013/11/04(月) 21:50:35.58コントロールを作りたいのですが、その場合
WndProcをOverrideするのとOnPaintなどを
Overrideするのとで何か違いがありますか?
どっちの方法でも良いですか?何か注意事項
などあれば教えて下さい。
0671デフォルトの名無しさん
2013/11/04(月) 21:54:49.34WndProcなら出来るかもしれんが未定義動作だ
0672デフォルトの名無しさん
2013/11/06(水) 19:21:13.62スマホわJAVAだったからまいったよ
0673デフォルトの名無しさん
2013/11/06(水) 20:14:42.080674デフォルトの名無しさん
2013/11/06(水) 20:18:45.830675デフォルトの名無しさん
2013/11/07(木) 07:34:14.15つまりお前はVB.NETを理解していない
0676デフォルトの名無しさん
2013/11/07(木) 18:23:58.06アセンブリのGUIDは元になったCOMコンポーネントのGUIDをそのまま使った方が良いのか?悪いのか?
出来ればだけどもっともらしい理由を添えてくれたら嬉しい
0677デフォルトの名無しさん
2013/11/07(木) 22:11:50.27GUID変えたほうがいいし、アプリ側はそのままでおkにしたいなら
GUID変えないほうがいいし
0678デフォルトの名無しさん
2013/11/08(金) 15:37:13.85HKEY_CLASSES_ROOT\KusoApuri ← VB6のAppIDとする
HKEY_CLASSES_ROOT\KusoApuri.1 ← VB.NETのAppID
にして……ってCOMのバージョン管理の基本じゃね?
VB6なんかと共存する気がないというなら上書きしちゃえば
0679デフォルトの名無しさん
2013/11/09(土) 23:16:20.42Process.Start("From2.exe")で出来たのですが、この時にいくつかの
パラメータを渡したいのですがどうしたら良いでしょうか?
あるいは、Process.Startを使う以外に良い方法はありますか?
0680デフォルトの名無しさん
2013/11/09(土) 23:29:31.770681デフォルトの名無しさん
2013/11/09(土) 23:58:57.760682デフォルトの名無しさん
2013/11/10(日) 00:01:53.60コメントありがとうございました。
さっそく調べて試したところ、文字列なら渡せたのですが、
もっとたくさんのデータを渡す場合は一般的にどうするのでしょうか?
たとえば、構造体の中身全部とか、配列の中身を全部とか
渡したいのですが。よろしくお願いします。
0683デフォルトの名無しさん
2013/11/10(日) 00:11:04.530684デフォルトの名無しさん
2013/11/10(日) 00:33:33.18ホントに別プロセスでフォーム起動させる必要があるのか?
0685デフォルトの名無しさん
2013/11/10(日) 02:01:50.99COBOLの頃からの伝統的なやり方だ
0686デフォルトの名無しさん
2013/11/10(日) 03:35:34.84データ引き渡しどうしようとか言ってるレベルの人間が設計してうまくいくわけないと思うが
0687デフォルトの名無しさん
2013/11/10(日) 04:14:22.67みなさんコメントありがとうございます。
もともとはForm1だけだったのですが、Form1のプロセスで数分かかる計算させると
Form1が操作できなくなるので、別プロセスで計算させるのが目的です。
Form2はCancelボタンなど配置する予定です。とりあえず
データの受け渡しは、小さなものは引数で、大きなデータはファイルでやってみます。
0688デフォルトの名無しさん
2013/11/10(日) 05:30:31.110689デフォルトの名無しさん
2013/11/10(日) 09:38:49.57VB.NETならそれ別スレッドでやるのが妥当だと思われ
0690デフォルトの名無しさん
2013/11/10(日) 11:01:21.070691デフォルトの名無しさん
2013/11/10(日) 11:08:26.10Task使え
0692デフォルトの名無しさん
2013/11/10(日) 14:31:41.690693デフォルトの名無しさん
2013/11/10(日) 14:46:39.760694デフォルトの名無しさん
2013/11/10(日) 22:46:34.26STAThreadだからな
0695デフォルトの名無しさん
2013/11/10(日) 23:15:21.890696デフォルトの名無しさん
2013/11/10(日) 23:29:48.63アホか
普通に使えるわ
0697デフォルトの名無しさん
2013/11/11(月) 01:12:14.11>Process.Startを使う以外に良い方法はありますか?
全部一個のプロジェクトにするか、Form1のプロジェクトからForm2のexeかプロジェクトに参照設定して
Form1からForm2のインスタンス生成して表示するなりなんなり
0698デフォルトの名無しさん
2013/11/11(月) 08:53:16.64サードのコンポーネントで問題になる場合があるみたい
0699デフォルトの名無しさん
2013/11/11(月) 08:57:35.18Imports System.Threading
Imports System.Windows.Forms
Module Program
<STAThreadAttribute>
Sub Main()
Dim th = new Thread(new ThreadStart(
Sub() Application.Run(new Form() With { .Text = "Form2" })))
th.SetApartmentState(ApartmentState.STA)
th.Start()
Application.Run(new Form() With { .Text = "Form1" })
End Sub
End Module
0700デフォルトの名無しさん
2013/11/11(月) 09:02:39.25アパートメントの設定はスレッド単位だから、
STAが必要なら新しくつくるスレッドのアパートメント設定すればいいよ
>>699はそれをやってる
0701デフォルトの名無しさん
2013/11/11(月) 09:07:11.60STAでも、って抜けてたすまん
0702デフォルトの名無しさん
2013/11/11(月) 10:44:51.79膿んでるな
0703デフォルトの名無しさん
2013/11/11(月) 13:41:40.71それってもしかして、Control.BeginInvokeが必要なケースじゃね?
STA/MTAとは別の話だろ。
0704デフォルトの名無しさん
2013/11/11(月) 18:27:21.06バグを生産するだけ
実行時の効率より開発効率を重視しなさい
0705デフォルトの名無しさん
2013/11/11(月) 20:09:23.50前に見かけたのと違うけどこんなようなやつ。
メインスレッドとは別のスレッドでC1DockingTabを貼り付けたフォームを表示するとエラーが発生する
http://www.grapecity.com/tools/support/technical/knowledge_detail.asp?id=36700
0706デフォルトの名無しさん
2013/11/11(月) 20:22:48.34使える事と、正しく使わないと問題が発生することは矛盾しないぞ
0707デフォルトの名無しさん
2013/11/11(月) 20:34:41.300708デフォルトの名無しさん
2013/11/12(火) 00:04:41.64プリンターのアイコンを「SHGetFileInfo」を使って取得したのですが、
「通常使うプリンター」に設定すると付くチェックマークまで付きます。
このチェックマークのないアイコンを取得する方法があるでしょうか?
0709デフォルトの名無しさん
2013/11/12(火) 05:27:12.48SHGFI_SYSICONINDEXでシステムイメージリスト内のインデックスとって
ImageList系API使えばどうよ
0710デフォルトの名無しさん
2013/11/14(木) 16:48:01.89諸事情でまだ有償ツールの開発ツール(帳票や画面のグリッド関連)に関してはインストールしていません
だからか、各機能すべてビルド時に「LC.EXEはコード-1を伴って終了しました」とエラーとなってしまいます
その後license.licxをプロジェクトから除外しビルドは正常完了しました
しかし、生成したメニュー.EXEを起動すると「適切なlicenseが与えられていない」とエラーが出て、画面起動できません
有償ツールのDLLがあれば、開発ツールのインストールをしなくてもビルド出来ると思っていたのですが、やはり無理でしょうか?
0711デフォルトの名無しさん
2013/11/14(木) 18:19:27.100712デフォルトの名無しさん
2013/11/14(木) 19:15:12.24強いるなよw
LC.exeはライセンスコンパイラ
licxでライセンス有るよって宣言して、ビルド時、
その製品固有の方法で正規購入者かどうかチェックされ、OKならアセンブリにライセンスが付与される。
実行時はそのライセンスが検証され問題あればエラー。
0713デフォルトの名無しさん
2013/11/14(木) 19:34:26.60すみません…
まったくその通りなのですが、色々と事情がありましてorz
>>712
ホワアァア!やはり無理なのですね
回答頂き、ありがとうございました
上司に掛け合ってツール買ってもらいます…
0714デフォルトの名無しさん
2013/11/14(木) 19:38:57.920715デフォルトの名無しさん
2013/11/17(日) 04:11:18.98実行されるのでしょうか?それともBackgroundworkerのスレッドから実行
されるのでしょか?
0716715
2013/11/17(日) 04:13:48.93表現がおかしかったので訂正します。質問は、
Backgroundworkerの RunWorkerCompleted イベントハンドラ関数内で実行したコマンドは、
メインのスレッドから 実行されるのでしょうか?
それともBackgroundworkerのスレッドから実行されるのでしょか?
0717デフォルトの名無しさん
2013/11/17(日) 05:03:36.78メインスレッドがGUIスレッドならメインスレッドで動作する。
そうでないならDoWorkと同じバックグラウンドスレッドで動作する。
0718デフォルトの名無しさん
2013/11/17(日) 10:42:25.95ありがとうございます。
0719デフォルトの名無しさん
2013/11/17(日) 11:54:33.490720デフォルトの名無しさん
2013/11/17(日) 11:57:17.740721デフォルトの名無しさん
2013/11/20(水) 19:08:14.82Static num As Integer
↑のような変数宣言ってC#では無いの?
0722デフォルトの名無しさん
2013/11/20(水) 19:19:02.75無い
Staticってキーワードは意味が違う
0723デフォルトの名無しさん
2013/11/20(水) 19:40:45.47ありがと
0724デフォルトの名無しさん
2013/12/07(土) 00:05:48.76dim test = new String() {"hoge", "fuga", "piyo"}
If (from t in test where t == "piyo").count > 0 then
end if
こんなのを書こうとしたらコンパイル通りませんでした・・・・
rubyのany?みたいなのはないのでしょうか
0725デフォルトの名無しさん
2013/12/07(土) 00:27:30.10ggrksしかなかろう
0726724
2013/12/07(土) 01:11:34.77もっといい方法があるか知りたいのです
dim b = false
for each t in tests
if t = 'piyo' then
b = true
break
end if
next
とか
0727デフォルトの名無しさん
2013/12/07(土) 01:24:21.20なぜかこっちは違ってないね
=
0728724
2013/12/07(土) 01:27:35.741年前までC#やっていて今年いきなりVBやらされたんです
0729724
2013/12/07(土) 01:35:17.24LINQ(ienumerable)で探していたんですが、それ以前にArrayのクラスメソッドだったんですね
0730デフォルトの名無しさん
2013/12/07(土) 02:09:01.180731デフォルトの名無しさん
2013/12/07(土) 16:10:04.730732デフォルトの名無しさん
2013/12/08(日) 14:51:55.710733デフォルトの名無しさん
2013/12/08(日) 15:01:57.830734デフォルトの名無しさん
2013/12/08(日) 15:20:32.67Allは条件に合致する行が全てならtrue
Anyは1行目で合致すればそこで終わる分速いはず
0735デフォルトの名無しさん
2013/12/08(日) 15:35:52.760736デフォルトの名無しさん
2013/12/08(日) 15:39:06.440737デフォルトの名無しさん
2013/12/08(日) 15:46:29.430738デフォルトの名無しさん
2013/12/11(水) 21:14:16.41出来ないでしょうか?
0739デフォルトの名無しさん
2013/12/15(日) 20:07:17.360740デフォルトの名無しさん
2013/12/15(日) 20:09:21.930741デフォルトの名無しさん
2013/12/15(日) 21:29:54.000742デフォルトの名無しさん
2013/12/15(日) 21:34:31.19勝手に想像すると、フォームクラス以上に偉いクラスな気がする。
ググッて勉強してみるか、、、、
0743デフォルトの名無しさん
2013/12/15(日) 21:40:51.410744デフォルトの名無しさん
2013/12/17(火) 16:37:00.41navigateメソッドをループしてもページが切り替わりません。
ループから出たときに初めて切り替わります。
ループないで切り替わるようにしたいんですが解決策をキボンヌ(´・ω・`)
0745デフォルトの名無しさん
2013/12/17(火) 17:00:56.54WebBrowser1.Document.GetElementsByTagName("A").Item(21).InvokeMember("Click") 'サイトのリンクをクリック
Application.DoEvents() '「命令されたことをすぐやれ」という命令 コレでウェブブラウザーを即時表示させる。
OpenWebWait() '読み込み終わりを待つ
'2秒待機して読み込み終わりかを判断するファンクション
Public Function OpenWebWait() As Boolean
Try
'2秒間ほど待機
System.Threading.Thread.Sleep(2000) '2秒間
'読み込み完了まで待つ
Do While (WebBrowser1.IsBusy OrElse _
WebBrowser1.ReadyState <> WebBrowserReadyState.Complete)
'無処理
System.Windows.Forms.Application.DoEvents()
System.Threading.Thread.Sleep(100)
Loop
Return True
Catch ex As Exception
Return False
End Try
End Function
0746デフォルトの名無しさん
2013/12/17(火) 17:11:44.64745さんありがとう
参考にさせてもらいます!
0747デフォルトの名無しさん
2013/12/17(火) 17:24:43.75ばっちりできました
0748デフォルトの名無しさん
2013/12/17(火) 19:33:31.050749デフォルトの名無しさん
2013/12/17(火) 20:52:52.350750デフォルトの名無しさん
2013/12/18(水) 12:20:06.850751デフォルトの名無しさん
2013/12/18(水) 14:06:53.760752デフォルトの名無しさん
2013/12/19(木) 08:57:06.11いつサポートが切れるかわからないので避けた方が良いでしょうね
0753デフォルトの名無しさん
2013/12/19(木) 10:07:42.380754デフォルトの名無しさん
2013/12/19(木) 18:04:08.740755デフォルトの名無しさん
2013/12/19(木) 18:10:27.950756デフォルトの名無しさん
2013/12/19(木) 20:20:08.37一番簡単な方法ってどんなのがある?
オーバーフローチェックをOffにする以外で。
0757デフォルトの名無しさん
2013/12/19(木) 20:33:34.600758デフォルトの名無しさん
2013/12/19(木) 22:44:32.08なんかまどろっこしいな。
もう少し直接的な方法がないものかと思うんだけど。
これだけのために共用体作るのもあほらしいし。
0759デフォルトの名無しさん
2013/12/19(木) 23:49:30.47VB内の演算だけでやるんなら符号によって分岐して計算するしかないんじゃね
0760デフォルトの名無しさん
2013/12/19(木) 23:54:31.81せめてJavaみたいな論理右シフトがあれば何とかなるのにな
せっかく一通りのビット演算子があるのにほとんど使い物にならん
0761760
2013/12/20(金) 00:25:11.98CType(((x << 32) >> 32), Int32)
0762デフォルトの名無しさん
2013/12/20(金) 19:47:01.330763デフォルトの名無しさん
2013/12/20(金) 20:25:57.350764デフォルトの名無しさん
2013/12/21(土) 07:36:13.810765デフォルトの名無しさん
2013/12/21(土) 09:54:35.19人生設計ミスって.Netで設計するような職についたのならいっそ死ねばよかった
ってところかな
0766デフォルトの名無しさん
2013/12/21(土) 10:09:40.90何処かにありませんか?
変数名の付け方や大文字小文字の
使い方など参考にしたいんです。
0767デフォルトの名無しさん
2013/12/21(土) 10:18:20.02ASP.NET MVC なんかMS謹製だし今風で綺麗だよ
そしてC#と同じように書くのがVB.NETの正しい使い方
0768デフォルトの名無しさん
2013/12/21(土) 12:07:03.97vb.netじゃないけど、
x = 1 - x
これでビットもしくはフラグ反転
俺が知ってる最も美しいコードの一つ。
0769デフォルトの名無しさん
2013/12/21(土) 13:23:35.980770デフォルトの名無しさん
2013/12/21(土) 15:19:43.68馬鹿だろお前。
この手のビットフィールド的な処理はアンマネージドコードと連携する時に必要になるに決まってる
0771デフォルトの名無しさん
2013/12/21(土) 18:26:04.06そもそもなんでマネージドな世界でビット長変更してるの?
0772デフォルトの名無しさん
2013/12/21(土) 18:28:38.280773デフォルトの名無しさん
2013/12/21(土) 18:37:10.490774デフォルトの名無しさん
2013/12/21(土) 18:37:57.940775デフォルトの名無しさん
2013/12/21(土) 19:21:11.86情報ありがとうございます。早速見てみます。
ちなみに、『今風』っていうのは、具体的にどんな書き方を指すんでしょうか?
0776デフォルトの名無しさん
2013/12/22(日) 01:15:53.89・ユニットテストを非常に重視
・asyncとかLINQとかラムダとか最近の機能も適切に利用
・MS以外の他のOSSも活用
簡単に言えば全くVBっぽくない書き方ってことだな
0777デフォルトの名無しさん
2013/12/22(日) 05:31:21.260778デフォルトの名無しさん
2013/12/22(日) 11:05:50.090779デフォルトの名無しさん
2013/12/22(日) 12:53:12.20MSのコードはかなりきちんとテストしてるしテストしやすいように設計されてる
0780デフォルトの名無しさん
2013/12/22(日) 13:41:42.950781デフォルトの名無しさん
2013/12/23(月) 13:00:17.280782デフォルトの名無しさん
2013/12/23(月) 13:51:59.350783デフォルトの名無しさん
2013/12/23(月) 18:41:55.510784デフォルトの名無しさん
2013/12/23(月) 18:45:09.37> WebBrowserの通信内容(生パケットまたはHTTPリクエスト)をTextBoxに書き出す方法は無いですか?
httpfox
0785デフォルトの名無しさん
2013/12/25(水) 00:29:05.780786デフォルトの名無しさん
2013/12/25(水) 08:30:18.880787デフォルトの名無しさん
2013/12/26(木) 13:22:03.06子フォーム1がForm1で子フォーム2がForm2だとして
Button1のクリックイベントに
Form2.TextBox1.Text = "test"
と書いたのですがTextBox1には表示されません
試しにForm1にButton2を追加して
MessageBox.Show(Form2.TextBox1.Text)
とやると書かれていないはずなのに test が表示されます
どのようにしたらTextBox1に文字が表示されますか?
0788デフォルトの名無しさん
2013/12/26(木) 13:40:01.62MDI自体をupdateかrefreshしたらどう?
0789デフォルトの名無しさん
2013/12/26(木) 15:02:30.200790デフォルトの名無しさん
2013/12/26(木) 21:37:04.26子フォームを
Dim f As New Form2()
f.Show()
のように New して表示してるなら、
f.TextBox1とForm2.TextBox1は別物。
f.TextBox1.Text = "test" ってしないと変わらない。
0791デフォルトの名無しさん
2013/12/26(木) 23:12:23.70その仕様は誰かを幸せにできたのか?
0792デフォルトの名無しさん
2013/12/27(金) 01:09:46.59中途半端にデフォルトインスタンスなんて糞を導入したからおかしくなった
0793デフォルトの名無しさん
2013/12/27(金) 02:21:45.70出来ました
ありがとうございます
0794デフォルトの名無しさん
2013/12/27(金) 02:45:19.07入門サイトを教えてください
0795デフォルトの名無しさん
2013/12/27(金) 02:46:15.41どちらを使うべきですか?
0796デフォルトの名無しさん
2013/12/27(金) 03:28:16.600797デフォルトの名無しさん
2013/12/27(金) 07:49:49.96どっちが優れてるかはともかく、VBでWPF使う奴なんかいない
そもそも先に進めないからかこそVBに固執してるんだから
0798デフォルトの名無しさん
2013/12/27(金) 07:58:39.960799デフォルトの名無しさん
2013/12/27(金) 22:27:25.92C#の入門サイトや本読んでC#から入るのがおすすめ
その上で必要ならVBに乗り換えるのがベスト
VBから入ると頭悪くなる
0800デフォルトの名無しさん
2013/12/27(金) 22:37:01.90書いてる本人もよく分かってなかったりする
特にオブジェクト指向の学習なんて全く望めない
0801デフォルトの名無しさん
2013/12/28(土) 00:05:02.12出来ればタダのライブラリがいいです
0802デフォルトの名無しさん
2013/12/28(土) 02:01:45.160803デフォルトの名無しさん
2013/12/28(土) 10:17:17.38ランタイムは.NET版あるし文法ファイルも探せばどっかに転がってるでしょ
0804デフォルトの名無しさん
2013/12/28(土) 15:09:08.010805デフォルトの名無しさん
2013/12/28(土) 19:30:37.38Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
End Sub
の部分って、不要になったらエディタで削除してしまってもかまいませんか?
それとも削除する為に必要な特別な手順などあるでしょうか?
0806デフォルトの名無しさん
2013/12/28(土) 19:43:00.95そもそも不要なダブルクリックとかするなよとは思うが
0807デフォルトの名無しさん
2013/12/28(土) 19:45:53.310808デフォルトの名無しさん
2013/12/28(土) 20:05:52.82ProgressChangedの処理が終わる前に新しいReportProgressで呼ばれた場合どうなるの?
ProgressChangedの処理が終了してから逐次実行?
0809デフォルトの名無しさん
2013/12/28(土) 20:17:49.560810デフォルトの名無しさん
2013/12/28(土) 21:24:53.77ありがとう
0811デフォルトの名無しさん
2013/12/29(日) 04:20:52.72俺使ってるけど、何を根拠に言ってんの?
0812デフォルトの名無しさん
2013/12/29(日) 11:10:45.41おこなの?
0813デフォルトの名無しさん
2013/12/29(日) 11:39:25.75ネットで調べるときほとんどC#のコードしかないのは自分でよくわかってるだろ?
無理しなくていいんだぞ
0814デフォルトの名無しさん
2013/12/29(日) 12:13:07.42だから誰も使ってないって何を根拠に言ってんの?
ググれはWPF+VB.NETのコードなんか当たり前に出てくるけど
0815デフォルトの名無しさん
2013/12/29(日) 12:16:01.89別にネットの文献がC#だけでも困らないよ普通
0816デフォルトの名無しさん
2013/12/29(日) 12:19:38.00むしろ凄いと思うわ
0817デフォルトの名無しさん
2013/12/29(日) 12:23:14.90どっちが優れてるかはともかく、VBでWPF使う奴なんか殆どいない
こうすれば良かったのか?
自然言語なんだから空気や行間読んで欲しい
その前に根拠は書いてあるじゃん
>そもそも先に進めないからかこそVBに固執してるんだから
思い込みだけど否定は出来んな
0818デフォルトの名無しさん
2013/12/29(日) 12:35:33.53自演くせぇなぁ
0819デフォルトの名無しさん
2013/12/29(日) 12:43:15.90仕事だったらVBごりってくる客もいるしどっちも使うわ、どっちも使った上で言うけど差なんかねぇよ
C#に夢見過ぎてんじゃねぇの?
0820デフォルトの名無しさん
2013/12/29(日) 13:12:36.44一般論としては正解だと思う
その実、C#とVBは本質的には同じだから、プログラマならどちらでもいけるだろう
というのも正しい
はい論破
0821デフォルトの名無しさん
2013/12/29(日) 13:23:56.99俺はカーリーブラケットでブロックを表す書き方が好きじゃないからVBには頑張って欲しかったんだが、
2005のジェネリックとかまでは我慢して使ってたけど、2008のラムダが決定的だけど、
最近では何を書くにも冗長なVBの悪いところが目立つ間違った方向に進歩しちゃった印象が強いな。
VB6からのマイグレーションという役割はもう十分果たしたし、初心者にとって
C#より優しいかと言えばそれもない(むしろレガシーを引きずってる分カオスで分かりにくい)
わけで、もうVBは打ち切りでもいいかもと思ってる。
0822デフォルトの名無しさん
2013/12/29(日) 13:48:12.29とはいえ、VBのラムダ式って分かりやすいけど・・・ソースの見栄え悪いw
MS的には差をなくそうとがんばってるような気がしなくもない
0823デフォルトの名無しさん
2013/12/29(日) 14:02:49.18Dim使うんじゃなくてAutoとかキーワード変えればよかったのに
0824デフォルトの名無しさん
2013/12/29(日) 14:08:55.32Objectと大差ない
可読性最悪になるし解析もやりにくくなる
0825デフォルトの名無しさん
2013/12/29(日) 14:23:55.38まあ、だからこそVBには不要とも言えるわけだが...
0826デフォルトの名無しさん
2013/12/29(日) 16:24:43.74書く分には推論された型による入力支援とか型チェックとか大きな差があるぞ
俺は型推論専用の型を作るべきだったんじゃないかと思うが、フレームワークの型との整合性を考えてそうしてないのかな
0827デフォルトの名無しさん
2013/12/29(日) 16:26:29.10保守性最悪になるよ
0828デフォルトの名無しさん
2013/12/29(日) 16:52:38.740829デフォルトの名無しさん
2013/12/29(日) 17:55:13.420830デフォルトの名無しさん
2013/12/29(日) 17:56:19.71C#じゃないやつでお願いします
0831デフォルトの名無しさん
2013/12/30(月) 04:31:24.12拡張子 .sdf というファイルが知らないうちに出てきたんですが、
これはなんでしょうか?
消しても勝手に作られます。
0832デフォルトの名無しさん
2013/12/30(月) 16:58:51.53http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12118670967
知恵袋で質問したんですけどバグで質問一覧に出てきません 誰か見て回答してください
0833デフォルトの名無しさん
2013/12/30(月) 17:07:05.680834デフォルトの名無しさん
2013/12/30(月) 17:12:59.55努力・根性・粘り ゆとりよガンガレ!!!
0835デフォルトの名無しさん
2013/12/30(月) 22:14:06.21SQL Server Compact Edition のデータファイルらしいぞ
0836デフォルトの名無しさん
2013/12/30(月) 23:24:07.8345MBもあるんですが、消しても消しても作られます。
何か設定をいじった記憶も無いし、出てくる理由が分からなくて、
困っています。
VB.NETの単純なFormアプリなのでSQLサーバーなんか、全く
関係ありません。困りました。
0837デフォルトの名無しさん
2013/12/31(火) 00:02:58.61C++のやつとか平気で100MB超えるぞ
そのファイル生成しないってのはたぶんできない
0838デフォルトの名無しさん
2013/12/31(火) 00:58:05.65コメントありがとうございます。
その.sdfファイルは、ある日突然作られるようになったのです。
私が何かの設定を知らないうちに有効にしてしまったのかもしれません。
困りました。
0839デフォルトの名無しさん
2013/12/31(火) 01:00:16.680840デフォルトの名無しさん
2013/12/31(火) 01:12:08.82Collection.RemoveAll(Function(a) a=True)
でいいやん
0841832
2013/12/31(火) 02:17:15.440842デフォルトの名無しさん
2013/12/31(火) 05:54:23.440843デフォルトの名無しさん
2013/12/31(火) 22:02:35.940844デフォルトの名無しさん
2013/12/31(火) 22:05:14.470845デフォルトの名無しさん
2013/12/31(火) 22:11:58.420846デフォルトの名無しさん
2014/01/04(土) 03:28:38.39どこを探せばいいですか?
0847デフォルトの名無しさん
2014/01/04(土) 07:37:29.23つかVSはまずMSDN見ろよ
ググるのはその後だ
0848某社内SE
2014/01/04(土) 20:29:56.40VB.netではaccessでいうサブフォームがないのですが、
カスタムコントロールというものでやるのでしょうか?
やりたいことは、一つのもととなるものを作って継承したいのですが。
0849デフォルトの名無しさん
2014/01/04(土) 20:52:27.140850デフォルトの名無しさん
2014/01/05(日) 00:58:29.94のページの、
『参照型を値渡しした時と参照渡しした時の違いが分かる例を以下に示します。』
という項目で、実行結果が
'「りんご! / ぶどう」と表示される
という理由が分かりません。
『バナナ』はどこへ行ったんでしょうか?
分かりやすく解説お願いします。
0851デフォルトの名無しさん
2014/01/05(日) 01:53:26.66いちいちリンクとか開きたくない
0852デフォルトの名無しさん
2014/01/05(日) 03:06:21.08DoSomething内の話ね
arg1の参照先の内容を変更するのと、
arg1の参照先そのものを変更するのでは違うんだよ
0853デフォルトの名無しさん
2014/01/05(日) 03:08:15.99byvalは家を渡す
byrefは住所を渡す
そんなもんさ
0854デフォルトの名無しさん
2014/01/05(日) 04:06:12.65参照型の変数(ref1)には、データが直接格納されず、データへの参照情報(実体のメモリ位置)が格納される。
それをByValで渡すと「データへの参照情報」のコピーが変数arg1に渡されることになる。
コピーしたものなので参照先を「バナナ」に書き換えても元のref1の参照先は変わらない。
図にするとこんな感じ
ttp://imgur.com/vlsaecd
0855某社内SE
2014/01/05(日) 04:45:09.26ユーザコントロールですか。
0856850
2014/01/05(日) 11:30:41.15頂きまして大変ありがとうございます。
朝からずっと図とソースコードを見比べながら考えていて、
8割くらい理解できたように思うのですが、
まだ完全には分かっていません。
DoSomethingの中で
arg1 = New StringBuilder("バナナ")
としても、呼び出し元のMain()には影響ないのに、
arg1.Append("!")
でarg1に付けた『!』がどうしてMain()の中の『りんご』にくっ付くのでしょうか?
ちなみに、StringBuilderではなくて、全部Stringで試してみたら、実行結果は、
StringBuilderの場合:りんご! / ぶどう
Stringの場合: りんご / ぶどう
となって『!』はりんごに付きません。だめだ分からない。
0857デフォルトの名無しさん
2014/01/05(日) 11:40:09.46StringにAppendメソッドなんてないんだからStringで代用することはできないだろう
0858850
2014/01/05(日) 11:44:51.58>StringにAppendメソッドなんてないんだからStringで代用することはできないだろう
arg1 &= "!"
としてみました。
0859デフォルトの名無しさん
2014/01/05(日) 11:50:51.80それは arg1 = arg1 & "!" と等価
この動作は、
1. 新しい文字列の領域を確保する
2. 1.で確保した場所にarg1をコピーし、続いてその後に"!"をコピーする
2. 1.で確保した領域の場所をarg1へ代入する
コピーして新しいのを作ってるだけなので、
もともとarg1に入っていた値(つまり元々のStringオブジェクトの場所)が指すStringオブジェクトには影響を及ぼさない
0860デフォルトの名無しさん
2014/01/05(日) 11:58:32.281. Appendメソッドを呼び出す
ただし、第一引数(隠し引数)にはarg1の値(つまりarg1が指すStringBuilderオブジェクトの場所)を渡し、
第二引数には文字列"!"の場所を渡す
2. Appendメソッドがarg1が指す場所を参照し、末尾に"!"を追加するようにその内容を変更する
かな
0861デフォルトの名無しさん
2014/01/05(日) 13:57:33.60ラジオボタン(8個)やチェックボックス(9個)上にフォーカスがある時にカーソルキーやスペースキーが押されると
コントロールの選択状態が変わりますがこれを無効にしたいと思ってます
ネット上でググると「KeyDownイベントを利用してKeyCodeを判定しe.HandledプロパティをTrueにする」
という方法が載ってたので
Private Sub Controls_KeyDown(sender As System.Object, e As System.Windows.Forms.KeyEventArgs) Handles CheckBox1.KeyDown, _
CheckBox2.KeyDown, CheckBox3.KeyDown, CheckBox4.KeyDown, CheckBox5.KeyDown, CheckBox6.KeyDown, CheckBox7.KeyDown, _
CheckBox8.KeyDown, CheckBox9.KeyDown, RadioButton1.KeyDown, RadioButton2.KeyDown, RadioButton3.KeyDown, RadioButton4.KeyDown, _
RadioButton5.KeyDown, RadioButton6.KeyDown, RadioButton7.KeyDown, RadioButton8.KeyDown
If (e.KeyCode = Keys.Down Or e.KeyCode = Keys.Up Or e.KeyCode = Keys.Right Or e.KeyCode = Keys.Left Or e.KeyCode = Keys.Enter Or e.KeyCode = Keys.Space) Then
e.Handled = True
End If
End Sub
としてみたのですがうまくいきませんでした
プロシージャを宣言した行にブレークポイントを設定後、デバッグしてチェックボックスをクリックした状態でスペースキーを押すとIfのところで実行が止まるので、
KeyDownイベントは発生するけれどキー入力が無効にされる前にチェックボックスのON/OFFが切り替わってるようです
一方でラジオボタンにフォーカスがある状態でカーソルキーを押した場合はブレークポイントで停止しないのでどうもKeyDownイベント自体が発生してない感じで
ちょっとお手上げ状態です
どうにかラジオボタンとチェックボックス上でのこれらのキー入力を無効にしたいので知恵を貸してもらえれば幸いです
長くなりましたがよろしくお願いします
0862デフォルトの名無しさん
2014/01/05(日) 14:13:10.650863デフォルトの名無しさん
2014/01/05(日) 14:14:55.50FormのProcessDialogKeyをオーバーライドしてActiveControlが何か判断した上で
無効化したいときにTrue返すようにすれば良いけど
うわぁ鬱陶しいUI
0864デフォルトの名無しさん
2014/01/05(日) 14:24:49.74即レス感謝
AutoCheckをFalseにするのが簡単そうなのでちょっとやってみます
>うわぁ鬱陶しいUI
実際使ってみてキーボード操作でチェックボックスやラジオボタンを変更することはなかったので問題ないかなと
3次元空間で自機を操作するシミュレータで、カーソルキーもスペースキーも自機の操作で使い、チェックボックスと
ラジオボタンは視点変更や描画対象の選択に使うだけなので、自機を操作するたびに視点や描画対象が
コロコロ変わったりするのが鬱陶しかったので入力を無効にしたいと思った次第です
0865デフォルトの名無しさん
2014/01/05(日) 14:37:31.81それならそもそも入力フォーカスを持たないようにするべきだろうね。
方法はCheckBoxを継承してコンストラクタかどこかでSetStyleを呼んでやるだけ。
0866864
2014/01/05(日) 17:36:29.94フォーカスを持たせないようにするのは最初に考えたのですが方法が分からなかったので挫折してました
ただ、チェックボックスについては>>862のやり方でうまくいったのですが、ラジオボタンはAutoCheckをFalseにすると
「複数の中から1つを選ぶ」という機能まで失われてしまってチェック状態の管理がいろいろとカオスになることが発覚
結局>>865のキーワードでググったところそのものずばりのやり方がヒットしたので、その方法でチェックボックスと
ラジオボタンを継承してフォーカスを受け付けないようにすることで解決できました
レスをくれた方々どうもサンクスでした
0867850
2014/01/06(月) 12:26:24.50たびたび詳しい説明ありがとうございました。
体調崩して休んでいました。
お礼遅くなりましてみすません。
StringとStringBuilderの場合での挙動のちがいも理解できました。
ありがとうございます。
0868デフォルトの名無しさん
2014/01/06(月) 22:56:34.85やりたいことは、「変更内容を保存しますか?」という質問メッセージを表示して、
これから行うアクションを、例えば、「保存する」「保存しない」「キャンセル」などで表示したいです。
0869デフォルトの名無しさん
2014/01/06(月) 23:01:08.230870デフォルトの名無しさん
2014/01/07(火) 08:25:45.86これはアホな俺でもわかる。
0871デフォルトの名無しさん
2014/01/08(水) 22:37:45.18System.Diagnostics.Process.Start("http://url.com")
↑編集前のモノ こっちは開く
System.Diagnostics.Process.Start(Textbox1.txt)
↑編集後のもの 開かない
これは何故でしょうか。ファイル名が指定されていないため、プロセスを開始できません。とメッセージが出ます。
0872デフォルトの名無しさん
2014/01/08(水) 22:42:55.78該当行でブレークさせてTextbox1.txtとやらを確認してみれば
0873デフォルトの名無しさん
2014/01/12(日) 18:36:47.860874デフォルトの名無しさん
2014/01/13(月) 00:56:47.24という文字列(String型)があってこれを
Dim numbers(9, 1) As Integer
に格納したいのですがどのようにすればいいでしょうか
0875デフォルトの名無しさん
2014/01/13(月) 01:00:55.710876デフォルトの名無しさん
2014/01/13(月) 01:03:37.850877デフォルトの名無しさん
2014/01/13(月) 03:06:42.86どう使うのですか?
0878デフォルトの名無しさん
2014/01/13(月) 15:11:20.960879デフォルトの名無しさん
2014/01/13(月) 15:29:03.310880デフォルトの名無しさん
2014/01/13(月) 15:33:17.190881デフォルトの名無しさん
2014/01/13(月) 16:30:19.54最初から関数の中でコンパイルするって言ってるんだが
0882デフォルトの名無しさん
2014/01/13(月) 17:11:15.460883デフォルトの名無しさん
2014/01/13(月) 17:27:11.680884デフォルトの名無しさん
2014/01/13(月) 17:41:20.84今時の若者はjavaや.netを最初に学ぶから圧倒的に自力が足りない
だからこんな簡単な問題も解くことが出来ない
0885デフォルトの名無しさん
2014/01/13(月) 17:48:48.11Dim s As String = "{{0,1},{2,3},{4,5},{6,7},{8,9},{10,11},{12,13},{14,15},{16,17},{18,19}}"
s = s.Replace("{", "").Replace("}", "")
Dim numbers(9, 1) As Integer
Dim i As Integer = 0
Dim j As Integer = 0
For Each a As String In s.Split(",")
numbers(i, j) = a
j += 1
If j > 1 Then
j = 0
i += 1
End If
Next
0886デフォルトの名無しさん
2014/01/13(月) 22:34:23.940887デフォルトの名無しさん
2014/01/13(月) 23:22:57.470888デフォルトの名無しさん
2014/01/14(火) 00:13:41.95そもそも、こんな問題を解く必要がないんだよ
APIのひとつでも覚えたほうが、もしくはエクセルを正方形にする方法でも覚えたほうが役に立つ
0889デフォルトの名無しさん
2014/01/14(火) 01:19:23.15サードパーティは使いたくないじゃん
.net fwに無いだろ?
0890デフォルトの名無しさん
2014/01/15(水) 22:18:14.31>エクセルを正方形にする
この言い方をする人達に共通する面白い特徴が有るよね。
0891デフォルトの名無しさん
2014/01/15(水) 22:58:39.30統計的に言ってるだよね?
母数はいかほど?
0892デフォルトの名無しさん
2014/01/16(木) 00:03:27.450893デフォルトの名無しさん
2014/01/16(木) 00:31:59.81さん付けぐらいしなさいよ
仮に年上だとしても礼儀よ
0894デフォルトの名無しさん
2014/01/16(木) 01:01:09.71全部俺じゃね?
俺ぐらいになると文章にオーラあるから
エクセルを正方形にしなくても文章みればすぐ俺だってわかるよ
24時間ずっとム板やマ板に張り付いてるし
0895デフォルトの名無しさん
2014/01/16(木) 02:02:20.050896デフォルトの名無しさん
2014/01/16(木) 22:40:31.22扱えるということですが、例えば
Public Enum myEnum
A = &H0
B = &H1
C = &H2
End Enum
とすると、<Flags()> を付けても付けなくても
Dim x As Integer = myEnum.A Or myEnum.B
のように計算できるのですが、<Flags()> を付けるのは何のためですか?
0897デフォルトの名無しさん
2014/01/16(木) 22:43:19.180898デフォルトの名無しさん
2014/01/16(木) 22:49:43.00myEnum.A.ToString
をdebug.printしてみたのですが、<Flags()>があっても無くても
A
と表示されます。挙動が変わらないんですが。
私何か勘違いしていますか?
0899デフォルトの名無しさん
2014/01/16(木) 22:56:01.37Orしろよ
何のためのフラグだと思ってるんだ
0900デフォルトの名無しさん
2014/01/17(金) 10:46:59.12おはようございます。
今、さっそくOrしてみたのですが、
Dim x As Integer = myEnum.A Or myEnum.B
Debug.Print("x.ToString={0}", x.ToString)
を実行すると
x.ToString=1
と表示されます。<Flags()> が有っても無くても変わりません。
まだ<Flags()> の意味が分かりません。教えてください。
0901デフォルトの名無しさん
2014/01/17(金) 10:51:46.69あと0 Or 1は1つまりmyEnum.BになるからmyEnum.Aが出現する余地はない
0902デフォルトの名無しさん
2014/01/17(金) 11:16:27.10ありがとうございます。0,1,2ではなく1,2,4にして以下のようにやってみたら
<Flags()> _
Public Enum myEnum
A = &H1
B = &H2
C = &H4
End Enum
Debug.Print("A Or B Or C={0}", myEnum.A Or myEnum.B Or myEnum.C)
A Or B Or C=A, B, C <--<Flags()>あり
A Or B Or C=7 <--<Flags()>なし
となりました。これで良いのでしょうか?
0903デフォルトの名無しさん
2014/01/17(金) 18:30:29.09i番目のメンバーの名前や値を取り出すにはどうすれば良いのでしょうか?
例えばmyEnum に対して、3番目の "C" やその値4を取り出したいのですが。
0904デフォルトの名無しさん
2014/01/17(金) 18:44:07.43Type::GetFieldsで配列は取れるけどどういう順番で格納されるかは未定義
なんでそんなことしたいのか書けば代案を提案できるかもね
0905デフォルトの名無しさん
2014/01/17(金) 20:39:57.59dim strArray() as string = myEnum,getValues()
dim thirdStr as string = strArray(2)
dim thirdKeyVal as integer = [Enum].parse(myEnum,thirdStr)
0906デフォルトの名無しさん
2014/01/17(金) 21:36:59.15正しい正しくないと言い出したらgetValueの大文字小文字が正しくないし
String()じゃなくて変数名の方に()付けて配列にしてるのも正しくない
0907デフォルトの名無しさん
2014/01/17(金) 21:50:52.760908デフォルトの名無しさん
2014/01/17(金) 21:54:58.030909デフォルトの名無しさん
2014/01/17(金) 21:58:27.76ideが自動でメソッド名補完するからいいんだよ。
口ばかりの無能が。
0910デフォルトの名無しさん
2014/01/17(金) 22:02:07.37http://msdn.microsoft.com/ja-jp/library/system.enum.getvalues%28v=vs.110%29.aspx?cs-save-lang=1&cs-lang=vb#code-snippet-2
ただ戻り値はArray型だった。
>>906 すまぬ。
0911デフォルトの名無しさん
2014/01/17(金) 22:05:42.63変数名に()付けられるのは単なるシンタックスシュガーで、VB.NETに配列変数は無い
0912デフォルトの名無しさん
2014/01/17(金) 23:33:28.82<Flags>
Enum ABC
XX = 0 : AA = 1 : BB = 2 : CC = 4 : DD = 8
End Enum
Sub Main()
Dim huga = CType(System.Enum.Parse(GetType(ABC), "AA, CC"), ABC)
Console.WriteLine("{0:D} : {0}", huga)
End Sub
0913デフォルトの名無しさん
2014/01/20(月) 21:29:34.12Classで分けていればNamespaceで分ける必要があまり感じられないのですが、
一般に、どういう場面で使うのでしょうか?大規模な開発でしか使わないのでしょうか?
0914デフォルトの名無しさん
2014/01/20(月) 21:34:06.62アプリケーション作るときはあまり気にしない
0915デフォルトの名無しさん
2014/01/20(月) 22:25:19.92名前がかぶらないように分類しとく程度の意味しかないな。
0916デフォルトの名無しさん
2014/01/21(火) 13:46:50.83説明ありがとうございました。
0917デフォルトの名無しさん
2014/01/21(火) 21:18:06.36少なくとも開発が身内で閉じてる場合について言えば、
名前空間は名前のバッティングを防ぐためというより、ファイルシステムのディレクトリと同じように
型を意味論的に分類する目的で使う。
(だからC#ではcsファイルを新規作成した時、自動生成されるスケルトンの
名前空間はそのファイルの入っているフォルダの階層になる)
0918デフォルトの名無しさん
2014/01/21(火) 21:41:19.51それはVSの機能であってC#の機能ではないんだが
意味的に分類してるからフォルダ構造にそうわけでもないし
フォルダ構造にそってるから意味的に分類されてるわけではない
意味論的に分類しようが何的に分類しようが好きにしたまえ
0919デフォルトの名無しさん
2014/01/21(火) 21:43:37.870920デフォルトの名無しさん
2014/01/22(水) 11:21:14.07javaメインの奴が迷ってた
VBの場合、moduleをnamespaceに押し込める役割があるかな
0921デフォルトの名無しさん
2014/01/22(水) 12:16:23.500922デフォルトの名無しさん
2014/01/22(水) 13:17:23.03internalじゃなくてVBはFriend・・・別に友達じゃないがな。
0923デフォルトの名無しさん
2014/01/22(水) 22:25:56.38objList.Add("first")
objList.Add("second")
objList.Add("third")
の時に、objListをString配列に変換したいのですが、
スマートな方法ありますか?
objListがList(Of String)ならobjList.toArrayで出来たのですが
List(Of Object)だとうまく行きません。
0924デフォルトの名無しさん
2014/01/22(水) 22:31:06.070925デフォルトの名無しさん
2014/01/22(水) 22:34:32.07MSDNライブラリのList<T>のメンバー一覧見た?
それともまだ.NET2.0使ってるの?
0926デフォルトの名無しさん
2014/01/22(水) 22:37:59.110927デフォルトの名無しさん
2014/01/22(水) 22:51:17.36>>925
>MSDNライブラリのList<T>のメンバー一覧見た?
ふだん調べるときはググッてサンプルコードを探すことが多いのですが、
MSDNの説明は難しいのであまり見ません。やはり皆さんは何か調べる時には
MSDNの説明をまず最初にチェックするのでしょうか?
>>926
ありがとうございました。無事出来ました。ところで
()
を取っても動いたのですが、この()はどういう意味があるのでしょか?
0928デフォルトの名無しさん
2014/01/22(水) 22:52:17.22.NET3.5使っています。
0929デフォルトの名無しさん
2014/01/22(水) 22:58:47.16String以外が入ってたらどうするんだろう
0930デフォルトの名無しさん
2014/01/22(水) 23:45:02.690931デフォルトの名無しさん
2014/01/22(水) 23:55:33.390932デフォルトの名無しさん
2014/01/23(木) 06:05:03.100933デフォルトの名無しさん
2014/01/23(木) 09:50:30.170934デフォルトの名無しさん
2014/01/24(金) 15:49:47.88Catch
End Try
というのは、安全のためには全ての関数に入れておくべきでしょうか?
例外が出そうにない関数にまでTry〜Catchを入れると何か弊害はありますか?
0935デフォルトの名無しさん
2014/01/24(金) 16:20:21.57弊害とか気にするのはもっとまともに使えるようになってからでいい
0936デフォルトの名無しさん
2014/01/24(金) 18:05:30.96特殊な例外以外はキャッチできるでしょ
フォーム開始にしてるような奴はしらん
0937デフォルトの名無しさん
2014/01/24(金) 21:22:59.09例外は回復可能なところでキャッチが基本
対処できないならキャッチしてはいけない
0938デフォルトの名無しさん
2014/01/24(金) 22:12:10.26これ考えだしたやつをロ兄いたい
更にVB.NETでも使えるようにしたやつもロ兄いたい
0939デフォルトの名無しさん
2014/01/24(金) 22:21:23.54考慮に入れて作ってあれば>>937でいいんだけど、VBだからなあ
CloseするのにUsingやFinally使ってないなんて普通だし、
とりあえずエラーが出ても継続したほうがまだマシかもしれない
0940デフォルトの名無しさん
2014/01/25(土) 14:20:15.57捕捉されない例外があればプログラムは強制終了されるのだからDisposeも糞もない。
というか例外という機構のそもそもの目的はこれなんですが。
0941デフォルトの名無しさん
2014/01/25(土) 14:25:58.43例えば深いところの例外をフォームのイベントハンドラでキャッチすれば
エラーメッセージ出して処理続行できるでしょ
深いところのGUIと無関係な箇所でメッセージボックス出したりすると
汎用性が下がってしまう
適切に処理できる場所まで戻って回復できるのが例外の利点だよ
そのためには、例外に直接関知しないコードも例外安全でないといけない
0942デフォルトの名無しさん
2014/01/25(土) 14:33:24.84何を言ってるのかよくわからないが、俺(940)は>>939がいわゆる「例外の握りつぶし」
を推奨するようなことを言ってるから、それは間違ってるよと指摘しただけ。
0943デフォルトの名無しさん
2014/01/25(土) 14:38:40.100944デフォルトの名無しさん
2014/01/25(土) 14:39:25.15例外安全って例外を無視するってことじゃないぞ?
>>940が例外安全は無意味だと読めてしまうようなことを言ってるから、
それは間違ってるよと指摘しただけ。
上の方でキャッチして適切に回復するには、
その途中経路は例外が起こって突然終了しても問題が残ったままにならないようにしておく必要がある
0945デフォルトの名無しさん
2014/01/25(土) 14:41:03.78これだけ会話が成立しない人も珍しいな
0946デフォルトの名無しさん
2014/01/25(土) 14:46:17.770947デフォルトの名無しさん
2014/01/25(土) 14:48:57.19プログラムが終了してもリソースが解放されないとでも思ってるのかよ馬鹿だね
0948デフォルトの名無しさん
2014/01/25(土) 14:54:00.56Try
B()
Catch ex As HogeException
エラーメッセージ出す(ex)
End Try
Sub B
アンマネージリソース確保()
C()
アンマネージリソース解放()
なんで常にプログラムが強制終了する前提になってるの?
これでCがHogeExceptionを投げたらリソースがリークしたまま続行してしまう
だからBのリソース解放はFinallyでやる必要がある
なんか難しいか?
0949デフォルトの名無しさん
2014/01/25(土) 14:57:54.40想定してない例外が発生した場合にそれを握りつぶしてよいかどうかって話をしてるんだけど。
想定してない例外を無理に補足してどうする。
そんなものは放置してプログラムが強制終了されるに任せるべき。
もちろんユーザーにその旨を通知するのは問題ないが、それ以上の処理は何もすべきでない。
0950デフォルトの名無しさん
2014/01/25(土) 15:02:54.40>>944はプログラムのどこかでは回復可能だがその場では処理するべきでない例外についての話をしている
だから話が噛み合わない
0952デフォルトの名無しさん
2014/01/25(土) 15:22:04.43大抵の例外はエラーメッセージ出して続行しても本来問題ないはずだけどな
>>948のコードみたいなことをしないできちんと作ってあればの話だけど
本当に最悪なのは呼び出し階層の深いところでのいいかげんな握り潰し
0953デフォルトの名無しさん
2014/01/25(土) 17:23:33.98だけ入れておくようにします。
ありがとうございました。
0954デフォルトの名無しさん
2014/01/25(土) 18:16:45.240955デフォルトの名無しさん
2014/01/26(日) 20:28:07.65さすがhoge厨
低品質なコード晒す知恵遅れ
0956デフォルトの名無しさん
2014/01/26(日) 20:29:10.560957デフォルトの名無しさん
2014/01/27(月) 15:50:17.40という文字列を代入したいのですが、うまく行きません。
どうしたら良いでしょうか?
0958デフォルトの名無しさん
2014/01/27(月) 15:57:07.950959デフォルトの名無しさん
2014/01/27(月) 16:00:11.250960デフォルトの名無しさん
2014/01/27(月) 19:17:11.640961デフォルトの名無しさん
2014/01/27(月) 19:50:57.451.1の頃から気になってたけど、たぶん今更もう直せないんだろう。
0962デフォルトの名無しさん
2014/01/27(月) 20:59:36.11業務でエクセル使ってカーブフィッティングして
多項式の係数をはじき出すようなVBAを使っていて
それをVB.netに移植したいのだけど
エクセルにあるようなグラフや解析の機能って
VB.netにはあるでしょうか?それとも自作必須ですか?
0963デフォルトの名無しさん
2014/01/27(月) 21:14:51.56カーブフィッティングくらい自分で実装しろ
0964デフォルトの名無しさん
2014/01/28(火) 18:53:58.12Process.Start('ファイルパス')
上記だと、終了まで待機しないような記事もありますが、実行すると終了するまで待機してしまいます。
0965デフォルトの名無しさん
2014/01/28(火) 18:58:44.52プロセス起こすのに時間掛かってるだけとかじゃない?
0966デフォルトの名無しさん
2014/01/28(火) 19:12:32.73あぁっ!?ぬあんだと!
こちとら何回確認したと思ってんだ!!
って憤慨しつつもレス見たんで仕方なしに改めて再度確認したら待機していませんでした。。
ええ、まったく。
ありがとうございます。
0967デフォルトの名無しさん
2014/01/28(火) 20:15:29.960968デフォルトの名無しさん
2014/01/28(火) 20:45:33.22Y = 1.0 / X
XがいくらよりしたになったらYは1.#infになりますか?
0969デフォルトの名無しさん
2014/01/31(金) 15:41:47.64明らかにCase Elseの場合は起こらないときには省くべきかなと思いますが、
それが勘違いで、もし万一Case Elseの場合が起きるとバグの原因になりますし。
どうすべきでしょうか?
0970デフォルトの名無しさん
2014/01/31(金) 15:51:33.96以降のコードが対応できないだけだろう。
0971デフォルトの名無しさん
2014/01/31(金) 16:37:37.35どの道勘違いしてたらバグで氏ぬことには変わらないんだから
0972デフォルトの名無しさん
2014/01/31(金) 18:16:14.03やりたい処理があるなら書けばいいし、やりたい処理がないなら、Case Else書く必要はないだろ
0973デフォルトの名無しさん
2014/01/31(金) 19:16:52.92って書いてるんだから、Elseだったらバグ出さないためにはやりたくなくてもやらなきゃいけない処理があるんだろう多分
0974デフォルトの名無しさん
2014/01/31(金) 20:15:14.07は?w
勘違いで起こるって書いてあるにゃんよ
0975デフォルトの名無しさん
2014/01/31(金) 23:14:41.330976デフォルトの名無しさん
2014/01/31(金) 23:15:42.15throw new NotImplementedException("○○の値が××の時の処理は実装されていません。")
みたいな例外を投げたら?
Caseを書き忘れていた場合など予想していなかった状態になったら
その場で処理を中断させたほうがいいと思う。
0977デフォルトの名無しさん
2014/01/31(金) 23:23:03.920978デフォルトの名無しさん
2014/01/31(金) 23:27:34.41アサートしろアサート
基本だろうが
0979デフォルトの名無しさん
2014/02/01(土) 00:08:42.42全員釣られるなw
0980デフォルトの名無しさん
2014/02/01(土) 00:51:44.65いやのっとさぽーてっどだろjk
0981デフォルトの名無しさん
2014/02/01(土) 07:15:53.80アサートってデバッグビルドのときだけだろ?
0982デフォルトの名無しさん
2014/02/01(土) 10:33:23.04素人は発言するなよ
0983デフォルトの名無しさん
2014/02/01(土) 11:17:25.120984デフォルトの名無しさん
2014/02/01(土) 12:58:05.610985デフォルトの名無しさん
2014/02/01(土) 13:38:35.900986デフォルトの名無しさん
2014/02/01(土) 14:56:25.76Enum enum1 As Integer
a = 1
b = 2
c = 3
End Enum
Sub Main()
Dim x As enum1 = 4
test(x)
End Sub
Sub test(ByVal x As enum1)
Select Case x
Case enum1.a
'処理 a
Case enum1.b
'処理 b
Case enum1.c
'処理 c
End Select
End Sub
End Module
例えばこういう場合、どうでしょうか?
予期していない4が来た場合に備えて、Case Elseを使って何かメッセージなど
出すべきでしょうか?
0987デフォルトの名無しさん
2014/02/01(土) 15:04:18.16そんなこと一般論でどうすべきなんて言えない。
ケースバイケースで自分の頭で何が最善か考えろよ馬鹿臭い。
0988デフォルトの名無しさん
2014/02/01(土) 15:11:56.99列挙型のメンバだけ弄ってメソッドの修正を忘れるというのはまあ無いだろうからどっちでもいいんじゃないの
大事なのは>>987の言ってるように目的を理解して頭で考えることだよ
まあ「〜するべき」という話でいうなら
クラスの下に列挙型をネストしてクラス外に見せるのはそもそもMSのルールに違反するんだが
0989デフォルトの名無しさん
2014/02/01(土) 15:17:12.99責任の境界線がどこにあるかで決まる。
sub testがライブラリの外から使うような代物ならチェックしてしかるべきだろうし、
自分しか使わんとかモジュールの中で完結するようならいちいちチェックはしない。
開発途中ならassertはよい方法。
0990デフォルトの名無しさん
2014/02/02(日) 08:30:11.040991デフォルトの名無しさん
2014/02/02(日) 08:45:35.160992デフォルトの名無しさん
2014/02/02(日) 12:31:46.850993デフォルトの名無しさん
2014/02/02(日) 12:32:34.570994デフォルトの名無しさん
2014/02/02(日) 15:02:48.200995デフォルトの名無しさん
2014/02/02(日) 15:24:20.310996デフォルトの名無しさん
2014/02/02(日) 15:44:46.380997デフォルトの名無しさん
2014/02/02(日) 16:02:51.080998デフォルトの名無しさん
2014/02/02(日) 18:03:44.69プログラムを上げた場合、ご教示願えますか?
0999デフォルトの名無しさん
2014/02/02(日) 18:16:15.83さあ、鳴いて晒すんだ!りゅうよ〜
1000デフォルトの名無しさん
2014/02/02(日) 18:27:10.6710011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。