No.1
- 回答日時:
Dim DataValues(4) As Double
Private Sub Form_Load()
DataValues(0) = 567.6
DataValues(1) = 653.1
DataValues(2) = 256#
DataValues(3) = 345.5
DataValues(4) = 123#
End Sub
Private Sub Timer1_Timer()
Static I As Integer
If I = 0 Then
Me.Text1 = ""
End If
Me.Text1 = Format(DataValues(I), "0.0") & Chr$(13) & Chr$(10) & Me.Text1
I = (I + 1) Mod 5
End Sub
このコードを実行すると望みの結果が得られていることが確認できると思います。
ご回答ありがとうございました。
測定値の読み込みは出来ています。と書かせて頂きましたが、測定値は
その都度変動します。
Text1.textには受信の都度、毎回表示できています。
と同時にText2.textに履歴を残したいのですが・・・
上記ですと、数値が固定してないとできないと思うのですが・・・
質問の仕方が悪くてもうしわけございませんでした。
No.2
- 回答日時:
「SelStartプロパティ」で、先頭を指定して、
「SelTextプロパティ」で、追加する。
と言うのが、簡単だと思います。
#改行コードを追加するのを忘れないように。
> テキストボックス内は記載できなくて結構です。単に取り込むだけでOK
だったら、テキストボックスじゃなくても良さそうですが・・・
例えば、リストボックスとか・・・
ご回答ありがとうございます。
リストボックスでも考えましたが、表示画面一杯になった場合次はどうなるのでしょう?
測定値は目に見える範囲は10個ぐらいで、過去の測定値(表示画面からはみ出た数値を、マルチラインで履歴を見るみたいなことがしたいのですが・・・
うまく表現が出来ず申し訳ございません。
No.3
- 回答日時:
#2です。
> リストボックスでも考えましたが、表示画面一杯になった場合次はどうなるのでしょう?
どうなるとは??
「あふれた分は、下に隠れて、スクロールバーで表示できます。」
と言う答えで良いのかな??
リストボックスも、追加する場所が指定できますから、
先頭に追加するようにすれば済むと思いますが・・・
#そうすれば、古いデータから順に、下に隠れていく。
そうだったんですか・・了解しました。
それでリストボックスで組んでみたんですが、うまく出来ません;;
現在inttmpと言う変数に毎回測定値が書き換わるようにしてText1.text
に表示できるようになってるのですが、このinttmpを使用してリスト
ボックスに表示していくには、どうのような構文にすればいいのでしょう?
具体的にご教授お願い出来ないでしょうか?m(__)m
No.4
- 回答日時:
#2です。
> それでリストボックスで組んでみたんですが、うまく出来ません;;
とりあえず、組んでみたコードを見せてください。
後、どう「うまくいかない」かも教えてください。
#「XXXXとなると思ったが、XXXXとなってしまう」とかのレベルで構いません。
単純に、
> 現在inttmpと言う変数に毎回測定値が書き換わるようにして
> Text1.textに表示できるようになってるのですが
と同じタイミングで、AddItemメソッドを実行するだけで済むと思うんですが・・・
この回答への補足
Private Sub Timer3_Timer()
Timer3.Enabled = False
'レスポンス受信で正常・異常判定
buf = MSComm1.Input
kioku1 = Mid(buf, 42, 1)
response1 = Mid(buf, 36, 4) '・・・・・・レスポンスコードで正常か異常か判定する
Select Case response1
Case "0000" '・・・・・・0000(正常なら、イベントか計測値か判定)
'イベントか計測レスポンスかを判定
Select Case response2
Case "1" '・・・・・・イベントレスポンスだった場合
taiming = Mid(buf, 42, 1) '・・・・・タイミングを計って記録する
Timer2.Enabled = True '・・・・・・計測コマンドを送信
Case "2" '・・・・・・計測レスポンスだった場合
strmidstring = Mid(buf, 40, 8) 'MID関数で右から40番目から8番目までを抜き取り
inttmp = Val("&H" & strmidstring) '16進数を10進数に変換
inttmp2 = Val(inttmp / 1000)
Txt_1.Text = inttmp2 '・・・・・・画面上text1にモニタ値を表示
inttmp3 = inttmp2 & Chr(13) & Chr(10) & inttmp3
List1.AddItem "inttmp3" '・・・・・・画面上リスト1にモニタ値を順次表示
Open "test_kiroku.csv" For Append As #1
Write #1, Now, inttmp2 '・・・記録ファイルに保存
Close #1
Timer1.Enabled = True '・・・・・イベントコマンドを送信
End Select
Case Else 'ケースが"0000”以外の時の処理
Timer1.Enabled = True 'レスポンスコードが異常の場合、再度イベントコマンドを送信
End Select
End Sub
文字数に制限がありましたので、補足に記載しました。ちょっと恥ずかしいのですが(´・ω・`)
リストに順次現れるのですが、「inttmp3」がずらずらと現れてしまいます。
No.6ベストアンサー
- 回答日時:
#2です。
> Txt_1.Text = inttmp2 '・・・・・・画面上text1にモニタ値を表示
> inttmp3 = inttmp2 & Chr(13) & Chr(10) & inttmp3
(1)リストボックスに改行コードは必要ありません。
#「Chr(13) & Chr(10)」はいらない。
(2)リストボックスは、1行1データなので、以前に設定済みの物に追加する必要はありません。
#「& inttmp3」はいらない。
#ちなみに、テキストボックは、全体で1データなので、
#改行が必要ですし、設定済みのデータに追加しなければなりません。
つまり、「inttmp2」のままでよいということです。
> List1.AddItem "inttmp3" '・・・・・・画面上リスト1にモニタ値を順次表示
(3)コレでは、「inttmp3」と言う文字になってしまいます。
変数名を指定するのに、"~"は不要です。
(4)先頭に追加したいのですから、追加位置(先頭なら「0」)を指定しておかなければなりません。
って事で、
> inttmp3 = inttmp2 & Chr(13) & Chr(10) & inttmp3
この行は、完全に必要なく、
> List1.AddItem inttmp2,0 '・・・・・・画面上リスト1にモニタ値を
とするだけでよさそうですけど・・・
どうもありがとうございました。m(__)m
順次表示できました。あともうちょっと味付けが必要なようですがw
大変お世話になりました。また、よろしくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(開発・運用・管理) おんどとりWebStorage APIから温度情報を取得し表示したい 2 2023/08/03 09:53
- 統計学 2019年度の毎日朝6時に測定された東京都霞が関における窒素酸化物(Nox)濃度のモニタリングデータ 4 2023/04/24 16:45
- Excel(エクセル) Excel グラフの軸に「表示単位の変更」の要領でテキストを追加したい 1 2022/06/08 16:27
- C言語・C++・C# [C言語] コメント文字列を無視して、数値データを読み込むプログラム部分について 5 2022/10/05 11:03
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Visual Basic(VBA) 【困っています2】VBA 追加処理の記述を教えてください。 2 2022/08/26 11:42
- Excel(エクセル) Excelマクロ 差分抽出の方法が知りたいです。 2 2023/03/07 13:25
- その他(データベース) c言語の問題です。これを踏まえてコーディングしたいのでおしえていただきたいです。 3 2023/08/03 09:27
- Visual Basic(VBA) visual basic初心者です。 visual studioで電卓を作成しています。 実行時にテ 1 2023/02/08 00:18
- その他(プログラミング・Web制作) Windowsのマクロプログラムで、こんなことできますか? 3 2022/06/28 14:30
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
access vba 『○○件づつ表示』を...
-
MSFlexGrid 行選択状態
-
C# DataTableに最後に追加した...
-
VB webデータの取得
-
VBAでアクセスDBからデータの取...
-
COBOL数値転記の仕様
-
【C#】textBoxの指定行のデータ...
-
エクセルのセル最終行取得
-
VB2010で、選択した系列を最前...
-
DataGridの全行編集状態での行追加
-
「Nullの使い方が不正です」の...
-
【VB.NET】Excelの最終行までの...
-
アクセスでウェブ上のデータを...
-
batでレジストリキーから読み取...
-
webからの帳票表示
-
エクセルのCSV読み込みについて
-
Visual Basic 2010で方形波(矩...
-
XMLでデータとして画像を指定す...
-
EXCEL VBAで散布図の作成
-
Web画面のTableから数字を取得...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「Nullの使い方が不正です」の...
-
【C#】textBoxの指定行のデータ...
-
【VB.NET】Excelの最終行までの...
-
VBAでアクセスDBからデータの取...
-
Excel VBAでフォルダ内の全テキ...
-
C# DataTableに最後に追加した...
-
XMLでデータとして画像を指定す...
-
VBAコンボボックスの内容が反映...
-
MSFlexGrid 行選択状態
-
COBOL数値転記の仕様
-
クリスタルレポートでレコード...
-
非同期のプロセス間通信(パイプ...
-
ActiveReportのdetailをデータ...
-
アクセスでウェブ上のデータを...
-
Excel VBAでグループ毎に集計す...
-
batでレジストリキーから読み取...
-
富士通(汎用機)のAIMについて
-
Web画面のTableから数字を取得...
-
Excel VBAで1週間毎にカテゴリ...
-
エクセルのCSV読み込みについて
おすすめ情報