• Martes 13 de Mayo de 2025, 20:13

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 ... 25 26 [27] 28 29 ... 43
651
Visual Basic 6.0 e inferiores / Re: Problema Raro
« en: Miércoles 21 de Enero de 2004, 17:19 »
El ejemplo que te da pacegar es válido con una salvedad: que se te ocurra escribir en el textbox con mayúsculas... con esto debería de servir:

Código: Text
  1.  
  2. If LCase(Left(txtstepp.Text, 4)) = "axda" Then
  3.       lblproci.Caption = "Athlon XP Tbred"
  4. elseif LCase(Left(txtstepp.Text, 2)) = "ax" then
  5.       lblproci.Caption = "Athlon XP Palomino"
  6. endif
  7.  
  8.  

Y que no te parezca mal, pero podrías esforzarte un poco para poder comprenderte mejor...
Citar
pero en los 2 si pongo axda y depeus borro la a del final sale palomino  , que hagooo
... porque quién sabe a qué te refieres cuando dices que ¿en los 2? (¿TextBox?,¿no era uno?) pones 'axda' y después borras la 'a del final'.

Suerte.

652
VB .NET / Re: Leer Ini
« en: Martes 20 de Enero de 2004, 16:16 »
Hola Taursoft.

Sin duda esa es una cuestión para ser planteada en el foro de vb.net, pero... por si te sirve de algo:

Para leer archivos ini usa el api GetPrivateProfileString.
Para escribir en archivos ini usa el api WritePrivateProfileString.

Suerte.

653
Hola angelmalo.

Si necesitas almacenar algo en una base de datos, lo primero de todo es crear en esa bd una tabla con la estructura que necesitas...

Lo siguiente es crear la correspondiente conexión a la bd (con DAO, ADO u otros).

En el lugar en el que supervisas el error añade a la tabla que creaste un registro con el correspondiente valor para cada campo, usando una sentencia SQL, usando AddNew, ... como más te guste.

Lógico, ¿no?

Si no sabes como conectarte a una base de datos o como funcionar con sus objetos, en este mismo foro creo que puedes encontrar ejemplos abundantes.
La fecha del error la puedes obtener con la función Now, o con Year, Month y Day. El programa que causó el error con App.ExeName. El nº de error con Err.Number, el texto del error con Err.Description y el proyecto origen o el proyecto y la clase (si el error se produce en un módulo de clase) con Err.Source.

Suerte.

654
Visual Basic 6.0 e inferiores / Re: Borrar Datos De Un Msflexgrid
« en: Martes 20 de Enero de 2004, 09:02 »
Hola rechy.

Para borrar un FlexGrid, usa su método Clear. MsFlexGrid1.Clear.

Abur.

655
Visual Basic 6.0 e inferiores / Re: Error En Filtrado De Datos
« en: Lunes 19 de Enero de 2004, 15:43 »
Hola BUHO.

Si el campo TOTAL siempre va a contener un valor numérico, lo mejor que puedes hacer es modificar el diseño de la tabla y crear el campo como número.

Si quieres evitarte problemas, esta es tu mejor opción, porque las comparaciones por mayor o menor nunca funcionarán como lo esperas. Por ejemplo, el valor del texto '11' ¡ es menor que el del texto '2' !

Para conseguir un resultado satisfactorio, tendrías que usar funciones de conversión de tipos, con las que puedes tener muchos problemas...

De todas formas, si no quieres cambiar el tipo de datos del campo, puedes probar de estas formas:

1. como lo estabas haciendo pero usando comillas simples.
Código: Text
  1.  
  2. tira = "Select * From clientes WHERE TOTAL >= '" & AW & "'"
  3. ' más claro: ...>= ' " & AW & " ' "
  4.  
  5.  

2
Código: Text
  1.  
  2. tira = "Select * From clientes WHERE Val(TOTAL) >= " & CDbl(AW)
  3.  
  4.  
en caso de que AW siga siendo de tipo String...

3 Para curarte en salud y que funcione siempre. Es un poco más lento, te creas una tabla temporal.
Código: Text
  1.  
  2. .
  3. .
  4. .
  5. db.Execute "SELECT clientes.*," _
  6. & " Val(TOTAL) AS dblTOTAL " _
  7. & " INTO wSeleccion FROM clientes " _
  8. & "WHERE clientes.TOTAL Is Not Null
  9. .
  10. .
  11. .
  12. tira = "Select * From wSeleccion " _
  13. & "WHERE dblTotal >= " & Cdbl(AW)
  14. .
  15. .
  16. .
  17. db.Execute "DROP TABLE wSeleccion"
  18. .
  19. .
  20. .
  21.  
  22.  

Suerte.

656
Hola AYCUL.

Si cuando dices si se puede dibujar una tabla, te refieres a si se podría representar texto alineado por fila/columna, la respuesta es sí, lo único que tienes que hacer es darle el formateo adecuado y Utilizar un font de paso fijo (Courier por ejemplo) para que todas las letras ocupen el mismo espacio dentro del control.

Tendrías que hacer algo así (aunque por supuesto utilizando las correspondientes iteraciones y código adaptado a tus necesidades para escribir filas y columnas):

Código: Text
  1.  
  2.     RichTextBox1.Font = "Courier"
  3.     RichTextBox1.Text = ""
  4.     RichTextBox1.SelUnderline = True
  5.     RichTextBox1.SelText = "Columna 1   Columna 2   Columna 3" & vbCrLf
  6.     RichTextBox1.SelUnderline = False
  7.     RichTextBox1.SelText = "Valor 1,1   Valor 1,2   Valor 1,3" & vbCrLf
  8.     RichTextBox1.SelText = "Valor 2,1   Valor 2,2   Valor 2,3" & vbCrLf
  9.  
  10.  

Suerte.

657
Visual Basic 6.0 e inferiores / Re: Eventos Con Activex
« en: Lunes 19 de Enero de 2004, 11:22 »
Hola samspade0069.

No modifiques nada en el ActiveX... prueba estableciendo la propiedad KeyPreview=False en el formulario de access.

Si con esto no te funciona, podrías probar este código en el form:
Código: Text
  1.  
  2. Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
  3.     If KeyCode = 13 And Me.ActiveControl.Name = "NombreDeMiActX" Then
  4.         KeyCode = 0
  5.         SendKeys "{ENTER}"
  6.     End If
  7. End Sub
  8.  
  9.  

Suerte.

658
Visual Basic 6.0 e inferiores / Re: Como Localizar Una Palabra En Un Txt
« en: Viernes 16 de Enero de 2004, 12:07 »
Hola Pakun.

Podrías usar una función de este estilo:

Código: Text
  1.  
  2. Private Function RecuperarValor( _
  3. ByVal Cadena As String, _
  4. ByVal PalabraABuscar As String) As String
  5.  
  6.     Dim lng1 As Long
  7.     lng1 = InStr(1, Cadena, PalabraABuscar)
  8.     If lng1 = 0 Then
  9.         MsgBox "'" & PalabraABuscar & "'" & vbCrLf _
  10.         & "No se pudo localizar el texto" _
  11.         , vbExclamation, "Buscar"
  12.         Exit Function
  13.     End If
  14.     
  15.     lng1 = lng1 + Len(PalabraABuscar)
  16.     If lng1 < Len(Cadena) Then
  17.         lng1 = InStr(1, Cadena, Chr(32))
  18.         If lng1 = 0 Then Exit Function
  19.     Else
  20.         Exit Function
  21.     End If
  22.     
  23.     Cadena = LTrim(Mid(Cadena, lng1))
  24.     lng1 = InStr(lng1, Cadena, Chr(32))
  25.     If lng1 > 0 Then Cadena = Left(Cadena, lng1)
  26.     
  27.     RecuperarValor = RTrim(Cadena)
  28.     
  29. End Function
  30.  
  31.  

Abur.

659
Visual Basic 6.0 e inferiores / Re: Destacar Palabras
« en: Viernes 16 de Enero de 2004, 09:30 »
Hola infra.

Usa la propiedad SelColor para establecer el color con el que se escribirá en el RichTextBox o el color para el texto que se encuentre seleccionado en ese momento.

Para encontrar una cadena en el texto del control, utiliza su método Find.

Suerte.

660
Visual Basic 6.0 e inferiores / Re: Leer Un Txt
« en: Viernes 16 de Enero de 2004, 09:20 »
Hola Bopo.

Aquí tienes un ejemplo que mostraría uno a uno todos los registros de un archivo.

Código: Text
  1.  
  2. Private Sub Leer()
  3.   On Error Goto Err_Lectura
  4.   Dim intCanal as integer
  5.   intCanal = FreeFile
  6.   Open "C:\Ruta\Archivo.xxx" For Input As intCanal
  7.   Dim strRcd as String, intCta as integer
  8.   Do Until EOF(intCanal)
  9.        intCta = intCta + 1
  10.        Line Input #intCanal, strRcd
  11.        MsgBox strRcd,vbInformation,"Registro " & intcta
  12.   Loop
  13. Exit_Lectura:
  14.   On Local Error Resume Next
  15.   Close #intCanal
  16.   Exit Sub
  17. Err_Lectura:
  18.   MsgBox Err.Description
  19.   Resume Exit_Lectura
  20. End Sub
  21.  
  22.  

Suerte.

661
Visual Basic 6.0 e inferiores / Re: Como Puedo Determinar El Tipo De Horario
« en: Viernes 16 de Enero de 2004, 09:14 »
Hola Daniel_PC.

En este ejemplo, cuando pulsamos un botón (Command1) se llama al método 'TimeComp' con el valor de un textbox (Text1) para comparar la hora con los intervalos que defines...

Código: Text
  1.  
  2.  
  3. Private Sub Command1_Click()
  4.     TimeComp "#" & Text1.Text & "#"
  5. End Sub
  6.  
  7. Private Sub TimeComp(ByVal Hora As Variant)
  8.    
  9.     If Hora >= "#15:00:00#" And Hora <= "#16:40:00#" Then
  10.         MsgBox "Horario normal"
  11.     ElseIf Hora >= "#20:00:00#" And Hora <= "#23:00:00#" Then
  12.         MsgBox "Horario económico"
  13.     Else
  14.         MsgBox "Otro horario"
  15.     End If
  16.    
  17. End Sub
  18.  
  19.  
  20.  

662
Visual Basic 6.0 e inferiores / Re: Buttonmenu En Toolbar
« en: Jueves 15 de Enero de 2004, 18:01 »
Hola carlosjrey.

En la definición del evento hay un gazapo... donde dice

Private Sub Toolbar1_ButtonMenuClick(ByVal ButtonMenu As ComctlLib.ButtonMenu)

debería decir...

Private Sub Toolbar1_ButtonMenuClick(ByVal ButtonMenu As MsComctlLib.ButtonMenu)

Suerte.

663
Visual Basic 6.0 e inferiores / Re: Como
« en: Jueves 15 de Enero de 2004, 17:51 »
Hola Bopo.

Sub Text1_KeyPress(KeyAscii As Integer)
If InStr("123456789", Chr(KeyAscii)) = 0 and KeyAscii <> 8 Then
KeyAscii = 0
End If
End Sub

Abur.

664
Visual Basic 6.0 e inferiores / Re: Insertar Datos....
« en: Jueves 15 de Enero de 2004, 16:15 »
Citar
UNAS PREGUNTAS PUEDO AÑADIR DATOS A UN LISTVIEW EN EJECUCIÓN?
Y PUEDO AÑADIR O QUITAR ENCABEZADOS?
PODRÍA HACER ESO QUE ME DICES CON UN DATAGRID?
Y SE PUEDE PINTAR LAS FILAS DE UN LISTVIEW DE COLORES DISTINTOS?
MUCHAS GRACIAS DE ANTEMANO POR AYUDARME.
SALUDOS

Las respuesta son:

1 - SÍ
2 - SÍ
3 - ¿POR QUÉ NO?
4 - SEGURAMENTE, peeeero: esto yo sólo lo sabría hacer empleando unas triquiñuelas: usar subclasificación (que mejor casi que no) o añadir una imagen de fondo al listview 'con los colores de las filas pintadas'...

Citar
MIRA TE MADO UNA CAPTURA DE LO QUE QUIERO HACER Y EL ARCHIVO CON LA ESTRUCTURA QUE QUIERO QUE LEA Y ME ACONSEJAS COMO LO HAGO.
VALE?

Ya te he dicho como lo haría yo... ahora, tu verás.

Suerte.

665
Visual Basic 6.0 e inferiores / Re: Presentando Info En Un Mshflexigrid
« en: Jueves 15 de Enero de 2004, 15:38 »
En un DataGrid es posible indicar el formato para los valores de una columna, pero para un HFlexGrid no veo la forma... como no rellenes el control a pedal...

En fin, a ver si tienes suerte y alguien sabe cómo.

Abur.

666
Visual Basic 6.0 e inferiores / Re: Begintrans, Committrans, Rollback
« en: Jueves 15 de Enero de 2004, 15:27 »
Hola carlosjrey.

Prueba a comprobar en la cadena de conexión los valores para
ImplicitCommintSync  ,
SafeTransactions (supongo que sobre todo esta, que si no me equivoco su valor por defecto es 0) , UserCommintSync.

Suerte.

667
Visual Basic 6.0 e inferiores / Re: Seleccionar Una Carpeta
« en: Jueves 15 de Enero de 2004, 15:12 »
Entendí que necesitabas una función para recuperar el path en un string...

Para lo que quieres lo más sencillo es que incluyas en algún formulario un control Microsoft Common Dialog Control o si quieres utilizar apis, usa
SHBrowseForFolder junto con SHGetPathFromIDList

Chao.

668
Visual Basic 6.0 e inferiores / Re: Insertar Datos....
« en: Jueves 15 de Enero de 2004, 15:04 »
Hola TaurSoft.

Los pasos que podrías seguir son estos:

1 - Añadir los encabezados de columna (que sabes cuales son de antemano) al ListView.

Código: Text
  1.  
  2.     ListView1.ColumnHeaders.Add , , &#34;Nombre&#34;
  3.     ListView1.ColumnHeaders.Add , , &#34;Género&#34;
  4.     ListView1.ColumnHeaders.Add , , &#34;Idioma&#34;
  5.     ListView1.ColumnHeaders.Add , , &#34;Soporte&#34;
  6.     ListView1.ColumnHeaders.Add , , &#34;S.O.&#34;
  7.  
  8.  

2 - Obtener las secciones que hay en el archivo (que aparenta tener la estructura de un archivo INI).

Código: Text
  1.  
  2.      .
  3.      .
  4.      .
  5.     On Error GoTo Err_Open
  6.     Dim intCanal As Integer
  7.     intCanal = FreeFile
  8.     Open &#34;C:&#092;Ruta&#092;ArchivoATratar.xxx&#34; For Input As #intCanal
  9.     Dim str1 As String, int1 As Integer
  10.     Dim AppNames() As String
  11.     Do Until EOF(intCanal)
  12.         Line Input #intCanal, str1
  13.         str1 = Trim(str1)
  14.         If Left(str1, 1) = &#34;[&#34; And Right(str1, 1) = &#34;]&#34; Then
  15.             int1 = int1 + 1
  16.             ReDim Preserve AppNames(1 To int1)
  17.             AppNames(int1) = Mid(str1, 2, Len(str1) - 2)
  18.         End If
  19.     Loop
  20.     .
  21.     .
  22.     .
  23. Err_Open:
  24.     On Local Error Resume Next
  25.     Close #intCanal
  26.     .
  27.     -
  28.     -
  29.  
  30.  

Con esto tengo en la matriz AppNames las supuestas secciones del archivo.

3 - Ir añadiendo ListItems al ListView a medida que leemos el valor de cada clave de cada sección.

Código: Text
  1.  
  2.     .
  3.     .
  4.     .
  5.     On Error Resume Next
  6.  
  7.     Dim int1 As Integer
  8.     int1 = UBound(AppNames)
  9.     If int1 = 0 Then Exit Sub
  10.    
  11.     Dim str1 As String, int2 As Integer
  12.     For int1 = 1 To UBound(AppNames)
  13.        
  14.         str1 = String(255, &#34; &#34;)
  15.         str1 = GetPrivateProfileString( _
  16.         AppNames(int1), &#34;1&#34;, &#34;x&#34;, str1, 255, _
  17.         &#34;C:&#092;Ruta&#092;ArchivoATratar.xxx&#34;)
  18.         ListView1.ListItems.Add , , Replace(str1, Chr(0), &#34;&#34;)
  19.        
  20.         For int2 = 1 To 3
  21.             str1 = String(255, &#34; &#34;)
  22.             str1 = GetPrivateProfileString( _
  23.             AppNames(int1), CStr(int2 + 1), &#34;x&#34;, str1, _
  24.             255, &#34;C:&#092;MiRuta&#092;ArchivoATratar.xxx&#34;)
  25.             ListView1.ListItems( _
  26.             ListView1.ListItems.Count).SubItems(int2) _
  27.             = Replace(str1, Chr(0), &#34;&#34;)
  28.         Next int2
  29.        
  30.     Next int1
  31.     .
  32.     .
  33.     .
  34.  
  35.  

Y ya está...
Abur.

669
Visual Basic 6.0 e inferiores / Re: Presentando Info En Un Mshflexigrid
« en: Jueves 15 de Enero de 2004, 12:53 »
Hola QliX=D!

Si usas una instrucción SQL como origen de tus datos, puedes usar una solución de este estilo:

SELECT Campo1, Campo2, IIf(Campo3=True,"Sí","No") As Expr1, Campo4 From Tabla WHERE ....

Espero que esto te sirva.
Chao.

670
Visual Basic 6.0 e inferiores / Re: Seleccionar Una Carpeta
« en: Jueves 15 de Enero de 2004, 12:43 »
Hola Bopo.

Puedes usar una función de este estilo:

Código: Text
  1.  
  2. Public Function RtvPath(ByVal Cadena As String) As String
  3.  
  4.     On Local Error Resume Next
  5.     Cadena = Trim(Cadena)
  6.     Cadena = Replace(Cadena, &#34;//&#34;, &#34;&#092;&#092;&#34;)
  7.     Dim int1 As Integer
  8.     int1 = InStrRev(Cadena, &#34;&#092;&#34;)
  9.     If int1 &#62; 2 Then
  10.         RtvPath = Left(Cadena, int1 - 1) & &#34;&#092;&#34;
  11.     Else
  12.         If Len(Cadena) = 2 And Mid(Cadena, 2, 1) = &#34;:&#34; Then
  13.             RtvPath = Cadena & &#34;&#092;&#34;
  14.         ElseIf Left(Cadena, 2) = &#34;//&#34; And InStr(3, Cadena, &#34;:&#34;) = 0 Then
  15.             RtvPath = Cadena & &#34;&#092;&#34;
  16.         End If
  17.     End If
  18.    
  19. End Function
  20.  
  21.  

Suerte.

671
Visual Basic 6.0 e inferiores / Re: Iteraciones Y Rutinas
« en: Martes 13 de Enero de 2004, 17:13 »
Hola rechy.

Para que una variable declarada en una sub o función mantenga su valor entre distintas llamadas deberás declararla como Static. Su uso es similar a Dim.

Por ejemplo, el siguiente código en un CommandButton llamado Command1 devolverá un msgbox con el número de veces que se ha pulsado el botón:

Private Sub Command1_Click()
    Static Acumulado As Long
    Acumulado = Acumulado + 1
    MsgBox Acumulado
End Sub

Así que ya sabes... si quieres conservar el resultado de tus operaciones en un método entre llamadas al mismo, almacena el resultado en una variable declarada como estática.

También podrías conseguir el mismo resultado declarándo la variable para almacenar el resultado a nivel de módulo (es decir, fuera de cualquier sub o función.), o... si te parecen pocos, ¿qué tal en otro TextBox?

Espero que esto sea lo que necesitabas.
Suerte.

672
Visual Basic 6.0 e inferiores / Re: Mshflexgrid
« en: Martes 13 de Enero de 2004, 16:27 »
Kaixo FRIJU.

No sé si habré comprendido bien el problema, pero el código que escribes no funcionará a menos que el valor del la celda del FleshGrid
Código: Text
  1.  
  2. ListaTrabajadores.TextMatrix(ListaTrabajadores.Row, ListaTrabajadores.Col)
  3.  
  4.  
(o lo que es lo mismo
Código: Text
  1.  
  2. ListaTrabajadores.Text
  3.  
  4.  
) coincida con el ListIndex del elemento que buscas en el combo. Lo que me extraña es que esto
Código: Text
  1.  
  2. Me.CboDepartamento = Me.CboDepartamento.List(ListaTrabajadores.TextMatrix(ListaTrabajadores.Row, ListaTrabajadores.Col))
  3.  
  4.  
no te dé error.

¿Que podrías hacer? Cuando cargas la lista, almacena en algun sitio (una matriz por ejemplo) la clave por la que identificas a cada uno de los trabajadores y el número de elemento del combo que corresponda. Cuando selecciones en el flexGrid, busca en la matriz la clave correspondiente y asigna al ListIndex del combo el número de elemento.
Otra posible solución podría ser hacer coincidir el orden de los elementos del FleshGrid y del combo, de forma que el listindex del combo equivaliese a la fila del FlexGrid.

No sé si me habré explicado muy bien, pero espero que te sirva.

Agur.

673
Visual Basic 6.0 e inferiores / Re: Para Brroz
« en: Martes 13 de Enero de 2004, 09:26 »
Hola Jorge.

Te adjunto un ejemplo con una consulta similar a la tuya.
Suerte.

674
Visual Basic 6.0 e inferiores / Re: Iteraciones Y Rutinas
« en: Martes 13 de Enero de 2004, 09:09 »
Hola rechy.

Tal vez podrías explicarte un poco mejor...

Chao.

675
Hola MindEye.

Si a lo que te refieres es a cómo obtener los nombres de las hojas que contiene un libro excel, podrías utilizar algo así, almacenando los nombres de las hojas en una matriz:

Código: Text
  1.  
  2.     .
  3.     .
  4.     .  
  5.     Dim objAppXls as object
  6.     Dim objWSheets as Object
  7.     Set objAppXls = GetObject(&#34;NombreDeLibro.Xls&#34;)
  8.     Set objWSheets = objAppXls.Worksheets
  9.     Dim lng1 as lon, strSheets() As String
  10.     Redim strSheets(1 To objWSheets.Count)    
  11.     For lng1 = 1 To objWSheets.Count
  12.         strSheets(lng1) = objWSheets(lng1).Name
  13.     Next lng1
  14.     .
  15.     .
  16.     .
  17.  
  18.  

Suerte.

Páginas: 1 ... 25 26 [27] 28 29 ... 43