• Domingo 6 de Julio de 2025, 06:43

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 ... 21 22 [23] 24 25 ... 43
551
Visual Basic 6.0 e inferiores / Re: Llamada A Aplicacion
« en: Miércoles 25 de Febrero de 2004, 17:52 »
Hola FernandoP.

Se me ocurre lo siguiente: crea un archivo de proceso por lotes (.Bat) y ejécutalo con Shell.
Código: Text
  1.  
  2. Private Sub ExecHidra(Byval UsrParm As string)
  3.     Dim intCanal As Integer
  4.     intCanal = FreeFile
  5.     Open "C:\Ruta\Hidra.bat" For Output As intCanal
  6.     Print #intCanal, "hidra2 <" & UsrParam
  7.     Close intCanal
  8.     Shell "C:\Ruta\Hidra.bat"
  9. End Sub
  10.  
  11.  

Suerte.

552
Visual Basic 6.0 e inferiores / Re: Archivos, Matrices Y Arreglos
« en: Miércoles 25 de Febrero de 2004, 17:42 »
Hola FernandoP.

Prueba a cerrar este tema
http://foros.solocodigo.com/index.php?show...t=0&#entry19014, porque me parece que sigues con lo mismo y no sé qué te pareció la solución...

Chao.

553
Visual Basic 6.0 e inferiores / Re: Ayuda Dbgrid
« en: Miércoles 25 de Febrero de 2004, 17:36 »
Hola AbaClar.

Dende logo que mudar ó VB6 é boa ideia...

Outra cousa, a ver que che parece: Tenta usar varios TextBox para introducir/modifica-los datos dun rexistro (límpaos cando queiras dar un alta) e amosa o conxunto dos rexistros nun Grid, xa seja DbGrid, DataGrid, FlexGrid ou o que ti queiras.

Sorte, por certo: máis que 'Portunhol', o que falo é 'Portulegho', ainda que neste caso preferín usalo Galego para non semellar tan redículo.
Saudos dende Galiza para meus irmaos que visitan este forum.

Abur.

554
Visual Basic 6.0 e inferiores / Re: Problema Con Dll
« en: Miércoles 25 de Febrero de 2004, 17:27 »
Hola Rober.29

Para mi, lo más sencillo ser´´ia crear un ejecutable aparte para enviar los correos: Lo ejecutas con Shell y correrá de forma asíncrona. Para indicar al programa que correos debe enviar podrías pasar como parámetro la ruta y nombre de un archivo de texto que contenga la información que necesitas, pasar el valor  del puntero y la longitud de determinada variable, o alguna solución por el estilo...

Chao.

555
Visual Basic 6.0 e inferiores / Re: Comprobar Si Ya Existe Un Registro
« en: Miércoles 25 de Febrero de 2004, 17:21 »
Hola Charly.

Si la tablas en la que intentas insertar datos no soporta claves duplicadas, supervisa el error que te de al intentar insertar.

Otra opción es que previamente realices un SELECT de la tabla filtrando por los valores que quieres insertar, si Recordset.RecordCount = 0, entonces no existe el registro. Ten en cuenta que los valores de comparación de la cláusula WHERE son sensibles a mayúsculas minúsculas.

Algo así:
Código: Text
  1.  
  2.     Dim cnx1 As ADODB.Connection
  3.     Dim cmd1 As ADODB.Command
  4.     Dim rs1 As Recordset
  5.     Set cnx1 = New ADODB.Connection
  6.     cnx1.CursorLocation = adUseClient
  7.     cnx1.Open "Provider=Microsoft Jet 4.0 OLE DB Provider;" _
  8.     & "Data Source=C:\Ruta\BaseDeDatos.mdb;"
  9.     Set cmd1 = New ADODB.Command
  10.     Set cmd1.ActiveConnection = cnx1
  11.     cmd1.CommandType = adCmdText
  12.     cmd1.CommandText = "SELECT * FROM Contactos " _
  13.     & "WHERE UCase(Trim(Nombre))='" _
  14.     & UCase(Trim(txtNombre.Text)) & "' AND " _
  15.     & "UCase(Trim(Apellidos))='" _
  16.     & UCase(Trim(txtApellidos.Text)) & "'"
  17.     Set rs1 = cmd1.Execute()
  18.     If rs1.RecordCount > 0 Then MsgBox "Ya existe en la tabla"
  19.     rs1.Close
  20.     Set rs1 = Nothing
  21.     Set cmd1 = Nothing
  22.     cnx1.Close
  23.     Set cnx1 = Nothing
  24.  
  25.  
Claro está, que en vez de declarar una nueva conexión y/o comando, puedes reutilizar los que ya tengas.

Suerte.

556
Visual Basic 6.0 e inferiores / Re: Ganar El Foco De Windows
« en: Viernes 20 de Febrero de 2004, 09:43 »
Hola _EL_DJ_LU.

Puedes usar la función api ShowWindow.

Código: Text
  1.  
  2. Public Declare Function ShowWindow Lib "user32" Alias "ShowWindow" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
  3.  
  4.  

El valor para nCmdShow que necesitas, si mal no recuerdo debería ser 5 (SW_SHOW) o 3 (SW_SHOWMAXIMIZED).

Suerte.

557
Visual Basic 6.0 e inferiores / Re: Guardar Configuración
« en: Viernes 20 de Febrero de 2004, 09:34 »
Hola AYCUL.

Tienes varios caminos:

1- Usar la instrucción SaveSetting para guardar un elemento de la configuración (se guarda en el registro, donde nos da igual), la función GetSetting para recuperar, DeteleSetting para borrar el elemento de la configuración.

2 - Crear tus propias claves en el registro y mediante funciones del api (RegCreateKey , RegGetKey, ...), establecer los correspondientes valores.

3 - Usar archivos INI de configuración del tipo de las aplicaciones de 16 bits. Lo más sencillo es usar las api GetPrivateProfileString y WritePrivateProfileString.

4 - Usar un archivo de texto con la estructura que a ti más te convenga.

Suerte.

558
Visual Basic 6.0 e inferiores / Re: Ayuda Dbgrid
« en: Viernes 20 de Febrero de 2004, 09:26 »
Hola AbaClar.

Eu gostaría de te ajudar, mais o arquivo que juntas non inclue o componhente MSDBGrid.DBGrid... de tódolos xeitos, os datos que amosas no form de Access venhen dun subformulario... poderíate dizer que tentaras usando un control DataGrid embora voçe usa controis Data e o DataGrid precisa OleDb...
Outro trilho sería usar un grid nom enlaçado a ningún control de datos, e manexalo a traverso do código.

Coido que con esto que digo, ó milhor en troques de fazer máis doada tú laboura faina máis compleja... ¿e logo, por que non provas a junta-lo DbGrid con projeto?

De tódolos xeitos, tal vez no foro alguén conheza o control que usas e che dea unha soluçao máis sinjela.

Unha aperta e sorte.

559
Visual Basic 6.0 e inferiores / Re: Listar Los Puertos Del Equipo
« en: Jueves 19 de Febrero de 2004, 17:47 »
No lo sé. Chau.

560
Visual Basic 6.0 e inferiores / Re: Incompatibilidad: Ortografia Con Rtf
« en: Jueves 19 de Febrero de 2004, 16:20 »
Hola mosaic04.

El tema está en que el texto que estás insertando en el documento word  no se reconoce como RTF o no se inserta como RTF, de forma que el texto en word (si no ocultas la aplicación lo puedes comprobar) está sin formato. Cuando vuelves a asignar el texto al RichTextBox desde el word, el texto no tiene formato RTF, por lo que pierdes esas carácterísticas. La solución pasa por conseguir indicar a word que el formato del documento es RTF y por asignar/recuperar el texto del RichTextBox a través de la propiedad TextRTF. Como no sé como se puede indicar esto al objeto WordBasic, te presento esta otra alternativa a ver que te parece...

Se trataría de guardar el valor de la propiedad TextRTF en un string, pero sustituyendo cada palabra de RichTextBox1.Text por ciertos carácteres...
Ejecutar la corrección tal y como la haces y luego sustituir en la variable string aquellos caracteres por la respectiva palabra corregida. Terminariamos asignando a RichTextBox1.TextRTF el valor de la variable.

Como no sé si me habré explicado muy bien (que creo que no) te envío un ejemplo de cómo creo que más o menos debería ser la cosa. Ojo que no lo he probado a fondo, sólo para que veas la idea.

Código: Text
  1.  
  2. Private Sub Corregir()
  3.    
  4.     Dim strTextoRTF As String
  5.  
  6.     Dim var1 As Variant
  7.     var1 = Split(rtf.Text, " ")
  8.  
  9.     Dim int1 As Integer
  10.     Dim lng1 As Long
  11.     Dim lngIdx As Long
  12.     lngIdx = 1
  13.     strTextRTF = rtf.TextRTF
  14.     For int1 = LBound(var1) To UBound(var1)
  15.         lng1 = InStr(lngIdx, rtf.TextRTF, var1(int1))
  16.         If lng1 > 0 Then
  17.             lngIdx = lng1 + Len(var1(int1))
  18.             strTextRTF = Left(strTextRTF, lng1 - 1) _
  19.             & "???" & Mid(strTextRTF, lngIdx)
  20.         End If
  21.     Next int1
  22.  
  23. 'Aquí va tú código
  24.     Dim MSWord As Object, Texto As String
  25.     Set MSWord = CreateObject("Word.Basic")
  26.     MSWord.AppMinimize
  27.     MSWord.AppHide
  28.     MSWord.FileNewDefault
  29.     MSWord.EditSelectAll
  30.     MSWord.EditCut
  31.     MSWord.Insert rtf.Text
  32.     MSWord.StartOfDocument
  33.     On Error Resume Next
  34.     MSWord.ToolsSpelling
  35.     On Error GoTo 0
  36.     MSWord.EditSelectAll
  37.     Texto = MSWord.Selection
  38.     If Mid(Texto, Len(Texto), 1) = Chr(13) Then _
  39.     Texto = Mid(Texto, 1, Len(Texto) - 1)
  40.  
  41. '   Aquí le damos la vuelta a la tortilla
  42.     If Len(Texto) > 1 Then
  43.        var1 = Split(Texto, " ")
  44.        lngIdx = 1
  45.        For int1 = LBound(var1) To UBound(var1)
  46.             lng1 = InStr(lngIdx,strTextRTF, "???")
  47.             If lng1 > 0 Then
  48.                 lngIdx = lng1 + 3
  49.                 strTextRTF = Left(strTextRTF, lng1 - 1) _
  50.                 & var1(int1) & Mid(strTextRTF, lngIdx)
  51.             End If
  52.         Next int1
  53.         rtf.TextRTF = strTextRTF
  54.     End If
  55.  
  56.     MSWord.FileCloseAll 2
  57.     MSWord.AppClose
  58.     Set MSWord = Nothing
  59.  
  60. End Sub
  61.  
  62.  

Bueno, resalto de nuevo que el código está sin probar ni depurar, escrito al vuelo, es para que pilles la idea... Otra cosa: he supuesto que el número de palabras que se mandan corregir es el mismo número que las corregidas.

Espero que esto te sirva.
Chao.

561
Visual Basic 6.0 e inferiores / Re: Backup En Vb
« en: Jueves 19 de Febrero de 2004, 09:51 »
Hola MestreZero.

Puedes seguir dos caminos:

1- Copia la bd a otra carpeta o con otro nombre y usa ese archivo como backup. Para restaurar copia sobre el original. Usa FileCopy

2- Hacer copias de las tablas INSERT INTO TablaBackUp SELECT * FROM TablaOriginal.

Yo eligiría la opción 1. Podrías también habilitar en la aplicación una opción para poder seleccionar la base de datos con la que quieres trabajar. Esto va muy bien para recuperar datos históricos, por ejemplo (al cerrar el año creo una copia de la bd con mismo nombre pero terminado con el año en una carpeta destinada a históricos y elimino de la copia posibles movimientos no correspondientes al año).

Suerte.

562
Visual Basic 6.0 e inferiores / Re: Listar Los Puertos Del Equipo
« en: Jueves 19 de Febrero de 2004, 09:43 »
A ver si esto te vale.

Código: Text
  1.  
  2. Private Sub ChkPorts()
  3.    
  4.     Dim intCanal As Integer
  5.     Dim int1 As Integer
  6.    
  7.     On Error GoTo Err_PtoPar
  8.     For int1 = 1 To 16
  9.         intCanal = FreeFile
  10.         Open "LPT" & int1 For Input As intCanal
  11.         Close intCanal
  12.     Next int1
  13.    
  14. PtoCom:
  15.     On Error GoTo Err_PtoCom
  16.     For int1 = 1 To 16
  17.         intCanal = FreeFile
  18.         Open "COM" & int1 For Input As intCanal
  19.         Close intCanal
  20.     Next int1
  21.    
  22.     Exit Sub
  23.  
  24. Err_PtoPar:
  25.     If Err.Number = 53 Then
  26.         MsgBox int1 - 1 & " puerto(s) paralelo(s)"
  27.         Resume PtoCom
  28.     End If
  29.     Exit Sub
  30.    
  31. Err_PtoCom:
  32.     If Err.Number = 53 Then MsgBox int1 - 1 & " puerto(s) com"
  33.  
  34. End Sub
  35.  
  36.  

Abur.

564
Visual Basic 6.0 e inferiores / Re: GetOpenFileName , GetSaveFileName
« en: Miércoles 18 de Febrero de 2004, 18:19 »
Saludos para tod@s.

Hace tiempo inicié este tema y por fin lo cierro...
El problema estaba en una error de codificación, que de tan evidente que era, se me escapaba, y es que a veces las tonterías más simples hacen que nos volvamos locos... Por si a alguien le interesa, aquí pongo el código que usaba pero ya corregido (el ejemplo es sólo de GetSaveFileName, el funcionamiento de GetOpenFileName es prácticamente el mismo por lo que lo omito):

Código: Text
  1.  
  2. Private Const OFN_READONLY = &H1
  3. Private Const OFN_OVERWRITEPROMPT = &H2
  4. Private Const OFN_HIDEREADONLY = &H4
  5. Private Const OFN_NOCHANGEDIR = &H8
  6. Private Const OFN_SHOWHELP = &H10
  7. Private Const OFN_ENABLEHOOK = &H20
  8. Private Const OFN_ENABLETEMPLATE = &H40
  9. Private Const OFN_ENABLETEMPLATEHANDLE = &H80
  10. Private Const OFN_NOVALIDATE = &H100
  11. Private Const OFN_ALLOWMULTISELECT = &H200
  12. Private Const OFN_EXTENSIONDIFFERENT = &H400
  13. Private Const OFN_PATHMUSTEXIST = &H800
  14. Private Const OFN_FILEMUSTEXIST = &H1000
  15. Private Const OFN_CREATEPROMPT = &H2000
  16. Private Const OFN_SHAREAWARE = &H4000
  17. Private Const OFN_NOREADONLYRETURN = &H8000
  18. Private Const OFN_NOTESTFILECREATE = &H10000
  19. Private Const OFN_SHAREFALLTHROUGH = 2
  20. Private Const OFN_SHARENOWARN = 1
  21. Private Const OFN_SHAREWARN = 0
  22. Private Type tagOPENFILENAME
  23.     lStructSize As Long
  24.     hwndOwner As Long
  25.     hInstance As Long
  26.     lpstrFilter As String
  27.     lpstrCustomFilter As String
  28.     nMaxCustFilter As Long
  29.     nFilterIndex As Long
  30.     lpstrFile As String
  31.     nMaxFile As Long
  32.     lpstrFileTitle As String
  33.     nMaxFileTitle As Long
  34.     lpstrInitialDir As String
  35.     lpstrTitle As String
  36.     flags As Long
  37.     nFileOffset As Integer
  38.     nFileExtension As Integer
  39.     lpstrDefExt As String
  40.     lCustData As Long
  41.     lpfnHook As Long
  42.     lpTemplateName As String
  43. End Type
  44. Private Declare Function GetSaveFileName Lib "COMDLG32.DLL" Alias "GetSaveFileNameA" (pOpenfilename As tagOPENFILENAME) As Long
  45.  
  46. Public Function GuardarArchivo( _
  47. Optional ByVal Hwnd As Long,  _
  48. Optional ByVal DftPath As String,  _
  49. Optional ByVal DftFile As String,  _
  50. Optional ByVal DftTitle As String,  _
  51. Optional ByVal DftExt As String, _
  52. Optional ByVal FilterIdx As Integer) As String
  53.    
  54.     On Error GoTo Err_GuardarArchivo
  55.  
  56.     Dim strFilter As String
  57.     strFilter = "Todos los archivos (*.*)" & Chr(0) & "*.*" & Chr(0) _
  58.     & "Archivos de texto delimitado (*.csv)" & Chr(0) & "*.csv" & Chr(0) _
  59.     & "Archivos de intercambio de datos (*.dif)" & Chr(0) & "*.dif" & Chr(0) _
  60.     & "Archivos de texto (*.txt)" & Chr(0) & "*.txt" & Chr(0) _
  61.     & "Libros de microsoft excel (*.xls)" & Chr(0) & "*.xls" & Chr(0)
  62.    
  63.     If Trim(DftExt) = "" Then DftExt = "*.*"
  64.     If Trim(DftTitle) = "" Then DftTitle  = "Guardar archivo como"
  65.     If Trim(DftPath) = "" Then   DftPath = App.Path
  66.     If Len(DftFile) < 255 Then DftFile = DftFile & String(255 - Len(DftFile), " ")
  67.     If FilterIdx = 0 Then FilterIdx = 1
  68.    
  69.     Dim File As tagOPENFILENAME
  70.     With File
  71.         .lStructSize = Len(File)
  72.         .hwndOwner = Hwnd
  73.         .lpstrFilter = strFilter & Chr(0)
  74.         .nFilterIndex = FilterIdx
  75.         .nMaxFile = Len(DftFile) + 1
  76.         .lpstrFile = DftFile & Chr(0)
  77.         .nMaxFileTitle = Len(DftTitle) + 1
  78.         .lpstrFileTitle = DftTitle & Chr(0)
  79.         .lpstrTitle = DftTitle & Chr(0)
  80.         .lpstrInitialDir = DftPath & Chr(0)
  81.         .lpstrDefExt = DftExt & Chr(0)
  82.         .flags = OFN_FILEMUSTEXIST Or OFN_HIDEREADONLY Or OFN_OVERWRITEPROMPT
  83.         .hInstance = App.hInstance
  84.         .lpfnHook = 0
  85.         .lpTemplateName = 0
  86.         .nFileOffset = 0
  87.         .lCustData = 0
  88.     End With
  89.        
  90.     Dim lngRc As Long
  91.     lngRc = GetSaveFileName(File)
  92.     If lngRc <> 0 Then
  93.         GuardarArchivo = Left(File.lpstrFile, InStr(1, File.lpstrFile, Chr(0)) - 1)
  94.     Else
  95.         GuardarArchivo = ""
  96.     End If
  97.    
  98.     Exit Function
  99.  
  100. Err_GuardarArchivo:
  101.     MsgBox "Error seleccionando archivo." & String(2, vbCrLf) _
  102.     & "(" & Err.Number & ") " & Err.Description & "." _
  103.     , vbCritical, "Guardar archivo"
  104.  
  105. End Function
  106.  
  107.  

Como curiosidad: la línea que provocaba que no apareciese el archivo por defecto era esta:
Código: Text
  1.  
  2.    .lpstrFile = Chr(0) & DftFile & Chr(0)
  3.  
  4.  
El fallo es evidente, ¿no?

Espero que a alguien esto le sea útil.
Abur.

565
Visual Basic 6.0 e inferiores / Re: Texto De Colores
« en: Miércoles 18 de Febrero de 2004, 12:30 »
Hola Navx.

Para hacer algo así de manera sencilla tendrías que usar un PictureBox, o lo más fácil: un RichTextBox (Microsoft Rich TextBox Control).

El código sería muy parecido:
Código: Text
  1.  
  2. Private Sub Richtextbox1_KeyPress(KeyAscii As Integer)
  3.   Select Case KeyAscii
  4.     Case 101
  5.       RichTextBox1.SelColor = vbRed
  6.     Case 104
  7.       RichTextBox1.SelColor = vbBlue
  8.     Case 108
  9.       RichTextBox1.SelColor = vbYellow
  10.     Case 111
  11.       RichTextBox1.SelColor = vbGreen
  12.     Case Else
  13.       RichTextBox1.SelColor = vbBlack
  14.   End Select
  15. End Sub
  16.  
  17.  

Suerte.

566
Visual Basic 6.0 e inferiores / Re: Msflexgrid A Excel (commandbutton)
« en: Miércoles 18 de Febrero de 2004, 09:10 »
Hola roxiii.

Seguramente te falta objApp.Quit para cerrar excel.

Abur.

567
Visual Basic 6.0 e inferiores / Re: Dbcombo
« en: Miércoles 18 de Febrero de 2004, 09:08 »
Hola analaura.

No sé si te he comprendido muy bien: el DbCombo ya muestra una lista al desplegarse... De todas formas, si quieres tener la lista siempre visible, utiliza un control DataList.

Suerte.

568
Visual Basic 6.0 e inferiores / Re: Datareport
« en: Martes 17 de Febrero de 2004, 15:22 »
Hola Sonia Rodri.

Para añadir un DataEnvironment a tu proyecto, selecciona el menú Proyecto, Componentes o pulsa Crtl - T. A continuación selecciona la pestaña Diseñadores, aquí activa la casilla 'Data Environment'. Acepta y ya puedes añadir el correspondiente data environment al proyecto.

Utiliza la propiedad DataSource del data report para seleccionar el data environment que hayas añadido. Asigna a la propiedad DataMember el correspondiente objeto command del data environment.

Ahora ya puedes recuperar la estructura de los datos.

Suerte.

569
Visual Basic 6.0 e inferiores / Re: Control Ocx De Fechas
« en: Martes 17 de Febrero de 2004, 14:41 »
Hola pacegar.

Tal vez te sirva un control MonthView (Microsoft windows common controls - 2). No conozco el control calendar, por lo que no sé si este MonthView te dará más juego, de todas formas me parece bastante completo...

Suerte.

570
Visual Basic 6.0 e inferiores / Re: Reporte En Vb
« en: Martes 17 de Febrero de 2004, 12:29 »
Hola JavierGil.

Puedes probar usando DataReport o si dispones de él Crystal Reports (yo no uso ni apenas conozco uno ni otro), puedes usar un informe de acces o puedes crear tu mismo el informe 'a pedal' mediante el objeto Printer.

Suerte.

571
Visual Basic 6.0 e inferiores / Re: ¿cómo Descompilar?
« en: Martes 17 de Febrero de 2004, 12:25 »
Hola Bopo.

Pues aprovecha y dile a tu amigo que te recupere ese fuente que necesitas.

Que tengas suerte...

572
Visual Basic 6.0 e inferiores / Re: Problema Sobre Ventanas....
« en: Martes 17 de Febrero de 2004, 12:23 »
Hola _EL_DJ_LU.

Fíjate en el ejemplo, a ver si te sirve:

Código: Text
  1.  
  2. Dim frm1 as Form
  3. For each frm1 in VB.Forms
  4.      If frm1.Visible Then _
  5.      MsgBox frm1.Name & " es visible"
  6. Next frm1
  7.  
  8.  

Suerte.

573
Visual Basic 6.0 e inferiores / Re: Aplicación En Systray
« en: Sábado 14 de Febrero de 2004, 12:38 »
Hola ebolo.

Y ese componente (no lo conozco), ¿proporciona algún evento que puedas controlar para saber si tu aplicación debe finalizarse?

Chau.

574
Visual Basic 6.0 e inferiores / Re: Msflexgrid A Excel (commandbutton)
« en: Sábado 14 de Febrero de 2004, 12:27 »
Hola roxiii.

Para eso, debes modificar un par de cosillas:

1- Como el libro debe existir, en vez de 'CreateObject', utilizarías esto para obtener la instancia al objeto application:
Código: Text
  1.  
  2. Set objApp = GetObject("C:\Ruta\Nombre.xls")
  3.  
  4.  

2- Para obtener una instancia a la hoja que quieres modificar:
Código: Text
  1.  
  2. Set objWb = objApp.Worksheets
  3. Set objSh = objWb("Nombre de mi hoja")
  4.  
  5.  

3- El resto viene a ser lo mismo.

Suerte.

575
Visual Basic 6.0 e inferiores / Re: ¿cómo Descompilar?
« en: Sábado 14 de Febrero de 2004, 12:18 »
Me parece que lo tienes crudo... cualquier posible desensamblado poco se parecería al código original.

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