Запись значений каждую секунду - VB

Узнай цену своей работы

Формулировка задачи:

Есть программа которая читает данные из прибора. Значения выводятся на экран пользователя. Необходимо эти значения каждую секунду куда то сохранять, лог так сказать. Сейчас записываю в текстовый файл. Но файл увеличивается каждые 5 с на килобайт (оставлю сегодня на ночь- посмотрю что будет, но скорее всего прога повиснет). Куда еще можно сохранять значения- дата, время и четыре переменных с плавающей точкой? Чет с базами данных связываться не хочется- сунулся, остановился где то на создании таблиц в MySQL.

Решение задачи: «Запись значений каждую секунду»

textual
Листинг программы
Type m_rec 'итого - 16 байт на 1 запись
  DT As Date 'здесь можно хранить дату и время в 8-ми байтах
  a As Double '8-мь байт
End Type
 
Sub main()
Dim m As m_rec, ff&
  
  m.a = 1E+16
  m.DT = Now
ff = FreeFile
Open "c:\123.txt" For Binary Lock Read Write As #ff 'первая запись
  Put #ff, , m
Close #ff
Debug.Print m.a, m.DT
 
  m.a = 1.23456789012345E+15
ff = FreeFile
Open "c:\123.txt" For Random Lock Read Write As #ff Len = Len(m) 'следующая запись
  Put #ff, LOF(ff) / Len(m) + 1, m
Close #ff
 
  m.a = 0 'обнуляем для чистоты эксперимента
  m.DT = 0
ff = FreeFile
Open "c:\123.txt" For Binary As #ff 'считываем последнюю запись
  Get #ff, LOF(ff) - Len(m) + 1, m
Close #ff
Debug.Print m.a, m.DT
End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.9 из 5
Похожие ответы