Supportnet Computer
Planet of Tech

Supportnet / Forum / WindowsXP

Umlaute drucken aus Dos Box





Frage

hallo, ich habe ein altes dos programm und einen Drucker der nur USB hat. so nach einer weile habe ich rausbekommen das man mit dem befehl net use lpt2:\\computer\freigabenname /persisten:yes die druck befehle vom dos programm auf usb umleiten kann so aber er druck wies schein ohne formatierung also kein Fett use. und leide auch keine umlaute (ä, ö, ü...) ich habe gelese das es wohl etwas mit der codierung zu tun hat codepage irgendwas hat jemand eine idee wie ich umlaute bekomme oder gibt es eine andere möglichkeit für das drucken aus dos mfg robert

Antwort 1 von Solo

Hi,
ich weiss zwar nicht, ob es ein Druckbefehl für dein problem gibt. Als Alternative kannst du die Datei nach dem Druck in ANSI z.B. mit dem folgenden VBScript konvertieren. Diesen Code in Notepad kopieren und als Ansi2Ascii.VBS abspeichern.

´ Dieses Script wandelt Textdateien (*.txt) von ANSI nach ASCII um und
´ umgekehrt.

Set myfiles = CreateObject("Scripting.FileSystemObject")
Set myshell = Wscript.CreateObject("Wscript.Shell")
Set Appshell = CreateObject("Shell.Application")
Set Sendenan=Wscript.arguments
Erweiterung = "txt"
Titel = "..., welcher die *.txt-Datei(en) enthält:"

On error resume next

if Sendenan.Count=0 then
Set AppFolder = Appshell.BrowseForFolder(0, Titel, &H0001, 17)
Ordner = AppFolder.ParentFolder.ParseName(AppFolder.Title).Path
If err.number > 0 then
i=instr(AppFolder, ":")
Ordner = mid(AppFolder, i - 1, 1) & ":\"
end if
else
Ordner = Sendenan(0)
if not (myfiles.FolderExists(Ordner)) then
g = msgbox("Wählen Sie bitte einen gültigen Ordner aus")
wscript.quit
end if
end if

Do
Wahl = Inputbox("Möchten Sie von:" +VBCR + VBCR & " 1 = ASCII (DOS) zu ANSI (Win)" +VBCR +VBCR & " 2 = ANSI (Win) zu ASCII (DOS)" +VBCR +VBCR & "konvertieren?", " Konvertierung", "1")
Set Ord = myfiles.GetFolder(Ordner)
If Wahl = "" then
wscript.quit
elseif Wahl = "2" then SubSearch2 Ord
elseif Wahl = "1" then SubSearch1 Ord
else
d = Msgbox("Geben Sie bitte entweder 1 oder 2 ein")
end if
loop until wahl = 2 or wahl = 1

Sub SubSearch2(Byval Ord)

filesearch2 Ord
Set Weitere = Ord.SubFolders
For Each AktuellerOrdner In Weitere
check = mid(AktuellerOrdner, len(AktuellerOrdner)-4, 5)
if not check = "ascii" then
SubSearch2 AktuellerOrdner
end if
Next
End Sub

Antwort 2 von Solo

Sub Filesearch2(Byval AktuellerOrdner)
If not (myfiles.FolderExists(AktuellerOrdner & "\ascii")) then
Set ascii = myfiles.CreateFolder(AktuellerOrdner & "\ascii")
end if
Set Texte = AktuellerOrdner.Files
For Each txt in Texte
Set x = myfiles.GetFile(txt)
groesse = x.Size
basis = myfiles.GetBaseName(txt)
Erw = myfiles.GetExtensionName(txt.name)
Erw2 = Lcase(Erw)
if Erw2 = Erweiterung and groesse > 0 then
Set dat = myfiles.OpenTextFile(txt)
t = dat.readall
dat.close

t = replace(t, chr(228), chr(132))
t = replace(t, chr(246), chr(148))
t = replace(t, chr(252), chr(129))
t = replace(t, chr(196), chr(142))
t = replace(t, chr(214), chr(153))
t = replace(t, chr(220), chr(154))
t = replace(t, chr(223), chr(225))

Set dat = myfiles.OpenTextFile(AktuellerOrdner & "\ascii\" & basis & ".asc", 2, true)
dat.Write t
dat.close
end if
next
Set ascjj = myfiles.GetFolder(AktuellerOrdner & "\ascii")
leer = ascjj.size
if leer = 0 then
myfiles.DeleteFolder(ascjj)
end if

End Sub

Sub SubSearch1(Byval Ord)
filesearch1 Ord
Set Weitere = Ord.SubFolders
For Each AktuellerOrdner In Weitere
check = mid(AktuellerOrdner, len(AktuellerOrdner)-3, 4)
if not check = "ansi" then
SubSearch1 AktuellerOrdner
end if
Next
End Sub

Sub Filesearch1(Byval AktuellerOrdner)
If not (myfiles.FolderExists(AktuellerOrdner & "\ansi")) then
Set ansi = myfiles.CreateFolder(AktuellerOrdner & "\ansi")

end if
Set Texte = AktuellerOrdner.Files
For Each txt in Texte
Set x = myfiles.GetFile(txt)
groesse = x.Size
basis = myfiles.GetBaseName(txt)
Erw = myfiles.GetExtensionName(txt.name)
Erw1 = LCase(Erw)
if Erw1 = Erweiterung and groesse > 0 then
Set dat = myfiles.OpenTextFile(txt)
t = dat.readall
dat.close

t = replace(t, chr(132), chr(228))
t = replace(t, chr(148), chr(246))
t = replace(t, chr(129), chr(252))
t = replace(t, chr(142), chr(196))
t = replace(t, chr(153), chr(214))
t = replace(t, chr(154), chr(220))
t = replace(t, chr(225), chr(223))

Set dat = myfiles.OpenTextFile(AktuellerOrdner & "\ansi\" & basis & ".ans", 2, true)
dat.Write t
dat.close
end if
next
Set ansj = myfiles.GetFolder(AktuellerOrdner & "\ansi")
leer = ansj.size
if leer = 0 then
myfiles.DeleteFolder(ansj)
end if
End Sub
msgbox Space(11) & "Fertig!",," Information"

wscript.quit

MfG, Solo

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: