miércoles, 30 de abril de 2008
Bloqueo de teclas en aplicaciones Web
Les paso algunos script que les pueden servir si quieren poner algunas restricciones en sus páginas.
1. Para que el usario no imprima el contenido de la página con la tecla "Impr pant":
function clp_clear()
{
var content=window.clipboardData.getData("Text");
if (content==null){window.clipboardData.clearData();}
setTimeout("clp_clear();",1000);
}
Nota: Este método invocarlo desde el evento onload de la página.
2. Para bloquear el menú que parece cuando presionamos con el derecho del mouse, y para que el usuario no utilice el mouse para seleccionar el contenido de nuestra página colocar las siguientes instrucciones en el BODY de la página:
oncontextmenu="return false" ondragstart="return false" onselectstart="return false"
Atte. Nelcy
jueves, 24 de abril de 2008
DES. Obtener la URL de la página anterior
miércoles, 23 de abril de 2008
Funciones C# en SQL Server 2005
Si no te alcanza con las funciones que te da SQL Server 2005 para realizar alguna consulta podes hacer lo siguiente
- Crear un proyecto biblioteca de clases (.Net 2.0 )
- Crear la funcion que necesitas con el algoritmo complicado
- adicionar la biblioteca a la base de datos
- llamar la funcion desde la consulta como cualquier funcion incorporada SQL
una función para separar el campo "gbagenomb" (nombre del cliente) en primer nombre, apellido y segundo apellido y otra para mostrar el nombre de manera capitalizada (solo la primera mayuscula)
las funciones en C# serían algo como:
public class StringFunctions
{
[Microsoft.SqlServer.Server.SqlFunction]
public static string Capitalize(string value )
{
if (value != null)
{
if (value.Length == 0)
return value;
StringBuilder result = new StringBuilder(value);
result[0] = char.ToUpper(result[0]);
for (int i = 1; i <>
{
if (char.IsWhiteSpace(result[i - 1]))
result[i] = char.ToUpper(result[i]);
else
result[i] = char.ToLower(result[i]);
}
String res = result.ToString().Trim();
if (res.EndsWith("De"))
{
result.Replace("De", "de", res.Length - 2, 2);
res = result.ToString().Trim();
}
return res;
}
else
return null;
}
[Microsoft.SqlServer.Server.SqlFunction]
public static string NamePart(string value, int part)
{
if (value != null)
{
if (value.Length == 0)
return value;
List
value = value.Trim();
StringBuilder result = new StringBuilder();
for (int i = 0; i <>
{
if (char.IsWhiteSpace(value[i]))
{
if (result.ToString().Trim() != "")
{
nameParts.Add(result.ToString());
result = new StringBuilder();
}
}
else
result.Append(value[i]);
}
if (result.ToString().Trim() != "")
nameParts.Add(result.ToString());
if (part <>
return nameParts[part];
return "";
}
else
return null;
}
}
una vez compilamos y obtenemos la dll simplemente copiamos este archivo a un compartido del servidor de base de datos
ahora para incluir la biblioteca y registrar las nuevas funciones ejecutamos (ojo con coincidir el namespace de las funciones):
CREATE ASSEMBLY [bga]
AUTHORIZATION [dbo]
FROM 'E:\sergio\BGASqlFunctions.dll'
WITH PERMISSION_SET = SAFE
GO
CREATE Function Capitalize(@Cadena NVARCHAR(MAX))
RETURNS NVARCHAR(MAX)
EXTERNAL NAME bga.StringFunctions.Capitalize
GO
CREATE Function NamePart(@Cadena NVARCHAR(MAX), @Part int)
RETURNS NVARCHAR(MAX)
EXTERNAL NAME bga.StringFunctions.NamePart
Listo! ahora una consulta para probar las nuevas funciones:
Select dbo.Capitalize(gbagenomb) as nombreCompleto,
dbo.Capitalize(dbo.NamePart(gbagenomb,2) +' '+ dbo.NamePart(gbagenomb,3)) AS nombre,
dbo.Capitalize(dbo.NamePart(gbagenomb,0)) AS ape1,
dbo.Capitalize(dbo.NamePart(gbagenomb,1)) AS ape2
FROM GBAGE
resultado:
Mendoza Escalante Gustavo Gustavo Mendoza Escalante
Paz Rea Jaime Eduardo Jaime Eduardo Paz Rea
Antelo Salmon Luis Fernando Luis Fernando Antelo Salmon
Ballivian Cordova Jerges Jerges Ballivian Cordova
Matadero Frigorifico Santa Cruz S.a. Santa Cruz Matadero Frigorifico
Ardaya Vaca Luis Luis Ardaya Vaca
Pena Gutierrez Edgar Alan Edgar Alan Pena Gutierrez
Pena Carmen Hasbun de Hasbun de Pena Carmen
martes, 22 de abril de 2008
DES. Migración de proyectos Web de Visual Studio .NET 2002/2003 a Visual Studio 2005
Encontré este link para migrar proyectos web de .net 2003 a .net 2005
http://www.microsoft.com/spanish/msdn/articulos/archivo/261205/voices/webprojectsvs05.mspx
miércoles, 16 de abril de 2008
De vital Importancia
Restablecimiento de una contraseña de root desconocida
El procedimiento siguiente describe la manera de recuperar el acceso a los privilegios de usuario root cuando la contraseña de usuario root del sistema no está disponible o es desconocida.
El procedimiento siguiente requiere que el sistema permanezca inactivo durante un corto periodo de tiempo. Si es posible, planifique el momento de la parada del mismo cuando el impacto en la carga de trabajo sea mínimo, como medida de protección ante una posible pérdida de datos o de funcionalidad.
La información de este procedimiento se ha probado utilizando versiones específicas de AIX. Los resultados que obtenga pueden variar significativamente dependiendo de la versión y el nivel de AIX.
1.- Inserte en la unidad apropiada el soporte de almacenamiento del producto para la misma versión y nivel que la instalación actual.
2.- Encienda la máquina.
3.- Cuando aparezca la pantalla de iconos, o cuando escuche un pitido doble, pulse la tecla F1 repetidamente hasta que aparezca el menú Servicios de gestión del sistema.
4.- Seleccione Multiarranque.
5.- Seleccione Instalar desde.
6.- Seleccione el dispositivo en el que se encuentre el soporte de almacenamiento del producto y seleccione Instalar.
7.- Seleccione el icono de la versión de AIX.
8.- Defina el sistema actual como la consola del sistema pulsando la tecla F1 y a continuación pulse Intro.
9.- Seleccione el número correspondiente al idioma preferido y pulse Intro.
10.- Seleccione Arrancar modalidad de mantenimiento para la recuperación del sistema escribiendo 3 y pulse Intro.
11.- Seleccione Acceder a un grupo de volúmenes raíz. Se visualiza un mensaje explicando que, si se cambia el grupo de volúmenes raíz en este momento, no será posible volver a los menús de Instalación sin rearrancar la máquina.
12.- Escriba 0 y pulse Intro.
13.- Escriba el número del grupo de volúmenes apropiado de la lista y pulse Intro.
14.- Seleccione Acceder a este grupo de volúmenes e iniciar un shell escribiendo 1 y pulse Intro.
15.- En el indicador # (almohadilla), escriba el mandato passwd en el indicador de la línea de mandatos para restablecer la contraseña del usuario root. Por ejemplo: # passwd
Cambiando contraseña para "root"
Nueva contraseña de root:
Entre la nueva contraseña otra vez:
16.- Para grabar cualquier dato del almacenamiento intermedio en el disco duro y rearrancar el sistema, escriba lo siguiente:
sync;sync;sync;reboot
Cuando aparece la pantalla de inicio de sesión, la contraseña que se ha establecido en el paso 15 deberá ahora permitir el acceso a los privilegios de usuario root.
Salu2
lunes, 14 de abril de 2008
miércoles, 9 de abril de 2008
DES. Información para desarrolladores
Encontré esta información en el sitio de Microsoft, hay varios temas cuyo contenido es gratis.
http://www.microsoft.com/latam/entrenamiento/desarrolladores/default.mspx