Cita:
Empezado por McK
Gracias compañero ya lo he arreglado con un auxiliar. No sé porque mi variable p no pasaba de la primera substring pero es tu código tal cual... con mi aux lo que hago es copiarme la cadena y a la que va encontrando las substrings las va borrando, por lo que a la fuerza tiene que coger la siguiente. Tengo Delphi 7, quizas por la versión....
|
Un detalle McK, si bien no me pasó lo del bucle infinito, descubrí un fallo en el código.
En la cadena anterior:
Cita:
XX979ASDB12XX77DT12ADSXX99199ABCXX8838xx33
|
Si usas: ExtractNum('AS', Cadena) -> te devuelve: 'B'.
Es por que inicialicé mal el contador de ocurrencias numéricas y si o sí me pone un caracter aunque no sea un número.
Hay que inicializar distinto a 'i':
Código Delphi
[-]
...
begin
Inc(p, Length(Sub));
i:= 0; ...
Un saludo.