4D v16.3RECEIVE PACKET |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
RECEIVE PACKET
RECEIVE PACKET
RECEIVE PACKET lee los caracteres desde un puerto serial o desde un documento. Si se especifica docRef, el comando recupera los caracteres desde un documento abierto por la función Open document, Create document o Append document. Si se omite docRef, este comando recupera los caracteres de un puerto serial o de un documento abierto utilizando SET CHANNEL. Sin importar la fuente, los caracteres leídos se devuelven en la variable varRecep, la cual debe ser una variable de tipo Texto, Alfa o BLOB. Si los caracteres han sido enviados por el comando SEND PACKET, el tipo debe corresponder al del paquete enviado. Notas:
Para leer un número particular de caracteres, pase este número en el parámetro numBytes. Si la variable recepVar es de tipo Texto, en una sola llamada puede leer hasta 2 GB de texto (valor teórico). En este caso, si no se encuentra el carácter cadena especificado por stopCar:
Durante la ejecución de RECEIVE PACKET, el usuario puede interrumpir la recepción presionando Ctrl-Alt-Mayús (Windows) o Comando-Opción-Mayús (Macintosh). Esta interrupción genera un error -9994 que puede interceptar con un método instalado utilizando ON ERR CALL. Generalmente, sólo tendrá que administrar la interrupción de una recepción en el momento de una comunicación sobre un puerto serial. Durante la lectura de un documento, el primer RECEIVE PACKET comienza por leer el principio del documento. La lectura de cada paquete subsiguiente comienza con el carácter después del último carácter leído. Nota: este comando es útil con un documento abierto con SET CHANNEL. Por el contrario, para un documento abierto con Open document, Create document o Append document puede utilizar los comandos Get document position y SET DOCUMENT POSITION para obtener y cambiar la ubicación en el documento donde ocurrirá la próxima escritura (SEND PACKET) o lectura (RECEIVE PACKET). Cuando intente leer después del final de un archivo RECEIVE PACKET devuelve los datos leídos hasta ese punto y la variable OK tomará el valor 1. Luego, el siguiente RECEIVE PACKET devolverá una cadena vacía y la variable OK tomará el valor cero. Nota: en modo no Unicode (compatibilidad) cuando utiliza el comando RECEIVE PACKET para leer caracteres de un documento Windows y no quiere utilizar mapas ASCII para convertir los caracteres Windows en caracteres Mac OS, puede utilizar la función Win to Mac. El siguiente ejemplo lee 20 caracteres de un puerto serial en la variable recupVeinte: RECEIVE PACKET(recupVeinte;20) El siguiente ejemplo lee datos del documento referenciado por la variable miDoc en la variable vData. El comando lee hasta que encuentra un retorno de carro: RECEIVE PACKET(miDoc;vData;Char(Carriage return)) El siguiente ejemplo lee datos desde el documento referenciado por la variable miDoc en la variable vData. El comando lee hasta que encuentra una etiqueta HTML de fin de tabla </TD>: RECEIVE PACKET(miDoc;vData;"</TD>") El siguiente ejemplo lee datos de un documento y los pone en campos. Los datos se almacenan como campos de longitud fija. El método llama a una subrutina para eliminar espacios (espacios al final de la cadena). La subrutina sigue el método: $vhDocRef :=Open document("";"TEXT") ` Apertura de un documento de tipo TEXTO Los espacios al final de los datos son eliminados por el siguiente método, llamado Elimina: For($i;Length($1);1;-1) ` Bucle desde el final de la cadena al inicio Después de un llamado a RECEIVE PACKET, la variable sistema OK toma el valor 1 si el paquete se recibe sin errores. De lo contrario, la variable sistema OK toma el valor 0.
Ver también
Get document position
|
PROPIEDADES
Producto: 4D HISTORIA
Modificado: 4D v11 SQL PALABRAS CLAVES BOM ARTICLE USAGE
Manual de lenguaje 4D ( 4D v16) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||