Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Algoritmo de sustitución (https://www.clubdelphi.com/foros/showthread.php?t=58736)

rauros 30-07-2008 15:17:41

Algoritmo de sustitución
 
Saludos clubdelphi. Esta vez no tengo una duda, si no que me he quedado atrancado en un algoritmo. Pues aquí dejo el algoritmo, y más abajo los datos:

Código Delphi [-]
repeat
value:='';
//////////////////////////////////////////////////
repeat                                          //
If param[posicion] = '[' then IsAVar:=true      //
Else result:=result + param[posicion];          //
posicion:=posicion + 1;                         //
until IsAVar;                                   //
IsAVar:=false;                                  //Value asignado.
repeat                                          //
If param[posicion] = ']' then IsAVar:=true      //
Else value:=value + param[posicion];            //
posicion:=posicion + 1;                         //
until IsAVar;                                   //
//////////////////////////////////////////////////
showmessage(value);
until posicion >= length(param)

Todas las variables están declaradas. Con esto debería hacer lo siguiente:

Escribo un string: 123 prueba [valor1] [valor2]
Y el showmessage debería mostrar: valor1 y luego otro valor2
El problema es que muestra: valor1 y luego [valor2

Y si véis otro error me avisáis. Gracias por leer.

coso 30-07-2008 16:31:10

hola de nuevo rauros, ¿puedes poner el codigo entero? incluso con las inicializaciones de variables

PD : creo que tansolo te falta IsAVar:=false; delante del primer repeat, if param[posicion] = '['

rauros 30-07-2008 17:55:53

Cita:

Empezado por coso (Mensaje 304381)
PD : creo que tansolo te falta IsAVar:=false; delante del primer repeat, if param[posicion] = '['

Pues ahora que lo dices parece que sí, tiene sentido. Muchas gracias. Si aún así quieres el resto del código, lo subo ^^.

coso 30-07-2008 19:58:03

prueba, a ver...


La franja horaria es GMT +2. Ahora son las 18:06:05.

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