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

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

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

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

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

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

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

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


табличный НТМ вам в помощь
...
Рейтинг: 0 / 0
Печать, ориентация листа
    #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
Печать, ориентация листа
    #37550357
Alexandr29
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SSn888,
Переносит на следующую строку.

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

Задайте в настройках самого принтера "по умолчанию - альбом" (если позволит)
И формируйте файло, самостоятельно разделяя строки
Ектиль... да запишите в файл что-то типа "123456789А12345...." и посмотрите - на каком номере обрежет или перенесет, там и ставьте перенос каретки
...
Рейтинг: 0 / 0
Печать, ориентация листа
    #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
Печать, ориентация листа
    #37551200
q1w1e1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПЕНСИОНЕРКА,

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

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

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

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

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

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

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


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