miércoles, 31 de octubre de 2012

jueves, 30 de agosto de 2012

iconos para nuestras aplicaciones

Hoy encontré http://www.iconfinder.com es una pagina que nos permite rápidamente buscar iconos, es bastante intuitiva y la presentacion del sitio es muy limpia, podemos especificar el tamaño y ademas ofrece busquedas relacionadas.





miércoles, 18 de julio de 2012

Hola mundo en Python

Descargar IronPython desde http://ironpython.codeplex.com/releases/view/81726  o desde
http://ironpython.codeplex.com/downloads/get/423690

Instalar con el conocido next…next…next...

Utilizando tu editor de texto favorito (personalmente prefiero Notepad++ lo puedes bajar desde http://notepad-plus-plus.org/ )

Escribe lo siguiente:

print ("Hello, World!")

Guarda el archivo como hello.py
Agregar al PATH la ruta a la carpeta de instalación, en mi caso era: C:\Program Files\IronPython 2.7






Abrir una ventana de comandos ir a la carpeta donde guardamos el programa y escribir:
ipy hello.py




Y obtenemos nuestro hola mundo.










jueves, 28 de junio de 2012

El fin de DCE y el comienzo de MVA



El mes pasado termino el programa Desarrollador 5 Estrellas de Microsoft, el siguiente enlace es la entrada a Microsoft Virtual Academy, el reemplazante de DCE.

http://www.microsoftvirtualacademy.com/Home.aspx

Yo recién me estoy registrando así que no puedo opinar nada.


Registrense!

martes, 8 de mayo de 2012

Filtrar caracteres en textbox con Ajax Control Toolkit

Debemos agregar el Ajax Control Toolkit, lo podemos bajar desde http://ajaxcontroltoolkit.codeplex.com/

Por ejemplo con el siguiente código permitimos ingresar solo letras (mayusculas y minusculas) y espacios del idioma español:

  <asp:TextBox ID=" txtObservaciones " runat="server"></asp:TextBox>
<cc1:FilteredTextBoxExtender ID=" txtObservaciones _fte" runat="server"
TargetControlID=" txtObservaciones " FilterType="Custom, UppercaseLetters, LowercaseLetters"
FilterMode="ValidChars" ValidChars="ÑñÁÉÍÓÚáéíóú ">
</cc1:FilteredTextBoxExtender>

Con el siguiente código permitimos ingresar solo números:

<asp:TextBox ID="txtID" runat="server" Style="z-index: 109;
left: 528px; position: absolute; top: 80px" Height="23px" Width="136px" TabIndex="6"></asp:TextBox>
<AjaxCT:FilteredTextBoxExtender ID="txtID_fte" runat="server" TargetControlID="txtID"
FilterType="Numbers" FilterMode="ValidChars">
</AjaxCT:FilteredTextBoxExtender>

Puedes encontrar mas informacion en:
http://www.es-asp.net/tutoriales-asp-net/tutorial-5312-5335/filteredtextbox.aspx

y  obviamente en google.

lunes, 7 de mayo de 2012

lanzar un alert después de que la pagina ha cargado completamente.

lanzar un alert después de que la pagina ha cargado completamente.

Para mostrar un mensaje:

Debemos agregar la librería de jquery, la podemos bajar desde http://jquery.com/.

En la pagina aspx:
Agregar la referencia a la libreria:
  <script type="text/javascript" src="../../Scripts/jquery-1.7.2.js"></script>

En el Code Behind:
Dentro del método Page_Load agregamos esta linea para mostrar en el alert el valor de la variable  auxMsg.

ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Mensaje_" + DateTime.Now.ToString(), "$(document).ready(function () {alert('Han ocurrido los siguientes errores: " + auxMsg + "')});", true);


Créditos:

En esta pagina hay un ejemplo de llamada al método document.ready()

http://www.learningjquery.com/2006/09/introducing-document-ready




viernes, 24 de febrero de 2012

No se puede generar una clase temporal (result=1).error CS0029: No se puede convertir implícitamente el tipo 'servicioType' a 'servicioType[]'

Agregué una referencia a un webservice en una solución web de .net, cuando hice el debug obtuve el siguiente error al intentar crear una instancia del webservice:


No se puede generar una clase temporal (result=1).error CS0029: No se puede convertir implícitamente el tipo 'servicioType' a 'servicioType[]' 

Comencé a investigar y el problema y su solución son muy entretenidos.

Parece ser que el webservice fue generado con una herramienta para exponer procedimientos almacenados creados en Oracle. El webservice tiene  la siguiente estructura:

<?xml version="1.0" encoding="UTF-8"?>
...
</WL5G3N0:types>

Se nota que es un error de conversión, me enteré que el error sucede solo al tratar de consumir el webservice con .NET, con Java no sucede, leyendo aquí  encontré un enlace a la pagina de soporte de Microsoft que explica como solucionar parcialmente el problema:

"Este problema se produce cuando el Asistente para publicación de servicios Web de BizTalk utiliza la herramienta de lenguaje de descripción de servicios Web (WSDL.exe) para generar la información de cliente. Cuando publica un esquema que contiene nodos anidados que tienen el atributo  maxOccurs  establecido en el valor "unbounded", la herramienta WSDL.exe crea matrices multidimensionales en el archivo datatypes.cs generado. Por lo tanto, el archivo datatypes.cs generado contiene tipos incorrectos para los nodos anidados."

pagina de soporte de Microsoft: http://support.microsoft.com/kb/891386

Ahora que sabemos que el error se produce en el programa WSDL.EXE al generar la clase que representa al webservice.  

Podemos solucionar el problema en pocos pasos:

1.- Generar una clase proxy  con la aplicación wsdl.exe que trae Visual Studio.
2.- Reparar a mano la clase generada.
3.- Crear una dll a partir de la clase reparada.
4.- Agregar la dll como referencia en nuestro proyecto.

Detalle de los pasos:

1.-Para ejecutar wsdl.exe debemos abrir una ventana de comando de Visual Studio, se puede levantar desde el menú inicio:

Inicio/Todos los programas/ Microsoft Visual Studio 2010/ Visual Studio Tools/ Visual Studio Command Prompt (2010)

Esto nos levanta una ventana de comando, para ejecutar el programa wsdl.exe, en la que escribiremos lo siguiente:

wsdl http://serverdesa.company.cl/info?WSDL 
Donde  http://serverdesa.company.cl/info?WSDL es la url del webservice incluyendo '?wsdl'.



 Después de ejecutar el comando,  aparece en la pantalla la ruta donde fue generada la clase.


2.- Ahora abrimos la clase que acabamos de generar y reemplazamos todas las ocurrencias de [][] por [].


3.- Nuevamente abrimos la ventana de comando del Visual Studio y ejecutamos la siguiente linea:

Para C#:
csc.exe /t:library /r:System.dll,System.Web.Services.dll,System.XML.dll [Nombre de la clase generada].cs


Para Visual Basic:
vbc.exe  /t:library /r:System.dll,System.Web.Services.dll,System.XML.dll [Nombre de la clase generada].cs

Después de ejecutar el comando, NO APARECE en la pantalla  la ruta donde fué generada la DLL, pero la genera en la misma carpeta VC.

4.- Ahora agregamos la DLL como referencia a nuestro proyecto.

Y Listo!

Créditos:
En esta pagina vi como generar la dll a partir de la clase:

Pagina de Soporte de  Microsoft que explica como editar la clase proxy (de forma engorrosa)
español:

ingles:

viernes, 27 de enero de 2012

No aparece proyecto Instalador en Visual Studio 2010

Hoy  tuve el mismo problema de hace 6 meses y había olvidado como solucionarlo, por suerte encontré un articulo que me refrescó la memoria, el cual transcribo íntegramente y traduzco vía google.

Hoy al tratar de agregar un proyecto de instalación de otros tipos de plantillas del proyecto (Other Project Types Templates), me aparece No hay elementos encontrados (No items found). Entonces hice clic en el linjk Setup and Deployment, y  me mostró ningún elemento encontrado. Sin embargo, en la sección de extensibilidad tengo 2 modelos como complemento de Visual Studio y complementos compartidos en template.Como puedes ver en la siguiente imagen.




Es realmente un error de Microsoft. Incluso busqué mucho en Google y restablecí los ajustes por defecto en el Visual Studio 2010, sin obtener nada.

Después de eso, hice clic en el pequeño icono en la parte izquierda de la instalación e implementación que me muestra dos enlaces como InstallShield LE y Visual Studio Installer. Pero esta vez también se me está mostrando No se encontraron elementos. Hasta ahora pensé que podría estar en mi Visual Studio. Pero cuando de forma individual, al hacer clic en el enlace InstallSheild LE Tengo la plantilla InstallShield Limited Edition de apoyo.

Y cuando hice clic en el instalador de Visual Studio, me mostró templates like Setup Project, Web setup project, Merge module project, setup wizard, CAB como se muestra en la figura a continuación:



Lo vi en:

http://www.fewlines4biju.com/2011/08/vs-2010-missing-setup-and-deployment.html

viernes, 13 de enero de 2012

Ejemplo de recomendacion para LinkedIn

Hoy he encontrado una herramienta muy util para partir con ideas para escribir recomendaciones para LinquedIn, en http://recommendin.com/ es posible generar un ejemplo de recomendacion en pocos segundos, solo es necesario ingresar el nombre de la persona que deseas recomendar y un email.

A continuación veremos un ejemplo:

Llenamos los campos con el nombre de la persona que deseamos recomendar, el sexo y nuestra dirección de e-mail, presionamos el botón Generate It!.


Obtenemos una propuesta de recomendación en ingles, si la recomendación no se acerca a lo que deseamos podemos presionar el botón Try again hasta obtener una base sobre la que escribir nuestra recomendación



Otra recomendación generada automáticamente.



La recomendacion es generada en ingles, luego solo hay que copiar y pegar el texto en nuestro traductor favorito, en mi caso Google Traductor, y traducirlo al español y listo!


Con poco esfuerzo podemos obtener rápidamente recomendaciones como estas:

Juanito era una persona fantástica para trabajar. Trabajar con Juanito me lo encontré como una persona con gran educación y la experiencia profunda de soluciones de TI. Ingeniero Sabio, su flujo de trabajo maravilloso, habilidades, conocimiento y comprensión de las solicitudes de cambio hizo que el proyecto de un sueño. Al llegar a conectar con él, usted descubrirá una persona increíble con habilidades únicas!

Juanito es uno de los mejores de entre todas las personas que he conocidoTrabajar con Juanito me lo encontré como una persona con un gran reconocimiento y experiencia profunda de las soluciones de TIEmpleado ambicioso con una energía ilimitada, eso es JuanitoTieneuna fuerte capacidad de organización.

He tenido el placer de conocer a Juanito para los X últimos años de trabajo en la misma rama.Plazo para presentar la persona orientada. Independiente y estratega centrada en el clientePerfeccionista, innovador siempre dispuesta a poner toda su energía y vitalidad para hacer el trabajo. Tiene un profundo conocimiento de las modernas tecnologías de la información. Tiene una gran cantidad de conocimientos técnicos profundos.

Juanito es uno de los mejores de entre todas las personas que he conocidoHa sido un placertrabajar junto con Juanito, que era un experto inteligente. Juanito es un colega plazo orientado,proactivo y responsable con una gran habilidad para analizar y resumir las ideas¿Puede concentrarse en las tareas a la vez.

Como vemos  http://recommendin.com/ es una buena herramienta para comenzar a escribir una recomendación, pero es poco recomendable usar una recomendación auto generada sin editarla.





miércoles, 4 de enero de 2012

linq contar caracter

string parametros = "asd|123|oqiwe123d&$#$|"
long pipes = parametros.LongCount(p => p.Equals('|'));

el resultado de esto daria que pipes es igual a 3.