Форум: "Базы";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];
ВнизРаспечатка нескольких значений строк в DBGrid Найти похожие ветки
← →
Дмитрий 2004 (2004-03-11 18:51) [0]Есть таблица, со строками выделенными Multiselect кто нибудь может хотя бы намикнуть как выделенные значения в строках распечатать?
← →
Zacho © (2004-03-11 19:33) [1]Намекаю: для работы с выделенными строками есть TDBGrid.SelectedRows
Для печати - много чего есть, начиная с TPrinter и заканчивая генераторами отчетов. Впрочем, "начиная" и "заканчивая" здесь весьма относительно.. :)
В чем конкретно проблема ?
Может, просто найдешь и почитаешь какой-нибудь приличный учебник ?
← →
Дмитрий2004 (2004-03-13 20:50) [2]Может че по конкретней подскажете
← →
Johnmen © (2004-03-14 01:27) [3]Книги читай. Это поконкретней...
← →
Zacho © (2004-03-14 23:23) [4]2 Дмитрий2004: Что именно конкретней ? Или тебе готовую программу выслать ? Или несколько килобайт текста с основами работы с TDataSet, TDBGrid и печатью написать ?
Еще раз: что именно тебе непонятно ? Если "все" - то форум не поможет, читай учебники.
← →
visnuk © (2004-03-17 16:51) [5]нет такой вот вопрос и у меня возник Код есть
это для множественной записи
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 не индефицирован
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.039 c