Ru-Board.club
← Вернуться в раздел «Программы»

» SPrint

Автор: o22
Дата сообщения: 29.08.2005 16:16
goggio
Спасибо за информацию (вот как полезно бувает забыть удалить отладочную информацию в виде цифр )
Ясно только, что размер бумаги для разных принтеров возвращается разный. А скорее всего возвращается даже не размер бумаги, как я изначально решил, а количество пикселей по высоте и ширине, что для расчетов верно только касаемо лазерника. Но это только предположение. Будем думать.
Что касается недоступности принтера, выбранного в настройке, и связанных с этим неудобств - тоже нужно посмотреть.
Постараюсь на этой неделе поковыряться.

Добавлено:
Посмотрел, с первой частью проблема ясна. Вроде-бы исправил (выложу позже).
А вот насчет перевыбора недоступного принтера - не все так очевидно, как я думал ранее.
А он у тебя по какой причине недоступен ?
Сети нет ? Или его вообще в списке нет ?
Можно этот вопрос поподробнее осветить ?
Автор: goggio
Дата сообщения: 29.08.2005 21:56
o22

Цитата:
А вот насчет перевыбора недоступного принтера - не все так очевидно, как я думал ранее.
А он у тебя по какой причине недоступен ?
Сети нет ? Или его вообще в списке нет ?
Можно этот вопрос поподробнее осветить ?


Принтеры у меня сетевые, и естественным образом недоступны, когда нет сети. Выбрать недоступный сетевой прнтер (если в данный момент установлен ДОСТУПНЫЙ принтер) в окне выбра принтера получается. И он появляется в окне настроек Спринта. А вот после этого его сменить не получается. Кнопка вызова окна выбора принтера не работает. Оказалось, что даже удаление инишки не помогает. Пришлось удалять из списка все сетевые принтеры, блин! Спринт как назло начал их все перебирать по очереди Один сетевой удалю, так он другой сетевой выбирает (вне зависимости от установок принтера по умолчанию). Вот так и лишился я всех принтеров

Плиз, если есть возможность, выкладывай поскорее. А то приходится ДосПрн юзать за временным отсутствием достойной альтернативы.

Кстати, а как насчет ограничения минимального размера? Идея принята к рассмотрению, или заброшена за отсутсвием жизненной необходимости и свободного времени?
Автор: o22
Дата сообщения: 30.08.2005 09:49
goggio

Цитата:
Кстати, а как насчет ограничения минимального размера? Идея принята к рассмотрению, или заброшена за отсутсвием жизненной необходимости и свободного времени?

Ну так как проблема с неправильным определением размера бумаги на матричниках вроде-бы решена, то и необходимость в таком ограничении отпадает. Так ведь ?

Что касается принтеров. Непонятно почему после удаления инишки у тебя не выставился сразу принтер по-умолчанию. В инишке запоминается не сам принтер, а его индекс (порядковый номер в системе). При удалении ини-шки выбранный в программе принтер становится нулевым (то есть тот, что установлен по-умолчанию). Ладно, сейчас попробую сбросить принтер при недоступности выбранного и выложить программу. Тяжело править программу не видя проблемы вживую...

Добавлено:
Пробная версия закинута в ящик sprint$supermail.ru
Заходите в ящик (параметры входа в шапке) и забирайте (или пересылайте письмо себе на почтовый ящик, кому как удобнее). Удалять из ящика файл не стоит

goggio
Проверь свои проблеммы на данном екзешнике и отпишись. Ok ?
Автор: goggio
Дата сообщения: 30.08.2005 16:42
o22


Цитата:
В инишке запоминается не сам принтер, а его индекс (порядковый номер в системе). При удалении ини-шки выбранный в программе принтер становится нулевым

Теперь понятно, почему прога грязно ругалась словами типа "... мой индекс вышел за пределы чего-то там..." при ее перезапуске после удаления из системы очередного сетевого принтера

Очередное предложение: раз уж софтина знает размер бумаги, нельзя ли в окне предварительного просмотра явно обозначить границы листа, чтобы визуально оценить, как результат будет выглядеть после печати.

Добавлено:
o22

Цитата:
goggio
Проверь свои проблеммы на данном екзешнике и отпишись. Ok ?

Проблема с размером бумаги на разных принтерах больше не проявляет себя. Шрифт масштабируется в соответствии с заданными параметрами.

Проблема с сетевыми принтерами осталась. При выбранном НЕДОСТУПНОМ сетевом принтере кнопка выбора принтера остается просто кнопкой, окно выбора не появляется. Лечится только принудительной правкой инишки и прописыванием индекса ДОСТУПНОГО принтера.Или подключением к сети.

При выборе принтера по умолчанию у меня в инишке прописывается индекс 10. Кстати, при обнулении индекса или удалении инишки, Спринт, как и должен, хватает прнтер с индексом 0. И он у меня оказывается сетевым... Хотя умолчательный принтер как имел, так и имеет индекс 10. Карма у меня такая

Есть подозрение, что индекс 0 присваевается не принтеру по умолчанию, а принтеру,первому установленному в системе.



Автор: o22
Дата сообщения: 30.08.2005 18:44
goggio

Цитата:
Очередное предложение: раз уж софтина знает размер бумаги, нельзя ли в окне предварительного просмотра явно обозначить границы листа, чтобы визуально оценить, как результат будет выглядеть после печати.

То, что мы видим на предпросмотре в SPrint-е - это не превьюшка печати, а просмотр текста. Делать полноценное превью печати - морока. Да и времени нет.

Цитата:
Есть подозрение, что индекс 0 присваевается не принтеру по умолчанию, а принтеру,первому установленному в системе.

У меня это виртуальный принтер (FinePrint), который устанавливался последним.
Скорее всего здесь четких правил нет. Сейчас главный вопрос как программно определить недоступность принтера. Если-бы программа ругалась - это было-бы проще. Можно было-бы это дело перехватить и должным образом обработать. А так она просто не реагирует. И эту ее "нереакцию" я не могу пощупать сам.
Ладно, попробую разобраться.

Автор: goggio
Дата сообщения: 30.08.2005 19:45
o22
У меня по дефолту тоже FinePrint стоит и у него индекс 10. А ставился он не первым и не 10-м точно.

Цитата:
Сейчас главный вопрос как программно определить недоступность принтера.

Да плюнь ты на эту недоступность. Вопрос в том, почему кнопка выбора принтера перестает работать.

А почему пощупать не получается? Нет сети или нет принтеров сетевых?
Еще вопрос интересный: кнопка перестает работать только у меня? И зависит ли это от установленной системы (WinXPpro)? Попробую проверить под Win98 на днях.

Автор: o22
Дата сообщения: 31.08.2005 09:56
goggio

Цитата:
Да плюнь ты на эту недоступность. Вопрос в том, почему кнопка выбора принтера перестает работать.

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

Цитата:
А почему пощупать не получается? Нет сети или нет принтеров сетевых?

Есть принтера и сеть. Но у меня программа ведет себя нормально. Захожу "без сети", установленные принтера все-равно видны и их можно перевыбрать.
Самое простое - это сечас сделать кнопку "Сбросить принтер на дефолтный" (тем более что я выяснил как это можно сделать). Но некрасиво. Попробую покопать еще.
Скорее всего выложу промежуточную версию (с отладочной информацией) в почтовый ящик из шапки, проверишь, сообщишь. Когда выложу, здесь напишу.
Автор: goggio
Дата сообщения: 31.08.2005 14:06
o22
Проверил на Win98. Кнопка выбора принтера работает вне зависимости от доступности самого принтера.

Кроме того при отсутствии принтеров в системе Спринт выставляет себе принтер ComboEdit
А при инсталляции принтеров нулевой индекс присваивается почему-то последнему установленному принтеру (проверено через ини-шку Спринта).
Автор: o22
Дата сообщения: 31.08.2005 14:47
И при всем при этом у меня XP
А у тебя последняя версия не слетает при загрузке при запомненных определенных принтерах ?
Я сейчас с этим борюсь. При определении размера бумаги на определенных принтерах программа слетает...
У меня на обоих, кроме FinePrint

Добавлено:
goggio
Я там кинул в ящик из шапки тестовую версию.
Проверь что выдает. Сообщи о результатах здесь.
Автор: goggio
Дата сообщения: 01.09.2005 21:29
o22

Цитата:
А у тебя последняя версия не слетает при загрузке при запомненных определенных принтерах ?
Я сейчас с этим борюсь. При определении размера бумаги на определенных принтерах программа слетает...

А у меня вроде бы все ОК. Бумагу определяет, кегль выставляет верно... Надо еще поиграться, может и заставлю слететь

Цитата:
Я там кинул в ящик из шапки тестовую версию.
Проверь что выдает. Сообщи о результатах здесь.

При выборе доступных принтеров:
*Жмакаю на кнопу выбора*->[Show]->*Окно выбора принтера**выбираю доступный принтер**Система сразу его выбирает**Жму ОК*->[Close]->[1]
Так можно повторить несколько раз.
Далее:
*Жмакаю на кнопу выбора*->[Show]->*Окно выбора принтера**выбираю СЕТЕВОЙ НЕДОСТУПНЫЙ принтер**Система думает секунд 5-6 и в окошке выбора принтера наконец его ВЫБИРАЕТ**Жму ОК*->[Close]->[1]
Теперь в Спринте установлен НЕДОСТУПНЫЙ СЕТЕВОЙ
*Жмакаю на кнопу выбора*->*Спринт думает секунд 5-6*->[0]->*и больше ничего...*
При повторной попытке (и всех последующих):
*Жмакаю на кнопу выбора*->*Спринт отвечает СРАЗУ*->[0]->*и больше ничего...*
После простого перезапуска программы установка недоступного принтера сохраняется (как и должна, ведь она прописалась в ини-шке), кнопка выбора выдает 0 как и прежде, и опять задумывается на 5-6 секунд только в первый раз.



Автор: o22
Дата сообщения: 02.09.2005 09:45
Спасибо за тестирование и подробное описание.
Очень хорошо все расписал.
Сейчас попробую обойти недоступность принтера со сбросом его в дефолтный.
Твоей информации для этого более, чем достаточно.

Добавлено:
Сделал, попробуй, когда на ящике появится.
Отпишешься. Ok ?
Автор: goggio
Дата сообщения: 02.09.2005 21:43
o22

Цитата:
Сделал, попробуй, когда на ящике появится.
Отпишешься. Ok ?

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

Если вдруг появится свободное время и желание еще поковыряться с очередной версией, то предлагаю вместо принудительного сброса в дефолт "Ваш принтер сброшен..." выдавать окошко "Сбросить в дефолт? /Да/Нет/". По "Да" -- сбрасывать, по "Нет" -- оставлять как есть. Так будет, наверное, немного корректнее по отношению к юзеру.

Еще раз СПАСИБО за софтину. Завтра побегу ставить друзьям
Автор: o22
Дата сообщения: 05.09.2005 11:04
goggio

Цитата:
Если вдруг появится свободное время и желание еще поковыряться с очередной версией, то предлагаю вместо принудительного сброса в дефолт "Ваш принтер сброшен..." выдавать окошко "Сбросить в дефолт? /Да/Нет/". По "Да" -- сбрасывать, по "Нет" -- оставлять как есть. Так будет, наверное, немного корректнее по отношению к юзеру.

Так это секунда дела. В документацию дольше писать об этом, чем сделать:

Версия от 05.09.2005
- При недоступности текущего принтера для вывода заданий на печать, можно переназначить
вывод на принтер, используемый в Windows по-умолчанию (или при входе в программу
автоматически, если принтер отсутствует или при попытке изменения принтера или
формата бумаги, если он недоступен).
- Исправлено определение размера бумаги, указанного в настройках принтера, для
матричных и струйных принтеров; текущий размер бумаги указывается рядом с
ориентацией листа в статусной строке и во всплывающей подсказке.
- Небольшая оптимизация кода

Новая версия лежит на теперь страничке http://sprint.ho.com.ua/
Если хостинг хорошо себя зарекомендует, то переберусь на постоянно, в ящик выложу, как появится свободная минута.
Отпишитесь как новый хостинг ну и как программа.
Автор: nsinel
Дата сообщения: 22.09.2005 13:36
o22
Я уже получал отрицательный ответ на вопрос "Каким образом, не изменяя автоматически формируемой ширины символа, можно увеличить высоту символа вдвое?", однако хочу пояснить эту потребность, так как она, как мне кажется, является достаточно распространенной.
Может автор оценит это и что-нибудь всё-таки придумает.
Дело в том, что при печати шрифтом размера 7 досовский текст замечательно умещается в книжной ориентации на странице формата А4, однако читабельность этого текста, мягко говоря, не очень. При печати на русифицированном принтере с помощью посылки соответствующей ESC-последовательности мы вдвое увеличиваем высоту символа и все довольны. Было бы хорошо это иметь и в SPRINTe. Тем более, в DOSPRN это легко можно сделать, однако не хочется к ней возвращаться только из-за этого.

Добавлено
Если дойдут руки до шрифта удвоенной длины, то просьба не забыть и об увеличении параметра Line spacing, иначе строки "слипнутся". Например, для шрифта 7 отлично подходит Line spacing 1/6".
Автор: o22
Дата сообщения: 22.09.2005 17:01
Будет время, подумаю.
Сейчас ничего обещать не могу.
Автор: o22
Дата сообщения: 13.10.2005 14:05
Версия от 13.10.2005

- Калибровка принтера выполняется автоматически, как следствие этого – не нужно изменять настройку принтера при его изменении (функция тестируется);

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

- Неправильно обрабатывались Esc-последовательности, в составе которых был символ с кодом #0, исправлено;

- Исправлена ошибка, которая иногда приводила к вылетанию программы при печати на сетевых принтерах.

Смотрим новую версию здесь http://sprint.ho.com.ua или здесь http://ww2.kiev.ua/
Автор: o22
Дата сообщения: 25.10.2005 16:12
Версия от 25.10.2005
- При нажатии на кнопку "Очистка" удаляло обрабатываемый файл, исправлено;
- При передаче файла в качестве параметра сразу посылало его на печать вне зависимости от опции "Предварительный просмотр", исправлено;
- При появлении файла для печати программа разворачивает окно (если стоит опция "Предварительный просмотр"), как в старых версиях;
- Добавилась возможность выбора между автоматической калибровкой принтера (в случае, если возникают ошибки в таком режиме) или ручной (как в старых версиях).

Файл на том-же месте. Я так понял, проблем с этим хостингом нет.
Автор: Evilape
Дата сообщения: 03.11.2005 12:45
Попробовал программу. Замечательно, но наткнулся на грабли: нет возможности печатать на листах формата А3. Если пытаться откалибровать руками, программа ни в какую не хочет ставить значения больше чем 1000x1500 а этого для A3 мало. Реально ли дать возможность ставить в эти поля любые цифры .... ну или хотябы не перезаписывать меньшие значения, если данные взяты на прямую из ini. Так и защита от дурака останется и возможность печати на больших листах будет.
Автор: Sergey_Demchuk
Дата сообщения: 08.11.2005 17:16
Может ли программа печатать блоки текста из под ДОСа?
Автор: o22
Дата сообщения: 12.11.2005 11:15
Evilape
Что касается форматов бумаги отличных от A4, до данная возможность есть, но только если калибровка автоматическая и она работает нормально. Если ручная, то программа не определяет размер бумаги и соответственно не пересчитывает размер шрифта, как было в более ранних версиях.
С попыток получения информации от принтера у некоторых пользователей начали появляться глюки, объяснить которые я сам пока не могу. Поэтому сделана промежуточная версия (последняя), так как времени заняться программой пока нет.
Sergey_Demchuk

Цитата:
Может ли программа печатать блоки текста из под ДОСа?

Я не понял вопроса.
Автор: Sergey_Demchuk
Дата сообщения: 13.11.2005 01:41
o22
У меня стои ДОС программа, в которой часто нужно не весь текс напечатать, а только часть его. Есть кнопка даже "Выделить блок". В проге ДосПРН при распечатке блока текста вылазит какая-то белиберда. Печатать приходится только всю страницу. А в этой программе ?
Автор: Manul
Дата сообщения: 13.11.2005 10:47
Sergey_Demchuk
Надо понимать, что система стоит не ДОС , а какая-нибудь Винда? Что мешает скопировать выделенное в буфер обмена и вставить в тот же Блокнот?
Автор: vamh
Дата сообщения: 13.11.2005 20:30
Manul

Цитата:
Надо понимать, что система стоит не ДОС

Я так думаю столь почтенный товарищ Sergey_Demchuk умеет ДОС отличать...
Автор: Looking
Дата сообщения: 13.11.2005 21:00
Sergey_Demchuk
А самому проверить - религия не позволяет?
Кто и как может сказать по проге о которой неизвестно даже название?
С точки зрения сигналов идущих на принтер, между печатанием блока или всего текста, думаю нет разницы. Причина указанного поведения ДосПРН непонятна.

Manul
ДОСовский блок может и не помещаться на экране, а в Блокнот можно скопировать только выделяемое на экране.
Автор: Manul
Дата сообщения: 13.11.2005 21:05
vamh
Уважаемый, дочитайте всё до конца, а то за шуткой, основного вопроса не заметили.
Да и спрашиваю я не для поста. У меня самого на предприятии такого софта достаточно, вот и любопытствую. Или это грешно?

Looking
А в оконном режиме появляются полосы прокрутки.

SPrint позволяет вставлять содержимое буфера и распечатывать его, или я чего-то не понял?
Автор: Vsevolod
Дата сообщения: 13.11.2005 21:40
чего-то я не допонял, программа помогает печатать документы, созданные в ДОС на принтерах которые не поддерживают печать из под ДОС или как?
Автор: Manul
Дата сообщения: 14.11.2005 07:32
Vsevolod
Прога позволяет печатать на лазерных принтерах из программ, работающих в эмуляции ДОСа на Вин. системах, печать из которых предусмотрена на матричные принтера. Как, понятно объяснил, или хреновых из меня объясняльщик?
Автор: Evilape
Дата сообщения: 14.11.2005 16:35
o22

Цитата:
Что касается форматов бумаги отличных от A4, до данная возможность есть, но только если калибровка автоматическая и она работает нормально. Если ручная, то программа не определяет размер бумаги и соответственно не пересчитывает размер шрифта, как было в более ранних версиях.

К сожалению не совсем понял принцип работы автоматической калибровки, но предполагаю, что она основана на размере бумаги в менеджере печати Windows. Там стоит A3, но программа не пытается печатаь на весь размер, а считает, что лист имеет размер 1500x1000. При ручной калибровке действительно получаются значения типа 1680xблаблабла. Их даже можно ввести, но программа автоматически сбрасывает их в 1500x1000.


Цитата:
С попыток получения информации от принтера у некоторых пользователей начали появляться глюки, объяснить которые я сам пока не могу. Поэтому сделана промежуточная версия (последняя), так как времени заняться программой пока нет.

Тоесть, если я правильно понимаю, есть смысл попробовать предыдужую версию?
Автор: Sergey_Demchuk
Дата сообщения: 15.11.2005 01:06

Цитата:
Надо понимать, что система стоит не ДОС , а какая-нибудь Винда? Что мешает скопировать выделенное в буфер обмена и вставить в тот же Блокнот?


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


Цитата:
Кто и как может сказать по проге о которой неизвестно даже название?
С точки зрения сигналов идущих на принтер, между печатанием блока или всего текста, думаю нет разницы. Причина указанного поведения ДосПРН непонятна.


А какая разница как ее название? Программа по финансах, написано это чудо еще на фокспро. Спрашиваю, ибо не хочу лишний раз людей тревожить, самому же потом хуже будет. Плюсом даной программы есть то, что автору она небезынтересна. Наверное стоит все же ее порекомендовать своим бухам.
Автор: Manul
Дата сообщения: 15.11.2005 07:23
Sergey_Demchuk

Цитата:
сли приложение, с которым Вы работаете, создает файлы,
которые впоследствии и выводит на печать, и эти файлы можно описать по маске,
то настраиваете SPrint на подкаталог, где приложение создает свои файлы, и
указываете их маску, например: C:\Prog\Zarplata\*.txt



Цитата:
В случае, если программа во время своей работы не создает файлов, а
производит непосредственный вывод на печать (на LPT-порт), можно
воспользоваться резидентным программами-редиректорами, которые производят
перенаправление печати в файл, который и будет обрабатываться программой.
В комплекте идет программка-редиректор Дмитрия Гуртяка prn2file.com, но
можно воспользоваться и любой другой, выполняющей такие-же функции. Поставьте
запуск редиректора в автозагрузку или запускайте его непосредственно перед
запуском DOS-приложения, например:

Prn2file.com c:\temp\report.prn
DOSProg.exe

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

SPrint нужно будет настроить на печать файла, который создает Prn2File (в
нашем случае c:\temp\report.prn)


Это что-то проясняет

Страницы: 1234567891011121314151617181920212223242526

Предыдущая тема: KitchenDraw 4.0


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.