• Domingo 19 de Mayo de 2024, 18:25

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 ... 22 23 [24] 25 26
576
Visual Basic 6.0 e inferiores / Re: Aqui teneis un ejemplo de Agenda
« en: Sábado 12 de Junio de 2004, 16:19 »
La agenda me parece bastante buena, pero para iniciar marca un error de no encontrar las bases de datos, te sugiero lo siguiente para evitar ese error, además puedas colocar la agenda en cualquier directorio sin que se generen errores.

Coloca esto en el inicio del evento Form_Initialize, antes de cargar los primeros datos de la agenda.

Código: Text
  1.  
  2. ' Para que no se genere un error cuando la aplicación se abre en una red local
  3. On Error Resume Next
  4. ' Siempre tener como directorio de trabajo, en donde está la aplicación
  5. ChDrive CurDir(App.Path)
  6. ChDir App.Path
  7.  
  8.  

Retira la ruta de acceso de la propiedad DatabaseName de los dos DataControl
para que en lugar de: D:\Temp\basura\a\Agenda.mdb
Quede así: Agenda.mdb

Con lo anterior solo debes asegurarte que la base de datos se encuentre en el mismo directorio que la aplicación. Además cuando revises el proyecto y quieras agregar o cambiar enlaces con los DataControl debes correr la aplicación, al menos una vez, para que el directorio de trabajo sea el del proyecto, o te marcará error por no encontrar la base de datos.

---------------------
"Corrector Ortográfico de Notas", freeware, utilidad para programadores.
Programado en VB6, con diccionario propio.

http://geocities.com/igmario/index2.html

577
Visual Basic 6.0 e inferiores / Re: Problema Con Mscal.ocx
« en: Lunes 17 de Mayo de 2004, 21:58 »
Revisar Versiones

Es probable que el problema sen las diferentes versiones que existen de MSCAL.OCX

Verifica en los siguientes directorios:
C:\WINDOWS\SYSTEM32
C:\Archivos de programa\Microsoft Office\Office

Al instalar MS Office cambia la ruta de la cual se toma el archivo, en este caso a:
C:\Archivos de programa\Microsoft Office\Office

Cuando instalas tu programa se instala el archivo MSCAL.OCX en:
C:\WINDOWS\SYSTEM32

Lo que debes hacer es que la versión sea la misma en los 2 directorios.

 :)

578
Visual Basic 6.0 e inferiores / Re: Dialogos Para Abrir, Guardar
« en: Domingo 16 de Mayo de 2004, 02:02 »
Estas son rutinas para CommonDialog

Código: Text
  1.  
  2. 'Abrir archivo
  3. gstrDialogTitle = "Abriendo documento..."
  4. gstrFilter = "Todos los archivos (*.*)|*.*|Archivos de texto (*.txt)|*.txt|RTF arch. (*.rtf)|*.rtf|"
  5. gintFilterIndex = 1
  6. gstrFilename = "*.*"
  7. gintDlgAction = 1
  8. Call FileSelecter
  9.  
  10.  

Código: Text
  1.  
  2. 'Guardar archivo
  3. gstrDialogTitle = "Guardando documento como"
  4. gstrFilter = "Todos los archivos (*.*)|*.*|Docs. de texto (*.txt)|*.txt|RTF arch. (*.rtf)|*.rtf|"
  5. gintDlgAction = 2
  6. gintFilterIndex = 2
  7. gstrFilename = LCase$(gstrFilename)
  8. Call FileSelecter
  9.  
  10.  

Código: Text
  1.  
  2. 'Seleccionar archivo
  3. Sub FileSelecter()
  4.     On Error GoTo ErrorFileSelecter
  5.     gstrFullFilename = ""
  6.     frmMainMDI.cdlgMain.CancelError = True
  7.     frmMainMDI.cdlgMain.Filter = gstrFilter
  8.     frmMainMDI.cdlgMain.DialogTitle = gstrDialogTitle
  9.     frmMainMDI.cdlgMain.FilterIndex = gintFilterIndex
  10.     frmMainMDI.cdlgMain.FileName = gstrFilename
  11.     frmMainMDI.cdlgMain.InitDir = gstrWorkDir
  12.     frmMainMDI.cdlgMain.DefaultExt = "txt"
  13.     frmMainMDI.cdlgMain.Action = gintDlgAction
  14.  
  15.     gstrFullFilename = frmMainMDI.cdlgMain.FileName
  16.     gstrCurrentPath = CurDir
  17.     gstrFilename = ExtractFilename(gstrFullFilename)
  18.     Exit Sub
  19. ErrorFileSelecter:
  20.     If Err <> cdlCancel Then
  21.         GenErrorHandler "modFile/FileSelecter() ", Err.Number, Err.Description
  22.     End If
  23.     Exit Sub
  24. End Sub
  25.  
  26.  

Cambia las variables con las que tienes.

579
Visual Basic 6.0 e inferiores / Re: Crear Instalador
« en: Sábado 15 de Mayo de 2004, 19:25 »
Para que una instalación de InnoSetup funcione en Win200, XP debes colocar esto en sección Setup

[Setup]
PrivilegesRequired=admin

Para que el Package and Deployment Wizard de V6 funcione en Win200 debes de colocar archivos de la misma versión de los que estén instalados en el ordenador donde se instala la aplicación. En el siguiente enlace hay una explicación más detallada de la manera de hacerlo, pero no es fácil de implementar.

http://foros.solocodigo.com/viewthread.php?tid=4850

 :hola:

580
Visual Basic 6.0 e inferiores / Re: Crear Instalador
« en: Jueves 13 de Mayo de 2004, 23:58 »
InnoSetup

En este instalador (InnoSetup) debes colocar las mismas dll que se colocan en el instalador de VB, bueno casi todas,  hay excepciones como VB6STKIT.DLL y MSVCRT.DLL que no deben colocarse. En todo caso el convertidor de la instalación de VB desde VBP o de LST que encuentras en:

http://www.randem.com/innoscript.html

lo hace de manera automática, retirando estos dll, te recomiendo mejor elijas la opción de convertir desde setup.lst. Noté que aparece errores de archivos que faltan pero al compilar el script con InnoSetup no aparece como error.

Adjunto un ejemplo de de una conversión de la instalación de una aplicación que maneja Bases de Datos y Cristal Report, para que se den una idea de como queda.
Hay que leer la ayuda para entender las opciones, el único problema es que está en inglés. También en el sitio de InnoSetup encuentras información útil.

581
Visual Basic 6.0 e inferiores / Re: Crear Instalador
« en: Jueves 13 de Mayo de 2004, 05:27 »
Estoy revisando Inno Setup y las instalaciones han funcionado bien, sin problemas. En la página siguiente encuentras un convertidor de la instalación de VB desde VBP o de LST

http://www.randem.com/innoscript.html

Para que los textos sean en español necesitas el archivo de lenguaje 'SpanishStd.isl' para la última versión de Inno Setup y se coloca en fólder Languages. Les adjunto el archivo.
También tienen que colocar lo siguiente en el script de Inno Setup

[Languages]
Name: nl; MessagesFile: "compiler:Languages\SpanishStd.isl"

 :)

582
Visual Basic 6.0 e inferiores / Re: ContraseÑa En Access 2000
« en: Lunes 10 de Mayo de 2004, 02:06 »
Para que funcione con Access 2000, debes tener la última actualización de VB6  (SP5) En propiedad Connect debe aparecer esta opción "Access 2000;"


Esto funciona en DAO

Define estas variables en la forma, como variables de módulo.
Código: Text
  1.  
  2. Dim mdbConsulta As Database
  3. Dim mrsHist As Recordset
  4.  
  5.  

Coloca esto en Form_Load()
Código: Text
  1.  
  2.     Set mdbConsulta = DBEngine.OpenDatabase(strDBFilename, False, False, ";Pwd=MyPwd" )
  3.     Set mrsHist = mdbConsulta.OpenRecordset(strSqlQry, dbOpenDynaset)
  4.     Set datHist.Recordset = mrsHist
  5.  
  6.  

Cámbialo de acuerdo a tus variables. datHist es el control data
Esto funciona con Access 97 y 2000,

583
Visual Basic 6.0 e inferiores / Re: Crear Instalador
« en: Sábado 8 de Mayo de 2004, 19:44 »
Gracias por el ejemplo, pero no funcionaría en un sistema que no tenga Vb6 y Access instalado.

 :(

584
Visual Basic 6.0 e inferiores / Re: Crear Instalador
« en: Viernes 7 de Mayo de 2004, 23:28 »
Blag

Podrías proporcionarnos un exemplo de un archivo script del programa como Example1.iss que viene con el programa Inno Setup, pero como ejemplo de instalación de algún programa de Visual Basic.

Gracias de antemano por la ayuda.

 :D

585
Visual Basic 6.0 e inferiores / Re: Como Pasar El Foco A Otra Aplicación
« en: Martes 13 de Abril de 2004, 05:17 »
Yo uso este código para evitar abrir la aplicación 2 veces

Código: Text
  1.  
  2.  
  3. Private Sub Form_Activate()
  4.    If App.PrevInstance = True Then
  5.       Dim SaveTitle As String
  6.       SaveTitle = App.Title
  7.       App.Title = "... programa duplicado."
  8.       frmMain.Caption = "... programa duplicado."
  9.       Text = "Actualmente está abierta -Título-."
  10.       Text = Text + vbCrLf + "Sólo es necesario abrir una a la vez."
  11.       MsgBox Text, vbExclamation, "Advertencia..."
  12.       AppActivate SaveTitle
  13.       SendKeys "% R", True
  14.       End
  15.    End If
  16. End Sub
  17.  
  18.  

 :hola:

586
Visual Basic 6.0 e inferiores / Re: Evento Keypress
« en: Viernes 9 de Abril de 2004, 00:08 »
Default (Propiedad): Devuelve o establece un valor que determina qué control CommandButton es el botón de comando predeterminado de un formulario.

Revisa tu forma, lo más probable es que se trate de que un CommandButton tiene la propiedad Default = true, cambia esta caracteristica en la ventana de propiedades.

La propiedad Default del CommandButton es el equivalente a hacer un clic en el botón al presionar INTRO. Visualmente se nota que el CommandButton tiene default cuando su borde es un poco más obscuro.
 :)

587
Visual Basic 6.0 e inferiores / Re: Comodines Sql
« en: Domingo 4 de Abril de 2004, 01:57 »
En DAO con Control Data los comodines son ? y * para varios
 :huh:

588
Visual Basic 6.0 e inferiores / Re: Formato De Caja De Texto
« en: Sábado 27 de Marzo de 2004, 05:40 »
Usa Format

Format(expresión, formato)

Ejemplo
Código: Text
  1.  
  2. Private Sub Text1_LostFocus()
  3.   Text1.Text = Format(Text1.Text , "$###.###,##")
  4. End Sub
  5.  
  6.  

589
Visual Basic 6.0 e inferiores / Re: Archivos
« en: Domingo 21 de Marzo de 2004, 03:45 »
Usa FileCopy

Ejemplo

FileCopy source, destination

590
Visual Basic 6.0 e inferiores / Re: Como Linkear El Archivo De Ayuda
« en: Martes 16 de Marzo de 2004, 23:28 »
En las propiedades del proyecto escribe el nombre del archivo de ayuda o en su caso también coloca esto al iniciar el programa...

Código: Text
  1.  
  2.     App.HelpFile = App.Path & "Ayuda.chm"
  3.  
  4.  

Lo siguiente va en un menú. Asegurate de que en el Editor de Menús el shortcut sea F1

Código: Text
  1.  
  2. Private Sub mnuHelpContenido_Click()
  3.     Dim h As Long
  4.     On Error Resume Next
  5.     h = HtmlHelp(Me.hwnd, "Ayuda.chm", HH_DISPLAY_TOPIC, 0&)
  6. End Sub
  7.  
  8.  
   
Lo siguiente puede ir en un módulo Bas...
Código: Text
  1.  
  2.  
  3. Option Explicit
  4.  
  5. 'En Microsoft TechNet puedes encontrar este artículo:
  6. 'HOWTO: Use HTML Help API in a Visual Basic 5.0 Application
  7. 'PSS ID Number: Q183434
  8. '
  9. 'Aunque la definición de la Enumeración y la primera declaración
  10. 'es de las news
  11. '
  12. 'Htmlhelp consts
  13.  Enum HH_COMMAND
  14.     HH_DISPLAY_TOPIC = &H0
  15.     HH_HELP_FINDER = &H0        ' WinHelp equivalent
  16.     HH_DISPLAY_TOC = &H1        ' not currently implemented
  17.     HH_DISPLAY_INDEX = &H2      ' not currently implemented
  18.     HH_DISPLAY_SEARCH = &H3     ' not currently implemented
  19.     HH_SET_WIN_TYPE = &H4
  20.     HH_GET_WIN_TYPE = &H5
  21.     HH_GET_WIN_HANDLE = &H6
  22.     HH_GET_INFO_TYPES = &H7     ' not currently implemented
  23.     HH_SET_INFO_TYPES = &H8     ' not currently implemented
  24.     HH_SYNC = &H9
  25.     HH_ADD_NAV_UI = &HA         ' not currently implemented
  26.     HH_ADD_BUTTON = &HB         ' not currently implemented
  27.     HH_GETBROWSER_APP = &HC     ' not currently implemented
  28.     HH_KEYWORD_LOOKUP = &HD
  29.     HH_DISPLAY_TEXT_POPUP = &HE ' display string resource id
  30.                                 ' or text in a popup window
  31.     HH_HELP_CONTEXT = &HF       ' display mapped numeric value
  32.                                 ' in dwData
  33.     HH_TP_HELP_CONTEXTMENU      ' Text pop-up help, similar to
  34.                                 ' WinHelp's HELP_CONTEXTMENU.
  35.     HH_TP_HELP_WM_HELP = &H11   ' text pop-up help, similar to
  36.                                 ' WinHelp's HELP_WM_HELP.
  37.     HH_CLOSE_ALL = &H12         ' close all windows opened directly
  38.                                 ' or indirectly by the caller
  39.     HH_ALINK_LOOKUP = &H13      ' ALink version of HH_KEYWORD_LOOKUP
  40. End Enum
  41.  
  42. 'HtmlHelp api call
  43. 'NOTA: Si se usa esta forma, hay que indicar el último parámetro
  44. '      con la palabra ByVal delante...
  45. 'Private Declare Function HtmlHelp Lib "hhctrl.ocx" Alias "HtmlHelpA" _
  46.     (ByVal hwndCaller As Long, ByVal pszFile As String, _
  47.     ByVal uCommand As HH_COMMAND, dwData As Any) As Long
  48. 'Con esta funciona perfectamente
  49. Declare Function HtmlHelp Lib "hhctrl.ocx" Alias "HtmlHelpA" _
  50.     (ByVal hwndCaller As Long, ByVal pszFile As String, _
  51.     ByVal uCommand As HH_COMMAND, ByVal dwData As Long) As Long
  52.  
  53.  
Lo último lo dejo tal como lo encontré en la red.
 :)

591
Visual Basic 6.0 e inferiores / Re: Por Que No Sirve?
« en: Martes 16 de Marzo de 2004, 22:59 »
Trim()

If (Trim(Text1.Text) = "play") Then
     Text2.Text = "Jugar"
End If

592
Visual Basic 6.0 e inferiores / Re: Porfavor, Ayuda Para Voltear Una Cadena
« en: Jueves 11 de Marzo de 2004, 05:39 »
Más fácil es usar la funcion    StrReverse("")

    Text2.text = StrReverse(Text1.text )
 :)


---------------------
"Corrector Ortográfico de Notas", útil para revisar los textos en los programas.
Escrito en Visual Basic, con diccionario propio.

http://geocities.com/igmario/index2.html

593
Visual Basic 6.0 e inferiores / Re: Refrescar El Data Después De Una Búsqueda
« en: Jueves 11 de Marzo de 2004, 05:27 »
En lugar de usar un comando SQL para buscar, usa esta rutina en el evento clic del dbCombo y no perderás los datos en Data1

Private Sub DBCombo1_Click(Area As Integer)
    If Area = dbcAreaList Then
        If DBCombo1.Text <> "" Then
            If Not Data1.Recordset.BOF And Not Data1.Recordset.EOF Then
                Data1.Recordset.Bookmark = DBCombo1.SelectedItem
            End If
        End If
    End If
    Area = 0
End Sub
 :)

594
Visual Basic 6.0 e inferiores / Re: Fallo Al Crear Instalador
« en: Martes 2 de Marzo de 2004, 05:22 »
El error lo genera Microsoft Calendar Control (MSCal.ocx) para resolver el problema:

Haz una búsqueda del siguiente archivo MSCal.dep
En Notepad.exe (block de notas) abre el archivo y modifícalo:
Retira las letras "Ex"
Register=$(DLLSelfRegisterEx)
Debe quedar así:
Register=$(DLLSelfRegister)
Guarda el archivo y nuevamente elabora el paquete de distribución de tu
aplicación.


---------------------
"Corrector Ortográfico de Notas", útil para revisar los textos en los programas.
Escrito en Visual Basic, con diccionario propio.

http://geocities.com/igmario/index2.html

595
Visual Basic 6.0 e inferiores / Re: Validacion Del Keypress
« en: Viernes 23 de Enero de 2004, 04:56 »
Hay formas más precisas de limitar los caracteres a escribir, este ejemplo solo permite que escribas letras mayúsculas en un textbox, también puedes escribir letras acentuadas.

Private Sub txtNombre_KeyPress(KeyAscii As Integer)
    Dim letters As String
    Dim strChar As String
    letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZÑÁÉÍÓÚÜ "
    strChar = UCase(Chr$(KeyAscii))
    If KeyAscii = 8 Then
    ElseIf InStr(letters, strChar) Then
        KeyAscii = Asc(strChar)
    Else
        KeyAscii = 0
    End If
End Sub

---------------------
"Corrector Ortográfico de Notas", útil para revisar los textos en los programas.
Escrito en Visual Basic, con diccionario propio.

http://geocities.com/igmario/index2.html

596
Visual Basic 6.0 e inferiores / Re: Problema Raro
« en: Miércoles 21 de Enero de 2004, 04:46 »
Mid$ incompleto

Te hace falta el tercer parámetro de Mid$

Mid(string, start[, length])


    If Left(txtstepp.Text, 1) = "a" And Mid(txtstepp.Text, 2, 1) = "x" And Len(txtstepp.Text) = 3 Then
        lblproci.Caption = "Athlon XP Palomino"
    End If
    If Left(txtstepp.Text, 1) = "a" And Mid(txtstepp.Text, 2, 1) = "x" And Mid(txtstepp.Text, 3, 1) = "d" And Mid(txtstepp.Text, 4, 1) = "a" Then
        lblproci.Caption = "Athlon XP Tbred"
    End If

597
Visual Basic 6.0 e inferiores / Re: Como Localizar Una Palabra En Un Txt
« en: Sábado 3 de Enero de 2004, 05:08 »
Usa la instrucción

InStr([start, ]string1, string2[, compare])

    Dim lngPos As Long
    Dim strWord As String
    strWord = "Palabra"
    'lngPos posición de la palabra en TextBox
    lngPos = InStr(1, Text1.Text, strWord)

 :)

598
Visual Basic 6.0 e inferiores / Re: Empaquetado
« en: Viernes 19 de Diciembre de 2003, 01:51 »
El error lo genera Microsoft Calendar Control (MSCal.ocx) para resolver el problema:

Haz una búsqueda del siguiente archivo MSCal.dep
En Notepad.exe (block de notas) abre el archivo y modifícalo:
Retira las letras "Ex"
Register=$(DLLSelfRegisterEx)
Debe quedar así:
Register=$(DLLSelfRegister)
Guarda el archivo y nuevamente elabora el paquete de distribución de tu
aplicación. :hola:

599
Visual Basic 6.0 e inferiores / Re: Como Hacer Un String Mas Largo..
« en: Sábado 6 de Diciembre de 2003, 05:11 »
:rolleyes: Limitante

Me pasó algo parecido y encontré una limitante de tamaño de cadena de 210 caracteres en el SQL. No sé si esto pase en todas las versiones de las bases de datos.

600
Visual Basic 6.0 e inferiores / Re: comprobacion de fechas
« en: Martes 11 de Noviembre de 2003, 02:23 »
Usa IsDate()

Ejemplo:

IF IsDate(txtFechaCaptura.Text) then
   Msgbox "Esta es una fecha"
Endif

Páginas: 1 ... 22 23 [24] 25 26