Sashar333
Пользователи-
Постов
108 -
Зарегистрирован
-
Посещение
Весь контент Sashar333
-
Всегда 6 7
- 18 ответов
-
- fmx.printer
- печать
-
(и ещё 2 )
C тегом:
-
Сделал вот так: FkPrinter:=TMyPrinter.Create(Printer.ActivePrinter.Device,true); var OffsetX := FkPrinter.GetOffsetX; var OffsetY := FkPrinter.GetOffsetY; printer.Canvas.Offset := TPoint.Create(OffsetX , OffsetY); При выборе любого принтера (у меня их три), все Offset'ы = 0 И печатает соответственно также ... Может еще есть варианты для пробы?
- 18 ответов
-
- fmx.printer
- печать
-
(и ещё 2 )
C тегом:
-
А как это смещение вычислить, сколько пикселей составляет это смещение? На разных принтерах оно разное? Требуется запуск печати двумя кнопками, без личных настроек пользователя: нажал кнопку печать - выбрал принтер - нажал кнопку ОК
- 18 ответов
-
- fmx.printer
- печать
-
(и ещё 2 )
C тегом:
-
Не то что косо, происходит смещение, как-бы за границу видимости на листе. т.е. если если нарисовать вертикальную линию от 0,0 до 0,Printer.PageHeight, то она не напечатается у меня на принтере, а если, допустим, рисовать от 200,0 до 200,Printer.PageHeight то она печатается Мне требуется нарисовать таблицу максимальную по размерам листа, но она обрезается как на рисунке выше. Делал как в учебнике: SrcRect := Image1.LocalRect; DestRect := TRectF.Create(0, 0, Printer.PageWidth, Printer.PageHeight); Printer.Canvas.DrawBitmap(Image1.Bitmap, SrcRect, DestRect, 1); или RectF(0,0, Image1.Bitmap.Width, Image1.Bitmap.Height) это совсем другое чем Image1.LocalRect ?
- 18 ответов
-
- fmx.printer
- печать
-
(и ещё 2 )
C тегом:
-
Printer.Canvas.DrawBitmap(Image1.Bitmap, SrcRect, DestRect, 1); С bitmap'ом тоже так же печатает. Может существует максимальное для принтеров смещение (PHYSICALOFFSETX)?
- 18 ответов
-
- fmx.printer
- печать
-
(и ещё 2 )
C тегом:
-
так нету тоже Win в FMX.Printer ...
- 18 ответов
-
- fmx.printer
- печать
-
(и ещё 2 )
C тегом:
-
Все понятно, всем спасибо!
- 18 ответов
-
- fmx.printer
- печать
-
(и ещё 2 )
C тегом:
-
Про поля понял, спасибо! а где и как можно получить Printer.Handle? в FMX.Printer не могу найти его ...
- 18 ответов
-
- fmx.printer
- печать
-
(и ещё 2 )
C тегом:
-
Здравствуйте! Подскажите пожалуйста в чем причина смещения изображения при печати по горизонтали относительно листа? procedure ThePrint(day : arraySheet; prn : TPrintDialog); var DestRect, Rect_cell, Rect_Size:TRectF; i,pageall:integer; textFill: tFillTextFlags; poses : TPoses; Col1 : boolean; COLROW : integer; sizeRow : Single; Image : TImage; begin textFill := []; COLROW := 63; Printer.ActivePrinter := Printer.Printers[1]; Printer.ActivePrinter.SelectDPI(Printer.ActivePrinter.DPI[Printer.ActivePrinter.DPICount-1]); Printer.BeginDoc; sizeRow := Printer.PageHeight / COLROW; poses := getPosY(day, sizeRow); Printer.Canvas.BeginScene; Printer.Canvas.Font.Size := sizeRow * 0.8; Printer.Canvas.Font.Family := 'Times New Roman'; Printer.Canvas.Fill.Color := TAlphaColorRec.Black; Printer.Canvas.Fill.Kind := TBrushKind.Solid; Col1 := true; var WCol := Printer.PageWidth / 2 - 10; var WColW := WCol / 3; for var s := 0 to Length(poses)-1 do begin if Col1 then DestRect := RectF(0, poses[s], WCol, poses[s] + sizeRow) else DestRect := RectF(WCol, poses[s], Printer.Canvas.Width, poses[s] + sizeRow); Printer.Canvas.Font.Style:= Printer.Canvas.Font.Style + [TFontStyle.fsBold]; Printer.Canvas.FillText(DestRect,day[0].listSheme[s].name,True,1,textFill,TTextAlign.Center,TTextAlign.Center); Printer.Canvas.Font.Style:= Printer.Canvas.Font.Style - [TFontStyle.fsBold]; for var p := 0 to Length(day[0].listSheme[s].listPosition) - 1 do begin var nameSize := day[0].listSheme[s].listPosition[p].t + 'x' + day[0].listSheme[s].listPosition[p].w + 'x' + day[0].listSheme[s].listPosition[p].l + '='; if day[0].listSheme[s].listPosition[p].c.ToInteger > 1 then nameSize := nameSize + day[0].listSheme[s].listPosition[p].c + 'л'; Rect_cell := RectF(10, poses[s] + (sizeRow * (p+1)), WCol-30, poses[s] + (sizeRow * (p+2))); Rect_Size := RectF(0, poses[s] + (sizeRow * (p+1)), WCol - WColW, poses[s] + (sizeRow * (p+2))); if not Col1 then begin Rect_cell.Left := Rect_cell.Left + WCol + 20; Rect_cell.Right := Rect_cell.Right + WCol + 10; Rect_Size.Left := Rect_Size.Left + WCol + 20; Rect_Size.Right := Rect_Size.Right + WCol + 10; end; Printer.Canvas.FillText(Rect_cell, day[0].listSheme[s].listPosition[p].pn + ')' + day[0].listSheme[s].listPosition[p].s, True,1,textFill,TTextAlign.Leading,TTextAlign.Center); Printer.Canvas.FillText(Rect_Size, nameSize, True,1,textFill,TTextAlign.Trailing,TTextAlign.Center); end; Col1 := not(Col1); end; for var row := 1 to COLROW do begin Printer.Canvas.DrawLine(TPointF.Create(0, sizeRow * row), TPointF.Create(WCol, sizeRow * row), 0.5); Printer.Canvas.DrawLine(TPointF.Create(WCol + 20, sizeRow * row), TPointF.Create(Printer.Canvas.Width, sizeRow * row), 0.5); end; DestRect := RectF(0, 0, Printer.Canvas.Width, sizeRow); Printer.Canvas.FillText(DestRect, day[0].name, True, 1, textFill, TTextAlign.Center,TTextAlign.Center); Printer.Canvas.DrawLine(TPointF.Create(WCol, sizeRow), TPointF.Create(WCol, Printer.Canvas.Height), 1); Printer.Canvas.DrawLine(TPointF.Create(WCol + 20, sizeRow), TPointF.Create(WCol + 20, Printer.Canvas.Height), 1); Printer.Canvas.DrawLine(TPointF.Create(0, sizeRow), TPointF.Create(500, Printer.Canvas.Height), 1); Printer.Canvas.DrawLine(TPointF.Create(Printer.Canvas.Width, sizeRow), TPointF.Create(Printer.Canvas.Width, Printer.Canvas.Height), 1); Printer.Canvas.DrawLine(TPointF.Create(WCol-WColW+20, sizeRow), TPointF.Create(WCol-WColW+20, Printer.Canvas.Height), 1); Printer.Canvas.DrawLine(TPointF.Create(Printer.Canvas.Width-WColW+20, sizeRow), TPointF.Create(Printer.Canvas.Width-WColW+20, Printer.Canvas.Height), 1); Printer.Canvas.EndScene; Printer.EndDoc; end; ВОТ ЧТО ПОЛУЧАЕТСЯ: Линия спецом под угол, что бы понять само смещение в лево относительно листа. Соответственно текст тоже видно на половину Написано на Delphi 11, FMX.Printer Заранее спасибо!
- 18 ответов
-
- fmx.printer
- печать
-
(и ещё 2 )
C тегом:
-
Опубликовано 29 мая вроде правильно... только ошибки в английских словах исправьте (Catolog)... если тормоза есть - это уже fmx (еще очень далеко до совершенства)..... тут или смириться или искать собственные пути отображения списков... Здравствуйте! А Вы можете написать тоже самое что и в ранее написанном Вами gek.zip, только на Java, для разбора в AndroidStudio? или тормоза там такие же могут возникнуть как и FMX, Вы не в курсе случайно? Заранее спасибо за ответ!
-
так используются они: это с Вашего примера я взял, отлично все работает, но зависает, там порядка 400 элементов примерно ... в FormCreate создается поток: при завершении вызывается создание списка тут правильно все сделано?
-
Здравствуйте! Подскажите пожалуйста, почему при первом переключении с начальной вкладки TTabControl на вкладку с заполненным ListView(в FormCreate) приложение подвисает на пару секунд и можно как то сделать чтобы не повисало? Так же происходит и при переключении на другие вкладки, где просто TImage и Label. А когда везде побываешь то перестает зависать.
-
Понял так, что в общем в ручную, спасибо!
-
Здравствуйте! Подскажите пожалуйста как понять и искать эти утечки памяти:
-
Спасибо! Я правильно Вас понял?:
-
Понял, size вставить в цикл! Спасибо! Тут задача такая: выполнять запрос на сайт разные даты, начиная с сегодняшней, заканчивая = (сегодня минус OffsetDateDay дней), до тех пор пока не найдет этот счет (пока статус не покажет другой, отличимый от "Такой номер заказа не найден") или кончаться даты. Теперь вроде все работает как надо!
-
Еще вопрос, добавил цикл по датам: , но почему как то не корректно показывает иногда, на сайте так: а приложении так: а иногда даже так: даже когда статусы одинаковые сайт показывает, допустим 11603 от 29.04.2020 и 10742 от 28.04.2020 , оба выполнены ?
-
Вы можете еще подсказать, как лучше сделать заполнение пользователем размеров прямоугольников и кол-в. Я так понял что лучше ListView использовать, но как его настроить и добавить строчку с тремя Edit'ми и кнопкой "удалить строчку, не могу понять?
-
спасибо исправил, отдельный юнит это может потом еще что надумаю добавить каких процедур.
-
хочу...
-
Здравствуйте! Да, изучал все это, алгоритмы не устроили кроме одного, который и реализовал(но не до конца еще). Потом, может быть, хотя и этого будет достаточно для наших клиентов, попрошу ребят из НИП Информатики помочь с более продвинутым алгоритмом...
-
Скажите, теперь само написание кода нормальное я в правильном направлении иду, распределение кода по unit'ам и оформление классов и переменных в общем? Там осталось калькулятор металла сделать, отправку по почте сделать, и контактную информацию, но самое сложное именно вычисление и рисование...
-
Вот за это особое СПАСИБО! Ошибка моя, экспериментировал с циклом и забыл убрать "*3". Исправил, пока больше вылетов не было!!! Ура
-
Все верно! Слабое подобие для примерного просчета
-
Спасибо! Опечатку исправил, с переменными все нормально происходит, Image.Bitmap рисует