elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


  Mostrar Temas
Páginas: 1 [2] 3
11  Programación / Programación Visual Basic / Recorrer listview al buscar y que seleccione la siguiente coincidencia en: 19 Abril 2018, 18:18 pm
Tengo este codigo, que me vale bien para buscar por columna, y seleccionar la coincidencia:

Código:
Private Sub cmdBuscar_Click()
   Dim Opcion As Integer
   Dim dato As String
   Dim Item As ListItem
  
   ' busca por las demás columnas ( por SubItem )
   If Option1.Value = True Then
      dato = txtSearch.Text
      Opcion = lvwSubItem ' busca por los subitems
   End If

   Next i
         ' Busca por la primer columna ( por item )
   If Option2.Value = True Then
      dato = txtSearch.Text
      Opcion = lvwText ' busca por el item
   End If
      
    ' si lo ingresado es una cadena vacia sale
    If dato = vbNullString Then
        Exit Sub
    End If
  
   ' Busca con el método FindItem, estableciendo la opcion de búsqueda
   Set Item = ListView1.FindItem(dato, Opcion, , lvwPartial)
    
   ' si el item es nothing no se encontró
   If Item Is Nothing Then
      MsgBox " No se encontró el dato", vbInformation
      Exit Sub
   Else
       ' .. si no , selecciona el elemento encontrado
       Item.EnsureVisible
       Item.Selected = True
       ListView1.SetFocus
   End If

               End Sub

le faltaría agregarle un ciclo para que continue con la palabra siguiente al volver a aprtar el boton. Alguna idea?
12  Programación / Programación Visual Basic / Mover al siguiente elemento igual en un listbox en: 14 Abril 2018, 03:31 am
Tengo este codigo robado de por ahí...  ;D que hace lo que quiero casi a la perfeccion.

LO que hace, a medida q voy escribiendo me va  encontrando las coincidencias en eel list box, en el orden q sea, cuantas entradas sean, sin importar orden ni mayusculas ni minusculas (es realmente muy bueno) Pero tiene un detalle que me gustaria solucionar.

Me gustaria q cada vez q aprieto el enter, o sea el la key13 del evento keypress del textbox, la seleccion se desplaze hacia la siguiente coincidencia, que no se quede siempre en la misma. Que tendria que agregarla al codigo? Saludos!!

Código:
Function ListIsIn(lst As ListBox, zString As String) As Boolean
    On Error Resume Next
   
    For i = 0 To lst.ListCount
        If InStr(UCase$(lst.List(i)), UCase$(zString)) Then ListIsIn = True: lst.ListIndex = i: GoTo grr
        i = i + 1
    Next i
    ListIsIn = False
grr:
End Function

Private Sub Command1_Click()
    Me.Caption = ListIsIn(List1, Text1.Text)
End Sub

Private Sub Form_Load()
    List1.AddItem "MÉXICO" & " Pepe "
    List1.AddItem "VENEZUELA" & "Jose"
    List1.AddItem "ARGENTINA"
    List1.AddItem "ESPAÑA"
    List1.AddItem "GUATEMALA"
    List1.AddItem "ARGENTINA"
    List1.AddItem "CHILE"
End Sub

Private Sub Text1_Change()
   Label1.Caption = ListIsIn(List1, Text1.Text)
End Sub

Private Sub Text1_KeyPress(KeyAscii As Integer)


If KeyAscii = 13 Then

End If

End Sub



de Yapa pregutno, q modificacion le hago para hacer esto mismo en un listvew?

13  Programación / Programación Visual Basic / Sumar decimales desde una lista a un texbox en: 3 Abril 2018, 22:57 pm
Este codigo me vale para sumar numeros decimales y enteros en un listbox, y luego mostrar la suma en un texbox.

Dim i
Dim total
total = 0
For i = 0 To List11.ListCount - 1
total = total + CDbl(List11.List(i))
Next i
txtPrecioTotal.Text = total
End Sub

El problema es que esos numeros estan mezclados con letras (primero antes que nada va el numero) Por lo que si le pongo VAL, me suma aunque tenga letras, pero no me suma los decimales. Y si le pongo CDBL, no anda. Si le saco las letras y le dejo el CBDL, si me suma y con decimales.

Lo que necesito es que me sume enteros, y decimales, incluso haya palabras mezcladas luego de los primeros caracteres que vendrian a ser los numeros a sumar
14  Programación / Programación Visual Basic / ListView no me suma el indice 0 en: 3 Abril 2018, 20:51 pm
Este codigo me suma sin problemas todas las entradas del listview depediendo lo que le ponga en SubItems(X)

con 1 me suma el valor 2 de la lista (ya que es 0, 1, 2) Pero si justamente quiero q me sume el primer valor de la lista, q es el 0, el subitem deberia ser 0. Pero me dice error. Y si le dejo el 1, me suma el 2do campo de la lista, q es correto ya que es 0, 1.

Alguna idea como puedo arreglar esto?

    Dim i As Long
    'Recorre todos los items y para sumar los SubItems
    For i = 1 To ListView1.ListItems.Count
        sumar = sumar + CDbl(ListView1.ListItems(i).SubItems(1))
    Next i
        txtDia0 = sumar

RESUMEN: neceisto q me sume cada valor de esas columinas en los txts negros de
abajo...


15  Programación / Programación Visual Basic / Sumar datos cocretos de una base de datos desde VB 6.0 con ADO en: 21 Marzo 2018, 01:25 am
Necesitaria saber como sumar una columna en específico de clientes en especifico con visual 6.0.

La idea es esta:

Cada vez que le "anoto" a un cliente una venta que no paga (que saca fiado) en la base de datos se anota un 1. Entonces, cuando ese cliente me vuelve a pedir fiado y lo fio de nuevo, me agrega otro registro con el mismo codigo de cliente, y otro 1.

Entonces en la base de datos, tengo el codigo de cliente (repetido tantas veces lo fie) Sus datos de esa venta fiada, y un número 1 por cada vez que lo fie.

la idea es, traer a un textbox la suma de esos "1" que corresponden al cliente "4" por ejemplo.


Por ejemplo:

Pepito es el cliente 4
Jose es el cliente 5

A Pepito lo fié 1 vez (+1 a la cuenta de fiado)
A Jose lo fie 1 vez (+1)
A pepito lo volvi a fiar (+1)

Entonces, quiero que en el textbox me diga que a Pepito en total lo fie 2 veces (que me sume los 2 números 1 que tengo en el registro correspondiente a Pepito.)

El campo donde almaceno la cantidad de fiados es (donde va el 1), es
CantFiado

El cambo donde almaceno el código de cada cliente, es
CodigoCliente

y al tabla se llama Fiar.

Tengo entendido q se hace con uan sentencia sql de sum, pero no sé usarla.

gracias, espero me puedan ayudar


Asi lo tengo codificado:

Primero el form load carga esto, carga los datos de la base de datos a una lista, me trae unos ciertos datos de la base de datos no todos los registros

Código:
Dim rs As adodb.Recordset
Dim sql As String
sql = "Select * from Fiar order by Apellido"
If Not Conectar() Then Exit Sub
Set rs = cn.Execute(sql)
List4.Clear
Do While Not rs.EOF
List4.AddItem Format(rs!FiadoNumero, "000") & vbTab & rs!Apellido & ", " & vbTab & rs!Nombre
rs.MoveNext
Loop
Set rs = Nothing
''Call cargardatosventas
''Call ordenar
Desconectar
'List1.ListIndex = 0

Despues, cuando hago click en algun elemento de la lista, me trae cada campo de la base de datos en un txtbox diferente:

Código:
Private Sub cargafiado()

Dim opc As String
Dim cod As Integer
Dim sql As String
opc = List4.List(List4.ListIndex)
cod = Val(Left(opc, 3))
sql = "Select * from Fiar where FiadoNumero = " & cod
Dim rs As adodb.Recordset
If Not Conectar() Then Exit Sub
Set rs = cn.Execute(sql)
'' un registro para cada textbox como este:
txtccodigo = IIf(IsNull(rs!CodigoCliente), "(vacío)", rs!CodigoCliente)
Set rs = Nothing
Desconectar
end sub


La idea seria en una sub nueva o a continuación de "Cargafiado" haga lo que pido arriba, gracias
16  Sistemas Operativos / Windows / Pantalla de inicio de Windows vista en Windows 7 en: 19 Marzo 2018, 16:26 pm
una aplicacion me me cambió la panalla de inicio de windows 7 x la de windows Vista. Ya probe todo para sacarla y  poner la de w7 de nuevo, con este link:

https://support.microsoft.com/es-es/help/2445937

Tambien con sysprep, formatendo incluso, y no hay forma, no puedo volver a la pantalla de inciio de windows 7 alguna idea?

Mother gigabyte ga ep45 ud3l

con el @BIOS de gigabyte le cambie el BIOS, se me hace q algunas de esas 2 opciones esta probocando q no aparezca la pantalla de windows, cual será?


17  Programación / Programación Visual Basic / Validacion de comas y puntos VB6 en: 12 Marzo 2018, 17:03 pm
Pido perdon si consideran mis topics como spam, pero en realidad son dudas que tengo q ya vengo aquí luego de recontra googlear la solución y no encontrarla. Y agradezco mucho la ayuda, hasta ahora he podido resolver mis problemas gracias a las respuestas.


Resumen: Tengo 4 texbox y 1 cmdboton. un txtbox de costo, otro de ganancia, otro de porcentaje, y otro de ganancia discriminada. y el cmdbotn hace el cálculo.

Cuando el numero el grande (y decimal) No hay problema. Pero cuando el numero es pequeño (0,xx) El cálculo no lo hace, tengo q ponerle el puto tradicional en vez de la coma decimal. Pero esto no sirve para la base de datos ya que me guarda cualquier cosa.
Que puedo hacer?

 


El problema que tengo ahora, es que tengo un problema con la validación de la Coma y el Punto.

Utilizo este codigo para directamente reemplazar el punto del numepad por la coma de decimales, asi poder cargar registros decimales en una base de datos sin problemas y rápido.

En el evento  keypress del textbox, pongo esto

Código:
If KeyAscii = 46 Then
KeyAscii = 44

Anda bien, con numeros grandes, como pueden ver en la siguiente foto. En costo añado un numero, en % un porcentaje, con el botoncito amarillo hago la cuenta en el último textbox suma el porcentaje al costo. Adicionalmente en un txt aparte muestra la cantidad del porcentaje discriminada.



Y todo maravilloso, hasta que me topé con un problema que me tiene de la cabeza. Resulta que si ingreso un numero pequeño (algo menor a 1) No realiza correctamente la suma y adhición de porcentaje. Directamente no lo hace, como la siguiente foto:



Luego le modifique el codigo en algunas cosas, pero el gran cambio que hice fue reemplazar la coma por el punto tradicional, al hacer so, si hace el cálculo correctamente, sean pequeñas o grandes cantidades.



El problema, es que el punto para la base de datos es basura y añadie cualquier numero incorrecto, tiene q ser la coma si o si para que que se guarde correctamente el numero en la bd. Que solucion puedo tener?

Pensé en que al hacer click en el boton amarillo me copie el contenido del txtbox con punto a uno nuevo con el mismo valor pero con la coma, y q el programa guarde ese casillero en la base de datos., pero no sé como hacer eso?

U otra solución seria darle un correcto funcionamiento al casillero con la coma y numeros pequeños, peo tampoco sé hacerlo.


Espero puedan ayudarme, gracias!

MOD: Imagenes adaptadas a lo permitido.
18  Programación / Programación Visual Basic / Anda mal el IF, o estoy haciendo algo mal? Visual 6.0 en: 12 Marzo 2018, 02:10 am
Eso, tan simple como eso, No entiende la sentencia IF, no anda! ya probe con varias combinaciones y no anda, que puedo hacer?

La idea es la siguiente, yo tengo un stock y un punto de reposicion

Por ejemplo,

Stock 50
Punto de reposición 20

Si yo tengo más de 20, deberia decirme "Stock normal"
si tengo menos de 20, "Faltante de stock"
y si tengo 0 "Sin Stock"

bueno la cosa, es que el IF que hice es este:



Código:
Private Sub Command1_Click()
If Text1.Text = 0 Then
MsgBox "Stock 0 !!!!!"
Else
If Text1.Text > Text2.Text Then
MsgBox "Stock mayor"
Exit Sub
Else
MsgBox "Stock menor"
Exit Sub
End If
End If
End Sub

Pero que rayos, el if no anda! si por ejemplo

en el txt de stock pongo 2
y en el txt de reposicion pongo 10, deberia decirme "Stock menor" ya que hay pocas unidades, hay menos unidades de las que deberia tener para avisarme (10)

Y deberia ponerme "Stock menor", Pero no! me pone stock mayor! y encima eso pasa asi le ponga cualquier numero, mayor o menor a 10, siempre sale por el lado del mayor, WTF?

Seguramente tengo algunos errrores menores en el codigo, pero por que sale por el positivo cuando es negativo?

19  Programación / Programación Visual Basic / Borrado incorrecto de base de datos con Ado con el metodo rs.delete en: 10 Marzo 2018, 18:36 pm
Es visual basic 6.0 (tenia un proyecto del 2007 y ho 11 años despues quise retomarlo)

Bueno resulta que tengo este codigo:

Código:
    Dim rs As ADODB.Recordset
        If Not Conectar() Then Exit Sub
        Set rs = New ADODB.Recordset
            rs.Open ("Elementos"), cn, adOpenKeyset, adLockOptimistic
            On Error Resume Next
            rs!Categoria = txtcate
            rs.Delete
            rs.Close
            rs.update
            Set rs = Nothing
            Desconectar

Elimina el registro de la base de datos, pero no el seleccionado. El registro está en el txtcate. Ahi está escrito el valor que quiero borrar de la base de datos (obviamente es un txt no modificable y son identicos). Lo que quiero es que me borre de la base de datos, el valor de ese txt.

Lo que pasa es que me borra el primer registro de la base de datos y no el que esta escrito en el txt. Comopuedo hacer para que me borre el registro seleccionado en el txt?

Ah, es la única columina de la tabla en el access, es solo 1 columna
gracias
20  Sistemas Operativos / Windows / Problema de muestreo de memoria en el administrador en: 16 Abril 2017, 02:35 am
Me aparecem sólamente 30 (medido en KB) 30, deberian ser 30.000

Por ejemplo el google chrime deberia consumir 123.000 KB y me pone solo 123.

Que es??? :(

Páginas: 1 [2] 3
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines