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

■ このスレッドは過去ログ倉庫に格納されています
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/10/04(水) 14:53:27.06ID:aW4Cfo6o
昔のライブラリで、On Error Resume Next を前提にしたるCOMモジュールを扱うときなんかは、VB.netは便利。
C#でも似たような制御できればいいのに。
774デフォルトの名無しさん
垢版 |
2017/10/06(金) 01:12:12.05ID:Ahbm7zus
それって例外無視したいってこと?
2017/10/06(金) 11:57:59.66ID:oEyA6PeW
3次元配列A(x,y,z)をエクセルに
1シート毎にA(1,y,z),A(2,y,z),A(3,y,z)…としたいのですが、
1データずつ書き込むとすごく時間がかかるので、2次配列B1(y,z),A2(y,z)…の形で出力したいです。
この場合、二次配列の宣言文はどう書いたらいいのですか?
2017/10/06(金) 14:51:49.82ID:oEyA6PeW
775ですが、わかりずらくてすみません。一次配列だとA(10)で10個の配列を宣言できますが、
二次だとA(10)(100,100)と書くと受け付けてくれませんでした。どのように書けばいいのでしょうか?

また、今は3次元配列から、1点ごと移して、1シート分ごとの二次配列を作ろうと思ってますが、
もっとスマートな方法があったら教えてください。
2017/10/06(金) 14:53:30.30ID:Pjx+vQ2Q
VB側であらかじめ二次元配列に変換すればいいでしょ
2017/10/06(金) 15:00:48.07ID:BnWE0qO1
Rangeオブジェクトではダメな理由は?
2017/10/06(金) 15:27:18.19ID:oEyA6PeW
>>777
そうなんです。VB側で二次配列に変換します。その時の二次配列名をA1,A2,A3…としたいのですが、
どうやって宣言したらいいのでしょう?個数は都度変わります。

>>778
ダメな理由は、私が超初心者だからです。Rangeオブジェクト、調べます。
2017/10/06(金) 16:18:03.87ID:+xC3oUH1
Object型の二次元配列の配列は
Dim arr(n)(,) As Object
For i As Integer = 0 To n - 1
ReDim arr(i)(x, y)
Next
2017/10/06(金) 16:20:36.26ID:+xC3oUH1
To nのほうがいいか
2017/10/06(金) 18:27:07.22ID:oEyA6PeW
ありがとうございます!!
783デフォルトの名無しさん
垢版 |
2017/10/06(金) 18:34:40.77ID:zGeBsdYt
>>779
VBAならコレクションで簡単に出来ると思う。どうしてもVB.Netでやらなければいけないならアレだが。
因みに、エクセルはシートに書き込む時ループじゃ遅くなるから二次元配列で
Range("A1").Resize(Ubound(2DArray,1),Ubound(2DArray,2)) = 2DArrayとやるとそこそこ高速に書き込める
2017/10/09(月) 12:03:03.55ID:p4uEChG8
>>774
そうそう。
制御系のシステムとかでも、その時点でできることできないことがゴッチャになってるライブラリがある。
エラー前提でリリースされてるライブラリもあって、そういう前提だとResume NextがないとTryのブロック
記述がものすごく複雑になる。ぶっちゃけ、機械の挙動を、プログラムから先読みしないといけなくなる。

そういう前提のライブラリを利用するとき、いまVBはスタンダードじゃないけど、vb.netなら、VBと同じく、
Resume Next使えるからうれしい。
2017/10/13(金) 00:42:03.31ID:d0dipzNo
上の初心者です。お陰様で無事解決して先に進めました。
Do〜Loopで計算させて、ある数値の変化を見ながら中断。データをエクセルに出力、
その後また計算を再開させたいのですが。ボタンは、中断・再開・出力(終了も必要かも)
調べていたらBackgroudworkerっていうのが出てきたんですが、中断・再開、そして
その間にデータ出力って無理ですか?ほかの方法でもいいので教えて下さい。
2017/10/13(金) 21:50:35.27ID:5ZrXmVai
それでできます
2017/10/21(土) 17:52:46.13ID:7/uhu6B6
繰り返し数値計算するプログラムを作って動くようになったんですけど、
途中でNaNが出てしまいます(NaNが出ても止まらない)
どうして出たのか突き止めたいのですが、どうやったらいいのでしょう?
デバッグのブレークポイントの設定でi=NaN,i==NaNとか入れてみたんですが、
式が良くないようで働きません。
2017/10/22(日) 02:29:45.09ID:EmQ5oJ/A
今試せないが
IsNaN か Double.NaN 辺りを使ったことある

https://msdn.microsoft.com/ja-jp/library/system.double.nan(v=vs.110).aspx
2017/11/03(金) 23:26:56.71ID:T/az7urs
vb.netとoracledbのプログラマが急に退職になったので、引き継ぎがないままで、私が保守をすることになりました。
15年前にVBを1つ作った経験しかないのに、任されてしまって、とても焦ってます。
vb.netとoracledbを基本から勉強をしたいのですが、いい入門書があれば紹介して頂けないでしょうか。
どうぞよろしくお願いします。
2017/11/04(土) 02:48:57.68ID:g7i1lHqB
逃げたほうがいいんじゃない?
791デフォルトの名無しさん
垢版 |
2017/11/04(土) 03:19:08.61ID:SmrPt+dU
>>789
ちと古いが

VB.NETによるOracleアプリケーション開発技法 2005/4
山田 健一 (著)

俺も似た境遇でvb+oracleの開発をうん年前にするハメになったので
上記の本をアマで購入
でもトップが心変わりが激しいので開発は幸か不幸かお蔵入りw

で、odp.netをvb2013にインストールするんだけど
なぜかこれがなかなか入ってくれなくて手こずった記憶がある

上記の本(は古いから)よりネットのほうが情報あるんじゃね?
2017/11/04(土) 03:32:30.19ID:SmrPt+dU
すまん
こっちだったわ

Oracle+.NETプログラミング・バイブル―ODP.NETによる強力開発環境 単行本 ? 2005/9
日本オラクル (著)
2017/11/04(土) 06:39:10.69ID:ox8FLzne
>>791
>>792
ありがとうございます。
早速、買って読んでみます。
古い本でも何でも勉強するしかありません。


10年以上前に導入したVB.netとoracledbのシステムらしいのですが
勉強やテストするテスト環境もありません。
SEもプログラマもいなくなったので誰にも聞けません。
2017/11/04(土) 08:00:52.30ID:ox8FLzne
>>791
>>792
もう少し教えてください。

この本に付属しているCDROMには、勉強するための環境一式が含まれているのでしょうか?

またそれらはWindows10でも動くのでしょうか?
Windows7もあるのですが、ハードディスクが30GBしかないです。

本は中古しかなかったので到着には1週間近くかかるようです。
2017/11/04(土) 09:56:42.48ID:SmrPt+dU
>>794
CD-ROMは使わなかったな

環境はオラクルのホームページからdownloadしたよ(当時は要メール登録、無料)
なんかどれインスコしていいんか分からんかった記憶が…

環境はWindows8か8.1のVb2013
Windows10はわかりません

手さぐり状態の時に先にも書いたように鶴の一声でポシャったw
796デフォルトの名無しさん
垢版 |
2017/11/06(月) 23:32:40.39ID:oqUq9JxF
前に勤めていたスーパーの社長に新店オープンの検討会議に出るように言われ、なんで俺のような水産部担当者風情が
そんなのに呼ばれるんだろうと思ったら社長から「お前、面接でプログラミングが趣味って言ってただろ?POSシステム作れや」と
言われ目が点になった。「いえ、自分のはあくまで趣味程度でして」と言ったら「なんだ?嫌なのかぁ」と言われ困惑した。
スーパーのPOSシステムってのは東芝TECのほぼ独占状態で新店オープンなんかだと表現は悪いが吹っ掛けてくるらしく、
営業が一日張り付いただけで本来の料金の他に日当、メシ代、泊まりになった場合はホテル代まで持つのが業界の習慣らしく
300坪程度の店を出すのにPOSレジシステムの構築で一千万近くかかるとか。
それを従業員にやらせれば浮くじゃねえか、と考えたんだろうな。俺は「魚屋がシステム作ったらおかしいでしょ社長!」と逃げ回って
難を逃れたが(逆立ちしても無理っス)
元IBMの営業やってた総務の課長がやらされる羽目になり、開店時には従業員一同社長とこの元IBMを呪ったよWW
開店と同時にレジのおばはん達から「どれもこれも登録されてないじゃん!このバカ!」と怒号が響き、大笑いしていたら
水産物でも加工品のバーコード付きのものが全て「登録無し」と出るとババアどもからレーザービームを浴びて笑ってられなくなった。
元IBMの課長に文句言ったら「あはは、排他処理だよね、そうか、思い出した」とか言って平然としてるし。

神経が図太くねえとシステム担当なんてやってられないんだろうな
2017/11/07(火) 00:13:22.18ID:gUentbNw
楽しそうな職場やん
絶対に就職したくはないけど
2017/11/07(火) 09:40:10.59ID:yuq33prU
>>796
昔、POS関連の仕事してたことが有ったけど、出来が良ければそのPOSアプリを一般に売れば良いんじゃね。
実際、蕎麦屋が自分の為に作ったPOSアプリ売ってたことが有った。
他にも全然開発会社じゃない所が自分用に作ったPOSアプリの出来が良かったので売ってる事例を幾つか見たことがある。
2017/11/07(火) 10:48:40.44ID:t6NaVxzv
どう考えても「出来が良ければ」なんて言えない内容だと思うんだが
2017/11/07(火) 11:16:20.50ID:yuq33prU
良くしてくんだよ。
もったいないじゃねーか。
2017/11/07(火) 11:17:26.29ID:H3DL339H
どう考えてもコピペにしか見えんけどググても出てこないから
本当に書いてるんだな。

神経図太いって、それこんな開業も入れない文章書く奴のことだろw

それと、一応昔からTECの他にNCRって会社が大手であったはず。
今は普通にNECや富士通もWindowsやLinuxベースのPOSレジ作ってる

それから、ソフトはその元IBMのオッサンが作るとしてハードはどうしたんだよ。
そのオッサンがハードから作ったのかw
作れる訳ねえだろw
デタラメ書くにも程がある。
2017/11/07(火) 14:52:58.50ID:X/d0WSR0
EPSONからプリンタとカスタマーディスプレイ買ってパソコンあれば出来る。
ついでに昔は制御方法も教えて貰えた。
他にもシャープとかカシオとかハードだけ買えた気がする。

あと、NCRは日本ではそれほど大手じゃなかった印象だな。
TEC、富士通、NEC、IBMの順ってのが俺の印象。
NCRはその次ぐらい。
あくまで俺の印象だし、今はどうなってるのか知らんけど。
2017/11/07(火) 16:58:21.02ID:BZzO8P37
cとJavaの開発経験があるけど、.NETで初めて開発刷ることになりました。だいたい3ヶ月やれば開発に参加できますか?
2017/11/07(火) 17:14:10.33ID:H3DL339H
それはあなた自身の学習能力とチームが求める能力の関数でしょう
2017/11/07(火) 17:17:49.65ID:jMIQ1hyl
こんな答えようのない事を他人に尋ねてくる上に、文章の推敲も出来ないやつは
ハナっから開発メンバーに入れたくないな>>803
2017/11/07(火) 17:19:28.20ID:BZzO8P37
VBもc#もだいたい似てるよね?
2017/11/07(火) 17:20:06.63ID:BZzO8P37
Javaよりもハードルが低いと聞いた。
808デフォルトの名無しさん
垢版 |
2017/11/07(火) 19:30:55.43ID:83qXUfR4
>>803
ドットネッターて>>804,805みたいな無能ばかりだから3ヶ月どころか3時間あればエースプログラマーになれると思うよ
2017/11/07(火) 19:33:42.48ID:jMIQ1hyl
そうそうその通り!
2017/11/09(木) 06:00:15.14ID:goVr3jSD
質問失礼します。

現在、SQLserverからDataReaderにテーブルデータを取得してDataGridViewにテーブルデータを表示させているものがあります。
DataGridViewではなくExcelに出力させて欲しいという要望があり、対応しようとしているのですが、DataRederの内容を2次元配列に入れる事が出来ず困っています。

やりたい事
DataReaderの内容を2次元配列に格納し、指定したExcelファイルに一括で書き込み。

よろしくお願いします。
2017/11/09(木) 07:27:20.45ID:OuTQqey9
datatableから出力させた方が楽なんじゃないかな。。
2017/11/09(木) 07:41:04.52ID:goVr3jSD
>>811
申し訳ありませんが、やり方を教えて下さい。
現状のコードは
datareader=command.ExecuteReader()
While datareader.read
‘データグリッドビューへ出力
End While
なのですが、AdapterとDatasetを作ってDataTableに格納して、Excel出力するイメージですか?
2017/11/09(木) 10:35:39.05ID:PgCSoHJf
dataadapter.fill(datatable)じゃダメなの
2017/11/09(木) 12:25:27.97ID:goVr3jSD
>>811
>>813
ありがとうございます。希望通り動作させる事が出来ました。
また、よろしくお願いします。
815デフォルトの名無しさん
垢版 |
2017/11/09(木) 12:34:04.73ID:TttUt+BF
visualstudio2013、.net4.6で、ZipFileクラスは出るのにZipFileExtensionsクラスが出てこないんですが原因わかりませんかね?
参照にSystem.IO.Compression.FileSystem は追加してます。
2017/11/09(木) 21:18:04.53ID:LSaTNsoH
EditorBrowsable 属性で Never が指定されているからインテリセンスには出てこない
ZipFileExtensions と入力した後に . (ドット)を入力したら出てくるけど、拡張メソッド提供用のクラスなので、
dim archive as ZipArchive
archive.CreateEntryFromFile ( ... )
みたいに拡張メソッドとして使用したほうがいい
2017/11/10(金) 02:14:09.54ID:chLgv4PA
約10数年ぶりにこのスレに戻ってきた…
実に.NET1.1以来…

pingクラスを非同期「Ping.SendAsync」で使ってインターネットの速度低下を計測したくて
タイムアウトでイベントを拾いたいんだけど
タイムアウトの時間を20msにしてもタイムアウトイベントが起きない
イベントがcompleteで帰ってくるので21ms以上かかっても正常で戻ってくる

ちなみにdobonでサンプルを参考にした
タイムアウトイベント拾えたひといたらお知恵拝借したい
2017/11/10(金) 02:24:56.30ID:k0/7SHHI
>>817
https://msdn.microsoft.com/ja-jp/library/ms144961(v=vs.100).aspx
> timeout に指定した数値が非常に小さい場合、timeout のミリ秒数が経過した後に Ping の応答が受信されることもあります。
これじゃない?
2017/11/10(金) 02:32:15.58ID:chLgv4PA
>>818
早速サンクスです
どうもこれが原因っぽいですね…
100ms超えるようだとログに残したかったので
毎度応答時間チェックしてみることにします

私事だけどWindows10で.NET1.1が動かないから
昔作った業務アプリを作り直さないといけない…
クリレポ動くんだろうか…
820デフォルトの名無しさん
垢版 |
2017/11/10(金) 06:24:47.35ID:XWT/Y8xw
>>816
そういうことだったんですね
ありがとうございます
勉強になりました
2017/11/16(木) 18:56:57.18ID:WIFtnJuX
暗黙の型変換の挙動ってどこで制御しているんでしょうか

decimal d = 1
String s = "hoge "
s = s & d
この時のdって暗黙の型変換?がされていると思うのですが、
decimalの実装を見てもどこでこの挙動が制御されているのかわかりません
2017/11/16(木) 19:23:05.05ID:hlIaT2GT
Option Strict のこと?
ttps://msdn.microsoft.com/ja-jp/library/dd314347.aspx

あとはアンパサンドオペレーターあたりじゃない?
ttps://docs.microsoft.com/ja-jp/dotnet/visual-basic/language-reference/operators/concatenation-operator
2017/11/16(木) 21:42:05.23ID:eDY5LW4B
雑魚プログラマなんだけどプロパティについて聞きたい
普通↓の@の形式だと思うんだけど
似たようなことしたいときにAとかBの形式より@が良いの?

@----------ここから
メンバ変数 _A

プロパティ A
 ’_Aをsetとgetする処理
@----------ここまで

A----------ここから
メンバ変数 _A

プロシージャ setA(引数B)
 ’_Aに引数Bを代入する処理

ファンクション getA
 ’_Aを返す処理
A----------ここまで

B----------ここから
プロパティ A

プロシージャ setA(引数B)
 ’Aに引数Bを代入する処理

ファンクション getA
 ’Aを返す処理
B----------ここまで
2017/11/16(木) 22:20:14.00ID:1WC2sRMg
プロパティを宣言すると、コンパイラは中間言語にgetterとsetterのメソッドを作る。だから意味ないです。普通の?の形式を使えばいい。
2017/11/16(木) 22:42:54.96ID:eDY5LW4B
ありがとう!
2017/11/16(木) 23:32:20.06ID:zISN/nZ0
パブリックで変数切ればいいんやで
2017/11/17(金) 03:52:39.53ID:8RvIbz6z
変数切る?
2017/11/17(金) 04:00:16.21ID:dFhF1IzE
>>821
暗黙の変換やってるのはコンパイラじゃね

>>827
定義するのを(定義)切るとか言うことがあるなぁ。変数切るは変数定義するってことだな
通じる人のほうが多い気がするけど、おっさんだけかもしれんw
語源はしらん
829デフォルトの名無しさん
垢版 |
2017/11/17(金) 08:09:20.10ID:6X4yuC5e
おっさんのくせに宣言と定義の違いもわからんのかw
2017/11/17(金) 12:28:53.96ID:dFhF1IzE
>>829
では変数の宣言と定義の違いを簡単に説明してくれ
2017/11/17(金) 13:19:38.94ID:ENBrszFD
>>830
コンパイラのために行うのが宣言
リンカのために行うのが定義
分かれてない言語の場合は宣言と定義を一度に行う
2017/11/17(金) 14:27:37.69ID:kDLAXaYv
>リンカのために行うのが定義

ピンとこないな
アロケーションとは違くて?
2017/11/17(金) 19:58:40.60ID:66XG3dz2
>>822
ありがとうございます

アンパサンドオペレーターでできるかと思ったのですが、
Stringは継承できないしdecimalは構造体だしでダメっぽいです
諦めました
2017/11/17(金) 20:12:59.46ID:Gtzp+0S5
>>833
何言ってるのかよく分からんけど、.NETのオブジェクトはすべてToStringメソッドを持ってるので、

s &= d

s &= d.ToString

と同じ、これはC#でも同じ
2017/11/17(金) 22:15:39.64ID:66XG3dz2
&をオーバーロードして、
s &=d だけで s &= format(d, "0.00###")
みたいな挙動をさせるのが目的でした

今は確認できないのですが、ToStringをオーバーロードすれば出来るのか後ほど確認してみます
ありがとうございます
2017/11/17(金) 23:09:17.40ID:Gtzp+0S5
>>835
そんなこのできないと思うけどできたとしてもやらない方がいいと思うよ。
コードを読む立場になって考えてみ?

s &=d
が実は、
s &= format(d, "0.00###")
と同じ働きをするって普通は誰も思わないからそのコードを読んだ人(数か月語の書いた本人含む)
は絶対混乱するよ
2017/11/17(金) 23:36:41.99ID:66XG3dz2
よろしくない方法だというのは承知しつつ個人用なのでやってみるつもりでした
とはいえそもそも出来ないようで

Stringクラスが継承不可になってるのはそういうのまで考えられてるのかな
2017/11/18(土) 00:42:33.03ID:lwdaQlHz
それはdの方を独自クラス(構造体)にすれば良いんじゃね

継承出来ないようなら暗黙的に変換できる型を作れば良いんじゃね
2017/11/18(土) 01:55:39.49ID:WTUDdgFw
ちょっと文字数減らすために変な小細工しない方がいいと思うよ
こんなのせいぜいマジックストリングを無くす程度で十分でしょ

Const DecimalFormat as String = "0.00###"
....
s &= d.ToString(DecimalFormat)
2017/11/18(土) 02:33:59.73ID:lwdaQlHz
>>834
ちょっと気になったんだが、VB.NETの暗黙の型変換で呼ばれるのは、CType関数じゃないかと
暗黙の変換はStringに限るわけじゃないから、StringのときだけToStrring呼ぶような事はないんじゃね
CTypeは値に忠実に返すべきだが、ToStringは説明的な文字列付加するとかあり得る話だし
2017/11/18(土) 02:55:29.75ID:WTUDdgFw
>>840
あ、VBの&はC#の+演算子と違って自動的にToString呼ばれないみたいだね。
文字列&hogeの場合はhogeにStringへの暗黙変換が定義されてないとダメなのか

変なところでVBの方が厳しいな
https://msdn.microsoft.com/ja-jp/library/k1a63xkz(v=vs.100).aspx
https://msdn.microsoft.com/ja-jp/library/wfx50zyk(v=vs.100).aspx
2017/11/18(土) 03:49:12.83ID:lwdaQlHz
勢いで>>838実装してみた
https://ideone.com/l0VRiT

ideoneってVB.NETの動作なんだか怪しいな
バージョンの新しい方はなんだか動かないし、古い方は自動実装プロパティ使えねぇ

一応言っとくけど、たんにDecimalの表示時にフォーマット指定がめんどくさいとか
その程度の理由でやるような事じゃないからな
じゃあ夜中に何やってんだ俺w
2017/11/18(土) 18:33:11.57ID:lwdaQlHz
>>841
VBの&は文字列連結専用の演算子だからな

実はVBでも+で文字列連結できる
その場合の数値加算か文字列連携かの判断と実行内容がC#と同じかはしらん

まあ、暗黙の変換は予期せぬ結果をまねきかねんから注意しろってことだな
2017/11/22(水) 04:28:34.76ID:abdxNTRR
退位の話題がニュースにあったんだけど
.NET1.1で新元号のアップデート来るかな…
2017/11/22(水) 09:57:39.48ID:qyCmHlzW
1/1付けにしてほしいわ
2017/11/22(水) 10:26:48.94ID:2YVJuPMl
>>844
元号ってOSから引っ張ってきてるんじゃないかなぁ
OSが対応されればそれで行ける気がするけど、1.1動くOSってどこまでだっけ

未だに1.1のシステム抱えてる身としては他人事ではない
2017/11/22(水) 10:34:35.19ID:JXvvAkCJ
4.0以降のみらしい
https://social.msdn.microsoft.com/Forums/ja-JP/a93ec79d-69a5-4bb7-ae5d-a8aabfdcb9dd/systemglobalizationcultureinfo?forum=netfxgeneralja
2017/11/22(水) 12:20:47.97ID:qyCmHlzW
3.5は対応してほしい
2017/11/22(水) 12:36:08.14ID:abdxNTRR
>>846
Windows10は1.1が動かない(とされてる)
業務ソフト納入してる客先でPC機器類納入してる別の会社が勝手にWindows10に変えようとして
慌てて一台リースを延期してもらった

>>847
2.0でビルドしたものが4.0で動いたというのが興味深い
2017/11/22(水) 16:11:09.79ID:2YVJuPMl
2.0以降はいちおう上位互換考慮されてるはずだからなぁ

OSもフレームワークもサポート切れだから、アプリもサポートできません
アプリバージョンアップしてください(もちろん有償で!)

こう言って通れば良いんだがなぁ
851デフォルトの名無しさん
垢版 |
2017/11/23(木) 15:38:14.38ID:oTFRewqv
コマンドプロンプトで実行するプログラムで、C言語のsystem()関数と同様の関数ありますか。
Processクラスは別画面で起動します。同じ画面で実行したいもんで。
2017/11/23(木) 17:04:27.61ID:k3nQdCAx
>>851
UseShellExecute = False にしてみたら?
853デフォルトの名無しさん
垢版 |
2017/12/15(金) 11:44:07.19ID:M7F98+kf
Class clsMai
Public Text As String = ""
Public size As Integer = 0
End Class
Dim lm As New List(Of clsMai)
このとき
dim sum as integer = 0
dim dt as new clsMai
dt.text = "aaa"
dt.size= 10
lm.add(dt)
lm.sum += dt.size
最初はListだったんだがSumが追加したい。こういう時にはlmはどういうように定義するのがいい?
854デフォルトの名無しさん
垢版 |
2017/12/15(金) 11:55:48.67ID:M7F98+kf
Class clschkMai
Inherits List(Of clschkMaisu)
Public sum As Integer
End Class
これで
lm.add(dt)とやるだけで上記のlm.sum+=dt.sizeも行うようにしたいのだがやり方が分からない。
2017/12/15(金) 12:17:45.87ID:m9RnQpi/
>>854
List<T>を継承じゃなくて中に持つクラスを作るだけでしょ。
あるいはsumを頻繁に使うのでなければ、LINQのSumを使った方が簡単
それと今時変なハンガリアンやめなはれw

Claass MaiList
  Private _list as New List( Of Mai)
  Private _sum as Integer = 0;
  Public Sub Add(x As Mai)
    _list.Add(x)
    _sum +=x.size
  End Sub
  Public Property Sum as Integer
    Get
      return _sum
    End Get
  End Property
End Class
856デフォルトの名無しさん
垢版 |
2017/12/15(金) 12:57:12.72ID:M7F98+kf
おお!! そういうことか。ありがとう。 addがOverridesできないものかと悩んでた。
clsXXXって書き方は駄目なのか? 何か不都合があるんだろうか?
857デフォルトの名無しさん
垢版 |
2017/12/15(金) 13:11:41.44ID:M7F98+kf
アッ、駄目だ。継承しないとlm(3).textのようにインデクサでのアクセスができない。
2017/12/15(金) 13:17:15.59ID:m9RnQpi/
>>857
インデクサ(VBは既定のプロパティと言うと思うけど)も自分で書けばいいんだよそれはwww
簡単でしょw
何でこの程度のことを思いつかないのw
859デフォルトの名無しさん
垢版 |
2017/12/15(金) 13:39:16.97ID:M7F98+kf
それはできないでしょ。 lm.lst(i).text みたいになってしまうから。これは面白くない。
lm(i).textにしたいわけだ。
860デフォルトの名無しさん
垢版 |
2017/12/15(金) 13:44:55.16ID:M7F98+kf
アッ、List(of ss)ができるのだからできるのか? できる筈だよな。調べてみる。
861デフォルトの名無しさん
垢版 |
2017/12/15(金) 13:47:03.03ID:M7F98+kf
解った!! ありがとう。
2017/12/20(水) 21:39:40.25ID:AHvtW6qd
ここで聞くのが適切かわからなかったんですが、ご存知の方がおられましたらお教え下さい。

症状
win10のアップデート1703へ更新した直後から、datagridview内への入力時にIMEがオンになっている場合に、最初の入力文字が2つ入力される。バックスペースで消した後は、通常通り入力できる。IMEオフ時の半角は通常通り入力可能。
例えば「は」と入力しようとした場合は「hha」と下線付きで入力されてしまいます。

開発環境では再現しないのですが、何が考えられるでしょうか?
明日、IMEのプロパティのなかの直接入力をしないのチェックを外すのを試して頂く予定ですが、他に何かこうじられる手はありませんでしょうか?
2017/12/20(水) 21:53:14.40ID:XaT4vAqr
とりあえず使ってるIMEが何か調べる
2017/12/20(水) 23:49:49.75ID:AHvtW6qd
MSIMEです。
2017/12/22(金) 20:50:18.27ID:8bp8uCql
csvから以下の様なデータをよみこんでDataGridViewに、キーが5件以上のレコードだけ表示したいのですが可能でしょうか?

キー,品名,重量,形状
A001,aaa,111,丸
B001,bbb,222,バツ

csvは5000レコード程になります。
キーは700種類くらいです。
宜しくお願いします。
2017/12/22(金) 21:58:13.05ID:L0WeFQPL
可能です
2017/12/23(土) 05:25:16.08ID:syScn12J
>>866
教えていただけませんか?
2017/12/23(土) 08:21:17.89ID:3noaHCAM
何が分からないんだ?
 CSVファイルを読み込みか?
 GroupByの使い方か?
 5件以上の抽出方法か?
 複数Groupのフラット化か?
 DataSourceプロパティか?
2017/12/23(土) 08:45:58.27ID:De0LpaYa
>>868
csvからキーが5件以上重複しているものを抽出する部分です。
2017/12/23(土) 09:20:56.16ID:Px5uJlt7
同時には無理
まずはCSVから全データを読み込み
そのデータをLinqかなんかで絞り込む
この2つの手順が必要
2017/12/23(土) 11:45:58.00ID:afY4COyy
JETとかACEとかでSQL書けば同時に出来る気がしないでもないがな
2017/12/23(土) 18:30:01.78ID:De0LpaYa
>>870
とりあえずcsvをデータテーブルに入れデータグリッドビューに表示は出来るのですが、Linqが難しく書けません。
教えていただけませんか?

5件以下のレコードだけ表示の間違いでした。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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