|
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
« 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: If LCase(Left(txtstepp.Text, 4)) = "axda" Then lblproci.Caption = "Athlon XP Tbred" elseif LCase(Left(txtstepp.Text, 2)) = "ax" then lblproci.Caption = "Athlon XP Palomino" endif
Y que no te parezca mal, pero podrías esforzarte un poco para poder comprenderte mejor... 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
« 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
« en: Martes 20 de Enero de 2004, 09:14 »
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
« en: Martes 20 de Enero de 2004, 09:02 »
Hola rechy.
Para borrar un FlexGrid, usa su método Clear. MsFlexGrid1.Clear.
Abur.
655
« 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. tira = "Select * From clientes WHERE TOTAL >= '" & AW & "'" ' más claro: ...>= ' " & AW & " ' "
2 tira = "Select * From clientes WHERE Val(TOTAL) >= " & CDbl(AW)
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. . . . db.Execute "SELECT clientes.*," _ & " Val(TOTAL) AS dblTOTAL " _ & " INTO wSeleccion FROM clientes " _ & "WHERE clientes.TOTAL Is Not Null . . . tira = "Select * From wSeleccion " _ & "WHERE dblTotal >= " & Cdbl(AW) . . . db.Execute "DROP TABLE wSeleccion" . . .
Suerte.
656
« en: Lunes 19 de Enero de 2004, 11:35 »
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): RichTextBox1.Font = "Courier" RichTextBox1.Text = "" RichTextBox1.SelUnderline = True RichTextBox1.SelText = "Columna 1 Columna 2 Columna 3" & vbCrLf RichTextBox1.SelUnderline = False RichTextBox1.SelText = "Valor 1,1 Valor 1,2 Valor 1,3" & vbCrLf RichTextBox1.SelText = "Valor 2,1 Valor 2,2 Valor 2,3" & vbCrLf
Suerte.
657
« 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: Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = 13 And Me.ActiveControl.Name = "NombreDeMiActX" Then KeyCode = 0 SendKeys "{ENTER}" End If End Sub
Suerte.
658
« en: Viernes 16 de Enero de 2004, 12:07 »
Hola Pakun. Podrías usar una función de este estilo: Private Function RecuperarValor( _ ByVal Cadena As String, _ ByVal PalabraABuscar As String) As String Dim lng1 As Long lng1 = InStr(1, Cadena, PalabraABuscar) If lng1 = 0 Then MsgBox "'" & PalabraABuscar & "'" & vbCrLf _ & "No se pudo localizar el texto" _ , vbExclamation, "Buscar" Exit Function End If lng1 = lng1 + Len(PalabraABuscar) If lng1 < Len(Cadena) Then lng1 = InStr(1, Cadena, Chr(32)) If lng1 = 0 Then Exit Function Else Exit Function End If Cadena = LTrim(Mid(Cadena, lng1)) lng1 = InStr(lng1, Cadena, Chr(32)) If lng1 > 0 Then Cadena = Left(Cadena, lng1) RecuperarValor = RTrim(Cadena) End Function
Abur.
659
« 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
« 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. Private Sub Leer() On Error Goto Err_Lectura Dim intCanal as integer intCanal = FreeFile Open "C:\Ruta\Archivo.xxx" For Input As intCanal Dim strRcd as String, intCta as integer Do Until EOF(intCanal) intCta = intCta + 1 Line Input #intCanal, strRcd MsgBox strRcd,vbInformation,"Registro " & intcta Loop Exit_Lectura: On Local Error Resume Next Close #intCanal Exit Sub Err_Lectura: MsgBox Err.Description Resume Exit_Lectura End Sub
Suerte.
661
« 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... Private Sub Command1_Click() TimeComp "#" & Text1.Text & "#" End Sub Private Sub TimeComp(ByVal Hora As Variant) If Hora >= "#15:00:00#" And Hora <= "#16:40:00#" Then MsgBox "Horario normal" ElseIf Hora >= "#20:00:00#" And Hora <= "#23:00:00#" Then MsgBox "Horario económico" Else MsgBox "Otro horario" End If End Sub
662
« 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
« 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
« en: Jueves 15 de Enero de 2004, 16:15 »
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'... 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
« 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
« 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
« 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
« 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. ListView1.ColumnHeaders.Add , , "Nombre" ListView1.ColumnHeaders.Add , , "Género" ListView1.ColumnHeaders.Add , , "Idioma" ListView1.ColumnHeaders.Add , , "Soporte" ListView1.ColumnHeaders.Add , , "S.O."
2 - Obtener las secciones que hay en el archivo (que aparenta tener la estructura de un archivo INI). . . . On Error GoTo Err_Open Dim intCanal As Integer intCanal = FreeFile Open "C:\Ruta\ArchivoATratar.xxx" For Input As #intCanal Dim str1 As String, int1 As Integer Dim AppNames() As String Do Until EOF(intCanal) Line Input #intCanal, str1 str1 = Trim(str1) If Left(str1, 1) = "[" And Right(str1, 1) = "]" Then int1 = int1 + 1 ReDim Preserve AppNames(1 To int1) AppNames(int1) = Mid(str1, 2, Len(str1) - 2) End If Loop . . . Err_Open: On Local Error Resume Next Close #intCanal . - -
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. . . . On Error Resume Next Dim int1 As Integer int1 = UBound(AppNames) If int1 = 0 Then Exit Sub Dim str1 As String, int2 As Integer For int1 = 1 To UBound(AppNames) str1 = String(255, " ") str1 = GetPrivateProfileString( _ AppNames(int1), "1", "x", str1, 255, _ "C:\Ruta\ArchivoATratar.xxx") ListView1.ListItems.Add , , Replace(str1, Chr(0), "") For int2 = 1 To 3 str1 = String(255, " ") str1 = GetPrivateProfileString( _ AppNames(int1), CStr(int2 + 1), "x", str1, _ 255, "C:\MiRuta\ArchivoATratar.xxx") ListView1.ListItems( _ ListView1.ListItems.Count).SubItems(int2) _ = Replace(str1, Chr(0), "") Next int2 Next int1 . . .
Y ya está... Abur.
669
« 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
« en: Jueves 15 de Enero de 2004, 12:43 »
Hola Bopo. Puedes usar una función de este estilo: Public Function RtvPath(ByVal Cadena As String) As String On Local Error Resume Next Cadena = Trim(Cadena) Cadena = Replace(Cadena, "//", "\\") Dim int1 As Integer int1 = InStrRev(Cadena, "\") If int1 > 2 Then RtvPath = Left(Cadena, int1 - 1) & "\" Else If Len(Cadena) = 2 And Mid(Cadena, 2, 1) = ":" Then RtvPath = Cadena & "\" ElseIf Left(Cadena, 2) = "//" And InStr(3, Cadena, ":") = 0 Then RtvPath = Cadena & "\" End If End If End Function
Suerte.
671
« 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
« 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 ListaTrabajadores.TextMatrix(ListaTrabajadores.Row, ListaTrabajadores.Col)
(o lo que es lo mismo ) coincida con el ListIndex del elemento que buscas en el combo. Lo que me extraña es que esto Me.CboDepartamento = Me.CboDepartamento.List(ListaTrabajadores.TextMatrix(ListaTrabajadores.Row, ListaTrabajadores.Col))
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
« en: Martes 13 de Enero de 2004, 09:26 »
Hola Jorge.
Te adjunto un ejemplo con una consulta similar a la tuya. Suerte.
674
« en: Martes 13 de Enero de 2004, 09:09 »
Hola rechy.
Tal vez podrías explicarte un poco mejor...
Chao.
675
« en: Martes 13 de Enero de 2004, 09:07 »
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: . . . Dim objAppXls as object Dim objWSheets as Object Set objAppXls = GetObject("NombreDeLibro.Xls") Set objWSheets = objAppXls.Worksheets Dim lng1 as lon, strSheets() As String Redim strSheets(1 To objWSheets.Count) For lng1 = 1 To objWSheets.Count strSheets(lng1) = objWSheets(lng1).Name Next lng1 . . .
Suerte.
Páginas: 1 ... 25 26 [27] 28 29 ... 43
|
|
|