![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#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. |
![]() |
![]() |
![]() |
#3 |
Регистрация: 02.04.2009
Сообщений: 7
|
![]()
Ну зачем же так грубо????!!!! Простите, новичок....
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите разобраться с фрагментом кода! | Танюшаа | 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 |