Sin categoría

MAD.NUG: Desarrollando para Windows Phone 7, desde una idea hasta el marketplace

¡Hola a todos!

En este mes, el miércoles 18 de Mayo, nos gustaría ofrecer un espacio en nuestro grupo de usuarios al nuevo sistema operativo para dispositivos móviles: Windows Phone 7. Para ello contaremos con Josue Yeray Ferreiro de Plain Concepts. Josue nos dará unas nociones básicas sobre la plataforma de desarrollo y a partir de ahí conseguir desarrollar una pequeña aplicación y subirla al marketplace de Windows Phone 7 para su publicación.

El evento se realizará en una de las salas del Aula Vulcan.

Para más información acerca del registro podéis acceder al siguiente enlace.

¡Os esperamos!

MAD.NUG: Mesa redonda- Todo lo que siempre quisiste saber y no te atreviste a preguntar sobre… código fuente

MadNug

El próximo miércoles, 23 de marzo de 2011 a partir de las 19:00 nos de nuevo los amiguetes de MadridDotNet para hablar de unos de los temas más interesantes para aquellos que desarrollamos software.

Experiencias sobre la gestión del código fuente !!!

Espero veros por allí.

Para registrarse el link: http://madriddotnet.wordpress.com/2011/03/17/evento-msdn-mesa-redonda-todo-lo-que-siempre-quisiste-saber-y-no-te-atreviste-a-preguntar-sobre-cdigo-fuente/

En defensa de los derechos fundamentales en Internet

Ante la inclusión en el Anteproyecto de Ley de Economía sostenible de modificaciones legislativas que afectan al libre ejercicio de las libertades de expresión, información y el derecho de acceso a la cultura a través de Internet, los periodistas, bloggers, usuarios, profesionales y creadores de internet manifestamos nuestra firme oposición al proyecto, y declaramos que:

  1. Los derechos de autor no pueden situarse por encima de los derechos fundamentales de los ciudadanos, como el derecho a la privacidad, a la seguridad, a la presunción de inocencia, a la tutela judicial efectiva y a la libertad de expresión.
  2. La suspensión de derechos fundamentales es y debe seguir siendo competencia exclusiva del poder judicial. Ni un cierre sin sentencia. Este anteproyecto, en contra de lo establecido en el artículo 20.5 de la Constitución, pone en manos de un órgano no judicial -un organismo dependiente del ministerio de Cultura-, la potestad de impedir a los ciudadanos españoles el acceso a cualquier página web.
  3. La nueva legislación creará inseguridad jurídica en todo el sector tecnológico español, perjudicando uno de los pocos campos de desarrollo y futuro de nuestra economía, entorpeciendo la creación de empresas, introduciendo trabas a la libre competencia y ralentizando su proyección internacional.
  4. La nueva legislación propuesta amenaza a los nuevos creadores y entorpece la creación cultural. Con Internet y los sucesivos avances tecnológicos se ha democratizado extraordinariamente la creación y emisión de contenidos de todo tipo, que ya no provienen prevalentemente de las industrias culturales tradicionales, sino de multitud de fuentes diferentes.
  5. Los autores, como todos los trabajadores, tienen derecho a vivir de su trabajo con nuevas ideas creativas, modelos de negocio y actividades asociadas a sus creaciones. Intentar sostener con cambios legislativos a una industria obsoleta que no sabe adaptarse a este nuevo entorno no es ni justo ni realista. Si su modelo de negocio se basaba en el control de las copias de las obras y en Internet no es posible sin vulnerar derechos fundamentales, deberían buscar otro modelo.
  6. Consideramos que las industrias culturales necesitan para sobrevivir alternativas modernas, eficaces, creíbles y asequibles y que se adecuen a los nuevos usos sociales, en lugar de limitaciones tan desproporcionadas como ineficaces para el fin que dicen perseguir.
  7. Internet debe funcionar de forma libre y sin interferencias políticas auspiciadas por sectores que pretenden perpetuar obsoletos modelos de negocio e imposibilitar que el saber humano siga siendo libre.
  8. Exigimos que el Gobierno garantice por ley la neutralidad de la Red, en España ante cualquier presión que pueda producirse, como marco para el desarrollo de una economía sostenible y realista de cara al futuro.
  9. Proponemos una verdadera reforma del derecho de propiedad intelectual orientada a su fin: devolver a la sociedad el conocimiento, promover el dominio público y limitar los abusos de las entidades gestoras.
  10. En democracia las leyes y sus modificaciones deben aprobarse tras el oportuno debate público y habiendo consultado previamente a todas las partes implicadas. No es de recibo que se realicen cambios legislativos que afectan a derechos fundamentales en una ley no orgánica y que versa sobre otra materia.

Este manifiesto, elaborado de forma conjunta por varios autores, es de todos y de ninguno. Se ha publicado en multitud de sitios web. Si estás de acuerdo y quieres sumarte a él, difúndelo por Internet.

Convertir números en texto

Esta función, convierte un número en su correspondiente trascripción a letras. Funciona bien con números enteros y con hasta 2 decimales, pero más de 2 decimales se pierde y no «sabe» lo que dice.

Debes introducir este código en un módulo (por ejemplo) y realizar la llamada con el número que deseas convertir. Por Ejemplo: Label1 = Numlet(CCur(Text1))

Option Explicit
Dim Unidades$(9), Decenas$(9), Oncenas$(9)
Dim Veintes$(9), Centenas$(9)

Function Numlet$(NUM#)
    Dim DEC$, MILM$, MILL$, MILE$, UNID$
    ReDim SALI$(11)
    Dim var$, I%, AUX$
    'NUM# = Round(NUM#, 2)
    var$ = Trim$(Str$(NUM#))
    If InStr(var$, ".") = 0 Then
            var$ = var$ + ".00"
    End If
    If InStr(var$, ".") = Len(var$) - 1 Then
            var$ = var$ + "0"
    End If
    var$ = String$(15 - Len(LTrim$(var$)), "0") + LTrim$(var$)
    DEC$ = Mid$(var$, 14, 2)
    MILM$ = Mid$(var$, 1, 3)
    MILL$ = Mid$(var$, 4, 3)
    MILE$ = Mid$(var$, 7, 3)
    UNID$ = Mid$(var$, 10, 3)
    For I% = 1 To 11: SALI$(I%) = " ": Next I%
    I% = 0
    Unidades$(1) = "UNA    "
    Unidades$(2) = "DOS    "
    Unidades$(3) = "TRES   "
    Unidades$(4) = "CUATRO "
    Unidades$(5) = "CINCO  "
    Unidades$(6) = "SEIS   "
    Unidades$(7) = "SIETE  "
    Unidades$(8) = "OCHO   "
    Unidades$(9) = "NUEVE  "
    
    Decenas$(1) = "DIEZ      "
    Decenas$(2) = "VEINTE    "
    Decenas$(3) = "TREINTA "
    Decenas$(4) = "CUARENTA "
    Decenas$(5) = "CINCUENTA "
    Decenas$(6) = "SESENTA "
    Decenas$(7) = "SETENTA "
    Decenas$(8) = "OCHENTA "
    Decenas$(9) = "NOVENTA "
    
    Oncenas$(1) = "ONCE       "
    Oncenas$(2) = "DOCE       "
    Oncenas$(3) = "TRECE      "
    Oncenas$(4) = "CATORCE    "
    Oncenas$(5) = "QUINCE     "
    Oncenas$(6) = "DIECISEIS  "
    Oncenas$(7) = "DIECISIETE "
    Oncenas$(8) = "DIECIOCHO  "
    Oncenas$(9) = "DIECINUEVE "
    
    Veintes$(1) = "VEINTIUNA    "
    Veintes$(2) = "VEINTIDOS    "
    Veintes$(3) = "VEINTITRES   "
    Veintes$(4) = "VEINTICUATRO "
    Veintes$(5) = "VEINTICINCO  "
    Veintes$(6) = "VEINTISEIS   "
    Veintes$(7) = "VEINTISIETE  "
    Veintes$(8) = "VEINTIOCHO   "
    Veintes$(9) = "VEINTINUEVE  "
    
    Centenas$(1) = "       CIENTO "
    Centenas$(2) = "   DOSCIENTOS "
    Centenas$(3) = "  TRESCIENTOS "
    Centenas$(4) = "CUATROCIENTOS "
    Centenas$(5) = "   QUINIENTOS "
    Centenas$(6) = "  SEISCIENTOS "
    Centenas$(7) = "  SETECIENTOS "
    Centenas$(8) = "  OCHOCIENTOS "
    Centenas$(9) = "  NOVECIENTOS "
    
    If NUM# > 999999999999.99 Then Numlet$ = " ": Exit Function
    If Val(MILM$) >= 1 Then
            SALI$(2) = " MIL ": '** MILES DE MILLONES
            SALI$(4) = " MILLONES "
            If Val(MILM$)  1 Then
                    Unidades$(1) = "UN     "
                    Veintes$(1) = "VEINTIUN     "
                    SALI$(1) = Descifrar$(Val(MILM$))
            End If
    End If
    If Val(MILL$) >= 1 Then
            If Val(MILL$) < 2 Then
                    SALI$(3) = "UN ": '*** UN MILLON
                    If Trim$(SALI$(4))  "MILLONES" Then
                            SALI$(4) = " MILLON "
                    End If
            Else
                    SALI$(4) = " MILLONES ": '*** VARIOS MILLONES
                    Unidades$(1) = "UN     "
                    Veintes$(1) = "VEINTIUN     "
                    SALI$(3) = Descifrar$(Val(MILL$))
            End If
    End If
    For I% = 2 To 9
            Centenas$(I%) = Mid$(Centenas(I%), 1, 11) + "AS"
    Next I%
    If Val(MILE$) > 0 Then
            SALI$(6) = " MIL ": '*** MILES
            If Val(MILE$)  1 Then
                    SALI$(5) = Descifrar$(Val(MILE$))
            End If
    End If
    Unidades$(1) = "UNA    "
    Veintes$(1) = "VEINTIUNA"
    If Val(UNID$) >= 1 Then
            SALI$(7) = Descifrar$(Val(UNID$)):  '*** CIENTOS
            If Val(DEC$) >= 10 Then
                SALI$(8) = " CON ": '*** DECIMALES
                SALI$(10) = Descifrar$(Val(DEC$))
            End If
    End If
    If Val(MILM$) = 0 And Val(MILL$) = 0 And Val(MILE$) = 0 And Val(UNID$) = 0 Then SALI$(7) = " CERO "
    AUX$ = ""
    For I% = 1 To 11
            AUX$ = AUX$ + SALI$(I%)
    Next I%
    Numlet$ = Trim$(AUX$)
End Function

Function Descifrar$(numero%)
    Static SAL$(4)
    Dim I%, CT As Double, DC As Double, DU As Double, UD  As Double
    Dim VARIABLE$
    
    For I% = 1 To 4: SAL$(I%) = " ": Next I%
    VARIABLE$ = String$(3 - Len(Trim$(Str$(numero%))), "0") + Trim$(Str$(numero%))
    CT = Val(Mid$(VARIABLE$, 1, 1)): '*** CENTENA
    DC = Val(Mid$(VARIABLE$, 2, 1)): '*** DECENA
    DU = Val(Mid$(VARIABLE$, 2, 2)): '*** DECENA + UNIDAD
    UD = Val(Mid$(VARIABLE$, 3, 1)): '*** UNIDAD
    If numero% = 100 Then
            SAL$(1) = "CIEN "
    Else
            If CT  0 Then SAL$(1) = Centenas$(CT)
            If DC  0 Then
                    If DU  10 And DU  20 Then
                        If DC = 1 Then 
                SAL$(2) = Oncenas$(UD)
                Descifrar$ = Trim$(SAL$(1) + " " + SAL$(2))
                Exit Function
            End If
                        If DC = 2 Then 
                SAL$(2) = Veintes$(UD)
                Descifrar$ = Trim$(SAL$(1) + " " + SAL$(2))
                Exit Function
            End If
                    End If
                    SAL$(2) = " " + Decenas$(DC)
                    If UD  0 Then SAL$(3) = "Y "
            End If
            If UD  0 Then SAL$(4) = Unidades$(UD)
    End If
    Descifrar = Trim$(SAL$(1) + SAL$(2) + SAL$(3) + SAL$(4))
End Function

Acabo de encontrar, perdido, en mi HD, esta rutina, no sé de quien es, siento no poder identificar al autor.