0 / 0 / 0
Регистрация: 12.07.2012
Сообщений: 4

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

12.07.2012, 16:45. Показов 1932. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть программа которая читает данные из прибора. Значения выводятся на экран пользователя. Необходимо эти значения каждую секунду куда то сохранять, лог так сказать. Сейчас записываю в текстовый файл. Но файл увеличивается каждые 5 с на килобайт (оставлю сегодня на ночь- посмотрю что будет, но скорее всего прога повиснет). Куда еще можно сохранять значения- дата, время и четыре переменных с плавающей точкой? Чет с базами данных связываться не хочется- сунулся, остановился где то на создании таблиц в MySQL.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.07.2012, 16:45
Ответы с готовыми решениями:

Изменение текста в TextBox каждую секунду
Суть: Есть строка TextBox1.Text = Format(Now, "hh :mm :ss"), но почему-то обновляется только при нажатии кнопки (Написание любой буквы в...

Мне надо что-бы нажималось клавиша W каждую секунду
всем привет я хочу написать макрос для одной увлекательной игры ... мне надо чтобы нажималось клавиша W каждую секунду у меня есть...

Нужно чтобы стрелка каждую секунду передвигалась на 1 деление равное 1 секунде
я программирую секундомер(я знаю что смешно звучит но 'я не программист я только учусь') так вот мне нужно чтобы стрелка каждую секунду...

11
 Аватар для Kogb
367 / 128 / 28
Регистрация: 17.07.2011
Сообщений: 253
Записей в блоге: 1
12.07.2012, 17:24
Почему она должна повиснуть? Всего 17 МБ за сутки запишется.
Покажи как записываешь в файлс.
0
 Аватар для morgann55
1365 / 207 / 37
Регистрация: 09.02.2012
Сообщений: 745
12.07.2012, 18:11
Можно ведь при достижении определённого размера файла создать следующий и кидать в него (лишь бы места на диске хватало)....
0
 Аватар для Апострофф
9908 / 3928 / 742
Регистрация: 11.10.2011
Сообщений: 5,908
12.07.2012, 19:22
И записывать не в текстовый, а в типизированный файл.
Ещё в 5 (а то и более) раз экономия
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Option Explicit
 
Type m_rec
  DT As Date 'здесь можно хранить дату и время в 8-ми байтах
  a As Double '8-мь байт
  b As Double '8-мь байт
  c As Double '8-мь байт
  d As Double '8-мь байт
End Type
 
Sub main()
Dim m As m_rec
MsgBox Len(m) '40 байт
End Sub
1
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38203 / 21135 / 4310
Регистрация: 12.02.2012
Сообщений: 34,741
Записей в блоге: 14
12.07.2012, 22:00
И все это писать в сжатую папку!
0
0 / 0 / 0
Регистрация: 12.07.2012
Сообщений: 4
13.07.2012, 07:54  [ТС]
Цитата Сообщение от Kogb
Почему она должна повиснуть? Всего 17 МБ за сутки запишется.
Покажи как записываешь в файлс.
Прога не повисла за 12 часов -7 Мб.
Записываю так:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Public Sub WritLog()
Dim LogFile 
LogFile = FreeFile
'On Error GoTo Err
Open "C:\Save\Log.txt" For Append As #LogFile 
 
' Дата, время
Dim S, S1, S2 As String
S = Now
S1 = Mid(S, 1, 10) 'Дата
S2 = Mid(S, 11, 19) 'Время
 
Print #LogFile, S1, Chr(9), S2, Chr(9), Form1.Text1.Text, Chr(9), _
Form1.Text2.Text, Chr(9), Form1.Text3.Text, Chr(9), Form1.Text4.Text
Close #LogFile 
Exit Sub
'Err: MsgBox "Ошибка записи в файл"
Exit Sub
End Sub

А необходимо ли каждый раз закрывать файл после записи?

Добавлено через 9 минут
И записывать не в текстовый, а в типизированный файл.
Ещё в 5 (а то и более) раз экономия


Первый раз слышу про типизированный файл, новичок еще. Можно код записи в файл? И как его потом( в ручную) в Excel засунуть?
0
 Аватар для Апострофф
9908 / 3928 / 742
Регистрация: 11.10.2011
Сообщений: 5,908
13.07.2012, 08:03
Цитата Сообщение от Хан Посмотреть сообщение
А необходимо ли каждый раз закрывать файл после записи?
Трудно что-либо посоветовать?
С одной стороны: если не закрывать, а программа работает без перерыва сутками, то любой сбой в системе или питании - и всё нажитое непосильным трудом, ВСЁ пропало
С другой - за секунду можно и не успеть открыть многотонный файл, дописать данные и закрыть.
В итоге начнутся тормоза, запись станет нерегулярной.
Возможно, лучше выбрать сохранение раз в минуту или ещё как?
0
0 / 0 / 0
Регистрация: 12.07.2012
Сообщений: 4
13.07.2012, 08:37  [ТС]
Значит нужно закрывать файл каждый раз-однозначно.
Записывать значения необходимо каждую секунду- потом будут по ним точные графики составлять. Значит необходимо обратиться к типизированным файлам. Мне необходим файл "Июль 2012", значит: 40(байт)*2 592 000(с)/1024/1024=99 Мб/месяц. Вполне удобоваримо. Если получится.
 Комментарий модератора 
Осваиваем тэги!
0
 Аватар для Апострофф
9908 / 3928 / 742
Регистрация: 11.10.2011
Сообщений: 5,908
13.07.2012, 09:10
Цитата Сообщение от Хан Посмотреть сообщение
И как его потом( в ручную) в Excel засунуть?
Бинарный файл не прочитать в блокноте или в Экселе без декодера (собственной подпрограммы).
0
0 / 0 / 0
Регистрация: 12.07.2012
Сообщений: 4
13.07.2012, 09:34  [ТС]
Сделал так:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Option Explicit
Public Sub WritLog()
Dim DT As Date 
Dim a As Double 
Dim b As Double 
Dim c As Double 
Dim d As Double 
 
Dim LogFile 
LogFile = FreeFile
'On Error GoTo Err
Open "C:\Save\Log.tow" For Append As #LogFile 
DT = Now
a = Form1.Text1.Text
b = Form1.Text1.Text
c = Form1.Text1.Text
d = Form1.Text1.Text
'On Error Resume Next
Print #LogFile, DT, a, b, c, d
Close #LogFile 
Exit Sub
'Err: MsgBox "Îøèáêà çàïèñè â ôàéë"
Exit Sub
End Sub
Вроде файл медленней заполняется, на сколько сообщу попозже.
Почему при вставке комментарии кракозяброй отображаются-'Îøèáêà çàïèñè â ôàéë ??
0
 Аватар для Апострофф
9908 / 3928 / 742
Регистрация: 11.10.2011
Сообщений: 5,908
13.07.2012, 09:47
Цитата Сообщение от Хан Посмотреть сообщение
Почему при вставке комментарии кракозяброй отображаются-'Îøèáêà çàïèñè â ôàéë ??
Копируй при включенной русской раскладке!
И тэги используй, сколько раз ещё повторить надо!

Первый раз слышу про типизированный файл, новичок еще
Поищи по ключевым словам Open for random, Put, Get.
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
14.07.2012, 19:20
Апострофф, спасибо. Не знал о возможности записи пользовательского типа в двоичный файл.

Вот поигрался:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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
Интересно, блокировка файла на время записи занижает нагрузку на файловую систему антивируса?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.07.2012, 19:20
Помогаю со студенческими работами здесь

Запись параметров объектов в файл каждую секунду
Всем привет! Язык только осваиваю, поэтому нужна помощь. Поиском пользовался, не нашел подходящего. Имеется задача: нужно...

Действие каждую секунду
подскажите пожалуйста как сделать чтоб через каждую секунду выполнялось действие ну там вычесть из переменных

Действие, повторяющееся каждую секунду
подскажите пожалуйста как сделать чтоб через каждую секунду выполнялось действие ну там вычесть из переменных

Увеличение TrackBar.Value каждую секунду
Подскажите, как увеличивать значение trackBara-а на 1-ин, каждую секунду, с помощью timer-а.

Добавление по единице каждую секунду
Хочу сделать что-бы писало 1 (1 сек) 2 (1 сек) 3 и т.д,но не знаю как это сделать.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

Новые блоги и статьи
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru