Saludos:
Por fin se como funciona la salida de datos del aparato por el puerto
serie, resulta que hay que tener una impresora conectada en el puerto
LPT que lleva el aparato cuando manda el listado a la impresora al mismo
tiempo manda el listado por el puerto serie, ahora lo que me falta por
si alguno me puede echar una mano, es que consigo pillar solo los
primeros caracteres que envía al puerto serie, alguien puede enviarme el
buche que haría falta hacer para pillar la secuencia completa hasta que
termine de enviar caracteres por dicho puerto, esto es que el puerto
esté abierto y a la espera, y cuando reciba algo que entre en bucle
hasta que termine de recibir.
Yo tengo esto pero no funciona nada más que la primera secuencia que envía.
** Botón de abrir puerto
:lEstado := .T.
** Prueba de leer y escribir en el puerto
::oMemo1:Value := ""
DO WHILE ::lEstado
::DoProcesar()
ENDDO
METHOD Procesar CLASS TForm1
LOCAL cBuff := SPACE( nChr )
LOCAL cSomeStuff
*
IF nChr != InChr( Puerto, nChr, @cBuff )
MsgInfo( "La lectura en el puerto ha fallado")
::lEstado := .F.
*
ENDIF
*
IF Len(Alltrim(cBuff)) > 0
*
::oMemo1:Value += cBuff //cVariable
::lEstado := .T. // esto hace que solo lea la primera vez
*
ENDIF
RETURN ::lEstado
Tal como está ahora solo lee la primera vez que cBuff es mayor que cero,
pero he probado quitando el ::lEstado := .T. y entonces no funciona,
algo me falta, o la secuencia no debe ser así.
José Ramón Castro.
BorisC escribió:
> Pudiste leer el Puerto?
>
>
>
> "José Ramón Castro Polinio" <jrcpoli-quitarpara_envio]"@terra.es> escribió
> en el mensaje news:45bded81$[email=
1@news.xailer.com...]
1@news.xailer.com...[/email]
>> BorisC escribió:
>>> Esa es la Lib que estoy utilizando, si te surge algo me avisas ya que yo
>>> tambien lo estoy evaluando, por ahora lo he probado con Impresoras
>>> Fiscales en WinXP y Win98 y funciono correctamente.
>>>
>>>
>> BorisC: Todo lo tengo tal como me lo has enviado pero a mí no me escribe
>> nada en el ::oMemo:Value += ComRead(Puerto, nChr ) , quizás podrás
>> mandarme como haces la llamada a ComRead(Puerto, nChr ) y como la haces
>> tú, y que valores envías en las dos variables "Puerto" y nChr, creo que el
>> bucle mio es el que falla.
>>
>> José Ramón Castro.
>>>
>>>
>>>
>>> "José Ramón Castro Polinio" <jrcpoli-quitarpara_envio]"@terra.es>
>>> escribió en el mensaje news:[email=
45bb5650@news.xailer.com...]
45bb5650@news.xailer.com...[/email]
>>>> BorisC escribió:
>>>>> Ya me cree las funciones Com_Send() Com_Read() Com_Init() con la
>>>>> libreria
>>>>> HBComm.Lib y funciona de diez. Si alguien esta en eso y le puedo ahorra
>>>>> algo
>>>>> de tiempo con gusto.
>>>>>
>>>>>
>>>>> "BorisC" <
masterisi@masterisi.com.ar> escribió en el mensaje
>>>>> news:[email=
45ba69bb@news.xailer.com...]
45ba69bb@news.xailer.com...[/email]
>>>>>> Pregunto cual es la mejor opcion para trabajar con Puertos seriales
>>>>>> desde
>>>>>> Xailer?
>>>>>>
>>>> Saludos:
>>>>
>>>> Pues hombre si eres tan amable y me puedes enviar el código que has
>>>> implementado te lo agradecía, ya que yo he conseguido algo pero no puedo
>>>> recibir lo que me envía un aparato externo, quizás puedas decirme donde
>>>> meto la pata.
>>>>
>>>> José Ramón Castro
>>>>
>