Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #7  
Antiguo 02-12-2010
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por McK Ver Mensaje
No me está funcionando tu código amigo. Siempre me detecta el primer substring por lo que se queda en un bucle infinito..
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.

Última edición por ecfisa fecha: 02-12-2010 a las 12:10:37.
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 04:01:18.


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