本文整理汇总了PHP中devildrey33::InicioPlantilla方法的典型用法代码示例。如果您正苦于以下问题:PHP devildrey33::InicioPlantilla方法的具体用法?PHP devildrey33::InicioPlantilla怎么用?PHP devildrey33::InicioPlantilla使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类devildrey33
的用法示例。
在下文中一共展示了devildrey33::InicioPlantilla方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: basename
<?php
/* include("devildrey33.php");
$Base = new devildrey33(devildrey33_TipoPlantilla::Articulo, basename(__FILE__));
$Base->InicioPlantilla("Colorear código con PHP (Parte 3 JavaScript)");*/
include "../Web/devildrey33.php";
$Base = new devildrey33();
$META = '<meta name="description" content="Colorear código">
<meta name="keywords" content="Colorear código JavaScript">';
$Base->InicioPlantilla(basename(__FILE__), "Colorear código con PHP (Parte 3 JavaScript)", $META);
$Base->InicioBlog(basename(__FILE__), "Colorear código con PHP (Parte 3 JavaScript)");
?>
<!-- INTRODUCCION -->
<p>Siguiendo los tutoriales para pintar código utilizando PHP, hoy toca ver como pintaremos un archivo JavaScript.</p>
<p>A diferencia de los dos últimos tutoriales, este ya empieza a complicarse, ya que los códigos escritos en javascript tienen palabras clave que deben utilizar un tipo de color, y que debemos diferenciar del resto.</p>
<p>Por ello vamos a tener que hacer un diccionario de palabras clave para JavaScript de forma que nos sea fácil añadir palabras que vayamos descubriendo que van en otro color.</p>
<p>También hay que remarcar que las cadenas de caracteres tienen complicaciones añadidas ya que funcionan al estilo C, y estas pueden contener ciertos caracteres engañosos.</p>
<!-- FIN_INTRODUCCION -->
<p>Para empezar vamos a ver un código JavaScript básico, de forma que nos podamos hacer una idea de que cosas necesitamos pintar :</p>
<?php
$Base->PintarCodigo->PintarArchivoJavaScript("IDEjemploJavaScript", "Ejemplo absurdo de JavaScript", "../Ejemplos/ColorearCodigoPHP/ColorearCodigoPHP_JavaScript_Ejemplo.php", "EjemploJavaScript");
?>
<p>A primera vista este código JavaScript no sirve para nada xD, pero podemos ver una aproximación de los colores que vamos a necesitar, y en qué casos necesitamos aplicarlos.</p>
<p>Hay tres tipos de palabras clave, las que son más comunes de cualquier lenguaje de programación : '<b>if</b>', '<b>switch</b>', '<b>break</b>', '<b>return</b>', '<b>default</b>', '<b>var</b>', etc... y estas van en un color azul oscuro. Las que son mas para tratamiento interno de datos java script, que en este caso solo vemos '<b>parseInt</b>', pero hay otras como por ejemplo '<b>setInterval</b>', '<b>setTimeout</b>', '<b>eval</b>', etc.. que irán en un color verde azulado. Y por ultimo palabras claves relacionadas con acciones del navegador que en este caso solo vemos '<b>alert</b>' pero también existen otras como '<b>document</b>', '<b>window</b>', '<b>scroll</b>', etc.. y estas van en un color lila.</p>
<p>Además de las palabras clave, vemos que las cadenas de caracteres van en un color azul más brillante, y que los valores numéricos van en color rojo.</p>
<p>Con este análisis ya podemos empezar a pensar un algoritmo viable para hacer el trabajo.</p>
<p>Lo ideal como se comento antes, seria tener un array que nos sirva de diccionario, al que fácilmente le podamos añadir más palabras clave con su color pertinente. Además de tener un diccionario de palabras también estaría bien tener un diccionario de delimitadores, ya que en este caso lo mas fácil va a ser separar todas las palabras que podamos en strings independientes, y para ello no nos vale separarlas solo si tienen un espacio como delimitador ya que por ejemplo podemos tener la sentencia "<b>2+2</b>", y los números deberían ir en rojo, pero el símbolo sumar debería ir en azul oscuro, y analizar esta cadena podría ser un infierno.</p>
<p>Bien entonces la propuesta más prometedora es hacer un array de palabras clave con su color correspondiente, y un array que contenga únicamente los delimitadores.</p>
<?php
示例2: basename
<?php
/* include("devildrey33.php");
$Base = new devildrey33(devildrey33_TipoPlantilla::Articulo, basename(__FILE__));
$Base->InicioPlantilla("Devildrey33 Windows Library");*/
include "../Web/devildrey33.php";
$Base = new devildrey33();
$META = '<meta name="description" content="Devildrey33 Windows Library">
<meta name="keywords" content="DWL, Devildrey33 Windows Library">';
$Base->InicioPlantilla(basename(__FILE__), "Devildrey33 Windows Library", $META);
$Base->InicioBlog(basename(__FILE__), "Devildrey33 Windows Library");
?>
<!-- INTRODUCCION -->
<p>Esta librería es la base para la mayoría de aplicaciones desarrolladas por Josep Antoni Bover. Fue creada en el año 2002 ante la necesidad de tener controles fuera del look estandar de windows xp, y tambien para facilitarme la vida a la hora de crear aplicaciones bajo windows.</p>
<p>En los tiempos actuales en los que ya se va normalizando el uso de Windows 7 y windows xp va desapareciendo, esta libreria ha empezado a perder su utilidad. Pero de todas formas es un excelente ejemplo de como programar desde cero controles como el ListView, TreeView, PopupMenu, Button, etc... sin utilizar nada de los controles estandar de windows.</p>
<!-- FIN_INTRODUCCION -->
<p>Se podria decir que el estilo a la hora de controlar eventos es bastante parecido al MFC, y personalmente me ha servido para aprender muchisimo sobre el API de windows.</p>
<h2>DWLArbolEx</h2>
<img src="../Web/Graficos/DWLArbolEx.png" style="float:right;" alt="DWLArbolEx" />
<p>Control que simula un TreeView de windows, con algunas particularidades :</p>
<ul>
<li>Scrolls propios completamente personalizables en apariencia.</li>
<li>Posibilidad de añadir botones en las barras de scroll.</li>
<li>SubSeleccion (cuando seleccionamos un nodo padre, todos los hijos quedan SubSeleccionados).</li>
<li>Posibilidad de añadir una imagen de fondo, y que quede translucida debajo de los nodos.</li>
<li>Colores de los nodos totalmente personalizables de forma individual (Fondo y Texto : Normal, Resaltado, Seleccionado, SubSeleccionado, Presionado. ademas del Borde.)</li>
<li>Efectos de resaltado tanto en los nodos como en el borde del control, como en los scrollbars.</li>
<li>Fuentes independientes para cada nodo, utilizando HFONTS previamente cargados en memoria.</li>
<li>Funciones virtuales que permiten re-emplazar practicamente cada fase de pintado.</li>
示例3: basename
<?php
/* include("devildrey33.php");
$Base = new devildrey33(devildrey33_TipoPlantilla::Articulo, basename(__FILE__));
$Base->InicioPlantilla("Conversor UTF8 - Windows1252");*/
include "../Web/devildrey33.php";
$Base = new devildrey33();
$META = '<meta name="description" content="UTF8 a Windows1252">
<meta name="keywords" content="Conversor UTF8 a CP1252">';
$Base->InicioPlantilla(basename(__FILE__), "Conversor UTF8 - Windows1252", $META);
$Base->InicioBlog(basename(__FILE__), "Conversor UTF8 - Windows1252");
?>
<!-- INTRODUCCION -->
<p>Este 'conversor' es una aplicación que me facilita la vida a la hora de convertir archivos de código <b>cpp</b> y <b>h</b> recursivamente de una codificación a otra.</p>
<p>Lo bueno que tiene esta aplicación es que convierte recursivamente todos los archivos de código que pueda contener un directorio (incluyendo sus subdirectorios).</p>
<p>Por otra parte no tiene interface grafico, y es una simple aplicación de consola. Además guarda los archivos originales con la extensión .OLD</p>
<!-- FIN_INTRODUCCION -->
<p>Este proyecto consiste en dos simples aplicaciones que convierten todos los archivos C, Cpp y H del directorio donde se encuentren ubicados los ejecutables.</p>
<p>La razón principal por la que se creó el proyecto es porque la mayoría de mi código en C/C++ se ha creado bajo VisualStudio, y este por defecto guarda todos los archivos bajo la codificación Windows-1252 en mi PC. El problema viene cuando hay que documentar un código utilizando Doxygen, e incluir esta documentación en un sitio web el cual trabaja con la codificación UTF8.</p>
<p>En principio no es un problema muy grave si el código consiste en un par de archivos, ya que desde el mismo VisualStudio se puede cambiar la codificación de los archivos, pero por ejemplo con la <a href="DWL.php">DWL</a> existen más de 175 archivos de código, y cambiar la codificación uno a uno puede terminar en una tarde tediosa, que además puede acabar siendo una pérdida de tiempo total.</p>
<p>Por ello acabe por hacer este proyecto que consiste en 2 aplicaciones : <strong>UTF8aWindows1252.exe</strong> y <strong>Windows1252aUTF8.exe</strong></p>
<p>Lo que hacen es bastante simple, ya que escanean recursivamente el directorio donde se encuentran los ejecutables, y todos los archivos que encuentran con la extensión C, CPP y H son leídos en memoria y re-escritos a la codificación que se requiera.</p>
<p>Por razones de seguridad los archivos originales se renombran añadiéndoles la extensión .OLD de forma de que si hay algún problema puedan ser recuperados.</p>
<p>El código fuente viene todo en el archivo <strong>UTF8aWindows1252.cpp</strong> para los dos conversores.</p>
<p>La cosa es simple, si deseas compilar el conversor UTF8 a Windows1252, el principio del archivo <strong>UTF8aWindows1252.cpp</strong> debería quedar así :</p>
<?php
/* -[INICIO devildrey33.IDC1]-
示例4: Intro
<?php
include "../Web/devildrey33.php";
$Base = new devildrey33();
$META = '<meta name="description" content="Working with google APIs">' . Intro() . '<meta name="keywords" content="google api, google apis">';
$Base->InicioPlantilla(basename(__FILE__), "Working with google APIs", $META);
$Base->InicioBlog(basename(__FILE__), "Working with google APIs", TRUE);
/* TRUE = imatge a la dreta */
$File_Source_1 = '../Codigo/GoogleAPI/simple_gAPI_example_empty.html';
$File_Source_2 = '../Codigo/GoogleAPI/simple_gAPI_example.html';
?>
<script type="text/javascript">
$Base.CargarCSS('Barba_Posts.css');
</script>
<!-- <div style="display: inline-block; margin-bottom: 30px;"> -->
<p>We’ve already seen <a href="how-to-use-google-app-scripts" target="_blank">how to develop a whole web app using the "Web App Scripts"</a>.</p>
<p>However, many times we would like to keep our web app into another place/server, or just connect an existing web app with the google services, so in this case we must use the google APIs to interact with the google services.</p>
<p>We're going to split this explanation in 2 parts:</p>
<ul>
<li><b>Grant access to the APIs</b></li>
<li><b>Access the API</b> (authorization and methods to access)</li>
</ul>
<p>The first part is common, and you would need to set it whatever type of client access you'd like to use. The second, though, can be implemented in many languages, as well as in the client or the server side. Here we're going to focus on how to implement it with javascript. Let’s see how to do it.</p>
<!-- </div> -->
<h2>Grant access to the APIs</h2>
示例5: phpinfo
<?php
include "devildrey33.php";
$Base = new devildrey33();
$HEAD = "";
$Base->InicioPlantilla(basename(__FILE__), "Logs de acceso", $HEAD);
if (devildrey33_Opciones::Administrador() > 0) {
echo "<article class='Blog'>";
phpinfo();
echo "</article>";
} else {
echo "<script>\$Base.MostrarErrorAjax(404, true);</script>";
echo "<script>\$Admin.Desloguear();</script>";
}
$Base->FinPlantilla();
示例6: basename
<?php
/* include("devildrey33.php");
$Base = new devildrey33(devildrey33_TipoPlantilla::Articulo, basename(__FILE__));
$Base->InicioPlantilla("Instalar Ubuntu bajo VirtualBox en Windows");*/
include "../Web/devildrey33.php";
$Base = new devildrey33();
$META = '<meta name="description" content="Ubuntu bajo VirtualBox">
<meta name="keywords" content="Ubuntu virtualbox">';
$Base->InicioPlantilla(basename(__FILE__), "Instalar Ubuntu bajo VirtualBox en Windows", $META);
$Base->InicioBlog(basename(__FILE__), "Instalar Ubuntu bajo VirtualBox en Windows");
?>
<!-- INTRODUCCION -->
<p>VirtualBox es una aplicación que nos permite instalar sistemas operativos con el hardware emulado dentro de nuestro sistema operativo. Dicho así suena un poco confuso, por lo que vamos a imaginarnos que queremos instalar una versión de linux en nuestra máquina, pero queremos ver este linux dentro de una ventana de windows. Pues esto es lo que hace VirtualBox.</p>
<p>También hay que remarcar que lo podemos hacer al revés, es decir, desde nuestro linux nativo instalar windows para que se muestre en una ventana de linux.</p>
<p>De todas formas la intención de este tutorial es servir como base para luego poder hacer algunos tutoriales programando con el protocolo X11 server (dicho de forma burda programar aplicaciones con entorno gráfico para linux)</p>
<!-- FIN_INTRODUCCION -->
<ul style="clear:both">
<li>1 <a href='#InstalarVBox'>Instalación de VirtualBox</a></li>
<li>2 <a href='#ConfigurarVbox'>Creación y configuración de una máquina virtual</a></li>
<li>3 <a href='#InstalarUbuntu'>Instalación de Ubuntu</a></li>
<li>4 <a href='#ConfigurarUbuntu'>Configuración de Ubuntu</a></li>
</ul>
<p>El primer paso será descargar las últimas versiones de Virtual Box y de Ubuntu :</p>
<p>Para empezar iremos descargando la ultima ISO de Ubuntu ya que son alrededor de 700mb y es lo que más tardara : <a href="http://www.ubuntu.com/download/ubuntu/download">Descargar Ubuntu</a>.</p>
<div class='nota'>Podéis elegir la versión que mas os guste siempre que sea de 32 bits, yo personalmente elegiría la última versión 11.04 en 32 bits. Con mi portátil por ejemplo me he encontrado que al hacer la prueba con el Ubuntu de 64bits no me reconocía capacidades de 64bits, mientras que en mi ordenador de sobremesa la cosa ha funcionado perfectamente con la de 64bits.</div>
<img src='../Web/Graficos/DownloadUbuntu.png' alt='Descargar Ubuntu' />
<p>En segundo lugar descargaremos el instalador de VirtualBox para windows desde este enlace : <a href="https://www.virtualbox.org/wiki/Downloads">Descargar VirtualBox</a>.</p>
示例7: basename
<?php
/* include("devildrey33.php");
$Base = new devildrey33(devildrey33_TipoPlantilla::Articulo, basename(__FILE__));
$Base->InicioPlantilla("Tutorial WinAPI C++ 3.6 (Creación del ObjetoProgressBar)");-*/
include "../Web/devildrey33.php";
$Base = new devildrey33();
$META = '<meta name="description" content="Tutorial WINAPI">
<meta name="keywords" content="WINAPI C++, WINAPI, C++">';
$Base->InicioPlantilla(basename(__FILE__), "Tutorial WinAPI C++ 3.6 (Creación del ObjetoProgressBar)", $META);
$Base->InicioBlog(basename(__FILE__), "Tutorial WinAPI C++ 3.6 (Creación del ObjetoProgressBar)");
?>
<!-- INTRODUCCION -->
<p>Estareis pensando... pero bueno, si ya hemos hecho nuestro propia barra de progreso hace 5 tutoriales... pues si.. pero creo interesante que tambien veais el funcionamiento del ProgressBar de windows.</p>
<p>Pues nada, vamos a hacer lo mismo que en los anteriores controles estandar y encapsularemos en una clase que tendrá de nombre ObjetoProgressBar, y que heredara de ObjetoControlEstandar (La clase ObjetoControlEstandar se describe en el tutorial <a href="/Blog/Tutorial_WINAPI_3_3">3.3 Creación del ObjetoEditBox</a>).</p>
<!-- FIN_INTRODUCCION -->
<p> Veamos su declaración :</p><div style="clear:both"></div>
<?php
$Base->PintarCodigo->PintarArchivoC("IDObjetoProgressBar", "Archivo : ObjetoProgressBar.h", "../Codigo/Tutoriales_WinAPI/Objetos Tutorial/ObjetoProgressBar.h", "ObjetoProgressBar");
?>
<p>Lo primero que vemos es una función para crear la ProgressBar, después tenemos varias funciones para asignar / obtener el mínimo, el máximo y el valor de la barra, que son : AsignarRango, ObtenerRagon, Mínimo, Máximo y Valor.</p>
<p>Veamos la función CrearProgressBar :</p>
<?php
$Base->PintarCodigo->PintarArchivoC("IDCrearProgressBar", "Archivo : ObjetoProgressBar.cpp", "../Codigo/Tutoriales_WinAPI/Objetos Tutorial/ObjetoProgressBar.cpp", "ObjetoProgressBar::CrearProgressBar");
?>
<p>Lo primero que se hace es llamar a la función ObjetoIniciarCommonControls::Iniciar. Esta función llama a la API <a href="http://msdn.microsoft.com/en-us/library/bb775697(VS.85).aspx" target="_blank">InitCommonControlsEx</a> para iniciar los controles estándar de windows para nuestra aplicación. Al iniciar los CommonControlEx podemos utilizar controles que no son estandar de windows 95, y adoptar el aspecto grafico del sistema operativo (siempre que la aplicacion tenga su archivo .manifest).</p>
<p>Lo segundo que se hace es llamar a la API <a href="http://msdn.microsoft.com/en-us/library/ms632680(VS.85).aspx" target="_blank">CreateWindowEx</a> con el segundo parámetro "PROGRESS_CLASS" (que es una macro para identificar la clase). Esto hace que el control creado se convierta en un PROGRESSBAR. </p>
<p>Lo siguiente es llamar a la función _ConectarControl, que re-emplazara el WindowProcedure de la ProgressBar por el nuestro.</p>
示例8: basename
<?php
include "../Web/devildrey33.php";
$Base = new devildrey33();
$META = '<meta name="description" content="Referencia selectores css, Ejemplos selectores css">
<meta name="keywords" content="CSS, Selectores CSS, :link, :visited, :active, :hover, :focus, :first-letter, :fisrt-child, :before, :after, :lang, :first-of-type, :last-of-type, :only-of-type, :only-child, :nth-child, :nth-last-child, :nth-pf-type, :nth-last-of-type, :last-child, :root, :empty, :target, :enabled, :disabled, :checked, :not, ::selection">
<meta name="robots" content="index, follow">';
$Base->InicioPlantilla(basename(__FILE__), "Referéncia CSS : Selectores", $META);
$Base->InicioBlog(basename(__FILE__), "Referéncia CSS : Selectores");
/*
include("devildrey33.php");
$Base = new devildrey33(devildrey33_TipoPlantilla::Articulo, basename(__FILE__));
$DeclaracionesHeadExtras = '
<meta name="description" content="Referencia selectores css, Ejemplos selectores css">
<meta name="keywords" content="CSS, Selectores CSS, :link, :visited, :active, :hover, :focus, :first-letter, :fisrt-child, :before, :after, :lang, :first-of-type, :last-of-type, :only-of-type, :only-child, :nth-child, :nth-last-child, :nth-pf-type, :nth-last-of-type, :last-child, :root, :empty, :target, :enabled, :disabled, :checked, :not, ::selection">
<meta name="robots" content="index, follow">
<link href="/css/PropiedadesCSS.css" rel="stylesheet" type="text/css" />';
$Base->InicioPlantilla("Referéncia CSS : Reglas", $DeclaracionesHeadExtras, '<a href="/Doc/">Doc</a>/<a href="/Doc/CSS/">CSS</a>/Selectores');*/
include "../Web/CSS_BD.php";
$Selectores = new CSS_BD();
?>
<!-- INTRODUCCION -->
<p>Los selectores CSS son una parte fundamental que todo el que se aventure a crear una hoja de estilos CSS debería conocer mínimamente. En esencia estos selectores nos permiten referirnos a una parte en concreto de la página web para poder estilizarla a nuestra conveniencia.</p>
<p>Dentro de un documento HTML podemos identificar cada etiqueta de una forma básica por el nombre de la etiqueta, por una clase, o por una ID. Pero además también podemos crear selectores para una gran variedad de situaciones, por ejemplo podemos crear un selector que se refiera a cuando el mouse está encima de una etiqueta, un selector que busque una etiqueta dentro de una etiqueta, un selector que busque una etiqueta antes o después de una determinada etiqueta, etc..</p>
<!-- FIN_INTRODUCCION -->
<p>En este artículo voy a enumerar todos los selectores CSS disponibles hasta la fecha de hoy, además incluiré ejemplos para cada uno de ellos.</p>
示例9: Intro
<?php
include "../Web/devildrey33.php";
$Base = new devildrey33();
$META = '<meta name="description" content="Virus fotos 05/06">' . Intro() . '<meta name="keywords" content="Virus fotos 05/06, Virus email fotos 05/05, Email fotos 05/06">' . Intro();
$Base->InicioPlantilla(basename(__FILE__), "Aplicación para eliminar el virus "Fotos 05/06"", $META);
$Base->InicioBlog(basename(__FILE__), "Aplicación para eliminar el virus "Fotos 05/06"");
/*
include("devildrey33.php");
$Base = new devildrey33(devildrey33_TipoPlantilla::Articulo, basename(__FILE__));
$Base->InicioPlantilla("Aplicación para eliminar el virus "Fotos 05/06"");*/
?>
<!-- INTRODUCCION -->
<p>En el verano del 2010 aparecio un virus que se propagaba por el correo electronico con el asunto "fotos 05/06" el cual mostraba una fotografia a un tamaño muy reducido y que al clickar encima de ella nos descargaba un archivo que se llama "foto28_.com". Si lllegabamos a ejecutar este archivo la máquina quedaba infectada por este virus, que entre otras cosas se dedica a enviar a todos nuestros contactos del messenger el mismo correo por tal de expandirse.</p>
<p>En principio este virus no tiene mucho de extraordinario a comparacion de otros, pero me toco la moral porque varios de mis contactos se infectaron, y me enviaban más copias del virus sin que ellos se dieran cuenta. Entre esos contactos que me enviaban el virus estaban mi padre y mi hermana, con lo que practicamente tenia asegurado el tener que desplazarme para eliminar el virus de sus maquinas.... pero como en el verano del 2010 hacia mucha calor, se me ocurrio que podria hacer una aplicacion que eliminara el virus y asi me ahorraria el desplazamiento y me quedaria tan fresco en casa.</p>
<!-- FIN_INTRODUCCION -->
<p>Al final inverti varias horas en la creacion de esta aplicacion, y aparte de ayudar a mis familiares, tambien lo colgue en mi web, y de esta forma mi aplicacion a pesar de costarme unas horas de trabajo hizo un gran servicio a muchos internautas afectados.</p>
<h3>Observaciones</h3>
<ul>
<li>El virus crea una carpeta oculta llamada 'cmos' en la raiz de la unidad donde tenemos instalado el windows</li>
<li>Si existe conexion a internet, al ejecutarse por primera vez, se descarga varios archivos de algun otro sitio (que no me he molestado a averiguar), en caso de no tener conexion a internet solo crea la carpeta 'cmos' sin ocultarla.</li>
<li>Una vez descargado el virus se crean cinco archivos : "?:\cmos\id", "?:\cmos\xlb.cpl", "?:\cmos\xln.cpl", "?:\cmos\xlr.exe", y "?:\cmos\xlr2.exe" </li>
<li>De los archivos que se crear, se enlazan cuatro al registro de windows de forma que se arranquen al iniciar el sistema.</li>
<li>El archivo original del virus es un archivo COM de 64ks que solo tiene codigo para descargar el resto del virus y enlazarlo al sistema.</li>
<li>Una vez el virus se encuentra activo, tus contactos recibiran correos iguales a la foto que se ve más arriba.</li>
</ul>
示例10: PintarDegradados
<?php
/* include("devildrey33.php");
$Base = new devildrey33(devildrey33_TipoPlantilla::Articulo, basename(__FILE__));
$DeclaracionesHeadExtras = '
';
$Base->InicioPlantilla("Tutorial HTML5 Canvas2D parte 3 (degradado lineal)", $DeclaracionesHeadExtras); */
include "../Web/devildrey33.php";
$Base = new devildrey33();
$META = '<meta name="description" content="Tutorial HTML5 Canvas2D parte 3">
<meta name="keywords" content="HTML5 Canvas2D, Canvas2D">';
$Base->InicioPlantilla(basename(__FILE__), "Tutorial HTML5 Canvas2D parte 3 (degradado lineal)", $META);
$Base->InicioBlog(basename(__FILE__), "Tutorial HTML5 Canvas2D parte 3 (degradado lineal)");
?>
<script type="text/javascript">
function PintarDegradados() {
// Inicializo el canvas
var Canvas = document.getElementById("canvas");
if (Canvas.getContext) { Context = Canvas.getContext("2d"); }
else { alert("Tu navegador no soporta el objeto canvas!"); return; }
// Pinto el fondo gris claro
Context.fillStyle = "#EEEEEE";
Context.fillRect(0, 0, Context.canvas.width, Context.canvas.height);
// Creo los degradados lineales
// -[INICIO devildrey33.vertical]-
var GradientVertical = Context.createLinearGradient(0, 20, 0, 80);
示例11: date
$Fecha = date("d/m/Y", filemtime("CSS_BD.php"));
echo "<br /><div class='devildrey33_Nota'>" . CSSTipo::Plural($TipoSalida) . " documentadas : <b>" . $Documentadas["Documentadas"] . "/" . $Documentadas["Total"] . "</b><br />Modificado por última vez : <i>" . $Fecha . "</i>.</div>";
$Base->FinBlog();
$Base->FinPlantilla();
} elseif ($TipoSalida == eTipo::RaizCSS) {
$Base = new devildrey33();
$META = '<meta name="description" content="Referencia css, Ejemplos css">' . '<meta name="keywords" content="CSS">' . '<meta name="robots" content="index, follow">';
$Base->InicioPlantilla(basename(__FILE__), "Referéncia CSS", $META);
$Base->InicioDoc(basename(__FILE__), "Referéncia CSS");
echo '<br />' . '<div><a href="/Doc/CSS/Colores/">Colores</a></div>' . '<div><a href="/Doc/CSS/Degradados/">Degradados</a></div>' . '<div><a href="/Doc/CSS/Unidades/">Unidades</a></div>' . '<div><a href="/Doc/CSS/Propiedades/">Propiedades</a></div>' . '<div><a href="/Doc/CSS/Funciones/">Funciones</a></div>' . '<div><a href="/Doc/CSS/Reglas/">Reglas</a></div>' . '<div><a href="/Doc/CSS/Selectores/">Selectores</a></div><hr />';
$CSS_BD = new CSS_BD();
$Documentadas = $CSS_BD->MostrarTodo();
$Fecha = date("d/m/Y", filemtime("CSS_BD.php"));
echo "<br /><div class='devildrey33_Nota'>Proporción de la documentación terminada : <b>" . $Documentadas["Documentadas"] . "/" . $Documentadas["Total"] . "</b><br />Modificado por última vez : <i>" . $Fecha . "</i>.</div>";
echo "<hr />";
$Base->FinBlog();
$Base->FinPlantilla();
} elseif ($TipoSalida == eTipo::RaizDoc) {
$Base = new devildrey33();
$META = '<meta name="robots" content="index, follow">';
$Base->InicioPlantilla(basename(__FILE__), "Documentación", $META);
$Base->InicioDoc(basename(__FILE__), "Documentación");
echo '<br />' . '<div><a href="/Doc/CSS/">CSS</a></div>' . '<div><a href="/Doc/DWL/">DWL</a></div>';
$Base->FinBlog();
$Base->FinPlantilla();
}
}
?>
示例12: basename
<?php
/*include("devildrey33.php");
$Base = new devildrey33(devildrey33_TipoPlantilla::Articulo, basename(__FILE__));
$Base->InicioPlantilla("Tutorial WINAPI C++ 1.3 (Creación de un ObjetoVentana)");*/
include "../Web/devildrey33.php";
$Base = new devildrey33();
$META = '<meta name="description" content="Tutorial WINAPI">
<meta name="keywords" content="WINAPI C++, WINAPI, C++">';
$Base->InicioPlantilla(basename(__FILE__), "Tutorial WINAPI C++ 1.3 (Creación de un ObjetoVentana)", $META);
$Base->InicioBlog(basename(__FILE__), "Tutorial WINAPI C++ 1.3 (Creación de un ObjetoVentana)");
?>
<!-- INTRODUCCION -->
<p>Este es el primer punto interesante del tutorial, como encapsular una ventana en una clase que podamos heredar y modificar a nuestro antojo.</p>
<p>La idea es tener una clase que podamos heredar, y que a partir de ella podamos crear distintos modelos de ventana, sin tener que re-escribir mucho código.</p>
<p> En especial este tutorial nos demostrara como crear varias ventanas del mismo tipo re-utilizando el mismo objeto.</p>
<!-- FIN_INTRODUCCION -->
<p>Para empezar el problema más importante que se nos presenta es que la función WindowProcedure debe ser estática, y esto no nos interesa, ya que esta función es la primera que necesitaremos sobre-escribir. Además esto también nos produciría algún que otro problema cuando intentásemos acceder a miembros de la misma clase no estáticos.</p>
<p>La solución más viable es enlazar ese WindowProcedure estático a otra función no estática que además será virtual. De esta forma queda solucionado el problema más grave a la hora de diseñar esta clase, aunque sea a costa de otro callback más dentro del WindowProcedure.</p>
<p>Otra cosa que debemos pensar es que un control es básicamente una ventana, pero no tiene porqué tener las mismas funciones, así que estaría bien crear un modelo base para ventanas y controles. A partir de este modelo ya podremos crearnos ventanas y controles más específicos.</p>
<p>Veamos como quedaría estructurada la cosa : </p>
<?php
$Base->PintarCodigo->PintarArchivoC("IDPlantillaEventos", "Archivo : PlantillaEventos.h", "../Codigo/Tutoriales_WinAPI/Objetos Tutorial/PlantillaEventos.h", "PlantillaEventos");
?>
<p>Para empezar creamos una plantilla destinada a controlar todos los eventos de una ventana. Esta plantilla depende del TIPO_DEVUELTO que por norma sera LRESULT pero puede ser BOOL en caso de los dialogos, y retornara VALOR_DEVUELTO en los mensajes por defecto (que sera 0 para casi todo, menos para los controles estandar de windows).</p>
<p>Aunque no veamos el codigo de GestorMensajes, hay que destacar que el GestorMensajes debera retornar VALOR_DEVUELTO si se ha procesado el evento en este GestorMensajes, o USAR_GESTOR_POR_DEFECTO si no se ha procesado ninguno de nuestros eventos. Al devolver USAR_GESTOR_POR_DEFECTO le estamos diciendo al _GestorMensajes estatico que devuelva el WindowProcedure por defecto.</p>
<p>Si creamos cualquier control que mande eventos a su ventana padre, aqui seria donde deberiamos definir dicho evento. Ahora veamos el ObjetoHWND :</p>
<?php
$Base->PintarCodigo->PintarArchivoC("IDObjetoHWND", "Archivo : ObjetoHWND.h", "../Codigo/Tutoriales_WinAPI/Objetos Tutorial/ObjetoHWND.h", "ObjetoHWND");
示例13:
<div class='Bola_Expandible_Texto'>Rojo</div>
</div>
<div class='Bola_Expandible' style='background-color:green;'>
<div class='Bola_Expandible_Texto'>Verde</div>
</div>
<div class='Bola_Expandible' style='background-color:blue;'>
<div class='Bola_Expandible_Texto'>Azul</div>
</div>
<!--[FIN devildrey33.HTML]-->
*/
// $Base->InicioPlantilla("CSS3 : Efecto bola expandible", $DeclaracionesHeadExtras);
include "../Web/devildrey33.php";
$Base = new devildrey33();
$META = '<meta name="description" content="CSS3 Bola expandible">
<meta name="keywords" content="CSS3, Bola expandible, CSS3 Bola expandible">';
$Base->InicioPlantilla(basename(__FILE__), "CSS3 : Efecto bola expandible", $META);
$Base->InicioBlog(basename(__FILE__), "CSS3 : Efecto bola expandible");
?>
<!-- INTRODUCCION -->
<p>Hoy para no repetirme mucho con el tema del canvas os voy a mostrar cómo he creado el efecto de la bola expandible que podéis ver en la parte superior del menú de la derecha con los iconos del facebook, twitter, google plus y rss.</p>
<p>Este efecto se ha hecho únicamente utilizando CSS3 sin necesidad de JQuery ni JavaScript, pero por esa razón no funciona en explorer. Como ya he comentado en más de una ocasión me niego a torturarme haciendo código que funcione en explorer, cuando en otros navegadores funciona perfectamente sin necesidad de romperse mucho la cabeza.</p>
<!-- FIN_INTRODUCCION -->
<p>Si los desarrolladores web le dieran la espalda directamente al explorer en vez de adaptar sus códigos exclusivamente para él, estoy convencido de que o los usuarios de explorer abrirían los ojos, o que los de microsoft se pondrían las pilas. Parece mentira que llevemos más de 10 años con este tipo de peleas.</p>
<p>Dejando a un lado mi pique personal con el navegador de microsoft, vamos a ver que necesitamos para crear el efecto de la bola expandible.</p>
<p>En primer lugar necesitamos un contenedor para cada bola, y un contenedor para el texto de cada bola. Veamos como quedaría el código HTML :</p>
<?php
$Base->PintarCodigo->PintarArchivoHTML("IDHTML", "Código HTML", "CSS3_BolaExpandible.php", "HTML");
?>
示例14: basename
<?php
/* include("devildrey33.php");
$Base = new devildrey33(devildrey33_TipoPlantilla::Articulo, basename(__FILE__));
$Base->InicioPlantilla("Tutorial WinAPI C++ 3.11 (Terminando el Ensamblador)");*/
include "../Web/devildrey33.php";
$Base = new devildrey33();
$META = '<meta name="description" content="Tutorial WINAPI">
<meta name="keywords" content="WINAPI C++, WINAPI, C++">';
$Base->InicioPlantilla(basename(__FILE__), "Tutorial WinAPI C++ 3.11 (Terminando el Ensamblador)", $META);
$Base->InicioBlog(basename(__FILE__), "Tutorial WinAPI C++ 3.11 (Terminando el Ensamblador)");
?>
<!-- INTRODUCCION -->
<p>Esta es la ultima parte del tercer tutorial, donde juntaremos todos los controles estandar que hemos visto anteriormente y formaremos una aplicacion encargada de hacer una lista de archivos.</p>
<p>Con esa lista de archivos la aplicacion podra comprimirlos todos para luego insertarlos en el ejecutable del Instalador.</p>
<p>Y tambien le indicaremos la ruta predeterminada de la instalación.</p>
<!-- FIN_INTRODUCCION -->
<p>Ahora que tenemos todos los controles necesarios, además del ejecutable de la instalación solo nos queda hacer el programa para ensamblar la instalación con los archivos.</p>
<p>La idea es hacer un programa que nos permita seleccionar los archivos que queremos meter dentro del instalador, y nos pida datos, como el directorio por defecto y el archivo que se usara como instalador.</p>
<p>Además le añadiremos posibilidad de cargar y guardar proyectos de instalador.</p>
<p>Por último en vez de utilizar una ventana como siempre utilizaremos un dialogo y veremos en que se diferencian.</p>
<p>Vamos al lio, lo primero será crear un ObjetoDialogo para contener diálogos de windows :</p>
<?php
$Base->PintarCodigo->PintarArchivoC("IDObjetoDialogo", "Archivo : ObjetoDialogo.h", "../Codigo/Tutoriales_WinAPI/Objetos Tutorial/ObjetoDialogo.h", "ObjetoDialogo");
?>
<p>Aunque parece prácticamente igual que un ObjetoVentana hay que destacar que el _GestorMensajes retorna BOOL mientras que el el ObjetoVentana retorna LRESULT. Esto no es porque ami me guste mas… y a decir verdad no se la razón de ello, simplemente si vamos a usar un dialogo necesitamos utilizar WindowProcedures que retornen BOOL. Y aquí está la razón de porque utilizamos la clase plantilla PlantillaEventos a la hora de basar todas nuestras ventanas / diálogos / controles.</p>
<p>Por último la función CrearDialogo solo recibe un parámetro, que es la ID que tiene el dialogo en los recursos. Para especificar los estilos del dialogo hay que hacerlo mediante el editor de recursos.</p>
<p>Veamos la declaración de un dialogo pequeño que necesitaremos para poner nombre al nuevo proyecto DialogoNuevoProyecto :</p>
示例15: basename
<?php
/* include("devildrey33.php");
$Base = new devildrey33(devildrey33_TipoPlantilla::Articulo, basename(__FILE__));
$HEAD = "
";
$Base->InicioPlantilla("Varios ejemplos de menus", $HEAD);*/
include "../Web/devildrey33.php";
$Base = new devildrey33();
$META = "<meta name='description' content='Ejemplos menús'>\n\t<meta name='keywords' content='Menu CSS, Menu JavaScript'>";
$Base->InicioPlantilla(basename(__FILE__), "Varios ejemplos de menús", $META);
$Base->InicioBlog(basename(__FILE__), "Varios ejemplos de menús");
echo "<script>\$Base.CargarCSS('Blog_varios-ejemplos-de-menus.css');</script>";
?>
<!-- INTRODUCCION -->
<p>He estado haciendo pruebas con menús y sobretodo con CSS para practicar con las transiciones, y me estoy dando cuenta de que en CSS resulta muy difícil por no decir imposible en algunas situaciones hacer código re-aprovechable para las animaciones/transiciones en el sentido de que si añades/modificas/eliminas un menú tendrás que volver a editar el CSS. En cambio en JavaScript si te lo montas bien puedes hacer las cosas más dinámicas de forma que si modificas el menú no tengas que tocar ni JavaScript ni CSS.</p>
<p>La intención en principio era trastear un rato con transiciones complejas, ya que exceptuando el primer ejemplo los demás al desplegarse utilizan una transición, y al resaltar sus items utilizan otra transición dentro de la primera.</p>
<p>También he querido poner énfasis en hacer los menús lo más cómodos posible, dejando retrasos (delay) al plegarse para que el usuario tenga tiempo de moverse por el menú.</p>
<!-- FIN_INTRODUCCION -->
<br /><hr />
<h2>Menú Subrayado (JQuery)</h2>
<p>Este es un menú simple sin sub-menús que tiene una animación en el subrayado implementada en JQuery. Esta animación debe calcular el ancho y la posición del item donde está el mouse para calcular el ancho y la posición inicial de la barra de subrayado.</p>
<p>Se podría hacer también con CSS, pero no veo ninguna forma de hacerlo dinámico es decir que calcule automáticamente los items del menú para desplazar la barra del subrayado, así que la única solución viable que veo seria medir cada parte del menú, e implementar una transición especificando la posición para cada parte del menú.</p>
<p>Para este caso en concreto yo he apostado por la comodidad de poder añadir/modificar/eliminar items sin tener que tocar código javascript ni css.</p>
<iframe src='/Ejemplos/Menus/MenuSubrayado.html' class='postit Centrado' id="Marco1"></iframe>
<div class='Centrado'>
<a href="/Lab/Ejemplos/Menus/MenuSubrayado.html" class="Boton-Normal">Ver código de ejemplo</a>