30 de Agosto 2003

Cambiar la configuración del Proxy

Desde el trabajo salgo a internet por un proxy, pero desde casa no.

Asi que cada vez que voy y vengo tengo que hacer 8 clicks para cambiar la configuración.

Por fin me he decidido a realizar un script para realizar esta tarea:

El script se basa en los valores del registro para habilitar/deshabilitar la clave "ProxyEnabled"

 ' Proxy Util
 
 

Sub changeProxy()
Dim ProxyEnableHive
Dim WsShell
Dim current, newValue
Dim msg, title

title = "Proxy Enable Util"
ProxyEnableHive = "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ProxyEnable"

Set WsShell = WScript.CreateObject("WScript.Shell")
current = WsShell.RegRead(ProxyEnableHive)

msg = "Proxy is "
if (current=0) Then
newValue = 1
msg = msg & "disabled. "
else
msg = msg & "enabled. "
newValue = 0
end if
msg = msg & vbNewLine & "Do you want to change it?"

if (MsgBox(msg,4,title)=6) then
Call WsShell.RegWrite(ProxyEnableHive, newValue, "REG_DWORD")
Call MsgBox ("Proxy Settings Changed",0,title)
End if
WScript.Quit
End Sub

Call changeProxy()


A ver si os sirve !!

Posted by rido at 8:16 PM | Comments (1)

29 de Agosto 2003

Consejos para la creación de Soluciones con VS.NET

Después de trabajar con VS.NET durante algún tiempo, aqui presento una serie de consejos para facilitar la
estructura de las soluciones.


Consejos para la creación de Soluciones con VS.NET



  • 1.- Escoger el nombre de la Solución . Será el nombre del directorio raíz. <SolutionName>
  • 2.- Escoger el nombre del Proyecto. Será el nombre del Assembly (.exe | o.dll)·
    resultante. Además, si es un proyecto Web debe coincidir con el nombre del directorio virtual (vdir). <ProjectName>
  • 3.- Empezar siempre creando una solución en blanco. Al crear una solución en
    blanco, VS crea un directorio con el mismo nombre de la solución, este será el
    directorio donde crear el árbol de las fuentes (treesource). <SolutionName>
  • 4.- Los proyectos Web deben estar en la carpeta de la solución. Al crear un
    proyecto Web (WebForms o WebService) VS siempre lo crea por defecto en Intepub\wwwroot.

    Para conseguir que resida en el árbol· seguir estos
    pasos:


    • Crear el directorio Web dentro de la solución. <SolutionName>\<ProjectName>

    • Configurar este directorio con el mismo nombre <ProjectName> como vdir en IIS
      tres opciones :
      ( a manubrio | Properties->WebSharing | Con este
      script
      cambiando en la primera linea el nombre del proyecto).

    • Al crear un nuevo proyecto en VS escoger· "New Project in
      Existing Folder
      ", y darle el mismo nombre <ProjectName>.Cuando
      pida la localización introducir: http://localhost/<ProjectName>

    • Añadir el fichero de configuración (web.config)



    También podemos trabajar con aplicaciones ASP.Net sin necesidad de usar proyectos Web, según el artículo: ASP.NET Applications without Web Projects

  • 5.- Definir Referencias. Todos los componentes externos se deben copiar a una carpeta dentro del
    SourceTree un nombre típico para esta carpeta es depends, o simplemente
    lib. Una vez copiados se añaden las referencias, de forma que el fichero de proyecto guarda las rutas de forma relativa.
  • 6.- Compilación Automática. Una vez definida la solución se puede compilar automáticamente con el comando:
    c:>SolutionName>devenv <SolutionName> /build debug


Posted by rido at 1:33 AM | Comments (19)

28 de Agosto 2003

D.O.S. Here

Dos utilidades para los aficionados a la línea de comandos en Windows.
Mi Truco Favorito !!

Cómo abrir la línea de comandos desde Windows Explorer y que se posicione
en el directorio actual?


CommandPromp Here


Con el siguiente fichero INF
DosHere.inf
es tan sencillo como seleccionar con el botón derecho install.

Ya ni me acuerdo de donde lo copie, pero lleva conmigo unos años y de momento me ha funcionado en todas las versiones de windows !!

Bueno, y ya que abrimos una consola, por que no establecer el PATH a los directorios de VS?

Modificar el Registro según este ejemplo (Copiar a un fichero .reg):

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\shell\DosHere\command] @="c:\\WINDOWS\\System32\\cmd.exe /k \"\"c:\\Program Files\\Microsoft Visual Studio .NET 2003\\Common7\\Tools\\vsvars32.bat\" \"cd %1\"\""

Posted by rido at 11:18 PM | Comments (10)

XMLViewer Control

XMLViewer es un control que permite ver cadenas XML al estilo de IE, sin necesidad de guardar la cadena como fichero

Estamos acostumbrados a ver el XML según la representación que
hace IE5+ transformándolo a DHTML (HTML+JS+CSS).

Esta forma de ver los documentos XML se ha extendido, y parece
que cuando en un ejemplo o en una demo enseñamos el XML como
texto plano...

¡¡ ALGO FALTA !!

El responsable de esta representación es jmarsh@microsoft.com que
desarrolló la plantilla xsl que realiza la transformación.
La podeis encontrar como un recurso en MSXML.DLL (res://msxml.dll/defaultss.xsl)

Esta plantilla está desarrollada en el viejo estándar xsl, definido según
el esquema al que apunta el namespace: http://www.w3.org/TR/WD-xsl

El problema es que este lenguaje está obsoleto, y como tal nuestro
nuevo parser de XML (System.Xml) no lo soporta.

Por lo que la única forma (que yo conozco) de mostrar así el XML es
guardándolo a disco y abriéndolo con explorer, bien desde una URI local o
bien desde una URL remota.

Muchas veces en el desarrollo de una aplicación tratamos el XML en memoria,
pero durante el desarrollo, depuración o test necesitamos ver el documento,
y es un poco incómodo tener que guardarlo a disco para poderlo ver como estamos acostumbrados.

Gracias a Steve Muench (El guru de XML en ORACLE) contamos con la versión XSLT
de esta popular plantilla, archivada en: http://www.biglist.com/lists/xsl-list/archives/200003/msg00769.html,
y que por supuesto funciona con las transformaciones que hacemos en .NET.

Basándome en esta plantilla he realizado el control XMLViewer que
transforma documentos XML a HTML basándose en la plantilla XSLT estándar
para realizar la transformación con System.Xml.Xsl.

Lo podeis descargar desde mi WorkSpace en GotDotNet.

PD: Para más info en el tema http://www.perfectxml.com/articles/xml/XSLTInMSXML.asp

Posted by rido at 7:45 PM | Comments (0)

27 de Agosto 2003

ToDo List

Desde que leí Test Driven Development siempre
trabajo con Lista de "por hacer", en inglés:
ToDo List.

Las "TODO Lists" Son una herramienta muy util para ayudar a gestionar las prioridades a medida que avanza el desarrollo.

Como ejemplo la lista que tengo para el sencillo control XMLViewer.


  • Eliminiar referencia a MSHTML

  • Gestión de Excepciones

  • Mejorar la transformación xsl ¿Usar Streams en vez de strings?

El problema (como siempre) es tener tiempo para implementar todo.

Posted by rido at 11:06 PM | Comments (17)

Estreno

Estoy Programando es un Blog para describir mis experiencias como programador de aplicaciones.

Espero ir dejando aqui mis aventuras con la plataforma .NET, los problemas y las soluciones que he ido encontrado.

Posted by rido at 10:24 PM