Problemas al leer

Iniciado por Hendrix, 23 Febrero 2006, 16:06 PM

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

Hendrix

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

"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián

MazarD

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 :)
-Learn as if you were to live forever, live as if you were to die tomorrow-

http://www.mazard.info
http://twitter.com/MazarD
irc://irc.freenode.org/elhacker.net

Hendrix

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

"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián

Ironhorse

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


Pégense una vuelta por Cracton :)

Hendrix

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

"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián

Crack_X

Select Case o con varios If pero como sabes cuantos I van haber y para que necesitas tantas variables?
Shit loads of money spend to show us wrong from right. Say no to war


Yasser Has Things To Say
WarZone

Ironhorse

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
Pégense una vuelta por Cracton :)

DrakoX

talvez te sirva,
yo tengun un metodo para hcer un edit server q para mi es muy bueno.


aviame si queres el code.

salu2

Hendrix

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

"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián

MazarD

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.
-Learn as if you were to live forever, live as if you were to die tomorrow-

http://www.mazard.info
http://twitter.com/MazarD
irc://irc.freenode.org/elhacker.net