Hay un total de 3030 Preguntas. | << >> |
Pregunta: | 19561 - PROPIEDADES DE IMáGENES |
Autor: | Josemari Etxagibel |
Hola amigos!
Me gustaría que alguien me pudiese indicar cómo puedo saber, dada una imagen determinada (p.e. un archivo JPG), sus dimensiones, etc... Mi intención es visualizar imágenes en una ventana utilizando una control IMAGE y poder ajustar ese control al tamaño de la imagen para que no me la desproporcione (mantenga un equilibrio entre el alto y el ancho) Gracias por adelantado |
Respuesta: | Josemari Etxagibel |
Yo mismo he encontrado una solución, aunque no sé si es la mekor. Si a alguien se le ocurre algo que, por favor, me lo haga saber.
imgFoto es el control picture en el que se mostrará la imagen Cadena es el nombre del archivo a mostrar imgFoto.Visible = False imgFoto.Stretch = False 'para que me lo amplie a su tamaño real imgFoto.Picture = LoadPicture(Cadena) x = imgFoto.Height / MaxX 'MasX el tamaño X mayor que se puede mostrar. y = imgFoto.Width / MaxY 'MasY el tamaño Y mayor que se puede mostrar. 'Se ajusta el control al tamaño máximo que se pueda mostrar 'sin que se produzca una deformación de la imagen If x > y Then imgFoto.Height = imgFoto.Height / x imgFoto.Width = imgFoto.Width / x Else imgFoto.Height = imgFoto.Height / y imgFoto.Width = imgFoto.Width / y End If imgFoto.Stretch = True imgFoto.Visible = True 'Además si queremos saber el tamaño de la imagen no tenemos mas que dividir los valores X e Y entre 567 para pasar twips a cm. |
Pregunta: | 19579 - PROBLEMAS CON EL USER FORM DE VISUAL BASIC DE MICROSOFT WORD |
Autor: | Carlos Rocche |
Buen día, con una consulta, yo estoy haciendo un proyecto en Microsoft Word, el mismo lo estoy haciendo usando User Form de Visual Basic de Word, el problema radica que cuando asigno el valor al TextBox, necesito que dicho valor caiga en una posición determinada dentro del documento, pero no sé como declaro variables dentro de Word.
El Procedimiento en Excel es más facil, porque lo que hago es que el valor del Textbox lo asigno a una variable y luego a la celda, así: aa = Textbox1.text Range("A1").value = aa Si me pudieran ayudar se lo agradeceré mucho... Saludos |
Respuesta: | Iván Dario Calderón Caceres |
Hola Carlos Una Solución comoda es que cuando diseñes el documento de word insertes Marcadores en los lugares donde va a cambiar la información y por programación cambia los valores de los marcadores con la información de la consulta.
Para ello debe agregarle al proyecto la Referencia Microsoft Word 9.0. |
Pregunta: | 19588 - MONITOREO DE APLICACIONES |
Autor: | Rodolfo Mora Rocha |
Que tal, deseo saber si existe alguna forma de desarollar alguna aplicación con VB6, para que detecte el momento en que una aplicación este bloqueda, es decir me refiero a que cuando se oprime crtl+alt+supr se detalla sobre las aplicaciones que estás corriendo y su status. En el momento que alguna se bloquee, realizar algo.
Saludos y espero que me puedan ayudar. |
Respuesta: | Alfredo Gonzalez |
Realmente resulta facil el verificar si una aplicacion esta colgada en tu PC, yo hice un programa al cual llame gestor con el cual hago exactamente eso y ademas de saber si esta caida o bloqueada, la vuelvo a reiniciar automaticamente, lo unico que tendras que utilizar API, la que utilize fue FindWindow y GettimeProcess, con la primera verificas si no se ha caido y con la segunda si esta bloqueada, buscate informacion sobre estas APIs y veras que todo te resulta muy facil, cualquier duda escribeme y te detallo lo que hice... |
Pregunta: | 19591 - AGREGAR UNOS BYTES EN EL COMIENZO DE UN ARCHIVO |
Autor: | Ramon Villegas Rodriguez |
Agregar en un Archivo una una parte al principio de el.
Es decir como hacer un append pero en el principio no al final. Lo he intentado creando primero un archivo y grabar lo que necesito al princio y despues copiar todo lo demas del original. Haciendolo con open open, input, put. Pero por ejemplo un archivo de 12 mb tarda como dos minutos. Es decir demasiado tiempo. Desde ya muhas gracias. Por favor mandar la respuesta al mail. |
Respuesta: | Javier Perez |
No existe otra forma, al menos otra forma sencilla.
Hay una forma, pero exige programar a muy bajo nivel, interfiriendo con el sistema, lo cual es muy poco recomendable si no se tiene muy claro que es lo que se está haciendo. Intentaré explicarla lo mejor que pueda. Como sabes (y si no lo sabes te lo digo yo) los ficheros en el disco duro están organizados en clusters, de forma que siempre que se asigna más espacio a un fichero, se le asigna en clusters completos, independientemente de que únicamente se necesiten unos pocos bytes mas. El directorio y la FAT proporcionan la información de los clusters que corresponden a un fichero, de manera que en el directorio existe una entrada que indica cual es el primer cluster asignado al fichero. Luego, consultando en la FAT en la posición obtenida con la entrada del directorio se puede saber cual es el siguiente cluster asignado. Con este nuevo dato podemos a su vez obtener el siguiente cluster, y así sucesivamente hasta que la FAT contiene un número especial que indica que ya no hay mas clusters asignados al fichero. Según esto sería posible modificar la entrada del directorio para que apuntase a un nuevo cluster tomado del espacio libre del disco, donde se almacenaría la información que hay que incluir al principio. Luego habría que modificar la FAT para que indicase que el siguiente cluster a este nuevo cluster es el primero de los que originalmente tenía el fichero, con lo que habríamos conseguido añadir información al principio del fichero sin efectuar un solo movimiento de datos, en un tiempo (despreciable) constante independientemente del tamaño del fichero. Ahora bien, esta solución tiene dos inconvenientes: - Primero, y muy gordo, la complejidad de la programación necesaria. Repito, no es labor para cualquiera. - Segundo, la información añadida al inicio del fichero ocuparía un cluster completo, con lo que obtendrías una zona vacía entre los datos añadidos y el inicio de los datos originales. Esto puede ser un inconveniente o no, dependiendo de tus necesidades. Mi consejo es que intentes acelerar al máximo el proceso del movimiento de datos. Por ejemplo, intenta leer en bloques grandes y que sean múltiplos de 1K (64K, 128K, ...) |
Pregunta: | 19610 - VISUALIZAR VARIAS COLUMNAS EN UN COMBO DE VB6? |
Autor: | toni lopez |
Quizà lo que estoy preguntando es de fàcil solución pero yo no la he encontrado por ninguna parte. Por favor, si tuvierais la amabilidad de contestarme os lo agradeceria mucho ya que no tendria que dar mas escusas a mi jefe de por que no lo hago. Muchas gràcias. |
Respuesta: | Carlos Alberto |
Yo tampoco pude pero en la propiedad "additem" del combo ahi puse formateada las comunas que querian que aparezca.
Ya luego solucione mi problema comprando el combo de Apex y ahio esta padrisimo porque solo vinculas al combode paex un recordset y automaticamente te desplega todo las columnas al momento de seleccionar. |
Pregunta: | 19623 - IMPRIMIR COPIAS DE DATA REPORT CON PIE DIFERENTE |
Autor: | jr cerced |
Tengo un Informe creado con Data report del cual necesito imprimir 3 copias pero que en cada una de ellas aparezca un pie de página (mas bien una etiqueta) diferente.
¿Hay alguna posibilidad de realizar esto sin tener que crear 3 informes diferentes y mandarlos imprimir a la vez? Gracias de antemano. |
Respuesta: | Javier Gonzalez |
Si es posible lo que puedes hacer es : ponder un rptlaber en el pie de pagina.
Antes de Mandar a imprimir el datareport tendrías que módificar por código el rptlabel.caption del pie de página. para ello tenes que recorrer los controles de la seccion del datareport. creo que la seccion pie de pagina es seccion(1), si no proba con otro numero ejemplo: (tu rptlabel de pie de pagina se llama "lbTitulo") dim oCTRL as Object for each oCTRL in Drs1.Seccion(1).controls if oCTRL.Name = "lbTitulo" then lbTitulo.Caption = "nota de pie de pagina" end if next oCTRL y mandas a imprimir..... despues vuelves a ejecutar el codigo de arriba y nuevamente imprimes bueno espero haberta ayudado saludos |
Pregunta: | 19660 - VINCULACIóN DE TABLAS DE DIFERENTES BASES DE DATOS |
Autor: | Rodrigo Arredondo |
Hola:
Tengo un problema. ¿Cómo puedo vincular dos tablas pero con bases de datos diferentes respectivamente?. Estoy trabajando con MySQL y VB, se que para vincular dos tablas pero con la misma base de datos se utiliza la sentencia INNER JOIN, quisiera por favor me pudieran ayudar con una explicación y un ejemplo, ya sea utilizando Recordsets o las sentencias de SQL. De antemano Gracias. |
Respuesta: | Daniel Guevara |
Bueno te comento que no lo he hecho con SQL sino con access aunque no creo que sea mucha la diferecia, rescate esta rutina de Visual la utilizo poruqe tengo una aplicacion que funciona en sistio con equipos que cambian mucho de dirrecion, simplemente tomo la ubicación de donde esta la base de datos y donde esta la base de datos de donde quiero vincualr, elimino las tablas vinculadas y las vuelvo a vincular desde la nueva ubicacion.
Espero haberte ayudado un poco Public Sub ADJUNTOS(Ori As String, des As String) ' Adjunta las tablas necesarias para el programa Dim MBBB As Database Dim MBBB2 As Database Dim sConnect As String Dim tbl As TableDef Dim tdf As TableDef Dim i As Integer Dim sTmp As String Set MBBB = OpenDatabase(des) ' A DONDE SE VINCULA Set MBBB2 = OpenDatabase(Ori) ' DE DONDE SE VINCULA sConnect = ";database=" & MBBB2.Name Screen.MousePointer = vbHourglass On Error Resume Next For Each tdf In MBBB.TableDefs If (tdf.Attributes And dbAttachedTable) = dbAttachedTable Or _ (tdf.Attributes And dbAttachedODBC) = dbAttachedODBC Then sTmp = "DROP TABLE [" & tdf.Name & "]" MBBB.Execute sTmp End If Next For Each tdf In MBBB2.TableDefs If (tdf.Attributes And dbAttachedTable) = dbAttachedTable Or _ (tdf.Attributes And dbAttachedODBC) = dbAttachedODBC Then Else If (tdf.Attributes And dbSystemObject) <> dbSystemObject Then Set tbl = MBBB.CreateTableDef(tdf.Name) tbl.SourceTableName = tdf.Name tbl.Connect = sConnect MBBB.TableDefs.Append tbl End If End If Next On Error GoTo 0 Screen.MousePointer = vbDefault Exit Sub AttachErr: ' Resume 'x End Sub |
Pregunta: | 19665 - FUNCION EVAL - EVALUAR UNA EXPRESION |
Autor: | Julio Arango |
En access hay una funcion muy útil llamada Eval(Expresion), la cual evalua la expresion y devuelve el resultado.
Mi pregunta es, cómo invocarla desde Visual Basic? Hice referencia al objeto access, se puede llamar la funcion pero me devuelve un valor erroneo, por ejemplo, Eval(year(date())) me devuelve 1899. No se por que ocurre esto. Si alguien me puede ayudar, le agradezco de antemano. |
Respuesta: | Javier Perez |
Si lo que quieres es poder evaluar expresiones, tienes varias posibilidades:
- Utilizar un control ActiveX que proporcione métodos adecuados; un ejemplo (gratuito) lo puedes localizar en http://digilander.iol.it/lorenzodv/acx_misc.html con el nombre de Equator. - Utilizar la tecnología Windows Scripting . Mediante esta tecnología puedes incorporar en tus programas la capacidad de evaluar expresiones de cualquier tipo, tanto en VBScript (Visual Basic Script) como en JScript (Java Script). Desde luego esta es la posibilidad mas completa, aunque la mas compleja, claro. Si te interesa, puedes encontrar todo lo que necesitas en http://msdn.microsoft.com/scripting/ - "Currártelo". Evidentemente, la opción mas laboriosa, aunque nunca descartable, en función de lo que necesites. |
Pregunta: | 19680 - MODIFICAR ODBC DESDE VISUAL BASIC |
Autor: | FERNANDO RUIZ |
Cómo puedo modificar los datos ingresados en un odbc desde una aplicación en visual basic, necesito direccionarme a varias bases y quiero hacerlo mediante un solo odbc. |
Respuesta: | KIKE |
Hola Fernando:
Te envio la propiedad con la que puedes modificar el ODBC DBEngine.RegisterDatabase strODBC, sDriver, True, sattrib strODBC NOmbre del ODBC sattrib = "DBQ=" ruta de la base de datos & vbCr & "FIL=Ms Access (o tipo de base de datos que utilices " & vbCr & "UID=Administrador" sDriver = "Microsoft Access Driver (*.mdb)" Si tienes alguna duda me mandas un correo y te enviare el codigo. Saludos |
Pregunta: | 19691 - DETECTAR VELOCIDAD DEL PROCESADOR BAJO W98 |
Autor: | Juan Manuel Cordero Suero |
Hola Amigo¡ Necesito saber, a través de codigo fuente Visual basic o accediendo al registro de windows, como extraigo la información de la velocidad del procesador de la cpu. ya lo he conseguido en windows 2000, accediendo a la clave del registro "~Mhz", pero en windows 98 no la tiene.¿Sabe alguien como puedo conseguirlo para windows 95/98? Gracias por todo. |
Respuesta: | Claudio Romero |
Hola:
Windows 98 no calcula la velocidad del procesador, tampoco tiene una funcion que devuelva la misma. En este archivo http://www.gratisweb.com/qhm/medir_ciclos.zip hay un ejemplo en Visual Basic de como llamar a una libreria que calcula la velocidad del procesador. medir_ciclos.exe: ejecutable en Visual Basic, con fuentes. medir_ciclos.dll: libreria hecha en Delphi y assembler, tiene dos funciones, una es la que calcula la velocidad del procesador. Esto solo funciona en procesadores Pentium y superiores. |
|< << 168 169 170 171 172 173 174 175 176 177 178 >> >| |