AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / WLanguage / Funciones WLanguage / Funciones estándar / Funciones de Windows / Funciones de códigos de barras
  • Propiedades específicas de las variables BarCodes
  • Correspondencia entre las propiedades Content y ContentType
  • Funciones que utilizan las variables de los códigos de barras
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
El tipo BarCodes permite manipular la información de un código de barras. Las características de esta BarCode pueden definirse y modificarse mediante diferentes propiedades de WLanguage.
El tipo de códigos de barras se puede utilizar de la siguiente manera:
  • WINDEV El tipo BarCodes se utiliza principalmente para:
    • generar códigos de barras en las ventanas e informes.
    • descodificar los códigos QR (en una Image).
    • imprimir los códigos de barras (iPrintBarCode).
  • WEBDEV - Código Servidor El tipo BarCodes se utiliza principalmente para:
    • generar códigos de barras en las páginas.
    • generar códigos de barras en los informes.
    • imprimir los códigos de barras (iPrintBarCode).
  • Android El tipo BarCodes se utiliza principalmente para:
    • decodificar los códigos de barras leídos por la cámara del aparato.
    • generar códigos de barras en las ventanas.
  • iPhone/iPadIOS WidgetMac Catalyst El tipo BarCodes se utiliza principalmente para:
    • generar códigos de barras QR Code en las ventanas.
    • decodificar los códigos de barras leídos por la cámara del dispositivo.
    • decodificar los códigos de barras del Código QR que se encuentran en un Image.
    • imprimir los códigos de barras (iPrintBarCode).
Observación: Para obtener más información sobre la declaración de este tipo de variable y el uso de propiedades WLanguage, consulte Declarar una variable.
Ejemplo
Android
// Decode a QR Code
bc is BarCode
bc = BCCapture()
IF ErrorOccurred = False _AND_ bc.TypeContent = bcTypeEmail THEN
    Info("Email address: " + bc.RoughValue)
END
MyQRCode is BarCode
MyQRCode.ContentType = bcTypeText
MyQRCode.TypeBarCode = BC_QRCODE
MyQRCode.Content = "http://www.windev.com"
 
// Assign to a Bar Code control
BAC_BCControl = MyQRCode
// Generate a QRCode with an image
// ------------- Bar code or report initialization code
QRCodeWithImage is BarCode
// Image to be inserted in the center of the barcode
ImageQRCodeCenter is Image
ImageQRCodeCenter = IMG_FLAG
// Type of bar code
QRCodeWithImage.TypeBarCode = BC_QRCODE
QRCodeWithImage.ContentType = bcTypeText
// Image at the center
QRCodeWithImage.Image = ImageQRCodeCenter
// High error correction level to compensate for the image at the center
QRCodeWithImage.CorrectionError = qrcodeLevelH
QRCodeWithImage.ImageProportion = 3
// For an image proportion of 3%, a Level L correction (qrcodeLevelL) would not be enough
// to have a readable bar code
 
// (Initial) value
QRCodeWithImage.Content = "https://www.windev.com"
// In a report, the value can be reassigned:
//- by binding the control to data
//- in the code before printing
//- in the code for reading data in the report
// or anywhere else afterwards
 
// Assign to a Bar Code control
BAC_Invoice = QRCodeWithImage
 
// ------------- Code before printing
BAC_Invoice.Value = "QR code with a flag in the center!"
Observaciones

Propiedades específicas de las variables BarCodes

Las siguientes propiedades pueden ser utilizadas para manipular un código de barras:
Nombre de la propiedadTipo utilizadoEfecto
ContenidoCualquier tipoValor del código de barras.
  • Para códigos QR, el tipo de este valor depende del ContentType Property.
    Consulte la note siguiente para conocer la correspondencia entre el tipo de contenido y el tipo de valor.
  • Al leer códigos de barras que no sean códigos QR, este Property siempre es de tipo "String" y su valor es el mismo que el de RoughValue Property .
ContentTypeConstante de tipo IntegerNaturaleza de los datos almacenados en el código de barras:
  • bcTypeText (valor predeterminado al crear el Variable ): Texto sin formato
  • bcTypePhone: Número de teléfono
  • bcTypeSMS: número de SMS
  • bcTypeEmail: Envía un correo electrónico a Address
  • bcTypeContact: Contacte con description
  • bcTypeLocation: Posición geográfica
  • bcTypeURL: URL (marcador). Para insertar una dirección http en el código de barras, utilice el tipo cbTypeText.
    Esta constante se mantiene para la compatibilidad con versiones anteriores y debe utilizarse en casos muy específicos..
  • bcTypeMarket: Enlace a una aplicación en Google Play (sólo para una aplicación Android)
  • bcTypeWiFi: Parámetros de conexión a una red Wi-Fi (sólo para una aplicación Android)
Observación: Este tipo de datos están disponibles para los códigos de barras 2D (QR Code, Aztec, datamatrix, PDF417, ....). Para los códigos de barras que no sean códigos de barras 2D, los datos son siempre datos de texto.
CorrecciónErrorConstante de tipo IntegerNivel de error de corrección: se utiliza para definir el umbral de lectura de un código de barras dañado.
Esta propiedad está disponible en:
  • los códigos de barras del QR Code.
  • los códigos de barras PDF-417.
  • los códigos de barras aztecas.
Las siguientes constantes están disponibles para Códigos QR:
  • qrcodeLevelH: alrededor del 30% de las palabras codificadas pueden ser restauradas.
  • qrcodeLevelL: cerca del 7% de las palabras codificadas pueden ser restauradas.
  • qrcodeLevelM: alrededor del 15% de las palabras codificadas pueden ser restauradas.
  • qrcodeLevelQ: alrededor del 25% de las palabras codificadas pueden ser restauradas.
El nivel de corrección seleccionado desencadena:
  • el redimensionamiento del código de barras.
  • la modificación del número máximo de caracteres permitido en el código de barras.
Un nivel de corrección más alto significa que el dibujo del código de barras tendrá un tamaño importante y que se dibujarán menos datos.. Por el contrario, un nivel de corrección más alto significa que el código de barras será legible incluso si el soporte está dañado.
Consejos:
  • Si el código de barras contiene una URL, el nivel L es suficiente..
  • Si se inserta un logotipo en el código de barras, le recomendamos que utilice un nivel superior (M o Q)..
  • Si el código de barras está destinado a la impresión de etiquetas para un almacén, se debe utilizar el nivel H.
Para los códigos de barras PDF-417 , el nivel de corrección del error corresponde a un número entero comprendido entre 0 y 8.
Para los códigos de barras Aztec , el nivel de corrección corresponde a un número entero comprendido entre 5 y 95, que representa el porcentaje de corrección de errores. El valor de Default es 33. Si el valor dado es
  • menos de 5, el valor será set a 5,
  • mayor de 95, el valor será set a 95,
  • negativo, el valor será set a 33 (valor Default).
Android Esta propiedad no está disponible.
ImageImage añadido en el centro del código de barras (sólo para los códigos QR). Esta imagen puede corresponder a:
  • una variable de tipo Image,
  • una cadena de caracteres que contiene la ruta del archivo Image que se utilizará,
  • un memo de Image, etc.
Android Esta propiedad no está disponible.
OpcionesConstante o combinación de constantes de tipo IntegerCaracterísticas del código de barras. Estas características se utilizan principalmente cuando un código de barras es impreso por iPrintBarCode. Se pueden utilizar las siguientes constantes:
  • BC_Inferior: El código de barras se encuentra en la parte inferior del rectángulo de destino.
  • BC_ControlDigits: Código de barras con caracteres de control (válido solo para códigos de barras de tipo BC_CODE128, BC_DATAMATRIX, BC_EAN128, CB_GS1_128 y BC_PDF417). Los caracteres Default, control se encierran entre "<" and ">".. Para no interpretar estos caracteres como caracteres control, simplemente duplique el primer "<":
    • "" = carácter control
    • "<<AB>" = <AB> a codificar en el código de barras.
Para obtener más información, consulte Los diferentes tipos de códigos de barras.
  • BC_Dígitos de control: Código de barras con caracteres de control (válido solo para códigos de barras de tipo BC_CODE128, BC_DATAMATRIX, BC_EAN128, CB_GS1_128 y BC_PDF417).
    Si se selecciona esta opción, las constantes BC_ControlDigits y BC_Charsets se tienen en cuenta automáticamente.
  • BC_CenterH: Código de barras centrado horizontalmente en el rectángulo de destino.
  • BC_CenterV: Código de barras centrado verticalmente en el rectángulo de destino.
  • BC_Right: Código de barras alineado a la derecha en el rectángulo de destino.
  • BC_Extendido: Código de barras extendido (válido solo para los códigos de barras BC_CODE39 y BC_CODE93 ).
  • BC_FormatText: Da formato al texto que se muestra para los códigos de barras EAN 128: se añaden corchetes alrededor de los IAs en el texto impreso.
  • BC_Left: Código de barras alineado a la izquierda en el rectángulo de destino.
  • BC_Top: Código de barras situado en la parte superior del rectángulo de destino.
  • BC_Ignorar formato: Ignora los paréntesis de un código 128, EAN-128 o GS1-128 (válido solo para códigos de barras de tipo BC_CODE128, BC_EAN128 y CB_GS1_128).
    Los paréntesis permiten a los usuarios leer fácilmente el código de barras, pero no están dibujados en el código.
  • BC_juegos de caracteres: Código de barras que utiliza uno o más conjuntos de caracteres para comprimir el código de barras. Esta set de caracteres debe ser definida en el valor del código de barras.
    Para obtener más información, consulte Los diferentes tipos de códigos de barras.
  • BC_NoProporcional: Ajusta el código de barras al tamaño del rectángulo de destino.
  • BC_NoText: No muestra ningún texto debajo del código de barras (válido solo para códigos de barras de tipo BC_UPCA, BC_UPCB, BC_EAN13 y BC_EAN8).
  • BC_Texto: Muestra el texto debajo del código de barras.
    El texto se ajusta para los códigos de barras de tipo BC_UPCA, BC_UPCE, BC_EAN13 y BC_EAN8.
    Para los otros tipos de códigos de barras, el texto puede exceder la visualización Border de código de barras.
  • BC_TextCenter: Centra el texto debajo del código de barras (válido solo para códigos de barras BC_CODE128 , BC_CODE93 , BC_CODE11 , BC_EAN128 , BC_CODE39 , BC_INTER2OF5 , BC_CODABAR y BC_MSI ).
  • BC_TextRight: Alinea el texto debajo del código de barras a la derecha (válido solo para códigos de barras BC_CODE128 , BC_CODE93 , BC_CODE11 , BC_EAN128 , BC_CODE39 , BC_INTER2OF5 , BC_CODABAR y BC_MSI ).
  • BC_TextLeft: Alinea el texto debajo del código de barras a la izquierda (válido solo para códigos de barras BC_CODE128 , BC_CODE93 , BC_CODE11 , BC_EAN128 , BC_CODE39 , BC_INTER2OF5 , BC_CODABAR y BC_MSI ).
  • BC_Cheque: Código de barras con caracteres de control (válido solo para códigos de barras de tipo BC_CODE39, BC_CODE93, BC_INTER2OF5 y BC_CODABAR).
  • BC_Vertical: Imprime el código de barras verticalmente.
  • BC_90: Imprime el código de barras verticalmente.
  • BC_180: Imprime el código de barras mientras realiza una rotación igual a 180 grados.
  • BC_270: Imprime el código de barras mientras realiza una rotación igual a 270 grados.
Proporción de imagenRealPorcentaje del área ocupada por la imagen añadida al centro del BarCode (solo para códigos QR para los que se especifica la Imagen Property ). Este valor no debe superar la mitad del área reservada para la corrección de errores.
Valor del error de corrección PropertyValor máximo de la ImageProportion Property
qrcodeLevelH5
qrcodeLevelL1
qrcodeLevelM3
qrcodeLevelQ5

Android Esta propiedad no está disponible.
RoughValueCadena UnicodeValor aproximado del código de barras.
Para códigos de barras que no sean códigos QR, el valor de este Property es el mismo que el del Contenido Property .
Esta propiedad es de solo lectura.
Android Esta Property contiene el valor del código de barras leído por la función BCCapture, independientemente de la naturaleza de los datos almacenados en el código de barras.
Por ejemplo, esta Property corresponde a "mailto:Address@mail.com" si se descodifica un código QR que contenga un correo electrónico Address.
TypeBarCodeConstante de tipo IntegerTipo de código de barras:
  • BC_AZTEC: Código de barras AZTEC.
  • BC_MAXICODE: Código de barras MaxiCode.
    Android No disponible.
  • BC_QRCODE: Código QR. Esta constante se usa por defecto cuando se crea un BarCode Variable.
  • BC_UPCA: Código de barras UPC-A.
  • BC_UPCE: Código de barras UPC-E.
  • BC_EAN8: Código de barras EAN8.
  • BC_EAN13: Código de barras EAN13.
  • BC_CODE39: Código de barras Code39.
  • BC_CODE93: Código de barras Code93.
  • BC_CODE128: Código de barras Code128.
  • CB_GS1_128: Código de barras GS1-128 (nuevo nombre para el código de barras EAN128).
  • BC_INTER2OF5: Código de barras Interleaved 2 of 5.
  • Android BC_UNKNOWN: Código de barras descodificado por BCCapture con un tipo no reconocido.
    Observación: Esta constante está disponible en modo de sólo lectura.
  • BC_DATAMATRIX: Código de barras de tipo DATAMATRIX.
    iPhone/iPadIOS WidgetMac Catalyst Este tipo de código de barras no está disponible.
  • BC_PDF417: Código de barras PDF417.
  • BC_CODABAR: Codabar bar code.
  • BC_CODE11: Código11 código de barras.
    Android Este tipo de código de barras no está disponible.
  • BC_EAN128: Código de barras EAN128.
    Android Este tipo de código de barras no está disponible.
  • BC_MSI: Código de barras MSI.
    Android Este tipo de código de barras no está disponible.
Estos tipos también están disponibles para las impresiones realizadas por iPrintBarCode.

Correspondencia entre las propiedades Content y ContentType

Tipo de contenidoTipo de valor (Contenido Property)Observación
bcTypeTextCadena de caracteresEjemplo: "¡WINDEV es genial!"
bcTypePhoneCadena de caracteresEjemplo: "0612345678"
bcTypeSMSCadena de caracteres
En modo de lectura: Los miembros de la Estructura del SMS (SMS.Mensaje y SMS.Número) se rellenarán automáticamente con los valores leídos en el código de barras. el contenido corresponderá a una cadena en el siguiente formato: + CR +
En generación: Si existen, los miembros de la Estructura del SMS (SMS.Mensaje y SMS.Número) se tendrán en cuenta automáticamente. También puede utilizar una cadena de caracteres en el siguiente formato: + CR +
Ejemplo: "0612345678Texto a enviar"
bcTypeURLCadena de caracteres
Corresponde a un marcador. El contenido se codificará en el siguiente formato: "urlto::URL". Por ejemplo: "urlto::http://www.windev.com". Algunos decodificadores no soportan este tipo de contenido.
Para especificar una dirección http, utilice el tipo de contenido cbTypeText.
Observación: Esta constante se mantiene para la compatibilidad con versiones anteriores y debe utilizarse en casos muy específicos.
Ejemplo: "http://www.google.com"
bcTypeMarketCadena de caracteresEjemplo: "market://search?q=pname:com.company.application"
bcTypeWiFiCadena de caracteresCadena de caracteres en el siguiente formato:
<SSID> + TAB + <Protocolo de seguridad>+ TAB + <Clave>
Ejemplo: "MiRedWPApwd"
bcTypeEmailCadena de caracteresEjemplo: "nombre@Email.com"
bcTypeContactVacío.
En modo de lectura: Los miembros de la mEstructura de contactos se rellenarán automáticamente con los valores leídos en el código de barras.
En generación: Los miembros de la mEstructura de contactos se utilizarán automáticamente para generar el código de barras.
bcTypeLocationVariable de tipo geoPosition.
En modo de lectura: Las propiedades de Latitud y Longitud de la variable se llenarán automáticamente con los valores leídos en el BarCode.
En generación: Las propiedades Latitud y Longitud de la variable se usarán automáticamente para generar el BarCode .

Funciones que utilizan las variables de los códigos de barras

BCCaptureDecodifica la información almacenada en un código de barras utilizando la cámara del dispositivo (Android, iPhone, iPad).
BCDecodeDecodifica la información almacenada en un código de barras QR Code.
iPrintBarCodeImprime un código de barras (dentro de un rectángulo).
Observación: Puede usar VariableReset para restablecer el contenido de un BarCode Variable 06500 .
Versión mínima requerida
  • Versión 16
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 24/06/2023

Señalar un error o enviar una sugerencia | Ayuda local