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

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


  Mostrar Mensajes
Páginas: 1 ... 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 [45] 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 ... 74
441  Programación / Programación Visual Basic / Orderar Matriz utilizando CopyMemory en un solo bucle? en: 15 Noviembre 2008, 17:54 pm
Buenas intento ordenar una matriz alfabeticamente a medida se se van agregando datos a esta, pero no me esta resultando, la idea seria....
(por ejemplo) si el dato ingresado es menor al tercer elemento
copie desde el tercer al final en la posicion 4 de la matriz y en la posicion numero 3 ponga los nuevos datos. pero sin tener que recorrer un bucle, sino mas bien utilzando CopyMemory para hacelerar la funcion.

se que podria poner dos bucles y ordenarlo de la forma tradicional pero esto se haria muy lento si ablamos de 10000 elementos

pongo un ejemplo de lo que intento hacer, pero bien no estoy haciendo buen uso de CopyMemory


Código:
Option Explicit
Private Declare Sub CopyMemory Lib "kernel32.dll" Alias "RtlMoveMemory" (ByRef Destination As Any, ByRef Source As Any, ByVal Length As Long)

Private Type Datos
    Nombre As String
    Apellido As String
End Type

Dim dPersona() As Datos
Dim lCount As Long

Private Sub Command1_Click()
    AddList "bbb", "bbb"
    ImprimirListado
End Sub

Private Sub Form_Load()
    Me.Show
    ReDim dPersona(0)
   
    AddList "aaa", "aaa"
    AddList "bbb", "bbb"
    AddList "ccc", "ccc"
    AddList "ddd", "ddd"
    AddList "fff", "fff"
   
    ImprimirListado
End Sub

Private Sub ImprimirListado()
    Dim i As Long
    Cls
    For i = 0 To lCount
        Print dPersona(i).Nombre, dPersona(i).Apellido
    Next
End Sub

Private Sub AddList(Nombre As String, Apellido As String)
Dim i As Integer
Dim Ubicado As Boolean

lCount = UBound(dPersona)

If lCount = 0 Then
    dPersona(lCount).Nombre = Nombre
    dPersona(lCount).Apellido = Apellido
Else
    For i = 0 To lCount
        If Nombre < dPersona(i).Nombre Then
            'deberia copiar toda la matriz desde dPersona(i) a al siguiente dPersona(i + 1) todo el resto
            'de la extructura, pero no funciona :(
            CopyMemory ByVal dPersona(i + 1), ByVal dPersona(i), 8 * (lCount - i)
            'luego depositaria los nuevos datos en dPersona(i)
            dPersona(i).Nombre = Nombre
            dPersona(i).Apellido = Apellido
           
            Ubicado = True
            Exit For
        End If
    Next
   
    If Ubicado = False Then
        dPersona(lCount).Nombre = Nombre
        dPersona(lCount).Apellido = Apellido
    End If
End If

ReDim Preserve dPersona(lCount + 1)
End Sub


si alguien sabe como solucionar esto o conoce alguna otra forma se los agradezco
Saludos
442  Programación / Programación Visual Basic / Re: Averiguar el Menu desplegado. en: 3 Noviembre 2008, 17:47 pm
Hola si encontre la solucion,pero bueno me colgue y no lo postie, pero aca va. hay otras formas mas, pero esta es la que mejor se adaptaba a mi nesesidad.

Código
  1. Option Explicit
  2. Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
  3. Private Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hWnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
  4. Private Declare Function GetMenuItemInfo Lib "user32.dll" Alias "GetMenuItemInfoA" (ByVal hMenu As Long, ByVal un As Long, ByVal b As Boolean, ByRef lpMenuItemInfo As MENUITEMINFO) As Long
  5. Private Declare Function GetMenuItemCount Lib "user32" (ByVal hMenu As Long) As Long
  6. Private Declare Function GetMenu Lib "user32" (ByVal hWnd As Long) As Long
  7.  
  8. Private Type MENUITEMINFO
  9.    cbSize As Long
  10.    fMask As Long
  11.    fType As Long
  12.    fState As Long
  13.    wID As Long
  14.    hSubMenu As Long
  15.    hbmpChecked As Long
  16.    hbmpUnchecked As Long
  17.    dwItemData As Long
  18.    dwTypeData As String
  19.    cch As Long
  20. End Type
  21.  
  22. Private Const WM_MENUSELECT     As Long = &H11F
  23. Private Const GWL_WNDPROC = (-4)
  24.  
  25. Private Const MF_ENABLED As Long = &H0&
  26. Private Const MF_HILITE As Long = &H80&
  27. Private Const MF_DISABLED As Long = &H3&
  28. Private Const MIIM_STATE As Long = &H1
  29.  
  30. Dim hMenu As Long
  31. Dim PrevProc As Long
  32.  
  33. Public Sub HookForm(hWnd As Long)
  34.    hMenu = GetMenu(hWnd)
  35.    PrevProc = SetWindowLong(hWnd, GWL_WNDPROC, AddressOf WindowProc)
  36. End Sub
  37. Public Sub UnHookForm(hWnd As Long)
  38.    SetWindowLong hWnd, GWL_WNDPROC, PrevProc
  39. End Sub
  40.  
  41. Public Function WindowProc(ByVal hWnd As Long, ByVal uMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
  42.    WindowProc = CallWindowProc(PrevProc, hWnd, uMsg, wParam, lParam)
  43.    If uMsg = WM_MENUSELECT Then
  44.        Debug.Print GetIdMenuSelected()
  45.    End If
  46. End Function
  47.  
  48. Private Function GetIdMenuSelected() As Long
  49.  
  50. Dim MnuCount As Long
  51. Dim i As Long
  52. Dim ItemState As Long
  53. MnuCount = GetMenuItemCount(hMenu)
  54.  
  55. For i = 0 To MnuCount - 1
  56.    ItemState = GetMenuState(i)
  57.    If ItemState = (MF_HILITE Or MF_ENABLED) Or ItemState = (MF_HILITE Or MF_DISABLED) Then
  58.        GetIdMenuSelected = i
  59.        Exit Function
  60.    End If
  61. Next
  62.  
  63. GetIdMenuSelected = -1
  64.  
  65. End Function
  66.  
  67.  
  68. Private Function GetMenuState(ID As Long) As Long
  69.    Dim MII As MENUITEMINFO
  70.    MII.cbSize = Len(MII)
  71.    MII.fMask = MIIM_STATE
  72.    Call GetMenuItemInfo(hMenu, ID, True, MII)
  73.    GetMenuState = MII.fState
  74. End Function

Form
Código
  1. Option Explicit
  2.  
  3. Private Sub Form_Load()
  4.    HookForm Me.hWnd
  5. End Sub
  6. Private Sub Form_Unload(Cancel As Integer)
  7.    UnHookForm Me.hWnd
  8. End Sub


Saludos
443  Programación / Programación Visual Basic / Moulo para aplicar Skin a los Formularios [Source] en: 3 Noviembre 2008, 03:17 am
Buenas, este es un Modulo Clase,  que hicimos con el_c0c0, Sirve para aplicar skin a nuestros formularios, el modulo SubClasifica el o los formularios y repinta sus bordes y barra de menus.



Descargar


Saludos
444  Programación / Programación Visual Basic / Re: Averiguar el Menu desplegado. en: 30 Octubre 2008, 02:38 am
que haces Dessa tanto tiempo, mm pero debe haber alguna manera con apis


Saludos
445  Programación / Programación Visual Basic / Re: Averiguar el Menu desplegado. en: 29 Octubre 2008, 21:54 pm
mm no me sirve, gracias
446  Programación / Programación Visual Basic / Averiguar el Menu desplegado. en: 29 Octubre 2008, 21:31 pm
buenas estoy intentado averiguar si es que hay un menú desplegado cual es osea...

tengo un form sublcasificado y tengo 3 menú
_________________________
Archivo | Edición | Ayuda
     _________________
     |----------------------|
     |----------------------|
     |----------------------|
     |----------------------|
     |----------------------|
     |________________|


y el menú Edición esta desplegado como puedo saber si el menú que esta desplegado es el de edición.

Saludos
447  Programación / Programación Visual Basic / Re: Demo del Futuro Troyano BreakSoft 95% programado por Skyweb07 en: 18 Octubre 2008, 23:58 pm
hola jajaj esta bueno por lo menos me rei un rato.

esto produce toda una evolucion.

El modulo3 (el codigo es una cagada pero no viene al caso)

http://www.recursosvisualbasic.com.ar/htm/listado-api/207-formulario-de-informacion-en-systray.htm

Que a su vez skl me lo robo a mi

http://www.canalvisualbasic.net/forum/forum_posts.asp?TID=20499

que a su vez, yo seguramente  lo robe de aca


http://www.forosdelweb.com/f69/como-hago-popup-estilo-msn-350953/

Pregunta: ¿quien ***** puso el huevo?, Quien no le robo algo a alguien.

Acaso tu windows xp es original.  :¬¬


448  Programación / Programación Visual Basic / Re: Script Manager By C@$P€R en: 16 Octubre 2008, 16:19 pm
Hola,faltan las dependencia, un consejo es que las incluyas porque creo que nadie se va  a tomar la molestia de buscarlas.

Saludos
449  Programación / Programación Visual Basic / Re: donde puedo conseguir un buen manual de... en: 16 Octubre 2008, 07:44 am
hola, mirte esto que es una buena ayuda.

http://www.recursosvisualbasic.com.ar/htm/tutoriales/tips-ocx.htm

450  Programación / Programación Visual Basic / Re: como puedo zipear un archivo sin ocx? en: 13 Octubre 2008, 02:55 am
hola esta muy bueno el ejemplo utilizando Shell , quize hacer una clase con algunas opciones, pero la cagada es que Shell trabaja en un hilo diferente y no hay forma de saber cuando termina una operacion, por lo que vi utilizan Sleep pero bueno esto es una currada porque eso depende del tamaño del archivo. asi que bueno no se le puede sacar mucho provecho.

bueno fuera el caso que alguien sabe como averiguar cuando  shell termina una operacion como

Código:
oFolder.CopyHere FileName
se le agracece.

Saludos
Páginas: 1 ... 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 [45] 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 ... 74
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines