powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Печать МЕМО поля
15 сообщений из 15, страница 1 из 1
Печать МЕМО поля
    #36239126
Макс_П
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет! Необходимо распечатать МЕМО поле в несколько строк.
Ставлю галочку "Stretch with overflow" и если количество символов меньше 254 символов, то всё получается. А вот если превышает этот размер, то не печатает вообще.
Кто-нибудь сталкивался с такой проблемой?
...
Рейтинг: 0 / 0
Печать МЕМО поля
    #36240689
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что у Вас в отчёте помимо этого поля? Может, оно чем-то заслоняется?
...
Рейтинг: 0 / 0
Печать МЕМО поля
    #36241089
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Макс_ПВсем привет! Необходимо распечатать МЕМО поле в несколько строк.
Ставлю галочку "Stretch with overflow" и если количество символов меньше 254 символов, то всё получается. А вот если превышает этот размер, то не печатает вообще.
Кто-нибудь сталкивался с такой проблемой?
Да. есть такое ограничение.. Мне пришлось в свое время делать разбитие MEMO поля по строкам и выводить строки, а не одно MEMO поля в Field отчета. Посколько у меня в MEMO содержалась информацию с разделением с помощью символа запятой, то все получилось досаточно просто:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
*-- m.lcInMemoField - содержимое мемо поля с разделителем в виде запятой (кроме конца)
LOCAL ARRAY laCur[ 1 , 1 ], laStr[ 1 ]

m.lcInMemoField = ALLTRIM(m.lcInMemoField) + ','
CREATE CURSOR tempcur (LineMarka V( 50 ))
DIMENSION laCur[OCCURS(',', m.lcInMemoField), 1 ]
ALINES(laStr, m.lcInMemoField, ',')
ACOPY(laStr, laCur)
INSERT INTO tempcur FROM ARRAY laCur
SELECT tempcur
GOTO TOP
*-- Печать отчета из курсора tempcur
REPORT FORM....
Вывожу в строках отчета поле tempcur.LineMarka

С уважением, Алексей.
...
Рейтинг: 0 / 0
Печать МЕМО поля
    #36241186
Melnik_A
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всех приветствую !
2 Макс_П
Да не должно быть никаких ограничений .
Не поленился , вспомнил(нашёл) у себя репорт , где один из объектов как раз отображает мемо_поле .
Печатается полностью , количество символов там у меня ща получилось - 8886 !
Т.е. 256-ью здесь и не пахнет :)

Так что быстрее всего стоит посмотреть внимательней на возможные преобразования этого поля до печати,
или настройки самого отчёта(элементов отчёта) :
Stretch with overflow - к примеру .
...
Рейтинг: 0 / 0
Печать МЕМО поля
    #36241828
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Melnik_AВсех приветствую !
2 Макс_П
Да не должно быть никаких ограничений .
Не поленился , вспомнил(нашёл) у себя репорт , где один из объектов как раз отображает мемо_поле .
Печатается полностью , количество символов там у меня ща получилось - 8886 !
Т.е. 256-ью здесь и не пахнет :)

Так что быстрее всего стоит посмотреть внимательней на возможные преобразования этого поля до печати,
или настройки самого отчёта(элементов отчёта) :
Stretch with overflow - к примеру .
Ограничение есть, но оно не отражено в документации.
Опытном путем нашел, что больше 65535 символов в Filed вывести не получится - будет пусто.

С уважением, Алексей
...
Рейтинг: 0 / 0
Печать МЕМО поля
    #36242119
Макс_П
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Создал переменную длиной более 500 символов, отправляю её в отчёт. Если отчёт выводится на принтер, то тот молчит, а если на предварительный просмотр, то высвечивается ошибка про нехватку памяти. А памяти-то 1 гиг. Та же операция с 200 символами проходит на ура...
...
Рейтинг: 0 / 0
Печать МЕМО поля
    #36242158
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Макс_ПСоздал переменную длиной более 500 символов, отправляю её в отчёт. Если отчёт выводится на принтер, то тот молчит, а если на предварительный просмотр, то высвечивается ошибка про нехватку памяти. А памяти-то 1 гиг. Та же операция с 200 символами проходит на ура...
А причем тут переменная! Вы же задавали вопрос про MEMO поле!
Можете проверить:
Код: plaintext
1.
2.
CREATE CURSOR T1 (F1 M)
APPEND BLANK
REPLACE f1 WITH REPLICATE("A", 65535 )
Создайте отчет и в Detail поместите Filed с Expression = T1.F1
Запустите отчет на просмотр
Теперь:
Код: plaintext
1.
GOTO TOP
REPLACE f1 WITH REPLICATE("A", 65536 )
И снова сделайте Preview отчета
С уважением, Алексей
...
Рейтинг: 0 / 0
Печать МЕМО поля
    #36242358
Макс_П
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сори за неточный вопрос. В таблице есть мемо поле. Перед распечаткой переменная забирает его, вносит изменения и затем выводится на печать. Эта процедура должна выполняться для того, чтобы изменения не касались мемо-поля.
...
Рейтинг: 0 / 0
Печать МЕМО поля
    #36242440
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Макс_ПСори за неточный вопрос. В таблице есть мемо поле. Перед распечаткой переменная забирает его, вносит изменения и затем выводится на печать. Эта процедура должна выполняться для того, чтобы изменения не касались мемо-поля.
Ну тогда скопируйте данный во временный курсор и его выводите в отчет
С уважением, Алексей
...
Рейтинг: 0 / 0
Печать МЕМО поля
    #36242508
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Макс_ПСоздал переменную длиной более 500 символов, отправляю её в отчёт. Если отчёт выводится на принтер, то тот молчит, а если на предварительный просмотр, то высвечивается ошибка про нехватку памяти. А памяти-то 1 гиг. Та же операция с 200 символами проходит на ура...
Покажите код создания переменной. И, кстати, как именно отправляете ее в отчет?

Как правило, ограничение в 254 символа возникает тогда, когда путают понятия символьной контстанты и символьной переменной. Ограничение для символьной константы как раз и составляет 254 символа. А для символьной переменно - 16МБ.

Символьные поля, переменные памяти и константы

Сообщение о нехватке памяти - это уже следствие. Вторичная ошибка. Как правило, следствие не корректного синтаксиса команды присвоения.
...
Рейтинг: 0 / 0
Печать МЕМО поля
    #36242952
Макс_П
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код программы:
z = m.SutPorush && где m.SutPorush - это ControlSource в EditBox формы
REPORT FORM...
По-моему, с переменной всё в порядке. Хотелось бы обойтись без курсора.
...
Рейтинг: 0 / 0
Печать МЕМО поля
    #36243079
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Отчет - это сканирование записей таблицы. Или курсора, как временной таблицы. Нет курсора или нет записей в курсоре - нет отчета.

Это значит, что хотя бы временную таблицу с одной записью НЕОБХОДИМО создать. Иначе отчет просто не будет работать

Код: plaintext
1.
2.
3.
4.
5.
CREATE CURSOR test (f1 i)
APPEND BLANK
z = m.SutPorush && где m.SutPorush - это ControlSource в EditBox формы
REPORT FORM... 
USE IN select("test")

Теперь работает?
...
Рейтинг: 0 / 0
Печать МЕМО поля
    #36244372
igorbik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Макс_П,

Чтобы без курсора:
в методе INIT формы напишите
*==========
PUBLICK Z
*==========

и еще посмотрите, стоит ли галка на растяжку поля Z при переполнении в репорте, а также проверьте, нет ли других ошибок, например, в формате вывода (это все в свойствах поля Z в репорте)
...
Рейтинг: 0 / 0
Печать МЕМО поля
    #36245007
Макс_П
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
С курсором ПОЛУЧИЛОСЬ! Всем огромное спасибо.
И в продолжение к теме: - Как можно программно передать в отчёт размер и тип шрифта этой переменной?
...
Рейтинг: 0 / 0
Печать МЕМО поля
    #36246987
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Макс_П...И в продолжение к теме: - Как можно программно передать в отчёт размер и тип шрифта этой переменной?
Можно через событие EvaluateContents класса ReportListener. Вы динамически можете менять и fontname и fontstyle и fontsize и цвет и даже саму информацию, выводимую в Filed
В Solution есть хороший пример: Dynamic formatting using ReportListeners
С уважением, Алексей
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Печать МЕМО поля
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]