Application héritée et Dosbox

1

J'ai une application héritée qui ne fonctionne que sous DOS jusqu'à Windows XP, mais je préférerais de nos jours utiliser Windows 8 en raison des autres logiciels. Cette application héritée utilise un lpt1port pour imprimer vos effets. Sous Dosbox, je ne peux pas configurer le lpt1port à l'aide de:

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

remarque: l'imprimante est parallèle.

Donc, dans un autre sujet sur Internet, j'ai trouvé un article qui dit d'utiliser cette Dosbox http://ykhwong.xy.net/ et de configurer ses lignes:

    [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

Mais, après ces configurations, je ne peux plus imprimer mon programme, je ne peux pas modifier cette programmation car je n'ai pas le code source, probablement programmé dans Clipper .

João Cota
la source
Je me suis toujours demandé si quelqu'un créerait une version améliorée et personnalisée de DOSBox. Je suppose qu'ils ont. :-)Quoi qu'il en soit, avez-vous essayé de le configurer pour qu'il «imprime» dans un fichier graphique (PNG / BMP), puis en l'imprimant à partir de Windows?
Synetech
oui, j'ai essayé, mais le logiciel ne reconnaît pas l'imprimante ...
João Cota
Pourquoi vous mettez parallel1à dev:lpt1? Cette option permet à DOSBox de rediriger le port parallèle vers un véritable port parallèle sur l'ordinateur (et le devformat est celui de Linux). Si vous souhaitez utiliser l'imprimante virtuelle, vous devez la définir comme parallel1=enabled printer
suit
mon application ne reconnaît pas encore l'imprimante lpt1 :-(
João Cota

Réponses:

1

Vous devriez pouvoir corriger l'impression avec la configuration correcte sur la version SVN-Daum de DOSBox à partir de http://ykhwong.xy.net/

Voici les parties pertinentes d’un fichier de configuration correct à imprimer à partir de 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

Boom, vous imprimez à l'aide du dialogue d'impression Windows. Personnellement, j'aime imprimer d'abord au format PDF avec PrimoPDF , puis imprimer une fois que je vois le résultat.

Une chose qui m'a fait trébucher, c'est multipage=trueque vous êtes bloqué "Spooling" dans Windows jusqu'à ce que vous frappiez CTRL+F2. Vous pouvez résoudre ce problème avec un délai suffisant dépassant le nombre de millisecondes que vous aurez jamais entre la sortie de la page de votre programme. J'ai le mien réglé à 10 secondes.

De plus, une fois que vous avez configuré l'imprimante sur le DOSBox SVN-DAUM à l'aide de la boîte de dialogue Imprimer de Windows, vous définissez cette imprimante jusqu'au redémarrage de DOSBox ( Ctrl-Alt-Home).

Derek R. Austin
la source
0

L'inconvénient de la DosBox d'origine est qu'il a été conçu comme une plate-forme pour ceux qui souhaitent jouer à d'anciens jeux basés sur DOS. Cela étant, le concepteur n’a jamais pensé à fournir une interface d’imprimante. Croyez-moi, j'ai essayé de toutes les manières possibles et je n'ai abouti à rien.

J'ai trouvé, cependant, que cela fonctionne bien au mieux maladroit:

Vérifiez si votre application DOS a un pilote d'imprimante capable d'imprimer dans un fichier Rich Text ( .rtf) ou PostScript ( .ps). Si c'est le cas, imprimez dessus, puis chargez le fichier dans une application Windows 8 pour l'imprimer. Je sais que Microsoft Word, WordPerfect x6 et Open Office liront et interprèteront les fichiers RTF. Adobe Acrobat Professional est un programme qui convertira les fichiers PostSript en fichiers * .PDF. Imprimez ensuite à partir de votre application Windows 8.

Comme je le disais, maladroit mais réalisable.

J'espère que cela t'aides.

Stlfstangard
la source