Resetear Configuraciones de Word

El dia de hoy en mi computadora del trabajo me tope que mi word estaba con una configuracion modificada (alguien uso mi PC estos dias :@ ) y que trate de modificarla y dejarla como estaba antes, pero no encontre como, y como necesitaba usar el word ya!! pues busque como volverlo a las configuraciones de fabrica o resetearlas.
Una opcion podria ser correr el instalador del office y elegir modificar/reparar, pero no tenia el instalador a la mano :(

Asi que luego de indagar por ahi, le meti la mano al Registro y luego de eliminar una llave se reseteo toda la configuracion.

Dependiendo tu version de office la llave es :

Word 97 :
HKEY_CURRENT_USER/Software/Microsoft/Office/8.0/Word
Word 2000 :
HKEY_CURRENT_USER/Software/Microsoft/Office/9.0/Word
Word 2002 :
HKEY_CURRENT_USER/Software/Microsoft/Office/10.0/Word
Word 2003 :
HKEY_CURRENT_USER/Software/Microsoft/Office/11.0/Word
Word 2007 :
HKEY_CURRENT_USER/Software/Microsoft/Office/12.0/Word

Lo que hay q hacer es borrar el la carpeta Word, si le das un vistazo, aqui se guardan algunas configuracion propias que se realizan por el usuario, en su perfil.
Para esto tienes q tener cerrado el word, ya que este guarda las configuraciones al cerrar el word y seria lo mismo que nada si tenemos un documento abierto.

Si conocen otra manera de resetear la configuracion, pues compartela!!! :D

Links de Interes:
http://word.tips.net/Pages/T001330_Factory_Default_Settings_for_Word.html

Bytes!

Como nacen los niños? – bien Geek

Como atraer a una mujer…. jejeje

Feliz Dia del Programador!!!

pd_logo-1

printf("Feliz Dia Del Programador!");
cout << "Feliz Dia Del Programador!";
System.out.println("Feliz Dia Del Programador!");
System.Console.WriteLine("Feliz Dia Del Programador!")";

//Pdta. estas lineas codigo representan a los
//lenguajes de programacion que me iniciaron, 
// y me mantienen en este fascinante mundo! :)


Hoy es el dia 256 del año :D un dia curioso y especial para todos nosotros :D algunos loquitos y otros marcianos xD que paramos sentados programando, analizando, programando, pensando, programando, jugando, programando, investigando, programando y siempre relacionados e interactuando con codigo diariamente :D

Algunos "mortales" (ojo es solo un termino que a veces bromeamos con algunos compañeros) se preguntaran por que hoy dia? eh aqui la respuesta: 

2^8 = 256 = numeros de valores representados en un byte, que es la unidad basica de almacenamiento de informacion o codigo de caracteres :)

Dicho dia es el 13 de Septiembre de cada año, y en los años bisiestos como este es el 12 :)

Incluso existe una pagina web que impulsa a celebrar este dia no-oficial : ProgrammerDay.info., pero que ya se volvió una fecha significativa para nosotros.

Siguiendo la tradicion de algunos años, programaremos algunas curiosidades, jugaremos algunos juegos en ese olvidado DOS y que algunos los tenemos en el baul de los recuerdos pero "inolvidables", chistes y bromas geeks por todos lados.

Con tal motivo un saludo a mis amigos colegas en esta bonita y alucinante aficion!!!

//Java
public class DiaProgramador
{
public static void main(String args []) {
while(true)
{
System.out.println("Happy Programer's Day! and Happy Hacking :) ");
}

}
}

//C#
public class DiaProgramador
{
public static void Main()
{
while(true)
{
System.Console.WriteLine("Happy Programer's Day! and Happy Hacking :) ");
}
}
}



Y no podian faltar algunas imagenes Geeks! :

tarta-programador



Si eres un gammer seguro entenderas el porque de esta batalla xD :



GuerraKeyGammers



Un clasico mensaje que a veces se dicen jajaja :



programador2



Links de Interes :

http://www.programmerday.info/


http://www.diadelprogramador.com.ar/


Bytes!

Reparando el boot.ini - Bootcfg

El fin de semana un amigo me consulta acerca de un mensaje que aparecia en su computador :

Archivo Boot.ini no válido
No se ha iniciado Windows porque el siguiente archivo falta o está dañado:
Windows\System32\Hal.dll

Bueno lo primero que hice fue buscar el archivo Boot.ini(por defecto oculto) en la particion del sistema, en este caso la unidad C, y oooohhh sorpresa no estaba...mmm bueno el porque o como desaparecio, nunca lo supimos fue capas una actualizacion, por casualidad, un virus(es lo mas probable con la cantidad de bichos que mate esa tarde).

Bueno los pasos que segui fueron sencillos y nada complicados, (OJO es requisito saber el password del usuario Administrador ).

1.- Arrancar la computadora desde la lectora de CD/DVD con el disco de instalacion del Windows XP adentro claro esta!.
2.- Esparamos un toque y en la pantalla "Programa de Instalacion" presionamos R para iniciar la Consola de Recuperacion.
3.- Si es que tenemos varias instalaciones, pues seleccionamos la que queremos reparar.
4.- Ingresamos la contraseña del Adminitrador (para esto era vez!).
5.- Si tuvieramos algunas entradas en el archivos Boot.ini podriamos verlas con  el comando bootcfg /list (pero en nuestro caso nos daria que no hay nada, pues claro si no hay archivo Boot.ini ).
6.- Ahora para crear un nuevo archivo usamos el comando bootcfg /rebuild con esto nos mostrara las instalaciones de Windows XP, Windows 2000 y Windows NT instalados en la PC.
7.- Luego elegimos las Instalaciones que deseamos que se agreguen al inicio.
8.- Cuando nos pida un identificador de Carga, elegimos el nombre con el que queremos identificarlo, por ejemplo "Microsoft Windows XP"
9.- Luego para las opciones de Carga puedes poner colocarle algun Modificador del Arranque, como por ejemplo /fastdetect para que omita la deteccion de puertos serie.
10.- Finalmente Exit.

reparando...

Con esto ya no habra ese mensaje al inicio y colorin colorado este problem se ah terminadoooo!.... la la la laaaa

Links de Interes :
Explicacion del comando Bootcfg y sus usos :
http://support.microsoft.com/kb/291980/es
Como modificar el archivo boot.ini :
http://support.microsoft.com/kb/289022

Bytes!

Windows Installer CleanUp Utility

Otra cortita xD .... hace un momento necesite esta herramienta y lo posteo como aporte pa la red :)

En ocaciones nos sucede que instalamos o desinstalamos mal algunos productos por X motivos... son estas ocaciones en las que personalmente me ayudo mucho esta herramienta.

Lo que hace es eliminar la informacion de configuracion de Windows Installer con nuestro programa, como el registro u otras mas. Bueno esto funciona siempre y cuando el software fue instalado utilizando Windows Installer.

Windows Installer Clean Up

OJO!!! este herramienta NO desinstala el software!, solo elimina al informacion relacionada a la instalacion, si en algun momento volvemos a instalar es recomendable hacerlo en el mismo directorio que fue instalado anteriormente, para que no existan archivos duplicados y que ocuparan espacio en el disco.

Link de Interes

http://support.microsoft.com/kb/290301

Bytes!

Intercalación [Collation] en SQL Server

Es sabido que SQL Server nos permite establecer propiedades para configuraciones regionales, codigos de pagina, soporte multilingüe, etc. para el tema de intercionalizacion, por ejemplo cuando en algun momento quisieramos que solo en una columna de nuestra tabla tenga sencibilidad para mayusculas y minusculas, mas en toda nuestra BD no sea necesario eso.

Ahora como una pequeña introduccion al tema, SQL Server puede manejar 4 niveles de Intercalacion :

  • Nivel de Servidor
    Personalmente considero que es la principal ya que de aqui hereda toda configuracion de Intercalacion que no se indique de manera explicita.
  • Nivel de Base de Datos
    Puede heredar del Servidor o se puede escoger una diferente.
  • Nivel de Columna
    Se define al momento de crear la tabla o columna
  • Nivel de Expresión
    Son expresiones utilizadas en Transact-SQL

Ahora comento un poco como conoci esto: sucedio tras el pase de nuestra BD de desarrollo, hacia el ambiente de pruebas del cliente.
En nuestro servidor de desarrollo tenia instalado el SO en español y la SQL Server tambien en español, pero en el Servidor de desarrollo del cliente, tenia el SO en Ingles y el SQL Server tambien en ingles.
Ahora levantamos el Backup todo bonito y terminamos algunas configuraciones posteriores y ejecutamos la aplicacion. Llego un momento en que la aplicacion no funcionaba(y ahi salta la grandiosa frase, "pero en mi maquina si funcionaba..." (risas xD)). El error que mostraba la aplicacion era :

Cannot resolve the collation conflict between "SQL_Latin1_General_CP1_CI_AS" and "Modern_Spanish_CI_AS" in the equal to operation.

y son en esos momentos en los que: "what???? y eso de donde salio????smile_confused". El error saltaba cuando se llamaba a un Store Procedure que creaba y consumia tablas temporales [#Table], y pues cuando trabajabamos con tablas temporales estas no se crean en el vacio se crean en la System Table tempdb y cuando miramos en sus propiedades ooohhh sorpresa "SQL_Latin1_General_CP1_CI_AS" chess eh aqui el problema y es que sucedio que el administrador de ese server solo le dio Next Next Finish, punto negativo para ellos (o tambien puede ser por que nosotros no le indicamos nada smile_sarcastic punto negativo pa nosotros...plop!), el tema fue que cogio todas las configuraciones por default y las asigno a las System Tables, si no se le indica al Instalador nada sobre la Intercalacion pues este coge la Intercalacion del Sistema Operativo.

Pero por con esto no quiere decir que sea definitivo, hay maneras de modificarlas, claro siendo conscientes que hay peligro por la compatibilidad con la nueva Intercalacion.


Para hacer las consultas nos niveles de Intercalacion :

---------------------------------------------------------------------
-- A TRAVEZ DE TRANSACT-SQL PODEMOS HACER CONSULTAS PARA VERIFICAR --
-- LA INTERCALACION EN NUESTRO SERVIDOR: --
-- (segUn el lenguaje de instalación, varia la consulta --
---------------------------------------------------------------------
-- Para Consultar la Intercalacion a nivel de Servidor

SELECT CONVERT(varchar, SERVERPROPERTY('intercalación'))
SELECT CONVERT(varchar, SERVERPROPERTY('collation'))

-- Para consultar a nivel de base de datos:

SELECT CONVERT(varchar, DATABASEPROPERTYEX('pubs', 'intercalación'))
SELECT CONVERT(varchar, DATABASEPROPERTYEX('pubs', 'collation'))

-- Tambien podemos usar el SP del Sistema y mirar en la columna [Status]

Exec sp_helpdb pubs

-- Con el SP del Sistema sp_help, podemos ver las intercalaciones en las columnas.

USE pubs
EXEC SP_HELP authors

-- Para consultar la lista de todas las intercalaciones SQL y Windows.

SELECT * FROM :fn_helpcollations()

-- Para consultar las propiedades de una intercalación.

SELECT COLLATIONPROPERTY('Latin1_General_CS_AI', 'codepage')
SELECT COLLATIONPROPERTY('Modern_Spanish_CS_AI_KS_WS', 'codepage')



Para modificar podemos usar estas lineas:




-- Para modificar la Intercalacion a nivel de Base de Datos
ALTER DATABASE DbPrueba COLLATE SQL_Latin1_General_CP1_CI_AS

-- Para modificar al Intecalacion a nivel de Columna
ALTER TABLE tblCiudad ALTER COLUMN f_pais varchar (50) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL



Ahora tambien se puede hacer la modificacion a nivel de Servidor, pero tenemos 2 opciones :

1.- Recontruir la Master, pero esto no es tan sencillo como los anteriores, para SQL Server2k se puede utilizar la herramienta REBUILDM, para SQL Server2k5 hay que hacerlo desde la media de instalacion, indicando en el wizard de modificacion (asi dice en la MSDN Library, pero personalmente fue el unico que no encontre, seguire intentando y luego lo posteo).


2.- Instalar Nuevamente el Servidor de BD, jajaja si pues realmente escoges esta opcion en casos extremos o si quieres asegurarte que funcione bien! xD


ventana_Colletion



Luego de realizar las modificaciones la aplicacion funciono tranquila smile_regular 
Pdta. Solo como recomendacion, nunca instalen Next Next Finish, lean hasta el Contrato de Instalacion antes de pulsar Next(Siguiente), y traten de seleccionar la instalacion Personalizada(Custom) ya que con esto podemos configurar las cosas como deseemos y no perdamos tiempo valioso reconfigurando o causando funcionamientos inesperados.


Links de Interes:


[Parte de este post es resumen de este enlace y que me sirvio como guia para solucionar mi inconveniente]

http://www.microsoft.com/spanish/msdn/comunidad/mtj.net/voices/MTJ_2511/default.aspx



http://technet.microsoft.com/es-es/library/ms143269(SQL.90).aspx


http://geekswithblogs.net/mskoolaid/archive/2005/12/17/63413.aspx


Bytes!

Instalar SQL Server 2000 en Windows XP

Seeseseeeee ya lo se, es un tema bien pero bien anticucho (teniendo en cuenta que ya estamos en SQL Server 2008 y Windows Vista), pero me vi en la necesidad de instalar esta pareja de software, ademas teniendo en cuenta que tengo instalado en mi PC SQL Server 2005 y estoy muy seguro que no soy el unico en el mundo que le sucedio esto!!!

Bueno tenia entendido desde el Instituto que en Windows XP solo se podia instalar las herramientas cliente de SQL Server 2000 o el Desktop Engine, bueno pero hoy me entere años despues que si se puede! (claro es un si a media caña, ya que no estan disponibles todas sus funciones).

1.- En el CD de Instalacion del SQL Server 2000 o donde tengas el instalador xD : Navegamos hasta  Unidad:\msde\setup.exe y lo ejecutamos.
Ahora aqui viene algo intesante, cuando yo hice esto pues no me dejaba instalar y salia este mensaje:

El nombre de la instancia especificado no es válido.

Asumo que era por que ya tenia instalado el SQL Server 2005, mmm asi que opte por instalar de esta manera (desde linea de comando) :

Unidad:\msde\setup.exe INSTANCENAME="[NombreDeInstancia]"


esta demas decir que [NombreDeInstancia] lo cambio por el nombre de la nueva instancia de mi SQLServer 2000.

Una vez instalado, reiniciamos el equipo, y al iniciar te das cuenta que en al barra de tareas figura el clasico Service Manager, y si no estan iniciado los servicios los iniciamos.

2.- Nuevamente en el CD de Instalacion navegamos a esta ruta :

   Unidad:\x86\setup\setupsql.exe

Ejecutamos y seguimos los pasos, cierto que siempre nos saldra el mensajito que no se puede instalar la version server sino solo las herramientas cliente, acepta nomas xD e instalas todo normal.

Luego de reiniciar la PC,  abrimos el historico Enterprice Manager y configuramos agregando una nueva instancia, si no ves el nombre de instacia ( como fue mi caso ), puedes sacar el nombre de la instancia instalada, desde el Service Manager. (en mi caso fue [NombreMaquina]\[NombreInstancia] ).

Y asunto solucionado! digo Instalado! jejeje xD

Bytes!

[SSIS] Excel Source y valores NULL

Esto me acaba de suceder hace unos minutos y lo postee como referencia pa otros y pa mi ^^  :

Para que el Excel Source se conecte con una archivo Excel, pues usa e Proveedor Microsoft OLE DB para Jet 4.0 y el Controlador ISAM, en la red hay varios KB documentando el comportamiento de esta pareja, algunos inesperados...como es este caso...

Este problemilla se debe a una limitacion del controlador ISAM, el Controlador lee como muestra, de manera predeterminada, las 8 primeras filas para elegir el tipo de dato que se le dara a cada columna, ahora cuando la columna de excel guarda filas con diferentes tipos de datos, pues el controlador elige el tipo de datos mas usado en esa columna y devuelve valores NULL en las celdas que contengan otro tipo de datos (para el caso de haber igual cantidad de tipos de datos, el tipo numerico tiene prioridad).

 preview_query_results

Para solucionar este inconveniente, pues hay que especificar el modo de importacion, esto es agregando IMEX=1 en las propiedades extendidas de la cadena de conexion.

queryStringExcel preview_query_results2

Para modificar algunos valores predeterminados para la Importacion de Excel (como TypeGuessRows para la cantidad de filas de muestreo), se hace en esta llave :

HKEY LOCAL MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel

Links de Interes :

http://technet.microsoft.com/es-es/library/ms141683.aspx
http://support.microsoft.com/kb/194124/en-us/

Bytes!

Modificar Nombre de BD

una cortita nomas :) ...para renombrar una Base de Datos en SQL Server, hay estos dos metodos (asumo que hay mas maneras, porfas si conoces una adicional comentalo)....

Usando el Store Procedure sp_renamedb, segun el MSDN Library se quitara para las siguientes versiones del SQL Server(por lo menos dice que funciona hasta SQL Server 2008), asi que si tienes unas versiones anteriores, esta disponible :

EXEC sp_renamedb 'NombreActualDB', 'NuevoNombreDB'

La otra manera ( y recomendado en el MSDN Library, tras el retiro del SP mencionado arriba)  es usar al ALTER DATABASE :

ALTER DATABASE NombreDB_ORIGINAL MODIFY NAME = NuevoNombreDB

Pdta. usando el SP necesitaras colocar el nombre entre comillas, y para el segundo sin estas.


Links de Interes :

http://msdn.microsoft.com/es-es/library/ms186217.aspx
http://msdn.microsoft.com/en-us/library/aa275464(SQL.80).aspx

Bytes!

SystemInfo.exe -> Informacion del Sistema

Hoy dia necesite por razones X saber la fecha de instalacion de mi Windows XP en mi computador, recorde el comando systeminfo, el cual te da la Informacion del Sistema y entre esos datos esta la fecha de instalacion original del windows.

image

Esto no va con el titulo del post, pero como en el momento no recordaba el nombre del comando, pues yo tenia un script vbs para ver la fecha de instalacion del windows que lo baje hace tiempo de internet asi que lo comparto :

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set objOS = objWMIService.ExecQuery("Select * from Win32_OperatingSystem")

For Each strOS in objOS

dtmInstallDate = strOS.InstallDate
strReturn = WMIDateStringToDate(dtmInstallDate)
Wscript.Echo "Windows se instaló en esta computadora el" _
& Chr(13) & Chr(13) & " " & strReturn & Chr(13) & Chr(13) _
& "Formato: Dia/Mes/Año Horas:Minutos:Segundos"
Next

Function WMIDateStringToDate(dtmInstallDate)
WMIDateStringToDate = CDate(Mid(dtmInstallDate, 5, 2) & "/" & _
Mid(dtmInstallDate, 7, 2) & "/" & Left(dtmInstallDate, 4) _
& " " & Mid (dtmInstallDate, 9, 2) & ":" & _
Mid(dtmInstallDate, 11, 2) & ":" & Mid(dtmInstallDate, _
13, 2))
End Function





Enlaces de Interes :

http://technet.microsoft.com/en-us/library/bb491007.aspx



Bytes!

Google Code Jam

El dia viernes 11 hubo una charla en la UNI sobre este concurso que esta organizando Google. Bueno comento que particularmente me entere de muchas cosas nuevas y creo que tambien eran logicas pero a veces no nos damos el tiempo de buscar, por ejemplo es el caso de varios concursos de programacion que hay en internet, incluso algunos son libres y con premiossmile_regular.

codeJamSobre el concurso de Code Jam, es un concurso de Algoritmica (la mayoria son problemas NP-Hard y programacion dinamica) en el cual ellos te proveen de la pregunta y lo puedes desarrollar con un Lenguaje de Programacion que su "compilador sea libre" (llamese esto que no tiene costo, por ejemplo C, C++,Java, C#, VB.net), luego entregas el codigo fuente y el archivo de resultado(casi siempre son archivos .txt).El concurso consta de varias rondas con niveles de dificultad en las preguntas, para pasar la primera ronda solo tienes que solucionar un problema, que no es muy complicado, las primeras rondas son on-line y las finales son presenciales, para esto Google te paga todos los gastos de viajes y hostadia.

El concurso es en Idioma Ingles, el premio para el primer puesto es de $10,000, y comienza el dia miercoles (si osea hoy), pero al momento del registro puedes elegir el dia y la hora en que rendiras el examen.

Enlaces de interes:
Pagina Principal del Concurso (http://code.google.com/codejam/)

Reglas del Concurso (http://code.google.com/codejam/rules.html)

Adicionalmente, publico algunos enlaces que me parecen interesantes, algunos sobre otros concursos, y/o enlaces a descargas de materiales.... :

Enlaces de Interes:

Top Coder (http://www.topcoder.com/)

Internation ACM Programming Contest (http://acm.uva.es/)

International Mathematical Olympiad (http://imo.math.ca/)

Massachusetts Institute of Technology(http://web.mit.edu/)

cursos gratuitos sobre programacion y ciencias de la computacion

Bytes!

Cultura en el CalendarExtender

Bueno este ejemplo es un algo sencillo pero que particularmente me sirvio hoy dia, asi que decidi postearlo de todas mangas! xD

Sucede que por default el Calendar Extender se muestra en idioma Ingles a pesar que tengas configurado en tu web.config la cultura deseada.

Para darle solucion a este temilla hay que cambiar a "true" en las propiedades : EnableScriptGlobalization y EnableScriptLocalization, en el ScriptManager :

<asp:ScriptManager ID="ScriptManager1" runat="server" EnableScriptGlobalization="True" EnableScriptLocalization="True" />

Adicionalmente si lo que deseas es que coja el idioma del navegador, solo hay que agregar Culture y UICulture con el valor "auto" en la directiva Page de nuestra pagina aspx :


<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Ejemplo.aspx.cs" Inherits="_Ejemplo" Culture="auto" UICulture="auto" %>


Bytes!

Controlador de bus HD Audio


Este fin de semana me tope con el siguiente el error: "Se requiere el controlador de bus HD Audio y no lo encuentra." al tratar de instalar el driver de audio para una placa integrada :
msjSoundMax

mmm pues claro que el driver lo habia bajado de la web del fabricante del equipo (en mi caso HP). El problema radica en que se necesitaba actualizar el controlador de clase High Definition Audio Arquitectura de Audio Universal (UAA), ya que al parecer para algunos fabricantes es necesario su actualizacion, mi solucion personal fue ejecutar el Windows Update escogiendo el modo personalizado y con esto solo escogi la actualizacion del UAA, para posteriormente reinstalar el Driver de Audio.

Para mas Info el Microsoft Knowledge Base Article 888111.

Adicionalmente tambie encontre estos enlaces de la web de algunos fabricantes, indicando la misma solucion :

Hewlett-Packard
http://h20000.www2.hp.com/bizsupport/TechSupport/SoftwareDescription.jsp?lang=en&cc=US&swItem=ob-45958-1
Realtek
http://www.realtek.com.tw/downloads/downloadsCheck.aspx?Langid=1&PNid=24&PFid=24&Level=4&Conn=3&DownTypeID=3&GetDown=false

Pdta. Luego pude disfrutar de una maraton de Saint Seiya hasta el OVA 30 de la Saga de Hades  yeeeeeee! :D


Bytes!

Download Day 2008 - Firefox 3

Download Day - Spanish Download Day
Download Day? bueno es el intento que se estan proponiendo la gente de Firefox para marcar un nuevo record Guinness como el software mas descargado en 24 horas, y sera el dia de la publicacion de su Firefox 3 (17/06/08) bueno y para ello solo necesitan del apoyo de las personas que usan Firefox, en mi caso personal eh tenido buenas experiencias con este navegador desde que lo empecé a utilizar por motivos laborales, y pues dare mi apoyo! ;)

La fecha oficial de la publicación de Firefox 3 es el 17 de junio de 2008.

Bytes!

10 Best Practices para SQL Server Integration Services

Navegando y buscando info sobre SQL Server Integration Services (SSIS) pues me tope con este post interesante en el blog de ElBruno y lo mejor que esta en idioma español, habla sobre las 10 mejores practicas sobre la utilizacion del SSIS, se los recomiendo esta bueno, y pues es una traduccion de post de Kuldeep Chauhan (Microsoft), el original en idioma ingles aqui.

Bytes!

How To Install Ux Theme Multi Patcher

Bueno para comenzar, los Themes de Windows XP son bonitos pero hay personas que tienen sus propios Themes, particularmente no me gustan del todo, no se les falta algo, en cambio el Thema de Vista pues me parece paja (paja: dicese de chevere, alucinante, "bueno" en pocas palabras), y pues hasta hace un tiempo por casualidades de la vida me tope con un Theme para Windows XP que simulaba al Vista Beta 2 ( ta q suena bien antiguo no?, seee pero me gusta ps xD ), bueno y hasta el dia de hoy me gusta. Bueno regresando a lo tecnico, pues cuando trate de instalarlo inicialmente, pues no me dejo ya que tenia que estar firmado por Microsoft o algo asi, mmm navegando encontre el UxTheme Multi-Patcher un programita que parchaba la libreria uxtheme.dll aca describo algunos pasos de instalacion :

Metodo 1 :

Descarga el UxTheme Multi-Patcher en algun lugar de tu PC,  ux2recuerda ser ordenado! (los que me conocen saben que en mi no es normal hablar de orden).
Luego descomprimes y ejecutas el .exe una ventana te aparecera con informacion, click en Patch.
Un Mensaje nuevo se muestrara con el titulo : "Windows File Protection", espera un momento antes de clikear en Cancel,( OJO! si Windows te pide tu CD de Instalacion de Windows, pues no lo hagas!!!).
Luego de cancelar el Windows File Protection, te preguntara "Are you sure you want to keep these unrecognized files versions?”, pues luego en Yes y Finalmente en OK.

                    ux

Y luego de una reiniciada, solucion, ya se usar tu Theme que desees

Metodo2 :

Ahora hay otro metodo, este es un poco mas manual, algunos lo usan cuando el Multi-Patcher no hizo bien su trabajo, particularmente yo lo use cuando Instale el Service Pack 3 de Windows XP, y pues ya no me dejaba usar mi Theme de vista nooooo!!!! y con el esfuerzo que me tomo adaptar todo...mmmmm naaa o hallo una solucion o hago un RollBack!!! pero eh aqui la solucion:

Para esto hay que descargar la dll uxtheme (ojo aqui hay para varias versiones del Windows XP, de ahi baje para el SP3), adicionalmente necesitaras este script de nombre replacer, que es un script para reemplazar archivos protegidos o en uso.


Extrae Replacer.zip en algun sitio de tu PC y ejecuta Replacer.cmd luego arrastra el uxtheme.dll original ( normalmente esta en :            %SystemRoot%\system32\uxtheme.dll) luego te pedira el uxtheme.dll modificado osea el que descargaste.

replacer

Finalmente una reiniciada y Listo!.

Con este parche ya puedes instarle el Theme que desees.

Bytes!

Virtual CD-ROM Control Panel for Windows XP

This disc contains a "UDF" file system and requires an operating system
that supports the ISO-13346 "UDF" file system specification.

Todo nacio con este mensaje...pues habia terminado de bajar la ISO del Visual Studio 2008 desde mi MSDN Subscription, y pues cuando lo quise abrir con mi Ultra ISO, pues lo unico que veia era un archivo TXT con ese mensaje....bueno pues encontre una solucion a esto, hay un herramienta para Windows XP que muestra las imagenes ISO montadas virtualmente como un dispositivo CD-ROM/DVD-ROM, esta herramienta es provista desde el sitio descarga de Microsoft bajo nuestra responsabilidad ya que no esta soportada por Microsoft Product Support Services :

  • Virtual CD-ROM Control Panel for Windows XP

    Ahora pues otra Opcion que un amigo me brindo fue usar el WinRar 3.71 mmm la verdad yo tenia un version un poco anticucha por eso no reconocia este ISO, pero con esta version actualizada tambien pude ver los datos de esa imagen, pero entre estas dos opciones es que con una necesitaba espacio extra para descomprimir mis 3Gb y en cambio con el otro no.

    Enlaces de Interes:

    http://msdn.microsoft.com/en-us/subscriptions/aa948864.aspx#subdwnld

    http://www.winrar.es/descargas

    Bytes!

  • se abren dos ventanas de Mis Documentos al iniciar Windows

    Reparando la pc de un amigo, pues me tope con un inconveniente....al iniciar el Windows XP SP2 pues se abrian dos ventanas de mis documentos automaticamente, pues bueno luego de buscar en internet, navegar en el registro de windows varias veces, msconfig, y demas cosas que se me ocurrieron, di con esta solucion:

    Para comenzar navegue a esta ruta del registro de windows :

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon

    ahi dentro modifique la clave Userinit la cual tenia el siguiente valor : "userinit.exe, EXPLORER.EXE"

    bueno pues luego de muchos foros, paginas y el KB de microsoft, opte por la recomendacion y lo deje en C:\WINDOWS\system32\userinit.exe si buscan en windows y ejecutan ese programa, pues se daran cuenta que abre un explorador de windows con mis documentos. (oohhhh si! para mi fue nuevo, no la sabia).

    Bueno pero con eso solucione que se abriera una ventana, pero faltaba una, busque nuevamente en el msconfig, y pues antes de modificar la llave del registro yo recuerdo haber limpiado la configuracion de Inicio en el msconfig y dejarla que solo inicie los drivers de video y sonido, pero ahora habia un EXPLORER.EXE que aparecia ahi, pues lo que hice fue quitarlo, y solucion terminada.

    Enlaces de interes :

    http://support.microsoft.com/kb/899865/en-us/
    http://www.fermu.com/content/view/41/26/lang,es/

    cositas del Group By

    Holas, bueno aqui en lineas comento una anecdota personal que me paso el dia de ayer y en realidad son "cositas" que nos olvidamos o no nos damos cuenta, pero lo coloco como observacion. Pues es conocido que la sentencia SQL : Group By pues sirve para agrupar las filas de salida de nuestro query.

    Ahora bien mirando un ejemplo sencillo, para recordar, pues tenemos el resultado :

     

    SELECT SalesOrderID, SUM(LineTotal) AS SubTotal
    FROM SalesOrderDetail
    GROUP BY SalesOrderID
    ORDER BY SalesOrderID

    SalesOrderID SubTotal
    ------------ ---------------------------------------
    43659        20565.620600
    43660        1294.252900
    43661        32726.478600
    43662        28832.528900
    43663        419.458900
    43664        24432.608800
    43665        14352.771300
    43666        5056.489600

    ........

     

    Aja!!! claro todo bonito y funciona!!! pero mmm ahora les cuento mi anecdota... estaba haciendo una consulta y con el Group By a una expresion,  de esta manera y obteniendo el siguiente resultado:

    SELECT
        CONVERT(CHAR,DFECHA_CONTABLE,103) AS 'Fecha Contable',
        SUM(IMONTO) AS 'Gasto por Dia'
    FROM
        GASTOS_DETALLE
    GROUP BY
        DFECHA_CONTABLE
    ORDER BY
        DFECHA_CONTABLE

     

    Fecha Contable                 Gasto por Dia
    ------------------------------ ---------------------------------------
    06/05/2008                     50.00
    06/05/2008                     12.00
    06/05/2008                     138.00
    06/05/2008                     38.00
    06/05/2008                     1200.00
    07/05/2008                     38.00
    07/05/2008                     100.00
    07/05/2008                     10.00
    07/05/2008                     5.00

    (9 row(s) affected)

     

    What??? oseaa??? y el agrupamiento???..., pues me di con la sorpresa que no lo estaba agrupando por el dia especifico, mmm pues y ahora?? bueno pues luego de navegar, pues me encontre con esta solucion bien logica por cierto :

    SELECT
        CONVERT(CHAR,DFECHA_CONTABLE,103) AS 'Fecha Contable',
        SUM(IMONTO) AS 'Gasto por Dia'
    FROM
        GASTOS_DETALLE
    GROUP BY
        CONVERT(CHAR,DFECHA_CONTABLE,103)
    ORDER BY
        CONVERT(CHAR,DFECHA_CONTABLE,103)


    Fecha Contable                 Gasto por Dia
    ------------------------------ ---------------------------------------
    06/05/2008                     1438.00
    07/05/2008                     153.00

    (2 row(s) affected)

     

    Y pues en realidad habia logica en esto, pues si dado que el campo DFECHA_CONTABLE es de tipo Datetime, y por lo tanto tambien influyen la hora, minuto, segundo que fue grabado, y si hace el agrupamiento por el campo solo como lo coloque anteriormente no obtenia el resultado que queria, pues aqui la leccion del dia : al momento de usar una expresion, pues incluir esa misma expresion en la clausula Group By, y asunto resuelto.

    Bytes!

    Enlaces de Interes :

    http://technet.microsoft.com/es-es/library/ms177673.aspx

    Query para listar las tablas y campos de tu BD

    Particularmente varias veces me ah sucedido que necesito los campos de una tabla en especial ademas de sus tipo y longitud del campo, bueno con este query resolvi varios inconvenientes ya que lista las el nombre de las tablas, nombre de los campos, tipos de datos y su longitud.
    Para ello consultamos a las System Tables de la BD: sysobjects contiene una fila por cada objeto que se crea en nuestra BD, entre ellos las tablas, definidas con el tipo 'U', syscolumns devuelve una fila por cada columna en en nuestra tabla y vista y tambien una fila por cada parametro de un stored procedure, y systypes para traer el nombre del tipo de datos, ya que tenemos los codigos de los tipos en syscolumns.

    Es un query basico que se puede ampliar.

    SELECT 
    Table_Name=sysobjects.name,
    Column_Name=syscolumns.name,
    DataType=systypes.name,
    Length=syscolumns.length
    FROM
    sysobjects INNER JOIN syscolumns
    ON sysobjects.id = syscolumns.id
    INNER JOIN systypes
    ON syscolumns.xtype=systypes.xusertype
    WHERE sysobjects.xtype='U'
    ORDER BY sysobjects.name,syscolumns.colid



    Bytes!

    Hola Mundo!!! » Primer Post :)

    [Dicho en algunos sabores que eh probado...]

    printf("Hola Mundo!"); /* C */

    cout << "Hola Mundo!" << endl; /* C++ */

    writeln ('Hola Mundo!') /* Pascal */

    System.out.println("Hola Mundo!"); /* Java */

    <%! String hola = "Hola Mundo!"; %><%= hola %> /* JSP */

    print "Hola Mundo!" /* VB */

    Response.Write("Hola Mundo!") /* ASP */

    document.write("Hola Mundo!"); /* JavaScript */

    Console.WriteLine("Hola Mundo!"); /* C# */

    echo "Hola Mundo!"; /* PHP */

    SELECT 'Hola Mundo!'; /* SQL */

    Messagebox.show("Hola Mundo!"); /* WinForms */

     


    « code name... Jonathan »