elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  [RETO] Entero a cadena
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: [RETO] Entero a cadena  (Leído 7,957 veces)
Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
Re: [RETO] Entero a cadena
« Respuesta #10 en: 31 Agosto 2010, 00:22 am »

 ::) ::)
Código
  1. Public Function ItoA05(ByVal lNumb As Long) As String
  2.    Call VarBstrFromI4(lNumb, 0, 0, ItoA05)
  3. End Function
Código:
http://www.box.net/shared/51biuct9cd

Creo que mas rapido o corto imposible :P

Saludos :D


En línea

raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: [RETO] Entero a cadena
« Respuesta #11 en: 31 Agosto 2010, 00:37 am »

Esto se llama perder el tiempo reiventando el casting :xD

Código
  1. Public Function StrRaul01(ByVal Number As Long) As String
  2.    If Number And &H80000000 Then
  3.        StrRaul01 = "-"
  4.        Number = Number * -1
  5.    End If
  6.    If Number = 0 Then StrRaul01 = "0": Exit Function
  7.    If Number = 1 Then StrRaul01 = "1": Exit Function
  8.  
  9.    Dim i As Byte
  10.    Do While True
  11.        i = Fix(Number Mod 10)
  12.        Select Case i
  13.            Case 1: StrRaul01 = StrRaul01 & "1"
  14.            Case 2: StrRaul01 = StrRaul01 & "2"
  15.            Case 3: StrRaul01 = StrRaul01 & "3"
  16.            Case 4: StrRaul01 = StrRaul01 & "4"
  17.            Case 5: StrRaul01 = StrRaul01 & "5"
  18.            Case 6: StrRaul01 = StrRaul01 & "6"
  19.            Case 7: StrRaul01 = StrRaul01 & "7"
  20.            Case 8: StrRaul01 = StrRaul01 & "8"
  21.            Case 9: StrRaul01 = StrRaul01 & "9"
  22.            Case 0: StrRaul01 = StrRaul01 & "0"
  23.        End Select
  24.        Select Case Number
  25.            Case Is > 10: Number = Number \ 10
  26.            Case Is = 10
  27.                StrRaul01 = StrRaul01 & "10"
  28.                GoTo Final
  29.            Case Is < 10
  30.                GoTo Final
  31.        End Select
  32.    Loop
  33. Final:
  34.    StrRaul01 = StrReverse(StrRaul01)
  35.    Dim s As String
  36.    Dim t As Integer
  37.    Dim l As Integer
  38.    t = 1
  39.    l = Len(StrRaul01)
  40.    If l = 1 Then Exit Function
  41.    For i = 1 To l
  42.        If Mid$(StrRaul01, i, 1) = "0" Then
  43.            t = t + 1
  44.        Else
  45.            StrRaul01 = Mid(StrRaul01, t)
  46.            Exit Function
  47.        End If
  48.    Next
  49. End Function
  50.  

Al menos es mas rapido que el primer intento de karcrack xDDD
Voy a ver si logro agilizarlo


« Última modificación: 31 Agosto 2010, 00:46 am por raul338 » En línea

BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: [RETO] Entero a cadena
« Respuesta #12 en: 1 Septiembre 2010, 06:31 am »

.
Para mi LeandroA gano!¡.

P.D.: solo postee para decir, Que ojasos el de tu Gallo xP

Dulces Lunas!¡.
En línea

The Dark Shadow is my passion.
MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.517


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: [RETO] Entero a cadena
« Respuesta #13 en: 1 Septiembre 2010, 19:43 pm »

@Karcrack: Lo de LeandroA es lo que se conoce como "evil type convertion" (lo que salto en el otro post)

Por las dudas, pongo el mio, aunque es muy parecido:
Código:
Private Function ItoA03(lNumb As Long) As String
    ItoA03 = "" & lNumb
End Function
En línea

MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."

ignorantev1.1


Desconectado Desconectado

Mensajes: 617


/\ Así acabo cuando quiero programar...


Ver Perfil WWW
Re: [RETO] Entero a cadena
« Respuesta #14 en: 1 Septiembre 2010, 20:17 pm »

Una duda:

Como mido el tiempo?
En línea

Psyke1
Wiki

Desconectado Desconectado

Mensajes: 1.089



Ver Perfil WWW
Re: [RETO] Entero a cadena
« Respuesta #15 en: 1 Septiembre 2010, 20:24 pm »

Una duda:

Como mido el tiempo?

Con:

cTiming.cls

o con:

Código
  1. Private Declare Function GetTickCount Lib "kernel32" () As Long

DoEvents¡! :P
« Última modificación: 1 Septiembre 2010, 21:35 pm por *PsYkE1* » En línea

ignorantev1.1


Desconectado Desconectado

Mensajes: 617


/\ Así acabo cuando quiero programar...


Ver Perfil WWW
Re: [RETO] Entero a cadena
« Respuesta #16 en: 1 Septiembre 2010, 20:27 pm »

Pues si use el mentado "GetTickCount" pero me da 0, a lo mejor lo estoy haciendo mal, por eso pregunte:

dim x as long
x=GetTickCount
****llamo funcion****
msgbox GetTickCount-x
En línea

Psyke1
Wiki

Desconectado Desconectado

Mensajes: 1.089



Ver Perfil WWW
Re: [RETO] Entero a cadena
« Respuesta #17 en: 1 Septiembre 2010, 21:34 pm »

Un ej:

Código
  1. Option Explicit
  2. Private Declare Function GetTickCount Lib "kernel32" () As Long
  3.  
  4. Private Sub Form_Load()
  5.    Dim t1 As Long
  6.    Dim t2 As Long
  7.  
  8.    t1 = GetTickCount '1ª marca
  9.  
  10.    'Call Function
  11.  
  12.    t2 = GetTickCount '2ª marca
  13.  
  14.    MsgBox t2 - t1    'Resultado = diferencia entre marcas.
  15.  
  16. End Sub

DoEvents¡! :P
En línea

ignorantev1.1


Desconectado Desconectado

Mensajes: 617


/\ Así acabo cuando quiero programar...


Ver Perfil WWW
Re: [RETO] Entero a cadena
« Respuesta #18 en: 1 Septiembre 2010, 21:45 pm »

Código
  1. Option Explicit
  2. Private Declare Function GetTickCount Lib "kernel32" () As Long
  3.  
  4. Private Sub Form_Load()
  5.    Dim t1 As Long
  6.    Dim t2 As Long
  7.  
  8.    t1 = GetTickCount '1ª marca
  9.  
  10.    Me.Print StrRaul01(-99999)
  11.    t2 = GetTickCount '2ª marca
  12.  
  13.    MsgBox t2 - t1    'Resultado = diferencia entre marcas.
  14.  
  15. End Sub

Renuncio! siempre me da 0...
En línea

Psyke1
Wiki

Desconectado Desconectado

Mensajes: 1.089



Ver Perfil WWW
Re: [RETO] Entero a cadena
« Respuesta #19 en: 1 Septiembre 2010, 21:55 pm »

Ah, es que es tan poco tiempo que no se aprecia con GetTickCount... :silbar:
Mira prueba con cTiming.cls :

Un ej:

Código
  1. Option Explicit
  2.  
  3. Dim tmr As CTiming
  4.  
  5. Private Sub Form_Load()
  6.    Set tmr = New CTiming
  7.  
  8.    tmr.Reset
  9.  
  10.    Debug.Print StrRaul01(-99999)
  11.  
  12.    MsgBox tmr.Elapsed
  13.  
  14. End Sub

Resultado:
Citar
0,28903007248116

Ahora si... :xD

DoEvents¡! :P
En línea

Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[RETO] Recortar cadena. « 1 2 »
Programación Visual Basic
Psyke1 14 7,633 Último mensaje 29 Octubre 2011, 02:22 am
por BlackZeroX
Pasar de cadena(char) a entero(int) sin sobrepasar el máximo permitido. « 1 2 3 »
Programación C/C++
NOB2014 21 10,761 Último mensaje 9 Enero 2014, 14:35 pm
por leosansan
Programación en batch. Comparar una cadena con un entero
Programación General
juntacadaveres 1 2,768 Último mensaje 15 Marzo 2019, 18:54 pm
por Baphomet2204
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines