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

Вниз

как сделать разрыв страницы в RichEdit при печати   Найти похожие ветки 

 
zam2000   (2002-11-20 10:28) [0]

Мне необходимо после конкретрого предложения сделать новую страницу(именно чтоб при печати это была новая страница)
Подскажите кто знает


 
KoluChi   (2002-11-20 10:42) [1]

\par \page


 
zam2000   (2002-11-20 10:54) [2]

хм а как этим пользоваться, просто написать например

RichEdit1.Lines.Add("123"+"\page"+"123");

Но такое у меня не работает, т.е в Richedit после этого просто пишется текст "123\page123" и печатается на одной странице этот текст,а мне надо чтобы это были две страницы, на каждой из которых было бы написано вверху "123"


 
KoluChi   (2002-11-20 10:59) [3]

Да поторопился, как записать пока не знаю.
Но в формате RTF \par \page - перевод строки.


 
SuperVK   (2002-11-20 11:15) [4]

Не знаю, может есть способ попроще, но мне это удалось сделать весьма сложными путями. Я для этого в процессе распечатки текст на файлы разбивал и файлы отдельно печатал.


 
zam2000   (2002-11-20 11:18) [5]

ну это уже слишком, тогда легче пробелов понавствлять, и ведь есть стандартный атрибут, вопрос как его вставить


 
KoluChi   (2002-11-20 11:23) [6]

Похорошему надо вставить символ разделения страницы в RichEdit,
но у меня это не получилось - RichEdit его не поддерживает.
(даже при открытии файла с разделителем он его преобразует в пустую строку)
При печати можно разбить текст на части и печатать отдельно:
function TmainForm.GetRTFStrings(Editor: TRichEdit; Index, Count: Integer): String;
var
I: Integer;
RichEdit: TRichEdit;
Stream: TStringStream;
begin
Stream := TStringStream.Create("");
RichEdit := TRichEdit.Create(Self);
RichEdit.ParentWindow := Handle;
try
Editor.Lines.SaveToStream(Stream);
Stream.Position := 0;
RichEdit.Lines.LoadFromStream(Stream);
for I := RichEdit.Lines.Count - 1 downto 0 do
if (I < Index) or (I > Index + Count) then RichEdit.Lines.Delete(I);
Stream.Position := 0;
RichEdit.Lines.SaveToStream(Stream);
Result := Stream.DataString;
ShowMessage(Result);
finally
RichEdit.Free();
Stream.Free();
end;
end;


 
KoluChi   (2002-11-20 11:40) [7]

RxRichEdit - поддерживает перевод страницы, отображает пустой строкой, но печает нормально. Можно попробовать засунуть перевод страницы, хотя бы через Clipboard.


 
zam2000   (2002-11-20 11:47) [8]

а как тогда засунуть в нужном месте тег /Page в rxrichedit через Stream, чтобы после нужной строки был разрыв


 
SuperVK   (2002-11-20 12:05) [9]

По поводу стандартного аттрибута: интересно, какой-это стандартный аттрибут?
По поводу пробелов: хрен редьки не слаще - надо будет рассчитывать их (пробелов) количество, а, на мой взгляд, разбить на файлы попроще будет.


 
KoluChi   (2002-11-20 12:06) [10]

Для RxRichEdit:
в тексте где вставляется разрыв страницы нужно написать <new page>
RichEdit1.Lines.SaveToStream(Stream);
S := Stream.DataString;
S := StringReplace(S, "<new page>", "\page", [rfReplaceAll, rfIgnoreCase]);
Stream.Position := 0;
Stream.WriteString(S);
Stream.Position := 0;
RichEdit1.Lines.LoadFromStream(Stream);



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

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

Наверх





Память: 0.46 MB
Время: 0.014 c
1-4267
Corte ™
2002-11-19 16:32
2002.12.02
Как открыть TreeView root


1-4463
STANT
2002-11-20 11:09
2002.12.02
Как


1-4457
Карелин Артем
2002-11-20 12:39
2002.12.02
Такие странные тараканы.


1-4410
Separator
2002-11-20 13:10
2002.12.02
Прикол с TThread


1-4434
Пиноккио
2002-11-20 00:25
2002.12.02
Печать с точным позиционированием на матричных принтерах





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