Los foros del Guille

Si no encuentras respuesta, puedes buscar en el sitio del Guille

Google
 

MKN Reservas (Maro - Kayak Nerja)


Kayak Maro - Rutas y alquiler de kayak y tabla
Selecciona el foro y pulsa en mostrar:     Mostrar 
De tu inter�s (algunos de los avisos publicados)

01/feb./2019

Los moderadores, MVP y administradores podrán seguir editando, respondiendo o creando nuevos mensajes

Con idea de que puedan ayudar a responder e ir cerrando mensajes ;-)

  Foro: .NET VB Cantidad:  Desde:   Hasta:    Aplicar   Responder 
Respuestas a: 57467 - Matriz de variables
IDAsuntoFechaNick 
57467 Matriz de variables29/01/14 12:10jjthetower   
Hola a todos,

Soy nuevo por aqui pero este blog y estos foros me parecen interesantisimos.

Actualmente me estoy iniciando en la programación en Visual Basic 2008. Mi problema es que quiero generar una matriz de variables booleanas y que pueda llamar a cada elemento por un nombre en vez del indice.
La matriz (entrada) contendrá variables booleanas (X0, X1, X0,....)

Para poner todos los valores a 1 haría
For i = 0 To UBound(entrada)
Entrada(i) = 1
next

Y para querer leer por ejemplo el segundo valor quiero poder hacer:
Textbox1.text = X1


Como podría hacer todo esto??

Muchas gracias
IDAsuntoFechaNick 
57481 Re: Matriz de variables (Resp: 57467)10/02/14 21:34Pipe[hgjfkdls]   
Hola nuevo integrante,

si trabajas sobre la plataforma .Net, te recomiendo usar el espacio de nombre (namespace)System.Collections.Generic, en este espacio de nombre encontraras una clase de objeto muy útil a la hora de etiquetar listas o matrices con cualquier tipo de objetos...

Dictionary te da la posibilidad de hacer lo que tienes en mente...

un ejemplo:

Dictionary<string, bool> myList=new
     Dictionary<string, bool>();
for(int i=0;i<10;i++)
{
    myList.Add(String.Format("X{0}",i),true)
}

En este pequeño código declaro un objeto tipo Dictionary que mediante una clave tipo string, etiqueta una variable tipo bolean (en este caso solo valores verdaderos), para acceder a los miembros guardados tendríamos lo siguiente:

for(int i=0;i<10;i++)
{
    Console.WriteLine(myList["X{0}"]);
}

Saludos,

Pipe [hgjfkdls]
[Editado: Pipe[hgjfkdls], 10/02/2014 21:35:31]


Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias.
IDAsuntoFechaNick 
57542 Re: Matriz de variables (Resp: 57467)18/03/14 19:44jjthetower   
Muchas gracias Pipe!!!

Tu información me ha sido muy valiosa. Disculpa no haberte contestado y agradecido antes pero he estado muy liado en el trabajo y he tenido un poco paralizado el proyecto.
He realizado un pequeño proyecto en el cual existen 4 cajas de texto, un botón para inicializar la cadena y dos botones que cambian el estado de las dos primeras cajas de texto. El código es el siguiente:

Public Class Form1

Dim entradas As New Dictionary(Of String, Boolean)

Public Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If entradas("X0") = False Then
entradas("X0") = True
ElseIf entradas("X0") = True Then
entradas("X0") = False
End If

TextBox1.Text = entradas("X0")
TextBox2.Text = entradas("X1")


End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
If entradas("X1") = False Then
entradas("X1") = True
ElseIf entradas("X1") = True Then
entradas("X1") = False
End If

TextBox2.Text = entradas("X1")
End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Dim i As Integer

For i = 0 To 10
entradas.Add(String.Format("X{0}", i), False)

Next

TextBox1.Text = entradas("X0")
TextBox2.Text = entradas("X1")
TextBox3.Text = entradas("X2")
TextBox4.Text = entradas("X3")
End Sub
End Class


Si tienes alguna duda ya me lo indicaras.

Un saludo y muchas gracias de nuevo


Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias.
IDAsuntoFechaNick 
57555 Re: Matriz de variables (Resp: 57467)30/03/14 10:06jjthetower   
Buenos días,

Ya he probado las instrucciones que me indicaste y funcionan perfectamente. El único problema es que tengo varios subprocesos con la instrucción Background Worker y en alguna ocasión la colección me da un error de que ha sido modificada. Os puedo enviar una imagen con el error.

Sabéis como se puede evitar que de ese error?

Muchas gracias



Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias.

 
(c) Guillermo 'guille' Som, 2005-2024  - foros.elGuille v1.0.6.3 (01/Jun/2021 12:45 GMT +2)  - (ASP.NET v4.0.30319.42000)
 
La hora GMT del servidor es: 21/11/2024 09:46:26 GMT