PREGUNTAS CONTESTADAS - Visual Basic

 Hay un total de 3030 Preguntas.<<  >> 

    Pregunta:  91 - VISUALIZAR EL RES. DE UNA APLICACIÓN DOS EN UNA VENTANA WIN
Autor:  Ramón
Hay muchos programas en Windows 3.11, que hacen llamadas a aplicaciones de texto del DOS, y que en vez de abrir una ventana del DOS, visualizan resultado de la aplicación en una ventana de texto propia. Me gustaría saber como puedo hacer esto en VB 3.0 Profesional. Gracias.
  Respuesta:  Alonso Salazar
Esto lo puedes hacer redireccionando la salida de la instrucción a un archivo, por ejemplo si quieres hacer un DIR *.EXE de algun directorio puedes hacer lo siguiente
-> DIR *.EXE >TEXTO.TXT
Lo anterior te direccionara la salida a un archivo llamado TEXTO.TXT, luego lo único que haces en VB es abrir el archivo, leerlo y mostrarlo en el control que prefieras, igual puedes hacer con cualquier otro comando.

    Pregunta:  92 - COMO UTILIZAR UN INFORME DE ACCESS EN VB 5.
Autor:  Alexis
Les escribo porque tengo un problema al cual le estoy dando vueltas y no logro salir de el, he creado unos reportes en el manejador de base de datos MS ACCESS, pero esos reportes (informes) de ACCESS (la data también está en Access)los necesito imprimir desde Visual Basic 5.0. He estado leyendo los Helps de ambos programas pero no he encontrado como levantar informes, VB50 me permite levantar Tablas y Consultas pero no Informes; en ACCESS me dicen que lo haga con "DoCmd", pero VB50, no lo reconoce.
Si podrían solucionarme el problema les agradeceré mucho.
  Respuesta:  nabina nabina
Dim strRuta As String
dim objAccess as Object

set objAccess = CreateObject(\"Access.Application\")

strRuta = \"c:\\AcessListados\\listados.mdb\"
objAccess.OpenCurrentDatabase(strRuta)
objAccess.DoCmd.OpenReport(\"NombreListado\", acViewPreview)
objAccess.DoCmd.Maximize
objAccess.Application.Visible = True
objAccess.CloseCurrentDatabase()
set objAccess = Nothing

Eso te servirá
  Respuesta:  Jesús Dorta
Prueba este código, aunque es para VB 4.0 y Acces 97 no deberías tener problemas con VB 5.0
Dim objAccess As Ogject
´Modo de presentar la información.
´Sería interesante meterlo en un módulo de
´constantes. Para el ejemplo vale así
Const acViewDesing=0 ´Modo diseño
Const acViewNormal=1 ´Modo impresión directa
Const acViewPreview=2 ´Modo preview

´Creamos el objeto
Set objAccess=CreateObject("access.application.8")

´Abrimos la BB.DD que nos interesa
objAccess.OpenCurrentDatabase "TuBaseDatos.mdb"

´Lanzamos el informe que nos interesa.
´El formato del método es:
´Aplication.DoCmd.OpenReport,,,
objAccess.DoCmd.OpenReport "NombreInforme",acViewPreview

´Hacemos visible la ventana access
objAccess.Visible=True

MsgBox "Haga clic en aceptar para cerrar Access"

  Respuesta:  Juan Carlos Gilarranz
Esto lo he cogido de las consultas mas frecuentes de Microsoft.
Una posible alternativa sería utilizar un Formulario de Access para almacenar la variable que se desea pasar desde Visual Basic, es decir, la que contendrá el título del informe. Una vez abierto dicho Formulario, se abriría el Informe, el cual podría acceder a la variable del Formulario e imprimir con el título correspondiente. Para hacer esto se deberá crear un Formulario en Access y en el evento ´Al abrir´ se debe introducir :
stitulo = openargs
donde stitulo es una variable del formulario que contendrá el título pasado desde Visual Basic. Al abrir el formulario, como último parámetro se le indicaría este valor. El código de Access seria:
OpenForm Formulario1,0,,,,2, mititulo
donde mititulo sería la variable de Visual Basic. Una vez abierto el Formulario en Access que ya contiene el título pasado desde Visual Basic, el segundo paso sería abrir el informe en Access, en cuyo evento ´Al activar´ debería tener el siguiente código:
Me!texto10.caption = stitulo
donde texto10 es el objeto de encabezado de página del informe y donde se asigna el valor de la variable del Formulario. El código de Access para abrir el informe seria :
OpenReport Informe1,2
Como último paso, se debe cerrar el Formulario para que al imprimir el informe una segunda vez, no se mantenga el valor anterior de la variable. El código de Access seria:
Close 2,Formulario1
En Visual Basic, deberá crear un proyecto nuevo y en el Formulario incluir un TextBox y un CommandButton. En el evento Click del botón introduzca el siguiente código de Visual Basic:
Dim mititulo As String
Text1.LinkTimeout = 600
Text1.LinkTopic = "MSACCESS|SYSTEM"
Text1.LinkMode = 2  ´Establece un enlace DDE manual con Access 2.0
mititulo = "Titulo de prueba"
Text1.LinkExecute "[OpenForm Formulario1,0,,,,2," & mititulo & "]"
Text1.LinkExecute "[OpenReport Informe1,2]"
Text1.LinkExecute "[Close 2,Formulario1]"
Text1.LinkMode = 0 ´Termina la conexión DDE con Access 2.0
Para probar el proyecto, deberá cargar Access 2.0 con la Base de datos que contenga el Formulario y el Informe abierta.

    Pregunta:  94 - SALVAPANTALLAS DE POWER POINT EN VISUAL BASIC
Autor:  Jolé
Soy un principiante en esto de la programación en Visual Basic y me han encargado que haga una especie de salvapantallas con una presentación de Power Point. La idea es que esta presentación con el visor de Power Point se vea en un ordenador como si de un salvapantallas se tratase, de forma que, cuando alguien tocase una tecla o el ratón se parase la ejecución y se viese el escritorio o la pantalla de ordenador como siempre. Hacer que se pare al tocar una tecla o el ratón no creo que sea difícil, pero no sé cómo hacer que con un Timer (al pasar 30 segundos, por ejemplo) se vuelva a cargar el salvapantallas.
¿Hay que convertirlo a .scr como los salvapantallas de Windows o hay una manera m&ás fácil?
  Respuesta:  Diego Fernando Gutierrez
bedes hacer el ejecutable .EXE y renombrarlo desde el dos a .SCR

c:\ren misalvapantallas.EXE misalvapantallas.SCR

luego colocar el archivo en la carpeta

c:\windows\system o c:\windows\system32

de esta manera el windows reconoce el nuevo protector de pantallas.

en el proyecto de visual basic debes hacer una linea de codigo.
en el form_load de el proyecto salva pantallas debes colocar:

sub form_load
if app.previnstance = true then end
end sub

app.previnstance valida si la aplicacion que esta cargando ya fue abierta, esto con el fin de que pasados los 30 segundos no se buelba a abrir.
esta linea de codigo es importante ya que el windows abre el protector tantas veces como se acabe el tiempo de espera.

espero te sirva de algo, alguna pregunta escribeme
  Respuesta:  Ramón González
Creo que la solución más sencilla es hacer un salvapantallas normal para windows, los ´.SCR´, luego es windows el que se encarga de ejecutar el salvapantallas según el tiempo que le pongas en el ´Panel de Control´.
Para hacer esto en windows 3.x solo tienes que crear un ejecutable normal en Visual Basic, pero poniendo como título de la aplicación:
SCRNSAVE : el nombre de tu salvapantallas
después cambias la extensión de tu programa, de

    Pregunta:  96 - COMO IMPRIMIR UNA GRÁFICA HECHA CON UN CONTROL GRAPH
Autor:  Jope
Como puedo imprimir imagenes, por ejemplo una gráfica hecha con el control Graph?
  Respuesta:  Xavi Vila
Para imprimir la gráfica de un control, puedes usar la instrucción PaintPicture como te detallo.
Printer.PaintPicture picture1.picture, PosicionVertical, PosicionHorizontal
Printer.EndDoc ´Envia los datos a la impresora
Saludos.

    Pregunta:  99 - COMO COPIAR UN ARRAY BIDIMENSIONAL EN OTRO
Autor:  Moises
¿Cómo puedo copiar un array bidimensional en otro en Visual Basic 4.0?
En C se hace con la función STRCPY, ¿Hay alguna similar en Visual Basic 4.0?
  Respuesta:  Paul Guerra
Lo mejor es utilizar la API CopyMemory si la matriz no contiene datos dinámicos (una matriz de string, o una matriz de una estructura que contiene un string o un object, por ejemplo). De lo contrario hay que copiarla a mano, usando un For...Next o similar.
  Respuesta:  Mauricio Y Carlos -
Nosotros usamos un vector cuyos elementos a su vez son un vector, luego se puede copiar recorriendo una dimensión sola...
  Respuesta:  CAON
CREO QUE NO HAY UNA FUNCION ASI PERO SI ES COMO YO PIENSO LO PODRIAS HACER CON EL SIGUIENTE CODIGO:
PARA:
DATOS(X,Y)
DATOS2(X,Y)

FOR A=0 TO X
FOR B=0 TO Y
DATOS2(A,B)=DATOS(A,B)
NEXT
NEXT

SE SUPONE QUE DATOS ES EL ARRAY QUE TU TIENES Y DATOS2 ES EL ARRAY AL QUE QUIERES COPIAR LOS DATOS...
ESPERO QUE TE SIRVA....
CHAO.......

    Pregunta:  101 - PROBLEMAS CON EL CRYSTAL-REPORT
Autor:  José
Si se desarrollan listados con el Crystal-Report 4.6, Windows NT y Access 97 esto no va. Solo va a traves de ODBC. Alguien sabe por que?
Gracias a todos
  Respuesta:  alex rozo
No necesariamente el reporte debe pasar por ODBC simplemente debe saber el path ó el dsn del ODBC.

Para configurar un reporte por Path en la propiedad DATAFILES(index) debe colocar el path y para una conexion ODBC simplemente debe colocar la propiedad Connect del reporte al DSN del ODBC.
  Respuesta:  MELISSA
Si va porque hasta hace poco realice uno de estos. Verifica bien las propiedades del cristal report con respecto a ACCESS, te prometo que para el lunes yo verificare en las propiedades de mi trabajo. La ruta de la base de datos tiene que estar bien especificada en las pripiedes y tienes que actualizar la base de datos.
  Respuesta:  Pedro
No se si trabajas también con Visual Basic. El error que comentas puede ser debido a la ubicación de la base de datos. Si utilizas el Visual, debes actualizarla desde el código fuente. Tambien puede ser, lo más seguro que si, es que el Acces 7.0 crea las bases de datos a 32 bits, y la versión que tienes del Crystal puede ser que trabaje a 16 bits. Suerte amigo...

    Pregunta:  104 - PROBLEMAS AL VINCULAR UNA BASE DE DATOS EN FORMATO GUPTA
Autor:  Jaime
Hola a todos. Tengo un problemazo con una aplicación y os envío este mensaje para ver si alguien me puede echar una mano lo antes posible.
Tengo una base de datos .MDB y quiero vincularle unas tablas de una base de datos externa de un formato llamado GUPTA. El caso es que solo dispongo de un driver de 16 bits para este formato, y no soy capaz de registrar un origen de datos en el ODBC de 32 bits. Por tanto, no puedo acceder por ODBC a esta BD y no puedo vincular las tablas. Me han dicho que la posibilidad de conseguir un driver actualizado es bastante remota.
He intentado registrar el origen tanto manualmente, a través del gestor de ODBC, como con el método RegisterDatabase. He fracasado ambas veces.
  Respuesta:  InCaSaS
En principio, si no tienes el Driver de ODBC para 32 Bits de GUPTA, date por jodido. Podrías intentar el atacar a ODBC vía API, manejando tu todo, pero sin el DRIVER, muy dificil. La otra solución, sería el saber el formato de los datos y utilizar rutinas hechas por ti para manejar los datos, para intentar enlazar por ejemplo, el GUPTA con ACCESS.
Si trabajas con 16 Bits, existen controles, como el VisualWriter de Visual Components, Inc. (http://www.visualcomp.com), en la cual tienes versiones TRIAL de estos controles. Te admiten RTF y funcionan en 16 y 32 Bits.
Echale, si puedes, un ojillo a mi JomPeich: http://www.geocities.com/BourbonStreet/Delta/3637/index.html

    Pregunta:  106 - IMPRIMIR UN RICHTEXTBOX
Autor:  Luis
La pregunta contestada número 36 no me soluciona el control sobre la impresión de un RichTextBox. ¿Sabe alguien cómo puedo imprimir línea a línea para controlar los fines de páginas y numerarlos o poner encabezamientos?
Agradeceria vuestra ayuda.
  Respuesta:  Aldo Coll
Este es un ejemplo que me pasaron a mi, nunca llegue a utilizarlo pero puede ser la solucion rich_text_box.zip

    Pregunta:  113 - PROBLEMAS CON LA RESOLUCIÓN DE LA PANTALLA
Autor:  Arturo
Tengo problemas con la resolución del monitor. Genere una aplicación en una resolución de 600x800 y las PC donde correra es de 640x480, y no encuentro forma de hacer los controles mas pequeños, ya busque por todos lados, espero su ayuda, Gracias.
  Respuesta:  PPCOOL
Cuando empecé a programar en Visual Basic se me presentó el mismo problema, en realidad es más fácil buscar un OCX o ActiveX que controla el tamaño de las formas, de los controles y de las letras, que buscar la forma por medio de código; yo tengo ese ActiveX que te servirá para solucionar tu problema, si lo quieres solicitamelo, y con gusto te lo mando... Ojala te sirva ya que es muy fácil de utilizar..
Adiosito...

    Pregunta:  116 - ABRIR DOCUMENTOS (RTF) DE WORLD
Autor:  Gilberto
Estoy desarrollando un sistema de gestión de documentos, que controle la aprobación, impresión, revisión etc. Los usuarios utilizan Microsoft Word para transcribir los documentos, y los salvan como RichText (.rtf), con la intención de ser manejador con el control RichText de VB 5.0
El problema es que se pierde cierta información cuando se usa el control para leerlo. Por ejemplo los usuarios utilizan mucho los encabezados y pie de página con dibujos, y esta información no se ve usando el control RichText de VB. Además como se podra obtener información acerca de la justificación, fuentes, margenes, etc...
De antemano, muchas gracias por las sugerencias...
  Respuesta:  Nereida Berrios
Hola, Nunca he utilizado el control que mencionas pero si me he traído información almacenada en un documento de Excel para guardarla en una base de datos Access desde VB 6.0 (no se si se pueda hacer esto en VB 5.0, pruébalo), perfectamente puedes cambiar el tipo de documento a Word porque maneja .RTF y eso lo puedes hacer siguiendo los siguientes pasos:
* En VB buscas Proyecto/referencias y agregas Microsoft Word 10.0 Object Library o similar
* en el modulo de importación declaras una variable como esta:
Dim DocWord As Word.Application, luego la aperturas
Set DocWord = New Word.Application
* Después grabas una macro en Word para abrir el .rtf y todo lo que quieras extraer del documento , te vas al editor de VB en Word y te copias el código que generó, lo depuras y pegas a tu proyecto en VB, a cada sentencia debes anteponerle el nombre de la variable declarada DocWord, te quedara de esta manera (Ejemplo:
DocWord.ChangeFileOpenDirectory "C:\"
DocWord.Documents.Open FileName:="DocPrueba.rtf", _ ConfirmConversions:=False, ReadOnly:=False, AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:="", Revert:=False, WritePasswordDocument:="", WritePasswordTemplate:="", Format:=wdOpenFormatAuto)
  Respuesta:  Martin Chumpitaz
No se si sea muy tarde esta respuesta pero puedes hacer uso del software Tx Text Control 7.0 que permite manejar muy bien toda clase de archivos con extensiones, txt,rtf(con todos sus atributos),html etc, y que cuenta con archivos de extension OCX que pueden ser utilizados en tu programa para crear tu propio procesador, es muy bueno, creo que puedes encontrar una version de prueba en internet. espero te sirva si necesitas mas informacion escribeme y te ayudare en lo que pueda, Suerte!!!!
  Respuesta:  Eduardo Maldonado
No entendí muy bien lo que pretende hacer, más sin embargo le cuento que yo intenté trabajar con el RichTexBox y archivos Rtf, existen problemas en al formato, justificación sobre todo.

Para esto lo hago inversamente, es decir lleno los datos del documento en Visual Basic, luego por medio de llamadas al Word desde el Visual Basic envio estos datos a una plantilla, con lo cual le puedo dar el formato que quiera. Los datos originales los guardo en una base de datos creada en Access, por lo que se pude volver a generar el documento las veces que se quiera, esto es muy rápido y evita llenar el disco duro de archivos .doc.

Si esto es lo que busca, comuníquese conmigo via email, Eduardo Maldonado, Pasto-Nariño, Colombia.

|<  <<  1 2 3 4 5 6 7 8 9 10 11  >>  >|