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