Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.02.18;
Скачать: [xml.tar.bz2];

Вниз

Вывод данных с TListView на Принтер   Найти похожие ветки 

 
Officeman ©   (2007-01-26 13:26) [0]

сабж.
необходимо распечатать табличку [ListView].   как осуществить?


 
alex_*** ©   (2007-01-26 13:51) [1]

в текст и на принтер


 
clickmaker ©   (2007-01-26 14:01) [2]

Printer.BeginDoc();
for i := 0 to LV.Items.Count - 1 do begin
  if (i > MaxPageLines) then
    Printer.NewPage();
  Printer.Canvas.TextOut(x, y, LV.Items[i].Caption);
end;
Printer.EndDoc()


 
Officeman ©   (2007-01-29 08:40) [3]

при этом печатает все позиции в одну строку => получается много наложений в начале страницы. т.е. как будто не происходит смещение(перевод на новую строку)


 
evvcom ©   (2007-01-29 09:02) [4]

> [3] Officeman ©   (29.01.07 08:40)

Ну так x, y правильно разруливай. Или используй Write/Writeln.


 
Officeman ©   (2007-01-29 09:06) [5]

при выводе текста в канвас, где использовать Writeln ??

да я пробовал выводить каждую новую строку с шагом. например

Printer.Canvas.TextOut(10, y+50, LV.Items[i].Caption);

тока это ничё не дало)


 
Сергей М. ©   (2007-01-29 09:18) [6]


> при выводе текста в канвас, где использовать Writeln ?


Нигде. Это из другой оперы.
Либо ты непосредственно с канвой работашь и сам разруливаешь координаты вывода, либо ты поручаешь это ф-ции WriteLn


> пробовал выводить каждую новую строку с шагом


Шаг организуется циклическим инкрементом соотв.координаты на заданное значение, а у тебя этого инкремента, очевидно, нет.


 
evvcom ©   (2007-01-29 09:20) [7]

> [5] Officeman ©   (29.01.07 09:06)
> при выводе текста в канвас, где использовать Writeln ??

Нигде.
Writeln - это старый добрый способ печати документа в файл или на принтер. В Delphi его реализация естественно сделана через Printer.Canvas. Помнится, делал двоим двоечникам 2 контрольных работы за соответствующую мзду. Пришлось досконально разобраться с этими 2 способами. Мое имхо, что через AssignPrn/Rewrite/Write/Writeln/CloseFile делать гораздо проще, хотя и менее гибко, но разве тебе гибкость нужна? Хотя ничего не мешает между Write-ами обратиться и напрямую к Printer.Canvas.


 
Officeman ©   (2007-01-29 09:48) [8]

Необходимо рисовать красивую табличку (ПрайсЛист). Заголовки выделять жирненьким. Колличесто полей в табличке 5.

объясните детально почему происходит наложение. какой параметр отвечает за смещение(вывод новой позиции в новом месте)

Спасибо за поддержку топа


 
Сергей М. ©   (2007-01-29 10:24) [9]

Для генерации отчетов существует огромная куча готовых компонентов (QuickReport, Free/FastReport, RaveReportCrystalReport и т.д. и т.п.). Заниматься самостоятельной генерацией сложного изображения будущего отчета, тем более при таком уровне знаний (если конечно же это не учебная задача) - это мазохизм)



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2007.02.18;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.044 c
2-1169345000
ol_nazgul
2007-01-21 05:03
2007.02.18
ComboBox дублирование строк


2-1170329011
Garacio
2007-02-01 14:23
2007.02.18
адрес переменной в реестре


2-1170402426
bmb58
2007-02-02 10:47
2007.02.18
Компонент Delphi


2-1170163085
term1t
2007-01-30 16:18
2007.02.18
..=procedure (...,...) of object;


1-1166620488
Den303
2006-12-20 16:14
2007.02.18
public, private, protected <> static, virtual?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский