MSFlexGridにデータを出力するには?

解決


名無し  2005-11-07 20:25:48  No: 127395

センサでデータを取得して、リアルタイムでMSFlexGridにデータを出力するにはどうしたらいいですか?
知っている方がいたら教えてください。
環境は、WindowsでVB6です。


なな  2005-11-07 20:34:48  No: 127396

MSFLEXGridの使い方が分からないのならば
http://www.bcap.co.jp/hanafusa/VBHLP/MSFlexind.htm


ガッ  2005-11-07 20:36:37  No: 127397

[MSFlexGrid].TextMatrix(Cols,Rows)=<リアルタイムなデータ>
みたいな?


名無し  2005-11-07 22:34:50  No: 127398

それは、複数のデータも出力できるんですか?


なな  2005-11-07 22:39:40  No: 127399

基本は同じです、
複数のデータを一つのセルに出したいならば・・・。

複数のデータを複数のセルに出したいのであれば、RowsとColsを変更します。


名無し  2005-11-07 22:50:22  No: 127400

[MSFlexGrid].TextMatrix(Cols,Rows)=<リアルタイムなデータ>を繰り返しにすればいいでんすか?


なな  2005-11-07 22:58:34  No: 127401

はい
Loopなどで、RowsやColsを変更しながら、リアルタイムなデータを
書き込んでいけば、どんどん行が追加していきます。


名無し  2005-11-07 23:02:49  No: 127402

例えばこんな感じでしょうか?

For j = 1 To 1000
  MSFlexGrid1.TextMatrix(0, j) = i
  MSFlexGrid1.TextMatrix(1, j) = data(i)
  MSFlexGrid1.TextMatrix(2, j) = cVolt(i)
Next


なな  2005-11-07 23:25:20  No: 127403

そうですが、出来ませんか?


名無し  2005-11-07 23:59:06  No: 127404

インデックスの有効範囲外になります。


もげ  2005-11-08 00:08:08  No: 127405

ColsかRowsがおかしいんじゃ...

    Dim i As Long
    Me.MSHFlexGrid1.Cols = 3
    Me.MSHFlexGrid1.Rows = 1001
    For i = 1 To 1000
      Me.MSHFlexGrid1.TextMatrix(i, 0) = i
      Me.MSHFlexGrid1.TextMatrix(i, 1) = "TEST" & i
      Me.MSHFlexGrid1.TextMatrix(i, 2) = "FIELD" & i
    Next


なな  2005-11-08 00:09:02  No: 127406

インデックスは有効範囲内で使用しましょう。

有効範囲を超えている変数を特定してください。


名無し  2005-11-08 00:30:30  No: 127407

ただ(0,j)を(j,0)としたら出力されエラーも解決しました。
ただ出力データが、1000まで行くとMSFlexGridの中身が全部1000番目のデータになるんですがどうしてですか?


もげ  2005-11-08 00:45:47  No: 127408

どうして  の理由は  
「貴殿がそういうふうにコードを組んだから」  
以外には考えられないので、
ブレークポイントを設定してステップ実行して、
変数をウォッチしてみてください。
変数i,jを使って2重ループしてるのであれば、
その終了条件とi,jの値の遷移をよく確認してみてください。


名無し  2005-11-08 01:11:06  No: 127409

解決しました。
みなさんありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加