![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Распечатка нескольких значений строк в DBGrid [D7, Access]
Дмитрий 2004 © (2004-03-11 18:51:00)Есть таблица, со строками выделенными Multiselect кто нибудь может хотя бы намикнуть как выделенные значения в строках распечатать?
visnuk (2004-03-17 16:51:00) [1]нет такой вот вопрос и у меня возник Код есть
это для множественной записи
procedure TForm1.SelectClick(Sender: TObject);
var
x: word;
TempBookMark : TBookMark;
begin
DBGrid1.DataSource.DataSet.DisableControls;
with Dbgrid1.SelectedRows do
if count > 0 then
begin
TempBookMark := DBGrid1.DataSource.DataSet.GetBookmark;
for x:= 0 to Count - 1 do
begin
if IndexOf(Items[x]) > -1 then
begin
DBGrid1.DataSource.DataSet.Bookmark := Items[x];
end;
end;
end;
DBGrid1.DataSource.DataSet.GotoBookmark(TempBookMark);
DBGrid1.DataSource.DataSet.FreeBookmark(TempBookMark);
DBGrid1.DataSource.DataSet.EnableControls;
end;
Понятно в пропущенном куске надо вывести на печать есть код для печати но он говорит что ошибка присутствует
procedure TPrintForm.Button2Click(Sender: TObject);
var
Items: TstringList;
begin
Items := TStringList.Create;
try
PixelsInInchX := GetDeviceCaps(Printer.Handle, LOGPIXELSX);
TenthsOfInchPixelsY := GetDeviceCaps(Printer.Handle, LOGPIXELSY) div 10;
AmountPrinted := 0;
MainForm.Enabled := False;
try
Printer.BeginDoc;
Application.ProcessMessages;
LineHeight := Printer.Canvas.TextHeight('X')+TenthsOfInchPixelsY;
DataModuleLamp.Sklad.First;
While (not DataModuleLamp.Sklad.Eof) or Printer.Aborted do
begin
Application.ProcessMessages;
With Items do
begin
AddObject(DataModuleLamp.Sklad.FieldByName('LampName').AsString, pointer(12));
end;
PrintLine(Items);
if AmountPrinted + LineHeight > Printer.PageHeight then
begin
AmountPrinted := 0;
if not Printer.Aborted then
Printer.NewPage;
end;
Items.Clear;
DataModuleLamp.Sklad.Next;
end;
if not Printer.Aborted then
Printer.EndDoc;
finally
MainForm.Enabled := True;
end;
finally
Items.Free;
end;
end;
Так вот ошибка в том что показывает AddObject не индефицирован
Zacho (2004-03-14 23:23:00) [2]2 Дмитрий2004: Что именно конкретней ? Или тебе готовую программу выслать ? Или несколько килобайт текста с основами работы с TDataSet, TDBGrid и печатью написать ?
Еще раз: что именнотебе непонятно ? Если "все" - то форум не поможет, читай учебники.
Johnmen (2004-03-14 01:27:00) [3]Книги читай. Это поконкретней...
Дмитрий2004 (2004-03-13 20:50:00) [4]Может че по конкретней подскажете
Zacho (2004-03-11 19:33:00) [5]Намекаю: для работы с выделенными строками есть TDBGrid.SelectedRows
Для печати - много чего есть, начиная с TPrinter и заканчивая генераторами отчетов. Впрочем, "начиная" и "заканчивая" здесь весьма относительно.. :)
В чем конкретно проблема ?
Может, просто найдешь и почитаешь какой-нибудь приличный учебник ?