webForumDet fria alternativet

Läsa magremsa från printer till VB

.NET

3 svar · 219 visningar · startad av pv98jgy

Medlem sedan maj 200026 inlägg
Frågan#1

Jag har en printer som kan koda och läsa magnetkort. Att koda på kort är inga problem det skickas enkelt från VB med Printer.Print till printern.

Dock vet jag inte hur jag skall kunna få ut informationen till VB när jag läser ett kodat kort i printern. Jag vet att det går att läsa ut från printern för jag har en applikation som klarar det (bara en exe-fil så kan ej titta på källkoden), dock vill jag också implementera denna funktion i mitt eget program.

Hoppas någon kan hjälpa mig.

Medlem sedan juni 20022 599 inlägg
#2

Well, nu har jag inte den blekaste aning om hur mekanismerna för att läsa från kortet ser ut i ditt fall, eller ens vilket operativ du använder ..

Men om du bara vill ha möjlighet att läsa "rått" från printerporten så finns det rätt många gratis-lib som fixar det. Bla WinIo som även innehåller exempel i VB.

Om du däremot behöver en interruptstyrd mekanism för att veta när data finns på porten så blir det lite svårare .. Vill minnas att det finns en längre tråd om detta i C++-forumet. Sök på "SetCommMask".

Medlem sedan maj 200026 inlägg
#3

Jag använder Win2000. Jag har ett printer specifikt läs kommando för att läsa kortet. Detta kommando kan jag skicka till printern. Printern läser då kortet. Allt detta kan jag göra i mitt program. Dock vet jag inte hur jag skall få fram den strängen och skicka tillbaka den till min applikation.

Jag har prövat med sekventiell access fil där man öppnar porten som vilken fil som helst men detta verkar inte fungera. Så här.

Open Printer.Port For Input As #1

  While Not EOF(1)
   svar = Input 10, 1  // läser 10 bytes från fil 1     
 Wend

Close #1

Det enklaste och mest uppenbara hade varit om man kunde haft ett return värde på Printer.Print men det funkar tyvärr inte heller.

Medlem sedan juni 20022 599 inlägg
#4

Nej, att försöka accessa LPT1 som en fil går nog inte.

Som sagt, har du provat WinIo? Det finns ett VB-exempel med. Ska du sen läsa flera bytes åt gången så får du eventuellt timing-problem. Det vet jag inte. Prova.

288 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
157 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)