Vous êtes sur la page 1sur 76

Algoritmos y Programacin Clase 6 - primera parte

Variables tipo arreglo (Arrays):


Vectores Matrices

Repaso
Hasta ahora en el curso se estudi:
La representacin de algoritmos usando estructuras bsicas: secuencia, seleccin lgica, iteracin. Los tipos de datos El concepto de variable Almacenan un solo valor: numrico, cadena de caracteres, lgico, etc.
2

Clase 6

Arreglos
Un arreglo (o array) es un conjunto de elementos que tienen el mismo tipo de dato y se identifican con un nico nombre de variable. Para referirse a un determinado elemento del arreglo se utiliza un ndice, que especifica su posicin relativa en el arreglo. Los arreglos pueden ser de cualquier tipo de dato: numrico, alfanumricos, lgicos, etc. A =
A0 A1 A2 A3
Clase 6

Ai

An-1 An
3

Clasificacin de los arreglos


Los arreglos se clasifican de acuerdo al nmero de dimensiones que tienen:
Unidimensionales (Vectores) Bidimensionales (Matrices o Tablas) Multidimensionales (tres o ms dimensiones)
A0 A1 A2 An A0,0 A0,1 A1,0 A1,1 A2,0 A2,1 Am,0 Am,1 A0,n A1,n A2,n Am,n Clase 6
4

Dimensiones y Subndices
El nmero de dimensiones especifican el tipo de arreglo (vector, matriz, etc.). Cada dimensin tiene un tamao y se utiliza un subndice para hacer referencia a una posicin en esa dimensin. Los vectores utilizan un solo subndice que especifica la posicin del elemento en la dimensin: A(i)
5

Clase 6

Dimensiones y Subndices
Las matrices tienen dos dimensiones: a la primera dimensin se le llama Fila, a la segunda Fila dimensin se le llama Columna Las matrices utilizan dos subndices: uno para las filas y otro para las columnas. A(i, j)
Subndice para columnas (segunda dimensin)
6

Subndice para filas (primera dimensin)

Clase 6

Declaracin de arreglos
Un arreglo se declara con la instruccin Dim: Dim Dim nombreArreglo(dimensiones) As tipoDato nombreArreglo: es el nombre de una variable tipoDato: Opcional. Es el tipo de dato del arreglo (Integer, Long, Double, Boolean, String, etc.). dimensiones: Opcional. Es una lista (separada por coma) de las dimensiones del arreglo. VB acepta hasta 60 dimensiones. Cada dimensin es de la forma: 7 lmiteInferior To lmiteSuperior Clase 6

Declaracin de arreglos
lmiteInferior To lmiteSuperior lmiteInferior: Opcional. Es un entero (positivo o negativo) correspondiente al lmite inferior del arreglo en esa dimensin. Si se omite, tambin se debe omitir la palabra clave To y su valor se asume cero. lmiteSuperior: Requerido. Es un entero (positivo o negativo) correspondiente al lmite superior del arreglo en esa dimensin. lmiteSuperior debe ser mayor o igual que lmiteInferior. 8
Clase 6

Declaracin de arreglos
Ejemplos:
Dim Dim Dim Dim Dim X(1 To 10) As Single, B() As Long Y(20) As Integer, W(10, 20) As Double Z(-30 To 50) As String A(5, -4 To 10) As Boolean C(5, 5, 5, 4) As Long

Observaciones:
Los parntesis (despus del nombre de la variable) indican que la variable es un arreglo Cuntos elementos tiene X? y B? y A? y C?
Clase 6

Tamao de un arreglo
El tamao de un arreglo se define como la multiplicacin de cada uno de los tamaos de las dimensiones del arreglo. El tamao de una dimensin se calcula por la siguiente frmula: Tamao = lmiteSuperior lmiteInferior + 1 Por ejemplo, en la declaracin:
Dim Z(-30 To 50) As String El tamao del vector Z es 50 (30) + 1 = 81 elementos
10

Clase 6

Arreglos Estticos
Un arreglo esttico es aquel que, en su declaracin, se define el nmero de dimensiones y el tamao de cada dimensin. Es decir, tiene un nmero constante de elementos. Ejemplo:
Dim B(9) As Integer, A(7, 19) As Single

El vector B tendr 10 elementos de tipo entero. La matriz A tendr 8 filas y 20 columnas, es decir, 160 elementos de tipo real simple.
11

Clase 6

Arreglos Dinmicos
Un arreglo dinmico es aquel cuyo tamao y nmero de dimensiones pueden cambiar. En la declaracin se colocan los parntesis vacos. Ejemplo:
Dim X() As Long, B() As String

Para poder hacer referencia a un elemento del arreglo dinmico, primero de debe redimensionar la variable utilizando la instruccin ReDim, especificando el nmero de dimensiones y el tamao de cada dimensin. 12
Clase 6

Arreglos Dinmicos
Sintaxis de la instruccin ReDim: ReDim ReDim nombreArreglo(dimensiones) nombreArreglo: es el nombre de la variable a redimensionar. dimensiones: Requerido. Es una lista (separada por coma) de las dimensiones del arreglo. Cada dimensin es de la forma: lmiteInferior To lmiteSuperior lmiteInferior es opcional. Si se omite se asume 0. 13 lmiteSuperior es requerido. Clase 6

Arreglos Dinmicos
Ejemplo:
ReDim permite cambiar Dim F() As Single el nmero de elementos ... el nmero de dimensiones del arreglo ReDim F(50) pero NO su tipo de ... datos. F(2) = 10.52 ... ReDim F(1 To 5, 5) ... F(3, 0) = 4*F(1, 1) 2.3 Clase 6

14

Arreglos Dinmicos
ReDim inicializa cada elemento del arreglo a su

valor por defecto (los numricos a 0; String a ; Boolean a False; etc.). ReDim Preserve permite conservar los datos del arreglo. Si utiliza la palabra clave Preserve slo puede cambiar el tamao de la ltima dimensin del arreglo y no es posible cambiar el nmero de dimensiones. En este caso, los elementos del arreglo no se inicializan a su valor por defecto. 15
Clase 6

Arreglos Dinmicos
Ejemplo:
Dim A() As Integer ReDim A(4) A(2) = 5 ReDim A(3) A(1) = -2 A(3) = 8 K = 6 ReDim Preserve A(K) Memoria A(K) = -1
Clase 6
RAM

0 A0 -2 A1 0 5 0 A2 8 0 A3 0 A4 0 A5 -1 A6 0
16

Ejemplo 1
Para un vector x de n elementos reales, hallar la suma, el promedio () y la desviacin estndar ().

(x
i =1

n 1
17

Clase 6

Definicin de variables
Datos de entrada:
N Xi Tamao del vector X Elemento i-simo del vector X

Ejemplo 1:

Datos de salida:
Suma Suma de los elementos del vector X Prom Promedio de los elementos del vector Desv Desviacin Estndar de los elementos del vector.
18

Clase 6

Ejemplo 1: Cdigo fuente


'Declaracin de variables Dim N As Integer, X() As Single, I As Integer Dim Suma As Single, Prom As Single, Desv As Single Dim Sum As Single 'Lectura de datos N = Val(InputBox("Ingrese el valor de N:")) ReDim X(1 To N) For I = 1 To N X(I) = Val(InputBox("X(" & I & ") =")) Next I

19

Clase 6

Ejemplo 1: Cdigo fuente


'Clculo de la Suma y Promedio Suma = 0 For I = 1 To N Suma = Suma + X(I) Next I If N > 0 Then Prom = Suma / N 'Clculo de la Desviacin Estndar Sum = 0 For I = 1 To N Sum = Sum + (X(I) Prom) ^ 2 Next I If N > 1 Then Desv = Sqr(Sum / (N 1))
20

Clase 6

Ejemplo 1: Cdigo fuente


'Mostrar resultados Text1.Text = "Vector Ledo:" & vbCrLf For I = 1 To N Text1.Text = Text1.Text & "X(" & I X(I) & vbCrLf Next I Text1.Text = Text1.Text & "Suma = " & Text1.Text = Text1.Text & "Prom = " & Text1.Text = Text1.Text & "Desv = " &

& ")= " & _

Suma & vbCrLf Prom & vbCrLf Desv & vbCrLf

21

Clase 6

Ejemplo 2
Realizar un algoritmo que permita sumar dos matrices de orden nxm.
a1,1 a 2,1 a3,1 ... a n,1 a1, 2 a 2, 2 a 3, 2 ... an, 2 ... ... ... ... ... a1,m b1,1 a 2,m b2,1 a3,m + b3,1 ... ... a n,m bn,1 b1, 2 b2, 2 b3, 2 ... bn, 2 ... ... ... ... ... b1,m c1,1 b2,m c2,1 b3,m = c3,1 ... ... bn,m cn,1 c1, 2 c2, 2 c 3, 2 ... cn, 2 ... ... ... ... ... c1,m c2,m c 3, m ... cn,m

22

Clase 6

Definicin de variables
Datos de entrada:
N M Ai,j Bi,j Ci,j Nmero de filas Nmero de columnas Elementos de la matriz A Elementos de la matriz B Elementos de la matriz C
23

Ejemplo 2:

Datos de salida:

Clase 6

Ejemplo 2: Algoritmo
Inicio Leer N, M I = 1, N, 1 J = 1, M, 1 Leer Ai,j, Bi,j I = 1, N, 1 J = 1, M, 1 Ci,j = Ai,j+Bi,j Mostrar C Terminar
24

Clase 6

Funcin LBound
Devuelve un tipo Long que contiene el subndice ms pequeo disponible para la dimensin indicada de un arreglo. Sintaxis:
LBound(nombreArreglo, dimension)

Requerido. Nombre del arreglo. dimensin: Opcional. Nmero entero que indica a qu dimensin corresponde el lmite inferior devuelto. Use 1 para la primera dimensin, 2 para la segunda y as sucesivamente. Si dimensin se omite, se supone que es 1.
25

nombreArreglo:

Clase 6

Funcin UBound
Devuelve un tipo Long que contiene el mayor subndice disponible para la dimensin indicada de un arreglo. Sintaxis:
UBound(nombreArreglo, dimension)

Requerido. Nombre del arreglo. dimensin: Opcional. Nmero entero que indica la dimensin cuyo lmite superior se devolver. Use 1 para la primera dimensin, 2 para la segunda y as sucesivamente. Si dimensin se omite, se supone que es 1.
26

nombreArreglo:

Clase 6

Funcin LBound y UBound


Dim A(1 To 100, 3, -3 To 4) As Integer Instruccin LBound(A) LBound(A, 1) LBound(A, 2) LBound(A, 3) UBound(A) UBound(A, 1) UBound(A, 2) UBound(A, 3) UBound(A, 4) Valor devuelto 1 1 0 -3 100 100 3 4 Error
27

Ejemplos:

Clase 6

Instruccin Erase
La instruccin Erase vuelve a inicializar (a su valor por defecto) los elementos de los arreglos estticos y elimina los arreglos dinmicos. Sintaxis: Erase nombreArreglo nombreArreglo: Requerido. Nombre del arreglo. nombreArreglo Antes de volver a utilizar un arreglo dinmico eliminado con la instruccin Erase, se debe volver a declarar las dimensiones del arreglo con la instruccin ReDim.
28

Clase 6

Tareas
Realizar un algoritmo para obtener el mayor y el menor valor de un vector A de n elementos enteros. Realizar un algoritmo para obtener el nmero de valores positivos, negativos y ceros de un vector W de m elementos enteros. Realizar un algoritmo que permita multiplicar dos matrices.
29

Clase 6

Algoritmos y Programacin Clase 6 segunda parte


Graficacin en Visual Basic:
Dibujar Puntos Dibujar Lneas Dibujar Circunferencias Dibujar Elipses Dibujar Texto
30

Visualizacin de grficos
VB permite visualizar grficos mediante:
El Formulario (Form) El control PictureBox La Impresora (Printer)

Tambin se puede utilizar controles especializados como Hojas de Excel, Microsoft Chart, etc.
31

Clase 6

Visualizacin de grficos
Ejemplo:

32

Clase 6

Caso de estudio: Cmo graficar una funcin?


Escribir un algoritmo que permita graficar la siguiente funcin f(x) con x[-1,2]:
1 1 f ( x) = + 6 2 2 ( x 0.3) + 0.01 ( x 0.9) + 0.04

33

Clase 6

Graficar una funcin: Procedimiento a seguir


Para graficar f(x) se define la funcin a travs de un subprograma. Escalar el PictureBox entre el mnimo y el mximo valor de la funcin en dicho intervalo. Dibujar, con una estructura repetitiva, pequeos trozos de lnea para simular la forma suave de la funcin, con x [-1,2] en pasos de 0.01
34

Clase 6

Graficar una funcin: Definir la funcin f(x)


En el objeto general del Formulario, definir la funcin de la siguiente forma: Public Function f(x As Single) As Single f = 1 / ((x - 0.3) ^ 2 + 0.01) + _ 1 / ((x - 0.9) ^ 2 + 0.04) - 6 End Function

35

Clase 6

Graficar una funcin: El programa para dibujar


Dim X As Single 'Escalar el PictureBox Picture1.Scale (-1, 100)-(2, -10) 'Dibujar los ejes X y Y Picture1.DrawWidth = 4 Picture1.Line (-1, 0)-(2, 0) 'Eje X Picture1.Line (0, 100)-(0, -10) 'Eje Y 'Dibujo de las lneas Picture1.DrawWidth = 1 For X = -1 To 2 Step 0.01 Picture1.Line (X, f(X))-(X + 0.01, f(X + 0.01)), _ vbBlue Next X 'Dibujar la ecuacin de la funcin f(x) 36 Picture1.PaintPicture Picture2.Picture, 0.5, 95 Clase 6

Graficar una funcin: La Interfaz

37

Clase 6

Graficar una funcin: La Interfaz con escala

38

Clase 6

Tareas
Graficar para una funcin f(x), los rectngulos resultantes al aplicarle el mtodo de integracin rectangular. Graficar la trayectoria (tiro parablico) de un proyectil que es disparado con una velocidad inicial V0=20 m/s y un ngulo =45. Considere, adems, la resistencia del aire.
V0

39

Clase 6

Clase 6 Anexo
Graficacin en Visual Basic:
Dibujar Puntos Dibujar Lneas Dibujar Circunferencias Dibujar Elipses Dibujar Texto
40

Graficar una funcin: Dibujar la escala


Es muy conveniente dibujar las escalas de los ejes en la graficacin de una funcin f(x).
Picture1.Font.Name = "Courier New" Picture1.Font.Size = 10 Picture1.Font.Bold = True For X = -1 To 2 Step 0.5 Picture1.Line (X, 0.75)-(X, -0.75), vbBlack Picture1.CurrentY = -0.75 Picture1.CurrentX = X - Picture1.TextWidth( _ Format(X, "0.0")) / 2 Picture1.Print Format(X, "0.0") Next X
41

Clase 6

Sistema de Coordenadas
El sistema de coordenadas es una cuadrcula bidimensional que define ubicaciones en la pantalla, en un formulario o en otro control. Las ubicaciones de esta cuadrcula se definen mediante las coordenadas del objeto: (X, Y)
42

Clase 6

Sistema de Coordenadas
El valor de X es la ubicacin del punto sobre el eje x, con la ubicacin predeterminada 0 en el extremo izquierdo y creciendo de izquierda a derecha. El valor de Y es la ubicacin del punto sobre el eje y, con la ubicacin predeterminada 0 en el extremo superior y creciendo de arriba hacia abajo.
43

Clase 6

Sistema de Coordenadas
(0, 0)

Propiedad Height

E j e Y

Objeto

+
Eje X Clase 6 Propiedad Width

(Width, Height) +

44

Sistema de Coordenadas
La propiedad ScaleMode permite definir la unidad de medida de las coordenadas de un objeto. La unidad de medida por defecto es twip. Un twip es 1/20 twip de punto de impresora (1.440 twips = 1 pulgada y 567 twips = 1 centmetro). Otras unidades de medida: Punto, Pxel, Centmetros, Milmetros, Pulgadas, etc. Estas medidas definen el tamao de un objeto cuando se imprime. Las distancias fsicas reales dentro de la pantalla varan de acuerdo con el tamao de la pantalla.
45

Clase 6

Modificar el Sistema de Coordenadas: Mtodo Scale


El mtodo Scale permite definir un sistema de coordenadas personalizado. La sintaxis es: objeto.Scale (x1,y1)-(x2,y2)
objeto x1, y1 x2, y2 Un objeto Form, PictureBox o Printer. Valores Single que indican las coordenadas horizontal (eje x) y vertical (eje y) que definen la esquina superior izquierda del objeto. Valores Single que indican las coordenadas horizontal (eje x) y vertical (eje y) que definen la 46 esquina inferior Clase 6 derecha del objeto.

Mtodo Scale
objeto.Scale (x1,y1)-(x2,y2)
(x1, y1)

Objeto

(x2, y2)
Clase 6

47

Mtodo Scale: Ejemplo


Picture1.Scale (-100,100)-(100,-100)
(-100, 100)
Centro relativo de coordenadas

Picture1

(0, 0)

(100, -100)
Clase 6

48

Mtodos Grficos
VB proporciona varios mtodos para la creacin de grficos: Cls: Borra todos los grficos y texto Cls Print: Presenta texto Print PSet: Establece el color de un pxel individual PSet Point: Devuelve el color de un punto especfico Point Line: Dibuja una lnea, un rectngulo o un cuadro relleno Line Circle: Dibuja un crculo, una elipse o un arco Circle PaintPicture: Dibuja grficos en ubicaciones arbitrarias PaintPicture

49

Clase 6

Propiedades Grficas
Las propiedades grficas son algunas propiedades que de una forma u otra actan en conjunto con los mtodos grficos: CurrentX: (Single) Devuelve o establece la coordenada CurrentX horizontal para el siguiente mtodo grfico o de impresin. No disponible en tiempo de diseo. CurrentY: (Single) Devuelve o establece la coordenada CurrentY vertical para el siguiente mtodo grfico o de impresin. No disponible en tiempo de diseo. AutoRedraw: (Boolean) Devuelve o establece el resultado AutoRedraw de un mtodo grfico como grfico persistente. Un grfico persistente es un grfico que no se borra cuando se 50 cubre con otra ventana.
Clase 6

Propiedades Grficas
DrawWidth: (1 a 32767) Devuelve o establece el ancho de DrawWidth lnea para el resultado de los mtodos grficos. El valor predeterminado es 1, es decir, un pxel de ancho. DrawStyle: (0 a 6) Devuelve o establece un valor que DrawStyle determina el estilo de lnea del resultado de mtodos grficos. Slo tiene efecto si DrawWidth = 1. Estilos:
Slido (vbSolid o 0): Raya (vbDash o 1): Punto (vbDot o 2): Raya-Punto (vbDashDot o 3): Raya-Punto-Punto (vbDashDotDot o 4): Transparente (vbInvisible o 5) y Interior Slido (vbInsideSolid o 6) 51 Clase 6

Propiedades Grficas
ForeColor: (Long) Devuelve o establece el color de ForeColor primer plano utilizado para mostrar texto y grficos en un objeto. FillColor: (Long) Devuelve o establece el color usado FillColor para llenar crculos y cuadros creados con los mtodos grficos Circle y Line. FillStyle: (0 a 7) Devuelve o establece el patrn usado FillStyle para llenar los crculos y los cuadros creados con los mtodos grficos Circle y Line.

52

Clase 6

Propiedades Grficas
Patrones propiedad FillStyle:
Slido (vbFSSolid o 0): Transparente (vbFSTransparent o 1): Lnea horizontal (vbHorizontalLine o 2): Lnea vertical (vbVerticalLine o 3): Diagonal hacia arriba (vbUpwardDiagonal o 4): Diagonal hacia abajo (vbDownwardDiagonal o 5): Cruz (vbCross o 6): Cruz diagonal (vbDiagonalCross o 7):

BackColor: (Long) Devuelve o establece el color de fondo BackColor de un objeto.


53

Clase 6

Mtodo Cls
Borra los grficos y el texto generados en tiempo de ejecucin de los controles Form o PictureBox. Sintaxis:

objeto.Cls objeto
Cls no borra los grficos y texto colocados mientras la propiedad AutoRedraw es True si AutoRedraw se establece a False antes de llamar a Cls. Para borrar todo Cls asigne Nothing a la propiedad Picture: Picture Set objeto.Picture = Nothing objeto Despus de llamar a Cls, las propiedades CurrentX y Cls 54 CurrentY del objeto se restablecen a 0.
Clase 6

Mtodo PSet
Establece un punto de un objeto Form, PictureBox o Printer a un color especificado. Sintaxis:

objeto.Pset (X,Y), color objeto


(X,Y): Requerido. Valores de tipo Single que indican las coordenadas del punto que se va a dibujar. Color: Opcional. Valor entero de tipo Long que indica el Color color especificado para el punto. Cuando se ejecuta PSet, las propiedades CurrentX y PSet CurrentY se establecen al punto especificado por los argumentos (X, Y).
Clase 6

55

Mtodo PSet: Ejemplo


Picture1.PSet (50,50), vbRed
(-100, 100)

Picture1

(100, -100)
Clase 6

56

Mtodo Point
Devuelve, como un valor de tipo Long, el color rojo-verdeazul (RGB) del punto especificado de un objeto Form o un control PictureBox. Sintaxis:

objeto.Point (X,Y) objeto


(X,Y): Requerido. Valores de tipo Single que indican las coordenadas del punto. Si el punto definido por las coordenadas X e Y est fuera del objeto, el mtodo Point devuelve -1.
57

Clase 6

Mtodo Line
Permite dibujar lneas y rectngulos. Sintaxis:

objeto.Line (X1,Y1)-(X2,Y2),color,BF objeto


(X1,Y1): Opcional. Coordenada del punto inicial para la (X1,Y1) lnea. Si se omite, la lnea empieza en la posicin indicada por CurrentX y CurrentY. CurrentY (X2,Y2): Requerido. Coordenada del punto final para la (X2,Y2) lnea. color: Opcional. Color de la lnea. Si se omite, se usar el color valor de la propiedad ForeColor. ForeColor
58

Clase 6

Mtodo Line
B: Opcional. Si se incluye, hace que se dibuje un cuadro usando las coordenadas para especificar las esquinas opuestas del cuadro. F: Opcional. La opcin F especifica que el cuadro se llena con el mismo color utilizado para dibujar el cuadro. No puede usar F sin B. Si se utiliza B sin F, el cuadro se llena con los valores actuales de FillColor y FillStyle. FillStyle Cuando se ejecuta Line, las propiedades CurrentX y Line CurrentY se establecen al punto final especificado por los argumentos (X2, Y2).
59

Clase 6

Mtodo Line: Ejemplo


Form1.Line (0,0)-(100,100),vbRed Form1.PSet (-100,0),vbBlue (-100, 100) Form1.Line -(0,0),vbGreen Form1.Line -(50,-50),vbBlack,B Form1.Line -(25,100),vbRed,BF Form1.FillStyle = vbFSSolid Form1.Line (-10,10)-(-50,50), _ vbBlack,B

(100, -60 100)

Clase 6

Mtodo Circle
Dibuja un crculo, una elipse o un arco en un objeto. Sintaxis:

objeto.Circle (X,Y),r,color,inic,fin,asp objeto


(X,Y): Requerido. Coordenada del punto central para el crculo, elipse o arco. r: Requerido. Radio del crculo, elipse o arco. color: Opcional. Color del contorno del crculo. Si se omite, color se usar el valor de la propiedad ForeColor. ForeColor inic: Opcional. Cuando se dibuja un arco o un crculo o una inic elipse parcial, inic especifica (en radianes) la posicin de inicio del arco. El intervalo es de -2 radianes a 2 radianes. El valor predeterminado para inic es 0 radianes. 61
Clase 6

Mtodo Circle
fin: Opcional. Cuando se dibuja un arco o un crculo o una fin elipse parcial, fin especifica (en radianes) la posicin de fin del arco. El intervalo es de -2 radianes a 2 radianes. El valor predeterminado para fin es 2 radianes. asp: Opcional. Indica la relacin entre el dimetro vertical y asp el dimetro horizontal. El valor predeterminado para asp es 1, lo que produce un crculo perfecto (no elptico). El mtodo Circle siempre dibuja en direccin contraria a las agujas del reloj (positiva).
62

Clase 6

Mtodo Circle
Cuando dibuja un crculo o una elipse parcial, si inic es negativo, Circle dibujar un radio hasta inic y tratar el ngulo como positivo; si fin es negativo, Circle dibujar un radio hasta fin y tratar el ngulo como positivo. Cuando se ejecuta Circle, las propiedades CurrentX y Circle CurrentY se establecen al punto central especificado por los argumentos (X, Y).

63

Clase 6

Mtodo Circle: Ejemplo


Form1.Circle (0,0),50,vbRed Form1.Circle (0,0),50,vbBlue,,,0.5 Form1.Cls (-100, 100) Form1.Circle (0,0),50,vbRed, _ 0, 3.1416 Form1.FillColor = vbYellow Form1.FillStyle = vbFSSolid Form1.Circle (0,0),25,vbRed, _ -0.000001, _ -1.5708

(100, -64 100)

Clase 6

Mtodo Print
Dibuja texto en un objeto Form, PictureBox o Printer. Sintaxis:

objeto.Print texto poscar objeto


texto: Opcional. Texto que se desea imprimir. texto poscar: Opcional. Especifica el punto de insercin del poscar carcter siguiente. Utilice un punto y coma (;) para situar el punto de insercin inmediatamente a continuacin del ltimo carcter mostrado. Utilice una coma (,) para situar el punto de insercin al principio de la siguiente zona de impresin (cada 14 columnas). Si se omite poscar, el carcter poscar siguiente se imprimir en la lnea siguiente. En cada siguiente lnea se restablece la propiedad CurrentX a 0.
65

Clase 6

Mtodo Print
El mtodo Print comienza a imprimir a partir del valor de las propiedades CurrentX y CurrentY. CurrentY De forma predeterminada, el mtodo Print imprime el texto y pasa a la lnea siguiente. Si no hay texto, Print simplemente salta una lnea. Despus de ejecutar el mtodo Print, las propiedades Print CurrentX y CurrentY cambian a la siguiente posicin de impresin (La siguiente posicin de impresin depende del tipo, tamao y estilo de la fuente utilizada en el objeto).
66

Clase 6

Mtodo Print: Ejemplo


Form1.Scale(-100,100)-(100,-100) Form1.Print "Visual Basic" Form1.Print (-100, 100) Form1.Print "Pi = "; Form1.Print 4*Atn(1) Form1.ForeColor = vbMagenta Form1.CurrentX = -100 Form1.CurrentY = 100 Form1.Print vbCrLf & "e=", _ 2.71828182845905 Form1.Cls Form1.Print "Hola"
e= 2.718281828

Hola Visual Basic Pi = 3.14159265358

(100, -67 100)

Clase 6

Mtodo TextHeight
Devuelve el alto de una cadena de texto tal y como se imprimira con la fuente actual de un objeto Form, PictureBox o Printer. Sintaxis:

objeto.TextHeight(texto) objeto
texto: Requerido. Una cadena para la que se quiere texto determinar el alto del texto. Debe ir entre parntesis. Si el texto contiene retornos de carro, TextHeight devuelve el alto de las lneas acumuladas, incluyendo el espacio que hay por encima y por debajo de cada lnea. TextHeight retorna un valor negativo si el eje Y aumenta de 68 abajo hacia arriba, de lo contrario, retorna un valor positivo. Clase 6

Mtodo TextWidth
Devuelve el ancho de una cadena de texto tal y como se imprimira con la fuente actual de un objeto Form, PictureBox o Printer. Sintaxis:

objeto.TextWidth(texto) objeto
texto: Requerido. Una cadena para la que se quiere texto determinar el ancho del texto. Debe ir entre parntesis. Si el texto contiene retornos de carro, TextWidth devuelve el ancho de la lnea ms larga. TextWidth retorna un valor negativo si el eje X aumenta de derecha a izquierda, de lo contrario, retorna un valor positivo. 69
Clase 6

Mtodo Print: Ejemplo 2


Form1.Scale(-100,100)-(100,-100) Form1.Font.Name = "Courier New" (-100, 100) Form1.Font.Size = 20 Form1.Font.Bold = True Msg = "ABCDEFG" Form1.Print Msg Form1.Cls X = -Form1.TextWidth(Msg)/2 Y = -Form1.TextHeight(Msg)/2 Form1.CurrentX = X Form1.CurrentY = Y Form1.Print Msg

ABCDEFG ABCDEFG

(100, -70 100)

Clase 6

Mtodo PaintPicture
Dibuja el contenido de un archivo grfico (.bmp, .wmf, .emf, .cur, .ico o .dib) en un objeto Form, PictureBox o Printer. Sintaxis:

objeto.PaintPicture imagen, x1, y1 objeto


imagen: Requerido. El origen del grfico que se va a imagen presentar en el objeto. Debe ser la propiedad Picture de un objeto Form o control PictureBox. PictureBox x1, y1: Requerido. Coordenada de destino del objeto. y1
71

Clase 6

Instruccin SavePicture
Guarda una imagen grfico en un archivo. Sintaxis:

SavePicture imagen, archivo


imagen: Requerido. La imagen que se desea guardar. Debe imagen ser la propiedad Picture Image de un objeto Form o control PictureBox. Para guardar el grfico producido por PictureBox los mtodos grficos se utiliza la propiedad Image del objeto archivo: Requerido. El nombre del archivo grfico. Puede archivo incluir la ruta. El grfico se guarda en formato BMP (Mapa de Bits).
72

Clase 6

Trabajar con Colores


Un color se representa mediante un entero de tipo Long y este valor tiene el mismo significado en todos los contextos en los que se especifica un color. Hay cuatro maneras de especificar un valor de color en tiempo de ejecucin: Usar la funcin RGB Usar la funcin QBColor Usar una de las constantes intrnsecas de VB Escribir un valor de color directamente (un nmero entre 0 y 16777215 (&HFFFFFF))
73

Clase 6

Funcin RGB
Devuelve un nmero entero tipo Long que representa un valor de color RGB. Sintaxis:

RGB(red, green, blue)


red: Requerido. Un nmero en el intervalo [0,255] que red representa el componente rojo del color. green: Requerido. Un nmero en el intervalo [0,255] que green representa el componente verde del color. blue: Requerido. Un nmero en el intervalo [0,255] que blue representa el componente azul del color.
74

Clase 6

Funcin QBColor
Devuelve un tipo Long que representa el cdigo de color RGB correspondiente al nmero de color especificado. Sintaxis: QBColor(num) num: Requerido. Un nmero en el intervalo [0,15] que representa un num
color segn la siguiente tabla: 0: Negro 6: Amarillo 1: Azul 7: Blanco 2: Verde 8: Gris 3: Aguamarina 9: Azul claro 4: Rojo 10: Verde claro 5: Fucsia 11: Aguamarina claro 12: Rojo claro 13: Fucsia claro 14: Amarillo claro 15: Blanco brillante

75

Clase 6

Constantes de Colores
VB define las siguientes constantes de colores: Constante Valor Color
vbBlack vbRed vbGreen vbYellow vbBlue vbMagenta vbCyan vbWhite 0 255 (&HFF) 65280 (&HFF00) 65535 (&HFFFF) 16711680 (&HFF0000) 16711935 (&HFF00FF) 16776960 (&HFFFF00) 16777215 (&HFFFFFF)
76

Clase 6

Vous aimerez peut-être aussi