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 - Psyke1

#391
Bueno, dejo mi segunda manera de hacerlo... :)
Código (vb) [Seleccionar]
Private Function InstrMrFrog02&(ByVal Start&, ByVal String1$, ByVal String2$)
Dim lTemp&, lenStr1&
   lenStr1& = VBA.Len(String1$)
   If CBool(lenStr1&) Then
       If CBool(VBA.LenB(String2$)) Then
           lTemp& = Len(VBA.Split(String1$, String2$)(&H0&))
           If Not (lTemp& = lenStr1&) Then
               InstrMrFrog02& = (lTemp& + &H1&)
           End If
       End If
   End If
End Function




Creo que sería conveniente no testear casi a cada función que se añade, mejor esperar al final y hacerlo todo de una vez, ¿no? :huh:

DoEvents! :P
#392
Cita de: Karcrack en  1 Enero 2011, 22:23 PM
Jamas podreis superar a InStr()!!! >:D
============ VELOCIDAD ============
0 Mr Frog 0.2237288
1 InStr 0.4316488

Aunque fuera en solo un test, le saco el doble... ::) :xD
Cita de: Karcrack en  1 Enero 2011, 22:23 PM
Yo estoy cerca.. pero me falta el empujonzito del ASM inline... me dejais? :-[
Tramposo! :¬¬
Ook, puedes ponerlo, así de paso aprendo... :P

@BlackZer0x
Oops, se me escapo lo de CBool() tienes razón... :silbar:

DoEvents! :P
#393
A mí como más me gusta es así:
http://www.freevbcode.com/ShowCode.Asp?ID=498

DoEvents! :P
#394
Ya corregi el código (creo), ahora no tengo mucho tiempo. :-\
Pensé que iría más rápido si trabajaba con Bytes... :silbar: :-(
Ya haré más versiones.  >:D

DoEvents! :P
#395
Cita de: Karcrack en  1 Enero 2011, 01:53 AM
Me da que no vais a poder superar la velocidad de la funcion de VB :P
http://xbeat.net/vbspeed/c_InStr.htm

Feliz año nueeeevo!!
Aguafiestas! :laugh:
Pero tienes razón, sera difícil superarlo, pero el que más se acerque gana :)
Se me ocurrió una nueva forma de hacerlo, mañana posteo... :P

DoEvents! :P
#396
Gracias por participar! :D
Aquí dejo la mía (la primera :xD)

Código (vb) [Seleccionar]
Option Explicit
Option Base 0

Private Function myInstr&(ByVal Start&, ByVal String1$, ByVal String2$)
Dim bvString1() As Byte, bvString2() As Byte
Dim ls2Len&, lLimit&
Dim Q&, C&
   ls2Len& = ((Len(String2$)) - &H1)
   If ls2Len& > -1 Then
       lLimit& = ((Len(String1$)) - ls2Len&)
       If lLimit& > 1 Then
           bvString1 = (VBA.StrConv(String1$, vbFromUnicode))
           bvString2 = (VBA.StrConv(String2$, vbFromUnicode))
           Q& = (Start& - &H1)
           Do While (Q& < lLimit&)
               Do While (bvString1(Q& + C&) = bvString2(C&))
                   'Debug.Print ChrW$(bvString1(Q& + C&)); ChrW$(bvString2(C&))
                   C& = C& + &H1
                   If ((C& - &H1) = ls2Len&) Then
                       myInstr& = Q& + &H1
                       Exit Function
                   End If
               Loop
               Q& = (Q& + C&) + &H1
               C& = &H0
           Loop
       End If
   End If
End Function


Código (vb) [Seleccionar]
Private Sub Form_Load()
   Const s As String = "hola qu4 que tal"
   Debug.Print CStr(myInstr&(1, s, "que"))
End Sub




Está hecha rápida... :silbar:

DoEvents! :P
#397
Bueno, pues eso, para empezar el año con buen pie propongo este reto, consiste en crear una función que haga lo mismo que Instr(). ;D
(En principio sin contar con métodos de compración)
Si hay dudas postear. ;)



DoEvents! :P
#398
Como es Nochevieja, te hice el ejemplo:
http://www.mediafire.com/?293vathdo29igu4

DoEvents! :P
#399
Se me ocurre que no has puesto intervalo inicial al Timer, de esta manera, aunque lo habilites, no ocurriría nada... :-\

Yo haía algo así:
Código (vb,24,25,26) [Seleccionar]

Option Explicit

Private Sub Command1_Click()
    WebBrowser1.Visible = True ' No era necesario ponerlo en el timer (supongo)
    Call ChangeInterval
    Timer1.Enabled = True
    Call Timer1_Timer
End Sub

Private Sub Command2_Click()
    Timer1.Enabled = False
    Text1.Locked = False
    WebBrowser1.Visible = False
End Sub

Private Sub Form_Load()
    Me.Caption = "Long Life To Frogs! :D"
    WebBrowser1.Visible = False
    Timer1.Enabled = False
    Text2.Text = "5000" ' cada 5 seg
    Text1.Text = "http://www.google.es"
End Sub

Private Sub ChangeInterval()
    Timer1.Interval = CLng(Text2.Text)
End Sub

Private Sub Timer1_Timer()
    WebBrowser1.Navigate Text1.Text
    Call ChangeInterval
    ' ¿Esto es necesario que vaya aqui?; si quieres que el tiempo no pueda ser modificado cuando el Timer esté activado
    ' esto estaría de más... :P
End Sub



La otra cosa que se me ocurre es que si no cambias la pág de Text1, se cargará la misma y igual no te das cuenta.
No sé, solo digo todas las posibilidades que me vienen a la cabeza... :P

Al menos a mi me funciona así... :silbar:
Feliz año! ;)

DoEvents! :P
#400
@nuKje
Pero utiliza Google antes de preguntar... :¬¬ (Como ya te comenté en otro post)
Fijate en esto:
http://goo.gl/wikn8
Tienes muchisimos resultados poniendo tu misma pregunta. :silbar:


Citar
CitarDulces Doevents XDD  
¬¬# predigo que moriras...
Está muerto... :(

DoEvents! :laugh: