• Martes 7 de Mayo de 2024, 22:39

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

Páginas: 1 2 [3] 4 5 ... 26
51
Visual Basic 6.0 e inferiores / Re: Escanear clusteres
« en: Sábado 16 de Agosto de 2008, 18:26 »
Te informo que lo que tratas de hacer es difícil con VB6.
Le di una buscada en Planet Source Code y en Google para ver si había algo de ese código y no encontré nada.
Si llegas a encontrar algo te agradeceré lo informes.
 :comp:

52
Visual Basic para principiantes / Re: Mostrar Errores en Formulario de Ocx
« en: Sábado 9 de Agosto de 2008, 19:51 »
Revisa el foro, encontrarás varias discusiones con este tema, por ejemplo:

viewtopic.php?f=39&t=26929&p=98576&hilit=textbox#p98576

 :comp:

53
Visual Basic 6.0 e inferiores / Re: Formato de textos bloqueados en vb6.0
« en: Jueves 7 de Agosto de 2008, 23:13 »
Si las operaciones que estás tratando de hacer deben de corresponder a la Configuración Regional del Sistema.
Entonces tienes un error en el código KeyPress de los controles TextBox.
Debe ser así:
Código: Text
  1.  
  2. Private Sub Text1_KeyPress(KeyAscii As Integer)
  3.     Dim sCar As String * 1
  4.     sCar = Chr(KeyAscii)
  5.     If sCar = "." Or sCar = "," Then
  6.         'comprueba si se ha pulsado coma o punto y lo convierte al formato numérico del sistema
  7.         If sCar <> sDecimal Then
  8.             KeyAscii = Asc(sDecimal)
  9.         End If
  10.         sCar = Chr(KeyAscii)
  11.         ' si ya se ha puesto un punto o coma decimal, no admite otro
  12.         If (InStr(Text1, sCar) > 0) Then
  13.             KeyAscii = 0
  14.             Exit Sub
  15.         End If
  16.     ElseIf InStr("0123456789.," & Chr(8), sCar) = 0 Then
  17.         ' sólo admite números, signo negativo, punto, coma y retroceso
  18.         KeyAscii = 0
  19.         Exit Sub
  20.         ' comprueba que el signo menos esté sólo al principio
  21.         ' Nota: Si no queremos negativos, quitar esta condición
  22.     ElseIf sCar = "-" Then
  23.         If InStr(2, "-", Text1) = 0 Then
  24.             KeyAscii = 0
  25.         End If
  26.     End If
  27. End Sub
  28.  
De otra manera las operaciones que realices tendrán error.

Si lo anterior no es el problema entonces trata con esto en la línea que dices:
Código: Text
  1.     Text7(0) = Format(((Val(Text13) * Val(Text1) * Val(Text1)) / 8) + ((Val(Text22) * Val(Text1) * Val(Text1)) / 8) + ((Val(Text31) * Val(Text1) * Val(Text1)) / 8), "###########.00")
  2.  
  3.  
:comp:

54
Visual Basic 6.0 e inferiores / Re: Suma de Text.Text
« en: Jueves 7 de Agosto de 2008, 05:20 »
No explicas que hiciste.

Tal vez te faltó algo como esto en todas las lineas.

Código: Text
  1. imp1.Text = Val(cant1.Text) * Val(pu1.Text)
  2.  
:comp:

55
Si bien pueden guardarse casi cualquier cosa en una base de datos en un campo binario. No conozco ningún control que permita tomar un documento Word de una base de datos y visualizarlo.
Si puede hacerse lo anterior con el texto de formato enriquecido (con extensión rtf) que Word también maneja. Si esto último es lo que deseas, solo necesitas enlazar un control RichTextBox a la base de datos.

 :comp:

56
Visual Basic 6.0 e inferiores / Re: Formato de números en VB6.0.
« en: Lunes 4 de Agosto de 2008, 09:30 »
Así es como hay que escribir las preguntas, mostrando el código, ya que es más fácil de entender y contestar.

La siguiente línea tiene un error en la lógica y solo raras veces funcionará. Text1 no puede ser a la vez mayor que Text2 y también menor que Text2 y solo funcionará si comparas el contenido de Text1 y Tex2 como cadenas de texto y no como números, por ejemplo: Text1 = "10" y Text2 = "2", más abajo te explico la razón.

   
Código: Text
  1.  If Text1 > ((Text2) / 2) And Text1 < Text2 Then
  2.  
No es lo mismo comparar texto que números. Cuando comparas texto, si escribes en Text1 "10" y un "2" en Text2 lo siguiente es cierto: Text1 < Text2
Pero si lo anterior lo comparas como valor numérico es falso.

Te sugiero que uses la función Val(Text1) y corrijas la lógica de la línea anterior.

por ejemplo:
Código: Text
  1. If Val(Text1) > Val(Text2) / 2 Then
  2.  

 :comp:

57
Bases de Datos / Re: Aclaracion, DBCombo
« en: Lunes 4 de Agosto de 2008, 08:53 »
Te explico.
Si te fijas en el control data en la propiedad DatabaseName, solo tiene el nombre del archivo de la base de datos (Movies.mdb) no tiene todo el Path de donde encontrar la base de datos. Si tu colocas el proyecto en cualquier fólder, al ejecutar el programa, este encuentra la base de datos. Pero si escribieras el path completo tendrías que estarlo cambiando de acuerdo al fólder donde se encuentra la base de datos.

 
Código: Text
  1. On Error Resume Next
  2. ChDrive CurDir(App.Path)
  3. ChDir App.Path
  4.  

La primera línea es para cuando se genera un error si el programa se desea manejar en una red. Cuando el programa se maneja a través de una red una de las líneas que le sigue genera un error.
Las otras 2 líneas le dicen al programa que el directorio de trabajo es donde se encuentra el proyecto o el ejecutable.
Cuando el control data busca la base de datos en este caso Movies.mdb, la busca en el directorio de trabajo del programa.
Lo anterior permite que el programa junto con la base de datos pueda colocarse en cualquier fólder y siga funcionando.

Se puede hacer también colocando lo siguiente en Form_Load.
Código: Text
  1. Private Sub Form_Load()
  2.     Dim strAppPath As String
  3.     strAppPath = App.Path & IIf(Right$(App.Path, 1) <> "", "", "")
  4.     Data1.DatabaseName = strAppPath & "Movies.mdb"
  5. End Sub
  6.  
:comp:

58
Bases de Datos / Re: Aclaracion, DBCombo
« en: Viernes 1 de Agosto de 2008, 03:10 »
Te adjunto un pequeño proyecto para que te orientes como manejar el DBCombo.
Revisa las referencias y los controles. Debes de tener instalado el Service Pack 6 del Visual Basic para que puedas manejar las base de datos Access 2000.

 :comp:

59
El error es el siguiente:

Código: Text
  1. Dim Arreglo1(),Arreglo2() as string
  2.  
La primera variable Arreglo1() se dimensiona como variable tipo variante y la segunda como tipo string.


Para que funcione adecuadamente debe ser así:

Código: Text
  1. Dim Arreglo1() As String, Arreglo2() As String
  2.  

 :comp:

60
A mi si me funciona el código con pequeños cambios.

En un módulo BAS

Código: Text
  1. Option Explicit
  2.  
  3. Private Type Normal  ' Declaro el Tipo de Arreglo Que Necesito Con sus Campos
  4.  
  5.         Patente As String
  6.         Pedimento As String
  7.         Archivo As String
  8.         Firma As String
  9.         Fecha As String
  10.         Hora As String
  11.         Regimen As String
  12.         Clave As String
  13.         RFC As String
  14.         Nombre As String
  15. End Type
  16.  
  17. ' hay un espacio extra en Arreglo Global1()  lo eliminé  
  18. Public ArregloGlobal1() As Normal
  19. Public ArregloGlobal2() As Normal ' Declaro Globalmente los arrays
  20.    
  21. ' La subrutina no debe de ser privada, ya que la llamarás desde una forma
  22. Sub Fact(Pat As String, ByVal ini As Long, ByVal fin As Long, ByRef IndiPat() As Normal, ByRef ConsoPat() As Normal)
  23.         Dim temp1(), temp2() As Normal
  24.        '"Serie de Validaciones"
  25.         Stop
  26.  
  27. End Sub
  28.  
  29.  

En una forma, colocando un control CheckBox
Código: Text
  1. Option Explicit
  2.  
  3. Private Sub Command1_Click()
  4.     Dim fechai, fechaf
  5.     Fact Check2.Caption, fechai, fechaf, ArregloGlobal1(), ArregloGlobal2()
  6. End Sub
  7.  
  8.  
Al ejecutar el código se detiene en el Stop

 :comp:

61
Visual Basic 6.0 e inferiores / Re: Actualizar Programa
« en: Jueves 31 de Julio de 2008, 05:35 »
En estas páginas encontrarás ejemplos de código que hace lo que deseas.

http://www.planet-source-code.com/vb/sc ... 9&lngWId=1

http://www.planet-source-code.com/vb/sc ... 6&lngWId=1

Espero te sirvan.

 :comp:

62
Visual Basic para principiantes / Re: Arreglo Como Parametro en Procedimiento VB 6.0
« en: Miércoles 30 de Julio de 2008, 20:26 »
Si lo que desea MArio85 es "un arreglo dinámico global"
Entonces se necesita ByRef y no ByVal

 :comp:

63
Visual Basic para principiantes / Re: Arreglo Como Parametro en Procedimiento VB 6.0
« en: Miércoles 30 de Julio de 2008, 18:42 »
Si deseas colocar un array en forma global debes de dimensionarlo en un módulo BAS por ejemplo

Código: Text
  1. Public gastrArreglo1() As String
  2. Public gastrArreglo2() As String
  3.  

En el código que colocas estás haciendo mezclas con el otro tipo de Instrucción Type, lo que hace difícil de entender tu código. Type también maneja arrays (arreglos) pero de distinta manera.

Además tienes en la línea Sub Modi_array(arreglo1 as type1, arreglo2 as type2) y en el código que sigue no usas ni arreglo1 ni arreglo2.

Lo que se usa para pasar un arreglo a una subrutina no es ByVal es ByRef, por ejemplo
Código: Text
  1. Sub SortArrayDic(ByRef sArray() As String, lngLenDic As Long)
  2.  

 :comp:

64
Visual Basic para principiantes / Re: Funcion para Saber si Un Arreglo Esta Vacio
« en: Miércoles 30 de Julio de 2008, 18:18 »
Si el arreglo está vacío la función Ubound también marcará un error.
Debes basarte en la otra variable (la que suma) la i

Por ejemplo:
Código: Text
  1. If i = 0 then
  2.     'El arreglo está vacío
  3. Endif 
  4.  

La alternativa es manejar el error que aparece cuando el arreglo está vacío con On Error

 :comp:

65
He estado revisando la web para poder ayudarte, me he encontrado que has puesto este post en muchos lugares, con más datos, que los que pusiste aquí.
He buscado en Google con la frase en inglés "Object library not registered" ya que siempre son en mayor cantidad la respuestas a este tipo de problemas raros.

Lo mejor que puedo recomendarte es que revises esta página:

http://support.microsoft.com/?scid=kb%3 ... 0&x=16&y=9

Y descargues una versión más nueva del MDAC en esta página:

http://msdn.microsoft.com/en-us/data/aa937729.aspx

Descarga la tercera opción MDAC 2.8, ya que MDAC 2.8 SP1 no es compatible con XP.

Recuerda que tienes que cambiar las referencias en el proyecto a la versión 2.8.
 :comp:

66
No ha habido respuestas a tu pregunta, la causa probable es que estás haciendo mal la pregunta.
En parte es porque estás abreviando y dando por hecho que sabemos de que se trata, en todas estás cosas: (por ejemplo AO), "Errores al cargar"..., "No enviar"...

También hace falta saber de que se trata tu proyecto, que controles usa, si tiene controles personalizados, que referencias tiene, es para una base de datos DAO o ADO.
El VB6 tiene el service pack 6?.
 &lt;_&lt;

67
Visual Basic para principiantes / Re: Shalom Help
« en: Miércoles 23 de Julio de 2008, 07:34 »
Tengo la impresión de que no presionaste la tecla F1 al abrir la ventana del programa que te adjunté.

 :comp:

68
Visual Basic 6.0 e inferiores / Re: Posición de Formularios
« en: Martes 22 de Julio de 2008, 21:49 »
Para mover a la derecha y en el centro

   
Código: Text
  1. Form1.Move (Screen.Width - Form1.Width), (Screen.Height - Form1.Height)  2 
  2.  
Para mover a la derecha y arriba

Código: Text
  1. Form1.Move (Screen.Width - Form1.Width), 0
  2.  

 :comp:

69
Visual Basic para principiantes / Re: Shalom Help
« en: Martes 22 de Julio de 2008, 20:20 »
Te adjunto un pequeño proyecto como un ejemplo que sirve para llamar un archivo con extensión hlp.

Además te proporciono otros detalles que debes saber.
- En VB6 IDE (diseño del programa) haz clic en el menú Proyecto y después en la opción 'Propiedades de' MiPrograma. En la ventana que aparece escribe el nombre del archivo de ayuda.

- Tienes que agregar al proyecto, el componente llamado Microsoft Common Dialog Control.

- En lugar del nombre del mi archivo de ayuda, debes de colocar el nombre del tuyo.
 :comp:

70
Visual Basic 6.0 e inferiores / Re: Posición de Formularios
« en: Martes 22 de Julio de 2008, 07:14 »
Como no das detalles, te coloco algo de código para empezar.
Para saber la resolución de la pantalla y para mover la forma en la pantalla.
Código: Text
  1.     Dim TWidth As Variant, THeight As Variant
  2.     Dim strScreenRes As String
  3.    
  4.     ' Obtener resolución de pantalla
  5.     TWidth = Screen.Width  Screen.TwipsPerPixelX
  6.     THeight = Screen.Height  Screen.TwipsPerPixelY
  7.     strScreenRes = TWidth & " x " & THeight
  8.    
  9.     If strScreenRes = "640 x 480" Then
  10.         'codigo para posicionar ventana
  11.     Else
  12.         'colocar en el centro de la pantalla
  13.         frmMainMDI.Move (Screen.Width - frmMainMDI.Width)  2, (Screen.Height - frmMainMDI.Height)  2
  14.     End If
  15.  
  16.  
Para fijar la forma en la pantalla debes de guardar en el registro la propiedad top y left de la forma MDI y obtener estas cifras al ejecutar el programa de nuevo.
 :comp:

71
Visual Basic para principiantes / Re: Codificación Hamming
« en: Viernes 18 de Julio de 2008, 02:53 »

72
Visual Basic 6.0 e inferiores / Re: Scroll bar... Explicacion
« en: Jueves 10 de Julio de 2008, 21:30 »
También puedes revisar esta discusión a ver si te sirve el ejemplo.

viewtopic.php?f=39&t=30574&p=114003&hilit=scrollbar#p114003

 :comp:

73
Visual Basic 6.0 e inferiores / Re: Pasar Parámetros a un main
« en: Jueves 26 de Junio de 2008, 14:00 »
Muestra el Sub Main, para saber que haz elaborado.
 :comp:

74
Te equivocaste de foro, aquí solo Visual Basic
 :hola:

75
Una solución sería la siguiente:
Crea una tabla adicional, en la base de datos que ya tienes, con 2 campos de texto y luego enlaza dichos campos con los existentes en el reporte.
Antes de llamar el reporte llenas los campos de la base de datos.

Espero se entienda
 :comp:

Páginas: 1 2 [3] 4 5 ... 26