Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Crear matriz con cadena como índice,como?

Estas en el tema de Crear matriz con cadena como índice,como? en el foro de Visual Basic clásico en Foros del Web. Como creo una matriz donde el índice sea una cadena? por ejemplo, variable("pepe"), variable("pablo") ,etc.... se puede hacer eso?...
  #1 (permalink)  
Antiguo 02/04/2008, 04:04
 
Fecha de Ingreso: julio-2007
Ubicación: Delante del PC (Barcelona
Mensajes: 157
Antigüedad: 16 años, 9 meses
Puntos: 2
Crear matriz con cadena como índice,como?

Como creo una matriz donde el índice sea una cadena?

por ejemplo, variable("pepe"), variable("pablo") ,etc.... se puede hacer eso?
  #2 (permalink)  
Antiguo 02/04/2008, 05:43
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Re: Crear matriz con cadena como índice,como?

En una matriz los índices son eso, índices (el número de elementos que contiene la matriz de cero, ó uno a n... ) por lo tanto, siempre numéricos.

Lo que puedes hacer es asignar a cada índice el valor de una cadena (si has declarado la matriz como String):

variable(0) = "pepe"
  #3 (permalink)  
Antiguo 02/04/2008, 13:03
Avatar de seba123neo  
Fecha de Ingreso: febrero-2007
Ubicación: Esperanza, Santa Fe
Mensajes: 1.046
Antigüedad: 17 años, 2 meses
Puntos: 19
Re: Crear matriz con cadena como índice,como?

Hola,si algo asi:

Código:
Private Sub Form_Load()
Dim matriz() As String
Dim datos As String
matriz = Split("seba-pablo-pepe-", "-")
For i = 0 To UBound(matriz)
MsgBox matriz(i)
Next
End Sub
saludos.
__________________
" Todos Somos Ignorantes; lo que pasa es que no todos ignoramos las mismas cosas " - Albert Einstein
  #4 (permalink)  
Antiguo 02/04/2008, 13:39
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Re: Crear matriz con cadena como índice,como?

Me parece que eso no es lo que está preguntando, el índice sigue siendo un valor numérico y en tu mismo ejemplo lo explicas

MsgBox matriz(i)

que supongo (aunque no lo pones en el código) que la variable "i" la habrás declarado como integer o Long, es decir. numérica.
  #5 (permalink)  
Antiguo 02/04/2008, 13:50
Avatar de seba123neo  
Fecha de Ingreso: febrero-2007
Ubicación: Esperanza, Santa Fe
Mensajes: 1.046
Antigüedad: 17 años, 2 meses
Puntos: 19
Re: Crear matriz con cadena como índice,como?

puse ese codigo para explicarle a extrem_bcn como vos lo estabas explicando ,ponerle a cada elemento de la matriz un valor string y mostrarlo a travez del index integer...

saludos.
__________________
" Todos Somos Ignorantes; lo que pasa es que no todos ignoramos las mismas cosas " - Albert Einstein
  #6 (permalink)  
Antiguo 03/04/2008, 01:32
 
Fecha de Ingreso: julio-2007
Ubicación: Delante del PC (Barcelona
Mensajes: 157
Antigüedad: 16 años, 9 meses
Puntos: 2
Re: Crear matriz con cadena como índice,como?

muchas gracias a los dos por responder, pero... yo lo que quiero es que el INDICE sea un string, es decir algo así:

dim matriz() as string

matriz("cadena1") = "prueba"
matriz("cadena2") = "Prueba2"
etc...

Me explico? Creo que no se puede... es que me acuerdo (vagamente) que en PHP si se podia... y me preguntaba si aquí se podia.

Gracias!
  #7 (permalink)  
Antiguo 03/04/2008, 09:54
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Exclamación Re: Crear matriz con cadena como índice,como?

Cita:
Iniciado por extrem_bcn Ver Mensaje
muchas gracias a los dos por responder, pero... yo lo que quiero es que el INDICE sea un string, es decir algo así:

dim matriz() as string

matriz("cadena1") = "prueba"
matriz("cadena2") = "Prueba2"
etc...

Me explico? Creo que no se puede... es que me acuerdo (vagamente) que en PHP si se podia... y me preguntaba si aquí se podia.

Gracias!
No, así como ya te explicaron los demás usuarios. No se puede.
Pero, me pregunto, ¿qué utilidad tendría eso? (Tal vez si explicaras eso, alguien puede ayudarte )
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #8 (permalink)  
Antiguo 04/04/2008, 00:35
 
Fecha de Ingreso: julio-2007
Ubicación: Delante del PC (Barcelona
Mensajes: 157
Antigüedad: 16 años, 9 meses
Puntos: 2
Re: Crear matriz con cadena como índice,como?

Cita:
Iniciado por David el Grande Ver Mensaje
No, así como ya te explicaron los demás usuarios. No se puede.
Pero, me pregunto, ¿qué utilidad tendría eso? (Tal vez si explicaras eso, alguien puede ayudarte )
Pues queria para lo siguiente:
Imaginate tienes una tabla con DNI's y importes (se pueden repetir los DNI's)
miro el primer registro y lo añado a la matriz teniendo como indice su DNI, si ya existiera se sumaria a la cantidad que tubiera, sino crearia un nuevo elemento y así suscesivamente, se entiende?

Alguna idea?
Gracias!
  #9 (permalink)  
Antiguo 04/04/2008, 00:51
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Re: Crear matriz con cadena como índice,como?

Cita:
Iniciado por extrem_bcn Ver Mensaje
Pues queria para lo siguiente:
Imaginate tienes una tabla con DNI's y importes (se pueden repetir los DNI's)
miro el primer registro y lo añado a la matriz teniendo como indice su DNI, si ya existiera se sumaria a la cantidad que tubiera, sino crearia un nuevo elemento y así suscesivamente, se entiende?

Alguna idea?
Gracias!
Pregunta:
Para hacer eso, no sería mejor una consulta a la tabla del tipo

Select DNI, Sum(importe) From LaTabla... ?

Un saludo
  #10 (permalink)  
Antiguo 05/04/2008, 09:52
Avatar de jcasillase  
Fecha de Ingreso: febrero-2008
Mensajes: 7
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: Crear matriz con cadena como índice,como?

Definitivamente en la programacion casi todo es posible.

Lo que se me ocurre es esto... (De cualquier forma no te salvas de manejar un indice numerico) pero creo que es lo mas parecido a lo que buscas.

crea tu matriz con 2 elementos (segun veo tu necesidad)...

En el primer elemento pondras la cadena que tu quieres, y en el segundo, el valor numerico o lo que se te antoje.

El problema es la forma de verificar si existe el elemento que buscas, ya que tendras que hacer un barrido secuencial desde el inicio de tu matriz hasta el final para determinar en que posicion esta ese elemento.

Por otro lado... una matriz funciona diferente que una tabla... ojo con eso....

Si lo encuentras, tendras que checar la posicion en la que se encuentra el elemento dentro de la matriz... si no lo encuentras... es un elemento nuevo que hay que agregar a la matriz....
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:38.