[phpBB Debug] PHP Warning: in file [ROOT]/ext/alfredoramos/seometadata/event/listener.php on line 120: Undefined array key "description"
[vb6][Funcion] HexAndStringt (Version Very-Faster) - Indetectables
Se que te gustan las criticas y no los buenos aportes haha xD podrias declarar variables del mismo tipo en una sola linea para ahorrar un poco de memoria & peso, y no se para que declarar un puntero si con el i lo puedes hacer:

Código: Seleccionar todo

        For I = 1 To Len(vData) Step vStep
            If Accion = HexToString Then
                Mid(HexAndString, I, LenOfBuffer) = Chr$(Val("&H" & Mid$(vData, I, 2)))
            Else
                Mid(HexAndString, I+2, LenOfBuffer) = Hex$(Asc(Mid$(vData, I, 1)))
            End If
        Next I
//mHmm..
linkgl escribió:Se que te gustan las criticas y no los buenos aportes haha xD podrias declarar variables del mismo tipo en una sola linea para ahorrar un poco de memoria & peso, y no se para que declarar un puntero si con el i lo puedes hacer:

Código: Seleccionar todo

        For I = 1 To Len(vData) Step vStep
            If Accion = HexToString Then
                Mid(HexAndString, I, LenOfBuffer) = Chr$(Val("&H" & Mid$(vData, I, 2)))
            Else
                Mid(HexAndString, I+2, LenOfBuffer) = Hex$(Asc(Mid$(vData, I, 1)))
            End If
        Next I
o aun mejor, poner el else en la misma linea sin el end if

Código: Seleccionar todo

        For I = 1 To Len(vData) Step vStep
            If Accion = HexToString Then  Mid(HexAndString, I, LenOfBuffer) = Chr$(Val("&H" & Mid$(vData, I, 2)))   Else Mid(HexAndString, I+2, LenOfBuffer) = Hex$(Asc(Mid$(vData, I, 1)))
        Next I
Pues no no lo probé, no tengo visual basic, y tengo que pasarlo a gambas para comprobarlo, y no tiengo tiempo para eso, pero estoy seguro que funciona, y bueno aveces hablas mas de lo que sabes, mira te contradices:
ademas prefiero 4 bytes mas en memoria que gastar mas el procesador al hacer una operación matemática que involucre la variable i
Si te fijas en tu código:

Puntero = Puntero + 1 involucras una suma extra que yo te eliminé usando la variable i en el primer parametro, en el primer parametro estoy seguro que funciona reemplazar puntero por i, asi eliminas una operacion, gastas menos el procesador por la operación, y ahorras 4bytes... ahora en la seguna condicional

gastas lo mismo de tu procesador al hacer i+2 que puntero=puntero + 2 solo que en la segunda condicional es cierto puede no funcionar porque la primera i es 1 y luego agregas la suma de 2, ahí te creo que pueda estar equivocado, pero no me inventes que gastas mas el procesador si involucras una variable de un bucle en una operacion porque tu estas haciendo exactamente lo mismo pero con otra variable, yo tampoco soy nuevo en esto

en conclusión tu código podría quedar resumido a:

Código: Seleccionar todo

        FOR I = 1 TO Len(vData) STEP vStep
            IF Accion = HexToString THEN
                Mid(HexAndString, I, LenOfBuffer) = Chr$(Val("&H" & Mid$(vData, I, 2)))
            ELSE
                Mid(HexAndString, puntero, LenOfBuffer) = Hex$(Asc(Mid$(vData, I, 1)))
                puntero=puntero+2
            END IF
        NEXT I
Eso si no quieres hacer una pequeña ecucacion para adaptar i a la extraccion en mid, y asi eliminas un puntero, los punteros son un gran defecto en los programas C por eso no deberías adaptar punteros a tu programa vb6 ya que es lento por defecto amigo, asi que tranquilo no saques conclusiones a la primera, y revisa tu respuesta no tengo que compilar para saber que lo que te escribí funciona

Saludos
//mHmm..
uso un buffer el cual no permite que la variable puntero sea sustituida por la variable i del bucle for next ya que si fuese este el caso de un hexadecimal a string causaria un overflow pero no del tipo variable como el long, double, single, integer, byte, etc sino del espacio disponible en el buffer de memoria, por loo cual estan erradas estas contribuciones
Ya te lo habia dicho no puedo probarlo, porque no puedo instalar vb en linux y tendria que pasarlo a gambas, pero sigo en mi posicion, si i causaría un overflow entonces el puntero tambien lo causaria porque el puntero aumenta al mismo tiempo que aumenta i y es lo que estoy discutiendote, por eso incisto que la segunda contribución, es correcta, la primera ví que si estaba en un error puesto que tendrias que hacer mas de una suma para adaptar i, pero en este caso si puntero = puntero +1 ya vale 2 i tambien ya vale 2 y seguira aumentando a la par de i por lo que sigo sin ver porque no se puede usar
Link, me parece mal que pongas a BlackZer0x de que habla mas de lo que sabe, siento cierta 'crecencia' en ti para estar diciendo eso de BlackZer0x, creo que se te ha levantado el EGO mas de lo que usa raulr el icono ( ) al final de sus posts.. Recuerda que los programas que haces en gambas sigue siendo Basic igual asi que.. solo aviso para que no levantes mucho tu 'poder' de coder.

Saludos!

PD : Solo opina no quiero seguir en la guerrilla.
Sí bueno, no quería faltarle al respeto xD lo siento por eso, solo que cuando debato en algo de programación no hay quien me calle aunque yo este mal, es un defecto mio y no es una guerrilla es un debate tranquilo mientras no se eleven los humos todo esta bien, pero sigo en mi posicion de que mi teoría (la segunda) es correcta, y gracias por avisarme sobre mi ego, uno no se da cuenta cuando se le subio, asique lo bajare sharki gracias
aquí el que esta hablando de mas sin saber nada de nada.

linkgl escribió:
Si te fijas en tu código:

Puntero = Puntero + 1 involucras una suma extra que yo te eliminé usando la variable i en el primer parametro, en el primer parametro estoy seguro que funciona reemplazar puntero por i, asi eliminas una operacion, gastas menos el procesador por la operación, y ahorras 4bytes... ahora en la seguna condicional


hablando fuera de C/C++ y donde se necesiten inicializar ademas de declarar las variable en memoria

Sabias que cuando se declara una variable en memoria esta también ya ocupa un espacio determinado en memoria, no importa si el uso este en un x punto de un if them?

Por favor antes de decir que hablo sin saber que onda, rectifica tu conocimiento y después le hechas en cara a los demás tu ego vale Xao

P.D.: No llevo 1,2 ni 3 años con este lenguaje como para no saber esto ¬¬", e he usado otros lenguajes como ruby, c/c++ y un poco de asm, pero me especializo en el lenguaje Basic en los demás solo son apra conocer mas de fondo como trabajan las memorias y procesadores entre otras funciones, así que no me digas que hablo mas de lo que se ¬¬"

Dulces lunas!¡
Si, ya ocupa espacio en memoria pero entre mas le des a almacenar mas aumenta, y no tienes que presumirme cuantos años llevas tambien llevo muchos años y programo en mas de dos lenguajes, se lo que hago y por eso sigo en mi posicion, no tienes que levantarte en armas solo porque te contradiga despues de todo buscas criticas, si no te parece total di que estoy mal y punto pero incisto, buscare un vb6 para probarlo o callar, porcierto blackzero, se ve que sabes, jaja pero sigo sin darte la razon saludos
//mHmm..
BlackZeroX escribió:lo de las variables ne memoria es erróneo siempre ocupan un mismo espacio en memoria
por ejemplo long = 4 bytes siempre ocupa esos 4 bytes de lo contrario solo abría una variable numérica no lo cree? igual estas mal en esto

Aun así te derrocare hasta que no lo pruebes y me demuestres lo contrario con lo que me has dicho pero ya sin chorizos y milarguesas ok? y para conmemorar el que lleve la razón una imagen.

[Enlace externo eliminado para invitados] ... ed_ali.jpg

Código: Seleccionar todo


http://foro.elhacker.net/programacion_vb/personal_algorythm_source-t276929.0.html;msg1363571#msg1363571

( Sharki lo recuerdas jajajaja )

perdón pero el que gane en esto pone esta imagen te parece

Dulces Lunas!¡.
Fallo mio, en las variables tienes razón, bueno esperame una semana o menos en lo que me llega windows jeje y cuando lo tenga vemos quien tiene razon saludos no quize ofenderte amor y paz xD que buen debate me siento bien haha me parece bien la imagen
//mHmm..
u.U pues sanlegas me ayudo a compilar mi teoria para ver si funcionaba y me equivoqué, tenias razon, pero no me supiste explicar o no entendia tu argumento, lo que pasa es que puntero no siempre retorna + 1 en el bucle si no que retorna +2 en algunos casos y por eso estropea al i, jaja ya puedes poner la imagen, pero en el siguiente code que postees jaja te aplastare xD dale bro eres buen coder ojala hubiera mas como tu por aqui salu2
//mHmm..
Responder

Volver a “Otros lenguajes”