Гость
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Печать, ориентация листа / 20 сообщений из 20, страница 1 из 1
29.11.2011, 09:36
    #37549243
Alexandr29
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать, ориентация листа
Использую VFP9
Программно создается текстовый файл.
А потом выводится на печать командой Type 'out.txt' To Printer
Как при этом задать ориентацию листа (книжный или альбомный)?
Можно добавить PROMPT, но тогда пользователи могут сбить другие настройки.
...
Рейтинг: 0 / 0
29.11.2011, 10:52
    #37549364
Ffffffffffffffff
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать, ориентация листа
Для этого есть стандартный Report.
...
Рейтинг: 0 / 0
29.11.2011, 11:27
    #37549453
Alexandr29
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать, ориентация листа
Стоит задач печатать на старых матричных принтерах
...
Рейтинг: 0 / 0
29.11.2011, 11:32
    #37549469
Alexandr29
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать, ориентация листа
Тогда такой вопрос.
Как задать количество столбцов в текстовом файле ASCII?
...
Рейтинг: 0 / 0
29.11.2011, 11:45
    #37549499
IgorNG
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать, ориентация листа
Alexandr29Тогда такой вопрос.
Как задать количество столбцов в текстовом файле ASCII?

Никак. Текст - он и в Африке текст
...
Рейтинг: 0 / 0
29.11.2011, 12:44
    #37549661
Ffffffffffffffff
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать, ориентация листа
Вы же сами формируете этот текстовый файл.
...
Рейтинг: 0 / 0
29.11.2011, 13:21
    #37549798
IgorNG
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать, ориентация листа
Alexandr29,

Как вариант. Грузить txt в Word, менять ориентацию или кол-во колонок и печатать.
...
Рейтинг: 0 / 0
29.11.2011, 13:52
    #37549888
SSn888
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать, ориентация листа
вопрос как-то "ни о чем"
Вы формируете текст и пускаете его на принтер - так кто вам мешает в тексте chr(13) ставить не на 24-й позиции к примеру, а на 64-й?
Тут принтер как-бы и не при чем - как текст загоните - так он и отпечатает
...
Рейтинг: 0 / 0
29.11.2011, 15:05
    #37550095
Alexandr29
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать, ориентация листа
IgorNGAlexandr29,

Как вариант. Грузить txt в Word, менять ориентацию или кол-во колонок и печатать.

Это уже будет не ASCII
...
Рейтинг: 0 / 0
29.11.2011, 15:09
    #37550108
ПЕНСИОНЕРКА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать, ориентация листа
Alexandr29,

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
Я как-то переделывала печать всех отчетов в текстовый файл, а затем этот DOC в формате НТМ печатала ворд-ом

set alte to c:\temp\dos01.doc
set alte on
text
<html>
<meta http-equiv=Content-Type content="text/html; charset=CP866">
<pre>
endtext
..............................собственно отчет(гладкий)
text
</pre>
</html>
endtext
set alte to
set alte off


затем освоила этот word-НТМ отчет в формате таблицы с шапкой на каждом листе и автоподбором ширины столбца 

да и альбомную прописать --10строк перед (pre)
...
Рейтинг: 0 / 0
29.11.2011, 15:10
    #37550109
Alexandr29
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать, ориентация листа
SSn888вопрос как-то "ни о чем"
Вы формируете текст и пускаете его на принтер - так кто вам мешает в тексте chr(13) ставить не на 24-й позиции к примеру, а на 64-й?
Тут принтер как-бы и не при чем - как текст загоните - так он и отпечатает
Если 64-я позиция не поместится в одной строке, то её перекинут на следующую или обрежет.
А мне надо без переносов. Так, что вариант задать количество столбцов в текстовом файле ASCII не подходит.
...
Рейтинг: 0 / 0
29.11.2011, 15:19
    #37550143
SSn888
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать, ориентация листа
Alexandr29,

Что, неужели так трудно полчаса поэкспериментировать - поставить 64, посмотреть, обрежет или нет, поставить 50 - аналогично и через пару итераций определить оптимальную цифру? Да Вы на обсасывание этого вопроса на форуме уже больше времени потратили.

Или принципиально нужно решение из серии "почесать левое ухо правой рукой, пропущенной под левой ногой"?
...
Рейтинг: 0 / 0
29.11.2011, 15:27
    #37550163
ПЕНСИОНЕРКА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать, ориентация листа
Alexandr29,

авторЕсли 64-я позиция не поместится в одной строке, то её перекинут на следующую или обрежет.
А мне надо без переносов. Так, что вариант задать количество столбцов в текстовом файле ASCII не подходит.


табличный НТМ вам в помощь
...
Рейтинг: 0 / 0
29.11.2011, 15:36
    #37550202
ПЕНСИОНЕРКА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать, ориентация листа
Alexandr29,

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
все удовольствие за  10  минут
SET ALTE TO D:\MK1.DOC
SET ALTE ON
TEXT
<HTML>
<meta http-equiv=Content-Type content="text/html; charset=CP866">
<BODY>
ENDTEXT
USE KLIENT
?'<TABLE>'
?'<THEAD>'
?'<TR>'
?'<TH>ПЛАТЕЛЬЩИК'
?'<TH>АДРЕС'
?'<TH>КОЛИЧЕСТВО'
?'</THEAD>'

DO WHILE .NOT.EOF()
J= 0 

DO WHILE J< 100  &&ЦИКЛ ДЛЯ КОЛИЧЕСТВА
J=J+ 1 
?'<TR>'
?'<TD>',NKLIENT
?'<TD>',ADR1,ADR2
?'<TD ALIGN=RIGHT>',SUBS(INN2,4,1)
LOOP
SKIP
ENDDO
?'</TABLE>'
?'<P>',CHR(12)+'-'
?'<TABLE>'
GO TOP
DO WHILE .NOT.EOF()
J2=VAL(SUBS(INN2, 4 , 1 ))+ 1 
J1= 0 
*WAIT
DO WHILE J1<J2
J1=J1+ 1 
IF J1> 0 
?'<TR HEIGHT=300>'
?'<TD><FONT SIZE=5>',TRIM(NKLIENT)
?'<BR><FONT SIZE=3>',REPL('-',30)
?'<BR><FONT SIZE=7>',TRIM(ADR1),TRIM(ADR2)
*WAIT
ENDIF
ENDDO
SKIP
ENDDO
?'</TABLE>'
SET ALTE OFF
SET ALTE TO
QUIT 
...
Рейтинг: 0 / 0
29.11.2011, 16:23
    #37550357
Alexandr29
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать, ориентация листа
SSn888,
Переносит на следующую строку.

У меня 2 варианта печати
1- штатный, через Report Form
2- для старых машин. Сейчас там печатают из под Dos.
Надо сформировать текст в формат ASCII и распечатать.
Но таблица не умещается на листе книжного формата.
...
Рейтинг: 0 / 0
29.11.2011, 17:01
    #37550465
SSn888
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать, ориентация листа
Alexandr29,

Задайте в настройках самого принтера "по умолчанию - альбом" (если позволит)
И формируйте файло, самостоятельно разделяя строки
Ектиль... да запишите в файл что-то типа "123456789А12345...." и посмотрите - на каком номере обрежет или перенесет, там и ставьте перенос каретки
...
Рейтинг: 0 / 0
29.11.2011, 19:10
    #37550686
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать, ориентация листа
Alexandr29SSn888,
Переносит на следующую строку.

У меня 2 варианта печати
1- штатный, через Report Form
2- для старых машин. Сейчас там печатают из под Dos.
Надо сформировать текст в формат ASCII и распечатать.
Но таблица не умещается на листе книжного формата.

В штатном REPORT FORM есть такая опция TO FILE MyFile.txt ASCII. В этом случае на основе отчета будет сформирован файл формата ASCII, где количество строк и столбцов на странице будет регулироваться системными переменными _ASCIIROWS и _ASCIICOLS соответственно.

Правда, адекватной "картинки" при такой выгрузке отчета в файл - не получится. Проще сделать специальный отчет, где все объекты используют шрифт равной ширины. Например, Courier. Тогда выгрузка в текстовый файл будет иметь такой вид.

Код: plaintext
1.
2.
3.
_ASCIICOLS =  64 
REPORT FORM MyReport.frx TO FILE MyFile.txt ASCII
Type 'MyFile.txt' To Printer

Только следует еще учитывать тот факт, что например на матричных принтерах Epson может меяться ширина шрифта. Кажется, там было 2 режима. Плотный и нормальный. Как следствие, в разных режимах будет помещаться разное количество символов на строке.
...
Рейтинг: 0 / 0
30.11.2011, 05:33
    #37551200
q1w1e1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать, ориентация листа
ПЕНСИОНЕРКА,

что только не освоишь с этим фоксом, и VBA и 1С, SQL, теперь HTML..., а я ломал голову...как отчёты досовских программ(report не катит) переделать к Windows, делал через Excel...но тут вроде бы более подходит
...
Рейтинг: 0 / 0
30.11.2011, 07:01
    #37551225
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать, ориентация листа
Alexandr29У меня 2 варианта печати
1- штатный, через Report Form
2- для старых машин. Сейчас там печатают из под Dos.
Надо сформировать текст в формат ASCII и распечатать.
Но таблица не умещается на листе книжного формата.
Под досом ведь влазит на лист. Сделай также. Если надо поищи Esc-последовательности управления печатью . Тут понятно расписано. (Esc это CHR(27))
Матричные принтеры умеют печатать буквы только справа-налево, если надо сменить ориентацию листа - лист вставляют горизонтально если ширина принтера позволяет. Для программы печать всегда свершу вниз, меняется только количество строк на листе.
Принтер умеет печатать несколькими шрифтами разной ширины. Сделай шрифт поуже - может влезет.
Сохраняй в файл в 866 кодировке - тогда принтер "поймет" русские буквы. CPCONVERT(1251, 866, 'Текст по-русски')

Что касается колонок - все символы одинаковой ширины, поэтому добивай пробелами и будут колонки. Есть символы псевдографики для рисования черточек (как в фаре например)
...
Рейтинг: 0 / 0
30.11.2011, 15:56
    #37552319
ПЕНСИОНЕРКА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать, ориентация листа
q1w1e1ПЕНСИОНЕРКА,

что только не освоишь с этим фоксом, и VBA и 1С, SQL, теперь HTML..., а я ломал голову...как отчёты досовских программ(report не катит) переделать к Windows, делал через Excel...но тут вроде бы более подходит

начальное освоение заняло 2-3 месяца(время от времени) и потом не жалела об затраченном времени

почти все отчеты из ворд-ексель-аксесс-дбазе-фохпро-1с делала по единой схеме и очень довольна гибкостью и скоростью создания

п.с. не добила только вариант с итогами по странице (торг12), отдала студенту --который выдал
решение на основе екселя....потом другие задачи, лень стало добивать НТМ-решение

не так уж часто требовались итоги по странице
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Печать, ориентация листа / 20 сообщений из 20, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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