Так я так и делал.
Вон оно чё:
И так на все…
все не надо!
frx28.bpl
frxDB28.bpl
по моему…(((
“Не найден указанный модуль” на все выбрасывает, что там в папке имеются…
Отбой!
Перекомпилировал и всё “взлетело” )))
Не понимаю, что я делаю не так…
Беру пример отсюда:
https://stackoverflow.com/questions/32295261/printing-listview-items-using-fastreport-in-delphi
При запуске отчета (ShowReport) получаю такую ошибку:
Отчет:
чутка позже гляну…
скинь проект, можешь в личку, часа через два буду за компом.
Отправил в личку.
ну во первых, в датасете поле то должно быть если ты его хочешь чекать потом
ну а дальше в отчете, в мемо тоже датасет надо не забывать
я честно, не понял, че ты хочешь сделать)
Хотел вывести на печать из StringGrid (давно это было, лет 18 назад - делал такое на свеженьком (только “из печи”) Delphi 2005 ), но не смог вспомнить как “это делается” )))
Полез в интернет и там нашел этот пример:
Оказывается, в нем есть недосказанности )))
СПАСИБО БОЛЬШОЕ!
Странно, но выводит только первое значение. Почему?
ну так
или в коде
procedure TForm1.Button1Click(Sender: TObject);
var
MD: TfrxMasterData;
begin
// frxUserDataSet1.RangeEnd := reCount;
// frxUserDataSet1.RangeEndCount := ListView1.Items.Count;
MD := frxReport1.FindObject('MasterData1') AS TfrxMasterData;
MD.RowCount := ListView1.Items.Count;
frxReport1.ShowReport();
end;
я понял че ты хочешь…
но к сожалению, я тоже не понимаю, почему после этого
frxUserDataSet1.RangeEnd := reCount;
frxUserDataSet1.RangeEndCount := ListView1.Items.Count;
размер юзер датасета не 10(((
Спасибо за содействие. Не у компьютера сейчас, завтра буду мучать дальше. Теплится надежда найти те старые исходники (2005 года), может они прольют свет )))
Шанс маловероятен, но имеется )))
ЗЫ: Исходники Делфи 2005 в 11й версии откроются же?
Ну если ты сторонних компонент не натаскал туда, откроются, ненавижу дельфи за это…
В общем я разобрался с выводом на печать, но…
Застрял на “ровном месте”…
Вот так выводит всё, то есть вместе с нулевой строкой (заголовки столбцов, которые fixed):
procedure TForm2.frxReport1GetValue(const VarName: string; var Value: Variant);
begin
if CompareText(VarName, 'element') = 0 then
Value := StringGrid1.Cells[1, frxUserDataSet1.RecNo];
// ShowMessage(IntToStr(frxUserDataSet1.RecNo))
end;
И если я делаю вот так (чтобы исключить нулевую строку из вывода):
procedure TForm2.frxReport1GetValue(const VarName: string; var Value: Variant);
begin
if (CompareText(VarName, 'element') = 0) and (frxUserDataSet1.RecNo > 0) then
Value := StringGrid1.Cells[1, frxUserDataSet1.RecNo];
// ShowMessage(IntToStr(frxUserDataSet1.RecNo))
end;
То сразу валится с ошибкой - Не знаю мол что это за ‘element’ такой.
Почему? Как быть?
Как я сразу не сообразил - загадка )))
Перед печатью
frxUserDataSet1.RangeEndCount := StringGrid1.RowCount - 1;
А при печати уже:
procedure TForm2.frxReport1GetValue(const VarName: string; var Value: Variant);
begin
if CompareText(VarName, 'element') = 0 then
Value := StringGrid1.Cells[1, frxUserDataSet1.RecNo + 1];
// ShowMessage(IntToStr(frxUserDataSet1.RecNo))
end;
Блин, всё гениальное просто ! ))))
@xDriver , а LiteDAC для Делфи случайно нигде не “завалялся”?
На официальном сайте Access Denied, на торрентах что-то не нашлось (никто не пользуется разве? Или я искать разучился… Одно из трёх ).
Или еще что имеется по современнее для SQLite3 ?
Деда, спасибо!