Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - BlackZeroX

#1381
.
Para crear un liberador de memoria debemos saber como demonios trabaja el S.O. ya que por hay ley que el S.O reserva X cantidad de memoria para si mismo que no puede usar los demás programas, creo que fue por una liga del usuario cobein de este foro, la memoria usada por los APP se puede volcar a un pagefile y lo que se intenta realmente hacer con un array grande es volcar la mayor cantidad de memoria a este archivo, tampoco esperen tener el 100% de Ram libre por que eso es imposible...

P.D.: @nukje No te creo... en la imagen le censuraste el quien lo hizo.

Dulces Lunas!¡.
#1382
Cita de: nukje en  1 Mayo 2011, 11:25 AM
usa el q te di, pero tampoco vas a notar diferencia porq estos vbs no hacen practicamente NADA

o porlomenos, aunque lo haga manual, nunca me libera nada.

Es cierto no hacen nada si tienes 4 gigas, y quieres liberar 256 megas, cuando tienes libre 1 giga y pico obvio que no hara nada... lo demas no lo digo ya que s epuede obviar con lo que ya dige.

P.D.: Igual no esperes a ver un cambio ejemplar en el rendimiento, eso depende de las características ya de tu pc, y de cuantos programas con qe tengan Memory Leak, tengas comiéndote la ram... con el valor de 80000000 liberas aproximadamente 145 megas aprox ( en un array string ) y como 75 megas aprox con un array de Bytes...

Dulces Lunas!¡.
.
#1383
@nukje

Antes de que aparezca por aquí....

Código (Vb) [Seleccionar]


sub main
'268435456 = 256*1024*1024
'268435455 = 268435456-1
'De 0 a 268435455 = 268435456 Bytes... = 256 Megas.
Dim memoria(0 to 268435455) as byte ' // Forzamos al S.O. a quitar X cantidad de memoria a el archivo de paginacion...
end sub



@Segurida

Es un ejemplo acomoda-lo a tus necesidades!¡..

Dulces Lunas!¡.
.
#1384
.
mira esta pagina hermosisima...

Redim


Cita de: Segurida en  1 Mayo 2011, 10:56 AM

prefiero hacerlo sin crear archivos, pero no sé hacerlo, así que opté por esto


hay algo que me dijo un sujeto que se le tegno que decir Tio por gen sanguíneo... y tiene mucha verdad esas palabras:


Cita de: Mi Tio Desgraciado

Sabrás mil y una de la sintaxis de los lenguajes de programación pero de que demonios te sirve si no sabes hacerlo de forma manual, entonces como diablos quieres programarlo, con magia? eso no existe.

Dicen que C/C++ es lo mas potente... ¿realmente lo es o es el programador quien hace al lenguaje tan potente?...!¡


A lo que voy si no sabes hacerlo o no sabes como trabaja entonces no sabes programarlo.

Dulces Lunas!¡.
-
#1385
.
Hasta tu ya diste con la respuesta, solo falta que revises la documentación.

Cita de: Segurida en  1 Mayo 2011, 10:56 AM

Y al ejecutarlo da un error de sintaxis,


Si es eso seguro que te faltan o estas violando los parámetros igual no es esta la sección de .NET

P.D.: esto hace lo mismo... no se para que tanto lio...

Código (vb) [Seleccionar]


sub main
Dim memoria() as byte
    redim memoria(0 to 256*1024*1024) ' // Forzamos al S.O. a quitar X cantidad de memoria a el archivo de paginacion...
end sub




Dulces Lunas!¡.
#1386
.
jaja sabia que hiba a pasar esto...

Cita de: seba123neo en  1 Mayo 2011, 08:11 AM
en .NET lo haces en una linea con .ToCharArray.

Cita de: BlackZeroX▓▓▒▒░░ en  1 Mayo 2011, 06:19 AM
@XXX-ZERO-XXX

la sintaxis de ese código es de .NET... ademas en .NET me parece que con Marshal se puede aun mas facil usando el ToChar que tiene la clase String si no mal recuerdo ( hace mucho que no toco .NET ).

Dulces Lunas!¡.

P.D.: Confundi/Mescle/Cague la clase Marshal.

Dulces Lunas!¡.
#1387
@XXX-ZERO-XXX

la sintaxis de ese código es de .NET... ademas en .NET me parece que con Marshal se puede aun mas facil usando el ToChar que tiene la clase String si no mal recuerdo ( hace mucho que no toco .NET ).

Dulces Lunas!¡.
#1388
Cita de: seba123neo en  1 Mayo 2011, 01:39 AM
y pregunto, ¿ que tiene que ver eso con lo que pregunto el usuario ?  :P

lei muy por ensima el mensaje y se me vino a la mente lo de forzar el foco, despues lo lei mas a fondo y edit el post... da igual

Dulces Lunas!¡.
#1389
.
Esto te servira como guia, solo adaptalo.

http://foro.elhacker.net/programacion_visual_basic/obligar_el_focusrect-t321290.0.html

Edito:

Lo puedes hacer con SendMessage junto con la constante WM_SETTEXT o tamien con el API, SetwindowText.

Aqui algunos ejemplos:

http://allapi.mentalis.org/apilist/SetWindowText.shtml

Dulces Lunas!¡.
#1390
.
no se me ocurre nada mas rapido que esto:

Código (vb) [Seleccionar]


Option Explicit

Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (ByVal Destination As Any, ByVal Source As Any, ByVal Length As Long)
Private Declare Function VarPtrA Lib "msvbvm60.dll" Alias "VarPtr" (ByRef Ptr() As Any) As Long
Private Declare Function lstrlenW Lib "kernel32" (ByVal lpString As Long) As Long

Private Sub Form_Load()
Dim i           As Integer
Dim sVar        As String
Dim aStr()      As Integer
Dim iDims       As Long

    sVar = "Miguel Angel"
    iDims = charSplitToIntArray(StrPtr(sVar), aStr())
    For i = 0 To (iDims - 1)
        Debug.Print Chr(aStr(i))
    Next i
End Sub

Private Function charSplitToIntArray(ByVal PtrString As Long, ByRef aPtr() As Integer) As Long
Dim lLen      As Long
    lLen = lstrlenW(ByVal PtrString)
    ReDim aPtr(0 To (lLen - 1))
    CopyMemory ByVal VarPtr(aPtr(0)), ByVal PtrString, (lLen * 2)
    charSplitToIntArray = lLen - 1
End Function



De esta menara obtienes algo asi como punteos en CPP solo es similar nada identico pero es practico y dinamico

Código (vb) [Seleccionar]


Private Sub Form_Load()
Dim i           As Integer
Dim sVar        As String
Dim aStr()      As Integer
Dim iDims       As Long

    sVar = "Miguel Angel"
    iDims = charSplitToIntArray(StrPtr(sVar)+(7*2), aStr()) '// Retorno Angel...
    For i = 0 To (iDims - 1)
        Debug.Print Chr(aStr(i))
    Next i
End Sub



Temibles Lunas!¡.