PREGUNTAS CONTESTADAS - Visual Basic

 Hay un total de 3030 Preguntas.<<  >> 

    Pregunta:  3881 - PASAR NOMBRE DE PROCEDIMIENTO COMO PARÁMETRO
Autor:  Antonio Pinedo Cáceres
Hola.
Cuando yo quiero ejecutar un procedimiento llamado Proc_añadir() para ejecutar este yo tengo que usar la sentencia:
Call Proc_Añadir
¿Existe alguna manera de que yo pueda definir una variable de tal manera que el nombre del procedimiento se lo pueda pasar a esta variable y con esta pueda ejecutar el procedimiento, o la anteriormente mencionada es la única manera?

Gracias
  Respuesta:  Daniel Catalá Pachés
Creo que lo que quieres es llamar a la rutina que tu elijas cogiendo el nombre de una variable.
Es muy sencillo.

CallByName Objeto,"Nombre del método ó evento",Constante de método, evento,etc...,"Parametros"...

Ejemplo

Sub MuestraMensaje(psTexto as string)
msgbox psTexto
end sub

y lo llamas con :
CallByName Form1, "MuestraMensaje", VbMethod, "mensaje"
  Respuesta:  Xavi
Hola, no se si quieres recibir el resultado de la funcion, o enviar un parametro a la funcion, pero te muestro un ejemplo que envia y recibe, ok?

.....
dim i as integer
´llama a la funcion enviandole una cadena y esperando un entero como respuesta.
i=Proc_añadir(Valor)
....

´esta funcion tiene que recibir una cadena, y devuelve un entero.
Private Function Proc_añadir(Valor as string) as integer
....
´devuelve un valor entero
Proc_añadir=1
end Function

    Pregunta:  3883 - PROBLEMAS AL INSTALAR UN KIT
Autor:  Rene Patricio Hinojosa Garate
El ambiente de trabajo es Windows 95 y tengo instalado Visual Basic 5.0 y Visual Basic 6.0 a la vez, también utilizo Wise para crear los kit de instalación.
El problema ocurre al momento de instalar el Kit en otro PC, ya que al ejecutar el programa me arroja el error que la aplicación efectuo una operación no valida, volcado de pila, Kernel, etc..Al parecer existe un problema en las versiones de las dll y ocx, pero no se como solucionar este problema.

Nota: Necesito tener instaldo Visual 5.0 y 6.0 .

Esperando una pronta respuesta a lo solicitado, se despide un nuevo amigo.
  Respuesta:  ALI NUMA PEREZ FONSECA
Primero, debe utilizar solo los controles de vb5 o los de vb6.
segundo, en el momento de crear el instalador de asegurarse de que las versiones de los ocx y las dll, sean las que utilizo en la creación del programa; asi el programa instalador solo lleva los ocx y dll correspondientes a su programa.
tercero, tambien debe verificar que los archivos de dependicas .Dep de los ocx sean de la misma versión de los ocx, Ejem si la version de un ocx
llamado Ensayo.ocx = 12.0.0.24 el archivo .dep de este ocx que debe ser ensayo.dep debe contener la misma version osea 12.0.0.24 para averiguar las versiones del .dep debe editarlo en cualquier procesador de texto sin cambiar el tipo de archivo, y del ocx se encuentran el las propiedades del ocx.

espero que te sirva, si tienes alguna duda, comunicate conmigo al E-Mail

    Pregunta:  3898 - PONER VISIBLE UNA APLICACIÓN ABIERTA CON SHELL, 0
Autor:  Jose G. Montalvo
Como se puede volver visible una aplicacion que ha activado invisible con
RetVal = Shell("C:\WINDOWS\CALC.EXE", 0)
  Respuesta:  Daniel Catalá Pachés
´En el modulo
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpszClassName As String, ByVal lpszWindow As String) As Long

´En mi aplicación consegui poner un icono con el gráfico de una calculadora que la ponía en primer plano.
´Es util si quiere por ejemplo que tu aplicación cuente con un bloc de notas y poder crear un texto nuevo, o recuperar el existente con el mismo botón.

´Este es el misterio de la aplicación.
Private Sub imgCalc_Click()
´Hace la busqueda por el Titulo
If FindWindow(vbNullString, "Calculadora") Then
On Error Resume Next
´Este método activa la aplicación pasandole el control de ventana idCalc
´que hemos grabado la primera vez al cargarla.
AppActivate idCalc
Exit Sub
End If

idCalc = Shell("C:\windows\calc.exe", vbNormalFocus)
End Sub
  Respuesta:  juan cecconi
Mira, definitivamente tendras que utilizar las maravillosas API´s . Una opcion que se me ocurre (nunca lo he intentado) es utilizar la funcion FindWindow invocando la misma con el titulo de la ventana a buscar. Tambien podrias hacerlo haciendo una enumeracion de las ventanas con otra api (creo que EnumWindow) y busques de nuevo la ventana por el titulo.
Una vez que obtienes el manipulador de la ventana puedes llamar una funcion que maneje las caracteristicas de esta ventana, creo que podes hacerlo con SetWindowPos y con la opcion de flag setear la opcion de visibe o alguna otra!!!
Tal vez las apis no sean las correctas 100% pero si no son estas son alguna relacionada que figurara en la Ayuda (en la parte inferior, donde dice "See Also")!!!

    Pregunta:  3905 - BRILLO DE UN BMP
Autor:  Cris Morán Marco
¿Sabeis cómo aumentar el brillo de una imagen BMP desde VB?
Muchas gracias.
  Respuesta:  juan cecconi
Para aumentar el brillo de un BMP sin perder sus caracteristicas originales tenes que incrementar de forma igual cada componente RGB (Red-Green-Blue) de cada pixel del BMP
Para lograrlo debes reservar un area de memoria (globalalloc) para poder cargar alli el bmp (loadimage) y luego incrementar cada byte de los 3 que componen 1 pixel (siempre que el formato del BMP sea tipo RGB, no tipo paleta), teniendo presente en no hacer un overflow del byte, es decir, que si tenias en un pixel los valores "200 180 150" y quieres incrementar todo el area del BMP en 60, entonces no deberas hacerlo en el byte que tiene el valor 200!!! pues se excede de 256.
De esta forma tienes que poner un if para saber si cada byte que estas incrementando es mayor que una valor que fijes de incremento.
Cualquier cosa escribeme
Saludos juan

    Pregunta:  3916 - MODIFICAR LA CONFIGURACION DE LA MONEDA, HORARIO DEL SISTEMA
Autor:  marcelo rodrigues
Como puedo modificar opciones del panel de control de windows, especificamente las configuraciones de moneda, horarias y lenguage, desde mi aplicacion visualbasic 5.0.
El problema es que cuando estas no corresponden con la originales el sistema entra en error.
Desde ya muchas gracias.
  Respuesta:  Ximena Tamame
Para cambiar la configuracion en tiempo de ejecucion existen varias funciones que te permiten saber que configuracion existe actualmente, y setear la que quieras, son API´s de windows. La declaracion de la funcion para setear una configuracion es:
Private Declare Function SetLocaleInfo Lib "Kernel32" Alias "SetLocaleInfoA" _
(ByVal Locale As Long, ByVal LCType As Long, ByVal lpLCData As String) As Long
y, por ejemplo, para setear el separador decimal y el de miles es:
Call SetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SDECIMAL, ".")
Call SetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_STHOUSAND, ",")
las constantes utilizadas tiene los siguientes valores:
Private Const LOCALE_USER_DEFAULT = &H400
Private Const LOCALE_SDECIMAL = &HE ´Para cambiar el separador decimal
Private Const LOCALE_STHOUSAND = &HF ´Para cambiar el separador de miles
Las tenes que declarar primero, me costo mucho encontrar los valores para lo que queria cambiar (separador de miles y el separador decimal), para el separador de miles y el separador decimal de la moneda son:
Private Const LOCALE_CURRDECIMAL = &H16 ´Para cambiar el separador decimal monetario
Private Const LOCALE_CURRTHOUSAND = &H17 ´Para cambiar el separador de miles monetario
no se para los demas, si los encuentro te los mando. Espero que te sirva.
  Respuesta:  Pedro Fabián Hernández Barbosa
la configuración de windows desde sus inicios a sido en base a dos archivos principales el Win.Ini y el system.ini(y a partir de Win95 el registro), puedes abrirlos para edición desde cualquier editor de texto normal, cuando cambias algunos valores de la configuración de windows que se encuentran en esos archivos tendrás que reiniciar la computadora para que tomen efecto.
los valores a los que haces mencion estan en el archivo Win.Ini.
puedes leer las configuraciones con algunas instrucciones de VB5 pero en realidad no se cuales.

    Pregunta:  3922 - TRANSICION (IR OSCURECIENDO LA PANTALLA)
Autor:  Manuel Peiró Biosca
Hola a todos!!!
Vereis este es mi pregunta:
¿Como puedo ir oscurenciendo la pantalla para crear una transicion entre dos pantallas?
Quiero que se vea una pantalla (formulario) y que cuando vallas a pasar a otra la primera se valla oscureciendo hasta desaparecer, y luego el siguiente formulario vaya iluminandose, todo esto para crear una transicion entre formularios suave y bonita.
¿Como puedo hacer este efecto?
Gracias por vuestra atencion!!!
  Respuesta:  Héctor de la Rosa M.
HAY UN OCX QUE TENGO LLAMADO WNDSHOW QUE TE REALIZA ESTAS OPCIONES DIFUMINADO,DESAPARECER POR RECUADROS EN FORMA CIRCULAR POR CUADOS COMO SI FUERA UNA PRESENTACION EN POWER POINT

    Pregunta:  3926 - CERRAR UNA CONEXION TCP
Autor:  David Ponce
Hace tiempo empece a trabajar en un programa de comunicaciones basado en el control Winsock. La conexion se establecia correctamente y funcionaba hasta que uno de los clientes descoectaba e intentaba volver a conectar. Entonces se producia un error de "direccion en uso". Me gustaria saber como se cierra completamente un puerto, ya que parece ser que .close no es del todo efectivo.
  Respuesta:  X pp
Efestivamente,con close no se cierra el puerto, se cierra la comunicación y al cabo de unos minutos sin comunicacion se cierra el puerto.
Para no esperarse lo mejor es crear un winsock como una matriz de controles ´Winsock(0)´ y cuando necesites trabajar con el haces
Load Winsock(1)
wwwwwwww
wwwwwwww
Unload Winsock(1)
De todos modos, si te da ´direccion en uso´ podria ser que en el lado servidor estes intentando hacer listen o Bind (en UDP) mas de una vez lo cual no es necesario.

    Pregunta:  3930 - FLASH EN VISUAL BASIC
Autor:  Edsel Sanz
Se puede utilizar las animaciones de flash 4 en un formulario de visual basic 5? Si se puede como lo hago?
  Respuesta:  Miguel Lucero
Si tenes instalado la versión registrada (original) de flash 4 y por supuesto vb, en los componentes te aparece un activex para usar en los formularios.
Es muy fácil de usar.

    Pregunta:  3941 - CONNECTIONSTRING
Autor:  carlos
Hola, estoy intentando hacer una conexión desde VB a una base de datos en SQL, le paso en uan variable el usuario (uid) y el password (pwd), pero no me los acepta, sin embargo al meterselos a pelo en el codigo VB, no me da ningún problema. ¿Sabeis de que puede ser y como solucionarlo para que no me de problemas a meterselos como variables?

Private Sub Form_Load()
Set A = New ADODB.Connection
With A
.Provider = "SQLOLEDB"
.ConnectionString = "server=Principal;database=DB1;uid= ´" & usuario & "´;pwd=´" & contraseña & "´"
End With
A.Open
End Sub

Donde A es la conexion y, ususario y contraseña son las variables donde meto el usuario y el password.
Gracias.
  Respuesta:  José Miguel Díaz E.
INTENTA HACERLO SIN LAS COMILLAS SIMPLES QUE LE ESTAS AGREGANDO EN EL STRING, OSEA:

.ConnectionString = "server=Principal;database=DB1;uid=" & usuario & ";pwd=" & contraseña

SI NO TE FUNCIONA ESCRÍBEME...

    Pregunta:  3948 - IMPRIMIR
Autor:  jorge enrique atara ramirez
como imprimir un archivo, fichero desde visual basic ???
  Respuesta:  SnoopDree
Imprimir todo (tipo de letra, bold, negrita, etc.)
En Vb5 a veces hay problemas con el cambio de Fuentes asi que define esta rutina y seguramente no tendras problemas. Deberias declarar el procedimiento en un Modulo.

Sub CambiarFuente(Letra, Tamaño, Negrita, Subrayado, Italica As Variant) As Variant
Dim X As New StdFont
With X
.Name = Letra
.Size = Tamaño
.Bold = Negrita
.Underline = Subrayado
.Italic = Italica
End With
Set Printer.Font = X
End Sub
Cuando la necesites la llamas asi enviando el nombre de la fuente, el tamaño , Negrita (True o False), Subrayado (True o False), Italica (True o False)
Call CambiarFuente("Arial", 12, True, True, True)
  Respuesta:  Miguel Argüello
Para poder imprimir un archivo con visual en la impresora, tienes que utilizar el objeto printer, por ejemplo, para imprimir un pequeño texto seria:

Private Sub Imprimir_Pequeño_Text(Cadena as String)

Printer.Print Cadena
Printer.EndDoc
End Sub

Con la funcion Printer.Print, lo que haces es pasar una cadena a un archivo "temporal de impresion", y la funcion Printer.EndDoc sirve para cerrar ese documento y empezar a imprimir.

Ahora que sabes como imprimir, para imprimir un archivo, lo unico que tienes que hacer es abrirlo, y una a una las lineas del archivo que quieres imprimir e ir enviandola a este archivo temporal, una vez llegado al final del archivo dar la intruccion Printer.EndDoc y la impresora empezara a imprimir el archivo.

Puedes controlar la posicion del texto con CurrentX y CurrentY, el tamaño con FontSize, el tipo de letra con Font.

Espero que te sirva de ayuda. Un Saludo

Miguel

|<  <<  60 61 62 63 64 65 66 67 68 69 70  >>  >|