• Domingo 19 de Mayo de 2024, 02:54

Mostrar Mensajes

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 ... 39 40 [41] 42 43
1001
Visual Basic 6.0 e inferiores / Re: Puerto Serie
« en: Martes 19 de Agosto de 2003, 10:55 »
Tal vez tu problema sea que el proceso que ejecutas para mostrar las imagenes no da oportunidad a que se desencaden los eventos de los componentes. Prueba añadiendo la instrucción 'DoEvents' en tu código. ¿Que donde la pones? Pues por ejemplo, después del método o función que utilices para mostrar cada una de las imágenes.

A ver si este era tu problema y así se soluciona. Suerte.

1002
Visual Basic 6.0 e inferiores / App.Path
« en: Lunes 18 de Agosto de 2003, 12:05 »
Podrías probar copiando el ejecutable fuera del escritorio, por tener algún dato más (seguramente te funcionará ok).

Si no me equivoco tanto en wNT como en 2000 (¿acaso no es la misma plataforma?) el escritorio 'cuelga' de la carpeta 'WINNT'. ¿Puede estar ocurriendo que el propio SO haga que estas carpetas 'especiales' no sean visibles para la función 'Path' del objeto 'App' y que sólo muestre la primera carpeta que sea accesible? Si esto fuera así tendría sentido que el resultado de 'App.Path' sea 'C:WINNT', en caso contrario: no entiendo nada. Desde luego lo que si te puedo decir es que en w95 y 98 'App.Path' muestra la ruta correctamente, esté el ejecutable en el escritorio, mi maletín, esté donde esté...

En fin, lamento no poder ser de más ayuda... a ver si alguien que comprenda windows arroja luz sobre el tema.

Un saludo.

1003
Visual Basic 6.0 e inferiores / Re: App.Path
« en: Lunes 18 de Agosto de 2003, 10:36 »
'App.Path' devolverá en modo diseño la ruta en la que se encuentra el archivo del proyecto. Una vez compilado el valor devuelto corresponde con la ruta en la que se encuentra el ejecutable.

Si a ti no te funciona así... Me parece muy extraño. ¿No estarás ejecutando un acceso directo?¿Dónde se encuentra tú programa?

Un saludo.

1004
Visual Basic 6.0 e inferiores / Re: PARA J. M. MOVILLA o para algun AUDAS
« en: Lunes 18 de Agosto de 2003, 08:31 »
No hombre, no. ¡Cómo va a ser un reproche a Movilla...!

 El comentario va por quién no responde los mensajes que inicia y propone tratos a cambio de ayuda

(" y a cambio te respondere o te dare algunos de mis sistemas de FACTURACION y VENTAS ")

, que a mi entender en un foro como este, donde se contesta desinteresadamente, no tienen cabida.

Que no haya malos entendidos. Saludos.

1005
Visual Basic 6.0 e inferiores / Re: PARA J. M. MOVILLA o para algun AUDAS
« en: Miércoles 13 de Agosto de 2003, 08:44 »
Que trato más enrrollado... La ayuda había que facturartela con uno de tus pgms, ya que el valor de las respuestas de cualquiera en este foro es tan valiosa como la tuya.

Lembranzas.

1006
Visual Basic 6.0 e inferiores / Microsoft Internet Transfer Control
« en: Miércoles 13 de Agosto de 2003, 08:31 »
Me da la sensación que tu problema no está en cómo 'se sube' el fichero, sino más bien en cómo lo lees.

Si abres el fichero en modo binario (OPEN fichero FOR BINARY AS #numero) y mediante el método GET puedes leer uno o más bytes del fichero, almacenando el valor de cada byte en una variable o en un elemento de una matriz.

El valor Lo verás según el tipo de datos de la variable: si la variable es de tipo byte, lo verás como un número en decimal del 0 al 255, si es carácter lo verás como el caracter ascii correspondiente al valor del byte, ...

Podrías usar una función de este tipo para obtener el valor binario de un número decimal como ceros y unos en una cadena (aunque no sé cómo ira el rendimiento). Si el parámetro 'RevByteOrder' es True, indica que el orden de los bits que componen el número están en orden inverso, es decir, primero el bit más significativo :

Public Function Binario(ByVal NumBase 10 as Long,Optional ByVal RevByteOrder As Boolean) As String
   
    Dim intExp As Integer
    Dim str1 As String
    Dim int1 As Integer

    Do While True
        If 2 ^ intExp > NumBase10 Then
            If intExp > 0 Then
                intExp = intExp - 1
            End If
            Exit Do
        End If
        intExp = intExp + 1
    Loop

    If Not RevByteOrder Then

        For int1 = intExp To 0 Step -1
            If NumBase10 < (2 ^ int1) Then
                str1 = "0" & str1
            Else
                str1 = "1" & str1
                NumBase10 = NumBase10 - (2 ^ int1)
            End If
        Next int1

    Else

        For int1 = intExp To 0 Step -1
            If NumBase10 < (2 ^ int1) Then
                str1 = str1 & "0"
            Else
                str1 = str1 & "1"
                NumBase10 = NumBase10 - (2 ^ int1)
            End If
        Next int1

    End If

    Binario = str1

End Function

Espero que esto te vaya bien... Saludos y suerte.

1007
Visual Basic 6.0 e inferiores / Re: Cambiar el tipo de letra a todo un proyecto
« en: Jueves 7 de Agosto de 2003, 11:50 »
Una forma podría ser la que a continuación te explico. Antes de nada, avisar que si esto es algo que necesitas muy a menudo, te merece la pena ponerte, en caso contrario ...

La idea es la siguiente:

Si abres un formulario de vb con un editor de texto, te encontrarás con bloques de texto de este estilo:

      Begin VB.TextBox Text1
         BeginProperty Font
            Name               =   "Arial"
            Size                   =   8.25
            Charset            =   0
            Weight              =   400
            Underline         =   0   'False
            Italic                   =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   330
         Left            =   240
         TabIndex        =   3
         Top             =   3240
         Width           =   4695
      End

Cada bloque identifica objetos del formulario, desde el formulario mismo a otros controles que contenga.
Si te fijas, en medio de cada uno de estos bloques, puede haber otro bloque para la propiedad Font del objeto.

Bien. Aquí viene la cuestión. Se trataría entonces de hacer un programita que fuera leyendo cada uno de los archivos *.frm, identificando los bloques del estilo

         BeginProperty Font
                .
                .
                .
         EndProperty

y fueras sustituyendo los valores por los que a ti te interesen.

Como te decía al principio, creo que deberías valorar hacer o no un programa de este estilo según el trabajo que te vaya a ahorrar en un futuro, ya que tal vez para una ocasión puntual, lo que te merece la pena es seguir el consejo de chiaravel. De todas formas si te pones a hacer el programa, utiliza para depurar mientras lo haces un formulario de prueba, no vaya a ser que escaralles alguno que ya tienes hecho.

Un saludo y suerte.

1008
Visual Basic 6.0 e inferiores / Re: Cambiar el tipo de letra a todo un proyecto
« en: Jueves 7 de Agosto de 2003, 11:41 »
Una forma podría ser la que a continuación te explico. Antes de nada, avisar que si esto es algo que necesitas muy a menudo, te merece la pena ponerte, en caso contrario ...

La idea es la siguiente:

Si abres un formulario de vb con un editor de texto, te encontrarás con bloques de texto de este estilo:

      Begin VB.TextBox Text1
         BeginProperty Font
            Name               =   "Arial"
            Size                   =   8.25
            Charset            =   0
            Weight              =   400
            Underline         =   0   'False
            Italic                   =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   330
         Left            =   240
         TabIndex        =   3
         Top             =   3240
         Width           =   4695
      End

Cada bloque identifica objetos del formulario, desde el formulario mismo a otros controles que contenga.
Si te fijas, en medio de cada uno de estos bloques, puede haber otro bloque para la propiedad Font del objeto.

Bien. Aquí viene la cuestión. Se trataría entonces de hacer un programita que fuera leyendo cada uno de los archivos *.frm, identificando los bloques del estilo

         BeginProperty Font
                .
                .
                .
         EndProperty

y fueras sustituyendo los valores por los que a ti te interesen.

Como te decía al principio, creo que deberías valorar hacer o no un programa de este estilo según el trabajo que te vaya a ahorrar en un futuro, ya que tal vez para una ocasión puntual, lo que te merece la pena es seguir el consejo de chiaravel. De todas formas si te pones a hacer el programa, utiliza para depurar mientras lo haces un formulario de prueba, no vaya a ser que escaralles alguno que ya tienes hecho.

Un saludo y suerte.

1009
Otra forma de utilizar la sentencia SQL, usando controles, es asignándola a la propiedad RecordSource de un control data.

Adodc1.RecordSource = "SELECT SUM(Importe) AS Total FROM Tabla WHERE Fecha BETWEEN #" & Text1.Text & "# AND #" & Text2.Text & "#"

Y Luego:

Adodc1.Refresh  
DataGrid1.ReBind

Espero que esto te resulte más sencillo. De todas formas te recomiendo que busques información y ejemplos (en este foro mismo) sobre la utilización de objetos para acceso a datos.


Por cierto, en el mensaje anterior hay un error. Donde dice:

set rs1 = cmd1.Execute "SELECT SUM(Importe) AS Total FROM Tabla WHERE Fecha BETWEEN #" & Text1.Text & "# AND #" & Text2.Text & "#"

Debería decir:

cmd1.CommandText = "SELECT SUM(Importe) AS Total FROM Tabla WHERE Fecha BETWEEN #" & Text1.Text & "# AND #" & Text2.Text & "#"
Set rs1 = cmd1.Execute

Suerte.

1010
Visual Basic 6.0 e inferiores / Re: Imprimir en doble cara (Duplex)
« en: Miércoles 6 de Agosto de 2003, 13:15 »
Sin estar seguro al 100% te diré que por mucho que establezcas propiedades al objeto Printer en vb, al Access le va a dar igual.

Una forma que veo sería seleccionando el informe en la BD y entrando por Archivo, Configurar página, intentar indicar que el informe se imprima en dúplex (aunque ahora mismo tengo la duda de si ésto no se indicará en las propiedades de la impresora, con lo cual afectaría a todos los informes).

Otra forma podría ser llamando desde el evento Open del informe a otro programita que enviara la secuencia de escape, por ejemplo, necesaria para que la impresora imprima en dúplex (consulta el manual de la impresora).

Lo que si creo que es bastante seguro es que con el objeto Printer y Access no vas a conseguir nada, ya que Printer es miembro de VB (VB6.OLB), Access no incluye esta refencia, y a pesar de todo, Access imprime sin objeto Printer.

No se si te habré sido de mucha ayuda...pero en fin, son ideas. No desesperes, tal vez en este mismo foro alguien te de una solución adecuada. Suerte.

1011
Visual Basic 6.0 e inferiores / Re: Base de datos en red lan
« en: Miércoles 6 de Agosto de 2003, 09:23 »
Ampliando el mensaje anterior, también podrías usar la forma siguiente para referirte a la base de datos.

NOMBRE_EQUIPOVIA_DE_ACCESOBASE_DE_DATOS.mdb

o esta otra.

xxx.xxx.xxx.xxxVIA_DE_ACCESOBASE_DE_DATOS.mdb

Donde xxx.xxx.xxx.xxx es la dirección ip del equipo.

1012
Visual Basic 6.0 e inferiores / Re: Base de datos en red lan
« en: Miércoles 6 de Agosto de 2003, 08:31 »
Asigna en el equipo local la vía de acceso donde se encuentra la base de datos remota a una unidad de red (explorador de windows, conectar unidad de red).
Puedes referirte al equipo que tiene la BD por su nombre (archivo hosts , lmhosts) o por su IP.
Si el equipo remoto no corre con windows, deberías usar un gateway.

Una vez que tienes mapeada una letra con una unidad de red, refiérete a ella como si se tratara de una unidad local.

Espero que esto te sirva.

1013
Visual Basic 6.0 e inferiores / GetOpenFileName , GetSaveFileName
« en: Miércoles 6 de Agosto de 2003, 08:18 »
Agradezco tus comentarios, pero utilizo normalmente estas apis para en muchos casos evitar el añadir ningún formulario al proyecto para usar un control CommonDialog. Incluso aunque use formularios, evito cargarlos con controles que no son visibles si tengo otra forma de hacer las cosas.

En el caso de estas apis, funcionan perfectamente para lo que busco, exceptuando lo del nombre de archivo por omisión (la vía de acceso por omisión sí me funciona).

Me consta que hay alguna forma de hacerlo, supongo que habrá que utilizar otra api.

En fin, gracias de todas formas.

1014
Visual Basic 6.0 e inferiores / Re: Drivers
« en: Martes 5 de Agosto de 2003, 09:56 »
Por cierto, por si las moscas... Para saber cómo enumerar claves del registro:

http://www.pellesoft.nu/sysdoc/api/r/regenumkeyex.htm

Saludos.

1015
Visual Basic 6.0 e inferiores / Re: Drivers
« en: Martes 5 de Agosto de 2003, 09:46 »
Si enumeras las claves del registro de la clave
Mi PCHKEY_LOCAL_MACHINESoftwareODBCODBCINST.INI
creo que puedes encontrar lo que buscas.

Suerte.

1016
Visual Basic 6.0 e inferiores / Re: Referencias sobre .NET
« en: Martes 5 de Agosto de 2003, 09:00 »
No conozco .Net (y no por falta de ganas), pero según lo poco que tengo oido, necesitarás para ejecutar tus programas en los clientes tener instalado framework.net. Es que realmente los ejecutables se traducen a un lenguaje de bajo nivel interpretado por una tal CLR (common language library, o algo así). Total que en los equipos en que quieras ejecutar tus pgms, necesitan una 'máquina virtual' (tipo java, ¿no?).

En fin, a ver si alguien que sepa de esto nos explica mejor el tema.

Un saludo.

1017
Visual Basic 6.0 e inferiores / Cuadro de Estado de la Imprecion
« en: Martes 5 de Agosto de 2003, 08:52 »
Si el listado lo estás generando a través del objeto Printer, no sería muy complicado controlar la impresión. Deberías crear un formulario con una etiqueta en la que vayas mostrando el estado de impresión y con un botón que cancele el proceso.

Si el listado lo genera algún otro componente... dependería de ese componente y estaría más fastidiado (o no, dependería del componente, repito).

Si lo genera otra aplicación mediante automatización OLE, intenta utilizar la presentación preliminar del informe.

De todas formas no sé si habrá alguna api o método para abrir el administrador de impresión, pero claro el listado ya estaría en cola de salida.

No se si te habré aclarado mucho, pero... suerte.

1018
Disculpas por el despiste en la respuesta del mensaje...

Lo que dice J.M.Movilla es correctísimo.

Necesitarás definir en tu aplicación los siguientes objetos:

Objeto conexión (ADODB.Connection). Utiliza su método 'Open' con la cadena de conexión adecuada a tu caso.

Objeto comando(ADODB.Command). Establece su propiedad 'ActiveConnection' con el valor del objeto conexión anterior (con SET, ojo,  es un objeto) .   Establece la propiedad 'CommandType' igual 'adCmdText'.

Objeto recordset (ADODB.Recordset). Este contendrá los registros seleccionados obtenidos de la siguiente forma:

   set rs1 = cmd1.Execute "SELECT SUM(Importe) AS Total FROM Tabla WHERE Fecha BETWEEN #" & Text1.Text & "# AND #" & Text2.Text & "#"

Donde rs1 sería el objeto recordset y cmd1 el comando.

Una vez ejecutado, el resultado lo obtendrías así:

Total = Iff(Not IsNull(rs1.Fields(0).Value) , rs1.Fields(0).Value, 0)

Todo esto así a grandes rasgos. Si quieres más detalle o ejemplos, creo que en mensajes anteriores de este foro podrás encontrar lo que buscas.

Si te acostumbras a trabajar con este tipo de objetos, pronto dejarás de usar controles data

Suerte.

1019
Visual Basic 6.0 e inferiores / copiar archivos
« en: Martes 5 de Agosto de 2003, 08:20 »
Tal vez algo de este estilo te puede funcionar:

Private Function Copiar(Byval Origen as string, Byval Destino as string) as Boolean

Dim intO as integer, intD as integer, byt1() as Byte

On Error Goto Error_Copiar

intO = FreeFile
Open Origen For Binary as #intO

' En el caso de que el fichero no fuera muy grande.

Redim byt1(1 to Lof(intO)

'Si el fichero es demasiado grande, deberás implementar un buffer dimensionando 'byt1' al tamaño que tu veas y haciendo un bucle hasta que llegues a la longitud del fichero.

intD = FreeFile
Open Destino For Binary as #intD

Get #intO,,byt1
Put #intD,,byt1

Copiar = True

Salir_Copiar:

On Error resume next

Close #intO
Close #intD

Exit Function

Error_Copiar:

MsgBox Err.Description

Resume Salir_Copiar

End Function

A ver si esto te sirve... Suerte

1020
Visual Basic 6.0 e inferiores / generador de dlls
« en: Lunes 4 de Agosto de 2003, 10:07 »
Deberás usar un par de ejecutables (por lo menos):

C2.EXE para crear archivos *.OBJ (creo).
LINK.EXE para generar el ejecutable a partit de los OBJ.

Ten en cuenta que esto que te digo son meras suposiciones mías, por lo que tal vez lo que te digo está equivocado, pero supongo que por aquí van los tiros.

Suerte.

1021
Visual Basic 6.0 e inferiores / Re: generador de dlls
« en: Lunes 4 de Agosto de 2003, 09:35 »
Busca un ejecutable llamado C2.EXE que se debe encontrar en el directorio de programas donde se haya instalado VB.

Creo que este es el compilador. No se que parámetros recibirá, supongo que el nombre del proyecto y el del ejecutable, tendrías que probarlo-investigarlo tú mismo. Si lo averiguas te sería muy sencillo crear un programa o archivo de proceso por lotes para compilar todos esos proyectos que dices.

Espero que te sirva de algo.

1022
Visual Basic 6.0 e inferiores / Re: Registrar un OCX
« en: Viernes 1 de Agosto de 2003, 08:44 »
Puedes utilizar el modificador /S para que el registro - desregistro se haga de forma silenciosa.

REGSVR32 Archivo.Dll /S

Suerte.

1023
Visual Basic 6.0 e inferiores / Re: Registrar un OCX
« en: Viernes 1 de Agosto de 2003, 08:41 »
Puedes utilizar el modificador /S para que el registro - desregistro se haga de forma silenciosa.

REGSVR32 Archivo.Dll /S

Suerte.

1024
Puedes ejecutar para un recordset una sentencia SQL de este estilo:

"SELECT SUM(Campo1) FROM Tabla
WHERE FECHA1>=" & Text1.Text & " AND FECHA1<=" & Text1.Text

Suerte.

1025
Visual Basic 6.0 e inferiores / Re: Para Chiaravel, biblioteca
« en: Viernes 1 de Agosto de 2003, 08:30 »
El la anterior respuesta a tu mensaje, me equivoqué en el nombre de archivo de la biblioteca VBA. El nombre correcto no es otro que MSVBVM60.DLL (en caso de que tengas vb 6.0).

Mis disculpas por el gazapo.

Páginas: 1 ... 39 40 [41] 42 43