SPrint - [13] :: Программы :: Компьютерный форум Ru.Board
Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » SPrint

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

Открыть новую тему     Написать ответ в эту тему

o22



Developer
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SPrint


Попробовав несколько программ для печати из ДОС-приложений на лазерниках, понял, что быстрее напишу свою, чем найду что-то подходящее, тем более, что неудобно подсовывать пользователям крекнутую программу.
Что мне не понравилось, например, в DOSPrn (именно в топике обсуждения этой программы находится оригинал данного сообщения) - отсутствие предварительного просмотра и автоматического масштабирования.
Свою программу склепал за пару дней (правда так как с момента этого сообщения уже прошло больше 3-х лет, то суммарные затраты на разработку гораздо больше - 29.01.2007), поэтому не обессудьте.
Делал под свои запросы, что меня не интересовало, не наворачивал.
Пожелания и предложения по программе: (можете добавлять сами, я "отфильтрую")
- вставка изображения (типа логотип);
- высокий шрифт (если встречается соответствующая последовательность или рассчитанный размер шрифта слишком мал) - вообще-то предложение очень хорошее, но пока сложнореализуемое при данном подходе - в RichEdit нет понятия "высота шрифта", только размер, который подразумевает изменение высоты и ширины одновременно, но как для печати без предварительного просмотра и с ограниченными возможностями реализовать можно (o22)
- обработка esc-последовательностей, отвечающих за междустрочное расстояние.
- в настройки программы добавить опцию "только чтение" для предпросмотра
- в настройки программы добавить опцию "как есть" -  забирать с lpt (или с файла, в случае prn2file) и отправлять на usb, вообще ничего не обрабатывая.
- опция "закрыть после печати"
Вопросы и пожелания высказываем здесь или отсылаем на мыло ww2$ukr.net ($=@)
Если пишете на мыло, то обязательно пишите в теме SPrint - так как адрес общедоступный, то на него помимо ваших писем идет куча спама. И шансы быть прочитанными у письма без темы или с темой "проблема" или "помоги", сами понимаете, невелики.



Благодаря vamh, программу теперь можно скачать и отсюда: http://kashary.ru/downloads/SPrint.zip | http://kashary.ru/downloads/sprint_setup.exe
Размещение на этом ресурсе последней версии зависит от vamh В любом случае на оффсайте она появляется раньше, если об этом не сказано отдельно.
 
Внимание! Сайт с программой переехал. Новый адрес http://sprint.inf.ua
 
Проект закрыт.  
В связи с тем, что мой интерес к программе давно исчерпался (так как нет необходимости в печати из ДОС-приложений), программа больше развиваться и сопровождаться не будет.
Я разместил сайт на другом хостинге, так как на предыдущем ее размещение для меня стало финансово нецелесообразным, а просто его закрыть, не оставив возможности скачать программу, было-бы не очень красиво.
Спасибо всем, кто способствовал в развитии программы, прошу прощения у тех, кому (особенно  в последнее время) не отвечал на письма. Такова жизнь.

     

Всего записей: 2536 | Зарегистр. 03-10-2002 | Отправлено: 09:25 05-09-2003 | Исправлено: o22, 01:20 12-11-2017
o22



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

Всего записей: 2536 | Зарегистр. 03-10-2002 | Отправлено: 17:16 29-08-2005
goggio



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
o22

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

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

Всего записей: 12 | Зарегистр. 07-03-2004 | Отправлено: 22:56 29-08-2005 | Исправлено: goggio, 22:58 29-08-2005
o22



Developer
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
goggio

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

Ну так как проблема с неправильным определением размера бумаги на матричниках вроде-бы решена, то и необходимость в таком ограничении отпадает. Так ведь ?
 
Что касается принтеров. Непонятно почему после удаления инишки у тебя не выставился сразу принтер по-умолчанию. В инишке запоминается не сам принтер, а его индекс (порядковый номер в системе). При удалении ини-шки выбранный в программе принтер становится нулевым (то есть тот, что установлен по-умолчанию). Ладно, сейчас попробую сбросить принтер при недоступности выбранного и выложить программу. Тяжело править программу не видя проблемы вживую...
 
Добавлено:
Пробная версия закинута в ящик sprint$supermail.ru
Заходите в ящик (параметры входа в шапке) и забирайте (или пересылайте письмо себе на почтовый ящик, кому как удобнее). Удалять из ящика файл не стоит
 
goggio
Проверь свои проблеммы на данном екзешнике и отпишись. Ok ?

Всего записей: 2536 | Зарегистр. 03-10-2002 | Отправлено: 10:49 30-08-2005
goggio



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
o22
 

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

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

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

Проблема с размером бумаги на разных принтерах больше не проявляет себя. Шрифт масштабируется в соответствии с заданными параметрами.
 
Проблема с сетевыми принтерами осталась. При выбранном НЕДОСТУПНОМ сетевом принтере кнопка выбора принтера остается просто кнопкой, окно выбора не появляется. Лечится только принудительной правкой инишки и прописыванием индекса ДОСТУПНОГО принтера.Или подключением к сети.
 
При выборе принтера по умолчанию у меня в инишке прописывается индекс 10. Кстати, при обнулении индекса или удалении инишки, Спринт, как и должен, хватает прнтер с индексом 0. И он у меня оказывается сетевым... Хотя умолчательный принтер как имел, так и имеет индекс 10. Карма у меня такая
 
Есть подозрение, что индекс 0 присваевается не принтеру по умолчанию, а принтеру,первому установленному в системе.  
 
 
 

Всего записей: 12 | Зарегистр. 07-03-2004 | Отправлено: 17:42 30-08-2005 | Исправлено: goggio, 17:55 30-08-2005
o22



Developer
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
goggio

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

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

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

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

Всего записей: 2536 | Зарегистр. 03-10-2002 | Отправлено: 19:44 30-08-2005
goggio



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
o22
У меня по дефолту тоже FinePrint стоит и у него индекс 10. А ставился он не первым и не 10-м точно.

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

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

Всего записей: 12 | Зарегистр. 07-03-2004 | Отправлено: 20:45 30-08-2005
o22



Developer
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
goggio

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

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

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

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

Всего записей: 2536 | Зарегистр. 03-10-2002 | Отправлено: 10:56 31-08-2005
goggio



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
o22
Проверил на Win98. Кнопка выбора принтера работает вне зависимости от доступности самого принтера.
 
Кроме того при отсутствии принтеров в системе Спринт выставляет себе принтер ComboEdit  
А при инсталляции принтеров нулевой индекс присваивается почему-то последнему установленному принтеру (проверено через ини-шку Спринта).

Всего записей: 12 | Зарегистр. 07-03-2004 | Отправлено: 15:06 31-08-2005
o22



Developer
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
И при всем при этом у меня XP
А у тебя последняя версия не слетает при загрузке при запомненных определенных принтерах ?
Я сейчас с этим борюсь. При определении размера бумаги на определенных принтерах программа слетает...  
У меня на обоих, кроме FinePrint  
 
Добавлено:
goggio
Я там кинул в ящик из шапки тестовую версию.
Проверь что выдает. Сообщи о результатах здесь.

Всего записей: 2536 | Зарегистр. 03-10-2002 | Отправлено: 15:47 31-08-2005
goggio



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
o22

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

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

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

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

Всего записей: 12 | Зарегистр. 07-03-2004 | Отправлено: 22:29 01-09-2005
o22



Developer
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо за тестирование и подробное описание.
Очень хорошо все расписал.
Сейчас попробую обойти недоступность принтера со сбросом его в дефолтный.
Твоей информации для этого более, чем достаточно.
 
Добавлено:
Сделал, попробуй, когда на ящике появится.
Отпишешься. Ok ?

Всего записей: 2536 | Зарегистр. 03-10-2002 | Отправлено: 10:45 02-09-2005 | Исправлено: o22, 10:57 02-09-2005
goggio



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
o22

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

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

Всего записей: 12 | Зарегистр. 07-03-2004 | Отправлено: 22:43 02-09-2005
o22



Developer
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
goggio

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

Так это секунда дела. В документацию дольше писать об этом, чем сделать:
 
Версия от 05.09.2005
  - При недоступности текущего принтера для вывода заданий на печать, можно переназначить  
    вывод на принтер, используемый в Windows по-умолчанию (или при входе в программу
    автоматически, если принтер отсутствует или при попытке изменения принтера или
    формата бумаги, если он недоступен).
  - Исправлено определение размера бумаги, указанного в настройках принтера, для
    матричных и струйных принтеров; текущий размер бумаги указывается рядом с
    ориентацией листа в статусной строке и во всплывающей подсказке.
  - Небольшая оптимизация кода  
 
Новая версия лежит на теперь страничке http://sprint.ho.com.ua/
Если хостинг хорошо себя зарекомендует, то переберусь на постоянно, в ящик выложу, как появится свободная минута.
Отпишитесь как новый хостинг ну и как программа.

Всего записей: 2536 | Зарегистр. 03-10-2002 | Отправлено: 12:04 05-09-2005
nsinel

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
o22
Я уже получал отрицательный ответ на вопрос "Каким образом, не изменяя автоматически формируемой ширины символа, можно увеличить высоту символа вдвое?", однако хочу пояснить эту потребность, так как она, как мне кажется, является достаточно распространенной.  
Может автор оценит это и что-нибудь всё-таки придумает.
Дело в том, что при печати шрифтом размера 7 досовский текст замечательно умещается в книжной ориентации на странице формата А4, однако читабельность этого текста, мягко говоря, не очень. При печати на русифицированном принтере с помощью посылки соответствующей ESC-последовательности мы вдвое увеличиваем высоту символа и все довольны. Было бы хорошо это иметь и в SPRINTe. Тем более, в DOSPRN это легко можно сделать, однако не хочется к ней возвращаться только из-за этого.
 
Добавлено
Если дойдут руки до шрифта удвоенной длины, то просьба не забыть и об увеличении параметра Line spacing, иначе строки "слипнутся". Например, для шрифта 7 отлично подходит  Line spacing 1/6".

Всего записей: 338 | Зарегистр. 18-01-2002 | Отправлено: 14:36 22-09-2005 | Исправлено: nsinel, 09:20 26-09-2005
o22



Developer
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Будет время, подумаю.
Сейчас ничего обещать не могу.

Всего записей: 2536 | Зарегистр. 03-10-2002 | Отправлено: 18:01 22-09-2005
o22



Developer
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
  Версия от 13.10.2005
 
-  Калибровка принтера выполняется автоматически, как следствие этого – не нужно изменять настройку принтера при его изменении (функция тестируется);
 
-  Некоторые принтеры возвращают ширину и высоту листа наоборот, вследствие чего неправильно расчитывался размер шрифта. Теперь размер бумаги определяется из принципа, что больший размер - это высота;
 
- Неправильно обрабатывались Esc-последовательности, в составе которых был символ с кодом #0, исправлено;
 
- Исправлена ошибка, которая иногда приводила к вылетанию программы при печати на сетевых принтерах.
 
Смотрим новую версию здесь http://sprint.ho.com.ua или здесь http://ww2.kiev.ua/

Всего записей: 2536 | Зарегистр. 03-10-2002 | Отправлено: 15:05 13-10-2005 | Исправлено: o22, 15:10 13-10-2005
o22



Developer
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Версия от 25.10.2005
  - При нажатии на кнопку "Очистка" удаляло обрабатываемый файл, исправлено;
  - При передаче файла в качестве параметра сразу посылало его на печать вне зависимости от опции "Предварительный просмотр", исправлено;
  - При появлении файла для печати программа разворачивает окно (если стоит опция "Предварительный просмотр"), как в старых версиях;
  - Добавилась возможность выбора между автоматической калибровкой принтера (в случае, если возникают ошибки в таком режиме) или ручной (как в старых версиях).  
 
Файл на том-же месте. Я так понял, проблем с этим хостингом нет.

Всего записей: 2536 | Зарегистр. 03-10-2002 | Отправлено: 17:12 25-10-2005
Evilape

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Попробовал программу. Замечательно, но наткнулся на грабли: нет возможности печатать на листах формата А3. Если пытаться откалибровать руками, программа ни в какую не хочет ставить значения больше чем 1000x1500 а этого для A3 мало. Реально ли дать возможность ставить в эти поля любые цифры .... ну или хотябы не перезаписывать меньшие значения, если данные взяты на прямую из ini. Так и защита от дурака останется и возможность печати на больших листах будет.

Всего записей: 19 | Зарегистр. 12-08-2005 | Отправлено: 13:45 03-11-2005
Sergey_Demchuk



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Может ли программа печатать блоки текста из под ДОСа?

Всего записей: 3568 | Зарегистр. 16-12-2002 | Отправлено: 18:16 08-11-2005
o22



Developer
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Evilape
Что касается форматов бумаги отличных от A4, до данная возможность есть, но только если калибровка автоматическая и она работает нормально. Если ручная, то программа не определяет размер бумаги и соответственно не пересчитывает размер шрифта, как было в более ранних версиях.
С попыток получения информации от принтера у некоторых пользователей начали появляться глюки, объяснить которые я сам пока не могу. Поэтому сделана промежуточная версия (последняя), так как времени заняться программой пока нет.
Sergey_Demchuk

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

Я не понял вопроса.

Всего записей: 2536 | Зарегистр. 03-10-2002 | Отправлено: 12:15 12-11-2005
Открыть новую тему     Написать ответ в эту тему

Страницы: 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

Компьютерный форум Ru.Board » Компьютеры » Программы » SPrint


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru