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

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

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.04.2009, 17:17   #1
Танюшаа
 
Регистрация: 02.04.2009
Сообщений: 7
Вопрос Помогите разобраться с фрагментом кода!

Здравствуйте! Пожалуйста, напишите комментарии (где помечено знаком вопроса)!

procedure TFOtzetXLS.Button3Click(Sender: TObject);
var
Layout: array[0..KL_NAMELENGTH] of char; ????????
begin
LoadKeyboardLayout(StrCopy(Layout, '00000419'), KLF_ACTIVATE); ???????
try
ExportDBGrid(True);
except
ShowMessage('Ошибка экспортёра');
end;
end;

procedure TFOtzetXLS.ExportDBGrid(toExcel: Boolean);
var bm: TBookmark;
col, row: Integer;
sline: string;
mem: TMemo;
ExcelApp: Variant;
begin
Screen.Cursor := crHourglass;
DBGrid1.DataSource.DataSet.DisableC ontrols; ????????
bm := DBGrid1.DataSource.DataSet.GetBookm ark; ????????
DBGrid1.DataSource.DataSet.First; ?????????
// создаём объект Excel
if toExcel then
begin
ExcelApp := CreateOleObject('Excel.Application' );
ExcelApp.WorkBooks.Add(xlWBatWorkSh eet); ?????????
ExcelApp.WorkBooks[1].WorkSheets[1].name := 'Grid Data'; ???????
end;
// Сперва отправляем данные в memo
// работает быстрее, чем отправлять их напрямую в Excel
mem := TMemo.Create(Self);
mem.Visible := false;
mem.Parent := FOtzetXLS;
mem.Clear;
sline := '';

for col := 0 to DBGrid1.FieldCount - 1 do ????????????
sline := sline + DBGrid1.Fields[col].DisplayLabel + #9; ???????????
mem.Lines.Add(sline);
// получаем данные из memo
for row := 0 to DBGrid1.DataSource.DataSet.RecordCo unt - 1 do ??????
begin
sline := '';
for col := 0 to DBGrid1.FieldCount - 1 do sline := sline + DBGrid1.Fields[col].AsString + #9; mem.Lines.Add(sline); ????????????????????????
DBGrid1.DataSource.DataSet.Next; ???????????????????
end;
// Копируем в clipboard
mem.SelectAll;
mem.CopyToClipboard;
// если необходимо, то отправляем их в Excel

if toExcel then
begin
ExcelApp.Workbooks[1].WorkSheets['Grid Data'].Paste; ?????????
ExcelApp.Visible := true; ????????????
end;
ExcelApp := Unassigned; ????????????
DBGrid1.DataSource.DataSet.GotoBook mark(bm); ???????????
DBGrid1.DataSource.DataSet.FreeBook mark(bm); ???????????
DBGrid1.DataSource.DataSet.EnableCo ntrols; ?????????
Screen.Cursor := crDefault;
end;

end.
Танюшаа вне форума Ответить с цитированием
Старый 02.04.2009, 17:46   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

Ты ещё штук 10 копий своей темы создай...
Там, глядишь, тебя и заметят...

Я разве непонятно объяснил в этой теме, что тебе со своими вопросами надо обращаться в другой раздел?
EducatedFool вне форума Ответить с цитированием
Старый 03.04.2009, 06:00   #3
Танюшаа
 
Регистрация: 02.04.2009
Сообщений: 7
По умолчанию

Ну зачем же так грубо????!!!! Простите, новичок....
Танюшаа вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите разобраться с фрагментом кода! Танюшаа Microsoft Office Excel 1 02.04.2009 17:00
Помогите с обьяснением кода Alex1991 Помощь студентам 4 31.03.2009 18:21
Помогите в написании кода... sobol556 Паскаль, Turbo Pascal, PascalABC.NET 0 23.03.2009 19:49
Выдернуть куски кода из html-кода trafbite Помощь студентам 7 18.08.2007 13:51