Есть БД, созданная в Paradox с помощью Database Desktop
На форме есть TTable, TDataSource, TDBGrid, TMemo, TOpenDialog и TSaveDialog и 2 кнопки (сохранить и открыть)
Как сделать так, чтобы при нажатии на кнопку "Сохранить" проводилось сохранение БД (всех записей из TDBGrid) в текстовый файл, а при нажатии кнопки "Открыть" соответственно открытие файла и загрузка его в TDBGrid?
Нашел несколько кодов (перенос из TDBGrid в TMemo, ну и затем запись в файл из TMemo), но они записывают одну строчку, а если еще добавить в код запись в файл, то постоянно появляется либо окно сохранения файла, либо непрерывно записывается в TMemo одна и таже строка
Вот эти коды:
1) здесь идет непрерывная запись одной и той же строки в TMemo
begin
Memo1.Lines.Clear;
DBGrid1.DataSource.DataSet.First;
while not DBGrid1.DataSource.DataSet.Eof do
begin
Memo1.Lines.Add(DBGrid1.DataSource.DataSet.FieldByName('№').AsString);
DBGrid1.DataSource.DataSet.next;
end;
2)
procedure TForm2.Button5Click(Sender: TObject);
var i : integer;
begin
Memo1.Clear;
for i := 0 to -1 + DBGrid1.FieldCount do
begin
Memo1.Lines.Add(DBGrid1.Fields[i].AsString);
end;
end;
3) а вот здесь постоянно появляется окно сохранения файла
procedure TForm2.Button5Click(Sender: TObject);
var i : integer;
var j : integer;
begin
for i:=0 to DBgrid1.Columns.Count-1 do
begin
memo1.Lines.Add('¹: '+DBGrid1.Columns.Items[i].Title.Caption);
for j:=0 to DataSource1.DataSet.RecordCount - 1 do // Iterate
begin
memo1.Lines.Add(DBGrid1.Columns.Items[i].field.displaytext);
DataSource1.DataSet.Next;
begin
if SaveDialog1.Execute then
Memo1.Lines.SaveToFile(SaveDialog1.FileName);
end;
end;
end;
end;
RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.
Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.
Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.