Visual Basic Foro

Programación => Visual Basic 6 => Mensaje iniciado por: E N T E R en Febrero 15, 2013, 01:48:23 pm

Título: Alinear numeros a la derecha
Publicado por: E N T E R en Febrero 15, 2013, 01:48:23 pm
Tengo este codigo que alinea los numero de hacia la derecha pero al llegar a mas de 1.000.000 ("un millon") me tira un Error 5 en tiempo de ejecucion.
Llamada a procedimiento o argumento no válido

CODIGO

Código: (VB) [Seleccionar]
Function AlignRight(NData, CFormat) As String
 
    If NData > 0 Then
     
        AlignRight = Format(NData, CFormat)
        AlignRight = Space(Len(CFormat) - Len(AlignRight)) + AlignRight
     
    Else
     
        AlignRight = Format(NData, CFormat)
        AlignRight = Space(Len(CFormat) - 1) + "0"
     
    End If
 
End Function

Código: (VB) [Seleccionar]
Private Sub Command1_Click()
   
    Me.Print AlignRight("10", "##,###0")
    Me.Print AlignRight("100", "##,###0")
    Me.Print AlignRight("1000", "##,###0")
    Me.Print AlignRight("10000", "##,###0")
    Me.Print AlignRight("100000", "##,###0")
    Me.Print AlignRight("1000000", "##,###0")
       
End Sub

EJEMPLO
(http://snag.gy/IbvHv.jpg)
Título: Re:Alinear numeros a la derecha
Publicado por: FrankLizardo en Febrero 15, 2013, 10:00:21 pm
Bueno la Solucion es que pongas mas #

Me.Print AlignRight("1000000", "#######,###0")
Título: Re:Alinear numeros a la derecha
Publicado por: E N T E R en Febrero 16, 2013, 11:08:10 am
Gracias amigo, me sirvio.

También hice este método mas resumido.

Código: (VB) [Seleccionar]
Public Function xRight(xNumero) As String
    xRight = Format(Format(xNumero, "##,###0"), "@@@@@@@@@@@@@@")
End Function

Código: (VB) [Seleccionar]
Private Sub Form_Load()
    Me.Print xRight(10000000000)       
End Sub

No se cual conviene mas usar pero esta funcionando muy bien para lo que quiero.


Saludos...