¿Cómo lee VFP los datos del COM serie?
El siguiente es un fragmento de código para que VFP llame a un archivo DLL; consulte:
Las siguientes son las funciones initomr, testhopper, sendcardform, readcard, getdecoder, sendcommand, que están definidas en la biblioteca DLL. referenciado por VFP
lparameters wpara
public w_OMR
w_OMR = wpara && modelo de lector
********* ******* **********************************
En " dll2cv10win2000.dll"
Declarar testhopper entero en dll2cv10win2000.dll entero @hopper
Declarar sendcardform entero en dll2cv10win2000.dll cadena @filename, entero @nsum
Declarar entero readcard en dll2cv10win2000. dll string @ cardtype, entero @hopper
Declarar entero getdecoder en dll2cv10win2000.dll entero nnnnn, entero mmmm, cadena @decstr
Declarar entero sendcommand en dll2cv10win2000.dll string @cmdstr p>
Declarar el comando de envío de número entero en dll2cv10win2000.dll string @cmdstr.dll string @cmdstr
=messagebox("¡Definición de la función de marcador completa!",48+0,' símbolo') p>
Mfilename='HNZYK05.FOM'
Mnsum=0
Mhopper=2
y=initomr() && función de inicialización
if y<>0
=messagebox("¡Lo sentimos, su marcador se inicializó incorrectamente! El valor de retorno es " + str(y,2),16+0,'Compruebe el equipo relacionado con el lector')
else
=messagebox("Inicialización del marcador completa ! Correcto",48,'Prompt')
endif
z=sendcardform(@Mfilename,@Mnsum) &&Función de formato de envío
if z<>0
=messagebox("¡Lo siento, hubo un error en el formato del lector! ¡La configuración del formato de archivo es incorrecta! El valor de retorno es " + str(z,2),16 +0, 'Por favor verifique el archivo de formato del lector
e')
else
=messagebox("¡Transferencia de archivos en formato de lector completada!",48+0,'prompt')
endif p>p>
------------------------------------------
Las funciones anteriores que no se utilizan al inicializar el lector de tarjetas ópticas se utilizarán cuando comience la lectura de la tarjeta, consulte a continuación
Mcardtype="A "
Mnsum=0
Mhopper=2
hacer mientras 0==testhopper(@Mhopper).and.Mhopper==1
&&& Probar si hay papel
wx1=readcard(@ Mcardtype,@Mhopper)
Mdecstr=space(288)
si wx1=0 && normal,
wx2=getdecoder ( 1,287,@Mdecstr)
if wx2=0 && & papel de prueba
&& papel de prueba
&& papel de prueba