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

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-06-2010
Avatar de Greco
Greco Greco is offline
Miembro
 
Registrado: jul 2007
Ubicación: Chile
Posts: 97
Poder: 17
Greco Va por buen camino
IF THEN con datos sacados de un txt

hola gente del foro, tenía ya bastante tiempo de no postear una consulta, es por que de hace tiempo que no he metido mano en delphi, solo lo hacía esporádicamente y por hobbie, además que no se mucho de programación como ustedes.
He vuelto a retomar un viejo proyecto que tenía creado y se me ha presentado cierto inconveniente con algo que quiero realizar, les explico:

tengo una cadena que incluye lo siguiente al final de la misma: '#algo'
por ejemplo 'esta es mi cadena #blabla'

tengo que detectar lo que dice despues de # y en base a eso dar una respuesta especifica

Con ExtractStrings separo la cadena en 2 por medio del separador que uso, en mi caso es el signo '#'.
Una vez separada tengo en cadena[0] el texto en si y en cadena[1] el dato que debo evaluar

Dependiendo del dato que tenga cadena[1] es la respuesta que voy a dar.

Cuando ya tengo el dato lo evalúo con IF THEN para hacer algo dependiendo de dicho valor

Código Delphi [-]
texto:='este es un texto cualquiera #algo';

cadena:=TStringList.Create;
ExtractStrings(['#'], [' '], PChar(texto), cadena);

if (cadena[1]='Pedro') then
  respuesta:='Es un hombre'
else if (cadena[1]='Gato') then
  respuesta:='Es un animal'
else
  respuesta:='Es otra cosa';
//...

Ahora lo que necesito es poder tener la condición a evaluar y la respuesta almacenada en un archivo, por ejemplo en un txt de la siguiente manera:

(contenido del archivo)
Cita:
Pedro=Es un hombre
Gato=Es un animal
y en base a eso construir los 'IF THEN' dependiendo de la cantidad de datos que tenga el archivo, por ejemplo si solo son 2 lineas como en el ejemplo, habrían 2 condiciones a evaluar, si yo modifico el archivo agregando mas lineas, entonces aumentarian las condiciones a evaluar, no se si me explico bien.
Actualmente si quiero agregar condiciones tengo que hacerlo directamente en el codigo y volver a compilar pero lo que deseo es sacar esos datos de un archivo, por ejemplo un txt como dije anteriormente.

asi podria agregar o modificar datos al archivo cuando yo quisiera sin tener que tocar el codigo.

Cita:
Pedro=Es un hombre
Gato=Es un animal
Jupiter=Es un planeta
Ballena=Es un mamifero
Etc...
lo cual ya automaticamente aumentarian los IF THEN...

Lo que se me ocurre por ahora es hacerlo por medio de un bucle, por ejemplo leo el archivo, lo recorro linea a linea y por cada linea separo su contenido para obtener el dato a comprarar con lo que extraje de la cadena 'texto' y la respuesta que deba dar.

No se si sea la mejor forma de hacerlo.

Espero sus comentarios.

Si algo no ha quedado claro no duden en consultar y tratare de explicarlo mejor,

Saludos
__________________
Greco - Principiante
Responder Con Cita
 



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
Crear base de datos y cargar datos desde delphi Albano MySQL 4 17-05-2007 20:01:18
Herramienta case para diccionario de datos de base de datos firebird mcalmanovici Firebird e Interbase 1 11-02-2007 15:17:37
Como pasar datos de una hoja de Excel a Bases de Datos de Paradox Goyo OOP 1 06-02-2007 01:57:20
ubicar archivo, con datos sacados de base de datos Giniromero Varios 19 20-10-2005 16:23:02
Reto Para Expertos En Base De Datos Y Tipos De Datos.... (blob) frankmch Conexión con bases de datos 2 08-09-2003 19:44:52


La franja horaria es GMT +2. Ahora son las 08:16:04.


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