|
Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.
Mensajes - Brroz
Páginas: 1 ... 16 17 [18] 19 20 ... 43
426
« en: Jueves 15 de Abril de 2004, 17:20 »
Hola lejaro2003. Supongo que por ahí habrá más de un ocx o dll para hacer esto, pero también lo puedes lograr de una forma muy sencilla usando la función Shell con el mandato correspondiente. Por ejemplo: Usando pkzip: Shell "C:\Ruta\pkzip.exe -a archivo.zip archivo.xxx"
Tal como hace el asistente de empaquetado y distribución de VB SHELL "C:\ARCHIVOS DE PROGRAMA\MICROSOFT VISUAL STUDIO\VB98\WIZARDS\PDWIZARD\MAKECAB.EXE /f ""proyecto.DDF"""
(por supuesto sustituye el path de vb por el que corresponda) y deberás crear u obtener de alguna forma el archivo DDF. Aquí tienes un ejemplo de un fichero DDF: .OPTION EXPLICIT .Set Cabinet=off .Set Compress=off .Set MaxDiskSize=1457664 .Set ReservePerCabinetSize=6144 .Set DiskDirectoryTemplate=".." .Set CompressionType=MSZIP .Set CompressionLevel=7 .Set CompressionMemory=21 .Set CabinetNameTemplate="nombre_*.CAB" "Setup.Lst" "setup.exe" .Set Cabinet=on .Set Compress=on "archivo.dll" "MSVBVM60.DLL" "OLEAUT32.DLL" "OLEPRO32.DLL" "ASYCFILT.DLL" "STDOLE2.TLB" "COMCAT.DLL" "VB6ES.DLL" "MSCOMCTL.OCX" "MSCMCES.DLL" "MSFLXGRD.OCX" "FLXGDES.DLL" "SETUP1.EXE" "VB6STKIT.DLL" "ST6UNST.EXE"
Suerte.
427
« en: Jueves 15 de Abril de 2004, 17:09 »
Hola jcasiano. Debes establecer la opción de multiselección para el commondialog mediante su propiedad Flags. CommonDialog1.Flags = cdlOFNAllowMultiselect
Podrás recuperar la selección mediante la propiedad FileName que en este caso devolverá una cadena con los nombres cortos de los archivos seleccionados separados por un espacio en blanco (de ahí la necesidad de mostrar nombres cortos). Si ya usas algún otro 'flag', añade este otro mediante el operador OR. Suerte.
428
« en: Jueves 15 de Abril de 2004, 09:20 »
Hola micc.
Abre la base de datos como te comentaba antes:
Pulsa la tecla Shift y sin soltarla haz doble click sobre el archivo de la base de datos (o pulsa ENTER), es decir, ábrela con la tecla shift pulsada, y no la sueltes hasta que se abra la base de datos.
Sobre los ejemplos de conexión ADO, en este mismo foro creo que podrás encontrar suficiente información.
Suerte.
429
« en: Jueves 15 de Abril de 2004, 09:12 »
Hola. Prueba lo siguiente: En el código hay varios bucles de esta forma: Dim lng1 as long For lng1 = 0 To UBound(matriz) . . . Next lng1
Sustitúyelos por algo así: Dim lng1 as long, lng2 as long lng2 = UBound(matriz) For lng1 = 0 To lng2 . . . Next lng1
Esto es importante sobre todo si controlas los errores con un 'On Error Resume Next'. ¿Por qué? pues porque si una de las matrices (que están definidas dinámicamente) no está dimensionada, al intentar hallar el límite superior con UBound, obtendrás un error. Como el control de errores indica que se continúe con la siguiente instrucción (On Error Resume Next), el flujo del programa entraría en el bucle e iteración tras iteración se produciría una nueva condición de error y una nueva entrada en el bucle, con lo que el efecto es que el programa se queda colgado. Suerte.
430
« en: Miércoles 14 de Abril de 2004, 18:17 »
Hola.
Efectivamente, pero más de lo mismo... un usuario un poco espabilado y con unos mínimos conocimientos puede borrar los archivos.
Hombre, si el SO lo permite, lo más efectivo podría ser dar privilegios de sólo lectura al perfil de usuario que esa persona use para esos archivos.
De todas formas, reitero lo dicho antes: un usuario con ganas de joder la marrana es el peor de los problemas informáticos con los que te puedes encontrar.
Abur.
431
« en: Miércoles 14 de Abril de 2004, 18:11 »
Hola.
No creo que el problema esté en la ubicación de la bd. Si se debiera a eso, el ejecutable daría el correspondiente error.
Más bien suele tratarse de que el programa ha entrando en un ciclo que no tiene fin... Si ya has localizado la función en la que se cuelga, busca ahora los bucles que tengas en esa función y asegúrate que van a terminar de ejecutarse (fíjate especialmente en los índices de matrices dinámicas y cosas por el estilo).
Abur.
432
« en: Miércoles 14 de Abril de 2004, 18:04 »
Hola micc.
Creo que esa macro no debería ejecutarse conectándose a la bd mediante ADO, por ejemplo.
De todas formas, comienza identificando en que momento se ejecuta la macro (me imagino que al cargar algún formulario que está como objeto inicial de la bd, o tal vez se llame autoexec). Si tienes problemas para abrir la bd y buscar la macro, ábrela pulsando a la vez la tecla 'Shift'.
Tal vez la solución más sencilla sea prescindir de esas macros (si es posible) o buscar la forma de ejecutarlas en un momento distinto (asociarlas a algún evento de algun objeto de la bd, por ejemplo).
A ver, a ver...
433
« en: Miércoles 14 de Abril de 2004, 17:53 »
Hola Boo.
Efectivamente, NO he agregado ningún código y veo los controles sin hacer ningún click ... por si quieres más datos, está probado sin compilar el ejecutable corriendo en VB6 sp3 y w98 se.
Chao.
434
« en: Miércoles 14 de Abril de 2004, 09:59 »
Hola mau.
En un control Listview sólo podrías editar el valor de la etiqueta del ListItem (la primera columna si usas una vista 'report'), pero siempre puedes hacer aparecer un pequeño formulario en el que editar los valores...
Abur.
435
« en: Miércoles 14 de Abril de 2004, 09:45 »
Hola Luis0210. No conozco el control que utilizas, pero me da la sensación de que el problema está en el formato de la celda en cuestión Le hemos puesto formato a la celda (flex1.textmatrix(row,col)), sin embargo, ni aún así se ha podido evitar este problema.
¿Has probado utilizando otros formatos o incluso sin usar formato? En todo caso, repito que no conozco el control, pero ten en cuenta una cosa: si puedes editar datos alfanuméricos del tamaño que sean, también podrás editar cualquier dato numérico usando ese mismo formato no numérico y luego tú formatear el valor con una edición para número. Por ejemplo: Dim str1 As string str1 = Format(flex1.textmatrix(row,col),"#.###.##0,00;-#.###.##0,00;-") flex1.textmatrix(row,col)=str1
Si la columna está alineada a la derecha, aparentará tener formato de número. Chao.
436
« en: Miércoles 14 de Abril de 2004, 09:33 »
Hola Daniel.
En verdad debo estar espeso, porque sigo sin ver la trasparencia a que te refieres por ningún lado...
De todas formas, para conseguir algun efecto de fondo transparente (por ejemplo que como fondo de las diferentes fichas del tabstrip aparezca el escritorio), podrías hacer lo siguiente:
Usa PictureBox en lugar de Frames como contenedor para cada una de las fichas. Cuando vayas a hacer visible uno o otro contenedor, calcula las coordenadas relativas al ancho y alto de la pantalla (screen.Width, Screen.Height) , copia al PictureBox (BitBlt) la porción de la imagen de fonfo que corresponda al tamaño y posición del contenedor.
Aunque la verdad, no sé si es algo así lo que buscas...
Suerte.
437
« en: Miércoles 14 de Abril de 2004, 09:24 »
Hola.
Parece ser que no puedo adjuntar el archivo (debe ser por el tamaño 229 kb.)
Pero lo único que me he limitado a hacer es añadir unos cuantos controles (un CommandButton, ListBox, ComboBox, SkinLabel, PictureBox) y situarlos de forma que no se solapen para comprobar que son visibles, y de hecho lo son.
Suerte.
438
« en: Martes 13 de Abril de 2004, 16:58 »
Hola Boo.
Acabo de probar el ejemplo que adjuntas y a mi me funciona ok... Si añado otros controles al form también se visualizan sin problemas. Por supuesto, funciona sin hacer click en ningún lado.
Por otro lado y sobre el código anterior, si pruebas a poner algún código para el evento Form_DblClick, podrás comprobar como la llamada a la función SendMessage provoca que la ventana del formulario reciba un doble click... por lo que supongo que el tema de que tengas que clickear en el form para ver los controles no tiene que ver con VB...
En fin, a ver si tienes más suerte.
439
« en: Martes 13 de Abril de 2004, 15:45 »
Hola de nuevo.
He preparado este pequeño ejemplo para que veas a que me refiero... para cualquier cuestión estamos en contacto (aunque últimamente no entro en el foro tanto como me gustaría...).
Chao.
440
« en: Martes 13 de Abril de 2004, 10:14 »
Hola AYCUL.
Podrías establecer para los archivos attributos de sólo lectura y de ocultos (mejor), de todas formas eso no impediría en absoluto que alguien los borre, pero bueno, por lo menos lo pones un poco más difícil. De todas formas, la mejor solución puedes ser hablar con el usuario y poner las cosas claras, por que ante la mala leche las soluciones técnicas muchas veces no sirven de nada.
Suerte.
441
« en: Martes 13 de Abril de 2004, 10:05 »
Hola Daniel_PC.
El la imagen que adjuntas, no aprecio el fondo transparente al que te refieres. ¿Podrías concretar?
Chao.
442
« en: Martes 13 de Abril de 2004, 10:02 »
Completando un poco más.
Utilizo dos matrices dinámicas para almacenar los distintos valores de parámetros y/o variables.
Como complemento a la parte que ejecuta los scripts, tengo también creado un editor para ellos, con una especie de sencillo asistente para cada una de las funciones que permite el lenguaje de estos scripts.
443
« en: Martes 13 de Abril de 2004, 09:57 »
Hola ROBER.29
Tengo una aplicación hecha mediante la cual ejecuto scripts usando un 'pseudolenguaje'. Para hacer funcionar las distintas instrucciones, he creado un intérprete que analiza el texto del script buscando ciertos identificadores que delimitan el comienzo y final de un tipo de instrucción (por ejemplo, una sentencia SQL, un comando remoto, un envío por mail...) a partir de ahí identifico y separo lo que sería la instrucción (normalmente la primera palabra) de los parámetros de la misma (aquí también tiene que ver la sintáxis que decidas para cada instrucción). Cada instrucción corresponde con un método de mismo nombre con los correspondientes parámetros. El intérprete invoca estos métodos mediante CallByName.
Así a grandes rasgos... espero que esto te ayude. Abur.
444
« en: Martes 13 de Abril de 2004, 09:46 »
Hola _EL_DJ_LU.
Para transmitir esa imagen mediante sockets, utiliza la misma filosofía que para enviar un texto. Guarda la imagen en disco y ábrela en binario (OPEN archivo FOR BINARY AS canal), ve leyendo bytes y transmitiéndolos. Del otro lado, ve escribiendo en disco los bytes que recibes de igual forma.
Suerte.
445
« en: Martes 13 de Abril de 2004, 09:36 »
Hola VeRaCrUzAnItO-10- Así de buenas a primeras en un ListBox no puedes conseguir que cada item de la lista tenga un color diferente... tal vez subclasificando el control se pueda conseguir, pero esto debe ser complicado. Otra opción podría ser utilizar un RichTextBox al que irías añadiendo palabras seguidas de un avance de carro y nueva linea (vbCrLf), pero simular con este control las posibilidades de funcionamiento de una lista, también puede complicarse un poco. De todas formas, y con los pocos datos que das, tal vez te sirva lo siguiente: Aunque todas las palabras en el ListBox tengan el mismo color, puedes asociar a cada una el color que le correspondería (mediante la propiedad ItemData, por ejemplo) y cuando tengas que visualizar una de ellas en el TextBox, cambia su ForeColor por el que corresponda. Algo asi: Suponiendo que TextAdd es un TextBox que contiene la palabra a añadir. List1 es la lista en la que vas añadiendo. 'Añades la palabra List1.AddItem TextAdd.Text 'Asignas el color que sea List1.ItemData(List1.ListCount)=RGB(123,123,123)
TextDsp es otro TextBox en el que visualizas la palabra elegida. Private Sub List1_Click () If List1.ListIndex = -1 Then Exit Sub TextDsp.ForeColor = List1.ItemData(List1.ListIndex) TextDsp.Text = List1.List(List1.ListIndex) End Sub
A ver si esto te sirve de algo... Si quieres mostrar varias palabras a la vez de distintos colores usa un RichTextBox. Suerte.
446
« en: Martes 13 de Abril de 2004, 08:15 »
Hola. Puedes probar con la función del api SendMessage enviando a la ventana del formulario un 'doble click' ... Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long Private Const WM_LBUTTONDBLCLK = &H203 Private Sub Form_Load sendMessage Me.Hwnd, WM_LBUTTONDBLCLK, 0&, 0& End Sub
Suerte.
447
« en: Martes 6 de Abril de 2004, 15:35 »
Hola migralito.
Puedes averiguar si una variable de objeto referencia a un objeto o a 'nothing' de la siguiente forma:
If VariableDeObjeto Is Nothing Then MsgBox "No referencia ningún objeto"
De igual forma, si la propiedad a la que te refieres devuelve un objeto, podrías preguntar:
If Not VariableDeObjeto Is Nothing Then If VariableDeObjeto.Propiedad Is Nothing Then MsgBox "No referencia ningún objeto" End If
Suerte.
448
« en: Martes 6 de Abril de 2004, 15:31 »
Hola puedequesiempre.
Puedes utilizar campos de tipo memo para almacenar esos datos. Su funcionamiento es similar a los tipo carácter.
Suerte.
449
« en: Martes 6 de Abril de 2004, 15:29 »
Hola MAPACHA.
Usa la instrucción Kill de esta forma: Kill "C:\Ruta\archivo.ext". Si En tu caso el archivo que quieres eliminar es una dll activeX, deberías desregistrarla primero, para esto, usa algo así: Shell "REGSVR32 /U /S C:\Ruta\archivo.dll".
Suerte.
450
« en: Martes 6 de Abril de 2004, 15:11 »
Hola ZER.
Acabo de intentar simular la situación que describes, pero no he notado ese extraño comportamiento del grid... Por si te sirve de algo te adjunto el pequeño ejemplo que he utilizado para probar.
Suerte.
Páginas: 1 ... 16 17 [18] 19 20 ... 43
|
|
|