Работещ DOS със печат в Windows XP/VISTA/7 x86/x64

Всякакви въпроси свързани с програми, операционни системи и т.н.
Аватар
error_404
Глобален модератор
Мнения: 360
Регистриран на: 22 Дек 2012 10:58

Работещ DOS със печат в Windows XP/VISTA/7 x86/x64

Мнение от error_404 »

Случи се така, че се наложи да подкарам DOS на цял екран с Norton Commander и кирилица с печат към LPT1 порт под Windows 7 x86/x64!
Как без да използваме VirtualPC поради бавното зареждане и прочие, ами най лесното, за което се сетих беше:
http://dfendreloaded.sourceforge.net/
Та реших да го споделя с Вас и да уточня, че е тествано и сработва, всичко е въпрос на настройки.
Пакета е лесен за работа и е с интегрирана последна версия на прочутият DOSBox ;) Има също така и FreeDOS, а с малко преработка може да зарежда и Norton Comander както и да се работи на разни складови и други програми под DOS с печат към мапнат LPT1 порт на USB принтер ;) Изискването беше и за въвеждане на Кирилица в DOS прозореца ;)
Всичко от което имате нужда е копията на съответните програми както и да ги сложите в папка: VirtualHD (виртуалният DOS диск)
Честно се забавлявах с ползването на команди NC, DIR, ARJ, RAR, CD и др.
Лично аз Ви съветвам да сложите паметта да е 32 MB до максимум 64 MB ;) версия на DOS 6.2
Може да си изтеглите стари DOS игри да се позабавлявате, но лично аз заради задачката се забавлявах с писането на разни BAT скриптчета за да подкарам коректно кирилизация (BDS.COM, CYR.COM)

===========================================

Подкарването на принтера се извършва по следният начин:

1. Правим Sharing/Споделяне на USB принтера на който ще принтираме, аз лично Ви съветвам принтера да е на същата машина на която е и DOS програмата. По мрежа става, но тогава се налага да използвам програми от вида на WIN2MIK и Total Commander и доста писане за да прекодираме в правилната кодова MIC таблица ;)

Hint: Добавяме нов принтер локално независимо какъв и махаме отметката на Auto Detect, като избираме за порт LPT1:, намерете точно "Generic/Text only" принтер, който се намира в производители "Generic" ;)
Печат от RAW в TXT ;)

Айде и още един HINT:
Инсталирате локално USB принтер. След това инсталирате абсолютно същият принтер 2-ри път, но му указвате, че порта е LPT1. След което отивате на настройките за порт на USB принтера и включвате Enable Printer Pooling (не знам как да си го преведа) и слагате отметки между порт USB00x и порт LPT1 ;)
След това отидете на Advanced -> Print Processor -> сложете TEXT от Default datatype и съответните APPLY и OK
Така всяка задача изпратена на LPT1 порт автоматично се прерутира към USB порта защото принтера на LPT1 порта ще бъде винаги извън линия (off-line) ;)

Все пак за да улесня и мрежовиците
Hint: CMD трябва да бъде с делегирани права: Run as Administration

A. START->RUN->CMD ->
net use lpt1:\\името на компютъра(или IP адрес)\името на принтера който преди това си шернал /yes
Пример за командата:
net use lpt1 \\pc-01\hplusb /persistent:yes
net use lpt1 \\192.168.1.111\hpusb /persistent:yes
net use lpt1: \\127.0.0.1\hpusb
Горните команди са при положение, че принтера е със Shared/Споделено име hpusb и че адреса в мрежата е 192.168.1.111 / 127.0.0.1 и името на компютъра в мрежата е pc-01
Сложил съм loopback за всеки случай. Използвайте една от трите команди.

==========================================

Проверка дали печата коректно в следващите 4 стъпки

1. START->RUN->CMD ->
COPY CON LPT1:
[TYPE] - Напишете някакъв текст с желателно кирилица символи и най вече: Й, Я, Ю, Ж и др.
Й, Я, Ю, Ж и др.
CTRL + Z за край

2. START->RUN->CMD ->
COPY CON PRN:
[TYPE] - Напишете някакъв текст с желателно кирилица символи и най вече: Й, Я, Ю, Ж и др.
CTRL + Z за край

3. START->RUN->CMD ->
PRINT FILE.TXT
FILE.TXT да съдържа повече символи за сравнение!

4. START->RUN->CMD ->
COPY /B FILE.PRN LPT1:
FILE.PRN да съдържа повече символи за сравнение!
* /B - бинарен режим защото DOS предполага, че LPT порта ще бъде TEXT ONLY т.е. 7-bit. Повечето .PRN файлове са бинарни - 8-bit, но DOS отрязва последният бит на всеки знак.

Hint: Ако въведете дадената команда в DOS за дадена папка, то тя ще принтира всички *.PDF файлове в дадената папка към съответният принтер особено ако поддържа директно принтиране нa *.PDF (HP Color Laserjet 3800n), както и повечето модерни принтери ;)
COPY /B *.pdf \\127.0.0.1\hpusb

Hint: За да си освободите LPT порта, зает от принтера, изпълнете командата:
net use lpt1 /delete

Hint: За да видитe компютрите в мрежата използвайте, като команда: net view в DOS прозорец.

Информативно за по новаците, на които мишката им е придатък на ръката ги съветвам да заредят с BAT файл MOUSE.COM или GMOUSE.SYS
;)
За кiрилiцаtа ползвам работещо и тествано: BDS.COM на V.Valev ;)
Айде дерзайте и успех!
Изображение
"За мен най-лошото в България е чудесното наслаждение, което тук имат хората да се преследват един друг и да развалят един другиму работата."
К.Иречек, 13.12.1881
Аватар
error_404
Глобален модератор
Мнения: 360
Регистриран на: 22 Дек 2012 10:58

Re: Работещ DOS със печат в Windows XP/VISTA/7 x86/x64

Мнение от error_404 »

Допълнително да добавя:
Информативно в България се ползват под DOS следните кодови таблици:
CP866, CP855, MIC, CP1251

Някои PRN файлове се нуждаят от преконвертиране в правилната кодова таблица за да се отпечатат коректно и в случая използваме: WIN2MIK
Windows (ANSI) <--> MIK ASCII Cyrillic Charset Convertor
(C) 1997, Grigor Gatchev, M.D, Ph.D. No rights reserved.

Някои принтери се нуждаят от допълнително зареди шрифтове в паметта за да сработят коректните кодови таблици при печат.
За някои HP LaserJet и DeskJet принтери долупосочените команди са ни спасителният пояс ;)
Зареждане на външни шрифтове за HP за коректно принтиране в BAT файл:

hpload /cp pc7.hpf
hpload /cp mx9.hpf
hpload /cp mx10.sfp
hpload /p8 MX10.HPF
hpload /p9 MX10B.HPF
hpload /p12 MX9.HPF
hpload /p13 MX9B.HPF
hpload /p20 PC7.HPF


Landscape:
copy/b linep08n.sfl LPT1:

Portrait:
copy/b linep08n.sfp LPT1:

Премахва шрифтовете от паметта:
hpload /c

За BDS.COM на V.Velev малко HELP с клавишните комбинации:
Ако правилно сме заредили кирилицата под DOS, то би трябвало да видим следният надпис ;)
Cyrillic keyboard driver & CGA/EGA/VGA font handler v2.1 (Jun 1995)
Copyright (C) V.Valev Sofia 1987-1995. Tel: (02) 819-700, 8418-304
Supports IBM-PC/XT,IBM-PC/AT,PS/2 computers
Bulgarian version
Натискаме ляв Shift + десен Shift, веднъж и още веднъж, това гарантира, че фонта
с Кирилицата е в действие.
ALT+ Десен Shift - БДС/Фонетична
ALT+ Ляв Shift - Кирилица/Латиница
ляв Shift + десен Shift - Standard Font/User Font (User е с Кирилица)
Ctrl + Десен Shift - Standard characters/Graphics characters, това заменя латиницата с някакви знаци.

Ако сте решили да ползвате DOSPRN то не забравяйте коректната MIК.CP кодова таблица ;)
Благодарение на прочутият "ИнжИнер
IN MEMORIAM на Генади Атанасов
2DOSPRN.BAT
@echo off
rem copy textfile to C: and rename to PRNSPL
rem Read DOSPRN Help
IF EXIST C:\PRNSPL GOTO EXIST
copy %1 C:\PRNSPL
EXIT
:EXIST
ECHO File C:\PRNSPL alreadi exist. Break operation
exit

Намирането на всички външни файлове и програми оставям на Вас, аз лично всичко съм тествал и да Ви кажа се забавлявах!

От чиста спортна злоба си позволявам да Ви представя и примерен BAT файл за зареждане, който оставям на Вас да си редактирате "по свой образ и подобие"
:: This BAT file DO the following:
:: Map a shared printer on LPT
:: Map drive letter X as sahred resource
:: Sets clipper, sets Columns and Lines as in XP
:: Loads BDS Cyrllic Driver 10x to V.Valev
:: Substitutes drive letter T as C:\TEMP for TEMP directory
:: Substitutes drive letter U as C:\DATA for DATA files
:: Substitutes drive letter P as C:\PRNSPL for PRINT Processor
:: Sets LIB to Library path
:: Sets PATH for various programs
:: Delete the OLD archive (arj) files
:: Make new archive with all DBF files inside
:: Call external BAT file for PRINT fix and loading fonts
:: Call external BAT file for MENU
:: Start the Program
:: EOL
:: deep for D-Fend Reloaded DOSBox 0.74
:: 25/05/2010

@echo off
mode con lines=25
mode con cols=80
set clipper=f48
net use LPT1 \\192.168.1.1\LPT /persistent:yes
net use X: \\192.168.1.1\DATA
c:
bds/user/bds
subst T: C:\TEMP
subst U: C:\DATA
subst P: C:\PRNSPL
SET LIB=C:\LIBRARY;C:\LIB;
SET PATH=C:\WINDOWS;C:\WINDOWS\COMMAND;C:\;C:\UTIL;C:\CLIPPER\BIN;C:\FOX
cls
del C:*.arj
arj a -va C:ARCHIVE *.DBF
call C:\DIR\FIX.BAT
call C:\DIR\MENU.BAT
cd\DIR
PROG
Само информативно на който му се занимава:
За да може Windows XP/VISTA/7 да се отпечатва коректно от матричен принтер в текстов режим, то след инсталация на драйвера "Generic / Text Only" да се заменят файловете tty* (tty.dll, ttyres.dll, ttyui.dll) в папка
%windir%\system32\spool\drivers\w32x86\3 - x86
%windir%\system32\spool\drivers\x64\w32x86\3 -x64
(важно е да се отбележи, че това е папката с инсталираните принтери и е възможно цифрата "3" да е всяка друга, просто използвайте търсачката)
Коректни TTY* файлове могат да се извлекат от Windows 2000, (\i386\driver.cab)
Тогава вече имате възможност да определите кодовата таблица да е CP866 предвид, че преди "пачването" е CP1251 в настройките на драйвера "Generic / Text Only".
В старите Windows инсталации имаше възможност за редакция на файл TTY.DAT който съдържаше набор от символи за правилна кодировка при печат, но впоследващите версии на Windows липсва възможност за редакция освен с пренаписването на TTY от SDK на Microsoft ;)
Важен ключ за манипулация на print spooler:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WOW
По подразбиране изчакването е: 15 sec.
Ключ: "LPT_timeout"
Стойност: Примерно "30" или "3" в зависимост от времето, което желаете да пуснете на спулера за печат!

В момента определено подкарах всичко включително през VPN и смея да твърдя сработва.
Изображение
"За мен най-лошото в България е чудесното наслаждение, което тук имат хората да се преследват един друг и да развалят един другиму работата."
К.Иречек, 13.12.1881
Аватар
error_404
Глобален модератор
Мнения: 360
Регистриран на: 22 Дек 2012 10:58

Re: Работещ DOS със печат в Windows XP/VISTA/7 x86/x64

Мнение от error_404 »

D-Fend-Reloaded > Confs > DOSBox DOS.prof
следните редове и добави:
[serial]
serial1=Dummy
serial2=Dummy
serial3=Disabled
serial4=Disabled
lpt1=true
lpt1=enabled


Не съм го пробвал, но предполагам ще стане! Аз лично използвам трика с map-ване на принтера

http://ykhwong.x-y.net/ - Този BUILD на DOSBox има поддръжка на принтери.
Съгласно информацията тук: http://www.dosbox.com/wiki/SVN_Build...ced_SVN_builds

P.S. Гореописаният BUILD на официалният SVN на DOSBox наистина има LPT + меню и което на мен ми допадна самият прозорец на DOSBox има възможност в реално време да му се променят параметрите.
Да живее и пребъде Корейският народ и подобни
Успях да го интегрирам в D-Fend Reloaded Frontend без проблем!
Изображение
"За мен най-лошото в България е чудесното наслаждение, което тук имат хората да се преследват един друг и да развалят един другиму работата."
К.Иречек, 13.12.1881
ivan
Старши потребител
Мнения: 146
Регистриран на: 08 Яну 2013 17:51

Re: Работещ DOS със печат в Windows XP/VISTA/7 x86/x64

Мнение от ivan »

Човек, изби рибата с мотичето с тази тема :)

Последният път, в който съм се занимвал с печат/кирилица/DOS е било сигурно края на 90-те и искрено се надявам да не ми се налага да го правя отново, но уважения за труда и подробното обяснение. Може на някой да му влезе в работа (дано не на мен :) )
"Never underestimate the power of stupid people in large groups"
Аватар
teou
Site Admin
Мнения: 3039
Регистриран на: 23 Ное 2012 19:57
Местоположение: Dreieich - Dreieichenhein (Hessen) / София / Синеморец
Обратна връзка:

Re: Работещ DOS със печат в Windows XP/VISTA/7 x86/x64

Мнение от teou »

Абе при положение, че НАП си сака флопи дискети (поне доскоро)... нищо чудно на някой да му се наложи :)

Онзи ден гледах Аналитика на спнет форума. За последния месец имаше 1 посещение от .... уин 98 :)
morfius
Старши потребител
Мнения: 11
Регистриран на: 14 Яну 2013 13:07

Re: Работещ DOS със печат в Windows XP/VISTA/7 x86/x64

Мнение от morfius »

По мрежата не трябва никакво прекодиране, печатали са ми от 5 компютъра на 1 шернат принтер през досовска програма.
Целия трик става с инсталиране на дос кирилизиран шрифт в Уиндоуса и един прост net use \\computername\printername LPT1 /persistent:yes

Програмата си има дос кирилизация в нея.
intenzive
Мнения: 1
Регистриран на: 25 Юни 2013 23:14

Re: Работещ DOS със печат в Windows XP/VISTA/7 x86/x64

Мнение от intenzive »

Здравейте! В момента се боря с едни матрички и темата ми стана интересна. При 32 битовите Windows-си нещата с tty* от Windows 2000 стават, но при x64 не се получават нещата. След като се сложат и се опиташ да влезеш в настройките на Generic/Text only принтера получаваш съобщение за грешка, че принтера не бил инсталиран и иска да се инсталира отново. Имате ли идеи някакви?
fred
Глобален модератор
Мнения: 1429
Регистриран на: 27 Дек 2012 21:56

Re: Работещ DOS със печат в Windows XP/VISTA/7 x86/x64

Мнение от fred »

Можете да се смеете, но преди 3 г /преди пенсията/ редовно си печатах всяка година под DOS прозорец във Windows XP. Защото им бях приготвил на студентите една програма която даваше индивидуални протоколи с различни входни данни за всеки /да не преписват отговорите :) / и после на един широк принтер 132 колони за тях листчета с данните и поле за попълване на резултатите, за мен таблици с резултатите. Само слагам техните листчета върху таблицата и сравнявам. Като жест на благородство не оставих програмите на колегите да си отдъхнат малко момчетата :)

Всичко беше писано в онези далечни времена на Turbo C под Windows 3.11 и командвано с BAT скрипчета. Вършеше работа защото тя механиката си е една и съща от времето на Нютон. Така че Тео да не ми се хвали с неговото Windows 98 :)
Остап Бендер: Спасяването на давещите се е дело на самите давещи се.
Стендал: Овчарят винаги се стреми да убеди овцете, че неговите и техните интереси съвпадат.
Uncle_lyubo
Мнения: 1
Регистриран на: 16 Апр 2014 11:48

Re: Работещ DOS със печат в Windows XP/VISTA/7 x86/x64

Мнение от Uncle_lyubo »

Специално заради тази тема се регистрирах. Имам жалката съдба да ме наричат IT в общинска администрация и сега правя :dancing: защото има светлина в дъното на тунела.
Благодаря на error_404.. ОГРОМНО БЛАГОДАРЯ! :clap: :clap:
Аватар
error_404
Глобален модератор
Мнения: 360
Регистриран на: 22 Дек 2012 10:58

D-Fend Reloaded - in DOS we trust

Мнение от error_404 »

// NEWS
D-Fend Reloaded 1.4.3 has been released - http://dfendreloaded.sourceforge.net/
За мен може би един от най добрите DOS емулатори и среда за решаване на архаични проблеми!

За четене: Директен печат към LPT в DOSBox (модифицирана/пачната версия)
http://blog.dummzeuch.de/2014/03/03/pri ... om-dosbox/ - Кратко ръководство за да не се повтарям.

DOSBox Megabuild with LPT patch (not tested, but recomended from trusted pals)
http://home.arcor.de/h-a-l-9000/ << DEAD LINK USE WAYBACK MACHINE
Изображение
"За мен най-лошото в България е чудесното наслаждение, което тук имат хората да се преследват един друг и да развалят един другиму работата."
К.Иречек, 13.12.1881
smokin4oo
Мнения: 1
Регистриран на: 05 Окт 2016 20:11

Re: Работещ DOS със печат в Windows XP/VISTA/7 x86/x64

Мнение от smokin4oo »

Малко късничко се включвам, нооо успях да подкарам по този туториал Два usb принтера, единия пот XP(x86), а другия по 7(x64), но и при двата имам проблем с кирилицата. не разбрах как го направя без да ползвам допълнителни програмки
Аватар
error_404
Глобален модератор
Мнения: 360
Регистриран на: 22 Дек 2012 10:58

Re: Работещ DOS със печат в Windows XP/VISTA/7 x86/x64

Мнение от error_404 »

Здравейте,
ами да си дебъгнете какво подава драйвера към принтера друго не знам как да Ви посъветвам!
Възможни варианти са и евентуално неправилни регионални настройки и так далее.
Програмата коя е каква е ползва ли собствена кирилизация, емулира ли?!
Според предоставената оскъдна информация не мога да ви дам повече информация, просто мисля, че е разумно да се задава правилно и структурирано въпроса......
Изображение
"За мен най-лошото в България е чудесното наслаждение, което тук имат хората да се преследват един друг и да развалят един другиму работата."
К.Иречек, 13.12.1881
Аватар
error_404
Глобален модератор
Мнения: 360
Регистриран на: 22 Дек 2012 10:58

Работещ DOS със печат в Windows 10 x64

Мнение от error_404 »

Казус: Стари DOS програми стартиращи се от 1.44" дискети и отпчатващи (САМО!!!) към LPT1 порт (за чий уй и аз не знам)
Хардуер: Нов супер мощен лаптоп
Операционна система - Windows 10 x64/64-bit
Периферия: USB <> 1.44" floppy
Специфичен случай: Резултата НЕ трябва да се отпечатва, а да се насочи към файл за последващата обработка на рамките и привеждането във вид за отпечатване (това е изключително рядък частен случай, но за каузата да се знае)

Решение: Използвайки DOSBox и един прост BATCH скрипт за MAP на порта (LPT1), който всъщност е DUMMY порт и реално "отпечатаният" резултат е един PRT файл съдържащ данните за последваща обработка!

0. Инсталираме си ако нямаме някакъв принтер (вж. началото на статията с терзанията)
1. Необходим ни е GTI.COM за кирилизация на DOS програмата, който може да се намери в почти всички ползващи все още DOS за разни цели и задачи - респект
2. DOSBox SVN version with printer support - С пълноценна поддръжка на принтери (изход към LPT1) - респект
http://ykhwong.x-y.net/ - Официална страница
Линк за сваляне на Portable версия :ugeek:
Сваляме и разархивирме да речем в C:\DOSBox
3. В разархивираната директория намираме и модифицираме dosbox.conf | dosbox-SVN-Daum.conf и добавяне на следните редове:

Код за потвърждение: Избери целия код

printer=true
dpi=360
width=85
height=110
printoutput=printer
multipage=false
docpath=c:\print
timeout=0
.
.
.
.
parallel1=file
* Всички параметри са модифицирани спрямо изискванията и възможностите. Направете промените според Вашите изисквания.
В случая изходът >> "псевдо печатът" ще отидат в папка print на устройство C:\
Самият dosbox-SVN-Daum.conf който е същият, който модфицирахте има достатъчно кадърно написани коментари кое за какво служи!

Код за потвърждение: Избери целия код

parallel1=file dev:lpt1
<< Ако желаем директен печат към LPT порта и каквото е закачено на него!
В гореописаната част от кода уточних, че е за специфичен казус изиксващ "ринтирането" да бъде във файл!!!
4. Стартираме следният BAT файл, кйто всъщност указва, че има принтер на LPT1 порта
net use lpt1:\\името на компютъра(или IP адрес)\името на принтера който преди това сте споделили и желаете да остане за постоянно /yes
В първата част от тази сбъркана статия съм описал точно кое какво и как! Инсталирайте си някой принтер, или който е закачен на USB портта и сте го споделили в мрежата ;)
Пример за командата:

Код за потвърждение: Избери целия код

net use lpt1 \\192.168.1.111\hpusb /persistent:yes
или

Код за потвърждение: Избери целия код

net use lpt1 \\pc-01\hplusb /persistent:yes
5. Стартираме DOSBox и в менюто горе указваме, че желаем устройство A:\ да бъде монтирано, при което флопито би следвало да започне да чегърка (ай сега да видя Google Translate Как ще се справи)
6. Същото правим и за устройство C:\ (тук искам да вметна, да се внимава, че си MAP-вате основният диск, който има акъл знае какво да направи, който не да спре изобщо да чете и да отива на пясъчника! ....естествено съгласяваме се, че не ни пука и сме камикадзета ;)
7. Проверяваме и дали принтера е монтиран!
8. Стартираме GTI.COM в DOSBox
gti [ENTER]
Блях имаме кирилизация
9. Стартираме си DUMMY приложението и правим каквото правим и след това бам печат примигва присвятква и пак DOSBox
10. Отиваме в C:\print и Voila имаме си PRT файл, който е човешко четим в
!!! ВНИМАНИЕ !!! - интересно до MSOffice 2007, след това при даване на кодировка MSDOS в последващи версии на офиса, се чупи кодировката, така че в случая с MSOffice 2016 не се получи, както и в 2010/2013 но пък файла е коректно четим във по-стари версии MSOffice 97/2000/2003/2007!!!!!!!!!
В Notepad++ файла също е четим и редактируем при указване на кодировка (Menu > Encoding >> Character sets...>> OEM 866 )

Може да пробвате и vDOSPlus - http://www.vdosplus.org/ :beer:
Изображение
"За мен най-лошото в България е чудесното наслаждение, което тук имат хората да се преследват един друг и да развалят един другиму работата."
К.Иречек, 13.12.1881
kyky
Мнения: 2
Регистриран на: 11 Фев 2017 15:18

Re: Работещ DOS със печат в Windows XP/VISTA/7 x86/x64

Мнение от kyky »

Мисля, че темата е наистина полезна. Като цяло ме накара да се регистрирам, за да мога и аз да споделя моите резултати от опитите/мъките с DOS, MIK и модерните компютри.

Начинът от последният пост за директен печат има и по-"праволинеен" вариант ;)

Код за потвърждение: Избери целия код

parallel1=file append:\\[IP / име на компютър]\[споделено име на принтер]
Eто и съответните примери (като в горния пост):

Код за потвърждение: Избери целия код

parallel1=file append:\\192.168.1.111\hpusb
parallel1=file append:\\pc-01\hpusb
Така директно от DosBOX-a всичко отива към "споделения" принтер. Всичко е аналогично, само без употребата на net use, която става излишна. Да добавя и че подхода със споделянето е правилният, защото аналогът му с използването на "printer pooling" в настройките на портовете на принтера е ненадеждно (не винаги работи и при изпращане на документ към принтера просто дава "printing error").


Директно запаметяване в конкретен файл на всичко пратено към LPT порта (при следващ печат се добавя информацията в същия файл):

Код за потвърждение: Избери целия код

parallel1=file append:[път към файла, където искаме да се запази информацията]
Примери:

Код за потвърждение: Избери целия код

parallel1=file append:D:\Papka\output.txt

Директно запаметяване в отделни .prn файлове на всичко пратено към LPT порта (файловете се запазват в CAPTURE директорията на DosBOX-a):

Код за потвърждение: Избери целия код

parallel1=file

Каквото и да изберем са валидни следните опционални параметри - timeout, addFF и addLF.

timeout - колко време след последната комуникация да се изчака преди терминирането на текущия файл/операция (в милисекунди):
Примери:

Код за потвърждение: Избери целия код

parallel1=file dev:LPT1 timeout:1000
parallel1=file append:\\192.168.1.111\hpusb timeout:1000
addFF - добавя символ за край на страницата преди затваряне на файла/комуникацията, като така кара принтера да започне да печата веднага или да "превърти" хартията до позиция за нова страница.
Примери:

Код за потвърждение: Избери целия код

parallel1=file dev:LPT1 addFF
parallel1=file append:\\192.168.1.111\hpusb addFF
addLF- добавя символ за край на реда, ако програмата не го е направила.
Примери:

Код за потвърждение: Избери целия код

parallel1=file dev:LPT1 addLF
parallel1=file append:\\192.168.1.111\hpusb addLF
Проблемът идва, когато принтерът не поддържа МИК кодировка и трябва да преминем през файл, който да прекодираме (например с WIN2MIK) и после да изпратим към принтера. Като пример - машината, която се опитвам да подгарам има допълнителен "драйвър" за DOS, който реално просто сменя определени символи с други. За съжаление обаче явно DosBOX успява да прихване текста още преди "транслацията" и сега тя трябва да се направи на "модерната" ОС, което изисква писане на специално приложение/драйвър :(


А сега малко за WIN2MIK. Както някои са забелязали програмата е несъвместима с 64 битови операционни системи. Та след малко игра установих какво точно прави програмата, за да мога да го "пресъздам" за 64-битови операционни системи. Реално чете файла по байтове(bytes) и ако стойността е между 128 и 191 добавя 64 към нея, а ако е между 192 и 255 изважда 64 от нея (реално разменя местата на байтовете 80-BF и C0-FF). Поради някаква причина не чете/пипа последния байт. Някой има ли някаква идея дали това е просто грешка или има логично обяснение? :wtf:


PS: Тъй като data.bg (която до скоро бе основен извор на забравени от 2000-та неща) постепенно изчезва предлагам да обединим сили в създаването на архив на всичките инструменти на сигурно място (Google Drive, Dropbox, etc.). Ще проверя какво имам и ще го кача някъде на "видно" и "сигурно" място.
kyky
Мнения: 2
Регистриран на: 11 Фев 2017 15:18

Re: Работещ DOS със печат в Windows XP/VISTA/7 x86/x64

Мнение от kyky »

Линк към всички програми и ресурси, споменати в тази тема:
https://drive.google.com/drive/folders/ ... l9UTWpuZ0E

Допълнително може да намерите:

DOS кирилизаторите BDSVGA, CYRDRV, GCYR, GTI, KVD, KVM, KVN и VD.

WIN32MIK - 32-битов еквивалент на WIN2MIK. Единствената разлика е, че тръгва на 64-битови операционни системи. Изисква .NET Framework 2.0.

MIK2UTF8 - сходна по работа програма, но еднопосочно конвертира МИК текстов файл към UTF-8. Няма да работи под DOS, но работи с 64-битови операционни системи. Изисква .NET Framework 2.0.

Всички програми са с кракто описание за използване. Ако някой има нещо за добавяне, нека се свърже с мен.
Публикувай отговор