PREGUNTAS CONTESTADAS - Visual Basic

 Hay un total de 3030 Preguntas.<<  >> 

    Pregunta:  4767 - CALIDAD AL IMPRIMIR UN PICTURE
Autor:  Jesus Martinez Cantero
como puedo imprimir un picture sin que pierda calidad, ¿se puede utilizar otro control o algo asi? mi problema es que utilizo un picture para hacer etiquetas y con el metodo print pongo texto en el pictture, pero al imprimir no me da calidad, como puedo solucionarlo. Gracias
  Respuesta:  juan cecconi
Para no perder calidad en una impresion es necesario que la imagen a imprimir tenga un tamaño aproximado a la imagen impresa, de esta forma al estirar la imagen (stretch)no hay que inventar puntos (pixeles) que no existe mediante algoritmos de reconstruccion. Para poder hacer esto de manera simple debes tener un picture de aproximado al final, utilizando el width y height en pixeles para conocer el tamaño real. En realidad la manera profesional de realizar esto es utilizando las APIS de mapas de bits (GetDIBits, SetDIBits,StretchDIBits y demas de impresion y Contextos de Dispositivos) que es bastante mas complicado.

    Pregunta:  4769 - PROGRAMAR PINES DEL PUERTO SERIAL CON VB
Autor:  SOFIA PEREZ
Sabe alguien cómo programar con VISUAL BASIC por lo menos 3 de los 9 pines que tiene cualquier PC en su puerto serial?
Agradezco de antemano cualquier sugerencia.
  Respuesta:  J RC
No entiendo muy bien tu pregunta. Si lo que quieres es utilizar el puerto serie, Visual Basic dispone de un control que lo encapsula, y es muy cómodo de utilizar. Si en cambio deseas acceder a bajo nivel, me temo que Visual basic no sea el lenguaje apropiado, ya que no tiene recursos como para llegar a niveles tan bajos, y es mejor que utilices el lenguaje C++.

    Pregunta:  4781 - UTILIZANDO FORMULARIOS EN DLL
Autor:  David Varez
Me gustaria saber por que, al intentar meter un Grid de Sheridan dentro de una Dll, este no se comporta igual que como si estuviera integrado en un proyecto.

Mi Dll cuenta con 2 formularios, 2 modulo normal, 1 modulo de clase, 1 archivo de recursos, y un entorno de datos DataEnvironment.

Este mismo formulario (donde estan los grids), funcionan bien en un proyexto normal, pero al llevarlos a una dll, no funcionan.

Sabe alguien por qué?

Gracias
  Respuesta:  Agustín Mántaras
Hola david, el problema que se te ha presentado me ha pasado 709 veces por lomenos y no sólo con grids... con muchos controles y funcionalidades.

el problema de las dll's es que ha muchas funcionalidades que no las puedes implantar. lo mejor es que en una dll nunca pongas formularios cargados y si es posible ni siquiera formulrios... prueba a poner el formulario en tu proyecto y en la dll realizas las llamadas a los métodos de carga, enm fin.... no sé como lo habrás hecho.

saludos!

    Pregunta:  4789 - ORDENAR UN RECORSET
Autor:  Daniel Perez
Necesito ordenar un recorset de tipo Table, probe usando

nombrerecorset.sort="campo" -> dynaset
nombrerecorset.index="indice " -> table

No funcionan ya que al recorrerlos estan como originalmente se abrieron

Saludos
  Respuesta:  mauro rondinelli
Lo Mejor que podes hacer es realizar una consulta sql, aca te mando un ejemplo de como hacerlo:

Sim BDDatos as DataBase
Dim Tabla as Recordset
Dim SQL as String

SQL = "SELECT * FROM nombre_de_tabla ORDER BY campo_a_ordenar"

Set BDDatos = OpenDatabase("archivo.mdb")
Set Tabla = BDD.OpenRecordset(SQL)

´Listo
Ahora te explico lo que contiene la Cadena SQL

en nombre_de_tabla pone el nombre de la tabla que queres abrir, (sin comillas), y en campo_a_ordenar pone el campo que queres ordenar, si queres ordenarlo en forma Ascendente tenes que poner despues de campo_a_ordenar ASC, y en forma descendente DESC y listo.
  Respuesta:  Iñaki Oraindi
Una forma de ordenar es abriendo la tabla como instruccion SQL.
Por ejemplo.
dim mibase as database
dim mitabla as recordset

MISQL = "select * from autores order by nombre"
set mibase = opendatabase("libros.mdb")
set mitabla = mibase.openrecordset(misql
while not mitabla.eof
......
wend

    Pregunta:  4791 - CARGA DE CONTROLES MEDIANTE SU STRING
Autor:  Fernando Gallego Garcia
Me gustaria saber si existe alguna forma de teniendo un string con el nombre del control, cargar en tiempo de ejecucion ese control. El tema esta en utilizar un campo char de una base de datos que contiene nombres de formularios a abrir. Por ejemplo en X de tipo char tengo "form1". ¿Como utilizo X para abrir form1? Gracias.
  Respuesta:  Victor Sanchez
La respuesta de Xavi no funciona, no sé si entendió la pregunta o respondió por responder.
Esta es su "solución":
Dim a As Form
Set a = Form2
a.Show
End Sub

El problema consiste en que de una base de datos se ha recibido el nombre del formulario a cargar, el cual puede ser Form2, Form45, Form500 o LaCrestaDelGallo.
Ejm. dim XXX as string
XXX = rs("NombreFormulario")
¿Como se hace para cargar el formulario cuyo nombre está en la variable XXX?.

Por favor si alguien responde que lo haga con base.
  Respuesta:  Xavi
Aqui te pongo un ejemplo, para abrir un formulario:

Desde el formulario ´form1´

Private Sub Command1_Click()
Dim a As Form
Set a = Form2
a.Show
End Sub

De esta manera, se abre el formulario ´form2´.

    Pregunta:  4795 - VISUAL BASIC EN EXCEL
Autor:  Ariel Plaza
Tengo un archivo(copia) que se vincula y toma los datos de otra planilla(original) Excel, cuando otra persona en la red modifica el original, se actualiza mi archivo copia.
Cómo puedo lograr que, estando abierto mi archivo de excel en segundo plano, un procedimiento, macro, función...o lo que sea, me indique que el archivo a sido modificado en determinada celda.
  Respuesta:  gustavo Toro
Supongo que no tienes comunicación directa entre las 2 instancias de excel
Yo crearía un componente de código Activex que abriera tu copia de excel y la administrara(efectura los cambios sobre esta a traves de los objetos que excel expone para su uso en VB)
En la copia original del documento en el evento

el evento Worksheet_Change(Range)
se ejecuta cuando cambia un rango de celdas de la hoja.

en este evento llama a la función de actualización implementada en el objeto Activex.

al activar la página crearía una instancia de mi objeto y al desactivarla la destruiría
Worksheet_activate
Worksheet_deactivate respectivamente

Espero que te sirva de algo.
Si requieres más ayuda con respecto a esto

    Pregunta:  4818 - COMO HACER UN PROGRAMA TIPO NETMEETING
Autor:  Eugenio
Estoy tratando de enviar voz en tiempo real a traves de la red con un control winsock y solo consigo enviar archivos .wav caturados de la tarjeta de sonido con sndPlaySound y guardados(demasiado lento y ademas pierde informacion).. Agradeceria cualquier ayuda sobre el tema. muchisimas gracias
  Respuesta:  DIEGO GUIDA
CON VISUAL 5, EL OBJETO NETMEETING ES REFERENCIABLE DESDE REFERENCES, Y CON ELLO, UTILIZADO COMO UN OBJETO.
CON VB6 + WINDOWS 2000, NO ENCUENTRO UN OBJETO DEL MISMO TIPO, PERO SUPONGO QUE DEBE ESTAR METIDO EN ALGUN OBJETO DE MAYOR JERARQUIA.

SI DESCUBRO ALGO AL RESPECTO, TE AVISO.

    Pregunta:  4843 - PROGRESSBAR EN VB
Autor:  David Brunetto
Yo doy la orden de copiar un archivo utilizando un objeto systemObjects. Si yo quiero mostrarle al usuario el progreso de la copia con una barra de progreso, ¿Cómo hago para que los dos procesos se sucedan en forma simultánea? Es decir si yo primero le digo a la barra de progreso que se recorra de principio a fin, la copia del archivo no comienza hasta que la barra haya terminado su tarea, y si a la inversa doy la orden de copia primero, la barra de progreso no comienza hasta que la copia haya concluído.
Se me ocurre que debe haber una forma de que el procesador dedique fracciones de tiempo en forma alternada entre las dos tareas. ¿Cómo se hace?
Desde ya muy agradecido a todos.
  Respuesta:  juan cecconi
Buenas , aqui te mando una respuesta que probablemente sea algo compleja pues esta en "C" (si sabes algo de "c" te será facil), pero no te preocupes que en la ayuda si buscas esta funcion API hay bastante informacion para usarla en VB. Hacerlo de otra forma seria muy complejo pues esta API ya hace todo, y el realizarlo manualmente requeriria objetos de sincronizacion que son mas dificiles de manejar!!!
Aqui va el codigo:

#include <Shellapi.h>

void CopiarFiles()
{
SHFILEOPSTRUCT FileOp;
char Src[255];
char Dst[255];
char Titulo[] = "Copiador Juanito";
int i;

strcpy(Src,"C:\\Tmp\\Prueba.txt"); //Doble Barra pues en C la "\" es especial!!!

i = strlen(Src);
Src[i+1] = NULL ;//Agrego un 2do NULL!!!
//
strcpy(Dst,"A:\\Prueba.txt"); // Copio al A: para que sea mas lento y se vea la barra de progreso!!!
i = strlen(Dst);
Dst[i+1] = NULL ;//Agrego un 2do NULL!!!

FileOp.hwnd =hWnd; // en vb seria Form.hwnd !!!
FileOp.pFrom = Src;
FileOp.pTo = Dst;
FileOp.wFunc = FO_COPY;
FileOp.fFlags = 0 ;// FOF_RENAMEONCOLLISION + FOF_SIMPLEPROGRESS ;
FileOp.hNameMappings = NULL;
FileOp.lpszProgressTitle = Titulo;
i = SHFileOperation(&FileOp);
if (FileOp.fAnyOperationsAborted != false)
MessageBox (NULL,"Ha decidido abortar la copia !!!","Copiador Juanito",MB_ICONEXCLAMATION + MB_OK);
}


cualquier consulta enviame un mail !
  Respuesta:  Daniel Figueroa Aguirre
Prueba utilizando DoEvents, debes colocarlo entre las ordenes.
  Respuesta:  el raul yo soy
tu problema es sencillo, debes tener cierta variable para que sea tu fraccionadora, realiza una funcion donde le mandes esta variable, cada que entres incrementala, haciendo que tu barra tome este valor.

    Pregunta:  4844 - TÍTULOS EN CRYSTAL REPORT
Autor:  Mariano Laguzzi
Hola, quisiera saber como puedo cambiar un título de un reporte hecho en crystal report, pero en EN TIEMPO DE EJECUCION.

Gracias
  Respuesta:  Rodrigo Garcia
Si lo que quieres cambiar es el título de la ventana del informe en tiempo de ejecución puedes hacerlo de la siguiente forma.

Imagina que hay un botón que se llama cdmImprimir y el control OCX de CrystalReports se llama rptInforme:

Private Sub cmdImprimir_Click()
With rptInforme
.DataFiles(0)=App.Path & "\MIBD.MDB"
.ReportFileName=App.Path & "\Informe.RPT"
.Destination=crtpToWindow
.WindowTitle="Titulo del informe"
.PrintReport
End With
End Sub

Y ya está. La propiedad WindowTitle (Titulo de Ventana) te permite cambiar en tiempo de ejecución el título de la ventana en la que se visualice el informe.

Saludos, espero haberte solucionado el problema, si no era ese, puedes escribirme e intentaré solucionártelo.

    Pregunta:  4860 - MAPIS Y WINDOWS NT
Autor:  Luis Cáceres
Saludos.

Desarrollo una aplicación en vb6 utilizando controles MAPI provistos por Visual Basic. la aplicación envia y recibe correos sin mayores problemas desde windows 9.x pero en windows Nt al iniciar la sesión no va a buscar los correos al servidor. La propiedad DownloadMail esta habilitada así que no se que puede ser.

Otra consulta se refiere a qu la aplicación envia alrededor de 18 mensajes de correo en un ciclo, el problema es que solo me envia el primero y los demas los deja en la bandeja de salida.

Espero que me puedan ayudar con estos problemas ...

De antemano Gracias
  Respuesta:  agustín mántaras
hola luis.

yo ya he realizado aplicaciones con mapi en NT Y EL PROBLEMA (por lo que veo) aunque puede ser por otros motivos es que si el lproyecto lo has estado desarrollando bajo w9x necesitarás actualizar las dll\'s de mapi al proyecto cuando la instales en NT ya que muchas utilizan fucniones utilizar formatos que difieren de w9x

un saludo

|<  <<  70 71 72 73 74 75 76 77 78 79 80  >>  >|