Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
1-995
Митяй2
2002-06-14 13:20
2002.07.01
Перезагрузка - это...


3-892
Filat
2002-06-07 12:02
2002.07.01
Почему возникают ошибки подключения ODBC ?


3-923
Olegus
2002-06-08 10:20
2002.07.01
Delphi & InterBase


1-1008
Lina
2002-06-20 11:53
2002.07.01
Как создать виртуальный диск ?


1-1087
vads
2002-06-19 10:35
2002.07.01
Работаю с Excel через OLE.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский