Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.07.01;
Скачать: CL | DM;

Вниз

Проиветствую Мастеров! С печатью разобраться надо помочь ....   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.014 c
1-991
Толик
2002-06-20 12:29
2002.07.01
Пошаговый проход исходников


6-1129
sergio777
2002-04-09 20:24
2002.07.01
А как этот кусок на C переписать под Delphi?


7-1232
ser111
2002-03-31 18:54
2002.07.01
Как узнать тип exe-шника?


4-1248
vvedensk
2002-05-03 13:46
2002.07.01
Может кто мне объяснит как узнать Handle


3-872
малой
2002-06-05 11:57
2002.07.01
Виртуальное поле