掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
配列をバリアント型で宣言できるのか? (ID:118662)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
返信ありがとうございます。 どうしてもうまくいかないので、プログラムをのせて見ます。 アドバイス頂けると、うれしいです。 Private Sub ReceiveComm_OnComm() Dim varBuffer As String Dim strdata1 As Variant Static Ffrag, PictureFrag As Boolean 'シリアルポートのイベントプロパティに対する処理 Select Case ReceiveComm.CommEvent 'イベントメッセージ Case comEvCD Case comEvCTS Case comEvDSR Case comEvRing Case comEvReceive '受信データの取得 varBuffer = ReceiveComm.Input strData = strData & varBuffer 'バッファの右端の文字列にターミネータがある場合 If Right(varBuffer, 1) = TransDialog.strLastChar Then If TransDialog.strTerminate = "CR" Or TransDialog.strTerminate = "LF" Then 'ターミネータ文字が"CR"や"LF"なら一文字分抜き取る strData = Left(strData, Len(strData) - 1) Else '二重のターミネータなら二文字分を抜き取る strData = Left(strData, Len(strData) - 2) End If If InStr(strData, "START!") <> 0 Then 'START信号を受信したらログファイルとデータファイルを作成し開けておく If fopen = False Then fopen = OpenFile(SaveFileTxt, DirList.path, FileTypeComb) Call SaveLogFile("Recieves start") End If '送信側にデータの要求を求める ReceiveComm.Output = "DATA?" & TransDialog.strTerminator 'ファイルフラグを挙げる Ffrag = True '描画フラグを挙げる PictureFrag = True 'バッファデータを初期化 strData = "" varBuffer = "" 'パラメータの表示 Trans_Status.Caption = "通信開始" TimeText.Text = TimeText.Text & "Transmit Start" & Format(Now, "hh:mm:ss") & vbCrLf End If strdata1 = Split(strData, vbCr)’strDataをCRで区切って配列に格納 '通信路が切断した時(何故か上手くいかない→要デバッグ!) If InStr(strData, "NO CARRER") <> 0 Then '切断のパラメータを表示 Trans_Status.Caption = "通信中断" TimeText.Text = TimeText.Text & "Transmit Stopped" & Format(Now, "hh:mm:ss") & vbCrLf 'ログ記録 Call SaveLogFile("Interrupts") End If 'ファイルフラグが上がっている間データのセーブ If Ffrag = True Then Call SaveFile(strdata1, 0) End If で、SaveFileっていうのが、 'データのセーブ用関数 Public Function SaveFile(Data As Variant, channelNO As Long) Dim temp(8) As Variant Dim time As Long time = Second(Now) If OpenFrag = True Then 'データの格納 temp(channelNO) = Data 'セーブ Print #1, temp(channelNO) End If End Function strdataが一つの文字列に何個もデータがひっついてくるので、それを一個一個のデータにしてから、ファイルに書き出したいのです。 しかし、セーブのところでエラーが出てしまいます。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.