Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros temas > Trucos
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Los mejores trucos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-07-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
El alcance de las etiquetas

Este truco trata sobre las seudo etiquetas que utiliza el WebBroker de Delphi durante la generación de código HTML por parte de aplicaciones CGI/ISAPI.

Es sabido que los componentes productores de HTML pueden utilizar una "plantilla" de texto escrita en este lenguaje de descripción como base del código que generan. A la plantilla HTML se le añaden etiquetas especiales que no son utilizadas por los navegadores, con el fin de ser sustituidas durante la ejecución de la aplicación por los componentes mencionados.

Por ejemplo, si queremos mostrar una página con el importe total de los artículos en la cesta de la compra de algún ciudadano, es probable que utilicemos una plantilla similar a ésta:

Código:
<html>
 <body>
  El importe total es <#IMPORTE>.<br>
 </body>
</html>
Como el carácter que sigue al paréntesis angular de apertura es una almohadilla (#), Delphi reconoce que se trata de una especie de macro que tiene que expandir.<p> Ahora lo importante es saber: ¿dónde pueden utilizarse estas etiquetas especiales? La pregunta no es tan trivial como a primera vista aparenta ser. HTML no permite el uso de etiquetas anidadas. No se permiten construcciones como la siguiente, porque la etiqueta ETIQ2 aparece dentro de la etiqueta ETIQ1:

Código:
<!-- ¡¡¡ESTO NO LO PERMITE HTML!!! -->
<ETIQ1 <ETIQ2> PARAM1="XX" PARAM2="YY">
Nuestro primer reflejo es pensar que Delphi no permitirá tampoco situar una etiqueta "transparente" dentro de una etiqueta regular de HTML, ¿no? Pues si piensa así, está completamente equivocado. El siguiente ejemplo muestra una plantilla correcta:

Código:
<!-- ¡¡¡PERO ESTO SI LO PERMITE DELPHI!!! -->
<A HREF="<#DIRECTORIO>ayuda.htm">
La etiqueta <#DIRECTORIO> no sólo aparece dentro de una etiqueta de enlace, sino que además se expande dentro de las dobles comillas del valor del parámetro HREF. Delphi localiza sus etiquetas especiales analizando secuencialmente el texto de la plantilla.

Una vez que ha encontrado una secuencia "<#" busca el siguiente paréntesis angular de cierre. Esto quiere decir que realmente no importa dónde se encuentra la etiqueta, aunque no se permiten etiquetas especiales (de Delphi) anidadas.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 21:01:38.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi