Entradas

Mostrando entradas de 2008

Feliz Navidad Y propero Año Nuevo

Imagen
Para todos los que leen esto y pasan por este Blog. que tengan una muy Feliz Navidad y muy propero Año nuevo, que el proximo año sea mucho mejor que el que ya paso. Cordialmente. Victor Hugo Saavedra -- Atte. Victor Hugo Saavedra http://vhspiceros.blogspot.com

"is not null" o "<> Null" en Sql Server

Imagen
Trabajando con NHinbernate. y mapeando unas clases, guardaba unos datos y hacia esta consulta que para mi estaba bien: select   *   from   table   where  campo  <>   NULL ; Pero lamentablemente no me arrojaba los datos que yo necesitaba y luego darle y darle vueltas hice esta consulta. select   *   from   table   where  campo  is   not   NULL ; Y ahí me di cuenta que el mapeo de Hibernet, y los cambios que había hecho estaban bien. Perdí toda una mañana de trabajo por esto :(.  El resumen de esa mañana fue darme cuenta no es lo mismo "is not null" o  "<> Null", por lo menos en SQL SERVER.  Como una lección aprendida siempre voy a consultar "IS NOT NULL" o "IS NULL", según sea el caso.  Actualización:   Video de Teclado Mecanico Hp gk200, con interruptores Outemu Blue. Video de mi Canal.  Ahora ya que están de moda los teclados mecánicos no me quería quedar atrás, próximamente una entrada sobre este interesante tema.   --  Atte. 

Samsung f480

Imagen
Como muchos saben, ami me gustan muchos los celulares, hace poco cambie mi cel, antes tenia un blackberry 8100(muy buen telefono) pero me lo robaron :( . Las principales Gracias de este Celular son: - Pantalla total y completamente Tactil. - Tiene solo 3 teclas. - Camara 5mpx - Memoria Expandible hasta 8G. - Reproductor Mp3. - Bluetooth. - Radio Fm. - Variedad de gadget o widget. El Samsung F480 tiene un diseño muy delgado , con menos de 12 mm de grosor y peso de 100 gramos, y una pantalla de 2.8 pulgadas y resolución de 240x320 píxeles que lo ocupa todo. Cosas no tan Buenas. - Los Audifonos se conectan donde mismo se conecta el cargador, es decir, no puedes escuchar musica mientras cargas el Cel. - Reproductor de Mp3 un poco deficiente. Yo tengo toda mi musica ordenadita por artista y album. .el samsung no reconoce bien los artistas y menos los discos. Ademas el orden aliatorio es bastante Deficiente. Sorprendente . Lo que mas me dejo Sorprendido es que saque mi primera foto y es de

Cambiando los Colores de Visual Studio

Imagen
Llevo bastante tiempo trabajando con visual Studio y me aburrieron los mismos colores siempre. Aqui les dejo 2 imagen de mi visual Studio. encontre por ahi una configuracion parecida a Vi, y modifique algunas cosa. Ojo que el resaltar la linea actual a lo EClipse, es una propiedad del Resharper . Aqui esta la configuracion Bajar Configuracion -- Atte. Victor Hugo Saavedra http://vhspiceros.blogspot.com

Replace all en Javascript

Hace unos días trate de ayudar con algo muy simple en Javascript y me encontre con la sorpresa que la funcion nativa de replace de javascript solo remplaza la primera coincidencia y no sigue buscando en el string(y por ende tampoco remplazando. Por lo que aqui hicimos una pequeña funcion de forma recursiva para reemplazar todas las ocurrencias en un String. El ejemplo en particular era que teniamos que sacar todos los puntos de un numero. >>>replaceAll("123.345.567", ".", "" ); >>"123345567" -- Atte. Victor Hugo Saavedra http://vhspiceros.blogspot.com

Ver diferencias locales contra Svn con Python.

Cada vez que realizo una mejora o arreglo algo tengo que hacer un documento con los archivos que cambie. como una forma de automatizar esto, entontre una forma de generar esto automaticamente. para correr hay que tener instalado pysvn Aqui esta el codigo: import pysvn client = pysvn.Client() changes = client.status('trunk') print 'Files to be added:' foo =[f.path for f in changes if f.text_status == pysvn.wc_status_kind.added] for bar in foo: print (" "+bar) print 'Files to be removed:' foo = [f.path for f in changes if f.text_status == pysvn.wc_status_kind.deleted] for bar in foo: print (" "+bar) print 'Files that have changed:' foo = [f.path for f in changes if f.text_status == pysvn.wc_status_kind.modified] for bar in foo: print (" "+bar) print 'Files with merge conflicts:' foo = [f.path for f in changes if f.text_status == pysvn.wc_status_kind.conflicted] for bar in foo: print (" "+bar) pri

Cambio en el equipo Sale Imagemaker entra Ultragestion.

Este post debi haberlo hecho hace bastante tiempo. mas o menos 2 meses y medio atras. Como ya muchos saben me cambie de trabajo hace 2 meses deje de trabajar en Imagemaker IT. despues de casi 3 años de trabajo. fui una empresa muy buena para trabajar aprendi muchas cosas. Aun recuerdo que llege sabiando solo php y un poco de javascript. Tambien me dio mucha pena dejar a amigos y compañeros de trabajo como leo, Esteban, Ricardo(s), y muchos mas. Pero como dicen por ahi todo cambio es para mejor. Hablando de conocimiento, aprendi mucha cosas, como Java, Python, Jython, .Net, javascript, hibernet, log4x, etc, etc, etc [no alcance a aprender ruby]. los proyectos en los que estube involucrado con los siguientes: - Sistema de estadisticas Abastible[PHP]. - Tunel San Cristobal[JAVA, hibernet]. - http://www.globaltrust.cl [.NET, vbscript].[mi primer sitio en .NET]. - http://www.larrainvial.com [.NET]. - Sitio Privado para clientes de larrainvial [.NET]. - Portal de cumbre Fondos Mutuos

como obtener ruta realmente absoluta de un website?

Bueno, yo siempre ponia esto en el web.config. y dependiendo del servidor lo cambiaba. pero ahi una mejor forma de hacer esto, programaticamente. public String Getfullsiteroot() { return HttpContext.Current.Request.Url.Scheme + "://" + HttpContext.Current.Request.Url.Authority + HttpContext.Current.Request.ApplicationPath; } De esta forma obtenemos la url absoluta de nuestro website, inclusive sobre que directorio virtual esta siendo ejecutado, tambien subdominio, y si esta por http o https. -- Atte. Victor Hugo Saavedra http://vhspiceros.blogspot.com

Solo por hoy: CrossOver gratis

Imagen
Ojo que es solo por hoy,, estan dando licencia por un año gratis. CrossOVer, es una aplicacion mejorada de wine, con la cual podemos correr programas de windows o mac en linux. pide el tuyo aqui -- Atte. Victor Hugo Saavedra http://vhspiceros.blogspot.com

no mas Mac Mini

Imagen
Apple ya no producira mas estos equipos. aunque el equipo yo lo encuentro espectacular. me compre uno hace un tiempo(claro que el de primera generacion) en una venta nocturna y me costo super barato. Al parecer no tuvo la acogida esperada por apple, recordemos que este aquipo se vende sin monitor, ni teclado ni mouse. http://es.wikipedia.org/wiki/Mac_mini -- Atte. Victor Hugo Saavedra http://vhspiceros.blogspot.com

"function is not defined" en Firefox

Bueno el titulo no dice mucho verdad. lo que pasa es lo siguiente por ejemplo tengo la siguiente funcion en x archivo, por ejemplo "script.js" function foo(bar){ alert(bar); return bar; } hasta ahi todo bien, es una funcion toda muy simple(de hecho no tiene ningun sentido. incluyo el archivo a mi pagina y en explorer funciona bien. pero en firefox me dice "foo is not defined ". Este problema lo he visto por lo menos un par de veces. la forma de incluir el archivo en la pagina esta <script language="javascript" type="text/jscript" src="script.js"></script> cuando deberia ser : <script language="javascript" type="text/javascript" src="script.js"></script> lo mismo si queremos definir la funcion en la misma pagina <script language="javascript" type="text/javascript"> function foo(bar){ alert(bar); return bar; } </script> JScript !=

Humor Grafico

Imagen
Las encontre muy buena, son de un tipo llamado alberto Mont, sube un caricatura todos los dias, Aqui esta el link -- Atte. Victor Hugo Saavedra http://vhspiceros.blogspot.com

Programando en C. Parte III

Estoy saliendo de un control en la U. de C. Aqui deje el ejercicio. si bien no segui los consejos que me ha dicho Daniel por el poco tiempo, de hecho faltan bastantes validaciones y esas cosas. me imagino que la idea de estos control es evaluar la logica, mas que validaciones. typedef struct product { int codigo; char nombre[50]; char laboratorio[50]; int cantidad; int precio; }producto; void lb(); void ingresar(); void mayor(); float promedio (producto prod[]); producto productos[400]; int cont = 0,sw=0; int main(){ char op; do{ system("cls"); lb(); printf ("\n1.- Ingreso(A)"); printf ("\n2.- Mayor(B)"); printf ("\n3.- Promedio(C)"); printf ("\n0.- Salir"); op = getch(); if (op=='1')ingresar(); if (op=='2')mayor(); if (op=='3'){ float prom = promedio(productos); printf("\n\n el promed

Integrar Visual Studio con Svn

Imagen
Todos Sabemos que Svn es mucho mejor que soursafe de Microsoft, bueno yo antes solo usaba el tortoiseSvn, pero he encontrado 2 plug-ins para Visual Studio para que Svn se integre. la gracia de estos 2 es que en "solucion Explorer" nos muestra de distinto color los archivos que hemos modificado, podemos hacer un commit,update, revert sin necesidad de salir de nuestro Visual Studio. VisualSvn y AnkhSvn : VisualSvn no es gratis, AnkhSvn es gratis. VisualSvn es mucho mejor tanto visual como funcionalmente. -- Atte. Víctor Hugo Saavedra P. http://vhspiceros.blogspot.com

Encuentro Linux 2008

Imagen
Una de las mas importantes conferencias de linux y openSource de nuestro pais se llavara acabo el 23 y 24 de Octubre en la Universidad de Concepción. Van a haber varios expositores importantes (de UIntel, Mandriva). Ademas estara amigo Leo Soto . Que realiza una charla sobre Django. Programa: http://2008.encuentrolinux.cl/index.php?option=com_content&task=view&id=14&Itemid=29 Inscripciones: http://2008.encuentrolinux.cl/index.php?option=com_content&task=view&id=24&Itemid=68 -- Atte. Víctor Hugo Saavedra P. http://vhspiceros.blogspot.com

Comandos de linux en Windows

Hace un tiempo buscando y buscando encontre un conjunto de commandos(aplicaciones) linux para windows. llamada UnxUtils son bastantes comandos los que tiene, Aqui aparace la lista de comandos migrados http://en.wikipedia.org/wiki/UnxUtils Desde http://unxutils.sourceforge.net/ lo pueden descargar para mi fue muy util como para usar los comandos : - tail ( http://es.wikipedia.org/wiki/Tail ) - wget - ls - etc. Para instalar solo tienen que descomprimirlo, eh instalarlo y copiar todo en \windows\system32 o en X Directorio y cambiar las variables de entorno(path) de windows- -- Atte. Víctor Hugo Saavedra P. http://vhspiceros.blogspot.com

Programando en C. Parte II

El sabado tuve clases de C. en el ramo de programacion, y tengo que hacer un trabajo como mi segunda catedra. me encontre con la complicacion que no sabia como validar si un numero que me ingresaban por pantalla era un numero. lo solucione de esta forma, aunque me imagino que debe haber mejores formas de hacerlo defini esta function int myisDigit(char cadena[]){ int i; char letra; for (i=0;i < strlen(cadena);i++){ letra=cadena[i]; if (letra<47 || letra>58){ return 0; } } return 1; } y despues la llamo para validar, en este caso es una edad. char edad[20]; do{ do{ fflush(stdin);gets(edad); }while (myisDigit(edad)==0); per.edad = atoi(edad); printf ("%d",per.edad); }while ((per.edad<0)>100)); como podran darse cuenta edad es un char de 20, y per.edad es un int. -- Atte. Victor Hugo Saavedra http://vhspiceros.blogspot.com

String.format

String.Format Una Forma elegante de concatenear String y algo mas. Por lo general en visual Basic hacia algo por el estilo Dim nombre as "victor" Dim foo as string = "hola mi nombre es " + nombre + "." el resultado de esto es: Hola mi nombre es Victor. se bastente feo verdad. mejor usar String.format, se ve mas bonito y es mas mantenible string nombre = "Victor"; string foo = string.Format("hole mi nombre es",nombre); el resultado de esto es: Hola mi nombre es Victor String.format recibe multiples argumentos, algo parecido a printf de C. No tan solo sirve para concatenar, si no que tambien para dar formatos a fechas y numeros. por ejemplo: string.format("Hoy es {0:F}", DateTime.Now); Aqui les dejo una referencia . -- Atte. Victor Hugo Saavedra http://vhspiceros.blogspot.com

Buscar columnas en todas las tablas SQL SERVER

Imagen
Hace un tiempo necesitaba encontrar en todas las tablas que se encontraba una columna con "x" nombre.  Esto por que yo no conocía el modelo de la base de datos y no quería darme el trabajo de buscar tabla por tabla.  Aquí dejo una query para poder realizar la búsqueda de forma rápida en  SQL SERVER Solo hay que cambiar donde dice " myFieldName " por el nombre de la columna que desean buscar.  Actualización Agosto 2022, Según los comentarios también se puede buscar de forma fácil con la siguiente consulta SQL -- Atte. Víctor Hugo Saavedra http://vhspiceros.blogspot.com

Chistes Fomes

Como muchos ya saben soy muy fome, para dejar constancia de esto aqui dejos algunos chiste que me se y que encontre por ahi, y parto con el mejor de todos, jejejejeje :) Un hombre llega a pedir trabajo en una ferretería, el administrador le dice: OK, le puedo dar el empleo pero si usted habla inglés. Claro, yo hablo inglés. Demuéstrelo y atienda a ese cliente que está entrando. Cliente: ¿Hay ampolletas? Solicitante: Welcome mister Polletas, I'm Jorge. __________________________________________________________ Kellogs está triste ¿Por qué Kellogs está triste? Porque Choco Crispy. ¿Cómo te diste cuenta? Por zu caritas. __________________________________________________________ iban 2 chanchitos caminando por la calle y pasan por al frente de una carniceria y leen en un cartel "hoydia dia del Cerdo" y los chanchitos se abrazan..... __________________________________________________________ un dia iba un niñito que se llamaba pastel, cruzando la ca

Agregar Javascript desde un masterPage (Ruta Relativa)

Cual les la dificaltad de esto. basicamente son las rutas. ya que si una pagina ucupa un masterPage, la ruta es de la pagina no del master page, es decir podemos tener n paginas que cuelgan del mismo masterPage sin importar la ruta en la que se encuentrar. Primero, en nuestra clase de nuestro masterPage debemos incluir un atribito publico. public string urlStript = string .Empty; Luego en el page load buscamos la url, real donde se encuentre, cosa de que nos encuentre la ruta relativa del recurso. urlStript = ResolveClientUrl( "~/Resources/scripts/urlStript .js" ); Y por ultimo simplemente incluimos en el aspx(master page) el script. < script language = "javascript" type = "text/javascript" src = "<%# urlStript %>" > < / script > La principal ventaje de esto, es que solo tenemos que el incluir nuestros js solo una vez, o una vez por masterPage que tengamos. CSS: para los Css el tratamiento es muy distinto uno solo agrega e

doblandole un poco la mano a los updatePanel

como muchos ya saben yo uso mochikit (me acomoda bastante). tuve que hacer un un javascript para cuando carga la pagina. aumentar el tamaño de un iframe, todo bien hasta ahi: addLoadEvent(function(){ try { var alto = parent.parent.window._altoContent; alert(alto); alto = alto -20; $( "myFrame" ).style.height = alto+ "px" ; } catch (e){ logError(e); } }); addLoadEvent : viene de mochikit, esto ejecuta las instrucciones cuando todo el contenido de la pagina ha sigo cargado. como dije hace un rato todo bien, la cosa es que se estaba usando un menu que contenia un updatePanel y el iframe estaba dentro de este updatePanel. Aqui dejo un script como script de como intersectar una llamada y termino de una llamada de un updatePanel: Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(beginRequestHandle); Sys.WebForms.PageRequestManager.getInstance().add_endRequest(endR

Google Chrome nuevo navegador y de Google

Imagen
Hoy se lanzo Oficialmente google Chrome, yo lo instale y me di cuenta de las siguientes cosas interesantes: webkit integrado, los usuarios de mac ya lo conoces, es algo asi como firebug de firefox. deseño mas bien minimalista pero bastante intuitivo y rapidisimo todo funciona bastante rapido por lo mejos javascript. de Aqui lo pueden descargar http://www.google.com/chrome

Configurando el log en NHibernate

NHibernate usa log4Net para hacer log. todos esto me suena parecido a java NHibernate -->Hibernet log4Net -->log4J bueno necesitaba ver que consultas hacia NHibernate a la base de datos. para hacer esto tuve que agregar las siguientes lineas al Web.config dentro del tag log4NET < appender name = "NHibernateFileLog" type = "log4net.Appender.RollingFileAppender" > < file value = "C:\\logs\\nhibernate.log" /> < appendToFile value = "true" /> < rollingStyle value = "Size" /> < maxSizeRollBackups value = "10" /> < maximumFileSize value = "100KB" /> < staticLogFileName value = "true" /> < layout type = "log4net.Layout.PatternLayout" > < conversionPattern value = "%d{HH:mm:ss.fff} [%t] %-5p %c - %m%n" /> < / layout > < / appender > < logger n

Accediando al contenido de un Iframe

Siempre me e preguntado como podemos acceder mediante javascript al dom, de un documento cargado en un iframe, aqui les dejo una funcion function getDocFrame(idFrame){ var myIFrame = document.getElementById(idFrame); return myIFrame.contentWindow.document; } de esta forma llamamos a la funcion con el id del iframe y ya modemos trabajar con el contenido de esta forma doc = getDocFrame(idFrame); doc.getElementById("myid").value="hola"; //o directamente getDocFrame(idFrame).getElementById("myid").value="hola"; -- Atte. Victor Hugo Saavedra

Failed to access IIS metabase.

Hoy dia me salio este error Failed to access IIS metabase. Cuando trataba de ver una pagina que estaba configurada en el IIS. como descripcion del error era la siguiente: System.Web.Hosting.HostingEnvironmentException: Error en el acceso a la metabase de IIS. La cuenta del proceso usado para ejecutar ASP.NET debe tener acceso de lectura a la metabase IIS (p. ej., IIS://servername/W3SVC). Para obtener más información acerca de la modificación de los permisos de la metabase, consulte http://support.microsoft.com/?kbid=267904. Causa: Instale el o los framework antes que el IIS. Solucion: reinstalar los framework pero es una lata. hay un comando que esta dentro de los directorios de los framework que lo que hace es registrarse dentro del iis. aqui les dejo el comando C:\WINDOWS\Microsoft.NET\Framework\<version>\aspnet_regiis.exe -i donde <version> es la version del framawork -- Atte. Victor Hugo Saavedra

Error en mi cuenta de Gmail

Imagen
Hoydia en x momento del dia me salio este error en la pagina de gmail cuando ingresaba mis datos. Esto sigue igual ya llevo como una o dos horas sin correo. que curioso. Alguien mas tiene este problema ??

Programando en C

Actualmente estoy en clases, cuando digo en clase me refiero ahora sabado a las 10 de la mañana, muerto de sueño. nos pidieron hacer el tipico ejercicio de la seria de fibonacci, y me costo un mundo desarrollarlo en C. Aqui lo dejo por si a alguien le interesa, ase mucho tiempo que no hacia nada en C. int fibonacci (int valor){ if (valor==0) return 0; if (valor==1) return 1; if (valor>=2){ return fibonacci (valor-1) + fibonacci(valor-2); } return 0; } int main(){ int i,hasta=0; char tecla; clrscr(); /*limpia la pantalla*/ printf("Cuantos numeros en la secuencia de fibonacci desea mostrar"); scanf("%d",&hasta); for (i=0;i< hasta;i++){ printf("%d\n",fibonacci(i)); } printf ("Presione una tebla para terminar el programa....."); tecla = getche(); return 0; } -- Atte. Victor Hugo Saavedra http://vhspiceros.blogspot.com

cambio en la Encuesta

Hace bastante tiempo que tenia la misma encuesta, y ademas estaba vencida, asi que cree otra para los que quieran votar ¿En que Lenguaje te gusta mas programar? -- Atte. Victor Hugo Saavedra

asignar un xml a un GridView

Dim xmldata As XmlDataSource = New XmlDataSource() Dim xmldocument As XmlDocument = New XmlDocument xmldocument.Load("C:\muestra.xml") xmldata.Data = xmldocument.innerXml Dim mygridView As GridView = New GridView mygridview.AutoGenerateColumns=True mygridView.DataSource = xmldata RadGrid1.DataBind() form1.Controls.Add(mygridView) donde el xml es el siguiente: <myXml> <Row column1="nombre1" column2="0"/> <Row column1="nombre2" column2="10"/> </myXml> -- Atte. Víctor Hugo Saavedra http://vhspiceros.blogspot.com

Descarga Firefox 3.0 desde ahora.. yaaa..!!

Imagen
Si quieres formar parte del Download Day e intentar romper el récord Guinness del software más descargado en 24 horas, qué esperas para descargar ahora mismo la última versión disponible del navegador Firefox, la 3.0. Para ver sus nuevas características, Visita el siguiente enlace: http://www.mozilla-europe.org/es/firefox/features/ Pare Descargar AQUI

Redefinir getElementById

muchas veces mi se me olvida cuales son en mayusculas y cuales en minusculas. por eso defini la funcion "$" que es lo mismo que "document.getElementById", de hecho internamente lo llama. $ = function (id){ return document.getElementById(id) } si no les gusta con el $, pueden colocar el nombre que quieran getElement = function (id){ return document.getElementById(id)} OJO: que para los que usan mochikit, estas funciones ya estan definidas, con el mismo fin, es decir, ya son un document.getElementById. -- Atte. Victor Hugo Saavedra http://vhspiceros.blogspot.com

Problema con CalendarExtender de AjaxControlToolkit

Imagen
hace un tiempo nos dimos cuenta de un problema con la libreria, como se pueden dar cuenta en la imagen, faltan dias. despues de mucho rato, llege a la conclusion de que era un problema de css. Descripcion del problema: Me di que el calendario tenia asignado un css indirectamente, ya que en la hoja de estilos se usaban selector y clases heredadas. estos son los css que tenian problema: .selector_01 table {margin-left:10px;} .selector_01 table td {padding:4px 4px 10px 0px} ya que el calendario estaba inserto en un div, que tenia la clase selector_01, y el calendario al momento de renderizarse en el cliente es una tabla, entonces de esta forma hereda el calendario hereda los margin y padding que estan definidos en la hoja de estilos. -- Atte. Victor Hugo Saavedra http://vhspiceros.blogspot.com

AndAlso en vbscript?????

AndAlso en vbscript????? como ya varios saben , vbscript no tiene un "cortafuego" por defecto, que la mayoria de los lenguajes tiene. por ejemplo JAVA persona = null; if (persona != null && persona.nombre ="Victor"){ este codigo esta bien para Java, ya que si persona es nulo no evalua la segunda Expresion, y por ende no se cae por un nullPointerExecepction. Ahora vamos a nuestro querimo VbScript. El mismo Ejemplo Dim persona as persona = nothing If not persona is nothing and persona.nombre ="Victor" then End If Este codigo lamentablemente se cae, por que apesar de que no se cumple la primera expresion, igual evalua la segunda. de Esta Forma tenemos un bonito nullPoinerException como hay que hacerlo en VBScript. Dim persona as persona = nothing If not persona is nothing andAlso persona.nombre ="Victor" then End If De Esta forma con el AndAlso, le decimos al framework que si la primera expresion no se cumple, no es necesario que evalu

Summer Of Code. Felicitaciones Leo.

Como muchos ya saben google tiene un programa para estudiantes que se llama "summer of code" (codigo de verano). y mi companero y amigo Leo Soto. postulo y aprobaron su proyecto ya tiene un tutor y todo. Pero vamos por parte que es summer of Code - summer of code: para estudiantes que quieren trabajar en el verano en proyectos OpenSource. Ojo que cuando en EEUU nosotros estamos casi entrando al invierno. - google incentiva pagando por estos proyectos, las cifras no las tengo muy claras. Proyecto de leo Soto: Como muchos sabemos al leo le gusta mucho python y el framework "Django". ambos 2 a mi me gustan mucho pero no e tenido mucho tiempo para volver a programar en python (toy 100% .NET :( ). Tratara de correr DJango sobre jython(python corriendo en la Jvm de Java), de esta forma podremos hacer proyectos con django y empaquetarlo en un War. y no solo si no que podremos usar nuestras clases Java desde Django. Bueno para mas detalles del Proyecto de leo

colocar acentos en el subject de un mail

Tuve que desarrollar un programa que enviaba mail a distintas personas, pero me encontre con varios problemas de encoding. el principal fue el problema al colocar acentos en el subject del mail. para sorpresa mia encontre en un pagina que hay que codificar el subject para que tome caracteres especiales como acentos y ennes(tengo el teclado en ingles). este programa lo estaba haciendo en c#. y para que muestre acentos hay que codificarlo en base64 de la siguiente forma: subject = "=?ISO-8859-1?B?" + Convert.ToBase64String(System.Text.Encoding.Default.GetBytes(texto))+"=?="; ademas de codificar el string, tenemos que pasar esto "=?ISO-8859-1?B?" al inicio inicio del string, para que el que despliga el correo sepa que el asunto esta codificado indicandole la codificacion en que se codifico. Nota: en php tambien hay funciones para manejar la codificacion en base 64 base64_encode base64_decode

Alternativas a Visual Studio

claro que visual estudio es un muy buen ide, para desarollar con .net en sus distintos lenguajes (aunque en lo personal me quedo con Eclipse). bueno uno de los principales problemas de visual Studio es que consume muchos recursos, por eso busque alternativas aqui detallo 2 opciones que encontre. WebMatrix( http://www.asp.net/webmatrix/download.aspx ): este es super rapido, y consume muy pocos recursos, es ideal para cuando uno empieza a programar en .net. Caractetisticas principales: No usa un archivo de proyecto o solucion, solo maneja archivos lo que hace que sea mas rapido. tiene su propio servidor de desarrollo, como visual Studio, ademas nos da la opcion de crear o usar un directorio Virtual de CSS. permite instalar plugins o complementos permite crear propios complementos, ya que podemos importar las librarias o programar nuestros propios plugins Que deberian mejoran: No posee preduccion de texto, o intelligense como visual studio. muchas veces me paso y me sigue pasando que

ocultar prompt de ListSearchExtender ajaxToolkit

Me surgio la necesidad de tener que ocultar el prompt de un ListSearchExtender. para hacer eso tenemos que definir un clase css. de este forma .PromptCssClass{display:none;} despues le asignamos de al atributo o propiedad "PromptCssClass" del ListSearchExtender la clase css que generamos. deberia quedar asi. < ajaxToolkit:ListSearchExtender id = "lse_MyPais" runat = "server" TargetControlID = "cmbPais" PromptCssClass = "PromptCssClass" > < / ajaxToolkit:ListSearchExtender > y listo, el prompt ya no aparecera.

mover elementos de un listBox

Imagen
Varias veces eh visto algo como la imagen que esta a la derecha. esto por lo general lo hacia en javscript. ahora me propuse hacerlo a atraves de .NET sin nada de javascript. Aqui dejo el codigo: Sub boton1_Click(sender As Object , e As EventArgs) dim ElementosEliminar as Arraylist = new Arraylist for each item as ListItem in List1.Items If item.Selected Then List2.items.Add( New ListItem(item.text,item.value)) ElementosEliminar.add(item) End If next RemoveElements(List1,ElementosEliminar) End Sub Sub boton2_Click(sender As Object , e As EventArgs) dim ElementosEliminar as Arraylist = new Arraylist for each item as ListItem in List2.Items If item.Selected Then List1.items.Add( New ListItem(item.text,item.value)) ElementosEliminar.add(item) End If next RemoveElements(List2,ElementosEliminar) End Sub private function RemoveElements(

Accediendo desde Webpart a los controles

Webparts es la propuesta Microsoft de bea-Portal, para hacer sitios. bueno la mayor gracia de Webpart es que te da la funcionalidad de arrastrar los paneles por la pagina, y estas son permanentes en el tiempo. como el tiempo es poco y estoy por irme de vacaciones(yupi) en otra ocasion hablere mas del concepto, beneficios y contras de webparts. Nacio de saber como podemos hacer para que webparts cambie un estado en un userControl o control de usuario para asi poder hacer una accion, dependiendo del valor. primero en un WebpartsZone, arrastramos desde la parte derecha (solucion Explorer) nuestro UserControl (ojo que hablo de las que tienen extension ACSX). a nuestro control le definimos un atributo y un property, para que webparts puedas modificar el atributo. Este es el codigo en el aspx <% @ Control Language = "VB" AutoEventWireup = "false" CodeFile = "WebUserControl.ascx.vb" Inherits = "WebUserControl" %> < table > < tr >

Haciendo controles anidados

Muchas veces me he preguntado como hacen .Net para anidar los controles. en mis primeras experiencias al desarrollar mi primer control. me fue imposiblee realizar esto. bueno lo que queremos lograr seria algo como esto: < cc1:MyControl ID = "server" popUpID = "panel1" Title = "este es el titulo" > < cc1:MyControlColumnas label = "Nombre Persona" name = "nombre" runat = "server" Visible = true /> < cc1:MyControlColumnas label = "Edad Persona" name = "edad" runat = "server" Visible = true /> < / cc1:MyControl > bueno por parte, como ya sabemos hacer nuestro control, ahora solo tenemos que hacer un una clase extienda de control Builder Public Class MyPortalBuilder : Inherits ControlBuilder Public Overrides Function GetChildControlType( _ ByVal tagName As String , _ ByVal attributes As IDictionary) As Type

Activando Eventos con controles desarrollados

Ya desarrollamos un pequeno control, pero ahora como hacemos para que este vaya al servidor, y ejecute una accion en este, es decir, cuando nosotro hacemos click sobre algo queremos que nuestro control vaya a realizar un metodo en el codebehind. Por ejemplo nosotros desarollamos en control llamado customerControl (button) y queremos darle la posibilidad a los desarrolladores que usen este control, de programar un evento, en este caso el evento click. manos a la obra. Namespace MyControl <ToolboxData( "<{0}:testControl runat=""server"" ID='testControl1'/>" )> _ Public Class testControl : Inherits Control Implements IPostBackEventHandler Public Event Click As EventHandler Protected Overridable Sub OnClick( ByVal e As EventArgs) RaiseEvent Click( Me , e) End Sub Public Sub RaisePostBackEvent( ByVal eventArgument As String ) Implements IPostBackEventHan