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

texbox y areglo

Estas en el tema de texbox y areglo en el foro de Visual Basic clásico en Foros del Web. hola lo que pasa es que tengo un texbox1 donde escribo luego saco los caracteres 1 a uno y los guardo en una matriz y ...
  #1 (permalink)  
Antiguo 13/11/2009, 10:25
 
Fecha de Ingreso: noviembre-2009
Mensajes: 315
Antigüedad: 14 años, 5 meses
Puntos: 0
texbox y areglo

hola
lo que pasa es que tengo un texbox1 donde escribo luego saco los caracteres 1 a uno y los guardo en una matriz y despues quiero mostrar la matriz en un texbox2 o lo que sea jajajajaja, pero al tratar de mostrar el arreglo, solo me muestra la ultima letra, porque va escribiedo en el mismo lugar del texbox, quiero saber como moverme de ese lugar

algo asi como la funcion

mind(text.text,1,1)

gracias
  #2 (permalink)  
Antiguo 13/11/2009, 12:51
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 17 años, 9 meses
Puntos: 29
Respuesta: texbox y areglo

Lo suyo es que pruebes:

Text1.Text = Join(matriz, "")
donde matriz es el nombre de tu matriz
  #3 (permalink)  
Antiguo 13/11/2009, 13:08
 
Fecha de Ingreso: agosto-2007
Mensajes: 268
Antigüedad: 16 años, 8 meses
Puntos: 2
Respuesta: texbox y areglo

No se si entendi bien, pero si es lo que creo. Creo que una forma de hacerlo es:

For n = 1 To [Total de indices en la matriz]
textbox2.Text = textbox2.Text & Matriz(n)
next

Saludos...
  #4 (permalink)  
Antiguo 13/11/2009, 14:27
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 17 años, 9 meses
Puntos: 29
Respuesta: texbox y areglo

Eso mismo hace el join
  #5 (permalink)  
Antiguo 13/11/2009, 14:38
 
Fecha de Ingreso: noviembre-2009
Mensajes: 315
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: texbox y areglo

tengo un problema ahora on la funcion Asc(), hace lo que debe pero me sale el siguiente error

Llamada a procedimiento o argumeto no validos


que puedo hacer?



Cita:

var = Mid(Text1.Text, h, 1) << tomo caracter por caracter

cod = Asc(var) << lo tranformo a su equivalente ascii

cod = cod + key << al valor le sumo un numero cualquiera

a = Chr(cod) << el resultado lo combierto en letra y lo guardo en la variable a

arreglo2(p) = a << voy llenando un arreglo con los resultados


Text2.SelText = arreglo2(p) <<< lo muestro

Última edición por carnero; 13/11/2009 a las 14:54 Razón: desesperacion :(
  #6 (permalink)  
Antiguo 13/11/2009, 14:44
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 17 años, 9 meses
Puntos: 29
Respuesta: texbox y areglo

Pon un ejemplo de código que te de error a ver donde tienes el fallo. A mí no me dá errores.
  #7 (permalink)  
Antiguo 13/11/2009, 14:54
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 17 años, 9 meses
Puntos: 29
Respuesta: texbox y areglo

ya se lo que te falla
el caracter que intentas convertir está vacio.
es como poner:

cod=asc("")
te da ese error
es que no sacas bien los caracteres
  #8 (permalink)  
Antiguo 13/11/2009, 15:14
 
Fecha de Ingreso: noviembre-2009
Mensajes: 315
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: texbox y areglo

pero si tengo escrito

"hola mundo"

tengo un espacio que tiene que estar

como lo puedo hacer?

se supone que el 32 es el " " en ascii
  #9 (permalink)  
Antiguo 13/11/2009, 15:17
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 17 años, 9 meses
Puntos: 29
Respuesta: texbox y areglo

Lo que tu quieres debería funcionar así:

private sub text1_change()

dim arreglo() as string
redim arreglo(len(text1.text))
dim h as integer
dim var as string
dim cod as byte
dim a as string

For h=1 to len(text1.text)
var = Mid(Text1.Text, h, 1) '<< tomo caracter por caracter

cod = Asc(var) '<< lo tranformo a su equivalente ascii

'cod = cod + key << al valor le sumo un numero cualquiera
' aqui te puedes encontrar con valores superiores a 255
' si quieres codificar el texto haz Xor en lugar de sumarlo.
' siempre quedará un resultado válido.
' key tiene que ser también un valor de 0 a 255
cod = cod xor key '<< al valor le sumo un numero cualquiera

a = Chr(cod) '<< el resultado lo combierto en letra y lo guardo en la variable a

arreglo(h) = a '<< voy llenando un arreglo con los resultados

Next h

Text2.text=join(arreglo,"") '<<< lo muestro

End sub

Si lo usas y no funciona dimelo que lo repase.

Última edición por pkj; 13/11/2009 a las 15:28
  #10 (permalink)  
Antiguo 13/11/2009, 15:32
 
Fecha de Ingreso: noviembre-2009
Mensajes: 315
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: texbox y areglo

Cita:
Iniciado por pkj Ver Mensaje


redim arreglo(len(text1.text))


dim cod as byte


Text2.text=join(arreglo,"") '<<< lo muestro


me puedes explicar lo que te seleccione, disculpa la ignorancia

idolo, lo hiciste en un rato y yo me e craneo uuff!! pero la consulta es cua es el inverso de xor???

tengo que hacer lo inver tambien


---------------------------------------------------------

porque si el " " esta en la tabla ascii no lo toma??? :P
  #11 (permalink)  
Antiguo 13/11/2009, 15:48
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 17 años, 9 meses
Puntos: 29
Respuesta: texbox y areglo

Es importante declarar todas las variables y matrices.
cuando creas una matriz puedes decir cuantos elementos va a tener:
dim arreglo(20) as string
20 elementos de cadena.
pero si la cantidad de elementos puede variar, en lugar de crear una matriz con miles de elementos puedes crearla vacia y después puedes redimensionarla cuando quieras.

redim arreglo(len(text1.text))
aqui redimensionamos el arreglo con tantos elementos como caracteres contiene el text1
se borra y se crea nuevo con esos elementos.
si quieres mantener los elementos anteriores puedes hacer:
redim preserve arreglo(len(text1.text))

aqui creo una variable numérica que puede contener valores entre 0 y 255
dim cod as byte
asi como vamos a usarla para contener un caracter no podremos meter valores erroneos


aqui uso join para unir todos los elementos de una matriz en un solo texto que cargo en el text2
Text2.text=join(arreglo,"") '<<< lo muestro
sería como hacer un bucle e ir pegando los caracteres, algo asi:
text2.text=""
for f=1 to len(text1.text)
text2.text=text2.text & arreglo(f)
next f

Última edición por pkj; 13/11/2009 a las 19:27 Razón: ortografia (maniático que es uno)
  #12 (permalink)  
Antiguo 13/11/2009, 15:53
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 17 años, 9 meses
Puntos: 29
Respuesta: texbox y areglo

Ahora que entiendo lo demás que has preguntado (teclea con calma) te digo:
el inverso de xor es........... xor

jejeje

Lo del " " no se por que te pasa. mi codigo no falla con los espacios.
  #13 (permalink)  
Antiguo 13/11/2009, 15:56
 
Fecha de Ingreso: noviembre-2009
Mensajes: 315
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: texbox y areglo

mmm

osea si pongo el texto que me dio le aplico xor y la operacion contraria

deberia salir

gracias

-------------------------------------

resulto :D

me alegraste el fds

gracias

Última edición por carnero; 13/11/2009 a las 16:07
  #14 (permalink)  
Antiguo 13/11/2009, 15:57
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 17 años, 9 meses
Puntos: 29
Respuesta: texbox y areglo

te he ganado por 3 minutos

Si. puedes probar esto:
msgbox (34 xor 56) xor 56
el resultado será 34

Siempre es un placer dar un empujoncito. Si en algo no te aclaras dilo. Te puedo intentar explicar como funciona el xor y sus amigos.

Última edición por pkj; 13/11/2009 a las 16:07
  #15 (permalink)  
Antiguo 13/11/2009, 16:11
 
Fecha de Ingreso: noviembre-2009
Mensajes: 315
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: texbox y areglo

ya explicame el xor

porque esta muy tecnico en otros lados, se presta para confuciones y todo o que puedas aportar sera bienvenido ( no puedo preguntar lo que no se ajajajaja)

estoy pensando en agregarte a msn

ajajajaja
  #16 (permalink)  
Antiguo 13/11/2009, 16:22
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 17 años, 9 meses
Puntos: 29
Respuesta: texbox y areglo


¿¿¿te puedes creer que cuando había acabado va el p.ñ.tero ratón y me recarga la pagina anterior???

Lo voy a quemar

Intentaré resumir lo que pueda... espero que tengas tiempo

Última edición por pkj; 13/11/2009 a las 16:42
  #17 (permalink)  
Antiguo 13/11/2009, 16:53
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 17 años, 9 meses
Puntos: 29
Respuesta: texbox y areglo

El caso es que los operadores And Or Xor y Not funcionan a nivel de bit.

Imagina que tienes el caracter % que es el ascii numero 37.
ese caracter se guarda en un byte, que son 8 bits, los cuales son numeros que solo pueden valer 0 o 1
37 en binario es 00100101

el operador xor compara 2 bits y devuelve 0 si tienen el mismo valor y 1 si son diferentes.
ejemplo: codificamos el 37 con un 45, osea, en vb6:
resultado=37 xor 45
tenemos el 37: 00100101
y el 45: 00101101

comparamos sus bits:

00100101
00101101

donde son iguales ponemos 0 y donde no 1

Código :
Ver original
  1. el 37   00100101
  2. el 45   00101101
  3.         -------------
  4.         00001000
El resultado es 8 y la prueba es:
msgbox 37 xor 45
que devuelve 8

Si hacemos lo mismo a ese 8 y usando de nuevo el 45:
msgbox 8 xor 45
devuelve 37 y en binario se veria asi:

00001000
00101101
------------
00100101

osea 37

Igual has entendido algo
  #18 (permalink)  
Antiguo 13/11/2009, 16:53
 
Fecha de Ingreso: noviembre-2009
Mensajes: 315
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: texbox y areglo

clarisimo!!!


muchas gracias

ahroa un duda que me quedo de un trabajo que trate hacer asi:

conectado con adbc yo queria

de una consulta sql con un count, queria que ese valor (el numero)

me lo guardara en una variable para poder usarla en un for y nunca pude hacer, no coicidian los tipos y declaraba bien
  #19 (permalink)  
Antiguo 13/11/2009, 17:13
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 17 años, 9 meses
Puntos: 29
Respuesta: texbox y areglo

Mi problema es que solo programo por aficion y hay muchas cosas que no domino, mas que nada por falta de interés, y esas cosas incluyen las bases de datos y la mayoria de cosas relacionadas con la administración, como programación excel, datagrid, flexgrid y cosas por el estilo.
Aún así, como los fallos no tiene porque involucrar controles de ese tipo, puedo darte ideas para solucionar problemas como este. Quizá ayude y quizá no, el caso es intentarlo.

Por ejemplo en tu caso, quizá la variable que has creado para contener ese valor no sea del mismo tipo que la que sacas en la consulta, pero si sabes que es un numero siempre puedes intentar convertirla al tipo de tu variable.
Ejm:
Dim ValorGuardado as Long ' creamos la variable donde guardar el numero
y para asignarle el valor:

ValorGuardado = CLng(loqueseaquedicesquequieresguardar)
y asi se pasa a long para guardarlo en tu variable

Claro, siempre puedes tener el fallo en el for o en cualquier parte que yo no conozca y nunca llegar a encontrarlo.
  #20 (permalink)  
Antiguo 13/11/2009, 17:31
 
Fecha de Ingreso: noviembre-2009
Mensajes: 315
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: texbox y areglo

gracias hay vere
  #21 (permalink)  
Antiguo 13/11/2009, 19:36
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 17 años, 9 meses
Puntos: 29
Respuesta: texbox y areglo

Un poco del código problemático es mejor que mil explicaciones, y cuando digo un poco me refiero a cuanto más mejor
Así hay muchas mas posibilidades de conseguir solución.

En fin, solo quería estrenar mi firma
A ver que te parece
__________________
No hay preguntas tontas, solo gente estup..., ¡No!, ¿como era? No hay gente que pregunte a tontos... ¡Nooo!... ¡Vaya cabeza!
  #22 (permalink)  
Antiguo 13/11/2009, 20:20
 
Fecha de Ingreso: noviembre-2009
Mensajes: 315
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: texbox y areglo

ajajajaaj
no me siento identificado ajajaaja

una consulta

Código:
Private Sub Command1_Click()
Set cnn = New ADODB.Connection
Set rst = New ADODB.Recordset

cnn.Open "Provider=SQLOLEDB; " & _
"Initial Catalog=LICEO; " & _
"Data Source=s; " & _
"integrated security=SSPI; persist security info=True;"
SQL = "select nombres,apellido,rut,usuario, pass from ALUMNO where rut = '" + Text1.Text + "' and pass = '" + Text2.Text + "'"
rst.Open SQL, cnn, adOpenDynamic, adLockOptimistic
'rut = rst.Fields("rut")

If rst.Fields(0) = "" Then
    SQL = "select nombres,apellido,rut,usuario, pass from ALUMNO where rut = '" + Text1.Text + "' and pass = '" + Text2.Text + "'"
    MsgBox "¿Profe?", vbOKCancel, "Salir"

End If
End Sub
la cosa es quiero que primero busque en una base de dato despues en otra y en otra, pero no me sale no se que poner donde esta en rojo me sale error de automatizacion
  #23 (permalink)  
Antiguo 13/11/2009, 21:22
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 17 años, 9 meses
Puntos: 29
Respuesta: texbox y areglo

Espero que no, la intención no era hacer referencias, solo humor barato

Tu estás empeñado en que aprenda bases de datos, ¿no?

Y encima nos van a dar la bronca por usar el foro como un chat cutre y además por mezclar temas en un mensaje.

Empieza un nuevo hilo con esa pregunta y yo por mi parte intentaré ver como se come eso que intentas cocinar, pero no lo veo demasiado apetitoso. ;-D

Saludos
__________________
No hay preguntas tontas, solo gente estup..., ¡No!, ¿como era? No hay gente que pregunte a tontos... ¡Nooo!... ¡Vaya cabeza!
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 19:22.