border

Miembros:
Mensajes:
Temas:
Online:

Ultimo Miembro:

 
 

Cuenta Bancaria en EEUU
  #1 (permalink)  
Antiguo 04-12-2004, 01:25:13
Gran Participación en el Foro
 
Registrado: sep 2004
Posts: 119
Cblackx Valoración +2
Predeterminado Tipos de Datos

Como es el tema de los tipos de datos?, lei en el manual que se encuentra en este sitio que existen 2 tipos (valor y referencia) los cuales se encuentran dentro de clases.
Me pueden explicar un poco como es el tema, ya que estoy migrando de VB6 y esto no lo conocia.
Responder Con Cita
  #2 (permalink)  
Antiguo 08-12-2004, 13:30:29
Avatar de imported_chiaravel
Administrator
 
Registrado: dic 2002
Ubicación: Buenos Aires - Argentina
Posts: 2.281
imported_chiaravel Valoración +2
Predeterminado

Hola... Estas mezclando un poco los conceptos..

A ver...

Tipo de Datos habla de datos de tipo INTEGER, DECIMAL (Long no existe en .NET y Currency Tampoco), STRING, BOOLEAN, etc, etc.

Cuando tu mencionas ByVal o ByRef, te estas refiriendo a los 2 tipos de Parámetros que puedes pasar a una Funcion o a un Sub.

Ejemplo...

Código:
Public Sub MiRutina(ByVal a as string, ByRef b as boolean)

End Sub
Es muy facil... cuando tu llamas al Sub le deberás paras 2 parámetros..(Siguiendo el ejemplo anterior) del cual del primer parámetro solo pasarás el valor y del segundo solo pasarás la dirección de memoria donde se aloja la variable original.

Esto permitirá que cada modificación que hagas en el parámetro b realmente modifique tu valor original.

Pero como un ejemplo vale mucho mas que mil teorias... aqui va...

Primero crearemos un Sub de Ejemplo...

Código:
Public Sub JuegoConParametros(ByVal par1 as string, ByRef par2 as String)
          Par1=Par1 & "pepe"
          Par2=Par2 & "Jose"
End Sub
Muy bien... ya tenemos nuestra Rutina que recibe 2 parametros e internamente les concatena un nombre...

Ahora vamos por nuestra rutina que llama a JuegoConParametros

Código:
Public Sub MiRutina()
Dim texto1, texto2 as String

Texto1="Hola "
Texto2="Hola "
JuegoConParametros(Texto1, Texto2)
messagebox.show("Ahora Texto1 contiene "&texto1)
messagebox.show("Ahora Texto2 contiene "&texto2)

End Sub
Si ejecutas este codigo veras como Texto1 contiene "Hola " y Texto2 contiene "Hola Jose"

Porque hizo esto ? porque al pasar a Texto1 como ByVal solo has pasado su valor "Hola " pero en el caso de Texto2 has pasado su referencia.. o sea... no has pasado su valor.. sino un puntero hacia la variable original, lo que hace que cualquier modificación que se realice en ese parámetro estará afectando a la variable u objeto original que haz pasado por parámetro.

Espero que hayas logrado comprender la diferencia entre ByVal y ByRef.

Mucha Suerte
Responder Con Cita
  #3 (permalink)  
Antiguo 09-12-2004, 15:35:37
Moderador
 
Registrado: dic 2002
Ubicación: Oviedo - Asturias
Posts: 1.251
angelescj Valoración +2
Predeterminado

Siento disentir con Pablo, pero el tipo de datos Long, sí existe en Visual Basic .NET, en VB se llama igual, y en la plataforma es el tipo System.Int64, los que han desaparecido son Varian y Currency.
Respecto a tu pregunta, creo que te refieres a lo que almacenan esas variables, y sí, en .NET se clasifican la variables en función de lo que almacenan:
a) Un valor==> Los tipod de datos básicos y las estructuras.
b) Una referencia==> La dirección de memoria en la que se encuentra el valor. Aquí se incluyen los arrays, los objetos...

__________________
Angeles
-------------------------------------
Visual Basic
Videos Programacion
Foro Programacion
Tutoriales Programacion
Responder Con Cita
  #4 (permalink)  
Antiguo 09-12-2004, 15:42:09
Avatar de imported_chiaravel
Administrator
 
Registrado: dic 2002
Ubicación: Buenos Aires - Argentina
Posts: 2.281
imported_chiaravel Valoración +2
Predeterminado

Tienes razon amiga Angeles.. todavia .NET mantiene al dato de tipo LONG, pero como en los cursos de Microsoft ellos se encargan de recomendar el uso del dato de tipo DECIMAL, para reemplazar el dato de tipo LONG yo asumi que no estaba.

El tema, al parecer es que lo mantiene por una cuestion de Compatibilidad con la version 6.00, es por eso que recomiendan el uso del Decimal.

Es como la funcion MSGBOX que si bien sigue estando.. recomiendan el uso de la nueva MESSAGEBOX.SHOW.

Un beso y disculpas por el error.
Responder Con Cita
  #5 (permalink)  
Antiguo 09-12-2004, 18:01:07
Gran Participación en el Foro
 
Registrado: sep 2004
Posts: 119
Cblackx Valoración +2
Predeterminado

Gracias a todos por sus respuestas. Me resulto muy util.
Responder Con Cita
Respuesta


Herramientas
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Trackbacks are habilitado
Pingbacks are habilitado
Refbacks are habilitado


Temas Similares
Tema Autor Foro Respuestas Último Mensaje
tipos de datos no coinciden educion Visual Basic 6.00 11 21-05-2006 20:05:37
tipos de datos no coinciden educion Visual Basic 6.00 1 19-05-2006 10:20:15
Tipos de datos j Visual Basic 6.00 1 24-04-2005 23:50:09
Tipos de datos en INSERT INTO HurryCrack Visual Basic 6.00 7 18-02-2005 21:16:02
Tipos de Datos imported_HurryCrack Visual Basic 6.00 1 20-01-2005 16:47:35


La franja horaria es GMT. Ahora son las 19:41:32.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO 3.1.0
A vBSkinworks Design

Alojado en el servicio Premium de Masquewebs | Diseño mejorado por MasqueWebs

right