Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.01.2021, 09:58   #1
limarukraine
 
Регистрация: 11.11.2012
Сообщений: 7
По умолчанию Программное добавление записи в БД

Доброго времени суток. Мой вопрос: можно ли добавить в Delphi запись в БД не вручную, а програмно ? У меня программа получает данные из COM порта. Я хотел бы оформить в качестве БД массив где один столбец номер по порядку (или интервал времени) а второй - значение импульса (0 или 1) из COM порта
limarukraine вне форума Ответить с цитированием
Старый 30.01.2021, 14:30   #2
Heneken87
Форумчанин
 
Регистрация: 27.04.2012
Сообщений: 219
По умолчанию

День добрый - можно. Главное определить какой БД пользоваться. Для вашей задачи создавать БД(в ее привычном понимании) не имеет смысла. Данные с COM порта вы можете записывать в файл. INI или XML например. ПРимер для INI:
в uses добавьте - System.IniFiles
в корне вашей ПО создайте файл DATA.INI
в private формы добавьте поле
Код:
 FDataINI: TIniFile;
в событии создание формы (onCreate) пропишите код:
Код:
 FDataINI := TIniFile.Create(ExtractFilePath(Application.ExeName) +'DATA.INI')
// ExtractFilePath(Application.ExeName ) - Это путь до места, где лежит ваше ПО
запись в INI:
Код:
FDataINI.WriteString('NUMBER','INTERVAL','0.4');
FDataINI.WriteString('NUMBER','VALUE_COM','1');
FDataINI.UpdateFile;
Если откроете файл, то увидите вот такое:
Код:
[NUMBER]
INTERVAL=0.4
VALUE_COM=1
Заголовок - NUMBER это как пример, вместо него вы можете использовать что угодно. Номер порта например.
Чтение происходит вот так:
Код:
FDataINI.ReadString('NUMBER','INTERVAL','0');
FDataINI.ReadString('NUMBER','VALUE_COM','0');
,'0' - это значение по умолчанию, на случай если в INI нет значение для блока 'NUMBER' с атрибутом 'VALUE_COM'/'INTERVAL'

Примерно так будет выглядеть unit формы:
Код:
unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, System.IniFiles, Vcl.StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    FDataINI: TIniFile;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  FDataINI.WriteString('NUMBER','INTERVAL','0.4');
  FDataINI.WriteString('NUMBER','VALUE_COM','1');
  FDataINI.UpdateFile;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
   FDataINI := TIniFile.Create(ExtractFilePath(Application.ExeName) +'DATA.INI');
end;

end.
P.S: Удачи в кодинге =)
Пишу много и развернуто

Последний раз редактировалось Heneken87; 30.01.2021 в 14:53.
Heneken87 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
программное добавление элементов android sinestro Java Мобильная разработка (Android) 0 15.06.2015 09:16
программное добавление картинок в Word xrob Компоненты Delphi 0 30.04.2014 18:06
Программное добавление textBox zaki C# (си шарп) 2 06.12.2013 19:15
Программное добавление формы в проект zerat Общие вопросы Delphi 7 28.09.2013 16:17
Программное добавление принтера AlexandrSid Общие вопросы Delphi 5 13.08.2008 15:29