hacker


Ingresar con nombre de usuario, contraseña y duración de la sesión
| Portal Hacker | Editorial | Descargas | Ezine |
Inicio Ayuda Ingresar Registrarse
24 de Julio de 2008, 01:03:21
Noticias: Convocatoria E-zine CPH #2
Para ver este enlace Registrate o Inicia Sesion
Aquí

+  Foros pOrtal Hacker
|-+  Programacion
| |-+  Programación en general
| | |-+  Visual Basic
| | | |-+  Codigo Abierto
| | | | |-+  Ultra Conversor xD
0 Usuarios y 1 Visitante están viendo este tema. « anterior próximo »
Páginas: [1] Ir Abajo Imprimir
Autor Tema: Ultra Conversor xD  (Leído 257 veces)
Draco_X
NZ2
**
Desconectado Desconectado

Mensajes: 188



Ver Perfil
« : 11 de Mayo de 2007, 10:38:56 »

Antes de nada quiero decir que ÉSTE SOFTWARE NO ES MIO! xD Me lo encontré y lo tenia guardado, no puedo decir donde, mas que nada porque no sé xD

Pongo el Source, pero mejor lo subo a Internet y que os lo bajéis no? La verdad lo encuentro muy útil http://rapidshare.com/files/30766104/Conversor.rar.html

Bien, este programa es capaz de convertir unidades de almacenamiento de un ordenador, véase Bit, Byte, KiloByte, MegaByte, GigaByte, y TeraByte como máximo.

También convierte de un sistema de numeración a otro, a saber, Decimal, Octal, Binario y Hexadecimal...

Smiley

Bueno, el código es este;

Código:
Option Explicit
Dim OptPrev As Byte, Borrar As Byte

Private Sub Form_KeyPress(KeyAscii As Integer)
   If Borrar = 1 Then
      LblNum = ""
      Borrar = 0
   End If
   
   If KeyAscii = 8 Then
      If Len(LblNum) > 0 Then
         LblNum = Left(LblNum, Len(LblNum) - 1)
      End If
   Else
      Dim Ltr As String
      KeyAscii = Asc(UCase(Chr(KeyAscii)))
      Ltr = Chr(KeyAscii)
     
      If OptSisNum Then
         Select Case True
             Case Opt2
                 If Len(LblNum) = 49 Then Exit Sub
                 If KeyAscii < 48 Or KeyAscii > 49 Then Exit Sub
             Case Opt8
                 If Len(LblNum) = 16 Then Exit Sub
                 If KeyAscii < 48 Or KeyAscii > 55 Then Exit Sub
             Case Opt10
                 If Len(LblNum) = 15 Then Exit Sub
                 If KeyAscii < 48 Or KeyAscii > 57 Then Exit Sub
             Case Opt16
                 If Len(LblNum) = 12 Then Exit Sub
                 If InStr("0123456789ABCDEF", Ltr) = 0 Then Exit Sub
         End Select
      Else
         If InStr("0123456789,", Ltr) = 0 Then Exit Sub
         If Ltr = "," And InStr(LblNum, ",") <> 0 Then Exit Sub
      End If
      LblNum = LblNum & Chr(KeyAscii)
   End If
End Sub

Private Sub Opt10_Click()
    If LblNum <> "" Then
        Dim No As String
        No = LblNum
       
        If OptPrev <> 10 Then
            No = Dem_Dec(No, OptPrev)
        End If
   
        LblNum = No
    End If
    OptPrev = 10
    Borrar = 1
End Sub

Private Sub Opt16_Click()
    If LblNum <> "" Then
        Dim No As String
        No = LblNum
       
        If OptPrev <> 10 Then
            No = Dem_Dec(No, OptPrev)
        End If
        LblNum = (Dec_Dem(No, 16))
    End If
    OptPrev = 16
    Borrar = 1
End Sub

Private Sub Opt2_Click()
    If LblNum <> "" Then
        Dim No As String
        No = LblNum
       
        If OptPrev <> 10 Then
            No = Dem_Dec(No, OptPrev)
        End If
        LblNum = Dec_Dem(No, 2)
    End If
    OptPrev = 2
    Borrar = 1
End Sub

Private Function Dec_Dem(ByVal Nro As String, ByVal Dsor As Byte) As String
    Dim Ddo As Double, rEsi As String, Dev As String
    Ddo = Val(Nro)
   
    Do While Ddo >= Dsor
        rEsi = Sbr(Ddo, Dsor)
        Ddo = Cociente(Ddo, Dsor)
        If rEsi > 9 Then rEsi = Let_Num(rEsi)
        Dev = rEsi & Dev
        rEsi = Ddo
    Loop
   
    If Ddo > 9 Then
        rEsi = Let_Num(Str(Ddo))
    Else
        rEsi = Ddo
    End If
   
    Dec_Dem = rEsi & Dev
End Function

Private Function Dem_Dec(ByVal Enter As String, Bse As Byte) As String
    Dim Poten As Double, A As Integer, B As String, C As Byte
    Dim Resul As Double
   
    Poten = 1
    For A = Len(Enter) To 1 Step -1
        B = Mid(Enter, A, 1)
       
        If Not (IsNumeric(B)) Then
            C = Val(Let_Num(B))
        Else
            C = Val(B)
        End If
       
        If C <> 0 Then
            Resul = CDbl(Resul + C * Poten)
        End If
        Poten = Poten * Bse
    Next A
   
    Dem_Dec = Trim(Str(Resul))
End Function

Private Sub Opt8_Click()
    If LblNum <> "" Then
        Dim No As String
        No = LblNum
       
        If OptPrev <> 10 Then
            No = Dem_Dec(No, OptPrev)
        End If
        LblNum = Dec_Dem(No, 8)
    End If
    OptPrev = 8
    Borrar = 1
End Sub

Private Function Let_Num(ByVal Letr As String) As String
    Letr = Trim(Letr)
    Select Case Letr
        Case "10", "A"
            Let_Num = IIf(Letr = "A", "10", "A")
        Case "11", "B"
            Let_Num = IIf(Letr = "B", "11", "B")
        Case "12", "C"
            Let_Num = IIf(Letr = "C", "12", "C")
        Case "13", "D"
            Let_Num = IIf(Letr = "D", "13", "D")
        Case "14", "E"
            Let_Num = IIf(Letr = "E", "14", "E")
        Case "15", "F"
            Let_Num = IIf(Letr = "F", "15", "F")
    End Select
End Function

Private Sub Form_Load()
    OptPrev = 10
End Sub


Private Function Sbr(ByVal DVdo As Double, Dvsor As Byte) As Byte
   Dim CociEnt As Double
   
   CociEnt = Int(DVdo / Dvsor)
   Sbr = DVdo - (CociEnt * Dvsor)
End Function

Private Function Cociente(ByVal CDvdo As Double, ByVal CdVsor As Byte) As Double
   Cociente = Int(CDvdo / CdVsor)
End Function

Private Function Ot_By(ByVal Ctdd As String, ByVal Mult As Byte) As String
   Dim Nmr As Double

   Nmr = CDbl(Ctdd)
   If Mult <> 0 Then
      Ot_By = "" & Nmr * (1024 ^ Mult)
   Else
      Ot_By = "" & Nmr / 8
   End If
End Function

Private Function By_Ot(ByVal Cuan As String, ByVal Divi As Byte) As String
   Dim Nro As Double

   Nro = CDbl(Cuan)
   If Divi <> 0 Then
      By_Ot = "" & Cuan / (1024 ^ Divi)
   Else
      By_Ot = "" & Cuan * 8
   End If
End Function

Private Sub OptBi_Click()
   If LblNum <> "" Then
      Dim Tempo As String
      If OptPrev <> 6 Then
         Tempo = Ot_By(LblNum, OptPrev)
      Else
         Tempo = LblNum
      End If
      LblNum = By_Ot(Tempo, 0)
   End If
   OptPrev = 0
   Borrar = 1
End Sub

Private Sub OptBy_Click()
   If LblNum <> "" Then
      Dim Tempo As String
      If OptPrev <> 6 Then
         LblNum = Ot_By(LblNum, OptPrev)
      End If
   End If
   OptPrev = 6
   Borrar = 1
End Sub

Private Sub OptGB_Click()
   If LblNum <> "" Then
      Dim Tempo As String
      If OptPrev <> 6 Then
         Tempo = Ot_By(LblNum, OptPrev)
      Else
         Tempo = LblNum
      End If
      LblNum = By_Ot(Tempo, 3)
   End If
   OptPrev = 3
   Borrar = 1
End Sub

Private Sub OptSisNum_Click()
   FraSisNum.Enabled = True
   FraUnid.Enabled = False
   
   Dim Cont As Control
   For Each Cont In Controls
      If Cont.Tag = 1 Then Cont.Enabled = True
      If Cont.Tag = 2 Then Cont.Enabled = False
   Next Cont
   LblNum = ""
   OptPrev = 10
End Sub

Private Sub OptUnid_Click()
   FraSisNum.Enabled = False
   FraUnid.Enabled = True
   
   Dim Cont As Control
   For Each Cont In Controls
      If Cont.Tag = 1 Then Cont.Enabled = False
      If Cont.Tag = 2 Then Cont.Enabled = True
   Next Cont
   LblNum = Empty
   OptPrev = 1
End Sub

Private Sub OptKB_Click()
   If LblNum <> "" Then
      Dim Tempo As String
      If OptPrev <> 6 Then
         Tempo = Ot_By(LblNum, OptPrev)
      Else
         Tempo = LblNum
      End If
      LblNum = By_Ot(Tempo, 1)
   End If
   OptPrev = 1
   Borrar = 1
End Sub

Private Sub OptMB_Click()
   If LblNum <> "" Then
      Dim Tempo As String
      If OptPrev <> 6 Then
         Tempo = Ot_By(LblNum, OptPrev)
      Else
         Tempo = LblNum
      End If
      LblNum = By_Ot(Tempo, 2)
   End If
   OptPrev = 2
   Borrar = 1
End Sub

Private Sub OptTB_Click()
   If LblNum <> "" Then
      Dim Tempo As String
      If OptPrev <> 6 Then
         Tempo = Ot_By(LblNum, OptPrev)
      Else
         Tempo = LblNum
      End If
      LblNum = By_Ot(Tempo, 4)
   End If
   OptPrev = 4
   Borrar = 1
End Sub
En línea
Páginas: [1] Ir Arriba Imprimir 
« anterior próximo »
Ir a:  


Ingresar con nombre de usuario, contraseña y duración de la sesión

Powered by SMF 1.1.5 | SMF © 2006-2008, Simple Machines LLC hacker

Juegos gratis - Articulos PHP - Juegos - Trucos - Letras - Juegos - Juegos Online