1 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 17:53:36 ] 前スレ VB.NET質問スレ(Part28) pc11.2ch.net/test/read.cgi/tech/1229695062/l50 テンプレは>>2 〜
313 名前:デフォルトの名無しさん mailto:sage [2009/03/12(木) 01:44:47 ] ん? あー、そういうこと・・・ ん? って感じ
314 名前:デフォルトの名無しさん mailto:sage [2009/03/12(木) 02:41:09 ] ポインタを乗せてからちょっと経ってから透過させるとか、乗ってる間徐々に透過されていくとかにすればいいんじゃね?
315 名前:デフォルトの名無しさん mailto:sage [2009/03/12(木) 10:23:55 ] なんでみんなテキストを扱う時も textwriterじゃなくstreamwriter使う?
316 名前:デフォルトの名無しさん mailto:sage [2009/03/12(木) 10:39:52 ] 日本語でおk つかみんなって誰を指してんだよ
317 名前:デフォルトの名無しさん mailto:sage [2009/03/12(木) 10:41:48 ] >>315 Public MustInherit Class TextWriter で、 Public Class StreamWriter Inherits TextWriter なわけだが。
318 名前:デフォルトの名無しさん [2009/03/12(木) 15:17:17 ] 帳票とかグラフとか印刷とか、皆さんはどうしていますか? Excelを利用している DrawとかDocumentとかで頑張っている その他、補助製品を利用している。 Crystal Reports ActiveReports VS-VIEW Reports.NET VB-Repor などなど・・・ 現在Excelを利用して書いているんですが、Excelが無いPCでの印刷や 印刷動作が重いなどを回避したいと思っています。 何か簡単で作成できて良い方法がある方は教えてください。 (購入も含めて)
319 名前:デフォルトの名無しさん mailto:sage [2009/03/12(木) 15:51:56 ] 簡単な書式だったら、PrintDocument 使って自力で。 ちょっと入り組んでたり、バーコード/二次元コードを含むときは JIVE REPORT。
320 名前:デフォルトの名無しさん mailto:sage [2009/03/12(木) 21:05:04 ] >>318 通常はアクティブレポートの付属でやってる レーダーとか足りないものは自作して使いまわしてる 流石にコンポーネント2つも買ってくれなかったのさ 貧乏だから・・・うちの会社
321 名前:デフォルトの名無しさん [2009/03/12(木) 21:35:38 ] ちんぽすげーかいい
322 名前:デフォルトの名無しさん mailto:sage [2009/03/12(木) 22:01:04 ] 「3661」という数字を「1時間1分1秒」という文字列にしたいのですが良い方法を教えて
323 名前:デフォルトの名無しさん mailto:sage [2009/03/12(木) 22:19:27 ] 小学生か
324 名前:デフォルトの名無しさん [2009/03/12(木) 22:39:24 ] >>322 dim t as integer t=3661 t/3600 & "時間" & (t mod 3600) /60 & "分" & (t mod 3600) mod 60 & "秒"
325 名前:322 mailto:sage [2009/03/12(木) 22:42:09 ] すごいすっきりしてていいね ありがとう
326 名前:デフォルトの名無しさん [2009/03/12(木) 22:48:52 ] このままじゃできないけどね
327 名前:デフォルトの名無しさん mailto:sage [2009/03/12(木) 23:15:25 ] Button1_Click Timer1.Enabled=True Button2_Click タイマーをFalseにするまでButton2のイベントは起こらないのかしら
328 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 00:02:01 ] >>325 >>324 みたいなコードはむしろ「すっきりしてない」コードって言うんだよw 君みたいなセンスの人ってどこにでもいて困るんだが、勘違い甚だしいんだよ。 頼むから、「コードの行数」を最小化しようとするのではなく、 「コードを理解するのに必要な時間」を最小化することを心がけてくれ。 例えば、 dim totalTimeBySec as Interger = 3661 dim hour as Integer = totalTimeBySec \ 3600 dim minute as Integer = (totalTimeBySec mod 3600) \ 60 dim sec as Integer = (totalTimeBySec mod 60) dim result as String = String.Format("{0}時間{1}分{2}秒", hour, minute, sec} こんなふうにぱっと見て何やってるか分かるように書くんだよ。
329 名前:デフォルトの名無しさん [2009/03/13(金) 00:10:08 ] コメントかけばいいじゃね?
330 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 00:16:46 ] >>328 感動した。 コメントもさ、自分で書いたくせに時間が経って読み返すと 意味不明なことがあるんだよね…
331 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 00:18:20 ] >>329 それもVB脳的勘違いだな。 コンパイラはコメントを解釈してくれないよ?
332 名前:322 mailto:sage [2009/03/13(金) 00:21:28 ] これもいい!! すごいありがとう
333 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 00:24:35 ] 中国人かお前は
334 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 01:13:28 ] 普通にリア小だろ。
335 名前:デフォルトの名無しさん [2009/03/13(金) 08:05:17 ] >>331 コンパイラに理解させたいだけなら最初の方でもよくない? そもそもあの処理をみてわかりにくいと感じるってどんだけ初心者だよ
336 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 08:16:27 ] >>327 を解説するひとこそが貴重なプログラマなんだが
337 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 08:47:30 ] だって意味不明なんだもん>>327 3661秒を分かりやすく書くのならTimeSpan.FromSecondsがベストだよ
338 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 09:45:06 ] >>328 あの程度で「すっきりしてない」とか、どんだけ阿呆なの? で、自分で考えた結果がその糞汚いコード? >>337 ふつー、TimeSpan 使うわな。FromSeconds か コンストラクタかは好みで。
339 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 09:45:49 ] >>327 >タイマーをFalseにするまでButton2のイベントは起こらないのかしら マジレスするとんなわきゃねぇ つうか何が言いたいんだこいつ?
340 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 15:15:29 ] わかりやすさ、なんて人によって違うしね。
341 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 15:22:15 ] 既にあるものをわざわざ自分で作るのは迷惑行為
342 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 15:31:17 ] Dim m as Integer = b.MaxValue とした場合に出る "インスタンスを経由する共有メンバへのアクセスです。正規の式は評価されません。"という警告を回避したいです。 bはクラス変数で今の所Byte型にしているのですが、今後UShortやUIntegerなどに変えるかも知れないので。 = 255 や = [Byte].MaxValue とはしたくありません
343 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 15:46:53 ] 意味的に完全におかしいんだからしょうがない たまたま型が違っても名前が一緒なだけ MaxValueとかMinValueとかParseとかだけ集めたクラスを別に作っとけばいい
344 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 15:51:07 ] あーでもそこだけのためにクラス作るのもおかしいな 諦めて適当にConstなローカル変数に代入しといたら
345 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 16:23:35 ] クラス変数…? つかそれなら、**.MaxValue を戻す、Shared でないプロパティを追加すれば いいじゃないの。
346 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 16:44:16 ] b.GetType.GetField("MaxValue").GetValue(b) で型に応じた値が取得できそうなので、この方向でもうちょっと調べてみようと思います。 >343-345 ありがとうございました
347 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 16:49:43 ] ああやっと意味が解った >>346 のやり方だと一旦bの型にダウンキャストしてからaの型にキャストしないといけないので無意味
348 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 16:56:57 ] >>347 意味がわからん。リフレクションを使う、って文脈でなぜダウンキャスト?
349 名前:367 mailto:sage [2009/03/13(金) 17:17:09 ] b.GetType.GetField("MaxValue").GetValue(b)の戻り値がObject型だから aの型に変換する前にボックス化の解除が必要なんだけど, CType使えば自動でやってくれるな。すまん。 厳密にはいったんDirectCastでbの型にするのが正しい。
350 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 17:20:41 ] で、明示的に変換しないと、丸まったり桁落ちしたりするの? するなら問題だけど、そうでなければどうでもいい。VB だし。
351 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 19:47:53 ] いまさらだけど、>>342 みたいなことがしたい場面というのが思いつかない。 想像するにマジックナンバーを忌避する様な感覚で「bが特定の型であることを 前提としたコード」を回避してるとかなんだろうけど、だとしたら プログラミングに対する考え方が根本的に間違ってるとしか思えんな。
352 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 19:49:44 ] 俺も思いつかないが >342は拡張メソッドで解決できそうだな
353 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 20:03:30 ] 拡張メソッド使った場合はポリモーフィックな動作が出来ないね。 どうしてもってことなら、抽象的な「数値クラス」を自分で作るとかした方が いいのかも。 めんどくさいだけかもしれんが。
354 名前:デフォルトの名無しさん [2009/03/13(金) 20:17:27 ] ぶっちゃけそこまで動的な変更を意識しなけりゃいけないようなプログラムってあるの?
355 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 20:19:40 ] Module Hoge <Extension>Public Shared Function MaxValue(Of T)(ByVal type As T) As T Return Cache(Of T).MaxValue End Function Private Class Cache(Of T) Public Shared ReadOnly MaxValue As T Shared Sub New() MaxValue = DirectCast(GetType(T).GetField("MaxValue").GetValue(Nothing), T) End Sub End Class End Class //Dim a As Integer = b.MaxValue() 意味があるかは置いといてこんな感じかいね 毎回リフレクションするよりは遥かに速いはず
356 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 20:49:41 ] >>355 なんか違うような気もするが、ジェネリックの面白い使い方ではあるね。
357 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 22:29:25 ] >いまさらだけど、>>342 みたいなことがしたい場面というのが思いつかない。 場面と言うか、作ってる途中で仕様変更をした時、 修正しなきゃならない箇所を減らしておきたかっただけのことなんです。 例えば = [Byte].MaxValue としていた場合、 後でもしもbの型をByteからUShortに変えた時は = [Ushort].MaxValue に変更する必要が出てくるんですが、 そこの変更を忘れてバグを出すのも嫌だなと。 仕様を固めないままコード打ってること自体間違ってると言われればその通りなんですが
358 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 23:18:12 ] >>357 ByteをやめてやっぱりUShortに変えよう。 ってなるのはどういう時なの? 最初からIntegerとか大き目の型を使っておけばいいんじゃないの?
359 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 23:27:16 ] メモリを16Mから32Mに増設したときとかなら 気が大きくなってUShortにしようかなって思うかもしれん
360 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 23:51:34 ] >358 Byte,SByte,Short,UShortの存在価値ってないよな。
361 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 10:04:21 ] ほしゅ
362 名前:298 mailto:sage [2009/03/14(土) 11:43:43 ] お蔭様でうまくいきました。 http 解析しなくても、また HttpWebRequest を使わなくても 解決できました。 ヒント:WebRequest 有難うございました。
363 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 12:52:15 ] Halo Warld を表示するプログラム教えて
364 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 13:18:58 ] Console.WriteLine("Halo Warld")
365 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 19:14:24 ] >>362 http解析のくだりは置いとくとして、 WebRequest.Createでhttp:なにがしを指定したら、HttpWebRequestのインスタンスが帰ってくるのは理解してるのかね そもそもWebRequestは MustInherit だぞ
366 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 20:47:44 ] Apache+Monoに挑戦したがよくわからなかったので他に無料の.NET用Webサーバない?
367 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 20:48:23 ] IIS
368 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 20:52:30 ] WindowsXPなどのクライアントOSで動く無料の公開ライセンスをそなえたWebサーバ IISは2人以上に公開する時はWindowsServerの料金を払わないとダメ
369 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 21:34:37 ] クライアントのWindowsに10接続以上は不可だからOSごと変えなきゃね
370 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 21:47:31 ] www.forest.impress.co.jp/article/2007/10/31/abysswebserver.html
371 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 21:49:39 ] MS 製品のライセンスについては、あんまり追求しない方がいいよ。
372 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 21:50:19 ] どうして?
373 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 22:00:13 ] 白黒はっきりさせようと MS に問い合わせると、とんでもない答えが返ってくるから。 グレーはグレーのままにしておいた方がいい、ってこと。 ライセンス(CAL)をきっちり買えるんなら別だけど。
374 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 22:03:27 ] グレーじゃないのにグレーと言うのは何故?
375 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 22:27:39 ] 構造体の1次配列のメンバを指定して並べ替えたいのですが メンバごと型を指定して並べ替える良い方法があったら教えて頂きたいです。
376 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 23:06:10 ] >>375 DataTableに置き換えてソートかけるんじゃだめ?
377 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 23:29:55 ] なんというVBらしい発想w IComparer(Of T)を実装したクラスを作ってそのインスタンスをArray.Sortに渡すのが正解
378 名前:デフォルトの名無しさん mailto:sage [2009/03/15(日) 17:21:06 ] IComparerで調べてみることにします。ありがとうございました。
379 名前:298 mailto:sage [2009/03/15(日) 18:42:54 ] >>365 もう解決したからいいんだけど、 WebRequest は MustInherit ではなくそのまま使えたよ。VS2005。 あと、WebResponse が帰ってくるのは、.Create() ではなく .Getなんちゃら() メソッドです。 やってみると単純だった。 ただ、今回の肝は、ログインページで認証を済ませてから ダウンロードしなきゃいけない仕組みのため、 WebRequestでMethodをPostに指定し、 取得したクッキーを使いまわす という操作が必要でした。 これも、これでいいのかというくらいすんなり行ってしまって 自分で驚いたほど。 いやー便利だよVS
380 名前:デフォルトの名無しさん mailto:sage [2009/03/15(日) 21:23:09 ] そもそも割り算とはなんなんでしょうか
381 名前:365 mailto:sage [2009/03/15(日) 21:31:14 ] 俺は295じゃないが MSDNのサイトで確認する限り、WebRequestは1.1から3.5までですべてMustInheritなんだが んで.GetなんちゃらメソッドはSharedじゃないだろう?ならばそのメソッドを呼ぶための インスタンスはどうしたんだと。MSDNには、 >新しい WebRequest インスタンスを初期化するには、Create メソッドを使用します。WebRequest コンストラクタは使用しないでください。 って書いてあるんだがな つまりおまえが使った.Getなんちゃらメソッドは、実際にはHttpWebRequestクラスの メソッドが使われてるはずだろうと言ってるんだ あと認証の話だが、なにもわからない状態からそれを確認するためには、>>295 のいう >WireShark とか、ieHttpHeader とか使って、やりとりを調べる。 は間違っていない。というより事前情報がなにもなければほとんど唯一の手段だ そして認証してクッキーを使いまわすってのは、まさに >>そのやりとりと一緒のやり方を HttpWebRequest で作る。 ということをやってるんだが。HttpWebRequestかWebRequestかはしらんがな この現状をふまえて、おまえが>>298 でいった、なめんな って言葉はどういうことだ? 回答してくれた人をなめてるのはお前だろう
382 名前:デフォルトの名無しさん mailto:sage [2009/03/15(日) 23:55:29 ] 素直にごめんなさいしないとな できないならチョン以下
383 名前:デフォルトの名無しさん mailto:sage [2009/03/16(月) 01:43:03 ] >>381 落ち着け 自分の理解や常識を超えたり勘違いしているやつはああいう風に言うやつが必ずいるんだ
384 名前:デフォルトの名無しさん mailto:sage [2009/03/16(月) 10:41:32 ] >>360 Byte配列は必要。
385 名前:デフォルトの名無しさん mailto:sage [2009/03/16(月) 13:03:10 ] "Abc"="ABC" をTrueにするには UCase("Abc")=UCase("ABC") と LCase("Abc")=LCase("ABC") 以外になにかある?
386 名前:デフォルトの名無しさん mailto:sage [2009/03/16(月) 13:12:04 ] String.EqualsのStringComparison使ったオーバーライドとか でもqとQが等しいと判断するかどうかはどうするのか
387 名前:デフォルトの名無しさん mailto:sage [2009/03/16(月) 13:13:19 ] エスツェットとかはどう判断するのかなー
388 名前: [―{}@{}@{}-] デフォルトの名無しさん mailto:sage [2009/03/16(月) 13:57:27 ] 半角全角を同一視する場合は、StrConvで変換するのが無難かしら
389 名前:デフォルトの名無しさん mailto:sage [2009/03/16(月) 14:45:33 ] こことか? ttp://dobon.net/vb/dotnet/string/stringequals.html
390 名前:デフォルトの名無しさん mailto:sage [2009/03/16(月) 14:51:03 ] Option Compare Text を指定する
391 名前:デフォルトの名無しさん mailto:sage [2009/03/16(月) 19:48:38 ] >>385 "ABC" like "ABC"
392 名前:デフォルトの名無しさん mailto:sage [2009/03/16(月) 19:49:40 ] ああ、すまん、左辺も同じにしちまった。 "Abc" like "ABC"
393 名前:デフォルトの名無しさん mailto:sage [2009/03/16(月) 20:23:21 ] ("Abc").toupper="ABC"
394 名前:デフォルトの名無しさん mailto:sage [2009/03/16(月) 22:30:37 ] VB2005.netで、WEBサイトからhtmlのデータを取り込むという処理の作り込みをしていますが、 この作り込みが非常に面倒で、WebBrowserクラスのDocumentTextプロパティから、 htmlのテキストを取り込んで、そこから特定の文字列を探し出して、 さらに不要な文字列を置き換えて。。。という非常に面倒なことを延々とやってる状況です。 WEBサービスやRSSなども提供されていないため、htmlから地道に文字列を抽出するしか ないのですが、何かいいやり方やツールみたいなものって提供されてないでしょうか?
395 名前:デフォルトの名無しさん mailto:sage [2009/03/16(月) 22:51:26 ] >>394 DOM でやるか、正規表現ってとこじゃない?
396 名前:デフォルトの名無しさん [2009/03/17(火) 00:26:08 ] List(Of String)を↓のC#みたいに初期化したいんだけど、VB.NETでのやり方が分かりません。教えて偉い人。 List<string> strList = new List<string>() { "あ", "い", "う" };
397 名前:デフォルトの名無しさん mailto:sage [2009/03/17(火) 00:39:55 ] C#で書いてコンパイルしてVB.NETに逆コンパイルすればわかるんじゃね?
398 名前:デフォルトの名無しさん mailto:sage [2009/03/17(火) 00:59:46 ] SharpDevelop使えば一発で変換できるんだが。
399 名前:デフォルトの名無しさん mailto:sage [2009/03/17(火) 10:36:47 ] array.sortで降順にするにはどうすれば
400 名前:デフォルトの名無しさん mailto:sage [2009/03/17(火) 10:39:55 ] 比較結果逆にしたComparison(Of T)を渡す
401 名前:デフォルトの名無しさん mailto:sage [2009/03/17(火) 10:50:10 ] 具体的な何行ものコードをみないとわけわかめうどん
402 名前:デフォルトの名無しさん mailto:sage [2009/03/17(火) 10:53:40 ] そういや今朝はわかめうどん食った
403 名前:デフォルトの名無しさん mailto:sage [2009/03/17(火) 11:17:56 ] 2003から2008になったら訳ワカメ Sortの話題が上がってたから検索して www.atmarkit.co.jp/fdotnet/special/generics02/generics02_04.html ここのプログラム見てみたんだが Function hikaku(ByVal x As String, ByVal y As String) As Integer Return x.Length - y.Length End Function ここの関数に勝手に変数に値が入っていく これは暗黙の変換?が行われてる?
404 名前:デフォルトの名無しさん mailto:sage [2009/03/17(火) 12:01:53 ] IComparer使うのと本質的には同じなんだから (メソッド1つで済ますかインターフェイスの実装が必要かだけの差) 2003から2008になったからってわけではないけどな デリゲート自体は最初からあったんだし VB9で追加されたのはラムダ式であって 変換は関係ないな デリゲートを渡すってのは 「このデリゲートに必要なメソッド格納してるんで必要なときにデリゲート越しに呼んでね」 ってこと ソートはループと比較で成り立ってるわけで、 Array.Sortのなかでもループしつつ何度もデリゲート越しに比較関数呼び出してる
405 名前:デフォルトの名無しさん mailto:sage [2009/03/17(火) 13:11:28 ] 構造体になっている配列をメンバと並べ方を指定して並べ替えるサンプルってどこかにないですかね
406 名前:デフォルトの名無しさん mailto:sage [2009/03/17(火) 13:19:48 ] >>405 >>403 構造体になってる配列って微妙に胡乱だが
407 名前:デフォルトの名無しさん mailto:sage [2009/03/17(火) 13:32:08 ] Structure MySt Public hoge As String Public moge As Integer Public hage As Object End Structure を Dim s() as MySt で並べ替えって事か
408 名前:デフォルトの名無しさん mailto:sage [2009/03/17(火) 15:11:37 ] そうです。 例えばですが メンバに ID 名前 年齢 日付 がある構造体の配列に IDや年齢のメンバの場合は番号順で日付は日付順などという感じでなのですが >>389 のサイトにListViewの並べ替えで似たものがあったのですが これを普通の配列で使えるように書き換えができないものかやっているのですが難しいです。
409 名前:デフォルトの名無しさん mailto:sage [2009/03/17(火) 15:22:44 ] だから>>403 まんまじゃん? ちょっと比較関数の中身が変わるだけで なにが分からないのか
410 名前: [―{}@{}@{}-] デフォルトの名無しさん mailto:sage [2009/03/17(火) 16:14:56 ] >>408 その手の物は、DataTableとDataViewを使うと DBライクに扱えて楽だと俺は思う
411 名前:デフォルトの名無しさん mailto:sage [2009/03/17(火) 16:20:57 ] 403=407 だが 自分で実装してみようと頑張ったが Dim MyList As New List(Of MySt) で宣言したところまでは出来たが いざMyListに値をAddしようとすると訳分からなくなった タダの配列 s(0).hoge s(0).moge をSortしようとしてもVBに怒られた 俺もお手上げ DataTable使いたくなるw
412 名前:デフォルトの名無しさん mailto:sage [2009/03/17(火) 16:27:36 ] ソート以前にリストの使い方からとは想定外でした
413 名前:411 mailto:sage [2009/03/17(火) 17:07:08 ] 何とか動いた この方法が正しいのかは分からんが s()の配列をAddRangeで代入して Structure要素の数だけhikakuを追加してやればいけた