VB.NET質問スレ(Part43) [無断転載禁止]©2ch.net

レス数が950を超えています。1000を超えると書き込みができなくなります。
1デフォルトの名無しさん
垢版 |
2016/06/15(水) 11:41:09.50ID:bPj3FmGk
前スレ

VB.NET質問スレ(Part40)
http://toro.2ch.net/test/read.cgi/tech/1365857015/
VB.NET質問スレ(Part41)
http://peace.2ch.net/test/read.cgi/tech/1391334405/
VB.NET質問スレ(Part42)
http://echo.2ch.net/test/read.cgi/tech/1419148239/
2017/12/23(土) 18:30:01.78ID:De0LpaYa
>>870
とりあえずcsvをデータテーブルに入れデータグリッドビューに表示は出来るのですが、Linqが難しく書けません。
教えていただけませんか?

5件以下のレコードだけ表示の間違いでした。
2017/12/24(日) 07:37:12.94ID:hpg5RGLX
「GROUP BY キー」して、「HAVING 5件以下」して、「SelectMany」するだけだろ?
どこが難しいんだ?
2017/12/24(日) 08:51:11.82ID:26rA4GtJ
結果的に同じになればいいんだったら処理は遅くてもやり方はいろいろあると思う。
2017/12/24(日) 12:14:59.40ID:qNqolCPw
>>873
linqで抽出した後に、データグリッドビューに表示が出来なくて何が悪いのか理解できず諦めました。
結局csvに対してsql文を書いて873さんの言う通りGroup ByとHavingで実装いたしました。
お騒がせしてしまい、すみませんでした。
2018/01/08(月) 08:29:11.48ID:UszQx08Q
datagridviewで集計処理をやりたいです。
具体的には、項目毎の小計行をdatagridviewへ追加して、最終行に総計を出したいと思っています。

Forループでやってみたのですが、小計行を追加すると最終行が変わってしまい最終行まで処理を行えません。
Doループでやってみようと考えたのですが、最終行判定方法が分かりません。

datagridviewで上記の様な集計を行う方法を教えてください。
2018/01/08(月) 17:50:23.27ID:4DzBbICP
データを行追加しながら小計や総計を出せば最終行を気にする必要はないと思いますが
2018/01/08(月) 19:38:43.65ID:UszQx08Q
>>877
datatableをバインドしているのですが、datatableから1レコードづつ追加して小計行を入れる感じでしょうか?
2018/01/21(日) 17:49:05.41ID:xVt4kZ2y
<例1>
dim a As decimal = "0.12340000"

Console.WriteLine (a)
⇒0.12340000

<例2>
dim a As decimal = 0.12340000
Console.WriteLine (a)
⇒0.1234

<理想>
dim a As decimal = "0.12340000"

Console.WriteLine (a)
⇒0.1234

理想のように出力させる方法ってないでしょうか
2018/01/21(日) 18:19:11.18ID:RCjuWkB1
>>879
Console.WriteLine(a.ToString("G29"))
または
Console.WriteLine("{0:G29}", a)
2018/01/21(日) 19:42:04.55ID:xVt4kZ2y
すいません、書き方が悪かったです。

出力させると言うよりは、
dim a As decimal = "0.12340000"
の宣言後にa=0.1234と内部的に認識?させたいです。
文字列変換時のformatは使いたくありません

decimal等に一度キャストして再度decimalに戻せば消えるんでしょうか
2018/01/21(日) 22:12:27.71ID:PGD2ovYS
むしろ後続のゼロを保持するDecimalで勝手に後ろの0を消す
VBのエディタだかコンパイラだかに問題があるけど

Decimal.Parse(a.ToString("G29"))でもすれば
2018/01/21(日) 22:16:38.18ID:8mbnCibk
何が言いたいのか何がしたいのかさっぱりわからんけど、
そもそも文字列リテラルでdecimalを初期化するのが間違ってる
2018/01/22(月) 09:16:19.77ID:26rmQH+m
Dim a As String = "0.12340000"
Dim b As Decimal = CDec(a)

これでええで
2018/01/22(月) 20:18:35.99ID:AesY7cS1
Decimalって後続ゼロを保持してるとかいう仕様なんだが
実際の小数点以下桁数については、取得するメソッドとかすら用意されてないぽいよな
なんでそんな片手落ちな仕様なんだろ
2018/01/22(月) 21:11:58.46ID:BhdsaoHH
>>885
これで取得できるみたい

Dim a = Decimal.Parse("0.12340000")
Dim len = Decimal.GetBits(a)(3) >> 16 And &HF
Console.WriteLine(len) ' 8
2018/01/23(火) 21:18:21.91ID:NPbHldMa
関係あるようでないけどsqlserverのnumeric型に1とかを格納して1.000000になるのって防げないよね?
Decimalに代入して扱うとずっとゼロが残るもんで
ToString("G29")を全部に書き加えたんだけど、もっと頭の良い方法あったなら死にたい
2018/01/23(火) 21:52:20.10ID:8AbQh9Sj
(1) 必要もないのにDecimalなんか使わない

(2) 必要な精度に合わせて丸めることを覚える(実数型っていうのはそうやって使う)
2018/01/23(火) 22:09:43.15ID:NPbHldMa
Oracleだと後続ゼロは勝手に除去するし面倒やね
2018/01/24(水) 01:20:12.88ID:FR3L8fOM
>>887
SQL ServerのNumeric型は指定精度の固定小数点だし、そんなことになるか?
どうやって取得してるのか、簡単なコードあっぷしてくれ
2018/01/25(木) 21:17:36.29ID:kHl9XEzA
すんません、.net nativeってどうなったんですかね?
2018/01/26(金) 00:31:48.81ID:xgA/ZrEm
>>890
datareader経由で普通に取得してた記憶がある
テーブルに格納した時点でnumericなら1.000000~みたいになるし、それがむしろ正常なのでは?
893デフォルトの名無しさん
垢版 |
2018/01/27(土) 10:54:23.24ID:blSbszVf
Dim pic As PictureBox = New PictureBox
pic.Width = PictureBox3.Width
pic.Height = PictureBox3.Height
pic.Top = PictureBox3.Top
pic.Left = PictureBox3.Left
pic.BackColor = cs.GroupColor
こんな感じでインスタンスを作ってその位置と外形だけ複製したいのだがなんかよい方法ない?
2018/01/27(土) 15:01:31.82ID:1CQ9r5Ku
それでいいんじゃないの?
895デフォルトの名無しさん
垢版 |
2018/01/27(土) 15:15:21.70ID:blSbszVf
だめだ。 もっとスマートな方法はある。何か考えろ。
デリゲート使って簡単にできんか?
それとか、、、コピーモードもあるはず
2018/01/27(土) 15:42:24.58ID:zlVwMk+1
そんな汎用的じゃない処理がライブラリにあるわけないでしょ
世の中自分を中心に回ってるとか思ってる?
897デフォルトの名無しさん
垢版 |
2018/01/27(土) 16:36:34.58ID:blSbszVf
PictureBOxにコピーコンストラクタを追加する。
dim pic as picturebox = new ExPictureBox(PictureBox3)
みたいなことはできんか?
898デフォルトの名無しさん
垢版 |
2018/01/27(土) 16:56:15.88ID:blSbszVf
Class exPictureBox
Inherits PictureBox
Sub New(pp As exPictureBox)
MyClass.Width = pp.Width
MyClass.Height = pp.Height
MyClass.Top = pp.Top
MyClass.Left = pp.Left
End Sub
End Class
これをPictureBoxにキャストはできんのかなー
899デフォルトの名無しさん
垢版 |
2018/01/27(土) 17:06:40.08ID:blSbszVf
「継承のルールによると、派生オブジェクトは常に基本クラスの変数に代入できると規定
されています。」

できる筈だが、エラーになるな。
2018/01/27(土) 17:36:25.08ID:zlVwMk+1
>>899
マジボケ?
コンストラクタの引数の型はPictureBoxにしないとダメなんじゃないの?

それから、そんなつまらん処理のためにいちいち新しい型を作るとか無駄。
せいぜい拡張メソッドでいいでしょ

Public Module Exetnsions
  <Extension()> _
  Public Function GetMimic(p as PictureBox) as PictureBox
    ....
  End Function
End Module
901デフォルトの名無しさん
垢版 |
2018/01/27(土) 18:02:03.55ID:blSbszVf
でけたーーー。サンクス。w
902デフォルトの名無しさん
垢版 |
2018/01/27(土) 18:17:58.54ID:blSbszVf
IIf(count Mod 2, leftp = GroupBox4.Left, leftp = GroupBox3.Left:top += ctl.Height

これってなにか良い方法ない?
2018/01/27(土) 18:50:33.41ID:zlVwMk+1
そんなものない。だから、世の中君を中心に回ってない。
ついでに言うと、それもダメ。もう全然ダメ
それ意図した通り動かないはずだからやってみ
904デフォルトの名無しさん
垢版 |
2018/01/27(土) 22:38:38.55ID:blSbszVf
ある。ぜったいにある。考えてみ。
2018/01/28(日) 14:37:36.58ID:GdggbAq+
教えてくださいだろ
2018/01/29(月) 01:02:44.26ID:T4IzQ9lA
IIF嫌いだわ
2018/01/29(月) 02:58:03.61ID:SBGh1g9E
可能であれば If 演算子を使ったほうがいい
2018/01/29(月) 11:23:57.86ID:Zkbe25Yq
何かずっと頭おかしいのが荒らしまくってたんだね
909デフォルトの名無しさん
垢版 |
2018/02/12(月) 14:10:49.62ID:pRrQ7Rw0
なんか廃れてるけど質問ここでいいのかな

初心者向けの本買って、
その通りにサンプルアプリ作ってるんですけど、
TextBoxコントロール入れて、fontプロパティをメイリオの16pt、
Sizeプロパティを55,55にしろってのがあるんだけど、
その通りにするとSizeが55.39に勝手になってしまって高さが55になりません

多分フォントサイズに自動的に高さを合わせてるから39に勝手になってるんだろうけど、
どうすれば高さも55になりますか?
2018/02/12(月) 18:44:24.45ID:EjSCFOs0
>>909
テキストボックスの右上の方にちっちゃい右向きの三角の記号あって▶そこクリックでMultiLineっていうの出てこない?
もしくはテキストボックスのプロパティからMultiLineをtrueにする
911最近VB2017使い始めました
垢版 |
2018/03/04(日) 10:59:53.34ID:/0SDFJ7N
VB2010使ってて最近2017使い始めたのですが、ショートカットキーでCTRL+↑してもプロシジャーの先頭に移動しません。
どなたか教えてくださいませ。
2018/03/04(日) 20:58:02.16ID:rxRBgFzI
excelシートみたいなのの無償で使えるコンポーネントない?
2018/03/08(木) 17:50:00.92ID:V+SVDdKN
Excelは無料じゃないんやで
2018/03/08(木) 18:17:28.34ID:yp+c4Bcu
>>913
日本語わかりますか?
2018/03/09(金) 06:52:37.89ID:7JwIVN63
vbにあったようなやつ
916デフォルトの名無しさん
垢版 |
2018/03/11(日) 15:20:09.39ID:U/Qy0RW3
VB初心者です。

下記のコードでアプリケーション起動時に
1.データテーブルを作成
2.CSVファイルからデータテーブルへデータを読み込み
3.データテーブルのデータをデータグリッドビューへ表示
としています。ここまでは完成しています。

アプリケーション上にデータの追加ボタンbtn_add_Clickを作成してアプリケーション上からデータをリストへ追加していきたいです。
DataTableにデータを追加して、そのデータをデータグリッドビューへ表示したいのですがどのようなコードにすればいいでしょうか?
ご教示お願い致します。
入力フォームはすでに作っていて、テキストボックスA、B、C、Dとその入力されたデータをもとに内容が変わるラベルE、Dがあります。

長文すぎて書き込み拒否されるのでコードはリンク先で失礼します。
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q13187386258
2018/03/11(日) 18:11:33.14ID:GnsUw/H6
DataSourceのDataTableに追加するコードをButtonのクリックイベントに書けばいい。
DataGridViewにバインドしているから反映される。
コードからバインドされたDataGridViewには追加出来ないからSourceに追加する。
918デフォルトの名無しさん
垢版 |
2018/03/11(日) 20:33:05.73ID:U/Qy0RW3
>>917
回答ありがとうございます。
いろいろ調べてDataTableに追加しようとしましたがうまくできず
DataTableと別にDataTable2をつくってDataTableと結合→DataGridViewに表示しようとしたのですがそれもでうまくできませんでした。

DataTableに追加するか
DataTable2を作成、DataTableとDataTable2を結合
のどちらかの例文を教えて頂けないでしょうか?
よろしくお願いいたします。
2018/03/11(日) 20:49:13.97ID:AaTTZdyn
DGVしゃ足りないんだからそれこそエクセル(クローン)しか無いだろ
でも.NetじゃOLE出来ないしなー
(表示だけならWebBrowserで出来るみたいだけど)
2018/03/11(日) 21:35:19.22ID:GnsUw/H6
>>918
Dim tbl As New DataTable(“table”)
Dim row As DataRow

'1列目
row = tbl.NewRow
row("Item1") = "A1"
row("Item2") = "A2"
row("Item3") = "A3"
tbl.Rows.Add(row)

'2列目
row = tbl.NewRow
row("Item1") = "B1"
row("Item2") = "B2"
row("Item3") = "B3"
tbl.Rows.Add(row)

'途中挿入
row = tbl.NewRow
row("Item1") = "C1"
row("Item2") = "C2"
row("Item3") = "C3"
tbl.Rows.InsertAt(row, 1)

みたいな感じで出来ない?
921デフォルトの名無しさん
垢版 |
2018/03/12(月) 06:35:19.03ID:Lx3T/3bw
>>920
参考にして少し弄ったらできました。
ありがとうございます。

新たな壁に直面して
DataTableをCSVファイルで保存したいのですがうまくいきません。
ご教示願います。
2018/03/12(月) 06:48:40.25ID:PUJRPThX
>>921
https://dobon.net/vb/dotnet/file/writecsvfile.html

に書かれています。
923デフォルトの名無しさん
垢版 |
2018/03/12(月) 10:04:37.18ID:Lx3T/3bw
>>922
そのコードはどうすればボタンクリックイベントにできますか?
2018/03/12(月) 12:29:50.31ID:GSF7SLW7
クリックイベントで、ConvertDataTableToCsvにデータテーブルとcsvのパスとヘッダーを書き込むならTrueを渡して呼び出すだけ。
925デフォルトの名無しさん
垢版 |
2018/03/12(月) 13:35:16.64ID:Lx3T/3bw
>>924

パラメーターdt ,svPath,writeHeaderに対して引数が指定されていませんとエラーがでるのですがどうすればいいですか?



Private Sub btn_hozon_Click(sender As Object, e As EventArgs) Handles btn_hozon.Click

ConvertDataTableToCsv

End Sub
2018/03/12(月) 17:50:12.84ID:GSF7SLW7
>>925
ConvertDataTableToCsv(DataTable(“table”),”C:\test.csv”,True)
みたいにして引数を渡して呼び出せばいいです。
ファイル名やデータテーブル名などは、自分の環境に合わせて下さい。
927デフォルトの名無しさん
垢版 |
2018/03/12(月) 18:03:33.00ID:Lx3T/3bw
>>926
ありがとうございます。
一応保存には成功しました。

しかし、一番最期の行が消えてしまいます(CSVに保存されていない)

どうすればいいですか?
2018/03/12(月) 18:28:22.27ID:r8WIsdXf
プログラムを直せばいいんじゃね
2018/03/12(月) 19:05:44.46ID:5D2himS5
For文2回使って地道にやったほうが速そうだなw
930デフォルトの名無しさん
垢版 |
2018/03/16(金) 14:29:21.01ID:Eci7cEig
DataGridView上の特定の文字列のセルの文字色を変更したいですがやり方がわかりません。

例えば5列目1行目と5行目にAAAがあってこれを赤色、5列目3行目と4行目にBBBがあってこれを青色、といった感じで文字色変更したいです。

下記のコードでセルを選んで文字色を変えることには成功しましたがここからどのようにすれば、AAAやBBBといった文字列のセルの文字色を変更できるかがわかりません。

Me.database.Item(5, 1).Style.ForeColor = Color.Red
2018/03/16(金) 19:09:15.24ID:7QDEA7p3
バーカ!
2018/03/16(金) 23:01:58.97ID:8qp1Gu5M
>>930
セルの値がAAAかどうかを1セルずつチェックする
933デフォルトの名無しさん
垢版 |
2018/03/17(土) 02:17:25.38ID:kilRADxn
>>解決できました
回答ありがとうございます。
2018/03/22(木) 21:02:32.68ID:WmkzQNen
すいません、ここが最適だと思ったので教えてください!!

Spread(グレープシティ社)のWindows Formのバージョン8で
右端に列を追加するにはどうすればいいですか?
右端で右クリックして列を追加すると右から2番目に追加されてしまって困っています!
2018/03/22(木) 21:14:42.50ID:WC+ROiY7
スレ違い
せっかく高い金払ってるんだからサポートに聞け
2018/03/22(木) 21:23:02.10ID:kmqMUrWv
なんだこいつ
2018/03/26(月) 02:01:20.13ID:xKDUmJE8
餅は餅屋に聞くという思考が次第に薄れてきている事を感じさせますね。
938デフォルトの名無しさん
垢版 |
2018/04/22(日) 21:23:49.07ID:PsQCMKRd
餅屋とかそもそもないやん?
2018/04/25(水) 00:37:59.07ID:12saxXB9
SpreadのことはGrapeCityに、VB.NETのことはマイクロソフトに聞くべし

だったら何でこのスレあるの?
2018/04/25(水) 00:42:33.35ID:Ttsqtpq4
>>939
なら自分でスレ立てすればええやん
2018/04/25(水) 01:16:52.85ID:y6Ukjt1p
>>939
どこで聞くべきかを教えてくれる
2018/04/26(木) 20:41:50.04ID:fOtvyrSj
グレープシティっていいの?
あとエクセルなんとかってとこのが定番化だった気がする
2018/04/27(金) 08:07:08.11ID:NW63AoOa
ActiveX(〜VB6)までは世話になったけど、.Net になってからGrapeCity には関わるまいと誓った。
944デフォルトの名無しさん
垢版 |
2018/04/29(日) 22:50:27.19ID:RMQStnhd
質問させてください、2つの波形の位相差(シーター)を求めたいです。

chartコントロールに位相差の違う2つの波形を表示させてその位相差を測定したい。
例)https://blog-imgs-86-origin.fc2.com/m/0/k/m0kichiazuma416/066_01.png

最終的にはこの様な物を作りたい。
http://siesta.la.coocan.jp/zk/PwrChk2/pwrchk2.html
この作例だと、電流値と電圧値をchartコントロールに入れて、
chartコントロールに演算させて力率を出しているのだと思うのですが。
どうなんでしょうか。
2018/04/29(日) 23:49:54.01ID:eBkQOB0i
>>944
とりあえずchartコントロールに何かを計算させようって発想は根本的に間違ってるw
エクセルじゃないんだからwww
chartが担うのは表示機能だけw

当たり前だけど位相差は測定値の時系列から自分で計算するコードを書くしかない。
ひょっとしてそもそも位相差が何を意味するか分かってないんじゃないの?
2018/04/30(月) 18:01:51.77ID:9DOSDrcb
>>944
まずはChart コントロールで何が出来るか理解する
http://www001.upp.so-net.ne.jp/vb_hanatyan/vb2005/vb2013chart01.htm

これ読んでもChartコントロールは癖があるので使えるまでは試行錯誤が必要
2018/05/03(木) 21:02:29.98ID:zBmU1+Vb
LISTを使いたい場合、何かImportしないとダメでしたっけ?
Dim a As New List
ってところで'List' is not declaredってエラーが出る
948デフォルトの名無しさん
垢版 |
2018/05/03(木) 22:34:02.54ID:MXsl4Tgb
(Of String)とか要るんじゃないの
2018/05/03(木) 22:37:52.21ID:qtomOB3T
System.Collections.Generic
2018/05/07(月) 18:26:29.73ID:vYSga6Mw
VBは ; と { } がいらない所がほんと好き
JavaC#で } が続くのを見るとストレスがマッハ
なので明日からパイソン使います
2018/05/07(月) 18:35:33.95ID:9uos5YV5
>>950
老眼になってから{}の区別つかないのでますますc系が嫌いにw
2018/05/08(火) 11:32:57.05ID:h+8p14mY
Usingは便利だね
2018/05/09(水) 04:51:37.41ID:s2cd4Wcs
どこが?
2018/05/09(水) 19:08:23.70ID:k4lh3S1t
>>953
Dispose忘れを無くせる。
2018/05/09(水) 20:02:36.56ID:lGFwiLgr
>>951
今は老眼だが、Fortran77をカード穿孔機でプログラムを書いて読ませ込んでいた学生(高専)時代、
l(小文字のエル)、I(大文字のアイ)、1(数字のいち)が見分けづらく、デバッグに難儀した思い出。
2018/05/09(水) 20:08:27.63ID:K3GbtLPn
ベテラン氏おつであります
まだ現役のプログラマーやってるの?
957デフォルトの名無しさん
垢版 |
2018/05/09(水) 20:13:31.15ID:EL7F/5Xk
教えて欲しいのですが
google chromeで任意のページを開いて2分後に閉じるってどうすれば良いですか?
2018/05/09(水) 20:18:51.49ID:s9132bVL
>>955
私も高専だったがokitacとtosbacだったw
2018/05/09(水) 20:23:21.29ID:s9132bVL
両方紙テープだったがtosbacは高速光紙テープリーダーだった
なのでテープ詰まり起こすとほぼ切れたw
2018/05/09(水) 21:26:20.84ID:lGFwiLgr
>>958
HITAC 8000シリーズのどれかだったと記憶。(HITAC10は完全に置物状態)
3年生のとき、PC実習室が出来てEPSON PC-286が導入され、HITACは教師の研究専用になったけど。

>>956
C言語で止まっているポンコツには、VBAもえっちらおっちら。(;_;)
2018/05/09(水) 22:17:16.07ID:WSvLZm4M
パンチカードとか一回やってみてーよなあ
博物館で体験コーナーとかそういうんじゃなくて
ガチの仕事で当時の環境まで再現して・・・

957はVB.NET 別プロセス 終了とかでググれ
2018/05/09(水) 22:26:52.39ID:K3GbtLPn
>>960
イ`w
2018/05/10(木) 10:13:54.13ID:lBPoSMfr
BABAとえっちでオラオラですか
2018/05/17(木) 06:14:28.31ID:q+eljBB5
JAVAが有料になったぞ
965デフォルトの名無しさん
垢版 |
2018/05/17(木) 06:44:27.13ID:FVYoS4b5
VSは無料バージョンがあるので勝負は決まったな
2018/05/17(木) 07:34:22.14ID:qZ9boVIY
Write Once, Pay Forever
2018/05/17(木) 20:32:36.91ID:VnQTRgho
VSも便乗するわこれ
2018/05/19(土) 23:20:39.96ID:W+KbvEz/
VB6で

Do
 If 条件
  GoTo ラベルA
 Else
  Exit Do
 End If
 処理A
ラベルA
 処理B
Loop

という事をしていた場合
VB.NETで作り直す際はラベル使わずにやるなら
皆さんも処理Bの部分メソッド化してますか?
それとも何か別のやり方とかやってますか?
2018/05/19(土) 23:32:27.28ID:oft4Cqjn
>>968
何この糞意味不明なコード
これ、「処理A 」の部分は絶対に通らないけど...

つーかこれ、

While 条件
  処理B
End While

これと何が違うんだ?
970デフォルトの名無しさん
垢版 |
2018/05/19(土) 23:38:09.50ID:RoboUWmL
>>969
バカはしゃべるな
2018/05/20(日) 00:33:14.34ID:64mTg3CR
ElseでExit Do だから、GOTOで飛ぶかループ抜けるかだが

まあほんとにこんなロジックなら全体的に見直すけど
2018/05/20(日) 13:26:41.42ID:dteyaV0y
>>970
こいつも質問者と同レベルの酷い馬鹿だな
レス数が950を超えています。1000を超えると書き込みができなくなります。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況