Avatar billede tune Nybegynder
17. november 1999 - 11:42 Der er 9 kommentarer og
1 løsning

kopierer en txt fil til lpt1

Hvordan sender man en tekst fil fra et VB program til sin lpt port.
Jeg har behov for at kunne printe en fil uden at bruge en printerdriver i Windows. Effkten af at kopiere en tekst fil ud til printer porten er netop at filen bliver printet
Avatar billede larsomania Nybegynder
17. november 1999 - 12:17 #1
Åbn en dos prompt

skriv:

copy filnavn.txt lpt1:

Thats it...
Avatar billede larsomania Nybegynder
17. november 1999 - 12:18 #2
Sorry.. Skal lige læse spørgsmålet først - glem det!
Avatar billede mjess Nybegynder
17. november 1999 - 13:07 #3
Hvad med at bruge Shell funktionen:

Shell("copy [sti]\filnavn.txt lpt1", vbMinimizedNoFocus)

(Se http://msdn.microsoft.com/library/devprods/vs6/vbasic/vbenlr98/vafctShell.htm )
Avatar billede aleks Nybegynder
17. november 1999 - 13:23 #4
Ja eller på denne måde, så er du sikker på at den bliver kopieret uden formateringer:

Shell("copy [sti]\filnavn.txt lpt1 /b", vbMinimizedNoFocus)

Avatar billede Slettet bruger
17. november 1999 - 14:09 #5
Husk at sti IKKE må indeholde "lange" filnavne, i.e

Shell("copy C:\temp\filnavn.txt lpt1 /b", vbMinimizedNoFocus)  VIRKER
Shell("copy C:\Dokume¨1\filnavn.txt lpt1 /b", vbMinimizedNoFocus) VIRKER
Shell("copy C:\Dokumenter\filnavn.txt lpt1 /b", vbMinimizedNoFocus) VIRKER IKKE
Avatar billede tune Nybegynder
17. november 1999 - 15:16 #6
Jeg har prøvet jeres forslag, men får en fejl at filen ikke kan findes. Jeg har virkelig været omhyggelig med at checke at der lå en tekst fil, har forsøgt med foskellige pladseringer, og ikke brugt lange filnavne.
Avatar billede joern Nybegynder
17. november 1999 - 21:27 #7
Hej Tune.

Jeg tror ikke at du kan "omgå" printerdriveren når du printer mens windows kører, selv når du printer fra en DOS-promt med type > lpt1 går det via windows' standardprinter-opsætning.

Jeg vil foreslå at læse filen én linie ad gangen, altså frem til hver CR
Hvis linierne er længere end de 80-100 tegn printeren kan klare, skal der lidt mere til.

  Dim data as String
  Printer Print, ""              ' vækker printeren
  Open sti & "\filnavn.txt" for input as #1
      Do while EOF(1)=false
          Line Input #1, data
          Printer.Print data
      Loop
    Close #1

    Du kan sætte font og fontsize m.v.

  Printer.Fontname = "Times New Roman"
  Printer.Fontsize = 14
  Printer.Fontbold =1            ' 1=true  0=false
  Printer.print tab(15); data    ' rykker data 15 tegn ind fra venstre kant

Spørg igen hvis det er uklart, hvad jeg foreslår.

M.v.h.  Jørn
Avatar billede tune Nybegynder
17. november 1999 - 22:50 #8
Hej Joern

Det jeg sidder og roder med er en lille program som checker et bibliotek efter en printfil, dukker der en fil op, smides den til printeren, f.eks via LPT1.
Din kode virker for så vidt ok, men bare ikke til PostScript, da den skriver selve PostScript koden ud, istedet for dokumentet.
Avatar billede joern Nybegynder
17. november 1999 - 23:18 #9
Hej Tune.

Trist, det med postscript.  Så må andre træde til.

M.v.h.  Jørn
Avatar billede aleks Nybegynder
18. november 1999 - 08:05 #10
Har du prøvet med et kolon efter lpt1, som følgende linie har?

Shell("copy [sti]\filnavn.txt lpt1: /b", vbMinimizedNoFocus)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester