当前位置: 首页>>代码示例>>PHP>>正文


PHP devildrey33::InicioBlog方法代码示例

本文整理汇总了PHP中devildrey33::InicioBlog方法的典型用法代码示例。如果您正苦于以下问题:PHP devildrey33::InicioBlog方法的具体用法?PHP devildrey33::InicioBlog怎么用?PHP devildrey33::InicioBlog使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在devildrey33的用法示例。


在下文中一共展示了devildrey33::InicioBlog方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: basename

<?php

/*	include("devildrey33.php");
	$Base = new devildrey33(devildrey33_TipoPlantilla::Articulo, basename(__FILE__));	
	$Base->InicioPlantilla("Generar un .lib a partir de una DLL con Visual Studio");*/
include "../Web/devildrey33.php";
$Base = new devildrey33();
$META = '<meta name="description" content="Generar Lib desde una DLL">
        <meta name="keywords" content="Generar lib de una DLL">';
$Base->InicioPlantilla(basename(__FILE__), "Generar un .lib a partir de una DLL con Visual Studio", $META);
$Base->InicioBlog(basename(__FILE__), "Generar un .lib a partir de una DLL con Visual Studio");
?>
	

                <!-- INTRODUCCION -->
                <p>Hoy vamos a ver cómo podemos generar un archivo lib utilizando de base una DLL.</p>
                <p>Aunque no es un problema muy común, puede darse el caso de que necesitemos trabajar con cierta dll bajo VisualC, y que dicha dll no tenga un archivo lib desde el que poder linkear, pero si disponga de las cabeceras con las declaraciones para la dll.</p>
                <p>Un ejemplo muy claro seria la LibVLC que es la librería base para el famoso reproductor de medios <a href="http://www.videolan.org/">VLC</a>.</p>
                <!-- FIN_INTRODUCCION -->
                <p>Lo primero que necesitamos es una versión cualquiera de Visual Studio a partir de la 2003, en el caso de no tener ninguna podéis descargar la versión gratuita desde el siguiente enlace : <a href="http://www.microsoft.com/express/download">Visual Studio Express</a>.</p>
                <p>Visual Studio trae consigo un montón de herramientas, entre ellas existe una aplicación de consola denominada <b>dumpbin.exe</b> que nos permite examinar la información de archivos binarios en formato Common Object File Format (COFF). A primera vista esto puede sonar a chino, pero en esencia nos permite ver entre otras cosas las declaraciones de las que dispone una DLL.</p>
                <p>Pongamos por ejemplo que queremos generar el archivo libvlc.lib a partir del archivo libvlc.dll, para hacerlo lo primero que debemos hacer es abrir el "<b>Símbolo del sistema de Visual Studio</b>" que podéis encontrar dentro del "<b>Menú de inicio</b>" -> "<b>Visual Studio</b>" -> "<b>Visual Studio Tools</b>".</p>
                <p>Una vez abierto no es más que una consola de comandos normal y corriente, pero que tiene cargadas las variables de entorno necesarias para ejecutar cualquier herramienta de Visual Studio desde ella.</p>
                <p>En primer lugar nos movemos a la carpeta donde se encuentra la <b>libvlc.dll</b>, en mi caso "<b>C:\Program Files (x86)\VideoLAN\VLC</b>"</p>
                <p>Para sistemas operativos Vista o superiores vamos a necesitar una carpeta donde no se requieran permisos de administrador para escribir, que en mi caso será "<b>D:\Programacio</b>".</p>
                <img src="../Web/Graficos/GenerarLibDesdeDll1.png" alt="Simbolo del sistema de Visual Studio" />
                <p>Una vez en el directorio ejecutamos el siguiente comando : </p>
                <?php 
$Base->PintarCodigo->PintarTexto("IDDumpBin", "Comando", "dumpbin /exports libvlc.dll > D:\\Programacio\\libvlc.def");
?>
                <p>Si el comando se ha ejecutado correctamente no saldrá nada, y nos devolverá al símbolo del sistema. En caso de que no se pueda escribir el archivo en la ruta especificada nos saldrá el mensaje "<b>Acceso denegado</b>", esto es porque muy probablemente el directorio donde queremos escribir el archivo libvlc.def requiere privilegios de administración para poder escribir datos en el.</p>
开发者ID:devildrey33,项目名称:devildrey33,代码行数:31,代码来源:GenerarLibDesdeDll.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>
开发者ID:devildrey33,项目名称:devildrey33,代码行数:31,代码来源:DWL.php

示例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]-
开发者ID:devildrey33,项目名称:devildrey33,代码行数:31,代码来源:Conversor_UTF8_Windows1252.php

示例4: 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 &quot;PROGRESS_CLASS&quot; (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>
开发者ID:devildrey33,项目名称:devildrey33,代码行数:31,代码来源:Tutorial_WINAPI_3_6.php

示例5: 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>
开发者ID:devildrey33,项目名称:devildrey33,代码行数:31,代码来源:working-with-google-apis.php

示例6: 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>
开发者ID:devildrey33,项目名称:devildrey33,代码行数:31,代码来源:varios-ejemplos-de-menus.php

示例7: 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>
开发者ID:devildrey33,项目名称:devildrey33,代码行数:31,代码来源:InstalarUbuntuVirtualBox.php

示例8: 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");
开发者ID:devildrey33,项目名称:devildrey33,代码行数:31,代码来源:Tutorial_WINAPI_1_3.php

示例9: 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);
开发者ID:devildrey33,项目名称:devildrey33,代码行数:31,代码来源:Canvas2D_3.php

示例10: 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>
开发者ID:devildrey33,项目名称:devildrey33,代码行数:31,代码来源:Tutorial_WINAPI_3_11.php

示例11:

</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");
?>
				<p>Este ejemplo está preparado para contener 3 bolas expandibles. En esencia tenemos 3 divs que utilizan la clase <i>Bola_Expandible</i> en la que se pintara la bola. Dentro de los div <i>Bola_Expandible</i> tenemos otro div que utiliza la clase <i>Bola_Expandible_Texto</i> donde podemos introducir el texto que necesitemos y que quedara por encima de la bola.</p>
开发者ID:devildrey33,项目名称:devildrey33,代码行数:31,代码来源:CSS3_BolaExpandible.php

示例12: 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 
开发者ID:devildrey33,项目名称:devildrey33,代码行数:31,代码来源:ColorearCodigoPHP_JavaScript.php

示例13: basename

<?php

/*	include("devildrey33.php");
	$Base = new devildrey33(devildrey33_TipoPlantilla::Articulo, basename(__FILE__));	
	$Base->InicioPlantilla("PHP : Objeto devildrey33_PintarCodigo");*/
include "../Web/devildrey33.php";
$Base = new devildrey33();
$META = '<meta name="description" content="Colorear código">
        <meta name="keywords" content="devildrey33_PintarCodigo">';
$Base->InicioPlantilla(basename(__FILE__), "PHP : Objeto devildrey33_PintarCodigo", $META);
$Base->InicioBlog(basename(__FILE__), "PHP : Objeto devildrey33_PintarCodigo");
?>
	

                <!-- INTRODUCCION -->
                <p>Este objeto es en el que he basado los 6 tutoriales anteriores sobre Colorear código con PHP.</p>
                <p>Uno de los problemas de parsear el código y mostrarlo, es que requiere que el servidor PHP realice ciertos cálculos, y por ello puede resultar pesado para ciertos sitios web.</p>
                <p>Si por ejemplo tenemos un sitio con 10000 visitas diarias y tenemos que hacer el parsing de un código 10000 veces al día, estoy seguro que en más de un momento si el servidor pudiera hablar nos diría muchas palabras mal sonantes.</p>
                <p>Por ello este objeto tiene incorporado un sistema que guarda el parsing realizado en un archivo del servidor para ahorrarle trabajo, lo que se traduce en una respuesta más rápida por parte de él al mostrar las páginas web a los usuarios.</p>
                <!-- FIN_INTRODUCCION -->
                <p>Por si solo este objeto me ofrece la posibilidad de pintar códigos tal y como los veo en los programas que utilizo para desarrollarlos, y además sin necesidad de tener que re-escribirlos en el documento HTML final.</p>
                <p>Si por ejemplo tengo el archivo main.c, y quiero mostrar una parte de él en un documento HTML, utilizando una simple línea de código este objeto realiza el parsing y lo muestra en el documento HTML final. Anteriormente he comentado que estos parsings se guardan en el servidor PHP una vez realizados para agilizar el proceso, pero esto no es inconveniente si al cabo de una semana decido modificar el archivo main.c, ya que este mismo objeto comprobara que la fecha de modificación del archivo main.c sea anterior a la del archivo del parsing. En caso contrario este objeto volverá a parsear la porción de código indicada y guardara nuevamente los cambios.</p>
                <p>Además también crea un marco que nos facilita la visualización del código y que viene con las líneas numeradas, por si luego hay que explicar de esas líneas específicamente que sea mucho más fácil de hacer.</p>
                <p>En esencia para cada tipo de código existen 3 funciones :</p>
                <ul>
                <li>Pintar...</li>
                <li>PintarTexto...</li>
                <li>PintarArchivo...</li>
                </ul>
                <p>La primera función recibe una cadena de caracteres y realiza el parsing al lenguaje especificado.</p>
                <p>La segunda función básicamente es como la primera, con la diferencia de que devuelve el código para mostrar el marco además del código parseado y pintado a su lenguaje correspondiente.</p>
开发者ID:devildrey33,项目名称:devildrey33,代码行数:31,代码来源:ColorearCodigoPHP_devildrey33_PintarCodigo.php

示例14: fuente

<?php

include "../Web/devildrey33.php";
$Base = new devildrey33();
$META = '<meta name="description" content="Resaltar sintaxis de un código fuente (C/C++, PHP, HTML, JavaScript, CSS) para PHP">' . Intro() . '<meta name="keywords" content="Resaltador de código, Resaltador de sintaxis, Dar formato código, Pintar código, Pintar código fuente, Resaltar código, Resaltar código fuente, Marcar código, Resaltar sintaxis">';
$Titulo = "Resaltar sintaxis de un código fuente";
$Base->InicioPlantilla(basename(__FILE__), $Titulo, $META);
$Base->InicioBlog(basename(__FILE__), $Titulo);
?>
	


    
    <p>Uno de los primeros problemas que me encontré al empezar esta web en el 2009 fue la necesidad de mostrar código fuente de varios lenguajes resaltando su sintaxis.</p>
    <p>Al investigar sobre el tema, me di cuenta que la mayoría de soluciones (por lo menos las mas aceptables) estaban hechas con JavaScript. Lo que al final con el tiempo me llevo a crearme mi propia herramienta para remarcar la sintaxis en php, ya que yo consideraba mejor hacer el parsing en php y guardarlo en archivos "cache", de forma que solo se realizaba el parsing si la fecha de modificación del archivo cache era inferior a la fecha de modificación del archivo de código.</p>

    <p>Por el 2011 publique varias entradas en el blog sobre el tema de remarcar sintaxis en php, en las que explicaba como parsear determinados lenguajes y resaltar su sintaxis :
        <a href='/Blog/ColorearCodigoPHP_XML'>Colorear código XML</a>, 
        <a href='/Blog/ColorearCodigoPHP_CSS'>Colorear código CSS</a>,
        <a href='/Blog/ColorearCodigoPHP_JavaScript'>Colorear código JavaScript</a>,
        <a href='/Blog/ColorearCodigoPHP_PHP'>Colorear código PHP</a>,
        <a href='/Blog/ColorearCodigoPHP_CPP'>Colorear código C/C++</a>,
        <a href='/Blog/ColorearCodigoPHP_HTML'>Colorear código HTML</a>.
        Al final dichas entradas del blog acabaron fusionadas para formar el objeto devildrey33_PintarCodigo.
    </p>
    
    <p>Hace cosa de un par de meses se me metió en la cabeza que necesitaba poder resaltar ciertas líneas de código con enlaces parecidos a un link. Y esto me llevo a re-escribir prácticamente por completo el objeto devildrey33_PintarCodigo. El resultado, es que ahora se pueden resaltar <linea cid='HTML' l='4'>una</linea> o <linea cid='HTML' l='6,7,8,9,14,15,22,23,24'>varias</linea> líneas de código pasando por encima de los enlaces. Si la línea no está visible en la pantalla, al hacer click en el enlace <linea cid='HTML' l='38'>nos lleva hasta ella</linea>.</p>

<?php 
/* -[INICIO devildrey33.HTML]-
<!DOCTYPE HTML>
开发者ID:devildrey33,项目名称:devildrey33,代码行数:31,代码来源:resaltar-sintaxis-codigo-fuente.php

示例15: basename

<?php

/*	include("devildrey33.php");
	$Base = new devildrey33(devildrey33_TipoPlantilla::Articulo, basename(__FILE__));	
	$Base->InicioPlantilla("Tutorial WinAPI C++ 3.9 (Creación del ObjetoZLIB)");*/
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.9 (Creación del ObjetoZLIB)", $META);
$Base->InicioBlog(basename(__FILE__), "Tutorial WinAPI C++ 3.9 (Creación del ObjetoZLIB)");
?>
	


                <!-- INTRODUCCION -->
                <p>En este tutorial vamos a encapsular las funciones de la ZLIB (libreria de compresion y descompresion escrita por <b>Jean-loup-Gailly</b> y <b>Mark Adler</b>) en un objeto que usaremos tanto en la aplicacion Instalador como en la aplicacion Ensamblador.</p>
                <p>De esta forma nos crearemos un objeto que con una linea de codigo sera capaz de comprimir / descomprimir un archivo, y asi no tendremos que preocuparnos mas por este tema una vez creemos las aplicaciones finales de este tutorial.</p>
                <!-- FIN_INTRODUCCION -->
                <p>Lo primero será diseñar un contenedor al que se le puedan agregar partes binarias, que será el  destinado a contener los archivos comprimidos / descomprimidos en memoria. Para  ello crearemos el objeto ContenedorBinario, veamos su declaración :</p>
                <div style="clear:both"></div>
                <?php 
$Base->PintarCodigo->PintarArchivoC("IDContenedorBinario", "Archivo : ObjetoZLIB.h", "../Codigo/Tutoriales_WinAPI/Objetos Tutorial/ObjetoZLIB.h", "ContenedorBinario");
?>
                <p>Este objeto nos permite  ir agregando partes binarias variables de forma que queden concatenadas. Esto  se hace así porque la ZLIB tanto para comprimir como para descomprimir lo hace  por trozos. Además en nuestro caso necesitamos añadir todos los archivos  comprimidos a un solo archivo, por lo que la mejor opción es mantener el  archivo comprimido en memoria.</p>
                <p>Ahora veamos la  declaración del ObjetoZLIB : </p>
                <?php 
$Base->PintarCodigo->PintarArchivoC("IDObjetoZLIB", "Archivo : ObjetoZLIB.h", "../Codigo/Tutoriales_WinAPI/Objetos Tutorial/ObjetoZLIB.h", "ObjetoZLIB");
?>
                <p>Este objeto tiene dos  métodos públicos : Comprimir y Descomprimir.</p>
                <p>Veamos la función Comprimir  :</p>
开发者ID:devildrey33,项目名称:devildrey33,代码行数:31,代码来源:Tutorial_WINAPI_3_9.php


注:本文中的devildrey33::InicioBlog方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。