PREGUNTAS CONTESTADAS - Visual Basic

 Hay un total de 3030 Preguntas.<<  >> 

    Pregunta:  5117 - ACCESO A BASE DE DATOS ACCES REMOTA VÍA INTERNET
Autor:  Jorge Martínez
Dispongo de una base de datos Access situada en un servidor alquilado de Internet. Mi intención es crearme una aplicación local en Visual Basic 6.0 que me permita tanto leer como actualizar dicha base de datos remota a través de una conexion Internet.
Dispongo de toda la información necesaria para acceder al servidor de internet (DSN, usuario y password) pero no sé como hacerlo.
Creo que se puede hacer utilizando rutinas de la API de Windows pero no sé cuales.
  Respuesta:  Luis Eduardo Cañedo Ugalde
Si eres parte del dominio y usuario con derechos sobre el servidor en cuestiòn basta con crear un acceso ODBC, cosa que no creo porque dices que es alquilado, en cuyo caso no es posible acceder de esa forma a menos que seas un exelente haker, que te llevaria un buen de años, por lo que mejor te recomiendo que te investigues que servidor httpd esta dando el servicio de web y si hacepta (que debe de ser) ejecuciòn de pàginas ASP si se trata de IIS o PHP si es un Apache, entonces te creas tus pàginas dinamicas y las colocas en el servidor, (con el usuario adecuado) puedes hacer cualquier tipo de query en tu base de datos de forma sencilla a travès de cualquier explorador.
Ahora que si estas en la necia de hacerlo con VB, esta el control "web browser", el cual puedes camuflajear perfectamente en tus formularios, para que parescan parte de ellos y en este control cargar las pàginas que estan en el servidor de internet y ejecutar tus consultas o actualizaciones a travès de ellas pero desde VB

    Pregunta:  5135 - COMO PASAR UNA IMAGEN ALMACENADA EN UN ARRAY A PICTUREBOX
Autor:  Pedro Molina
Tengo una imagen en un array de bytes. Necesito pasarla a un picturebox. Lo he intentado con StretchDIBits y con BitBlt, pero no he sido capaz. No sé si estará mal la declaración de la función o qué.

DECLARACIÓN:

Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long

Declare Function StretchDIBits Lib "gdi32" (ByVal hDC As Long, ByVal DestX As Long, ByVal DestY As Long, ByVal wDestWidth As Long, ByVal wDestHeight As Long, ByVal SrcX As Long, ByVal SrcY As Long, ByVal wSrcWidth As Long, ByVal wSrcHeight As Long, ByVal lpBits As Long, BitsInfo As BITMAPINFO, ByVal wUsage As Long, ByVal dwRop As Long) As Long

USO:
With frmWebComm.Picture1
.ScaleMode = vbPixels
result = StretchDIBits(.hDC, 0, 0, 160, 120, 0, 0, 160, 120, VideoData(0), bm, dib_rgb_colors, srccopy)

´result = BitBlt(.hDC, 0, 0, 160, 120, VideoData(0), 0, 0, srccopy)

END WITH

Os agradezco la ayuda. Un saludo.
  Respuesta:  Toninho Villena
Solo haz lo siguiente si fuera el caso del visual basic 2005
(a la proxima especifica en que estas programando para poderte ayudar)

Aqui te doy una idea

Dim bits As Byte() = CType(ImagenByte, Byte()) 'Obtengo el codigo binario de la imagen
Dim memorybits As New MemoryStream(bits)
Dim bitmap As New Bitmap(memorybits)
Picture1.Image = bitmap

y ya ta eso es todo..
PD.
ImageByte = Array de Bytes que ya tienes
  Respuesta:  Yavir Robles Ortíz
Hola, tengo una función que pasa a un PictureBox una imagen almacenada en una Base de Datos en un campo de Bytes, muy probablemente te sirva, escribeme y te la mando. Otra forma es que hagas una pequeña Base de Datos donde almacenes los datos de ese array y por medio de un control Data, ligues el Picture con la propiedad DataSource y automáticamente se desplegará la imágen sin tener que hacer ninguna operación.

YRO.

    Pregunta:  5148 - IMPRIMIR CONTENIDO DE UN FORMULARIO SIN USAR PRINTFORM
Autor:  Sergio Arroyo
Necesito con suma urgencia, imprimir un formulario que tiene muchos textbox que son de distintas bases, y si uso la propiedad printform,la impresion no ocuapa toda la hoja(a4), que metodo,funcion tengo que usar para poder realizar la impresion.
  Respuesta:  Javi
Creo que el siguiente código te será de utilidad para poder imprimir desde VB 6.0.

Se compone de una clase y un formulario, si al ejecutarlo te satisface, basta con que añadas la clase a tu proyecto y mires como se llama el código desde el botón ejecutar del formulario.

Descargar.

    Pregunta:  5150 - PROBLEMA CON EL MASKEDITBOX
Autor:  Antonio Sandoval
Hola, tengo una aplicación creada en vb4, y utilizo algunas mascaras de entrada para limitar los datos que introduzca el usuario, los datos introducidos son del tipo 001/2000, 2569/2001, 4 digitos a la derecha, la "/" y 4 digitos a la izquierda, el caso es cuando recupero el registro con el numero 001/2000 me arroja otro numero extraño nada parecido al que el usuario metió, supongo que es el problema de la mascara, ya la modifiqué y no logro reparar ese error, utilizo win 98 y win NT(servidor)... gracias por su ayuda.
  Respuesta:  Daniel Morin
Lo que debes hacer es que el campo que almacena esos digitos en lugar de tenerlocomo númerico, cambiarlo a texto en tu base de datos, esto debido a que itroduces una diagonal entre los números por lo tanto un campo numerico jamas aceptara caracteres especiales, al cambiar el tipo de campo a texto solo tendras que buscar por una cadena exacta y no por un número, tu ventaja es que no permites la captura de mas de 9 cararteres. lo reduce las posibilidades de error y ya que usas el maskedit pues tienes todo el control de la aplicacion.

Enviame un mail si requieres de un ejemplo.

SALUDOS
  Respuesta:  Rogelio González Quirós
No entiendo muy bien cuando dices sacarlo, creo que lo que queres es almacenarlo en una variable, lo que podes es hacer algo como esto:

dim fecha$

fecha$ = format(nombre.text,"###/###")
Esto talvez te ayude a sacar el valor del campo.

    Pregunta:  5152 - SEGURIDAD AL GUARDAR UN REGISTRO EN UNA BD EN ACCESS
Autor:  Antonio Sandoval
Hola... necesito saber con qué codigo puedo informarle al usuario de una red lan pequeña, que los datos de un registro en una base de datos en access 97 se han guardado correcta y completamente al pulsar el boton "Guardar", la base de datos está en un servidor con win NT 4, la aplicación esta en vb6, el usuario usa win 95/98, esta conectado a una red lan con protocolo tcp/ip, de tal forma que cuando el usuario llame a su registro, el servidor se lo dé y no diga que no existe tal registro. POr favor necesito esto con algo de urgencia... gracias.
  Respuesta:  Rafael Morales
Hola:
Tu problema tiene una facil o dificil solucion y depende si usas ADO o DAO. Si usas ADO, ya sea la libreria o el control, tienes tres eventos referidos a las actualizaciones que son begintrans(Mientras transmite),trasncomplete(trasferencia completada)y otro del mismo grupo.
Mira la ayuda que estos eventos se programan al iniciar la transferencia, mientras se transmite y cuando han sido trasmitido y puedes obligar a ADO, que forme paridad de datos en la transferencia, osea si la trasnmicion no es correcta, que todo vuelva como estaba.
Observa esos eventos, que son para ello y van bien, yo los utilice pero de una forma mas simple, si nesesitas mas ayuda no te corte y escribe.
Si usas DAO, no tienes nada que hacer, solo puedes utilizar odbcDirec, pero no va bien
Salu2

    Pregunta:  5160 - COMO RESPETAR DECIMALES AL MODIFICAR LA VER DEUNA APLICACION
Autor:  VINCENZO COLOMBO
HE TRABAJADO CON UN PROGRAMA PARA FACTURACIÓN
HECHO EN VBASIC V 5.0, PERO CUANDO INSTALO UN PROGRAMA COMO EL
NORTON 2000, O EL VB V.6,O TENGO UN PROBLEMA EN LAS BASES DE DATOS
CON LAS COMAS Y LOS PUNTOS; ESTO QUIERE DECIR QUE SI ANTES YO
ESCRIBÍA 12345.67 LO ACEPTABA CORRECTAMENTE, PERO LUEGO
DE INSTALAR DICHOS PROGRAMAS CUANDO ESCRIBO LA MISMA INFORMACIÓN
12345.67 AL PULSAR ENTER SE CONVIERTE EN 1234567 (OMITE EL PUNTO).
TRATE DE RESOLVERLO POR CONFIGURACION PONIENDO EL DECIMAL Y EL
DE MILES INVERTIDO, PERO ENTONCES TENGO PROBLEMAS CON UN
PROGRAMA HECHO EN VB 3.0.
LO QUE QUIERO DECIR ES QUE MIS PROGRAMAS EN LAS DOS VERSIONES
TRABAJAN PERFECTAMENTE ANTES DE INSTALAR VB 6.0 O EL NORTON 2000.

QUE DEBO HACER AL RESPECTO?
  Respuesta:  Miguel Lucero
No se si entendí bien tu pregunta pero una solución con los separadores decimales es armar una pequeña función que te modifique el separador decimal por ejemplo al momento de estar ingresando los datos en un textbox. Si el separador decimal es la coma y presionas el punto, reemplazas este por la coma o viseversa.
Para saber cual es el separador decimal podés hacer algo así:

...
SeparadorDecimal = Mid(Trim(Format(1.23,"0.00")),2,1)
...

Espero que te sirva.

    Pregunta:  5168 - ERROR POR DESBORDAMIENTO, ARCHIVOS DE DEPENDENCIAS
Autor:  Tony Huertas
Hola amigos. Mi problema es que después de hacer el ejecutable de mi programa, en mi ordenador me funciona, pero lo ejecuto en otro ordenador y me da error por desbordamiento. Es un programa que realiza muchos cálculos para visualizaros después en un msflexgrid y cuando empieza a realizar estos cálculos en otro ordenador me dá el error mencionado anteriormente. No puedo explicarlo más claramente porque estoy iniciándome en Visual. Tampoco se como puedo actualizar un archivo de dependencias a la hora de instalar un programa. Trabajo con Visual Basic 5.0 y Windows 98. Gracias.
  Respuesta:  Luis Eduardo Cañedo Ugalde
El problema es muy claro se trata de un desbordamiento de pila en memoria por la poca cantidad de ram y posiblemente aunque descartable, por la baja capacidad de proceso de la computadora. Lo màs probable es que estes tratando de ejecutar el programa en una màquina con menos recursos (memoria sobre todo) que la tuya.
Por las dpendencias, no te preocupes solo es la bandera para indicar si cuando desinstales el programa se iran esos archivos con el, si no los conoces solo no los marques.

    Pregunta:  5174 - DATAGRID, CAMBIAR COLORES DE FILAS
Autor:  PELADOIDE
Hola:
Tengo un problema con el control datagrid de VB6. Tengo que cambiar los colores de las filas de acuerdo a un campo de una tabla asociada al datagrid. Si tienes la respuesta te agradecería enviarme un ejemplo.

De antemano te lo agradezco.
  Respuesta:  José Ariel Limandri
Casi con seguridad te digo que no se le pueden cambiar los colores a las filas de un datagrid.
Te recomiendo para eso utilizar una FlexGrid. A esta tampoco se le pueden cambiar los colores a las filas, pero si a las celdas. (si vas cambiando celda por celda lograras el efecto que queres).
Si te interesa te puedo mandar algun ejemplo.
Suerte.

    Pregunta:  5184 - A MI PARECER EL VB5 PROF. NO REALIZA BIEN LAS MATEMATICAS?
Autor:  guillermo flook
al menos en el vb que uso 5 edicion profesional
este simple pedazo de codigo no anda bien, todas las variables son INTEGER.

textbox.enabled = a * not(b) * c

entendiando que un resultado de la fórmula igual a CERO se asigna a la propiedad un valor FALSE.

ahora todo numero multiplicado x cero es cero
al menos eso dicen las leyes de la matematicas

bueno
asignando C = 0
siendo las variable a o b de x valor, el resultado de la formula no es siempre CERO
y la propiedad se establece en TRUE aun cuando C = 0
INCREIBLE NO!!!!
para resolver el problema use este truco

textbox.enabled = (a * not(b)) * c
le puse parentesis
y anda
mi pregunta es ¿estoy equivocado?
  Respuesta:  juan Cecconi
EL problema es que lo que tu escribes no es lo que debes poner, pues el operador NOT no es una funcion , por lo cual el poner NOT (x) * y
significa que haga una operacion Not de todos los bits de la expresion que tiene a derecha, es decir, que no esta tomando como unico parametro x pues no es una funcion!!!
la forma es : a * c * Not b
o si quieres utilizar algo parecido a lo que pusiste antes: a * (Not (b)) * c

el valor que devuelve la expresion que tu pusiste no depende de "c" porque el Not se efectua sobre la expresion "(b) * c" (que es siempre 0, si c=0) entonces al hacer el Not devolvera el hexa "FFFF" (todos los bits 1) con lo cual es equivalente al numero "-1" (en complemento a 2, que es como trabaja el procesador) , de esta forma la expresion final es equivalente a lo que tu pones es: Text.Enable = a * (-1)
que obviamente sera true siempre que la cuenta de distinto de cero (false es equivalente a 0)
Esto lo puedes verificar si pones en la ventana de inspeccion tu expresion y luego cambias los valores de a,b y c
Saludos!!!

    Pregunta:  5191 - ILUMINAR TODA LA FILA DE UN MSHFLEXGRID
Autor:  Daniel Pazos
¿Como puedo hacer para iluminar toda una fila en un MSHFlexGrid? Al hacer click con el ratón encima del grid funciona, pero si paso a la siguiente fila del grid con un boton solo se ilumina la primera celda. Creo que es porque el grid al perder el foco solo ilumina la primera celda, pero ¿como hago para que ilumine toda la fila?

Muchas gracias por la ayuda.
  Respuesta:  Daniel Morin
Cambia la propiedad focusrect al valor NONE esto con la finalidad de que no seleccione una sola celda, despues cambia la propiedad select mode a su valor BY ROW, esto le indica al flex que la seleccion es por lineas completas, lo puedes hacer entiempo de diseño o a través de codigo.
  Respuesta:  el diablo
pulsa el boton derecho sobre el control / en el menu emergente pulsa propiedades / en el formulario que aparece pulsa sobre la ultima ficha / hay un combobox, en el cual encontraras la opcion "highligthRow", selecciona y voila, ya tienes toda la fila seleccionada. Saludos.
  Respuesta:  Carlos
creo que hay una funcion que dice rowsel o algo asi, buscala en la ayuda, si no la encuentras escribeme...

|<  <<  74 75 76 77 78 79 80 81 82 83 84  >>  >|