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
  #8  
Antiguo 02-12-2010
McK McK is offline
Miembro
NULL
 
Registrado: oct 2010
Posts: 33
Poder: 0
McK Va por buen camino
Cita:
Empezado por ecfisa Ver Mensaje
Mi amigo, acabo de copiar y pegar el código de la función y funciona correctamente.

Te adjunto la prueba:
Código Delphi [-]function ExtractNum(Sub, Str: string): TStrings; var i, p: Integer; begin Result:= TStringList.Create; p:= 1; while p <> 0 do begin p:= Pos(Sub, Str); if p > 0 then begin Inc(p, Length(Sub)); i:= 1; while Str[p + i] in ['0'..'9'] do Inc(i); Result.Add(Copy(Str, p, i)); Inc(p, i); Str:= Copy(Str, p, MaxInt); end; end; end; procedure TForm1.Button1Click(Sender: TObject); const Cadena = 'XX979ASDB12XX77DT12ADSXX99199ABCXX8838xx33'; // Con la del ejemplo anterior también funciona OK begin Memo1.Lines:= ExtractNum('xx', Cadena); // muestra 33 ShowMessage('FIN'); Memo1.Lines:= ExtractNum('', Cadena); // no muestra nada ShowMessage('FIN'); Memo1.Lines:= ExtractNum('XX', Cadena); // muestra 979, 77, 99199, 8838 ShowMessage('FIN'); Memo1.Lines:= ExtractNum('xy', Cadena); // no muestra nada ShowMessage('FIN'); end;


¿ Podrías poner un ejemplo que te dé el ciclo infinito ? Así puedo evaluarlo.

Saludos.
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....
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
sacar numeros al azar edlm Varios 20 31-05-2012 21:50:40
Odenar Cadenas con letras y números Kandorf OOP 3 20-05-2010 01:51:55
Case pero con cadenas en vez de con caracteres noob Varios 9 21-01-2009 18:56:07
Comparar cadenas y sacar su semejanza en % CamiloVI Varios 5 15-05-2008 08:27:30
Sacar los números del 1 al 9 con dos digitos David OOP 4 06-03-2008 23:08:09


La franja horaria es GMT +2. Ahora son las 18:27:59.


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