Anda di halaman 1dari 11

COLEGIO NAIONAL DE EDUCACION PROFESIONAL TECNICA

PROF. J. REFUGIO ESPARZA REYES

MATERIA:
Programacin Orientada a Objetos
ALUMNA:
Martha Susana Moreno Anguiano
PROFESORA:
Yolanda Catalina Navarrete Beas
GRUPO: 410
CICLO ESCOLAR: 2016-2017
Tipos de datos en Visual Basic

1. String Datos que pueden tener texto o cualquier caracter.


2. Integer Datos que pueden tener cualquier nmero entero, o sea, no tiene punto
decimal. Puede tener valores desde 32,768 hasta 32,767.
3. Long integer Puede tener cualquier nmero entero, desde 2,147,483,648 hasta
2,147,483,647.
4. Single-precision (floating point) Nmero con un mximo de seis (6) lugares
decimales.
5. Double-precision (floating point) Nmero con un mximo de catorce (14) lugares
decimales.
6. Variant Puede tener cualquier tipo de datos, pues deja que Visual Basic encuentre
la mejor forma de guardar datos. Pos esa razn, toma ms memoria y hace los
programas ms lentos que si se usan los otros tipos de datos.
7. Currency Otro tipo de floating point. Puede tener valores desde 922 trillones
hasta 922 trillones.
8. Bolean Tiene solo los valores True (cierto) o False (falso).
9. Byte Tiene nmeros enteros desde 0 a 255.

Enunciados If (sintaxis Basic)


Otras versiones

La expresin if es una de las estructuras de control ms tiles. Le permite evaluar una


secuencia de enunciados si una condicin es verdadera o evaluar otra secuencia
distinta si no lo es.
Ejemplo
Una compaa tiene intenciones de pagar un bono del 4 por ciento a sus empleados
excepto para aquellos que trabajan en el departamento de ventas, que recibirn un 6
por ciento. La siguiente frmula usando una expresin if arrojara el siguiente
resultado:

If {Employee.Dept} = "Sales" Then


formula = {Employee.Salary} * 0.06
Else
formula = {Employee.Salary} * 0.04
End If

En este ejemplo, si la condicin {Employee.Dept} = "Sales" se evala como verdadera,


entonces la expresin
formula = {Employee.Salary} * 0.06

se procesa. De lo contrario, la expresin que sigue a Else, es decir,

formula = {Employee.Salary} * 0.04

ser el que se procese.


Supongamos que otra compaa desea dar a sus empleados un bono del 4%, pero con
un bono mnimo de 1.000 $. Observe que la clusula Else no se incluye; es opcional y
no se necesita en este caso.

formula = {Employee.Salary} * 0.04


If formula < 1000 Then
formula = 1000
End If

Supongamos ahora que la compaa anterior tambin desea un bono mximo de 5.000
$. Necesitar usar una clusula ElseIf. Observe que ElseIf es solo una palabra. El
siguiente ejemplo slo tiene una clusula ElseIf, pero puede agregar todas las que
necesite.

Enunciados Select (sintaxis Basic)


Otras versiones
La expresin Select es similar a la expresin if. Sin embargo, algunas veces es posible
escribir frmulas que sean claras y menos repetitivas con la expresin Select. Este
ejemplo evala el campo {Cliente.Fax} para determinar si el cdigo postal es del
estado de Washington (WA) (206, 360, 509) o de Colombia Britnica (BC), Canad (604,
250):

Select Case Left ({Customer.Fax}, 3)


Case "604", "250"
formula = "BC"
Case "206", "509", "360"
formula = "WA"
End Select

El enunciado inmediatamente despus de las palabras clave Select Case se denomina


condicin de seleccin. En el ejemplo anterior es Left ({Cliente.Fax}[1 To 3]). La
expresin Select intenta buscar el primer caso que coincida con la condicin de
seleccin y luego ejecuta los enunciados que lo siguen hasta el siguiente caso.

Dim areaCode As String


areaCode = Left ({Customer.Fax}, 3)
If areaCode In Array ("604", "250") Then
formula = "BC"
ElseIf areaCode In Array ("206", "509", "360") Then
formula = "WA"
End If

Esta frmula agrupa el nmero de nominaciones al Oscar recibidas por una pelcula en
categoras baja, media, alta o mxima y, en el proceso, muestra las posibilidades de
que la expresin liste las siguientes etiquetas de Case. Observe la clusula Case Else
opcional. Si ninguna de las listas de expresin Case coincide con las clusulas Case
precedentes, se asocia la clusula Case Else. Por ejemplo, en el siguiente ejemplo, si
{movie.NOM} es 11, entonces la frmula devuelve el valor "extreme".

Rem Select example 2


Select Case {movie.NOM}
Case 1,2,3, Is < 1
Rem Puede tener varios enunciados en los bloques de enunciados.
formula = "baja"
Case 4 To 6, 7, 8, 9
formula = "media"
Case 10
formula = "alta"
Case Else
formula = "mxima"
End Select

Ciclos For/Next (sintaxis Basic)


Otras versiones

Los ciclos For/Next le permiten evaluar una secuencia de enunciados varias veces. Esto
es diferente a los enunciados If y Select, donde el programa pasa por cada enunciado
al menos una vez durante la evaluacin de la frmula.

Los ciclos For/Next funcionan mejor cuando conoce de antemano la cantidad de veces
que es necesario evaluar un enunciado.

Sintaxis del ciclo For

Suponga que desea invertir la cadena {Cliente.Nombre del cliente}. Por ejemplo, la
compaa "City Cyclists" pasa a ser "stsilcyC ytiC".

formula = ""
Dim strLen
strLen = Len ({Customer.Customer Name})
Dim i
For i = 1 To strLen
Dim charPos
charPos = strLen - i + 1
formula = formula & _
Mid({Customer.Customer Name}, charPos, 1)
Next i
Examine cmo funciona esta frmula asumiendo que el valor actual del campo
{Customer.Customer Name} es "Clean Air". La variable strLen se asigna como longitud
de "Clean Air", es decir, 9. En este momento tambin se escribe para que sea una
variable numrica. La variable i se conoce como variable de contador ya que su valor
cambia con cada iteracin del ciclo For. Es decir, se usa para contar las iteraciones del
ciclo. El ciclo For se repetir 9 veces; la primera vez, i es 1, luego, i es 2, despus, i es 3
y as sucesivamente hasta que, finalmente, i es 9. Durante la primera repeticin, el
noveno carcter de {Customer.Customer Name} se anexa a la frmula de variable
especial vaca. Como resultado la frmula es igual a "r" despus de la primera
iteracin. Durante la segunda iteracin, el octavo carcter de {Customer.Customer
Name}se anexa a la frmula y de este modo la frmula es igual a "ri". Esto contina
hasta despus de la novena iteracin, la frmula es igual a "riA naelC", que es la
cadena invertida.

He aqu una versin ms simple de la frmula anterior, que usa una clusula Step con
un valor negativo de Step igual a -1. En el ejemplo de "Clean Air", i es 9 en la primera
repeticin, 8 en la segunda, 7 en la tercera y as sucesivamente hasta la repeticin
final, en la que es 1.

formula = ""
Dim i
For i = Len ({Customer.Customer Name}) To 1 Step -1
formula = formula + _
Mid({Customer.Customer Name}, i, 1)
Next i

La versin ms simple es usar la funcin incorporada StrReverse:

formula = StrReverse ({Customer.Customer Name})

Las funciones String integradas de Crystal Reports pueden administrar muchas de las
aplicaciones de procesamiento de cadenas que tradicionalmente seran administradas
mediante un ciclo For/Next o algn otro tipo de ciclo. Sin embargo, los ciclos For/Next
proporcionan la mayor flexibilidad y potencia en el procesamiento de cadenas y
matrices. Esto puede ser vital si las funciones incorporadas no cubren la aplicacin que
le interesa.
Ciclos For/Next (sintaxis Basic)
Otras versiones

Los ciclos For/Next le permiten evaluar una secuencia de enunciados varias veces. Esto
es diferente a los enunciados If y Select, donde el programa pasa por cada enunciado
al menos una vez durante la evaluacin de la frmula.

Los ciclos For/Next funcionan mejor cuando conoce de antemano la cantidad de veces
que es necesario evaluar un enunciado.

Sintaxis del ciclo For

Suponga que desea invertir la cadena {Cliente.Nombre del cliente}. Por ejemplo, la
compaa "City Cyclists" pasa a ser "stsilcyC ytiC".

formula = ""
Dim strLen
strLen = Len ({Customer.Customer Name})
Dim i
For i = 1 To strLen
Dim charPos
charPos = strLen - i + 1
formula = formula & _
Mid({Customer.Customer Name}, charPos, 1)
Next i

Examine cmo funciona esta frmula asumiendo que el valor actual del campo
{Customer.Customer Name} es "Clean Air". La variable strLen se asigna como longitud
de "Clean Air", es decir, 9. En este momento tambin se escribe para que sea una
variable numrica. La variable i se conoce como variable de contador ya que su valor
cambia con cada iteracin del ciclo For. Es decir, se usa para contar las iteraciones del
ciclo. El ciclo For se repetir 9 veces; la primera vez, i es 1, luego, i es 2, despus, i es 3
y as sucesivamente hasta que, finalmente, i es 9. Durante la primera repeticin, el
noveno carcter de {Customer.Customer Name} se anexa a la frmula de variable
especial vaca. Como resultado la frmula es igual a "r" despus de la primera
iteracin. Durante la segunda iteracin, el octavo carcter de {Customer.Customer
Name}se anexa a la frmula y de este modo la frmula es igual a "ri". Esto contina
hasta despus de la novena iteracin, la frmula es igual a "riA naelC", que es la
cadena invertida.

He aqu una versin ms simple de la frmula anterior, que usa una clusula Step con
un valor negativo de Step igual a -1. En el ejemplo de "Clean Air", i es 9 en la primera
repeticin, 8 en la segunda, 7 en la tercera y as sucesivamente hasta la repeticin
final, en la que es 1.
formula = ""
Dim i
For i = Len ({Customer.Customer Name}) To 1 Step -1
formula = formula + _
Mid({Customer.Customer Name}, i, 1)
Next i

La versin ms simple es usar la funcin incorporada StrReverse:

formula = StrReverse ({Customer.Customer Name})

Las funciones String integradas de Crystal Reports pueden administrar muchas de las
aplicaciones de procesamiento de cadenas que tradicionalmente seran administradas
mediante un ciclo For/Next o algn otro tipo de ciclo. Sin embargo, los ciclos For/Next
proporcionan la mayor flexibilidad y potencia en el procesamiento de cadenas y
matrices. Esto puede ser vital si las funciones incorporadas no cubren la aplicacin que
le interesa.

Ciclos Do (sintaxis Basic)


Otras versiones

Un ciclo Do se puede usar para ejecutar un bloque de enunciados fijo, una cantidad
infinita de veces.

4 tipos diferentes de ciclos Do

TIPO DE CICLO EXPLICACIN EJEMPLO


DO
Do While
condition
DO WHILE Do While ... Loop evala la condicin y si sta es statements
LOOP verdadera, entonces evala los enunciados que siguen a Loop
la condicin.

Al terminar de hacer esto, evala nuevamente la


condicin y si sta es verdadera, vuelve a evaluar los
enunciados.

Contina repitiendo este proceso hasta que la condicin


sea falsa.
DO UNTIL ... Do Until
LOOP condition
Do Until ... Loop es similar a Do While ... Loop con la statements
Loop
excepcin de que sigue evaluando los enunciados hasta
que la condicin es verdadera en vez de que mientras sea
verdadera.
DO ... LOOP Do
WHILE statements
Do ... Loop While evala los enunciados solamente una Loop While
vez. condition

Luego evala la condicin y si sta es verdadera, evala


nuevamente los enunciados. Este proceso contina hasta
que la condicin sea falsa.
DO ... LOOP Do
UNTIL statements
Similar a Do ... Loop While excepto que evala los Loop Until
enunciados hasta que la condicin sea verdadera. condition

NOTA

LOS CICLOS DO ADMITEN UN ENUNCIADO EXIT DO PARA SALIR


INMEDIATAMENTE DEL CICLO. LA EXPRESIN EXIT DO ES SIMILAR A EXIT
FOR EN LOS CICLOS FOR/NEXT.

Ejemplo de frmula Do While ... Loop

El siguiente ejemplo busca la primera repeticin de un dgito en una cadena de


entrada. Si encuentra un dgito, devuelve su posicin; de lo contrario, devuelve -1. En
este caso, la cadena de entrada se establece explcitamente en una constante de
cadena, pero podra establecerse igualmente en un campo de base de datos de tipo de
cadena.

Por ejemplo, para la cadena de entrada, "The 7 Dwarves", la frmula devuelve 5, que
es la posicin del dgito 7.

Dim inString
inString = "The 7 Dwarves"
Dim i, strLen
i = 1
strLen = Len (inString)
formula = -1
Do While i <= strLen And formula = -1
Dim c As String
c = Mid (inString, i, 1)
If IsNumeric (c) Then formula = i
i = i + 1
Loop
Ciclos While (sintaxis Basic)
Otras versiones
El ciclo While es similar a Do While ... Loop, con la excepcin de que no admite un
enunciado Exit. Como sintaxis utiliza While ... Wend en vez de Do While ... Loop.

While condition
statements
Wend

Evitar ciclos infinitos (sintaxis


Basic)
Otras versiones
Existe un mecanismo de seguridad para evitar que el procesamiento de informes
quede bloqueado debido a un ciclo infinito. Toda evaluacin de una frmula puede
tener como mximo 100.000 evaluaciones de condicin de ciclo por evaluacin de
frmula. Por ejemplo:

Dim i
i = 1
Do While i <= 200000
If i > {movie.STARS} Then Exit Do
i = i + 1
Loop
formula = 20

Si {movie.STARS} es mayor que 100.000 entonces la condicin de ciclo (i <= 200000)


se evaluar ms que el nmero mximo de veces y se mostrar un mensaje de error.
En caso contrario, el ciclo es correcto.

Nota

El mecanismo de seguridad se aplica por frmula y no por cada ciclo individual. Por
ejemplo:

Dim i
i = 1
For i = 1 To 40000
formula = Sin (i)
Next i
Do While i <= 70000
i = i + 1
Loop
La frmula anterior tambin activa el mecanismo de seguridad ya que 100.000 se
refiere al nmero total de evaluaciones de condicin de ciclo de la frmula y sta
tendr 40001 +70001 de tales evaluaciones.
Operadores de comparacin y lgicos

En Visual Basic existen 6 operadores para realizar comparaciones entre valores:

Operador Descripcin

< Menor que

<= Menor o igual a

> Mayor que

>= Mayor o igual a

= Igual

<> No Igual o Diferente

Operadores Lgicos

Cuando Visual Basic compara 2 expresiones, regresa uno de dos valores


posibles: True o False, pero Visual Basic no entiende True o False por lo que utiliza
valores numricos para representarlos, Trueo False son valores booleanos
donde 0 es False y 1 es True.

En Visual Basic existen 6 operadores lgicos:

Operador Descripcin

And Cuando ambas expresiones son verdaderas

Or Evalua una de dos expresiones

Not Niega una expresin

La expresin completa se considera verdadera, si las 2


Xor expresiones evaluadas no son verdaderas o ambas son
falsas
Ambas expresiones debe ser verdaderas o falsas para
Eqv
evaluar la expresin completa como verdadera

La expresin completa es verdadera excepto cuando la


Imp primer expresin es verdadera y la segunda expresin es
falsa

Anda mungkin juga menyukai