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

#851
Cita de: pucheto en  7 Noviembre 2011, 19:35 PM
Eso no quita que el lenguaje no sea lindo, por lo menos para mi, tiene una sintaxis horrorosa

La mayoria de los lenguajes se parece en base la sintaxis... aun que si por ejemplo no me gusta cobol solo por su sintaxis...

Dulces Lunas!¡.
#853
La bronca es COMO tienes declaradas las APIS... segun como las declares debes pasar los parametros de cierta manera...

para evitar estar poniendo mas y mas codigos...

unCrambleAPI

Sangriento Infierno Lunas!¡.
#854
Cita de: BlackZeroX (Astaroth) en  7 Noviembre 2011, 00:40 AM

Código (cpp) [Seleccionar]


int iCode = 0;
while(!getEndBit()) {
    iCode <<= iCode | getBit();
}



Dulces Lunas!¡.

me equivoque es asi:

Código (cpp) [Seleccionar]


int iCode = 0;
while(!getEndBit()) {
    iCode = ((iCode << 1) | (getBit() & 0x1));
}

#855
Cita de: cesarjgrd.18 en  6 Noviembre 2011, 18:49 PM
Buenas! En esta oportunidad tengo una duda sobre los enteros con ceros al inicio

El caso es que tengo que decodificar una etiqueta compuesta con numero binarios, pero cuando el código empieza por cero no me los toma en cuenta sino hasta el primer 1... como hago para que tome en cuenta los ceros iniciales?

Gracias!

cuanta los numeros y has una diferenciacion de longitudes asi determinas enq ue posicion esta ese 1

tambien puedes ir almacenando cada numero de esta manera.

Supongamos que tu etiqueta sond e 32 numeros (0 y 1)

entonces:

supongamos este numero.

100010000100001001010110101100

como ves no son 32 numeros los 0 mas significativos no se escriben pero como empiesas tu de la izquierda  a la derecha harias algo asi:

Código (cpp) [Seleccionar]


entero iCode = 0
mientras no lleguemos al final
   iCode = (iCode << 1) | (getBit() mascara con bit 1); // Dezplazmos los bits de iCode a la izquierda y hacemos una operacion OR  es decir:



es decir obtienes

100010000100001001010110101100

y lo agregas desplazando los anteriores bits a la izquierda. (<<=)

es decir:
leyendo: 100010000100001001010110101100

INT    |   en Bits
iCode = 0000000000000000000000000000000
iCode <<= iCode | getBit();
iCode = 0000000000000000000000000000001
iCode <<= iCode | getBit();
iCode = 00000000000000000000000000000010
iCode <<= iCode | getBit();
iCode = 00000000000000000000000000000100
iCode <<= iCode | getBit();
iCode = 00000000000000000000000000001000
...
iCode <<= iCode | getBit();
iCode = 00100010000100001001010110101100
Termino...

como ves se hace un while()...

Código (cpp) [Seleccionar]


int iCode = 0;
while(!getEndBit()) {
   iCode = (iCode << 1) | (getBit() & 0x1);
}



Dulces Lunas!¡.
#856
Example FULL:

Código (vb) [Seleccionar]


Option Explicit

Const scUserAgent = "UserAngent InfraExplorer Plugin."
Const INTERNET_OPEN_TYPE_DIRECT = 1
Const INTERNET_OPEN_TYPE_PROXY = 3
Const INTERNET_FLAG_RELOAD = &H80000000
Const sURL = "http://infrangelux.sytes.net/ScanX/?ip=www.google.com.mx&port=80&nohtml=3"

Private Sub Form_Load()
    Dim hOpen       As Long
    Dim hFile       As Long
    Dim bBuffer()   As Byte
    Dim Ret         As Long
    ReDim bBuffer(0 To 0)
    hOpen = lCallApiByName("wininet", "InternetOpenW", StrPtr(scUserAgent), INTERNET_OPEN_TYPE_DIRECT, 0, 0, 0)
    hFile = lCallApiByName("wininet", "InternetOpenUrlW", hOpen, StrPtr(sURL), 0, 0, INTERNET_FLAG_RELOAD, 0)
    Call lCallApiByName("wininet", "InternetReadFile", hFile, VarPtr(bBuffer(0)), 1, VarPtr(Ret))
    Call lCallApiByName("wininet", "InternetCloseHandle", hFile)
    Call lCallApiByName("wininet", "InternetCloseHandle", hOpen)
    MsgBox IIf(Val(StrConv(bBuffer, vbUnicode)) = 1, "Port Enabled", "Port Disabled")
End Sub



Dulces Lunas!¡.
#857
.
I do not see the problem.

for more information: http://msdn.microsoft.com/en-us/library/windows/desktop/aa385103%28v=vs.85%29.aspx

prototype:
Código (Vb) [Seleccionar]

Public Function CallAPIByName(ByVal sLib As String, ByVal sMod As String, ParamArray Params()) As Long


API to Call

Código (cpp) [Seleccionar]


BOOL InternetReadFile(
  __in   HINTERNET hFile,
  __out  LPVOID lpBuffer,
  __in   DWORD dwNumberOfBytesToRead,
  __out  LPDWORD lpdwNumberOfBytesRead
);

Requirements

Minimum supported client Windows 2000 Professional
Minimum supported server Windows 2000 Server
Header Wininet.h
Library Wininet.lib
DLL Wininet.dll



Código (vb) [Seleccionar]


dim hFile as long
dim bBuff(0 to 999) as byte ' lpBuffer = varptr(bBuff(0))
dim dwNumberOfBytesToRead as long
dim lpdwNumberOfBytesRead as long
dim bRes as boolean

dwNumberOfBytesToRead = 1000
bRes = callapybyname("wininet", "InternetReadFile", hFile, varptr(bBuff(0)), dwNumberOfBytesToRead, varptr(lpdwNumberOfBytesRead) )



Dulces Lunas!¡.
#858
Foro Libre / Re: Problemas para estudiar letras
6 Noviembre 2011, 22:41 PM
.
Las cosas dificiles se saborean mas rico con el tiempo.

Dulces Lunas!¡.
#859
.
Código (vb) [Seleccionar]


Const scUserAgent = "API-Guide test program"
Const INTERNET_OPEN_TYPE_DIRECT = 1
Const INTERNET_OPEN_TYPE_PROXY = 3
Const INTERNET_FLAG_RELOAD = &H80000000
Const sURL = "http://www.microsoft.com/index.htm"
Private Declare Function InternetOpen Lib "wininet" Alias "InternetOpenA" (ByVal sAgent As String, ByVal lAccessType As Long, ByVal sProxyName As String, ByVal sProxyBypass As String, ByVal lFlags As Long) As Long
Private Declare Function InternetCloseHandle Lib "wininet" (ByRef hInet As Long) As Long
Private Declare Function InternetReadFile Lib "wininet" (ByVal hFile As Long, ByVal sBuffer As String, ByVal lNumBytesToRead As Long, lNumberOfBytesRead As Long) As Integer
Private Declare Function InternetOpenUrl Lib "wininet" Alias "InternetOpenUrlA" (ByVal hInternetSession As Long, ByVal lpszUrl As String, ByVal lpszHeaders As String, ByVal dwHeadersLength As Long, ByVal dwFlags As Long, ByVal dwContext As Long) As Long
Private Sub Form_Load()
    'KPD-Team 1999
    'URL: http://www.allapi.net/
    'E-Mail: KPDTeam@Allapi.net

    Dim hOpen As Long, hFile As Long, sBuffer As String, Ret As Long
    'Create a buffer for the file we're going to download
    sBuffer = Space(1000)
    'Create an internet connection
    hOpen = InternetOpen(scUserAgent, INTERNET_OPEN_TYPE_DIRECT, vbNullString, vbNullString, 0)
    'Open the url
    hFile = InternetOpenUrl(hOpen, sURL, vbNullString, ByVal 0&, INTERNET_FLAG_RELOAD, ByVal 0&)
    'Read the first 1000 bytes of the file
    InternetReadFile hFile, sBuffer, 1000, Ret
    'clean up
    InternetCloseHandle hFile
    InternetCloseHandle hOpen
    'Show our file
    MsgBox sBuffer
End Sub



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

Dulces Lunas!¡.
#860
No me habia leido esto...

Cita de: adastra en  2 Noviembre 2011, 00:55 AM
1. Un sistema "grande" tal como lo expones es una medida subjetiva. Que es para ti grande?
2. El hecho de que un sistema sea "grande" no lo convierte en un sistema estable, seguro, robusto, escalable y eficiente.
3. Las funcionalidades que ofrece VB se cuentan con los dedos y no se pueden comparar con la potencia que ofrece la API de lenguajes como Java o cualquiera de los que se encuentran incluidos en el framework de .NET
4. No hay que olvidar que VB6 tiene ya más de 15 años, en su tiempo era malo y hoy en día, no hay razón ni siquiera para enseñarlo en las escuelas...

1.- Un app que tenga mas de 5 modulos o funcionabilidades y este en combinacion con otros sistemas.
2.- Un sistema depende de su diseño al igual de si el diseño permite que sea o no escalable (No pretendras hacer un sistema con access y c verdad, y despues intentar extenderlo si solo repites codigo y tu dice no contempla extensiones de diseño no contemplados).
3.- Eso esta a discucion... una cosa es UN FRAMEWORK y otra un API que de hecho en VB6 puedes ocupar el API de Windows... pero comparar lenguajes me parece una tonteria ya que cada uno tiene RUMBOS distintos por ejemplo es como si quisiera comparar javascript con C o ASM, es una tonteria.
4.- Cobol tiene mas años y es anticuado o malo como dices respecto a los paradigmas, en pocas palabras no tiene que ser un lenguaje malo por su edad, sera mejor que des un tipo de argumento valido.

Citar

Ventajas

    Posee una curva de aprendizaje muy rápida.
    Integra el diseño e implementación de formularios de Windows.
    Permite usar con facilidad la plataforma de los sistemas Windows, dado que tiene acceso prácticamente total a la API de Windows, incluidas librerías actuales.
    Es uno de los lenguajes de uso más extendido, por lo que resulta fácil encontrar información, documentación y fuentes para los proyectos.
    Fácilmente extensible mediante librerías DLL y componentes ActiveX de otros lenguajes.
    Posibilita añadir soporte para ejecución de scripts, VBScript o JScript, en las aplicaciones mediante Microsoft Script Control.
    Tiene acceso a la API multimedia de DirectX (versiones 7 y 8). También está disponible, de forma no oficial, un componente para trabajar con OpenGL 1.1.7
    Existe una versión, VBA, integrada en las aplicaciones de Microsoft Office, tanto Windows como Mac, que permite programar macros para extender y automatizar funcionalidades en documentos, hojas de cálculo, bases de datos (access).
    Si bien permite desarrollar grandes y complejas aplicaciones, también provee un entorno adecuado para realizar pequeños prototipos rápidos.

Inconvenientes

Las críticas hechas en las ediciones de Visual Basic anteriores a VB.NET son variadas,8 se citan entre ellas:

    Problema de versionado asociado con varias librerías runtime DLL, conocido como DLL Hell
    Pobre soporte para programación orientada a objetos9
    Incapacidad para crear aplicaciones multihilo, sin tener que recurrir a llamadas de la API de Windows.
    Dependencia de complejas y frágiles entradas de registro COM10
    La capacidad de utilizar controles en un solo formulario es muy limitada en comparación a otras herramientas. DLL Hell DB, Libro Programando en Visual Basic,2002


Fuente: https://secure.wikimedia.org/wikipedia/es/wiki/Visual_Basic

Cita de: adastra en  6 Noviembre 2011, 20:22 PM
De acuerdo con todos, sin embargo sigo opinando que para hacer un programa profesional, con unos mínimos de calidad, no utilizaría de ningún modo VB6,

Opino lo mismo (No usaria minimos de calidad nunca)... pero en si el sistema ya esta hecho ni modo.

Dulces Lunas!¡.