Italia
Fonte/ Codesnippets

Auslesen Barcode Bcp5000 Scanner Steuern

 
Für den Barcode-Scanner BCP5000 habe Io l' folgenden Auslese-Quelltext hergestellt z.B. per An-/ Einbindung an Firmensoftware. Das Programm liest den Scanner aus und schreibt die Daten in un Textdatei und "löscht" den Scanner. Es gibt auch die ausgeklammerte Funktion um die Datensätze in un Listbox zu kopieren.

Dankeschön auch an Michael Krug ( [...]  ) per die Steuerbefehle - bei ihm kann man auch diese Scanner bestellen.

Das Programm war/ ist notwendig da die mitgelieferte Auslesesoftware (naturalmente) nicht funktionierte - "natürlich" war ein OCX oder eine Komponente "ungültig".

Barcodes drucken geht hiermit ganz einfach: [...] 
KompilierenMarkierenSeparieren
 {$cleq}
 {$runtime C:\dev\BCP5000\}
const outpFle="bcp5000output.txt"
/*
// Liste-Variante
long dataSet=bcp5000.createScannedDataList(4)
case dataSet==-1 : end messageBox("Scanner-Fehler.","Scanner-Fehler.",4096)
print "DataSets:",getCount(dataSet)
whileLoop 0,getCount(dataSet)-1
print getString$(dataSet,loop)
wend
*/
long comPort=val(readini$(progDir+"bcp5000.ini","setup","port"))

if comPort<1

    writeini progDir+"bcp5000.ini","setup","port"="0"
    shell "notepad "+progDir+"bcp5000.ini"
    end

endif

long fh=assign(outpFle)
casenot fh : end messageBox(outpFle+"-Fehler","Fehler.",4096)

if fileExists(outpFle)

    append fh

else

    rewrite fh

endif

case ioResult : end messageBox(outpFle+"-Fehler","Fehler.",4096)
string dta=bcp5000.createScannedDataList(comPort,false)
caseNot dta=="" : print #fh,dta
close fh
bcp5000.eraseData(comPort)
end

proc bcp5000.eraseData(long comPortNumber)

    long h=openCom("COM"+str$(comPortNumber),262144,262144)
    case h<1 : return -1//end messageBox("Scanner nicht gefunden.","Scanner nicht gefunden.",4096)
    casenot setCom(h,"COM"+str$(comPortNumber)+":19200,N,8,1")==0 : return -1//end messageBox("Scanner-SetCom-Fehler.","Scanner-SetCom-Fehler.",4096)
    writeCom(h,"\x02        E\x0D\x72\x03")
    caseNot comError(h)==0 : return -1//end messageBox("Scanner-WriteCom-Fehler.","Scanner-WriteCom-Fehler.",4096)
    closeCom(h)
    return 1

endProc

proc bcp5000.createScannedDataList(long comPortNumber,bool stringOrList)

    case pCount<2 : stringOrList=true
    long h=openCom("COM"+str$(comPortNumber),262144,262144)
    case h<1 : return -1//end messageBox("Scanner nicht gefunden.","Scanner nicht gefunden.",4096)
    casenot setCom(h,"COM"+str$(comPortNumber)+":19200,N,8,1")==0 : return -1//end messageBox("Scanner-SetCom-Fehler.","Scanner-SetCom-Fehler.",4096)
    writeCom(h,"\x02        D\x0D\x71\x03")
    caseNot comError(h)==0 : return -1//end messageBox("Scanner-WriteCom-Fehler.","Scanner-WriteCom-Fehler.",4096)
    string s
    long tme=getTickCount+15000

    while getTickCount<tme

        s=readCom$(h,262144)
        // caseNot comError(h)==0  : return -4 //end messageBox("Scanner-ReadCom-Fehler.","Scanner-ReadCom-Fehler.",4096)
        caseNot s=="" : break
        sleep 100

    wend

    long scanC=int(val(mid$(s,10,5))),ofs=15,lst
    string dte,dta,ns,scid=mid$(s,2,8)
    case stringOrList : lst=create("list",0)

    whileLoop scanC

        dte=format$("00",str$(ord(mid$(s,2+ofs,1))-16))+"."+format$("00",str$(ord(mid$(s,1+ofs,1))-16))+"."+"20"+format$("00",str$(ord(mid$(s,ofs,1))-16))+" "+format$("00",str$(ord(mid$(s,3+ofs,1))-16))+":"+format$("00",str$(ord(mid$(s,4+ofs,1))-16))+":"+format$("00",str$(ord(mid$(s,5+ofs,1))-16))
        ns=scid+" "+dte+" "
        inc ofs,7

        whileNot mid$(s,ofs,1)==","

            ns=ns+mid$(s,ofs,1)
            inc ofs,1

        wend

        if stringOrList

            addstring(lst,ns)

        else

            dta=dta+ns+"\n"

        endif

        inc ofs,2

    wend

    closeCom(h)
    case stringOrList : return lst
    return trim$(endProc


469 kB
Hochgeladen:17.12.2010
Downloadcounter11
Download
 
17.12.2010  
 



Zum Quelltext


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

5.149 Views

Untitledvor 0 min.
Uwe Lang29.02.2024
RudiB.26.02.2024
Manfred Barei09.12.2023
Normann Strübli30.01.2023
Di più...

Themeninformationen

Dieses Thema hat 1 subscriber:

iF (1x)


Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie