1

У меня есть устаревшее приложение, которое работает только в DOS вплоть до Windows XP, но в настоящее время я предпочитаю использовать Windows 8 из-за других программ. Это устаревшее приложение использует порт lpt1 для печати ваших вещей, в Dosbox я не могу настроить порт lpt1 используя:

 net use lpt1 \\<mynetworkpc>\<printer> /persistent:yes

примечание: принтер работает параллельно.

Так что в другой теме по интернету я нашел статью, в которой говорится, что нужно использовать этот Dosbox http://ykhwong.xy.net/ и настроить там строки:

    [printer]
    #     printer: Enable printer emulation.
    #         dpi: Resolution of printer (default 360).
    #       width: Width of paper in 1/10 inch (default 85 = 8.5'').
    #      height: Height of paper in 1/10 inch (default 110 = 11.0'').
    # printoutput: Output method for finished pages: 
    #                png     : Creates PNG images (default)
    #                ps      : Creates Postscript
    #                bmp     : Creates BMP images (very huge files, not recommend)
    #                printer : Send to an actual printer (Print dialog will appear)
    #   multipage: Adds all pages to one Postscript file or printer job until CTRL-F2 is     pressed.
    #     docpath: The path where the output files are stored.
    #     timeout: (in milliseconds) if nonzero: the time the page will
    #              be ejected automatically after when no more data
    #              arrives at the printer.
    printer=true
    dpi=360
    width=85
    height=110
    printoutput=printer
    multipage=false
    docpath=.
    timeout=0

    [parallel]
    # parallel1: parallel1-3 -- set type of device connected to lpt port.
    #            Can be:
    #               reallpt (direct parallel port passthrough),
    #               file (records data to a file or passes it to a device),
    #               printer (virtual dot-matrix printer, see [printer] section)
    #            Additional parameters must be in the same line in the form of
    #            parameter:value.
    #              for reallpt:
    #              Windows:
    #                realbase (the base address of your real parallel port).
    #                  Default: 378
    #                ecpbase (base address of the ECP registers, optional).
    #              Linux: realport (the parallel port device i.e. /dev/parport0).
    #              for file: 
    #                dev:<devname> (i.e. dev:lpt1) to forward data to a device,
    #                or append:<file> appends data to the specified file.
    #                Without the above parameters data is written to files in the capture dir.
    #                Additional parameters: timeout:<milliseconds> = how long to wait before
    #                closing the file on inactivity (default:500), addFF to add a formfeed when
    #                closing, addLF to add a linefeed if the app doesn't, cp:<codepage number>
    #                to perform codepage translation, i.e. cp:437
    #              for printer:
    #                printer still has it's own configuration section above.
    # parallel2: see parallel1
    # parallel3: see parallel1
    #    dongle: Enable dongle
    parallel1=enabled dev:lpt1
    parallel2=disabled
    parallel3=disabled
    dongle=false

Но после этих конфигураций я не могу сделать свою программу для печати, я не могу изменить это программирование, потому что у меня нет исходного кода, вероятно, запрограммированного в Clipper.

3 ответа3

1

Вы должны быть в состоянии исправить печать с правильной конфигурацией для версии DOSBox SVN-Daum с http://ykhwong.xy.net/

Вот соответствующие части правильного файла конфигурации для печати из Windows 8.1:

#     Enable printer emulation in Windows using print dialog
#     dosbox-SVN-Daum.conf
#     C:\Program Files (x86)\DOSBox SVN-Daum\TOOLS\Run DOSBox configuration.bat

[printer]
#     printer: Enable printer emulation.
# printoutput: Output method for finished pages: 
#                png     : Creates PNG images (default)
#                ps      : Creates Postscript
#                bmp     : Creates BMP images (very huge files, not recommend)
#                printer : Send to an actual printer (Print dialog will appear)
#   multipage: Adds all pages to one Postscript file or printer job until CTRL-F2 is     pressed.
#     timeout: (in milliseconds) if nonzero: the time the page will
#              be ejected automatically after when no more data
#              arrives at the printer.
printer=true
printoutput=printer
multipage=true
timeout=10000

[parallel]
# parallel1: parallel1-3 -- set type of device connected to lpt port.
#            Can be:
#               reallpt (direct parallel port passthrough),
#               file (records data to a file or passes it to a device),
#               printer (virtual dot-matrix printer, see [printer] section)
parallel1=printer

Бум, вы печатаете с помощью диалогового окна печати Windows. Лично мне нравится печатать в PDF, сначала используя PrimoPDF, а затем печатать, когда я вижу результат.

Одна вещь, которая сбила меня с толку, - это то, что multipage=true означает, что вы застреваете "Буферизация" в Windows, пока не нажмете CTRL+F2. Вы можете исправить это с достаточным временем ожидания, превышающим количество миллисекунд, которое у вас когда-либо будет между выходом страницы из вашей программы. У меня установлено 10 секунд.

Кроме того, если вы один раз установили принтер на DOSBox SVN-DAUM с помощью диалогового окна печати Windows, он будет установлен в качестве этого принтера, пока вы не перезапустите DOSBox (Ctrl-Alt-Home).

1

Вы можете попробовать альтернативу DOSbox: http://schaars.nl/vDos.7z. Вы сможете печатать на любом принтере, настроенном в Windows. Видео: http://www.youtube.com/watch?v=IIdtsvuDfr0

0

Недостатком оригинального DosBox является то, что он был разработан как платформа для тех, кто хочет играть в старые игры на базе DOS. В таком случае, дизайнер никогда не думал о том, чтобы предоставить интерфейс принтера. Поверьте мне, я старался всеми возможными способами и ничего не получил.

Однако я обнаружил, что это работает, хотя в лучшем случае неуклюже:

Проверьте приложение DOS, чтобы увидеть, есть ли в нем драйвер принтера, который будет печатать в файл форматированного текста (.rtf) или файл PostScript (.ps). Если это так, распечатайте его, а затем загрузите файл в приложение Windows 8 для печати. Я знаю, что Microsoft Word, WordPerfect x6 и Open Office будут читать и интерпретировать файлы Rich Text. В Adobe Acrobat Professional есть программа, которая преобразует файлы PostSript в *.PDF файлы. Затем распечатайте из приложения Windows 8.

Как я уже сказал, неуклюжий, но работоспособный.

Надеюсь это поможет.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .