Buscar en el Blog

viernes, 30 de diciembre de 2011

Crear portable con 7z


Crear un portable con 7z
En este tutorial vamos a ver empaquetar una aplicación, para que se comporte como portable.
Para que un programa sea portable, es necesario tener todos los archivos que la aplicación necesita, en la misma carpeta que el ejecutable. Por ejemplo:
PDF PASSWORD REMOVER



Ahora, para saber si están todos los archivos necesarios para que funcione nuestra aplicación, podemos usar una máquina virtual (es lo que yo uso y es la más seguro de probar si realmente funciona la aplicación), o usar cualquier programa para verificar las dependencias del programa que vamos a empaquetar (luego tendrá que probarlo en otra pc, es por eso que recomiendo la máquina virtual).
Cuando ya tenemos los archivos de nuestra aplicación, vamos a necesitar lo siguiente:
·         7z            http://www.7-zip.org/
·         Módulo 7zsfx   http://www.7zsfx.info/en/          www.7zsfx.info/en/files/715/7zSD.7z
·         Resource hacker (opcional) para modificar el icono del archivo creado. http://www.angusj.com/resourcehacker/

Procedimiento:
1.       Instalamos 7z
2.       Seleccionamos todos los archivos de nuestro programa (pdf remover) y le damos clic derecho.




3.       Seleccionamos añadir al archivo

4.       Nos aparecerá la siguiente pantalla

5 .  En tipo de compresión seleccionamos LZMA.


6.       Le damos clic en aceptar



7. Ya Tenemos nuestro archivo comprimido, ahora lo copiamos en el Disco C\:  , junto con el archivo 7zsd.sfx

8.       Creamos un archivo de texto llamado config.txt y lo grabamos en el mismo directorio que nuestro archivo comprimido C:\.

9.       El contenido del archivo de texto tendrá el siguiente:

;!@Install@!UTF-8!
InstallPath="%TEMP%\pdf"
GUIFlags="32"
ExtractTitle="PDF"
ExtractDialogText="Cargando..."
ExecuteFile="%TEMP%\pdf\winDecrypt.exe"
;!@InstallEnd@!

Nota: Grabarlo con formato UFT8

InstallPath=: Ruta donde se descomprime el contenido del auto-extraíble. Utilizamos la variable del sistema %TEMP% (directorio temporal del sistema operativo windows). GUIFlags=: Opciones especiales. 32 muestra el icono en la ventana, 8 usa estilos de XP, 4 muestra el porcentaje numérico debajo de la barra de progreso, etc...
ExtractTitle=: Sirve para especificar el título de la ventana de extracción.
ExtractDialogText=: Muestra un texto en la ventana de extracción.
ExecuteFile=: Fichero a ejecutar una vez termina la extracción de datos.

Podemos encontrar más información en el siguiente enlace.
http://www.7zsfx.info/en/

10.   Ya tenemos lo necesario para crear nuestro portable, verificamos si nuestros tres archivos están en el mismo directorio.
  •  El archivo comprimido, en mi caso lo puse PDF
  • El archivo config.txt
  •  El archivo 7zsd.sfx

11.   Ahora nos vamos al botón inicio/ejecutar y ponemos cmd para abrir la ventana de consola(símbolo del sistema)



Nos ubicamos en el directorio donde tenemos nuestros archivos C:\

13.   Ahora digitamos lo siguiente copy /b 7zsd.sfx + config.txt + pdf.7z   portable.exe


Donde pdf.7z es el archivo que habíamos comprimido, portable.exe es el archivo a crear (pueden colocar cualquier nombre).

14.   Clic en enter y se creara el archivo pdf.exe

      Nos dirigimos hacia la ubicación donde habíamos copiado nuestros archivos

Confirmamos que el archivo ha sido creado con éxito.
16.   Siguiente paso Probarlo!!!, usare una máquina virtual, copiare el archivo creado en mi maquina virtual, donde tengo instalado el Windows 2003 server.


17.   Ejecutamos la aplicación



Y la aplicación funciona!! Sin necesidad de instalar nada.

  

PDF Password Remover Portable

Descripcion del Programa:
Aquellos usuarios que trabajan habitualmente con ficheros PDF más de una vez se encuentran con impedimentos que no le permiten editar o ni tan siquiera imprimir un documento PDF por estar demasiado restringido.

PDF Password Remover te permite desencriptar ficheros PDF que se encuentren protegidos por contraseñas (tanto passwords de usuario como de autor o propietario). Dichas contraseñas evitan que el contenido del fichero pueda ser seleccionado para ser copiado, editado o imprimido.

Además, PDF Password Remover permite trabajar en lotes lo cual agiliza tu trabajo considerablemente si son muchos los ficheros PDF que quieres desencriptar.




lunes, 19 de diciembre de 2011

Google App Inventor desaparece y se libera

El equipo de soporte de App Inventor, informa que este proyecto no ha cuajado demasiado o las expectativas de Google no han sido las esperadas. Y es que el 31 de diciembre de 2011 los datos que tengamos en appinventorbeta.com dejarán de ser accesibles y se borrarán de los servidores de Google.
Para poder tener una copia de nuestros proyectos, simplemente haciendo click en Download All Projects desde nuestra página de proyectos, descargaremos un archivo comprimido con todos nuestros proyectos. Desde el equipo de Google recomiendan hacer esto cuanto antes, recordad que quedan apenas dos meses para el cierre definitivo.

Bien, no todo iba a ser negativo en esta entrada, y es que al finalizar este soporte, van a liberar el fuente de App Inventor con licencia MIT o similar, con lo que las posibilidades que son nos abren son innumerables, y las mejoras por la comunidad no tardarán en aparecer.

Fuente: http://www.linuxhispano.net/

Tesis: Patrones de Diseño de Arquitecturas de Software Enterprise

 Patrones de Diseño de Arquitecturas de Software Enterprise

Tesis: Patrones de Diseño de software utilizando la plataforma NET

Patrones de Diseño de software utilizando plataforma NET
2007

Manual autoinstructivo SIAF -2009

INTRODUCCIÓN
En 1997 el Ministerio de Economía y Finanzas-MEF inició el desarrollo del proyecto "Sistema Integrado de Administración Financiera del Sector Público- SIAF-SP", como un sistema asociado a la ejecución del presupuesto anual, con el objetivo de mejorar la gestión de las finanzas públicas, mediante el registro único de las operaciones de ingresos y gastos de las unidades ejecutoras del Sector Público y permitir la integración de los procesos presupuestarios, contables y de tesorería. El módulo SIAF-SP permite que los datos de ejecución sean ingresados adecuadamente por cada unidad ejecutora, transmitidos y registrados en el MEF.

En la medida en que los procesos de este tipo no ingresen en la profundidad de la trama del funcionamiento de las organizaciones públicas, cambiando sustantivamente los procesos de  asignación y uso de los recursos públicos, privilegiando los conceptos de eficiencia, eficacia y economía; en que no se modifique la gestión tradicional de administración de insumos; y cuando  se considera que todo se soluciona con una moderna aplicación informática, se estará  efectivamente ante una nueva moda.

La concepción amplia de administración financiera implica definirla como un conjunto de elementos administrativos de las organizaciones públicas que hacen posible la captación de recursos y su aplicación a la concreción de los objetivos y las metas del sector público en la forma más eficaz y eficiente posible. El Sistema Integrado de Administración Financiera en Perú, es una realidad hoy en día. No obstante es necesario ponderar su potencial por cuanto “los mejores sistemas de información no garantizan mejores decisiones de política económica y financiera pero hace menos probables los errores de apreciación y pueden ayudar a las autoridades políticas a llegar a decisiones apropiada. 
 

Guia del derecho de software y fuentes abiertas pdf

 Guia del derecho de software y fuentes abiertas

CAPÍTULO 1: INTRODUCCIÓN 6
  • 1.1. OBJETIVOS DE LA GUÍA 6
  • 1.2. EL SOFTWARE DE FUENTES ABIERTAS 7
  • 1.2.1. Las libertades del software 7
  • 1.2.2. El software de fuentes abiertas 8
  • 1.2.3. El copyleft 10
  • 1.3. LOS EFECTOS DEL SFA Y EL CONCEPTO DE “COMUNIDAD” 11
  • 1.4. ORGANIZACIÓN DE LA GUÍA Y GLOSARIO 12
CAPÍTULO 2: LAS LICENCIAS DE SOFTWARE DE FUENTES ABIERTAS 15
  • 2.1. INTRODUCCIÓN: LA LICENCIA DE SOFTWARE 17
  • 2.1.1. Licencias no libres o privativas 18
  • 2.1.2. Licencias de SFA 19
  • 2.2. TIPOS DE LICENCIA 20
  • 2.2.1. Licencias permisivas o académicas 21
  • 2.2.2. Licencias con copyleft fuerte 22
  • 2.2.3. Licencias mixtas o con copyleft suave 23
  • 2.3. SEIS LICENCIAS DE SOFTWARE DE FUENTES ABIERTAS 25
  • 2.3.1. La licencia Berkeley Software Distribution (BSD modificada) 25
  • 2.3.2. La Apache Software License 2.0 (ASL) 26
  • 2.3.3. La GNU General Public License (GPL) 27
  • 2.3.4. La Lesser GPL (LGPL) 31
  • 2.3.5. La Mozilla Public License (MPL) 32
  • 2.3.6. La European Union Public License (EUPL) 33
  • 2.4. COMENTARIOS FINALES 34
CAPÍTULO 3: LAS LICENCIAS DE SFA EN LA PRÁCTICA 35
  • 3.1. INTRODUCCIÓN 37
  • 3.2. TRABAJAR CON LICENCIAS DE SFA 37
  • 3.2.1. La compatibilidad entre licencias de SFA 37
  • 3.2.2. La selección de una licencia 40
  • 3.2.3. Régimen de licencia dual 43
  • 3.3. VALIDEZ DE LAS LICENCIAS DE SFA Y OTRAS CUESTIONES JURÍDICAS 45
  • 3.3.1. La cesión de derechos bajo licencia de SFA ¿es una renuncia? 45
  • 3.3.2. ¿Las licencias SFA crean obligaciones vinculantes, a modo de contrato? 45
  • 3.3.3. ¿Las condiciones establecidas por las licencias de SFA son válidas? 47
  • 3.3.4. ¿Cómo hacer cumplir las obligaciones de la licencia? 48
  • 3.3.5. ¿Hasta qué punto un proveedor de SFA debe dar garantías y asumir responsabilidades
  • ante los usuarios? 49
CAPÍTULO 4: EL USUARIO DE SOFTWARE DE FUENTES ABIERTAS 51
  • 4.1. EL USO DE SFA POR PARTE DE LAS ORGANIZACIONES E INDIVIDUOS 53
  • 4.2. ASPECTOS COMUNES 53
  • 4.2.1. Las libertades de uso 53
  • 4.2.3. La independencia frente al proveedor 55
  • 4.2.4. Patentes de software 55
  • 4.3. ASPECTOS PARTICULARES 56
  • 4.3.1. Individuos y SFA 56
  • 4.3.2. Empresas y organizaciones 57
  • 4.3.3. El sector público 63
  • 4.4. DOS TEMAS FUNDAMENTALES: EL COPYLEFT Y LAS GARANTÍAS SOBRE SFA 66
  • 4.4.1. El copyleft 66
  • 4.4.2. Garantías sobre SFA 68
CAPÍTULO 5: PROYECTOS DE CREACIÓN FOSS 69
  • 5.1. PROYECTOS DE SOFTWARE DE FUENTES ABIERTAS 71
  • 5.2. CASO 1: EL PROYECTO BÁSICO 72
  • 5.2.1. El desarrollo 73
  • 5.2.2. La liberación 76
  • 5.3. CASO 2: UN PROYECTO QUE USA COMPONENTES DE SFA 77
  • 5.3.1. El uso de SFA de terceros 79
  • 5.3.2. La redistribución de componentes de SFA 82
  • 5.4. CASO 3: UN PROYECTO MADURO CON CONTRIBUCIONES 84
  • 5.5. LA LIBERACIÓN DEL SOFTWARE: UN CHECKLIST 86
  • 5.6. EJEMPLOS DE PROYECTOS SFA 88
  • 5.7. COMENTARIOS FINALES 93
CAPÍTULO 6: INTEGRAR SFA 94
  • 6.1. LA COMERCIALIZACIÓN DE SOFTWARE Y SERVICIOS BASADOS EN SFA 96
  • 6.2. PRINCIPALES ASPECTOS JURÍDICOS 97
  • 6.2.1. Beneficios fundamentales 98
  • 6.2.2. Interrogantes 99
  • 6.2.3. El uso de componentes de software libre y de fuentes abiertas 100
  • 6.2.4. Licencias de distribución 102
  • 6.2.5. Garantías y responsabilidades 103
  • 6.2.6. El contrato basado en SFA 104
  • 6.3. EL USO DE SOFTWARE BAJO LA GPL: UN CHECKLIST 106
  • 6.4. CASOS DE ESTUDIO 107
CAPÍTULO 7: LOS DERECHOS DE AUTOR 111
  • 7.1. LAS FORMAS DE PROTECCIÓN JURÍDICA DEL SOFTWARE 113
  • 7.2. LA PROTECCIÓN POR DERECHOS DE AUTOR 113
  • 7.3. EL OBJETO DE PROTECCIÓN Y SUS TITULARES 114
  • 7.3.1. El software como obra sujeta de protección 115
  • 7.3.2. Los autores y titulares del software 117
  • 7.3.3.Tipos de obras 119
  • 7.4. LOS DERECHOS DE LOS TITULARES, SUS LÍMITES Y CESIONES 120
  • 7.4.1. Los derechos de autor del software 120
  • 7.4.2. Limites a los derechos de autor 122
  • 7.4.3. La cesión de derechos de autor: la licencia de software 123
  • 7.5. LAS MEDIDAS DE PROTECCIÓN JURÍDICA 124
  • 7.6. LOS DERECHOS DE AUTOR Y EL SFA 124


CAPÍTULO 8: OTRAS NORMAS APLICABLES 126
  • 8.1. EL DERECHO DE LA PROPIEDAD INDUSTRIAL 128
  • 8.2. EL DERECHO DE LAS PATENTES 128
  • 8.2.1. La patente 129
  • 8.2.2. Invenciones patentables y obtención de patentes 129
  • 8.2.3. Las patentes de software 131
  • 8.2.4. Los riesgos de la patente de software 133
  • 8.3. EL DERECHO DE LAS MARCAS 134
  • 8.3.1. La obtención de marcas 135
  • 8.3.2. Derechos y obligaciones de una marca y su cesión 136
  • 8.3.3. Marcas y software de fuentes abiertas 137
  • 8.4. EL DERECHO DE LOS SECRETOS INDUSTRIALES 138
  • 8.4.1. Protección jurídica del secreto 138
  • 8.4.2. Secretos industriales y software de fuentes abiertas

Tesis: Seguridad en Informatica - Auditoria de Sistemas

Tesis: Seguridad en Informatica - Auditoria de Sistemas
maestro en ingenieria de sistemas empresariales
2005

pass: http://infotutoriales.blogspot.com/

Tesis: sistema de administracion de informacion basado en Intranet

Tesis: Analisis, diseño e implementacion de un sistema de administracion de informacion basado en  Intranet
Ingeniero en computacion -2004

miércoles, 7 de diciembre de 2011

Validar RUC - SUNAT PERU en VB.net

Basado en el ejemplo de JhofranSoft 
 Algoritmo de Validación del RUC


Lo que modifique del codigo original es que puse todo lo concerniente a la validacion del ruc en una clase, de esa manera solo agregan la clase a su proyecto  y llaman a la funcion de validar el ruc y listo!


La clase
  1. Public Class ValidarRuc
  2. Public Shared Function validarRuc(ByVal ruc As String) As Boolean
  3. If VAL_RUC(ruc) = False Then
  4. Return False
  5. End If
  6. Return True
  7. End Function
  8. 'Ejm:
  9. 'RUC = 10254824220
  10. 'FACTOR = 5432765432
  11. 'Se separa los 10 primeros digitos de la izquierda y se hace un calculo inividual
  12. '1 * 5 =5
  13. '0 * 4 = 0
  14. '2 * 3 = 6
  15. '5 * 2 = 10
  16. '4 * 7 = 28
  17. '8 * 6 = 48
  18. '2 * 5 = 10
  19. '4 * 4 = 16
  20. '2 * 3 = 6
  21. '2 * 2 = 4
  22. 'Se suma el resultado de todas las multiplicaciones
  23. 'SUMA = 133
  24. 'Se calcula el residuo de la division por 11
  25. '133/ 11 = 1
  26. 'RESIDUO = 1
  27. 'Se resta 11 menos el residuo
  28. '11 - 1
  29. 'RESTA = 10
  30. 'digito de chequeo = RESTA
  31. 'si resta = 10 entonces digito de cheque = 0
  32. 'si resta = 11 entonces digito de cheque = 1
  33. 'RUC 10254824220 es valido por que su digito numero 11 es 0 y el digito de chekeo es 0.
  34. Private Shared Function LeftC(ByVal str As String, ByVal Length As Integer) As String
  35. Dim LenT As Integer = str.Length
  36. If LenT <= Length Then
  37. Return str
  38. Else
  39. Return str.Substring(0, Length)
  40. End If
  41. End Function
  42. Private Shared Function RightC(ByVal str As String, ByVal Length As Integer) As String
  43. Dim LenT As Integer = str.Length
  44. If LenT <= Length Then
  45. Return str
  46. Else
  47. Return str.Substring(LenT - Length)
  48. End If
  49. End Function
  50. Private Shared Function VAL_RUC(ByVal ruc As String) As Boolean
  51. Dim FACTOR() As Integer = {5, 4, 3, 2, 7, 6, 5, 4, 3, 2}
  52. Dim suma As Integer = 0
  53. 'ERROR SI NO ES NUMERO
  54. If Not IsNumeric(ruc) Then
  55. Return False
  56. End If
  57. 'ERROR SI NO CUMPLE LOS 11 DIGITOS
  58. If ruc.Length <> 11 Then
  59. Return False
  60. End If
  61. 'ERROR SI NO TIENE LOS 2 PRIMEROS DIGITOS
  62. '10 persona natural.
  63. '20 persona juridica.
  64. '17 o 15 extranjeros
  65. Dim VAL_DIGIT() As String = {"20", "17", "15", "10"}
  66. Dim DIGIT As String = LeftC(ruc, 2)
  67. Array.Sort(VAL_DIGIT)
  68. If Array.BinarySearch((VAL_DIGIT), DIGIT) < 0 Then
  69. Return False
  70. End If
  71. For I = 0 To ruc.Length - 2
  72. suma += Integer.Parse(ruc.Substring(I, 1)) * FACTOR(I)
  73. Next
  74. Dim residuo As Integer = suma Mod 11
  75. Dim resta As Integer = 11 - residuo
  76. Dim digChk As Integer
  77. If resta = 10 Then
  78. digChk = 0
  79. ElseIf resta = 11 Then
  80. digChk = 1
  81. Else
  82. digChk = resta
  83. End If
  84. If digChk = RightC(ruc, 1) Then
  85. Return True
  86. Else
  87. Return False
  88. End If
  89. End Function
  90. End Class

Luego solo llamamos a la funcion para validar

  1. If ValidarRuc.validarRuc(txtruc.Text) = True Then
  2. MessageBox.Show("Valido", "Exito", MessageBoxButtons.OK, MessageBoxIcon.Information)
  3. Else
  4. MessageBox.Show("Invalido", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
  5. End If





Generar codigo de barras en vb.net

Codigo basado en
http://www.elguille.info/colabora/NET2006/Marckys_BarCode.htm




Para esta aplicacion necesitaremos:
1 label llamado lblcodigo
1 textbox llamado txtcodigo
1 boton


codigo fuente completo


  1. Imports System.Drawing.Text
  2. Partial Public Class MainForm
  3. Dim fuente As Font
  4. Public Sub New()
  5. ' The Me.InitializeComponent call is required for Windows Forms designer support.
  6. Me.InitializeComponent()
  7. ' TODO : Add constructor code after InitializeComponents
  8. Sub MainFormLoad(ByVal sender As Object, ByVal e As EventArgs)
  9. End Sub
  10. Public Sub cargarfuente()
  11. Dim pfc As PrivateFontCollection = New PrivateFontCollection()
  12. Dim fontFamily As FontFamily
  13. 'Obtenemos la fuente que se encuentra en el directorio de la aplicacion
  14. 'y la cargamos
  15. pfc.AddFontFile(my.Application.Info.DirectoryPath & "\BARCODE.TTF")
  16. fontFamily = pfc.Families(0)
  17. fuente = New Font(fontFamily, 50)
  18. End Sub
  19. Public Function FormatoCodigoBarras(ByVal code As String) As String
  20. Dim barcode As String = String.Empty
  21. barcode = String.Format("{0}", code)
  22. Return barcode
  23. End Function
  24. Sub Button1Click(ByVal sender As Object, ByVal e As EventArgs)
  25. cargarfuente()
  26. lblCodigo.Font = fuente
  27. lblCodigo.Text = FormatoCodigoBarras(txtCodigo.Text)
  28. End Sub
  29. End Class
  30.  



    martes, 6 de diciembre de 2011

    Sqlite Manager Firefox

    Para los usuarios y Firefox y que desean usar SQLITE tienen la siguiente alternativa:

    El complemento Sqlite Manager, el cual pueden instalarlo de la siguiente direccion.

    https://addons.mozilla.org/en-US/firefox/addon/sqlite-manager/





    VB.NET Recorrer menus

    Saludos a todos ustedes estimados lectores, en esta ocacion quiero compartir este fragmento de codigo que encontre en internet, con el cual podemos recorrer los menus de una ventana y de esa manera poder manipular sus propiedades.
    ¿Para que puede ser util esto?, bueno puede ser util para dar los respectivos privilegios o restricciones a un usuario.



    El codigo en si es el que sigue


     Public Sub RecorrerNivelesAltos(byval opcion as Boolean)
            For Each M As ToolStripMenuItem In me.menuStrip1.Items

                m.Enabled=opcion
                Me.RecorrerSubMenuNivelesAltos(M,opcion)
            Next
        End Sub

        Public Sub RecorrerSubMenuNivelesAltos(ByVal M As ToolStripMenuItem,byval opcion as Boolean)
            For Each SubMenu As ToolStripMenuItem In M.DropDownItems
              
               submenu.Enabled=opcion
                Me.RecorrerSubMenuNivelesAltos(SubMenu,opcion)
            Next
        End Sub

    En el procedimiento RecorrerSubMenuNivelesAltos, hacemos uso de la recursividad.

    lunes, 5 de diciembre de 2011

    Encriptar un password con SQL Server

    Saludos a todos los seguidores de este blog!.
    Muchas veces necesitamos encriptar es password de nuestra aplicacione en la base de datos, es decir que el campo donde almacenamos el password(contraseña) no este como simple texto, si no que este valor no sea legible.

    Para eso podemos usar lo siguiente:
    Pwdencryp() y Pwdcompare() 
    Estas son dos funciones de sql server, la primera sirve para encriptar y la segunda sirve para comparar el password con la cadena encriptada.

    Por ejemplo si colocamos lo siguiente en el analizador de consultas:

    select pwdencrypt('lexblas')

    nos arrojara el siguiente valor

    0x0100D101C65D0C4F2A6714337E7E9E7CCD88C9583C9428B2E9A2

    El valor anterior es nuestro password encriptado.

    Ahora para comparar nuestro password ingresado con el que tenemos en la base de datos, hacemos lo siguiente:

    select pwdcompare ('lexblas',0x0100D101C65D0C4F2A6714337E7E9E7CCD88C9583C9428B2E9A2)

    donde: El primer argumento es el password en texto, el cual estamos ingresando en nuestra ventana de inicio de sesion y el segundo parametro es el password encriptado.


    El campo donde se almacenara el password debe ser del tipo varbinary.
    Por ejemplo:


    create table passwords
    (
    usuario varchar(15),
    password varbinary(255)
    )



    Para validar el usuario, pueden crear un procedimiento almacenado que haga el trabajo.
    Tambien hay otra alternativa.






    create proceduresp_verificarUsuario @usuario varchar(15),@pass varchar(15),@r int output
    as
    if exists (select * from usuario where usuario=@usuario and 1 = pwdcompare(@pass,password))
    set @r=1

    else
    set @r=0
    Si el password concuerda con el que esta en la base de datos devolvera el valor de 1, de caso contrario cero.


    SQL 2005 nos da otra posibilidad de realizar una encriptación de datos para campos de la base de datos. Tiene una función para ello: HashBytes.

    A esta función, simplemente se le pasan como parámetros el algoritmo de encriptación (que pueden ser MD2, MD4, MD5, SHA, SHA1) y la cadena (o variable) a encriptar, devolviendo el valor encriptado para el algoritmo usado.

    Un ejemplo:

    DECLARE @myCrypVar varchar(max);
    SELECT @myCrypVar = CONVERT(varchar,'cadena a encriptar');
    SELECT HashBytes('SHA1', @myCrypVar);
     
    Resultado: 0x548C29B27BC6750A11E0D97E9ED16D4B32DBE7FF

    Esto tambien se puede implementar como el ejemplo anterior.

    jueves, 1 de diciembre de 2011

    PowerBuilder: Aplicacion para Registrar Clientes -> Exe + Codigo Fuente


    Aplicacion desarrollada en PowerBuilder 11.5 con bd en Acces, usando datawindows.
    Util para aquellos que deseen ver como desarrollar ventanas de mantenimiento en powerbuilder con datawindows.

    exe con las librerias necesarias para correr la aplicacion(no necesita instalar el powerbuilder)
    codigo fuente 


    Clases online a buen precio!!
    pass del archivo rar:  http://infotutoriales.blogspot.com/

    jueves, 24 de noviembre de 2011

    Funcionamiento de las VPNs (Redes Privadas Virtuales)

    Saludos a todos! en esta ocasion quiero compartir un video que encontre en youtube, es video explica de forma sencilla el funcionamiento de las Redes Privadas Virtuales.





    software crm SugarCRM Open Source

    SugarCRM es una herramienta CRM libre alternativa a los sistemas de gestión comercial tradicionales como SALESFORCE, MICROSOFT CRM,etc.

    En el siguien enlace encontrara una curso(manual) sobre las caracteristicas de Sugar y su uso click aqui


    Software CRM para descargar

    Aqui pueden ver una lista de algunos Software CRM gratis:

    B-kin
    Gran desarrollador de software de habla hispana. Si bien la version gratis tiene algunas limitaciones, lo equipara con la posibilidad de probarlo online. Tambien tiene una version para el mobil.

    Vtiger
    Completisimo programa totalmente gratis basado en LAMP/WAMP. Tiene versiones tanto para Windows como para Linux. En la web se puede encontrar una demo online en donde podemos ver toda su capacidad.

    Compiere
    Organizacion dedicada a desarrollar una arquitectura de codigo abierto que soporte este tipo de administracion, con funciones completisimas y un alto grado de desarrollo.

    HiperGate
    Suite de aplicaciones de código abierto basadas en web. Todas las aplicaciones se acceden desde Internet Explorer sin necesidad de descargar ningún software en el puesto cliente.

    Free Crm
    Aplicacion online en donde podemos tener hasta 10 megas de informacion, con herramientas tales como envio de emails, calendario de contactos, historial de ventas, y muchos mas.

    software crm

    Las siglas CRM encierran un concepto de vital importancia para el buen desarrollo de una empresa, se trata de la gestión de las relaciones con los clientes, Customer Relationship Management en inglés. Y es que al fin y al cabo todo proceso de una empresa debería estar enfocado a la venta de un determinado producto.
    El software de gestión integral permite tener la trazabilidad desde que un potencial cliente se intereso por los productos y/o servicios de su empresa, pasando por visitas comerciales y llamadas de seguimiento, cotizaciones y revisiones (CRM), toma de pedido, facturación (incluyendo facturación electrónica), entrega de productos y/o servicios, pago por parte del cliente, hasta llegar al registro contable de la operación (ERP).
    De esta forma, el concepto CRM define una estrategia de organización enfocada a la satisfacción de las necesidades del cliente, para lo cual se hace énfasis en la comunicación con el cliente y en el análisis y optimización de todos los procesos implicados desde la fabricación del producto hasta su venta por parte del cliente.

    Sobre la Implantacion de un CRM:


    1. Importancia y utilidad de las Bases de Datos de Clientes

    Toda aquella información sobre los clientes actuales y potenciales debe registrarse de manera automática. Aspectos como el nombre, la dirección, el número de cuentas del cliente, las preferencias, los artículos que compra, la fecha de cumpleaños y cualquier otra información puede ser relevante archivarla. Para ello, las empresas cuentan con las bases de datos, que han tenido un gran desarrollo en los últimos años. ..

    2. Desarrollo de la base de datos de clientes para el CRM

    Si bien la creación de base de datos de clientes supone cierta inversión para las empresas, los beneficios derivados de la posesión y gestión eficaz de las mismas merecen dicha inversión. Se ha calculado que la inversión requerida para poner en marcha un base de datos de encuentra entre 1€ y 1,2 € por nombre en bienes de consumo, y entre los 3 € y los 6 € en productos industriales. Las diferencias de coste vienen determinadas por las exigencias de información...

    3. Gestión de las bases de datos de clientes. CRM

    El vendedor debe preocuparse por la gestión de la base de datos que ha creado. De lo contrario, de nada servirán la inversión acarreada por la empresa y los esfuerzos realizados por el vendedor durante su creación.
    Al hablar de la gestión de las bases de datos de clientes, necesariamente hemos de mencionar lo que se conoce como CRM ( Customer Relationships Management) o gestión de la relación con los clientes. Así y de una manera genérica, la CRM se puede entender como el uso de las nuevas tecnologías a la hora de mantener relaciones comerciales con nuestros clientes. En este sentido, la CRM incluye determinadas acciones como, por ejemplo: el almacenamiento de datos e información, sistemas de atención y servicio al cliente, gestión de centros de llamadas o call centres, comercio electronico y marketing a través de internet...

    Para descargar software CRM podemos ir a la siguiente direccionhttp://sourceforge.net/search/?q=crm

    jueves, 21 de julio de 2011

    Sistema de Compras y Almacen en Power Builder Codigo Fuente MediaFire

    Sistema de Compras y Almacen en Power Builde

    Hola a todos nuevamente, esta vez le traigo un sistema de compras y almacen en power builder.
    Este sistema lo desarrolle años atras para un amigo que hiba a presentar su trabajo en clase.
    La version con la que esta desarrollada es la 11.5 y la bd esta en Sql Server 2005.



    pass: http://infotutoriales.blogspot.com/

    Si quieren aprender a programar en POwerBuilder, pueden ver los videos tutoriales que he creado o si quieren atencion personalidad doy cursos via online.


    Sistemas en Visual Basic 6.0 con codigo fuente y base de datos

     Hola a todos, nuevamente les traigo los sistemas en Visual Basic 6.0.
    Esta ves alojados en Mediafire.
    La mayoria de estos sistemas son una recopilacion de cuando era estudiante, por eso la mayoria son hechos por estudiantes del iste Trujillo y modificados en algunos casos por mi, para que no tengan problemas con la conexion de la bd.
    Los sistemas no son 100% funcionales, los coloco en al red para que de alguna manera sean de ayuda para los que recien empiezan a programa en este lenguaje de programacion.
    Todos estos programas lo pueden descargar completamente gratis!!

     Si desean aprender a programar doy clases via online.
    Que lo disfruten

    Sistema de Biblioteca








    Sistema de Farmacia





     Gestor de VideoClub




    Sistema de Inventario

     Necesita tener instalado el Crystal Report





    Sistema de Matriculas



    Generador de Scrip Sql
     Este pequeño programa lo desarrolle años atras, sirve para conectarse a un gestor de base de datos como sql server,  de esa manera seleccionar una base de datos y generar las instrucciones SQL para crear la bd, tablas e insercion, tiene algunos errores que ustedes pueden mejorar.











    Sistema Bancario



    Sistema de Notas




    Sistema de Venta de Suministros

    Descargar Todo



    pass: http://infotutoriales.blogspot.com/

    sábado, 4 de junio de 2011

    Validacion de Formularios con jQuery

    Hola a todos, en esta ocasión veremos como validar un formulario HTML con la librería jQuery y usando un plugin llamado Validate.

    Para esto necesitamos los siguientes archivos:

    1. jQuery: El cual pueden descargarlo desde Aqui
    2. Validate: El plugin de validacion basado en la libreria jQuery, este plugin lo pueden descargar de este enlace.
    3. validacion.js: Este archivo es el que nosotros crearemos.
    Manos a la obra:

    Primero el script o codigo html de la pagina con el formulario que vamos a validar.

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Documento sin título</title>
    <script type="text/javascript" src="js/jquery.js"></script>
    <script type="text/javascript" src="js/jquery.validate.js"></script>
    <script type="text/javascript" src="js/validar.js"></script>
    </head>

    <body>
    <form id="form1" name="form1" method="post" action="www.google.com">
      <p>&nbsp;</p>
      <p>
        <label>nombre
          <input type="text" name="nombre"  />
        </label>
      </p>
      <p>
        <label>email   
          <input name="email" type="text" id="email" />
        </label>
      </p>
      <p>
        <label>contraseña
          <input type="password" name="pass" id="pass" />
        </label>
      </p>
      <p>
        <label>Repetir Contraseña
          <input type="password" name="pass2" id="pass2" />
        </label>
      </p>
      <p>
        <label>
          <input type="submit" name="button" id="button" value="Enviar" />
        </label>
      </p>
      <p>&nbsp;</p>
    </form>
    </body>
    </html>

    Lo que nos interesa es el formulario y los componentes, controles o etiquetas que lo conforman, como por ejemplo:

    id="form1" 
    <input type="text" name="nombre"  />
    <input name="email" type="text" id="email" />
    <input type="password" name="pass" id="pass" />
      <input type="password" name="pass2" id="pass2" />

    Se debe poner atencion a los valores que tienen por "id" y "name", porque son estos valores los que usaremos en la validacion.

    Dentro de las etiquetas "head" del documento html, debemos incluir los archivos que valos a usar, como son:
    <head>

    <script type="text/javascript" src="js/jquery.js"></script>
    <script type="text/javascript" src="js/jquery.validate.js"></script>
    <script type="text/javascript" src="js/validar.js"></script>
    </head>

    Primero se debe incluir la libreria jquery., luego el plugin y despues el archivo que nosotros vamos a crear, el cual es validar.js.


    Los Archivos con extension "js", los he colocado dentro de una carpeta llamada "js", para tener en orden nuestro archivos, es por eso que cuando incluimos los archivos usamos "js/elarchivoaincluior", donde "js" es el directorio o carpeta donde se ubican los script o archivos a incluir.









    Ahora el script validar.js

    $(document).ready(inicio);
    function inicio()
    {
        $("#form1").validate
        (
            {
                rules:
                {
                    nombre: {
                            required: true
                            }
                            ,
                    email:    {
                            email:true
                            }
                            ,
                    pass:    {
                            required:true,
                            minlength:8
                            }
                            ,
                    pass2:    {
                            required:true,
                            equalTo: "#pass"
                            }   

                }
                ,
                messages:
                {
                    nombre: {
                            required: "* Debe Llenar este campo"
                            }
                            ,
                    email:    {
                            email:"Debe ingresar una direccion de correo valido"
                            }
                   
                           
                }             
            }
        );
      
       
       
    }



    El resultado sera el siguiente:









    Explicacion del Script:

    $(document).ready(inicio);
    Con esto le indico que cuando la pagina este lista, ejecuta la funcion inicio.


    Dentro de la funcion inicio se encuenta la validacion del formulario.


    $("#form1").validate({reglas,mensajes})
    En la linea de  $("#form1") indicamos que el formulario que contenga el id form1, sea el que recibira o donde se aplicara la validacion.
    dentro de validate(), recibe las reglas de validacion y los mensajes a mostrar, sino se colocan los mensajes a mostrara apareceran los mensajes por defecto, que estan en ingles.


    rules:
                {
                   Nombrecampo: {
                              instruccion:valor,
                              instruccion2:valor2
                            }
                 }




    En el codigo anterior lo que haces es definir las reglas por cada campo que contenga el formulario, indicando para ellos el nombre del campo y dentro de llaves las instrucciones de la validacion, si son varios campos, estos se separan por una coma.

      rules:
                {
                    nombre: {
                            required: true
                            }
                            ,
                    email:    {
                            email:true
                            }
                            ,
                    pass:    {
                            required:true,
                            minlength:8
                            }
                            ,
                    pass2:    {
                            required:true,
                            equalTo: "#pass"
                            }   

                }





    Para separar el bloque de reglas de validacion y los mensages de validacion, se usa la coma.

        rules:
                {
                   
                  aqui las reglas de validacion     

                }
                , //separadas por una coma
                messages:
                {
                   
                    aqui los mensajes
                          
                }  

    Y finalmente el apartado de los mensages de nuestro script


    messages:
                {
                    nombre: {
                            required: "* Debe Llenar este campo"
                            }
                            ,
                    email:    {
                            email:"Debe ingresar una direccion de correo valido"
                            }
                   
                           
                } 

    Sino se incluye ningun mensaje para un campo validado, entonces se mostrara el mensaje por defecto.

    Explicacion de las instrucciones de validacion:

    required:true Quiere decir requerido, que debe ser ingresado si o si.
    email:true  Quiere decir que debe ser ingresado un email(correo) valido.
    minlength:8 Que el numero de digitos minimos a ser ingresado debe ser 8.
    equalTo: "#pass"  Igual a, quiere decir que este campo tiene que ser igual a otro campo, pasado como parametro el id del campo, en este caso el id del campo es pass.


    Para mas informacion sobre las instrucciones de validate, pueden ingresar a la pagina oficial de jQuery y buscar el apartado del plugin Validation.


    Nos vemos... hasta otra oportunidad.