UNIDAD 3: VISUAL BASIC ARREGLOS

TEMA 4: ARREGLOS TIPO TABLA VISUAL BASIC NET

En visual basic net un arreglo tipo tabla se define como un conjunto de datos del mismo tipo organizados en dos o mas columnas y uno o mas renglones.

Para procesar ( recordar solo operaciones y comparaciones) internamente todos los elementos de la tabla se ocupan dos ciclos for(), uno externo para controlar renglon y uno interno para controlar columna.

Los elementos de la tabla se deberan simbolizar con el nombre de la tabla y 2 subindices, el primer subindice referencia al renglon y el siguiente subindice referencia la columna los dos dentro del mismo corchete.

La declaracion de una tabla sera de acuerdo al siguiente formato:

SHARED DIM NOMTABLA(RENG-1,COL-1) AS TIPODATO

Ej: SHARED DIM SUELDO(3,4) AS DOUBLE ← RECORDAR QUE VA A GENERAR UNA MATRIZ QUE TENDRA CUATRO RENGLONES Y CINCO COLUMNAS EMPIEZA EN SUELDO(0,0)

Para capturar sus elementos, usaremos un webcontrol textbox y un button de captura, solo tener cuidado o mucho control sobre los indices ren y col como lo muestra el ejemplo.

Para efectuar otros procesos tales como operaciones, despliegue con todos los elementos de la tabla se deberan usar 2 ciclos, un for externo para controlar renglon y un for interno para controlar columna.

Prog17.aspx

<HTML>
<FORM RUNAT=SERVER>
Ren<ASP:TEXTBOX ID=REN SIZE=2 VALUE=0 RUNAT=SERVER/>
Col<ASP:TEXTBOX ID=COL SIZE=2 VALUE=0 RUNAT=SERVER/><BR>
DAME CALIF<ASP:TEXTBOX ID=CAL SIZE=10 RUNAT=SERVER/>
<ASP:BUTTON TEXT=CARGAR ONCLICK=CARGAR RUNAT=SERVER/><BR>
<ASP:BUTTON TEXT=PROCESAR ONCLICK=PROCESO RUNAT=SERVER/><BR>
</FORM></HTML>
<SCRIPT LANGUAGE=VB RUNAT=SERVER>
' DECLARANDO LISTA GLOBAL
SHARED DIM CALIF(1,2) AS INTEGER
' RECORDAR REALMENTE SON 2 RENGLONES Y TRES COLUMNAS
SUB CARGAR(Sender As Object, E As EventArgs)
CALIF(REN.TEXT,COL.TEXT)=CAL.TEXT
COL.TEXT=COL.TEXT + 1
CAL.TEXT=""
IF COL.TEXT = 3 THEN
REN.TEXT=REN.TEXT+1
COL.TEXT=0
END IF
IF REN.TEXT=2 THEN
CAL.TEXT="YAAAAAA"
' en lugar de yaaaa usar ren.visible=false (esto de tarea)
END IF
END SUB
SUB PROCESO(Sender As Object, E As EventArgs)
' PROCESANDO Y REGALANDO 10 PUNTOS A TODOS
DIM R,C AS INTEGER
FOR R=0 TO 1
FOR C=0 TO 2
CALIF(R,C)=CALIF(R,C)+10
NEXT C
NEXT R
' DESPLEGANDO USANDO OBJETO RESPONSE DEL ADO VIEJO
FOR R=0 TO 1
FOR C=0 TO 2
RESPONSE.WRITE(CALIF(R,C)& "..")
NEXT C
RESPONSE.WRITE("<BR>")
NEXT R
END SUB
</SCRIPT>

Notas:

Observar el formato de declaracion en visual basic net y como se controlan los indices de captura reng, col.

Para procesar los elementos se usan dos ciclos for y el formato tabla (reng,col).

Recordar que un programa visual basic NET es un conjunto de objetos de diferente fuente interactuando entre si, en este problema se uso el objeto RESPONSE y su metodo WRITE, este RESPONSE es un objeto que proviene de ASP(ACTIVE SERVER PAGES) viejo, realmente se debio haber pasado nuestro arreglo a un componente table de html o de htmlcontrols pero eso es de tarea.

Ustedes sin embargo deberan usar tres webcontrols listbox para hacer el despliegue(lo que esta permitido al maestro no esta permitido al alumno).

Observar que no se ocupo al final poner en cero las variables de control (reng, col) porque:

a) Se estan al principio cargando de las cajas de texto ren, col

b) Estas cajas de texto si se pusieron en 0(cero) en una de las intrucciones if.

ASP es una libreria de objetos hecha por Microsoft y contiene siete objetos muy utiles para el trabajo con paginas html, consultar el apendice al final de esta unidad donde se incluye el apendice ASP viejo.

Corrida prog17.aspx

image348.jpg

TAREAS VISUAL BASIC NET

1.- CONSTRUIR UN CUADRO QUE CONTENGA LOS COSTOS FIJOS DE CUATRO MERCANCIAS CUALESQUIERA, QUE SE PRODUCEN EN TRES PLANTAS DIFERENTES DE UNA EMPRESA MAQUILADORA ( aspx ).

2.- CONSTRUIR UN CUADRO QUE CONTENGA LOS INGRESOS MENSUALES POR VENTAS DURANTE LOS TRES PRIMEROS MESES DEL ANO DE CUATRO SUCURSALES DE UNA CADENA DE AUTOREFACCIONES, AGREGAR AL FINAL UNA LISTA QUE MUESTRE LOS INGRESOS MENSUALES TOTALES POR MESES Y UNA SEGUNDA LISTA QUE MUESTRE LOS INGRESOS MENSUALES TOTALES POR SUCURSAL( vb ).

3.-CONSTRUIR UN CUADRO QUE CONTENGA LAS COMISIONES GANADAS POR TRES VENDEDORES, DE LOS 5 TIPOS DE LINEA BLANCA DE CONOCIDA MUEBLERIA, ADEMAS LISTAS DE COMISIONES TOTALES Y PROMEDIOS GANADAS POR LOS VENDEDORES, ASI COMO LISTAS DE COMISIONES TOTALES Y PROMEDIOS POR TIPO DE LINEA BLANCA( aspx ).

ANALIZAR ESTE CODIGO:

' PARA TOTALES Y PROMEDIOS POR RENGLON
FOR R = 0 TO 3
FOR C = 0 TO 2
TOTRENG(R) = TOTRENG(R) + TABLA(R,C)
NEXT C
PROMRENG(R) = TOTRENG(R)/3
NEXT R
'PARA TOTALES Y PROMEDIOS POR COLUMNA
FOR C = 0 TO 2
FOR R = 0 TO 3
TOTCOL(C)=TOTCOL(C) + TABLA(R,C)
NEXT R
PROMCOL(C) = TOTCOL(C) / 4
NEXT C

SUGERENCIA: PARA VISUAL BASIC NET CONSTRUIR PRIMERO LOS CUADROS EN PAPEL.

Politica de Privacidad