Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - fraktal

#41
Gracias, ya entiendo mejor. Saludos.
#42
OK, gracias Soplo, ya lo he entendido. Me ha costado pq yo hacia lo que tu decias y luego añadia
text1.text = keyascii y me seguia dando el mismo problema. El asunto es que aun sin entender pq, no ahi que ponerle al texto del la caja el keyascii pq ahi es cuando lo repite. Digo que no entiendo pq, pues y Keyascii tiene un valor en el momento de transformalo a mayuscula, y yo añado ese valor al text1.text deberia la propiedad text tomar ese valor, osea una letra, no se pq lo repite y me pone el kodigo ascii y la tecla ya transformada. Entonces bueno entiendo que cuando simplemente por pulsar la tecla, saltar el procedimiento, como el Keyascii se pasa como argumento al procedimiento, este se modifica y ya esta... tiene es que ver con lo de pasar un argumento por referencia y por valor? Hasta el momento he leido sobre ello, pero todavia no me he encontrado con un caso practico. Gracias y saludos.
#43
Hola, aber, resulta que estoy haciendo unas pruebas y me encuentro con un problema. Yo vengo de programar en Visual Lisp. Ahi, se puede operar de una manera tal, que para yo puedo agrupar muchas funciones y obtener un solo resultado. Pongamos por caso que yo quiero en Visual Lisp decir que si una tecla es pulsada en minuscula, me de el resultado en mayuscula. Yo lo haria asi:
(setq letra (strcase (chr 97)))
esto en VL se ejecuta por parentesis de dentro hacia fuera. El 97 representa la letra a pulsada en este caso, entonces primero transformaria ese codigo ascii en letra, y despues con strcase la pone en mayuscula, y lo guarda en la variable Letra. Con lo cual ese es el resultado final "A" y he agrupado dos funciones Strace y Chr para obtener la "A" viniendo de "a".
Bien, ahora me planteo que estoy en visual basic. Creo un textbox. Y mi objetivo que cuando se escriba sobre el, transforme esa letra automaticamente en mayuscula, mediante el evento Keydown. Bien, empleando la tecinca de visual lisp puse esto:
Text9.Text = UCase(Chr(KeyCode))
pensando que se procesiarai primero el chr (keycode)
y transformaria el codigo ascii que recibe de la letra a caracter, y luego lo pasaria por el Ucase que lo pone en mayuscula, pero a la hora d ejecutar el programa, escribo y me devuelve la letra que he pulsado en minuscula y mayuscula, con lo cual deduzco que lo que pasa es que da como resultado las dos funciones que he empleado, una me devuelve la letra pulsada osea que chr (keycode) y luego el Ucase. De manera que como haria yo, o cual es la forma mas rapida y practica de hacer esto. Entiendo que podria crear una variable, ejecutar primero el chr guardarlo en la variable y volver a ejecutar el ucase para que lo vuelva a guardar en la variable no? pero no kreo que sea la forma mas rapida. No se... alguien me ayuda? y sobre todo que me digan cual es la forma de agrupar varias funciones para que obtenga un resultado, si es posible. Gracias y saludos.

#44
Se puede copiar y pegar desde un pdf, al menos si tienes la version de Adobe original, quiero decir no el Acrobar Reader, que es el gratuito y solo sirve para leer. Si tiene la version de Adobe Acrobat que sirve para crear pdf, y unir etc, con esasi puedes seleccionar texto.
S2.
#45
Si Eon, era eso, pero mi pregunta se referia mas a que normalmente un procedimiento termina con en END sub
pero lo que me referia es que cuando se usa una etiqueta como en este caso, si la forma de actuar es asi. Meter al final del procedimiento real un EXIT SUB (que supongo que a fin de cuentas viene  hacer lo mismo que el END SUB) y despues del EXIT SUB meter la etiqueta y ya el END SUB. Osea que si siempre que seusen etiquetas se procede de esta manera. Osea que el siempre el fallo: se tiene que colocar entre el exit sub y el end sub.
Saludos
#46
Ok, gracias por el nuevo aporte. SOlo hay una cosa que no entiendo. DIgamos que cuando terminaria el procedimiento, se pone a posta EXIT SUB para que salga, y luego se llama al label fallo:  y se pone lo que se quiera no?. Y no entiendo eso, la llamada a exit sub, poner el label y luego el end sub. Asi funciona pero no entiendo como si se dice salir del procedimiento, lee el volumen y luego ya si sale por el END SUB. esto es lo k no entiendo. Aki pongo una variacion del codigo pues ya lo he entendido.

Private Sub cmdexe_Click()
On Error GoTo fallo

cd.Filter = "archivos de texto|*.txt"
cd.ShowOpen
If cd.FileName = " " Then Exit Sub
var = cd.FileName
Print var
Exit Sub
fallo:
rpt = MsgBox("alerta", vbCritical)
End Sub
#47
Hay algo que no entiendo en VB6. Por ejemplo... creo un menu tipico con el menu editor, y lo oculto. El objetivo es que usar el Popupmenu, osea que pulsando sobre cualquier parte del formulario con el boton derecho, emerga este menu, llamdo mnuarriba, x ejemplo. Bien, edito el procedimiento del formulario en mouse down. Y le pongo que si:
if button = 2 then 'osea si el boton empleado es el 2, derecho
Popupmenu 'entonces cuando pongo esto, VB automaticamente detecta Popupmenu como funcion y me va poniendo su estructura, dentro de un parentesis. asi:
(menu as object, Flag, x, Y, defaultmenu).
Con lo cual yo escribo:
PopupMenu (mnuarriba) pq el resto d opciones no quiero poner nada... y asi ejecuto el programa y me falla, dice:
type mismatch
sin embargo si pongo esto, funciona correctamente:
PopupMenu mnuarriba osea sin parectesis
Pq funciona sin parentesis, y pq no con parentesis cuando VB me dice que debo meterlo en parentesis. Y esto mismo me ha pasado con otras funciones, y no entiendo pq... quiza pq solo uso un argumento??? si usase mas deberia ponerlo en parentesis? o pq?
Saludos  y gracias.
ps:  x supuesto en mis pruebas cierro el if.
#48
Gracias Shekel, asi no daba con ello. Lo pondre en practica. Saludos!
#49
Hola, como se maneja el resultado optenido por el control Common Dialog?
Por ejemplo, pongo en el evento click
cmdopen.showopen
y eligo un archivo
y me devuelve al formulario
pero si he elegido un archivo, como lo guardo?
he tratado de guardarlo en una varible
pero me falla.
rpt = cmdopen.showopen
o un color, o cualquier resultado del control, no se como guardarlo para poder usarlo.
Gracias.

#50
Las propiedades son las caracteristicas que definen un control, tanto el aspecto que presentara ese control, como cualquier cosa que requiera para  definirlo. Por ejemplo un boton de comando, (commandbutton) pues caracteristicas suyas, osea propiedades, pueden ser el tamaño, posicion del boton, el texto que incluye, color, y muchas mas cosas que en el fondo eso, definen el boton en funcion. Puedes ponerle visible, invisible, bloqueado para que no se utilice (imaginate que aparece para que no se utilize, osea el tipico control gris apagado que no puedes pinchar sobre el. Y puedes hacer que despues de determinados eventos o lo que sea, ese boton pase a cambiar su propiedad lock para volverlo activo. Estas son las propiedades de un control, mientras que los eventos y los metodos, son respuestas que se producen ante un determinado acto, por ejemplo al pulsar el boton, se producira un evento, una respuesta, por ejemplo click. Entonces es ahi donde se debe programar la respuesta a ese evento, por ejemplo que al pulsar sobre el boton, salga un mensaje de alerta. Por ejemplo un boton de salida del programa, haria cerrar la aplicacion. Luego estan los metodos, que son respuestas tambien a determinados actos, pero estos son automaticos, digamos que por ejemplo, cuando se carga un formulario, se da un evento load de este formulario. Osea digamos que son acciones que se producen sobre el propio formulario o control. Mas o menos viene  a ser esto. Yo el lio lo tengomas bien con eventos y metodos, pero creo que lo he contado bien. Saludos