Форум: "Основная";
Текущий архив: 2002.07.01;
Скачать: [xml.tar.bz2];
ВнизПроиветствую Мастеров! С печатью разобраться надо помочь .... Найти похожие ветки
← →
IronHawk (2002-06-08 19:46) [0]Тут трабл появился .... с распечаткой!
Значит так, есть файло, в нём текст в (866-й кодировке), и с разделителем страниц (&) Нуна, тыцнув на Баттон вывести сначало НЕ чётные а потом ЧЁтные страницы!
(В тексте больше нигде нету "&")
КАК ?
А то трабл шо чётные шо НЕ чётные с Первой вместе печататься начинают ....
... заранее благодарен!
← →
MBo (2002-06-08 21:37) [1]печатаешь построчно в текстовом режиме?
← →
Song (2002-06-09 10:06) [2]Очевидно, что надо прочитать в TStringList, затем раз разделителя нет, определиться сколько строчек ты хочешь на страницу (по стандарту - 60) печать каждые 60 строк через 60.
P.S. Алексей, ты пиши вопросы нормальным человеческим языком, ясно и понятно и люди к тебе потянутся.
← →
IronHawk (2002-06-10 02:18) [3]
> MBo © (08.06.02 21:37)
> печатаешь построчно в текстовом режиме?
Нет, мне надобно, текст загрузить в Мемо или РичЕдит, а потом по разделителю читать и печатать с 1-й НЕ чётные, а после чётные, ну для экономии бумаги, а принтер 2-х сороннюю печать незнает .... :-(
> Song © (09.06.02 10:06)
> Очевидно, что надо прочитать в TStringList, затем раз разделителя
> нет, определиться сколько строчек ты хочешь на страницу
> (по стандарту - 60) печать каждые 60 строк через 60.
> P.S. Алексей, ты пиши вопросы нормальным человеческим языком,
> ясно и понятно и люди к тебе потянутся.
Никаких стандартов, только через нахождение раздеителя!
P.S. Я не Алексей, я Саня!
Я задаю вопросы в таком стиле, чтоб даже новичек смог ответить, если ему это раньше встречалось!
← →
Aleks1 (2002-06-10 05:42) [4]Привет. Давно тебя не было. Тут, даже, попытался занять твое место некий alrussia. Но ему далеко до тебя!
Токмо все же не понятно, зачем "текст грузить в Мемо или РичЕдит, а потом"?
← →
MBo (2002-06-10 06:23) [5]Ты все же поработай над стилем и языком
procedure БатонТыц
begin
for progon:=0 to 1 do begin
flag:=progon;
for i:=0 to memo1.lines.count-1 do
if memo1.lines[i]="%" then
flag:=1-flag
else if flag=0 then begin
/// печатать memo1.lines[i]
end; //else
end; //progon
end;
← →
Song (2002-06-10 08:29) [6]2IronHawk © (10.06.02 02:18)
Ссори, у тебя Alex стоит в аське, не думал же, что Alex это Саня :)
← →
IronHawk (2002-06-10 23:47) [7]
> Song © (10.06.02 08:29)
Alex - сокращенно от !канадского! Alexandr, а не от Американского AleKSandr.
> MBo © (10.06.02 06:23)
> Ты все же поработай над стилем и языком
ОК!
Договорились ..... :-)
← →
VID (2002-06-11 02:53) [8]TO Mbo: procedure БатонТыц - круто! :)))
← →
IronHawk (2002-06-12 00:03) [9]
> VID © (11.06.02 02:53)
> TO Mbo: procedure БатонТыц - круто! :)))
Это для компилятора следующего поколения!
← →
Кулюкин Олег (2002-06-13 11:57) [10]А все-таки зачем грузить текст "в Мемо или РичЕдит"?
Можно и без этого паспечатать?
← →
Polevi (2002-06-13 12:45) [11]2Кулюкин Олег ©
можно, но не всем :-)
← →
Song (2002-06-13 12:54) [12]2Кулюкин Олег © (13.06.02 11:57)
Можно, но Alex IronHawk лёгких путей не ищет!
← →
IronHawk (2002-06-13 23:24) [13]
> Кулюкин Олег © (13.06.02 11:57)
> А все-таки зачем грузить текст "в Мемо или РичЕдит"?
> Можно и без этого паспечатать?
Хорошо, давайте и так !
Как ?
← →
IronHawk (2002-06-14 00:29) [14]
> Polevi © (13.06.02 12:45)
> можно, но не всем :-)
Я грубил ?
> Song © (13.06.02 12:54)
> Можно, но Alex IronHawk лёгких путей не ищет!
Не в путях дело!
Потом скажу в чём ......
← →
Кулюкин Олег (2002-06-14 08:27) [15]2 IronHawk © (13.06.02 23:24)
> Хорошо, давайте и так !
> Как ?
Функция не моя, так что даю код "как есть".
Распечатывает TStrings на принтере по умолчанию.
Под Ваш случай доработать надо...
procedure PrintStrings(S: TStrings; Font: TFont; Title: string);
var
LeftMargin, TopMargin, LineCoord, LineOnPage, LinesOnDoc,
CurrentLine, TextHeight, LinesPerPage, LineInterval: integer;
procedure StartDoc;
begin
LinesOnDoc := S.Count;
Printer.Canvas.Font.Assign(Font);
Printer.Canvas.TextOut(0, 0, " ");
LeftMargin := (Printer.Canvas.Font.PixelsPerInch) div 2;
TopMargin := (Printer.Canvas.Font.PixelsPerInch) div 2;
TextHeight := Abs(Printer.Canvas.Font.Height);
LineInterval := TextHeight + (TextHeight div 2);
LinesPerPage := (Printer.PageHeight - TopMargin) div LineInterval;
CurrentLine := 0;
end;
function MorePages:boolean;
begin
Result := (CurrentLine < LinesOnDoc) and
not Printer.Aborted;
end;
procedure StartPage;
begin
LineOnPage := 0;
LineCoord := TopMargin;
end;
procedure NextPage;
begin
if MorePages then Printer.NewPage;
end;
function MoreLines:boolean;
begin
Result := (LineOnPage < LinesPerPage) and
(LineOnPage < LinesOnDoc) and
not Printer.Aborted;
end;
procedure NextLine;
begin
Inc(LineOnPage);
Inc(LineCoord, LineInterval);
Inc(CurrentLine);
end;
procedure PrintLine;
begin
Printer.Canvas.TextOut(LeftMargin, LineCoord, S.Strings[CurrentLine]);
end;
begin
Printer.Title := Title;
Printer.BeginDoc;
StartDoc;
while MorePages do
begin
StartPage;
while MoreLines do
begin
PrintLine;
NextLine;
Application.ProcessMessages;
end;
NextPage;
end;
Printer.EndDoc;
end;
← →
Song (2002-06-14 08:47) [16]Iron Hawk, стучись мне на аську, напишем, если ещё не сделал.
← →
IronHawk (2002-06-18 22:52) [17]
> Song © (14.06.02 08:47)
> Iron Hawk, стучись мне на аську, напишем, если ещё не сделал.
ОК!
Без "базара" :-)
> Кулюкин Олег © (14.06.02 08:27)
ОК!
Спасибо, переделаю!
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.07.01;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.007 c