AFON//Радиотехник
C++Builder · проект 22/50

Журнал с отметкой времени

Дозапись строк в лог-файл с датой.

Задача

Вести журнал: каждая запись получает метку времени и дописывается в конец файла.

Компоненты на форме

Edit (EditMsg), Memo (MemoView), Button (ButtonAdd).

Как работает

  1. Ввести сообщение.
  2. Загрузить существующий лог, добавить строку с датой.
  3. Сохранить файл и обновить просмотр.

Исходный код модуля

//---------------------------------------------------------------------------
// Проект 22. Журнал с отметкой времени
// Дозапись строк в лог-файл с датой и временем.
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner)
{
}
//---------------------------------------------------------------------------

// Ведение лога: каждая запись получает метку времени и дописывается
// в конец файла, ничего не затирая.
void appendLog(const AnsiString &fname, const AnsiString &msg)
{
    TStringList *sl = new TStringList();
    try {
        if (FileExists(fname)) sl->LoadFromFile(fname);
        sl->Add(DateTimeToStr(Now()) + "  " + msg);
        sl->SaveToFile(fname);
    }
    __finally { delete sl; }
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ButtonAddClick(TObject *Sender)
{
    AnsiString msg = EditMsg->Text.Trim();
    if (msg.IsEmpty()) return;
    appendLog("event.log", msg);
    MemoView->Lines->LoadFromFile("event.log");
    EditMsg->Clear();
}
//---------------------------------------------------------------------------

Пояснения

  • Now() возвращает текущие дату и время, DateTimeToStr форматирует их.
  • Дозапись реализована через загрузку-добавление-сохранение.
📦 help-user.ru — срочный ремонт компьютеров и восстановление данных в Москве: help-user.ru.

Что дальше

Создайте в C++Builder новый проект, разместите перечисленные компоненты и вставьте код модуля. Остальные 49 программ — в разделе проектов на C++Builder; смотрите также обзор среды и контроллеры AVR.