Descargar

Introducción a la programación en Open office.org Basic (página 5)

Enviado por Fermí Vilà


Partes: 1, 2, 3, 4, 5
edu.red

Observa que declaramos y definimos los dos formularios: AbreForm1: AbreForm2: Cerrar1: Cerrar2: abre el Dialog1 abre el Dialog2 cierra el Dialog1 cierra el Dialog2 – Crea en la Hoja1 del Macro17, un botón de nombre [Áreas] y asignalo al procedimiento “AbreForm1”

– Escribe en el Module1:

Sub Salir1Entrar2 Cerrar1 AbreForm2 End Sub

Sub Salir2Entrar1 Cerrar2 AbreForm1 End Sub

Sub CalcularTriangulo Dim ba As Double, al As Double, ar As Double ba=CDbl(oDialogo1.Model.TextField1.Text) al=CDbl(oDialogo1.Model.TextField2.Text) ar=ba*al/2 oDialogo1.Model.TextField3.Text=cStr(ar) End Sub

Sub OtroTriangulo oDialogo1.Model.TextField1.Text="" oDialogo1.Model.TextField2.Text="" oDialogo1.Model.TextField3.Text="" End Sub

Sub CalculaCirculo Dim ra As Double, lo As Double, ar As Double If oDialogo2.Model.TextField1.Text<>"" Then ra=CDbl(oDialogo2.Model.TextField1.Text) ar=3.1416*ra*ra lo=2*3.1416*ra oDialogo2.Model.TextField2.Text=cStr(ar) oDialogo2.Model.TextField3.Text=cStr(lo) End If End Sub

Sub OtroCirculo oDialogo2.Model.TextField1.Text="" oDialogo2.Model.TextField2.Text="" oDialogo2.Model.TextField3.Text="" End Sub

– Asigna:

Dialog1 Botón [CALCULAR] (Al Ejecutar) = procedimiento CalcularTriangulo Botón [BORRAR] (Al Ejecutar) = procedimiento OtroTriangulo Botón [CÍRCULO] (Al Ejecutar) = procedimiento Salir1Entrar2

edu.red

Dialog2 – Botón [OTRO] (Al Ejecutar) = procedimiento OtroCirculo Botón [VOLVER] (Al Ejecutar) = procedimiento Salir2Entrar1 TextField1 (Texto Modificado) = procedimiento CalculaCirculo

Por último graba, ejecuta y prueba exhaustivamente nuestro programa. Espero que te funcione todo correctamente.

edu.red

Ejercicios

27) Crea un libro de cálculo de nombre EjerM27.ods, que contenga un cuadro de diálogo que nos permita calcular las tablas de multiplicar de la siguiente forma: Parece muy complicado de hacer, pero si procedes de la siguiente forma, es muy fácil:

Primero: diseña el siguiente “Dialog”: Segundo: Utilizando el cursor del ratón, selecciona: – Pulsa [CTRL][C] = copiaremos lo que se encuentra seleccionado – Clic en cualquier sitio para desmarcar. – Pulsa [CTRL][V] = pegaremos lo anterior -Deberás “pegarlo” ocho veces más.

edu.red

Tercero: Cambiar la propiedad “Nombre” de la siguiente forma: Es decir: oDialogo.Model.TextFieldXX.Text = a0, etc, etc. Cuarto: El código correspondiente es muy sencillo si utilizas tres arrays: a(0 To 0), b(0 To 9) y c(0 To 9) – En la primera matriz asignas 1, 2, 3, 4, ….9, 10 – En la segunda matriz asignas a cada elemento el número correspondiente al cuadro de text (tabla del): TextField1 – En la tercera matriz asignas el producto del elemento correspondiente de la primera y segunda matriz Primera columna de controles = a0, a1, a2, a3, … a9 Segunda columna de controles = b0, b1, b2, b3, … b9 Tercera columna de controles = c0, c1, c2, c3, … c9

edu.red

28) Crea un libro de cálculo de nombre EjerM28.ods, que contenga un cuadro de diálogo, que nos permita hacer un estudio estadístico de 10 valores, de la siguiente forma: 29) Crea un libro de cálculo de nombre EjerM29.ods, que contenga un formulario, que nos permita simplificar fracciones. Es decir, se trata de repetir el EjerM17, pero de forma visual: Si trabajas con variables “Integer”, no podrás “tratar” números como los que aparecen en la ilustración. Prueba en lugar de “Integer”, “Long”. Un Integer es un entero entre –32.768 y 32.767 Un Long es un entero entre –2.147.483.648 y 2.147.493.647

30) En un libro de cálculo de nombre EjerM30.ods, haz un programa que sirva para repasar las tablas de multiplicar, de la siguiente forma: – Considera una función que nos de la nota cualitativa a partir de la cuantitativa (repasa el Prog19 del Macro06.ods)

– Inserta un “Dialog” de contenido:

edu.red

– Utiliza para los controles, los siguientes “Nombres”: – El problema que nos planteamos, creo que está claro: • • • • • • • • Al ejecutar el “Dialog”, escribimos en txtNum el número de multiplicaciones que queremos hacer. En los cuadros txtUno y txtDos aparecen dos números aleatorios entre 1 y 9. En el cuadro txtResul escribimos el resultado de la multiplicación que aparece en txtUno y txtDos. Si la respuesta es correcta, aparece en el cuadro txtCorrec, la frase “Muy Bien” Si la respuesta es incorrecta, aparece en el cuadro txtCorrec la contestación correcta. Los cuadros txtBien y txtMal, cuentan el número de respuestas correctas e incorrectas respectivamente. El botón OTRA sirve para una nueva multiplicación Al acabarse todas las multiplicaciones: en el cuadro txtNota aparece la nota cualitativa (Excelente, Notable, Bien, etc.)

edu.red

13.- Cuadros de Diálogo y Hoja de Cálculo

Crea un nuevo libro de cálculo de nombre Macro18.ods, que simule en la Hoja1 una base de datos de clientes de la siguiente forma: – Crea un Module1 y un Dialog1 asociado.

– Inserta en el Dialog1 los siguientes controles:

El control que aparece seleccionado es un cuadro combinado (ComboBox1), que podrás hacer a partir del control:

– Lo que pretendemos conseguir es lo siguiente: • Al hacer clic en [Visualizar Clientes]: en el cuadro combinado, se “cargan” los nombres de los clientes que tenemos en el rango B3:B7 • Al hacer clic en [Datos]: en los cuadros de texto del formulario, aparecen los datos (código, nombre, dirección, …) del cliente que seleccionemos previamente en el Cuadro Combinado

– Sitúate en el Module1 y escribe (lo de siempre): – Veamos el programa que nos permite “cargar” los valores del rango B3:B7 en el cuadro combinado; escribe en el Module1:

edu.red

– Vamos a ver si entendemos el programa “Cargar”: • oCombo = oDialogo.getControl(“ComboBox1”) A diferencia de lo que sucedía con el control “Cuadro de Texto” (TextField), hemos de “declarar” el cuadro combinado, para poder después, acceder a él. De la forma: • NombreDelCuadroCombinado = NombreDelFormulario.getControl(“ComboBox1”) oCombo.AddItem(Cel.getFormula, i-1) Añade en el cuadro combinado, los elementos (Cel.getFormula), en el mismo orden (i-1 = 0, 1, 2, 3, 4).

– Veamos el programa que nos permite “acceder” a los datos del elemento seleccionado en el cuadro combinado; escribe en el Module1: – Observa de qué forma tan sencilla accedemos al valor seleccionado en el cuadro combinado = oComboText

– Asocia al programa Acceder al botón (Al ejecutar) [Datos]

– Asocia el programa Cargar al botón [Visualizar Clientes]

– Crea un botón de nombre [Clientes], en la Hoja1 del libro Macro18.ods y asócialo al programa “AbreFormulario”

– Prueba lo que hemos hecho hasta ahora: • Desde la Hoja1: haz clic en [Clientes] • Clic en [Visualizar Clientes] • Selecciona el cliente que quieras en el cuadro combinado. • Clic en [Datos] Espero que te funcione todo correctamente.

– Vamos a mejorar un poco nuestro programa, en efecto: • Sitúate en el Dialog1, selecciona el ComboBox1, accede a sus propiedades (pestaña Acontecimientos) y a la acción Texto Modificado asigna el programa Acceder • Selecciona el botón [Datos] y bórralo. Vuelve a ejecutar el programa.

edu.red

14.- Facturación

Como último ejercicio, te propongo hacer un sencillo programa de facturación …

Crea un nuevo libro de cálculo de nombre Macro19.ods, con el siguiente contenido (en la Hoja1): En la Hoja2 (cópialo del libro Macro18): En la Hoja3: – Inserta dos nuevas hojas, a nuestro libro de la siguiente forma: • Sitúate en la Hoja3 • Menú Insertar Hoja de cálculo … Posición: Detrás de la hoja actual Núm. De hojas: 2 [Aceptar]

– Sitúate en la Hoja4 y crea: Creo que está claro lo que simula la Hoja4 de nuestro programa de facturación: la base de datos de las facturas realizadas.

edu.red

Observa que nuestras facturas tienen una serie de limitaciones (limitaciones que tu puedes cambiar, cuando adaptes lo estudiado, en la realización del programa de facturación de tu empresa): • Facturamos un máximo de tres conceptos: Num1 = número de unidades del artículo 1 C.Art.1 = código del artículo 1 • • • Etc. Sólo disponemos de un iva por factura (no por artículo). Sólo disponemos de un descuento por factura. No contemplamos el vencimiento, para simplificar el problema. – Sitúate en la Hoja5 y crea el impreso de factura: – Cambia el nombre de cada hoja (basta que sitúes el cursor en la pestaña correspondiente y accedas a su menú contextual):

– Crea un Module1 y sitúate en la Hoja1 = MENÚ • Vamos a hacer un programa que nos permita situarnos en la base de datos de Clientes (Hoja2 = CLIENTES), para ello utilizaremos la llamada Grabadora de Macros … • Desde la Hoja1: MENÚ, haz lo siguiente: Menú Herramientas Macros Grabar macro. Observa que acaba de aparecer una nueva barra de herramientas, con un botón de nombre: [Finalizar grabación]. Atención, todo lo que hagamos ahora, hasta que hagamos clic en [Finalizar grabación], se guardará en un programa. • Haz clic en la pestaña correspondiente a CLIENTES • Clic en la celda A1 de “Clientes” • Clic en [Finalizar grabación] • Selecciona el Module1 de Standard de Macro19.ods (si no lo está ya). • En el campo “Nombre de la macro”, escribe: AClientes y clic en [Guardar] – Sitúate en la hoja MENÚ: • Selecciona el botón [BASE DE DATOS DE CLIENTES], para ello deberás entrar en modo Diseño: clic en

de la barra de iconos Campos de control de formulario

edu.red

• Menú Contextual Campo de Control Solapa: Acontecimientos Al Ejecutar: Document: Standard.Module1.Aclientes Es decir, acabamos de asociar el programa AClientes, que hemos hecho a partir de la grabadora de macros al botón [BASE DE DATOS DE CLIENTES]

– Pruébalo, es decir: clic en [Base de datos de clientes]

De hecho, el programa “AClientes” es bastante tonto, ya que es equivalente a dos pulsaciones de ratón: • Clic en la pestaña [CLIENTES] • Clic en A1 de la nueva hoja

Precisamente esto, pulsaciones de ratón y teclas, es lo que nos permite “programar” automáticamente la “Grabadora de Macros”

Si accedes al Module1 e investigas el contenido de “AClientes”, no te asustes, verás como está codificado “nuestro programa AClientes”. No te preocupes demasiado de su contenido, lo importante es que funciona y es muy fácil de hacer.

– Sitúate en la Hoja: CLIENTES y crea una macro que permita volver al Menú… • Desde la Hoja: CLIENTES: Menú Herramientas Macros • • • • • Grabar macro Clic en la pestaña: MENÚ Clic en la celda A1 Clic en [Finalizar grabación] Selecciona Module1/Standard/Macro19.ods y en nombre de la macro escribe: AMenu [Guardar] – Asocia la macro AMenu al botón [VOLVER], que tienes en la Hoja: CLIENTES y pruébalo.

– Asocia la macro AMenu al botón [VOLVER] que tienes en la Hoja: ARTÍCULOS y también el la Hoja: HISTÓRICO y también en la Hoja: FACTURA y pruébalo.

– Procede de la misma forma para: • Desde “MENÚ” crea una macro de nombre “AArticulos”, que nos sitúe en “ARTÍCULOS”. Asóciala al botón [BASE DE DATOS DE ARTÍCULOS]. • Desde “MENÚ” crea una macro de nombre “AHistorico", que nos sitúe en “HISTÓRICO”. Asóciala al botón [BASE DE DATOS DE FACTURAS] • Desde “MENÚ” crea una macro de nombre “AFactura", que nos sitúe en “FACTURA”. Asóciala al botón [FACTURAR]

– Crea otro módulo (Module2), sin más que: desde el editor de Basic, accede al menú contextual de la pestaña “Module1” y “Insertar – Módulo Basic”. Inserta también un formulario (Dialog1).

– Escribe en el Module2:

edu.red

Inserta en el Dialog1: – Se trata de hacer un programa que calcule el número de factura y también que “cargue” los cuatro cuadros combinados del Dialog1, para ello necesitamos saber el número de clientes y artículos. Veamos, sitúate en Module2 y escribe:

Sub Calcula Dim HojCli As Object, HojArt As Object, HojHis As Object Dim Celda As String, CelCli As Object, CelArt As Object Dim CelHi As Object, num As Integer, numCli As Integer Dim numArt As Integer HojCli=ThisComponent.Sheets(1) HojArt=ThisComponent.Sheets(2) HojHis=ThisComponent.Sheets(3) CelHi=HojHis.getCellbyPosition(0,1) Celda=CelHi.getFormula Do While Celda<>"" num=num+1

Celda=HojHis.getCellbyPosition(0,1+num).getFormula Loop oDialogo.Model.TextField1.Text=cStr(num) oCombo1=oDialogo.getControl("ComboBox1") oCombo2=oDialogo.getControl("ComboBox2") oCombo3=oDialogo.getControl("ComboBox3") oCombo4=oDialogo.getControl("ComboBox4") CelCli=HojCli.getCellbyPosition(0,1) Celda=CelCli.getFormula Do While Celda<>"" numCli=numCli+1

Celda=HojCli.getCellbyPosition(1,1+numCli).getFormula oCombo1.AddItem(Celda,numCli-1) Loop oCombo1.RemoveItems(numCli-1,numCli-1) CelArt=HojArt.getCellbyPosition(0,1) Celda=CelArt.getFormula Do While Celda<>"" numArt=numArt+1

Celda=HojArt.getCellbyPosition(1,1+numArt).getFormula oCombo2.AddItem(Celda,numArt-1) oCombo3.AddItem(Celda,numArt-1) oCombo4.AddItem(Celda,numArt-1) Loop oCombo2.RemoveItems(numArt-1,numArt-1)

edu.red

oCombo1.RemoveItems(numArt-1,numArt-1) oCombo1.RemoveItems(numArt-1,numArt-1) End Sub

– Prueba el funcionamiento del programa anterior, para ello … • En la Hoja: FACTURA, crea un nuevo botón de nombre [Facturar] y asócialo a AbreFormulario del Module2. • Asigna al botón [Calcula Nº] del Dialog1, el procedimiento anterior (Calcula) • Ejecuta nuestro programa: [FACTURAR] en Hoja1: MENÚ [Facturar] en Hoja5: FACTURA [Calcula Nº] – Vamos a hacer el procedimiento que nos permita colocar los datos del formulario, en la Hoja de Cálculo: FACTURA. Escribe en el Module2:

Sub Cancelar oDialogo.endExecute() End Sub

Sub Aceptar HojCli=ThisComponent.Sheets(1) Hoj=ThisComponent.Sheets(4) oCombo1=oDialogo.getControl("ComboBox1") oCombo2=oDialogo.getControl("ComboBox2") oCombo3=oDialogo.getControl("ComboBox3") oCombo4=oDialogo.getControl("ComboBox4") Hoj.getCellByPosition(2,5).SetFormula(oDialogo.Model.TextField1.Text) Hoj.getCellByPosition(2,6).SetFormula(oDialogo.Model.TextField2.Text) Hoj.getCellByPosition(3,1).SetFormula(oCombo1.Text) nom=oCombo1.Text x=HojCli.getCellByPosition(1,1).getFormula Do While x<>"" num=num+1 x=HojCli.getCellByPosition(1,1+num).getFormula If x=nom then

Hoj.getCellByPosition(3,2).SetFormula(HojCli.getCellByPosition(2,1+num).getFormula)

Hoj.getCellByPosition(3,3).SetFormula(HojCli.getCellByPosition(4,1+num).getFormula)

Hoj.getCellByPosition(3,4).SetFormula(HojCli.getCellByPosition(5,1+num).getFormula) End If Loop Hoj.getCellByPosition(0,11).SetValue(Val(oDialogo.Model.TextField3.Text)) Hoj.getCellByPosition(0,12).SetValue(Val(oDialogo.Model.TextField4.Text)) Hoj.getCellByPosition(0,13).SetValue(Val(oDialogo.Model.TextField5.Text)) HojArt=ThisComponent.Sheets(2) nom=oCombo2.Text: num=0 x=HojArt.getCellByPosition(1,1).getFormula Do While x<>"" num=num+1 x=HojArt.getCellByPosition(1,1+num).getFormula If x=nom Then Hoj.getCellByPosition(1,11).SetFormula(oCombo2.Text)

Hoj.getCellByPosition(2,11).SetValue(HojArt.getCellByPosition(2,1+num).getValue) End If

edu.red

Loop nom=oCombo3.Text: num=0 x=HojArt.getCellByPosition(1,1).getFormula Do While x<>"" num=num+1 x=HojArt.getCellByPosition(1,1+num).getFormula If x=nom Then Hoj.getCellByPosition(1,12).SetFormula(oCombo3.Text)

Hoj.getCellByPosition(2,12).SetValue(HojArt.getCellByPosition(2,1+num).getValue) End If Loop nom=oCombo4.Text: num=0 x=HojArt.getCellByPosition(1,1).getFormula Do While x<>"" num=num+1 x=HojArt.getCellByPosition(1,1+num).getFormula If x=nom Then Hoj.getCellByPosition(1,13).SetFormula(oCombo4.Text)

Hoj.getCellByPosition(2,13).SetValue(HojArt.getCellByPosition(2,1+num).getValue) End If Loop Hoj.getCellByPosition(1,16).SetValue(Val(oDialogo.Model.TextField6.Text)) Hoj.getCellByPosition(1,15).SetValue(Val(oDialogo.Model.TextField7.Text)) End Sub

– Asocia el procedimiento Cancelar, al botón [Cancelar] del Dialog1 y el procedimiento Aceptar al botón [Aceptar]

– Prueba el funcionamiento del programa de la siguiente forma:

Considera la factura: • Clic en [Calcula Nº], tendremos Factura nº 3 • Fecha: ‘3/7/2009 (debes escribir un apóstrofe antes de introducir la fecha, para no tener problema con el formato de fecha en la hoja de cálculo. De esta forma estamos considerando • • la fecha como un texto) Cliente: Eufrasia Martínez Unidades Artículos 2 Naranjas de la China 3 Pepinillos Variados • • • • 4 Té de Ceylan % IVA: 3 % descuento: 5 Clic en [Aceptar] “Cierra” el formulario Espero que te haya funcionado todo correctamente, ya que en caso contrario no tienes otro remedio que repasarlo, sin prisa, poco a poco.

– Supongo que está claro el problema que tenemos pendiente en la Hoja: FACTURA, vamos a introducir las fórmulas correspondientes: • Celda D12: =A12*C12 • Copia la fórmula anterior en D13 y D14 • Celda D15: =SUMA(D12:D14) • Celda D16: =B16*D15/100 • Celda D17: =B17*(D15-D16)/100 • Celda D18: =D15-D16+D17 – El siguiente paso está claro cual es …

edu.red Grabar la factura, es decir, colocar los datos que tenemos en la Hoja: FACTURA en la Hoja: HISTÓRICO. Escribe en el Module2: Sub GrabarFactura HojCli=ThisComponent.Sheets(1) HojArt=ThisComponent.Sheets(2) HojHis=ThisComponent.Sheets(3) HojFac=ThisComponent.Sheets(4) CelHi=HojHis.getCellByPosition(0,1) Celda=CelHi.getFormula:num=0 Do While Celda<>"" num=num+1 Celda=HojHis.getCellByPosition(1,1+num).getFormula Loop x= HojFac.getCellByPosition(2,5).getValue HojHis.getCellByPosition(0,1+num).SetValue(x) x=HojFac.getCellByPosition(2,6).getFormula HojHis.getCellByPosition(1,1+num).SetFormula(x) y=HojFac.getCellByPosition(3,1).getFormula x=HojCli.getCellByPosition(1,1).getFormula num1=0 Do While x<>"" num1=num1+1 x=HojCli.getCellByPosition(1,1+num1).getFormula If x=y then Cod=HojCli.getCellByPosition(0,1+num1).getFormula HojHis.getCellbyPosition(2,1+num).SetFormula(Cod) End If Loop x=HojFac.getCellByPosition(0,11).getValue HojHis.getCellByPosition(3,1+num).SetValue(x) x=HojFac.getCellByPosition(0,12).getValue HojHis.getCellByPosition(5,1+num).SetValue(x) x=HojFac.getCellByPosition(0,13).getValue HojHis.getCellByPosition(7,1+num).SetValue(x) y=HojFac.getCellByPosition(1,11).getFormula x=HojArt.getCellByPosition(1,1).getFormula num2=0 Do While x<>"" num2=num2+1 x=HojArt.getCellByPosition(1,1+num2).getFormula If x=y then Cod=HojArt.getCellByPosition(0,1+num2).getFormula HojHis.getCellbyPosition(4,1+num).SetFormula(Cod) End If Loop y=HojFac.getCellByPosition(1,12).getFormula x=HojArt.getCellByPosition(1,1).getFormula num3=0 Do While x<>"" num3=num3+1 x=HojArt.getCellByPosition(1,1+num3).getFormula If x=y then Cod=HojArt.getCellByPosition(0,1+num3).getFormula HojHis.getCellbyPosition(6,1+num).SetFormula(Cod) End If Loop y=HojFac.getCellByPosition(1,13).getFormula x=HojArt.getCellByPosition(1,1).getFormula num4=0

edu.red

Do While x<>"" num4=num4+1 x=HojArt.getCellByPosition(1,1+num4).getFormula If x=y then Cod=HojArt.getCellByPosition(0,1+num4).getFormula HojHis.getCellbyPosition(8,1+num).SetFormula(Cod) End If Loop x=HojFac.getCellByPosition(1,15).getValue HojHis.getCellByPosition(10,1+num).SetValue(x) x=HojFac.getCellByPosition(1,16).getValue HojHis.getCellByPosition(9,1+num).SetValue(x) End Sub

– Asocia el programa “GrabarFactura” al botón [GRABAR] de la Hoja: FACTURA y pruébalo.

– Vamos a hacer un procedimiento que sirva para dejar en “blanco”, la factura..

Escribe el Module2:

Sub BorrarFactura Hoj=ThisComponent.Sheets(4) Hoj.getCellByPosition(3,1).SetFormula("") Hoj.getCellByPosition(3,2).SetFormula("") Hoj.getCellByPosition(3,3).SetFormula("") Hoj.getCellByPosition(3,4).SetFormula("") Hoj.getCellByPosition(2,5).SetFormula("") Hoj.getCellByPosition(2,6).SetFormula("") Hoj.getCellByPosition(0,11).SetFormula("") Hoj.getCellByPosition(0,12).SetFormula("") Hoj.getCellByPosition(0,13).SetFormula("") Hoj.getCellByPosition(1,11).SetFormula("") Hoj.getCellByPosition(1,12).SetFormula("") Hoj.getCellByPosition(1,13).SetFormula("") Hoj.getCellByPosition(1,15).SetFormula("") Hoj.getCellByPosition(1,16).SetFormula("") Hoj.getCellByPosition(2,11).SetFormula("") Hoj.getCellByPosition(2,12).SetFormula("") Hoj.getCellByPosition(2,13).SetFormula("") End Sub

– Corrige el procedimiento “AbreFormulario”, de forma que su primera línea sea BorrarFactura: – Abre el formulario, para probar el “BorrarFactura”. Es decir: sitúate en la Hoja: FACTURA y clic en [Facturar]

– Crea una macro de nombre “Imprimir” en un módulo nuevo: Module3, que debes asociar al botón [Imprimir] de la Hoja: Factura, que sirva para imprimir la factura, es decir: la macro ha de contener: Menú Archivo Imprimir Selecciona “Páginas” y escribe la última página. [Aceptar]

– Si observas la factura impresa, supongo que estarás de acuerdo conmigo, en que no queda demasiado bien los botones en la factura impresa.

edu.red

Para evitar el problema: • Edita cada botón • Accede a sus propiedades y en la propiedad “Imprimir”, selecciona la opción No – Nuestro simple programa de facturación ya está terminado, solo nos falta probarlo exhaustivamente.

Partes: 1, 2, 3, 4, 5
 Página anterior Volver al principio del trabajoPágina siguiente