Obtener caracteres de una Cadena VB.NET

Iniciado por NetStorm, 19 Diciembre 2009, 01:36 AM

0 Miembros y 1 Visitante están viendo este tema.

NetStorm

Hola muchachos, sé que mi pregunta parece un tanto nob, pero estoy trabajando con VB.NET conectao a una base de datos en access y necesito leer o separar cada caracter de una cadena "D01" y cada carácter almacenarlo en una variable para luego hacer algunas comprobaciones... he pensado hacerlo algo así

Public valores(2) as string
Public texto as string = ""
texto="Ejmplo"

for i = 1 to Len(texto)
'Aquí iria la función que recorra cada carácter y la guarde en un array de tipo string
valores(i - 1) = valor obtenido
if IsNumeric() then
msgbox("Es número")
else
msgbox("No es número")
next


Bueno esa es la idea, si se pudiera guardar los valores en un array sería fantástico, haber que consejos me daís... Feliz Navidad y Buen Año Nuevo Para Todos!!! ... SALUD!!!

P.D. Molan los nuevos "emoticons" de el foro.  ::)

elmaro

Si el dato tiene siempre el mismo formato de 3 caracteres, podrías usar esto:

        Dim Cadena = "D01"
        Dim Caracteres As New ArrayList

        Caracteres.AddRange(Cadena.ToCharArray)

        'Caracteres(0) contiene D
        'Caracteres(1) contiene 0
        'Caracteres(2) contiene 1


Saludos

NetStorm

Vale tío ya estaba liandome con lo de MID() jajaja, aunque las dos formas estan simpáticas la tuya está sencilla y muy servicial, algo asi como un ... "Conectar y usar"  ;D

seba123neo

lo que te paso elmaroes propio de .NET, en cambio tu codigo es como si estarias programando en visual basic 6.
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

NetStorm

Intentaba hacer una comparación, aquí el código y me dijo que no podía hacer comparaciones con operadores de comparación, asi que tuve que hacerlo con MID jajaja, de todos modos he aprendido eso de los ArrayList que por cierto no lo sabía ...  :-[


Public Sub ReciclarCodCargo(ByVal CodigoEliminado As String)
        Try
            Dim t As Integer = 0

            Dim Caracteres As New ArrayList

            Caracteres.AddRange(CodigoEliminado.ToCharArray)

            If Caracteres(1) > 0 Then
                'En caso de ser de dos cifras, por ejemplo 25 lo concatenamos y guardamos
                'en la tabla Control, para usarlo la siguiente vez ...
                t = Caracteres(1) & Caracteres(2)
            Else
                'Caso contrario es de una cifra por lo tanto no hay más que comentar
                t = Caracteres(2)
            End If
            com.CommandText = "update Control set valor = '" & t & "' where parametro ='cargo'"
            com.Connection = con
            com.ExecuteNonQuery()
        Catch ex As Exception
            MsgBox(ex.ToString)
        End Try
    End Sub

Y entonces me generó el error, de todos modos ya lo estoy haciendo con el MID ...
Gracias!!!

elmaro


Skeletron

Y que dice el error?

No veo que realices conexión con la base de datos.

Yo para conectar con la base de datos hago:


Código (vbnet) [Seleccionar]
Dim SQLconnect As New SQLite.SQLiteConnection()
            Dim SQLcommand As SQLite.SQLiteCommand
            SQLconnect.ConnectionString = "Data Source= AQUI LINK AL ARCHIVO.. EN MI CASO ERA PARA SQLITE...;"
            SQLconnect.Open()
            SQLcommand = SQLconnect.CreateCommand
            SQLcommand.CommandText = "SELECT * FROM LA TABLA WHERE Fecha='" & Fecha & "'" ' ORDER BY Texto"
            Dim SQLreader As SQLite.SQLiteDataReader = SQLcommand.ExecuteReader()

NetStorm

Vale, gracias a todos podeis ver el producto de vuestra ayuda aquí:

http://foro.elhacker.net/net/digit0_database_10-t279291.0.html

Desde el fondo de mi corazón muchas gracias ... por su ayuda y por vuestro tiempo...

Felices Fiestas!