Posts
pello~$ /usr/games/fortune Klatu barada nikto. pello~$Además de otros refranes, proverbios y frases lapidarias:
pello~$ /usr/games/fortune Eres más falso que Windows 95 a prueba de fallos. -- Yo. pello~$
Ejemplo de listas enlazadas usando punteros.
/** * lista.c * Muestra el uso de estructuras * Compilacion: gcc -o lista lista.c * curso de C */
qemu-img create -f qcow midisco.img 0.5GCon eso creamos un disco de 500 megas. Se supone que podemos poner 500M.
3.1 Themes
Los themes son necesarios porque para personalizar algunos controles de .NET no basta con las hojas de estilos.Para guardar el theme debe crearse una carpeta llamada App_Theme y dentro de ella otra carpeta por cada theme. Dentro de los themes podemos tener tantos archivos skin como queramos.
Los ficheros de skin contienen listas de controles web personalizados: por ejemplo, cajas de texto de determinado color.
Aplicación de themes
Para aplicarlos hay distintas maneras. Para aplicar un theme por página debemos meter en la directiva <%@ Page el atributo Theme:
<%@ Page Language=... Theme="SuperTheme" %>
Para establecer el theme en toda la web a través del web.config:
...
<system.web>
<pages theme="SuperTheme" />
</system.web>
...
En la programación también podemos cambiar el theme al vuelo, pero hay que hacerlo en la fase Page_PreInit:
protected void Page_PreInit (object sender, EvenArgs e)
{
// Vamos a suponer que establecemos un theme a través de una variable de sesión
if (Session["Theme"] == null)
{
// no hay theme, o dejamos en blanco o ponemos uno por defecto
Page.Theme = "";
}
else
{
Page.Theme = (String)Session["MiTema"];
}
}
Estilos
Se pueden incluir ficheros css para que los themes tengan estilos. Los ficheros deben meterse en la carpeta del theme y luego hay que hacer un pequeño cambio en la página para que incluya el css: convertir el head en un control de servidor poniéndole en runat.
...
<head runat="server">
</head>
...
En caso de conflicto entre las propiedades de un control y el theme, el theme gana.
3.2 Master Pages
Las master pages son páginas asp.net que sirven como plantilla a una web. La master page debe crearse como un nuevo elemento o a partir de una página ya hecha. Está página se personaliza y se pone a punto por un lado y por otro se establecen los placeholders, es decir lugares de la página donde meteremos contenido cambiante. Para agregar una masterpage, entre todas las opciones debemos seleccionar la de "página principal".Para personalizar la página podemos meter diseño de bloques, hojas de estilo y todo lo habitual. Aquà tenemos parte de una masterpage. Podemos ver que cambia la declaración y que se meten placeholders como el del title:
<%@ Master Language="C#" AutoEventWireup="true" CodeFile="MasterPage.master.cs" Inherits="MasterPage" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title> <asp:ContentPlaceHolder id="head" runat="server">
</asp:ContentPlaceHolder>
</title>
<link href="StyleSheet.css" rel="stylesheet" type="text/css" />
</head>
<body>
...
Lo siguiente es crear páginas de contenido. Se pueden crear a mano y luego personalizar (hay que quitar etiquetas <body> etc...), pero a través de visual studio lo hace automático y creando todos las etiquetas necesarias.
Para eso agregamos una nueva página y seleccionamos el checkbox de página principal. Ahà seleccionamos una master page y el visual nos crea una página con etiquetas Content. Esas Content se corresponden con los placeholders de la master:
<%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="Inicio.aspx.cs" Inherits="Inicio" Title="Página sin tÃtulo" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
Este es el inicio
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<h1>Inicio</h1>
Este es el inicio
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="pie" Runat="Server">
Página generada superRápido
</asp:Content>
Si desde código quisieramos alterar partes de la página master, en la clase de la master tendrÃamos que meter métodos set/get para hacerlos accesibles.
Puede cambiarse la master page al vuelo desde código usando la propiedad: Page.Master
Tambien en el web.config se puede establecer la página master:
...
<system.web>
<pages masterPageFile="SuperMaster.master" />
</system.web>
...
multiples dominios. Para distinguir las cuentas con mismo nombre y distinto dominio hemos creado las cuentas asi:
info@dominio.com -> cuenta unix: infor.dominio.com
info@otrodominio.com -> cuenta unix: info.otrodominio.com
Dentro de sendmail usamos el mecanismo virtusertable para mapear las direcciones de email con las cuentas reales
entre enteros, al que se podria añadir un ejemplo con cadenas de
texto que ademas son punteros.
/** * $Id$ * ejemplo de swap en c * Pello Xabier Altadill Izura */
/
+-/bin : los binarios MAS basicos como: ls, cd, pwd, cp, rm
+-/boot : archivos de arranque, imagen de kernel.
+-/cdrom : punto de montaje del cdrom
+-/etc : configuracion. Todas las configuraciones (red,scripts de inicio,firewall,usuarios)
+-----/mail/ : configuracion de sendmail
+-----/rc.d/ : ficheros con scripts de inicio de sistema
+-----/sysconfig/ : configuracion de sistema (red,rutas,interfaces)
+-/dev : todos los dispositivos de sistema (pantalla,raton,impresora,disco duro) representados por un fichero
+-/home : directorios particulares de los usuarios
+-/lib : librerias de sistema, modulos de kernel
+-/lost+found : directorio en el que se guarda contenido perdido tras un chequeo de disco
+-/mnt : punto de montaje (opcional) para particiones locales, remotas (nfs),..
+-/proc : sistema de ficheros que refleja el estado y configuracion del sistema
+-/sbin : binarios basicos que influyen en configuraciones (firewall, rutas,) de kernel
+-/usr : binarios de servidores, programas, manuales, documentos, etc (este ocupa el que mas)
+-/opt : binarios opcionales o programas que no se instalan desde el principio.
+-/root : directorio home de superusuario.
+-/tmp : directorio temporal, utilizado para guardar sesiones, sockets, etc..
+-/var : directorio en el que se guarda informacion variable: logs, BBDD (postgres, mysql)
+-----/log/ : todos los logs de sistema y servidores
+-----/lib/pgsql/ : postgres
+-----/lib/mysql/ : mysql
+-----/spool/mqueue/ : cola de correo del servidor (entregas sendmail)
+-----/spool/mail/ : buzones de correo
/**
* Formularios.cs
* Ejemplo de uso de formularios windows.
* A la hora de compilar, para ejecutar como aplicación de windows
* y para que no salga una ventana de DOS, hay que usar estas opciones
* csc /t:winexe Formularios.cs o en su defecto
* csc /r:System.Windows.Forms.dll /t:winexe Formularios.cs
*
*/
/**
* Temporizador.cs
* Muestra el uso de la clase Timer para crear temporizadores.
* Se puede asociar un evento a un temporizador para que el programa
* reaccione al cabo de x tiempo.
* Info sobre el standar http://msdn.microsoft.com/net/ecma
*/
subscribe via RSS