• Jueves 3 de Julio de 2025, 09:59

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 - ebolo

Páginas: 1 ... 5 6 [7] 8
151
Visual Basic 6.0 e inferiores / Re: Aplicación En Systray
« en: Lunes 16 de Febrero de 2004, 10:48 »
He comprobado que el link que hay en el doc no funciona. Lo adjunto en este post con un ejemplo de uso.
Saludos.

152
Visual Basic 6.0 e inferiores / Re: Aplicación En Systray
« en: Sábado 14 de Febrero de 2004, 14:40 »
Hola Brroz.
Es un control activex: systray.ocx; pongo una información de él.
----------------------
Con este control pueden crearse aplicaciones que permanezcan ocultas al usuario y solo muestren in Icono en la Región del Sistema, al lado de la hora, el altavoz del sistema, el administrador de telefonía, etc, y solo pinchando en éste Icono la aplicación sea visible.

   Para su funcionamiento no son necesarias muchas propiedades:
   -Intray: activa o desactiva su funcionamiento, sus valores posibles con True/False.
   - TrayIcon: Icono que se mostrará en la Barra de Tareas.
        - TrayTip: mensaje que se mostrará al usuario si este deja el ratón sobre el Icono.

   Tampoco posee muchos eventos:
   -MouseDown: puede usarse para mostrar un menú al pulsar el botón derecho.
   -MouseUp: controla cuando un botón del ratón se deja de pulsar.
   -MouseMove: indica que con un botón presionado, el usuario mueve el Icono.
   -MouseDblClick: cuando el usuario realiza doble click sobre el Icono, siver para   mostrar una página de propiedades, etc. Este tipo de aplicaciones puede implementar un temporizador (Timer) para ejecutar, comprobar, etc una tarea en un período de tiempo determinado o para determinar el estado de una tarea, como por ejemplo el estado de una conexión telefónica, etc, también puede usarse para implementar un acceso rápido a alguna parte de una aplicación que sea de mucha utilidad, etc.
-----------------------
¿Hay algún otro control que haga lo mismo y pueda apagar el PC sin que tener que cerrar la aplicación?.
He comprobado que no es por el Timer, sino por la aplicación que está activa.
He dejado adjunto un doc que tiene un link donde bajarlo y como usarlo.
Saludos.

153
Visual Basic 6.0 e inferiores / Aplicación En Systray
« en: Viernes 13 de Febrero de 2004, 20:26 »
Hola.
Tengo hecha una aplicación, puesta en inicio, que usa el componente systray para dejarla activa en la bandeja de sistema. Esta aplicación tiene un timer que cada 1 segundo comprueba si se ha creado un archivo en una ruta y poder realizar una serie de acciones.
El problema está en que si tengo la aplicación en marcha no me deja apagar el pc, y no me interesa decir como se cierra para evitar problemas por cerrarla, se supone, sin querer.
¿Es normal esto?.
 Hay alguna otra manera de poner la aplicación en la bandeja de sistema y no me cree esa problema; ó el problema es por el timer?.
Saludos y gracias de antemano.

154
Visual Basic 6.0 e inferiores / Re: Imagenes Tif
« en: Miércoles 11 de Febrero de 2004, 13:07 »
Hola.
Para los que quieran tener el Kodakimg en wXP, teniendo acceso a un w2000, dejo un documento adjunto que explica como instalarlo en wXP.
Saludos.

155
Visual Basic 6.0 e inferiores / Re: Que El Textbox Solo Admita Numeros
« en: Miércoles 4 de Febrero de 2004, 16:34 »
Hola rechy.
Yo creo con sólo esto ya está:
Private Sub Text1_KeyPress(KeyAscii As Integer)
 If KeyAscii < 48 Or KeyAscii > 57 Then MsgBox "Pon sólo nº"
End Sub
Saludos.

156
Visual Basic 6.0 e inferiores / Re: Registro De Windows
« en: Martes 3 de Febrero de 2004, 10:47 »
Gracias Brroz por tu comentario.
El problema está en que quiero automatizar una copia del registro para cuando no uso yo el pc. Ayer me tocó volver a instalar el w2000 y el servipack encima del que ya tenía y volvió a funcionar.  Instalaron y desisntalaron una aplicación y dejó de funcionar bien el w2000, por lo que pude comprobar había cosas raras en el registro.

Entonces la idea es hacer un program que puesto en inicio me haga una copia del registro al arrancar el windows. Con w98 y w Xp no hay problemas porque las hace automáticamente, pero con w2000 no he encontrado la herramienta para automatizarlo.

El SCANREGW, por lo que he visto, es una herramiento de w98 y WMe.

Saludos.

157
Visual Basic 6.0 e inferiores / Registro De Windows
« en: Lunes 2 de Febrero de 2004, 19:20 »
Hola.
¿Es posible hacer un programa en VB que haga un backup del registro de windows?.
He visto la api que hay para el registro pero no sé si alguna de ellas lo permite hacer; estas son las que he econtrado:

- Declare Function OSRegOpenKey Lib "advapi32" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpszSubKey As String, phkResult As Long) As Long

- Declare Function OSRegCreateKey Lib "advapi32" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpszSubKey As String,   phkResult As Long) As Long

- Declare Function OSRegCloseKey Lib "advapi32" Alias "RegCloseKey" (ByVal hKey As Long) As Long

- Declare Function OSRegDeleteKey Lib "advapi32" Alias "RegDeleteKeyA" (ByVal hKey As Long, ByVal lpszSubKey As String) As Long

- Declare Function OSRegEnumKey Lib "advapi32" Alias "RegEnumKeyA" (ByVal hKey As Long, ByVal iSubKey As Long, ByVal lpszName As String, ByVal cchName As Long) As Long

- Declare Function OSRegQueryValueEx Lib "advapi32" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpszValueName As String, ByVal dwReserved As Long, lpdwType As Long, lpbData As Any, cbData As Long) As Long

- Declare Function OSRegSetValueEx Lib "advapi32" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpszValueName As String, ByVal dwReserved As Long, ByVal fdwType As Long, lpbData As Any, ByVal cbData As Long) As Long

- Public Declare Function RegSaveKey Lib "advapi32.dll" Alias "RegSaveKeyA" (ByVal hKey As Long, ByVal lpFile As String, lpSecurityAttributes As SECURITY_ATTRIBUTES) As Long


Seguramente de usar alguna sería una de las 3 últimas pero no sé muy bien que es lo que hacen.

Saludos y gracias de antemano.

158
Visual Basic 6.0 e inferiores / Re: Error 9
« en: Viernes 30 de Enero de 2004, 18:56 »
Solucionado. llevo todo el día con ello y la cabeza echa un bombo.
Tenía puesta la línea de "respuesta=MSComm1.Imput" fuera de la condición:
 If MSComm1.InBufferCount >= 8 Then

y tenía que estar dentro de la condición.
Eso me producía el error de la matriz, porque sólo me vale el input que tiene 8 byte, y estaba igualando "respuesta=" a cualquier valor del input.

Saludos. :hola:  :brickwall:  :brickwall:

159
Visual Basic 6.0 e inferiores / Re: Error 9
« en: Viernes 30 de Enero de 2004, 18:24 »
Después de comprobar con Ubound, he visto que no me coge bien el input, me da valor 1 cuando debiera ser 7, pero no sé porque es porque en un programa me lo hace bien y en el otro, que sólo cambia en principio el diseño, no.
Saludos.

160
Visual Basic 6.0 e inferiores / Re: Error 9
« en: Viernes 30 de Enero de 2004, 17:11 »
Nada que no hay manera, no sé donde fallo, yo te entiendo carlosjrey lo que me comentas; le resto a la variable respuesta(q-1) porque es de tipo byte, y el primer valor que llega con el MSComm1.input es el (0).
Lo he metido en un módulo por separar la respuesta y tratarla, pero me sigue dando el mismo error.
He vuelto a modificar un poco el código:
------------------------------------
Private Sub Command6_Click()
Dim mensaje
Dim tempo As Double
Dim respuesta() As Byte
If MSComm1.PortOpen = False Then
    MsgBox "Abrir puerto primero"
    Exit Sub
End If

If Text1.Text <> "" Then
   mensaje = ""
   checksum% = (Val(Text1.Text) + Val(Text4.Text) + 0 + 0 + 0 + 63) Mod (256)
   'MsgBox checksum%
   mensaje = Chr$(Val(Text1.Text)) & Chr$(Val(Text4.Text)) & Chr$(0) & Chr$(0) & Chr$(0) & Chr$(63) & Chr$(checksum) & Chr$(13)
   MSComm1.Output = mensaje
End If

tempo = Timer

Do
      respuesta = MSComm1.Input
     
  'On Error GoTo errorp
   If MSComm1.InBufferCount >= 8 Then
     MsgBox MSComm1.InBufferCount
     Call Tramitarespuesta(respuesta())
   End If
Loop Until (Timer - 5) > tempo
End Sub

Sub Tramitarespuesta(respuesta)
Dim X As Integer
ReDim respq(1 To 8) As Long
Dim mensrec As String, tempo As Double
For X% = 1 To 8
       MsgBox Form1.MSComm1.Input
        respq(X%) = respuesta(X% - 1)
        If (X% = 3) Or (X% = 4) Or (X% = 5) Then
          respq(X%) = Val(Hex$(respuesta(X%)))
        End If
        MsgBox "respq(" & X% & "):" & respq(X%)
        mensrec = mensrec & respq(X%)
Next X%
   Text3.Text = Text3.Text & mensrec
        If (tempo) > (Timer + 5) Then
           tempo = Timer
        End If
   Text3.Text = Timer
 Exit Sub
errorp:
 If Err.Number <> 0 Then
   MsgBox "Error"
 Resume Next
 End If
End Sub
------------------------------------------------

Saludos y gracias por la ayuda.

161
Visual Basic 6.0 e inferiores / Re: Error 9
« en: Viernes 30 de Enero de 2004, 13:39 »
Gracias carlosjrey por la rápida respuesta.
He modificado el código pero me sigue dando el mismo error.

---------------------------------------------
Private Sub Command6_Click()
Dim mensaje As String
Dim respuesta() As Byte
Dim q, t As Integer
ReDim respq(1 To 8) As Long
Dim mensrec As String, tempo As Double

If MSComm1.PortOpen = False Then
    MsgBox "Abrir puerto primero"
    Exit Sub
End If

If Text1.Text <> "" Then
   mensaje = ""
   For t = 1 To Len(Text1.Text) Step 2
   mensaje = mensaje & Chr$(Mid$(Text1.Text, t, 2))
   Next t
   MSComm1.Output = mensaje
End If

tempo = Timer

Do
      respuesta = MSComm1.Input
  'On Error GoTo errorp
   If MSComm1.InBufferCount >= 8 Then
     MsgBox MSComm1.InBufferCount
     'Call tramitarespuesta(respuesta)
     
   For q = 1 To 8
        respq(q) = respuesta(q - 1)
        If (q = 3) Or (q = 4) Or (q = 5) Then
          respq(q) = Val(Hex$(respuesta(q)))
        End If
        MsgBox "respq(" & q & "):" & respq(q)
        mensrec = mensrec & respq(q)
     Next q
   Text3.Text = Text3.Text & mensrec
   End If
        If (tempo) > (Timer + 5) Then
           tempo = Timer
        End If
   Text3.Text = Timer
Loop Until (Timer - 5) > tempo
 Exit Sub

errorp:
 If Err.Number <> 0 Then
   MsgBox "Error"
 Resume Next
   End If
End Sub
-------------------------------------------------

Saludos.

162
Visual Basic 6.0 e inferiores / Error 9
« en: Viernes 30 de Enero de 2004, 11:48 »
Hola.
Aquí os pongo un código que me está dando error nº 9 de subindice (el subindice está fuera del intervalo)  y no sé porque es.
Esto mismo, con otros nombres de variables, lo tengo puesto en otro programa y no me dá error.
-----------------------------------------
Private Sub Command6_Click()
Dim mensaje As String
Dim respuesta() As Byte, q As Integer
Dim respq(1 To 8) As Long
Dim mensrec As String, tempo As Double
If MSComm1.PortOpen = False Then
    MsgBox "Abrir puerto primero"
    Exit Sub
End If
If Text1.Text <> "" Then
   mensaje = ""
   For q = 1 To Len(Text1.Text) Step 2
   mensaje = mensaje & Chr$(Mid$(Text1.Text, q, 2))
   Next q
   MSComm1.Output = mensaje
End If
tempo = Timer
Do
      resp = MSComm1.Input
  'On Error GoTo errorp
   If MSComm1.InBufferCount >= 8 Then
     MsgBox MSComm1.InBufferCount
     'Call tramitarespuesta(respuesta)
   For q% = 1 To 8
        resp(q%) = respuesta(q% - 1)        '----AQUÍ ME DA EL ERROR
        If (q% = 3) Or (q% = 4) Or (q% = 5) Then
          resp(q%) = Val(Hex$(respuesta(q%)))
        End If
        MsgBox "respq(" & q% & "):" & resp(q%)
        mensrec = mensrec & resp(q%)
     Next q%
   Text3.Text = Text3.Text & mensrec
   End If
        If (tempo) > (Timer + 5) Then
            tempo = Timer
        End If
   Text3.Text = Timer
Loop Until (Timer - 5) > tempo
 Exit Sub

errorp:
 If Err.Number <> 0 Then
   MsgBox "Error"
 Resume Next
   End If
End Sub
-----------------------------------------------
Si sabeis que puede ser me podriais echar una mano.
Saludos.

163
Hola a todos.
Todos los días se aprende algo.
Brroz:
---------------------------------
Private Sub Form_Resize()
  If Me.WindowState = 1 And Not indAllowResize Then  
........
---------------------------------
¿No debería ser:?
  If Me.WindowState = 1 And Not indAllowMinimize Then  
.........
----------------------------------
Saludos.

164
Lo unico que se me ha ocurrido es lo siguiente:

--------------------------------------
Private Sub Command1_Click()
Timer1.Enabled = True
End Sub

Private Sub Command2_Click()
Timer1.Enabled = False
End Sub

Private Sub Form_Load()
Timer1.Interval = 50
End Sub

Private Sub Timer1_Timer()
If Form1.WindowState = 1 Then Form1.WindowState = 0
End Sub
---------------------------------------
Pones 2 botones command y un timer.
Por lo que he comprobado usar las propiedades del form "Maxbutton" y "Minbutton" no se puede dentro de código porque da error.
Saludos.

165
Visual Basic 6.0 e inferiores / Re: Informe de Access con Visual?
« en: Martes 27 de Enero de 2004, 11:12 »
Hola de nuevo.
Te dejo adjunto un ejemplo para que te funcione con wXP y access2000.
Mirar el leeme.txt antes.
Me ha funcionado sin problemas; usa un método papa ver visualización por pantalla y otro para imprimir el informe.
Es la única forma que le he hecho funcionar bien.
Saludos.

166
Visual Basic 6.0 e inferiores / Re: Informe de Access con Visual?
« en: Martes 27 de Enero de 2004, 09:33 »
EDITO: ya veo que se adelantado Brroz, que sabe mucho más que yo.

Hola de nuevo.
Yo lo uso tanto con wXP como con w2000 y access97 y me funciona sin problemas; NO necesito tener abierto el access para que me muestre el informe.
Eso me ocurría al principio y por eso le añadí:
----------------
Set ObjAccess = CreateObject("access.application.8")
'Si la base de datos fuera de access 2000 tendríamos que poner un 9, en vez de 8( que es para access 97).
'Abrimos la B.D. que nos interesa
ObjAccess.OpenCurrentDatabase "BaseDeDatos.mdb"
----------------
Has probado a ponerle el 9 en vez de 10.

En cuanto a la Referencia del proyecto, yo creo que no depende del s.o. y SÍ del access que vayas a usar; pero en ésto no estoy seguro.

En cuanto a la consulta debes pasarle, si la fecha de nacimiento es campo Fecha, pues así:" [Fecha Nacimiento]=#" & format(TuvariableFechanacimiento,"dd/mm/yyyy")  & "#" .
Le sobra el "Select .........". Es decir al filtro se le pasa sólo el campo de la consulta por el que se quiere discriminar y su valor.
Lo que puedes hacer para ver el filtro como te debe pasar al informe, es hacerte la consulta en access, ponerle en el diseño, el valor del criterio del campo con el que quieres discriminar la consulta, grabarla y lanzar el informe.
Luego en el informe vas a propiedades y miras como está el filtro; y según esté es como se lo debes pasar.

Saludos y suerte.
PD: yo no soy ningún experto, Si alguien del foro puede aclarar las dudas que han surgido creo que todos les estaremos agradecidos.

167
Visual Basic 6.0 e inferiores / Re: Como Hago Que Cuando El Programa Este...
« en: Lunes 26 de Enero de 2004, 18:17 »
Hola Bopo.
Pues supongo que si lo maximizas inmediatamente antes del msgbox con:
Form1.windowstate=2  ó
Form1.windowstate=0
te saldrá

Saludos.

168
Visual Basic 6.0 e inferiores / Re: Como Hago Que Cuando El Programa Este...
« en: Lunes 26 de Enero de 2004, 18:14 »
Hola Bopo.
Pues supongo que si lo maximizas inmediatamente antes del msgbox con:
Form1.windowstate=2
té saldra.

Saludos.

169
Visual Basic 6.0 e inferiores / Re: Informe de Access con Visual?
« en: Lunes 26 de Enero de 2004, 14:35 »
Hola, te dejo un doc donde está el código de vb para lanzar un iforme de acces desde vb, aportado por Brroz y que yo completé sñolo un poco.
Saludos.

170
Visual Basic 6.0 e inferiores / Re: ¿cómo Prender Leds Por El Puerto Serial?
« en: Jueves 15 de Enero de 2004, 08:55 »
Bueno pues pasaros por aquí: http://foros.solocodigo.com/index.php?showtopic=6077
Hay un ejemplo de uso del puerto de serie y cómo mandar una instrucción por el mismo.
Saludos.

171
Visual Basic 6.0 e inferiores / Re: ¿cómo Prender Leds Por El Puerto Serial?
« en: Miércoles 14 de Enero de 2004, 16:47 »
Hola Bopo.
Si te pasas por http://foros.solocodigo.com/index.php?showtopic=5954
ó por aquí: http://foros.solocodigo.com/index.php?showtopic=2972, podrás descargarte   información con progrmas que hacen lo que quieres pero  por el puerto paralelo.

Saludos.

172
Visual Basic 6.0 e inferiores / Re: Como Leer Un Codigo De Barra
« en: Lunes 12 de Enero de 2004, 13:35 »
Hola a todos.
Por si todavía lo necesitas, te adjunto un archivo con varias fuentes true type de código de barras, que debes instalar en la carpeta Fonts del windows y directamente podrás usarlas cómo otro tipo de letra más. Es decir, si eliges ese tipo de letra directamente sale el código de barras según escribes.

Si lo que quieres codificar no es muy grande con el code39 tienes bastante, sino deberías usar un code128 ó ean128.

Saludos.

173
Visual Basic 6.0 e inferiores / Re: Uso Del Puerto Com
« en: Lunes 12 de Enero de 2004, 13:19 »
Hola aragonaledu.
Te adjunto un archivo con un ejemplo en vb de como usar el MSCOMM.
Saludos y suerte.

174
Programación de Aplicaciones para Dispositivos / Re: Actuar Sobre Un Relé
« en: Martes 30 de Diciembre de 2003, 08:09 »
Muchisimas gracias de nuevo Jonathan.
Ahora ya lo tengo claro y puedo empezar a trastear.
La página que me has puesto me aclara todas las dudas, de momento.
Saludos y que tengais un buen fin de año.
 :hola:  :hola:

175
Programación de Aplicaciones para Dispositivos / Re: Actuar Sobre Un Relé
« en: Lunes 29 de Diciembre de 2003, 15:56 »
Muchas gracias Jonathan.
Estoy empezando a ver un poco de luz!!. Pero tengo muchisimas dudas, soy un aficionadillo a esto. :unsure:
Entonces mejor puerto paralelo.
-Los 5 voltios que entra a los integrados vienen del pin que yo decida del puerto paralelo, entonces las salidas digitales del puerto paralelo (8 de registro de datos y 4 de control) es simplemente información que se manda a través de código, pero ¿por el mismo pin que le entra el voltaje?.
-De cada una de las 32 salidas que obtenemos al final se puede conectar a un relé y mandándole un 1 a una salida ¿se activa el relé que tuvieramos conectado ahí?.
-Si con las 8 salidas iniciales de momento tengo bastante para probar, no tengo integrados, ¿el código me sirve igual? pero sólo con las salidas S0 a S7.
De momento con esto ya tengo algo con lo que estudiar y probar.
 :)  :)

Páginas: 1 ... 5 6 [7] 8