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

#761
Cita de: Nitch en 21 Noviembre 2011, 18:57 PM
donde sale la URL no se que le ha pasado, el programa esta puesto con este formato:
ftp : // user : pass @ ip : puerto
las he puesto con espacios que sino me hace cosas raras xd

En efecto esa es la sintaxis correcta, pero la de PUT es distinta...

put archivo_local [archivo_remoto]

lleva un ESPACIO entre los dos archivos... ahora si el archivo_local o el archivo_remoto tienen espacios, entonces se ponen entre comillas...

por ejemplo:

put "c:\hola mundo.txt" "cagada mundial de teresa.doc"

Revisate esta URL: http://colposfesz.galeon.com/ftp.htm

Código (Vb) [Seleccionar]


Inet1.Execute "f tp://userass@ipuerto", "PUT prueba.txt" & Winsock1.LocalHostName & ".txt"



prueba asi

Código (Vb) [Seleccionar]


dim sFile1 as string
dim sFile2 as string

sfile1= "Archivo1.txt"
sfile2= "Archivo2.txt"
Inet1.Execute "f tp://userass@ipuerto", "PUT " & chr(34) & sFile1 & chr(34) & " " & chr(34) & sFile2 & chr(34)



Donde esta f tp juntalo como veras este mendigo foro hace TONTERIAS con las url.

Dulces Lunas!¡.
#762
Cita de: Elemental Code en 22 Noviembre 2011, 01:50 AM
tengo entedido que este tutorial hace eso pero sin apps de terceros

Ya, el metodo me parece algo GENERICO ya que no veo que le mueva a alguna estructura que no sea del Formato PE... asi que posiblemente sea retribuible este meotodo a otros EXE... ya que por decirlo de una manera resumida: cambia el entryPoint a una inicializacion de la DLL y posteriormente al EntryPoint del EXE original... y si estoy en lo correcto quiero pensar que se pueden Bindear mas de 1 DLL dentro del mismo... y mi paranoia tambien me dice que quisas tambien en algun EXE...

Dulces Lunas!¡.
#763
.
Para buscar archivos por criterios:

CFindFiles (Busqueda Multicriterio).

Dulces Lunas!¡.
#764
.
Gracias!¡, solo una pregunta.... ¿se pueden insertar mas de una dll?.

Dulces Lunas1¡.
#765
En lugar de usar el Timer y el API GetAsyncKeyState function, sera mejor que instales un Hook al teclado.

Aun asi la MSDN dice claramente:

Citar
Return value

If the function succeeds, the return value specifies whether the key was pressed since the last call to GetAsyncKeyState, and whether the key is currently up or down. If the most significant bit is set, the key is down, and if the least significant bit is set, the key was pressed after the previous call to GetAsyncKeyState. However, you should not rely on this last behavior; for more information, see the Remarks.

The return value is zero for the following cases:

    The current desktop is not the active desktop
    The foreground thread belongs to another process and the desktop does not allow the hook or the journal record.

Para saber esto solo aplica mascaras de bits.

Dulces Lunas!¡.
#766
Programación Visual Basic / Re: Compilar VB
21 Noviembre 2011, 07:25 AM
Que proceso es el que se termina de manera brusca?

Dulces Lunas!¡.
#767
.
Mira mas o menos seria algo asi... Solo arme 3 microclientes de PRUEBA que realizar acciones de escritura en un archivo llamada "c:\BDD.txt" las demas acciones serán ya cosa tuya.

Nesesitas
5 Controles Winsock

1 llamado wsSrv sin index
1 llamado wsCon con index = 0
3 winsock llamados Winsock1, Winsock2 y Winsock3



Option Explicit

Private Type t
    lSizeData   As Long 'Currency
    lCountPages As Long
    lStep       As Long
    bRead       As Long
End Type

Private Enum SockState
    sckClosed = 0
    sckOpen
    sckListening
    sckConnectionPending
    sckResolvingHost
    sckHostResolved
    sckConnecting
    sckConnected
    sckClosing
    sckError
End Enum

Private collectionSockets() As t

Public Function max(ByVal l1 As Long, ByVal l2 As Long) As Long
    If l1 > l2 Then
        max = l1
        Exit Function
    End If
    max = l2
End Function

Public Function getIndexSocket(ByRef osck As Object) As Integer
Dim Index                   As Integer
Dim SockSt                  As SockState
    getIndexSocket = -1
    For Index = osck.lbound To osck.UBound
        With osck(Index)
            SockSt = .State
            If SockSt = sckClosed Or SockSt = sckListening Or SockSt = sckClosing Then
                'If SockSt = sckClosed Or SockSt = sckListening Or SockSt = sckClosing Or SockSt = sckError Then    '   //  Optativo
                getIndexSocket = Index
                Exit For
            End If
        End With
    Next
End Function

Public Function acceptConection(ByRef osck As Object, ByVal requestID As Long) As Long
Dim i             As Integer
    i = getIndexSocket(osck)
    If i = -1 Then
        i = osck.UBound + 1
        Load osck(i)
    End If
    osck(i).Close  ' // Poner Close en lugar de CloseSck   si se usa el OCX WindSock de M$.
    osck(i).Accept requestID
    acceptConection = i
End Function

Private Sub Form_Load()
    With wsSrv
        .Close
        .LocalPort = 456
        .Listen
    End With
    Open "c:\BDD.txt" For Binary As 1
   
    Winsock1.Connect "127.0.0.1", 456
    Winsock2.Connect "127.0.0.1", 456
    Winsock3.Connect "127.0.0.1", 456
End Sub

Private Sub Form_Unload(Cancel As Integer)
    Close 1
End Sub

'   //  Pequeño Cliente 1...
Private Sub Winsock1_Connect()
Dim lAux As Long
Const NAME As String = "Miguel agel ortega avila"
    lAux = 2
    Winsock1.SendData lAux
    lAux = Len(NAME)
    Winsock1.SendData lAux
    Winsock1.SendData NAME
   
'   //  El protocolo seria:
'   *   4 bytes para decirle que hacer al Servidor.
'   *   4 bytes para decirle la longitud de los datos a enviar (segun el caso anterior).
'   *   Paquete de Bytes a enviar.
'   *   Termina.
End Sub

'   //  Pequeño Cliente 2...
Private Sub Winsock2_Connect()
Dim lAux As Long
Const NAME As String = vbCrLf & "No programe las acciones de lectura para el archivo debido a que no tengo mucho tiempo."
    lAux = 2
    Winsock2.SendData lAux
    lAux = Len(NAME)
    Winsock2.SendData lAux
    Winsock2.SendData NAME
   
'   //  El protocolo seria:
'   *   4 bytes para decirle que hacer al Servidor.
'   *   4 bytes para decirle la longitud de los datos a enviar (segun el caso anterior).
'   *   Paquete de Bytes a enviar.
'   *   Termina.
End Sub

'   //  Pequeño Cliente 3...
Private Sub Winsock3_Connect()
Dim lAux As Long
Const NAME As String = vbCrLf & "Solo falta aplicar Adecuadamente la teoria FIFO, con pocos clientes esto ira adecuadamente."
    lAux = 2
    Winsock3.SendData lAux
    lAux = Len(NAME)
    Winsock3.SendData lAux
    Winsock3.SendData NAME
   
'   //  El protocolo seria:
'   *   4 bytes para decirle que hacer al Servidor.
'   *   4 bytes para decirle la longitud de los datos a enviar (segun el caso anterior).
'   *   Paquete de Bytes a enviar.
'   *   Termina.
End Sub

'   //  Fin del pequeño Cliente...
Private Sub wsCon_DataArrival(Index As Integer, ByVal bytesTotal As Long)
Dim bData()     As Byte
Dim lSize       As Long

    Do
        Select Case collectionSockets(Index).lStep
            Case 0
                lSize = 4       '   //  Flags.
                collectionSockets(Index).lCountPages = 0
               
            Case 1
                lSize = 4       '   //  Size of Data
                collectionSockets(Index).lCountPages = 0
               
            Case 2
                lSize = min(1024, bytesTotal)    '   //  Size of Data leemos de a 1kB...
                collectionSockets(Index).lCountPages = 0
               
            Case Else
        End Select
       
        ReDim bData(0 To (lSize - 1))
       
        wsCon(Index).GetData bData, vbByte, lSize
        bytesTotal = (bytesTotal - lSize)
       
        Select Case collectionSockets(Index).lStep
            Case 0  '   //  Tipo de accion
                Select Case byteToLong(bData)
                    Case 1
                        collectionSockets(Index).bRead = True
                    Case 2
                        collectionSockets(Index).bRead = False
                    Case Else
                        collectionSockets(Index).lStep = 0
                        Exit Do
                End Select
                collectionSockets(Index).lStep = 1
            Case 1  '   //  Longitud de los datos.
                If collectionSockets(Index).bRead Then
                    '   //  No lo programare...
                Else
                   collectionSockets(Index).lSizeData = byteToLong(bData)
                End If
                collectionSockets(Index).lStep = 2
               
            Case 2  '   //  Reseccion/Envio de los datos.
                collectionSockets(Index).lSizeData = (collectionSockets(Index).lSizeData - lSize)
                Put 1, , bData
        End Select
       
    Loop While (bytesTotal > &H0) Or (collectionSockets(Index).lSizeData > &H0)
End Sub


Private Sub wsSrv_ConnectionRequest(ByVal requestID As Long)
Dim i   As Long
Dim a As Winsock

    i = acceptConection(wsCon, requestID)
    ReDim Preserve collectionSockets(max(i, wsCon.UBound))
   
End Sub



Public Function min(ByVal l1 As Long, ByVal l2 As Long) As Long
    If l1 < l2 Then
        min = l1
        Exit Function
    End If
    min = l2
End Function

Public Function byteToLong(ByRef bData() As Byte) As Long
    If (bData(3) And &H80000000) Then byteToLong = byteToLong Or &H80000000
    byteToLong = (bData(3) And &H7F) * &H1000000
    byteToLong = byteToLong Or (bData(2) * &H10000)
    byteToLong = byteToLong Or (bData(1) * &H100)
    byteToLong = byteToLong Or bData(0)
End Function



Dulces Lunas!¡.
#768
.NET (C#, VB.NET, ASP) / Re: Contar Palabras
20 Noviembre 2011, 22:02 PM
Solo cuenta cada Espacio consecutivo... y aplicas estos criterios:

* Espacio Consecutivos: por ejemplo " ", "   ", "               ", etc.

Solo cuentalos y a la cantidad final de espacios SUMALE 1, ten encuenta que los espacios al inicio y al final NO CUENTAN... si no es tuprioridad la velocidad para este caso usa Trim$()

Edito:

Esto va en .Net...

Dulces Lunas!¡.
#769
http://www.planet-source-code.com/vb/scripts/BrowseCategoryOrSearchResults.asp?txtCriteria=antivirus&lngWId=1

Si vas a hacer un AV independientemente del lenguaje, no uses tanto el trato de errores en el desarrollo... y si los usas en este caso entonces LIMPIA LOS ERRORES  err.clear.

Dulces Lunas1¡.
#770
Esta publicación la pongo debido a que muchos de nosotros empezamos a mentar madres a las ISP de manera injustificada... digo injustificada por que muchos de nosotros carecemos en algún momento de alguna Terminología en este caso la palabra Mega... pensamos que significa MegaByte pero no, significa Mega Bit ya que carece de Sufijo como MegaByte, GigaByte ya que:

* Mega (1048576 bits) es distinto de MegaByte (8388608 bits)
* Giga (1073741824 bits) es distinto de GigaByte (8589934592 bits)

En algunos lugares, y en muchos sitios se da el caso de que se contrata 1 Mega y los usuarios erróneamente dan un mal significado a Mega creyendo que se trata de un 1Mega Byte, pero cuando prueban su internet se dan cuenta que no es un Mega de bajada o de subida (para el caso sera lo mismo).

Un ejemplo es el servicio TELMEX Infinitum donde Dicen Claramente 1Mb = MegaBit cabe destacar que MB = MegaByte... (Es estos casos Mb y MB son distintos)...


http://www.telmex.com/mx/hogar/paquetes/paquete-conectes.html
http://www.telmex.com/mx/hogar/paquetes/paquete-acerques.html
http://www.telmex.com/mx/hogar/paquetes/sinlimites.html


En todos los Casos dice Mb y no MB

Si van al Router de este ISP podran ver algo similar a esto:



Como verán la parte resaltada en color rojo se puede apreciar que dice kbps esto no significa KiloBytes / segundo si no que significa  KiloBit / segundo.

Esto es debido a que kB = KiloByte y kb = kilobit pueden revisar esto último en la siguiente liga:

https://es.wikipedia.org/wiki/Kilobit

Citando la liga:

Citar

Un kilobit es una unidad de medida de información (abreviado kb o kbit).

En la práctica la unidad kilobit se usa para medir el tráfico de la información por un canal digital, y se representa como kilobits / segundo (kbps) esta unidad representa la cantidad de bits que se transfieren de un punto a otro en un segundo.


De todo esto se puede deducir lo siguiente...

Las empresas NO te venden un servicio de bytes si no de bits.
Las empresas en sus Anuncios Nunca dicen "MegaByte" dicen "Mega" y 1 Mega en escalas Binarias equivalen a 1 048 576 bits que es lo mismo a 128 kB/s (KiloBytes / segundo).

Por ejemplo con la ayuda de la siguiente escala:


1 unidad = 1 bit.
1 Kilo = 1024 unidades ( las unidades son bits por lo tanto se puede interpretar como 1024 bits o 1 kilo bit).
1 Mega = 1 kilo * 1 kilo = 1024 * 1024 = 1 048 576.
8 bits = Byte.


Más información en la siguiente liga: https://es.wikipedia.org/wiki/Prefijo_binario


Teniendo lo anterior en cuenta y sabiendo que no nos vendes Mega Bytes por segundo si no Mega Bits por segundo podemos deducir:

Si contratamos 4 Megas de bajada a la ISP X que nos da una subida de 512 kb (Notese que es kb NO kB son cosas distintas) de bajada se debe hacer lo siguiente para saber el LIMITE MAXIMO en kB/s (kiloBytes / s) reales:



Desendente de 4 Megas:
4 Mega = 1 Mega * 4 = 4 Mega = 1048576 * 4 = 4 194 304 b/s (pero lo queremos a kb/s no en b/s)
Convertimos a Bytes para eso dividimos los bits en bytes:
4 194 304 / 8 = 524 288 B/s (solo falta pasarlo a kB/s)
La velocidad de Desencente (Descarga) real es de 524 288 b/s (pasándolo a kB/s):
524 288 / 1 Kilo = 524 288 / 1024 = 512 kB/s <--- No podrás superar esta velocidad por mucho que quieras...
La bajada real es de:
512 kB/s <--- Es la velocidad de Subida Real Máxima que tienes contratada expresada en KiloBytes/Segundo.




Ascendente de 512 kb/s (Solo lo dividimos entre 8 para pasarlo a kB/s):
512 / 1 Byte  = 512 / 8 = 64 kB/s <--- No podrás superar esta velocidad por mucho que quieras...
La bajada real es de:
64 kB/s <--- Es la velocidad de Subida REAL Máxima que se tiene contratada expresada en KiloBytes/Segundo...

Como ven solo es Falta de conocimiento... y una Maldita publicidad engañosa de las ISP... que no es engañosa porque en ningún Comercial dicen "Conexión de hasta 1 MegaByte" si no que dicen claramente "Conexión de hasta 1 Mega" y al carecer de un Sufijo se traduce que no dicen en Bytes si no en Bits y debido a esto que casi nadie sabe termina creyendo que son MegaBytes y terminan refrescándole la madre a la ISP y los pobres de Atención a cliente terminan sufirendo de nuestra ignorancia.

Dulces Lunas!¡.