C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

全過去ログを検索

<< 0 >>
■10062  Re[1]: 構造体にファイルからデータをセット
□投稿者/ 魔界の仮面弁士 -(2007/11/10(Sat) 17:28:56)
    2007/11/10(Sat) 18:02:17 編集(投稿者)

    No10060 (トップオブツヨシ さん) に返信
    > Public Function sbGETFile(ByVal strFile As String) 'strFileは参照するファイル名がセット
    戻り値を利用しないのであれば、Function ではなく、Sub を使うべきかと。


    > ファイルの中身********
    >  1byte目 AAAデータ
    >  2byte目 BBBデータ
    >  3byte目 CCCデータ
    >  4byte目 CCCデータ
    >  5byte目 CCCデータ
    これでは駄目ですよ。ファイル内に『配列サイズ』などが定義されていませんので。

    たとえば、今回の TEST_TYPE 構造体に対して
      .AAA = &H12
      .BBB = &H34
      .CCC(0) = &H56
      .CCC(1) = &H78
      .CCC(2) = &H9A
    というデータを求める場合、ファイルの内容は 15バイトの
     12 34 01 00 03 00 00 00 00 00 00 00 56 78 9A
    でなければなりません。これは、下記の意味を持ちます。


     位置 内容 意味
     ------ -------- -----------------------------------------------------------------
     00 12 Byte値18。AAAを意味する。
     01 34 Byte値52。BBBを意味する。
     02-03 01 00 Short値1。CCC配列の次元数を意味する。
     04-07 03 00 00 00 Integer値3。CCC配列の1次元目の長さを意味する。
     08-0B 00 00 00 00 Integer値0。CCC配列の1次元目の下限値を意味する。VB.NETでは0固定。
     0C 56 Byte値170。CCC(0)を意味する。
     0D 78 Byte値187。CCC(1)を意味する。
     0E 9A Byte値204。CCC(2)を意味する。


    > 『ストリームの終わりを超えて読み取ることはできません。』
    今回の場合、3バイト目以降(位置02〜)のデータが不正だったので、その(誤って指定された)配列サイズが、
    実際のファイルサイズを超えてしまう結果となり、ファイル終端を越えた読み取りが発生したのでしょう。


    あるいはデータを修正するのではなく、ソース側を修正することができるのであれば、
    > ファイルの中身********
    >  1byte目 AAAデータ
    >  2byte目 BBBデータ
    >  3byte目 CCCデータ
    >  4byte目 CCCデータ
    >  5byte目 CCCデータ
    を読み込むために、TEST_TYPE 構造体の定義を
     Public AAA As Byte
     Public BBB As Byte
     <VBFixedArray(2)> Public CCC() As Byte
    のように変更するという回避策もあります。
記事No.10060 のレス /過去ログ23より / 関連記事表示
削除チェック/

■38708  Re[1]: 時刻を24時間表記にする方法
□投稿者/ みきぬ -(2009/07/23(Thu) 16:20:21)
    Parse するときに書式を指定できたのと同様に、出力するときにも書式を指定することができます。
    説明すると長くなるので、参考先をあげておきます。

    .NET TIPS : 日付や時刻を文字列に変換するには?
    http://www.atmarkit.co.jp/fdotnet/dotnettips/200customdate/customdate.html


    # 関係ないけど、MM と mm 、HH と hh の違いは要注意ですな
記事No.38704 のレス /過去ログ66より / 関連記事表示
削除チェック/

■49125  Re[2]: ストアドのreturn値を取得したい
□投稿者/ たくま -(2010/04/23(Fri) 09:42:16)
    どんぴしゃです。解決しました。

    ありがとうございました!
記事No.49101 のレス / END /過去ログ83より / 関連記事表示
削除チェック/

■53038  Re[1]: VB2008のSLEEPについて
□投稿者/ 麒麟 -(2010/09/01(Wed) 19:17:31)
    こちらは削除してください。
記事No.9738 のレス /過去ログ89より / 関連記事表示
削除チェック/

■53039  Re[1]: DataGridViewのコンボボックス列
□投稿者/ すなふきぬ -(2010/09/01(Wed) 19:18:05)
    No53011 (にょろ さん) に返信
    > お世話になります。
    >
    > データソースにある一つのテーブルを選択しデザイナからDataGridVieを配置しました。
    > そのDataGridViewの一列をコンボボックスにして、DataSourceに別のテーブルを設定しました。
    >
    > この状態でデータを表示させるとValueMemberで指定したフィールドで一致する場合はDisplayMemberのフィールドの値が表示されます。
    > しかし、該当するものがValueMemberで指定したフィールドに無い場合DataGridViewに表示した際、エラーとなります。
    >
    > これを解消する方法がありましたらご教授お願いたします

    コンボボックスにバインドするデータの中に、対応するTEN_IDが無い場合どのように対応するかで方法も変わってくると思いますが、エラーメッセージを出さないだけであれば、DataGridViewのDataErrorイベントをハンドルするだけでいいと思います。
記事No.53011 のレス /過去ログ89より / 関連記事表示
削除チェック/

■53037  SLEEPについて
□投稿者/ 麒麟 -(2010/09/01(Wed) 19:14:16)

    分類:[VB.NET/VB2005 以降] 

    VB2010を使用していますが、SLEEP(1000)で正常に動作するのですが
    別PCを使用するとそれよりも短くSLEEP(700)程度になってしまいます。
    考えられる原因がおわかりなる方がいらっしゃいましたら教えてください。
親記事 /過去ログ89より / 関連記事表示
削除チェック/

■83336  Re[28]: 大量のテキストファイルをマルチスレッドで高速に読み込む方法
□投稿者/ 金尾 -(2017/03/17(Fri) 12:43:36)
    ありがとうございます。

    納得しました。
    そういうことでしたか。

    どうも、HDDとSSDで取得方法を変えた方が効率が良さそうです。

    指定したドライブがHDDかSSDかを調べたいのですが
    どのようなコードで調べることができますか?

    ざっと検索して調べてみたのですが
    分かりませんでしたので教えてください。
     
記事No.83253 のレス /過去ログ142より / 関連記事表示
削除チェック/

■83339  Re[29]: 大量のテキストファイルをマルチスレッドで高速に読み込む方法
□投稿者/ 魔界の仮面弁士 -(2017/03/17(Fri) 13:23:52)
    No83336 (金尾 さん) に返信
    > どうも、HDDとSSDで取得方法を変えた方が効率が良さそうです。

    やるとしても、HDD か SSD かではなく、「SSD かどうか」の判定の方が良いかも。

    それ以外のケース、たとえばネットワークドライブや
    ソフトウェアRAIDなど、判定できないケースもあるでしょうし。


    > 指定したドライブがHDDかSSDかを調べたいのですが
    > どのようなコードで調べることができますか?
    この手の判断なら、WMI の出番でしょうね。

    Windows 8 以降なら、MSFT_PhysicalDisk クラスの
    MediaType プロパティ(3=HDD,4=SSD,5=SCM,0=Unspecified)で判断できます。
    USB 接続タイプのものだと、SSD/HDD共に 0 が返されることもありますので、
    その場合は SpindleSpeed プロパティでディスクの回転数も確認してみて下さい。
    SSD なら 0 が返ります。(回転数情報が無い場合は UInt32.MaxValue)

    https://msdn.microsoft.com/en-us/library/hh830532.aspx
記事No.83253 のレス /過去ログ142より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -