Sie sind auf Seite 1von 23

Guía Básica del Programador

My Business POS Desarrollos S. A. de C. V.


ÍNDICE

AMBIENTE DE DESARROLLO ________________________________________________ 2


Formularios __________________________________________________________________ 2
Procedimientos _______________________________________________________________ 3
Formatos ____________________________________________________________________ 4
Reportes _____________________________________________________________________ 5

SENTENCIAS BÁSICAS ______________________________________________________ 6


Las secuencias de caracteres _____________________________________________________ 6
Las variables__________________________________________________________________ 6
La concatenación ______________________________________________________________ 7
Los comentarios dentro del código y el estilo de Programación _________________________ 8

LAS ESTRUCTURAS DE CONTROL ____________________________________________ 10


Flujo del programa ___________________________________________________________ 10
If _________________________________________________________________________________ 10

Flujo del programa ciclos_______________________________________________________ 11


While Wend________________________________________________________________________ 11

PROCEDIMIENTOS Y FUNCIONES ESPECIALES DE MYBUSINESS ____________________ 13


LAS BASES DE DATOS _____________________________________________________ 15
¿Qué es una base de datos? ____________________________________________________ 15
Instrucciones SQL básicas ______________________________________________________ 15
Funciones y procedimientos ____________________________________________________ 16

REPORTES EN MYBUSINESS POS ____________________________________________ 19


Funciones y procedimientos especiales para la impresión en Mybusiness pos ____________ 20

1
AMBIENTE DE DESARROLLO

Formularios
Son los elementos que se utilizan para crear aplicaciones personales en el ambiente de
desarrollo de MyBusiness POS, así como, modificar aquellos que ya existen, para poder
personalizarlos.

1. Barra de Herramientas.
2. Caja de Herramientas.
3. Área de Trabajo.
4. Propiedades.
5. Botón Ejecutar.

2
Procedimientos
Representan código predeterminado que tiene relación con las funciones que desempeña
el sistema de MyBusiness POS y puede ser modificado.

3
Formatos
Son los elementos predeterminados en MyBusiness, que se utilizan para dar salida a la
información que es procesada por el sistema. Ya sea a través de la pantalla o en un
formato impreso.

4
Reportes
Son los elementos que se pueden crear y/o modificar para dar salida a la información
procesada por el sistema en un formato impreso.

5
SENTENCIAS BÁSICAS

Las secuencias de caracteres

La unidad mínima de información que puede manipular una computadora es un 1 o un 0


(bit) lo cual significa encendido o apagado, por eso se dice que la computadora utiliza el
código binario. Pero solo con unos y ceros no se puede hacer nada así que estos ceros y
unos se deben de agrupar para que signifiquen algo, existen muchas formas de
agruparlos pero se han impuestos estándares, el más común es el código ASCII
(American Standard Code for Information Interchange), que utiliza una agrupación de
ocho bits para formar un carácter como las letras de estas guía incluyendo algunos
caracteres especiales, algunos que no se ven como los que le indican a la computadora
que se trata de una línea nueva (carácter número 13) al principio los códigos ASCII solo
tenían 127 caracteres, después se creó el ASCII extendido que comprendía 254
caracteres, en la actualidad se está tomando como norma los códigos UNICODE que
utilizan dos bytes para la representación de sus caracteres lo cual significa que incluyen
caracteres del alfabeto chino, árabe y otros.

Las potencias de dos son:

7 6 5 4 3 2 1 0 ----Las potencias de 2
128 64 32 16 8 4 2 1 ----Su resultado
0 1 0 0 0 0 0 1 ----El número 65 en binario

El número 65 representa al carácter “A”.


Los caracteres se acomodan en la memoria uno después de otro formando mensajes
coherentes.

La secuencia “Hola mundo” está formado por 10 caracteres o diez bytes, la mayor parte
de los lenguajes de programación utilizan las comillas dobles “ o sencillas para indicar el
inicio y el fin de la secuencia de caracteres, Para el caso Visual Basic™ se utilizan las
comillas dobles.

Las variables

Los datos que se manejan en un programa es necesario guardarlos en algún lugar, la


maquina lo puede hacer en diferentes partes, como medios magnéticos (Disco duro)
Ópticos (unidades de CD o DVD), o en la propia memoria RAM (Random Access
Memory), pero para que los programas puedan usar esta información es necesario subirla
a la memoria RAM (En realidad es en los registros del procesador pero; para fines
prácticos suponemos que es en la RAM) y a esta información le ponemos una etiqueta
para que sea fácil localizarla.

6
Ejemplo:
Sub Main()

Dim strMensaje
strMensaje = "Hola mundo"
MsgBox strMensaje

End Sub

En la línea 2 del programa vemos como se declara una variable con la sentencia DIM,
esto se hace para que la memoria que ocupa sea liberada una vez terminado el
procedimiento y para que no sea confundida con otras dentro del programa por lo que una
variable declarada así se llama de Alcance local, existen variables privadas y públicas
pero para nuestro caso solo podemos declarar variables locales.
En la línea 4 mostramos una asignación de valor a la variable strMensaje con el valor
“Hola mundo”, las variables en Visual Basic Script no tienen un tipo definido esto significa
que a una variable le puedo asignar un numero o una secuencia de caracteres sin que se
provoque un error, esto quiere decir que las variables son del tipo Variant (Variantes).
Aquí también usamos el operador Binario (de dos partes) “=” para asignar el valor aquí
unos ejemplos de asignaciones:

Ejemplo:

Sub Main()

Dim strMensaje
Dim intEdad
strMensaje = "Hola mundo"
MsgBox strMensaje
intEdad = 30
MsgBox intEdad

End Sub

La concatenación

Cuando dos secuencias de caracteres se unen en una tercera se dice que se


concatenaron por ejemplo:

Sub Main()

Dim strNombre
Dim intEdad
Dim strMensaje
strNombre = "Karina Hernandez"
intEdad = 23
strMensaje = strNombre & intEdad
MsgBox strMensaje

End Sub
7
Observe como en la variable strNombre guardamos una secuencia de caracteres (que de
ahora en adelante le llamaremos String) conteniendo el nombre de una persona y en la
variable intEdad su edad, en la variable strMensaje depositamos el valor de las dos
anteriores para crear un mensaje.

Observe como se usa el operador binario “&” para unir las cadenas, este operador tiene la
habilidad de convertir los numero en Strings por lo que si el programa se escribió de forma
correcta se debe de enviar el mensaje “Karina Hernandez23” como podrá observar existe
un error ya que hace falta un espacio en blanco entre el nombre y la edad corrijamos el
programa:

Sub Main ()

Dim strNombre
Dim intEdad
Dim strMensaje
strNombre = "Karina Hernandez"
intEdad = 23
strMensaje = strNombre & " edad " & intEdad
MsgBox strMensaje

End Sub

Los comentarios dentro del código y el estilo de Programación

Existe una gran cantidad de libros de programación sin embargo casi ninguno habla del
estilo al programar, esto es muy importante ya que un código claro y simple es fácil de
mantener y de entender por el mismo programador que desarrollo el programa o por otros
que pudieran modificarlo, Visual Basic Script no es de los lenguajes llamados Case
Sensitive o sea que no es sensible a las mayúsculas o minúsculas y además los espacios
en blanco entre líneas o entre operadores son ignorados, aunque esto es así, habrá
observado como los ejemplos siguen una estricta norma de mayúsculas con minúsculas y
ocupa muchos espacios en blanco, además de realizar un sangrado que permite ver
claramente el inicio y el fin del procedimiento, esto tiene el propósito de que sea fácil para
usted el entender el código del programa, le sugiero que siga esto lineamientos y otros
que se irá encontrando en el resto de los ejemplos dentro de la guía.

Otra forma muy útil de hacer entendible el programa a los demás es colocando
comentarios que ayuden a entender la lógica del código, los comentarios comienzan con
una comilla sencilla y el interprete de Visual Basic Ignora todo a partir de este carácter
hasta el final de la línea.

Por último una forma muy útil de hacer fácil la lectura del código del programa es utilizar
nombres de procedimientos, funciones y variables que por sí mismas sean muy
descriptivas de lo que hacen o de lo que contienen, observe los dos ejemplos:
Ejemplo de cómo no debe de hacerlo:

8
SUB MAIN()

DIM CVE_CL_VE
DIM CANT_SL_DR
DIM CANT_SL_SM
CVE_CL_VE="Daniel Oliver Rojas"
CANT_SL_DR=450
CANT_SL_SM=CANT_SL_DR*7
MSGBOX CVE_CL_VE&CAN_SL_DR&CANT_SL_SM

END SUB

Ejemplo de cómo debe de hacerlo:

Sub Main()
Dim vendedor „ Este es un comentario enfrente de la línea
Dim salariodiario
Dim salariosemanal
Dim strMensaje „ Utilizo una variable para almacenar el mensaje
vendedor = "Daniel Oliver Rojas"
salariodiario = 450.00
salariosemanal = 450.00 * 7
strMensaje = ""
„ La constante vbCrLf inserta una linea nueva y un retorno de carro
strMensaje = strMensaje & "El salario de : " & vendedor & vbCrLf
strMensaje = strMensaje & "es de : " & salariodiario & vbCrLf
strMensaje = strMensaje & "Salario semanal: " & salariosemanal & vbCrLf
MsgBox strMensaje
End Sub

Si se da cuenta los dos programas hacen exactamente lo mismo, ¿cuál es el más


entendible?, ¿cuál es el más entendible para el usuario que use este programa?

9
LAS ESTRUCTURAS DE CONTROL

Flujo del programa

La mayor parte de los programas parece que toman decisiones inteligentes y hasta cierto
punto lo son, esto se debe a que los programas toman decisiones lógicas por medio de
unos circuitos especiales llamados puertas lógicas, a nivel de programación son las
siguientes:

If condición Then
[Código]
[ElseIf condición-n Then
[Código] . . .
[Else
[Código]
End If

Es la estructura condicional más simple donde “condición” es cualquier cosa que devuelva
un valor lógico, en Visual Basic existe el valor de tipo booleano True (Verdadero) y False
(falso) pero también se pueden valores numéricos donde un valor igual a cero es falso y
cualquier valor diferente de cero es igual a verdadero el valor nulo (Null) también es
tomado como falso.
Ejemplo:

Sub Main ()
Dim intEdad
intEdad = 30
If intEdad <= 10 Then
MsgBox “Es necesario que se vacune contra el sarampión”
Else
MsgBox “Ya está muy grande para vacunarse”
End If

End Sub

Select Case testexpression


[Case expressionlist-n
[statements-n]] . . .
[Case Else expressionlist-n
[elsestatements-n]]
End Select

La estructura SELECT permite ejecutar el código dentro de la sentencia CASE que sea
igual a expresión.

10
Ejemplo:

Sub Main ()

Dim intEdad
intEdad = 30

Select Case intEdad


Case 1
MsgBox “Es necesario aplicar todas las vacunas”
Case 2
MsgBox “Aplicar vacuna triple”
Case 3
MsgBox “Ya no es necesario vacunar”
Case 4
MsgBox “Ya mero entra a la primaria”
Case else
MsgBox “Ya estas viejo”
End Select

End Sub

Flujo del programa ciclos


While Wend
While condición
[Código]
Wend

La estructura While es un ciclo, esto quiere decir que todo lo que se encuentra dentro de
su cuerpo se repetirá mientras la condición sea verdadera.

Ejemplo:

Sub Main ()
Dim n
n=0
While n < 10
n=n+1
MsgBox n
Wend
End Sub

11
Para que este ciclo se ejecute la condición debe ser verdadera desde la primera vez,
algunas veces quisiéramos no validar la condición al principio si no al final para eso
podemos usar la siguiente estructura: Loop- While

Do [{While | Until} condition]


[statements]
[Exit Do]
[statements]
Loop

O, se puede usar esta sintaxis

Do
[statements]
[Exit Do]
[statements]
Loop [{While | Until} condition]

Ejemplo:
Sub Main()

Dim n
n=0
Do While n < 10
n=n+1
MsgBox n
Loop
n=0

Do
n=n+1
MsgBox n
„Salgo del ciclo antes de que se cumpla la condición
If n = 3 Then
Exit Do
End If
Loop Until n < 10
End Sub

La tercera estructura de control es la sentencia FOR – NEXT que es la más popular entre
los lenguajes de programación ya que hace muy simple y elegante el control de los ciclos.

For contador = inicio To fin [Step incremento]


[Código]
[Exit For]
[Código]
Next

12
Ejemplo:

Sub Main ()

Dim n
For n = 1 To 10
MsgBox n
Next

End Sub

Compárelo con el código del ciclo While, resulta un ejercicio interesante observar como
mejora la lógica del programa.

Estos ejemplos son muy sencillos si desea profundizar sobre estos consulte la referencia
del lenguaje VBScript que se encuentra en el CD de instalación de MyBusiness POS.

PROCEDIMIENTOS Y FUNCIONES ESPECIALES DE MYBUSINESS

Función: clAT
Definición: Public Function clAT( ByVal strSearch, ByVal strText As String ) As Long
Propósito: Devolver la posición que tiene un conjunto de caracteres dentro de otra cadena
de caracteres.

Observaciones
Esta función se utiliza para buscar uno o más caracteres dentro de una cadena mas larga

Ejemplo:
If clAt( “Hola”, “Hola como están” ) > 0 Then
MsgBox “Hola”
End If

Función: Val2
Definición: Public Function Val2( uDato ) As Double
Propósito: Convertir dado en un valor numérico donde esto sea posible, por cualquier otro
motivo devolverá cero

Observaciones
Esta función es semejante a Val() de Visual Basic a diferencia de que ésta puede
transformar valores de tipo carácter en valores numéricos aun cuando incluyan formato o
valores tipo lógico en números cero o uno

Ejemplo:
nSuma = Val2( “142,123.25” ) + 15

13
Función: PadL
Definición: Public Function PadL( str, nVeces ) As String
Propósito: Rellena con espacios a la izquierda una cadena

Observaciones
Esta función es muy útil cuando se trata de alinear cantidades numéricas a la izquierda
haciendo coincidir el punto decimal

Ejemplo:
MsgBox PadL(“Le ponemos 50 espacios a la izquierda”, 50)

Función: clEmpty
Definición: Public Function clEmpty (cDato As String) As Boolean
Propósito: Devuelve verdadero en caso de que una cadena pasada este vacía o solo
contenga espacios en blanco.

Ejemplo:
strMensaje = “”
MsgBox clEmpty( strMensaje )
strMensaje = “Hola”
MsgBox clEmpty( strMensaje )

Función: strCero
Definición: Public Function strCero( nNumero As Long, nCeros As Integer )
Propósito: Devolver una cadena con un numero relleno con ceros a la izquierda

Ejemplo:
MsgBox strCero( 457, 7 )

Función: Question
Definición: Public Function Question (strMensaje As String) As Boolean
Propósito: Envía una caja de texto esperando una respuesta positiva o negativa a la
pregunta pasada como parámetro, devolviendo verdadero o falso según corresponda

Ejemplo:
If Question (“Desea continuar”) = False Then
Exit Sub
End If

Procedimiento: Out
Definición: Public Sub Out (cPuerto As Variant, cCode As Variant )
Propósito: Envía el String indicado en cCode al Puerto paralelo indicado en el primer
parámetro.

Ejemplo:
Out “LPT1”, “Esto se va directo a la impresora”

Función: Formato
Definición: Public Function Formato ( var, strFormat ) As String
Propósito: Trabaja exactamente como la función Format de Visual Basic, dando formato a
fechas y números.
14
Ejemplo:
MsgBox Formato( 1234.45, “##,##.00” )
MsgBox Formato( Date, “dd-MM-yyyy” )

LAS BASES DE DATOS

MyBusiness POS a diferencia de otros programas no está vinculado de forma exclusiva


con ninguna base de datos se ha trabajo exhaustivamente para que de verdad pueda
trabajar con cualquier base de datos relacional, actualmente se ha probado con las
siguientes bases de datos:

 Microsoft Access™
 Microsoft SQL Server™

Sin embargo teóricamente se puede usar cualquiera por medio de un ODBC que es una
tecnología de Microsoft que significa Open Data Base Connectivity, las bases de datos
anteriormente mencionadas no se abren por medio de un ODBC ya que eso disminuye el
desempeño del programa se utilizan Acceso nativo o por medio de OLE DB que es otra
tecnología de Microsoft más eficiente que ODBC.

¿Qué es una base de datos?


Una base de datos es un conjunto de información normalizada y relacionada,
actualmente usamos bases de datos electrónicas; pero la definición antes mencionada se
puede aplicar incluso a documentos en papel.

El desempeño de el manejador de la base de datos determina en gran medida el


éxito o fracaso de un programa, las tecnologías viejas de acceso a archivos como los
de Paradox™, DBase™, Clipper™ etc. Son programas que no son capaces de
desempeñarse bien dentro de ambientes de altos requerimientos de flujo de información y
aunque parezca extraño un ambiente de punto de venta requiere de alto desempeño por
la necesidad de rapidez al atender al cliente.

Instrucciones SQL básicas

SQL es un lenguaje de consultas diseñado por IBM para facilitar la obtención de datos,
fue pensado originalmente para que los ejecutivos que usaban bases de datos, pero este
lenguaje se convirtió en un estándar de la industria abalado por la American Standard
Institute (ANSI), MyBusiness POS usa únicamente sentencias de SQL ANSI
La instrucción más usada en SQL es la instrucción SELECT que tiene la siguiente
sintaxis:

SELECT <campo 1>, <campo n…> FROM <tabla 1><tabla n…>


WHERE <condición de filtrado> ORDER BY <ordenamiento 1>, <ordenamiento n…>
GROUP BY <agrupamiento 1><agrupamiento n…>

15
Ejemplos:

Si deseamos obtener la existencia de MyBusiness POS podemos colocar la siguiente


instrucción:
SELECT artículo, descrip, existencia FROM prods

Si deseamos obtener la suma de la existencia de todos los productos:


SELECT SUM( existencia ) FROM prods

Si deseamos obtener la existencia de todos los productos agrupado por familia de


producto:
SELECT linea, SUM( existencia ) FROM prods GROUP BY linea

Si deseamos obtener un listado de productos ordenado por descripción:


SELECT descrip, articulo FROM prods ORDER BY descrip

Si deseamos obtener un listado de productos ordenado por descripción y solo los que
tienen existencia:
SELECT descrip, articulo FROM prods WHERE existencia > 0 ORDER BY descrip

Si deseamos obtener únicamente el producto con el código 00001


SELECT descrip, articulo FROM prods WHERE articulo = „00001‟

Estos son solo ejemplos de cómo se puede usar la sentencia select con una sola tabla
observe un ejemplo de cómo se haría con dos tablas:

Si desea obtener la cobranza mostrando el nombre del cliente es necesario mostrar la


información de la tabla cobranza y de la tabla clientes
Devuelve

Observe como después del comando FROM se colocan las tablas que se van a usar y
después del comando WHERE la condición por la cual se van a unir los campos

SELECT cobranza.importe, cobranza.cliente, clients.nombre FROM cobranza,


clients WHERE cobranza.cliente = clients.cliente

Funciones y procedimientos

Función: CreaRecordSet
Definición: Public Function CreaRecordSet( strSQL As String, Connection As
ADODB.Connection, Optional porPantalla As Bolean = True ) As ADODB.RecordSet
Propósito: Devolver un conjunto de registros de la base de datos

Observaciones:

Esta función es de las más utilizadas en el sistema, por medio de esta interactuamos con
la base de datos. Su primer parámetro es una sentencia SQL, esta sentencia debe de ser
únicamente de consulta, el segundo parámetro es la conexión con la base de datos de
donde se va a realizar la consulta, el último parámetro indica si los mensajes de error se

16
van a desplegar en la pantalla, o si se van a ignorar, en ambos casos en caso de error se
devuelve un objeto de tipo Nothing.

Ejemplo:
Set rstVentasDeHoy = CreaRecordSet( “SELECT * FROM ventas WHERE
f_emisión = „2003-01-01‟”, Ambiente.Connection )

Función: CreaRecordSetEnCliente
Definición: Public Function CreaRecordSetEnCliente( strSQL As String, Connection As
ADODB.Connection ) As ADODB.RecordSet
Propósito: Devolver un conjunto de registros de la base de datos con el cursor del lado del
cliente

Observaciones:
Esta función al igual que CreaRecordSet, tiene como propósito el devolver un conjunto de
registros pero utilizando los servicios de cursor del lado del cliente, simplificando con esto
la propiedad RecordCount o el numero de registros leídos si tiene valor con esta función.

Ejemplo:
Set rstVentasDeHoy = CreaRecordSetEnCliente( “SELECT * FROM venta
WHERE f_emisión = „2003-01-01‟”, Ambiente.Connection )

MsgBox rstVentasDeHoy.RecordCount

Función: TraeSiguiente
Definición: Public Function TraeSiguiente( campo As String, Connection As
ADODB.Connection, Optional ByRef nErrores As Long ) As Long
Propósito: Crear un consecutivo único para una tabla dada
Observaciones:

Esta función se utiliza para traer consecutivos, con esto no se depende de los
consecutivos creados de forma automática por el servidor de base de datos

Ejemplo:
nSiguiente = TraeSiguiente( “Venta”, Ambiente.Connection )

Función: PonLetra
Definición: Public Function PonLetra( Numero As Double, Leyenda As String,
bolDecimales As Bolean, Optional strMoneda As String = ””) As String
Propósito: Escribe la leyenda en letra de un número dado

Ejemplo:
MsgBox PonLetra( “1245.25”, “MONEDA NACIONAL”, True, “MN” )

17
Función: ExisteArchivo
Definición: Public Function ExisteArchivo( strArchivo ) As Boolean
Propósito: Devuelve verdadero si el parámetro dado es un archivo de disco

Ejemplo:
If ExisteArchivo( “C:\leame.txt” ) Then
MsgBox “Por favor lea el archivo leame”, vbInformation
End If

Procedimiento: EliminaArchivo
Definición: Public Sub EliminaArchivo( strArchivo )
Propósito: Elimina un archivo de disco

Ejemplo:
If ExisteArchivo( “c:\leame.txt” ) Then
EliminaArchivo “c:\leame.txt”
End If

Función: FechaSQL
Definición: Public Function FechaSQL( dFecha, Optional Connection As
ADODB.Connection ) As String
Propósito: Devuelve una cadena que representa una fecha para usarse con SQL Server

Observaciones

Si se pasa el parámetro de la conexión la función decide cual es el formato de fecha que


se debe de usar dependiendo del tipo de base de datos.

Ejemplo:
Set rstVentasDelDia = CreaRecordSet( “SELECT * FROM ventas WHERE
f_emisión” & FechaSQL( Date ), Ambiente.Connection )

Función: Prepara
Definición: Public Function Prepara( cString As String ) As String
Propósito: Cambia las comillas simples por unas dobles en un string

Ejemplo:
MsgBox Prepara (“‟Hola‟”)

Procedimiento: Eventos
Definición: Public Sub Eventos ()
Propósito: Realiza la misma función del método DoEvents de Visual Basic, que es la de
ejecutar los eventos pendientes del sistema. Utilizando este método se puede aparentar
multitarea o procesos concurrentes

18
Ejemplo:

Set rstPartidasDeVenta = CreaRecordSet( “SELECT * FROM patvta”,


Ambiente.Connection )

While Not rstPartidasVenta.EOF


Eventos
RstPartidasVenta.MoveNext
Wend

REPORTES EN MYBUSINESS POS

El generador de reportes de MyBusiness POS es un motor hecho para programadores de


forma que sea muy sencillo crear reportes personalizados a partir de sentencias de SQL.

Para iniciar con un reporte es necesario que abra el Business Manager en y busque la
carpeta Configuración – Personalización – Reporte de un clic en nuevo

Ejemplo de reporte:

' Este comando siempre va al principio de un reporte e inicia la


' salida a la pantalla o a la impresora
IniciaDocumento

' Le indica el titulo al reporte


Reporte.Titulo = "Cobranza por día"

' Creamos la sentencia de SQL de donde vamos a obtener los datos


Reporte.SQL = "SELECT cliente, tipo_doc, no_referen, importe FROM cobdet WHERE
cargo_ab = 'A' "

' Ejecuta el comando de SQL


Reporte.RetrieveColumns

' Manda el reporte a imprimir


Reporte.ImprimeReporte

' Finaliza el reporte


FinDocumento
El anterior es un ejemplo de un reporte básico, pero puede suceder que se deseen hacer
algunas cosas como por ejemplo formatear una columna o cambiarle el encabezado para
esto se puede acceder a las propiedades de cada columna.

19
Funciones y procedimientos especiales para la impresión en
Mybusiness pos

Procedimiento: IniciaDocumento
Propósito: Inicia el administrador de impresión de Windows

Ejemplo:
Public Sub Main()
IniciaDocumento()
..
..
FinDocumento()
End Sub

Procedimiento: FinDocumento
Propósito: Termina el documento que se va a imprimir

Ejemplo:
Public Sub Main()
IniciaDocumento()
..
..
FinDocumento()
End Sub

Procedimiento: Say( y As Variant, x As Variant, strMensaje As Variant )


Propósito: Envia el parámetro strMensaje hacia el documento que se está imprimiendo.
Los valores de “x” y “y” se establecen en pulgadas

Say Row(nRenglon), Col(6), Trim(rstTickets("numero"))

Procedimiento: EstableceFuente( strFuente, Size )


Propósito: Indica la fuente de Windows que va a ser utilizada en la siguiente instrucción
Say

EstableceFuente "Courier New", 10

Procedimiento: Linea (bLeft0, bTop0, bLeft1, bTop1)


Propósito: Pinta una linea que inicia en bLeft0 y bTop0 hasta bTop1 y bLeft1

Linea Col (6), Row(Ren+1), Col(74), Row(Ren+1)

Procedimiento: Box( bLeft, bTop, bWitdth, bHeight )


Propósito: Pinta una caja con linea sencilla que inicia en bLeft y bTop indicando el ancho y
largo de la caja por medio de bWitdth y bHeight

Box 1.5, 0.4, 5, 0.43

20
Procedimiento: FilledBox( bLeft, bTop, bWitdth, bHeight )
Propósito: Pinta una caja con relleno que inicia en bLeft y bTop indicando el ancho y largo
de la caja por medio de bWitdth y bHeight

FilledBox 1.5,0.4,5,0.43, RGB( 200, 200, 200 )

Procedimiento: PaginaNueva
Propósito: Crea una página nueva de impresión y aumenta el contador de páginas en uno
if nRenglon > 55 Then
PaginaNueva
Call Encabezado ()
nRenglon = 10
j=1
end if

Procedimiento:Picture( PicSource, ByVal pLeft, ByVal pTop, ByVal pWidth,


ByVal pHeight )

Propósito: Imprimir una imagen PicSource que es una imagen en cualquier


formato ya sea gif, tiff, jpg, bmp etc.

Picture "C:\SARA2.JPEG", 5, 2, 2, 2

Función: Row( nRenglon )


Propósito: Calcula la posición en pulgadas de acuerdo a un numero de renglones
preestablecido para la forma impresa. Normalmente su valor es de 60 lo que para una
hoja carta de once pulgadas de alto el valor de Row es igual a once pulgadas dividido
entre 60 renglones y multiplicado por el valor de nRenglon.

Row (10)

Función: Col( nCol )


Propósito: Calcula la posición en pulgadas de acuerdo a un numero de columnas
preestablecido para la forma impresa. Normalmente su valor es de 80 lo que para una
hoja carta de 8.5 pulgadas de ancho el valor de Col es igual a 8.5 pulgadas dividido entre
80 columnas y multiplicado por el valor de nCol.

Col (10)

Función: EstableceImpresora( strImpresora )


Propósito: Determina la impresora que se utilizara para imprimir. El nombre de la
impresora debe de ser igual a alguna que se tenga dada de alta en Windows.

EstableceImpresora (Xerox Phaser 3210 PCL 6)

Función: FontBold( Bold )


Propósito: Activa la función de negritas para la fuente seleccionada, dependiendo si el
parámetro Bold está en verdadero o falso.

FontBold True

21
Función: FontItalic( Italic )
Propósito: Activa la función de itálica para la fuente seleccionada, dependiendo si el
parámetro Italic está en verdadero o falso.

FontItalic True

Función: ColorDeFuente( nColor )


Propósito: Estable el color con el que se va a imprimir, el color puede establecerse con la
función RGB.

ColorDeFuente(RGB( 200, 200, 200 ))

Función: Portrait()
Propósito: Indica que la forma se va a imprimir en formato vertical

Portrait()

Función: LandScape()
Propósito: Indica que la forma se va a imprimir en formato horizontal

LandScape ()

Función: Codigo39( x, y, nNarrow, yHeight, strMensaje, Optional bolBox = False, Optional


CheckDigit = False, Optional strData1 = “”, Optional strData2 = “” )

Propósito: Imprime el código de barras en formato 3 de 9, este formato se imprime usando


Twips y no pulgadas, cada Twip equivale a 0.001 pulgadas, en el parámetro “X” y “Y” se
indica el comienzo de la etiqueta, xNarrow indica la densidad de las líneas. Este valor se
recomienda en 15, “Y” Height indica el alto de las barras también en Twips, strMensaje es
lo que va a contener el código, CheckDigit indica si se va a incluir el digito verificador,
strData1 es el dato que aparece en la parte inferior del código de barras, y strData2 el
dato que aparece en la parte superior.

22

Das könnte Ihnen auch gefallen