Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-02-2012
donpedro donpedro is offline
Miembro
 
Registrado: nov 2009
Posts: 102
Poder: 0
donpedro cantidad desconocida en este momento
Smile analizador lexico

hola a todos, estoy realizando un proyecto universitario llamado analizador lexico, lo estoy elaborando en delphi. bueno aqui va mi explicacion: tengo un formulario con un richedit donde voy a escribir mi propio programa, por ejemplo:

inicio
declaro a,b,r:entero;
a=1
b=2
r=a+b
fin;

donde inicio, declaro, entero y fin son palabras reservadas del propio lenguaje. dichas palabras las tengo dentro de un array estatico
Código Delphi [-]
public
    { Public declarations }
const preservadas : array[1..4] of string =('inicio','fin','declaro','entero');

mi duda es, como puedo recorrer el richedit y comparar las palabras reservadas del arreglo y si existe convertirla a mayuscula colocandola de color azul. osea como lo hace mysql que las palabras o comandos del manejador por ejemplo create al darle a la barra espaciadora la coloca en mayuscula y azul..............espero que me hallan podido entender..........espero su ayuda......muchas gracias.
Responder Con Cita
  #2  
Antiguo 26-02-2012
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Aqui tienes un ejemplo.
En el edit colocas una palabra y al presionar el boton la busca y la coloca en rojo.
Saludos
__________________
Siempre Novato

Última edición por Caral fecha: 03-02-2015 a las 18:52:44.
Responder Con Cita
  #3  
Antiguo 26-02-2012
donpedro donpedro is offline
Miembro
 
Registrado: nov 2009
Posts: 102
Poder: 0
donpedro cantidad desconocida en este momento
Hola caral

excelente ejemplo, muchas gracias. pero me gustaria preguntarte algo como podria hacer que al escribir una palabra y presionar la barra espaciadora me comparara si lo que escribi es una palabra reservada, osea que el programa me vaya comparando mientras voy escribiendo por ejemplo como el mismo lenguaje de delphi que al escribir var el lo coloca en azul. porque lo que trato de hacer es un compilador donde tambien tengo que almacenar en una tabla de simbolos todo. en este caso serian dos preguntas:

primera: como haria para que el programa me analize mientras voy escribiendo.
segundo: como hago para guardar dentro de otro array todas las palabras del richedit. por ejemplo:

si en el richedit escribo " hola como estas " el me tiene que guardar en un array las tres palabras
indice0=hola
indice1=como
indice2=estas

no se si me explique bien.......gracias
Responder Con Cita
  #4  
Antiguo 26-02-2012
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Te explicaste bien, pero no lo se, tendría que practicarlo para ver que me sale, el que esta el la Universidad eres tu, yo soy un novato con ganas de aprender.
Si ves el ejemplo podrías:
1- Crear un procedimiento que contenga lo que esta en el procedimiento onclick del boton.
2- llamar a ese procedimiento en el evento onchange del edit.
3- si vas a crear un array me imagino que empezaras a tener problemas con la cantidad de datos ya que no serán siempre los mismos.
Me parece que serviría mejor crear un INI para almacenar los datos y posteriormente recuperarlos.
No se, se me ocurre esto.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #5  
Antiguo 26-02-2012
donpedro donpedro is offline
Miembro
 
Registrado: nov 2009
Posts: 102
Poder: 0
donpedro cantidad desconocida en este momento
aqui otra vez

Gracias Caral, me ha servido de mucho tu ultimo comentario, voy a crear un archivo .ini o .txt donde me guarde todas las palabras. cuando lo tenga resuelto lo compartire.........muchas gracias.
Responder Con Cita
  #6  
Antiguo 26-02-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Un trabajo muy complejo este.
Responder Con Cita
Respuesta



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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Analizador de hardwares para Ubuntu enecumene Linux 7 29-08-2008 14:59:26
analizador de espectro gaston260 API de Windows 0 02-02-2008 16:37:42
Analizador de Codigo Fuente Fita Varios 2 01-06-2007 11:07:23
analizador de dependencias entre packages Walter Roccaro Varios 1 07-04-2006 15:20:12
Loop desde el Analizador de Consultas Jvilomar MS SQL Server 6 03-10-2005 14:41:21


La franja horaria es GMT +2. Ahora son las 09:45:49.


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