Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-02-2007
Avatar de alastor
alastor alastor is offline
Miembro
 
Registrado: abr 2006
Posts: 59
Poder: 19
alastor Va por buen camino
Reconociendo caracteres en un memo

Hola Amigos:
----------------
Mi problema es el siguiente: Estoy tratando de hacer un prog que me ayude a descomponer un trinomio en factores. Pero el problema es que quiero hacerlo utilizando un memo y no encuentro la manera de reconocer en todo lo que escriba en el cuales son el termino cuadrático, el termino lineal y el termino independiente. Si alguien pudiera ayudarme se lo agradeceria.
------------------
Saludos.
Responder Con Cita
  #2  
Antiguo 07-02-2007
Avatar de Albano
Albano Albano is offline
Miembro
 
Registrado: oct 2004
Ubicación: Nogales, Sonora, Mexico
Posts: 422
Poder: 20
Albano Va por buen camino
Las lineas de un combo son de tipo strnig, que se le puede definir como arreglo o conjunto de caracteres, entonces, el reconocimiento de caracteres lo puedes manejar de la siquiente manera:
Supongamos que tienes el texto "Memo1" en la primera línea del memo1, puedes buscar un número en esta cadena con el siguiente código:
Código Delphi [-]
for i := 1 to length(memo1.Lines[0]) do
  begin
    if memo1.Lines[0][i] in ['0'..'9'] then     //el "0" nos indica la linea del memo, el primero siempre es 0, la letra i nos indica la posicion de la cadena
    begin
      label1.Caption := memo1.Lines[0][i];
      label2.Caption := inttostr(i);
    end;
  end;
Este código identifica dónde esta el caracter numérico y luego lo muestra en una etiqueta llamada label1 y su posición la muestra en la etiqueta llamada label2.
Creo que esto es lo que necesitas en cuanto a programación se refiere.
Espero haber sido de ayuda.
__________________
"Sé de tal manera y vive una vida tal, que si todos los hombres fueran como tú y vivieran como tú, nuestro mundo sería un paraíso terrenal"
Siempre hazlo con la ayuda de Dios

Última edición por Albano fecha: 07-02-2007 a las 19:20:37.
Responder Con Cita
  #3  
Antiguo 07-02-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
¿como pretendes escribir el trinomio?

Me explico: Si tienes en el memo:
Código:
 3x^2 + 33x + 21
Hay que abordar el problema de una forma.

Si lo tienes como:
Código:
 3
+33
+ 21
puede resultar más fácil

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #4  
Antiguo 07-02-2007
Avatar de alastor
alastor alastor is offline
Miembro
 
Registrado: abr 2006
Posts: 59
Poder: 19
alastor Va por buen camino
El trinomio lo tengo de la primera manera lo que : X²+x+1 por ejemplo donde el x² sale por char(0178).
Responder Con Cita
  #5  
Antiguo 07-02-2007
Avatar de alastor
alastor alastor is offline
Miembro
 
Registrado: abr 2006
Posts: 59
Poder: 19
alastor Va por buen camino
Albano, muchas gracias por la idea del "in", me ha servido de mucho a la hora de reconocer si es numero o letra.
-------------------
Saludos
Responder Con Cita
  #6  
Antiguo 07-02-2007
Avatar de Albano
Albano Albano is offline
Miembro
 
Registrado: oct 2004
Ubicación: Nogales, Sonora, Mexico
Posts: 422
Poder: 20
Albano Va por buen camino
Cita:
Empezado por alastor
Albano, muchas gracias por la idea del "in", me ha servido de mucho a la hora de reconocer si es numero o letra.
Por nada.
De esa manera puedes identificar cada caracter en la linea del memo que desees y descomponer el trinomio de acuerdo con las caracteristicas de cada término, por ejemplo, si quieres encontrar el cuadrado, solo tienes que buscar el "²" y retroceder en la cadena hasta que te encuentres un "+" o un "-" y ese sería el término cuadrático. Ya que encuentras el cuadrático, puedes buscar el lineal, de acuerdo con la letra que te encuentres dentro del cuadrático y el que te sobre sería el independiente... te voy a poner mi idea a grandes rasgos para encontrar el término cuadrático, debe de haber algunas exepciones en las que no funcionaría, sería cuestión de arreglarlo...
Código Delphi [-]
if memo1.Lines[0][i] = '²' then   
  begin     
    j := i;    //a la variable "j" le asigno la posición del caracter "²" para empezar a formar mi cadena
    aux := '';     
    while not(memo1.Lines[0][j] in ['+', '-']) do  //repetirá este ciclo hasta que se tope con un "+" o un "-"     
    begin        
      aux := memo1.Lines[0][j] + aux;    //se está almacenando el termino en una variable de tipo string llamada aux       
      dec(j);    //decremento el valor de j en 1, para retroceder en la cadena     
    end;   
  end;
end;
__________________
"Sé de tal manera y vive una vida tal, que si todos los hombres fueran como tú y vivieran como tú, nuestro mundo sería un paraíso terrenal"
Siempre hazlo con la ayuda de Dios
Responder Con Cita
  #7  
Antiguo 07-02-2007
Avatar de alastor
alastor alastor is offline
Miembro
 
Registrado: abr 2006
Posts: 59
Poder: 19
alastor Va por buen camino
Muchisimas gracias por sus ideas, espero no tener mas dirficultades.
-----------------
Saludos
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
mostrar el cantidad maxima de caracteres en un memo Choclito Varios 1 03-05-2006 18:10:28
Campo memo tabla escribirlo en componente Memo Sayuri Conexión con bases de datos 2 18-08-2005 13:58:01
Buscar Caracteres en un Memo sergio_015 Varios 1 13-04-2004 04:30:19
Saber el numero de caracteres de un memo judoboy Varios 1 20-06-2003 14:27:19
¿Conocer nº caracteres de un memo? judoboy OOP 2 15-05-2003 16:54:06


La franja horaria es GMT +2. Ahora son las 12:35:52.


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