Test Foro de elhacker.net SMF 2.1

Programación => .NET (C#, VB.NET, ASP) => Programación General => Programación Visual Basic => Mensaje iniciado por: Hendrix en 23 Febrero 2006, 16:06 PM

Título: Problemas al leer
Publicado por: Hendrix en 23 Febrero 2006, 16:06 PM
Weno, estoy haciendo un programa en VB que kontiene unos 12 Checkbox y luego un boton llamado crear que lo que hace es editar un server.

Lo que quiero hacer es que por ejemplo, si el user elige estos checkbox: 1, 5, 9, 6. el programa al crearlo lo ponga en una variable kon estos digitos= 1596.

Asta aki todo bien, el problema viene kuando el server tiene que saber que numeros lo an introducido, lo que se hacer es sacar el primer numero, pero lo siguiente no lo se hacer....

Si alguien me ayuda le estaria agradecido...  ;) ;) ;)

Salu2 a todos

Hendrix

Título: Re: Problemas al leer
Publicado por: MazarD en 23 Febrero 2006, 18:45 PM
mmm, no está muy clara la pregunta, la qüestión és que quieres volver a separar ése "1596" no?
Si es asi y en el caso que lo tengas en un string puedes utilizar funciones de tratamiento de cadenas:

subcadena=left$(cadena,numerocaracteres)
subcadena=mid$(cadena,inicio,numerodecaracteres)
subcadena=right$(cadena,numerodecaracteres)

Algunos ejemplos para que pruebes en tu caso:
msgbox left$("1596",1) 'Esto te devuelve 1
msgbox mid$("1596",2,1) 'Esto te devuelve 5
msgbox mid$("1596",3,1) 'Esto te devuelve 9
msgbox right$("1596",1) 'Esto te devuelve 6

En el caso que la variable esté en un entero:
primervalor=int(1596/1000)
segundovalor=int((1596-(primerValor*1000))/100)
tercervalor=int((1596-(primerValor*1000+segundoValor*100))/10)

Fijate que es una sucession, y la dinámica és que cojes el primer valor i le sacas los de detras, en el siguiente le restas al resultado el primero sin los demás....

Si del segundo modo te parece muy confuso siempre puedes hacer un cstr(1596) para pasar el entero a cadena y hacerlo del primer modo.

Mas opciones ya no se me ocurren
Un saludo :)
Título: Re: Problemas al leer
Publicado por: Hendrix en 23 Febrero 2006, 21:27 PM
gracias, pero si yo no se los caracteres que va a tener esta kadena, komo lo ago???? kon ifs????

Weno, muchas gracias por contestar.... ;) ;) ;)

Salu2

Hendrix

Título: Re: Problemas al leer
Publicado por: Ironhorse en 23 Febrero 2006, 21:42 PM
En principio si tenes 12 checkbox vas a tener que usar dos digitos para todos los numeros, ej 01, 05, 11. La funcion Len te devuelve la longitud de la cadena. 
Por ejemplo si cadena tiene "010511", la variable num va a tomar los valores 01, 05 y 11.


For i=1 to len(cadena) step 2
  num = mid(cadena, i,2)
Next i


Título: Re: Problemas al leer
Publicado por: Hendrix en 23 Febrero 2006, 21:53 PM
Muchas gracias IronHorse!!!!! ahora solo me keda una pekeña kosa, komo hacer para que los resultados de num se metan en variables distintas??? por ejemplo, si I=1 me ponga ds numeros en una variable, kuanto I=2 me ponga num en otra variable, I=3 num en otra variable....etc. etc. etc....

Komo ago esto????

Muchisimas gracias Iron!!!!! ;) ;) ;)

Salu2

Hendrix

Título: Re: Problemas al leer
Publicado por: Crack_X en 23 Febrero 2006, 21:55 PM
Select Case o con varios If pero como sabes cuantos I van haber y para que necesitas tantas variables?
Título: Re: Problemas al leer
Publicado por: Ironhorse en 23 Febrero 2006, 22:15 PM
Con un array, ahi va el ejemplo:


Dim Cadena, Num() As String
Dim i As Long
  Cadena = "010511"
  ReDim Num(Len(Cadena) / 2)  'Redimensiono el array con la        cantidad de elementos que voy a guardar
  For i = 1 To Len(Cadena) Step 2
    Num((i - 1) / 2) = Mid(Cadena, i, 2)
  Next i


Saludos
Título: Re: Problemas al leer
Publicado por: DrakoX en 23 Febrero 2006, 22:22 PM
talvez te sirva,
yo tengun un metodo para hcer un edit server q para mi es muy bueno.


aviame si queres el code.

salu2
Título: Re: Problemas al leer
Publicado por: Hendrix en 23 Febrero 2006, 23:21 PM
yo al edit server tambien lo se hacer....

Lo que quiero hacer es esto (explikado facilmente)

For i=1 to len(cadena) step 2
  num = mid(cadena, i,2)
   Put num in a
Next i

Luego, a la siguiente pasada:

For i=1 to len(cadena) step 2
  num = mid(cadena, i,2)
   Put num in b
Next i

A la siguiente pasada:

For i=1 to len(cadena) step 2
  num = mid(cadena, i,2)
   Put num in c
Next i

y asi asta tener todos los datos dentro de variables distintas, pero de todas formas probare el ultimo kode de Ironhorse...

NOTA: ya se que put num in a no es korrekto, lo e puesto para que lo pilleis lo que quiero hacer... ;) ;) ;)

Salu2 a todos y thank's por kontestar!!!

Hendrix

Título: Re: Problemas al leer
Publicado por: MazarD en 24 Febrero 2006, 02:21 AM
No le veo ningún sentido a lo que estas haciendo ya que probablemente te hubiera resultado más sencillo todo con un array de checkboxs pero vamos que IronHouse té ha dado la respuesta a lo que te faltaba del modo en que lo quieres hacer.

Un Saludo.
Título: Re: Problemas al leer
Publicado por: Hendrix en 24 Febrero 2006, 10:43 AM
Gracias!!!! probe lo de IronHorse y funciona correctamente!!!!

Muchas gracias a todos ;) ;) ;)

Salu2

Hendrix