Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 01.01.2014, 23:24
govorun govorun вне форума
Новичок
 
Регистрация: 30.10.2013
Сообщения: 60
Версия Delphi: delphi 7
Репутация: 10
По умолчанию из dbgrid в Memo

Всех с наступившим....

Нужно содержимое dbgrid перенести в Memo. Сделал так:

Код:
procedure TForm2.Button9Click(Sender: TObject);
var
//nach:integer;
i:integer;
f:string;
begin
    while not DBGrideh1.DataSource.DataSet.Eof do
    begin
    f:='';
    //nach:=4;
    for i:=0 to DBGrideh1.DataSource.DataSet.FieldCount-1 do
    f:=f + DBGrideh1.DataSource.DataSet.Fields[i].AsString;
    memo1.Lines.add(f);
    //memo1.Lines.Insert(nach+i, f);
    DBGrideh1.DataSource.DataSet.Next;
    end;
end;

Вроде работает, но стоят задачи:
1. Выгрузка в Memo должна начинаться со строки № 4 и текст, который до выгрузки был в строках 4, 5,.... не должен затираться, а смещаться;
2. Выгрузка происходит построчно, но сплошным текстом. Как сделать пробелы между полями и перед первым полем.
3. А может кто подскажет как содержимое dbgrid перекинуть в Memo в виде таблицы, что бы был читабельный вид (Excel не предлагать, нужен текстовый файл).
Ответить с цитированием
  #2  
Старый 01.01.2014, 23:44
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от govorun
Нужно содержимое dbgrid перенести в Memo. Сделал так:
DBGrid не содержит никаких данных, он только отображает "чужой" набор данных
Цитата:
Сообщение от govorun
Вроде работает, но стоят задачи:
1. Выгрузка в Memo должна начинаться со строки № 4 и текст, который до выгрузки был в строках 4, 5,.... не должен затираться, а смещаться;
В таблицах баз данных не строки, а записи. Чтобы начать с 4-ой записи сделай перед циклом:
Код:
DBGrideh1.DataSource.DataSet.RecNo := 4;
Цитата:
Сообщение от govorun
2. Выгрузка происходит построчно, но сплошным текстом. Как сделать пробелы между полями и перед первым полем.
Пробелы вставляй самостоятельно:
Код:
f:=f + ' ' + DBGrideh1.DataSource.DataSet.Fields[i].AsString;
Цитата:
Сообщение от govorun
3. А может кто подскажет как содержимое dbgrid перекинуть в Memo в виде таблицы, что бы был читабельный вид (Excel не предлагать, нужен текстовый файл).
Во-первых установи в Memo моноширинный шрифт. Во-вторых дополняй нужным количеством пробелов строки в полях (столбцах) чтобы в сумме у них получалась одинаковая длина в символах.
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 18:30.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025