10.12.2018, 10:43 [+3 UTC]
в нашей команде: 3 202 чел. | участники онлайн: 9 (рекорд: 19)

:: РЕГИСТРАЦИЯ

:: задать вопрос

:: все разделы

:: правила

:: новости

:: участники

:: доска почёта

:: форум

:: блоги

:: поиск

:: статистика

:: наш журнал

:: наши встречи

:: наша галерея

:: отзывы о нас

:: поддержка

:: руководство

Версия системы:
7.56 (09.12.2018)

Общие новости:
01.12.2018, 22:30

Форум:
08.12.2018, 14:26

Последний вопрос:
09.12.2018, 18:57

Последний ответ:
10.12.2018, 10:19

Последняя рассылка:
10.12.2018, 03:45

Писем в очереди:
0

Мы в соцсетях:

Наша кнопка:

RFpro.ru - здесь вам помогут!

Отзывы о нас:
31.05.2010, 22:28 »
verona
Большое спасибо за быстрый и качественный ответ! [вопрос № 178789, ответ № 261779]
14.12.2010, 04:24 »
Савенков М.В.
Написано хорошо + есть графики + присутствуют рисунки. В общем, так держать smile [вопрос № 181223, ответ № 264752]
26.09.2010, 16:39 »
Sergey V. Gornostaev
Спасибо! Оно одно к одному: что страховая компания, что автосалон. Это я понял позже (как и многие другие наверно). [вопрос № 180036, ответ № 263194]

РАЗДЕЛ • Pascal / Delphi / Lazarus

Создание программ на языках Pascal, Delphi и Lazarus.

[администратор рассылки: Зенченко Константин Николаевич (Старший модератор)]

Лучшие эксперты в этом разделе

Зенченко Константин Николаевич
Статус: Модератор
Рейтинг: 849
Степанов Иван /REDDS
Статус: 4-й класс
Рейтинг: 27
Асмик Гаряка
Статус: Советник
Рейтинг: 3

Перейти к консультации №:
 

Консультация онлайн # 67165
Раздел: • Pascal / Delphi / Lazarus
Автор вопроса: SIR
Отправлена: 15.12.2006, 21:16
Поступило ответов: 2

Привет знатоки. Есть некий прибор считающий расход вещества,
находящийся в отдаление от рабочего места.
У него есть выход на Com-порт. Хотелось бы создать программу
что бы выводить расход (суточный, часовой и т.д.) на компьютер.
В инете про приём данных ничего не нашёл. Может, кто поможет, чем может?
Пожалуйста. И второе нужно, что бы данные сохранялись, допустим, в 9-00 ежесуточно в программе до следующих суток.
Может сумбурно объяснил извините
Не откажите в просьбе начинающему.

Состояние: Консультация закрыта

Ответ # 131865 от Лукьяненко Алексей Валериевич

Здравствуйте, SIR!

В общем, алогритм такой:
открываете com-порт на чтение функцией CreateFile('COM1', GENERIC_READ, 0, nil, OPEN_EXISTING, 0, 0)
устанавливаете параметры обмена (скорость, контроль четности и др) с помощью функции SetCommState
и после этого начинаете читать данные функцией ReadFile.

Описание параметров функций можно найти во встроенной справке Delphi
Для работы Вам понадобится точная информация, какие параметры обмена поддерживает ваше устройство, и формат данных, которые Вы будете получать

Если будут вопросы - пишите в личку


Консультировал: Лукьяненко Алексей Валериевич
Дата отправки: 15.12.2006, 21:29

Рейтинг ответа:

0

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Ответ # 132248 от PaVeL_Ekt

Здравствуйте, SIR!

Запись в файл по расписанию:

Ставим таймер с интервалом в минуту (думаю нет разницы запуститься в 9:00:00 или 9:00:59)

в обработчике таймера пишем такой код:
Var
Hour, Min, Sec: Word;
begin
DecodeTime(Time, Hour, Min, Sec);
if (Hour=9)and(Min=0) then
begin
//запись в файл
end;
end;

Записать в файл можно несколькими способами.

Простой текстовый файл:
Var F: TextFile;
...
assignfile(F, FileName);
if fileexists(FileName) then append(f) // если существует открываем
else rewrite(f);
WriteLn(F, String_For_Record);
CloseFile(F);

Нетипизированный файл:
Var F: TextFile;
...
assignfile(F, FileName);
if fileexists(FileName) then reset(F, 1) // если существует открываем
else rewrite(F, 1); // перезаписываем (создаем новый)
BlockWrite(F, String_For_Record, Length(String_For_Record));
CloseFile(F);

Еще можно записывать через TFileStream:
var
FileStream: TFileStream;
...
FileStream:=TFileStream.Create(File_Name, fmOpenReadWrite);
FileStream.WriteBuf(String_For_Record, Length(String_For_Record);
FileStream.Free;


Консультировал: PaVeL_Ekt
Дата отправки: 18.12.2006, 13:18

Рейтинг ответа:

0

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Возможность оставлять сообщения в мини-форумах консультаций доступна только после входа в систему.
Воспользуйтесь кнопкой входа вверху страницы, если Вы зарегистрированы или пройдите простую процедуру регистрации на Портале.

Яндекс Rambler's Top100

главная страница | поддержка | задать вопрос

Время генерирования страницы: 0.15644 сек.

© 2001-2018, Портал RFPRO.RU, Россия
Калашников О.А.  |  Гладенюк А.Г.
Версия системы: 7.56 от 09.12.2018