Mostrar un XML formateado en un textbox

2 05 2009

Hay veces en las que necesitamos mostrar un XML formateado como tal en un textbox. Veamos una posible solución en ASP .NET (visual basic):

‘Cargamos el documento xml
Dim docXml As New XmlDocument()
docXml.LoadXml(<ruta_del_xml_a_mostrar>)

‘Cargamos el xml indentado en la variable strBuilder
Dim strBuilder As New StringBuilder()
Dim opciones As New XmlWriterSettings()
opciones.Indent = True
Dim writer As XmlWriter = XmlWriter.Create(strBuilder, opciones)
docXml.WriteTo(writer)
writer.Close()

‘Mostramos el xml indentado en el textbox
TextBox1.Text = strBuilder.ToString()





Reescalar una imagen con J2ME

25 11 2007

Un problema típico en la programación para móvil es el reescalado de imágenes. Si queremos programar una aplicación (o juego) que comprenda mas de un modelo nos encontraremos con varias pantallas (distindas resoluciones, tamaño, etc etc). Si bien podemos crear una imagen para cada dispositivo móvil compatible con lo que nosotros estamos programando esta solución es muy laboriosa….. Si bien hay veces que es la única solución (depende siempre de cada aplicación que hagamos) la mayoría de veces lo podemos solucionar reescalando las imágenes según la pantalla que tenemos. Os dejo con una función típica de reescalado de imágenes en J2ME, aunque con esta idea también podrias hacer algo con muchos lenguajes camiando algunas cosas… jejeje

protected Image ReescalaImagenOpaca(Image imagenOriginal, int anchoNuevo, int altoNuevo)

{

//Inicializaciones

int anchoOrigen = imagenOriginal.getWidth();

int altoOrigen = imagenOriginal.getHeight();

Image imagenFinal = Image.createImage(anchoNuevo, altoNuevo);

Graphics g = imagenFinal.getGraphics();

//Bucles que tratan el reescalado

for(int y=0; y<altoNuevo; y++)

{

for(int x=0; x<anchoNuevo; x++)

{

g.setClip(x, y, 1, 1);

int xAux = x * anchoOrigen / anchoNuevo;

int yAux = y * altoOrigen / altoNuevo;

g.drawImage(imagenOriginal, x-xAux, y-yAux, Graphics.LEFT | Graphics.TOP);

}

}

return Image.createImage(imagenFinal);

}

Como habreis visto algunos en el nombre de la función, ésta solo sirve para reescalar imágenes opacas, pues la función createImage de J2ME no permite transparencias. En otro artículo ya os explicaré como hacer el reescalado con imágenes transparentes (si bien la idea es parecida, cambia bastante y pierde mucho rendimiento debido a la escasa capacidad de cálculo de los procesadores móviles).

(Siento que no esté tabulada la función pero es que no se que pasa on el WordPress que me lo tabula mal….)

Saludos,

by Marc2c





Recuperar Windows XP

25 11 2007

El otro día me trajeron un PC de un amigo de mi padre que no podía entrar a su Windows. Cuando me lo dijeron pensé que sería la típica reparación de poner el disco “original” de Windows XP y entrar en la consola de recuperación para hacer un chkdsk -r y un fixboot . Fué tal mi confianza en que sería eso que ya ni entré directamente al ordenador para comprobar el error: CRASSO ERROR , pues después de estar una hora con el checkeo del disco no sirvió para nada. A esto pude extraer la conclusión que SIEMPRE se tiene que ver el tipo de error que aparece antes de hacer un diagnostico….. jejeje

 El error decía: ”No se puede iniciar Windows XP porque el siguiente archivo está dañado o no se encuentra: \WINDOWS\SYSTEM32\CONFIG\SYSTEM” . Expongo aquí la solución para los que tengan éste problema puedan solventarlo sin complicaciones:

  1. Poner el disco “original” (si teneis una cópia también funciona) de Windows XP.
  2. Iniciar el instalador de Windows XP utilizando el disco.
  3. Cuando llega al menú de Instalación de Windows XP escoger la opción de Reparar el sistema.
  4. Luego nos pide para que Windows queremos reparar el sistema. Por defecto, todos tendreis 1 windows y la opción a escoger será la de C:\Windows\System que es el número 1. Por lo tanto, apretais la tecla 1 y le dais al Enter.
  5. Os pide la contraseña del administrador del sistema (la del Administrador! No la del usuario que utiliceis en Windows). Si habeis hecho una instalación limpia, por defecto de Windows XP no tendreis que poner ningúna contraseña ya que no es obligatorio (lo sé,…. un desastre pero Windows es así :P ).
  6. Una vez estamos dentro de la consola de recuperación, escribimos: “copy c:\windows\repair\system c:\windows\system32\config\system” sin las comillas. Con esto pondremos un fichero de configuración correcto en el registro de Windows.
  7. Reiniciar y probar.

 Si os ha funcionado, seria muy adecuado hacer un escaneo de disco ya que hay posibilidades que algún sector del disco duro esté dañado. Hay programas para hacer esto como por ejemplo el HDDGenerator.

 Saludos y suerte,

 by Marc2c





Monitores. Diferencias entre CRT y LCD.

22 10 2007

Hola a tod@s,  visto que hay gente que busca información sobre los componentes de un ordenador, voy a empezar una serie de artículos explicando los mas importantes. Hoy comenzaremos con el monitor aunque no sea un componente interno de un ordenador ya que es un periférico.

Empecemos con una pregunta básica: Que diferencias hay entre un CRT y un LCD ?

 Los monitores CRT (Cathode Ray Tube) utilizan una implementación basada en la tecnología utilizada en los televisores: un haz de electrones originado en la base de un tubo envasado al vacío es disparado hacia la pantalla, la cual tiene una capa hecha de un material de fósforo. Este fósforo se excita por el impacto de los electrones provocando un brillo de color rojo, verde o azul. La pantalla tiene miles de puntos llamados píxels. Cada pixel es un impacto de electrones mezcla de rojo, verde o azul, y según la cantidad y fuerza del impacto brilla mas o menos un color u otro pudiendo producir cantidad de colores. La mayoría de monitores CRT antiguos muestran algo de curvatura en las esquinas.

 Los monitores LCD (Liquid-Crystal Displays) son la alternativa a los monitores CRT.  Los LCD constan de un panel plano de vidrio que es cubierto luego por una capa que contiene una rejilla con pequeños transistores. Estos transistores están agrupados en grupos de 3, y cada trio representa un píxel de la pantalla. La idea básica es que cuando se excitan con electricidad, estos transistores  se pueden abrir y apagar. Poniendo una luz detrás de la rejilla de transistores se pueden obtener imágenes.

Ambas explicaciones son muy básicas y solo pretendía dar a conocer qué son y como funcionan. He puesto el enlace a las definiciones de la wikipedia para que podais leer el funcionamiento mas completo si os interesa. 

 Próximos artículos: 

      Resolución y refresco de pantalla.

      Factores a tener en cuenta a la hora de comprarse un monitor.





Instalar SQL Server 2000 en Windows XP

13 10 2007

Muchos programadores se preguntan si se puede instalar SQL Server 2000  en Windows XP ? La respuesta es que si, pero a medias. Podemos tener las herramientas de servidor y trabajar sin problema aunque no estan disponibles todas las funciones. Los pasos a seguir para esta instalación son los siguientes:

  1. Explorar el CD de Sql Server 2000 (no se puede hacer utilizando el AUTORUN del CD) y buscar la carpeta MSDE. Dentro de esta carpeta se encuentra un ejecutable: setup.exe . Sin miedo le damos doble click.
  2. Una vez instalado tenemos que reiniciar el equipo y veremos que en la barra de tareas está instalado el “Service Manager”. Por defecto, los servicios estan iniciados pero hay veces (bonita informática) que no lo hace. Si es éste el caso los iniciaremos.
  3. Volvemos a explorar el CD de Sql Server 2000 y ahora vamos a la carpeta X86\Setup donde podemos encontrar el archivo setupsql.exe . Lo ejecutamos y seguimos los pasos. Aparece un mensaje diciendo que no se puede instalar SQL con herramientas de servidor, le damos OK y seguimos los pasos. Cuando acabe reiniciamos el PC.
  4. Una vez reiniciado, abrimos el ”Enterprise Manager” y allí veremos el servidor local:  FELICIDADES! Nuestro SQL ya está instalado y funcionando!!! Ahora tocará configurarlo y empezar a usarlo :P




Error al ejecutar aplicación ASP.NET con IIS 6.0

13 07 2007

A veces pasa que llevamos mucho tiempo trabajando en una aplicación y que desde Visual Studio se ve de fábula. Una vez acabada la publicamos,  ponemos los archivos en el directorio C:\Inetpub\wwwroot\ , abrimos el navegador, escribimos localhost en la barra de direcciones y…. TACHÁN!!! ERROR!!! El mundo abajo…. veamos hoy el típico error : App-Domain could not be created.

 El error que muestra es:

“Failed to execute request because the App-Domain could not be created. Error: 0×80131902″ . (Nota: El número de error puede variar…)

 Esto ocurre la primera vez que inicias una aplicación en el IIS con el framework 2.0 . No se exactamente porque (posiblemente sea por el orden de instalación del IIS y el framework 2.0) pero la solución es la siguiente:

  •  Ve a Inicio-Ejecutar y allí escribe cmd (abrir una ventana de comandos de Windows).

  • Dirígete al path donde tengas instalado el framework 2.0, si lo tienes por defecto seguramente será: C:\Windows\Microsoft.Net\Framework\v2.0.50727\ .

  • Una vez allí escribe: net stop w3svc para parar los servicios web.

  • Luego escribe aspnet_regiis.exe -i para instalar ASP.NET en el IIS.

  • Y finalmente reinicias los servicios de web: net start w3svc .

 Una vez hecho esto prueba a ejecutar la aplicación. Si está todo correcto funcionará.

 Saludos y espero que os sirva de ayuda!

 by Marc2c





Servidor WINS con Ubuntu

11 07 2007

Si queremos configurar un servidor Wins en Linux dentro de una red Windows, debemos modificar el fichero smb.conf perteneciente a samba. Aquí os muestro una posible configuración funcional. Otro día explicaré como instalar y configurar el servidor desde cero.

smb.conf:

#Ejemplo de configuración de smb.conf para un servidor Wins

[global]
server string = <descripción_del_server>
wins support = yes
debug level = 2
log file = /usr/local/samba/var/log.%U
max log size = 50
name resolve order = hosts wins
dns proxy = yes
wins proxy = yes
workgroup = <dominio> ó <grupo_de_trabajo>
netbios name = <nombre_del_server>
announce as = nt
announce version = 5.2
domain master = no
local master = no
preferred master = no
os level = 65

#——————

 Vayamos línea a línea explicando que es cada cosa:

  • server string. Es la cadena que verán los usuarios.
  • wins support. Controla que Samba actúe como servidor Wins.
  • debug level. Nivel de depuración (o de registro) en el fichero smb.conf .
  • log file. Fichero donde se genera el log de salida.
  • max log size. Tamaño del log de salida.
  • name resolve order. Determina qué servicios de nombres y en qué orden resuelven nombres de hosts a direcciones IP. Controla como se realiza la resolución NetBios. En nuestro caso hemos puesto hosts y wins: hosts hace una resolución de nombre de host a dirección IP usando el sistema de resolución del sistema /etc/hosts , NIS, o búsquedas DNS. Por otra parte wins pregunta por un nombre en la dirección IP address indicada en el parámetro wins server. El orden en que ponemos las cadenas será el que utilizará el servidor para resolver nombres.
  • dns proxy. Define si se utiliza el servidor Samba como un proxy DNS.
  • wins proxy. Define si se utiliza el servidor Samba como un proxy Wins.
  • workgroup. Nombre de grupo de trabajo o del dominio que utiliza nuestra red y donde queremos hacer funcionar nuestro servidor Wins.
  • netbios name.  Fija el nombre NetBIOS por el cual es conocido el servidor Samba.
  • announce as. Define como que tipo de servidor se anuncia Samba.
  • announce version. Versión con la que se anuncia.
  • domain master. Define Samba como un dominio maestro.
  • local master. Define Samba como un servidor local maestro.
  • preferred master.  Define si Samba es el “preferido” sobre otros servidores.
  • os level. Nivel de competencia para resolución de nombres.

 Espero que os sirva de ayuda. Una lectura muy recomendada para ver las posibilidades de Samba la podeis encontrar aquí .

 Saludos,

 by Marc2c





Instalar Windows XP en portátil con Vista preinstalado

11 07 2007

A muchos de vosotros os habrá pasado que al compraros un portátil nuevo os viene con el Windows Vista preinstalado y después de la hora eterna de instalación Vista, al ver su funcionamiento quereis instalar el Windows XP rapidamente. En mi caso fué un ordenador del trabajo cuya necesidad era el XP .

Ponemos el CD de instalación del Windows XP, seguimos todos los pasos perfectamente hasta que nos pregunta que deseamos hacer: instalar, reparar o salir. Escogemos instalar y cual es nuestra sorpresa al ver que el instalador no nos detecta el disco duro!!! Muchos de vosotros (yo incluido) pensareis: esto es cosa del SATA y empezareis a buscar drivers en la Web como desesperados…. NO LO HAGAIS! Es tirarse de cabeza en una piscina vacía….. la solución es así de sencilla:

  •  Cuando el ordenador se inicia teclear: F2, F9, F10 o F12 según el modelo que tengais.

  • Una vez estais dentro de la bios teneis que desactivar el SATA (System configuration”>”Device configurations”>”SATA Native Mode).

  • F10 para guardar los cambios y salir.

  • Reiniciar el ordenador e instalar XP con total normalidad.

Así de simple…. el problema vendrá luego para encontrar los drivers si el modelo es un HP NX7300… una odisea! Teneis que encontrarlos en el modelo nx7400 y otros por la red de redes…. SUERTE!

  Para los que no puedan hacerlo mediante la BIOS os paso un resumen de los pasos a seguir hecho por el usuario ^LaLo^ .

 ”Para esta opción, existe un pequeño inconveniente… necesitaremos una disquetera para poder hacerlo… y por desgracia estos portatiles HP no las traen. Con lo cual, nos vemos obligados a conseguir una disquetera USB si queremos instalar windows xp de esta forma.

Una vez tengamos nuestra disquetera USB conectada, debemos ir a la siguiente dirección y descargar el Controlador Intel SATA AHCI :

http://h20000.www2.hp.com/bizsupport/TechSupport/SoftwareDescription.jsp?lang=es&cc=ES&prodTypeId=321957&prodSeriesId=3310301&prodNameId=3310302&swEnvOID=1093&swLang=35&mode=2&taskId=135&swItem=ob-39535-1

*Esta URL es en concreto para el HP Compaq nx7300 y seguramente valga para todos los modelos.

Una vez descargado, lo ejecutaremos y meteremos un disquete donde grabará el controlador necesario para la instalación de Windows XP.

Sacamos el disquete y reiniciamos el portatil con el CD de Windows para iniciar su instalación. Una vez haya comenzado, metemos el disquete de nuevo.

Nada más iniciar, nos saldrá en la parte inferior un mensaje diciendo que pulsemos F6 si deseamos instalar SCSI o RAID de otro fabricante. Pulsamos F6 y seleccionamos el controlador AHCI que corresponda. (Si salen varios, tenemos que ir porbando hasta dar con el exacto de nuestra placa).

Si todo sale bien, la instalación detectará el disco duro y podremos realizarla sin problemas )  “

Para la mayoría de portátiles Acer, el problema es que no tienen la opción de desactivar el SATA en la BIOS. La solución es mas compleja y se tiene que utilizar un programa llamado n-Lite. Que haremos? Pues añadiremos los drivers de SATA en el CD de instalación de Windows XP para luego seguir con normalidad. Os dejo 2 páginas donde podeis encontrar enlaces a los drivers de SATA, al programa n-Lite y 2 fabulosos tutoriales explicando los pasos a seguir:

 http://komku.blogspot.com/2007/08/install-windows-xp-on-acer-aspire-4710.html

 http://foro.noticias3d.com/vbulletin/showthread.php?t=84695

 Ya que muchos usuarios han tenido problemas con los Acer (especialmente el Acer Aspire 4310) y el tema de montar la ISO es un poco “pesado”, el usuario Alejandro ha puesto la ISO del Windows XP modificado con los drivers SATA en Lime: teneis que poner a buscar la siguiente frase: “imagen para Aspire 4310″ . Gracias por tu colaboración ;)

Espero que os sirvan de ayuda! 

 Saludos,

 by Marc2c